ZGlmZiAtLWdpdCBhL05PVElDRSBiL05PVElDRQppbmRleCA3ODVlMWUxLi45NWYwMTNhIDEwMDY0NAotLS0gYS9OT1RJQ0UKKysrIGIvTk9USUNFCkBAIC0xLDQgKzEsNCBAQAotIChDKSAxOTk1LTIwMTMgSmVhbi1sb3VwIEdhaWxseSBhbmQgTWFyayBBZGxlcgorIChDKSAxOTk1LTIwMjIgSmVhbi1sb3VwIEdhaWxseSBhbmQgTWFyayBBZGxlcgogCiAgIFRoaXMgc29mdHdhcmUgaXMgcHJvdmlkZWQgJ2FzLWlzJywgd2l0aG91dCBhbnkgZXhwcmVzcyBvciBpbXBsaWVkCiAgIHdhcnJhbnR5LiAgSW4gbm8gZXZlbnQgd2lsbCB0aGUgYXV0aG9ycyBiZSBoZWxkIGxpYWJsZSBmb3IgYW55IGRhbWFnZXMKZGlmZiAtLWdpdCBhL09XTkVSUyBiL09XTkVSUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYzdhMzQzCi0tLSAvZGV2L251bGwKKysrIGIvT1dORVJTCkBAIC0wLDAgKzEsMiBAQAoramxldmFzc2V1ckBnb29nbGUuY29tCitobW9oaXRAZ29vZ2xlLmNvbQpkaWZmIC0tZ2l0IGEvc3JjL0NNYWtlTGlzdHMudHh0IGIvc3JjL0NNYWtlTGlzdHMudHh0CmluZGV4IDBjMDI0N2MuLmI0MTJkYzcgMTAwNjQ0Ci0tLSBhL3NyYy9DTWFrZUxpc3RzLnR4dAorKysgYi9zcmMvQ01ha2VMaXN0cy50eHQKQEAgLTMsMTAgKzMsNyBAQAogCiBwcm9qZWN0KHpsaWIgQykKIAotc2V0KFZFUlNJT04gIjEuMi44IikKLQotb3B0aW9uKEFTTTY4NiAiRW5hYmxlIGJ1aWxkaW5nIGk2ODYgYXNzZW1ibHkgaW1wbGVtZW50YXRpb24iKQotb3B0aW9uKEFNRDY0ICJFbmFibGUgYnVpbGRpbmcgYW1kNjQgYXNzZW1ibHkgaW1wbGVtZW50YXRpb24iKQorc2V0KFZFUlNJT04gIjEuMi4xMyIpCiAKIHNldChJTlNUQUxMX0JJTl9ESVIgIiR7Q01BS0VfSU5TVEFMTF9QUkVGSVh9L2JpbiIgQ0FDSEUgUEFUSCAiSW5zdGFsbGF0aW9uIGRpcmVjdG9yeSBmb3IgZXhlY3V0YWJsZXMiKQogc2V0KElOU1RBTExfTElCX0RJUiAiJHtDTUFLRV9JTlNUQUxMX1BSRUZJWH0vbGliIiBDQUNIRSBQQVRIICJJbnN0YWxsYXRpb24gZGlyZWN0b3J5IGZvciBsaWJyYXJpZXMiKQpAQCAtMTI5LDM5ICsxMjYsNiBAQAogICAgICkKIGVuZGlmKCkKIAotaWYoQ01BS0VfQ09NUElMRVJfSVNfR05VQ0MpCi0gICAgaWYoQVNNNjg2KQotICAgICAgICBzZXQoWkxJQl9BU01TIGNvbnRyaWIvYXNtNjg2L21hdGNoLlMpCi0gICAgZWxzZWlmIChBTUQ2NCkKLSAgICAgICAgc2V0KFpMSUJfQVNNUyBjb250cmliL2FtZDY0L2FtZDY0LW1hdGNoLlMpCi0gICAgZW5kaWYgKCkKLQotCWlmKFpMSUJfQVNNUykKLQkJYWRkX2RlZmluaXRpb25zKC1EQVNNVikKLQkJc2V0X3NvdXJjZV9maWxlc19wcm9wZXJ0aWVzKCR7WkxJQl9BU01TfSBQUk9QRVJUSUVTIExBTkdVQUdFIEMgQ09NUElMRV9GTEFHUyAtRE5PX1VOREVSTElORSkKLQllbmRpZigpCi1lbmRpZigpCi0KLWlmKE1TVkMpCi0gICAgaWYoQVNNNjg2KQotCQlFTkFCTEVfTEFOR1VBR0UoQVNNX01BU00pCi0gICAgICAgIHNldChaTElCX0FTTVMKLQkJCWNvbnRyaWIvbWFzbXg4Ni9pbmZmYXMzMi5hc20KLQkJCWNvbnRyaWIvbWFzbXg4Ni9tYXRjaDY4Ni5hc20KLQkJKQotICAgIGVsc2VpZiAoQU1ENjQpCi0JCUVOQUJMRV9MQU5HVUFHRShBU01fTUFTTSkKLSAgICAgICAgc2V0KFpMSUJfQVNNUwotCQkJY29udHJpYi9tYXNteDY0L2d2bWF0NjQuYXNtCi0JCQljb250cmliL21hc214NjQvaW5mZmFzeDY0LmFzbQotCQkpCi0gICAgZW5kaWYoKQotCi0JaWYoWkxJQl9BU01TKQotCQlhZGRfZGVmaW5pdGlvbnMoLURBU01WIC1EQVNNSU5GKQotCWVuZGlmKCkKLWVuZGlmKCkKLQogIyBwYXJzZSB0aGUgZnVsbCB2ZXJzaW9uIG51bWJlciBmcm9tIHpsaWIuaCBhbmQgaW5jbHVkZSBpbiBaTElCX0ZVTExfVkVSU0lPTgogZmlsZShSRUFEICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS96bGliLmggX3psaWJfaF9jb250ZW50cykKIHN0cmluZyhSRUdFWCBSRVBMQUNFICIuKiNkZWZpbmVbIFx0XStaTElCX1ZFUlNJT05bIFx0XStcIihbLTAtOUEtWmEtei5dKylcIi4qIgpAQCAtMTgzLDggKzE0Nyw4IEBACiAgICAgc2V0KFpMSUJfRExMX1NSQ1MgJHtDTUFLRV9DVVJSRU5UX0JJTkFSWV9ESVJ9L3psaWIxcmMub2JqKQogZW5kaWYoTUlOR1cpCiAKLWFkZF9saWJyYXJ5KHpsaWIgU0hBUkVEICR7WkxJQl9TUkNTfSAke1pMSUJfQVNNU30gJHtaTElCX0RMTF9TUkNTfSAke1pMSUJfUFVCTElDX0hEUlN9ICR7WkxJQl9QUklWQVRFX0hEUlN9KQotYWRkX2xpYnJhcnkoemxpYnN0YXRpYyBTVEFUSUMgJHtaTElCX1NSQ1N9ICR7WkxJQl9BU01TfSAke1pMSUJfUFVCTElDX0hEUlN9ICR7WkxJQl9QUklWQVRFX0hEUlN9KQorYWRkX2xpYnJhcnkoemxpYiBTSEFSRUQgJHtaTElCX1NSQ1N9ICR7WkxJQl9ETExfU1JDU30gJHtaTElCX1BVQkxJQ19IRFJTfSAke1pMSUJfUFJJVkFURV9IRFJTfSkKK2FkZF9saWJyYXJ5KHpsaWJzdGF0aWMgU1RBVElDICR7WkxJQl9TUkNTfSAke1pMSUJfUFVCTElDX0hEUlN9ICR7WkxJQl9QUklWQVRFX0hEUlN9KQogc2V0X3RhcmdldF9wcm9wZXJ0aWVzKHpsaWIgUFJPUEVSVElFUyBERUZJTkVfU1lNQk9MIFpMSUJfRExMKQogc2V0X3RhcmdldF9wcm9wZXJ0aWVzKHpsaWIgUFJPUEVSVElFUyBTT1ZFUlNJT04gMSkKIApkaWZmIC0tZ2l0IGEvc3JjL0NoYW5nZUxvZyBiL3NyYy9DaGFuZ2VMb2cKaW5kZXggZjIyYWFiYS4uNDU3NTI2YiAxMDA2NDQKLS0tIGEvc3JjL0NoYW5nZUxvZworKysgYi9zcmMvQ2hhbmdlTG9nCkBAIC0xLDEwICsxLDEyOCBAQAogCiAgICAgICAgICAgICAgICAgQ2hhbmdlTG9nIGZpbGUgZm9yIHpsaWIKIAorQ2hhbmdlcyBpbiAxLjIuMTMgKDEzIE9jdCAyMDIyKQorLSBGaXggY29uZmlndXJlIGlzc3VlIHRoYXQgZGlzY2FyZGVkIHByb3ZpZGVkIENDIGRlZmluaXRpb24KKy0gQ29ycmVjdCBpbmNvcnJlY3QgaW5wdXRzIHByb3ZpZGVkIHRvIHRoZSBDUkMgZnVuY3Rpb25zCistIFJlcGFpciBwcm90b3R5cGVzIGFuZCBleHBvcnRpbmcgb2YgbmV3IENSQyBmdW5jdGlvbnMKKy0gRml4IGluZmxhdGVCYWNrIHRvIGRldGVjdCBpbnZhbGlkIGlucHV0IHdpdGggZGlzdGFuY2VzIHRvbyBmYXIKKy0gSGF2ZSBpbmZiYWNrKCkgZGVsaXZlciBhbGwgb2YgdGhlIGF2YWlsYWJsZSBvdXRwdXQgdXAgdG8gYW55IGVycm9yCistIEZpeCBhIGJ1ZyB3aGVuIGdldHRpbmcgYSBnemlwIGhlYWRlciBleHRyYSBmaWVsZCB3aXRoIGluZmxhdGUoKQorLSBGaXggYnVnIGluIGJsb2NrIHR5cGUgc2VsZWN0aW9uIHdoZW4gWl9GSVhFRCB1c2VkCistIFRpZ2h0ZW4gZGVmbGF0ZUJvdW5kIGJvdW5kcworLSBSZW1vdmUgZGVsZXRlZCBhc3NlbWJsZXIgY29kZSByZWZlcmVuY2VzCistIFZhcmlvdXMgcG9ydGFiaWxpdHkgYW5kIGFwcGVhcmFuY2UgaW1wcm92ZW1lbnRzCisKK0NoYW5nZXMgaW4gMS4yLjEyICgyNyBNYXIgMjAyMikKKy0gQ3lnd2luIGRvZXMgbm90IGhhdmUgX3dvcGVuKCksIHNvIGRvIG5vdCBjcmVhdGUgZ3pvcGVuX3coKSB0aGVyZQorLSBQZXJtaXQgYSBkZWZsYXRlUGFyYW1zKCkgcGFyYW1ldGVyIGNoYW5nZSBhcyBzb29uIGFzIHBvc3NpYmxlCistIExpbWl0IGhhc2ggdGFibGUgaW5zZXJ0cyBhZnRlciBzd2l0Y2ggZnJvbSBzdG9yZWQgZGVmbGF0ZQorLSBGaXggYnVnIHdoZW4gd2luZG93IGZ1bGwgaW4gZGVmbGF0ZV9zdG9yZWQoKQorLSBGaXggQ0xFQVJfSEFTSCBtYWNybyB0byBiZSB1c2FibGUgYXMgYSBzaW5nbGUgc3RhdGVtZW50CistIEF2b2lkIGEgY29udmVyc2lvbiBlcnJvciBpbiBnenNlZWsgd2hlbiBvZmZfdCB0eXBlIHRvbyBzbWFsbAorLSBIYXZlIE1ha2VmaWxlIHJldHVybiBub24temVybyBlcnJvciBjb2RlIG9uIHRlc3QgZmFpbHVyZQorLSBBdm9pZCBzb21lIGNvbnZlcnNpb24gd2FybmluZ3MgaW4gZ3pyZWFkLmMgYW5kIGd6d3JpdGUuYworLSBVcGRhdGUgdXNlIG9mIGVycm5vIGZvciBuZXdlciBXaW5kb3dzIENFIHZlcnNpb25zCistIFNtYWxsIHNwZWVkdXAgdG8gaW5mbGF0ZSBbcHN1bWJlcmFdCistIFJldHVybiBhbiBlcnJvciBpZiB0aGUgZ3pwdXRzIHN0cmluZyBsZW5ndGggY2FuJ3QgZml0IGluIGFuIGludAorLSBBZGQgYWRkcmVzcyBjaGVja2luZyBpbiBjbGFuZyB0byAtdyBvcHRpb24gb2YgY29uZmlndXJlCistIERvbid0IGNvbXB1dGUgY2hlY2sgdmFsdWUgZm9yIHJhdyBpbmZsYXRlIGlmIGFza2VkIHRvIHZhbGlkYXRlCistIEhhbmRsZSBjYXNlIHdoZXJlIGluZmxhdGVTeW5jIHVzZWQgd2hlbiBoZWFkZXIgbmV2ZXIgcHJvY2Vzc2VkCistIEF2b2lkIHRoZSB1c2Ugb2YgcHRyZGlmZl90CistIEF2b2lkIGFuIHVuZGVmaW5lZCBiZWhhdmlvciBvZiBtZW1jcHkoKSBpbiBnemFwcGVuZCgpCistIEF2b2lkIHVuZGVmaW5lZCBiZWhhdmlvcnMgb2YgbWVtY3B5KCkgaW4gZ3oqcHJpbnRmKCkKKy0gQXZvaWQgYW4gdW5kZWZpbmVkIGJlaGF2aW9yIG9mIG1lbWNweSgpIGluIF90cl9zdG9yZWRfYmxvY2soKQorLSBNYWtlIHRoZSBuYW1lcyBpbiBmdW5jdGlvbnMgZGVjbGFyYXRpb25zIGlkZW50aWNhbCB0byBkZWZpbml0aW9ucworLSBSZW1vdmUgb2xkIGFzc2VtYmxlciBjb2RlIGluIHdoaWNoIGJ1Z3MgaGF2ZSBtYW5pZmVzdGVkCistIEZpeCBkZWZsYXRlRW5kKCkgdG8gbm90IHJlcG9ydCBhbiBlcnJvciBhdCBzdGFydCBvZiByYXcgZGVmbGF0ZQorLSBBZGQgbGVnYWwgZGlzY2xhaW1lciB0byBSRUFETUUKKy0gRW1waGFzaXplIHRoZSBuZWVkIHRvIGNvbnRpbnVlIGRlY29tcHJlc3NpbmcgZ3ppcCBtZW1iZXJzCistIENvcnJlY3QgdGhlIGluaXRpYWxpemF0aW9uIHJlcXVpcmVtZW50cyBmb3IgZGVmbGF0ZUluaXQyKCkKKy0gRml4IGEgYnVnIHRoYXQgY2FuIGNyYXNoIGRlZmxhdGUgb24gc29tZSBpbnB1dCB3aGVuIHVzaW5nIFpfRklYRUQKKy0gQXNzdXJlIHRoYXQgdGhlIG51bWJlciBvZiBiaXRzIGZvciBkZWZsYXRlUHJpbWUoKSBpcyB2YWxpZAorLSBVc2UgYSBzdHJ1Y3R1cmUgdG8gbWFrZSBnbG9iYWxzIGluIGVub3VnaC5jIGV2aWRlbnQKKy0gVXNlIGEgbWFjcm8gZm9yIHRoZSBwcmludGYgZm9ybWF0IG9mIGJpZ190IGluIGVub3VnaC5jCistIENsZWFuIHVwIGNvZGUgc3R5bGUgaW4gZW5vdWdoLmMsIHVwZGF0ZSB2ZXJzaW9uCistIFVzZSBpbmxpbmUgZnVuY3Rpb24gaW5zdGVhZCBvZiBtYWNybyBmb3IgaW5kZXggaW4gZW5vdWdoLmMKKy0gQ2xhcmlmeSB0aGF0IHByZWZpeCBjb2RlcyBhcmUgY291bnRlZCBpbiBlbm91Z2guYworLSBTaG93IGFsbCB0aGUgY29kZXMgZm9yIHRoZSBtYXhpbXVtIHRhYmxlcyBzaXplIGluIGVub3VnaC5jCistIEFkZCBnem5vcm0uYyBleGFtcGxlLCB3aGljaCBub3JtYWxpemVzIGd6aXAgZmlsZXMKKy0gRml4IHRoZSB6cmFuLmMgZXhhbXBsZSB0byB3b3JrIG9uIGEgbXVsdGlwbGUtbWVtYmVyIGd6aXAgZmlsZQorLSBBZGQgdGFibGVzIGZvciBjcmMzMl9jb21iaW5lKCksIHRvIHNwZWVkIGl0IHVwIGJ5IGEgZmFjdG9yIG9mIDIwMAorLSBBZGQgY3JjMzJfY29tYmluZV9nZW4oKSBhbmQgY3JjMzJfY29tYmluZV9vcCgpIGZvciBmYXN0IGNvbWJpbmVzCistIFNwZWVkIHVwIHNvZnR3YXJlIENSQy0zMiBjb21wdXRhdGlvbiBieSBhIGZhY3RvciBvZiAxLjUgdG8gMworLSBVc2UgYXRvbWljIHRlc3QgYW5kIHNldCwgaWYgYXZhaWxhYmxlLCBmb3IgZHluYW1pYyBDUkMgdGFibGVzCistIERvbid0IGJvdGhlciBjb21wdXRpbmcgY2hlY2sgdmFsdWUgYWZ0ZXIgc3VjY2Vzc2Z1bCBpbmZsYXRlU3luYygpCistIENvcnJlY3QgY29tbWVudCBpbiBjcmMzMi5jCistIEFkZCB1c2Ugb2YgdGhlIEFSTXY4IGNyYzMyIGluc3RydWN0aW9ucyB3aGVuIHJlcXVlc3RlZAorLSBVc2UgQVJNIGNyYzMyIGluc3RydWN0aW9ucyBpZiB0aGUgQVJNIGFyY2hpdGVjdHVyZSBoYXMgdGhlbQorLSBFeHBsaWNpdGx5IG5vdGUgdGhhdCB0aGUgMzItYml0IGNoZWNrIHZhbHVlcyBhcmUgMzIgYml0cworLSBBdm9pZCBhZGRpbmcgZW1wdHkgZ3ppcCBtZW1iZXIgYWZ0ZXIgZ3pmbHVzaCB3aXRoIFpfRklOSVNICistIEZpeCBtZW1vcnkgbGVhayBvbiBlcnJvciBpbiBnemxvZy5jCistIEZpeCBlcnJvciBpbiBjb21tZW50IG9uIHRoZSBwb2x5bm9taWFsIHJlcHJlc2VudGF0aW9uIG9mIGEgYnl0ZQorLSBDbGFyaWZ5IGd6KiBmdW5jdGlvbiBpbnRlcmZhY2VzLCByZWZlcnJpbmcgdG8gcGFyYW1ldGVyIG5hbWVzCistIENoYW5nZSBtYWNybyBuYW1lIGluIGluZmxhdGUuYyB0byBhdm9pZCBjb2xsaXNpb24gaW4gVnhXb3JrcworLSBDb3JyZWN0IHR5cG8gaW4gYmxhc3QuYworLSBJbXByb3ZlIHBvcnRhYmlsaXR5IG9mIGNvbnRyaWIvbWluaXppcAorLSBGaXggaW5kZW50YXRpb24gaW4gbWluaXppcCdzIHppcC5jCistIFJlcGxhY2UgYmxhY2svd2hpdGUgd2l0aCBhbGxvdy9ibG9jay4gKHRoZXJlc2EtbSkKKy0gbWluaXppcCB3YXJuaW5nIGZpeCBpZiBNQVhVMzIgYWxyZWFkeSBkZWZpbmVkLiAoZ3ZvbGxhbnQpCistIEZpeCB1bnp0ZWxsNjQoKSBpbiBtaW5pemlwIHRvIHdvcmsgcGFzdCA0R0IuIChEYW5pw6tsIEjDtnJjaG5lcikKKy0gQ2xlYW4gdXAgbWluaXppcCB0byByZWR1Y2Ugd2FybmluZ3MgZm9yIHRlc3RpbmcKKy0gQWRkIGZhbGx0aHJvdWdoIGNvbW1lbnRzIGZvciBnY2MKKy0gRWxpbWluYXRlIHVzZSBvZiBVTEwgY29uc3RhbnRzCistIFNlcGFyYXRlIG91dCBhZGRyZXNzIHNhbml0aXppbmcgZnJvbSB3YXJuaW5ncyBpbiBjb25maWd1cmUKKy0gUmVtb3ZlIGRlc3RydWN0aXZlIGFzcGVjdHMgb2YgbWFrZSBkaXN0Y2xlYW4KKy0gQ2hlY2sgZm9yIGNjIG1hc3F1ZXJhZGluZyBhcyBnY2Mgb3IgY2xhbmcgaW4gY29uZmlndXJlCistIEZpeCBjcmMzMi5jIHRvIGNvbXBpbGUgbG9jYWwgZnVuY3Rpb25zIG9ubHkgaWYgdXNlZAorCitDaGFuZ2VzIGluIDEuMi4xMSAoMTUgSmFuIDIwMTcpCistIEZpeCBkZWZsYXRlIHN0b3JlZCBidWcgd2hlbiBwdWxsaW5nIGxhc3QgYmxvY2sgZnJvbSB3aW5kb3cKKy0gUGVybWl0IGltbWVkaWF0ZSBkZWZsYXRlUGFyYW1zIGNoYW5nZXMgYmVmb3JlIGFueSBkZWZsYXRlIGlucHV0CisKK0NoYW5nZXMgaW4gMS4yLjEwICgyIEphbiAyMDE3KQorLSBBdm9pZCB3YXJuaW5ncyBvbiBzbnByaW50ZigpIHJldHVybiB2YWx1ZQorLSBGaXggYnVnIGluIGRlZmxhdGVfc3RvcmVkKCkgZm9yIHplcm8tbGVuZ3RoIGlucHV0CistIEZpeCBidWcgaW4gZ3p3cml0ZS5jIHRoYXQgcHJvZHVjZWQgY29ycnVwdCBnemlwIGZpbGVzCistIFJlbW92ZSBmaWxlcyB0byBiZSBpbnN0YWxsZWQgYmVmb3JlIGNvcHlpbmcgdGhlbSBpbiBNYWtlZmlsZS5pbgorLSBBZGQgd2FybmluZ3Mgd2hlbiBjb21waWxpbmcgd2l0aCBhc3NlbWJsZXIgY29kZQorCitDaGFuZ2VzIGluIDEuMi45ICgzMSBEZWMgMjAxNikKKy0gRml4IGNvbnRyaWIvbWluaXppcCB0byBwZXJtaXQgdW56aXBwaW5nIHdpdGggZGVza3RvcCBBUEkgW1pvdXpvdV0KKy0gSW1wcm92ZSBjb250cmliL2JsYXN0IHRvIHJldHVybiB1bnVzZWQgYnl0ZXMKKy0gQXNzdXJlIHRoYXQgZ3pvZmZzZXQoKSBpcyBjb3JyZWN0IHdoZW4gYXBwZW5kaW5nCistIEltcHJvdmUgY29tcHJlc3MoKSBhbmQgdW5jb21wcmVzcygpIHRvIHN1cHBvcnQgbGFyZ2UgbGVuZ3RocworLSBGaXggYnVnIGluIHRlc3QvZXhhbXBsZS5jIHdoZXJlIGVycm9yIGNvZGUgbm90IHNhdmVkCistIFJlbWVkeSBDb3Zlcml0eSB3YXJuaW5nIFtSYW5kZXJzLVBlaHJzb25dCistIEltcHJvdmUgc3BlZWQgb2YgZ3pwcmludGYoKSBpbiB0cmFuc3BhcmVudCBtb2RlCistIEZpeCBpbmZsYXRlSW5pdDIoKSBidWcgd2hlbiB3aW5kb3dCaXRzIGlzIDE2IG9yIDMyCistIENoYW5nZSBERUJVRyBtYWNybyB0byBaTElCX0RFQlVHCistIEF2b2lkIHVuaW5pdGlhbGl6ZWQgYWNjZXNzIGJ5IGd6Y2xvc2VfdygpCistIEFsbG93IGJ1aWxkaW5nIHpsaWIgb3V0c2lkZSBvZiB0aGUgc291cmNlIGRpcmVjdG9yeQorLSBGaXggYnVnIHRoYXQgYWNjZXB0ZWQgaW52YWxpZCB6bGliIGhlYWRlciB3aGVuIHdpbmRvd0JpdHMgaXMgemVybworLSBGaXggZ3pzZWVrKCkgcHJvYmxlbSBvbiBNaW5HVyBkdWUgdG8gYnVnZ3kgX2xzZWVraTY0IHRoZXJlCistIExvb3Agb24gd3JpdGUoKSBjYWxscyBpbiBnendyaXRlLmMgaW4gY2FzZSBvZiBub24tYmxvY2tpbmcgSS9PCistIEFkZCAtLXdhcm4gKC13KSBvcHRpb24gdG8gLi9jb25maWd1cmUgZm9yIG1vcmUgY29tcGlsZXIgd2FybmluZ3MKKy0gUmVqZWN0IGEgd2luZG93IHNpemUgb2YgMjU2IGJ5dGVzIGlmIG5vdCB1c2luZyB0aGUgemxpYiB3cmFwcGVyCistIEZpeCBidWcgd2hlbiBsZXZlbCAwIHVzZWQgd2l0aCBaX0hVRkZNQU4gb3IgWl9STEUKKy0gQWRkIC0tZGVidWcgKC1kKSBvcHRpb24gdG8gLi9jb25maWd1cmUgdG8gZGVmaW5lIFpMSUJfREVCVUcKKy0gRml4IGJ1Z3MgaW4gY3JlYXRpbmcgYSB2ZXJ5IGxhcmdlIGd6aXAgaGVhZGVyCistIEFkZCB1bmNvbXByZXNzMigpIGZ1bmN0aW9uLCB3aGljaCByZXR1cm5zIHRoZSBpbnB1dCBzaXplIHVzZWQKKy0gQXNzdXJlIHRoYXQgZGVmbGF0ZVBhcmFtcygpIHdpbGwgbm90IHN3aXRjaCBmdW5jdGlvbnMgbWlkLWJsb2NrCistIERyYW1hdGljYWxseSBzcGVlZCB1cCBkZWZsYXRpb24gZm9yIGxldmVsIDAgKHN0b3JpbmcpCistIEFkZCBnemZyZWFkKCksIGR1cGxpY2F0aW5nIHRoZSBpbnRlcmZhY2Ugb2YgZnJlYWQoKQorLSBBZGQgZ3pmd3JpdGUoKSwgZHVwbGljYXRpbmcgdGhlIGludGVyZmFjZSBvZiBmd3JpdGUoKQorLSBBZGQgZGVmbGF0ZUdldERpY3Rpb25hcnkoKSBmdW5jdGlvbgorLSBVc2Ugc25wcmludGYoKSBmb3IgbGF0ZXIgdmVyc2lvbnMgb2YgTWljcm9zb2Z0IEMKKy0gRml4ICpJbml0IG1hY3JvcyB0byB1c2Ugel8gcHJlZml4IHdoZW4gcmVxdWVzdGVkCistIFJlcGxhY2UgYXM0MDAgd2l0aCBvczQwMCBmb3IgT1MvNDAwIHN1cHBvcnQgW01vbm5lcmF0XQorLSBBZGQgY3JjMzJfeigpIGFuZCBhZGxlcjMyX3ooKSBmdW5jdGlvbnMgd2l0aCBzaXplX3QgbGVuZ3RocworLSBVcGRhdGUgVmlzdWFsIFN0dWRpbyBwcm9qZWN0IGZpbGVzIFtBcmFIYWFuXQorCiBDaGFuZ2VzIGluIDEuMi44ICgyOCBBcHIgMjAxMykKIC0gVXBkYXRlIGNvbnRyaWIvbWluaXppcC9pb3dpbjMyLmMgZm9yIFdpbmRvd3MgUlQgW1ZvbGxhbnRdCiAtIERvIG5vdCBmb3JjZSBaX0NPTlNUIGZvciBDKysKLS0gQ2xlYW4gdXAgY29udHJpYi92c3R1ZGlvIFtSb6ddCistIENsZWFuIHVwIGNvbnRyaWIvdnN0dWRpbyBbUm/Dn10KIC0gQ29ycmVjdCBzcGVsbGluZyBlcnJvciBpbiB6bGliLmgKIC0gRml4IG1peGVkIGxpbmUgZW5kaW5ncyBpbiBjb250cmliL3ZzdHVkaW8KIApAQCAtMzQsNyArMTUyLDcgQEAKIC0gQ2xlYW4gdXAgdGhlIHVzYWdlIG9mIHpfY29uc3QgYW5kIHJlc3BlY3QgY29uc3QgdXNhZ2Ugd2l0aGluIHpsaWIKIC0gQ2xlYW4gdXAgZXhhbXBsZXMvZ3psb2cuW2NoXSBjb21wYXJpc29ucyBvZiBkaWZmZXJlbnQgdHlwZXMKIC0gQXZvaWQgc2hpZnQgZXF1YWwgdG8gYml0cyBpbiB0eXBlIChjYXVzZWQgZW5kbGVzcyBsb29wKQotLSBGaXggdW5pbnRpYWxpemVkIHZhbHVlIGJ1ZyBpbiBnenB1dGMoKSBpbnRyb2R1Y2VkIGJ5IGNvbnN0IHBhdGNoZXMKKy0gRml4IHVuaW5pdGlhbGl6ZWQgdmFsdWUgYnVnIGluIGd6cHV0YygpIGludHJvZHVjZWQgYnkgY29uc3QgcGF0Y2hlcwogLSBGaXggbWVtb3J5IGFsbG9jYXRpb24gZXJyb3IgaW4gZXhhbXBsZXMvenJhbi5jIFtOb3JdCiAtIEZpeCBidWcgd2hlcmUgZ3pvcGVuKCksIGd6Y2xvc2UoKSB3b3VsZCB3cml0ZSBhbiBlbXB0eSBmaWxlCiAtIEZpeCBidWcgaW4gZ3pjbG9zZSgpIHdoZW4gZ3p3cml0ZSgpIHJ1bnMgb3V0IG9mIG1lbW9yeQpAQCAtNTMsNyArMTcxLDcgQEAKIC0gRml4IHR5cGVzIGluIGNvbnRyaWIvbWluaXppcCB0byBtYXRjaCByZXN1bHQgb2YgZ2V0X2NyY190YWJsZSgpCiAtIFNpbXBsaWZ5IGNvbnRyaWIvdnN0dWRpby92YzEwIHdpdGggJ2QnIHN1ZmZpeAogLSBBZGQgVE9QIHN1cHBvcnQgdG8gd2luMzIvTWFrZWZpbGUubXNjCi0tIFN1cG9ydCBpNjg2IGFuZCBhbWQ2NCBhc3NlbWJsZXIgYnVpbGRzIGluIENNYWtlTGlzdHMudHh0CistIFN1cHBvcnQgaTY4NiBhbmQgYW1kNjQgYXNzZW1ibGVyIGJ1aWxkcyBpbiBDTWFrZUxpc3RzLnR4dAogLSBGaXggdHlwb3MgaW4gdGhlIHVzZSBvZiBfTEFSR0VGSUxFNjRfU09VUkNFIGluIHpjb25mLmgKIC0gQWRkIHZjMTEgYW5kIHZjMTIgYnVpbGQgZmlsZXMgdG8gY29udHJpYi92c3R1ZGlvCiAtIEFkZCBnenZwcmludGYoKSBhcyBhbiB1bmRvY3VtZW50ZWQgZnVuY3Rpb24gaW4gemxpYgpAQCAtMTk0LDcgKzMxMiw3IEBACiAtIEFkZCBhIHRyYW5zcGFyZW50IHdyaXRlIG1vZGUgdG8gZ3pvcGVuKCkgd2hlbiAnVCcgaXMgaW4gdGhlIG1vZGUKIC0gVXBkYXRlIHB5dGhvbiBsaW5rIGluIHpsaWIgbWFuIHBhZ2UKIC0gR2V0IGluZmZpeGVkLmggYW5kIE1BS0VGSVhFRCByZXN1bHQgdG8gbWF0Y2gKLS0gQWRkIGEgLi9jb25maWcgLS1zb2xvIG9wdGlvbiB0byBtYWtlIHpsaWIgc3Vic2V0IHdpdGggbm8gbGliYXJ5IHVzZQorLSBBZGQgYSAuL2NvbmZpZyAtLXNvbG8gb3B0aW9uIHRvIG1ha2UgemxpYiBzdWJzZXQgd2l0aCBubyBsaWJyYXJ5IHVzZQogLSBBZGQgdW5kb2N1bWVudGVkIGluZmxhdGVSZXNldEtlZXAoKSBmdW5jdGlvbiBmb3IgQ0FCIGZpbGUgZGVjb2RpbmcKIC0gQWRkIC0tY292ZXIgb3B0aW9uIHRvIC4vY29uZmlndXJlIGZvciBnY2MgY292ZXJhZ2UgdGVzdGluZwogLSBBZGQgI2RlZmluZSBaTElCX0NPTlNUIG9wdGlvbiB0byB1c2UgY29uc3QgaW4gdGhlIHpfc3RyZWFtIGludGVyZmFjZQpAQCAtMjUzLDE0ICszNzEsMTQgQEAKIC0gVXNlIHU0IHR5cGUgZm9yIGNyY190YWJsZSB0byBhdm9pZCBjb252ZXJzaW9uIHdhcm5pbmdzCiAtIEFwcGx5IGNhc3RzIGluIHpsaWIuaCB0byBhdm9pZCBjb252ZXJzaW9uIHdhcm5pbmdzCiAtIEFkZCBPRiB0byBwcm90b3R5cGVzIGZvciBhZGxlcjMyX2NvbWJpbmVfIGFuZCBjcmMzMl9jb21iaW5lXyBbTWlsbGVyXQotLSBJbXByb3ZlIGluZmxhdGVTeW5jKCkgZG9jdW1lbnRhdGlvbiB0byBub3RlIGluZGV0ZXJtaW5hbmN5CistIEltcHJvdmUgaW5mbGF0ZVN5bmMoKSBkb2N1bWVudGF0aW9uIHRvIG5vdGUgaW5kZXRlcm1pbmFjeQogLSBBZGQgZGVmbGF0ZVBlbmRpbmcoKSBmdW5jdGlvbiB0byByZXR1cm4gdGhlIGFtb3VudCBvZiBwZW5kaW5nIG91dHB1dAogLSBDb3JyZWN0IHRoZSBzcGVsbGluZyBvZiAic3BlY2lmaWNhdGlvbiIgaW4gRkFRIFtSYW5kZXJzLVBlaHJzb25dCiAtIEFkZCBhIGNoZWNrIGluIGNvbmZpZ3VyZSBmb3Igc3RkYXJnLmgsIHVzZSBmb3IgZ3pwcmludGYoKQogLSBDaGVjayB0aGF0IHBvaW50ZXJzIGZpdCBpbiBpbnRzIHdoZW4gZ3pwcmludCgpIGNvbXBpbGVkIG9sZCBzdHlsZQogLSBBZGQgZHVtbXkgbmFtZSBiZWZvcmUgJChTSEFSRURMSUJWKSBpbiBNYWtlZmlsZSBbQmFyLUxldiwgQm93bGVyXQogLSBEZWxldGUgbGluZSBpbiBjb25maWd1cmUgdGhhdCBhZGRzIC1MLiBsaWJ6LmEgdG8gTERGTEFHUyBbV2VpZ2VsdF0KLS0gQWRkIGRlYnVnIHJlY29yZHMgaW4gYXNzbWVibGVyIGNvZGUgW0xvbmRlcl0KKy0gQWRkIGRlYnVnIHJlY29yZHMgaW4gYXNzZW1ibGVyIGNvZGUgW0xvbmRlcl0KIC0gVXBkYXRlIFJGQyByZWZlcmVuY2VzIHRvIHVzZSBodHRwOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC8uLi4gW0xpXQogLSBBZGQgLS1hcmNocyBvcHRpb24sIHVzZSBvZiBsaWJ0b29sIHRvIGNvbmZpZ3VyZSBmb3IgTWFjIE9TIFggW0JvcnN0ZWxdCiAKQEAgLTQ2OCw3ICs1ODYsNyBAQAogLSBEb24ndCB1c2UgX3ZzbnByaW50ZiBvbiBsYXRlciB2ZXJzaW9ucyBvZiBNU1ZDIFtMb3dtYW5dCiAtIEFkZCBDTWFrZSBidWlsZCBzY3JpcHQgYW5kIGlucHV0IGZpbGUgW0xvd21hbl0KIC0gVXBkYXRlIGNvbnRyaWIvbWluaXppcCB0byAxLjEgW1N2ZW5zc29uLCBWb2xsYW50XQotLSBNb3ZlZCBuaW50ZW5kb2RzIGRpcmVjdG9yeSBmcm9tIGNvbnRyaWIgdG8gLgorLSBNb3ZlZCBuaW50ZW5kb2RzIGRpcmVjdG9yeSBmcm9tIGNvbnRyaWIgdG8gcm9vdAogLSBSZXBsYWNlIGd6aW8uYyB3aXRoIGEgbmV3IHNldCBvZiByb3V0aW5lcyB3aXRoIHRoZSBzYW1lIGZ1bmN0aW9uYWxpdHkKIC0gQWRkIGd6YnVmZmVyKCksIGd6b2Zmc2V0KCksIGd6Y2xvc2VfcigpLCBnemNsb3NlX3coKSBhcyBwYXJ0IG9mIGFib3ZlCiAtIFVwZGF0ZSBjb250cmliL21pbml6aXAgdG8gMS4xYgpAQCAtNTY0LDcgKzY4Miw3IEBACiAtIFVwZGF0ZSBtYWtlX3Ztcy5jb20gW1ppbnNlcl0KIC0gVXNlIC1mUElDIGZvciBzaGFyZWQgYnVpbGQgaW4gY29uZmlndXJlIFtUZXJlZGVzYWksIE5pY2hvbHNvbl0KIC0gVXNlIG9ubHkgbWFqb3IgdmVyc2lvbiBudW1iZXIgZm9yIGxpYnouc28gb24gSVJJWCBhbmQgT1NGMSBbUmVpbmhvbGR0c2VuXQotLSBVc2UgZmRvcGVuKCkgKG5vdCBfZmRvcGVuKCkpIGZvciBJbnRlcml4IGluIHp1dGlsLmggW0KKY2tdCistIFVzZSBmZG9wZW4oKSAobm90IF9mZG9wZW4oKSkgZm9yIEludGVyaXggaW4genV0aWwuaCBbQsOkY2tdCiAtIEFkZCBzb21lIEZBUSBlbnRyaWVzIGFib3V0IHRoZSBjb250cmliIGRpcmVjdG9yeQogLSBVcGRhdGUgdGhlIE1WUyBxdWVzdGlvbiBpbiB0aGUgRkFRCiAtIEF2b2lkIGV4dHJhbmVvdXMgcmVhZHMgYWZ0ZXIgRU9GIGluIGd6aW8uYyBbQnJvd25dCkBAIC02NDIsNyArNzYwLDcgQEAKIC0gQmUgbW9yZSBzdHJpY3Qgb24gaW5jb21wbGV0ZSBjb2RlIHNldHMgaW4gaW5mbGF0ZV90YWJsZSgpIGFuZCBpbmNyZWFzZQogICBFTk9VR0ggYW5kIE1BWEQgLS0gdGhpcyByZXBhaXJzIGEgcG9zc2libGUgc2VjdXJpdHkgdnVsbmVyYWJpbGl0eSBmb3IKICAgaW52YWxpZCBpbmZsYXRlIGlucHV0LiAgVGhhbmtzIHRvIFRhdmlzIE9ybWFuZHkgYW5kIE1hcmt1cyBPYmVyaHVtZXIgZm9yCi0gIGRpc2NvdmVyaW5nIHRoZSB2dWxuZXJhYmlsaXR5IGFuZCBwcm92aWRpbmcgdGVzdCBjYXNlcy4KKyAgZGlzY292ZXJpbmcgdGhlIHZ1bG5lcmFiaWxpdHkgYW5kIHByb3ZpZGluZyB0ZXN0IGNhc2VzCiAtIEFkZCBpYTY0IHN1cHBvcnQgdG8gY29uZmlndXJlIGZvciBIUC1VWCBbU21pdGhdCiAtIEFkZCBlcnJvciByZXR1cm4gdG8gZ3pyZWFkKCkgZm9yIGZvcm1hdCBvciBpL28gZXJyb3IgW0xldmluXQogLSBVc2UgbWFsbG9jLmggZm9yIE9TLzIgW05lY2FzZWtdCkBAIC02NzgsNyArNzk2LDcgQEAKIC0gQWRkIFpfRklYRUQgc3RyYXRlZ3kgb3B0aW9uIHRvIGRlZmxhdGVJbml0MigpIHRvIGZvcmNlIGZpeGVkIHRyZWVzCiAtIEFkZCB1cGRhdGVkIG1ha2Vfdm1zLmNvbSBbQ29naGxhbl0sIHVwZGF0ZSBSRUFETUUKIC0gQ3JlYXRlIGEgbmV3ICJleGFtcGxlcyIgZGlyZWN0b3J5LCBtb3ZlIGd6YXBwZW5kLmMgdGhlcmUsIGFkZCB6cGlwZS5jLAotICBmaXRibGsuYywgZ3psb2cuW2NoXSwgZ3pqb2luLmMsIGFuZCB6bGliX2hvdy5odG1sLgorICBmaXRibGsuYywgZ3psb2cuW2NoXSwgZ3pqb2luLmMsIGFuZCB6bGliX2hvdy5odG1sCiAtIEFkZCBGQVEgZW50cnkgYW5kIGNvbW1lbnRzIGluIGRlZmxhdGUuYyBvbiB1bmluaXRpYWxpemVkIG1lbW9yeSBhY2Nlc3MKIC0gQWRkIFNvbGFyaXMgOSBtYWtlIG9wdGlvbnMgaW4gY29uZmlndXJlIFtHaWxiZXJ0XQogLSBBbGxvdyBzdHJlcnJvcigpIHVzYWdlIGluIGd6aW8uYyBmb3IgU1REQwpAQCAtNzQ5LDcgKzg2Nyw3IEBACiAtIEZpeCBhIGJpZyBmYXQgYnVnIGluIGluZnRyZWVzLmMgdGhhdCBwcmV2ZW50ZWQgZGVjb2RpbmcgdmFsaWQKICAgZHluYW1pYyBibG9ja3Mgd2l0aCBvbmx5IGxpdGVyYWxzIGFuZCBubyBkaXN0YW5jZSBjb2RlcyAtLQogICBUaGFua3MgdG8gIkhvdCBFbXUiIGZvciB0aGUgYnVnIHJlcG9ydCBhbmQgc2FtcGxlIGZpbGUKLS0gQWRkIGEgbm90ZSB0byBwdWZmLmMgb24gbm8gZGlzdGFuY2UgY29kZXMgY2FzZS4KKy0gQWRkIGEgbm90ZSB0byBwdWZmLmMgb24gbm8gZGlzdGFuY2UgY29kZXMgY2FzZQogCiBDaGFuZ2VzIGluIDEuMi4xICgxNyBOb3ZlbWJlciAyMDAzKQogLSBSZW1vdmUgYSB0YWIgaW4gY29udHJpYi9nemFwcGVuZC9nemFwcGVuZC5jCkBAIC05MjcsNyArMTA0NSw3IEBACiAgICAgLSBJbmNsdWRlIGFkZGl0aW9uYWwgaGVhZGVyIGZpbGUgb24gVk1TIGZvciBvZmZfdCB0eXBlZGVmCiAtIFRyeSB0byB1c2UgX3ZzbnByaW50ZiB3aGVyZSBpdCBzdXBwbGFudHMgdnNwcmludGYgW1ZvbGxhbnRdCiAtIEFkZCBzb21lIGNhc3RzIGluIGluZmZhc3QuYwotLSBFbmNoYW5jZSBjb21tZW50cyBpbiB6bGliLmggb24gd2hhdCBoYXBwZW5zIGlmIGd6cHJpbnRmKCkgdHJpZXMgdG8KKy0gRW5oYW5jZSBjb21tZW50cyBpbiB6bGliLmggb24gd2hhdCBoYXBwZW5zIGlmIGd6cHJpbnRmKCkgdHJpZXMgdG8KICAgd3JpdGUgbW9yZSB0aGFuIDQwOTUgYnl0ZXMgYmVmb3JlIGNvbXByZXNzaW9uCiAtIFJlbW92ZSB1bnVzZWQgc3RhdGUgZnJvbSBpbmZsYXRlQmFja0VuZCgpCiAtIFJlbW92ZSBleGl0KDApIGZyb20gbWluaWd6aXAuYywgZXhhbXBsZS5jCkBAIC05OTMsMTQgKzExMTEsMTQgQEAKIC0gQWRkIGNvbnRyaWIvcHVmZi8gc2ltcGxlIGluZmxhdGUgZm9yIGRlZmxhdGUgZm9ybWF0IGRlc2NyaXB0aW9uCiAKIENoYW5nZXMgaW4gMS4xLjQgKDExIE1hcmNoIDIwMDIpCi0tIFpGUkVFIHdhcyByZXBlYXRlZCBvbiBzYW1lIGFsbG9jYXRpb24gb24gc29tZSBlcnJvciBjb25kaXRpb25zLgorLSBaRlJFRSB3YXMgcmVwZWF0ZWQgb24gc2FtZSBhbGxvY2F0aW9uIG9uIHNvbWUgZXJyb3IgY29uZGl0aW9ucwogICBUaGlzIGNyZWF0ZXMgYSBzZWN1cml0eSBwcm9ibGVtIGRlc2NyaWJlZCBpbgogICBodHRwOi8vd3d3LnpsaWIub3JnL2Fkdmlzb3J5LTIwMDItMDMtMTEudHh0CiAtIFJldHVybmVkIGluY29ycmVjdCBlcnJvciAoWl9NRU1fRVJST1IpIG9uIHNvbWUgaW52YWxpZCBkYXRhCiAtIEF2b2lkIGFjY2Vzc2VzIGJlZm9yZSB3aW5kb3cgZm9yIGludmFsaWQgZGlzdGFuY2VzIHdpdGggaW5mbGF0ZSB3aW5kb3cKLSAgbGVzcyB0aGFuIDMySy4KKyAgbGVzcyB0aGFuIDMySwogLSBmb3JjZSB3aW5kb3dCaXRzID4gOCB0byBhdm9pZCBhIGJ1ZyBpbiB0aGUgZW5jb2RlciBmb3IgYSB3aW5kb3cgc2l6ZQotICBvZiAyNTYgYnl0ZXMuIChBIGNvbXBsZXRlIGZpeCB3aWxsIGJlIGF2YWlsYWJsZSBpbiAxLjEuNSkuCisgIG9mIDI1NiBieXRlcy4gKEEgY29tcGxldGUgZml4IHdpbGwgYmUgYXZhaWxhYmxlIGluIDEuMS41KQogCiBDaGFuZ2VzIGluIDEuMS4zICg5IEp1bHkgMTk5OCkKIC0gZml4ICJhbiBpbmZsYXRlIGlucHV0IGJ1ZmZlciBidWcgdGhhdCBzaG93cyB1cCBvbiByYXJlIGJ1dCBwZXJzaXN0ZW50CkBAIC0xMDc0LDcgKzExOTIsNyBAQAogLSByZW1vdmUgYmxvY2sgdHJ1bmNhdGlvbiBoZXVyaXN0aWMgd2hpY2ggaGFkIHZlcnkgbWFyZ2luYWwgZWZmZWN0IGZvciB6bGliCiAgIChzbWFsbGVyIGxpdF9idWZzaXplIHRoYW4gaW4gZ3ppcCAxLjIuNCkgYW5kIGRlZ3JhZGVkIGEgbGl0dGxlIHRoZQogICBjb21wcmVzc2lvbiByYXRpbyBvbiBzb21lIGZpbGVzLiBUaGlzIGFsc28gYWxsb3dzIGlubGluaW5nIF90cl90YWxseSBmb3IKLSAgbWF0Y2hlcyBpbiBkZWZsYXRlX3Nsb3cuCisgIG1hdGNoZXMgaW4gZGVmbGF0ZV9zbG93CiAtIGFkZGVkIG1zZG9zL01ha2VmaWxlLnczMiBmb3IgV0lOMzIgTWljcm9zb2Z0IFZpc3VhbCBDKysgKEJvYiBGcmF6aWVyKQogCiBDaGFuZ2VzIGluIDEuMS4wICgyNCBGZWIgOTgpCkBAIC0xMTA1LDcgKzEyMjMsNyBAQAogLSBBdm9pZCBnY2MgMi44LjAgY29tcGFyaXNvbiBidWcgYSBsaXR0bGUgZGlmZmVyZW50bHkgdGhhbiB6bGliIDEuMC44CiAtIGluIGluZnRyZWVzLmMsIGF2b2lkIGNjIC1PIGJ1ZyBvbiBIUCAoRmFyc2hpZCBFbGFoaSkKIC0gaW4gemNvbmYuaCBtb3ZlIHRoZSBaTElCX0RMTCBzdHVmZiBlYXJsaWVyIHRvIGF2b2lkIHByb2JsZW1zIHdpdGgKLSAgdGhlIGRlY2xhcmF0aW9uIG9mIEZBUiAoR2lsbGVzIFZPbGxhbnQpCisgIHRoZSBkZWNsYXJhdGlvbiBvZiBGQVIgKEdpbGxlcyBWb2xsYW50KQogLSBpbnN0YWxsIGxpYnouc28qIHdpdGggbW9kZSA3NTUgKGV4ZWN1dGFibGUpIGluc3RlYWQgb2YgNjQ0IChNYXJjIExlaG1hbm4pCiAtIHJlYWRfYnVmIGJ1ZiBwYXJhbWV0ZXIgb2YgdHlwZSBCeXRlZiogaW5zdGVhZCBvZiBjaGFyZioKIC0gem1lbWNweSBwYXJhbWV0ZXJzIGFyZSBvZiB0eXBlIEJ5dGVmKiwgbm90IGNoYXJmKiAoSm9zZXBoIFN0cm91dCkKQEAgLTExMTksNyArMTIzNyw3IEBACiAtIGluY2x1ZGUgc3lzL3R5cGVzLmggdG8gZ2V0IG9mZl90IG9uIHNvbWUgc3lzdGVtcyAoTWFyYyBMZWhtYW5uICYgUWluZ0xvbmcpCiAtIHVzZSBjb25zdGFudCBhcnJheXMgZm9yIHRoZSBzdGF0aWMgdHJlZXMgaW4gdHJlZXMuYyBpbnN0ZWFkIG9mIGNvbXB1dGluZwogICB0aGVtIGF0IHJ1biB0aW1lICh0aGFua3MgdG8gS2VuIFJhZWJ1cm4gZm9yIHRoaXMgc3VnZ2VzdGlvbikuIFRvIGNyZWF0ZQotICB0cmVlcy5oLCBjb21waWxlIHdpdGggR0VOX1RSRUVTX0ggYW5kIHJ1biAibWFrZSB0ZXN0Ii4KKyAgdHJlZXMuaCwgY29tcGlsZSB3aXRoIEdFTl9UUkVFU19IIGFuZCBydW4gIm1ha2UgdGVzdCIKIC0gY2hlY2sgcmV0dXJuIGNvZGUgb2YgZXhhbXBsZSBpbiAibWFrZSB0ZXN0IiBhbmQgZGlzcGxheSByZXN1bHQKIC0gcGFzcyBtaW5pZ3ppcCBjb21tYW5kIGxpbmUgb3B0aW9ucyB0byBmaWxlX2NvbXByZXNzCiAtIHNpbXBsaWZ5aW5nIGNvZGUgb2YgaW5mbGF0ZVN5bmMgdG8gYXZvaWQgZ2NjIDIuOCBidWcKQEAgLTExNTgsMTIgKzEyNzYsMTIgQEAKIC0gYWRkIGZ1bmN0aW9ucyBnenByaW50ZiwgZ3pwdXRjLCBnemdldGMsIGd6dGVsbCwgZ3plb2YsIGd6c2VlaywgZ3pyZXdpbmQgYW5kCiAgIGd6c2V0cGFyYW1zICh0aGFua3MgdG8gUm9sYW5kIEdpZXJzaWcgYW5kIEtldmluIFJ1bGFuZCBmb3Igc29tZSBvZiB0aGlzIGNvZGUpCiAtIEZpeCBhIGRlZmxhdGUgYnVnIG9jY3VycmluZyBvbmx5IHdpdGggY29tcHJlc3Npb24gbGV2ZWwgMCAodGhhbmtzIHRvCi0gIEFuZHkgQnVja2xlciBmb3IgZmluZGluZyB0aGlzIG9uZSkuCi0tIEluIG1pbmlnemlwLCBwYXNzIHRyYW5zcGFyZW50bHkgYWxzbyB0aGUgZmlyc3QgYnl0ZSBmb3IgLlogZmlsZXMuCisgIEFuZHkgQnVja2xlciBmb3IgZmluZGluZyB0aGlzIG9uZSkKKy0gSW4gbWluaWd6aXAsIHBhc3MgdHJhbnNwYXJlbnRseSBhbHNvIHRoZSBmaXJzdCBieXRlIGZvciAuWiBmaWxlcwogLSByZXR1cm4gWl9CVUZfRVJST1IgaW5zdGVhZCBvZiBaX09LIGlmIG91dHB1dCBidWZmZXIgZnVsbCBpbiB1bmNvbXByZXNzKCkKIC0gY2hlY2sgWl9GSU5JU0ggaW4gaW5mbGF0ZSAodGhhbmtzIHRvIE1hcmMgU2NobHVwZXIpCiAtIEltcGxlbWVudCBkZWZsYXRlQ29weSAodGhhbmtzIHRvIEFkYW0gQ29zdGVsbG8pCi0tIG1ha2Ugc3RhdGljIGxpYnJhcmllcyBieSBkZWZhdWx0IGluIGNvbmZpZ3VyZSwgYWRkIC0tc2hhcmVkIG9wdGlvbi4KKy0gbWFrZSBzdGF0aWMgbGlicmFyaWVzIGJ5IGRlZmF1bHQgaW4gY29uZmlndXJlLCBhZGQgLS1zaGFyZWQgb3B0aW9uCiAtIG1vdmUgTVNET1Mgb3IgV2luZG93cyBzcGVjaWZpYyBmaWxlcyB0byBkaXJlY3RvcnkgbXNkb3MKIC0gc3VwcHJlc3MgdGhlIG5vdGlvbiBvZiBwYXJ0aWFsIGZsdXNoIHRvIHNpbXBsaWZ5IHRoZSBpbnRlcmZhY2UKICAgKGJ1dCB0aGUgc3ltYm9sIFpfUEFSVElBTF9GTFVTSCBpcyBrZXB0IGZvciBjb21wYXRpYmlsaXR5IHdpdGggMS4wLjQpCkBAIC0xMTc1LDE1ICsxMjkzLDE1IEBACiAtIGFkZGVkIE1ha2VmaWxlLm50ICh0aGFua3MgdG8gU3RlcGhlbiBXaWxsaWFtcykKIC0gYWRkZWQgdGhlIHVuc3VwcG9ydGVkICJjb250cmliIiBkaXJlY3Rvcnk6CiAgICBjb250cmliL2FzbTM4Ni8gYnkgR2lsbGVzIFZvbGxhbnQgPGluZm9Ad2luaW1hZ2UuY29tPgotICAgICAgICAzODYgYXNtIGNvZGUgcmVwbGFjaW5nIGxvbmdlc3RfbWF0Y2goKS4KKyAgICAgICAgMzg2IGFzbSBjb2RlIHJlcGxhY2luZyBsb25nZXN0X21hdGNoKCkKICAgIGNvbnRyaWIvaW9zdHJlYW0vIGJ5IEtldmluIFJ1bGFuZCA8a2V2aW5Acm9kaW4ud3VzdGwuZWR1PgogICAgICAgICBBIEMrKyBJL08gc3RyZWFtcyBpbnRlcmZhY2UgdG8gdGhlIHpsaWIgZ3oqIGZ1bmN0aW9ucwotICAgY29udHJpYi9pb3N0cmVhbTIvICBieSBUeWdlIEz4dnNldCA8VHlnZS5Mb3ZzZXRAY21yLm5vPgorICAgY29udHJpYi9pb3N0cmVhbTIvICBieSBUeWdlIEzDuHZzZXQgPFR5Z2UuTG92c2V0QGNtci5ubz4KICAgICAgICAgQW5vdGhlciBDKysgSS9PIHN0cmVhbXMgaW50ZXJmYWNlCiAgICBjb250cmliL3VudGd6LyAgYnkgIlBlZHJvIEEuIEFyYW5kYSBHdXRpXGlycmV6IiA8cGFhZ0B0aWQuZXM+CiAgICAgICAgIEEgdmVyeSBzaW1wbGUgdGFyLmd6IGZpbGUgZXh0cmFjdG9yIHVzaW5nIHpsaWIKICAgIGNvbnRyaWIvdmlzdWFsLWJhc2ljLnR4dCBieSBDYXJsb3MgUmlvcyA8Y19yaW9zQHNvbmRhLmNsPgotICAgICAgICBIb3cgdG8gdXNlIGNvbXByZXNzKCksIHVuY29tcHJlc3MoKSBhbmQgdGhlIGd6KiBmdW5jdGlvbnMgZnJvbSBWQi4KKyAgICAgICAgSG93IHRvIHVzZSBjb21wcmVzcygpLCB1bmNvbXByZXNzKCkgYW5kIHRoZSBneiogZnVuY3Rpb25zIGZyb20gVkIKIC0gcGFzcyBwYXJhbXMgLWYgKGZpbHRlcmVkIGRhdGEpLCAtaCAoaHVmZm1hbiBvbmx5KSwgLTEgdG8gLTkgKGNvbXByZXNzaW9uCiAgIGxldmVsKSBpbiBtaW5pZ3ppcCAodGhhbmtzIHRvIFRvbSBMYW5lKQogCkBAIC0xMTkyLDggKzEzMTAsOCBAQAogLSBhZGQgdW5kb2N1bWVudGVkIGZ1bmN0aW9uIGluZmxhdGVTeW5jUG9pbnQoKSAoaGFjayBmb3IgUGF1bCBNYWNrZXJyYXMpCiAtIGFkZCB1bmRvY3VtZW50ZWQgZnVuY3Rpb24gekVycm9yIHRvIGNvbnZlcnQgZXJyb3IgY29kZSB0byBzdHJpbmcKICAgKGZvciBUaW0gU21pdGhlcnMpCi0tIEFsbG93IGNvbXBpbGF0aW9uIG9mIGd6aW8gd2l0aCAtRE5PX0RFRkxBVEUgdG8gYXZvaWQgdGhlIGNvbXByZXNzaW9uIGNvZGUuCi0tIFVzZSBkZWZhdWx0IG1lbWNweSBmb3IgU3ltYW50ZWMgTVNET1MgY29tcGlsZXIuCistIEFsbG93IGNvbXBpbGF0aW9uIG9mIGd6aW8gd2l0aCAtRE5PX0RFRkxBVEUgdG8gYXZvaWQgdGhlIGNvbXByZXNzaW9uIGNvZGUKKy0gVXNlIGRlZmF1bHQgbWVtY3B5IGZvciBTeW1hbnRlYyBNU0RPUyBjb21waWxlcgogLSBBZGQgRVhQT1JUIGtleXdvcmQgZm9yIGNoZWNrX2Z1bmMgKG5lZWRlZCBmb3IgV2luZG93cyBETEwpCiAtIGFkZCBjdXJyZW50IGRpcmVjdG9yeSB0byBMRF9MSUJSQVJZX1BBVEggZm9yICJtYWtlIHRlc3QiCiAtIGNyZWF0ZSBhbHNvIGEgbGluayBmb3IgbGliei5zby4xCkBAIC0xMjA2LDcgKzEzMjQsNyBAQAogLSBhbGxvdyBjb21waWxhdGlvbiB3aXRoIEFOU0kga2V5d29yZHMgb25seSBlbmFibGVkIGZvciBUdXJib0MgaW4gbGFyZ2UgbW9kZWwKIC0gYXZvaWQgInZlcnNpb25TdHJpbmciWzBdIChCb3JsYW5kIGJ1ZykKIC0gYWRkIE5FRURfRFVNTVlfUkVUVVJOIGZvciBCb3JsYW5kCi0tIHVzZSB2YXJpYWJsZSB6X3ZlcmJvc2UgZm9yIHRyYWNpbmcgaW4gZGVidWcgbW9kZSAoTC4gUGV0ZXIgRGV1dHNjaCkuCistIHVzZSB2YXJpYWJsZSB6X3ZlcmJvc2UgZm9yIHRyYWNpbmcgaW4gZGVidWcgbW9kZSAoTC4gUGV0ZXIgRGV1dHNjaCkKIC0gYWxsb3cgY29tcGlsYXRpb24gd2l0aCBDQwogLSBkZWZpbmVkIFNUREMgZm9yIE9TLzIgKERhdmlkIENoYXJsYXApCiAtIGxpbWl0IGV4dGVybmFsIG5hbWVzIHRvIDggY2hhcnMgZm9yIE1WUyAoVGhvbWFzIEx1bmQpCkBAIC0xMjE2LDcgKzEzMzQsNyBAQAogLSB1c2UgX2Zkb3BlbiBpbnN0ZWFkIG9mIGZkb3BlbiBmb3IgTVNDID49IDYuMCAoVGhvbWFzIEZhbnNsYXUpCiAtIGFkZGVkIG1ha2VsY2MuYmF0IGZvciBsY2Mtd2luMzIgKFRvbSBTdCBEZW5pcykKIC0gaW4gTWFrZWZpbGUuZGoyLCB1c2UgY29weSBhbmQgZGVsIGluc3RlYWQgb2YgaW5zdGFsbCBhbmQgcm0gKEZyYW5rIERvbmFob2UpCi0tIEF2b2lkIGV4cGFuZGVkICRJZCQuIFVzZSAicmNzIC1rYiIgb3IgImN2cyBhZG1pbiAta2IiIHRvIGF2b2lkIElkIGV4cGFuc2lvbi4KKy0gQXZvaWQgZXhwYW5kZWQgJElkJC4gVXNlICJyY3MgLWtiIiBvciAiY3ZzIGFkbWluIC1rYiIgdG8gYXZvaWQgSWQgZXhwYW5zaW9uCiAtIGNoZWNrIGZvciB1bmlzdGQuaCBpbiBjb25maWd1cmUgKGZvciBvZmZfdCkKIC0gcmVtb3ZlIHVzZWxlc3MgY2hlY2sgcGFyYW1ldGVyIGluIGluZmxhdGVfYmxvY2tzX2ZyZWUKIC0gYXZvaWQgdXNlbGVzcyBhc3NpZ25tZW50IG9mIHMtPmNoZWNrIHRvIGl0c2VsZiBpbiBpbmZsYXRlX2Jsb2Nrc19uZXcKQEAgLTEyMzcsNyArMTM1NSw3IEBACiBDaGFuZ2VzIGluIDEuMC40ICgyNCBKdWwgOTYpCiAtIEluIHZlcnkgcmFyZSBjb25kaXRpb25zLCBkZWZsYXRlKHMsIFpfRklOSVNIKSBjb3VsZCBmYWlsIHRvIHByb2R1Y2UgYW4gRU9GCiAgIGJpdCwgc28gdGhlIGRlY29tcHJlc3NvciBjb3VsZCBkZWNvbXByZXNzIGFsbCB0aGUgY29ycmVjdCBkYXRhIGJ1dCB3ZW50Ci0gIG9uIHRvIGF0dGVtcHQgZGVjb21wcmVzc2luZyBleHRyYSBnYXJiYWdlIGRhdGEuIFRoaXMgYWZmZWN0ZWQgbWluaWd6aXAgdG9vLgorICBvbiB0byBhdHRlbXB0IGRlY29tcHJlc3NpbmcgZXh0cmEgZ2FyYmFnZSBkYXRhLiBUaGlzIGFmZmVjdGVkIG1pbmlnemlwIHRvbwogLSB6bGliVmVyc2lvbiBhbmQgZ3plcnJvciByZXR1cm4gY29uc3QgY2hhciogKG5lZWRlZCBmb3IgRExMKQogLSBwb3J0IHRvIFJJU0NPUyAobm8gZmRvcGVuLCBubyBtdWx0aXBsZSBkb3RzLCBubyB1bmxpbmssIG5vIGZpbGVubykKIC0gdXNlIHpfZXJyb3Igb25seSBmb3IgREVCVUcgKGF2b2lkIHByb2JsZW0gd2l0aCBETExzKQpAQCAtMTI2Nyw3ICsxMzg1LDcgQEAKIC0gZml4IGFycmF5IG92ZXJsYXkgaW4gZGVmbGF0ZS5jIHdoaWNoIHNvbWV0aW1lcyBjYXVzZWQgYmFkIGNvbXByZXNzZWQgZGF0YQogLSBmaXggaW5mbGF0ZSBidWcgd2l0aCBlbXB0eSBzdG9yZWQgYmxvY2sKIC0gZml4IE1TRE9TIG1lZGl1bSBtb2RlbCB3aGljaCB3YXMgYnJva2VuIGluIDAuOTkKLS0gZml4IGRlZmxhdGVQYXJhbXMoKSB3aGljaCBjb3VsZCBnZW5lcmF0ZWQgYmFkIGNvbXByZXNzZWQgZGF0YS4KKy0gZml4IGRlZmxhdGVQYXJhbXMoKSB3aGljaCBjb3VsZCBnZW5lcmF0ZSBiYWQgY29tcHJlc3NlZCBkYXRhCiAtIEJ5dGVmIGlzIGRlZmluZSdkIGluc3RlYWQgb2YgdHlwZWRlZidlZCAod29yayBhcm91bmQgQm9ybGFuZCBidWcpCiAtIGFkZGVkIGFuIElOREVYIGZpbGUKIC0gbmV3IG1ha2VmaWxlcyBmb3IgREpHUFAgKE1ha2VmaWxlLmRqMiksIDMyLWJpdCBCb3JsYW5kIChNYWtlZmlsZS5iMzIpLApAQCAtMTI4OCw3ICsxNDA2LDcgQEAKIC0gYWxsb3cgcHJlc2V0IGRpY3Rpb25hcnkgc2hhcmVkIGJldHdlZW4gY29tcHJlc3NvciBhbmQgZGVjb21wcmVzc29yCiAtIGFsbG93IGNvbXByZXNzaW9uIGxldmVsIDAgKG5vIGNvbXByZXNzaW9uKQogLSBhZGQgZGVmbGF0ZVBhcmFtcyBpbiB6bGliLmg6IGFsbG93IGR5bmFtaWMgY2hhbmdlIG9mIGNvbXByZXNzaW9uIGxldmVsCi0gIGFuZCBjb21wcmVzc2lvbiBzdHJhdGVneS4KKyAgYW5kIGNvbXByZXNzaW9uIHN0cmF0ZWd5CiAtIHRlc3QgbGFyZ2UgYnVmZmVycyBhbmQgZGVmbGF0ZVBhcmFtcyBpbiBleGFtcGxlLmMKIC0gYWRkIG9wdGlvbmFsICJjb25maWd1cmUiIHRvIGJ1aWxkIHpsaWIgYXMgYSBzaGFyZWQgbGlicmFyeQogLSBzdXBwcmVzcyBNYWtlZmlsZS5xbngsIHVzZSBjb25maWd1cmUgaW5zdGVhZApAQCAtMTMzMCwzMCArMTQ0OCwzMCBAQAogLSB1c2UgU1REQyBpbnN0ZWFkIG9mIF9fR08zMl9fIHRvIGF2b2lkIHJlZGVjbGFyaW5nIGV4aXQsIGNhbGxvYywgZXRjLi4uCiAtIHVzZSBaX0JJTkFSWSBpbnN0ZWFkIG9mIEJJTkFSWQogLSBkb2N1bWVudCB0aGF0IGd6Y2xvc2UgYWZ0ZXIgZ3pkb3BlbiB3aWxsIGNsb3NlIHRoZSBmaWxlCi0tIGFsbG93ICJhIiBhcyBtb2RlIGluIGd6b3Blbi4KKy0gYWxsb3cgImEiIGFzIG1vZGUgaW4gZ3pvcGVuCiAtIGZpeCBlcnJvciBjaGVja2luZyBpbiBnenJlYWQKIC0gYWxsb3cgc2tpcHBpbmcgLmd6IGV4dHJhLWZpZWxkIG9uIHBpcGVzCiAtIGFkZGVkIHJlZmVyZW5jZSB0byBQZXJsIGludGVyZmFjZSBpbiBSRUFETUUKIC0gcHV0IHRoZSBjcmMgdGFibGUgaW4gRkFSIGRhdGEgKEkgZGlzbGlrZSBtb3JlIGFuZCBtb3JlIHRoZSBtZWRpdW0gbW9kZWwgOikKIC0gYWRkZWQgZ2V0X2NyY190YWJsZQotLSBhZGRlZCBhIGRpbWVuc2lvbiB0byBhbGwgYXJyYXlzIChCb3JsYW5kIEMgY2FuJ3QgY291bnQpLgorLSBhZGRlZCBhIGRpbWVuc2lvbiB0byBhbGwgYXJyYXlzIChCb3JsYW5kIEMgY2FuJ3QgY291bnQpCiAtIHdvcmthcm91bmQgQm9ybGFuZCBDIGJ1ZyBpbiBkZWNsYXJhdGlvbiBvZiBpbmZsYXRlX2NvZGVzX25ldyAmIGluZmxhdGVfZmFzdAogLSBndWFyZCBhZ2FpbnN0IG11bHRpcGxlIGluY2x1c2lvbiBvZiAqLmggKGZvciBwcmVjb21waWxlZCBoZWFkZXIgb24gTWFjKQotLSBXYXRjb20gQyBwcmV0ZW5kcyB0byBiZSBNaWNyb3NvZnQgQyBzbWFsbCBtb2RlbCBldmVuIGluIDMyIGJpdCBtb2RlLgorLSBXYXRjb20gQyBwcmV0ZW5kcyB0byBiZSBNaWNyb3NvZnQgQyBzbWFsbCBtb2RlbCBldmVuIGluIDMyIGJpdCBtb2RlCiAtIGRvbid0IHVzZSB1bnNpemVkIGFycmF5cyB0byBhdm9pZCBzaWxseSB3YXJuaW5ncyBieSBWaXN1YWwgQysrOgogICAgICB3YXJuaW5nIEM0NzQ2OiAnaW5mbGF0ZV9tYXNrJyA6IHVuc2l6ZWQgYXJyYXkgdHJlYXRlZCBhcyAgJ19fZmFyJwotICAgICAod2hhdCdzIHdyb25nIHdpdGggZmFyIGRhdGEgaW4gZmFyIG1vZGVsPykuCisgICAgICh3aGF0J3Mgd3Jvbmcgd2l0aCBmYXIgZGF0YSBpbiBmYXIgbW9kZWw/KQogLSBkZWZpbmUgZW51bSBvdXQgb2YgaW5mbGF0ZV9ibG9ja3Nfc3RhdGUgdG8gYWxsb3cgY29tcGlsYXRpb24gd2l0aCBDKysKIAogQ2hhbmdlcyBpbiAwLjk1ICgxNiBBdWcgOTUpCiAtIGZpeCBNU0RPUyBzbWFsbCBhbmQgbWVkaXVtIG1vZGVsIChub3cgZWFzaWVyIHRvIGFkYXB0IHRvIGFueSBjb21waWxlcikKIC0gaW5saW5lZCBzZW5kX2JpdHMKIC0gZml4IHRoZSBmaW5hbCAoOi0pIGJ1ZyBmb3IgZGVmbGF0ZSB3aXRoIGZsdXNoIChvdXRwdXQgd2FzIGNvcnJlY3QgYnV0Ci0gIG5vdCBjb21wbGV0ZWx5IGZsdXNoZWQgaW4gcmFyZSBvY2Nhc2lvbnMpLgorICBub3QgY29tcGxldGVseSBmbHVzaGVkIGluIHJhcmUgb2NjYXNpb25zKQogLSBkZWZhdWx0IHdpbmRvdyBzaXplIGlzIHNhbWUgZm9yIGNvbXByZXNzaW9uIGFuZCBkZWNvbXByZXNzaW9uCi0gIChpdCdzIG5vdyBzdWZmaWNpZW50IHRvIHNldCBNQVhfV0JJVFMgaW4gemNvbmYuaCkuCisgIChpdCdzIG5vdyBzdWZmaWNpZW50IHRvIHNldCBNQVhfV0JJVFMgaW4gemNvbmYuaCkKIC0gdm9pZHAgLT4gdm9pZHBmIGFuZCB2b2lkbnAgLT4gdm9pZHAgKGZvciBjb25zaXN0ZW5jeSB3aXRoIG90aGVyCi0gIHR5cGVkZWZzIGFuZCBiZWNhdXNlIHZvaWRucCB3YXMgbm90IG5lYXIgaW4gbGFyZ2UgbW9kZWwpLgorICB0eXBlZGVmcyBhbmQgYmVjYXVzZSB2b2lkbnAgd2FzIG5vdCBuZWFyIGluIGxhcmdlIG1vZGVsKQogCiBDaGFuZ2VzIGluIDAuOTQgKDEzIEF1ZyA5NSkKIC0gc3VwcG9ydCBNU0RPUyBtZWRpdW0gbW9kZWwKQEAgLTEzNjIsMTIgKzE0ODAsMTIgQEAKIC0gYWRkZWQgc3VwcG9ydCBmb3IgVk1TCiAtIGFsbG93IGEgY29tcHJlc3Npb24gbGV2ZWwgaW4gZ3pvcGVuKCkKIC0gZ3pmbHVzaCBub3cgY2FsbHMgZmZsdXNoCi0tIEZvciBkZWZsYXRlIHdpdGggZmx1c2gsIGZsdXNoIGV2ZW4gaWYgbm8gbW9yZSBpbnB1dCBpcyBwcm92aWRlZC4KKy0gRm9yIGRlZmxhdGUgd2l0aCBmbHVzaCwgZmx1c2ggZXZlbiBpZiBubyBtb3JlIGlucHV0IGlzIHByb3ZpZGVkCiAtIHJlbmFtZSBsaWJnei5hIGFzIGxpYnouYQogLSBhdm9pZCBjb21wbGV4IGV4cHJlc3Npb24gaW4gaW5mY29kZXMuYyB0cmlnZ2VyaW5nIFR1cmJvIEMgYnVnCiAtIHdvcmsgYXJvdW5kIGEgcHJvYmxlbSB3aXRoIGdjYyBvbiBBbHBoYSAoaW4gSU5TRVJUX1NUUklORykKIC0gZG9uJ3QgdXNlIGlubGluZSBmdW5jdGlvbnMgKHByb2JsZW0gd2l0aCBzb21lIGdjYyB2ZXJzaW9ucykKLS0gYWxsb3cgcmVuYW1pbmcgb2YgQnl0ZSwgdUludCwgZXRjLi4uIHdpdGggI2RlZmluZS4KKy0gYWxsb3cgcmVuYW1pbmcgb2YgQnl0ZSwgdUludCwgZXRjLi4uIHdpdGggI2RlZmluZQogLSBhdm9pZCB3YXJuaW5nIGFib3V0ICh1bnVzZWQpIHBvaW50ZXIgYmVmb3JlIHN0YXJ0IG9mIGFycmF5IGluIGRlZmxhdGUuYwogLSBhdm9pZCB2YXJpb3VzIHdhcm5pbmdzIGluIGd6aW8uYywgZXhhbXBsZS5jLCBpbmZibG9jay5jLCBhZGxlcjMyLmMsIHp1dGlsLmMKIC0gYXZvaWQgcmVzZXJ2ZWQgd29yZCAnbmV3JyBpbiB0cmVlcy5jCkBAIC0xMzg2LDcgKzE1MDQsNyBAQAogLSBubyBtZW1jcHkgb24gUHlyYW1pZAogLSBzdXBwcmVzc2VkIGluZnRlc3QuYwogLSBvcHRpbWl6ZWQgZmlsbF93aW5kb3csIHB1dCBsb25nZXN0X21hdGNoIGlubGluZSBmb3IgZ2NjCi0tIG9wdGltaXplZCBpbmZsYXRlIG9uIHN0b3JlZCBibG9ja3MuCistIG9wdGltaXplZCBpbmZsYXRlIG9uIHN0b3JlZCBibG9ja3MKIC0gdW50YWJpZnkgYWxsIHNvdXJjZXMgdG8gc2ltcGxpZnkgcGF0Y2hlcwogCiBDaGFuZ2VzIGluIDAuOTEgKDIgTWF5IDk1KQpAQCAtMTQwNCw3ICsxNTIyLDcgQEAKIC0gbGV0IGFnYWluIGd6cmVhZCBjb3B5IHVuY29tcHJlc3NlZCBkYXRhIHVuY2hhbmdlZCAod2FzIHdvcmtpbmcgaW4gMC43MSkKIC0gZGVmbGF0ZShaX0ZVTExfRkxVU0gpLCBpbmZsYXRlUmVzZXQgYW5kIGluZmxhdGVTeW5jIGFyZSBub3cgZnVsbHkgaW1wbGVtZW50ZWQKIC0gYWRkZWQgYSB0ZXN0IG9mIGluZmxhdGVTeW5jIGluIGV4YW1wbGUuYwotLSBtb3ZlZCBNQVhfV0JJVFMgdG8gemNvbmYuaCBiZWNhdXNlIHVzZXJzIG1pZ2h0IHdhbnQgdG8gY2hhbmdlIHRoYXQuCistIG1vdmVkIE1BWF9XQklUUyB0byB6Y29uZi5oIGJlY2F1c2UgdXNlcnMgbWlnaHQgd2FudCB0byBjaGFuZ2UgdGhhdAogLSBkb2N1bWVudCBleHBsaWNpdGx5IHRoYXQgemFsbG9jKDY0Sykgb24gTVNET1MgbXVzdCByZXR1cm4gYSBub3JtYWxpemVkCiAgIHBvaW50ZXIgKHplcm8gb2Zmc2V0KQogLSBhZGRlZCBNYWtlZmlsZXMgZm9yIE1pY3Jvc29mdCBDLCBUdXJibyBDLCBCb3JsYW5kIEMrKwpAQCAtMTQxMyw3ICsxNTMxLDcgQEAKIENoYW5nZXMgaW4gMC44ICgyOSBBcHJpbCA5NSkKIC0gYWRkZWQgZmFzdCBpbmZsYXRlIChpbmZmYXN0LmMpCiAtIGRlZmxhdGUoWl9GSU5JU0gpIG5vdyByZXR1cm5zIFpfU1RSRUFNX0VORCB3aGVuIGRvbmUuIFdhcm5pbmc6IHRoaXMKLSAgaXMgaW5jb21wYXRpYmxlIHdpdGggcHJldmlvdXMgdmVyc2lvbnMgb2YgemxpYiB3aGljaCByZXR1cm5lZCBaX09LLgorICBpcyBpbmNvbXBhdGlibGUgd2l0aCBwcmV2aW91cyB2ZXJzaW9ucyBvZiB6bGliIHdoaWNoIHJldHVybmVkIFpfT0sKIC0gd29yayBhcm91bmQgYSBUdXJib0MgY29tcGlsZXIgYnVnIChiYWQgY29kZSBmb3IgYiA8PCAwLCBzZWUgaW5mdXRpbC5oKQogICAoYWN0dWFsbHkgdGhhdCB3YXMgbm90IGEgY29tcGlsZXIgYnVnLCBzZWUgMC44MSBhYm92ZSkKIC0gZ3pyZWFkIG5vIGxvbmdlciByZWFkcyBvbmUgZXh0cmEgYnl0ZSBpbiBjZXJ0YWluIGNhc2VzCkBAIC0xNDIzLDUwICsxNTQxLDUwIEBACiAKIENoYW5nZXMgaW4gMC43MSAoMTQgQXByaWwgOTUpCiAtIEZpeGVkIG1vcmUgTVNET1MgY29tcGlsYXRpb24gcHJvYmxlbXMgOiggVGhlcmUgaXMgc3RpbGwgYSBidWcgd2l0aAotICBUdXJib0MgbGFyZ2UgbW9kZWwuCisgIFR1cmJvQyBsYXJnZSBtb2RlbAogCiBDaGFuZ2VzIGluIDAuNyAoMTQgQXByaWwgOTUpCi0tIEFkZGVkIGZ1bGwgaW5mbGF0ZSBzdXBwb3J0LgorLSBBZGRlZCBmdWxsIGluZmxhdGUgc3VwcG9ydAogLSBTaW1wbGlmaWVkIHRoZSBjcmMzMigpIGludGVyZmFjZS4gVGhlIHByZS0gYW5kIHBvc3QtY29uZGl0aW9uaW5nCiAgIChvbmUncyBjb21wbGVtZW50KSBpcyBub3cgZG9uZSBpbnNpZGUgY3JjMzIoKS4gV0FSTklORzogdGhpcyBpcwotICBpbmNvbXBhdGlibGUgd2l0aCBwcmV2aW91cyB2ZXJzaW9uczsgc2VlIHpsaWIuaCBmb3IgdGhlIG5ldyB1c2FnZS4KKyAgaW5jb21wYXRpYmxlIHdpdGggcHJldmlvdXMgdmVyc2lvbnM7IHNlZSB6bGliLmggZm9yIHRoZSBuZXcgdXNhZ2UKIAogQ2hhbmdlcyBpbiAwLjYxICgxMiBBcHJpbCA5NSkKLS0gd29ya2Fyb3VuZCBmb3IgYSBidWcgaW4gVHVyYm9DLiBleGFtcGxlIGFuZCBtaW5pZ3ppcCBub3cgd29yayBvbiBNU0RPUy4KKy0gd29ya2Fyb3VuZCBmb3IgYSBidWcgaW4gVHVyYm9DLiBleGFtcGxlIGFuZCBtaW5pZ3ppcCBub3cgd29yayBvbiBNU0RPUwogCiBDaGFuZ2VzIGluIDAuNiAoMTEgQXByaWwgOTUpCiAtIGFkZGVkIG1pbmlnemlwLmMKIC0gYWRkZWQgZ3pkb3BlbiB0byByZW9wZW4gYSBmaWxlIGRlc2NyaXB0b3IgYXMgZ3pGaWxlCi0tIGFkZGVkIHRyYW5zcGFyZW50IHJlYWRpbmcgb2Ygbm9uLWd6aXBlZCBmaWxlcyBpbiBnenJlYWQuCistIGFkZGVkIHRyYW5zcGFyZW50IHJlYWRpbmcgb2Ygbm9uLWd6aXBlZCBmaWxlcyBpbiBnenJlYWQKIC0gZml4ZWQgYnVnIGluIGd6cmVhZCAoZG9uJ3QgcmVhZCBjcmMgYXMgZGF0YSkKLS0gZml4ZWQgYnVnIGluIGRlc3Ryb3kgKGd6aW8uYykgKGRvbid0IHJldHVybiBaX1NUUkVBTV9FTkQgZm9yIGd6Y2xvc2UpLgorLSBmaXhlZCBidWcgaW4gZGVzdHJveSAoZ3ppby5jKSAoZG9uJ3QgcmV0dXJuIFpfU1RSRUFNX0VORCBmb3IgZ3pjbG9zZSkKIC0gZG9uJ3QgYWxsb2NhdGUgYmlnIGFycmF5cyBpbiB0aGUgc3RhY2sgKGZvciBNU0RPUykKIC0gZml4IHNvbWUgTVNET1MgY29tcGlsYXRpb24gcHJvYmxlbXMKIAogQ2hhbmdlcyBpbiAwLjU6CiAtIGRvIHJlYWwgY29tcHJlc3Npb24gaW4gZGVmbGF0ZS5jLiBaX1BBUlRJQUxfRkxVU0ggaXMgc3VwcG9ydGVkIGJ1dAotICBub3QgeWV0IFpfRlVMTF9GTFVTSC4KKyAgbm90IHlldCBaX0ZVTExfRkxVU0gKIC0gc3VwcG9ydCBkZWNvbXByZXNzaW9uIGJ1dCBvbmx5IGluIGEgc2luZ2xlIHN0ZXAgKGZvcmNlZCBaX0ZJTklTSCkKLS0gYWRkZWQgb3BhcXVlIG9iamVjdCBmb3IgemFsbG9jIGFuZCB6ZnJlZS4KKy0gYWRkZWQgb3BhcXVlIG9iamVjdCBmb3IgemFsbG9jIGFuZCB6ZnJlZQogLSBhZGRlZCBkZWZsYXRlUmVzZXQgYW5kIGluZmxhdGVSZXNldAotLSBhZGRlZCBhIHZhcmlhYmxlIHpsaWJfdmVyc2lvbiBmb3IgY29uc2lzdGVuY3kgY2hlY2tpbmcuCi0tIHJlbmFtZWQgdGhlICdmaWx0ZXInIHBhcmFtZXRlciBvZiBkZWZsYXRlSW5pdDIgYXMgJ3N0cmF0ZWd5Jy4KLSAgQWRkZWQgWl9GSUxURVJFRCBhbmQgWl9IVUZGTUFOX09OTFkgY29uc3RhbnRzLgorLSBhZGRlZCBhIHZhcmlhYmxlIHpsaWJfdmVyc2lvbiBmb3IgY29uc2lzdGVuY3kgY2hlY2tpbmcKKy0gcmVuYW1lZCB0aGUgJ2ZpbHRlcicgcGFyYW1ldGVyIG9mIGRlZmxhdGVJbml0MiBhcyAnc3RyYXRlZ3knCisgIEFkZGVkIFpfRklMVEVSRUQgYW5kIFpfSFVGRk1BTl9PTkxZIGNvbnN0YW50cwogCiBDaGFuZ2VzIGluIDAuNDoKLS0gYXZvaWQgInppcCIgZXZlcnl3aGVyZSwgdXNlIHpsaWIgaW5zdGVhZCBvZiB6aXBsaWIuCistIGF2b2lkICJ6aXAiIGV2ZXJ5d2hlcmUsIHVzZSB6bGliIGluc3RlYWQgb2YgemlwbGliCiAtIHN1cHByZXNzIFpfQkxPQ0tfRkxVU0gsIGludGVycHJldCBaX1BBUlRJQUxfRkxVU0ggYXMgYmxvY2sgZmx1c2gKLSAgaWYgY29tcHJlc3Npb24gbWV0aG9kID09IDguCisgIGlmIGNvbXByZXNzaW9uIG1ldGhvZCA9PSA4CiAtIGFkZGVkIGFkbGVyMzIgYW5kIGNyYzMyCiAtIHJlbmFtZWQgZGVmbGF0ZU9wdGlvbnMgYXMgZGVmbGF0ZUluaXQyLCBjYWxsIG9uZSBvciB0aGUgb3RoZXIgYnV0IG5vdCBib3RoCi0tIGFkZGVkIHRoZSBtZXRob2QgcGFyYW1ldGVyIGZvciBkZWZsYXRlSW5pdDIuCistIGFkZGVkIHRoZSBtZXRob2QgcGFyYW1ldGVyIGZvciBkZWZsYXRlSW5pdDIKIC0gYWRkZWQgaW5mbGF0ZUluaXQyCi0tIHNpbXBsaWVkIGNvbnNpZGVyYWJseSBkZWZsYXRlSW5pdCBhbmQgaW5mbGF0ZUluaXQgYnkgbm90IHN1cHBvcnRpbmcKKy0gc2ltcGxpZmllZCBjb25zaWRlcmFibHkgZGVmbGF0ZUluaXQgYW5kIGluZmxhdGVJbml0IGJ5IG5vdCBzdXBwb3J0aW5nCiAgIHVzZXItcHJvdmlkZWQgaGlzdG9yeSBidWZmZXIuIFRoaXMgaXMgc3VwcG9ydGVkIG9ubHkgaW4gZGVmbGF0ZUluaXQyCi0gIGFuZCBpbmZsYXRlSW5pdDIuCisgIGFuZCBpbmZsYXRlSW5pdDIKIAogQ2hhbmdlcyBpbiAwLjM6CiAtIHByZWZpeCBhbGwgbWFjcm8gbmFtZXMgd2l0aCBaXwotLSB1c2UgWl9GSU5JU0ggaW5zdGVhZCBvZiBkZWZsYXRlRW5kIHRvIGZpbmlzaCBjb21wcmVzc2lvbi4KKy0gdXNlIFpfRklOSVNIIGluc3RlYWQgb2YgZGVmbGF0ZUVuZCB0byBmaW5pc2ggY29tcHJlc3Npb24KIC0gYWRkZWQgWl9IVUZGTUFOX09OTFkKIC0gYWRkZWQgZ3plcnJvcigpCmRpZmYgLS1naXQgYS9zcmMvTElDRU5TRSBiL3NyYy9MSUNFTlNFCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFiOGVlNmYKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvTElDRU5TRQpAQCAtMCwwICsxLDIyIEBACitDb3B5cmlnaHQgbm90aWNlOgorCisgKEMpIDE5OTUtMjAyMiBKZWFuLWxvdXAgR2FpbGx5IGFuZCBNYXJrIEFkbGVyCisKKyAgVGhpcyBzb2Z0d2FyZSBpcyBwcm92aWRlZCAnYXMtaXMnLCB3aXRob3V0IGFueSBleHByZXNzIG9yIGltcGxpZWQKKyAgd2FycmFudHkuICBJbiBubyBldmVudCB3aWxsIHRoZSBhdXRob3JzIGJlIGhlbGQgbGlhYmxlIGZvciBhbnkgZGFtYWdlcworICBhcmlzaW5nIGZyb20gdGhlIHVzZSBvZiB0aGlzIHNvZnR3YXJlLgorCisgIFBlcm1pc3Npb24gaXMgZ3JhbnRlZCB0byBhbnlvbmUgdG8gdXNlIHRoaXMgc29mdHdhcmUgZm9yIGFueSBwdXJwb3NlLAorICBpbmNsdWRpbmcgY29tbWVyY2lhbCBhcHBsaWNhdGlvbnMsIGFuZCB0byBhbHRlciBpdCBhbmQgcmVkaXN0cmlidXRlIGl0CisgIGZyZWVseSwgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIHJlc3RyaWN0aW9uczoKKworICAxLiBUaGUgb3JpZ2luIG9mIHRoaXMgc29mdHdhcmUgbXVzdCBub3QgYmUgbWlzcmVwcmVzZW50ZWQ7IHlvdSBtdXN0IG5vdAorICAgICBjbGFpbSB0aGF0IHlvdSB3cm90ZSB0aGUgb3JpZ2luYWwgc29mdHdhcmUuIElmIHlvdSB1c2UgdGhpcyBzb2Z0d2FyZQorICAgICBpbiBhIHByb2R1Y3QsIGFuIGFja25vd2xlZGdtZW50IGluIHRoZSBwcm9kdWN0IGRvY3VtZW50YXRpb24gd291bGQgYmUKKyAgICAgYXBwcmVjaWF0ZWQgYnV0IGlzIG5vdCByZXF1aXJlZC4KKyAgMi4gQWx0ZXJlZCBzb3VyY2UgdmVyc2lvbnMgbXVzdCBiZSBwbGFpbmx5IG1hcmtlZCBhcyBzdWNoLCBhbmQgbXVzdCBub3QgYmUKKyAgICAgbWlzcmVwcmVzZW50ZWQgYXMgYmVpbmcgdGhlIG9yaWdpbmFsIHNvZnR3YXJlLgorICAzLiBUaGlzIG5vdGljZSBtYXkgbm90IGJlIHJlbW92ZWQgb3IgYWx0ZXJlZCBmcm9tIGFueSBzb3VyY2UgZGlzdHJpYnV0aW9uLgorCisgIEplYW4tbG91cCBHYWlsbHkgICAgICAgIE1hcmsgQWRsZXIKKyAgamxvdXBAZ3ppcC5vcmcgICAgICAgICAgbWFkbGVyQGFsdW1uaS5jYWx0ZWNoLmVkdQpkaWZmIC0tZ2l0IGEvc3JjL01ha2VmaWxlLmluIGIvc3JjL01ha2VmaWxlLmluCmluZGV4IGM2MWFhMzAuLjdkMjcxM2YgMTAwNjQ0Ci0tLSBhL3NyYy9NYWtlZmlsZS5pbgorKysgYi9zcmMvTWFrZWZpbGUuaW4KQEAgLTEsNSArMSw1IEBACiAjIE1ha2VmaWxlIGZvciB6bGliCi0jIENvcHlyaWdodCAoQykgMTk5NS0yMDEzIEplYW4tbG91cCBHYWlsbHksIE1hcmsgQWRsZXIKKyMgQ29weXJpZ2h0IChDKSAxOTk1LTIwMTcgSmVhbi1sb3VwIEdhaWxseSwgTWFyayBBZGxlcgogIyBGb3IgY29uZGl0aW9ucyBvZiBkaXN0cmlidXRpb24gYW5kIHVzZSwgc2VlIGNvcHlyaWdodCBub3RpY2UgaW4gemxpYi5oCiAKICMgVG8gY29tcGlsZSBhbmQgdGVzdCwgdHlwZToKQEAgLTcsMTAgKzcsNiBAQAogIyBOb3JtYWxseSBjb25maWd1cmUgYnVpbGRzIGJvdGggYSBzdGF0aWMgYW5kIGEgc2hhcmVkIGxpYnJhcnkuCiAjIElmIHlvdSB3YW50IHRvIGJ1aWxkIGp1c3QgYSBzdGF0aWMgbGlicmFyeSwgdXNlOiAuL2NvbmZpZ3VyZSAtLXN0YXRpYwogCi0jIFRvIHVzZSB0aGUgYXNtIGNvZGUsIHR5cGU6Ci0jICAgIGNwIGNvbnRyaWIvYXNtPzg2L21hdGNoLlMgLi9tYXRjaC5TCi0jICAgIG1ha2UgTE9DPS1EQVNNViBPQkpBPW1hdGNoLm8KLQogIyBUbyBpbnN0YWxsIC91c3IvbG9jYWwvbGliL2xpYnouKiBhbmQgL3Vzci9sb2NhbC9pbmNsdWRlL3psaWIuaCwgdHlwZToKICMgICAgbWFrZSBpbnN0YWxsCiAjIFRvIGluc3RhbGwgaW4gJEhPTUUgaW5zdGVhZCBvZiAvdXNyL2xvY2FsLCB1c2U6CkBAIC0yMCwxOSArMTYsMTkgQEAKIAogQ0ZMQUdTPS1PCiAjQ0ZMQUdTPS1PIC1ETUFYX1dCSVRTPTE0IC1ETUFYX01FTV9MRVZFTD03Ci0jQ0ZMQUdTPS1nIC1EREVCVUcKKyNDRkxBR1M9LWcgLURaTElCX0RFQlVHCiAjQ0ZMQUdTPS1PMyAtV2FsbCAtV3dyaXRlLXN0cmluZ3MgLVdwb2ludGVyLWFyaXRoIC1XY29udmVyc2lvbiBcCiAjICAgICAgICAgICAtV3N0cmljdC1wcm90b3R5cGVzIC1XbWlzc2luZy1wcm90b3R5cGVzCiAKIFNGTEFHUz0tTwogTERGTEFHUz0KLVRFU1RfTERGTEFHUz0tTC4gbGliei5hCitURVNUX0xERkxBR1M9JChMREZMQUdTKSAtTC4gbGliei5hCiBMRFNIQVJFRD0kKENDKQogQ1BQPSQoQ0MpIC1FCiAKIFNUQVRJQ0xJQj1saWJ6LmEKIFNIQVJFRExJQj1saWJ6LnNvCi1TSEFSRURMSUJWPWxpYnouc28uMS4yLjgKK1NIQVJFRExJQlY9bGliei5zby4xLjIuMTMKIFNIQVJFRExJQk09bGliei5zby4xCiBMSUJTPSQoU1RBVElDTElCKSAkKFNIQVJFRExJQlYpCiAKQEAgLTUzLDYgKzQ5LDkgQEAKIG1hbmRpciA9ICR7cHJlZml4fS9zaGFyZS9tYW4KIG1hbjNkaXIgPSAke21hbmRpcn0vbWFuMwogcGtnY29uZmlnZGlyID0gJHtsaWJkaXJ9L3BrZ2NvbmZpZworU1JDRElSPQorWklOQz0KK1pJTkNPVVQ9LUkuCiAKIE9CSlogPSBhZGxlcjMyLm8gY3JjMzIubyBkZWZsYXRlLm8gaW5mYmFjay5vIGluZmZhc3QubyBpbmZsYXRlLm8gaW5mdHJlZXMubyB0cmVlcy5vIHp1dGlsLm8KIE9CSkcgPSBjb21wcmVzcy5vIHVuY29tcHIubyBnemNsb3NlLm8gZ3psaWIubyBnenJlYWQubyBnendyaXRlLm8KQEAgLTg0LDEyICs4MywxMiBAQAogCiB0ZXN0c3RhdGljOiBzdGF0aWMKIAlAVE1QU1Q9dG1wc3RfJCQ7IFwKLQlpZiBlY2hvIGhlbGxvIHdvcmxkIHwgLi9taW5pZ3ppcCB8IC4vbWluaWd6aXAgLWQgJiYgLi9leGFtcGxlICQkVE1QU1QgOyB0aGVuIFwKKwlpZiBlY2hvIGhlbGxvIHdvcmxkIHwgJHtRRU1VX1JVTn0gLi9taW5pZ3ppcCB8ICR7UUVNVV9SVU59IC4vbWluaWd6aXAgLWQgJiYgJHtRRU1VX1JVTn0gLi9leGFtcGxlICQkVE1QU1QgOyB0aGVuIFwKIAkgIGVjaG8gJwkJKioqIHpsaWIgdGVzdCBPSyAqKionOyBcCiAJZWxzZSBcCiAJICBlY2hvICcJCSoqKiB6bGliIHRlc3QgRkFJTEVEICoqKic7IGZhbHNlOyBcCi0JZmk7IFwKLQlybSAtZiAkJFRNUFNUCisJZmkKKwlAcm0gLWYgdG1wc3RfJCQKIAogdGVzdHNoYXJlZDogc2hhcmVkCiAJQExEX0xJQlJBUllfUEFUSD1gcHdkYDokKExEX0xJQlJBUllfUEFUSCkgOyBleHBvcnQgTERfTElCUkFSWV9QQVRIOyBcCkBAIC05NywzMSArOTYsMzEgQEAKIAlEWUxEX0xJQlJBUllfUEFUSD1gcHdkYDokKERZTERfTElCUkFSWV9QQVRIKSA7IGV4cG9ydCBEWUxEX0xJQlJBUllfUEFUSDsgXAogCVNITElCX1BBVEg9YHB3ZGA6JChTSExJQl9QQVRIKSA7IGV4cG9ydCBTSExJQl9QQVRIOyBcCiAJVE1QU0g9dG1wc2hfJCQ7IFwKLQlpZiBlY2hvIGhlbGxvIHdvcmxkIHwgLi9taW5pZ3ppcHNoIHwgLi9taW5pZ3ppcHNoIC1kICYmIC4vZXhhbXBsZXNoICQkVE1QU0g7IHRoZW4gXAorCWlmIGVjaG8gaGVsbG8gd29ybGQgfCAke1FFTVVfUlVOfSAuL21pbmlnemlwc2ggfCAke1FFTVVfUlVOfSAuL21pbmlnemlwc2ggLWQgJiYgJHtRRU1VX1JVTn0gLi9leGFtcGxlc2ggJCRUTVBTSDsgdGhlbiBcCiAJICBlY2hvICcJCSoqKiB6bGliIHNoYXJlZCB0ZXN0IE9LICoqKic7IFwKIAllbHNlIFwKIAkgIGVjaG8gJwkJKioqIHpsaWIgc2hhcmVkIHRlc3QgRkFJTEVEICoqKic7IGZhbHNlOyBcCi0JZmk7IFwKLQlybSAtZiAkJFRNUFNICisJZmkKKwlAcm0gLWYgdG1wc2hfJCQKIAogdGVzdDY0OiBhbGw2NAogCUBUTVA2ND10bXA2NF8kJDsgXAotCWlmIGVjaG8gaGVsbG8gd29ybGQgfCAuL21pbmlnemlwNjQgfCAuL21pbmlnemlwNjQgLWQgJiYgLi9leGFtcGxlNjQgJCRUTVA2NDsgdGhlbiBcCisJaWYgZWNobyBoZWxsbyB3b3JsZCB8ICR7UUVNVV9SVU59IC4vbWluaWd6aXA2NCB8ICR7UUVNVV9SVU59IC4vbWluaWd6aXA2NCAtZCAmJiAke1FFTVVfUlVOfSAuL2V4YW1wbGU2NCAkJFRNUDY0OyB0aGVuIFwKIAkgIGVjaG8gJwkJKioqIHpsaWIgNjQtYml0IHRlc3QgT0sgKioqJzsgXAogCWVsc2UgXAogCSAgZWNobyAnCQkqKiogemxpYiA2NC1iaXQgdGVzdCBGQUlMRUQgKioqJzsgZmFsc2U7IFwKLQlmaTsgXAotCXJtIC1mICQkVE1QNjQKKwlmaQorCUBybSAtZiB0bXA2NF8kJAogCi1pbmZjb3Zlci5vOiB0ZXN0L2luZmNvdmVyLmMgemxpYi5oIHpjb25mLmgKLQkkKENDKSAkKENGTEFHUykgLUkuIC1jIC1vICRAIHRlc3QvaW5mY292ZXIuYworaW5mY292ZXIubzogJChTUkNESVIpdGVzdC9pbmZjb3Zlci5jICQoU1JDRElSKXpsaWIuaCB6Y29uZi5oCisJJChDQykgJChDRkxBR1MpICQoWklOQ09VVCkgLWMgLW8gJEAgJChTUkNESVIpdGVzdC9pbmZjb3Zlci5jCiAKIGluZmNvdmVyOiBpbmZjb3Zlci5vIGxpYnouYQogCSQoQ0MpICQoQ0ZMQUdTKSAtbyAkQCBpbmZjb3Zlci5vIGxpYnouYQogCiBjb3ZlcjogaW5mY292ZXIKIAlybSAtZiAqLmdjZGEKLQkuL2luZmNvdmVyCisJJHtRRU1VX1JVTn0gLi9pbmZjb3ZlcgogCWdjb3YgaW5mKi5jCiAKIGxpYnouYTogJChPQkpTKQpAQCAtMTQwLDI0ICsxMzksMTQwIEBACiAJbXYgX21hdGNoLm8gbWF0Y2gubG8KIAlybSAtZiBfbWF0Y2gucwogCi1leGFtcGxlLm86IHRlc3QvZXhhbXBsZS5jIHpsaWIuaCB6Y29uZi5oCi0JJChDQykgJChDRkxBR1MpIC1JLiAtYyAtbyAkQCB0ZXN0L2V4YW1wbGUuYworZXhhbXBsZS5vOiAkKFNSQ0RJUil0ZXN0L2V4YW1wbGUuYyAkKFNSQ0RJUil6bGliLmggemNvbmYuaAorCSQoQ0MpICQoQ0ZMQUdTKSAkKFpJTkNPVVQpIC1jIC1vICRAICQoU1JDRElSKXRlc3QvZXhhbXBsZS5jCiAKLW1pbmlnemlwLm86IHRlc3QvbWluaWd6aXAuYyB6bGliLmggemNvbmYuaAotCSQoQ0MpICQoQ0ZMQUdTKSAtSS4gLWMgLW8gJEAgdGVzdC9taW5pZ3ppcC5jCittaW5pZ3ppcC5vOiAkKFNSQ0RJUil0ZXN0L21pbmlnemlwLmMgJChTUkNESVIpemxpYi5oIHpjb25mLmgKKwkkKENDKSAkKENGTEFHUykgJChaSU5DT1VUKSAtYyAtbyAkQCAkKFNSQ0RJUil0ZXN0L21pbmlnemlwLmMKIAotZXhhbXBsZTY0Lm86IHRlc3QvZXhhbXBsZS5jIHpsaWIuaCB6Y29uZi5oCi0JJChDQykgJChDRkxBR1MpIC1JLiAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IC1jIC1vICRAIHRlc3QvZXhhbXBsZS5jCitleGFtcGxlNjQubzogJChTUkNESVIpdGVzdC9leGFtcGxlLmMgJChTUkNESVIpemxpYi5oIHpjb25mLmgKKwkkKENDKSAkKENGTEFHUykgJChaSU5DT1VUKSAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IC1jIC1vICRAICQoU1JDRElSKXRlc3QvZXhhbXBsZS5jCiAKLW1pbmlnemlwNjQubzogdGVzdC9taW5pZ3ppcC5jIHpsaWIuaCB6Y29uZi5oCi0JJChDQykgJChDRkxBR1MpIC1JLiAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IC1jIC1vICRAIHRlc3QvbWluaWd6aXAuYworbWluaWd6aXA2NC5vOiAkKFNSQ0RJUil0ZXN0L21pbmlnemlwLmMgJChTUkNESVIpemxpYi5oIHpjb25mLmgKKwkkKENDKSAkKENGTEFHUykgJChaSU5DT1VUKSAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IC1jIC1vICRAICQoU1JDRElSKXRlc3QvbWluaWd6aXAuYwogCi0uU1VGRklYRVM6IC5sbwogCi0uYy5sbzoKK2FkbGVyMzIubzogJChTUkNESVIpYWRsZXIzMi5jCisJJChDQykgJChDRkxBR1MpICQoWklOQykgLWMgLW8gJEAgJChTUkNESVIpYWRsZXIzMi5jCisKK2NyYzMyLm86ICQoU1JDRElSKWNyYzMyLmMKKwkkKENDKSAkKENGTEFHUykgJChaSU5DKSAtYyAtbyAkQCAkKFNSQ0RJUiljcmMzMi5jCisKK2RlZmxhdGUubzogJChTUkNESVIpZGVmbGF0ZS5jCisJJChDQykgJChDRkxBR1MpICQoWklOQykgLWMgLW8gJEAgJChTUkNESVIpZGVmbGF0ZS5jCisKK2luZmJhY2subzogJChTUkNESVIpaW5mYmFjay5jCisJJChDQykgJChDRkxBR1MpICQoWklOQykgLWMgLW8gJEAgJChTUkNESVIpaW5mYmFjay5jCisKK2luZmZhc3QubzogJChTUkNESVIpaW5mZmFzdC5jCisJJChDQykgJChDRkxBR1MpICQoWklOQykgLWMgLW8gJEAgJChTUkNESVIpaW5mZmFzdC5jCisKK2luZmxhdGUubzogJChTUkNESVIpaW5mbGF0ZS5jCisJJChDQykgJChDRkxBR1MpICQoWklOQykgLWMgLW8gJEAgJChTUkNESVIpaW5mbGF0ZS5jCisKK2luZnRyZWVzLm86ICQoU1JDRElSKWluZnRyZWVzLmMKKwkkKENDKSAkKENGTEFHUykgJChaSU5DKSAtYyAtbyAkQCAkKFNSQ0RJUilpbmZ0cmVlcy5jCisKK3RyZWVzLm86ICQoU1JDRElSKXRyZWVzLmMKKwkkKENDKSAkKENGTEFHUykgJChaSU5DKSAtYyAtbyAkQCAkKFNSQ0RJUil0cmVlcy5jCisKK3p1dGlsLm86ICQoU1JDRElSKXp1dGlsLmMKKwkkKENDKSAkKENGTEFHUykgJChaSU5DKSAtYyAtbyAkQCAkKFNSQ0RJUil6dXRpbC5jCisKK2NvbXByZXNzLm86ICQoU1JDRElSKWNvbXByZXNzLmMKKwkkKENDKSAkKENGTEFHUykgJChaSU5DKSAtYyAtbyAkQCAkKFNSQ0RJUiljb21wcmVzcy5jCisKK3VuY29tcHIubzogJChTUkNESVIpdW5jb21wci5jCisJJChDQykgJChDRkxBR1MpICQoWklOQykgLWMgLW8gJEAgJChTUkNESVIpdW5jb21wci5jCisKK2d6Y2xvc2UubzogJChTUkNESVIpZ3pjbG9zZS5jCisJJChDQykgJChDRkxBR1MpICQoWklOQykgLWMgLW8gJEAgJChTUkNESVIpZ3pjbG9zZS5jCisKK2d6bGliLm86ICQoU1JDRElSKWd6bGliLmMKKwkkKENDKSAkKENGTEFHUykgJChaSU5DKSAtYyAtbyAkQCAkKFNSQ0RJUilnemxpYi5jCisKK2d6cmVhZC5vOiAkKFNSQ0RJUilnenJlYWQuYworCSQoQ0MpICQoQ0ZMQUdTKSAkKFpJTkMpIC1jIC1vICRAICQoU1JDRElSKWd6cmVhZC5jCisKK2d6d3JpdGUubzogJChTUkNESVIpZ3p3cml0ZS5jCisJJChDQykgJChDRkxBR1MpICQoWklOQykgLWMgLW8gJEAgJChTUkNESVIpZ3p3cml0ZS5jCisKKworYWRsZXIzMi5sbzogJChTUkNESVIpYWRsZXIzMi5jCiAJLUBta2RpciBvYmpzIDI+L2Rldi9udWxsIHx8IHRlc3QgLWQgb2JqcwotCSQoQ0MpICQoU0ZMQUdTKSAtRFBJQyAtYyAtbyBvYmpzLyQqLm8gJDwKLQktQG12IG9ianMvJCoubyAkQAorCSQoQ0MpICQoU0ZMQUdTKSAkKFpJTkMpIC1EUElDIC1jIC1vIG9ianMvYWRsZXIzMi5vICQoU1JDRElSKWFkbGVyMzIuYworCS1AbXYgb2Jqcy9hZGxlcjMyLm8gJEAKKworY3JjMzIubG86ICQoU1JDRElSKWNyYzMyLmMKKwktQG1rZGlyIG9ianMgMj4vZGV2L251bGwgfHwgdGVzdCAtZCBvYmpzCisJJChDQykgJChTRkxBR1MpICQoWklOQykgLURQSUMgLWMgLW8gb2Jqcy9jcmMzMi5vICQoU1JDRElSKWNyYzMyLmMKKwktQG12IG9ianMvY3JjMzIubyAkQAorCitkZWZsYXRlLmxvOiAkKFNSQ0RJUilkZWZsYXRlLmMKKwktQG1rZGlyIG9ianMgMj4vZGV2L251bGwgfHwgdGVzdCAtZCBvYmpzCisJJChDQykgJChTRkxBR1MpICQoWklOQykgLURQSUMgLWMgLW8gb2Jqcy9kZWZsYXRlLm8gJChTUkNESVIpZGVmbGF0ZS5jCisJLUBtdiBvYmpzL2RlZmxhdGUubyAkQAorCitpbmZiYWNrLmxvOiAkKFNSQ0RJUilpbmZiYWNrLmMKKwktQG1rZGlyIG9ianMgMj4vZGV2L251bGwgfHwgdGVzdCAtZCBvYmpzCisJJChDQykgJChTRkxBR1MpICQoWklOQykgLURQSUMgLWMgLW8gb2Jqcy9pbmZiYWNrLm8gJChTUkNESVIpaW5mYmFjay5jCisJLUBtdiBvYmpzL2luZmJhY2subyAkQAorCitpbmZmYXN0LmxvOiAkKFNSQ0RJUilpbmZmYXN0LmMKKwktQG1rZGlyIG9ianMgMj4vZGV2L251bGwgfHwgdGVzdCAtZCBvYmpzCisJJChDQykgJChTRkxBR1MpICQoWklOQykgLURQSUMgLWMgLW8gb2Jqcy9pbmZmYXN0Lm8gJChTUkNESVIpaW5mZmFzdC5jCisJLUBtdiBvYmpzL2luZmZhc3QubyAkQAorCitpbmZsYXRlLmxvOiAkKFNSQ0RJUilpbmZsYXRlLmMKKwktQG1rZGlyIG9ianMgMj4vZGV2L251bGwgfHwgdGVzdCAtZCBvYmpzCisJJChDQykgJChTRkxBR1MpICQoWklOQykgLURQSUMgLWMgLW8gb2Jqcy9pbmZsYXRlLm8gJChTUkNESVIpaW5mbGF0ZS5jCisJLUBtdiBvYmpzL2luZmxhdGUubyAkQAorCitpbmZ0cmVlcy5sbzogJChTUkNESVIpaW5mdHJlZXMuYworCS1AbWtkaXIgb2JqcyAyPi9kZXYvbnVsbCB8fCB0ZXN0IC1kIG9ianMKKwkkKENDKSAkKFNGTEFHUykgJChaSU5DKSAtRFBJQyAtYyAtbyBvYmpzL2luZnRyZWVzLm8gJChTUkNESVIpaW5mdHJlZXMuYworCS1AbXYgb2Jqcy9pbmZ0cmVlcy5vICRACisKK3RyZWVzLmxvOiAkKFNSQ0RJUil0cmVlcy5jCisJLUBta2RpciBvYmpzIDI+L2Rldi9udWxsIHx8IHRlc3QgLWQgb2JqcworCSQoQ0MpICQoU0ZMQUdTKSAkKFpJTkMpIC1EUElDIC1jIC1vIG9ianMvdHJlZXMubyAkKFNSQ0RJUil0cmVlcy5jCisJLUBtdiBvYmpzL3RyZWVzLm8gJEAKKworenV0aWwubG86ICQoU1JDRElSKXp1dGlsLmMKKwktQG1rZGlyIG9ianMgMj4vZGV2L251bGwgfHwgdGVzdCAtZCBvYmpzCisJJChDQykgJChTRkxBR1MpICQoWklOQykgLURQSUMgLWMgLW8gb2Jqcy96dXRpbC5vICQoU1JDRElSKXp1dGlsLmMKKwktQG12IG9ianMvenV0aWwubyAkQAorCitjb21wcmVzcy5sbzogJChTUkNESVIpY29tcHJlc3MuYworCS1AbWtkaXIgb2JqcyAyPi9kZXYvbnVsbCB8fCB0ZXN0IC1kIG9ianMKKwkkKENDKSAkKFNGTEFHUykgJChaSU5DKSAtRFBJQyAtYyAtbyBvYmpzL2NvbXByZXNzLm8gJChTUkNESVIpY29tcHJlc3MuYworCS1AbXYgb2Jqcy9jb21wcmVzcy5vICRACisKK3VuY29tcHIubG86ICQoU1JDRElSKXVuY29tcHIuYworCS1AbWtkaXIgb2JqcyAyPi9kZXYvbnVsbCB8fCB0ZXN0IC1kIG9ianMKKwkkKENDKSAkKFNGTEFHUykgJChaSU5DKSAtRFBJQyAtYyAtbyBvYmpzL3VuY29tcHIubyAkKFNSQ0RJUil1bmNvbXByLmMKKwktQG12IG9ianMvdW5jb21wci5vICRACisKK2d6Y2xvc2UubG86ICQoU1JDRElSKWd6Y2xvc2UuYworCS1AbWtkaXIgb2JqcyAyPi9kZXYvbnVsbCB8fCB0ZXN0IC1kIG9ianMKKwkkKENDKSAkKFNGTEFHUykgJChaSU5DKSAtRFBJQyAtYyAtbyBvYmpzL2d6Y2xvc2UubyAkKFNSQ0RJUilnemNsb3NlLmMKKwktQG12IG9ianMvZ3pjbG9zZS5vICRACisKK2d6bGliLmxvOiAkKFNSQ0RJUilnemxpYi5jCisJLUBta2RpciBvYmpzIDI+L2Rldi9udWxsIHx8IHRlc3QgLWQgb2JqcworCSQoQ0MpICQoU0ZMQUdTKSAkKFpJTkMpIC1EUElDIC1jIC1vIG9ianMvZ3psaWIubyAkKFNSQ0RJUilnemxpYi5jCisJLUBtdiBvYmpzL2d6bGliLm8gJEAKKworZ3pyZWFkLmxvOiAkKFNSQ0RJUilnenJlYWQuYworCS1AbWtkaXIgb2JqcyAyPi9kZXYvbnVsbCB8fCB0ZXN0IC1kIG9ianMKKwkkKENDKSAkKFNGTEFHUykgJChaSU5DKSAtRFBJQyAtYyAtbyBvYmpzL2d6cmVhZC5vICQoU1JDRElSKWd6cmVhZC5jCisJLUBtdiBvYmpzL2d6cmVhZC5vICRACisKK2d6d3JpdGUubG86ICQoU1JDRElSKWd6d3JpdGUuYworCS1AbWtkaXIgb2JqcyAyPi9kZXYvbnVsbCB8fCB0ZXN0IC1kIG9ianMKKwkkKENDKSAkKFNGTEFHUykgJChaSU5DKSAtRFBJQyAtYyAtbyBvYmpzL2d6d3JpdGUubyAkKFNSQ0RJUilnendyaXRlLmMKKwktQG12IG9ianMvZ3p3cml0ZS5vICRACisKIAogcGxhY2VibyAkKFNIQVJFRExJQlYpOiAkKFBJQ19PQkpTKSBsaWJ6LmEKIAkkKExEU0hBUkVEKSAkKFNGTEFHUykgLW8gJEAgJChQSUNfT0JKUykgJChMRFNIQVJFRExJQkMpICQoTERGTEFHUykKQEAgLTE3MywxMCArMjg4LDEwIEBACiAJJChDQykgJChDRkxBR1MpIC1vICRAIG1pbmlnemlwLm8gJChURVNUX0xERkxBR1MpCiAKIGV4YW1wbGVzaCQoRVhFKTogZXhhbXBsZS5vICQoU0hBUkVETElCVikKLQkkKENDKSAkKENGTEFHUykgLW8gJEAgZXhhbXBsZS5vIC1MLiAkKFNIQVJFRExJQlYpCisJJChDQykgJChDRkxBR1MpIC1vICRAIGV4YW1wbGUubyAkKExERkxBR1MpIC1MLiAkKFNIQVJFRExJQlYpCiAKIG1pbmlnemlwc2gkKEVYRSk6IG1pbmlnemlwLm8gJChTSEFSRURMSUJWKQotCSQoQ0MpICQoQ0ZMQUdTKSAtbyAkQCBtaW5pZ3ppcC5vIC1MLiAkKFNIQVJFRExJQlYpCisJJChDQykgJChDRkxBR1MpIC1vICRAIG1pbmlnemlwLm8gJChMREZMQUdTKSAtTC4gJChTSEFSRURMSUJWKQogCiBleGFtcGxlNjQkKEVYRSk6IGV4YW1wbGU2NC5vICQoU1RBVElDTElCKQogCSQoQ0MpICQoQ0ZMQUdTKSAtbyAkQCBleGFtcGxlNjQubyAkKFRFU1RfTERGTEFHUykKQEAgLTE5MCwxMCArMzA1LDEyIEBACiAJLUBpZiBbICEgLWQgJChERVNURElSKSQoc2hhcmVkbGliZGlyKSBdOyB0aGVuIG1rZGlyIC1wICQoREVTVERJUikkKHNoYXJlZGxpYmRpcik7IGZpCiAJLUBpZiBbICEgLWQgJChERVNURElSKSQobWFuM2RpcikgICAgICBdOyB0aGVuIG1rZGlyIC1wICQoREVTVERJUikkKG1hbjNkaXIpOyBmaQogCS1AaWYgWyAhIC1kICQoREVTVERJUikkKHBrZ2NvbmZpZ2RpcikgXTsgdGhlbiBta2RpciAtcCAkKERFU1RESVIpJChwa2djb25maWdkaXIpOyBmaQorCXJtIC1mICQoREVTVERJUikkKGxpYmRpcikvJChTVEFUSUNMSUIpCiAJY3AgJChTVEFUSUNMSUIpICQoREVTVERJUikkKGxpYmRpcikKIAljaG1vZCA2NDQgJChERVNURElSKSQobGliZGlyKS8kKFNUQVRJQ0xJQikKIAktQCgkKFJBTkxJQikgJChERVNURElSKSQobGliZGlyKS9saWJ6LmEgfHwgdHJ1ZSkgPi9kZXYvbnVsbCAyPiYxCiAJLUBpZiB0ZXN0IC1uICIkKFNIQVJFRExJQlYpIjsgdGhlbiBcCisJICBybSAtZiAkKERFU1RESVIpJChzaGFyZWRsaWJkaXIpLyQoU0hBUkVETElCVik7IFwKIAkgIGNwICQoU0hBUkVETElCVikgJChERVNURElSKSQoc2hhcmVkbGliZGlyKTsgXAogCSAgZWNobyAiY3AgJChTSEFSRURMSUJWKSAkKERFU1RESVIpJChzaGFyZWRsaWJkaXIpIjsgXAogCSAgY2htb2QgNzU1ICQoREVTVERJUikkKHNoYXJlZGxpYmRpcikvJChTSEFSRURMSUJWKTsgXApAQCAtMjAzLDggKzMyMCwxMCBAQAogCSAgbG4gLXMgJChTSEFSRURMSUJWKSAkKERFU1RESVIpJChzaGFyZWRsaWJkaXIpLyQoU0hBUkVETElCTSk7IFwKIAkgICgkKExEQ09ORklHKSB8fCB0cnVlKSAgPi9kZXYvbnVsbCAyPiYxOyBcCiAJZmkKLQljcCB6bGliLjMgJChERVNURElSKSQobWFuM2RpcikKKwlybSAtZiAkKERFU1RESVIpJChtYW4zZGlyKS96bGliLjMKKwljcCAkKFNSQ0RJUil6bGliLjMgJChERVNURElSKSQobWFuM2RpcikKIAljaG1vZCA2NDQgJChERVNURElSKSQobWFuM2RpcikvemxpYi4zCisJcm0gLWYgJChERVNURElSKSQocGtnY29uZmlnZGlyKS96bGliLnBjCiAJY3AgemxpYi5wYyAkKERFU1RESVIpJChwa2djb25maWdkaXIpCiAJY2htb2QgNjQ0ICQoREVTVERJUikkKHBrZ2NvbmZpZ2RpcikvemxpYi5wYwogIyBUaGUgcmFubGliIGluIGluc3RhbGwgaXMgbmVlZGVkIG9uIE5lWFRTVEVQIHdoaWNoIGNoZWNrcyBmaWxlIHRpbWVzCkBAIC0yMTIsNyArMzMxLDggQEAKIAogaW5zdGFsbDogaW5zdGFsbC1saWJzCiAJLUBpZiBbICEgLWQgJChERVNURElSKSQoaW5jbHVkZWRpcikgICBdOyB0aGVuIG1rZGlyIC1wICQoREVTVERJUikkKGluY2x1ZGVkaXIpOyBmaQotCWNwIHpsaWIuaCB6Y29uZi5oICQoREVTVERJUikkKGluY2x1ZGVkaXIpCisJcm0gLWYgJChERVNURElSKSQoaW5jbHVkZWRpcikvemxpYi5oICQoREVTVERJUikkKGluY2x1ZGVkaXIpL3pjb25mLmgKKwljcCAkKFNSQ0RJUil6bGliLmggemNvbmYuaCAkKERFU1RESVIpJChpbmNsdWRlZGlyKQogCWNobW9kIDY0NCAkKERFU1RESVIpJChpbmNsdWRlZGlyKS96bGliLmggJChERVNURElSKSQoaW5jbHVkZWRpcikvemNvbmYuaAogCiB1bmluc3RhbGw6CkBAIC0yMjYsMTggKzM0NiwxOCBAQAogCiBkb2NzOiB6bGliLjMucGRmCiAKLXpsaWIuMy5wZGY6IHpsaWIuMwotCWdyb2ZmIC1tYW5kb2MgLWYgSCAtVCBwcyB6bGliLjMgfCBwczJwZGYgLSB6bGliLjMucGRmCit6bGliLjMucGRmOiAkKFNSQ0RJUil6bGliLjMKKwlncm9mZiAtbWFuZG9jIC1mIEggLVQgcHMgJChTUkNESVIpemxpYi4zIHwgcHMycGRmIC0gJEAKIAotemNvbmYuaC5jbWFrZWluOiB6Y29uZi5oLmluCit6Y29uZi5oLmNtYWtlaW46ICQoU1JDRElSKXpjb25mLmguaW4KIAktQCBURU1QRklMRT16Y29uZmhfJCQ7IFwKIAllY2hvICIvI2RlZmluZSBaQ09ORl9ILyBhXFxcXFxuI2NtYWtlZGVmaW5lIFpfUFJFRklYXFxcXFxuI2NtYWtlZGVmaW5lIFpfSEFWRV9VTklTVERfSFxuIiA+PiAkJFRFTVBGSUxFICYmXAotCXNlZCAtZiAkJFRFTVBGSUxFIHpjb25mLmguaW4gPiB6Y29uZi5oLmNtYWtlaW4gJiZcCi0JdG91Y2ggLXIgemNvbmYuaC5pbiB6Y29uZi5oLmNtYWtlaW4gJiZcCisJc2VkIC1mICQkVEVNUEZJTEUgJChTUkNESVIpemNvbmYuaC5pbiA+ICRAICYmXAorCXRvdWNoIC1yICQoU1JDRElSKXpjb25mLmguaW4gJEAgJiZcCiAJcm0gJCRURU1QRklMRQogCi16Y29uZjogemNvbmYuaC5pbgotCWNwIC1wIHpjb25mLmguaW4gemNvbmYuaAoremNvbmY6ICQoU1JDRElSKXpjb25mLmguaW4KKwljcCAtcCAkKFNSQ0RJUil6Y29uZi5oLmluIHpjb25mLmgKIAogbW9zdGx5Y2xlYW46IGNsZWFuCiBjbGVhbjoKQEAgLTI1MiwzNyArMzcyLDMzIEBACiAJcm0gLWYgY29udHJpYi9pbmZiYWNrOS8qLmdjZGEgY29udHJpYi9pbmZiYWNrOS8qLmdjbm8gY29udHJpYi9pbmZiYWNrOS8qLmdjb3YKIAogbWFpbnRhaW5lci1jbGVhbjogZGlzdGNsZWFuCi1kaXN0Y2xlYW46IGNsZWFuIHpjb25mIHpjb25mLmguY21ha2VpbiBkb2NzCitkaXN0Y2xlYW46IGNsZWFuIHpjb25mIHpjb25mLmguY21ha2VpbgogCXJtIC1mIE1ha2VmaWxlIHpsaWIucGMgY29uZmlndXJlLmxvZwogCS1Acm0gLWYgLkRTX1N0b3JlCi0JLUBwcmludGYgJ2FsbDpcblx0LUBlY2hvICJQbGVhc2UgdXNlIC4vY29uZmlndXJlIGZpcnN0LiAgVGhhbmsgeW91LiJcbicgPiBNYWtlZmlsZQotCS1AcHJpbnRmICdcbmRpc3RjbGVhbjpcblx0bWFrZSAtZiBNYWtlZmlsZS5pbiBkaXN0Y2xlYW5cbicgPj4gTWFrZWZpbGUKLQktQHRvdWNoIC1yIE1ha2VmaWxlLmluIE1ha2VmaWxlCisJQGlmIFsgLWYgTWFrZWZpbGUuaW4gXTsgdGhlbiBcCisJcHJpbnRmICdhbGw6XG5cdC1AZWNobyAiUGxlYXNlIHVzZSAuL2NvbmZpZ3VyZSBmaXJzdC4gIFRoYW5rIHlvdS4iXG4nID4gTWFrZWZpbGUgOyBcCisJcHJpbnRmICdcbmRpc3RjbGVhbjpcblx0bWFrZSAtZiBNYWtlZmlsZS5pbiBkaXN0Y2xlYW5cbicgPj4gTWFrZWZpbGUgOyBcCisJdG91Y2ggLXIgJChTUkNESVIpTWFrZWZpbGUuaW4gTWFrZWZpbGUgOyBmaQogCiB0YWdzOgotCWV0YWdzICouW2NoXQorCWV0YWdzICQoU1JDRElSKSouW2NoXQogCi1kZXBlbmQ6Ci0JbWFrZWRlcGVuZCAtLSAkKENGTEFHUykgLS0gKi5bY2hdCithZGxlcjMyLm8genV0aWwubzogJChTUkNESVIpenV0aWwuaCAkKFNSQ0RJUil6bGliLmggemNvbmYuaAorZ3pjbG9zZS5vIGd6bGliLm8gZ3pyZWFkLm8gZ3p3cml0ZS5vOiAkKFNSQ0RJUil6bGliLmggemNvbmYuaCAkKFNSQ0RJUilnemd1dHMuaAorY29tcHJlc3MubyBleGFtcGxlLm8gbWluaWd6aXAubyB1bmNvbXByLm86ICQoU1JDRElSKXpsaWIuaCB6Y29uZi5oCitjcmMzMi5vOiAkKFNSQ0RJUil6dXRpbC5oICQoU1JDRElSKXpsaWIuaCB6Y29uZi5oICQoU1JDRElSKWNyYzMyLmgKK2RlZmxhdGUubzogJChTUkNESVIpZGVmbGF0ZS5oICQoU1JDRElSKXp1dGlsLmggJChTUkNESVIpemxpYi5oIHpjb25mLmgKK2luZmJhY2subyBpbmZsYXRlLm86ICQoU1JDRElSKXp1dGlsLmggJChTUkNESVIpemxpYi5oIHpjb25mLmggJChTUkNESVIpaW5mdHJlZXMuaCAkKFNSQ0RJUilpbmZsYXRlLmggJChTUkNESVIpaW5mZmFzdC5oICQoU1JDRElSKWluZmZpeGVkLmgKK2luZmZhc3QubzogJChTUkNESVIpenV0aWwuaCAkKFNSQ0RJUil6bGliLmggemNvbmYuaCAkKFNSQ0RJUilpbmZ0cmVlcy5oICQoU1JDRElSKWluZmxhdGUuaCAkKFNSQ0RJUilpbmZmYXN0LmgKK2luZnRyZWVzLm86ICQoU1JDRElSKXp1dGlsLmggJChTUkNESVIpemxpYi5oIHpjb25mLmggJChTUkNESVIpaW5mdHJlZXMuaAordHJlZXMubzogJChTUkNESVIpZGVmbGF0ZS5oICQoU1JDRElSKXp1dGlsLmggJChTUkNESVIpemxpYi5oIHpjb25mLmggJChTUkNESVIpdHJlZXMuaAogCi0jIERPIE5PVCBERUxFVEUgVEhJUyBMSU5FIC0tIG1ha2UgZGVwZW5kIGRlcGVuZHMgb24gaXQuCi0KLWFkbGVyMzIubyB6dXRpbC5vOiB6dXRpbC5oIHpsaWIuaCB6Y29uZi5oCi1nemNsb3NlLm8gZ3psaWIubyBnenJlYWQubyBnendyaXRlLm86IHpsaWIuaCB6Y29uZi5oIGd6Z3V0cy5oCi1jb21wcmVzcy5vIGV4YW1wbGUubyBtaW5pZ3ppcC5vIHVuY29tcHIubzogemxpYi5oIHpjb25mLmgKLWNyYzMyLm86IHp1dGlsLmggemxpYi5oIHpjb25mLmggY3JjMzIuaAotZGVmbGF0ZS5vOiBkZWZsYXRlLmggenV0aWwuaCB6bGliLmggemNvbmYuaAotaW5mYmFjay5vIGluZmxhdGUubzogenV0aWwuaCB6bGliLmggemNvbmYuaCBpbmZ0cmVlcy5oIGluZmxhdGUuaCBpbmZmYXN0LmggaW5mZml4ZWQuaAotaW5mZmFzdC5vOiB6dXRpbC5oIHpsaWIuaCB6Y29uZi5oIGluZnRyZWVzLmggaW5mbGF0ZS5oIGluZmZhc3QuaAotaW5mdHJlZXMubzogenV0aWwuaCB6bGliLmggemNvbmYuaCBpbmZ0cmVlcy5oCi10cmVlcy5vOiBkZWZsYXRlLmggenV0aWwuaCB6bGliLmggemNvbmYuaCB0cmVlcy5oCi0KLWFkbGVyMzIubG8genV0aWwubG86IHp1dGlsLmggemxpYi5oIHpjb25mLmgKLWd6Y2xvc2UubG8gZ3psaWIubG8gZ3pyZWFkLmxvIGd6d3JpdGUubG86IHpsaWIuaCB6Y29uZi5oIGd6Z3V0cy5oCi1jb21wcmVzcy5sbyBleGFtcGxlLmxvIG1pbmlnemlwLmxvIHVuY29tcHIubG86IHpsaWIuaCB6Y29uZi5oCi1jcmMzMi5sbzogenV0aWwuaCB6bGliLmggemNvbmYuaCBjcmMzMi5oCi1kZWZsYXRlLmxvOiBkZWZsYXRlLmggenV0aWwuaCB6bGliLmggemNvbmYuaAotaW5mYmFjay5sbyBpbmZsYXRlLmxvOiB6dXRpbC5oIHpsaWIuaCB6Y29uZi5oIGluZnRyZWVzLmggaW5mbGF0ZS5oIGluZmZhc3QuaCBpbmZmaXhlZC5oCi1pbmZmYXN0LmxvOiB6dXRpbC5oIHpsaWIuaCB6Y29uZi5oIGluZnRyZWVzLmggaW5mbGF0ZS5oIGluZmZhc3QuaAotaW5mdHJlZXMubG86IHp1dGlsLmggemxpYi5oIHpjb25mLmggaW5mdHJlZXMuaAotdHJlZXMubG86IGRlZmxhdGUuaCB6dXRpbC5oIHpsaWIuaCB6Y29uZi5oIHRyZWVzLmgKK2FkbGVyMzIubG8genV0aWwubG86ICQoU1JDRElSKXp1dGlsLmggJChTUkNESVIpemxpYi5oIHpjb25mLmgKK2d6Y2xvc2UubG8gZ3psaWIubG8gZ3pyZWFkLmxvIGd6d3JpdGUubG86ICQoU1JDRElSKXpsaWIuaCB6Y29uZi5oICQoU1JDRElSKWd6Z3V0cy5oCitjb21wcmVzcy5sbyBleGFtcGxlLmxvIG1pbmlnemlwLmxvIHVuY29tcHIubG86ICQoU1JDRElSKXpsaWIuaCB6Y29uZi5oCitjcmMzMi5sbzogJChTUkNESVIpenV0aWwuaCAkKFNSQ0RJUil6bGliLmggemNvbmYuaCAkKFNSQ0RJUiljcmMzMi5oCitkZWZsYXRlLmxvOiAkKFNSQ0RJUilkZWZsYXRlLmggJChTUkNESVIpenV0aWwuaCAkKFNSQ0RJUil6bGliLmggemNvbmYuaAoraW5mYmFjay5sbyBpbmZsYXRlLmxvOiAkKFNSQ0RJUil6dXRpbC5oICQoU1JDRElSKXpsaWIuaCB6Y29uZi5oICQoU1JDRElSKWluZnRyZWVzLmggJChTUkNESVIpaW5mbGF0ZS5oICQoU1JDRElSKWluZmZhc3QuaCAkKFNSQ0RJUilpbmZmaXhlZC5oCitpbmZmYXN0LmxvOiAkKFNSQ0RJUil6dXRpbC5oICQoU1JDRElSKXpsaWIuaCB6Y29uZi5oICQoU1JDRElSKWluZnRyZWVzLmggJChTUkNESVIpaW5mbGF0ZS5oICQoU1JDRElSKWluZmZhc3QuaAoraW5mdHJlZXMubG86ICQoU1JDRElSKXp1dGlsLmggJChTUkNESVIpemxpYi5oIHpjb25mLmggJChTUkNESVIpaW5mdHJlZXMuaAordHJlZXMubG86ICQoU1JDRElSKWRlZmxhdGUuaCAkKFNSQ0RJUil6dXRpbC5oICQoU1JDRElSKXpsaWIuaCB6Y29uZi5oICQoU1JDRElSKXRyZWVzLmgKZGlmZiAtLWdpdCBhL3NyYy9SRUFETUUgYi9zcmMvUkVBRE1FCmluZGV4IDVjYTlkMTIuLmJhMzRkMTggMTAwNjQ0Ci0tLSBhL3NyYy9SRUFETUUKKysrIGIvc3JjL1JFQURNRQpAQCAtMSw2ICsxLDYgQEAKIFpMSUIgREFUQSBDT01QUkVTU0lPTiBMSUJSQVJZCiAKLXpsaWIgMS4yLjggaXMgYSBnZW5lcmFsIHB1cnBvc2UgZGF0YSBjb21wcmVzc2lvbiBsaWJyYXJ5LiAgQWxsIHRoZSBjb2RlIGlzCit6bGliIDEuMi4xMyBpcyBhIGdlbmVyYWwgcHVycG9zZSBkYXRhIGNvbXByZXNzaW9uIGxpYnJhcnkuICBBbGwgdGhlIGNvZGUgaXMKIHRocmVhZCBzYWZlLiAgVGhlIGRhdGEgZm9ybWF0IHVzZWQgYnkgdGhlIHpsaWIgbGlicmFyeSBpcyBkZXNjcmliZWQgYnkgUkZDcwogKFJlcXVlc3QgZm9yIENvbW1lbnRzKSAxOTUwIHRvIDE5NTIgaW4gdGhlIGZpbGVzCiBodHRwOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmMxOTUwICh6bGliIGZvcm1hdCksIHJmYzE5NTEgKGRlZmxhdGUgZm9ybWF0KSBhbmQKQEAgLTMxLDcgKzMxLDcgQEAKIGlzc3VlIG9mIERyLiAgRG9iYidzIEpvdXJuYWw7IGEgY29weSBvZiB0aGUgYXJ0aWNsZSBpcyBhdmFpbGFibGUgYXQKIGh0dHA6Ly9tYXJrbmVsc29uLnVzLzE5OTcvMDEvMDEvemxpYi1lbmdpbmUvIC4KIAotVGhlIGNoYW5nZXMgbWFkZSBpbiB2ZXJzaW9uIDEuMi44IGFyZSBkb2N1bWVudGVkIGluIHRoZSBmaWxlIENoYW5nZUxvZy4KK1RoZSBjaGFuZ2VzIG1hZGUgaW4gdmVyc2lvbiAxLjIuMTMgYXJlIGRvY3VtZW50ZWQgaW4gdGhlIGZpbGUgQ2hhbmdlTG9nLgogCiBVbnN1cHBvcnRlZCB0aGlyZCBwYXJ0eSBjb250cmlidXRpb25zIGFyZSBwcm92aWRlZCBpbiBkaXJlY3RvcnkgY29udHJpYi8gLgogCkBAIC04NCw3ICs4NCw3IEBACiAKIENvcHlyaWdodCBub3RpY2U6CiAKLSAoQykgMTk5NS0yMDEzIEplYW4tbG91cCBHYWlsbHkgYW5kIE1hcmsgQWRsZXIKKyAoQykgMTk5NS0yMDIyIEplYW4tbG91cCBHYWlsbHkgYW5kIE1hcmsgQWRsZXIKIAogICBUaGlzIHNvZnR3YXJlIGlzIHByb3ZpZGVkICdhcy1pcycsIHdpdGhvdXQgYW55IGV4cHJlc3Mgb3IgaW1wbGllZAogICB3YXJyYW50eS4gIEluIG5vIGV2ZW50IHdpbGwgdGhlIGF1dGhvcnMgYmUgaGVsZCBsaWFibGUgZm9yIGFueSBkYW1hZ2VzCkBAIC0xMDgsNyArMTA4LDEwIEBACiBJZiB5b3UgdXNlIHRoZSB6bGliIGxpYnJhcnkgaW4gYSBwcm9kdWN0LCB3ZSB3b3VsZCBhcHByZWNpYXRlICpub3QqIHJlY2VpdmluZwogbGVuZ3RoeSBsZWdhbCBkb2N1bWVudHMgdG8gc2lnbi4gIFRoZSBzb3VyY2VzIGFyZSBwcm92aWRlZCBmb3IgZnJlZSBidXQgd2l0aG91dAogd2FycmFudHkgb2YgYW55IGtpbmQuICBUaGUgbGlicmFyeSBoYXMgYmVlbiBlbnRpcmVseSB3cml0dGVuIGJ5IEplYW4tbG91cAotR2FpbGx5IGFuZCBNYXJrIEFkbGVyOyBpdCBkb2VzIG5vdCBpbmNsdWRlIHRoaXJkLXBhcnR5IGNvZGUuCitHYWlsbHkgYW5kIE1hcmsgQWRsZXI7IGl0IGRvZXMgbm90IGluY2x1ZGUgdGhpcmQtcGFydHkgY29kZS4gIFdlIG1ha2UgYWxsCitjb250cmlidXRpb25zIHRvIGFuZCBkaXN0cmlidXRpb25zIG9mIHRoaXMgcHJvamVjdCBzb2xlbHkgaW4gb3VyIHBlcnNvbmFsCitjYXBhY2l0eSwgYW5kIGFyZSBub3QgY29udmV5aW5nIGFueSByaWdodHMgdG8gYW55IGludGVsbGVjdHVhbCBwcm9wZXJ0eSBvZgorYW55IHRoaXJkIHBhcnRpZXMuCiAKIElmIHlvdSByZWRpc3RyaWJ1dGUgbW9kaWZpZWQgc291cmNlcywgd2Ugd291bGQgYXBwcmVjaWF0ZSB0aGF0IHlvdSBpbmNsdWRlIGluCiB0aGUgZmlsZSBDaGFuZ2VMb2cgaGlzdG9yeSBpbmZvcm1hdGlvbiBkb2N1bWVudGluZyB5b3VyIGNoYW5nZXMuICBQbGVhc2UgcmVhZApkaWZmIC0tZ2l0IGEvc3JjL2FkbGVyMzIuYyBiL3NyYy9hZGxlcjMyLmMKaW5kZXggYTg2OGYwNy4uZDBiZTQzOCAxMDA2NDQKLS0tIGEvc3JjL2FkbGVyMzIuYworKysgYi9zcmMvYWRsZXIzMi5jCkBAIC0xLDUgKzEsNSBAQAogLyogYWRsZXIzMi5jIC0tIGNvbXB1dGUgdGhlIEFkbGVyLTMyIGNoZWNrc3VtIG9mIGEgZGF0YSBzdHJlYW0KLSAqIENvcHlyaWdodCAoQykgMTk5NS0yMDExIE1hcmsgQWRsZXIKKyAqIENvcHlyaWdodCAoQykgMTk5NS0yMDExLCAyMDE2IE1hcmsgQWRsZXIKICAqIEZvciBjb25kaXRpb25zIG9mIGRpc3RyaWJ1dGlvbiBhbmQgdXNlLCBzZWUgY29weXJpZ2h0IG5vdGljZSBpbiB6bGliLmgKICAqLwogCkBAIC03LDExICs3LDkgQEAKIAogI2luY2x1ZGUgInp1dGlsLmgiCiAKLSNkZWZpbmUgbG9jYWwgc3RhdGljCi0KIGxvY2FsIHVMb25nIGFkbGVyMzJfY29tYmluZV8gT0YoKHVMb25nIGFkbGVyMSwgdUxvbmcgYWRsZXIyLCB6X29mZjY0X3QgbGVuMikpOwogCi0jZGVmaW5lIEJBU0UgNjU1MjEgICAgICAvKiBsYXJnZXN0IHByaW1lIHNtYWxsZXIgdGhhbiA2NTUzNiAqLworI2RlZmluZSBCQVNFIDY1NTIxVSAgICAgLyogbGFyZ2VzdCBwcmltZSBzbWFsbGVyIHRoYW4gNjU1MzYgKi8KICNkZWZpbmUgTk1BWCA1NTUyCiAvKiBOTUFYIGlzIHRoZSBsYXJnZXN0IG4gc3VjaCB0aGF0IDI1NW4obisxKS8yICsgKG4rMSkoQkFTRS0xKSA8PSAyXjMyLTEgKi8KIApAQCAtNjIsMTAgKzYwLDEwIEBACiAjZW5kaWYKIAogLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwotdUxvbmcgWkVYUE9SVCBhZGxlcjMyKGFkbGVyLCBidWYsIGxlbikKK3VMb25nIFpFWFBPUlQgYWRsZXIzMl96KGFkbGVyLCBidWYsIGxlbikKICAgICB1TG9uZyBhZGxlcjsKICAgICBjb25zdCBCeXRlZiAqYnVmOwotICAgIHVJbnQgbGVuOworICAgIHpfc2l6ZV90IGxlbjsKIHsKICAgICB1bnNpZ25lZCBsb25nIHN1bTI7CiAgICAgdW5zaWduZWQgbjsKQEAgLTEzMyw2ICsxMzEsMTUgQEAKIH0KIAogLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwordUxvbmcgWkVYUE9SVCBhZGxlcjMyKGFkbGVyLCBidWYsIGxlbikKKyAgICB1TG9uZyBhZGxlcjsKKyAgICBjb25zdCBCeXRlZiAqYnVmOworICAgIHVJbnQgbGVuOworeworICAgIHJldHVybiBhZGxlcjMyX3ooYWRsZXIsIGJ1ZiwgbGVuKTsKK30KKworLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwogbG9jYWwgdUxvbmcgYWRsZXIzMl9jb21iaW5lXyhhZGxlcjEsIGFkbGVyMiwgbGVuMikKICAgICB1TG9uZyBhZGxlcjE7CiAgICAgdUxvbmcgYWRsZXIyOwpAQCAtMTU2LDcgKzE2Myw3IEBACiAgICAgc3VtMiArPSAoKGFkbGVyMSA+PiAxNikgJiAweGZmZmYpICsgKChhZGxlcjIgPj4gMTYpICYgMHhmZmZmKSArIEJBU0UgLSByZW07CiAgICAgaWYgKHN1bTEgPj0gQkFTRSkgc3VtMSAtPSBCQVNFOwogICAgIGlmIChzdW0xID49IEJBU0UpIHN1bTEgLT0gQkFTRTsKLSAgICBpZiAoc3VtMiA+PSAoQkFTRSA8PCAxKSkgc3VtMiAtPSAoQkFTRSA8PCAxKTsKKyAgICBpZiAoc3VtMiA+PSAoKHVuc2lnbmVkIGxvbmcpQkFTRSA8PCAxKSkgc3VtMiAtPSAoKHVuc2lnbmVkIGxvbmcpQkFTRSA8PCAxKTsKICAgICBpZiAoc3VtMiA+PSBCQVNFKSBzdW0yIC09IEJBU0U7CiAgICAgcmV0dXJuIHN1bTEgfCAoc3VtMiA8PCAxNik7CiB9CmRpZmYgLS1naXQgYS9zcmMvYXM0MDAvYm5kc3JjIGIvc3JjL2FzNDAwL2JuZHNyYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTg4MTRmZC4uMDAwMDAwMAotLS0gYS9zcmMvYXM0MDAvYm5kc3JjCisrKyAvZGV2L251bGwKQEAgLTEsMjE1ICswLDAgQEAKLVNUUlBHTUVYUCBQR01MVkwoKkNVUlJFTlQpIFNJR05BVFVSRSgnWkxJQicpCi0KLS8qQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAKi8KLS8qICAgVmVyc2lvbiAxLjEuMyBlbnRyeSBwb2ludHMuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLS8qQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAKi8KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotLyogICAqTU9EVUxFICAgICAgQURMRVIzMiAgICAgIFpMSUIgICAgICAgICAwMS8wMi8wMSAgMDA6MTU6MDkgICAgICAqLwotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotCi0gIEVYUE9SVCBTWU1CT0woImFkbGVyMzIiKQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0vKiAgICpNT0RVTEUgICAgICBDT01QUkVTUyAgICAgWkxJQiAgICAgICAgIDAxLzAyLzAxICAwMDoxNTowOSAgICAgICovCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0KLSAgRVhQT1JUIFNZTUJPTCgiY29tcHJlc3MiKQotICBFWFBPUlQgU1lNQk9MKCJjb21wcmVzczIiKQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0vKiAgICpNT0RVTEUgICAgICBDUkMzMiAgICAgICAgWkxJQiAgICAgICAgIDAxLzAyLzAxICAwMDoxNTowOSAgICAgICovCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0KLSAgRVhQT1JUIFNZTUJPTCgiY3JjMzIiKQotICBFWFBPUlQgU1lNQk9MKCJnZXRfY3JjX3RhYmxlIikKLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotLyogICAqTU9EVUxFICAgICAgREVGTEFURSAgICAgIFpMSUIgICAgICAgICAwMS8wMi8wMSAgMDA6MTU6MDkgICAgICAqLwotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotCi0gIEVYUE9SVCBTWU1CT0woImRlZmxhdGUiKQotICBFWFBPUlQgU1lNQk9MKCJkZWZsYXRlRW5kIikKLSAgRVhQT1JUIFNZTUJPTCgiZGVmbGF0ZVNldERpY3Rpb25hcnkiKQotICBFWFBPUlQgU1lNQk9MKCJkZWZsYXRlQ29weSIpCi0gIEVYUE9SVCBTWU1CT0woImRlZmxhdGVSZXNldCIpCi0gIEVYUE9SVCBTWU1CT0woImRlZmxhdGVQYXJhbXMiKQotICBFWFBPUlQgU1lNQk9MKCJkZWZsYXRlUHJpbWUiKQotICBFWFBPUlQgU1lNQk9MKCJkZWZsYXRlSW5pdF8iKQotICBFWFBPUlQgU1lNQk9MKCJkZWZsYXRlSW5pdDJfIikKLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotLyogICAqTU9EVUxFICAgICAgR1pJTyAgICAgICAgIFpMSUIgICAgICAgICAwMS8wMi8wMSAgMDA6MTU6MDkgICAgICAqLwotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotCi0gIEVYUE9SVCBTWU1CT0woImd6b3BlbiIpCi0gIEVYUE9SVCBTWU1CT0woImd6ZG9wZW4iKQotICBFWFBPUlQgU1lNQk9MKCJnenNldHBhcmFtcyIpCi0gIEVYUE9SVCBTWU1CT0woImd6cmVhZCIpCi0gIEVYUE9SVCBTWU1CT0woImd6d3JpdGUiKQotICBFWFBPUlQgU1lNQk9MKCJnenByaW50ZiIpCi0gIEVYUE9SVCBTWU1CT0woImd6cHV0cyIpCi0gIEVYUE9SVCBTWU1CT0woImd6Z2V0cyIpCi0gIEVYUE9SVCBTWU1CT0woImd6cHV0YyIpCi0gIEVYUE9SVCBTWU1CT0woImd6Z2V0YyIpCi0gIEVYUE9SVCBTWU1CT0woImd6Zmx1c2giKQotICBFWFBPUlQgU1lNQk9MKCJnenNlZWsiKQotICBFWFBPUlQgU1lNQk9MKCJnenJld2luZCIpCi0gIEVYUE9SVCBTWU1CT0woImd6dGVsbCIpCi0gIEVYUE9SVCBTWU1CT0woImd6ZW9mIikKLSAgRVhQT1JUIFNZTUJPTCgiZ3pjbG9zZSIpCi0gIEVYUE9SVCBTWU1CT0woImd6ZXJyb3IiKQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0vKiAgICpNT0RVTEUgICAgICBJTkZMQVRFICAgICAgWkxJQiAgICAgICAgIDAxLzAyLzAxICAwMDoxNTowOSAgICAgICovCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0KLSAgRVhQT1JUIFNZTUJPTCgiaW5mbGF0ZSIpCi0gIEVYUE9SVCBTWU1CT0woImluZmxhdGVFbmQiKQotICBFWFBPUlQgU1lNQk9MKCJpbmZsYXRlU2V0RGljdGlvbmFyeSIpCi0gIEVYUE9SVCBTWU1CT0woImluZmxhdGVTeW5jIikKLSAgRVhQT1JUIFNZTUJPTCgiaW5mbGF0ZVJlc2V0IikKLSAgRVhQT1JUIFNZTUJPTCgiaW5mbGF0ZUluaXRfIikKLSAgRVhQT1JUIFNZTUJPTCgiaW5mbGF0ZUluaXQyXyIpCi0gIEVYUE9SVCBTWU1CT0woImluZmxhdGVTeW5jUG9pbnQiKQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0vKiAgICpNT0RVTEUgICAgICBVTkNPTVBSICAgICAgWkxJQiAgICAgICAgIDAxLzAyLzAxICAwMDoxNTowOSAgICAgICovCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0KLSAgRVhQT1JUIFNZTUJPTCgidW5jb21wcmVzcyIpCi0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLS8qICAgKk1PRFVMRSAgICAgIFpVVElMICAgICAgICBaTElCICAgICAgICAgMDEvMDIvMDEgIDAwOjE1OjA5ICAgICAgKi8KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLQotICBFWFBPUlQgU1lNQk9MKCJ6bGliVmVyc2lvbiIpCi0gIEVYUE9SVCBTWU1CT0woInpFcnJvciIpCi0KLS8qQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAKi8KLS8qICAgVmVyc2lvbiAxLjIuMSBhZGRpdGlvbmFsIGVudHJ5IHBvaW50cy4gICAgICAgICAgICAgICAgICAgICAgICAgKi8KLS8qQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAKi8KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotLyogICAqTU9EVUxFICAgICAgQ09NUFJFU1MgICAgIFpMSUIgICAgICAgICAwMS8wMi8wMSAgMDA6MTU6MDkgICAgICAqLwotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotCi0gIEVYUE9SVCBTWU1CT0woImNvbXByZXNzQm91bmQiKQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0vKiAgICpNT0RVTEUgICAgICBERUZMQVRFICAgICAgWkxJQiAgICAgICAgIDAxLzAyLzAxICAwMDoxNTowOSAgICAgICovCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0KLSAgRVhQT1JUIFNZTUJPTCgiZGVmbGF0ZUJvdW5kIikKLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotLyogICAqTU9EVUxFICAgICAgR1pJTyAgICAgICAgIFpMSUIgICAgICAgICAwMS8wMi8wMSAgMDA6MTU6MDkgICAgICAqLwotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotCi0gIEVYUE9SVCBTWU1CT0woImd6dW5nZXRjIikKLSAgRVhQT1JUIFNZTUJPTCgiZ3pjbGVhcmVyciIpCi0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLS8qICAgKk1PRFVMRSAgICAgIElORkJBQ0sgICAgICBaTElCICAgICAgICAgMDEvMDIvMDEgIDAwOjE1OjA5ICAgICAgKi8KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLQotICBFWFBPUlQgU1lNQk9MKCJpbmZsYXRlQmFjayIpCi0gIEVYUE9SVCBTWU1CT0woImluZmxhdGVCYWNrRW5kIikKLSAgRVhQT1JUIFNZTUJPTCgiaW5mbGF0ZUJhY2tJbml0XyIpCi0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLS8qICAgKk1PRFVMRSAgICAgIElORkxBVEUgICAgICBaTElCICAgICAgICAgMDEvMDIvMDEgIDAwOjE1OjA5ICAgICAgKi8KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLQotICBFWFBPUlQgU1lNQk9MKCJpbmZsYXRlQ29weSIpCi0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLS8qICAgKk1PRFVMRSAgICAgIFpVVElMICAgICAgICBaTElCICAgICAgICAgMDEvMDIvMDEgIDAwOjE1OjA5ICAgICAgKi8KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLQotICBFWFBPUlQgU1lNQk9MKCJ6bGliQ29tcGlsZUZsYWdzIikKLQotLypAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAqLwotLyogICBWZXJzaW9uIDEuMi41IGFkZGl0aW9uYWwgZW50cnkgcG9pbnRzLiAgICAgICAgICAgICAgICAgICAgICAgICAqLwotLypAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAqLwotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0vKiAgICpNT0RVTEUgICAgICBBRExFUjMyICAgICAgWkxJQiAgICAgICAgIDAxLzAyLzAxICAwMDoxNTowOSAgICAgICovCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0KLSAgRVhQT1JUIFNZTUJPTCgiYWRsZXIzMl9jb21iaW5lIikKLSAgRVhQT1JUIFNZTUJPTCgiYWRsZXIzMl9jb21iaW5lNjQiKQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0vKiAgICpNT0RVTEUgICAgICBDUkMzMiAgICAgICAgWkxJQiAgICAgICAgIDAxLzAyLzAxICAwMDoxNTowOSAgICAgICovCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0KLSAgRVhQT1JUIFNZTUJPTCgiY3JjMzJfY29tYmluZSIpCi0gIEVYUE9SVCBTWU1CT0woImNyYzMyX2NvbWJpbmU2NCIpCi0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLS8qICAgKk1PRFVMRSAgICAgIEdaTElCICAgICAgICBaTElCICAgICAgICAgMDEvMDIvMDEgIDAwOjE1OjA5ICAgICAgKi8KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLQotICBFWFBPUlQgU1lNQk9MKCJnemJ1ZmZlciIpCi0gIEVYUE9SVCBTWU1CT0woImd6b2Zmc2V0IikKLSAgRVhQT1JUIFNZTUJPTCgiZ3pvZmZzZXQ2NCIpCi0gIEVYUE9SVCBTWU1CT0woImd6b3BlbjY0IikKLSAgRVhQT1JUIFNZTUJPTCgiZ3pzZWVrNjQiKQotICBFWFBPUlQgU1lNQk9MKCJnenRlbGw2NCIpCi0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLS8qICAgKk1PRFVMRSAgICAgIEdaUkVBRCAgICAgICBaTElCICAgICAgICAgMDEvMDIvMDEgIDAwOjE1OjA5ICAgICAgKi8KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLQotICBFWFBPUlQgU1lNQk9MKCJnemNsb3NlX3IiKQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0vKiAgICpNT0RVTEUgICAgICBHWldSSVRFICAgICAgWkxJQiAgICAgICAgIDAxLzAyLzAxICAwMDoxNTowOSAgICAgICovCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0KLSAgRVhQT1JUIFNZTUJPTCgiZ3pjbG9zZV93IikKLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotLyogICAqTU9EVUxFICAgICAgSU5GTEFURSAgICAgIFpMSUIgICAgICAgICAwMS8wMi8wMSAgMDA6MTU6MDkgICAgICAqLwotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotCi0gIEVYUE9SVCBTWU1CT0woImluZmxhdGVNYXJrIikKLSAgRVhQT1JUIFNZTUJPTCgiaW5mbGF0ZVByaW1lIikKLSAgRVhQT1JUIFNZTUJPTCgiaW5mbGF0ZVJlc2V0MiIpCi0gIEVYUE9SVCBTWU1CT0woImluZmxhdGVVbmRlcm1pbmUiKQotCi0vKkBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQCovCi0vKiAgIFZlcnNpb24gMS4yLjYgYWRkaXRpb25hbCBlbnRyeSBwb2ludHMuICAgICAgICAgICAgICAgICAgICAgICAgICovCi0vKkBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQCovCi0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLS8qICAgKk1PRFVMRSAgICAgIERFRkxBVEUgICAgICBaTElCICAgICAgICAgMDEvMDIvMDEgIDAwOjE1OjA5ICAgICAgKi8KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLQotICBFWFBPUlQgU1lNQk9MKCJkZWZsYXRlUmVzZXRLZWVwIikKLSAgRVhQT1JUIFNZTUJPTCgiZGVmbGF0ZVBlbmRpbmciKQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0vKiAgICpNT0RVTEUgICAgICBHWldSSVRFICAgICAgWkxJQiAgICAgICAgIDAxLzAyLzAxICAwMDoxNTowOSAgICAgICovCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0KLSAgRVhQT1JUIFNZTUJPTCgiZ3pnZXRjXyIpCi0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLS8qICAgKk1PRFVMRSAgICAgIElORkxBVEUgICAgICBaTElCICAgICAgICAgMDEvMDIvMDEgIDAwOjE1OjA5ICAgICAgKi8KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLQotICBFWFBPUlQgU1lNQk9MKCJpbmZsYXRlUmVzZXRLZWVwIikKLQotLypAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAqLwotLyogICBWZXJzaW9uIDEuMi44IGFkZGl0aW9uYWwgZW50cnkgcG9pbnRzLiAgICAgICAgICAgICAgICAgICAgICAgICAqLwotLypAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAqLwotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0vKiAgICpNT0RVTEUgICAgICBJTkZMQVRFICAgICAgWkxJQiAgICAgICAgIDAxLzAyLzAxICAwMDoxNTowOSAgICAgICovCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0KLSAgRVhQT1JUIFNZTUJPTCgiaW5mbGF0ZUdldERpY3Rpb25hcnkiKQotCi1FTkRQR01FWFAKZGlmZiAtLWdpdCBhL3NyYy9hczQwMC9jb21waWxlLmNscCBiL3NyYy9hczQwMC9jb21waWxlLmNscApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTNmNDdjNi4uMDAwMDAwMAotLS0gYS9zcmMvYXM0MDAvY29tcGlsZS5jbHAKKysrIC9kZXYvbnVsbApAQCAtMSwxMTAgKzAsMCBAQAotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLS8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCi0vKiAgWkxJQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLwotLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLS8qICAgIENvbXBpbGUgc291cmNlcyBpbnRvIG1vZHVsZXMgYW5kIGxpbmsgdGhlbSBpbnRvIGEgc2VydmljZSBwcm9ncmFtLiAgICAgICovCi0vKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLwotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLQotICAgICAgICAgICAgIFBHTQotCi0vKiAgICAgIENvbmZpZ3VyYXRpb24gYWRqdXN0YWJsZSBwYXJhbWV0ZXJzLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLwotCi0gICAgICAgICAgICAgRENMICAgICAgICBWQVIoJlNSQ0xJQikgVFlQRSgqQ0hBUikgTEVOKDEwKSArCi0gICAgICAgICAgICAgICAgICAgICAgICAgIFZBTFVFKCdaTElCJykgICAgICAgICAgICAgICAgICAgICAgICAgLyogU291cmNlIGxpYnJhcnkuICovCi0gICAgICAgICAgICAgRENMICAgICAgICBWQVIoJlNSQ0ZJTEUpIFRZUEUoKkNIQVIpIExFTigxMCkgKwotICAgICAgICAgICAgICAgICAgICAgICAgICBWQUxVRSgnU09VUkNFUycpICAgICAgICAgICAgICAgICAgICAgIC8qIFNvdXJjZSBtZW1iZXIgZmlsZS4gKi8KLSAgICAgICAgICAgICBEQ0wgICAgICAgIFZBUigmQ1RMRklMRSkgVFlQRSgqQ0hBUikgTEVOKDEwKSArCi0gICAgICAgICAgICAgICAgICAgICAgICAgIFZBTFVFKCdUT09MUycpICAgICAgICAgICAgICAgICAgICAgICAgLyogQ29udHJvbCBtZW1iZXIgZmlsZS4gKi8KLQotICAgICAgICAgICAgIERDTCAgICAgICAgVkFSKCZNT0RMSUIpIFRZUEUoKkNIQVIpIExFTigxMCkgKwotICAgICAgICAgICAgICAgICAgICAgICAgICBWQUxVRSgnWkxJQicpICAgICAgICAgICAgICAgICAgICAgICAgIC8qIE1vZHVsZSBsaWJyYXJ5LiAqLwotCi0gICAgICAgICAgICAgRENMICAgICAgICBWQVIoJlNSVkxJQikgVFlQRSgqQ0hBUikgTEVOKDEwKSArCi0gICAgICAgICAgICAgICAgICAgICAgICAgIFZBTFVFKCdMR1BMJykgICAgICAgICAgICAgICAgICAgICAgICAgLyogU2VydmljZSBwcm9ncmFtIGxpYnJhcnkuICovCi0KLSAgICAgICAgICAgICBEQ0wgICAgICAgIFZBUigmQ0ZMQUdTKSBUWVBFKCpDSEFSKSArCi0gICAgICAgICAgICAgICAgICAgICAgICAgIFZBTFVFKCdPUFRJTUlaRSg0MCknKSAgICAgICAgICAgICAgICAgLyogQ29tcGlsZSBvcHRpb25zLiAqLwotCi0gICAgICAgICAgICAgRENMICAgICAgICBWQVIoJlRHVFJMUykgVFlQRSgqQ0hBUikgKwotICAgICAgICAgICAgICAgICAgICAgICAgICBWQUxVRSgnVjVSM00wJykgICAgICAgICAgICAgICAgICAgICAgIC8qIFRhcmdldCByZWxlYXNlLiAqLwotCi0KLS8qICAgICAgV29ya2luZyBzdG9yYWdlLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCi0KLSAgICAgICAgICAgICBEQ0wgICAgICAgIFZBUigmQ01ETEVOKSBUWVBFKCpERUMpIExFTigxNSA1KSBWQUxVRSgzMDApICAgIC8qIENvbW1hbmQgbGVuZ3RoLiAqLwotICAgICAgICAgICAgIERDTCAgICAgICAgVkFSKCZDTUQpIFRZUEUoKkNIQVIpIExFTig1MTIpCi0gICAgICAgICAgICAgRENMICAgICAgICBWQVIoJkZJWERDTUQpIFRZUEUoKkNIQVIpIExFTig1MTIpCi0KLQotLyogICAgICBDb21waWxlIHNvdXJjZXMgaW50byBtb2R1bGVzLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLQotICAgICAgICAgICAgIENIR1ZBUiAgICAgVkFSKCZGSVhEQ01EKSBWQUxVRSgnQ1JUQ01PRCcgKkJDQVQgJkNGTEFHUyAqQkNBVCAgICAgICsKLSAgICAgICAgICAgICAgICAgICAgICAgICdTWVNJRkNPUFQoKklGUzY0SU8pJyAqQkNBVCAgICAgICAgICAgICAgICAgICAgICAgICAgICArCi0gICAgICAgICAgICAgICAgICAgICAgICAnREVGSU5FKCcnX0xBUkdFRklMRTY0X1NPVVJDRScnJyAqQkNBVCAgICAgICAgICAgICAgICAgKwotICAgICAgICAgICAgICAgICAgICAgICAgJycnX0xGUzY0X0xBUkdFRklMRT0xJycpIFRHVFJMUygnICpUQ0FUICZUR1RSTFMgKlRDQVQgICsKLSAgICAgICAgICAgICAgICAgICAgICAgICcpIFNSQ0ZJTEUoJyAqVENBVCAmU1JDTElCICpUQ0FUICcvJyAqVENBVCAgICAgICAgICAgICArCi0gICAgICAgICAgICAgICAgICAgICAgICAmU1JDRklMRSAqVENBVCAnKSBNT0RVTEUoJyAqVENBVCAmTU9ETElCICpUQ0FUICcvJykKLQotCi0gICAgICAgICAgICAgQ0hHVkFSICAgICBWQVIoJkNNRCkgVkFMVUUoJkZJWERDTUQgKlRDQVQgJ0FETEVSMzIpJykKLSAgICAgICAgICAgICBDQUxMICAgICAgIFBHTShRQ01ERVhDKSBQQVJNKCZDTUQgJkNNRExFTikKLQotICAgICAgICAgICAgIENIR1ZBUiAgICAgVkFSKCZDTUQpIFZBTFVFKCZGSVhEQ01EICpUQ0FUICdDT01QUkVTUyknKQotICAgICAgICAgICAgIENBTEwgICAgICAgUEdNKFFDTURFWEMpIFBBUk0oJkNNRCAmQ01ETEVOKQotCi0gICAgICAgICAgICAgQ0hHVkFSICAgICBWQVIoJkNNRCkgVkFMVUUoJkZJWERDTUQgKlRDQVQgJ0NSQzMyKScpCi0gICAgICAgICAgICAgQ0FMTCAgICAgICBQR00oUUNNREVYQykgUEFSTSgmQ01EICZDTURMRU4pCi0KLSAgICAgICAgICAgICBDSEdWQVIgICAgIFZBUigmQ01EKSBWQUxVRSgmRklYRENNRCAqVENBVCAnREVGTEFURSknKQotICAgICAgICAgICAgIENBTEwgICAgICAgUEdNKFFDTURFWEMpIFBBUk0oJkNNRCAmQ01ETEVOKQotCi0gICAgICAgICAgICAgQ0hHVkFSICAgICBWQVIoJkNNRCkgVkFMVUUoJkZJWERDTUQgKlRDQVQgJ0daQ0xPU0UpJykKLSAgICAgICAgICAgICBDQUxMICAgICAgIFBHTShRQ01ERVhDKSBQQVJNKCZDTUQgJkNNRExFTikKLQotICAgICAgICAgICAgIENIR1ZBUiAgICAgVkFSKCZDTUQpIFZBTFVFKCZGSVhEQ01EICpUQ0FUICdHWkxJQiknKQotICAgICAgICAgICAgIENBTEwgICAgICAgUEdNKFFDTURFWEMpIFBBUk0oJkNNRCAmQ01ETEVOKQotCi0gICAgICAgICAgICAgQ0hHVkFSICAgICBWQVIoJkNNRCkgVkFMVUUoJkZJWERDTUQgKlRDQVQgJ0daUkVBRCknKQotICAgICAgICAgICAgIENBTEwgICAgICAgUEdNKFFDTURFWEMpIFBBUk0oJkNNRCAmQ01ETEVOKQotCi0gICAgICAgICAgICAgQ0hHVkFSICAgICBWQVIoJkNNRCkgVkFMVUUoJkZJWERDTUQgKlRDQVQgJ0daV1JJVEUpJykKLSAgICAgICAgICAgICBDQUxMICAgICAgIFBHTShRQ01ERVhDKSBQQVJNKCZDTUQgJkNNRExFTikKLQotICAgICAgICAgICAgIENIR1ZBUiAgICAgVkFSKCZDTUQpIFZBTFVFKCZGSVhEQ01EICpUQ0FUICdJTkZCQUNLKScpCi0gICAgICAgICAgICAgQ0FMTCAgICAgICBQR00oUUNNREVYQykgUEFSTSgmQ01EICZDTURMRU4pCi0KLSAgICAgICAgICAgICBDSEdWQVIgICAgIFZBUigmQ01EKSBWQUxVRSgmRklYRENNRCAqVENBVCAnSU5GRkFTVCknKQotICAgICAgICAgICAgIENBTEwgICAgICAgUEdNKFFDTURFWEMpIFBBUk0oJkNNRCAmQ01ETEVOKQotCi0gICAgICAgICAgICAgQ0hHVkFSICAgICBWQVIoJkNNRCkgVkFMVUUoJkZJWERDTUQgKlRDQVQgJ0lORkxBVEUpJykKLSAgICAgICAgICAgICBDQUxMICAgICAgIFBHTShRQ01ERVhDKSBQQVJNKCZDTUQgJkNNRExFTikKLQotICAgICAgICAgICAgIENIR1ZBUiAgICAgVkFSKCZDTUQpIFZBTFVFKCZGSVhEQ01EICpUQ0FUICdJTkZUUkVFUyknKQotICAgICAgICAgICAgIENBTEwgICAgICAgUEdNKFFDTURFWEMpIFBBUk0oJkNNRCAmQ01ETEVOKQotCi0gICAgICAgICAgICAgQ0hHVkFSICAgICBWQVIoJkNNRCkgVkFMVUUoJkZJWERDTUQgKlRDQVQgJ1RSRUVTKScpCi0gICAgICAgICAgICAgQ0FMTCAgICAgICBQR00oUUNNREVYQykgUEFSTSgmQ01EICZDTURMRU4pCi0KLSAgICAgICAgICAgICBDSEdWQVIgICAgIFZBUigmQ01EKSBWQUxVRSgmRklYRENNRCAqVENBVCAnVU5DT01QUiknKQotICAgICAgICAgICAgIENBTEwgICAgICAgUEdNKFFDTURFWEMpIFBBUk0oJkNNRCAmQ01ETEVOKQotCi0gICAgICAgICAgICAgQ0hHVkFSICAgICBWQVIoJkNNRCkgVkFMVUUoJkZJWERDTUQgKlRDQVQgJ1pVVElMKScpCi0gICAgICAgICAgICAgQ0FMTCAgICAgICBQR00oUUNNREVYQykgUEFSTSgmQ01EICZDTURMRU4pCi0KLQotLyogICAgICBMaW5rIG1vZHVsZXMgaW50byBhIHNlcnZpY2UgcHJvZ3JhbS4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLQotICAgICAgICAgICAgIENSVFNSVlBHTSAgU1JWUEdNKCZTUlZMSUIvWkxJQikgKwotICAgICAgICAgICAgICAgICAgICAgICAgICBNT0RVTEUoJk1PRExJQi9BRExFUjMyICAgICAmTU9ETElCL0NPTVBSRVNTICAgICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZNT0RMSUIvQ1JDMzIgICAgICAgJk1PRExJQi9ERUZMQVRFICAgICArCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmTU9ETElCL0daQ0xPU0UgICAgICZNT0RMSUIvR1pMSUIgICAgICAgKwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJk1PRExJQi9HWlJFQUQgICAgICAmTU9ETElCL0daV1JJVEUgICAgICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZNT0RMSUIvSU5GQkFDSyAgICAgJk1PRExJQi9JTkZGQVNUICAgICArCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmTU9ETElCL0lORkxBVEUgICAgICZNT0RMSUIvSU5GVFJFRVMgICAgKwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJk1PRExJQi9UUkVFUyAgICAgICAmTU9ETElCL1VOQ09NUFIgICAgICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZNT0RMSUIvWlVUSUwpICAgICAgICAgICAgICAgICAgICAgICAgICArCi0gICAgICAgICAgICAgICAgICAgICAgICAgIFNSQ0ZJTEUoJlNSQ0xJQi8mQ1RMRklMRSkgU1JDTUJSKEJORFNSQykgICAgICAgKwotICAgICAgICAgICAgICAgICAgICAgICAgICBURVhUKCdaTElCIDEuMi44JykgVEdUUkxTKCZUR1RSTFMpCi0KLSAgICAgICAgICAgICBFTkRQR00KZGlmZiAtLWdpdCBhL3NyYy9hczQwMC9yZWFkbWUudHh0IGIvc3JjL2FzNDAwL3JlYWRtZS50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdiNWQ5M2IuLjAwMDAwMDAKLS0tIGEvc3JjL2FzNDAwL3JlYWRtZS50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMTUgKzAsMCBAQAotICAgICAgICBaTElCIHZlcnNpb24gMS4yLjggZm9yIEFTNDAwIGluc3RhbGxhdGlvbiBpbnN0cnVjdGlvbnMKLQotSSkgRnJvbSBhbiBBUzQwMCAqU0FWRiBmaWxlOgotCi0xKSAgICAgIFVucGFja2luZyBhcmNoaXZlIHRvIGFuIEFTNDAwIHNhdmUgZmlsZQotCi1PbiB0aGUgQVM0MDA6Ci0KLV8gICAgICAgQ3JlYXRlIHRoZSBaTElCIEFTNDAwIGxpYnJhcnk6Ci0KLSAgICAgICAgQ1JUTElCIExJQihaTElCKSBUWVBFKCpQUk9EKSBURVhUKCdaTElCIGNvbXByZXNzaW9uIEFQSSBsaWJyYXJ5JykKLQotXyAgICAgICBDcmVhdGUgYSB3b3JrIHNhdmUgZmlsZSwgZm9yIGV4YW1wbGU6Ci0KLSAgICAgICAgICAgICAgICBDUlRTQVZGIEZJTEUoWkxJQi9aTElCU0FWRikKLQotT24gYSBQQyBjb25uZWN0ZWQgdG8gdGhlIHRhcmdldCBBUzQwMDoKLQotXyAgICAgICBVbnBhY2sgdGhlIHNhdmUgZmlsZSBpbWFnZSB0byBhIFBDIGZpbGUgIlpMSUJTQVZGIgotXyAgICAgICBVcGxvYWQgdGhpcyBmaWxlIGludG8gdGhlIHNhdmUgZmlsZSBvbiB0aGUgQVM0MDAsIGZvciBleGFtcGxlCi0gICAgICAgICAgICAgICAgdXNpbmcgZnRwIGluIEJJTkFSWSBtb2RlLgotCi0KLTIpICAgICAgUG9wdWxhdGluZyB0aGUgWkxJQiBBUzQwMCBzb3VyY2UgbGlicmFyeQotCi1PbiB0aGUgQVM0MDA6Ci0KLV8gICAgICAgRXh0cmFjdCB0aGUgc2F2ZWQgb2JqZWN0cyBpbnRvIHRoZSBaTElCIEFTNDAwIGxpYnJhcnkgdXNpbmc6Ci0KLVJTVE9CSiBPQkooKkFMTCkgU0FWTElCKFpMSUIpIERFVigqU0FWRikgU0FWRihaTElCL1pMSUJTQVZGKSBSU1RMSUIoWkxJQikKLQotCi0zKSAgICAgIEN1c3RvbWl6ZSBpbnN0YWxsYXRpb246Ci0KLV8gICAgICAgRWRpdCBDTCBtZW1iZXIgWkxJQi9UT09MUyhDT01QSUxFKSBhbmQgY2hhbmdlIHBhcmFtZXRlcnMgaWYgbmVlZGVkLAotICAgICAgICAgICAgICAgIGFjY29yZGluZyB0byB0aGUgY29tbWVudHMuCi0KLV8gICAgICAgQ29tcGlsZSB0aGlzIG1lbWJlciB3aXRoOgotCi0gICAgICAgIENSVENMUEdNIFBHTShaTElCL0NPTVBJTEUpIFNSQ0ZJTEUoWkxJQi9UT09MUykgU1JDTUJSKENPTVBJTEUpCi0KLQotNCkgICAgICBDb21waWxlIGFuZCBnZW5lcmF0ZSB0aGUgc2VydmljZSBwcm9ncmFtOgotCi1fICAgICAgIFRoaXMgY2FuIG5vdyBiZSBkb25lIGJ5IGV4ZWN1dGluZzoKLQotICAgICAgICBDQUxMIFBHTShaTElCL0NPTVBJTEUpCi0KLQotCi1JSSkgRnJvbSB0aGUgb3JpZ2luYWwgc291cmNlIGRpc3RyaWJ1dGlvbjoKLQotMSkgICAgICBPbiB0aGUgQVM0MDAsIGNyZWF0ZSB0aGUgc291cmNlIGxpYnJhcnk6Ci0KLSAgICAgICAgQ1JUTElCIExJQihaTElCKSBUWVBFKCpQUk9EKSBURVhUKCdaTElCIGNvbXByZXNzaW9uIEFQSSBsaWJyYXJ5JykKLQotMikgICAgICBDcmVhdGUgdGhlIHNvdXJjZSBmaWxlczoKLQotICAgICAgICBDUlRTUkNQRiBGSUxFKFpMSUIvU09VUkNFUykgUkNETEVOKDExMikgVEVYVCgnWkxJQiBsaWJyYXJ5IG1vZHVsZXMnKQotICAgICAgICBDUlRTUkNQRiBGSUxFKFpMSUIvSCkgICAgICAgUkNETEVOKDExMikgVEVYVCgnWkxJQiBsaWJyYXJ5IGluY2x1ZGVzJykKLSAgICAgICAgQ1JUU1JDUEYgRklMRShaTElCL1RPT0xTKSAgIFJDRExFTigxMTIpIFRFWFQoJ1pMSUIgbGlicmFyeSBjb250cm9sIHV0aWxpdGllcycpCi0KLTMpICAgICAgRnJvbSB0aGUgbWFjaGluZSBob3N0aW5nIHRoZSBkaXN0cmlidXRpb24gZmlsZXMsIHVwbG9hZCB0aGVtICh3aXRoCi0gICAgICAgICAgICAgICAgRlRQIGluIHRleHQgbW9kZSwgZm9yIGV4YW1wbGUpIGFjY29yZGluZyB0byB0aGUgZm9sbG93aW5nIHRhYmxlOgotCi0gICAgT3JpZ2luYWwgICAgQVM0MDAgICBBUzQwMCAgICBBUzQwMCBBUzQwMAotICAgIGZpbGUgICAgICAgIGZpbGUgICAgbWVtYmVyICAgdHlwZSAgZGVzY3JpcHRpb24KLSAgICAgICAgICAgICAgICBTT1VSQ0VTICAgICAgICAgICAgICAgIE9yaWdpbmFsIFpMSUIgQyBzdWJwcm9ncmFtIHNvdXJjZXMKLSAgICBhZGxlcjMyLmMgICAgICAgICAgIEFETEVSMzIgIEMgICAgIFpMSUIgLSBDb21wdXRlIHRoZSBBZGxlci0zMiBjaGVja3N1bSBvZiBhIGR0YSBzdHJtCi0gICAgY29tcHJlc3MuYyAgICAgICAgICBDT01QUkVTUyBDICAgICBaTElCIC0gQ29tcHJlc3MgYSBtZW1vcnkgYnVmZmVyCi0gICAgY3JjMzIuYyAgICAgICAgICAgICBDUkMzMiAgICBDICAgICBaTElCIC0gQ29tcHV0ZSB0aGUgQ1JDLTMyIG9mIGEgZGF0YSBzdHJlYW0KLSAgICBkZWZsYXRlLmMgICAgICAgICAgIERFRkxBVEUgIEMgICAgIFpMSUIgLSBDb21wcmVzcyBkYXRhIHVzaW5nIHRoZSBkZWZsYXRpb24gYWxnb3JpdGhtCi0gICAgZ3pjbG9zZS5jICAgICAgICAgICBHWkNMT1NFICBDICAgICBaTElCIC0gQ2xvc2UgLmd6IGZpbGVzCi0gICAgZ3psaWIuYyAgICAgICAgICAgICBHWkxJQiAgICBDICAgICBaTElCIC0gTWlzY2VsbGFuZW91cyAuZ3ogZmlsZXMgSU8gc3VwcG9ydAotICAgIGd6cmVhZC5jICAgICAgICAgICAgR1pSRUFEICAgQyAgICAgWkxJQiAtIFJlYWQgLmd6IGZpbGVzCi0gICAgZ3p3cml0ZS5jICAgICAgICAgICBHWldSSVRFICBDICAgICBaTElCIC0gV3JpdGUgLmd6IGZpbGVzCi0gICAgaW5mYmFjay5jICAgICAgICAgICBJTkZCQUNLICBDICAgICBaTElCIC0gSW5mbGF0ZSB1c2luZyBhIGNhbGxiYWNrIGludGVyZmFjZQotICAgIGluZmZhc3QuYyAgICAgICAgICAgSU5GRkFTVCAgQyAgICAgWkxJQiAtIEZhc3QgcHJvYy4gbGl0ZXJhbHMgJiBsZW5ndGgvZGlzdGFuY2UgcGFpcnMKLSAgICBpbmZsYXRlLmMgICAgICAgICAgIElORkxBVEUgIEMgICAgIFpMSUIgLSBJbnRlcmZhY2UgdG8gaW5mbGF0ZSBtb2R1bGVzCi0gICAgaW5mdHJlZXMuYyAgICAgICAgICBJTkZUUkVFUyBDICAgICBaTElCIC0gR2VuZXJhdGUgSHVmZm1hbiB0cmVlcyBmb3IgZWZmaWNpZW50IGRlY29kZQotICAgIHRyZWVzLmMgICAgICAgICAgICAgVFJFRVMgICAgQyAgICAgWkxJQiAtIE91dHB1dCBkZWZsYXRlZCBkYXRhIHVzaW5nIEh1ZmZtYW4gY29kaW5nCi0gICAgdW5jb21wci5jICAgICAgICAgICBVTkNPTVBSICBDICAgICBaTElCIC0gRGVjb21wcmVzcyBhIG1lbW9yeSBidWZmZXIKLSAgICB6dXRpbC5jICAgICAgICAgICAgIFpVVElMICAgIEMgICAgIFpMSUIgLSBUYXJnZXQgZGVwZW5kZW50IHV0aWxpdHkgZnVuY3Rpb25zCi0gICAgICAgICAgICAgICAgSCAgICAgICAgICAgICAgICAgICAgICBPcmlnaW5hbCBaTElCIEMgYW5kIElMRS9SUEcgaW5jbHVkZSBmaWxlcwotICAgIGNyYzMyLmggICAgICAgICAgICAgQ1JDMzIgICAgQyAgICAgWkxJQiAtIENSQzMyIHRhYmxlcwotICAgIGRlZmxhdGUuaCAgICAgICAgICAgREVGTEFURSAgQyAgICAgWkxJQiAtIEludGVybmFsIGNvbXByZXNzaW9uIHN0YXRlCi0gICAgZ3pndXRzLmggICAgICAgICAgICBHWkdVVFMgICBDICAgICBaTElCIC0gRGVmaW5pdGlvbnMgZm9yIHRoZSBnemNsb3NlIG1vZHVsZQotICAgIGluZmZhc3QuaCAgICAgICAgICAgSU5GRkFTVCAgQyAgICAgWkxJQiAtIEhlYWRlciB0byB1c2UgaW5mZmFzdC5jCi0gICAgaW5mZml4ZWQuaCAgICAgICAgICBJTkZGSVhFRCBDICAgICBaTElCIC0gVGFibGUgZm9yIGRlY29kaW5nIGZpeGVkIGNvZGVzCi0gICAgaW5mbGF0ZS5oICAgICAgICAgICBJTkZMQVRFICBDICAgICBaTElCIC0gSW50ZXJuYWwgaW5mbGF0ZSBzdGF0ZSBkZWZpbml0aW9ucwotICAgIGluZnRyZWVzLmggICAgICAgICAgSU5GVFJFRVMgQyAgICAgWkxJQiAtIEhlYWRlciB0byB1c2UgaW5mdHJlZXMuYwotICAgIHRyZWVzLmggICAgICAgICAgICAgVFJFRVMgICAgQyAgICAgWkxJQiAtIENyZWF0ZWQgYXV0b21hdGljYWxseSB3aXRoIC1ER0VOX1RSRUVTX0gKLSAgICB6Y29uZi5oICAgICAgICAgICAgIFpDT05GICAgIEMgICAgIFpMSUIgLSBDb21wcmVzc2lvbiBsaWJyYXJ5IGNvbmZpZ3VyYXRpb24KLSAgICB6bGliLmggICAgICAgICAgICAgIFpMSUIgICAgIEMgICAgIFpMSUIgLSBDb21wcmVzc2lvbiBsaWJyYXJ5IEMgdXNlciBpbnRlcmZhY2UKLSAgICBhczQwMC96bGliLmluYyAgICAgIFpMSUIuSU5DIFJQR0xFIFpMSUIgLSBDb21wcmVzc2lvbiBsaWJyYXJ5IElMRSBSUEcgdXNlciBpbnRlcmZhY2UKLSAgICB6dXRpbC5oICAgICAgICAgICAgIFpVVElMICAgIEMgICAgIFpMSUIgLSBJbnRlcm5hbCBpbnRlcmZhY2UgYW5kIGNvbmZpZ3VyYXRpb24KLSAgICAgICAgICAgICAgICBUT09MUyAgICAgICAgICAgICAgICAgIEJ1aWxkaW5nIHNvdXJjZSBzb2Z0d2FyZSAmIEFTLzQwMCBSRUFETUUKLSAgICBhczQwMC9ibmRzcmMgICAgICAgIEJORFNSQyAgICAgICAgIEVudHJ5IHBvaW50IGV4cG9ydGF0aW9uIGxpc3QKLSAgICBhczQwMC9jb21waWxlLmNscCAgIENPTVBJTEUgIENMUCAgIENvbXBpbGUgc291cmNlcyAmIGdlbmVyYXRlIHNlcnZpY2UgcHJvZ3JhbQotICAgIGFzNDAwL3JlYWRtZS50eHQgICAgUkVBRE1FICAgVFhUICAgSW5zdGFsbGF0aW9uIGluc3RydWN0aW9ucwotCi00KSAgICAgIENvbnRpbnVlIGFzIGluIEkpMykuCi0KLQotCi0KLU5vdGVzOiAgRm9yIEFTNDAwIElMRSBSUEcgcHJvZ3JhbW1lcnMsIGEgL2NvcHkgbWVtYmVyIGRlZmluaW5nIHRoZSBaTElCCi0gICAgICAgICAgICAgICAgQVBJIHByb3RvdHlwZXMgZm9yIElMRSBSUEcgY2FuIGJlIGZvdW5kIGluIFpMSUIvSChaTElCLklOQykuCi0gICAgICAgICAgICAgICAgUGxlYXNlIHJlYWQgY29tbWVudHMgaW4gdGhpcyBtZW1iZXIgZm9yIG1vcmUgaW5mb3JtYXRpb24uCi0KLSAgICAgICAgUmVtZW1iZXIgdGhhdCBtb3N0IGZvcmVpZ24gdGV4dHVhbCBkYXRhIGFyZSBBU0NJSSBjb2RlZDogdGhpcwotICAgICAgICAgICAgICAgIGltcGxlbWVudGF0aW9uIGRvZXMgbm90IGhhbmRsZSBjb252ZXJzaW9uIGZyb20vdG8gQVNDSUksIHNvCi0gICAgICAgICAgICAgICAgdGV4dCBkYXRhIGNvZGUgY29udmVyc2lvbnMgbXVzdCBiZSBkb25lIGV4cGxpY2l0ZWx5LgotCi0gICAgICAgIE1haW5seSBmb3IgdGhlIHJlYXNvbiBhYm92ZSwgYWx3YXlzIG9wZW4gemlwcGVkIGZpbGVzIGluIGJpbmFyeSBtb2RlLgpkaWZmIC0tZ2l0IGEvc3JjL2NvbXByZXNzLmMgYi9zcmMvY29tcHJlc3MuYwppbmRleCA2ZTk3NjI2Li4yYWQ1MzI2IDEwMDY0NAotLS0gYS9zcmMvY29tcHJlc3MuYworKysgYi9zcmMvY29tcHJlc3MuYwpAQCAtMSw1ICsxLDUgQEAKIC8qIGNvbXByZXNzLmMgLS0gY29tcHJlc3MgYSBtZW1vcnkgYnVmZmVyCi0gKiBDb3B5cmlnaHQgKEMpIDE5OTUtMjAwNSBKZWFuLWxvdXAgR2FpbGx5LgorICogQ29weXJpZ2h0IChDKSAxOTk1LTIwMDUsIDIwMTQsIDIwMTYgSmVhbi1sb3VwIEdhaWxseSwgTWFyayBBZGxlcgogICogRm9yIGNvbmRpdGlvbnMgb2YgZGlzdHJpYnV0aW9uIGFuZCB1c2UsIHNlZSBjb3B5cmlnaHQgbm90aWNlIGluIHpsaWIuaAogICovCiAKQEAgLTE5LDcgKzE5LDcgQEAKICAgIG1lbW9yeSwgWl9CVUZfRVJST1IgaWYgdGhlcmUgd2FzIG5vdCBlbm91Z2ggcm9vbSBpbiB0aGUgb3V0cHV0IGJ1ZmZlciwKICAgIFpfU1RSRUFNX0VSUk9SIGlmIHRoZSBsZXZlbCBwYXJhbWV0ZXIgaXMgaW52YWxpZC4KICovCi1pbnQgWkVYUE9SVCBjb21wcmVzczIgKGRlc3QsIGRlc3RMZW4sIHNvdXJjZSwgc291cmNlTGVuLCBsZXZlbCkKK2ludCBaRVhQT1JUIGNvbXByZXNzMihkZXN0LCBkZXN0TGVuLCBzb3VyY2UsIHNvdXJjZUxlbiwgbGV2ZWwpCiAgICAgQnl0ZWYgKmRlc3Q7CiAgICAgdUxvbmdmICpkZXN0TGVuOwogICAgIGNvbnN0IEJ5dGVmICpzb3VyY2U7CkBAIC0yOCwxNiArMjgsMTEgQEAKIHsKICAgICB6X3N0cmVhbSBzdHJlYW07CiAgICAgaW50IGVycjsKKyAgICBjb25zdCB1SW50IG1heCA9ICh1SW50KS0xOworICAgIHVMb25nIGxlZnQ7CiAKLSAgICBzdHJlYW0ubmV4dF9pbiA9ICh6X2NvbnN0IEJ5dGVmICopc291cmNlOwotICAgIHN0cmVhbS5hdmFpbF9pbiA9ICh1SW50KXNvdXJjZUxlbjsKLSNpZmRlZiBNQVhTRUdfNjRLCi0gICAgLyogQ2hlY2sgZm9yIHNvdXJjZSA+IDY0SyBvbiAxNi1iaXQgbWFjaGluZTogKi8KLSAgICBpZiAoKHVMb25nKXN0cmVhbS5hdmFpbF9pbiAhPSBzb3VyY2VMZW4pIHJldHVybiBaX0JVRl9FUlJPUjsKLSNlbmRpZgotICAgIHN0cmVhbS5uZXh0X291dCA9IGRlc3Q7Ci0gICAgc3RyZWFtLmF2YWlsX291dCA9ICh1SW50KSpkZXN0TGVuOwotICAgIGlmICgodUxvbmcpc3RyZWFtLmF2YWlsX291dCAhPSAqZGVzdExlbikgcmV0dXJuIFpfQlVGX0VSUk9SOworICAgIGxlZnQgPSAqZGVzdExlbjsKKyAgICAqZGVzdExlbiA9IDA7CiAKICAgICBzdHJlYW0uemFsbG9jID0gKGFsbG9jX2Z1bmMpMDsKICAgICBzdHJlYW0uemZyZWUgPSAoZnJlZV9mdW5jKTA7CkBAIC00NiwyMCArNDEsMzEgQEAKICAgICBlcnIgPSBkZWZsYXRlSW5pdCgmc3RyZWFtLCBsZXZlbCk7CiAgICAgaWYgKGVyciAhPSBaX09LKSByZXR1cm4gZXJyOwogCi0gICAgZXJyID0gZGVmbGF0ZSgmc3RyZWFtLCBaX0ZJTklTSCk7Ci0gICAgaWYgKGVyciAhPSBaX1NUUkVBTV9FTkQpIHsKLSAgICAgICAgZGVmbGF0ZUVuZCgmc3RyZWFtKTsKLSAgICAgICAgcmV0dXJuIGVyciA9PSBaX09LID8gWl9CVUZfRVJST1IgOiBlcnI7Ci0gICAgfQotICAgICpkZXN0TGVuID0gc3RyZWFtLnRvdGFsX291dDsKKyAgICBzdHJlYW0ubmV4dF9vdXQgPSBkZXN0OworICAgIHN0cmVhbS5hdmFpbF9vdXQgPSAwOworICAgIHN0cmVhbS5uZXh0X2luID0gKHpfY29uc3QgQnl0ZWYgKilzb3VyY2U7CisgICAgc3RyZWFtLmF2YWlsX2luID0gMDsKIAotICAgIGVyciA9IGRlZmxhdGVFbmQoJnN0cmVhbSk7Ci0gICAgcmV0dXJuIGVycjsKKyAgICBkbyB7CisgICAgICAgIGlmIChzdHJlYW0uYXZhaWxfb3V0ID09IDApIHsKKyAgICAgICAgICAgIHN0cmVhbS5hdmFpbF9vdXQgPSBsZWZ0ID4gKHVMb25nKW1heCA/IG1heCA6ICh1SW50KWxlZnQ7CisgICAgICAgICAgICBsZWZ0IC09IHN0cmVhbS5hdmFpbF9vdXQ7CisgICAgICAgIH0KKyAgICAgICAgaWYgKHN0cmVhbS5hdmFpbF9pbiA9PSAwKSB7CisgICAgICAgICAgICBzdHJlYW0uYXZhaWxfaW4gPSBzb3VyY2VMZW4gPiAodUxvbmcpbWF4ID8gbWF4IDogKHVJbnQpc291cmNlTGVuOworICAgICAgICAgICAgc291cmNlTGVuIC09IHN0cmVhbS5hdmFpbF9pbjsKKyAgICAgICAgfQorICAgICAgICBlcnIgPSBkZWZsYXRlKCZzdHJlYW0sIHNvdXJjZUxlbiA/IFpfTk9fRkxVU0ggOiBaX0ZJTklTSCk7CisgICAgfSB3aGlsZSAoZXJyID09IFpfT0spOworCisgICAgKmRlc3RMZW4gPSBzdHJlYW0udG90YWxfb3V0OworICAgIGRlZmxhdGVFbmQoJnN0cmVhbSk7CisgICAgcmV0dXJuIGVyciA9PSBaX1NUUkVBTV9FTkQgPyBaX09LIDogZXJyOwogfQogCiAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAqLwotaW50IFpFWFBPUlQgY29tcHJlc3MgKGRlc3QsIGRlc3RMZW4sIHNvdXJjZSwgc291cmNlTGVuKQoraW50IFpFWFBPUlQgY29tcHJlc3MoZGVzdCwgZGVzdExlbiwgc291cmNlLCBzb3VyY2VMZW4pCiAgICAgQnl0ZWYgKmRlc3Q7CiAgICAgdUxvbmdmICpkZXN0TGVuOwogICAgIGNvbnN0IEJ5dGVmICpzb3VyY2U7CkBAIC03Miw3ICs3OCw3IEBACiAgICAgIElmIHRoZSBkZWZhdWx0IG1lbUxldmVsIG9yIHdpbmRvd0JpdHMgZm9yIGRlZmxhdGVJbml0KCkgaXMgY2hhbmdlZCwgdGhlbgogICAgdGhpcyBmdW5jdGlvbiBuZWVkcyB0byBiZSB1cGRhdGVkLgogICovCi11TG9uZyBaRVhQT1JUIGNvbXByZXNzQm91bmQgKHNvdXJjZUxlbikKK3VMb25nIFpFWFBPUlQgY29tcHJlc3NCb3VuZChzb3VyY2VMZW4pCiAgICAgdUxvbmcgc291cmNlTGVuOwogewogICAgIHJldHVybiBzb3VyY2VMZW4gKyAoc291cmNlTGVuID4+IDEyKSArIChzb3VyY2VMZW4gPj4gMTQpICsKZGlmZiAtLWdpdCBhL3NyYy9jb25maWd1cmUgYi9zcmMvY29uZmlndXJlCmluZGV4IGI3N2E4YTguLmZhNGQ1ZGEgMTAwNzU1Ci0tLSBhL3NyYy9jb25maWd1cmUKKysrIGIvc3JjL2NvbmZpZ3VyZQpAQCAtMTgsMjAgKzE4LDM1IEBACiBlY2hvICQwICQqID4+IGNvbmZpZ3VyZS5sb2cKIGRhdGUgPj4gY29uZmlndXJlLmxvZwogCisjIGdldCBzb3VyY2UgZGlyZWN0b3J5CitTUkNESVI9YGRpcm5hbWUgJDBgCitpZiB0ZXN0ICRTUkNESVIgPSAiLiI7IHRoZW4KKyAgICBaSU5DPSIiCisgICAgWklOQ09VVD0iLUkuIgorICAgIFNSQ0RJUj0iIgorZWxzZQorICAgIFpJTkM9Jy1pbmNsdWRlIHpjb25mLmgnCisgICAgWklOQ09VVD0nLUkuIC1JJChTUkNESVIpJworICAgIFNSQ0RJUj0iJFNSQ0RJUi8iCitmaQorCiAjIHNldCBjb21tYW5kIHByZWZpeCBmb3IgY3Jvc3MtY29tcGlsYXRpb24KIGlmIFsgLW4gIiR7Q0hPU1R9IiBdOyB0aGVuCi0gICAgdW5hbWU9ImBlY2hvICIke0NIT1NUfSIgfCBzZWQgLWUgJ3MvXlteLV0qLVwoW14tXSpcKSQvXDEvJyAtZSAncy9eW14tXSotW14tXSotXChbXi1dKlwpJC9cMS8nIC1lICdzL15bXi1dKi1bXi1dKi1cKFteLV0qXCktLiokL1wxLydgIgorICAgIHVuYW1lPSR7Q0hPU1R9CisgICAgbW5hbWU9JHtDSE9TVH0KICAgICBDUk9TU19QUkVGSVg9IiR7Q0hPU1R9LSIKK2Vsc2UKKyAgICBtbmFtZT1gKHVuYW1lIC1hIHx8IGVjaG8gdW5rbm93bikgMj4vZGV2L251bGxgCiBmaQogCiAjIGRlc3RpbmF0aW9uIG5hbWUgZm9yIHN0YXRpYyBsaWJyYXJ5CiBTVEFUSUNMSUI9bGliei5hCiAKICMgZXh0cmFjdCB6bGliIHZlcnNpb24gbnVtYmVycyBmcm9tIHpsaWIuaAotVkVSPWBzZWQgLW4gLWUgJy9WRVJTSU9OICIvcy8uKiJcKC4qXCkiLiovXDEvcCcgPCB6bGliLmhgCi1WRVIzPWBzZWQgLW4gLWUgJy9WRVJTSU9OICIvcy8uKiJcKFswLTldKlxcLlswLTldKlxcLlswLTldKlwpLiovXDEvcCcgPCB6bGliLmhgCi1WRVIyPWBzZWQgLW4gLWUgJy9WRVJTSU9OICIvcy8uKiJcKFswLTldKlxcLlswLTldKlwpXFwuLiovXDEvcCcgPCB6bGliLmhgCi1WRVIxPWBzZWQgLW4gLWUgJy9WRVJTSU9OICIvcy8uKiJcKFswLTldKlwpXFwuLiovXDEvcCcgPCB6bGliLmhgCitWRVI9YHNlZCAtbiAtZSAnL1ZFUlNJT04gIi9zLy4qIlwoLipcKSIuKi9cMS9wJyA8ICR7U1JDRElSfXpsaWIuaGAKK1ZFUjM9YHNlZCAtbiAtZSAnL1ZFUlNJT04gIi9zLy4qIlwoWzAtOV0qXFwuWzAtOV0qXFwuWzAtOV0qXCkuKi9cMS9wJyA8ICR7U1JDRElSfXpsaWIuaGAKK1ZFUjI9YHNlZCAtbiAtZSAnL1ZFUlNJT04gIi9zLy4qIlwoWzAtOV0qXFwuWzAtOV0qXClcXC4uKi9cMS9wJyA8ICR7U1JDRElSfXpsaWIuaGAKK1ZFUjE9YHNlZCAtbiAtZSAnL1ZFUlNJT04gIi9zLy4qIlwoWzAtOV0qXClcXC4uKi9cMS9wJyA8ICR7U1JDRElSfXpsaWIuaGAKIAogIyBlc3RhYmxpc2ggY29tbWFuZHMgZm9yIGxpYnJhcnkgYnVpbGRpbmcKIGlmICIke0NST1NTX1BSRUZJWH1hciIgLS12ZXJzaW9uID4vZGV2L251bGwgMj4vZGV2L251bGwgfHwgdGVzdCAkPyAtbHQgMTI2OyB0aGVuCkBAIC03Myw2ICs4OCw5IEBACiB6Y29uc3Q9MAogYnVpbGQ2ND0wCiBnY2M9MAord2Fybj0wCitkZWJ1Zz0wCitzYW5pdGl6ZT0wCiBvbGRfY2M9IiRDQyIKIG9sZF9jZmxhZ3M9IiRDRkxBR1MiCiBPQkpDPSckKE9CSlopICQoT0JKRyknCkBAIC0xMjEsNiArMTM5LDkgQEAKICAgICAtLXN5c2NvbmZkaXI9KikgZWNobyAiaWdub3JlZCBvcHRpb246IC0tc3lzY29uZmRpciIgfCB0ZWUgLWEgY29uZmlndXJlLmxvZzsgc2hpZnQgOzsKICAgICAtLWxvY2Fsc3RhdGVkaXI9KikgZWNobyAiaWdub3JlZCBvcHRpb246IC0tbG9jYWxzdGF0ZWRpciIgfCB0ZWUgLWEgY29uZmlndXJlLmxvZzsgc2hpZnQgOzsKICAgICAtYyogfCAtLWNvbnN0KSB6Y29uc3Q9MTsgc2hpZnQgOzsKKyAgICAtdyogfCAtLXdhcm4pIHdhcm49MTsgc2hpZnQgOzsKKyAgICAtZCogfCAtLWRlYnVnKSBkZWJ1Zz0xOyBzaGlmdCA7OworICAgIC0tc2FuaXRpemUpIHNhbml0aXplPTE7IHNoaWZ0IDs7CiAgICAgKikKICAgICAgIGVjaG8gInVua25vd24gb3B0aW9uOiAkMSIgfCB0ZWUgLWEgY29uZmlndXJlLmxvZwogICAgICAgZWNobyAiJDAgLS1oZWxwIGZvciBoZWxwIiB8IHRlZSAtYSBjb25maWd1cmUubG9nCkBAIC0xNDksODEgKzE3MCwxMDQgQEAKIGludCBoZWxsbygpIHtyZXR1cm4gZ2V0Y2hhcigpO30KIEVPRgogCi10ZXN0IC16ICIkQ0MiICYmIGVjaG8gQ2hlY2tpbmcgZm9yICR7Q1JPU1NfUFJFRklYfWdjYy4uLiB8IHRlZSAtYSBjb25maWd1cmUubG9nCi1jYz0ke0NDLSR7Q1JPU1NfUFJFRklYfWdjY30KLWNmbGFncz0ke0NGTEFHUy0iLU8zIn0KLSMgdG8gZm9yY2UgdGhlIGFzbSB2ZXJzaW9uIHVzZTogQ0ZMQUdTPSItTzMgLURBU01WIiAuL2NvbmZpZ3VyZQoraWYgdGVzdCAteiAiJENDIjsgdGhlbgorICBlY2hvIENoZWNraW5nIGZvciAke0NST1NTX1BSRUZJWH1nY2MuLi4gfCB0ZWUgLWEgY29uZmlndXJlLmxvZworICBpZiAke0NST1NTX1BSRUZJWH1nY2MgLXYgPi9kZXYvbnVsbCAyPiYxOyB0aGVuCisgICAgY2M9JHtDUk9TU19QUkVGSVh9Z2NjCisgIGVsc2UKKyAgICBjYz0ke0NST1NTX1BSRUZJWH1jYworICBmaQorZWxzZQorICBjYz0ke0NDfQorZmkKKwogY2FzZSAiJGNjIiBpbgogICAqZ2NjKikgZ2NjPTEgOzsKICAgKmNsYW5nKikgZ2NjPTEgOzsKIGVzYWMKIGNhc2UgYCRjYyAtdiAyPiYxYCBpbgogICAqZ2NjKikgZ2NjPTEgOzsKKyAgKmNsYW5nKikgZ2NjPTEgOzsKIGVzYWMKIAogc2hvdyAkY2MgLWMgJHRlc3QuYwogaWYgdGVzdCAiJGdjYyIgLWVxIDEgJiYgKCRjYyAtYyAkdGVzdC5jKSA+PiBjb25maWd1cmUubG9nIDI+JjE7IHRoZW4KICAgZWNobyAuLi4gdXNpbmcgZ2NjID4+IGNvbmZpZ3VyZS5sb2cKICAgQ0M9IiRjYyIKLSAgQ0ZMQUdTPSIke0NGTEFHUy0tTzN9ICR7QVJDSFN9IgorICBDRkxBR1M9IiR7Q0ZMQUdTLS1PM30iCiAgIFNGTEFHUz0iJHtDRkxBR1MtLU8zfSAtZlBJQyIKLSAgTERGTEFHUz0iJHtMREZMQUdTfSAke0FSQ0hTfSIKKyAgaWYgdGVzdCAiJEFSQ0hTIjsgdGhlbgorICAgIENGTEFHUz0iJHtDRkxBR1N9ICR7QVJDSFN9IgorICAgIExERkxBR1M9IiR7TERGTEFHU30gJHtBUkNIU30iCisgIGZpCiAgIGlmIHRlc3QgJGJ1aWxkNjQgLWVxIDE7IHRoZW4KICAgICBDRkxBR1M9IiR7Q0ZMQUdTfSAtbTY0IgogICAgIFNGTEFHUz0iJHtTRkxBR1N9IC1tNjQiCiAgIGZpCi0gIGlmIHRlc3QgIiR7WkxJQkdDQ1dBUk59IiA9ICJZRVMiOyB0aGVuCisgIGlmIHRlc3QgIiR3YXJuIiAtZXEgMTsgdGhlbgogICAgIGlmIHRlc3QgIiR6Y29uc3QiIC1lcSAxOyB0aGVuCi0gICAgICBDRkxBR1M9IiR7Q0ZMQUdTfSAtV2FsbCAtV2V4dHJhIC1XY2FzdC1xdWFsIC1wZWRhbnRpYyAtRFpMSUJfQ09OU1QiCisgICAgICBDRkxBR1M9IiR7Q0ZMQUdTfSAtV2FsbCAtV2V4dHJhIC1XY2FzdC1xdWFsIC1EWkxJQl9DT05TVCIKICAgICBlbHNlCi0gICAgICBDRkxBR1M9IiR7Q0ZMQUdTfSAtV2FsbCAtV2V4dHJhIC1wZWRhbnRpYyIKKyAgICAgIENGTEFHUz0iJHtDRkxBR1N9IC1XYWxsIC1XZXh0cmEiCiAgICAgZmkKICAgZmkKKyAgaWYgdGVzdCAkc2FuaXRpemUgLWVxIDE7IHRoZW4KKyAgICBDRkxBR1M9IiR7Q0ZMQUdTfSAtZyAtZnNhbml0aXplPWFkZHJlc3MiCisgIGZpCisgIGlmIHRlc3QgJGRlYnVnIC1lcSAxOyB0aGVuCisgICAgQ0ZMQUdTPSIke0NGTEFHU30gLURaTElCX0RFQlVHIgorICAgIFNGTEFHUz0iJHtTRkxBR1N9IC1EWkxJQl9ERUJVRyIKKyAgZmkKICAgaWYgdGVzdCAteiAiJHVuYW1lIjsgdGhlbgogICAgIHVuYW1lPWAodW5hbWUgLXMgfHwgZWNobyB1bmtub3duKSAyPi9kZXYvbnVsbGAKICAgZmkKICAgY2FzZSAiJHVuYW1lIiBpbgotICBMaW51eCogfCBsaW51eCogfCBHTlUgfCBHTlUvKiB8IHNvbGFyaXMqKQotICAgICAgICBMRFNIQVJFRD0ke0xEU0hBUkVELSIkY2MgLXNoYXJlZCAtV2wsLXNvbmFtZSxsaWJ6LnNvLjEsLS12ZXJzaW9uLXNjcmlwdCx6bGliLm1hcCJ9IDs7CisgIExpbnV4KiB8IGxpbnV4KiB8ICotbGludXgqIHwgR05VIHwgR05VLyogfCBzb2xhcmlzKikKKyAgICAgICAgY2FzZSAiJG1uYW1lIiBpbgorICAgICAgICAqc3BhcmMqKQorICAgICAgICAgICAgTERGTEFHUz0iJHtMREZMQUdTfSAtV2wsLS1uby13YXJuLXJ3eC1zZWdtZW50cyIgOzsKKyAgICAgICAgZXNhYworICAgICAgICBMRFNIQVJFRD0ke0xEU0hBUkVELSIkY2MgLXNoYXJlZCAtV2wsLXNvbmFtZSxsaWJ6LnNvLjEsLS12ZXJzaW9uLXNjcmlwdCwke1NSQ0RJUn16bGliLm1hcCJ9IDs7CiAgICpCU0QgfCAqYnNkKiB8IERyYWdvbkZseSkKLSAgICAgICAgTERTSEFSRUQ9JHtMRFNIQVJFRC0iJGNjIC1zaGFyZWQgLVdsLC1zb25hbWUsbGliei5zby4xLC0tdmVyc2lvbi1zY3JpcHQsemxpYi5tYXAifQorICAgICAgICBMRFNIQVJFRD0ke0xEU0hBUkVELSIkY2MgLXNoYXJlZCAtV2wsLXNvbmFtZSxsaWJ6LnNvLjEsLS12ZXJzaW9uLXNjcmlwdCwke1NSQ0RJUn16bGliLm1hcCJ9CiAgICAgICAgIExEQ09ORklHPSJsZGNvbmZpZyAtbSIgOzsKLSAgQ1lHV0lOKiB8IEN5Z3dpbiogfCBjeWd3aW4qIHwgT1MvMiopCisgIENZR1dJTiogfCBDeWd3aW4qIHwgY3lnd2luKiB8ICotY3lnd2luKiB8IE9TLzIqKQogICAgICAgICBFWEU9Jy5leGUnIDs7Ci0gIE1JTkdXKiB8IG1pbmd3KikKLSMgdGVtcG9yYXJ5IGJ5cGFzcworICBNSU5HVyogfCBtaW5ndyogfCAqLW1pbmd3KikKICAgICAgICAgcm0gLWYgJHRlc3QuW2NvXSAkdGVzdCAkdGVzdCRzaGFyZWRfZXh0Ci0gICAgICAgIGVjaG8gIlBsZWFzZSB1c2Ugd2luMzIvTWFrZWZpbGUuZ2NjIGluc3RlYWQuIiB8IHRlZSAtYSBjb25maWd1cmUubG9nCi0gICAgICAgIGxlYXZlIDEKKyAgICAgICAgZWNobyAiSWYgdGhpcyBkb2Vzbid0IHdvcmsgZm9yIHlvdSwgdHJ5IHdpbjMyL01ha2VmaWxlLmdjYy4iIHwgdGVlIC1hIGNvbmZpZ3VyZS5sb2cKICAgICAgICAgTERTSEFSRUQ9JHtMRFNIQVJFRC0iJGNjIC1zaGFyZWQifQogICAgICAgICBMRFNIQVJFRExJQkM9IiIKICAgICAgICAgRVhFPScuZXhlJyA7OwotICBRTlgqKSAgIyBUaGlzIGlzIGZvciBRTlg2LiBJIHN1cHBvc2UgdGhhdCB0aGUgUU5YIHJ1bGUgYmVsb3cgaXMgZm9yIFFOWDIsUU5YNAotICAgICAgICAgIyAoYWxhaW4uYm9ubmVmb3lAaWNidC5jb20pCi0gICAgICAgICAgICAgICAgIExEU0hBUkVEPSR7TERTSEFSRUQtIiRjYyAtc2hhcmVkIC1XbCwtaGxpYnouc28uMSJ9IDs7CisgIFFOWCopICMgVGhpcyBpcyBmb3IgUU5YNi4gSSBzdXBwb3NlIHRoYXQgdGhlIFFOWCBydWxlIGJlbG93IGlzIGZvciBRTlgyLFFOWDQKKyAgICAgICAgIyAoYWxhaW4uYm9ubmVmb3lAaWNidC5jb20pCisgICAgICAgIExEU0hBUkVEPSR7TERTSEFSRUQtIiRjYyAtc2hhcmVkIC1XbCwtaGxpYnouc28uMSJ9IDs7CiAgIEhQLVVYKikKLSAgICAgICAgIExEU0hBUkVEPSR7TERTSEFSRUQtIiRjYyAtc2hhcmVkICRTRkxBR1MifQotICAgICAgICAgY2FzZSBgKHVuYW1lIC1tIHx8IGVjaG8gdW5rbm93bikgMj4vZGV2L251bGxgIGluCi0gICAgICAgICBpYTY0KQotICAgICAgICAgICAgICAgICBzaGFyZWRfZXh0PScuc28nCi0gICAgICAgICAgICAgICAgIFNIQVJFRExJQj0nbGliei5zbycgOzsKLSAgICAgICAgICopCi0gICAgICAgICAgICAgICAgIHNoYXJlZF9leHQ9Jy5zbCcKLSAgICAgICAgICAgICAgICAgU0hBUkVETElCPSdsaWJ6LnNsJyA7OwotICAgICAgICAgZXNhYyA7OwotICBEYXJ3aW4qIHwgZGFyd2luKikKLSAgICAgICAgICAgICBzaGFyZWRfZXh0PScuZHlsaWInCi0gICAgICAgICAgICAgU0hBUkVETElCPWxpYnokc2hhcmVkX2V4dAotICAgICAgICAgICAgIFNIQVJFRExJQlY9bGliei4kVkVSJHNoYXJlZF9leHQKLSAgICAgICAgICAgICBTSEFSRURMSUJNPWxpYnouJFZFUjEkc2hhcmVkX2V4dAotICAgICAgICAgICAgIExEU0hBUkVEPSR7TERTSEFSRUQtIiRjYyAtZHluYW1pY2xpYiAtaW5zdGFsbF9uYW1lICRsaWJkaXIvJFNIQVJFRExJQk0gLWNvbXBhdGliaWxpdHlfdmVyc2lvbiAkVkVSMSAtY3VycmVudF92ZXJzaW9uICRWRVIzIn0KLSAgICAgICAgICAgICBpZiBsaWJ0b29sIC1WIDI+JjEgfCBncmVwIEFwcGxlID4gL2Rldi9udWxsOyB0aGVuCi0gICAgICAgICAgICAgICAgIEFSPSJsaWJ0b29sIgotICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgQVI9Ii91c3IvYmluL2xpYnRvb2wiCi0gICAgICAgICAgICAgZmkKLSAgICAgICAgICAgICBBUkZMQUdTPSItbyIgOzsKLSAgKikgICAgICAgICAgICAgTERTSEFSRUQ9JHtMRFNIQVJFRC0iJGNjIC1zaGFyZWQifSA7OworICAgICAgICBMRFNIQVJFRD0ke0xEU0hBUkVELSIkY2MgLXNoYXJlZCAkU0ZMQUdTIn0KKyAgICAgICAgY2FzZSBgKHVuYW1lIC1tIHx8IGVjaG8gdW5rbm93bikgMj4vZGV2L251bGxgIGluCisgICAgICAgIGlhNjQpCisgICAgICAgICAgICBzaGFyZWRfZXh0PScuc28nCisgICAgICAgICAgICBTSEFSRURMSUI9J2xpYnouc28nIDs7CisgICAgICAgICopCisgICAgICAgICAgICBzaGFyZWRfZXh0PScuc2wnCisgICAgICAgICAgICBTSEFSRURMSUI9J2xpYnouc2wnIDs7CisgICAgICAgIGVzYWMgOzsKKyAgQUlYKikKKyAgICAgICAgTERGTEFHUz0iJHtMREZMQUdTfSAtV2wsLWJydGwiIDs7CisgIERhcndpbiogfCBkYXJ3aW4qIHwgKi1kYXJ3aW4qKQorICAgICAgICBzaGFyZWRfZXh0PScuZHlsaWInCisgICAgICAgIFNIQVJFRExJQj1saWJ6JHNoYXJlZF9leHQKKyAgICAgICAgU0hBUkVETElCVj1saWJ6LiRWRVIkc2hhcmVkX2V4dAorICAgICAgICBTSEFSRURMSUJNPWxpYnouJFZFUjEkc2hhcmVkX2V4dAorICAgICAgICBMRFNIQVJFRD0ke0xEU0hBUkVELSIkY2MgLWR5bmFtaWNsaWIgLWluc3RhbGxfbmFtZSAkbGliZGlyLyRTSEFSRURMSUJNIC1jb21wYXRpYmlsaXR5X3ZlcnNpb24gJFZFUjEgLWN1cnJlbnRfdmVyc2lvbiAkVkVSMyJ9CisgICAgICAgIGlmIGxpYnRvb2wgLVYgMj4mMSB8IGdyZXAgQXBwbGUgPiAvZGV2L251bGw7IHRoZW4KKyAgICAgICAgICAgIEFSPSJsaWJ0b29sIgorICAgICAgICBlbHNlCisgICAgICAgICAgICBBUj0iL3Vzci9iaW4vbGlidG9vbCIKKyAgICAgICAgZmkKKyAgICAgICAgQVJGTEFHUz0iLW8iIDs7CisgICopCisgICAgICAgIExEU0hBUkVEPSR7TERTSEFSRUQtIiRjYyAtc2hhcmVkIn0gOzsKICAgZXNhYwogZWxzZQogICAjIGZpbmQgc3lzdGVtIG5hbWUgYW5kIGNvcnJlc3BvbmRpbmcgY2Mgb3B0aW9ucwpAQCAtMjg3LDYgKzMzMSw5IEBACiAgICAgICAgICAgICAgICAgIGVzYWMKICAgICAgICAgICAgICBmaQogICAgICAgICAgZmkKKyAgICAgICAgIGlmIHRlc3QgLW4gIiRaSU5DIjsgdGhlbgorICAgICAgICAgICAgIFpJTkM9Jy1JLSAtSS4gLUkkKFNSQ0RJUiknCisgICAgICAgICBmaQogICAgICAgICAgOzsKICAgU3VuT1NcIDQqKSBTRkxBR1M9JHtDRkxBR1MtIi1PMiAtUElDIn0KICAgICAgICAgICAgICBDRkxBR1M9JHtDRkxBR1MtIi1PMiJ9CkBAIC0zMzcsMTYgKzM4NCwxOSBAQAogICB9CiAgIGVjaG8gLSB1c2luZyBhbnkgb3V0cHV0IGZyb20gY29tcGlsZXIgdG8gaW5kaWNhdGUgYW4gZXJyb3IgPj4gY29uZmlndXJlLmxvZwogZWxzZQotdHJ5KCkKLXsKLSAgc2hvdyAkKgotICAoICQqICkgPj4gY29uZmlndXJlLmxvZyAyPiYxCi0gIHJldD0kPwotICBpZiB0ZXN0ICRyZXQgLW5lIDA7IHRoZW4KLSAgICBlY2hvICIoZXhpdCBjb2RlICIkcmV0IikiID4+IGNvbmZpZ3VyZS5sb2cKLSAgZmkKLSAgcmV0dXJuICRyZXQKLX0KKyAgdHJ5KCkKKyAgeworICAgIHNob3cgJCoKKyAgICBnb3Q9YCggJCogKSAyPiYxYAorICAgIHJldD0kPworICAgIGlmIHRlc3QgIiRnb3QiICE9ICIiOyB0aGVuCisgICAgICBwcmludGYgIiVzXG4iICIkZ290IiA+PiBjb25maWd1cmUubG9nCisgICAgZmkKKyAgICBpZiB0ZXN0ICRyZXQgLW5lIDA7IHRoZW4KKyAgICAgIGVjaG8gIihleGl0IGNvZGUgIiRyZXQiKSIgPj4gY29uZmlndXJlLmxvZworICAgIGZpCisgICAgcmV0dXJuICRyZXQKKyAgfQogZmkKIAogdHJ5Ym90aCgpCkBAIC0zNTQsOCArNDA0LDExIEBACiAgIHNob3cgJCoKICAgZ290PWAoICQqICkgMj4mMWAKICAgcmV0PSQ/Ci0gIHByaW50ZiAlcyAiJGdvdCIgPj4gY29uZmlndXJlLmxvZworICBpZiB0ZXN0ICIkZ290IiAhPSAiIjsgdGhlbgorICAgIHByaW50ZiAiJXNcbiIgIiRnb3QiID4+IGNvbmZpZ3VyZS5sb2cKKyAgZmkKICAgaWYgdGVzdCAkcmV0IC1uZSAwOyB0aGVuCisgICAgZWNobyAiKGV4aXQgY29kZSAiJHJldCIpIiA+PiBjb25maWd1cmUubG9nCiAgICAgcmV0dXJuICRyZXQKICAgZmkKICAgdGVzdCAiJGdvdCIgPSAiIgpAQCAtNDA2LDE5ICs0NTksNTQgQEAKICAgVEVTVD0iYWxsIHRlc3RzdGF0aWMgdGVzdHNoYXJlZCIKIGZpCiAKLSMgY2hlY2sgZm9yIHVuZGVyc2NvcmVzIGluIGV4dGVybmFsIG5hbWVzIGZvciB1c2UgYnkgYXNzZW1ibGVyIGNvZGUKLUNQUD0ke0NQUC0iJENDIC1FIn0KLWNhc2UgJENGTEFHUyBpbgotICAqQVNNViopCi0gICAgZWNobyA+PiBjb25maWd1cmUubG9nCi0gICAgc2hvdyAiJE5NICR0ZXN0Lm8gfCBncmVwIF9oZWxsbyIKLSAgICBpZiB0ZXN0ICJgJE5NICR0ZXN0Lm8gfCBncmVwIF9oZWxsbyB8IHRlZSAtYSBjb25maWd1cmUubG9nYCIgPSAiIjsgdGhlbgotICAgICAgQ1BQPSIkQ1BQIC1ETk9fVU5ERVJMSU5FIgotICAgICAgZWNobyBDaGVja2luZyBmb3IgdW5kZXJsaW5lIGluIGV4dGVybmFsIG5hbWVzLi4uIE5vLiB8IHRlZSAtYSBjb25maWd1cmUubG9nCi0gICAgZWxzZQotICAgICAgZWNobyBDaGVja2luZyBmb3IgdW5kZXJsaW5lIGluIGV4dGVybmFsIG5hbWVzLi4uIFllcy4gfCB0ZWUgLWEgY29uZmlndXJlLmxvZwotICAgIGZpIDs7Ci1lc2FjCitlY2hvID4+IGNvbmZpZ3VyZS5sb2cKKworIyBjaGVjayBmb3Igc2l6ZV90CitjYXQgPiAkdGVzdC5jIDw8RU9GCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KK3NpemVfdCBkdW1teSA9IDA7CitFT0YKK2lmIHRyeSAkQ0MgLWMgJENGTEFHUyAkdGVzdC5jOyB0aGVuCisgIGVjaG8gIkNoZWNraW5nIGZvciBzaXplX3QuLi4gWWVzLiIgfCB0ZWUgLWEgY29uZmlndXJlLmxvZworZWxzZQorICBlY2hvICJDaGVja2luZyBmb3Igc2l6ZV90Li4uIE5vLiIgfCB0ZWUgLWEgY29uZmlndXJlLmxvZworICAjIGZpbmQgYSBzaXplX3QgaW50ZWdlciB0eXBlCisgICMgY2hlY2sgZm9yIGxvbmcgbG9uZworICBjYXQgPiAkdGVzdC5jIDw8IEVPRgorbG9uZyBsb25nIGR1bW15ID0gMDsKK0VPRgorICBpZiB0cnkgJENDIC1jICRDRkxBR1MgJHRlc3QuYzsgdGhlbgorICAgIGVjaG8gIkNoZWNraW5nIGZvciBsb25nIGxvbmcuLi4gWWVzLiIgfCB0ZWUgLWEgY29uZmlndXJlLmxvZworICAgIGNhdCA+ICR0ZXN0LmMgPDxFT0YKKyNpbmNsdWRlIDxzdGRpby5oPgoraW50IG1haW4odm9pZCkgeworICAgIGlmIChzaXplb2Yodm9pZCAqKSA8PSBzaXplb2YoaW50KSkgcHV0cygiaW50Iik7CisgICAgZWxzZSBpZiAoc2l6ZW9mKHZvaWQgKikgPD0gc2l6ZW9mKGxvbmcpKSBwdXRzKCJsb25nIik7CisgICAgZWxzZSBwdXRzKCJ6X2xvbmdsb25nIik7CisgICAgcmV0dXJuIDA7Cit9CitFT0YKKyAgZWxzZQorICAgIGVjaG8gIkNoZWNraW5nIGZvciBsb25nIGxvbmcuLi4gTm8uIiB8IHRlZSAtYSBjb25maWd1cmUubG9nCisgICAgY2F0ID4gJHRlc3QuYyA8PEVPRgorI2luY2x1ZGUgPHN0ZGlvLmg+CitpbnQgbWFpbih2b2lkKSB7CisgICAgaWYgKHNpemVvZih2b2lkICopIDw9IHNpemVvZihpbnQpKSBwdXRzKCJpbnQiKTsKKyAgICBlbHNlIHB1dHMoImxvbmciKTsKKyAgICByZXR1cm4gMDsKK30KK0VPRgorICBmaQorICBpZiB0cnkgJENDICRDRkxBR1MgLW8gJHRlc3QgJHRlc3QuYzsgdGhlbgorICAgIHNpemV0PWAuLyR0ZXN0YAorICAgIGVjaG8gIkNoZWNraW5nIGZvciBhIHBvaW50ZXItc2l6ZSBpbnRlZ2VyIHR5cGUuLi4iICRzaXpldCIuIiB8IHRlZSAtYSBjb25maWd1cmUubG9nCisgICAgQ0ZMQUdTPSIke0NGTEFHU30gLUROT19TSVpFX1Q9JHtzaXpldH0iCisgICAgU0ZMQUdTPSIke1NGTEFHU30gLUROT19TSVpFX1Q9JHtzaXpldH0iCisgIGVsc2UKKyAgICBlY2hvICJDaGVja2luZyBmb3IgYSBwb2ludGVyLXNpemUgaW50ZWdlciB0eXBlLi4uIG5vdCBmb3VuZC4iIHwgdGVlIC1hIGNvbmZpZ3VyZS5sb2cKKyAgZmkKK2ZpCiAKIGVjaG8gPj4gY29uZmlndXJlLmxvZwogCkBAIC00NzAsNyArNTU4LDcgQEAKIGZpCiAKICMgY29weSBjbGVhbiB6Y29uZi5oIGZvciBzdWJzZXF1ZW50IGVkaXRzCi1jcCAtcCB6Y29uZi5oLmluIHpjb25mLmgKK2NwIC1wICR7U1JDRElSfXpjb25mLmguaW4gemNvbmYuaAogCiBlY2hvID4+IGNvbmZpZ3VyZS5sb2cKIApAQCAtNzYzLDcgKzg1MSw3IEBACiBlY2hvIFNUQVRJQ0xJQiA9ICRTVEFUSUNMSUIgPj4gY29uZmlndXJlLmxvZwogZWNobyBURVNUID0gJFRFU1QgPj4gY29uZmlndXJlLmxvZwogZWNobyBWRVIgPSAkVkVSID4+IGNvbmZpZ3VyZS5sb2cKLWVjaG8gWl9VNCA9ICRaX1U0ID4+IGNvbmZpZ3VyZS5sb2cKK2VjaG8gU1JDRElSID0gJFNSQ0RJUiA+PiBjb25maWd1cmUubG9nCiBlY2hvIGV4ZWNfcHJlZml4ID0gJGV4ZWNfcHJlZml4ID4+IGNvbmZpZ3VyZS5sb2cKIGVjaG8gaW5jbHVkZWRpciA9ICRpbmNsdWRlZGlyID4+IGNvbmZpZ3VyZS5sb2cKIGVjaG8gbGliZGlyID0gJGxpYmRpciA+PiBjb25maWd1cmUubG9nCkBAIC03NzMsNyArODYxLDcgQEAKIGVjaG8gdW5hbWUgPSAkdW5hbWUgPj4gY29uZmlndXJlLmxvZwogCiAjIHVkcGF0ZSBNYWtlZmlsZSB3aXRoIHRoZSBjb25maWd1cmUgcmVzdWx0cwotc2VkIDwgTWFrZWZpbGUuaW4gIgorc2VkIDwgJHtTUkNESVJ9TWFrZWZpbGUuaW4gIgogL15DQyAqPS9zIz0uKiM9JENDIwogL15DRkxBR1MgKj0vcyM9LiojPSRDRkxBR1MjCiAvXlNGTEFHUyAqPS9zIz0uKiM9JFNGTEFHUyMKQEAgLTc5MCw2ICs4NzgsOSBAQAogL15MRENPTkZJRyAqPS9zIz0uKiM9JExEQ09ORklHIwogL15MRFNIQVJFRExJQkMgKj0vcyM9LiojPSRMRFNIQVJFRExJQkMjCiAvXkVYRSAqPS9zIz0uKiM9JEVYRSMKKy9eU1JDRElSICo9L3MjPS4qIz0kU1JDRElSIworL15aSU5DICo9L3MjPS4qIz0kWklOQyMKKy9eWklOQ09VVCAqPS9zIz0uKiM9JFpJTkNPVVQjCiAvXnByZWZpeCAqPS9zIz0uKiM9JHByZWZpeCMKIC9eZXhlY19wcmVmaXggKj0vcyM9LiojPSRleGVjX3ByZWZpeCMKIC9ebGliZGlyICo9L3MjPS4qIz0kbGliZGlyIwpAQCAtODAzLDcgKzg5NCw3IEBACiAiID4gTWFrZWZpbGUKIAogIyBjcmVhdGUgemxpYi5wYyB3aXRoIHRoZSBjb25maWd1cmUgcmVzdWx0cwotc2VkIDwgemxpYi5wYy5pbiAiCitzZWQgPCAke1NSQ0RJUn16bGliLnBjLmluICIKIC9eQ0MgKj0vcyM9LiojPSRDQyMKIC9eQ0ZMQUdTICo9L3MjPS4qIz0kQ0ZMQUdTIwogL15DUFAgKj0vcyM9LiojPSRDUFAjCmRpZmYgLS1naXQgYS9zcmMvY29udHJpYi9SRUFETUUuY29udHJpYiBiL3NyYy9jb250cmliL1JFQURNRS5jb250cmliCmluZGV4IGM2NjM0OWIuLjVlNWY5NTAgMTAwNjQ0Ci0tLSBhL3NyYy9jb250cmliL1JFQURNRS5jb250cmliCisrKyBiL3NyYy9jb250cmliL1JFQURNRS5jb250cmliCkBAIC0xLDQgKzEsNCBAQAotQWxsIGZpbGVzIHVuZGVyIHRoaXMgY29udHJpYiBkaXJlY3RvcnkgYXJlIFVOU1VQUE9SVEVELiBUaGVyZSB3ZXJlCitBbGwgZmlsZXMgdW5kZXIgdGhpcyBjb250cmliIGRpcmVjdG9yeSBhcmUgVU5TVVBQT1JURUQuIFRoZXkgd2VyZQogcHJvdmlkZWQgYnkgdXNlcnMgb2YgemxpYiBhbmQgd2VyZSBub3QgdGVzdGVkIGJ5IHRoZSBhdXRob3JzIG9mIHpsaWIuCiBVc2UgYXQgeW91ciBvd24gcmlzay4gUGxlYXNlIGNvbnRhY3QgdGhlIGF1dGhvcnMgb2YgdGhlIGNvbnRyaWJ1dGlvbnMKIGZvciBoZWxwIGFib3V0IHRoZXNlLCBub3QgdGhlIHpsaWIgYXV0aG9ycy4gVGhhbmtzLgpAQCAtOCwxNCArOCw2IEBACiAgICAgICAgIFN1cHBvcnQgZm9yIEFkYQogICAgICAgICBTZWUgaHR0cDovL3psaWItYWRhLnNvdXJjZWZvcmdlLm5ldC8KIAotYW1kNjQvICAgICAgYnkgTWlraGFpbCBUZXRlcmluIDxtaUBBTERBTi5hbGdlYnJhLmNvbT4KLSAgICAgICAgYXNtIGNvZGUgZm9yIEFNRDY0Ci0gICAgICAgIFNlZSBwYXRjaCBhdCBodHRwOi8vd3d3LmZyZWVic2Qub3JnL2NnaS9xdWVyeS1wci5jZ2k/cHI9YmluLzk2MzkzCi0KLWFzbTY4Ni8gICAgIGJ5IEJyaWFuIFJhaXRlciA8YnJlYWRib3hAbXVwcGV0bGFicy5jb20+Ci0gICAgICAgIGFzbSBjb2RlIGZvciBQZW50aXVtIGFuZCBQUHJvL1BJSSwgdXNpbmcgdGhlIEFUJlQgKEdOVSBhcykgc3ludGF4Ci0gICAgICAgIFNlZSBodHRwOi8vd3d3Lm11cHBldGxhYnMuY29tL35icmVhZGJveC9zb2Z0d2FyZS9hc3NlbWJseS5odG1sCi0KIGJsYXN0LyAgICAgIGJ5IE1hcmsgQWRsZXIgPG1hZGxlckBhbHVtbmkuY2FsdGVjaC5lZHU+CiAgICAgICAgIERlY29tcHJlc3NvciBmb3Igb3V0cHV0IG9mIFBLV2FyZSBEYXRhIENvbXByZXNzaW9uIExpYnJhcnkgKERDTCkKIApAQCAtMzIsMzMgKzI0LDIwIEBACiBpbmZiYWNrOS8gICBieSBNYXJrIEFkbGVyIDxtYWRsZXJAYWx1bW5pLmNhbHRlY2guZWR1PgogICAgICAgICBVbnN1cHBvcnRlZCBkaWZmcyB0byBpbmZiYWNrIHRvIGRlY29kZSB0aGUgZGVmbGF0ZTY0IGZvcm1hdAogCi1pbmZsYXRlODYvICBieSBDaHJpcyBBbmRlcnNvbiA8Y2hyaXN0b3BAY2hhcm0ubmV0PgotICAgICAgICBUdW5lZCB4ODYgZ2NjIGFzbSBjb2RlIHRvIHJlcGxhY2UgaW5mbGF0ZV9mYXN0KCkKLQogaW9zdHJlYW0vICAgYnkgS2V2aW4gUnVsYW5kIDxrZXZpbkByb2Rpbi53dXN0bC5lZHU+CiAgICAgICAgIEEgQysrIEkvTyBzdHJlYW1zIGludGVyZmFjZSB0byB0aGUgemxpYiBneiogZnVuY3Rpb25zCiAKLWlvc3RyZWFtMi8gIGJ5IFR5Z2UgTPh2c2V0IDxUeWdlLkxvdnNldEBjbXIubm8+Citpb3N0cmVhbTIvICBieSBUeWdlIEzDuHZzZXQgPFR5Z2UuTG92c2V0QGNtci5ubz4KICAgICAgICAgQW5vdGhlciBDKysgSS9PIHN0cmVhbXMgaW50ZXJmYWNlCiAKIGlvc3RyZWFtMy8gIGJ5IEx1ZHdpZyBTY2h3YXJkdCA8c2Nod2FyZHRAc3VuLmFjLnphPgogICAgICAgICAgICAgYW5kIEtldmluIFJ1bGFuZCA8a2V2aW5Acm9kaW4ud3VzdGwuZWR1PgogICAgICAgICBZZXQgYW5vdGhlciBDKysgSS9PIHN0cmVhbXMgaW50ZXJmYWNlCiAKLW1hc214NjQvICAgIGJ5IEdpbGxlcyBWb2xsYW50IDxpbmZvQHdpbmltYWdlLmNvbT4KLSAgICAgICAgeDg2IDY0LWJpdCAoQU1ENjQgYW5kIEludGVsIEVNNjR0KSBjb2RlIGZvciB4NjQgYXNzZW1ibGVyIHRvCi0gICAgICAgIHJlcGxhY2UgbG9uZ2VzdF9tYXRjaCgpIGFuZCBpbmZsYXRlX2Zhc3QoKSwgIGFsc28gbWFzbSB4ODYKLSAgICAgICAgNjQtYml0cyB0cmFuc2xhdGlvbiBvZiBDaHJpcyBBbmRlcnNvbiBpbmZsYXRlX2Zhc3QoKQotCi1tYXNteDg2LyAgICBieSBHaWxsZXMgVm9sbGFudCA8aW5mb0B3aW5pbWFnZS5jb20+Ci0gICAgICAgIHg4NiBhc20gY29kZSB0byByZXBsYWNlIGxvbmdlc3RfbWF0Y2goKSBhbmQgaW5mbGF0ZV9mYXN0KCksCi0gICAgICAgIGZvciBWaXN1YWwgQysrIGFuZCBNQVNNICgzMiBiaXRzKS4KLSAgICAgICAgQmFzZWQgb24gQnJpYW4gUmFpdGVyIChhc202ODYpIGFuZCBDaHJpcyBBbmRlcnNvbiAoaW5mbGF0ZTg2KQotCiBtaW5pemlwLyAgICBieSBHaWxsZXMgVm9sbGFudCA8aW5mb0B3aW5pbWFnZS5jb20+CiAgICAgICAgIE1pbmkgemlwIGFuZCB1bnppcCBiYXNlZCBvbiB6bGliCiAgICAgICAgIEluY2x1ZGVzIFppcDY0IHN1cHBvcnQgYnkgTWF0aGlhcyBTdmVuc3NvbiA8bWF0aGlhc0ByZXN1bHQ0Mi5jb20+Ci0gICAgICAgIFNlZSBodHRwOi8vd3d3LndpbmltYWdlLmNvbS96TGliRGxsL3VuemlwLmh0bWwKKyAgICAgICAgU2VlIGh0dHA6Ly93d3cud2luaW1hZ2UuY29tL3pMaWJEbGwvbWluaXppcC5odG1sCiAKIHBhc2NhbC8gICAgIGJ5IEJvYiBEZWxsYWNhIDxib2JkbEB4dHJhLmNvLm56PiBldCBhbC4KICAgICAgICAgU3VwcG9ydCBmb3IgUGFzY2FsCmRpZmYgLS1naXQgYS9zcmMvY29udHJpYi9hZGEvemxpYi1zdHJlYW1zLmFkcyBiL3NyYy9jb250cmliL2FkYS96bGliLXN0cmVhbXMuYWRzCmluZGV4IGYwMTkzYzYuLjhlMjZjZDQgMTAwNjQ0Ci0tLSBhL3NyYy9jb250cmliL2FkYS96bGliLXN0cmVhbXMuYWRzCisrKyBiL3NyYy9jb250cmliL2FkYS96bGliLXN0cmVhbXMuYWRzCkBAIC0zMSw3ICszMSw3IEBACiAgICAgICBNb2RlICAgOiBpbiAgICAgRmx1c2hfTW9kZSA6PSBTeW5jX0ZsdXNoKTsKICAgIC0tICBGbHVzaCB0aGUgd3JpdHRlbiBkYXRhIHRvIHRoZSBiYWNrIHN0cmVhbSwKICAgIC0tICBhbGwgZGF0YSBwbGFjZWQgdG8gdGhlIGNvbXByZXNzb3IgaXMgZmx1c2hpbmcgdG8gdGhlIEJhY2sgc3RyZWFtLgotICAgLS0gIFNob3VsZCBub3QgYmUgdXNlZCB1bnRpbGwgbmVjZXNzYXJ5LCBiZWNvdXNlIGl0IGlzIGRlY3JlYXNpbmcKKyAgIC0tICBTaG91bGQgbm90IGJlIHVzZWQgdW50aWwgbmVjZXNzYXJ5LCBiZWNhdXNlIGl0IGlzIGRlY3JlYXNpbmcKICAgIC0tICBjb21wcmVzc2lvbi4KIAogICAgZnVuY3Rpb24gUmVhZF9Ub3RhbF9JbiAoU3RyZWFtIDogaW4gU3RyZWFtX1R5cGUpIHJldHVybiBDb3VudDsKQEAgLTk3LDEzICs5NywxMyBAQAogICAgICAgUmVzdF9MYXN0ICA6IFN0cmVhbV9FbGVtZW50X09mZnNldDsKICAgICAgIC0tICBCdWZmZXIgZm9yIFJlYWQgb3BlcmF0aW9uLgogICAgICAgLS0gIFdlIG5lZWQgdG8gaGF2ZSB0aGlzIGJ1ZmZlciBpbiB0aGUgcmVjb3JkCi0gICAgICAtLSAgYmVjb3VzZSBub3QgYWxsIHJlYWQgZGF0YSBmcm9tIGJhY2sgc3RyZWFtCisgICAgICAtLSAgYmVjYXVzZSBub3QgYWxsIHJlYWQgZGF0YSBmcm9tIGJhY2sgc3RyZWFtCiAgICAgICAtLSAgY291bGQgYmUgcHJvY2Vzc2VkIGR1cmluZyB0aGUgcmVhZCBvcGVyYXRpb24uCiAKICAgICAgIEJ1ZmZlcl9TaXplIDogU3RyZWFtX0VsZW1lbnRfT2Zmc2V0OwogICAgICAgLS0gIEJ1ZmZlciBzaXplIGZvciB3cml0ZSBvcGVyYXRpb24uCiAgICAgICAtLSAgV2UgZG8gbm90IG5lZWQgdG8gaGF2ZSB0aGlzIGJ1ZmZlcgotICAgICAgLS0gIGluIHRoZSByZWNvcmQgYmVjb3VzZSBhbGwgZGF0YSBjb3VsZCBiZQorICAgICAgLS0gIGluIHRoZSByZWNvcmQgYmVjYXVzZSBhbGwgZGF0YSBjb3VsZCBiZQogICAgICAgLS0gIHByb2Nlc3NlZCBpbiB0aGUgd3JpdGUgb3BlcmF0aW9uLgogCiAgICAgICBCYWNrICAgICAgIDogU3RyZWFtX0FjY2VzczsKZGlmZiAtLWdpdCBhL3NyYy9jb250cmliL2FkYS96bGliLXRoaW4uYWRzIGIvc3JjL2NvbnRyaWIvYWRhL3psaWItdGhpbi5hZHMKaW5kZXggZDQ0MDdlYi4uODEwMTczYyAxMDA2NDQKLS0tIGEvc3JjL2NvbnRyaWIvYWRhL3psaWItdGhpbi5hZHMKKysrIGIvc3JjL2NvbnRyaWIvYWRhL3psaWItdGhpbi5hZHMKQEAgLTQzNiw3ICs0MzYsNyBAQAogCiAgICBwcmFnbWEgSW1wb3J0IChDLCBpbmZsYXRlQmFja0luaXQsICJpbmZsYXRlQmFja0luaXRfIik7CiAKLSAgIC0tICBJIHN0b3BwZWQgYmluZGluZyB0aGUgaW5mbGF0ZUJhY2sgcm91dGluZXMsIGJlY291c2UgcmVhbGl6ZSB0aGF0CisgICAtLSAgSSBzdG9wcGVkIGJpbmRpbmcgdGhlIGluZmxhdGVCYWNrIHJvdXRpbmVzLCBiZWNhdXNlIHJlYWxpemUgdGhhdAogICAgLS0gIGl0IGRvZXMgbm90IHN1cHBvcnQgemxpYiBhbmQgZ3ppcCBoZWFkZXJzIGZvciBub3csIGFuZCBoYXZlIG5vCiAgICAtLSAgc3ltbWV0cmljIGRlZmxhdGVCYWNrIHJvdXRpbmVzLgogICAgLS0gIFpMaWItQWRhIGlzIHN5bW1ldHJpYyByZWdhcmRpbmcgZGVmbGF0ZS9pbmZsYXRlIGRhdGEgdHJhbnNmb3JtYXRpb24KZGlmZiAtLWdpdCBhL3NyYy9jb250cmliL2FtZDY0L2FtZDY0LW1hdGNoLlMgYi9zcmMvY29udHJpYi9hbWQ2NC9hbWQ2NC1tYXRjaC5TCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4MWQ0YTFjLi4wMDAwMDAwCi0tLSBhL3NyYy9jb250cmliL2FtZDY0L2FtZDY0LW1hdGNoLlMKKysrIC9kZXYvbnVsbApAQCAtMSw0NTIgKzAsMCBAQAotLyoKLSAqIG1hdGNoLlMgLS0gb3B0aW1pemVkIHZlcnNpb24gb2YgbG9uZ2VzdF9tYXRjaCgpCi0gKiBiYXNlZCBvbiB0aGUgc2ltaWxhciB3b3JrIGJ5IEdpbGxlcyBWb2xsYW50LCBhbmQgQnJpYW4gUmFpdGVyLCB3cml0dGVuIDE5OTgKLSAqCi0gKiBUaGlzIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQKLSAqIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgQlNEIExpY2Vuc2UuIFVzZSBieSBvd25lcnMgb2YgQ2hlIEd1ZXZhcnJhCi0gKiBwYXJhZmVybmFsaWEgaXMgcHJvaGliaXRlZCwgd2hlcmUgcG9zc2libGUsIGFuZCBoaWdobHkgZGlzY291cmFnZWQKLSAqIGVsc2V3aGVyZS4KLSAqLwotCi0jaWZuZGVmIE5PX1VOREVSTElORQotIwlkZWZpbmUJbWF0Y2hfaW5pdAlfbWF0Y2hfaW5pdAotIwlkZWZpbmUJbG9uZ2VzdF9tYXRjaAlfbG9uZ2VzdF9tYXRjaAotI2VuZGlmCi0KLSNkZWZpbmUJc2NhbmVuZAkJZWJ4Ci0jZGVmaW5lCXNjYW5lbmR3CWJ4Ci0jZGVmaW5lCWNoYWlubGVud21hc2sJZWR4IC8qIGhpZ2ggd29yZDogY3VycmVudCBjaGFpbiBsZW4gbG93IHdvcmQ6IHMtPndtYXNrICovCi0jZGVmaW5lCWN1cm1hdGNoCXJzaQotI2RlZmluZQljdXJtYXRjaGQJZXNpCi0jZGVmaW5lCXdpbmRvd2Jlc3RsZW4JcjgKLSNkZWZpbmUJc2NhbmFsaWduCXI5Ci0jZGVmaW5lCXNjYW5hbGlnbmQJcjlkCi0jZGVmaW5lCXdpbmRvdwkJcjEwCi0jZGVmaW5lCWJlc3RsZW4JCXIxMQotI2RlZmluZQliZXN0bGVuZAlyMTFkCi0jZGVmaW5lCXNjYW5zdGFydAlyMTJkCi0jZGVmaW5lCXNjYW5zdGFydHcJcjEydwotI2RlZmluZSBzY2FuCQlyMTMKLSNkZWZpbmUgbmljZW1hdGNoCXIxNGQKLSNkZWZpbmUJbGltaXQJCXIxNQotI2RlZmluZQlsaW1pdGQJCXIxNWQKLSNkZWZpbmUgcHJldgkJcmN4Ci0KLS8qCi0gKiBUaGUgMjU4IGlzIGEgIm1hZ2ljIG51bWJlciwgbm90IGEgcGFyYW1ldGVyIC0tIGNoYW5naW5nIGl0Ci0gKiBicmVha3MgdGhlIGhlbGwgbG9vc2UKLSAqLwotI2RlZmluZQlNQVhfTUFUQ0gJKDI1OCkKLSNkZWZpbmUJTUlOX01BVENICSgzKQotI2RlZmluZQlNSU5fTE9PS0FIRUFECShNQVhfTUFUQ0ggKyBNSU5fTUFUQ0ggKyAxKQotI2RlZmluZQlNQVhfTUFUQ0hfOAkoKE1BWF9NQVRDSCArIDcpICYgfjcpCi0KLS8qIHN0YWNrIGZyYW1lIG9mZnNldHMgKi8KLSNkZWZpbmUJTG9jYWxWYXJzU2l6ZQkoMTEyKQotI2RlZmluZSBfY2hhaW5sZW53bWFzawkoIDgtTG9jYWxWYXJzU2l6ZSkoJXJzcCkKLSNkZWZpbmUgX3dpbmRvd2Jlc3RsZW4JKDE2LUxvY2FsVmFyc1NpemUpKCVyc3ApCi0jZGVmaW5lIHNhdmVfcjE0ICAgICAgICAoMjQtTG9jYWxWYXJzU2l6ZSkoJXJzcCkKLSNkZWZpbmUgc2F2ZV9yc2kgICAgICAgICgzMi1Mb2NhbFZhcnNTaXplKSglcnNwKQotI2RlZmluZSBzYXZlX3JieCAgICAgICAgKDQwLUxvY2FsVmFyc1NpemUpKCVyc3ApCi0jZGVmaW5lIHNhdmVfcjEyICAgICAgICAoNTYtTG9jYWxWYXJzU2l6ZSkoJXJzcCkKLSNkZWZpbmUgc2F2ZV9yMTMgICAgICAgICg2NC1Mb2NhbFZhcnNTaXplKSglcnNwKQotI2RlZmluZSBzYXZlX3IxNSAgICAgICAgKDgwLUxvY2FsVmFyc1NpemUpKCVyc3ApCi0KLQotLmdsb2JsCW1hdGNoX2luaXQsIGxvbmdlc3RfbWF0Y2gKLQotLyoKLSAqIE9uIEFNRDY0IHRoZSBmaXJzdCBhcmd1bWVudCBvZiBhIGZ1bmN0aW9uIChpbiBvdXIgY2FzZSAtLSB0aGUgcG9pbnRlciB0bwotICogZGVmbGF0ZV9zdGF0ZSBzdHJ1Y3R1cmUpIGlzIHBhc3NlZCBpbiAlcmRpLCBoZW5jZSBvdXIgb2Zmc2V0cyBiZWxvdyBhcmUKLSAqIGFsbCBvZmYgb2YgdGhhdC4KLSAqLwotCi0vKiB5b3UgY2FuIGNoZWNrIHRoZSBzdHJ1Y3R1cmUgb2Zmc2V0IGJ5IHJ1bm5pbmcKLQotI2luY2x1ZGUgPHN0ZGxpYi5oPgotI2luY2x1ZGUgPHN0ZGlvLmg+Ci0jaW5jbHVkZSAiZGVmbGF0ZS5oIgotCi12b2lkIHByaW50X2RlcGwoKQotewotZGVmbGF0ZV9zdGF0ZSBkczsKLWRlZmxhdGVfc3RhdGUgKnM9JmRzOwotcHJpbnRmKCJzaXplIHBvaW50ZXI9JXVcbiIsKGludClzaXplb2Yodm9pZCopKTsKLQotcHJpbnRmKCIjZGVmaW5lIGRzV1NpemUgICAgICAgICAoJTN1KSglJXJkaSlcbiIsKGludCkoKChjaGFyKikmKHMtPndfc2l6ZSkpLSgoY2hhciopcykpKTsKLXByaW50ZigiI2RlZmluZSBkc1dNYXNrICAgICAgICAgKCUzdSkoJSVyZGkpXG4iLChpbnQpKCgoY2hhciopJihzLT53X21hc2spKS0oKGNoYXIqKXMpKSk7Ci1wcmludGYoIiNkZWZpbmUgZHNXaW5kb3cgICAgICAgICglM3UpKCUlcmRpKVxuIiwoaW50KSgoKGNoYXIqKSYocy0+d2luZG93KSktKChjaGFyKilzKSkpOwotcHJpbnRmKCIjZGVmaW5lIGRzUHJldiAgICAgICAgICAoJTN1KSglJXJkaSlcbiIsKGludCkoKChjaGFyKikmKHMtPnByZXYpKS0oKGNoYXIqKXMpKSk7Ci1wcmludGYoIiNkZWZpbmUgZHNNYXRjaExlbiAgICAgICglM3UpKCUlcmRpKVxuIiwoaW50KSgoKGNoYXIqKSYocy0+bWF0Y2hfbGVuZ3RoKSktKChjaGFyKilzKSkpOwotcHJpbnRmKCIjZGVmaW5lIGRzUHJldk1hdGNoICAgICAoJTN1KSglJXJkaSlcbiIsKGludCkoKChjaGFyKikmKHMtPnByZXZfbWF0Y2gpKS0oKGNoYXIqKXMpKSk7Ci1wcmludGYoIiNkZWZpbmUgZHNTdHJTdGFydCAgICAgICglM3UpKCUlcmRpKVxuIiwoaW50KSgoKGNoYXIqKSYocy0+c3Ryc3RhcnQpKS0oKGNoYXIqKXMpKSk7Ci1wcmludGYoIiNkZWZpbmUgZHNNYXRjaFN0YXJ0ICAgICglM3UpKCUlcmRpKVxuIiwoaW50KSgoKGNoYXIqKSYocy0+bWF0Y2hfc3RhcnQpKS0oKGNoYXIqKXMpKSk7Ci1wcmludGYoIiNkZWZpbmUgZHNMb29rYWhlYWQgICAgICglM3UpKCUlcmRpKVxuIiwoaW50KSgoKGNoYXIqKSYocy0+bG9va2FoZWFkKSktKChjaGFyKilzKSkpOwotcHJpbnRmKCIjZGVmaW5lIGRzUHJldkxlbiAgICAgICAoJTN1KSglJXJkaSlcbiIsKGludCkoKChjaGFyKikmKHMtPnByZXZfbGVuZ3RoKSktKChjaGFyKilzKSkpOwotcHJpbnRmKCIjZGVmaW5lIGRzTWF4Q2hhaW5MZW4gICAoJTN1KSglJXJkaSlcbiIsKGludCkoKChjaGFyKikmKHMtPm1heF9jaGFpbl9sZW5ndGgpKS0oKGNoYXIqKXMpKSk7Ci1wcmludGYoIiNkZWZpbmUgZHNHb29kTWF0Y2ggICAgICglM3UpKCUlcmRpKVxuIiwoaW50KSgoKGNoYXIqKSYocy0+Z29vZF9tYXRjaCkpLSgoY2hhciopcykpKTsKLXByaW50ZigiI2RlZmluZSBkc05pY2VNYXRjaCAgICAgKCUzdSkoJSVyZGkpXG4iLChpbnQpKCgoY2hhciopJihzLT5uaWNlX21hdGNoKSktKChjaGFyKilzKSkpOwotfQotCi0qLwotCi0KLS8qCi0gIHRvIGNvbXBpbGUgZm9yIFhDb2RlIDMuMiBvbiBNYWNPU1ggeDg2XzY0Ci0gIC0gcnVuICJnY2MgLWcgLWMgLURYQ09ERV9NQUNfWDY0X1NUUlVDVFVSRSBhbWQ2NC1tYXRjaC5TIgotICovCi0KLQotI2lmbmRlZiBDVVJSRU5UX0xJTlhfWENPREVfTUFDX1g2NF9TVFJVQ1RVUkUKLSNkZWZpbmUgZHNXU2l6ZQkJKCA2OCkoJXJkaSkKLSNkZWZpbmUgZHNXTWFzawkJKCA3NikoJXJkaSkKLSNkZWZpbmUgZHNXaW5kb3cJKCA4MCkoJXJkaSkKLSNkZWZpbmUgZHNQcmV2CQkoIDk2KSglcmRpKQotI2RlZmluZSBkc01hdGNoTGVuCSgxNDQpKCVyZGkpCi0jZGVmaW5lIGRzUHJldk1hdGNoCSgxNDgpKCVyZGkpCi0jZGVmaW5lIGRzU3RyU3RhcnQJKDE1NikoJXJkaSkKLSNkZWZpbmUgZHNNYXRjaFN0YXJ0CSgxNjApKCVyZGkpCi0jZGVmaW5lIGRzTG9va2FoZWFkCSgxNjQpKCVyZGkpCi0jZGVmaW5lIGRzUHJldkxlbgkoMTY4KSglcmRpKQotI2RlZmluZSBkc01heENoYWluTGVuCSgxNzIpKCVyZGkpCi0jZGVmaW5lIGRzR29vZE1hdGNoCSgxODgpKCVyZGkpCi0jZGVmaW5lIGRzTmljZU1hdGNoCSgxOTIpKCVyZGkpCi0KLSNlbHNlIAotCi0jaWZuZGVmIFNUUlVDVF9PRkZTRVQKLSMJZGVmaW5lIFNUUlVDVF9PRkZTRVQJKDApCi0jZW5kaWYKLQotCi0jZGVmaW5lIGRzV1NpemUJCSggNTYgKyBTVFJVQ1RfT0ZGU0VUKSglcmRpKQotI2RlZmluZSBkc1dNYXNrCQkoIDY0ICsgU1RSVUNUX09GRlNFVCkoJXJkaSkKLSNkZWZpbmUgZHNXaW5kb3cJKCA3MiArIFNUUlVDVF9PRkZTRVQpKCVyZGkpCi0jZGVmaW5lIGRzUHJldgkJKCA4OCArIFNUUlVDVF9PRkZTRVQpKCVyZGkpCi0jZGVmaW5lIGRzTWF0Y2hMZW4JKDEzNiArIFNUUlVDVF9PRkZTRVQpKCVyZGkpCi0jZGVmaW5lIGRzUHJldk1hdGNoCSgxNDAgKyBTVFJVQ1RfT0ZGU0VUKSglcmRpKQotI2RlZmluZSBkc1N0clN0YXJ0CSgxNDggKyBTVFJVQ1RfT0ZGU0VUKSglcmRpKQotI2RlZmluZSBkc01hdGNoU3RhcnQJKDE1MiArIFNUUlVDVF9PRkZTRVQpKCVyZGkpCi0jZGVmaW5lIGRzTG9va2FoZWFkCSgxNTYgKyBTVFJVQ1RfT0ZGU0VUKSglcmRpKQotI2RlZmluZSBkc1ByZXZMZW4JKDE2MCArIFNUUlVDVF9PRkZTRVQpKCVyZGkpCi0jZGVmaW5lIGRzTWF4Q2hhaW5MZW4JKDE2NCArIFNUUlVDVF9PRkZTRVQpKCVyZGkpCi0jZGVmaW5lIGRzR29vZE1hdGNoCSgxODAgKyBTVFJVQ1RfT0ZGU0VUKSglcmRpKQotI2RlZmluZSBkc05pY2VNYXRjaAkoMTg0ICsgU1RSVUNUX09GRlNFVCkoJXJkaSkKLQotI2VuZGlmCi0KLQotCi0KLS50ZXh0Ci0KLS8qIHVJbnQgbG9uZ2VzdF9tYXRjaChkZWZsYXRlX3N0YXRlICpkZWZsYXRlc3RhdGUsIElQb3MgY3VybWF0Y2gpICovCi0KLWxvbmdlc3RfbWF0Y2g6Ci0vKgotICogUmV0cmlldmUgdGhlIGZ1bmN0aW9uIGFyZ3VtZW50cy4gJWN1cm1hdGNoIHdpbGwgaG9sZCBjdXJfbWF0Y2gKLSAqIHRocm91Z2hvdXQgdGhlIGVudGlyZSBmdW5jdGlvbiAocGFzc2VkIHZpYSByc2kgb24gYW1kNjQpLgotICogcmRpIHdpbGwgaG9sZCB0aGUgcG9pbnRlciB0byB0aGUgZGVmbGF0ZV9zdGF0ZSAoZmlyc3QgYXJnIG9uIGFtZDY0KQotICovCi0JCW1vdiAgICAgJXJzaSwgc2F2ZV9yc2kKLQkJbW92ICAgICAlcmJ4LCBzYXZlX3JieAotCQltb3YJJXIxMiwgc2F2ZV9yMTIKLQkJbW92ICAgICAlcjEzLCBzYXZlX3IxMwotCQltb3YgICAgICVyMTQsIHNhdmVfcjE0Ci0JCW1vdiAgICAgJXIxNSwgc2F2ZV9yMTUKLQotLyogdUludCB3bWFzayA9IHMtPndfbWFzazsJCQkJCQkqLwotLyogdW5zaWduZWQgY2hhaW5fbGVuZ3RoID0gcy0+bWF4X2NoYWluX2xlbmd0aDsJCQkJKi8KLS8qIGlmIChzLT5wcmV2X2xlbmd0aCA+PSBzLT5nb29kX21hdGNoKSB7CQkJCSovCi0vKiAgICAgY2hhaW5fbGVuZ3RoID4+PSAyOwkJCQkJCSovCi0vKiB9CQkJCQkJCQkJKi8KLQotCQltb3ZsCWRzUHJldkxlbiwgJWVheAotCQltb3ZsCWRzR29vZE1hdGNoLCAlZWJ4Ci0JCWNtcGwJJWVieCwgJWVheAotCQltb3ZsCWRzV01hc2ssICVlYXgKLQkJbW92bAlkc01heENoYWluTGVuLCAlY2hhaW5sZW53bWFzawotCQlqbAlMYXN0TWF0Y2hHb29kCi0JCXNocmwJJDIsICVjaGFpbmxlbndtYXNrCi1MYXN0TWF0Y2hHb29kOgotCi0vKiBjaGFpbmxlbiBpcyBkZWNyZW1lbnRlZCBvbmNlIGJlZm9yZWhhbmQgc28gdGhhdCB0aGUgZnVuY3Rpb24gY2FuCSovCi0vKiB1c2UgdGhlIHNpZ24gZmxhZyBpbnN0ZWFkIG9mIHRoZSB6ZXJvIGZsYWcgZm9yIHRoZSBleGl0IHRlc3QuCSovCi0vKiBJdCBpcyB0aGVuIHNoaWZ0ZWQgaW50byB0aGUgaGlnaCB3b3JkLCB0byBtYWtlIHJvb20gZm9yIHRoZSB3bWFzawkqLwotLyogdmFsdWUsIHdoaWNoIGl0IHdpbGwgYWx3YXlzIGFjY29tcGFueS4JCQkJKi8KLQotCQlkZWNsCSVjaGFpbmxlbndtYXNrCi0JCXNobGwJJDE2LCAlY2hhaW5sZW53bWFzawotCQlvcmwJJWVheCwgJWNoYWlubGVud21hc2sKLQotLyogaWYgKCh1SW50KW5pY2VfbWF0Y2ggPiBzLT5sb29rYWhlYWQpIG5pY2VfbWF0Y2ggPSBzLT5sb29rYWhlYWQ7CSovCi0KLQkJbW92bAlkc05pY2VNYXRjaCwgJWVheAotCQltb3ZsCWRzTG9va2FoZWFkLCAlZWJ4Ci0JCWNtcGwJJWVheCwgJWVieAotCQlqbAlMb29rYWhlYWRMZXNzCi0JCW1vdmwJJWVheCwgJWVieAotTG9va2FoZWFkTGVzczoJbW92bAklZWJ4LCAlbmljZW1hdGNoCi0KLS8qIHJlZ2lzdGVyIEJ5dGVmICpzY2FuID0gcy0+d2luZG93ICsgcy0+c3Ryc3RhcnQ7CQkJKi8KLQotCQltb3YJZHNXaW5kb3csICV3aW5kb3cKLQkJbW92bAlkc1N0clN0YXJ0LCAlbGltaXRkCi0JCWxlYQkoJWxpbWl0LCAld2luZG93KSwgJXNjYW4KLQotLyogRGV0ZXJtaW5lIGhvdyBtYW55IGJ5dGVzIHRoZSBzY2FuIHB0ciBpcyBvZmYgZnJvbSBiZWluZwkJKi8KLS8qIGR3b3JkLWFsaWduZWQuCQkJCQkJCSovCi0KLQkJbW92CSVzY2FuLCAlc2NhbmFsaWduCi0JCW5lZ2wJJXNjYW5hbGlnbmQKLQkJYW5kbAkkMywgJXNjYW5hbGlnbmQKLQotLyogSVBvcyBsaW1pdCA9IHMtPnN0cnN0YXJ0ID4gKElQb3MpTUFYX0RJU1QocykgPwkJCSovCi0vKiAgICAgcy0+c3Ryc3RhcnQgLSAoSVBvcylNQVhfRElTVChzKSA6IE5JTDsJCQkJKi8KLQotCQltb3ZsCWRzV1NpemUsICVlYXgKLQkJc3VibAkkTUlOX0xPT0tBSEVBRCwgJWVheAotCQl4b3JsCSVlY3gsICVlY3gKLQkJc3VibAklZWF4LCAlbGltaXRkCi0JCWNtb3ZuZwklZWN4LCAlbGltaXRkCi0KLS8qIGludCBiZXN0X2xlbiA9IHMtPnByZXZfbGVuZ3RoOwkJCQkJKi8KLQotCQltb3ZsCWRzUHJldkxlbiwgJWJlc3RsZW5kCi0KLS8qIFN0b3JlIHRoZSBzdW0gb2Ygcy0+d2luZG93ICsgYmVzdF9sZW4gaW4gJXdpbmRvd2Jlc3RsZW4gbG9jYWxseSwgYW5kIGluIG1lbW9yeS4JKi8KLQotCQlsZWEJKCV3aW5kb3csICViZXN0bGVuKSwgJXdpbmRvd2Jlc3RsZW4KLQkJbW92CSV3aW5kb3diZXN0bGVuLCBfd2luZG93YmVzdGxlbgotCi0vKiByZWdpc3RlciB1c2ggc2Nhbl9zdGFydCA9ICoodXNoZiopc2NhbjsJCQkJKi8KLS8qIHJlZ2lzdGVyIHVzaCBzY2FuX2VuZCAgID0gKih1c2hmKikoc2NhbitiZXN0X2xlbi0xKTsJCQkqLwotLyogUG9zZiAqcHJldiA9IHMtPnByZXY7CQkJCQkJKi8KLQotCQltb3Z6d2wJKCVzY2FuKSwgJXNjYW5zdGFydAotCQltb3Z6d2wJLTEoJXNjYW4sICViZXN0bGVuKSwgJXNjYW5lbmQKLQkJbW92CWRzUHJldiwgJXByZXYKLQotLyogSnVtcCBpbnRvIHRoZSBtYWluIGxvb3AuCQkJCQkJKi8KLQotCQltb3ZsCSVjaGFpbmxlbndtYXNrLCBfY2hhaW5sZW53bWFzawotCQlqbXAJTG9vcEVudHJ5Ci0KLS5iYWxpZ24gMTYKLQotLyogZG8gewotICogICAgIG1hdGNoID0gcy0+d2luZG93ICsgY3VyX21hdGNoOwotICogICAgIGlmICgqKHVzaGYqKShtYXRjaCtiZXN0X2xlbi0xKSAhPSBzY2FuX2VuZCB8fAotICogICAgICAgICAqKHVzaGYqKW1hdGNoICE9IHNjYW5fc3RhcnQpIGNvbnRpbnVlOwotICogICAgIFsuLi5dCi0gKiB9IHdoaWxlICgoY3VyX21hdGNoID0gcHJldltjdXJfbWF0Y2ggJiB3bWFza10pID4gbGltaXQKLSAqICAgICAgICAgICYmIC0tY2hhaW5fbGVuZ3RoICE9IDApOwotICoKLSAqIEhlcmUgaXMgdGhlIGlubmVyIGxvb3Agb2YgdGhlIGZ1bmN0aW9uLiBUaGUgZnVuY3Rpb24gd2lsbCBzcGVuZCB0aGUKLSAqIG1ham9yaXR5IG9mIGl0cyB0aW1lIGluIHRoaXMgbG9vcCwgYW5kIG1ham9yaXR5IG9mIHRoYXQgdGltZSB3aWxsCi0gKiBiZSBzcGVudCBpbiB0aGUgZmlyc3QgdGVuIGluc3RydWN0aW9ucy4KLSAqLwotTG9va3VwTG9vcDoKLQkJYW5kbAklY2hhaW5sZW53bWFzaywgJWN1cm1hdGNoZAotCQltb3Z6d2wJKCVwcmV2LCAlY3VybWF0Y2gsIDIpLCAlY3VybWF0Y2hkCi0JCWNtcGwJJWxpbWl0ZCwgJWN1cm1hdGNoZAotCQlqYmUJTGVhdmVOb3cKLQkJc3VibAkkMHgwMDAxMDAwMCwgJWNoYWlubGVud21hc2sKLQkJanMJTGVhdmVOb3cKLUxvb3BFbnRyeToJY21wdwktMSgld2luZG93YmVzdGxlbiwgJWN1cm1hdGNoKSwgJXNjYW5lbmR3Ci0JCWpuZQlMb29rdXBMb29wCi0JCWNtcHcJJXNjYW5zdGFydHcsICgld2luZG93LCAlY3VybWF0Y2gpCi0JCWpuZQlMb29rdXBMb29wCi0KLS8qIFN0b3JlIHRoZSBjdXJyZW50IHZhbHVlIG9mIGNoYWlubGVuLgkJCQkJKi8KLQkJbW92bAklY2hhaW5sZW53bWFzaywgX2NoYWlubGVud21hc2sKLQotLyogJXNjYW4gaXMgdGhlIHN0cmluZyB1bmRlciBzY3J1dGlueSwgYW5kICVwcmV2IHRvIHRoZSBzdHJpbmcgd2UJKi8KLS8qIGFyZSBob3BpbmcgdG8gbWF0Y2ggaXQgdXAgd2l0aC4gSW4gYWN0dWFsaXR5LCAlZXNpIGFuZCAlZWRpIGFyZQkqLwotLyogYm90aCBwb2ludGVkIChNQVhfTUFUQ0hfOCAtIHNjYW5hbGlnbikgYnl0ZXMgYWhlYWQsIGFuZCAlZWR4IGlzCSovCi0vKiBpbml0aWFsaXplZCB0byAtKE1BWF9NQVRDSF84IC0gc2NhbmFsaWduKS4JCQkJKi8KLQotCQltb3YJJCgtTUFYX01BVENIXzgpLCAlcmR4Ci0JCWxlYQkoJWN1cm1hdGNoLCAld2luZG93KSwgJXdpbmRvd2Jlc3RsZW4KLQkJbGVhCU1BWF9NQVRDSF84KCV3aW5kb3diZXN0bGVuLCAlc2NhbmFsaWduKSwgJXdpbmRvd2Jlc3RsZW4KLQkJbGVhCU1BWF9NQVRDSF84KCVzY2FuLCAlc2NhbmFsaWduKSwgJXByZXYKLQotLyogdGhlIHByZWZldGNoaW5nIGJlbG93IG1ha2VzIHZlcnkgbGl0dGxlIGRpZmZlcmVuY2UuLi4gKi8KLQkJcHJlZmV0Y2h0MQkoJXdpbmRvd2Jlc3RsZW4sICVyZHgpCi0JCXByZWZldGNodDEJKCVwcmV2LCAlcmR4KQotCi0vKgotICogVGVzdCB0aGUgc3RyaW5ncyBmb3IgZXF1YWxpdHksIDggYnl0ZXMgYXQgYSB0aW1lLiBBdCB0aGUgZW5kLAotICogYWRqdXN0ICVyZHggc28gdGhhdCBpdCBpcyBvZmZzZXQgdG8gdGhlIGV4YWN0IGJ5dGUgdGhhdCBtaXNtYXRjaGVkLgotICoKLSAqIEl0IHNob3VsZCBiZSBjb25mZXNzZWQgdGhhdCB0aGlzIGxvb3AgdXN1YWxseSBkb2VzIG5vdCByZXByZXNlbnQKLSAqIG11Y2ggb2YgdGhlIHRvdGFsIHJ1bm5pbmcgdGltZS4gUmVwbGFjaW5nIGl0IHdpdGggYSBtb3JlCi0gKiBzdHJhaWdodGZvcndhcmQgInJlcCBjbXBzYiIgd291bGQgbm90IGRyYXN0aWNhbGx5IGRlZ3JhZGUKLSAqIHBlcmZvcm1hbmNlIC0tIHVucm9sbGluZyBpdCwgZm9yIGV4YW1wbGUsIG1ha2VzIG5vIGRpZmZlcmVuY2UuCi0gKi8KLQotI3VuZGVmIFVTRV9TU0UJLyogd29ya3MsIGJ1dCBpcyA2LTclIHNsb3dlciwgdGhhbiBub24tU1NFLi4uICovCi0KLUxvb3BDbXBzOgotI2lmZGVmIFVTRV9TU0UKLQkJLyogUHJlbG9hZCB0aGUgU1NFIHJlZ2lzdGVycyAqLwotCQltb3ZkcXUJICAoJXdpbmRvd2Jlc3RsZW4sICVyZHgpLCAleG1tMQotCQltb3ZkcXUJICAoJXByZXYsICVyZHgpLCAleG1tMgotCQlwY21wZXFiCSV4bW0yLCAleG1tMQotCQltb3ZkcXUJMTYoJXdpbmRvd2Jlc3RsZW4sICVyZHgpLCAleG1tMwotCQltb3ZkcXUJMTYoJXByZXYsICVyZHgpLCAleG1tNAotCQlwY21wZXFiCSV4bW00LCAleG1tMwotCQltb3ZkcXUJMzIoJXdpbmRvd2Jlc3RsZW4sICVyZHgpLCAleG1tNQotCQltb3ZkcXUJMzIoJXByZXYsICVyZHgpLCAleG1tNgotCQlwY21wZXFiCSV4bW02LCAleG1tNQotCQltb3ZkcXUJNDgoJXdpbmRvd2Jlc3RsZW4sICVyZHgpLCAleG1tNwotCQltb3ZkcXUJNDgoJXByZXYsICVyZHgpLCAleG1tOAotCQlwY21wZXFiCSV4bW04LCAleG1tNwotCi0JCS8qIENoZWNrIHRoZSBjb21wYXJpc2lvbnMnIHJlc3VsdHMgKi8KLQkJcG1vdm1za2IgJXhtbTEsICVyYXgKLQkJbm90dwklYXgKLQkJYnNmdwklYXgsICVheAotCQlqbnoJTGVhdmVMb29wQ21wcwotCQkKLQkJLyogdGhpcyBpcyB0aGUgb25seSBpdGVyYXRpb24gb2YgdGhlIGxvb3Agd2l0aCBhIHBvc3NpYmlsaXR5IG9mIGhhdmluZwotCQkgICBpbmNyZW1lbnRlZCByZHggYnkgMHgxMDggKGVhY2ggbG9vcCBpdGVyYXRpb24gYWRkIDE2KjQgPSAweDQwIAotCQkgICBhbmQgKDB4NDAqNCkrOD0weDEwOCAqLwotCQlhZGQJJDgsICVyZHgKLQkJanogTGVuTWF4aW11bQotCQlhZGQJJDgsICVyZHgKLQotCQkKLQkJcG1vdm1za2IgJXhtbTMsICVyYXgKLQkJbm90dwklYXgKLQkJYnNmdwklYXgsICVheAotCQlqbnoJTGVhdmVMb29wQ21wcwotCQkKLQkJCi0JCWFkZAkkMTYsICVyZHgKLQotCi0JCXBtb3Ztc2tiICV4bW01LCAlcmF4Ci0JCW5vdHcJJWF4Ci0JCWJzZncJJWF4LCAlYXgKLQkJam56CUxlYXZlTG9vcENtcHMKLQkJCi0JCWFkZAkkMTYsICVyZHgKLQotCi0JCXBtb3Ztc2tiICV4bW03LCAlcmF4Ci0JCW5vdHcJJWF4Ci0JCWJzZncJJWF4LCAlYXgKLQkJam56CUxlYXZlTG9vcENtcHMKLQkJCi0JCWFkZAkkMTYsICVyZHgKLQkJCi0JCWptcAlMb29wQ21wcwotTGVhdmVMb29wQ21wczoJYWRkCSVyYXgsICVyZHgKLSNlbHNlCi0JCW1vdgkoJXdpbmRvd2Jlc3RsZW4sICVyZHgpLCAlcmF4Ci0JCXhvcgkoJXByZXYsICVyZHgpLCAlcmF4Ci0JCWpueglMZWF2ZUxvb3BDbXBzCi0JCQotCQltb3YJOCgld2luZG93YmVzdGxlbiwgJXJkeCksICVyYXgKLQkJeG9yCTgoJXByZXYsICVyZHgpLCAlcmF4Ci0JCWpueglMZWF2ZUxvb3BDbXBzOAotCi0JCW1vdgkxNigld2luZG93YmVzdGxlbiwgJXJkeCksICVyYXgKLQkJeG9yCTE2KCVwcmV2LCAlcmR4KSwgJXJheAotCQlqbnoJTGVhdmVMb29wQ21wczE2Ci0JCQkJCi0JCWFkZAkkMjQsICVyZHgKLQkJam56CUxvb3BDbXBzCi0JCWptcAlMZW5NYXhpbXVtCi0jCWlmIDAKLS8qCi0gKiBUaGlzIHRocmVlLWxpbmVyIGlzIHRhbnRhbGl6aW5nbHkgc2ltcGxlLCBidXQgYnNmIGlzIGEgc2xvdyBpbnN0cnVjdGlvbiwKLSAqIGFuZCB0aGUgY29tcGxpY2F0ZWQgYWx0ZXJuYXRpdmUgZG93biBiZWxvdyBpcyBxdWl0ZSBhIGJpdCBmYXN0ZXIuIFNhZC4uLgotICovCi0KLUxlYXZlTG9vcENtcHM6CWJzZgklcmF4LCAlcmF4IC8qIGZpbmQgdGhlIGZpcnN0IG5vbi16ZXJvIGJpdCAqLwotCQlzaHJsCSQzLCAlZWF4IC8qIGRpdmlkZSBieSA4IHRvIGdldCB0aGUgYnl0ZSAqLwotCQlhZGQJJXJheCwgJXJkeAotIwllbHNlCi1MZWF2ZUxvb3BDbXBzMTY6Ci0JCWFkZAkkOCwgJXJkeAotTGVhdmVMb29wQ21wczg6Ci0JCWFkZAkkOCwgJXJkeAotTGVhdmVMb29wQ21wczoJdGVzdGwgICAkMHhGRkZGRkZGRiwgJWVheCAvKiBDaGVjayB0aGUgZmlyc3QgNCBieXRlcyAqLwotCQlqbnogICAgIENoZWNrMTYKLQkJYWRkICAgICAkNCwgJXJkeAotCQlzaHIgICAgICQzMiwgJXJheAotQ2hlY2sxNjogICAgICAgIHRlc3R3ICAgJDB4RkZGRiwgJWF4Ci0JCWpueiAgICAgTGVuTG93ZXIKLQkJYWRkCSQyLCAlcmR4Ci0JCXNocmwJJDE2LCAlZWF4Ci1MZW5Mb3dlcjoJc3ViYgkkMSwgJWFsCi0JCWFkYwkkMCwgJXJkeAotIwllbmRpZgotI2VuZGlmCi0KLS8qIENhbGN1bGF0ZSB0aGUgbGVuZ3RoIG9mIHRoZSBtYXRjaC4gSWYgaXQgaXMgbG9uZ2VyIHRoYW4gTUFYX01BVENILAkqLwotLyogdGhlbiBhdXRvbWF0aWNhbGx5IGFjY2VwdCBpdCBhcyB0aGUgYmVzdCBwb3NzaWJsZSBtYXRjaCBhbmQgbGVhdmUuCSovCi0KLQkJbGVhCSglcHJldiwgJXJkeCksICVyYXgKLQkJc3ViCSVzY2FuLCAlcmF4Ci0JCWNtcGwJJE1BWF9NQVRDSCwgJWVheAotCQlqZ2UJTGVuTWF4aW11bQotCi0vKiBJZiB0aGUgbGVuZ3RoIG9mIHRoZSBtYXRjaCBpcyBub3QgbG9uZ2VyIHRoYW4gdGhlIGJlc3QgbWF0Y2ggd2UJKi8KLS8qIGhhdmUgc28gZmFyLCB0aGVuIGZvcmdldCBpdCBhbmQgcmV0dXJuIHRvIHRoZSBsb29rdXAgbG9vcC4JCSovCi0KLQkJY21wbAklYmVzdGxlbmQsICVlYXgKLQkJamcJTG9uZ2VyTWF0Y2gKLQkJbW92CV93aW5kb3diZXN0bGVuLCAld2luZG93YmVzdGxlbgotCQltb3YJZHNQcmV2LCAlcHJldgotCQltb3ZsCV9jaGFpbmxlbndtYXNrLCAlZWR4Ci0JCWptcAlMb29rdXBMb29wCi0KLS8qICAgICAgICAgcy0+bWF0Y2hfc3RhcnQgPSBjdXJfbWF0Y2g7CQkJCQkqLwotLyogICAgICAgICBiZXN0X2xlbiA9IGxlbjsJCQkJCQkqLwotLyogICAgICAgICBpZiAobGVuID49IG5pY2VfbWF0Y2gpIGJyZWFrOwkJCQkqLwotLyogICAgICAgICBzY2FuX2VuZCA9ICoodXNoZiopKHNjYW4rYmVzdF9sZW4tMSk7CQkJKi8KLQotTG9uZ2VyTWF0Y2g6Ci0JCW1vdmwJJWVheCwgJWJlc3RsZW5kCi0JCW1vdmwJJWN1cm1hdGNoZCwgZHNNYXRjaFN0YXJ0Ci0JCWNtcGwJJW5pY2VtYXRjaCwgJWVheAotCQlqZ2UJTGVhdmVOb3cKLQotCQlsZWEJKCV3aW5kb3csICViZXN0bGVuKSwgJXdpbmRvd2Jlc3RsZW4KLQkJbW92CSV3aW5kb3diZXN0bGVuLCBfd2luZG93YmVzdGxlbgotCi0JCW1vdnp3bAktMSglc2NhbiwgJXJheCksICVzY2FuZW5kCi0JCW1vdglkc1ByZXYsICVwcmV2Ci0JCW1vdmwJX2NoYWlubGVud21hc2ssICVjaGFpbmxlbndtYXNrCi0JCWptcAlMb29rdXBMb29wCi0KLS8qIEFjY2VwdCB0aGUgY3VycmVudCBzdHJpbmcsIHdpdGggdGhlIG1heGltdW0gcG9zc2libGUgbGVuZ3RoLgkJKi8KLQotTGVuTWF4aW11bToKLQkJbW92bAkkTUFYX01BVENILCAlYmVzdGxlbmQKLQkJbW92bAklY3VybWF0Y2hkLCBkc01hdGNoU3RhcnQKLQotLyogaWYgKCh1SW50KWJlc3RfbGVuIDw9IHMtPmxvb2thaGVhZCkgcmV0dXJuICh1SW50KWJlc3RfbGVuOwkJKi8KLS8qIHJldHVybiBzLT5sb29rYWhlYWQ7CQkJCQkJCSovCi0KLUxlYXZlTm93OgotCQltb3ZsCWRzTG9va2FoZWFkLCAlZWF4Ci0JCWNtcGwJJWVheCwgJWJlc3RsZW5kCi0JCWNtb3ZuZ2wJJWJlc3RsZW5kLCAlZWF4Ci1Mb29rYWhlYWRSZXQ6Ci0KLS8qIFJlc3RvcmUgdGhlIHJlZ2lzdGVycyBhbmQgcmV0dXJuIGZyb20gd2hlbmNlIHdlIGNhbWUuCQkJKi8KLQotCW1vdglzYXZlX3JzaSwgJXJzaQotCW1vdglzYXZlX3JieCwgJXJieAotCW1vdglzYXZlX3IxMiwgJXIxMgotCW1vdglzYXZlX3IxMywgJXIxMwotCW1vdglzYXZlX3IxNCwgJXIxNAotCW1vdglzYXZlX3IxNSwgJXIxNQotCi0JcmV0Ci0KLW1hdGNoX2luaXQ6CXJldApkaWZmIC0tZ2l0IGEvc3JjL2NvbnRyaWIvYXNtNjg2L1JFQURNRS42ODYgYi9zcmMvY29udHJpYi9hc202ODYvUkVBRE1FLjY4NgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTBiZjNiZS4uMDAwMDAwMAotLS0gYS9zcmMvY29udHJpYi9hc202ODYvUkVBRE1FLjY4NgorKysgL2Rldi9udWxsCkBAIC0xLDUxICswLDAgQEAKLVRoaXMgaXMgYSBwYXRjaGVkIHZlcnNpb24gb2YgemxpYiwgbW9kaWZpZWQgdG8gdXNlCi1QZW50aXVtLVByby1vcHRpbWl6ZWQgYXNzZW1ibHkgY29kZSBpbiB0aGUgZGVmbGF0aW9uIGFsZ29yaXRobS4gVGhlCi1maWxlcyBjaGFuZ2VkL2FkZGVkIGJ5IHRoaXMgcGF0Y2ggYXJlOgotCi1SRUFETUUuNjg2Ci1tYXRjaC5TCi0KLVRoZSBzcGVlZHVwIHRoYXQgdGhpcyBwYXRjaCBwcm92aWRlcyB2YXJpZXMsIGRlcGVuZGluZyBvbiB3aGV0aGVyIHRoZQotY29tcGlsZXIgdXNlZCB0byBidWlsZCB0aGUgb3JpZ2luYWwgdmVyc2lvbiBvZiB6bGliIGZhbGxzIGFmb3VsIG9mIHRoZQotUFBybydzIHNwZWVkIHRyYXBzLiBNeSBvd24gdGVzdHMgc2hvdyBhIHNwZWVkdXAgb2YgYXJvdW5kIDEwLTIwJSBhdAotdGhlIGRlZmF1bHQgY29tcHJlc3Npb24gbGV2ZWwsIGFuZCAyMC0zMCUgdXNpbmcgLTksIGFnYWluc3QgYSB2ZXJzaW9uCi1jb21waWxlZCB1c2luZyBnY2MgMi43LjIuMy4gWW91ciBtaWxlYWdlIG1heSB2YXJ5LgotCi1Ob3RlIHRoYXQgdGhpcyBjb2RlIGhhcyBiZWVuIHRhaWxvcmVkIGZvciB0aGUgUFByby9QSUkgaW4gcGFydGljdWxhciwKLWFuZCB3aWxsIG5vdCBwZXJmb3JtIHBhcnRpY3Vhcmx5IHdlbGwgb24gYSBQZW50aXVtLgotCi1JZiB5b3UgYXJlIHVzaW5nIGFuIGFzc2VtYmxlciBvdGhlciB0aGFuIEdOVSBhcywgeW91IHdpbGwgaGF2ZSB0bwotdHJhbnNsYXRlIG1hdGNoLlMgdG8gdXNlIHlvdXIgYXNzZW1ibGVyJ3Mgc3ludGF4LiAoSGF2ZSBmdW4uKQotCi1CcmlhbiBSYWl0ZXIKLWJyZWFkYm94QG11cHBldGxhYnMuY29tCi1BcHJpbCwgMTk5OAotCi0KLUFkZGVkIGZvciB6bGliIDEuMS4zOgotCi1UaGUgcGF0Y2hlcyBjb21lIGZyb20KLWh0dHA6Ly93d3cubXVwcGV0bGFicy5jb20vfmJyZWFkYm94L3NvZnR3YXJlL2Fzc2VtYmx5Lmh0bWwKLQotVG8gY29tcGlsZSB6bGliIHdpdGggdGhpcyBhc20gZmlsZSwgY29weSBtYXRjaC5TIHRvIHRoZSB6bGliIGRpcmVjdG9yeQotdGhlbiBkbzoKLQotQ0ZMQUdTPSItTzMgLURBU01WIiAuL2NvbmZpZ3VyZQotbWFrZSBPQkpBPW1hdGNoLm8KLQotCi1VcGRhdGU6Ci0KLUkndmUgYmVlbiBpZ25vcmluZyB0aGVzZSBhc3NlbWJseSByb3V0aW5lcyBmb3IgeWVhcnMsIGJlbGlldmluZyB0aGF0Ci1nY2MncyBnZW5lcmF0ZWQgY29kZSBoYWQgY2F1Z2h0IHVwIHdpdGggaXQgc29tZXRpbWUgYXJvdW5kIGdjYyAyLjk1Ci1hbmQgdGhlIG1ham9yIHJlYXJjaGl0ZWN0aW5nIG9mIHRoZSBQZW50aXVtIDQuIEhvd2V2ZXIsIEkgcmVjZW50bHkKLWxlYXJuZWQgdGhhdCwgZGVzcGl0ZSB3aGF0IEkgYmVsaWV2ZWQsIHRoaXMgY29kZSBzdGlsbCBoYXMgc29tZSBsaWZlCi1pbiBpdC4gT24gdGhlIFBlbnRpdW0gNCBhbmQgQU1ENjQgY2hpcHMsIGl0IGNvbnRpbnVlcyB0byBydW4gYWJvdXQgOCUKLWZhc3RlciB0aGFuIHRoZSBjb2RlIHByb2R1Y2VkIGJ5IGdjYyA0LjEuCi0KLUluIGFja25vd2xlZGdlbWVudCBvZiBpdHMgY29udGludWluZyB1c2VmdWxuZXNzLCBJJ3ZlIGFsdGVyZWQgdGhlCi1saWNlbnNlIHRvIG1hdGNoIHRoYXQgb2YgdGhlIHJlc3Qgb2YgemxpYi4gU2hhcmUgYW5kIEVuam95IQotCi1CcmlhbiBSYWl0ZXIKLWJyZWFkYm94QG11cHBldGxhYnMuY29tCi1BcHJpbCwgMjAwNwpkaWZmIC0tZ2l0IGEvc3JjL2NvbnRyaWIvYXNtNjg2L21hdGNoLlMgYi9zcmMvY29udHJpYi9hc202ODYvbWF0Y2guUwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmE0MjEwOS4uMDAwMDAwMAotLS0gYS9zcmMvY29udHJpYi9hc202ODYvbWF0Y2guUworKysgL2Rldi9udWxsCkBAIC0xLDM1NyArMCwwIEBACi0vKiBtYXRjaC5TIC0tIHg4NiBhc3NlbWJseSB2ZXJzaW9uIG9mIHRoZSB6bGliIGxvbmdlc3RfbWF0Y2goKSBmdW5jdGlvbi4KLSAqIE9wdGltaXplZCBmb3IgdGhlIEludGVsIDY4NiBjaGlwcyAoUFBybyBhbmQgbGF0ZXIpLgotICoKLSAqIENvcHlyaWdodCAoQykgMTk5OCwgMjAwNyBCcmlhbiBSYWl0ZXIgPGJyZWFkYm94QG11cHBldGxhYnMuY29tPgotICoKLSAqIFRoaXMgc29mdHdhcmUgaXMgcHJvdmlkZWQgJ2FzLWlzJywgd2l0aG91dCBhbnkgZXhwcmVzcyBvciBpbXBsaWVkCi0gKiB3YXJyYW50eS4gIEluIG5vIGV2ZW50IHdpbGwgdGhlIGF1dGhvciBiZSBoZWxkIGxpYWJsZSBmb3IgYW55IGRhbWFnZXMKLSAqIGFyaXNpbmcgZnJvbSB0aGUgdXNlIG9mIHRoaXMgc29mdHdhcmUuCi0gKgotICogUGVybWlzc2lvbiBpcyBncmFudGVkIHRvIGFueW9uZSB0byB1c2UgdGhpcyBzb2Z0d2FyZSBmb3IgYW55IHB1cnBvc2UsCi0gKiBpbmNsdWRpbmcgY29tbWVyY2lhbCBhcHBsaWNhdGlvbnMsIGFuZCB0byBhbHRlciBpdCBhbmQgcmVkaXN0cmlidXRlIGl0Ci0gKiBmcmVlbHksIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyByZXN0cmljdGlvbnM6Ci0gKgotICogMS4gVGhlIG9yaWdpbiBvZiB0aGlzIHNvZnR3YXJlIG11c3Qgbm90IGJlIG1pc3JlcHJlc2VudGVkOyB5b3UgbXVzdCBub3QKLSAqICAgIGNsYWltIHRoYXQgeW91IHdyb3RlIHRoZSBvcmlnaW5hbCBzb2Z0d2FyZS4gSWYgeW91IHVzZSB0aGlzIHNvZnR3YXJlCi0gKiAgICBpbiBhIHByb2R1Y3QsIGFuIGFja25vd2xlZGdtZW50IGluIHRoZSBwcm9kdWN0IGRvY3VtZW50YXRpb24gd291bGQgYmUKLSAqICAgIGFwcHJlY2lhdGVkIGJ1dCBpcyBub3QgcmVxdWlyZWQuCi0gKiAyLiBBbHRlcmVkIHNvdXJjZSB2ZXJzaW9ucyBtdXN0IGJlIHBsYWlubHkgbWFya2VkIGFzIHN1Y2gsIGFuZCBtdXN0IG5vdCBiZQotICogICAgbWlzcmVwcmVzZW50ZWQgYXMgYmVpbmcgdGhlIG9yaWdpbmFsIHNvZnR3YXJlLgotICogMy4gVGhpcyBub3RpY2UgbWF5IG5vdCBiZSByZW1vdmVkIG9yIGFsdGVyZWQgZnJvbSBhbnkgc291cmNlIGRpc3RyaWJ1dGlvbi4KLSAqLwotCi0jaWZuZGVmIE5PX1VOREVSTElORQotI2RlZmluZQltYXRjaF9pbml0CV9tYXRjaF9pbml0Ci0jZGVmaW5lCWxvbmdlc3RfbWF0Y2gJX2xvbmdlc3RfbWF0Y2gKLSNlbmRpZgotCi0jZGVmaW5lCU1BWF9NQVRDSAkoMjU4KQotI2RlZmluZQlNSU5fTUFUQ0gJKDMpCi0jZGVmaW5lCU1JTl9MT09LQUhFQUQJKE1BWF9NQVRDSCArIE1JTl9NQVRDSCArIDEpCi0jZGVmaW5lCU1BWF9NQVRDSF84CSgoTUFYX01BVENIICsgNykgJiB+NykKLQotLyogc3RhY2sgZnJhbWUgb2Zmc2V0cyAqLwotCi0jZGVmaW5lCWNoYWlubGVud21hc2sJCTAJLyogaGlnaCB3b3JkOiBjdXJyZW50IGNoYWluIGxlbgkqLwotCQkJCQkvKiBsb3cgd29yZDogcy0+d21hc2sJCSovCi0jZGVmaW5lCXdpbmRvdwkJCTQJLyogbG9jYWwgY29weSBvZiBzLT53aW5kb3cJKi8KLSNkZWZpbmUJd2luZG93YmVzdGxlbgkJOAkvKiBzLT53aW5kb3cgKyBiZXN0bGVuCQkqLwotI2RlZmluZQlzY2Fuc3RhcnQJCTE2CS8qIGZpcnN0IHR3byBieXRlcyBvZiBzdHJpbmcJKi8KLSNkZWZpbmUJc2NhbmVuZAkJCTEyCS8qIGxhc3QgdHdvIGJ5dGVzIG9mIHN0cmluZwkqLwotI2RlZmluZQlzY2FuYWxpZ24JCTIwCS8qIGR3b3JkLW1pc2FsaWdubWVudCBvZiBzdHJpbmcJKi8KLSNkZWZpbmUJbmljZW1hdGNoCQkyNAkvKiBhIGdvb2QgZW5vdWdoIG1hdGNoIHNpemUJKi8KLSNkZWZpbmUJYmVzdGxlbgkJCTI4CS8qIHNpemUgb2YgYmVzdCBtYXRjaCBzbyBmYXIJKi8KLSNkZWZpbmUJc2NhbgkJCTMyCS8qIHB0ciB0byBzdHJpbmcgd2FudGluZyBtYXRjaAkqLwotCi0jZGVmaW5lCUxvY2FsVmFyc1NpemUJCSgzNikKLS8qCXNhdmVkIGVieAkJMzYgKi8KLS8qCXNhdmVkIGVkaQkJNDAgKi8KLS8qCXNhdmVkIGVzaQkJNDQgKi8KLS8qCXNhdmVkIGVicAkJNDggKi8KLS8qCXJldHVybiBhZGRyZXNzCQk1MiAqLwotI2RlZmluZQlkZWZsYXRlc3RhdGUJCTU2CS8qIHRoZSBmdW5jdGlvbiBhcmd1bWVudHMJKi8KLSNkZWZpbmUJY3VybWF0Y2gJCTYwCi0KLS8qIEFsbCB0aGUgK3psaWIxMjIyYWRkIG9mZnNldHMgYXJlIGR1ZSB0byB0aGUgYWRkaXRpb24gb2YgZmllbGRzCi0gKiAgaW4gemxpYiBpbiB0aGUgZGVmbGF0ZV9zdGF0ZSBzdHJ1Y3R1cmUgc2luY2UgdGhlIGFzbSBjb2RlIHdhcyBmaXJzdCB3cml0dGVuCi0gKiAoaWYgeW91IGNvbXBpbGUgd2l0aCB6bGliIDEuMC40IG9yIG9sZGVyLCB1c2UgInpsaWIxMjIyYWRkIGVxdSAoLTQpIikuCi0gKiAoaWYgeW91IGNvbXBpbGUgd2l0aCB6bGliIGJldHdlZW4gMS4wLjUgYW5kIDEuMi4yLjEsIHVzZSAiemxpYjEyMjJhZGQgZXF1IDAiKS4KLSAqIGlmIHlvdSBjb21waWxlIHdpdGggemxpYiAxLjIuMi4yIG9yIGxhdGVyICwgdXNlICJ6bGliMTIyMmFkZCBlcXUgOCIpLgotICovCi0KLSNkZWZpbmUgemxpYjEyMjJhZGQJCSg4KQotCi0jZGVmaW5lCWRzV1NpemUJCQkoMzYremxpYjEyMjJhZGQpCi0jZGVmaW5lCWRzV01hc2sJCQkoNDQremxpYjEyMjJhZGQpCi0jZGVmaW5lCWRzV2luZG93CQkoNDgremxpYjEyMjJhZGQpCi0jZGVmaW5lCWRzUHJldgkJCSg1Nit6bGliMTIyMmFkZCkKLSNkZWZpbmUJZHNNYXRjaExlbgkJKDg4K3psaWIxMjIyYWRkKQotI2RlZmluZQlkc1ByZXZNYXRjaAkJKDkyK3psaWIxMjIyYWRkKQotI2RlZmluZQlkc1N0clN0YXJ0CQkoMTAwK3psaWIxMjIyYWRkKQotI2RlZmluZQlkc01hdGNoU3RhcnQJCSgxMDQremxpYjEyMjJhZGQpCi0jZGVmaW5lCWRzTG9va2FoZWFkCQkoMTA4K3psaWIxMjIyYWRkKQotI2RlZmluZQlkc1ByZXZMZW4JCSgxMTIremxpYjEyMjJhZGQpCi0jZGVmaW5lCWRzTWF4Q2hhaW5MZW4JCSgxMTYremxpYjEyMjJhZGQpCi0jZGVmaW5lCWRzR29vZE1hdGNoCQkoMTMyK3psaWIxMjIyYWRkKQotI2RlZmluZQlkc05pY2VNYXRjaAkJKDEzNit6bGliMTIyMmFkZCkKLQotCi0uZmlsZSAibWF0Y2guUyIKLQotLmdsb2JsCW1hdGNoX2luaXQsIGxvbmdlc3RfbWF0Y2gKLQotLnRleHQKLQotLyogdUludCBsb25nZXN0X21hdGNoKGRlZmxhdGVfc3RhdGUgKmRlZmxhdGVzdGF0ZSwgSVBvcyBjdXJtYXRjaCkgKi8KLS5jZmlfc2VjdGlvbnMJLmRlYnVnX2ZyYW1lCi0KLWxvbmdlc3RfbWF0Y2g6Ci0KLS5jZmlfc3RhcnRwcm9jCi0vKiBTYXZlIHJlZ2lzdGVycyB0aGF0IHRoZSBjb21waWxlciBtYXkgYmUgdXNpbmcsIGFuZCBhZGp1c3QgJWVzcCB0bwkqLwotLyogbWFrZSByb29tIGZvciBvdXIgc3RhY2sgZnJhbWUuCQkJCQkqLwotCi0JCXB1c2hsCSVlYnAKLQkJLmNmaV9kZWZfY2ZhX29mZnNldCA4Ci0JCS5jZmlfb2Zmc2V0IGVicCwgLTgKLQkJcHVzaGwJJWVkaQotCQkuY2ZpX2RlZl9jZmFfb2Zmc2V0IDEyCi0JCXB1c2hsCSVlc2kKLQkJLmNmaV9kZWZfY2ZhX29mZnNldCAxNgotCQlwdXNobAklZWJ4Ci0JCS5jZmlfZGVmX2NmYV9vZmZzZXQgMjAKLQkJc3VibAkkTG9jYWxWYXJzU2l6ZSwgJWVzcAotCQkuY2ZpX2RlZl9jZmFfb2Zmc2V0IExvY2FsVmFyc1NpemUrMjAKLQotLyogUmV0cmlldmUgdGhlIGZ1bmN0aW9uIGFyZ3VtZW50cy4gJWVjeCB3aWxsIGhvbGQgY3VyX21hdGNoCQkqLwotLyogdGhyb3VnaG91dCB0aGUgZW50aXJlIGZ1bmN0aW9uLiAlZWR4IHdpbGwgaG9sZCB0aGUgcG9pbnRlciB0byB0aGUJKi8KLS8qIGRlZmxhdGVfc3RhdGUgc3RydWN0dXJlIGR1cmluZyB0aGUgZnVuY3Rpb24ncyBzZXR1cCAoYmVmb3JlCQkqLwotLyogZW50ZXJpbmcgdGhlIG1haW4gbG9vcCkuCQkJCQkJKi8KLQotCQltb3ZsCWRlZmxhdGVzdGF0ZSglZXNwKSwgJWVkeAotCQltb3ZsCWN1cm1hdGNoKCVlc3ApLCAlZWN4Ci0KLS8qIHVJbnQgd21hc2sgPSBzLT53X21hc2s7CQkJCQkJKi8KLS8qIHVuc2lnbmVkIGNoYWluX2xlbmd0aCA9IHMtPm1heF9jaGFpbl9sZW5ndGg7CQkJCSovCi0vKiBpZiAocy0+cHJldl9sZW5ndGggPj0gcy0+Z29vZF9tYXRjaCkgewkJCQkqLwotLyogICAgIGNoYWluX2xlbmd0aCA+Pj0gMjsJCQkJCQkqLwotLyogfQkJCQkJCQkJCSovCi0gCi0JCW1vdmwJZHNQcmV2TGVuKCVlZHgpLCAlZWF4Ci0JCW1vdmwJZHNHb29kTWF0Y2goJWVkeCksICVlYngKLQkJY21wbAklZWJ4LCAlZWF4Ci0JCW1vdmwJZHNXTWFzayglZWR4KSwgJWVheAotCQltb3ZsCWRzTWF4Q2hhaW5MZW4oJWVkeCksICVlYngKLQkJamwJTGFzdE1hdGNoR29vZAotCQlzaHJsCSQyLCAlZWJ4Ci1MYXN0TWF0Y2hHb29kOgotCi0vKiBjaGFpbmxlbiBpcyBkZWNyZW1lbnRlZCBvbmNlIGJlZm9yZWhhbmQgc28gdGhhdCB0aGUgZnVuY3Rpb24gY2FuCSovCi0vKiB1c2UgdGhlIHNpZ24gZmxhZyBpbnN0ZWFkIG9mIHRoZSB6ZXJvIGZsYWcgZm9yIHRoZSBleGl0IHRlc3QuCSovCi0vKiBJdCBpcyB0aGVuIHNoaWZ0ZWQgaW50byB0aGUgaGlnaCB3b3JkLCB0byBtYWtlIHJvb20gZm9yIHRoZSB3bWFzawkqLwotLyogdmFsdWUsIHdoaWNoIGl0IHdpbGwgYWx3YXlzIGFjY29tcGFueS4JCQkJKi8KLQotCQlkZWNsCSVlYngKLQkJc2hsbAkkMTYsICVlYngKLQkJb3JsCSVlYXgsICVlYngKLQkJbW92bAklZWJ4LCBjaGFpbmxlbndtYXNrKCVlc3ApCi0KLS8qIGlmICgodUludCluaWNlX21hdGNoID4gcy0+bG9va2FoZWFkKSBuaWNlX21hdGNoID0gcy0+bG9va2FoZWFkOwkqLwotCi0JCW1vdmwJZHNOaWNlTWF0Y2goJWVkeCksICVlYXgKLQkJbW92bAlkc0xvb2thaGVhZCglZWR4KSwgJWVieAotCQljbXBsCSVlYXgsICVlYngKLQkJamwJTG9va2FoZWFkTGVzcwotCQltb3ZsCSVlYXgsICVlYngKLUxvb2thaGVhZExlc3M6CW1vdmwJJWVieCwgbmljZW1hdGNoKCVlc3ApCi0KLS8qIHJlZ2lzdGVyIEJ5dGVmICpzY2FuID0gcy0+d2luZG93ICsgcy0+c3Ryc3RhcnQ7CQkJKi8KLQotCQltb3ZsCWRzV2luZG93KCVlZHgpLCAlZXNpCi0JCW1vdmwJJWVzaSwgd2luZG93KCVlc3ApCi0JCW1vdmwJZHNTdHJTdGFydCglZWR4KSwgJWVicAotCQlsZWEJKCVlc2ksJWVicCksICVlZGkKLQkJbW92bAklZWRpLCBzY2FuKCVlc3ApCi0KLS8qIERldGVybWluZSBob3cgbWFueSBieXRlcyB0aGUgc2NhbiBwdHIgaXMgb2ZmIGZyb20gYmVpbmcJCSovCi0vKiBkd29yZC1hbGlnbmVkLgkJCQkJCQkqLwotCi0JCW1vdmwJJWVkaSwgJWVheAotCQluZWdsCSVlYXgKLQkJYW5kbAkkMywgJWVheAotCQltb3ZsCSVlYXgsIHNjYW5hbGlnbiglZXNwKQotCi0vKiBJUG9zIGxpbWl0ID0gcy0+c3Ryc3RhcnQgPiAoSVBvcylNQVhfRElTVChzKSA/CQkJKi8KLS8qICAgICBzLT5zdHJzdGFydCAtIChJUG9zKU1BWF9ESVNUKHMpIDogTklMOwkJCQkqLwotCi0JCW1vdmwJZHNXU2l6ZSglZWR4KSwgJWVheAotCQlzdWJsCSRNSU5fTE9PS0FIRUFELCAlZWF4Ci0JCXN1YmwJJWVheCwgJWVicAotCQlqZwlMaW1pdFBvc2l0aXZlCi0JCXhvcmwJJWVicCwgJWVicAotTGltaXRQb3NpdGl2ZToKLQotLyogaW50IGJlc3RfbGVuID0gcy0+cHJldl9sZW5ndGg7CQkJCQkqLwotCi0JCW1vdmwJZHNQcmV2TGVuKCVlZHgpLCAlZWF4Ci0JCW1vdmwJJWVheCwgYmVzdGxlbiglZXNwKQotCi0vKiBTdG9yZSB0aGUgc3VtIG9mIHMtPndpbmRvdyArIGJlc3RfbGVuIGluICVlc2kgbG9jYWxseSwgYW5kIGluICVlc2kuCSovCi0KLQkJYWRkbAklZWF4LCAlZXNpCi0JCW1vdmwJJWVzaSwgd2luZG93YmVzdGxlbiglZXNwKQotCi0vKiByZWdpc3RlciB1c2ggc2Nhbl9zdGFydCA9ICoodXNoZiopc2NhbjsJCQkJKi8KLS8qIHJlZ2lzdGVyIHVzaCBzY2FuX2VuZCAgID0gKih1c2hmKikoc2NhbitiZXN0X2xlbi0xKTsJCQkqLwotLyogUG9zZiAqcHJldiA9IHMtPnByZXY7CQkJCQkJKi8KLQotCQltb3Z6d2wJKCVlZGkpLCAlZWJ4Ci0JCW1vdmwJJWVieCwgc2NhbnN0YXJ0KCVlc3ApCi0JCW1vdnp3bAktMSglZWRpLCVlYXgpLCAlZWJ4Ci0JCW1vdmwJJWVieCwgc2NhbmVuZCglZXNwKQotCQltb3ZsCWRzUHJldiglZWR4KSwgJWVkaQotCi0vKiBKdW1wIGludG8gdGhlIG1haW4gbG9vcC4JCQkJCQkqLwotCi0JCW1vdmwJY2hhaW5sZW53bWFzayglZXNwKSwgJWVkeAotCQlqbXAJTG9vcEVudHJ5Ci0KLS5iYWxpZ24gMTYKLQotLyogZG8gewotICogICAgIG1hdGNoID0gcy0+d2luZG93ICsgY3VyX21hdGNoOwotICogICAgIGlmICgqKHVzaGYqKShtYXRjaCtiZXN0X2xlbi0xKSAhPSBzY2FuX2VuZCB8fAotICogICAgICAgICAqKHVzaGYqKW1hdGNoICE9IHNjYW5fc3RhcnQpIGNvbnRpbnVlOwotICogICAgIFsuLi5dCi0gKiB9IHdoaWxlICgoY3VyX21hdGNoID0gcHJldltjdXJfbWF0Y2ggJiB3bWFza10pID4gbGltaXQKLSAqICAgICAgICAgICYmIC0tY2hhaW5fbGVuZ3RoICE9IDApOwotICoKLSAqIEhlcmUgaXMgdGhlIGlubmVyIGxvb3Agb2YgdGhlIGZ1bmN0aW9uLiBUaGUgZnVuY3Rpb24gd2lsbCBzcGVuZCB0aGUKLSAqIG1ham9yaXR5IG9mIGl0cyB0aW1lIGluIHRoaXMgbG9vcCwgYW5kIG1ham9yaXR5IG9mIHRoYXQgdGltZSB3aWxsCi0gKiBiZSBzcGVudCBpbiB0aGUgZmlyc3QgdGVuIGluc3RydWN0aW9ucy4KLSAqCi0gKiBXaXRoaW4gdGhpcyBsb29wOgotICogJWVieCA9IHNjYW5lbmQKLSAqICVlY3ggPSBjdXJtYXRjaAotICogJWVkeCA9IGNoYWlubGVud21hc2sgLSBpLmUuLCAoKGNoYWlubGVuIDw8IDE2KSB8IHdtYXNrKQotICogJWVzaSA9IHdpbmRvd2Jlc3RsZW4gLSBpLmUuLCAod2luZG93ICsgYmVzdGxlbikKLSAqICVlZGkgPSBwcmV2Ci0gKiAlZWJwID0gbGltaXQKLSAqLwotTG9va3VwTG9vcDoKLQkJYW5kbAklZWR4LCAlZWN4Ci0JCW1vdnp3bAkoJWVkaSwlZWN4LDIpLCAlZWN4Ci0JCWNtcGwJJWVicCwgJWVjeAotCQlqYmUJTGVhdmVOb3cKLQkJc3VibAkkMHgwMDAxMDAwMCwgJWVkeAotCQlqcwlMZWF2ZU5vdwotTG9vcEVudHJ5Ogltb3Z6d2wJLTEoJWVzaSwlZWN4KSwgJWVheAotCQljbXBsCSVlYngsICVlYXgKLQkJam56CUxvb2t1cExvb3AKLQkJbW92bAl3aW5kb3coJWVzcCksICVlYXgKLQkJbW92endsCSglZWF4LCVlY3gpLCAlZWF4Ci0JCWNtcGwJc2NhbnN0YXJ0KCVlc3ApLCAlZWF4Ci0JCWpueglMb29rdXBMb29wCi0KLS8qIFN0b3JlIHRoZSBjdXJyZW50IHZhbHVlIG9mIGNoYWlubGVuLgkJCQkJKi8KLQotCQltb3ZsCSVlZHgsIGNoYWlubGVud21hc2soJWVzcCkKLQotLyogUG9pbnQgJWVkaSB0byB0aGUgc3RyaW5nIHVuZGVyIHNjcnV0aW55LCBhbmQgJWVzaSB0byB0aGUgc3RyaW5nIHdlCSovCi0vKiBhcmUgaG9waW5nIHRvIG1hdGNoIGl0IHVwIHdpdGguIEluIGFjdHVhbGl0eSwgJWVzaSBhbmQgJWVkaSBhcmUJKi8KLS8qIGJvdGggcG9pbnRlZCAoTUFYX01BVENIXzggLSBzY2FuYWxpZ24pIGJ5dGVzIGFoZWFkLCBhbmQgJWVkeCBpcwkqLwotLyogaW5pdGlhbGl6ZWQgdG8gLShNQVhfTUFUQ0hfOCAtIHNjYW5hbGlnbikuCQkJCSovCi0KLQkJbW92bAl3aW5kb3coJWVzcCksICVlc2kKLQkJbW92bAlzY2FuKCVlc3ApLCAlZWRpCi0JCWFkZGwJJWVjeCwgJWVzaQotCQltb3ZsCXNjYW5hbGlnbiglZXNwKSwgJWVheAotCQltb3ZsCSQoLU1BWF9NQVRDSF84KSwgJWVkeAotCQlsZWEJTUFYX01BVENIXzgoJWVkaSwlZWF4KSwgJWVkaQotCQlsZWEJTUFYX01BVENIXzgoJWVzaSwlZWF4KSwgJWVzaQotCi0vKiBUZXN0IHRoZSBzdHJpbmdzIGZvciBlcXVhbGl0eSwgOCBieXRlcyBhdCBhIHRpbWUuIEF0IHRoZSBlbmQsCi0gKiBhZGp1c3QgJWVkeCBzbyB0aGF0IGl0IGlzIG9mZnNldCB0byB0aGUgZXhhY3QgYnl0ZSB0aGF0IG1pc21hdGNoZWQuCi0gKgotICogV2UgYWxyZWFkeSBrbm93IGF0IHRoaXMgcG9pbnQgdGhhdCB0aGUgZmlyc3QgdGhyZWUgYnl0ZXMgb2YgdGhlCi0gKiBzdHJpbmdzIG1hdGNoIGVhY2ggb3RoZXIsIGFuZCB0aGV5IGNhbiBiZSBzYWZlbHkgcGFzc2VkIG92ZXIgYmVmb3JlCi0gKiBzdGFydGluZyB0aGUgY29tcGFyZSBsb29wLiBTbyB3aGF0IHRoaXMgY29kZSBkb2VzIGlzIHNraXAgb3ZlciAwLTMKLSAqIGJ5dGVzLCBhcyBtdWNoIGFzIG5lY2Vzc2FyeSBpbiBvcmRlciB0byBkd29yZC1hbGlnbiB0aGUgJWVkaQotICogcG9pbnRlci4gKCVlc2kgd2lsbCBzdGlsbCBiZSBtaXNhbGlnbmVkIHRocmVlIHRpbWVzIG91dCBvZiBmb3VyLikKLSAqCi0gKiBJdCBzaG91bGQgYmUgY29uZmVzc2VkIHRoYXQgdGhpcyBsb29wIHVzdWFsbHkgZG9lcyBub3QgcmVwcmVzZW50Ci0gKiBtdWNoIG9mIHRoZSB0b3RhbCBydW5uaW5nIHRpbWUuIFJlcGxhY2luZyBpdCB3aXRoIGEgbW9yZQotICogc3RyYWlnaHRmb3J3YXJkICJyZXAgY21wc2IiIHdvdWxkIG5vdCBkcmFzdGljYWxseSBkZWdyYWRlCi0gKiBwZXJmb3JtYW5jZS4KLSAqLwotTG9vcENtcHM6Ci0JCW1vdmwJKCVlc2ksJWVkeCksICVlYXgKLQkJeG9ybAkoJWVkaSwlZWR4KSwgJWVheAotCQlqbnoJTGVhdmVMb29wQ21wcwotCQltb3ZsCTQoJWVzaSwlZWR4KSwgJWVheAotCQl4b3JsCTQoJWVkaSwlZWR4KSwgJWVheAotCQlqbnoJTGVhdmVMb29wQ21wczQKLQkJYWRkbAkkOCwgJWVkeAotCQlqbnoJTG9vcENtcHMKLQkJam1wCUxlbk1heGltdW0KLUxlYXZlTG9vcENtcHM0OglhZGRsCSQ0LCAlZWR4Ci1MZWF2ZUxvb3BDbXBzOgl0ZXN0bAkkMHgwMDAwRkZGRiwgJWVheAotCQlqbnoJTGVuTG93ZXIKLQkJYWRkbAkkMiwgJWVkeAotCQlzaHJsCSQxNiwgJWVheAotTGVuTG93ZXI6CXN1YmIJJDEsICVhbAotCQlhZGNsCSQwLCAlZWR4Ci0KLS8qIENhbGN1bGF0ZSB0aGUgbGVuZ3RoIG9mIHRoZSBtYXRjaC4gSWYgaXQgaXMgbG9uZ2VyIHRoYW4gTUFYX01BVENILAkqLwotLyogdGhlbiBhdXRvbWF0aWNhbGx5IGFjY2VwdCBpdCBhcyB0aGUgYmVzdCBwb3NzaWJsZSBtYXRjaCBhbmQgbGVhdmUuCSovCi0KLQkJbGVhCSglZWRpLCVlZHgpLCAlZWF4Ci0JCW1vdmwJc2NhbiglZXNwKSwgJWVkaQotCQlzdWJsCSVlZGksICVlYXgKLQkJY21wbAkkTUFYX01BVENILCAlZWF4Ci0JCWpnZQlMZW5NYXhpbXVtCi0KLS8qIElmIHRoZSBsZW5ndGggb2YgdGhlIG1hdGNoIGlzIG5vdCBsb25nZXIgdGhhbiB0aGUgYmVzdCBtYXRjaCB3ZQkqLwotLyogaGF2ZSBzbyBmYXIsIHRoZW4gZm9yZ2V0IGl0IGFuZCByZXR1cm4gdG8gdGhlIGxvb2t1cCBsb29wLgkJKi8KLQotCQltb3ZsCWRlZmxhdGVzdGF0ZSglZXNwKSwgJWVkeAotCQltb3ZsCWJlc3RsZW4oJWVzcCksICVlYngKLQkJY21wbAklZWJ4LCAlZWF4Ci0JCWpnCUxvbmdlck1hdGNoCi0JCW1vdmwJd2luZG93YmVzdGxlbiglZXNwKSwgJWVzaQotCQltb3ZsCWRzUHJldiglZWR4KSwgJWVkaQotCQltb3ZsCXNjYW5lbmQoJWVzcCksICVlYngKLQkJbW92bAljaGFpbmxlbndtYXNrKCVlc3ApLCAlZWR4Ci0JCWptcAlMb29rdXBMb29wCi0KLS8qICAgICAgICAgcy0+bWF0Y2hfc3RhcnQgPSBjdXJfbWF0Y2g7CQkJCQkqLwotLyogICAgICAgICBiZXN0X2xlbiA9IGxlbjsJCQkJCQkqLwotLyogICAgICAgICBpZiAobGVuID49IG5pY2VfbWF0Y2gpIGJyZWFrOwkJCQkqLwotLyogICAgICAgICBzY2FuX2VuZCA9ICoodXNoZiopKHNjYW4rYmVzdF9sZW4tMSk7CQkJKi8KLQotTG9uZ2VyTWF0Y2g6CW1vdmwJbmljZW1hdGNoKCVlc3ApLCAlZWJ4Ci0JCW1vdmwJJWVheCwgYmVzdGxlbiglZXNwKQotCQltb3ZsCSVlY3gsIGRzTWF0Y2hTdGFydCglZWR4KQotCQljbXBsCSVlYngsICVlYXgKLQkJamdlCUxlYXZlTm93Ci0JCW1vdmwJd2luZG93KCVlc3ApLCAlZXNpCi0JCWFkZGwJJWVheCwgJWVzaQotCQltb3ZsCSVlc2ksIHdpbmRvd2Jlc3RsZW4oJWVzcCkKLQkJbW92endsCS0xKCVlZGksJWVheCksICVlYngKLQkJbW92bAlkc1ByZXYoJWVkeCksICVlZGkKLQkJbW92bAklZWJ4LCBzY2FuZW5kKCVlc3ApCi0JCW1vdmwJY2hhaW5sZW53bWFzayglZXNwKSwgJWVkeAotCQlqbXAJTG9va3VwTG9vcAotCi0vKiBBY2NlcHQgdGhlIGN1cnJlbnQgc3RyaW5nLCB3aXRoIHRoZSBtYXhpbXVtIHBvc3NpYmxlIGxlbmd0aC4JCSovCi0KLUxlbk1heGltdW06CW1vdmwJZGVmbGF0ZXN0YXRlKCVlc3ApLCAlZWR4Ci0JCW1vdmwJJE1BWF9NQVRDSCwgYmVzdGxlbiglZXNwKQotCQltb3ZsCSVlY3gsIGRzTWF0Y2hTdGFydCglZWR4KQotCi0vKiBpZiAoKHVJbnQpYmVzdF9sZW4gPD0gcy0+bG9va2FoZWFkKSByZXR1cm4gKHVJbnQpYmVzdF9sZW47CQkqLwotLyogcmV0dXJuIHMtPmxvb2thaGVhZDsJCQkJCQkJKi8KLQotTGVhdmVOb3c6Ci0JCW1vdmwJZGVmbGF0ZXN0YXRlKCVlc3ApLCAlZWR4Ci0JCW1vdmwJYmVzdGxlbiglZXNwKSwgJWVieAotCQltb3ZsCWRzTG9va2FoZWFkKCVlZHgpLCAlZWF4Ci0JCWNtcGwJJWVheCwgJWVieAotCQlqZwlMb29rYWhlYWRSZXQKLQkJbW92bAklZWJ4LCAlZWF4Ci1Mb29rYWhlYWRSZXQ6Ci0KLS8qIFJlc3RvcmUgdGhlIHN0YWNrIGFuZCByZXR1cm4gZnJvbSB3aGVuY2Ugd2UgY2FtZS4JCQkqLwotCi0JCWFkZGwJJExvY2FsVmFyc1NpemUsICVlc3AKLQkJLmNmaV9kZWZfY2ZhX29mZnNldCAyMAotCQlwb3BsCSVlYngKLQkJLmNmaV9kZWZfY2ZhX29mZnNldCAxNgotCQlwb3BsCSVlc2kKLQkJLmNmaV9kZWZfY2ZhX29mZnNldCAxMgotCQlwb3BsCSVlZGkKLQkJLmNmaV9kZWZfY2ZhX29mZnNldCA4Ci0JCXBvcGwJJWVicAotCQkuY2ZpX2RlZl9jZmFfb2Zmc2V0IDQKLS5jZmlfZW5kcHJvYwotbWF0Y2hfaW5pdDoJcmV0CmRpZmYgLS1naXQgYS9zcmMvY29udHJpYi9ibGFzdC9ibGFzdC5jIGIvc3JjL2NvbnRyaWIvYmxhc3QvYmxhc3QuYwppbmRleCA2OWVmMGZlLi5lNmU2NTkwIDEwMDY0NAotLS0gYS9zcmMvY29udHJpYi9ibGFzdC9ibGFzdC5jCisrKyBiL3NyYy9jb250cmliL2JsYXN0L2JsYXN0LmMKQEAgLTEsNyArMSw3IEBACiAvKiBibGFzdC5jCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDMsIDIwMTIgTWFyayBBZGxlcgorICogQ29weXJpZ2h0IChDKSAyMDAzLCAyMDEyLCAyMDEzIE1hcmsgQWRsZXIKICAqIEZvciBjb25kaXRpb25zIG9mIGRpc3RyaWJ1dGlvbiBhbmQgdXNlLCBzZWUgY29weXJpZ2h0IG5vdGljZSBpbiBibGFzdC5oCi0gKiB2ZXJzaW9uIDEuMiwgMjQgT2N0IDIwMTIKKyAqIHZlcnNpb24gMS4zLCAyNCBBdWcgMjAxMwogICoKICAqIGJsYXN0LmMgZGVjb21wcmVzc2VzIGRhdGEgY29tcHJlc3NlZCBieSB0aGUgUEtXYXJlIENvbXByZXNzaW9uIExpYnJhcnkuCiAgKiBUaGlzIGZ1bmN0aW9uIHByb3ZpZGVzIGZ1bmN0aW9uYWxpdHkgc2ltaWxhciB0byB0aGUgZXhwbG9kZSgpIGZ1bmN0aW9uIG9mCkBAIC0yNCw4ICsyNCwxMiBAQAogICogMS4xICAxNiBGZWIgMjAwMyAgICAgLSBGaXhlZCBkaXN0YW5jZSBjaGVjayBmb3IgPiA0IEdCIHVuY29tcHJlc3NlZCBkYXRhCiAgKiAxLjIgIDI0IE9jdCAyMDEyICAgICAtIEFkZCBub3RlIGFib3V0IHVzaW5nIGJpbmFyeSBtb2RlIGluIHN0ZGlvCiAgKiAgICAgICAgICAgICAgICAgICAgICAtIEZpeCBjb21wYXJpc29ucyBvZiBkaWZmZXJlbnRseSBzaWduZWQgaW50ZWdlcnMKKyAqIDEuMyAgMjQgQXVnIDIwMTMgICAgIC0gUmV0dXJuIHVudXNlZCBpbnB1dCBmcm9tIGJsYXN0KCkKKyAqICAgICAgICAgICAgICAgICAgICAgIC0gRml4IHRlc3QgY29kZSB0byBjb3JyZWN0bHkgcmVwb3J0IHVudXNlZCBpbnB1dAorICogICAgICAgICAgICAgICAgICAgICAgLSBFbmFibGUgdGhlIHByb3Zpc2lvbiBvZiBpbml0aWFsIGlucHV0IHRvIGJsYXN0KCkKICAqLwogCisjaW5jbHVkZSA8c3RkZGVmLmg+ICAgICAgICAgICAgIC8qIGZvciBOVUxMICovCiAjaW5jbHVkZSA8c2V0am1wLmg+ICAgICAgICAgICAgIC8qIGZvciBzZXRqbXAoKSwgbG9uZ2ptcCgpLCBhbmQgam1wX2J1ZiAqLwogI2luY2x1ZGUgImJsYXN0LmgiICAgICAgICAgICAgICAvKiBwcm90b3R5cGUgZm9yIGJsYXN0KCkgKi8KIApAQCAtMjU2LDcgKzI2MCw3IEBACiAgKiAgIG5leHQsIDAgZm9yIGxpdGVyYWxzLCAxIGZvciBsZW5ndGgvZGlzdGFuY2UuCiAgKgogICogLSBJZiBsaXRlcmFscyBhcmUgdW5jb2RlZCwgdGhlbiB0aGUgbmV4dCBlaWdodCBiaXRzIGFyZSB0aGUgbGl0ZXJhbCwgaW4gdGhlCi0gKiAgIG5vcm1hbCBiaXQgb3JkZXIgaW4gdGggc3RyZWFtLCBpLmUuIG5vIGJpdC1yZXZlcnNhbCBpcyBuZWVkZWQuIFNpbWlsYXJseSwKKyAqICAgbm9ybWFsIGJpdCBvcmRlciBpbiB0aGUgc3RyZWFtLCBpLmUuIG5vIGJpdC1yZXZlcnNhbCBpcyBuZWVkZWQuIFNpbWlsYXJseSwKICAqICAgbm8gYml0IHJldmVyc2FsIGlzIG5lZWRlZCBmb3IgZWl0aGVyIHRoZSBsZW5ndGggZXh0cmEgYml0cyBvciB0aGUgZGlzdGFuY2UKICAqICAgZXh0cmEgYml0cy4KICAqCkBAIC0zNzYsNyArMzgwLDggQEAKIH0KIAogLyogU2VlIGNvbW1lbnRzIGluIGJsYXN0LmggKi8KLWludCBibGFzdChibGFzdF9pbiBpbmZ1biwgdm9pZCAqaW5ob3csIGJsYXN0X291dCBvdXRmdW4sIHZvaWQgKm91dGhvdykKK2ludCBibGFzdChibGFzdF9pbiBpbmZ1biwgdm9pZCAqaW5ob3csIGJsYXN0X291dCBvdXRmdW4sIHZvaWQgKm91dGhvdywKKyAgICAgICAgICB1bnNpZ25lZCAqbGVmdCwgdW5zaWduZWQgY2hhciAqKmluKQogewogICAgIHN0cnVjdCBzdGF0ZSBzOyAgICAgICAgICAgICAvKiBpbnB1dC9vdXRwdXQgc3RhdGUgKi8KICAgICBpbnQgZXJyOyAgICAgICAgICAgICAgICAgICAgLyogcmV0dXJuIHZhbHVlICovCkBAIC0zODQsNyArMzg5LDEyIEBACiAgICAgLyogaW5pdGlhbGl6ZSBpbnB1dCBzdGF0ZSAqLwogICAgIHMuaW5mdW4gPSBpbmZ1bjsKICAgICBzLmluaG93ID0gaW5ob3c7Ci0gICAgcy5sZWZ0ID0gMDsKKyAgICBpZiAobGVmdCAhPSBOVUxMICYmICpsZWZ0KSB7CisgICAgICAgIHMubGVmdCA9ICpsZWZ0OworICAgICAgICBzLmluID0gKmluOworICAgIH0KKyAgICBlbHNlCisgICAgICAgIHMubGVmdCA9IDA7CiAgICAgcy5iaXRidWYgPSAwOwogICAgIHMuYml0Y250ID0gMDsKIApAQCAtNDAwLDYgKzQxMCwxMiBAQAogICAgIGVsc2UKICAgICAgICAgZXJyID0gZGVjb21wKCZzKTsgICAgICAgICAgICAgICAvKiBkZWNvbXByZXNzICovCiAKKyAgICAvKiByZXR1cm4gdW51c2VkIGlucHV0ICovCisgICAgaWYgKGxlZnQgIT0gTlVMTCkKKyAgICAgICAgKmxlZnQgPSBzLmxlZnQ7CisgICAgaWYgKGluICE9IE5VTEwpCisgICAgICAgICppbiA9IHMubGVmdCA/IHMuaW4gOiBOVUxMOworCiAgICAgLyogd3JpdGUgYW55IGxlZnRvdmVyIG91dHB1dCBhbmQgdXBkYXRlIHRoZSBlcnJvciBjb2RlIGlmIG5lZWRlZCAqLwogICAgIGlmIChlcnIgIT0gMSAmJiBzLm5leHQgJiYgcy5vdXRmdW4ocy5vdXRob3csIHMub3V0LCBzLm5leHQpICYmIGVyciA9PSAwKQogICAgICAgICBlcnIgPSAxOwpAQCAtNDI5LDE2ICs0NDUsMjAgQEAKIC8qIERlY29tcHJlc3MgYSBQS1dhcmUgQ29tcHJlc3Npb24gTGlicmFyeSBzdHJlYW0gZnJvbSBzdGRpbiB0byBzdGRvdXQgKi8KIGludCBtYWluKHZvaWQpCiB7Ci0gICAgaW50IHJldCwgbjsKKyAgICBpbnQgcmV0OworICAgIHVuc2lnbmVkIGxlZnQ7CiAKICAgICAvKiBkZWNvbXByZXNzIHRvIHN0ZG91dCAqLwotICAgIHJldCA9IGJsYXN0KGluZiwgc3RkaW4sIG91dGYsIHN0ZG91dCk7Ci0gICAgaWYgKHJldCAhPSAwKSBmcHJpbnRmKHN0ZGVyciwgImJsYXN0IGVycm9yOiAlZFxuIiwgcmV0KTsKKyAgICBsZWZ0ID0gMDsKKyAgICByZXQgPSBibGFzdChpbmYsIHN0ZGluLCBvdXRmLCBzdGRvdXQsICZsZWZ0LCBOVUxMKTsKKyAgICBpZiAocmV0ICE9IDApCisgICAgICAgIGZwcmludGYoc3RkZXJyLCAiYmxhc3QgZXJyb3I6ICVkXG4iLCByZXQpOwogCi0gICAgLyogc2VlIGlmIHRoZXJlIGFyZSBhbnkgbGVmdG92ZXIgYnl0ZXMgKi8KLSAgICBuID0gMDsKLSAgICB3aGlsZSAoZ2V0Y2hhcigpICE9IEVPRikgbisrOwotICAgIGlmIChuKSBmcHJpbnRmKHN0ZGVyciwgImJsYXN0IHdhcm5pbmc6ICVkIHVudXNlZCBieXRlcyBvZiBpbnB1dFxuIiwgbik7CisgICAgLyogY291bnQgYW55IGxlZnRvdmVyIGJ5dGVzICovCisgICAgd2hpbGUgKGdldGNoYXIoKSAhPSBFT0YpCisgICAgICAgIGxlZnQrKzsKKyAgICBpZiAobGVmdCkKKyAgICAgICAgZnByaW50ZihzdGRlcnIsICJibGFzdCB3YXJuaW5nOiAldSB1bnVzZWQgYnl0ZXMgb2YgaW5wdXRcbiIsIGxlZnQpOwogCiAgICAgLyogcmV0dXJuIGJsYXN0KCkgZXJyb3IgY29kZSAqLwogICAgIHJldHVybiByZXQ7CmRpZmYgLS1naXQgYS9zcmMvY29udHJpYi9ibGFzdC9ibGFzdC5oIGIvc3JjL2NvbnRyaWIvYmxhc3QvYmxhc3QuaAppbmRleCA2NThjZmQzLi5lZjg1NDRjIDEwMDY0NAotLS0gYS9zcmMvY29udHJpYi9ibGFzdC9ibGFzdC5oCisrKyBiL3NyYy9jb250cmliL2JsYXN0L2JsYXN0LmgKQEAgLTEsNiArMSw2IEBACiAvKiBibGFzdC5oIC0tIGludGVyZmFjZSBmb3IgYmxhc3QuYwotICBDb3B5cmlnaHQgKEMpIDIwMDMsIDIwMTIgTWFyayBBZGxlcgotICB2ZXJzaW9uIDEuMiwgMjQgT2N0IDIwMTIKKyAgQ29weXJpZ2h0IChDKSAyMDAzLCAyMDEyLCAyMDEzIE1hcmsgQWRsZXIKKyAgdmVyc2lvbiAxLjMsIDI0IEF1ZyAyMDEzCiAKICAgVGhpcyBzb2Z0d2FyZSBpcyBwcm92aWRlZCAnYXMtaXMnLCB3aXRob3V0IGFueSBleHByZXNzIG9yIGltcGxpZWQKICAgd2FycmFudHkuICBJbiBubyBldmVudCB3aWxsIHRoZSBhdXRob3IgYmUgaGVsZCBsaWFibGUgZm9yIGFueSBkYW1hZ2VzCkBAIC00Miw3ICs0Miw4IEBACiAgKi8KIAogCi1pbnQgYmxhc3QoYmxhc3RfaW4gaW5mdW4sIHZvaWQgKmluaG93LCBibGFzdF9vdXQgb3V0ZnVuLCB2b2lkICpvdXRob3cpOworaW50IGJsYXN0KGJsYXN0X2luIGluZnVuLCB2b2lkICppbmhvdywgYmxhc3Rfb3V0IG91dGZ1biwgdm9pZCAqb3V0aG93LAorICAgICAgICAgIHVuc2lnbmVkICpsZWZ0LCB1bnNpZ25lZCBjaGFyICoqaW4pOwogLyogRGVjb21wcmVzcyBpbnB1dCB0byBvdXRwdXQgdXNpbmcgdGhlIHByb3ZpZGVkIGluZnVuKCkgYW5kIG91dGZ1bigpIGNhbGxzLgogICogT24gc3VjY2VzcywgdGhlIHJldHVybiB2YWx1ZSBvZiBibGFzdCgpIGlzIHplcm8uICBJZiB0aGVyZSBpcyBhbiBlcnJvciBpbgogICogdGhlIHNvdXJjZSBkYXRhLCBpLmUuIGl0IGlzIG5vdCBpbiB0aGUgcHJvcGVyIGZvcm1hdCwgdGhlbiBhIG5lZ2F0aXZlIHZhbHVlCkBAIC01NSwxMiArNTYsMTkgQEAKICAqIGFuIGlucHV0IGVycm9yLiAgKGJsYXN0KCkgb25seSBhc2tzIGZvciBpbnB1dCBpZiBpdCBuZWVkcyBpdC4pICBpbmhvdyBpcyBmb3IKICAqIHVzZSBieSB0aGUgYXBwbGljYXRpb24gdG8gcGFzcyBhbiBpbnB1dCBkZXNjcmlwdG9yIHRvIGluZnVuKCksIGlmIGRlc2lyZWQuCiAgKgorICogSWYgbGVmdCBhbmQgaW4gYXJlIG5vdCBOVUxMIGFuZCAqbGVmdCBpcyBub3QgemVybyB3aGVuIGJsYXN0KCkgaXMgY2FsbGVkLAorICogdGhlbiB0aGUgKmxlZnQgYnl0ZXMgYXQgKmluIGFyZSBjb25zdW1lZCBmb3IgaW5wdXQgYmVmb3JlIGluZnVuKCkgaXMgdXNlZC4KKyAqCiAgKiBUaGUgb3V0cHV0IGZ1bmN0aW9uIGlzIGludm9rZWQ6IGVyciA9IG91dGZ1bihob3csIGJ1ZiwgbGVuKSwgd2hlcmUgdGhlIGJ5dGVzCiAgKiB0byBiZSB3cml0dGVuIGFyZSBidWZbMC4ubGVuLTFdLiAgSWYgZXJyIGlzIG5vdCB6ZXJvLCB0aGVuIGJsYXN0KCkgcmV0dXJucwogICogd2l0aCBhbiBvdXRwdXQgZXJyb3IuICBvdXRmdW4oKSBpcyBhbHdheXMgY2FsbGVkIHdpdGggbGVuIDw9IDQwOTYuICBvdXRob3cKICAqIGlzIGZvciB1c2UgYnkgdGhlIGFwcGxpY2F0aW9uIHRvIHBhc3MgYW4gb3V0cHV0IGRlc2NyaXB0b3IgdG8gb3V0ZnVuKCksIGlmCiAgKiBkZXNpcmVkLgogICoKKyAqIElmIHRoZXJlIGlzIGFueSB1bnVzZWQgaW5wdXQsICpsZWZ0IGlzIHNldCB0byB0aGUgbnVtYmVyIG9mIGJ5dGVzIHRoYXQgd2VyZQorICogcmVhZCBhbmQgKmluIHBvaW50cyB0byB0aGVtLiAgT3RoZXJ3aXNlICpsZWZ0IGlzIHNldCB0byB6ZXJvIGFuZCAqaW4gaXMgc2V0CisgKiB0byBOVUxMLiAgSWYgbGVmdCBvciBpbiBhcmUgTlVMTCwgdGhlbiB0aGV5IGFyZSBub3Qgc2V0LgorICoKICAqIFRoZSByZXR1cm4gY29kZXMgYXJlOgogICoKICAqICAgMjogIHJhbiBvdXQgb2YgaW5wdXQgYmVmb3JlIGNvbXBsZXRpbmcgZGVjb21wcmVzc2lvbgpkaWZmIC0tZ2l0IGEvc3JjL2NvbnRyaWIvZGVscGhpL1pMaWIucGFzIGIvc3JjL2NvbnRyaWIvZGVscGhpL1pMaWIucGFzCmluZGV4IGE1Nzk5NzQuLjhiZTVmYTIgMTAwNjQ0Ci0tLSBhL3NyYy9jb250cmliL2RlbHBoaS9aTGliLnBhcworKysgYi9zcmMvY29udHJpYi9kZWxwaGkvWkxpYi5wYXMKQEAgLTE1Miw3ICsxNTIsNyBAQAogICBjb25zdCBPdXRCdWY6IFBvaW50ZXI7IEJ1ZlNpemU6IEludGVnZXIpOwogCiBjb25zdAotICB6bGliX3ZlcnNpb24gPSAnMS4yLjgnOworICB6bGliX3ZlcnNpb24gPSAnMS4yLjEzJzsKIAogdHlwZQogICBFWmxpYkVycm9yID0gY2xhc3MoRXhjZXB0aW9uKTsKZGlmZiAtLWdpdCBhL3NyYy9jb250cmliL2RvdHpsaWIvRG90WkxpYi9Vbml0VGVzdHMuY3MgYi9zcmMvY29udHJpYi9kb3R6bGliL0RvdFpMaWIvVW5pdFRlc3RzLmNzCmluZGV4IGIyNzNkNTQuLjE2YTBlYmIgMTAwNjQ0Ci0tLSBhL3NyYy9jb250cmliL2RvdHpsaWIvRG90WkxpYi9Vbml0VGVzdHMuY3MKKysrIGIvc3JjL2NvbnRyaWIvZG90emxpYi9Eb3RaTGliL1VuaXRUZXN0cy5jcwpAQCAtMTU2LDcgKzE1Niw3IEBACiAgICAgICAgIHB1YmxpYyB2b2lkIEluZm9fVmVyc2lvbigpDQogICAgICAgICB7DQogICAgICAgICAgICAgSW5mbyBpbmZvID0gbmV3IEluZm8oKTsNCi0gICAgICAgICAgICBBc3NlcnQuQXJlRXF1YWwoIjEuMi44IiwgSW5mby5WZXJzaW9uKTsNCisgICAgICAgICAgICBBc3NlcnQuQXJlRXF1YWwoIjEuMi4xMyIsIEluZm8uVmVyc2lvbik7DQogICAgICAgICAgICAgQXNzZXJ0LkFyZUVxdWFsKDMyLCBpbmZvLlNpemVPZlVJbnQpOw0KICAgICAgICAgICAgIEFzc2VydC5BcmVFcXVhbCgzMiwgaW5mby5TaXplT2ZVTG9uZyk7DQogICAgICAgICAgICAgQXNzZXJ0LkFyZUVxdWFsKDMyLCBpbmZvLlNpemVPZlBvaW50ZXIpOw0KZGlmZiAtLWdpdCBhL3NyYy9jb250cmliL2luZmJhY2s5L2luZnRyZWU5LmMgYi9zcmMvY29udHJpYi9pbmZiYWNrOS9pbmZ0cmVlOS5jCmluZGV4IDRhNzNhZDIuLjEwODI3YTYgMTAwNjQ0Ci0tLSBhL3NyYy9jb250cmliL2luZmJhY2s5L2luZnRyZWU5LmMKKysrIGIvc3JjL2NvbnRyaWIvaW5mYmFjazkvaW5mdHJlZTkuYwpAQCAtMSw1ICsxLDUgQEAKIC8qIGluZnRyZWU5LmMgLS0gZ2VuZXJhdGUgSHVmZm1hbiB0cmVlcyBmb3IgZWZmaWNpZW50IGRlY29kaW5nCi0gKiBDb3B5cmlnaHQgKEMpIDE5OTUtMjAxMyBNYXJrIEFkbGVyCisgKiBDb3B5cmlnaHQgKEMpIDE5OTUtMjAyMiBNYXJrIEFkbGVyCiAgKiBGb3IgY29uZGl0aW9ucyBvZiBkaXN0cmlidXRpb24gYW5kIHVzZSwgc2VlIGNvcHlyaWdodCBub3RpY2UgaW4gemxpYi5oCiAgKi8KIApAQCAtOSw3ICs5LDcgQEAKICNkZWZpbmUgTUFYQklUUyAxNQogCiBjb25zdCBjaGFyIGluZmxhdGU5X2NvcHlyaWdodFtdID0KLSAgICIgaW5mbGF0ZTkgMS4yLjggQ29weXJpZ2h0IDE5OTUtMjAxMyBNYXJrIEFkbGVyICI7CisgICAiIGluZmxhdGU5IDEuMi4xMyBDb3B5cmlnaHQgMTk5NS0yMDIyIE1hcmsgQWRsZXIgIjsKIC8qCiAgIElmIHlvdSB1c2UgdGhlIHpsaWIgbGlicmFyeSBpbiBhIHByb2R1Y3QsIGFuIGFja25vd2xlZGdtZW50IGlzIHdlbGNvbWUKICAgaW4gdGhlIGRvY3VtZW50YXRpb24gb2YgeW91ciBwcm9kdWN0LiBJZiBmb3Igc29tZSByZWFzb24geW91IGNhbm5vdApAQCAtNjQsNyArNjQsNyBAQAogICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBzaG9ydCBsZXh0WzMxXSA9IHsgLyogTGVuZ3RoIGNvZGVzIDI1Ny4uMjg1IGV4dHJhICovCiAgICAgICAgIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjksIDEyOSwgMTI5LCAxMjksCiAgICAgICAgIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzIsIDEzMiwgMTMyLCAxMzIsCi0gICAgICAgIDEzMywgMTMzLCAxMzMsIDEzMywgMTQ0LCA3MiwgNzh9OworICAgICAgICAxMzMsIDEzMywgMTMzLCAxMzMsIDE0NCwgMTk0LCA2NX07CiAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIHNob3J0IGRiYXNlWzMyXSA9IHsgLyogRGlzdGFuY2UgY29kZXMgMC4uMzEgYmFzZSAqLwogICAgICAgICAxLCAyLCAzLCA0LCA1LCA3LCA5LCAxMywgMTcsIDI1LCAzMywgNDksCiAgICAgICAgIDY1LCA5NywgMTI5LCAxOTMsIDI1NywgMzg1LCA1MTMsIDc2OSwgMTAyNSwgMTUzNywgMjA0OSwgMzA3MywKZGlmZiAtLWdpdCBhL3NyYy9jb250cmliL2luZmJhY2s5L2luZnRyZWU5LmggYi9zcmMvY29udHJpYi9pbmZiYWNrOS9pbmZ0cmVlOS5oCmluZGV4IDVhYjIxZjAuLjNiMzk0OTcgMTAwNjQ0Ci0tLSBhL3NyYy9jb250cmliL2luZmJhY2s5L2luZnRyZWU5LmgKKysrIGIvc3JjL2NvbnRyaWIvaW5mYmFjazkvaW5mdHJlZTkuaApAQCAtMzgsNyArMzgsNyBAQAogLyogTWF4aW11bSBzaXplIG9mIHRoZSBkeW5hbWljIHRhYmxlLiAgVGhlIG1heGltdW0gbnVtYmVyIG9mIGNvZGUgc3RydWN0dXJlcyBpcwogICAgMTQ0Niwgd2hpY2ggaXMgdGhlIHN1bSBvZiA4NTIgZm9yIGxpdGVyYWwvbGVuZ3RoIGNvZGVzIGFuZCA1OTQgZm9yIGRpc3RhbmNlCiAgICBjb2Rlcy4gIFRoZXNlIHZhbHVlcyB3ZXJlIGZvdW5kIGJ5IGV4aGF1c3RpdmUgc2VhcmNoZXMgdXNpbmcgdGhlIHByb2dyYW0KLSAgIGV4YW1wbGVzL2Vub3VnaC5jIGZvdW5kIGluIHRoZSB6bGliIGRpc3RyaWJ0dXRpb24uICBUaGUgYXJndW1lbnRzIHRvIHRoYXQKKyAgIGV4YW1wbGVzL2Vub3VnaC5jIGZvdW5kIGluIHRoZSB6bGliIGRpc3RyaWJ1dGlvbi4gIFRoZSBhcmd1bWVudHMgdG8gdGhhdAogICAgcHJvZ3JhbSBhcmUgdGhlIG51bWJlciBvZiBzeW1ib2xzLCB0aGUgaW5pdGlhbCByb290IHRhYmxlIHNpemUsIGFuZCB0aGUKICAgIG1heGltdW0gYml0IGxlbmd0aCBvZiBhIGNvZGUuICAiZW5vdWdoIDI4NiA5IDE1IiBmb3IgbGl0ZXJhbC9sZW5ndGggY29kZXMKICAgIHJldHVybnMgcmV0dXJucyA4NTIsIGFuZCAiZW5vdWdoIDMyIDYgMTUiIGZvciBkaXN0YW5jZSBjb2RlcyByZXR1cm5zIDU5NC4KZGlmZiAtLWdpdCBhL3NyYy9jb250cmliL2luZmxhdGU4Ni9pbmZmYXM4Ni5jIGIvc3JjL2NvbnRyaWIvaW5mbGF0ZTg2L2luZmZhczg2LmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDcyOTJmNjcuLjAwMDAwMDAKLS0tIGEvc3JjL2NvbnRyaWIvaW5mbGF0ZTg2L2luZmZhczg2LmMKKysrIC9kZXYvbnVsbApAQCAtMSwxMTU3ICswLDAgQEAKLS8qIGluZmZhczg2LmMgaXMgYSBoYW5kIHR1bmVkIGFzc2VtYmxlciB2ZXJzaW9uIG9mCi0gKgotICogaW5mZmFzdC5jIC0tIGZhc3QgZGVjb2RpbmcKLSAqIENvcHlyaWdodCAoQykgMTk5NS0yMDAzIE1hcmsgQWRsZXIKLSAqIEZvciBjb25kaXRpb25zIG9mIGRpc3RyaWJ1dGlvbiBhbmQgdXNlLCBzZWUgY29weXJpZ2h0IG5vdGljZSBpbiB6bGliLmgKLSAqCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDMgQ2hyaXMgQW5kZXJzb24gPGNocmlzdG9wQGNoYXJtLm5ldD4KLSAqIFBsZWFzZSB1c2UgdGhlIGNvcHlyaWdodCBjb25kaXRpb25zIGFib3ZlLgotICoKLSAqIERlYy0yOS0yMDAzIC0tIEkgYWRkZWQgQU1ENjQgaW5mbGF0ZSBhc20gc3VwcG9ydC4gIFRoaXMgdmVyc2lvbiBpcyBhbHNvCi0gKiBzbGlnaHRseSBxdWlja2VyIG9uIHg4NiBzeXN0ZW1zIGJlY2F1c2UsIGluc3RlYWQgb2YgdXNpbmcgcmVwIG1vdnNiIHRvIGNvcHkKLSAqIGRhdGEsIGl0IHVzZXMgcmVwIG1vdnN3LCB3aGljaCBtb3ZlcyBkYXRhIGluIDItYnl0ZSBjaHVua3MgaW5zdGVhZCBvZiBzaW5nbGUKLSAqIGJ5dGVzLiAgSSd2ZSB0ZXN0ZWQgdGhlIEFNRDY0IGNvZGUgb24gYSBGZWRvcmEgQ29yZSAxICsgdGhlIHg4Nl82NCB1cGRhdGVzCi0gKiBmcm9tIGh0dHA6Ly9mZWRvcmEubGludXguZHVrZS5lZHUvZmMxX3g4Nl82NAotICogd2hpY2ggaXMgcnVubmluZyBvbiBhbiBBdGhsb24gNjQgMzAwMCsgLyBHaWdhYnl0ZSBHQS1LOFZUODAwTSBzeXN0ZW0gd2l0aAotICogMUdCIHJhbS4gIFRoZSA2NC1iaXQgdmVyc2lvbiBpcyBhYm91dCA0JSBmYXN0ZXIgdGhhbiB0aGUgMzItYml0IHZlcnNpb24sCi0gKiB3aGVuIGRlY29tcHJlc3NpbmcgbW96aWxsYS1zb3VyY2UtMS4zLnRhci5nei4KLSAqCi0gKiBNYXItMTMtMjAwMyAtLSBNb3N0IG9mIHRoaXMgaXMgZGVyaXZlZCBmcm9tIGluZmZhc3QuUyB3aGljaCBpcyBkZXJpdmVkIGZyb20KLSAqIHRoZSBnY2MgLVMgb3V0cHV0IG9mIHpsaWItMS4yLjAvaW5mZmFzdC5jLiAgWmxpYi0xLjIuMCBpcyBpbiBiZXRhIHJlbGVhc2UgYXQKLSAqIHRoZSBtb21lbnQuICBJIGhhdmUgc3VjY2Vzc2Z1bGx5IGNvbXBpbGVkIGFuZCB0ZXN0ZWQgdGhpcyBjb2RlIHdpdGggZ2NjMi45NiwKLSAqIGdjYzMuMiwgaWNjNS4wLCBtc3ZjNi4wLiAgSXQgaXMgdmVyeSBjbG9zZSB0byB0aGUgc3BlZWQgb2YgaW5mZmFzdC5TCi0gKiBjb21waWxlZCB3aXRoIGdjYyAtRE5PX01NWCwgYnV0IGluZmZhc3QuUyBpcyBzdGlsbCBmYXN0ZXIgb24gdGhlIFAzIHdpdGggTU1YCi0gKiBlbmFibGVkLiAgSSB3aWxsIGF0dGVtcHQgdG8gbWVyZ2UgdGhlIE1NWCBjb2RlIGludG8gdGhpcyB2ZXJzaW9uLiAgTmV3ZXIKLSAqIHZlcnNpb25zIG9mIHRoaXMgYW5kIGluZmZhc3QuUyBjYW4gYmUgZm91bmQgYXQKLSAqIGh0dHA6Ly93d3cuZWV0YmVldGVlLmNvbS96bGliLyBhbmQgaHR0cDovL3d3dy5jaGFybS5uZXQvfmNocmlzdG9wL3psaWIvCi0gKi8KLQotI2luY2x1ZGUgInp1dGlsLmgiCi0jaW5jbHVkZSAiaW5mdHJlZXMuaCIKLSNpbmNsdWRlICJpbmZsYXRlLmgiCi0jaW5jbHVkZSAiaW5mZmFzdC5oIgotCi0vKiBNYXJrIEFkbGVyJ3MgY29tbWVudHMgZnJvbSBpbmZmYXN0LmM6ICovCi0KLS8qCi0gICBEZWNvZGUgbGl0ZXJhbCwgbGVuZ3RoLCBhbmQgZGlzdGFuY2UgY29kZXMgYW5kIHdyaXRlIG91dCB0aGUgcmVzdWx0aW5nCi0gICBsaXRlcmFsIGFuZCBtYXRjaCBieXRlcyB1bnRpbCBlaXRoZXIgbm90IGVub3VnaCBpbnB1dCBvciBvdXRwdXQgaXMKLSAgIGF2YWlsYWJsZSwgYW4gZW5kLW9mLWJsb2NrIGlzIGVuY291bnRlcmVkLCBvciBhIGRhdGEgZXJyb3IgaXMgZW5jb3VudGVyZWQuCi0gICBXaGVuIGxhcmdlIGVub3VnaCBpbnB1dCBhbmQgb3V0cHV0IGJ1ZmZlcnMgYXJlIHN1cHBsaWVkIHRvIGluZmxhdGUoKSwgZm9yCi0gICBleGFtcGxlLCBhIDE2SyBpbnB1dCBidWZmZXIgYW5kIGEgNjRLIG91dHB1dCBidWZmZXIsIG1vcmUgdGhhbiA5NSUgb2YgdGhlCi0gICBpbmZsYXRlIGV4ZWN1dGlvbiB0aW1lIGlzIHNwZW50IGluIHRoaXMgcm91dGluZS4KLQotICAgRW50cnkgYXNzdW1wdGlvbnM6Ci0KLSAgICAgICAgc3RhdGUtPm1vZGUgPT0gTEVOCi0gICAgICAgIHN0cm0tPmF2YWlsX2luID49IDYKLSAgICAgICAgc3RybS0+YXZhaWxfb3V0ID49IDI1OAotICAgICAgICBzdGFydCA+PSBzdHJtLT5hdmFpbF9vdXQKLSAgICAgICAgc3RhdGUtPmJpdHMgPCA4Ci0KLSAgIE9uIHJldHVybiwgc3RhdGUtPm1vZGUgaXMgb25lIG9mOgotCi0gICAgICAgIExFTiAtLSByYW4gb3V0IG9mIGVub3VnaCBvdXRwdXQgc3BhY2Ugb3IgZW5vdWdoIGF2YWlsYWJsZSBpbnB1dAotICAgICAgICBUWVBFIC0tIHJlYWNoZWQgZW5kIG9mIGJsb2NrIGNvZGUsIGluZmxhdGUoKSB0byBpbnRlcnByZXQgbmV4dCBibG9jawotICAgICAgICBCQUQgLS0gZXJyb3IgaW4gYmxvY2sgZGF0YQotCi0gICBOb3RlczoKLQotICAgIC0gVGhlIG1heGltdW0gaW5wdXQgYml0cyB1c2VkIGJ5IGEgbGVuZ3RoL2Rpc3RhbmNlIHBhaXIgaXMgMTUgYml0cyBmb3IgdGhlCi0gICAgICBsZW5ndGggY29kZSwgNSBiaXRzIGZvciB0aGUgbGVuZ3RoIGV4dHJhLCAxNSBiaXRzIGZvciB0aGUgZGlzdGFuY2UgY29kZSwKLSAgICAgIGFuZCAxMyBiaXRzIGZvciB0aGUgZGlzdGFuY2UgZXh0cmEuICBUaGlzIHRvdGFscyA0OCBiaXRzLCBvciBzaXggYnl0ZXMuCi0gICAgICBUaGVyZWZvcmUgaWYgc3RybS0+YXZhaWxfaW4gPj0gNiwgdGhlbiB0aGVyZSBpcyBlbm91Z2ggaW5wdXQgdG8gYXZvaWQKLSAgICAgIGNoZWNraW5nIGZvciBhdmFpbGFibGUgaW5wdXQgd2hpbGUgZGVjb2RpbmcuCi0KLSAgICAtIFRoZSBtYXhpbXVtIGJ5dGVzIHRoYXQgYSBzaW5nbGUgbGVuZ3RoL2Rpc3RhbmNlIHBhaXIgY2FuIG91dHB1dCBpcyAyNTgKLSAgICAgIGJ5dGVzLCB3aGljaCBpcyB0aGUgbWF4aW11bSBsZW5ndGggdGhhdCBjYW4gYmUgY29kZWQuICBpbmZsYXRlX2Zhc3QoKQotICAgICAgcmVxdWlyZXMgc3RybS0+YXZhaWxfb3V0ID49IDI1OCBmb3IgZWFjaCBsb29wIHRvIGF2b2lkIGNoZWNraW5nIGZvcgotICAgICAgb3V0cHV0IHNwYWNlLgotICovCi12b2lkIGluZmxhdGVfZmFzdChzdHJtLCBzdGFydCkKLXpfc3RyZWFtcCBzdHJtOwotdW5zaWduZWQgc3RhcnQ7ICAgICAgICAgLyogaW5mbGF0ZSgpJ3Mgc3RhcnRpbmcgdmFsdWUgZm9yIHN0cm0tPmF2YWlsX291dCAqLwotewotICAgIHN0cnVjdCBpbmZsYXRlX3N0YXRlIEZBUiAqc3RhdGU7Ci0gICAgc3RydWN0IGluZmZhc3RfYXIgewotLyogNjQgICAzMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4ODYgIHg4Nl82NCAqLwotLyogYXIgb2Zmc2V0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVnaXN0ZXIgKi8KLS8qICAwICAgIDAgKi8gdm9pZCAqZXNwOyAgICAgICAgICAgICAgICAvKiBlc3Agc2F2ZSAqLwotLyogIDggICAgNCAqLyB2b2lkICplYnA7ICAgICAgICAgICAgICAgIC8qIGVicCBzYXZlICovCi0vKiAxNiAgICA4ICovIHVuc2lnbmVkIGNoYXIgRkFSICppbjsgICAgLyogZXNpIHJzaSAgbG9jYWwgc3RybS0+bmV4dF9pbiAqLwotLyogMjQgICAxMiAqLyB1bnNpZ25lZCBjaGFyIEZBUiAqbGFzdDsgIC8qICAgICByOSAgIHdoaWxlIGluIDwgbGFzdCAqLwotLyogMzIgICAxNiAqLyB1bnNpZ25lZCBjaGFyIEZBUiAqb3V0OyAgIC8qIGVkaSByZGkgIGxvY2FsIHN0cm0tPm5leHRfb3V0ICovCi0vKiA0MCAgIDIwICovIHVuc2lnbmVkIGNoYXIgRkFSICpiZWc7ICAgLyogICAgICAgICAgaW5mbGF0ZSgpJ3MgaW5pdCBuZXh0X291dCAqLwotLyogNDggICAyNCAqLyB1bnNpZ25lZCBjaGFyIEZBUiAqZW5kOyAgIC8qICAgICByMTAgIHdoaWxlIG91dCA8IGVuZCAqLwotLyogNTYgICAyOCAqLyB1bnNpZ25lZCBjaGFyIEZBUiAqd2luZG93Oy8qICAgICAgICAgIHNpemUgb2Ygd2luZG93LCB3c2l6ZSE9MCAqLwotLyogNjQgICAzMiAqLyBjb2RlIGNvbnN0IEZBUiAqbGNvZGU7ICAgIC8qIGVicCByYnAgIGxvY2FsIHN0cm0tPmxlbmNvZGUgKi8KLS8qIDcyICAgMzYgKi8gY29kZSBjb25zdCBGQVIgKmRjb2RlOyAgICAvKiAgICAgcjExICBsb2NhbCBzdHJtLT5kaXN0Y29kZSAqLwotLyogODAgICA0MCAqLyB1bnNpZ25lZCBsb25nIGhvbGQ7ICAgICAgIC8qIGVkeCByZHggIGxvY2FsIHN0cm0tPmhvbGQgKi8KLS8qIDg4ICAgNDQgKi8gdW5zaWduZWQgYml0czsgICAgICAgICAgICAvKiBlYnggcmJ4ICBsb2NhbCBzdHJtLT5iaXRzICovCi0vKiA5MiAgIDQ4ICovIHVuc2lnbmVkIHdzaXplOyAgICAgICAgICAgLyogICAgICAgICAgd2luZG93IHNpemUgKi8KLS8qIDk2ICAgNTIgKi8gdW5zaWduZWQgd3JpdGU7ICAgICAgICAgICAvKiAgICAgICAgICB3aW5kb3cgd3JpdGUgaW5kZXggKi8KLS8qMTAwICAgNTYgKi8gdW5zaWduZWQgbG1hc2s7ICAgICAgICAgICAvKiAgICAgcjEyICBtYXNrIGZvciBsY29kZSAqLwotLyoxMDQgICA2MCAqLyB1bnNpZ25lZCBkbWFzazsgICAgICAgICAgIC8qICAgICByMTMgIG1hc2sgZm9yIGRjb2RlICovCi0vKjEwOCAgIDY0ICovIHVuc2lnbmVkIGxlbjsgICAgICAgICAgICAgLyogICAgIHIxNCAgbWF0Y2ggbGVuZ3RoICovCi0vKjExMiAgIDY4ICovIHVuc2lnbmVkIGRpc3Q7ICAgICAgICAgICAgLyogICAgIHIxNSAgbWF0Y2ggZGlzdGFuY2UgKi8KLS8qMTE2ICAgNzIgKi8gdW5zaWduZWQgc3RhdHVzOyAgICAgICAgICAvKiAgICAgICAgICBzZXQgd2hlbiBzdGF0ZSBjaG5nKi8KLSAgICB9IGFyOwotCi0jaWYgZGVmaW5lZCggX19HTlVDX18gKSAmJiBkZWZpbmVkKCBfX2FtZDY0X18gKSAmJiAhIGRlZmluZWQoIF9faTM4NiApCi0jZGVmaW5lIFBBRF9BVkFJTF9JTiA2Ci0jZGVmaW5lIFBBRF9BVkFJTF9PVVQgMjU4Ci0jZWxzZQotI2RlZmluZSBQQURfQVZBSUxfSU4gNQotI2RlZmluZSBQQURfQVZBSUxfT1VUIDI1NwotI2VuZGlmCi0KLSAgICAvKiBjb3B5IHN0YXRlIHRvIGxvY2FsIHZhcmlhYmxlcyAqLwotICAgIHN0YXRlID0gKHN0cnVjdCBpbmZsYXRlX3N0YXRlIEZBUiAqKXN0cm0tPnN0YXRlOwotICAgIGFyLmluID0gc3RybS0+bmV4dF9pbjsKLSAgICBhci5sYXN0ID0gYXIuaW4gKyAoc3RybS0+YXZhaWxfaW4gLSBQQURfQVZBSUxfSU4pOwotICAgIGFyLm91dCA9IHN0cm0tPm5leHRfb3V0OwotICAgIGFyLmJlZyA9IGFyLm91dCAtIChzdGFydCAtIHN0cm0tPmF2YWlsX291dCk7Ci0gICAgYXIuZW5kID0gYXIub3V0ICsgKHN0cm0tPmF2YWlsX291dCAtIFBBRF9BVkFJTF9PVVQpOwotICAgIGFyLndzaXplID0gc3RhdGUtPndzaXplOwotICAgIGFyLndyaXRlID0gc3RhdGUtPnduZXh0OwotICAgIGFyLndpbmRvdyA9IHN0YXRlLT53aW5kb3c7Ci0gICAgYXIuaG9sZCA9IHN0YXRlLT5ob2xkOwotICAgIGFyLmJpdHMgPSBzdGF0ZS0+Yml0czsKLSAgICBhci5sY29kZSA9IHN0YXRlLT5sZW5jb2RlOwotICAgIGFyLmRjb2RlID0gc3RhdGUtPmRpc3Rjb2RlOwotICAgIGFyLmxtYXNrID0gKDFVIDw8IHN0YXRlLT5sZW5iaXRzKSAtIDE7Ci0gICAgYXIuZG1hc2sgPSAoMVUgPDwgc3RhdGUtPmRpc3RiaXRzKSAtIDE7Ci0KLSAgICAvKiBkZWNvZGUgbGl0ZXJhbHMgYW5kIGxlbmd0aC9kaXN0YW5jZXMgdW50aWwgZW5kLW9mLWJsb2NrIG9yIG5vdCBlbm91Z2gKLSAgICAgICBpbnB1dCBkYXRhIG9yIG91dHB1dCBzcGFjZSAqLwotCi0gICAgLyogYWxpZ24gaW4gb24gMS8yIGhvbGQgc2l6ZSBib3VuZGFyeSAqLwotICAgIHdoaWxlICgoKHVuc2lnbmVkIGxvbmcpKHZvaWQgKilhci5pbiAmIChzaXplb2YoYXIuaG9sZCkgLyAyIC0gMSkpICE9IDApIHsKLSAgICAgICAgYXIuaG9sZCArPSAodW5zaWduZWQgbG9uZykqYXIuaW4rKyA8PCBhci5iaXRzOwotICAgICAgICBhci5iaXRzICs9IDg7Ci0gICAgfQotCi0jaWYgZGVmaW5lZCggX19HTlVDX18gKSAmJiBkZWZpbmVkKCBfX2FtZDY0X18gKSAmJiAhIGRlZmluZWQoIF9faTM4NiApCi0gICAgX19hc21fXyBfX3ZvbGF0aWxlX18gKAotIiAgICAgICAgbGVhcSAgICAlMCwgJSVyYXhcbiIKLSIgICAgICAgIG1vdnEgICAgJSVyYnAsIDgoJSVyYXgpXG4iICAgICAgIC8qIHNhdmUgcmVncyByYnAgYW5kIHJzcCAqLwotIiAgICAgICAgbW92cSAgICAlJXJzcCwgKCUlcmF4KVxuIgotIiAgICAgICAgbW92cSAgICAlJXJheCwgJSVyc3BcbiIgICAgICAgICAgLyogbWFrZSByc3AgcG9pbnQgdG8gJmFyICovCi0iICAgICAgICBtb3ZxICAgIDE2KCUlcnNwKSwgJSVyc2lcbiIgICAgICAvKiByc2kgID0gaW4gKi8KLSIgICAgICAgIG1vdnEgICAgMzIoJSVyc3ApLCAlJXJkaVxuIiAgICAgIC8qIHJkaSAgPSBvdXQgKi8KLSIgICAgICAgIG1vdnEgICAgMjQoJSVyc3ApLCAlJXI5XG4iICAgICAgIC8qIHI5ICAgPSBsYXN0ICovCi0iICAgICAgICBtb3ZxICAgIDQ4KCUlcnNwKSwgJSVyMTBcbiIgICAgICAvKiByMTAgID0gZW5kICovCi0iICAgICAgICBtb3ZxICAgIDY0KCUlcnNwKSwgJSVyYnBcbiIgICAgICAvKiByYnAgID0gbGNvZGUgKi8KLSIgICAgICAgIG1vdnEgICAgNzIoJSVyc3ApLCAlJXIxMVxuIiAgICAgIC8qIHIxMSAgPSBkY29kZSAqLwotIiAgICAgICAgbW92cSAgICA4MCglJXJzcCksICUlcmR4XG4iICAgICAgLyogcmR4ICA9IGhvbGQgKi8KLSIgICAgICAgIG1vdmwgICAgODgoJSVyc3ApLCAlJWVieFxuIiAgICAgIC8qIGVieCAgPSBiaXRzICovCi0iICAgICAgICBtb3ZsICAgIDEwMCglJXJzcCksICUlcjEyZFxuIiAgICAvKiByMTJkID0gbG1hc2sgKi8KLSIgICAgICAgIG1vdmwgICAgMTA0KCUlcnNwKSwgJSVyMTNkXG4iICAgIC8qIHIxM2QgPSBkbWFzayAqLwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogcjE0ZCA9IGxlbiAqLwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogcjE1ZCA9IGRpc3QgKi8KLSIgICAgICAgIGNsZFxuIgotIiAgICAgICAgY21wcSAgICAlJXJkaSwgJSVyMTBcbiIKLSIgICAgICAgIGplICAgICAgLkxfb25lX3RpbWVcbiIgICAgICAgICAgIC8qIGlmIG9ubHkgb25lIGRlY29kZSBsZWZ0ICovCi0iICAgICAgICBjbXBxICAgICUlcnNpLCAlJXI5XG4iCi0iICAgICAgICBqZSAgICAgIC5MX29uZV90aW1lXG4iCi0iICAgICAgICBqbXAgICAgIC5MX2RvX2xvb3BcbiIKLQotIi5MX29uZV90aW1lOlxuIgotIiAgICAgICAgbW92cSAgICAlJXIxMiwgJSVyOFxuIiAgICAgICAgICAgLyogcjggPSBsbWFzayAqLwotIiAgICAgICAgY21wYiAgICAkMzIsICUlYmxcbiIKLSIgICAgICAgIGphICAgICAgLkxfZ2V0X2xlbmd0aF9jb2RlX29uZV90aW1lXG4iCi0KLSIgICAgICAgIGxvZHNsXG4iICAgICAgICAgICAgICAgICAgICAgICAgIC8qIGVheCA9ICoodWludCAqKWluKysgKi8KLSIgICAgICAgIG1vdmIgICAgJSVibCwgJSVjbFxuIiAgICAgICAgICAgIC8qIGNsID0gYml0cywgbmVlZHMgaXQgZm9yIHNoaWZ0aW5nICovCi0iICAgICAgICBhZGRiICAgICQzMiwgJSVibFxuIiAgICAgICAgICAgICAvKiBiaXRzICs9IDMyICovCi0iICAgICAgICBzaGxxICAgICUlY2wsICUlcmF4XG4iCi0iICAgICAgICBvcnEgICAgICUlcmF4LCAlJXJkeFxuIiAgICAgICAgICAvKiBob2xkIHw9ICooKHVpbnQgKilpbikrKyA8PCBiaXRzICovCi0iICAgICAgICBqbXAgICAgIC5MX2dldF9sZW5ndGhfY29kZV9vbmVfdGltZVxuIgotCi0iLmFsaWduIDMyLDB4OTBcbiIKLSIuTF93aGlsZV90ZXN0OlxuIgotIiAgICAgICAgY21wcSAgICAlJXJkaSwgJSVyMTBcbiIKLSIgICAgICAgIGpiZSAgICAgLkxfYnJlYWtfbG9vcFxuIgotIiAgICAgICAgY21wcSAgICAlJXJzaSwgJSVyOVxuIgotIiAgICAgICAgamJlICAgICAuTF9icmVha19sb29wXG4iCi0KLSIuTF9kb19sb29wOlxuIgotIiAgICAgICAgbW92cSAgICAlJXIxMiwgJSVyOFxuIiAgICAgICAgICAgLyogcjggPSBsbWFzayAqLwotIiAgICAgICAgY21wYiAgICAkMzIsICUlYmxcbiIKLSIgICAgICAgIGphICAgICAgLkxfZ2V0X2xlbmd0aF9jb2RlXG4iICAgIC8qIGlmICgzMiA8IGJpdHMpICovCi0KLSIgICAgICAgIGxvZHNsXG4iICAgICAgICAgICAgICAgICAgICAgICAgIC8qIGVheCA9ICoodWludCAqKWluKysgKi8KLSIgICAgICAgIG1vdmIgICAgJSVibCwgJSVjbFxuIiAgICAgICAgICAgIC8qIGNsID0gYml0cywgbmVlZHMgaXQgZm9yIHNoaWZ0aW5nICovCi0iICAgICAgICBhZGRiICAgICQzMiwgJSVibFxuIiAgICAgICAgICAgICAvKiBiaXRzICs9IDMyICovCi0iICAgICAgICBzaGxxICAgICUlY2wsICUlcmF4XG4iCi0iICAgICAgICBvcnEgICAgICUlcmF4LCAlJXJkeFxuIiAgICAgICAgICAvKiBob2xkIHw9ICooKHVpbnQgKilpbikrKyA8PCBiaXRzICovCi0KLSIuTF9nZXRfbGVuZ3RoX2NvZGU6XG4iCi0iICAgICAgICBhbmRxICAgICUlcmR4LCAlJXI4XG4iICAgICAgICAgICAgLyogcjggJj0gaG9sZCAqLwotIiAgICAgICAgbW92bCAgICAoJSVyYnAsJSVyOCw0KSwgJSVlYXhcbiIgIC8qIGVheCA9IGxjb2RlW2hvbGQgJiBsbWFza10gKi8KLQotIiAgICAgICAgbW92YiAgICAlJWFoLCAlJWNsXG4iICAgICAgICAgICAgLyogY2wgPSB0aGlzLmJpdHMgKi8KLSIgICAgICAgIHN1YmIgICAgJSVhaCwgJSVibFxuIiAgICAgICAgICAgIC8qIGJpdHMgLT0gdGhpcy5iaXRzICovCi0iICAgICAgICBzaHJxICAgICUlY2wsICUlcmR4XG4iICAgICAgICAgICAvKiBob2xkID4+PSB0aGlzLmJpdHMgKi8KLQotIiAgICAgICAgdGVzdGIgICAlJWFsLCAlJWFsXG4iCi0iICAgICAgICBqbnogICAgIC5MX3Rlc3RfZm9yX2xlbmd0aF9iYXNlXG4iIC8qIGlmIChvcCAhPSAwKSA0NS43JSAqLwotCi0iICAgICAgICBtb3ZxICAgICUlcjEyLCAlJXI4XG4iICAgICAgICAgICAgLyogcjggPSBsbWFzayAqLwotIiAgICAgICAgc2hybCAgICAkMTYsICUlZWF4XG4iICAgICAgICAgICAgLyogb3V0cHV0IHRoaXMudmFsIGNoYXIgKi8KLSIgICAgICAgIHN0b3NiXG4iCi0KLSIuTF9nZXRfbGVuZ3RoX2NvZGVfb25lX3RpbWU6XG4iCi0iICAgICAgICBhbmRxICAgICUlcmR4LCAlJXI4XG4iICAgICAgICAgICAgLyogcjggJj0gaG9sZCAqLwotIiAgICAgICAgbW92bCAgICAoJSVyYnAsJSVyOCw0KSwgJSVlYXhcbiIgLyogZWF4ID0gbGNvZGVbaG9sZCAmIGxtYXNrXSAqLwotCi0iLkxfZG9sZW46XG4iCi0iICAgICAgICBtb3ZiICAgICUlYWgsICUlY2xcbiIgICAgICAgICAgICAvKiBjbCA9IHRoaXMuYml0cyAqLwotIiAgICAgICAgc3ViYiAgICAlJWFoLCAlJWJsXG4iICAgICAgICAgICAgLyogYml0cyAtPSB0aGlzLmJpdHMgKi8KLSIgICAgICAgIHNocnEgICAgJSVjbCwgJSVyZHhcbiIgICAgICAgICAgIC8qIGhvbGQgPj49IHRoaXMuYml0cyAqLwotCi0iICAgICAgICB0ZXN0YiAgICUlYWwsICUlYWxcbiIKLSIgICAgICAgIGpueiAgICAgLkxfdGVzdF9mb3JfbGVuZ3RoX2Jhc2VcbiIgLyogaWYgKG9wICE9IDApIDQ1LjclICovCi0KLSIgICAgICAgIHNocmwgICAgJDE2LCAlJWVheFxuIiAgICAgICAgICAgIC8qIG91dHB1dCB0aGlzLnZhbCBjaGFyICovCi0iICAgICAgICBzdG9zYlxuIgotIiAgICAgICAgam1wICAgICAuTF93aGlsZV90ZXN0XG4iCi0KLSIuYWxpZ24gMzIsMHg5MFxuIgotIi5MX3Rlc3RfZm9yX2xlbmd0aF9iYXNlOlxuIgotIiAgICAgICAgbW92bCAgICAlJWVheCwgJSVyMTRkXG4iICAgICAgICAgLyogbGVuID0gdGhpcyAqLwotIiAgICAgICAgc2hybCAgICAkMTYsICUlcjE0ZFxuIiAgICAgICAgICAgLyogbGVuID0gdGhpcy52YWwgKi8KLSIgICAgICAgIG1vdmIgICAgJSVhbCwgJSVjbFxuIgotCi0iICAgICAgICB0ZXN0YiAgICQxNiwgJSVhbFxuIgotIiAgICAgICAganogICAgICAuTF90ZXN0X2Zvcl9zZWNvbmRfbGV2ZWxfbGVuZ3RoXG4iIC8qIGlmICgob3AgJiAxNikgPT0gMCkgOCUgKi8KLSIgICAgICAgIGFuZGIgICAgJDE1LCAlJWNsXG4iICAgICAgICAgICAgIC8qIG9wICY9IDE1ICovCi0iICAgICAgICBqeiAgICAgIC5MX2RlY29kZV9kaXN0YW5jZVxuIiAgICAvKiBpZiAoIW9wKSAqLwotCi0iLkxfYWRkX2JpdHNfdG9fbGVuOlxuIgotIiAgICAgICAgc3ViYiAgICAlJWNsLCAlJWJsXG4iCi0iICAgICAgICB4b3JsICAgICUlZWF4LCAlJWVheFxuIgotIiAgICAgICAgaW5jbCAgICAlJWVheFxuIgotIiAgICAgICAgc2hsbCAgICAlJWNsLCAlJWVheFxuIgotIiAgICAgICAgZGVjbCAgICAlJWVheFxuIgotIiAgICAgICAgYW5kbCAgICAlJWVkeCwgJSVlYXhcbiIgICAgICAgICAgLyogZWF4ICY9IGhvbGQgKi8KLSIgICAgICAgIHNocnEgICAgJSVjbCwgJSVyZHhcbiIKLSIgICAgICAgIGFkZGwgICAgJSVlYXgsICUlcjE0ZFxuIiAgICAgICAgIC8qIGxlbiArPSBob2xkICYgbWFza1tvcF0gKi8KLQotIi5MX2RlY29kZV9kaXN0YW5jZTpcbiIKLSIgICAgICAgIG1vdnEgICAgJSVyMTMsICUlcjhcbiIgICAgICAgICAgIC8qIHI4ID0gZG1hc2sgKi8KLSIgICAgICAgIGNtcGIgICAgJDMyLCAlJWJsXG4iCi0iICAgICAgICBqYSAgICAgIC5MX2dldF9kaXN0YW5jZV9jb2RlXG4iICAvKiBpZiAoMzIgPCBiaXRzKSAqLwotCi0iICAgICAgICBsb2RzbFxuIiAgICAgICAgICAgICAgICAgICAgICAgICAvKiBlYXggPSAqKHVpbnQgKilpbisrICovCi0iICAgICAgICBtb3ZiICAgICUlYmwsICUlY2xcbiIgICAgICAgICAgICAvKiBjbCA9IGJpdHMsIG5lZWRzIGl0IGZvciBzaGlmdGluZyAqLwotIiAgICAgICAgYWRkYiAgICAkMzIsICUlYmxcbiIgICAgICAgICAgICAgLyogYml0cyArPSAzMiAqLwotIiAgICAgICAgc2hscSAgICAlJWNsLCAlJXJheFxuIgotIiAgICAgICAgb3JxICAgICAlJXJheCwgJSVyZHhcbiIgICAgICAgICAgLyogaG9sZCB8PSAqKCh1aW50ICopaW4pKysgPDwgYml0cyAqLwotCi0iLkxfZ2V0X2Rpc3RhbmNlX2NvZGU6XG4iCi0iICAgICAgICBhbmRxICAgICUlcmR4LCAlJXI4XG4iICAgICAgICAgICAvKiByOCAmPSBob2xkICovCi0iICAgICAgICBtb3ZsICAgICglJXIxMSwlJXI4LDQpLCAlJWVheFxuIiAvKiBlYXggPSBkY29kZVtob2xkICYgZG1hc2tdICovCi0KLSIuTF9kb2Rpc3Q6XG4iCi0iICAgICAgICBtb3ZsICAgICUlZWF4LCAlJXIxNWRcbiIgICAgICAgICAvKiBkaXN0ID0gdGhpcyAqLwotIiAgICAgICAgc2hybCAgICAkMTYsICUlcjE1ZFxuIiAgICAgICAgICAgLyogZGlzdCA9IHRoaXMudmFsICovCi0iICAgICAgICBtb3ZiICAgICUlYWgsICUlY2xcbiIKLSIgICAgICAgIHN1YmIgICAgJSVhaCwgJSVibFxuIiAgICAgICAgICAgIC8qIGJpdHMgLT0gdGhpcy5iaXRzICovCi0iICAgICAgICBzaHJxICAgICUlY2wsICUlcmR4XG4iICAgICAgICAgICAvKiBob2xkID4+PSB0aGlzLmJpdHMgKi8KLSIgICAgICAgIG1vdmIgICAgJSVhbCwgJSVjbFxuIiAgICAgICAgICAgIC8qIGNsID0gdGhpcy5vcCAqLwotCi0iICAgICAgICB0ZXN0YiAgICQxNiwgJSVhbFxuIiAgICAgICAgICAgICAvKiBpZiAoKG9wICYgMTYpID09IDApICovCi0iICAgICAgICBqeiAgICAgIC5MX3Rlc3RfZm9yX3NlY29uZF9sZXZlbF9kaXN0XG4iCi0iICAgICAgICBhbmRiICAgICQxNSwgJSVjbFxuIiAgICAgICAgICAgICAvKiBvcCAmPSAxNSAqLwotIiAgICAgICAganogICAgICAuTF9jaGVja19kaXN0X29uZVxuIgotCi0iLkxfYWRkX2JpdHNfdG9fZGlzdDpcbiIKLSIgICAgICAgIHN1YmIgICAgJSVjbCwgJSVibFxuIgotIiAgICAgICAgeG9ybCAgICAlJWVheCwgJSVlYXhcbiIKLSIgICAgICAgIGluY2wgICAgJSVlYXhcbiIKLSIgICAgICAgIHNobGwgICAgJSVjbCwgJSVlYXhcbiIKLSIgICAgICAgIGRlY2wgICAgJSVlYXhcbiIgICAgICAgICAgICAgICAgIC8qICgxIDw8IG9wKSAtIDEgKi8KLSIgICAgICAgIGFuZGwgICAgJSVlZHgsICUlZWF4XG4iICAgICAgICAgIC8qIGVheCAmPSBob2xkICovCi0iICAgICAgICBzaHJxICAgICUlY2wsICUlcmR4XG4iCi0iICAgICAgICBhZGRsICAgICUlZWF4LCAlJXIxNWRcbiIgICAgICAgICAvKiBkaXN0ICs9IGhvbGQgJiAoKDEgPDwgb3ApIC0gMSkgKi8KLQotIi5MX2NoZWNrX3dpbmRvdzpcbiIKLSIgICAgICAgIG1vdnEgICAgJSVyc2ksICUlcjhcbiIgICAgICAgICAgIC8qIHNhdmUgaW4gc28gZnJvbSBjYW4gdXNlIGl0J3MgcmVnICovCi0iICAgICAgICBtb3ZxICAgICUlcmRpLCAlJXJheFxuIgotIiAgICAgICAgc3VicSAgICA0MCglJXJzcCksICUlcmF4XG4iICAgICAgLyogbmJ5dGVzID0gb3V0IC0gYmVnICovCi0KLSIgICAgICAgIGNtcGwgICAgJSVyMTVkLCAlJWVheFxuIgotIiAgICAgICAgamIgICAgICAuTF9jbGlwX3dpbmRvd1xuIiAgICAgICAgLyogaWYgKGRpc3QgPiBuYnl0ZXMpIDQuMiUgKi8KLQotIiAgICAgICAgbW92bCAgICAlJXIxNGQsICUlZWN4XG4iICAgICAgICAgLyogZWN4ID0gbGVuICovCi0iICAgICAgICBtb3ZxICAgICUlcmRpLCAlJXJzaVxuIgotIiAgICAgICAgc3VicSAgICAlJXIxNSwgJSVyc2lcbiIgICAgICAgICAgLyogZnJvbSA9IG91dCAtIGRpc3QgKi8KLQotIiAgICAgICAgc2FybCAgICAlJWVjeFxuIgotIiAgICAgICAgam5jICAgICAuTF9jb3B5X3R3b1xuIiAgICAgICAgICAgLyogaWYgbGVuICUgMiA9PSAwICovCi0KLSIgICAgICAgIHJlcCAgICAgbW92c3dcbiIKLSIgICAgICAgIG1vdmIgICAgKCUlcnNpKSwgJSVhbFxuIgotIiAgICAgICAgbW92YiAgICAlJWFsLCAoJSVyZGkpXG4iCi0iICAgICAgICBpbmNxICAgICUlcmRpXG4iCi0KLSIgICAgICAgIG1vdnEgICAgJSVyOCwgJSVyc2lcbiIgICAgICAgICAgIC8qIG1vdmUgaW4gYmFjayB0byAlcnNpLCB0b3NzIGZyb20gKi8KLSIgICAgICAgIGptcCAgICAgLkxfd2hpbGVfdGVzdFxuIgotCi0iLkxfY29weV90d286XG4iCi0iICAgICAgICByZXAgICAgIG1vdnN3XG4iCi0iICAgICAgICBtb3ZxICAgICUlcjgsICUlcnNpXG4iICAgICAgICAgICAvKiBtb3ZlIGluIGJhY2sgdG8gJXJzaSwgdG9zcyBmcm9tICovCi0iICAgICAgICBqbXAgICAgIC5MX3doaWxlX3Rlc3RcbiIKLQotIi5hbGlnbiAzMiwweDkwXG4iCi0iLkxfY2hlY2tfZGlzdF9vbmU6XG4iCi0iICAgICAgICBjbXBsICAgICQxLCAlJXIxNWRcbiIgICAgICAgICAgICAvKiBpZiBkaXN0IDEsIGlzIGEgbWVtc2V0ICovCi0iICAgICAgICBqbmUgICAgIC5MX2NoZWNrX3dpbmRvd1xuIgotIiAgICAgICAgY21wcSAgICAlJXJkaSwgNDAoJSVyc3ApXG4iICAgICAgLyogaWYgb3V0ID09IGJlZywgb3V0c2lkZSB3aW5kb3cgKi8KLSIgICAgICAgIGplICAgICAgLkxfY2hlY2tfd2luZG93XG4iCi0KLSIgICAgICAgIG1vdmwgICAgJSVyMTRkLCAlJWVjeFxuIiAgICAgICAgIC8qIGVjeCA9IGxlbiAqLwotIiAgICAgICAgbW92YiAgICAtMSglJXJkaSksICUlYWxcbiIKLSIgICAgICAgIG1vdmIgICAgJSVhbCwgJSVhaFxuIgotCi0iICAgICAgICBzYXJsICAgICUlZWN4XG4iCi0iICAgICAgICBqbmMgICAgIC5MX3NldF90d29cbiIKLSIgICAgICAgIG1vdmIgICAgJSVhbCwgKCUlcmRpKVxuIgotIiAgICAgICAgaW5jcSAgICAlJXJkaVxuIgotCi0iLkxfc2V0X3R3bzpcbiIKLSIgICAgICAgIHJlcCAgICAgc3Rvc3dcbiIKLSIgICAgICAgIGptcCAgICAgLkxfd2hpbGVfdGVzdFxuIgotCi0iLmFsaWduIDMyLDB4OTBcbiIKLSIuTF90ZXN0X2Zvcl9zZWNvbmRfbGV2ZWxfbGVuZ3RoOlxuIgotIiAgICAgICAgdGVzdGIgICAkNjQsICUlYWxcbiIKLSIgICAgICAgIGpueiAgICAgLkxfdGVzdF9mb3JfZW5kX29mX2Jsb2NrXG4iIC8qIGlmICgob3AgJiA2NCkgIT0gMCkgKi8KLQotIiAgICAgICAgeG9ybCAgICAlJWVheCwgJSVlYXhcbiIKLSIgICAgICAgIGluY2wgICAgJSVlYXhcbiIKLSIgICAgICAgIHNobGwgICAgJSVjbCwgJSVlYXhcbiIKLSIgICAgICAgIGRlY2wgICAgJSVlYXhcbiIKLSIgICAgICAgIGFuZGwgICAgJSVlZHgsICUlZWF4XG4iICAgICAgICAgLyogZWF4ICY9IGhvbGQgKi8KLSIgICAgICAgIGFkZGwgICAgJSVyMTRkLCAlJWVheFxuIiAgICAgICAgLyogZWF4ICs9IGxlbiAqLwotIiAgICAgICAgbW92bCAgICAoJSVyYnAsJSVyYXgsNCksICUlZWF4XG4iIC8qIGVheCA9IGxjb2RlW3ZhbCsoaG9sZCZtYXNrW29wXSldKi8KLSIgICAgICAgIGptcCAgICAgLkxfZG9sZW5cbiIKLQotIi5hbGlnbiAzMiwweDkwXG4iCi0iLkxfdGVzdF9mb3Jfc2Vjb25kX2xldmVsX2Rpc3Q6XG4iCi0iICAgICAgICB0ZXN0YiAgICQ2NCwgJSVhbFxuIgotIiAgICAgICAgam56ICAgICAuTF9pbnZhbGlkX2Rpc3RhbmNlX2NvZGVcbiIgLyogaWYgKChvcCAmIDY0KSAhPSAwKSAqLwotCi0iICAgICAgICB4b3JsICAgICUlZWF4LCAlJWVheFxuIgotIiAgICAgICAgaW5jbCAgICAlJWVheFxuIgotIiAgICAgICAgc2hsbCAgICAlJWNsLCAlJWVheFxuIgotIiAgICAgICAgZGVjbCAgICAlJWVheFxuIgotIiAgICAgICAgYW5kbCAgICAlJWVkeCwgJSVlYXhcbiIgICAgICAgICAvKiBlYXggJj0gaG9sZCAqLwotIiAgICAgICAgYWRkbCAgICAlJXIxNWQsICUlZWF4XG4iICAgICAgICAvKiBlYXggKz0gZGlzdCAqLwotIiAgICAgICAgbW92bCAgICAoJSVyMTEsJSVyYXgsNCksICUlZWF4XG4iIC8qIGVheCA9IGRjb2RlW3ZhbCsoaG9sZCZtYXNrW29wXSldKi8KLSIgICAgICAgIGptcCAgICAgLkxfZG9kaXN0XG4iCi0KLSIuYWxpZ24gMzIsMHg5MFxuIgotIi5MX2NsaXBfd2luZG93OlxuIgotIiAgICAgICAgbW92bCAgICAlJWVheCwgJSVlY3hcbiIgICAgICAgICAvKiBlY3ggPSBuYnl0ZXMgKi8KLSIgICAgICAgIG1vdmwgICAgOTIoJSVyc3ApLCAlJWVheFxuIiAgICAgLyogZWF4ID0gd3NpemUsIHByZXBhcmUgZm9yIGRpc3QgY21wICovCi0iICAgICAgICBuZWdsICAgICUlZWN4XG4iICAgICAgICAgICAgICAgIC8qIG5ieXRlcyA9IC1uYnl0ZXMgKi8KLQotIiAgICAgICAgY21wbCAgICAlJXIxNWQsICUlZWF4XG4iCi0iICAgICAgICBqYiAgICAgIC5MX2ludmFsaWRfZGlzdGFuY2VfdG9vX2ZhclxuIiAvKiBpZiAoZGlzdCA+IHdzaXplKSAqLwotCi0iICAgICAgICBhZGRsICAgICUlcjE1ZCwgJSVlY3hcbiIgICAgICAgICAvKiBuYnl0ZXMgPSBkaXN0IC0gbmJ5dGVzICovCi0iICAgICAgICBjbXBsICAgICQwLCA5NiglJXJzcClcbiIKLSIgICAgICAgIGpuZSAgICAgLkxfd3JhcF9hcm91bmRfd2luZG93XG4iIC8qIGlmICh3cml0ZSAhPSAwKSAqLwotCi0iICAgICAgICBtb3ZxICAgIDU2KCUlcnNwKSwgJSVyc2lcbiIgICAgIC8qIGZyb20gID0gd2luZG93ICovCi0iICAgICAgICBzdWJsICAgICUlZWN4LCAlJWVheFxuIiAgICAgICAgIC8qIGVheCAgLT0gbmJ5dGVzICovCi0iICAgICAgICBhZGRxICAgICUlcmF4LCAlJXJzaVxuIiAgICAgICAgIC8qIGZyb20gKz0gd3NpemUgLSBuYnl0ZXMgKi8KLQotIiAgICAgICAgbW92bCAgICAlJXIxNGQsICUlZWF4XG4iICAgICAgICAvKiBlYXggPSBsZW4gKi8KLSIgICAgICAgIGNtcGwgICAgJSVlY3gsICUlcjE0ZFxuIgotIiAgICAgICAgamJlICAgICAuTF9kb19jb3B5XG4iICAgICAgICAgICAvKiBpZiAobmJ5dGVzID49IGxlbikgKi8KLQotIiAgICAgICAgc3VibCAgICAlJWVjeCwgJSVlYXhcbiIgICAgICAgICAvKiBlYXggLT0gbmJ5dGVzICovCi0iICAgICAgICByZXAgICAgIG1vdnNiXG4iCi0iICAgICAgICBtb3ZxICAgICUlcmRpLCAlJXJzaVxuIgotIiAgICAgICAgc3VicSAgICAlJXIxNSwgJSVyc2lcbiIgICAgICAgICAvKiBmcm9tID0gJm91dFsgLWRpc3QgXSAqLwotIiAgICAgICAgam1wICAgICAuTF9kb19jb3B5XG4iCi0KLSIuYWxpZ24gMzIsMHg5MFxuIgotIi5MX3dyYXBfYXJvdW5kX3dpbmRvdzpcbiIKLSIgICAgICAgIG1vdmwgICAgOTYoJSVyc3ApLCAlJWVheFxuIiAgICAgLyogZWF4ID0gd3JpdGUgKi8KLSIgICAgICAgIGNtcGwgICAgJSVlYXgsICUlZWN4XG4iCi0iICAgICAgICBqYmUgICAgIC5MX2NvbnRpZ3VvdXNfaW5fd2luZG93XG4iIC8qIGlmICh3cml0ZSA+PSBuYnl0ZXMpICovCi0KLSIgICAgICAgIG1vdmwgICAgOTIoJSVyc3ApLCAlJWVzaVxuIiAgICAgLyogZnJvbSAgPSB3c2l6ZSAqLwotIiAgICAgICAgYWRkcSAgICA1NiglJXJzcCksICUlcnNpXG4iICAgICAvKiBmcm9tICs9IHdpbmRvdyAqLwotIiAgICAgICAgYWRkcSAgICAlJXJheCwgJSVyc2lcbiIgICAgICAgICAvKiBmcm9tICs9IHdyaXRlICovCi0iICAgICAgICBzdWJxICAgICUlcmN4LCAlJXJzaVxuIiAgICAgICAgIC8qIGZyb20gLT0gbmJ5dGVzICovCi0iICAgICAgICBzdWJsICAgICUlZWF4LCAlJWVjeFxuIiAgICAgICAgIC8qIG5ieXRlcyAtPSB3cml0ZSAqLwotCi0iICAgICAgICBtb3ZsICAgICUlcjE0ZCwgJSVlYXhcbiIgICAgICAgIC8qIGVheCA9IGxlbiAqLwotIiAgICAgICAgY21wbCAgICAlJWVjeCwgJSVlYXhcbiIKLSIgICAgICAgIGpiZSAgICAgLkxfZG9fY29weVxuIiAgICAgICAgICAgLyogaWYgKG5ieXRlcyA+PSBsZW4pICovCi0KLSIgICAgICAgIHN1YmwgICAgJSVlY3gsICUlZWF4XG4iICAgICAgICAgLyogbGVuIC09IG5ieXRlcyAqLwotIiAgICAgICAgcmVwICAgICBtb3ZzYlxuIgotIiAgICAgICAgbW92cSAgICA1NiglJXJzcCksICUlcnNpXG4iICAgICAvKiBmcm9tID0gd2luZG93ICovCi0iICAgICAgICBtb3ZsICAgIDk2KCUlcnNwKSwgJSVlY3hcbiIgICAgIC8qIG5ieXRlcyA9IHdyaXRlICovCi0iICAgICAgICBjbXBsICAgICUlZWN4LCAlJWVheFxuIgotIiAgICAgICAgamJlICAgICAuTF9kb19jb3B5XG4iICAgICAgICAgICAvKiBpZiAobmJ5dGVzID49IGxlbikgKi8KLQotIiAgICAgICAgc3VibCAgICAlJWVjeCwgJSVlYXhcbiIgICAgICAgICAvKiBsZW4gLT0gbmJ5dGVzICovCi0iICAgICAgICByZXAgICAgIG1vdnNiXG4iCi0iICAgICAgICBtb3ZxICAgICUlcmRpLCAlJXJzaVxuIgotIiAgICAgICAgc3VicSAgICAlJXIxNSwgJSVyc2lcbiIgICAgICAgICAvKiBmcm9tID0gb3V0IC0gZGlzdCAqLwotIiAgICAgICAgam1wICAgICAuTF9kb19jb3B5XG4iCi0KLSIuYWxpZ24gMzIsMHg5MFxuIgotIi5MX2NvbnRpZ3VvdXNfaW5fd2luZG93OlxuIgotIiAgICAgICAgbW92cSAgICA1NiglJXJzcCksICUlcnNpXG4iICAgICAvKiByc2kgPSB3aW5kb3cgKi8KLSIgICAgICAgIGFkZHEgICAgJSVyYXgsICUlcnNpXG4iCi0iICAgICAgICBzdWJxICAgICUlcmN4LCAlJXJzaVxuIiAgICAgICAgIC8qIGZyb20gKz0gd3JpdGUgLSBuYnl0ZXMgKi8KLQotIiAgICAgICAgbW92bCAgICAlJXIxNGQsICUlZWF4XG4iICAgICAgICAvKiBlYXggPSBsZW4gKi8KLSIgICAgICAgIGNtcGwgICAgJSVlY3gsICUlZWF4XG4iCi0iICAgICAgICBqYmUgICAgIC5MX2RvX2NvcHlcbiIgICAgICAgICAgIC8qIGlmIChuYnl0ZXMgPj0gbGVuKSAqLwotCi0iICAgICAgICBzdWJsICAgICUlZWN4LCAlJWVheFxuIiAgICAgICAgIC8qIGxlbiAtPSBuYnl0ZXMgKi8KLSIgICAgICAgIHJlcCAgICAgbW92c2JcbiIKLSIgICAgICAgIG1vdnEgICAgJSVyZGksICUlcnNpXG4iCi0iICAgICAgICBzdWJxICAgICUlcjE1LCAlJXJzaVxuIiAgICAgICAgIC8qIGZyb20gPSBvdXQgLSBkaXN0ICovCi0iICAgICAgICBqbXAgICAgIC5MX2RvX2NvcHlcbiIgICAgICAgICAgIC8qIGlmIChuYnl0ZXMgPj0gbGVuKSAqLwotCi0iLmFsaWduIDMyLDB4OTBcbiIKLSIuTF9kb19jb3B5OlxuIgotIiAgICAgICAgbW92bCAgICAlJWVheCwgJSVlY3hcbiIgICAgICAgICAvKiBlY3ggPSBsZW4gKi8KLSIgICAgICAgIHJlcCAgICAgbW92c2JcbiIKLQotIiAgICAgICAgbW92cSAgICAlJXI4LCAlJXJzaVxuIiAgICAgICAgICAvKiBtb3ZlIGluIGJhY2sgdG8gJWVzaSwgdG9zcyBmcm9tICovCi0iICAgICAgICBqbXAgICAgIC5MX3doaWxlX3Rlc3RcbiIKLQotIi5MX3Rlc3RfZm9yX2VuZF9vZl9ibG9jazpcbiIKLSIgICAgICAgIHRlc3RiICAgJDMyLCAlJWFsXG4iCi0iICAgICAgICBqeiAgICAgIC5MX2ludmFsaWRfbGl0ZXJhbF9sZW5ndGhfY29kZVxuIgotIiAgICAgICAgbW92bCAgICAkMSwgMTE2KCUlcnNwKVxuIgotIiAgICAgICAgam1wICAgICAuTF9icmVha19sb29wX3dpdGhfc3RhdHVzXG4iCi0KLSIuTF9pbnZhbGlkX2xpdGVyYWxfbGVuZ3RoX2NvZGU6XG4iCi0iICAgICAgICBtb3ZsICAgICQyLCAxMTYoJSVyc3ApXG4iCi0iICAgICAgICBqbXAgICAgIC5MX2JyZWFrX2xvb3Bfd2l0aF9zdGF0dXNcbiIKLQotIi5MX2ludmFsaWRfZGlzdGFuY2VfY29kZTpcbiIKLSIgICAgICAgIG1vdmwgICAgJDMsIDExNiglJXJzcClcbiIKLSIgICAgICAgIGptcCAgICAgLkxfYnJlYWtfbG9vcF93aXRoX3N0YXR1c1xuIgotCi0iLkxfaW52YWxpZF9kaXN0YW5jZV90b29fZmFyOlxuIgotIiAgICAgICAgbW92bCAgICAkNCwgMTE2KCUlcnNwKVxuIgotIiAgICAgICAgam1wICAgICAuTF9icmVha19sb29wX3dpdGhfc3RhdHVzXG4iCi0KLSIuTF9icmVha19sb29wOlxuIgotIiAgICAgICAgbW92bCAgICAkMCwgMTE2KCUlcnNwKVxuIgotCi0iLkxfYnJlYWtfbG9vcF93aXRoX3N0YXR1czpcbiIKLS8qIHB1dCBpbiwgb3V0LCBiaXRzLCBhbmQgaG9sZCBiYWNrIGludG8gYXIgYW5kIHBvcCBlc3AgKi8KLSIgICAgICAgIG1vdnEgICAgJSVyc2ksIDE2KCUlcnNwKVxuIiAgICAgLyogaW4gKi8KLSIgICAgICAgIG1vdnEgICAgJSVyZGksIDMyKCUlcnNwKVxuIiAgICAgLyogb3V0ICovCi0iICAgICAgICBtb3ZsICAgICUlZWJ4LCA4OCglJXJzcClcbiIgICAgIC8qIGJpdHMgKi8KLSIgICAgICAgIG1vdnEgICAgJSVyZHgsIDgwKCUlcnNwKVxuIiAgICAgLyogaG9sZCAqLwotIiAgICAgICAgbW92cSAgICAoJSVyc3ApLCAlJXJheFxuIiAgICAgICAvKiByZXN0b3JlIHJicCBhbmQgcnNwICovCi0iICAgICAgICBtb3ZxICAgIDgoJSVyc3ApLCAlJXJicFxuIgotIiAgICAgICAgbW92cSAgICAlJXJheCwgJSVyc3BcbiIKLSAgICAgICAgICA6Ci0gICAgICAgICAgOiAibSIgKGFyKQotICAgICAgICAgIDogIm1lbW9yeSIsICIlcmF4IiwgIiVyYngiLCAiJXJjeCIsICIlcmR4IiwgIiVyc2kiLCAiJXJkaSIsCi0gICAgICAgICAgICAiJXI4IiwgIiVyOSIsICIlcjEwIiwgIiVyMTEiLCAiJXIxMiIsICIlcjEzIiwgIiVyMTQiLCAiJXIxNSIKLSAgICApOwotI2VsaWYgKCBkZWZpbmVkKCBfX0dOVUNfXyApIHx8IGRlZmluZWQoIF9fSUNDICkgKSAmJiBkZWZpbmVkKCBfX2kzODYgKQotICAgIF9fYXNtX18gX192b2xhdGlsZV9fICgKLSIgICAgICAgIGxlYWwgICAgJTAsICUlZWF4XG4iCi0iICAgICAgICBtb3ZsICAgICUlZXNwLCAoJSVlYXgpXG4iICAgICAgICAvKiBzYXZlIGVzcCwgZWJwICovCi0iICAgICAgICBtb3ZsICAgICUlZWJwLCA0KCUlZWF4KVxuIgotIiAgICAgICAgbW92bCAgICAlJWVheCwgJSVlc3BcbiIKLSIgICAgICAgIG1vdmwgICAgOCglJWVzcCksICUlZXNpXG4iICAgICAgIC8qIGVzaSA9IGluICovCi0iICAgICAgICBtb3ZsICAgIDE2KCUlZXNwKSwgJSVlZGlcbiIgICAgICAvKiBlZGkgPSBvdXQgKi8KLSIgICAgICAgIG1vdmwgICAgNDAoJSVlc3ApLCAlJWVkeFxuIiAgICAgIC8qIGVkeCA9IGhvbGQgKi8KLSIgICAgICAgIG1vdmwgICAgNDQoJSVlc3ApLCAlJWVieFxuIiAgICAgIC8qIGVieCA9IGJpdHMgKi8KLSIgICAgICAgIG1vdmwgICAgMzIoJSVlc3ApLCAlJWVicFxuIiAgICAgIC8qIGVicCA9IGxjb2RlICovCi0KLSIgICAgICAgIGNsZFxuIgotIiAgICAgICAgam1wICAgICAuTF9kb19sb29wXG4iCi0KLSIuYWxpZ24gMzIsMHg5MFxuIgotIi5MX3doaWxlX3Rlc3Q6XG4iCi0iICAgICAgICBjbXBsICAgICUlZWRpLCAyNCglJWVzcClcbiIgICAgICAvKiBvdXQgPCBlbmQgKi8KLSIgICAgICAgIGpiZSAgICAgLkxfYnJlYWtfbG9vcFxuIgotIiAgICAgICAgY21wbCAgICAlJWVzaSwgMTIoJSVlc3ApXG4iICAgICAgLyogaW4gPCBsYXN0ICovCi0iICAgICAgICBqYmUgICAgIC5MX2JyZWFrX2xvb3BcbiIKLQotIi5MX2RvX2xvb3A6XG4iCi0iICAgICAgICBjbXBiICAgICQxNSwgJSVibFxuIgotIiAgICAgICAgamEgICAgICAuTF9nZXRfbGVuZ3RoX2NvZGVcbiIgICAgLyogaWYgKDE1IDwgYml0cykgKi8KLQotIiAgICAgICAgeG9ybCAgICAlJWVheCwgJSVlYXhcbiIKLSIgICAgICAgIGxvZHN3XG4iICAgICAgICAgICAgICAgICAgICAgICAgIC8qIGFsID0gKih1c2hvcnQgKilpbisrICovCi0iICAgICAgICBtb3ZiICAgICUlYmwsICUlY2xcbiIgICAgICAgICAgICAvKiBjbCA9IGJpdHMsIG5lZWRzIGl0IGZvciBzaGlmdGluZyAqLwotIiAgICAgICAgYWRkYiAgICAkMTYsICUlYmxcbiIgICAgICAgICAgICAgLyogYml0cyArPSAxNiAqLwotIiAgICAgICAgc2hsbCAgICAlJWNsLCAlJWVheFxuIgotIiAgICAgICAgb3JsICAgICAlJWVheCwgJSVlZHhcbiIgICAgICAgIC8qIGhvbGQgfD0gKigodXNob3J0ICopaW4pKysgPDwgYml0cyAqLwotCi0iLkxfZ2V0X2xlbmd0aF9jb2RlOlxuIgotIiAgICAgICAgbW92bCAgICA1NiglJWVzcCksICUlZWF4XG4iICAgICAgLyogZWF4ID0gbG1hc2sgKi8KLSIgICAgICAgIGFuZGwgICAgJSVlZHgsICUlZWF4XG4iICAgICAgICAgIC8qIGVheCAmPSBob2xkICovCi0iICAgICAgICBtb3ZsICAgICglJWVicCwlJWVheCw0KSwgJSVlYXhcbiIgLyogZWF4ID0gbGNvZGVbaG9sZCAmIGxtYXNrXSAqLwotCi0iLkxfZG9sZW46XG4iCi0iICAgICAgICBtb3ZiICAgICUlYWgsICUlY2xcbiIgICAgICAgICAgICAvKiBjbCA9IHRoaXMuYml0cyAqLwotIiAgICAgICAgc3ViYiAgICAlJWFoLCAlJWJsXG4iICAgICAgICAgICAgLyogYml0cyAtPSB0aGlzLmJpdHMgKi8KLSIgICAgICAgIHNocmwgICAgJSVjbCwgJSVlZHhcbiIgICAgICAgICAgIC8qIGhvbGQgPj49IHRoaXMuYml0cyAqLwotCi0iICAgICAgICB0ZXN0YiAgICUlYWwsICUlYWxcbiIKLSIgICAgICAgIGpueiAgICAgLkxfdGVzdF9mb3JfbGVuZ3RoX2Jhc2VcbiIgLyogaWYgKG9wICE9IDApIDQ1LjclICovCi0KLSIgICAgICAgIHNocmwgICAgJDE2LCAlJWVheFxuIiAgICAgICAgICAgIC8qIG91dHB1dCB0aGlzLnZhbCBjaGFyICovCi0iICAgICAgICBzdG9zYlxuIgotIiAgICAgICAgam1wICAgICAuTF93aGlsZV90ZXN0XG4iCi0KLSIuYWxpZ24gMzIsMHg5MFxuIgotIi5MX3Rlc3RfZm9yX2xlbmd0aF9iYXNlOlxuIgotIiAgICAgICAgbW92bCAgICAlJWVheCwgJSVlY3hcbiIgICAgICAgICAgLyogbGVuID0gdGhpcyAqLwotIiAgICAgICAgc2hybCAgICAkMTYsICUlZWN4XG4iICAgICAgICAgICAgLyogbGVuID0gdGhpcy52YWwgKi8KLSIgICAgICAgIG1vdmwgICAgJSVlY3gsIDY0KCUlZXNwKVxuIiAgICAgIC8qIHNhdmUgbGVuICovCi0iICAgICAgICBtb3ZiICAgICUlYWwsICUlY2xcbiIKLQotIiAgICAgICAgdGVzdGIgICAkMTYsICUlYWxcbiIKLSIgICAgICAgIGp6ICAgICAgLkxfdGVzdF9mb3Jfc2Vjb25kX2xldmVsX2xlbmd0aFxuIiAvKiBpZiAoKG9wICYgMTYpID09IDApIDglICovCi0iICAgICAgICBhbmRiICAgICQxNSwgJSVjbFxuIiAgICAgICAgICAgICAvKiBvcCAmPSAxNSAqLwotIiAgICAgICAganogICAgICAuTF9kZWNvZGVfZGlzdGFuY2VcbiIgICAgLyogaWYgKCFvcCkgKi8KLSIgICAgICAgIGNtcGIgICAgJSVjbCwgJSVibFxuIgotIiAgICAgICAgamFlICAgICAuTF9hZGRfYml0c190b19sZW5cbiIgICAgLyogaWYgKG9wIDw9IGJpdHMpICovCi0KLSIgICAgICAgIG1vdmIgICAgJSVjbCwgJSVjaFxuIiAgICAgICAgICAgIC8qIHN0YXNoIG9wIGluIGNoLCBmcmVlaW5nIGNsICovCi0iICAgICAgICB4b3JsICAgICUlZWF4LCAlJWVheFxuIgotIiAgICAgICAgbG9kc3dcbiIgICAgICAgICAgICAgICAgICAgICAgICAgLyogYWwgPSAqKHVzaG9ydCAqKWluKysgKi8KLSIgICAgICAgIG1vdmIgICAgJSVibCwgJSVjbFxuIiAgICAgICAgICAgIC8qIGNsID0gYml0cywgbmVlZHMgaXQgZm9yIHNoaWZ0aW5nICovCi0iICAgICAgICBhZGRiICAgICQxNiwgJSVibFxuIiAgICAgICAgICAgICAvKiBiaXRzICs9IDE2ICovCi0iICAgICAgICBzaGxsICAgICUlY2wsICUlZWF4XG4iCi0iICAgICAgICBvcmwgICAgICUlZWF4LCAlJWVkeFxuIiAgICAgICAgIC8qIGhvbGQgfD0gKigodXNob3J0ICopaW4pKysgPDwgYml0cyAqLwotIiAgICAgICAgbW92YiAgICAlJWNoLCAlJWNsXG4iICAgICAgICAgICAgLyogbW92ZSBvcCBiYWNrIHRvIGVjeCAqLwotCi0iLkxfYWRkX2JpdHNfdG9fbGVuOlxuIgotIiAgICAgICAgc3ViYiAgICAlJWNsLCAlJWJsXG4iCi0iICAgICAgICB4b3JsICAgICUlZWF4LCAlJWVheFxuIgotIiAgICAgICAgaW5jbCAgICAlJWVheFxuIgotIiAgICAgICAgc2hsbCAgICAlJWNsLCAlJWVheFxuIgotIiAgICAgICAgZGVjbCAgICAlJWVheFxuIgotIiAgICAgICAgYW5kbCAgICAlJWVkeCwgJSVlYXhcbiIgICAgICAgICAgLyogZWF4ICY9IGhvbGQgKi8KLSIgICAgICAgIHNocmwgICAgJSVjbCwgJSVlZHhcbiIKLSIgICAgICAgIGFkZGwgICAgJSVlYXgsIDY0KCUlZXNwKVxuIiAgICAgIC8qIGxlbiArPSBob2xkICYgbWFza1tvcF0gKi8KLQotIi5MX2RlY29kZV9kaXN0YW5jZTpcbiIKLSIgICAgICAgIGNtcGIgICAgJDE1LCAlJWJsXG4iCi0iICAgICAgICBqYSAgICAgIC5MX2dldF9kaXN0YW5jZV9jb2RlXG4iICAvKiBpZiAoMTUgPCBiaXRzKSAqLwotCi0iICAgICAgICB4b3JsICAgICUlZWF4LCAlJWVheFxuIgotIiAgICAgICAgbG9kc3dcbiIgICAgICAgICAgICAgICAgICAgICAgICAgLyogYWwgPSAqKHVzaG9ydCAqKWluKysgKi8KLSIgICAgICAgIG1vdmIgICAgJSVibCwgJSVjbFxuIiAgICAgICAgICAgIC8qIGNsID0gYml0cywgbmVlZHMgaXQgZm9yIHNoaWZ0aW5nICovCi0iICAgICAgICBhZGRiICAgICQxNiwgJSVibFxuIiAgICAgICAgICAgICAvKiBiaXRzICs9IDE2ICovCi0iICAgICAgICBzaGxsICAgICUlY2wsICUlZWF4XG4iCi0iICAgICAgICBvcmwgICAgICUlZWF4LCAlJWVkeFxuIiAgICAgICAgIC8qIGhvbGQgfD0gKigodXNob3J0ICopaW4pKysgPDwgYml0cyAqLwotCi0iLkxfZ2V0X2Rpc3RhbmNlX2NvZGU6XG4iCi0iICAgICAgICBtb3ZsICAgIDYwKCUlZXNwKSwgJSVlYXhcbiIgICAgICAvKiBlYXggPSBkbWFzayAqLwotIiAgICAgICAgbW92bCAgICAzNiglJWVzcCksICUlZWN4XG4iICAgICAgLyogZWN4ID0gZGNvZGUgKi8KLSIgICAgICAgIGFuZGwgICAgJSVlZHgsICUlZWF4XG4iICAgICAgICAgIC8qIGVheCAmPSBob2xkICovCi0iICAgICAgICBtb3ZsICAgICglJWVjeCwlJWVheCw0KSwgJSVlYXhcbiIvKiBlYXggPSBkY29kZVtob2xkICYgZG1hc2tdICovCi0KLSIuTF9kb2Rpc3Q6XG4iCi0iICAgICAgICBtb3ZsICAgICUlZWF4LCAlJWVicFxuIiAgICAgICAgICAvKiBkaXN0ID0gdGhpcyAqLwotIiAgICAgICAgc2hybCAgICAkMTYsICUlZWJwXG4iICAgICAgICAgICAgLyogZGlzdCA9IHRoaXMudmFsICovCi0iICAgICAgICBtb3ZiICAgICUlYWgsICUlY2xcbiIKLSIgICAgICAgIHN1YmIgICAgJSVhaCwgJSVibFxuIiAgICAgICAgICAgIC8qIGJpdHMgLT0gdGhpcy5iaXRzICovCi0iICAgICAgICBzaHJsICAgICUlY2wsICUlZWR4XG4iICAgICAgICAgICAvKiBob2xkID4+PSB0aGlzLmJpdHMgKi8KLSIgICAgICAgIG1vdmIgICAgJSVhbCwgJSVjbFxuIiAgICAgICAgICAgIC8qIGNsID0gdGhpcy5vcCAqLwotCi0iICAgICAgICB0ZXN0YiAgICQxNiwgJSVhbFxuIiAgICAgICAgICAgICAvKiBpZiAoKG9wICYgMTYpID09IDApICovCi0iICAgICAgICBqeiAgICAgIC5MX3Rlc3RfZm9yX3NlY29uZF9sZXZlbF9kaXN0XG4iCi0iICAgICAgICBhbmRiICAgICQxNSwgJSVjbFxuIiAgICAgICAgICAgICAvKiBvcCAmPSAxNSAqLwotIiAgICAgICAganogICAgICAuTF9jaGVja19kaXN0X29uZVxuIgotIiAgICAgICAgY21wYiAgICAlJWNsLCAlJWJsXG4iCi0iICAgICAgICBqYWUgICAgIC5MX2FkZF9iaXRzX3RvX2Rpc3RcbiIgICAvKiBpZiAob3AgPD0gYml0cykgOTcuNiUgKi8KLQotIiAgICAgICAgbW92YiAgICAlJWNsLCAlJWNoXG4iICAgICAgICAgICAgLyogc3Rhc2ggb3AgaW4gY2gsIGZyZWVpbmcgY2wgKi8KLSIgICAgICAgIHhvcmwgICAgJSVlYXgsICUlZWF4XG4iCi0iICAgICAgICBsb2Rzd1xuIiAgICAgICAgICAgICAgICAgICAgICAgICAvKiBhbCA9ICoodXNob3J0ICopaW4rKyAqLwotIiAgICAgICAgbW92YiAgICAlJWJsLCAlJWNsXG4iICAgICAgICAgICAgLyogY2wgPSBiaXRzLCBuZWVkcyBpdCBmb3Igc2hpZnRpbmcgKi8KLSIgICAgICAgIGFkZGIgICAgJDE2LCAlJWJsXG4iICAgICAgICAgICAgIC8qIGJpdHMgKz0gMTYgKi8KLSIgICAgICAgIHNobGwgICAgJSVjbCwgJSVlYXhcbiIKLSIgICAgICAgIG9ybCAgICAgJSVlYXgsICUlZWR4XG4iICAgICAgICAvKiBob2xkIHw9ICooKHVzaG9ydCAqKWluKSsrIDw8IGJpdHMgKi8KLSIgICAgICAgIG1vdmIgICAgJSVjaCwgJSVjbFxuIiAgICAgICAgICAgIC8qIG1vdmUgb3AgYmFjayB0byBlY3ggKi8KLQotIi5MX2FkZF9iaXRzX3RvX2Rpc3Q6XG4iCi0iICAgICAgICBzdWJiICAgICUlY2wsICUlYmxcbiIKLSIgICAgICAgIHhvcmwgICAgJSVlYXgsICUlZWF4XG4iCi0iICAgICAgICBpbmNsICAgICUlZWF4XG4iCi0iICAgICAgICBzaGxsICAgICUlY2wsICUlZWF4XG4iCi0iICAgICAgICBkZWNsICAgICUlZWF4XG4iICAgICAgICAgICAgICAgICAvKiAoMSA8PCBvcCkgLSAxICovCi0iICAgICAgICBhbmRsICAgICUlZWR4LCAlJWVheFxuIiAgICAgICAgICAvKiBlYXggJj0gaG9sZCAqLwotIiAgICAgICAgc2hybCAgICAlJWNsLCAlJWVkeFxuIgotIiAgICAgICAgYWRkbCAgICAlJWVheCwgJSVlYnBcbiIgICAgICAgICAgLyogZGlzdCArPSBob2xkICYgKCgxIDw8IG9wKSAtIDEpICovCi0KLSIuTF9jaGVja193aW5kb3c6XG4iCi0iICAgICAgICBtb3ZsICAgICUlZXNpLCA4KCUlZXNwKVxuIiAgICAgICAvKiBzYXZlIGluIHNvIGZyb20gY2FuIHVzZSBpdCdzIHJlZyAqLwotIiAgICAgICAgbW92bCAgICAlJWVkaSwgJSVlYXhcbiIKLSIgICAgICAgIHN1YmwgICAgMjAoJSVlc3ApLCAlJWVheFxuIiAgICAgIC8qIG5ieXRlcyA9IG91dCAtIGJlZyAqLwotCi0iICAgICAgICBjbXBsICAgICUlZWJwLCAlJWVheFxuIgotIiAgICAgICAgamIgICAgICAuTF9jbGlwX3dpbmRvd1xuIiAgICAgICAgLyogaWYgKGRpc3QgPiBuYnl0ZXMpIDQuMiUgKi8KLQotIiAgICAgICAgbW92bCAgICA2NCglJWVzcCksICUlZWN4XG4iICAgICAgLyogZWN4ID0gbGVuICovCi0iICAgICAgICBtb3ZsICAgICUlZWRpLCAlJWVzaVxuIgotIiAgICAgICAgc3VibCAgICAlJWVicCwgJSVlc2lcbiIgICAgICAgICAgLyogZnJvbSA9IG91dCAtIGRpc3QgKi8KLQotIiAgICAgICAgc2FybCAgICAlJWVjeFxuIgotIiAgICAgICAgam5jICAgICAuTF9jb3B5X3R3b1xuIiAgICAgICAgICAgLyogaWYgbGVuICUgMiA9PSAwICovCi0KLSIgICAgICAgIHJlcCAgICAgbW92c3dcbiIKLSIgICAgICAgIG1vdmIgICAgKCUlZXNpKSwgJSVhbFxuIgotIiAgICAgICAgbW92YiAgICAlJWFsLCAoJSVlZGkpXG4iCi0iICAgICAgICBpbmNsICAgICUlZWRpXG4iCi0KLSIgICAgICAgIG1vdmwgICAgOCglJWVzcCksICUlZXNpXG4iICAgICAgIC8qIG1vdmUgaW4gYmFjayB0byAlZXNpLCB0b3NzIGZyb20gKi8KLSIgICAgICAgIG1vdmwgICAgMzIoJSVlc3ApLCAlJWVicFxuIiAgICAgIC8qIGVicCA9IGxjb2RlICovCi0iICAgICAgICBqbXAgICAgIC5MX3doaWxlX3Rlc3RcbiIKLQotIi5MX2NvcHlfdHdvOlxuIgotIiAgICAgICAgcmVwICAgICBtb3Zzd1xuIgotIiAgICAgICAgbW92bCAgICA4KCUlZXNwKSwgJSVlc2lcbiIgICAgICAgLyogbW92ZSBpbiBiYWNrIHRvICVlc2ksIHRvc3MgZnJvbSAqLwotIiAgICAgICAgbW92bCAgICAzMiglJWVzcCksICUlZWJwXG4iICAgICAgLyogZWJwID0gbGNvZGUgKi8KLSIgICAgICAgIGptcCAgICAgLkxfd2hpbGVfdGVzdFxuIgotCi0iLmFsaWduIDMyLDB4OTBcbiIKLSIuTF9jaGVja19kaXN0X29uZTpcbiIKLSIgICAgICAgIGNtcGwgICAgJDEsICUlZWJwXG4iICAgICAgICAgICAgLyogaWYgZGlzdCAxLCBpcyBhIG1lbXNldCAqLwotIiAgICAgICAgam5lICAgICAuTF9jaGVja193aW5kb3dcbiIKLSIgICAgICAgIGNtcGwgICAgJSVlZGksIDIwKCUlZXNwKVxuIgotIiAgICAgICAgamUgICAgICAuTF9jaGVja193aW5kb3dcbiIgICAgICAvKiBvdXQgPT0gYmVnLCBpZiBvdXRzaWRlIHdpbmRvdyAqLwotCi0iICAgICAgICBtb3ZsICAgIDY0KCUlZXNwKSwgJSVlY3hcbiIgICAgICAvKiBlY3ggPSBsZW4gKi8KLSIgICAgICAgIG1vdmIgICAgLTEoJSVlZGkpLCAlJWFsXG4iCi0iICAgICAgICBtb3ZiICAgICUlYWwsICUlYWhcbiIKLQotIiAgICAgICAgc2FybCAgICAlJWVjeFxuIgotIiAgICAgICAgam5jICAgICAuTF9zZXRfdHdvXG4iCi0iICAgICAgICBtb3ZiICAgICUlYWwsICglJWVkaSlcbiIKLSIgICAgICAgIGluY2wgICAgJSVlZGlcbiIKLQotIi5MX3NldF90d286XG4iCi0iICAgICAgICByZXAgICAgIHN0b3N3XG4iCi0iICAgICAgICBtb3ZsICAgIDMyKCUlZXNwKSwgJSVlYnBcbiIgICAgICAvKiBlYnAgPSBsY29kZSAqLwotIiAgICAgICAgam1wICAgICAuTF93aGlsZV90ZXN0XG4iCi0KLSIuYWxpZ24gMzIsMHg5MFxuIgotIi5MX3Rlc3RfZm9yX3NlY29uZF9sZXZlbF9sZW5ndGg6XG4iCi0iICAgICAgICB0ZXN0YiAgICQ2NCwgJSVhbFxuIgotIiAgICAgICAgam56ICAgICAuTF90ZXN0X2Zvcl9lbmRfb2ZfYmxvY2tcbiIgLyogaWYgKChvcCAmIDY0KSAhPSAwKSAqLwotCi0iICAgICAgICB4b3JsICAgICUlZWF4LCAlJWVheFxuIgotIiAgICAgICAgaW5jbCAgICAlJWVheFxuIgotIiAgICAgICAgc2hsbCAgICAlJWNsLCAlJWVheFxuIgotIiAgICAgICAgZGVjbCAgICAlJWVheFxuIgotIiAgICAgICAgYW5kbCAgICAlJWVkeCwgJSVlYXhcbiIgICAgICAgICAvKiBlYXggJj0gaG9sZCAqLwotIiAgICAgICAgYWRkbCAgICA2NCglJWVzcCksICUlZWF4XG4iICAgICAvKiBlYXggKz0gbGVuICovCi0iICAgICAgICBtb3ZsICAgICglJWVicCwlJWVheCw0KSwgJSVlYXhcbiIgLyogZWF4ID0gbGNvZGVbdmFsKyhob2xkJm1hc2tbb3BdKV0qLwotIiAgICAgICAgam1wICAgICAuTF9kb2xlblxuIgotCi0iLmFsaWduIDMyLDB4OTBcbiIKLSIuTF90ZXN0X2Zvcl9zZWNvbmRfbGV2ZWxfZGlzdDpcbiIKLSIgICAgICAgIHRlc3RiICAgJDY0LCAlJWFsXG4iCi0iICAgICAgICBqbnogICAgIC5MX2ludmFsaWRfZGlzdGFuY2VfY29kZVxuIiAvKiBpZiAoKG9wICYgNjQpICE9IDApICovCi0KLSIgICAgICAgIHhvcmwgICAgJSVlYXgsICUlZWF4XG4iCi0iICAgICAgICBpbmNsICAgICUlZWF4XG4iCi0iICAgICAgICBzaGxsICAgICUlY2wsICUlZWF4XG4iCi0iICAgICAgICBkZWNsICAgICUlZWF4XG4iCi0iICAgICAgICBhbmRsICAgICUlZWR4LCAlJWVheFxuIiAgICAgICAgIC8qIGVheCAmPSBob2xkICovCi0iICAgICAgICBhZGRsICAgICUlZWJwLCAlJWVheFxuIiAgICAgICAgIC8qIGVheCArPSBkaXN0ICovCi0iICAgICAgICBtb3ZsICAgIDM2KCUlZXNwKSwgJSVlY3hcbiIgICAgIC8qIGVjeCA9IGRjb2RlICovCi0iICAgICAgICBtb3ZsICAgICglJWVjeCwlJWVheCw0KSwgJSVlYXhcbiIgLyogZWF4ID0gZGNvZGVbdmFsKyhob2xkJm1hc2tbb3BdKV0qLwotIiAgICAgICAgam1wICAgICAuTF9kb2Rpc3RcbiIKLQotIi5hbGlnbiAzMiwweDkwXG4iCi0iLkxfY2xpcF93aW5kb3c6XG4iCi0iICAgICAgICBtb3ZsICAgICUlZWF4LCAlJWVjeFxuIgotIiAgICAgICAgbW92bCAgICA0OCglJWVzcCksICUlZWF4XG4iICAgICAvKiBlYXggPSB3c2l6ZSAqLwotIiAgICAgICAgbmVnbCAgICAlJWVjeFxuIiAgICAgICAgICAgICAgICAvKiBuYnl0ZXMgPSAtbmJ5dGVzICovCi0iICAgICAgICBtb3ZsICAgIDI4KCUlZXNwKSwgJSVlc2lcbiIgICAgIC8qIGZyb20gPSB3aW5kb3cgKi8KLQotIiAgICAgICAgY21wbCAgICAlJWVicCwgJSVlYXhcbiIKLSIgICAgICAgIGpiICAgICAgLkxfaW52YWxpZF9kaXN0YW5jZV90b29fZmFyXG4iIC8qIGlmIChkaXN0ID4gd3NpemUpICovCi0KLSIgICAgICAgIGFkZGwgICAgJSVlYnAsICUlZWN4XG4iICAgICAgICAgLyogbmJ5dGVzID0gZGlzdCAtIG5ieXRlcyAqLwotIiAgICAgICAgY21wbCAgICAkMCwgNTIoJSVlc3ApXG4iCi0iICAgICAgICBqbmUgICAgIC5MX3dyYXBfYXJvdW5kX3dpbmRvd1xuIiAvKiBpZiAod3JpdGUgIT0gMCkgKi8KLQotIiAgICAgICAgc3VibCAgICAlJWVjeCwgJSVlYXhcbiIKLSIgICAgICAgIGFkZGwgICAgJSVlYXgsICUlZXNpXG4iICAgICAgICAgLyogZnJvbSArPSB3c2l6ZSAtIG5ieXRlcyAqLwotCi0iICAgICAgICBtb3ZsICAgIDY0KCUlZXNwKSwgJSVlYXhcbiIgICAgIC8qIGVheCA9IGxlbiAqLwotIiAgICAgICAgY21wbCAgICAlJWVjeCwgJSVlYXhcbiIKLSIgICAgICAgIGpiZSAgICAgLkxfZG9fY29weVxuIiAgICAgICAgICAgLyogaWYgKG5ieXRlcyA+PSBsZW4pICovCi0KLSIgICAgICAgIHN1YmwgICAgJSVlY3gsICUlZWF4XG4iICAgICAgICAgLyogbGVuIC09IG5ieXRlcyAqLwotIiAgICAgICAgcmVwICAgICBtb3ZzYlxuIgotIiAgICAgICAgbW92bCAgICAlJWVkaSwgJSVlc2lcbiIKLSIgICAgICAgIHN1YmwgICAgJSVlYnAsICUlZXNpXG4iICAgICAgICAgLyogZnJvbSA9IG91dCAtIGRpc3QgKi8KLSIgICAgICAgIGptcCAgICAgLkxfZG9fY29weVxuIgotCi0iLmFsaWduIDMyLDB4OTBcbiIKLSIuTF93cmFwX2Fyb3VuZF93aW5kb3c6XG4iCi0iICAgICAgICBtb3ZsICAgIDUyKCUlZXNwKSwgJSVlYXhcbiIgICAgIC8qIGVheCA9IHdyaXRlICovCi0iICAgICAgICBjbXBsICAgICUlZWF4LCAlJWVjeFxuIgotIiAgICAgICAgamJlICAgICAuTF9jb250aWd1b3VzX2luX3dpbmRvd1xuIiAvKiBpZiAod3JpdGUgPj0gbmJ5dGVzKSAqLwotCi0iICAgICAgICBhZGRsICAgIDQ4KCUlZXNwKSwgJSVlc2lcbiIgICAgIC8qIGZyb20gKz0gd3NpemUgKi8KLSIgICAgICAgIGFkZGwgICAgJSVlYXgsICUlZXNpXG4iICAgICAgICAgLyogZnJvbSArPSB3cml0ZSAqLwotIiAgICAgICAgc3VibCAgICAlJWVjeCwgJSVlc2lcbiIgICAgICAgICAvKiBmcm9tIC09IG5ieXRlcyAqLwotIiAgICAgICAgc3VibCAgICAlJWVheCwgJSVlY3hcbiIgICAgICAgICAvKiBuYnl0ZXMgLT0gd3JpdGUgKi8KLQotIiAgICAgICAgbW92bCAgICA2NCglJWVzcCksICUlZWF4XG4iICAgICAvKiBlYXggPSBsZW4gKi8KLSIgICAgICAgIGNtcGwgICAgJSVlY3gsICUlZWF4XG4iCi0iICAgICAgICBqYmUgICAgIC5MX2RvX2NvcHlcbiIgICAgICAgICAgIC8qIGlmIChuYnl0ZXMgPj0gbGVuKSAqLwotCi0iICAgICAgICBzdWJsICAgICUlZWN4LCAlJWVheFxuIiAgICAgICAgIC8qIGxlbiAtPSBuYnl0ZXMgKi8KLSIgICAgICAgIHJlcCAgICAgbW92c2JcbiIKLSIgICAgICAgIG1vdmwgICAgMjgoJSVlc3ApLCAlJWVzaVxuIiAgICAgLyogZnJvbSA9IHdpbmRvdyAqLwotIiAgICAgICAgbW92bCAgICA1MiglJWVzcCksICUlZWN4XG4iICAgICAvKiBuYnl0ZXMgPSB3cml0ZSAqLwotIiAgICAgICAgY21wbCAgICAlJWVjeCwgJSVlYXhcbiIKLSIgICAgICAgIGpiZSAgICAgLkxfZG9fY29weVxuIiAgICAgICAgICAgLyogaWYgKG5ieXRlcyA+PSBsZW4pICovCi0KLSIgICAgICAgIHN1YmwgICAgJSVlY3gsICUlZWF4XG4iICAgICAgICAgLyogbGVuIC09IG5ieXRlcyAqLwotIiAgICAgICAgcmVwICAgICBtb3ZzYlxuIgotIiAgICAgICAgbW92bCAgICAlJWVkaSwgJSVlc2lcbiIKLSIgICAgICAgIHN1YmwgICAgJSVlYnAsICUlZXNpXG4iICAgICAgICAgLyogZnJvbSA9IG91dCAtIGRpc3QgKi8KLSIgICAgICAgIGptcCAgICAgLkxfZG9fY29weVxuIgotCi0iLmFsaWduIDMyLDB4OTBcbiIKLSIuTF9jb250aWd1b3VzX2luX3dpbmRvdzpcbiIKLSIgICAgICAgIGFkZGwgICAgJSVlYXgsICUlZXNpXG4iCi0iICAgICAgICBzdWJsICAgICUlZWN4LCAlJWVzaVxuIiAgICAgICAgIC8qIGZyb20gKz0gd3JpdGUgLSBuYnl0ZXMgKi8KLQotIiAgICAgICAgbW92bCAgICA2NCglJWVzcCksICUlZWF4XG4iICAgICAvKiBlYXggPSBsZW4gKi8KLSIgICAgICAgIGNtcGwgICAgJSVlY3gsICUlZWF4XG4iCi0iICAgICAgICBqYmUgICAgIC5MX2RvX2NvcHlcbiIgICAgICAgICAgIC8qIGlmIChuYnl0ZXMgPj0gbGVuKSAqLwotCi0iICAgICAgICBzdWJsICAgICUlZWN4LCAlJWVheFxuIiAgICAgICAgIC8qIGxlbiAtPSBuYnl0ZXMgKi8KLSIgICAgICAgIHJlcCAgICAgbW92c2JcbiIKLSIgICAgICAgIG1vdmwgICAgJSVlZGksICUlZXNpXG4iCi0iICAgICAgICBzdWJsICAgICUlZWJwLCAlJWVzaVxuIiAgICAgICAgIC8qIGZyb20gPSBvdXQgLSBkaXN0ICovCi0iICAgICAgICBqbXAgICAgIC5MX2RvX2NvcHlcbiIgICAgICAgICAgIC8qIGlmIChuYnl0ZXMgPj0gbGVuKSAqLwotCi0iLmFsaWduIDMyLDB4OTBcbiIKLSIuTF9kb19jb3B5OlxuIgotIiAgICAgICAgbW92bCAgICAlJWVheCwgJSVlY3hcbiIKLSIgICAgICAgIHJlcCAgICAgbW92c2JcbiIKLQotIiAgICAgICAgbW92bCAgICA4KCUlZXNwKSwgJSVlc2lcbiIgICAgICAvKiBtb3ZlIGluIGJhY2sgdG8gJWVzaSwgdG9zcyBmcm9tICovCi0iICAgICAgICBtb3ZsICAgIDMyKCUlZXNwKSwgJSVlYnBcbiIgICAgIC8qIGVicCA9IGxjb2RlICovCi0iICAgICAgICBqbXAgICAgIC5MX3doaWxlX3Rlc3RcbiIKLQotIi5MX3Rlc3RfZm9yX2VuZF9vZl9ibG9jazpcbiIKLSIgICAgICAgIHRlc3RiICAgJDMyLCAlJWFsXG4iCi0iICAgICAgICBqeiAgICAgIC5MX2ludmFsaWRfbGl0ZXJhbF9sZW5ndGhfY29kZVxuIgotIiAgICAgICAgbW92bCAgICAkMSwgNzIoJSVlc3ApXG4iCi0iICAgICAgICBqbXAgICAgIC5MX2JyZWFrX2xvb3Bfd2l0aF9zdGF0dXNcbiIKLQotIi5MX2ludmFsaWRfbGl0ZXJhbF9sZW5ndGhfY29kZTpcbiIKLSIgICAgICAgIG1vdmwgICAgJDIsIDcyKCUlZXNwKVxuIgotIiAgICAgICAgam1wICAgICAuTF9icmVha19sb29wX3dpdGhfc3RhdHVzXG4iCi0KLSIuTF9pbnZhbGlkX2Rpc3RhbmNlX2NvZGU6XG4iCi0iICAgICAgICBtb3ZsICAgICQzLCA3MiglJWVzcClcbiIKLSIgICAgICAgIGptcCAgICAgLkxfYnJlYWtfbG9vcF93aXRoX3N0YXR1c1xuIgotCi0iLkxfaW52YWxpZF9kaXN0YW5jZV90b29fZmFyOlxuIgotIiAgICAgICAgbW92bCAgICA4KCUlZXNwKSwgJSVlc2lcbiIKLSIgICAgICAgIG1vdmwgICAgJDQsIDcyKCUlZXNwKVxuIgotIiAgICAgICAgam1wICAgICAuTF9icmVha19sb29wX3dpdGhfc3RhdHVzXG4iCi0KLSIuTF9icmVha19sb29wOlxuIgotIiAgICAgICAgbW92bCAgICAkMCwgNzIoJSVlc3ApXG4iCi0KLSIuTF9icmVha19sb29wX3dpdGhfc3RhdHVzOlxuIgotLyogcHV0IGluLCBvdXQsIGJpdHMsIGFuZCBob2xkIGJhY2sgaW50byBhciBhbmQgcG9wIGVzcCAqLwotIiAgICAgICAgbW92bCAgICAlJWVzaSwgOCglJWVzcClcbiIgICAgICAvKiBzYXZlIGluICovCi0iICAgICAgICBtb3ZsICAgICUlZWRpLCAxNiglJWVzcClcbiIgICAgIC8qIHNhdmUgb3V0ICovCi0iICAgICAgICBtb3ZsICAgICUlZWJ4LCA0NCglJWVzcClcbiIgICAgIC8qIHNhdmUgYml0cyAqLwotIiAgICAgICAgbW92bCAgICAlJWVkeCwgNDAoJSVlc3ApXG4iICAgICAvKiBzYXZlIGhvbGQgKi8KLSIgICAgICAgIG1vdmwgICAgNCglJWVzcCksICUlZWJwXG4iICAgICAgLyogcmVzdG9yZSBlc3AsIGVicCAqLwotIiAgICAgICAgbW92bCAgICAoJSVlc3ApLCAlJWVzcFxuIgotICAgICAgICAgIDoKLSAgICAgICAgICA6ICJtIiAoYXIpCi0gICAgICAgICAgOiAibWVtb3J5IiwgIiVlYXgiLCAiJWVieCIsICIlZWN4IiwgIiVlZHgiLCAiJWVzaSIsICIlZWRpIgotICAgICk7Ci0jZWxpZiBkZWZpbmVkKCBfTVNDX1ZFUiApICYmICEgZGVmaW5lZCggX01fQU1ENjQgKQotICAgIF9fYXNtIHsKLQlsZWEJZWF4LCBhcgotCW1vdglbZWF4XSwgZXNwICAgICAgICAgLyogc2F2ZSBlc3AsIGVicCAqLwotCW1vdglbZWF4KzRdLCBlYnAKLQltb3YJZXNwLCBlYXgKLQltb3YJZXNpLCBbZXNwKzhdICAgICAgIC8qIGVzaSA9IGluICovCi0JbW92CWVkaSwgW2VzcCsxNl0gICAgICAvKiBlZGkgPSBvdXQgKi8KLQltb3YJZWR4LCBbZXNwKzQwXSAgICAgIC8qIGVkeCA9IGhvbGQgKi8KLQltb3YJZWJ4LCBbZXNwKzQ0XSAgICAgIC8qIGVieCA9IGJpdHMgKi8KLQltb3YJZWJwLCBbZXNwKzMyXSAgICAgIC8qIGVicCA9IGxjb2RlICovCi0KLQljbGQKLQlqbXAJTF9kb19sb29wCi0KLUFMSUdOIDQKLUxfd2hpbGVfdGVzdDoKLQljbXAJW2VzcCsyNF0sIGVkaQotCWpiZQlMX2JyZWFrX2xvb3AKLQljbXAJW2VzcCsxMl0sIGVzaQotCWpiZQlMX2JyZWFrX2xvb3AKLQotTF9kb19sb29wOgotCWNtcAlibCwgMTUKLQlqYQlMX2dldF9sZW5ndGhfY29kZSAgICAvKiBpZiAoMTUgPCBiaXRzKSAqLwotCi0JeG9yCWVheCwgZWF4Ci0JbG9kc3cgICAgICAgICAgICAgICAgICAgICAgICAgLyogYWwgPSAqKHVzaG9ydCAqKWluKysgKi8KLQltb3YJY2wsIGJsICAgICAgICAgICAgLyogY2wgPSBiaXRzLCBuZWVkcyBpdCBmb3Igc2hpZnRpbmcgKi8KLQlhZGQJYmwsIDE2ICAgICAgICAgICAgIC8qIGJpdHMgKz0gMTYgKi8KLQlzaGwJZWF4LCBjbAotCW9yCWVkeCwgZWF4ICAgICAgICAvKiBob2xkIHw9ICooKHVzaG9ydCAqKWluKSsrIDw8IGJpdHMgKi8KLQotTF9nZXRfbGVuZ3RoX2NvZGU6Ci0JbW92CWVheCwgW2VzcCs1Nl0gICAgICAvKiBlYXggPSBsbWFzayAqLwotCWFuZAllYXgsIGVkeCAgICAgICAgICAvKiBlYXggJj0gaG9sZCAqLwotCW1vdgllYXgsIFtlYnArZWF4KjRdIC8qIGVheCA9IGxjb2RlW2hvbGQgJiBsbWFza10gKi8KLQotTF9kb2xlbjoKLQltb3YJY2wsIGFoICAgICAgICAgICAgLyogY2wgPSB0aGlzLmJpdHMgKi8KLQlzdWIJYmwsIGFoICAgICAgICAgICAgLyogYml0cyAtPSB0aGlzLmJpdHMgKi8KLQlzaHIJZWR4LCBjbCAgICAgICAgICAgLyogaG9sZCA+Pj0gdGhpcy5iaXRzICovCi0KLQl0ZXN0CWFsLCBhbAotCWpueglMX3Rlc3RfZm9yX2xlbmd0aF9iYXNlIC8qIGlmIChvcCAhPSAwKSA0NS43JSAqLwotCi0Jc2hyCWVheCwgMTYgICAgICAgICAgICAvKiBvdXRwdXQgdGhpcy52YWwgY2hhciAqLwotCXN0b3NiCi0Jam1wCUxfd2hpbGVfdGVzdAotCi1BTElHTiA0Ci1MX3Rlc3RfZm9yX2xlbmd0aF9iYXNlOgotCW1vdgllY3gsIGVheCAgICAgICAgICAvKiBsZW4gPSB0aGlzICovCi0Jc2hyCWVjeCwgMTYgICAgICAgICAgICAvKiBsZW4gPSB0aGlzLnZhbCAqLwotCW1vdglbZXNwKzY0XSwgZWN4ICAgICAgLyogc2F2ZSBsZW4gKi8KLQltb3YJY2wsIGFsCi0KLQl0ZXN0CWFsLCAxNgotCWp6CUxfdGVzdF9mb3Jfc2Vjb25kX2xldmVsX2xlbmd0aCAvKiBpZiAoKG9wICYgMTYpID09IDApIDglICovCi0JYW5kCWNsLCAxNSAgICAgICAgICAgICAvKiBvcCAmPSAxNSAqLwotCWp6CUxfZGVjb2RlX2Rpc3RhbmNlICAgIC8qIGlmICghb3ApICovCi0JY21wCWJsLCBjbAotCWphZQlMX2FkZF9iaXRzX3RvX2xlbiAgICAvKiBpZiAob3AgPD0gYml0cykgKi8KLQotCW1vdgljaCwgY2wgICAgICAgICAgICAvKiBzdGFzaCBvcCBpbiBjaCwgZnJlZWluZyBjbCAqLwotCXhvcgllYXgsIGVheAotCWxvZHN3ICAgICAgICAgICAgICAgICAgICAgICAgIC8qIGFsID0gKih1c2hvcnQgKilpbisrICovCi0JbW92CWNsLCBibCAgICAgICAgICAgIC8qIGNsID0gYml0cywgbmVlZHMgaXQgZm9yIHNoaWZ0aW5nICovCi0JYWRkCWJsLCAxNiAgICAgICAgICAgICAvKiBiaXRzICs9IDE2ICovCi0Jc2hsCWVheCwgY2wKLQlvcgllZHgsIGVheCAgICAgICAgIC8qIGhvbGQgfD0gKigodXNob3J0ICopaW4pKysgPDwgYml0cyAqLwotCW1vdgljbCwgY2ggICAgICAgICAgICAvKiBtb3ZlIG9wIGJhY2sgdG8gZWN4ICovCi0KLUxfYWRkX2JpdHNfdG9fbGVuOgotCXN1YglibCwgY2wKLQl4b3IJZWF4LCBlYXgKLQlpbmMJZWF4Ci0Jc2hsCWVheCwgY2wKLQlkZWMJZWF4Ci0JYW5kCWVheCwgZWR4ICAgICAgICAgIC8qIGVheCAmPSBob2xkICovCi0Jc2hyCWVkeCwgY2wKLQlhZGQJW2VzcCs2NF0sIGVheCAgICAgIC8qIGxlbiArPSBob2xkICYgbWFza1tvcF0gKi8KLQotTF9kZWNvZGVfZGlzdGFuY2U6Ci0JY21wCWJsLCAxNQotCWphCUxfZ2V0X2Rpc3RhbmNlX2NvZGUgIC8qIGlmICgxNSA8IGJpdHMpICovCi0KLQl4b3IJZWF4LCBlYXgKLQlsb2RzdyAgICAgICAgICAgICAgICAgICAgICAgICAvKiBhbCA9ICoodXNob3J0ICopaW4rKyAqLwotCW1vdgljbCwgYmwgICAgICAgICAgICAvKiBjbCA9IGJpdHMsIG5lZWRzIGl0IGZvciBzaGlmdGluZyAqLwotCWFkZAlibCwgMTYgICAgICAgICAgICAgLyogYml0cyArPSAxNiAqLwotCXNobAllYXgsIGNsCi0Jb3IJZWR4LCBlYXggICAgICAgICAvKiBob2xkIHw9ICooKHVzaG9ydCAqKWluKSsrIDw8IGJpdHMgKi8KLQotTF9nZXRfZGlzdGFuY2VfY29kZToKLQltb3YJZWF4LCBbZXNwKzYwXSAgICAgIC8qIGVheCA9IGRtYXNrICovCi0JbW92CWVjeCwgW2VzcCszNl0gICAgICAvKiBlY3ggPSBkY29kZSAqLwotCWFuZAllYXgsIGVkeCAgICAgICAgICAvKiBlYXggJj0gaG9sZCAqLwotCW1vdgllYXgsIFtlY3grZWF4KjRdLyogZWF4ID0gZGNvZGVbaG9sZCAmIGRtYXNrXSAqLwotCi1MX2RvZGlzdDoKLQltb3YJZWJwLCBlYXggICAgICAgICAgLyogZGlzdCA9IHRoaXMgKi8KLQlzaHIJZWJwLCAxNiAgICAgICAgICAgIC8qIGRpc3QgPSB0aGlzLnZhbCAqLwotCW1vdgljbCwgYWgKLQlzdWIJYmwsIGFoICAgICAgICAgICAgLyogYml0cyAtPSB0aGlzLmJpdHMgKi8KLQlzaHIJZWR4LCBjbCAgICAgICAgICAgLyogaG9sZCA+Pj0gdGhpcy5iaXRzICovCi0JbW92CWNsLCBhbCAgICAgICAgICAgIC8qIGNsID0gdGhpcy5vcCAqLwotCi0JdGVzdAlhbCwgMTYgICAgICAgICAgICAgLyogaWYgKChvcCAmIDE2KSA9PSAwKSAqLwotCWp6CUxfdGVzdF9mb3Jfc2Vjb25kX2xldmVsX2Rpc3QKLQlhbmQJY2wsIDE1ICAgICAgICAgICAgIC8qIG9wICY9IDE1ICovCi0JanoJTF9jaGVja19kaXN0X29uZQotCWNtcAlibCwgY2wKLQlqYWUJTF9hZGRfYml0c190b19kaXN0ICAgLyogaWYgKG9wIDw9IGJpdHMpIDk3LjYlICovCi0KLQltb3YJY2gsIGNsICAgICAgICAgICAgLyogc3Rhc2ggb3AgaW4gY2gsIGZyZWVpbmcgY2wgKi8KLQl4b3IJZWF4LCBlYXgKLQlsb2RzdyAgICAgICAgICAgICAgICAgICAgICAgICAvKiBhbCA9ICoodXNob3J0ICopaW4rKyAqLwotCW1vdgljbCwgYmwgICAgICAgICAgICAvKiBjbCA9IGJpdHMsIG5lZWRzIGl0IGZvciBzaGlmdGluZyAqLwotCWFkZAlibCwgMTYgICAgICAgICAgICAgLyogYml0cyArPSAxNiAqLwotCXNobAllYXgsIGNsCi0Jb3IJZWR4LCBlYXggICAgICAgIC8qIGhvbGQgfD0gKigodXNob3J0ICopaW4pKysgPDwgYml0cyAqLwotCW1vdgljbCwgY2ggICAgICAgICAgICAvKiBtb3ZlIG9wIGJhY2sgdG8gZWN4ICovCi0KLUxfYWRkX2JpdHNfdG9fZGlzdDoKLQlzdWIJYmwsIGNsCi0JeG9yCWVheCwgZWF4Ci0JaW5jCWVheAotCXNobAllYXgsIGNsCi0JZGVjCWVheCAgICAgICAgICAgICAgICAgLyogKDEgPDwgb3ApIC0gMSAqLwotCWFuZAllYXgsIGVkeCAgICAgICAgICAvKiBlYXggJj0gaG9sZCAqLwotCXNocgllZHgsIGNsCi0JYWRkCWVicCwgZWF4ICAgICAgICAgIC8qIGRpc3QgKz0gaG9sZCAmICgoMSA8PCBvcCkgLSAxKSAqLwotCi1MX2NoZWNrX3dpbmRvdzoKLQltb3YJW2VzcCs4XSwgZXNpICAgICAgIC8qIHNhdmUgaW4gc28gZnJvbSBjYW4gdXNlIGl0J3MgcmVnICovCi0JbW92CWVheCwgZWRpCi0Jc3ViCWVheCwgW2VzcCsyMF0gICAgICAvKiBuYnl0ZXMgPSBvdXQgLSBiZWcgKi8KLQotCWNtcAllYXgsIGVicAotCWpiCUxfY2xpcF93aW5kb3cgICAgICAgIC8qIGlmIChkaXN0ID4gbmJ5dGVzKSA0LjIlICovCi0KLQltb3YJZWN4LCBbZXNwKzY0XSAgICAgIC8qIGVjeCA9IGxlbiAqLwotCW1vdgllc2ksIGVkaQotCXN1Ygllc2ksIGVicCAgICAgICAgICAvKiBmcm9tID0gb3V0IC0gZGlzdCAqLwotCi0Jc2FyCWVjeCwgMQotCWpuYwlMX2NvcHlfdHdvCi0KLQlyZXAgICAgIG1vdnN3Ci0JbW92CWFsLCBbZXNpXQotCW1vdglbZWRpXSwgYWwKLQlpbmMJZWRpCi0KLQltb3YJZXNpLCBbZXNwKzhdICAgICAgLyogbW92ZSBpbiBiYWNrIHRvICVlc2ksIHRvc3MgZnJvbSAqLwotCW1vdgllYnAsIFtlc3ArMzJdICAgICAvKiBlYnAgPSBsY29kZSAqLwotCWptcAlMX3doaWxlX3Rlc3QKLQotTF9jb3B5X3R3bzoKLQlyZXAgICAgIG1vdnN3Ci0JbW92CWVzaSwgW2VzcCs4XSAgICAgIC8qIG1vdmUgaW4gYmFjayB0byAlZXNpLCB0b3NzIGZyb20gKi8KLQltb3YJZWJwLCBbZXNwKzMyXSAgICAgLyogZWJwID0gbGNvZGUgKi8KLQlqbXAJTF93aGlsZV90ZXN0Ci0KLUFMSUdOIDQKLUxfY2hlY2tfZGlzdF9vbmU6Ci0JY21wCWVicCwgMSAgICAgICAgICAgIC8qIGlmIGRpc3QgMSwgaXMgYSBtZW1zZXQgKi8KLQlqbmUJTF9jaGVja193aW5kb3cKLQljbXAJW2VzcCsyMF0sIGVkaQotCWplCUxfY2hlY2tfd2luZG93ICAgIC8qIG91dCA9PSBiZWcsIGlmIG91dHNpZGUgd2luZG93ICovCi0KLQltb3YJZWN4LCBbZXNwKzY0XSAgICAgLyogZWN4ID0gbGVuICovCi0JbW92CWFsLCBbZWRpLTFdCi0JbW92CWFoLCBhbAotCi0Jc2FyCWVjeCwgMQotCWpuYwlMX3NldF90d28KLQltb3YJW2VkaV0sIGFsICAgICAgICAgLyogbWVtc2V0IG91dCB3aXRoIGZyb21bLTFdICovCi0JaW5jCWVkaQotCi1MX3NldF90d286Ci0JcmVwICAgICBzdG9zdwotCW1vdgllYnAsIFtlc3ArMzJdICAgICAvKiBlYnAgPSBsY29kZSAqLwotCWptcAlMX3doaWxlX3Rlc3QKLQotQUxJR04gNAotTF90ZXN0X2Zvcl9zZWNvbmRfbGV2ZWxfbGVuZ3RoOgotCXRlc3QJYWwsIDY0Ci0Jam56CUxfdGVzdF9mb3JfZW5kX29mX2Jsb2NrIC8qIGlmICgob3AgJiA2NCkgIT0gMCkgKi8KLQotCXhvcgllYXgsIGVheAotCWluYwllYXgKLQlzaGwJZWF4LCBjbAotCWRlYwllYXgKLQlhbmQJZWF4LCBlZHggICAgICAgICAvKiBlYXggJj0gaG9sZCAqLwotCWFkZAllYXgsIFtlc3ArNjRdICAgICAvKiBlYXggKz0gbGVuICovCi0JbW92CWVheCwgW2VicCtlYXgqNF0gLyogZWF4ID0gbGNvZGVbdmFsKyhob2xkJm1hc2tbb3BdKV0qLwotCWptcAlMX2RvbGVuCi0KLUFMSUdOIDQKLUxfdGVzdF9mb3Jfc2Vjb25kX2xldmVsX2Rpc3Q6Ci0JdGVzdAlhbCwgNjQKLQlqbnoJTF9pbnZhbGlkX2Rpc3RhbmNlX2NvZGUgLyogaWYgKChvcCAmIDY0KSAhPSAwKSAqLwotCi0JeG9yCWVheCwgZWF4Ci0JaW5jCWVheAotCXNobAllYXgsIGNsCi0JZGVjCWVheAotCWFuZAllYXgsIGVkeCAgICAgICAgIC8qIGVheCAmPSBob2xkICovCi0JYWRkCWVheCwgZWJwICAgICAgICAgLyogZWF4ICs9IGRpc3QgKi8KLQltb3YJZWN4LCBbZXNwKzM2XSAgICAgLyogZWN4ID0gZGNvZGUgKi8KLQltb3YJZWF4LCBbZWN4K2VheCo0XSAvKiBlYXggPSBkY29kZVt2YWwrKGhvbGQmbWFza1tvcF0pXSovCi0Jam1wCUxfZG9kaXN0Ci0KLUFMSUdOIDQKLUxfY2xpcF93aW5kb3c6Ci0JbW92CWVjeCwgZWF4Ci0JbW92CWVheCwgW2VzcCs0OF0gICAgIC8qIGVheCA9IHdzaXplICovCi0JbmVnCWVjeCAgICAgICAgICAgICAgICAvKiBuYnl0ZXMgPSAtbmJ5dGVzICovCi0JbW92CWVzaSwgW2VzcCsyOF0gICAgIC8qIGZyb20gPSB3aW5kb3cgKi8KLQotCWNtcAllYXgsIGVicAotCWpiCUxfaW52YWxpZF9kaXN0YW5jZV90b29fZmFyIC8qIGlmIChkaXN0ID4gd3NpemUpICovCi0KLQlhZGQJZWN4LCBlYnAgICAgICAgICAvKiBuYnl0ZXMgPSBkaXN0IC0gbmJ5dGVzICovCi0JY21wCWR3b3JkIHB0ciBbZXNwKzUyXSwgMAotCWpuZQlMX3dyYXBfYXJvdW5kX3dpbmRvdyAvKiBpZiAod3JpdGUgIT0gMCkgKi8KLQotCXN1YgllYXgsIGVjeAotCWFkZAllc2ksIGVheCAgICAgICAgIC8qIGZyb20gKz0gd3NpemUgLSBuYnl0ZXMgKi8KLQotCW1vdgllYXgsIFtlc3ArNjRdICAgIC8qIGVheCA9IGxlbiAqLwotCWNtcAllYXgsIGVjeAotCWpiZQlMX2RvX2NvcHkgICAgICAgICAgLyogaWYgKG5ieXRlcyA+PSBsZW4pICovCi0KLQlzdWIJZWF4LCBlY3ggICAgICAgICAvKiBsZW4gLT0gbmJ5dGVzICovCi0JcmVwICAgICBtb3ZzYgotCW1vdgllc2ksIGVkaQotCXN1Ygllc2ksIGVicCAgICAgICAgIC8qIGZyb20gPSBvdXQgLSBkaXN0ICovCi0Jam1wCUxfZG9fY29weQotCi1BTElHTiA0Ci1MX3dyYXBfYXJvdW5kX3dpbmRvdzoKLQltb3YJZWF4LCBbZXNwKzUyXSAgICAvKiBlYXggPSB3cml0ZSAqLwotCWNtcAllY3gsIGVheAotCWpiZQlMX2NvbnRpZ3VvdXNfaW5fd2luZG93IC8qIGlmICh3cml0ZSA+PSBuYnl0ZXMpICovCi0KLQlhZGQJZXNpLCBbZXNwKzQ4XSAgICAvKiBmcm9tICs9IHdzaXplICovCi0JYWRkCWVzaSwgZWF4ICAgICAgICAgLyogZnJvbSArPSB3cml0ZSAqLwotCXN1Ygllc2ksIGVjeCAgICAgICAgIC8qIGZyb20gLT0gbmJ5dGVzICovCi0Jc3ViCWVjeCwgZWF4ICAgICAgICAgLyogbmJ5dGVzIC09IHdyaXRlICovCi0KLQltb3YJZWF4LCBbZXNwKzY0XSAgICAvKiBlYXggPSBsZW4gKi8KLQljbXAJZWF4LCBlY3gKLQlqYmUJTF9kb19jb3B5ICAgICAgICAgIC8qIGlmIChuYnl0ZXMgPj0gbGVuKSAqLwotCi0Jc3ViCWVheCwgZWN4ICAgICAgICAgLyogbGVuIC09IG5ieXRlcyAqLwotCXJlcCAgICAgbW92c2IKLQltb3YJZXNpLCBbZXNwKzI4XSAgICAgLyogZnJvbSA9IHdpbmRvdyAqLwotCW1vdgllY3gsIFtlc3ArNTJdICAgICAvKiBuYnl0ZXMgPSB3cml0ZSAqLwotCWNtcAllYXgsIGVjeAotCWpiZQlMX2RvX2NvcHkgICAgICAgICAgLyogaWYgKG5ieXRlcyA+PSBsZW4pICovCi0KLQlzdWIJZWF4LCBlY3ggICAgICAgICAvKiBsZW4gLT0gbmJ5dGVzICovCi0JcmVwICAgICBtb3ZzYgotCW1vdgllc2ksIGVkaQotCXN1Ygllc2ksIGVicCAgICAgICAgIC8qIGZyb20gPSBvdXQgLSBkaXN0ICovCi0Jam1wCUxfZG9fY29weQotCi1BTElHTiA0Ci1MX2NvbnRpZ3VvdXNfaW5fd2luZG93OgotCWFkZAllc2ksIGVheAotCXN1Ygllc2ksIGVjeCAgICAgICAgIC8qIGZyb20gKz0gd3JpdGUgLSBuYnl0ZXMgKi8KLQotCW1vdgllYXgsIFtlc3ArNjRdICAgIC8qIGVheCA9IGxlbiAqLwotCWNtcAllYXgsIGVjeAotCWpiZQlMX2RvX2NvcHkgICAgICAgICAgLyogaWYgKG5ieXRlcyA+PSBsZW4pICovCi0KLQlzdWIJZWF4LCBlY3ggICAgICAgICAvKiBsZW4gLT0gbmJ5dGVzICovCi0JcmVwICAgICBtb3ZzYgotCW1vdgllc2ksIGVkaQotCXN1Ygllc2ksIGVicCAgICAgICAgIC8qIGZyb20gPSBvdXQgLSBkaXN0ICovCi0Jam1wCUxfZG9fY29weQotCi1BTElHTiA0Ci1MX2RvX2NvcHk6Ci0JbW92CWVjeCwgZWF4Ci0JcmVwICAgICBtb3ZzYgotCi0JbW92CWVzaSwgW2VzcCs4XSAgICAgIC8qIG1vdmUgaW4gYmFjayB0byAlZXNpLCB0b3NzIGZyb20gKi8KLQltb3YJZWJwLCBbZXNwKzMyXSAgICAgLyogZWJwID0gbGNvZGUgKi8KLQlqbXAJTF93aGlsZV90ZXN0Ci0KLUxfdGVzdF9mb3JfZW5kX29mX2Jsb2NrOgotCXRlc3QJYWwsIDMyCi0JanoJTF9pbnZhbGlkX2xpdGVyYWxfbGVuZ3RoX2NvZGUKLQltb3YJZHdvcmQgcHRyIFtlc3ArNzJdLCAxCi0Jam1wCUxfYnJlYWtfbG9vcF93aXRoX3N0YXR1cwotCi1MX2ludmFsaWRfbGl0ZXJhbF9sZW5ndGhfY29kZToKLQltb3YJZHdvcmQgcHRyIFtlc3ArNzJdLCAyCi0Jam1wCUxfYnJlYWtfbG9vcF93aXRoX3N0YXR1cwotCi1MX2ludmFsaWRfZGlzdGFuY2VfY29kZToKLQltb3YJZHdvcmQgcHRyIFtlc3ArNzJdLCAzCi0Jam1wCUxfYnJlYWtfbG9vcF93aXRoX3N0YXR1cwotCi1MX2ludmFsaWRfZGlzdGFuY2VfdG9vX2ZhcjoKLQltb3YJZXNpLCBbZXNwKzRdCi0JbW92CWR3b3JkIHB0ciBbZXNwKzcyXSwgNAotCWptcAlMX2JyZWFrX2xvb3Bfd2l0aF9zdGF0dXMKLQotTF9icmVha19sb29wOgotCW1vdglkd29yZCBwdHIgW2VzcCs3Ml0sIDAKLQotTF9icmVha19sb29wX3dpdGhfc3RhdHVzOgotLyogcHV0IGluLCBvdXQsIGJpdHMsIGFuZCBob2xkIGJhY2sgaW50byBhciBhbmQgcG9wIGVzcCAqLwotCW1vdglbZXNwKzhdLCBlc2kgICAgIC8qIHNhdmUgaW4gKi8KLQltb3YJW2VzcCsxNl0sIGVkaSAgICAvKiBzYXZlIG91dCAqLwotCW1vdglbZXNwKzQ0XSwgZWJ4ICAgIC8qIHNhdmUgYml0cyAqLwotCW1vdglbZXNwKzQwXSwgZWR4ICAgIC8qIHNhdmUgaG9sZCAqLwotCW1vdgllYnAsIFtlc3ArNF0gICAgIC8qIHJlc3RvcmUgZXNwLCBlYnAgKi8KLQltb3YJZXNwLCBbZXNwXQotICAgIH0KLSNlbHNlCi0jZXJyb3IgIng4NiBhcmNoaXRlY3R1cmUgbm90IGRlZmluZWQiCi0jZW5kaWYKLQotICAgIGlmIChhci5zdGF0dXMgPiAxKSB7Ci0gICAgICAgIGlmIChhci5zdGF0dXMgPT0gMikKLSAgICAgICAgICAgIHN0cm0tPm1zZyA9ICJpbnZhbGlkIGxpdGVyYWwvbGVuZ3RoIGNvZGUiOwotICAgICAgICBlbHNlIGlmIChhci5zdGF0dXMgPT0gMykKLSAgICAgICAgICAgIHN0cm0tPm1zZyA9ICJpbnZhbGlkIGRpc3RhbmNlIGNvZGUiOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICBzdHJtLT5tc2cgPSAiaW52YWxpZCBkaXN0YW5jZSB0b28gZmFyIGJhY2siOwotICAgICAgICBzdGF0ZS0+bW9kZSA9IEJBRDsKLSAgICB9Ci0gICAgZWxzZSBpZiAoIGFyLnN0YXR1cyA9PSAxICkgewotICAgICAgICBzdGF0ZS0+bW9kZSA9IFRZUEU7Ci0gICAgfQotCi0gICAgLyogcmV0dXJuIHVudXNlZCBieXRlcyAob24gZW50cnksIGJpdHMgPCA4LCBzbyBpbiB3b24ndCBnbyB0b28gZmFyIGJhY2spICovCi0gICAgYXIubGVuID0gYXIuYml0cyA+PiAzOwotICAgIGFyLmluIC09IGFyLmxlbjsKLSAgICBhci5iaXRzIC09IGFyLmxlbiA8PCAzOwotICAgIGFyLmhvbGQgJj0gKDFVIDw8IGFyLmJpdHMpIC0gMTsKLQotICAgIC8qIHVwZGF0ZSBzdGF0ZSBhbmQgcmV0dXJuICovCi0gICAgc3RybS0+bmV4dF9pbiA9IGFyLmluOwotICAgIHN0cm0tPm5leHRfb3V0ID0gYXIub3V0OwotICAgIHN0cm0tPmF2YWlsX2luID0gKHVuc2lnbmVkKShhci5pbiA8IGFyLmxhc3QgPwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQQURfQVZBSUxfSU4gKyAoYXIubGFzdCAtIGFyLmluKSA6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBBRF9BVkFJTF9JTiAtIChhci5pbiAtIGFyLmxhc3QpKTsKLSAgICBzdHJtLT5hdmFpbF9vdXQgPSAodW5zaWduZWQpKGFyLm91dCA8IGFyLmVuZCA/Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQQURfQVZBSUxfT1VUICsgKGFyLmVuZCAtIGFyLm91dCkgOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUEFEX0FWQUlMX09VVCAtIChhci5vdXQgLSBhci5lbmQpKTsKLSAgICBzdGF0ZS0+aG9sZCA9IGFyLmhvbGQ7Ci0gICAgc3RhdGUtPmJpdHMgPSBhci5iaXRzOwotICAgIHJldHVybjsKLX0KLQpkaWZmIC0tZ2l0IGEvc3JjL2NvbnRyaWIvaW5mbGF0ZTg2L2luZmZhc3QuUyBiL3NyYy9jb250cmliL2luZmxhdGU4Ni9pbmZmYXN0LlMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDIyNDVhMjkuLjAwMDAwMDAKLS0tIGEvc3JjL2NvbnRyaWIvaW5mbGF0ZTg2L2luZmZhc3QuUworKysgL2Rldi9udWxsCkBAIC0xLDEzNjggKzAsMCBAQAotLyoKLSAqIGluZmZhc3QuUyBpcyBhIGhhbmQgdHVuZWQgYXNzZW1ibGVyIHZlcnNpb24gb2Y6Ci0gKgotICogaW5mZmFzdC5jIC0tIGZhc3QgZGVjb2RpbmcKLSAqIENvcHlyaWdodCAoQykgMTk5NS0yMDAzIE1hcmsgQWRsZXIKLSAqIEZvciBjb25kaXRpb25zIG9mIGRpc3RyaWJ1dGlvbiBhbmQgdXNlLCBzZWUgY29weXJpZ2h0IG5vdGljZSBpbiB6bGliLmgKLSAqCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDMgQ2hyaXMgQW5kZXJzb24gPGNocmlzdG9wQGNoYXJtLm5ldD4KLSAqIFBsZWFzZSB1c2UgdGhlIGNvcHlyaWdodCBjb25kaXRpb25zIGFib3ZlLgotICoKLSAqIFRoaXMgdmVyc2lvbiAoSmFuLTIzLTIwMDMpIG9mIGluZmxhdGVfZmFzdCB3YXMgY29kZWQgYW5kIHRlc3RlZCB1bmRlcgotICogR05VL0xpbnV4IG9uIGEgcGVudGl1bSAzLCB1c2luZyB0aGUgZ2NjLTMuMiBjb21waWxlciBkaXN0cmlidXRpb24uICBPbiB0aGF0Ci0gKiBtYWNoaW5lLCBJIGZvdW5kIHRoYXQgZ3ppcCBzdHlsZSBhcmNoaXZlcyBkZWNvbXByZXNzZWQgYWJvdXQgMjAlIGZhc3RlciB0aGFuCi0gKiB0aGUgZ2NjLTMuMiAtTzMgLWZvbWl0LWZyYW1lLXBvaW50ZXIgY29tcGlsZWQgdmVyc2lvbi4gIFlvdXIgcmVzdWx0cyB3aWxsCi0gKiBkZXBlbmQgb24gaG93IGxhcmdlIG9mIGEgYnVmZmVyIGlzIHVzZWQgZm9yIHpfc3RyZWFtLm5leHRfaW4gJiBuZXh0X291dAotICogKDhLLTMySyB3b3JrZWQgYmVzdCBmb3IgbXkgMjU2SyBjcHUgY2FjaGUpIGFuZCBob3cgbXVjaCBvdmVyaGVhZCB0aGVyZSBpcyBpbgotICogc3RyZWFtIHByb2Nlc3NpbmcgSS9PIGFuZCBjcmMzMi9hZGRsZXIzMi4gIEluIG15IGNhc2UsIHRoaXMgcm91dGluZSB1c2VkCi0gKiA3MCUgb2YgdGhlIGNwdSB0aW1lIGFuZCBjcmMzMiB1c2VkIDIwJS4KLSAqCi0gKiBJIGFtIGNvbmZpZGVudCB0aGF0IHRoaXMgdmVyc2lvbiB3aWxsIHdvcmsgaW4gdGhlIGdlbmVyYWwgY2FzZSwgYnV0IEkgaGF2ZQotICogbm90IHRlc3RlZCBhIHdpZGUgdmFyaWV0eSBvZiBkYXRhc2V0cyBvciBhIHdpZGUgdmFyaWV0eSBvZiBwbGF0Zm9ybXMuCi0gKgotICogSmFuLTI0LTIwMDMgLS0gQWRkZWQgLURVU0VfTU1YIGRlZmluZSBmb3Igc2xpZ2h0bHkgZmFzdGVyIGluZmxhdGluZy4KLSAqIEl0IHNob3VsZCBiZSBhIHJ1bnRpbWUgZmxhZyBpbnN0ZWFkIG9mIGNvbXBpbGUgdGltZSBmbGFnLi4uCi0gKgotICogSmFuLTI2LTIwMDMgLS0gQWRkZWQgcnVudGltZSBjaGVjayBmb3IgTU1YIHN1cHBvcnQgd2l0aCBjcHVpZCBpbnN0cnVjdGlvbi4KLSAqIFdpdGggLURVU0VfTU1YLCBvbmx5IE1NWCBjb2RlIGlzIGNvbXBpbGVkLiAgV2l0aCAtRE5PX01NWCwgb25seSBub24tTU1YIGNvZGUKLSAqIGlzIGNvbXBpbGVkLiAgV2l0aG91dCBlaXRoZXIgb3B0aW9uLCBydW50aW1lIGRldGVjdGlvbiBpcyBlbmFibGVkLiAgUnVudGltZQotICogZGV0ZWN0aW9uIHNob3VsZCB3b3JrIG9uIGFsbCBtb2Rlcm4gY3B1cyBhbmQgdGhlIHJlY29tZW5kZWQgYWxnb3JpdGhtIChmbGlwCi0gKiBJRCBiaXQgb24gZWZsYWdzIGFuZCB0aGVuIHVzZSB0aGUgY3B1aWQgaW5zdHJ1Y3Rpb24pIGlzIHVzZWQgaW4gbWFueQotICogbXVsdGltZWRpYSBhcHBsaWNhdGlvbnMuICBUZXN0ZWQgdW5kZXIgd2luMmsgd2l0aCBnY2MtMi45NSBhbmQgZ2FzLTIuMTIKLSAqIGRpc3RyaWJ1dGVkIHdpdGggY3lnd2luMy4gIENvbXBpbGluZyB3aXRoIGdjYy0yLjk1IC1jIGluZmZhc3QuUyAtbwotICogaW5mZmFzdC5vYmogZ2VuZXJhdGVzIGEgQ09GRiBvYmplY3Qgd2hpY2ggY2FuIHRoZW4gYmUgbGlua2VkIHdpdGggTVNWQysrCi0gKiBjb21waWxlZCBjb2RlLiAgVGVzdGVkIHVuZGVyIEZyZWVCU0QgNC43IHdpdGggZ2NjLTIuOTUuCi0gKgotICogSmFuLTI4LTIwMDMgLS0gVGVzdGVkIEF0aGxvbiBYUC4uLiBNTVggbW9kZSBpcyBzbG93ZXIgdGhhbiBubyBNTVggKGFuZAotICogc2xvd2VyIHRoYW4gY29tcGlsZXIgZ2VuZXJhdGVkIGNvZGUpLiAgQWRqdXN0ZWQgY3B1aWQgY2hlY2sgdG8gdXNlIHRoZSBNTVgKLSAqIGNvZGUgb25seSBmb3IgUGVudGl1bXMgPCBQNCB1bnRpbCBJIGhhdmUgbW9yZSBkYXRhIG9uIHRoZSBQNC4gIFNwZWVkCi0gKiBpbXByb3ZtZW50IGlzIG9ubHkgYWJvdXQgMTUlIG9uIHRoZSBBdGhsb24gd2hlbiBjb21wYXJlZCB3aXRoIGNvZGUgZ2VuZXJhdGVkCi0gKiB3aXRoIE1TVkMrKy4gIE5vdCBzdXJlIHlldCwgYnV0IEkgdGhpbmsgdGhlIFA0IHdpbGwgYWxzbyBiZSBzbG93ZXIgdXNpbmcgdGhlCi0gKiBNTVggbW9kZSBiZWNhdXNlIG1hbnkgb2YgaXQncyB4ODYgQUxVIGluc3RydWN0aW9ucyBleGVjdXRlIGluIC41IGN5Y2xlcyBhbmQKLSAqIGhhdmUgbGVzcyBsYXRlbmN5IHRoYW4gTU1YIG9wcy4gIEFkZGVkIGNvZGUgdG8gYnVmZmVyIHRoZSBsYXN0IDExIGJ5dGVzIG9mCi0gKiB0aGUgaW5wdXQgc3RyZWFtIHNpbmNlIHRoZSBNTVggY29kZSBncmFicyBiaXRzIGluIGNodW5rcyBvZiAzMiwgd2hpY2gKLSAqIGRpZmZlcnMgZnJvbSB0aGUgaW5mZmFzdC5jIGFsZ29yaXRobS4gIEkgZG9uJ3QgdGhpbmsgdGhlcmUgd291bGQgaGF2ZSBiZWVuCi0gKiByZWFkIG92ZXJydW5zIHdoZXJlIGEgcGFnZSBib3VuZGFyeSB3YXMgY3Jvc3NlZCAoYSBzZWdmYXVsdCksIGJ1dCB0aGVyZQotICogY291bGQgaGF2ZSBiZWVuIG92ZXJydW5zIHdoZW4gbmV4dF9pbiBlbmRzIG9uIHVuYWxpZ25lZCBtZW1vcnkgKHVuaW50aWFsaXplZAotICogbWVtb3J5IHJlYWQpLgotICoKLSAqIE1hci0xMy0yMDAzIC0tIFA0IE1NWCBpcyBzbGlnaHRseSBzbG93ZXIgdGhhbiBQNCBOT19NTVguICBJIGNyZWF0ZWQgYSBDCi0gKiB2ZXJzaW9uIG9mIHRoZSBub24tTU1YIGNvZGUgc28gdGhhdCBpdCBkb2Vzbid0IGRlcGVuZCBvbiB6c3RybSBhbmQgenN0YXRlCi0gKiBzdHJ1Y3R1cmUgb2Zmc2V0cyB3aGljaCBhcmUgaGFyZCBjb2RlZCBpbiB0aGlzIGZpbGUuICBUaGlzIHdhcyBsYXN0IHRlc3RlZAotICogd2l0aCB6bGliLTEuMi4wIHdoaWNoIGlzIGN1cnJlbnRseSBpbiBiZXRhIHRlc3RpbmcsIG5ld2VyIHZlcnNpb25zIG9mIHRoaXMKLSAqIGFuZCBpbmZmYXM4Ni5jIGNhbiBiZSBmb3VuZCBhdCBodHRwOi8vd3d3LmVldGJlZXRlZS5jb20vemxpYi8gYW5kCi0gKiBodHRwOi8vd3d3LmNoYXJtLm5ldC9+Y2hyaXN0b3AvemxpYi8KLSAqLwotCi0KLS8qCi0gKiBpZiB5b3UgaGF2ZSB1bmRlcnNjb3JlIGxpbmtpbmcgcHJvYmxlbXMgKF9pbmZsYXRlX2Zhc3QgdW5kZWZpbmVkKSwgdHJ5Ci0gKiB1c2luZyAtREdBU19DT0ZGCi0gKi8KLSNpZiAhIGRlZmluZWQoIEdBU19DT0ZGICkgJiYgISBkZWZpbmVkKCBHQVNfRUxGICkKLQotI2lmIGRlZmluZWQoIFdJTjMyICkgfHwgZGVmaW5lZCggX19DWUdXSU5fXyApCi0jZGVmaW5lIEdBU19DT0ZGIC8qIHdpbmRvd3Mgb2JqZWN0IGZvcm1hdCAqLwotI2Vsc2UKLSNkZWZpbmUgR0FTX0VMRgotI2VuZGlmCi0KLSNlbmRpZiAvKiAhIEdBU19DT0ZGICYmICEgR0FTX0VMRiAqLwotCi0KLSNpZiBkZWZpbmVkKCBHQVNfQ09GRiApCi0KLS8qIGNvZmYgZXh0ZXJuYWxzIGhhdmUgdW5kZXJzY29yZXMgKi8KLSNkZWZpbmUgaW5mbGF0ZV9mYXN0IF9pbmZsYXRlX2Zhc3QKLSNkZWZpbmUgaW5mbGF0ZV9mYXN0X3VzZV9tbXggX2luZmxhdGVfZmFzdF91c2VfbW14Ci0KLSNlbmRpZiAvKiBHQVNfQ09GRiAqLwotCi0KLS5maWxlICJpbmZmYXN0LlMiCi0KLS5nbG9ibCBpbmZsYXRlX2Zhc3QKLQotLnRleHQKLS5hbGlnbiA0LDAKLS5MX2ludmFsaWRfbGl0ZXJhbF9sZW5ndGhfY29kZV9tc2c6Ci0uc3RyaW5nICJpbnZhbGlkIGxpdGVyYWwvbGVuZ3RoIGNvZGUiCi0KLS5hbGlnbiA0LDAKLS5MX2ludmFsaWRfZGlzdGFuY2VfY29kZV9tc2c6Ci0uc3RyaW5nICJpbnZhbGlkIGRpc3RhbmNlIGNvZGUiCi0KLS5hbGlnbiA0LDAKLS5MX2ludmFsaWRfZGlzdGFuY2VfdG9vX2Zhcl9tc2c6Ci0uc3RyaW5nICJpbnZhbGlkIGRpc3RhbmNlIHRvbyBmYXIgYmFjayIKLQotI2lmICEgZGVmaW5lZCggTk9fTU1YICkKLS5hbGlnbiA0LDAKLS5MX21hc2s6IC8qIG1hc2tbTl0gPSAoIDEgPDwgTiApIC0gMSAqLwotLmxvbmcgMAotLmxvbmcgMQotLmxvbmcgMwotLmxvbmcgNwotLmxvbmcgMTUKLS5sb25nIDMxCi0ubG9uZyA2MwotLmxvbmcgMTI3Ci0ubG9uZyAyNTUKLS5sb25nIDUxMQotLmxvbmcgMTAyMwotLmxvbmcgMjA0NwotLmxvbmcgNDA5NQotLmxvbmcgODE5MQotLmxvbmcgMTYzODMKLS5sb25nIDMyNzY3Ci0ubG9uZyA2NTUzNQotLmxvbmcgMTMxMDcxCi0ubG9uZyAyNjIxNDMKLS5sb25nIDUyNDI4NwotLmxvbmcgMTA0ODU3NQotLmxvbmcgMjA5NzE1MQotLmxvbmcgNDE5NDMwMwotLmxvbmcgODM4ODYwNwotLmxvbmcgMTY3NzcyMTUKLS5sb25nIDMzNTU0NDMxCi0ubG9uZyA2NzEwODg2MwotLmxvbmcgMTM0MjE3NzI3Ci0ubG9uZyAyNjg0MzU0NTUKLS5sb25nIDUzNjg3MDkxMQotLmxvbmcgMTA3Mzc0MTgyMwotLmxvbmcgMjE0NzQ4MzY0NwotLmxvbmcgNDI5NDk2NzI5NQotI2VuZGlmIC8qIE5PX01NWCAqLwotCi0udGV4dAotCi0vKgotICogc3RydWN0IHpfc3RyZWFtIG9mZnNldHMsIGluIHpsaWIuaAotICovCi0jZGVmaW5lIG5leHRfaW5fc3RybSAgIDAgICAvKiBzdHJtLT5uZXh0X2luICovCi0jZGVmaW5lIGF2YWlsX2luX3N0cm0gIDQgICAvKiBzdHJtLT5hdmFpbF9pbiAqLwotI2RlZmluZSBuZXh0X291dF9zdHJtICAxMiAgLyogc3RybS0+bmV4dF9vdXQgKi8KLSNkZWZpbmUgYXZhaWxfb3V0X3N0cm0gMTYgIC8qIHN0cm0tPmF2YWlsX291dCAqLwotI2RlZmluZSBtc2dfc3RybSAgICAgICAyNCAgLyogc3RybS0+bXNnICovCi0jZGVmaW5lIHN0YXRlX3N0cm0gICAgIDI4ICAvKiBzdHJtLT5zdGF0ZSAqLwotCi0vKgotICogc3RydWN0IGluZmxhdGVfc3RhdGUgb2Zmc2V0cywgaW4gaW5mbGF0ZS5oCi0gKi8KLSNkZWZpbmUgbW9kZV9zdGF0ZSAgICAgMCAgIC8qIHN0YXRlLT5tb2RlICovCi0jZGVmaW5lIHdzaXplX3N0YXRlICAgIDMyICAvKiBzdGF0ZS0+d3NpemUgKi8KLSNkZWZpbmUgd3JpdGVfc3RhdGUgICAgNDAgIC8qIHN0YXRlLT53cml0ZSAqLwotI2RlZmluZSB3aW5kb3dfc3RhdGUgICA0NCAgLyogc3RhdGUtPndpbmRvdyAqLwotI2RlZmluZSBob2xkX3N0YXRlICAgICA0OCAgLyogc3RhdGUtPmhvbGQgKi8KLSNkZWZpbmUgYml0c19zdGF0ZSAgICAgNTIgIC8qIHN0YXRlLT5iaXRzICovCi0jZGVmaW5lIGxlbmNvZGVfc3RhdGUgIDY4ICAvKiBzdGF0ZS0+bGVuY29kZSAqLwotI2RlZmluZSBkaXN0Y29kZV9zdGF0ZSA3MiAgLyogc3RhdGUtPmRpc3Rjb2RlICovCi0jZGVmaW5lIGxlbmJpdHNfc3RhdGUgIDc2ICAvKiBzdGF0ZS0+bGVuYml0cyAqLwotI2RlZmluZSBkaXN0Yml0c19zdGF0ZSA4MCAgLyogc3RhdGUtPmRpc3RiaXRzICovCi0KLS8qCi0gKiBpbmZsYXRlX2Zhc3QncyBhY3RpdmF0aW9uIHJlY29yZAotICovCi0jZGVmaW5lIGxvY2FsX3Zhcl9zaXplIDY0IC8qIGhvdyBtdWNoIGxvY2FsIHNwYWNlIGZvciB2YXJzICovCi0jZGVmaW5lIHN0cm1fc3AgICAgICAgIDg4IC8qIGZpcnN0IGFyZzogel9zdHJlYW0gKiAobG9jYWxfdmFyX3NpemUgKyAyNCkgKi8KLSNkZWZpbmUgc3RhcnRfc3AgICAgICAgOTIgLyogc2Vjb25kIGFyZzogdW5zaWduZWQgaW50IChsb2NhbF92YXJfc2l6ZSArIDI4KSAqLwotCi0vKgotICogb2Zmc2V0cyBmb3IgbG9jYWwgdmFycyBvbiBzdGFjawotICovCi0jZGVmaW5lIG91dCAgICAgICAgICAgIDYwICAvKiB1bnNpZ25lZCBjaGFyKiAqLwotI2RlZmluZSB3aW5kb3cgICAgICAgICA1NiAgLyogdW5zaWduZWQgY2hhciogKi8KLSNkZWZpbmUgd3NpemUgICAgICAgICAgNTIgIC8qIHVuc2lnbmVkIGludCAqLwotI2RlZmluZSB3cml0ZSAgICAgICAgICA0OCAgLyogdW5zaWduZWQgaW50ICovCi0jZGVmaW5lIGluICAgICAgICAgICAgIDQ0ICAvKiB1bnNpZ25lZCBjaGFyKiAqLwotI2RlZmluZSBiZWcgICAgICAgICAgICA0MCAgLyogdW5zaWduZWQgY2hhciogKi8KLSNkZWZpbmUgYnVmICAgICAgICAgICAgMjggIC8qIGNoYXJbIDEyIF0gKi8KLSNkZWZpbmUgbGVuICAgICAgICAgICAgMjQgIC8qIHVuc2lnbmVkIGludCAqLwotI2RlZmluZSBsYXN0ICAgICAgICAgICAyMCAgLyogdW5zaWduZWQgY2hhciogKi8KLSNkZWZpbmUgZW5kICAgICAgICAgICAgMTYgIC8qIHVuc2lnbmVkIGNoYXIqICovCi0jZGVmaW5lIGRjb2RlICAgICAgICAgIDEyICAvKiBjb2RlKiAqLwotI2RlZmluZSBsY29kZSAgICAgICAgICAgOCAgLyogY29kZSogKi8KLSNkZWZpbmUgZG1hc2sgICAgICAgICAgIDQgIC8qIHVuc2lnbmVkIGludCAqLwotI2RlZmluZSBsbWFzayAgICAgICAgICAgMCAgLyogdW5zaWduZWQgaW50ICovCi0KLS8qCi0gKiB0eXBlZGVmIGVudW0gaW5mbGF0ZV9tb2RlIGNvbnN0cywgaW4gaW5mbGF0ZS5oCi0gKi8KLSNkZWZpbmUgSU5GTEFURV9NT0RFX1RZUEUgMTEgIC8qIHN0YXRlLT5tb2RlIGZsYWdzIGVudW0tZWQgaW4gaW5mbGF0ZS5oICovCi0jZGVmaW5lIElORkxBVEVfTU9ERV9CQUQgIDI2Ci0KLQotI2lmICEgZGVmaW5lZCggVVNFX01NWCApICYmICEgZGVmaW5lZCggTk9fTU1YICkKLQotI2RlZmluZSBSVU5fVElNRV9NTVgKLQotI2RlZmluZSBDSEVDS19NTVggICAgMQotI2RlZmluZSBET19VU0VfTU1YICAgMgotI2RlZmluZSBET05UX1VTRV9NTVggMwotCi0uZ2xvYmwgaW5mbGF0ZV9mYXN0X3VzZV9tbXgKLQotLmRhdGEKLQotLmFsaWduIDQsMAotaW5mbGF0ZV9mYXN0X3VzZV9tbXg6IC8qIGludGVnZXIgZmxhZyBmb3IgcnVuIHRpbWUgY29udHJvbCAxPWNoZWNrLDI9bW14LDM9bm8gKi8KLS5sb25nIENIRUNLX01NWAotCi0jaWYgZGVmaW5lZCggR0FTX0VMRiApCi0vKiBlbGYgaW5mbyAqLwotLnR5cGUgICBpbmZsYXRlX2Zhc3RfdXNlX21teCxAb2JqZWN0Ci0uc2l6ZSAgIGluZmxhdGVfZmFzdF91c2VfbW14LDQKLSNlbmRpZgotCi0jZW5kaWYgLyogUlVOX1RJTUVfTU1YICovCi0KLSNpZiBkZWZpbmVkKCBHQVNfQ09GRiApCi0vKiBjb2ZmIGluZm86IHNjbCAyID0gZXh0ZXJuLCB0eXBlIDMyID0gZnVuY3Rpb24gKi8KLS5kZWYgaW5mbGF0ZV9mYXN0OyAuc2NsIDI7IC50eXBlIDMyOyAuZW5kZWYKLSNlbmRpZgotCi0udGV4dAotCi0uYWxpZ24gMzIsMHg5MAotaW5mbGF0ZV9mYXN0OgotICAgICAgICBwdXNobCAgICVlZGkKLSAgICAgICAgcHVzaGwgICAlZXNpCi0gICAgICAgIHB1c2hsICAgJWVicAotICAgICAgICBwdXNobCAgICVlYngKLSAgICAgICAgcHVzaGYgICAvKiBzYXZlIGVmbGFncyAoc3RybV9zcCwgc3RhdGVfc3AgYXNzdW1lcyB0aGlzIGlzIDMyIGJpdHMpICovCi0gICAgICAgIHN1YmwgICAgJGxvY2FsX3Zhcl9zaXplLCAlZXNwCi0gICAgICAgIGNsZAotCi0jZGVmaW5lIHN0cm1fciAgJWVzaQotI2RlZmluZSBzdGF0ZV9yICVlZGkKLQotICAgICAgICBtb3ZsICAgIHN0cm1fc3AoJWVzcCksIHN0cm1fcgotICAgICAgICBtb3ZsICAgIHN0YXRlX3N0cm0oc3RybV9yKSwgc3RhdGVfcgotCi0gICAgICAgIC8qIGluID0gc3RybS0+bmV4dF9pbjsKLSAgICAgICAgICogb3V0ID0gc3RybS0+bmV4dF9vdXQ7Ci0gICAgICAgICAqIGxhc3QgPSBpbiArIHN0cm0tPmF2YWlsX2luIC0gMTE7Ci0gICAgICAgICAqIGJlZyA9IG91dCAtIChzdGFydCAtIHN0cm0tPmF2YWlsX291dCk7Ci0gICAgICAgICAqIGVuZCA9IG91dCArIChzdHJtLT5hdmFpbF9vdXQgLSAyNTcpOwotICAgICAgICAgKi8KLSAgICAgICAgbW92bCAgICBhdmFpbF9pbl9zdHJtKHN0cm1fciksICVlZHgKLSAgICAgICAgbW92bCAgICBuZXh0X2luX3N0cm0oc3RybV9yKSwgJWVheAotCi0gICAgICAgIGFkZGwgICAgJWVheCwgJWVkeCAgICAgIC8qIGF2YWlsX2luICs9IG5leHRfaW4gKi8KLSAgICAgICAgc3VibCAgICAkMTEsICVlZHggICAgICAgLyogYXZhaWxfaW4gLT0gMTEgKi8KLQotICAgICAgICBtb3ZsICAgICVlYXgsIGluKCVlc3ApCi0gICAgICAgIG1vdmwgICAgJWVkeCwgbGFzdCglZXNwKQotCi0gICAgICAgIG1vdmwgICAgc3RhcnRfc3AoJWVzcCksICVlYnAKLSAgICAgICAgbW92bCAgICBhdmFpbF9vdXRfc3RybShzdHJtX3IpLCAlZWN4Ci0gICAgICAgIG1vdmwgICAgbmV4dF9vdXRfc3RybShzdHJtX3IpLCAlZWJ4Ci0KLSAgICAgICAgc3VibCAgICAlZWN4LCAlZWJwICAgICAgLyogc3RhcnQgLT0gYXZhaWxfb3V0ICovCi0gICAgICAgIG5lZ2wgICAgJWVicCAgICAgICAgICAgIC8qIHN0YXJ0ID0gLXN0YXJ0ICovCi0gICAgICAgIGFkZGwgICAgJWVieCwgJWVicCAgICAgIC8qIHN0YXJ0ICs9IG5leHRfb3V0ICovCi0KLSAgICAgICAgc3VibCAgICAkMjU3LCAlZWN4ICAgICAgLyogYXZhaWxfb3V0IC09IDI1NyAqLwotICAgICAgICBhZGRsICAgICVlYngsICVlY3ggICAgICAvKiBhdmFpbF9vdXQgKz0gb3V0ICovCi0KLSAgICAgICAgbW92bCAgICAlZWJ4LCBvdXQoJWVzcCkKLSAgICAgICAgbW92bCAgICAlZWJwLCBiZWcoJWVzcCkKLSAgICAgICAgbW92bCAgICAlZWN4LCBlbmQoJWVzcCkKLQotICAgICAgICAvKiB3c2l6ZSA9IHN0YXRlLT53c2l6ZTsKLSAgICAgICAgICogd3JpdGUgPSBzdGF0ZS0+d3JpdGU7Ci0gICAgICAgICAqIHdpbmRvdyA9IHN0YXRlLT53aW5kb3c7Ci0gICAgICAgICAqIGhvbGQgPSBzdGF0ZS0+aG9sZDsKLSAgICAgICAgICogYml0cyA9IHN0YXRlLT5iaXRzOwotICAgICAgICAgKiBsY29kZSA9IHN0YXRlLT5sZW5jb2RlOwotICAgICAgICAgKiBkY29kZSA9IHN0YXRlLT5kaXN0Y29kZTsKLSAgICAgICAgICogbG1hc2sgPSAoIDEgPDwgc3RhdGUtPmxlbmJpdHMgKSAtIDE7Ci0gICAgICAgICAqIGRtYXNrID0gKCAxIDw8IHN0YXRlLT5kaXN0Yml0cyApIC0gMTsKLSAgICAgICAgICovCi0KLSAgICAgICAgbW92bCAgICBsZW5jb2RlX3N0YXRlKHN0YXRlX3IpLCAlZWF4Ci0gICAgICAgIG1vdmwgICAgZGlzdGNvZGVfc3RhdGUoc3RhdGVfciksICVlY3gKLQotICAgICAgICBtb3ZsICAgICVlYXgsIGxjb2RlKCVlc3ApCi0gICAgICAgIG1vdmwgICAgJWVjeCwgZGNvZGUoJWVzcCkKLQotICAgICAgICBtb3ZsICAgICQxLCAlZWF4Ci0gICAgICAgIG1vdmwgICAgbGVuYml0c19zdGF0ZShzdGF0ZV9yKSwgJWVjeAotICAgICAgICBzaGxsICAgICVjbCwgJWVheAotICAgICAgICBkZWNsICAgICVlYXgKLSAgICAgICAgbW92bCAgICAlZWF4LCBsbWFzayglZXNwKQotCi0gICAgICAgIG1vdmwgICAgJDEsICVlYXgKLSAgICAgICAgbW92bCAgICBkaXN0Yml0c19zdGF0ZShzdGF0ZV9yKSwgJWVjeAotICAgICAgICBzaGxsICAgICVjbCwgJWVheAotICAgICAgICBkZWNsICAgICVlYXgKLSAgICAgICAgbW92bCAgICAlZWF4LCBkbWFzayglZXNwKQotCi0gICAgICAgIG1vdmwgICAgd3NpemVfc3RhdGUoc3RhdGVfciksICVlYXgKLSAgICAgICAgbW92bCAgICB3cml0ZV9zdGF0ZShzdGF0ZV9yKSwgJWVjeAotICAgICAgICBtb3ZsICAgIHdpbmRvd19zdGF0ZShzdGF0ZV9yKSwgJWVkeAotCi0gICAgICAgIG1vdmwgICAgJWVheCwgd3NpemUoJWVzcCkKLSAgICAgICAgbW92bCAgICAlZWN4LCB3cml0ZSglZXNwKQotICAgICAgICBtb3ZsICAgICVlZHgsIHdpbmRvdyglZXNwKQotCi0gICAgICAgIG1vdmwgICAgaG9sZF9zdGF0ZShzdGF0ZV9yKSwgJWVicAotICAgICAgICBtb3ZsICAgIGJpdHNfc3RhdGUoc3RhdGVfciksICVlYngKLQotI3VuZGVmIHN0cm1fcgotI3VuZGVmIHN0YXRlX3IKLQotI2RlZmluZSBpbl9yICAgICAgICVlc2kKLSNkZWZpbmUgZnJvbV9yICAgICAlZXNpCi0jZGVmaW5lIG91dF9yICAgICAgJWVkaQotCi0gICAgICAgIG1vdmwgICAgaW4oJWVzcCksIGluX3IKLSAgICAgICAgbW92bCAgICBsYXN0KCVlc3ApLCAlZWN4Ci0gICAgICAgIGNtcGwgICAgaW5fciwgJWVjeAotICAgICAgICBqYSAgICAgIC5MX2FsaWduX2xvbmcgICAgICAgICAgIC8qIGlmIGluIDwgbGFzdCAqLwotCi0gICAgICAgIGFkZGwgICAgJDExLCAlZWN4ICAgICAgICAgICAgICAgLyogZWN4ID0gJmluWyBhdmFpbF9pbiBdICovCi0gICAgICAgIHN1YmwgICAgaW5fciwgJWVjeCAgICAgICAgICAgICAgLyogZWN4ID0gYXZhaWxfaW4gKi8KLSAgICAgICAgbW92bCAgICAkMTIsICVlYXgKLSAgICAgICAgc3VibCAgICAlZWN4LCAlZWF4ICAgICAgICAgICAgICAvKiBlYXggPSAxMiAtIGF2YWlsX2luICovCi0gICAgICAgIGxlYWwgICAgYnVmKCVlc3ApLCAlZWRpCi0gICAgICAgIHJlcCAgICAgbW92c2IgICAgICAgICAgICAgICAgICAgLyogbWVtY3B5KCBidWYsIGluLCBhdmFpbF9pbiApICovCi0gICAgICAgIG1vdmwgICAgJWVheCwgJWVjeAotICAgICAgICB4b3JsICAgICVlYXgsICVlYXgKLSAgICAgICAgcmVwICAgICBzdG9zYiAgICAgICAgIC8qIG1lbXNldCggJmJ1ZlsgYXZhaWxfaW4gXSwgMCwgMTIgLSBhdmFpbF9pbiApICovCi0gICAgICAgIGxlYWwgICAgYnVmKCVlc3ApLCBpbl9yICAgICAgICAgLyogaW4gPSBidWYgKi8KLSAgICAgICAgbW92bCAgICBpbl9yLCBsYXN0KCVlc3ApICAgICAgICAvKiBsYXN0ID0gaW4sIGRvIGp1c3Qgb25lIGl0ZXJhdGlvbiAqLwotICAgICAgICBqbXAgICAgIC5MX2lzX2FsaWduZWQKLQotICAgICAgICAvKiBhbGlnbiBpbl9yIG9uIGxvbmcgYm91bmRhcnkgKi8KLS5MX2FsaWduX2xvbmc6Ci0gICAgICAgIHRlc3RsICAgJDMsIGluX3IKLSAgICAgICAganogICAgICAuTF9pc19hbGlnbmVkCi0gICAgICAgIHhvcmwgICAgJWVheCwgJWVheAotICAgICAgICBtb3ZiICAgIChpbl9yKSwgJWFsCi0gICAgICAgIGluY2wgICAgaW5fcgotICAgICAgICBtb3ZsICAgICVlYngsICVlY3gKLSAgICAgICAgYWRkbCAgICAkOCwgJWVieAotICAgICAgICBzaGxsICAgICVjbCwgJWVheAotICAgICAgICBvcmwgICAgICVlYXgsICVlYnAKLSAgICAgICAgam1wICAgICAuTF9hbGlnbl9sb25nCi0KLS5MX2lzX2FsaWduZWQ6Ci0gICAgICAgIG1vdmwgICAgb3V0KCVlc3ApLCBvdXRfcgotCi0jaWYgZGVmaW5lZCggTk9fTU1YICkKLSAgICAgICAgam1wICAgICAuTF9kb19sb29wCi0jZW5kaWYKLQotI2lmIGRlZmluZWQoIFVTRV9NTVggKQotICAgICAgICBqbXAgICAgIC5MX2luaXRfbW14Ci0jZW5kaWYKLQotLyoqKiBSdW50aW1lIE1NWCBjaGVjayAqKiovCi0KLSNpZiBkZWZpbmVkKCBSVU5fVElNRV9NTVggKQotLkxfY2hlY2tfbW14OgotICAgICAgICBjbXBsICAgICRET19VU0VfTU1YLCBpbmZsYXRlX2Zhc3RfdXNlX21teAotICAgICAgICBqZSAgICAgIC5MX2luaXRfbW14Ci0gICAgICAgIGphICAgICAgLkxfZG9fbG9vcCAvKiA+IDIgKi8KLQotICAgICAgICBwdXNobCAgICVlYXgKLSAgICAgICAgcHVzaGwgICAlZWJ4Ci0gICAgICAgIHB1c2hsICAgJWVjeAotICAgICAgICBwdXNobCAgICVlZHgKLSAgICAgICAgcHVzaGYKLSAgICAgICAgbW92bCAgICAoJWVzcCksICVlYXggICAgICAvKiBjb3B5IGVmbGFncyB0byBlYXggKi8KLSAgICAgICAgeG9ybCAgICAkMHgyMDAwMDAsICglZXNwKSAvKiB0cnkgdG9nZ2xpbmcgSUQgYml0IG9mIGVmbGFncyAoYml0IDIxKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIHRvIHNlZSBpZiBjcHUgc3VwcG9ydHMgY3B1aWQuLi4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiBJRCBiaXQgbWV0aG9kIG5vdCBzdXBwb3J0ZWQgYnkgTmV4R2VuIGJ1dAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIGJpb3MgbWF5IGxvYWQgYSBjcHVpZCBpbnN0cnVjdGlvbiBhbmQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiBjcHVpZCBtYXkgYmUgZGlzYWJsZWQgb24gQ3lyaXggNS02eDg2ICovCi0gICAgICAgIHBvcGYKLSAgICAgICAgcHVzaGYKLSAgICAgICAgcG9wbCAgICAlZWR4ICAgICAgICAgICAgICAvKiBjb3B5IG5ldyBlZmxhZ3MgdG8gZWR4ICovCi0gICAgICAgIHhvcmwgICAgJWVheCwgJWVkeCAgICAgICAgLyogdGVzdCBpZiBJRCBiaXQgaXMgZmxpcHBlZCAqLwotICAgICAgICBqeiAgICAgIC5MX2RvbnRfdXNlX21teCAgIC8qIG5vdCBmbGlwcGVkIGlmIHplcm8gKi8KLSAgICAgICAgeG9ybCAgICAlZWF4LCAlZWF4Ci0gICAgICAgIGNwdWlkCi0gICAgICAgIGNtcGwgICAgJDB4NzU2ZTY1NDcsICVlYnggLyogY2hlY2sgZm9yIEdlbnVpbmVJbnRlbCBpbiBlYngsZWN4LGVkeCAqLwotICAgICAgICBqbmUgICAgIC5MX2RvbnRfdXNlX21teAotICAgICAgICBjbXBsICAgICQweDZjNjU3NDZlLCAlZWN4Ci0gICAgICAgIGpuZSAgICAgLkxfZG9udF91c2VfbW14Ci0gICAgICAgIGNtcGwgICAgJDB4NDk2NTZlNjksICVlZHgKLSAgICAgICAgam5lICAgICAuTF9kb250X3VzZV9tbXgKLSAgICAgICAgbW92bCAgICAkMSwgJWVheAotICAgICAgICBjcHVpZCAgICAgICAgICAgICAgICAgICAgIC8qIGdldCBjcHUgZmVhdHVyZXMgKi8KLSAgICAgICAgc2hybCAgICAkOCwgJWVheAotICAgICAgICBhbmRsICAgICQxNSwgJWVheAotICAgICAgICBjbXBsICAgICQ2LCAlZWF4ICAgICAgICAgIC8qIGNoZWNrIGZvciBQZW50aXVtIGZhbWlseSwgaXMgMHhmIGZvciBQNCAqLwotICAgICAgICBqbmUgICAgIC5MX2RvbnRfdXNlX21teAotICAgICAgICB0ZXN0bCAgICQweDgwMDAwMCwgJWVkeCAgIC8qIHRlc3QgaWYgTU1YIGZlYXR1cmUgaXMgc2V0IChiaXQgMjMpICovCi0gICAgICAgIGpueiAgICAgLkxfdXNlX21teAotICAgICAgICBqbXAgICAgIC5MX2RvbnRfdXNlX21teAotLkxfdXNlX21teDoKLSAgICAgICAgbW92bCAgICAkRE9fVVNFX01NWCwgaW5mbGF0ZV9mYXN0X3VzZV9tbXgKLSAgICAgICAgam1wICAgICAuTF9jaGVja19tbXhfcG9wCi0uTF9kb250X3VzZV9tbXg6Ci0gICAgICAgIG1vdmwgICAgJERPTlRfVVNFX01NWCwgaW5mbGF0ZV9mYXN0X3VzZV9tbXgKLS5MX2NoZWNrX21teF9wb3A6Ci0gICAgICAgIHBvcGwgICAgJWVkeAotICAgICAgICBwb3BsICAgICVlY3gKLSAgICAgICAgcG9wbCAgICAlZWJ4Ci0gICAgICAgIHBvcGwgICAgJWVheAotICAgICAgICBqbXAgICAgIC5MX2NoZWNrX21teAotI2VuZGlmCi0KLQotLyoqKiBOb24tTU1YIGNvZGUgKioqLwotCi0jaWYgZGVmaW5lZCAoIE5PX01NWCApIHx8IGRlZmluZWQoIFJVTl9USU1FX01NWCApCi0KLSNkZWZpbmUgaG9sZF9yICAgICAlZWJwCi0jZGVmaW5lIGJpdHNfciAgICAgJWJsCi0jZGVmaW5lIGJpdHNsb25nX3IgJWVieAotCi0uYWxpZ24gMzIsMHg5MAotLkxfd2hpbGVfdGVzdDoKLSAgICAgICAgLyogd2hpbGUgKGluIDwgbGFzdCAmJiBvdXQgPCBlbmQpCi0gICAgICAgICAqLwotICAgICAgICBjbXBsICAgIG91dF9yLCBlbmQoJWVzcCkKLSAgICAgICAgamJlICAgICAuTF9icmVha19sb29wICAgICAgICAgICAvKiBpZiAob3V0ID49IGVuZCkgKi8KLQotICAgICAgICBjbXBsICAgIGluX3IsIGxhc3QoJWVzcCkKLSAgICAgICAgamJlICAgICAuTF9icmVha19sb29wCi0KLS5MX2RvX2xvb3A6Ci0gICAgICAgIC8qIHJlZ3M6ICVlc2kgPSBpbiwgJWVicCA9IGhvbGQsICVibCA9IGJpdHMsICVlZGkgPSBvdXQKLSAgICAgICAgICoKLSAgICAgICAgICogZG8gewotICAgICAgICAgKiAgIGlmIChiaXRzIDwgMTUpIHsKLSAgICAgICAgICogICAgIGhvbGQgfD0gKigodW5zaWduZWQgc2hvcnQgKilpbikrKyA8PCBiaXRzOwotICAgICAgICAgKiAgICAgYml0cyArPSAxNgotICAgICAgICAgKiAgIH0KLSAgICAgICAgICogICB0aGlzID0gbGNvZGVbaG9sZCAmIGxtYXNrXQotICAgICAgICAgKi8KLSAgICAgICAgY21wYiAgICAkMTUsIGJpdHNfcgotICAgICAgICBqYSAgICAgIC5MX2dldF9sZW5ndGhfY29kZSAgICAgIC8qIGlmICgxNSA8IGJpdHMpICovCi0KLSAgICAgICAgeG9ybCAgICAlZWF4LCAlZWF4Ci0gICAgICAgIGxvZHN3ICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogYWwgPSAqKHVzaG9ydCAqKWluKysgKi8KLSAgICAgICAgbW92YiAgICBiaXRzX3IsICVjbCAgICAgICAgICAgICAvKiBjbCA9IGJpdHMsIG5lZWRzIGl0IGZvciBzaGlmdGluZyAqLwotICAgICAgICBhZGRiICAgICQxNiwgYml0c19yICAgICAgICAgICAgIC8qIGJpdHMgKz0gMTYgKi8KLSAgICAgICAgc2hsbCAgICAlY2wsICVlYXgKLSAgICAgICAgb3JsICAgICAlZWF4LCBob2xkX3IgICAgICAgICAgICAvKiBob2xkIHw9ICooKHVzaG9ydCAqKWluKSsrIDw8IGJpdHMgKi8KLQotLkxfZ2V0X2xlbmd0aF9jb2RlOgotICAgICAgICBtb3ZsICAgIGxtYXNrKCVlc3ApLCAlZWR4ICAgICAgIC8qIGVkeCA9IGxtYXNrICovCi0gICAgICAgIG1vdmwgICAgbGNvZGUoJWVzcCksICVlY3ggICAgICAgLyogZWN4ID0gbGNvZGUgKi8KLSAgICAgICAgYW5kbCAgICBob2xkX3IsICVlZHggICAgICAgICAgICAvKiBlZHggJj0gaG9sZCAqLwotICAgICAgICBtb3ZsICAgICglZWN4LCVlZHgsNCksICVlYXggICAgIC8qIGVheCA9IGxjb2RlW2hvbGQgJiBsbWFza10gKi8KLQotLkxfZG9sZW46Ci0gICAgICAgIC8qIHJlZ3M6ICVlc2kgPSBpbiwgJWVicCA9IGhvbGQsICVibCA9IGJpdHMsICVlZGkgPSBvdXQKLSAgICAgICAgICoKLSAgICAgICAgICogZG9sZW46Ci0gICAgICAgICAqICAgIGJpdHMgLT0gdGhpcy5iaXRzOwotICAgICAgICAgKiAgICBob2xkID4+PSB0aGlzLmJpdHMKLSAgICAgICAgICovCi0gICAgICAgIG1vdmIgICAgJWFoLCAlY2wgICAgICAgICAgICAgICAgLyogY2wgPSB0aGlzLmJpdHMgKi8KLSAgICAgICAgc3ViYiAgICAlYWgsIGJpdHNfciAgICAgICAgICAgICAvKiBiaXRzIC09IHRoaXMuYml0cyAqLwotICAgICAgICBzaHJsICAgICVjbCwgaG9sZF9yICAgICAgICAgICAgIC8qIGhvbGQgPj49IHRoaXMuYml0cyAqLwotCi0gICAgICAgIC8qIGNoZWNrIGlmIG9wIGlzIGEgbGl0ZXJhbAotICAgICAgICAgKiBpZiAob3AgPT0gMCkgewotICAgICAgICAgKiAgICBQVVAob3V0KSA9IHRoaXMudmFsOwotICAgICAgICAgKiAgfQotICAgICAgICAgKi8KLSAgICAgICAgdGVzdGIgICAlYWwsICVhbAotICAgICAgICBqbnogICAgIC5MX3Rlc3RfZm9yX2xlbmd0aF9iYXNlIC8qIGlmIChvcCAhPSAwKSA0NS43JSAqLwotCi0gICAgICAgIHNocmwgICAgJDE2LCAlZWF4ICAgICAgICAgICAgICAgLyogb3V0cHV0IHRoaXMudmFsIGNoYXIgKi8KLSAgICAgICAgc3Rvc2IKLSAgICAgICAgam1wICAgICAuTF93aGlsZV90ZXN0Ci0KLS5MX3Rlc3RfZm9yX2xlbmd0aF9iYXNlOgotICAgICAgICAvKiByZWdzOiAlZXNpID0gaW4sICVlYnAgPSBob2xkLCAlYmwgPSBiaXRzLCAlZWRpID0gb3V0LCAlZWR4ID0gbGVuCi0gICAgICAgICAqCi0gICAgICAgICAqIGVsc2UgaWYgKG9wICYgMTYpIHsKLSAgICAgICAgICogICBsZW4gPSB0aGlzLnZhbAotICAgICAgICAgKiAgIG9wICY9IDE1Ci0gICAgICAgICAqICAgaWYgKG9wKSB7Ci0gICAgICAgICAqICAgICBpZiAob3AgPiBiaXRzKSB7Ci0gICAgICAgICAqICAgICAgIGhvbGQgfD0gKigodW5zaWduZWQgc2hvcnQgKilpbikrKyA8PCBiaXRzOwotICAgICAgICAgKiAgICAgICBiaXRzICs9IDE2Ci0gICAgICAgICAqICAgICB9Ci0gICAgICAgICAqICAgICBsZW4gKz0gaG9sZCAmIG1hc2tbb3BdOwotICAgICAgICAgKiAgICAgYml0cyAtPSBvcDsKLSAgICAgICAgICogICAgIGhvbGQgPj49IG9wOwotICAgICAgICAgKiAgIH0KLSAgICAgICAgICovCi0jZGVmaW5lIGxlbl9yICVlZHgKLSAgICAgICAgbW92bCAgICAlZWF4LCBsZW5fciAgICAgICAgICAgICAvKiBsZW4gPSB0aGlzICovCi0gICAgICAgIHNocmwgICAgJDE2LCBsZW5fciAgICAgICAgICAgICAgLyogbGVuID0gdGhpcy52YWwgKi8KLSAgICAgICAgbW92YiAgICAlYWwsICVjbAotCi0gICAgICAgIHRlc3RiICAgJDE2LCAlYWwKLSAgICAgICAganogICAgICAuTF90ZXN0X2Zvcl9zZWNvbmRfbGV2ZWxfbGVuZ3RoIC8qIGlmICgob3AgJiAxNikgPT0gMCkgOCUgKi8KLSAgICAgICAgYW5kYiAgICAkMTUsICVjbCAgICAgICAgICAgICAgICAvKiBvcCAmPSAxNSAqLwotICAgICAgICBqeiAgICAgIC5MX3NhdmVfbGVuICAgICAgICAgICAgIC8qIGlmICghb3ApICovCi0gICAgICAgIGNtcGIgICAgJWNsLCBiaXRzX3IKLSAgICAgICAgamFlICAgICAuTF9hZGRfYml0c190b19sZW4gICAgICAvKiBpZiAob3AgPD0gYml0cykgKi8KLQotICAgICAgICBtb3ZiICAgICVjbCwgJWNoICAgICAgICAgICAgICAgIC8qIHN0YXNoIG9wIGluIGNoLCBmcmVlaW5nIGNsICovCi0gICAgICAgIHhvcmwgICAgJWVheCwgJWVheAotICAgICAgICBsb2RzdyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIGFsID0gKih1c2hvcnQgKilpbisrICovCi0gICAgICAgIG1vdmIgICAgYml0c19yLCAlY2wgICAgICAgICAgICAgLyogY2wgPSBiaXRzLCBuZWVkcyBpdCBmb3Igc2hpZnRpbmcgKi8KLSAgICAgICAgYWRkYiAgICAkMTYsIGJpdHNfciAgICAgICAgICAgICAvKiBiaXRzICs9IDE2ICovCi0gICAgICAgIHNobGwgICAgJWNsLCAlZWF4Ci0gICAgICAgIG9ybCAgICAgJWVheCwgaG9sZF9yICAgICAgICAgICAgLyogaG9sZCB8PSAqKCh1c2hvcnQgKilpbikrKyA8PCBiaXRzICovCi0gICAgICAgIG1vdmIgICAgJWNoLCAlY2wgICAgICAgICAgICAgICAgLyogbW92ZSBvcCBiYWNrIHRvIGVjeCAqLwotCi0uTF9hZGRfYml0c190b19sZW46Ci0gICAgICAgIG1vdmwgICAgJDEsICVlYXgKLSAgICAgICAgc2hsbCAgICAlY2wsICVlYXgKLSAgICAgICAgZGVjbCAgICAlZWF4Ci0gICAgICAgIHN1YmIgICAgJWNsLCBiaXRzX3IKLSAgICAgICAgYW5kbCAgICBob2xkX3IsICVlYXggICAgICAgICAgICAvKiBlYXggJj0gaG9sZCAqLwotICAgICAgICBzaHJsICAgICVjbCwgaG9sZF9yCi0gICAgICAgIGFkZGwgICAgJWVheCwgbGVuX3IgICAgICAgICAgICAgLyogbGVuICs9IGhvbGQgJiBtYXNrW29wXSAqLwotCi0uTF9zYXZlX2xlbjoKLSAgICAgICAgbW92bCAgICBsZW5fciwgbGVuKCVlc3ApICAgICAgICAvKiBzYXZlIGxlbiAqLwotI3VuZGVmICBsZW5fcgotCi0uTF9kZWNvZGVfZGlzdGFuY2U6Ci0gICAgICAgIC8qIHJlZ3M6ICVlc2kgPSBpbiwgJWVicCA9IGhvbGQsICVibCA9IGJpdHMsICVlZGkgPSBvdXQsICVlZHggPSBkaXN0Ci0gICAgICAgICAqCi0gICAgICAgICAqICAgaWYgKGJpdHMgPCAxNSkgewotICAgICAgICAgKiAgICAgaG9sZCB8PSAqKCh1bnNpZ25lZCBzaG9ydCAqKWluKSsrIDw8IGJpdHM7Ci0gICAgICAgICAqICAgICBiaXRzICs9IDE2Ci0gICAgICAgICAqICAgfQotICAgICAgICAgKiAgIHRoaXMgPSBkY29kZVtob2xkICYgZG1hc2tdOwotICAgICAgICAgKiBkb2Rpc3Q6Ci0gICAgICAgICAqICAgYml0cyAtPSB0aGlzLmJpdHM7Ci0gICAgICAgICAqICAgaG9sZCA+Pj0gdGhpcy5iaXRzOwotICAgICAgICAgKiAgIG9wID0gdGhpcy5vcDsKLSAgICAgICAgICovCi0KLSAgICAgICAgY21wYiAgICAkMTUsIGJpdHNfcgotICAgICAgICBqYSAgICAgIC5MX2dldF9kaXN0YW5jZV9jb2RlICAgIC8qIGlmICgxNSA8IGJpdHMpICovCi0KLSAgICAgICAgeG9ybCAgICAlZWF4LCAlZWF4Ci0gICAgICAgIGxvZHN3ICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogYWwgPSAqKHVzaG9ydCAqKWluKysgKi8KLSAgICAgICAgbW92YiAgICBiaXRzX3IsICVjbCAgICAgICAgICAgICAvKiBjbCA9IGJpdHMsIG5lZWRzIGl0IGZvciBzaGlmdGluZyAqLwotICAgICAgICBhZGRiICAgICQxNiwgYml0c19yICAgICAgICAgICAgIC8qIGJpdHMgKz0gMTYgKi8KLSAgICAgICAgc2hsbCAgICAlY2wsICVlYXgKLSAgICAgICAgb3JsICAgICAlZWF4LCBob2xkX3IgICAgICAgICAgICAvKiBob2xkIHw9ICooKHVzaG9ydCAqKWluKSsrIDw8IGJpdHMgKi8KLQotLkxfZ2V0X2Rpc3RhbmNlX2NvZGU6Ci0gICAgICAgIG1vdmwgICAgZG1hc2soJWVzcCksICVlZHggICAgICAgLyogZWR4ID0gZG1hc2sgKi8KLSAgICAgICAgbW92bCAgICBkY29kZSglZXNwKSwgJWVjeCAgICAgICAvKiBlY3ggPSBkY29kZSAqLwotICAgICAgICBhbmRsICAgIGhvbGRfciwgJWVkeCAgICAgICAgICAgIC8qIGVkeCAmPSBob2xkICovCi0gICAgICAgIG1vdmwgICAgKCVlY3gsJWVkeCw0KSwgJWVheCAgICAgLyogZWF4ID0gZGNvZGVbaG9sZCAmIGRtYXNrXSAqLwotCi0jZGVmaW5lIGRpc3RfciAlZWR4Ci0uTF9kb2Rpc3Q6Ci0gICAgICAgIG1vdmwgICAgJWVheCwgZGlzdF9yICAgICAgICAgICAgLyogZGlzdCA9IHRoaXMgKi8KLSAgICAgICAgc2hybCAgICAkMTYsIGRpc3RfciAgICAgICAgICAgICAvKiBkaXN0ID0gdGhpcy52YWwgKi8KLSAgICAgICAgbW92YiAgICAlYWgsICVjbAotICAgICAgICBzdWJiICAgICVhaCwgYml0c19yICAgICAgICAgICAgIC8qIGJpdHMgLT0gdGhpcy5iaXRzICovCi0gICAgICAgIHNocmwgICAgJWNsLCBob2xkX3IgICAgICAgICAgICAgLyogaG9sZCA+Pj0gdGhpcy5iaXRzICovCi0KLSAgICAgICAgLyogaWYgKG9wICYgMTYpIHsKLSAgICAgICAgICogICBkaXN0ID0gdGhpcy52YWwKLSAgICAgICAgICogICBvcCAmPSAxNQotICAgICAgICAgKiAgIGlmIChvcCA+IGJpdHMpIHsKLSAgICAgICAgICogICAgIGhvbGQgfD0gKigodW5zaWduZWQgc2hvcnQgKilpbikrKyA8PCBiaXRzOwotICAgICAgICAgKiAgICAgYml0cyArPSAxNgotICAgICAgICAgKiAgIH0KLSAgICAgICAgICogICBkaXN0ICs9IGhvbGQgJiBtYXNrW29wXTsKLSAgICAgICAgICogICBiaXRzIC09IG9wOwotICAgICAgICAgKiAgIGhvbGQgPj49IG9wOwotICAgICAgICAgKi8KLSAgICAgICAgbW92YiAgICAlYWwsICVjbCAgICAgICAgICAgICAgICAvKiBjbCA9IHRoaXMub3AgKi8KLQotICAgICAgICB0ZXN0YiAgICQxNiwgJWFsICAgICAgICAgICAgICAgIC8qIGlmICgob3AgJiAxNikgPT0gMCkgKi8KLSAgICAgICAganogICAgICAuTF90ZXN0X2Zvcl9zZWNvbmRfbGV2ZWxfZGlzdAotICAgICAgICBhbmRiICAgICQxNSwgJWNsICAgICAgICAgICAgICAgIC8qIG9wICY9IDE1ICovCi0gICAgICAgIGp6ICAgICAgLkxfY2hlY2tfZGlzdF9vbmUKLSAgICAgICAgY21wYiAgICAlY2wsIGJpdHNfcgotICAgICAgICBqYWUgICAgIC5MX2FkZF9iaXRzX3RvX2Rpc3QgICAgIC8qIGlmIChvcCA8PSBiaXRzKSA5Ny42JSAqLwotCi0gICAgICAgIG1vdmIgICAgJWNsLCAlY2ggICAgICAgICAgICAgICAgLyogc3Rhc2ggb3AgaW4gY2gsIGZyZWVpbmcgY2wgKi8KLSAgICAgICAgeG9ybCAgICAlZWF4LCAlZWF4Ci0gICAgICAgIGxvZHN3ICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogYWwgPSAqKHVzaG9ydCAqKWluKysgKi8KLSAgICAgICAgbW92YiAgICBiaXRzX3IsICVjbCAgICAgICAgICAgICAvKiBjbCA9IGJpdHMsIG5lZWRzIGl0IGZvciBzaGlmdGluZyAqLwotICAgICAgICBhZGRiICAgICQxNiwgYml0c19yICAgICAgICAgICAgIC8qIGJpdHMgKz0gMTYgKi8KLSAgICAgICAgc2hsbCAgICAlY2wsICVlYXgKLSAgICAgICAgb3JsICAgICAlZWF4LCBob2xkX3IgICAgICAgICAgICAvKiBob2xkIHw9ICooKHVzaG9ydCAqKWluKSsrIDw8IGJpdHMgKi8KLSAgICAgICAgbW92YiAgICAlY2gsICVjbCAgICAgICAgICAgICAgICAvKiBtb3ZlIG9wIGJhY2sgdG8gZWN4ICovCi0KLS5MX2FkZF9iaXRzX3RvX2Rpc3Q6Ci0gICAgICAgIG1vdmwgICAgJDEsICVlYXgKLSAgICAgICAgc2hsbCAgICAlY2wsICVlYXgKLSAgICAgICAgZGVjbCAgICAlZWF4ICAgICAgICAgICAgICAgICAgICAvKiAoMSA8PCBvcCkgLSAxICovCi0gICAgICAgIHN1YmIgICAgJWNsLCBiaXRzX3IKLSAgICAgICAgYW5kbCAgICBob2xkX3IsICVlYXggICAgICAgICAgICAvKiBlYXggJj0gaG9sZCAqLwotICAgICAgICBzaHJsICAgICVjbCwgaG9sZF9yCi0gICAgICAgIGFkZGwgICAgJWVheCwgZGlzdF9yICAgICAgICAgICAgLyogZGlzdCArPSBob2xkICYgKCgxIDw8IG9wKSAtIDEpICovCi0gICAgICAgIGptcCAgICAgLkxfY2hlY2tfd2luZG93Ci0KLS5MX2NoZWNrX3dpbmRvdzoKLSAgICAgICAgLyogcmVnczogJWVzaSA9IGZyb20sICVlYnAgPSBob2xkLCAlYmwgPSBiaXRzLCAlZWRpID0gb3V0LCAlZWR4ID0gZGlzdAotICAgICAgICAgKiAgICAgICAlZWN4ID0gbmJ5dGVzCi0gICAgICAgICAqCi0gICAgICAgICAqIG5ieXRlcyA9IG91dCAtIGJlZzsKLSAgICAgICAgICogaWYgKGRpc3QgPD0gbmJ5dGVzKSB7Ci0gICAgICAgICAqICAgZnJvbSA9IG91dCAtIGRpc3Q7Ci0gICAgICAgICAqICAgZG8gewotICAgICAgICAgKiAgICAgUFVQKG91dCkgPSBQVVAoZnJvbSk7Ci0gICAgICAgICAqICAgfSB3aGlsZSAoLS1sZW4gPiAwKSB7Ci0gICAgICAgICAqIH0KLSAgICAgICAgICovCi0KLSAgICAgICAgbW92bCAgICBpbl9yLCBpbiglZXNwKSAgICAgICAgICAvKiBzYXZlIGluIHNvIGZyb20gY2FuIHVzZSBpdCdzIHJlZyAqLwotICAgICAgICBtb3ZsICAgIG91dF9yLCAlZWF4Ci0gICAgICAgIHN1YmwgICAgYmVnKCVlc3ApLCAlZWF4ICAgICAgICAgLyogbmJ5dGVzID0gb3V0IC0gYmVnICovCi0KLSAgICAgICAgY21wbCAgICBkaXN0X3IsICVlYXgKLSAgICAgICAgamIgICAgICAuTF9jbGlwX3dpbmRvdyAgICAgICAgICAvKiBpZiAoZGlzdCA+IG5ieXRlcykgNC4yJSAqLwotCi0gICAgICAgIG1vdmwgICAgbGVuKCVlc3ApLCAlZWN4Ci0gICAgICAgIG1vdmwgICAgb3V0X3IsIGZyb21fcgotICAgICAgICBzdWJsICAgIGRpc3RfciwgZnJvbV9yICAgICAgICAgIC8qIGZyb20gPSBvdXQgLSBkaXN0ICovCi0KLSAgICAgICAgc3VibCAgICAkMywgJWVjeAotICAgICAgICBtb3ZiICAgIChmcm9tX3IpLCAlYWwKLSAgICAgICAgbW92YiAgICAlYWwsIChvdXRfcikKLSAgICAgICAgbW92YiAgICAxKGZyb21fciksICVhbAotICAgICAgICBtb3ZiICAgIDIoZnJvbV9yKSwgJWRsCi0gICAgICAgIGFkZGwgICAgJDMsIGZyb21fcgotICAgICAgICBtb3ZiICAgICVhbCwgMShvdXRfcikKLSAgICAgICAgbW92YiAgICAlZGwsIDIob3V0X3IpCi0gICAgICAgIGFkZGwgICAgJDMsIG91dF9yCi0gICAgICAgIHJlcCAgICAgbW92c2IKLQotICAgICAgICBtb3ZsICAgIGluKCVlc3ApLCBpbl9yICAgICAgICAgIC8qIG1vdmUgaW4gYmFjayB0byAlZXNpLCB0b3NzIGZyb20gKi8KLSAgICAgICAgam1wICAgICAuTF93aGlsZV90ZXN0Ci0KLS5hbGlnbiAxNiwweDkwCi0uTF9jaGVja19kaXN0X29uZToKLSAgICAgICAgY21wbCAgICAkMSwgZGlzdF9yCi0gICAgICAgIGpuZSAgICAgLkxfY2hlY2tfd2luZG93Ci0gICAgICAgIGNtcGwgICAgb3V0X3IsIGJlZyglZXNwKQotICAgICAgICBqZSAgICAgIC5MX2NoZWNrX3dpbmRvdwotCi0gICAgICAgIGRlY2wgICAgb3V0X3IKLSAgICAgICAgbW92bCAgICBsZW4oJWVzcCksICVlY3gKLSAgICAgICAgbW92YiAgICAob3V0X3IpLCAlYWwKLSAgICAgICAgc3VibCAgICAkMywgJWVjeAotCi0gICAgICAgIG1vdmIgICAgJWFsLCAxKG91dF9yKQotICAgICAgICBtb3ZiICAgICVhbCwgMihvdXRfcikKLSAgICAgICAgbW92YiAgICAlYWwsIDMob3V0X3IpCi0gICAgICAgIGFkZGwgICAgJDQsIG91dF9yCi0gICAgICAgIHJlcCAgICAgc3Rvc2IKLQotICAgICAgICBqbXAgICAgIC5MX3doaWxlX3Rlc3QKLQotLmFsaWduIDE2LDB4OTAKLS5MX3Rlc3RfZm9yX3NlY29uZF9sZXZlbF9sZW5ndGg6Ci0gICAgICAgIC8qIGVsc2UgaWYgKChvcCAmIDY0KSA9PSAwKSB7Ci0gICAgICAgICAqICAgdGhpcyA9IGxjb2RlW3RoaXMudmFsICsgKGhvbGQgJiBtYXNrW29wXSldOwotICAgICAgICAgKiB9Ci0gICAgICAgICAqLwotICAgICAgICB0ZXN0YiAgICQ2NCwgJWFsCi0gICAgICAgIGpueiAgICAgLkxfdGVzdF9mb3JfZW5kX29mX2Jsb2NrICAvKiBpZiAoKG9wICYgNjQpICE9IDApICovCi0KLSAgICAgICAgbW92bCAgICAkMSwgJWVheAotICAgICAgICBzaGxsICAgICVjbCwgJWVheAotICAgICAgICBkZWNsICAgICVlYXgKLSAgICAgICAgYW5kbCAgICBob2xkX3IsICVlYXggICAgICAgICAgICAvKiBlYXggJj0gaG9sZCAqLwotICAgICAgICBhZGRsICAgICVlZHgsICVlYXggICAgICAgICAgICAgIC8qIGVheCArPSB0aGlzLnZhbCAqLwotICAgICAgICBtb3ZsICAgIGxjb2RlKCVlc3ApLCAlZWR4ICAgICAgIC8qIGVkeCA9IGxjb2RlICovCi0gICAgICAgIG1vdmwgICAgKCVlZHgsJWVheCw0KSwgJWVheCAgICAgLyogZWF4ID0gbGNvZGVbdmFsICsgKGhvbGQmbWFza1tvcF0pXSAqLwotICAgICAgICBqbXAgICAgIC5MX2RvbGVuCi0KLS5hbGlnbiAxNiwweDkwCi0uTF90ZXN0X2Zvcl9zZWNvbmRfbGV2ZWxfZGlzdDoKLSAgICAgICAgLyogZWxzZSBpZiAoKG9wICYgNjQpID09IDApIHsKLSAgICAgICAgICogICB0aGlzID0gZGNvZGVbdGhpcy52YWwgKyAoaG9sZCAmIG1hc2tbb3BdKV07Ci0gICAgICAgICAqIH0KLSAgICAgICAgICovCi0gICAgICAgIHRlc3RiICAgJDY0LCAlYWwKLSAgICAgICAgam56ICAgICAuTF9pbnZhbGlkX2Rpc3RhbmNlX2NvZGUgIC8qIGlmICgob3AgJiA2NCkgIT0gMCkgKi8KLQotICAgICAgICBtb3ZsICAgICQxLCAlZWF4Ci0gICAgICAgIHNobGwgICAgJWNsLCAlZWF4Ci0gICAgICAgIGRlY2wgICAgJWVheAotICAgICAgICBhbmRsICAgIGhvbGRfciwgJWVheCAgICAgICAgICAgIC8qIGVheCAmPSBob2xkICovCi0gICAgICAgIGFkZGwgICAgJWVkeCwgJWVheCAgICAgICAgICAgICAgLyogZWF4ICs9IHRoaXMudmFsICovCi0gICAgICAgIG1vdmwgICAgZGNvZGUoJWVzcCksICVlZHggICAgICAgLyogZWR4ID0gZGNvZGUgKi8KLSAgICAgICAgbW92bCAgICAoJWVkeCwlZWF4LDQpLCAlZWF4ICAgICAvKiBlYXggPSBkY29kZVt2YWwgKyAoaG9sZCZtYXNrW29wXSldICovCi0gICAgICAgIGptcCAgICAgLkxfZG9kaXN0Ci0KLS5hbGlnbiAxNiwweDkwCi0uTF9jbGlwX3dpbmRvdzoKLSAgICAgICAgLyogcmVnczogJWVzaSA9IGZyb20sICVlYnAgPSBob2xkLCAlYmwgPSBiaXRzLCAlZWRpID0gb3V0LCAlZWR4ID0gZGlzdAotICAgICAgICAgKiAgICAgICAlZWN4ID0gbmJ5dGVzCi0gICAgICAgICAqCi0gICAgICAgICAqIGVsc2UgewotICAgICAgICAgKiAgIGlmIChkaXN0ID4gd3NpemUpIHsKLSAgICAgICAgICogICAgIGludmFsaWQgZGlzdGFuY2UKLSAgICAgICAgICogICB9Ci0gICAgICAgICAqICAgZnJvbSA9IHdpbmRvdzsKLSAgICAgICAgICogICBuYnl0ZXMgPSBkaXN0IC0gbmJ5dGVzOwotICAgICAgICAgKiAgIGlmICh3cml0ZSA9PSAwKSB7Ci0gICAgICAgICAqICAgICBmcm9tICs9IHdzaXplIC0gbmJ5dGVzOwotICAgICAgICAgKi8KLSNkZWZpbmUgbmJ5dGVzX3IgJWVjeAotICAgICAgICBtb3ZsICAgICVlYXgsIG5ieXRlc19yCi0gICAgICAgIG1vdmwgICAgd3NpemUoJWVzcCksICVlYXggICAgICAgLyogcHJlcGFyZSBmb3IgZGlzdCBjb21wYXJlICovCi0gICAgICAgIG5lZ2wgICAgbmJ5dGVzX3IgICAgICAgICAgICAgICAgLyogbmJ5dGVzID0gLW5ieXRlcyAqLwotICAgICAgICBtb3ZsICAgIHdpbmRvdyglZXNwKSwgZnJvbV9yICAgIC8qIGZyb20gPSB3aW5kb3cgKi8KLQotICAgICAgICBjbXBsICAgIGRpc3RfciwgJWVheAotICAgICAgICBqYiAgICAgIC5MX2ludmFsaWRfZGlzdGFuY2VfdG9vX2ZhciAvKiBpZiAoZGlzdCA+IHdzaXplKSAqLwotCi0gICAgICAgIGFkZGwgICAgZGlzdF9yLCBuYnl0ZXNfciAgICAgICAgLyogbmJ5dGVzID0gZGlzdCAtIG5ieXRlcyAqLwotICAgICAgICBjbXBsICAgICQwLCB3cml0ZSglZXNwKQotICAgICAgICBqbmUgICAgIC5MX3dyYXBfYXJvdW5kX3dpbmRvdyAgIC8qIGlmICh3cml0ZSAhPSAwKSAqLwotCi0gICAgICAgIHN1YmwgICAgbmJ5dGVzX3IsICVlYXgKLSAgICAgICAgYWRkbCAgICAlZWF4LCBmcm9tX3IgICAgICAgICAgICAvKiBmcm9tICs9IHdzaXplIC0gbmJ5dGVzICovCi0KLSAgICAgICAgLyogcmVnczogJWVzaSA9IGZyb20sICVlYnAgPSBob2xkLCAlYmwgPSBiaXRzLCAlZWRpID0gb3V0LCAlZWR4ID0gZGlzdAotICAgICAgICAgKiAgICAgICAlZWN4ID0gbmJ5dGVzLCAlZWF4ID0gbGVuCi0gICAgICAgICAqCi0gICAgICAgICAqICAgICBpZiAobmJ5dGVzIDwgbGVuKSB7Ci0gICAgICAgICAqICAgICAgIGxlbiAtPSBuYnl0ZXM7Ci0gICAgICAgICAqICAgICAgIGRvIHsKLSAgICAgICAgICogICAgICAgICBQVVAob3V0KSA9IFBVUChmcm9tKTsKLSAgICAgICAgICogICAgICAgfSB3aGlsZSAoLS1uYnl0ZXMpOwotICAgICAgICAgKiAgICAgICBmcm9tID0gb3V0IC0gZGlzdDsKLSAgICAgICAgICogICAgIH0KLSAgICAgICAgICogICB9Ci0gICAgICAgICAqLwotI2RlZmluZSBsZW5fciAlZWF4Ci0gICAgICAgIG1vdmwgICAgbGVuKCVlc3ApLCBsZW5fcgotICAgICAgICBjbXBsICAgIG5ieXRlc19yLCBsZW5fcgotICAgICAgICBqYmUgICAgIC5MX2RvX2NvcHkxICAgICAgICAgICAgIC8qIGlmIChuYnl0ZXMgPj0gbGVuKSAqLwotCi0gICAgICAgIHN1YmwgICAgbmJ5dGVzX3IsIGxlbl9yICAgICAgICAgLyogbGVuIC09IG5ieXRlcyAqLwotICAgICAgICByZXAgICAgIG1vdnNiCi0gICAgICAgIG1vdmwgICAgb3V0X3IsIGZyb21fcgotICAgICAgICBzdWJsICAgIGRpc3RfciwgZnJvbV9yICAgICAgICAgIC8qIGZyb20gPSBvdXQgLSBkaXN0ICovCi0gICAgICAgIGptcCAgICAgLkxfZG9fY29weTEKLQotICAgICAgICBjbXBsICAgIG5ieXRlc19yLCBsZW5fcgotICAgICAgICBqYmUgICAgIC5MX2RvX2NvcHkxICAgICAgICAgICAgIC8qIGlmIChuYnl0ZXMgPj0gbGVuKSAqLwotCi0gICAgICAgIHN1YmwgICAgbmJ5dGVzX3IsIGxlbl9yICAgICAgICAgLyogbGVuIC09IG5ieXRlcyAqLwotICAgICAgICByZXAgICAgIG1vdnNiCi0gICAgICAgIG1vdmwgICAgb3V0X3IsIGZyb21fcgotICAgICAgICBzdWJsICAgIGRpc3RfciwgZnJvbV9yICAgICAgICAgIC8qIGZyb20gPSBvdXQgLSBkaXN0ICovCi0gICAgICAgIGptcCAgICAgLkxfZG9fY29weTEKLQotLkxfd3JhcF9hcm91bmRfd2luZG93OgotICAgICAgICAvKiByZWdzOiAlZXNpID0gZnJvbSwgJWVicCA9IGhvbGQsICVibCA9IGJpdHMsICVlZGkgPSBvdXQsICVlZHggPSBkaXN0Ci0gICAgICAgICAqICAgICAgICVlY3ggPSBuYnl0ZXMsICVlYXggPSB3cml0ZSwgJWVheCA9IGxlbgotICAgICAgICAgKgotICAgICAgICAgKiAgIGVsc2UgaWYgKHdyaXRlIDwgbmJ5dGVzKSB7Ci0gICAgICAgICAqICAgICBmcm9tICs9IHdzaXplICsgd3JpdGUgLSBuYnl0ZXM7Ci0gICAgICAgICAqICAgICBuYnl0ZXMgLT0gd3JpdGU7Ci0gICAgICAgICAqICAgICBpZiAobmJ5dGVzIDwgbGVuKSB7Ci0gICAgICAgICAqICAgICAgIGxlbiAtPSBuYnl0ZXM7Ci0gICAgICAgICAqICAgICAgIGRvIHsKLSAgICAgICAgICogICAgICAgICBQVVAob3V0KSA9IFBVUChmcm9tKTsKLSAgICAgICAgICogICAgICAgfSB3aGlsZSAoLS1uYnl0ZXMpOwotICAgICAgICAgKiAgICAgICBmcm9tID0gd2luZG93OwotICAgICAgICAgKiAgICAgICBuYnl0ZXMgPSB3cml0ZTsKLSAgICAgICAgICogICAgICAgaWYgKG5ieXRlcyA8IGxlbikgewotICAgICAgICAgKiAgICAgICAgIGxlbiAtPSBuYnl0ZXM7Ci0gICAgICAgICAqICAgICAgICAgZG8gewotICAgICAgICAgKiAgICAgICAgICAgUFVQKG91dCkgPSBQVVAoZnJvbSk7Ci0gICAgICAgICAqICAgICAgICAgfSB3aGlsZSgtLW5ieXRlcyk7Ci0gICAgICAgICAqICAgICAgICAgZnJvbSA9IG91dCAtIGRpc3Q7Ci0gICAgICAgICAqICAgICAgIH0KLSAgICAgICAgICogICAgIH0KLSAgICAgICAgICogICB9Ci0gICAgICAgICAqLwotI2RlZmluZSB3cml0ZV9yICVlYXgKLSAgICAgICAgbW92bCAgICB3cml0ZSglZXNwKSwgd3JpdGVfcgotICAgICAgICBjbXBsICAgIHdyaXRlX3IsIG5ieXRlc19yCi0gICAgICAgIGpiZSAgICAgLkxfY29udGlndW91c19pbl93aW5kb3cgLyogaWYgKHdyaXRlID49IG5ieXRlcykgKi8KLQotICAgICAgICBhZGRsICAgIHdzaXplKCVlc3ApLCBmcm9tX3IKLSAgICAgICAgYWRkbCAgICB3cml0ZV9yLCBmcm9tX3IKLSAgICAgICAgc3VibCAgICBuYnl0ZXNfciwgZnJvbV9yICAgICAgICAvKiBmcm9tICs9IHdzaXplICsgd3JpdGUgLSBuYnl0ZXMgKi8KLSAgICAgICAgc3VibCAgICB3cml0ZV9yLCBuYnl0ZXNfciAgICAgICAvKiBuYnl0ZXMgLT0gd3JpdGUgKi8KLSN1bmRlZiB3cml0ZV9yCi0KLSAgICAgICAgbW92bCAgICBsZW4oJWVzcCksIGxlbl9yCi0gICAgICAgIGNtcGwgICAgbmJ5dGVzX3IsIGxlbl9yCi0gICAgICAgIGpiZSAgICAgLkxfZG9fY29weTEgICAgICAgICAgICAgLyogaWYgKG5ieXRlcyA+PSBsZW4pICovCi0KLSAgICAgICAgc3VibCAgICBuYnl0ZXNfciwgbGVuX3IgICAgICAgICAvKiBsZW4gLT0gbmJ5dGVzICovCi0gICAgICAgIHJlcCAgICAgbW92c2IKLSAgICAgICAgbW92bCAgICB3aW5kb3coJWVzcCksIGZyb21fciAgICAvKiBmcm9tID0gd2luZG93ICovCi0gICAgICAgIG1vdmwgICAgd3JpdGUoJWVzcCksIG5ieXRlc19yICAgLyogbmJ5dGVzID0gd3JpdGUgKi8KLSAgICAgICAgY21wbCAgICBuYnl0ZXNfciwgbGVuX3IKLSAgICAgICAgamJlICAgICAuTF9kb19jb3B5MSAgICAgICAgICAgICAvKiBpZiAobmJ5dGVzID49IGxlbikgKi8KLQotICAgICAgICBzdWJsICAgIG5ieXRlc19yLCBsZW5fciAgICAgICAgIC8qIGxlbiAtPSBuYnl0ZXMgKi8KLSAgICAgICAgcmVwICAgICBtb3ZzYgotICAgICAgICBtb3ZsICAgIG91dF9yLCBmcm9tX3IKLSAgICAgICAgc3VibCAgICBkaXN0X3IsIGZyb21fciAgICAgICAgICAvKiBmcm9tID0gb3V0IC0gZGlzdCAqLwotICAgICAgICBqbXAgICAgIC5MX2RvX2NvcHkxCi0KLS5MX2NvbnRpZ3VvdXNfaW5fd2luZG93OgotICAgICAgICAvKiByZWdzOiAlZXNpID0gZnJvbSwgJWVicCA9IGhvbGQsICVibCA9IGJpdHMsICVlZGkgPSBvdXQsICVlZHggPSBkaXN0Ci0gICAgICAgICAqICAgICAgICVlY3ggPSBuYnl0ZXMsICVlYXggPSB3cml0ZSwgJWVheCA9IGxlbgotICAgICAgICAgKgotICAgICAgICAgKiAgIGVsc2UgewotICAgICAgICAgKiAgICAgZnJvbSArPSB3cml0ZSAtIG5ieXRlczsKLSAgICAgICAgICogICAgIGlmIChuYnl0ZXMgPCBsZW4pIHsKLSAgICAgICAgICogICAgICAgbGVuIC09IG5ieXRlczsKLSAgICAgICAgICogICAgICAgZG8gewotICAgICAgICAgKiAgICAgICAgIFBVUChvdXQpID0gUFVQKGZyb20pOwotICAgICAgICAgKiAgICAgICB9IHdoaWxlICgtLW5ieXRlcyk7Ci0gICAgICAgICAqICAgICAgIGZyb20gPSBvdXQgLSBkaXN0OwotICAgICAgICAgKiAgICAgfQotICAgICAgICAgKiAgIH0KLSAgICAgICAgICovCi0jZGVmaW5lIHdyaXRlX3IgJWVheAotICAgICAgICBhZGRsICAgIHdyaXRlX3IsIGZyb21fcgotICAgICAgICBzdWJsICAgIG5ieXRlc19yLCBmcm9tX3IgICAgICAgIC8qIGZyb20gKz0gd3JpdGUgLSBuYnl0ZXMgKi8KLSN1bmRlZiB3cml0ZV9yCi0KLSAgICAgICAgbW92bCAgICBsZW4oJWVzcCksIGxlbl9yCi0gICAgICAgIGNtcGwgICAgbmJ5dGVzX3IsIGxlbl9yCi0gICAgICAgIGpiZSAgICAgLkxfZG9fY29weTEgICAgICAgICAgICAgLyogaWYgKG5ieXRlcyA+PSBsZW4pICovCi0KLSAgICAgICAgc3VibCAgICBuYnl0ZXNfciwgbGVuX3IgICAgICAgICAvKiBsZW4gLT0gbmJ5dGVzICovCi0gICAgICAgIHJlcCAgICAgbW92c2IKLSAgICAgICAgbW92bCAgICBvdXRfciwgZnJvbV9yCi0gICAgICAgIHN1YmwgICAgZGlzdF9yLCBmcm9tX3IgICAgICAgICAgLyogZnJvbSA9IG91dCAtIGRpc3QgKi8KLQotLkxfZG9fY29weTE6Ci0gICAgICAgIC8qIHJlZ3M6ICVlc2kgPSBmcm9tLCAlZXNpID0gaW4sICVlYnAgPSBob2xkLCAlYmwgPSBiaXRzLCAlZWRpID0gb3V0Ci0gICAgICAgICAqICAgICAgICVlYXggPSBsZW4KLSAgICAgICAgICoKLSAgICAgICAgICogICAgIHdoaWxlIChsZW4gPiAwKSB7Ci0gICAgICAgICAqICAgICAgIFBVUChvdXQpID0gUFVQKGZyb20pOwotICAgICAgICAgKiAgICAgICBsZW4tLTsKLSAgICAgICAgICogICAgIH0KLSAgICAgICAgICogICB9Ci0gICAgICAgICAqIH0gd2hpbGUgKGluIDwgbGFzdCAmJiBvdXQgPCBlbmQpOwotICAgICAgICAgKi8KLSN1bmRlZiBuYnl0ZXNfcgotI2RlZmluZSBpbl9yICVlc2kKLSAgICAgICAgbW92bCAgICBsZW5fciwgJWVjeAotICAgICAgICByZXAgICAgIG1vdnNiCi0KLSAgICAgICAgbW92bCAgICBpbiglZXNwKSwgaW5fciAgICAgICAgICAvKiBtb3ZlIGluIGJhY2sgdG8gJWVzaSwgdG9zcyBmcm9tICovCi0gICAgICAgIGptcCAgICAgLkxfd2hpbGVfdGVzdAotCi0jdW5kZWYgbGVuX3IKLSN1bmRlZiBkaXN0X3IKLQotI2VuZGlmIC8qIE5PX01NWCB8fCBSVU5fVElNRV9NTVggKi8KLQotCi0vKioqIE1NWCBjb2RlICoqKi8KLQotI2lmIGRlZmluZWQoIFVTRV9NTVggKSB8fCBkZWZpbmVkKCBSVU5fVElNRV9NTVggKQotCi0uYWxpZ24gMzIsMHg5MAotLkxfaW5pdF9tbXg6Ci0gICAgICAgIGVtbXMKLQotI3VuZGVmICBiaXRzX3IKLSN1bmRlZiAgYml0c2xvbmdfcgotI2RlZmluZSBiaXRzbG9uZ19yICVlYnAKLSNkZWZpbmUgaG9sZF9tbSAgICAlbW0wCi0gICAgICAgIG1vdmQgICAgJWVicCwgaG9sZF9tbQotICAgICAgICBtb3ZsICAgICVlYngsIGJpdHNsb25nX3IKLQotI2RlZmluZSB1c2VkX21tICAgJW1tMQotI2RlZmluZSBkbWFzazJfbW0gJW1tMgotI2RlZmluZSBsbWFzazJfbW0gJW1tMwotI2RlZmluZSBsbWFza19tbSAgJW1tNAotI2RlZmluZSBkbWFza19tbSAgJW1tNQotI2RlZmluZSB0bXBfbW0gICAgJW1tNgotCi0gICAgICAgIG1vdmQgICAgbG1hc2soJWVzcCksIGxtYXNrX21tCi0gICAgICAgIG1vdnEgICAgbG1hc2tfbW0sIGxtYXNrMl9tbQotICAgICAgICBtb3ZkICAgIGRtYXNrKCVlc3ApLCBkbWFza19tbQotICAgICAgICBtb3ZxICAgIGRtYXNrX21tLCBkbWFzazJfbW0KLSAgICAgICAgcHhvciAgICB1c2VkX21tLCB1c2VkX21tCi0gICAgICAgIG1vdmwgICAgbGNvZGUoJWVzcCksICVlYnggICAgICAgLyogZWJ4ID0gbGNvZGUgKi8KLSAgICAgICAgam1wICAgICAuTF9kb19sb29wX21teAotCi0uYWxpZ24gMzIsMHg5MAotLkxfd2hpbGVfdGVzdF9tbXg6Ci0gICAgICAgIC8qIHdoaWxlIChpbiA8IGxhc3QgJiYgb3V0IDwgZW5kKQotICAgICAgICAgKi8KLSAgICAgICAgY21wbCAgICBvdXRfciwgZW5kKCVlc3ApCi0gICAgICAgIGpiZSAgICAgLkxfYnJlYWtfbG9vcCAgICAgICAgICAgLyogaWYgKG91dCA+PSBlbmQpICovCi0KLSAgICAgICAgY21wbCAgICBpbl9yLCBsYXN0KCVlc3ApCi0gICAgICAgIGpiZSAgICAgLkxfYnJlYWtfbG9vcAotCi0uTF9kb19sb29wX21teDoKLSAgICAgICAgcHNybHEgICB1c2VkX21tLCBob2xkX21tICAgICAgICAvKiBob2xkX21tID4+PSBsYXN0IGJpdCBsZW5ndGggKi8KLQotICAgICAgICBjbXBsICAgICQzMiwgYml0c2xvbmdfcgotICAgICAgICBqYSAgICAgIC5MX2dldF9sZW5ndGhfY29kZV9tbXggIC8qIGlmICgzMiA8IGJpdHMpICovCi0KLSAgICAgICAgbW92ZCAgICBiaXRzbG9uZ19yLCB0bXBfbW0KLSAgICAgICAgbW92ZCAgICAoaW5fciksICVtbTcKLSAgICAgICAgYWRkbCAgICAkNCwgaW5fcgotICAgICAgICBwc2xscSAgIHRtcF9tbSwgJW1tNwotICAgICAgICBhZGRsICAgICQzMiwgYml0c2xvbmdfcgotICAgICAgICBwb3IgICAgICVtbTcsIGhvbGRfbW0gICAgICAgICAgIC8qIGhvbGRfbW0gfD0gKigodWludCAqKWluKSsrIDw8IGJpdHMgKi8KLQotLkxfZ2V0X2xlbmd0aF9jb2RlX21teDoKLSAgICAgICAgcGFuZCAgICBob2xkX21tLCBsbWFza19tbQotICAgICAgICBtb3ZkICAgIGxtYXNrX21tLCAlZWF4Ci0gICAgICAgIG1vdnEgICAgbG1hc2syX21tLCBsbWFza19tbQotICAgICAgICBtb3ZsICAgICglZWJ4LCVlYXgsNCksICVlYXggICAgIC8qIGVheCA9IGxjb2RlW2hvbGQgJiBsbWFza10gKi8KLQotLkxfZG9sZW5fbW14OgotICAgICAgICBtb3Z6YmwgICVhaCwgJWVjeCAgICAgICAgICAgICAgIC8qIGVjeCA9IHRoaXMuYml0cyAqLwotICAgICAgICBtb3ZkICAgICVlY3gsIHVzZWRfbW0KLSAgICAgICAgc3VibCAgICAlZWN4LCBiaXRzbG9uZ19yICAgICAgICAvKiBiaXRzIC09IHRoaXMuYml0cyAqLwotCi0gICAgICAgIHRlc3RiICAgJWFsLCAlYWwKLSAgICAgICAgam56ICAgICAuTF90ZXN0X2Zvcl9sZW5ndGhfYmFzZV9tbXggLyogaWYgKG9wICE9IDApIDQ1LjclICovCi0KLSAgICAgICAgc2hybCAgICAkMTYsICVlYXggICAgICAgICAgICAgICAvKiBvdXRwdXQgdGhpcy52YWwgY2hhciAqLwotICAgICAgICBzdG9zYgotICAgICAgICBqbXAgICAgIC5MX3doaWxlX3Rlc3RfbW14Ci0KLS5MX3Rlc3RfZm9yX2xlbmd0aF9iYXNlX21teDoKLSNkZWZpbmUgbGVuX3IgICVlZHgKLSAgICAgICAgbW92bCAgICAlZWF4LCBsZW5fciAgICAgICAgICAgICAvKiBsZW4gPSB0aGlzICovCi0gICAgICAgIHNocmwgICAgJDE2LCBsZW5fciAgICAgICAgICAgICAgLyogbGVuID0gdGhpcy52YWwgKi8KLQotICAgICAgICB0ZXN0YiAgICQxNiwgJWFsCi0gICAgICAgIGp6ICAgICAgLkxfdGVzdF9mb3Jfc2Vjb25kX2xldmVsX2xlbmd0aF9tbXggLyogaWYgKChvcCAmIDE2KSA9PSAwKSA4JSAqLwotICAgICAgICBhbmRsICAgICQxNSwgJWVheCAgICAgICAgICAgICAgIC8qIG9wICY9IDE1ICovCi0gICAgICAgIGp6ICAgICAgLkxfZGVjb2RlX2Rpc3RhbmNlX21teCAgLyogaWYgKCFvcCkgKi8KLQotICAgICAgICBwc3JscSAgIHVzZWRfbW0sIGhvbGRfbW0gICAgICAgIC8qIGhvbGRfbW0gPj49IGxhc3QgYml0IGxlbmd0aCAqLwotICAgICAgICBtb3ZkICAgICVlYXgsIHVzZWRfbW0KLSAgICAgICAgbW92ZCAgICBob2xkX21tLCAlZWN4Ci0gICAgICAgIHN1YmwgICAgJWVheCwgYml0c2xvbmdfcgotICAgICAgICBhbmRsICAgIC5MX21hc2soLCVlYXgsNCksICVlY3gKLSAgICAgICAgYWRkbCAgICAlZWN4LCBsZW5fciAgICAgICAgICAgICAvKiBsZW4gKz0gaG9sZCAmIG1hc2tbb3BdICovCi0KLS5MX2RlY29kZV9kaXN0YW5jZV9tbXg6Ci0gICAgICAgIHBzcmxxICAgdXNlZF9tbSwgaG9sZF9tbSAgICAgICAgLyogaG9sZF9tbSA+Pj0gbGFzdCBiaXQgbGVuZ3RoICovCi0KLSAgICAgICAgY21wbCAgICAkMzIsIGJpdHNsb25nX3IKLSAgICAgICAgamEgICAgICAuTF9nZXRfZGlzdF9jb2RlX21teCAgICAvKiBpZiAoMzIgPCBiaXRzKSAqLwotCi0gICAgICAgIG1vdmQgICAgYml0c2xvbmdfciwgdG1wX21tCi0gICAgICAgIG1vdmQgICAgKGluX3IpLCAlbW03Ci0gICAgICAgIGFkZGwgICAgJDQsIGluX3IKLSAgICAgICAgcHNsbHEgICB0bXBfbW0sICVtbTcKLSAgICAgICAgYWRkbCAgICAkMzIsIGJpdHNsb25nX3IKLSAgICAgICAgcG9yICAgICAlbW03LCBob2xkX21tICAgICAgICAgICAvKiBob2xkX21tIHw9ICooKHVpbnQgKilpbikrKyA8PCBiaXRzICovCi0KLS5MX2dldF9kaXN0X2NvZGVfbW14OgotICAgICAgICBtb3ZsICAgIGRjb2RlKCVlc3ApLCAlZWJ4ICAgICAgIC8qIGVieCA9IGRjb2RlICovCi0gICAgICAgIHBhbmQgICAgaG9sZF9tbSwgZG1hc2tfbW0KLSAgICAgICAgbW92ZCAgICBkbWFza19tbSwgJWVheAotICAgICAgICBtb3ZxICAgIGRtYXNrMl9tbSwgZG1hc2tfbW0KLSAgICAgICAgbW92bCAgICAoJWVieCwlZWF4LDQpLCAlZWF4ICAgICAvKiBlYXggPSBkY29kZVtob2xkICYgbG1hc2tdICovCi0KLS5MX2RvZGlzdF9tbXg6Ci0jZGVmaW5lIGRpc3RfciAlZWJ4Ci0gICAgICAgIG1vdnpibCAgJWFoLCAlZWN4ICAgICAgICAgICAgICAgLyogZWN4ID0gdGhpcy5iaXRzICovCi0gICAgICAgIG1vdmwgICAgJWVheCwgZGlzdF9yCi0gICAgICAgIHNocmwgICAgJDE2LCBkaXN0X3IgICAgICAgICAgICAgLyogZGlzdCAgPSB0aGlzLnZhbCAqLwotICAgICAgICBzdWJsICAgICVlY3gsIGJpdHNsb25nX3IgICAgICAgIC8qIGJpdHMgLT0gdGhpcy5iaXRzICovCi0gICAgICAgIG1vdmQgICAgJWVjeCwgdXNlZF9tbQotCi0gICAgICAgIHRlc3RiICAgJDE2LCAlYWwgICAgICAgICAgICAgICAgLyogaWYgKChvcCAmIDE2KSA9PSAwKSAqLwotICAgICAgICBqeiAgICAgIC5MX3Rlc3RfZm9yX3NlY29uZF9sZXZlbF9kaXN0X21teAotICAgICAgICBhbmRsICAgICQxNSwgJWVheCAgICAgICAgICAgICAgIC8qIG9wICY9IDE1ICovCi0gICAgICAgIGp6ICAgICAgLkxfY2hlY2tfZGlzdF9vbmVfbW14Ci0KLS5MX2FkZF9iaXRzX3RvX2Rpc3RfbW14OgotICAgICAgICBwc3JscSAgIHVzZWRfbW0sIGhvbGRfbW0gICAgICAgIC8qIGhvbGRfbW0gPj49IGxhc3QgYml0IGxlbmd0aCAqLwotICAgICAgICBtb3ZkICAgICVlYXgsIHVzZWRfbW0gICAgICAgICAgIC8qIHNhdmUgYml0IGxlbmd0aCBvZiBjdXJyZW50IG9wICovCi0gICAgICAgIG1vdmQgICAgaG9sZF9tbSwgJWVjeCAgICAgICAgICAgLyogZ2V0IHRoZSBuZXh0IGJpdHMgb24gaW5wdXQgc3RyZWFtICovCi0gICAgICAgIHN1YmwgICAgJWVheCwgYml0c2xvbmdfciAgICAgICAgLyogYml0cyAtPSBvcCBiaXRzICovCi0gICAgICAgIGFuZGwgICAgLkxfbWFzaygsJWVheCw0KSwgJWVjeCAgLyogZWN4ICAgPSBob2xkICYgbWFza1tvcF0gKi8KLSAgICAgICAgYWRkbCAgICAlZWN4LCBkaXN0X3IgICAgICAgICAgICAvKiBkaXN0ICs9IGhvbGQgJiBtYXNrW29wXSAqLwotCi0uTF9jaGVja193aW5kb3dfbW14OgotICAgICAgICBtb3ZsICAgIGluX3IsIGluKCVlc3ApICAgICAgICAgIC8qIHNhdmUgaW4gc28gZnJvbSBjYW4gdXNlIGl0J3MgcmVnICovCi0gICAgICAgIG1vdmwgICAgb3V0X3IsICVlYXgKLSAgICAgICAgc3VibCAgICBiZWcoJWVzcCksICVlYXggICAgICAgICAvKiBuYnl0ZXMgPSBvdXQgLSBiZWcgKi8KLQotICAgICAgICBjbXBsICAgIGRpc3RfciwgJWVheAotICAgICAgICBqYiAgICAgIC5MX2NsaXBfd2luZG93X21teCAgICAgIC8qIGlmIChkaXN0ID4gbmJ5dGVzKSA0LjIlICovCi0KLSAgICAgICAgbW92bCAgICBsZW5fciwgJWVjeAotICAgICAgICBtb3ZsICAgIG91dF9yLCBmcm9tX3IKLSAgICAgICAgc3VibCAgICBkaXN0X3IsIGZyb21fciAgICAgICAgICAvKiBmcm9tID0gb3V0IC0gZGlzdCAqLwotCi0gICAgICAgIHN1YmwgICAgJDMsICVlY3gKLSAgICAgICAgbW92YiAgICAoZnJvbV9yKSwgJWFsCi0gICAgICAgIG1vdmIgICAgJWFsLCAob3V0X3IpCi0gICAgICAgIG1vdmIgICAgMShmcm9tX3IpLCAlYWwKLSAgICAgICAgbW92YiAgICAyKGZyb21fciksICVkbAotICAgICAgICBhZGRsICAgICQzLCBmcm9tX3IKLSAgICAgICAgbW92YiAgICAlYWwsIDEob3V0X3IpCi0gICAgICAgIG1vdmIgICAgJWRsLCAyKG91dF9yKQotICAgICAgICBhZGRsICAgICQzLCBvdXRfcgotICAgICAgICByZXAgICAgIG1vdnNiCi0KLSAgICAgICAgbW92bCAgICBpbiglZXNwKSwgaW5fciAgICAgICAgICAvKiBtb3ZlIGluIGJhY2sgdG8gJWVzaSwgdG9zcyBmcm9tICovCi0gICAgICAgIG1vdmwgICAgbGNvZGUoJWVzcCksICVlYnggICAgICAgLyogbW92ZSBsY29kZSBiYWNrIHRvICVlYngsIHRvc3MgZGlzdCAqLwotICAgICAgICBqbXAgICAgIC5MX3doaWxlX3Rlc3RfbW14Ci0KLS5hbGlnbiAxNiwweDkwCi0uTF9jaGVja19kaXN0X29uZV9tbXg6Ci0gICAgICAgIGNtcGwgICAgJDEsIGRpc3RfcgotICAgICAgICBqbmUgICAgIC5MX2NoZWNrX3dpbmRvd19tbXgKLSAgICAgICAgY21wbCAgICBvdXRfciwgYmVnKCVlc3ApCi0gICAgICAgIGplICAgICAgLkxfY2hlY2tfd2luZG93X21teAotCi0gICAgICAgIGRlY2wgICAgb3V0X3IKLSAgICAgICAgbW92bCAgICBsZW5fciwgJWVjeAotICAgICAgICBtb3ZiICAgIChvdXRfciksICVhbAotICAgICAgICBzdWJsICAgICQzLCAlZWN4Ci0KLSAgICAgICAgbW92YiAgICAlYWwsIDEob3V0X3IpCi0gICAgICAgIG1vdmIgICAgJWFsLCAyKG91dF9yKQotICAgICAgICBtb3ZiICAgICVhbCwgMyhvdXRfcikKLSAgICAgICAgYWRkbCAgICAkNCwgb3V0X3IKLSAgICAgICAgcmVwICAgICBzdG9zYgotCi0gICAgICAgIG1vdmwgICAgbGNvZGUoJWVzcCksICVlYnggICAgICAgLyogbW92ZSBsY29kZSBiYWNrIHRvICVlYngsIHRvc3MgZGlzdCAqLwotICAgICAgICBqbXAgICAgIC5MX3doaWxlX3Rlc3RfbW14Ci0KLS5hbGlnbiAxNiwweDkwCi0uTF90ZXN0X2Zvcl9zZWNvbmRfbGV2ZWxfbGVuZ3RoX21teDoKLSAgICAgICAgdGVzdGIgICAkNjQsICVhbAotICAgICAgICBqbnogICAgIC5MX3Rlc3RfZm9yX2VuZF9vZl9ibG9jayAgLyogaWYgKChvcCAmIDY0KSAhPSAwKSAqLwotCi0gICAgICAgIGFuZGwgICAgJDE1LCAlZWF4Ci0gICAgICAgIHBzcmxxICAgdXNlZF9tbSwgaG9sZF9tbSAgICAgICAgLyogaG9sZF9tbSA+Pj0gbGFzdCBiaXQgbGVuZ3RoICovCi0gICAgICAgIG1vdmQgICAgaG9sZF9tbSwgJWVjeAotICAgICAgICBhbmRsICAgIC5MX21hc2soLCVlYXgsNCksICVlY3gKLSAgICAgICAgYWRkbCAgICBsZW5fciwgJWVjeAotICAgICAgICBtb3ZsICAgICglZWJ4LCVlY3gsNCksICVlYXggICAgIC8qIGVheCA9IGxjb2RlW2hvbGQgJiBsbWFza10gKi8KLSAgICAgICAgam1wICAgICAuTF9kb2xlbl9tbXgKLQotLmFsaWduIDE2LDB4OTAKLS5MX3Rlc3RfZm9yX3NlY29uZF9sZXZlbF9kaXN0X21teDoKLSAgICAgICAgdGVzdGIgICAkNjQsICVhbAotICAgICAgICBqbnogICAgIC5MX2ludmFsaWRfZGlzdGFuY2VfY29kZSAgLyogaWYgKChvcCAmIDY0KSAhPSAwKSAqLwotCi0gICAgICAgIGFuZGwgICAgJDE1LCAlZWF4Ci0gICAgICAgIHBzcmxxICAgdXNlZF9tbSwgaG9sZF9tbSAgICAgICAgLyogaG9sZF9tbSA+Pj0gbGFzdCBiaXQgbGVuZ3RoICovCi0gICAgICAgIG1vdmQgICAgaG9sZF9tbSwgJWVjeAotICAgICAgICBhbmRsICAgIC5MX21hc2soLCVlYXgsNCksICVlY3gKLSAgICAgICAgbW92bCAgICBkY29kZSglZXNwKSwgJWVheCAgICAgICAvKiBlY3ggPSBkY29kZSAqLwotICAgICAgICBhZGRsICAgIGRpc3RfciwgJWVjeAotICAgICAgICBtb3ZsICAgICglZWF4LCVlY3gsNCksICVlYXggICAgIC8qIGVheCA9IGxjb2RlW2hvbGQgJiBsbWFza10gKi8KLSAgICAgICAgam1wICAgICAuTF9kb2Rpc3RfbW14Ci0KLS5hbGlnbiAxNiwweDkwCi0uTF9jbGlwX3dpbmRvd19tbXg6Ci0jZGVmaW5lIG5ieXRlc19yICVlY3gKLSAgICAgICAgbW92bCAgICAlZWF4LCBuYnl0ZXNfcgotICAgICAgICBtb3ZsICAgIHdzaXplKCVlc3ApLCAlZWF4ICAgICAgIC8qIHByZXBhcmUgZm9yIGRpc3QgY29tcGFyZSAqLwotICAgICAgICBuZWdsICAgIG5ieXRlc19yICAgICAgICAgICAgICAgIC8qIG5ieXRlcyA9IC1uYnl0ZXMgKi8KLSAgICAgICAgbW92bCAgICB3aW5kb3coJWVzcCksIGZyb21fciAgICAvKiBmcm9tID0gd2luZG93ICovCi0KLSAgICAgICAgY21wbCAgICBkaXN0X3IsICVlYXgKLSAgICAgICAgamIgICAgICAuTF9pbnZhbGlkX2Rpc3RhbmNlX3Rvb19mYXIgLyogaWYgKGRpc3QgPiB3c2l6ZSkgKi8KLQotICAgICAgICBhZGRsICAgIGRpc3RfciwgbmJ5dGVzX3IgICAgICAgIC8qIG5ieXRlcyA9IGRpc3QgLSBuYnl0ZXMgKi8KLSAgICAgICAgY21wbCAgICAkMCwgd3JpdGUoJWVzcCkKLSAgICAgICAgam5lICAgICAuTF93cmFwX2Fyb3VuZF93aW5kb3dfbW14IC8qIGlmICh3cml0ZSAhPSAwKSAqLwotCi0gICAgICAgIHN1YmwgICAgbmJ5dGVzX3IsICVlYXgKLSAgICAgICAgYWRkbCAgICAlZWF4LCBmcm9tX3IgICAgICAgICAgICAvKiBmcm9tICs9IHdzaXplIC0gbmJ5dGVzICovCi0KLSAgICAgICAgY21wbCAgICBuYnl0ZXNfciwgbGVuX3IKLSAgICAgICAgamJlICAgICAuTF9kb19jb3B5MV9tbXggICAgICAgICAvKiBpZiAobmJ5dGVzID49IGxlbikgKi8KLQotICAgICAgICBzdWJsICAgIG5ieXRlc19yLCBsZW5fciAgICAgICAgIC8qIGxlbiAtPSBuYnl0ZXMgKi8KLSAgICAgICAgcmVwICAgICBtb3ZzYgotICAgICAgICBtb3ZsICAgIG91dF9yLCBmcm9tX3IKLSAgICAgICAgc3VibCAgICBkaXN0X3IsIGZyb21fciAgICAgICAgICAvKiBmcm9tID0gb3V0IC0gZGlzdCAqLwotICAgICAgICBqbXAgICAgIC5MX2RvX2NvcHkxX21teAotCi0gICAgICAgIGNtcGwgICAgbmJ5dGVzX3IsIGxlbl9yCi0gICAgICAgIGpiZSAgICAgLkxfZG9fY29weTFfbW14ICAgICAgICAgLyogaWYgKG5ieXRlcyA+PSBsZW4pICovCi0KLSAgICAgICAgc3VibCAgICBuYnl0ZXNfciwgbGVuX3IgICAgICAgICAvKiBsZW4gLT0gbmJ5dGVzICovCi0gICAgICAgIHJlcCAgICAgbW92c2IKLSAgICAgICAgbW92bCAgICBvdXRfciwgZnJvbV9yCi0gICAgICAgIHN1YmwgICAgZGlzdF9yLCBmcm9tX3IgICAgICAgICAgLyogZnJvbSA9IG91dCAtIGRpc3QgKi8KLSAgICAgICAgam1wICAgICAuTF9kb19jb3B5MV9tbXgKLQotLkxfd3JhcF9hcm91bmRfd2luZG93X21teDoKLSNkZWZpbmUgd3JpdGVfciAlZWF4Ci0gICAgICAgIG1vdmwgICAgd3JpdGUoJWVzcCksIHdyaXRlX3IKLSAgICAgICAgY21wbCAgICB3cml0ZV9yLCBuYnl0ZXNfcgotICAgICAgICBqYmUgICAgIC5MX2NvbnRpZ3VvdXNfaW5fd2luZG93X21teCAvKiBpZiAod3JpdGUgPj0gbmJ5dGVzKSAqLwotCi0gICAgICAgIGFkZGwgICAgd3NpemUoJWVzcCksIGZyb21fcgotICAgICAgICBhZGRsICAgIHdyaXRlX3IsIGZyb21fcgotICAgICAgICBzdWJsICAgIG5ieXRlc19yLCBmcm9tX3IgICAgICAgIC8qIGZyb20gKz0gd3NpemUgKyB3cml0ZSAtIG5ieXRlcyAqLwotICAgICAgICBzdWJsICAgIHdyaXRlX3IsIG5ieXRlc19yICAgICAgIC8qIG5ieXRlcyAtPSB3cml0ZSAqLwotI3VuZGVmIHdyaXRlX3IKLQotICAgICAgICBjbXBsICAgIG5ieXRlc19yLCBsZW5fcgotICAgICAgICBqYmUgICAgIC5MX2RvX2NvcHkxX21teCAgICAgICAgIC8qIGlmIChuYnl0ZXMgPj0gbGVuKSAqLwotCi0gICAgICAgIHN1YmwgICAgbmJ5dGVzX3IsIGxlbl9yICAgICAgICAgLyogbGVuIC09IG5ieXRlcyAqLwotICAgICAgICByZXAgICAgIG1vdnNiCi0gICAgICAgIG1vdmwgICAgd2luZG93KCVlc3ApLCBmcm9tX3IgICAgLyogZnJvbSA9IHdpbmRvdyAqLwotICAgICAgICBtb3ZsICAgIHdyaXRlKCVlc3ApLCBuYnl0ZXNfciAgIC8qIG5ieXRlcyA9IHdyaXRlICovCi0gICAgICAgIGNtcGwgICAgbmJ5dGVzX3IsIGxlbl9yCi0gICAgICAgIGpiZSAgICAgLkxfZG9fY29weTFfbW14ICAgICAgICAgLyogaWYgKG5ieXRlcyA+PSBsZW4pICovCi0KLSAgICAgICAgc3VibCAgICBuYnl0ZXNfciwgbGVuX3IgICAgICAgICAvKiBsZW4gLT0gbmJ5dGVzICovCi0gICAgICAgIHJlcCAgICAgbW92c2IKLSAgICAgICAgbW92bCAgICBvdXRfciwgZnJvbV9yCi0gICAgICAgIHN1YmwgICAgZGlzdF9yLCBmcm9tX3IgICAgICAgICAgLyogZnJvbSA9IG91dCAtIGRpc3QgKi8KLSAgICAgICAgam1wICAgICAuTF9kb19jb3B5MV9tbXgKLQotLkxfY29udGlndW91c19pbl93aW5kb3dfbW14OgotI2RlZmluZSB3cml0ZV9yICVlYXgKLSAgICAgICAgYWRkbCAgICB3cml0ZV9yLCBmcm9tX3IKLSAgICAgICAgc3VibCAgICBuYnl0ZXNfciwgZnJvbV9yICAgICAgICAvKiBmcm9tICs9IHdyaXRlIC0gbmJ5dGVzICovCi0jdW5kZWYgd3JpdGVfcgotCi0gICAgICAgIGNtcGwgICAgbmJ5dGVzX3IsIGxlbl9yCi0gICAgICAgIGpiZSAgICAgLkxfZG9fY29weTFfbW14ICAgICAgICAgLyogaWYgKG5ieXRlcyA+PSBsZW4pICovCi0KLSAgICAgICAgc3VibCAgICBuYnl0ZXNfciwgbGVuX3IgICAgICAgICAvKiBsZW4gLT0gbmJ5dGVzICovCi0gICAgICAgIHJlcCAgICAgbW92c2IKLSAgICAgICAgbW92bCAgICBvdXRfciwgZnJvbV9yCi0gICAgICAgIHN1YmwgICAgZGlzdF9yLCBmcm9tX3IgICAgICAgICAgLyogZnJvbSA9IG91dCAtIGRpc3QgKi8KLQotLkxfZG9fY29weTFfbW14OgotI3VuZGVmIG5ieXRlc19yCi0jZGVmaW5lIGluX3IgJWVzaQotICAgICAgICBtb3ZsICAgIGxlbl9yLCAlZWN4Ci0gICAgICAgIHJlcCAgICAgbW92c2IKLQotICAgICAgICBtb3ZsICAgIGluKCVlc3ApLCBpbl9yICAgICAgICAgIC8qIG1vdmUgaW4gYmFjayB0byAlZXNpLCB0b3NzIGZyb20gKi8KLSAgICAgICAgbW92bCAgICBsY29kZSglZXNwKSwgJWVieCAgICAgICAvKiBtb3ZlIGxjb2RlIGJhY2sgdG8gJWVieCwgdG9zcyBkaXN0ICovCi0gICAgICAgIGptcCAgICAgLkxfd2hpbGVfdGVzdF9tbXgKLQotI3VuZGVmIGhvbGRfcgotI3VuZGVmIGJpdHNsb25nX3IKLQotI2VuZGlmIC8qIFVTRV9NTVggfHwgUlVOX1RJTUVfTU1YICovCi0KLQotLyoqKiBVU0VfTU1YLCBOT19NTVgsIGFuZCBSVU5USU1FX01NWCBmcm9tIGhlcmUgb24gKioqLwotCi0uTF9pbnZhbGlkX2Rpc3RhbmNlX2NvZGU6Ci0gICAgICAgIC8qIGVsc2UgewotICAgICAgICAgKiAgIHN0cm0tPm1zZyA9ICJpbnZhbGlkIGRpc3RhbmNlIGNvZGUiOwotICAgICAgICAgKiAgIHN0YXRlLT5tb2RlID0gQkFEOwotICAgICAgICAgKiB9Ci0gICAgICAgICAqLwotICAgICAgICBtb3ZsICAgICQuTF9pbnZhbGlkX2Rpc3RhbmNlX2NvZGVfbXNnLCAlZWN4Ci0gICAgICAgIG1vdmwgICAgJElORkxBVEVfTU9ERV9CQUQsICVlZHgKLSAgICAgICAgam1wICAgICAuTF91cGRhdGVfc3RyZWFtX3N0YXRlCi0KLS5MX3Rlc3RfZm9yX2VuZF9vZl9ibG9jazoKLSAgICAgICAgLyogZWxzZSBpZiAob3AgJiAzMikgewotICAgICAgICAgKiAgIHN0YXRlLT5tb2RlID0gVFlQRTsKLSAgICAgICAgICogICBicmVhazsKLSAgICAgICAgICogfQotICAgICAgICAgKi8KLSAgICAgICAgdGVzdGIgICAkMzIsICVhbAotICAgICAgICBqeiAgICAgIC5MX2ludmFsaWRfbGl0ZXJhbF9sZW5ndGhfY29kZSAgLyogaWYgKChvcCAmIDMyKSA9PSAwKSAqLwotCi0gICAgICAgIG1vdmwgICAgJDAsICVlY3gKLSAgICAgICAgbW92bCAgICAkSU5GTEFURV9NT0RFX1RZUEUsICVlZHgKLSAgICAgICAgam1wICAgICAuTF91cGRhdGVfc3RyZWFtX3N0YXRlCi0KLS5MX2ludmFsaWRfbGl0ZXJhbF9sZW5ndGhfY29kZToKLSAgICAgICAgLyogZWxzZSB7Ci0gICAgICAgICAqICAgc3RybS0+bXNnID0gImludmFsaWQgbGl0ZXJhbC9sZW5ndGggY29kZSI7Ci0gICAgICAgICAqICAgc3RhdGUtPm1vZGUgPSBCQUQ7Ci0gICAgICAgICAqIH0KLSAgICAgICAgICovCi0gICAgICAgIG1vdmwgICAgJC5MX2ludmFsaWRfbGl0ZXJhbF9sZW5ndGhfY29kZV9tc2csICVlY3gKLSAgICAgICAgbW92bCAgICAkSU5GTEFURV9NT0RFX0JBRCwgJWVkeAotICAgICAgICBqbXAgICAgIC5MX3VwZGF0ZV9zdHJlYW1fc3RhdGUKLQotLkxfaW52YWxpZF9kaXN0YW5jZV90b29fZmFyOgotICAgICAgICAvKiBzdHJtLT5tc2cgPSAiaW52YWxpZCBkaXN0YW5jZSB0b28gZmFyIGJhY2siOwotICAgICAgICAgKiBzdGF0ZS0+bW9kZSA9IEJBRDsKLSAgICAgICAgICovCi0gICAgICAgIG1vdmwgICAgaW4oJWVzcCksIGluX3IgICAgICAgICAgLyogZnJvbV9yIGhhcyBpbidzIHJlZywgcHV0IGluIGJhY2sgKi8KLSAgICAgICAgbW92bCAgICAkLkxfaW52YWxpZF9kaXN0YW5jZV90b29fZmFyX21zZywgJWVjeAotICAgICAgICBtb3ZsICAgICRJTkZMQVRFX01PREVfQkFELCAlZWR4Ci0gICAgICAgIGptcCAgICAgLkxfdXBkYXRlX3N0cmVhbV9zdGF0ZQotCi0uTF91cGRhdGVfc3RyZWFtX3N0YXRlOgotICAgICAgICAvKiBzZXQgc3RybS0+bXNnID0gJWVjeCwgc3RybS0+c3RhdGUtPm1vZGUgPSAlZWR4ICovCi0gICAgICAgIG1vdmwgICAgc3RybV9zcCglZXNwKSwgJWVheAotICAgICAgICB0ZXN0bCAgICVlY3gsICVlY3ggICAgICAgICAgICAgIC8qIGlmIChtc2cgIT0gTlVMTCkgKi8KLSAgICAgICAganogICAgICAuTF9za2lwX21zZwotICAgICAgICBtb3ZsICAgICVlY3gsIG1zZ19zdHJtKCVlYXgpICAgIC8qIHN0cm0tPm1zZyA9IG1zZyAqLwotLkxfc2tpcF9tc2c6Ci0gICAgICAgIG1vdmwgICAgc3RhdGVfc3RybSglZWF4KSwgJWVheCAgLyogc3RhdGUgPSBzdHJtLT5zdGF0ZSAqLwotICAgICAgICBtb3ZsICAgICVlZHgsIG1vZGVfc3RhdGUoJWVheCkgIC8qIHN0YXRlLT5tb2RlID0gZWR4IChCQUQgfCBUWVBFKSAqLwotICAgICAgICBqbXAgICAgIC5MX2JyZWFrX2xvb3AKLQotLmFsaWduIDMyLDB4OTAKLS5MX2JyZWFrX2xvb3A6Ci0KLS8qCi0gKiBSZWdzOgotICoKLSAqIGJpdHMgPSAlZWJwIHdoZW4gbW14LCBhbmQgaW4gJWVieCB3aGVuIG5vbi1tbXgKLSAqIGhvbGQgPSAlaG9sZF9tbSB3aGVuIG1teCwgYW5kIGluICVlYnAgd2hlbiBub24tbW14Ci0gKiBpbiAgID0gJWVzaQotICogb3V0ICA9ICVlZGkKLSAqLwotCi0jaWYgZGVmaW5lZCggVVNFX01NWCApIHx8IGRlZmluZWQoIFJVTl9USU1FX01NWCApCi0KLSNpZiBkZWZpbmVkKCBSVU5fVElNRV9NTVggKQotCi0gICAgICAgIGNtcGwgICAgJERPX1VTRV9NTVgsIGluZmxhdGVfZmFzdF91c2VfbW14Ci0gICAgICAgIGpuZSAgICAgLkxfdXBkYXRlX25leHRfaW4KLQotI2VuZGlmIC8qIFJVTl9USU1FX01NWCAqLwotCi0gICAgICAgIG1vdmwgICAgJWVicCwgJWVieAotCi0uTF91cGRhdGVfbmV4dF9pbjoKLQotI2VuZGlmCi0KLSNkZWZpbmUgc3RybV9yICAlZWF4Ci0jZGVmaW5lIHN0YXRlX3IgJWVkeAotCi0gICAgICAgIC8qIGxlbiA9IGJpdHMgPj4gMzsKLSAgICAgICAgICogaW4gLT0gbGVuOwotICAgICAgICAgKiBiaXRzIC09IGxlbiA8PCAzOwotICAgICAgICAgKiBob2xkICY9ICgxVSA8PCBiaXRzKSAtIDE7Ci0gICAgICAgICAqIHN0YXRlLT5ob2xkID0gaG9sZDsKLSAgICAgICAgICogc3RhdGUtPmJpdHMgPSBiaXRzOwotICAgICAgICAgKiBzdHJtLT5uZXh0X2luID0gaW47Ci0gICAgICAgICAqIHN0cm0tPm5leHRfb3V0ID0gb3V0OwotICAgICAgICAgKi8KLSAgICAgICAgbW92bCAgICBzdHJtX3NwKCVlc3ApLCBzdHJtX3IKLSAgICAgICAgbW92bCAgICAlZWJ4LCAlZWN4Ci0gICAgICAgIG1vdmwgICAgc3RhdGVfc3RybShzdHJtX3IpLCBzdGF0ZV9yCi0gICAgICAgIHNocmwgICAgJDMsICVlY3gKLSAgICAgICAgc3VibCAgICAlZWN4LCBpbl9yCi0gICAgICAgIHNobGwgICAgJDMsICVlY3gKLSAgICAgICAgc3VibCAgICAlZWN4LCAlZWJ4Ci0gICAgICAgIG1vdmwgICAgb3V0X3IsIG5leHRfb3V0X3N0cm0oc3RybV9yKQotICAgICAgICBtb3ZsICAgICVlYngsIGJpdHNfc3RhdGUoc3RhdGVfcikKLSAgICAgICAgbW92bCAgICAlZWJ4LCAlZWN4Ci0KLSAgICAgICAgbGVhbCAgICBidWYoJWVzcCksICVlYngKLSAgICAgICAgY21wbCAgICAlZWJ4LCBsYXN0KCVlc3ApCi0gICAgICAgIGpuZSAgICAgLkxfYnVmX25vdF91c2VkICAgICAgICAgLyogaWYgYnVmICE9IGxhc3QgKi8KLQotICAgICAgICBzdWJsICAgICVlYngsIGluX3IgICAgICAgICAgICAgIC8qIGluIC09IGJ1ZiAqLwotICAgICAgICBtb3ZsICAgIG5leHRfaW5fc3RybShzdHJtX3IpLCAlZWJ4Ci0gICAgICAgIG1vdmwgICAgJWVieCwgbGFzdCglZXNwKSAgICAgICAgLyogbGFzdCA9IHN0cm0tPm5leHRfaW4gKi8KLSAgICAgICAgYWRkbCAgICAlZWJ4LCBpbl9yICAgICAgICAgICAgICAvKiBpbiArPSBzdHJtLT5uZXh0X2luICovCi0gICAgICAgIG1vdmwgICAgYXZhaWxfaW5fc3RybShzdHJtX3IpLCAlZWJ4Ci0gICAgICAgIHN1YmwgICAgJDExLCAlZWJ4Ci0gICAgICAgIGFkZGwgICAgJWVieCwgbGFzdCglZXNwKSAgICAvKiBsYXN0ID0gJnN0cm0tPm5leHRfaW5bIGF2YWlsX2luIC0gMTEgXSAqLwotCi0uTF9idWZfbm90X3VzZWQ6Ci0gICAgICAgIG1vdmwgICAgaW5fciwgbmV4dF9pbl9zdHJtKHN0cm1fcikKLQotICAgICAgICBtb3ZsICAgICQxLCAlZWJ4Ci0gICAgICAgIHNobGwgICAgJWNsLCAlZWJ4Ci0gICAgICAgIGRlY2wgICAgJWVieAotCi0jaWYgZGVmaW5lZCggVVNFX01NWCApIHx8IGRlZmluZWQoIFJVTl9USU1FX01NWCApCi0KLSNpZiBkZWZpbmVkKCBSVU5fVElNRV9NTVggKQotCi0gICAgICAgIGNtcGwgICAgJERPX1VTRV9NTVgsIGluZmxhdGVfZmFzdF91c2VfbW14Ci0gICAgICAgIGpuZSAgICAgLkxfdXBkYXRlX2hvbGQKLQotI2VuZGlmIC8qIFJVTl9USU1FX01NWCAqLwotCi0gICAgICAgIHBzcmxxICAgdXNlZF9tbSwgaG9sZF9tbSAgICAgICAgLyogaG9sZF9tbSA+Pj0gbGFzdCBiaXQgbGVuZ3RoICovCi0gICAgICAgIG1vdmQgICAgaG9sZF9tbSwgJWVicAotCi0gICAgICAgIGVtbXMKLQotLkxfdXBkYXRlX2hvbGQ6Ci0KLSNlbmRpZiAvKiBVU0VfTU1YIHx8IFJVTl9USU1FX01NWCAqLwotCi0gICAgICAgIGFuZGwgICAgJWVieCwgJWVicAotICAgICAgICBtb3ZsICAgICVlYnAsIGhvbGRfc3RhdGUoc3RhdGVfcikKLQotI2RlZmluZSBsYXN0X3IgJWVieAotCi0gICAgICAgIC8qIHN0cm0tPmF2YWlsX2luID0gaW4gPCBsYXN0ID8gMTEgKyAobGFzdCAtIGluKSA6IDExIC0gKGluIC0gbGFzdCkgKi8KLSAgICAgICAgbW92bCAgICBsYXN0KCVlc3ApLCBsYXN0X3IKLSAgICAgICAgY21wbCAgICBpbl9yLCBsYXN0X3IKLSAgICAgICAgamJlICAgICAuTF9sYXN0X2lzX3NtYWxsZXIgICAgIC8qIGlmIChpbiA+PSBsYXN0KSAqLwotCi0gICAgICAgIHN1YmwgICAgaW5fciwgbGFzdF9yICAgICAgICAgICAvKiBsYXN0IC09IGluICovCi0gICAgICAgIGFkZGwgICAgJDExLCBsYXN0X3IgICAgICAgICAgICAvKiBsYXN0ICs9IDExICovCi0gICAgICAgIG1vdmwgICAgbGFzdF9yLCBhdmFpbF9pbl9zdHJtKHN0cm1fcikKLSAgICAgICAgam1wICAgICAuTF9maXh1cF9vdXQKLS5MX2xhc3RfaXNfc21hbGxlcjoKLSAgICAgICAgc3VibCAgICBsYXN0X3IsIGluX3IgICAgICAgICAgIC8qIGluIC09IGxhc3QgKi8KLSAgICAgICAgbmVnbCAgICBpbl9yICAgICAgICAgICAgICAgICAgIC8qIGluID0gLWluICovCi0gICAgICAgIGFkZGwgICAgJDExLCBpbl9yICAgICAgICAgICAgICAvKiBpbiArPSAxMSAqLwotICAgICAgICBtb3ZsICAgIGluX3IsIGF2YWlsX2luX3N0cm0oc3RybV9yKQotCi0jdW5kZWYgbGFzdF9yCi0jZGVmaW5lIGVuZF9yICVlYngKLQotLkxfZml4dXBfb3V0OgotICAgICAgICAvKiBzdHJtLT5hdmFpbF9vdXQgPSBvdXQgPCBlbmQgPyAyNTcgKyAoZW5kIC0gb3V0KSA6IDI1NyAtIChvdXQgLSBlbmQpKi8KLSAgICAgICAgbW92bCAgICBlbmQoJWVzcCksIGVuZF9yCi0gICAgICAgIGNtcGwgICAgb3V0X3IsIGVuZF9yCi0gICAgICAgIGpiZSAgICAgLkxfZW5kX2lzX3NtYWxsZXIgICAgICAvKiBpZiAob3V0ID49IGVuZCkgKi8KLQotICAgICAgICBzdWJsICAgIG91dF9yLCBlbmRfciAgICAgICAgICAgLyogZW5kIC09IG91dCAqLwotICAgICAgICBhZGRsICAgICQyNTcsIGVuZF9yICAgICAgICAgICAgLyogZW5kICs9IDI1NyAqLwotICAgICAgICBtb3ZsICAgIGVuZF9yLCBhdmFpbF9vdXRfc3RybShzdHJtX3IpCi0gICAgICAgIGptcCAgICAgLkxfZG9uZQotLkxfZW5kX2lzX3NtYWxsZXI6Ci0gICAgICAgIHN1YmwgICAgZW5kX3IsIG91dF9yICAgICAgICAgICAvKiBvdXQgLT0gZW5kICovCi0gICAgICAgIG5lZ2wgICAgb3V0X3IgICAgICAgICAgICAgICAgICAvKiBvdXQgPSAtb3V0ICovCi0gICAgICAgIGFkZGwgICAgJDI1Nywgb3V0X3IgICAgICAgICAgICAvKiBvdXQgKz0gMjU3ICovCi0gICAgICAgIG1vdmwgICAgb3V0X3IsIGF2YWlsX291dF9zdHJtKHN0cm1fcikKLQotI3VuZGVmIGVuZF9yCi0jdW5kZWYgc3RybV9yCi0jdW5kZWYgc3RhdGVfcgotCi0uTF9kb25lOgotICAgICAgICBhZGRsICAgICRsb2NhbF92YXJfc2l6ZSwgJWVzcAotICAgICAgICBwb3BmCi0gICAgICAgIHBvcGwgICAgJWVieAotICAgICAgICBwb3BsICAgICVlYnAKLSAgICAgICAgcG9wbCAgICAlZXNpCi0gICAgICAgIHBvcGwgICAgJWVkaQotICAgICAgICByZXQKLQotI2lmIGRlZmluZWQoIEdBU19FTEYgKQotLyogZWxmIGluZm8gKi8KLS50eXBlIGluZmxhdGVfZmFzdCxAZnVuY3Rpb24KLS5zaXplIGluZmxhdGVfZmFzdCwuLWluZmxhdGVfZmFzdAotI2VuZGlmCmRpZmYgLS1naXQgYS9zcmMvY29udHJpYi9tYXNteDY0L2JsZF9tbDY0LmJhdCBiL3NyYy9jb250cmliL21hc214NjQvYmxkX21sNjQuYmF0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4ZjkzNDNkLi4wMDAwMDAwCi0tLSBhL3NyYy9jb250cmliL21hc214NjQvYmxkX21sNjQuYmF0CisrKyAvZGV2L251bGwKQEAgLTEsMiArMCwwIEBACi1tbDY0LmV4ZSAvRmxpbmZmYXN4NjQgL2MgL1ppIGluZmZhc3g2NC5hc20NCi1tbDY0LmV4ZSAvRmxndm1hdDY0ICAgL2MgL1ppIGd2bWF0NjQuYXNtDQpkaWZmIC0tZ2l0IGEvc3JjL2NvbnRyaWIvbWFzbXg2NC9ndm1hdDY0LmFzbSBiL3NyYy9jb250cmliL21hc214NjQvZ3ZtYXQ2NC5hc20KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk4NzljMjguLjAwMDAwMDAKLS0tIGEvc3JjL2NvbnRyaWIvbWFzbXg2NC9ndm1hdDY0LmFzbQorKysgL2Rldi9udWxsCkBAIC0xLDU1MyArMCwwIEBACi07dUludCBsb25nZXN0X21hdGNoX3g2NCgNCi07ICAgIGRlZmxhdGVfc3RhdGUgKnMsDQotOyAgICBJUG9zIGN1cl9tYXRjaCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBjdXJyZW50IG1hdGNoICovDQotDQotOyBndm1hdDY0LmFzbSAtLSBBc20gcG9ydGlvbiBvZiB0aGUgb3B0aW1pemVkIGxvbmdlc3RfbWF0Y2ggZm9yIDMyIGJpdHMgeDg2XzY0DQotOyAgKEFNRDY0IG9uIEF0aGxvbiA2NCwgT3B0ZXJvbiwgUGhlbm9tDQotOyAgICAgYW5kIEludGVsIEVNNjRUIG9uIFBlbnRpdW0gNCB3aXRoIEVNNjRULCBQZW50aXVtIEQsIENvcmUgMiBEdW8sIENvcmUgSTUvSTcpDQotOyBDb3B5cmlnaHQgKEMpIDE5OTUtMjAxMCBKZWFuLWxvdXAgR2FpbGx5LCBCcmlhbiBSYWl0ZXIgYW5kIEdpbGxlcyBWb2xsYW50Lg0KLTsNCi07IEZpbGUgd3JpdHRlbiBieSBHaWxsZXMgVm9sbGFudCwgYnkgY29udmVydGluZyB0byBhc3NlbWJseSB0aGUgbG9uZ2VzdF9tYXRjaA0KLTsgIGZyb20gSmVhbi1sb3VwIEdhaWxseSBpbiBkZWZsYXRlLmMgb2YgekxpYiBhbmQgaW5mb1ppcCB6aXAuDQotOw0KLTsgIGFuZCBieSB0YWtpbmcgaW5zcGlyYXRpb24gb24gYXNtNjg2IHdpdGggbWFzbSwgb3B0aW1pc2VkIGFzc2VtYmx5IGNvZGUNCi07ICAgICAgICBmcm9tIEJyaWFuIFJhaXRlciwgd3JpdHRlbiAxOTk4DQotOw0KLTsgIFRoaXMgc29mdHdhcmUgaXMgcHJvdmlkZWQgJ2FzLWlzJywgd2l0aG91dCBhbnkgZXhwcmVzcyBvciBpbXBsaWVkDQotOyAgd2FycmFudHkuICBJbiBubyBldmVudCB3aWxsIHRoZSBhdXRob3JzIGJlIGhlbGQgbGlhYmxlIGZvciBhbnkgZGFtYWdlcw0KLTsgIGFyaXNpbmcgZnJvbSB0aGUgdXNlIG9mIHRoaXMgc29mdHdhcmUuDQotOw0KLTsgIFBlcm1pc3Npb24gaXMgZ3JhbnRlZCB0byBhbnlvbmUgdG8gdXNlIHRoaXMgc29mdHdhcmUgZm9yIGFueSBwdXJwb3NlLA0KLTsgIGluY2x1ZGluZyBjb21tZXJjaWFsIGFwcGxpY2F0aW9ucywgYW5kIHRvIGFsdGVyIGl0IGFuZCByZWRpc3RyaWJ1dGUgaXQNCi07ICBmcmVlbHksIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyByZXN0cmljdGlvbnM6DQotOw0KLTsgIDEuIFRoZSBvcmlnaW4gb2YgdGhpcyBzb2Z0d2FyZSBtdXN0IG5vdCBiZSBtaXNyZXByZXNlbnRlZDsgeW91IG11c3Qgbm90DQotOyAgICAgY2xhaW0gdGhhdCB5b3Ugd3JvdGUgdGhlIG9yaWdpbmFsIHNvZnR3YXJlLiBJZiB5b3UgdXNlIHRoaXMgc29mdHdhcmUNCi07ICAgICBpbiBhIHByb2R1Y3QsIGFuIGFja25vd2xlZGdtZW50IGluIHRoZSBwcm9kdWN0IGRvY3VtZW50YXRpb24gd291bGQgYmUNCi07ICAgICBhcHByZWNpYXRlZCBidXQgaXMgbm90IHJlcXVpcmVkLg0KLTsgIDIuIEFsdGVyZWQgc291cmNlIHZlcnNpb25zIG11c3QgYmUgcGxhaW5seSBtYXJrZWQgYXMgc3VjaCwgYW5kIG11c3Qgbm90IGJlDQotOyAgICAgbWlzcmVwcmVzZW50ZWQgYXMgYmVpbmcgdGhlIG9yaWdpbmFsIHNvZnR3YXJlDQotOyAgMy4gVGhpcyBub3RpY2UgbWF5IG5vdCBiZSByZW1vdmVkIG9yIGFsdGVyZWQgZnJvbSBhbnkgc291cmNlIGRpc3RyaWJ1dGlvbi4NCi07DQotOw0KLTsNCi07ICAgICAgICAgaHR0cDovL3d3dy56bGliLm5ldA0KLTsgICAgICAgICBodHRwOi8vd3d3LndpbmltYWdlLmNvbS96TGliRGxsDQotOyAgICAgICAgIGh0dHA6Ly93d3cubXVwcGV0bGFicy5jb20vfmJyZWFkYm94L3NvZnR3YXJlL2Fzc2VtYmx5Lmh0bWwNCi07DQotOyB0byBjb21waWxlIHRoaXMgZmlsZSBmb3IgaW5mb3ppcCBaaXAsIEkgdXNlIG9wdGlvbjoNCi07ICAgbWw2NC5leGUgL0ZsZ3ZtYXQ2NCAvYyAvWmkgL0RJTkZPWklQIGd2bWF0NjQuYXNtDQotOw0KLTsgdG8gY29tcGlsZSB0aGlzIGZpbGUgZm9yIHpMaWIsIEkgdXNlIG9wdGlvbjoNCi07ICAgbWw2NC5leGUgL0ZsZ3ZtYXQ2NCAvYyAvWmkgZ3ZtYXQ2NC5hc20NCi07IEJlIGNhcnJlZnVsbCB0byBhZGFwdCB6bGliMTIyMmFkZCBiZWxvdyB0byB5b3VyIHZlcnNpb24gb2YgekxpYg0KLTsgICAoaWYgeW91IHVzZSBhIHZlcnNpb24gb2YgekxpYiBiZWZvcmUgMS4wLjQgb3IgYWZ0ZXIgMS4yLjIuMiwgY2hhbmdlDQotOyAgICB2YWx1ZSBvZiB6bGliMTIyMmFkZCBsYXRlcikNCi07DQotOyBUaGlzIGZpbGUgY29tcGlsZSB3aXRoIE1pY3Jvc29mdCBNYWNybyBBc3NlbWJsZXIgKHg2NCkgZm9yIEFNRDY0DQotOw0KLTsgICBtbDY0LmV4ZSBpcyBnaXZlbiB3aXRoIFZpc3VhbCBTdHVkaW8gMjAwNS8yMDA4LzIwMTAgYW5kIFdpbmRvd3MgV0RLDQotOw0KLTsgICAoeW91IGNhbiBnZXQgV2luZG93cyBXREsgd2l0aCBtbDY0IGZvciBBTUQ2NCBmcm9tDQotOyAgICAgIGh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS93aGRjL0RldnRvb2xzL3dkay9kZWZhdWx0Lm1zcHggZm9yIGxvdyBwcmljZSkNCi07DQotDQotDQotO3VJbnQgbG9uZ2VzdF9tYXRjaChzLCBjdXJfbWF0Y2gpDQotOyAgICBkZWZsYXRlX3N0YXRlICpzOw0KLTsgICAgSVBvcyBjdXJfbWF0Y2g7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBjdXJyZW50IG1hdGNoICovDQotLmNvZGUNCi1sb25nZXN0X21hdGNoIFBST0MNCi0NCi0NCi07TG9jYWxWYXJzU2l6ZSAgIGVxdSA4OA0KLSBMb2NhbFZhcnNTaXplICAgZXF1IDcyDQotDQotOyByZWdpc3RlciB1c2VkIDogcmF4LHJieCxyY3gscmR4LHJzaSxyZGkscjgscjkscjEwLHIxMSxyMTINCi07IGZyZWUgcmVnaXN0ZXIgOiAgcjE0LHIxNQ0KLTsgcmVnaXN0ZXIgY2FuIGJlIHNhdmVkIDogcnNwDQotDQotIGNoYWlubGVud21hc2sgICBlcXUgIHJzcCArIDggLSBMb2NhbFZhcnNTaXplICAgIDsgaGlnaCB3b3JkOiBjdXJyZW50IGNoYWluIGxlbg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7IGxvdyB3b3JkOiBzLT53bWFzaw0KLTt3aW5kb3cgICAgICAgICAgZXF1ICByc3AgKyB4eCAtIExvY2FsVmFyc1NpemUgICA7IGxvY2FsIGNvcHkgb2Ygcy0+d2luZG93IDsgc3RvcmVkIGluIHIxMA0KLTt3aW5kb3diZXN0bGVuICAgZXF1ICByc3AgKyB4eCAtIExvY2FsVmFyc1NpemUgICA7IHMtPndpbmRvdyArIGJlc3RsZW4gLCB1c2UgcjEwK3IxMQ0KLTtzY2Fuc3RhcnQgICAgICAgZXF1ICByc3AgKyB4eCAtIExvY2FsVmFyc1NpemUgICA7IGZpcnN0IHR3byBieXRlcyBvZiBzdHJpbmcgOyBzdG9yZWQgaW4gcjEydw0KLTtzY2FuZW5kICAgICAgICAgZXF1ICByc3AgKyB4eCAtIExvY2FsVmFyc1NpemUgICA7IGxhc3QgdHdvIGJ5dGVzIG9mIHN0cmluZyB1c2UgZWJ4DQotO3NjYW5hbGlnbiAgICAgICBlcXUgIHJzcCArIHh4IC0gTG9jYWxWYXJzU2l6ZSAgIDsgZHdvcmQtbWlzYWxpZ25tZW50IG9mIHN0cmluZyByMTMNCi07YmVzdGxlbiAgICAgICAgIGVxdSAgcnNwICsgeHggLSBMb2NhbFZhcnNTaXplICAgOyBzaXplIG9mIGJlc3QgbWF0Y2ggc28gZmFyIC0+IHIxMWQNCi07c2NhbiAgICAgICAgICAgIGVxdSAgcnNwICsgeHggLSBMb2NhbFZhcnNTaXplICAgOyBwdHIgdG8gc3RyaW5nIHdhbnRpbmcgbWF0Y2ggLT4gcjkNCi1JRkRFRiBJTkZPWklQDQotRUxTRQ0KLSBuaWNlbWF0Y2ggICAgICAgZXF1ICAocnNwICsgMTYgLSBMb2NhbFZhcnNTaXplKSA7IGEgZ29vZCBlbm91Z2ggbWF0Y2ggc2l6ZQ0KLUVORElGDQotDQotc2F2ZV9yZGkgICAgICAgIGVxdSAgcnNwICsgMjQgLSBMb2NhbFZhcnNTaXplDQotc2F2ZV9yc2kgICAgICAgIGVxdSAgcnNwICsgMzIgLSBMb2NhbFZhcnNTaXplDQotc2F2ZV9yYnggICAgICAgIGVxdSAgcnNwICsgNDAgLSBMb2NhbFZhcnNTaXplDQotc2F2ZV9yYnAgICAgICAgIGVxdSAgcnNwICsgNDggLSBMb2NhbFZhcnNTaXplDQotc2F2ZV9yMTIgICAgICAgIGVxdSAgcnNwICsgNTYgLSBMb2NhbFZhcnNTaXplDQotc2F2ZV9yMTMgICAgICAgIGVxdSAgcnNwICsgNjQgLSBMb2NhbFZhcnNTaXplDQotO3NhdmVfcjE0ICAgICAgICBlcXUgIHJzcCArIDcyIC0gTG9jYWxWYXJzU2l6ZQ0KLTtzYXZlX3IxNSAgICAgICAgZXF1ICByc3AgKyA4MCAtIExvY2FsVmFyc1NpemUNCi0NCi0NCi07IHN1bW1hcnkgb2YgcmVnaXN0ZXIgdXNhZ2UNCi07IHNjYW5lbmQgICAgIGVieA0KLTsgc2NhbmVuZHcgICAgYngNCi07IGNoYWlubGVud21hc2sgICBlZHgNCi07IGN1cm1hdGNoICAgIHJzaQ0KLTsgY3VybWF0Y2hkICAgZXNpDQotOyB3aW5kb3diZXN0bGVuICAgcjgNCi07IHNjYW5hbGlnbiAgIHI5DQotOyBzY2FuYWxpZ25kICByOWQNCi07IHdpbmRvdyAgICAgIHIxMA0KLTsgYmVzdGxlbiAgICAgcjExDQotOyBiZXN0bGVuZCAgICByMTFkDQotOyBzY2Fuc3RhcnQgICByMTJkDQotOyBzY2Fuc3RhcnR3ICByMTJ3DQotOyBzY2FuICAgICAgICByMTMNCi07IG5pY2VtYXRjaCAgIHIxNGQNCi07IGxpbWl0ICAgICAgIHIxNQ0KLTsgbGltaXRkICAgICAgcjE1ZA0KLTsgcHJldiAgICAgICAgcmN4DQotDQotOyAgYWxsIHRoZSArNCBvZmZzZXRzIGFyZSBkdWUgdG8gdGhlIGFkZGl0aW9uIG9mIHBlbmRpbmdfYnVmX3NpemUgKGluIHpsaWINCi07ICBpbiB0aGUgZGVmbGF0ZV9zdGF0ZSBzdHJ1Y3R1cmUgc2luY2UgdGhlIGFzbSBjb2RlIHdhcyBmaXJzdCB3cml0dGVuDQotOyAgKGlmIHlvdSBjb21waWxlIHdpdGggemxpYiAxLjAuNCBvciBvbGRlciwgcmVtb3ZlIHRoZSArNCkuDQotOyAgTm90ZSA6IHRoZXNlIHZhbHVlIGFyZSBnb29kIHdpdGggYSA4IGJ5dGVzIGJvdW5kYXJ5IHBhY2sgc3RydWN0dXJlDQotDQotDQotICAgIE1BWF9NQVRDSCAgICAgICAgICAgZXF1ICAgICAyNTgNCi0gICAgTUlOX01BVENIICAgICAgICAgICBlcXUgICAgIDMNCi0gICAgTUlOX0xPT0tBSEVBRCAgICAgICBlcXUgICAgIChNQVhfTUFUQ0grTUlOX01BVENIKzEpDQotDQotDQotOzs7IE9mZnNldHMgZm9yIGZpZWxkcyBpbiB0aGUgZGVmbGF0ZV9zdGF0ZSBzdHJ1Y3R1cmUuIFRoZXNlIG51bWJlcnMNCi07OzsgYXJlIGNhbGN1bGF0ZWQgZnJvbSB0aGUgZGVmaW5pdGlvbiBvZiBkZWZsYXRlX3N0YXRlLCB3aXRoIHRoZQ0KLTs7OyBhc3N1bXB0aW9uIHRoYXQgdGhlIGNvbXBpbGVyIHdpbGwgZHdvcmQtYWxpZ24gdGhlIGZpZWxkcy4gKFRodXMsDQotOzs7IGNoYW5naW5nIHRoZSBkZWZpbml0aW9uIG9mIGRlZmxhdGVfc3RhdGUgY291bGQgZWFzaWx5IGNhdXNlIHRoaXMNCi07OzsgcHJvZ3JhbSB0byBjcmFzaCBob3JyaWJseSwgd2l0aG91dCBzbyBtdWNoIGFzIGEgd2FybmluZyBhdA0KLTs7OyBjb21waWxlIHRpbWUuIFNpZ2guKQ0KLQ0KLTsgIGFsbCB0aGUgK3psaWIxMjIyYWRkIG9mZnNldHMgYXJlIGR1ZSB0byB0aGUgYWRkaXRpb24gb2YgZmllbGRzDQotOyAgaW4gemxpYiBpbiB0aGUgZGVmbGF0ZV9zdGF0ZSBzdHJ1Y3R1cmUgc2luY2UgdGhlIGFzbSBjb2RlIHdhcyBmaXJzdCB3cml0dGVuDQotOyAgKGlmIHlvdSBjb21waWxlIHdpdGggemxpYiAxLjAuNCBvciBvbGRlciwgdXNlICJ6bGliMTIyMmFkZCBlcXUgKC00KSIpLg0KLTsgIChpZiB5b3UgY29tcGlsZSB3aXRoIHpsaWIgYmV0d2VlbiAxLjAuNSBhbmQgMS4yLjIuMSwgdXNlICJ6bGliMTIyMmFkZCBlcXUgMCIpLg0KLTsgIGlmIHlvdSBjb21waWxlIHdpdGggemxpYiAxLjIuMi4yIG9yIGxhdGVyICwgdXNlICJ6bGliMTIyMmFkZCBlcXUgOCIpLg0KLQ0KLQ0KLUlGREVGIElORk9aSVANCi0NCi1fREFUQSAgIFNFR01FTlQNCi1DT01NICAgIHdpbmRvd19zaXplOkRXT1JEDQotOyBXTWFzayA7IDdmZmYNCi1DT01NICAgIHdpbmRvdzpCWVRFOjAxMDA0MEgNCi1DT01NICAgIHByZXY6V09SRDowODAwMEgNCi07IE1hdGNoTGVuIDogdW51c2VkDQotOyBQcmV2TWF0Y2ggOiB1bnVzZWQNCi1DT01NICAgIHN0cnN0YXJ0OkRXT1JEDQotQ09NTSAgICBtYXRjaF9zdGFydDpEV09SRA0KLTsgTG9va2FoZWFkIDogaWdub3JlDQotQ09NTSAgICBwcmV2X2xlbmd0aDpEV09SRCA7IFByZXZMZW4NCi1DT01NICAgIG1heF9jaGFpbl9sZW5ndGg6RFdPUkQNCi1DT01NICAgIGdvb2RfbWF0Y2g6RFdPUkQNCi1DT01NICAgIG5pY2VfbWF0Y2g6RFdPUkQNCi1wcmV2X2FkIGVxdSBPRkZTRVQgcHJldg0KLXdpbmRvd19hZCBlcXUgT0ZGU0VUIHdpbmRvdw0KLW5pY2VtYXRjaCBlcXUgbmljZV9tYXRjaA0KLV9EQVRBIEVORFMNCi1XTWFzayBlcXUgMDdmZmZoDQotDQotRUxTRQ0KLQ0KLSAgSUZOREVGIHpsaWIxMjIyYWRkDQotICAgIHpsaWIxMjIyYWRkIGVxdSA4DQotICBFTkRJRg0KLWRzV1NpemUgICAgICAgICBlcXUgNTYremxpYjEyMjJhZGQrKHpsaWIxMjIyYWRkLzIpDQotZHNXTWFzayAgICAgICAgIGVxdSA2NCt6bGliMTIyMmFkZCsoemxpYjEyMjJhZGQvMikNCi1kc1dpbmRvdyAgICAgICAgZXF1IDcyK3psaWIxMjIyYWRkDQotZHNQcmV2ICAgICAgICAgIGVxdSA4OCt6bGliMTIyMmFkZA0KLWRzTWF0Y2hMZW4gICAgICBlcXUgMTI4K3psaWIxMjIyYWRkDQotZHNQcmV2TWF0Y2ggICAgIGVxdSAxMzIremxpYjEyMjJhZGQNCi1kc1N0clN0YXJ0ICAgICAgZXF1IDE0MCt6bGliMTIyMmFkZA0KLWRzTWF0Y2hTdGFydCAgICBlcXUgMTQ0K3psaWIxMjIyYWRkDQotZHNMb29rYWhlYWQgICAgIGVxdSAxNDgremxpYjEyMjJhZGQNCi1kc1ByZXZMZW4gICAgICAgZXF1IDE1Mit6bGliMTIyMmFkZA0KLWRzTWF4Q2hhaW5MZW4gICBlcXUgMTU2K3psaWIxMjIyYWRkDQotZHNHb29kTWF0Y2ggICAgIGVxdSAxNzIremxpYjEyMjJhZGQNCi1kc05pY2VNYXRjaCAgICAgZXF1IDE3Nit6bGliMTIyMmFkZA0KLQ0KLXdpbmRvd19zaXplICAgICBlcXUgWyByY3ggKyBkc1dTaXplXQ0KLVdNYXNrICAgICAgICAgICBlcXUgWyByY3ggKyBkc1dNYXNrXQ0KLXdpbmRvd19hZCAgICAgICBlcXUgWyByY3ggKyBkc1dpbmRvd10NCi1wcmV2X2FkICAgICAgICAgZXF1IFsgcmN4ICsgZHNQcmV2XQ0KLXN0cnN0YXJ0ICAgICAgICBlcXUgWyByY3ggKyBkc1N0clN0YXJ0XQ0KLW1hdGNoX3N0YXJ0ICAgICBlcXUgWyByY3ggKyBkc01hdGNoU3RhcnRdDQotTG9va2FoZWFkICAgICAgIGVxdSBbIHJjeCArIGRzTG9va2FoZWFkXSA7IDBmZmZmZmZmZmggb24gaW5mb3ppcA0KLXByZXZfbGVuZ3RoICAgICBlcXUgWyByY3ggKyBkc1ByZXZMZW5dDQotbWF4X2NoYWluX2xlbmd0aCBlcXUgWyByY3ggKyBkc01heENoYWluTGVuXQ0KLWdvb2RfbWF0Y2ggICAgICBlcXUgWyByY3ggKyBkc0dvb2RNYXRjaF0NCi1uaWNlX21hdGNoICAgICAgZXF1IFsgcmN4ICsgZHNOaWNlTWF0Y2hdDQotRU5ESUYNCi0NCi07IHBhcmFtZXRlciAxIGluIHI4KGRlZmxhdGUgc3RhdGUgcyksIHBhcmFtIDIgaW4gcmR4IChjdXIgbWF0Y2gpDQotDQotOyBzZWUgaHR0cDovL3dlYmxvZ3MuYXNwLm5ldC9vbGRuZXd0aGluZy9hcmNoaXZlLzIwMDQvMDEvMTQvNTg1NzkuYXNweCBhbmQNCi07IGh0dHA6Ly9tc2RuLm1pY3Jvc29mdC5jb20vbGlicmFyeS9lbi11cy9rbWFyY2gvaGgva21hcmNoLzY0Yml0QU1EXzhlOTUxZGQyLWVlNzctNDcyOC04NzAyLTU1Y2U0YjVkZDI0YS54bWwuYXNwDQotOw0KLTsgQWxsIHJlZ2lzdGVycyBtdXN0IGJlIHByZXNlcnZlZCBhY3Jvc3MgdGhlIGNhbGwsIGV4Y2VwdCBmb3INCi07ICAgcmF4LCByY3gsIHJkeCwgcjgsIHI5LCByMTAsIGFuZCByMTEsIHdoaWNoIGFyZSBzY3JhdGNoLg0KLQ0KLQ0KLQ0KLTs7OyBTYXZlIHJlZ2lzdGVycyB0aGF0IHRoZSBjb21waWxlciBtYXkgYmUgdXNpbmcsIGFuZCBhZGp1c3QgZXNwIHRvDQotOzs7IG1ha2Ugcm9vbSBmb3Igb3VyIHN0YWNrIGZyYW1lLg0KLQ0KLQ0KLTs7OyBSZXRyaWV2ZSB0aGUgZnVuY3Rpb24gYXJndW1lbnRzLiByOGQgd2lsbCBob2xkIGN1cl9tYXRjaA0KLTs7OyB0aHJvdWdob3V0IHRoZSBlbnRpcmUgZnVuY3Rpb24uIGVkeCB3aWxsIGhvbGQgdGhlIHBvaW50ZXIgdG8gdGhlDQotOzs7IGRlZmxhdGVfc3RhdGUgc3RydWN0dXJlIGR1cmluZyB0aGUgZnVuY3Rpb24ncyBzZXR1cCAoYmVmb3JlDQotOzs7IGVudGVyaW5nIHRoZSBtYWluIGxvb3AuDQotDQotOyBwYXJhbWV0ZXIgMSBpbiByY3ggKGRlZmxhdGVfc3RhdGUqIHMpLCBwYXJhbSAyIGluIGVkeCAtPiByOCAoY3VyIG1hdGNoKQ0KLQ0KLTsgdGhpcyBjbGVhciBoaWdoIDMyIGJpdHMgb2YgcjgsIHdoaWNoIGNhbiBiZSBnYXJiYWdlIGluIGJvdGggcjggYW5kIHJkeA0KLQ0KLSAgICAgICAgbW92IFtzYXZlX3JkaV0scmRpDQotICAgICAgICBtb3YgW3NhdmVfcnNpXSxyc2kNCi0gICAgICAgIG1vdiBbc2F2ZV9yYnhdLHJieA0KLSAgICAgICAgbW92IFtzYXZlX3JicF0scmJwDQotSUZERUYgSU5GT1pJUA0KLSAgICAgICAgbW92IHI4ZCxlY3gNCi1FTFNFDQotICAgICAgICBtb3YgcjhkLGVkeA0KLUVORElGDQotICAgICAgICBtb3YgW3NhdmVfcjEyXSxyMTINCi0gICAgICAgIG1vdiBbc2F2ZV9yMTNdLHIxMw0KLTsgICAgICAgIG1vdiBbc2F2ZV9yMTRdLHIxNA0KLTsgICAgICAgIG1vdiBbc2F2ZV9yMTVdLHIxNQ0KLQ0KLQ0KLTs7OyB1SW50IHdtYXNrID0gcy0+d19tYXNrOw0KLTs7OyB1bnNpZ25lZCBjaGFpbl9sZW5ndGggPSBzLT5tYXhfY2hhaW5fbGVuZ3RoOw0KLTs7OyBpZiAocy0+cHJldl9sZW5ndGggPj0gcy0+Z29vZF9tYXRjaCkgew0KLTs7OyAgICAgY2hhaW5fbGVuZ3RoID4+PSAyOw0KLTs7OyB9DQotDQotICAgICAgICBtb3YgZWRpLCBwcmV2X2xlbmd0aA0KLSAgICAgICAgbW92IGVzaSwgZ29vZF9tYXRjaA0KLSAgICAgICAgbW92IGVheCwgV01hc2sNCi0gICAgICAgIG1vdiBlYngsIG1heF9jaGFpbl9sZW5ndGgNCi0gICAgICAgIGNtcCBlZGksIGVzaQ0KLSAgICAgICAgamwgIExhc3RNYXRjaEdvb2QNCi0gICAgICAgIHNociBlYngsIDINCi1MYXN0TWF0Y2hHb29kOg0KLQ0KLTs7OyBjaGFpbmxlbiBpcyBkZWNyZW1lbnRlZCBvbmNlIGJlZm9yZWhhbmQgc28gdGhhdCB0aGUgZnVuY3Rpb24gY2FuDQotOzs7IHVzZSB0aGUgc2lnbiBmbGFnIGluc3RlYWQgb2YgdGhlIHplcm8gZmxhZyBmb3IgdGhlIGV4aXQgdGVzdC4NCi07OzsgSXQgaXMgdGhlbiBzaGlmdGVkIGludG8gdGhlIGhpZ2ggd29yZCwgdG8gbWFrZSByb29tIGZvciB0aGUgd21hc2sNCi07OzsgdmFsdWUsIHdoaWNoIGl0IHdpbGwgYWx3YXlzIGFjY29tcGFueS4NCi0NCi0gICAgICAgIGRlYyBlYngNCi0gICAgICAgIHNobCBlYngsIDE2DQotICAgICAgICBvciAgZWJ4LCBlYXgNCi0NCi07Ozsgb24gemxpYiBvbmx5DQotOzs7IGlmICgodUludCluaWNlX21hdGNoID4gcy0+bG9va2FoZWFkKSBuaWNlX21hdGNoID0gcy0+bG9va2FoZWFkOw0KLQ0KLUlGREVGIElORk9aSVANCi0gICAgICAgIG1vdiBbY2hhaW5sZW53bWFza10sIGVieA0KLTsgb24gaW5mb3ppcCBuaWNlX21hdGNoID0gW25pY2VfbWF0Y2hdDQotRUxTRQ0KLSAgICAgICAgbW92IGVheCwgbmljZV9tYXRjaA0KLSAgICAgICAgbW92IFtjaGFpbmxlbndtYXNrXSwgZWJ4DQotICAgICAgICBtb3YgcjEwZCwgTG9va2FoZWFkDQotICAgICAgICBjbXAgcjEwZCwgZWF4DQotICAgICAgICBjbW92bmwgcjEwZCwgZWF4DQotICAgICAgICBtb3YgW25pY2VtYXRjaF0scjEwZA0KLUVORElGDQotDQotOzs7IHJlZ2lzdGVyIEJ5dGVmICpzY2FuID0gcy0+d2luZG93ICsgcy0+c3Ryc3RhcnQ7DQotICAgICAgICBtb3YgcjEwLCB3aW5kb3dfYWQNCi0gICAgICAgIG1vdiBlYnAsIHN0cnN0YXJ0DQotICAgICAgICBsZWEgcjEzLCBbcjEwICsgcmJwXQ0KLQ0KLTs7OyBEZXRlcm1pbmUgaG93IG1hbnkgYnl0ZXMgdGhlIHNjYW4gcHRyIGlzIG9mZiBmcm9tIGJlaW5nDQotOzs7IGR3b3JkLWFsaWduZWQuDQotDQotICAgICAgICAgbW92IHI5LHIxMw0KLSAgICAgICAgIG5lZyByMTMNCi0gICAgICAgICBhbmQgcjEzLDMNCi0NCi07OzsgSVBvcyBsaW1pdCA9IHMtPnN0cnN0YXJ0ID4gKElQb3MpTUFYX0RJU1QocykgPw0KLTs7OyAgICAgcy0+c3Ryc3RhcnQgLSAoSVBvcylNQVhfRElTVChzKSA6IE5JTDsNCi1JRkRFRiBJTkZPWklQDQotICAgICAgICBtb3YgZWF4LDA3ZWZhaCA7IE1BWF9ESVNUID0gKFdTSVpFLU1JTl9MT09LQUhFQUQpICgweDgwMDAtKDMrOCsxKSkNCi1FTFNFDQotICAgICAgICBtb3YgZWF4LCB3aW5kb3dfc2l6ZQ0KLSAgICAgICAgc3ViIGVheCwgTUlOX0xPT0tBSEVBRA0KLUVORElGDQotICAgICAgICB4b3IgZWRpLGVkaQ0KLSAgICAgICAgc3ViIGVicCwgZWF4DQotDQotICAgICAgICBtb3YgcjExZCwgcHJldl9sZW5ndGgNCi0NCi0gICAgICAgIGNtb3ZuZyBlYnAsZWRpDQotDQotOzs7IGludCBiZXN0X2xlbiA9IHMtPnByZXZfbGVuZ3RoOw0KLQ0KLQ0KLTs7OyBTdG9yZSB0aGUgc3VtIG9mIHMtPndpbmRvdyArIGJlc3RfbGVuIGluIGVzaSBsb2NhbGx5LCBhbmQgaW4gZXNpLg0KLQ0KLSAgICAgICBsZWEgIHJzaSxbcjEwK3IxMV0NCi0NCi07OzsgcmVnaXN0ZXIgdXNoIHNjYW5fc3RhcnQgPSAqKHVzaGYqKXNjYW47DQotOzs7IHJlZ2lzdGVyIHVzaCBzY2FuX2VuZCAgID0gKih1c2hmKikoc2NhbitiZXN0X2xlbi0xKTsNCi07OzsgUG9zZiAqcHJldiA9IHMtPnByZXY7DQotDQotICAgICAgICBtb3Z6eCByMTJkLHdvcmQgcHRyIFtyOV0NCi0gICAgICAgIG1vdnp4IGVieCwgd29yZCBwdHIgW3I5ICsgcjExIC0gMV0NCi0NCi0gICAgICAgIG1vdiByZGksIHByZXZfYWQNCi0NCi07OzsgSnVtcCBpbnRvIHRoZSBtYWluIGxvb3AuDQotDQotICAgICAgICBtb3YgZWR4LCBbY2hhaW5sZW53bWFza10NCi0NCi0gICAgICAgIGNtcCBieCx3b3JkIHB0ciBbcnNpICsgcjggLSAxXQ0KLSAgICAgICAganogIExvb2t1cExvb3BJc1plcm8NCi0NCi1Mb29rdXBMb29wMToNCi0gICAgICAgIGFuZCByOGQsIGVkeA0KLQ0KLSAgICAgICAgbW92enggICByOGQsIHdvcmQgcHRyIFtyZGkgKyByOCoyXQ0KLSAgICAgICAgY21wIHI4ZCwgZWJwDQotICAgICAgICBqYmUgTGVhdmVOb3cNCi0gICAgICAgIHN1YiBlZHgsIDAwMDEwMDAwaA0KLSAgICAgICAganMgIExlYXZlTm93DQotDQotTG9vcEVudHJ5MToNCi0gICAgICAgIGNtcCBieCx3b3JkIHB0ciBbcnNpICsgcjggLSAxXQ0KLSAgICAgICAganogIExvb2t1cExvb3BJc1plcm8NCi0NCi1Mb29rdXBMb29wMjoNCi0gICAgICAgIGFuZCByOGQsIGVkeA0KLQ0KLSAgICAgICAgbW92enggICByOGQsIHdvcmQgcHRyIFtyZGkgKyByOCoyXQ0KLSAgICAgICAgY21wIHI4ZCwgZWJwDQotICAgICAgICBqYmUgTGVhdmVOb3cNCi0gICAgICAgIHN1YiBlZHgsIDAwMDEwMDAwaA0KLSAgICAgICAganMgIExlYXZlTm93DQotDQotTG9vcEVudHJ5MjoNCi0gICAgICAgIGNtcCBieCx3b3JkIHB0ciBbcnNpICsgcjggLSAxXQ0KLSAgICAgICAganogIExvb2t1cExvb3BJc1plcm8NCi0NCi1Mb29rdXBMb29wNDoNCi0gICAgICAgIGFuZCByOGQsIGVkeA0KLQ0KLSAgICAgICAgbW92enggICByOGQsIHdvcmQgcHRyIFtyZGkgKyByOCoyXQ0KLSAgICAgICAgY21wIHI4ZCwgZWJwDQotICAgICAgICBqYmUgTGVhdmVOb3cNCi0gICAgICAgIHN1YiBlZHgsIDAwMDEwMDAwaA0KLSAgICAgICAganMgIExlYXZlTm93DQotDQotTG9vcEVudHJ5NDoNCi0NCi0gICAgICAgIGNtcCBieCx3b3JkIHB0ciBbcnNpICsgcjggLSAxXQ0KLSAgICAgICAgam56IExvb2t1cExvb3AxDQotICAgICAgICBqbXAgTG9va3VwTG9vcElzWmVybw0KLQ0KLQ0KLTs7OyBkbyB7DQotOzs7ICAgICBtYXRjaCA9IHMtPndpbmRvdyArIGN1cl9tYXRjaDsNCi07OzsgICAgIGlmICgqKHVzaGYqKShtYXRjaCtiZXN0X2xlbi0xKSAhPSBzY2FuX2VuZCB8fA0KLTs7OyAgICAgICAgICoodXNoZiopbWF0Y2ggIT0gc2Nhbl9zdGFydCkgY29udGludWU7DQotOzs7ICAgICBbLi4uXQ0KLTs7OyB9IHdoaWxlICgoY3VyX21hdGNoID0gcHJldltjdXJfbWF0Y2ggJiB3bWFza10pID4gbGltaXQNCi07OzsgICAgICAgICAgJiYgLS1jaGFpbl9sZW5ndGggIT0gMCk7DQotOzs7DQotOzs7IEhlcmUgaXMgdGhlIGlubmVyIGxvb3Agb2YgdGhlIGZ1bmN0aW9uLiBUaGUgZnVuY3Rpb24gd2lsbCBzcGVuZCB0aGUNCi07OzsgbWFqb3JpdHkgb2YgaXRzIHRpbWUgaW4gdGhpcyBsb29wLCBhbmQgbWFqb3JpdHkgb2YgdGhhdCB0aW1lIHdpbGwNCi07OzsgYmUgc3BlbnQgaW4gdGhlIGZpcnN0IHRlbiBpbnN0cnVjdGlvbnMuDQotOzs7DQotOzs7IFdpdGhpbiB0aGlzIGxvb3A6DQotOzs7IGVieCA9IHNjYW5lbmQNCi07OzsgcjhkID0gY3VybWF0Y2gNCi07OzsgZWR4ID0gY2hhaW5sZW53bWFzayAtIGkuZS4sICgoY2hhaW5sZW4gPDwgMTYpIHwgd21hc2spDQotOzs7IGVzaSA9IHdpbmRvd2Jlc3RsZW4gLSBpLmUuLCAod2luZG93ICsgYmVzdGxlbikNCi07OzsgZWRpID0gcHJldg0KLTs7OyBlYnAgPSBsaW1pdA0KLQ0KLUxvb2t1cExvb3A6DQotICAgICAgICBhbmQgcjhkLCBlZHgNCi0NCi0gICAgICAgIG1vdnp4ICAgcjhkLCB3b3JkIHB0ciBbcmRpICsgcjgqMl0NCi0gICAgICAgIGNtcCByOGQsIGVicA0KLSAgICAgICAgamJlIExlYXZlTm93DQotICAgICAgICBzdWIgZWR4LCAwMDAxMDAwMGgNCi0gICAgICAgIGpzICBMZWF2ZU5vdw0KLQ0KLUxvb3BFbnRyeToNCi0NCi0gICAgICAgIGNtcCBieCx3b3JkIHB0ciBbcnNpICsgcjggLSAxXQ0KLSAgICAgICAgam56IExvb2t1cExvb3AxDQotTG9va3VwTG9vcElzWmVybzoNCi0gICAgICAgIGNtcCAgICAgcjEydywgd29yZCBwdHIgW3IxMCArIHI4XQ0KLSAgICAgICAgam56IExvb2t1cExvb3AxDQotDQotDQotOzs7IFN0b3JlIHRoZSBjdXJyZW50IHZhbHVlIG9mIGNoYWlubGVuLg0KLSAgICAgICAgbW92IFtjaGFpbmxlbndtYXNrXSwgZWR4DQotDQotOzs7IFBvaW50IGVkaSB0byB0aGUgc3RyaW5nIHVuZGVyIHNjcnV0aW55LCBhbmQgZXNpIHRvIHRoZSBzdHJpbmcgd2UNCi07OzsgYXJlIGhvcGluZyB0byBtYXRjaCBpdCB1cCB3aXRoLiBJbiBhY3R1YWxpdHksIGVzaSBhbmQgZWRpIGFyZQ0KLTs7OyBib3RoIHBvaW50ZWQgKE1BWF9NQVRDSF84IC0gc2NhbmFsaWduKSBieXRlcyBhaGVhZCwgYW5kIGVkeCBpcw0KLTs7OyBpbml0aWFsaXplZCB0byAtKE1BWF9NQVRDSF84IC0gc2NhbmFsaWduKS4NCi0NCi0gICAgICAgIGxlYSByc2ksW3I4K3IxMF0NCi0gICAgICAgIG1vdiByZHgsIDBmZmZmZmZmZmZmZmZmZWY4aDsgLShNQVhfTUFUQ0hfOCkNCi0gICAgICAgIGxlYSByc2ksIFtyc2kgKyByMTMgKyAwMTA4aF0gO01BWF9NQVRDSF84XQ0KLSAgICAgICAgbGVhIHJkaSwgW3I5ICsgcjEzICsgMDEwOGhdIDtNQVhfTUFUQ0hfOF0NCi0NCi0gICAgICAgIHByZWZldGNodDEgW3JzaStyZHhdDQotICAgICAgICBwcmVmZXRjaHQxIFtyZGkrcmR4XQ0KLQ0KLQ0KLTs7OyBUZXN0IHRoZSBzdHJpbmdzIGZvciBlcXVhbGl0eSwgOCBieXRlcyBhdCBhIHRpbWUuIEF0IHRoZSBlbmQsDQotOzs7IGFkanVzdCByZHggc28gdGhhdCBpdCBpcyBvZmZzZXQgdG8gdGhlIGV4YWN0IGJ5dGUgdGhhdCBtaXNtYXRjaGVkLg0KLTs7Ow0KLTs7OyBXZSBhbHJlYWR5IGtub3cgYXQgdGhpcyBwb2ludCB0aGF0IHRoZSBmaXJzdCB0aHJlZSBieXRlcyBvZiB0aGUNCi07Ozsgc3RyaW5ncyBtYXRjaCBlYWNoIG90aGVyLCBhbmQgdGhleSBjYW4gYmUgc2FmZWx5IHBhc3NlZCBvdmVyIGJlZm9yZQ0KLTs7OyBzdGFydGluZyB0aGUgY29tcGFyZSBsb29wLiBTbyB3aGF0IHRoaXMgY29kZSBkb2VzIGlzIHNraXAgb3ZlciAwLTMNCi07OzsgYnl0ZXMsIGFzIG11Y2ggYXMgbmVjZXNzYXJ5IGluIG9yZGVyIHRvIGR3b3JkLWFsaWduIHRoZSBlZGkNCi07OzsgcG9pbnRlci4gKHJzaSB3aWxsIHN0aWxsIGJlIG1pc2FsaWduZWQgdGhyZWUgdGltZXMgb3V0IG9mIGZvdXIuKQ0KLTs7Ow0KLTs7OyBJdCBzaG91bGQgYmUgY29uZmVzc2VkIHRoYXQgdGhpcyBsb29wIHVzdWFsbHkgZG9lcyBub3QgcmVwcmVzZW50DQotOzs7IG11Y2ggb2YgdGhlIHRvdGFsIHJ1bm5pbmcgdGltZS4gUmVwbGFjaW5nIGl0IHdpdGggYSBtb3JlDQotOzs7IHN0cmFpZ2h0Zm9yd2FyZCAicmVwIGNtcHNiIiB3b3VsZCBub3QgZHJhc3RpY2FsbHkgZGVncmFkZQ0KLTs7OyBwZXJmb3JtYW5jZS4NCi0NCi0NCi1Mb29wQ21wczoNCi0gICAgICAgIG1vdiByYXgsIFtyc2kgKyByZHhdDQotICAgICAgICB4b3IgcmF4LCBbcmRpICsgcmR4XQ0KLSAgICAgICAgam56IExlYXZlTG9vcENtcHMNCi0NCi0gICAgICAgIG1vdiByYXgsIFtyc2kgKyByZHggKyA4XQ0KLSAgICAgICAgeG9yIHJheCwgW3JkaSArIHJkeCArIDhdDQotICAgICAgICBqbnogTGVhdmVMb29wQ21wczgNCi0NCi0NCi0gICAgICAgIG1vdiByYXgsIFtyc2kgKyByZHggKyA4KzhdDQotICAgICAgICB4b3IgcmF4LCBbcmRpICsgcmR4ICsgOCs4XQ0KLSAgICAgICAgam56IExlYXZlTG9vcENtcHMxNg0KLQ0KLSAgICAgICAgYWRkIHJkeCw4KzgrOA0KLQ0KLSAgICAgICAgam56IHNob3J0IExvb3BDbXBzDQotICAgICAgICBqbXAgc2hvcnQgTGVuTWF4aW11bQ0KLUxlYXZlTG9vcENtcHMxNjogYWRkIHJkeCw4DQotTGVhdmVMb29wQ21wczg6IGFkZCByZHgsOA0KLUxlYXZlTG9vcENtcHM6DQotDQotICAgICAgICB0ZXN0ICAgIGVheCwgMDAwMEZGRkZoDQotICAgICAgICBqbnogTGVuTG93ZXINCi0NCi0gICAgICAgIHRlc3QgZWF4LDBmZmZmZmZmZmgNCi0NCi0gICAgICAgIGpueiBMZW5Mb3dlcjMyDQotDQotICAgICAgICBhZGQgcmR4LDQNCi0gICAgICAgIHNociByYXgsMzINCi0gICAgICAgIG9yIGF4LGF4DQotICAgICAgICBqbnogTGVuTG93ZXINCi0NCi1MZW5Mb3dlcjMyOg0KLSAgICAgICAgc2hyIGVheCwxNg0KLSAgICAgICAgYWRkIHJkeCwyDQotTGVuTG93ZXI6ICAgc3ViIGFsLCAxDQotICAgICAgICBhZGMgcmR4LCAwDQotOzs7IENhbGN1bGF0ZSB0aGUgbGVuZ3RoIG9mIHRoZSBtYXRjaC4gSWYgaXQgaXMgbG9uZ2VyIHRoYW4gTUFYX01BVENILA0KLTs7OyB0aGVuIGF1dG9tYXRpY2FsbHkgYWNjZXB0IGl0IGFzIHRoZSBiZXN0IHBvc3NpYmxlIG1hdGNoIGFuZCBsZWF2ZS4NCi0NCi0gICAgICAgIGxlYSByYXgsIFtyZGkgKyByZHhdDQotICAgICAgICBzdWIgcmF4LCByOQ0KLSAgICAgICAgY21wIGVheCwgTUFYX01BVENIDQotICAgICAgICBqZ2UgTGVuTWF4aW11bQ0KLQ0KLTs7OyBJZiB0aGUgbGVuZ3RoIG9mIHRoZSBtYXRjaCBpcyBub3QgbG9uZ2VyIHRoYW4gdGhlIGJlc3QgbWF0Y2ggd2UNCi07OzsgaGF2ZSBzbyBmYXIsIHRoZW4gZm9yZ2V0IGl0IGFuZCByZXR1cm4gdG8gdGhlIGxvb2t1cCBsb29wLg0KLTsvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLw0KLQ0KLSAgICAgICAgY21wIGVheCwgcjExZA0KLSAgICAgICAgamcgIExvbmdlck1hdGNoDQotDQotICAgICAgICBsZWEgcnNpLFtyMTArcjExXQ0KLQ0KLSAgICAgICAgbW92IHJkaSwgcHJldl9hZA0KLSAgICAgICAgbW92IGVkeCwgW2NoYWlubGVud21hc2tdDQotICAgICAgICBqbXAgTG9va3VwTG9vcA0KLQ0KLTs7OyAgICAgICAgIHMtPm1hdGNoX3N0YXJ0ID0gY3VyX21hdGNoOw0KLTs7OyAgICAgICAgIGJlc3RfbGVuID0gbGVuOw0KLTs7OyAgICAgICAgIGlmIChsZW4gPj0gbmljZV9tYXRjaCkgYnJlYWs7DQotOzs7ICAgICAgICAgc2Nhbl9lbmQgPSAqKHVzaGYqKShzY2FuK2Jlc3RfbGVuLTEpOw0KLQ0KLUxvbmdlck1hdGNoOg0KLSAgICAgICAgbW92IHIxMWQsIGVheA0KLSAgICAgICAgbW92IG1hdGNoX3N0YXJ0LCByOGQNCi0gICAgICAgIGNtcCBlYXgsIFtuaWNlbWF0Y2hdDQotICAgICAgICBqZ2UgTGVhdmVOb3cNCi0NCi0gICAgICAgIGxlYSByc2ksW3IxMCtyYXhdDQotDQotICAgICAgICBtb3Z6eCAgIGVieCwgd29yZCBwdHIgW3I5ICsgcmF4IC0gMV0NCi0gICAgICAgIG1vdiByZGksIHByZXZfYWQNCi0gICAgICAgIG1vdiBlZHgsIFtjaGFpbmxlbndtYXNrXQ0KLSAgICAgICAgam1wIExvb2t1cExvb3ANCi0NCi07OzsgQWNjZXB0IHRoZSBjdXJyZW50IHN0cmluZywgd2l0aCB0aGUgbWF4aW11bSBwb3NzaWJsZSBsZW5ndGguDQotDQotTGVuTWF4aW11bToNCi0gICAgICAgIG1vdiByMTFkLE1BWF9NQVRDSA0KLSAgICAgICAgbW92IG1hdGNoX3N0YXJ0LCByOGQNCi0NCi07OzsgaWYgKCh1SW50KWJlc3RfbGVuIDw9IHMtPmxvb2thaGVhZCkgcmV0dXJuICh1SW50KWJlc3RfbGVuOw0KLTs7OyByZXR1cm4gcy0+bG9va2FoZWFkOw0KLQ0KLUxlYXZlTm93Og0KLUlGREVGIElORk9aSVANCi0gICAgICAgIG1vdiBlYXgscjExZA0KLUVMU0UNCi0gICAgICAgIG1vdiBlYXgsIExvb2thaGVhZA0KLSAgICAgICAgY21wIHIxMWQsIGVheA0KLSAgICAgICAgY21vdm5nIGVheCwgcjExZA0KLUVORElGDQotDQotOzs7IFJlc3RvcmUgdGhlIHN0YWNrIGFuZCByZXR1cm4gZnJvbSB3aGVuY2Ugd2UgY2FtZS4NCi0NCi0NCi0gICAgICAgIG1vdiByc2ksW3NhdmVfcnNpXQ0KLSAgICAgICAgbW92IHJkaSxbc2F2ZV9yZGldDQotICAgICAgICBtb3YgcmJ4LFtzYXZlX3JieF0NCi0gICAgICAgIG1vdiByYnAsW3NhdmVfcmJwXQ0KLSAgICAgICAgbW92IHIxMixbc2F2ZV9yMTJdDQotICAgICAgICBtb3YgcjEzLFtzYXZlX3IxM10NCi07ICAgICAgICBtb3YgcjE0LFtzYXZlX3IxNF0NCi07ICAgICAgICBtb3YgcjE1LFtzYXZlX3IxNV0NCi0NCi0NCi0gICAgICAgIHJldCAwDQotOyBwbGVhc2UgZG9uJ3QgcmVtb3ZlIHRoaXMgc3RyaW5nICENCi07IFlvdXIgY2FuIGZyZWVseSB1c2UgZ3ZtYXQ2NCBpbiBhbnkgZnJlZSBvciBjb21tZXJjaWFsIGFwcA0KLTsgYnV0IGl0IGlzIGZhciBiZXR0ZXIgZG9uJ3QgcmVtb3ZlIHRoZSBzdHJpbmcgaW4gdGhlIGJpbmFyeSENCi0gICAgZGIgICAgIDBkaCwwYWgsImFzbTY4NiB3aXRoIG1hc20sIG9wdGltaXNlZCBhc3NlbWJseSBjb2RlIGZyb20gQnJpYW4gUmFpdGVyLCB3cml0dGVuIDE5OTgsIGNvbnZlcnRlZCB0byBhbWQgNjQgYnkgR2lsbGVzIFZvbGxhbnQgMjAwNSIsMGRoLDBhaCwwDQotbG9uZ2VzdF9tYXRjaCAgIEVORFANCi0NCi1tYXRjaF9pbml0IFBST0MNCi0gIHJldCAwDQotbWF0Y2hfaW5pdCBFTkRQDQotDQotDQotRU5EDQpkaWZmIC0tZ2l0IGEvc3JjL2NvbnRyaWIvbWFzbXg2NC9pbmZmYXM4NjY0LmMgYi9zcmMvY29udHJpYi9tYXNteDY0L2luZmZhczg2NjQuYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZThhZjA2Zi4uMDAwMDAwMAotLS0gYS9zcmMvY29udHJpYi9tYXNteDY0L2luZmZhczg2NjQuYworKysgL2Rldi9udWxsCkBAIC0xLDE4NiArMCwwIEBACi0vKiBpbmZmYXM4NjY0LmMgaXMgYSBoYW5kIHR1bmVkIGFzc2VtYmxlciB2ZXJzaW9uIG9mIGluZmZhc3QuYyAtIGZhc3QgZGVjb2RpbmcNCi0gKiB2ZXJzaW9uIGZvciBBTUQ2NCBvbiBXaW5kb3dzIHVzaW5nIE1pY3Jvc29mdCBDIGNvbXBpbGVyDQotICoNCi0gKiBDb3B5cmlnaHQgKEMpIDE5OTUtMjAwMyBNYXJrIEFkbGVyDQotICogRm9yIGNvbmRpdGlvbnMgb2YgZGlzdHJpYnV0aW9uIGFuZCB1c2UsIHNlZSBjb3B5cmlnaHQgbm90aWNlIGluIHpsaWIuaA0KLSAqDQotICogQ29weXJpZ2h0IChDKSAyMDAzIENocmlzIEFuZGVyc29uIDxjaHJpc3RvcEBjaGFybS5uZXQ+DQotICogUGxlYXNlIHVzZSB0aGUgY29weXJpZ2h0IGNvbmRpdGlvbnMgYWJvdmUuDQotICoNCi0gKiAyMDA1IC0gQWRhcHRhdGlvbiB0byBNaWNyb3NvZnQgQyBDb21waWxlciBmb3IgQU1ENjQgYnkgR2lsbGVzIFZvbGxhbnQNCi0gKg0KLSAqIGluZmZhczg2NjQuYyBjYWxsIGZ1bmN0aW9uIGluZmZhczg2NjRmbmMgaW4gaW5mZmFzeDY0LmFzbQ0KLSAqICBpbmZmYXN4NjQuYXNtIGlzIGF1dG9tYXRpY2FsbHkgY29udmVydCBmcm9tIEFNRDY0IHBvcnRpb24gb2YgaW5mZmFzODYuYw0KLSAqDQotICogRGVjLTI5LTIwMDMgLS0gSSBhZGRlZCBBTUQ2NCBpbmZsYXRlIGFzbSBzdXBwb3J0LiAgVGhpcyB2ZXJzaW9uIGlzIGFsc28NCi0gKiBzbGlnaHRseSBxdWlja2VyIG9uIHg4NiBzeXN0ZW1zIGJlY2F1c2UsIGluc3RlYWQgb2YgdXNpbmcgcmVwIG1vdnNiIHRvIGNvcHkNCi0gKiBkYXRhLCBpdCB1c2VzIHJlcCBtb3Zzdywgd2hpY2ggbW92ZXMgZGF0YSBpbiAyLWJ5dGUgY2h1bmtzIGluc3RlYWQgb2Ygc2luZ2xlDQotICogYnl0ZXMuICBJJ3ZlIHRlc3RlZCB0aGUgQU1ENjQgY29kZSBvbiBhIEZlZG9yYSBDb3JlIDEgKyB0aGUgeDg2XzY0IHVwZGF0ZXMNCi0gKiBmcm9tIGh0dHA6Ly9mZWRvcmEubGludXguZHVrZS5lZHUvZmMxX3g4Nl82NA0KLSAqIHdoaWNoIGlzIHJ1bm5pbmcgb24gYW4gQXRobG9uIDY0IDMwMDArIC8gR2lnYWJ5dGUgR0EtSzhWVDgwME0gc3lzdGVtIHdpdGgNCi0gKiAxR0IgcmFtLiAgVGhlIDY0LWJpdCB2ZXJzaW9uIGlzIGFib3V0IDQlIGZhc3RlciB0aGFuIHRoZSAzMi1iaXQgdmVyc2lvbiwNCi0gKiB3aGVuIGRlY29tcHJlc3NpbmcgbW96aWxsYS1zb3VyY2UtMS4zLnRhci5nei4NCi0gKg0KLSAqIE1hci0xMy0yMDAzIC0tIE1vc3Qgb2YgdGhpcyBpcyBkZXJpdmVkIGZyb20gaW5mZmFzdC5TIHdoaWNoIGlzIGRlcml2ZWQgZnJvbQ0KLSAqIHRoZSBnY2MgLVMgb3V0cHV0IG9mIHpsaWItMS4yLjAvaW5mZmFzdC5jLiAgWmxpYi0xLjIuMCBpcyBpbiBiZXRhIHJlbGVhc2UgYXQNCi0gKiB0aGUgbW9tZW50LiAgSSBoYXZlIHN1Y2Nlc3NmdWxseSBjb21waWxlZCBhbmQgdGVzdGVkIHRoaXMgY29kZSB3aXRoIGdjYzIuOTYsDQotICogZ2NjMy4yLCBpY2M1LjAsIG1zdmM2LjAuICBJdCBpcyB2ZXJ5IGNsb3NlIHRvIHRoZSBzcGVlZCBvZiBpbmZmYXN0LlMNCi0gKiBjb21waWxlZCB3aXRoIGdjYyAtRE5PX01NWCwgYnV0IGluZmZhc3QuUyBpcyBzdGlsbCBmYXN0ZXIgb24gdGhlIFAzIHdpdGggTU1YDQotICogZW5hYmxlZC4gIEkgd2lsbCBhdHRlbXB0IHRvIG1lcmdlIHRoZSBNTVggY29kZSBpbnRvIHRoaXMgdmVyc2lvbi4gIE5ld2VyDQotICogdmVyc2lvbnMgb2YgdGhpcyBhbmQgaW5mZmFzdC5TIGNhbiBiZSBmb3VuZCBhdA0KLSAqIGh0dHA6Ly93d3cuZWV0YmVldGVlLmNvbS96bGliLyBhbmQgaHR0cDovL3d3dy5jaGFybS5uZXQvfmNocmlzdG9wL3psaWIvDQotICoNCi0gKi8NCi0NCi0jaW5jbHVkZSA8c3RkaW8uaD4NCi0jaW5jbHVkZSAienV0aWwuaCINCi0jaW5jbHVkZSAiaW5mdHJlZXMuaCINCi0jaW5jbHVkZSAiaW5mbGF0ZS5oIg0KLSNpbmNsdWRlICJpbmZmYXN0LmgiDQotDQotLyogTWFyayBBZGxlcidzIGNvbW1lbnRzIGZyb20gaW5mZmFzdC5jOiAqLw0KLQ0KLS8qDQotICAgRGVjb2RlIGxpdGVyYWwsIGxlbmd0aCwgYW5kIGRpc3RhbmNlIGNvZGVzIGFuZCB3cml0ZSBvdXQgdGhlIHJlc3VsdGluZw0KLSAgIGxpdGVyYWwgYW5kIG1hdGNoIGJ5dGVzIHVudGlsIGVpdGhlciBub3QgZW5vdWdoIGlucHV0IG9yIG91dHB1dCBpcw0KLSAgIGF2YWlsYWJsZSwgYW4gZW5kLW9mLWJsb2NrIGlzIGVuY291bnRlcmVkLCBvciBhIGRhdGEgZXJyb3IgaXMgZW5jb3VudGVyZWQuDQotICAgV2hlbiBsYXJnZSBlbm91Z2ggaW5wdXQgYW5kIG91dHB1dCBidWZmZXJzIGFyZSBzdXBwbGllZCB0byBpbmZsYXRlKCksIGZvcg0KLSAgIGV4YW1wbGUsIGEgMTZLIGlucHV0IGJ1ZmZlciBhbmQgYSA2NEsgb3V0cHV0IGJ1ZmZlciwgbW9yZSB0aGFuIDk1JSBvZiB0aGUNCi0gICBpbmZsYXRlIGV4ZWN1dGlvbiB0aW1lIGlzIHNwZW50IGluIHRoaXMgcm91dGluZS4NCi0NCi0gICBFbnRyeSBhc3N1bXB0aW9uczoNCi0NCi0gICAgICAgIHN0YXRlLT5tb2RlID09IExFTg0KLSAgICAgICAgc3RybS0+YXZhaWxfaW4gPj0gNg0KLSAgICAgICAgc3RybS0+YXZhaWxfb3V0ID49IDI1OA0KLSAgICAgICAgc3RhcnQgPj0gc3RybS0+YXZhaWxfb3V0DQotICAgICAgICBzdGF0ZS0+Yml0cyA8IDgNCi0NCi0gICBPbiByZXR1cm4sIHN0YXRlLT5tb2RlIGlzIG9uZSBvZjoNCi0NCi0gICAgICAgIExFTiAtLSByYW4gb3V0IG9mIGVub3VnaCBvdXRwdXQgc3BhY2Ugb3IgZW5vdWdoIGF2YWlsYWJsZSBpbnB1dA0KLSAgICAgICAgVFlQRSAtLSByZWFjaGVkIGVuZCBvZiBibG9jayBjb2RlLCBpbmZsYXRlKCkgdG8gaW50ZXJwcmV0IG5leHQgYmxvY2sNCi0gICAgICAgIEJBRCAtLSBlcnJvciBpbiBibG9jayBkYXRhDQotDQotICAgTm90ZXM6DQotDQotICAgIC0gVGhlIG1heGltdW0gaW5wdXQgYml0cyB1c2VkIGJ5IGEgbGVuZ3RoL2Rpc3RhbmNlIHBhaXIgaXMgMTUgYml0cyBmb3IgdGhlDQotICAgICAgbGVuZ3RoIGNvZGUsIDUgYml0cyBmb3IgdGhlIGxlbmd0aCBleHRyYSwgMTUgYml0cyBmb3IgdGhlIGRpc3RhbmNlIGNvZGUsDQotICAgICAgYW5kIDEzIGJpdHMgZm9yIHRoZSBkaXN0YW5jZSBleHRyYS4gIFRoaXMgdG90YWxzIDQ4IGJpdHMsIG9yIHNpeCBieXRlcy4NCi0gICAgICBUaGVyZWZvcmUgaWYgc3RybS0+YXZhaWxfaW4gPj0gNiwgdGhlbiB0aGVyZSBpcyBlbm91Z2ggaW5wdXQgdG8gYXZvaWQNCi0gICAgICBjaGVja2luZyBmb3IgYXZhaWxhYmxlIGlucHV0IHdoaWxlIGRlY29kaW5nLg0KLQ0KLSAgICAtIFRoZSBtYXhpbXVtIGJ5dGVzIHRoYXQgYSBzaW5nbGUgbGVuZ3RoL2Rpc3RhbmNlIHBhaXIgY2FuIG91dHB1dCBpcyAyNTgNCi0gICAgICBieXRlcywgd2hpY2ggaXMgdGhlIG1heGltdW0gbGVuZ3RoIHRoYXQgY2FuIGJlIGNvZGVkLiAgaW5mbGF0ZV9mYXN0KCkNCi0gICAgICByZXF1aXJlcyBzdHJtLT5hdmFpbF9vdXQgPj0gMjU4IGZvciBlYWNoIGxvb3AgdG8gYXZvaWQgY2hlY2tpbmcgZm9yDQotICAgICAgb3V0cHV0IHNwYWNlLg0KLSAqLw0KLQ0KLQ0KLQ0KLSAgICB0eXBlZGVmIHN0cnVjdCBpbmZmYXN0X2FyIHsNCi0vKiA2NCAgIDMyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHg4NiAgeDg2XzY0ICovDQotLyogYXIgb2Zmc2V0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVnaXN0ZXIgKi8NCi0vKiAgMCAgICAwICovIHZvaWQgKmVzcDsgICAgICAgICAgICAgICAgLyogZXNwIHNhdmUgKi8NCi0vKiAgOCAgICA0ICovIHZvaWQgKmVicDsgICAgICAgICAgICAgICAgLyogZWJwIHNhdmUgKi8NCi0vKiAxNiAgICA4ICovIHVuc2lnbmVkIGNoYXIgRkFSICppbjsgICAgLyogZXNpIHJzaSAgbG9jYWwgc3RybS0+bmV4dF9pbiAqLw0KLS8qIDI0ICAgMTIgKi8gdW5zaWduZWQgY2hhciBGQVIgKmxhc3Q7ICAvKiAgICAgcjkgICB3aGlsZSBpbiA8IGxhc3QgKi8NCi0vKiAzMiAgIDE2ICovIHVuc2lnbmVkIGNoYXIgRkFSICpvdXQ7ICAgLyogZWRpIHJkaSAgbG9jYWwgc3RybS0+bmV4dF9vdXQgKi8NCi0vKiA0MCAgIDIwICovIHVuc2lnbmVkIGNoYXIgRkFSICpiZWc7ICAgLyogICAgICAgICAgaW5mbGF0ZSgpJ3MgaW5pdCBuZXh0X291dCAqLw0KLS8qIDQ4ICAgMjQgKi8gdW5zaWduZWQgY2hhciBGQVIgKmVuZDsgICAvKiAgICAgcjEwICB3aGlsZSBvdXQgPCBlbmQgKi8NCi0vKiA1NiAgIDI4ICovIHVuc2lnbmVkIGNoYXIgRkFSICp3aW5kb3c7LyogICAgICAgICAgc2l6ZSBvZiB3aW5kb3csIHdzaXplIT0wICovDQotLyogNjQgICAzMiAqLyBjb2RlIGNvbnN0IEZBUiAqbGNvZGU7ICAgIC8qIGVicCByYnAgIGxvY2FsIHN0cm0tPmxlbmNvZGUgKi8NCi0vKiA3MiAgIDM2ICovIGNvZGUgY29uc3QgRkFSICpkY29kZTsgICAgLyogICAgIHIxMSAgbG9jYWwgc3RybS0+ZGlzdGNvZGUgKi8NCi0vKiA4MCAgIDQwICovIHNpemVfdCAvKnVuc2lnbmVkIGxvbmcgKi9ob2xkOyAgICAgICAvKiBlZHggcmR4ICBsb2NhbCBzdHJtLT5ob2xkICovDQotLyogODggICA0NCAqLyB1bnNpZ25lZCBiaXRzOyAgICAgICAgICAgIC8qIGVieCByYnggIGxvY2FsIHN0cm0tPmJpdHMgKi8NCi0vKiA5MiAgIDQ4ICovIHVuc2lnbmVkIHdzaXplOyAgICAgICAgICAgLyogICAgICAgICAgd2luZG93IHNpemUgKi8NCi0vKiA5NiAgIDUyICovIHVuc2lnbmVkIHdyaXRlOyAgICAgICAgICAgLyogICAgICAgICAgd2luZG93IHdyaXRlIGluZGV4ICovDQotLyoxMDAgICA1NiAqLyB1bnNpZ25lZCBsbWFzazsgICAgICAgICAgIC8qICAgICByMTIgIG1hc2sgZm9yIGxjb2RlICovDQotLyoxMDQgICA2MCAqLyB1bnNpZ25lZCBkbWFzazsgICAgICAgICAgIC8qICAgICByMTMgIG1hc2sgZm9yIGRjb2RlICovDQotLyoxMDggICA2NCAqLyB1bnNpZ25lZCBsZW47ICAgICAgICAgICAgIC8qICAgICByMTQgIG1hdGNoIGxlbmd0aCAqLw0KLS8qMTEyICAgNjggKi8gdW5zaWduZWQgZGlzdDsgICAgICAgICAgICAvKiAgICAgcjE1ICBtYXRjaCBkaXN0YW5jZSAqLw0KLS8qMTE2ICAgNzIgKi8gdW5zaWduZWQgc3RhdHVzOyAgICAgICAgICAvKiAgICAgICAgICBzZXQgd2hlbiBzdGF0ZSBjaG5nKi8NCi0gICAgfSB0eXBlX2FyOw0KLSNpZmRlZiBBU01JTkYNCi0NCi12b2lkIGluZmxhdGVfZmFzdChzdHJtLCBzdGFydCkNCi16X3N0cmVhbXAgc3RybTsNCi11bnNpZ25lZCBzdGFydDsgICAgICAgICAvKiBpbmZsYXRlKCkncyBzdGFydGluZyB2YWx1ZSBmb3Igc3RybS0+YXZhaWxfb3V0ICovDQotew0KLSAgICBzdHJ1Y3QgaW5mbGF0ZV9zdGF0ZSBGQVIgKnN0YXRlOw0KLSAgICB0eXBlX2FyIGFyOw0KLSAgICB2b2lkIGluZmZhczg2NjRmbmMoc3RydWN0IGluZmZhc3RfYXIgKiBwYXIpOw0KLQ0KLQ0KLQ0KLSNpZiAoZGVmaW5lZCggX19HTlVDX18gKSAmJiBkZWZpbmVkKCBfX2FtZDY0X18gKSAmJiAhIGRlZmluZWQoIF9faTM4NiApKSB8fCAoZGVmaW5lZChfTVNDX1ZFUikgJiYgZGVmaW5lZChfTV9BTUQ2NCkpDQotI2RlZmluZSBQQURfQVZBSUxfSU4gNg0KLSNkZWZpbmUgUEFEX0FWQUlMX09VVCAyNTgNCi0jZWxzZQ0KLSNkZWZpbmUgUEFEX0FWQUlMX0lOIDUNCi0jZGVmaW5lIFBBRF9BVkFJTF9PVVQgMjU3DQotI2VuZGlmDQotDQotICAgIC8qIGNvcHkgc3RhdGUgdG8gbG9jYWwgdmFyaWFibGVzICovDQotICAgIHN0YXRlID0gKHN0cnVjdCBpbmZsYXRlX3N0YXRlIEZBUiAqKXN0cm0tPnN0YXRlOw0KLQ0KLSAgICBhci5pbiA9IHN0cm0tPm5leHRfaW47DQotICAgIGFyLmxhc3QgPSBhci5pbiArIChzdHJtLT5hdmFpbF9pbiAtIFBBRF9BVkFJTF9JTik7DQotICAgIGFyLm91dCA9IHN0cm0tPm5leHRfb3V0Ow0KLSAgICBhci5iZWcgPSBhci5vdXQgLSAoc3RhcnQgLSBzdHJtLT5hdmFpbF9vdXQpOw0KLSAgICBhci5lbmQgPSBhci5vdXQgKyAoc3RybS0+YXZhaWxfb3V0IC0gUEFEX0FWQUlMX09VVCk7DQotICAgIGFyLndzaXplID0gc3RhdGUtPndzaXplOw0KLSAgICBhci53cml0ZSA9IHN0YXRlLT53bmV4dDsNCi0gICAgYXIud2luZG93ID0gc3RhdGUtPndpbmRvdzsNCi0gICAgYXIuaG9sZCA9IHN0YXRlLT5ob2xkOw0KLSAgICBhci5iaXRzID0gc3RhdGUtPmJpdHM7DQotICAgIGFyLmxjb2RlID0gc3RhdGUtPmxlbmNvZGU7DQotICAgIGFyLmRjb2RlID0gc3RhdGUtPmRpc3Rjb2RlOw0KLSAgICBhci5sbWFzayA9ICgxVSA8PCBzdGF0ZS0+bGVuYml0cykgLSAxOw0KLSAgICBhci5kbWFzayA9ICgxVSA8PCBzdGF0ZS0+ZGlzdGJpdHMpIC0gMTsNCi0NCi0gICAgLyogZGVjb2RlIGxpdGVyYWxzIGFuZCBsZW5ndGgvZGlzdGFuY2VzIHVudGlsIGVuZC1vZi1ibG9jayBvciBub3QgZW5vdWdoDQotICAgICAgIGlucHV0IGRhdGEgb3Igb3V0cHV0IHNwYWNlICovDQotDQotICAgIC8qIGFsaWduIGluIG9uIDEvMiBob2xkIHNpemUgYm91bmRhcnkgKi8NCi0gICAgd2hpbGUgKCgoc2l6ZV90KSh2b2lkICopYXIuaW4gJiAoc2l6ZW9mKGFyLmhvbGQpIC8gMiAtIDEpKSAhPSAwKSB7DQotICAgICAgICBhci5ob2xkICs9ICh1bnNpZ25lZCBsb25nKSphci5pbisrIDw8IGFyLmJpdHM7DQotICAgICAgICBhci5iaXRzICs9IDg7DQotICAgIH0NCi0NCi0gICAgaW5mZmFzODY2NGZuYygmYXIpOw0KLQ0KLSAgICBpZiAoYXIuc3RhdHVzID4gMSkgew0KLSAgICAgICAgaWYgKGFyLnN0YXR1cyA9PSAyKQ0KLSAgICAgICAgICAgIHN0cm0tPm1zZyA9ICJpbnZhbGlkIGxpdGVyYWwvbGVuZ3RoIGNvZGUiOw0KLSAgICAgICAgZWxzZSBpZiAoYXIuc3RhdHVzID09IDMpDQotICAgICAgICAgICAgc3RybS0+bXNnID0gImludmFsaWQgZGlzdGFuY2UgY29kZSI7DQotICAgICAgICBlbHNlDQotICAgICAgICAgICAgc3RybS0+bXNnID0gImludmFsaWQgZGlzdGFuY2UgdG9vIGZhciBiYWNrIjsNCi0gICAgICAgIHN0YXRlLT5tb2RlID0gQkFEOw0KLSAgICB9DQotICAgIGVsc2UgaWYgKCBhci5zdGF0dXMgPT0gMSApIHsNCi0gICAgICAgIHN0YXRlLT5tb2RlID0gVFlQRTsNCi0gICAgfQ0KLQ0KLSAgICAvKiByZXR1cm4gdW51c2VkIGJ5dGVzIChvbiBlbnRyeSwgYml0cyA8IDgsIHNvIGluIHdvbid0IGdvIHRvbyBmYXIgYmFjaykgKi8NCi0gICAgYXIubGVuID0gYXIuYml0cyA+PiAzOw0KLSAgICBhci5pbiAtPSBhci5sZW47DQotICAgIGFyLmJpdHMgLT0gYXIubGVuIDw8IDM7DQotICAgIGFyLmhvbGQgJj0gKDFVIDw8IGFyLmJpdHMpIC0gMTsNCi0NCi0gICAgLyogdXBkYXRlIHN0YXRlIGFuZCByZXR1cm4gKi8NCi0gICAgc3RybS0+bmV4dF9pbiA9IGFyLmluOw0KLSAgICBzdHJtLT5uZXh0X291dCA9IGFyLm91dDsNCi0gICAgc3RybS0+YXZhaWxfaW4gPSAodW5zaWduZWQpKGFyLmluIDwgYXIubGFzdCA/DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQQURfQVZBSUxfSU4gKyAoYXIubGFzdCAtIGFyLmluKSA6DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQQURfQVZBSUxfSU4gLSAoYXIuaW4gLSBhci5sYXN0KSk7DQotICAgIHN0cm0tPmF2YWlsX291dCA9ICh1bnNpZ25lZCkoYXIub3V0IDwgYXIuZW5kID8NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQQURfQVZBSUxfT1VUICsgKGFyLmVuZCAtIGFyLm91dCkgOg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBBRF9BVkFJTF9PVVQgLSAoYXIub3V0IC0gYXIuZW5kKSk7DQotICAgIHN0YXRlLT5ob2xkID0gKHVuc2lnbmVkIGxvbmcpYXIuaG9sZDsNCi0gICAgc3RhdGUtPmJpdHMgPSBhci5iaXRzOw0KLSAgICByZXR1cm47DQotfQ0KLQ0KLSNlbmRpZg0KZGlmZiAtLWdpdCBhL3NyYy9jb250cmliL21hc214NjQvaW5mZmFzeDY0LmFzbSBiL3NyYy9jb250cmliL21hc214NjQvaW5mZmFzeDY0LmFzbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjBhOGQ4OS4uMDAwMDAwMAotLS0gYS9zcmMvY29udHJpYi9tYXNteDY0L2luZmZhc3g2NC5hc20KKysrIC9kZXYvbnVsbApAQCAtMSwzOTYgKzAsMCBAQAotOyBpbmZmYXN4NjQuYXNtIGlzIGEgaGFuZCB0dW5lZCBhc3NlbWJsZXIgdmVyc2lvbiBvZiBpbmZmYXN0LmMgLSBmYXN0IGRlY29kaW5nDQotOyB2ZXJzaW9uIGZvciBBTUQ2NCBvbiBXaW5kb3dzIHVzaW5nIE1pY3Jvc29mdCBDIGNvbXBpbGVyDQotOw0KLTsgaW5mZmFzeDY0LmFzbSBpcyBhdXRvbWF0aWNhbGx5IGNvbnZlcnQgZnJvbSBBTUQ2NCBwb3J0aW9uIG9mIGluZmZhczg2LmMNCi07IGluZmZhc3g2NC5hc20gaXMgY2FsbGVkIGJ5IGluZmZhczg2NjQuYywgd2hpY2ggY29udGFpbiBtb3JlIGluZm8uDQotDQotDQotOyB0byBjb21waWxlIHRoaXMgZmlsZSwgSSB1c2Ugb3B0aW9uDQotOyAgIG1sNjQuZXhlIC9GbGluZmZhc3g2NCAvYyAvWmkgaW5mZmFzeDY0LmFzbQ0KLTsgICB3aXRoIE1pY3Jvc29mdCBNYWNybyBBc3NlbWJsZXIgKHg2NCkgZm9yIEFNRDY0DQotOw0KLQ0KLTsgVGhpcyBmaWxlIGNvbXBpbGUgd2l0aCBNaWNyb3NvZnQgTWFjcm8gQXNzZW1ibGVyICh4NjQpIGZvciBBTUQ2NA0KLTsNCi07ICAgbWw2NC5leGUgaXMgZ2l2ZW4gd2l0aCBWaXN1YWwgU3R1ZGlvIDIwMDUvMjAwOC8yMDEwIGFuZCBXaW5kb3dzIFdESw0KLTsNCi07ICAgKHlvdSBjYW4gZ2V0IFdpbmRvd3MgV0RLIHdpdGggbWw2NCBmb3IgQU1ENjQgZnJvbQ0KLTsgICAgICBodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vd2hkYy9EZXZ0b29scy93ZGsvZGVmYXVsdC5tc3B4IGZvciBsb3cgcHJpY2UpDQotOw0KLQ0KLQ0KLS5jb2RlDQotaW5mZmFzODY2NGZuYyBQUk9DDQotDQotOyBzZWUgaHR0cDovL3dlYmxvZ3MuYXNwLm5ldC9vbGRuZXd0aGluZy9hcmNoaXZlLzIwMDQvMDEvMTQvNTg1NzkuYXNweCBhbmQNCi07IGh0dHA6Ly9tc2RuLm1pY3Jvc29mdC5jb20vbGlicmFyeS9lbi11cy9rbWFyY2gvaGgva21hcmNoLzY0Yml0QU1EXzhlOTUxZGQyLWVlNzctNDcyOC04NzAyLTU1Y2U0YjVkZDI0YS54bWwuYXNwDQotOw0KLTsgQWxsIHJlZ2lzdGVycyBtdXN0IGJlIHByZXNlcnZlZCBhY3Jvc3MgdGhlIGNhbGwsIGV4Y2VwdCBmb3INCi07ICAgcmF4LCByY3gsIHJkeCwgcjgsIHItOSwgcjEwLCBhbmQgcjExLCB3aGljaCBhcmUgc2NyYXRjaC4NCi0NCi0NCi0JbW92IFtyc3AtOF0scnNpDQotCW1vdiBbcnNwLTE2XSxyZGkNCi0JbW92IFtyc3AtMjRdLHIxMg0KLQltb3YgW3JzcC0zMl0scjEzDQotCW1vdiBbcnNwLTQwXSxyMTQNCi0JbW92IFtyc3AtNDhdLHIxNQ0KLQltb3YgW3JzcC01Nl0scmJ4DQotDQotCW1vdiByYXgscmN4DQotDQotCW1vdglbcmF4KzhdLCByYnAgICAgICAgOyAvKiBzYXZlIHJlZ3MgcmJwIGFuZCByc3AgKi8NCi0JbW92CVtyYXhdLCByc3ANCi0NCi0JbW92CXJzcCwgcmF4ICAgICAgICAgIDsgLyogbWFrZSByc3AgcG9pbnQgdG8gJmFyICovDQotDQotCW1vdglyc2ksIFtyc3ArMTZdICAgICAgOyAvKiByc2kgID0gaW4gKi8NCi0JbW92CXJkaSwgW3JzcCszMl0gICAgICA7IC8qIHJkaSAgPSBvdXQgKi8NCi0JbW92CXI5LCBbcnNwKzI0XSAgICAgICA7IC8qIHI5ICAgPSBsYXN0ICovDQotCW1vdglyMTAsIFtyc3ArNDhdICAgICAgOyAvKiByMTAgID0gZW5kICovDQotCW1vdglyYnAsIFtyc3ArNjRdICAgICAgOyAvKiByYnAgID0gbGNvZGUgKi8NCi0JbW92CXIxMSwgW3JzcCs3Ml0gICAgICA7IC8qIHIxMSAgPSBkY29kZSAqLw0KLQltb3YJcmR4LCBbcnNwKzgwXSAgICAgIDsgLyogcmR4ICA9IGhvbGQgKi8NCi0JbW92CWVieCwgW3JzcCs4OF0gICAgICA7IC8qIGVieCAgPSBiaXRzICovDQotCW1vdglyMTJkLCBbcnNwKzEwMF0gICAgOyAvKiByMTJkID0gbG1hc2sgKi8NCi0JbW92CXIxM2QsIFtyc3ArMTA0XSAgICA7IC8qIHIxM2QgPSBkbWFzayAqLw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDsgLyogcjE0ZCA9IGxlbiAqLw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDsgLyogcjE1ZCA9IGRpc3QgKi8NCi0NCi0NCi0JY2xkDQotCWNtcAlyMTAsIHJkaQ0KLQlqZQlMX29uZV90aW1lICAgICAgICAgICA7IC8qIGlmIG9ubHkgb25lIGRlY29kZSBsZWZ0ICovDQotCWNtcAlyOSwgcnNpDQotDQotICAgIGpuZSBMX2RvX2xvb3ANCi0NCi0NCi1MX29uZV90aW1lOg0KLQltb3YJcjgsIHIxMiAgICAgICAgICAgOyAvKiByOCA9IGxtYXNrICovDQotCWNtcAlibCwgMzINCi0JamEJTF9nZXRfbGVuZ3RoX2NvZGVfb25lX3RpbWUNCi0NCi0JbG9kc2QgICAgICAgICAgICAgICAgICAgICAgICAgOyAvKiBlYXggPSAqKHVpbnQgKilpbisrICovDQotCW1vdgljbCwgYmwgICAgICAgICAgICA7IC8qIGNsID0gYml0cywgbmVlZHMgaXQgZm9yIHNoaWZ0aW5nICovDQotCWFkZAlibCwgMzIgICAgICAgICAgICAgOyAvKiBiaXRzICs9IDMyICovDQotCXNobAlyYXgsIGNsDQotCW9yCXJkeCwgcmF4ICAgICAgICAgIDsgLyogaG9sZCB8PSAqKCh1aW50ICopaW4pKysgPDwgYml0cyAqLw0KLQlqbXAJTF9nZXRfbGVuZ3RoX2NvZGVfb25lX3RpbWUNCi0NCi1BTElHTiA0DQotTF93aGlsZV90ZXN0Og0KLQljbXAJcjEwLCByZGkNCi0JamJlCUxfYnJlYWtfbG9vcA0KLQljbXAJcjksIHJzaQ0KLQlqYmUJTF9icmVha19sb29wDQotDQotTF9kb19sb29wOg0KLQltb3YJcjgsIHIxMiAgICAgICAgICAgOyAvKiByOCA9IGxtYXNrICovDQotCWNtcAlibCwgMzINCi0JamEJTF9nZXRfbGVuZ3RoX2NvZGUgICAgOyAvKiBpZiAoMzIgPCBiaXRzKSAqLw0KLQ0KLQlsb2RzZCAgICAgICAgICAgICAgICAgICAgICAgICA7IC8qIGVheCA9ICoodWludCAqKWluKysgKi8NCi0JbW92CWNsLCBibCAgICAgICAgICAgIDsgLyogY2wgPSBiaXRzLCBuZWVkcyBpdCBmb3Igc2hpZnRpbmcgKi8NCi0JYWRkCWJsLCAzMiAgICAgICAgICAgICA7IC8qIGJpdHMgKz0gMzIgKi8NCi0Jc2hsCXJheCwgY2wNCi0Jb3IJcmR4LCByYXggICAgICAgICAgOyAvKiBob2xkIHw9ICooKHVpbnQgKilpbikrKyA8PCBiaXRzICovDQotDQotTF9nZXRfbGVuZ3RoX2NvZGU6DQotCWFuZAlyOCwgcmR4ICAgICAgICAgICAgOyAvKiByOCAmPSBob2xkICovDQotCW1vdgllYXgsIFtyYnArcjgqNF0gIDsgLyogZWF4ID0gbGNvZGVbaG9sZCAmIGxtYXNrXSAqLw0KLQ0KLQltb3YJY2wsIGFoICAgICAgICAgICAgOyAvKiBjbCA9IHRoaXMuYml0cyAqLw0KLQlzdWIJYmwsIGFoICAgICAgICAgICAgOyAvKiBiaXRzIC09IHRoaXMuYml0cyAqLw0KLQlzaHIJcmR4LCBjbCAgICAgICAgICAgOyAvKiBob2xkID4+PSB0aGlzLmJpdHMgKi8NCi0NCi0JdGVzdAlhbCwgYWwNCi0Jam56CUxfdGVzdF9mb3JfbGVuZ3RoX2Jhc2UgOyAvKiBpZiAob3AgIT0gMCkgNDUuNyUgKi8NCi0NCi0JbW92CXI4LCByMTIgICAgICAgICAgICA7IC8qIHI4ID0gbG1hc2sgKi8NCi0Jc2hyCWVheCwgMTYgICAgICAgICAgICA7IC8qIG91dHB1dCB0aGlzLnZhbCBjaGFyICovDQotCXN0b3NiDQotDQotTF9nZXRfbGVuZ3RoX2NvZGVfb25lX3RpbWU6DQotCWFuZAlyOCwgcmR4ICAgICAgICAgICAgOyAvKiByOCAmPSBob2xkICovDQotCW1vdgllYXgsIFtyYnArcjgqNF0gOyAvKiBlYXggPSBsY29kZVtob2xkICYgbG1hc2tdICovDQotDQotTF9kb2xlbjoNCi0JbW92CWNsLCBhaCAgICAgICAgICAgIDsgLyogY2wgPSB0aGlzLmJpdHMgKi8NCi0Jc3ViCWJsLCBhaCAgICAgICAgICAgIDsgLyogYml0cyAtPSB0aGlzLmJpdHMgKi8NCi0Jc2hyCXJkeCwgY2wgICAgICAgICAgIDsgLyogaG9sZCA+Pj0gdGhpcy5iaXRzICovDQotDQotCXRlc3QJYWwsIGFsDQotCWpueglMX3Rlc3RfZm9yX2xlbmd0aF9iYXNlIDsgLyogaWYgKG9wICE9IDApIDQ1LjclICovDQotDQotCXNocgllYXgsIDE2ICAgICAgICAgICAgOyAvKiBvdXRwdXQgdGhpcy52YWwgY2hhciAqLw0KLQlzdG9zYg0KLQlqbXAJTF93aGlsZV90ZXN0DQotDQotQUxJR04gNA0KLUxfdGVzdF9mb3JfbGVuZ3RoX2Jhc2U6DQotCW1vdglyMTRkLCBlYXggICAgICAgICA7IC8qIGxlbiA9IHRoaXMgKi8NCi0Jc2hyCXIxNGQsIDE2ICAgICAgICAgICA7IC8qIGxlbiA9IHRoaXMudmFsICovDQotCW1vdgljbCwgYWwNCi0NCi0JdGVzdAlhbCwgMTYNCi0JanoJTF90ZXN0X2Zvcl9zZWNvbmRfbGV2ZWxfbGVuZ3RoIDsgLyogaWYgKChvcCAmIDE2KSA9PSAwKSA4JSAqLw0KLQlhbmQJY2wsIDE1ICAgICAgICAgICAgIDsgLyogb3AgJj0gMTUgKi8NCi0JanoJTF9kZWNvZGVfZGlzdGFuY2UgICAgOyAvKiBpZiAoIW9wKSAqLw0KLQ0KLUxfYWRkX2JpdHNfdG9fbGVuOg0KLQlzdWIJYmwsIGNsDQotCXhvcgllYXgsIGVheA0KLQlpbmMJZWF4DQotCXNobAllYXgsIGNsDQotCWRlYwllYXgNCi0JYW5kCWVheCwgZWR4ICAgICAgICAgIDsgLyogZWF4ICY9IGhvbGQgKi8NCi0Jc2hyCXJkeCwgY2wNCi0JYWRkCXIxNGQsIGVheCAgICAgICAgIDsgLyogbGVuICs9IGhvbGQgJiBtYXNrW29wXSAqLw0KLQ0KLUxfZGVjb2RlX2Rpc3RhbmNlOg0KLQltb3YJcjgsIHIxMyAgICAgICAgICAgOyAvKiByOCA9IGRtYXNrICovDQotCWNtcAlibCwgMzINCi0JamEJTF9nZXRfZGlzdGFuY2VfY29kZSAgOyAvKiBpZiAoMzIgPCBiaXRzKSAqLw0KLQ0KLQlsb2RzZCAgICAgICAgICAgICAgICAgICAgICAgICA7IC8qIGVheCA9ICoodWludCAqKWluKysgKi8NCi0JbW92CWNsLCBibCAgICAgICAgICAgIDsgLyogY2wgPSBiaXRzLCBuZWVkcyBpdCBmb3Igc2hpZnRpbmcgKi8NCi0JYWRkCWJsLCAzMiAgICAgICAgICAgICA7IC8qIGJpdHMgKz0gMzIgKi8NCi0Jc2hsCXJheCwgY2wNCi0Jb3IJcmR4LCByYXggICAgICAgICAgOyAvKiBob2xkIHw9ICooKHVpbnQgKilpbikrKyA8PCBiaXRzICovDQotDQotTF9nZXRfZGlzdGFuY2VfY29kZToNCi0JYW5kCXI4LCByZHggICAgICAgICAgIDsgLyogcjggJj0gaG9sZCAqLw0KLQltb3YJZWF4LCBbcjExK3I4KjRdIDsgLyogZWF4ID0gZGNvZGVbaG9sZCAmIGRtYXNrXSAqLw0KLQ0KLUxfZG9kaXN0Og0KLQltb3YJcjE1ZCwgZWF4ICAgICAgICAgOyAvKiBkaXN0ID0gdGhpcyAqLw0KLQlzaHIJcjE1ZCwgMTYgICAgICAgICAgIDsgLyogZGlzdCA9IHRoaXMudmFsICovDQotCW1vdgljbCwgYWgNCi0Jc3ViCWJsLCBhaCAgICAgICAgICAgIDsgLyogYml0cyAtPSB0aGlzLmJpdHMgKi8NCi0Jc2hyCXJkeCwgY2wgICAgICAgICAgIDsgLyogaG9sZCA+Pj0gdGhpcy5iaXRzICovDQotCW1vdgljbCwgYWwgICAgICAgICAgICA7IC8qIGNsID0gdGhpcy5vcCAqLw0KLQ0KLQl0ZXN0CWFsLCAxNiAgICAgICAgICAgICA7IC8qIGlmICgob3AgJiAxNikgPT0gMCkgKi8NCi0JanoJTF90ZXN0X2Zvcl9zZWNvbmRfbGV2ZWxfZGlzdA0KLQlhbmQJY2wsIDE1ICAgICAgICAgICAgIDsgLyogb3AgJj0gMTUgKi8NCi0JanoJTF9jaGVja19kaXN0X29uZQ0KLQ0KLUxfYWRkX2JpdHNfdG9fZGlzdDoNCi0Jc3ViCWJsLCBjbA0KLQl4b3IJZWF4LCBlYXgNCi0JaW5jCWVheA0KLQlzaGwJZWF4LCBjbA0KLQlkZWMJZWF4ICAgICAgICAgICAgICAgICA7IC8qICgxIDw8IG9wKSAtIDEgKi8NCi0JYW5kCWVheCwgZWR4ICAgICAgICAgIDsgLyogZWF4ICY9IGhvbGQgKi8NCi0Jc2hyCXJkeCwgY2wNCi0JYWRkCXIxNWQsIGVheCAgICAgICAgIDsgLyogZGlzdCArPSBob2xkICYgKCgxIDw8IG9wKSAtIDEpICovDQotDQotTF9jaGVja193aW5kb3c6DQotCW1vdglyOCwgcnNpICAgICAgICAgICA7IC8qIHNhdmUgaW4gc28gZnJvbSBjYW4gdXNlIGl0J3MgcmVnICovDQotCW1vdglyYXgsIHJkaQ0KLQlzdWIJcmF4LCBbcnNwKzQwXSAgICAgIDsgLyogbmJ5dGVzID0gb3V0IC0gYmVnICovDQotDQotCWNtcAllYXgsIHIxNWQNCi0JamIJTF9jbGlwX3dpbmRvdyAgICAgICAgOyAvKiBpZiAoZGlzdCA+IG5ieXRlcykgNC4yJSAqLw0KLQ0KLQltb3YJZWN4LCByMTRkICAgICAgICAgOyAvKiBlY3ggPSBsZW4gKi8NCi0JbW92CXJzaSwgcmRpDQotCXN1Yglyc2ksIHIxNSAgICAgICAgICA7IC8qIGZyb20gPSBvdXQgLSBkaXN0ICovDQotDQotCXNhcgllY3gsIDENCi0Jam5jCUxfY29weV90d28gICAgICAgICAgIDsgLyogaWYgbGVuICUgMiA9PSAwICovDQotDQotCXJlcCAgICAgbW92c3cNCi0JbW92CWFsLCBbcnNpXQ0KLQltb3YJW3JkaV0sIGFsDQotCWluYwlyZGkNCi0NCi0JbW92CXJzaSwgcjggICAgICAgICAgIDsgLyogbW92ZSBpbiBiYWNrIHRvICVyc2ksIHRvc3MgZnJvbSAqLw0KLQlqbXAJTF93aGlsZV90ZXN0DQotDQotTF9jb3B5X3R3bzoNCi0JcmVwICAgICBtb3Zzdw0KLQltb3YJcnNpLCByOCAgICAgICAgICAgOyAvKiBtb3ZlIGluIGJhY2sgdG8gJXJzaSwgdG9zcyBmcm9tICovDQotCWptcAlMX3doaWxlX3Rlc3QNCi0NCi1BTElHTiA0DQotTF9jaGVja19kaXN0X29uZToNCi0JY21wCXIxNWQsIDEgICAgICAgICAgICA7IC8qIGlmIGRpc3QgMSwgaXMgYSBtZW1zZXQgKi8NCi0Jam5lCUxfY2hlY2tfd2luZG93DQotCWNtcAlbcnNwKzQwXSwgcmRpICAgICAgOyAvKiBpZiBvdXQgPT0gYmVnLCBvdXRzaWRlIHdpbmRvdyAqLw0KLQlqZQlMX2NoZWNrX3dpbmRvdw0KLQ0KLQltb3YJZWN4LCByMTRkICAgICAgICAgOyAvKiBlY3ggPSBsZW4gKi8NCi0JbW92CWFsLCBbcmRpLTFdDQotCW1vdglhaCwgYWwNCi0NCi0Jc2FyCWVjeCwgMQ0KLQlqbmMJTF9zZXRfdHdvDQotCW1vdglbcmRpXSwgYWwNCi0JaW5jCXJkaQ0KLQ0KLUxfc2V0X3R3bzoNCi0JcmVwICAgICBzdG9zdw0KLQlqbXAJTF93aGlsZV90ZXN0DQotDQotQUxJR04gNA0KLUxfdGVzdF9mb3Jfc2Vjb25kX2xldmVsX2xlbmd0aDoNCi0JdGVzdAlhbCwgNjQNCi0Jam56CUxfdGVzdF9mb3JfZW5kX29mX2Jsb2NrIDsgLyogaWYgKChvcCAmIDY0KSAhPSAwKSAqLw0KLQ0KLQl4b3IJZWF4LCBlYXgNCi0JaW5jCWVheA0KLQlzaGwJZWF4LCBjbA0KLQlkZWMJZWF4DQotCWFuZAllYXgsIGVkeCAgICAgICAgIDsgLyogZWF4ICY9IGhvbGQgKi8NCi0JYWRkCWVheCwgcjE0ZCAgICAgICAgOyAvKiBlYXggKz0gbGVuICovDQotCW1vdgllYXgsIFtyYnArcmF4KjRdIDsgLyogZWF4ID0gbGNvZGVbdmFsKyhob2xkJm1hc2tbb3BdKV0qLw0KLQlqbXAJTF9kb2xlbg0KLQ0KLUFMSUdOIDQNCi1MX3Rlc3RfZm9yX3NlY29uZF9sZXZlbF9kaXN0Og0KLQl0ZXN0CWFsLCA2NA0KLQlqbnoJTF9pbnZhbGlkX2Rpc3RhbmNlX2NvZGUgOyAvKiBpZiAoKG9wICYgNjQpICE9IDApICovDQotDQotCXhvcgllYXgsIGVheA0KLQlpbmMJZWF4DQotCXNobAllYXgsIGNsDQotCWRlYwllYXgNCi0JYW5kCWVheCwgZWR4ICAgICAgICAgOyAvKiBlYXggJj0gaG9sZCAqLw0KLQlhZGQJZWF4LCByMTVkICAgICAgICA7IC8qIGVheCArPSBkaXN0ICovDQotCW1vdgllYXgsIFtyMTErcmF4KjRdIDsgLyogZWF4ID0gZGNvZGVbdmFsKyhob2xkJm1hc2tbb3BdKV0qLw0KLQlqbXAJTF9kb2Rpc3QNCi0NCi1BTElHTiA0DQotTF9jbGlwX3dpbmRvdzoNCi0JbW92CWVjeCwgZWF4ICAgICAgICAgOyAvKiBlY3ggPSBuYnl0ZXMgKi8NCi0JbW92CWVheCwgW3JzcCs5Ml0gICAgIDsgLyogZWF4ID0gd3NpemUsIHByZXBhcmUgZm9yIGRpc3QgY21wICovDQotCW5lZwllY3ggICAgICAgICAgICAgICAgOyAvKiBuYnl0ZXMgPSAtbmJ5dGVzICovDQotDQotCWNtcAllYXgsIHIxNWQNCi0JamIJTF9pbnZhbGlkX2Rpc3RhbmNlX3Rvb19mYXIgOyAvKiBpZiAoZGlzdCA+IHdzaXplKSAqLw0KLQ0KLQlhZGQJZWN4LCByMTVkICAgICAgICAgOyAvKiBuYnl0ZXMgPSBkaXN0IC0gbmJ5dGVzICovDQotCWNtcAlkd29yZCBwdHIgW3JzcCs5Nl0sIDANCi0Jam5lCUxfd3JhcF9hcm91bmRfd2luZG93IDsgLyogaWYgKHdyaXRlICE9IDApICovDQotDQotCW1vdglyc2ksIFtyc3ArNTZdICAgICA7IC8qIGZyb20gID0gd2luZG93ICovDQotCXN1YgllYXgsIGVjeCAgICAgICAgIDsgLyogZWF4ICAtPSBuYnl0ZXMgKi8NCi0JYWRkCXJzaSwgcmF4ICAgICAgICAgOyAvKiBmcm9tICs9IHdzaXplIC0gbmJ5dGVzICovDQotDQotCW1vdgllYXgsIHIxNGQgICAgICAgIDsgLyogZWF4ID0gbGVuICovDQotCWNtcAlyMTRkLCBlY3gNCi0JamJlCUxfZG9fY29weSAgICAgICAgICAgOyAvKiBpZiAobmJ5dGVzID49IGxlbikgKi8NCi0NCi0Jc3ViCWVheCwgZWN4ICAgICAgICAgOyAvKiBlYXggLT0gbmJ5dGVzICovDQotCXJlcCAgICAgbW92c2INCi0JbW92CXJzaSwgcmRpDQotCXN1Yglyc2ksIHIxNSAgICAgICAgIDsgLyogZnJvbSA9ICZvdXRbIC1kaXN0IF0gKi8NCi0Jam1wCUxfZG9fY29weQ0KLQ0KLUFMSUdOIDQNCi1MX3dyYXBfYXJvdW5kX3dpbmRvdzoNCi0JbW92CWVheCwgW3JzcCs5Nl0gICAgIDsgLyogZWF4ID0gd3JpdGUgKi8NCi0JY21wCWVjeCwgZWF4DQotCWpiZQlMX2NvbnRpZ3VvdXNfaW5fd2luZG93IDsgLyogaWYgKHdyaXRlID49IG5ieXRlcykgKi8NCi0NCi0JbW92CWVzaSwgW3JzcCs5Ml0gICAgIDsgLyogZnJvbSAgPSB3c2l6ZSAqLw0KLQlhZGQJcnNpLCBbcnNwKzU2XSAgICAgOyAvKiBmcm9tICs9IHdpbmRvdyAqLw0KLQlhZGQJcnNpLCByYXggICAgICAgICA7IC8qIGZyb20gKz0gd3JpdGUgKi8NCi0Jc3ViCXJzaSwgcmN4ICAgICAgICAgOyAvKiBmcm9tIC09IG5ieXRlcyAqLw0KLQlzdWIJZWN4LCBlYXggICAgICAgICA7IC8qIG5ieXRlcyAtPSB3cml0ZSAqLw0KLQ0KLQltb3YJZWF4LCByMTRkICAgICAgICA7IC8qIGVheCA9IGxlbiAqLw0KLQljbXAJZWF4LCBlY3gNCi0JamJlCUxfZG9fY29weSAgICAgICAgICAgOyAvKiBpZiAobmJ5dGVzID49IGxlbikgKi8NCi0NCi0Jc3ViCWVheCwgZWN4ICAgICAgICAgOyAvKiBsZW4gLT0gbmJ5dGVzICovDQotCXJlcCAgICAgbW92c2INCi0JbW92CXJzaSwgW3JzcCs1Nl0gICAgIDsgLyogZnJvbSA9IHdpbmRvdyAqLw0KLQltb3YJZWN4LCBbcnNwKzk2XSAgICAgOyAvKiBuYnl0ZXMgPSB3cml0ZSAqLw0KLQljbXAJZWF4LCBlY3gNCi0JamJlCUxfZG9fY29weSAgICAgICAgICAgOyAvKiBpZiAobmJ5dGVzID49IGxlbikgKi8NCi0NCi0Jc3ViCWVheCwgZWN4ICAgICAgICAgOyAvKiBsZW4gLT0gbmJ5dGVzICovDQotCXJlcCAgICAgbW92c2INCi0JbW92CXJzaSwgcmRpDQotCXN1Yglyc2ksIHIxNSAgICAgICAgIDsgLyogZnJvbSA9IG91dCAtIGRpc3QgKi8NCi0Jam1wCUxfZG9fY29weQ0KLQ0KLUFMSUdOIDQNCi1MX2NvbnRpZ3VvdXNfaW5fd2luZG93Og0KLQltb3YJcnNpLCBbcnNwKzU2XSAgICAgOyAvKiByc2kgPSB3aW5kb3cgKi8NCi0JYWRkCXJzaSwgcmF4DQotCXN1Yglyc2ksIHJjeCAgICAgICAgIDsgLyogZnJvbSArPSB3cml0ZSAtIG5ieXRlcyAqLw0KLQ0KLQltb3YJZWF4LCByMTRkICAgICAgICA7IC8qIGVheCA9IGxlbiAqLw0KLQljbXAJZWF4LCBlY3gNCi0JamJlCUxfZG9fY29weSAgICAgICAgICAgOyAvKiBpZiAobmJ5dGVzID49IGxlbikgKi8NCi0NCi0Jc3ViCWVheCwgZWN4ICAgICAgICAgOyAvKiBsZW4gLT0gbmJ5dGVzICovDQotCXJlcCAgICAgbW92c2INCi0JbW92CXJzaSwgcmRpDQotCXN1Yglyc2ksIHIxNSAgICAgICAgIDsgLyogZnJvbSA9IG91dCAtIGRpc3QgKi8NCi0Jam1wCUxfZG9fY29weSAgICAgICAgICAgOyAvKiBpZiAobmJ5dGVzID49IGxlbikgKi8NCi0NCi1BTElHTiA0DQotTF9kb19jb3B5Og0KLQltb3YJZWN4LCBlYXggICAgICAgICA7IC8qIGVjeCA9IGxlbiAqLw0KLQlyZXAgICAgIG1vdnNiDQotDQotCW1vdglyc2ksIHI4ICAgICAgICAgIDsgLyogbW92ZSBpbiBiYWNrIHRvICVlc2ksIHRvc3MgZnJvbSAqLw0KLQlqbXAJTF93aGlsZV90ZXN0DQotDQotTF90ZXN0X2Zvcl9lbmRfb2ZfYmxvY2s6DQotCXRlc3QJYWwsIDMyDQotCWp6CUxfaW52YWxpZF9saXRlcmFsX2xlbmd0aF9jb2RlDQotCW1vdglkd29yZCBwdHIgW3JzcCsxMTZdLCAxDQotCWptcAlMX2JyZWFrX2xvb3Bfd2l0aF9zdGF0dXMNCi0NCi1MX2ludmFsaWRfbGl0ZXJhbF9sZW5ndGhfY29kZToNCi0JbW92CWR3b3JkIHB0ciBbcnNwKzExNl0sIDINCi0Jam1wCUxfYnJlYWtfbG9vcF93aXRoX3N0YXR1cw0KLQ0KLUxfaW52YWxpZF9kaXN0YW5jZV9jb2RlOg0KLQltb3YJZHdvcmQgcHRyIFtyc3ArMTE2XSwgMw0KLQlqbXAJTF9icmVha19sb29wX3dpdGhfc3RhdHVzDQotDQotTF9pbnZhbGlkX2Rpc3RhbmNlX3Rvb19mYXI6DQotCW1vdglkd29yZCBwdHIgW3JzcCsxMTZdLCA0DQotCWptcAlMX2JyZWFrX2xvb3Bfd2l0aF9zdGF0dXMNCi0NCi1MX2JyZWFrX2xvb3A6DQotCW1vdglkd29yZCBwdHIgW3JzcCsxMTZdLCAwDQotDQotTF9icmVha19sb29wX3dpdGhfc3RhdHVzOg0KLTsgLyogcHV0IGluLCBvdXQsIGJpdHMsIGFuZCBob2xkIGJhY2sgaW50byBhciBhbmQgcG9wIGVzcCAqLw0KLQltb3YJW3JzcCsxNl0sIHJzaSAgICAgOyAvKiBpbiAqLw0KLQltb3YJW3JzcCszMl0sIHJkaSAgICAgOyAvKiBvdXQgKi8NCi0JbW92CVtyc3ArODhdLCBlYnggICAgIDsgLyogYml0cyAqLw0KLQltb3YJW3JzcCs4MF0sIHJkeCAgICAgOyAvKiBob2xkICovDQotDQotCW1vdglyYXgsIFtyc3BdICAgICAgIDsgLyogcmVzdG9yZSByYnAgYW5kIHJzcCAqLw0KLQltb3YJcmJwLCBbcnNwKzhdDQotCW1vdglyc3AsIHJheA0KLQ0KLQ0KLQ0KLQltb3YgcnNpLFtyc3AtOF0NCi0JbW92IHJkaSxbcnNwLTE2XQ0KLQltb3YgcjEyLFtyc3AtMjRdDQotCW1vdiByMTMsW3JzcC0zMl0NCi0JbW92IHIxNCxbcnNwLTQwXQ0KLQltb3YgcjE1LFtyc3AtNDhdDQotCW1vdiByYngsW3JzcC01Nl0NCi0NCi0gICAgcmV0IDANCi07ICAgICAgICAgIDoNCi07ICAgICAgICAgIDogIm0iIChhcikNCi07ICAgICAgICAgIDogIm1lbW9yeSIsICIlcmF4IiwgIiVyYngiLCAiJXJjeCIsICIlcmR4IiwgIiVyc2kiLCAiJXJkaSIsDQotOyAgICAgICAgICAgICIlcjgiLCAiJXI5IiwgIiVyMTAiLCAiJXIxMSIsICIlcjEyIiwgIiVyMTMiLCAiJXIxNCIsICIlcjE1Ig0KLTsgICAgKTsNCi0NCi1pbmZmYXM4NjY0Zm5jIAlFTkRQDQotO19URVhUCUVORFMNCi1FTkQNCmRpZmYgLS1naXQgYS9zcmMvY29udHJpYi9tYXNteDY0L3JlYWRtZS50eHQgYi9zcmMvY29udHJpYi9tYXNteDY0L3JlYWRtZS50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJkYTY3MzMuLjAwMDAwMDAKLS0tIGEvc3JjL2NvbnRyaWIvbWFzbXg2NC9yZWFkbWUudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMzEgKzAsMCBAQAotU3VtbWFyeQ0KLS0tLS0tLS0NCi1UaGlzIGRpcmVjdG9yeSBjb250YWlucyBBU00gaW1wbGVtZW50YXRpb25zIG9mIHRoZSBmdW5jdGlvbnMNCi1sb25nZXN0X21hdGNoKCkgYW5kIGluZmxhdGVfZmFzdCgpLCBmb3IgNjQgYml0cyB4ODYgKGJvdGggQU1ENjQgYW5kIEludGVsIEVNNjR0KSwNCi1mb3IgdXNlIHdpdGggTWljcm9zb2Z0IE1hY3JvIEFzc2VtYmxlciAoeDY0KSBmb3IgQU1ENjQgYW5kIE1pY3Jvc29mdCBDKysgNjQgYml0cy4NCi0NCi1ndm1hdDY0LmFzbSBpcyB3cml0dGVuIGJ5IEdpbGxlcyBWb2xsYW50ICgyMDA1KSwgYnkgdXNpbmcgQnJpYW4gUmFpdGVyIDY4Ni8zMiBiaXRzDQotICAgYXNzZW1ibHkgb3B0aW1pemVkIHZlcnNpb24gZnJvbSBKZWFuLWxvdXAgR2FpbGx5IG9yaWdpbmFsIGxvbmdlc3RfbWF0Y2ggZnVuY3Rpb24NCi0NCi1pbmZmYXN4NjQuYXNtIGFuZCBpbmZmYXM4NjY0LmMgd2VyZSB3cml0dGVuIGJ5IENocmlzIEFuZGVyc29uLCBieSBvcHRpbWl6aW5nDQotICAgb3JpZ2luYWwgZnVuY3Rpb24gZnJvbSBNYXJrIEFkbGVyDQotDQotVXNlIGluc3RydWN0aW9ucw0KLS0tLS0tLS0tLS0tLS0tLS0NCi1Bc3NlbWJsZSB0aGUgLmFzbSBmaWxlcyB1c2luZyBNQVNNIGFuZCBwdXQgdGhlIG9iamVjdCBmaWxlcyBpbnRvIHRoZSB6bGliIHNvdXJjZQ0KLWRpcmVjdG9yeS4gIFlvdSBjYW4gYWxzbyBnZXQgb2JqZWN0IGZpbGVzIGhlcmU6DQotDQotICAgICBodHRwOi8vd3d3LndpbmltYWdlLmNvbS96TGliRGxsL3psaWIxMjRfbWFzbV9vYmouemlwDQotDQotZGVmaW5lIEFTTVYgYW5kIEFTTUlORiBpbiB5b3VyIHByb2plY3QuIEluY2x1ZGUgaW5mZmFzODY2NC5jIGluIHlvdXIgc291cmNlIHRyZWUsDQotYW5kIGluZmZhc3g2NC5vYmogYW5kIGd2bWF0NjQub2JqIGFzIG9iamVjdCB0byBsaW5rLg0KLQ0KLQ0KLUJ1aWxkIGluc3RydWN0aW9ucw0KLS0tLS0tLS0tLS0tLS0tLS0tLQ0KLXJ1biBibGRfNjQuYmF0IHdpdGggTWljcm9zb2Z0IE1hY3JvIEFzc2VtYmxlciAoeDY0KSBmb3IgQU1ENjQgKG1sNjQuZXhlKQ0KLQ0KLW1sNjQuZXhlIGlzIGdpdmVuIHdpdGggVmlzdWFsIFN0dWRpbyAyMDA1LCBXaW5kb3dzIDIwMDMgc2VydmVyIERESw0KLQ0KLVlvdSBjYW4gZ2V0IFdpbmRvd3MgMjAwMyBzZXJ2ZXIgRERLIHdpdGggbWw2NCBhbmQgY2wgZm9yIEFNRDY0IGZyb20NCi0gIGh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS93aGRjL2RldnRvb2xzL2Rkay9kZWZhdWx0Lm1zcHggZm9yIGxvdyBwcmljZSkNCmRpZmYgLS1naXQgYS9zcmMvY29udHJpYi9tYXNteDg2L2JsZF9tbDMyLmJhdCBiL3NyYy9jb250cmliL21hc214ODYvYmxkX21sMzIuYmF0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlMWI4NmJmLi4wMDAwMDAwCi0tLSBhL3NyYy9jb250cmliL21hc214ODYvYmxkX21sMzIuYmF0CisrKyAvZGV2L251bGwKQEAgLTEsMiArMCwwIEBACi1tbCAvY29mZiAvWmkgL2MgL0ZsbWF0Y2g2ODYubHN0IG1hdGNoNjg2LmFzbQ0KLW1sIC9jb2ZmIC9aaSAvYyAvRmxpbmZmYXMzMi5sc3QgaW5mZmFzMzIuYXNtDQpkaWZmIC0tZ2l0IGEvc3JjL2NvbnRyaWIvbWFzbXg4Ni9pbmZmYXMzMi5hc20gYi9zcmMvY29udHJpYi9tYXNteDg2L2luZmZhczMyLmFzbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDNkMjBmOC4uMDAwMDAwMAotLS0gYS9zcmMvY29udHJpYi9tYXNteDg2L2luZmZhczMyLmFzbQorKysgL2Rldi9udWxsCkBAIC0xLDEwODAgKzAsMCBAQAotOy8qIGluZmZhczMyLmFzbSBpcyBhIGhhbmQgdHVuZWQgYXNzZW1ibGVyIHZlcnNpb24gb2YgaW5mZmFzdC5jIC0tIGZhc3QgZGVjb2RpbmcNCi07ICoNCi07ICogaW5mZmFzMzIuYXNtIGlzIGRlcml2YXRlZCBmcm9tIGluZmZhczg2LmMsIHdpdGggdHJhbnNsYXRpb24gb2YgYXNzZW1ibHkgY29kZQ0KLTsgKg0KLTsgKiBDb3B5cmlnaHQgKEMpIDE5OTUtMjAwMyBNYXJrIEFkbGVyDQotOyAqIEZvciBjb25kaXRpb25zIG9mIGRpc3RyaWJ1dGlvbiBhbmQgdXNlLCBzZWUgY29weXJpZ2h0IG5vdGljZSBpbiB6bGliLmgNCi07ICoNCi07ICogQ29weXJpZ2h0IChDKSAyMDAzIENocmlzIEFuZGVyc29uIDxjaHJpc3RvcEBjaGFybS5uZXQ+DQotOyAqIFBsZWFzZSB1c2UgdGhlIGNvcHlyaWdodCBjb25kaXRpb25zIGFib3ZlLg0KLTsgKg0KLTsgKiBNYXItMTMtMjAwMyAtLSBNb3N0IG9mIHRoaXMgaXMgZGVyaXZlZCBmcm9tIGluZmZhc3QuUyB3aGljaCBpcyBkZXJpdmVkIGZyb20NCi07ICogdGhlIGdjYyAtUyBvdXRwdXQgb2YgemxpYi0xLjIuMC9pbmZmYXN0LmMuICBabGliLTEuMi4wIGlzIGluIGJldGEgcmVsZWFzZSBhdA0KLTsgKiB0aGUgbW9tZW50LiAgSSBoYXZlIHN1Y2Nlc3NmdWxseSBjb21waWxlZCBhbmQgdGVzdGVkIHRoaXMgY29kZSB3aXRoIGdjYzIuOTYsDQotOyAqIGdjYzMuMiwgaWNjNS4wLCBtc3ZjNi4wLiAgSXQgaXMgdmVyeSBjbG9zZSB0byB0aGUgc3BlZWQgb2YgaW5mZmFzdC5TDQotOyAqIGNvbXBpbGVkIHdpdGggZ2NjIC1ETk9fTU1YLCBidXQgaW5mZmFzdC5TIGlzIHN0aWxsIGZhc3RlciBvbiB0aGUgUDMgd2l0aCBNTVgNCi07ICogZW5hYmxlZC4gIEkgd2lsbCBhdHRlbXB0IHRvIG1lcmdlIHRoZSBNTVggY29kZSBpbnRvIHRoaXMgdmVyc2lvbi4gIE5ld2VyDQotOyAqIHZlcnNpb25zIG9mIHRoaXMgYW5kIGluZmZhc3QuUyBjYW4gYmUgZm91bmQgYXQNCi07ICogaHR0cDovL3d3dy5lZXRiZWV0ZWUuY29tL3psaWIvIGFuZCBodHRwOi8vd3d3LmNoYXJtLm5ldC9+Y2hyaXN0b3AvemxpYi8NCi07ICoNCi07ICogMjAwNSA6IG1vZGlmaWNhdGlvbiBieSBHaWxsZXMgVm9sbGFudA0KLTsgKi8NCi07IEZvciBWaXN1YWwgQysrIDQueCBhbmQgaGlnaGVyIGFuZCBNTCA2LnggYW5kIGhpZ2hlcg0KLTsgICBtbC5leGUgaXMgaW4gZGlyZWN0b3J5IFxNQVNNNjExQyBvZiBXaW45NSBEREsNCi07ICAgbWwuZXhlIGlzIGFsc28gZGlzdHJpYnV0ZWQgaW4gaHR0cDovL3d3dy5tYXNtMzIuY29tL21hc21kbC5odG0NCi07ICAgIGFuZCBpbiBWQysrMjAwMyB0b29sa2l0IGF0IGh0dHA6Ly9tc2RuLm1pY3Jvc29mdC5jb20vdmlzdWFsYy92Y3Rvb2xraXQyMDAzLw0KLTsNCi07DQotOyAgIGNvbXBpbGUgd2l0aCBjb21tYW5kIGxpbmUgb3B0aW9uDQotOyAgIG1sICAvY29mZiAvWmkgL2MgL0ZsaW5mZmFzMzIubHN0IGluZmZhczMyLmFzbQ0KLQ0KLTsgICBpZiB5b3UgZGVmaW5lIE5PX0daSVAgKHNlZSBpbmZsYXRlLmgpLCBjb21waWxlIHdpdGgNCi07ICAgbWwgIC9jb2ZmIC9aaSAvYyAvRmxpbmZmYXMzMi5sc3QgL0ROT19HVU5aSVAgaW5mZmFzMzIuYXNtDQotDQotDQotOyB6bGliMTIyc3VwIGlzIDAgZm9ydCB6bGliIDEuMi4yLjEgYW5kIGxvd2VyDQotOyB6bGliMTIyc3VwIGlzIDggZm9ydCB6bGliIDEuMi4yLjIgYW5kIG1vcmUgKHdpdGggYWRkaXRpb24gb2YgZG1heCBhbmQgaGVhZA0KLTsgICAgICAgIGluIGluZmxhdGVfc3RhdGUgaW4gaW5mbGF0ZS5oKQ0KLXpsaWIxMjIyc3VwICAgICAgZXF1ICAgIDgNCi0NCi0NCi1JRkRFRiBHVU5aSVANCi0gIElORkxBVEVfTU9ERV9UWVBFICAgIGVxdSAxMQ0KLSAgSU5GTEFURV9NT0RFX0JBRCAgICAgZXF1IDI2DQotRUxTRQ0KLSAgSUZOREVGIE5PX0dVTlpJUA0KLSAgICBJTkZMQVRFX01PREVfVFlQRSAgICBlcXUgMTENCi0gICAgSU5GTEFURV9NT0RFX0JBRCAgICAgZXF1IDI2DQotICBFTFNFDQotICAgIElORkxBVEVfTU9ERV9UWVBFICAgIGVxdSAzDQotICAgIElORkxBVEVfTU9ERV9CQUQgICAgIGVxdSAxNw0KLSAgRU5ESUYNCi1FTkRJRg0KLQ0KLQ0KLTsgNzUgImluZmZhc3QuUyINCi07RklMRSAiaW5mZmFzdC5TIg0KLQ0KLTs7O0dMT0JBTCBfaW5mbGF0ZV9mYXN0DQotDQotOzs7U0VDVElPTiAudGV4dA0KLQ0KLQ0KLQ0KLQkuNTg2cA0KLQkubW14DQotDQotCW5hbWUJaW5mbGF0ZV9mYXN0X3g4Ng0KLQkuTU9ERUwJRkxBVA0KLQ0KLV9EQVRBCQkJc2VnbWVudA0KLWluZmxhdGVfZmFzdF91c2VfbW14Og0KLQlkZAkxDQotDQotDQotX1RFWFQJCQlzZWdtZW50DQotDQotDQotDQotQUxJR04gNA0KLQlkYgknRmFzdCBkZWNvZGluZyBDb2RlIGZyb20gQ2hyaXMgQW5kZXJzb24nDQotCWRiCTANCi0NCi1BTElHTiA0DQotaW52YWxpZF9saXRlcmFsX2xlbmd0aF9jb2RlX21zZzoNCi0JZGIJJ2ludmFsaWQgbGl0ZXJhbC9sZW5ndGggY29kZScNCi0JZGIJMA0KLQ0KLUFMSUdOIDQNCi1pbnZhbGlkX2Rpc3RhbmNlX2NvZGVfbXNnOg0KLQlkYgknaW52YWxpZCBkaXN0YW5jZSBjb2RlJw0KLQlkYgkwDQotDQotQUxJR04gNA0KLWludmFsaWRfZGlzdGFuY2VfdG9vX2Zhcl9tc2c6DQotCWRiCSdpbnZhbGlkIGRpc3RhbmNlIHRvbyBmYXIgYmFjaycNCi0JZGIJMA0KLQ0KLQ0KLUFMSUdOIDQNCi1pbmZsYXRlX2Zhc3RfbWFzazoNCi1kZAkwDQotZGQJMQ0KLWRkCTMNCi1kZAk3DQotZGQJMTUNCi1kZAkzMQ0KLWRkCTYzDQotZGQJMTI3DQotZGQJMjU1DQotZGQJNTExDQotZGQJMTAyMw0KLWRkCTIwNDcNCi1kZAk0MDk1DQotZGQJODE5MQ0KLWRkCTE2MzgzDQotZGQJMzI3NjcNCi1kZAk2NTUzNQ0KLWRkCTEzMTA3MQ0KLWRkCTI2MjE0Mw0KLWRkCTUyNDI4Nw0KLWRkCTEwNDg1NzUNCi1kZAkyMDk3MTUxDQotZGQJNDE5NDMwMw0KLWRkCTgzODg2MDcNCi1kZAkxNjc3NzIxNQ0KLWRkCTMzNTU0NDMxDQotZGQJNjcxMDg4NjMNCi1kZAkxMzQyMTc3MjcNCi1kZAkyNjg0MzU0NTUNCi1kZAk1MzY4NzA5MTENCi1kZAkxMDczNzQxODIzDQotZGQJMjE0NzQ4MzY0Nw0KLWRkCTQyOTQ5NjcyOTUNCi0NCi0NCi1tb2RlX3N0YXRlCSBlcXUJMAk7Lyogc3RhdGUtPm1vZGUJKi8NCi13c2l6ZV9zdGF0ZQkgZXF1CSgzMit6bGliMTIyMnN1cCkJOy8qIHN0YXRlLT53c2l6ZSAqLw0KLXdyaXRlX3N0YXRlCSBlcXUJKDM2KzQremxpYjEyMjJzdXApCTsvKiBzdGF0ZS0+d3JpdGUgKi8NCi13aW5kb3dfc3RhdGUJIGVxdQkoNDArNCt6bGliMTIyMnN1cCkJOy8qIHN0YXRlLT53aW5kb3cgKi8NCi1ob2xkX3N0YXRlCSBlcXUJKDQ0KzQremxpYjEyMjJzdXApCTsvKiBzdGF0ZS0+aG9sZAkqLw0KLWJpdHNfc3RhdGUJIGVxdQkoNDgrNCt6bGliMTIyMnN1cCkJOy8qIHN0YXRlLT5iaXRzCSovDQotbGVuY29kZV9zdGF0ZQkgZXF1CSg2NCs0K3psaWIxMjIyc3VwKQk7Lyogc3RhdGUtPmxlbmNvZGUgKi8NCi1kaXN0Y29kZV9zdGF0ZQkgZXF1CSg2OCs0K3psaWIxMjIyc3VwKQk7Lyogc3RhdGUtPmRpc3Rjb2RlICovDQotbGVuYml0c19zdGF0ZQkgZXF1CSg3Mis0K3psaWIxMjIyc3VwKQk7Lyogc3RhdGUtPmxlbmJpdHMgKi8NCi1kaXN0Yml0c19zdGF0ZQkgZXF1CSg3Nis0K3psaWIxMjIyc3VwKQk7Lyogc3RhdGUtPmRpc3RiaXRzICovDQotDQotDQotOztTRUNUSU9OIC50ZXh0DQotOyAyMDUgImluZmZhc3QuUyINCi07R0xPQkFMCWluZmxhdGVfZmFzdF91c2VfbW14DQotDQotO1NFQ1RJT04gLmRhdGENCi0NCi0NCi07IEdMT0JBTCBpbmZsYXRlX2Zhc3RfdXNlX21teDpvYmplY3QNCi07LnNpemUgaW5mbGF0ZV9mYXN0X3VzZV9tbXgsIDQNCi07IDIyNiAiaW5mZmFzdC5TIg0KLTtTRUNUSU9OIC50ZXh0DQotDQotQUxJR04gNA0KLV9pbmZsYXRlX2Zhc3QgcHJvYyBuZWFyDQotLkZQTyAoMTYsIDQsIDAsIDAsIDEsIDApDQotCXB1c2ggIGVkaQ0KLQlwdXNoICBlc2kNCi0JcHVzaCAgZWJwDQotCXB1c2ggIGVieA0KLQlwdXNoZmQNCi0Jc3ViICBlc3AsNjQNCi0JY2xkDQotDQotDQotDQotDQotCW1vdiAgZXNpLCBbZXNwKzg4XQ0KLQltb3YgIGVkaSwgW2VzaSsyOF0NCi0NCi0NCi0NCi0NCi0NCi0NCi0NCi0JbW92ICBlZHgsIFtlc2krNF0NCi0JbW92ICBlYXgsIFtlc2krMF0NCi0NCi0JYWRkICBlZHgsZWF4DQotCXN1YiAgZWR4LDExDQotDQotCW1vdiAgW2VzcCs0NF0sZWF4DQotCW1vdiAgW2VzcCsyMF0sZWR4DQotDQotCW1vdiAgZWJwLCBbZXNwKzkyXQ0KLQltb3YgIGVjeCwgW2VzaSsxNl0NCi0JbW92ICBlYngsIFtlc2krMTJdDQotDQotCXN1YiAgZWJwLGVjeA0KLQluZWcgIGVicA0KLQlhZGQgIGVicCxlYngNCi0NCi0Jc3ViICBlY3gsMjU3DQotCWFkZCAgZWN4LGVieA0KLQ0KLQltb3YgIFtlc3ArNjBdLGVieA0KLQltb3YgIFtlc3ArNDBdLGVicA0KLQltb3YgIFtlc3ArMTZdLGVjeA0KLTsgMjg1ICJpbmZmYXN0LlMiDQotCW1vdiAgZWF4LCBbZWRpK2xlbmNvZGVfc3RhdGVdDQotCW1vdiAgZWN4LCBbZWRpK2Rpc3Rjb2RlX3N0YXRlXQ0KLQ0KLQltb3YgIFtlc3ArOF0sZWF4DQotCW1vdiAgW2VzcCsxMl0sZWN4DQotDQotCW1vdiAgZWF4LDENCi0JbW92ICBlY3gsIFtlZGkrbGVuYml0c19zdGF0ZV0NCi0Jc2hsICBlYXgsY2wNCi0JZGVjICBlYXgNCi0JbW92ICBbZXNwKzBdLGVheA0KLQ0KLQltb3YgIGVheCwxDQotCW1vdiAgZWN4LCBbZWRpK2Rpc3RiaXRzX3N0YXRlXQ0KLQlzaGwgIGVheCxjbA0KLQlkZWMgIGVheA0KLQltb3YgIFtlc3ArNF0sZWF4DQotDQotCW1vdiAgZWF4LCBbZWRpK3dzaXplX3N0YXRlXQ0KLQltb3YgIGVjeCwgW2VkaSt3cml0ZV9zdGF0ZV0NCi0JbW92ICBlZHgsIFtlZGkrd2luZG93X3N0YXRlXQ0KLQ0KLQltb3YgIFtlc3ArNTJdLGVheA0KLQltb3YgIFtlc3ArNDhdLGVjeA0KLQltb3YgIFtlc3ArNTZdLGVkeA0KLQ0KLQltb3YgIGVicCwgW2VkaStob2xkX3N0YXRlXQ0KLQltb3YgIGVieCwgW2VkaStiaXRzX3N0YXRlXQ0KLTsgMzIxICJpbmZmYXN0LlMiDQotCW1vdiAgZXNpLCBbZXNwKzQ0XQ0KLQltb3YgIGVjeCwgW2VzcCsyMF0NCi0JY21wICBlY3gsZXNpDQotCWphICAgTF9hbGlnbl9sb25nDQotDQotCWFkZCAgZWN4LDExDQotCXN1YiAgZWN4LGVzaQ0KLQltb3YgIGVheCwxMg0KLQlzdWIgIGVheCxlY3gNCi0JbGVhICBlZGksIFtlc3ArMjhdDQotCXJlcCBtb3ZzYg0KLQltb3YgIGVjeCxlYXgNCi0JeG9yICBlYXgsZWF4DQotCXJlcCBzdG9zYg0KLQlsZWEgIGVzaSwgW2VzcCsyOF0NCi0JbW92ICBbZXNwKzIwXSxlc2kNCi0Jam1wICBMX2lzX2FsaWduZWQNCi0NCi0NCi1MX2FsaWduX2xvbmc6DQotCXRlc3QgIGVzaSwzDQotCWp6ICAgTF9pc19hbGlnbmVkDQotCXhvciAgZWF4LGVheA0KLQltb3YgIGFsLCBbZXNpXQ0KLQlpbmMgIGVzaQ0KLQltb3YgIGVjeCxlYngNCi0JYWRkICBlYngsOA0KLQlzaGwgIGVheCxjbA0KLQlvciAgZWJwLGVheA0KLQlqbXAgTF9hbGlnbl9sb25nDQotDQotTF9pc19hbGlnbmVkOg0KLQltb3YgIGVkaSwgW2VzcCs2MF0NCi07IDM2NiAiaW5mZmFzdC5TIg0KLUxfY2hlY2tfbW14Og0KLQljbXAgIGR3b3JkIHB0ciBbaW5mbGF0ZV9mYXN0X3VzZV9tbXhdLDINCi0JamUgICBMX2luaXRfbW14DQotCWphICAgTF9kb19sb29wDQotDQotCXB1c2ggIGVheA0KLQlwdXNoICBlYngNCi0JcHVzaCAgZWN4DQotCXB1c2ggIGVkeA0KLQlwdXNoZmQNCi0JbW92ICBlYXgsIFtlc3BdDQotCXhvciAgZHdvcmQgcHRyIFtlc3BdLDAyMDAwMDBoDQotDQotDQotDQotDQotCXBvcGZkDQotCXB1c2hmZA0KLQlwb3AgIGVkeA0KLQl4b3IgIGVkeCxlYXgNCi0JanogICBMX2RvbnRfdXNlX21teA0KLQl4b3IgIGVheCxlYXgNCi0JY3B1aWQNCi0JY21wICBlYngsMDc1NmU2NTQ3aA0KLQlqbmUgIExfZG9udF91c2VfbW14DQotCWNtcCAgZWN4LDA2YzY1NzQ2ZWgNCi0Jam5lICBMX2RvbnRfdXNlX21teA0KLQljbXAgIGVkeCwwNDk2NTZlNjloDQotCWpuZSAgTF9kb250X3VzZV9tbXgNCi0JbW92ICBlYXgsMQ0KLQljcHVpZA0KLQlzaHIgIGVheCw4DQotCWFuZCAgZWF4LDE1DQotCWNtcCAgZWF4LDYNCi0Jam5lICBMX2RvbnRfdXNlX21teA0KLQl0ZXN0ICBlZHgsMDgwMDAwMGgNCi0Jam56ICBMX3VzZV9tbXgNCi0Jam1wICBMX2RvbnRfdXNlX21teA0KLUxfdXNlX21teDoNCi0JbW92ICBkd29yZCBwdHIgW2luZmxhdGVfZmFzdF91c2VfbW14XSwyDQotCWptcCAgTF9jaGVja19tbXhfcG9wDQotTF9kb250X3VzZV9tbXg6DQotCW1vdiAgZHdvcmQgcHRyIFtpbmZsYXRlX2Zhc3RfdXNlX21teF0sMw0KLUxfY2hlY2tfbW14X3BvcDoNCi0JcG9wICBlZHgNCi0JcG9wICBlY3gNCi0JcG9wICBlYngNCi0JcG9wICBlYXgNCi0Jam1wICBMX2NoZWNrX21teA0KLTsgNDI2ICJpbmZmYXN0LlMiDQotQUxJR04gNA0KLUxfZG9fbG9vcDoNCi07IDQzNyAiaW5mZmFzdC5TIg0KLQljbXAgIGJsLDE1DQotCWphICAgTF9nZXRfbGVuZ3RoX2NvZGUNCi0NCi0JeG9yICBlYXgsZWF4DQotCWxvZHN3DQotCW1vdiAgY2wsYmwNCi0JYWRkICBibCwxNg0KLQlzaGwgIGVheCxjbA0KLQlvciAgZWJwLGVheA0KLQ0KLUxfZ2V0X2xlbmd0aF9jb2RlOg0KLQltb3YgIGVkeCwgW2VzcCswXQ0KLQltb3YgIGVjeCwgW2VzcCs4XQ0KLQlhbmQgIGVkeCxlYnANCi0JbW92ICBlYXgsIFtlY3grZWR4KjRdDQotDQotTF9kb2xlbjoNCi0NCi0NCi0NCi0NCi0NCi0NCi0JbW92ICBjbCxhaA0KLQlzdWIgIGJsLGFoDQotCXNociAgZWJwLGNsDQotDQotDQotDQotDQotDQotDQotCXRlc3QgIGFsLGFsDQotCWpueiAgIExfdGVzdF9mb3JfbGVuZ3RoX2Jhc2UNCi0NCi0Jc2hyICBlYXgsMTYNCi0Jc3Rvc2INCi0NCi1MX3doaWxlX3Rlc3Q6DQotDQotDQotCWNtcCAgW2VzcCsxNl0sZWRpDQotCWpiZSAgTF9icmVha19sb29wDQotDQotCWNtcCAgW2VzcCsyMF0sZXNpDQotCWphICAgTF9kb19sb29wDQotCWptcCAgTF9icmVha19sb29wDQotDQotTF90ZXN0X2Zvcl9sZW5ndGhfYmFzZToNCi07IDUwMiAiaW5mZmFzdC5TIg0KLQltb3YgIGVkeCxlYXgNCi0Jc2hyICBlZHgsMTYNCi0JbW92ICBjbCxhbA0KLQ0KLQl0ZXN0ICBhbCwxNg0KLQlqeiAgIExfdGVzdF9mb3Jfc2Vjb25kX2xldmVsX2xlbmd0aA0KLQlhbmQgIGNsLDE1DQotCWp6ICAgTF9zYXZlX2xlbg0KLQljbXAgIGJsLGNsDQotCWphZSAgTF9hZGRfYml0c190b19sZW4NCi0NCi0JbW92ICBjaCxjbA0KLQl4b3IgIGVheCxlYXgNCi0JbG9kc3cNCi0JbW92ICBjbCxibA0KLQlhZGQgIGJsLDE2DQotCXNobCAgZWF4LGNsDQotCW9yICBlYnAsZWF4DQotCW1vdiAgY2wsY2gNCi0NCi1MX2FkZF9iaXRzX3RvX2xlbjoNCi0JbW92ICBlYXgsMQ0KLQlzaGwgIGVheCxjbA0KLQlkZWMgIGVheA0KLQlzdWIgIGJsLGNsDQotCWFuZCAgZWF4LGVicA0KLQlzaHIgIGVicCxjbA0KLQlhZGQgIGVkeCxlYXgNCi0NCi1MX3NhdmVfbGVuOg0KLQltb3YgIFtlc3ArMjRdLGVkeA0KLQ0KLQ0KLUxfZGVjb2RlX2Rpc3RhbmNlOg0KLTsgNTQ5ICJpbmZmYXN0LlMiDQotCWNtcCAgYmwsMTUNCi0JamEgICBMX2dldF9kaXN0YW5jZV9jb2RlDQotDQotCXhvciAgZWF4LGVheA0KLQlsb2Rzdw0KLQltb3YgIGNsLGJsDQotCWFkZCAgYmwsMTYNCi0Jc2hsICBlYXgsY2wNCi0Jb3IgIGVicCxlYXgNCi0NCi1MX2dldF9kaXN0YW5jZV9jb2RlOg0KLQltb3YgIGVkeCwgW2VzcCs0XQ0KLQltb3YgIGVjeCwgW2VzcCsxMl0NCi0JYW5kICBlZHgsZWJwDQotCW1vdiAgZWF4LCBbZWN4K2VkeCo0XQ0KLQ0KLQ0KLUxfZG9kaXN0Og0KLQltb3YgIGVkeCxlYXgNCi0Jc2hyICBlZHgsMTYNCi0JbW92ICBjbCxhaA0KLQlzdWIgIGJsLGFoDQotCXNociAgZWJwLGNsDQotOyA1ODQgImluZmZhc3QuUyINCi0JbW92ICBjbCxhbA0KLQ0KLQl0ZXN0ICBhbCwxNg0KLQlqeiAgTF90ZXN0X2Zvcl9zZWNvbmRfbGV2ZWxfZGlzdA0KLQlhbmQgIGNsLDE1DQotCWp6ICBMX2NoZWNrX2Rpc3Rfb25lDQotCWNtcCAgYmwsY2wNCi0JamFlICBMX2FkZF9iaXRzX3RvX2Rpc3QNCi0NCi0JbW92ICBjaCxjbA0KLQl4b3IgIGVheCxlYXgNCi0JbG9kc3cNCi0JbW92ICBjbCxibA0KLQlhZGQgIGJsLDE2DQotCXNobCAgZWF4LGNsDQotCW9yICBlYnAsZWF4DQotCW1vdiAgY2wsY2gNCi0NCi1MX2FkZF9iaXRzX3RvX2Rpc3Q6DQotCW1vdiAgZWF4LDENCi0Jc2hsICBlYXgsY2wNCi0JZGVjICBlYXgNCi0Jc3ViICBibCxjbA0KLQlhbmQgIGVheCxlYnANCi0Jc2hyICBlYnAsY2wNCi0JYWRkICBlZHgsZWF4DQotCWptcCAgTF9jaGVja193aW5kb3cNCi0NCi1MX2NoZWNrX3dpbmRvdzoNCi07IDYyNSAiaW5mZmFzdC5TIg0KLQltb3YgIFtlc3ArNDRdLGVzaQ0KLQltb3YgIGVheCxlZGkNCi0Jc3ViICBlYXgsIFtlc3ArNDBdDQotDQotCWNtcCAgZWF4LGVkeA0KLQlqYiAgIExfY2xpcF93aW5kb3cNCi0NCi0JbW92ICBlY3gsIFtlc3ArMjRdDQotCW1vdiAgZXNpLGVkaQ0KLQlzdWIgIGVzaSxlZHgNCi0NCi0Jc3ViICBlY3gsMw0KLQltb3YgIGFsLCBbZXNpXQ0KLQltb3YgIFtlZGldLGFsDQotCW1vdiAgYWwsIFtlc2krMV0NCi0JbW92ICBkbCwgW2VzaSsyXQ0KLQlhZGQgIGVzaSwzDQotCW1vdiAgW2VkaSsxXSxhbA0KLQltb3YgIFtlZGkrMl0sZGwNCi0JYWRkICBlZGksMw0KLQlyZXAgbW92c2INCi0NCi0JbW92ICBlc2ksIFtlc3ArNDRdDQotCWptcCAgTF93aGlsZV90ZXN0DQotDQotQUxJR04gNA0KLUxfY2hlY2tfZGlzdF9vbmU6DQotCWNtcCAgZWR4LDENCi0Jam5lICBMX2NoZWNrX3dpbmRvdw0KLQljbXAgIFtlc3ArNDBdLGVkaQ0KLQlqZSAgTF9jaGVja193aW5kb3cNCi0NCi0JZGVjICBlZGkNCi0JbW92ICBlY3gsIFtlc3ArMjRdDQotCW1vdiAgYWwsIFtlZGldDQotCXN1YiAgZWN4LDMNCi0NCi0JbW92ICBbZWRpKzFdLGFsDQotCW1vdiAgW2VkaSsyXSxhbA0KLQltb3YgIFtlZGkrM10sYWwNCi0JYWRkICBlZGksNA0KLQlyZXAgc3Rvc2INCi0NCi0Jam1wICBMX3doaWxlX3Rlc3QNCi0NCi1BTElHTiA0DQotTF90ZXN0X2Zvcl9zZWNvbmRfbGV2ZWxfbGVuZ3RoOg0KLQ0KLQ0KLQ0KLQ0KLQl0ZXN0ICBhbCw2NA0KLQlqbnogICBMX3Rlc3RfZm9yX2VuZF9vZl9ibG9jaw0KLQ0KLQltb3YgIGVheCwxDQotCXNobCAgZWF4LGNsDQotCWRlYyAgZWF4DQotCWFuZCAgZWF4LGVicA0KLQlhZGQgIGVheCxlZHgNCi0JbW92ICBlZHgsIFtlc3ArOF0NCi0JbW92ICBlYXgsIFtlZHgrZWF4KjRdDQotCWptcCAgTF9kb2xlbg0KLQ0KLUFMSUdOIDQNCi1MX3Rlc3RfZm9yX3NlY29uZF9sZXZlbF9kaXN0Og0KLQ0KLQ0KLQ0KLQ0KLQl0ZXN0ICBhbCw2NA0KLQlqbnogICBMX2ludmFsaWRfZGlzdGFuY2VfY29kZQ0KLQ0KLQltb3YgIGVheCwxDQotCXNobCAgZWF4LGNsDQotCWRlYyAgZWF4DQotCWFuZCAgZWF4LGVicA0KLQlhZGQgIGVheCxlZHgNCi0JbW92ICBlZHgsIFtlc3ArMTJdDQotCW1vdiAgZWF4LCBbZWR4K2VheCo0XQ0KLQlqbXAgIExfZG9kaXN0DQotDQotQUxJR04gNA0KLUxfY2xpcF93aW5kb3c6DQotOyA3MjEgImluZmZhc3QuUyINCi0JbW92ICBlY3gsZWF4DQotCW1vdiAgZWF4LCBbZXNwKzUyXQ0KLQluZWcgIGVjeA0KLQltb3YgIGVzaSwgW2VzcCs1Nl0NCi0NCi0JY21wICBlYXgsZWR4DQotCWpiICAgTF9pbnZhbGlkX2Rpc3RhbmNlX3Rvb19mYXINCi0NCi0JYWRkICBlY3gsZWR4DQotCWNtcCAgZHdvcmQgcHRyIFtlc3ArNDhdLDANCi0Jam5lICBMX3dyYXBfYXJvdW5kX3dpbmRvdw0KLQ0KLQlzdWIgIGVheCxlY3gNCi0JYWRkICBlc2ksZWF4DQotOyA3NDkgImluZmZhc3QuUyINCi0JbW92ICBlYXgsIFtlc3ArMjRdDQotCWNtcCAgZWF4LGVjeA0KLQlqYmUgIExfZG9fY29weTENCi0NCi0Jc3ViICBlYXgsZWN4DQotCXJlcCBtb3ZzYg0KLQltb3YgIGVzaSxlZGkNCi0Jc3ViICBlc2ksZWR4DQotCWptcCAgTF9kb19jb3B5MQ0KLQ0KLQljbXAgIGVheCxlY3gNCi0JamJlICBMX2RvX2NvcHkxDQotDQotCXN1YiAgZWF4LGVjeA0KLQlyZXAgbW92c2INCi0JbW92ICBlc2ksZWRpDQotCXN1YiAgZXNpLGVkeA0KLQlqbXAgIExfZG9fY29weTENCi0NCi1MX3dyYXBfYXJvdW5kX3dpbmRvdzoNCi07IDc5MyAiaW5mZmFzdC5TIg0KLQltb3YgIGVheCwgW2VzcCs0OF0NCi0JY21wICBlY3gsZWF4DQotCWpiZSAgTF9jb250aWd1b3VzX2luX3dpbmRvdw0KLQ0KLQlhZGQgIGVzaSwgW2VzcCs1Ml0NCi0JYWRkICBlc2ksZWF4DQotCXN1YiAgZXNpLGVjeA0KLQlzdWIgIGVjeCxlYXgNCi0NCi0NCi0JbW92ICBlYXgsIFtlc3ArMjRdDQotCWNtcCAgZWF4LGVjeA0KLQlqYmUgIExfZG9fY29weTENCi0NCi0Jc3ViICBlYXgsZWN4DQotCXJlcCBtb3ZzYg0KLQltb3YgIGVzaSwgW2VzcCs1Nl0NCi0JbW92ICBlY3gsIFtlc3ArNDhdDQotCWNtcCAgZWF4LGVjeA0KLQlqYmUgIExfZG9fY29weTENCi0NCi0Jc3ViICBlYXgsZWN4DQotCXJlcCBtb3ZzYg0KLQltb3YgIGVzaSxlZGkNCi0Jc3ViICBlc2ksZWR4DQotCWptcCAgTF9kb19jb3B5MQ0KLQ0KLUxfY29udGlndW91c19pbl93aW5kb3c6DQotOyA4MzYgImluZmZhc3QuUyINCi0JYWRkICBlc2ksZWF4DQotCXN1YiAgZXNpLGVjeA0KLQ0KLQ0KLQltb3YgIGVheCwgW2VzcCsyNF0NCi0JY21wICBlYXgsZWN4DQotCWpiZSAgTF9kb19jb3B5MQ0KLQ0KLQlzdWIgIGVheCxlY3gNCi0JcmVwIG1vdnNiDQotCW1vdiAgZXNpLGVkaQ0KLQlzdWIgIGVzaSxlZHgNCi0NCi1MX2RvX2NvcHkxOg0KLTsgODYyICJpbmZmYXN0LlMiDQotCW1vdiAgZWN4LGVheA0KLQlyZXAgbW92c2INCi0NCi0JbW92ICBlc2ksIFtlc3ArNDRdDQotCWptcCAgTF93aGlsZV90ZXN0DQotOyA4NzggImluZmZhc3QuUyINCi1BTElHTiA0DQotTF9pbml0X21teDoNCi0JZW1tcw0KLQ0KLQ0KLQ0KLQ0KLQ0KLQltb3ZkIG1tMCxlYnANCi0JbW92ICBlYnAsZWJ4DQotOyA4OTYgImluZmZhc3QuUyINCi0JbW92ZCBtbTQsZHdvcmQgcHRyIFtlc3ArMF0NCi0JbW92cSBtbTMsbW00DQotCW1vdmQgbW01LGR3b3JkIHB0ciBbZXNwKzRdDQotCW1vdnEgbW0yLG1tNQ0KLQlweG9yIG1tMSxtbTENCi0JbW92ICBlYngsIFtlc3ArOF0NCi0Jam1wICBMX2RvX2xvb3BfbW14DQotDQotQUxJR04gNA0KLUxfZG9fbG9vcF9tbXg6DQotCXBzcmxxIG1tMCxtbTENCi0NCi0JY21wICBlYnAsMzINCi0JamEgIExfZ2V0X2xlbmd0aF9jb2RlX21teA0KLQ0KLQltb3ZkIG1tNixlYnANCi0JbW92ZCBtbTcsZHdvcmQgcHRyIFtlc2ldDQotCWFkZCAgZXNpLDQNCi0JcHNsbHEgbW03LG1tNg0KLQlhZGQgIGVicCwzMg0KLQlwb3IgbW0wLG1tNw0KLQ0KLUxfZ2V0X2xlbmd0aF9jb2RlX21teDoNCi0JcGFuZCBtbTQsbW0wDQotCW1vdmQgZWF4LG1tNA0KLQltb3ZxIG1tNCxtbTMNCi0JbW92ICBlYXgsIFtlYngrZWF4KjRdDQotDQotTF9kb2xlbl9tbXg6DQotCW1vdnp4ICBlY3gsYWgNCi0JbW92ZCBtbTEsZWN4DQotCXN1YiAgZWJwLGVjeA0KLQ0KLQl0ZXN0ICBhbCxhbA0KLQlqbnogTF90ZXN0X2Zvcl9sZW5ndGhfYmFzZV9tbXgNCi0NCi0Jc2hyICBlYXgsMTYNCi0Jc3Rvc2INCi0NCi1MX3doaWxlX3Rlc3RfbW14Og0KLQ0KLQ0KLQljbXAgIFtlc3ArMTZdLGVkaQ0KLQlqYmUgTF9icmVha19sb29wDQotDQotCWNtcCAgW2VzcCsyMF0sZXNpDQotCWphIExfZG9fbG9vcF9tbXgNCi0Jam1wIExfYnJlYWtfbG9vcA0KLQ0KLUxfdGVzdF9mb3JfbGVuZ3RoX2Jhc2VfbW14Og0KLQ0KLQltb3YgIGVkeCxlYXgNCi0Jc2hyICBlZHgsMTYNCi0NCi0JdGVzdCAgYWwsMTYNCi0JanogIExfdGVzdF9mb3Jfc2Vjb25kX2xldmVsX2xlbmd0aF9tbXgNCi0JYW5kICBlYXgsMTUNCi0JanogTF9kZWNvZGVfZGlzdGFuY2VfbW14DQotDQotCXBzcmxxIG1tMCxtbTENCi0JbW92ZCBtbTEsZWF4DQotCW1vdmQgZWN4LG1tMA0KLQlzdWIgIGVicCxlYXgNCi0JYW5kICBlY3gsIFtpbmZsYXRlX2Zhc3RfbWFzaytlYXgqNF0NCi0JYWRkICBlZHgsZWN4DQotDQotTF9kZWNvZGVfZGlzdGFuY2VfbW14Og0KLQlwc3JscSBtbTAsbW0xDQotDQotCWNtcCAgZWJwLDMyDQotCWphIExfZ2V0X2Rpc3RfY29kZV9tbXgNCi0NCi0JbW92ZCBtbTYsZWJwDQotCW1vdmQgbW03LGR3b3JkIHB0ciBbZXNpXQ0KLQlhZGQgIGVzaSw0DQotCXBzbGxxIG1tNyxtbTYNCi0JYWRkICBlYnAsMzINCi0JcG9yIG1tMCxtbTcNCi0NCi1MX2dldF9kaXN0X2NvZGVfbW14Og0KLQltb3YgIGVieCwgW2VzcCsxMl0NCi0JcGFuZCBtbTUsbW0wDQotCW1vdmQgZWF4LG1tNQ0KLQltb3ZxIG1tNSxtbTINCi0JbW92ICBlYXgsIFtlYngrZWF4KjRdDQotDQotTF9kb2Rpc3RfbW14Og0KLQ0KLQltb3Z6eCAgZWN4LGFoDQotCW1vdiAgZWJ4LGVheA0KLQlzaHIgIGVieCwxNg0KLQlzdWIgIGVicCxlY3gNCi0JbW92ZCBtbTEsZWN4DQotDQotCXRlc3QgIGFsLDE2DQotCWp6IExfdGVzdF9mb3Jfc2Vjb25kX2xldmVsX2Rpc3RfbW14DQotCWFuZCAgZWF4LDE1DQotCWp6IExfY2hlY2tfZGlzdF9vbmVfbW14DQotDQotTF9hZGRfYml0c190b19kaXN0X21teDoNCi0JcHNybHEgbW0wLG1tMQ0KLQltb3ZkIG1tMSxlYXgNCi0JbW92ZCBlY3gsbW0wDQotCXN1YiAgZWJwLGVheA0KLQlhbmQgIGVjeCwgW2luZmxhdGVfZmFzdF9tYXNrK2VheCo0XQ0KLQlhZGQgIGVieCxlY3gNCi0NCi1MX2NoZWNrX3dpbmRvd19tbXg6DQotCW1vdiAgW2VzcCs0NF0sZXNpDQotCW1vdiAgZWF4LGVkaQ0KLQlzdWIgIGVheCwgW2VzcCs0MF0NCi0NCi0JY21wICBlYXgsZWJ4DQotCWpiIExfY2xpcF93aW5kb3dfbW14DQotDQotCW1vdiAgZWN4LGVkeA0KLQltb3YgIGVzaSxlZGkNCi0Jc3ViICBlc2ksZWJ4DQotDQotCXN1YiAgZWN4LDMNCi0JbW92ICBhbCwgW2VzaV0NCi0JbW92ICBbZWRpXSxhbA0KLQltb3YgIGFsLCBbZXNpKzFdDQotCW1vdiAgZGwsIFtlc2krMl0NCi0JYWRkICBlc2ksMw0KLQltb3YgIFtlZGkrMV0sYWwNCi0JbW92ICBbZWRpKzJdLGRsDQotCWFkZCAgZWRpLDMNCi0JcmVwIG1vdnNiDQotDQotCW1vdiAgZXNpLCBbZXNwKzQ0XQ0KLQltb3YgIGVieCwgW2VzcCs4XQ0KLQlqbXAgIExfd2hpbGVfdGVzdF9tbXgNCi0NCi1BTElHTiA0DQotTF9jaGVja19kaXN0X29uZV9tbXg6DQotCWNtcCAgZWJ4LDENCi0Jam5lICBMX2NoZWNrX3dpbmRvd19tbXgNCi0JY21wICBbZXNwKzQwXSxlZGkNCi0JamUgICBMX2NoZWNrX3dpbmRvd19tbXgNCi0NCi0JZGVjICBlZGkNCi0JbW92ICBlY3gsZWR4DQotCW1vdiAgYWwsIFtlZGldDQotCXN1YiAgZWN4LDMNCi0NCi0JbW92ICBbZWRpKzFdLGFsDQotCW1vdiAgW2VkaSsyXSxhbA0KLQltb3YgIFtlZGkrM10sYWwNCi0JYWRkICBlZGksNA0KLQlyZXAgc3Rvc2INCi0NCi0JbW92ICBlYngsIFtlc3ArOF0NCi0Jam1wICBMX3doaWxlX3Rlc3RfbW14DQotDQotQUxJR04gNA0KLUxfdGVzdF9mb3Jfc2Vjb25kX2xldmVsX2xlbmd0aF9tbXg6DQotCXRlc3QgIGFsLDY0DQotCWpueiBMX3Rlc3RfZm9yX2VuZF9vZl9ibG9jaw0KLQ0KLQlhbmQgIGVheCwxNQ0KLQlwc3JscSBtbTAsbW0xDQotCW1vdmQgZWN4LG1tMA0KLQlhbmQgIGVjeCwgW2luZmxhdGVfZmFzdF9tYXNrK2VheCo0XQ0KLQlhZGQgIGVjeCxlZHgNCi0JbW92ICBlYXgsIFtlYngrZWN4KjRdDQotCWptcCBMX2RvbGVuX21teA0KLQ0KLUFMSUdOIDQNCi1MX3Rlc3RfZm9yX3NlY29uZF9sZXZlbF9kaXN0X21teDoNCi0JdGVzdCAgYWwsNjQNCi0Jam56IExfaW52YWxpZF9kaXN0YW5jZV9jb2RlDQotDQotCWFuZCAgZWF4LDE1DQotCXBzcmxxIG1tMCxtbTENCi0JbW92ZCBlY3gsbW0wDQotCWFuZCAgZWN4LCBbaW5mbGF0ZV9mYXN0X21hc2srZWF4KjRdDQotCW1vdiAgZWF4LCBbZXNwKzEyXQ0KLQlhZGQgIGVjeCxlYngNCi0JbW92ICBlYXgsIFtlYXgrZWN4KjRdDQotCWptcCAgTF9kb2Rpc3RfbW14DQotDQotQUxJR04gNA0KLUxfY2xpcF93aW5kb3dfbW14Og0KLQ0KLQltb3YgIGVjeCxlYXgNCi0JbW92ICBlYXgsIFtlc3ArNTJdDQotCW5lZyAgZWN4DQotCW1vdiAgZXNpLCBbZXNwKzU2XQ0KLQ0KLQljbXAgIGVheCxlYngNCi0JamIgIExfaW52YWxpZF9kaXN0YW5jZV90b29fZmFyDQotDQotCWFkZCAgZWN4LGVieA0KLQljbXAgIGR3b3JkIHB0ciBbZXNwKzQ4XSwwDQotCWpuZSAgTF93cmFwX2Fyb3VuZF93aW5kb3dfbW14DQotDQotCXN1YiAgZWF4LGVjeA0KLQlhZGQgIGVzaSxlYXgNCi0NCi0JY21wICBlZHgsZWN4DQotCWpiZSAgTF9kb19jb3B5MV9tbXgNCi0NCi0Jc3ViICBlZHgsZWN4DQotCXJlcCBtb3ZzYg0KLQltb3YgIGVzaSxlZGkNCi0Jc3ViICBlc2ksZWJ4DQotCWptcCAgTF9kb19jb3B5MV9tbXgNCi0NCi0JY21wICBlZHgsZWN4DQotCWpiZSAgTF9kb19jb3B5MV9tbXgNCi0NCi0Jc3ViICBlZHgsZWN4DQotCXJlcCBtb3ZzYg0KLQltb3YgIGVzaSxlZGkNCi0Jc3ViICBlc2ksZWJ4DQotCWptcCAgTF9kb19jb3B5MV9tbXgNCi0NCi1MX3dyYXBfYXJvdW5kX3dpbmRvd19tbXg6DQotDQotCW1vdiAgZWF4LCBbZXNwKzQ4XQ0KLQljbXAgIGVjeCxlYXgNCi0JamJlICBMX2NvbnRpZ3VvdXNfaW5fd2luZG93X21teA0KLQ0KLQlhZGQgIGVzaSwgW2VzcCs1Ml0NCi0JYWRkICBlc2ksZWF4DQotCXN1YiAgZXNpLGVjeA0KLQlzdWIgIGVjeCxlYXgNCi0NCi0NCi0JY21wICBlZHgsZWN4DQotCWpiZSAgTF9kb19jb3B5MV9tbXgNCi0NCi0Jc3ViICBlZHgsZWN4DQotCXJlcCBtb3ZzYg0KLQltb3YgIGVzaSwgW2VzcCs1Nl0NCi0JbW92ICBlY3gsIFtlc3ArNDhdDQotCWNtcCAgZWR4LGVjeA0KLQlqYmUgIExfZG9fY29weTFfbW14DQotDQotCXN1YiAgZWR4LGVjeA0KLQlyZXAgbW92c2INCi0JbW92ICBlc2ksZWRpDQotCXN1YiAgZXNpLGVieA0KLQlqbXAgIExfZG9fY29weTFfbW14DQotDQotTF9jb250aWd1b3VzX2luX3dpbmRvd19tbXg6DQotDQotCWFkZCAgZXNpLGVheA0KLQlzdWIgIGVzaSxlY3gNCi0NCi0NCi0JY21wICBlZHgsZWN4DQotCWpiZSAgTF9kb19jb3B5MV9tbXgNCi0NCi0Jc3ViICBlZHgsZWN4DQotCXJlcCBtb3ZzYg0KLQltb3YgIGVzaSxlZGkNCi0Jc3ViICBlc2ksZWJ4DQotDQotTF9kb19jb3B5MV9tbXg6DQotDQotDQotCW1vdiAgZWN4LGVkeA0KLQlyZXAgbW92c2INCi0NCi0JbW92ICBlc2ksIFtlc3ArNDRdDQotCW1vdiAgZWJ4LCBbZXNwKzhdDQotCWptcCAgTF93aGlsZV90ZXN0X21teA0KLTsgMTE3NCAiaW5mZmFzdC5TIg0KLUxfaW52YWxpZF9kaXN0YW5jZV9jb2RlOg0KLQ0KLQ0KLQ0KLQ0KLQ0KLQltb3YgIGVjeCwgaW52YWxpZF9kaXN0YW5jZV9jb2RlX21zZw0KLQltb3YgIGVkeCxJTkZMQVRFX01PREVfQkFEDQotCWptcCAgTF91cGRhdGVfc3RyZWFtX3N0YXRlDQotDQotTF90ZXN0X2Zvcl9lbmRfb2ZfYmxvY2s6DQotDQotDQotDQotDQotDQotCXRlc3QgIGFsLDMyDQotCWp6ICBMX2ludmFsaWRfbGl0ZXJhbF9sZW5ndGhfY29kZQ0KLQ0KLQltb3YgIGVjeCwwDQotCW1vdiAgZWR4LElORkxBVEVfTU9ERV9UWVBFDQotCWptcCAgTF91cGRhdGVfc3RyZWFtX3N0YXRlDQotDQotTF9pbnZhbGlkX2xpdGVyYWxfbGVuZ3RoX2NvZGU6DQotDQotDQotDQotDQotDQotCW1vdiAgZWN4LCBpbnZhbGlkX2xpdGVyYWxfbGVuZ3RoX2NvZGVfbXNnDQotCW1vdiAgZWR4LElORkxBVEVfTU9ERV9CQUQNCi0Jam1wICBMX3VwZGF0ZV9zdHJlYW1fc3RhdGUNCi0NCi1MX2ludmFsaWRfZGlzdGFuY2VfdG9vX2ZhcjoNCi0NCi0NCi0NCi0JbW92ICBlc2ksIFtlc3ArNDRdDQotCW1vdiAgZWN4LCBpbnZhbGlkX2Rpc3RhbmNlX3Rvb19mYXJfbXNnDQotCW1vdiAgZWR4LElORkxBVEVfTU9ERV9CQUQNCi0Jam1wICBMX3VwZGF0ZV9zdHJlYW1fc3RhdGUNCi0NCi1MX3VwZGF0ZV9zdHJlYW1fc3RhdGU6DQotDQotCW1vdiAgZWF4LCBbZXNwKzg4XQ0KLQl0ZXN0ICBlY3gsZWN4DQotCWp6ICBMX3NraXBfbXNnDQotCW1vdiAgW2VheCsyNF0sZWN4DQotTF9za2lwX21zZzoNCi0JbW92ICBlYXgsIFtlYXgrMjhdDQotCW1vdiAgW2VheCttb2RlX3N0YXRlXSxlZHgNCi0Jam1wICBMX2JyZWFrX2xvb3ANCi0NCi1BTElHTiA0DQotTF9icmVha19sb29wOg0KLTsgMTI0MyAiaW5mZmFzdC5TIg0KLQljbXAgIGR3b3JkIHB0ciBbaW5mbGF0ZV9mYXN0X3VzZV9tbXhdLDINCi0Jam5lICBMX3VwZGF0ZV9uZXh0X2luDQotDQotDQotDQotCW1vdiAgZWJ4LGVicA0KLQ0KLUxfdXBkYXRlX25leHRfaW46DQotOyAxMjY2ICJpbmZmYXN0LlMiDQotCW1vdiAgZWF4LCBbZXNwKzg4XQ0KLQltb3YgIGVjeCxlYngNCi0JbW92ICBlZHgsIFtlYXgrMjhdDQotCXNociAgZWN4LDMNCi0Jc3ViICBlc2ksZWN4DQotCXNobCAgZWN4LDMNCi0Jc3ViICBlYngsZWN4DQotCW1vdiAgW2VheCsxMl0sZWRpDQotCW1vdiAgW2VkeCtiaXRzX3N0YXRlXSxlYngNCi0JbW92ICBlY3gsZWJ4DQotDQotCWxlYSAgZWJ4LCBbZXNwKzI4XQ0KLQljbXAgIFtlc3ArMjBdLGVieA0KLQlqbmUgIExfYnVmX25vdF91c2VkDQotDQotCXN1YiAgZXNpLGVieA0KLQltb3YgIGVieCwgW2VheCswXQ0KLQltb3YgIFtlc3ArMjBdLGVieA0KLQlhZGQgIGVzaSxlYngNCi0JbW92ICBlYngsIFtlYXgrNF0NCi0Jc3ViICBlYngsMTENCi0JYWRkICBbZXNwKzIwXSxlYngNCi0NCi1MX2J1Zl9ub3RfdXNlZDoNCi0JbW92ICBbZWF4KzBdLGVzaQ0KLQ0KLQltb3YgIGVieCwxDQotCXNobCAgZWJ4LGNsDQotCWRlYyAgZWJ4DQotDQotDQotDQotDQotDQotCWNtcCAgZHdvcmQgcHRyIFtpbmZsYXRlX2Zhc3RfdXNlX21teF0sMg0KLQlqbmUgIExfdXBkYXRlX2hvbGQNCi0NCi0NCi0NCi0JcHNybHEgbW0wLG1tMQ0KLQltb3ZkIGVicCxtbTANCi0NCi0JZW1tcw0KLQ0KLUxfdXBkYXRlX2hvbGQ6DQotDQotDQotDQotCWFuZCAgZWJwLGVieA0KLQltb3YgIFtlZHgraG9sZF9zdGF0ZV0sZWJwDQotDQotDQotDQotDQotCW1vdiAgZWJ4LCBbZXNwKzIwXQ0KLQljbXAgIGVieCxlc2kNCi0JamJlICBMX2xhc3RfaXNfc21hbGxlcg0KLQ0KLQlzdWIgIGVieCxlc2kNCi0JYWRkICBlYngsMTENCi0JbW92ICBbZWF4KzRdLGVieA0KLQlqbXAgIExfZml4dXBfb3V0DQotTF9sYXN0X2lzX3NtYWxsZXI6DQotCXN1YiAgZXNpLGVieA0KLQluZWcgIGVzaQ0KLQlhZGQgIGVzaSwxMQ0KLQltb3YgIFtlYXgrNF0sZXNpDQotDQotDQotDQotDQotTF9maXh1cF9vdXQ6DQotDQotCW1vdiAgZWJ4LCBbZXNwKzE2XQ0KLQljbXAgIGVieCxlZGkNCi0JamJlICBMX2VuZF9pc19zbWFsbGVyDQotDQotCXN1YiAgZWJ4LGVkaQ0KLQlhZGQgIGVieCwyNTcNCi0JbW92ICBbZWF4KzE2XSxlYngNCi0Jam1wICBMX2RvbmUNCi1MX2VuZF9pc19zbWFsbGVyOg0KLQlzdWIgIGVkaSxlYngNCi0JbmVnICBlZGkNCi0JYWRkICBlZGksMjU3DQotCW1vdiAgW2VheCsxNl0sZWRpDQotDQotDQotDQotDQotDQotTF9kb25lOg0KLQlhZGQgIGVzcCw2NA0KLQlwb3BmZA0KLQlwb3AgIGVieA0KLQlwb3AgIGVicA0KLQlwb3AgIGVzaQ0KLQlwb3AgIGVkaQ0KLQlyZXQNCi1faW5mbGF0ZV9mYXN0IGVuZHANCi0NCi1fVEVYVAllbmRzDQotZW5kDQpkaWZmIC0tZ2l0IGEvc3JjL2NvbnRyaWIvbWFzbXg4Ni9tYXRjaDY4Ni5hc20gYi9zcmMvY29udHJpYi9tYXNteDg2L21hdGNoNjg2LmFzbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2IwOTIxMi4uMDAwMDAwMAotLS0gYS9zcmMvY29udHJpYi9tYXNteDg2L21hdGNoNjg2LmFzbQorKysgL2Rldi9udWxsCkBAIC0xLDQ3OSArMCwwIEBACi07IG1hdGNoNjg2LmFzbSAtLSBBc20gcG9ydGlvbiBvZiB0aGUgb3B0aW1pemVkIGxvbmdlc3RfbWF0Y2ggZm9yIDMyIGJpdHMgeDg2DQotOyBDb3B5cmlnaHQgKEMpIDE5OTUtMTk5NiBKZWFuLWxvdXAgR2FpbGx5LCBCcmlhbiBSYWl0ZXIgYW5kIEdpbGxlcyBWb2xsYW50Lg0KLTsgRmlsZSB3cml0dGVuIGJ5IEdpbGxlcyBWb2xsYW50LCBieSBjb252ZXJ0aW5nIG1hdGNoNjg2LlMgZnJvbSBCcmlhbiBSYWl0ZXINCi07IGZvciBNQVNNLiBUaGlzIGlzIGFzIGFzc2VtYmx5IHZlcnNpb24gb2YgbG9uZ2VzdF9tYXRjaA0KLTsgIGZyb20gSmVhbi1sb3VwIEdhaWxseSBpbiBkZWZsYXRlLmMNCi07DQotOyAgICAgICAgIGh0dHA6Ly93d3cuemxpYi5uZXQNCi07ICAgICAgICAgaHR0cDovL3d3dy53aW5pbWFnZS5jb20vekxpYkRsbA0KLTsgICAgICAgICBodHRwOi8vd3d3Lm11cHBldGxhYnMuY29tL35icmVhZGJveC9zb2Z0d2FyZS9hc3NlbWJseS5odG1sDQotOw0KLTsgRm9yIFZpc3VhbCBDKysgNC54IGFuZCBoaWdoZXIgYW5kIE1MIDYueCBhbmQgaGlnaGVyDQotOyAgIG1sLmV4ZSBpcyBkaXN0cmlidXRlZCBpbg0KLTsgIGh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9kb3dubG9hZHMvZGV0YWlscy5hc3B4P0ZhbWlseUlEPTdhMWM5ZGEwLTA1MTAtNDRhMi1iMDQyLTdlZjM3MDUzMGM2NA0KLTsNCi07IHRoaXMgZmlsZSBjb250YWluIHR3byBpbXBsZW1lbnRhdGlvbiBvZiBsb25nZXN0X21hdGNoDQotOw0KLTsgIHRoaXMgbG9uZ2VzdF9tYXRjaCB3YXMgd3JpdHRlbiBieSBCcmlhbiByYWl0ZXIgKDE5OTgpLCBvcHRpbWl6ZWQgZm9yIFBlbnRpdW0gUHJvDQotOyAgIChhbmQgdGhlIGZhc3RlciBrbm93biB2ZXJzaW9uIG9mIG1hdGNoX2luaXQgb24gbW9kZXJuIENvcmUgMiBEdW8gYW5kIEFNRCBQaGVub20pDQotOw0KLTsgIGZvciB1c2luZyBhbiBhc3NlbWJseSB2ZXJzaW9uIG9mIGxvbmdlc3RfbWF0Y2gsIHlvdSBuZWVkIGRlZmluZSBBU01WIGluIHByb2plY3QNCi07DQotOyAgICBjb21waWxlIHRoZSBhc20gZmlsZSBydW5uaW5nDQotOyAgICAgICAgICAgbWwgL2NvZmYgL1ppIC9jIC9GbG1hdGNoNjg2LmxzdCBtYXRjaDY4Ni5hc20NCi07ICAgIGFuZCBkbyBub3QgaW5jbHVkZSBtYXRjaDY4Ni5vYmogaW4geW91ciBwcm9qZWN0DQotOw0KLTsgbm90ZTogY29udHJpYiBvZiB6TGliIDEuMi4zIGFuZCBlYXJsaWVyIGNvbnRhaW5lZCBib3RoIGEgZGVwcmVjYXRlZCB2ZXJzaW9uIGZvcg0KLTsgIFBlbnRpdW0gKHByaW9yIFBlbnRpdW0gUHJvKSBhbmQgdGhpcyB2ZXJzaW9uIGZvciBQZW50aXVtIFBybyBhbmQgbW9kZXJuIHByb2Nlc3Nvcg0KLTsgIHdpdGggYXV0b3NlbGVjdCAod2l0aCBjcHUgZGV0ZWN0aW9uIGNvZGUpDQotOyAgaWYgeW91IHdhbnQgc3VwcG9ydCB0aGUgb2xkIHBlbnRpdW0gb3B0aW1pemF0aW9uLCB5b3UgY2FuIHN0aWxsIHVzZSB0aGVzZSB2ZXJzaW9uDQotOw0KLTsgdGhpcyBmaWxlIGlzIG5vdCBvcHRpbWl6ZWQgZm9yIG9sZCBwZW50aXVtLCBidXQgaXQgY29tcGF0aWJsZSB3aXRoIGFsbCB4ODYgMzIgYml0cw0KLTsgcHJvY2Vzc29yIChzdGFydGluZyA4MDM4NikNCi07DQotOw0KLTsgc2VlIGJlbG93IDogemxpYjEyMjJhZGQgbXVzdCBiZSBhZGp1c3RlciBpZiB5b3UgdXNlIGEgemxpYiB2ZXJzaW9uIDwgMS4yLjIuMg0KLQ0KLTt1SW50IGxvbmdlc3RfbWF0Y2gocywgY3VyX21hdGNoKQ0KLTsgICAgZGVmbGF0ZV9zdGF0ZSAqczsNCi07ICAgIElQb3MgY3VyX21hdGNoOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogY3VycmVudCBtYXRjaCAqLw0KLQ0KLSAgICBOYlN0YWNrICAgICAgICAgZXF1ICAgICA3Ng0KLSAgICBjdXJfbWF0Y2ggICAgICAgZXF1ICAgICBkd29yZCBwdHJbZXNwK05iU3RhY2stMF0NCi0gICAgc3RyX3MgICAgICAgICAgIGVxdSAgICAgZHdvcmQgcHRyW2VzcCtOYlN0YWNrLTRdDQotOyA1IGR3b3JkIG9uIHRvcCAocmV0LGVicCxlc2ksZWRpLGVieCkNCi0gICAgYWRycmV0ICAgICAgICAgIGVxdSAgICAgZHdvcmQgcHRyW2VzcCtOYlN0YWNrLThdDQotICAgIHB1c2hlYnAgICAgICAgICBlcXUgICAgIGR3b3JkIHB0cltlc3ArTmJTdGFjay0xMl0NCi0gICAgcHVzaGVkaSAgICAgICAgIGVxdSAgICAgZHdvcmQgcHRyW2VzcCtOYlN0YWNrLTE2XQ0KLSAgICBwdXNoZXNpICAgICAgICAgZXF1ICAgICBkd29yZCBwdHJbZXNwK05iU3RhY2stMjBdDQotICAgIHB1c2hlYnggICAgICAgICBlcXUgICAgIGR3b3JkIHB0cltlc3ArTmJTdGFjay0yNF0NCi0NCi0gICAgY2hhaW5fbGVuZ3RoICAgIGVxdSAgICAgZHdvcmQgcHRyIFtlc3ArTmJTdGFjay0yOF0NCi0gICAgbGltaXQgICAgICAgICAgIGVxdSAgICAgZHdvcmQgcHRyIFtlc3ArTmJTdGFjay0zMl0NCi0gICAgYmVzdF9sZW4gICAgICAgIGVxdSAgICAgZHdvcmQgcHRyIFtlc3ArTmJTdGFjay0zNl0NCi0gICAgd2luZG93ICAgICAgICAgIGVxdSAgICAgZHdvcmQgcHRyIFtlc3ArTmJTdGFjay00MF0NCi0gICAgcHJldiAgICAgICAgICAgIGVxdSAgICAgZHdvcmQgcHRyIFtlc3ArTmJTdGFjay00NF0NCi0gICAgc2Nhbl9zdGFydCAgICAgIGVxdSAgICAgIHdvcmQgcHRyIFtlc3ArTmJTdGFjay00OF0NCi0gICAgd21hc2sgICAgICAgICAgIGVxdSAgICAgZHdvcmQgcHRyIFtlc3ArTmJTdGFjay01Ml0NCi0gICAgbWF0Y2hfc3RhcnRfcHRyIGVxdSAgICAgZHdvcmQgcHRyIFtlc3ArTmJTdGFjay01Nl0NCi0gICAgbmljZV9tYXRjaCAgICAgIGVxdSAgICAgZHdvcmQgcHRyIFtlc3ArTmJTdGFjay02MF0NCi0gICAgc2NhbiAgICAgICAgICAgIGVxdSAgICAgZHdvcmQgcHRyIFtlc3ArTmJTdGFjay02NF0NCi0NCi0gICAgd2luZG93bGVuICAgICAgIGVxdSAgICAgZHdvcmQgcHRyIFtlc3ArTmJTdGFjay02OF0NCi0gICAgbWF0Y2hfc3RhcnQgICAgIGVxdSAgICAgZHdvcmQgcHRyIFtlc3ArTmJTdGFjay03Ml0NCi0gICAgc3RyZW5kICAgICAgICAgIGVxdSAgICAgZHdvcmQgcHRyIFtlc3ArTmJTdGFjay03Nl0NCi0gICAgTmJTdGFja0FkZCAgICAgIGVxdSAgICAgKE5iU3RhY2stMjQpDQotDQotICAgIC4zODZwDQotDQotICAgIG5hbWUgICAgZ3ZtYXRjaA0KLSAgICAuTU9ERUwgIEZMQVQNCi0NCi0NCi0NCi07ICBhbGwgdGhlICt6bGliMTIyMmFkZCBvZmZzZXRzIGFyZSBkdWUgdG8gdGhlIGFkZGl0aW9uIG9mIGZpZWxkcw0KLTsgIGluIHpsaWIgaW4gdGhlIGRlZmxhdGVfc3RhdGUgc3RydWN0dXJlIHNpbmNlIHRoZSBhc20gY29kZSB3YXMgZmlyc3Qgd3JpdHRlbg0KLTsgIChpZiB5b3UgY29tcGlsZSB3aXRoIHpsaWIgMS4wLjQgb3Igb2xkZXIsIHVzZSAiemxpYjEyMjJhZGQgZXF1ICgtNCkiKS4NCi07ICAoaWYgeW91IGNvbXBpbGUgd2l0aCB6bGliIGJldHdlZW4gMS4wLjUgYW5kIDEuMi4yLjEsIHVzZSAiemxpYjEyMjJhZGQgZXF1IDAiKS4NCi07ICBpZiB5b3UgY29tcGlsZSB3aXRoIHpsaWIgMS4yLjIuMiBvciBsYXRlciAsIHVzZSAiemxpYjEyMjJhZGQgZXF1IDgiKS4NCi0NCi0gICAgemxpYjEyMjJhZGQgICAgICAgICBlcXUgICAgIDgNCi0NCi07ICBOb3RlIDogdGhlc2UgdmFsdWUgYXJlIGdvb2Qgd2l0aCBhIDggYnl0ZXMgYm91bmRhcnkgcGFjayBzdHJ1Y3R1cmUNCi0gICAgZGVwX2NoYWluX2xlbmd0aCAgICBlcXUgICAgIDc0aCt6bGliMTIyMmFkZA0KLSAgICBkZXBfd2luZG93ICAgICAgICAgIGVxdSAgICAgMzBoK3psaWIxMjIyYWRkDQotICAgIGRlcF9zdHJzdGFydCAgICAgICAgZXF1ICAgICA2NGgremxpYjEyMjJhZGQNCi0gICAgZGVwX3ByZXZfbGVuZ3RoICAgICBlcXUgICAgIDcwaCt6bGliMTIyMmFkZA0KLSAgICBkZXBfbmljZV9tYXRjaCAgICAgIGVxdSAgICAgODhoK3psaWIxMjIyYWRkDQotICAgIGRlcF93X3NpemUgICAgICAgICAgZXF1ICAgICAyNGgremxpYjEyMjJhZGQNCi0gICAgZGVwX3ByZXYgICAgICAgICAgICBlcXUgICAgIDM4aCt6bGliMTIyMmFkZA0KLSAgICBkZXBfd19tYXNrICAgICAgICAgIGVxdSAgICAgMmNoK3psaWIxMjIyYWRkDQotICAgIGRlcF9nb29kX21hdGNoICAgICAgZXF1ICAgICA4NGgremxpYjEyMjJhZGQNCi0gICAgZGVwX21hdGNoX3N0YXJ0ICAgICBlcXUgICAgIDY4aCt6bGliMTIyMmFkZA0KLSAgICBkZXBfbG9va2FoZWFkICAgICAgIGVxdSAgICAgNmNoK3psaWIxMjIyYWRkDQotDQotDQotX1RFWFQgICAgICAgICAgICAgICAgICAgc2VnbWVudA0KLQ0KLUlGREVGIE5PVU5ERVJMSU5FDQotICAgICAgICAgICAgcHVibGljICBsb25nZXN0X21hdGNoDQotICAgICAgICAgICAgcHVibGljICBtYXRjaF9pbml0DQotRUxTRQ0KLSAgICAgICAgICAgIHB1YmxpYyAgX2xvbmdlc3RfbWF0Y2gNCi0gICAgICAgICAgICBwdWJsaWMgIF9tYXRjaF9pbml0DQotRU5ESUYNCi0NCi0gICAgTUFYX01BVENIICAgICAgICAgICBlcXUgICAgIDI1OA0KLSAgICBNSU5fTUFUQ0ggICAgICAgICAgIGVxdSAgICAgMw0KLSAgICBNSU5fTE9PS0FIRUFEICAgICAgIGVxdSAgICAgKE1BWF9NQVRDSCtNSU5fTUFUQ0grMSkNCi0NCi0NCi0NCi1NQVhfTUFUQ0ggICAgICAgZXF1ICAgICAyNTgNCi1NSU5fTUFUQ0ggICAgICAgZXF1ICAgICAzDQotTUlOX0xPT0tBSEVBRCAgIGVxdSAgICAgKE1BWF9NQVRDSCArIE1JTl9NQVRDSCArIDEpDQotTUFYX01BVENIXzhfICAgICBlcXUgICAgICgoTUFYX01BVENIICsgNykgQU5EIDBGRkYwaCkNCi0NCi0NCi07Ozsgc3RhY2sgZnJhbWUgb2Zmc2V0cw0KLQ0KLWNoYWlubGVud21hc2sgICBlcXUgIGVzcCArIDAgICAgOyBoaWdoIHdvcmQ6IGN1cnJlbnQgY2hhaW4gbGVuDQotICAgICAgICAgICAgICAgICAgICA7IGxvdyB3b3JkOiBzLT53bWFzaw0KLXdpbmRvdyAgICAgIGVxdSAgZXNwICsgNCAgICA7IGxvY2FsIGNvcHkgb2Ygcy0+d2luZG93DQotd2luZG93YmVzdGxlbiAgIGVxdSAgZXNwICsgOCAgICA7IHMtPndpbmRvdyArIGJlc3RsZW4NCi1zY2Fuc3RhcnQgICBlcXUgIGVzcCArIDE2ICAgOyBmaXJzdCB0d28gYnl0ZXMgb2Ygc3RyaW5nDQotc2NhbmVuZCAgICAgZXF1ICBlc3AgKyAxMiAgIDsgbGFzdCB0d28gYnl0ZXMgb2Ygc3RyaW5nDQotc2NhbmFsaWduICAgZXF1ICBlc3AgKyAyMCAgIDsgZHdvcmQtbWlzYWxpZ25tZW50IG9mIHN0cmluZw0KLW5pY2VtYXRjaCAgIGVxdSAgZXNwICsgMjQgICA7IGEgZ29vZCBlbm91Z2ggbWF0Y2ggc2l6ZQ0KLWJlc3RsZW4gICAgIGVxdSAgZXNwICsgMjggICA7IHNpemUgb2YgYmVzdCBtYXRjaCBzbyBmYXINCi1zY2FuICAgICAgICBlcXUgIGVzcCArIDMyICAgOyBwdHIgdG8gc3RyaW5nIHdhbnRpbmcgbWF0Y2gNCi0NCi1Mb2NhbFZhcnNTaXplICAgZXF1IDM2DQotOyAgIHNhdmVkIGVieCAgIGJ5dGUgZXNwICsgMzYNCi07ICAgc2F2ZWQgZWRpICAgYnl0ZSBlc3AgKyA0MA0KLTsgICBzYXZlZCBlc2kgICBieXRlIGVzcCArIDQ0DQotOyAgIHNhdmVkIGVicCAgIGJ5dGUgZXNwICsgNDgNCi07ICAgcmV0dXJuIGFkZHJlc3MgIGJ5dGUgZXNwICsgNTINCi1kZWZsYXRlc3RhdGUgICAgZXF1ICBlc3AgKyA1NiAgIDsgdGhlIGZ1bmN0aW9uIGFyZ3VtZW50cw0KLWN1cm1hdGNoICAgIGVxdSAgZXNwICsgNjANCi0NCi07OzsgT2Zmc2V0cyBmb3IgZmllbGRzIGluIHRoZSBkZWZsYXRlX3N0YXRlIHN0cnVjdHVyZS4gVGhlc2UgbnVtYmVycw0KLTs7OyBhcmUgY2FsY3VsYXRlZCBmcm9tIHRoZSBkZWZpbml0aW9uIG9mIGRlZmxhdGVfc3RhdGUsIHdpdGggdGhlDQotOzs7IGFzc3VtcHRpb24gdGhhdCB0aGUgY29tcGlsZXIgd2lsbCBkd29yZC1hbGlnbiB0aGUgZmllbGRzLiAoVGh1cywNCi07OzsgY2hhbmdpbmcgdGhlIGRlZmluaXRpb24gb2YgZGVmbGF0ZV9zdGF0ZSBjb3VsZCBlYXNpbHkgY2F1c2UgdGhpcw0KLTs7OyBwcm9ncmFtIHRvIGNyYXNoIGhvcnJpYmx5LCB3aXRob3V0IHNvIG11Y2ggYXMgYSB3YXJuaW5nIGF0DQotOzs7IGNvbXBpbGUgdGltZS4gU2lnaC4pDQotDQotZHNXU2l6ZSAgICAgZXF1IDM2K3psaWIxMjIyYWRkDQotZHNXTWFzayAgICAgZXF1IDQ0K3psaWIxMjIyYWRkDQotZHNXaW5kb3cgICAgZXF1IDQ4K3psaWIxMjIyYWRkDQotZHNQcmV2ICAgICAgZXF1IDU2K3psaWIxMjIyYWRkDQotZHNNYXRjaExlbiAgZXF1IDg4K3psaWIxMjIyYWRkDQotZHNQcmV2TWF0Y2ggZXF1IDkyK3psaWIxMjIyYWRkDQotZHNTdHJTdGFydCAgZXF1IDEwMCt6bGliMTIyMmFkZA0KLWRzTWF0Y2hTdGFydCAgICBlcXUgMTA0K3psaWIxMjIyYWRkDQotZHNMb29rYWhlYWQgZXF1IDEwOCt6bGliMTIyMmFkZA0KLWRzUHJldkxlbiAgIGVxdSAxMTIremxpYjEyMjJhZGQNCi1kc01heENoYWluTGVuICAgZXF1IDExNit6bGliMTIyMmFkZA0KLWRzR29vZE1hdGNoIGVxdSAxMzIremxpYjEyMjJhZGQNCi1kc05pY2VNYXRjaCBlcXUgMTM2K3psaWIxMjIyYWRkDQotDQotDQotOzs7IG1hdGNoNjg2LmFzbSAtLSBQZW50aXVtLVByby1vcHRpbWl6ZWQgdmVyc2lvbiBvZiBsb25nZXN0X21hdGNoKCkNCi07OzsgV3JpdHRlbiBmb3IgemxpYiAxLjEuMg0KLTs7OyBDb3B5cmlnaHQgKEMpIDE5OTggQnJpYW4gUmFpdGVyIDxicmVhZGJveEBtdXBwZXRsYWJzLmNvbT4NCi07OzsgWW91IGNhbiBsb29rIGF0IGh0dHA6Ly93d3cubXVwcGV0bGFicy5jb20vfmJyZWFkYm94L3NvZnR3YXJlL2Fzc2VtYmx5Lmh0bWwNCi07OzsNCi07Ow0KLTs7ICBUaGlzIHNvZnR3YXJlIGlzIHByb3ZpZGVkICdhcy1pcycsIHdpdGhvdXQgYW55IGV4cHJlc3Mgb3IgaW1wbGllZA0KLTs7ICB3YXJyYW50eS4gIEluIG5vIGV2ZW50IHdpbGwgdGhlIGF1dGhvcnMgYmUgaGVsZCBsaWFibGUgZm9yIGFueSBkYW1hZ2VzDQotOzsgIGFyaXNpbmcgZnJvbSB0aGUgdXNlIG9mIHRoaXMgc29mdHdhcmUuDQotOzsNCi07OyAgUGVybWlzc2lvbiBpcyBncmFudGVkIHRvIGFueW9uZSB0byB1c2UgdGhpcyBzb2Z0d2FyZSBmb3IgYW55IHB1cnBvc2UsDQotOzsgIGluY2x1ZGluZyBjb21tZXJjaWFsIGFwcGxpY2F0aW9ucywgYW5kIHRvIGFsdGVyIGl0IGFuZCByZWRpc3RyaWJ1dGUgaXQNCi07OyAgZnJlZWx5LCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgcmVzdHJpY3Rpb25zOg0KLTs7DQotOzsgIDEuIFRoZSBvcmlnaW4gb2YgdGhpcyBzb2Z0d2FyZSBtdXN0IG5vdCBiZSBtaXNyZXByZXNlbnRlZDsgeW91IG11c3Qgbm90DQotOzsgICAgIGNsYWltIHRoYXQgeW91IHdyb3RlIHRoZSBvcmlnaW5hbCBzb2Z0d2FyZS4gSWYgeW91IHVzZSB0aGlzIHNvZnR3YXJlDQotOzsgICAgIGluIGEgcHJvZHVjdCwgYW4gYWNrbm93bGVkZ21lbnQgaW4gdGhlIHByb2R1Y3QgZG9jdW1lbnRhdGlvbiB3b3VsZCBiZQ0KLTs7ICAgICBhcHByZWNpYXRlZCBidXQgaXMgbm90IHJlcXVpcmVkLg0KLTs7ICAyLiBBbHRlcmVkIHNvdXJjZSB2ZXJzaW9ucyBtdXN0IGJlIHBsYWlubHkgbWFya2VkIGFzIHN1Y2gsIGFuZCBtdXN0IG5vdCBiZQ0KLTs7ICAgICBtaXNyZXByZXNlbnRlZCBhcyBiZWluZyB0aGUgb3JpZ2luYWwgc29mdHdhcmUNCi07OyAgMy4gVGhpcyBub3RpY2UgbWF5IG5vdCBiZSByZW1vdmVkIG9yIGFsdGVyZWQgZnJvbSBhbnkgc291cmNlIGRpc3RyaWJ1dGlvbi4NCi07Ow0KLQ0KLTtHTE9CQUwgX2xvbmdlc3RfbWF0Y2gsIF9tYXRjaF9pbml0DQotDQotDQotO1NFQ1RJT04gICAgLnRleHQNCi0NCi07OzsgdUludCBsb25nZXN0X21hdGNoKGRlZmxhdGVfc3RhdGUgKmRlZmxhdGVzdGF0ZSwgSVBvcyBjdXJtYXRjaCkNCi0NCi07X2xvbmdlc3RfbWF0Y2g6DQotICAgIElGREVGIE5PVU5ERVJMSU5FDQotICAgIGxvbmdlc3RfbWF0Y2ggICAgICAgcHJvYyBuZWFyDQotICAgIEVMU0UNCi0gICAgX2xvbmdlc3RfbWF0Y2ggICAgICBwcm9jIG5lYXINCi0gICAgRU5ESUYNCi0uRlBPICg5LCA0LCAwLCAwLCAxLCAwKQ0KLQ0KLTs7OyBTYXZlIHJlZ2lzdGVycyB0aGF0IHRoZSBjb21waWxlciBtYXkgYmUgdXNpbmcsIGFuZCBhZGp1c3QgZXNwIHRvDQotOzs7IG1ha2Ugcm9vbSBmb3Igb3VyIHN0YWNrIGZyYW1lLg0KLQ0KLSAgICAgICAgcHVzaCAgICBlYnANCi0gICAgICAgIHB1c2ggICAgZWRpDQotICAgICAgICBwdXNoICAgIGVzaQ0KLSAgICAgICAgcHVzaCAgICBlYngNCi0gICAgICAgIHN1YiBlc3AsIExvY2FsVmFyc1NpemUNCi0NCi07OzsgUmV0cmlldmUgdGhlIGZ1bmN0aW9uIGFyZ3VtZW50cy4gZWN4IHdpbGwgaG9sZCBjdXJfbWF0Y2gNCi07OzsgdGhyb3VnaG91dCB0aGUgZW50aXJlIGZ1bmN0aW9uLiBlZHggd2lsbCBob2xkIHRoZSBwb2ludGVyIHRvIHRoZQ0KLTs7OyBkZWZsYXRlX3N0YXRlIHN0cnVjdHVyZSBkdXJpbmcgdGhlIGZ1bmN0aW9uJ3Mgc2V0dXAgKGJlZm9yZQ0KLTs7OyBlbnRlcmluZyB0aGUgbWFpbiBsb29wLg0KLQ0KLSAgICAgICAgbW92IGVkeCwgW2RlZmxhdGVzdGF0ZV0NCi0gICAgICAgIG1vdiBlY3gsIFtjdXJtYXRjaF0NCi0NCi07OzsgdUludCB3bWFzayA9IHMtPndfbWFzazsNCi07OzsgdW5zaWduZWQgY2hhaW5fbGVuZ3RoID0gcy0+bWF4X2NoYWluX2xlbmd0aDsNCi07OzsgaWYgKHMtPnByZXZfbGVuZ3RoID49IHMtPmdvb2RfbWF0Y2gpIHsNCi07OzsgICAgIGNoYWluX2xlbmd0aCA+Pj0gMjsNCi07OzsgfQ0KLQ0KLSAgICAgICAgbW92IGVheCwgW2VkeCArIGRzUHJldkxlbl0NCi0gICAgICAgIG1vdiBlYngsIFtlZHggKyBkc0dvb2RNYXRjaF0NCi0gICAgICAgIGNtcCBlYXgsIGVieA0KLSAgICAgICAgbW92IGVheCwgW2VkeCArIGRzV01hc2tdDQotICAgICAgICBtb3YgZWJ4LCBbZWR4ICsgZHNNYXhDaGFpbkxlbl0NCi0gICAgICAgIGpsICBMYXN0TWF0Y2hHb29kDQotICAgICAgICBzaHIgZWJ4LCAyDQotTGFzdE1hdGNoR29vZDoNCi0NCi07OzsgY2hhaW5sZW4gaXMgZGVjcmVtZW50ZWQgb25jZSBiZWZvcmVoYW5kIHNvIHRoYXQgdGhlIGZ1bmN0aW9uIGNhbg0KLTs7OyB1c2UgdGhlIHNpZ24gZmxhZyBpbnN0ZWFkIG9mIHRoZSB6ZXJvIGZsYWcgZm9yIHRoZSBleGl0IHRlc3QuDQotOzs7IEl0IGlzIHRoZW4gc2hpZnRlZCBpbnRvIHRoZSBoaWdoIHdvcmQsIHRvIG1ha2Ugcm9vbSBmb3IgdGhlIHdtYXNrDQotOzs7IHZhbHVlLCB3aGljaCBpdCB3aWxsIGFsd2F5cyBhY2NvbXBhbnkuDQotDQotICAgICAgICBkZWMgZWJ4DQotICAgICAgICBzaGwgZWJ4LCAxNg0KLSAgICAgICAgb3IgIGVieCwgZWF4DQotICAgICAgICBtb3YgW2NoYWlubGVud21hc2tdLCBlYngNCi0NCi07OzsgaWYgKCh1SW50KW5pY2VfbWF0Y2ggPiBzLT5sb29rYWhlYWQpIG5pY2VfbWF0Y2ggPSBzLT5sb29rYWhlYWQ7DQotDQotICAgICAgICBtb3YgZWF4LCBbZWR4ICsgZHNOaWNlTWF0Y2hdDQotICAgICAgICBtb3YgZWJ4LCBbZWR4ICsgZHNMb29rYWhlYWRdDQotICAgICAgICBjbXAgZWJ4LCBlYXgNCi0gICAgICAgIGpsICBMb29rYWhlYWRMZXNzDQotICAgICAgICBtb3YgZWJ4LCBlYXgNCi1Mb29rYWhlYWRMZXNzOiAgbW92IFtuaWNlbWF0Y2hdLCBlYngNCi0NCi07OzsgcmVnaXN0ZXIgQnl0ZWYgKnNjYW4gPSBzLT53aW5kb3cgKyBzLT5zdHJzdGFydDsNCi0NCi0gICAgICAgIG1vdiBlc2ksIFtlZHggKyBkc1dpbmRvd10NCi0gICAgICAgIG1vdiBbd2luZG93XSwgZXNpDQotICAgICAgICBtb3YgZWJwLCBbZWR4ICsgZHNTdHJTdGFydF0NCi0gICAgICAgIGxlYSBlZGksIFtlc2kgKyBlYnBdDQotICAgICAgICBtb3YgW3NjYW5dLCBlZGkNCi0NCi07OzsgRGV0ZXJtaW5lIGhvdyBtYW55IGJ5dGVzIHRoZSBzY2FuIHB0ciBpcyBvZmYgZnJvbSBiZWluZw0KLTs7OyBkd29yZC1hbGlnbmVkLg0KLQ0KLSAgICAgICAgbW92IGVheCwgZWRpDQotICAgICAgICBuZWcgZWF4DQotICAgICAgICBhbmQgZWF4LCAzDQotICAgICAgICBtb3YgW3NjYW5hbGlnbl0sIGVheA0KLQ0KLTs7OyBJUG9zIGxpbWl0ID0gcy0+c3Ryc3RhcnQgPiAoSVBvcylNQVhfRElTVChzKSA/DQotOzs7ICAgICBzLT5zdHJzdGFydCAtIChJUG9zKU1BWF9ESVNUKHMpIDogTklMOw0KLQ0KLSAgICAgICAgbW92IGVheCwgW2VkeCArIGRzV1NpemVdDQotICAgICAgICBzdWIgZWF4LCBNSU5fTE9PS0FIRUFEDQotICAgICAgICBzdWIgZWJwLCBlYXgNCi0gICAgICAgIGpnICBMaW1pdFBvc2l0aXZlDQotICAgICAgICB4b3IgZWJwLCBlYnANCi1MaW1pdFBvc2l0aXZlOg0KLQ0KLTs7OyBpbnQgYmVzdF9sZW4gPSBzLT5wcmV2X2xlbmd0aDsNCi0NCi0gICAgICAgIG1vdiBlYXgsIFtlZHggKyBkc1ByZXZMZW5dDQotICAgICAgICBtb3YgW2Jlc3RsZW5dLCBlYXgNCi0NCi07OzsgU3RvcmUgdGhlIHN1bSBvZiBzLT53aW5kb3cgKyBiZXN0X2xlbiBpbiBlc2kgbG9jYWxseSwgYW5kIGluIGVzaS4NCi0NCi0gICAgICAgIGFkZCBlc2ksIGVheA0KLSAgICAgICAgbW92IFt3aW5kb3diZXN0bGVuXSwgZXNpDQotDQotOzs7IHJlZ2lzdGVyIHVzaCBzY2FuX3N0YXJ0ID0gKih1c2hmKilzY2FuOw0KLTs7OyByZWdpc3RlciB1c2ggc2Nhbl9lbmQgICA9ICoodXNoZiopKHNjYW4rYmVzdF9sZW4tMSk7DQotOzs7IFBvc2YgKnByZXYgPSBzLT5wcmV2Ow0KLQ0KLSAgICAgICAgbW92enggICBlYngsIHdvcmQgcHRyIFtlZGldDQotICAgICAgICBtb3YgW3NjYW5zdGFydF0sIGVieA0KLSAgICAgICAgbW92enggICBlYngsIHdvcmQgcHRyIFtlZGkgKyBlYXggLSAxXQ0KLSAgICAgICAgbW92IFtzY2FuZW5kXSwgZWJ4DQotICAgICAgICBtb3YgZWRpLCBbZWR4ICsgZHNQcmV2XQ0KLQ0KLTs7OyBKdW1wIGludG8gdGhlIG1haW4gbG9vcC4NCi0NCi0gICAgICAgIG1vdiBlZHgsIFtjaGFpbmxlbndtYXNrXQ0KLSAgICAgICAgam1wIHNob3J0IExvb3BFbnRyeQ0KLQ0KLWFsaWduIDQNCi0NCi07OzsgZG8gew0KLTs7OyAgICAgbWF0Y2ggPSBzLT53aW5kb3cgKyBjdXJfbWF0Y2g7DQotOzs7ICAgICBpZiAoKih1c2hmKikobWF0Y2grYmVzdF9sZW4tMSkgIT0gc2Nhbl9lbmQgfHwNCi07OzsgICAgICAgICAqKHVzaGYqKW1hdGNoICE9IHNjYW5fc3RhcnQpIGNvbnRpbnVlOw0KLTs7OyAgICAgWy4uLl0NCi07OzsgfSB3aGlsZSAoKGN1cl9tYXRjaCA9IHByZXZbY3VyX21hdGNoICYgd21hc2tdKSA+IGxpbWl0DQotOzs7ICAgICAgICAgICYmIC0tY2hhaW5fbGVuZ3RoICE9IDApOw0KLTs7Ow0KLTs7OyBIZXJlIGlzIHRoZSBpbm5lciBsb29wIG9mIHRoZSBmdW5jdGlvbi4gVGhlIGZ1bmN0aW9uIHdpbGwgc3BlbmQgdGhlDQotOzs7IG1ham9yaXR5IG9mIGl0cyB0aW1lIGluIHRoaXMgbG9vcCwgYW5kIG1ham9yaXR5IG9mIHRoYXQgdGltZSB3aWxsDQotOzs7IGJlIHNwZW50IGluIHRoZSBmaXJzdCB0ZW4gaW5zdHJ1Y3Rpb25zLg0KLTs7Ow0KLTs7OyBXaXRoaW4gdGhpcyBsb29wOg0KLTs7OyBlYnggPSBzY2FuZW5kDQotOzs7IGVjeCA9IGN1cm1hdGNoDQotOzs7IGVkeCA9IGNoYWlubGVud21hc2sgLSBpLmUuLCAoKGNoYWlubGVuIDw8IDE2KSB8IHdtYXNrKQ0KLTs7OyBlc2kgPSB3aW5kb3diZXN0bGVuIC0gaS5lLiwgKHdpbmRvdyArIGJlc3RsZW4pDQotOzs7IGVkaSA9IHByZXYNCi07OzsgZWJwID0gbGltaXQNCi0NCi1Mb29rdXBMb29wOg0KLSAgICAgICAgYW5kIGVjeCwgZWR4DQotICAgICAgICBtb3Z6eCAgIGVjeCwgd29yZCBwdHIgW2VkaSArIGVjeCoyXQ0KLSAgICAgICAgY21wIGVjeCwgZWJwDQotICAgICAgICBqYmUgTGVhdmVOb3cNCi0gICAgICAgIHN1YiBlZHgsIDAwMDEwMDAwaA0KLSAgICAgICAganMgIExlYXZlTm93DQotTG9vcEVudHJ5OiAgbW92enggICBlYXgsIHdvcmQgcHRyIFtlc2kgKyBlY3ggLSAxXQ0KLSAgICAgICAgY21wIGVheCwgZWJ4DQotICAgICAgICBqbnogTG9va3VwTG9vcA0KLSAgICAgICAgbW92IGVheCwgW3dpbmRvd10NCi0gICAgICAgIG1vdnp4ICAgZWF4LCB3b3JkIHB0ciBbZWF4ICsgZWN4XQ0KLSAgICAgICAgY21wIGVheCwgW3NjYW5zdGFydF0NCi0gICAgICAgIGpueiBMb29rdXBMb29wDQotDQotOzs7IFN0b3JlIHRoZSBjdXJyZW50IHZhbHVlIG9mIGNoYWlubGVuLg0KLQ0KLSAgICAgICAgbW92IFtjaGFpbmxlbndtYXNrXSwgZWR4DQotDQotOzs7IFBvaW50IGVkaSB0byB0aGUgc3RyaW5nIHVuZGVyIHNjcnV0aW55LCBhbmQgZXNpIHRvIHRoZSBzdHJpbmcgd2UNCi07OzsgYXJlIGhvcGluZyB0byBtYXRjaCBpdCB1cCB3aXRoLiBJbiBhY3R1YWxpdHksIGVzaSBhbmQgZWRpIGFyZQ0KLTs7OyBib3RoIHBvaW50ZWQgKE1BWF9NQVRDSF84IC0gc2NhbmFsaWduKSBieXRlcyBhaGVhZCwgYW5kIGVkeCBpcw0KLTs7OyBpbml0aWFsaXplZCB0byAtKE1BWF9NQVRDSF84IC0gc2NhbmFsaWduKS4NCi0NCi0gICAgICAgIG1vdiBlc2ksIFt3aW5kb3ddDQotICAgICAgICBtb3YgZWRpLCBbc2Nhbl0NCi0gICAgICAgIGFkZCBlc2ksIGVjeA0KLSAgICAgICAgbW92IGVheCwgW3NjYW5hbGlnbl0NCi0gICAgICAgIG1vdiBlZHgsIDBmZmZmZmVmOGg7IC0oTUFYX01BVENIXzgpDQotICAgICAgICBsZWEgZWRpLCBbZWRpICsgZWF4ICsgMDEwOGhdIDtNQVhfTUFUQ0hfOF0NCi0gICAgICAgIGxlYSBlc2ksIFtlc2kgKyBlYXggKyAwMTA4aF0gO01BWF9NQVRDSF84XQ0KLQ0KLTs7OyBUZXN0IHRoZSBzdHJpbmdzIGZvciBlcXVhbGl0eSwgOCBieXRlcyBhdCBhIHRpbWUuIEF0IHRoZSBlbmQsDQotOzs7IGFkanVzdCBlZHggc28gdGhhdCBpdCBpcyBvZmZzZXQgdG8gdGhlIGV4YWN0IGJ5dGUgdGhhdCBtaXNtYXRjaGVkLg0KLTs7Ow0KLTs7OyBXZSBhbHJlYWR5IGtub3cgYXQgdGhpcyBwb2ludCB0aGF0IHRoZSBmaXJzdCB0aHJlZSBieXRlcyBvZiB0aGUNCi07Ozsgc3RyaW5ncyBtYXRjaCBlYWNoIG90aGVyLCBhbmQgdGhleSBjYW4gYmUgc2FmZWx5IHBhc3NlZCBvdmVyIGJlZm9yZQ0KLTs7OyBzdGFydGluZyB0aGUgY29tcGFyZSBsb29wLiBTbyB3aGF0IHRoaXMgY29kZSBkb2VzIGlzIHNraXAgb3ZlciAwLTMNCi07OzsgYnl0ZXMsIGFzIG11Y2ggYXMgbmVjZXNzYXJ5IGluIG9yZGVyIHRvIGR3b3JkLWFsaWduIHRoZSBlZGkNCi07OzsgcG9pbnRlci4gKGVzaSB3aWxsIHN0aWxsIGJlIG1pc2FsaWduZWQgdGhyZWUgdGltZXMgb3V0IG9mIGZvdXIuKQ0KLTs7Ow0KLTs7OyBJdCBzaG91bGQgYmUgY29uZmVzc2VkIHRoYXQgdGhpcyBsb29wIHVzdWFsbHkgZG9lcyBub3QgcmVwcmVzZW50DQotOzs7IG11Y2ggb2YgdGhlIHRvdGFsIHJ1bm5pbmcgdGltZS4gUmVwbGFjaW5nIGl0IHdpdGggYSBtb3JlDQotOzs7IHN0cmFpZ2h0Zm9yd2FyZCAicmVwIGNtcHNiIiB3b3VsZCBub3QgZHJhc3RpY2FsbHkgZGVncmFkZQ0KLTs7OyBwZXJmb3JtYW5jZS4NCi0NCi1Mb29wQ21wczoNCi0gICAgICAgIG1vdiBlYXgsIFtlc2kgKyBlZHhdDQotICAgICAgICB4b3IgZWF4LCBbZWRpICsgZWR4XQ0KLSAgICAgICAgam56IExlYXZlTG9vcENtcHMNCi0gICAgICAgIG1vdiBlYXgsIFtlc2kgKyBlZHggKyA0XQ0KLSAgICAgICAgeG9yIGVheCwgW2VkaSArIGVkeCArIDRdDQotICAgICAgICBqbnogTGVhdmVMb29wQ21wczQNCi0gICAgICAgIGFkZCBlZHgsIDgNCi0gICAgICAgIGpueiBMb29wQ21wcw0KLSAgICAgICAgam1wIHNob3J0IExlbk1heGltdW0NCi1MZWF2ZUxvb3BDbXBzNDogYWRkIGVkeCwgNA0KLUxlYXZlTG9vcENtcHM6ICB0ZXN0ICAgIGVheCwgMDAwMEZGRkZoDQotICAgICAgICBqbnogTGVuTG93ZXINCi0gICAgICAgIGFkZCBlZHgsICAyDQotICAgICAgICBzaHIgZWF4LCAxNg0KLUxlbkxvd2VyOiAgIHN1YiBhbCwgMQ0KLSAgICAgICAgYWRjIGVkeCwgMA0KLQ0KLTs7OyBDYWxjdWxhdGUgdGhlIGxlbmd0aCBvZiB0aGUgbWF0Y2guIElmIGl0IGlzIGxvbmdlciB0aGFuIE1BWF9NQVRDSCwNCi07OzsgdGhlbiBhdXRvbWF0aWNhbGx5IGFjY2VwdCBpdCBhcyB0aGUgYmVzdCBwb3NzaWJsZSBtYXRjaCBhbmQgbGVhdmUuDQotDQotICAgICAgICBsZWEgZWF4LCBbZWRpICsgZWR4XQ0KLSAgICAgICAgbW92IGVkaSwgW3NjYW5dDQotICAgICAgICBzdWIgZWF4LCBlZGkNCi0gICAgICAgIGNtcCBlYXgsIE1BWF9NQVRDSA0KLSAgICAgICAgamdlIExlbk1heGltdW0NCi0NCi07OzsgSWYgdGhlIGxlbmd0aCBvZiB0aGUgbWF0Y2ggaXMgbm90IGxvbmdlciB0aGFuIHRoZSBiZXN0IG1hdGNoIHdlDQotOzs7IGhhdmUgc28gZmFyLCB0aGVuIGZvcmdldCBpdCBhbmQgcmV0dXJuIHRvIHRoZSBsb29rdXAgbG9vcC4NCi0NCi0gICAgICAgIG1vdiBlZHgsIFtkZWZsYXRlc3RhdGVdDQotICAgICAgICBtb3YgZWJ4LCBbYmVzdGxlbl0NCi0gICAgICAgIGNtcCBlYXgsIGVieA0KLSAgICAgICAgamcgIExvbmdlck1hdGNoDQotICAgICAgICBtb3YgZXNpLCBbd2luZG93YmVzdGxlbl0NCi0gICAgICAgIG1vdiBlZGksIFtlZHggKyBkc1ByZXZdDQotICAgICAgICBtb3YgZWJ4LCBbc2NhbmVuZF0NCi0gICAgICAgIG1vdiBlZHgsIFtjaGFpbmxlbndtYXNrXQ0KLSAgICAgICAgam1wIExvb2t1cExvb3ANCi0NCi07OzsgICAgICAgICBzLT5tYXRjaF9zdGFydCA9IGN1cl9tYXRjaDsNCi07OzsgICAgICAgICBiZXN0X2xlbiA9IGxlbjsNCi07OzsgICAgICAgICBpZiAobGVuID49IG5pY2VfbWF0Y2gpIGJyZWFrOw0KLTs7OyAgICAgICAgIHNjYW5fZW5kID0gKih1c2hmKikoc2NhbitiZXN0X2xlbi0xKTsNCi0NCi1Mb25nZXJNYXRjaDogICAgbW92IGVieCwgW25pY2VtYXRjaF0NCi0gICAgICAgIG1vdiBbYmVzdGxlbl0sIGVheA0KLSAgICAgICAgbW92IFtlZHggKyBkc01hdGNoU3RhcnRdLCBlY3gNCi0gICAgICAgIGNtcCBlYXgsIGVieA0KLSAgICAgICAgamdlIExlYXZlTm93DQotICAgICAgICBtb3YgZXNpLCBbd2luZG93XQ0KLSAgICAgICAgYWRkIGVzaSwgZWF4DQotICAgICAgICBtb3YgW3dpbmRvd2Jlc3RsZW5dLCBlc2kNCi0gICAgICAgIG1vdnp4ICAgZWJ4LCB3b3JkIHB0ciBbZWRpICsgZWF4IC0gMV0NCi0gICAgICAgIG1vdiBlZGksIFtlZHggKyBkc1ByZXZdDQotICAgICAgICBtb3YgW3NjYW5lbmRdLCBlYngNCi0gICAgICAgIG1vdiBlZHgsIFtjaGFpbmxlbndtYXNrXQ0KLSAgICAgICAgam1wIExvb2t1cExvb3ANCi0NCi07OzsgQWNjZXB0IHRoZSBjdXJyZW50IHN0cmluZywgd2l0aCB0aGUgbWF4aW11bSBwb3NzaWJsZSBsZW5ndGguDQotDQotTGVuTWF4aW11bTogbW92IGVkeCwgW2RlZmxhdGVzdGF0ZV0NCi0gICAgICAgIG1vdiBkd29yZCBwdHIgW2Jlc3RsZW5dLCBNQVhfTUFUQ0gNCi0gICAgICAgIG1vdiBbZWR4ICsgZHNNYXRjaFN0YXJ0XSwgZWN4DQotDQotOzs7IGlmICgodUludCliZXN0X2xlbiA8PSBzLT5sb29rYWhlYWQpIHJldHVybiAodUludCliZXN0X2xlbjsNCi07OzsgcmV0dXJuIHMtPmxvb2thaGVhZDsNCi0NCi1MZWF2ZU5vdzoNCi0gICAgICAgIG1vdiBlZHgsIFtkZWZsYXRlc3RhdGVdDQotICAgICAgICBtb3YgZWJ4LCBbYmVzdGxlbl0NCi0gICAgICAgIG1vdiBlYXgsIFtlZHggKyBkc0xvb2thaGVhZF0NCi0gICAgICAgIGNtcCBlYngsIGVheA0KLSAgICAgICAgamcgIExvb2thaGVhZFJldA0KLSAgICAgICAgbW92IGVheCwgZWJ4DQotTG9va2FoZWFkUmV0Og0KLQ0KLTs7OyBSZXN0b3JlIHRoZSBzdGFjayBhbmQgcmV0dXJuIGZyb20gd2hlbmNlIHdlIGNhbWUuDQotDQotICAgICAgICBhZGQgZXNwLCBMb2NhbFZhcnNTaXplDQotICAgICAgICBwb3AgZWJ4DQotICAgICAgICBwb3AgZXNpDQotICAgICAgICBwb3AgZWRpDQotICAgICAgICBwb3AgZWJwDQotDQotICAgICAgICByZXQNCi07IHBsZWFzZSBkb24ndCByZW1vdmUgdGhpcyBzdHJpbmcgIQ0KLTsgWW91ciBjYW4gZnJlZWx5IHVzZSBtYXRjaDY4NiBpbiBhbnkgZnJlZSBvciBjb21tZXJjaWFsIGFwcCBpZiB5b3UgZG9uJ3QgcmVtb3ZlIHRoZSBzdHJpbmcgaW4gdGhlIGJpbmFyeSENCi0gICAgZGIgICAgIDBkaCwwYWgsImFzbTY4NiB3aXRoIG1hc20sIG9wdGltaXNlZCBhc3NlbWJseSBjb2RlIGZyb20gQnJpYW4gUmFpdGVyLCB3cml0dGVuIDE5OTgiLDBkaCwwYWgNCi0NCi0NCi0gICAgSUZERUYgTk9VTkRFUkxJTkUNCi0gICAgbG9uZ2VzdF9tYXRjaCAgICAgICBlbmRwDQotICAgIEVMU0UNCi0gICAgX2xvbmdlc3RfbWF0Y2ggICAgICBlbmRwDQotICAgIEVORElGDQotDQotICAgIElGREVGIE5PVU5ERVJMSU5FDQotICAgIG1hdGNoX2luaXQgICAgICBwcm9jIG5lYXINCi0gICAgICAgICAgICAgICAgICAgIHJldA0KLSAgICBtYXRjaF9pbml0ICAgICAgZW5kcA0KLSAgICBFTFNFDQotICAgIF9tYXRjaF9pbml0ICAgICBwcm9jIG5lYXINCi0gICAgICAgICAgICAgICAgICAgIHJldA0KLSAgICBfbWF0Y2hfaW5pdCAgICAgZW5kcA0KLSAgICBFTkRJRg0KLQ0KLQ0KLV9URVhUICAgZW5kcw0KLWVuZA0KZGlmZiAtLWdpdCBhL3NyYy9jb250cmliL21hc214ODYvcmVhZG1lLnR4dCBiL3NyYy9jb250cmliL21hc214ODYvcmVhZG1lLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzI3MWY3Mi4uMDAwMDAwMAotLS0gYS9zcmMvY29udHJpYi9tYXNteDg2L3JlYWRtZS50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwyNyArMCwwIEBACi0NCi1TdW1tYXJ5DQotLS0tLS0tLQ0KLVRoaXMgZGlyZWN0b3J5IGNvbnRhaW5zIEFTTSBpbXBsZW1lbnRhdGlvbnMgb2YgdGhlIGZ1bmN0aW9ucw0KLWxvbmdlc3RfbWF0Y2goKSBhbmQgaW5mbGF0ZV9mYXN0KCkuDQotDQotDQotVXNlIGluc3RydWN0aW9ucw0KLS0tLS0tLS0tLS0tLS0tLS0NCi1Bc3NlbWJsZSB1c2luZyBNQVNNLCBhbmQgY29weSB0aGUgb2JqZWN0IGZpbGVzIGludG8gdGhlIHpsaWIgc291cmNlDQotZGlyZWN0b3J5LCB0aGVuIHJ1biB0aGUgYXBwcm9wcmlhdGUgbWFrZWZpbGUsIGFzIHN1Z2dlc3RlZCBiZWxvdy4gIFlvdSBjYW4NCi1kb253bG9hZCBNQVNNIGZyb20gaGVyZToNCi0NCi0gICAgaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL2Rvd25sb2Fkcy9kZXRhaWxzLmFzcHg/ZGlzcGxheWxhbmc9ZW4mRmFtaWx5SUQ9N2ExYzlkYTAtMDUxMC00NGEyLWIwNDItN2VmMzcwNTMwYzY0DQotDQotWW91IGNhbiBhbHNvIGdldCBvYmplY3RzIGZpbGVzIGhlcmU6DQotDQotICAgIGh0dHA6Ly93d3cud2luaW1hZ2UuY29tL3pMaWJEbGwvemxpYjEyNF9tYXNtX29iai56aXANCi0NCi1CdWlsZCBpbnN0cnVjdGlvbnMNCi0tLS0tLS0tLS0tLS0tLS0tLS0NCi0qIFdpdGggTWljcm9zb2Z0IEMgYW5kIE1BU006DQotbm1ha2UgLWYgd2luMzIvTWFrZWZpbGUubXNjIExPQz0iLURBU01WIC1EQVNNSU5GIiBPQkpBPSJtYXRjaDY4Ni5vYmogaW5mZmFzMzIub2JqIg0KLQ0KLSogV2l0aCBCb3JsYW5kIEMgYW5kIFRBU006DQotbWFrZSAtZiB3aW4zMi9NYWtlZmlsZS5ib3IgTE9DQUxfWkxJQj0iLURBU01WIC1EQVNNSU5GIiBPQkpBPSJtYXRjaDY4Ni5vYmogaW5mZmFzMzIub2JqIiBPQkpQQT0iK21hdGNoNjg2Yy5vYmorbWF0Y2g2ODYub2JqK2luZmZhczMyLm9iaiINCi0NCmRpZmYgLS1naXQgYS9zcmMvY29udHJpYi9taW5pemlwL01ha2VmaWxlIGIvc3JjL2NvbnRyaWIvbWluaXppcC9NYWtlZmlsZQppbmRleCA4NGVhYWQyLi5hYWM3NmUwIDEwMDY0NAotLS0gYS9zcmMvY29udHJpYi9taW5pemlwL01ha2VmaWxlCisrKyBiL3NyYy9jb250cmliL21pbml6aXAvTWFrZWZpbGUKQEAgLTEsNSArMSw1IEBACiBDQz1jYwotQ0ZMQUdTPS1PIC1JLi4vLi4KK0NGTEFHUyA6PSAkKENGTEFHUykgLU8gLUkuLi8uLgogCiBVTlpfT0JKUyA9IG1pbml1bnoubyB1bnppcC5vIGlvYXBpLm8gLi4vLi4vbGliei5hCiBaSVBfT0JKUyA9IG1pbml6aXAubyB6aXAubyAgIGlvYXBpLm8gLi4vLi4vbGliei5hCkBAIC0xNiwxMCArMTYsMTQgQEAKIAkkKENDKSAkKENGTEFHUykgLW8gJEAgJChaSVBfT0JKUykKIAogdGVzdDoJbWluaXVueiBtaW5pemlwCi0JLi9taW5pemlwIHRlc3QgcmVhZG1lLnR4dAorCUBybSAtZiB0ZXN0LioKKwlAZWNobyBoZWxsbyBoZWxsbyBoZWxsbyA+IHRlc3QudHh0CisJLi9taW5pemlwIHRlc3QgdGVzdC50eHQKIAkuL21pbml1bnogLWwgdGVzdC56aXAKLQltdiByZWFkbWUudHh0IHJlYWRtZS5vbGQKKwlAbXYgdGVzdC50eHQgdGVzdC5vbGQKIAkuL21pbml1bnogdGVzdC56aXAKKwlAY21wIHRlc3QudHh0IHRlc3Qub2xkCisJQHJtIC1mIHRlc3QuKgogCiBjbGVhbjoKLQkvYmluL3JtIC1mICoubyAqfiBtaW5pemlwIG1pbml1bnoKKwkvYmluL3JtIC1mICoubyAqfiBtaW5pemlwIG1pbml1bnogdGVzdC4qCmRpZmYgLS1naXQgYS9zcmMvY29udHJpYi9taW5pemlwL2NvbmZpZ3VyZS5hYyBiL3NyYy9jb250cmliL21pbml6aXAvY29uZmlndXJlLmFjCmluZGV4IDgyN2E0ZTAuLmJmZjMwMGIgMTAwNjQ0Ci0tLSBhL3NyYy9jb250cmliL21pbml6aXAvY29uZmlndXJlLmFjCisrKyBiL3NyYy9jb250cmliL21pbml6aXAvY29uZmlndXJlLmFjCkBAIC0xLDcgKzEsNyBAQAogIyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSotIEF1dG9jb25mIC0qLQogIyBQcm9jZXNzIHRoaXMgZmlsZSB3aXRoIGF1dG9jb25mIHRvIHByb2R1Y2UgYSBjb25maWd1cmUgc2NyaXB0LgogCi1BQ19JTklUKFttaW5pemlwXSwgWzEuMi44XSwgW2J1Z3ppbGxhLnJlZGhhdC5jb21dKQorQUNfSU5JVChbbWluaXppcF0sIFsxLjIuMTNdLCBbYnVnemlsbGEucmVkaGF0LmNvbV0pCiBBQ19DT05GSUdfU1JDRElSKFttaW5pemlwLmNdKQogQU1fSU5JVF9BVVRPTUFLRShbZm9yZWlnbl0pCiBMVF9JTklUCmRpZmYgLS1naXQgYS9zcmMvY29udHJpYi9taW5pemlwL2NyeXB0LmggYi9zcmMvY29udHJpYi9taW5pemlwL2NyeXB0LmgKaW5kZXggMWU5ZTgyMC4uMWNjNDFmMSAxMDA2NDQKLS0tIGEvc3JjL2NvbnRyaWIvbWluaXppcC9jcnlwdC5oCisrKyBiL3NyYy9jb250cmliL21pbml6aXAvY3J5cHQuaApAQCAtMzgsNiArMzgsNyBAQAogICAgICAgICAgICAgICAgICAgICAgKiB1bnByZWRpY3RhYmxlIG1hbm5lciBvbiAxNi1iaXQgc3lzdGVtczsgbm90IGEgcHJvYmxlbQogICAgICAgICAgICAgICAgICAgICAgKiB3aXRoIGFueSBrbm93biBjb21waWxlciBzbyBmYXIsIHRob3VnaCAqLwogCisgICAgKHZvaWQpcGNyY18zMl90YWI7CiAgICAgdGVtcCA9ICgodW5zaWduZWQpKCoocGtleXMrMikpICYgMHhmZmZmKSB8IDI7CiAgICAgcmV0dXJuIChpbnQpKCgodGVtcCAqICh0ZW1wIF4gMSkpID4+IDgpICYgMHhmZik7CiB9CkBAIC03NywyNCArNzgsMjQgQEAKICAgICAodXBkYXRlX2tleXMocGtleXMscGNyY18zMl90YWIsYyBePSBkZWNyeXB0X2J5dGUocGtleXMscGNyY18zMl90YWIpKSkKIAogI2RlZmluZSB6ZW5jb2RlKHBrZXlzLHBjcmNfMzJfdGFiLGMsdCkgXAotICAgICh0PWRlY3J5cHRfYnl0ZShwa2V5cyxwY3JjXzMyX3RhYiksIHVwZGF0ZV9rZXlzKHBrZXlzLHBjcmNfMzJfdGFiLGMpLCB0XihjKSkKKyAgICAodD1kZWNyeXB0X2J5dGUocGtleXMscGNyY18zMl90YWIpLCB1cGRhdGVfa2V5cyhwa2V5cyxwY3JjXzMyX3RhYixjKSwgKEJ5dGUpdF4oYykpCiAKICNpZmRlZiBJTkNMVURFQ1JZUFRJTkdDT0RFX0lGQ1JZUFRBTExPV0VECiAKICNkZWZpbmUgUkFORF9IRUFEX0xFTiAgMTIKICAgIC8qICJsYXN0IHJlc29ydCIgc291cmNlIGZvciBzZWNvbmQgcGFydCBvZiBjcnlwdCBzZWVkIHBhdHRlcm4gKi8KICMgIGlmbmRlZiBaQ1JfU0VFRDIKLSMgICAgZGVmaW5lIFpDUl9TRUVEMiAzMTQxNTkyNjU0VUwgICAgIC8qIHVzZSBQSSBhcyBkZWZhdWx0IHBhdHRlcm4gKi8KKyMgICAgZGVmaW5lIFpDUl9TRUVEMiAzMTQxNTkyNjU0VUwgICAgICAvKiB1c2UgUEkgYXMgZGVmYXVsdCBwYXR0ZXJuICovCiAjICBlbmRpZgogCi1zdGF0aWMgaW50IGNyeXB0aGVhZChjb25zdCBjaGFyKiBwYXNzd2QsICAgICAgLyogcGFzc3dvcmQgc3RyaW5nICovCi0gICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyKiBidWYsICAgICAgLyogd2hlcmUgdG8gd3JpdGUgaGVhZGVyICovCi0gICAgICAgICAgICAgICAgICAgICBpbnQgYnVmU2l6ZSwKLSAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcqIHBrZXlzLAotICAgICAgICAgICAgICAgICAgICAgY29uc3Qgel9jcmNfdCogcGNyY18zMl90YWIsCi0gICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIGNyY0ZvckNyeXB0aW5nKQorc3RhdGljIHVuc2lnbmVkIGNyeXB0aGVhZChjb25zdCBjaGFyKiBwYXNzd2QsICAgICAgIC8qIHBhc3N3b3JkIHN0cmluZyAqLworICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyKiBidWYsICAgICAgIC8qIHdoZXJlIHRvIHdyaXRlIGhlYWRlciAqLworICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgYnVmU2l6ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyogcGtleXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHpfY3JjX3QqIHBjcmNfMzJfdGFiLAorICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIGNyY0ZvckNyeXB0aW5nKQogewotICAgIGludCBuOyAgICAgICAgICAgICAgICAgICAgICAgLyogaW5kZXggaW4gcmFuZG9tIGhlYWRlciAqLworICAgIHVuc2lnbmVkIG47ICAgICAgICAgICAgICAgICAgLyogaW5kZXggaW4gcmFuZG9tIGhlYWRlciAqLwogICAgIGludCB0OyAgICAgICAgICAgICAgICAgICAgICAgLyogdGVtcG9yYXJ5ICovCiAgICAgaW50IGM7ICAgICAgICAgICAgICAgICAgICAgICAvKiByYW5kb20gYnl0ZSAqLwogICAgIHVuc2lnbmVkIGNoYXIgaGVhZGVyW1JBTkRfSEVBRF9MRU4tMl07IC8qIHJhbmRvbSBoZWFkZXIgKi8KZGlmZiAtLWdpdCBhL3NyYy9jb250cmliL21pbml6aXAvaW9hcGkuYyBiL3NyYy9jb250cmliL21pbml6aXAvaW9hcGkuYwppbmRleCA3ZjVjMTkxLi44MTRhNmZkIDEwMDY0NAotLS0gYS9zcmMvY29udHJpYi9taW5pemlwL2lvYXBpLmMKKysrIGIvc3JjL2NvbnRyaWIvbWluaXppcC9pb2FwaS5jCkBAIC01OCw3ICs1OCw3IEBACiAgICAgICAgIHJldHVybiAoKihwZmlsZWZ1bmMtPnpmaWxlX2Z1bmM2NC56dGVsbDY0X2ZpbGUpKSAocGZpbGVmdW5jLT56ZmlsZV9mdW5jNjQub3BhcXVlLGZpbGVzdHJlYW0pOwogICAgIGVsc2UKICAgICB7Ci0gICAgICAgIHVMb25nIHRlbGxfdUxvbmcgPSAoKihwZmlsZWZ1bmMtPnp0ZWxsMzJfZmlsZSkpKHBmaWxlZnVuYy0+emZpbGVfZnVuYzY0Lm9wYXF1ZSxmaWxlc3RyZWFtKTsKKyAgICAgICAgdUxvbmcgdGVsbF91TG9uZyA9ICh1TG9uZykoKihwZmlsZWZ1bmMtPnp0ZWxsMzJfZmlsZSkpKHBmaWxlZnVuYy0+emZpbGVfZnVuYzY0Lm9wYXF1ZSxmaWxlc3RyZWFtKTsKICAgICAgICAgaWYgKCh0ZWxsX3VMb25nKSA9PSBNQVhVMzIpCiAgICAgICAgICAgICByZXR1cm4gKFpQT1M2NF9UKS0xOwogICAgICAgICBlbHNlCkBAIC05Niw2ICs5Niw3IEBACiB7CiAgICAgRklMRSogZmlsZSA9IE5VTEw7CiAgICAgY29uc3QgY2hhciogbW9kZV9mb3BlbiA9IE5VTEw7CisgICAgKHZvaWQpb3BhcXVlOwogICAgIGlmICgobW9kZSAmIFpMSUJfRklMRUZVTkNfTU9ERV9SRUFEV1JJVEVGSUxURVIpPT1aTElCX0ZJTEVGVU5DX01PREVfUkVBRCkKICAgICAgICAgbW9kZV9mb3BlbiA9ICJyYiI7CiAgICAgZWxzZQpAQCAtMTE0LDYgKzExNSw3IEBACiB7CiAgICAgRklMRSogZmlsZSA9IE5VTEw7CiAgICAgY29uc3QgY2hhciogbW9kZV9mb3BlbiA9IE5VTEw7CisgICAgKHZvaWQpb3BhcXVlOwogICAgIGlmICgobW9kZSAmIFpMSUJfRklMRUZVTkNfTU9ERV9SRUFEV1JJVEVGSUxURVIpPT1aTElCX0ZJTEVGVU5DX01PREVfUkVBRCkKICAgICAgICAgbW9kZV9mb3BlbiA9ICJyYiI7CiAgICAgZWxzZQpAQCAtMTMyLDYgKzEzNCw3IEBACiBzdGF0aWMgdUxvbmcgWkNBTExCQUNLIGZyZWFkX2ZpbGVfZnVuYyAodm9pZHBmIG9wYXF1ZSwgdm9pZHBmIHN0cmVhbSwgdm9pZCogYnVmLCB1TG9uZyBzaXplKQogewogICAgIHVMb25nIHJldDsKKyAgICAodm9pZClvcGFxdWU7CiAgICAgcmV0ID0gKHVMb25nKWZyZWFkKGJ1ZiwgMSwgKHNpemVfdClzaXplLCAoRklMRSAqKXN0cmVhbSk7CiAgICAgcmV0dXJuIHJldDsKIH0KQEAgLTEzOSw2ICsxNDIsNyBAQAogc3RhdGljIHVMb25nIFpDQUxMQkFDSyBmd3JpdGVfZmlsZV9mdW5jICh2b2lkcGYgb3BhcXVlLCB2b2lkcGYgc3RyZWFtLCBjb25zdCB2b2lkKiBidWYsIHVMb25nIHNpemUpCiB7CiAgICAgdUxvbmcgcmV0OworICAgICh2b2lkKW9wYXF1ZTsKICAgICByZXQgPSAodUxvbmcpZndyaXRlKGJ1ZiwgMSwgKHNpemVfdClzaXplLCAoRklMRSAqKXN0cmVhbSk7CiAgICAgcmV0dXJuIHJldDsKIH0KQEAgLTE0Niw2ICsxNTAsNyBAQAogc3RhdGljIGxvbmcgWkNBTExCQUNLIGZ0ZWxsX2ZpbGVfZnVuYyAodm9pZHBmIG9wYXF1ZSwgdm9pZHBmIHN0cmVhbSkKIHsKICAgICBsb25nIHJldDsKKyAgICAodm9pZClvcGFxdWU7CiAgICAgcmV0ID0gZnRlbGwoKEZJTEUgKilzdHJlYW0pOwogICAgIHJldHVybiByZXQ7CiB9CkBAIC0xNTQsNyArMTU5LDggQEAKIHN0YXRpYyBaUE9TNjRfVCBaQ0FMTEJBQ0sgZnRlbGw2NF9maWxlX2Z1bmMgKHZvaWRwZiBvcGFxdWUsIHZvaWRwZiBzdHJlYW0pCiB7CiAgICAgWlBPUzY0X1QgcmV0OwotICAgIHJldCA9IEZURUxMT19GVU5DKChGSUxFICopc3RyZWFtKTsKKyAgICAodm9pZClvcGFxdWU7CisgICAgcmV0ID0gKFpQT1M2NF9UKUZURUxMT19GVU5DKChGSUxFICopc3RyZWFtKTsKICAgICByZXR1cm4gcmV0OwogfQogCkBAIC0xNjIsNiArMTY4LDcgQEAKIHsKICAgICBpbnQgZnNlZWtfb3JpZ2luPTA7CiAgICAgbG9uZyByZXQ7CisgICAgKHZvaWQpb3BhcXVlOwogICAgIHN3aXRjaCAob3JpZ2luKQogICAgIHsKICAgICBjYXNlIFpMSUJfRklMRUZVTkNfU0VFS19DVVIgOgpAQCAtMTc2LDcgKzE4Myw3IEBACiAgICAgZGVmYXVsdDogcmV0dXJuIC0xOwogICAgIH0KICAgICByZXQgPSAwOwotICAgIGlmIChmc2VlaygoRklMRSAqKXN0cmVhbSwgb2Zmc2V0LCBmc2Vla19vcmlnaW4pICE9IDApCisgICAgaWYgKGZzZWVrKChGSUxFICopc3RyZWFtLCAobG9uZylvZmZzZXQsIGZzZWVrX29yaWdpbikgIT0gMCkKICAgICAgICAgcmV0ID0gLTE7CiAgICAgcmV0dXJuIHJldDsKIH0KQEAgLTE4NSw2ICsxOTIsNyBAQAogewogICAgIGludCBmc2Vla19vcmlnaW49MDsKICAgICBsb25nIHJldDsKKyAgICAodm9pZClvcGFxdWU7CiAgICAgc3dpdGNoIChvcmlnaW4pCiAgICAgewogICAgIGNhc2UgWkxJQl9GSUxFRlVOQ19TRUVLX0NVUiA6CkBAIC0yMDAsNyArMjA4LDcgQEAKICAgICB9CiAgICAgcmV0ID0gMDsKIAotICAgIGlmKEZTRUVLT19GVU5DKChGSUxFICopc3RyZWFtLCBvZmZzZXQsIGZzZWVrX29yaWdpbikgIT0gMCkKKyAgICBpZihGU0VFS09fRlVOQygoRklMRSAqKXN0cmVhbSwgKHpfb2ZmX3Qpb2Zmc2V0LCBmc2Vla19vcmlnaW4pICE9IDApCiAgICAgICAgICAgICAgICAgICAgICAgICByZXQgPSAtMTsKIAogICAgIHJldHVybiByZXQ7CkBAIC0yMTAsNiArMjE4LDcgQEAKIHN0YXRpYyBpbnQgWkNBTExCQUNLIGZjbG9zZV9maWxlX2Z1bmMgKHZvaWRwZiBvcGFxdWUsIHZvaWRwZiBzdHJlYW0pCiB7CiAgICAgaW50IHJldDsKKyAgICAodm9pZClvcGFxdWU7CiAgICAgcmV0ID0gZmNsb3NlKChGSUxFICopc3RyZWFtKTsKICAgICByZXR1cm4gcmV0OwogfQpAQCAtMjE3LDYgKzIyNiw3IEBACiBzdGF0aWMgaW50IFpDQUxMQkFDSyBmZXJyb3JfZmlsZV9mdW5jICh2b2lkcGYgb3BhcXVlLCB2b2lkcGYgc3RyZWFtKQogewogICAgIGludCByZXQ7CisgICAgKHZvaWQpb3BhcXVlOwogICAgIHJldCA9IGZlcnJvcigoRklMRSAqKXN0cmVhbSk7CiAgICAgcmV0dXJuIHJldDsKIH0KZGlmZiAtLWdpdCBhL3NyYy9jb250cmliL21pbml6aXAvaW9hcGkuaCBiL3NyYy9jb250cmliL21pbml6aXAvaW9hcGkuaAppbmRleCA4ZGNiZGIwLi5hZTljYTdlIDEwMDY0NAotLS0gYS9zcmMvY29udHJpYi9taW5pemlwL2lvYXBpLmgKKysrIGIvc3JjL2NvbnRyaWIvbWluaXppcC9pb2FwaS5oCkBAIC01MCw3ICs1MCw3IEBACiAjZGVmaW5lIGZ0ZWxsbzY0IGZ0ZWxsCiAjZGVmaW5lIGZzZWVrbzY0IGZzZWVrCiAjZWxzZQotI2lmZGVmIF9fRnJlZUJTRF9fCisjaWYgZGVmaW5lZChfX0ZyZWVCU0RfXykgfHwgZGVmaW5lZChfX09wZW5CU0RfXykgfHwgZGVmaW5lZChfX05ldEJTRF9fKQogI2RlZmluZSBmb3BlbjY0IGZvcGVuCiAjZGVmaW5lIGZ0ZWxsbzY0IGZ0ZWxsbwogI2RlZmluZSBmc2Vla282NCBmc2Vla28KQEAgLTkxLDggKzkxLDcgQEAKIHR5cGVkZWYgdWludDY0X3QgWlBPUzY0X1Q7CiAjZWxzZQogCi0vKiBNYXhpbXVtIHVuc2lnbmVkIDMyLWJpdCB2YWx1ZSB1c2VkIGFzIHBsYWNlaG9sZGVyIGZvciB6aXA2NCAqLwotI2RlZmluZSBNQVhVMzIgMHhmZmZmZmZmZgorCiAKICNpZiBkZWZpbmVkKF9NU0NfVkVSKSB8fCBkZWZpbmVkKF9fQk9STEFORENfXykKIHR5cGVkZWYgdW5zaWduZWQgX19pbnQ2NCBaUE9TNjRfVDsKQEAgLTEwMiw3ICsxMDEsMTAgQEAKICNlbmRpZgogI2VuZGlmCiAKLQorLyogTWF4aW11bSB1bnNpZ25lZCAzMi1iaXQgdmFsdWUgdXNlZCBhcyBwbGFjZWhvbGRlciBmb3IgemlwNjQgKi8KKyNpZm5kZWYgTUFYVTMyCisjZGVmaW5lIE1BWFUzMiAoMHhmZmZmZmZmZikKKyNlbmRpZgogCiAjaWZkZWYgX19jcGx1c3BsdXMKIGV4dGVybiAiQyIgewpkaWZmIC0tZ2l0IGEvc3JjL2NvbnRyaWIvbWluaXppcC9pb3dpbjMyLmMgYi9zcmMvY29udHJpYi9taW5pemlwL2lvd2luMzIuYwppbmRleCBhNDZkOTZjLi43ZGY1MjUxIDEwMDY0NAotLS0gYS9zcmMvY29udHJpYi9taW5pemlwL2lvd2luMzIuYworKysgYi9zcmMvY29udHJpYi9taW5pemlwL2lvd2luMzIuYwpAQCAtMjYsOCArMjYsMTQgQEAKICNlbmRpZgogCiAKKy8vIHNlZSBJbmNsdWRlL3NoYXJlZC93aW5hcGlmYW1pbHkuaCBpbiB0aGUgV2luZG93cyBLaXQKICNpZiBkZWZpbmVkKFdJTkFQSV9GQU1JTFlfUEFSVElUSU9OKSAmJiAoIShkZWZpbmVkKElPV0lOMzJfVVNJTkdfV0lOUlRfQVBJKSkpCi0jaWYgV0lOQVBJX0ZBTUlMWV9QQVJUSVRJT04oV0lOQVBJX1BBUlRJVElPTl9BUFApCisKKyNpZiAhZGVmaW5lZChXSU5BUElfRkFNSUxZX09ORV9QQVJUSVRJT04pCisjZGVmaW5lIFdJTkFQSV9GQU1JTFlfT05FX1BBUlRJVElPTihQYXJ0aXRpb25TZXQsIFBhcnRpdGlvbikgKChXSU5BUElfRkFNSUxZICYgUGFydGl0aW9uU2V0KSA9PSBQYXJ0aXRpb24pCisjZW5kaWYKKworI2lmIFdJTkFQSV9GQU1JTFlfT05FX1BBUlRJVElPTihXSU5BUElfRkFNSUxZLCBXSU5BUElfUEFSVElUSU9OX0FQUCkKICNkZWZpbmUgSU9XSU4zMl9VU0lOR19XSU5SVF9BUEkgMQogI2VuZGlmCiAjZW5kaWYKQEAgLTI0Myw3ICsyNDksNyBAQAogICAgIHJldHVybiBTZXRGaWxlUG9pbnRlckV4KGhGaWxlLCBwb3MsIG5ld1BvcywgZHdNb3ZlTWV0aG9kKTsKICNlbHNlCiAgICAgTE9ORyBsSGlnaCA9IHBvcy5IaWdoUGFydDsKLSAgICBEV09SRCBkd05ld1BvcyA9IFNldEZpbGVQb2ludGVyKGhGaWxlLCBwb3MuTG93UGFydCwgJmxIaWdoLCBGSUxFX0NVUlJFTlQpOworICAgIERXT1JEIGR3TmV3UG9zID0gU2V0RmlsZVBvaW50ZXIoaEZpbGUsIHBvcy5Mb3dQYXJ0LCAmbEhpZ2gsIGR3TW92ZU1ldGhvZCk7CiAgICAgQk9PTCBmT2sgPSBUUlVFOwogICAgIGlmIChkd05ld1BvcyA9PSAweEZGRkZGRkZGKQogICAgICAgICBpZiAoR2V0TGFzdEVycm9yKCkgIT0gTk9fRVJST1IpCkBAIC0zNzAsNyArMzc2LDcgQEAKICAgICB7CiAgICAgICAgIExBUkdFX0lOVEVHRVIgcG9zOwogICAgICAgICBwb3MuUXVhZFBhcnQgPSBvZmZzZXQ7Ci0gICAgICAgIGlmICghTXlTZXRGaWxlUG9pbnRlckV4KGhGaWxlLCBwb3MsIE5VTEwsIEZJTEVfQ1VSUkVOVCkpCisgICAgICAgIGlmICghTXlTZXRGaWxlUG9pbnRlckV4KGhGaWxlLCBwb3MsIE5VTEwsIGR3TW92ZU1ldGhvZCkpCiAgICAgICAgIHsKICAgICAgICAgICAgIERXT1JEIGR3RXJyID0gR2V0TGFzdEVycm9yKCk7CiAgICAgICAgICAgICAoKFdJTjMyRklMRV9JT1dJTiopc3RyZWFtKSAtPiBlcnJvcj0oaW50KWR3RXJyOwpkaWZmIC0tZ2l0IGEvc3JjL2NvbnRyaWIvbWluaXppcC9taW5pdW56LmMgYi9zcmMvY29udHJpYi9taW5pemlwL21pbml1bnouYwppbmRleCAzZDY1NDAxLi4wZGM5YjUwIDEwMDY0NAotLS0gYS9zcmMvY29udHJpYi9taW5pemlwL21pbml1bnouYworKysgYi9zcmMvY29udHJpYi9taW5pemlwL21pbml1bnouYwpAQCAtNDUsNiArNDUsNyBAQAogI2luY2x1ZGUgPHRpbWUuaD4KICNpbmNsdWRlIDxlcnJuby5oPgogI2luY2x1ZGUgPGZjbnRsLmg+CisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KIAogI2lmZGVmIF9XSU4zMgogIyBpbmNsdWRlIDxkaXJlY3QuaD4KQEAgLTgwLDcgKzgxLDcgQEAKICAgICBmaWxlbmFtZSA6IHRoZSBmaWxlbmFtZSBvZiB0aGUgZmlsZSB3aGVyZSBkYXRlL3RpbWUgbXVzdCBiZSBtb2RpZmllZAogICAgIGRvc2RhdGUgOiB0aGUgbmV3IGRhdGUgYXQgdGhlIE1TRG9zIGZvcm1hdCAoNCBieXRlcykKICAgICB0bXVfZGF0ZSA6IHRoZSBTQU1FIG5ldyBkYXRlIGF0IHRoZSB0bV91bnogZm9ybWF0ICovCi12b2lkIGNoYW5nZV9maWxlX2RhdGUoZmlsZW5hbWUsZG9zZGF0ZSx0bXVfZGF0ZSkKK3N0YXRpYyB2b2lkIGNoYW5nZV9maWxlX2RhdGUoZmlsZW5hbWUsZG9zZGF0ZSx0bXVfZGF0ZSkKICAgICBjb25zdCBjaGFyICpmaWxlbmFtZTsKICAgICB1TG9uZyBkb3NkYXRlOwogICAgIHRtX3VueiB0bXVfZGF0ZTsKQEAgLTk3LDcgKzk4LDggQEAKICAgU2V0RmlsZVRpbWUoaEZpbGUsJmZ0bSwmZnRMYXN0QWNjLCZmdG0pOwogICBDbG9zZUhhbmRsZShoRmlsZSk7CiAjZWxzZQotI2lmZGVmIHVuaXggfHwgX19BUFBMRV9fCisjaWYgZGVmaW5lZCh1bml4KSB8fCBkZWZpbmVkKF9fQVBQTEVfXykKKyAgKHZvaWQpZG9zZGF0ZTsKICAgc3RydWN0IHV0aW1idWYgdXQ7CiAgIHN0cnVjdCB0bSBuZXdkYXRlOwogICBuZXdkYXRlLnRtX3NlYyA9IHRtdV9kYXRlLnRtX3NlYzsKQEAgLTEyMSw3ICsxMjMsNyBAQAogLyogbXlta2RpciBhbmQgY2hhbmdlX2ZpbGVfZGF0ZSBhcmUgbm90IDEwMCAlIHBvcnRhYmxlCiAgICBBcyBJIGRvbid0IGtub3cgd2VsbCBVbml4LCBJIHdhaXQgZmVlZGJhY2sgZm9yIHRoZSB1bml4IHBvcnRpb24gKi8KIAotaW50IG15bWtkaXIoZGlybmFtZSkKK3N0YXRpYyBpbnQgbXlta2RpcihkaXJuYW1lKQogICAgIGNvbnN0IGNoYXIqIGRpcm5hbWU7CiB7CiAgICAgaW50IHJldD0wOwpAQCAtMTM1LDE0ICsxMzcsMTQgQEAKICAgICByZXR1cm4gcmV0OwogfQogCi1pbnQgbWFrZWRpciAobmV3ZGlyKQotICAgIGNoYXIgKm5ld2RpcjsKK3N0YXRpYyBpbnQgbWFrZWRpciAobmV3ZGlyKQorICAgIGNvbnN0IGNoYXIgKm5ld2RpcjsKIHsKICAgY2hhciAqYnVmZmVyIDsKICAgY2hhciAqcDsKLSAgaW50ICBsZW4gPSAoaW50KXN0cmxlbihuZXdkaXIpOworICBzaXplX3QgbGVuID0gc3RybGVuKG5ld2Rpcik7CiAKLSAgaWYgKGxlbiA8PSAwKQorICBpZiAobGVuID09IDApCiAgICAgcmV0dXJuIDA7CiAKICAgYnVmZmVyID0gKGNoYXIqKW1hbGxvYyhsZW4rMSk7CkBAIC0xODUsMTMgKzE4NywxMyBAQAogICByZXR1cm4gMTsKIH0KIAotdm9pZCBkb19iYW5uZXIoKQorc3RhdGljIHZvaWQgZG9fYmFubmVyKCkKIHsKICAgICBwcmludGYoIk1pbmlVbnogMS4wMWIsIGRlbW8gb2YgekxpYiArIFVueiBwYWNrYWdlIHdyaXR0ZW4gYnkgR2lsbGVzIFZvbGxhbnRcbiIpOwogICAgIHByaW50ZigibW9yZSBpbmZvIGF0IGh0dHA6Ly93d3cud2luaW1hZ2UuY29tL3pMaWJEbGwvdW56aXAuaHRtbFxuXG4iKTsKIH0KIAotdm9pZCBkb19oZWxwKCkKK3N0YXRpYyB2b2lkIGRvX2hlbHAoKQogewogICAgIHByaW50ZigiVXNhZ2UgOiBtaW5pdW56IFstZV0gWy14XSBbLXZdIFstbF0gWy1vXSBbLXAgcGFzc3dvcmRdIGZpbGUuemlwIFtmaWxlX3RvX2V4dHIuXSBbLWQgZXh0cmFjdGRpcl1cblxuIiBcCiAgICAgICAgICAgICIgIC1lICBFeHRyYWN0IHdpdGhvdXQgcGF0aG5hbWUgKGp1bmsgcGF0aHMpXG4iIFwKQEAgLTIwMyw3ICsyMDUsNyBAQAogICAgICAgICAgICAiICAtcCAgZXh0cmFjdCBjcnlwdGVkIGZpbGUgdXNpbmcgcGFzc3dvcmRcblxuIik7CiB9CiAKLXZvaWQgRGlzcGxheTY0Qml0c1NpemUoWlBPUzY0X1QgbiwgaW50IHNpemVfY2hhcikKK3N0YXRpYyB2b2lkIERpc3BsYXk2NEJpdHNTaXplKFpQT1M2NF9UIG4sIGludCBzaXplX2NoYXIpCiB7CiAgIC8qIHRvIGF2b2lkIGNvbXBhdGliaWxpdHkgcHJvYmxlbSAsIHdlIGRvIGhlcmUgdGhlIGNvbnZlcnNpb24gKi8KICAgY2hhciBudW1iZXJbMjFdOwpAQCAtMjMxLDcgKzIzMyw3IEBACiAgIHByaW50ZigiJXMiLCZudW1iZXJbcG9zX3N0cmluZ10pOwogfQogCi1pbnQgZG9fbGlzdCh1ZikKK3N0YXRpYyBpbnQgZG9fbGlzdCh1ZikKICAgICB1bnpGaWxlIHVmOwogewogICAgIHVMb25nIGk7CkBAIC0zMDksNyArMzExLDcgQEAKIH0KIAogCi1pbnQgZG9fZXh0cmFjdF9jdXJyZW50ZmlsZSh1Zixwb3B0X2V4dHJhY3Rfd2l0aG91dF9wYXRoLHBvcHRfb3ZlcndyaXRlLHBhc3N3b3JkKQorc3RhdGljIGludCBkb19leHRyYWN0X2N1cnJlbnRmaWxlKHVmLHBvcHRfZXh0cmFjdF93aXRob3V0X3BhdGgscG9wdF9vdmVyd3JpdGUscGFzc3dvcmQpCiAgICAgdW56RmlsZSB1ZjsKICAgICBjb25zdCBpbnQqIHBvcHRfZXh0cmFjdF93aXRob3V0X3BhdGg7CiAgICAgaW50KiBwb3B0X292ZXJ3cml0ZTsKQEAgLTMyNCw3ICszMjYsNiBAQAogICAgIHVJbnQgc2l6ZV9idWY7CiAKICAgICB1bnpfZmlsZV9pbmZvNjQgZmlsZV9pbmZvOwotICAgIHVMb25nIHJhdGlvPTA7CiAgICAgZXJyID0gdW56R2V0Q3VycmVudEZpbGVJbmZvNjQodWYsJmZpbGVfaW5mbyxmaWxlbmFtZV9pbnppcCxzaXplb2YoZmlsZW5hbWVfaW56aXApLE5VTEwsMCxOVUxMLDApOwogCiAgICAgaWYgKGVyciE9VU5aX09LKQpAQCAtNDM5LDcgKzQ0MCw3IEBACiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICBpZiAoZXJyPjApCi0gICAgICAgICAgICAgICAgICAgIGlmIChmd3JpdGUoYnVmLGVyciwxLGZvdXQpIT0xKQorICAgICAgICAgICAgICAgICAgICBpZiAoZndyaXRlKGJ1ZiwodW5zaWduZWQpZXJyLDEsZm91dCkhPTEpCiAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgIHByaW50ZigiZXJyb3IgaW4gd3JpdGluZyBleHRyYWN0ZWQgZmlsZVxuIik7CiAgICAgICAgICAgICAgICAgICAgICAgICBlcnI9VU5aX0VSUk5POwpAQCAtNDcyLDcgKzQ3Myw3IEBACiB9CiAKIAotaW50IGRvX2V4dHJhY3QodWYsb3B0X2V4dHJhY3Rfd2l0aG91dF9wYXRoLG9wdF9vdmVyd3JpdGUscGFzc3dvcmQpCitzdGF0aWMgaW50IGRvX2V4dHJhY3QodWYsb3B0X2V4dHJhY3Rfd2l0aG91dF9wYXRoLG9wdF9vdmVyd3JpdGUscGFzc3dvcmQpCiAgICAgdW56RmlsZSB1ZjsKICAgICBpbnQgb3B0X2V4dHJhY3Rfd2l0aG91dF9wYXRoOwogICAgIGludCBvcHRfb3ZlcndyaXRlOwpAQCAtNDgxLDcgKzQ4Miw2IEBACiAgICAgdUxvbmcgaTsKICAgICB1bnpfZ2xvYmFsX2luZm82NCBnaTsKICAgICBpbnQgZXJyOwotICAgIEZJTEUqIGZvdXQ9TlVMTDsKIAogICAgIGVyciA9IHVuekdldEdsb2JhbEluZm82NCh1ZiwmZ2kpOwogICAgIGlmIChlcnIhPVVOWl9PSykKQEAgLTUwOCwxNCArNTA4LDEzIEBACiAgICAgcmV0dXJuIDA7CiB9CiAKLWludCBkb19leHRyYWN0X29uZWZpbGUodWYsZmlsZW5hbWUsb3B0X2V4dHJhY3Rfd2l0aG91dF9wYXRoLG9wdF9vdmVyd3JpdGUscGFzc3dvcmQpCitzdGF0aWMgaW50IGRvX2V4dHJhY3Rfb25lZmlsZSh1ZixmaWxlbmFtZSxvcHRfZXh0cmFjdF93aXRob3V0X3BhdGgsb3B0X292ZXJ3cml0ZSxwYXNzd29yZCkKICAgICB1bnpGaWxlIHVmOwogICAgIGNvbnN0IGNoYXIqIGZpbGVuYW1lOwogICAgIGludCBvcHRfZXh0cmFjdF93aXRob3V0X3BhdGg7CiAgICAgaW50IG9wdF9vdmVyd3JpdGU7CiAgICAgY29uc3QgY2hhciogcGFzc3dvcmQ7CiB7Ci0gICAgaW50IGVyciA9IFVOWl9PSzsKICAgICBpZiAodW56TG9jYXRlRmlsZSh1ZixmaWxlbmFtZSxDQVNFU0VOU0lUSVZJVFkpIT1VTlpfT0spCiAgICAgewogICAgICAgICBwcmludGYoImZpbGUgJXMgbm90IGZvdW5kIGluIHRoZSB6aXBmaWxlXG4iLGZpbGVuYW1lKTsKQEAgLTU2NSw3ICs1NjQsNyBAQAogCiAgICAgICAgICAgICAgICAgd2hpbGUgKCgqcCkhPSdcMCcpCiAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICBjaGFyIGM9KihwKyspOzsKKyAgICAgICAgICAgICAgICAgICAgY2hhciBjPSoocCsrKTsKICAgICAgICAgICAgICAgICAgICAgaWYgKChjPT0nbCcpIHx8IChjPT0nTCcpKQogICAgICAgICAgICAgICAgICAgICAgICAgb3B0X2RvX2xpc3QgPSAxOwogICAgICAgICAgICAgICAgICAgICBpZiAoKGM9PSd2JykgfHwgKGM9PSdWJykpCmRpZmYgLS1naXQgYS9zcmMvY29udHJpYi9taW5pemlwL21pbml6aXAuYyBiL3NyYy9jb250cmliL21pbml6aXAvbWluaXppcC5jCmluZGV4IDQyODg5NjIuLmU4NTYxYjEgMTAwNjQ0Ci0tLSBhL3NyYy9jb250cmliL21pbml6aXAvbWluaXppcC5jCisrKyBiL3NyYy9jb250cmliL21pbml6aXAvbWluaXppcC5jCkBAIC03MSw4ICs3MSw4IEBACiAjZGVmaW5lIE1BWEZJTEVOQU1FICgyNTYpCiAKICNpZmRlZiBfV0lOMzIKLXVMb25nIGZpbGV0aW1lKGYsIHRtemlwLCBkdCkKLSAgICBjaGFyICpmOyAgICAgICAgICAgICAgICAvKiBuYW1lIG9mIGZpbGUgdG8gZ2V0IGluZm8gb24gKi8KK3N0YXRpYyBpbnQgZmlsZXRpbWUoZiwgdG16aXAsIGR0KQorICAgIGNvbnN0IGNoYXIgKmY7ICAgICAgICAgIC8qIG5hbWUgb2YgZmlsZSB0byBnZXQgaW5mbyBvbiAqLwogICAgIHRtX3ppcCAqdG16aXA7ICAgICAgICAgICAgIC8qIHJldHVybiB2YWx1ZTogYWNjZXNzLCBtb2RpZmljLiBhbmQgY3JlYXRpb24gdGltZXMgKi8KICAgICB1TG9uZyAqZHQ7ICAgICAgICAgICAgIC8qIGRvc3RpbWUgKi8KIHsKQEAgLTk0LDEyICs5NCwxMyBAQAogICByZXR1cm4gcmV0OwogfQogI2Vsc2UKLSNpZmRlZiB1bml4IHx8IF9fQVBQTEVfXwotdUxvbmcgZmlsZXRpbWUoZiwgdG16aXAsIGR0KQotICAgIGNoYXIgKmY7ICAgICAgICAgICAgICAgLyogbmFtZSBvZiBmaWxlIHRvIGdldCBpbmZvIG9uICovCisjaWYgZGVmaW5lZCh1bml4KSB8fCBkZWZpbmVkKF9fQVBQTEVfXykKK3N0YXRpYyBpbnQgZmlsZXRpbWUoZiwgdG16aXAsIGR0KQorICAgIGNvbnN0IGNoYXIgKmY7ICAgICAgICAgLyogbmFtZSBvZiBmaWxlIHRvIGdldCBpbmZvIG9uICovCiAgICAgdG1femlwICp0bXppcDsgICAgICAgICAvKiByZXR1cm4gdmFsdWU6IGFjY2VzcywgbW9kaWZpYy4gYW5kIGNyZWF0aW9uIHRpbWVzICovCiAgICAgdUxvbmcgKmR0OyAgICAgICAgICAgICAvKiBkb3N0aW1lICovCiB7CisgICh2b2lkKWR0OwogICBpbnQgcmV0PTA7CiAgIHN0cnVjdCBzdGF0IHM7ICAgICAgICAvKiByZXN1bHRzIG9mIHN0YXQoKSAqLwogICBzdHJ1Y3QgdG0qIGZpbGVkYXRlOwpAQCAtMTA4LDcgKzEwOSw3IEBACiAgIGlmIChzdHJjbXAoZiwiLSIpIT0wKQogICB7CiAgICAgY2hhciBuYW1lW01BWEZJTEVOQU1FKzFdOwotICAgIGludCBsZW4gPSBzdHJsZW4oZik7CisgICAgc2l6ZV90IGxlbiA9IHN0cmxlbihmKTsKICAgICBpZiAobGVuID4gTUFYRklMRU5BTUUpCiAgICAgICBsZW4gPSBNQVhGSUxFTkFNRTsKIApAQCAtMTM4LDcgKzEzOSw3IEBACiB9CiAjZWxzZQogdUxvbmcgZmlsZXRpbWUoZiwgdG16aXAsIGR0KQotICAgIGNoYXIgKmY7ICAgICAgICAgICAgICAgIC8qIG5hbWUgb2YgZmlsZSB0byBnZXQgaW5mbyBvbiAqLworICAgIGNvbnN0IGNoYXIgKmY7ICAgICAgICAgIC8qIG5hbWUgb2YgZmlsZSB0byBnZXQgaW5mbyBvbiAqLwogICAgIHRtX3ppcCAqdG16aXA7ICAgICAgICAgICAgIC8qIHJldHVybiB2YWx1ZTogYWNjZXNzLCBtb2RpZmljLiBhbmQgY3JlYXRpb24gdGltZXMgKi8KICAgICB1TG9uZyAqZHQ7ICAgICAgICAgICAgIC8qIGRvc3RpbWUgKi8KIHsKQEAgLTE1MCw3ICsxNTEsNyBAQAogCiAKIAotaW50IGNoZWNrX2V4aXN0X2ZpbGUoZmlsZW5hbWUpCitzdGF0aWMgaW50IGNoZWNrX2V4aXN0X2ZpbGUoZmlsZW5hbWUpCiAgICAgY29uc3QgY2hhciogZmlsZW5hbWU7CiB7CiAgICAgRklMRSogZnRlc3RleGlzdDsKQEAgLTE2MywxMyArMTY0LDEzIEBACiAgICAgcmV0dXJuIHJldDsKIH0KIAotdm9pZCBkb19iYW5uZXIoKQorc3RhdGljIHZvaWQgZG9fYmFubmVyKCkKIHsKICAgICBwcmludGYoIk1pbmlaaXAgMS4xLCBkZW1vIG9mIHpMaWIgKyBNaW5pWmlwNjQgcGFja2FnZSwgd3JpdHRlbiBieSBHaWxsZXMgVm9sbGFudFxuIik7CiAgICAgcHJpbnRmKCJtb3JlIGluZm8gb24gTWluaVppcCBhdCBodHRwOi8vd3d3LndpbmltYWdlLmNvbS96TGliRGxsL21pbml6aXAuaHRtbFxuXG4iKTsKIH0KIAotdm9pZCBkb19oZWxwKCkKK3N0YXRpYyB2b2lkIGRvX2hlbHAoKQogewogICAgIHByaW50ZigiVXNhZ2UgOiBtaW5pemlwIFstb10gWy1hXSBbLTAgdG8gLTldIFstcCBwYXNzd29yZF0gWy1qXSBmaWxlLnppcCBbZmlsZXNfdG9fYWRkXVxuXG4iIFwKICAgICAgICAgICAgIiAgLW8gIE92ZXJ3cml0ZSBleGlzdGluZyBmaWxlLnppcFxuIiBcCkBAIC0xODIsMTQgKzE4MywxNCBAQAogCiAvKiBjYWxjdWxhdGUgdGhlIENSQzMyIG9mIGEgZmlsZSwKICAgIGJlY2F1c2UgdG8gZW5jcnlwdCBhIGZpbGUsIHdlIG5lZWQga25vd24gdGhlIENSQzMyIG9mIHRoZSBmaWxlIGJlZm9yZSAqLwotaW50IGdldEZpbGVDcmMoY29uc3QgY2hhciogZmlsZW5hbWVpbnppcCx2b2lkKmJ1Zix1bnNpZ25lZCBsb25nIHNpemVfYnVmLHVuc2lnbmVkIGxvbmcqIHJlc3VsdF9jcmMpCitzdGF0aWMgaW50IGdldEZpbGVDcmMoY29uc3QgY2hhciogZmlsZW5hbWVpbnppcCx2b2lkKmJ1Zix1bnNpZ25lZCBsb25nIHNpemVfYnVmLHVuc2lnbmVkIGxvbmcqIHJlc3VsdF9jcmMpCiB7CiAgICB1bnNpZ25lZCBsb25nIGNhbGN1bGF0ZV9jcmM9MDsKICAgIGludCBlcnI9WklQX09LOwogICAgRklMRSAqIGZpbiA9IEZPUEVOX0ZVTkMoZmlsZW5hbWVpbnppcCwicmIiKTsKIAogICAgdW5zaWduZWQgbG9uZyBzaXplX3JlYWQgPSAwOwotICAgdW5zaWduZWQgbG9uZyB0b3RhbF9yZWFkID0gMDsKKyAgIC8qIHVuc2lnbmVkIGxvbmcgdG90YWxfcmVhZCA9IDA7ICovCiAgICBpZiAoZmluPT1OVUxMKQogICAgewogICAgICAgIGVyciA9IFpJUF9FUlJOTzsKQEAgLTE5OSw3ICsyMDAsNyBAQAogICAgICAgICBkbwogICAgICAgICB7CiAgICAgICAgICAgICBlcnIgPSBaSVBfT0s7Ci0gICAgICAgICAgICBzaXplX3JlYWQgPSAoaW50KWZyZWFkKGJ1ZiwxLHNpemVfYnVmLGZpbik7CisgICAgICAgICAgICBzaXplX3JlYWQgPSBmcmVhZChidWYsMSxzaXplX2J1ZixmaW4pOwogICAgICAgICAgICAgaWYgKHNpemVfcmVhZCA8IHNpemVfYnVmKQogICAgICAgICAgICAgICAgIGlmIChmZW9mKGZpbik9PTApCiAgICAgICAgICAgICB7CkBAIC0yMDgsOCArMjA5LDggQEAKICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgaWYgKHNpemVfcmVhZD4wKQotICAgICAgICAgICAgICAgIGNhbGN1bGF0ZV9jcmMgPSBjcmMzMihjYWxjdWxhdGVfY3JjLGJ1ZixzaXplX3JlYWQpOwotICAgICAgICAgICAgdG90YWxfcmVhZCArPSBzaXplX3JlYWQ7CisgICAgICAgICAgICAgICAgY2FsY3VsYXRlX2NyYyA9IGNyYzMyX3ooY2FsY3VsYXRlX2NyYyxidWYsc2l6ZV9yZWFkKTsKKyAgICAgICAgICAgIC8qIHRvdGFsX3JlYWQgKz0gc2l6ZV9yZWFkOyAqLwogCiAgICAgICAgIH0gd2hpbGUgKChlcnIgPT0gWklQX09LKSAmJiAoc2l6ZV9yZWFkPjApKTsKIApAQCAtMjIxLDcgKzIyMiw3IEBACiAgICAgcmV0dXJuIGVycjsKIH0KIAotaW50IGlzTGFyZ2VGaWxlKGNvbnN0IGNoYXIqIGZpbGVuYW1lKQorc3RhdGljIGludCBpc0xhcmdlRmlsZShjb25zdCBjaGFyKiBmaWxlbmFtZSkKIHsKICAgaW50IGxhcmdlRmlsZSA9IDA7CiAgIFpQT1M2NF9UIHBvcyA9IDA7CkBAIC0yMjksOCArMjMwLDggQEAKIAogICBpZihwRmlsZSAhPSBOVUxMKQogICB7Ci0gICAgaW50IG4gPSBGU0VFS09fRlVOQyhwRmlsZSwgMCwgU0VFS19FTkQpOwotICAgIHBvcyA9IEZURUxMT19GVU5DKHBGaWxlKTsKKyAgICBGU0VFS09fRlVOQyhwRmlsZSwgMCwgU0VFS19FTkQpOworICAgIHBvcyA9IChaUE9TNjRfVClGVEVMTE9fRlVOQyhwRmlsZSk7CiAKICAgICAgICAgICAgICAgICBwcmludGYoIkZpbGUgOiAlcyBpcyAlbGxkIGJ5dGVzXG4iLCBmaWxlbmFtZSwgcG9zKTsKIApAQCAtMjU1LDcgKzI1Niw3IEBACiAgICAgY2hhciBmaWxlbmFtZV90cnlbTUFYRklMRU5BTUUrMTZdOwogICAgIGludCB6aXBvazsKICAgICBpbnQgZXJyPTA7Ci0gICAgaW50IHNpemVfYnVmPTA7CisgICAgc2l6ZV90IHNpemVfYnVmPTA7CiAgICAgdm9pZCogYnVmPU5VTEw7CiAgICAgY29uc3QgY2hhciogcGFzc3dvcmQ9TlVMTDsKIApAQCAtMjc2LDcgKzI3Nyw3IEBACiAKICAgICAgICAgICAgICAgICB3aGlsZSAoKCpwKSE9J1wwJykKICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgIGNoYXIgYz0qKHArKyk7OworICAgICAgICAgICAgICAgICAgICBjaGFyIGM9KihwKyspOwogICAgICAgICAgICAgICAgICAgICBpZiAoKGM9PSdvJykgfHwgKGM9PSdPJykpCiAgICAgICAgICAgICAgICAgICAgICAgICBvcHRfb3ZlcndyaXRlID0gMTsKICAgICAgICAgICAgICAgICAgICAgaWYgKChjPT0nYScpIHx8IChjPT0nQScpKQpAQCAtMzk2LDcgKzM5Nyw3IEBACiAgICAgICAgICAgICAgICAgICAoc3RybGVuKGFyZ3ZbaV0pID09IDIpKSkKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICBGSUxFICogZmluOwotICAgICAgICAgICAgICAgIGludCBzaXplX3JlYWQ7CisgICAgICAgICAgICAgICAgc2l6ZV90IHNpemVfcmVhZDsKICAgICAgICAgICAgICAgICBjb25zdCBjaGFyKiBmaWxlbmFtZWluemlwID0gYXJndltpXTsKICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpzYXZlZmlsZW5hbWVpbnppcDsKICAgICAgICAgICAgICAgICB6aXBfZmlsZWluZm8gemk7CkBAIC00NzIsNyArNDczLDcgQEAKICAgICAgICAgICAgICAgICAgICAgZG8KICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgZXJyID0gWklQX09LOwotICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV9yZWFkID0gKGludClmcmVhZChidWYsMSxzaXplX2J1ZixmaW4pOworICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV9yZWFkID0gZnJlYWQoYnVmLDEsc2l6ZV9idWYsZmluKTsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzaXplX3JlYWQgPCBzaXplX2J1ZikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZmVvZihmaW4pPT0wKQogICAgICAgICAgICAgICAgICAgICAgICAgewpAQCAtNDgyLDcgKzQ4Myw3IEBACiAKICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzaXplX3JlYWQ+MCkKICAgICAgICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnIgPSB6aXBXcml0ZUluRmlsZUluWmlwICh6ZixidWYsc2l6ZV9yZWFkKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnIgPSB6aXBXcml0ZUluRmlsZUluWmlwICh6ZixidWYsKHVuc2lnbmVkKXNpemVfcmVhZCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGVycjwwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpbnRmKCJlcnJvciBpbiB3cml0aW5nICVzIGluIHRoZSB6aXBmaWxlXG4iLApkaWZmIC0tZ2l0IGEvc3JjL2NvbnRyaWIvbWluaXppcC91bnppcC5jIGIvc3JjL2NvbnRyaWIvbWluaXppcC91bnppcC5jCmluZGV4IDkwOTM1MDQuLjMwMzZiNDcgMTAwNjQ0Ci0tLSBhL3NyYy9jb250cmliL21pbml6aXAvdW56aXAuYworKysgYi9zcmMvY29udHJpYi9taW5pemlwL3VuemlwLmMKQEAgLTExMiw3ICsxMTIsNyBAQAogIyBkZWZpbmUgQUxMT0Moc2l6ZSkgKG1hbGxvYyhzaXplKSkKICNlbmRpZgogI2lmbmRlZiBUUllGUkVFCi0jIGRlZmluZSBUUllGUkVFKHApIHtpZiAocCkgZnJlZShwKTt9CisjIGRlZmluZSBUUllGUkVFKHApIHsgZnJlZShwKTt9CiAjZW5kaWYKIAogI2RlZmluZSBTSVpFQ0VOVFJBTERJUklURU0gKDB4MmUpCkBAIC0yMDAsNyArMjAwLDcgQEAKIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgICBSZWFkIGEgYnl0ZSBmcm9tIGEgZ3pfc3RyZWFtOyB1cGRhdGUgbmV4dF9pbiBhbmQgYXZhaWxfaW4uIFJldHVybiBFT0YKICAgIGZvciBlbmQgb2YgZmlsZS4KLSAgIElOIGFzc2VydGlvbjogdGhlIHN0cmVhbSBzIGhhcyBiZWVuIHN1Y2Vzc2Z1bGx5IG9wZW5lZCBmb3IgcmVhZGluZy4KKyAgIElOIGFzc2VydGlvbjogdGhlIHN0cmVhbSBzIGhhcyBiZWVuIHN1Y2Nlc3NmdWxseSBvcGVuZWQgZm9yIHJlYWRpbmcuCiAqLwogCiAKQEAgLTQ1NSw3ICs0NTUsNyBAQAogICAgICAgICAgICAgaWYgKCgoKihidWYraSkpPT0weDUwKSAmJiAoKCooYnVmK2krMSkpPT0weDRiKSAmJgogICAgICAgICAgICAgICAgICgoKihidWYraSsyKSk9PTB4MDUpICYmICgoKihidWYraSszKSk9PTB4MDYpKQogICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIHVQb3NGb3VuZCA9IHVSZWFkUG9zK2k7CisgICAgICAgICAgICAgICAgdVBvc0ZvdW5kID0gdVJlYWRQb3MrKHVuc2lnbmVkKWk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICB9CiAKQEAgLTUyMyw3ICs1MjMsNyBAQAogICAgICAgICAgICAgaWYgKCgoKihidWYraSkpPT0weDUwKSAmJiAoKCooYnVmK2krMSkpPT0weDRiKSAmJgogICAgICAgICAgICAgICAgICgoKihidWYraSsyKSk9PTB4MDYpICYmICgoKihidWYraSszKSk9PTB4MDcpKQogICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIHVQb3NGb3VuZCA9IHVSZWFkUG9zK2k7CisgICAgICAgICAgICAgICAgdVBvc0ZvdW5kID0gdVJlYWRQb3MrKHVuc2lnbmVkKWk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICB9CiAKQEAgLTg1MywxMyArODUzLDEzIEBACiB7CiAgICAgWlBPUzY0X1QgdURhdGU7CiAgICAgdURhdGUgPSAoWlBPUzY0X1QpKHVsRG9zRGF0ZT4+MTYpOwotICAgIHB0bS0+dG1fbWRheSA9ICh1SW50KSh1RGF0ZSYweDFmKSA7Ci0gICAgcHRtLT50bV9tb24gPSAgKHVJbnQpKCgoKHVEYXRlKSYweDFFMCkvMHgyMCktMSkgOwotICAgIHB0bS0+dG1feWVhciA9ICh1SW50KSgoKHVEYXRlJjB4MEZFMDApLzB4MDIwMCkrMTk4MCkgOworICAgIHB0bS0+dG1fbWRheSA9IChpbnQpKHVEYXRlJjB4MWYpIDsKKyAgICBwdG0tPnRtX21vbiA9ICAoaW50KSgoKCh1RGF0ZSkmMHgxRTApLzB4MjApLTEpIDsKKyAgICBwdG0tPnRtX3llYXIgPSAoaW50KSgoKHVEYXRlJjB4MEZFMDApLzB4MDIwMCkrMTk4MCkgOwogCi0gICAgcHRtLT50bV9ob3VyID0gKHVJbnQpICgodWxEb3NEYXRlICYweEY4MDApLzB4ODAwKTsKLSAgICBwdG0tPnRtX21pbiA9ICAodUludCkgKCh1bERvc0RhdGUmMHg3RTApLzB4MjApIDsKLSAgICBwdG0tPnRtX3NlYyA9ICAodUludCkgKDIqKHVsRG9zRGF0ZSYweDFmKSkgOworICAgIHB0bS0+dG1faG91ciA9IChpbnQpICgodWxEb3NEYXRlICYweEY4MDApLzB4ODAwKTsKKyAgICBwdG0tPnRtX21pbiA9ICAoaW50KSAoKHVsRG9zRGF0ZSYweDdFMCkvMHgyMCkgOworICAgIHB0bS0+dG1fc2VjID0gIChpbnQpICgyKih1bERvc0RhdGUmMHgxZikpIDsKIH0KIAogLyoKQEAgLTk5Myw3ICs5OTMsNyBAQAogCiAgICAgICAgIGlmIChsU2VlayE9MCkKICAgICAgICAgewotICAgICAgICAgICAgaWYgKFpTRUVLNjQocy0+el9maWxlZnVuYywgcy0+ZmlsZXN0cmVhbSxsU2VlayxaTElCX0ZJTEVGVU5DX1NFRUtfQ1VSKT09MCkKKyAgICAgICAgICAgIGlmIChaU0VFSzY0KHMtPnpfZmlsZWZ1bmMsIHMtPmZpbGVzdHJlYW0sKFpQT1M2NF9UKWxTZWVrLFpMSUJfRklMRUZVTkNfU0VFS19DVVIpPT0wKQogICAgICAgICAgICAgICAgIGxTZWVrPTA7CiAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgZXJyPVVOWl9FUlJOTzsKQEAgLTEwMTgsNyArMTAxOCw3IEBACiAKICAgICAgICAgaWYgKGxTZWVrIT0wKQogICAgICAgICB7Ci0gICAgICAgICAgICBpZiAoWlNFRUs2NChzLT56X2ZpbGVmdW5jLCBzLT5maWxlc3RyZWFtLGxTZWVrLFpMSUJfRklMRUZVTkNfU0VFS19DVVIpPT0wKQorICAgICAgICAgICAgaWYgKFpTRUVLNjQocy0+el9maWxlZnVuYywgcy0+ZmlsZXN0cmVhbSwoWlBPUzY0X1QpbFNlZWssWkxJQl9GSUxFRlVOQ19TRUVLX0NVUik9PTApCiAgICAgICAgICAgICAgICAgbFNlZWs9MDsKICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICBlcnI9VU5aX0VSUk5POwpAQCAtMTA5MCw3ICsxMDkwLDcgQEAKIAogICAgICAgICBpZiAobFNlZWshPTApCiAgICAgICAgIHsKLSAgICAgICAgICAgIGlmIChaU0VFSzY0KHMtPnpfZmlsZWZ1bmMsIHMtPmZpbGVzdHJlYW0sbFNlZWssWkxJQl9GSUxFRlVOQ19TRUVLX0NVUik9PTApCisgICAgICAgICAgICBpZiAoWlNFRUs2NChzLT56X2ZpbGVmdW5jLCBzLT5maWxlc3RyZWFtLChaUE9TNjRfVClsU2VlayxaTElCX0ZJTEVGVU5DX1NFRUtfQ1VSKT09MCkKICAgICAgICAgICAgICAgICBsU2Vlaz0wOwogICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgIGVycj1VTlpfRVJSTk87CkBAIC0xNTY2LDYgKzE1NjYsNyBAQAogICAgICAgICBwZmlsZV9pbl96aXBfcmVhZF9pbmZvLT5zdHJlYW1faW5pdGlhbGlzZWQ9Wl9CWklQMkVEOwogICAgICAgZWxzZQogICAgICAgeworICAgICAgICBUUllGUkVFKHBmaWxlX2luX3ppcF9yZWFkX2luZm8tPnJlYWRfYnVmZmVyKTsKICAgICAgICAgVFJZRlJFRShwZmlsZV9pbl96aXBfcmVhZF9pbmZvKTsKICAgICAgICAgcmV0dXJuIGVycjsKICAgICAgIH0KQEAgLTE1ODYsNiArMTU4Nyw3IEBACiAgICAgICAgIHBmaWxlX2luX3ppcF9yZWFkX2luZm8tPnN0cmVhbV9pbml0aWFsaXNlZD1aX0RFRkxBVEVEOwogICAgICAgZWxzZQogICAgICAgeworICAgICAgICBUUllGUkVFKHBmaWxlX2luX3ppcF9yZWFkX2luZm8tPnJlYWRfYnVmZmVyKTsKICAgICAgICAgVFJZRlJFRShwZmlsZV9pbl96aXBfcmVhZF9pbmZvKTsKICAgICAgICAgcmV0dXJuIGVycjsKICAgICAgIH0KQEAgLTE3NjcsNyArMTc2OSw3IEBACiAKICAgICAgICAgICAgIGlmICgocGZpbGVfaW5femlwX3JlYWRfaW5mby0+c3RyZWFtLmF2YWlsX2luID09IDApICYmCiAgICAgICAgICAgICAgICAgKHBmaWxlX2luX3ppcF9yZWFkX2luZm8tPnJlc3RfcmVhZF9jb21wcmVzc2VkID09IDApKQotICAgICAgICAgICAgICAgIHJldHVybiAoaVJlYWQ9PTApID8gVU5aX0VPRiA6IGlSZWFkOworICAgICAgICAgICAgICAgIHJldHVybiAoaVJlYWQ9PTApID8gVU5aX0VPRiA6IChpbnQpaVJlYWQ7CiAKICAgICAgICAgICAgIGlmIChwZmlsZV9pbl96aXBfcmVhZF9pbmZvLT5zdHJlYW0uYXZhaWxfb3V0IDwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwZmlsZV9pbl96aXBfcmVhZF9pbmZvLT5zdHJlYW0uYXZhaWxfaW4pCkBAIC0xODU3LDYgKzE4NTksOSBAQAogICAgICAgICAgICAgICBlcnIgPSBaX0RBVEFfRVJST1I7CiAKICAgICAgICAgICAgIHVUb3RhbE91dEFmdGVyID0gcGZpbGVfaW5femlwX3JlYWRfaW5mby0+c3RyZWFtLnRvdGFsX291dDsKKyAgICAgICAgICAgIC8qIERldGVjdCBvdmVyZmxvdywgYmVjYXVzZSB6X3N0cmVhbS50b3RhbF9vdXQgaXMgdUxvbmcgKDMyIGJpdHMpICovCisgICAgICAgICAgICBpZiAodVRvdGFsT3V0QWZ0ZXI8dVRvdGFsT3V0QmVmb3JlKQorICAgICAgICAgICAgICAgIHVUb3RhbE91dEFmdGVyICs9IDFMTCA8PCAzMjsgLyogQWRkIG1heGltdW0gdmFsdWUgb2YgdUxvbmcgKyAxICovCiAgICAgICAgICAgICB1T3V0VGhpcyA9IHVUb3RhbE91dEFmdGVyLXVUb3RhbE91dEJlZm9yZTsKIAogICAgICAgICAgICAgcGZpbGVfaW5femlwX3JlYWRfaW5mby0+dG90YWxfb3V0XzY0ID0gcGZpbGVfaW5femlwX3JlYWRfaW5mby0+dG90YWxfb3V0XzY0ICsgdU91dFRoaXM7CkBAIC0xODcxLDE0ICsxODc2LDE0IEBACiAgICAgICAgICAgICBpUmVhZCArPSAodUludCkodVRvdGFsT3V0QWZ0ZXIgLSB1VG90YWxPdXRCZWZvcmUpOwogCiAgICAgICAgICAgICBpZiAoZXJyPT1aX1NUUkVBTV9FTkQpCi0gICAgICAgICAgICAgICAgcmV0dXJuIChpUmVhZD09MCkgPyBVTlpfRU9GIDogaVJlYWQ7CisgICAgICAgICAgICAgICAgcmV0dXJuIChpUmVhZD09MCkgPyBVTlpfRU9GIDogKGludClpUmVhZDsKICAgICAgICAgICAgIGlmIChlcnIhPVpfT0spCiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICB9CiAKICAgICBpZiAoZXJyPT1aX09LKQotICAgICAgICByZXR1cm4gaVJlYWQ7CisgICAgICAgIHJldHVybiAoaW50KWlSZWFkOwogICAgIHJldHVybiBlcnI7CiB9CiAKZGlmZiAtLWdpdCBhL3NyYy9jb250cmliL21pbml6aXAvdW56aXAuaCBiL3NyYy9jb250cmliL21pbml6aXAvdW56aXAuaAppbmRleCAyMTA0ZTM5Li42Zjk1ZTk0IDEwMDY0NAotLS0gYS9zcmMvY29udHJpYi9taW5pemlwL3VuemlwLmgKKysrIGIvc3JjL2NvbnRyaWIvbWluaXppcC91bnppcC5oCkBAIC04MywxMiArODMsMTIgQEAKIC8qIHRtX3VueiBjb250YWluIGRhdGUvdGltZSBpbmZvICovCiB0eXBlZGVmIHN0cnVjdCB0bV91bnpfcwogewotICAgIHVJbnQgdG1fc2VjOyAgICAgICAgICAgIC8qIHNlY29uZHMgYWZ0ZXIgdGhlIG1pbnV0ZSAtIFswLDU5XSAqLwotICAgIHVJbnQgdG1fbWluOyAgICAgICAgICAgIC8qIG1pbnV0ZXMgYWZ0ZXIgdGhlIGhvdXIgLSBbMCw1OV0gKi8KLSAgICB1SW50IHRtX2hvdXI7ICAgICAgICAgICAvKiBob3VycyBzaW5jZSBtaWRuaWdodCAtIFswLDIzXSAqLwotICAgIHVJbnQgdG1fbWRheTsgICAgICAgICAgIC8qIGRheSBvZiB0aGUgbW9udGggLSBbMSwzMV0gKi8KLSAgICB1SW50IHRtX21vbjsgICAgICAgICAgICAvKiBtb250aHMgc2luY2UgSmFudWFyeSAtIFswLDExXSAqLwotICAgIHVJbnQgdG1feWVhcjsgICAgICAgICAgIC8qIHllYXJzIC0gWzE5ODAuLjIwNDRdICovCisgICAgaW50IHRtX3NlYzsgICAgICAgICAgICAgLyogc2Vjb25kcyBhZnRlciB0aGUgbWludXRlIC0gWzAsNTldICovCisgICAgaW50IHRtX21pbjsgICAgICAgICAgICAgLyogbWludXRlcyBhZnRlciB0aGUgaG91ciAtIFswLDU5XSAqLworICAgIGludCB0bV9ob3VyOyAgICAgICAgICAgIC8qIGhvdXJzIHNpbmNlIG1pZG5pZ2h0IC0gWzAsMjNdICovCisgICAgaW50IHRtX21kYXk7ICAgICAgICAgICAgLyogZGF5IG9mIHRoZSBtb250aCAtIFsxLDMxXSAqLworICAgIGludCB0bV9tb247ICAgICAgICAgICAgIC8qIG1vbnRocyBzaW5jZSBKYW51YXJ5IC0gWzAsMTFdICovCisgICAgaW50IHRtX3llYXI7ICAgICAgICAgICAgLyogeWVhcnMgLSBbMTk4MC4uMjA0NF0gKi8KIH0gdG1fdW56OwogCiAvKiB1bnpfZ2xvYmFsX2luZm8gc3RydWN0dXJlIGNvbnRhaW4gZ2xvYmFsIGRhdGEgYWJvdXQgdGhlIFpJUGZpbGUKZGlmZiAtLWdpdCBhL3NyYy9jb250cmliL21pbml6aXAvemlwLmMgYi9zcmMvY29udHJpYi9taW5pemlwL3ppcC5jCmluZGV4IGVhNTQ4NTMuLjY2ZDY5M2YgMTAwNjQ0Ci0tLSBhL3NyYy9jb250cmliL21pbml6aXAvemlwLmMKKysrIGIvc3JjL2NvbnRyaWIvbWluaXppcC96aXAuYwpAQCAtMTUsNyArMTUsNyBAQAogICAgT2N0LTIwMDkgLSBNYXRoaWFzIFN2ZW5zc29uIC0gRGlkIHNvbWUgY29kZSBjbGVhbnVwIGFuZCByZWZhY3RvcmluZyB0byBnZXQgYmV0dGVyIG92ZXJ2aWV3IG9mIHNvbWUgZnVuY3Rpb25zLgogICAgT2N0LTIwMDkgLSBNYXRoaWFzIFN2ZW5zc29uIC0gQWRkZWQgemlwUmVtb3ZlRXh0cmFJbmZvQmxvY2sgdG8gc3RyaXAgZXh0cmEgZmllbGQgZGF0YSBmcm9tIGl0cyBaSVA2NCBkYXRhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJdCBpcyB1c2VkIHdoZW4gcmVjcmV0aW5nIHppcCBhcmNoaXZlIHdpdGggUkFXIHdoZW4gZGVsZXRpbmcgaXRlbXMgZnJvbSBhIHppcC4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFpJUDY0IGRhdGEgaXMgYXV0b21hdGljbHkgYWRkZWQgdG8gaXRlbXMgdGhhdCBuZWVkcyBpdCwgYW5kIGV4aXN0aW5nIFpJUDY0IGRhdGEgbmVlZCB0byBiZSByZW1vdmVkLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWklQNjQgZGF0YSBpcyBhdXRvbWF0aWNhbGx5IGFkZGVkIHRvIGl0ZW1zIHRoYXQgbmVlZHMgaXQsIGFuZCBleGlzdGluZyBaSVA2NCBkYXRhIG5lZWQgdG8gYmUgcmVtb3ZlZC4KICAgIE9jdC0yMDA5IC0gTWF0aGlhcyBTdmVuc3NvbiAtIEFkZGVkIHN1cHBvcnQgZm9yIEJaSVAyIGFzIGNvbXByZXNzaW9uIG1vZGUgKGJ6aXAyIGxpYiBpcyByZXF1aXJlZCkKICAgIEphbi0yMDEwIC0gYmFjayB0byB1bnppcCBhbmQgbWluaXppcCAxLjAgbmFtZSBzY2hlbWUsIHdpdGggY29tcGF0aWJpbGl0eSBsYXllcgogCkBAIC0xMTYsNyArMTE2LDcgQEAKICAgc3RydWN0IGxpbmtlZGxpc3RfZGF0YWJsb2NrX2ludGVybmFsX3MqIG5leHRfZGF0YWJsb2NrOwogICB1TG9uZyAgYXZhaWxfaW5fdGhpc19ibG9jazsKICAgdUxvbmcgIGZpbGxlZF9pbl90aGlzX2Jsb2NrOwotICB1TG9uZyAgdW51c2VkOyAvKiBmb3IgZnV0dXJlIHVzZSBhbmQgYWxpZ25lbWVudCAqLworICB1TG9uZyAgdW51c2VkOyAvKiBmb3IgZnV0dXJlIHVzZSBhbmQgYWxpZ25tZW50ICovCiAgIHVuc2lnbmVkIGNoYXIgZGF0YVtTSVpFREFUQV9JTkRBVEFCTE9DS107CiB9IGxpbmtlZGxpc3RfZGF0YWJsb2NrX2ludGVybmFsOwogCkBAIC0xNTgsNyArMTU4LDcgQEAKICNpZm5kZWYgTk9DUllQVAogICAgIHVuc2lnbmVkIGxvbmcga2V5c1szXTsgICAgIC8qIGtleXMgZGVmaW5pbmcgdGhlIHBzZXVkby1yYW5kb20gc2VxdWVuY2UgKi8KICAgICBjb25zdCB6X2NyY190KiBwY3JjXzMyX3RhYjsKLSAgICBpbnQgY3J5cHRfaGVhZGVyX3NpemU7CisgICAgdW5zaWduZWQgY3J5cHRfaGVhZGVyX3NpemU7CiAjZW5kaWYKIH0gY3VyZmlsZTY0X2luZm87CiAKQEAgLTE3MSw3ICsxNzEsNyBAQAogICAgIGN1cmZpbGU2NF9pbmZvIGNpOyAgICAgICAgICAgIC8qIGluZm8gb24gdGhlIGZpbGUgY3VycmV0bHkgd3JpdGluZyAqLwogCiAgICAgWlBPUzY0X1QgYmVnaW5fcG9zOyAgICAgICAgICAgIC8qIHBvc2l0aW9uIG9mIHRoZSBiZWdpbm5pbmcgb2YgdGhlIHppcGZpbGUgKi8KLSAgICBaUE9TNjRfVCBhZGRfcG9zaXRpb25fd2hlbl93cml0dGluZ19vZmZzZXQ7CisgICAgWlBPUzY0X1QgYWRkX3Bvc2l0aW9uX3doZW5fd3JpdGluZ19vZmZzZXQ7CiAgICAgWlBPUzY0X1QgbnVtYmVyX2VudHJ5OwogCiAjaWZuZGVmIE5PX0FEREZJTEVJTkVYSVNUSU5HWklQCkBAIC0zMDEsNyArMzAxLDcgQEAKICAgICAgICAgfQogICAgICAgfQogCi0gICAgaWYgKFpXUklURTY0KCpwemxpYl9maWxlZnVuY19kZWYsZmlsZXN0cmVhbSxidWYsbmJCeXRlKSE9KHVMb25nKW5iQnl0ZSkKKyAgICBpZiAoWldSSVRFNjQoKnB6bGliX2ZpbGVmdW5jX2RlZixmaWxlc3RyZWFtLGJ1ZiwodUxvbmcpbmJCeXRlKSE9KHVMb25nKW5iQnl0ZSkKICAgICAgICAgcmV0dXJuIFpJUF9FUlJOTzsKICAgICBlbHNlCiAgICAgICAgIHJldHVybiBaSVBfT0s7CkBAIC0zMzcsOCArMzM3LDggQEAKICAgICBlbHNlIGlmICh5ZWFyPj04MCkKICAgICAgICAgeWVhci09ODA7CiAgICAgcmV0dXJuCi0gICAgICAodUxvbmcpICgoKHB0bS0+dG1fbWRheSkgKyAoMzIgKiAocHRtLT50bV9tb24rMSkpICsgKDUxMiAqIHllYXIpKSA8PCAxNikgfAotICAgICAgICAoKHB0bS0+dG1fc2VjLzIpICsgKDMyKiBwdG0tPnRtX21pbikgKyAoMjA0OCAqICh1TG9uZylwdG0tPnRtX2hvdXIpKTsKKyAgICAgICh1TG9uZykgKCgodUxvbmcpKHB0bS0+dG1fbWRheSkgKyAoMzIgKiAodUxvbmcpKHB0bS0+dG1fbW9uKzEpKSArICg1MTIgKiB5ZWFyKSkgPDwgMTYpIHwKKyAgICAgICAgKCgodUxvbmcpcHRtLT50bV9zZWMvMikgKyAoMzIgKiAodUxvbmcpcHRtLT50bV9taW4pICsgKDIwNDggKiAodUxvbmcpcHRtLT50bV9ob3VyKSk7CiB9CiAKIApAQCAtNTIyLDEyICs1MjIsMTIgQEAKICAgICAgIGlmICgoKCooYnVmK2kpKT09MHg1MCkgJiYgKCgqKGJ1ZitpKzEpKT09MHg0YikgJiYKICAgICAgICAgKCgqKGJ1ZitpKzIpKT09MHgwNSkgJiYgKCgqKGJ1ZitpKzMpKT09MHgwNikpCiAgICAgICB7Ci0gICAgICAgIHVQb3NGb3VuZCA9IHVSZWFkUG9zK2k7CisgICAgICAgIHVQb3NGb3VuZCA9IHVSZWFkUG9zKyh1bnNpZ25lZClpOwogICAgICAgICBicmVhazsKICAgICAgIH0KIAotICAgICAgaWYgKHVQb3NGb3VuZCE9MCkKLSAgICAgICAgYnJlYWs7CisgICAgaWYgKHVQb3NGb3VuZCE9MCkKKyAgICAgIGJyZWFrOwogICB9CiAgIFRSWUZSRUUoYnVmKTsKICAgcmV0dXJuIHVQb3NGb3VuZDsKQEAgLTU4Niw3ICs1ODYsNyBAQAogICAgICAgLy8gU2lnbmF0dXJlICIweDA3MDY0YjUwIiBaaXA2NCBlbmQgb2YgY2VudHJhbCBkaXJlY3RvcnkgbG9jYXRlcgogICAgICAgaWYgKCgoKihidWYraSkpPT0weDUwKSAmJiAoKCooYnVmK2krMSkpPT0weDRiKSAmJiAoKCooYnVmK2krMikpPT0weDA2KSAmJiAoKCooYnVmK2krMykpPT0weDA3KSkKICAgICAgIHsKLSAgICAgICAgdVBvc0ZvdW5kID0gdVJlYWRQb3MraTsKKyAgICAgICAgdVBvc0ZvdW5kID0gdVJlYWRQb3MrKHVuc2lnbmVkKWk7CiAgICAgICAgIGJyZWFrOwogICAgICAgfQogICAgIH0KQEAgLTYzNyw3ICs2MzcsNyBAQAogICByZXR1cm4gcmVsYXRpdmVPZmZzZXQ7CiB9CiAKLWludCBMb2FkQ2VudHJhbERpcmVjdG9yeVJlY29yZCh6aXA2NF9pbnRlcm5hbCogcHppaW5pdCkKK2xvY2FsIGludCBMb2FkQ2VudHJhbERpcmVjdG9yeVJlY29yZCh6aXA2NF9pbnRlcm5hbCogcHppaW5pdCkKIHsKICAgaW50IGVycj1aSVBfT0s7CiAgIFpQT1M2NF9UIGJ5dGVfYmVmb3JlX3RoZV96aXBmaWxlOy8qIGJ5dGUgYmVmb3JlIHRoZSB6aXBmaWxlLCAoPjAgZm9yIHNmeCkqLwpAQCAtODA3LDcgKzgwNyw3IEBACiAgIH0KIAogICBieXRlX2JlZm9yZV90aGVfemlwZmlsZSA9IGNlbnRyYWxfcG9zIC0gKG9mZnNldF9jZW50cmFsX2RpcitzaXplX2NlbnRyYWxfZGlyKTsKLSAgcHppaW5pdC0+YWRkX3Bvc2l0aW9uX3doZW5fd3JpdHRpbmdfb2Zmc2V0ID0gYnl0ZV9iZWZvcmVfdGhlX3ppcGZpbGU7CisgIHB6aWluaXQtPmFkZF9wb3NpdGlvbl93aGVuX3dyaXRpbmdfb2Zmc2V0ID0gYnl0ZV9iZWZvcmVfdGhlX3ppcGZpbGU7CiAKICAgewogICAgIFpQT1M2NF9UIHNpemVfY2VudHJhbF9kaXJfdG9fcmVhZCA9IHNpemVfY2VudHJhbF9kaXI7CkBAIC04NzUsNyArODc1LDcgQEAKICAgICB6aWluaXQuaW5fb3BlbmVkX2ZpbGVfaW56aXAgPSAwOwogICAgIHppaW5pdC5jaS5zdHJlYW1faW5pdGlhbGlzZWQgPSAwOwogICAgIHppaW5pdC5udW1iZXJfZW50cnkgPSAwOwotICAgIHppaW5pdC5hZGRfcG9zaXRpb25fd2hlbl93cml0dGluZ19vZmZzZXQgPSAwOworICAgIHppaW5pdC5hZGRfcG9zaXRpb25fd2hlbl93cml0aW5nX29mZnNldCA9IDA7CiAgICAgaW5pdF9saW5rZWRsaXN0KCYoemlpbml0LmNlbnRyYWxfZGlyKSk7CiAKIApAQCAtOTU1LDcgKzk1NSw3IEBACiAgICAgcmV0dXJuIHppcE9wZW4zKHBhdGhuYW1lLGFwcGVuZCxOVUxMLE5VTEwpOwogfQogCi1pbnQgV3JpdGVfTG9jYWxGaWxlSGVhZGVyKHppcDY0X2ludGVybmFsKiB6aSwgY29uc3QgY2hhciogZmlsZW5hbWUsIHVJbnQgc2l6ZV9leHRyYWZpZWxkX2xvY2FsLCBjb25zdCB2b2lkKiBleHRyYWZpZWxkX2xvY2FsKQorbG9jYWwgaW50IFdyaXRlX0xvY2FsRmlsZUhlYWRlcih6aXA2NF9pbnRlcm5hbCogemksIGNvbnN0IGNoYXIqIGZpbGVuYW1lLCB1SW50IHNpemVfZXh0cmFmaWVsZF9sb2NhbCwgY29uc3Qgdm9pZCogZXh0cmFmaWVsZF9sb2NhbCkKIHsKICAgLyogd3JpdGUgdGhlIGxvY2FsIGhlYWRlciAqLwogICBpbnQgZXJyOwpAQCAtMTAzNCw4ICsxMDM0LDggQEAKICAgICAgIC8vIFJlbWVtYmVyIHBvc2l0aW9uIG9mIFppcDY0IGV4dGVuZGVkIGluZm8gZm9yIHRoZSBsb2NhbCBmaWxlIGhlYWRlci4gKG5lZWRlZCB3aGVuIHdlIHVwZGF0ZSBzaXplIGFmdGVyIGRvbmUgd2l0aCBmaWxlKQogICAgICAgemktPmNpLnBvc196aXA2NGV4dHJhaW5mbyA9IFpURUxMNjQoemktPnpfZmlsZWZ1bmMsemktPmZpbGVzdHJlYW0pOwogCi0gICAgICBlcnIgPSB6aXA2NGxvY2FsX3B1dFZhbHVlKCZ6aS0+el9maWxlZnVuYywgemktPmZpbGVzdHJlYW0sIChzaG9ydClIZWFkZXJJRCwyKTsKLSAgICAgIGVyciA9IHppcDY0bG9jYWxfcHV0VmFsdWUoJnppLT56X2ZpbGVmdW5jLCB6aS0+ZmlsZXN0cmVhbSwgKHNob3J0KURhdGFTaXplLDIpOworICAgICAgZXJyID0gemlwNjRsb2NhbF9wdXRWYWx1ZSgmemktPnpfZmlsZWZ1bmMsIHppLT5maWxlc3RyZWFtLCAoWlBPUzY0X1QpSGVhZGVySUQsMik7CisgICAgICBlcnIgPSB6aXA2NGxvY2FsX3B1dFZhbHVlKCZ6aS0+el9maWxlZnVuYywgemktPmZpbGVzdHJlYW0sIChaUE9TNjRfVClEYXRhU2l6ZSwyKTsKIAogICAgICAgZXJyID0gemlwNjRsb2NhbF9wdXRWYWx1ZSgmemktPnpfZmlsZWZ1bmMsIHppLT5maWxlc3RyZWFtLCAoWlBPUzY0X1QpVW5jb21wcmVzc2VkU2l6ZSw4KTsKICAgICAgIGVyciA9IHppcDY0bG9jYWxfcHV0VmFsdWUoJnppLT56X2ZpbGVmdW5jLCB6aS0+ZmlsZXN0cmVhbSwgKFpQT1M2NF9UKUNvbXByZXNzZWRTaXplLDgpOwpAQCAtMTE2NCw3ICsxMTY0LDcgQEAKICAgICBpZih6aS0+Y2kucG9zX2xvY2FsX2hlYWRlciA+PSAweGZmZmZmZmZmKQogICAgICAgemlwNjRsb2NhbF9wdXRWYWx1ZV9pbm1lbW9yeSh6aS0+Y2kuY2VudHJhbF9oZWFkZXIrNDIsKHVMb25nKTB4ZmZmZmZmZmYsNCk7CiAgICAgZWxzZQotICAgICAgemlwNjRsb2NhbF9wdXRWYWx1ZV9pbm1lbW9yeSh6aS0+Y2kuY2VudHJhbF9oZWFkZXIrNDIsKHVMb25nKXppLT5jaS5wb3NfbG9jYWxfaGVhZGVyIC0gemktPmFkZF9wb3NpdGlvbl93aGVuX3dyaXR0aW5nX29mZnNldCw0KTsKKyAgICAgIHppcDY0bG9jYWxfcHV0VmFsdWVfaW5tZW1vcnkoemktPmNpLmNlbnRyYWxfaGVhZGVyKzQyLCh1TG9uZyl6aS0+Y2kucG9zX2xvY2FsX2hlYWRlciAtIHppLT5hZGRfcG9zaXRpb25fd2hlbl93cml0aW5nX29mZnNldCw0KTsKIAogICAgIGZvciAoaT0wO2k8c2l6ZV9maWxlbmFtZTtpKyspCiAgICAgICAgICooemktPmNpLmNlbnRyYWxfaGVhZGVyK1NJWkVDRU5UUkFMSEVBREVSK2kpID0gKihmaWxlbmFtZStpKTsKQEAgLTE0NzEsMTEgKzE0NzEsNiBAQAogICAgICAgICAgIHsKICAgICAgICAgICAgICAgdUxvbmcgdVRvdGFsT3V0QmVmb3JlID0gemktPmNpLnN0cmVhbS50b3RhbF9vdXQ7CiAgICAgICAgICAgICAgIGVycj1kZWZsYXRlKCZ6aS0+Y2kuc3RyZWFtLCAgWl9OT19GTFVTSCk7Ci0gICAgICAgICAgICAgIGlmKHVUb3RhbE91dEJlZm9yZSA+IHppLT5jaS5zdHJlYW0udG90YWxfb3V0KQotICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgaW50IGJCcmVhayA9IDA7Ci0gICAgICAgICAgICAgICAgYkJyZWFrKys7Ci0gICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgICB6aS0+Y2kucG9zX2luX2J1ZmZlcmVkX2RhdGEgKz0gKHVJbnQpKHppLT5jaS5zdHJlYW0udG90YWxfb3V0IC0gdVRvdGFsT3V0QmVmb3JlKSA7CiAgICAgICAgICAgfQpAQCAtMTUxNiw3ICsxNTExLDcgQEAKICAgICB6aXA2NF9pbnRlcm5hbCogemk7CiAgICAgWlBPUzY0X1QgY29tcHJlc3NlZF9zaXplOwogICAgIHVMb25nIGludmFsaWRWYWx1ZSA9IDB4ZmZmZmZmZmY7Ci0gICAgc2hvcnQgZGF0YXNpemUgPSAwOworICAgIHVuc2lnbmVkIGRhdGFzaXplID0gMDsKICAgICBpbnQgZXJyPVpJUF9PSzsKIAogICAgIGlmIChmaWxlID09IE5VTEwpCkBAIC0xNzUyLDEwICsxNzQ3LDEwIEBACiAgICAgcmV0dXJuIHppcENsb3NlRmlsZUluWmlwUmF3IChmaWxlLDAsMCk7CiB9CiAKLWludCBXcml0ZV9aaXA2NEVuZE9mQ2VudHJhbERpcmVjdG9yeUxvY2F0b3IoemlwNjRfaW50ZXJuYWwqIHppLCBaUE9TNjRfVCB6aXA2NGVvY2RfcG9zX2luemlwKQorbG9jYWwgaW50IFdyaXRlX1ppcDY0RW5kT2ZDZW50cmFsRGlyZWN0b3J5TG9jYXRvcih6aXA2NF9pbnRlcm5hbCogemksIFpQT1M2NF9UIHppcDY0ZW9jZF9wb3NfaW56aXApCiB7CiAgIGludCBlcnIgPSBaSVBfT0s7Ci0gIFpQT1M2NF9UIHBvcyA9IHppcDY0ZW9jZF9wb3NfaW56aXAgLSB6aS0+YWRkX3Bvc2l0aW9uX3doZW5fd3JpdHRpbmdfb2Zmc2V0OworICBaUE9TNjRfVCBwb3MgPSB6aXA2NGVvY2RfcG9zX2luemlwIC0gemktPmFkZF9wb3NpdGlvbl93aGVuX3dyaXRpbmdfb2Zmc2V0OwogCiAgIGVyciA9IHppcDY0bG9jYWxfcHV0VmFsdWUoJnppLT56X2ZpbGVmdW5jLHppLT5maWxlc3RyZWFtLCh1TG9uZylaSVA2NEVORExPQ0hFQURFUk1BR0lDLDQpOwogCkBAIC0xNzc0LDcgKzE3NjksNyBAQAogICAgIHJldHVybiBlcnI7CiB9CiAKLWludCBXcml0ZV9aaXA2NEVuZE9mQ2VudHJhbERpcmVjdG9yeVJlY29yZCh6aXA2NF9pbnRlcm5hbCogemksIHVMb25nIHNpemVfY2VudHJhbGRpciwgWlBPUzY0X1QgY2VudHJhbGRpcl9wb3NfaW56aXApCitsb2NhbCBpbnQgV3JpdGVfWmlwNjRFbmRPZkNlbnRyYWxEaXJlY3RvcnlSZWNvcmQoemlwNjRfaW50ZXJuYWwqIHppLCB1TG9uZyBzaXplX2NlbnRyYWxkaXIsIFpQT1M2NF9UIGNlbnRyYWxkaXJfcG9zX2luemlwKQogewogICBpbnQgZXJyID0gWklQX09LOwogCkBAIC0xODA4LDEyICsxODAzLDEyIEBACiAKICAgaWYgKGVycj09WklQX09LKSAvKiBvZmZzZXQgb2Ygc3RhcnQgb2YgY2VudHJhbCBkaXJlY3Rvcnkgd2l0aCByZXNwZWN0IHRvIHRoZSBzdGFydGluZyBkaXNrIG51bWJlciAqLwogICB7Ci0gICAgWlBPUzY0X1QgcG9zID0gY2VudHJhbGRpcl9wb3NfaW56aXAgLSB6aS0+YWRkX3Bvc2l0aW9uX3doZW5fd3JpdHRpbmdfb2Zmc2V0OworICAgIFpQT1M2NF9UIHBvcyA9IGNlbnRyYWxkaXJfcG9zX2luemlwIC0gemktPmFkZF9wb3NpdGlvbl93aGVuX3dyaXRpbmdfb2Zmc2V0OwogICAgIGVyciA9IHppcDY0bG9jYWxfcHV0VmFsdWUoJnppLT56X2ZpbGVmdW5jLHppLT5maWxlc3RyZWFtLCAoWlBPUzY0X1QpcG9zLDgpOwogICB9CiAgIHJldHVybiBlcnI7CiB9Ci1pbnQgV3JpdGVfRW5kT2ZDZW50cmFsRGlyZWN0b3J5UmVjb3JkKHppcDY0X2ludGVybmFsKiB6aSwgdUxvbmcgc2l6ZV9jZW50cmFsZGlyLCBaUE9TNjRfVCBjZW50cmFsZGlyX3Bvc19pbnppcCkKK2xvY2FsIGludCBXcml0ZV9FbmRPZkNlbnRyYWxEaXJlY3RvcnlSZWNvcmQoemlwNjRfaW50ZXJuYWwqIHppLCB1TG9uZyBzaXplX2NlbnRyYWxkaXIsIFpQT1M2NF9UIGNlbnRyYWxkaXJfcG9zX2luemlwKQogewogICBpbnQgZXJyID0gWklQX09LOwogCkBAIC0xODQ5LDE5ICsxODQ0LDE5IEBACiAKICAgaWYgKGVycj09WklQX09LKSAvKiBvZmZzZXQgb2Ygc3RhcnQgb2YgY2VudHJhbCBkaXJlY3Rvcnkgd2l0aCByZXNwZWN0IHRvIHRoZSBzdGFydGluZyBkaXNrIG51bWJlciAqLwogICB7Ci0gICAgWlBPUzY0X1QgcG9zID0gY2VudHJhbGRpcl9wb3NfaW56aXAgLSB6aS0+YWRkX3Bvc2l0aW9uX3doZW5fd3JpdHRpbmdfb2Zmc2V0OworICAgIFpQT1M2NF9UIHBvcyA9IGNlbnRyYWxkaXJfcG9zX2luemlwIC0gemktPmFkZF9wb3NpdGlvbl93aGVuX3dyaXRpbmdfb2Zmc2V0OwogICAgIGlmKHBvcyA+PSAweGZmZmZmZmZmKQogICAgIHsKICAgICAgIGVyciA9IHppcDY0bG9jYWxfcHV0VmFsdWUoJnppLT56X2ZpbGVmdW5jLHppLT5maWxlc3RyZWFtLCAodUxvbmcpMHhmZmZmZmZmZiw0KTsKICAgICB9CiAgICAgZWxzZQotICAgICAgZXJyID0gemlwNjRsb2NhbF9wdXRWYWx1ZSgmemktPnpfZmlsZWZ1bmMsemktPmZpbGVzdHJlYW0sICh1TG9uZykoY2VudHJhbGRpcl9wb3NfaW56aXAgLSB6aS0+YWRkX3Bvc2l0aW9uX3doZW5fd3JpdHRpbmdfb2Zmc2V0KSw0KTsKKyAgICAgIGVyciA9IHppcDY0bG9jYWxfcHV0VmFsdWUoJnppLT56X2ZpbGVmdW5jLHppLT5maWxlc3RyZWFtLCAodUxvbmcpKGNlbnRyYWxkaXJfcG9zX2luemlwIC0gemktPmFkZF9wb3NpdGlvbl93aGVuX3dyaXRpbmdfb2Zmc2V0KSw0KTsKICAgfQogCiAgICByZXR1cm4gZXJyOwogfQogCi1pbnQgV3JpdGVfR2xvYmFsQ29tbWVudCh6aXA2NF9pbnRlcm5hbCogemksIGNvbnN0IGNoYXIqIGdsb2JhbF9jb21tZW50KQorbG9jYWwgaW50IFdyaXRlX0dsb2JhbENvbW1lbnQoemlwNjRfaW50ZXJuYWwqIHppLCBjb25zdCBjaGFyKiBnbG9iYWxfY29tbWVudCkKIHsKICAgaW50IGVyciA9IFpJUF9PSzsKICAgdUludCBzaXplX2dsb2JhbF9jb21tZW50ID0gMDsKQEAgLTE5MjEsNyArMTkxNiw3IEBACiAgICAgfQogICAgIGZyZWVfbGlua2VkbGlzdCgmKHppLT5jZW50cmFsX2RpcikpOwogCi0gICAgcG9zID0gY2VudHJhbGRpcl9wb3NfaW56aXAgLSB6aS0+YWRkX3Bvc2l0aW9uX3doZW5fd3JpdHRpbmdfb2Zmc2V0OworICAgIHBvcyA9IGNlbnRyYWxkaXJfcG9zX2luemlwIC0gemktPmFkZF9wb3NpdGlvbl93aGVuX3dyaXRpbmdfb2Zmc2V0OwogICAgIGlmKHBvcyA+PSAweGZmZmZmZmZmIHx8IHppLT5udW1iZXJfZW50cnkgPiAweEZGRkYpCiAgICAgewogICAgICAgWlBPUzY0X1QgWmlwNjRFT0NEcG9zID0gWlRFTEw2NCh6aS0+el9maWxlZnVuYyx6aS0+ZmlsZXN0cmVhbSk7CkBAIC0xOTU5LDEwICsxOTU0LDEwIEBACiAKICAgaW50IHJldFZhbCA9IFpJUF9PSzsKIAotICBpZihwRGF0YSA9PSBOVUxMIHx8ICpkYXRhTGVuIDwgNCkKKyAgaWYocERhdGEgPT0gTlVMTCB8fCBkYXRhTGVuID09IE5VTEwgfHwgKmRhdGFMZW4gPCA0KQogICAgIHJldHVybiBaSVBfUEFSQU1FUlJPUjsKIAotICBwTmV3SGVhZGVyID0gKGNoYXIqKUFMTE9DKCpkYXRhTGVuKTsKKyAgcE5ld0hlYWRlciA9IChjaGFyKilBTExPQygodW5zaWduZWQpKmRhdGFMZW4pOwogICBwVG1wID0gcE5ld0hlYWRlcjsKIAogICB3aGlsZShwIDwgKHBEYXRhICsgKmRhdGFMZW4pKQpkaWZmIC0tZ2l0IGEvc3JjL2NvbnRyaWIvbWluaXppcC96aXAuaCBiL3NyYy9jb250cmliL21pbml6aXAvemlwLmgKaW5kZXggOGFhZWJiNi4uN2U0NTA5ZCAxMDA2NDQKLS0tIGEvc3JjL2NvbnRyaWIvbWluaXppcC96aXAuaAorKysgYi9zcmMvY29udHJpYi9taW5pemlwL3ppcC5oCkBAIC04OCwxMiArODgsMTIgQEAKIC8qIHRtX3ppcCBjb250YWluIGRhdGUvdGltZSBpbmZvICovCiB0eXBlZGVmIHN0cnVjdCB0bV96aXBfcwogewotICAgIHVJbnQgdG1fc2VjOyAgICAgICAgICAgIC8qIHNlY29uZHMgYWZ0ZXIgdGhlIG1pbnV0ZSAtIFswLDU5XSAqLwotICAgIHVJbnQgdG1fbWluOyAgICAgICAgICAgIC8qIG1pbnV0ZXMgYWZ0ZXIgdGhlIGhvdXIgLSBbMCw1OV0gKi8KLSAgICB1SW50IHRtX2hvdXI7ICAgICAgICAgICAvKiBob3VycyBzaW5jZSBtaWRuaWdodCAtIFswLDIzXSAqLwotICAgIHVJbnQgdG1fbWRheTsgICAgICAgICAgIC8qIGRheSBvZiB0aGUgbW9udGggLSBbMSwzMV0gKi8KLSAgICB1SW50IHRtX21vbjsgICAgICAgICAgICAvKiBtb250aHMgc2luY2UgSmFudWFyeSAtIFswLDExXSAqLwotICAgIHVJbnQgdG1feWVhcjsgICAgICAgICAgIC8qIHllYXJzIC0gWzE5ODAuLjIwNDRdICovCisgICAgaW50IHRtX3NlYzsgICAgICAgICAgICAgLyogc2Vjb25kcyBhZnRlciB0aGUgbWludXRlIC0gWzAsNTldICovCisgICAgaW50IHRtX21pbjsgICAgICAgICAgICAgLyogbWludXRlcyBhZnRlciB0aGUgaG91ciAtIFswLDU5XSAqLworICAgIGludCB0bV9ob3VyOyAgICAgICAgICAgIC8qIGhvdXJzIHNpbmNlIG1pZG5pZ2h0IC0gWzAsMjNdICovCisgICAgaW50IHRtX21kYXk7ICAgICAgICAgICAgLyogZGF5IG9mIHRoZSBtb250aCAtIFsxLDMxXSAqLworICAgIGludCB0bV9tb247ICAgICAgICAgICAgIC8qIG1vbnRocyBzaW5jZSBKYW51YXJ5IC0gWzAsMTFdICovCisgICAgaW50IHRtX3llYXI7ICAgICAgICAgICAgLyogeWVhcnMgLSBbMTk4MC4uMjA0NF0gKi8KIH0gdG1femlwOwogCiB0eXBlZGVmIHN0cnVjdApAQCAtMTQ0LDYgKzE0NCwxMSBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB6aXBjaGFycGMqIGdsb2JhbGNvbW1lbnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHpsaWJfZmlsZWZ1bmM2NF9kZWYqIHB6bGliX2ZpbGVmdW5jX2RlZikpOwogCitleHRlcm4gemlwRmlsZSBaRVhQT1JUIHppcE9wZW4zIE9GKChjb25zdCB2b2lkICpwYXRobmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBhcHBlbmQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB6aXBjaGFycGMqIGdsb2JhbGNvbW1lbnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB6bGliX2ZpbGVmdW5jNjRfMzJfZGVmKiBwemxpYl9maWxlZnVuYzY0XzMyX2RlZikpOworCiBleHRlcm4gaW50IFpFWFBPUlQgemlwT3Blbk5ld0ZpbGVJblppcCBPRigoemlwRmlsZSBmaWxlLAogICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyKiBmaWxlbmFtZSwKICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgemlwX2ZpbGVpbmZvKiB6aXBmaSwKZGlmZiAtLWdpdCBhL3NyYy9jb250cmliL3Bhc2NhbC96bGlicGFzLnBhcyBiL3NyYy9jb250cmliL3Bhc2NhbC96bGlicGFzLnBhcwppbmRleCBlNmEwNzgyLi5iZjNmZmY2IDEwMDY0NAotLS0gYS9zcmMvY29udHJpYi9wYXNjYWwvemxpYnBhcy5wYXMKKysrIGIvc3JjL2NvbnRyaWIvcGFzY2FsL3psaWJwYXMucGFzCkBAIC0xMCw4ICsxMCw4IEBACiBpbnRlcmZhY2UKIAogY29uc3QKLSAgWkxJQl9WRVJTSU9OID0gJzEuMi44JzsKLSAgWkxJQl9WRVJOVU0gID0gJDEyODA7CisgIFpMSUJfVkVSU0lPTiA9ICcxLjIuMTMnOworICBaTElCX1ZFUk5VTSAgPSAkMTJhMDsKIAogdHlwZQogICBhbGxvY19mdW5jID0gZnVuY3Rpb24ob3BhcXVlOiBQb2ludGVyOyBpdGVtcywgc2l6ZTogSW50ZWdlcik6IFBvaW50ZXI7CmRpZmYgLS1naXQgYS9zcmMvY29udHJpYi9wdWZmL1JFQURNRSBiL3NyYy9jb250cmliL3B1ZmYvUkVBRE1FCmluZGV4IGJiYzRjYjUuLmQ4MTkyYzcgMTAwNjQ0Ci0tLSBhL3NyYy9jb250cmliL3B1ZmYvUkVBRE1FCisrKyBiL3NyYy9jb250cmliL3B1ZmYvUkVBRE1FCkBAIC0zOCw3ICszOCw3IEBACiBpdHMgZW50aXJldHkgYXQgc291cmNlLCB0byBhIHN1ZmZpY2llbnRseSBzaXplZCBibG9jayBvZiBtZW1vcnkgZm9yIHRoZQogZGVjb21wcmVzc2VkIGRhdGEgYXQgZGVzdC4gIHB1ZmYoKSBpcyB0aGUgb25seSBleHRlcm5hbCBzeW1ib2wgaW4gcHVmZi5jICBUaGUKIG9ubHkgQyBsaWJyYXJ5IGZ1bmN0aW9ucyB0aGF0IHB1ZmYuYyBuZWVkcyBhcmUgc2V0am1wKCkgYW5kIGxvbmdqbXAoKSwgd2hpY2gKLWFyZSB1c2VkIHRvIHNpbXBsaWZ5IGVycm9yIGNoZWNraW5nIGluIHRoZSBjb2RlIHRvIGltcHJvdmUgcmVhZGFiaWx0eS4gIHB1ZmYuYworYXJlIHVzZWQgdG8gc2ltcGxpZnkgZXJyb3IgY2hlY2tpbmcgaW4gdGhlIGNvZGUgdG8gaW1wcm92ZSByZWFkYWJpbGl0eS4gIHB1ZmYuYwogZG9lcyBubyBtZW1vcnkgYWxsb2NhdGlvbiwgYW5kIHVzZXMgbGVzcyB0aGFuIDJLIGJ5dGVzIG9mZiBvZiB0aGUgc3RhY2suCiAKIElmIGRlc3RsZW4gaXMgbm90IGVub3VnaCBzcGFjZSBmb3IgdGhlIHVuY29tcHJlc3NlZCBkYXRhLCB0aGVuIGluZmxhdGUgd2lsbApkaWZmIC0tZ2l0IGEvc3JjL2NvbnRyaWIvcHVmZi9wdWZmLmMgYi9zcmMvY29udHJpYi9wdWZmL3B1ZmYuYwppbmRleCBiYTU4NDgzLi42NzM3ZmY2IDEwMDY0NAotLS0gYS9zcmMvY29udHJpYi9wdWZmL3B1ZmYuYworKysgYi9zcmMvY29udHJpYi9wdWZmL3B1ZmYuYwpAQCAtMTcsNyArMTcsNyBAQAogICogQWxsIGR5bmFtaWNhbGx5IGFsbG9jYXRlZCBtZW1vcnkgY29tZXMgZnJvbSB0aGUgc3RhY2suICBUaGUgc3RhY2sgcmVxdWlyZWQKICAqIGlzIGxlc3MgdGhhbiAySyBieXRlcy4gIFRoaXMgY29kZSBpcyBjb21wYXRpYmxlIHdpdGggMTYtYml0IGludCdzIGFuZAogICogYXNzdW1lcyB0aGF0IGxvbmcncyBhcmUgYXQgbGVhc3QgMzIgYml0cy4gIHB1ZmYuYyB1c2VzIHRoZSBzaG9ydCBkYXRhIHR5cGUsCi0gKiBhc3N1bWVkIHRvIGJlIDE2IGJpdHMsIGZvciBhcnJheXMgaW4gb3JkZXIgdG8gdG8gY29uc2VydmUgbWVtb3J5LiAgVGhlIGNvZGUKKyAqIGFzc3VtZWQgdG8gYmUgMTYgYml0cywgZm9yIGFycmF5cyBpbiBvcmRlciB0byBjb25zZXJ2ZSBtZW1vcnkuICBUaGUgY29kZQogICogd29ya3Mgd2hldGhlciBpbnRlZ2VycyBhcmUgc3RvcmVkIGJpZyBlbmRpYW4gb3IgbGl0dGxlIGVuZGlhbi4KICAqCiAgKiBJbiB0aGUgY29tbWVudHMgYmVsb3cgYXJlICJGb3JtYXQgbm90ZXMiIHRoYXQgZGVzY3JpYmUgdGhlIGluZmxhdGUgcHJvY2VzcwpAQCAtNDMsNyArNDMsNyBAQAogICogICAgICAgICAgICAgICAgICAgICAgLSBVc2UgcG9pbnRlcnMgaW5zdGVhZCBvZiBsb25nIHRvIHNwZWNpZnkgc291cmNlIGFuZAogICogICAgICAgICAgICAgICAgICAgICAgICBkZXN0aW5hdGlvbiBzaXplcyB0byBhdm9pZCBhcmJpdHJhcnkgNCBHQiBsaW1pdHMKICAqIDEuMiAgMTcgTWFyIDIwMDIgICAgIC0gQWRkIGZhc3RlciB2ZXJzaW9uIG9mIGRlY29kZSgpLCBkb3VibGVzIHNwZWVkICghKSwKLSAqICAgICAgICAgICAgICAgICAgICAgICAgYnV0IGxlYXZlIHNpbXBsZSB2ZXJzaW9uIGZvciByZWFkYWJpbHR5CisgKiAgICAgICAgICAgICAgICAgICAgICAgIGJ1dCBsZWF2ZSBzaW1wbGUgdmVyc2lvbiBmb3IgcmVhZGFiaWxpdHkKICAqICAgICAgICAgICAgICAgICAgICAgIC0gTWFrZSBzdXJlIGludmFsaWQgZGlzdGFuY2VzIGRldGVjdGVkIGlmIHBvaW50ZXJzCiAgKiAgICAgICAgICAgICAgICAgICAgICAgIGFyZSAxNiBiaXRzCiAgKiAgICAgICAgICAgICAgICAgICAgICAtIEZpeCBmaXhlZCBjb2RlcyB0YWJsZSBlcnJvcgpAQCAtNjI0LDcgKzYyNCw3IEBACiAgKiAgIGFyZSB0aGVtc2VsdmVzIGNvbXByZXNzZWQgdXNpbmcgSHVmZm1hbiBjb2RlcyBhbmQgcnVuLWxlbmd0aCBlbmNvZGluZy4gIEluCiAgKiAgIHRoZSBsaXN0IG9mIGNvZGUgbGVuZ3RocywgYSAwIHN5bWJvbCBtZWFucyBubyBjb2RlLCBhIDEuLjE1IHN5bWJvbCBtZWFucwogICogICB0aGF0IGxlbmd0aCwgYW5kIHRoZSBzeW1ib2xzIDE2LCAxNywgYW5kIDE4IGFyZSBydW4tbGVuZ3RoIGluc3RydWN0aW9ucy4KLSAqICAgRWFjaCBvZiAxNiwgMTcsIGFuZCAxOCBhcmUgZm9sbHdlZCBieSBleHRyYSBiaXRzIHRvIGRlZmluZSB0aGUgbGVuZ3RoIG9mCisgKiAgIEVhY2ggb2YgMTYsIDE3LCBhbmQgMTggYXJlIGZvbGxvd2VkIGJ5IGV4dHJhIGJpdHMgdG8gZGVmaW5lIHRoZSBsZW5ndGggb2YKICAqICAgdGhlIHJ1bi4gIDE2IGNvcGllcyB0aGUgbGFzdCBsZW5ndGggMyB0byA2IHRpbWVzLiAgMTcgcmVwcmVzZW50cyAzIHRvIDEwCiAgKiAgIHplcm8gbGVuZ3RocywgYW5kIDE4IHJlcHJlc2VudHMgMTEgdG8gMTM4IHplcm8gbGVuZ3Rocy4gIFVudXNlZCBzeW1ib2xzCiAgKiAgIGFyZSBjb21tb24sIGhlbmNlIHRoZSBzcGVjaWFsIGNvZGluZyBmb3IgemVybyBsZW5ndGhzLgpkaWZmIC0tZ2l0IGEvc3JjL2NvbnRyaWIvcHVmZi9wdWZmdGVzdC5jIGIvc3JjL2NvbnRyaWIvcHVmZi9wdWZmdGVzdC5jCmluZGV4IDc3NjQ4MTQuLjVmNzJlY2MgMTAwNjQ0Ci0tLSBhL3NyYy9jb250cmliL3B1ZmYvcHVmZnRlc3QuYworKysgYi9zcmMvY29udHJpYi9wdWZmL3B1ZmZ0ZXN0LmMKQEAgLTE0Myw3ICsxNDMsNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlbiAtIHNvdXJjZWxlbik7CiAgICAgfQogCi0gICAgLyogaWYgcmVxdWVzdGVkLCBpbmZsYXRlIGFnYWluIGFuZCB3cml0ZSBkZWNvbXByZXNzZCBkYXRhIHRvIHN0ZG91dCAqLworICAgIC8qIGlmIHJlcXVlc3RlZCwgaW5mbGF0ZSBhZ2FpbiBhbmQgd3JpdGUgZGVjb21wcmVzc2VkIGRhdGEgdG8gc3Rkb3V0ICovCiAgICAgaWYgKHB1dCAmJiByZXQgPT0gMCkgewogICAgICAgICBpZiAoZmFpbCkKICAgICAgICAgICAgIGRlc3RsZW4gPj49IDE7CmRpZmYgLS1naXQgYS9zcmMvY29udHJpYi92c3R1ZGlvL3JlYWRtZS50eHQgYi9zcmMvY29udHJpYi92c3R1ZGlvL3JlYWRtZS50eHQKaW5kZXggYmZkY2Q5ZC4uMTdlNjkzZiAxMDA2NDQKLS0tIGEvc3JjL2NvbnRyaWIvdnN0dWRpby9yZWFkbWUudHh0CisrKyBiL3NyYy9jb250cmliL3ZzdHVkaW8vcmVhZG1lLnR4dApAQCAtMSw0ICsxLDQgQEAKLUJ1aWxkaW5nIGluc3RydWN0aW9ucyBmb3IgdGhlIERMTCB2ZXJzaW9ucyBvZiBabGliIDEuMi44DQorQnVpbGRpbmcgaW5zdHJ1Y3Rpb25zIGZvciB0aGUgRExMIHZlcnNpb25zIG9mIFpsaWIgMS4yLjEzDQogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCiANCiBUaGlzIGRpcmVjdG9yeSBjb250YWlucyBwcm9qZWN0cyB0aGF0IGJ1aWxkIHpsaWIgYW5kIG1pbml6aXAgdXNpbmcNCkBAIC0xNiwyMyArMTYsMzAgQEAKIA0KIEJ1aWxkIGluc3RydWN0aW9ucyBmb3IgVmlzdWFsIFN0dWRpbyAyMDA4ICgzMiBiaXRzIG9yIDY0IGJpdHMpDQogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCi0tIFVuY29tcHJlc3MgY3VycmVudCB6bGliLCBpbmNsdWRpbmcgYWxsIGNvbnRyaWIvKiBmaWxlcw0KLS0gQ29tcGlsZSBhc3NlbWJseSBjb2RlICh3aXRoIFZpc3VhbCBTdHVkaW8gQ29tbWFuZCBQcm9tcHQpIGJ5IHJ1bm5pbmc6DQotICAgYmxkX21sNjQuYmF0IChpbiBjb250cmliXG1hc214NjQpDQotICAgYmxkX21sMzIuYmF0IChpbiBjb250cmliXG1hc214ODYpDQorLSBEZWNvbXByZXNzIGN1cnJlbnQgemxpYiwgaW5jbHVkaW5nIGFsbCBjb250cmliLyogZmlsZXMNCiAtIE9wZW4gY29udHJpYlx2c3R1ZGlvXHZjOVx6bGlidmMuc2xuIHdpdGggTWljcm9zb2Z0IFZpc3VhbCBDKysgMjAwOA0KIC0gT3IgcnVuOiB2Y2J1aWxkIC9yZWJ1aWxkIGNvbnRyaWJcdnN0dWRpb1x2YzlcemxpYnZjLnNsbiAiUmVsZWFzZXxXaW4zMiINCiANCiBCdWlsZCBpbnN0cnVjdGlvbnMgZm9yIFZpc3VhbCBTdHVkaW8gMjAxMCAoMzIgYml0cyBvciA2NCBiaXRzKQ0KIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQotLSBVbmNvbXByZXNzIGN1cnJlbnQgemxpYiwgaW5jbHVkaW5nIGFsbCBjb250cmliLyogZmlsZXMNCistIERlY29tcHJlc3MgY3VycmVudCB6bGliLCBpbmNsdWRpbmcgYWxsIGNvbnRyaWIvKiBmaWxlcw0KIC0gT3BlbiBjb250cmliXHZzdHVkaW9cdmMxMFx6bGlidmMuc2xuIHdpdGggTWljcm9zb2Z0IFZpc3VhbCBDKysgMjAxMA0KIA0KIEJ1aWxkIGluc3RydWN0aW9ucyBmb3IgVmlzdWFsIFN0dWRpbyAyMDEyICgzMiBiaXRzIG9yIDY0IGJpdHMpDQogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCi0tIFVuY29tcHJlc3MgY3VycmVudCB6bGliLCBpbmNsdWRpbmcgYWxsIGNvbnRyaWIvKiBmaWxlcw0KKy0gRGVjb21wcmVzcyBjdXJyZW50IHpsaWIsIGluY2x1ZGluZyBhbGwgY29udHJpYi8qIGZpbGVzDQogLSBPcGVuIGNvbnRyaWJcdnN0dWRpb1x2YzExXHpsaWJ2Yy5zbG4gd2l0aCBNaWNyb3NvZnQgVmlzdWFsIEMrKyAyMDEyDQogDQorQnVpbGQgaW5zdHJ1Y3Rpb25zIGZvciBWaXN1YWwgU3R1ZGlvIDIwMTMgKDMyIGJpdHMgb3IgNjQgYml0cykNCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKy0gRGVjb21wcmVzcyBjdXJyZW50IHpsaWIsIGluY2x1ZGluZyBhbGwgY29udHJpYi8qIGZpbGVzDQorLSBPcGVuIGNvbnRyaWJcdnN0dWRpb1x2YzEyXHpsaWJ2Yy5zbG4gd2l0aCBNaWNyb3NvZnQgVmlzdWFsIEMrKyAyMDEzDQorDQorQnVpbGQgaW5zdHJ1Y3Rpb25zIGZvciBWaXN1YWwgU3R1ZGlvIDIwMTUgKDMyIGJpdHMgb3IgNjQgYml0cykNCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKy0gRGVjb21wcmVzcyBjdXJyZW50IHpsaWIsIGluY2x1ZGluZyBhbGwgY29udHJpYi8qIGZpbGVzDQorLSBPcGVuIGNvbnRyaWJcdnN0dWRpb1x2YzE0XHpsaWJ2Yy5zbG4gd2l0aCBNaWNyb3NvZnQgVmlzdWFsIEMrKyAyMDE1DQorDQogDQogSW1wb3J0YW50DQogLS0tLS0tLS0tDQpAQCAtNjMsMyArNzAsNiBAQAogDQogR2lsbGVzIFZvbGxhbnQNCiBpbmZvQHdpbmltYWdlLmNvbQ0KKw0KK1Zpc3VhbCBTdHVkaW8gMjAxMyBhbmQgMjAxNSBQcm9qZWN0cyBmcm9tIFNlYW4gSHVudA0KK3NlYW5kaHVudF83QHlhaG9vLmNvbQ0KZGlmZiAtLWdpdCBhL3NyYy9jb250cmliL3ZzdHVkaW8vdmMxMC9taW5pdW56LnZjeHByb2ouZmlsdGVycyBiL3NyYy9jb250cmliL3ZzdHVkaW8vdmMxMC9taW5pdW56LnZjeHByb2ouZmlsdGVycwppbmRleCAwYjJhM2RlLi5lNTM1NTZhIDEwMDY0NAotLS0gYS9zcmMvY29udHJpYi92c3R1ZGlvL3ZjMTAvbWluaXVuei52Y3hwcm9qLmZpbHRlcnMKKysrIGIvc3JjL2NvbnRyaWIvdnN0dWRpby92YzEwL21pbml1bnoudmN4cHJvai5maWx0ZXJzCkBAIC0zLDcgKzMsNyBAQAogICA8SXRlbUdyb3VwPg0KICAgICA8RmlsdGVyIEluY2x1ZGU9IlNvdXJjZSBGaWxlcyI+DQogICAgICAgPFVuaXF1ZUlkZW50aWZpZXI+ezA0OGFmOTQzLTAyMmItNGRiNi1iZWViLWE1NGMzNDc3NGVlMn08L1VuaXF1ZUlkZW50aWZpZXI+DQotICAgICAgPEV4dGVuc2lvbnM+Y3BwO2M7Y3h4O2RlZjtvZGw7aWRsO2hwajtiYXQ7YXNtPC9FeHRlbnNpb25zPg0KKyAgICAgIDxFeHRlbnNpb25zPmNwcDtjO2N4eDtkZWY7b2RsO2lkbDtocGo7YmF0PC9FeHRlbnNpb25zPg0KICAgICA8L0ZpbHRlcj4NCiAgICAgPEZpbHRlciBJbmNsdWRlPSJIZWFkZXIgRmlsZXMiPg0KICAgICAgIDxVbmlxdWVJZGVudGlmaWVyPntjMWQ2MDBkMi04ODhmLTRhZWEtYjczZS04YjBkZDliZWZhMGN9PC9VbmlxdWVJZGVudGlmaWVyPg0KZGlmZiAtLWdpdCBhL3NyYy9jb250cmliL3ZzdHVkaW8vdmMxMC9taW5pemlwLnZjeHByb2ouZmlsdGVycyBiL3NyYy9jb250cmliL3ZzdHVkaW8vdmMxMC9taW5pemlwLnZjeHByb2ouZmlsdGVycwppbmRleCBkZDczY2QzLi5iZDE4ZDcxIDEwMDY0NAotLS0gYS9zcmMvY29udHJpYi92c3R1ZGlvL3ZjMTAvbWluaXppcC52Y3hwcm9qLmZpbHRlcnMKKysrIGIvc3JjL2NvbnRyaWIvdnN0dWRpby92YzEwL21pbml6aXAudmN4cHJvai5maWx0ZXJzCkBAIC0zLDcgKzMsNyBAQAogICA8SXRlbUdyb3VwPg0KICAgICA8RmlsdGVyIEluY2x1ZGU9IlNvdXJjZSBGaWxlcyI+DQogICAgICAgPFVuaXF1ZUlkZW50aWZpZXI+e2MwNDE5YjQwLWJmNTAtNDBkYS1iMTUzLWZmNzQyMTViNzlkZX08L1VuaXF1ZUlkZW50aWZpZXI+DQotICAgICAgPEV4dGVuc2lvbnM+Y3BwO2M7Y3h4O2RlZjtvZGw7aWRsO2hwajtiYXQ7YXNtPC9FeHRlbnNpb25zPg0KKyAgICAgIDxFeHRlbnNpb25zPmNwcDtjO2N4eDtkZWY7b2RsO2lkbDtocGo7YmF0PC9FeHRlbnNpb25zPg0KICAgICA8L0ZpbHRlcj4NCiAgICAgPEZpbHRlciBJbmNsdWRlPSJIZWFkZXIgRmlsZXMiPg0KICAgICAgIDxVbmlxdWVJZGVudGlmaWVyPntiYjg3YjA3MC03MzViLTQ3OGUtOTJjZS03MzgzYWJiMmYzNmN9PC9VbmlxdWVJZGVudGlmaWVyPg0KZGlmZiAtLWdpdCBhL3NyYy9jb250cmliL3ZzdHVkaW8vdmMxMC90ZXN0emxpYi52Y3hwcm9qIGIvc3JjL2NvbnRyaWIvdnN0dWRpby92YzEwL3Rlc3R6bGliLnZjeHByb2oKaW5kZXggOTA4OGQxNy4uMGU2NjhmNyAxMDA2NDQKLS0tIGEvc3JjL2NvbnRyaWIvdnN0dWRpby92YzEwL3Rlc3R6bGliLnZjeHByb2oKKysrIGIvc3JjL2NvbnRyaWIvdnN0dWRpby92YzEwL3Rlc3R6bGliLnZjeHByb2oKQEAgLTE4MSw3ICsxODEsNyBAQAogICAgIDxDbENvbXBpbGU+DQogICAgICAgPE9wdGltaXphdGlvbj5EaXNhYmxlZDwvT3B0aW1pemF0aW9uPg0KICAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXC4uXC4uOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+DQotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPkFTTVY7QVNNSU5GO1dJTjMyO1pMSUJfV0lOQVBJO19ERUJVRztfQ09OU09MRTtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFO19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fV0FSTklOR1M7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPg0KKyAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5XSU4zMjtaTElCX1dJTkFQSTtfREVCVUc7X0NPTlNPTEU7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX1dBUk5JTkdTOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4NCiAgICAgICA8TWluaW1hbFJlYnVpbGQ+dHJ1ZTwvTWluaW1hbFJlYnVpbGQ+DQogICAgICAgPEJhc2ljUnVudGltZUNoZWNrcz5EZWZhdWx0PC9CYXNpY1J1bnRpbWVDaGVja3M+DQogICAgICAgPFJ1bnRpbWVMaWJyYXJ5Pk11bHRpVGhyZWFkZWREZWJ1ZzwvUnVudGltZUxpYnJhcnk+DQpAQCAtMTk0LDcgKzE5NCw3IEBACiAgICAgICA8RGVidWdJbmZvcm1hdGlvbkZvcm1hdD5FZGl0QW5kQ29udGludWU8L0RlYnVnSW5mb3JtYXRpb25Gb3JtYXQ+DQogICAgIDwvQ2xDb21waWxlPg0KICAgICA8TGluaz4NCi0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz4uLlwuLlxtYXNteDg2XG1hdGNoNjg2Lm9iajsuLlwuLlxtYXNteDg2XGluZmZhczMyLm9iajslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPg0KKyAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPiUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+DQogICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpdGVzdHpsaWIuZXhlPC9PdXRwdXRGaWxlPg0KICAgICAgIDxHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+dHJ1ZTwvR2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPg0KICAgICAgIDxQcm9ncmFtRGF0YWJhc2VGaWxlPiQoT3V0RGlyKXRlc3R6bGliLnBkYjwvUHJvZ3JhbURhdGFiYXNlRmlsZT4NCkBAIC0yNDEsNyArMjQxLDcgQEAKICAgICAgIDxJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj5Pbmx5RXhwbGljaXRJbmxpbmU8L0lubGluZUZ1bmN0aW9uRXhwYW5zaW9uPg0KICAgICAgIDxPbWl0RnJhbWVQb2ludGVycz50cnVlPC9PbWl0RnJhbWVQb2ludGVycz4NCiAgICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlwuLlwuLjslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPg0KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5BU01WO0FTTUlORjtXSU4zMjtaTElCX1dJTkFQSTtOREVCVUc7X0NPTlNPTEU7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX1dBUk5JTkdTOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4NCisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+V0lOMzI7WkxJQl9XSU5BUEk7TkRFQlVHO19DT05TT0xFO19DUlRfTk9OU1REQ19OT19ERVBSRUNBVEU7X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO19DUlRfTk9OU1REQ19OT19XQVJOSU5HUzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+DQogICAgICAgPFN0cmluZ1Bvb2xpbmc+dHJ1ZTwvU3RyaW5nUG9vbGluZz4NCiAgICAgICA8QmFzaWNSdW50aW1lQ2hlY2tzPkRlZmF1bHQ8L0Jhc2ljUnVudGltZUNoZWNrcz4NCiAgICAgICA8UnVudGltZUxpYnJhcnk+TXVsdGlUaHJlYWRlZDwvUnVudGltZUxpYnJhcnk+DQpAQCAtMjU0LDcgKzI1NCw3IEBACiAgICAgICA8RGVidWdJbmZvcm1hdGlvbkZvcm1hdD5Qcm9ncmFtRGF0YWJhc2U8L0RlYnVnSW5mb3JtYXRpb25Gb3JtYXQ+DQogICAgIDwvQ2xDb21waWxlPg0KICAgICA8TGluaz4NCi0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz4uLlwuLlxtYXNteDg2XG1hdGNoNjg2Lm9iajsuLlwuLlxtYXNteDg2XGluZmZhczMyLm9iajslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPg0KKyAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPiUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+DQogICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpdGVzdHpsaWIuZXhlPC9PdXRwdXRGaWxlPg0KICAgICAgIDxHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+dHJ1ZTwvR2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPg0KICAgICAgIDxTdWJTeXN0ZW0+Q29uc29sZTwvU3ViU3lzdGVtPg0KQEAgLTI2OSwxNCArMjY5LDE0IEBACiAgIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+DQogICAgIDxDbENvbXBpbGU+DQogICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cLi5cLi47JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4NCi0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+QVNNVjtBU01JTkY7V0lOMzI7WkxJQl9XSU5BUEk7X0RFQlVHO19DT05TT0xFO19DUlRfTk9OU1REQ19OT19ERVBSRUNBVEU7X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO19DUlRfTk9OU1REQ19OT19XQVJOSU5HUzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+DQorICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPldJTjMyO1pMSUJfV0lOQVBJO19ERUJVRztfQ09OU09MRTtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFO19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fV0FSTklOR1M7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPg0KICAgICAgIDxCYXNpY1J1bnRpbWVDaGVja3M+RGVmYXVsdDwvQmFzaWNSdW50aW1lQ2hlY2tzPg0KICAgICAgIDxSdW50aW1lTGlicmFyeT5NdWx0aVRocmVhZGVkRGVidWdETEw8L1J1bnRpbWVMaWJyYXJ5Pg0KICAgICAgIDxCdWZmZXJTZWN1cml0eUNoZWNrPmZhbHNlPC9CdWZmZXJTZWN1cml0eUNoZWNrPg0KICAgICAgIDxBc3NlbWJsZXJMaXN0aW5nTG9jYXRpb24+JChJbnREaXIpPC9Bc3NlbWJsZXJMaXN0aW5nTG9jYXRpb24+DQogICAgIDwvQ2xDb21waWxlPg0KICAgICA8TGluaz4NCi0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz4uLlwuLlxtYXNteDY0XGd2bWF0NjQub2JqOy4uXC4uXG1hc214NjRcaW5mZmFzeDY0Lm9iajslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPg0KKyAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPiUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+DQogICAgIDwvTGluaz4NCiAgIDwvSXRlbURlZmluaXRpb25Hcm91cD4NCiAgIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8SXRhbml1bSciPg0KQEAgLTM1MiwxNCArMzUyLDE0IEBACiAgIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj4NCiAgICAgPENsQ29tcGlsZT4NCiAgICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlwuLlwuLjslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPg0KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5BU01WO0FTTUlORjtXSU4zMjtaTElCX1dJTkFQSTtOREVCVUc7X0NPTlNPTEU7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX1dBUk5JTkdTOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4NCisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+V0lOMzI7WkxJQl9XSU5BUEk7TkRFQlVHO19DT05TT0xFO19DUlRfTk9OU1REQ19OT19ERVBSRUNBVEU7X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO19DUlRfTk9OU1REQ19OT19XQVJOSU5HUzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+DQogICAgICAgPEJhc2ljUnVudGltZUNoZWNrcz5EZWZhdWx0PC9CYXNpY1J1bnRpbWVDaGVja3M+DQogICAgICAgPFJ1bnRpbWVMaWJyYXJ5Pk11bHRpVGhyZWFkZWRETEw8L1J1bnRpbWVMaWJyYXJ5Pg0KICAgICAgIDxCdWZmZXJTZWN1cml0eUNoZWNrPmZhbHNlPC9CdWZmZXJTZWN1cml0eUNoZWNrPg0KICAgICAgIDxBc3NlbWJsZXJMaXN0aW5nTG9jYXRpb24+JChJbnREaXIpPC9Bc3NlbWJsZXJMaXN0aW5nTG9jYXRpb24+DQogICAgIDwvQ2xDb21waWxlPg0KICAgICA8TGluaz4NCi0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz4uLlwuLlxtYXNteDY0XGd2bWF0NjQub2JqOy4uXC4uXG1hc214NjRcaW5mZmFzeDY0Lm9iajslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPg0KKyAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPiUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+DQogICAgIDwvTGluaz4NCiAgIDwvSXRlbURlZmluaXRpb25Hcm91cD4NCiAgIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxJdGFuaXVtJyI+DQpAQCAtMzk4LDE0ICszOTgsNiBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5cY3JjMzIuYyIgLz4NCiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlwuLlxkZWZsYXRlLmMiIC8+DQogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5caW5mYmFjay5jIiAvPg0KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXG1hc214NjRcaW5mZmFzODY2NC5jIj4NCi0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xJdGFuaXVtJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+DQotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4NCi0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlV2l0aG91dEFzbXxJdGFuaXVtJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+DQotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZVdpdGhvdXRBc218V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4NCi0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfEl0YW5pdW0nIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4NCi0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+DQotICAgIDwvQ2xDb21waWxlPg0KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXC4uXGluZmZhc3QuYyIgLz4NCiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlwuLlxpbmZsYXRlLmMiIC8+DQogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5caW5mdHJlZXMuYyIgLz4NCmRpZmYgLS1naXQgYS9zcmMvY29udHJpYi92c3R1ZGlvL3ZjMTAvdGVzdHpsaWIudmN4cHJvai5maWx0ZXJzIGIvc3JjL2NvbnRyaWIvdnN0dWRpby92YzEwL3Rlc3R6bGliLnZjeHByb2ouZmlsdGVycwppbmRleCAyNDlkYWE4Li4zY2Y1MmVlIDEwMDY0NAotLS0gYS9zcmMvY29udHJpYi92c3R1ZGlvL3ZjMTAvdGVzdHpsaWIudmN4cHJvai5maWx0ZXJzCisrKyBiL3NyYy9jb250cmliL3ZzdHVkaW8vdmMxMC90ZXN0emxpYi52Y3hwcm9qLmZpbHRlcnMKQEAgLTMsNyArMyw3IEBACiAgIDxJdGVtR3JvdXA+DQogICAgIDxGaWx0ZXIgSW5jbHVkZT0iU291cmNlIEZpbGVzIj4NCiAgICAgICA8VW5pcXVlSWRlbnRpZmllcj57YzFmNmEyZTMtNWRhNS00OTU1LTg2NTMtMzEwZDNlZmUwNWE5fTwvVW5pcXVlSWRlbnRpZmllcj4NCi0gICAgICA8RXh0ZW5zaW9ucz5jcHA7YztjeHg7ZGVmO29kbDtpZGw7aHBqO2JhdDthc208L0V4dGVuc2lvbnM+DQorICAgICAgPEV4dGVuc2lvbnM+Y3BwO2M7Y3h4O2RlZjtvZGw7aWRsO2hwajtiYXQ8L0V4dGVuc2lvbnM+DQogICAgIDwvRmlsdGVyPg0KICAgICA8RmlsdGVyIEluY2x1ZGU9IkhlYWRlciBGaWxlcyI+DQogICAgICAgPFVuaXF1ZUlkZW50aWZpZXI+e2MyYWFmZmRjLTJjOTUtNGQ2Zi04NDY2LTRiZWM1ODkwYWYyY308L1VuaXF1ZUlkZW50aWZpZXI+DQpAQCAtMzAsOSArMzAsNiBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5caW5mYmFjay5jIj4NCiAgICAgICA8RmlsdGVyPlNvdXJjZSBGaWxlczwvRmlsdGVyPg0KICAgICA8L0NsQ29tcGlsZT4NCi0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlxtYXNteDY0XGluZmZhczg2NjQuYyI+DQotICAgICAgPEZpbHRlcj5Tb3VyY2UgRmlsZXM8L0ZpbHRlcj4NCi0gICAgPC9DbENvbXBpbGU+DQogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5caW5mZmFzdC5jIj4NCiAgICAgICA8RmlsdGVyPlNvdXJjZSBGaWxlczwvRmlsdGVyPg0KICAgICA8L0NsQ29tcGlsZT4NCmRpZmYgLS1naXQgYS9zcmMvY29udHJpYi92c3R1ZGlvL3ZjMTAvdGVzdHpsaWJkbGwudmN4cHJvai5maWx0ZXJzIGIvc3JjL2NvbnRyaWIvdnN0dWRpby92YzEwL3Rlc3R6bGliZGxsLnZjeHByb2ouZmlsdGVycwppbmRleCA1M2E4NjkzLi5hZWI1NTBlIDEwMDY0NAotLS0gYS9zcmMvY29udHJpYi92c3R1ZGlvL3ZjMTAvdGVzdHpsaWJkbGwudmN4cHJvai5maWx0ZXJzCisrKyBiL3NyYy9jb250cmliL3ZzdHVkaW8vdmMxMC90ZXN0emxpYmRsbC52Y3hwcm9qLmZpbHRlcnMKQEAgLTMsNyArMyw3IEBACiAgIDxJdGVtR3JvdXA+DQogICAgIDxGaWx0ZXIgSW5jbHVkZT0iU291cmNlIEZpbGVzIj4NCiAgICAgICA8VW5pcXVlSWRlbnRpZmllcj57ZmE2MWE4OWYtOTNmYy00Yzg5LWIyOWUtMzYyMjRiNzU5MmY0fTwvVW5pcXVlSWRlbnRpZmllcj4NCi0gICAgICA8RXh0ZW5zaW9ucz5jcHA7YztjeHg7ZGVmO29kbDtpZGw7aHBqO2JhdDthc208L0V4dGVuc2lvbnM+DQorICAgICAgPEV4dGVuc2lvbnM+Y3BwO2M7Y3h4O2RlZjtvZGw7aWRsO2hwajtiYXQ8L0V4dGVuc2lvbnM+DQogICAgIDwvRmlsdGVyPg0KICAgICA8RmlsdGVyIEluY2x1ZGU9IkhlYWRlciBGaWxlcyI+DQogICAgICAgPFVuaXF1ZUlkZW50aWZpZXI+e2Q0Yjg1ZGEwLTJiYTItNDkzNC1iNTdmLWUyNTg0ZTM4NDhlZX08L1VuaXF1ZUlkZW50aWZpZXI+DQpkaWZmIC0tZ2l0IGEvc3JjL2NvbnRyaWIvdnN0dWRpby92YzEwL3psaWIucmMgYi9zcmMvY29udHJpYi92c3R1ZGlvL3ZjMTAvemxpYi5yYwppbmRleCA3M2Y2NDc2Li44NzYwMjc0IDEwMDY0NAotLS0gYS9zcmMvY29udHJpYi92c3R1ZGlvL3ZjMTAvemxpYi5yYworKysgYi9zcmMvY29udHJpYi92c3R1ZGlvL3ZjMTAvemxpYi5yYwpAQCAtMiw4ICsyLDggQEAKIA0KICNkZWZpbmUgSURSX1ZFUlNJT04xICAxDQogSURSX1ZFUlNJT04xCVZFUlNJT05JTkZPCU1PVkVBQkxFIElNUFVSRSBMT0FET05DQUxMIERJU0NBUkRBQkxFDQotICBGSUxFVkVSU0lPTgkgMSwyLDgsMA0KLSAgUFJPRFVDVFZFUlNJT04gMSwyLDgsMA0KKyAgRklMRVZFUlNJT04JIDEsIDIsIDEzLCAwDQorICBQUk9EVUNUVkVSU0lPTiAxLCAyLCAxMywgMA0KICAgRklMRUZMQUdTTUFTSwlWU19GRklfRklMRUZMQUdTTUFTSw0KICAgRklMRUZMQUdTCTANCiAgIEZJTEVPUwlWT1NfRE9TX1dJTkRPV1MzMg0KQEAgLTE3LDEyICsxNywxMiBAQAogDQogICAgIEJFR0lODQogICAgICAgVkFMVUUgIkZpbGVEZXNjcmlwdGlvbiIsICJ6bGliIGRhdGEgY29tcHJlc3Npb24gYW5kIFpJUCBmaWxlIEkvTyBsaWJyYXJ5XDAiDQotICAgICAgVkFMVUUgIkZpbGVWZXJzaW9uIiwJIjEuMi44XDAiDQorICAgICAgVkFMVUUgIkZpbGVWZXJzaW9uIiwJIjEuMi4xM1wwIg0KICAgICAgIFZBTFVFICJJbnRlcm5hbE5hbWUiLAkiemxpYlwwIg0KICAgICAgIFZBTFVFICJPcmlnaW5hbEZpbGVuYW1lIiwJInpsaWJ3YXBpLmRsbFwwIg0KICAgICAgIFZBTFVFICJQcm9kdWN0TmFtZSIsCSJaTGliLkRMTFwwIg0KICAgICAgIFZBTFVFICJDb21tZW50cyIsIkRMTCBzdXBwb3J0IGJ5IEFsZXNzYW5kcm8gSWFjb3BldHRpICYgR2lsbGVzIFZvbGxhbnRcMCINCi0gICAgICBWQUxVRSAiTGVnYWxDb3B5cmlnaHQiLCAiKEMpIDE5OTUtMjAxMyBKZWFuLWxvdXAgR2FpbGx5ICYgTWFyayBBZGxlclwwIg0KKyAgICAgIFZBTFVFICJMZWdhbENvcHlyaWdodCIsICIoQykgMTk5NS0yMDIyIEplYW4tbG91cCBHYWlsbHkgJiBNYXJrIEFkbGVyXDAiDQogICAgIEVORA0KICAgRU5EDQogICBCTE9DSyAiVmFyRmlsZUluZm8iDQpkaWZmIC0tZ2l0IGEvc3JjL2NvbnRyaWIvdnN0dWRpby92YzEwL3psaWJzdGF0LnZjeHByb2ogYi9zcmMvY29udHJpYi92c3R1ZGlvL3ZjMTAvemxpYnN0YXQudmN4cHJvagppbmRleCBiOWYyYmJlLi5jN2VkMDllIDEwMDY0NAotLS0gYS9zcmMvY29udHJpYi92c3R1ZGlvL3ZjMTAvemxpYnN0YXQudmN4cHJvagorKysgYi9zcmMvY29udHJpYi92c3R1ZGlvL3ZjMTAvemxpYnN0YXQudmN4cHJvagpAQCAtMTYwLDcgKzE2MCw3IEBACiAgIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj4NCiAgICAgPENsQ29tcGlsZT4NCiAgICAgICA8T3B0aW1pemF0aW9uPkRpc2FibGVkPC9PcHRpbWl6YXRpb24+DQotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cLi5cLi47Li5cLi5cbWFzbXg4NjslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPg0KKyAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+DQogICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPldJTjMyO1pMSUJfV0lOQVBJO19DUlRfTk9OU1REQ19OT19ERVBSRUNBVEU7X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO19DUlRfTk9OU1REQ19OT19XQVJOSU5HUzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+DQogICAgICAgPEV4Y2VwdGlvbkhhbmRsaW5nPg0KICAgICAgIDwvRXhjZXB0aW9uSGFuZGxpbmc+DQpAQCAtMTgyLDE2ICsxODIsMTIgQEAKICAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKXpsaWJzdGF0LmxpYjwvT3V0cHV0RmlsZT4NCiAgICAgICA8U3VwcHJlc3NTdGFydHVwQmFubmVyPnRydWU8L1N1cHByZXNzU3RhcnR1cEJhbm5lcj4NCiAgICAgPC9MaWI+DQotICAgIDxQcmVCdWlsZEV2ZW50Pg0KLSAgICAgIDxDb21tYW5kPmNkIC4uXC4uXG1hc214ODYNCi1ibGRfbWwzMi5iYXQ8L0NvbW1hbmQ+DQotICAgIDwvUHJlQnVpbGRFdmVudD4NCiAgIDwvSXRlbURlZmluaXRpb25Hcm91cD4NCiAgIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPg0KICAgICA8Q2xDb21waWxlPg0KICAgICAgIDxJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj5Pbmx5RXhwbGljaXRJbmxpbmU8L0lubGluZUZ1bmN0aW9uRXhwYW5zaW9uPg0KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXC4uXC4uOy4uXC4uXG1hc214ODY7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4NCi0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+V0lOMzI7WkxJQl9XSU5BUEk7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX1dBUk5JTkdTO0FTTVY7QVNNSU5GOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4NCisgICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlwuLlwuLjslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPg0KKyAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5XSU4zMjtaTElCX1dJTkFQSTtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFO19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fV0FSTklOR1M7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPg0KICAgICAgIDxTdHJpbmdQb29saW5nPnRydWU8L1N0cmluZ1Bvb2xpbmc+DQogICAgICAgPEV4Y2VwdGlvbkhhbmRsaW5nPg0KICAgICAgIDwvRXhjZXB0aW9uSGFuZGxpbmc+DQpAQCAtMjEwLDE5ICsyMDYsMTUgQEAKICAgICA8L1Jlc291cmNlQ29tcGlsZT4NCiAgICAgPExpYj4NCiAgICAgICA8QWRkaXRpb25hbE9wdGlvbnM+L01BQ0hJTkU6WDg2IC9OT0RFRkFVTFRMSUIgJShBZGRpdGlvbmFsT3B0aW9ucyk8L0FkZGl0aW9uYWxPcHRpb25zPg0KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPi4uXC4uXG1hc214ODZcbWF0Y2g2ODYub2JqOy4uXC4uXG1hc214ODZcaW5mZmFzMzIub2JqOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+DQorICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4NCiAgICAgICA8T3V0cHV0RmlsZT4kKE91dERpcil6bGlic3RhdC5saWI8L091dHB1dEZpbGU+DQogICAgICAgPFN1cHByZXNzU3RhcnR1cEJhbm5lcj50cnVlPC9TdXBwcmVzc1N0YXJ0dXBCYW5uZXI+DQogICAgIDwvTGliPg0KLSAgICA8UHJlQnVpbGRFdmVudD4NCi0gICAgICA8Q29tbWFuZD5jZCAuLlwuLlxtYXNteDg2DQotYmxkX21sMzIuYmF0PC9Db21tYW5kPg0KLSAgICA8L1ByZUJ1aWxkRXZlbnQ+DQogICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+DQogICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VXaXRob3V0QXNtfFdpbjMyJyI+DQogICAgIDxDbENvbXBpbGU+DQogICAgICAgPElubGluZUZ1bmN0aW9uRXhwYW5zaW9uPk9ubHlFeHBsaWNpdElubGluZTwvSW5saW5lRnVuY3Rpb25FeHBhbnNpb24+DQotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cLi5cLi47Li5cLi5cbWFzbXg4NjslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPg0KKyAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXC4uXC4uOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+DQogICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPldJTjMyO1pMSUJfV0lOQVBJO19DUlRfTk9OU1REQ19OT19ERVBSRUNBVEU7X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO19DUlRfTk9OU1REQ19OT19XQVJOSU5HUzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+DQogICAgICAgPFN0cmluZ1Bvb2xpbmc+dHJ1ZTwvU3RyaW5nUG9vbGluZz4NCiAgICAgICA8RXhjZXB0aW9uSGFuZGxpbmc+DQpAQCAtMjUyLDcgKzI0NCw3IEBACiAgICAgPC9NaWRsPg0KICAgICA8Q2xDb21waWxlPg0KICAgICAgIDxPcHRpbWl6YXRpb24+RGlzYWJsZWQ8L09wdGltaXphdGlvbj4NCi0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlwuLlwuLjsuLlwuLlxtYXNteDg2OyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+DQorICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cLi5cLi47JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4NCiAgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+WkxJQl9XSU5BUEk7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX1dBUk5JTkdTO1dJTjY0OyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4NCiAgICAgICA8RXhjZXB0aW9uSGFuZGxpbmc+DQogICAgICAgPC9FeGNlcHRpb25IYW5kbGluZz4NCkBAIC0yNzQsMTAgKzI2Niw2IEBACiAgICAgICA8T3V0cHV0RmlsZT4kKE91dERpcil6bGlic3RhdC5saWI8L091dHB1dEZpbGU+DQogICAgICAgPFN1cHByZXNzU3RhcnR1cEJhbm5lcj50cnVlPC9TdXBwcmVzc1N0YXJ0dXBCYW5uZXI+DQogICAgIDwvTGliPg0KLSAgICA8UHJlQnVpbGRFdmVudD4NCi0gICAgICA8Q29tbWFuZD5jZCAuLlwuLlxtYXNteDY0DQotYmxkX21sNjQuYmF0PC9Db21tYW5kPg0KLSAgICA8L1ByZUJ1aWxkRXZlbnQ+DQogICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+DQogICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfEl0YW5pdW0nIj4NCiAgICAgPE1pZGw+DQpAQCAtMjg1LDcgKzI3Myw3IEBACiAgICAgPC9NaWRsPg0KICAgICA8Q2xDb21waWxlPg0KICAgICAgIDxPcHRpbWl6YXRpb24+RGlzYWJsZWQ8L09wdGltaXphdGlvbj4NCi0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlwuLlwuLjsuLlwuLlxtYXNteDg2OyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+DQorICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cLi5cLi47JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4NCiAgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+WkxJQl9XSU5BUEk7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX1dBUk5JTkdTO1dJTjY0OyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4NCiAgICAgICA8RXhjZXB0aW9uSGFuZGxpbmc+DQogICAgICAgPC9FeGNlcHRpb25IYW5kbGluZz4NCkBAIC0zMTQsOCArMzAyLDggQEAKICAgICA8L01pZGw+DQogICAgIDxDbENvbXBpbGU+DQogICAgICAgPElubGluZUZ1bmN0aW9uRXhwYW5zaW9uPk9ubHlFeHBsaWNpdElubGluZTwvSW5saW5lRnVuY3Rpb25FeHBhbnNpb24+DQotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cLi5cLi47Li5cLi5cbWFzbXg4NjslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPg0KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5aTElCX1dJTkFQSTtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFO19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fV0FSTklOR1M7QVNNVjtBU01JTkY7V0lONjQ7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPg0KKyAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXC4uXC4uOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+DQorICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPlpMSUJfV0lOQVBJO19DUlRfTk9OU1REQ19OT19ERVBSRUNBVEU7X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO19DUlRfTk9OU1REQ19OT19XQVJOSU5HUztXSU42NDslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+DQogICAgICAgPFN0cmluZ1Bvb2xpbmc+dHJ1ZTwvU3RyaW5nUG9vbGluZz4NCiAgICAgICA8RXhjZXB0aW9uSGFuZGxpbmc+DQogICAgICAgPC9FeGNlcHRpb25IYW5kbGluZz4NCkBAIC0zMzQsMTQgKzMyMiwxMCBAQAogICAgIDwvUmVzb3VyY2VDb21waWxlPg0KICAgICA8TGliPg0KICAgICAgIDxBZGRpdGlvbmFsT3B0aW9ucz4vTUFDSElORTpBTUQ2NCAvTk9ERUZBVUxUTElCICUoQWRkaXRpb25hbE9wdGlvbnMpPC9BZGRpdGlvbmFsT3B0aW9ucz4NCi0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz4uLlwuLlxtYXNteDY0XGd2bWF0NjQub2JqOy4uXC4uXG1hc214NjRcaW5mZmFzeDY0Lm9iajslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPg0KKyAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPiUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+DQogICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpemxpYnN0YXQubGliPC9PdXRwdXRGaWxlPg0KICAgICAgIDxTdXBwcmVzc1N0YXJ0dXBCYW5uZXI+dHJ1ZTwvU3VwcHJlc3NTdGFydHVwQmFubmVyPg0KICAgICA8L0xpYj4NCi0gICAgPFByZUJ1aWxkRXZlbnQ+DQotICAgICAgPENvbW1hbmQ+Y2QgLi5cLi5cbWFzbXg2NA0KLWJsZF9tbDY0LmJhdDwvQ29tbWFuZD4NCi0gICAgPC9QcmVCdWlsZEV2ZW50Pg0KICAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPg0KICAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfEl0YW5pdW0nIj4NCiAgICAgPE1pZGw+DQpAQCAtMzQ5LDcgKzMzMyw3IEBACiAgICAgPC9NaWRsPg0KICAgICA8Q2xDb21waWxlPg0KICAgICAgIDxJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj5Pbmx5RXhwbGljaXRJbmxpbmU8L0lubGluZUZ1bmN0aW9uRXhwYW5zaW9uPg0KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXC4uXC4uOy4uXC4uXG1hc214ODY7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4NCisgICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlwuLlwuLjslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPg0KICAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5aTElCX1dJTkFQSTtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFO19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fV0FSTklOR1M7V0lONjQ7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPg0KICAgICAgIDxTdHJpbmdQb29saW5nPnRydWU8L1N0cmluZ1Bvb2xpbmc+DQogICAgICAgPEV4Y2VwdGlvbkhhbmRsaW5nPg0KQEAgLTM3OSw3ICszNjMsNyBAQAogICAgIDwvTWlkbD4NCiAgICAgPENsQ29tcGlsZT4NCiAgICAgICA8SW5saW5lRnVuY3Rpb25FeHBhbnNpb24+T25seUV4cGxpY2l0SW5saW5lPC9JbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj4NCi0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlwuLlwuLjsuLlwuLlxtYXNteDg2OyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+DQorICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cLi5cLi47JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4NCiAgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+WkxJQl9XSU5BUEk7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX1dBUk5JTkdTO1dJTjY0OyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4NCiAgICAgICA8U3RyaW5nUG9vbGluZz50cnVlPC9TdHJpbmdQb29saW5nPg0KICAgICAgIDxFeGNlcHRpb25IYW5kbGluZz4NCkBAIC00MDksNyArMzkzLDcgQEAKICAgICA8L01pZGw+DQogICAgIDxDbENvbXBpbGU+DQogICAgICAgPElubGluZUZ1bmN0aW9uRXhwYW5zaW9uPk9ubHlFeHBsaWNpdElubGluZTwvSW5saW5lRnVuY3Rpb25FeHBhbnNpb24+DQotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cLi5cLi47Li5cLi5cbWFzbXg4NjslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPg0KKyAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXC4uXC4uOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+DQogICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPlpMSUJfV0lOQVBJO19DUlRfTk9OU1REQ19OT19ERVBSRUNBVEU7X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO19DUlRfTk9OU1REQ19OT19XQVJOSU5HUztXSU42NDslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+DQogICAgICAgPFN0cmluZ1Bvb2xpbmc+dHJ1ZTwvU3RyaW5nUG9vbGluZz4NCiAgICAgICA8RXhjZXB0aW9uSGFuZGxpbmc+DQpAQCAtNDQzLDE0ICs0MjcsNiBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5cZ3pyZWFkLmMiIC8+DQogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5cZ3p3cml0ZS5jIiAvPg0KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXC4uXGluZmJhY2suYyIgLz4NCi0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlxtYXNteDY0XGluZmZhczg2NjQuYyI+DQotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8SXRhbml1bSciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPg0KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+DQotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZVdpdGhvdXRBc218SXRhbml1bSciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPg0KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VXaXRob3V0QXNtfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+DQotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxJdGFuaXVtJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+DQotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPg0KLSAgICA8L0NsQ29tcGlsZT4NCiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlwuLlxpbmZmYXN0LmMiIC8+DQogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5caW5mbGF0ZS5jIiAvPg0KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXC4uXGluZnRyZWVzLmMiIC8+DQpkaWZmIC0tZ2l0IGEvc3JjL2NvbnRyaWIvdnN0dWRpby92YzEwL3psaWJzdGF0LnZjeHByb2ouZmlsdGVycyBiL3NyYy9jb250cmliL3ZzdHVkaW8vdmMxMC96bGlic3RhdC52Y3hwcm9qLmZpbHRlcnMKaW5kZXggYzhjN2Y3ZS4uYmE3ZTIzZCAxMDA2NDQKLS0tIGEvc3JjL2NvbnRyaWIvdnN0dWRpby92YzEwL3psaWJzdGF0LnZjeHByb2ouZmlsdGVycworKysgYi9zcmMvY29udHJpYi92c3R1ZGlvL3ZjMTAvemxpYnN0YXQudmN4cHJvai5maWx0ZXJzCkBAIC0zMyw5ICszMyw2IEBACiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlwuLlxpbmZiYWNrLmMiPg0KICAgICAgIDxGaWx0ZXI+U291cmNlIEZpbGVzPC9GaWx0ZXI+DQogICAgIDwvQ2xDb21waWxlPg0KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXG1hc214NjRcaW5mZmFzODY2NC5jIj4NCi0gICAgICA8RmlsdGVyPlNvdXJjZSBGaWxlczwvRmlsdGVyPg0KLSAgICA8L0NsQ29tcGlsZT4NCiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlwuLlxpbmZmYXN0LmMiPg0KICAgICAgIDxGaWx0ZXI+U291cmNlIEZpbGVzPC9GaWx0ZXI+DQogICAgIDwvQ2xDb21waWxlPg0KZGlmZiAtLWdpdCBhL3NyYy9jb250cmliL3ZzdHVkaW8vdmMxMC96bGlidmMuZGVmIGIvc3JjL2NvbnRyaWIvdnN0dWRpby92YzEwL3psaWJ2Yy5kZWYKaW5kZXggNjM2NzA0Ni4uYmEwOWJjMSAxMDA2NDQKLS0tIGEvc3JjL2NvbnRyaWIvdnN0dWRpby92YzEwL3psaWJ2Yy5kZWYKKysrIGIvc3JjL2NvbnRyaWIvdnN0dWRpby92YzEwL3psaWJ2Yy5kZWYKQEAgLTEsNyArMSw3IEBACiBMSUJSQVJZDQogOyB6bGliIGRhdGEgY29tcHJlc3Npb24gYW5kIFpJUCBmaWxlIEkvTyBsaWJyYXJ5DQogDQotVkVSU0lPTgkJMS4yLjgNCitWRVJTSU9OCQkxLjINCiANCiBFWFBPUlRTDQogICAgICAgICBhZGxlcjMyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEAxDQpAQCAtMTQxLDMgKzE0MSwxOCBAQAogOyB6bGliMSB2MS4yLjggYWRkZWQ6DQogICAgICAgICBpbmZsYXRlR2V0RGljdGlvbmFyeSAgICAgICAgICAgICAgICAgICAgQDE2Ng0KICAgICAgICAgZ3p2cHJpbnRmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEAxNjcNCisNCis7IHpsaWIxIHYxLjIuOSBhZGRlZDoNCisgICAgICAgIGluZmxhdGVDb2Rlc1VzZWQgICAgICAgICAgICAgICAgICAgICAgICBAMTY4DQorICAgICAgICBpbmZsYXRlVmFsaWRhdGUgICAgICAgICAgICAgICAgICAgICAgICAgQDE2OQ0KKyAgICAgICAgdW5jb21wcmVzczIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEAxNzANCisgICAgICAgIGd6ZnJlYWQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAMTcxDQorICAgICAgICBnemZ3cml0ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQDE3Mg0KKyAgICAgICAgZGVmbGF0ZUdldERpY3Rpb25hcnkgICAgICAgICAgICAgICAgICAgIEAxNzMNCisgICAgICAgIGFkbGVyMzJfeiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAMTc0DQorICAgICAgICBjcmMzMl96ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQDE3NQ0KKw0KKzsgemxpYjEgdjEuMi4xMiBhZGRlZDoNCisJCWNyYzMyX2NvbWJpbmVfZ2VuCQkJCQkJQDE3Ng0KKwkJY3JjMzJfY29tYmluZV9nZW42NAkJCQkJCUAxNzcNCisJCWNyYzMyX2NvbWJpbmVfb3AJCQkJCQlAMTc4DQpkaWZmIC0tZ2l0IGEvc3JjL2NvbnRyaWIvdnN0dWRpby92YzEwL3psaWJ2Yy52Y3hwcm9qIGIvc3JjL2NvbnRyaWIvdnN0dWRpby92YzEwL3psaWJ2Yy52Y3hwcm9qCmluZGV4IDZmZjlkZGIuLjE5ZGZjMzUgMTAwNjQ0Ci0tLSBhL3NyYy9jb250cmliL3ZzdHVkaW8vdmMxMC96bGlidmMudmN4cHJvagorKysgYi9zcmMvY29udHJpYi92c3R1ZGlvL3ZjMTAvemxpYnZjLnZjeHByb2oKQEAgLTE5Nyw4ICsxOTcsOCBAQAogICAgIDwvTWlkbD4NCiAgICAgPENsQ29tcGlsZT4NCiAgICAgICA8T3B0aW1pemF0aW9uPkRpc2FibGVkPC9PcHRpbWl6YXRpb24+DQotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cLi5cLi47Li5cLi5cbWFzbXg4NjslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPg0KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5XSU4zMjtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFO19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fV0FSTklOR1M7WkxJQl9XSU5BUEk7QVNNVjtBU01JTkY7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPg0KKyAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXC4uXC4uOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+DQorICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPldJTjMyO19DUlRfTk9OU1REQ19OT19ERVBSRUNBVEU7X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO19DUlRfTk9OU1REQ19OT19XQVJOSU5HUztaTElCX1dJTkFQSTslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+DQogICAgICAgPEV4Y2VwdGlvbkhhbmRsaW5nPg0KICAgICAgIDwvRXhjZXB0aW9uSGFuZGxpbmc+DQogICAgICAgPFJ1bnRpbWVMaWJyYXJ5Pk11bHRpVGhyZWFkZWREZWJ1ZzwvUnVudGltZUxpYnJhcnk+DQpAQCAtMjE5LDcgKzIxOSw3IEBACiAgICAgPC9SZXNvdXJjZUNvbXBpbGU+DQogICAgIDxMaW5rPg0KICAgICAgIDxBZGRpdGlvbmFsT3B0aW9ucz4vTUFDSElORTpJMzg2ICUoQWRkaXRpb25hbE9wdGlvbnMpPC9BZGRpdGlvbmFsT3B0aW9ucz4NCi0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz4uLlwuLlxtYXNteDg2XG1hdGNoNjg2Lm9iajsuLlwuLlxtYXNteDg2XGluZmZhczMyLm9iajslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPg0KKyAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPiUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+DQogICAgICAgPFN1cHByZXNzU3RhcnR1cEJhbm5lcj50cnVlPC9TdXBwcmVzc1N0YXJ0dXBCYW5uZXI+DQogICAgICAgPE1vZHVsZURlZmluaXRpb25GaWxlPi5cemxpYnZjLmRlZjwvTW9kdWxlRGVmaW5pdGlvbkZpbGU+DQogICAgICAgPEdlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj50cnVlPC9HZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+DQpAQCAtMjI5LDEwICsyMjksNiBAQAogICAgICAgPERhdGFFeGVjdXRpb25QcmV2ZW50aW9uPg0KICAgICAgIDwvRGF0YUV4ZWN1dGlvblByZXZlbnRpb24+DQogICAgIDwvTGluaz4NCi0gICAgPFByZUJ1aWxkRXZlbnQ+DQotICAgICAgPENvbW1hbmQ+Y2QgLi5cLi5cbWFzbXg4Ng0KLWJsZF9tbDMyLmJhdDwvQ29tbWFuZD4NCi0gICAgPC9QcmVCdWlsZEV2ZW50Pg0KICAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPg0KICAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlV2l0aG91dEFzbXxXaW4zMiciPg0KICAgICA8TWlkbD4NCkBAIC0yNDQsNyArMjQwLDcgQEAKICAgICA8L01pZGw+DQogICAgIDxDbENvbXBpbGU+DQogICAgICAgPElubGluZUZ1bmN0aW9uRXhwYW5zaW9uPk9ubHlFeHBsaWNpdElubGluZTwvSW5saW5lRnVuY3Rpb25FeHBhbnNpb24+DQotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cLi5cLi47Li5cLi5cbWFzbXg4NjslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPg0KKyAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXC4uXC4uOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+DQogICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPldJTjMyO19DUlRfTk9OU1REQ19OT19ERVBSRUNBVEU7X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO19DUlRfTk9OU1REQ19OT19XQVJOSU5HUztaTElCX1dJTkFQSTslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+DQogICAgICAgPFN0cmluZ1Bvb2xpbmc+dHJ1ZTwvU3RyaW5nUG9vbGluZz4NCiAgICAgICA8RXhjZXB0aW9uSGFuZGxpbmc+DQpAQCAtMjg4LDggKzI4NCw4IEBACiAgICAgPC9NaWRsPg0KICAgICA8Q2xDb21waWxlPg0KICAgICAgIDxJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj5Pbmx5RXhwbGljaXRJbmxpbmU8L0lubGluZUZ1bmN0aW9uRXhwYW5zaW9uPg0KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXC4uXC4uOy4uXC4uXG1hc214ODY7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4NCi0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+V0lOMzI7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX1dBUk5JTkdTO1pMSUJfV0lOQVBJO0FTTVY7QVNNSU5GOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4NCisgICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlwuLlwuLjslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPg0KKyAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5XSU4zMjtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFO19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fV0FSTklOR1M7WkxJQl9XSU5BUEk7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPg0KICAgICAgIDxTdHJpbmdQb29saW5nPnRydWU8L1N0cmluZ1Bvb2xpbmc+DQogICAgICAgPEV4Y2VwdGlvbkhhbmRsaW5nPg0KICAgICAgIDwvRXhjZXB0aW9uSGFuZGxpbmc+DQpAQCAtMzEyLDcgKzMwOCw3IEBACiAgICAgPC9SZXNvdXJjZUNvbXBpbGU+DQogICAgIDxMaW5rPg0KICAgICAgIDxBZGRpdGlvbmFsT3B0aW9ucz4vTUFDSElORTpJMzg2ICUoQWRkaXRpb25hbE9wdGlvbnMpPC9BZGRpdGlvbmFsT3B0aW9ucz4NCi0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz4uLlwuLlxtYXNteDg2XG1hdGNoNjg2Lm9iajsuLlwuLlxtYXNteDg2XGluZmZhczMyLm9iajslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPg0KKyAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPiUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+DQogICAgICAgPFN1cHByZXNzU3RhcnR1cEJhbm5lcj50cnVlPC9TdXBwcmVzc1N0YXJ0dXBCYW5uZXI+DQogICAgICAgPElnbm9yZUFsbERlZmF1bHRMaWJyYXJpZXM+ZmFsc2U8L0lnbm9yZUFsbERlZmF1bHRMaWJyYXJpZXM+DQogICAgICAgPE1vZHVsZURlZmluaXRpb25GaWxlPi5cemxpYnZjLmRlZjwvTW9kdWxlRGVmaW5pdGlvbkZpbGU+DQpAQCAtMzIyLDEwICszMTgsNiBAQAogICAgICAgPERhdGFFeGVjdXRpb25QcmV2ZW50aW9uPg0KICAgICAgIDwvRGF0YUV4ZWN1dGlvblByZXZlbnRpb24+DQogICAgIDwvTGluaz4NCi0gICAgPFByZUJ1aWxkRXZlbnQ+DQotICAgICAgPENvbW1hbmQ+Y2QgLi5cLi5cbWFzbXg4Ng0KLWJsZF9tbDMyLmJhdDwvQ29tbWFuZD4NCi0gICAgPC9QcmVCdWlsZEV2ZW50Pg0KICAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPg0KICAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj4NCiAgICAgPE1pZGw+DQpAQCAtMzM3LDggKzMyOSw4IEBACiAgICAgPC9NaWRsPg0KICAgICA8Q2xDb21waWxlPg0KICAgICAgIDxPcHRpbWl6YXRpb24+RGlzYWJsZWQ8L09wdGltaXphdGlvbj4NCi0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlwuLlwuLjsuLlwuLlxtYXNteDg2OyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+DQotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPldJTjMyO19DUlRfTk9OU1REQ19OT19ERVBSRUNBVEU7X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO19DUlRfTk9OU1REQ19OT19XQVJOSU5HUztaTElCX1dJTkFQSTtBU01WO0FTTUlORjtXSU42NDslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+DQorICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cLi5cLi47JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4NCisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+V0lOMzI7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX1dBUk5JTkdTO1pMSUJfV0lOQVBJO1dJTjY0OyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4NCiAgICAgICA8RXhjZXB0aW9uSGFuZGxpbmc+DQogICAgICAgPC9FeGNlcHRpb25IYW5kbGluZz4NCiAgICAgICA8UnVudGltZUxpYnJhcnk+TXVsdGlUaHJlYWRlZERlYnVnRExMPC9SdW50aW1lTGlicmFyeT4NCkBAIC0zNTgsNyArMzUwLDcgQEAKICAgICAgIDxDdWx0dXJlPjB4MDQwYzwvQ3VsdHVyZT4NCiAgICAgPC9SZXNvdXJjZUNvbXBpbGU+DQogICAgIDxMaW5rPg0KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPi4uXC4uXG1hc214NjRcZ3ZtYXQ2NC5vYmo7Li5cLi5cbWFzbXg2NFxpbmZmYXN4NjQub2JqOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+DQorICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4NCiAgICAgICA8U3VwcHJlc3NTdGFydHVwQmFubmVyPnRydWU8L1N1cHByZXNzU3RhcnR1cEJhbm5lcj4NCiAgICAgICA8TW9kdWxlRGVmaW5pdGlvbkZpbGU+Llx6bGlidmMuZGVmPC9Nb2R1bGVEZWZpbml0aW9uRmlsZT4NCiAgICAgICA8R2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPnRydWU8L0dlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj4NCkBAIC0zNjYsMTAgKzM1OCw2IEBACiAgICAgICA8U3ViU3lzdGVtPldpbmRvd3M8L1N1YlN5c3RlbT4NCiAgICAgICA8VGFyZ2V0TWFjaGluZT5NYWNoaW5lWDY0PC9UYXJnZXRNYWNoaW5lPg0KICAgICA8L0xpbms+DQotICAgIDxQcmVCdWlsZEV2ZW50Pg0KLSAgICAgIDxDb21tYW5kPmNkIC4uXC4uXG1hc214NjQNCi1ibGRfbWw2NC5iYXQ8L0NvbW1hbmQ+DQotICAgIDwvUHJlQnVpbGRFdmVudD4NCiAgIDwvSXRlbURlZmluaXRpb25Hcm91cD4NCiAgIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8SXRhbml1bSciPg0KICAgICA8TWlkbD4NCkBAIC0zODEsNyArMzY5LDcgQEAKICAgICA8L01pZGw+DQogICAgIDxDbENvbXBpbGU+DQogICAgICAgPE9wdGltaXphdGlvbj5EaXNhYmxlZDwvT3B0aW1pemF0aW9uPg0KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXC4uXC4uOy4uXC4uXG1hc214ODY7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4NCisgICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlwuLlwuLjslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPg0KICAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5XSU4zMjtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFO19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fV0FSTklOR1M7WkxJQl9XSU5BUEk7V0lONjQ7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPg0KICAgICAgIDxFeGNlcHRpb25IYW5kbGluZz4NCiAgICAgICA8L0V4Y2VwdGlvbkhhbmRsaW5nPg0KQEAgLTQyNCw3ICs0MTIsNyBAQAogICAgIDwvTWlkbD4NCiAgICAgPENsQ29tcGlsZT4NCiAgICAgICA8SW5saW5lRnVuY3Rpb25FeHBhbnNpb24+T25seUV4cGxpY2l0SW5saW5lPC9JbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj4NCi0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlwuLlwuLjsuLlwuLlxtYXNteDg2OyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+DQorICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cLi5cLi47JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4NCiAgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+V0lOMzI7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX1dBUk5JTkdTO1pMSUJfV0lOQVBJO1dJTjY0OyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4NCiAgICAgICA8U3RyaW5nUG9vbGluZz50cnVlPC9TdHJpbmdQb29saW5nPg0KICAgICAgIDxFeGNlcHRpb25IYW5kbGluZz4NCkBAIC00NjUsNyArNDUzLDcgQEAKICAgICA8L01pZGw+DQogICAgIDxDbENvbXBpbGU+DQogICAgICAgPElubGluZUZ1bmN0aW9uRXhwYW5zaW9uPk9ubHlFeHBsaWNpdElubGluZTwvSW5saW5lRnVuY3Rpb25FeHBhbnNpb24+DQotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cLi5cLi47Li5cLi5cbWFzbXg4NjslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPg0KKyAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXC4uXC4uOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+DQogICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPldJTjMyO19DUlRfTk9OU1REQ19OT19ERVBSRUNBVEU7X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO19DUlRfTk9OU1REQ19OT19XQVJOSU5HUztaTElCX1dJTkFQSTtXSU42NDslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+DQogICAgICAgPFN0cmluZ1Bvb2xpbmc+dHJ1ZTwvU3RyaW5nUG9vbGluZz4NCiAgICAgICA8RXhjZXB0aW9uSGFuZGxpbmc+DQpAQCAtNTEwLDggKzQ5OCw4IEBACiAgICAgPC9NaWRsPg0KICAgICA8Q2xDb21waWxlPg0KICAgICAgIDxJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj5Pbmx5RXhwbGljaXRJbmxpbmU8L0lubGluZUZ1bmN0aW9uRXhwYW5zaW9uPg0KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXC4uXC4uOy4uXC4uXG1hc214ODY7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4NCi0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX1dBUk5JTkdTO1pMSUJfV0lOQVBJO0FTTVY7QVNNSU5GO1dJTjY0OyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4NCisgICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlwuLlwuLjslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPg0KKyAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fQ1JUX05PTlNURENfTk9fREVQUkVDQVRFO19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fV0FSTklOR1M7WkxJQl9XSU5BUEk7V0lONjQ7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPg0KICAgICAgIDxTdHJpbmdQb29saW5nPnRydWU8L1N0cmluZ1Bvb2xpbmc+DQogICAgICAgPEV4Y2VwdGlvbkhhbmRsaW5nPg0KICAgICAgIDwvRXhjZXB0aW9uSGFuZGxpbmc+DQpAQCAtNTMzLDcgKzUyMSw3IEBACiAgICAgICA8Q3VsdHVyZT4weDA0MGM8L0N1bHR1cmU+DQogICAgIDwvUmVzb3VyY2VDb21waWxlPg0KICAgICA8TGluaz4NCi0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz4uLlwuLlxtYXNteDY0XGd2bWF0NjQub2JqOy4uXC4uXG1hc214NjRcaW5mZmFzeDY0Lm9iajslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPg0KKyAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPiUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+DQogICAgICAgPFN1cHByZXNzU3RhcnR1cEJhbm5lcj50cnVlPC9TdXBwcmVzc1N0YXJ0dXBCYW5uZXI+DQogICAgICAgPElnbm9yZUFsbERlZmF1bHRMaWJyYXJpZXM+ZmFsc2U8L0lnbm9yZUFsbERlZmF1bHRMaWJyYXJpZXM+DQogICAgICAgPE1vZHVsZURlZmluaXRpb25GaWxlPi5cemxpYnZjLmRlZjwvTW9kdWxlRGVmaW5pdGlvbkZpbGU+DQpAQCAtNTQxLDEwICs1MjksNiBAQAogICAgICAgPFN1YlN5c3RlbT5XaW5kb3dzPC9TdWJTeXN0ZW0+DQogICAgICAgPFRhcmdldE1hY2hpbmU+TWFjaGluZVg2NDwvVGFyZ2V0TWFjaGluZT4NCiAgICAgPC9MaW5rPg0KLSAgICA8UHJlQnVpbGRFdmVudD4NCi0gICAgICA8Q29tbWFuZD5jZCAuLlwuLlxtYXNteDY0DQotYmxkX21sNjQuYmF0PC9Db21tYW5kPg0KLSAgICA8L1ByZUJ1aWxkRXZlbnQ+DQogICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+DQogICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8SXRhbml1bSciPg0KICAgICA8TWlkbD4NCkBAIC01NTYsNyArNTQwLDcgQEAKICAgICA8L01pZGw+DQogICAgIDxDbENvbXBpbGU+DQogICAgICAgPElubGluZUZ1bmN0aW9uRXhwYW5zaW9uPk9ubHlFeHBsaWNpdElubGluZTwvSW5saW5lRnVuY3Rpb25FeHBhbnNpb24+DQotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cLi5cLi47Li5cLi5cbWFzbXg4NjslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPg0KKyAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXC4uXC4uOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+DQogICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9DUlRfTk9OU1REQ19OT19ERVBSRUNBVEU7X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO19DUlRfTk9OU1REQ19OT19XQVJOSU5HUztaTElCX1dJTkFQSTtXSU42NDslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+DQogICAgICAgPFN0cmluZ1Bvb2xpbmc+dHJ1ZTwvU3RyaW5nUG9vbGluZz4NCiAgICAgICA8RXhjZXB0aW9uSGFuZGxpbmc+DQpAQCAtNjAxLDE0ICs1ODUsNiBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5cZ3pyZWFkLmMiIC8+DQogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5cZ3p3cml0ZS5jIiAvPg0KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXC4uXGluZmJhY2suYyIgLz4NCi0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlxtYXNteDY0XGluZmZhczg2NjQuYyI+DQotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8SXRhbml1bSciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPg0KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+DQotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZVdpdGhvdXRBc218SXRhbml1bSciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPg0KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VXaXRob3V0QXNtfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+DQotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxJdGFuaXVtJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+DQotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPg0KLSAgICA8L0NsQ29tcGlsZT4NCiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlwuLlxpbmZmYXN0LmMiIC8+DQogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5caW5mbGF0ZS5jIiAvPg0KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXC4uXGluZnRyZWVzLmMiIC8+DQpkaWZmIC0tZ2l0IGEvc3JjL2NvbnRyaWIvdnN0dWRpby92YzEwL3psaWJ2Yy52Y3hwcm9qLmZpbHRlcnMgYi9zcmMvY29udHJpYi92c3R1ZGlvL3ZjMTAvemxpYnZjLnZjeHByb2ouZmlsdGVycwppbmRleCAxODBiNzFjLi42N2M0NDRhIDEwMDY0NAotLS0gYS9zcmMvY29udHJpYi92c3R1ZGlvL3ZjMTAvemxpYnZjLnZjeHByb2ouZmlsdGVycworKysgYi9zcmMvY29udHJpYi92c3R1ZGlvL3ZjMTAvemxpYnZjLnZjeHByb2ouZmlsdGVycwpAQCAtNDIsOSArNDIsNiBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5caW5mYmFjay5jIj4NCiAgICAgICA8RmlsdGVyPlNvdXJjZSBGaWxlczwvRmlsdGVyPg0KICAgICA8L0NsQ29tcGlsZT4NCi0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlxtYXNteDY0XGluZmZhczg2NjQuYyI+DQotICAgICAgPEZpbHRlcj5Tb3VyY2UgRmlsZXM8L0ZpbHRlcj4NCi0gICAgPC9DbENvbXBpbGU+DQogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5caW5mZmFzdC5jIj4NCiAgICAgICA8RmlsdGVyPlNvdXJjZSBGaWxlczwvRmlsdGVyPg0KICAgICA8L0NsQ29tcGlsZT4NCmRpZmYgLS1naXQgYS9zcmMvY29udHJpYi92c3R1ZGlvL3ZjMTEvdGVzdHpsaWIudmN4cHJvaiBiL3NyYy9jb250cmliL3ZzdHVkaW8vdmMxMS90ZXN0emxpYi52Y3hwcm9qCmluZGV4IDZkNTU5NTQuLmM2MTk4YzEgMTAwNjQ0Ci0tLSBhL3NyYy9jb250cmliL3ZzdHVkaW8vdmMxMS90ZXN0emxpYi52Y3hwcm9qCisrKyBiL3NyYy9jb250cmliL3ZzdHVkaW8vdmMxMS90ZXN0emxpYi52Y3hwcm9qCkBAIC0xODcsNyArMTg3LDcgQEAKICAgICA8Q2xDb21waWxlPg0KICAgICAgIDxPcHRpbWl6YXRpb24+RGlzYWJsZWQ8L09wdGltaXphdGlvbj4NCiAgICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlwuLlwuLjslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPg0KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5BU01WO0FTTUlORjtXSU4zMjtaTElCX1dJTkFQSTtfREVCVUc7X0NPTlNPTEU7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX1dBUk5JTkdTOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4NCisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+V0lOMzI7WkxJQl9XSU5BUEk7X0RFQlVHO19DT05TT0xFO19DUlRfTk9OU1REQ19OT19ERVBSRUNBVEU7X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO19DUlRfTk9OU1REQ19OT19XQVJOSU5HUzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+DQogICAgICAgPE1pbmltYWxSZWJ1aWxkPnRydWU8L01pbmltYWxSZWJ1aWxkPg0KICAgICAgIDxCYXNpY1J1bnRpbWVDaGVja3M+RGVmYXVsdDwvQmFzaWNSdW50aW1lQ2hlY2tzPg0KICAgICAgIDxSdW50aW1lTGlicmFyeT5NdWx0aVRocmVhZGVkRGVidWdETEw8L1J1bnRpbWVMaWJyYXJ5Pg0KQEAgLTIwMCw3ICsyMDAsNyBAQAogICAgICAgPERlYnVnSW5mb3JtYXRpb25Gb3JtYXQ+UHJvZ3JhbURhdGFiYXNlPC9EZWJ1Z0luZm9ybWF0aW9uRm9ybWF0Pg0KICAgICA8L0NsQ29tcGlsZT4NCiAgICAgPExpbms+DQotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Li5cLi5cbWFzbXg4NlxtYXRjaDY4Ni5vYmo7Li5cLi5cbWFzbXg4NlxpbmZmYXMzMi5vYmo7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4NCisgICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz4lKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPg0KICAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKXRlc3R6bGliLmV4ZTwvT3V0cHV0RmlsZT4NCiAgICAgICA8R2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPnRydWU8L0dlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj4NCiAgICAgICA8UHJvZ3JhbURhdGFiYXNlRmlsZT4kKE91dERpcil0ZXN0emxpYi5wZGI8L1Byb2dyYW1EYXRhYmFzZUZpbGU+DQpAQCAtMjQ3LDcgKzI0Nyw3IEBACiAgICAgICA8SW5saW5lRnVuY3Rpb25FeHBhbnNpb24+T25seUV4cGxpY2l0SW5saW5lPC9JbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj4NCiAgICAgICA8T21pdEZyYW1lUG9pbnRlcnM+dHJ1ZTwvT21pdEZyYW1lUG9pbnRlcnM+DQogICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cLi5cLi47JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4NCi0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+QVNNVjtBU01JTkY7V0lOMzI7WkxJQl9XSU5BUEk7TkRFQlVHO19DT05TT0xFO19DUlRfTk9OU1REQ19OT19ERVBSRUNBVEU7X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO19DUlRfTk9OU1REQ19OT19XQVJOSU5HUzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+DQorICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPldJTjMyO1pMSUJfV0lOQVBJO05ERUJVRztfQ09OU09MRTtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFO19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fV0FSTklOR1M7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPg0KICAgICAgIDxTdHJpbmdQb29saW5nPnRydWU8L1N0cmluZ1Bvb2xpbmc+DQogICAgICAgPEJhc2ljUnVudGltZUNoZWNrcz5EZWZhdWx0PC9CYXNpY1J1bnRpbWVDaGVja3M+DQogICAgICAgPFJ1bnRpbWVMaWJyYXJ5Pk11bHRpVGhyZWFkZWQ8L1J1bnRpbWVMaWJyYXJ5Pg0KQEAgLTI2MCw3ICsyNjAsNyBAQAogICAgICAgPERlYnVnSW5mb3JtYXRpb25Gb3JtYXQ+UHJvZ3JhbURhdGFiYXNlPC9EZWJ1Z0luZm9ybWF0aW9uRm9ybWF0Pg0KICAgICA8L0NsQ29tcGlsZT4NCiAgICAgPExpbms+DQotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Li5cLi5cbWFzbXg4NlxtYXRjaDY4Ni5vYmo7Li5cLi5cbWFzbXg4NlxpbmZmYXMzMi5vYmo7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4NCisgICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz4lKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPg0KICAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKXRlc3R6bGliLmV4ZTwvT3V0cHV0RmlsZT4NCiAgICAgICA8R2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPnRydWU8L0dlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj4NCiAgICAgICA8U3ViU3lzdGVtPkNvbnNvbGU8L1N1YlN5c3RlbT4NCkBAIC0yNzUsMTQgKzI3NSwxNCBAQAogICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPg0KICAgICA8Q2xDb21waWxlPg0KICAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXC4uXC4uOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+DQotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPkFTTVY7QVNNSU5GO1dJTjMyO1pMSUJfV0lOQVBJO19ERUJVRztfQ09OU09MRTtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFO19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fV0FSTklOR1M7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPg0KKyAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5XSU4zMjtaTElCX1dJTkFQSTtfREVCVUc7X0NPTlNPTEU7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX1dBUk5JTkdTOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4NCiAgICAgICA8QmFzaWNSdW50aW1lQ2hlY2tzPkRlZmF1bHQ8L0Jhc2ljUnVudGltZUNoZWNrcz4NCiAgICAgICA8UnVudGltZUxpYnJhcnk+TXVsdGlUaHJlYWRlZERlYnVnRExMPC9SdW50aW1lTGlicmFyeT4NCiAgICAgICA8QnVmZmVyU2VjdXJpdHlDaGVjaz5mYWxzZTwvQnVmZmVyU2VjdXJpdHlDaGVjaz4NCiAgICAgICA8QXNzZW1ibGVyTGlzdGluZ0xvY2F0aW9uPiQoSW50RGlyKTwvQXNzZW1ibGVyTGlzdGluZ0xvY2F0aW9uPg0KICAgICA8L0NsQ29tcGlsZT4NCiAgICAgPExpbms+DQotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Li5cLi5cbWFzbXg2NFxndm1hdDY0Lm9iajsuLlwuLlxtYXNteDY0XGluZmZhc3g2NC5vYmo7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4NCisgICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz4lKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPg0KICAgICA8L0xpbms+DQogICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+DQogICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfEl0YW5pdW0nIj4NCkBAIC0zNTgsMTQgKzM1OCwxNCBAQAogICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+DQogICAgIDxDbENvbXBpbGU+DQogICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cLi5cLi47JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4NCi0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+QVNNVjtBU01JTkY7V0lOMzI7WkxJQl9XSU5BUEk7TkRFQlVHO19DT05TT0xFO19DUlRfTk9OU1REQ19OT19ERVBSRUNBVEU7X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO19DUlRfTk9OU1REQ19OT19XQVJOSU5HUzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+DQorICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPldJTjMyO1pMSUJfV0lOQVBJO05ERUJVRztfQ09OU09MRTtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFO19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fV0FSTklOR1M7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPg0KICAgICAgIDxCYXNpY1J1bnRpbWVDaGVja3M+RGVmYXVsdDwvQmFzaWNSdW50aW1lQ2hlY2tzPg0KICAgICAgIDxSdW50aW1lTGlicmFyeT5NdWx0aVRocmVhZGVkRExMPC9SdW50aW1lTGlicmFyeT4NCiAgICAgICA8QnVmZmVyU2VjdXJpdHlDaGVjaz5mYWxzZTwvQnVmZmVyU2VjdXJpdHlDaGVjaz4NCiAgICAgICA8QXNzZW1ibGVyTGlzdGluZ0xvY2F0aW9uPiQoSW50RGlyKTwvQXNzZW1ibGVyTGlzdGluZ0xvY2F0aW9uPg0KICAgICA8L0NsQ29tcGlsZT4NCiAgICAgPExpbms+DQotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Li5cLi5cbWFzbXg2NFxndm1hdDY0Lm9iajsuLlwuLlxtYXNteDY0XGluZmZhc3g2NC5vYmo7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4NCisgICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz4lKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPg0KICAgICA8L0xpbms+DQogICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+DQogICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8SXRhbml1bSciPg0KQEAgLTQwNCwxNCArNDA0LDYgQEAKICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXC4uXGNyYzMyLmMiIC8+DQogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5cZGVmbGF0ZS5jIiAvPg0KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXC4uXGluZmJhY2suYyIgLz4NCi0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlxtYXNteDY0XGluZmZhczg2NjQuYyI+DQotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8SXRhbml1bSciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPg0KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+DQotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZVdpdGhvdXRBc218SXRhbml1bSciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPg0KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VXaXRob3V0QXNtfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+DQotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxJdGFuaXVtJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+DQotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPg0KLSAgICA8L0NsQ29tcGlsZT4NCiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlwuLlxpbmZmYXN0LmMiIC8+DQogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5caW5mbGF0ZS5jIiAvPg0KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXC4uXGluZnRyZWVzLmMiIC8+DQpkaWZmIC0tZ2l0IGEvc3JjL2NvbnRyaWIvdnN0dWRpby92YzExL3psaWIucmMgYi9zcmMvY29udHJpYi92c3R1ZGlvL3ZjMTEvemxpYi5yYwppbmRleCA3M2Y2NDc2Li44NzYwMjc0IDEwMDY0NAotLS0gYS9zcmMvY29udHJpYi92c3R1ZGlvL3ZjMTEvemxpYi5yYworKysgYi9zcmMvY29udHJpYi92c3R1ZGlvL3ZjMTEvemxpYi5yYwpAQCAtMiw4ICsyLDggQEAKIA0KICNkZWZpbmUgSURSX1ZFUlNJT04xICAxDQogSURSX1ZFUlNJT04xCVZFUlNJT05JTkZPCU1PVkVBQkxFIElNUFVSRSBMT0FET05DQUxMIERJU0NBUkRBQkxFDQotICBGSUxFVkVSU0lPTgkgMSwyLDgsMA0KLSAgUFJPRFVDVFZFUlNJT04gMSwyLDgsMA0KKyAgRklMRVZFUlNJT04JIDEsIDIsIDEzLCAwDQorICBQUk9EVUNUVkVSU0lPTiAxLCAyLCAxMywgMA0KICAgRklMRUZMQUdTTUFTSwlWU19GRklfRklMRUZMQUdTTUFTSw0KICAgRklMRUZMQUdTCTANCiAgIEZJTEVPUwlWT1NfRE9TX1dJTkRPV1MzMg0KQEAgLTE3LDEyICsxNywxMiBAQAogDQogICAgIEJFR0lODQogICAgICAgVkFMVUUgIkZpbGVEZXNjcmlwdGlvbiIsICJ6bGliIGRhdGEgY29tcHJlc3Npb24gYW5kIFpJUCBmaWxlIEkvTyBsaWJyYXJ5XDAiDQotICAgICAgVkFMVUUgIkZpbGVWZXJzaW9uIiwJIjEuMi44XDAiDQorICAgICAgVkFMVUUgIkZpbGVWZXJzaW9uIiwJIjEuMi4xM1wwIg0KICAgICAgIFZBTFVFICJJbnRlcm5hbE5hbWUiLAkiemxpYlwwIg0KICAgICAgIFZBTFVFICJPcmlnaW5hbEZpbGVuYW1lIiwJInpsaWJ3YXBpLmRsbFwwIg0KICAgICAgIFZBTFVFICJQcm9kdWN0TmFtZSIsCSJaTGliLkRMTFwwIg0KICAgICAgIFZBTFVFICJDb21tZW50cyIsIkRMTCBzdXBwb3J0IGJ5IEFsZXNzYW5kcm8gSWFjb3BldHRpICYgR2lsbGVzIFZvbGxhbnRcMCINCi0gICAgICBWQUxVRSAiTGVnYWxDb3B5cmlnaHQiLCAiKEMpIDE5OTUtMjAxMyBKZWFuLWxvdXAgR2FpbGx5ICYgTWFyayBBZGxlclwwIg0KKyAgICAgIFZBTFVFICJMZWdhbENvcHlyaWdodCIsICIoQykgMTk5NS0yMDIyIEplYW4tbG91cCBHYWlsbHkgJiBNYXJrIEFkbGVyXDAiDQogICAgIEVORA0KICAgRU5EDQogICBCTE9DSyAiVmFyRmlsZUluZm8iDQpkaWZmIC0tZ2l0IGEvc3JjL2NvbnRyaWIvdnN0dWRpby92YzExL3psaWJzdGF0LnZjeHByb2ogYi9zcmMvY29udHJpYi92c3R1ZGlvL3ZjMTEvemxpYnN0YXQudmN4cHJvagppbmRleCA4MDZiNzZhLi44NmZiMWM4IDEwMDY0NAotLS0gYS9zcmMvY29udHJpYi92c3R1ZGlvL3ZjMTEvemxpYnN0YXQudmN4cHJvagorKysgYi9zcmMvY29udHJpYi92c3R1ZGlvL3ZjMTEvemxpYnN0YXQudmN4cHJvagpAQCAtMTY3LDcgKzE2Nyw3IEBACiAgIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj4NCiAgICAgPENsQ29tcGlsZT4NCiAgICAgICA8T3B0aW1pemF0aW9uPkRpc2FibGVkPC9PcHRpbWl6YXRpb24+DQotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cLi5cLi47Li5cLi5cbWFzbXg4NjslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPg0KKyAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXC4uXC4uOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+DQogICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPldJTjMyO1pMSUJfV0lOQVBJO19DUlRfTk9OU1REQ19OT19ERVBSRUNBVEU7X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO19DUlRfTk9OU1REQ19OT19XQVJOSU5HUzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+DQogICAgICAgPEV4Y2VwdGlvbkhhbmRsaW5nPg0KICAgICAgIDwvRXhjZXB0aW9uSGFuZGxpbmc+DQpAQCAtMTkzLDggKzE5Myw4IEBACiAgIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPg0KICAgICA8Q2xDb21waWxlPg0KICAgICAgIDxJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj5Pbmx5RXhwbGljaXRJbmxpbmU8L0lubGluZUZ1bmN0aW9uRXhwYW5zaW9uPg0KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXC4uXC4uOy4uXC4uXG1hc214ODY7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4NCi0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+V0lOMzI7WkxJQl9XSU5BUEk7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX1dBUk5JTkdTO0FTTVY7QVNNSU5GOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4NCisgICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlwuLlwuLjslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPg0KKyAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5XSU4zMjtaTElCX1dJTkFQSTtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFO19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fV0FSTklOR1M7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPg0KICAgICAgIDxTdHJpbmdQb29saW5nPnRydWU8L1N0cmluZ1Bvb2xpbmc+DQogICAgICAgPEV4Y2VwdGlvbkhhbmRsaW5nPg0KICAgICAgIDwvRXhjZXB0aW9uSGFuZGxpbmc+DQpAQCAtMjEzLDcgKzIxMyw3IEBACiAgICAgPC9SZXNvdXJjZUNvbXBpbGU+DQogICAgIDxMaWI+DQogICAgICAgPEFkZGl0aW9uYWxPcHRpb25zPi9NQUNISU5FOlg4NiAvTk9ERUZBVUxUTElCICUoQWRkaXRpb25hbE9wdGlvbnMpPC9BZGRpdGlvbmFsT3B0aW9ucz4NCi0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz4uLlwuLlxtYXNteDg2XG1hdGNoNjg2Lm9iajsuLlwuLlxtYXNteDg2XGluZmZhczMyLm9iajslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPg0KKyAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPiUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+DQogICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpemxpYnN0YXQubGliPC9PdXRwdXRGaWxlPg0KICAgICAgIDxTdXBwcmVzc1N0YXJ0dXBCYW5uZXI+dHJ1ZTwvU3VwcHJlc3NTdGFydHVwQmFubmVyPg0KICAgICA8L0xpYj4NCkBAIC0yMjEsNyArMjIxLDcgQEAKICAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlV2l0aG91dEFzbXxXaW4zMiciPg0KICAgICA8Q2xDb21waWxlPg0KICAgICAgIDxJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj5Pbmx5RXhwbGljaXRJbmxpbmU8L0lubGluZUZ1bmN0aW9uRXhwYW5zaW9uPg0KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXC4uXC4uOy4uXC4uXG1hc214ODY7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4NCisgICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlwuLlwuLjslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPg0KICAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5XSU4zMjtaTElCX1dJTkFQSTtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFO19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fV0FSTklOR1M7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPg0KICAgICAgIDxTdHJpbmdQb29saW5nPnRydWU8L1N0cmluZ1Bvb2xpbmc+DQogICAgICAgPEV4Y2VwdGlvbkhhbmRsaW5nPg0KQEAgLTI1MSw3ICsyNTEsNyBAQAogICAgIDwvTWlkbD4NCiAgICAgPENsQ29tcGlsZT4NCiAgICAgICA8T3B0aW1pemF0aW9uPkRpc2FibGVkPC9PcHRpbWl6YXRpb24+DQotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cLi5cLi47Li5cLi5cbWFzbXg4NjslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPg0KKyAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXC4uXC4uOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+DQogICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPlpMSUJfV0lOQVBJO19DUlRfTk9OU1REQ19OT19ERVBSRUNBVEU7X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO19DUlRfTk9OU1REQ19OT19XQVJOSU5HUztXSU42NDslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+DQogICAgICAgPEV4Y2VwdGlvbkhhbmRsaW5nPg0KICAgICAgIDwvRXhjZXB0aW9uSGFuZGxpbmc+DQpAQCAtMjgwLDcgKzI4MCw3IEBACiAgICAgPC9NaWRsPg0KICAgICA8Q2xDb21waWxlPg0KICAgICAgIDxPcHRpbWl6YXRpb24+RGlzYWJsZWQ8L09wdGltaXphdGlvbj4NCi0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlwuLlwuLjsuLlwuLlxtYXNteDg2OyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+DQorICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cLi5cLi47JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4NCiAgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+WkxJQl9XSU5BUEk7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX1dBUk5JTkdTO1dJTjY0OyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4NCiAgICAgICA8RXhjZXB0aW9uSGFuZGxpbmc+DQogICAgICAgPC9FeGNlcHRpb25IYW5kbGluZz4NCkBAIC0zMDksOCArMzA5LDggQEAKICAgICA8L01pZGw+DQogICAgIDxDbENvbXBpbGU+DQogICAgICAgPElubGluZUZ1bmN0aW9uRXhwYW5zaW9uPk9ubHlFeHBsaWNpdElubGluZTwvSW5saW5lRnVuY3Rpb25FeHBhbnNpb24+DQotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cLi5cLi47Li5cLi5cbWFzbXg4NjslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPg0KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5aTElCX1dJTkFQSTtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFO19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fV0FSTklOR1M7QVNNVjtBU01JTkY7V0lONjQ7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPg0KKyAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXC4uXC4uOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+DQorICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPlpMSUJfV0lOQVBJO19DUlRfTk9OU1REQ19OT19ERVBSRUNBVEU7X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO19DUlRfTk9OU1REQ19OT19XQVJOSU5HUztXSU42NDslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+DQogICAgICAgPFN0cmluZ1Bvb2xpbmc+dHJ1ZTwvU3RyaW5nUG9vbGluZz4NCiAgICAgICA8RXhjZXB0aW9uSGFuZGxpbmc+DQogICAgICAgPC9FeGNlcHRpb25IYW5kbGluZz4NCkBAIC0zMjksNyArMzI5LDcgQEAKICAgICA8L1Jlc291cmNlQ29tcGlsZT4NCiAgICAgPExpYj4NCiAgICAgICA8QWRkaXRpb25hbE9wdGlvbnM+L01BQ0hJTkU6QU1ENjQgL05PREVGQVVMVExJQiAlKEFkZGl0aW9uYWxPcHRpb25zKTwvQWRkaXRpb25hbE9wdGlvbnM+DQotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Li5cLi5cbWFzbXg2NFxndm1hdDY0Lm9iajsuLlwuLlxtYXNteDY0XGluZmZhc3g2NC5vYmo7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4NCisgICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz4lKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPg0KICAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKXpsaWJzdGF0LmxpYjwvT3V0cHV0RmlsZT4NCiAgICAgICA8U3VwcHJlc3NTdGFydHVwQmFubmVyPnRydWU8L1N1cHByZXNzU3RhcnR1cEJhbm5lcj4NCiAgICAgPC9MaWI+DQpAQCAtMzQwLDcgKzM0MCw3IEBACiAgICAgPC9NaWRsPg0KICAgICA8Q2xDb21waWxlPg0KICAgICAgIDxJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj5Pbmx5RXhwbGljaXRJbmxpbmU8L0lubGluZUZ1bmN0aW9uRXhwYW5zaW9uPg0KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXC4uXC4uOy4uXC4uXG1hc214ODY7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4NCisgICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlwuLlwuLjslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPg0KICAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5aTElCX1dJTkFQSTtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFO19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fV0FSTklOR1M7V0lONjQ7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPg0KICAgICAgIDxTdHJpbmdQb29saW5nPnRydWU8L1N0cmluZ1Bvb2xpbmc+DQogICAgICAgPEV4Y2VwdGlvbkhhbmRsaW5nPg0KQEAgLTM3MCw3ICszNzAsNyBAQAogICAgIDwvTWlkbD4NCiAgICAgPENsQ29tcGlsZT4NCiAgICAgICA8SW5saW5lRnVuY3Rpb25FeHBhbnNpb24+T25seUV4cGxpY2l0SW5saW5lPC9JbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj4NCi0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlwuLlwuLjsuLlwuLlxtYXNteDg2OyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+DQorICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cLi5cLi47JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4NCiAgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+WkxJQl9XSU5BUEk7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX1dBUk5JTkdTO1dJTjY0OyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4NCiAgICAgICA8U3RyaW5nUG9vbGluZz50cnVlPC9TdHJpbmdQb29saW5nPg0KICAgICAgIDxFeGNlcHRpb25IYW5kbGluZz4NCkBAIC00MDAsNyArNDAwLDcgQEAKICAgICA8L01pZGw+DQogICAgIDxDbENvbXBpbGU+DQogICAgICAgPElubGluZUZ1bmN0aW9uRXhwYW5zaW9uPk9ubHlFeHBsaWNpdElubGluZTwvSW5saW5lRnVuY3Rpb25FeHBhbnNpb24+DQotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cLi5cLi47Li5cLi5cbWFzbXg4NjslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPg0KKyAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXC4uXC4uOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+DQogICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPlpMSUJfV0lOQVBJO19DUlRfTk9OU1REQ19OT19ERVBSRUNBVEU7X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO19DUlRfTk9OU1REQ19OT19XQVJOSU5HUztXSU42NDslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+DQogICAgICAgPFN0cmluZ1Bvb2xpbmc+dHJ1ZTwvU3RyaW5nUG9vbGluZz4NCiAgICAgICA8RXhjZXB0aW9uSGFuZGxpbmc+DQpAQCAtNDM0LDE0ICs0MzQsNiBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5cZ3pyZWFkLmMiIC8+DQogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5cZ3p3cml0ZS5jIiAvPg0KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXC4uXGluZmJhY2suYyIgLz4NCi0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlxtYXNteDY0XGluZmZhczg2NjQuYyI+DQotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8SXRhbml1bSciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPg0KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+DQotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZVdpdGhvdXRBc218SXRhbml1bSciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPg0KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VXaXRob3V0QXNtfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+DQotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxJdGFuaXVtJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+DQotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPg0KLSAgICA8L0NsQ29tcGlsZT4NCiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlwuLlxpbmZmYXN0LmMiIC8+DQogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5caW5mbGF0ZS5jIiAvPg0KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXC4uXGluZnRyZWVzLmMiIC8+DQpkaWZmIC0tZ2l0IGEvc3JjL2NvbnRyaWIvdnN0dWRpby92YzExL3psaWJ2Yy5kZWYgYi9zcmMvY29udHJpYi92c3R1ZGlvL3ZjMTEvemxpYnZjLmRlZgppbmRleCA2MzY3MDQ2Li5iYTA5YmMxIDEwMDY0NAotLS0gYS9zcmMvY29udHJpYi92c3R1ZGlvL3ZjMTEvemxpYnZjLmRlZgorKysgYi9zcmMvY29udHJpYi92c3R1ZGlvL3ZjMTEvemxpYnZjLmRlZgpAQCAtMSw3ICsxLDcgQEAKIExJQlJBUlkNCiA7IHpsaWIgZGF0YSBjb21wcmVzc2lvbiBhbmQgWklQIGZpbGUgSS9PIGxpYnJhcnkNCiANCi1WRVJTSU9OCQkxLjIuOA0KK1ZFUlNJT04JCTEuMg0KIA0KIEVYUE9SVFMNCiAgICAgICAgIGFkbGVyMzIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQDENCkBAIC0xNDEsMyArMTQxLDE4IEBACiA7IHpsaWIxIHYxLjIuOCBhZGRlZDoNCiAgICAgICAgIGluZmxhdGVHZXREaWN0aW9uYXJ5ICAgICAgICAgICAgICAgICAgICBAMTY2DQogICAgICAgICBnenZwcmludGYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQDE2Nw0KKw0KKzsgemxpYjEgdjEuMi45IGFkZGVkOg0KKyAgICAgICAgaW5mbGF0ZUNvZGVzVXNlZCAgICAgICAgICAgICAgICAgICAgICAgIEAxNjgNCisgICAgICAgIGluZmxhdGVWYWxpZGF0ZSAgICAgICAgICAgICAgICAgICAgICAgICBAMTY5DQorICAgICAgICB1bmNvbXByZXNzMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQDE3MA0KKyAgICAgICAgZ3pmcmVhZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEAxNzENCisgICAgICAgIGd6ZndyaXRlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAMTcyDQorICAgICAgICBkZWZsYXRlR2V0RGljdGlvbmFyeSAgICAgICAgICAgICAgICAgICAgQDE3Mw0KKyAgICAgICAgYWRsZXIzMl96ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEAxNzQNCisgICAgICAgIGNyYzMyX3ogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAMTc1DQorDQorOyB6bGliMSB2MS4yLjEyIGFkZGVkOg0KKwkJY3JjMzJfY29tYmluZV9nZW4JCQkJCQlAMTc2DQorCQljcmMzMl9jb21iaW5lX2dlbjY0CQkJCQkJQDE3Nw0KKwkJY3JjMzJfY29tYmluZV9vcAkJCQkJCUAxNzgNCmRpZmYgLS1naXQgYS9zcmMvY29udHJpYi92c3R1ZGlvL3ZjMTEvemxpYnZjLnZjeHByb2ogYi9zcmMvY29udHJpYi92c3R1ZGlvL3ZjMTEvemxpYnZjLnZjeHByb2oKaW5kZXggYzY1Yjk1Zi4uZmM4Y2Q5YyAxMDA2NDQKLS0tIGEvc3JjL2NvbnRyaWIvdnN0dWRpby92YzExL3psaWJ2Yy52Y3hwcm9qCisrKyBiL3NyYy9jb250cmliL3ZzdHVkaW8vdmMxMS96bGlidmMudmN4cHJvagpAQCAtMjA0LDggKzIwNCw4IEBACiAgICAgPC9NaWRsPg0KICAgICA8Q2xDb21waWxlPg0KICAgICAgIDxPcHRpbWl6YXRpb24+RGlzYWJsZWQ8L09wdGltaXphdGlvbj4NCi0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlwuLlwuLjsuLlwuLlxtYXNteDg2OyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+DQotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPldJTjMyO19DUlRfTk9OU1REQ19OT19ERVBSRUNBVEU7X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO19DUlRfTk9OU1REQ19OT19XQVJOSU5HUztaTElCX1dJTkFQSTtBU01WO0FTTUlORjslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+DQorICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cLi5cLi47JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4NCisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+V0lOMzI7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX1dBUk5JTkdTO1pMSUJfV0lOQVBJOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4NCiAgICAgICA8RXhjZXB0aW9uSGFuZGxpbmc+DQogICAgICAgPC9FeGNlcHRpb25IYW5kbGluZz4NCiAgICAgICA8UnVudGltZUxpYnJhcnk+TXVsdGlUaHJlYWRlZERlYnVnRExMPC9SdW50aW1lTGlicmFyeT4NCkBAIC0yMjYsNyArMjI2LDcgQEAKICAgICA8L1Jlc291cmNlQ29tcGlsZT4NCiAgICAgPExpbms+DQogICAgICAgPEFkZGl0aW9uYWxPcHRpb25zPi9NQUNISU5FOkkzODYgJShBZGRpdGlvbmFsT3B0aW9ucyk8L0FkZGl0aW9uYWxPcHRpb25zPg0KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPi4uXC4uXG1hc214ODZcbWF0Y2g2ODYub2JqOy4uXC4uXG1hc214ODZcaW5mZmFzMzIub2JqOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+DQorICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4NCiAgICAgICA8T3V0cHV0RmlsZT4kKE91dERpcil6bGlid2FwaS5kbGw8L091dHB1dEZpbGU+DQogICAgICAgPFN1cHByZXNzU3RhcnR1cEJhbm5lcj50cnVlPC9TdXBwcmVzc1N0YXJ0dXBCYW5uZXI+DQogICAgICAgPE1vZHVsZURlZmluaXRpb25GaWxlPi5cemxpYnZjLmRlZjwvTW9kdWxlRGVmaW5pdGlvbkZpbGU+DQpAQCAtMjQwLDEwICsyNDAsNiBAQAogICAgICAgPC9EYXRhRXhlY3V0aW9uUHJldmVudGlvbj4NCiAgICAgICA8SW1wb3J0TGlicmFyeT4kKE91dERpcil6bGlid2FwaS5saWI8L0ltcG9ydExpYnJhcnk+DQogICAgIDwvTGluaz4NCi0gICAgPFByZUJ1aWxkRXZlbnQ+DQotICAgICAgPENvbW1hbmQ+Y2QgLi5cLi5cbWFzbXg4Ng0KLWJsZF9tbDMyLmJhdDwvQ29tbWFuZD4NCi0gICAgPC9QcmVCdWlsZEV2ZW50Pg0KICAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPg0KICAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlV2l0aG91dEFzbXxXaW4zMiciPg0KICAgICA8TWlkbD4NCkBAIC0yNTUsNyArMjUxLDcgQEAKICAgICA8L01pZGw+DQogICAgIDxDbENvbXBpbGU+DQogICAgICAgPElubGluZUZ1bmN0aW9uRXhwYW5zaW9uPk9ubHlFeHBsaWNpdElubGluZTwvSW5saW5lRnVuY3Rpb25FeHBhbnNpb24+DQotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cLi5cLi47Li5cLi5cbWFzbXg4NjslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPg0KKyAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXC4uXC4uOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+DQogICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPldJTjMyO19DUlRfTk9OU1REQ19OT19ERVBSRUNBVEU7X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO19DUlRfTk9OU1REQ19OT19XQVJOSU5HUztaTElCX1dJTkFQSTslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+DQogICAgICAgPFN0cmluZ1Bvb2xpbmc+dHJ1ZTwvU3RyaW5nUG9vbGluZz4NCiAgICAgICA8RXhjZXB0aW9uSGFuZGxpbmc+DQpAQCAtMzAzLDggKzI5OSw4IEBACiAgICAgPC9NaWRsPg0KICAgICA8Q2xDb21waWxlPg0KICAgICAgIDxJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj5Pbmx5RXhwbGljaXRJbmxpbmU8L0lubGluZUZ1bmN0aW9uRXhwYW5zaW9uPg0KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXC4uXC4uOy4uXC4uXG1hc214ODY7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4NCi0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+V0lOMzI7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX1dBUk5JTkdTO1pMSUJfV0lOQVBJO0FTTVY7QVNNSU5GOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4NCisgICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlwuLlwuLjslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPg0KKyAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5XSU4zMjtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFO19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fV0FSTklOR1M7WkxJQl9XSU5BUEk7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPg0KICAgICAgIDxTdHJpbmdQb29saW5nPnRydWU8L1N0cmluZ1Bvb2xpbmc+DQogICAgICAgPEV4Y2VwdGlvbkhhbmRsaW5nPg0KICAgICAgIDwvRXhjZXB0aW9uSGFuZGxpbmc+DQpAQCAtMzI3LDcgKzMyMyw3IEBACiAgICAgPC9SZXNvdXJjZUNvbXBpbGU+DQogICAgIDxMaW5rPg0KICAgICAgIDxBZGRpdGlvbmFsT3B0aW9ucz4vTUFDSElORTpJMzg2ICUoQWRkaXRpb25hbE9wdGlvbnMpPC9BZGRpdGlvbmFsT3B0aW9ucz4NCi0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz4uLlwuLlxtYXNteDg2XG1hdGNoNjg2Lm9iajsuLlwuLlxtYXNteDg2XGluZmZhczMyLm9iajslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPg0KKyAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPiUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+DQogICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpemxpYndhcGkuZGxsPC9PdXRwdXRGaWxlPg0KICAgICAgIDxTdXBwcmVzc1N0YXJ0dXBCYW5uZXI+dHJ1ZTwvU3VwcHJlc3NTdGFydHVwQmFubmVyPg0KICAgICAgIDxJZ25vcmVBbGxEZWZhdWx0TGlicmFyaWVzPmZhbHNlPC9JZ25vcmVBbGxEZWZhdWx0TGlicmFyaWVzPg0KQEAgLTM0MSwxMCArMzM3LDYgQEAKICAgICAgIDwvRGF0YUV4ZWN1dGlvblByZXZlbnRpb24+DQogICAgICAgPEltcG9ydExpYnJhcnk+JChPdXREaXIpemxpYndhcGkubGliPC9JbXBvcnRMaWJyYXJ5Pg0KICAgICA8L0xpbms+DQotICAgIDxQcmVCdWlsZEV2ZW50Pg0KLSAgICAgIDxDb21tYW5kPmNkIC4uXC4uXG1hc214ODYNCi1ibGRfbWwzMi5iYXQ8L0NvbW1hbmQ+DQotICAgIDwvUHJlQnVpbGRFdmVudD4NCiAgIDwvSXRlbURlZmluaXRpb25Hcm91cD4NCiAgIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+DQogICAgIDxNaWRsPg0KQEAgLTM1Niw4ICszNDgsOCBAQAogICAgIDwvTWlkbD4NCiAgICAgPENsQ29tcGlsZT4NCiAgICAgICA8T3B0aW1pemF0aW9uPkRpc2FibGVkPC9PcHRpbWl6YXRpb24+DQotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cLi5cLi47Li5cLi5cbWFzbXg4NjslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPg0KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5XSU4zMjtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFO19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fV0FSTklOR1M7WkxJQl9XSU5BUEk7QVNNVjtBU01JTkY7V0lONjQ7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPg0KKyAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXC4uXC4uOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+DQorICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPldJTjMyO19DUlRfTk9OU1REQ19OT19ERVBSRUNBVEU7X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO19DUlRfTk9OU1REQ19OT19XQVJOSU5HUztaTElCX1dJTkFQSTtXSU42NDslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+DQogICAgICAgPEV4Y2VwdGlvbkhhbmRsaW5nPg0KICAgICAgIDwvRXhjZXB0aW9uSGFuZGxpbmc+DQogICAgICAgPFJ1bnRpbWVMaWJyYXJ5Pk11bHRpVGhyZWFkZWREZWJ1Z0RMTDwvUnVudGltZUxpYnJhcnk+DQpAQCAtMzc3LDcgKzM2OSw3IEBACiAgICAgICA8Q3VsdHVyZT4weDA0MGM8L0N1bHR1cmU+DQogICAgIDwvUmVzb3VyY2VDb21waWxlPg0KICAgICA8TGluaz4NCi0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz4uLlwuLlxtYXNteDY0XGd2bWF0NjQub2JqOy4uXC4uXG1hc214NjRcaW5mZmFzeDY0Lm9iajslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPg0KKyAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPiUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+DQogICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpemxpYndhcGkuZGxsPC9PdXRwdXRGaWxlPg0KICAgICAgIDxTdXBwcmVzc1N0YXJ0dXBCYW5uZXI+dHJ1ZTwvU3VwcHJlc3NTdGFydHVwQmFubmVyPg0KICAgICAgIDxNb2R1bGVEZWZpbml0aW9uRmlsZT4uXHpsaWJ2Yy5kZWY8L01vZHVsZURlZmluaXRpb25GaWxlPg0KQEAgLTM4OSwxMCArMzgxLDYgQEAKICAgICAgIDxJbXBvcnRMaWJyYXJ5PiQoT3V0RGlyKXpsaWJ3YXBpLmxpYjwvSW1wb3J0TGlicmFyeT4NCiAgICAgICA8VGFyZ2V0TWFjaGluZT5NYWNoaW5lWDY0PC9UYXJnZXRNYWNoaW5lPg0KICAgICA8L0xpbms+DQotICAgIDxQcmVCdWlsZEV2ZW50Pg0KLSAgICAgIDxDb21tYW5kPmNkIC4uXC4uXGNvbnRyaWJcbWFzbXg2NA0KLWJsZF9tbDY0LmJhdDwvQ29tbWFuZD4NCi0gICAgPC9QcmVCdWlsZEV2ZW50Pg0KICAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPg0KICAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xJdGFuaXVtJyI+DQogICAgIDxNaWRsPg0KQEAgLTQwNCw3ICszOTIsNyBAQAogICAgIDwvTWlkbD4NCiAgICAgPENsQ29tcGlsZT4NCiAgICAgICA8T3B0aW1pemF0aW9uPkRpc2FibGVkPC9PcHRpbWl6YXRpb24+DQotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cLi5cLi47Li5cLi5cbWFzbXg4NjslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPg0KKyAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXC4uXC4uOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+DQogICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPldJTjMyO19DUlRfTk9OU1REQ19OT19ERVBSRUNBVEU7X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO19DUlRfTk9OU1REQ19OT19XQVJOSU5HUztaTElCX1dJTkFQSTtXSU42NDslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+DQogICAgICAgPEV4Y2VwdGlvbkhhbmRsaW5nPg0KICAgICAgIDwvRXhjZXB0aW9uSGFuZGxpbmc+DQpAQCAtNDQ3LDcgKzQzNSw3IEBACiAgICAgPC9NaWRsPg0KICAgICA8Q2xDb21waWxlPg0KICAgICAgIDxJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj5Pbmx5RXhwbGljaXRJbmxpbmU8L0lubGluZUZ1bmN0aW9uRXhwYW5zaW9uPg0KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXC4uXC4uOy4uXC4uXG1hc214ODY7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4NCisgICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlwuLlwuLjslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPg0KICAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5XSU4zMjtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFO19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fV0FSTklOR1M7WkxJQl9XSU5BUEk7V0lONjQ7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPg0KICAgICAgIDxTdHJpbmdQb29saW5nPnRydWU8L1N0cmluZ1Bvb2xpbmc+DQogICAgICAgPEV4Y2VwdGlvbkhhbmRsaW5nPg0KQEAgLTQ5Miw3ICs0ODAsNyBAQAogICAgIDwvTWlkbD4NCiAgICAgPENsQ29tcGlsZT4NCiAgICAgICA8SW5saW5lRnVuY3Rpb25FeHBhbnNpb24+T25seUV4cGxpY2l0SW5saW5lPC9JbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj4NCi0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlwuLlwuLjsuLlwuLlxtYXNteDg2OyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+DQorICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cLi5cLi47JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4NCiAgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+V0lOMzI7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX1dBUk5JTkdTO1pMSUJfV0lOQVBJO1dJTjY0OyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4NCiAgICAgICA8U3RyaW5nUG9vbGluZz50cnVlPC9TdHJpbmdQb29saW5nPg0KICAgICAgIDxFeGNlcHRpb25IYW5kbGluZz4NCkBAIC01MzcsOCArNTI1LDggQEAKICAgICA8L01pZGw+DQogICAgIDxDbENvbXBpbGU+DQogICAgICAgPElubGluZUZ1bmN0aW9uRXhwYW5zaW9uPk9ubHlFeHBsaWNpdElubGluZTwvSW5saW5lRnVuY3Rpb25FeHBhbnNpb24+DQotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cLi5cLi47Li5cLi5cbWFzbXg4NjslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPg0KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fQ1JUX05PTlNURENfTk9fREVQUkVDQVRFO19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fV0FSTklOR1M7WkxJQl9XSU5BUEk7QVNNVjtBU01JTkY7V0lONjQ7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPg0KKyAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXC4uXC4uOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+DQorICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9DUlRfTk9OU1REQ19OT19ERVBSRUNBVEU7X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO19DUlRfTk9OU1REQ19OT19XQVJOSU5HUztaTElCX1dJTkFQSTtXSU42NDslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+DQogICAgICAgPFN0cmluZ1Bvb2xpbmc+dHJ1ZTwvU3RyaW5nUG9vbGluZz4NCiAgICAgICA8RXhjZXB0aW9uSGFuZGxpbmc+DQogICAgICAgPC9FeGNlcHRpb25IYW5kbGluZz4NCkBAIC01NjAsNyArNTQ4LDcgQEAKICAgICAgIDxDdWx0dXJlPjB4MDQwYzwvQ3VsdHVyZT4NCiAgICAgPC9SZXNvdXJjZUNvbXBpbGU+DQogICAgIDxMaW5rPg0KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPi4uXC4uXG1hc214NjRcZ3ZtYXQ2NC5vYmo7Li5cLi5cbWFzbXg2NFxpbmZmYXN4NjQub2JqOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+DQorICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4NCiAgICAgICA8T3V0cHV0RmlsZT4kKE91dERpcil6bGlid2FwaS5kbGw8L091dHB1dEZpbGU+DQogICAgICAgPFN1cHByZXNzU3RhcnR1cEJhbm5lcj50cnVlPC9TdXBwcmVzc1N0YXJ0dXBCYW5uZXI+DQogICAgICAgPElnbm9yZUFsbERlZmF1bHRMaWJyYXJpZXM+ZmFsc2U8L0lnbm9yZUFsbERlZmF1bHRMaWJyYXJpZXM+DQpAQCAtNTcyLDEwICs1NjAsNiBAQAogICAgICAgPEltcG9ydExpYnJhcnk+JChPdXREaXIpemxpYndhcGkubGliPC9JbXBvcnRMaWJyYXJ5Pg0KICAgICAgIDxUYXJnZXRNYWNoaW5lPk1hY2hpbmVYNjQ8L1RhcmdldE1hY2hpbmU+DQogICAgIDwvTGluaz4NCi0gICAgPFByZUJ1aWxkRXZlbnQ+DQotICAgICAgPENvbW1hbmQ+Y2QgLi5cLi5cbWFzbXg2NA0KLWJsZF9tbDY0LmJhdDwvQ29tbWFuZD4NCi0gICAgPC9QcmVCdWlsZEV2ZW50Pg0KICAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPg0KICAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfEl0YW5pdW0nIj4NCiAgICAgPE1pZGw+DQpAQCAtNTg3LDcgKzU3MSw3IEBACiAgICAgPC9NaWRsPg0KICAgICA8Q2xDb21waWxlPg0KICAgICAgIDxJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj5Pbmx5RXhwbGljaXRJbmxpbmU8L0lubGluZUZ1bmN0aW9uRXhwYW5zaW9uPg0KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXC4uXC4uOy4uXC4uXG1hc214ODY7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4NCisgICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlwuLlwuLjslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPg0KICAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fQ1JUX05PTlNURENfTk9fREVQUkVDQVRFO19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fV0FSTklOR1M7WkxJQl9XSU5BUEk7V0lONjQ7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPg0KICAgICAgIDxTdHJpbmdQb29saW5nPnRydWU8L1N0cmluZ1Bvb2xpbmc+DQogICAgICAgPEV4Y2VwdGlvbkhhbmRsaW5nPg0KQEAgLTYzMiwxNCArNjE2LDYgQEAKICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXC4uXGd6cmVhZC5jIiAvPg0KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXC4uXGd6d3JpdGUuYyIgLz4NCiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlwuLlxpbmZiYWNrLmMiIC8+DQotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cbWFzbXg2NFxpbmZmYXM4NjY0LmMiPg0KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfEl0YW5pdW0nIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4NCi0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPg0KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VXaXRob3V0QXNtfEl0YW5pdW0nIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4NCi0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlV2l0aG91dEFzbXxXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPg0KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8SXRhbml1bSciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPg0KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4NCi0gICAgPC9DbENvbXBpbGU+DQogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5caW5mZmFzdC5jIiAvPg0KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXC4uXGluZmxhdGUuYyIgLz4NCiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlwuLlxpbmZ0cmVlcy5jIiAvPg0KZGlmZiAtLWdpdCBhL3NyYy9jb250cmliL3ZzdHVkaW8vdmMxMi9taW5pdW56LnZjeHByb2ogYi9zcmMvY29udHJpYi92c3R1ZGlvL3ZjMTIvbWluaXVuei52Y3hwcm9qCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ4OGFjN2YKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvY29udHJpYi92c3R1ZGlvL3ZjMTIvbWluaXVuei52Y3hwcm9qCkBAIC0wLDAgKzEsMzE2IEBACivvu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPFByb2plY3QgRGVmYXVsdFRhcmdldHM9IkJ1aWxkIiBUb29sc1ZlcnNpb249IjEyLjAiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgorICA8SXRlbUdyb3VwIExhYmVsPSJQcm9qZWN0Q29uZmlndXJhdGlvbnMiPgorICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJEZWJ1Z3xJdGFuaXVtIj4KKyAgICAgIDxDb25maWd1cmF0aW9uPkRlYnVnPC9Db25maWd1cmF0aW9uPgorICAgICAgPFBsYXRmb3JtPkl0YW5pdW08L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IkRlYnVnfFdpbjMyIj4KKyAgICAgIDxDb25maWd1cmF0aW9uPkRlYnVnPC9Db25maWd1cmF0aW9uPgorICAgICAgPFBsYXRmb3JtPldpbjMyPC9QbGF0Zm9ybT4KKyAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgorICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJEZWJ1Z3x4NjQiPgorICAgICAgPENvbmZpZ3VyYXRpb24+RGVidWc8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+eDY0PC9QbGF0Zm9ybT4KKyAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgorICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJSZWxlYXNlfEl0YW5pdW0iPgorICAgICAgPENvbmZpZ3VyYXRpb24+UmVsZWFzZTwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT5JdGFuaXVtPC9QbGF0Zm9ybT4KKyAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgorICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJSZWxlYXNlfFdpbjMyIj4KKyAgICAgIDxDb25maWd1cmF0aW9uPlJlbGVhc2U8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+V2luMzI8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlJlbGVhc2V8eDY0Ij4KKyAgICAgIDxDb25maWd1cmF0aW9uPlJlbGVhc2U8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+eDY0PC9QbGF0Zm9ybT4KKyAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgorICA8L0l0ZW1Hcm91cD4KKyAgPFByb3BlcnR5R3JvdXAgTGFiZWw9Ikdsb2JhbHMiPgorICAgIDxQcm9qZWN0R3VpZD57QzUyRjlFN0ItNDk4QS00MkJFLThEQjQtODVBMTU2OTQzODJBfTwvUHJvamVjdEd1aWQ+CisgICAgPEtleXdvcmQ+V2luMzJQcm9qPC9LZXl3b3JkPgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLkRlZmF1bHQucHJvcHMiIC8+CisgIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KKyAgICA8Q29uZmlndXJhdGlvblR5cGU+QXBwbGljYXRpb248L0NvbmZpZ3VyYXRpb25UeXBlPgorICAgIDxDaGFyYWN0ZXJTZXQ+TXVsdGlCeXRlPC9DaGFyYWN0ZXJTZXQ+CisgICAgPFBsYXRmb3JtVG9vbHNldD52MTIwPC9QbGF0Zm9ybVRvb2xzZXQ+CisgIDwvUHJvcGVydHlHcm91cD4KKyAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KKyAgICA8Q29uZmlndXJhdGlvblR5cGU+QXBwbGljYXRpb248L0NvbmZpZ3VyYXRpb25UeXBlPgorICAgIDxDaGFyYWN0ZXJTZXQ+VW5pY29kZTwvQ2hhcmFjdGVyU2V0PgorICAgIDxQbGF0Zm9ybVRvb2xzZXQ+djEyMDwvUGxhdGZvcm1Ub29sc2V0PgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxJdGFuaXVtJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgorICAgIDxDb25maWd1cmF0aW9uVHlwZT5BcHBsaWNhdGlvbjwvQ29uZmlndXJhdGlvblR5cGU+CisgICAgPENoYXJhY3RlclNldD5NdWx0aUJ5dGU8L0NoYXJhY3RlclNldD4KKyAgICA8UGxhdGZvcm1Ub29sc2V0PnYxMjA8L1BsYXRmb3JtVG9vbHNldD4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfEl0YW5pdW0nIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+CisgICAgPENvbmZpZ3VyYXRpb25UeXBlPkFwcGxpY2F0aW9uPC9Db25maWd1cmF0aW9uVHlwZT4KKyAgICA8Q2hhcmFjdGVyU2V0Pk11bHRpQnl0ZTwvQ2hhcmFjdGVyU2V0PgorICAgIDxQbGF0Zm9ybVRvb2xzZXQ+djEyMDwvUGxhdGZvcm1Ub29sc2V0PgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+CisgICAgPENvbmZpZ3VyYXRpb25UeXBlPkFwcGxpY2F0aW9uPC9Db25maWd1cmF0aW9uVHlwZT4KKyAgICA8Q2hhcmFjdGVyU2V0Pk11bHRpQnl0ZTwvQ2hhcmFjdGVyU2V0PgorICAgIDxQbGF0Zm9ybVRvb2xzZXQ+djEyMDwvUGxhdGZvcm1Ub29sc2V0PgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgorICAgIDxDb25maWd1cmF0aW9uVHlwZT5BcHBsaWNhdGlvbjwvQ29uZmlndXJhdGlvblR5cGU+CisgICAgPENoYXJhY3RlclNldD5NdWx0aUJ5dGU8L0NoYXJhY3RlclNldD4KKyAgICA8UGxhdGZvcm1Ub29sc2V0PnYxMjA8L1BsYXRmb3JtVG9vbHNldD4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5wcm9wcyIgLz4KKyAgPEltcG9ydEdyb3VwIExhYmVsPSJFeHRlbnNpb25TZXR0aW5ncyI+CisgIDwvSW1wb3J0R3JvdXA+CisgIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgorICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KKyAgPC9JbXBvcnRHcm91cD4KKyAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgorICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KKyAgPC9JbXBvcnRHcm91cD4KKyAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxJdGFuaXVtJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KKyAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+CisgIDwvSW1wb3J0R3JvdXA+CisgIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfEl0YW5pdW0nIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgorICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KKyAgPC9JbXBvcnRHcm91cD4KKyAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgorICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KKyAgPC9JbXBvcnRHcm91cD4KKyAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KKyAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+CisgIDwvSW1wb3J0R3JvdXA+CisgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJVc2VyTWFjcm9zIiAvPgorICA8UHJvcGVydHlHcm91cD4KKyAgICA8X1Byb2plY3RGaWxlVmVyc2lvbj4xMC4wLjMwMTI4LjE8L19Qcm9qZWN0RmlsZVZlcnNpb24+CisgICAgPE91dERpciBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+eDg2XE1pbmlVbnppcCQoQ29uZmlndXJhdGlvbilcPC9PdXREaXI+CisgICAgPEludERpciBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+eDg2XE1pbmlVbnppcCQoQ29uZmlndXJhdGlvbilcVG1wXDwvSW50RGlyPgorICAgIDxMaW5rSW5jcmVtZW50YWwgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPnRydWU8L0xpbmtJbmNyZW1lbnRhbD4KKyAgICA8R2VuZXJhdGVNYW5pZmVzdCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+ZmFsc2U8L0dlbmVyYXRlTWFuaWZlc3Q+CisgICAgPE91dERpciBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj54ODZcTWluaVVuemlwJChDb25maWd1cmF0aW9uKVw8L091dERpcj4KKyAgICA8SW50RGlyIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPng4NlxNaW5pVW56aXAkKENvbmZpZ3VyYXRpb24pXFRtcFw8L0ludERpcj4KKyAgICA8TGlua0luY3JlbWVudGFsIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPmZhbHNlPC9MaW5rSW5jcmVtZW50YWw+CisgICAgPEdlbmVyYXRlTWFuaWZlc3QgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+ZmFsc2U8L0dlbmVyYXRlTWFuaWZlc3Q+CisgICAgPE91dERpciBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPng2NFxNaW5pVW56aXAkKENvbmZpZ3VyYXRpb24pXDwvT3V0RGlyPgorICAgIDxJbnREaXIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj54NjRcTWluaVVuemlwJChDb25maWd1cmF0aW9uKVxUbXBcPC9JbnREaXI+CisgICAgPExpbmtJbmNyZW1lbnRhbCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPnRydWU8L0xpbmtJbmNyZW1lbnRhbD4KKyAgICA8R2VuZXJhdGVNYW5pZmVzdCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPmZhbHNlPC9HZW5lcmF0ZU1hbmlmZXN0PgorICAgIDxPdXREaXIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xJdGFuaXVtJyI+aWE2NFxNaW5pVW56aXAkKENvbmZpZ3VyYXRpb24pXDwvT3V0RGlyPgorICAgIDxJbnREaXIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xJdGFuaXVtJyI+aWE2NFxNaW5pVW56aXAkKENvbmZpZ3VyYXRpb24pXFRtcFw8L0ludERpcj4KKyAgICA8TGlua0luY3JlbWVudGFsIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8SXRhbml1bSciPnRydWU8L0xpbmtJbmNyZW1lbnRhbD4KKyAgICA8R2VuZXJhdGVNYW5pZmVzdCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfEl0YW5pdW0nIj5mYWxzZTwvR2VuZXJhdGVNYW5pZmVzdD4KKyAgICA8T3V0RGlyIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj54NjRcTWluaVVuemlwJChDb25maWd1cmF0aW9uKVw8L091dERpcj4KKyAgICA8SW50RGlyIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj54NjRcTWluaVVuemlwJChDb25maWd1cmF0aW9uKVxUbXBcPC9JbnREaXI+CisgICAgPExpbmtJbmNyZW1lbnRhbCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+ZmFsc2U8L0xpbmtJbmNyZW1lbnRhbD4KKyAgICA8R2VuZXJhdGVNYW5pZmVzdCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+ZmFsc2U8L0dlbmVyYXRlTWFuaWZlc3Q+CisgICAgPE91dERpciBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8SXRhbml1bSciPmlhNjRcTWluaVVuemlwJChDb25maWd1cmF0aW9uKVw8L091dERpcj4KKyAgICA8SW50RGlyIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxJdGFuaXVtJyI+aWE2NFxNaW5pVW56aXAkKENvbmZpZ3VyYXRpb24pXFRtcFw8L0ludERpcj4KKyAgICA8TGlua0luY3JlbWVudGFsIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxJdGFuaXVtJyI+ZmFsc2U8L0xpbmtJbmNyZW1lbnRhbD4KKyAgICA8R2VuZXJhdGVNYW5pZmVzdCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8SXRhbml1bSciPmZhbHNlPC9HZW5lcmF0ZU1hbmlmZXN0PgorICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8SXRhbml1bSciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+CisgICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8SXRhbml1bSciIC8+CisgICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8SXRhbml1bSciIC8+CisgICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+CisgICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiAvPgorICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgLz4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+CisgICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgLz4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiAvPgorICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxJdGFuaXVtJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfEl0YW5pdW0nIiAvPgorICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8SXRhbml1bSciIC8+CisgICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgLz4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgLz4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIC8+CisgICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiAvPgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj4KKyAgICA8Q2xDb21waWxlPgorICAgICAgPE9wdGltaXphdGlvbj5EaXNhYmxlZDwvT3B0aW1pemF0aW9uPgorICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cLi5cLi47Li5cLi5cbWluaXppcDslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgorICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPldJTjMyO19DUlRfTk9OU1REQ19OT19ERVBSRUNBVEU7X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO1pMSUJfV0lOQVBJO19ERUJVRztfQ09OU09MRTslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+CisgICAgICA8TWluaW1hbFJlYnVpbGQ+dHJ1ZTwvTWluaW1hbFJlYnVpbGQ+CisgICAgICA8QmFzaWNSdW50aW1lQ2hlY2tzPkRlZmF1bHQ8L0Jhc2ljUnVudGltZUNoZWNrcz4KKyAgICAgIDxSdW50aW1lTGlicmFyeT5NdWx0aVRocmVhZGVkRGVidWdETEw8L1J1bnRpbWVMaWJyYXJ5PgorICAgICAgPEJ1ZmZlclNlY3VyaXR5Q2hlY2s+ZmFsc2U8L0J1ZmZlclNlY3VyaXR5Q2hlY2s+CisgICAgICA8UHJlY29tcGlsZWRIZWFkZXI+CisgICAgICA8L1ByZWNvbXBpbGVkSGVhZGVyPgorICAgICAgPEFzc2VtYmxlckxpc3RpbmdMb2NhdGlvbj4kKEludERpcik8L0Fzc2VtYmxlckxpc3RpbmdMb2NhdGlvbj4KKyAgICAgIDxXYXJuaW5nTGV2ZWw+TGV2ZWwzPC9XYXJuaW5nTGV2ZWw+CisgICAgICA8RGVidWdJbmZvcm1hdGlvbkZvcm1hdD5Qcm9ncmFtRGF0YWJhc2U8L0RlYnVnSW5mb3JtYXRpb25Gb3JtYXQ+CisgICAgPC9DbENvbXBpbGU+CisgICAgPExpbms+CisgICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz54ODZcWmxpYkRsbERlYnVnXHpsaWJ3YXBpLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgorICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpbWluaXVuei5leGU8L091dHB1dEZpbGU+CisgICAgICA8R2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPnRydWU8L0dlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj4KKyAgICAgIDxQcm9ncmFtRGF0YWJhc2VGaWxlPiQoT3V0RGlyKW1pbml1bnoucGRiPC9Qcm9ncmFtRGF0YWJhc2VGaWxlPgorICAgICAgPFN1YlN5c3RlbT5Db25zb2xlPC9TdWJTeXN0ZW0+CisgICAgICA8UmFuZG9taXplZEJhc2VBZGRyZXNzPmZhbHNlPC9SYW5kb21pemVkQmFzZUFkZHJlc3M+CisgICAgICA8RGF0YUV4ZWN1dGlvblByZXZlbnRpb24+CisgICAgICA8L0RhdGFFeGVjdXRpb25QcmV2ZW50aW9uPgorICAgICAgPFRhcmdldE1hY2hpbmU+TWFjaGluZVg4NjwvVGFyZ2V0TWFjaGluZT4KKyAgICA8L0xpbms+CisgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KKyAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+CisgICAgPENsQ29tcGlsZT4KKyAgICAgIDxPcHRpbWl6YXRpb24+TWF4U3BlZWQ8L09wdGltaXphdGlvbj4KKyAgICAgIDxJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj5Pbmx5RXhwbGljaXRJbmxpbmU8L0lubGluZUZ1bmN0aW9uRXhwYW5zaW9uPgorICAgICAgPE9taXRGcmFtZVBvaW50ZXJzPnRydWU8L09taXRGcmFtZVBvaW50ZXJzPgorICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cLi5cLi47Li5cLi5cbWluaXppcDslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgorICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPldJTjMyO19DUlRfTk9OU1REQ19OT19ERVBSRUNBVEU7X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO1pMSUJfV0lOQVBJO05ERUJVRztfQ09OU09MRTslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+CisgICAgICA8U3RyaW5nUG9vbGluZz50cnVlPC9TdHJpbmdQb29saW5nPgorICAgICAgPEJhc2ljUnVudGltZUNoZWNrcz5EZWZhdWx0PC9CYXNpY1J1bnRpbWVDaGVja3M+CisgICAgICA8UnVudGltZUxpYnJhcnk+TXVsdGlUaHJlYWRlZDwvUnVudGltZUxpYnJhcnk+CisgICAgICA8QnVmZmVyU2VjdXJpdHlDaGVjaz5mYWxzZTwvQnVmZmVyU2VjdXJpdHlDaGVjaz4KKyAgICAgIDxGdW5jdGlvbkxldmVsTGlua2luZz50cnVlPC9GdW5jdGlvbkxldmVsTGlua2luZz4KKyAgICAgIDxQcmVjb21waWxlZEhlYWRlcj4KKyAgICAgIDwvUHJlY29tcGlsZWRIZWFkZXI+CisgICAgICA8QXNzZW1ibGVyTGlzdGluZ0xvY2F0aW9uPiQoSW50RGlyKTwvQXNzZW1ibGVyTGlzdGluZ0xvY2F0aW9uPgorICAgICAgPFdhcm5pbmdMZXZlbD5MZXZlbDM8L1dhcm5pbmdMZXZlbD4KKyAgICAgIDxEZWJ1Z0luZm9ybWF0aW9uRm9ybWF0PlByb2dyYW1EYXRhYmFzZTwvRGVidWdJbmZvcm1hdGlvbkZvcm1hdD4KKyAgICA8L0NsQ29tcGlsZT4KKyAgICA8TGluaz4KKyAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPng4NlxabGliRGxsUmVsZWFzZVx6bGlid2FwaS5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KKyAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKW1pbml1bnouZXhlPC9PdXRwdXRGaWxlPgorICAgICAgPEdlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj50cnVlPC9HZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+CisgICAgICA8U3ViU3lzdGVtPkNvbnNvbGU8L1N1YlN5c3RlbT4KKyAgICAgIDxPcHRpbWl6ZVJlZmVyZW5jZXM+dHJ1ZTwvT3B0aW1pemVSZWZlcmVuY2VzPgorICAgICAgPEVuYWJsZUNPTURBVEZvbGRpbmc+dHJ1ZTwvRW5hYmxlQ09NREFURm9sZGluZz4KKyAgICAgIDxSYW5kb21pemVkQmFzZUFkZHJlc3M+ZmFsc2U8L1JhbmRvbWl6ZWRCYXNlQWRkcmVzcz4KKyAgICAgIDxEYXRhRXhlY3V0aW9uUHJldmVudGlvbj4KKyAgICAgIDwvRGF0YUV4ZWN1dGlvblByZXZlbnRpb24+CisgICAgICA8VGFyZ2V0TWFjaGluZT5NYWNoaW5lWDg2PC9UYXJnZXRNYWNoaW5lPgorICAgIDwvTGluaz4KKyAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgorICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPgorICAgIDxNaWRsPgorICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+CisgICAgPC9NaWRsPgorICAgIDxDbENvbXBpbGU+CisgICAgICA8T3B0aW1pemF0aW9uPkRpc2FibGVkPC9PcHRpbWl6YXRpb24+CisgICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlwuLlwuLjsuLlwuLlxtaW5pemlwOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7WkxJQl9XSU5BUEk7X0RFQlVHO19DT05TT0xFO1dJTjY0OyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KKyAgICAgIDxNaW5pbWFsUmVidWlsZD50cnVlPC9NaW5pbWFsUmVidWlsZD4KKyAgICAgIDxCYXNpY1J1bnRpbWVDaGVja3M+RGVmYXVsdDwvQmFzaWNSdW50aW1lQ2hlY2tzPgorICAgICAgPFJ1bnRpbWVMaWJyYXJ5Pk11bHRpVGhyZWFkZWREZWJ1Z0RMTDwvUnVudGltZUxpYnJhcnk+CisgICAgICA8QnVmZmVyU2VjdXJpdHlDaGVjaz5mYWxzZTwvQnVmZmVyU2VjdXJpdHlDaGVjaz4KKyAgICAgIDxQcmVjb21waWxlZEhlYWRlcj4KKyAgICAgIDwvUHJlY29tcGlsZWRIZWFkZXI+CisgICAgICA8QXNzZW1ibGVyTGlzdGluZ0xvY2F0aW9uPiQoSW50RGlyKTwvQXNzZW1ibGVyTGlzdGluZ0xvY2F0aW9uPgorICAgICAgPFdhcm5pbmdMZXZlbD5MZXZlbDM8L1dhcm5pbmdMZXZlbD4KKyAgICAgIDxEZWJ1Z0luZm9ybWF0aW9uRm9ybWF0PlByb2dyYW1EYXRhYmFzZTwvRGVidWdJbmZvcm1hdGlvbkZvcm1hdD4KKyAgICA8L0NsQ29tcGlsZT4KKyAgICA8TGluaz4KKyAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPng2NFxabGliRGxsRGVidWdcemxpYndhcGkubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+CisgICAgICA8T3V0cHV0RmlsZT4kKE91dERpciltaW5pdW56LmV4ZTwvT3V0cHV0RmlsZT4KKyAgICAgIDxHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+dHJ1ZTwvR2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPgorICAgICAgPFByb2dyYW1EYXRhYmFzZUZpbGU+JChPdXREaXIpbWluaXVuei5wZGI8L1Byb2dyYW1EYXRhYmFzZUZpbGU+CisgICAgICA8U3ViU3lzdGVtPkNvbnNvbGU8L1N1YlN5c3RlbT4KKyAgICAgIDxUYXJnZXRNYWNoaW5lPk1hY2hpbmVYNjQ8L1RhcmdldE1hY2hpbmU+CisgICAgPC9MaW5rPgorICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+CisgIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8SXRhbml1bSciPgorICAgIDxNaWRsPgorICAgICAgPFRhcmdldEVudmlyb25tZW50Pkl0YW5pdW08L1RhcmdldEVudmlyb25tZW50PgorICAgIDwvTWlkbD4KKyAgICA8Q2xDb21waWxlPgorICAgICAgPE9wdGltaXphdGlvbj5EaXNhYmxlZDwvT3B0aW1pemF0aW9uPgorICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cLi5cLi47Li5cLi5cbWluaXppcDslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgorICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9DUlRfTk9OU1REQ19OT19ERVBSRUNBVEU7X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO1pMSUJfV0lOQVBJO19ERUJVRztfQ09OU09MRTtXSU42NDslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+CisgICAgICA8TWluaW1hbFJlYnVpbGQ+dHJ1ZTwvTWluaW1hbFJlYnVpbGQ+CisgICAgICA8QmFzaWNSdW50aW1lQ2hlY2tzPkRlZmF1bHQ8L0Jhc2ljUnVudGltZUNoZWNrcz4KKyAgICAgIDxSdW50aW1lTGlicmFyeT5NdWx0aVRocmVhZGVkRGVidWdETEw8L1J1bnRpbWVMaWJyYXJ5PgorICAgICAgPEJ1ZmZlclNlY3VyaXR5Q2hlY2s+ZmFsc2U8L0J1ZmZlclNlY3VyaXR5Q2hlY2s+CisgICAgICA8UHJlY29tcGlsZWRIZWFkZXI+CisgICAgICA8L1ByZWNvbXBpbGVkSGVhZGVyPgorICAgICAgPEFzc2VtYmxlckxpc3RpbmdMb2NhdGlvbj4kKEludERpcik8L0Fzc2VtYmxlckxpc3RpbmdMb2NhdGlvbj4KKyAgICAgIDxXYXJuaW5nTGV2ZWw+TGV2ZWwzPC9XYXJuaW5nTGV2ZWw+CisgICAgICA8RGVidWdJbmZvcm1hdGlvbkZvcm1hdD5Qcm9ncmFtRGF0YWJhc2U8L0RlYnVnSW5mb3JtYXRpb25Gb3JtYXQ+CisgICAgPC9DbENvbXBpbGU+CisgICAgPExpbms+CisgICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz5pYTY0XFpsaWJEbGxEZWJ1Z1x6bGlid2FwaS5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KKyAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKW1pbml1bnouZXhlPC9PdXRwdXRGaWxlPgorICAgICAgPEdlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj50cnVlPC9HZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+CisgICAgICA8UHJvZ3JhbURhdGFiYXNlRmlsZT4kKE91dERpciltaW5pdW56LnBkYjwvUHJvZ3JhbURhdGFiYXNlRmlsZT4KKyAgICAgIDxTdWJTeXN0ZW0+Q29uc29sZTwvU3ViU3lzdGVtPgorICAgICAgPFRhcmdldE1hY2hpbmU+TWFjaGluZUlBNjQ8L1RhcmdldE1hY2hpbmU+CisgICAgPC9MaW5rPgorICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+CisgIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj4KKyAgICA8TWlkbD4KKyAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgorICAgIDwvTWlkbD4KKyAgICA8Q2xDb21waWxlPgorICAgICAgPE9wdGltaXphdGlvbj5NYXhTcGVlZDwvT3B0aW1pemF0aW9uPgorICAgICAgPElubGluZUZ1bmN0aW9uRXhwYW5zaW9uPk9ubHlFeHBsaWNpdElubGluZTwvSW5saW5lRnVuY3Rpb25FeHBhbnNpb24+CisgICAgICA8T21pdEZyYW1lUG9pbnRlcnM+dHJ1ZTwvT21pdEZyYW1lUG9pbnRlcnM+CisgICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlwuLlwuLjsuLlwuLlxtaW5pemlwOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7WkxJQl9XSU5BUEk7TkRFQlVHO19DT05TT0xFO1dJTjY0OyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KKyAgICAgIDxTdHJpbmdQb29saW5nPnRydWU8L1N0cmluZ1Bvb2xpbmc+CisgICAgICA8QmFzaWNSdW50aW1lQ2hlY2tzPkRlZmF1bHQ8L0Jhc2ljUnVudGltZUNoZWNrcz4KKyAgICAgIDxSdW50aW1lTGlicmFyeT5NdWx0aVRocmVhZGVkRExMPC9SdW50aW1lTGlicmFyeT4KKyAgICAgIDxCdWZmZXJTZWN1cml0eUNoZWNrPmZhbHNlPC9CdWZmZXJTZWN1cml0eUNoZWNrPgorICAgICAgPEZ1bmN0aW9uTGV2ZWxMaW5raW5nPnRydWU8L0Z1bmN0aW9uTGV2ZWxMaW5raW5nPgorICAgICAgPFByZWNvbXBpbGVkSGVhZGVyPgorICAgICAgPC9QcmVjb21waWxlZEhlYWRlcj4KKyAgICAgIDxBc3NlbWJsZXJMaXN0aW5nTG9jYXRpb24+JChJbnREaXIpPC9Bc3NlbWJsZXJMaXN0aW5nTG9jYXRpb24+CisgICAgICA8V2FybmluZ0xldmVsPkxldmVsMzwvV2FybmluZ0xldmVsPgorICAgICAgPERlYnVnSW5mb3JtYXRpb25Gb3JtYXQ+UHJvZ3JhbURhdGFiYXNlPC9EZWJ1Z0luZm9ybWF0aW9uRm9ybWF0PgorICAgIDwvQ2xDb21waWxlPgorICAgIDxMaW5rPgorICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+eDY0XFpsaWJEbGxSZWxlYXNlXHpsaWJ3YXBpLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgorICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpbWluaXVuei5leGU8L091dHB1dEZpbGU+CisgICAgICA8R2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPnRydWU8L0dlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj4KKyAgICAgIDxTdWJTeXN0ZW0+Q29uc29sZTwvU3ViU3lzdGVtPgorICAgICAgPE9wdGltaXplUmVmZXJlbmNlcz50cnVlPC9PcHRpbWl6ZVJlZmVyZW5jZXM+CisgICAgICA8RW5hYmxlQ09NREFURm9sZGluZz50cnVlPC9FbmFibGVDT01EQVRGb2xkaW5nPgorICAgICAgPFRhcmdldE1hY2hpbmU+TWFjaGluZVg2NDwvVGFyZ2V0TWFjaGluZT4KKyAgICA8L0xpbms+CisgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KKyAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfEl0YW5pdW0nIj4KKyAgICA8TWlkbD4KKyAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5JdGFuaXVtPC9UYXJnZXRFbnZpcm9ubWVudD4KKyAgICA8L01pZGw+CisgICAgPENsQ29tcGlsZT4KKyAgICAgIDxPcHRpbWl6YXRpb24+TWF4U3BlZWQ8L09wdGltaXphdGlvbj4KKyAgICAgIDxJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj5Pbmx5RXhwbGljaXRJbmxpbmU8L0lubGluZUZ1bmN0aW9uRXhwYW5zaW9uPgorICAgICAgPE9taXRGcmFtZVBvaW50ZXJzPnRydWU8L09taXRGcmFtZVBvaW50ZXJzPgorICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cLi5cLi47Li5cLi5cbWluaXppcDslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgorICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9DUlRfTk9OU1REQ19OT19ERVBSRUNBVEU7X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO1pMSUJfV0lOQVBJO05ERUJVRztfQ09OU09MRTtXSU42NDslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+CisgICAgICA8U3RyaW5nUG9vbGluZz50cnVlPC9TdHJpbmdQb29saW5nPgorICAgICAgPEJhc2ljUnVudGltZUNoZWNrcz5EZWZhdWx0PC9CYXNpY1J1bnRpbWVDaGVja3M+CisgICAgICA8UnVudGltZUxpYnJhcnk+TXVsdGlUaHJlYWRlZERMTDwvUnVudGltZUxpYnJhcnk+CisgICAgICA8QnVmZmVyU2VjdXJpdHlDaGVjaz5mYWxzZTwvQnVmZmVyU2VjdXJpdHlDaGVjaz4KKyAgICAgIDxGdW5jdGlvbkxldmVsTGlua2luZz50cnVlPC9GdW5jdGlvbkxldmVsTGlua2luZz4KKyAgICAgIDxQcmVjb21waWxlZEhlYWRlcj4KKyAgICAgIDwvUHJlY29tcGlsZWRIZWFkZXI+CisgICAgICA8QXNzZW1ibGVyTGlzdGluZ0xvY2F0aW9uPiQoSW50RGlyKTwvQXNzZW1ibGVyTGlzdGluZ0xvY2F0aW9uPgorICAgICAgPFdhcm5pbmdMZXZlbD5MZXZlbDM8L1dhcm5pbmdMZXZlbD4KKyAgICAgIDxEZWJ1Z0luZm9ybWF0aW9uRm9ybWF0PlByb2dyYW1EYXRhYmFzZTwvRGVidWdJbmZvcm1hdGlvbkZvcm1hdD4KKyAgICA8L0NsQ29tcGlsZT4KKyAgICA8TGluaz4KKyAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPmlhNjRcWmxpYkRsbFJlbGVhc2VcemxpYndhcGkubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+CisgICAgICA8T3V0cHV0RmlsZT4kKE91dERpciltaW5pdW56LmV4ZTwvT3V0cHV0RmlsZT4KKyAgICAgIDxHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+dHJ1ZTwvR2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPgorICAgICAgPFN1YlN5c3RlbT5Db25zb2xlPC9TdWJTeXN0ZW0+CisgICAgICA8T3B0aW1pemVSZWZlcmVuY2VzPnRydWU8L09wdGltaXplUmVmZXJlbmNlcz4KKyAgICAgIDxFbmFibGVDT01EQVRGb2xkaW5nPnRydWU8L0VuYWJsZUNPTURBVEZvbGRpbmc+CisgICAgICA8VGFyZ2V0TWFjaGluZT5NYWNoaW5lSUE2NDwvVGFyZ2V0TWFjaGluZT4KKyAgICA8L0xpbms+CisgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KKyAgPEl0ZW1Hcm91cD4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXG1pbml6aXBcbWluaXVuei5jIiAvPgorICA8L0l0ZW1Hcm91cD4KKyAgPEl0ZW1Hcm91cD4KKyAgICA8UHJvamVjdFJlZmVyZW5jZSBJbmNsdWRlPSJ6bGlidmMudmN4cHJvaiI+CisgICAgICA8UHJvamVjdD57OGZkODI2ZjgtMzczOS00NGU2LThjYzgtOTk3MTIyZTUzYjhkfTwvUHJvamVjdD4KKyAgICA8L1Byb2plY3RSZWZlcmVuY2U+CisgIDwvSXRlbUdyb3VwPgorICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC50YXJnZXRzIiAvPgorICA8SW1wb3J0R3JvdXAgTGFiZWw9IkV4dGVuc2lvblRhcmdldHMiPgorICA8L0ltcG9ydEdyb3VwPgorPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3NyYy9jb250cmliL3ZzdHVkaW8vdmMxMi9taW5pemlwLnZjeHByb2ogYi9zcmMvY29udHJpYi92c3R1ZGlvL3ZjMTIvbWluaXppcC52Y3hwcm9qCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYxZjIzOWMKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvY29udHJpYi92c3R1ZGlvL3ZjMTIvbWluaXppcC52Y3hwcm9qCkBAIC0wLDAgKzEsMzEzIEBACivvu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPFByb2plY3QgRGVmYXVsdFRhcmdldHM9IkJ1aWxkIiBUb29sc1ZlcnNpb249IjEyLjAiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgorICA8SXRlbUdyb3VwIExhYmVsPSJQcm9qZWN0Q29uZmlndXJhdGlvbnMiPgorICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJEZWJ1Z3xJdGFuaXVtIj4KKyAgICAgIDxDb25maWd1cmF0aW9uPkRlYnVnPC9Db25maWd1cmF0aW9uPgorICAgICAgPFBsYXRmb3JtPkl0YW5pdW08L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IkRlYnVnfFdpbjMyIj4KKyAgICAgIDxDb25maWd1cmF0aW9uPkRlYnVnPC9Db25maWd1cmF0aW9uPgorICAgICAgPFBsYXRmb3JtPldpbjMyPC9QbGF0Zm9ybT4KKyAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgorICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJEZWJ1Z3x4NjQiPgorICAgICAgPENvbmZpZ3VyYXRpb24+RGVidWc8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+eDY0PC9QbGF0Zm9ybT4KKyAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgorICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJSZWxlYXNlfEl0YW5pdW0iPgorICAgICAgPENvbmZpZ3VyYXRpb24+UmVsZWFzZTwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT5JdGFuaXVtPC9QbGF0Zm9ybT4KKyAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgorICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJSZWxlYXNlfFdpbjMyIj4KKyAgICAgIDxDb25maWd1cmF0aW9uPlJlbGVhc2U8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+V2luMzI8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlJlbGVhc2V8eDY0Ij4KKyAgICAgIDxDb25maWd1cmF0aW9uPlJlbGVhc2U8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+eDY0PC9QbGF0Zm9ybT4KKyAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgorICA8L0l0ZW1Hcm91cD4KKyAgPFByb3BlcnR5R3JvdXAgTGFiZWw9Ikdsb2JhbHMiPgorICAgIDxQcm9qZWN0R3VpZD57NDhDREQ5REMtRTA5Ri00MTM1LTlDMEMtNEZFNTBDM0M2NTRCfTwvUHJvamVjdEd1aWQ+CisgICAgPEtleXdvcmQ+V2luMzJQcm9qPC9LZXl3b3JkPgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLkRlZmF1bHQucHJvcHMiIC8+CisgIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KKyAgICA8Q29uZmlndXJhdGlvblR5cGU+QXBwbGljYXRpb248L0NvbmZpZ3VyYXRpb25UeXBlPgorICAgIDxDaGFyYWN0ZXJTZXQ+TXVsdGlCeXRlPC9DaGFyYWN0ZXJTZXQ+CisgICAgPFBsYXRmb3JtVG9vbHNldD52MTIwPC9QbGF0Zm9ybVRvb2xzZXQ+CisgIDwvUHJvcGVydHlHcm91cD4KKyAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KKyAgICA8Q29uZmlndXJhdGlvblR5cGU+QXBwbGljYXRpb248L0NvbmZpZ3VyYXRpb25UeXBlPgorICAgIDxDaGFyYWN0ZXJTZXQ+VW5pY29kZTwvQ2hhcmFjdGVyU2V0PgorICAgIDxQbGF0Zm9ybVRvb2xzZXQ+djEyMDwvUGxhdGZvcm1Ub29sc2V0PgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxJdGFuaXVtJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgorICAgIDxDb25maWd1cmF0aW9uVHlwZT5BcHBsaWNhdGlvbjwvQ29uZmlndXJhdGlvblR5cGU+CisgICAgPENoYXJhY3RlclNldD5NdWx0aUJ5dGU8L0NoYXJhY3RlclNldD4KKyAgICA8UGxhdGZvcm1Ub29sc2V0PnYxMjA8L1BsYXRmb3JtVG9vbHNldD4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfEl0YW5pdW0nIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+CisgICAgPENvbmZpZ3VyYXRpb25UeXBlPkFwcGxpY2F0aW9uPC9Db25maWd1cmF0aW9uVHlwZT4KKyAgICA8Q2hhcmFjdGVyU2V0Pk11bHRpQnl0ZTwvQ2hhcmFjdGVyU2V0PgorICAgIDxQbGF0Zm9ybVRvb2xzZXQ+djEyMDwvUGxhdGZvcm1Ub29sc2V0PgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+CisgICAgPENvbmZpZ3VyYXRpb25UeXBlPkFwcGxpY2F0aW9uPC9Db25maWd1cmF0aW9uVHlwZT4KKyAgICA8Q2hhcmFjdGVyU2V0Pk11bHRpQnl0ZTwvQ2hhcmFjdGVyU2V0PgorICAgIDxQbGF0Zm9ybVRvb2xzZXQ+djEyMDwvUGxhdGZvcm1Ub29sc2V0PgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgorICAgIDxDb25maWd1cmF0aW9uVHlwZT5BcHBsaWNhdGlvbjwvQ29uZmlndXJhdGlvblR5cGU+CisgICAgPENoYXJhY3RlclNldD5NdWx0aUJ5dGU8L0NoYXJhY3RlclNldD4KKyAgICA8UGxhdGZvcm1Ub29sc2V0PnYxMjA8L1BsYXRmb3JtVG9vbHNldD4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5wcm9wcyIgLz4KKyAgPEltcG9ydEdyb3VwIExhYmVsPSJFeHRlbnNpb25TZXR0aW5ncyI+CisgIDwvSW1wb3J0R3JvdXA+CisgIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgorICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KKyAgPC9JbXBvcnRHcm91cD4KKyAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgorICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KKyAgPC9JbXBvcnRHcm91cD4KKyAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxJdGFuaXVtJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KKyAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+CisgIDwvSW1wb3J0R3JvdXA+CisgIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfEl0YW5pdW0nIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgorICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KKyAgPC9JbXBvcnRHcm91cD4KKyAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgorICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KKyAgPC9JbXBvcnRHcm91cD4KKyAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KKyAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+CisgIDwvSW1wb3J0R3JvdXA+CisgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJVc2VyTWFjcm9zIiAvPgorICA8UHJvcGVydHlHcm91cD4KKyAgICA8X1Byb2plY3RGaWxlVmVyc2lvbj4xMC4wLjMwMTI4LjE8L19Qcm9qZWN0RmlsZVZlcnNpb24+CisgICAgPE91dERpciBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+eDg2XE1pbmlaaXAkKENvbmZpZ3VyYXRpb24pXDwvT3V0RGlyPgorICAgIDxJbnREaXIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPng4NlxNaW5pWmlwJChDb25maWd1cmF0aW9uKVxUbXBcPC9JbnREaXI+CisgICAgPExpbmtJbmNyZW1lbnRhbCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+dHJ1ZTwvTGlua0luY3JlbWVudGFsPgorICAgIDxHZW5lcmF0ZU1hbmlmZXN0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj5mYWxzZTwvR2VuZXJhdGVNYW5pZmVzdD4KKyAgICA8T3V0RGlyIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPng4NlxNaW5pWmlwJChDb25maWd1cmF0aW9uKVw8L091dERpcj4KKyAgICA8SW50RGlyIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPng4NlxNaW5pWmlwJChDb25maWd1cmF0aW9uKVxUbXBcPC9JbnREaXI+CisgICAgPExpbmtJbmNyZW1lbnRhbCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj5mYWxzZTwvTGlua0luY3JlbWVudGFsPgorICAgIDxPdXREaXIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj54NjRcJChDb25maWd1cmF0aW9uKVw8L091dERpcj4KKyAgICA8SW50RGlyIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+eDY0XCQoQ29uZmlndXJhdGlvbilcPC9JbnREaXI+CisgICAgPExpbmtJbmNyZW1lbnRhbCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPnRydWU8L0xpbmtJbmNyZW1lbnRhbD4KKyAgICA8R2VuZXJhdGVNYW5pZmVzdCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPmZhbHNlPC9HZW5lcmF0ZU1hbmlmZXN0PgorICAgIDxPdXREaXIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xJdGFuaXVtJyI+aWE2NFwkKENvbmZpZ3VyYXRpb24pXDwvT3V0RGlyPgorICAgIDxJbnREaXIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xJdGFuaXVtJyI+aWE2NFwkKENvbmZpZ3VyYXRpb24pXDwvSW50RGlyPgorICAgIDxMaW5rSW5jcmVtZW50YWwgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xJdGFuaXVtJyI+dHJ1ZTwvTGlua0luY3JlbWVudGFsPgorICAgIDxHZW5lcmF0ZU1hbmlmZXN0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8SXRhbml1bSciPmZhbHNlPC9HZW5lcmF0ZU1hbmlmZXN0PgorICAgIDxPdXREaXIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPng2NFwkKENvbmZpZ3VyYXRpb24pXDwvT3V0RGlyPgorICAgIDxJbnREaXIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPng2NFwkKENvbmZpZ3VyYXRpb24pXDwvSW50RGlyPgorICAgIDxMaW5rSW5jcmVtZW50YWwgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPmZhbHNlPC9MaW5rSW5jcmVtZW50YWw+CisgICAgPE91dERpciBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8SXRhbml1bSciPmlhNjRcJChDb25maWd1cmF0aW9uKVw8L091dERpcj4KKyAgICA8SW50RGlyIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxJdGFuaXVtJyI+aWE2NFwkKENvbmZpZ3VyYXRpb24pXDwvSW50RGlyPgorICAgIDxMaW5rSW5jcmVtZW50YWwgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfEl0YW5pdW0nIj5mYWxzZTwvTGlua0luY3JlbWVudGFsPgorICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8SXRhbml1bSciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+CisgICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8SXRhbml1bSciIC8+CisgICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8SXRhbml1bSciIC8+CisgICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+CisgICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiAvPgorICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgLz4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+CisgICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgLz4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiAvPgorICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxJdGFuaXVtJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfEl0YW5pdW0nIiAvPgorICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8SXRhbml1bSciIC8+CisgICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgLz4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgLz4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIC8+CisgICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiAvPgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj4KKyAgICA8Q2xDb21waWxlPgorICAgICAgPE9wdGltaXphdGlvbj5EaXNhYmxlZDwvT3B0aW1pemF0aW9uPgorICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cLi5cLi47Li5cLi5cbWluaXppcDslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgorICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPldJTjMyO19DUlRfTk9OU1REQ19OT19ERVBSRUNBVEU7X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO1pMSUJfV0lOQVBJO19ERUJVRztfQ09OU09MRTslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+CisgICAgICA8TWluaW1hbFJlYnVpbGQ+dHJ1ZTwvTWluaW1hbFJlYnVpbGQ+CisgICAgICA8QmFzaWNSdW50aW1lQ2hlY2tzPkRlZmF1bHQ8L0Jhc2ljUnVudGltZUNoZWNrcz4KKyAgICAgIDxSdW50aW1lTGlicmFyeT5NdWx0aVRocmVhZGVkRGVidWdETEw8L1J1bnRpbWVMaWJyYXJ5PgorICAgICAgPEJ1ZmZlclNlY3VyaXR5Q2hlY2s+ZmFsc2U8L0J1ZmZlclNlY3VyaXR5Q2hlY2s+CisgICAgICA8UHJlY29tcGlsZWRIZWFkZXI+CisgICAgICA8L1ByZWNvbXBpbGVkSGVhZGVyPgorICAgICAgPEFzc2VtYmxlckxpc3RpbmdMb2NhdGlvbj4kKEludERpcik8L0Fzc2VtYmxlckxpc3RpbmdMb2NhdGlvbj4KKyAgICAgIDxXYXJuaW5nTGV2ZWw+TGV2ZWwzPC9XYXJuaW5nTGV2ZWw+CisgICAgICA8RGVidWdJbmZvcm1hdGlvbkZvcm1hdD5Qcm9ncmFtRGF0YWJhc2U8L0RlYnVnSW5mb3JtYXRpb25Gb3JtYXQ+CisgICAgPC9DbENvbXBpbGU+CisgICAgPExpbms+CisgICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz54ODZcWmxpYkRsbERlYnVnXHpsaWJ3YXBpLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgorICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpbWluaXppcC5leGU8L091dHB1dEZpbGU+CisgICAgICA8R2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPnRydWU8L0dlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj4KKyAgICAgIDxQcm9ncmFtRGF0YWJhc2VGaWxlPiQoT3V0RGlyKW1pbml6aXAucGRiPC9Qcm9ncmFtRGF0YWJhc2VGaWxlPgorICAgICAgPFN1YlN5c3RlbT5Db25zb2xlPC9TdWJTeXN0ZW0+CisgICAgICA8UmFuZG9taXplZEJhc2VBZGRyZXNzPmZhbHNlPC9SYW5kb21pemVkQmFzZUFkZHJlc3M+CisgICAgICA8RGF0YUV4ZWN1dGlvblByZXZlbnRpb24+CisgICAgICA8L0RhdGFFeGVjdXRpb25QcmV2ZW50aW9uPgorICAgICAgPFRhcmdldE1hY2hpbmU+TWFjaGluZVg4NjwvVGFyZ2V0TWFjaGluZT4KKyAgICA8L0xpbms+CisgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KKyAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+CisgICAgPENsQ29tcGlsZT4KKyAgICAgIDxPcHRpbWl6YXRpb24+TWF4U3BlZWQ8L09wdGltaXphdGlvbj4KKyAgICAgIDxJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj5Pbmx5RXhwbGljaXRJbmxpbmU8L0lubGluZUZ1bmN0aW9uRXhwYW5zaW9uPgorICAgICAgPE9taXRGcmFtZVBvaW50ZXJzPnRydWU8L09taXRGcmFtZVBvaW50ZXJzPgorICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cLi5cLi47Li5cLi5cbWluaXppcDslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgorICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPldJTjMyO19DUlRfTk9OU1REQ19OT19ERVBSRUNBVEU7X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO1pMSUJfV0lOQVBJO05ERUJVRztfQ09OU09MRTslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+CisgICAgICA8U3RyaW5nUG9vbGluZz50cnVlPC9TdHJpbmdQb29saW5nPgorICAgICAgPEJhc2ljUnVudGltZUNoZWNrcz5EZWZhdWx0PC9CYXNpY1J1bnRpbWVDaGVja3M+CisgICAgICA8UnVudGltZUxpYnJhcnk+TXVsdGlUaHJlYWRlZDwvUnVudGltZUxpYnJhcnk+CisgICAgICA8QnVmZmVyU2VjdXJpdHlDaGVjaz5mYWxzZTwvQnVmZmVyU2VjdXJpdHlDaGVjaz4KKyAgICAgIDxGdW5jdGlvbkxldmVsTGlua2luZz50cnVlPC9GdW5jdGlvbkxldmVsTGlua2luZz4KKyAgICAgIDxQcmVjb21waWxlZEhlYWRlcj4KKyAgICAgIDwvUHJlY29tcGlsZWRIZWFkZXI+CisgICAgICA8QXNzZW1ibGVyTGlzdGluZ0xvY2F0aW9uPiQoSW50RGlyKTwvQXNzZW1ibGVyTGlzdGluZ0xvY2F0aW9uPgorICAgICAgPFdhcm5pbmdMZXZlbD5MZXZlbDM8L1dhcm5pbmdMZXZlbD4KKyAgICAgIDxEZWJ1Z0luZm9ybWF0aW9uRm9ybWF0PlByb2dyYW1EYXRhYmFzZTwvRGVidWdJbmZvcm1hdGlvbkZvcm1hdD4KKyAgICA8L0NsQ29tcGlsZT4KKyAgICA8TGluaz4KKyAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPng4NlxabGliRGxsUmVsZWFzZVx6bGlid2FwaS5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KKyAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKW1pbml6aXAuZXhlPC9PdXRwdXRGaWxlPgorICAgICAgPEdlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj50cnVlPC9HZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+CisgICAgICA8U3ViU3lzdGVtPkNvbnNvbGU8L1N1YlN5c3RlbT4KKyAgICAgIDxPcHRpbWl6ZVJlZmVyZW5jZXM+dHJ1ZTwvT3B0aW1pemVSZWZlcmVuY2VzPgorICAgICAgPEVuYWJsZUNPTURBVEZvbGRpbmc+dHJ1ZTwvRW5hYmxlQ09NREFURm9sZGluZz4KKyAgICAgIDxSYW5kb21pemVkQmFzZUFkZHJlc3M+ZmFsc2U8L1JhbmRvbWl6ZWRCYXNlQWRkcmVzcz4KKyAgICAgIDxEYXRhRXhlY3V0aW9uUHJldmVudGlvbj4KKyAgICAgIDwvRGF0YUV4ZWN1dGlvblByZXZlbnRpb24+CisgICAgICA8VGFyZ2V0TWFjaGluZT5NYWNoaW5lWDg2PC9UYXJnZXRNYWNoaW5lPgorICAgIDwvTGluaz4KKyAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgorICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPgorICAgIDxNaWRsPgorICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+CisgICAgPC9NaWRsPgorICAgIDxDbENvbXBpbGU+CisgICAgICA8T3B0aW1pemF0aW9uPkRpc2FibGVkPC9PcHRpbWl6YXRpb24+CisgICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlwuLlwuLjsuLlwuLlxtaW5pemlwOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7WkxJQl9XSU5BUEk7X0RFQlVHO19DT05TT0xFO1dJTjY0OyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KKyAgICAgIDxNaW5pbWFsUmVidWlsZD50cnVlPC9NaW5pbWFsUmVidWlsZD4KKyAgICAgIDxCYXNpY1J1bnRpbWVDaGVja3M+RGVmYXVsdDwvQmFzaWNSdW50aW1lQ2hlY2tzPgorICAgICAgPFJ1bnRpbWVMaWJyYXJ5Pk11bHRpVGhyZWFkZWREZWJ1Z0RMTDwvUnVudGltZUxpYnJhcnk+CisgICAgICA8QnVmZmVyU2VjdXJpdHlDaGVjaz5mYWxzZTwvQnVmZmVyU2VjdXJpdHlDaGVjaz4KKyAgICAgIDxQcmVjb21waWxlZEhlYWRlcj4KKyAgICAgIDwvUHJlY29tcGlsZWRIZWFkZXI+CisgICAgICA8QXNzZW1ibGVyTGlzdGluZ0xvY2F0aW9uPiQoSW50RGlyKTwvQXNzZW1ibGVyTGlzdGluZ0xvY2F0aW9uPgorICAgICAgPFdhcm5pbmdMZXZlbD5MZXZlbDM8L1dhcm5pbmdMZXZlbD4KKyAgICAgIDxEZWJ1Z0luZm9ybWF0aW9uRm9ybWF0PlByb2dyYW1EYXRhYmFzZTwvRGVidWdJbmZvcm1hdGlvbkZvcm1hdD4KKyAgICA8L0NsQ29tcGlsZT4KKyAgICA8TGluaz4KKyAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPng2NFxabGliRGxsRGVidWdcemxpYndhcGkubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+CisgICAgICA8T3V0cHV0RmlsZT4kKE91dERpciltaW5pemlwLmV4ZTwvT3V0cHV0RmlsZT4KKyAgICAgIDxHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+dHJ1ZTwvR2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPgorICAgICAgPFByb2dyYW1EYXRhYmFzZUZpbGU+JChPdXREaXIpbWluaXppcC5wZGI8L1Byb2dyYW1EYXRhYmFzZUZpbGU+CisgICAgICA8U3ViU3lzdGVtPkNvbnNvbGU8L1N1YlN5c3RlbT4KKyAgICAgIDxUYXJnZXRNYWNoaW5lPk1hY2hpbmVYNjQ8L1RhcmdldE1hY2hpbmU+CisgICAgPC9MaW5rPgorICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+CisgIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8SXRhbml1bSciPgorICAgIDxNaWRsPgorICAgICAgPFRhcmdldEVudmlyb25tZW50Pkl0YW5pdW08L1RhcmdldEVudmlyb25tZW50PgorICAgIDwvTWlkbD4KKyAgICA8Q2xDb21waWxlPgorICAgICAgPE9wdGltaXphdGlvbj5EaXNhYmxlZDwvT3B0aW1pemF0aW9uPgorICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cLi5cLi47Li5cLi5cbWluaXppcDslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgorICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9DUlRfTk9OU1REQ19OT19ERVBSRUNBVEU7X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO1pMSUJfV0lOQVBJO19ERUJVRztfQ09OU09MRTtXSU42NDslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+CisgICAgICA8TWluaW1hbFJlYnVpbGQ+dHJ1ZTwvTWluaW1hbFJlYnVpbGQ+CisgICAgICA8QmFzaWNSdW50aW1lQ2hlY2tzPkRlZmF1bHQ8L0Jhc2ljUnVudGltZUNoZWNrcz4KKyAgICAgIDxSdW50aW1lTGlicmFyeT5NdWx0aVRocmVhZGVkRGVidWdETEw8L1J1bnRpbWVMaWJyYXJ5PgorICAgICAgPEJ1ZmZlclNlY3VyaXR5Q2hlY2s+ZmFsc2U8L0J1ZmZlclNlY3VyaXR5Q2hlY2s+CisgICAgICA8UHJlY29tcGlsZWRIZWFkZXI+CisgICAgICA8L1ByZWNvbXBpbGVkSGVhZGVyPgorICAgICAgPEFzc2VtYmxlckxpc3RpbmdMb2NhdGlvbj4kKEludERpcik8L0Fzc2VtYmxlckxpc3RpbmdMb2NhdGlvbj4KKyAgICAgIDxXYXJuaW5nTGV2ZWw+TGV2ZWwzPC9XYXJuaW5nTGV2ZWw+CisgICAgICA8RGVidWdJbmZvcm1hdGlvbkZvcm1hdD5Qcm9ncmFtRGF0YWJhc2U8L0RlYnVnSW5mb3JtYXRpb25Gb3JtYXQ+CisgICAgPC9DbENvbXBpbGU+CisgICAgPExpbms+CisgICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz5pYTY0XFpsaWJEbGxEZWJ1Z1x6bGlid2FwaS5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KKyAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKW1pbml6aXAuZXhlPC9PdXRwdXRGaWxlPgorICAgICAgPEdlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj50cnVlPC9HZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+CisgICAgICA8UHJvZ3JhbURhdGFiYXNlRmlsZT4kKE91dERpciltaW5pemlwLnBkYjwvUHJvZ3JhbURhdGFiYXNlRmlsZT4KKyAgICAgIDxTdWJTeXN0ZW0+Q29uc29sZTwvU3ViU3lzdGVtPgorICAgICAgPFRhcmdldE1hY2hpbmU+TWFjaGluZUlBNjQ8L1RhcmdldE1hY2hpbmU+CisgICAgPC9MaW5rPgorICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+CisgIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj4KKyAgICA8TWlkbD4KKyAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgorICAgIDwvTWlkbD4KKyAgICA8Q2xDb21waWxlPgorICAgICAgPE9wdGltaXphdGlvbj5NYXhTcGVlZDwvT3B0aW1pemF0aW9uPgorICAgICAgPElubGluZUZ1bmN0aW9uRXhwYW5zaW9uPk9ubHlFeHBsaWNpdElubGluZTwvSW5saW5lRnVuY3Rpb25FeHBhbnNpb24+CisgICAgICA8T21pdEZyYW1lUG9pbnRlcnM+dHJ1ZTwvT21pdEZyYW1lUG9pbnRlcnM+CisgICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlwuLlwuLjsuLlwuLlxtaW5pemlwOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7WkxJQl9XSU5BUEk7TkRFQlVHO19DT05TT0xFO1dJTjY0OyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KKyAgICAgIDxTdHJpbmdQb29saW5nPnRydWU8L1N0cmluZ1Bvb2xpbmc+CisgICAgICA8QmFzaWNSdW50aW1lQ2hlY2tzPkRlZmF1bHQ8L0Jhc2ljUnVudGltZUNoZWNrcz4KKyAgICAgIDxSdW50aW1lTGlicmFyeT5NdWx0aVRocmVhZGVkRExMPC9SdW50aW1lTGlicmFyeT4KKyAgICAgIDxCdWZmZXJTZWN1cml0eUNoZWNrPmZhbHNlPC9CdWZmZXJTZWN1cml0eUNoZWNrPgorICAgICAgPEZ1bmN0aW9uTGV2ZWxMaW5raW5nPnRydWU8L0Z1bmN0aW9uTGV2ZWxMaW5raW5nPgorICAgICAgPFByZWNvbXBpbGVkSGVhZGVyPgorICAgICAgPC9QcmVjb21waWxlZEhlYWRlcj4KKyAgICAgIDxBc3NlbWJsZXJMaXN0aW5nTG9jYXRpb24+JChJbnREaXIpPC9Bc3NlbWJsZXJMaXN0aW5nTG9jYXRpb24+CisgICAgICA8V2FybmluZ0xldmVsPkxldmVsMzwvV2FybmluZ0xldmVsPgorICAgICAgPERlYnVnSW5mb3JtYXRpb25Gb3JtYXQ+UHJvZ3JhbURhdGFiYXNlPC9EZWJ1Z0luZm9ybWF0aW9uRm9ybWF0PgorICAgIDwvQ2xDb21waWxlPgorICAgIDxMaW5rPgorICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+eDY0XFpsaWJEbGxSZWxlYXNlXHpsaWJ3YXBpLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgorICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpbWluaXppcC5leGU8L091dHB1dEZpbGU+CisgICAgICA8R2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPnRydWU8L0dlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj4KKyAgICAgIDxTdWJTeXN0ZW0+Q29uc29sZTwvU3ViU3lzdGVtPgorICAgICAgPE9wdGltaXplUmVmZXJlbmNlcz50cnVlPC9PcHRpbWl6ZVJlZmVyZW5jZXM+CisgICAgICA8RW5hYmxlQ09NREFURm9sZGluZz50cnVlPC9FbmFibGVDT01EQVRGb2xkaW5nPgorICAgICAgPFRhcmdldE1hY2hpbmU+TWFjaGluZVg2NDwvVGFyZ2V0TWFjaGluZT4KKyAgICA8L0xpbms+CisgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KKyAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfEl0YW5pdW0nIj4KKyAgICA8TWlkbD4KKyAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5JdGFuaXVtPC9UYXJnZXRFbnZpcm9ubWVudD4KKyAgICA8L01pZGw+CisgICAgPENsQ29tcGlsZT4KKyAgICAgIDxPcHRpbWl6YXRpb24+TWF4U3BlZWQ8L09wdGltaXphdGlvbj4KKyAgICAgIDxJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj5Pbmx5RXhwbGljaXRJbmxpbmU8L0lubGluZUZ1bmN0aW9uRXhwYW5zaW9uPgorICAgICAgPE9taXRGcmFtZVBvaW50ZXJzPnRydWU8L09taXRGcmFtZVBvaW50ZXJzPgorICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cLi5cLi47Li5cLi5cbWluaXppcDslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgorICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9DUlRfTk9OU1REQ19OT19ERVBSRUNBVEU7X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO1pMSUJfV0lOQVBJO05ERUJVRztfQ09OU09MRTtXSU42NDslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+CisgICAgICA8U3RyaW5nUG9vbGluZz50cnVlPC9TdHJpbmdQb29saW5nPgorICAgICAgPEJhc2ljUnVudGltZUNoZWNrcz5EZWZhdWx0PC9CYXNpY1J1bnRpbWVDaGVja3M+CisgICAgICA8UnVudGltZUxpYnJhcnk+TXVsdGlUaHJlYWRlZERMTDwvUnVudGltZUxpYnJhcnk+CisgICAgICA8QnVmZmVyU2VjdXJpdHlDaGVjaz5mYWxzZTwvQnVmZmVyU2VjdXJpdHlDaGVjaz4KKyAgICAgIDxGdW5jdGlvbkxldmVsTGlua2luZz50cnVlPC9GdW5jdGlvbkxldmVsTGlua2luZz4KKyAgICAgIDxQcmVjb21waWxlZEhlYWRlcj4KKyAgICAgIDwvUHJlY29tcGlsZWRIZWFkZXI+CisgICAgICA8QXNzZW1ibGVyTGlzdGluZ0xvY2F0aW9uPiQoSW50RGlyKTwvQXNzZW1ibGVyTGlzdGluZ0xvY2F0aW9uPgorICAgICAgPFdhcm5pbmdMZXZlbD5MZXZlbDM8L1dhcm5pbmdMZXZlbD4KKyAgICAgIDxEZWJ1Z0luZm9ybWF0aW9uRm9ybWF0PlByb2dyYW1EYXRhYmFzZTwvRGVidWdJbmZvcm1hdGlvbkZvcm1hdD4KKyAgICA8L0NsQ29tcGlsZT4KKyAgICA8TGluaz4KKyAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPmlhNjRcWmxpYkRsbFJlbGVhc2VcemxpYndhcGkubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+CisgICAgICA8T3V0cHV0RmlsZT4kKE91dERpciltaW5pemlwLmV4ZTwvT3V0cHV0RmlsZT4KKyAgICAgIDxHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+dHJ1ZTwvR2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPgorICAgICAgPFN1YlN5c3RlbT5Db25zb2xlPC9TdWJTeXN0ZW0+CisgICAgICA8T3B0aW1pemVSZWZlcmVuY2VzPnRydWU8L09wdGltaXplUmVmZXJlbmNlcz4KKyAgICAgIDxFbmFibGVDT01EQVRGb2xkaW5nPnRydWU8L0VuYWJsZUNPTURBVEZvbGRpbmc+CisgICAgICA8VGFyZ2V0TWFjaGluZT5NYWNoaW5lSUE2NDwvVGFyZ2V0TWFjaGluZT4KKyAgICA8L0xpbms+CisgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KKyAgPEl0ZW1Hcm91cD4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXG1pbml6aXBcbWluaXppcC5jIiAvPgorICA8L0l0ZW1Hcm91cD4KKyAgPEl0ZW1Hcm91cD4KKyAgICA8UHJvamVjdFJlZmVyZW5jZSBJbmNsdWRlPSJ6bGlidmMudmN4cHJvaiI+CisgICAgICA8UHJvamVjdD57OGZkODI2ZjgtMzczOS00NGU2LThjYzgtOTk3MTIyZTUzYjhkfTwvUHJvamVjdD4KKyAgICA8L1Byb2plY3RSZWZlcmVuY2U+CisgIDwvSXRlbUdyb3VwPgorICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC50YXJnZXRzIiAvPgorICA8SW1wb3J0R3JvdXAgTGFiZWw9IkV4dGVuc2lvblRhcmdldHMiPgorICA8L0ltcG9ydEdyb3VwPgorPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3NyYy9jb250cmliL3ZzdHVkaW8vdmMxMi90ZXN0emxpYi52Y3hwcm9qIGIvc3JjL2NvbnRyaWIvdnN0dWRpby92YzEyL3Rlc3R6bGliLnZjeHByb2oKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDEzMDNjMAotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9jb250cmliL3ZzdHVkaW8vdmMxMi90ZXN0emxpYi52Y3hwcm9qCkBAIC0wLDAgKzEsNDIyIEBACivvu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPFByb2plY3QgRGVmYXVsdFRhcmdldHM9IkJ1aWxkIiBUb29sc1ZlcnNpb249IjEyLjAiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgorICA8SXRlbUdyb3VwIExhYmVsPSJQcm9qZWN0Q29uZmlndXJhdGlvbnMiPgorICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJEZWJ1Z3xJdGFuaXVtIj4KKyAgICAgIDxDb25maWd1cmF0aW9uPkRlYnVnPC9Db25maWd1cmF0aW9uPgorICAgICAgPFBsYXRmb3JtPkl0YW5pdW08L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IkRlYnVnfFdpbjMyIj4KKyAgICAgIDxDb25maWd1cmF0aW9uPkRlYnVnPC9Db25maWd1cmF0aW9uPgorICAgICAgPFBsYXRmb3JtPldpbjMyPC9QbGF0Zm9ybT4KKyAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgorICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJEZWJ1Z3x4NjQiPgorICAgICAgPENvbmZpZ3VyYXRpb24+RGVidWc8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+eDY0PC9QbGF0Zm9ybT4KKyAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgorICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJSZWxlYXNlV2l0aG91dEFzbXxJdGFuaXVtIj4KKyAgICAgIDxDb25maWd1cmF0aW9uPlJlbGVhc2VXaXRob3V0QXNtPC9Db25maWd1cmF0aW9uPgorICAgICAgPFBsYXRmb3JtPkl0YW5pdW08L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlJlbGVhc2VXaXRob3V0QXNtfFdpbjMyIj4KKyAgICAgIDxDb25maWd1cmF0aW9uPlJlbGVhc2VXaXRob3V0QXNtPC9Db25maWd1cmF0aW9uPgorICAgICAgPFBsYXRmb3JtPldpbjMyPC9QbGF0Zm9ybT4KKyAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgorICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJSZWxlYXNlV2l0aG91dEFzbXx4NjQiPgorICAgICAgPENvbmZpZ3VyYXRpb24+UmVsZWFzZVdpdGhvdXRBc208L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+eDY0PC9QbGF0Zm9ybT4KKyAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgorICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJSZWxlYXNlfEl0YW5pdW0iPgorICAgICAgPENvbmZpZ3VyYXRpb24+UmVsZWFzZTwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT5JdGFuaXVtPC9QbGF0Zm9ybT4KKyAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgorICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJSZWxlYXNlfFdpbjMyIj4KKyAgICAgIDxDb25maWd1cmF0aW9uPlJlbGVhc2U8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+V2luMzI8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlJlbGVhc2V8eDY0Ij4KKyAgICAgIDxDb25maWd1cmF0aW9uPlJlbGVhc2U8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+eDY0PC9QbGF0Zm9ybT4KKyAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgorICA8L0l0ZW1Hcm91cD4KKyAgPFByb3BlcnR5R3JvdXAgTGFiZWw9Ikdsb2JhbHMiPgorICAgIDxQcm9qZWN0R3VpZD57QUE2NjY2QUEtRTA5Ri00MTM1LTlDMEMtNEZFNTBDM0M2NTRCfTwvUHJvamVjdEd1aWQ+CisgICAgPFJvb3ROYW1lc3BhY2U+dGVzdHpsaWI8L1Jvb3ROYW1lc3BhY2U+CisgICAgPEtleXdvcmQ+V2luMzJQcm9qPC9LZXl3b3JkPgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLkRlZmF1bHQucHJvcHMiIC8+CisgIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KKyAgICA8Q29uZmlndXJhdGlvblR5cGU+QXBwbGljYXRpb248L0NvbmZpZ3VyYXRpb25UeXBlPgorICAgIDxDaGFyYWN0ZXJTZXQ+TXVsdGlCeXRlPC9DaGFyYWN0ZXJTZXQ+CisgICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+CisgICAgPFBsYXRmb3JtVG9vbHNldD52MTIwPC9QbGF0Zm9ybVRvb2xzZXQ+CisgIDwvUHJvcGVydHlHcm91cD4KKyAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlV2l0aG91dEFzbXxXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KKyAgICA8Q29uZmlndXJhdGlvblR5cGU+QXBwbGljYXRpb248L0NvbmZpZ3VyYXRpb25UeXBlPgorICAgIDxDaGFyYWN0ZXJTZXQ+TXVsdGlCeXRlPC9DaGFyYWN0ZXJTZXQ+CisgICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+CisgICAgPFBsYXRmb3JtVG9vbHNldD52MTIwPC9QbGF0Zm9ybVRvb2xzZXQ+CisgIDwvUHJvcGVydHlHcm91cD4KKyAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KKyAgICA8Q29uZmlndXJhdGlvblR5cGU+QXBwbGljYXRpb248L0NvbmZpZ3VyYXRpb25UeXBlPgorICAgIDxDaGFyYWN0ZXJTZXQ+VW5pY29kZTwvQ2hhcmFjdGVyU2V0PgorICAgIDxQbGF0Zm9ybVRvb2xzZXQ+djEyMDwvUGxhdGZvcm1Ub29sc2V0PgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxJdGFuaXVtJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgorICAgIDxDb25maWd1cmF0aW9uVHlwZT5BcHBsaWNhdGlvbjwvQ29uZmlndXJhdGlvblR5cGU+CisgICAgPENoYXJhY3RlclNldD5NdWx0aUJ5dGU8L0NoYXJhY3RlclNldD4KKyAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KKyAgICA8UGxhdGZvcm1Ub29sc2V0PnYxMjA8L1BsYXRmb3JtVG9vbHNldD4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VXaXRob3V0QXNtfEl0YW5pdW0nIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+CisgICAgPENvbmZpZ3VyYXRpb25UeXBlPkFwcGxpY2F0aW9uPC9Db25maWd1cmF0aW9uVHlwZT4KKyAgICA8Q2hhcmFjdGVyU2V0Pk11bHRpQnl0ZTwvQ2hhcmFjdGVyU2V0PgorICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgorICAgIDxQbGF0Zm9ybVRvb2xzZXQ+djEyMDwvUGxhdGZvcm1Ub29sc2V0PgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8SXRhbml1bSciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KKyAgICA8Q29uZmlndXJhdGlvblR5cGU+QXBwbGljYXRpb248L0NvbmZpZ3VyYXRpb25UeXBlPgorICAgIDxDaGFyYWN0ZXJTZXQ+TXVsdGlCeXRlPC9DaGFyYWN0ZXJTZXQ+CisgICAgPFBsYXRmb3JtVG9vbHNldD52MTIwPC9QbGF0Zm9ybVRvb2xzZXQ+CisgIDwvUHJvcGVydHlHcm91cD4KKyAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KKyAgICA8Q29uZmlndXJhdGlvblR5cGU+QXBwbGljYXRpb248L0NvbmZpZ3VyYXRpb25UeXBlPgorICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgorICAgIDxQbGF0Zm9ybVRvb2xzZXQ+djEyMDwvUGxhdGZvcm1Ub29sc2V0PgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZVdpdGhvdXRBc218eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgorICAgIDxDb25maWd1cmF0aW9uVHlwZT5BcHBsaWNhdGlvbjwvQ29uZmlndXJhdGlvblR5cGU+CisgICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+CisgICAgPFBsYXRmb3JtVG9vbHNldD52MTIwPC9QbGF0Zm9ybVRvb2xzZXQ+CisgIDwvUHJvcGVydHlHcm91cD4KKyAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+CisgICAgPENvbmZpZ3VyYXRpb25UeXBlPkFwcGxpY2F0aW9uPC9Db25maWd1cmF0aW9uVHlwZT4KKyAgICA8UGxhdGZvcm1Ub29sc2V0PnYxMjA8L1BsYXRmb3JtVG9vbHNldD4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5wcm9wcyIgLz4KKyAgPEltcG9ydEdyb3VwIExhYmVsPSJFeHRlbnNpb25TZXR0aW5ncyI+CisgIDwvSW1wb3J0R3JvdXA+CisgIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgorICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KKyAgPC9JbXBvcnRHcm91cD4KKyAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZVdpdGhvdXRBc218V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgorICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KKyAgPC9JbXBvcnRHcm91cD4KKyAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgorICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KKyAgPC9JbXBvcnRHcm91cD4KKyAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxJdGFuaXVtJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KKyAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+CisgIDwvSW1wb3J0R3JvdXA+CisgIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VXaXRob3V0QXNtfEl0YW5pdW0nIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgorICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KKyAgPC9JbXBvcnRHcm91cD4KKyAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8SXRhbml1bSciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CisgICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgorICA8L0ltcG9ydEdyb3VwPgorICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CisgICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgorICA8L0ltcG9ydEdyb3VwPgorICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlV2l0aG91dEFzbXx4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgorICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KKyAgPC9JbXBvcnRHcm91cD4KKyAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KKyAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+CisgIDwvSW1wb3J0R3JvdXA+CisgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJVc2VyTWFjcm9zIiAvPgorICA8UHJvcGVydHlHcm91cD4KKyAgICA8X1Byb2plY3RGaWxlVmVyc2lvbj4xMC4wLjMwMTI4LjE8L19Qcm9qZWN0RmlsZVZlcnNpb24+CisgICAgPE91dERpciBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+eDg2XFRlc3RabGliJChDb25maWd1cmF0aW9uKVw8L091dERpcj4KKyAgICA8SW50RGlyIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj54ODZcVGVzdFpsaWIkKENvbmZpZ3VyYXRpb24pXFRtcFw8L0ludERpcj4KKyAgICA8TGlua0luY3JlbWVudGFsIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj50cnVlPC9MaW5rSW5jcmVtZW50YWw+CisgICAgPEdlbmVyYXRlTWFuaWZlc3QgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPmZhbHNlPC9HZW5lcmF0ZU1hbmlmZXN0PgorICAgIDxPdXREaXIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlV2l0aG91dEFzbXxXaW4zMiciPng4NlxUZXN0WmxpYiQoQ29uZmlndXJhdGlvbilcPC9PdXREaXI+CisgICAgPEludERpciBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VXaXRob3V0QXNtfFdpbjMyJyI+eDg2XFRlc3RabGliJChDb25maWd1cmF0aW9uKVxUbXBcPC9JbnREaXI+CisgICAgPExpbmtJbmNyZW1lbnRhbCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VXaXRob3V0QXNtfFdpbjMyJyI+ZmFsc2U8L0xpbmtJbmNyZW1lbnRhbD4KKyAgICA8R2VuZXJhdGVNYW5pZmVzdCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VXaXRob3V0QXNtfFdpbjMyJyI+ZmFsc2U8L0dlbmVyYXRlTWFuaWZlc3Q+CisgICAgPE91dERpciBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj54ODZcVGVzdFpsaWIkKENvbmZpZ3VyYXRpb24pXDwvT3V0RGlyPgorICAgIDxJbnREaXIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+eDg2XFRlc3RabGliJChDb25maWd1cmF0aW9uKVxUbXBcPC9JbnREaXI+CisgICAgPExpbmtJbmNyZW1lbnRhbCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj5mYWxzZTwvTGlua0luY3JlbWVudGFsPgorICAgIDxHZW5lcmF0ZU1hbmlmZXN0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPmZhbHNlPC9HZW5lcmF0ZU1hbmlmZXN0PgorICAgIDxPdXREaXIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj54NjRcVGVzdFpsaWIkKENvbmZpZ3VyYXRpb24pXDwvT3V0RGlyPgorICAgIDxJbnREaXIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj54NjRcVGVzdFpsaWIkKENvbmZpZ3VyYXRpb24pXFRtcFw8L0ludERpcj4KKyAgICA8R2VuZXJhdGVNYW5pZmVzdCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPmZhbHNlPC9HZW5lcmF0ZU1hbmlmZXN0PgorICAgIDxPdXREaXIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xJdGFuaXVtJyI+aWE2NFxUZXN0WmxpYiQoQ29uZmlndXJhdGlvbilcPC9PdXREaXI+CisgICAgPEludERpciBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfEl0YW5pdW0nIj5pYTY0XFRlc3RabGliJChDb25maWd1cmF0aW9uKVxUbXBcPC9JbnREaXI+CisgICAgPExpbmtJbmNyZW1lbnRhbCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfEl0YW5pdW0nIj50cnVlPC9MaW5rSW5jcmVtZW50YWw+CisgICAgPEdlbmVyYXRlTWFuaWZlc3QgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xJdGFuaXVtJyI+ZmFsc2U8L0dlbmVyYXRlTWFuaWZlc3Q+CisgICAgPE91dERpciBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VXaXRob3V0QXNtfHg2NCciPng2NFxUZXN0WmxpYiQoQ29uZmlndXJhdGlvbilcPC9PdXREaXI+CisgICAgPEludERpciBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VXaXRob3V0QXNtfHg2NCciPng2NFxUZXN0WmxpYiQoQ29uZmlndXJhdGlvbilcVG1wXDwvSW50RGlyPgorICAgIDxHZW5lcmF0ZU1hbmlmZXN0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZVdpdGhvdXRBc218eDY0JyI+ZmFsc2U8L0dlbmVyYXRlTWFuaWZlc3Q+CisgICAgPE91dERpciBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VXaXRob3V0QXNtfEl0YW5pdW0nIj5pYTY0XFRlc3RabGliJChDb25maWd1cmF0aW9uKVw8L091dERpcj4KKyAgICA8SW50RGlyIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZVdpdGhvdXRBc218SXRhbml1bSciPmlhNjRcVGVzdFpsaWIkKENvbmZpZ3VyYXRpb24pXFRtcFw8L0ludERpcj4KKyAgICA8TGlua0luY3JlbWVudGFsIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZVdpdGhvdXRBc218SXRhbml1bSciPmZhbHNlPC9MaW5rSW5jcmVtZW50YWw+CisgICAgPEdlbmVyYXRlTWFuaWZlc3QgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlV2l0aG91dEFzbXxJdGFuaXVtJyI+ZmFsc2U8L0dlbmVyYXRlTWFuaWZlc3Q+CisgICAgPE91dERpciBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+eDY0XFRlc3RabGliJChDb25maWd1cmF0aW9uKVw8L091dERpcj4KKyAgICA8SW50RGlyIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj54NjRcVGVzdFpsaWIkKENvbmZpZ3VyYXRpb24pXFRtcFw8L0ludERpcj4KKyAgICA8R2VuZXJhdGVNYW5pZmVzdCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+ZmFsc2U8L0dlbmVyYXRlTWFuaWZlc3Q+CisgICAgPE91dERpciBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8SXRhbml1bSciPmlhNjRcVGVzdFpsaWIkKENvbmZpZ3VyYXRpb24pXDwvT3V0RGlyPgorICAgIDxJbnREaXIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfEl0YW5pdW0nIj5pYTY0XFRlc3RabGliJChDb25maWd1cmF0aW9uKVxUbXBcPC9JbnREaXI+CisgICAgPExpbmtJbmNyZW1lbnRhbCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8SXRhbml1bSciPmZhbHNlPC9MaW5rSW5jcmVtZW50YWw+CisgICAgPEdlbmVyYXRlTWFuaWZlc3QgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfEl0YW5pdW0nIj5mYWxzZTwvR2VuZXJhdGVNYW5pZmVzdD4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfEl0YW5pdW0nIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgorICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfEl0YW5pdW0nIiAvPgorICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfEl0YW5pdW0nIiAvPgorICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgorICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgLz4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIC8+CisgICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgorICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIC8+CisgICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgLz4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VXaXRob3V0QXNtfEl0YW5pdW0nIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgorICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VXaXRob3V0QXNtfEl0YW5pdW0nIiAvPgorICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VXaXRob3V0QXNtfEl0YW5pdW0nIiAvPgorICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZVdpdGhvdXRBc218V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgorICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VXaXRob3V0QXNtfFdpbjMyJyIgLz4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlV2l0aG91dEFzbXxXaW4zMiciIC8+CisgICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlV2l0aG91dEFzbXx4NjQnIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgorICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VXaXRob3V0QXNtfHg2NCciIC8+CisgICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZVdpdGhvdXRBc218eDY0JyIgLz4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8SXRhbml1bSciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+CisgICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxJdGFuaXVtJyIgLz4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfEl0YW5pdW0nIiAvPgorICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+CisgICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIC8+CisgICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIC8+CisgICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+CisgICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiAvPgorICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgLz4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+CisgICAgPENsQ29tcGlsZT4KKyAgICAgIDxPcHRpbWl6YXRpb24+RGlzYWJsZWQ8L09wdGltaXphdGlvbj4KKyAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXC4uXC4uOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+V0lOMzI7WkxJQl9XSU5BUEk7X0RFQlVHO19DT05TT0xFO19DUlRfTk9OU1REQ19OT19ERVBSRUNBVEU7X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO19DUlRfTk9OU1REQ19OT19XQVJOSU5HUzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+CisgICAgICA8TWluaW1hbFJlYnVpbGQ+dHJ1ZTwvTWluaW1hbFJlYnVpbGQ+CisgICAgICA8QmFzaWNSdW50aW1lQ2hlY2tzPkRlZmF1bHQ8L0Jhc2ljUnVudGltZUNoZWNrcz4KKyAgICAgIDxSdW50aW1lTGlicmFyeT5NdWx0aVRocmVhZGVkRGVidWdETEw8L1J1bnRpbWVMaWJyYXJ5PgorICAgICAgPEJ1ZmZlclNlY3VyaXR5Q2hlY2s+ZmFsc2U8L0J1ZmZlclNlY3VyaXR5Q2hlY2s+CisgICAgICA8UHJlY29tcGlsZWRIZWFkZXI+CisgICAgICA8L1ByZWNvbXBpbGVkSGVhZGVyPgorICAgICAgPEFzc2VtYmxlck91dHB1dD5Bc3NlbWJseUFuZFNvdXJjZUNvZGU8L0Fzc2VtYmxlck91dHB1dD4KKyAgICAgIDxBc3NlbWJsZXJMaXN0aW5nTG9jYXRpb24+JChJbnREaXIpPC9Bc3NlbWJsZXJMaXN0aW5nTG9jYXRpb24+CisgICAgICA8V2FybmluZ0xldmVsPkxldmVsMzwvV2FybmluZ0xldmVsPgorICAgICAgPERlYnVnSW5mb3JtYXRpb25Gb3JtYXQ+UHJvZ3JhbURhdGFiYXNlPC9EZWJ1Z0luZm9ybWF0aW9uRm9ybWF0PgorICAgIDwvQ2xDb21waWxlPgorICAgIDxMaW5rPgorICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KKyAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKXRlc3R6bGliLmV4ZTwvT3V0cHV0RmlsZT4KKyAgICAgIDxHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+dHJ1ZTwvR2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPgorICAgICAgPFByb2dyYW1EYXRhYmFzZUZpbGU+JChPdXREaXIpdGVzdHpsaWIucGRiPC9Qcm9ncmFtRGF0YWJhc2VGaWxlPgorICAgICAgPFN1YlN5c3RlbT5Db25zb2xlPC9TdWJTeXN0ZW0+CisgICAgICA8UmFuZG9taXplZEJhc2VBZGRyZXNzPmZhbHNlPC9SYW5kb21pemVkQmFzZUFkZHJlc3M+CisgICAgICA8RGF0YUV4ZWN1dGlvblByZXZlbnRpb24+CisgICAgICA8L0RhdGFFeGVjdXRpb25QcmV2ZW50aW9uPgorICAgICAgPFRhcmdldE1hY2hpbmU+TWFjaGluZVg4NjwvVGFyZ2V0TWFjaGluZT4KKyAgICA8L0xpbms+CisgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KKyAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlV2l0aG91dEFzbXxXaW4zMiciPgorICAgIDxDbENvbXBpbGU+CisgICAgICA8T3B0aW1pemF0aW9uPk1heFNwZWVkPC9PcHRpbWl6YXRpb24+CisgICAgICA8SW5saW5lRnVuY3Rpb25FeHBhbnNpb24+T25seUV4cGxpY2l0SW5saW5lPC9JbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj4KKyAgICAgIDxPbWl0RnJhbWVQb2ludGVycz50cnVlPC9PbWl0RnJhbWVQb2ludGVycz4KKyAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXC4uXC4uOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+V0lOMzI7WkxJQl9XSU5BUEk7TkRFQlVHO19DT05TT0xFO19DUlRfTk9OU1REQ19OT19ERVBSRUNBVEU7X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO19DUlRfTk9OU1REQ19OT19XQVJOSU5HUzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+CisgICAgICA8U3RyaW5nUG9vbGluZz50cnVlPC9TdHJpbmdQb29saW5nPgorICAgICAgPEJhc2ljUnVudGltZUNoZWNrcz5EZWZhdWx0PC9CYXNpY1J1bnRpbWVDaGVja3M+CisgICAgICA8UnVudGltZUxpYnJhcnk+TXVsdGlUaHJlYWRlZDwvUnVudGltZUxpYnJhcnk+CisgICAgICA8QnVmZmVyU2VjdXJpdHlDaGVjaz5mYWxzZTwvQnVmZmVyU2VjdXJpdHlDaGVjaz4KKyAgICAgIDxGdW5jdGlvbkxldmVsTGlua2luZz50cnVlPC9GdW5jdGlvbkxldmVsTGlua2luZz4KKyAgICAgIDxQcmVjb21waWxlZEhlYWRlcj4KKyAgICAgIDwvUHJlY29tcGlsZWRIZWFkZXI+CisgICAgICA8QXNzZW1ibGVyTGlzdGluZ0xvY2F0aW9uPiQoSW50RGlyKTwvQXNzZW1ibGVyTGlzdGluZ0xvY2F0aW9uPgorICAgICAgPFdhcm5pbmdMZXZlbD5MZXZlbDM8L1dhcm5pbmdMZXZlbD4KKyAgICAgIDxEZWJ1Z0luZm9ybWF0aW9uRm9ybWF0PlByb2dyYW1EYXRhYmFzZTwvRGVidWdJbmZvcm1hdGlvbkZvcm1hdD4KKyAgICA8L0NsQ29tcGlsZT4KKyAgICA8TGluaz4KKyAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKXRlc3R6bGliLmV4ZTwvT3V0cHV0RmlsZT4KKyAgICAgIDxHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+dHJ1ZTwvR2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPgorICAgICAgPFN1YlN5c3RlbT5Db25zb2xlPC9TdWJTeXN0ZW0+CisgICAgICA8T3B0aW1pemVSZWZlcmVuY2VzPnRydWU8L09wdGltaXplUmVmZXJlbmNlcz4KKyAgICAgIDxFbmFibGVDT01EQVRGb2xkaW5nPnRydWU8L0VuYWJsZUNPTURBVEZvbGRpbmc+CisgICAgICA8UmFuZG9taXplZEJhc2VBZGRyZXNzPmZhbHNlPC9SYW5kb21pemVkQmFzZUFkZHJlc3M+CisgICAgICA8RGF0YUV4ZWN1dGlvblByZXZlbnRpb24+CisgICAgICA8L0RhdGFFeGVjdXRpb25QcmV2ZW50aW9uPgorICAgICAgPFRhcmdldE1hY2hpbmU+TWFjaGluZVg4NjwvVGFyZ2V0TWFjaGluZT4KKyAgICA8L0xpbms+CisgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KKyAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+CisgICAgPENsQ29tcGlsZT4KKyAgICAgIDxPcHRpbWl6YXRpb24+TWF4U3BlZWQ8L09wdGltaXphdGlvbj4KKyAgICAgIDxJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj5Pbmx5RXhwbGljaXRJbmxpbmU8L0lubGluZUZ1bmN0aW9uRXhwYW5zaW9uPgorICAgICAgPE9taXRGcmFtZVBvaW50ZXJzPnRydWU8L09taXRGcmFtZVBvaW50ZXJzPgorICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cLi5cLi47JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KKyAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5XSU4zMjtaTElCX1dJTkFQSTtOREVCVUc7X0NPTlNPTEU7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX1dBUk5JTkdTOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KKyAgICAgIDxTdHJpbmdQb29saW5nPnRydWU8L1N0cmluZ1Bvb2xpbmc+CisgICAgICA8QmFzaWNSdW50aW1lQ2hlY2tzPkRlZmF1bHQ8L0Jhc2ljUnVudGltZUNoZWNrcz4KKyAgICAgIDxSdW50aW1lTGlicmFyeT5NdWx0aVRocmVhZGVkPC9SdW50aW1lTGlicmFyeT4KKyAgICAgIDxCdWZmZXJTZWN1cml0eUNoZWNrPmZhbHNlPC9CdWZmZXJTZWN1cml0eUNoZWNrPgorICAgICAgPEZ1bmN0aW9uTGV2ZWxMaW5raW5nPnRydWU8L0Z1bmN0aW9uTGV2ZWxMaW5raW5nPgorICAgICAgPFByZWNvbXBpbGVkSGVhZGVyPgorICAgICAgPC9QcmVjb21waWxlZEhlYWRlcj4KKyAgICAgIDxBc3NlbWJsZXJMaXN0aW5nTG9jYXRpb24+JChJbnREaXIpPC9Bc3NlbWJsZXJMaXN0aW5nTG9jYXRpb24+CisgICAgICA8V2FybmluZ0xldmVsPkxldmVsMzwvV2FybmluZ0xldmVsPgorICAgICAgPERlYnVnSW5mb3JtYXRpb25Gb3JtYXQ+UHJvZ3JhbURhdGFiYXNlPC9EZWJ1Z0luZm9ybWF0aW9uRm9ybWF0PgorICAgIDwvQ2xDb21waWxlPgorICAgIDxMaW5rPgorICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KKyAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKXRlc3R6bGliLmV4ZTwvT3V0cHV0RmlsZT4KKyAgICAgIDxHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+dHJ1ZTwvR2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPgorICAgICAgPFN1YlN5c3RlbT5Db25zb2xlPC9TdWJTeXN0ZW0+CisgICAgICA8T3B0aW1pemVSZWZlcmVuY2VzPnRydWU8L09wdGltaXplUmVmZXJlbmNlcz4KKyAgICAgIDxFbmFibGVDT01EQVRGb2xkaW5nPnRydWU8L0VuYWJsZUNPTURBVEZvbGRpbmc+CisgICAgICA8UmFuZG9taXplZEJhc2VBZGRyZXNzPmZhbHNlPC9SYW5kb21pemVkQmFzZUFkZHJlc3M+CisgICAgICA8RGF0YUV4ZWN1dGlvblByZXZlbnRpb24+CisgICAgICA8L0RhdGFFeGVjdXRpb25QcmV2ZW50aW9uPgorICAgICAgPFRhcmdldE1hY2hpbmU+TWFjaGluZVg4NjwvVGFyZ2V0TWFjaGluZT4KKyAgICAgIDxJbWFnZUhhc1NhZmVFeGNlcHRpb25IYW5kbGVycz5mYWxzZTwvSW1hZ2VIYXNTYWZlRXhjZXB0aW9uSGFuZGxlcnM+CisgICAgPC9MaW5rPgorICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+CisgIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+CisgICAgPENsQ29tcGlsZT4KKyAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXC4uXC4uOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+V0lOMzI7WkxJQl9XSU5BUEk7X0RFQlVHO19DT05TT0xFO19DUlRfTk9OU1REQ19OT19ERVBSRUNBVEU7X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO19DUlRfTk9OU1REQ19OT19XQVJOSU5HUzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+CisgICAgICA8QmFzaWNSdW50aW1lQ2hlY2tzPkRlZmF1bHQ8L0Jhc2ljUnVudGltZUNoZWNrcz4KKyAgICAgIDxSdW50aW1lTGlicmFyeT5NdWx0aVRocmVhZGVkRGVidWdETEw8L1J1bnRpbWVMaWJyYXJ5PgorICAgICAgPEJ1ZmZlclNlY3VyaXR5Q2hlY2s+ZmFsc2U8L0J1ZmZlclNlY3VyaXR5Q2hlY2s+CisgICAgICA8QXNzZW1ibGVyTGlzdGluZ0xvY2F0aW9uPiQoSW50RGlyKTwvQXNzZW1ibGVyTGlzdGluZ0xvY2F0aW9uPgorICAgIDwvQ2xDb21waWxlPgorICAgIDxMaW5rPgorICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KKyAgICA8L0xpbms+CisgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KKyAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xJdGFuaXVtJyI+CisgICAgPE1pZGw+CisgICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+SXRhbml1bTwvVGFyZ2V0RW52aXJvbm1lbnQ+CisgICAgPC9NaWRsPgorICAgIDxDbENvbXBpbGU+CisgICAgICA8T3B0aW1pemF0aW9uPkRpc2FibGVkPC9PcHRpbWl6YXRpb24+CisgICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlwuLlwuLjslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgorICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPlpMSUJfV0lOQVBJO19ERUJVRztfQ09OU09MRTtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFO19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fV0FSTklOR1M7V0lONjQ7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgorICAgICAgPE1pbmltYWxSZWJ1aWxkPnRydWU8L01pbmltYWxSZWJ1aWxkPgorICAgICAgPEJhc2ljUnVudGltZUNoZWNrcz5EZWZhdWx0PC9CYXNpY1J1bnRpbWVDaGVja3M+CisgICAgICA8UnVudGltZUxpYnJhcnk+TXVsdGlUaHJlYWRlZERlYnVnRExMPC9SdW50aW1lTGlicmFyeT4KKyAgICAgIDxCdWZmZXJTZWN1cml0eUNoZWNrPmZhbHNlPC9CdWZmZXJTZWN1cml0eUNoZWNrPgorICAgICAgPFByZWNvbXBpbGVkSGVhZGVyPgorICAgICAgPC9QcmVjb21waWxlZEhlYWRlcj4KKyAgICAgIDxBc3NlbWJsZXJPdXRwdXQ+QXNzZW1ibHlBbmRTb3VyY2VDb2RlPC9Bc3NlbWJsZXJPdXRwdXQ+CisgICAgICA8QXNzZW1ibGVyTGlzdGluZ0xvY2F0aW9uPiQoSW50RGlyKTwvQXNzZW1ibGVyTGlzdGluZ0xvY2F0aW9uPgorICAgICAgPFdhcm5pbmdMZXZlbD5MZXZlbDM8L1dhcm5pbmdMZXZlbD4KKyAgICAgIDxEZWJ1Z0luZm9ybWF0aW9uRm9ybWF0PlByb2dyYW1EYXRhYmFzZTwvRGVidWdJbmZvcm1hdGlvbkZvcm1hdD4KKyAgICA8L0NsQ29tcGlsZT4KKyAgICA8TGluaz4KKyAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKXRlc3R6bGliLmV4ZTwvT3V0cHV0RmlsZT4KKyAgICAgIDxHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+dHJ1ZTwvR2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPgorICAgICAgPFByb2dyYW1EYXRhYmFzZUZpbGU+JChPdXREaXIpdGVzdHpsaWIucGRiPC9Qcm9ncmFtRGF0YWJhc2VGaWxlPgorICAgICAgPFN1YlN5c3RlbT5Db25zb2xlPC9TdWJTeXN0ZW0+CisgICAgICA8VGFyZ2V0TWFjaGluZT5NYWNoaW5lSUE2NDwvVGFyZ2V0TWFjaGluZT4KKyAgICA8L0xpbms+CisgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KKyAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlV2l0aG91dEFzbXx4NjQnIj4KKyAgICA8Q2xDb21waWxlPgorICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cLi5cLi47JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KKyAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5XSU4zMjtaTElCX1dJTkFQSTtOREVCVUc7X0NPTlNPTEU7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX1dBUk5JTkdTOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KKyAgICAgIDxCYXNpY1J1bnRpbWVDaGVja3M+RGVmYXVsdDwvQmFzaWNSdW50aW1lQ2hlY2tzPgorICAgICAgPFJ1bnRpbWVMaWJyYXJ5Pk11bHRpVGhyZWFkZWRETEw8L1J1bnRpbWVMaWJyYXJ5PgorICAgICAgPEJ1ZmZlclNlY3VyaXR5Q2hlY2s+ZmFsc2U8L0J1ZmZlclNlY3VyaXR5Q2hlY2s+CisgICAgICA8QXNzZW1ibGVyTGlzdGluZ0xvY2F0aW9uPiQoSW50RGlyKTwvQXNzZW1ibGVyTGlzdGluZ0xvY2F0aW9uPgorICAgIDwvQ2xDb21waWxlPgorICAgIDxMaW5rPgorICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KKyAgICA8L0xpbms+CisgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KKyAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlV2l0aG91dEFzbXxJdGFuaXVtJyI+CisgICAgPE1pZGw+CisgICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+SXRhbml1bTwvVGFyZ2V0RW52aXJvbm1lbnQ+CisgICAgPC9NaWRsPgorICAgIDxDbENvbXBpbGU+CisgICAgICA8T3B0aW1pemF0aW9uPk1heFNwZWVkPC9PcHRpbWl6YXRpb24+CisgICAgICA8SW5saW5lRnVuY3Rpb25FeHBhbnNpb24+T25seUV4cGxpY2l0SW5saW5lPC9JbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj4KKyAgICAgIDxPbWl0RnJhbWVQb2ludGVycz50cnVlPC9PbWl0RnJhbWVQb2ludGVycz4KKyAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXC4uXC4uOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+WkxJQl9XSU5BUEk7TkRFQlVHO19DT05TT0xFO19DUlRfTk9OU1REQ19OT19ERVBSRUNBVEU7X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO19DUlRfTk9OU1REQ19OT19XQVJOSU5HUztXSU42NDslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+CisgICAgICA8U3RyaW5nUG9vbGluZz50cnVlPC9TdHJpbmdQb29saW5nPgorICAgICAgPEJhc2ljUnVudGltZUNoZWNrcz5EZWZhdWx0PC9CYXNpY1J1bnRpbWVDaGVja3M+CisgICAgICA8UnVudGltZUxpYnJhcnk+TXVsdGlUaHJlYWRlZERMTDwvUnVudGltZUxpYnJhcnk+CisgICAgICA8QnVmZmVyU2VjdXJpdHlDaGVjaz5mYWxzZTwvQnVmZmVyU2VjdXJpdHlDaGVjaz4KKyAgICAgIDxGdW5jdGlvbkxldmVsTGlua2luZz50cnVlPC9GdW5jdGlvbkxldmVsTGlua2luZz4KKyAgICAgIDxQcmVjb21waWxlZEhlYWRlcj4KKyAgICAgIDwvUHJlY29tcGlsZWRIZWFkZXI+CisgICAgICA8QXNzZW1ibGVyTGlzdGluZ0xvY2F0aW9uPiQoSW50RGlyKTwvQXNzZW1ibGVyTGlzdGluZ0xvY2F0aW9uPgorICAgICAgPFdhcm5pbmdMZXZlbD5MZXZlbDM8L1dhcm5pbmdMZXZlbD4KKyAgICAgIDxEZWJ1Z0luZm9ybWF0aW9uRm9ybWF0PlByb2dyYW1EYXRhYmFzZTwvRGVidWdJbmZvcm1hdGlvbkZvcm1hdD4KKyAgICA8L0NsQ29tcGlsZT4KKyAgICA8TGluaz4KKyAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKXRlc3R6bGliLmV4ZTwvT3V0cHV0RmlsZT4KKyAgICAgIDxHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+dHJ1ZTwvR2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPgorICAgICAgPFN1YlN5c3RlbT5Db25zb2xlPC9TdWJTeXN0ZW0+CisgICAgICA8T3B0aW1pemVSZWZlcmVuY2VzPnRydWU8L09wdGltaXplUmVmZXJlbmNlcz4KKyAgICAgIDxFbmFibGVDT01EQVRGb2xkaW5nPnRydWU8L0VuYWJsZUNPTURBVEZvbGRpbmc+CisgICAgICA8VGFyZ2V0TWFjaGluZT5NYWNoaW5lSUE2NDwvVGFyZ2V0TWFjaGluZT4KKyAgICA8L0xpbms+CisgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KKyAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPgorICAgIDxDbENvbXBpbGU+CisgICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlwuLlwuLjslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgorICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPldJTjMyO1pMSUJfV0lOQVBJO05ERUJVRztfQ09OU09MRTtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFO19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fV0FSTklOR1M7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgorICAgICAgPEJhc2ljUnVudGltZUNoZWNrcz5EZWZhdWx0PC9CYXNpY1J1bnRpbWVDaGVja3M+CisgICAgICA8UnVudGltZUxpYnJhcnk+TXVsdGlUaHJlYWRlZERMTDwvUnVudGltZUxpYnJhcnk+CisgICAgICA8QnVmZmVyU2VjdXJpdHlDaGVjaz5mYWxzZTwvQnVmZmVyU2VjdXJpdHlDaGVjaz4KKyAgICAgIDxBc3NlbWJsZXJMaXN0aW5nTG9jYXRpb24+JChJbnREaXIpPC9Bc3NlbWJsZXJMaXN0aW5nTG9jYXRpb24+CisgICAgPC9DbENvbXBpbGU+CisgICAgPExpbms+CisgICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz4lKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgorICAgIDwvTGluaz4KKyAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgorICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8SXRhbml1bSciPgorICAgIDxNaWRsPgorICAgICAgPFRhcmdldEVudmlyb25tZW50Pkl0YW5pdW08L1RhcmdldEVudmlyb25tZW50PgorICAgIDwvTWlkbD4KKyAgICA8Q2xDb21waWxlPgorICAgICAgPE9wdGltaXphdGlvbj5NYXhTcGVlZDwvT3B0aW1pemF0aW9uPgorICAgICAgPElubGluZUZ1bmN0aW9uRXhwYW5zaW9uPk9ubHlFeHBsaWNpdElubGluZTwvSW5saW5lRnVuY3Rpb25FeHBhbnNpb24+CisgICAgICA8T21pdEZyYW1lUG9pbnRlcnM+dHJ1ZTwvT21pdEZyYW1lUG9pbnRlcnM+CisgICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlwuLlwuLjslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgorICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPlpMSUJfV0lOQVBJO05ERUJVRztfQ09OU09MRTtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFO19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fV0FSTklOR1M7V0lONjQ7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgorICAgICAgPFN0cmluZ1Bvb2xpbmc+dHJ1ZTwvU3RyaW5nUG9vbGluZz4KKyAgICAgIDxCYXNpY1J1bnRpbWVDaGVja3M+RGVmYXVsdDwvQmFzaWNSdW50aW1lQ2hlY2tzPgorICAgICAgPFJ1bnRpbWVMaWJyYXJ5Pk11bHRpVGhyZWFkZWRETEw8L1J1bnRpbWVMaWJyYXJ5PgorICAgICAgPEJ1ZmZlclNlY3VyaXR5Q2hlY2s+ZmFsc2U8L0J1ZmZlclNlY3VyaXR5Q2hlY2s+CisgICAgICA8RnVuY3Rpb25MZXZlbExpbmtpbmc+dHJ1ZTwvRnVuY3Rpb25MZXZlbExpbmtpbmc+CisgICAgICA8UHJlY29tcGlsZWRIZWFkZXI+CisgICAgICA8L1ByZWNvbXBpbGVkSGVhZGVyPgorICAgICAgPEFzc2VtYmxlckxpc3RpbmdMb2NhdGlvbj4kKEludERpcik8L0Fzc2VtYmxlckxpc3RpbmdMb2NhdGlvbj4KKyAgICAgIDxXYXJuaW5nTGV2ZWw+TGV2ZWwzPC9XYXJuaW5nTGV2ZWw+CisgICAgICA8RGVidWdJbmZvcm1hdGlvbkZvcm1hdD5Qcm9ncmFtRGF0YWJhc2U8L0RlYnVnSW5mb3JtYXRpb25Gb3JtYXQ+CisgICAgPC9DbENvbXBpbGU+CisgICAgPExpbms+CisgICAgICA8T3V0cHV0RmlsZT4kKE91dERpcil0ZXN0emxpYi5leGU8L091dHB1dEZpbGU+CisgICAgICA8R2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPnRydWU8L0dlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj4KKyAgICAgIDxTdWJTeXN0ZW0+Q29uc29sZTwvU3ViU3lzdGVtPgorICAgICAgPE9wdGltaXplUmVmZXJlbmNlcz50cnVlPC9PcHRpbWl6ZVJlZmVyZW5jZXM+CisgICAgICA8RW5hYmxlQ09NREFURm9sZGluZz50cnVlPC9FbmFibGVDT01EQVRGb2xkaW5nPgorICAgICAgPFRhcmdldE1hY2hpbmU+TWFjaGluZUlBNjQ8L1RhcmdldE1hY2hpbmU+CisgICAgPC9MaW5rPgorICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+CisgIDxJdGVtR3JvdXA+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlwuLlxhZGxlcjMyLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlwuLlxjb21wcmVzcy5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5cY3JjMzIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXC4uXGRlZmxhdGUuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXC4uXGluZmJhY2suYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXC4uXGluZmZhc3QuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXC4uXGluZmxhdGUuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXC4uXGluZnRyZWVzLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlx0ZXN0emxpYlx0ZXN0emxpYi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5cdHJlZXMuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXC4uXHVuY29tcHIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXC4uXHp1dGlsLmMiIC8+CisgIDwvSXRlbUdyb3VwPgorICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC50YXJnZXRzIiAvPgorICA8SW1wb3J0R3JvdXAgTGFiZWw9IkV4dGVuc2lvblRhcmdldHMiPgorICA8L0ltcG9ydEdyb3VwPgorPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3NyYy9jb250cmliL3ZzdHVkaW8vdmMxMi90ZXN0emxpYmRsbC52Y3hwcm9qIGIvc3JjL2NvbnRyaWIvdnN0dWRpby92YzEyL3Rlc3R6bGliZGxsLnZjeHByb2oKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzY2NTczYQotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9jb250cmliL3ZzdHVkaW8vdmMxMi90ZXN0emxpYmRsbC52Y3hwcm9qCkBAIC0wLDAgKzEsMzE2IEBACivvu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPFByb2plY3QgRGVmYXVsdFRhcmdldHM9IkJ1aWxkIiBUb29sc1ZlcnNpb249IjEyLjAiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgorICA8SXRlbUdyb3VwIExhYmVsPSJQcm9qZWN0Q29uZmlndXJhdGlvbnMiPgorICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJEZWJ1Z3xJdGFuaXVtIj4KKyAgICAgIDxDb25maWd1cmF0aW9uPkRlYnVnPC9Db25maWd1cmF0aW9uPgorICAgICAgPFBsYXRmb3JtPkl0YW5pdW08L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IkRlYnVnfFdpbjMyIj4KKyAgICAgIDxDb25maWd1cmF0aW9uPkRlYnVnPC9Db25maWd1cmF0aW9uPgorICAgICAgPFBsYXRmb3JtPldpbjMyPC9QbGF0Zm9ybT4KKyAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgorICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJEZWJ1Z3x4NjQiPgorICAgICAgPENvbmZpZ3VyYXRpb24+RGVidWc8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+eDY0PC9QbGF0Zm9ybT4KKyAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgorICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJSZWxlYXNlfEl0YW5pdW0iPgorICAgICAgPENvbmZpZ3VyYXRpb24+UmVsZWFzZTwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT5JdGFuaXVtPC9QbGF0Zm9ybT4KKyAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgorICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJSZWxlYXNlfFdpbjMyIj4KKyAgICAgIDxDb25maWd1cmF0aW9uPlJlbGVhc2U8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+V2luMzI8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlJlbGVhc2V8eDY0Ij4KKyAgICAgIDxDb25maWd1cmF0aW9uPlJlbGVhc2U8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+eDY0PC9QbGF0Zm9ybT4KKyAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgorICA8L0l0ZW1Hcm91cD4KKyAgPFByb3BlcnR5R3JvdXAgTGFiZWw9Ikdsb2JhbHMiPgorICAgIDxQcm9qZWN0R3VpZD57QzUyRjlFN0ItNDk4QS00MkJFLThEQjQtODVBMTU2OTQzNjZBfTwvUHJvamVjdEd1aWQ+CisgICAgPEtleXdvcmQ+V2luMzJQcm9qPC9LZXl3b3JkPgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLkRlZmF1bHQucHJvcHMiIC8+CisgIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KKyAgICA8Q29uZmlndXJhdGlvblR5cGU+QXBwbGljYXRpb248L0NvbmZpZ3VyYXRpb25UeXBlPgorICAgIDxDaGFyYWN0ZXJTZXQ+TXVsdGlCeXRlPC9DaGFyYWN0ZXJTZXQ+CisgICAgPFBsYXRmb3JtVG9vbHNldD52MTIwPC9QbGF0Zm9ybVRvb2xzZXQ+CisgIDwvUHJvcGVydHlHcm91cD4KKyAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KKyAgICA8Q29uZmlndXJhdGlvblR5cGU+QXBwbGljYXRpb248L0NvbmZpZ3VyYXRpb25UeXBlPgorICAgIDxDaGFyYWN0ZXJTZXQ+VW5pY29kZTwvQ2hhcmFjdGVyU2V0PgorICAgIDxQbGF0Zm9ybVRvb2xzZXQ+djEyMDwvUGxhdGZvcm1Ub29sc2V0PgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxJdGFuaXVtJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgorICAgIDxDb25maWd1cmF0aW9uVHlwZT5BcHBsaWNhdGlvbjwvQ29uZmlndXJhdGlvblR5cGU+CisgICAgPENoYXJhY3RlclNldD5NdWx0aUJ5dGU8L0NoYXJhY3RlclNldD4KKyAgICA8UGxhdGZvcm1Ub29sc2V0PnYxMjA8L1BsYXRmb3JtVG9vbHNldD4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfEl0YW5pdW0nIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+CisgICAgPENvbmZpZ3VyYXRpb25UeXBlPkFwcGxpY2F0aW9uPC9Db25maWd1cmF0aW9uVHlwZT4KKyAgICA8Q2hhcmFjdGVyU2V0Pk11bHRpQnl0ZTwvQ2hhcmFjdGVyU2V0PgorICAgIDxQbGF0Zm9ybVRvb2xzZXQ+djEyMDwvUGxhdGZvcm1Ub29sc2V0PgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+CisgICAgPENvbmZpZ3VyYXRpb25UeXBlPkFwcGxpY2F0aW9uPC9Db25maWd1cmF0aW9uVHlwZT4KKyAgICA8Q2hhcmFjdGVyU2V0Pk11bHRpQnl0ZTwvQ2hhcmFjdGVyU2V0PgorICAgIDxQbGF0Zm9ybVRvb2xzZXQ+djEyMDwvUGxhdGZvcm1Ub29sc2V0PgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgorICAgIDxDb25maWd1cmF0aW9uVHlwZT5BcHBsaWNhdGlvbjwvQ29uZmlndXJhdGlvblR5cGU+CisgICAgPENoYXJhY3RlclNldD5NdWx0aUJ5dGU8L0NoYXJhY3RlclNldD4KKyAgICA8UGxhdGZvcm1Ub29sc2V0PnYxMjA8L1BsYXRmb3JtVG9vbHNldD4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5wcm9wcyIgLz4KKyAgPEltcG9ydEdyb3VwIExhYmVsPSJFeHRlbnNpb25TZXR0aW5ncyI+CisgIDwvSW1wb3J0R3JvdXA+CisgIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgorICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KKyAgPC9JbXBvcnRHcm91cD4KKyAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgorICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KKyAgPC9JbXBvcnRHcm91cD4KKyAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxJdGFuaXVtJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KKyAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+CisgIDwvSW1wb3J0R3JvdXA+CisgIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfEl0YW5pdW0nIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgorICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KKyAgPC9JbXBvcnRHcm91cD4KKyAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgorICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KKyAgPC9JbXBvcnRHcm91cD4KKyAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KKyAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+CisgIDwvSW1wb3J0R3JvdXA+CisgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJVc2VyTWFjcm9zIiAvPgorICA8UHJvcGVydHlHcm91cD4KKyAgICA8X1Byb2plY3RGaWxlVmVyc2lvbj4xMC4wLjMwMTI4LjE8L19Qcm9qZWN0RmlsZVZlcnNpb24+CisgICAgPE91dERpciBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+eDg2XFRlc3RabGliRGxsJChDb25maWd1cmF0aW9uKVw8L091dERpcj4KKyAgICA8SW50RGlyIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj54ODZcVGVzdFpsaWJEbGwkKENvbmZpZ3VyYXRpb24pXFRtcFw8L0ludERpcj4KKyAgICA8TGlua0luY3JlbWVudGFsIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj50cnVlPC9MaW5rSW5jcmVtZW50YWw+CisgICAgPEdlbmVyYXRlTWFuaWZlc3QgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPmZhbHNlPC9HZW5lcmF0ZU1hbmlmZXN0PgorICAgIDxPdXREaXIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+eDg2XFRlc3RabGliRGxsJChDb25maWd1cmF0aW9uKVw8L091dERpcj4KKyAgICA8SW50RGlyIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPng4NlxUZXN0WmxpYkRsbCQoQ29uZmlndXJhdGlvbilcVG1wXDwvSW50RGlyPgorICAgIDxMaW5rSW5jcmVtZW50YWwgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+ZmFsc2U8L0xpbmtJbmNyZW1lbnRhbD4KKyAgICA8R2VuZXJhdGVNYW5pZmVzdCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj5mYWxzZTwvR2VuZXJhdGVNYW5pZmVzdD4KKyAgICA8T3V0RGlyIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+eDY0XFRlc3RabGliRGxsJChDb25maWd1cmF0aW9uKVw8L091dERpcj4KKyAgICA8SW50RGlyIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+eDY0XFRlc3RabGliRGxsJChDb25maWd1cmF0aW9uKVxUbXBcPC9JbnREaXI+CisgICAgPExpbmtJbmNyZW1lbnRhbCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPnRydWU8L0xpbmtJbmNyZW1lbnRhbD4KKyAgICA8R2VuZXJhdGVNYW5pZmVzdCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPmZhbHNlPC9HZW5lcmF0ZU1hbmlmZXN0PgorICAgIDxPdXREaXIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xJdGFuaXVtJyI+aWE2NFxUZXN0WmxpYkRsbCQoQ29uZmlndXJhdGlvbilcPC9PdXREaXI+CisgICAgPEludERpciBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfEl0YW5pdW0nIj5pYTY0XFRlc3RabGliRGxsJChDb25maWd1cmF0aW9uKVxUbXBcPC9JbnREaXI+CisgICAgPExpbmtJbmNyZW1lbnRhbCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfEl0YW5pdW0nIj50cnVlPC9MaW5rSW5jcmVtZW50YWw+CisgICAgPEdlbmVyYXRlTWFuaWZlc3QgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xJdGFuaXVtJyI+ZmFsc2U8L0dlbmVyYXRlTWFuaWZlc3Q+CisgICAgPE91dERpciBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+eDY0XFRlc3RabGliRGxsJChDb25maWd1cmF0aW9uKVw8L091dERpcj4KKyAgICA8SW50RGlyIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj54NjRcVGVzdFpsaWJEbGwkKENvbmZpZ3VyYXRpb24pXFRtcFw8L0ludERpcj4KKyAgICA8TGlua0luY3JlbWVudGFsIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj5mYWxzZTwvTGlua0luY3JlbWVudGFsPgorICAgIDxHZW5lcmF0ZU1hbmlmZXN0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj5mYWxzZTwvR2VuZXJhdGVNYW5pZmVzdD4KKyAgICA8T3V0RGlyIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxJdGFuaXVtJyI+aWE2NFxUZXN0WmxpYkRsbCQoQ29uZmlndXJhdGlvbilcPC9PdXREaXI+CisgICAgPEludERpciBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8SXRhbml1bSciPmlhNjRcVGVzdFpsaWJEbGwkKENvbmZpZ3VyYXRpb24pXFRtcFw8L0ludERpcj4KKyAgICA8TGlua0luY3JlbWVudGFsIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxJdGFuaXVtJyI+ZmFsc2U8L0xpbmtJbmNyZW1lbnRhbD4KKyAgICA8R2VuZXJhdGVNYW5pZmVzdCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8SXRhbml1bSciPmZhbHNlPC9HZW5lcmF0ZU1hbmlmZXN0PgorICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8SXRhbml1bSciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+CisgICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8SXRhbml1bSciIC8+CisgICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8SXRhbml1bSciIC8+CisgICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+CisgICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiAvPgorICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgLz4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+CisgICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgLz4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiAvPgorICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxJdGFuaXVtJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfEl0YW5pdW0nIiAvPgorICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8SXRhbml1bSciIC8+CisgICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgLz4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgLz4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIC8+CisgICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiAvPgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj4KKyAgICA8Q2xDb21waWxlPgorICAgICAgPE9wdGltaXphdGlvbj5EaXNhYmxlZDwvT3B0aW1pemF0aW9uPgorICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cLi5cLi47Li5cLi5cbWluaXppcDslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgorICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPldJTjMyO19DUlRfTk9OU1REQ19OT19ERVBSRUNBVEU7X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO1pMSUJfV0lOQVBJO19ERUJVRztfQ09OU09MRTslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+CisgICAgICA8TWluaW1hbFJlYnVpbGQ+dHJ1ZTwvTWluaW1hbFJlYnVpbGQ+CisgICAgICA8QmFzaWNSdW50aW1lQ2hlY2tzPkRlZmF1bHQ8L0Jhc2ljUnVudGltZUNoZWNrcz4KKyAgICAgIDxSdW50aW1lTGlicmFyeT5NdWx0aVRocmVhZGVkRGVidWdETEw8L1J1bnRpbWVMaWJyYXJ5PgorICAgICAgPEJ1ZmZlclNlY3VyaXR5Q2hlY2s+ZmFsc2U8L0J1ZmZlclNlY3VyaXR5Q2hlY2s+CisgICAgICA8UHJlY29tcGlsZWRIZWFkZXI+CisgICAgICA8L1ByZWNvbXBpbGVkSGVhZGVyPgorICAgICAgPEFzc2VtYmxlckxpc3RpbmdMb2NhdGlvbj4kKEludERpcik8L0Fzc2VtYmxlckxpc3RpbmdMb2NhdGlvbj4KKyAgICAgIDxXYXJuaW5nTGV2ZWw+TGV2ZWwzPC9XYXJuaW5nTGV2ZWw+CisgICAgICA8RGVidWdJbmZvcm1hdGlvbkZvcm1hdD5Qcm9ncmFtRGF0YWJhc2U8L0RlYnVnSW5mb3JtYXRpb25Gb3JtYXQ+CisgICAgPC9DbENvbXBpbGU+CisgICAgPExpbms+CisgICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz54ODZcWmxpYkRsbERlYnVnXHpsaWJ3YXBpLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgorICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpdGVzdHpsaWJkbGwuZXhlPC9PdXRwdXRGaWxlPgorICAgICAgPEdlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj50cnVlPC9HZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+CisgICAgICA8UHJvZ3JhbURhdGFiYXNlRmlsZT4kKE91dERpcil0ZXN0emxpYi5wZGI8L1Byb2dyYW1EYXRhYmFzZUZpbGU+CisgICAgICA8U3ViU3lzdGVtPkNvbnNvbGU8L1N1YlN5c3RlbT4KKyAgICAgIDxSYW5kb21pemVkQmFzZUFkZHJlc3M+ZmFsc2U8L1JhbmRvbWl6ZWRCYXNlQWRkcmVzcz4KKyAgICAgIDxEYXRhRXhlY3V0aW9uUHJldmVudGlvbj4KKyAgICAgIDwvRGF0YUV4ZWN1dGlvblByZXZlbnRpb24+CisgICAgICA8VGFyZ2V0TWFjaGluZT5NYWNoaW5lWDg2PC9UYXJnZXRNYWNoaW5lPgorICAgIDwvTGluaz4KKyAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgorICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj4KKyAgICA8Q2xDb21waWxlPgorICAgICAgPE9wdGltaXphdGlvbj5NYXhTcGVlZDwvT3B0aW1pemF0aW9uPgorICAgICAgPElubGluZUZ1bmN0aW9uRXhwYW5zaW9uPk9ubHlFeHBsaWNpdElubGluZTwvSW5saW5lRnVuY3Rpb25FeHBhbnNpb24+CisgICAgICA8T21pdEZyYW1lUG9pbnRlcnM+dHJ1ZTwvT21pdEZyYW1lUG9pbnRlcnM+CisgICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlwuLlwuLjsuLlwuLlxtaW5pemlwOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+V0lOMzI7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7WkxJQl9XSU5BUEk7TkRFQlVHO19DT05TT0xFOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KKyAgICAgIDxTdHJpbmdQb29saW5nPnRydWU8L1N0cmluZ1Bvb2xpbmc+CisgICAgICA8QmFzaWNSdW50aW1lQ2hlY2tzPkRlZmF1bHQ8L0Jhc2ljUnVudGltZUNoZWNrcz4KKyAgICAgIDxSdW50aW1lTGlicmFyeT5NdWx0aVRocmVhZGVkPC9SdW50aW1lTGlicmFyeT4KKyAgICAgIDxCdWZmZXJTZWN1cml0eUNoZWNrPmZhbHNlPC9CdWZmZXJTZWN1cml0eUNoZWNrPgorICAgICAgPEZ1bmN0aW9uTGV2ZWxMaW5raW5nPnRydWU8L0Z1bmN0aW9uTGV2ZWxMaW5raW5nPgorICAgICAgPFByZWNvbXBpbGVkSGVhZGVyPgorICAgICAgPC9QcmVjb21waWxlZEhlYWRlcj4KKyAgICAgIDxBc3NlbWJsZXJMaXN0aW5nTG9jYXRpb24+JChJbnREaXIpPC9Bc3NlbWJsZXJMaXN0aW5nTG9jYXRpb24+CisgICAgICA8V2FybmluZ0xldmVsPkxldmVsMzwvV2FybmluZ0xldmVsPgorICAgICAgPERlYnVnSW5mb3JtYXRpb25Gb3JtYXQ+UHJvZ3JhbURhdGFiYXNlPC9EZWJ1Z0luZm9ybWF0aW9uRm9ybWF0PgorICAgIDwvQ2xDb21waWxlPgorICAgIDxMaW5rPgorICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+eDg2XFpsaWJEbGxSZWxlYXNlXHpsaWJ3YXBpLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgorICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpdGVzdHpsaWJkbGwuZXhlPC9PdXRwdXRGaWxlPgorICAgICAgPEdlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj50cnVlPC9HZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+CisgICAgICA8U3ViU3lzdGVtPkNvbnNvbGU8L1N1YlN5c3RlbT4KKyAgICAgIDxPcHRpbWl6ZVJlZmVyZW5jZXM+dHJ1ZTwvT3B0aW1pemVSZWZlcmVuY2VzPgorICAgICAgPEVuYWJsZUNPTURBVEZvbGRpbmc+dHJ1ZTwvRW5hYmxlQ09NREFURm9sZGluZz4KKyAgICAgIDxSYW5kb21pemVkQmFzZUFkZHJlc3M+ZmFsc2U8L1JhbmRvbWl6ZWRCYXNlQWRkcmVzcz4KKyAgICAgIDxEYXRhRXhlY3V0aW9uUHJldmVudGlvbj4KKyAgICAgIDwvRGF0YUV4ZWN1dGlvblByZXZlbnRpb24+CisgICAgICA8VGFyZ2V0TWFjaGluZT5NYWNoaW5lWDg2PC9UYXJnZXRNYWNoaW5lPgorICAgIDwvTGluaz4KKyAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgorICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPgorICAgIDxNaWRsPgorICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+CisgICAgPC9NaWRsPgorICAgIDxDbENvbXBpbGU+CisgICAgICA8T3B0aW1pemF0aW9uPkRpc2FibGVkPC9PcHRpbWl6YXRpb24+CisgICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlwuLlwuLjsuLlwuLlxtaW5pemlwOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7WkxJQl9XSU5BUEk7X0RFQlVHO19DT05TT0xFO1dJTjY0OyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KKyAgICAgIDxNaW5pbWFsUmVidWlsZD50cnVlPC9NaW5pbWFsUmVidWlsZD4KKyAgICAgIDxCYXNpY1J1bnRpbWVDaGVja3M+RGVmYXVsdDwvQmFzaWNSdW50aW1lQ2hlY2tzPgorICAgICAgPFJ1bnRpbWVMaWJyYXJ5Pk11bHRpVGhyZWFkZWREZWJ1Z0RMTDwvUnVudGltZUxpYnJhcnk+CisgICAgICA8QnVmZmVyU2VjdXJpdHlDaGVjaz5mYWxzZTwvQnVmZmVyU2VjdXJpdHlDaGVjaz4KKyAgICAgIDxQcmVjb21waWxlZEhlYWRlcj4KKyAgICAgIDwvUHJlY29tcGlsZWRIZWFkZXI+CisgICAgICA8QXNzZW1ibGVyTGlzdGluZ0xvY2F0aW9uPiQoSW50RGlyKTwvQXNzZW1ibGVyTGlzdGluZ0xvY2F0aW9uPgorICAgICAgPFdhcm5pbmdMZXZlbD5MZXZlbDM8L1dhcm5pbmdMZXZlbD4KKyAgICAgIDxEZWJ1Z0luZm9ybWF0aW9uRm9ybWF0PlByb2dyYW1EYXRhYmFzZTwvRGVidWdJbmZvcm1hdGlvbkZvcm1hdD4KKyAgICA8L0NsQ29tcGlsZT4KKyAgICA8TGluaz4KKyAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPng2NFxabGliRGxsRGVidWdcemxpYndhcGkubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+CisgICAgICA8T3V0cHV0RmlsZT4kKE91dERpcil0ZXN0emxpYmRsbC5leGU8L091dHB1dEZpbGU+CisgICAgICA8R2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPnRydWU8L0dlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj4KKyAgICAgIDxQcm9ncmFtRGF0YWJhc2VGaWxlPiQoT3V0RGlyKXRlc3R6bGliLnBkYjwvUHJvZ3JhbURhdGFiYXNlRmlsZT4KKyAgICAgIDxTdWJTeXN0ZW0+Q29uc29sZTwvU3ViU3lzdGVtPgorICAgICAgPFRhcmdldE1hY2hpbmU+TWFjaGluZVg2NDwvVGFyZ2V0TWFjaGluZT4KKyAgICA8L0xpbms+CisgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KKyAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xJdGFuaXVtJyI+CisgICAgPE1pZGw+CisgICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+SXRhbml1bTwvVGFyZ2V0RW52aXJvbm1lbnQ+CisgICAgPC9NaWRsPgorICAgIDxDbENvbXBpbGU+CisgICAgICA8T3B0aW1pemF0aW9uPkRpc2FibGVkPC9PcHRpbWl6YXRpb24+CisgICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlwuLlwuLjsuLlwuLlxtaW5pemlwOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7WkxJQl9XSU5BUEk7X0RFQlVHO19DT05TT0xFO1dJTjY0OyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KKyAgICAgIDxNaW5pbWFsUmVidWlsZD50cnVlPC9NaW5pbWFsUmVidWlsZD4KKyAgICAgIDxCYXNpY1J1bnRpbWVDaGVja3M+RGVmYXVsdDwvQmFzaWNSdW50aW1lQ2hlY2tzPgorICAgICAgPFJ1bnRpbWVMaWJyYXJ5Pk11bHRpVGhyZWFkZWREZWJ1Z0RMTDwvUnVudGltZUxpYnJhcnk+CisgICAgICA8QnVmZmVyU2VjdXJpdHlDaGVjaz5mYWxzZTwvQnVmZmVyU2VjdXJpdHlDaGVjaz4KKyAgICAgIDxQcmVjb21waWxlZEhlYWRlcj4KKyAgICAgIDwvUHJlY29tcGlsZWRIZWFkZXI+CisgICAgICA8QXNzZW1ibGVyTGlzdGluZ0xvY2F0aW9uPiQoSW50RGlyKTwvQXNzZW1ibGVyTGlzdGluZ0xvY2F0aW9uPgorICAgICAgPFdhcm5pbmdMZXZlbD5MZXZlbDM8L1dhcm5pbmdMZXZlbD4KKyAgICAgIDxEZWJ1Z0luZm9ybWF0aW9uRm9ybWF0PlByb2dyYW1EYXRhYmFzZTwvRGVidWdJbmZvcm1hdGlvbkZvcm1hdD4KKyAgICA8L0NsQ29tcGlsZT4KKyAgICA8TGluaz4KKyAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPmlhNjRcWmxpYkRsbERlYnVnXHpsaWJ3YXBpLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgorICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpdGVzdHpsaWJkbGwuZXhlPC9PdXRwdXRGaWxlPgorICAgICAgPEdlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj50cnVlPC9HZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+CisgICAgICA8UHJvZ3JhbURhdGFiYXNlRmlsZT4kKE91dERpcil0ZXN0emxpYi5wZGI8L1Byb2dyYW1EYXRhYmFzZUZpbGU+CisgICAgICA8U3ViU3lzdGVtPkNvbnNvbGU8L1N1YlN5c3RlbT4KKyAgICAgIDxUYXJnZXRNYWNoaW5lPk1hY2hpbmVJQTY0PC9UYXJnZXRNYWNoaW5lPgorICAgIDwvTGluaz4KKyAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgorICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+CisgICAgPE1pZGw+CisgICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KKyAgICA8L01pZGw+CisgICAgPENsQ29tcGlsZT4KKyAgICAgIDxPcHRpbWl6YXRpb24+TWF4U3BlZWQ8L09wdGltaXphdGlvbj4KKyAgICAgIDxJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj5Pbmx5RXhwbGljaXRJbmxpbmU8L0lubGluZUZ1bmN0aW9uRXhwYW5zaW9uPgorICAgICAgPE9taXRGcmFtZVBvaW50ZXJzPnRydWU8L09taXRGcmFtZVBvaW50ZXJzPgorICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cLi5cLi47Li5cLi5cbWluaXppcDslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgorICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9DUlRfTk9OU1REQ19OT19ERVBSRUNBVEU7X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO1pMSUJfV0lOQVBJO05ERUJVRztfQ09OU09MRTtXSU42NDslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+CisgICAgICA8U3RyaW5nUG9vbGluZz50cnVlPC9TdHJpbmdQb29saW5nPgorICAgICAgPEJhc2ljUnVudGltZUNoZWNrcz5EZWZhdWx0PC9CYXNpY1J1bnRpbWVDaGVja3M+CisgICAgICA8UnVudGltZUxpYnJhcnk+TXVsdGlUaHJlYWRlZERMTDwvUnVudGltZUxpYnJhcnk+CisgICAgICA8QnVmZmVyU2VjdXJpdHlDaGVjaz5mYWxzZTwvQnVmZmVyU2VjdXJpdHlDaGVjaz4KKyAgICAgIDxGdW5jdGlvbkxldmVsTGlua2luZz50cnVlPC9GdW5jdGlvbkxldmVsTGlua2luZz4KKyAgICAgIDxQcmVjb21waWxlZEhlYWRlcj4KKyAgICAgIDwvUHJlY29tcGlsZWRIZWFkZXI+CisgICAgICA8QXNzZW1ibGVyTGlzdGluZ0xvY2F0aW9uPiQoSW50RGlyKTwvQXNzZW1ibGVyTGlzdGluZ0xvY2F0aW9uPgorICAgICAgPFdhcm5pbmdMZXZlbD5MZXZlbDM8L1dhcm5pbmdMZXZlbD4KKyAgICAgIDxEZWJ1Z0luZm9ybWF0aW9uRm9ybWF0PlByb2dyYW1EYXRhYmFzZTwvRGVidWdJbmZvcm1hdGlvbkZvcm1hdD4KKyAgICA8L0NsQ29tcGlsZT4KKyAgICA8TGluaz4KKyAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPng2NFxabGliRGxsUmVsZWFzZVx6bGlid2FwaS5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KKyAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKXRlc3R6bGliZGxsLmV4ZTwvT3V0cHV0RmlsZT4KKyAgICAgIDxHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+dHJ1ZTwvR2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPgorICAgICAgPFN1YlN5c3RlbT5Db25zb2xlPC9TdWJTeXN0ZW0+CisgICAgICA8T3B0aW1pemVSZWZlcmVuY2VzPnRydWU8L09wdGltaXplUmVmZXJlbmNlcz4KKyAgICAgIDxFbmFibGVDT01EQVRGb2xkaW5nPnRydWU8L0VuYWJsZUNPTURBVEZvbGRpbmc+CisgICAgICA8VGFyZ2V0TWFjaGluZT5NYWNoaW5lWDY0PC9UYXJnZXRNYWNoaW5lPgorICAgIDwvTGluaz4KKyAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgorICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8SXRhbml1bSciPgorICAgIDxNaWRsPgorICAgICAgPFRhcmdldEVudmlyb25tZW50Pkl0YW5pdW08L1RhcmdldEVudmlyb25tZW50PgorICAgIDwvTWlkbD4KKyAgICA8Q2xDb21waWxlPgorICAgICAgPE9wdGltaXphdGlvbj5NYXhTcGVlZDwvT3B0aW1pemF0aW9uPgorICAgICAgPElubGluZUZ1bmN0aW9uRXhwYW5zaW9uPk9ubHlFeHBsaWNpdElubGluZTwvSW5saW5lRnVuY3Rpb25FeHBhbnNpb24+CisgICAgICA8T21pdEZyYW1lUG9pbnRlcnM+dHJ1ZTwvT21pdEZyYW1lUG9pbnRlcnM+CisgICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlwuLlwuLjsuLlwuLlxtaW5pemlwOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7WkxJQl9XSU5BUEk7TkRFQlVHO19DT05TT0xFO1dJTjY0OyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KKyAgICAgIDxTdHJpbmdQb29saW5nPnRydWU8L1N0cmluZ1Bvb2xpbmc+CisgICAgICA8QmFzaWNSdW50aW1lQ2hlY2tzPkRlZmF1bHQ8L0Jhc2ljUnVudGltZUNoZWNrcz4KKyAgICAgIDxSdW50aW1lTGlicmFyeT5NdWx0aVRocmVhZGVkRExMPC9SdW50aW1lTGlicmFyeT4KKyAgICAgIDxCdWZmZXJTZWN1cml0eUNoZWNrPmZhbHNlPC9CdWZmZXJTZWN1cml0eUNoZWNrPgorICAgICAgPEZ1bmN0aW9uTGV2ZWxMaW5raW5nPnRydWU8L0Z1bmN0aW9uTGV2ZWxMaW5raW5nPgorICAgICAgPFByZWNvbXBpbGVkSGVhZGVyPgorICAgICAgPC9QcmVjb21waWxlZEhlYWRlcj4KKyAgICAgIDxBc3NlbWJsZXJMaXN0aW5nTG9jYXRpb24+JChJbnREaXIpPC9Bc3NlbWJsZXJMaXN0aW5nTG9jYXRpb24+CisgICAgICA8V2FybmluZ0xldmVsPkxldmVsMzwvV2FybmluZ0xldmVsPgorICAgICAgPERlYnVnSW5mb3JtYXRpb25Gb3JtYXQ+UHJvZ3JhbURhdGFiYXNlPC9EZWJ1Z0luZm9ybWF0aW9uRm9ybWF0PgorICAgIDwvQ2xDb21waWxlPgorICAgIDxMaW5rPgorICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+aWE2NFxabGliRGxsUmVsZWFzZVx6bGlid2FwaS5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KKyAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKXRlc3R6bGliZGxsLmV4ZTwvT3V0cHV0RmlsZT4KKyAgICAgIDxHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+dHJ1ZTwvR2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPgorICAgICAgPFN1YlN5c3RlbT5Db25zb2xlPC9TdWJTeXN0ZW0+CisgICAgICA8T3B0aW1pemVSZWZlcmVuY2VzPnRydWU8L09wdGltaXplUmVmZXJlbmNlcz4KKyAgICAgIDxFbmFibGVDT01EQVRGb2xkaW5nPnRydWU8L0VuYWJsZUNPTURBVEZvbGRpbmc+CisgICAgICA8VGFyZ2V0TWFjaGluZT5NYWNoaW5lSUE2NDwvVGFyZ2V0TWFjaGluZT4KKyAgICA8L0xpbms+CisgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KKyAgPEl0ZW1Hcm91cD4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXHRlc3R6bGliXHRlc3R6bGliLmMiIC8+CisgIDwvSXRlbUdyb3VwPgorICA8SXRlbUdyb3VwPgorICAgIDxQcm9qZWN0UmVmZXJlbmNlIEluY2x1ZGU9InpsaWJ2Yy52Y3hwcm9qIj4KKyAgICAgIDxQcm9qZWN0Pns4ZmQ4MjZmOC0zNzM5LTQ0ZTYtOGNjOC05OTcxMjJlNTNiOGR9PC9Qcm9qZWN0PgorICAgIDwvUHJvamVjdFJlZmVyZW5jZT4KKyAgPC9JdGVtR3JvdXA+CisgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnRhcmdldHMiIC8+CisgIDxJbXBvcnRHcm91cCBMYWJlbD0iRXh0ZW5zaW9uVGFyZ2V0cyI+CisgIDwvSW1wb3J0R3JvdXA+Cis8L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3JjL2NvbnRyaWIvdnN0dWRpby92YzEyL3psaWIucmMgYi9zcmMvY29udHJpYi92c3R1ZGlvL3ZjMTIvemxpYi5yYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZGQ3OTg1Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjL2NvbnRyaWIvdnN0dWRpby92YzEyL3psaWIucmMKQEAgLTAsMCArMSwzMiBAQAorI2luY2x1ZGUgPHdpbmRvd3MuaD4KKworI2RlZmluZSBJRFJfVkVSU0lPTjEgIDEKK0lEUl9WRVJTSU9OMQlWRVJTSU9OSU5GTwlNT1ZFQUJMRSBJTVBVUkUgTE9BRE9OQ0FMTCBESVNDQVJEQUJMRQorICBGSUxFVkVSU0lPTgkgMSwgMiwgMTMsIDAKKyAgUFJPRFVDVFZFUlNJT04gMSwgMiwgMTMsIDAKKyAgRklMRUZMQUdTTUFTSwlWU19GRklfRklMRUZMQUdTTUFTSworICBGSUxFRkxBR1MJMAorICBGSUxFT1MJVk9TX0RPU19XSU5ET1dTMzIKKyAgRklMRVRZUEUJVkZUX0RMTAorICBGSUxFU1VCVFlQRQkwCS8vIG5vdCB1c2VkCitCRUdJTgorICBCTE9DSyAiU3RyaW5nRmlsZUluZm8iCisgIEJFR0lOCisgICAgQkxPQ0sgIjA0MDkwNEU0IgorICAgIC8vbGFuZ3VhZ2UgSUQgPSBVLlMuIEVuZ2xpc2gsIGNoYXIgc2V0ID0gV2luZG93cywgTXVsdGlsaW5ndWFsCisKKyAgICBCRUdJTgorICAgICAgVkFMVUUgIkZpbGVEZXNjcmlwdGlvbiIsICJ6bGliIGRhdGEgY29tcHJlc3Npb24gYW5kIFpJUCBmaWxlIEkvTyBsaWJyYXJ5XDAiCisgICAgICBWQUxVRSAiRmlsZVZlcnNpb24iLAkiMS4yLjEzXDAiCisgICAgICBWQUxVRSAiSW50ZXJuYWxOYW1lIiwJInpsaWJcMCIKKyAgICAgIFZBTFVFICJPcmlnaW5hbEZpbGVuYW1lIiwJInpsaWJ3YXBpLmRsbFwwIgorICAgICAgVkFMVUUgIlByb2R1Y3ROYW1lIiwJIlpMaWIuRExMXDAiCisgICAgICBWQUxVRSAiQ29tbWVudHMiLCJETEwgc3VwcG9ydCBieSBBbGVzc2FuZHJvIElhY29wZXR0aSAmIEdpbGxlcyBWb2xsYW50XDAiCisgICAgICBWQUxVRSAiTGVnYWxDb3B5cmlnaHQiLCAiKEMpIDE5OTUtMjAyMiBKZWFuLWxvdXAgR2FpbGx5ICYgTWFyayBBZGxlclwwIgorICAgIEVORAorICBFTkQKKyAgQkxPQ0sgIlZhckZpbGVJbmZvIgorICBCRUdJTgorICAgIFZBTFVFICJUcmFuc2xhdGlvbiIsIDB4MDQwOSwgMTI1MgorICBFTkQKK0VORApkaWZmIC0tZ2l0IGEvc3JjL2NvbnRyaWIvdnN0dWRpby92YzEyL3psaWJzdGF0LnZjeHByb2ogYi9zcmMvY29udHJpYi92c3R1ZGlvL3ZjMTIvemxpYnN0YXQudmN4cHJvagpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NjI5ZDhlCi0tLSAvZGV2L251bGwKKysrIGIvc3JjL2NvbnRyaWIvdnN0dWRpby92YzEyL3psaWJzdGF0LnZjeHByb2oKQEAgLTAsMCArMSw0NTkgQEAKK++7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8UHJvamVjdCBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIFRvb2xzVmVyc2lvbj0iMTIuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+CisgIDxJdGVtR3JvdXAgTGFiZWw9IlByb2plY3RDb25maWd1cmF0aW9ucyI+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IkRlYnVnfEl0YW5pdW0iPgorICAgICAgPENvbmZpZ3VyYXRpb24+RGVidWc8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+SXRhbml1bTwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iRGVidWd8V2luMzIiPgorICAgICAgPENvbmZpZ3VyYXRpb24+RGVidWc8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+V2luMzI8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IkRlYnVnfHg2NCI+CisgICAgICA8Q29uZmlndXJhdGlvbj5EZWJ1ZzwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT54NjQ8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlJlbGVhc2VXaXRob3V0QXNtfEl0YW5pdW0iPgorICAgICAgPENvbmZpZ3VyYXRpb24+UmVsZWFzZVdpdGhvdXRBc208L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+SXRhbml1bTwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUmVsZWFzZVdpdGhvdXRBc218V2luMzIiPgorICAgICAgPENvbmZpZ3VyYXRpb24+UmVsZWFzZVdpdGhvdXRBc208L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+V2luMzI8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlJlbGVhc2VXaXRob3V0QXNtfHg2NCI+CisgICAgICA8Q29uZmlndXJhdGlvbj5SZWxlYXNlV2l0aG91dEFzbTwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT54NjQ8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlJlbGVhc2V8SXRhbml1bSI+CisgICAgICA8Q29uZmlndXJhdGlvbj5SZWxlYXNlPC9Db25maWd1cmF0aW9uPgorICAgICAgPFBsYXRmb3JtPkl0YW5pdW08L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlJlbGVhc2V8V2luMzIiPgorICAgICAgPENvbmZpZ3VyYXRpb24+UmVsZWFzZTwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUmVsZWFzZXx4NjQiPgorICAgICAgPENvbmZpZ3VyYXRpb24+UmVsZWFzZTwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT54NjQ8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgIDwvSXRlbUdyb3VwPgorICA8UHJvcGVydHlHcm91cCBMYWJlbD0iR2xvYmFscyI+CisgICAgPFByb2plY3RHdWlkPns3NDVERUM1OC1FQkIzLTQ3QTktQTlCOC00QzY2MjdDMDFCRjh9PC9Qcm9qZWN0R3VpZD4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5EZWZhdWx0LnByb3BzIiAvPgorICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VXaXRob3V0QXNtfFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgorICAgIDxDb25maWd1cmF0aW9uVHlwZT5TdGF0aWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KKyAgICA8VXNlT2ZNZmM+ZmFsc2U8L1VzZU9mTWZjPgorICAgIDxQbGF0Zm9ybVRvb2xzZXQ+djEyMDwvUGxhdGZvcm1Ub29sc2V0PgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KKyAgICA8Q29uZmlndXJhdGlvblR5cGU+U3RhdGljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+CisgICAgPFVzZU9mTWZjPmZhbHNlPC9Vc2VPZk1mYz4KKyAgICA8UGxhdGZvcm1Ub29sc2V0PnYxMjA8L1BsYXRmb3JtVG9vbHNldD4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgorICAgIDxDb25maWd1cmF0aW9uVHlwZT5TdGF0aWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KKyAgICA8VXNlT2ZNZmM+ZmFsc2U8L1VzZU9mTWZjPgorICAgIDxQbGF0Zm9ybVRvb2xzZXQ+djEyMDwvUGxhdGZvcm1Ub29sc2V0PgorICAgIDxDaGFyYWN0ZXJTZXQ+VW5pY29kZTwvQ2hhcmFjdGVyU2V0PgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZVdpdGhvdXRBc218SXRhbml1bSciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KKyAgICA8Q29uZmlndXJhdGlvblR5cGU+U3RhdGljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+CisgICAgPFVzZU9mTWZjPmZhbHNlPC9Vc2VPZk1mYz4KKyAgICA8UGxhdGZvcm1Ub29sc2V0PnYxMjA8L1BsYXRmb3JtVG9vbHNldD4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8SXRhbml1bSciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KKyAgICA8Q29uZmlndXJhdGlvblR5cGU+U3RhdGljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+CisgICAgPFVzZU9mTWZjPmZhbHNlPC9Vc2VPZk1mYz4KKyAgICA8UGxhdGZvcm1Ub29sc2V0PnYxMjA8L1BsYXRmb3JtVG9vbHNldD4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfEl0YW5pdW0nIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+CisgICAgPENvbmZpZ3VyYXRpb25UeXBlPlN0YXRpY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgorICAgIDxVc2VPZk1mYz5mYWxzZTwvVXNlT2ZNZmM+CisgICAgPFBsYXRmb3JtVG9vbHNldD52MTIwPC9QbGF0Zm9ybVRvb2xzZXQ+CisgIDwvUHJvcGVydHlHcm91cD4KKyAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlV2l0aG91dEFzbXx4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+CisgICAgPENvbmZpZ3VyYXRpb25UeXBlPlN0YXRpY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgorICAgIDxVc2VPZk1mYz5mYWxzZTwvVXNlT2ZNZmM+CisgICAgPFBsYXRmb3JtVG9vbHNldD52MTIwPC9QbGF0Zm9ybVRvb2xzZXQ+CisgIDwvUHJvcGVydHlHcm91cD4KKyAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KKyAgICA8Q29uZmlndXJhdGlvblR5cGU+U3RhdGljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+CisgICAgPFVzZU9mTWZjPmZhbHNlPC9Vc2VPZk1mYz4KKyAgICA8UGxhdGZvcm1Ub29sc2V0PnYxMjA8L1BsYXRmb3JtVG9vbHNldD4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KKyAgICA8Q29uZmlndXJhdGlvblR5cGU+U3RhdGljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+CisgICAgPFVzZU9mTWZjPmZhbHNlPC9Vc2VPZk1mYz4KKyAgICA8UGxhdGZvcm1Ub29sc2V0PnYxMjA8L1BsYXRmb3JtVG9vbHNldD4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5wcm9wcyIgLz4KKyAgPEltcG9ydEdyb3VwIExhYmVsPSJFeHRlbnNpb25TZXR0aW5ncyI+CisgIDwvSW1wb3J0R3JvdXA+CisgIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VXaXRob3V0QXNtfFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KKyAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+CisgIDwvSW1wb3J0R3JvdXA+CisgIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgorICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KKyAgPC9JbXBvcnRHcm91cD4KKyAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgorICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KKyAgPC9JbXBvcnRHcm91cD4KKyAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZVdpdGhvdXRBc218SXRhbml1bSciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CisgICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgorICA8L0ltcG9ydEdyb3VwPgorICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfEl0YW5pdW0nIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgorICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KKyAgPC9JbXBvcnRHcm91cD4KKyAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8SXRhbml1bSciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CisgICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgorICA8L0ltcG9ydEdyb3VwPgorICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlV2l0aG91dEFzbXx4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgorICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KKyAgPC9JbXBvcnRHcm91cD4KKyAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgorICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KKyAgPC9JbXBvcnRHcm91cD4KKyAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KKyAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+CisgIDwvSW1wb3J0R3JvdXA+CisgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJVc2VyTWFjcm9zIiAvPgorICA8UHJvcGVydHlHcm91cD4KKyAgICA8X1Byb2plY3RGaWxlVmVyc2lvbj4xMC4wLjMwMTI4LjE8L19Qcm9qZWN0RmlsZVZlcnNpb24+CisgICAgPE91dERpciBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+eDg2XFpsaWJTdGF0JChDb25maWd1cmF0aW9uKVw8L091dERpcj4KKyAgICA8SW50RGlyIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj54ODZcWmxpYlN0YXQkKENvbmZpZ3VyYXRpb24pXFRtcFw8L0ludERpcj4KKyAgICA8T3V0RGlyIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPng4NlxabGliU3RhdCQoQ29uZmlndXJhdGlvbilcPC9PdXREaXI+CisgICAgPEludERpciBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj54ODZcWmxpYlN0YXQkKENvbmZpZ3VyYXRpb24pXFRtcFw8L0ludERpcj4KKyAgICA8T3V0RGlyIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZVdpdGhvdXRBc218V2luMzInIj54ODZcWmxpYlN0YXQkKENvbmZpZ3VyYXRpb24pXDwvT3V0RGlyPgorICAgIDxJbnREaXIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlV2l0aG91dEFzbXxXaW4zMiciPng4NlxabGliU3RhdCQoQ29uZmlndXJhdGlvbilcVG1wXDwvSW50RGlyPgorICAgIDxPdXREaXIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj54NjRcWmxpYlN0YXQkKENvbmZpZ3VyYXRpb24pXDwvT3V0RGlyPgorICAgIDxJbnREaXIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj54NjRcWmxpYlN0YXQkKENvbmZpZ3VyYXRpb24pXFRtcFw8L0ludERpcj4KKyAgICA8T3V0RGlyIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8SXRhbml1bSciPmlhNjRcWmxpYlN0YXQkKENvbmZpZ3VyYXRpb24pXDwvT3V0RGlyPgorICAgIDxJbnREaXIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xJdGFuaXVtJyI+aWE2NFxabGliU3RhdCQoQ29uZmlndXJhdGlvbilcVG1wXDwvSW50RGlyPgorICAgIDxPdXREaXIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPng2NFxabGliU3RhdCQoQ29uZmlndXJhdGlvbilcPC9PdXREaXI+CisgICAgPEludERpciBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+eDY0XFpsaWJTdGF0JChDb25maWd1cmF0aW9uKVxUbXBcPC9JbnREaXI+CisgICAgPE91dERpciBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8SXRhbml1bSciPmlhNjRcWmxpYlN0YXQkKENvbmZpZ3VyYXRpb24pXDwvT3V0RGlyPgorICAgIDxJbnREaXIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfEl0YW5pdW0nIj5pYTY0XFpsaWJTdGF0JChDb25maWd1cmF0aW9uKVxUbXBcPC9JbnREaXI+CisgICAgPE91dERpciBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VXaXRob3V0QXNtfHg2NCciPng2NFxabGliU3RhdCQoQ29uZmlndXJhdGlvbilcPC9PdXREaXI+CisgICAgPEludERpciBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VXaXRob3V0QXNtfHg2NCciPng2NFxabGliU3RhdCQoQ29uZmlndXJhdGlvbilcVG1wXDwvSW50RGlyPgorICAgIDxPdXREaXIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlV2l0aG91dEFzbXxJdGFuaXVtJyI+aWE2NFxabGliU3RhdCQoQ29uZmlndXJhdGlvbilcPC9PdXREaXI+CisgICAgPEludERpciBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VXaXRob3V0QXNtfEl0YW5pdW0nIj5pYTY0XFpsaWJTdGF0JChDb25maWd1cmF0aW9uKVxUbXBcPC9JbnREaXI+CisgICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xJdGFuaXVtJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xJdGFuaXVtJyIgLz4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xJdGFuaXVtJyIgLz4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIC8+CisgICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiAvPgorICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiAvPgorICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIC8+CisgICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlV2l0aG91dEFzbXxJdGFuaXVtJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlV2l0aG91dEFzbXxJdGFuaXVtJyIgLz4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlV2l0aG91dEFzbXxJdGFuaXVtJyIgLz4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VXaXRob3V0QXNtfFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlV2l0aG91dEFzbXxXaW4zMiciIC8+CisgICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZVdpdGhvdXRBc218V2luMzInIiAvPgorICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZVdpdGhvdXRBc218eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlV2l0aG91dEFzbXx4NjQnIiAvPgorICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VXaXRob3V0QXNtfHg2NCciIC8+CisgICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfEl0YW5pdW0nIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgorICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8SXRhbml1bSciIC8+CisgICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxJdGFuaXVtJyIgLz4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgorICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiAvPgorICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiAvPgorICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgorICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgLz4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIC8+CisgIDwvUHJvcGVydHlHcm91cD4KKyAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPgorICAgIDxDbENvbXBpbGU+CisgICAgICA8T3B0aW1pemF0aW9uPkRpc2FibGVkPC9PcHRpbWl6YXRpb24+CisgICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlwuLlwuLjslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgorICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPldJTjMyO1pMSUJfV0lOQVBJO19DUlRfTk9OU1REQ19OT19ERVBSRUNBVEU7X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO19DUlRfTk9OU1REQ19OT19XQVJOSU5HUzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+CisgICAgICA8RXhjZXB0aW9uSGFuZGxpbmc+CisgICAgICA8L0V4Y2VwdGlvbkhhbmRsaW5nPgorICAgICAgPFJ1bnRpbWVMaWJyYXJ5Pk11bHRpVGhyZWFkZWREZWJ1Z0RMTDwvUnVudGltZUxpYnJhcnk+CisgICAgICA8QnVmZmVyU2VjdXJpdHlDaGVjaz5mYWxzZTwvQnVmZmVyU2VjdXJpdHlDaGVjaz4KKyAgICAgIDxQcmVjb21waWxlZEhlYWRlck91dHB1dEZpbGU+JChJbnREaXIpemxpYnN0YXQucGNoPC9QcmVjb21waWxlZEhlYWRlck91dHB1dEZpbGU+CisgICAgICA8QXNzZW1ibGVyTGlzdGluZ0xvY2F0aW9uPiQoSW50RGlyKTwvQXNzZW1ibGVyTGlzdGluZ0xvY2F0aW9uPgorICAgICAgPE9iamVjdEZpbGVOYW1lPiQoSW50RGlyKTwvT2JqZWN0RmlsZU5hbWU+CisgICAgICA8UHJvZ3JhbURhdGFCYXNlRmlsZU5hbWU+JChPdXREaXIpPC9Qcm9ncmFtRGF0YUJhc2VGaWxlTmFtZT4KKyAgICAgIDxXYXJuaW5nTGV2ZWw+TGV2ZWwzPC9XYXJuaW5nTGV2ZWw+CisgICAgICA8U3VwcHJlc3NTdGFydHVwQmFubmVyPnRydWU8L1N1cHByZXNzU3RhcnR1cEJhbm5lcj4KKyAgICAgIDxEZWJ1Z0luZm9ybWF0aW9uRm9ybWF0Pk9sZFN0eWxlPC9EZWJ1Z0luZm9ybWF0aW9uRm9ybWF0PgorICAgIDwvQ2xDb21waWxlPgorICAgIDxSZXNvdXJjZUNvbXBpbGU+CisgICAgICA8Q3VsdHVyZT4weDA0MGM8L0N1bHR1cmU+CisgICAgPC9SZXNvdXJjZUNvbXBpbGU+CisgICAgPExpYj4KKyAgICAgIDxBZGRpdGlvbmFsT3B0aW9ucz4vTUFDSElORTpYODYgL05PREVGQVVMVExJQiAlKEFkZGl0aW9uYWxPcHRpb25zKTwvQWRkaXRpb25hbE9wdGlvbnM+CisgICAgICA8T3V0cHV0RmlsZT4kKE91dERpcil6bGlic3RhdC5saWI8L091dHB1dEZpbGU+CisgICAgICA8U3VwcHJlc3NTdGFydHVwQmFubmVyPnRydWU8L1N1cHByZXNzU3RhcnR1cEJhbm5lcj4KKyAgICA8L0xpYj4KKyAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgorICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj4KKyAgICA8Q2xDb21waWxlPgorICAgICAgPElubGluZUZ1bmN0aW9uRXhwYW5zaW9uPk9ubHlFeHBsaWNpdElubGluZTwvSW5saW5lRnVuY3Rpb25FeHBhbnNpb24+CisgICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlwuLlwuLjslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgorICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPldJTjMyO1pMSUJfV0lOQVBJO19DUlRfTk9OU1REQ19OT19ERVBSRUNBVEU7X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO19DUlRfTk9OU1REQ19OT19XQVJOSU5HUzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+CisgICAgICA8U3RyaW5nUG9vbGluZz50cnVlPC9TdHJpbmdQb29saW5nPgorICAgICAgPEV4Y2VwdGlvbkhhbmRsaW5nPgorICAgICAgPC9FeGNlcHRpb25IYW5kbGluZz4KKyAgICAgIDxSdW50aW1lTGlicmFyeT5NdWx0aVRocmVhZGVkPC9SdW50aW1lTGlicmFyeT4KKyAgICAgIDxCdWZmZXJTZWN1cml0eUNoZWNrPmZhbHNlPC9CdWZmZXJTZWN1cml0eUNoZWNrPgorICAgICAgPEZ1bmN0aW9uTGV2ZWxMaW5raW5nPnRydWU8L0Z1bmN0aW9uTGV2ZWxMaW5raW5nPgorICAgICAgPFByZWNvbXBpbGVkSGVhZGVyT3V0cHV0RmlsZT4kKEludERpcil6bGlic3RhdC5wY2g8L1ByZWNvbXBpbGVkSGVhZGVyT3V0cHV0RmlsZT4KKyAgICAgIDxBc3NlbWJsZXJMaXN0aW5nTG9jYXRpb24+JChJbnREaXIpPC9Bc3NlbWJsZXJMaXN0aW5nTG9jYXRpb24+CisgICAgICA8T2JqZWN0RmlsZU5hbWU+JChJbnREaXIpPC9PYmplY3RGaWxlTmFtZT4KKyAgICAgIDxQcm9ncmFtRGF0YUJhc2VGaWxlTmFtZT4kKE91dERpcik8L1Byb2dyYW1EYXRhQmFzZUZpbGVOYW1lPgorICAgICAgPFdhcm5pbmdMZXZlbD5MZXZlbDM8L1dhcm5pbmdMZXZlbD4KKyAgICAgIDxTdXBwcmVzc1N0YXJ0dXBCYW5uZXI+dHJ1ZTwvU3VwcHJlc3NTdGFydHVwQmFubmVyPgorICAgIDwvQ2xDb21waWxlPgorICAgIDxSZXNvdXJjZUNvbXBpbGU+CisgICAgICA8Q3VsdHVyZT4weDA0MGM8L0N1bHR1cmU+CisgICAgPC9SZXNvdXJjZUNvbXBpbGU+CisgICAgPExpYj4KKyAgICAgIDxBZGRpdGlvbmFsT3B0aW9ucz4vTUFDSElORTpYODYgL05PREVGQVVMVExJQiAlKEFkZGl0aW9uYWxPcHRpb25zKTwvQWRkaXRpb25hbE9wdGlvbnM+CisgICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz4lKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgorICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpemxpYnN0YXQubGliPC9PdXRwdXRGaWxlPgorICAgICAgPFN1cHByZXNzU3RhcnR1cEJhbm5lcj50cnVlPC9TdXBwcmVzc1N0YXJ0dXBCYW5uZXI+CisgICAgPC9MaWI+CisgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KKyAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlV2l0aG91dEFzbXxXaW4zMiciPgorICAgIDxDbENvbXBpbGU+CisgICAgICA8SW5saW5lRnVuY3Rpb25FeHBhbnNpb24+T25seUV4cGxpY2l0SW5saW5lPC9JbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj4KKyAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXC4uXC4uOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+V0lOMzI7WkxJQl9XSU5BUEk7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX1dBUk5JTkdTOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KKyAgICAgIDxTdHJpbmdQb29saW5nPnRydWU8L1N0cmluZ1Bvb2xpbmc+CisgICAgICA8RXhjZXB0aW9uSGFuZGxpbmc+CisgICAgICA8L0V4Y2VwdGlvbkhhbmRsaW5nPgorICAgICAgPFJ1bnRpbWVMaWJyYXJ5Pk11bHRpVGhyZWFkZWQ8L1J1bnRpbWVMaWJyYXJ5PgorICAgICAgPEJ1ZmZlclNlY3VyaXR5Q2hlY2s+ZmFsc2U8L0J1ZmZlclNlY3VyaXR5Q2hlY2s+CisgICAgICA8RnVuY3Rpb25MZXZlbExpbmtpbmc+dHJ1ZTwvRnVuY3Rpb25MZXZlbExpbmtpbmc+CisgICAgICA8UHJlY29tcGlsZWRIZWFkZXJPdXRwdXRGaWxlPiQoSW50RGlyKXpsaWJzdGF0LnBjaDwvUHJlY29tcGlsZWRIZWFkZXJPdXRwdXRGaWxlPgorICAgICAgPEFzc2VtYmxlckxpc3RpbmdMb2NhdGlvbj4kKEludERpcik8L0Fzc2VtYmxlckxpc3RpbmdMb2NhdGlvbj4KKyAgICAgIDxPYmplY3RGaWxlTmFtZT4kKEludERpcik8L09iamVjdEZpbGVOYW1lPgorICAgICAgPFByb2dyYW1EYXRhQmFzZUZpbGVOYW1lPiQoT3V0RGlyKTwvUHJvZ3JhbURhdGFCYXNlRmlsZU5hbWU+CisgICAgICA8V2FybmluZ0xldmVsPkxldmVsMzwvV2FybmluZ0xldmVsPgorICAgICAgPFN1cHByZXNzU3RhcnR1cEJhbm5lcj50cnVlPC9TdXBwcmVzc1N0YXJ0dXBCYW5uZXI+CisgICAgPC9DbENvbXBpbGU+CisgICAgPFJlc291cmNlQ29tcGlsZT4KKyAgICAgIDxDdWx0dXJlPjB4MDQwYzwvQ3VsdHVyZT4KKyAgICA8L1Jlc291cmNlQ29tcGlsZT4KKyAgICA8TGliPgorICAgICAgPEFkZGl0aW9uYWxPcHRpb25zPi9NQUNISU5FOlg4NiAvTk9ERUZBVUxUTElCICUoQWRkaXRpb25hbE9wdGlvbnMpPC9BZGRpdGlvbmFsT3B0aW9ucz4KKyAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKXpsaWJzdGF0LmxpYjwvT3V0cHV0RmlsZT4KKyAgICAgIDxTdXBwcmVzc1N0YXJ0dXBCYW5uZXI+dHJ1ZTwvU3VwcHJlc3NTdGFydHVwQmFubmVyPgorICAgIDwvTGliPgorICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+CisgIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+CisgICAgPE1pZGw+CisgICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KKyAgICA8L01pZGw+CisgICAgPENsQ29tcGlsZT4KKyAgICAgIDxPcHRpbWl6YXRpb24+RGlzYWJsZWQ8L09wdGltaXphdGlvbj4KKyAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXC4uXC4uOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+WkxJQl9XSU5BUEk7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX1dBUk5JTkdTO1dJTjY0OyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KKyAgICAgIDxFeGNlcHRpb25IYW5kbGluZz4KKyAgICAgIDwvRXhjZXB0aW9uSGFuZGxpbmc+CisgICAgICA8UnVudGltZUxpYnJhcnk+TXVsdGlUaHJlYWRlZERlYnVnRExMPC9SdW50aW1lTGlicmFyeT4KKyAgICAgIDxCdWZmZXJTZWN1cml0eUNoZWNrPmZhbHNlPC9CdWZmZXJTZWN1cml0eUNoZWNrPgorICAgICAgPFByZWNvbXBpbGVkSGVhZGVyT3V0cHV0RmlsZT4kKEludERpcil6bGlic3RhdC5wY2g8L1ByZWNvbXBpbGVkSGVhZGVyT3V0cHV0RmlsZT4KKyAgICAgIDxBc3NlbWJsZXJMaXN0aW5nTG9jYXRpb24+JChJbnREaXIpPC9Bc3NlbWJsZXJMaXN0aW5nTG9jYXRpb24+CisgICAgICA8T2JqZWN0RmlsZU5hbWU+JChJbnREaXIpPC9PYmplY3RGaWxlTmFtZT4KKyAgICAgIDxQcm9ncmFtRGF0YUJhc2VGaWxlTmFtZT4kKE91dERpcik8L1Byb2dyYW1EYXRhQmFzZUZpbGVOYW1lPgorICAgICAgPFdhcm5pbmdMZXZlbD5MZXZlbDM8L1dhcm5pbmdMZXZlbD4KKyAgICAgIDxTdXBwcmVzc1N0YXJ0dXBCYW5uZXI+dHJ1ZTwvU3VwcHJlc3NTdGFydHVwQmFubmVyPgorICAgICAgPERlYnVnSW5mb3JtYXRpb25Gb3JtYXQ+T2xkU3R5bGU8L0RlYnVnSW5mb3JtYXRpb25Gb3JtYXQ+CisgICAgPC9DbENvbXBpbGU+CisgICAgPFJlc291cmNlQ29tcGlsZT4KKyAgICAgIDxDdWx0dXJlPjB4MDQwYzwvQ3VsdHVyZT4KKyAgICA8L1Jlc291cmNlQ29tcGlsZT4KKyAgICA8TGliPgorICAgICAgPEFkZGl0aW9uYWxPcHRpb25zPi9NQUNISU5FOkFNRDY0IC9OT0RFRkFVTFRMSUIgJShBZGRpdGlvbmFsT3B0aW9ucyk8L0FkZGl0aW9uYWxPcHRpb25zPgorICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpemxpYnN0YXQubGliPC9PdXRwdXRGaWxlPgorICAgICAgPFN1cHByZXNzU3RhcnR1cEJhbm5lcj50cnVlPC9TdXBwcmVzc1N0YXJ0dXBCYW5uZXI+CisgICAgPC9MaWI+CisgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KKyAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xJdGFuaXVtJyI+CisgICAgPE1pZGw+CisgICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+SXRhbml1bTwvVGFyZ2V0RW52aXJvbm1lbnQ+CisgICAgPC9NaWRsPgorICAgIDxDbENvbXBpbGU+CisgICAgICA8T3B0aW1pemF0aW9uPkRpc2FibGVkPC9PcHRpbWl6YXRpb24+CisgICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlwuLlwuLjslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgorICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPlpMSUJfV0lOQVBJO19DUlRfTk9OU1REQ19OT19ERVBSRUNBVEU7X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO19DUlRfTk9OU1REQ19OT19XQVJOSU5HUztXSU42NDslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+CisgICAgICA8RXhjZXB0aW9uSGFuZGxpbmc+CisgICAgICA8L0V4Y2VwdGlvbkhhbmRsaW5nPgorICAgICAgPFJ1bnRpbWVMaWJyYXJ5Pk11bHRpVGhyZWFkZWREZWJ1Z0RMTDwvUnVudGltZUxpYnJhcnk+CisgICAgICA8QnVmZmVyU2VjdXJpdHlDaGVjaz5mYWxzZTwvQnVmZmVyU2VjdXJpdHlDaGVjaz4KKyAgICAgIDxQcmVjb21waWxlZEhlYWRlck91dHB1dEZpbGU+JChJbnREaXIpemxpYnN0YXQucGNoPC9QcmVjb21waWxlZEhlYWRlck91dHB1dEZpbGU+CisgICAgICA8QXNzZW1ibGVyTGlzdGluZ0xvY2F0aW9uPiQoSW50RGlyKTwvQXNzZW1ibGVyTGlzdGluZ0xvY2F0aW9uPgorICAgICAgPE9iamVjdEZpbGVOYW1lPiQoSW50RGlyKTwvT2JqZWN0RmlsZU5hbWU+CisgICAgICA8UHJvZ3JhbURhdGFCYXNlRmlsZU5hbWU+JChPdXREaXIpPC9Qcm9ncmFtRGF0YUJhc2VGaWxlTmFtZT4KKyAgICAgIDxXYXJuaW5nTGV2ZWw+TGV2ZWwzPC9XYXJuaW5nTGV2ZWw+CisgICAgICA8U3VwcHJlc3NTdGFydHVwQmFubmVyPnRydWU8L1N1cHByZXNzU3RhcnR1cEJhbm5lcj4KKyAgICAgIDxEZWJ1Z0luZm9ybWF0aW9uRm9ybWF0Pk9sZFN0eWxlPC9EZWJ1Z0luZm9ybWF0aW9uRm9ybWF0PgorICAgIDwvQ2xDb21waWxlPgorICAgIDxSZXNvdXJjZUNvbXBpbGU+CisgICAgICA8Q3VsdHVyZT4weDA0MGM8L0N1bHR1cmU+CisgICAgPC9SZXNvdXJjZUNvbXBpbGU+CisgICAgPExpYj4KKyAgICAgIDxBZGRpdGlvbmFsT3B0aW9ucz4vTUFDSElORTpJQTY0IC9OT0RFRkFVTFRMSUIgJShBZGRpdGlvbmFsT3B0aW9ucyk8L0FkZGl0aW9uYWxPcHRpb25zPgorICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpemxpYnN0YXQubGliPC9PdXRwdXRGaWxlPgorICAgICAgPFN1cHByZXNzU3RhcnR1cEJhbm5lcj50cnVlPC9TdXBwcmVzc1N0YXJ0dXBCYW5uZXI+CisgICAgPC9MaWI+CisgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KKyAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPgorICAgIDxNaWRsPgorICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+CisgICAgPC9NaWRsPgorICAgIDxDbENvbXBpbGU+CisgICAgICA8SW5saW5lRnVuY3Rpb25FeHBhbnNpb24+T25seUV4cGxpY2l0SW5saW5lPC9JbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj4KKyAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXC4uXC4uOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+WkxJQl9XSU5BUEk7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX1dBUk5JTkdTO1dJTjY0OyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KKyAgICAgIDxTdHJpbmdQb29saW5nPnRydWU8L1N0cmluZ1Bvb2xpbmc+CisgICAgICA8RXhjZXB0aW9uSGFuZGxpbmc+CisgICAgICA8L0V4Y2VwdGlvbkhhbmRsaW5nPgorICAgICAgPFJ1bnRpbWVMaWJyYXJ5Pk11bHRpVGhyZWFkZWRETEw8L1J1bnRpbWVMaWJyYXJ5PgorICAgICAgPEJ1ZmZlclNlY3VyaXR5Q2hlY2s+ZmFsc2U8L0J1ZmZlclNlY3VyaXR5Q2hlY2s+CisgICAgICA8RnVuY3Rpb25MZXZlbExpbmtpbmc+dHJ1ZTwvRnVuY3Rpb25MZXZlbExpbmtpbmc+CisgICAgICA8UHJlY29tcGlsZWRIZWFkZXJPdXRwdXRGaWxlPiQoSW50RGlyKXpsaWJzdGF0LnBjaDwvUHJlY29tcGlsZWRIZWFkZXJPdXRwdXRGaWxlPgorICAgICAgPEFzc2VtYmxlckxpc3RpbmdMb2NhdGlvbj4kKEludERpcik8L0Fzc2VtYmxlckxpc3RpbmdMb2NhdGlvbj4KKyAgICAgIDxPYmplY3RGaWxlTmFtZT4kKEludERpcik8L09iamVjdEZpbGVOYW1lPgorICAgICAgPFByb2dyYW1EYXRhQmFzZUZpbGVOYW1lPiQoT3V0RGlyKTwvUHJvZ3JhbURhdGFCYXNlRmlsZU5hbWU+CisgICAgICA8V2FybmluZ0xldmVsPkxldmVsMzwvV2FybmluZ0xldmVsPgorICAgICAgPFN1cHByZXNzU3RhcnR1cEJhbm5lcj50cnVlPC9TdXBwcmVzc1N0YXJ0dXBCYW5uZXI+CisgICAgPC9DbENvbXBpbGU+CisgICAgPFJlc291cmNlQ29tcGlsZT4KKyAgICAgIDxDdWx0dXJlPjB4MDQwYzwvQ3VsdHVyZT4KKyAgICA8L1Jlc291cmNlQ29tcGlsZT4KKyAgICA8TGliPgorICAgICAgPEFkZGl0aW9uYWxPcHRpb25zPi9NQUNISU5FOkFNRDY0IC9OT0RFRkFVTFRMSUIgJShBZGRpdGlvbmFsT3B0aW9ucyk8L0FkZGl0aW9uYWxPcHRpb25zPgorICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KKyAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKXpsaWJzdGF0LmxpYjwvT3V0cHV0RmlsZT4KKyAgICAgIDxTdXBwcmVzc1N0YXJ0dXBCYW5uZXI+dHJ1ZTwvU3VwcHJlc3NTdGFydHVwQmFubmVyPgorICAgIDwvTGliPgorICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+CisgIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxJdGFuaXVtJyI+CisgICAgPE1pZGw+CisgICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+SXRhbml1bTwvVGFyZ2V0RW52aXJvbm1lbnQ+CisgICAgPC9NaWRsPgorICAgIDxDbENvbXBpbGU+CisgICAgICA8SW5saW5lRnVuY3Rpb25FeHBhbnNpb24+T25seUV4cGxpY2l0SW5saW5lPC9JbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj4KKyAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXC4uXC4uOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+WkxJQl9XSU5BUEk7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX1dBUk5JTkdTO1dJTjY0OyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KKyAgICAgIDxTdHJpbmdQb29saW5nPnRydWU8L1N0cmluZ1Bvb2xpbmc+CisgICAgICA8RXhjZXB0aW9uSGFuZGxpbmc+CisgICAgICA8L0V4Y2VwdGlvbkhhbmRsaW5nPgorICAgICAgPFJ1bnRpbWVMaWJyYXJ5Pk11bHRpVGhyZWFkZWRETEw8L1J1bnRpbWVMaWJyYXJ5PgorICAgICAgPEJ1ZmZlclNlY3VyaXR5Q2hlY2s+ZmFsc2U8L0J1ZmZlclNlY3VyaXR5Q2hlY2s+CisgICAgICA8RnVuY3Rpb25MZXZlbExpbmtpbmc+dHJ1ZTwvRnVuY3Rpb25MZXZlbExpbmtpbmc+CisgICAgICA8UHJlY29tcGlsZWRIZWFkZXJPdXRwdXRGaWxlPiQoSW50RGlyKXpsaWJzdGF0LnBjaDwvUHJlY29tcGlsZWRIZWFkZXJPdXRwdXRGaWxlPgorICAgICAgPEFzc2VtYmxlckxpc3RpbmdMb2NhdGlvbj4kKEludERpcik8L0Fzc2VtYmxlckxpc3RpbmdMb2NhdGlvbj4KKyAgICAgIDxPYmplY3RGaWxlTmFtZT4kKEludERpcik8L09iamVjdEZpbGVOYW1lPgorICAgICAgPFByb2dyYW1EYXRhQmFzZUZpbGVOYW1lPiQoT3V0RGlyKTwvUHJvZ3JhbURhdGFCYXNlRmlsZU5hbWU+CisgICAgICA8V2FybmluZ0xldmVsPkxldmVsMzwvV2FybmluZ0xldmVsPgorICAgICAgPFN1cHByZXNzU3RhcnR1cEJhbm5lcj50cnVlPC9TdXBwcmVzc1N0YXJ0dXBCYW5uZXI+CisgICAgPC9DbENvbXBpbGU+CisgICAgPFJlc291cmNlQ29tcGlsZT4KKyAgICAgIDxDdWx0dXJlPjB4MDQwYzwvQ3VsdHVyZT4KKyAgICA8L1Jlc291cmNlQ29tcGlsZT4KKyAgICA8TGliPgorICAgICAgPEFkZGl0aW9uYWxPcHRpb25zPi9NQUNISU5FOklBNjQgL05PREVGQVVMVExJQiAlKEFkZGl0aW9uYWxPcHRpb25zKTwvQWRkaXRpb25hbE9wdGlvbnM+CisgICAgICA8T3V0cHV0RmlsZT4kKE91dERpcil6bGlic3RhdC5saWI8L091dHB1dEZpbGU+CisgICAgICA8U3VwcHJlc3NTdGFydHVwQmFubmVyPnRydWU8L1N1cHByZXNzU3RhcnR1cEJhbm5lcj4KKyAgICA8L0xpYj4KKyAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgorICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VXaXRob3V0QXNtfHg2NCciPgorICAgIDxNaWRsPgorICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+CisgICAgPC9NaWRsPgorICAgIDxDbENvbXBpbGU+CisgICAgICA8SW5saW5lRnVuY3Rpb25FeHBhbnNpb24+T25seUV4cGxpY2l0SW5saW5lPC9JbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj4KKyAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXC4uXC4uOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+WkxJQl9XSU5BUEk7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX1dBUk5JTkdTO1dJTjY0OyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KKyAgICAgIDxTdHJpbmdQb29saW5nPnRydWU8L1N0cmluZ1Bvb2xpbmc+CisgICAgICA8RXhjZXB0aW9uSGFuZGxpbmc+CisgICAgICA8L0V4Y2VwdGlvbkhhbmRsaW5nPgorICAgICAgPFJ1bnRpbWVMaWJyYXJ5Pk11bHRpVGhyZWFkZWRETEw8L1J1bnRpbWVMaWJyYXJ5PgorICAgICAgPEJ1ZmZlclNlY3VyaXR5Q2hlY2s+ZmFsc2U8L0J1ZmZlclNlY3VyaXR5Q2hlY2s+CisgICAgICA8RnVuY3Rpb25MZXZlbExpbmtpbmc+dHJ1ZTwvRnVuY3Rpb25MZXZlbExpbmtpbmc+CisgICAgICA8UHJlY29tcGlsZWRIZWFkZXJPdXRwdXRGaWxlPiQoSW50RGlyKXpsaWJzdGF0LnBjaDwvUHJlY29tcGlsZWRIZWFkZXJPdXRwdXRGaWxlPgorICAgICAgPEFzc2VtYmxlckxpc3RpbmdMb2NhdGlvbj4kKEludERpcik8L0Fzc2VtYmxlckxpc3RpbmdMb2NhdGlvbj4KKyAgICAgIDxPYmplY3RGaWxlTmFtZT4kKEludERpcik8L09iamVjdEZpbGVOYW1lPgorICAgICAgPFByb2dyYW1EYXRhQmFzZUZpbGVOYW1lPiQoT3V0RGlyKTwvUHJvZ3JhbURhdGFCYXNlRmlsZU5hbWU+CisgICAgICA8V2FybmluZ0xldmVsPkxldmVsMzwvV2FybmluZ0xldmVsPgorICAgICAgPFN1cHByZXNzU3RhcnR1cEJhbm5lcj50cnVlPC9TdXBwcmVzc1N0YXJ0dXBCYW5uZXI+CisgICAgPC9DbENvbXBpbGU+CisgICAgPFJlc291cmNlQ29tcGlsZT4KKyAgICAgIDxDdWx0dXJlPjB4MDQwYzwvQ3VsdHVyZT4KKyAgICA8L1Jlc291cmNlQ29tcGlsZT4KKyAgICA8TGliPgorICAgICAgPEFkZGl0aW9uYWxPcHRpb25zPi9NQUNISU5FOkFNRDY0IC9OT0RFRkFVTFRMSUIgJShBZGRpdGlvbmFsT3B0aW9ucyk8L0FkZGl0aW9uYWxPcHRpb25zPgorICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpemxpYnN0YXQubGliPC9PdXRwdXRGaWxlPgorICAgICAgPFN1cHByZXNzU3RhcnR1cEJhbm5lcj50cnVlPC9TdXBwcmVzc1N0YXJ0dXBCYW5uZXI+CisgICAgPC9MaWI+CisgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KKyAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlV2l0aG91dEFzbXxJdGFuaXVtJyI+CisgICAgPE1pZGw+CisgICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+SXRhbml1bTwvVGFyZ2V0RW52aXJvbm1lbnQ+CisgICAgPC9NaWRsPgorICAgIDxDbENvbXBpbGU+CisgICAgICA8SW5saW5lRnVuY3Rpb25FeHBhbnNpb24+T25seUV4cGxpY2l0SW5saW5lPC9JbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj4KKyAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXC4uXC4uOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+WkxJQl9XSU5BUEk7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX1dBUk5JTkdTO1dJTjY0OyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KKyAgICAgIDxTdHJpbmdQb29saW5nPnRydWU8L1N0cmluZ1Bvb2xpbmc+CisgICAgICA8RXhjZXB0aW9uSGFuZGxpbmc+CisgICAgICA8L0V4Y2VwdGlvbkhhbmRsaW5nPgorICAgICAgPFJ1bnRpbWVMaWJyYXJ5Pk11bHRpVGhyZWFkZWRETEw8L1J1bnRpbWVMaWJyYXJ5PgorICAgICAgPEJ1ZmZlclNlY3VyaXR5Q2hlY2s+ZmFsc2U8L0J1ZmZlclNlY3VyaXR5Q2hlY2s+CisgICAgICA8RnVuY3Rpb25MZXZlbExpbmtpbmc+dHJ1ZTwvRnVuY3Rpb25MZXZlbExpbmtpbmc+CisgICAgICA8UHJlY29tcGlsZWRIZWFkZXJPdXRwdXRGaWxlPiQoSW50RGlyKXpsaWJzdGF0LnBjaDwvUHJlY29tcGlsZWRIZWFkZXJPdXRwdXRGaWxlPgorICAgICAgPEFzc2VtYmxlckxpc3RpbmdMb2NhdGlvbj4kKEludERpcik8L0Fzc2VtYmxlckxpc3RpbmdMb2NhdGlvbj4KKyAgICAgIDxPYmplY3RGaWxlTmFtZT4kKEludERpcik8L09iamVjdEZpbGVOYW1lPgorICAgICAgPFByb2dyYW1EYXRhQmFzZUZpbGVOYW1lPiQoT3V0RGlyKTwvUHJvZ3JhbURhdGFCYXNlRmlsZU5hbWU+CisgICAgICA8V2FybmluZ0xldmVsPkxldmVsMzwvV2FybmluZ0xldmVsPgorICAgICAgPFN1cHByZXNzU3RhcnR1cEJhbm5lcj50cnVlPC9TdXBwcmVzc1N0YXJ0dXBCYW5uZXI+CisgICAgPC9DbENvbXBpbGU+CisgICAgPFJlc291cmNlQ29tcGlsZT4KKyAgICAgIDxDdWx0dXJlPjB4MDQwYzwvQ3VsdHVyZT4KKyAgICA8L1Jlc291cmNlQ29tcGlsZT4KKyAgICA8TGliPgorICAgICAgPEFkZGl0aW9uYWxPcHRpb25zPi9NQUNISU5FOklBNjQgL05PREVGQVVMVExJQiAlKEFkZGl0aW9uYWxPcHRpb25zKTwvQWRkaXRpb25hbE9wdGlvbnM+CisgICAgICA8T3V0cHV0RmlsZT4kKE91dERpcil6bGlic3RhdC5saWI8L091dHB1dEZpbGU+CisgICAgICA8U3VwcHJlc3NTdGFydHVwQmFubmVyPnRydWU8L1N1cHByZXNzU3RhcnR1cEJhbm5lcj4KKyAgICA8L0xpYj4KKyAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgorICA8SXRlbUdyb3VwPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5cYWRsZXIzMi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5cY29tcHJlc3MuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXC4uXGNyYzMyLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlwuLlxkZWZsYXRlLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlwuLlxnemNsb3NlLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlwuLlxnemxpYi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5cZ3pyZWFkLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlwuLlxnendyaXRlLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlwuLlxpbmZiYWNrLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlwuLlxpbmZmYXN0LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlwuLlxpbmZsYXRlLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlwuLlxpbmZ0cmVlcy5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cbWluaXppcFxpb2FwaS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5cdHJlZXMuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXC4uXHVuY29tcHIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXG1pbml6aXBcdW56aXAuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXG1pbml6aXBcemlwLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlwuLlx6dXRpbC5jIiAvPgorICA8L0l0ZW1Hcm91cD4KKyAgPEl0ZW1Hcm91cD4KKyAgICA8UmVzb3VyY2VDb21waWxlIEluY2x1ZGU9InpsaWIucmMiIC8+CisgIDwvSXRlbUdyb3VwPgorICA8SXRlbUdyb3VwPgorICAgIDxOb25lIEluY2x1ZGU9InpsaWJ2Yy5kZWYiIC8+CisgIDwvSXRlbUdyb3VwPgorICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC50YXJnZXRzIiAvPgorICA8SW1wb3J0R3JvdXAgTGFiZWw9IkV4dGVuc2lvblRhcmdldHMiPgorICA8L0ltcG9ydEdyb3VwPgorPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3NyYy9jb250cmliL3ZzdHVkaW8vdmMxMi96bGlidmMuZGVmIGIvc3JjL2NvbnRyaWIvdnN0dWRpby92YzEyL3psaWJ2Yy5kZWYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmEwOWJjMQotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9jb250cmliL3ZzdHVkaW8vdmMxMi96bGlidmMuZGVmCkBAIC0wLDAgKzEsMTU4IEBACitMSUJSQVJZDQorOyB6bGliIGRhdGEgY29tcHJlc3Npb24gYW5kIFpJUCBmaWxlIEkvTyBsaWJyYXJ5DQorDQorVkVSU0lPTgkJMS4yDQorDQorRVhQT1JUUw0KKyAgICAgICAgYWRsZXIzMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAMQ0KKyAgICAgICAgY29tcHJlc3MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAMg0KKyAgICAgICAgY3JjMzIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAMw0KKyAgICAgICAgZGVmbGF0ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBANA0KKyAgICAgICAgZGVmbGF0ZUNvcHkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBANQ0KKyAgICAgICAgZGVmbGF0ZUVuZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBANg0KKyAgICAgICAgZGVmbGF0ZUluaXQyXyAgICAgICAgICAgICAgICAgICAgICAgICAgICBANw0KKyAgICAgICAgZGVmbGF0ZUluaXRfICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAOA0KKyAgICAgICAgZGVmbGF0ZVBhcmFtcyAgICAgICAgICAgICAgICAgICAgICAgICAgICBAOQ0KKyAgICAgICAgZGVmbGF0ZVJlc2V0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAMTANCisgICAgICAgIGRlZmxhdGVTZXREaWN0aW9uYXJ5ICAgICAgICAgICAgICAgICAgICAgQDExDQorICAgICAgICBnemNsb3NlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEAxMg0KKyAgICAgICAgZ3pkb3BlbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAMTMNCisgICAgICAgIGd6ZXJyb3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQDE0DQorICAgICAgICBnemZsdXNoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEAxNQ0KKyAgICAgICAgZ3pvcGVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAMTYNCisgICAgICAgIGd6cmVhZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQDE3DQorICAgICAgICBnendyaXRlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEAxOA0KKyAgICAgICAgaW5mbGF0ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAMTkNCisgICAgICAgIGluZmxhdGVFbmQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQDIwDQorICAgICAgICBpbmZsYXRlSW5pdDJfICAgICAgICAgICAgICAgICAgICAgICAgICAgIEAyMQ0KKyAgICAgICAgaW5mbGF0ZUluaXRfICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAMjINCisgICAgICAgIGluZmxhdGVSZXNldCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQDIzDQorICAgICAgICBpbmZsYXRlU2V0RGljdGlvbmFyeSAgICAgICAgICAgICAgICAgICAgIEAyNA0KKyAgICAgICAgaW5mbGF0ZVN5bmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAMjUNCisgICAgICAgIHVuY29tcHJlc3MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQDI2DQorICAgICAgICB6bGliVmVyc2lvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEAyNw0KKyAgICAgICAgZ3pwcmludGYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAMjgNCisgICAgICAgIGd6cHV0YyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQDI5DQorICAgICAgICBnemdldGMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEAzMA0KKyAgICAgICAgZ3pzZWVrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAMzENCisgICAgICAgIGd6cmV3aW5kICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQDMyDQorICAgICAgICBnenRlbGwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEAzMw0KKyAgICAgICAgZ3plb2YgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAMzQNCisgICAgICAgIGd6c2V0cGFyYW1zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQDM1DQorICAgICAgICB6RXJyb3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEAzNg0KKyAgICAgICAgaW5mbGF0ZVN5bmNQb2ludCAgICAgICAgICAgICAgICAgICAgICAgICBAMzcNCisgICAgICAgIGdldF9jcmNfdGFibGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgQDM4DQorICAgICAgICBjb21wcmVzczIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEAzOQ0KKyAgICAgICAgZ3pwdXRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBANDANCisgICAgICAgIGd6Z2V0cyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQDQxDQorICAgICAgICBpbmZsYXRlQ29weSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEA0Mg0KKyAgICAgICAgaW5mbGF0ZUJhY2tJbml0XyAgICAgICAgICAgICAgICAgICAgICAgICBANDMNCisgICAgICAgIGluZmxhdGVCYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQDQ0DQorICAgICAgICBpbmZsYXRlQmFja0VuZCAgICAgICAgICAgICAgICAgICAgICAgICAgIEA0NQ0KKyAgICAgICAgY29tcHJlc3NCb3VuZCAgICAgICAgICAgICAgICAgICAgICAgICAgICBANDYNCisgICAgICAgIGRlZmxhdGVCb3VuZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQDQ3DQorICAgICAgICBnemNsZWFyZXJyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEA0OA0KKyAgICAgICAgZ3p1bmdldGMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBANDkNCisgICAgICAgIHpsaWJDb21waWxlRmxhZ3MgICAgICAgICAgICAgICAgICAgICAgICAgQDUwDQorICAgICAgICBkZWZsYXRlUHJpbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEA1MQ0KKyAgICAgICAgZGVmbGF0ZVBlbmRpbmcgICAgICAgICAgICAgICAgICAgICAgICAgICBANTINCisNCisgICAgICAgIHVuek9wZW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQDYxDQorICAgICAgICB1bnpDbG9zZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEA2Mg0KKyAgICAgICAgdW56R2V0R2xvYmFsSW5mbyAgICAgICAgICAgICAgICAgICAgICAgICBANjMNCisgICAgICAgIHVuekdldEN1cnJlbnRGaWxlSW5mbyAgICAgICAgICAgICAgICAgICAgQDY0DQorICAgICAgICB1bnpHb1RvRmlyc3RGaWxlICAgICAgICAgICAgICAgICAgICAgICAgIEA2NQ0KKyAgICAgICAgdW56R29Ub05leHRGaWxlICAgICAgICAgICAgICAgICAgICAgICAgICBANjYNCisgICAgICAgIHVuek9wZW5DdXJyZW50RmlsZSAgICAgICAgICAgICAgICAgICAgICAgQDY3DQorICAgICAgICB1bnpSZWFkQ3VycmVudEZpbGUgICAgICAgICAgICAgICAgICAgICAgIEA2OA0KKyAgICAgICAgdW56T3BlbkN1cnJlbnRGaWxlMyAgICAgICAgICAgICAgICAgICAgICBANjkNCisgICAgICAgIHVuenRlbGwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQDcwDQorICAgICAgICB1bnplb2YgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEA3MQ0KKyAgICAgICAgdW56Q2xvc2VDdXJyZW50RmlsZSAgICAgICAgICAgICAgICAgICAgICBANzINCisgICAgICAgIHVuekdldEdsb2JhbENvbW1lbnQgICAgICAgICAgICAgICAgICAgICAgQDczDQorICAgICAgICB1bnpTdHJpbmdGaWxlTmFtZUNvbXBhcmUgICAgICAgICAgICAgICAgIEA3NA0KKyAgICAgICAgdW56TG9jYXRlRmlsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICBANzUNCisgICAgICAgIHVuekdldExvY2FsRXh0cmFmaWVsZCAgICAgICAgICAgICAgICAgICAgQDc2DQorICAgICAgICB1bnpPcGVuMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEA3Nw0KKyAgICAgICAgdW56T3BlbkN1cnJlbnRGaWxlMiAgICAgICAgICAgICAgICAgICAgICBANzgNCisgICAgICAgIHVuek9wZW5DdXJyZW50RmlsZVBhc3N3b3JkICAgICAgICAgICAgICAgQDc5DQorDQorICAgICAgICB6aXBPcGVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEA4MA0KKyAgICAgICAgemlwT3Blbk5ld0ZpbGVJblppcCAgICAgICAgICAgICAgICAgICAgICBAODENCisgICAgICAgIHppcFdyaXRlSW5GaWxlSW5aaXAgICAgICAgICAgICAgICAgICAgICAgQDgyDQorICAgICAgICB6aXBDbG9zZUZpbGVJblppcCAgICAgICAgICAgICAgICAgICAgICAgIEA4Mw0KKyAgICAgICAgemlwQ2xvc2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAODQNCisgICAgICAgIHppcE9wZW5OZXdGaWxlSW5aaXAyICAgICAgICAgICAgICAgICAgICAgQDg2DQorICAgICAgICB6aXBDbG9zZUZpbGVJblppcFJhdyAgICAgICAgICAgICAgICAgICAgIEA4Nw0KKyAgICAgICAgemlwT3BlbjIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAODgNCisgICAgICAgIHppcE9wZW5OZXdGaWxlSW5aaXAzICAgICAgICAgICAgICAgICAgICAgQDg5DQorDQorICAgICAgICB1bnpHZXRGaWxlUG9zICAgICAgICAgICAgICAgICAgICAgICAgICAgIEAxMDANCisgICAgICAgIHVuekdvVG9GaWxlUG9zICAgICAgICAgICAgICAgICAgICAgICAgICAgQDEwMQ0KKw0KKyAgICAgICAgZmlsbF93aW4zMl9maWxlZnVuYyAgICAgICAgICAgICAgICAgICAgICBAMTEwDQorDQorOyB6bGlid2FwaSB2MS4yLjQgYWRkZWQ6DQorICAgICAgICBmaWxsX3dpbjMyX2ZpbGVmdW5jNjQgICAgICAgICAgICAgICAgICAgQDExMQ0KKyAgICAgICAgZmlsbF93aW4zMl9maWxlZnVuYzY0QSAgICAgICAgICAgICAgICAgIEAxMTINCisgICAgICAgIGZpbGxfd2luMzJfZmlsZWZ1bmM2NFcgICAgICAgICAgICAgICAgICBAMTEzDQorDQorICAgICAgICB1bnpPcGVuNjQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQDEyMA0KKyAgICAgICAgdW56T3BlbjJfNjQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEAxMjENCisgICAgICAgIHVuekdldEdsb2JhbEluZm82NCAgICAgICAgICAgICAgICAgICAgICBAMTIyDQorICAgICAgICB1bnpHZXRDdXJyZW50RmlsZUluZm82NCAgICAgICAgICAgICAgICAgQDEyNA0KKyAgICAgICAgdW56R2V0Q3VycmVudEZpbGVaU3RyZWFtUG9zNjQgICAgICAgICAgIEAxMjUNCisgICAgICAgIHVuenRlbGw2NCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAMTI2DQorICAgICAgICB1bnpHZXRGaWxlUG9zNjQgICAgICAgICAgICAgICAgICAgICAgICAgQDEyNw0KKyAgICAgICAgdW56R29Ub0ZpbGVQb3M2NCAgICAgICAgICAgICAgICAgICAgICAgIEAxMjgNCisNCisgICAgICAgIHppcE9wZW42NCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAMTMwDQorICAgICAgICB6aXBPcGVuMl82NCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQDEzMQ0KKyAgICAgICAgemlwT3Blbk5ld0ZpbGVJblppcDY0ICAgICAgICAgICAgICAgICAgIEAxMzINCisgICAgICAgIHppcE9wZW5OZXdGaWxlSW5aaXAyXzY0ICAgICAgICAgICAgICAgICBAMTMzDQorICAgICAgICB6aXBPcGVuTmV3RmlsZUluWmlwM182NCAgICAgICAgICAgICAgICAgQDEzNA0KKyAgICAgICAgemlwT3Blbk5ld0ZpbGVJblppcDRfNjQgICAgICAgICAgICAgICAgIEAxMzUNCisgICAgICAgIHppcENsb3NlRmlsZUluWmlwUmF3NjQgICAgICAgICAgICAgICAgICBAMTM2DQorDQorOyB6bGliMSB2MS4yLjQgYWRkZWQ6DQorICAgICAgICBhZGxlcjMyX2NvbWJpbmUgICAgICAgICAgICAgICAgICAgICAgICAgQDE0MA0KKyAgICAgICAgY3JjMzJfY29tYmluZSAgICAgICAgICAgICAgICAgICAgICAgICAgIEAxNDINCisgICAgICAgIGRlZmxhdGVTZXRIZWFkZXIgICAgICAgICAgICAgICAgICAgICAgICBAMTQ0DQorICAgICAgICBkZWZsYXRlVHVuZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQDE0NQ0KKyAgICAgICAgZ3pidWZmZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEAxNDYNCisgICAgICAgIGd6Y2xvc2VfciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAMTQ3DQorICAgICAgICBnemNsb3NlX3cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQDE0OA0KKyAgICAgICAgZ3pkaXJlY3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEAxNDkNCisgICAgICAgIGd6b2Zmc2V0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAMTUwDQorICAgICAgICBpbmZsYXRlR2V0SGVhZGVyICAgICAgICAgICAgICAgICAgICAgICAgQDE1Ng0KKyAgICAgICAgaW5mbGF0ZU1hcmsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEAxNTcNCisgICAgICAgIGluZmxhdGVQcmltZSAgICAgICAgICAgICAgICAgICAgICAgICAgICBAMTU4DQorICAgICAgICBpbmZsYXRlUmVzZXQyICAgICAgICAgICAgICAgICAgICAgICAgICAgQDE1OQ0KKyAgICAgICAgaW5mbGF0ZVVuZGVybWluZSAgICAgICAgICAgICAgICAgICAgICAgIEAxNjANCisNCis7IHpsaWIxIHYxLjIuNiBhZGRlZDoNCisgICAgICAgIGd6Z2V0Y18gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAMTYxDQorICAgICAgICBpbmZsYXRlUmVzZXRLZWVwICAgICAgICAgICAgICAgICAgICAgICAgQDE2Mw0KKyAgICAgICAgZGVmbGF0ZVJlc2V0S2VlcCAgICAgICAgICAgICAgICAgICAgICAgIEAxNjQNCisNCis7IHpsaWIxIHYxLjIuNyBhZGRlZDoNCisgICAgICAgIGd6b3Blbl93ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAMTY1DQorDQorOyB6bGliMSB2MS4yLjggYWRkZWQ6DQorICAgICAgICBpbmZsYXRlR2V0RGljdGlvbmFyeSAgICAgICAgICAgICAgICAgICAgQDE2Ng0KKyAgICAgICAgZ3p2cHJpbnRmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEAxNjcNCisNCis7IHpsaWIxIHYxLjIuOSBhZGRlZDoNCisgICAgICAgIGluZmxhdGVDb2Rlc1VzZWQgICAgICAgICAgICAgICAgICAgICAgICBAMTY4DQorICAgICAgICBpbmZsYXRlVmFsaWRhdGUgICAgICAgICAgICAgICAgICAgICAgICAgQDE2OQ0KKyAgICAgICAgdW5jb21wcmVzczIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEAxNzANCisgICAgICAgIGd6ZnJlYWQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAMTcxDQorICAgICAgICBnemZ3cml0ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQDE3Mg0KKyAgICAgICAgZGVmbGF0ZUdldERpY3Rpb25hcnkgICAgICAgICAgICAgICAgICAgIEAxNzMNCisgICAgICAgIGFkbGVyMzJfeiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAMTc0DQorICAgICAgICBjcmMzMl96ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQDE3NQ0KKw0KKzsgemxpYjEgdjEuMi4xMiBhZGRlZDoNCisJCWNyYzMyX2NvbWJpbmVfZ2VuCQkJCQkJQDE3Ng0KKwkJY3JjMzJfY29tYmluZV9nZW42NAkJCQkJCUAxNzcNCisJCWNyYzMyX2NvbWJpbmVfb3AJCQkJCQlAMTc4DQpkaWZmIC0tZ2l0IGEvc3JjL2NvbnRyaWIvdnN0dWRpby92YzEyL3psaWJ2Yy5zbG4gYi9zcmMvY29udHJpYi92c3R1ZGlvL3ZjMTIvemxpYnZjLnNsbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kY2RhMjI5Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjL2NvbnRyaWIvdnN0dWRpby92YzEyL3psaWJ2Yy5zbG4KQEAgLTAsMCArMSwxMTkgQEAKK++7vworTWljcm9zb2Z0IFZpc3VhbCBTdHVkaW8gU29sdXRpb24gRmlsZSwgRm9ybWF0IFZlcnNpb24gMTIuMDAKKyMgVmlzdWFsIFN0dWRpbyAyMDEzCitWaXN1YWxTdHVkaW9WZXJzaW9uID0gMTIuMC40MDYyOS4wCitNaW5pbXVtVmlzdWFsU3R1ZGlvVmVyc2lvbiA9IDEwLjAuNDAyMTkuMQorUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJ6bGlidmMiLCAiemxpYnZjLnZjeHByb2oiLCAiezhGRDgyNkY4LTM3MzktNDRFNi04Q0M4LTk5NzEyMkU1M0I4RH0iCitFbmRQcm9qZWN0CitQcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gInpsaWJzdGF0IiwgInpsaWJzdGF0LnZjeHByb2oiLCAiezc0NURFQzU4LUVCQjMtNDdBOS1BOUI4LTRDNjYyN0MwMUJGOH0iCitFbmRQcm9qZWN0CitQcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gInRlc3R6bGliIiwgInRlc3R6bGliLnZjeHByb2oiLCAie0FBNjY2NkFBLUUwOUYtNDEzNS05QzBDLTRGRTUwQzNDNjU0Qn0iCitFbmRQcm9qZWN0CitQcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gInRlc3R6bGliZGxsIiwgInRlc3R6bGliZGxsLnZjeHByb2oiLCAie0M1MkY5RTdCLTQ5OEEtNDJCRS04REI0LTg1QTE1Njk0MzY2QX0iCitFbmRQcm9qZWN0CitQcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gIm1pbml6aXAiLCAibWluaXppcC52Y3hwcm9qIiwgIns0OENERDlEQy1FMDlGLTQxMzUtOUMwQy00RkU1MEMzQzY1NEJ9IgorRW5kUHJvamVjdAorUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJtaW5pdW56IiwgIm1pbml1bnoudmN4cHJvaiIsICJ7QzUyRjlFN0ItNDk4QS00MkJFLThEQjQtODVBMTU2OTQzODJBfSIKK0VuZFByb2plY3QKK0dsb2JhbAorCUdsb2JhbFNlY3Rpb24oU29sdXRpb25Db25maWd1cmF0aW9uUGxhdGZvcm1zKSA9IHByZVNvbHV0aW9uCisJCURlYnVnfEl0YW5pdW0gPSBEZWJ1Z3xJdGFuaXVtCisJCURlYnVnfFdpbjMyID0gRGVidWd8V2luMzIKKwkJRGVidWd8eDY0ID0gRGVidWd8eDY0CisJCVJlbGVhc2V8SXRhbml1bSA9IFJlbGVhc2V8SXRhbml1bQorCQlSZWxlYXNlfFdpbjMyID0gUmVsZWFzZXxXaW4zMgorCQlSZWxlYXNlfHg2NCA9IFJlbGVhc2V8eDY0CisJCVJlbGVhc2VXaXRob3V0QXNtfEl0YW5pdW0gPSBSZWxlYXNlV2l0aG91dEFzbXxJdGFuaXVtCisJCVJlbGVhc2VXaXRob3V0QXNtfFdpbjMyID0gUmVsZWFzZVdpdGhvdXRBc218V2luMzIKKwkJUmVsZWFzZVdpdGhvdXRBc218eDY0ID0gUmVsZWFzZVdpdGhvdXRBc218eDY0CisJRW5kR2xvYmFsU2VjdGlvbgorCUdsb2JhbFNlY3Rpb24oUHJvamVjdENvbmZpZ3VyYXRpb25QbGF0Zm9ybXMpID0gcG9zdFNvbHV0aW9uCisJCXs4RkQ4MjZGOC0zNzM5LTQ0RTYtOENDOC05OTcxMjJFNTNCOER9LkRlYnVnfEl0YW5pdW0uQWN0aXZlQ2ZnID0gRGVidWd8V2luMzIKKwkJezhGRDgyNkY4LTM3MzktNDRFNi04Q0M4LTk5NzEyMkU1M0I4RH0uRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gRGVidWd8V2luMzIKKwkJezhGRDgyNkY4LTM3MzktNDRFNi04Q0M4LTk5NzEyMkU1M0I4RH0uRGVidWd8V2luMzIuQnVpbGQuMCA9IERlYnVnfFdpbjMyCisJCXs4RkQ4MjZGOC0zNzM5LTQ0RTYtOENDOC05OTcxMjJFNTNCOER9LkRlYnVnfHg2NC5BY3RpdmVDZmcgPSBEZWJ1Z3x4NjQKKwkJezhGRDgyNkY4LTM3MzktNDRFNi04Q0M4LTk5NzEyMkU1M0I4RH0uRGVidWd8eDY0LkJ1aWxkLjAgPSBEZWJ1Z3x4NjQKKwkJezhGRDgyNkY4LTM3MzktNDRFNi04Q0M4LTk5NzEyMkU1M0I4RH0uUmVsZWFzZXxJdGFuaXVtLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzIKKwkJezhGRDgyNkY4LTM3MzktNDRFNi04Q0M4LTk5NzEyMkU1M0I4RH0uUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyCisJCXs4RkQ4MjZGOC0zNzM5LTQ0RTYtOENDOC05OTcxMjJFNTNCOER9LlJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzIKKwkJezhGRDgyNkY4LTM3MzktNDRFNi04Q0M4LTk5NzEyMkU1M0I4RH0uUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQKKwkJezhGRDgyNkY4LTM3MzktNDRFNi04Q0M4LTk5NzEyMkU1M0I4RH0uUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8eDY0CisJCXs4RkQ4MjZGOC0zNzM5LTQ0RTYtOENDOC05OTcxMjJFNTNCOER9LlJlbGVhc2VXaXRob3V0QXNtfEl0YW5pdW0uQWN0aXZlQ2ZnID0gUmVsZWFzZVdpdGhvdXRBc218V2luMzIKKwkJezhGRDgyNkY4LTM3MzktNDRFNi04Q0M4LTk5NzEyMkU1M0I4RH0uUmVsZWFzZVdpdGhvdXRBc218V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZVdpdGhvdXRBc218V2luMzIKKwkJezhGRDgyNkY4LTM3MzktNDRFNi04Q0M4LTk5NzEyMkU1M0I4RH0uUmVsZWFzZVdpdGhvdXRBc218V2luMzIuQnVpbGQuMCA9IFJlbGVhc2VXaXRob3V0QXNtfFdpbjMyCisJCXs4RkQ4MjZGOC0zNzM5LTQ0RTYtOENDOC05OTcxMjJFNTNCOER9LlJlbGVhc2VXaXRob3V0QXNtfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlV2l0aG91dEFzbXx4NjQKKwkJezhGRDgyNkY4LTM3MzktNDRFNi04Q0M4LTk5NzEyMkU1M0I4RH0uUmVsZWFzZVdpdGhvdXRBc218eDY0LkJ1aWxkLjAgPSBSZWxlYXNlV2l0aG91dEFzbXx4NjQKKwkJezc0NURFQzU4LUVCQjMtNDdBOS1BOUI4LTRDNjYyN0MwMUJGOH0uRGVidWd8SXRhbml1bS5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMgorCQl7NzQ1REVDNTgtRUJCMy00N0E5LUE5QjgtNEM2NjI3QzAxQkY4fS5EZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMgorCQl7NzQ1REVDNTgtRUJCMy00N0E5LUE5QjgtNEM2NjI3QzAxQkY4fS5EZWJ1Z3xXaW4zMi5CdWlsZC4wID0gRGVidWd8V2luMzIKKwkJezc0NURFQzU4LUVCQjMtNDdBOS1BOUI4LTRDNjYyN0MwMUJGOH0uRGVidWd8eDY0LkFjdGl2ZUNmZyA9IERlYnVnfHg2NAorCQl7NzQ1REVDNTgtRUJCMy00N0E5LUE5QjgtNEM2NjI3QzAxQkY4fS5EZWJ1Z3x4NjQuQnVpbGQuMCA9IERlYnVnfHg2NAorCQl7NzQ1REVDNTgtRUJCMy00N0E5LUE5QjgtNEM2NjI3QzAxQkY4fS5SZWxlYXNlfEl0YW5pdW0uQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMgorCQl7NzQ1REVDNTgtRUJCMy00N0E5LUE5QjgtNEM2NjI3QzAxQkY4fS5SZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzIKKwkJezc0NURFQzU4LUVCQjMtNDdBOS1BOUI4LTRDNjYyN0MwMUJGOH0uUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMgorCQl7NzQ1REVDNTgtRUJCMy00N0E5LUE5QjgtNEM2NjI3QzAxQkY4fS5SZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NAorCQl7NzQ1REVDNTgtRUJCMy00N0E5LUE5QjgtNEM2NjI3QzAxQkY4fS5SZWxlYXNlfHg2NC5CdWlsZC4wID0gUmVsZWFzZXx4NjQKKwkJezc0NURFQzU4LUVCQjMtNDdBOS1BOUI4LTRDNjYyN0MwMUJGOH0uUmVsZWFzZVdpdGhvdXRBc218SXRhbml1bS5BY3RpdmVDZmcgPSBSZWxlYXNlV2l0aG91dEFzbXxXaW4zMgorCQl7NzQ1REVDNTgtRUJCMy00N0E5LUE5QjgtNEM2NjI3QzAxQkY4fS5SZWxlYXNlV2l0aG91dEFzbXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlV2l0aG91dEFzbXxXaW4zMgorCQl7NzQ1REVDNTgtRUJCMy00N0E5LUE5QjgtNEM2NjI3QzAxQkY4fS5SZWxlYXNlV2l0aG91dEFzbXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZVdpdGhvdXRBc218V2luMzIKKwkJezc0NURFQzU4LUVCQjMtNDdBOS1BOUI4LTRDNjYyN0MwMUJGOH0uUmVsZWFzZVdpdGhvdXRBc218eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2VXaXRob3V0QXNtfHg2NAorCQl7NzQ1REVDNTgtRUJCMy00N0E5LUE5QjgtNEM2NjI3QzAxQkY4fS5SZWxlYXNlV2l0aG91dEFzbXx4NjQuQnVpbGQuMCA9IFJlbGVhc2VXaXRob3V0QXNtfHg2NAorCQl7QUE2NjY2QUEtRTA5Ri00MTM1LTlDMEMtNEZFNTBDM0M2NTRCfS5EZWJ1Z3xJdGFuaXVtLkFjdGl2ZUNmZyA9IERlYnVnfFdpbjMyCisJCXtBQTY2NjZBQS1FMDlGLTQxMzUtOUMwQy00RkU1MEMzQzY1NEJ9LkRlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IERlYnVnfFdpbjMyCisJCXtBQTY2NjZBQS1FMDlGLTQxMzUtOUMwQy00RkU1MEMzQzY1NEJ9LkRlYnVnfFdpbjMyLkJ1aWxkLjAgPSBEZWJ1Z3xXaW4zMgorCQl7QUE2NjY2QUEtRTA5Ri00MTM1LTlDMEMtNEZFNTBDM0M2NTRCfS5EZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gRGVidWd8eDY0CisJCXtBQTY2NjZBQS1FMDlGLTQxMzUtOUMwQy00RkU1MEMzQzY1NEJ9LkRlYnVnfHg2NC5CdWlsZC4wID0gRGVidWd8eDY0CisJCXtBQTY2NjZBQS1FMDlGLTQxMzUtOUMwQy00RkU1MEMzQzY1NEJ9LlJlbGVhc2V8SXRhbml1bS5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyCisJCXtBQTY2NjZBQS1FMDlGLTQxMzUtOUMwQy00RkU1MEMzQzY1NEJ9LlJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMgorCQl7QUE2NjY2QUEtRTA5Ri00MTM1LTlDMEMtNEZFNTBDM0M2NTRCfS5SZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyCisJCXtBQTY2NjZBQS1FMDlGLTQxMzUtOUMwQy00RkU1MEMzQzY1NEJ9LlJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0CisJCXtBQTY2NjZBQS1FMDlGLTQxMzUtOUMwQy00RkU1MEMzQzY1NEJ9LlJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfHg2NAorCQl7QUE2NjY2QUEtRTA5Ri00MTM1LTlDMEMtNEZFNTBDM0M2NTRCfS5SZWxlYXNlV2l0aG91dEFzbXxJdGFuaXVtLkFjdGl2ZUNmZyA9IFJlbGVhc2VXaXRob3V0QXNtfFdpbjMyCisJCXtBQTY2NjZBQS1FMDlGLTQxMzUtOUMwQy00RkU1MEMzQzY1NEJ9LlJlbGVhc2VXaXRob3V0QXNtfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2VXaXRob3V0QXNtfFdpbjMyCisJCXtBQTY2NjZBQS1FMDlGLTQxMzUtOUMwQy00RkU1MEMzQzY1NEJ9LlJlbGVhc2VXaXRob3V0QXNtfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlV2l0aG91dEFzbXxXaW4zMgorCQl7QUE2NjY2QUEtRTA5Ri00MTM1LTlDMEMtNEZFNTBDM0M2NTRCfS5SZWxlYXNlV2l0aG91dEFzbXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZVdpdGhvdXRBc218eDY0CisJCXtBQTY2NjZBQS1FMDlGLTQxMzUtOUMwQy00RkU1MEMzQzY1NEJ9LlJlbGVhc2VXaXRob3V0QXNtfHg2NC5CdWlsZC4wID0gUmVsZWFzZVdpdGhvdXRBc218eDY0CisJCXtDNTJGOUU3Qi00OThBLTQyQkUtOERCNC04NUExNTY5NDM2NkF9LkRlYnVnfEl0YW5pdW0uQWN0aXZlQ2ZnID0gRGVidWd8V2luMzIKKwkJe0M1MkY5RTdCLTQ5OEEtNDJCRS04REI0LTg1QTE1Njk0MzY2QX0uRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gRGVidWd8V2luMzIKKwkJe0M1MkY5RTdCLTQ5OEEtNDJCRS04REI0LTg1QTE1Njk0MzY2QX0uRGVidWd8V2luMzIuQnVpbGQuMCA9IERlYnVnfFdpbjMyCisJCXtDNTJGOUU3Qi00OThBLTQyQkUtOERCNC04NUExNTY5NDM2NkF9LkRlYnVnfHg2NC5BY3RpdmVDZmcgPSBEZWJ1Z3x4NjQKKwkJe0M1MkY5RTdCLTQ5OEEtNDJCRS04REI0LTg1QTE1Njk0MzY2QX0uRGVidWd8eDY0LkJ1aWxkLjAgPSBEZWJ1Z3x4NjQKKwkJe0M1MkY5RTdCLTQ5OEEtNDJCRS04REI0LTg1QTE1Njk0MzY2QX0uUmVsZWFzZXxJdGFuaXVtLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzIKKwkJe0M1MkY5RTdCLTQ5OEEtNDJCRS04REI0LTg1QTE1Njk0MzY2QX0uUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyCisJCXtDNTJGOUU3Qi00OThBLTQyQkUtOERCNC04NUExNTY5NDM2NkF9LlJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzIKKwkJe0M1MkY5RTdCLTQ5OEEtNDJCRS04REI0LTg1QTE1Njk0MzY2QX0uUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQKKwkJe0M1MkY5RTdCLTQ5OEEtNDJCRS04REI0LTg1QTE1Njk0MzY2QX0uUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8eDY0CisJCXtDNTJGOUU3Qi00OThBLTQyQkUtOERCNC04NUExNTY5NDM2NkF9LlJlbGVhc2VXaXRob3V0QXNtfEl0YW5pdW0uQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMgorCQl7QzUyRjlFN0ItNDk4QS00MkJFLThEQjQtODVBMTU2OTQzNjZBfS5SZWxlYXNlV2l0aG91dEFzbXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyCisJCXtDNTJGOUU3Qi00OThBLTQyQkUtOERCNC04NUExNTY5NDM2NkF9LlJlbGVhc2VXaXRob3V0QXNtfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NAorCQl7NDhDREQ5REMtRTA5Ri00MTM1LTlDMEMtNEZFNTBDM0M2NTRCfS5EZWJ1Z3xJdGFuaXVtLkFjdGl2ZUNmZyA9IERlYnVnfFdpbjMyCisJCXs0OENERDlEQy1FMDlGLTQxMzUtOUMwQy00RkU1MEMzQzY1NEJ9LkRlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IERlYnVnfFdpbjMyCisJCXs0OENERDlEQy1FMDlGLTQxMzUtOUMwQy00RkU1MEMzQzY1NEJ9LkRlYnVnfFdpbjMyLkJ1aWxkLjAgPSBEZWJ1Z3xXaW4zMgorCQl7NDhDREQ5REMtRTA5Ri00MTM1LTlDMEMtNEZFNTBDM0M2NTRCfS5EZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gRGVidWd8eDY0CisJCXs0OENERDlEQy1FMDlGLTQxMzUtOUMwQy00RkU1MEMzQzY1NEJ9LkRlYnVnfHg2NC5CdWlsZC4wID0gRGVidWd8eDY0CisJCXs0OENERDlEQy1FMDlGLTQxMzUtOUMwQy00RkU1MEMzQzY1NEJ9LlJlbGVhc2V8SXRhbml1bS5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyCisJCXs0OENERDlEQy1FMDlGLTQxMzUtOUMwQy00RkU1MEMzQzY1NEJ9LlJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMgorCQl7NDhDREQ5REMtRTA5Ri00MTM1LTlDMEMtNEZFNTBDM0M2NTRCfS5SZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyCisJCXs0OENERDlEQy1FMDlGLTQxMzUtOUMwQy00RkU1MEMzQzY1NEJ9LlJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0CisJCXs0OENERDlEQy1FMDlGLTQxMzUtOUMwQy00RkU1MEMzQzY1NEJ9LlJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfHg2NAorCQl7NDhDREQ5REMtRTA5Ri00MTM1LTlDMEMtNEZFNTBDM0M2NTRCfS5SZWxlYXNlV2l0aG91dEFzbXxJdGFuaXVtLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzIKKwkJezQ4Q0REOURDLUUwOUYtNDEzNS05QzBDLTRGRTUwQzNDNjU0Qn0uUmVsZWFzZVdpdGhvdXRBc218V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMgorCQl7NDhDREQ5REMtRTA5Ri00MTM1LTlDMEMtNEZFNTBDM0M2NTRCfS5SZWxlYXNlV2l0aG91dEFzbXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQKKwkJe0M1MkY5RTdCLTQ5OEEtNDJCRS04REI0LTg1QTE1Njk0MzgyQX0uRGVidWd8SXRhbml1bS5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMgorCQl7QzUyRjlFN0ItNDk4QS00MkJFLThEQjQtODVBMTU2OTQzODJBfS5EZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMgorCQl7QzUyRjlFN0ItNDk4QS00MkJFLThEQjQtODVBMTU2OTQzODJBfS5EZWJ1Z3xXaW4zMi5CdWlsZC4wID0gRGVidWd8V2luMzIKKwkJe0M1MkY5RTdCLTQ5OEEtNDJCRS04REI0LTg1QTE1Njk0MzgyQX0uRGVidWd8eDY0LkFjdGl2ZUNmZyA9IERlYnVnfHg2NAorCQl7QzUyRjlFN0ItNDk4QS00MkJFLThEQjQtODVBMTU2OTQzODJBfS5EZWJ1Z3x4NjQuQnVpbGQuMCA9IERlYnVnfHg2NAorCQl7QzUyRjlFN0ItNDk4QS00MkJFLThEQjQtODVBMTU2OTQzODJBfS5SZWxlYXNlfEl0YW5pdW0uQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMgorCQl7QzUyRjlFN0ItNDk4QS00MkJFLThEQjQtODVBMTU2OTQzODJBfS5SZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzIKKwkJe0M1MkY5RTdCLTQ5OEEtNDJCRS04REI0LTg1QTE1Njk0MzgyQX0uUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMgorCQl7QzUyRjlFN0ItNDk4QS00MkJFLThEQjQtODVBMTU2OTQzODJBfS5SZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NAorCQl7QzUyRjlFN0ItNDk4QS00MkJFLThEQjQtODVBMTU2OTQzODJBfS5SZWxlYXNlfHg2NC5CdWlsZC4wID0gUmVsZWFzZXx4NjQKKwkJe0M1MkY5RTdCLTQ5OEEtNDJCRS04REI0LTg1QTE1Njk0MzgyQX0uUmVsZWFzZVdpdGhvdXRBc218SXRhbml1bS5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyCisJCXtDNTJGOUU3Qi00OThBLTQyQkUtOERCNC04NUExNTY5NDM4MkF9LlJlbGVhc2VXaXRob3V0QXNtfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzIKKwkJe0M1MkY5RTdCLTQ5OEEtNDJCRS04REI0LTg1QTE1Njk0MzgyQX0uUmVsZWFzZVdpdGhvdXRBc218eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0CisJRW5kR2xvYmFsU2VjdGlvbgorCUdsb2JhbFNlY3Rpb24oU29sdXRpb25Qcm9wZXJ0aWVzKSA9IHByZVNvbHV0aW9uCisJCUhpZGVTb2x1dGlvbk5vZGUgPSBGQUxTRQorCUVuZEdsb2JhbFNlY3Rpb24KK0VuZEdsb2JhbApkaWZmIC0tZ2l0IGEvc3JjL2NvbnRyaWIvdnN0dWRpby92YzEyL3psaWJ2Yy52Y3hwcm9qIGIvc3JjL2NvbnRyaWIvdnN0dWRpby92YzEyL3psaWJ2Yy52Y3hwcm9qCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRlMGRlNjkKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvY29udHJpYi92c3R1ZGlvL3ZjMTIvemxpYnZjLnZjeHByb2oKQEAgLTAsMCArMSw2NjggQEAKK++7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8UHJvamVjdCBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIFRvb2xzVmVyc2lvbj0iMTIuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+CisgIDxJdGVtR3JvdXAgTGFiZWw9IlByb2plY3RDb25maWd1cmF0aW9ucyI+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IkRlYnVnfEl0YW5pdW0iPgorICAgICAgPENvbmZpZ3VyYXRpb24+RGVidWc8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+SXRhbml1bTwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iRGVidWd8V2luMzIiPgorICAgICAgPENvbmZpZ3VyYXRpb24+RGVidWc8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+V2luMzI8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IkRlYnVnfHg2NCI+CisgICAgICA8Q29uZmlndXJhdGlvbj5EZWJ1ZzwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT54NjQ8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlJlbGVhc2VXaXRob3V0QXNtfEl0YW5pdW0iPgorICAgICAgPENvbmZpZ3VyYXRpb24+UmVsZWFzZVdpdGhvdXRBc208L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+SXRhbml1bTwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUmVsZWFzZVdpdGhvdXRBc218V2luMzIiPgorICAgICAgPENvbmZpZ3VyYXRpb24+UmVsZWFzZVdpdGhvdXRBc208L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+V2luMzI8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlJlbGVhc2VXaXRob3V0QXNtfHg2NCI+CisgICAgICA8Q29uZmlndXJhdGlvbj5SZWxlYXNlV2l0aG91dEFzbTwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT54NjQ8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlJlbGVhc2V8SXRhbml1bSI+CisgICAgICA8Q29uZmlndXJhdGlvbj5SZWxlYXNlPC9Db25maWd1cmF0aW9uPgorICAgICAgPFBsYXRmb3JtPkl0YW5pdW08L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlJlbGVhc2V8V2luMzIiPgorICAgICAgPENvbmZpZ3VyYXRpb24+UmVsZWFzZTwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUmVsZWFzZXx4NjQiPgorICAgICAgPENvbmZpZ3VyYXRpb24+UmVsZWFzZTwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT54NjQ8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgIDwvSXRlbUdyb3VwPgorICA8UHJvcGVydHlHcm91cCBMYWJlbD0iR2xvYmFscyI+CisgICAgPFByb2plY3RHdWlkPns4RkQ4MjZGOC0zNzM5LTQ0RTYtOENDOC05OTcxMjJFNTNCOER9PC9Qcm9qZWN0R3VpZD4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5EZWZhdWx0LnByb3BzIiAvPgorICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+CisgICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KKyAgICA8VXNlT2ZNZmM+ZmFsc2U8L1VzZU9mTWZjPgorICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgorICAgIDxQbGF0Zm9ybVRvb2xzZXQ+djEyMDwvUGxhdGZvcm1Ub29sc2V0PgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZVdpdGhvdXRBc218V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+CisgICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KKyAgICA8VXNlT2ZNZmM+ZmFsc2U8L1VzZU9mTWZjPgorICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgorICAgIDxQbGF0Zm9ybVRvb2xzZXQ+djEyMDwvUGxhdGZvcm1Ub29sc2V0PgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+CisgICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KKyAgICA8VXNlT2ZNZmM+ZmFsc2U8L1VzZU9mTWZjPgorICAgIDxQbGF0Zm9ybVRvb2xzZXQ+djEyMDwvUGxhdGZvcm1Ub29sc2V0PgorICAgIDxDaGFyYWN0ZXJTZXQ+VW5pY29kZTwvQ2hhcmFjdGVyU2V0PgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxJdGFuaXVtJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgorICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+CisgICAgPFVzZU9mTWZjPmZhbHNlPC9Vc2VPZk1mYz4KKyAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KKyAgICA8UGxhdGZvcm1Ub29sc2V0PnYxMjA8L1BsYXRmb3JtVG9vbHNldD4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VXaXRob3V0QXNtfEl0YW5pdW0nIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+CisgICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KKyAgICA8VXNlT2ZNZmM+ZmFsc2U8L1VzZU9mTWZjPgorICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgorICAgIDxQbGF0Zm9ybVRvb2xzZXQ+djEyMDwvUGxhdGZvcm1Ub29sc2V0PgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8SXRhbml1bSciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KKyAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgorICAgIDxVc2VPZk1mYz5mYWxzZTwvVXNlT2ZNZmM+CisgICAgPFBsYXRmb3JtVG9vbHNldD52MTIwPC9QbGF0Zm9ybVRvb2xzZXQ+CisgIDwvUHJvcGVydHlHcm91cD4KKyAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KKyAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgorICAgIDxVc2VPZk1mYz5mYWxzZTwvVXNlT2ZNZmM+CisgICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+CisgICAgPFBsYXRmb3JtVG9vbHNldD52MTIwPC9QbGF0Zm9ybVRvb2xzZXQ+CisgIDwvUHJvcGVydHlHcm91cD4KKyAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlV2l0aG91dEFzbXx4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+CisgICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KKyAgICA8VXNlT2ZNZmM+ZmFsc2U8L1VzZU9mTWZjPgorICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgorICAgIDxQbGF0Zm9ybVRvb2xzZXQ+djEyMDwvUGxhdGZvcm1Ub29sc2V0PgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgorICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+CisgICAgPFVzZU9mTWZjPmZhbHNlPC9Vc2VPZk1mYz4KKyAgICA8UGxhdGZvcm1Ub29sc2V0PnYxMjA8L1BsYXRmb3JtVG9vbHNldD4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5wcm9wcyIgLz4KKyAgPEltcG9ydEdyb3VwIExhYmVsPSJFeHRlbnNpb25TZXR0aW5ncyI+CisgIDwvSW1wb3J0R3JvdXA+CisgIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgorICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KKyAgPC9JbXBvcnRHcm91cD4KKyAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZVdpdGhvdXRBc218V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgorICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KKyAgPC9JbXBvcnRHcm91cD4KKyAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgorICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KKyAgPC9JbXBvcnRHcm91cD4KKyAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxJdGFuaXVtJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KKyAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+CisgIDwvSW1wb3J0R3JvdXA+CisgIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VXaXRob3V0QXNtfEl0YW5pdW0nIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgorICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KKyAgPC9JbXBvcnRHcm91cD4KKyAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8SXRhbml1bSciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CisgICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgorICA8L0ltcG9ydEdyb3VwPgorICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CisgICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgorICA8L0ltcG9ydEdyb3VwPgorICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlV2l0aG91dEFzbXx4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgorICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KKyAgPC9JbXBvcnRHcm91cD4KKyAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KKyAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+CisgIDwvSW1wb3J0R3JvdXA+CisgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJVc2VyTWFjcm9zIiAvPgorICA8UHJvcGVydHlHcm91cD4KKyAgICA8X1Byb2plY3RGaWxlVmVyc2lvbj4xMC4wLjMwMTI4LjE8L19Qcm9qZWN0RmlsZVZlcnNpb24+CisgICAgPE91dERpciBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+eDg2XFpsaWJEbGwkKENvbmZpZ3VyYXRpb24pXDwvT3V0RGlyPgorICAgIDxJbnREaXIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPng4NlxabGliRGxsJChDb25maWd1cmF0aW9uKVxUbXBcPC9JbnREaXI+CisgICAgPExpbmtJbmNyZW1lbnRhbCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+dHJ1ZTwvTGlua0luY3JlbWVudGFsPgorICAgIDxHZW5lcmF0ZU1hbmlmZXN0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj5mYWxzZTwvR2VuZXJhdGVNYW5pZmVzdD4KKyAgICA8T3V0RGlyIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZVdpdGhvdXRBc218V2luMzInIj54ODZcWmxpYkRsbCQoQ29uZmlndXJhdGlvbilcPC9PdXREaXI+CisgICAgPEludERpciBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VXaXRob3V0QXNtfFdpbjMyJyI+eDg2XFpsaWJEbGwkKENvbmZpZ3VyYXRpb24pXFRtcFw8L0ludERpcj4KKyAgICA8TGlua0luY3JlbWVudGFsIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZVdpdGhvdXRBc218V2luMzInIj5mYWxzZTwvTGlua0luY3JlbWVudGFsPgorICAgIDxHZW5lcmF0ZU1hbmlmZXN0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZVdpdGhvdXRBc218V2luMzInIj5mYWxzZTwvR2VuZXJhdGVNYW5pZmVzdD4KKyAgICA8T3V0RGlyIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPng4NlxabGliRGxsJChDb25maWd1cmF0aW9uKVw8L091dERpcj4KKyAgICA8SW50RGlyIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPng4NlxabGliRGxsJChDb25maWd1cmF0aW9uKVxUbXBcPC9JbnREaXI+CisgICAgPExpbmtJbmNyZW1lbnRhbCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj5mYWxzZTwvTGlua0luY3JlbWVudGFsPgorICAgIDxHZW5lcmF0ZU1hbmlmZXN0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPmZhbHNlPC9HZW5lcmF0ZU1hbmlmZXN0PgorICAgIDxPdXREaXIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj54NjRcWmxpYkRsbCQoQ29uZmlndXJhdGlvbilcPC9PdXREaXI+CisgICAgPEludERpciBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPng2NFxabGliRGxsJChDb25maWd1cmF0aW9uKVxUbXBcPC9JbnREaXI+CisgICAgPExpbmtJbmNyZW1lbnRhbCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPnRydWU8L0xpbmtJbmNyZW1lbnRhbD4KKyAgICA8R2VuZXJhdGVNYW5pZmVzdCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPmZhbHNlPC9HZW5lcmF0ZU1hbmlmZXN0PgorICAgIDxPdXREaXIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xJdGFuaXVtJyI+aWE2NFxabGliRGxsJChDb25maWd1cmF0aW9uKVw8L091dERpcj4KKyAgICA8SW50RGlyIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8SXRhbml1bSciPmlhNjRcWmxpYkRsbCQoQ29uZmlndXJhdGlvbilcVG1wXDwvSW50RGlyPgorICAgIDxMaW5rSW5jcmVtZW50YWwgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xJdGFuaXVtJyI+dHJ1ZTwvTGlua0luY3JlbWVudGFsPgorICAgIDxHZW5lcmF0ZU1hbmlmZXN0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8SXRhbml1bSciPmZhbHNlPC9HZW5lcmF0ZU1hbmlmZXN0PgorICAgIDxPdXREaXIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlV2l0aG91dEFzbXx4NjQnIj54NjRcWmxpYkRsbCQoQ29uZmlndXJhdGlvbilcPC9PdXREaXI+CisgICAgPEludERpciBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VXaXRob3V0QXNtfHg2NCciPng2NFxabGliRGxsJChDb25maWd1cmF0aW9uKVxUbXBcPC9JbnREaXI+CisgICAgPExpbmtJbmNyZW1lbnRhbCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VXaXRob3V0QXNtfHg2NCciPmZhbHNlPC9MaW5rSW5jcmVtZW50YWw+CisgICAgPEdlbmVyYXRlTWFuaWZlc3QgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlV2l0aG91dEFzbXx4NjQnIj5mYWxzZTwvR2VuZXJhdGVNYW5pZmVzdD4KKyAgICA8T3V0RGlyIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZVdpdGhvdXRBc218SXRhbml1bSciPmlhNjRcWmxpYkRsbCQoQ29uZmlndXJhdGlvbilcPC9PdXREaXI+CisgICAgPEludERpciBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VXaXRob3V0QXNtfEl0YW5pdW0nIj5pYTY0XFpsaWJEbGwkKENvbmZpZ3VyYXRpb24pXFRtcFw8L0ludERpcj4KKyAgICA8TGlua0luY3JlbWVudGFsIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZVdpdGhvdXRBc218SXRhbml1bSciPmZhbHNlPC9MaW5rSW5jcmVtZW50YWw+CisgICAgPEdlbmVyYXRlTWFuaWZlc3QgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlV2l0aG91dEFzbXxJdGFuaXVtJyI+ZmFsc2U8L0dlbmVyYXRlTWFuaWZlc3Q+CisgICAgPE91dERpciBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+eDY0XFpsaWJEbGwkKENvbmZpZ3VyYXRpb24pXDwvT3V0RGlyPgorICAgIDxJbnREaXIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPng2NFxabGliRGxsJChDb25maWd1cmF0aW9uKVxUbXBcPC9JbnREaXI+CisgICAgPExpbmtJbmNyZW1lbnRhbCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+ZmFsc2U8L0xpbmtJbmNyZW1lbnRhbD4KKyAgICA8R2VuZXJhdGVNYW5pZmVzdCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+ZmFsc2U8L0dlbmVyYXRlTWFuaWZlc3Q+CisgICAgPE91dERpciBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8SXRhbml1bSciPmlhNjRcWmxpYkRsbCQoQ29uZmlndXJhdGlvbilcPC9PdXREaXI+CisgICAgPEludERpciBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8SXRhbml1bSciPmlhNjRcWmxpYkRsbCQoQ29uZmlndXJhdGlvbilcVG1wXDwvSW50RGlyPgorICAgIDxMaW5rSW5jcmVtZW50YWwgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfEl0YW5pdW0nIj5mYWxzZTwvTGlua0luY3JlbWVudGFsPgorICAgIDxHZW5lcmF0ZU1hbmlmZXN0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxJdGFuaXVtJyI+ZmFsc2U8L0dlbmVyYXRlTWFuaWZlc3Q+CisgICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xJdGFuaXVtJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xJdGFuaXVtJyIgLz4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xJdGFuaXVtJyIgLz4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIC8+CisgICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiAvPgorICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiAvPgorICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIC8+CisgICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlV2l0aG91dEFzbXxJdGFuaXVtJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlV2l0aG91dEFzbXxJdGFuaXVtJyIgLz4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlV2l0aG91dEFzbXxJdGFuaXVtJyIgLz4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VXaXRob3V0QXNtfFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlV2l0aG91dEFzbXxXaW4zMiciIC8+CisgICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZVdpdGhvdXRBc218V2luMzInIiAvPgorICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZVdpdGhvdXRBc218eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlV2l0aG91dEFzbXx4NjQnIiAvPgorICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VXaXRob3V0QXNtfHg2NCciIC8+CisgICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfEl0YW5pdW0nIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgorICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8SXRhbml1bSciIC8+CisgICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxJdGFuaXVtJyIgLz4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgorICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiAvPgorICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiAvPgorICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgorICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgLz4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIC8+CisgICAgPFRhcmdldE5hbWUgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPnpsaWJ3YXBpPC9UYXJnZXROYW1lPgorICAgIDxUYXJnZXROYW1lIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZVdpdGhvdXRBc218V2luMzInIj56bGlid2FwaTwvVGFyZ2V0TmFtZT4KKyAgICA8VGFyZ2V0TmFtZSBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj56bGlid2FwaTwvVGFyZ2V0TmFtZT4KKyAgICA8VGFyZ2V0TmFtZSBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPnpsaWJ3YXBpPC9UYXJnZXROYW1lPgorICAgIDxUYXJnZXROYW1lIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZVdpdGhvdXRBc218eDY0JyI+emxpYndhcGk8L1RhcmdldE5hbWU+CisgICAgPFRhcmdldE5hbWUgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPnpsaWJ3YXBpPC9UYXJnZXROYW1lPgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj4KKyAgICA8TWlkbD4KKyAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fREVCVUc7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgorICAgICAgPE1rVHlwTGliQ29tcGF0aWJsZT50cnVlPC9Na1R5cExpYkNvbXBhdGlibGU+CisgICAgICA8U3VwcHJlc3NTdGFydHVwQmFubmVyPnRydWU8L1N1cHByZXNzU3RhcnR1cEJhbm5lcj4KKyAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5XaW4zMjwvVGFyZ2V0RW52aXJvbm1lbnQ+CisgICAgICA8VHlwZUxpYnJhcnlOYW1lPiQoT3V0RGlyKXpsaWJ2Yy50bGI8L1R5cGVMaWJyYXJ5TmFtZT4KKyAgICA8L01pZGw+CisgICAgPENsQ29tcGlsZT4KKyAgICAgIDxPcHRpbWl6YXRpb24+RGlzYWJsZWQ8L09wdGltaXphdGlvbj4KKyAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXC4uXC4uOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+V0lOMzI7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX1dBUk5JTkdTO1pMSUJfV0lOQVBJOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KKyAgICAgIDxFeGNlcHRpb25IYW5kbGluZz4KKyAgICAgIDwvRXhjZXB0aW9uSGFuZGxpbmc+CisgICAgICA8UnVudGltZUxpYnJhcnk+TXVsdGlUaHJlYWRlZERlYnVnRExMPC9SdW50aW1lTGlicmFyeT4KKyAgICAgIDxCdWZmZXJTZWN1cml0eUNoZWNrPmZhbHNlPC9CdWZmZXJTZWN1cml0eUNoZWNrPgorICAgICAgPFByZWNvbXBpbGVkSGVhZGVyT3V0cHV0RmlsZT4kKEludERpcil6bGlidmMucGNoPC9QcmVjb21waWxlZEhlYWRlck91dHB1dEZpbGU+CisgICAgICA8QXNzZW1ibGVyTGlzdGluZ0xvY2F0aW9uPiQoSW50RGlyKTwvQXNzZW1ibGVyTGlzdGluZ0xvY2F0aW9uPgorICAgICAgPE9iamVjdEZpbGVOYW1lPiQoSW50RGlyKTwvT2JqZWN0RmlsZU5hbWU+CisgICAgICA8UHJvZ3JhbURhdGFCYXNlRmlsZU5hbWU+JChPdXREaXIpPC9Qcm9ncmFtRGF0YUJhc2VGaWxlTmFtZT4KKyAgICAgIDxCcm93c2VJbmZvcm1hdGlvbj4KKyAgICAgIDwvQnJvd3NlSW5mb3JtYXRpb24+CisgICAgICA8V2FybmluZ0xldmVsPkxldmVsMzwvV2FybmluZ0xldmVsPgorICAgICAgPFN1cHByZXNzU3RhcnR1cEJhbm5lcj50cnVlPC9TdXBwcmVzc1N0YXJ0dXBCYW5uZXI+CisgICAgICA8RGVidWdJbmZvcm1hdGlvbkZvcm1hdD5Qcm9ncmFtRGF0YWJhc2U8L0RlYnVnSW5mb3JtYXRpb25Gb3JtYXQ+CisgICAgPC9DbENvbXBpbGU+CisgICAgPFJlc291cmNlQ29tcGlsZT4KKyAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fREVCVUc7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgorICAgICAgPEN1bHR1cmU+MHgwNDBjPC9DdWx0dXJlPgorICAgIDwvUmVzb3VyY2VDb21waWxlPgorICAgIDxMaW5rPgorICAgICAgPEFkZGl0aW9uYWxPcHRpb25zPi9NQUNISU5FOkkzODYgJShBZGRpdGlvbmFsT3B0aW9ucyk8L0FkZGl0aW9uYWxPcHRpb25zPgorICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KKyAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKXpsaWJ3YXBpLmRsbDwvT3V0cHV0RmlsZT4KKyAgICAgIDxTdXBwcmVzc1N0YXJ0dXBCYW5uZXI+dHJ1ZTwvU3VwcHJlc3NTdGFydHVwQmFubmVyPgorICAgICAgPE1vZHVsZURlZmluaXRpb25GaWxlPi5cemxpYnZjLmRlZjwvTW9kdWxlRGVmaW5pdGlvbkZpbGU+CisgICAgICA8R2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPnRydWU8L0dlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj4KKyAgICAgIDxQcm9ncmFtRGF0YWJhc2VGaWxlPiQoT3V0RGlyKXpsaWJ3YXBpLnBkYjwvUHJvZ3JhbURhdGFiYXNlRmlsZT4KKyAgICAgIDxHZW5lcmF0ZU1hcEZpbGU+dHJ1ZTwvR2VuZXJhdGVNYXBGaWxlPgorICAgICAgPE1hcEZpbGVOYW1lPiQoT3V0RGlyKXpsaWJ3YXBpLm1hcDwvTWFwRmlsZU5hbWU+CisgICAgICA8U3ViU3lzdGVtPldpbmRvd3M8L1N1YlN5c3RlbT4KKyAgICAgIDxSYW5kb21pemVkQmFzZUFkZHJlc3M+ZmFsc2U8L1JhbmRvbWl6ZWRCYXNlQWRkcmVzcz4KKyAgICAgIDxEYXRhRXhlY3V0aW9uUHJldmVudGlvbj4KKyAgICAgIDwvRGF0YUV4ZWN1dGlvblByZXZlbnRpb24+CisgICAgICA8SW1wb3J0TGlicmFyeT4kKE91dERpcil6bGlid2FwaS5saWI8L0ltcG9ydExpYnJhcnk+CisgICAgPC9MaW5rPgorICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+CisgIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZVdpdGhvdXRBc218V2luMzInIj4KKyAgICA8TWlkbD4KKyAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5OREVCVUc7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgorICAgICAgPE1rVHlwTGliQ29tcGF0aWJsZT50cnVlPC9Na1R5cExpYkNvbXBhdGlibGU+CisgICAgICA8U3VwcHJlc3NTdGFydHVwQmFubmVyPnRydWU8L1N1cHByZXNzU3RhcnR1cEJhbm5lcj4KKyAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5XaW4zMjwvVGFyZ2V0RW52aXJvbm1lbnQ+CisgICAgICA8VHlwZUxpYnJhcnlOYW1lPiQoT3V0RGlyKXpsaWJ2Yy50bGI8L1R5cGVMaWJyYXJ5TmFtZT4KKyAgICA8L01pZGw+CisgICAgPENsQ29tcGlsZT4KKyAgICAgIDxJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj5Pbmx5RXhwbGljaXRJbmxpbmU8L0lubGluZUZ1bmN0aW9uRXhwYW5zaW9uPgorICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cLi5cLi47JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KKyAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5XSU4zMjtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFO19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fV0FSTklOR1M7WkxJQl9XSU5BUEk7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgorICAgICAgPFN0cmluZ1Bvb2xpbmc+dHJ1ZTwvU3RyaW5nUG9vbGluZz4KKyAgICAgIDxFeGNlcHRpb25IYW5kbGluZz4KKyAgICAgIDwvRXhjZXB0aW9uSGFuZGxpbmc+CisgICAgICA8UnVudGltZUxpYnJhcnk+TXVsdGlUaHJlYWRlZERMTDwvUnVudGltZUxpYnJhcnk+CisgICAgICA8QnVmZmVyU2VjdXJpdHlDaGVjaz5mYWxzZTwvQnVmZmVyU2VjdXJpdHlDaGVjaz4KKyAgICAgIDxGdW5jdGlvbkxldmVsTGlua2luZz50cnVlPC9GdW5jdGlvbkxldmVsTGlua2luZz4KKyAgICAgIDxQcmVjb21waWxlZEhlYWRlck91dHB1dEZpbGU+JChJbnREaXIpemxpYnZjLnBjaDwvUHJlY29tcGlsZWRIZWFkZXJPdXRwdXRGaWxlPgorICAgICAgPEFzc2VtYmxlck91dHB1dD5BbGw8L0Fzc2VtYmxlck91dHB1dD4KKyAgICAgIDxBc3NlbWJsZXJMaXN0aW5nTG9jYXRpb24+JChJbnREaXIpPC9Bc3NlbWJsZXJMaXN0aW5nTG9jYXRpb24+CisgICAgICA8T2JqZWN0RmlsZU5hbWU+JChJbnREaXIpPC9PYmplY3RGaWxlTmFtZT4KKyAgICAgIDxQcm9ncmFtRGF0YUJhc2VGaWxlTmFtZT4kKE91dERpcik8L1Byb2dyYW1EYXRhQmFzZUZpbGVOYW1lPgorICAgICAgPEJyb3dzZUluZm9ybWF0aW9uPgorICAgICAgPC9Ccm93c2VJbmZvcm1hdGlvbj4KKyAgICAgIDxXYXJuaW5nTGV2ZWw+TGV2ZWwzPC9XYXJuaW5nTGV2ZWw+CisgICAgICA8U3VwcHJlc3NTdGFydHVwQmFubmVyPnRydWU8L1N1cHByZXNzU3RhcnR1cEJhbm5lcj4KKyAgICA8L0NsQ29tcGlsZT4KKyAgICA8UmVzb3VyY2VDb21waWxlPgorICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPk5ERUJVRzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+CisgICAgICA8Q3VsdHVyZT4weDA0MGM8L0N1bHR1cmU+CisgICAgPC9SZXNvdXJjZUNvbXBpbGU+CisgICAgPExpbms+CisgICAgICA8QWRkaXRpb25hbE9wdGlvbnM+L01BQ0hJTkU6STM4NiAlKEFkZGl0aW9uYWxPcHRpb25zKTwvQWRkaXRpb25hbE9wdGlvbnM+CisgICAgICA8T3V0cHV0RmlsZT4kKE91dERpcil6bGlid2FwaS5kbGw8L091dHB1dEZpbGU+CisgICAgICA8U3VwcHJlc3NTdGFydHVwQmFubmVyPnRydWU8L1N1cHByZXNzU3RhcnR1cEJhbm5lcj4KKyAgICAgIDxJZ25vcmVBbGxEZWZhdWx0TGlicmFyaWVzPmZhbHNlPC9JZ25vcmVBbGxEZWZhdWx0TGlicmFyaWVzPgorICAgICAgPE1vZHVsZURlZmluaXRpb25GaWxlPi5cemxpYnZjLmRlZjwvTW9kdWxlRGVmaW5pdGlvbkZpbGU+CisgICAgICA8UHJvZ3JhbURhdGFiYXNlRmlsZT4kKE91dERpcil6bGlid2FwaS5wZGI8L1Byb2dyYW1EYXRhYmFzZUZpbGU+CisgICAgICA8R2VuZXJhdGVNYXBGaWxlPnRydWU8L0dlbmVyYXRlTWFwRmlsZT4KKyAgICAgIDxNYXBGaWxlTmFtZT4kKE91dERpcil6bGlid2FwaS5tYXA8L01hcEZpbGVOYW1lPgorICAgICAgPFN1YlN5c3RlbT5XaW5kb3dzPC9TdWJTeXN0ZW0+CisgICAgICA8UmFuZG9taXplZEJhc2VBZGRyZXNzPmZhbHNlPC9SYW5kb21pemVkQmFzZUFkZHJlc3M+CisgICAgICA8RGF0YUV4ZWN1dGlvblByZXZlbnRpb24+CisgICAgICA8L0RhdGFFeGVjdXRpb25QcmV2ZW50aW9uPgorICAgICAgPEltcG9ydExpYnJhcnk+JChPdXREaXIpemxpYndhcGkubGliPC9JbXBvcnRMaWJyYXJ5PgorICAgIDwvTGluaz4KKyAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgorICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj4KKyAgICA8TWlkbD4KKyAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5OREVCVUc7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgorICAgICAgPE1rVHlwTGliQ29tcGF0aWJsZT50cnVlPC9Na1R5cExpYkNvbXBhdGlibGU+CisgICAgICA8U3VwcHJlc3NTdGFydHVwQmFubmVyPnRydWU8L1N1cHByZXNzU3RhcnR1cEJhbm5lcj4KKyAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5XaW4zMjwvVGFyZ2V0RW52aXJvbm1lbnQ+CisgICAgICA8VHlwZUxpYnJhcnlOYW1lPiQoT3V0RGlyKXpsaWJ2Yy50bGI8L1R5cGVMaWJyYXJ5TmFtZT4KKyAgICA8L01pZGw+CisgICAgPENsQ29tcGlsZT4KKyAgICAgIDxJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj5Pbmx5RXhwbGljaXRJbmxpbmU8L0lubGluZUZ1bmN0aW9uRXhwYW5zaW9uPgorICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cLi5cLi47JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KKyAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5XSU4zMjtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFO19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fV0FSTklOR1M7WkxJQl9XSU5BUEk7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgorICAgICAgPFN0cmluZ1Bvb2xpbmc+dHJ1ZTwvU3RyaW5nUG9vbGluZz4KKyAgICAgIDxFeGNlcHRpb25IYW5kbGluZz4KKyAgICAgIDwvRXhjZXB0aW9uSGFuZGxpbmc+CisgICAgICA8UnVudGltZUxpYnJhcnk+TXVsdGlUaHJlYWRlZDwvUnVudGltZUxpYnJhcnk+CisgICAgICA8QnVmZmVyU2VjdXJpdHlDaGVjaz5mYWxzZTwvQnVmZmVyU2VjdXJpdHlDaGVjaz4KKyAgICAgIDxGdW5jdGlvbkxldmVsTGlua2luZz50cnVlPC9GdW5jdGlvbkxldmVsTGlua2luZz4KKyAgICAgIDxQcmVjb21waWxlZEhlYWRlck91dHB1dEZpbGU+JChJbnREaXIpemxpYnZjLnBjaDwvUHJlY29tcGlsZWRIZWFkZXJPdXRwdXRGaWxlPgorICAgICAgPEFzc2VtYmxlck91dHB1dD5BbGw8L0Fzc2VtYmxlck91dHB1dD4KKyAgICAgIDxBc3NlbWJsZXJMaXN0aW5nTG9jYXRpb24+JChJbnREaXIpPC9Bc3NlbWJsZXJMaXN0aW5nTG9jYXRpb24+CisgICAgICA8T2JqZWN0RmlsZU5hbWU+JChJbnREaXIpPC9PYmplY3RGaWxlTmFtZT4KKyAgICAgIDxQcm9ncmFtRGF0YUJhc2VGaWxlTmFtZT4kKE91dERpcik8L1Byb2dyYW1EYXRhQmFzZUZpbGVOYW1lPgorICAgICAgPEJyb3dzZUluZm9ybWF0aW9uPgorICAgICAgPC9Ccm93c2VJbmZvcm1hdGlvbj4KKyAgICAgIDxXYXJuaW5nTGV2ZWw+TGV2ZWwzPC9XYXJuaW5nTGV2ZWw+CisgICAgICA8U3VwcHJlc3NTdGFydHVwQmFubmVyPnRydWU8L1N1cHByZXNzU3RhcnR1cEJhbm5lcj4KKyAgICA8L0NsQ29tcGlsZT4KKyAgICA8UmVzb3VyY2VDb21waWxlPgorICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPk5ERUJVRzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+CisgICAgICA8Q3VsdHVyZT4weDA0MGM8L0N1bHR1cmU+CisgICAgPC9SZXNvdXJjZUNvbXBpbGU+CisgICAgPExpbms+CisgICAgICA8QWRkaXRpb25hbE9wdGlvbnM+L01BQ0hJTkU6STM4NiAlKEFkZGl0aW9uYWxPcHRpb25zKTwvQWRkaXRpb25hbE9wdGlvbnM+CisgICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz4lKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgorICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpemxpYndhcGkuZGxsPC9PdXRwdXRGaWxlPgorICAgICAgPFN1cHByZXNzU3RhcnR1cEJhbm5lcj50cnVlPC9TdXBwcmVzc1N0YXJ0dXBCYW5uZXI+CisgICAgICA8SWdub3JlQWxsRGVmYXVsdExpYnJhcmllcz5mYWxzZTwvSWdub3JlQWxsRGVmYXVsdExpYnJhcmllcz4KKyAgICAgIDxNb2R1bGVEZWZpbml0aW9uRmlsZT4uXHpsaWJ2Yy5kZWY8L01vZHVsZURlZmluaXRpb25GaWxlPgorICAgICAgPFByb2dyYW1EYXRhYmFzZUZpbGU+JChPdXREaXIpemxpYndhcGkucGRiPC9Qcm9ncmFtRGF0YWJhc2VGaWxlPgorICAgICAgPEdlbmVyYXRlTWFwRmlsZT50cnVlPC9HZW5lcmF0ZU1hcEZpbGU+CisgICAgICA8TWFwRmlsZU5hbWU+JChPdXREaXIpemxpYndhcGkubWFwPC9NYXBGaWxlTmFtZT4KKyAgICAgIDxTdWJTeXN0ZW0+V2luZG93czwvU3ViU3lzdGVtPgorICAgICAgPFJhbmRvbWl6ZWRCYXNlQWRkcmVzcz5mYWxzZTwvUmFuZG9taXplZEJhc2VBZGRyZXNzPgorICAgICAgPERhdGFFeGVjdXRpb25QcmV2ZW50aW9uPgorICAgICAgPC9EYXRhRXhlY3V0aW9uUHJldmVudGlvbj4KKyAgICAgIDxJbXBvcnRMaWJyYXJ5PiQoT3V0RGlyKXpsaWJ3YXBpLmxpYjwvSW1wb3J0TGlicmFyeT4KKyAgICAgIDxJbWFnZUhhc1NhZmVFeGNlcHRpb25IYW5kbGVycz5mYWxzZTwvSW1hZ2VIYXNTYWZlRXhjZXB0aW9uSGFuZGxlcnM+CisgICAgPC9MaW5rPgorICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+CisgIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+CisgICAgPE1pZGw+CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X0RFQlVHOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KKyAgICAgIDxNa1R5cExpYkNvbXBhdGlibGU+dHJ1ZTwvTWtUeXBMaWJDb21wYXRpYmxlPgorICAgICAgPFN1cHByZXNzU3RhcnR1cEJhbm5lcj50cnVlPC9TdXBwcmVzc1N0YXJ0dXBCYW5uZXI+CisgICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KKyAgICAgIDxUeXBlTGlicmFyeU5hbWU+JChPdXREaXIpemxpYnZjLnRsYjwvVHlwZUxpYnJhcnlOYW1lPgorICAgIDwvTWlkbD4KKyAgICA8Q2xDb21waWxlPgorICAgICAgPE9wdGltaXphdGlvbj5EaXNhYmxlZDwvT3B0aW1pemF0aW9uPgorICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cLi5cLi47JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KKyAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5XSU4zMjtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFO19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fV0FSTklOR1M7WkxJQl9XSU5BUEk7V0lONjQ7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgorICAgICAgPEV4Y2VwdGlvbkhhbmRsaW5nPgorICAgICAgPC9FeGNlcHRpb25IYW5kbGluZz4KKyAgICAgIDxSdW50aW1lTGlicmFyeT5NdWx0aVRocmVhZGVkRGVidWdETEw8L1J1bnRpbWVMaWJyYXJ5PgorICAgICAgPEJ1ZmZlclNlY3VyaXR5Q2hlY2s+ZmFsc2U8L0J1ZmZlclNlY3VyaXR5Q2hlY2s+CisgICAgICA8UHJlY29tcGlsZWRIZWFkZXJPdXRwdXRGaWxlPiQoSW50RGlyKXpsaWJ2Yy5wY2g8L1ByZWNvbXBpbGVkSGVhZGVyT3V0cHV0RmlsZT4KKyAgICAgIDxBc3NlbWJsZXJMaXN0aW5nTG9jYXRpb24+JChJbnREaXIpPC9Bc3NlbWJsZXJMaXN0aW5nTG9jYXRpb24+CisgICAgICA8T2JqZWN0RmlsZU5hbWU+JChJbnREaXIpPC9PYmplY3RGaWxlTmFtZT4KKyAgICAgIDxQcm9ncmFtRGF0YUJhc2VGaWxlTmFtZT4kKE91dERpcik8L1Byb2dyYW1EYXRhQmFzZUZpbGVOYW1lPgorICAgICAgPEJyb3dzZUluZm9ybWF0aW9uPgorICAgICAgPC9Ccm93c2VJbmZvcm1hdGlvbj4KKyAgICAgIDxXYXJuaW5nTGV2ZWw+TGV2ZWwzPC9XYXJuaW5nTGV2ZWw+CisgICAgICA8U3VwcHJlc3NTdGFydHVwQmFubmVyPnRydWU8L1N1cHByZXNzU3RhcnR1cEJhbm5lcj4KKyAgICAgIDxEZWJ1Z0luZm9ybWF0aW9uRm9ybWF0PlByb2dyYW1EYXRhYmFzZTwvRGVidWdJbmZvcm1hdGlvbkZvcm1hdD4KKyAgICA8L0NsQ29tcGlsZT4KKyAgICA8UmVzb3VyY2VDb21waWxlPgorICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9ERUJVRzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+CisgICAgICA8Q3VsdHVyZT4weDA0MGM8L0N1bHR1cmU+CisgICAgPC9SZXNvdXJjZUNvbXBpbGU+CisgICAgPExpbms+CisgICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz4lKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgorICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpemxpYndhcGkuZGxsPC9PdXRwdXRGaWxlPgorICAgICAgPFN1cHByZXNzU3RhcnR1cEJhbm5lcj50cnVlPC9TdXBwcmVzc1N0YXJ0dXBCYW5uZXI+CisgICAgICA8TW9kdWxlRGVmaW5pdGlvbkZpbGU+Llx6bGlidmMuZGVmPC9Nb2R1bGVEZWZpbml0aW9uRmlsZT4KKyAgICAgIDxHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+dHJ1ZTwvR2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPgorICAgICAgPFByb2dyYW1EYXRhYmFzZUZpbGU+JChPdXREaXIpemxpYndhcGkucGRiPC9Qcm9ncmFtRGF0YWJhc2VGaWxlPgorICAgICAgPEdlbmVyYXRlTWFwRmlsZT50cnVlPC9HZW5lcmF0ZU1hcEZpbGU+CisgICAgICA8TWFwRmlsZU5hbWU+JChPdXREaXIpemxpYndhcGkubWFwPC9NYXBGaWxlTmFtZT4KKyAgICAgIDxTdWJTeXN0ZW0+V2luZG93czwvU3ViU3lzdGVtPgorICAgICAgPEltcG9ydExpYnJhcnk+JChPdXREaXIpemxpYndhcGkubGliPC9JbXBvcnRMaWJyYXJ5PgorICAgICAgPFRhcmdldE1hY2hpbmU+TWFjaGluZVg2NDwvVGFyZ2V0TWFjaGluZT4KKyAgICA8L0xpbms+CisgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KKyAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xJdGFuaXVtJyI+CisgICAgPE1pZGw+CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X0RFQlVHOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KKyAgICAgIDxNa1R5cExpYkNvbXBhdGlibGU+dHJ1ZTwvTWtUeXBMaWJDb21wYXRpYmxlPgorICAgICAgPFN1cHByZXNzU3RhcnR1cEJhbm5lcj50cnVlPC9TdXBwcmVzc1N0YXJ0dXBCYW5uZXI+CisgICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+SXRhbml1bTwvVGFyZ2V0RW52aXJvbm1lbnQ+CisgICAgICA8VHlwZUxpYnJhcnlOYW1lPiQoT3V0RGlyKXpsaWJ2Yy50bGI8L1R5cGVMaWJyYXJ5TmFtZT4KKyAgICA8L01pZGw+CisgICAgPENsQ29tcGlsZT4KKyAgICAgIDxPcHRpbWl6YXRpb24+RGlzYWJsZWQ8L09wdGltaXphdGlvbj4KKyAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXC4uXC4uOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+V0lOMzI7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX1dBUk5JTkdTO1pMSUJfV0lOQVBJO1dJTjY0OyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KKyAgICAgIDxFeGNlcHRpb25IYW5kbGluZz4KKyAgICAgIDwvRXhjZXB0aW9uSGFuZGxpbmc+CisgICAgICA8UnVudGltZUxpYnJhcnk+TXVsdGlUaHJlYWRlZERlYnVnRExMPC9SdW50aW1lTGlicmFyeT4KKyAgICAgIDxCdWZmZXJTZWN1cml0eUNoZWNrPmZhbHNlPC9CdWZmZXJTZWN1cml0eUNoZWNrPgorICAgICAgPFByZWNvbXBpbGVkSGVhZGVyT3V0cHV0RmlsZT4kKEludERpcil6bGlidmMucGNoPC9QcmVjb21waWxlZEhlYWRlck91dHB1dEZpbGU+CisgICAgICA8QXNzZW1ibGVyTGlzdGluZ0xvY2F0aW9uPiQoSW50RGlyKTwvQXNzZW1ibGVyTGlzdGluZ0xvY2F0aW9uPgorICAgICAgPE9iamVjdEZpbGVOYW1lPiQoSW50RGlyKTwvT2JqZWN0RmlsZU5hbWU+CisgICAgICA8UHJvZ3JhbURhdGFCYXNlRmlsZU5hbWU+JChPdXREaXIpPC9Qcm9ncmFtRGF0YUJhc2VGaWxlTmFtZT4KKyAgICAgIDxCcm93c2VJbmZvcm1hdGlvbj4KKyAgICAgIDwvQnJvd3NlSW5mb3JtYXRpb24+CisgICAgICA8V2FybmluZ0xldmVsPkxldmVsMzwvV2FybmluZ0xldmVsPgorICAgICAgPFN1cHByZXNzU3RhcnR1cEJhbm5lcj50cnVlPC9TdXBwcmVzc1N0YXJ0dXBCYW5uZXI+CisgICAgICA8RGVidWdJbmZvcm1hdGlvbkZvcm1hdD5Qcm9ncmFtRGF0YWJhc2U8L0RlYnVnSW5mb3JtYXRpb25Gb3JtYXQ+CisgICAgPC9DbENvbXBpbGU+CisgICAgPFJlc291cmNlQ29tcGlsZT4KKyAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fREVCVUc7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgorICAgICAgPEN1bHR1cmU+MHgwNDBjPC9DdWx0dXJlPgorICAgIDwvUmVzb3VyY2VDb21waWxlPgorICAgIDxMaW5rPgorICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpemxpYndhcGkuZGxsPC9PdXRwdXRGaWxlPgorICAgICAgPFN1cHByZXNzU3RhcnR1cEJhbm5lcj50cnVlPC9TdXBwcmVzc1N0YXJ0dXBCYW5uZXI+CisgICAgICA8TW9kdWxlRGVmaW5pdGlvbkZpbGU+Llx6bGlidmMuZGVmPC9Nb2R1bGVEZWZpbml0aW9uRmlsZT4KKyAgICAgIDxHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+dHJ1ZTwvR2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPgorICAgICAgPFByb2dyYW1EYXRhYmFzZUZpbGU+JChPdXREaXIpemxpYndhcGkucGRiPC9Qcm9ncmFtRGF0YWJhc2VGaWxlPgorICAgICAgPEdlbmVyYXRlTWFwRmlsZT50cnVlPC9HZW5lcmF0ZU1hcEZpbGU+CisgICAgICA8TWFwRmlsZU5hbWU+JChPdXREaXIpemxpYndhcGkubWFwPC9NYXBGaWxlTmFtZT4KKyAgICAgIDxTdWJTeXN0ZW0+V2luZG93czwvU3ViU3lzdGVtPgorICAgICAgPEltcG9ydExpYnJhcnk+JChPdXREaXIpemxpYndhcGkubGliPC9JbXBvcnRMaWJyYXJ5PgorICAgICAgPFRhcmdldE1hY2hpbmU+TWFjaGluZUlBNjQ8L1RhcmdldE1hY2hpbmU+CisgICAgPC9MaW5rPgorICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+CisgIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZVdpdGhvdXRBc218eDY0JyI+CisgICAgPE1pZGw+CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+TkRFQlVHOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KKyAgICAgIDxNa1R5cExpYkNvbXBhdGlibGU+dHJ1ZTwvTWtUeXBMaWJDb21wYXRpYmxlPgorICAgICAgPFN1cHByZXNzU3RhcnR1cEJhbm5lcj50cnVlPC9TdXBwcmVzc1N0YXJ0dXBCYW5uZXI+CisgICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KKyAgICAgIDxUeXBlTGlicmFyeU5hbWU+JChPdXREaXIpemxpYnZjLnRsYjwvVHlwZUxpYnJhcnlOYW1lPgorICAgIDwvTWlkbD4KKyAgICA8Q2xDb21waWxlPgorICAgICAgPElubGluZUZ1bmN0aW9uRXhwYW5zaW9uPk9ubHlFeHBsaWNpdElubGluZTwvSW5saW5lRnVuY3Rpb25FeHBhbnNpb24+CisgICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlwuLlwuLjslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgorICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPldJTjMyO19DUlRfTk9OU1REQ19OT19ERVBSRUNBVEU7X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO19DUlRfTk9OU1REQ19OT19XQVJOSU5HUztaTElCX1dJTkFQSTtXSU42NDslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+CisgICAgICA8U3RyaW5nUG9vbGluZz50cnVlPC9TdHJpbmdQb29saW5nPgorICAgICAgPEV4Y2VwdGlvbkhhbmRsaW5nPgorICAgICAgPC9FeGNlcHRpb25IYW5kbGluZz4KKyAgICAgIDxSdW50aW1lTGlicmFyeT5NdWx0aVRocmVhZGVkRExMPC9SdW50aW1lTGlicmFyeT4KKyAgICAgIDxCdWZmZXJTZWN1cml0eUNoZWNrPmZhbHNlPC9CdWZmZXJTZWN1cml0eUNoZWNrPgorICAgICAgPEZ1bmN0aW9uTGV2ZWxMaW5raW5nPnRydWU8L0Z1bmN0aW9uTGV2ZWxMaW5raW5nPgorICAgICAgPFByZWNvbXBpbGVkSGVhZGVyT3V0cHV0RmlsZT4kKEludERpcil6bGlidmMucGNoPC9QcmVjb21waWxlZEhlYWRlck91dHB1dEZpbGU+CisgICAgICA8QXNzZW1ibGVyT3V0cHV0PkFsbDwvQXNzZW1ibGVyT3V0cHV0PgorICAgICAgPEFzc2VtYmxlckxpc3RpbmdMb2NhdGlvbj4kKEludERpcik8L0Fzc2VtYmxlckxpc3RpbmdMb2NhdGlvbj4KKyAgICAgIDxPYmplY3RGaWxlTmFtZT4kKEludERpcik8L09iamVjdEZpbGVOYW1lPgorICAgICAgPFByb2dyYW1EYXRhQmFzZUZpbGVOYW1lPiQoT3V0RGlyKTwvUHJvZ3JhbURhdGFCYXNlRmlsZU5hbWU+CisgICAgICA8QnJvd3NlSW5mb3JtYXRpb24+CisgICAgICA8L0Jyb3dzZUluZm9ybWF0aW9uPgorICAgICAgPFdhcm5pbmdMZXZlbD5MZXZlbDM8L1dhcm5pbmdMZXZlbD4KKyAgICAgIDxTdXBwcmVzc1N0YXJ0dXBCYW5uZXI+dHJ1ZTwvU3VwcHJlc3NTdGFydHVwQmFubmVyPgorICAgIDwvQ2xDb21waWxlPgorICAgIDxSZXNvdXJjZUNvbXBpbGU+CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+TkRFQlVHOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KKyAgICAgIDxDdWx0dXJlPjB4MDQwYzwvQ3VsdHVyZT4KKyAgICA8L1Jlc291cmNlQ29tcGlsZT4KKyAgICA8TGluaz4KKyAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKXpsaWJ3YXBpLmRsbDwvT3V0cHV0RmlsZT4KKyAgICAgIDxTdXBwcmVzc1N0YXJ0dXBCYW5uZXI+dHJ1ZTwvU3VwcHJlc3NTdGFydHVwQmFubmVyPgorICAgICAgPElnbm9yZUFsbERlZmF1bHRMaWJyYXJpZXM+ZmFsc2U8L0lnbm9yZUFsbERlZmF1bHRMaWJyYXJpZXM+CisgICAgICA8TW9kdWxlRGVmaW5pdGlvbkZpbGU+Llx6bGlidmMuZGVmPC9Nb2R1bGVEZWZpbml0aW9uRmlsZT4KKyAgICAgIDxQcm9ncmFtRGF0YWJhc2VGaWxlPiQoT3V0RGlyKXpsaWJ3YXBpLnBkYjwvUHJvZ3JhbURhdGFiYXNlRmlsZT4KKyAgICAgIDxHZW5lcmF0ZU1hcEZpbGU+dHJ1ZTwvR2VuZXJhdGVNYXBGaWxlPgorICAgICAgPE1hcEZpbGVOYW1lPiQoT3V0RGlyKXpsaWJ3YXBpLm1hcDwvTWFwRmlsZU5hbWU+CisgICAgICA8U3ViU3lzdGVtPldpbmRvd3M8L1N1YlN5c3RlbT4KKyAgICAgIDxJbXBvcnRMaWJyYXJ5PiQoT3V0RGlyKXpsaWJ3YXBpLmxpYjwvSW1wb3J0TGlicmFyeT4KKyAgICAgIDxUYXJnZXRNYWNoaW5lPk1hY2hpbmVYNjQ8L1RhcmdldE1hY2hpbmU+CisgICAgPC9MaW5rPgorICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+CisgIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZVdpdGhvdXRBc218SXRhbml1bSciPgorICAgIDxNaWRsPgorICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPk5ERUJVRzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+CisgICAgICA8TWtUeXBMaWJDb21wYXRpYmxlPnRydWU8L01rVHlwTGliQ29tcGF0aWJsZT4KKyAgICAgIDxTdXBwcmVzc1N0YXJ0dXBCYW5uZXI+dHJ1ZTwvU3VwcHJlc3NTdGFydHVwQmFubmVyPgorICAgICAgPFRhcmdldEVudmlyb25tZW50Pkl0YW5pdW08L1RhcmdldEVudmlyb25tZW50PgorICAgICAgPFR5cGVMaWJyYXJ5TmFtZT4kKE91dERpcil6bGlidmMudGxiPC9UeXBlTGlicmFyeU5hbWU+CisgICAgPC9NaWRsPgorICAgIDxDbENvbXBpbGU+CisgICAgICA8SW5saW5lRnVuY3Rpb25FeHBhbnNpb24+T25seUV4cGxpY2l0SW5saW5lPC9JbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj4KKyAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXC4uXC4uOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+V0lOMzI7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX1dBUk5JTkdTO1pMSUJfV0lOQVBJO1dJTjY0OyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KKyAgICAgIDxTdHJpbmdQb29saW5nPnRydWU8L1N0cmluZ1Bvb2xpbmc+CisgICAgICA8RXhjZXB0aW9uSGFuZGxpbmc+CisgICAgICA8L0V4Y2VwdGlvbkhhbmRsaW5nPgorICAgICAgPFJ1bnRpbWVMaWJyYXJ5Pk11bHRpVGhyZWFkZWRETEw8L1J1bnRpbWVMaWJyYXJ5PgorICAgICAgPEJ1ZmZlclNlY3VyaXR5Q2hlY2s+ZmFsc2U8L0J1ZmZlclNlY3VyaXR5Q2hlY2s+CisgICAgICA8RnVuY3Rpb25MZXZlbExpbmtpbmc+dHJ1ZTwvRnVuY3Rpb25MZXZlbExpbmtpbmc+CisgICAgICA8UHJlY29tcGlsZWRIZWFkZXJPdXRwdXRGaWxlPiQoSW50RGlyKXpsaWJ2Yy5wY2g8L1ByZWNvbXBpbGVkSGVhZGVyT3V0cHV0RmlsZT4KKyAgICAgIDxBc3NlbWJsZXJPdXRwdXQ+QWxsPC9Bc3NlbWJsZXJPdXRwdXQ+CisgICAgICA8QXNzZW1ibGVyTGlzdGluZ0xvY2F0aW9uPiQoSW50RGlyKTwvQXNzZW1ibGVyTGlzdGluZ0xvY2F0aW9uPgorICAgICAgPE9iamVjdEZpbGVOYW1lPiQoSW50RGlyKTwvT2JqZWN0RmlsZU5hbWU+CisgICAgICA8UHJvZ3JhbURhdGFCYXNlRmlsZU5hbWU+JChPdXREaXIpPC9Qcm9ncmFtRGF0YUJhc2VGaWxlTmFtZT4KKyAgICAgIDxCcm93c2VJbmZvcm1hdGlvbj4KKyAgICAgIDwvQnJvd3NlSW5mb3JtYXRpb24+CisgICAgICA8V2FybmluZ0xldmVsPkxldmVsMzwvV2FybmluZ0xldmVsPgorICAgICAgPFN1cHByZXNzU3RhcnR1cEJhbm5lcj50cnVlPC9TdXBwcmVzc1N0YXJ0dXBCYW5uZXI+CisgICAgPC9DbENvbXBpbGU+CisgICAgPFJlc291cmNlQ29tcGlsZT4KKyAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5OREVCVUc7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgorICAgICAgPEN1bHR1cmU+MHgwNDBjPC9DdWx0dXJlPgorICAgIDwvUmVzb3VyY2VDb21waWxlPgorICAgIDxMaW5rPgorICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpemxpYndhcGkuZGxsPC9PdXRwdXRGaWxlPgorICAgICAgPFN1cHByZXNzU3RhcnR1cEJhbm5lcj50cnVlPC9TdXBwcmVzc1N0YXJ0dXBCYW5uZXI+CisgICAgICA8SWdub3JlQWxsRGVmYXVsdExpYnJhcmllcz5mYWxzZTwvSWdub3JlQWxsRGVmYXVsdExpYnJhcmllcz4KKyAgICAgIDxNb2R1bGVEZWZpbml0aW9uRmlsZT4uXHpsaWJ2Yy5kZWY8L01vZHVsZURlZmluaXRpb25GaWxlPgorICAgICAgPFByb2dyYW1EYXRhYmFzZUZpbGU+JChPdXREaXIpemxpYndhcGkucGRiPC9Qcm9ncmFtRGF0YWJhc2VGaWxlPgorICAgICAgPEdlbmVyYXRlTWFwRmlsZT50cnVlPC9HZW5lcmF0ZU1hcEZpbGU+CisgICAgICA8TWFwRmlsZU5hbWU+JChPdXREaXIpemxpYndhcGkubWFwPC9NYXBGaWxlTmFtZT4KKyAgICAgIDxTdWJTeXN0ZW0+V2luZG93czwvU3ViU3lzdGVtPgorICAgICAgPEltcG9ydExpYnJhcnk+JChPdXREaXIpemxpYndhcGkubGliPC9JbXBvcnRMaWJyYXJ5PgorICAgICAgPFRhcmdldE1hY2hpbmU+TWFjaGluZUlBNjQ8L1RhcmdldE1hY2hpbmU+CisgICAgPC9MaW5rPgorICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+CisgIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj4KKyAgICA8TWlkbD4KKyAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5OREVCVUc7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgorICAgICAgPE1rVHlwTGliQ29tcGF0aWJsZT50cnVlPC9Na1R5cExpYkNvbXBhdGlibGU+CisgICAgICA8U3VwcHJlc3NTdGFydHVwQmFubmVyPnRydWU8L1N1cHByZXNzU3RhcnR1cEJhbm5lcj4KKyAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgorICAgICAgPFR5cGVMaWJyYXJ5TmFtZT4kKE91dERpcil6bGlidmMudGxiPC9UeXBlTGlicmFyeU5hbWU+CisgICAgPC9NaWRsPgorICAgIDxDbENvbXBpbGU+CisgICAgICA8SW5saW5lRnVuY3Rpb25FeHBhbnNpb24+T25seUV4cGxpY2l0SW5saW5lPC9JbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj4KKyAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXC4uXC4uOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX1dBUk5JTkdTO1pMSUJfV0lOQVBJO1dJTjY0OyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KKyAgICAgIDxTdHJpbmdQb29saW5nPnRydWU8L1N0cmluZ1Bvb2xpbmc+CisgICAgICA8RXhjZXB0aW9uSGFuZGxpbmc+CisgICAgICA8L0V4Y2VwdGlvbkhhbmRsaW5nPgorICAgICAgPFJ1bnRpbWVMaWJyYXJ5Pk11bHRpVGhyZWFkZWRETEw8L1J1bnRpbWVMaWJyYXJ5PgorICAgICAgPEJ1ZmZlclNlY3VyaXR5Q2hlY2s+ZmFsc2U8L0J1ZmZlclNlY3VyaXR5Q2hlY2s+CisgICAgICA8RnVuY3Rpb25MZXZlbExpbmtpbmc+dHJ1ZTwvRnVuY3Rpb25MZXZlbExpbmtpbmc+CisgICAgICA8UHJlY29tcGlsZWRIZWFkZXJPdXRwdXRGaWxlPiQoSW50RGlyKXpsaWJ2Yy5wY2g8L1ByZWNvbXBpbGVkSGVhZGVyT3V0cHV0RmlsZT4KKyAgICAgIDxBc3NlbWJsZXJPdXRwdXQ+QWxsPC9Bc3NlbWJsZXJPdXRwdXQ+CisgICAgICA8QXNzZW1ibGVyTGlzdGluZ0xvY2F0aW9uPiQoSW50RGlyKTwvQXNzZW1ibGVyTGlzdGluZ0xvY2F0aW9uPgorICAgICAgPE9iamVjdEZpbGVOYW1lPiQoSW50RGlyKTwvT2JqZWN0RmlsZU5hbWU+CisgICAgICA8UHJvZ3JhbURhdGFCYXNlRmlsZU5hbWU+JChPdXREaXIpPC9Qcm9ncmFtRGF0YUJhc2VGaWxlTmFtZT4KKyAgICAgIDxCcm93c2VJbmZvcm1hdGlvbj4KKyAgICAgIDwvQnJvd3NlSW5mb3JtYXRpb24+CisgICAgICA8V2FybmluZ0xldmVsPkxldmVsMzwvV2FybmluZ0xldmVsPgorICAgICAgPFN1cHByZXNzU3RhcnR1cEJhbm5lcj50cnVlPC9TdXBwcmVzc1N0YXJ0dXBCYW5uZXI+CisgICAgPC9DbENvbXBpbGU+CisgICAgPFJlc291cmNlQ29tcGlsZT4KKyAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5OREVCVUc7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgorICAgICAgPEN1bHR1cmU+MHgwNDBjPC9DdWx0dXJlPgorICAgIDwvUmVzb3VyY2VDb21waWxlPgorICAgIDxMaW5rPgorICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KKyAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKXpsaWJ3YXBpLmRsbDwvT3V0cHV0RmlsZT4KKyAgICAgIDxTdXBwcmVzc1N0YXJ0dXBCYW5uZXI+dHJ1ZTwvU3VwcHJlc3NTdGFydHVwQmFubmVyPgorICAgICAgPElnbm9yZUFsbERlZmF1bHRMaWJyYXJpZXM+ZmFsc2U8L0lnbm9yZUFsbERlZmF1bHRMaWJyYXJpZXM+CisgICAgICA8TW9kdWxlRGVmaW5pdGlvbkZpbGU+Llx6bGlidmMuZGVmPC9Nb2R1bGVEZWZpbml0aW9uRmlsZT4KKyAgICAgIDxQcm9ncmFtRGF0YWJhc2VGaWxlPiQoT3V0RGlyKXpsaWJ3YXBpLnBkYjwvUHJvZ3JhbURhdGFiYXNlRmlsZT4KKyAgICAgIDxHZW5lcmF0ZU1hcEZpbGU+dHJ1ZTwvR2VuZXJhdGVNYXBGaWxlPgorICAgICAgPE1hcEZpbGVOYW1lPiQoT3V0RGlyKXpsaWJ3YXBpLm1hcDwvTWFwRmlsZU5hbWU+CisgICAgICA8U3ViU3lzdGVtPldpbmRvd3M8L1N1YlN5c3RlbT4KKyAgICAgIDxJbXBvcnRMaWJyYXJ5PiQoT3V0RGlyKXpsaWJ3YXBpLmxpYjwvSW1wb3J0TGlicmFyeT4KKyAgICAgIDxUYXJnZXRNYWNoaW5lPk1hY2hpbmVYNjQ8L1RhcmdldE1hY2hpbmU+CisgICAgPC9MaW5rPgorICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+CisgIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxJdGFuaXVtJyI+CisgICAgPE1pZGw+CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+TkRFQlVHOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KKyAgICAgIDxNa1R5cExpYkNvbXBhdGlibGU+dHJ1ZTwvTWtUeXBMaWJDb21wYXRpYmxlPgorICAgICAgPFN1cHByZXNzU3RhcnR1cEJhbm5lcj50cnVlPC9TdXBwcmVzc1N0YXJ0dXBCYW5uZXI+CisgICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+SXRhbml1bTwvVGFyZ2V0RW52aXJvbm1lbnQ+CisgICAgICA8VHlwZUxpYnJhcnlOYW1lPiQoT3V0RGlyKXpsaWJ2Yy50bGI8L1R5cGVMaWJyYXJ5TmFtZT4KKyAgICA8L01pZGw+CisgICAgPENsQ29tcGlsZT4KKyAgICAgIDxJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj5Pbmx5RXhwbGljaXRJbmxpbmU8L0lubGluZUZ1bmN0aW9uRXhwYW5zaW9uPgorICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cLi5cLi47JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KKyAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fQ1JUX05PTlNURENfTk9fREVQUkVDQVRFO19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fV0FSTklOR1M7WkxJQl9XSU5BUEk7V0lONjQ7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgorICAgICAgPFN0cmluZ1Bvb2xpbmc+dHJ1ZTwvU3RyaW5nUG9vbGluZz4KKyAgICAgIDxFeGNlcHRpb25IYW5kbGluZz4KKyAgICAgIDwvRXhjZXB0aW9uSGFuZGxpbmc+CisgICAgICA8UnVudGltZUxpYnJhcnk+TXVsdGlUaHJlYWRlZERMTDwvUnVudGltZUxpYnJhcnk+CisgICAgICA8QnVmZmVyU2VjdXJpdHlDaGVjaz5mYWxzZTwvQnVmZmVyU2VjdXJpdHlDaGVjaz4KKyAgICAgIDxGdW5jdGlvbkxldmVsTGlua2luZz50cnVlPC9GdW5jdGlvbkxldmVsTGlua2luZz4KKyAgICAgIDxQcmVjb21waWxlZEhlYWRlck91dHB1dEZpbGU+JChJbnREaXIpemxpYnZjLnBjaDwvUHJlY29tcGlsZWRIZWFkZXJPdXRwdXRGaWxlPgorICAgICAgPEFzc2VtYmxlck91dHB1dD5BbGw8L0Fzc2VtYmxlck91dHB1dD4KKyAgICAgIDxBc3NlbWJsZXJMaXN0aW5nTG9jYXRpb24+JChJbnREaXIpPC9Bc3NlbWJsZXJMaXN0aW5nTG9jYXRpb24+CisgICAgICA8T2JqZWN0RmlsZU5hbWU+JChJbnREaXIpPC9PYmplY3RGaWxlTmFtZT4KKyAgICAgIDxQcm9ncmFtRGF0YUJhc2VGaWxlTmFtZT4kKE91dERpcik8L1Byb2dyYW1EYXRhQmFzZUZpbGVOYW1lPgorICAgICAgPEJyb3dzZUluZm9ybWF0aW9uPgorICAgICAgPC9Ccm93c2VJbmZvcm1hdGlvbj4KKyAgICAgIDxXYXJuaW5nTGV2ZWw+TGV2ZWwzPC9XYXJuaW5nTGV2ZWw+CisgICAgICA8U3VwcHJlc3NTdGFydHVwQmFubmVyPnRydWU8L1N1cHByZXNzU3RhcnR1cEJhbm5lcj4KKyAgICA8L0NsQ29tcGlsZT4KKyAgICA8UmVzb3VyY2VDb21waWxlPgorICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPk5ERUJVRzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+CisgICAgICA8Q3VsdHVyZT4weDA0MGM8L0N1bHR1cmU+CisgICAgPC9SZXNvdXJjZUNvbXBpbGU+CisgICAgPExpbms+CisgICAgICA8T3V0cHV0RmlsZT4kKE91dERpcil6bGlid2FwaS5kbGw8L091dHB1dEZpbGU+CisgICAgICA8U3VwcHJlc3NTdGFydHVwQmFubmVyPnRydWU8L1N1cHByZXNzU3RhcnR1cEJhbm5lcj4KKyAgICAgIDxJZ25vcmVBbGxEZWZhdWx0TGlicmFyaWVzPmZhbHNlPC9JZ25vcmVBbGxEZWZhdWx0TGlicmFyaWVzPgorICAgICAgPE1vZHVsZURlZmluaXRpb25GaWxlPi5cemxpYnZjLmRlZjwvTW9kdWxlRGVmaW5pdGlvbkZpbGU+CisgICAgICA8UHJvZ3JhbURhdGFiYXNlRmlsZT4kKE91dERpcil6bGlid2FwaS5wZGI8L1Byb2dyYW1EYXRhYmFzZUZpbGU+CisgICAgICA8R2VuZXJhdGVNYXBGaWxlPnRydWU8L0dlbmVyYXRlTWFwRmlsZT4KKyAgICAgIDxNYXBGaWxlTmFtZT4kKE91dERpcil6bGlid2FwaS5tYXA8L01hcEZpbGVOYW1lPgorICAgICAgPFN1YlN5c3RlbT5XaW5kb3dzPC9TdWJTeXN0ZW0+CisgICAgICA8SW1wb3J0TGlicmFyeT4kKE91dERpcil6bGlid2FwaS5saWI8L0ltcG9ydExpYnJhcnk+CisgICAgICA8VGFyZ2V0TWFjaGluZT5NYWNoaW5lSUE2NDwvVGFyZ2V0TWFjaGluZT4KKyAgICA8L0xpbms+CisgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KKyAgPEl0ZW1Hcm91cD4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXC4uXGFkbGVyMzIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXC4uXGNvbXByZXNzLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlwuLlxjcmMzMi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5cZGVmbGF0ZS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5cZ3pjbG9zZS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5cZ3psaWIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXC4uXGd6cmVhZC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5cZ3p3cml0ZS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5caW5mYmFjay5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5caW5mZmFzdC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5caW5mbGF0ZS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5caW5mdHJlZXMuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXG1pbml6aXBcaW9hcGkuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXG1pbml6aXBcaW93aW4zMi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5cdHJlZXMuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXC4uXHVuY29tcHIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXG1pbml6aXBcdW56aXAuYyI+CisgICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3RvcmllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8SXRhbml1bSciPiUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfEl0YW5pdW0nIj5aTElCX0lOVEVSTkFMOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KKyAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPiUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+WkxJQl9JTlRFUk5BTDslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+CisgICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3RvcmllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KKyAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+WkxJQl9JTlRFUk5BTDslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+CisgICAgPC9DbENvbXBpbGU+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlxtaW5pemlwXHppcC5jIj4KKyAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxJdGFuaXVtJyI+JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KKyAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8SXRhbml1bSciPlpMSUJfSU5URVJOQUw7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgorICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KKyAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj5aTElCX0lOVEVSTkFMOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KKyAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj4lKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgorICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj5aTElCX0lOVEVSTkFMOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KKyAgICA8L0NsQ29tcGlsZT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXC4uXHp1dGlsLmMiIC8+CisgIDwvSXRlbUdyb3VwPgorICA8SXRlbUdyb3VwPgorICAgIDxSZXNvdXJjZUNvbXBpbGUgSW5jbHVkZT0iemxpYi5yYyIgLz4KKyAgPC9JdGVtR3JvdXA+CisgIDxJdGVtR3JvdXA+CisgICAgPE5vbmUgSW5jbHVkZT0iemxpYnZjLmRlZiIgLz4KKyAgPC9JdGVtR3JvdXA+CisgIDxJdGVtR3JvdXA+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlwuLlwuLlxkZWZsYXRlLmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlwuLlwuLlxpbmZibG9jay5oIiAvPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cLi5cLi5caW5mY29kZXMuaCIgLz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXC4uXC4uXGluZmZhc3QuaCIgLz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXC4uXC4uXGluZnRyZWVzLmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlwuLlwuLlxpbmZ1dGlsLmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlwuLlwuLlx6Y29uZi5oIiAvPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cLi5cLi5cemxpYi5oIiAvPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cLi5cLi5cenV0aWwuaCIgLz4KKyAgPC9JdGVtR3JvdXA+CisgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnRhcmdldHMiIC8+CisgIDxJbXBvcnRHcm91cCBMYWJlbD0iRXh0ZW5zaW9uVGFyZ2V0cyI+CisgIDwvSW1wb3J0R3JvdXA+Cis8L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3JjL2NvbnRyaWIvdnN0dWRpby92YzE0L21pbml1bnoudmN4cHJvaiBiL3NyYy9jb250cmliL3ZzdHVkaW8vdmMxNC9taW5pdW56LnZjeHByb2oKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWI1YzA3NQotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9jb250cmliL3ZzdHVkaW8vdmMxNC9taW5pdW56LnZjeHByb2oKQEAgLTAsMCArMSwzMTYgQEAKK++7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8UHJvamVjdCBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIFRvb2xzVmVyc2lvbj0iMTQuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+CisgIDxJdGVtR3JvdXAgTGFiZWw9IlByb2plY3RDb25maWd1cmF0aW9ucyI+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IkRlYnVnfEl0YW5pdW0iPgorICAgICAgPENvbmZpZ3VyYXRpb24+RGVidWc8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+SXRhbml1bTwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iRGVidWd8V2luMzIiPgorICAgICAgPENvbmZpZ3VyYXRpb24+RGVidWc8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+V2luMzI8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IkRlYnVnfHg2NCI+CisgICAgICA8Q29uZmlndXJhdGlvbj5EZWJ1ZzwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT54NjQ8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlJlbGVhc2V8SXRhbml1bSI+CisgICAgICA8Q29uZmlndXJhdGlvbj5SZWxlYXNlPC9Db25maWd1cmF0aW9uPgorICAgICAgPFBsYXRmb3JtPkl0YW5pdW08L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlJlbGVhc2V8V2luMzIiPgorICAgICAgPENvbmZpZ3VyYXRpb24+UmVsZWFzZTwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUmVsZWFzZXx4NjQiPgorICAgICAgPENvbmZpZ3VyYXRpb24+UmVsZWFzZTwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT54NjQ8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgIDwvSXRlbUdyb3VwPgorICA8UHJvcGVydHlHcm91cCBMYWJlbD0iR2xvYmFscyI+CisgICAgPFByb2plY3RHdWlkPntDNTJGOUU3Qi00OThBLTQyQkUtOERCNC04NUExNTY5NDM4MkF9PC9Qcm9qZWN0R3VpZD4KKyAgICA8S2V5d29yZD5XaW4zMlByb2o8L0tleXdvcmQ+CisgIDwvUHJvcGVydHlHcm91cD4KKyAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAuRGVmYXVsdC5wcm9wcyIgLz4KKyAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgorICAgIDxDb25maWd1cmF0aW9uVHlwZT5BcHBsaWNhdGlvbjwvQ29uZmlndXJhdGlvblR5cGU+CisgICAgPENoYXJhY3RlclNldD5NdWx0aUJ5dGU8L0NoYXJhY3RlclNldD4KKyAgICA8UGxhdGZvcm1Ub29sc2V0PnYxNDA8L1BsYXRmb3JtVG9vbHNldD4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgorICAgIDxDb25maWd1cmF0aW9uVHlwZT5BcHBsaWNhdGlvbjwvQ29uZmlndXJhdGlvblR5cGU+CisgICAgPENoYXJhY3RlclNldD5Vbmljb2RlPC9DaGFyYWN0ZXJTZXQ+CisgICAgPFBsYXRmb3JtVG9vbHNldD52MTQwPC9QbGF0Zm9ybVRvb2xzZXQ+CisgIDwvUHJvcGVydHlHcm91cD4KKyAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfEl0YW5pdW0nIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+CisgICAgPENvbmZpZ3VyYXRpb25UeXBlPkFwcGxpY2F0aW9uPC9Db25maWd1cmF0aW9uVHlwZT4KKyAgICA8Q2hhcmFjdGVyU2V0Pk11bHRpQnl0ZTwvQ2hhcmFjdGVyU2V0PgorICAgIDxQbGF0Zm9ybVRvb2xzZXQ+djE0MDwvUGxhdGZvcm1Ub29sc2V0PgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8SXRhbml1bSciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KKyAgICA8Q29uZmlndXJhdGlvblR5cGU+QXBwbGljYXRpb248L0NvbmZpZ3VyYXRpb25UeXBlPgorICAgIDxDaGFyYWN0ZXJTZXQ+TXVsdGlCeXRlPC9DaGFyYWN0ZXJTZXQ+CisgICAgPFBsYXRmb3JtVG9vbHNldD52MTQwPC9QbGF0Zm9ybVRvb2xzZXQ+CisgIDwvUHJvcGVydHlHcm91cD4KKyAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KKyAgICA8Q29uZmlndXJhdGlvblR5cGU+QXBwbGljYXRpb248L0NvbmZpZ3VyYXRpb25UeXBlPgorICAgIDxDaGFyYWN0ZXJTZXQ+TXVsdGlCeXRlPC9DaGFyYWN0ZXJTZXQ+CisgICAgPFBsYXRmb3JtVG9vbHNldD52MTQwPC9QbGF0Zm9ybVRvb2xzZXQ+CisgIDwvUHJvcGVydHlHcm91cD4KKyAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+CisgICAgPENvbmZpZ3VyYXRpb25UeXBlPkFwcGxpY2F0aW9uPC9Db25maWd1cmF0aW9uVHlwZT4KKyAgICA8Q2hhcmFjdGVyU2V0Pk11bHRpQnl0ZTwvQ2hhcmFjdGVyU2V0PgorICAgIDxQbGF0Zm9ybVRvb2xzZXQ+djE0MDwvUGxhdGZvcm1Ub29sc2V0PgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnByb3BzIiAvPgorICA8SW1wb3J0R3JvdXAgTGFiZWw9IkV4dGVuc2lvblNldHRpbmdzIj4KKyAgPC9JbXBvcnRHcm91cD4KKyAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CisgICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgorICA8L0ltcG9ydEdyb3VwPgorICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CisgICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgorICA8L0ltcG9ydEdyb3VwPgorICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfEl0YW5pdW0nIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgorICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KKyAgPC9JbXBvcnRHcm91cD4KKyAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8SXRhbml1bSciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CisgICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgorICA8L0ltcG9ydEdyb3VwPgorICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CisgICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgorICA8L0ltcG9ydEdyb3VwPgorICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgorICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KKyAgPC9JbXBvcnRHcm91cD4KKyAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IlVzZXJNYWNyb3MiIC8+CisgIDxQcm9wZXJ0eUdyb3VwPgorICAgIDxfUHJvamVjdEZpbGVWZXJzaW9uPjEwLjAuMzAxMjguMTwvX1Byb2plY3RGaWxlVmVyc2lvbj4KKyAgICA8T3V0RGlyIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj54ODZcTWluaVVuemlwJChDb25maWd1cmF0aW9uKVw8L091dERpcj4KKyAgICA8SW50RGlyIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj54ODZcTWluaVVuemlwJChDb25maWd1cmF0aW9uKVxUbXBcPC9JbnREaXI+CisgICAgPExpbmtJbmNyZW1lbnRhbCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+dHJ1ZTwvTGlua0luY3JlbWVudGFsPgorICAgIDxHZW5lcmF0ZU1hbmlmZXN0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj5mYWxzZTwvR2VuZXJhdGVNYW5pZmVzdD4KKyAgICA8T3V0RGlyIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPng4NlxNaW5pVW56aXAkKENvbmZpZ3VyYXRpb24pXDwvT3V0RGlyPgorICAgIDxJbnREaXIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+eDg2XE1pbmlVbnppcCQoQ29uZmlndXJhdGlvbilcVG1wXDwvSW50RGlyPgorICAgIDxMaW5rSW5jcmVtZW50YWwgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+ZmFsc2U8L0xpbmtJbmNyZW1lbnRhbD4KKyAgICA8R2VuZXJhdGVNYW5pZmVzdCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj5mYWxzZTwvR2VuZXJhdGVNYW5pZmVzdD4KKyAgICA8T3V0RGlyIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+eDY0XE1pbmlVbnppcCQoQ29uZmlndXJhdGlvbilcPC9PdXREaXI+CisgICAgPEludERpciBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPng2NFxNaW5pVW56aXAkKENvbmZpZ3VyYXRpb24pXFRtcFw8L0ludERpcj4KKyAgICA8TGlua0luY3JlbWVudGFsIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+dHJ1ZTwvTGlua0luY3JlbWVudGFsPgorICAgIDxHZW5lcmF0ZU1hbmlmZXN0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+ZmFsc2U8L0dlbmVyYXRlTWFuaWZlc3Q+CisgICAgPE91dERpciBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfEl0YW5pdW0nIj5pYTY0XE1pbmlVbnppcCQoQ29uZmlndXJhdGlvbilcPC9PdXREaXI+CisgICAgPEludERpciBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfEl0YW5pdW0nIj5pYTY0XE1pbmlVbnppcCQoQ29uZmlndXJhdGlvbilcVG1wXDwvSW50RGlyPgorICAgIDxMaW5rSW5jcmVtZW50YWwgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xJdGFuaXVtJyI+dHJ1ZTwvTGlua0luY3JlbWVudGFsPgorICAgIDxHZW5lcmF0ZU1hbmlmZXN0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8SXRhbml1bSciPmZhbHNlPC9HZW5lcmF0ZU1hbmlmZXN0PgorICAgIDxPdXREaXIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPng2NFxNaW5pVW56aXAkKENvbmZpZ3VyYXRpb24pXDwvT3V0RGlyPgorICAgIDxJbnREaXIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPng2NFxNaW5pVW56aXAkKENvbmZpZ3VyYXRpb24pXFRtcFw8L0ludERpcj4KKyAgICA8TGlua0luY3JlbWVudGFsIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj5mYWxzZTwvTGlua0luY3JlbWVudGFsPgorICAgIDxHZW5lcmF0ZU1hbmlmZXN0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj5mYWxzZTwvR2VuZXJhdGVNYW5pZmVzdD4KKyAgICA8T3V0RGlyIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxJdGFuaXVtJyI+aWE2NFxNaW5pVW56aXAkKENvbmZpZ3VyYXRpb24pXDwvT3V0RGlyPgorICAgIDxJbnREaXIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfEl0YW5pdW0nIj5pYTY0XE1pbmlVbnppcCQoQ29uZmlndXJhdGlvbilcVG1wXDwvSW50RGlyPgorICAgIDxMaW5rSW5jcmVtZW50YWwgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfEl0YW5pdW0nIj5mYWxzZTwvTGlua0luY3JlbWVudGFsPgorICAgIDxHZW5lcmF0ZU1hbmlmZXN0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxJdGFuaXVtJyI+ZmFsc2U8L0dlbmVyYXRlTWFuaWZlc3Q+CisgICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xJdGFuaXVtJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xJdGFuaXVtJyIgLz4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xJdGFuaXVtJyIgLz4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIC8+CisgICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiAvPgorICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiAvPgorICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIC8+CisgICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfEl0YW5pdW0nIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgorICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8SXRhbml1bSciIC8+CisgICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxJdGFuaXVtJyIgLz4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgorICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiAvPgorICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiAvPgorICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgorICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgLz4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIC8+CisgIDwvUHJvcGVydHlHcm91cD4KKyAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPgorICAgIDxDbENvbXBpbGU+CisgICAgICA8T3B0aW1pemF0aW9uPkRpc2FibGVkPC9PcHRpbWl6YXRpb24+CisgICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlwuLlwuLjsuLlwuLlxtaW5pemlwOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+V0lOMzI7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7WkxJQl9XSU5BUEk7X0RFQlVHO19DT05TT0xFOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KKyAgICAgIDxNaW5pbWFsUmVidWlsZD50cnVlPC9NaW5pbWFsUmVidWlsZD4KKyAgICAgIDxCYXNpY1J1bnRpbWVDaGVja3M+RGVmYXVsdDwvQmFzaWNSdW50aW1lQ2hlY2tzPgorICAgICAgPFJ1bnRpbWVMaWJyYXJ5Pk11bHRpVGhyZWFkZWREZWJ1Z0RMTDwvUnVudGltZUxpYnJhcnk+CisgICAgICA8QnVmZmVyU2VjdXJpdHlDaGVjaz5mYWxzZTwvQnVmZmVyU2VjdXJpdHlDaGVjaz4KKyAgICAgIDxQcmVjb21waWxlZEhlYWRlcj4KKyAgICAgIDwvUHJlY29tcGlsZWRIZWFkZXI+CisgICAgICA8QXNzZW1ibGVyTGlzdGluZ0xvY2F0aW9uPiQoSW50RGlyKTwvQXNzZW1ibGVyTGlzdGluZ0xvY2F0aW9uPgorICAgICAgPFdhcm5pbmdMZXZlbD5MZXZlbDM8L1dhcm5pbmdMZXZlbD4KKyAgICAgIDxEZWJ1Z0luZm9ybWF0aW9uRm9ybWF0PlByb2dyYW1EYXRhYmFzZTwvRGVidWdJbmZvcm1hdGlvbkZvcm1hdD4KKyAgICA8L0NsQ29tcGlsZT4KKyAgICA8TGluaz4KKyAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPng4NlxabGliRGxsRGVidWdcemxpYndhcGkubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+CisgICAgICA8T3V0cHV0RmlsZT4kKE91dERpciltaW5pdW56LmV4ZTwvT3V0cHV0RmlsZT4KKyAgICAgIDxHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+dHJ1ZTwvR2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPgorICAgICAgPFByb2dyYW1EYXRhYmFzZUZpbGU+JChPdXREaXIpbWluaXVuei5wZGI8L1Byb2dyYW1EYXRhYmFzZUZpbGU+CisgICAgICA8U3ViU3lzdGVtPkNvbnNvbGU8L1N1YlN5c3RlbT4KKyAgICAgIDxSYW5kb21pemVkQmFzZUFkZHJlc3M+ZmFsc2U8L1JhbmRvbWl6ZWRCYXNlQWRkcmVzcz4KKyAgICAgIDxEYXRhRXhlY3V0aW9uUHJldmVudGlvbj4KKyAgICAgIDwvRGF0YUV4ZWN1dGlvblByZXZlbnRpb24+CisgICAgICA8VGFyZ2V0TWFjaGluZT5NYWNoaW5lWDg2PC9UYXJnZXRNYWNoaW5lPgorICAgIDwvTGluaz4KKyAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgorICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj4KKyAgICA8Q2xDb21waWxlPgorICAgICAgPE9wdGltaXphdGlvbj5NYXhTcGVlZDwvT3B0aW1pemF0aW9uPgorICAgICAgPElubGluZUZ1bmN0aW9uRXhwYW5zaW9uPk9ubHlFeHBsaWNpdElubGluZTwvSW5saW5lRnVuY3Rpb25FeHBhbnNpb24+CisgICAgICA8T21pdEZyYW1lUG9pbnRlcnM+dHJ1ZTwvT21pdEZyYW1lUG9pbnRlcnM+CisgICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlwuLlwuLjsuLlwuLlxtaW5pemlwOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+V0lOMzI7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7WkxJQl9XSU5BUEk7TkRFQlVHO19DT05TT0xFOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KKyAgICAgIDxTdHJpbmdQb29saW5nPnRydWU8L1N0cmluZ1Bvb2xpbmc+CisgICAgICA8QmFzaWNSdW50aW1lQ2hlY2tzPkRlZmF1bHQ8L0Jhc2ljUnVudGltZUNoZWNrcz4KKyAgICAgIDxSdW50aW1lTGlicmFyeT5NdWx0aVRocmVhZGVkPC9SdW50aW1lTGlicmFyeT4KKyAgICAgIDxCdWZmZXJTZWN1cml0eUNoZWNrPmZhbHNlPC9CdWZmZXJTZWN1cml0eUNoZWNrPgorICAgICAgPEZ1bmN0aW9uTGV2ZWxMaW5raW5nPnRydWU8L0Z1bmN0aW9uTGV2ZWxMaW5raW5nPgorICAgICAgPFByZWNvbXBpbGVkSGVhZGVyPgorICAgICAgPC9QcmVjb21waWxlZEhlYWRlcj4KKyAgICAgIDxBc3NlbWJsZXJMaXN0aW5nTG9jYXRpb24+JChJbnREaXIpPC9Bc3NlbWJsZXJMaXN0aW5nTG9jYXRpb24+CisgICAgICA8V2FybmluZ0xldmVsPkxldmVsMzwvV2FybmluZ0xldmVsPgorICAgICAgPERlYnVnSW5mb3JtYXRpb25Gb3JtYXQ+UHJvZ3JhbURhdGFiYXNlPC9EZWJ1Z0luZm9ybWF0aW9uRm9ybWF0PgorICAgIDwvQ2xDb21waWxlPgorICAgIDxMaW5rPgorICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+eDg2XFpsaWJEbGxSZWxlYXNlXHpsaWJ3YXBpLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgorICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpbWluaXVuei5leGU8L091dHB1dEZpbGU+CisgICAgICA8R2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPnRydWU8L0dlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj4KKyAgICAgIDxTdWJTeXN0ZW0+Q29uc29sZTwvU3ViU3lzdGVtPgorICAgICAgPE9wdGltaXplUmVmZXJlbmNlcz50cnVlPC9PcHRpbWl6ZVJlZmVyZW5jZXM+CisgICAgICA8RW5hYmxlQ09NREFURm9sZGluZz50cnVlPC9FbmFibGVDT01EQVRGb2xkaW5nPgorICAgICAgPFJhbmRvbWl6ZWRCYXNlQWRkcmVzcz5mYWxzZTwvUmFuZG9taXplZEJhc2VBZGRyZXNzPgorICAgICAgPERhdGFFeGVjdXRpb25QcmV2ZW50aW9uPgorICAgICAgPC9EYXRhRXhlY3V0aW9uUHJldmVudGlvbj4KKyAgICAgIDxUYXJnZXRNYWNoaW5lPk1hY2hpbmVYODY8L1RhcmdldE1hY2hpbmU+CisgICAgPC9MaW5rPgorICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+CisgIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+CisgICAgPE1pZGw+CisgICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KKyAgICA8L01pZGw+CisgICAgPENsQ29tcGlsZT4KKyAgICAgIDxPcHRpbWl6YXRpb24+RGlzYWJsZWQ8L09wdGltaXphdGlvbj4KKyAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXC4uXC4uOy4uXC4uXG1pbml6aXA7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KKyAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fQ1JUX05PTlNURENfTk9fREVQUkVDQVRFO19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtaTElCX1dJTkFQSTtfREVCVUc7X0NPTlNPTEU7V0lONjQ7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgorICAgICAgPE1pbmltYWxSZWJ1aWxkPnRydWU8L01pbmltYWxSZWJ1aWxkPgorICAgICAgPEJhc2ljUnVudGltZUNoZWNrcz5EZWZhdWx0PC9CYXNpY1J1bnRpbWVDaGVja3M+CisgICAgICA8UnVudGltZUxpYnJhcnk+TXVsdGlUaHJlYWRlZERlYnVnRExMPC9SdW50aW1lTGlicmFyeT4KKyAgICAgIDxCdWZmZXJTZWN1cml0eUNoZWNrPmZhbHNlPC9CdWZmZXJTZWN1cml0eUNoZWNrPgorICAgICAgPFByZWNvbXBpbGVkSGVhZGVyPgorICAgICAgPC9QcmVjb21waWxlZEhlYWRlcj4KKyAgICAgIDxBc3NlbWJsZXJMaXN0aW5nTG9jYXRpb24+JChJbnREaXIpPC9Bc3NlbWJsZXJMaXN0aW5nTG9jYXRpb24+CisgICAgICA8V2FybmluZ0xldmVsPkxldmVsMzwvV2FybmluZ0xldmVsPgorICAgICAgPERlYnVnSW5mb3JtYXRpb25Gb3JtYXQ+UHJvZ3JhbURhdGFiYXNlPC9EZWJ1Z0luZm9ybWF0aW9uRm9ybWF0PgorICAgIDwvQ2xDb21waWxlPgorICAgIDxMaW5rPgorICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+eDY0XFpsaWJEbGxEZWJ1Z1x6bGlid2FwaS5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KKyAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKW1pbml1bnouZXhlPC9PdXRwdXRGaWxlPgorICAgICAgPEdlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj50cnVlPC9HZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+CisgICAgICA8UHJvZ3JhbURhdGFiYXNlRmlsZT4kKE91dERpciltaW5pdW56LnBkYjwvUHJvZ3JhbURhdGFiYXNlRmlsZT4KKyAgICAgIDxTdWJTeXN0ZW0+Q29uc29sZTwvU3ViU3lzdGVtPgorICAgICAgPFRhcmdldE1hY2hpbmU+TWFjaGluZVg2NDwvVGFyZ2V0TWFjaGluZT4KKyAgICA8L0xpbms+CisgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KKyAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xJdGFuaXVtJyI+CisgICAgPE1pZGw+CisgICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+SXRhbml1bTwvVGFyZ2V0RW52aXJvbm1lbnQ+CisgICAgPC9NaWRsPgorICAgIDxDbENvbXBpbGU+CisgICAgICA8T3B0aW1pemF0aW9uPkRpc2FibGVkPC9PcHRpbWl6YXRpb24+CisgICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlwuLlwuLjsuLlwuLlxtaW5pemlwOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7WkxJQl9XSU5BUEk7X0RFQlVHO19DT05TT0xFO1dJTjY0OyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KKyAgICAgIDxNaW5pbWFsUmVidWlsZD50cnVlPC9NaW5pbWFsUmVidWlsZD4KKyAgICAgIDxCYXNpY1J1bnRpbWVDaGVja3M+RGVmYXVsdDwvQmFzaWNSdW50aW1lQ2hlY2tzPgorICAgICAgPFJ1bnRpbWVMaWJyYXJ5Pk11bHRpVGhyZWFkZWREZWJ1Z0RMTDwvUnVudGltZUxpYnJhcnk+CisgICAgICA8QnVmZmVyU2VjdXJpdHlDaGVjaz5mYWxzZTwvQnVmZmVyU2VjdXJpdHlDaGVjaz4KKyAgICAgIDxQcmVjb21waWxlZEhlYWRlcj4KKyAgICAgIDwvUHJlY29tcGlsZWRIZWFkZXI+CisgICAgICA8QXNzZW1ibGVyTGlzdGluZ0xvY2F0aW9uPiQoSW50RGlyKTwvQXNzZW1ibGVyTGlzdGluZ0xvY2F0aW9uPgorICAgICAgPFdhcm5pbmdMZXZlbD5MZXZlbDM8L1dhcm5pbmdMZXZlbD4KKyAgICAgIDxEZWJ1Z0luZm9ybWF0aW9uRm9ybWF0PlByb2dyYW1EYXRhYmFzZTwvRGVidWdJbmZvcm1hdGlvbkZvcm1hdD4KKyAgICA8L0NsQ29tcGlsZT4KKyAgICA8TGluaz4KKyAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPmlhNjRcWmxpYkRsbERlYnVnXHpsaWJ3YXBpLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgorICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpbWluaXVuei5leGU8L091dHB1dEZpbGU+CisgICAgICA8R2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPnRydWU8L0dlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj4KKyAgICAgIDxQcm9ncmFtRGF0YWJhc2VGaWxlPiQoT3V0RGlyKW1pbml1bnoucGRiPC9Qcm9ncmFtRGF0YWJhc2VGaWxlPgorICAgICAgPFN1YlN5c3RlbT5Db25zb2xlPC9TdWJTeXN0ZW0+CisgICAgICA8VGFyZ2V0TWFjaGluZT5NYWNoaW5lSUE2NDwvVGFyZ2V0TWFjaGluZT4KKyAgICA8L0xpbms+CisgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KKyAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPgorICAgIDxNaWRsPgorICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+CisgICAgPC9NaWRsPgorICAgIDxDbENvbXBpbGU+CisgICAgICA8T3B0aW1pemF0aW9uPk1heFNwZWVkPC9PcHRpbWl6YXRpb24+CisgICAgICA8SW5saW5lRnVuY3Rpb25FeHBhbnNpb24+T25seUV4cGxpY2l0SW5saW5lPC9JbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj4KKyAgICAgIDxPbWl0RnJhbWVQb2ludGVycz50cnVlPC9PbWl0RnJhbWVQb2ludGVycz4KKyAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXC4uXC4uOy4uXC4uXG1pbml6aXA7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KKyAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fQ1JUX05PTlNURENfTk9fREVQUkVDQVRFO19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtaTElCX1dJTkFQSTtOREVCVUc7X0NPTlNPTEU7V0lONjQ7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgorICAgICAgPFN0cmluZ1Bvb2xpbmc+dHJ1ZTwvU3RyaW5nUG9vbGluZz4KKyAgICAgIDxCYXNpY1J1bnRpbWVDaGVja3M+RGVmYXVsdDwvQmFzaWNSdW50aW1lQ2hlY2tzPgorICAgICAgPFJ1bnRpbWVMaWJyYXJ5Pk11bHRpVGhyZWFkZWRETEw8L1J1bnRpbWVMaWJyYXJ5PgorICAgICAgPEJ1ZmZlclNlY3VyaXR5Q2hlY2s+ZmFsc2U8L0J1ZmZlclNlY3VyaXR5Q2hlY2s+CisgICAgICA8RnVuY3Rpb25MZXZlbExpbmtpbmc+dHJ1ZTwvRnVuY3Rpb25MZXZlbExpbmtpbmc+CisgICAgICA8UHJlY29tcGlsZWRIZWFkZXI+CisgICAgICA8L1ByZWNvbXBpbGVkSGVhZGVyPgorICAgICAgPEFzc2VtYmxlckxpc3RpbmdMb2NhdGlvbj4kKEludERpcik8L0Fzc2VtYmxlckxpc3RpbmdMb2NhdGlvbj4KKyAgICAgIDxXYXJuaW5nTGV2ZWw+TGV2ZWwzPC9XYXJuaW5nTGV2ZWw+CisgICAgICA8RGVidWdJbmZvcm1hdGlvbkZvcm1hdD5Qcm9ncmFtRGF0YWJhc2U8L0RlYnVnSW5mb3JtYXRpb25Gb3JtYXQ+CisgICAgPC9DbENvbXBpbGU+CisgICAgPExpbms+CisgICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz54NjRcWmxpYkRsbFJlbGVhc2VcemxpYndhcGkubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+CisgICAgICA8T3V0cHV0RmlsZT4kKE91dERpciltaW5pdW56LmV4ZTwvT3V0cHV0RmlsZT4KKyAgICAgIDxHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+dHJ1ZTwvR2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPgorICAgICAgPFN1YlN5c3RlbT5Db25zb2xlPC9TdWJTeXN0ZW0+CisgICAgICA8T3B0aW1pemVSZWZlcmVuY2VzPnRydWU8L09wdGltaXplUmVmZXJlbmNlcz4KKyAgICAgIDxFbmFibGVDT01EQVRGb2xkaW5nPnRydWU8L0VuYWJsZUNPTURBVEZvbGRpbmc+CisgICAgICA8VGFyZ2V0TWFjaGluZT5NYWNoaW5lWDY0PC9UYXJnZXRNYWNoaW5lPgorICAgIDwvTGluaz4KKyAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgorICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8SXRhbml1bSciPgorICAgIDxNaWRsPgorICAgICAgPFRhcmdldEVudmlyb25tZW50Pkl0YW5pdW08L1RhcmdldEVudmlyb25tZW50PgorICAgIDwvTWlkbD4KKyAgICA8Q2xDb21waWxlPgorICAgICAgPE9wdGltaXphdGlvbj5NYXhTcGVlZDwvT3B0aW1pemF0aW9uPgorICAgICAgPElubGluZUZ1bmN0aW9uRXhwYW5zaW9uPk9ubHlFeHBsaWNpdElubGluZTwvSW5saW5lRnVuY3Rpb25FeHBhbnNpb24+CisgICAgICA8T21pdEZyYW1lUG9pbnRlcnM+dHJ1ZTwvT21pdEZyYW1lUG9pbnRlcnM+CisgICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlwuLlwuLjsuLlwuLlxtaW5pemlwOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7WkxJQl9XSU5BUEk7TkRFQlVHO19DT05TT0xFO1dJTjY0OyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KKyAgICAgIDxTdHJpbmdQb29saW5nPnRydWU8L1N0cmluZ1Bvb2xpbmc+CisgICAgICA8QmFzaWNSdW50aW1lQ2hlY2tzPkRlZmF1bHQ8L0Jhc2ljUnVudGltZUNoZWNrcz4KKyAgICAgIDxSdW50aW1lTGlicmFyeT5NdWx0aVRocmVhZGVkRExMPC9SdW50aW1lTGlicmFyeT4KKyAgICAgIDxCdWZmZXJTZWN1cml0eUNoZWNrPmZhbHNlPC9CdWZmZXJTZWN1cml0eUNoZWNrPgorICAgICAgPEZ1bmN0aW9uTGV2ZWxMaW5raW5nPnRydWU8L0Z1bmN0aW9uTGV2ZWxMaW5raW5nPgorICAgICAgPFByZWNvbXBpbGVkSGVhZGVyPgorICAgICAgPC9QcmVjb21waWxlZEhlYWRlcj4KKyAgICAgIDxBc3NlbWJsZXJMaXN0aW5nTG9jYXRpb24+JChJbnREaXIpPC9Bc3NlbWJsZXJMaXN0aW5nTG9jYXRpb24+CisgICAgICA8V2FybmluZ0xldmVsPkxldmVsMzwvV2FybmluZ0xldmVsPgorICAgICAgPERlYnVnSW5mb3JtYXRpb25Gb3JtYXQ+UHJvZ3JhbURhdGFiYXNlPC9EZWJ1Z0luZm9ybWF0aW9uRm9ybWF0PgorICAgIDwvQ2xDb21waWxlPgorICAgIDxMaW5rPgorICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+aWE2NFxabGliRGxsUmVsZWFzZVx6bGlid2FwaS5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KKyAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKW1pbml1bnouZXhlPC9PdXRwdXRGaWxlPgorICAgICAgPEdlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj50cnVlPC9HZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+CisgICAgICA8U3ViU3lzdGVtPkNvbnNvbGU8L1N1YlN5c3RlbT4KKyAgICAgIDxPcHRpbWl6ZVJlZmVyZW5jZXM+dHJ1ZTwvT3B0aW1pemVSZWZlcmVuY2VzPgorICAgICAgPEVuYWJsZUNPTURBVEZvbGRpbmc+dHJ1ZTwvRW5hYmxlQ09NREFURm9sZGluZz4KKyAgICAgIDxUYXJnZXRNYWNoaW5lPk1hY2hpbmVJQTY0PC9UYXJnZXRNYWNoaW5lPgorICAgIDwvTGluaz4KKyAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgorICA8SXRlbUdyb3VwPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cbWluaXppcFxtaW5pdW56LmMiIC8+CisgIDwvSXRlbUdyb3VwPgorICA8SXRlbUdyb3VwPgorICAgIDxQcm9qZWN0UmVmZXJlbmNlIEluY2x1ZGU9InpsaWJ2Yy52Y3hwcm9qIj4KKyAgICAgIDxQcm9qZWN0Pns4ZmQ4MjZmOC0zNzM5LTQ0ZTYtOGNjOC05OTcxMjJlNTNiOGR9PC9Qcm9qZWN0PgorICAgIDwvUHJvamVjdFJlZmVyZW5jZT4KKyAgPC9JdGVtR3JvdXA+CisgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnRhcmdldHMiIC8+CisgIDxJbXBvcnRHcm91cCBMYWJlbD0iRXh0ZW5zaW9uVGFyZ2V0cyI+CisgIDwvSW1wb3J0R3JvdXA+Cis8L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3JjL2NvbnRyaWIvdnN0dWRpby92YzE0L21pbml6aXAudmN4cHJvaiBiL3NyYy9jb250cmliL3ZzdHVkaW8vdmMxNC9taW5pemlwLnZjeHByb2oKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTY4YTQxMAotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9jb250cmliL3ZzdHVkaW8vdmMxNC9taW5pemlwLnZjeHByb2oKQEAgLTAsMCArMSwzMTMgQEAKK++7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8UHJvamVjdCBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIFRvb2xzVmVyc2lvbj0iMTQuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+CisgIDxJdGVtR3JvdXAgTGFiZWw9IlByb2plY3RDb25maWd1cmF0aW9ucyI+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IkRlYnVnfEl0YW5pdW0iPgorICAgICAgPENvbmZpZ3VyYXRpb24+RGVidWc8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+SXRhbml1bTwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iRGVidWd8V2luMzIiPgorICAgICAgPENvbmZpZ3VyYXRpb24+RGVidWc8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+V2luMzI8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IkRlYnVnfHg2NCI+CisgICAgICA8Q29uZmlndXJhdGlvbj5EZWJ1ZzwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT54NjQ8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlJlbGVhc2V8SXRhbml1bSI+CisgICAgICA8Q29uZmlndXJhdGlvbj5SZWxlYXNlPC9Db25maWd1cmF0aW9uPgorICAgICAgPFBsYXRmb3JtPkl0YW5pdW08L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlJlbGVhc2V8V2luMzIiPgorICAgICAgPENvbmZpZ3VyYXRpb24+UmVsZWFzZTwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUmVsZWFzZXx4NjQiPgorICAgICAgPENvbmZpZ3VyYXRpb24+UmVsZWFzZTwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT54NjQ8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgIDwvSXRlbUdyb3VwPgorICA8UHJvcGVydHlHcm91cCBMYWJlbD0iR2xvYmFscyI+CisgICAgPFByb2plY3RHdWlkPns0OENERDlEQy1FMDlGLTQxMzUtOUMwQy00RkU1MEMzQzY1NEJ9PC9Qcm9qZWN0R3VpZD4KKyAgICA8S2V5d29yZD5XaW4zMlByb2o8L0tleXdvcmQ+CisgIDwvUHJvcGVydHlHcm91cD4KKyAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAuRGVmYXVsdC5wcm9wcyIgLz4KKyAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgorICAgIDxDb25maWd1cmF0aW9uVHlwZT5BcHBsaWNhdGlvbjwvQ29uZmlndXJhdGlvblR5cGU+CisgICAgPENoYXJhY3RlclNldD5NdWx0aUJ5dGU8L0NoYXJhY3RlclNldD4KKyAgICA8UGxhdGZvcm1Ub29sc2V0PnYxNDA8L1BsYXRmb3JtVG9vbHNldD4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgorICAgIDxDb25maWd1cmF0aW9uVHlwZT5BcHBsaWNhdGlvbjwvQ29uZmlndXJhdGlvblR5cGU+CisgICAgPENoYXJhY3RlclNldD5Vbmljb2RlPC9DaGFyYWN0ZXJTZXQ+CisgICAgPFBsYXRmb3JtVG9vbHNldD52MTQwPC9QbGF0Zm9ybVRvb2xzZXQ+CisgIDwvUHJvcGVydHlHcm91cD4KKyAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfEl0YW5pdW0nIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+CisgICAgPENvbmZpZ3VyYXRpb25UeXBlPkFwcGxpY2F0aW9uPC9Db25maWd1cmF0aW9uVHlwZT4KKyAgICA8Q2hhcmFjdGVyU2V0Pk11bHRpQnl0ZTwvQ2hhcmFjdGVyU2V0PgorICAgIDxQbGF0Zm9ybVRvb2xzZXQ+djE0MDwvUGxhdGZvcm1Ub29sc2V0PgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8SXRhbml1bSciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KKyAgICA8Q29uZmlndXJhdGlvblR5cGU+QXBwbGljYXRpb248L0NvbmZpZ3VyYXRpb25UeXBlPgorICAgIDxDaGFyYWN0ZXJTZXQ+TXVsdGlCeXRlPC9DaGFyYWN0ZXJTZXQ+CisgICAgPFBsYXRmb3JtVG9vbHNldD52MTQwPC9QbGF0Zm9ybVRvb2xzZXQ+CisgIDwvUHJvcGVydHlHcm91cD4KKyAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KKyAgICA8Q29uZmlndXJhdGlvblR5cGU+QXBwbGljYXRpb248L0NvbmZpZ3VyYXRpb25UeXBlPgorICAgIDxDaGFyYWN0ZXJTZXQ+TXVsdGlCeXRlPC9DaGFyYWN0ZXJTZXQ+CisgICAgPFBsYXRmb3JtVG9vbHNldD52MTQwPC9QbGF0Zm9ybVRvb2xzZXQ+CisgIDwvUHJvcGVydHlHcm91cD4KKyAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+CisgICAgPENvbmZpZ3VyYXRpb25UeXBlPkFwcGxpY2F0aW9uPC9Db25maWd1cmF0aW9uVHlwZT4KKyAgICA8Q2hhcmFjdGVyU2V0Pk11bHRpQnl0ZTwvQ2hhcmFjdGVyU2V0PgorICAgIDxQbGF0Zm9ybVRvb2xzZXQ+djE0MDwvUGxhdGZvcm1Ub29sc2V0PgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnByb3BzIiAvPgorICA8SW1wb3J0R3JvdXAgTGFiZWw9IkV4dGVuc2lvblNldHRpbmdzIj4KKyAgPC9JbXBvcnRHcm91cD4KKyAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CisgICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgorICA8L0ltcG9ydEdyb3VwPgorICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CisgICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgorICA8L0ltcG9ydEdyb3VwPgorICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfEl0YW5pdW0nIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgorICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KKyAgPC9JbXBvcnRHcm91cD4KKyAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8SXRhbml1bSciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CisgICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgorICA8L0ltcG9ydEdyb3VwPgorICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CisgICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgorICA8L0ltcG9ydEdyb3VwPgorICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgorICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KKyAgPC9JbXBvcnRHcm91cD4KKyAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IlVzZXJNYWNyb3MiIC8+CisgIDxQcm9wZXJ0eUdyb3VwPgorICAgIDxfUHJvamVjdEZpbGVWZXJzaW9uPjEwLjAuMzAxMjguMTwvX1Byb2plY3RGaWxlVmVyc2lvbj4KKyAgICA8T3V0RGlyIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj54ODZcTWluaVppcCQoQ29uZmlndXJhdGlvbilcPC9PdXREaXI+CisgICAgPEludERpciBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+eDg2XE1pbmlaaXAkKENvbmZpZ3VyYXRpb24pXFRtcFw8L0ludERpcj4KKyAgICA8TGlua0luY3JlbWVudGFsIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj50cnVlPC9MaW5rSW5jcmVtZW50YWw+CisgICAgPEdlbmVyYXRlTWFuaWZlc3QgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPmZhbHNlPC9HZW5lcmF0ZU1hbmlmZXN0PgorICAgIDxPdXREaXIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+eDg2XE1pbmlaaXAkKENvbmZpZ3VyYXRpb24pXDwvT3V0RGlyPgorICAgIDxJbnREaXIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+eDg2XE1pbmlaaXAkKENvbmZpZ3VyYXRpb24pXFRtcFw8L0ludERpcj4KKyAgICA8TGlua0luY3JlbWVudGFsIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPmZhbHNlPC9MaW5rSW5jcmVtZW50YWw+CisgICAgPE91dERpciBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPng2NFwkKENvbmZpZ3VyYXRpb24pXDwvT3V0RGlyPgorICAgIDxJbnREaXIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj54NjRcJChDb25maWd1cmF0aW9uKVw8L0ludERpcj4KKyAgICA8TGlua0luY3JlbWVudGFsIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+dHJ1ZTwvTGlua0luY3JlbWVudGFsPgorICAgIDxHZW5lcmF0ZU1hbmlmZXN0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+ZmFsc2U8L0dlbmVyYXRlTWFuaWZlc3Q+CisgICAgPE91dERpciBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfEl0YW5pdW0nIj5pYTY0XCQoQ29uZmlndXJhdGlvbilcPC9PdXREaXI+CisgICAgPEludERpciBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfEl0YW5pdW0nIj5pYTY0XCQoQ29uZmlndXJhdGlvbilcPC9JbnREaXI+CisgICAgPExpbmtJbmNyZW1lbnRhbCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfEl0YW5pdW0nIj50cnVlPC9MaW5rSW5jcmVtZW50YWw+CisgICAgPEdlbmVyYXRlTWFuaWZlc3QgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xJdGFuaXVtJyI+ZmFsc2U8L0dlbmVyYXRlTWFuaWZlc3Q+CisgICAgPE91dERpciBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+eDY0XCQoQ29uZmlndXJhdGlvbilcPC9PdXREaXI+CisgICAgPEludERpciBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+eDY0XCQoQ29uZmlndXJhdGlvbilcPC9JbnREaXI+CisgICAgPExpbmtJbmNyZW1lbnRhbCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+ZmFsc2U8L0xpbmtJbmNyZW1lbnRhbD4KKyAgICA8T3V0RGlyIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxJdGFuaXVtJyI+aWE2NFwkKENvbmZpZ3VyYXRpb24pXDwvT3V0RGlyPgorICAgIDxJbnREaXIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfEl0YW5pdW0nIj5pYTY0XCQoQ29uZmlndXJhdGlvbilcPC9JbnREaXI+CisgICAgPExpbmtJbmNyZW1lbnRhbCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8SXRhbml1bSciPmZhbHNlPC9MaW5rSW5jcmVtZW50YWw+CisgICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xJdGFuaXVtJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xJdGFuaXVtJyIgLz4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xJdGFuaXVtJyIgLz4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIC8+CisgICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiAvPgorICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiAvPgorICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIC8+CisgICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfEl0YW5pdW0nIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgorICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8SXRhbml1bSciIC8+CisgICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxJdGFuaXVtJyIgLz4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgorICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiAvPgorICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiAvPgorICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgorICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgLz4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIC8+CisgIDwvUHJvcGVydHlHcm91cD4KKyAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPgorICAgIDxDbENvbXBpbGU+CisgICAgICA8T3B0aW1pemF0aW9uPkRpc2FibGVkPC9PcHRpbWl6YXRpb24+CisgICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlwuLlwuLjsuLlwuLlxtaW5pemlwOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+V0lOMzI7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7WkxJQl9XSU5BUEk7X0RFQlVHO19DT05TT0xFOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KKyAgICAgIDxNaW5pbWFsUmVidWlsZD50cnVlPC9NaW5pbWFsUmVidWlsZD4KKyAgICAgIDxCYXNpY1J1bnRpbWVDaGVja3M+RGVmYXVsdDwvQmFzaWNSdW50aW1lQ2hlY2tzPgorICAgICAgPFJ1bnRpbWVMaWJyYXJ5Pk11bHRpVGhyZWFkZWREZWJ1Z0RMTDwvUnVudGltZUxpYnJhcnk+CisgICAgICA8QnVmZmVyU2VjdXJpdHlDaGVjaz5mYWxzZTwvQnVmZmVyU2VjdXJpdHlDaGVjaz4KKyAgICAgIDxQcmVjb21waWxlZEhlYWRlcj4KKyAgICAgIDwvUHJlY29tcGlsZWRIZWFkZXI+CisgICAgICA8QXNzZW1ibGVyTGlzdGluZ0xvY2F0aW9uPiQoSW50RGlyKTwvQXNzZW1ibGVyTGlzdGluZ0xvY2F0aW9uPgorICAgICAgPFdhcm5pbmdMZXZlbD5MZXZlbDM8L1dhcm5pbmdMZXZlbD4KKyAgICAgIDxEZWJ1Z0luZm9ybWF0aW9uRm9ybWF0PlByb2dyYW1EYXRhYmFzZTwvRGVidWdJbmZvcm1hdGlvbkZvcm1hdD4KKyAgICA8L0NsQ29tcGlsZT4KKyAgICA8TGluaz4KKyAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPng4NlxabGliRGxsRGVidWdcemxpYndhcGkubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+CisgICAgICA8T3V0cHV0RmlsZT4kKE91dERpciltaW5pemlwLmV4ZTwvT3V0cHV0RmlsZT4KKyAgICAgIDxHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+dHJ1ZTwvR2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPgorICAgICAgPFByb2dyYW1EYXRhYmFzZUZpbGU+JChPdXREaXIpbWluaXppcC5wZGI8L1Byb2dyYW1EYXRhYmFzZUZpbGU+CisgICAgICA8U3ViU3lzdGVtPkNvbnNvbGU8L1N1YlN5c3RlbT4KKyAgICAgIDxSYW5kb21pemVkQmFzZUFkZHJlc3M+ZmFsc2U8L1JhbmRvbWl6ZWRCYXNlQWRkcmVzcz4KKyAgICAgIDxEYXRhRXhlY3V0aW9uUHJldmVudGlvbj4KKyAgICAgIDwvRGF0YUV4ZWN1dGlvblByZXZlbnRpb24+CisgICAgICA8VGFyZ2V0TWFjaGluZT5NYWNoaW5lWDg2PC9UYXJnZXRNYWNoaW5lPgorICAgIDwvTGluaz4KKyAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgorICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj4KKyAgICA8Q2xDb21waWxlPgorICAgICAgPE9wdGltaXphdGlvbj5NYXhTcGVlZDwvT3B0aW1pemF0aW9uPgorICAgICAgPElubGluZUZ1bmN0aW9uRXhwYW5zaW9uPk9ubHlFeHBsaWNpdElubGluZTwvSW5saW5lRnVuY3Rpb25FeHBhbnNpb24+CisgICAgICA8T21pdEZyYW1lUG9pbnRlcnM+dHJ1ZTwvT21pdEZyYW1lUG9pbnRlcnM+CisgICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlwuLlwuLjsuLlwuLlxtaW5pemlwOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+V0lOMzI7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7WkxJQl9XSU5BUEk7TkRFQlVHO19DT05TT0xFOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KKyAgICAgIDxTdHJpbmdQb29saW5nPnRydWU8L1N0cmluZ1Bvb2xpbmc+CisgICAgICA8QmFzaWNSdW50aW1lQ2hlY2tzPkRlZmF1bHQ8L0Jhc2ljUnVudGltZUNoZWNrcz4KKyAgICAgIDxSdW50aW1lTGlicmFyeT5NdWx0aVRocmVhZGVkPC9SdW50aW1lTGlicmFyeT4KKyAgICAgIDxCdWZmZXJTZWN1cml0eUNoZWNrPmZhbHNlPC9CdWZmZXJTZWN1cml0eUNoZWNrPgorICAgICAgPEZ1bmN0aW9uTGV2ZWxMaW5raW5nPnRydWU8L0Z1bmN0aW9uTGV2ZWxMaW5raW5nPgorICAgICAgPFByZWNvbXBpbGVkSGVhZGVyPgorICAgICAgPC9QcmVjb21waWxlZEhlYWRlcj4KKyAgICAgIDxBc3NlbWJsZXJMaXN0aW5nTG9jYXRpb24+JChJbnREaXIpPC9Bc3NlbWJsZXJMaXN0aW5nTG9jYXRpb24+CisgICAgICA8V2FybmluZ0xldmVsPkxldmVsMzwvV2FybmluZ0xldmVsPgorICAgICAgPERlYnVnSW5mb3JtYXRpb25Gb3JtYXQ+UHJvZ3JhbURhdGFiYXNlPC9EZWJ1Z0luZm9ybWF0aW9uRm9ybWF0PgorICAgIDwvQ2xDb21waWxlPgorICAgIDxMaW5rPgorICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+eDg2XFpsaWJEbGxSZWxlYXNlXHpsaWJ3YXBpLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgorICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpbWluaXppcC5leGU8L091dHB1dEZpbGU+CisgICAgICA8R2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPnRydWU8L0dlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj4KKyAgICAgIDxTdWJTeXN0ZW0+Q29uc29sZTwvU3ViU3lzdGVtPgorICAgICAgPE9wdGltaXplUmVmZXJlbmNlcz50cnVlPC9PcHRpbWl6ZVJlZmVyZW5jZXM+CisgICAgICA8RW5hYmxlQ09NREFURm9sZGluZz50cnVlPC9FbmFibGVDT01EQVRGb2xkaW5nPgorICAgICAgPFJhbmRvbWl6ZWRCYXNlQWRkcmVzcz5mYWxzZTwvUmFuZG9taXplZEJhc2VBZGRyZXNzPgorICAgICAgPERhdGFFeGVjdXRpb25QcmV2ZW50aW9uPgorICAgICAgPC9EYXRhRXhlY3V0aW9uUHJldmVudGlvbj4KKyAgICAgIDxUYXJnZXRNYWNoaW5lPk1hY2hpbmVYODY8L1RhcmdldE1hY2hpbmU+CisgICAgPC9MaW5rPgorICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+CisgIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+CisgICAgPE1pZGw+CisgICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KKyAgICA8L01pZGw+CisgICAgPENsQ29tcGlsZT4KKyAgICAgIDxPcHRpbWl6YXRpb24+RGlzYWJsZWQ8L09wdGltaXphdGlvbj4KKyAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXC4uXC4uOy4uXC4uXG1pbml6aXA7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KKyAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fQ1JUX05PTlNURENfTk9fREVQUkVDQVRFO19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtaTElCX1dJTkFQSTtfREVCVUc7X0NPTlNPTEU7V0lONjQ7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgorICAgICAgPE1pbmltYWxSZWJ1aWxkPnRydWU8L01pbmltYWxSZWJ1aWxkPgorICAgICAgPEJhc2ljUnVudGltZUNoZWNrcz5EZWZhdWx0PC9CYXNpY1J1bnRpbWVDaGVja3M+CisgICAgICA8UnVudGltZUxpYnJhcnk+TXVsdGlUaHJlYWRlZERlYnVnRExMPC9SdW50aW1lTGlicmFyeT4KKyAgICAgIDxCdWZmZXJTZWN1cml0eUNoZWNrPmZhbHNlPC9CdWZmZXJTZWN1cml0eUNoZWNrPgorICAgICAgPFByZWNvbXBpbGVkSGVhZGVyPgorICAgICAgPC9QcmVjb21waWxlZEhlYWRlcj4KKyAgICAgIDxBc3NlbWJsZXJMaXN0aW5nTG9jYXRpb24+JChJbnREaXIpPC9Bc3NlbWJsZXJMaXN0aW5nTG9jYXRpb24+CisgICAgICA8V2FybmluZ0xldmVsPkxldmVsMzwvV2FybmluZ0xldmVsPgorICAgICAgPERlYnVnSW5mb3JtYXRpb25Gb3JtYXQ+UHJvZ3JhbURhdGFiYXNlPC9EZWJ1Z0luZm9ybWF0aW9uRm9ybWF0PgorICAgIDwvQ2xDb21waWxlPgorICAgIDxMaW5rPgorICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+eDY0XFpsaWJEbGxEZWJ1Z1x6bGlid2FwaS5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KKyAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKW1pbml6aXAuZXhlPC9PdXRwdXRGaWxlPgorICAgICAgPEdlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj50cnVlPC9HZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+CisgICAgICA8UHJvZ3JhbURhdGFiYXNlRmlsZT4kKE91dERpciltaW5pemlwLnBkYjwvUHJvZ3JhbURhdGFiYXNlRmlsZT4KKyAgICAgIDxTdWJTeXN0ZW0+Q29uc29sZTwvU3ViU3lzdGVtPgorICAgICAgPFRhcmdldE1hY2hpbmU+TWFjaGluZVg2NDwvVGFyZ2V0TWFjaGluZT4KKyAgICA8L0xpbms+CisgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KKyAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xJdGFuaXVtJyI+CisgICAgPE1pZGw+CisgICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+SXRhbml1bTwvVGFyZ2V0RW52aXJvbm1lbnQ+CisgICAgPC9NaWRsPgorICAgIDxDbENvbXBpbGU+CisgICAgICA8T3B0aW1pemF0aW9uPkRpc2FibGVkPC9PcHRpbWl6YXRpb24+CisgICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlwuLlwuLjsuLlwuLlxtaW5pemlwOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7WkxJQl9XSU5BUEk7X0RFQlVHO19DT05TT0xFO1dJTjY0OyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KKyAgICAgIDxNaW5pbWFsUmVidWlsZD50cnVlPC9NaW5pbWFsUmVidWlsZD4KKyAgICAgIDxCYXNpY1J1bnRpbWVDaGVja3M+RGVmYXVsdDwvQmFzaWNSdW50aW1lQ2hlY2tzPgorICAgICAgPFJ1bnRpbWVMaWJyYXJ5Pk11bHRpVGhyZWFkZWREZWJ1Z0RMTDwvUnVudGltZUxpYnJhcnk+CisgICAgICA8QnVmZmVyU2VjdXJpdHlDaGVjaz5mYWxzZTwvQnVmZmVyU2VjdXJpdHlDaGVjaz4KKyAgICAgIDxQcmVjb21waWxlZEhlYWRlcj4KKyAgICAgIDwvUHJlY29tcGlsZWRIZWFkZXI+CisgICAgICA8QXNzZW1ibGVyTGlzdGluZ0xvY2F0aW9uPiQoSW50RGlyKTwvQXNzZW1ibGVyTGlzdGluZ0xvY2F0aW9uPgorICAgICAgPFdhcm5pbmdMZXZlbD5MZXZlbDM8L1dhcm5pbmdMZXZlbD4KKyAgICAgIDxEZWJ1Z0luZm9ybWF0aW9uRm9ybWF0PlByb2dyYW1EYXRhYmFzZTwvRGVidWdJbmZvcm1hdGlvbkZvcm1hdD4KKyAgICA8L0NsQ29tcGlsZT4KKyAgICA8TGluaz4KKyAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPmlhNjRcWmxpYkRsbERlYnVnXHpsaWJ3YXBpLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgorICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpbWluaXppcC5leGU8L091dHB1dEZpbGU+CisgICAgICA8R2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPnRydWU8L0dlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj4KKyAgICAgIDxQcm9ncmFtRGF0YWJhc2VGaWxlPiQoT3V0RGlyKW1pbml6aXAucGRiPC9Qcm9ncmFtRGF0YWJhc2VGaWxlPgorICAgICAgPFN1YlN5c3RlbT5Db25zb2xlPC9TdWJTeXN0ZW0+CisgICAgICA8VGFyZ2V0TWFjaGluZT5NYWNoaW5lSUE2NDwvVGFyZ2V0TWFjaGluZT4KKyAgICA8L0xpbms+CisgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KKyAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPgorICAgIDxNaWRsPgorICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+CisgICAgPC9NaWRsPgorICAgIDxDbENvbXBpbGU+CisgICAgICA8T3B0aW1pemF0aW9uPk1heFNwZWVkPC9PcHRpbWl6YXRpb24+CisgICAgICA8SW5saW5lRnVuY3Rpb25FeHBhbnNpb24+T25seUV4cGxpY2l0SW5saW5lPC9JbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj4KKyAgICAgIDxPbWl0RnJhbWVQb2ludGVycz50cnVlPC9PbWl0RnJhbWVQb2ludGVycz4KKyAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXC4uXC4uOy4uXC4uXG1pbml6aXA7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KKyAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fQ1JUX05PTlNURENfTk9fREVQUkVDQVRFO19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtaTElCX1dJTkFQSTtOREVCVUc7X0NPTlNPTEU7V0lONjQ7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgorICAgICAgPFN0cmluZ1Bvb2xpbmc+dHJ1ZTwvU3RyaW5nUG9vbGluZz4KKyAgICAgIDxCYXNpY1J1bnRpbWVDaGVja3M+RGVmYXVsdDwvQmFzaWNSdW50aW1lQ2hlY2tzPgorICAgICAgPFJ1bnRpbWVMaWJyYXJ5Pk11bHRpVGhyZWFkZWRETEw8L1J1bnRpbWVMaWJyYXJ5PgorICAgICAgPEJ1ZmZlclNlY3VyaXR5Q2hlY2s+ZmFsc2U8L0J1ZmZlclNlY3VyaXR5Q2hlY2s+CisgICAgICA8RnVuY3Rpb25MZXZlbExpbmtpbmc+dHJ1ZTwvRnVuY3Rpb25MZXZlbExpbmtpbmc+CisgICAgICA8UHJlY29tcGlsZWRIZWFkZXI+CisgICAgICA8L1ByZWNvbXBpbGVkSGVhZGVyPgorICAgICAgPEFzc2VtYmxlckxpc3RpbmdMb2NhdGlvbj4kKEludERpcik8L0Fzc2VtYmxlckxpc3RpbmdMb2NhdGlvbj4KKyAgICAgIDxXYXJuaW5nTGV2ZWw+TGV2ZWwzPC9XYXJuaW5nTGV2ZWw+CisgICAgICA8RGVidWdJbmZvcm1hdGlvbkZvcm1hdD5Qcm9ncmFtRGF0YWJhc2U8L0RlYnVnSW5mb3JtYXRpb25Gb3JtYXQ+CisgICAgPC9DbENvbXBpbGU+CisgICAgPExpbms+CisgICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz54NjRcWmxpYkRsbFJlbGVhc2VcemxpYndhcGkubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+CisgICAgICA8T3V0cHV0RmlsZT4kKE91dERpciltaW5pemlwLmV4ZTwvT3V0cHV0RmlsZT4KKyAgICAgIDxHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+dHJ1ZTwvR2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPgorICAgICAgPFN1YlN5c3RlbT5Db25zb2xlPC9TdWJTeXN0ZW0+CisgICAgICA8T3B0aW1pemVSZWZlcmVuY2VzPnRydWU8L09wdGltaXplUmVmZXJlbmNlcz4KKyAgICAgIDxFbmFibGVDT01EQVRGb2xkaW5nPnRydWU8L0VuYWJsZUNPTURBVEZvbGRpbmc+CisgICAgICA8VGFyZ2V0TWFjaGluZT5NYWNoaW5lWDY0PC9UYXJnZXRNYWNoaW5lPgorICAgIDwvTGluaz4KKyAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgorICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8SXRhbml1bSciPgorICAgIDxNaWRsPgorICAgICAgPFRhcmdldEVudmlyb25tZW50Pkl0YW5pdW08L1RhcmdldEVudmlyb25tZW50PgorICAgIDwvTWlkbD4KKyAgICA8Q2xDb21waWxlPgorICAgICAgPE9wdGltaXphdGlvbj5NYXhTcGVlZDwvT3B0aW1pemF0aW9uPgorICAgICAgPElubGluZUZ1bmN0aW9uRXhwYW5zaW9uPk9ubHlFeHBsaWNpdElubGluZTwvSW5saW5lRnVuY3Rpb25FeHBhbnNpb24+CisgICAgICA8T21pdEZyYW1lUG9pbnRlcnM+dHJ1ZTwvT21pdEZyYW1lUG9pbnRlcnM+CisgICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlwuLlwuLjsuLlwuLlxtaW5pemlwOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7WkxJQl9XSU5BUEk7TkRFQlVHO19DT05TT0xFO1dJTjY0OyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KKyAgICAgIDxTdHJpbmdQb29saW5nPnRydWU8L1N0cmluZ1Bvb2xpbmc+CisgICAgICA8QmFzaWNSdW50aW1lQ2hlY2tzPkRlZmF1bHQ8L0Jhc2ljUnVudGltZUNoZWNrcz4KKyAgICAgIDxSdW50aW1lTGlicmFyeT5NdWx0aVRocmVhZGVkRExMPC9SdW50aW1lTGlicmFyeT4KKyAgICAgIDxCdWZmZXJTZWN1cml0eUNoZWNrPmZhbHNlPC9CdWZmZXJTZWN1cml0eUNoZWNrPgorICAgICAgPEZ1bmN0aW9uTGV2ZWxMaW5raW5nPnRydWU8L0Z1bmN0aW9uTGV2ZWxMaW5raW5nPgorICAgICAgPFByZWNvbXBpbGVkSGVhZGVyPgorICAgICAgPC9QcmVjb21waWxlZEhlYWRlcj4KKyAgICAgIDxBc3NlbWJsZXJMaXN0aW5nTG9jYXRpb24+JChJbnREaXIpPC9Bc3NlbWJsZXJMaXN0aW5nTG9jYXRpb24+CisgICAgICA8V2FybmluZ0xldmVsPkxldmVsMzwvV2FybmluZ0xldmVsPgorICAgICAgPERlYnVnSW5mb3JtYXRpb25Gb3JtYXQ+UHJvZ3JhbURhdGFiYXNlPC9EZWJ1Z0luZm9ybWF0aW9uRm9ybWF0PgorICAgIDwvQ2xDb21waWxlPgorICAgIDxMaW5rPgorICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+aWE2NFxabGliRGxsUmVsZWFzZVx6bGlid2FwaS5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KKyAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKW1pbml6aXAuZXhlPC9PdXRwdXRGaWxlPgorICAgICAgPEdlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj50cnVlPC9HZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+CisgICAgICA8U3ViU3lzdGVtPkNvbnNvbGU8L1N1YlN5c3RlbT4KKyAgICAgIDxPcHRpbWl6ZVJlZmVyZW5jZXM+dHJ1ZTwvT3B0aW1pemVSZWZlcmVuY2VzPgorICAgICAgPEVuYWJsZUNPTURBVEZvbGRpbmc+dHJ1ZTwvRW5hYmxlQ09NREFURm9sZGluZz4KKyAgICAgIDxUYXJnZXRNYWNoaW5lPk1hY2hpbmVJQTY0PC9UYXJnZXRNYWNoaW5lPgorICAgIDwvTGluaz4KKyAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgorICA8SXRlbUdyb3VwPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cbWluaXppcFxtaW5pemlwLmMiIC8+CisgIDwvSXRlbUdyb3VwPgorICA8SXRlbUdyb3VwPgorICAgIDxQcm9qZWN0UmVmZXJlbmNlIEluY2x1ZGU9InpsaWJ2Yy52Y3hwcm9qIj4KKyAgICAgIDxQcm9qZWN0Pns4ZmQ4MjZmOC0zNzM5LTQ0ZTYtOGNjOC05OTcxMjJlNTNiOGR9PC9Qcm9qZWN0PgorICAgIDwvUHJvamVjdFJlZmVyZW5jZT4KKyAgPC9JdGVtR3JvdXA+CisgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnRhcmdldHMiIC8+CisgIDxJbXBvcnRHcm91cCBMYWJlbD0iRXh0ZW5zaW9uVGFyZ2V0cyI+CisgIDwvSW1wb3J0R3JvdXA+Cis8L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3JjL2NvbnRyaWIvdnN0dWRpby92YzE0L3Rlc3R6bGliLnZjeHByb2ogYi9zcmMvY29udHJpYi92c3R1ZGlvL3ZjMTQvdGVzdHpsaWIudmN4cHJvagpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NDUyMDQ5Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjL2NvbnRyaWIvdnN0dWRpby92YzE0L3Rlc3R6bGliLnZjeHByb2oKQEAgLTAsMCArMSw0MjIgQEAKK++7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8UHJvamVjdCBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIFRvb2xzVmVyc2lvbj0iMTQuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+CisgIDxJdGVtR3JvdXAgTGFiZWw9IlByb2plY3RDb25maWd1cmF0aW9ucyI+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IkRlYnVnfEl0YW5pdW0iPgorICAgICAgPENvbmZpZ3VyYXRpb24+RGVidWc8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+SXRhbml1bTwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iRGVidWd8V2luMzIiPgorICAgICAgPENvbmZpZ3VyYXRpb24+RGVidWc8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+V2luMzI8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IkRlYnVnfHg2NCI+CisgICAgICA8Q29uZmlndXJhdGlvbj5EZWJ1ZzwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT54NjQ8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlJlbGVhc2VXaXRob3V0QXNtfEl0YW5pdW0iPgorICAgICAgPENvbmZpZ3VyYXRpb24+UmVsZWFzZVdpdGhvdXRBc208L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+SXRhbml1bTwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUmVsZWFzZVdpdGhvdXRBc218V2luMzIiPgorICAgICAgPENvbmZpZ3VyYXRpb24+UmVsZWFzZVdpdGhvdXRBc208L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+V2luMzI8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlJlbGVhc2VXaXRob3V0QXNtfHg2NCI+CisgICAgICA8Q29uZmlndXJhdGlvbj5SZWxlYXNlV2l0aG91dEFzbTwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT54NjQ8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlJlbGVhc2V8SXRhbml1bSI+CisgICAgICA8Q29uZmlndXJhdGlvbj5SZWxlYXNlPC9Db25maWd1cmF0aW9uPgorICAgICAgPFBsYXRmb3JtPkl0YW5pdW08L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlJlbGVhc2V8V2luMzIiPgorICAgICAgPENvbmZpZ3VyYXRpb24+UmVsZWFzZTwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUmVsZWFzZXx4NjQiPgorICAgICAgPENvbmZpZ3VyYXRpb24+UmVsZWFzZTwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT54NjQ8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgIDwvSXRlbUdyb3VwPgorICA8UHJvcGVydHlHcm91cCBMYWJlbD0iR2xvYmFscyI+CisgICAgPFByb2plY3RHdWlkPntBQTY2NjZBQS1FMDlGLTQxMzUtOUMwQy00RkU1MEMzQzY1NEJ9PC9Qcm9qZWN0R3VpZD4KKyAgICA8Um9vdE5hbWVzcGFjZT50ZXN0emxpYjwvUm9vdE5hbWVzcGFjZT4KKyAgICA8S2V5d29yZD5XaW4zMlByb2o8L0tleXdvcmQ+CisgIDwvUHJvcGVydHlHcm91cD4KKyAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAuRGVmYXVsdC5wcm9wcyIgLz4KKyAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgorICAgIDxDb25maWd1cmF0aW9uVHlwZT5BcHBsaWNhdGlvbjwvQ29uZmlndXJhdGlvblR5cGU+CisgICAgPENoYXJhY3RlclNldD5NdWx0aUJ5dGU8L0NoYXJhY3RlclNldD4KKyAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KKyAgICA8UGxhdGZvcm1Ub29sc2V0PnYxNDA8L1BsYXRmb3JtVG9vbHNldD4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VXaXRob3V0QXNtfFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgorICAgIDxDb25maWd1cmF0aW9uVHlwZT5BcHBsaWNhdGlvbjwvQ29uZmlndXJhdGlvblR5cGU+CisgICAgPENoYXJhY3RlclNldD5NdWx0aUJ5dGU8L0NoYXJhY3RlclNldD4KKyAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KKyAgICA8UGxhdGZvcm1Ub29sc2V0PnYxNDA8L1BsYXRmb3JtVG9vbHNldD4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgorICAgIDxDb25maWd1cmF0aW9uVHlwZT5BcHBsaWNhdGlvbjwvQ29uZmlndXJhdGlvblR5cGU+CisgICAgPENoYXJhY3RlclNldD5Vbmljb2RlPC9DaGFyYWN0ZXJTZXQ+CisgICAgPFBsYXRmb3JtVG9vbHNldD52MTQwPC9QbGF0Zm9ybVRvb2xzZXQ+CisgIDwvUHJvcGVydHlHcm91cD4KKyAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfEl0YW5pdW0nIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+CisgICAgPENvbmZpZ3VyYXRpb25UeXBlPkFwcGxpY2F0aW9uPC9Db25maWd1cmF0aW9uVHlwZT4KKyAgICA8Q2hhcmFjdGVyU2V0Pk11bHRpQnl0ZTwvQ2hhcmFjdGVyU2V0PgorICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgorICAgIDxQbGF0Zm9ybVRvb2xzZXQ+djE0MDwvUGxhdGZvcm1Ub29sc2V0PgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZVdpdGhvdXRBc218SXRhbml1bSciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KKyAgICA8Q29uZmlndXJhdGlvblR5cGU+QXBwbGljYXRpb248L0NvbmZpZ3VyYXRpb25UeXBlPgorICAgIDxDaGFyYWN0ZXJTZXQ+TXVsdGlCeXRlPC9DaGFyYWN0ZXJTZXQ+CisgICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+CisgICAgPFBsYXRmb3JtVG9vbHNldD52MTQwPC9QbGF0Zm9ybVRvb2xzZXQ+CisgIDwvUHJvcGVydHlHcm91cD4KKyAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xJdGFuaXVtJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgorICAgIDxDb25maWd1cmF0aW9uVHlwZT5BcHBsaWNhdGlvbjwvQ29uZmlndXJhdGlvblR5cGU+CisgICAgPENoYXJhY3RlclNldD5NdWx0aUJ5dGU8L0NoYXJhY3RlclNldD4KKyAgICA8UGxhdGZvcm1Ub29sc2V0PnYxNDA8L1BsYXRmb3JtVG9vbHNldD4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgorICAgIDxDb25maWd1cmF0aW9uVHlwZT5BcHBsaWNhdGlvbjwvQ29uZmlndXJhdGlvblR5cGU+CisgICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+CisgICAgPFBsYXRmb3JtVG9vbHNldD52MTQwPC9QbGF0Zm9ybVRvb2xzZXQ+CisgIDwvUHJvcGVydHlHcm91cD4KKyAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlV2l0aG91dEFzbXx4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+CisgICAgPENvbmZpZ3VyYXRpb25UeXBlPkFwcGxpY2F0aW9uPC9Db25maWd1cmF0aW9uVHlwZT4KKyAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KKyAgICA8UGxhdGZvcm1Ub29sc2V0PnYxNDA8L1BsYXRmb3JtVG9vbHNldD4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KKyAgICA8Q29uZmlndXJhdGlvblR5cGU+QXBwbGljYXRpb248L0NvbmZpZ3VyYXRpb25UeXBlPgorICAgIDxQbGF0Zm9ybVRvb2xzZXQ+djE0MDwvUGxhdGZvcm1Ub29sc2V0PgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnByb3BzIiAvPgorICA8SW1wb3J0R3JvdXAgTGFiZWw9IkV4dGVuc2lvblNldHRpbmdzIj4KKyAgPC9JbXBvcnRHcm91cD4KKyAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CisgICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgorICA8L0ltcG9ydEdyb3VwPgorICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlV2l0aG91dEFzbXxXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CisgICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgorICA8L0ltcG9ydEdyb3VwPgorICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CisgICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgorICA8L0ltcG9ydEdyb3VwPgorICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfEl0YW5pdW0nIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgorICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KKyAgPC9JbXBvcnRHcm91cD4KKyAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZVdpdGhvdXRBc218SXRhbml1bSciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CisgICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgorICA8L0ltcG9ydEdyb3VwPgorICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xJdGFuaXVtJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KKyAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+CisgIDwvSW1wb3J0R3JvdXA+CisgIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KKyAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+CisgIDwvSW1wb3J0R3JvdXA+CisgIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VXaXRob3V0QXNtfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CisgICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgorICA8L0ltcG9ydEdyb3VwPgorICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgorICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KKyAgPC9JbXBvcnRHcm91cD4KKyAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IlVzZXJNYWNyb3MiIC8+CisgIDxQcm9wZXJ0eUdyb3VwPgorICAgIDxfUHJvamVjdEZpbGVWZXJzaW9uPjEwLjAuMzAxMjguMTwvX1Byb2plY3RGaWxlVmVyc2lvbj4KKyAgICA8T3V0RGlyIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj54ODZcVGVzdFpsaWIkKENvbmZpZ3VyYXRpb24pXDwvT3V0RGlyPgorICAgIDxJbnREaXIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPng4NlxUZXN0WmxpYiQoQ29uZmlndXJhdGlvbilcVG1wXDwvSW50RGlyPgorICAgIDxMaW5rSW5jcmVtZW50YWwgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPnRydWU8L0xpbmtJbmNyZW1lbnRhbD4KKyAgICA8R2VuZXJhdGVNYW5pZmVzdCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+ZmFsc2U8L0dlbmVyYXRlTWFuaWZlc3Q+CisgICAgPE91dERpciBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VXaXRob3V0QXNtfFdpbjMyJyI+eDg2XFRlc3RabGliJChDb25maWd1cmF0aW9uKVw8L091dERpcj4KKyAgICA8SW50RGlyIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZVdpdGhvdXRBc218V2luMzInIj54ODZcVGVzdFpsaWIkKENvbmZpZ3VyYXRpb24pXFRtcFw8L0ludERpcj4KKyAgICA8TGlua0luY3JlbWVudGFsIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZVdpdGhvdXRBc218V2luMzInIj5mYWxzZTwvTGlua0luY3JlbWVudGFsPgorICAgIDxHZW5lcmF0ZU1hbmlmZXN0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZVdpdGhvdXRBc218V2luMzInIj5mYWxzZTwvR2VuZXJhdGVNYW5pZmVzdD4KKyAgICA8T3V0RGlyIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPng4NlxUZXN0WmxpYiQoQ29uZmlndXJhdGlvbilcPC9PdXREaXI+CisgICAgPEludERpciBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj54ODZcVGVzdFpsaWIkKENvbmZpZ3VyYXRpb24pXFRtcFw8L0ludERpcj4KKyAgICA8TGlua0luY3JlbWVudGFsIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPmZhbHNlPC9MaW5rSW5jcmVtZW50YWw+CisgICAgPEdlbmVyYXRlTWFuaWZlc3QgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+ZmFsc2U8L0dlbmVyYXRlTWFuaWZlc3Q+CisgICAgPE91dERpciBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPng2NFxUZXN0WmxpYiQoQ29uZmlndXJhdGlvbilcPC9PdXREaXI+CisgICAgPEludERpciBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPng2NFxUZXN0WmxpYiQoQ29uZmlndXJhdGlvbilcVG1wXDwvSW50RGlyPgorICAgIDxHZW5lcmF0ZU1hbmlmZXN0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+ZmFsc2U8L0dlbmVyYXRlTWFuaWZlc3Q+CisgICAgPE91dERpciBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfEl0YW5pdW0nIj5pYTY0XFRlc3RabGliJChDb25maWd1cmF0aW9uKVw8L091dERpcj4KKyAgICA8SW50RGlyIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8SXRhbml1bSciPmlhNjRcVGVzdFpsaWIkKENvbmZpZ3VyYXRpb24pXFRtcFw8L0ludERpcj4KKyAgICA8TGlua0luY3JlbWVudGFsIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8SXRhbml1bSciPnRydWU8L0xpbmtJbmNyZW1lbnRhbD4KKyAgICA8R2VuZXJhdGVNYW5pZmVzdCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfEl0YW5pdW0nIj5mYWxzZTwvR2VuZXJhdGVNYW5pZmVzdD4KKyAgICA8T3V0RGlyIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZVdpdGhvdXRBc218eDY0JyI+eDY0XFRlc3RabGliJChDb25maWd1cmF0aW9uKVw8L091dERpcj4KKyAgICA8SW50RGlyIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZVdpdGhvdXRBc218eDY0JyI+eDY0XFRlc3RabGliJChDb25maWd1cmF0aW9uKVxUbXBcPC9JbnREaXI+CisgICAgPEdlbmVyYXRlTWFuaWZlc3QgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlV2l0aG91dEFzbXx4NjQnIj5mYWxzZTwvR2VuZXJhdGVNYW5pZmVzdD4KKyAgICA8T3V0RGlyIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZVdpdGhvdXRBc218SXRhbml1bSciPmlhNjRcVGVzdFpsaWIkKENvbmZpZ3VyYXRpb24pXDwvT3V0RGlyPgorICAgIDxJbnREaXIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlV2l0aG91dEFzbXxJdGFuaXVtJyI+aWE2NFxUZXN0WmxpYiQoQ29uZmlndXJhdGlvbilcVG1wXDwvSW50RGlyPgorICAgIDxMaW5rSW5jcmVtZW50YWwgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlV2l0aG91dEFzbXxJdGFuaXVtJyI+ZmFsc2U8L0xpbmtJbmNyZW1lbnRhbD4KKyAgICA8R2VuZXJhdGVNYW5pZmVzdCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VXaXRob3V0QXNtfEl0YW5pdW0nIj5mYWxzZTwvR2VuZXJhdGVNYW5pZmVzdD4KKyAgICA8T3V0RGlyIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj54NjRcVGVzdFpsaWIkKENvbmZpZ3VyYXRpb24pXDwvT3V0RGlyPgorICAgIDxJbnREaXIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPng2NFxUZXN0WmxpYiQoQ29uZmlndXJhdGlvbilcVG1wXDwvSW50RGlyPgorICAgIDxHZW5lcmF0ZU1hbmlmZXN0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj5mYWxzZTwvR2VuZXJhdGVNYW5pZmVzdD4KKyAgICA8T3V0RGlyIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxJdGFuaXVtJyI+aWE2NFxUZXN0WmxpYiQoQ29uZmlndXJhdGlvbilcPC9PdXREaXI+CisgICAgPEludERpciBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8SXRhbml1bSciPmlhNjRcVGVzdFpsaWIkKENvbmZpZ3VyYXRpb24pXFRtcFw8L0ludERpcj4KKyAgICA8TGlua0luY3JlbWVudGFsIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxJdGFuaXVtJyI+ZmFsc2U8L0xpbmtJbmNyZW1lbnRhbD4KKyAgICA8R2VuZXJhdGVNYW5pZmVzdCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8SXRhbml1bSciPmZhbHNlPC9HZW5lcmF0ZU1hbmlmZXN0PgorICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8SXRhbml1bSciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+CisgICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8SXRhbml1bSciIC8+CisgICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8SXRhbml1bSciIC8+CisgICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+CisgICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiAvPgorICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgLz4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+CisgICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgLz4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiAvPgorICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZVdpdGhvdXRBc218SXRhbml1bSciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+CisgICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZVdpdGhvdXRBc218SXRhbml1bSciIC8+CisgICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZVdpdGhvdXRBc218SXRhbml1bSciIC8+CisgICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlV2l0aG91dEFzbXxXaW4zMiciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+CisgICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZVdpdGhvdXRBc218V2luMzInIiAvPgorICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VXaXRob3V0QXNtfFdpbjMyJyIgLz4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VXaXRob3V0QXNtfHg2NCciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+CisgICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZVdpdGhvdXRBc218eDY0JyIgLz4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlV2l0aG91dEFzbXx4NjQnIiAvPgorICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxJdGFuaXVtJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfEl0YW5pdW0nIiAvPgorICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8SXRhbml1bSciIC8+CisgICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgLz4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgLz4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIC8+CisgICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiAvPgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj4KKyAgICA8Q2xDb21waWxlPgorICAgICAgPE9wdGltaXphdGlvbj5EaXNhYmxlZDwvT3B0aW1pemF0aW9uPgorICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cLi5cLi47JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KKyAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5XSU4zMjtaTElCX1dJTkFQSTtfREVCVUc7X0NPTlNPTEU7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX1dBUk5JTkdTOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KKyAgICAgIDxNaW5pbWFsUmVidWlsZD50cnVlPC9NaW5pbWFsUmVidWlsZD4KKyAgICAgIDxCYXNpY1J1bnRpbWVDaGVja3M+RGVmYXVsdDwvQmFzaWNSdW50aW1lQ2hlY2tzPgorICAgICAgPFJ1bnRpbWVMaWJyYXJ5Pk11bHRpVGhyZWFkZWREZWJ1Z0RMTDwvUnVudGltZUxpYnJhcnk+CisgICAgICA8QnVmZmVyU2VjdXJpdHlDaGVjaz5mYWxzZTwvQnVmZmVyU2VjdXJpdHlDaGVjaz4KKyAgICAgIDxQcmVjb21waWxlZEhlYWRlcj4KKyAgICAgIDwvUHJlY29tcGlsZWRIZWFkZXI+CisgICAgICA8QXNzZW1ibGVyT3V0cHV0PkFzc2VtYmx5QW5kU291cmNlQ29kZTwvQXNzZW1ibGVyT3V0cHV0PgorICAgICAgPEFzc2VtYmxlckxpc3RpbmdMb2NhdGlvbj4kKEludERpcik8L0Fzc2VtYmxlckxpc3RpbmdMb2NhdGlvbj4KKyAgICAgIDxXYXJuaW5nTGV2ZWw+TGV2ZWwzPC9XYXJuaW5nTGV2ZWw+CisgICAgICA8RGVidWdJbmZvcm1hdGlvbkZvcm1hdD5Qcm9ncmFtRGF0YWJhc2U8L0RlYnVnSW5mb3JtYXRpb25Gb3JtYXQ+CisgICAgPC9DbENvbXBpbGU+CisgICAgPExpbms+CisgICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz4lKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgorICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpdGVzdHpsaWIuZXhlPC9PdXRwdXRGaWxlPgorICAgICAgPEdlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj50cnVlPC9HZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+CisgICAgICA8UHJvZ3JhbURhdGFiYXNlRmlsZT4kKE91dERpcil0ZXN0emxpYi5wZGI8L1Byb2dyYW1EYXRhYmFzZUZpbGU+CisgICAgICA8U3ViU3lzdGVtPkNvbnNvbGU8L1N1YlN5c3RlbT4KKyAgICAgIDxSYW5kb21pemVkQmFzZUFkZHJlc3M+ZmFsc2U8L1JhbmRvbWl6ZWRCYXNlQWRkcmVzcz4KKyAgICAgIDxEYXRhRXhlY3V0aW9uUHJldmVudGlvbj4KKyAgICAgIDwvRGF0YUV4ZWN1dGlvblByZXZlbnRpb24+CisgICAgICA8VGFyZ2V0TWFjaGluZT5NYWNoaW5lWDg2PC9UYXJnZXRNYWNoaW5lPgorICAgIDwvTGluaz4KKyAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgorICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VXaXRob3V0QXNtfFdpbjMyJyI+CisgICAgPENsQ29tcGlsZT4KKyAgICAgIDxPcHRpbWl6YXRpb24+TWF4U3BlZWQ8L09wdGltaXphdGlvbj4KKyAgICAgIDxJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj5Pbmx5RXhwbGljaXRJbmxpbmU8L0lubGluZUZ1bmN0aW9uRXhwYW5zaW9uPgorICAgICAgPE9taXRGcmFtZVBvaW50ZXJzPnRydWU8L09taXRGcmFtZVBvaW50ZXJzPgorICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cLi5cLi47JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KKyAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5XSU4zMjtaTElCX1dJTkFQSTtOREVCVUc7X0NPTlNPTEU7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX1dBUk5JTkdTOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KKyAgICAgIDxTdHJpbmdQb29saW5nPnRydWU8L1N0cmluZ1Bvb2xpbmc+CisgICAgICA8QmFzaWNSdW50aW1lQ2hlY2tzPkRlZmF1bHQ8L0Jhc2ljUnVudGltZUNoZWNrcz4KKyAgICAgIDxSdW50aW1lTGlicmFyeT5NdWx0aVRocmVhZGVkPC9SdW50aW1lTGlicmFyeT4KKyAgICAgIDxCdWZmZXJTZWN1cml0eUNoZWNrPmZhbHNlPC9CdWZmZXJTZWN1cml0eUNoZWNrPgorICAgICAgPEZ1bmN0aW9uTGV2ZWxMaW5raW5nPnRydWU8L0Z1bmN0aW9uTGV2ZWxMaW5raW5nPgorICAgICAgPFByZWNvbXBpbGVkSGVhZGVyPgorICAgICAgPC9QcmVjb21waWxlZEhlYWRlcj4KKyAgICAgIDxBc3NlbWJsZXJMaXN0aW5nTG9jYXRpb24+JChJbnREaXIpPC9Bc3NlbWJsZXJMaXN0aW5nTG9jYXRpb24+CisgICAgICA8V2FybmluZ0xldmVsPkxldmVsMzwvV2FybmluZ0xldmVsPgorICAgICAgPERlYnVnSW5mb3JtYXRpb25Gb3JtYXQ+UHJvZ3JhbURhdGFiYXNlPC9EZWJ1Z0luZm9ybWF0aW9uRm9ybWF0PgorICAgIDwvQ2xDb21waWxlPgorICAgIDxMaW5rPgorICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpdGVzdHpsaWIuZXhlPC9PdXRwdXRGaWxlPgorICAgICAgPEdlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj50cnVlPC9HZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+CisgICAgICA8U3ViU3lzdGVtPkNvbnNvbGU8L1N1YlN5c3RlbT4KKyAgICAgIDxPcHRpbWl6ZVJlZmVyZW5jZXM+dHJ1ZTwvT3B0aW1pemVSZWZlcmVuY2VzPgorICAgICAgPEVuYWJsZUNPTURBVEZvbGRpbmc+dHJ1ZTwvRW5hYmxlQ09NREFURm9sZGluZz4KKyAgICAgIDxSYW5kb21pemVkQmFzZUFkZHJlc3M+ZmFsc2U8L1JhbmRvbWl6ZWRCYXNlQWRkcmVzcz4KKyAgICAgIDxEYXRhRXhlY3V0aW9uUHJldmVudGlvbj4KKyAgICAgIDwvRGF0YUV4ZWN1dGlvblByZXZlbnRpb24+CisgICAgICA8VGFyZ2V0TWFjaGluZT5NYWNoaW5lWDg2PC9UYXJnZXRNYWNoaW5lPgorICAgIDwvTGluaz4KKyAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgorICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj4KKyAgICA8Q2xDb21waWxlPgorICAgICAgPE9wdGltaXphdGlvbj5NYXhTcGVlZDwvT3B0aW1pemF0aW9uPgorICAgICAgPElubGluZUZ1bmN0aW9uRXhwYW5zaW9uPk9ubHlFeHBsaWNpdElubGluZTwvSW5saW5lRnVuY3Rpb25FeHBhbnNpb24+CisgICAgICA8T21pdEZyYW1lUG9pbnRlcnM+dHJ1ZTwvT21pdEZyYW1lUG9pbnRlcnM+CisgICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlwuLlwuLjslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgorICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPldJTjMyO1pMSUJfV0lOQVBJO05ERUJVRztfQ09OU09MRTtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFO19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fV0FSTklOR1M7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgorICAgICAgPFN0cmluZ1Bvb2xpbmc+dHJ1ZTwvU3RyaW5nUG9vbGluZz4KKyAgICAgIDxCYXNpY1J1bnRpbWVDaGVja3M+RGVmYXVsdDwvQmFzaWNSdW50aW1lQ2hlY2tzPgorICAgICAgPFJ1bnRpbWVMaWJyYXJ5Pk11bHRpVGhyZWFkZWQ8L1J1bnRpbWVMaWJyYXJ5PgorICAgICAgPEJ1ZmZlclNlY3VyaXR5Q2hlY2s+ZmFsc2U8L0J1ZmZlclNlY3VyaXR5Q2hlY2s+CisgICAgICA8RnVuY3Rpb25MZXZlbExpbmtpbmc+dHJ1ZTwvRnVuY3Rpb25MZXZlbExpbmtpbmc+CisgICAgICA8UHJlY29tcGlsZWRIZWFkZXI+CisgICAgICA8L1ByZWNvbXBpbGVkSGVhZGVyPgorICAgICAgPEFzc2VtYmxlckxpc3RpbmdMb2NhdGlvbj4kKEludERpcik8L0Fzc2VtYmxlckxpc3RpbmdMb2NhdGlvbj4KKyAgICAgIDxXYXJuaW5nTGV2ZWw+TGV2ZWwzPC9XYXJuaW5nTGV2ZWw+CisgICAgICA8RGVidWdJbmZvcm1hdGlvbkZvcm1hdD5Qcm9ncmFtRGF0YWJhc2U8L0RlYnVnSW5mb3JtYXRpb25Gb3JtYXQ+CisgICAgPC9DbENvbXBpbGU+CisgICAgPExpbms+CisgICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz4lKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgorICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpdGVzdHpsaWIuZXhlPC9PdXRwdXRGaWxlPgorICAgICAgPEdlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj50cnVlPC9HZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+CisgICAgICA8U3ViU3lzdGVtPkNvbnNvbGU8L1N1YlN5c3RlbT4KKyAgICAgIDxPcHRpbWl6ZVJlZmVyZW5jZXM+dHJ1ZTwvT3B0aW1pemVSZWZlcmVuY2VzPgorICAgICAgPEVuYWJsZUNPTURBVEZvbGRpbmc+dHJ1ZTwvRW5hYmxlQ09NREFURm9sZGluZz4KKyAgICAgIDxSYW5kb21pemVkQmFzZUFkZHJlc3M+ZmFsc2U8L1JhbmRvbWl6ZWRCYXNlQWRkcmVzcz4KKyAgICAgIDxEYXRhRXhlY3V0aW9uUHJldmVudGlvbj4KKyAgICAgIDwvRGF0YUV4ZWN1dGlvblByZXZlbnRpb24+CisgICAgICA8VGFyZ2V0TWFjaGluZT5NYWNoaW5lWDg2PC9UYXJnZXRNYWNoaW5lPgorICAgICAgPEltYWdlSGFzU2FmZUV4Y2VwdGlvbkhhbmRsZXJzPmZhbHNlPC9JbWFnZUhhc1NhZmVFeGNlcHRpb25IYW5kbGVycz4KKyAgICA8L0xpbms+CisgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KKyAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj4KKyAgICA8Q2xDb21waWxlPgorICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cLi5cLi47JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KKyAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5XSU4zMjtaTElCX1dJTkFQSTtfREVCVUc7X0NPTlNPTEU7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX1dBUk5JTkdTOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KKyAgICAgIDxCYXNpY1J1bnRpbWVDaGVja3M+RGVmYXVsdDwvQmFzaWNSdW50aW1lQ2hlY2tzPgorICAgICAgPFJ1bnRpbWVMaWJyYXJ5Pk11bHRpVGhyZWFkZWREZWJ1Z0RMTDwvUnVudGltZUxpYnJhcnk+CisgICAgICA8QnVmZmVyU2VjdXJpdHlDaGVjaz5mYWxzZTwvQnVmZmVyU2VjdXJpdHlDaGVjaz4KKyAgICAgIDxBc3NlbWJsZXJMaXN0aW5nTG9jYXRpb24+JChJbnREaXIpPC9Bc3NlbWJsZXJMaXN0aW5nTG9jYXRpb24+CisgICAgPC9DbENvbXBpbGU+CisgICAgPExpbms+CisgICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz4lKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgorICAgIDwvTGluaz4KKyAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgorICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfEl0YW5pdW0nIj4KKyAgICA8TWlkbD4KKyAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5JdGFuaXVtPC9UYXJnZXRFbnZpcm9ubWVudD4KKyAgICA8L01pZGw+CisgICAgPENsQ29tcGlsZT4KKyAgICAgIDxPcHRpbWl6YXRpb24+RGlzYWJsZWQ8L09wdGltaXphdGlvbj4KKyAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXC4uXC4uOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+WkxJQl9XSU5BUEk7X0RFQlVHO19DT05TT0xFO19DUlRfTk9OU1REQ19OT19ERVBSRUNBVEU7X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO19DUlRfTk9OU1REQ19OT19XQVJOSU5HUztXSU42NDslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+CisgICAgICA8TWluaW1hbFJlYnVpbGQ+dHJ1ZTwvTWluaW1hbFJlYnVpbGQ+CisgICAgICA8QmFzaWNSdW50aW1lQ2hlY2tzPkRlZmF1bHQ8L0Jhc2ljUnVudGltZUNoZWNrcz4KKyAgICAgIDxSdW50aW1lTGlicmFyeT5NdWx0aVRocmVhZGVkRGVidWdETEw8L1J1bnRpbWVMaWJyYXJ5PgorICAgICAgPEJ1ZmZlclNlY3VyaXR5Q2hlY2s+ZmFsc2U8L0J1ZmZlclNlY3VyaXR5Q2hlY2s+CisgICAgICA8UHJlY29tcGlsZWRIZWFkZXI+CisgICAgICA8L1ByZWNvbXBpbGVkSGVhZGVyPgorICAgICAgPEFzc2VtYmxlck91dHB1dD5Bc3NlbWJseUFuZFNvdXJjZUNvZGU8L0Fzc2VtYmxlck91dHB1dD4KKyAgICAgIDxBc3NlbWJsZXJMaXN0aW5nTG9jYXRpb24+JChJbnREaXIpPC9Bc3NlbWJsZXJMaXN0aW5nTG9jYXRpb24+CisgICAgICA8V2FybmluZ0xldmVsPkxldmVsMzwvV2FybmluZ0xldmVsPgorICAgICAgPERlYnVnSW5mb3JtYXRpb25Gb3JtYXQ+UHJvZ3JhbURhdGFiYXNlPC9EZWJ1Z0luZm9ybWF0aW9uRm9ybWF0PgorICAgIDwvQ2xDb21waWxlPgorICAgIDxMaW5rPgorICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpdGVzdHpsaWIuZXhlPC9PdXRwdXRGaWxlPgorICAgICAgPEdlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj50cnVlPC9HZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+CisgICAgICA8UHJvZ3JhbURhdGFiYXNlRmlsZT4kKE91dERpcil0ZXN0emxpYi5wZGI8L1Byb2dyYW1EYXRhYmFzZUZpbGU+CisgICAgICA8U3ViU3lzdGVtPkNvbnNvbGU8L1N1YlN5c3RlbT4KKyAgICAgIDxUYXJnZXRNYWNoaW5lPk1hY2hpbmVJQTY0PC9UYXJnZXRNYWNoaW5lPgorICAgIDwvTGluaz4KKyAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgorICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VXaXRob3V0QXNtfHg2NCciPgorICAgIDxDbENvbXBpbGU+CisgICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlwuLlwuLjslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgorICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPldJTjMyO1pMSUJfV0lOQVBJO05ERUJVRztfQ09OU09MRTtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFO19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fV0FSTklOR1M7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgorICAgICAgPEJhc2ljUnVudGltZUNoZWNrcz5EZWZhdWx0PC9CYXNpY1J1bnRpbWVDaGVja3M+CisgICAgICA8UnVudGltZUxpYnJhcnk+TXVsdGlUaHJlYWRlZERMTDwvUnVudGltZUxpYnJhcnk+CisgICAgICA8QnVmZmVyU2VjdXJpdHlDaGVjaz5mYWxzZTwvQnVmZmVyU2VjdXJpdHlDaGVjaz4KKyAgICAgIDxBc3NlbWJsZXJMaXN0aW5nTG9jYXRpb24+JChJbnREaXIpPC9Bc3NlbWJsZXJMaXN0aW5nTG9jYXRpb24+CisgICAgPC9DbENvbXBpbGU+CisgICAgPExpbms+CisgICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz4lKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgorICAgIDwvTGluaz4KKyAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgorICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VXaXRob3V0QXNtfEl0YW5pdW0nIj4KKyAgICA8TWlkbD4KKyAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5JdGFuaXVtPC9UYXJnZXRFbnZpcm9ubWVudD4KKyAgICA8L01pZGw+CisgICAgPENsQ29tcGlsZT4KKyAgICAgIDxPcHRpbWl6YXRpb24+TWF4U3BlZWQ8L09wdGltaXphdGlvbj4KKyAgICAgIDxJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj5Pbmx5RXhwbGljaXRJbmxpbmU8L0lubGluZUZ1bmN0aW9uRXhwYW5zaW9uPgorICAgICAgPE9taXRGcmFtZVBvaW50ZXJzPnRydWU8L09taXRGcmFtZVBvaW50ZXJzPgorICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cLi5cLi47JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KKyAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5aTElCX1dJTkFQSTtOREVCVUc7X0NPTlNPTEU7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX1dBUk5JTkdTO1dJTjY0OyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KKyAgICAgIDxTdHJpbmdQb29saW5nPnRydWU8L1N0cmluZ1Bvb2xpbmc+CisgICAgICA8QmFzaWNSdW50aW1lQ2hlY2tzPkRlZmF1bHQ8L0Jhc2ljUnVudGltZUNoZWNrcz4KKyAgICAgIDxSdW50aW1lTGlicmFyeT5NdWx0aVRocmVhZGVkRExMPC9SdW50aW1lTGlicmFyeT4KKyAgICAgIDxCdWZmZXJTZWN1cml0eUNoZWNrPmZhbHNlPC9CdWZmZXJTZWN1cml0eUNoZWNrPgorICAgICAgPEZ1bmN0aW9uTGV2ZWxMaW5raW5nPnRydWU8L0Z1bmN0aW9uTGV2ZWxMaW5raW5nPgorICAgICAgPFByZWNvbXBpbGVkSGVhZGVyPgorICAgICAgPC9QcmVjb21waWxlZEhlYWRlcj4KKyAgICAgIDxBc3NlbWJsZXJMaXN0aW5nTG9jYXRpb24+JChJbnREaXIpPC9Bc3NlbWJsZXJMaXN0aW5nTG9jYXRpb24+CisgICAgICA8V2FybmluZ0xldmVsPkxldmVsMzwvV2FybmluZ0xldmVsPgorICAgICAgPERlYnVnSW5mb3JtYXRpb25Gb3JtYXQ+UHJvZ3JhbURhdGFiYXNlPC9EZWJ1Z0luZm9ybWF0aW9uRm9ybWF0PgorICAgIDwvQ2xDb21waWxlPgorICAgIDxMaW5rPgorICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpdGVzdHpsaWIuZXhlPC9PdXRwdXRGaWxlPgorICAgICAgPEdlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj50cnVlPC9HZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+CisgICAgICA8U3ViU3lzdGVtPkNvbnNvbGU8L1N1YlN5c3RlbT4KKyAgICAgIDxPcHRpbWl6ZVJlZmVyZW5jZXM+dHJ1ZTwvT3B0aW1pemVSZWZlcmVuY2VzPgorICAgICAgPEVuYWJsZUNPTURBVEZvbGRpbmc+dHJ1ZTwvRW5hYmxlQ09NREFURm9sZGluZz4KKyAgICAgIDxUYXJnZXRNYWNoaW5lPk1hY2hpbmVJQTY0PC9UYXJnZXRNYWNoaW5lPgorICAgIDwvTGluaz4KKyAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgorICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+CisgICAgPENsQ29tcGlsZT4KKyAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXC4uXC4uOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+V0lOMzI7WkxJQl9XSU5BUEk7TkRFQlVHO19DT05TT0xFO19DUlRfTk9OU1REQ19OT19ERVBSRUNBVEU7X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO19DUlRfTk9OU1REQ19OT19XQVJOSU5HUzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+CisgICAgICA8QmFzaWNSdW50aW1lQ2hlY2tzPkRlZmF1bHQ8L0Jhc2ljUnVudGltZUNoZWNrcz4KKyAgICAgIDxSdW50aW1lTGlicmFyeT5NdWx0aVRocmVhZGVkRExMPC9SdW50aW1lTGlicmFyeT4KKyAgICAgIDxCdWZmZXJTZWN1cml0eUNoZWNrPmZhbHNlPC9CdWZmZXJTZWN1cml0eUNoZWNrPgorICAgICAgPEFzc2VtYmxlckxpc3RpbmdMb2NhdGlvbj4kKEludERpcik8L0Fzc2VtYmxlckxpc3RpbmdMb2NhdGlvbj4KKyAgICA8L0NsQ29tcGlsZT4KKyAgICA8TGluaz4KKyAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPiUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+CisgICAgPC9MaW5rPgorICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+CisgIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxJdGFuaXVtJyI+CisgICAgPE1pZGw+CisgICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+SXRhbml1bTwvVGFyZ2V0RW52aXJvbm1lbnQ+CisgICAgPC9NaWRsPgorICAgIDxDbENvbXBpbGU+CisgICAgICA8T3B0aW1pemF0aW9uPk1heFNwZWVkPC9PcHRpbWl6YXRpb24+CisgICAgICA8SW5saW5lRnVuY3Rpb25FeHBhbnNpb24+T25seUV4cGxpY2l0SW5saW5lPC9JbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj4KKyAgICAgIDxPbWl0RnJhbWVQb2ludGVycz50cnVlPC9PbWl0RnJhbWVQb2ludGVycz4KKyAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXC4uXC4uOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+WkxJQl9XSU5BUEk7TkRFQlVHO19DT05TT0xFO19DUlRfTk9OU1REQ19OT19ERVBSRUNBVEU7X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO19DUlRfTk9OU1REQ19OT19XQVJOSU5HUztXSU42NDslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+CisgICAgICA8U3RyaW5nUG9vbGluZz50cnVlPC9TdHJpbmdQb29saW5nPgorICAgICAgPEJhc2ljUnVudGltZUNoZWNrcz5EZWZhdWx0PC9CYXNpY1J1bnRpbWVDaGVja3M+CisgICAgICA8UnVudGltZUxpYnJhcnk+TXVsdGlUaHJlYWRlZERMTDwvUnVudGltZUxpYnJhcnk+CisgICAgICA8QnVmZmVyU2VjdXJpdHlDaGVjaz5mYWxzZTwvQnVmZmVyU2VjdXJpdHlDaGVjaz4KKyAgICAgIDxGdW5jdGlvbkxldmVsTGlua2luZz50cnVlPC9GdW5jdGlvbkxldmVsTGlua2luZz4KKyAgICAgIDxQcmVjb21waWxlZEhlYWRlcj4KKyAgICAgIDwvUHJlY29tcGlsZWRIZWFkZXI+CisgICAgICA8QXNzZW1ibGVyTGlzdGluZ0xvY2F0aW9uPiQoSW50RGlyKTwvQXNzZW1ibGVyTGlzdGluZ0xvY2F0aW9uPgorICAgICAgPFdhcm5pbmdMZXZlbD5MZXZlbDM8L1dhcm5pbmdMZXZlbD4KKyAgICAgIDxEZWJ1Z0luZm9ybWF0aW9uRm9ybWF0PlByb2dyYW1EYXRhYmFzZTwvRGVidWdJbmZvcm1hdGlvbkZvcm1hdD4KKyAgICA8L0NsQ29tcGlsZT4KKyAgICA8TGluaz4KKyAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKXRlc3R6bGliLmV4ZTwvT3V0cHV0RmlsZT4KKyAgICAgIDxHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+dHJ1ZTwvR2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPgorICAgICAgPFN1YlN5c3RlbT5Db25zb2xlPC9TdWJTeXN0ZW0+CisgICAgICA8T3B0aW1pemVSZWZlcmVuY2VzPnRydWU8L09wdGltaXplUmVmZXJlbmNlcz4KKyAgICAgIDxFbmFibGVDT01EQVRGb2xkaW5nPnRydWU8L0VuYWJsZUNPTURBVEZvbGRpbmc+CisgICAgICA8VGFyZ2V0TWFjaGluZT5NYWNoaW5lSUE2NDwvVGFyZ2V0TWFjaGluZT4KKyAgICA8L0xpbms+CisgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KKyAgPEl0ZW1Hcm91cD4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXC4uXGFkbGVyMzIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXC4uXGNvbXByZXNzLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlwuLlxjcmMzMi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5cZGVmbGF0ZS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5caW5mYmFjay5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5caW5mZmFzdC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5caW5mbGF0ZS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5caW5mdHJlZXMuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXHRlc3R6bGliXHRlc3R6bGliLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlwuLlx0cmVlcy5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5cdW5jb21wci5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5cenV0aWwuYyIgLz4KKyAgPC9JdGVtR3JvdXA+CisgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnRhcmdldHMiIC8+CisgIDxJbXBvcnRHcm91cCBMYWJlbD0iRXh0ZW5zaW9uVGFyZ2V0cyI+CisgIDwvSW1wb3J0R3JvdXA+Cis8L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3JjL2NvbnRyaWIvdnN0dWRpby92YzE0L3Rlc3R6bGliZGxsLnZjeHByb2ogYi9zcmMvY29udHJpYi92c3R1ZGlvL3ZjMTQvdGVzdHpsaWJkbGwudmN4cHJvagpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kODc0NzRkCi0tLSAvZGV2L251bGwKKysrIGIvc3JjL2NvbnRyaWIvdnN0dWRpby92YzE0L3Rlc3R6bGliZGxsLnZjeHByb2oKQEAgLTAsMCArMSwzMTYgQEAKK++7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8UHJvamVjdCBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIFRvb2xzVmVyc2lvbj0iMTQuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+CisgIDxJdGVtR3JvdXAgTGFiZWw9IlByb2plY3RDb25maWd1cmF0aW9ucyI+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IkRlYnVnfEl0YW5pdW0iPgorICAgICAgPENvbmZpZ3VyYXRpb24+RGVidWc8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+SXRhbml1bTwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iRGVidWd8V2luMzIiPgorICAgICAgPENvbmZpZ3VyYXRpb24+RGVidWc8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+V2luMzI8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IkRlYnVnfHg2NCI+CisgICAgICA8Q29uZmlndXJhdGlvbj5EZWJ1ZzwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT54NjQ8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlJlbGVhc2V8SXRhbml1bSI+CisgICAgICA8Q29uZmlndXJhdGlvbj5SZWxlYXNlPC9Db25maWd1cmF0aW9uPgorICAgICAgPFBsYXRmb3JtPkl0YW5pdW08L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlJlbGVhc2V8V2luMzIiPgorICAgICAgPENvbmZpZ3VyYXRpb24+UmVsZWFzZTwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUmVsZWFzZXx4NjQiPgorICAgICAgPENvbmZpZ3VyYXRpb24+UmVsZWFzZTwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT54NjQ8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgIDwvSXRlbUdyb3VwPgorICA8UHJvcGVydHlHcm91cCBMYWJlbD0iR2xvYmFscyI+CisgICAgPFByb2plY3RHdWlkPntDNTJGOUU3Qi00OThBLTQyQkUtOERCNC04NUExNTY5NDM2NkF9PC9Qcm9qZWN0R3VpZD4KKyAgICA8S2V5d29yZD5XaW4zMlByb2o8L0tleXdvcmQ+CisgIDwvUHJvcGVydHlHcm91cD4KKyAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAuRGVmYXVsdC5wcm9wcyIgLz4KKyAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgorICAgIDxDb25maWd1cmF0aW9uVHlwZT5BcHBsaWNhdGlvbjwvQ29uZmlndXJhdGlvblR5cGU+CisgICAgPENoYXJhY3RlclNldD5NdWx0aUJ5dGU8L0NoYXJhY3RlclNldD4KKyAgICA8UGxhdGZvcm1Ub29sc2V0PnYxNDA8L1BsYXRmb3JtVG9vbHNldD4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgorICAgIDxDb25maWd1cmF0aW9uVHlwZT5BcHBsaWNhdGlvbjwvQ29uZmlndXJhdGlvblR5cGU+CisgICAgPENoYXJhY3RlclNldD5Vbmljb2RlPC9DaGFyYWN0ZXJTZXQ+CisgICAgPFBsYXRmb3JtVG9vbHNldD52MTQwPC9QbGF0Zm9ybVRvb2xzZXQ+CisgIDwvUHJvcGVydHlHcm91cD4KKyAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfEl0YW5pdW0nIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+CisgICAgPENvbmZpZ3VyYXRpb25UeXBlPkFwcGxpY2F0aW9uPC9Db25maWd1cmF0aW9uVHlwZT4KKyAgICA8Q2hhcmFjdGVyU2V0Pk11bHRpQnl0ZTwvQ2hhcmFjdGVyU2V0PgorICAgIDxQbGF0Zm9ybVRvb2xzZXQ+djE0MDwvUGxhdGZvcm1Ub29sc2V0PgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8SXRhbml1bSciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KKyAgICA8Q29uZmlndXJhdGlvblR5cGU+QXBwbGljYXRpb248L0NvbmZpZ3VyYXRpb25UeXBlPgorICAgIDxDaGFyYWN0ZXJTZXQ+TXVsdGlCeXRlPC9DaGFyYWN0ZXJTZXQ+CisgICAgPFBsYXRmb3JtVG9vbHNldD52MTQwPC9QbGF0Zm9ybVRvb2xzZXQ+CisgIDwvUHJvcGVydHlHcm91cD4KKyAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KKyAgICA8Q29uZmlndXJhdGlvblR5cGU+QXBwbGljYXRpb248L0NvbmZpZ3VyYXRpb25UeXBlPgorICAgIDxDaGFyYWN0ZXJTZXQ+TXVsdGlCeXRlPC9DaGFyYWN0ZXJTZXQ+CisgICAgPFBsYXRmb3JtVG9vbHNldD52MTQwPC9QbGF0Zm9ybVRvb2xzZXQ+CisgIDwvUHJvcGVydHlHcm91cD4KKyAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+CisgICAgPENvbmZpZ3VyYXRpb25UeXBlPkFwcGxpY2F0aW9uPC9Db25maWd1cmF0aW9uVHlwZT4KKyAgICA8Q2hhcmFjdGVyU2V0Pk11bHRpQnl0ZTwvQ2hhcmFjdGVyU2V0PgorICAgIDxQbGF0Zm9ybVRvb2xzZXQ+djE0MDwvUGxhdGZvcm1Ub29sc2V0PgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnByb3BzIiAvPgorICA8SW1wb3J0R3JvdXAgTGFiZWw9IkV4dGVuc2lvblNldHRpbmdzIj4KKyAgPC9JbXBvcnRHcm91cD4KKyAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CisgICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgorICA8L0ltcG9ydEdyb3VwPgorICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CisgICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgorICA8L0ltcG9ydEdyb3VwPgorICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfEl0YW5pdW0nIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgorICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KKyAgPC9JbXBvcnRHcm91cD4KKyAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8SXRhbml1bSciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CisgICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgorICA8L0ltcG9ydEdyb3VwPgorICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CisgICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgorICA8L0ltcG9ydEdyb3VwPgorICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgorICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KKyAgPC9JbXBvcnRHcm91cD4KKyAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IlVzZXJNYWNyb3MiIC8+CisgIDxQcm9wZXJ0eUdyb3VwPgorICAgIDxfUHJvamVjdEZpbGVWZXJzaW9uPjEwLjAuMzAxMjguMTwvX1Byb2plY3RGaWxlVmVyc2lvbj4KKyAgICA8T3V0RGlyIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj54ODZcVGVzdFpsaWJEbGwkKENvbmZpZ3VyYXRpb24pXDwvT3V0RGlyPgorICAgIDxJbnREaXIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPng4NlxUZXN0WmxpYkRsbCQoQ29uZmlndXJhdGlvbilcVG1wXDwvSW50RGlyPgorICAgIDxMaW5rSW5jcmVtZW50YWwgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPnRydWU8L0xpbmtJbmNyZW1lbnRhbD4KKyAgICA8R2VuZXJhdGVNYW5pZmVzdCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+ZmFsc2U8L0dlbmVyYXRlTWFuaWZlc3Q+CisgICAgPE91dERpciBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj54ODZcVGVzdFpsaWJEbGwkKENvbmZpZ3VyYXRpb24pXDwvT3V0RGlyPgorICAgIDxJbnREaXIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+eDg2XFRlc3RabGliRGxsJChDb25maWd1cmF0aW9uKVxUbXBcPC9JbnREaXI+CisgICAgPExpbmtJbmNyZW1lbnRhbCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj5mYWxzZTwvTGlua0luY3JlbWVudGFsPgorICAgIDxHZW5lcmF0ZU1hbmlmZXN0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPmZhbHNlPC9HZW5lcmF0ZU1hbmlmZXN0PgorICAgIDxPdXREaXIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj54NjRcVGVzdFpsaWJEbGwkKENvbmZpZ3VyYXRpb24pXDwvT3V0RGlyPgorICAgIDxJbnREaXIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj54NjRcVGVzdFpsaWJEbGwkKENvbmZpZ3VyYXRpb24pXFRtcFw8L0ludERpcj4KKyAgICA8TGlua0luY3JlbWVudGFsIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+dHJ1ZTwvTGlua0luY3JlbWVudGFsPgorICAgIDxHZW5lcmF0ZU1hbmlmZXN0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+ZmFsc2U8L0dlbmVyYXRlTWFuaWZlc3Q+CisgICAgPE91dERpciBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfEl0YW5pdW0nIj5pYTY0XFRlc3RabGliRGxsJChDb25maWd1cmF0aW9uKVw8L091dERpcj4KKyAgICA8SW50RGlyIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8SXRhbml1bSciPmlhNjRcVGVzdFpsaWJEbGwkKENvbmZpZ3VyYXRpb24pXFRtcFw8L0ludERpcj4KKyAgICA8TGlua0luY3JlbWVudGFsIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8SXRhbml1bSciPnRydWU8L0xpbmtJbmNyZW1lbnRhbD4KKyAgICA8R2VuZXJhdGVNYW5pZmVzdCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfEl0YW5pdW0nIj5mYWxzZTwvR2VuZXJhdGVNYW5pZmVzdD4KKyAgICA8T3V0RGlyIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj54NjRcVGVzdFpsaWJEbGwkKENvbmZpZ3VyYXRpb24pXDwvT3V0RGlyPgorICAgIDxJbnREaXIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPng2NFxUZXN0WmxpYkRsbCQoQ29uZmlndXJhdGlvbilcVG1wXDwvSW50RGlyPgorICAgIDxMaW5rSW5jcmVtZW50YWwgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPmZhbHNlPC9MaW5rSW5jcmVtZW50YWw+CisgICAgPEdlbmVyYXRlTWFuaWZlc3QgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPmZhbHNlPC9HZW5lcmF0ZU1hbmlmZXN0PgorICAgIDxPdXREaXIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfEl0YW5pdW0nIj5pYTY0XFRlc3RabGliRGxsJChDb25maWd1cmF0aW9uKVw8L091dERpcj4KKyAgICA8SW50RGlyIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxJdGFuaXVtJyI+aWE2NFxUZXN0WmxpYkRsbCQoQ29uZmlndXJhdGlvbilcVG1wXDwvSW50RGlyPgorICAgIDxMaW5rSW5jcmVtZW50YWwgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfEl0YW5pdW0nIj5mYWxzZTwvTGlua0luY3JlbWVudGFsPgorICAgIDxHZW5lcmF0ZU1hbmlmZXN0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxJdGFuaXVtJyI+ZmFsc2U8L0dlbmVyYXRlTWFuaWZlc3Q+CisgICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xJdGFuaXVtJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xJdGFuaXVtJyIgLz4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xJdGFuaXVtJyIgLz4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIC8+CisgICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiAvPgorICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiAvPgorICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIC8+CisgICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfEl0YW5pdW0nIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgorICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8SXRhbml1bSciIC8+CisgICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxJdGFuaXVtJyIgLz4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgorICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiAvPgorICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiAvPgorICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgorICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgLz4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIC8+CisgIDwvUHJvcGVydHlHcm91cD4KKyAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPgorICAgIDxDbENvbXBpbGU+CisgICAgICA8T3B0aW1pemF0aW9uPkRpc2FibGVkPC9PcHRpbWl6YXRpb24+CisgICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlwuLlwuLjsuLlwuLlxtaW5pemlwOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+V0lOMzI7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7WkxJQl9XSU5BUEk7X0RFQlVHO19DT05TT0xFOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KKyAgICAgIDxNaW5pbWFsUmVidWlsZD50cnVlPC9NaW5pbWFsUmVidWlsZD4KKyAgICAgIDxCYXNpY1J1bnRpbWVDaGVja3M+RGVmYXVsdDwvQmFzaWNSdW50aW1lQ2hlY2tzPgorICAgICAgPFJ1bnRpbWVMaWJyYXJ5Pk11bHRpVGhyZWFkZWREZWJ1Z0RMTDwvUnVudGltZUxpYnJhcnk+CisgICAgICA8QnVmZmVyU2VjdXJpdHlDaGVjaz5mYWxzZTwvQnVmZmVyU2VjdXJpdHlDaGVjaz4KKyAgICAgIDxQcmVjb21waWxlZEhlYWRlcj4KKyAgICAgIDwvUHJlY29tcGlsZWRIZWFkZXI+CisgICAgICA8QXNzZW1ibGVyTGlzdGluZ0xvY2F0aW9uPiQoSW50RGlyKTwvQXNzZW1ibGVyTGlzdGluZ0xvY2F0aW9uPgorICAgICAgPFdhcm5pbmdMZXZlbD5MZXZlbDM8L1dhcm5pbmdMZXZlbD4KKyAgICAgIDxEZWJ1Z0luZm9ybWF0aW9uRm9ybWF0PlByb2dyYW1EYXRhYmFzZTwvRGVidWdJbmZvcm1hdGlvbkZvcm1hdD4KKyAgICA8L0NsQ29tcGlsZT4KKyAgICA8TGluaz4KKyAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPng4NlxabGliRGxsRGVidWdcemxpYndhcGkubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+CisgICAgICA8T3V0cHV0RmlsZT4kKE91dERpcil0ZXN0emxpYmRsbC5leGU8L091dHB1dEZpbGU+CisgICAgICA8R2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPnRydWU8L0dlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj4KKyAgICAgIDxQcm9ncmFtRGF0YWJhc2VGaWxlPiQoT3V0RGlyKXRlc3R6bGliLnBkYjwvUHJvZ3JhbURhdGFiYXNlRmlsZT4KKyAgICAgIDxTdWJTeXN0ZW0+Q29uc29sZTwvU3ViU3lzdGVtPgorICAgICAgPFJhbmRvbWl6ZWRCYXNlQWRkcmVzcz5mYWxzZTwvUmFuZG9taXplZEJhc2VBZGRyZXNzPgorICAgICAgPERhdGFFeGVjdXRpb25QcmV2ZW50aW9uPgorICAgICAgPC9EYXRhRXhlY3V0aW9uUHJldmVudGlvbj4KKyAgICAgIDxUYXJnZXRNYWNoaW5lPk1hY2hpbmVYODY8L1RhcmdldE1hY2hpbmU+CisgICAgPC9MaW5rPgorICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+CisgIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPgorICAgIDxDbENvbXBpbGU+CisgICAgICA8T3B0aW1pemF0aW9uPk1heFNwZWVkPC9PcHRpbWl6YXRpb24+CisgICAgICA8SW5saW5lRnVuY3Rpb25FeHBhbnNpb24+T25seUV4cGxpY2l0SW5saW5lPC9JbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj4KKyAgICAgIDxPbWl0RnJhbWVQb2ludGVycz50cnVlPC9PbWl0RnJhbWVQb2ludGVycz4KKyAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXC4uXC4uOy4uXC4uXG1pbml6aXA7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KKyAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5XSU4zMjtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFO19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtaTElCX1dJTkFQSTtOREVCVUc7X0NPTlNPTEU7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgorICAgICAgPFN0cmluZ1Bvb2xpbmc+dHJ1ZTwvU3RyaW5nUG9vbGluZz4KKyAgICAgIDxCYXNpY1J1bnRpbWVDaGVja3M+RGVmYXVsdDwvQmFzaWNSdW50aW1lQ2hlY2tzPgorICAgICAgPFJ1bnRpbWVMaWJyYXJ5Pk11bHRpVGhyZWFkZWQ8L1J1bnRpbWVMaWJyYXJ5PgorICAgICAgPEJ1ZmZlclNlY3VyaXR5Q2hlY2s+ZmFsc2U8L0J1ZmZlclNlY3VyaXR5Q2hlY2s+CisgICAgICA8RnVuY3Rpb25MZXZlbExpbmtpbmc+dHJ1ZTwvRnVuY3Rpb25MZXZlbExpbmtpbmc+CisgICAgICA8UHJlY29tcGlsZWRIZWFkZXI+CisgICAgICA8L1ByZWNvbXBpbGVkSGVhZGVyPgorICAgICAgPEFzc2VtYmxlckxpc3RpbmdMb2NhdGlvbj4kKEludERpcik8L0Fzc2VtYmxlckxpc3RpbmdMb2NhdGlvbj4KKyAgICAgIDxXYXJuaW5nTGV2ZWw+TGV2ZWwzPC9XYXJuaW5nTGV2ZWw+CisgICAgICA8RGVidWdJbmZvcm1hdGlvbkZvcm1hdD5Qcm9ncmFtRGF0YWJhc2U8L0RlYnVnSW5mb3JtYXRpb25Gb3JtYXQ+CisgICAgPC9DbENvbXBpbGU+CisgICAgPExpbms+CisgICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz54ODZcWmxpYkRsbFJlbGVhc2VcemxpYndhcGkubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+CisgICAgICA8T3V0cHV0RmlsZT4kKE91dERpcil0ZXN0emxpYmRsbC5leGU8L091dHB1dEZpbGU+CisgICAgICA8R2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPnRydWU8L0dlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj4KKyAgICAgIDxTdWJTeXN0ZW0+Q29uc29sZTwvU3ViU3lzdGVtPgorICAgICAgPE9wdGltaXplUmVmZXJlbmNlcz50cnVlPC9PcHRpbWl6ZVJlZmVyZW5jZXM+CisgICAgICA8RW5hYmxlQ09NREFURm9sZGluZz50cnVlPC9FbmFibGVDT01EQVRGb2xkaW5nPgorICAgICAgPFJhbmRvbWl6ZWRCYXNlQWRkcmVzcz5mYWxzZTwvUmFuZG9taXplZEJhc2VBZGRyZXNzPgorICAgICAgPERhdGFFeGVjdXRpb25QcmV2ZW50aW9uPgorICAgICAgPC9EYXRhRXhlY3V0aW9uUHJldmVudGlvbj4KKyAgICAgIDxUYXJnZXRNYWNoaW5lPk1hY2hpbmVYODY8L1RhcmdldE1hY2hpbmU+CisgICAgPC9MaW5rPgorICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+CisgIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+CisgICAgPE1pZGw+CisgICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KKyAgICA8L01pZGw+CisgICAgPENsQ29tcGlsZT4KKyAgICAgIDxPcHRpbWl6YXRpb24+RGlzYWJsZWQ8L09wdGltaXphdGlvbj4KKyAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXC4uXC4uOy4uXC4uXG1pbml6aXA7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KKyAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fQ1JUX05PTlNURENfTk9fREVQUkVDQVRFO19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtaTElCX1dJTkFQSTtfREVCVUc7X0NPTlNPTEU7V0lONjQ7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgorICAgICAgPE1pbmltYWxSZWJ1aWxkPnRydWU8L01pbmltYWxSZWJ1aWxkPgorICAgICAgPEJhc2ljUnVudGltZUNoZWNrcz5EZWZhdWx0PC9CYXNpY1J1bnRpbWVDaGVja3M+CisgICAgICA8UnVudGltZUxpYnJhcnk+TXVsdGlUaHJlYWRlZERlYnVnRExMPC9SdW50aW1lTGlicmFyeT4KKyAgICAgIDxCdWZmZXJTZWN1cml0eUNoZWNrPmZhbHNlPC9CdWZmZXJTZWN1cml0eUNoZWNrPgorICAgICAgPFByZWNvbXBpbGVkSGVhZGVyPgorICAgICAgPC9QcmVjb21waWxlZEhlYWRlcj4KKyAgICAgIDxBc3NlbWJsZXJMaXN0aW5nTG9jYXRpb24+JChJbnREaXIpPC9Bc3NlbWJsZXJMaXN0aW5nTG9jYXRpb24+CisgICAgICA8V2FybmluZ0xldmVsPkxldmVsMzwvV2FybmluZ0xldmVsPgorICAgICAgPERlYnVnSW5mb3JtYXRpb25Gb3JtYXQ+UHJvZ3JhbURhdGFiYXNlPC9EZWJ1Z0luZm9ybWF0aW9uRm9ybWF0PgorICAgIDwvQ2xDb21waWxlPgorICAgIDxMaW5rPgorICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+eDY0XFpsaWJEbGxEZWJ1Z1x6bGlid2FwaS5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KKyAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKXRlc3R6bGliZGxsLmV4ZTwvT3V0cHV0RmlsZT4KKyAgICAgIDxHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+dHJ1ZTwvR2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPgorICAgICAgPFByb2dyYW1EYXRhYmFzZUZpbGU+JChPdXREaXIpdGVzdHpsaWIucGRiPC9Qcm9ncmFtRGF0YWJhc2VGaWxlPgorICAgICAgPFN1YlN5c3RlbT5Db25zb2xlPC9TdWJTeXN0ZW0+CisgICAgICA8VGFyZ2V0TWFjaGluZT5NYWNoaW5lWDY0PC9UYXJnZXRNYWNoaW5lPgorICAgIDwvTGluaz4KKyAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgorICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfEl0YW5pdW0nIj4KKyAgICA8TWlkbD4KKyAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5JdGFuaXVtPC9UYXJnZXRFbnZpcm9ubWVudD4KKyAgICA8L01pZGw+CisgICAgPENsQ29tcGlsZT4KKyAgICAgIDxPcHRpbWl6YXRpb24+RGlzYWJsZWQ8L09wdGltaXphdGlvbj4KKyAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXC4uXC4uOy4uXC4uXG1pbml6aXA7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KKyAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fQ1JUX05PTlNURENfTk9fREVQUkVDQVRFO19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtaTElCX1dJTkFQSTtfREVCVUc7X0NPTlNPTEU7V0lONjQ7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgorICAgICAgPE1pbmltYWxSZWJ1aWxkPnRydWU8L01pbmltYWxSZWJ1aWxkPgorICAgICAgPEJhc2ljUnVudGltZUNoZWNrcz5EZWZhdWx0PC9CYXNpY1J1bnRpbWVDaGVja3M+CisgICAgICA8UnVudGltZUxpYnJhcnk+TXVsdGlUaHJlYWRlZERlYnVnRExMPC9SdW50aW1lTGlicmFyeT4KKyAgICAgIDxCdWZmZXJTZWN1cml0eUNoZWNrPmZhbHNlPC9CdWZmZXJTZWN1cml0eUNoZWNrPgorICAgICAgPFByZWNvbXBpbGVkSGVhZGVyPgorICAgICAgPC9QcmVjb21waWxlZEhlYWRlcj4KKyAgICAgIDxBc3NlbWJsZXJMaXN0aW5nTG9jYXRpb24+JChJbnREaXIpPC9Bc3NlbWJsZXJMaXN0aW5nTG9jYXRpb24+CisgICAgICA8V2FybmluZ0xldmVsPkxldmVsMzwvV2FybmluZ0xldmVsPgorICAgICAgPERlYnVnSW5mb3JtYXRpb25Gb3JtYXQ+UHJvZ3JhbURhdGFiYXNlPC9EZWJ1Z0luZm9ybWF0aW9uRm9ybWF0PgorICAgIDwvQ2xDb21waWxlPgorICAgIDxMaW5rPgorICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+aWE2NFxabGliRGxsRGVidWdcemxpYndhcGkubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+CisgICAgICA8T3V0cHV0RmlsZT4kKE91dERpcil0ZXN0emxpYmRsbC5leGU8L091dHB1dEZpbGU+CisgICAgICA8R2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPnRydWU8L0dlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj4KKyAgICAgIDxQcm9ncmFtRGF0YWJhc2VGaWxlPiQoT3V0RGlyKXRlc3R6bGliLnBkYjwvUHJvZ3JhbURhdGFiYXNlRmlsZT4KKyAgICAgIDxTdWJTeXN0ZW0+Q29uc29sZTwvU3ViU3lzdGVtPgorICAgICAgPFRhcmdldE1hY2hpbmU+TWFjaGluZUlBNjQ8L1RhcmdldE1hY2hpbmU+CisgICAgPC9MaW5rPgorICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+CisgIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj4KKyAgICA8TWlkbD4KKyAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgorICAgIDwvTWlkbD4KKyAgICA8Q2xDb21waWxlPgorICAgICAgPE9wdGltaXphdGlvbj5NYXhTcGVlZDwvT3B0aW1pemF0aW9uPgorICAgICAgPElubGluZUZ1bmN0aW9uRXhwYW5zaW9uPk9ubHlFeHBsaWNpdElubGluZTwvSW5saW5lRnVuY3Rpb25FeHBhbnNpb24+CisgICAgICA8T21pdEZyYW1lUG9pbnRlcnM+dHJ1ZTwvT21pdEZyYW1lUG9pbnRlcnM+CisgICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlwuLlwuLjsuLlwuLlxtaW5pemlwOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7WkxJQl9XSU5BUEk7TkRFQlVHO19DT05TT0xFO1dJTjY0OyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KKyAgICAgIDxTdHJpbmdQb29saW5nPnRydWU8L1N0cmluZ1Bvb2xpbmc+CisgICAgICA8QmFzaWNSdW50aW1lQ2hlY2tzPkRlZmF1bHQ8L0Jhc2ljUnVudGltZUNoZWNrcz4KKyAgICAgIDxSdW50aW1lTGlicmFyeT5NdWx0aVRocmVhZGVkRExMPC9SdW50aW1lTGlicmFyeT4KKyAgICAgIDxCdWZmZXJTZWN1cml0eUNoZWNrPmZhbHNlPC9CdWZmZXJTZWN1cml0eUNoZWNrPgorICAgICAgPEZ1bmN0aW9uTGV2ZWxMaW5raW5nPnRydWU8L0Z1bmN0aW9uTGV2ZWxMaW5raW5nPgorICAgICAgPFByZWNvbXBpbGVkSGVhZGVyPgorICAgICAgPC9QcmVjb21waWxlZEhlYWRlcj4KKyAgICAgIDxBc3NlbWJsZXJMaXN0aW5nTG9jYXRpb24+JChJbnREaXIpPC9Bc3NlbWJsZXJMaXN0aW5nTG9jYXRpb24+CisgICAgICA8V2FybmluZ0xldmVsPkxldmVsMzwvV2FybmluZ0xldmVsPgorICAgICAgPERlYnVnSW5mb3JtYXRpb25Gb3JtYXQ+UHJvZ3JhbURhdGFiYXNlPC9EZWJ1Z0luZm9ybWF0aW9uRm9ybWF0PgorICAgIDwvQ2xDb21waWxlPgorICAgIDxMaW5rPgorICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+eDY0XFpsaWJEbGxSZWxlYXNlXHpsaWJ3YXBpLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgorICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpdGVzdHpsaWJkbGwuZXhlPC9PdXRwdXRGaWxlPgorICAgICAgPEdlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj50cnVlPC9HZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+CisgICAgICA8U3ViU3lzdGVtPkNvbnNvbGU8L1N1YlN5c3RlbT4KKyAgICAgIDxPcHRpbWl6ZVJlZmVyZW5jZXM+dHJ1ZTwvT3B0aW1pemVSZWZlcmVuY2VzPgorICAgICAgPEVuYWJsZUNPTURBVEZvbGRpbmc+dHJ1ZTwvRW5hYmxlQ09NREFURm9sZGluZz4KKyAgICAgIDxUYXJnZXRNYWNoaW5lPk1hY2hpbmVYNjQ8L1RhcmdldE1hY2hpbmU+CisgICAgPC9MaW5rPgorICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+CisgIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxJdGFuaXVtJyI+CisgICAgPE1pZGw+CisgICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+SXRhbml1bTwvVGFyZ2V0RW52aXJvbm1lbnQ+CisgICAgPC9NaWRsPgorICAgIDxDbENvbXBpbGU+CisgICAgICA8T3B0aW1pemF0aW9uPk1heFNwZWVkPC9PcHRpbWl6YXRpb24+CisgICAgICA8SW5saW5lRnVuY3Rpb25FeHBhbnNpb24+T25seUV4cGxpY2l0SW5saW5lPC9JbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj4KKyAgICAgIDxPbWl0RnJhbWVQb2ludGVycz50cnVlPC9PbWl0RnJhbWVQb2ludGVycz4KKyAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXC4uXC4uOy4uXC4uXG1pbml6aXA7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KKyAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fQ1JUX05PTlNURENfTk9fREVQUkVDQVRFO19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtaTElCX1dJTkFQSTtOREVCVUc7X0NPTlNPTEU7V0lONjQ7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgorICAgICAgPFN0cmluZ1Bvb2xpbmc+dHJ1ZTwvU3RyaW5nUG9vbGluZz4KKyAgICAgIDxCYXNpY1J1bnRpbWVDaGVja3M+RGVmYXVsdDwvQmFzaWNSdW50aW1lQ2hlY2tzPgorICAgICAgPFJ1bnRpbWVMaWJyYXJ5Pk11bHRpVGhyZWFkZWRETEw8L1J1bnRpbWVMaWJyYXJ5PgorICAgICAgPEJ1ZmZlclNlY3VyaXR5Q2hlY2s+ZmFsc2U8L0J1ZmZlclNlY3VyaXR5Q2hlY2s+CisgICAgICA8RnVuY3Rpb25MZXZlbExpbmtpbmc+dHJ1ZTwvRnVuY3Rpb25MZXZlbExpbmtpbmc+CisgICAgICA8UHJlY29tcGlsZWRIZWFkZXI+CisgICAgICA8L1ByZWNvbXBpbGVkSGVhZGVyPgorICAgICAgPEFzc2VtYmxlckxpc3RpbmdMb2NhdGlvbj4kKEludERpcik8L0Fzc2VtYmxlckxpc3RpbmdMb2NhdGlvbj4KKyAgICAgIDxXYXJuaW5nTGV2ZWw+TGV2ZWwzPC9XYXJuaW5nTGV2ZWw+CisgICAgICA8RGVidWdJbmZvcm1hdGlvbkZvcm1hdD5Qcm9ncmFtRGF0YWJhc2U8L0RlYnVnSW5mb3JtYXRpb25Gb3JtYXQ+CisgICAgPC9DbENvbXBpbGU+CisgICAgPExpbms+CisgICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz5pYTY0XFpsaWJEbGxSZWxlYXNlXHpsaWJ3YXBpLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgorICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpdGVzdHpsaWJkbGwuZXhlPC9PdXRwdXRGaWxlPgorICAgICAgPEdlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj50cnVlPC9HZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+CisgICAgICA8U3ViU3lzdGVtPkNvbnNvbGU8L1N1YlN5c3RlbT4KKyAgICAgIDxPcHRpbWl6ZVJlZmVyZW5jZXM+dHJ1ZTwvT3B0aW1pemVSZWZlcmVuY2VzPgorICAgICAgPEVuYWJsZUNPTURBVEZvbGRpbmc+dHJ1ZTwvRW5hYmxlQ09NREFURm9sZGluZz4KKyAgICAgIDxUYXJnZXRNYWNoaW5lPk1hY2hpbmVJQTY0PC9UYXJnZXRNYWNoaW5lPgorICAgIDwvTGluaz4KKyAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgorICA8SXRlbUdyb3VwPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cdGVzdHpsaWJcdGVzdHpsaWIuYyIgLz4KKyAgPC9JdGVtR3JvdXA+CisgIDxJdGVtR3JvdXA+CisgICAgPFByb2plY3RSZWZlcmVuY2UgSW5jbHVkZT0iemxpYnZjLnZjeHByb2oiPgorICAgICAgPFByb2plY3Q+ezhmZDgyNmY4LTM3MzktNDRlNi04Y2M4LTk5NzEyMmU1M2I4ZH08L1Byb2plY3Q+CisgICAgPC9Qcm9qZWN0UmVmZXJlbmNlPgorICA8L0l0ZW1Hcm91cD4KKyAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAudGFyZ2V0cyIgLz4KKyAgPEltcG9ydEdyb3VwIExhYmVsPSJFeHRlbnNpb25UYXJnZXRzIj4KKyAgPC9JbXBvcnRHcm91cD4KKzwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zcmMvY29udHJpYi92c3R1ZGlvL3ZjMTQvemxpYi5yYyBiL3NyYy9jb250cmliL3ZzdHVkaW8vdmMxNC96bGliLnJjCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNkZDc5ODUKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvY29udHJpYi92c3R1ZGlvL3ZjMTQvemxpYi5yYwpAQCAtMCwwICsxLDMyIEBACisjaW5jbHVkZSA8d2luZG93cy5oPgorCisjZGVmaW5lIElEUl9WRVJTSU9OMSAgMQorSURSX1ZFUlNJT04xCVZFUlNJT05JTkZPCU1PVkVBQkxFIElNUFVSRSBMT0FET05DQUxMIERJU0NBUkRBQkxFCisgIEZJTEVWRVJTSU9OCSAxLCAyLCAxMywgMAorICBQUk9EVUNUVkVSU0lPTiAxLCAyLCAxMywgMAorICBGSUxFRkxBR1NNQVNLCVZTX0ZGSV9GSUxFRkxBR1NNQVNLCisgIEZJTEVGTEFHUwkwCisgIEZJTEVPUwlWT1NfRE9TX1dJTkRPV1MzMgorICBGSUxFVFlQRQlWRlRfRExMCisgIEZJTEVTVUJUWVBFCTAJLy8gbm90IHVzZWQKK0JFR0lOCisgIEJMT0NLICJTdHJpbmdGaWxlSW5mbyIKKyAgQkVHSU4KKyAgICBCTE9DSyAiMDQwOTA0RTQiCisgICAgLy9sYW5ndWFnZSBJRCA9IFUuUy4gRW5nbGlzaCwgY2hhciBzZXQgPSBXaW5kb3dzLCBNdWx0aWxpbmd1YWwKKworICAgIEJFR0lOCisgICAgICBWQUxVRSAiRmlsZURlc2NyaXB0aW9uIiwgInpsaWIgZGF0YSBjb21wcmVzc2lvbiBhbmQgWklQIGZpbGUgSS9PIGxpYnJhcnlcMCIKKyAgICAgIFZBTFVFICJGaWxlVmVyc2lvbiIsCSIxLjIuMTNcMCIKKyAgICAgIFZBTFVFICJJbnRlcm5hbE5hbWUiLAkiemxpYlwwIgorICAgICAgVkFMVUUgIk9yaWdpbmFsRmlsZW5hbWUiLAkiemxpYndhcGkuZGxsXDAiCisgICAgICBWQUxVRSAiUHJvZHVjdE5hbWUiLAkiWkxpYi5ETExcMCIKKyAgICAgIFZBTFVFICJDb21tZW50cyIsIkRMTCBzdXBwb3J0IGJ5IEFsZXNzYW5kcm8gSWFjb3BldHRpICYgR2lsbGVzIFZvbGxhbnRcMCIKKyAgICAgIFZBTFVFICJMZWdhbENvcHlyaWdodCIsICIoQykgMTk5NS0yMDIyIEplYW4tbG91cCBHYWlsbHkgJiBNYXJrIEFkbGVyXDAiCisgICAgRU5ECisgIEVORAorICBCTE9DSyAiVmFyRmlsZUluZm8iCisgIEJFR0lOCisgICAgVkFMVUUgIlRyYW5zbGF0aW9uIiwgMHgwNDA5LCAxMjUyCisgIEVORAorRU5ECmRpZmYgLS1naXQgYS9zcmMvY29udHJpYi92c3R1ZGlvL3ZjMTQvemxpYnN0YXQudmN4cHJvaiBiL3NyYy9jb250cmliL3ZzdHVkaW8vdmMxNC96bGlic3RhdC52Y3hwcm9qCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg1YzFlODkKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvY29udHJpYi92c3R1ZGlvL3ZjMTQvemxpYnN0YXQudmN4cHJvagpAQCAtMCwwICsxLDQ1OSBAQAor77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzxQcm9qZWN0IERlZmF1bHRUYXJnZXRzPSJCdWlsZCIgVG9vbHNWZXJzaW9uPSIxNC4wIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KKyAgPEl0ZW1Hcm91cCBMYWJlbD0iUHJvamVjdENvbmZpZ3VyYXRpb25zIj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iRGVidWd8SXRhbml1bSI+CisgICAgICA8Q29uZmlndXJhdGlvbj5EZWJ1ZzwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT5JdGFuaXVtPC9QbGF0Zm9ybT4KKyAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgorICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJEZWJ1Z3xXaW4zMiI+CisgICAgICA8Q29uZmlndXJhdGlvbj5EZWJ1ZzwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iRGVidWd8eDY0Ij4KKyAgICAgIDxDb25maWd1cmF0aW9uPkRlYnVnPC9Db25maWd1cmF0aW9uPgorICAgICAgPFBsYXRmb3JtPng2NDwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUmVsZWFzZVdpdGhvdXRBc218SXRhbml1bSI+CisgICAgICA8Q29uZmlndXJhdGlvbj5SZWxlYXNlV2l0aG91dEFzbTwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT5JdGFuaXVtPC9QbGF0Zm9ybT4KKyAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgorICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJSZWxlYXNlV2l0aG91dEFzbXxXaW4zMiI+CisgICAgICA8Q29uZmlndXJhdGlvbj5SZWxlYXNlV2l0aG91dEFzbTwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUmVsZWFzZVdpdGhvdXRBc218eDY0Ij4KKyAgICAgIDxDb25maWd1cmF0aW9uPlJlbGVhc2VXaXRob3V0QXNtPC9Db25maWd1cmF0aW9uPgorICAgICAgPFBsYXRmb3JtPng2NDwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUmVsZWFzZXxJdGFuaXVtIj4KKyAgICAgIDxDb25maWd1cmF0aW9uPlJlbGVhc2U8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+SXRhbml1bTwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUmVsZWFzZXxXaW4zMiI+CisgICAgICA8Q29uZmlndXJhdGlvbj5SZWxlYXNlPC9Db25maWd1cmF0aW9uPgorICAgICAgPFBsYXRmb3JtPldpbjMyPC9QbGF0Zm9ybT4KKyAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgorICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJSZWxlYXNlfHg2NCI+CisgICAgICA8Q29uZmlndXJhdGlvbj5SZWxlYXNlPC9Db25maWd1cmF0aW9uPgorICAgICAgPFBsYXRmb3JtPng2NDwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgPC9JdGVtR3JvdXA+CisgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJHbG9iYWxzIj4KKyAgICA8UHJvamVjdEd1aWQ+ezc0NURFQzU4LUVCQjMtNDdBOS1BOUI4LTRDNjYyN0MwMUJGOH08L1Byb2plY3RHdWlkPgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLkRlZmF1bHQucHJvcHMiIC8+CisgIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZVdpdGhvdXRBc218V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+CisgICAgPENvbmZpZ3VyYXRpb25UeXBlPlN0YXRpY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgorICAgIDxVc2VPZk1mYz5mYWxzZTwvVXNlT2ZNZmM+CisgICAgPFBsYXRmb3JtVG9vbHNldD52MTQwPC9QbGF0Zm9ybVRvb2xzZXQ+CisgIDwvUHJvcGVydHlHcm91cD4KKyAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgorICAgIDxDb25maWd1cmF0aW9uVHlwZT5TdGF0aWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KKyAgICA8VXNlT2ZNZmM+ZmFsc2U8L1VzZU9mTWZjPgorICAgIDxQbGF0Zm9ybVRvb2xzZXQ+djE0MDwvUGxhdGZvcm1Ub29sc2V0PgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+CisgICAgPENvbmZpZ3VyYXRpb25UeXBlPlN0YXRpY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgorICAgIDxVc2VPZk1mYz5mYWxzZTwvVXNlT2ZNZmM+CisgICAgPFBsYXRmb3JtVG9vbHNldD52MTQwPC9QbGF0Zm9ybVRvb2xzZXQ+CisgICAgPENoYXJhY3RlclNldD5Vbmljb2RlPC9DaGFyYWN0ZXJTZXQ+CisgIDwvUHJvcGVydHlHcm91cD4KKyAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlV2l0aG91dEFzbXxJdGFuaXVtJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgorICAgIDxDb25maWd1cmF0aW9uVHlwZT5TdGF0aWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KKyAgICA8VXNlT2ZNZmM+ZmFsc2U8L1VzZU9mTWZjPgorICAgIDxQbGF0Zm9ybVRvb2xzZXQ+djE0MDwvUGxhdGZvcm1Ub29sc2V0PgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxJdGFuaXVtJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgorICAgIDxDb25maWd1cmF0aW9uVHlwZT5TdGF0aWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KKyAgICA8VXNlT2ZNZmM+ZmFsc2U8L1VzZU9mTWZjPgorICAgIDxQbGF0Zm9ybVRvb2xzZXQ+djE0MDwvUGxhdGZvcm1Ub29sc2V0PgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8SXRhbml1bSciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KKyAgICA8Q29uZmlndXJhdGlvblR5cGU+U3RhdGljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+CisgICAgPFVzZU9mTWZjPmZhbHNlPC9Vc2VPZk1mYz4KKyAgICA8UGxhdGZvcm1Ub29sc2V0PnYxNDA8L1BsYXRmb3JtVG9vbHNldD4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VXaXRob3V0QXNtfHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KKyAgICA8Q29uZmlndXJhdGlvblR5cGU+U3RhdGljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+CisgICAgPFVzZU9mTWZjPmZhbHNlPC9Vc2VPZk1mYz4KKyAgICA8UGxhdGZvcm1Ub29sc2V0PnYxNDA8L1BsYXRmb3JtVG9vbHNldD4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgorICAgIDxDb25maWd1cmF0aW9uVHlwZT5TdGF0aWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KKyAgICA8VXNlT2ZNZmM+ZmFsc2U8L1VzZU9mTWZjPgorICAgIDxQbGF0Zm9ybVRvb2xzZXQ+djE0MDwvUGxhdGZvcm1Ub29sc2V0PgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgorICAgIDxDb25maWd1cmF0aW9uVHlwZT5TdGF0aWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KKyAgICA8VXNlT2ZNZmM+ZmFsc2U8L1VzZU9mTWZjPgorICAgIDxQbGF0Zm9ybVRvb2xzZXQ+djE0MDwvUGxhdGZvcm1Ub29sc2V0PgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnByb3BzIiAvPgorICA8SW1wb3J0R3JvdXAgTGFiZWw9IkV4dGVuc2lvblNldHRpbmdzIj4KKyAgPC9JbXBvcnRHcm91cD4KKyAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZVdpdGhvdXRBc218V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgorICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KKyAgPC9JbXBvcnRHcm91cD4KKyAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CisgICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgorICA8L0ltcG9ydEdyb3VwPgorICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CisgICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgorICA8L0ltcG9ydEdyb3VwPgorICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlV2l0aG91dEFzbXxJdGFuaXVtJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KKyAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+CisgIDwvSW1wb3J0R3JvdXA+CisgIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8SXRhbml1bSciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CisgICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgorICA8L0ltcG9ydEdyb3VwPgorICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xJdGFuaXVtJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KKyAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+CisgIDwvSW1wb3J0R3JvdXA+CisgIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VXaXRob3V0QXNtfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CisgICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgorICA8L0ltcG9ydEdyb3VwPgorICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CisgICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgorICA8L0ltcG9ydEdyb3VwPgorICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgorICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KKyAgPC9JbXBvcnRHcm91cD4KKyAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IlVzZXJNYWNyb3MiIC8+CisgIDxQcm9wZXJ0eUdyb3VwPgorICAgIDxfUHJvamVjdEZpbGVWZXJzaW9uPjEwLjAuMzAxMjguMTwvX1Byb2plY3RGaWxlVmVyc2lvbj4KKyAgICA8T3V0RGlyIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj54ODZcWmxpYlN0YXQkKENvbmZpZ3VyYXRpb24pXDwvT3V0RGlyPgorICAgIDxJbnREaXIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPng4NlxabGliU3RhdCQoQ29uZmlndXJhdGlvbilcVG1wXDwvSW50RGlyPgorICAgIDxPdXREaXIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+eDg2XFpsaWJTdGF0JChDb25maWd1cmF0aW9uKVw8L091dERpcj4KKyAgICA8SW50RGlyIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPng4NlxabGliU3RhdCQoQ29uZmlndXJhdGlvbilcVG1wXDwvSW50RGlyPgorICAgIDxPdXREaXIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlV2l0aG91dEFzbXxXaW4zMiciPng4NlxabGliU3RhdCQoQ29uZmlndXJhdGlvbilcPC9PdXREaXI+CisgICAgPEludERpciBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VXaXRob3V0QXNtfFdpbjMyJyI+eDg2XFpsaWJTdGF0JChDb25maWd1cmF0aW9uKVxUbXBcPC9JbnREaXI+CisgICAgPE91dERpciBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPng2NFxabGliU3RhdCQoQ29uZmlndXJhdGlvbilcPC9PdXREaXI+CisgICAgPEludERpciBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPng2NFxabGliU3RhdCQoQ29uZmlndXJhdGlvbilcVG1wXDwvSW50RGlyPgorICAgIDxPdXREaXIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xJdGFuaXVtJyI+aWE2NFxabGliU3RhdCQoQ29uZmlndXJhdGlvbilcPC9PdXREaXI+CisgICAgPEludERpciBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfEl0YW5pdW0nIj5pYTY0XFpsaWJTdGF0JChDb25maWd1cmF0aW9uKVxUbXBcPC9JbnREaXI+CisgICAgPE91dERpciBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+eDY0XFpsaWJTdGF0JChDb25maWd1cmF0aW9uKVw8L091dERpcj4KKyAgICA8SW50RGlyIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj54NjRcWmxpYlN0YXQkKENvbmZpZ3VyYXRpb24pXFRtcFw8L0ludERpcj4KKyAgICA8T3V0RGlyIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxJdGFuaXVtJyI+aWE2NFxabGliU3RhdCQoQ29uZmlndXJhdGlvbilcPC9PdXREaXI+CisgICAgPEludERpciBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8SXRhbml1bSciPmlhNjRcWmxpYlN0YXQkKENvbmZpZ3VyYXRpb24pXFRtcFw8L0ludERpcj4KKyAgICA8T3V0RGlyIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZVdpdGhvdXRBc218eDY0JyI+eDY0XFpsaWJTdGF0JChDb25maWd1cmF0aW9uKVw8L091dERpcj4KKyAgICA8SW50RGlyIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZVdpdGhvdXRBc218eDY0JyI+eDY0XFpsaWJTdGF0JChDb25maWd1cmF0aW9uKVxUbXBcPC9JbnREaXI+CisgICAgPE91dERpciBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VXaXRob3V0QXNtfEl0YW5pdW0nIj5pYTY0XFpsaWJTdGF0JChDb25maWd1cmF0aW9uKVw8L091dERpcj4KKyAgICA8SW50RGlyIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZVdpdGhvdXRBc218SXRhbml1bSciPmlhNjRcWmxpYlN0YXQkKENvbmZpZ3VyYXRpb24pXFRtcFw8L0ludERpcj4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfEl0YW5pdW0nIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgorICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfEl0YW5pdW0nIiAvPgorICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfEl0YW5pdW0nIiAvPgorICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgorICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgLz4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIC8+CisgICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgorICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIC8+CisgICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgLz4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VXaXRob3V0QXNtfEl0YW5pdW0nIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgorICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VXaXRob3V0QXNtfEl0YW5pdW0nIiAvPgorICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VXaXRob3V0QXNtfEl0YW5pdW0nIiAvPgorICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZVdpdGhvdXRBc218V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgorICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VXaXRob3V0QXNtfFdpbjMyJyIgLz4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlV2l0aG91dEFzbXxXaW4zMiciIC8+CisgICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlV2l0aG91dEFzbXx4NjQnIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgorICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VXaXRob3V0QXNtfHg2NCciIC8+CisgICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZVdpdGhvdXRBc218eDY0JyIgLz4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8SXRhbml1bSciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+CisgICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxJdGFuaXVtJyIgLz4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfEl0YW5pdW0nIiAvPgorICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+CisgICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIC8+CisgICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIC8+CisgICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+CisgICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiAvPgorICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgLz4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+CisgICAgPENsQ29tcGlsZT4KKyAgICAgIDxPcHRpbWl6YXRpb24+RGlzYWJsZWQ8L09wdGltaXphdGlvbj4KKyAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXC4uXC4uOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+V0lOMzI7WkxJQl9XSU5BUEk7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX1dBUk5JTkdTOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KKyAgICAgIDxFeGNlcHRpb25IYW5kbGluZz4KKyAgICAgIDwvRXhjZXB0aW9uSGFuZGxpbmc+CisgICAgICA8UnVudGltZUxpYnJhcnk+TXVsdGlUaHJlYWRlZERlYnVnRExMPC9SdW50aW1lTGlicmFyeT4KKyAgICAgIDxCdWZmZXJTZWN1cml0eUNoZWNrPmZhbHNlPC9CdWZmZXJTZWN1cml0eUNoZWNrPgorICAgICAgPFByZWNvbXBpbGVkSGVhZGVyT3V0cHV0RmlsZT4kKEludERpcil6bGlic3RhdC5wY2g8L1ByZWNvbXBpbGVkSGVhZGVyT3V0cHV0RmlsZT4KKyAgICAgIDxBc3NlbWJsZXJMaXN0aW5nTG9jYXRpb24+JChJbnREaXIpPC9Bc3NlbWJsZXJMaXN0aW5nTG9jYXRpb24+CisgICAgICA8T2JqZWN0RmlsZU5hbWU+JChJbnREaXIpPC9PYmplY3RGaWxlTmFtZT4KKyAgICAgIDxQcm9ncmFtRGF0YUJhc2VGaWxlTmFtZT4kKE91dERpcik8L1Byb2dyYW1EYXRhQmFzZUZpbGVOYW1lPgorICAgICAgPFdhcm5pbmdMZXZlbD5MZXZlbDM8L1dhcm5pbmdMZXZlbD4KKyAgICAgIDxTdXBwcmVzc1N0YXJ0dXBCYW5uZXI+dHJ1ZTwvU3VwcHJlc3NTdGFydHVwQmFubmVyPgorICAgICAgPERlYnVnSW5mb3JtYXRpb25Gb3JtYXQ+T2xkU3R5bGU8L0RlYnVnSW5mb3JtYXRpb25Gb3JtYXQ+CisgICAgPC9DbENvbXBpbGU+CisgICAgPFJlc291cmNlQ29tcGlsZT4KKyAgICAgIDxDdWx0dXJlPjB4MDQwYzwvQ3VsdHVyZT4KKyAgICA8L1Jlc291cmNlQ29tcGlsZT4KKyAgICA8TGliPgorICAgICAgPEFkZGl0aW9uYWxPcHRpb25zPi9NQUNISU5FOlg4NiAvTk9ERUZBVUxUTElCICUoQWRkaXRpb25hbE9wdGlvbnMpPC9BZGRpdGlvbmFsT3B0aW9ucz4KKyAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKXpsaWJzdGF0LmxpYjwvT3V0cHV0RmlsZT4KKyAgICAgIDxTdXBwcmVzc1N0YXJ0dXBCYW5uZXI+dHJ1ZTwvU3VwcHJlc3NTdGFydHVwQmFubmVyPgorICAgIDwvTGliPgorICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+CisgIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPgorICAgIDxDbENvbXBpbGU+CisgICAgICA8SW5saW5lRnVuY3Rpb25FeHBhbnNpb24+T25seUV4cGxpY2l0SW5saW5lPC9JbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj4KKyAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXC4uXC4uOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+V0lOMzI7WkxJQl9XSU5BUEk7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX1dBUk5JTkdTOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KKyAgICAgIDxTdHJpbmdQb29saW5nPnRydWU8L1N0cmluZ1Bvb2xpbmc+CisgICAgICA8RXhjZXB0aW9uSGFuZGxpbmc+CisgICAgICA8L0V4Y2VwdGlvbkhhbmRsaW5nPgorICAgICAgPFJ1bnRpbWVMaWJyYXJ5Pk11bHRpVGhyZWFkZWQ8L1J1bnRpbWVMaWJyYXJ5PgorICAgICAgPEJ1ZmZlclNlY3VyaXR5Q2hlY2s+ZmFsc2U8L0J1ZmZlclNlY3VyaXR5Q2hlY2s+CisgICAgICA8RnVuY3Rpb25MZXZlbExpbmtpbmc+dHJ1ZTwvRnVuY3Rpb25MZXZlbExpbmtpbmc+CisgICAgICA8UHJlY29tcGlsZWRIZWFkZXJPdXRwdXRGaWxlPiQoSW50RGlyKXpsaWJzdGF0LnBjaDwvUHJlY29tcGlsZWRIZWFkZXJPdXRwdXRGaWxlPgorICAgICAgPEFzc2VtYmxlckxpc3RpbmdMb2NhdGlvbj4kKEludERpcik8L0Fzc2VtYmxlckxpc3RpbmdMb2NhdGlvbj4KKyAgICAgIDxPYmplY3RGaWxlTmFtZT4kKEludERpcik8L09iamVjdEZpbGVOYW1lPgorICAgICAgPFByb2dyYW1EYXRhQmFzZUZpbGVOYW1lPiQoT3V0RGlyKTwvUHJvZ3JhbURhdGFCYXNlRmlsZU5hbWU+CisgICAgICA8V2FybmluZ0xldmVsPkxldmVsMzwvV2FybmluZ0xldmVsPgorICAgICAgPFN1cHByZXNzU3RhcnR1cEJhbm5lcj50cnVlPC9TdXBwcmVzc1N0YXJ0dXBCYW5uZXI+CisgICAgPC9DbENvbXBpbGU+CisgICAgPFJlc291cmNlQ29tcGlsZT4KKyAgICAgIDxDdWx0dXJlPjB4MDQwYzwvQ3VsdHVyZT4KKyAgICA8L1Jlc291cmNlQ29tcGlsZT4KKyAgICA8TGliPgorICAgICAgPEFkZGl0aW9uYWxPcHRpb25zPi9NQUNISU5FOlg4NiAvTk9ERUZBVUxUTElCICUoQWRkaXRpb25hbE9wdGlvbnMpPC9BZGRpdGlvbmFsT3B0aW9ucz4KKyAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPiUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+CisgICAgICA8T3V0cHV0RmlsZT4kKE91dERpcil6bGlic3RhdC5saWI8L091dHB1dEZpbGU+CisgICAgICA8U3VwcHJlc3NTdGFydHVwQmFubmVyPnRydWU8L1N1cHByZXNzU3RhcnR1cEJhbm5lcj4KKyAgICA8L0xpYj4KKyAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgorICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VXaXRob3V0QXNtfFdpbjMyJyI+CisgICAgPENsQ29tcGlsZT4KKyAgICAgIDxJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj5Pbmx5RXhwbGljaXRJbmxpbmU8L0lubGluZUZ1bmN0aW9uRXhwYW5zaW9uPgorICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cLi5cLi47JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KKyAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5XSU4zMjtaTElCX1dJTkFQSTtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFO19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fV0FSTklOR1M7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgorICAgICAgPFN0cmluZ1Bvb2xpbmc+dHJ1ZTwvU3RyaW5nUG9vbGluZz4KKyAgICAgIDxFeGNlcHRpb25IYW5kbGluZz4KKyAgICAgIDwvRXhjZXB0aW9uSGFuZGxpbmc+CisgICAgICA8UnVudGltZUxpYnJhcnk+TXVsdGlUaHJlYWRlZDwvUnVudGltZUxpYnJhcnk+CisgICAgICA8QnVmZmVyU2VjdXJpdHlDaGVjaz5mYWxzZTwvQnVmZmVyU2VjdXJpdHlDaGVjaz4KKyAgICAgIDxGdW5jdGlvbkxldmVsTGlua2luZz50cnVlPC9GdW5jdGlvbkxldmVsTGlua2luZz4KKyAgICAgIDxQcmVjb21waWxlZEhlYWRlck91dHB1dEZpbGU+JChJbnREaXIpemxpYnN0YXQucGNoPC9QcmVjb21waWxlZEhlYWRlck91dHB1dEZpbGU+CisgICAgICA8QXNzZW1ibGVyTGlzdGluZ0xvY2F0aW9uPiQoSW50RGlyKTwvQXNzZW1ibGVyTGlzdGluZ0xvY2F0aW9uPgorICAgICAgPE9iamVjdEZpbGVOYW1lPiQoSW50RGlyKTwvT2JqZWN0RmlsZU5hbWU+CisgICAgICA8UHJvZ3JhbURhdGFCYXNlRmlsZU5hbWU+JChPdXREaXIpPC9Qcm9ncmFtRGF0YUJhc2VGaWxlTmFtZT4KKyAgICAgIDxXYXJuaW5nTGV2ZWw+TGV2ZWwzPC9XYXJuaW5nTGV2ZWw+CisgICAgICA8U3VwcHJlc3NTdGFydHVwQmFubmVyPnRydWU8L1N1cHByZXNzU3RhcnR1cEJhbm5lcj4KKyAgICA8L0NsQ29tcGlsZT4KKyAgICA8UmVzb3VyY2VDb21waWxlPgorICAgICAgPEN1bHR1cmU+MHgwNDBjPC9DdWx0dXJlPgorICAgIDwvUmVzb3VyY2VDb21waWxlPgorICAgIDxMaWI+CisgICAgICA8QWRkaXRpb25hbE9wdGlvbnM+L01BQ0hJTkU6WDg2IC9OT0RFRkFVTFRMSUIgJShBZGRpdGlvbmFsT3B0aW9ucyk8L0FkZGl0aW9uYWxPcHRpb25zPgorICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpemxpYnN0YXQubGliPC9PdXRwdXRGaWxlPgorICAgICAgPFN1cHByZXNzU3RhcnR1cEJhbm5lcj50cnVlPC9TdXBwcmVzc1N0YXJ0dXBCYW5uZXI+CisgICAgPC9MaWI+CisgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KKyAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj4KKyAgICA8TWlkbD4KKyAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgorICAgIDwvTWlkbD4KKyAgICA8Q2xDb21waWxlPgorICAgICAgPE9wdGltaXphdGlvbj5EaXNhYmxlZDwvT3B0aW1pemF0aW9uPgorICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cLi5cLi47JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KKyAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5aTElCX1dJTkFQSTtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFO19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fV0FSTklOR1M7V0lONjQ7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgorICAgICAgPEV4Y2VwdGlvbkhhbmRsaW5nPgorICAgICAgPC9FeGNlcHRpb25IYW5kbGluZz4KKyAgICAgIDxSdW50aW1lTGlicmFyeT5NdWx0aVRocmVhZGVkRGVidWdETEw8L1J1bnRpbWVMaWJyYXJ5PgorICAgICAgPEJ1ZmZlclNlY3VyaXR5Q2hlY2s+ZmFsc2U8L0J1ZmZlclNlY3VyaXR5Q2hlY2s+CisgICAgICA8UHJlY29tcGlsZWRIZWFkZXJPdXRwdXRGaWxlPiQoSW50RGlyKXpsaWJzdGF0LnBjaDwvUHJlY29tcGlsZWRIZWFkZXJPdXRwdXRGaWxlPgorICAgICAgPEFzc2VtYmxlckxpc3RpbmdMb2NhdGlvbj4kKEludERpcik8L0Fzc2VtYmxlckxpc3RpbmdMb2NhdGlvbj4KKyAgICAgIDxPYmplY3RGaWxlTmFtZT4kKEludERpcik8L09iamVjdEZpbGVOYW1lPgorICAgICAgPFByb2dyYW1EYXRhQmFzZUZpbGVOYW1lPiQoT3V0RGlyKTwvUHJvZ3JhbURhdGFCYXNlRmlsZU5hbWU+CisgICAgICA8V2FybmluZ0xldmVsPkxldmVsMzwvV2FybmluZ0xldmVsPgorICAgICAgPFN1cHByZXNzU3RhcnR1cEJhbm5lcj50cnVlPC9TdXBwcmVzc1N0YXJ0dXBCYW5uZXI+CisgICAgICA8RGVidWdJbmZvcm1hdGlvbkZvcm1hdD5PbGRTdHlsZTwvRGVidWdJbmZvcm1hdGlvbkZvcm1hdD4KKyAgICA8L0NsQ29tcGlsZT4KKyAgICA8UmVzb3VyY2VDb21waWxlPgorICAgICAgPEN1bHR1cmU+MHgwNDBjPC9DdWx0dXJlPgorICAgIDwvUmVzb3VyY2VDb21waWxlPgorICAgIDxMaWI+CisgICAgICA8QWRkaXRpb25hbE9wdGlvbnM+L01BQ0hJTkU6QU1ENjQgL05PREVGQVVMVExJQiAlKEFkZGl0aW9uYWxPcHRpb25zKTwvQWRkaXRpb25hbE9wdGlvbnM+CisgICAgICA8T3V0cHV0RmlsZT4kKE91dERpcil6bGlic3RhdC5saWI8L091dHB1dEZpbGU+CisgICAgICA8U3VwcHJlc3NTdGFydHVwQmFubmVyPnRydWU8L1N1cHByZXNzU3RhcnR1cEJhbm5lcj4KKyAgICA8L0xpYj4KKyAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgorICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfEl0YW5pdW0nIj4KKyAgICA8TWlkbD4KKyAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5JdGFuaXVtPC9UYXJnZXRFbnZpcm9ubWVudD4KKyAgICA8L01pZGw+CisgICAgPENsQ29tcGlsZT4KKyAgICAgIDxPcHRpbWl6YXRpb24+RGlzYWJsZWQ8L09wdGltaXphdGlvbj4KKyAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXC4uXC4uOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+WkxJQl9XSU5BUEk7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX1dBUk5JTkdTO1dJTjY0OyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KKyAgICAgIDxFeGNlcHRpb25IYW5kbGluZz4KKyAgICAgIDwvRXhjZXB0aW9uSGFuZGxpbmc+CisgICAgICA8UnVudGltZUxpYnJhcnk+TXVsdGlUaHJlYWRlZERlYnVnRExMPC9SdW50aW1lTGlicmFyeT4KKyAgICAgIDxCdWZmZXJTZWN1cml0eUNoZWNrPmZhbHNlPC9CdWZmZXJTZWN1cml0eUNoZWNrPgorICAgICAgPFByZWNvbXBpbGVkSGVhZGVyT3V0cHV0RmlsZT4kKEludERpcil6bGlic3RhdC5wY2g8L1ByZWNvbXBpbGVkSGVhZGVyT3V0cHV0RmlsZT4KKyAgICAgIDxBc3NlbWJsZXJMaXN0aW5nTG9jYXRpb24+JChJbnREaXIpPC9Bc3NlbWJsZXJMaXN0aW5nTG9jYXRpb24+CisgICAgICA8T2JqZWN0RmlsZU5hbWU+JChJbnREaXIpPC9PYmplY3RGaWxlTmFtZT4KKyAgICAgIDxQcm9ncmFtRGF0YUJhc2VGaWxlTmFtZT4kKE91dERpcik8L1Byb2dyYW1EYXRhQmFzZUZpbGVOYW1lPgorICAgICAgPFdhcm5pbmdMZXZlbD5MZXZlbDM8L1dhcm5pbmdMZXZlbD4KKyAgICAgIDxTdXBwcmVzc1N0YXJ0dXBCYW5uZXI+dHJ1ZTwvU3VwcHJlc3NTdGFydHVwQmFubmVyPgorICAgICAgPERlYnVnSW5mb3JtYXRpb25Gb3JtYXQ+T2xkU3R5bGU8L0RlYnVnSW5mb3JtYXRpb25Gb3JtYXQ+CisgICAgPC9DbENvbXBpbGU+CisgICAgPFJlc291cmNlQ29tcGlsZT4KKyAgICAgIDxDdWx0dXJlPjB4MDQwYzwvQ3VsdHVyZT4KKyAgICA8L1Jlc291cmNlQ29tcGlsZT4KKyAgICA8TGliPgorICAgICAgPEFkZGl0aW9uYWxPcHRpb25zPi9NQUNISU5FOklBNjQgL05PREVGQVVMVExJQiAlKEFkZGl0aW9uYWxPcHRpb25zKTwvQWRkaXRpb25hbE9wdGlvbnM+CisgICAgICA8T3V0cHV0RmlsZT4kKE91dERpcil6bGlic3RhdC5saWI8L091dHB1dEZpbGU+CisgICAgICA8U3VwcHJlc3NTdGFydHVwQmFubmVyPnRydWU8L1N1cHByZXNzU3RhcnR1cEJhbm5lcj4KKyAgICA8L0xpYj4KKyAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgorICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+CisgICAgPE1pZGw+CisgICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KKyAgICA8L01pZGw+CisgICAgPENsQ29tcGlsZT4KKyAgICAgIDxJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj5Pbmx5RXhwbGljaXRJbmxpbmU8L0lubGluZUZ1bmN0aW9uRXhwYW5zaW9uPgorICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cLi5cLi47JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KKyAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5aTElCX1dJTkFQSTtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFO19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fV0FSTklOR1M7V0lONjQ7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgorICAgICAgPFN0cmluZ1Bvb2xpbmc+dHJ1ZTwvU3RyaW5nUG9vbGluZz4KKyAgICAgIDxFeGNlcHRpb25IYW5kbGluZz4KKyAgICAgIDwvRXhjZXB0aW9uSGFuZGxpbmc+CisgICAgICA8UnVudGltZUxpYnJhcnk+TXVsdGlUaHJlYWRlZERMTDwvUnVudGltZUxpYnJhcnk+CisgICAgICA8QnVmZmVyU2VjdXJpdHlDaGVjaz5mYWxzZTwvQnVmZmVyU2VjdXJpdHlDaGVjaz4KKyAgICAgIDxGdW5jdGlvbkxldmVsTGlua2luZz50cnVlPC9GdW5jdGlvbkxldmVsTGlua2luZz4KKyAgICAgIDxQcmVjb21waWxlZEhlYWRlck91dHB1dEZpbGU+JChJbnREaXIpemxpYnN0YXQucGNoPC9QcmVjb21waWxlZEhlYWRlck91dHB1dEZpbGU+CisgICAgICA8QXNzZW1ibGVyTGlzdGluZ0xvY2F0aW9uPiQoSW50RGlyKTwvQXNzZW1ibGVyTGlzdGluZ0xvY2F0aW9uPgorICAgICAgPE9iamVjdEZpbGVOYW1lPiQoSW50RGlyKTwvT2JqZWN0RmlsZU5hbWU+CisgICAgICA8UHJvZ3JhbURhdGFCYXNlRmlsZU5hbWU+JChPdXREaXIpPC9Qcm9ncmFtRGF0YUJhc2VGaWxlTmFtZT4KKyAgICAgIDxXYXJuaW5nTGV2ZWw+TGV2ZWwzPC9XYXJuaW5nTGV2ZWw+CisgICAgICA8U3VwcHJlc3NTdGFydHVwQmFubmVyPnRydWU8L1N1cHByZXNzU3RhcnR1cEJhbm5lcj4KKyAgICA8L0NsQ29tcGlsZT4KKyAgICA8UmVzb3VyY2VDb21waWxlPgorICAgICAgPEN1bHR1cmU+MHgwNDBjPC9DdWx0dXJlPgorICAgIDwvUmVzb3VyY2VDb21waWxlPgorICAgIDxMaWI+CisgICAgICA8QWRkaXRpb25hbE9wdGlvbnM+L01BQ0hJTkU6QU1ENjQgL05PREVGQVVMVExJQiAlKEFkZGl0aW9uYWxPcHRpb25zKTwvQWRkaXRpb25hbE9wdGlvbnM+CisgICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz4lKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgorICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpemxpYnN0YXQubGliPC9PdXRwdXRGaWxlPgorICAgICAgPFN1cHByZXNzU3RhcnR1cEJhbm5lcj50cnVlPC9TdXBwcmVzc1N0YXJ0dXBCYW5uZXI+CisgICAgPC9MaWI+CisgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KKyAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfEl0YW5pdW0nIj4KKyAgICA8TWlkbD4KKyAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5JdGFuaXVtPC9UYXJnZXRFbnZpcm9ubWVudD4KKyAgICA8L01pZGw+CisgICAgPENsQ29tcGlsZT4KKyAgICAgIDxJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj5Pbmx5RXhwbGljaXRJbmxpbmU8L0lubGluZUZ1bmN0aW9uRXhwYW5zaW9uPgorICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cLi5cLi47JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KKyAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5aTElCX1dJTkFQSTtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFO19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fV0FSTklOR1M7V0lONjQ7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgorICAgICAgPFN0cmluZ1Bvb2xpbmc+dHJ1ZTwvU3RyaW5nUG9vbGluZz4KKyAgICAgIDxFeGNlcHRpb25IYW5kbGluZz4KKyAgICAgIDwvRXhjZXB0aW9uSGFuZGxpbmc+CisgICAgICA8UnVudGltZUxpYnJhcnk+TXVsdGlUaHJlYWRlZERMTDwvUnVudGltZUxpYnJhcnk+CisgICAgICA8QnVmZmVyU2VjdXJpdHlDaGVjaz5mYWxzZTwvQnVmZmVyU2VjdXJpdHlDaGVjaz4KKyAgICAgIDxGdW5jdGlvbkxldmVsTGlua2luZz50cnVlPC9GdW5jdGlvbkxldmVsTGlua2luZz4KKyAgICAgIDxQcmVjb21waWxlZEhlYWRlck91dHB1dEZpbGU+JChJbnREaXIpemxpYnN0YXQucGNoPC9QcmVjb21waWxlZEhlYWRlck91dHB1dEZpbGU+CisgICAgICA8QXNzZW1ibGVyTGlzdGluZ0xvY2F0aW9uPiQoSW50RGlyKTwvQXNzZW1ibGVyTGlzdGluZ0xvY2F0aW9uPgorICAgICAgPE9iamVjdEZpbGVOYW1lPiQoSW50RGlyKTwvT2JqZWN0RmlsZU5hbWU+CisgICAgICA8UHJvZ3JhbURhdGFCYXNlRmlsZU5hbWU+JChPdXREaXIpPC9Qcm9ncmFtRGF0YUJhc2VGaWxlTmFtZT4KKyAgICAgIDxXYXJuaW5nTGV2ZWw+TGV2ZWwzPC9XYXJuaW5nTGV2ZWw+CisgICAgICA8U3VwcHJlc3NTdGFydHVwQmFubmVyPnRydWU8L1N1cHByZXNzU3RhcnR1cEJhbm5lcj4KKyAgICA8L0NsQ29tcGlsZT4KKyAgICA8UmVzb3VyY2VDb21waWxlPgorICAgICAgPEN1bHR1cmU+MHgwNDBjPC9DdWx0dXJlPgorICAgIDwvUmVzb3VyY2VDb21waWxlPgorICAgIDxMaWI+CisgICAgICA8QWRkaXRpb25hbE9wdGlvbnM+L01BQ0hJTkU6SUE2NCAvTk9ERUZBVUxUTElCICUoQWRkaXRpb25hbE9wdGlvbnMpPC9BZGRpdGlvbmFsT3B0aW9ucz4KKyAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKXpsaWJzdGF0LmxpYjwvT3V0cHV0RmlsZT4KKyAgICAgIDxTdXBwcmVzc1N0YXJ0dXBCYW5uZXI+dHJ1ZTwvU3VwcHJlc3NTdGFydHVwQmFubmVyPgorICAgIDwvTGliPgorICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+CisgIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZVdpdGhvdXRBc218eDY0JyI+CisgICAgPE1pZGw+CisgICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KKyAgICA8L01pZGw+CisgICAgPENsQ29tcGlsZT4KKyAgICAgIDxJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj5Pbmx5RXhwbGljaXRJbmxpbmU8L0lubGluZUZ1bmN0aW9uRXhwYW5zaW9uPgorICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cLi5cLi47JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KKyAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5aTElCX1dJTkFQSTtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFO19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fV0FSTklOR1M7V0lONjQ7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgorICAgICAgPFN0cmluZ1Bvb2xpbmc+dHJ1ZTwvU3RyaW5nUG9vbGluZz4KKyAgICAgIDxFeGNlcHRpb25IYW5kbGluZz4KKyAgICAgIDwvRXhjZXB0aW9uSGFuZGxpbmc+CisgICAgICA8UnVudGltZUxpYnJhcnk+TXVsdGlUaHJlYWRlZERMTDwvUnVudGltZUxpYnJhcnk+CisgICAgICA8QnVmZmVyU2VjdXJpdHlDaGVjaz5mYWxzZTwvQnVmZmVyU2VjdXJpdHlDaGVjaz4KKyAgICAgIDxGdW5jdGlvbkxldmVsTGlua2luZz50cnVlPC9GdW5jdGlvbkxldmVsTGlua2luZz4KKyAgICAgIDxQcmVjb21waWxlZEhlYWRlck91dHB1dEZpbGU+JChJbnREaXIpemxpYnN0YXQucGNoPC9QcmVjb21waWxlZEhlYWRlck91dHB1dEZpbGU+CisgICAgICA8QXNzZW1ibGVyTGlzdGluZ0xvY2F0aW9uPiQoSW50RGlyKTwvQXNzZW1ibGVyTGlzdGluZ0xvY2F0aW9uPgorICAgICAgPE9iamVjdEZpbGVOYW1lPiQoSW50RGlyKTwvT2JqZWN0RmlsZU5hbWU+CisgICAgICA8UHJvZ3JhbURhdGFCYXNlRmlsZU5hbWU+JChPdXREaXIpPC9Qcm9ncmFtRGF0YUJhc2VGaWxlTmFtZT4KKyAgICAgIDxXYXJuaW5nTGV2ZWw+TGV2ZWwzPC9XYXJuaW5nTGV2ZWw+CisgICAgICA8U3VwcHJlc3NTdGFydHVwQmFubmVyPnRydWU8L1N1cHByZXNzU3RhcnR1cEJhbm5lcj4KKyAgICA8L0NsQ29tcGlsZT4KKyAgICA8UmVzb3VyY2VDb21waWxlPgorICAgICAgPEN1bHR1cmU+MHgwNDBjPC9DdWx0dXJlPgorICAgIDwvUmVzb3VyY2VDb21waWxlPgorICAgIDxMaWI+CisgICAgICA8QWRkaXRpb25hbE9wdGlvbnM+L01BQ0hJTkU6QU1ENjQgL05PREVGQVVMVExJQiAlKEFkZGl0aW9uYWxPcHRpb25zKTwvQWRkaXRpb25hbE9wdGlvbnM+CisgICAgICA8T3V0cHV0RmlsZT4kKE91dERpcil6bGlic3RhdC5saWI8L091dHB1dEZpbGU+CisgICAgICA8U3VwcHJlc3NTdGFydHVwQmFubmVyPnRydWU8L1N1cHByZXNzU3RhcnR1cEJhbm5lcj4KKyAgICA8L0xpYj4KKyAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgorICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VXaXRob3V0QXNtfEl0YW5pdW0nIj4KKyAgICA8TWlkbD4KKyAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5JdGFuaXVtPC9UYXJnZXRFbnZpcm9ubWVudD4KKyAgICA8L01pZGw+CisgICAgPENsQ29tcGlsZT4KKyAgICAgIDxJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj5Pbmx5RXhwbGljaXRJbmxpbmU8L0lubGluZUZ1bmN0aW9uRXhwYW5zaW9uPgorICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cLi5cLi47JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KKyAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5aTElCX1dJTkFQSTtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFO19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fV0FSTklOR1M7V0lONjQ7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgorICAgICAgPFN0cmluZ1Bvb2xpbmc+dHJ1ZTwvU3RyaW5nUG9vbGluZz4KKyAgICAgIDxFeGNlcHRpb25IYW5kbGluZz4KKyAgICAgIDwvRXhjZXB0aW9uSGFuZGxpbmc+CisgICAgICA8UnVudGltZUxpYnJhcnk+TXVsdGlUaHJlYWRlZERMTDwvUnVudGltZUxpYnJhcnk+CisgICAgICA8QnVmZmVyU2VjdXJpdHlDaGVjaz5mYWxzZTwvQnVmZmVyU2VjdXJpdHlDaGVjaz4KKyAgICAgIDxGdW5jdGlvbkxldmVsTGlua2luZz50cnVlPC9GdW5jdGlvbkxldmVsTGlua2luZz4KKyAgICAgIDxQcmVjb21waWxlZEhlYWRlck91dHB1dEZpbGU+JChJbnREaXIpemxpYnN0YXQucGNoPC9QcmVjb21waWxlZEhlYWRlck91dHB1dEZpbGU+CisgICAgICA8QXNzZW1ibGVyTGlzdGluZ0xvY2F0aW9uPiQoSW50RGlyKTwvQXNzZW1ibGVyTGlzdGluZ0xvY2F0aW9uPgorICAgICAgPE9iamVjdEZpbGVOYW1lPiQoSW50RGlyKTwvT2JqZWN0RmlsZU5hbWU+CisgICAgICA8UHJvZ3JhbURhdGFCYXNlRmlsZU5hbWU+JChPdXREaXIpPC9Qcm9ncmFtRGF0YUJhc2VGaWxlTmFtZT4KKyAgICAgIDxXYXJuaW5nTGV2ZWw+TGV2ZWwzPC9XYXJuaW5nTGV2ZWw+CisgICAgICA8U3VwcHJlc3NTdGFydHVwQmFubmVyPnRydWU8L1N1cHByZXNzU3RhcnR1cEJhbm5lcj4KKyAgICA8L0NsQ29tcGlsZT4KKyAgICA8UmVzb3VyY2VDb21waWxlPgorICAgICAgPEN1bHR1cmU+MHgwNDBjPC9DdWx0dXJlPgorICAgIDwvUmVzb3VyY2VDb21waWxlPgorICAgIDxMaWI+CisgICAgICA8QWRkaXRpb25hbE9wdGlvbnM+L01BQ0hJTkU6SUE2NCAvTk9ERUZBVUxUTElCICUoQWRkaXRpb25hbE9wdGlvbnMpPC9BZGRpdGlvbmFsT3B0aW9ucz4KKyAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKXpsaWJzdGF0LmxpYjwvT3V0cHV0RmlsZT4KKyAgICAgIDxTdXBwcmVzc1N0YXJ0dXBCYW5uZXI+dHJ1ZTwvU3VwcHJlc3NTdGFydHVwQmFubmVyPgorICAgIDwvTGliPgorICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+CisgIDxJdGVtR3JvdXA+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlwuLlxhZGxlcjMyLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlwuLlxjb21wcmVzcy5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5cY3JjMzIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXC4uXGRlZmxhdGUuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXC4uXGd6Y2xvc2UuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXC4uXGd6bGliLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlwuLlxnenJlYWQuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXC4uXGd6d3JpdGUuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXC4uXGluZmJhY2suYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXC4uXGluZmZhc3QuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXC4uXGluZmxhdGUuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXC4uXGluZnRyZWVzLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlxtaW5pemlwXGlvYXBpLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlwuLlx0cmVlcy5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5cdW5jb21wci5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cbWluaXppcFx1bnppcC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cbWluaXppcFx6aXAuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXC4uXHp1dGlsLmMiIC8+CisgIDwvSXRlbUdyb3VwPgorICA8SXRlbUdyb3VwPgorICAgIDxSZXNvdXJjZUNvbXBpbGUgSW5jbHVkZT0iemxpYi5yYyIgLz4KKyAgPC9JdGVtR3JvdXA+CisgIDxJdGVtR3JvdXA+CisgICAgPE5vbmUgSW5jbHVkZT0iemxpYnZjLmRlZiIgLz4KKyAgPC9JdGVtR3JvdXA+CisgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnRhcmdldHMiIC8+CisgIDxJbXBvcnRHcm91cCBMYWJlbD0iRXh0ZW5zaW9uVGFyZ2V0cyI+CisgIDwvSW1wb3J0R3JvdXA+Cis8L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3JjL2NvbnRyaWIvdnN0dWRpby92YzE0L3psaWJ2Yy5kZWYgYi9zcmMvY29udHJpYi92c3R1ZGlvL3ZjMTQvemxpYnZjLmRlZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYTA5YmMxCi0tLSAvZGV2L251bGwKKysrIGIvc3JjL2NvbnRyaWIvdnN0dWRpby92YzE0L3psaWJ2Yy5kZWYKQEAgLTAsMCArMSwxNTggQEAKK0xJQlJBUlkNCis7IHpsaWIgZGF0YSBjb21wcmVzc2lvbiBhbmQgWklQIGZpbGUgSS9PIGxpYnJhcnkNCisNCitWRVJTSU9OCQkxLjINCisNCitFWFBPUlRTDQorICAgICAgICBhZGxlcjMyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEAxDQorICAgICAgICBjb21wcmVzcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEAyDQorICAgICAgICBjcmMzMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEAzDQorICAgICAgICBkZWZsYXRlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEA0DQorICAgICAgICBkZWZsYXRlQ29weSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEA1DQorICAgICAgICBkZWZsYXRlRW5kICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEA2DQorICAgICAgICBkZWZsYXRlSW5pdDJfICAgICAgICAgICAgICAgICAgICAgICAgICAgIEA3DQorICAgICAgICBkZWZsYXRlSW5pdF8gICAgICAgICAgICAgICAgICAgICAgICAgICAgIEA4DQorICAgICAgICBkZWZsYXRlUGFyYW1zICAgICAgICAgICAgICAgICAgICAgICAgICAgIEA5DQorICAgICAgICBkZWZsYXRlUmVzZXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEAxMA0KKyAgICAgICAgZGVmbGF0ZVNldERpY3Rpb25hcnkgICAgICAgICAgICAgICAgICAgICBAMTENCisgICAgICAgIGd6Y2xvc2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQDEyDQorICAgICAgICBnemRvcGVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEAxMw0KKyAgICAgICAgZ3plcnJvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAMTQNCisgICAgICAgIGd6Zmx1c2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQDE1DQorICAgICAgICBnem9wZW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEAxNg0KKyAgICAgICAgZ3pyZWFkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAMTcNCisgICAgICAgIGd6d3JpdGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQDE4DQorICAgICAgICBpbmZsYXRlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEAxOQ0KKyAgICAgICAgaW5mbGF0ZUVuZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAMjANCisgICAgICAgIGluZmxhdGVJbml0Ml8gICAgICAgICAgICAgICAgICAgICAgICAgICAgQDIxDQorICAgICAgICBpbmZsYXRlSW5pdF8gICAgICAgICAgICAgICAgICAgICAgICAgICAgIEAyMg0KKyAgICAgICAgaW5mbGF0ZVJlc2V0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAMjMNCisgICAgICAgIGluZmxhdGVTZXREaWN0aW9uYXJ5ICAgICAgICAgICAgICAgICAgICAgQDI0DQorICAgICAgICBpbmZsYXRlU3luYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEAyNQ0KKyAgICAgICAgdW5jb21wcmVzcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAMjYNCisgICAgICAgIHpsaWJWZXJzaW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQDI3DQorICAgICAgICBnenByaW50ZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEAyOA0KKyAgICAgICAgZ3pwdXRjICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAMjkNCisgICAgICAgIGd6Z2V0YyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQDMwDQorICAgICAgICBnenNlZWsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEAzMQ0KKyAgICAgICAgZ3pyZXdpbmQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAMzINCisgICAgICAgIGd6dGVsbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQDMzDQorICAgICAgICBnemVvZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEAzNA0KKyAgICAgICAgZ3pzZXRwYXJhbXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAMzUNCisgICAgICAgIHpFcnJvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQDM2DQorICAgICAgICBpbmZsYXRlU3luY1BvaW50ICAgICAgICAgICAgICAgICAgICAgICAgIEAzNw0KKyAgICAgICAgZ2V0X2NyY190YWJsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICBAMzgNCisgICAgICAgIGNvbXByZXNzMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQDM5DQorICAgICAgICBnenB1dHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEA0MA0KKyAgICAgICAgZ3pnZXRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBANDENCisgICAgICAgIGluZmxhdGVDb3B5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQDQyDQorICAgICAgICBpbmZsYXRlQmFja0luaXRfICAgICAgICAgICAgICAgICAgICAgICAgIEA0Mw0KKyAgICAgICAgaW5mbGF0ZUJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBANDQNCisgICAgICAgIGluZmxhdGVCYWNrRW5kICAgICAgICAgICAgICAgICAgICAgICAgICAgQDQ1DQorICAgICAgICBjb21wcmVzc0JvdW5kICAgICAgICAgICAgICAgICAgICAgICAgICAgIEA0Ng0KKyAgICAgICAgZGVmbGF0ZUJvdW5kICAgICAgICAgICAgICAgICAgICAgICAgICAgICBANDcNCisgICAgICAgIGd6Y2xlYXJlcnIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQDQ4DQorICAgICAgICBnenVuZ2V0YyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEA0OQ0KKyAgICAgICAgemxpYkNvbXBpbGVGbGFncyAgICAgICAgICAgICAgICAgICAgICAgICBANTANCisgICAgICAgIGRlZmxhdGVQcmltZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQDUxDQorICAgICAgICBkZWZsYXRlUGVuZGluZyAgICAgICAgICAgICAgICAgICAgICAgICAgIEA1Mg0KKw0KKyAgICAgICAgdW56T3BlbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBANjENCisgICAgICAgIHVuekNsb3NlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQDYyDQorICAgICAgICB1bnpHZXRHbG9iYWxJbmZvICAgICAgICAgICAgICAgICAgICAgICAgIEA2Mw0KKyAgICAgICAgdW56R2V0Q3VycmVudEZpbGVJbmZvICAgICAgICAgICAgICAgICAgICBANjQNCisgICAgICAgIHVuekdvVG9GaXJzdEZpbGUgICAgICAgICAgICAgICAgICAgICAgICAgQDY1DQorICAgICAgICB1bnpHb1RvTmV4dEZpbGUgICAgICAgICAgICAgICAgICAgICAgICAgIEA2Ng0KKyAgICAgICAgdW56T3BlbkN1cnJlbnRGaWxlICAgICAgICAgICAgICAgICAgICAgICBANjcNCisgICAgICAgIHVuelJlYWRDdXJyZW50RmlsZSAgICAgICAgICAgICAgICAgICAgICAgQDY4DQorICAgICAgICB1bnpPcGVuQ3VycmVudEZpbGUzICAgICAgICAgICAgICAgICAgICAgIEA2OQ0KKyAgICAgICAgdW56dGVsbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBANzANCisgICAgICAgIHVuemVvZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQDcxDQorICAgICAgICB1bnpDbG9zZUN1cnJlbnRGaWxlICAgICAgICAgICAgICAgICAgICAgIEA3Mg0KKyAgICAgICAgdW56R2V0R2xvYmFsQ29tbWVudCAgICAgICAgICAgICAgICAgICAgICBANzMNCisgICAgICAgIHVuelN0cmluZ0ZpbGVOYW1lQ29tcGFyZSAgICAgICAgICAgICAgICAgQDc0DQorICAgICAgICB1bnpMb2NhdGVGaWxlICAgICAgICAgICAgICAgICAgICAgICAgICAgIEA3NQ0KKyAgICAgICAgdW56R2V0TG9jYWxFeHRyYWZpZWxkICAgICAgICAgICAgICAgICAgICBANzYNCisgICAgICAgIHVuek9wZW4yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQDc3DQorICAgICAgICB1bnpPcGVuQ3VycmVudEZpbGUyICAgICAgICAgICAgICAgICAgICAgIEA3OA0KKyAgICAgICAgdW56T3BlbkN1cnJlbnRGaWxlUGFzc3dvcmQgICAgICAgICAgICAgICBANzkNCisNCisgICAgICAgIHppcE9wZW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQDgwDQorICAgICAgICB6aXBPcGVuTmV3RmlsZUluWmlwICAgICAgICAgICAgICAgICAgICAgIEA4MQ0KKyAgICAgICAgemlwV3JpdGVJbkZpbGVJblppcCAgICAgICAgICAgICAgICAgICAgICBAODINCisgICAgICAgIHppcENsb3NlRmlsZUluWmlwICAgICAgICAgICAgICAgICAgICAgICAgQDgzDQorICAgICAgICB6aXBDbG9zZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEA4NA0KKyAgICAgICAgemlwT3Blbk5ld0ZpbGVJblppcDIgICAgICAgICAgICAgICAgICAgICBAODYNCisgICAgICAgIHppcENsb3NlRmlsZUluWmlwUmF3ICAgICAgICAgICAgICAgICAgICAgQDg3DQorICAgICAgICB6aXBPcGVuMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEA4OA0KKyAgICAgICAgemlwT3Blbk5ld0ZpbGVJblppcDMgICAgICAgICAgICAgICAgICAgICBAODkNCisNCisgICAgICAgIHVuekdldEZpbGVQb3MgICAgICAgICAgICAgICAgICAgICAgICAgICAgQDEwMA0KKyAgICAgICAgdW56R29Ub0ZpbGVQb3MgICAgICAgICAgICAgICAgICAgICAgICAgICBAMTAxDQorDQorICAgICAgICBmaWxsX3dpbjMyX2ZpbGVmdW5jICAgICAgICAgICAgICAgICAgICAgIEAxMTANCisNCis7IHpsaWJ3YXBpIHYxLjIuNCBhZGRlZDoNCisgICAgICAgIGZpbGxfd2luMzJfZmlsZWZ1bmM2NCAgICAgICAgICAgICAgICAgICBAMTExDQorICAgICAgICBmaWxsX3dpbjMyX2ZpbGVmdW5jNjRBICAgICAgICAgICAgICAgICAgQDExMg0KKyAgICAgICAgZmlsbF93aW4zMl9maWxlZnVuYzY0VyAgICAgICAgICAgICAgICAgIEAxMTMNCisNCisgICAgICAgIHVuek9wZW42NCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAMTIwDQorICAgICAgICB1bnpPcGVuMl82NCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQDEyMQ0KKyAgICAgICAgdW56R2V0R2xvYmFsSW5mbzY0ICAgICAgICAgICAgICAgICAgICAgIEAxMjINCisgICAgICAgIHVuekdldEN1cnJlbnRGaWxlSW5mbzY0ICAgICAgICAgICAgICAgICBAMTI0DQorICAgICAgICB1bnpHZXRDdXJyZW50RmlsZVpTdHJlYW1Qb3M2NCAgICAgICAgICAgQDEyNQ0KKyAgICAgICAgdW56dGVsbDY0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEAxMjYNCisgICAgICAgIHVuekdldEZpbGVQb3M2NCAgICAgICAgICAgICAgICAgICAgICAgICBAMTI3DQorICAgICAgICB1bnpHb1RvRmlsZVBvczY0ICAgICAgICAgICAgICAgICAgICAgICAgQDEyOA0KKw0KKyAgICAgICAgemlwT3BlbjY0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEAxMzANCisgICAgICAgIHppcE9wZW4yXzY0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAMTMxDQorICAgICAgICB6aXBPcGVuTmV3RmlsZUluWmlwNjQgICAgICAgICAgICAgICAgICAgQDEzMg0KKyAgICAgICAgemlwT3Blbk5ld0ZpbGVJblppcDJfNjQgICAgICAgICAgICAgICAgIEAxMzMNCisgICAgICAgIHppcE9wZW5OZXdGaWxlSW5aaXAzXzY0ICAgICAgICAgICAgICAgICBAMTM0DQorICAgICAgICB6aXBPcGVuTmV3RmlsZUluWmlwNF82NCAgICAgICAgICAgICAgICAgQDEzNQ0KKyAgICAgICAgemlwQ2xvc2VGaWxlSW5aaXBSYXc2NCAgICAgICAgICAgICAgICAgIEAxMzYNCisNCis7IHpsaWIxIHYxLjIuNCBhZGRlZDoNCisgICAgICAgIGFkbGVyMzJfY29tYmluZSAgICAgICAgICAgICAgICAgICAgICAgICBAMTQwDQorICAgICAgICBjcmMzMl9jb21iaW5lICAgICAgICAgICAgICAgICAgICAgICAgICAgQDE0Mg0KKyAgICAgICAgZGVmbGF0ZVNldEhlYWRlciAgICAgICAgICAgICAgICAgICAgICAgIEAxNDQNCisgICAgICAgIGRlZmxhdGVUdW5lICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAMTQ1DQorICAgICAgICBnemJ1ZmZlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQDE0Ng0KKyAgICAgICAgZ3pjbG9zZV9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEAxNDcNCisgICAgICAgIGd6Y2xvc2VfdyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAMTQ4DQorICAgICAgICBnemRpcmVjdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQDE0OQ0KKyAgICAgICAgZ3pvZmZzZXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEAxNTANCisgICAgICAgIGluZmxhdGVHZXRIZWFkZXIgICAgICAgICAgICAgICAgICAgICAgICBAMTU2DQorICAgICAgICBpbmZsYXRlTWFyayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQDE1Nw0KKyAgICAgICAgaW5mbGF0ZVByaW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgIEAxNTgNCisgICAgICAgIGluZmxhdGVSZXNldDIgICAgICAgICAgICAgICAgICAgICAgICAgICBAMTU5DQorICAgICAgICBpbmZsYXRlVW5kZXJtaW5lICAgICAgICAgICAgICAgICAgICAgICAgQDE2MA0KKw0KKzsgemxpYjEgdjEuMi42IGFkZGVkOg0KKyAgICAgICAgZ3pnZXRjXyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEAxNjENCisgICAgICAgIGluZmxhdGVSZXNldEtlZXAgICAgICAgICAgICAgICAgICAgICAgICBAMTYzDQorICAgICAgICBkZWZsYXRlUmVzZXRLZWVwICAgICAgICAgICAgICAgICAgICAgICAgQDE2NA0KKw0KKzsgemxpYjEgdjEuMi43IGFkZGVkOg0KKyAgICAgICAgZ3pvcGVuX3cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEAxNjUNCisNCis7IHpsaWIxIHYxLjIuOCBhZGRlZDoNCisgICAgICAgIGluZmxhdGVHZXREaWN0aW9uYXJ5ICAgICAgICAgICAgICAgICAgICBAMTY2DQorICAgICAgICBnenZwcmludGYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQDE2Nw0KKw0KKzsgemxpYjEgdjEuMi45IGFkZGVkOg0KKyAgICAgICAgaW5mbGF0ZUNvZGVzVXNlZCAgICAgICAgICAgICAgICAgICAgICAgIEAxNjgNCisgICAgICAgIGluZmxhdGVWYWxpZGF0ZSAgICAgICAgICAgICAgICAgICAgICAgICBAMTY5DQorICAgICAgICB1bmNvbXByZXNzMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQDE3MA0KKyAgICAgICAgZ3pmcmVhZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEAxNzENCisgICAgICAgIGd6ZndyaXRlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAMTcyDQorICAgICAgICBkZWZsYXRlR2V0RGljdGlvbmFyeSAgICAgICAgICAgICAgICAgICAgQDE3Mw0KKyAgICAgICAgYWRsZXIzMl96ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEAxNzQNCisgICAgICAgIGNyYzMyX3ogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAMTc1DQorDQorOyB6bGliMSB2MS4yLjEyIGFkZGVkOg0KKwkJY3JjMzJfY29tYmluZV9nZW4JCQkJCQlAMTc2DQorCQljcmMzMl9jb21iaW5lX2dlbjY0CQkJCQkJQDE3Nw0KKwkJY3JjMzJfY29tYmluZV9vcAkJCQkJCUAxNzgNCmRpZmYgLS1naXQgYS9zcmMvY29udHJpYi92c3R1ZGlvL3ZjMTQvemxpYnZjLnNsbiBiL3NyYy9jb250cmliL3ZzdHVkaW8vdmMxNC96bGlidmMuc2xuCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZmNGExMDcKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvY29udHJpYi92c3R1ZGlvL3ZjMTQvemxpYnZjLnNsbgpAQCAtMCwwICsxLDExOSBAQAor77u/CitNaWNyb3NvZnQgVmlzdWFsIFN0dWRpbyBTb2x1dGlvbiBGaWxlLCBGb3JtYXQgVmVyc2lvbiAxMi4wMAorIyBWaXN1YWwgU3R1ZGlvIDE0CitWaXN1YWxTdHVkaW9WZXJzaW9uID0gMTQuMC4yNTQyMC4xCitNaW5pbXVtVmlzdWFsU3R1ZGlvVmVyc2lvbiA9IDEwLjAuNDAyMTkuMQorUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJ6bGlidmMiLCAiemxpYnZjLnZjeHByb2oiLCAiezhGRDgyNkY4LTM3MzktNDRFNi04Q0M4LTk5NzEyMkU1M0I4RH0iCitFbmRQcm9qZWN0CitQcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gInpsaWJzdGF0IiwgInpsaWJzdGF0LnZjeHByb2oiLCAiezc0NURFQzU4LUVCQjMtNDdBOS1BOUI4LTRDNjYyN0MwMUJGOH0iCitFbmRQcm9qZWN0CitQcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gInRlc3R6bGliIiwgInRlc3R6bGliLnZjeHByb2oiLCAie0FBNjY2NkFBLUUwOUYtNDEzNS05QzBDLTRGRTUwQzNDNjU0Qn0iCitFbmRQcm9qZWN0CitQcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gInRlc3R6bGliZGxsIiwgInRlc3R6bGliZGxsLnZjeHByb2oiLCAie0M1MkY5RTdCLTQ5OEEtNDJCRS04REI0LTg1QTE1Njk0MzY2QX0iCitFbmRQcm9qZWN0CitQcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gIm1pbml6aXAiLCAibWluaXppcC52Y3hwcm9qIiwgIns0OENERDlEQy1FMDlGLTQxMzUtOUMwQy00RkU1MEMzQzY1NEJ9IgorRW5kUHJvamVjdAorUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJtaW5pdW56IiwgIm1pbml1bnoudmN4cHJvaiIsICJ7QzUyRjlFN0ItNDk4QS00MkJFLThEQjQtODVBMTU2OTQzODJBfSIKK0VuZFByb2plY3QKK0dsb2JhbAorCUdsb2JhbFNlY3Rpb24oU29sdXRpb25Db25maWd1cmF0aW9uUGxhdGZvcm1zKSA9IHByZVNvbHV0aW9uCisJCURlYnVnfEl0YW5pdW0gPSBEZWJ1Z3xJdGFuaXVtCisJCURlYnVnfFdpbjMyID0gRGVidWd8V2luMzIKKwkJRGVidWd8eDY0ID0gRGVidWd8eDY0CisJCVJlbGVhc2V8SXRhbml1bSA9IFJlbGVhc2V8SXRhbml1bQorCQlSZWxlYXNlfFdpbjMyID0gUmVsZWFzZXxXaW4zMgorCQlSZWxlYXNlfHg2NCA9IFJlbGVhc2V8eDY0CisJCVJlbGVhc2VXaXRob3V0QXNtfEl0YW5pdW0gPSBSZWxlYXNlV2l0aG91dEFzbXxJdGFuaXVtCisJCVJlbGVhc2VXaXRob3V0QXNtfFdpbjMyID0gUmVsZWFzZVdpdGhvdXRBc218V2luMzIKKwkJUmVsZWFzZVdpdGhvdXRBc218eDY0ID0gUmVsZWFzZVdpdGhvdXRBc218eDY0CisJRW5kR2xvYmFsU2VjdGlvbgorCUdsb2JhbFNlY3Rpb24oUHJvamVjdENvbmZpZ3VyYXRpb25QbGF0Zm9ybXMpID0gcG9zdFNvbHV0aW9uCisJCXs4RkQ4MjZGOC0zNzM5LTQ0RTYtOENDOC05OTcxMjJFNTNCOER9LkRlYnVnfEl0YW5pdW0uQWN0aXZlQ2ZnID0gRGVidWd8V2luMzIKKwkJezhGRDgyNkY4LTM3MzktNDRFNi04Q0M4LTk5NzEyMkU1M0I4RH0uRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gRGVidWd8V2luMzIKKwkJezhGRDgyNkY4LTM3MzktNDRFNi04Q0M4LTk5NzEyMkU1M0I4RH0uRGVidWd8V2luMzIuQnVpbGQuMCA9IERlYnVnfFdpbjMyCisJCXs4RkQ4MjZGOC0zNzM5LTQ0RTYtOENDOC05OTcxMjJFNTNCOER9LkRlYnVnfHg2NC5BY3RpdmVDZmcgPSBEZWJ1Z3x4NjQKKwkJezhGRDgyNkY4LTM3MzktNDRFNi04Q0M4LTk5NzEyMkU1M0I4RH0uRGVidWd8eDY0LkJ1aWxkLjAgPSBEZWJ1Z3x4NjQKKwkJezhGRDgyNkY4LTM3MzktNDRFNi04Q0M4LTk5NzEyMkU1M0I4RH0uUmVsZWFzZXxJdGFuaXVtLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzIKKwkJezhGRDgyNkY4LTM3MzktNDRFNi04Q0M4LTk5NzEyMkU1M0I4RH0uUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyCisJCXs4RkQ4MjZGOC0zNzM5LTQ0RTYtOENDOC05OTcxMjJFNTNCOER9LlJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzIKKwkJezhGRDgyNkY4LTM3MzktNDRFNi04Q0M4LTk5NzEyMkU1M0I4RH0uUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQKKwkJezhGRDgyNkY4LTM3MzktNDRFNi04Q0M4LTk5NzEyMkU1M0I4RH0uUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8eDY0CisJCXs4RkQ4MjZGOC0zNzM5LTQ0RTYtOENDOC05OTcxMjJFNTNCOER9LlJlbGVhc2VXaXRob3V0QXNtfEl0YW5pdW0uQWN0aXZlQ2ZnID0gUmVsZWFzZVdpdGhvdXRBc218V2luMzIKKwkJezhGRDgyNkY4LTM3MzktNDRFNi04Q0M4LTk5NzEyMkU1M0I4RH0uUmVsZWFzZVdpdGhvdXRBc218V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZVdpdGhvdXRBc218V2luMzIKKwkJezhGRDgyNkY4LTM3MzktNDRFNi04Q0M4LTk5NzEyMkU1M0I4RH0uUmVsZWFzZVdpdGhvdXRBc218V2luMzIuQnVpbGQuMCA9IFJlbGVhc2VXaXRob3V0QXNtfFdpbjMyCisJCXs4RkQ4MjZGOC0zNzM5LTQ0RTYtOENDOC05OTcxMjJFNTNCOER9LlJlbGVhc2VXaXRob3V0QXNtfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlV2l0aG91dEFzbXx4NjQKKwkJezhGRDgyNkY4LTM3MzktNDRFNi04Q0M4LTk5NzEyMkU1M0I4RH0uUmVsZWFzZVdpdGhvdXRBc218eDY0LkJ1aWxkLjAgPSBSZWxlYXNlV2l0aG91dEFzbXx4NjQKKwkJezc0NURFQzU4LUVCQjMtNDdBOS1BOUI4LTRDNjYyN0MwMUJGOH0uRGVidWd8SXRhbml1bS5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMgorCQl7NzQ1REVDNTgtRUJCMy00N0E5LUE5QjgtNEM2NjI3QzAxQkY4fS5EZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMgorCQl7NzQ1REVDNTgtRUJCMy00N0E5LUE5QjgtNEM2NjI3QzAxQkY4fS5EZWJ1Z3xXaW4zMi5CdWlsZC4wID0gRGVidWd8V2luMzIKKwkJezc0NURFQzU4LUVCQjMtNDdBOS1BOUI4LTRDNjYyN0MwMUJGOH0uRGVidWd8eDY0LkFjdGl2ZUNmZyA9IERlYnVnfHg2NAorCQl7NzQ1REVDNTgtRUJCMy00N0E5LUE5QjgtNEM2NjI3QzAxQkY4fS5EZWJ1Z3x4NjQuQnVpbGQuMCA9IERlYnVnfHg2NAorCQl7NzQ1REVDNTgtRUJCMy00N0E5LUE5QjgtNEM2NjI3QzAxQkY4fS5SZWxlYXNlfEl0YW5pdW0uQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMgorCQl7NzQ1REVDNTgtRUJCMy00N0E5LUE5QjgtNEM2NjI3QzAxQkY4fS5SZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzIKKwkJezc0NURFQzU4LUVCQjMtNDdBOS1BOUI4LTRDNjYyN0MwMUJGOH0uUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMgorCQl7NzQ1REVDNTgtRUJCMy00N0E5LUE5QjgtNEM2NjI3QzAxQkY4fS5SZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NAorCQl7NzQ1REVDNTgtRUJCMy00N0E5LUE5QjgtNEM2NjI3QzAxQkY4fS5SZWxlYXNlfHg2NC5CdWlsZC4wID0gUmVsZWFzZXx4NjQKKwkJezc0NURFQzU4LUVCQjMtNDdBOS1BOUI4LTRDNjYyN0MwMUJGOH0uUmVsZWFzZVdpdGhvdXRBc218SXRhbml1bS5BY3RpdmVDZmcgPSBSZWxlYXNlV2l0aG91dEFzbXxXaW4zMgorCQl7NzQ1REVDNTgtRUJCMy00N0E5LUE5QjgtNEM2NjI3QzAxQkY4fS5SZWxlYXNlV2l0aG91dEFzbXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlV2l0aG91dEFzbXxXaW4zMgorCQl7NzQ1REVDNTgtRUJCMy00N0E5LUE5QjgtNEM2NjI3QzAxQkY4fS5SZWxlYXNlV2l0aG91dEFzbXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZVdpdGhvdXRBc218V2luMzIKKwkJezc0NURFQzU4LUVCQjMtNDdBOS1BOUI4LTRDNjYyN0MwMUJGOH0uUmVsZWFzZVdpdGhvdXRBc218eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2VXaXRob3V0QXNtfHg2NAorCQl7NzQ1REVDNTgtRUJCMy00N0E5LUE5QjgtNEM2NjI3QzAxQkY4fS5SZWxlYXNlV2l0aG91dEFzbXx4NjQuQnVpbGQuMCA9IFJlbGVhc2VXaXRob3V0QXNtfHg2NAorCQl7QUE2NjY2QUEtRTA5Ri00MTM1LTlDMEMtNEZFNTBDM0M2NTRCfS5EZWJ1Z3xJdGFuaXVtLkFjdGl2ZUNmZyA9IERlYnVnfFdpbjMyCisJCXtBQTY2NjZBQS1FMDlGLTQxMzUtOUMwQy00RkU1MEMzQzY1NEJ9LkRlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IERlYnVnfFdpbjMyCisJCXtBQTY2NjZBQS1FMDlGLTQxMzUtOUMwQy00RkU1MEMzQzY1NEJ9LkRlYnVnfFdpbjMyLkJ1aWxkLjAgPSBEZWJ1Z3xXaW4zMgorCQl7QUE2NjY2QUEtRTA5Ri00MTM1LTlDMEMtNEZFNTBDM0M2NTRCfS5EZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gRGVidWd8eDY0CisJCXtBQTY2NjZBQS1FMDlGLTQxMzUtOUMwQy00RkU1MEMzQzY1NEJ9LkRlYnVnfHg2NC5CdWlsZC4wID0gRGVidWd8eDY0CisJCXtBQTY2NjZBQS1FMDlGLTQxMzUtOUMwQy00RkU1MEMzQzY1NEJ9LlJlbGVhc2V8SXRhbml1bS5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyCisJCXtBQTY2NjZBQS1FMDlGLTQxMzUtOUMwQy00RkU1MEMzQzY1NEJ9LlJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMgorCQl7QUE2NjY2QUEtRTA5Ri00MTM1LTlDMEMtNEZFNTBDM0M2NTRCfS5SZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyCisJCXtBQTY2NjZBQS1FMDlGLTQxMzUtOUMwQy00RkU1MEMzQzY1NEJ9LlJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0CisJCXtBQTY2NjZBQS1FMDlGLTQxMzUtOUMwQy00RkU1MEMzQzY1NEJ9LlJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfHg2NAorCQl7QUE2NjY2QUEtRTA5Ri00MTM1LTlDMEMtNEZFNTBDM0M2NTRCfS5SZWxlYXNlV2l0aG91dEFzbXxJdGFuaXVtLkFjdGl2ZUNmZyA9IFJlbGVhc2VXaXRob3V0QXNtfFdpbjMyCisJCXtBQTY2NjZBQS1FMDlGLTQxMzUtOUMwQy00RkU1MEMzQzY1NEJ9LlJlbGVhc2VXaXRob3V0QXNtfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2VXaXRob3V0QXNtfFdpbjMyCisJCXtBQTY2NjZBQS1FMDlGLTQxMzUtOUMwQy00RkU1MEMzQzY1NEJ9LlJlbGVhc2VXaXRob3V0QXNtfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlV2l0aG91dEFzbXxXaW4zMgorCQl7QUE2NjY2QUEtRTA5Ri00MTM1LTlDMEMtNEZFNTBDM0M2NTRCfS5SZWxlYXNlV2l0aG91dEFzbXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZVdpdGhvdXRBc218eDY0CisJCXtBQTY2NjZBQS1FMDlGLTQxMzUtOUMwQy00RkU1MEMzQzY1NEJ9LlJlbGVhc2VXaXRob3V0QXNtfHg2NC5CdWlsZC4wID0gUmVsZWFzZVdpdGhvdXRBc218eDY0CisJCXtDNTJGOUU3Qi00OThBLTQyQkUtOERCNC04NUExNTY5NDM2NkF9LkRlYnVnfEl0YW5pdW0uQWN0aXZlQ2ZnID0gRGVidWd8V2luMzIKKwkJe0M1MkY5RTdCLTQ5OEEtNDJCRS04REI0LTg1QTE1Njk0MzY2QX0uRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gRGVidWd8V2luMzIKKwkJe0M1MkY5RTdCLTQ5OEEtNDJCRS04REI0LTg1QTE1Njk0MzY2QX0uRGVidWd8V2luMzIuQnVpbGQuMCA9IERlYnVnfFdpbjMyCisJCXtDNTJGOUU3Qi00OThBLTQyQkUtOERCNC04NUExNTY5NDM2NkF9LkRlYnVnfHg2NC5BY3RpdmVDZmcgPSBEZWJ1Z3x4NjQKKwkJe0M1MkY5RTdCLTQ5OEEtNDJCRS04REI0LTg1QTE1Njk0MzY2QX0uRGVidWd8eDY0LkJ1aWxkLjAgPSBEZWJ1Z3x4NjQKKwkJe0M1MkY5RTdCLTQ5OEEtNDJCRS04REI0LTg1QTE1Njk0MzY2QX0uUmVsZWFzZXxJdGFuaXVtLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzIKKwkJe0M1MkY5RTdCLTQ5OEEtNDJCRS04REI0LTg1QTE1Njk0MzY2QX0uUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyCisJCXtDNTJGOUU3Qi00OThBLTQyQkUtOERCNC04NUExNTY5NDM2NkF9LlJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzIKKwkJe0M1MkY5RTdCLTQ5OEEtNDJCRS04REI0LTg1QTE1Njk0MzY2QX0uUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQKKwkJe0M1MkY5RTdCLTQ5OEEtNDJCRS04REI0LTg1QTE1Njk0MzY2QX0uUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8eDY0CisJCXtDNTJGOUU3Qi00OThBLTQyQkUtOERCNC04NUExNTY5NDM2NkF9LlJlbGVhc2VXaXRob3V0QXNtfEl0YW5pdW0uQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMgorCQl7QzUyRjlFN0ItNDk4QS00MkJFLThEQjQtODVBMTU2OTQzNjZBfS5SZWxlYXNlV2l0aG91dEFzbXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyCisJCXtDNTJGOUU3Qi00OThBLTQyQkUtOERCNC04NUExNTY5NDM2NkF9LlJlbGVhc2VXaXRob3V0QXNtfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NAorCQl7NDhDREQ5REMtRTA5Ri00MTM1LTlDMEMtNEZFNTBDM0M2NTRCfS5EZWJ1Z3xJdGFuaXVtLkFjdGl2ZUNmZyA9IERlYnVnfFdpbjMyCisJCXs0OENERDlEQy1FMDlGLTQxMzUtOUMwQy00RkU1MEMzQzY1NEJ9LkRlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IERlYnVnfFdpbjMyCisJCXs0OENERDlEQy1FMDlGLTQxMzUtOUMwQy00RkU1MEMzQzY1NEJ9LkRlYnVnfFdpbjMyLkJ1aWxkLjAgPSBEZWJ1Z3xXaW4zMgorCQl7NDhDREQ5REMtRTA5Ri00MTM1LTlDMEMtNEZFNTBDM0M2NTRCfS5EZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gRGVidWd8eDY0CisJCXs0OENERDlEQy1FMDlGLTQxMzUtOUMwQy00RkU1MEMzQzY1NEJ9LkRlYnVnfHg2NC5CdWlsZC4wID0gRGVidWd8eDY0CisJCXs0OENERDlEQy1FMDlGLTQxMzUtOUMwQy00RkU1MEMzQzY1NEJ9LlJlbGVhc2V8SXRhbml1bS5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyCisJCXs0OENERDlEQy1FMDlGLTQxMzUtOUMwQy00RkU1MEMzQzY1NEJ9LlJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMgorCQl7NDhDREQ5REMtRTA5Ri00MTM1LTlDMEMtNEZFNTBDM0M2NTRCfS5SZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyCisJCXs0OENERDlEQy1FMDlGLTQxMzUtOUMwQy00RkU1MEMzQzY1NEJ9LlJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0CisJCXs0OENERDlEQy1FMDlGLTQxMzUtOUMwQy00RkU1MEMzQzY1NEJ9LlJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfHg2NAorCQl7NDhDREQ5REMtRTA5Ri00MTM1LTlDMEMtNEZFNTBDM0M2NTRCfS5SZWxlYXNlV2l0aG91dEFzbXxJdGFuaXVtLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzIKKwkJezQ4Q0REOURDLUUwOUYtNDEzNS05QzBDLTRGRTUwQzNDNjU0Qn0uUmVsZWFzZVdpdGhvdXRBc218V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMgorCQl7NDhDREQ5REMtRTA5Ri00MTM1LTlDMEMtNEZFNTBDM0M2NTRCfS5SZWxlYXNlV2l0aG91dEFzbXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQKKwkJe0M1MkY5RTdCLTQ5OEEtNDJCRS04REI0LTg1QTE1Njk0MzgyQX0uRGVidWd8SXRhbml1bS5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMgorCQl7QzUyRjlFN0ItNDk4QS00MkJFLThEQjQtODVBMTU2OTQzODJBfS5EZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMgorCQl7QzUyRjlFN0ItNDk4QS00MkJFLThEQjQtODVBMTU2OTQzODJBfS5EZWJ1Z3xXaW4zMi5CdWlsZC4wID0gRGVidWd8V2luMzIKKwkJe0M1MkY5RTdCLTQ5OEEtNDJCRS04REI0LTg1QTE1Njk0MzgyQX0uRGVidWd8eDY0LkFjdGl2ZUNmZyA9IERlYnVnfHg2NAorCQl7QzUyRjlFN0ItNDk4QS00MkJFLThEQjQtODVBMTU2OTQzODJBfS5EZWJ1Z3x4NjQuQnVpbGQuMCA9IERlYnVnfHg2NAorCQl7QzUyRjlFN0ItNDk4QS00MkJFLThEQjQtODVBMTU2OTQzODJBfS5SZWxlYXNlfEl0YW5pdW0uQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMgorCQl7QzUyRjlFN0ItNDk4QS00MkJFLThEQjQtODVBMTU2OTQzODJBfS5SZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzIKKwkJe0M1MkY5RTdCLTQ5OEEtNDJCRS04REI0LTg1QTE1Njk0MzgyQX0uUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMgorCQl7QzUyRjlFN0ItNDk4QS00MkJFLThEQjQtODVBMTU2OTQzODJBfS5SZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NAorCQl7QzUyRjlFN0ItNDk4QS00MkJFLThEQjQtODVBMTU2OTQzODJBfS5SZWxlYXNlfHg2NC5CdWlsZC4wID0gUmVsZWFzZXx4NjQKKwkJe0M1MkY5RTdCLTQ5OEEtNDJCRS04REI0LTg1QTE1Njk0MzgyQX0uUmVsZWFzZVdpdGhvdXRBc218SXRhbml1bS5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyCisJCXtDNTJGOUU3Qi00OThBLTQyQkUtOERCNC04NUExNTY5NDM4MkF9LlJlbGVhc2VXaXRob3V0QXNtfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzIKKwkJe0M1MkY5RTdCLTQ5OEEtNDJCRS04REI0LTg1QTE1Njk0MzgyQX0uUmVsZWFzZVdpdGhvdXRBc218eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0CisJRW5kR2xvYmFsU2VjdGlvbgorCUdsb2JhbFNlY3Rpb24oU29sdXRpb25Qcm9wZXJ0aWVzKSA9IHByZVNvbHV0aW9uCisJCUhpZGVTb2x1dGlvbk5vZGUgPSBGQUxTRQorCUVuZEdsb2JhbFNlY3Rpb24KK0VuZEdsb2JhbApkaWZmIC0tZ2l0IGEvc3JjL2NvbnRyaWIvdnN0dWRpby92YzE0L3psaWJ2Yy52Y3hwcm9qIGIvc3JjL2NvbnRyaWIvdnN0dWRpby92YzE0L3psaWJ2Yy52Y3hwcm9qCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQyNGZmNTUKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvY29udHJpYi92c3R1ZGlvL3ZjMTQvemxpYnZjLnZjeHByb2oKQEAgLTAsMCArMSw2NjggQEAKK++7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8UHJvamVjdCBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIFRvb2xzVmVyc2lvbj0iMTQuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+CisgIDxJdGVtR3JvdXAgTGFiZWw9IlByb2plY3RDb25maWd1cmF0aW9ucyI+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IkRlYnVnfEl0YW5pdW0iPgorICAgICAgPENvbmZpZ3VyYXRpb24+RGVidWc8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+SXRhbml1bTwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iRGVidWd8V2luMzIiPgorICAgICAgPENvbmZpZ3VyYXRpb24+RGVidWc8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+V2luMzI8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IkRlYnVnfHg2NCI+CisgICAgICA8Q29uZmlndXJhdGlvbj5EZWJ1ZzwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT54NjQ8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlJlbGVhc2VXaXRob3V0QXNtfEl0YW5pdW0iPgorICAgICAgPENvbmZpZ3VyYXRpb24+UmVsZWFzZVdpdGhvdXRBc208L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+SXRhbml1bTwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUmVsZWFzZVdpdGhvdXRBc218V2luMzIiPgorICAgICAgPENvbmZpZ3VyYXRpb24+UmVsZWFzZVdpdGhvdXRBc208L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+V2luMzI8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlJlbGVhc2VXaXRob3V0QXNtfHg2NCI+CisgICAgICA8Q29uZmlndXJhdGlvbj5SZWxlYXNlV2l0aG91dEFzbTwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT54NjQ8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlJlbGVhc2V8SXRhbml1bSI+CisgICAgICA8Q29uZmlndXJhdGlvbj5SZWxlYXNlPC9Db25maWd1cmF0aW9uPgorICAgICAgPFBsYXRmb3JtPkl0YW5pdW08L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlJlbGVhc2V8V2luMzIiPgorICAgICAgPENvbmZpZ3VyYXRpb24+UmVsZWFzZTwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUmVsZWFzZXx4NjQiPgorICAgICAgPENvbmZpZ3VyYXRpb24+UmVsZWFzZTwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT54NjQ8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgIDwvSXRlbUdyb3VwPgorICA8UHJvcGVydHlHcm91cCBMYWJlbD0iR2xvYmFscyI+CisgICAgPFByb2plY3RHdWlkPns4RkQ4MjZGOC0zNzM5LTQ0RTYtOENDOC05OTcxMjJFNTNCOER9PC9Qcm9qZWN0R3VpZD4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5EZWZhdWx0LnByb3BzIiAvPgorICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+CisgICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KKyAgICA8VXNlT2ZNZmM+ZmFsc2U8L1VzZU9mTWZjPgorICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgorICAgIDxQbGF0Zm9ybVRvb2xzZXQ+djE0MDwvUGxhdGZvcm1Ub29sc2V0PgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZVdpdGhvdXRBc218V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+CisgICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KKyAgICA8VXNlT2ZNZmM+ZmFsc2U8L1VzZU9mTWZjPgorICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgorICAgIDxQbGF0Zm9ybVRvb2xzZXQ+djE0MDwvUGxhdGZvcm1Ub29sc2V0PgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+CisgICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KKyAgICA8VXNlT2ZNZmM+ZmFsc2U8L1VzZU9mTWZjPgorICAgIDxQbGF0Zm9ybVRvb2xzZXQ+djE0MDwvUGxhdGZvcm1Ub29sc2V0PgorICAgIDxDaGFyYWN0ZXJTZXQ+VW5pY29kZTwvQ2hhcmFjdGVyU2V0PgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxJdGFuaXVtJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgorICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+CisgICAgPFVzZU9mTWZjPmZhbHNlPC9Vc2VPZk1mYz4KKyAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KKyAgICA8UGxhdGZvcm1Ub29sc2V0PnYxNDA8L1BsYXRmb3JtVG9vbHNldD4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VXaXRob3V0QXNtfEl0YW5pdW0nIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+CisgICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KKyAgICA8VXNlT2ZNZmM+ZmFsc2U8L1VzZU9mTWZjPgorICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgorICAgIDxQbGF0Zm9ybVRvb2xzZXQ+djE0MDwvUGxhdGZvcm1Ub29sc2V0PgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8SXRhbml1bSciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KKyAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgorICAgIDxVc2VPZk1mYz5mYWxzZTwvVXNlT2ZNZmM+CisgICAgPFBsYXRmb3JtVG9vbHNldD52MTQwPC9QbGF0Zm9ybVRvb2xzZXQ+CisgIDwvUHJvcGVydHlHcm91cD4KKyAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KKyAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgorICAgIDxVc2VPZk1mYz5mYWxzZTwvVXNlT2ZNZmM+CisgICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+CisgICAgPFBsYXRmb3JtVG9vbHNldD52MTQwPC9QbGF0Zm9ybVRvb2xzZXQ+CisgIDwvUHJvcGVydHlHcm91cD4KKyAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlV2l0aG91dEFzbXx4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+CisgICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KKyAgICA8VXNlT2ZNZmM+ZmFsc2U8L1VzZU9mTWZjPgorICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgorICAgIDxQbGF0Zm9ybVRvb2xzZXQ+djE0MDwvUGxhdGZvcm1Ub29sc2V0PgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgorICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+CisgICAgPFVzZU9mTWZjPmZhbHNlPC9Vc2VPZk1mYz4KKyAgICA8UGxhdGZvcm1Ub29sc2V0PnYxNDA8L1BsYXRmb3JtVG9vbHNldD4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5wcm9wcyIgLz4KKyAgPEltcG9ydEdyb3VwIExhYmVsPSJFeHRlbnNpb25TZXR0aW5ncyI+CisgIDwvSW1wb3J0R3JvdXA+CisgIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgorICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KKyAgPC9JbXBvcnRHcm91cD4KKyAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZVdpdGhvdXRBc218V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgorICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KKyAgPC9JbXBvcnRHcm91cD4KKyAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgorICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KKyAgPC9JbXBvcnRHcm91cD4KKyAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxJdGFuaXVtJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KKyAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+CisgIDwvSW1wb3J0R3JvdXA+CisgIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VXaXRob3V0QXNtfEl0YW5pdW0nIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgorICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KKyAgPC9JbXBvcnRHcm91cD4KKyAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8SXRhbml1bSciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CisgICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgorICA8L0ltcG9ydEdyb3VwPgorICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CisgICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgorICA8L0ltcG9ydEdyb3VwPgorICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlV2l0aG91dEFzbXx4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgorICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KKyAgPC9JbXBvcnRHcm91cD4KKyAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KKyAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+CisgIDwvSW1wb3J0R3JvdXA+CisgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJVc2VyTWFjcm9zIiAvPgorICA8UHJvcGVydHlHcm91cD4KKyAgICA8X1Byb2plY3RGaWxlVmVyc2lvbj4xMC4wLjMwMTI4LjE8L19Qcm9qZWN0RmlsZVZlcnNpb24+CisgICAgPE91dERpciBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+eDg2XFpsaWJEbGwkKENvbmZpZ3VyYXRpb24pXDwvT3V0RGlyPgorICAgIDxJbnREaXIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPng4NlxabGliRGxsJChDb25maWd1cmF0aW9uKVxUbXBcPC9JbnREaXI+CisgICAgPExpbmtJbmNyZW1lbnRhbCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+dHJ1ZTwvTGlua0luY3JlbWVudGFsPgorICAgIDxHZW5lcmF0ZU1hbmlmZXN0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj5mYWxzZTwvR2VuZXJhdGVNYW5pZmVzdD4KKyAgICA8T3V0RGlyIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZVdpdGhvdXRBc218V2luMzInIj54ODZcWmxpYkRsbCQoQ29uZmlndXJhdGlvbilcPC9PdXREaXI+CisgICAgPEludERpciBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VXaXRob3V0QXNtfFdpbjMyJyI+eDg2XFpsaWJEbGwkKENvbmZpZ3VyYXRpb24pXFRtcFw8L0ludERpcj4KKyAgICA8TGlua0luY3JlbWVudGFsIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZVdpdGhvdXRBc218V2luMzInIj5mYWxzZTwvTGlua0luY3JlbWVudGFsPgorICAgIDxHZW5lcmF0ZU1hbmlmZXN0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZVdpdGhvdXRBc218V2luMzInIj5mYWxzZTwvR2VuZXJhdGVNYW5pZmVzdD4KKyAgICA8T3V0RGlyIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPng4NlxabGliRGxsJChDb25maWd1cmF0aW9uKVw8L091dERpcj4KKyAgICA8SW50RGlyIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPng4NlxabGliRGxsJChDb25maWd1cmF0aW9uKVxUbXBcPC9JbnREaXI+CisgICAgPExpbmtJbmNyZW1lbnRhbCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj5mYWxzZTwvTGlua0luY3JlbWVudGFsPgorICAgIDxHZW5lcmF0ZU1hbmlmZXN0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPmZhbHNlPC9HZW5lcmF0ZU1hbmlmZXN0PgorICAgIDxPdXREaXIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj54NjRcWmxpYkRsbCQoQ29uZmlndXJhdGlvbilcPC9PdXREaXI+CisgICAgPEludERpciBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPng2NFxabGliRGxsJChDb25maWd1cmF0aW9uKVxUbXBcPC9JbnREaXI+CisgICAgPExpbmtJbmNyZW1lbnRhbCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPnRydWU8L0xpbmtJbmNyZW1lbnRhbD4KKyAgICA8R2VuZXJhdGVNYW5pZmVzdCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPmZhbHNlPC9HZW5lcmF0ZU1hbmlmZXN0PgorICAgIDxPdXREaXIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xJdGFuaXVtJyI+aWE2NFxabGliRGxsJChDb25maWd1cmF0aW9uKVw8L091dERpcj4KKyAgICA8SW50RGlyIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8SXRhbml1bSciPmlhNjRcWmxpYkRsbCQoQ29uZmlndXJhdGlvbilcVG1wXDwvSW50RGlyPgorICAgIDxMaW5rSW5jcmVtZW50YWwgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xJdGFuaXVtJyI+dHJ1ZTwvTGlua0luY3JlbWVudGFsPgorICAgIDxHZW5lcmF0ZU1hbmlmZXN0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8SXRhbml1bSciPmZhbHNlPC9HZW5lcmF0ZU1hbmlmZXN0PgorICAgIDxPdXREaXIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlV2l0aG91dEFzbXx4NjQnIj54NjRcWmxpYkRsbCQoQ29uZmlndXJhdGlvbilcPC9PdXREaXI+CisgICAgPEludERpciBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VXaXRob3V0QXNtfHg2NCciPng2NFxabGliRGxsJChDb25maWd1cmF0aW9uKVxUbXBcPC9JbnREaXI+CisgICAgPExpbmtJbmNyZW1lbnRhbCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VXaXRob3V0QXNtfHg2NCciPmZhbHNlPC9MaW5rSW5jcmVtZW50YWw+CisgICAgPEdlbmVyYXRlTWFuaWZlc3QgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlV2l0aG91dEFzbXx4NjQnIj5mYWxzZTwvR2VuZXJhdGVNYW5pZmVzdD4KKyAgICA8T3V0RGlyIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZVdpdGhvdXRBc218SXRhbml1bSciPmlhNjRcWmxpYkRsbCQoQ29uZmlndXJhdGlvbilcPC9PdXREaXI+CisgICAgPEludERpciBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VXaXRob3V0QXNtfEl0YW5pdW0nIj5pYTY0XFpsaWJEbGwkKENvbmZpZ3VyYXRpb24pXFRtcFw8L0ludERpcj4KKyAgICA8TGlua0luY3JlbWVudGFsIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZVdpdGhvdXRBc218SXRhbml1bSciPmZhbHNlPC9MaW5rSW5jcmVtZW50YWw+CisgICAgPEdlbmVyYXRlTWFuaWZlc3QgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlV2l0aG91dEFzbXxJdGFuaXVtJyI+ZmFsc2U8L0dlbmVyYXRlTWFuaWZlc3Q+CisgICAgPE91dERpciBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+eDY0XFpsaWJEbGwkKENvbmZpZ3VyYXRpb24pXDwvT3V0RGlyPgorICAgIDxJbnREaXIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPng2NFxabGliRGxsJChDb25maWd1cmF0aW9uKVxUbXBcPC9JbnREaXI+CisgICAgPExpbmtJbmNyZW1lbnRhbCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+ZmFsc2U8L0xpbmtJbmNyZW1lbnRhbD4KKyAgICA8R2VuZXJhdGVNYW5pZmVzdCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+ZmFsc2U8L0dlbmVyYXRlTWFuaWZlc3Q+CisgICAgPE91dERpciBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8SXRhbml1bSciPmlhNjRcWmxpYkRsbCQoQ29uZmlndXJhdGlvbilcPC9PdXREaXI+CisgICAgPEludERpciBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8SXRhbml1bSciPmlhNjRcWmxpYkRsbCQoQ29uZmlndXJhdGlvbilcVG1wXDwvSW50RGlyPgorICAgIDxMaW5rSW5jcmVtZW50YWwgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfEl0YW5pdW0nIj5mYWxzZTwvTGlua0luY3JlbWVudGFsPgorICAgIDxHZW5lcmF0ZU1hbmlmZXN0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxJdGFuaXVtJyI+ZmFsc2U8L0dlbmVyYXRlTWFuaWZlc3Q+CisgICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xJdGFuaXVtJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xJdGFuaXVtJyIgLz4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xJdGFuaXVtJyIgLz4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIC8+CisgICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiAvPgorICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiAvPgorICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIC8+CisgICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlV2l0aG91dEFzbXxJdGFuaXVtJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlV2l0aG91dEFzbXxJdGFuaXVtJyIgLz4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlV2l0aG91dEFzbXxJdGFuaXVtJyIgLz4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VXaXRob3V0QXNtfFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlV2l0aG91dEFzbXxXaW4zMiciIC8+CisgICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZVdpdGhvdXRBc218V2luMzInIiAvPgorICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZVdpdGhvdXRBc218eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlV2l0aG91dEFzbXx4NjQnIiAvPgorICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VXaXRob3V0QXNtfHg2NCciIC8+CisgICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfEl0YW5pdW0nIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgorICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8SXRhbml1bSciIC8+CisgICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxJdGFuaXVtJyIgLz4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgorICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiAvPgorICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiAvPgorICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgorICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgLz4KKyAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIC8+CisgICAgPFRhcmdldE5hbWUgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPnpsaWJ3YXBpPC9UYXJnZXROYW1lPgorICAgIDxUYXJnZXROYW1lIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZVdpdGhvdXRBc218V2luMzInIj56bGlid2FwaTwvVGFyZ2V0TmFtZT4KKyAgICA8VGFyZ2V0TmFtZSBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj56bGlid2FwaTwvVGFyZ2V0TmFtZT4KKyAgICA8VGFyZ2V0TmFtZSBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPnpsaWJ3YXBpPC9UYXJnZXROYW1lPgorICAgIDxUYXJnZXROYW1lIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZVdpdGhvdXRBc218eDY0JyI+emxpYndhcGk8L1RhcmdldE5hbWU+CisgICAgPFRhcmdldE5hbWUgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPnpsaWJ3YXBpPC9UYXJnZXROYW1lPgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj4KKyAgICA8TWlkbD4KKyAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fREVCVUc7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgorICAgICAgPE1rVHlwTGliQ29tcGF0aWJsZT50cnVlPC9Na1R5cExpYkNvbXBhdGlibGU+CisgICAgICA8U3VwcHJlc3NTdGFydHVwQmFubmVyPnRydWU8L1N1cHByZXNzU3RhcnR1cEJhbm5lcj4KKyAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5XaW4zMjwvVGFyZ2V0RW52aXJvbm1lbnQ+CisgICAgICA8VHlwZUxpYnJhcnlOYW1lPiQoT3V0RGlyKXpsaWJ2Yy50bGI8L1R5cGVMaWJyYXJ5TmFtZT4KKyAgICA8L01pZGw+CisgICAgPENsQ29tcGlsZT4KKyAgICAgIDxPcHRpbWl6YXRpb24+RGlzYWJsZWQ8L09wdGltaXphdGlvbj4KKyAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXC4uXC4uOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+V0lOMzI7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX1dBUk5JTkdTO1pMSUJfV0lOQVBJOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KKyAgICAgIDxFeGNlcHRpb25IYW5kbGluZz4KKyAgICAgIDwvRXhjZXB0aW9uSGFuZGxpbmc+CisgICAgICA8UnVudGltZUxpYnJhcnk+TXVsdGlUaHJlYWRlZERlYnVnRExMPC9SdW50aW1lTGlicmFyeT4KKyAgICAgIDxCdWZmZXJTZWN1cml0eUNoZWNrPmZhbHNlPC9CdWZmZXJTZWN1cml0eUNoZWNrPgorICAgICAgPFByZWNvbXBpbGVkSGVhZGVyT3V0cHV0RmlsZT4kKEludERpcil6bGlidmMucGNoPC9QcmVjb21waWxlZEhlYWRlck91dHB1dEZpbGU+CisgICAgICA8QXNzZW1ibGVyTGlzdGluZ0xvY2F0aW9uPiQoSW50RGlyKTwvQXNzZW1ibGVyTGlzdGluZ0xvY2F0aW9uPgorICAgICAgPE9iamVjdEZpbGVOYW1lPiQoSW50RGlyKTwvT2JqZWN0RmlsZU5hbWU+CisgICAgICA8UHJvZ3JhbURhdGFCYXNlRmlsZU5hbWU+JChPdXREaXIpPC9Qcm9ncmFtRGF0YUJhc2VGaWxlTmFtZT4KKyAgICAgIDxCcm93c2VJbmZvcm1hdGlvbj4KKyAgICAgIDwvQnJvd3NlSW5mb3JtYXRpb24+CisgICAgICA8V2FybmluZ0xldmVsPkxldmVsMzwvV2FybmluZ0xldmVsPgorICAgICAgPFN1cHByZXNzU3RhcnR1cEJhbm5lcj50cnVlPC9TdXBwcmVzc1N0YXJ0dXBCYW5uZXI+CisgICAgICA8RGVidWdJbmZvcm1hdGlvbkZvcm1hdD5Qcm9ncmFtRGF0YWJhc2U8L0RlYnVnSW5mb3JtYXRpb25Gb3JtYXQ+CisgICAgPC9DbENvbXBpbGU+CisgICAgPFJlc291cmNlQ29tcGlsZT4KKyAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fREVCVUc7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgorICAgICAgPEN1bHR1cmU+MHgwNDBjPC9DdWx0dXJlPgorICAgIDwvUmVzb3VyY2VDb21waWxlPgorICAgIDxMaW5rPgorICAgICAgPEFkZGl0aW9uYWxPcHRpb25zPi9NQUNISU5FOkkzODYgJShBZGRpdGlvbmFsT3B0aW9ucyk8L0FkZGl0aW9uYWxPcHRpb25zPgorICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KKyAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKXpsaWJ3YXBpLmRsbDwvT3V0cHV0RmlsZT4KKyAgICAgIDxTdXBwcmVzc1N0YXJ0dXBCYW5uZXI+dHJ1ZTwvU3VwcHJlc3NTdGFydHVwQmFubmVyPgorICAgICAgPE1vZHVsZURlZmluaXRpb25GaWxlPi5cemxpYnZjLmRlZjwvTW9kdWxlRGVmaW5pdGlvbkZpbGU+CisgICAgICA8R2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPnRydWU8L0dlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj4KKyAgICAgIDxQcm9ncmFtRGF0YWJhc2VGaWxlPiQoT3V0RGlyKXpsaWJ3YXBpLnBkYjwvUHJvZ3JhbURhdGFiYXNlRmlsZT4KKyAgICAgIDxHZW5lcmF0ZU1hcEZpbGU+dHJ1ZTwvR2VuZXJhdGVNYXBGaWxlPgorICAgICAgPE1hcEZpbGVOYW1lPiQoT3V0RGlyKXpsaWJ3YXBpLm1hcDwvTWFwRmlsZU5hbWU+CisgICAgICA8U3ViU3lzdGVtPldpbmRvd3M8L1N1YlN5c3RlbT4KKyAgICAgIDxSYW5kb21pemVkQmFzZUFkZHJlc3M+ZmFsc2U8L1JhbmRvbWl6ZWRCYXNlQWRkcmVzcz4KKyAgICAgIDxEYXRhRXhlY3V0aW9uUHJldmVudGlvbj4KKyAgICAgIDwvRGF0YUV4ZWN1dGlvblByZXZlbnRpb24+CisgICAgICA8SW1wb3J0TGlicmFyeT4kKE91dERpcil6bGlid2FwaS5saWI8L0ltcG9ydExpYnJhcnk+CisgICAgPC9MaW5rPgorICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+CisgIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZVdpdGhvdXRBc218V2luMzInIj4KKyAgICA8TWlkbD4KKyAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5OREVCVUc7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgorICAgICAgPE1rVHlwTGliQ29tcGF0aWJsZT50cnVlPC9Na1R5cExpYkNvbXBhdGlibGU+CisgICAgICA8U3VwcHJlc3NTdGFydHVwQmFubmVyPnRydWU8L1N1cHByZXNzU3RhcnR1cEJhbm5lcj4KKyAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5XaW4zMjwvVGFyZ2V0RW52aXJvbm1lbnQ+CisgICAgICA8VHlwZUxpYnJhcnlOYW1lPiQoT3V0RGlyKXpsaWJ2Yy50bGI8L1R5cGVMaWJyYXJ5TmFtZT4KKyAgICA8L01pZGw+CisgICAgPENsQ29tcGlsZT4KKyAgICAgIDxJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj5Pbmx5RXhwbGljaXRJbmxpbmU8L0lubGluZUZ1bmN0aW9uRXhwYW5zaW9uPgorICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cLi5cLi47JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KKyAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5XSU4zMjtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFO19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fV0FSTklOR1M7WkxJQl9XSU5BUEk7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgorICAgICAgPFN0cmluZ1Bvb2xpbmc+dHJ1ZTwvU3RyaW5nUG9vbGluZz4KKyAgICAgIDxFeGNlcHRpb25IYW5kbGluZz4KKyAgICAgIDwvRXhjZXB0aW9uSGFuZGxpbmc+CisgICAgICA8UnVudGltZUxpYnJhcnk+TXVsdGlUaHJlYWRlZERMTDwvUnVudGltZUxpYnJhcnk+CisgICAgICA8QnVmZmVyU2VjdXJpdHlDaGVjaz5mYWxzZTwvQnVmZmVyU2VjdXJpdHlDaGVjaz4KKyAgICAgIDxGdW5jdGlvbkxldmVsTGlua2luZz50cnVlPC9GdW5jdGlvbkxldmVsTGlua2luZz4KKyAgICAgIDxQcmVjb21waWxlZEhlYWRlck91dHB1dEZpbGU+JChJbnREaXIpemxpYnZjLnBjaDwvUHJlY29tcGlsZWRIZWFkZXJPdXRwdXRGaWxlPgorICAgICAgPEFzc2VtYmxlck91dHB1dD5BbGw8L0Fzc2VtYmxlck91dHB1dD4KKyAgICAgIDxBc3NlbWJsZXJMaXN0aW5nTG9jYXRpb24+JChJbnREaXIpPC9Bc3NlbWJsZXJMaXN0aW5nTG9jYXRpb24+CisgICAgICA8T2JqZWN0RmlsZU5hbWU+JChJbnREaXIpPC9PYmplY3RGaWxlTmFtZT4KKyAgICAgIDxQcm9ncmFtRGF0YUJhc2VGaWxlTmFtZT4kKE91dERpcik8L1Byb2dyYW1EYXRhQmFzZUZpbGVOYW1lPgorICAgICAgPEJyb3dzZUluZm9ybWF0aW9uPgorICAgICAgPC9Ccm93c2VJbmZvcm1hdGlvbj4KKyAgICAgIDxXYXJuaW5nTGV2ZWw+TGV2ZWwzPC9XYXJuaW5nTGV2ZWw+CisgICAgICA8U3VwcHJlc3NTdGFydHVwQmFubmVyPnRydWU8L1N1cHByZXNzU3RhcnR1cEJhbm5lcj4KKyAgICA8L0NsQ29tcGlsZT4KKyAgICA8UmVzb3VyY2VDb21waWxlPgorICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPk5ERUJVRzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+CisgICAgICA8Q3VsdHVyZT4weDA0MGM8L0N1bHR1cmU+CisgICAgPC9SZXNvdXJjZUNvbXBpbGU+CisgICAgPExpbms+CisgICAgICA8QWRkaXRpb25hbE9wdGlvbnM+L01BQ0hJTkU6STM4NiAlKEFkZGl0aW9uYWxPcHRpb25zKTwvQWRkaXRpb25hbE9wdGlvbnM+CisgICAgICA8T3V0cHV0RmlsZT4kKE91dERpcil6bGlid2FwaS5kbGw8L091dHB1dEZpbGU+CisgICAgICA8U3VwcHJlc3NTdGFydHVwQmFubmVyPnRydWU8L1N1cHByZXNzU3RhcnR1cEJhbm5lcj4KKyAgICAgIDxJZ25vcmVBbGxEZWZhdWx0TGlicmFyaWVzPmZhbHNlPC9JZ25vcmVBbGxEZWZhdWx0TGlicmFyaWVzPgorICAgICAgPE1vZHVsZURlZmluaXRpb25GaWxlPi5cemxpYnZjLmRlZjwvTW9kdWxlRGVmaW5pdGlvbkZpbGU+CisgICAgICA8UHJvZ3JhbURhdGFiYXNlRmlsZT4kKE91dERpcil6bGlid2FwaS5wZGI8L1Byb2dyYW1EYXRhYmFzZUZpbGU+CisgICAgICA8R2VuZXJhdGVNYXBGaWxlPnRydWU8L0dlbmVyYXRlTWFwRmlsZT4KKyAgICAgIDxNYXBGaWxlTmFtZT4kKE91dERpcil6bGlid2FwaS5tYXA8L01hcEZpbGVOYW1lPgorICAgICAgPFN1YlN5c3RlbT5XaW5kb3dzPC9TdWJTeXN0ZW0+CisgICAgICA8UmFuZG9taXplZEJhc2VBZGRyZXNzPmZhbHNlPC9SYW5kb21pemVkQmFzZUFkZHJlc3M+CisgICAgICA8RGF0YUV4ZWN1dGlvblByZXZlbnRpb24+CisgICAgICA8L0RhdGFFeGVjdXRpb25QcmV2ZW50aW9uPgorICAgICAgPEltcG9ydExpYnJhcnk+JChPdXREaXIpemxpYndhcGkubGliPC9JbXBvcnRMaWJyYXJ5PgorICAgIDwvTGluaz4KKyAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgorICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj4KKyAgICA8TWlkbD4KKyAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5OREVCVUc7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgorICAgICAgPE1rVHlwTGliQ29tcGF0aWJsZT50cnVlPC9Na1R5cExpYkNvbXBhdGlibGU+CisgICAgICA8U3VwcHJlc3NTdGFydHVwQmFubmVyPnRydWU8L1N1cHByZXNzU3RhcnR1cEJhbm5lcj4KKyAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5XaW4zMjwvVGFyZ2V0RW52aXJvbm1lbnQ+CisgICAgICA8VHlwZUxpYnJhcnlOYW1lPiQoT3V0RGlyKXpsaWJ2Yy50bGI8L1R5cGVMaWJyYXJ5TmFtZT4KKyAgICA8L01pZGw+CisgICAgPENsQ29tcGlsZT4KKyAgICAgIDxJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj5Pbmx5RXhwbGljaXRJbmxpbmU8L0lubGluZUZ1bmN0aW9uRXhwYW5zaW9uPgorICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cLi5cLi47JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KKyAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5XSU4zMjtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFO19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fV0FSTklOR1M7WkxJQl9XSU5BUEk7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgorICAgICAgPFN0cmluZ1Bvb2xpbmc+dHJ1ZTwvU3RyaW5nUG9vbGluZz4KKyAgICAgIDxFeGNlcHRpb25IYW5kbGluZz4KKyAgICAgIDwvRXhjZXB0aW9uSGFuZGxpbmc+CisgICAgICA8UnVudGltZUxpYnJhcnk+TXVsdGlUaHJlYWRlZDwvUnVudGltZUxpYnJhcnk+CisgICAgICA8QnVmZmVyU2VjdXJpdHlDaGVjaz5mYWxzZTwvQnVmZmVyU2VjdXJpdHlDaGVjaz4KKyAgICAgIDxGdW5jdGlvbkxldmVsTGlua2luZz50cnVlPC9GdW5jdGlvbkxldmVsTGlua2luZz4KKyAgICAgIDxQcmVjb21waWxlZEhlYWRlck91dHB1dEZpbGU+JChJbnREaXIpemxpYnZjLnBjaDwvUHJlY29tcGlsZWRIZWFkZXJPdXRwdXRGaWxlPgorICAgICAgPEFzc2VtYmxlck91dHB1dD5BbGw8L0Fzc2VtYmxlck91dHB1dD4KKyAgICAgIDxBc3NlbWJsZXJMaXN0aW5nTG9jYXRpb24+JChJbnREaXIpPC9Bc3NlbWJsZXJMaXN0aW5nTG9jYXRpb24+CisgICAgICA8T2JqZWN0RmlsZU5hbWU+JChJbnREaXIpPC9PYmplY3RGaWxlTmFtZT4KKyAgICAgIDxQcm9ncmFtRGF0YUJhc2VGaWxlTmFtZT4kKE91dERpcik8L1Byb2dyYW1EYXRhQmFzZUZpbGVOYW1lPgorICAgICAgPEJyb3dzZUluZm9ybWF0aW9uPgorICAgICAgPC9Ccm93c2VJbmZvcm1hdGlvbj4KKyAgICAgIDxXYXJuaW5nTGV2ZWw+TGV2ZWwzPC9XYXJuaW5nTGV2ZWw+CisgICAgICA8U3VwcHJlc3NTdGFydHVwQmFubmVyPnRydWU8L1N1cHByZXNzU3RhcnR1cEJhbm5lcj4KKyAgICA8L0NsQ29tcGlsZT4KKyAgICA8UmVzb3VyY2VDb21waWxlPgorICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPk5ERUJVRzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+CisgICAgICA8Q3VsdHVyZT4weDA0MGM8L0N1bHR1cmU+CisgICAgPC9SZXNvdXJjZUNvbXBpbGU+CisgICAgPExpbms+CisgICAgICA8QWRkaXRpb25hbE9wdGlvbnM+L01BQ0hJTkU6STM4NiAlKEFkZGl0aW9uYWxPcHRpb25zKTwvQWRkaXRpb25hbE9wdGlvbnM+CisgICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz4lKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgorICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpemxpYndhcGkuZGxsPC9PdXRwdXRGaWxlPgorICAgICAgPFN1cHByZXNzU3RhcnR1cEJhbm5lcj50cnVlPC9TdXBwcmVzc1N0YXJ0dXBCYW5uZXI+CisgICAgICA8SWdub3JlQWxsRGVmYXVsdExpYnJhcmllcz5mYWxzZTwvSWdub3JlQWxsRGVmYXVsdExpYnJhcmllcz4KKyAgICAgIDxNb2R1bGVEZWZpbml0aW9uRmlsZT4uXHpsaWJ2Yy5kZWY8L01vZHVsZURlZmluaXRpb25GaWxlPgorICAgICAgPFByb2dyYW1EYXRhYmFzZUZpbGU+JChPdXREaXIpemxpYndhcGkucGRiPC9Qcm9ncmFtRGF0YWJhc2VGaWxlPgorICAgICAgPEdlbmVyYXRlTWFwRmlsZT50cnVlPC9HZW5lcmF0ZU1hcEZpbGU+CisgICAgICA8TWFwRmlsZU5hbWU+JChPdXREaXIpemxpYndhcGkubWFwPC9NYXBGaWxlTmFtZT4KKyAgICAgIDxTdWJTeXN0ZW0+V2luZG93czwvU3ViU3lzdGVtPgorICAgICAgPFJhbmRvbWl6ZWRCYXNlQWRkcmVzcz5mYWxzZTwvUmFuZG9taXplZEJhc2VBZGRyZXNzPgorICAgICAgPERhdGFFeGVjdXRpb25QcmV2ZW50aW9uPgorICAgICAgPC9EYXRhRXhlY3V0aW9uUHJldmVudGlvbj4KKyAgICAgIDxJbXBvcnRMaWJyYXJ5PiQoT3V0RGlyKXpsaWJ3YXBpLmxpYjwvSW1wb3J0TGlicmFyeT4KKyAgICAgIDxJbWFnZUhhc1NhZmVFeGNlcHRpb25IYW5kbGVycz5mYWxzZTwvSW1hZ2VIYXNTYWZlRXhjZXB0aW9uSGFuZGxlcnM+CisgICAgPC9MaW5rPgorICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+CisgIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+CisgICAgPE1pZGw+CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X0RFQlVHOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KKyAgICAgIDxNa1R5cExpYkNvbXBhdGlibGU+dHJ1ZTwvTWtUeXBMaWJDb21wYXRpYmxlPgorICAgICAgPFN1cHByZXNzU3RhcnR1cEJhbm5lcj50cnVlPC9TdXBwcmVzc1N0YXJ0dXBCYW5uZXI+CisgICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KKyAgICAgIDxUeXBlTGlicmFyeU5hbWU+JChPdXREaXIpemxpYnZjLnRsYjwvVHlwZUxpYnJhcnlOYW1lPgorICAgIDwvTWlkbD4KKyAgICA8Q2xDb21waWxlPgorICAgICAgPE9wdGltaXphdGlvbj5EaXNhYmxlZDwvT3B0aW1pemF0aW9uPgorICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cLi5cLi47JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KKyAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5XSU4zMjtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFO19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fV0FSTklOR1M7WkxJQl9XSU5BUEk7V0lONjQ7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgorICAgICAgPEV4Y2VwdGlvbkhhbmRsaW5nPgorICAgICAgPC9FeGNlcHRpb25IYW5kbGluZz4KKyAgICAgIDxSdW50aW1lTGlicmFyeT5NdWx0aVRocmVhZGVkRGVidWdETEw8L1J1bnRpbWVMaWJyYXJ5PgorICAgICAgPEJ1ZmZlclNlY3VyaXR5Q2hlY2s+ZmFsc2U8L0J1ZmZlclNlY3VyaXR5Q2hlY2s+CisgICAgICA8UHJlY29tcGlsZWRIZWFkZXJPdXRwdXRGaWxlPiQoSW50RGlyKXpsaWJ2Yy5wY2g8L1ByZWNvbXBpbGVkSGVhZGVyT3V0cHV0RmlsZT4KKyAgICAgIDxBc3NlbWJsZXJMaXN0aW5nTG9jYXRpb24+JChJbnREaXIpPC9Bc3NlbWJsZXJMaXN0aW5nTG9jYXRpb24+CisgICAgICA8T2JqZWN0RmlsZU5hbWU+JChJbnREaXIpPC9PYmplY3RGaWxlTmFtZT4KKyAgICAgIDxQcm9ncmFtRGF0YUJhc2VGaWxlTmFtZT4kKE91dERpcik8L1Byb2dyYW1EYXRhQmFzZUZpbGVOYW1lPgorICAgICAgPEJyb3dzZUluZm9ybWF0aW9uPgorICAgICAgPC9Ccm93c2VJbmZvcm1hdGlvbj4KKyAgICAgIDxXYXJuaW5nTGV2ZWw+TGV2ZWwzPC9XYXJuaW5nTGV2ZWw+CisgICAgICA8U3VwcHJlc3NTdGFydHVwQmFubmVyPnRydWU8L1N1cHByZXNzU3RhcnR1cEJhbm5lcj4KKyAgICAgIDxEZWJ1Z0luZm9ybWF0aW9uRm9ybWF0PlByb2dyYW1EYXRhYmFzZTwvRGVidWdJbmZvcm1hdGlvbkZvcm1hdD4KKyAgICA8L0NsQ29tcGlsZT4KKyAgICA8UmVzb3VyY2VDb21waWxlPgorICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9ERUJVRzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+CisgICAgICA8Q3VsdHVyZT4weDA0MGM8L0N1bHR1cmU+CisgICAgPC9SZXNvdXJjZUNvbXBpbGU+CisgICAgPExpbms+CisgICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz4lKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgorICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpemxpYndhcGkuZGxsPC9PdXRwdXRGaWxlPgorICAgICAgPFN1cHByZXNzU3RhcnR1cEJhbm5lcj50cnVlPC9TdXBwcmVzc1N0YXJ0dXBCYW5uZXI+CisgICAgICA8TW9kdWxlRGVmaW5pdGlvbkZpbGU+Llx6bGlidmMuZGVmPC9Nb2R1bGVEZWZpbml0aW9uRmlsZT4KKyAgICAgIDxHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+dHJ1ZTwvR2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPgorICAgICAgPFByb2dyYW1EYXRhYmFzZUZpbGU+JChPdXREaXIpemxpYndhcGkucGRiPC9Qcm9ncmFtRGF0YWJhc2VGaWxlPgorICAgICAgPEdlbmVyYXRlTWFwRmlsZT50cnVlPC9HZW5lcmF0ZU1hcEZpbGU+CisgICAgICA8TWFwRmlsZU5hbWU+JChPdXREaXIpemxpYndhcGkubWFwPC9NYXBGaWxlTmFtZT4KKyAgICAgIDxTdWJTeXN0ZW0+V2luZG93czwvU3ViU3lzdGVtPgorICAgICAgPEltcG9ydExpYnJhcnk+JChPdXREaXIpemxpYndhcGkubGliPC9JbXBvcnRMaWJyYXJ5PgorICAgICAgPFRhcmdldE1hY2hpbmU+TWFjaGluZVg2NDwvVGFyZ2V0TWFjaGluZT4KKyAgICA8L0xpbms+CisgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KKyAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xJdGFuaXVtJyI+CisgICAgPE1pZGw+CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X0RFQlVHOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KKyAgICAgIDxNa1R5cExpYkNvbXBhdGlibGU+dHJ1ZTwvTWtUeXBMaWJDb21wYXRpYmxlPgorICAgICAgPFN1cHByZXNzU3RhcnR1cEJhbm5lcj50cnVlPC9TdXBwcmVzc1N0YXJ0dXBCYW5uZXI+CisgICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+SXRhbml1bTwvVGFyZ2V0RW52aXJvbm1lbnQ+CisgICAgICA8VHlwZUxpYnJhcnlOYW1lPiQoT3V0RGlyKXpsaWJ2Yy50bGI8L1R5cGVMaWJyYXJ5TmFtZT4KKyAgICA8L01pZGw+CisgICAgPENsQ29tcGlsZT4KKyAgICAgIDxPcHRpbWl6YXRpb24+RGlzYWJsZWQ8L09wdGltaXphdGlvbj4KKyAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXC4uXC4uOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+V0lOMzI7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX1dBUk5JTkdTO1pMSUJfV0lOQVBJO1dJTjY0OyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KKyAgICAgIDxFeGNlcHRpb25IYW5kbGluZz4KKyAgICAgIDwvRXhjZXB0aW9uSGFuZGxpbmc+CisgICAgICA8UnVudGltZUxpYnJhcnk+TXVsdGlUaHJlYWRlZERlYnVnRExMPC9SdW50aW1lTGlicmFyeT4KKyAgICAgIDxCdWZmZXJTZWN1cml0eUNoZWNrPmZhbHNlPC9CdWZmZXJTZWN1cml0eUNoZWNrPgorICAgICAgPFByZWNvbXBpbGVkSGVhZGVyT3V0cHV0RmlsZT4kKEludERpcil6bGlidmMucGNoPC9QcmVjb21waWxlZEhlYWRlck91dHB1dEZpbGU+CisgICAgICA8QXNzZW1ibGVyTGlzdGluZ0xvY2F0aW9uPiQoSW50RGlyKTwvQXNzZW1ibGVyTGlzdGluZ0xvY2F0aW9uPgorICAgICAgPE9iamVjdEZpbGVOYW1lPiQoSW50RGlyKTwvT2JqZWN0RmlsZU5hbWU+CisgICAgICA8UHJvZ3JhbURhdGFCYXNlRmlsZU5hbWU+JChPdXREaXIpPC9Qcm9ncmFtRGF0YUJhc2VGaWxlTmFtZT4KKyAgICAgIDxCcm93c2VJbmZvcm1hdGlvbj4KKyAgICAgIDwvQnJvd3NlSW5mb3JtYXRpb24+CisgICAgICA8V2FybmluZ0xldmVsPkxldmVsMzwvV2FybmluZ0xldmVsPgorICAgICAgPFN1cHByZXNzU3RhcnR1cEJhbm5lcj50cnVlPC9TdXBwcmVzc1N0YXJ0dXBCYW5uZXI+CisgICAgICA8RGVidWdJbmZvcm1hdGlvbkZvcm1hdD5Qcm9ncmFtRGF0YWJhc2U8L0RlYnVnSW5mb3JtYXRpb25Gb3JtYXQ+CisgICAgPC9DbENvbXBpbGU+CisgICAgPFJlc291cmNlQ29tcGlsZT4KKyAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fREVCVUc7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgorICAgICAgPEN1bHR1cmU+MHgwNDBjPC9DdWx0dXJlPgorICAgIDwvUmVzb3VyY2VDb21waWxlPgorICAgIDxMaW5rPgorICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpemxpYndhcGkuZGxsPC9PdXRwdXRGaWxlPgorICAgICAgPFN1cHByZXNzU3RhcnR1cEJhbm5lcj50cnVlPC9TdXBwcmVzc1N0YXJ0dXBCYW5uZXI+CisgICAgICA8TW9kdWxlRGVmaW5pdGlvbkZpbGU+Llx6bGlidmMuZGVmPC9Nb2R1bGVEZWZpbml0aW9uRmlsZT4KKyAgICAgIDxHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+dHJ1ZTwvR2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPgorICAgICAgPFByb2dyYW1EYXRhYmFzZUZpbGU+JChPdXREaXIpemxpYndhcGkucGRiPC9Qcm9ncmFtRGF0YWJhc2VGaWxlPgorICAgICAgPEdlbmVyYXRlTWFwRmlsZT50cnVlPC9HZW5lcmF0ZU1hcEZpbGU+CisgICAgICA8TWFwRmlsZU5hbWU+JChPdXREaXIpemxpYndhcGkubWFwPC9NYXBGaWxlTmFtZT4KKyAgICAgIDxTdWJTeXN0ZW0+V2luZG93czwvU3ViU3lzdGVtPgorICAgICAgPEltcG9ydExpYnJhcnk+JChPdXREaXIpemxpYndhcGkubGliPC9JbXBvcnRMaWJyYXJ5PgorICAgICAgPFRhcmdldE1hY2hpbmU+TWFjaGluZUlBNjQ8L1RhcmdldE1hY2hpbmU+CisgICAgPC9MaW5rPgorICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+CisgIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZVdpdGhvdXRBc218eDY0JyI+CisgICAgPE1pZGw+CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+TkRFQlVHOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KKyAgICAgIDxNa1R5cExpYkNvbXBhdGlibGU+dHJ1ZTwvTWtUeXBMaWJDb21wYXRpYmxlPgorICAgICAgPFN1cHByZXNzU3RhcnR1cEJhbm5lcj50cnVlPC9TdXBwcmVzc1N0YXJ0dXBCYW5uZXI+CisgICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KKyAgICAgIDxUeXBlTGlicmFyeU5hbWU+JChPdXREaXIpemxpYnZjLnRsYjwvVHlwZUxpYnJhcnlOYW1lPgorICAgIDwvTWlkbD4KKyAgICA8Q2xDb21waWxlPgorICAgICAgPElubGluZUZ1bmN0aW9uRXhwYW5zaW9uPk9ubHlFeHBsaWNpdElubGluZTwvSW5saW5lRnVuY3Rpb25FeHBhbnNpb24+CisgICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlwuLlwuLjslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgorICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPldJTjMyO19DUlRfTk9OU1REQ19OT19ERVBSRUNBVEU7X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO19DUlRfTk9OU1REQ19OT19XQVJOSU5HUztaTElCX1dJTkFQSTtXSU42NDslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+CisgICAgICA8U3RyaW5nUG9vbGluZz50cnVlPC9TdHJpbmdQb29saW5nPgorICAgICAgPEV4Y2VwdGlvbkhhbmRsaW5nPgorICAgICAgPC9FeGNlcHRpb25IYW5kbGluZz4KKyAgICAgIDxSdW50aW1lTGlicmFyeT5NdWx0aVRocmVhZGVkRExMPC9SdW50aW1lTGlicmFyeT4KKyAgICAgIDxCdWZmZXJTZWN1cml0eUNoZWNrPmZhbHNlPC9CdWZmZXJTZWN1cml0eUNoZWNrPgorICAgICAgPEZ1bmN0aW9uTGV2ZWxMaW5raW5nPnRydWU8L0Z1bmN0aW9uTGV2ZWxMaW5raW5nPgorICAgICAgPFByZWNvbXBpbGVkSGVhZGVyT3V0cHV0RmlsZT4kKEludERpcil6bGlidmMucGNoPC9QcmVjb21waWxlZEhlYWRlck91dHB1dEZpbGU+CisgICAgICA8QXNzZW1ibGVyT3V0cHV0PkFsbDwvQXNzZW1ibGVyT3V0cHV0PgorICAgICAgPEFzc2VtYmxlckxpc3RpbmdMb2NhdGlvbj4kKEludERpcik8L0Fzc2VtYmxlckxpc3RpbmdMb2NhdGlvbj4KKyAgICAgIDxPYmplY3RGaWxlTmFtZT4kKEludERpcik8L09iamVjdEZpbGVOYW1lPgorICAgICAgPFByb2dyYW1EYXRhQmFzZUZpbGVOYW1lPiQoT3V0RGlyKTwvUHJvZ3JhbURhdGFCYXNlRmlsZU5hbWU+CisgICAgICA8QnJvd3NlSW5mb3JtYXRpb24+CisgICAgICA8L0Jyb3dzZUluZm9ybWF0aW9uPgorICAgICAgPFdhcm5pbmdMZXZlbD5MZXZlbDM8L1dhcm5pbmdMZXZlbD4KKyAgICAgIDxTdXBwcmVzc1N0YXJ0dXBCYW5uZXI+dHJ1ZTwvU3VwcHJlc3NTdGFydHVwQmFubmVyPgorICAgIDwvQ2xDb21waWxlPgorICAgIDxSZXNvdXJjZUNvbXBpbGU+CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+TkRFQlVHOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KKyAgICAgIDxDdWx0dXJlPjB4MDQwYzwvQ3VsdHVyZT4KKyAgICA8L1Jlc291cmNlQ29tcGlsZT4KKyAgICA8TGluaz4KKyAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKXpsaWJ3YXBpLmRsbDwvT3V0cHV0RmlsZT4KKyAgICAgIDxTdXBwcmVzc1N0YXJ0dXBCYW5uZXI+dHJ1ZTwvU3VwcHJlc3NTdGFydHVwQmFubmVyPgorICAgICAgPElnbm9yZUFsbERlZmF1bHRMaWJyYXJpZXM+ZmFsc2U8L0lnbm9yZUFsbERlZmF1bHRMaWJyYXJpZXM+CisgICAgICA8TW9kdWxlRGVmaW5pdGlvbkZpbGU+Llx6bGlidmMuZGVmPC9Nb2R1bGVEZWZpbml0aW9uRmlsZT4KKyAgICAgIDxQcm9ncmFtRGF0YWJhc2VGaWxlPiQoT3V0RGlyKXpsaWJ3YXBpLnBkYjwvUHJvZ3JhbURhdGFiYXNlRmlsZT4KKyAgICAgIDxHZW5lcmF0ZU1hcEZpbGU+dHJ1ZTwvR2VuZXJhdGVNYXBGaWxlPgorICAgICAgPE1hcEZpbGVOYW1lPiQoT3V0RGlyKXpsaWJ3YXBpLm1hcDwvTWFwRmlsZU5hbWU+CisgICAgICA8U3ViU3lzdGVtPldpbmRvd3M8L1N1YlN5c3RlbT4KKyAgICAgIDxJbXBvcnRMaWJyYXJ5PiQoT3V0RGlyKXpsaWJ3YXBpLmxpYjwvSW1wb3J0TGlicmFyeT4KKyAgICAgIDxUYXJnZXRNYWNoaW5lPk1hY2hpbmVYNjQ8L1RhcmdldE1hY2hpbmU+CisgICAgPC9MaW5rPgorICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+CisgIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZVdpdGhvdXRBc218SXRhbml1bSciPgorICAgIDxNaWRsPgorICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPk5ERUJVRzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+CisgICAgICA8TWtUeXBMaWJDb21wYXRpYmxlPnRydWU8L01rVHlwTGliQ29tcGF0aWJsZT4KKyAgICAgIDxTdXBwcmVzc1N0YXJ0dXBCYW5uZXI+dHJ1ZTwvU3VwcHJlc3NTdGFydHVwQmFubmVyPgorICAgICAgPFRhcmdldEVudmlyb25tZW50Pkl0YW5pdW08L1RhcmdldEVudmlyb25tZW50PgorICAgICAgPFR5cGVMaWJyYXJ5TmFtZT4kKE91dERpcil6bGlidmMudGxiPC9UeXBlTGlicmFyeU5hbWU+CisgICAgPC9NaWRsPgorICAgIDxDbENvbXBpbGU+CisgICAgICA8SW5saW5lRnVuY3Rpb25FeHBhbnNpb24+T25seUV4cGxpY2l0SW5saW5lPC9JbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj4KKyAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXC4uXC4uOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+V0lOMzI7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX1dBUk5JTkdTO1pMSUJfV0lOQVBJO1dJTjY0OyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KKyAgICAgIDxTdHJpbmdQb29saW5nPnRydWU8L1N0cmluZ1Bvb2xpbmc+CisgICAgICA8RXhjZXB0aW9uSGFuZGxpbmc+CisgICAgICA8L0V4Y2VwdGlvbkhhbmRsaW5nPgorICAgICAgPFJ1bnRpbWVMaWJyYXJ5Pk11bHRpVGhyZWFkZWRETEw8L1J1bnRpbWVMaWJyYXJ5PgorICAgICAgPEJ1ZmZlclNlY3VyaXR5Q2hlY2s+ZmFsc2U8L0J1ZmZlclNlY3VyaXR5Q2hlY2s+CisgICAgICA8RnVuY3Rpb25MZXZlbExpbmtpbmc+dHJ1ZTwvRnVuY3Rpb25MZXZlbExpbmtpbmc+CisgICAgICA8UHJlY29tcGlsZWRIZWFkZXJPdXRwdXRGaWxlPiQoSW50RGlyKXpsaWJ2Yy5wY2g8L1ByZWNvbXBpbGVkSGVhZGVyT3V0cHV0RmlsZT4KKyAgICAgIDxBc3NlbWJsZXJPdXRwdXQ+QWxsPC9Bc3NlbWJsZXJPdXRwdXQ+CisgICAgICA8QXNzZW1ibGVyTGlzdGluZ0xvY2F0aW9uPiQoSW50RGlyKTwvQXNzZW1ibGVyTGlzdGluZ0xvY2F0aW9uPgorICAgICAgPE9iamVjdEZpbGVOYW1lPiQoSW50RGlyKTwvT2JqZWN0RmlsZU5hbWU+CisgICAgICA8UHJvZ3JhbURhdGFCYXNlRmlsZU5hbWU+JChPdXREaXIpPC9Qcm9ncmFtRGF0YUJhc2VGaWxlTmFtZT4KKyAgICAgIDxCcm93c2VJbmZvcm1hdGlvbj4KKyAgICAgIDwvQnJvd3NlSW5mb3JtYXRpb24+CisgICAgICA8V2FybmluZ0xldmVsPkxldmVsMzwvV2FybmluZ0xldmVsPgorICAgICAgPFN1cHByZXNzU3RhcnR1cEJhbm5lcj50cnVlPC9TdXBwcmVzc1N0YXJ0dXBCYW5uZXI+CisgICAgPC9DbENvbXBpbGU+CisgICAgPFJlc291cmNlQ29tcGlsZT4KKyAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5OREVCVUc7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgorICAgICAgPEN1bHR1cmU+MHgwNDBjPC9DdWx0dXJlPgorICAgIDwvUmVzb3VyY2VDb21waWxlPgorICAgIDxMaW5rPgorICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpemxpYndhcGkuZGxsPC9PdXRwdXRGaWxlPgorICAgICAgPFN1cHByZXNzU3RhcnR1cEJhbm5lcj50cnVlPC9TdXBwcmVzc1N0YXJ0dXBCYW5uZXI+CisgICAgICA8SWdub3JlQWxsRGVmYXVsdExpYnJhcmllcz5mYWxzZTwvSWdub3JlQWxsRGVmYXVsdExpYnJhcmllcz4KKyAgICAgIDxNb2R1bGVEZWZpbml0aW9uRmlsZT4uXHpsaWJ2Yy5kZWY8L01vZHVsZURlZmluaXRpb25GaWxlPgorICAgICAgPFByb2dyYW1EYXRhYmFzZUZpbGU+JChPdXREaXIpemxpYndhcGkucGRiPC9Qcm9ncmFtRGF0YWJhc2VGaWxlPgorICAgICAgPEdlbmVyYXRlTWFwRmlsZT50cnVlPC9HZW5lcmF0ZU1hcEZpbGU+CisgICAgICA8TWFwRmlsZU5hbWU+JChPdXREaXIpemxpYndhcGkubWFwPC9NYXBGaWxlTmFtZT4KKyAgICAgIDxTdWJTeXN0ZW0+V2luZG93czwvU3ViU3lzdGVtPgorICAgICAgPEltcG9ydExpYnJhcnk+JChPdXREaXIpemxpYndhcGkubGliPC9JbXBvcnRMaWJyYXJ5PgorICAgICAgPFRhcmdldE1hY2hpbmU+TWFjaGluZUlBNjQ8L1RhcmdldE1hY2hpbmU+CisgICAgPC9MaW5rPgorICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+CisgIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj4KKyAgICA8TWlkbD4KKyAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5OREVCVUc7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgorICAgICAgPE1rVHlwTGliQ29tcGF0aWJsZT50cnVlPC9Na1R5cExpYkNvbXBhdGlibGU+CisgICAgICA8U3VwcHJlc3NTdGFydHVwQmFubmVyPnRydWU8L1N1cHByZXNzU3RhcnR1cEJhbm5lcj4KKyAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgorICAgICAgPFR5cGVMaWJyYXJ5TmFtZT4kKE91dERpcil6bGlidmMudGxiPC9UeXBlTGlicmFyeU5hbWU+CisgICAgPC9NaWRsPgorICAgIDxDbENvbXBpbGU+CisgICAgICA8SW5saW5lRnVuY3Rpb25FeHBhbnNpb24+T25seUV4cGxpY2l0SW5saW5lPC9JbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj4KKyAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXC4uXC4uOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX1dBUk5JTkdTO1pMSUJfV0lOQVBJO1dJTjY0OyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KKyAgICAgIDxTdHJpbmdQb29saW5nPnRydWU8L1N0cmluZ1Bvb2xpbmc+CisgICAgICA8RXhjZXB0aW9uSGFuZGxpbmc+CisgICAgICA8L0V4Y2VwdGlvbkhhbmRsaW5nPgorICAgICAgPFJ1bnRpbWVMaWJyYXJ5Pk11bHRpVGhyZWFkZWRETEw8L1J1bnRpbWVMaWJyYXJ5PgorICAgICAgPEJ1ZmZlclNlY3VyaXR5Q2hlY2s+ZmFsc2U8L0J1ZmZlclNlY3VyaXR5Q2hlY2s+CisgICAgICA8RnVuY3Rpb25MZXZlbExpbmtpbmc+dHJ1ZTwvRnVuY3Rpb25MZXZlbExpbmtpbmc+CisgICAgICA8UHJlY29tcGlsZWRIZWFkZXJPdXRwdXRGaWxlPiQoSW50RGlyKXpsaWJ2Yy5wY2g8L1ByZWNvbXBpbGVkSGVhZGVyT3V0cHV0RmlsZT4KKyAgICAgIDxBc3NlbWJsZXJPdXRwdXQ+QWxsPC9Bc3NlbWJsZXJPdXRwdXQ+CisgICAgICA8QXNzZW1ibGVyTGlzdGluZ0xvY2F0aW9uPiQoSW50RGlyKTwvQXNzZW1ibGVyTGlzdGluZ0xvY2F0aW9uPgorICAgICAgPE9iamVjdEZpbGVOYW1lPiQoSW50RGlyKTwvT2JqZWN0RmlsZU5hbWU+CisgICAgICA8UHJvZ3JhbURhdGFCYXNlRmlsZU5hbWU+JChPdXREaXIpPC9Qcm9ncmFtRGF0YUJhc2VGaWxlTmFtZT4KKyAgICAgIDxCcm93c2VJbmZvcm1hdGlvbj4KKyAgICAgIDwvQnJvd3NlSW5mb3JtYXRpb24+CisgICAgICA8V2FybmluZ0xldmVsPkxldmVsMzwvV2FybmluZ0xldmVsPgorICAgICAgPFN1cHByZXNzU3RhcnR1cEJhbm5lcj50cnVlPC9TdXBwcmVzc1N0YXJ0dXBCYW5uZXI+CisgICAgPC9DbENvbXBpbGU+CisgICAgPFJlc291cmNlQ29tcGlsZT4KKyAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5OREVCVUc7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgorICAgICAgPEN1bHR1cmU+MHgwNDBjPC9DdWx0dXJlPgorICAgIDwvUmVzb3VyY2VDb21waWxlPgorICAgIDxMaW5rPgorICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KKyAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKXpsaWJ3YXBpLmRsbDwvT3V0cHV0RmlsZT4KKyAgICAgIDxTdXBwcmVzc1N0YXJ0dXBCYW5uZXI+dHJ1ZTwvU3VwcHJlc3NTdGFydHVwQmFubmVyPgorICAgICAgPElnbm9yZUFsbERlZmF1bHRMaWJyYXJpZXM+ZmFsc2U8L0lnbm9yZUFsbERlZmF1bHRMaWJyYXJpZXM+CisgICAgICA8TW9kdWxlRGVmaW5pdGlvbkZpbGU+Llx6bGlidmMuZGVmPC9Nb2R1bGVEZWZpbml0aW9uRmlsZT4KKyAgICAgIDxQcm9ncmFtRGF0YWJhc2VGaWxlPiQoT3V0RGlyKXpsaWJ3YXBpLnBkYjwvUHJvZ3JhbURhdGFiYXNlRmlsZT4KKyAgICAgIDxHZW5lcmF0ZU1hcEZpbGU+dHJ1ZTwvR2VuZXJhdGVNYXBGaWxlPgorICAgICAgPE1hcEZpbGVOYW1lPiQoT3V0RGlyKXpsaWJ3YXBpLm1hcDwvTWFwRmlsZU5hbWU+CisgICAgICA8U3ViU3lzdGVtPldpbmRvd3M8L1N1YlN5c3RlbT4KKyAgICAgIDxJbXBvcnRMaWJyYXJ5PiQoT3V0RGlyKXpsaWJ3YXBpLmxpYjwvSW1wb3J0TGlicmFyeT4KKyAgICAgIDxUYXJnZXRNYWNoaW5lPk1hY2hpbmVYNjQ8L1RhcmdldE1hY2hpbmU+CisgICAgPC9MaW5rPgorICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+CisgIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxJdGFuaXVtJyI+CisgICAgPE1pZGw+CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+TkRFQlVHOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KKyAgICAgIDxNa1R5cExpYkNvbXBhdGlibGU+dHJ1ZTwvTWtUeXBMaWJDb21wYXRpYmxlPgorICAgICAgPFN1cHByZXNzU3RhcnR1cEJhbm5lcj50cnVlPC9TdXBwcmVzc1N0YXJ0dXBCYW5uZXI+CisgICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+SXRhbml1bTwvVGFyZ2V0RW52aXJvbm1lbnQ+CisgICAgICA8VHlwZUxpYnJhcnlOYW1lPiQoT3V0RGlyKXpsaWJ2Yy50bGI8L1R5cGVMaWJyYXJ5TmFtZT4KKyAgICA8L01pZGw+CisgICAgPENsQ29tcGlsZT4KKyAgICAgIDxJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj5Pbmx5RXhwbGljaXRJbmxpbmU8L0lubGluZUZ1bmN0aW9uRXhwYW5zaW9uPgorICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cLi5cLi47JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KKyAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fQ1JUX05PTlNURENfTk9fREVQUkVDQVRFO19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fV0FSTklOR1M7WkxJQl9XSU5BUEk7V0lONjQ7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgorICAgICAgPFN0cmluZ1Bvb2xpbmc+dHJ1ZTwvU3RyaW5nUG9vbGluZz4KKyAgICAgIDxFeGNlcHRpb25IYW5kbGluZz4KKyAgICAgIDwvRXhjZXB0aW9uSGFuZGxpbmc+CisgICAgICA8UnVudGltZUxpYnJhcnk+TXVsdGlUaHJlYWRlZERMTDwvUnVudGltZUxpYnJhcnk+CisgICAgICA8QnVmZmVyU2VjdXJpdHlDaGVjaz5mYWxzZTwvQnVmZmVyU2VjdXJpdHlDaGVjaz4KKyAgICAgIDxGdW5jdGlvbkxldmVsTGlua2luZz50cnVlPC9GdW5jdGlvbkxldmVsTGlua2luZz4KKyAgICAgIDxQcmVjb21waWxlZEhlYWRlck91dHB1dEZpbGU+JChJbnREaXIpemxpYnZjLnBjaDwvUHJlY29tcGlsZWRIZWFkZXJPdXRwdXRGaWxlPgorICAgICAgPEFzc2VtYmxlck91dHB1dD5BbGw8L0Fzc2VtYmxlck91dHB1dD4KKyAgICAgIDxBc3NlbWJsZXJMaXN0aW5nTG9jYXRpb24+JChJbnREaXIpPC9Bc3NlbWJsZXJMaXN0aW5nTG9jYXRpb24+CisgICAgICA8T2JqZWN0RmlsZU5hbWU+JChJbnREaXIpPC9PYmplY3RGaWxlTmFtZT4KKyAgICAgIDxQcm9ncmFtRGF0YUJhc2VGaWxlTmFtZT4kKE91dERpcik8L1Byb2dyYW1EYXRhQmFzZUZpbGVOYW1lPgorICAgICAgPEJyb3dzZUluZm9ybWF0aW9uPgorICAgICAgPC9Ccm93c2VJbmZvcm1hdGlvbj4KKyAgICAgIDxXYXJuaW5nTGV2ZWw+TGV2ZWwzPC9XYXJuaW5nTGV2ZWw+CisgICAgICA8U3VwcHJlc3NTdGFydHVwQmFubmVyPnRydWU8L1N1cHByZXNzU3RhcnR1cEJhbm5lcj4KKyAgICA8L0NsQ29tcGlsZT4KKyAgICA8UmVzb3VyY2VDb21waWxlPgorICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPk5ERUJVRzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+CisgICAgICA8Q3VsdHVyZT4weDA0MGM8L0N1bHR1cmU+CisgICAgPC9SZXNvdXJjZUNvbXBpbGU+CisgICAgPExpbms+CisgICAgICA8T3V0cHV0RmlsZT4kKE91dERpcil6bGlid2FwaS5kbGw8L091dHB1dEZpbGU+CisgICAgICA8U3VwcHJlc3NTdGFydHVwQmFubmVyPnRydWU8L1N1cHByZXNzU3RhcnR1cEJhbm5lcj4KKyAgICAgIDxJZ25vcmVBbGxEZWZhdWx0TGlicmFyaWVzPmZhbHNlPC9JZ25vcmVBbGxEZWZhdWx0TGlicmFyaWVzPgorICAgICAgPE1vZHVsZURlZmluaXRpb25GaWxlPi5cemxpYnZjLmRlZjwvTW9kdWxlRGVmaW5pdGlvbkZpbGU+CisgICAgICA8UHJvZ3JhbURhdGFiYXNlRmlsZT4kKE91dERpcil6bGlid2FwaS5wZGI8L1Byb2dyYW1EYXRhYmFzZUZpbGU+CisgICAgICA8R2VuZXJhdGVNYXBGaWxlPnRydWU8L0dlbmVyYXRlTWFwRmlsZT4KKyAgICAgIDxNYXBGaWxlTmFtZT4kKE91dERpcil6bGlid2FwaS5tYXA8L01hcEZpbGVOYW1lPgorICAgICAgPFN1YlN5c3RlbT5XaW5kb3dzPC9TdWJTeXN0ZW0+CisgICAgICA8SW1wb3J0TGlicmFyeT4kKE91dERpcil6bGlid2FwaS5saWI8L0ltcG9ydExpYnJhcnk+CisgICAgICA8VGFyZ2V0TWFjaGluZT5NYWNoaW5lSUE2NDwvVGFyZ2V0TWFjaGluZT4KKyAgICA8L0xpbms+CisgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KKyAgPEl0ZW1Hcm91cD4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXC4uXGFkbGVyMzIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXC4uXGNvbXByZXNzLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlwuLlxjcmMzMi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5cZGVmbGF0ZS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5cZ3pjbG9zZS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5cZ3psaWIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXC4uXGd6cmVhZC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5cZ3p3cml0ZS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5caW5mYmFjay5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5caW5mZmFzdC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5caW5mbGF0ZS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5caW5mdHJlZXMuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXG1pbml6aXBcaW9hcGkuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXG1pbml6aXBcaW93aW4zMi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5cdHJlZXMuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXC4uXHVuY29tcHIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXG1pbml6aXBcdW56aXAuYyI+CisgICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3RvcmllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8SXRhbml1bSciPiUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfEl0YW5pdW0nIj5aTElCX0lOVEVSTkFMOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KKyAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPiUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+WkxJQl9JTlRFUk5BTDslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+CisgICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3RvcmllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KKyAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+WkxJQl9JTlRFUk5BTDslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+CisgICAgPC9DbENvbXBpbGU+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlxtaW5pemlwXHppcC5jIj4KKyAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxJdGFuaXVtJyI+JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KKyAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8SXRhbml1bSciPlpMSUJfSU5URVJOQUw7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgorICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KKyAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj5aTElCX0lOVEVSTkFMOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KKyAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj4lKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgorICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj5aTElCX0lOVEVSTkFMOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KKyAgICA8L0NsQ29tcGlsZT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXC4uXHp1dGlsLmMiIC8+CisgIDwvSXRlbUdyb3VwPgorICA8SXRlbUdyb3VwPgorICAgIDxSZXNvdXJjZUNvbXBpbGUgSW5jbHVkZT0iemxpYi5yYyIgLz4KKyAgPC9JdGVtR3JvdXA+CisgIDxJdGVtR3JvdXA+CisgICAgPE5vbmUgSW5jbHVkZT0iemxpYnZjLmRlZiIgLz4KKyAgPC9JdGVtR3JvdXA+CisgIDxJdGVtR3JvdXA+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlwuLlwuLlxkZWZsYXRlLmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlwuLlwuLlxpbmZibG9jay5oIiAvPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cLi5cLi5caW5mY29kZXMuaCIgLz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXC4uXC4uXGluZmZhc3QuaCIgLz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXC4uXC4uXGluZnRyZWVzLmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlwuLlwuLlxpbmZ1dGlsLmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlwuLlwuLlx6Y29uZi5oIiAvPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cLi5cLi5cemxpYi5oIiAvPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cLi5cLi5cenV0aWwuaCIgLz4KKyAgPC9JdGVtR3JvdXA+CisgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnRhcmdldHMiIC8+CisgIDxJbXBvcnRHcm91cCBMYWJlbD0iRXh0ZW5zaW9uVGFyZ2V0cyI+CisgIDwvSW1wb3J0R3JvdXA+Cis8L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3JjL2NvbnRyaWIvdnN0dWRpby92YzkvbWluaXVuei52Y3Byb2ogYi9zcmMvY29udHJpYi92c3R1ZGlvL3ZjOS9taW5pdW56LnZjcHJvagppbmRleCA3ZGEzMmI5Li5jYzNkMTNhIDEwMDY0NAotLS0gYS9zcmMvY29udHJpYi92c3R1ZGlvL3ZjOS9taW5pdW56LnZjcHJvagorKysgYi9zcmMvY29udHJpYi92c3R1ZGlvL3ZjOS9taW5pdW56LnZjcHJvagpAQCAtNTQyLDcgKzU0Miw3IEBACiAJPEZpbGVzPg0KIAkJPEZpbHRlcg0KIAkJCU5hbWU9IlNvdXJjZSBGaWxlcyINCi0JCQlGaWx0ZXI9ImNwcDtjO2N4eDtkZWY7b2RsO2lkbDtocGo7YmF0O2FzbSINCisJCQlGaWx0ZXI9ImNwcDtjO2N4eDtkZWY7b2RsO2lkbDtocGo7YmF0Ig0KIAkJCT4NCiAJCQk8RmlsZQ0KIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXG1pbml6aXBcbWluaXVuei5jIg0KZGlmZiAtLWdpdCBhL3NyYy9jb250cmliL3ZzdHVkaW8vdmM5L21pbml6aXAudmNwcm9qIGIvc3JjL2NvbnRyaWIvdnN0dWRpby92YzkvbWluaXppcC52Y3Byb2oKaW5kZXggZTU3ZTA3ZC4uZmVjZDlkZCAxMDA2NDQKLS0tIGEvc3JjL2NvbnRyaWIvdnN0dWRpby92YzkvbWluaXppcC52Y3Byb2oKKysrIGIvc3JjL2NvbnRyaWIvdnN0dWRpby92YzkvbWluaXppcC52Y3Byb2oKQEAgLTUzOSw3ICs1MzksNyBAQAogCTxGaWxlcz4NCiAJCTxGaWx0ZXINCiAJCQlOYW1lPSJTb3VyY2UgRmlsZXMiDQotCQkJRmlsdGVyPSJjcHA7YztjeHg7ZGVmO29kbDtpZGw7aHBqO2JhdDthc20iDQorCQkJRmlsdGVyPSJjcHA7YztjeHg7ZGVmO29kbDtpZGw7aHBqO2JhdCINCiAJCQk+DQogCQkJPEZpbGUNCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxtaW5pemlwXG1pbml6aXAuYyINCmRpZmYgLS1naXQgYS9zcmMvY29udHJpYi92c3R1ZGlvL3ZjOS90ZXN0emxpYi52Y3Byb2ogYi9zcmMvY29udHJpYi92c3R1ZGlvL3ZjOS90ZXN0emxpYi52Y3Byb2oKaW5kZXggOWNiMGJmOC4uZmY2OTY0MCAxMDA2NDQKLS0tIGEvc3JjL2NvbnRyaWIvdnN0dWRpby92YzkvdGVzdHpsaWIudmNwcm9qCisrKyBiL3NyYy9jb250cmliL3ZzdHVkaW8vdmM5L3Rlc3R6bGliLnZjcHJvagpAQCAtNDgsNyArNDgsNyBAQAogCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQogCQkJCU9wdGltaXphdGlvbj0iMCINCiAJCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cLi4iDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJBU01WO0FTTUlORjtXSU4zMjtaTElCX1dJTkFQSTtfREVCVUc7X0NPTlNPTEU7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX1dBUk5JTkdTIg0KKwkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iV0lOMzI7WkxJQl9XSU5BUEk7X0RFQlVHO19DT05TT0xFO19DUlRfTk9OU1REQ19OT19ERVBSRUNBVEU7X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO19DUlRfTk9OU1REQ19OT19XQVJOSU5HUyINCiAJCQkJTWluaW1hbFJlYnVpbGQ9InRydWUiDQogCQkJCUJhc2ljUnVudGltZUNoZWNrcz0iMCINCiAJCQkJUnVudGltZUxpYnJhcnk9IjEiDQpAQCAtNzEsNyArNzEsNiBAQAogCQkJLz4NCiAJCQk8VG9vbA0KIAkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9Ii4uXC4uXG1hc214ODZcbWF0Y2g2ODYub2JqIC4uXC4uXG1hc214ODZcaW5mZmFzMzIub2JqIg0KIAkJCQlPdXRwdXRGaWxlPSIkKE91dERpcikvdGVzdHpsaWIuZXhlIg0KIAkJCQlMaW5rSW5jcmVtZW50YWw9IjIiDQogCQkJCUdlbmVyYXRlTWFuaWZlc3Q9ImZhbHNlIg0KQEAgLTEyOCw3ICsxMjcsNyBAQAogCQkJPFRvb2wNCiAJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCiAJCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cLi4iDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJBU01WO0FTTUlORjtXSU4zMjtaTElCX1dJTkFQSTtfREVCVUc7X0NPTlNPTEU7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX1dBUk5JTkdTIg0KKwkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iV0lOMzI7WkxJQl9XSU5BUEk7X0RFQlVHO19DT05TT0xFO19DUlRfTk9OU1REQ19OT19ERVBSRUNBVEU7X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO19DUlRfTk9OU1REQ19OT19XQVJOSU5HUyINCiAJCQkJQmFzaWNSdW50aW1lQ2hlY2tzPSIwIg0KIAkJCQlSdW50aW1lTGlicmFyeT0iMyINCiAJCQkJQnVmZmVyU2VjdXJpdHlDaGVjaz0iZmFsc2UiDQpAQCAtMTQ1LDcgKzE0NCw2IEBACiAJCQkvPg0KIAkJCTxUb29sDQogCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0iLi5cLi5cbWFzbXg2NFxndm1hdDY0Lm9iaiAuLlwuLlxtYXNteDY0XGluZmZhc3g2NC5vYmoiDQogCQkJCUdlbmVyYXRlTWFuaWZlc3Q9ImZhbHNlIg0KIAkJCS8+DQogCQkJPFRvb2wNCkBAIC01MTcsNyArNTE1LDcgQEAKIAkJCQlJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj0iMSINCiAJCQkJT21pdEZyYW1lUG9pbnRlcnM9InRydWUiDQogCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXC4uIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iQVNNVjtBU01JTkY7V0lOMzI7WkxJQl9XSU5BUEk7TkRFQlVHO19DT05TT0xFO19DUlRfTk9OU1REQ19OT19ERVBSRUNBVEU7X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO19DUlRfTk9OU1REQ19OT19XQVJOSU5HUyINCisJCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IldJTjMyO1pMSUJfV0lOQVBJO05ERUJVRztfQ09OU09MRTtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFO19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fV0FSTklOR1MiDQogCQkJCVN0cmluZ1Bvb2xpbmc9InRydWUiDQogCQkJCUJhc2ljUnVudGltZUNoZWNrcz0iMCINCiAJCQkJUnVudGltZUxpYnJhcnk9IjAiDQpAQCAtNTQwLDcgKzUzOCw2IEBACiAJCQkvPg0KIAkJCTxUb29sDQogCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0iLi5cLi5cbWFzbXg4NlxtYXRjaDY4Ni5vYmogLi5cLi5cbWFzbXg4NlxpbmZmYXMzMi5vYmoiDQogCQkJCU91dHB1dEZpbGU9IiQoT3V0RGlyKS90ZXN0emxpYi5leGUiDQogCQkJCUxpbmtJbmNyZW1lbnRhbD0iMSINCiAJCQkJR2VuZXJhdGVNYW5pZmVzdD0iZmFsc2UiDQpAQCAtNjAwLDcgKzU5Nyw3IEBACiAJCQk8VG9vbA0KIAkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KIAkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlwuLiINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IkFTTVY7QVNNSU5GO1dJTjMyO1pMSUJfV0lOQVBJO05ERUJVRztfQ09OU09MRTtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFO19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fV0FSTklOR1MiDQorCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJXSU4zMjtaTElCX1dJTkFQSTtOREVCVUc7X0NPTlNPTEU7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX1dBUk5JTkdTIg0KIAkJCQlCYXNpY1J1bnRpbWVDaGVja3M9IjAiDQogCQkJCVJ1bnRpbWVMaWJyYXJ5PSIwIg0KIAkJCQlCdWZmZXJTZWN1cml0eUNoZWNrPSJmYWxzZSINCkBAIC02MTcsNyArNjE0LDYgQEAKIAkJCS8+DQogCQkJPFRvb2wNCiAJCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSIuLlwuLlxtYXNteDY0XGd2bWF0NjQub2JqIC4uXC4uXG1hc214NjRcaW5mZmFzeDY0Lm9iaiINCiAJCQkJR2VuZXJhdGVNYW5pZmVzdD0iZmFsc2UiDQogCQkJLz4NCiAJCQk8VG9vbA0KQEAgLTczMyw3ICs3MjksNyBAQAogCTxGaWxlcz4NCiAJCTxGaWx0ZXINCiAJCQlOYW1lPSJTb3VyY2UgRmlsZXMiDQotCQkJRmlsdGVyPSJjcHA7YztjeHg7ZGVmO29kbDtpZGw7aHBqO2JhdDthc20iDQorCQkJRmlsdGVyPSJjcHA7YztjeHg7ZGVmO29kbDtpZGw7aHBqO2JhdCINCiAJCQk+DQogCQkJPEZpbGUNCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlwuLlxhZGxlcjMyLmMiDQpAQCAtNzU2LDU4ICs3NTIsNiBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxtYXNteDY0XGluZmZhczg2NjQuYyINCi0JCQkJPg0KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCi0JCQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KLQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQotCQkJCQk+DQotCQkJCQk8VG9vbA0KLQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCQkvPg0KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCi0JCQkJCU5hbWU9IkRlYnVnfEl0YW5pdW0iDQotCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCi0JCQkJCT4NCi0JCQkJCTxUb29sDQotCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJCS8+DQotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQotCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KLQkJCQkJTmFtZT0iUmVsZWFzZVdpdGhvdXRBc218V2luMzIiDQotCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCi0JCQkJCT4NCi0JCQkJCTxUb29sDQotCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJCS8+DQotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQotCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KLQkJCQkJTmFtZT0iUmVsZWFzZVdpdGhvdXRBc218SXRhbml1bSINCi0JCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KLQkJCQkJPg0KLQkJCQkJPFRvb2wNCi0JCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQkJLz4NCi0JCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCi0JCQkJPEZpbGVDb25maWd1cmF0aW9uDQotCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIg0KLQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQotCQkJCQk+DQotCQkJCQk8VG9vbA0KLQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCQkvPg0KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCi0JCQkJCU5hbWU9IlJlbGVhc2V8SXRhbml1bSINCi0JCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KLQkJCQkJPg0KLQkJCQkJPFRvb2wNCi0JCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQkJLz4NCi0JCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlwuLlxpbmZmYXN0LmMiDQogCQkJCT4NCiAJCQk8L0ZpbGU+DQpkaWZmIC0tZ2l0IGEvc3JjL2NvbnRyaWIvdnN0dWRpby92YzkvdGVzdHpsaWJkbGwudmNwcm9qIGIvc3JjL2NvbnRyaWIvdnN0dWRpby92YzkvdGVzdHpsaWJkbGwudmNwcm9qCmluZGV4IGIxZGRkZTAuLjY0NDhiNDkgMTAwNjQ0Ci0tLSBhL3NyYy9jb250cmliL3ZzdHVkaW8vdmM5L3Rlc3R6bGliZGxsLnZjcHJvagorKysgYi9zcmMvY29udHJpYi92c3R1ZGlvL3ZjOS90ZXN0emxpYmRsbC52Y3Byb2oKQEAgLTU0Miw3ICs1NDIsNyBAQAogCTxGaWxlcz4NCiAJCTxGaWx0ZXINCiAJCQlOYW1lPSJTb3VyY2UgRmlsZXMiDQotCQkJRmlsdGVyPSJjcHA7YztjeHg7ZGVmO29kbDtpZGw7aHBqO2JhdDthc20iDQorCQkJRmlsdGVyPSJjcHA7YztjeHg7ZGVmO29kbDtpZGw7aHBqO2JhdCINCiAJCQk+DQogCQkJPEZpbGUNCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlx0ZXN0emxpYlx0ZXN0emxpYi5jIg0KZGlmZiAtLWdpdCBhL3NyYy9jb250cmliL3ZzdHVkaW8vdmM5L3psaWIucmMgYi9zcmMvY29udHJpYi92c3R1ZGlvL3ZjOS96bGliLnJjCmluZGV4IDczZjY0NzYuLjg3NjAyNzQgMTAwNjQ0Ci0tLSBhL3NyYy9jb250cmliL3ZzdHVkaW8vdmM5L3psaWIucmMKKysrIGIvc3JjL2NvbnRyaWIvdnN0dWRpby92YzkvemxpYi5yYwpAQCAtMiw4ICsyLDggQEAKIA0KICNkZWZpbmUgSURSX1ZFUlNJT04xICAxDQogSURSX1ZFUlNJT04xCVZFUlNJT05JTkZPCU1PVkVBQkxFIElNUFVSRSBMT0FET05DQUxMIERJU0NBUkRBQkxFDQotICBGSUxFVkVSU0lPTgkgMSwyLDgsMA0KLSAgUFJPRFVDVFZFUlNJT04gMSwyLDgsMA0KKyAgRklMRVZFUlNJT04JIDEsIDIsIDEzLCAwDQorICBQUk9EVUNUVkVSU0lPTiAxLCAyLCAxMywgMA0KICAgRklMRUZMQUdTTUFTSwlWU19GRklfRklMRUZMQUdTTUFTSw0KICAgRklMRUZMQUdTCTANCiAgIEZJTEVPUwlWT1NfRE9TX1dJTkRPV1MzMg0KQEAgLTE3LDEyICsxNywxMiBAQAogDQogICAgIEJFR0lODQogICAgICAgVkFMVUUgIkZpbGVEZXNjcmlwdGlvbiIsICJ6bGliIGRhdGEgY29tcHJlc3Npb24gYW5kIFpJUCBmaWxlIEkvTyBsaWJyYXJ5XDAiDQotICAgICAgVkFMVUUgIkZpbGVWZXJzaW9uIiwJIjEuMi44XDAiDQorICAgICAgVkFMVUUgIkZpbGVWZXJzaW9uIiwJIjEuMi4xM1wwIg0KICAgICAgIFZBTFVFICJJbnRlcm5hbE5hbWUiLAkiemxpYlwwIg0KICAgICAgIFZBTFVFICJPcmlnaW5hbEZpbGVuYW1lIiwJInpsaWJ3YXBpLmRsbFwwIg0KICAgICAgIFZBTFVFICJQcm9kdWN0TmFtZSIsCSJaTGliLkRMTFwwIg0KICAgICAgIFZBTFVFICJDb21tZW50cyIsIkRMTCBzdXBwb3J0IGJ5IEFsZXNzYW5kcm8gSWFjb3BldHRpICYgR2lsbGVzIFZvbGxhbnRcMCINCi0gICAgICBWQUxVRSAiTGVnYWxDb3B5cmlnaHQiLCAiKEMpIDE5OTUtMjAxMyBKZWFuLWxvdXAgR2FpbGx5ICYgTWFyayBBZGxlclwwIg0KKyAgICAgIFZBTFVFICJMZWdhbENvcHlyaWdodCIsICIoQykgMTk5NS0yMDIyIEplYW4tbG91cCBHYWlsbHkgJiBNYXJrIEFkbGVyXDAiDQogICAgIEVORA0KICAgRU5EDQogICBCTE9DSyAiVmFyRmlsZUluZm8iDQpkaWZmIC0tZ2l0IGEvc3JjL2NvbnRyaWIvdnN0dWRpby92YzkvemxpYnN0YXQudmNwcm9qIGIvc3JjL2NvbnRyaWIvdnN0dWRpby92YzkvemxpYnN0YXQudmNwcm9qCmluZGV4IDYxYzc2YzcuLjFiZjE1NjMgMTAwNjQ0Ci0tLSBhL3NyYy9jb250cmliL3ZzdHVkaW8vdmM5L3psaWJzdGF0LnZjcHJvagorKysgYi9zcmMvY29udHJpYi92c3R1ZGlvL3ZjOS96bGlic3RhdC52Y3Byb2oKQEAgLTQ3LDcgKzQ3LDcgQEAKIAkJCTxUb29sDQogCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQogCQkJCU9wdGltaXphdGlvbj0iMCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cLi47Li5cLi5cbWFzbXg4NiINCisJCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cLi4iDQogCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJXSU4zMjtaTElCX1dJTkFQSTtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFO19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fV0FSTklOR1MiDQogCQkJCUV4Y2VwdGlvbkhhbmRsaW5nPSIwIg0KIAkJCQlSdW50aW1lTGlicmFyeT0iMSINCkBAIC0xMjEsNyArMTIxLDcgQEAKIAkJCTxUb29sDQogCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQogCQkJCU9wdGltaXphdGlvbj0iMCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cLi47Li5cLi5cbWFzbXg4NiINCisJCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cLi4iDQogCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJaTElCX1dJTkFQSTtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFO19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fV0FSTklOR1M7V0lONjQiDQogCQkJCUV4Y2VwdGlvbkhhbmRsaW5nPSIwIg0KIAkJCQlSdW50aW1lTGlicmFyeT0iMyINCkBAIC0xOTUsNyArMTk1LDcgQEAKIAkJCTxUb29sDQogCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQogCQkJCU9wdGltaXphdGlvbj0iMCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cLi47Li5cLi5cbWFzbXg4NiINCisJCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cLi4iDQogCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJaTElCX1dJTkFQSTtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFO19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fV0FSTklOR1M7V0lONjQiDQogCQkJCUV4Y2VwdGlvbkhhbmRsaW5nPSIwIg0KIAkJCQlSdW50aW1lTGlicmFyeT0iMyINCkBAIC0yNjgsOCArMjY4LDggQEAKIAkJCTxUb29sDQogCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQogCQkJCUlubGluZUZ1bmN0aW9uRXhwYW5zaW9uPSIxIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlwuLjsuLlwuLlxtYXNteDg2Ig0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iV0lOMzI7WkxJQl9XSU5BUEk7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX1dBUk5JTkdTO0FTTVY7QVNNSU5GIg0KKwkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlwuLiINCisJCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IldJTjMyO1pMSUJfV0lOQVBJO19DUlRfTk9OU1REQ19OT19ERVBSRUNBVEU7X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO19DUlRfTk9OU1REQ19OT19XQVJOSU5HUyINCiAJCQkJU3RyaW5nUG9vbGluZz0idHJ1ZSINCiAJCQkJRXhjZXB0aW9uSGFuZGxpbmc9IjAiDQogCQkJCVJ1bnRpbWVMaWJyYXJ5PSIwIg0KQEAgLTI5NSw3ICsyOTUsNiBAQAogCQkJPFRvb2wNCiAJCQkJTmFtZT0iVkNMaWJyYXJpYW5Ub29sIg0KIAkJCQlBZGRpdGlvbmFsT3B0aW9ucz0iL01BQ0hJTkU6WDg2IC9OT0RFRkFVTFRMSUIiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9Ii4uXC4uXG1hc214ODZcbWF0Y2g2ODYub2JqIC4uXC4uXG1hc214ODZcaW5mZmFzMzIub2JqICINCiAJCQkJT3V0cHV0RmlsZT0iJChPdXREaXIpXHpsaWJzdGF0LmxpYiINCiAJCQkJU3VwcHJlc3NTdGFydHVwQmFubmVyPSJ0cnVlIg0KIAkJCS8+DQpAQCAtMzQzLDggKzM0Miw4IEBACiAJCQk8VG9vbA0KIAkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KIAkJCQlJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj0iMSINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cLi47Li5cLi5cbWFzbXg4NiINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IlpMSUJfV0lOQVBJO19DUlRfTk9OU1REQ19OT19ERVBSRUNBVEU7X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO19DUlRfTk9OU1REQ19OT19XQVJOSU5HUztBU01WO0FTTUlORjtXSU42NCINCisJCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cLi4iDQorCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJaTElCX1dJTkFQSTtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFO19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fV0FSTklOR1M7V0lONjQiDQogCQkJCVN0cmluZ1Bvb2xpbmc9InRydWUiDQogCQkJCUV4Y2VwdGlvbkhhbmRsaW5nPSIwIg0KIAkJCQlSdW50aW1lTGlicmFyeT0iMiINCkBAIC0zNzAsNyArMzY5LDYgQEAKIAkJCTxUb29sDQogCQkJCU5hbWU9IlZDTGlicmFyaWFuVG9vbCINCiAJCQkJQWRkaXRpb25hbE9wdGlvbnM9Ii9NQUNISU5FOkFNRDY0IC9OT0RFRkFVTFRMSUIiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9Ii4uXC4uXG1hc214NjRcZ3ZtYXQ2NC5vYmogLi5cLi5cbWFzbXg2NFxpbmZmYXN4NjQub2JqICINCiAJCQkJT3V0cHV0RmlsZT0iJChPdXREaXIpXHpsaWJzdGF0LmxpYiINCiAJCQkJU3VwcHJlc3NTdGFydHVwQmFubmVyPSJ0cnVlIg0KIAkJCS8+DQpAQCAtNDE4LDcgKzQxNiw3IEBACiAJCQk8VG9vbA0KIAkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KIAkJCQlJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj0iMSINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cLi47Li5cLi5cbWFzbXg4NiINCisJCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cLi4iDQogCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJaTElCX1dJTkFQSTtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFO19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fV0FSTklOR1M7V0lONjQiDQogCQkJCVN0cmluZ1Bvb2xpbmc9InRydWUiDQogCQkJCUV4Y2VwdGlvbkhhbmRsaW5nPSIwIg0KQEAgLTQ5MSw3ICs0ODksNyBAQAogCQkJPFRvb2wNCiAJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCiAJCQkJSW5saW5lRnVuY3Rpb25FeHBhbnNpb249IjEiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXC4uOy4uXC4uXG1hc214ODYiDQorCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXC4uIg0KIAkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iV0lOMzI7WkxJQl9XSU5BUEk7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX1dBUk5JTkdTIg0KIAkJCQlTdHJpbmdQb29saW5nPSJ0cnVlIg0KIAkJCQlFeGNlcHRpb25IYW5kbGluZz0iMCINCkBAIC01NjUsNyArNTYzLDcgQEAKIAkJCTxUb29sDQogCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQogCQkJCUlubGluZUZ1bmN0aW9uRXhwYW5zaW9uPSIxIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlwuLjsuLlwuLlxtYXNteDg2Ig0KKwkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlwuLiINCiAJCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IlpMSUJfV0lOQVBJO19DUlRfTk9OU1REQ19OT19ERVBSRUNBVEU7X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO19DUlRfTk9OU1REQ19OT19XQVJOSU5HUztXSU42NCINCiAJCQkJU3RyaW5nUG9vbGluZz0idHJ1ZSINCiAJCQkJRXhjZXB0aW9uSGFuZGxpbmc9IjAiDQpAQCAtNjM5LDcgKzYzNyw3IEBACiAJCQk8VG9vbA0KIAkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KIAkJCQlJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj0iMSINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cLi47Li5cLi5cbWFzbXg4NiINCisJCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cLi4iDQogCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJaTElCX1dJTkFQSTtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFO19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fV0FSTklOR1M7V0lONjQiDQogCQkJCVN0cmluZ1Bvb2xpbmc9InRydWUiDQogCQkJCUV4Y2VwdGlvbkhhbmRsaW5nPSIwIg0KQEAgLTczMyw1OCArNzMxLDYgQEAKIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cbWFzbXg2NFxpbmZmYXM4NjY0LmMiDQotCQkJCT4NCi0JCQkJPEZpbGVDb25maWd1cmF0aW9uDQotCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiINCi0JCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KLQkJCQkJPg0KLQkJCQkJPFRvb2wNCi0JCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQkJLz4NCi0JCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCi0JCQkJPEZpbGVDb25maWd1cmF0aW9uDQotCQkJCQlOYW1lPSJEZWJ1Z3xJdGFuaXVtIg0KLQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQotCQkJCQk+DQotCQkJCQk8VG9vbA0KLQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCQkvPg0KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCi0JCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiDQotCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCi0JCQkJCT4NCi0JCQkJCTxUb29sDQotCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJCS8+DQotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQotCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KLQkJCQkJTmFtZT0iUmVsZWFzZXxJdGFuaXVtIg0KLQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQotCQkJCQk+DQotCQkJCQk8VG9vbA0KLQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCQkvPg0KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCi0JCQkJCU5hbWU9IlJlbGVhc2VXaXRob3V0QXNtfFdpbjMyIg0KLQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQotCQkJCQk+DQotCQkJCQk8VG9vbA0KLQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCQkvPg0KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCi0JCQkJCU5hbWU9IlJlbGVhc2VXaXRob3V0QXNtfEl0YW5pdW0iDQotCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCi0JCQkJCT4NCi0JCQkJCTxUb29sDQotCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJCS8+DQotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQogCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cLi5caW5mZmFzdC5jIg0KIAkJCQk+DQogCQkJPC9GaWxlPg0KZGlmZiAtLWdpdCBhL3NyYy9jb250cmliL3ZzdHVkaW8vdmM5L3psaWJ2Yy5kZWYgYi9zcmMvY29udHJpYi92c3R1ZGlvL3ZjOS96bGlidmMuZGVmCmluZGV4IDYzNjcwNDYuLmJhMDliYzEgMTAwNjQ0Ci0tLSBhL3NyYy9jb250cmliL3ZzdHVkaW8vdmM5L3psaWJ2Yy5kZWYKKysrIGIvc3JjL2NvbnRyaWIvdnN0dWRpby92YzkvemxpYnZjLmRlZgpAQCAtMSw3ICsxLDcgQEAKIExJQlJBUlkNCiA7IHpsaWIgZGF0YSBjb21wcmVzc2lvbiBhbmQgWklQIGZpbGUgSS9PIGxpYnJhcnkNCiANCi1WRVJTSU9OCQkxLjIuOA0KK1ZFUlNJT04JCTEuMg0KIA0KIEVYUE9SVFMNCiAgICAgICAgIGFkbGVyMzIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQDENCkBAIC0xNDEsMyArMTQxLDE4IEBACiA7IHpsaWIxIHYxLjIuOCBhZGRlZDoNCiAgICAgICAgIGluZmxhdGVHZXREaWN0aW9uYXJ5ICAgICAgICAgICAgICAgICAgICBAMTY2DQogICAgICAgICBnenZwcmludGYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQDE2Nw0KKw0KKzsgemxpYjEgdjEuMi45IGFkZGVkOg0KKyAgICAgICAgaW5mbGF0ZUNvZGVzVXNlZCAgICAgICAgICAgICAgICAgICAgICAgIEAxNjgNCisgICAgICAgIGluZmxhdGVWYWxpZGF0ZSAgICAgICAgICAgICAgICAgICAgICAgICBAMTY5DQorICAgICAgICB1bmNvbXByZXNzMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQDE3MA0KKyAgICAgICAgZ3pmcmVhZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEAxNzENCisgICAgICAgIGd6ZndyaXRlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAMTcyDQorICAgICAgICBkZWZsYXRlR2V0RGljdGlvbmFyeSAgICAgICAgICAgICAgICAgICAgQDE3Mw0KKyAgICAgICAgYWRsZXIzMl96ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEAxNzQNCisgICAgICAgIGNyYzMyX3ogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAMTc1DQorDQorOyB6bGliMSB2MS4yLjEyIGFkZGVkOg0KKwkJY3JjMzJfY29tYmluZV9nZW4JCQkJCQlAMTc2DQorCQljcmMzMl9jb21iaW5lX2dlbjY0CQkJCQkJQDE3Nw0KKwkJY3JjMzJfY29tYmluZV9vcAkJCQkJCUAxNzgNCmRpZmYgLS1naXQgYS9zcmMvY29udHJpYi92c3R1ZGlvL3ZjOS96bGlidmMudmNwcm9qIGIvc3JjL2NvbnRyaWIvdnN0dWRpby92YzkvemxpYnZjLnZjcHJvagppbmRleCBjOWE4OTQ3Li5mMTFkZDFmIDEwMDY0NAotLS0gYS9zcmMvY29udHJpYi92c3R1ZGlvL3ZjOS96bGlidmMudmNwcm9qCisrKyBiL3NyYy9jb250cmliL3ZzdHVkaW8vdmM5L3psaWJ2Yy52Y3Byb2oKQEAgLTUzLDggKzUzLDggQEAKIAkJCTxUb29sDQogCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQogCQkJCU9wdGltaXphdGlvbj0iMCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cLi47Li5cLi5cbWFzbXg4NiINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IldJTjMyO19DUlRfTk9OU1REQ19OT19ERVBSRUNBVEU7X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO19DUlRfTk9OU1REQ19OT19XQVJOSU5HUztaTElCX1dJTkFQSTtBU01WO0FTTUlORiINCisJCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cLi4iDQorCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJXSU4zMjtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFO19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fV0FSTklOR1M7WkxJQl9XSU5BUEkiDQogCQkJCUV4Y2VwdGlvbkhhbmRsaW5nPSIwIg0KIAkJCQlSdW50aW1lTGlicmFyeT0iMSINCiAJCQkJQnVmZmVyU2VjdXJpdHlDaGVjaz0iZmFsc2UiDQpAQCAtODEsNyArODEsNiBAQAogCQkJPFRvb2wNCiAJCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KIAkJCQlBZGRpdGlvbmFsT3B0aW9ucz0iL01BQ0hJTkU6STM4NiINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0iLi5cLi5cbWFzbXg4NlxtYXRjaDY4Ni5vYmogLi5cLi5cbWFzbXg4NlxpbmZmYXMzMi5vYmoiDQogCQkJCU91dHB1dEZpbGU9IiQoT3V0RGlyKVx6bGlid2FwaS5kbGwiDQogCQkJCUxpbmtJbmNyZW1lbnRhbD0iMiINCiAJCQkJU3VwcHJlc3NTdGFydHVwQmFubmVyPSJ0cnVlIg0KQEAgLTE1MCw4ICsxNDksOCBAQAogCQkJPFRvb2wNCiAJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCiAJCQkJT3B0aW1pemF0aW9uPSIwIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlwuLjsuLlwuLlxtYXNteDg2Ig0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iV0lOMzI7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX1dBUk5JTkdTO1pMSUJfV0lOQVBJO0FTTVY7QVNNSU5GO1dJTjY0Ig0KKwkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlwuLiINCisJCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IldJTjMyO19DUlRfTk9OU1REQ19OT19ERVBSRUNBVEU7X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO19DUlRfTk9OU1REQ19OT19XQVJOSU5HUztaTElCX1dJTkFQSTtXSU42NCINCiAJCQkJRXhjZXB0aW9uSGFuZGxpbmc9IjAiDQogCQkJCVJ1bnRpbWVMaWJyYXJ5PSIzIg0KIAkJCQlCdWZmZXJTZWN1cml0eUNoZWNrPSJmYWxzZSINCkBAIC0xNzcsNyArMTc2LDYgQEAKIAkJCS8+DQogCQkJPFRvb2wNCiAJCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSIuLlwuLlxtYXNteDY0XGd2bWF0NjQub2JqIC4uXC4uXG1hc214NjRcaW5mZmFzeDY0Lm9iaiAiDQogCQkJCU91dHB1dEZpbGU9IiQoT3V0RGlyKVx6bGlid2FwaS5kbGwiDQogCQkJCUxpbmtJbmNyZW1lbnRhbD0iMiINCiAJCQkJU3VwcHJlc3NTdGFydHVwQmFubmVyPSJ0cnVlIg0KQEAgLTI0NSw3ICsyNDMsNyBAQAogCQkJPFRvb2wNCiAJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCiAJCQkJT3B0aW1pemF0aW9uPSIwIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlwuLjsuLlwuLlxtYXNteDg2Ig0KKwkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlwuLiINCiAJCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IldJTjMyO19DUlRfTk9OU1REQ19OT19ERVBSRUNBVEU7X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO19DUlRfTk9OU1REQ19OT19XQVJOSU5HUztaTElCX1dJTkFQSTtXSU42NCINCiAJCQkJRXhjZXB0aW9uSGFuZGxpbmc9IjAiDQogCQkJCVJ1bnRpbWVMaWJyYXJ5PSIzIg0KQEAgLTM0MCw3ICszMzgsNyBAQAogCQkJPFRvb2wNCiAJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCiAJCQkJSW5saW5lRnVuY3Rpb25FeHBhbnNpb249IjEiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXC4uOy4uXC4uXG1hc214ODYiDQorCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXC4uIg0KIAkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iV0lOMzI7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX1dBUk5JTkdTO1pMSUJfV0lOQVBJIg0KIAkJCQlTdHJpbmdQb29saW5nPSJ0cnVlIg0KIAkJCQlFeGNlcHRpb25IYW5kbGluZz0iMCINCkBAIC00NDAsNyArNDM4LDcgQEAKIAkJCTxUb29sDQogCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQogCQkJCUlubGluZUZ1bmN0aW9uRXhwYW5zaW9uPSIxIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlwuLjsuLlwuLlxtYXNteDg2Ig0KKwkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlwuLiINCiAJCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IldJTjMyO19DUlRfTk9OU1REQ19OT19ERVBSRUNBVEU7X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO19DUlRfTk9OU1REQ19OT19XQVJOSU5HUztaTElCX1dJTkFQSTtXSU42NCINCiAJCQkJU3RyaW5nUG9vbGluZz0idHJ1ZSINCiAJCQkJRXhjZXB0aW9uSGFuZGxpbmc9IjAiDQpAQCAtNTM4LDcgKzUzNiw3IEBACiAJCQk8VG9vbA0KIAkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KIAkJCQlJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj0iMSINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cLi47Li5cLi5cbWFzbXg4NiINCisJCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cLi4iDQogCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJXSU4zMjtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFO19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fV0FSTklOR1M7WkxJQl9XSU5BUEk7V0lONjQiDQogCQkJCVN0cmluZ1Bvb2xpbmc9InRydWUiDQogCQkJCUV4Y2VwdGlvbkhhbmRsaW5nPSIwIg0KQEAgLTYzNiw4ICs2MzQsOCBAQAogCQkJPFRvb2wNCiAJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCiAJCQkJSW5saW5lRnVuY3Rpb25FeHBhbnNpb249IjEiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXC4uOy4uXC4uXG1hc214ODYiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJXSU4zMjtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFO19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fV0FSTklOR1M7WkxJQl9XSU5BUEk7QVNNVjtBU01JTkYiDQorCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXC4uIg0KKwkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iV0lOMzI7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX1dBUk5JTkdTO1pMSUJfV0lOQVBJIg0KIAkJCQlTdHJpbmdQb29saW5nPSJ0cnVlIg0KIAkJCQlFeGNlcHRpb25IYW5kbGluZz0iMCINCiAJCQkJUnVudGltZUxpYnJhcnk9IjAiDQpAQCAtNjY2LDcgKzY2NCw2IEBACiAJCQk8VG9vbA0KIAkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQogCQkJCUFkZGl0aW9uYWxPcHRpb25zPSIvTUFDSElORTpJMzg2Ig0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSIuLlwuLlxtYXNteDg2XG1hdGNoNjg2Lm9iaiAuLlwuLlxtYXNteDg2XGluZmZhczMyLm9iaiAiDQogCQkJCU91dHB1dEZpbGU9IiQoT3V0RGlyKVx6bGlid2FwaS5kbGwiDQogCQkJCUxpbmtJbmNyZW1lbnRhbD0iMSINCiAJCQkJU3VwcHJlc3NTdGFydHVwQmFubmVyPSJ0cnVlIg0KQEAgLTczNyw4ICs3MzQsOCBAQAogCQkJPFRvb2wNCiAJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCiAJCQkJSW5saW5lRnVuY3Rpb25FeHBhbnNpb249IjEiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXC4uOy4uXC4uXG1hc214ODYiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFO19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fV0FSTklOR1M7WkxJQl9XSU5BUEk7QVNNVjtBU01JTkY7V0lONjQiDQorCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXC4uIg0KKwkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iX0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX1dBUk5JTkdTO1pMSUJfV0lOQVBJO1dJTjY0Ig0KIAkJCQlTdHJpbmdQb29saW5nPSJ0cnVlIg0KIAkJCQlFeGNlcHRpb25IYW5kbGluZz0iMCINCiAJCQkJUnVudGltZUxpYnJhcnk9IjIiDQpAQCAtNzY2LDcgKzc2Myw2IEBACiAJCQkvPg0KIAkJCTxUb29sDQogCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0iLi5cLi5cbWFzbXg2NFxndm1hdDY0Lm9iaiAuLlwuLlxtYXNteDY0XGluZmZhc3g2NC5vYmogIg0KIAkJCQlPdXRwdXRGaWxlPSIkKE91dERpcilcemxpYndhcGkuZGxsIg0KIAkJCQlMaW5rSW5jcmVtZW50YWw9IjEiDQogCQkJCVN1cHByZXNzU3RhcnR1cEJhbm5lcj0idHJ1ZSINCkBAIC04MzYsNyArODMyLDcgQEAKIAkJCTxUb29sDQogCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQogCQkJCUlubGluZUZ1bmN0aW9uRXhwYW5zaW9uPSIxIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlwuLjsuLlwuLlxtYXNteDg2Ig0KKwkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlwuLiINCiAJCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Il9DUlRfTk9OU1REQ19OT19ERVBSRUNBVEU7X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO19DUlRfTk9OU1REQ19OT19XQVJOSU5HUztaTElCX1dJTkFQSTtXSU42NCINCiAJCQkJU3RyaW5nUG9vbGluZz0idHJ1ZSINCiAJCQkJRXhjZXB0aW9uSGFuZGxpbmc9IjAiDQpAQCAtOTUwLDU4ICs5NDYsNiBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxtYXNteDY0XGluZmZhczg2NjQuYyINCi0JCQkJPg0KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCi0JCQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KLQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQotCQkJCQk+DQotCQkJCQk8VG9vbA0KLQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCQkvPg0KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCi0JCQkJCU5hbWU9IkRlYnVnfEl0YW5pdW0iDQotCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCi0JCQkJCT4NCi0JCQkJCTxUb29sDQotCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJCS8+DQotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQotCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KLQkJCQkJTmFtZT0iUmVsZWFzZVdpdGhvdXRBc218V2luMzIiDQotCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCi0JCQkJCT4NCi0JCQkJCTxUb29sDQotCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJCS8+DQotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQotCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KLQkJCQkJTmFtZT0iUmVsZWFzZVdpdGhvdXRBc218SXRhbml1bSINCi0JCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KLQkJCQkJPg0KLQkJCQkJPFRvb2wNCi0JCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQkJLz4NCi0JCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCi0JCQkJPEZpbGVDb25maWd1cmF0aW9uDQotCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIg0KLQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQotCQkJCQk+DQotCQkJCQk8VG9vbA0KLQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCQkvPg0KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCi0JCQkJCU5hbWU9IlJlbGVhc2V8SXRhbml1bSINCi0JCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KLQkJCQkJPg0KLQkJCQkJPFRvb2wNCi0JCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQkJLz4NCi0JCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlwuLlxpbmZmYXN0LmMiDQogCQkJCT4NCiAJCQk8L0ZpbGU+DQpkaWZmIC0tZ2l0IGEvc3JjL2NyYzMyLmMgYi9zcmMvY3JjMzIuYwppbmRleCA5NzlhNzE5Li5mODM1N2IwIDEwMDY0NAotLS0gYS9zcmMvY3JjMzIuYworKysgYi9zcmMvY3JjMzIuYwpAQCAtMSwxMiArMSwxMCBAQAogLyogY3JjMzIuYyAtLSBjb21wdXRlIHRoZSBDUkMtMzIgb2YgYSBkYXRhIHN0cmVhbQotICogQ29weXJpZ2h0IChDKSAxOTk1LTIwMDYsIDIwMTAsIDIwMTEsIDIwMTIgTWFyayBBZGxlcgorICogQ29weXJpZ2h0IChDKSAxOTk1LTIwMjIgTWFyayBBZGxlcgogICogRm9yIGNvbmRpdGlvbnMgb2YgZGlzdHJpYnV0aW9uIGFuZCB1c2UsIHNlZSBjb3B5cmlnaHQgbm90aWNlIGluIHpsaWIuaAogICoKLSAqIFRoYW5rcyB0byBSb2RuZXkgQnJvd24gPHJicm93bjY0QGNzYy5jb20uYXU+IGZvciBoaXMgY29udHJpYnV0aW9uIG9mIGZhc3RlcgotICogQ1JDIG1ldGhvZHM6IGV4Y2x1c2l2ZS1vcmluZyAzMiBiaXRzIG9mIGRhdGEgYXQgYSB0aW1lLCBhbmQgcHJlLWNvbXB1dGluZwotICogdGFibGVzIGZvciB1cGRhdGluZyB0aGUgc2hpZnQgcmVnaXN0ZXIgaW4gb25lIHN0ZXAgd2l0aCB0aHJlZSBleGNsdXNpdmUtb3JzCi0gKiBpbnN0ZWFkIG9mIGZvdXIgc3RlcHMgd2l0aCBmb3VyIGV4Y2x1c2l2ZS1vcnMuICBUaGlzIHJlc3VsdHMgaW4gYWJvdXQgYQotICogZmFjdG9yIG9mIHR3byBpbmNyZWFzZSBpbiBzcGVlZCBvbiBhIFBvd2VyIFBDIEc0IChQUEM3NDU1KSB1c2luZyBnY2MgLU8zLgorICogVGhpcyBpbnRlcmxlYXZlZCBpbXBsZW1lbnRhdGlvbiBvZiBhIENSQyBtYWtlcyB1c2Ugb2YgcGlwZWxpbmVkIG11bHRpcGxlCisgKiBhcml0aG1ldGljLWxvZ2ljIHVuaXRzLCBjb21tb25seSBmb3VuZCBpbiBtb2Rlcm4gQ1BVIGNvcmVzLiBJdCBpcyBkdWUgdG8KKyAqIEthZGF0Y2ggYW5kIEplbmtpbnMgKDIwMTApLiBTZWUgZG9jL2NyYy1kb2MuMS4wLnBkZiBpbiB0aGlzIGRpc3RyaWJ1dGlvbi4KICAqLwogCiAvKiBAKCMpICRJZCQgKi8KQEAgLTE0LDExICsxMiwxMiBAQAogLyoKICAgTm90ZSBvbiB0aGUgdXNlIG9mIERZTkFNSUNfQ1JDX1RBQkxFOiB0aGVyZSBpcyBubyBtdXRleCBvciBzZW1hcGhvcmUKICAgcHJvdGVjdGlvbiBvbiB0aGUgc3RhdGljIHZhcmlhYmxlcyB1c2VkIHRvIGNvbnRyb2wgdGhlIGZpcnN0LXVzZSBnZW5lcmF0aW9uCi0gIG9mIHRoZSBjcmMgdGFibGVzLiAgVGhlcmVmb3JlLCBpZiB5b3UgI2RlZmluZSBEWU5BTUlDX0NSQ19UQUJMRSwgeW91IHNob3VsZAorICBvZiB0aGUgY3JjIHRhYmxlcy4gVGhlcmVmb3JlLCBpZiB5b3UgI2RlZmluZSBEWU5BTUlDX0NSQ19UQUJMRSwgeW91IHNob3VsZAogICBmaXJzdCBjYWxsIGdldF9jcmNfdGFibGUoKSB0byBpbml0aWFsaXplIHRoZSB0YWJsZXMgYmVmb3JlIGFsbG93aW5nIG1vcmUgdGhhbgogICBvbmUgdGhyZWFkIHRvIHVzZSBjcmMzMigpLgogCi0gIERZTkFNSUNfQ1JDX1RBQkxFIGFuZCBNQUtFQ1JDSCBjYW4gYmUgI2RlZmluZWQgdG8gd3JpdGUgb3V0IGNyYzMyLmguCisgIE1BS0VDUkNIIGNhbiBiZSAjZGVmaW5lZCB0byB3cml0ZSBvdXQgY3JjMzIuaC4gQSBtYWluKCkgcm91dGluZSBpcyBhbHNvCisgIHByb2R1Y2VkLCBzbyB0aGF0IHRoaXMgb25lIHNvdXJjZSBmaWxlIGNhbiBiZSBjb21waWxlZCB0byBhbiBleGVjdXRhYmxlLgogICovCiAKICNpZmRlZiBNQUtFQ1JDSApAQCAtMjgsMTc3ICsyNywxMDQ2IEBACiAjICBlbmRpZiAvKiAhRFlOQU1JQ19DUkNfVEFCTEUgKi8KICNlbmRpZiAvKiBNQUtFQ1JDSCAqLwogCi0jaW5jbHVkZSAienV0aWwuaCIgICAgICAvKiBmb3IgU1REQyBhbmQgRkFSIGRlZmluaXRpb25zICovCisjaW5jbHVkZSAienV0aWwuaCIgICAgICAvKiBmb3IgWl9VNCwgWl9VOCwgel9jcmNfdCwgYW5kIEZBUiBkZWZpbml0aW9ucyAqLwogCi0jZGVmaW5lIGxvY2FsIHN0YXRpYworIC8qCisgIEEgQ1JDIG9mIGEgbWVzc2FnZSBpcyBjb21wdXRlZCBvbiBOIGJyYWlkcyBvZiB3b3JkcyBpbiB0aGUgbWVzc2FnZSwgd2hlcmUKKyAgZWFjaCB3b3JkIGNvbnNpc3RzIG9mIFcgYnl0ZXMgKDQgb3IgOCkuIElmIE4gaXMgMywgZm9yIGV4YW1wbGUsIHRoZW4gdGhyZWUKKyAgcnVubmluZyBzcGFyc2UgQ1JDcyBhcmUgY2FsY3VsYXRlZCByZXNwZWN0aXZlbHkgb24gZWFjaCBicmFpZCwgYXQgdGhlc2UKKyAgaW5kaWNlcyBpbiB0aGUgYXJyYXkgb2Ygd29yZHM6IDAsIDMsIDYsIC4uLiwgMSwgNCwgNywgLi4uLCBhbmQgMiwgNSwgOCwgLi4uCisgIFRoaXMgaXMgZG9uZSBzdGFydGluZyBhdCBhIHdvcmQgYm91bmRhcnksIGFuZCBjb250aW51ZXMgdW50aWwgYXMgbWFueSBibG9ja3MKKyAgb2YgTiAqIFcgYnl0ZXMgYXMgYXJlIGF2YWlsYWJsZSBoYXZlIGJlZW4gcHJvY2Vzc2VkLiBUaGUgcmVzdWx0cyBhcmUgY29tYmluZWQKKyAgaW50byBhIHNpbmdsZSBDUkMgYXQgdGhlIGVuZC4gRm9yIHRoaXMgY29kZSwgTiBtdXN0IGJlIGluIHRoZSByYW5nZSAxLi42IGFuZAorICBXIG11c3QgYmUgNCBvciA4LiBUaGUgdXBwZXIgbGltaXQgb24gTiBjYW4gYmUgaW5jcmVhc2VkIGlmIGRlc2lyZWQgYnkgYWRkaW5nCisgIG1vcmUgI2lmIGJsb2NrcywgZXh0ZW5kaW5nIHRoZSBwYXR0ZXJucyBhcHBhcmVudCBpbiB0aGUgY29kZS4gSW4gYWRkaXRpb24sCisgIGNyYzMyLmggd291bGQgbmVlZCB0byBiZSByZWdlbmVyYXRlZCwgaWYgdGhlIG1heGltdW0gTiB2YWx1ZSBpcyBpbmNyZWFzZWQuCiAKLS8qIERlZmluaXRpb25zIGZvciBkb2luZyB0aGUgY3JjIGZvdXIgZGF0YSBieXRlcyBhdCBhIHRpbWUuICovCi0jaWYgIWRlZmluZWQoTk9CWUZPVVIpICYmIGRlZmluZWQoWl9VNCkKLSMgIGRlZmluZSBCWUZPVVIKLSNlbmRpZgotI2lmZGVmIEJZRk9VUgotICAgbG9jYWwgdW5zaWduZWQgbG9uZyBjcmMzMl9saXR0bGUgT0YoKHVuc2lnbmVkIGxvbmcsCi0gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyIEZBUiAqLCB1bnNpZ25lZCkpOwotICAgbG9jYWwgdW5zaWduZWQgbG9uZyBjcmMzMl9iaWcgT0YoKHVuc2lnbmVkIGxvbmcsCi0gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyIEZBUiAqLCB1bnNpZ25lZCkpOwotIyAgZGVmaW5lIFRCTFMgOAorICBOIGFuZCBXIGFyZSBjaG9zZW4gZW1waXJpY2FsbHkgYnkgYmVuY2htYXJraW5nIHRoZSBleGVjdXRpb24gdGltZSBvbiBhIGdpdmVuCisgIHByb2Nlc3Nvci4gVGhlIGNob2ljZXMgZm9yIE4gYW5kIFcgYmVsb3cgd2VyZSBiYXNlZCBvbiB0ZXN0aW5nIG9uIEludGVsIEthYnkKKyAgTGFrZSBpNywgQU1EIFJ5emVuIDcsIEFSTSBDb3J0ZXgtQTU3LCBTcGFyYzY0LVZJSSwgUG93ZXJQQyBQT1dFUjksIGFuZCBNSVBTNjQKKyAgT2N0ZW9uIElJIHByb2Nlc3NvcnMuIFRoZSBJbnRlbCwgQU1ELCBhbmQgQVJNIHByb2Nlc3NvcnMgd2VyZSBhbGwgZmFzdGVzdAorICB3aXRoIE49NSwgVz04LiBUaGUgU3BhcmMsIFBvd2VyUEMsIGFuZCBNSVBTNjQgd2VyZSBhbGwgZmFzdGVzdCBhdCBOPTUsIFc9NC4KKyAgVGhleSB3ZXJlIGFsbCB0ZXN0ZWQgd2l0aCBlaXRoZXIgZ2NjIG9yIGNsYW5nLCBhbGwgdXNpbmcgdGhlIC1PMyBvcHRpbWl6YXRpb24KKyAgbGV2ZWwuIFlvdXIgbWlsZWFnZSBtYXkgdmFyeS4KKyAqLworCisvKiBEZWZpbmUgTiAqLworI2lmZGVmIFpfVEVTVE4KKyMgIGRlZmluZSBOIFpfVEVTVE4KICNlbHNlCi0jICBkZWZpbmUgVEJMUyAxCi0jZW5kaWYgLyogQllGT1VSICovCisjICBkZWZpbmUgTiA1CisjZW5kaWYKKyNpZiBOIDwgMSB8fCBOID4gNgorIyAgZXJyb3IgTiBtdXN0IGJlIGluIDEuLjYKKyNlbmRpZgogCi0vKiBMb2NhbCBmdW5jdGlvbnMgZm9yIGNyYyBjb25jYXRlbmF0aW9uICovCi1sb2NhbCB1bnNpZ25lZCBsb25nIGdmMl9tYXRyaXhfdGltZXMgT0YoKHVuc2lnbmVkIGxvbmcgKm1hdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyB2ZWMpKTsKLWxvY2FsIHZvaWQgZ2YyX21hdHJpeF9zcXVhcmUgT0YoKHVuc2lnbmVkIGxvbmcgKnNxdWFyZSwgdW5zaWduZWQgbG9uZyAqbWF0KSk7Ci1sb2NhbCB1TG9uZyBjcmMzMl9jb21iaW5lXyBPRigodUxvbmcgY3JjMSwgdUxvbmcgY3JjMiwgel9vZmY2NF90IGxlbjIpKTsKKy8qCisgIHpfY3JjX3QgbXVzdCBiZSBhdCBsZWFzdCAzMiBiaXRzLiB6X3dvcmRfdCBtdXN0IGJlIGF0IGxlYXN0IGFzIGxvbmcgYXMKKyAgel9jcmNfdC4gSXQgaXMgYXNzdW1lZCBoZXJlIHRoYXQgel93b3JkX3QgaXMgZWl0aGVyIDMyIGJpdHMgb3IgNjQgYml0cywgYW5kCisgIHRoYXQgYnl0ZXMgYXJlIGVpZ2h0IGJpdHMuCisgKi8KIAorLyoKKyAgRGVmaW5lIFcgYW5kIHRoZSBhc3NvY2lhdGVkIHpfd29yZF90IHR5cGUuIElmIFcgaXMgbm90IGRlZmluZWQsIHRoZW4gYQorICBicmFpZGVkIGNhbGN1bGF0aW9uIGlzIG5vdCB1c2VkLCBhbmQgdGhlIGFzc29jaWF0ZWQgdGFibGVzIGFuZCBjb2RlIGFyZSBub3QKKyAgY29tcGlsZWQuCisgKi8KKyNpZmRlZiBaX1RFU1RXCisjICBpZiBaX1RFU1RXLTEgIT0gLTEKKyMgICAgZGVmaW5lIFcgWl9URVNUVworIyAgZW5kaWYKKyNlbHNlCisjICBpZmRlZiBNQUtFQ1JDSAorIyAgICBkZWZpbmUgVyA4ICAgICAgICAgLyogcmVxdWlyZWQgZm9yIE1BS0VDUkNIICovCisjICBlbHNlCisjICAgIGlmIGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfX2FhcmNoNjRfXykKKyMgICAgICBkZWZpbmUgVyA4CisjICAgIGVsc2UKKyMgICAgICBkZWZpbmUgVyA0CisjICAgIGVuZGlmCisjICBlbmRpZgorI2VuZGlmCisjaWZkZWYgVworIyAgaWYgVyA9PSA4ICYmIGRlZmluZWQoWl9VOCkKKyAgICAgdHlwZWRlZiBaX1U4IHpfd29yZF90OworIyAgZWxpZiBkZWZpbmVkKFpfVTQpCisjICAgIHVuZGVmIFcKKyMgICAgZGVmaW5lIFcgNAorICAgICB0eXBlZGVmIFpfVTQgel93b3JkX3Q7CisjICBlbHNlCisjICAgIHVuZGVmIFcKKyMgIGVuZGlmCisjZW5kaWYKKworLyogSWYgYXZhaWxhYmxlLCB1c2UgdGhlIEFSTSBwcm9jZXNzb3IgQ1JDMzIgaW5zdHJ1Y3Rpb24uICovCisjaWYgZGVmaW5lZChfX2FhcmNoNjRfXykgJiYgZGVmaW5lZChfX0FSTV9GRUFUVVJFX0NSQzMyKSAmJiBXID09IDgKKyMgIGRlZmluZSBBUk1DUkMzMgorI2VuZGlmCisKKy8qIExvY2FsIGZ1bmN0aW9ucy4gKi8KK2xvY2FsIHpfY3JjX3QgbXVsdG1vZHAgT0YoKHpfY3JjX3QgYSwgel9jcmNfdCBiKSk7Citsb2NhbCB6X2NyY190IHgybm1vZHAgT0YoKHpfb2ZmNjRfdCBuLCB1bnNpZ25lZCBrKSk7CisKKyNpZiBkZWZpbmVkKFcpICYmICghZGVmaW5lZChBUk1DUkMzMikgfHwgZGVmaW5lZChEWU5BTUlDX0NSQ19UQUJMRSkpCisgICAgbG9jYWwgel93b3JkX3QgYnl0ZV9zd2FwIE9GKCh6X3dvcmRfdCB3b3JkKSk7CisjZW5kaWYKKworI2lmIGRlZmluZWQoVykgJiYgIWRlZmluZWQoQVJNQ1JDMzIpCisgICAgbG9jYWwgel9jcmNfdCBjcmNfd29yZCBPRigoel93b3JkX3QgZGF0YSkpOworICAgIGxvY2FsIHpfd29yZF90IGNyY193b3JkX2JpZyBPRigoel93b3JkX3QgZGF0YSkpOworI2VuZGlmCisKKyNpZiBkZWZpbmVkKFcpICYmICghZGVmaW5lZChBUk1DUkMzMikgfHwgZGVmaW5lZChEWU5BTUlDX0NSQ19UQUJMRSkpCisvKgorICBTd2FwIHRoZSBieXRlcyBpbiBhIHpfd29yZF90IHRvIGNvbnZlcnQgYmV0d2VlbiBsaXR0bGUgYW5kIGJpZyBlbmRpYW4uIEFueQorICBzZWxmLXJlc3BlY3RpbmcgY29tcGlsZXIgd2lsbCBvcHRpbWl6ZSB0aGlzIHRvIGEgc2luZ2xlIG1hY2hpbmUgYnl0ZS1zd2FwCisgIGluc3RydWN0aW9uLCBpZiBvbmUgaXMgYXZhaWxhYmxlLiBUaGlzIGFzc3VtZXMgdGhhdCB3b3JkX3QgaXMgZWl0aGVyIDMyIGJpdHMKKyAgb3IgNjQgYml0cy4KKyAqLworbG9jYWwgel93b3JkX3QgYnl0ZV9zd2FwKHdvcmQpCisgICAgel93b3JkX3Qgd29yZDsKK3sKKyMgIGlmIFcgPT0gOAorICAgIHJldHVybgorICAgICAgICAod29yZCAmIDB4ZmYwMDAwMDAwMDAwMDAwMCkgPj4gNTYgfAorICAgICAgICAod29yZCAmIDB4ZmYwMDAwMDAwMDAwMDApID4+IDQwIHwKKyAgICAgICAgKHdvcmQgJiAweGZmMDAwMDAwMDAwMCkgPj4gMjQgfAorICAgICAgICAod29yZCAmIDB4ZmYwMDAwMDAwMCkgPj4gOCB8CisgICAgICAgICh3b3JkICYgMHhmZjAwMDAwMCkgPDwgOCB8CisgICAgICAgICh3b3JkICYgMHhmZjAwMDApIDw8IDI0IHwKKyAgICAgICAgKHdvcmQgJiAweGZmMDApIDw8IDQwIHwKKyAgICAgICAgKHdvcmQgJiAweGZmKSA8PCA1NjsKKyMgIGVsc2UgICAvKiBXID09IDQgKi8KKyAgICByZXR1cm4KKyAgICAgICAgKHdvcmQgJiAweGZmMDAwMDAwKSA+PiAyNCB8CisgICAgICAgICh3b3JkICYgMHhmZjAwMDApID4+IDggfAorICAgICAgICAod29yZCAmIDB4ZmYwMCkgPDwgOCB8CisgICAgICAgICh3b3JkICYgMHhmZikgPDwgMjQ7CisjICBlbmRpZgorfQorI2VuZGlmCisKKy8qIENSQyBwb2x5bm9taWFsLiAqLworI2RlZmluZSBQT0xZIDB4ZWRiODgzMjAgICAgICAgICAvKiBwKHgpIHJlZmxlY3RlZCwgd2l0aCB4XjMyIGltcGxpZWQgKi8KIAogI2lmZGVmIERZTkFNSUNfQ1JDX1RBQkxFCiAKLWxvY2FsIHZvbGF0aWxlIGludCBjcmNfdGFibGVfZW1wdHkgPSAxOwotbG9jYWwgel9jcmNfdCBGQVIgY3JjX3RhYmxlW1RCTFNdWzI1Nl07Citsb2NhbCB6X2NyY190IEZBUiBjcmNfdGFibGVbMjU2XTsKK2xvY2FsIHpfY3JjX3QgRkFSIHgybl90YWJsZVszMl07CiBsb2NhbCB2b2lkIG1ha2VfY3JjX3RhYmxlIE9GKCh2b2lkKSk7CisjaWZkZWYgVworICAgbG9jYWwgel93b3JkX3QgRkFSIGNyY19iaWdfdGFibGVbMjU2XTsKKyAgIGxvY2FsIHpfY3JjX3QgRkFSIGNyY19icmFpZF90YWJsZVtXXVsyNTZdOworICAgbG9jYWwgel93b3JkX3QgRkFSIGNyY19icmFpZF9iaWdfdGFibGVbV11bMjU2XTsKKyAgIGxvY2FsIHZvaWQgYnJhaWQgT0YoKHpfY3JjX3QgW11bMjU2XSwgel93b3JkX3QgW11bMjU2XSwgaW50LCBpbnQpKTsKKyNlbmRpZgogI2lmZGVmIE1BS0VDUkNICi0gICBsb2NhbCB2b2lkIHdyaXRlX3RhYmxlIE9GKChGSUxFICosIGNvbnN0IHpfY3JjX3QgRkFSICopKTsKKyAgIGxvY2FsIHZvaWQgd3JpdGVfdGFibGUgT0YoKEZJTEUgKiwgY29uc3Qgel9jcmNfdCBGQVIgKiwgaW50KSk7CisgICBsb2NhbCB2b2lkIHdyaXRlX3RhYmxlMzJoaSBPRigoRklMRSAqLCBjb25zdCB6X3dvcmRfdCBGQVIgKiwgaW50KSk7CisgICBsb2NhbCB2b2lkIHdyaXRlX3RhYmxlNjQgT0YoKEZJTEUgKiwgY29uc3Qgel93b3JkX3QgRkFSICosIGludCkpOwogI2VuZGlmIC8qIE1BS0VDUkNIICovCisKKy8qCisgIERlZmluZSBhIG9uY2UoKSBmdW5jdGlvbiBkZXBlbmRpbmcgb24gdGhlIGF2YWlsYWJpbGl0eSBvZiBhdG9taWNzLiBJZiB0aGlzIGlzCisgIGNvbXBpbGVkIHdpdGggRFlOQU1JQ19DUkNfVEFCTEUgZGVmaW5lZCwgYW5kIGlmIENSQ3Mgd2lsbCBiZSBjb21wdXRlZCBpbgorICBtdWx0aXBsZSB0aHJlYWRzLCBhbmQgaWYgYXRvbWljcyBhcmUgbm90IGF2YWlsYWJsZSwgdGhlbiBnZXRfY3JjX3RhYmxlKCkgbXVzdAorICBiZSBjYWxsZWQgdG8gaW5pdGlhbGl6ZSB0aGUgdGFibGVzIGFuZCBtdXN0IHJldHVybiBiZWZvcmUgYW55IHRocmVhZHMgYXJlCisgIGFsbG93ZWQgdG8gY29tcHV0ZSBvciBjb21iaW5lIENSQ3MuCisgKi8KKworLyogRGVmaW5pdGlvbiBvZiBvbmNlIGZ1bmN0aW9uYWxpdHkuICovCit0eXBlZGVmIHN0cnVjdCBvbmNlX3Mgb25jZV90OworbG9jYWwgdm9pZCBvbmNlIE9GKChvbmNlX3QgKiwgdm9pZCAoKikodm9pZCkpKTsKKworLyogQ2hlY2sgZm9yIHRoZSBhdmFpbGFiaWxpdHkgb2YgYXRvbWljcy4gKi8KKyNpZiBkZWZpbmVkKF9fU1REQ19fKSAmJiBfX1NURENfVkVSU0lPTl9fID49IDIwMTExMkwgJiYgXAorICAgICFkZWZpbmVkKF9fU1REQ19OT19BVE9NSUNTX18pCisKKyNpbmNsdWRlIDxzdGRhdG9taWMuaD4KKworLyogU3RydWN0dXJlIGZvciBvbmNlKCksIHdoaWNoIG11c3QgYmUgaW5pdGlhbGl6ZWQgd2l0aCBPTkNFX0lOSVQuICovCitzdHJ1Y3Qgb25jZV9zIHsKKyAgICBhdG9taWNfZmxhZyBiZWd1bjsKKyAgICBhdG9taWNfaW50IGRvbmU7Cit9OworI2RlZmluZSBPTkNFX0lOSVQge0FUT01JQ19GTEFHX0lOSVQsIDB9CisKKy8qCisgIFJ1biB0aGUgcHJvdmlkZWQgaW5pdCgpIGZ1bmN0aW9uIGV4YWN0bHkgb25jZSwgZXZlbiBpZiBtdWx0aXBsZSB0aHJlYWRzCisgIGludm9rZSBvbmNlKCkgYXQgdGhlIHNhbWUgdGltZS4gVGhlIHN0YXRlIG11c3QgYmUgYSBvbmNlX3QgaW5pdGlhbGl6ZWQgd2l0aAorICBPTkNFX0lOSVQuCisgKi8KK2xvY2FsIHZvaWQgb25jZShzdGF0ZSwgaW5pdCkKKyAgICBvbmNlX3QgKnN0YXRlOworICAgIHZvaWQgKCppbml0KSh2b2lkKTsKK3sKKyAgICBpZiAoIWF0b21pY19sb2FkKCZzdGF0ZS0+ZG9uZSkpIHsKKyAgICAgICAgaWYgKGF0b21pY19mbGFnX3Rlc3RfYW5kX3NldCgmc3RhdGUtPmJlZ3VuKSkKKyAgICAgICAgICAgIHdoaWxlICghYXRvbWljX2xvYWQoJnN0YXRlLT5kb25lKSkKKyAgICAgICAgICAgICAgICA7CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgaW5pdCgpOworICAgICAgICAgICAgYXRvbWljX3N0b3JlKCZzdGF0ZS0+ZG9uZSwgMSk7CisgICAgICAgIH0KKyAgICB9Cit9CisKKyNlbHNlICAgLyogbm8gYXRvbWljcyAqLworCisvKiBTdHJ1Y3R1cmUgZm9yIG9uY2UoKSwgd2hpY2ggbXVzdCBiZSBpbml0aWFsaXplZCB3aXRoIE9OQ0VfSU5JVC4gKi8KK3N0cnVjdCBvbmNlX3MgeworICAgIHZvbGF0aWxlIGludCBiZWd1bjsKKyAgICB2b2xhdGlsZSBpbnQgZG9uZTsKK307CisjZGVmaW5lIE9OQ0VfSU5JVCB7MCwgMH0KKworLyogVGVzdCBhbmQgc2V0LiBBbGFzLCBub3QgYXRvbWljLCBidXQgdHJpZXMgdG8gbWluaW1pemUgdGhlIHBlcmlvZCBvZgorICAgdnVsbmVyYWJpbGl0eS4gKi8KK2xvY2FsIGludCB0ZXN0X2FuZF9zZXQgT0YoKGludCB2b2xhdGlsZSAqKSk7Citsb2NhbCBpbnQgdGVzdF9hbmRfc2V0KGZsYWcpCisgICAgaW50IHZvbGF0aWxlICpmbGFnOworeworICAgIGludCB3YXM7CisKKyAgICB3YXMgPSAqZmxhZzsKKyAgICAqZmxhZyA9IDE7CisgICAgcmV0dXJuIHdhczsKK30KKworLyogUnVuIHRoZSBwcm92aWRlZCBpbml0KCkgZnVuY3Rpb24gb25jZS4gVGhpcyBpcyBub3QgdGhyZWFkLXNhZmUuICovCitsb2NhbCB2b2lkIG9uY2Uoc3RhdGUsIGluaXQpCisgICAgb25jZV90ICpzdGF0ZTsKKyAgICB2b2lkICgqaW5pdCkodm9pZCk7Cit7CisgICAgaWYgKCFzdGF0ZS0+ZG9uZSkgeworICAgICAgICBpZiAodGVzdF9hbmRfc2V0KCZzdGF0ZS0+YmVndW4pKQorICAgICAgICAgICAgd2hpbGUgKCFzdGF0ZS0+ZG9uZSkKKyAgICAgICAgICAgICAgICA7CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgaW5pdCgpOworICAgICAgICAgICAgc3RhdGUtPmRvbmUgPSAxOworICAgICAgICB9CisgICAgfQorfQorCisjZW5kaWYKKworLyogU3RhdGUgZm9yIG9uY2UoKS4gKi8KK2xvY2FsIG9uY2VfdCBtYWRlID0gT05DRV9JTklUOworCiAvKgogICBHZW5lcmF0ZSB0YWJsZXMgZm9yIGEgYnl0ZS13aXNlIDMyLWJpdCBDUkMgY2FsY3VsYXRpb24gb24gdGhlIHBvbHlub21pYWw6CiAgIHheMzIreF4yNit4XjIzK3heMjIreF4xNit4XjEyK3heMTEreF4xMCt4XjgreF43K3heNSt4XjQreF4yK3grMS4KIAogICBQb2x5bm9taWFscyBvdmVyIEdGKDIpIGFyZSByZXByZXNlbnRlZCBpbiBiaW5hcnksIG9uZSBiaXQgcGVyIGNvZWZmaWNpZW50LAotICB3aXRoIHRoZSBsb3dlc3QgcG93ZXJzIGluIHRoZSBtb3N0IHNpZ25pZmljYW50IGJpdC4gIFRoZW4gYWRkaW5nIHBvbHlub21pYWxzCisgIHdpdGggdGhlIGxvd2VzdCBwb3dlcnMgaW4gdGhlIG1vc3Qgc2lnbmlmaWNhbnQgYml0LiBUaGVuIGFkZGluZyBwb2x5bm9taWFscwogICBpcyBqdXN0IGV4Y2x1c2l2ZS1vciwgYW5kIG11bHRpcGx5aW5nIGEgcG9seW5vbWlhbCBieSB4IGlzIGEgcmlnaHQgc2hpZnQgYnkKLSAgb25lLiAgSWYgd2UgY2FsbCB0aGUgYWJvdmUgcG9seW5vbWlhbCBwLCBhbmQgcmVwcmVzZW50IGEgYnl0ZSBhcyB0aGUKKyAgb25lLiBJZiB3ZSBjYWxsIHRoZSBhYm92ZSBwb2x5bm9taWFsIHAsIGFuZCByZXByZXNlbnQgYSBieXRlIGFzIHRoZQogICBwb2x5bm9taWFsIHEsIGFsc28gd2l0aCB0aGUgbG93ZXN0IHBvd2VyIGluIHRoZSBtb3N0IHNpZ25pZmljYW50IGJpdCAoc28gdGhlCi0gIGJ5dGUgMHhiMSBpcyB0aGUgcG9seW5vbWlhbCB4XjcreF4zK3grMSksIHRoZW4gdGhlIENSQyBpcyAocSp4XjMyKSBtb2QgcCwKKyAgYnl0ZSAweGIxIGlzIHRoZSBwb2x5bm9taWFsIHheNyt4XjMreF4yKzEpLCB0aGVuIHRoZSBDUkMgaXMgKHEqeF4zMikgbW9kIHAsCiAgIHdoZXJlIGEgbW9kIGIgbWVhbnMgdGhlIHJlbWFpbmRlciBhZnRlciBkaXZpZGluZyBhIGJ5IGIuCiAKICAgVGhpcyBjYWxjdWxhdGlvbiBpcyBkb25lIHVzaW5nIHRoZSBzaGlmdC1yZWdpc3RlciBtZXRob2Qgb2YgbXVsdGlwbHlpbmcgYW5kCi0gIHRha2luZyB0aGUgcmVtYWluZGVyLiAgVGhlIHJlZ2lzdGVyIGlzIGluaXRpYWxpemVkIHRvIHplcm8sIGFuZCBmb3IgZWFjaAorICB0YWtpbmcgdGhlIHJlbWFpbmRlci4gVGhlIHJlZ2lzdGVyIGlzIGluaXRpYWxpemVkIHRvIHplcm8sIGFuZCBmb3IgZWFjaAogICBpbmNvbWluZyBiaXQsIHheMzIgaXMgYWRkZWQgbW9kIHAgdG8gdGhlIHJlZ2lzdGVyIGlmIHRoZSBiaXQgaXMgYSBvbmUgKHdoZXJlCi0gIHheMzIgbW9kIHAgaXMgcCt4XjMyID0geF4yNisuLi4rMSksIGFuZCB0aGUgcmVnaXN0ZXIgaXMgbXVsdGlwbGllZCBtb2QgcCBieQotICB4ICh3aGljaCBpcyBzaGlmdGluZyByaWdodCBieSBvbmUgYW5kIGFkZGluZyB4XjMyIG1vZCBwIGlmIHRoZSBiaXQgc2hpZnRlZAotICBvdXQgaXMgYSBvbmUpLiAgV2Ugc3RhcnQgd2l0aCB0aGUgaGlnaGVzdCBwb3dlciAobGVhc3Qgc2lnbmlmaWNhbnQgYml0KSBvZgotICBxIGFuZCByZXBlYXQgZm9yIGFsbCBlaWdodCBiaXRzIG9mIHEuCisgIHheMzIgbW9kIHAgaXMgcCt4XjMyID0geF4yNisuLi4rMSksIGFuZCB0aGUgcmVnaXN0ZXIgaXMgbXVsdGlwbGllZCBtb2QgcCBieSB4CisgICh3aGljaCBpcyBzaGlmdGluZyByaWdodCBieSBvbmUgYW5kIGFkZGluZyB4XjMyIG1vZCBwIGlmIHRoZSBiaXQgc2hpZnRlZCBvdXQKKyAgaXMgYSBvbmUpLiBXZSBzdGFydCB3aXRoIHRoZSBoaWdoZXN0IHBvd2VyIChsZWFzdCBzaWduaWZpY2FudCBiaXQpIG9mIHEgYW5kCisgIHJlcGVhdCBmb3IgYWxsIGVpZ2h0IGJpdHMgb2YgcS4KIAotICBUaGUgZmlyc3QgdGFibGUgaXMgc2ltcGx5IHRoZSBDUkMgb2YgYWxsIHBvc3NpYmxlIGVpZ2h0IGJpdCB2YWx1ZXMuICBUaGlzIGlzCi0gIGFsbCB0aGUgaW5mb3JtYXRpb24gbmVlZGVkIHRvIGdlbmVyYXRlIENSQ3Mgb24gZGF0YSBhIGJ5dGUgYXQgYSB0aW1lIGZvciBhbGwKLSAgY29tYmluYXRpb25zIG9mIENSQyByZWdpc3RlciB2YWx1ZXMgYW5kIGluY29taW5nIGJ5dGVzLiAgVGhlIHJlbWFpbmluZyB0YWJsZXMKLSAgYWxsb3cgZm9yIHdvcmQtYXQtYS10aW1lIENSQyBjYWxjdWxhdGlvbiBmb3IgYm90aCBiaWctZW5kaWFuIGFuZCBsaXR0bGUtCi0gIGVuZGlhbiBtYWNoaW5lcywgd2hlcmUgYSB3b3JkIGlzIGZvdXIgYnl0ZXMuCi0qLworICBUaGUgdGFibGUgaXMgc2ltcGx5IHRoZSBDUkMgb2YgYWxsIHBvc3NpYmxlIGVpZ2h0IGJpdCB2YWx1ZXMuIFRoaXMgaXMgYWxsIHRoZQorICBpbmZvcm1hdGlvbiBuZWVkZWQgdG8gZ2VuZXJhdGUgQ1JDcyBvbiBkYXRhIGEgYnl0ZSBhdCBhIHRpbWUgZm9yIGFsbAorICBjb21iaW5hdGlvbnMgb2YgQ1JDIHJlZ2lzdGVyIHZhbHVlcyBhbmQgaW5jb21pbmcgYnl0ZXMuCisgKi8KKwogbG9jYWwgdm9pZCBtYWtlX2NyY190YWJsZSgpCiB7Ci0gICAgel9jcmNfdCBjOwotICAgIGludCBuLCBrOwotICAgIHpfY3JjX3QgcG9seTsgICAgICAgICAgICAgICAgICAgICAgIC8qIHBvbHlub21pYWwgZXhjbHVzaXZlLW9yIHBhdHRlcm4gKi8KLSAgICAvKiB0ZXJtcyBvZiBwb2x5bm9taWFsIGRlZmluaW5nIHRoaXMgY3JjIChleGNlcHQgeF4zMik6ICovCi0gICAgc3RhdGljIHZvbGF0aWxlIGludCBmaXJzdCA9IDE7ICAgICAgLyogZmxhZyB0byBsaW1pdCBjb25jdXJyZW50IG1ha2luZyAqLwotICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHBbXSA9IHswLDEsMiw0LDUsNyw4LDEwLDExLDEyLDE2LDIyLDIzLDI2fTsKKyAgICB1bnNpZ25lZCBpLCBqLCBuOworICAgIHpfY3JjX3QgcDsKIAotICAgIC8qIFNlZSBpZiBhbm90aGVyIHRhc2sgaXMgYWxyZWFkeSBkb2luZyB0aGlzIChub3QgdGhyZWFkLXNhZmUsIGJ1dCBiZXR0ZXIKLSAgICAgICB0aGFuIG5vdGhpbmcgLS0gc2lnbmlmaWNhbnRseSByZWR1Y2VzIGR1cmF0aW9uIG9mIHZ1bG5lcmFiaWxpdHkgaW4KLSAgICAgICBjYXNlIHRoZSBhZHZpY2UgYWJvdXQgRFlOQU1JQ19DUkNfVEFCTEUgaXMgaWdub3JlZCkgKi8KLSAgICBpZiAoZmlyc3QpIHsKLSAgICAgICAgZmlyc3QgPSAwOwotCi0gICAgICAgIC8qIG1ha2UgZXhjbHVzaXZlLW9yIHBhdHRlcm4gZnJvbSBwb2x5bm9taWFsICgweGVkYjg4MzIwVUwpICovCi0gICAgICAgIHBvbHkgPSAwOwotICAgICAgICBmb3IgKG4gPSAwOyBuIDwgKGludCkoc2l6ZW9mKHApL3NpemVvZih1bnNpZ25lZCBjaGFyKSk7IG4rKykKLSAgICAgICAgICAgIHBvbHkgfD0gKHpfY3JjX3QpMSA8PCAoMzEgLSBwW25dKTsKLQotICAgICAgICAvKiBnZW5lcmF0ZSBhIGNyYyBmb3IgZXZlcnkgOC1iaXQgdmFsdWUgKi8KLSAgICAgICAgZm9yIChuID0gMDsgbiA8IDI1NjsgbisrKSB7Ci0gICAgICAgICAgICBjID0gKHpfY3JjX3QpbjsKLSAgICAgICAgICAgIGZvciAoayA9IDA7IGsgPCA4OyBrKyspCi0gICAgICAgICAgICAgICAgYyA9IGMgJiAxID8gcG9seSBeIChjID4+IDEpIDogYyA+PiAxOwotICAgICAgICAgICAgY3JjX3RhYmxlWzBdW25dID0gYzsKLSAgICAgICAgfQotCi0jaWZkZWYgQllGT1VSCi0gICAgICAgIC8qIGdlbmVyYXRlIGNyYyBmb3IgZWFjaCB2YWx1ZSBmb2xsb3dlZCBieSBvbmUsIHR3bywgYW5kIHRocmVlIHplcm9zLAotICAgICAgICAgICBhbmQgdGhlbiB0aGUgYnl0ZSByZXZlcnNhbCBvZiB0aG9zZSBhcyB3ZWxsIGFzIHRoZSBmaXJzdCB0YWJsZSAqLwotICAgICAgICBmb3IgKG4gPSAwOyBuIDwgMjU2OyBuKyspIHsKLSAgICAgICAgICAgIGMgPSBjcmNfdGFibGVbMF1bbl07Ci0gICAgICAgICAgICBjcmNfdGFibGVbNF1bbl0gPSBaU1dBUDMyKGMpOwotICAgICAgICAgICAgZm9yIChrID0gMTsgayA8IDQ7IGsrKykgewotICAgICAgICAgICAgICAgIGMgPSBjcmNfdGFibGVbMF1bYyAmIDB4ZmZdIF4gKGMgPj4gOCk7Ci0gICAgICAgICAgICAgICAgY3JjX3RhYmxlW2tdW25dID0gYzsKLSAgICAgICAgICAgICAgICBjcmNfdGFibGVbayArIDRdW25dID0gWlNXQVAzMihjKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotI2VuZGlmIC8qIEJZRk9VUiAqLwotCi0gICAgICAgIGNyY190YWJsZV9lbXB0eSA9IDA7CisgICAgLyogaW5pdGlhbGl6ZSB0aGUgQ1JDIG9mIGJ5dGVzIHRhYmxlcyAqLworICAgIGZvciAoaSA9IDA7IGkgPCAyNTY7IGkrKykgeworICAgICAgICBwID0gaTsKKyAgICAgICAgZm9yIChqID0gMDsgaiA8IDg7IGorKykKKyAgICAgICAgICAgIHAgPSBwICYgMSA/IChwID4+IDEpIF4gUE9MWSA6IHAgPj4gMTsKKyAgICAgICAgY3JjX3RhYmxlW2ldID0gcDsKKyNpZmRlZiBXCisgICAgICAgIGNyY19iaWdfdGFibGVbaV0gPSBieXRlX3N3YXAocCk7CisjZW5kaWYKICAgICB9Ci0gICAgZWxzZSB7ICAgICAgLyogbm90IGZpcnN0ICovCi0gICAgICAgIC8qIHdhaXQgZm9yIHRoZSBvdGhlciBndXkgdG8gZmluaXNoIChub3QgZWZmaWNpZW50LCBidXQgcmFyZSkgKi8KLSAgICAgICAgd2hpbGUgKGNyY190YWJsZV9lbXB0eSkKLSAgICAgICAgICAgIDsKLSAgICB9CisKKyAgICAvKiBpbml0aWFsaXplIHRoZSB4XjJebiBtb2QgcCh4KSB0YWJsZSAqLworICAgIHAgPSAoel9jcmNfdCkxIDw8IDMwOyAgICAgICAgIC8qIHheMSAqLworICAgIHgybl90YWJsZVswXSA9IHA7CisgICAgZm9yIChuID0gMTsgbiA8IDMyOyBuKyspCisgICAgICAgIHgybl90YWJsZVtuXSA9IHAgPSBtdWx0bW9kcChwLCBwKTsKKworI2lmZGVmIFcKKyAgICAvKiBpbml0aWFsaXplIHRoZSBicmFpZGluZyB0YWJsZXMgLS0gbmVlZHMgeDJuX3RhYmxlW10gKi8KKyAgICBicmFpZChjcmNfYnJhaWRfdGFibGUsIGNyY19icmFpZF9iaWdfdGFibGUsIE4sIFcpOworI2VuZGlmCiAKICNpZmRlZiBNQUtFQ1JDSAotICAgIC8qIHdyaXRlIG91dCBDUkMgdGFibGVzIHRvIGNyYzMyLmggKi8KICAgICB7CisgICAgICAgIC8qCisgICAgICAgICAgVGhlIGNyYzMyLmggaGVhZGVyIGZpbGUgY29udGFpbnMgdGFibGVzIGZvciBib3RoIDMyLWJpdCBhbmQgNjQtYml0CisgICAgICAgICAgel93b3JkX3QncywgYW5kIHNvIHJlcXVpcmVzIGEgNjQtYml0IHR5cGUgYmUgYXZhaWxhYmxlLiBJbiB0aGF0IGNhc2UsCisgICAgICAgICAgel93b3JkX3QgbXVzdCBiZSBkZWZpbmVkIHRvIGJlIDY0LWJpdHMuIFRoaXMgY29kZSB0aGVuIGFsc28gZ2VuZXJhdGVzCisgICAgICAgICAgYW5kIHdyaXRlcyBvdXQgdGhlIHRhYmxlcyBmb3IgdGhlIGNhc2UgdGhhdCB6X3dvcmRfdCBpcyAzMiBiaXRzLgorICAgICAgICAgKi8KKyNpZiAhZGVmaW5lZChXKSB8fCBXICE9IDgKKyMgIGVycm9yIE5lZWQgYSA2NC1iaXQgaW50ZWdlciB0eXBlIGluIG9yZGVyIHRvIGdlbmVyYXRlIGNyYzMyLmguCisjZW5kaWYKICAgICAgICAgRklMRSAqb3V0OworICAgICAgICBpbnQgaywgbjsKKyAgICAgICAgel9jcmNfdCBsdGxbOF1bMjU2XTsKKyAgICAgICAgel93b3JkX3QgYmlnWzhdWzI1Nl07CiAKICAgICAgICAgb3V0ID0gZm9wZW4oImNyYzMyLmgiLCAidyIpOwogICAgICAgICBpZiAob3V0ID09IE5VTEwpIHJldHVybjsKLSAgICAgICAgZnByaW50ZihvdXQsICIvKiBjcmMzMi5oIC0tIHRhYmxlcyBmb3IgcmFwaWQgQ1JDIGNhbGN1bGF0aW9uXG4iKTsKLSAgICAgICAgZnByaW50ZihvdXQsICIgKiBHZW5lcmF0ZWQgYXV0b21hdGljYWxseSBieSBjcmMzMi5jXG4gKi9cblxuIik7Ci0gICAgICAgIGZwcmludGYob3V0LCAibG9jYWwgY29uc3Qgel9jcmNfdCBGQVIgIik7Ci0gICAgICAgIGZwcmludGYob3V0LCAiY3JjX3RhYmxlW1RCTFNdWzI1Nl0gPVxue1xuICB7XG4iKTsKLSAgICAgICAgd3JpdGVfdGFibGUob3V0LCBjcmNfdGFibGVbMF0pOwotIyAgaWZkZWYgQllGT1VSCi0gICAgICAgIGZwcmludGYob3V0LCAiI2lmZGVmIEJZRk9VUlxuIik7Ci0gICAgICAgIGZvciAoayA9IDE7IGsgPCA4OyBrKyspIHsKLSAgICAgICAgICAgIGZwcmludGYob3V0LCAiICB9LFxuICB7XG4iKTsKLSAgICAgICAgICAgIHdyaXRlX3RhYmxlKG91dCwgY3JjX3RhYmxlW2tdKTsKKworICAgICAgICAvKiB3cml0ZSBvdXQgbGl0dGxlLWVuZGlhbiBDUkMgdGFibGUgdG8gY3JjMzIuaCAqLworICAgICAgICBmcHJpbnRmKG91dCwKKyAgICAgICAgICAgICIvKiBjcmMzMi5oIC0tIHRhYmxlcyBmb3IgcmFwaWQgQ1JDIGNhbGN1bGF0aW9uXG4iCisgICAgICAgICAgICAiICogR2VuZXJhdGVkIGF1dG9tYXRpY2FsbHkgYnkgY3JjMzIuY1xuICovXG4iCisgICAgICAgICAgICAiXG4iCisgICAgICAgICAgICAibG9jYWwgY29uc3Qgel9jcmNfdCBGQVIgY3JjX3RhYmxlW10gPSB7XG4iCisgICAgICAgICAgICAiICAgICIpOworICAgICAgICB3cml0ZV90YWJsZShvdXQsIGNyY190YWJsZSwgMjU2KTsKKyAgICAgICAgZnByaW50ZihvdXQsCisgICAgICAgICAgICAifTtcbiIpOworCisgICAgICAgIC8qIHdyaXRlIG91dCBiaWctZW5kaWFuIENSQyB0YWJsZSBmb3IgNjQtYml0IHpfd29yZF90IHRvIGNyYzMyLmggKi8KKyAgICAgICAgZnByaW50ZihvdXQsCisgICAgICAgICAgICAiXG4iCisgICAgICAgICAgICAiI2lmZGVmIFdcbiIKKyAgICAgICAgICAgICJcbiIKKyAgICAgICAgICAgICIjaWYgVyA9PSA4XG4iCisgICAgICAgICAgICAiXG4iCisgICAgICAgICAgICAibG9jYWwgY29uc3Qgel93b3JkX3QgRkFSIGNyY19iaWdfdGFibGVbXSA9IHtcbiIKKyAgICAgICAgICAgICIgICAgIik7CisgICAgICAgIHdyaXRlX3RhYmxlNjQob3V0LCBjcmNfYmlnX3RhYmxlLCAyNTYpOworICAgICAgICBmcHJpbnRmKG91dCwKKyAgICAgICAgICAgICJ9O1xuIik7CisKKyAgICAgICAgLyogd3JpdGUgb3V0IGJpZy1lbmRpYW4gQ1JDIHRhYmxlIGZvciAzMi1iaXQgel93b3JkX3QgdG8gY3JjMzIuaCAqLworICAgICAgICBmcHJpbnRmKG91dCwKKyAgICAgICAgICAgICJcbiIKKyAgICAgICAgICAgICIjZWxzZSAvKiBXID09IDQgKi9cbiIKKyAgICAgICAgICAgICJcbiIKKyAgICAgICAgICAgICJsb2NhbCBjb25zdCB6X3dvcmRfdCBGQVIgY3JjX2JpZ190YWJsZVtdID0ge1xuIgorICAgICAgICAgICAgIiAgICAiKTsKKyAgICAgICAgd3JpdGVfdGFibGUzMmhpKG91dCwgY3JjX2JpZ190YWJsZSwgMjU2KTsKKyAgICAgICAgZnByaW50ZihvdXQsCisgICAgICAgICAgICAifTtcbiIKKyAgICAgICAgICAgICJcbiIKKyAgICAgICAgICAgICIjZW5kaWZcbiIpOworCisgICAgICAgIC8qIHdyaXRlIG91dCBicmFpZCB0YWJsZXMgZm9yIGVhY2ggdmFsdWUgb2YgTiAqLworICAgICAgICBmb3IgKG4gPSAxOyBuIDw9IDY7IG4rKykgeworICAgICAgICAgICAgZnByaW50ZihvdXQsCisgICAgICAgICAgICAiXG4iCisgICAgICAgICAgICAiI2lmIE4gPT0gJWRcbiIsIG4pOworCisgICAgICAgICAgICAvKiBjb21wdXRlIGJyYWlkIHRhYmxlcyBmb3IgdGhpcyBOIGFuZCA2NC1iaXQgd29yZF90ICovCisgICAgICAgICAgICBicmFpZChsdGwsIGJpZywgbiwgOCk7CisKKyAgICAgICAgICAgIC8qIHdyaXRlIG91dCBicmFpZCB0YWJsZXMgZm9yIDY0LWJpdCB6X3dvcmRfdCB0byBjcmMzMi5oICovCisgICAgICAgICAgICBmcHJpbnRmKG91dCwKKyAgICAgICAgICAgICJcbiIKKyAgICAgICAgICAgICIjaWYgVyA9PSA4XG4iCisgICAgICAgICAgICAiXG4iCisgICAgICAgICAgICAibG9jYWwgY29uc3Qgel9jcmNfdCBGQVIgY3JjX2JyYWlkX3RhYmxlW11bMjU2XSA9IHtcbiIpOworICAgICAgICAgICAgZm9yIChrID0gMDsgayA8IDg7IGsrKykgeworICAgICAgICAgICAgICAgIGZwcmludGYob3V0LCAiICAgeyIpOworICAgICAgICAgICAgICAgIHdyaXRlX3RhYmxlKG91dCwgbHRsW2tdLCAyNTYpOworICAgICAgICAgICAgICAgIGZwcmludGYob3V0LCAifSVzIiwgayA8IDcgPyAiLFxuIiA6ICIiKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGZwcmludGYob3V0LAorICAgICAgICAgICAgIn07XG4iCisgICAgICAgICAgICAiXG4iCisgICAgICAgICAgICAibG9jYWwgY29uc3Qgel93b3JkX3QgRkFSIGNyY19icmFpZF9iaWdfdGFibGVbXVsyNTZdID0ge1xuIik7CisgICAgICAgICAgICBmb3IgKGsgPSAwOyBrIDwgODsgaysrKSB7CisgICAgICAgICAgICAgICAgZnByaW50ZihvdXQsICIgICB7Iik7CisgICAgICAgICAgICAgICAgd3JpdGVfdGFibGU2NChvdXQsIGJpZ1trXSwgMjU2KTsKKyAgICAgICAgICAgICAgICBmcHJpbnRmKG91dCwgIn0lcyIsIGsgPCA3ID8gIixcbiIgOiAiIik7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBmcHJpbnRmKG91dCwKKyAgICAgICAgICAgICJ9O1xuIik7CisKKyAgICAgICAgICAgIC8qIGNvbXB1dGUgYnJhaWQgdGFibGVzIGZvciB0aGlzIE4gYW5kIDMyLWJpdCB3b3JkX3QgKi8KKyAgICAgICAgICAgIGJyYWlkKGx0bCwgYmlnLCBuLCA0KTsKKworICAgICAgICAgICAgLyogd3JpdGUgb3V0IGJyYWlkIHRhYmxlcyBmb3IgMzItYml0IHpfd29yZF90IHRvIGNyYzMyLmggKi8KKyAgICAgICAgICAgIGZwcmludGYob3V0LAorICAgICAgICAgICAgIlxuIgorICAgICAgICAgICAgIiNlbHNlIC8qIFcgPT0gNCAqL1xuIgorICAgICAgICAgICAgIlxuIgorICAgICAgICAgICAgImxvY2FsIGNvbnN0IHpfY3JjX3QgRkFSIGNyY19icmFpZF90YWJsZVtdWzI1Nl0gPSB7XG4iKTsKKyAgICAgICAgICAgIGZvciAoayA9IDA7IGsgPCA0OyBrKyspIHsKKyAgICAgICAgICAgICAgICBmcHJpbnRmKG91dCwgIiAgIHsiKTsKKyAgICAgICAgICAgICAgICB3cml0ZV90YWJsZShvdXQsIGx0bFtrXSwgMjU2KTsKKyAgICAgICAgICAgICAgICBmcHJpbnRmKG91dCwgIn0lcyIsIGsgPCAzID8gIixcbiIgOiAiIik7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBmcHJpbnRmKG91dCwKKyAgICAgICAgICAgICJ9O1xuIgorICAgICAgICAgICAgIlxuIgorICAgICAgICAgICAgImxvY2FsIGNvbnN0IHpfd29yZF90IEZBUiBjcmNfYnJhaWRfYmlnX3RhYmxlW11bMjU2XSA9IHtcbiIpOworICAgICAgICAgICAgZm9yIChrID0gMDsgayA8IDQ7IGsrKykgeworICAgICAgICAgICAgICAgIGZwcmludGYob3V0LCAiICAgeyIpOworICAgICAgICAgICAgICAgIHdyaXRlX3RhYmxlMzJoaShvdXQsIGJpZ1trXSwgMjU2KTsKKyAgICAgICAgICAgICAgICBmcHJpbnRmKG91dCwgIn0lcyIsIGsgPCAzID8gIixcbiIgOiAiIik7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBmcHJpbnRmKG91dCwKKyAgICAgICAgICAgICJ9O1xuIgorICAgICAgICAgICAgIlxuIgorICAgICAgICAgICAgIiNlbmRpZlxuIgorICAgICAgICAgICAgIlxuIgorICAgICAgICAgICAgIiNlbmRpZlxuIik7CiAgICAgICAgIH0KLSAgICAgICAgZnByaW50ZihvdXQsICIjZW5kaWZcbiIpOwotIyAgZW5kaWYgLyogQllGT1VSICovCi0gICAgICAgIGZwcmludGYob3V0LCAiICB9XG59O1xuIik7CisgICAgICAgIGZwcmludGYob3V0LAorICAgICAgICAgICAgIlxuIgorICAgICAgICAgICAgIiNlbmRpZlxuIik7CisKKyAgICAgICAgLyogd3JpdGUgb3V0IHplcm9zIG9wZXJhdG9yIHRhYmxlIHRvIGNyYzMyLmggKi8KKyAgICAgICAgZnByaW50ZihvdXQsCisgICAgICAgICAgICAiXG4iCisgICAgICAgICAgICAibG9jYWwgY29uc3Qgel9jcmNfdCBGQVIgeDJuX3RhYmxlW10gPSB7XG4iCisgICAgICAgICAgICAiICAgICIpOworICAgICAgICB3cml0ZV90YWJsZShvdXQsIHgybl90YWJsZSwgMzIpOworICAgICAgICBmcHJpbnRmKG91dCwKKyAgICAgICAgICAgICJ9O1xuIik7CiAgICAgICAgIGZjbG9zZShvdXQpOwogICAgIH0KICNlbmRpZiAvKiBNQUtFQ1JDSCAqLwogfQogCiAjaWZkZWYgTUFLRUNSQ0gKLWxvY2FsIHZvaWQgd3JpdGVfdGFibGUob3V0LCB0YWJsZSkKKworLyoKKyAgIFdyaXRlIHRoZSAzMi1iaXQgdmFsdWVzIGluIHRhYmxlWzAuLmstMV0gdG8gb3V0LCBmaXZlIHBlciBsaW5lIGluCisgICBoZXhhZGVjaW1hbCBzZXBhcmF0ZWQgYnkgY29tbWFzLgorICovCitsb2NhbCB2b2lkIHdyaXRlX3RhYmxlKG91dCwgdGFibGUsIGspCiAgICAgRklMRSAqb3V0OwogICAgIGNvbnN0IHpfY3JjX3QgRkFSICp0YWJsZTsKKyAgICBpbnQgazsKIHsKICAgICBpbnQgbjsKIAotICAgIGZvciAobiA9IDA7IG4gPCAyNTY7IG4rKykKLSAgICAgICAgZnByaW50ZihvdXQsICIlczB4JTA4bHhVTCVzIiwgbiAlIDUgPyAiIiA6ICIgICAgIiwKKyAgICBmb3IgKG4gPSAwOyBuIDwgazsgbisrKQorICAgICAgICBmcHJpbnRmKG91dCwgIiVzMHglMDhseCVzIiwgbiA9PSAwIHx8IG4gJSA1ID8gIiIgOiAiICAgICIsCiAgICAgICAgICAgICAgICAgKHVuc2lnbmVkIGxvbmcpKHRhYmxlW25dKSwKLSAgICAgICAgICAgICAgICBuID09IDI1NSA/ICJcbiIgOiAobiAlIDUgPT0gNCA/ICIsXG4iIDogIiwgIikpOworICAgICAgICAgICAgICAgIG4gPT0gayAtIDEgPyAiIiA6IChuICUgNSA9PSA0ID8gIixcbiIgOiAiLCAiKSk7CiB9CisKKy8qCisgICBXcml0ZSB0aGUgaGlnaCAzMi1iaXRzIG9mIGVhY2ggdmFsdWUgaW4gdGFibGVbMC4uay0xXSB0byBvdXQsIGZpdmUgcGVyIGxpbmUKKyAgIGluIGhleGFkZWNpbWFsIHNlcGFyYXRlZCBieSBjb21tYXMuCisgKi8KK2xvY2FsIHZvaWQgd3JpdGVfdGFibGUzMmhpKG91dCwgdGFibGUsIGspCitGSUxFICpvdXQ7Citjb25zdCB6X3dvcmRfdCBGQVIgKnRhYmxlOworaW50IGs7Cit7CisgICAgaW50IG47CisKKyAgICBmb3IgKG4gPSAwOyBuIDwgazsgbisrKQorICAgICAgICBmcHJpbnRmKG91dCwgIiVzMHglMDhseCVzIiwgbiA9PSAwIHx8IG4gJSA1ID8gIiIgOiAiICAgICIsCisgICAgICAgICAgICAgICAgKHVuc2lnbmVkIGxvbmcpKHRhYmxlW25dID4+IDMyKSwKKyAgICAgICAgICAgICAgICBuID09IGsgLSAxID8gIiIgOiAobiAlIDUgPT0gNCA/ICIsXG4iIDogIiwgIikpOworfQorCisvKgorICBXcml0ZSB0aGUgNjQtYml0IHZhbHVlcyBpbiB0YWJsZVswLi5rLTFdIHRvIG91dCwgdGhyZWUgcGVyIGxpbmUgaW4KKyAgaGV4YWRlY2ltYWwgc2VwYXJhdGVkIGJ5IGNvbW1hcy4gVGhpcyBhc3N1bWVzIHRoYXQgaWYgdGhlcmUgaXMgYSA2NC1iaXQKKyAgdHlwZSwgdGhlbiB0aGVyZSBpcyBhbHNvIGEgbG9uZyBsb25nIGludGVnZXIgdHlwZSwgYW5kIGl0IGlzIGF0IGxlYXN0IDY0CisgIGJpdHMuIElmIG5vdCwgdGhlbiB0aGUgdHlwZSBjYXN0IGFuZCBmb3JtYXQgc3RyaW5nIGNhbiBiZSBhZGp1c3RlZAorICBhY2NvcmRpbmdseS4KKyAqLworbG9jYWwgdm9pZCB3cml0ZV90YWJsZTY0KG91dCwgdGFibGUsIGspCisgICAgRklMRSAqb3V0OworICAgIGNvbnN0IHpfd29yZF90IEZBUiAqdGFibGU7CisgICAgaW50IGs7Cit7CisgICAgaW50IG47CisKKyAgICBmb3IgKG4gPSAwOyBuIDwgazsgbisrKQorICAgICAgICBmcHJpbnRmKG91dCwgIiVzMHglMDE2bGx4JXMiLCBuID09IDAgfHwgbiAlIDMgPyAiIiA6ICIgICAgIiwKKyAgICAgICAgICAgICAgICAodW5zaWduZWQgbG9uZyBsb25nKSh0YWJsZVtuXSksCisgICAgICAgICAgICAgICAgbiA9PSBrIC0gMSA/ICIiIDogKG4gJSAzID09IDIgPyAiLFxuIiA6ICIsICIpKTsKK30KKworLyogQWN0dWFsbHkgZG8gdGhlIGRlZWQuICovCitpbnQgbWFpbigpCit7CisgICAgbWFrZV9jcmNfdGFibGUoKTsKKyAgICByZXR1cm4gMDsKK30KKwogI2VuZGlmIC8qIE1BS0VDUkNIICovCiAKKyNpZmRlZiBXCisvKgorICBHZW5lcmF0ZSB0aGUgbGl0dGxlIGFuZCBiaWctZW5kaWFuIGJyYWlkIHRhYmxlcyBmb3IgdGhlIGdpdmVuIG4gYW5kIHpfd29yZF90CisgIHNpemUgdy4gRWFjaCBhcnJheSBtdXN0IGhhdmUgcm9vbSBmb3IgdyBibG9ja3Mgb2YgMjU2IGVsZW1lbnRzLgorICovCitsb2NhbCB2b2lkIGJyYWlkKGx0bCwgYmlnLCBuLCB3KQorICAgIHpfY3JjX3QgbHRsW11bMjU2XTsKKyAgICB6X3dvcmRfdCBiaWdbXVsyNTZdOworICAgIGludCBuOworICAgIGludCB3OworeworICAgIGludCBrOworICAgIHpfY3JjX3QgaSwgcCwgcTsKKyAgICBmb3IgKGsgPSAwOyBrIDwgdzsgaysrKSB7CisgICAgICAgIHAgPSB4Mm5tb2RwKChuICogdyArIDMgLSBrKSA8PCAzLCAwKTsKKyAgICAgICAgbHRsW2tdWzBdID0gMDsKKyAgICAgICAgYmlnW3cgLSAxIC0ga11bMF0gPSAwOworICAgICAgICBmb3IgKGkgPSAxOyBpIDwgMjU2OyBpKyspIHsKKyAgICAgICAgICAgIGx0bFtrXVtpXSA9IHEgPSBtdWx0bW9kcChpIDw8IDI0LCBwKTsKKyAgICAgICAgICAgIGJpZ1t3IC0gMSAtIGtdW2ldID0gYnl0ZV9zd2FwKHEpOworICAgICAgICB9CisgICAgfQorfQorI2VuZGlmCisKICNlbHNlIC8qICFEWU5BTUlDX0NSQ19UQUJMRSAqLwogLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0gKiBUYWJsZXMgb2YgQ1JDLTMycyBvZiBhbGwgc2luZ2xlLWJ5dGUgdmFsdWVzLCBtYWRlIGJ5IG1ha2VfY3JjX3RhYmxlKCkuCisgKiBUYWJsZXMgZm9yIGJ5dGUtd2lzZSBhbmQgYnJhaWRlZCBDUkMtMzIgY2FsY3VsYXRpb25zLCBhbmQgYSB0YWJsZSBvZiBwb3dlcnMKKyAqIG9mIHggZm9yIGNvbWJpbmluZyBDUkMtMzJzLCBhbGwgbWFkZSBieSBtYWtlX2NyY190YWJsZSgpLgogICovCiAjaW5jbHVkZSAiY3JjMzIuaCIKICNlbmRpZiAvKiBEWU5BTUlDX0NSQ19UQUJMRSAqLwogCisvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAqIFJvdXRpbmVzIHVzZWQgZm9yIENSQyBjYWxjdWxhdGlvbi4gU29tZSBhcmUgYWxzbyByZXF1aXJlZCBmb3IgdGhlIHRhYmxlCisgKiBnZW5lcmF0aW9uIGFib3ZlLgorICovCisKKy8qCisgIFJldHVybiBhKHgpIG11bHRpcGxpZWQgYnkgYih4KSBtb2R1bG8gcCh4KSwgd2hlcmUgcCh4KSBpcyB0aGUgQ1JDIHBvbHlub21pYWwsCisgIHJlZmxlY3RlZC4gRm9yIHNwZWVkLCB0aGlzIHJlcXVpcmVzIHRoYXQgYSBub3QgYmUgemVyby4KKyAqLworbG9jYWwgel9jcmNfdCBtdWx0bW9kcChhLCBiKQorICAgIHpfY3JjX3QgYTsKKyAgICB6X2NyY190IGI7Cit7CisgICAgel9jcmNfdCBtLCBwOworCisgICAgbSA9ICh6X2NyY190KTEgPDwgMzE7CisgICAgcCA9IDA7CisgICAgZm9yICg7OykgeworICAgICAgICBpZiAoYSAmIG0pIHsKKyAgICAgICAgICAgIHAgXj0gYjsKKyAgICAgICAgICAgIGlmICgoYSAmIChtIC0gMSkpID09IDApCisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAgbSA+Pj0gMTsKKyAgICAgICAgYiA9IGIgJiAxID8gKGIgPj4gMSkgXiBQT0xZIDogYiA+PiAxOworICAgIH0KKyAgICByZXR1cm4gcDsKK30KKworLyoKKyAgUmV0dXJuIHheKG4gKiAyXmspIG1vZHVsbyBwKHgpLiBSZXF1aXJlcyB0aGF0IHgybl90YWJsZVtdIGhhcyBiZWVuCisgIGluaXRpYWxpemVkLgorICovCitsb2NhbCB6X2NyY190IHgybm1vZHAobiwgaykKKyAgICB6X29mZjY0X3QgbjsKKyAgICB1bnNpZ25lZCBrOworeworICAgIHpfY3JjX3QgcDsKKworICAgIHAgPSAoel9jcmNfdCkxIDw8IDMxOyAgICAgICAgICAgLyogeF4wID09IDEgKi8KKyAgICB3aGlsZSAobikgeworICAgICAgICBpZiAobiAmIDEpCisgICAgICAgICAgICBwID0gbXVsdG1vZHAoeDJuX3RhYmxlW2sgJiAzMV0sIHApOworICAgICAgICBuID4+PSAxOworICAgICAgICBrKys7CisgICAgfQorICAgIHJldHVybiBwOworfQorCiAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0gKiBUaGlzIGZ1bmN0aW9uIGNhbiBiZSB1c2VkIGJ5IGFzbSB2ZXJzaW9ucyBvZiBjcmMzMigpCisgKiBUaGlzIGZ1bmN0aW9uIGNhbiBiZSB1c2VkIGJ5IGFzbSB2ZXJzaW9ucyBvZiBjcmMzMigpLCBhbmQgdG8gZm9yY2UgdGhlCisgKiBnZW5lcmF0aW9uIG9mIHRoZSBDUkMgdGFibGVzIGluIGEgdGhyZWFkZWQgYXBwbGljYXRpb24uCiAgKi8KIGNvbnN0IHpfY3JjX3QgRkFSICogWkVYUE9SVCBnZXRfY3JjX3RhYmxlKCkKIHsKICNpZmRlZiBEWU5BTUlDX0NSQ19UQUJMRQotICAgIGlmIChjcmNfdGFibGVfZW1wdHkpCi0gICAgICAgIG1ha2VfY3JjX3RhYmxlKCk7CisgICAgb25jZSgmbWFkZSwgbWFrZV9jcmNfdGFibGUpOwogI2VuZGlmIC8qIERZTkFNSUNfQ1JDX1RBQkxFICovCiAgICAgcmV0dXJuIChjb25zdCB6X2NyY190IEZBUiAqKWNyY190YWJsZTsKIH0KIAorLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorICogVXNlIEFSTSBtYWNoaW5lIGluc3RydWN0aW9ucyBpZiBhdmFpbGFibGUuIFRoaXMgd2lsbCBjb21wdXRlIHRoZSBDUkMgYWJvdXQKKyAqIHRlbiB0aW1lcyBmYXN0ZXIgdGhhbiB0aGUgYnJhaWRlZCBjYWxjdWxhdGlvbi4gVGhpcyBjb2RlIGRvZXMgbm90IGNoZWNrIGZvcgorICogdGhlIHByZXNlbmNlIG9mIHRoZSBDUkMgaW5zdHJ1Y3Rpb24gYXQgcnVuIHRpbWUuIF9fQVJNX0ZFQVRVUkVfQ1JDMzIgd2lsbAorICogb25seSBiZSBkZWZpbmVkIGlmIHRoZSBjb21waWxhdGlvbiBzcGVjaWZpZXMgYW4gQVJNIHByb2Nlc3NvciBhcmNoaXRlY3R1cmUKKyAqIHRoYXQgaGFzIHRoZSBpbnN0cnVjdGlvbnMuIEZvciBleGFtcGxlLCBjb21waWxpbmcgd2l0aCAtbWFyY2g9YXJtdjguMS1hIG9yCisgKiAtbWFyY2g9YXJtdjgtYStjcmMsIG9yIC1tYXJjaD1uYXRpdmUgaWYgdGhlIGNvbXBpbGUgbWFjaGluZSBoYXMgdGhlIGNyYzMyCisgKiBpbnN0cnVjdGlvbnMuCisgKi8KKyNpZmRlZiBBUk1DUkMzMgorCisvKgorICAgQ29uc3RhbnRzIGVtcGlyaWNhbGx5IGRldGVybWluZWQgdG8gbWF4aW1pemUgc3BlZWQuIFRoZXNlIHZhbHVlcyBhcmUgZnJvbQorICAgbWVhc3VyZW1lbnRzIG9uIGEgQ29ydGV4LUE1Ny4gWW91ciBtaWxlYWdlIG1heSB2YXJ5LgorICovCisjZGVmaW5lIFpfQkFUQ0ggMzk5MCAgICAgICAgICAgICAgICAvKiBudW1iZXIgb2Ygd29yZHMgaW4gYSBiYXRjaCAqLworI2RlZmluZSBaX0JBVENIX1pFUk9TIDB4YTEwZDNkMGMgICAgLyogY29tcHV0ZWQgZnJvbSBaX0JBVENIID0gMzk5MCAqLworI2RlZmluZSBaX0JBVENIX01JTiA4MDAgICAgICAgICAgICAgLyogZmV3ZXN0IHdvcmRzIGluIGEgZmluYWwgYmF0Y2ggKi8KKwordW5zaWduZWQgbG9uZyBaRVhQT1JUIGNyYzMyX3ooY3JjLCBidWYsIGxlbikKKyAgICB1bnNpZ25lZCBsb25nIGNyYzsKKyAgICBjb25zdCB1bnNpZ25lZCBjaGFyIEZBUiAqYnVmOworICAgIHpfc2l6ZV90IGxlbjsKK3sKKyAgICB6X2NyY190IHZhbDsKKyAgICB6X3dvcmRfdCBjcmMxLCBjcmMyOworICAgIGNvbnN0IHpfd29yZF90ICp3b3JkOworICAgIHpfd29yZF90IHZhbDAsIHZhbDEsIHZhbDI7CisgICAgel9zaXplX3QgbGFzdCwgbGFzdDIsIGk7CisgICAgel9zaXplX3QgbnVtOworCisgICAgLyogUmV0dXJuIGluaXRpYWwgQ1JDLCBpZiByZXF1ZXN0ZWQuICovCisgICAgaWYgKGJ1ZiA9PSBaX05VTEwpIHJldHVybiAwOworCisjaWZkZWYgRFlOQU1JQ19DUkNfVEFCTEUKKyAgICBvbmNlKCZtYWRlLCBtYWtlX2NyY190YWJsZSk7CisjZW5kaWYgLyogRFlOQU1JQ19DUkNfVEFCTEUgKi8KKworICAgIC8qIFByZS1jb25kaXRpb24gdGhlIENSQyAqLworICAgIGNyYyA9ICh+Y3JjKSAmIDB4ZmZmZmZmZmY7CisKKyAgICAvKiBDb21wdXRlIHRoZSBDUkMgdXAgdG8gYSB3b3JkIGJvdW5kYXJ5LiAqLworICAgIHdoaWxlIChsZW4gJiYgKCh6X3NpemVfdClidWYgJiA3KSAhPSAwKSB7CisgICAgICAgIGxlbi0tOworICAgICAgICB2YWwgPSAqYnVmKys7CisgICAgICAgIF9fYXNtX18gdm9sYXRpbGUoImNyYzMyYiAldzAsICV3MCwgJXcxIiA6ICIrciIoY3JjKSA6ICJyIih2YWwpKTsKKyAgICB9CisKKyAgICAvKiBQcmVwYXJlIHRvIGNvbXB1dGUgdGhlIENSQyBvbiBmdWxsIDY0LWJpdCB3b3JkcyB3b3JkWzAuLm51bS0xXS4gKi8KKyAgICB3b3JkID0gKHpfd29yZF90IGNvbnN0ICopYnVmOworICAgIG51bSA9IGxlbiA+PiAzOworICAgIGxlbiAmPSA3OworCisgICAgLyogRG8gdGhyZWUgaW50ZXJsZWF2ZWQgQ1JDcyB0byByZWFsaXplIHRoZSB0aHJvdWdocHV0IG9mIG9uZSBjcmMzMngKKyAgICAgICBpbnN0cnVjdGlvbiBwZXIgY3ljbGUuIEVhY2ggQ1JDIGlzIGNhbGN1bGF0ZWQgb24gWl9CQVRDSCB3b3Jkcy4gVGhlCisgICAgICAgdGhyZWUgQ1JDcyBhcmUgY29tYmluZWQgaW50byBhIHNpbmdsZSBDUkMgYWZ0ZXIgZWFjaCBzZXQgb2YgYmF0Y2hlcy4gKi8KKyAgICB3aGlsZSAobnVtID49IDMgKiBaX0JBVENIKSB7CisgICAgICAgIGNyYzEgPSAwOworICAgICAgICBjcmMyID0gMDsKKyAgICAgICAgZm9yIChpID0gMDsgaSA8IFpfQkFUQ0g7IGkrKykgeworICAgICAgICAgICAgdmFsMCA9IHdvcmRbaV07CisgICAgICAgICAgICB2YWwxID0gd29yZFtpICsgWl9CQVRDSF07CisgICAgICAgICAgICB2YWwyID0gd29yZFtpICsgMiAqIFpfQkFUQ0hdOworICAgICAgICAgICAgX19hc21fXyB2b2xhdGlsZSgiY3JjMzJ4ICV3MCwgJXcwLCAleDEiIDogIityIihjcmMpIDogInIiKHZhbDApKTsKKyAgICAgICAgICAgIF9fYXNtX18gdm9sYXRpbGUoImNyYzMyeCAldzAsICV3MCwgJXgxIiA6ICIrciIoY3JjMSkgOiAiciIodmFsMSkpOworICAgICAgICAgICAgX19hc21fXyB2b2xhdGlsZSgiY3JjMzJ4ICV3MCwgJXcwLCAleDEiIDogIityIihjcmMyKSA6ICJyIih2YWwyKSk7CisgICAgICAgIH0KKyAgICAgICAgd29yZCArPSAzICogWl9CQVRDSDsKKyAgICAgICAgbnVtIC09IDMgKiBaX0JBVENIOworICAgICAgICBjcmMgPSBtdWx0bW9kcChaX0JBVENIX1pFUk9TLCBjcmMpIF4gY3JjMTsKKyAgICAgICAgY3JjID0gbXVsdG1vZHAoWl9CQVRDSF9aRVJPUywgY3JjKSBeIGNyYzI7CisgICAgfQorCisgICAgLyogRG8gb25lIGxhc3Qgc21hbGxlciBiYXRjaCB3aXRoIHRoZSByZW1haW5pbmcgd29yZHMsIGlmIHRoZXJlIGFyZSBlbm91Z2gKKyAgICAgICB0byBwYXkgZm9yIHRoZSBjb21iaW5hdGlvbiBvZiBDUkNzLiAqLworICAgIGxhc3QgPSBudW0gLyAzOworICAgIGlmIChsYXN0ID49IFpfQkFUQ0hfTUlOKSB7CisgICAgICAgIGxhc3QyID0gbGFzdCA8PCAxOworICAgICAgICBjcmMxID0gMDsKKyAgICAgICAgY3JjMiA9IDA7CisgICAgICAgIGZvciAoaSA9IDA7IGkgPCBsYXN0OyBpKyspIHsKKyAgICAgICAgICAgIHZhbDAgPSB3b3JkW2ldOworICAgICAgICAgICAgdmFsMSA9IHdvcmRbaSArIGxhc3RdOworICAgICAgICAgICAgdmFsMiA9IHdvcmRbaSArIGxhc3QyXTsKKyAgICAgICAgICAgIF9fYXNtX18gdm9sYXRpbGUoImNyYzMyeCAldzAsICV3MCwgJXgxIiA6ICIrciIoY3JjKSA6ICJyIih2YWwwKSk7CisgICAgICAgICAgICBfX2FzbV9fIHZvbGF0aWxlKCJjcmMzMnggJXcwLCAldzAsICV4MSIgOiAiK3IiKGNyYzEpIDogInIiKHZhbDEpKTsKKyAgICAgICAgICAgIF9fYXNtX18gdm9sYXRpbGUoImNyYzMyeCAldzAsICV3MCwgJXgxIiA6ICIrciIoY3JjMikgOiAiciIodmFsMikpOworICAgICAgICB9CisgICAgICAgIHdvcmQgKz0gMyAqIGxhc3Q7CisgICAgICAgIG51bSAtPSAzICogbGFzdDsKKyAgICAgICAgdmFsID0geDJubW9kcChsYXN0LCA2KTsKKyAgICAgICAgY3JjID0gbXVsdG1vZHAodmFsLCBjcmMpIF4gY3JjMTsKKyAgICAgICAgY3JjID0gbXVsdG1vZHAodmFsLCBjcmMpIF4gY3JjMjsKKyAgICB9CisKKyAgICAvKiBDb21wdXRlIHRoZSBDUkMgb24gYW55IHJlbWFpbmluZyB3b3Jkcy4gKi8KKyAgICBmb3IgKGkgPSAwOyBpIDwgbnVtOyBpKyspIHsKKyAgICAgICAgdmFsMCA9IHdvcmRbaV07CisgICAgICAgIF9fYXNtX18gdm9sYXRpbGUoImNyYzMyeCAldzAsICV3MCwgJXgxIiA6ICIrciIoY3JjKSA6ICJyIih2YWwwKSk7CisgICAgfQorICAgIHdvcmQgKz0gbnVtOworCisgICAgLyogQ29tcGxldGUgdGhlIENSQyBvbiBhbnkgcmVtYWluaW5nIGJ5dGVzLiAqLworICAgIGJ1ZiA9IChjb25zdCB1bnNpZ25lZCBjaGFyIEZBUiAqKXdvcmQ7CisgICAgd2hpbGUgKGxlbikgeworICAgICAgICBsZW4tLTsKKyAgICAgICAgdmFsID0gKmJ1ZisrOworICAgICAgICBfX2FzbV9fIHZvbGF0aWxlKCJjcmMzMmIgJXcwLCAldzAsICV3MSIgOiAiK3IiKGNyYykgOiAiciIodmFsKSk7CisgICAgfQorCisgICAgLyogUmV0dXJuIHRoZSBDUkMsIHBvc3QtY29uZGl0aW9uZWQuICovCisgICAgcmV0dXJuIGNyYyBeIDB4ZmZmZmZmZmY7Cit9CisKKyNlbHNlCisKKyNpZmRlZiBXCisKKy8qCisgIFJldHVybiB0aGUgQ1JDIG9mIHRoZSBXIGJ5dGVzIGluIHRoZSB3b3JkX3QgZGF0YSwgdGFraW5nIHRoZQorICBsZWFzdC1zaWduaWZpY2FudCBieXRlIG9mIHRoZSB3b3JkIGFzIHRoZSBmaXJzdCBieXRlIG9mIGRhdGEsIHdpdGhvdXQgYW55IHByZQorICBvciBwb3N0IGNvbmRpdGlvbmluZy4gVGhpcyBpcyB1c2VkIHRvIGNvbWJpbmUgdGhlIENSQ3Mgb2YgZWFjaCBicmFpZC4KKyAqLworbG9jYWwgel9jcmNfdCBjcmNfd29yZChkYXRhKQorICAgIHpfd29yZF90IGRhdGE7Cit7CisgICAgaW50IGs7CisgICAgZm9yIChrID0gMDsgayA8IFc7IGsrKykKKyAgICAgICAgZGF0YSA9IChkYXRhID4+IDgpIF4gY3JjX3RhYmxlW2RhdGEgJiAweGZmXTsKKyAgICByZXR1cm4gKHpfY3JjX3QpZGF0YTsKK30KKworbG9jYWwgel93b3JkX3QgY3JjX3dvcmRfYmlnKGRhdGEpCisgICAgel93b3JkX3QgZGF0YTsKK3sKKyAgICBpbnQgazsKKyAgICBmb3IgKGsgPSAwOyBrIDwgVzsgaysrKQorICAgICAgICBkYXRhID0gKGRhdGEgPDwgOCkgXgorICAgICAgICAgICAgY3JjX2JpZ190YWJsZVsoZGF0YSA+PiAoKFcgLSAxKSA8PCAzKSkgJiAweGZmXTsKKyAgICByZXR1cm4gZGF0YTsKK30KKworI2VuZGlmCisKIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KLSNkZWZpbmUgRE8xIGNyYyA9IGNyY190YWJsZVswXVsoKGludCljcmMgXiAoKmJ1ZisrKSkgJiAweGZmXSBeIChjcmMgPj4gOCkKLSNkZWZpbmUgRE84IERPMTsgRE8xOyBETzE7IERPMTsgRE8xOyBETzE7IERPMTsgRE8xCit1bnNpZ25lZCBsb25nIFpFWFBPUlQgY3JjMzJfeihjcmMsIGJ1ZiwgbGVuKQorICAgIHVuc2lnbmVkIGxvbmcgY3JjOworICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgRkFSICpidWY7CisgICAgel9zaXplX3QgbGVuOworeworICAgIC8qIFJldHVybiBpbml0aWFsIENSQywgaWYgcmVxdWVzdGVkLiAqLworICAgIGlmIChidWYgPT0gWl9OVUxMKSByZXR1cm4gMDsKKworI2lmZGVmIERZTkFNSUNfQ1JDX1RBQkxFCisgICAgb25jZSgmbWFkZSwgbWFrZV9jcmNfdGFibGUpOworI2VuZGlmIC8qIERZTkFNSUNfQ1JDX1RBQkxFICovCisKKyAgICAvKiBQcmUtY29uZGl0aW9uIHRoZSBDUkMgKi8KKyAgICBjcmMgPSAofmNyYykgJiAweGZmZmZmZmZmOworCisjaWZkZWYgVworCisgICAgLyogSWYgcHJvdmlkZWQgZW5vdWdoIGJ5dGVzLCBkbyBhIGJyYWlkZWQgQ1JDIGNhbGN1bGF0aW9uLiAqLworICAgIGlmIChsZW4gPj0gTiAqIFcgKyBXIC0gMSkgeworICAgICAgICB6X3NpemVfdCBibGtzOworICAgICAgICB6X3dvcmRfdCBjb25zdCAqd29yZHM7CisgICAgICAgIHVuc2lnbmVkIGVuZGlhbjsKKyAgICAgICAgaW50IGs7CisKKyAgICAgICAgLyogQ29tcHV0ZSB0aGUgQ1JDIHVwIHRvIGEgel93b3JkX3QgYm91bmRhcnkuICovCisgICAgICAgIHdoaWxlIChsZW4gJiYgKCh6X3NpemVfdClidWYgJiAoVyAtIDEpKSAhPSAwKSB7CisgICAgICAgICAgICBsZW4tLTsKKyAgICAgICAgICAgIGNyYyA9IChjcmMgPj4gOCkgXiBjcmNfdGFibGVbKGNyYyBeICpidWYrKykgJiAweGZmXTsKKyAgICAgICAgfQorCisgICAgICAgIC8qIENvbXB1dGUgdGhlIENSQyBvbiBhcyBtYW55IE4gel93b3JkX3QgYmxvY2tzIGFzIGFyZSBhdmFpbGFibGUuICovCisgICAgICAgIGJsa3MgPSBsZW4gLyAoTiAqIFcpOworICAgICAgICBsZW4gLT0gYmxrcyAqIE4gKiBXOworICAgICAgICB3b3JkcyA9ICh6X3dvcmRfdCBjb25zdCAqKWJ1ZjsKKworICAgICAgICAvKiBEbyBlbmRpYW4gY2hlY2sgYXQgZXhlY3V0aW9uIHRpbWUgaW5zdGVhZCBvZiBjb21waWxlIHRpbWUsIHNpbmNlIEFSTQorICAgICAgICAgICBwcm9jZXNzb3JzIGNhbiBjaGFuZ2UgdGhlIGVuZGlhbmVzcyBhdCBleGVjdXRpb24gdGltZS4gSWYgdGhlCisgICAgICAgICAgIGNvbXBpbGVyIGtub3dzIHdoYXQgdGhlIGVuZGlhbmVzcyB3aWxsIGJlLCBpdCBjYW4gb3B0aW1pemUgb3V0IHRoZQorICAgICAgICAgICBjaGVjayBhbmQgdGhlIHVudXNlZCBicmFuY2guICovCisgICAgICAgIGVuZGlhbiA9IDE7CisgICAgICAgIGlmICgqKHVuc2lnbmVkIGNoYXIgKikmZW5kaWFuKSB7CisgICAgICAgICAgICAvKiBMaXR0bGUgZW5kaWFuLiAqLworCisgICAgICAgICAgICB6X2NyY190IGNyYzA7CisgICAgICAgICAgICB6X3dvcmRfdCB3b3JkMDsKKyNpZiBOID4gMQorICAgICAgICAgICAgel9jcmNfdCBjcmMxOworICAgICAgICAgICAgel93b3JkX3Qgd29yZDE7CisjaWYgTiA+IDIKKyAgICAgICAgICAgIHpfY3JjX3QgY3JjMjsKKyAgICAgICAgICAgIHpfd29yZF90IHdvcmQyOworI2lmIE4gPiAzCisgICAgICAgICAgICB6X2NyY190IGNyYzM7CisgICAgICAgICAgICB6X3dvcmRfdCB3b3JkMzsKKyNpZiBOID4gNAorICAgICAgICAgICAgel9jcmNfdCBjcmM0OworICAgICAgICAgICAgel93b3JkX3Qgd29yZDQ7CisjaWYgTiA+IDUKKyAgICAgICAgICAgIHpfY3JjX3QgY3JjNTsKKyAgICAgICAgICAgIHpfd29yZF90IHdvcmQ1OworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworICAgICAgICAgICAgLyogSW5pdGlhbGl6ZSB0aGUgQ1JDIGZvciBlYWNoIGJyYWlkLiAqLworICAgICAgICAgICAgY3JjMCA9IGNyYzsKKyNpZiBOID4gMQorICAgICAgICAgICAgY3JjMSA9IDA7CisjaWYgTiA+IDIKKyAgICAgICAgICAgIGNyYzIgPSAwOworI2lmIE4gPiAzCisgICAgICAgICAgICBjcmMzID0gMDsKKyNpZiBOID4gNAorICAgICAgICAgICAgY3JjNCA9IDA7CisjaWYgTiA+IDUKKyAgICAgICAgICAgIGNyYzUgPSAwOworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworICAgICAgICAgICAgLyoKKyAgICAgICAgICAgICAgUHJvY2VzcyB0aGUgZmlyc3QgYmxrcy0xIGJsb2NrcywgY29tcHV0aW5nIHRoZSBDUkNzIG9uIGVhY2ggYnJhaWQKKyAgICAgICAgICAgICAgaW5kZXBlbmRlbnRseS4KKyAgICAgICAgICAgICAqLworICAgICAgICAgICAgd2hpbGUgKC0tYmxrcykgeworICAgICAgICAgICAgICAgIC8qIExvYWQgdGhlIHdvcmQgZm9yIGVhY2ggYnJhaWQgaW50byByZWdpc3RlcnMuICovCisgICAgICAgICAgICAgICAgd29yZDAgPSBjcmMwIF4gd29yZHNbMF07CisjaWYgTiA+IDEKKyAgICAgICAgICAgICAgICB3b3JkMSA9IGNyYzEgXiB3b3Jkc1sxXTsKKyNpZiBOID4gMgorICAgICAgICAgICAgICAgIHdvcmQyID0gY3JjMiBeIHdvcmRzWzJdOworI2lmIE4gPiAzCisgICAgICAgICAgICAgICAgd29yZDMgPSBjcmMzIF4gd29yZHNbM107CisjaWYgTiA+IDQKKyAgICAgICAgICAgICAgICB3b3JkNCA9IGNyYzQgXiB3b3Jkc1s0XTsKKyNpZiBOID4gNQorICAgICAgICAgICAgICAgIHdvcmQ1ID0gY3JjNSBeIHdvcmRzWzVdOworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKyAgICAgICAgICAgICAgICB3b3JkcyArPSBOOworCisgICAgICAgICAgICAgICAgLyogQ29tcHV0ZSBhbmQgdXBkYXRlIHRoZSBDUkMgZm9yIGVhY2ggd29yZC4gVGhlIGxvb3Agc2hvdWxkCisgICAgICAgICAgICAgICAgICAgZ2V0IHVucm9sbGVkLiAqLworICAgICAgICAgICAgICAgIGNyYzAgPSBjcmNfYnJhaWRfdGFibGVbMF1bd29yZDAgJiAweGZmXTsKKyNpZiBOID4gMQorICAgICAgICAgICAgICAgIGNyYzEgPSBjcmNfYnJhaWRfdGFibGVbMF1bd29yZDEgJiAweGZmXTsKKyNpZiBOID4gMgorICAgICAgICAgICAgICAgIGNyYzIgPSBjcmNfYnJhaWRfdGFibGVbMF1bd29yZDIgJiAweGZmXTsKKyNpZiBOID4gMworICAgICAgICAgICAgICAgIGNyYzMgPSBjcmNfYnJhaWRfdGFibGVbMF1bd29yZDMgJiAweGZmXTsKKyNpZiBOID4gNAorICAgICAgICAgICAgICAgIGNyYzQgPSBjcmNfYnJhaWRfdGFibGVbMF1bd29yZDQgJiAweGZmXTsKKyNpZiBOID4gNQorICAgICAgICAgICAgICAgIGNyYzUgPSBjcmNfYnJhaWRfdGFibGVbMF1bd29yZDUgJiAweGZmXTsKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisgICAgICAgICAgICAgICAgZm9yIChrID0gMTsgayA8IFc7IGsrKykgeworICAgICAgICAgICAgICAgICAgICBjcmMwIF49IGNyY19icmFpZF90YWJsZVtrXVsod29yZDAgPj4gKGsgPDwgMykpICYgMHhmZl07CisjaWYgTiA+IDEKKyAgICAgICAgICAgICAgICAgICAgY3JjMSBePSBjcmNfYnJhaWRfdGFibGVba11bKHdvcmQxID4+IChrIDw8IDMpKSAmIDB4ZmZdOworI2lmIE4gPiAyCisgICAgICAgICAgICAgICAgICAgIGNyYzIgXj0gY3JjX2JyYWlkX3RhYmxlW2tdWyh3b3JkMiA+PiAoayA8PCAzKSkgJiAweGZmXTsKKyNpZiBOID4gMworICAgICAgICAgICAgICAgICAgICBjcmMzIF49IGNyY19icmFpZF90YWJsZVtrXVsod29yZDMgPj4gKGsgPDwgMykpICYgMHhmZl07CisjaWYgTiA+IDQKKyAgICAgICAgICAgICAgICAgICAgY3JjNCBePSBjcmNfYnJhaWRfdGFibGVba11bKHdvcmQ0ID4+IChrIDw8IDMpKSAmIDB4ZmZdOworI2lmIE4gPiA1CisgICAgICAgICAgICAgICAgICAgIGNyYzUgXj0gY3JjX2JyYWlkX3RhYmxlW2tdWyh3b3JkNSA+PiAoayA8PCAzKSkgJiAweGZmXTsKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorCisgICAgICAgICAgICAvKgorICAgICAgICAgICAgICBQcm9jZXNzIHRoZSBsYXN0IGJsb2NrLCBjb21iaW5pbmcgdGhlIENSQ3Mgb2YgdGhlIE4gYnJhaWRzIGF0IHRoZQorICAgICAgICAgICAgICBzYW1lIHRpbWUuCisgICAgICAgICAgICAgKi8KKyAgICAgICAgICAgIGNyYyA9IGNyY193b3JkKGNyYzAgXiB3b3Jkc1swXSk7CisjaWYgTiA+IDEKKyAgICAgICAgICAgIGNyYyA9IGNyY193b3JkKGNyYzEgXiB3b3Jkc1sxXSBeIGNyYyk7CisjaWYgTiA+IDIKKyAgICAgICAgICAgIGNyYyA9IGNyY193b3JkKGNyYzIgXiB3b3Jkc1syXSBeIGNyYyk7CisjaWYgTiA+IDMKKyAgICAgICAgICAgIGNyYyA9IGNyY193b3JkKGNyYzMgXiB3b3Jkc1szXSBeIGNyYyk7CisjaWYgTiA+IDQKKyAgICAgICAgICAgIGNyYyA9IGNyY193b3JkKGNyYzQgXiB3b3Jkc1s0XSBeIGNyYyk7CisjaWYgTiA+IDUKKyAgICAgICAgICAgIGNyYyA9IGNyY193b3JkKGNyYzUgXiB3b3Jkc1s1XSBeIGNyYyk7CisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorICAgICAgICAgICAgd29yZHMgKz0gTjsKKyAgICAgICAgfQorICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIC8qIEJpZyBlbmRpYW4uICovCisKKyAgICAgICAgICAgIHpfd29yZF90IGNyYzAsIHdvcmQwLCBjb21iOworI2lmIE4gPiAxCisgICAgICAgICAgICB6X3dvcmRfdCBjcmMxLCB3b3JkMTsKKyNpZiBOID4gMgorICAgICAgICAgICAgel93b3JkX3QgY3JjMiwgd29yZDI7CisjaWYgTiA+IDMKKyAgICAgICAgICAgIHpfd29yZF90IGNyYzMsIHdvcmQzOworI2lmIE4gPiA0CisgICAgICAgICAgICB6X3dvcmRfdCBjcmM0LCB3b3JkNDsKKyNpZiBOID4gNQorICAgICAgICAgICAgel93b3JkX3QgY3JjNSwgd29yZDU7CisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisgICAgICAgICAgICAvKiBJbml0aWFsaXplIHRoZSBDUkMgZm9yIGVhY2ggYnJhaWQuICovCisgICAgICAgICAgICBjcmMwID0gYnl0ZV9zd2FwKGNyYyk7CisjaWYgTiA+IDEKKyAgICAgICAgICAgIGNyYzEgPSAwOworI2lmIE4gPiAyCisgICAgICAgICAgICBjcmMyID0gMDsKKyNpZiBOID4gMworICAgICAgICAgICAgY3JjMyA9IDA7CisjaWYgTiA+IDQKKyAgICAgICAgICAgIGNyYzQgPSAwOworI2lmIE4gPiA1CisgICAgICAgICAgICBjcmM1ID0gMDsKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyAgICAgICAgICAgIC8qCisgICAgICAgICAgICAgIFByb2Nlc3MgdGhlIGZpcnN0IGJsa3MtMSBibG9ja3MsIGNvbXB1dGluZyB0aGUgQ1JDcyBvbiBlYWNoIGJyYWlkCisgICAgICAgICAgICAgIGluZGVwZW5kZW50bHkuCisgICAgICAgICAgICAgKi8KKyAgICAgICAgICAgIHdoaWxlICgtLWJsa3MpIHsKKyAgICAgICAgICAgICAgICAvKiBMb2FkIHRoZSB3b3JkIGZvciBlYWNoIGJyYWlkIGludG8gcmVnaXN0ZXJzLiAqLworICAgICAgICAgICAgICAgIHdvcmQwID0gY3JjMCBeIHdvcmRzWzBdOworI2lmIE4gPiAxCisgICAgICAgICAgICAgICAgd29yZDEgPSBjcmMxIF4gd29yZHNbMV07CisjaWYgTiA+IDIKKyAgICAgICAgICAgICAgICB3b3JkMiA9IGNyYzIgXiB3b3Jkc1syXTsKKyNpZiBOID4gMworICAgICAgICAgICAgICAgIHdvcmQzID0gY3JjMyBeIHdvcmRzWzNdOworI2lmIE4gPiA0CisgICAgICAgICAgICAgICAgd29yZDQgPSBjcmM0IF4gd29yZHNbNF07CisjaWYgTiA+IDUKKyAgICAgICAgICAgICAgICB3b3JkNSA9IGNyYzUgXiB3b3Jkc1s1XTsKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisgICAgICAgICAgICAgICAgd29yZHMgKz0gTjsKKworICAgICAgICAgICAgICAgIC8qIENvbXB1dGUgYW5kIHVwZGF0ZSB0aGUgQ1JDIGZvciBlYWNoIHdvcmQuIFRoZSBsb29wIHNob3VsZAorICAgICAgICAgICAgICAgICAgIGdldCB1bnJvbGxlZC4gKi8KKyAgICAgICAgICAgICAgICBjcmMwID0gY3JjX2JyYWlkX2JpZ190YWJsZVswXVt3b3JkMCAmIDB4ZmZdOworI2lmIE4gPiAxCisgICAgICAgICAgICAgICAgY3JjMSA9IGNyY19icmFpZF9iaWdfdGFibGVbMF1bd29yZDEgJiAweGZmXTsKKyNpZiBOID4gMgorICAgICAgICAgICAgICAgIGNyYzIgPSBjcmNfYnJhaWRfYmlnX3RhYmxlWzBdW3dvcmQyICYgMHhmZl07CisjaWYgTiA+IDMKKyAgICAgICAgICAgICAgICBjcmMzID0gY3JjX2JyYWlkX2JpZ190YWJsZVswXVt3b3JkMyAmIDB4ZmZdOworI2lmIE4gPiA0CisgICAgICAgICAgICAgICAgY3JjNCA9IGNyY19icmFpZF9iaWdfdGFibGVbMF1bd29yZDQgJiAweGZmXTsKKyNpZiBOID4gNQorICAgICAgICAgICAgICAgIGNyYzUgPSBjcmNfYnJhaWRfYmlnX3RhYmxlWzBdW3dvcmQ1ICYgMHhmZl07CisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorICAgICAgICAgICAgICAgIGZvciAoayA9IDE7IGsgPCBXOyBrKyspIHsKKyAgICAgICAgICAgICAgICAgICAgY3JjMCBePSBjcmNfYnJhaWRfYmlnX3RhYmxlW2tdWyh3b3JkMCA+PiAoayA8PCAzKSkgJiAweGZmXTsKKyNpZiBOID4gMQorICAgICAgICAgICAgICAgICAgICBjcmMxIF49IGNyY19icmFpZF9iaWdfdGFibGVba11bKHdvcmQxID4+IChrIDw8IDMpKSAmIDB4ZmZdOworI2lmIE4gPiAyCisgICAgICAgICAgICAgICAgICAgIGNyYzIgXj0gY3JjX2JyYWlkX2JpZ190YWJsZVtrXVsod29yZDIgPj4gKGsgPDwgMykpICYgMHhmZl07CisjaWYgTiA+IDMKKyAgICAgICAgICAgICAgICAgICAgY3JjMyBePSBjcmNfYnJhaWRfYmlnX3RhYmxlW2tdWyh3b3JkMyA+PiAoayA8PCAzKSkgJiAweGZmXTsKKyNpZiBOID4gNAorICAgICAgICAgICAgICAgICAgICBjcmM0IF49IGNyY19icmFpZF9iaWdfdGFibGVba11bKHdvcmQ0ID4+IChrIDw8IDMpKSAmIDB4ZmZdOworI2lmIE4gPiA1CisgICAgICAgICAgICAgICAgICAgIGNyYzUgXj0gY3JjX2JyYWlkX2JpZ190YWJsZVtrXVsod29yZDUgPj4gKGsgPDwgMykpICYgMHhmZl07CisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgLyoKKyAgICAgICAgICAgICAgUHJvY2VzcyB0aGUgbGFzdCBibG9jaywgY29tYmluaW5nIHRoZSBDUkNzIG9mIHRoZSBOIGJyYWlkcyBhdCB0aGUKKyAgICAgICAgICAgICAgc2FtZSB0aW1lLgorICAgICAgICAgICAgICovCisgICAgICAgICAgICBjb21iID0gY3JjX3dvcmRfYmlnKGNyYzAgXiB3b3Jkc1swXSk7CisjaWYgTiA+IDEKKyAgICAgICAgICAgIGNvbWIgPSBjcmNfd29yZF9iaWcoY3JjMSBeIHdvcmRzWzFdIF4gY29tYik7CisjaWYgTiA+IDIKKyAgICAgICAgICAgIGNvbWIgPSBjcmNfd29yZF9iaWcoY3JjMiBeIHdvcmRzWzJdIF4gY29tYik7CisjaWYgTiA+IDMKKyAgICAgICAgICAgIGNvbWIgPSBjcmNfd29yZF9iaWcoY3JjMyBeIHdvcmRzWzNdIF4gY29tYik7CisjaWYgTiA+IDQKKyAgICAgICAgICAgIGNvbWIgPSBjcmNfd29yZF9iaWcoY3JjNCBeIHdvcmRzWzRdIF4gY29tYik7CisjaWYgTiA+IDUKKyAgICAgICAgICAgIGNvbWIgPSBjcmNfd29yZF9iaWcoY3JjNSBeIHdvcmRzWzVdIF4gY29tYik7CisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorICAgICAgICAgICAgd29yZHMgKz0gTjsKKyAgICAgICAgICAgIGNyYyA9IGJ5dGVfc3dhcChjb21iKTsKKyAgICAgICAgfQorCisgICAgICAgIC8qCisgICAgICAgICAgVXBkYXRlIHRoZSBwb2ludGVyIHRvIHRoZSByZW1haW5pbmcgYnl0ZXMgdG8gcHJvY2Vzcy4KKyAgICAgICAgICovCisgICAgICAgIGJ1ZiA9ICh1bnNpZ25lZCBjaGFyIGNvbnN0ICopd29yZHM7CisgICAgfQorCisjZW5kaWYgLyogVyAqLworCisgICAgLyogQ29tcGxldGUgdGhlIGNvbXB1dGF0aW9uIG9mIHRoZSBDUkMgb24gYW55IHJlbWFpbmluZyBieXRlcy4gKi8KKyAgICB3aGlsZSAobGVuID49IDgpIHsKKyAgICAgICAgbGVuIC09IDg7CisgICAgICAgIGNyYyA9IChjcmMgPj4gOCkgXiBjcmNfdGFibGVbKGNyYyBeICpidWYrKykgJiAweGZmXTsKKyAgICAgICAgY3JjID0gKGNyYyA+PiA4KSBeIGNyY190YWJsZVsoY3JjIF4gKmJ1ZisrKSAmIDB4ZmZdOworICAgICAgICBjcmMgPSAoY3JjID4+IDgpIF4gY3JjX3RhYmxlWyhjcmMgXiAqYnVmKyspICYgMHhmZl07CisgICAgICAgIGNyYyA9IChjcmMgPj4gOCkgXiBjcmNfdGFibGVbKGNyYyBeICpidWYrKykgJiAweGZmXTsKKyAgICAgICAgY3JjID0gKGNyYyA+PiA4KSBeIGNyY190YWJsZVsoY3JjIF4gKmJ1ZisrKSAmIDB4ZmZdOworICAgICAgICBjcmMgPSAoY3JjID4+IDgpIF4gY3JjX3RhYmxlWyhjcmMgXiAqYnVmKyspICYgMHhmZl07CisgICAgICAgIGNyYyA9IChjcmMgPj4gOCkgXiBjcmNfdGFibGVbKGNyYyBeICpidWYrKykgJiAweGZmXTsKKyAgICAgICAgY3JjID0gKGNyYyA+PiA4KSBeIGNyY190YWJsZVsoY3JjIF4gKmJ1ZisrKSAmIDB4ZmZdOworICAgIH0KKyAgICB3aGlsZSAobGVuKSB7CisgICAgICAgIGxlbi0tOworICAgICAgICBjcmMgPSAoY3JjID4+IDgpIF4gY3JjX3RhYmxlWyhjcmMgXiAqYnVmKyspICYgMHhmZl07CisgICAgfQorCisgICAgLyogUmV0dXJuIHRoZSBDUkMsIHBvc3QtY29uZGl0aW9uZWQuICovCisgICAgcmV0dXJuIGNyYyBeIDB4ZmZmZmZmZmY7Cit9CisKKyNlbmRpZgogCiAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCiB1bnNpZ25lZCBsb25nIFpFWFBPUlQgY3JjMzIoY3JjLCBidWYsIGxlbikKQEAgLTIwNiwyMDUgKzEwNzQsMTkgQEAKICAgICBjb25zdCB1bnNpZ25lZCBjaGFyIEZBUiAqYnVmOwogICAgIHVJbnQgbGVuOwogewotICAgIGlmIChidWYgPT0gWl9OVUxMKSByZXR1cm4gMFVMOwotCi0jaWZkZWYgRFlOQU1JQ19DUkNfVEFCTEUKLSAgICBpZiAoY3JjX3RhYmxlX2VtcHR5KQotICAgICAgICBtYWtlX2NyY190YWJsZSgpOwotI2VuZGlmIC8qIERZTkFNSUNfQ1JDX1RBQkxFICovCi0KLSNpZmRlZiBCWUZPVVIKLSAgICBpZiAoc2l6ZW9mKHZvaWQgKikgPT0gc2l6ZW9mKHB0cmRpZmZfdCkpIHsKLSAgICAgICAgel9jcmNfdCBlbmRpYW47Ci0KLSAgICAgICAgZW5kaWFuID0gMTsKLSAgICAgICAgaWYgKCooKHVuc2lnbmVkIGNoYXIgKikoJmVuZGlhbikpKQotICAgICAgICAgICAgcmV0dXJuIGNyYzMyX2xpdHRsZShjcmMsIGJ1ZiwgbGVuKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgcmV0dXJuIGNyYzMyX2JpZyhjcmMsIGJ1ZiwgbGVuKTsKLSAgICB9Ci0jZW5kaWYgLyogQllGT1VSICovCi0gICAgY3JjID0gY3JjIF4gMHhmZmZmZmZmZlVMOwotICAgIHdoaWxlIChsZW4gPj0gOCkgewotICAgICAgICBETzg7Ci0gICAgICAgIGxlbiAtPSA4OwotICAgIH0KLSAgICBpZiAobGVuKSBkbyB7Ci0gICAgICAgIERPMTsKLSAgICB9IHdoaWxlICgtLWxlbik7Ci0gICAgcmV0dXJuIGNyYyBeIDB4ZmZmZmZmZmZVTDsKLX0KLQotI2lmZGVmIEJZRk9VUgotCi0vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCi0jZGVmaW5lIERPTElUNCBjIF49ICpidWY0Kys7IFwKLSAgICAgICAgYyA9IGNyY190YWJsZVszXVtjICYgMHhmZl0gXiBjcmNfdGFibGVbMl1bKGMgPj4gOCkgJiAweGZmXSBeIFwKLSAgICAgICAgICAgIGNyY190YWJsZVsxXVsoYyA+PiAxNikgJiAweGZmXSBeIGNyY190YWJsZVswXVtjID4+IDI0XQotI2RlZmluZSBET0xJVDMyIERPTElUNDsgRE9MSVQ0OyBET0xJVDQ7IERPTElUNDsgRE9MSVQ0OyBET0xJVDQ7IERPTElUNDsgRE9MSVQ0Ci0KLS8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KLWxvY2FsIHVuc2lnbmVkIGxvbmcgY3JjMzJfbGl0dGxlKGNyYywgYnVmLCBsZW4pCi0gICAgdW5zaWduZWQgbG9uZyBjcmM7Ci0gICAgY29uc3QgdW5zaWduZWQgY2hhciBGQVIgKmJ1ZjsKLSAgICB1bnNpZ25lZCBsZW47Ci17Ci0gICAgcmVnaXN0ZXIgel9jcmNfdCBjOwotICAgIHJlZ2lzdGVyIGNvbnN0IHpfY3JjX3QgRkFSICpidWY0OwotCi0gICAgYyA9ICh6X2NyY190KWNyYzsKLSAgICBjID0gfmM7Ci0gICAgd2hpbGUgKGxlbiAmJiAoKHB0cmRpZmZfdClidWYgJiAzKSkgewotICAgICAgICBjID0gY3JjX3RhYmxlWzBdWyhjIF4gKmJ1ZisrKSAmIDB4ZmZdIF4gKGMgPj4gOCk7Ci0gICAgICAgIGxlbi0tOwotICAgIH0KLQotICAgIGJ1ZjQgPSAoY29uc3Qgel9jcmNfdCBGQVIgKikoY29uc3Qgdm9pZCBGQVIgKilidWY7Ci0gICAgd2hpbGUgKGxlbiA+PSAzMikgewotICAgICAgICBET0xJVDMyOwotICAgICAgICBsZW4gLT0gMzI7Ci0gICAgfQotICAgIHdoaWxlIChsZW4gPj0gNCkgewotICAgICAgICBET0xJVDQ7Ci0gICAgICAgIGxlbiAtPSA0OwotICAgIH0KLSAgICBidWYgPSAoY29uc3QgdW5zaWduZWQgY2hhciBGQVIgKilidWY0OwotCi0gICAgaWYgKGxlbikgZG8gewotICAgICAgICBjID0gY3JjX3RhYmxlWzBdWyhjIF4gKmJ1ZisrKSAmIDB4ZmZdIF4gKGMgPj4gOCk7Ci0gICAgfSB3aGlsZSAoLS1sZW4pOwotICAgIGMgPSB+YzsKLSAgICByZXR1cm4gKHVuc2lnbmVkIGxvbmcpYzsKKyAgICByZXR1cm4gY3JjMzJfeihjcmMsIGJ1ZiwgbGVuKTsKIH0KIAogLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwotI2RlZmluZSBET0JJRzQgYyBePSAqKytidWY0OyBcCi0gICAgICAgIGMgPSBjcmNfdGFibGVbNF1bYyAmIDB4ZmZdIF4gY3JjX3RhYmxlWzVdWyhjID4+IDgpICYgMHhmZl0gXiBcCi0gICAgICAgICAgICBjcmNfdGFibGVbNl1bKGMgPj4gMTYpICYgMHhmZl0gXiBjcmNfdGFibGVbN11bYyA+PiAyNF0KLSNkZWZpbmUgRE9CSUczMiBET0JJRzQ7IERPQklHNDsgRE9CSUc0OyBET0JJRzQ7IERPQklHNDsgRE9CSUc0OyBET0JJRzQ7IERPQklHNAotCi0vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCi1sb2NhbCB1bnNpZ25lZCBsb25nIGNyYzMyX2JpZyhjcmMsIGJ1ZiwgbGVuKQotICAgIHVuc2lnbmVkIGxvbmcgY3JjOwotICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgRkFSICpidWY7Ci0gICAgdW5zaWduZWQgbGVuOwotewotICAgIHJlZ2lzdGVyIHpfY3JjX3QgYzsKLSAgICByZWdpc3RlciBjb25zdCB6X2NyY190IEZBUiAqYnVmNDsKLQotICAgIGMgPSBaU1dBUDMyKCh6X2NyY190KWNyYyk7Ci0gICAgYyA9IH5jOwotICAgIHdoaWxlIChsZW4gJiYgKChwdHJkaWZmX3QpYnVmICYgMykpIHsKLSAgICAgICAgYyA9IGNyY190YWJsZVs0XVsoYyA+PiAyNCkgXiAqYnVmKytdIF4gKGMgPDwgOCk7Ci0gICAgICAgIGxlbi0tOwotICAgIH0KLQotICAgIGJ1ZjQgPSAoY29uc3Qgel9jcmNfdCBGQVIgKikoY29uc3Qgdm9pZCBGQVIgKilidWY7Ci0gICAgYnVmNC0tOwotICAgIHdoaWxlIChsZW4gPj0gMzIpIHsKLSAgICAgICAgRE9CSUczMjsKLSAgICAgICAgbGVuIC09IDMyOwotICAgIH0KLSAgICB3aGlsZSAobGVuID49IDQpIHsKLSAgICAgICAgRE9CSUc0OwotICAgICAgICBsZW4gLT0gNDsKLSAgICB9Ci0gICAgYnVmNCsrOwotICAgIGJ1ZiA9IChjb25zdCB1bnNpZ25lZCBjaGFyIEZBUiAqKWJ1ZjQ7Ci0KLSAgICBpZiAobGVuKSBkbyB7Ci0gICAgICAgIGMgPSBjcmNfdGFibGVbNF1bKGMgPj4gMjQpIF4gKmJ1ZisrXSBeIChjIDw8IDgpOwotICAgIH0gd2hpbGUgKC0tbGVuKTsKLSAgICBjID0gfmM7Ci0gICAgcmV0dXJuICh1bnNpZ25lZCBsb25nKShaU1dBUDMyKGMpKTsKLX0KLQotI2VuZGlmIC8qIEJZRk9VUiAqLwotCi0jZGVmaW5lIEdGMl9ESU0gMzIgICAgICAvKiBkaW1lbnNpb24gb2YgR0YoMikgdmVjdG9ycyAobGVuZ3RoIG9mIENSQykgKi8KLQotLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwotbG9jYWwgdW5zaWduZWQgbG9uZyBnZjJfbWF0cml4X3RpbWVzKG1hdCwgdmVjKQotICAgIHVuc2lnbmVkIGxvbmcgKm1hdDsKLSAgICB1bnNpZ25lZCBsb25nIHZlYzsKLXsKLSAgICB1bnNpZ25lZCBsb25nIHN1bTsKLQotICAgIHN1bSA9IDA7Ci0gICAgd2hpbGUgKHZlYykgewotICAgICAgICBpZiAodmVjICYgMSkKLSAgICAgICAgICAgIHN1bSBePSAqbWF0OwotICAgICAgICB2ZWMgPj49IDE7Ci0gICAgICAgIG1hdCsrOwotICAgIH0KLSAgICByZXR1cm4gc3VtOwotfQotCi0vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCi1sb2NhbCB2b2lkIGdmMl9tYXRyaXhfc3F1YXJlKHNxdWFyZSwgbWF0KQotICAgIHVuc2lnbmVkIGxvbmcgKnNxdWFyZTsKLSAgICB1bnNpZ25lZCBsb25nICptYXQ7Ci17Ci0gICAgaW50IG47Ci0KLSAgICBmb3IgKG4gPSAwOyBuIDwgR0YyX0RJTTsgbisrKQotICAgICAgICBzcXVhcmVbbl0gPSBnZjJfbWF0cml4X3RpbWVzKG1hdCwgbWF0W25dKTsKLX0KLQotLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwotbG9jYWwgdUxvbmcgY3JjMzJfY29tYmluZV8oY3JjMSwgY3JjMiwgbGVuMikKK3VMb25nIFpFWFBPUlQgY3JjMzJfY29tYmluZTY0KGNyYzEsIGNyYzIsIGxlbjIpCiAgICAgdUxvbmcgY3JjMTsKICAgICB1TG9uZyBjcmMyOwogICAgIHpfb2ZmNjRfdCBsZW4yOwogewotICAgIGludCBuOwotICAgIHVuc2lnbmVkIGxvbmcgcm93OwotICAgIHVuc2lnbmVkIGxvbmcgZXZlbltHRjJfRElNXTsgICAgLyogZXZlbi1wb3dlci1vZi10d28gemVyb3Mgb3BlcmF0b3IgKi8KLSAgICB1bnNpZ25lZCBsb25nIG9kZFtHRjJfRElNXTsgICAgIC8qIG9kZC1wb3dlci1vZi10d28gemVyb3Mgb3BlcmF0b3IgKi8KLQotICAgIC8qIGRlZ2VuZXJhdGUgY2FzZSAoYWxzbyBkaXNhbGxvdyBuZWdhdGl2ZSBsZW5ndGhzKSAqLwotICAgIGlmIChsZW4yIDw9IDApCi0gICAgICAgIHJldHVybiBjcmMxOwotCi0gICAgLyogcHV0IG9wZXJhdG9yIGZvciBvbmUgemVybyBiaXQgaW4gb2RkICovCi0gICAgb2RkWzBdID0gMHhlZGI4ODMyMFVMOyAgICAgICAgICAvKiBDUkMtMzIgcG9seW5vbWlhbCAqLwotICAgIHJvdyA9IDE7Ci0gICAgZm9yIChuID0gMTsgbiA8IEdGMl9ESU07IG4rKykgewotICAgICAgICBvZGRbbl0gPSByb3c7Ci0gICAgICAgIHJvdyA8PD0gMTsKLSAgICB9Ci0KLSAgICAvKiBwdXQgb3BlcmF0b3IgZm9yIHR3byB6ZXJvIGJpdHMgaW4gZXZlbiAqLwotICAgIGdmMl9tYXRyaXhfc3F1YXJlKGV2ZW4sIG9kZCk7Ci0KLSAgICAvKiBwdXQgb3BlcmF0b3IgZm9yIGZvdXIgemVybyBiaXRzIGluIG9kZCAqLwotICAgIGdmMl9tYXRyaXhfc3F1YXJlKG9kZCwgZXZlbik7Ci0KLSAgICAvKiBhcHBseSBsZW4yIHplcm9zIHRvIGNyYzEgKGZpcnN0IHNxdWFyZSB3aWxsIHB1dCB0aGUgb3BlcmF0b3IgZm9yIG9uZQotICAgICAgIHplcm8gYnl0ZSwgZWlnaHQgemVybyBiaXRzLCBpbiBldmVuKSAqLwotICAgIGRvIHsKLSAgICAgICAgLyogYXBwbHkgemVyb3Mgb3BlcmF0b3IgZm9yIHRoaXMgYml0IG9mIGxlbjIgKi8KLSAgICAgICAgZ2YyX21hdHJpeF9zcXVhcmUoZXZlbiwgb2RkKTsKLSAgICAgICAgaWYgKGxlbjIgJiAxKQotICAgICAgICAgICAgY3JjMSA9IGdmMl9tYXRyaXhfdGltZXMoZXZlbiwgY3JjMSk7Ci0gICAgICAgIGxlbjIgPj49IDE7Ci0KLSAgICAgICAgLyogaWYgbm8gbW9yZSBiaXRzIHNldCwgdGhlbiBkb25lICovCi0gICAgICAgIGlmIChsZW4yID09IDApCi0gICAgICAgICAgICBicmVhazsKLQotICAgICAgICAvKiBhbm90aGVyIGl0ZXJhdGlvbiBvZiB0aGUgbG9vcCB3aXRoIG9kZCBhbmQgZXZlbiBzd2FwcGVkICovCi0gICAgICAgIGdmMl9tYXRyaXhfc3F1YXJlKG9kZCwgZXZlbik7Ci0gICAgICAgIGlmIChsZW4yICYgMSkKLSAgICAgICAgICAgIGNyYzEgPSBnZjJfbWF0cml4X3RpbWVzKG9kZCwgY3JjMSk7Ci0gICAgICAgIGxlbjIgPj49IDE7Ci0KLSAgICAgICAgLyogaWYgbm8gbW9yZSBiaXRzIHNldCwgdGhlbiBkb25lICovCi0gICAgfSB3aGlsZSAobGVuMiAhPSAwKTsKLQotICAgIC8qIHJldHVybiBjb21iaW5lZCBjcmMgKi8KLSAgICBjcmMxIF49IGNyYzI7Ci0gICAgcmV0dXJuIGNyYzE7CisjaWZkZWYgRFlOQU1JQ19DUkNfVEFCTEUKKyAgICBvbmNlKCZtYWRlLCBtYWtlX2NyY190YWJsZSk7CisjZW5kaWYgLyogRFlOQU1JQ19DUkNfVEFCTEUgKi8KKyAgICByZXR1cm4gbXVsdG1vZHAoeDJubW9kcChsZW4yLCAzKSwgY3JjMSkgXiAoY3JjMiAmIDB4ZmZmZmZmZmYpOwogfQogCiAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCkBAIC00MTMsMTMgKzEwOTUsMzEgQEAKICAgICB1TG9uZyBjcmMyOwogICAgIHpfb2ZmX3QgbGVuMjsKIHsKLSAgICByZXR1cm4gY3JjMzJfY29tYmluZV8oY3JjMSwgY3JjMiwgbGVuMik7CisgICAgcmV0dXJuIGNyYzMyX2NvbWJpbmU2NChjcmMxLCBjcmMyLCAoel9vZmY2NF90KWxlbjIpOwogfQogCi11TG9uZyBaRVhQT1JUIGNyYzMyX2NvbWJpbmU2NChjcmMxLCBjcmMyLCBsZW4yKQotICAgIHVMb25nIGNyYzE7Ci0gICAgdUxvbmcgY3JjMjsKKy8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KK3VMb25nIFpFWFBPUlQgY3JjMzJfY29tYmluZV9nZW42NChsZW4yKQogICAgIHpfb2ZmNjRfdCBsZW4yOwogewotICAgIHJldHVybiBjcmMzMl9jb21iaW5lXyhjcmMxLCBjcmMyLCBsZW4yKTsKKyNpZmRlZiBEWU5BTUlDX0NSQ19UQUJMRQorICAgIG9uY2UoJm1hZGUsIG1ha2VfY3JjX3RhYmxlKTsKKyNlbmRpZiAvKiBEWU5BTUlDX0NSQ19UQUJMRSAqLworICAgIHJldHVybiB4Mm5tb2RwKGxlbjIsIDMpOworfQorCisvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCit1TG9uZyBaRVhQT1JUIGNyYzMyX2NvbWJpbmVfZ2VuKGxlbjIpCisgICAgel9vZmZfdCBsZW4yOworeworICAgIHJldHVybiBjcmMzMl9jb21iaW5lX2dlbjY0KCh6X29mZjY0X3QpbGVuMik7Cit9CisKKy8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KK3VMb25nIFpFWFBPUlQgY3JjMzJfY29tYmluZV9vcChjcmMxLCBjcmMyLCBvcCkKKyAgICB1TG9uZyBjcmMxOworICAgIHVMb25nIGNyYzI7CisgICAgdUxvbmcgb3A7Cit7CisgICAgcmV0dXJuIG11bHRtb2RwKG9wLCBjcmMxKSBeIChjcmMyICYgMHhmZmZmZmZmZik7CiB9CmRpZmYgLS1naXQgYS9zcmMvY3JjMzIuaCBiL3NyYy9jcmMzMi5oCmluZGV4IDllMGM3NzguLjEzN2RmNjggMTAwNjQ0Ci0tLSBhL3NyYy9jcmMzMi5oCisrKyBiL3NyYy9jcmMzMi5oCkBAIC0yLDQ0MCArMiw5NDQ1IEBACiAgKiBHZW5lcmF0ZWQgYXV0b21hdGljYWxseSBieSBjcmMzMi5jCiAgKi8KIAotbG9jYWwgY29uc3Qgel9jcmNfdCBGQVIgY3JjX3RhYmxlW1RCTFNdWzI1Nl0gPQotewotICB7Ci0gICAgMHgwMDAwMDAwMFVMLCAweDc3MDczMDk2VUwsIDB4ZWUwZTYxMmNVTCwgMHg5OTA5NTFiYVVMLCAweDA3NmRjNDE5VUwsCi0gICAgMHg3MDZhZjQ4ZlVMLCAweGU5NjNhNTM1VUwsIDB4OWU2NDk1YTNVTCwgMHgwZWRiODgzMlVMLCAweDc5ZGNiOGE0VUwsCi0gICAgMHhlMGQ1ZTkxZVVMLCAweDk3ZDJkOTg4VUwsIDB4MDliNjRjMmJVTCwgMHg3ZWIxN2NiZFVMLCAweGU3YjgyZDA3VUwsCi0gICAgMHg5MGJmMWQ5MVVMLCAweDFkYjcxMDY0VUwsIDB4NmFiMDIwZjJVTCwgMHhmM2I5NzE0OFVMLCAweDg0YmU0MWRlVUwsCi0gICAgMHgxYWRhZDQ3ZFVMLCAweDZkZGRlNGViVUwsIDB4ZjRkNGI1NTFVTCwgMHg4M2QzODVjN1VMLCAweDEzNmM5ODU2VUwsCi0gICAgMHg2NDZiYThjMFVMLCAweGZkNjJmOTdhVUwsIDB4OGE2NWM5ZWNVTCwgMHgxNDAxNWM0ZlVMLCAweDYzMDY2Y2Q5VUwsCi0gICAgMHhmYTBmM2Q2M1VMLCAweDhkMDgwZGY1VUwsIDB4M2I2ZTIwYzhVTCwgMHg0YzY5MTA1ZVVMLCAweGQ1NjA0MWU0VUwsCi0gICAgMHhhMjY3NzE3MlVMLCAweDNjMDNlNGQxVUwsIDB4NGIwNGQ0NDdVTCwgMHhkMjBkODVmZFVMLCAweGE1MGFiNTZiVUwsCi0gICAgMHgzNWI1YThmYVVMLCAweDQyYjI5ODZjVUwsIDB4ZGJiYmM5ZDZVTCwgMHhhY2JjZjk0MFVMLCAweDMyZDg2Y2UzVUwsCi0gICAgMHg0NWRmNWM3NVVMLCAweGRjZDYwZGNmVUwsIDB4YWJkMTNkNTlVTCwgMHgyNmQ5MzBhY1VMLCAweDUxZGUwMDNhVUwsCi0gICAgMHhjOGQ3NTE4MFVMLCAweGJmZDA2MTE2VUwsIDB4MjFiNGY0YjVVTCwgMHg1NmIzYzQyM1VMLCAweGNmYmE5NTk5VUwsCi0gICAgMHhiOGJkYTUwZlVMLCAweDI4MDJiODllVUwsIDB4NWYwNTg4MDhVTCwgMHhjNjBjZDliMlVMLCAweGIxMGJlOTI0VUwsCi0gICAgMHgyZjZmN2M4N1VMLCAweDU4Njg0YzExVUwsIDB4YzE2MTFkYWJVTCwgMHhiNjY2MmQzZFVMLCAweDc2ZGM0MTkwVUwsCi0gICAgMHgwMWRiNzEwNlVMLCAweDk4ZDIyMGJjVUwsIDB4ZWZkNTEwMmFVTCwgMHg3MWIxODU4OVVMLCAweDA2YjZiNTFmVUwsCi0gICAgMHg5ZmJmZTRhNVVMLCAweGU4YjhkNDMzVUwsIDB4NzgwN2M5YTJVTCwgMHgwZjAwZjkzNFVMLCAweDk2MDlhODhlVUwsCi0gICAgMHhlMTBlOTgxOFVMLCAweDdmNmEwZGJiVUwsIDB4MDg2ZDNkMmRVTCwgMHg5MTY0NmM5N1VMLCAweGU2NjM1YzAxVUwsCi0gICAgMHg2YjZiNTFmNFVMLCAweDFjNmM2MTYyVUwsIDB4ODU2NTMwZDhVTCwgMHhmMjYyMDA0ZVVMLCAweDZjMDY5NWVkVUwsCi0gICAgMHgxYjAxYTU3YlVMLCAweDgyMDhmNGMxVUwsIDB4ZjUwZmM0NTdVTCwgMHg2NWIwZDljNlVMLCAweDEyYjdlOTUwVUwsCi0gICAgMHg4YmJlYjhlYVVMLCAweGZjYjk4ODdjVUwsIDB4NjJkZDFkZGZVTCwgMHgxNWRhMmQ0OVVMLCAweDhjZDM3Y2YzVUwsCi0gICAgMHhmYmQ0NGM2NVVMLCAweDRkYjI2MTU4VUwsIDB4M2FiNTUxY2VVTCwgMHhhM2JjMDA3NFVMLCAweGQ0YmIzMGUyVUwsCi0gICAgMHg0YWRmYTU0MVVMLCAweDNkZDg5NWQ3VUwsIDB4YTRkMWM0NmRVTCwgMHhkM2Q2ZjRmYlVMLCAweDQzNjllOTZhVUwsCi0gICAgMHgzNDZlZDlmY1VMLCAweGFkNjc4ODQ2VUwsIDB4ZGE2MGI4ZDBVTCwgMHg0NDA0MmQ3M1VMLCAweDMzMDMxZGU1VUwsCi0gICAgMHhhYTBhNGM1ZlVMLCAweGRkMGQ3Y2M5VUwsIDB4NTAwNTcxM2NVTCwgMHgyNzAyNDFhYVVMLCAweGJlMGIxMDEwVUwsCi0gICAgMHhjOTBjMjA4NlVMLCAweDU3NjhiNTI1VUwsIDB4MjA2Zjg1YjNVTCwgMHhiOTY2ZDQwOVVMLCAweGNlNjFlNDlmVUwsCi0gICAgMHg1ZWRlZjkwZVVMLCAweDI5ZDljOTk4VUwsIDB4YjBkMDk4MjJVTCwgMHhjN2Q3YThiNFVMLCAweDU5YjMzZDE3VUwsCi0gICAgMHgyZWI0MGQ4MVVMLCAweGI3YmQ1YzNiVUwsIDB4YzBiYTZjYWRVTCwgMHhlZGI4ODMyMFVMLCAweDlhYmZiM2I2VUwsCi0gICAgMHgwM2I2ZTIwY1VMLCAweDc0YjFkMjlhVUwsIDB4ZWFkNTQ3MzlVTCwgMHg5ZGQyNzdhZlVMLCAweDA0ZGIyNjE1VUwsCi0gICAgMHg3M2RjMTY4M1VMLCAweGUzNjMwYjEyVUwsIDB4OTQ2NDNiODRVTCwgMHgwZDZkNmEzZVVMLCAweDdhNmE1YWE4VUwsCi0gICAgMHhlNDBlY2YwYlVMLCAweDkzMDlmZjlkVUwsIDB4MGEwMGFlMjdVTCwgMHg3ZDA3OWViMVVMLCAweGYwMGY5MzQ0VUwsCi0gICAgMHg4NzA4YTNkMlVMLCAweDFlMDFmMjY4VUwsIDB4NjkwNmMyZmVVTCwgMHhmNzYyNTc1ZFVMLCAweDgwNjU2N2NiVUwsCi0gICAgMHgxOTZjMzY3MVVMLCAweDZlNmIwNmU3VUwsIDB4ZmVkNDFiNzZVTCwgMHg4OWQzMmJlMFVMLCAweDEwZGE3YTVhVUwsCi0gICAgMHg2N2RkNGFjY1VMLCAweGY5YjlkZjZmVUwsIDB4OGViZWVmZjlVTCwgMHgxN2I3YmU0M1VMLCAweDYwYjA4ZWQ1VUwsCi0gICAgMHhkNmQ2YTNlOFVMLCAweGExZDE5MzdlVUwsIDB4MzhkOGMyYzRVTCwgMHg0ZmRmZjI1MlVMLCAweGQxYmI2N2YxVUwsCi0gICAgMHhhNmJjNTc2N1VMLCAweDNmYjUwNmRkVUwsIDB4NDhiMjM2NGJVTCwgMHhkODBkMmJkYVVMLCAweGFmMGExYjRjVUwsCi0gICAgMHgzNjAzNGFmNlVMLCAweDQxMDQ3YTYwVUwsIDB4ZGY2MGVmYzNVTCwgMHhhODY3ZGY1NVVMLCAweDMxNmU4ZWVmVUwsCi0gICAgMHg0NjY5YmU3OVVMLCAweGNiNjFiMzhjVUwsIDB4YmM2NjgzMWFVTCwgMHgyNTZmZDJhMFVMLCAweDUyNjhlMjM2VUwsCi0gICAgMHhjYzBjNzc5NVVMLCAweGJiMGI0NzAzVUwsIDB4MjIwMjE2YjlVTCwgMHg1NTA1MjYyZlVMLCAweGM1YmEzYmJlVUwsCi0gICAgMHhiMmJkMGIyOFVMLCAweDJiYjQ1YTkyVUwsIDB4NWNiMzZhMDRVTCwgMHhjMmQ3ZmZhN1VMLCAweGI1ZDBjZjMxVUwsCi0gICAgMHgyY2Q5OWU4YlVMLCAweDViZGVhZTFkVUwsIDB4OWI2NGMyYjBVTCwgMHhlYzYzZjIyNlVMLCAweDc1NmFhMzljVUwsCi0gICAgMHgwMjZkOTMwYVVMLCAweDljMDkwNmE5VUwsIDB4ZWIwZTM2M2ZVTCwgMHg3MjA3Njc4NVVMLCAweDA1MDA1NzEzVUwsCi0gICAgMHg5NWJmNGE4MlVMLCAweGUyYjg3YTE0VUwsIDB4N2JiMTJiYWVVTCwgMHgwY2I2MWIzOFVMLCAweDkyZDI4ZTliVUwsCi0gICAgMHhlNWQ1YmUwZFVMLCAweDdjZGNlZmI3VUwsIDB4MGJkYmRmMjFVTCwgMHg4NmQzZDJkNFVMLCAweGYxZDRlMjQyVUwsCi0gICAgMHg2OGRkYjNmOFVMLCAweDFmZGE4MzZlVUwsIDB4ODFiZTE2Y2RVTCwgMHhmNmI5MjY1YlVMLCAweDZmYjA3N2UxVUwsCi0gICAgMHgxOGI3NDc3N1VMLCAweDg4MDg1YWU2VUwsIDB4ZmYwZjZhNzBVTCwgMHg2NjA2M2JjYVVMLCAweDExMDEwYjVjVUwsCi0gICAgMHg4ZjY1OWVmZlVMLCAweGY4NjJhZTY5VUwsIDB4NjE2YmZmZDNVTCwgMHgxNjZjY2Y0NVVMLCAweGEwMGFlMjc4VUwsCi0gICAgMHhkNzBkZDJlZVVMLCAweDRlMDQ4MzU0VUwsIDB4MzkwM2IzYzJVTCwgMHhhNzY3MjY2MVVMLCAweGQwNjAxNmY3VUwsCi0gICAgMHg0OTY5NDc0ZFVMLCAweDNlNmU3N2RiVUwsIDB4YWVkMTZhNGFVTCwgMHhkOWQ2NWFkY1VMLCAweDQwZGYwYjY2VUwsCi0gICAgMHgzN2Q4M2JmMFVMLCAweGE5YmNhZTUzVUwsIDB4ZGViYjllYzVVTCwgMHg0N2IyY2Y3ZlVMLCAweDMwYjVmZmU5VUwsCi0gICAgMHhiZGJkZjIxY1VMLCAweGNhYmFjMjhhVUwsIDB4NTNiMzkzMzBVTCwgMHgyNGI0YTNhNlVMLCAweGJhZDAzNjA1VUwsCi0gICAgMHhjZGQ3MDY5M1VMLCAweDU0ZGU1NzI5VUwsIDB4MjNkOTY3YmZVTCwgMHhiMzY2N2EyZVVMLCAweGM0NjE0YWI4VUwsCi0gICAgMHg1ZDY4MWIwMlVMLCAweDJhNmYyYjk0VUwsIDB4YjQwYmJlMzdVTCwgMHhjMzBjOGVhMVVMLCAweDVhMDVkZjFiVUwsCi0gICAgMHgyZDAyZWY4ZFVMCi0jaWZkZWYgQllGT1VSCi0gIH0sCi0gIHsKLSAgICAweDAwMDAwMDAwVUwsIDB4MTkxYjMxNDFVTCwgMHgzMjM2NjI4MlVMLCAweDJiMmQ1M2MzVUwsIDB4NjQ2Y2M1MDRVTCwKLSAgICAweDdkNzdmNDQ1VUwsIDB4NTY1YWE3ODZVTCwgMHg0ZjQxOTZjN1VMLCAweGM4ZDk4YTA4VUwsIDB4ZDFjMmJiNDlVTCwKLSAgICAweGZhZWZlODhhVUwsIDB4ZTNmNGQ5Y2JVTCwgMHhhY2I1NGYwY1VMLCAweGI1YWU3ZTRkVUwsIDB4OWU4MzJkOGVVTCwKLSAgICAweDg3OTgxY2NmVUwsIDB4NGFjMjEyNTFVTCwgMHg1M2Q5MjMxMFVMLCAweDc4ZjQ3MGQzVUwsIDB4NjFlZjQxOTJVTCwKLSAgICAweDJlYWVkNzU1VUwsIDB4MzdiNWU2MTRVTCwgMHgxYzk4YjVkN1VMLCAweDA1ODM4NDk2VUwsIDB4ODIxYjk4NTlVTCwKLSAgICAweDliMDBhOTE4VUwsIDB4YjAyZGZhZGJVTCwgMHhhOTM2Y2I5YVVMLCAweGU2Nzc1ZDVkVUwsIDB4ZmY2YzZjMWNVTCwKLSAgICAweGQ0NDEzZmRmVUwsIDB4Y2Q1YTBlOWVVTCwgMHg5NTg0MjRhMlVMLCAweDhjOWYxNWUzVUwsIDB4YTdiMjQ2MjBVTCwKLSAgICAweGJlYTk3NzYxVUwsIDB4ZjFlOGUxYTZVTCwgMHhlOGYzZDBlN1VMLCAweGMzZGU4MzI0VUwsIDB4ZGFjNWIyNjVVTCwKLSAgICAweDVkNWRhZWFhVUwsIDB4NDQ0NjlmZWJVTCwgMHg2ZjZiY2MyOFVMLCAweDc2NzBmZDY5VUwsIDB4MzkzMTZiYWVVTCwKLSAgICAweDIwMmE1YWVmVUwsIDB4MGIwNzA5MmNVTCwgMHgxMjFjMzg2ZFVMLCAweGRmNDYzNmYzVUwsIDB4YzY1ZDA3YjJVTCwKLSAgICAweGVkNzA1NDcxVUwsIDB4ZjQ2YjY1MzBVTCwgMHhiYjJhZjNmN1VMLCAweGEyMzFjMmI2VUwsIDB4ODkxYzkxNzVVTCwKLSAgICAweDkwMDdhMDM0VUwsIDB4MTc5ZmJjZmJVTCwgMHgwZTg0OGRiYVVMLCAweDI1YTlkZTc5VUwsIDB4M2NiMmVmMzhVTCwKLSAgICAweDczZjM3OWZmVUwsIDB4NmFlODQ4YmVVTCwgMHg0MWM1MWI3ZFVMLCAweDU4ZGUyYTNjVUwsIDB4ZjA3OTRmMDVVTCwKLSAgICAweGU5NjI3ZTQ0VUwsIDB4YzI0ZjJkODdVTCwgMHhkYjU0MWNjNlVMLCAweDk0MTU4YTAxVUwsIDB4OGQwZWJiNDBVTCwKLSAgICAweGE2MjNlODgzVUwsIDB4YmYzOGQ5YzJVTCwgMHgzOGEwYzUwZFVMLCAweDIxYmJmNDRjVUwsIDB4MGE5NmE3OGZVTCwKLSAgICAweDEzOGQ5NmNlVUwsIDB4NWNjYzAwMDlVTCwgMHg0NWQ3MzE0OFVMLCAweDZlZmE2MjhiVUwsIDB4NzdlMTUzY2FVTCwKLSAgICAweGJhYmI1ZDU0VUwsIDB4YTNhMDZjMTVVTCwgMHg4ODhkM2ZkNlVMLCAweDkxOTYwZTk3VUwsIDB4ZGVkNzk4NTBVTCwKLSAgICAweGM3Y2NhOTExVUwsIDB4ZWNlMWZhZDJVTCwgMHhmNWZhY2I5M1VMLCAweDcyNjJkNzVjVUwsIDB4NmI3OWU2MWRVTCwKLSAgICAweDQwNTRiNWRlVUwsIDB4NTk0Zjg0OWZVTCwgMHgxNjBlMTI1OFVMLCAweDBmMTUyMzE5VUwsIDB4MjQzODcwZGFVTCwKLSAgICAweDNkMjM0MTliVUwsIDB4NjVmZDZiYTdVTCwgMHg3Y2U2NWFlNlVMLCAweDU3Y2IwOTI1VUwsIDB4NGVkMDM4NjRVTCwKLSAgICAweDAxOTFhZWEzVUwsIDB4MTg4YTlmZTJVTCwgMHgzM2E3Y2MyMVVMLCAweDJhYmNmZDYwVUwsIDB4YWQyNGUxYWZVTCwKLSAgICAweGI0M2ZkMGVlVUwsIDB4OWYxMjgzMmRVTCwgMHg4NjA5YjI2Y1VMLCAweGM5NDgyNGFiVUwsIDB4ZDA1MzE1ZWFVTCwKLSAgICAweGZiN2U0NjI5VUwsIDB4ZTI2NTc3NjhVTCwgMHgyZjNmNzlmNlVMLCAweDM2MjQ0OGI3VUwsIDB4MWQwOTFiNzRVTCwKLSAgICAweDA0MTIyYTM1VUwsIDB4NGI1M2JjZjJVTCwgMHg1MjQ4OGRiM1VMLCAweDc5NjVkZTcwVUwsIDB4NjA3ZWVmMzFVTCwKLSAgICAweGU3ZTZmM2ZlVUwsIDB4ZmVmZGMyYmZVTCwgMHhkNWQwOTE3Y1VMLCAweGNjY2JhMDNkVUwsIDB4ODM4YTM2ZmFVTCwKLSAgICAweDlhOTEwN2JiVUwsIDB4YjFiYzU0NzhVTCwgMHhhOGE3NjUzOVVMLCAweDNiODM5ODRiVUwsIDB4MjI5OGE5MGFVTCwKLSAgICAweDA5YjVmYWM5VUwsIDB4MTBhZWNiODhVTCwgMHg1ZmVmNWQ0ZlVMLCAweDQ2ZjQ2YzBlVUwsIDB4NmRkOTNmY2RVTCwKLSAgICAweDc0YzIwZThjVUwsIDB4ZjM1YTEyNDNVTCwgMHhlYTQxMjMwMlVMLCAweGMxNmM3MGMxVUwsIDB4ZDg3NzQxODBVTCwKLSAgICAweDk3MzZkNzQ3VUwsIDB4OGUyZGU2MDZVTCwgMHhhNTAwYjVjNVVMLCAweGJjMWI4NDg0VUwsIDB4NzE0MThhMWFVTCwKLSAgICAweDY4NWFiYjViVUwsIDB4NDM3N2U4OThVTCwgMHg1YTZjZDlkOVVMLCAweDE1MmQ0ZjFlVUwsIDB4MGMzNjdlNWZVTCwKLSAgICAweDI3MWIyZDljVUwsIDB4M2UwMDFjZGRVTCwgMHhiOTk4MDAxMlVMLCAweGEwODMzMTUzVUwsIDB4OGJhZTYyOTBVTCwKLSAgICAweDkyYjU1M2QxVUwsIDB4ZGRmNGM1MTZVTCwgMHhjNGVmZjQ1N1VMLCAweGVmYzJhNzk0VUwsIDB4ZjZkOTk2ZDVVTCwKLSAgICAweGFlMDdiY2U5VUwsIDB4YjcxYzhkYThVTCwgMHg5YzMxZGU2YlVMLCAweDg1MmFlZjJhVUwsIDB4Y2E2Yjc5ZWRVTCwKLSAgICAweGQzNzA0OGFjVUwsIDB4Zjg1ZDFiNmZVTCwgMHhlMTQ2MmEyZVVMLCAweDY2ZGUzNmUxVUwsIDB4N2ZjNTA3YTBVTCwKLSAgICAweDU0ZTg1NDYzVUwsIDB4NGRmMzY1MjJVTCwgMHgwMmIyZjNlNVVMLCAweDFiYTljMmE0VUwsIDB4MzA4NDkxNjdVTCwKLSAgICAweDI5OWZhMDI2VUwsIDB4ZTRjNWFlYjhVTCwgMHhmZGRlOWZmOVVMLCAweGQ2ZjNjYzNhVUwsIDB4Y2ZlOGZkN2JVTCwKLSAgICAweDgwYTk2YmJjVUwsIDB4OTliMjVhZmRVTCwgMHhiMjlmMDkzZVVMLCAweGFiODQzODdmVUwsIDB4MmMxYzI0YjBVTCwKLSAgICAweDM1MDcxNWYxVUwsIDB4MWUyYTQ2MzJVTCwgMHgwNzMxNzc3M1VMLCAweDQ4NzBlMWI0VUwsIDB4NTE2YmQwZjVVTCwKLSAgICAweDdhNDY4MzM2VUwsIDB4NjM1ZGIyNzdVTCwgMHhjYmZhZDc0ZVVMLCAweGQyZTFlNjBmVUwsIDB4ZjljY2I1Y2NVTCwKLSAgICAweGUwZDc4NDhkVUwsIDB4YWY5NjEyNGFVTCwgMHhiNjhkMjMwYlVMLCAweDlkYTA3MGM4VUwsIDB4ODRiYjQxODlVTCwKLSAgICAweDAzMjM1ZDQ2VUwsIDB4MWEzODZjMDdVTCwgMHgzMTE1M2ZjNFVMLCAweDI4MGUwZTg1VUwsIDB4Njc0Zjk4NDJVTCwKLSAgICAweDdlNTRhOTAzVUwsIDB4NTU3OWZhYzBVTCwgMHg0YzYyY2I4MVVMLCAweDgxMzhjNTFmVUwsIDB4OTgyM2Y0NWVVTCwKLSAgICAweGIzMGVhNzlkVUwsIDB4YWExNTk2ZGNVTCwgMHhlNTU0MDAxYlVMLCAweGZjNGYzMTVhVUwsIDB4ZDc2MjYyOTlVTCwKLSAgICAweGNlNzk1M2Q4VUwsIDB4NDllMTRmMTdVTCwgMHg1MGZhN2U1NlVMLCAweDdiZDcyZDk1VUwsIDB4NjJjYzFjZDRVTCwKLSAgICAweDJkOGQ4YTEzVUwsIDB4MzQ5NmJiNTJVTCwgMHgxZmJiZTg5MVVMLCAweDA2YTBkOWQwVUwsIDB4NWU3ZWYzZWNVTCwKLSAgICAweDQ3NjVjMmFkVUwsIDB4NmM0ODkxNmVVTCwgMHg3NTUzYTAyZlVMLCAweDNhMTIzNmU4VUwsIDB4MjMwOTA3YTlVTCwKLSAgICAweDA4MjQ1NDZhVUwsIDB4MTEzZjY1MmJVTCwgMHg5NmE3NzllNFVMLCAweDhmYmM0OGE1VUwsIDB4YTQ5MTFiNjZVTCwKLSAgICAweGJkOGEyYTI3VUwsIDB4ZjJjYmJjZTBVTCwgMHhlYmQwOGRhMVVMLCAweGMwZmRkZTYyVUwsIDB4ZDllNmVmMjNVTCwKLSAgICAweDE0YmNlMWJkVUwsIDB4MGRhN2QwZmNVTCwgMHgyNjhhODMzZlVMLCAweDNmOTFiMjdlVUwsIDB4NzBkMDI0YjlVTCwKLSAgICAweDY5Y2IxNWY4VUwsIDB4NDJlNjQ2M2JVTCwgMHg1YmZkNzc3YVVMLCAweGRjNjU2YmI1VUwsIDB4YzU3ZTVhZjRVTCwKLSAgICAweGVlNTMwOTM3VUwsIDB4Zjc0ODM4NzZVTCwgMHhiODA5YWViMVVMLCAweGExMTI5ZmYwVUwsIDB4OGEzZmNjMzNVTCwKLSAgICAweDkzMjRmZDcyVUwKLSAgfSwKLSAgewotICAgIDB4MDAwMDAwMDBVTCwgMHgwMWMyNmEzN1VMLCAweDAzODRkNDZlVUwsIDB4MDI0NmJlNTlVTCwgMHgwNzA5YThkY1VMLAotICAgIDB4MDZjYmMyZWJVTCwgMHgwNDhkN2NiMlVMLCAweDA1NGYxNjg1VUwsIDB4MGUxMzUxYjhVTCwgMHgwZmQxM2I4ZlVMLAotICAgIDB4MGQ5Nzg1ZDZVTCwgMHgwYzU1ZWZlMVVMLCAweDA5MWFmOTY0VUwsIDB4MDhkODkzNTNVTCwgMHgwYTllMmQwYVVMLAotICAgIDB4MGI1YzQ3M2RVTCwgMHgxYzI2YTM3MFVMLCAweDFkZTRjOTQ3VUwsIDB4MWZhMjc3MWVVTCwgMHgxZTYwMWQyOVVMLAotICAgIDB4MWIyZjBiYWNVTCwgMHgxYWVkNjE5YlVMLCAweDE4YWJkZmMyVUwsIDB4MTk2OWI1ZjVVTCwgMHgxMjM1ZjJjOFVMLAotICAgIDB4MTNmNzk4ZmZVTCwgMHgxMWIxMjZhNlVMLCAweDEwNzM0YzkxVUwsIDB4MTUzYzVhMTRVTCwgMHgxNGZlMzAyM1VMLAotICAgIDB4MTZiODhlN2FVTCwgMHgxNzdhZTQ0ZFVMLCAweDM4NGQ0NmUwVUwsIDB4Mzk4ZjJjZDdVTCwgMHgzYmM5OTI4ZVVMLAotICAgIDB4M2EwYmY4YjlVTCwgMHgzZjQ0ZWUzY1VMLCAweDNlODY4NDBiVUwsIDB4M2NjMDNhNTJVTCwgMHgzZDAyNTA2NVVMLAotICAgIDB4MzY1ZTE3NThVTCwgMHgzNzljN2Q2ZlVMLCAweDM1ZGFjMzM2VUwsIDB4MzQxOGE5MDFVTCwgMHgzMTU3YmY4NFVMLAotICAgIDB4MzA5NWQ1YjNVTCwgMHgzMmQzNmJlYVVMLCAweDMzMTEwMWRkVUwsIDB4MjQ2YmU1OTBVTCwgMHgyNWE5OGZhN1VMLAotICAgIDB4MjdlZjMxZmVVTCwgMHgyNjJkNWJjOVVMLCAweDIzNjI0ZDRjVUwsIDB4MjJhMDI3N2JVTCwgMHgyMGU2OTkyMlVMLAotICAgIDB4MjEyNGYzMTVVTCwgMHgyYTc4YjQyOFVMLCAweDJiYmFkZTFmVUwsIDB4MjlmYzYwNDZVTCwgMHgyODNlMGE3MVVMLAotICAgIDB4MmQ3MTFjZjRVTCwgMHgyY2IzNzZjM1VMLCAweDJlZjVjODlhVUwsIDB4MmYzN2EyYWRVTCwgMHg3MDlhOGRjMFVMLAotICAgIDB4NzE1OGU3ZjdVTCwgMHg3MzFlNTlhZVVMLCAweDcyZGMzMzk5VUwsIDB4Nzc5MzI1MWNVTCwgMHg3NjUxNGYyYlVMLAotICAgIDB4NzQxN2YxNzJVTCwgMHg3NWQ1OWI0NVVMLCAweDdlODlkYzc4VUwsIDB4N2Y0YmI2NGZVTCwgMHg3ZDBkMDgxNlVMLAotICAgIDB4N2NjZjYyMjFVTCwgMHg3OTgwNzRhNFVMLCAweDc4NDIxZTkzVUwsIDB4N2EwNGEwY2FVTCwgMHg3YmM2Y2FmZFVMLAotICAgIDB4NmNiYzJlYjBVTCwgMHg2ZDdlNDQ4N1VMLCAweDZmMzhmYWRlVUwsIDB4NmVmYTkwZTlVTCwgMHg2YmI1ODY2Y1VMLAotICAgIDB4NmE3N2VjNWJVTCwgMHg2ODMxNTIwMlVMLCAweDY5ZjMzODM1VUwsIDB4NjJhZjdmMDhVTCwgMHg2MzZkMTUzZlVMLAotICAgIDB4NjEyYmFiNjZVTCwgMHg2MGU5YzE1MVVMLCAweDY1YTZkN2Q0VUwsIDB4NjQ2NGJkZTNVTCwgMHg2NjIyMDNiYVVMLAotICAgIDB4NjdlMDY5OGRVTCwgMHg0OGQ3Y2IyMFVMLCAweDQ5MTVhMTE3VUwsIDB4NGI1MzFmNGVVTCwgMHg0YTkxNzU3OVVMLAotICAgIDB4NGZkZTYzZmNVTCwgMHg0ZTFjMDljYlVMLCAweDRjNWFiNzkyVUwsIDB4NGQ5OGRkYTVVTCwgMHg0NmM0OWE5OFVMLAotICAgIDB4NDcwNmYwYWZVTCwgMHg0NTQwNGVmNlVMLCAweDQ0ODIyNGMxVUwsIDB4NDFjZDMyNDRVTCwgMHg0MDBmNTg3M1VMLAotICAgIDB4NDI0OWU2MmFVTCwgMHg0MzhiOGMxZFVMLCAweDU0ZjE2ODUwVUwsIDB4NTUzMzAyNjdVTCwgMHg1Nzc1YmMzZVVMLAotICAgIDB4NTZiN2Q2MDlVTCwgMHg1M2Y4YzA4Y1VMLCAweDUyM2FhYWJiVUwsIDB4NTA3YzE0ZTJVTCwgMHg1MWJlN2VkNVVMLAotICAgIDB4NWFlMjM5ZThVTCwgMHg1YjIwNTNkZlVMLCAweDU5NjZlZDg2VUwsIDB4NThhNDg3YjFVTCwgMHg1ZGViOTEzNFVMLAotICAgIDB4NWMyOWZiMDNVTCwgMHg1ZTZmNDU1YVVMLCAweDVmYWQyZjZkVUwsIDB4ZTEzNTFiODBVTCwgMHhlMGY3NzFiN1VMLAotICAgIDB4ZTJiMWNmZWVVTCwgMHhlMzczYTVkOVVMLCAweGU2M2NiMzVjVUwsIDB4ZTdmZWQ5NmJVTCwgMHhlNWI4NjczMlVMLAotICAgIDB4ZTQ3YTBkMDVVTCwgMHhlZjI2NGEzOFVMLCAweGVlZTQyMDBmVUwsIDB4ZWNhMjllNTZVTCwgMHhlZDYwZjQ2MVVMLAotICAgIDB4ZTgyZmUyZTRVTCwgMHhlOWVkODhkM1VMLCAweGViYWIzNjhhVUwsIDB4ZWE2OTVjYmRVTCwgMHhmZDEzYjhmMFVMLAotICAgIDB4ZmNkMWQyYzdVTCwgMHhmZTk3NmM5ZVVMLCAweGZmNTUwNmE5VUwsIDB4ZmExYTEwMmNVTCwgMHhmYmQ4N2ExYlVMLAotICAgIDB4Zjk5ZWM0NDJVTCwgMHhmODVjYWU3NVVMLCAweGYzMDBlOTQ4VUwsIDB4ZjJjMjgzN2ZVTCwgMHhmMDg0M2QyNlVMLAotICAgIDB4ZjE0NjU3MTFVTCwgMHhmNDA5NDE5NFVMLCAweGY1Y2IyYmEzVUwsIDB4Zjc4ZDk1ZmFVTCwgMHhmNjRmZmZjZFVMLAotICAgIDB4ZDk3ODVkNjBVTCwgMHhkOGJhMzc1N1VMLCAweGRhZmM4OTBlVUwsIDB4ZGIzZWUzMzlVTCwgMHhkZTcxZjViY1VMLAotICAgIDB4ZGZiMzlmOGJVTCwgMHhkZGY1MjFkMlVMLCAweGRjMzc0YmU1VUwsIDB4ZDc2YjBjZDhVTCwgMHhkNmE5NjZlZlVMLAotICAgIDB4ZDRlZmQ4YjZVTCwgMHhkNTJkYjI4MVVMLCAweGQwNjJhNDA0VUwsIDB4ZDFhMGNlMzNVTCwgMHhkM2U2NzA2YVVMLAotICAgIDB4ZDIyNDFhNWRVTCwgMHhjNTVlZmUxMFVMLCAweGM0OWM5NDI3VUwsIDB4YzZkYTJhN2VVTCwgMHhjNzE4NDA0OVVMLAotICAgIDB4YzI1NzU2Y2NVTCwgMHhjMzk1M2NmYlVMLCAweGMxZDM4MmEyVUwsIDB4YzAxMWU4OTVVTCwgMHhjYjRkYWZhOFVMLAotICAgIDB4Y2E4ZmM1OWZVTCwgMHhjOGM5N2JjNlVMLCAweGM5MGIxMWYxVUwsIDB4Y2M0NDA3NzRVTCwgMHhjZDg2NmQ0M1VMLAotICAgIDB4Y2ZjMGQzMWFVTCwgMHhjZTAyYjkyZFVMLCAweDkxYWY5NjQwVUwsIDB4OTA2ZGZjNzdVTCwgMHg5MjJiNDIyZVVMLAotICAgIDB4OTNlOTI4MTlVTCwgMHg5NmE2M2U5Y1VMLCAweDk3NjQ1NGFiVUwsIDB4OTUyMmVhZjJVTCwgMHg5NGUwODBjNVVMLAotICAgIDB4OWZiY2M3ZjhVTCwgMHg5ZTdlYWRjZlVMLCAweDljMzgxMzk2VUwsIDB4OWRmYTc5YTFVTCwgMHg5OGI1NmYyNFVMLAotICAgIDB4OTk3NzA1MTNVTCwgMHg5YjMxYmI0YVVMLCAweDlhZjNkMTdkVUwsIDB4OGQ4OTM1MzBVTCwgMHg4YzRiNWYwN1VMLAotICAgIDB4OGUwZGUxNWVVTCwgMHg4ZmNmOGI2OVVMLCAweDhhODA5ZGVjVUwsIDB4OGI0MmY3ZGJVTCwgMHg4OTA0NDk4MlVMLAotICAgIDB4ODhjNjIzYjVVTCwgMHg4MzlhNjQ4OFVMLCAweDgyNTgwZWJmVUwsIDB4ODAxZWIwZTZVTCwgMHg4MWRjZGFkMVVMLAotICAgIDB4ODQ5M2NjNTRVTCwgMHg4NTUxYTY2M1VMLCAweDg3MTcxODNhVUwsIDB4ODZkNTcyMGRVTCwgMHhhOWUyZDBhMFVMLAotICAgIDB4YTgyMGJhOTdVTCwgMHhhYTY2MDRjZVVMLCAweGFiYTQ2ZWY5VUwsIDB4YWVlYjc4N2NVTCwgMHhhZjI5MTI0YlVMLAotICAgIDB4YWQ2ZmFjMTJVTCwgMHhhY2FkYzYyNVVMLCAweGE3ZjE4MTE4VUwsIDB4YTYzM2ViMmZVTCwgMHhhNDc1NTU3NlVMLAotICAgIDB4YTViNzNmNDFVTCwgMHhhMGY4MjljNFVMLCAweGExM2E0M2YzVUwsIDB4YTM3Y2ZkYWFVTCwgMHhhMmJlOTc5ZFVMLAotICAgIDB4YjVjNDczZDBVTCwgMHhiNDA2MTllN1VMLCAweGI2NDBhN2JlVUwsIDB4Yjc4MmNkODlVTCwgMHhiMmNkZGIwY1VMLAotICAgIDB4YjMwZmIxM2JVTCwgMHhiMTQ5MGY2MlVMLCAweGIwOGI2NTU1VUwsIDB4YmJkNzIyNjhVTCwgMHhiYTE1NDg1ZlVMLAotICAgIDB4Yjg1M2Y2MDZVTCwgMHhiOTkxOWMzMVVMLCAweGJjZGU4YWI0VUwsIDB4YmQxY2UwODNVTCwgMHhiZjVhNWVkYVVMLAotICAgIDB4YmU5ODM0ZWRVTAotICB9LAotICB7Ci0gICAgMHgwMDAwMDAwMFVMLCAweGI4YmM2NzY1VUwsIDB4YWEwOWM4OGJVTCwgMHgxMmI1YWZlZVVMLCAweDhmNjI5NzU3VUwsCi0gICAgMHgzN2RlZjAzMlVMLCAweDI1NmI1ZmRjVUwsIDB4OWRkNzM4YjlVTCwgMHhjNWI0MjhlZlVMLCAweDdkMDg0ZjhhVUwsCi0gICAgMHg2ZmJkZTA2NFVMLCAweGQ3MDE4NzAxVUwsIDB4NGFkNmJmYjhVTCwgMHhmMjZhZDhkZFVMLCAweGUwZGY3NzMzVUwsCi0gICAgMHg1ODYzMTA1NlVMLCAweDUwMTk1NzlmVUwsIDB4ZThhNTMwZmFVTCwgMHhmYTEwOWYxNFVMLCAweDQyYWNmODcxVUwsCi0gICAgMHhkZjdiYzBjOFVMLCAweDY3YzdhN2FkVUwsIDB4NzU3MjA4NDNVTCwgMHhjZGNlNmYyNlVMLCAweDk1YWQ3ZjcwVUwsCi0gICAgMHgyZDExMTgxNVVMLCAweDNmYTRiN2ZiVUwsIDB4ODcxOGQwOWVVTCwgMHgxYWNmZTgyN1VMLCAweGEyNzM4ZjQyVUwsCi0gICAgMHhiMGM2MjBhY1VMLCAweDA4N2E0N2M5VUwsIDB4YTAzMmFmM2VVTCwgMHgxODhlYzg1YlVMLCAweDBhM2I2N2I1VUwsCi0gICAgMHhiMjg3MDBkMFVMLCAweDJmNTAzODY5VUwsIDB4OTdlYzVmMGNVTCwgMHg4NTU5ZjBlMlVMLCAweDNkZTU5Nzg3VUwsCi0gICAgMHg2NTg2ODdkMVVMLCAweGRkM2FlMGI0VUwsIDB4Y2Y4ZjRmNWFVTCwgMHg3NzMzMjgzZlVMLCAweGVhZTQxMDg2VUwsCi0gICAgMHg1MjU4NzdlM1VMLCAweDQwZWRkODBkVUwsIDB4Zjg1MWJmNjhVTCwgMHhmMDJiZjhhMVVMLCAweDQ4OTc5ZmM0VUwsCi0gICAgMHg1YTIyMzAyYVVMLCAweGUyOWU1NzRmVUwsIDB4N2Y0OTZmZjZVTCwgMHhjN2Y1MDg5M1VMLCAweGQ1NDBhNzdkVUwsCi0gICAgMHg2ZGZjYzAxOFVMLCAweDM1OWZkMDRlVUwsIDB4OGQyM2I3MmJVTCwgMHg5Zjk2MThjNVVMLCAweDI3MmE3ZmEwVUwsCi0gICAgMHhiYWZkNDcxOVVMLCAweDAyNDEyMDdjVUwsIDB4MTBmNDhmOTJVTCwgMHhhODQ4ZThmN1VMLCAweDliMTQ1ODNkVUwsCi0gICAgMHgyM2E4M2Y1OFVMLCAweDMxMWQ5MGI2VUwsIDB4ODlhMWY3ZDNVTCwgMHgxNDc2Y2Y2YVVMLCAweGFjY2FhODBmVUwsCi0gICAgMHhiZTdmMDdlMVVMLCAweDA2YzM2MDg0VUwsIDB4NWVhMDcwZDJVTCwgMHhlNjFjMTdiN1VMLCAweGY0YTliODU5VUwsCi0gICAgMHg0YzE1ZGYzY1VMLCAweGQxYzJlNzg1VUwsIDB4Njk3ZTgwZTBVTCwgMHg3YmNiMmYwZVVMLCAweGMzNzc0ODZiVUwsCi0gICAgMHhjYjBkMGZhMlVMLCAweDczYjE2OGM3VUwsIDB4NjEwNGM3MjlVTCwgMHhkOWI4YTA0Y1VMLCAweDQ0NmY5OGY1VUwsCi0gICAgMHhmY2QzZmY5MFVMLCAweGVlNjY1MDdlVUwsIDB4NTZkYTM3MWJVTCwgMHgwZWI5Mjc0ZFVMLCAweGI2MDU0MDI4VUwsCi0gICAgMHhhNGIwZWZjNlVMLCAweDFjMGM4OGEzVUwsIDB4ODFkYmIwMWFVTCwgMHgzOTY3ZDc3ZlVMLCAweDJiZDI3ODkxVUwsCi0gICAgMHg5MzZlMWZmNFVMLCAweDNiMjZmNzAzVUwsIDB4ODM5YTkwNjZVTCwgMHg5MTJmM2Y4OFVMLCAweDI5OTM1OGVkVUwsCi0gICAgMHhiNDQ0NjA1NFVMLCAweDBjZjgwNzMxVUwsIDB4MWU0ZGE4ZGZVTCwgMHhhNmYxY2ZiYVVMLCAweGZlOTJkZmVjVUwsCi0gICAgMHg0NjJlYjg4OVVMLCAweDU0OWIxNzY3VUwsIDB4ZWMyNzcwMDJVTCwgMHg3MWYwNDhiYlVMLCAweGM5NGMyZmRlVUwsCi0gICAgMHhkYmY5ODAzMFVMLCAweDYzNDVlNzU1VUwsIDB4NmIzZmEwOWNVTCwgMHhkMzgzYzdmOVVMLCAweGMxMzY2ODE3VUwsCi0gICAgMHg3OThhMGY3MlVMLCAweGU0NWQzN2NiVUwsIDB4NWNlMTUwYWVVTCwgMHg0ZTU0ZmY0MFVMLCAweGY2ZTg5ODI1VUwsCi0gICAgMHhhZThiODg3M1VMLCAweDE2MzdlZjE2VUwsIDB4MDQ4MjQwZjhVTCwgMHhiYzNlMjc5ZFVMLCAweDIxZTkxZjI0VUwsCi0gICAgMHg5OTU1Nzg0MVVMLCAweDhiZTBkN2FmVUwsIDB4MzM1Y2IwY2FVTCwgMHhlZDU5YjYzYlVMLCAweDU1ZTVkMTVlVUwsCi0gICAgMHg0NzUwN2ViMFVMLCAweGZmZWMxOWQ1VUwsIDB4NjIzYjIxNmNVTCwgMHhkYTg3NDYwOVVMLCAweGM4MzJlOWU3VUwsCi0gICAgMHg3MDhlOGU4MlVMLCAweDI4ZWQ5ZWQ0VUwsIDB4OTA1MWY5YjFVTCwgMHg4MmU0NTY1ZlVMLCAweDNhNTgzMTNhVUwsCi0gICAgMHhhNzhmMDk4M1VMLCAweDFmMzM2ZWU2VUwsIDB4MGQ4NmMxMDhVTCwgMHhiNTNhYTY2ZFVMLCAweGJkNDBlMWE0VUwsCi0gICAgMHgwNWZjODZjMVVMLCAweDE3NDkyOTJmVUwsIDB4YWZmNTRlNGFVTCwgMHgzMjIyNzZmM1VMLCAweDhhOWUxMTk2VUwsCi0gICAgMHg5ODJiYmU3OFVMLCAweDIwOTdkOTFkVUwsIDB4NzhmNGM5NGJVTCwgMHhjMDQ4YWUyZVVMLCAweGQyZmQwMWMwVUwsCi0gICAgMHg2YTQxNjZhNVVMLCAweGY3OTY1ZTFjVUwsIDB4NGYyYTM5NzlVTCwgMHg1ZDlmOTY5N1VMLCAweGU1MjNmMWYyVUwsCi0gICAgMHg0ZDZiMTkwNVVMLCAweGY1ZDc3ZTYwVUwsIDB4ZTc2MmQxOGVVTCwgMHg1ZmRlYjZlYlVMLCAweGMyMDk4ZTUyVUwsCi0gICAgMHg3YWI1ZTkzN1VMLCAweDY4MDA0NmQ5VUwsIDB4ZDBiYzIxYmNVTCwgMHg4OGRmMzFlYVVMLCAweDMwNjM1NjhmVUwsCi0gICAgMHgyMmQ2Zjk2MVVMLCAweDlhNmE5ZTA0VUwsIDB4MDdiZGE2YmRVTCwgMHhiZjAxYzFkOFVMLCAweGFkYjQ2ZTM2VUwsCi0gICAgMHgxNTA4MDk1M1VMLCAweDFkNzI0ZTlhVUwsIDB4YTVjZTI5ZmZVTCwgMHhiNzdiODYxMVVMLCAweDBmYzdlMTc0VUwsCi0gICAgMHg5MjEwZDljZFVMLCAweDJhYWNiZWE4VUwsIDB4MzgxOTExNDZVTCwgMHg4MGE1NzYyM1VMLCAweGQ4YzY2Njc1VUwsCi0gICAgMHg2MDdhMDExMFVMLCAweDcyY2ZhZWZlVUwsIDB4Y2E3M2M5OWJVTCwgMHg1N2E0ZjEyMlVMLCAweGVmMTg5NjQ3VUwsCi0gICAgMHhmZGFkMzlhOVVMLCAweDQ1MTE1ZWNjVUwsIDB4NzY0ZGVlMDZVTCwgMHhjZWYxODk2M1VMLCAweGRjNDQyNjhkVUwsCi0gICAgMHg2NGY4NDFlOFVMLCAweGY5MmY3OTUxVUwsIDB4NDE5MzFlMzRVTCwgMHg1MzI2YjFkYVVMLCAweGViOWFkNmJmVUwsCi0gICAgMHhiM2Y5YzZlOVVMLCAweDBiNDVhMThjVUwsIDB4MTlmMDBlNjJVTCwgMHhhMTRjNjkwN1VMLCAweDNjOWI1MWJlVUwsCi0gICAgMHg4NDI3MzZkYlVMLCAweDk2OTI5OTM1VUwsIDB4MmUyZWZlNTBVTCwgMHgyNjU0Yjk5OVVMLCAweDllZThkZWZjVUwsCi0gICAgMHg4YzVkNzExMlVMLCAweDM0ZTExNjc3VUwsIDB4YTkzNjJlY2VVTCwgMHgxMThhNDlhYlVMLCAweDAzM2ZlNjQ1VUwsCi0gICAgMHhiYjgzODEyMFVMLCAweGUzZTA5MTc2VUwsIDB4NWI1Y2Y2MTNVTCwgMHg0OWU5NTlmZFVMLCAweGYxNTUzZTk4VUwsCi0gICAgMHg2YzgyMDYyMVVMLCAweGQ0M2U2MTQ0VUwsIDB4YzY4YmNlYWFVTCwgMHg3ZTM3YTljZlVMLCAweGQ2N2Y0MTM4VUwsCi0gICAgMHg2ZWMzMjY1ZFVMLCAweDdjNzY4OWIzVUwsIDB4YzRjYWVlZDZVTCwgMHg1OTFkZDY2ZlVMLCAweGUxYTFiMTBhVUwsCi0gICAgMHhmMzE0MWVlNFVMLCAweDRiYTg3OTgxVUwsIDB4MTNjYjY5ZDdVTCwgMHhhYjc3MGViMlVMLCAweGI5YzJhMTVjVUwsCi0gICAgMHgwMTdlYzYzOVVMLCAweDljYTlmZTgwVUwsIDB4MjQxNTk5ZTVVTCwgMHgzNmEwMzYwYlVMLCAweDhlMWM1MTZlVUwsCi0gICAgMHg4NjY2MTZhN1VMLCAweDNlZGE3MWMyVUwsIDB4MmM2ZmRlMmNVTCwgMHg5NGQzYjk0OVVMLCAweDA5MDQ4MWYwVUwsCi0gICAgMHhiMWI4ZTY5NVVMLCAweGEzMGQ0OTdiVUwsIDB4MWJiMTJlMWVVTCwgMHg0M2QyM2U0OFVMLCAweGZiNmU1OTJkVUwsCi0gICAgMHhlOWRiZjZjM1VMLCAweDUxNjc5MWE2VUwsIDB4Y2NiMGE5MWZVTCwgMHg3NDBjY2U3YVVMLCAweDY2Yjk2MTk0VUwsCi0gICAgMHhkZTA1MDZmMVVMCi0gIH0sCi0gIHsKLSAgICAweDAwMDAwMDAwVUwsIDB4OTYzMDA3NzdVTCwgMHgyYzYxMGVlZVVMLCAweGJhNTEwOTk5VUwsIDB4MTljNDZkMDdVTCwKLSAgICAweDhmZjQ2YTcwVUwsIDB4MzVhNTYzZTlVTCwgMHhhMzk1NjQ5ZVVMLCAweDMyODhkYjBlVUwsIDB4YTRiOGRjNzlVTCwKLSAgICAweDFlZTlkNWUwVUwsIDB4ODhkOWQyOTdVTCwgMHgyYjRjYjYwOVVMLCAweGJkN2NiMTdlVUwsIDB4MDcyZGI4ZTdVTCwKLSAgICAweDkxMWRiZjkwVUwsIDB4NjQxMGI3MWRVTCwgMHhmMjIwYjA2YVVMLCAweDQ4NzFiOWYzVUwsIDB4ZGU0MWJlODRVTCwKLSAgICAweDdkZDRkYTFhVUwsIDB4ZWJlNGRkNmRVTCwgMHg1MWI1ZDRmNFVMLCAweGM3ODVkMzgzVUwsIDB4NTY5ODZjMTNVTCwKLSAgICAweGMwYTg2YjY0VUwsIDB4N2FmOTYyZmRVTCwgMHhlY2M5NjU4YVVMLCAweDRmNWMwMTE0VUwsIDB4ZDk2YzA2NjNVTCwKLSAgICAweDYzM2QwZmZhVUwsIDB4ZjUwZDA4OGRVTCwgMHhjODIwNmUzYlVMLCAweDVlMTA2OTRjVUwsIDB4ZTQ0MTYwZDVVTCwKLSAgICAweDcyNzE2N2EyVUwsIDB4ZDFlNDAzM2NVTCwgMHg0N2Q0MDQ0YlVMLCAweGZkODUwZGQyVUwsIDB4NmJiNTBhYTVVTCwKLSAgICAweGZhYThiNTM1VUwsIDB4NmM5OGIyNDJVTCwgMHhkNmM5YmJkYlVMLCAweDQwZjliY2FjVUwsIDB4ZTM2Y2Q4MzJVTCwKLSAgICAweDc1NWNkZjQ1VUwsIDB4Y2YwZGQ2ZGNVTCwgMHg1OTNkZDFhYlVMLCAweGFjMzBkOTI2VUwsIDB4M2EwMGRlNTFVTCwKLSAgICAweDgwNTFkN2M4VUwsIDB4MTY2MWQwYmZVTCwgMHhiNWY0YjQyMVVMLCAweDIzYzRiMzU2VUwsIDB4OTk5NWJhY2ZVTCwKLSAgICAweDBmYTViZGI4VUwsIDB4OWViODAyMjhVTCwgMHgwODg4MDU1ZlVMLCAweGIyZDkwY2M2VUwsIDB4MjRlOTBiYjFVTCwKLSAgICAweDg3N2M2ZjJmVUwsIDB4MTE0YzY4NThVTCwgMHhhYjFkNjFjMVVMLCAweDNkMmQ2NmI2VUwsIDB4OTA0MWRjNzZVTCwKLSAgICAweDA2NzFkYjAxVUwsIDB4YmMyMGQyOThVTCwgMHgyYTEwZDVlZlVMLCAweDg5ODViMTcxVUwsIDB4MWZiNWI2MDZVTCwKLSAgICAweGE1ZTRiZjlmVUwsIDB4MzNkNGI4ZThVTCwgMHhhMmM5MDc3OFVMLCAweDM0ZjkwMDBmVUwsIDB4OGVhODA5OTZVTCwKLSAgICAweDE4OTgwZWUxVUwsIDB4YmIwZDZhN2ZVTCwgMHgyZDNkNmQwOFVMLCAweDk3NmM2NDkxVUwsIDB4MDE1YzYzZTZVTCwKLSAgICAweGY0NTE2YjZiVUwsIDB4NjI2MTZjMWNVTCwgMHhkODMwNjU4NVVMLCAweDRlMDA2MmYyVUwsIDB4ZWQ5NTA2NmNVTCwKLSAgICAweDdiYTUwMTFiVUwsIDB4YzFmNDA4ODJVTCwgMHg1N2M0MGZmNVVMLCAweGM2ZDliMDY1VUwsIDB4NTBlOWI3MTJVTCwKLSAgICAweGVhYjhiZThiVUwsIDB4N2M4OGI5ZmNVTCwgMHhkZjFkZGQ2MlVMLCAweDQ5MmRkYTE1VUwsIDB4ZjM3Y2QzOGNVTCwKLSAgICAweDY1NGNkNGZiVUwsIDB4NTg2MWIyNGRVTCwgMHhjZTUxYjUzYVVMLCAweDc0MDBiY2EzVUwsIDB4ZTIzMGJiZDRVTCwKLSAgICAweDQxYTVkZjRhVUwsIDB4ZDc5NWQ4M2RVTCwgMHg2ZGM0ZDFhNFVMLCAweGZiZjRkNmQzVUwsIDB4NmFlOTY5NDNVTCwKLSAgICAweGZjZDk2ZTM0VUwsIDB4NDY4ODY3YWRVTCwgMHhkMGI4NjBkYVVMLCAweDczMmQwNDQ0VUwsIDB4ZTUxZDAzMzNVTCwKLSAgICAweDVmNGMwYWFhVUwsIDB4Yzk3YzBkZGRVTCwgMHgzYzcxMDU1MFVMLCAweGFhNDEwMjI3VUwsIDB4MTAxMDBiYmVVTCwKLSAgICAweDg2MjAwY2M5VUwsIDB4MjViNTY4NTdVTCwgMHhiMzg1NmYyMFVMLCAweDA5ZDQ2NmI5VUwsIDB4OWZlNDYxY2VVTCwKLSAgICAweDBlZjlkZTVlVUwsIDB4OThjOWQ5MjlVTCwgMHgyMjk4ZDBiMFVMLCAweGI0YThkN2M3VUwsIDB4MTczZGIzNTlVTCwKLSAgICAweDgxMGRiNDJlVUwsIDB4M2I1Y2JkYjdVTCwgMHhhZDZjYmFjMFVMLCAweDIwODNiOGVkVUwsIDB4YjZiM2JmOWFVTCwKLSAgICAweDBjZTJiNjAzVUwsIDB4OWFkMmIxNzRVTCwgMHgzOTQ3ZDVlYVVMLCAweGFmNzdkMjlkVUwsIDB4MTUyNmRiMDRVTCwKLSAgICAweDgzMTZkYzczVUwsIDB4MTIwYjYzZTNVTCwgMHg4NDNiNjQ5NFVMLCAweDNlNmE2ZDBkVUwsIDB4YTg1YTZhN2FVTCwKLSAgICAweDBiY2YwZWU0VUwsIDB4OWRmZjA5OTNVTCwgMHgyN2FlMDAwYVVMLCAweGIxOWUwNzdkVUwsIDB4NDQ5MzBmZjBVTCwKLSAgICAweGQyYTMwODg3VUwsIDB4NjhmMjAxMWVVTCwgMHhmZWMyMDY2OVVMLCAweDVkNTc2MmY3VUwsIDB4Y2I2NzY1ODBVTCwKLSAgICAweDcxMzY2YzE5VUwsIDB4ZTcwNjZiNmVVTCwgMHg3NjFiZDRmZVVMLCAweGUwMmJkMzg5VUwsIDB4NWE3YWRhMTBVTCwKLSAgICAweGNjNGFkZDY3VUwsIDB4NmZkZmI5ZjlVTCwgMHhmOWVmYmU4ZVVMLCAweDQzYmViNzE3VUwsIDB4ZDU4ZWIwNjBVTCwKLSAgICAweGU4YTNkNmQ2VUwsIDB4N2U5M2QxYTFVTCwgMHhjNGMyZDgzOFVMLCAweDUyZjJkZjRmVUwsIDB4ZjE2N2JiZDFVTCwKLSAgICAweDY3NTdiY2E2VUwsIDB4ZGQwNmI1M2ZVTCwgMHg0YjM2YjI0OFVMLCAweGRhMmIwZGQ4VUwsIDB4NGMxYjBhYWZVTCwKLSAgICAweGY2NGEwMzM2VUwsIDB4NjA3YTA0NDFVTCwgMHhjM2VmNjBkZlVMLCAweDU1ZGY2N2E4VUwsIDB4ZWY4ZTZlMzFVTCwKLSAgICAweDc5YmU2OTQ2VUwsIDB4OGNiMzYxY2JVTCwgMHgxYTgzNjZiY1VMLCAweGEwZDI2ZjI1VUwsIDB4MzZlMjY4NTJVTCwKLSAgICAweDk1NzcwY2NjVUwsIDB4MDM0NzBiYmJVTCwgMHhiOTE2MDIyMlVMLCAweDJmMjYwNTU1VUwsIDB4YmUzYmJhYzVVTCwKLSAgICAweDI4MGJiZGIyVUwsIDB4OTI1YWI0MmJVTCwgMHgwNDZhYjM1Y1VMLCAweGE3ZmZkN2MyVUwsIDB4MzFjZmQwYjVVTCwKLSAgICAweDhiOWVkOTJjVUwsIDB4MWRhZWRlNWJVTCwgMHhiMGMyNjQ5YlVMLCAweDI2ZjI2M2VjVUwsIDB4OWNhMzZhNzVVTCwKLSAgICAweDBhOTM2ZDAyVUwsIDB4YTkwNjA5OWNVTCwgMHgzZjM2MGVlYlVMLCAweDg1NjcwNzcyVUwsIDB4MTM1NzAwMDVVTCwKLSAgICAweDgyNGFiZjk1VUwsIDB4MTQ3YWI4ZTJVTCwgMHhhZTJiYjE3YlVMLCAweDM4MWJiNjBjVUwsIDB4OWI4ZWQyOTJVTCwKLSAgICAweDBkYmVkNWU1VUwsIDB4YjdlZmRjN2NVTCwgMHgyMWRmZGIwYlVMLCAweGQ0ZDJkMzg2VUwsIDB4NDJlMmQ0ZjFVTCwKLSAgICAweGY4YjNkZDY4VUwsIDB4NmU4M2RhMWZVTCwgMHhjZDE2YmU4MVVMLCAweDViMjZiOWY2VUwsIDB4ZTE3N2IwNmZVTCwKLSAgICAweDc3NDdiNzE4VUwsIDB4ZTY1YTA4ODhVTCwgMHg3MDZhMGZmZlVMLCAweGNhM2IwNjY2VUwsIDB4NWMwYjAxMTFVTCwKLSAgICAweGZmOWU2NThmVUwsIDB4NjlhZTYyZjhVTCwgMHhkM2ZmNmI2MVVMLCAweDQ1Y2Y2YzE2VUwsIDB4NzhlMjBhYTBVTCwKLSAgICAweGVlZDIwZGQ3VUwsIDB4NTQ4MzA0NGVVTCwgMHhjMmIzMDMzOVVMLCAweDYxMjY2N2E3VUwsIDB4ZjcxNjYwZDBVTCwKLSAgICAweDRkNDc2OTQ5VUwsIDB4ZGI3NzZlM2VVTCwgMHg0YTZhZDFhZVVMLCAweGRjNWFkNmQ5VUwsIDB4NjYwYmRmNDBVTCwKLSAgICAweGYwM2JkODM3VUwsIDB4NTNhZWJjYTlVTCwgMHhjNTllYmJkZVVMLCAweDdmY2ZiMjQ3VUwsIDB4ZTlmZmI1MzBVTCwKLSAgICAweDFjZjJiZGJkVUwsIDB4OGFjMmJhY2FVTCwgMHgzMDkzYjM1M1VMLCAweGE2YTNiNDI0VUwsIDB4MDUzNmQwYmFVTCwKLSAgICAweDkzMDZkN2NkVUwsIDB4Mjk1N2RlNTRVTCwgMHhiZjY3ZDkyM1VMLCAweDJlN2E2NmIzVUwsIDB4Yjg0YTYxYzRVTCwKLSAgICAweDAyMWI2ODVkVUwsIDB4OTQyYjZmMmFVTCwgMHgzN2JlMGJiNFVMLCAweGExOGUwY2MzVUwsIDB4MWJkZjA1NWFVTCwKLSAgICAweDhkZWYwMjJkVUwKLSAgfSwKLSAgewotICAgIDB4MDAwMDAwMDBVTCwgMHg0MTMxMWIxOVVMLCAweDgyNjIzNjMyVUwsIDB4YzM1MzJkMmJVTCwgMHgwNGM1NmM2NFVMLAotICAgIDB4NDVmNDc3N2RVTCwgMHg4NmE3NWE1NlVMLCAweGM3OTY0MTRmVUwsIDB4MDg4YWQ5YzhVTCwgMHg0OWJiYzJkMVVMLAotICAgIDB4OGFlOGVmZmFVTCwgMHhjYmQ5ZjRlM1VMLCAweDBjNGZiNWFjVUwsIDB4NGQ3ZWFlYjVVTCwgMHg4ZTJkODM5ZVVMLAotICAgIDB4Y2YxYzk4ODdVTCwgMHg1MTEyYzI0YVVMLCAweDEwMjNkOTUzVUwsIDB4ZDM3MGY0NzhVTCwgMHg5MjQxZWY2MVVMLAotICAgIDB4NTVkN2FlMmVVTCwgMHgxNGU2YjUzN1VMLCAweGQ3YjU5ODFjVUwsIDB4OTY4NDgzMDVVTCwgMHg1OTk4MWI4MlVMLAotICAgIDB4MThhOTAwOWJVTCwgMHhkYmZhMmRiMFVMLCAweDlhY2IzNmE5VUwsIDB4NWQ1ZDc3ZTZVTCwgMHgxYzZjNmNmZlVMLAotICAgIDB4ZGYzZjQxZDRVTCwgMHg5ZTBlNWFjZFVMLCAweGEyMjQ4NDk1VUwsIDB4ZTMxNTlmOGNVTCwgMHgyMDQ2YjJhN1VMLAotICAgIDB4NjE3N2E5YmVVTCwgMHhhNmUxZThmMVVMLCAweGU3ZDBmM2U4VUwsIDB4MjQ4M2RlYzNVTCwgMHg2NWIyYzVkYVVMLAotICAgIDB4YWFhZTVkNWRVTCwgMHhlYjlmNDY0NFVMLCAweDI4Y2M2YjZmVUwsIDB4NjlmZDcwNzZVTCwgMHhhZTZiMzEzOVVMLAotICAgIDB4ZWY1YTJhMjBVTCwgMHgyYzA5MDcwYlVMLCAweDZkMzgxYzEyVUwsIDB4ZjMzNjQ2ZGZVTCwgMHhiMjA3NWRjNlVMLAotICAgIDB4NzE1NDcwZWRVTCwgMHgzMDY1NmJmNFVMLCAweGY3ZjMyYWJiVUwsIDB4YjZjMjMxYTJVTCwgMHg3NTkxMWM4OVVMLAotICAgIDB4MzRhMDA3OTBVTCwgMHhmYmJjOWYxN1VMLCAweGJhOGQ4NDBlVUwsIDB4NzlkZWE5MjVVTCwgMHgzOGVmYjIzY1VMLAotICAgIDB4ZmY3OWYzNzNVTCwgMHhiZTQ4ZTg2YVVMLCAweDdkMWJjNTQxVUwsIDB4M2MyYWRlNThVTCwgMHgwNTRmNzlmMFVMLAotICAgIDB4NDQ3ZTYyZTlVTCwgMHg4NzJkNGZjMlVMLCAweGM2MWM1NGRiVUwsIDB4MDE4YTE1OTRVTCwgMHg0MGJiMGU4ZFVMLAotICAgIDB4ODNlODIzYTZVTCwgMHhjMmQ5MzhiZlVMLCAweDBkYzVhMDM4VUwsIDB4NGNmNGJiMjFVTCwgMHg4ZmE3OTYwYVVMLAotICAgIDB4Y2U5NjhkMTNVTCwgMHgwOTAwY2M1Y1VMLCAweDQ4MzFkNzQ1VUwsIDB4OGI2MmZhNmVVTCwgMHhjYTUzZTE3N1VMLAotICAgIDB4NTQ1ZGJiYmFVTCwgMHgxNTZjYTBhM1VMLCAweGQ2M2Y4ZDg4VUwsIDB4OTcwZTk2OTFVTCwgMHg1MDk4ZDdkZVVMLAotICAgIDB4MTFhOWNjYzdVTCwgMHhkMmZhZTFlY1VMLCAweDkzY2JmYWY1VUwsIDB4NWNkNzYyNzJVTCwgMHgxZGU2Nzk2YlVMLAotICAgIDB4ZGViNTU0NDBVTCwgMHg5Zjg0NGY1OVVMLCAweDU4MTIwZTE2VUwsIDB4MTkyMzE1MGZVTCwgMHhkYTcwMzgyNFVMLAotICAgIDB4OWI0MTIzM2RVTCwgMHhhNzZiZmQ2NVVMLCAweGU2NWFlNjdjVUwsIDB4MjUwOWNiNTdVTCwgMHg2NDM4ZDA0ZVVMLAotICAgIDB4YTNhZTkxMDFVTCwgMHhlMjlmOGExOFVMLCAweDIxY2NhNzMzVUwsIDB4NjBmZGJjMmFVTCwgMHhhZmUxMjRhZFVMLAotICAgIDB4ZWVkMDNmYjRVTCwgMHgyZDgzMTI5ZlVMLCAweDZjYjIwOTg2VUwsIDB4YWIyNDQ4YzlVTCwgMHhlYTE1NTNkMFVMLAotICAgIDB4Mjk0NjdlZmJVTCwgMHg2ODc3NjVlMlVMLCAweGY2NzkzZjJmVUwsIDB4Yjc0ODI0MzZVTCwgMHg3NDFiMDkxZFVMLAotICAgIDB4MzUyYTEyMDRVTCwgMHhmMmJjNTM0YlVMLCAweGIzOGQ0ODUyVUwsIDB4NzBkZTY1NzlVTCwgMHgzMWVmN2U2MFVMLAotICAgIDB4ZmVmM2U2ZTdVTCwgMHhiZmMyZmRmZVVMLCAweDdjOTFkMGQ1VUwsIDB4M2RhMGNiY2NVTCwgMHhmYTM2OGE4M1VMLAotICAgIDB4YmIwNzkxOWFVTCwgMHg3ODU0YmNiMVVMLCAweDM5NjVhN2E4VUwsIDB4NGI5ODgzM2JVTCwgMHgwYWE5OTgyMlVMLAotICAgIDB4YzlmYWI1MDlVTCwgMHg4OGNiYWUxMFVMLCAweDRmNWRlZjVmVUwsIDB4MGU2Y2Y0NDZVTCwgMHhjZDNmZDk2ZFVMLAotICAgIDB4OGMwZWMyNzRVTCwgMHg0MzEyNWFmM1VMLCAweDAyMjM0MWVhVUwsIDB4YzE3MDZjYzFVTCwgMHg4MDQxNzdkOFVMLAotICAgIDB4NDdkNzM2OTdVTCwgMHgwNmU2MmQ4ZVVMLCAweGM1YjUwMGE1VUwsIDB4ODQ4NDFiYmNVTCwgMHgxYThhNDE3MVVMLAotICAgIDB4NWJiYjVhNjhVTCwgMHg5OGU4Nzc0M1VMLCAweGQ5ZDk2YzVhVUwsIDB4MWU0ZjJkMTVVTCwgMHg1ZjdlMzYwY1VMLAotICAgIDB4OWMyZDFiMjdVTCwgMHhkZDFjMDAzZVVMLCAweDEyMDA5OGI5VUwsIDB4NTMzMTgzYTBVTCwgMHg5MDYyYWU4YlVMLAotICAgIDB4ZDE1M2I1OTJVTCwgMHgxNmM1ZjRkZFVMLCAweDU3ZjRlZmM0VUwsIDB4OTRhN2MyZWZVTCwgMHhkNTk2ZDlmNlVMLAotICAgIDB4ZTliYzA3YWVVTCwgMHhhODhkMWNiN1VMLCAweDZiZGUzMTljVUwsIDB4MmFlZjJhODVVTCwgMHhlZDc5NmJjYVVMLAotICAgIDB4YWM0ODcwZDNVTCwgMHg2ZjFiNWRmOFVMLCAweDJlMmE0NmUxVUwsIDB4ZTEzNmRlNjZVTCwgMHhhMDA3YzU3ZlVMLAotICAgIDB4NjM1NGU4NTRVTCwgMHgyMjY1ZjM0ZFVMLCAweGU1ZjNiMjAyVUwsIDB4YTRjMmE5MWJVTCwgMHg2NzkxODQzMFVMLAotICAgIDB4MjZhMDlmMjlVTCwgMHhiOGFlYzVlNFVMLCAweGY5OWZkZWZkVUwsIDB4M2FjY2YzZDZVTCwgMHg3YmZkZThjZlVMLAotICAgIDB4YmM2YmE5ODBVTCwgMHhmZDVhYjI5OVVMLCAweDNlMDk5ZmIyVUwsIDB4N2YzODg0YWJVTCwgMHhiMDI0MWMyY1VMLAotICAgIDB4ZjExNTA3MzVVTCwgMHgzMjQ2MmExZVVMLCAweDczNzczMTA3VUwsIDB4YjRlMTcwNDhVTCwgMHhmNWQwNmI1MVVMLAotICAgIDB4MzY4MzQ2N2FVTCwgMHg3N2IyNWQ2M1VMLCAweDRlZDdmYWNiVUwsIDB4MGZlNmUxZDJVTCwgMHhjY2I1Y2NmOVVMLAotICAgIDB4OGQ4NGQ3ZTBVTCwgMHg0YTEyOTZhZlVMLCAweDBiMjM4ZGI2VUwsIDB4Yzg3MGEwOWRVTCwgMHg4OTQxYmI4NFVMLAotICAgIDB4NDY1ZDIzMDNVTCwgMHgwNzZjMzgxYVVMLCAweGM0M2YxNTMxVUwsIDB4ODUwZTBlMjhVTCwgMHg0Mjk4NGY2N1VMLAotICAgIDB4MDNhOTU0N2VVTCwgMHhjMGZhNzk1NVVMLCAweDgxY2I2MjRjVUwsIDB4MWZjNTM4ODFVTCwgMHg1ZWY0MjM5OFVMLAotICAgIDB4OWRhNzBlYjNVTCwgMHhkYzk2MTVhYVVMLCAweDFiMDA1NGU1VUwsIDB4NWEzMTRmZmNVTCwgMHg5OTYyNjJkN1VMLAotICAgIDB4ZDg1Mzc5Y2VVTCwgMHgxNzRmZTE0OVVMLCAweDU2N2VmYTUwVUwsIDB4OTUyZGQ3N2JVTCwgMHhkNDFjY2M2MlVMLAotICAgIDB4MTM4YThkMmRVTCwgMHg1MmJiOTYzNFVMLCAweDkxZThiYjFmVUwsIDB4ZDBkOWEwMDZVTCwgMHhlY2YzN2U1ZVVMLAotICAgIDB4YWRjMjY1NDdVTCwgMHg2ZTkxNDg2Y1VMLCAweDJmYTA1Mzc1VUwsIDB4ZTgzNjEyM2FVTCwgMHhhOTA3MDkyM1VMLAotICAgIDB4NmE1NDI0MDhVTCwgMHgyYjY1M2YxMVVMLCAweGU0NzlhNzk2VUwsIDB4YTU0OGJjOGZVTCwgMHg2NjFiOTFhNFVMLAotICAgIDB4MjcyYThhYmRVTCwgMHhlMGJjY2JmMlVMLCAweGExOGRkMGViVUwsIDB4NjJkZWZkYzBVTCwgMHgyM2VmZTZkOVVMLAotICAgIDB4YmRlMWJjMTRVTCwgMHhmY2QwYTcwZFVMLCAweDNmODM4YTI2VUwsIDB4N2ViMjkxM2ZVTCwgMHhiOTI0ZDA3MFVMLAotICAgIDB4ZjgxNWNiNjlVTCwgMHgzYjQ2ZTY0MlVMLCAweDdhNzdmZDViVUwsIDB4YjU2YjY1ZGNVTCwgMHhmNDVhN2VjNVVMLAotICAgIDB4MzcwOTUzZWVVTCwgMHg3NjM4NDhmN1VMLCAweGIxYWUwOWI4VUwsIDB4ZjA5ZjEyYTFVTCwgMHgzM2NjM2Y4YVVMLAotICAgIDB4NzJmZDI0OTNVTAotICB9LAotICB7Ci0gICAgMHgwMDAwMDAwMFVMLCAweDM3NmFjMjAxVUwsIDB4NmVkNDg0MDNVTCwgMHg1OWJlNDYwMlVMLCAweGRjYTgwOTA3VUwsCi0gICAgMHhlYmMyY2IwNlVMLCAweGIyN2M4ZDA0VUwsIDB4ODUxNjRmMDVVTCwgMHhiODUxMTMwZVVMLCAweDhmM2JkMTBmVUwsCi0gICAgMHhkNjg1OTcwZFVMLCAweGUxZWY1NTBjVUwsIDB4NjRmOTFhMDlVTCwgMHg1MzkzZDgwOFVMLCAweDBhMmQ5ZTBhVUwsCi0gICAgMHgzZDQ3NWMwYlVMLCAweDcwYTMyNjFjVUwsIDB4NDdjOWU0MWRVTCwgMHgxZTc3YTIxZlVMLCAweDI5MWQ2MDFlVUwsCi0gICAgMHhhYzBiMmYxYlVMLCAweDliNjFlZDFhVUwsIDB4YzJkZmFiMThVTCwgMHhmNWI1NjkxOVVMLCAweGM4ZjIzNTEyVUwsCi0gICAgMHhmZjk4ZjcxM1VMLCAweGE2MjZiMTExVUwsIDB4OTE0YzczMTBVTCwgMHgxNDVhM2MxNVVMLCAweDIzMzBmZTE0VUwsCi0gICAgMHg3YThlYjgxNlVMLCAweDRkZTQ3YTE3VUwsIDB4ZTA0NjRkMzhVTCwgMHhkNzJjOGYzOVVMLCAweDhlOTJjOTNiVUwsCi0gICAgMHhiOWY4MGIzYVVMLCAweDNjZWU0NDNmVUwsIDB4MGI4NDg2M2VVTCwgMHg1MjNhYzAzY1VMLCAweDY1NTAwMjNkVUwsCi0gICAgMHg1ODE3NWUzNlVMLCAweDZmN2Q5YzM3VUwsIDB4MzZjM2RhMzVVTCwgMHgwMWE5MTgzNFVMLCAweDg0YmY1NzMxVUwsCi0gICAgMHhiM2Q1OTUzMFVMLCAweGVhNmJkMzMyVUwsIDB4ZGQwMTExMzNVTCwgMHg5MGU1NmIyNFVMLCAweGE3OGZhOTI1VUwsCi0gICAgMHhmZTMxZWYyN1VMLCAweGM5NWIyZDI2VUwsIDB4NGM0ZDYyMjNVTCwgMHg3YjI3YTAyMlVMLCAweDIyOTllNjIwVUwsCi0gICAgMHgxNWYzMjQyMVVMLCAweDI4YjQ3ODJhVUwsIDB4MWZkZWJhMmJVTCwgMHg0NjYwZmMyOVVMLCAweDcxMGEzZTI4VUwsCi0gICAgMHhmNDFjNzEyZFVMLCAweGMzNzZiMzJjVUwsIDB4OWFjOGY1MmVVTCwgMHhhZGEyMzcyZlVMLCAweGMwOGQ5YTcwVUwsCi0gICAgMHhmN2U3NTg3MVVMLCAweGFlNTkxZTczVUwsIDB4OTkzM2RjNzJVTCwgMHgxYzI1OTM3N1VMLCAweDJiNGY1MTc2VUwsCi0gICAgMHg3MmYxMTc3NFVMLCAweDQ1OWJkNTc1VUwsIDB4NzhkYzg5N2VVTCwgMHg0ZmI2NGI3ZlVMLCAweDE2MDgwZDdkVUwsCi0gICAgMHgyMTYyY2Y3Y1VMLCAweGE0NzQ4MDc5VUwsIDB4OTMxZTQyNzhVTCwgMHhjYWEwMDQ3YVVMLCAweGZkY2FjNjdiVUwsCi0gICAgMHhiMDJlYmM2Y1VMLCAweDg3NDQ3ZTZkVUwsIDB4ZGVmYTM4NmZVTCwgMHhlOTkwZmE2ZVVMLCAweDZjODZiNTZiVUwsCi0gICAgMHg1YmVjNzc2YVVMLCAweDAyNTIzMTY4VUwsIDB4MzUzOGYzNjlVTCwgMHgwODdmYWY2MlVMLCAweDNmMTU2ZDYzVUwsCi0gICAgMHg2NmFiMmI2MVVMLCAweDUxYzFlOTYwVUwsIDB4ZDRkN2E2NjVVTCwgMHhlM2JkNjQ2NFVMLCAweGJhMDMyMjY2VUwsCi0gICAgMHg4ZDY5ZTA2N1VMLCAweDIwY2JkNzQ4VUwsIDB4MTdhMTE1NDlVTCwgMHg0ZTFmNTM0YlVMLCAweDc5NzU5MTRhVUwsCi0gICAgMHhmYzYzZGU0ZlVMLCAweGNiMDkxYzRlVUwsIDB4OTJiNzVhNGNVTCwgMHhhNWRkOTg0ZFVMLCAweDk4OWFjNDQ2VUwsCi0gICAgMHhhZmYwMDY0N1VMLCAweGY2NGU0MDQ1VUwsIDB4YzEyNDgyNDRVTCwgMHg0NDMyY2Q0MVVMLCAweDczNTgwZjQwVUwsCi0gICAgMHgyYWU2NDk0MlVMLCAweDFkOGM4YjQzVUwsIDB4NTA2OGYxNTRVTCwgMHg2NzAyMzM1NVVMLCAweDNlYmM3NTU3VUwsCi0gICAgMHgwOWQ2Yjc1NlVMLCAweDhjYzBmODUzVUwsIDB4YmJhYTNhNTJVTCwgMHhlMjE0N2M1MFVMLCAweGQ1N2ViZTUxVUwsCi0gICAgMHhlODM5ZTI1YVVMLCAweGRmNTMyMDViVUwsIDB4ODZlZDY2NTlVTCwgMHhiMTg3YTQ1OFVMLCAweDM0OTFlYjVkVUwsCi0gICAgMHgwM2ZiMjk1Y1VMLCAweDVhNDU2ZjVlVUwsIDB4NmQyZmFkNWZVTCwgMHg4MDFiMzVlMVVMLCAweGI3NzFmN2UwVUwsCi0gICAgMHhlZWNmYjFlMlVMLCAweGQ5YTU3M2UzVUwsIDB4NWNiMzNjZTZVTCwgMHg2YmQ5ZmVlN1VMLCAweDMyNjdiOGU1VUwsCi0gICAgMHgwNTBkN2FlNFVMLCAweDM4NGEyNmVmVUwsIDB4MGYyMGU0ZWVVTCwgMHg1NjllYTJlY1VMLCAweDYxZjQ2MGVkVUwsCi0gICAgMHhlNGUyMmZlOFVMLCAweGQzODhlZGU5VUwsIDB4OGEzNmFiZWJVTCwgMHhiZDVjNjllYVVMLCAweGYwYjgxM2ZkVUwsCi0gICAgMHhjN2QyZDFmY1VMLCAweDllNmM5N2ZlVUwsIDB4YTkwNjU1ZmZVTCwgMHgyYzEwMWFmYVVMLCAweDFiN2FkOGZiVUwsCi0gICAgMHg0MmM0OWVmOVVMLCAweDc1YWU1Y2Y4VUwsIDB4NDhlOTAwZjNVTCwgMHg3ZjgzYzJmMlVMLCAweDI2M2Q4NGYwVUwsCi0gICAgMHgxMTU3NDZmMVVMLCAweDk0NDEwOWY0VUwsIDB4YTMyYmNiZjVVTCwgMHhmYTk1OGRmN1VMLCAweGNkZmY0ZmY2VUwsCi0gICAgMHg2MDVkNzhkOVVMLCAweDU3MzdiYWQ4VUwsIDB4MGU4OWZjZGFVTCwgMHgzOWUzM2VkYlVMLCAweGJjZjU3MWRlVUwsCi0gICAgMHg4YjlmYjNkZlVMLCAweGQyMjFmNWRkVUwsIDB4ZTU0YjM3ZGNVTCwgMHhkODBjNmJkN1VMLCAweGVmNjZhOWQ2VUwsCi0gICAgMHhiNmQ4ZWZkNFVMLCAweDgxYjIyZGQ1VUwsIDB4MDRhNDYyZDBVTCwgMHgzM2NlYTBkMVVMLCAweDZhNzBlNmQzVUwsCi0gICAgMHg1ZDFhMjRkMlVMLCAweDEwZmU1ZWM1VUwsIDB4Mjc5NDljYzRVTCwgMHg3ZTJhZGFjNlVMLCAweDQ5NDAxOGM3VUwsCi0gICAgMHhjYzU2NTdjMlVMLCAweGZiM2M5NWMzVUwsIDB4YTI4MmQzYzFVTCwgMHg5NWU4MTFjMFVMLCAweGE4YWY0ZGNiVUwsCi0gICAgMHg5ZmM1OGZjYVVMLCAweGM2N2JjOWM4VUwsIDB4ZjExMTBiYzlVTCwgMHg3NDA3NDRjY1VMLCAweDQzNmQ4NmNkVUwsCi0gICAgMHgxYWQzYzBjZlVMLCAweDJkYjkwMmNlVUwsIDB4NDA5NmFmOTFVTCwgMHg3N2ZjNmQ5MFVMLCAweDJlNDIyYjkyVUwsCi0gICAgMHgxOTI4ZTk5M1VMLCAweDljM2VhNjk2VUwsIDB4YWI1NDY0OTdVTCwgMHhmMmVhMjI5NVVMLCAweGM1ODBlMDk0VUwsCi0gICAgMHhmOGM3YmM5ZlVMLCAweGNmYWQ3ZTllVUwsIDB4OTYxMzM4OWNVTCwgMHhhMTc5ZmE5ZFVMLCAweDI0NmZiNTk4VUwsCi0gICAgMHgxMzA1Nzc5OVVMLCAweDRhYmIzMTliVUwsIDB4N2RkMWYzOWFVTCwgMHgzMDM1ODk4ZFVMLCAweDA3NWY0YjhjVUwsCi0gICAgMHg1ZWUxMGQ4ZVVMLCAweDY5OGJjZjhmVUwsIDB4ZWM5ZDgwOGFVTCwgMHhkYmY3NDI4YlVMLCAweDgyNDkwNDg5VUwsCi0gICAgMHhiNTIzYzY4OFVMLCAweDg4NjQ5YTgzVUwsIDB4YmYwZTU4ODJVTCwgMHhlNmIwMWU4MFVMLCAweGQxZGFkYzgxVUwsCi0gICAgMHg1NGNjOTM4NFVMLCAweDYzYTY1MTg1VUwsIDB4M2ExODE3ODdVTCwgMHgwZDcyZDU4NlVMLCAweGEwZDBlMmE5VUwsCi0gICAgMHg5N2JhMjBhOFVMLCAweGNlMDQ2NmFhVUwsIDB4Zjk2ZWE0YWJVTCwgMHg3Yzc4ZWJhZVVMLCAweDRiMTIyOWFmVUwsCi0gICAgMHgxMmFjNmZhZFVMLCAweDI1YzZhZGFjVUwsIDB4MTg4MWYxYTdVTCwgMHgyZmViMzNhNlVMLCAweDc2NTU3NWE0VUwsCi0gICAgMHg0MTNmYjdhNVVMLCAweGM0MjlmOGEwVUwsIDB4ZjM0MzNhYTFVTCwgMHhhYWZkN2NhM1VMLCAweDlkOTdiZWEyVUwsCi0gICAgMHhkMDczYzRiNVVMLCAweGU3MTkwNmI0VUwsIDB4YmVhNzQwYjZVTCwgMHg4OWNkODJiN1VMLCAweDBjZGJjZGIyVUwsCi0gICAgMHgzYmIxMGZiM1VMLCAweDYyMGY0OWIxVUwsIDB4NTU2NThiYjBVTCwgMHg2ODIyZDdiYlVMLCAweDVmNDgxNWJhVUwsCi0gICAgMHgwNmY2NTNiOFVMLCAweDMxOWM5MWI5VUwsIDB4YjQ4YWRlYmNVTCwgMHg4M2UwMWNiZFVMLCAweGRhNWU1YWJmVUwsCi0gICAgMHhlZDM0OThiZVVMCi0gIH0sCi0gIHsKLSAgICAweDAwMDAwMDAwVUwsIDB4NjU2N2JjYjhVTCwgMHg4YmM4MDlhYVVMLCAweGVlYWZiNTEyVUwsIDB4NTc5NzYyOGZVTCwKLSAgICAweDMyZjBkZTM3VUwsIDB4ZGM1ZjZiMjVVTCwgMHhiOTM4ZDc5ZFVMLCAweGVmMjhiNGM1VUwsIDB4OGE0ZjA4N2RVTCwKLSAgICAweDY0ZTBiZDZmVUwsIDB4MDE4NzAxZDdVTCwgMHhiOGJmZDY0YVVMLCAweGRkZDg2YWYyVUwsIDB4MzM3N2RmZTBVTCwKLSAgICAweDU2MTA2MzU4VUwsIDB4OWY1NzE5NTBVTCwgMHhmYTMwYTVlOFVMLCAweDE0OWYxMGZhVUwsIDB4NzFmOGFjNDJVTCwKLSAgICAweGM4YzA3YmRmVUwsIDB4YWRhN2M3NjdVTCwgMHg0MzA4NzI3NVVMLCAweDI2NmZjZWNkVUwsIDB4NzA3ZmFkOTVVTCwKLSAgICAweDE1MTgxMTJkVUwsIDB4ZmJiN2E0M2ZVTCwgMHg5ZWQwMTg4N1VMLCAweDI3ZThjZjFhVUwsIDB4NDI4ZjczYTJVTCwKLSAgICAweGFjMjBjNmIwVUwsIDB4Yzk0NzdhMDhVTCwgMHgzZWFmMzJhMFVMLCAweDViYzg4ZTE4VUwsIDB4YjU2NzNiMGFVTCwKLSAgICAweGQwMDA4N2IyVUwsIDB4NjkzODUwMmZVTCwgMHgwYzVmZWM5N1VMLCAweGUyZjA1OTg1VUwsIDB4ODc5N2U1M2RVTCwKLSAgICAweGQxODc4NjY1VUwsIDB4YjRlMDNhZGRVTCwgMHg1YTRmOGZjZlVMLCAweDNmMjgzMzc3VUwsIDB4ODYxMGU0ZWFVTCwKLSAgICAweGUzNzc1ODUyVUwsIDB4MGRkOGVkNDBVTCwgMHg2OGJmNTFmOFVMLCAweGExZjgyYmYwVUwsIDB4YzQ5Zjk3NDhVTCwKLSAgICAweDJhMzAyMjVhVUwsIDB4NGY1NzllZTJVTCwgMHhmNjZmNDk3ZlVMLCAweDkzMDhmNWM3VUwsIDB4N2RhNzQwZDVVTCwKLSAgICAweDE4YzBmYzZkVUwsIDB4NGVkMDlmMzVVTCwgMHgyYmI3MjM4ZFVMLCAweGM1MTg5NjlmVUwsIDB4YTA3ZjJhMjdVTCwKLSAgICAweDE5NDdmZGJhVUwsIDB4N2MyMDQxMDJVTCwgMHg5MjhmZjQxMFVMLCAweGY3ZTg0OGE4VUwsIDB4M2Q1ODE0OWJVTCwKLSAgICAweDU4M2ZhODIzVUwsIDB4YjY5MDFkMzFVTCwgMHhkM2Y3YTE4OVVMLCAweDZhY2Y3NjE0VUwsIDB4MGZhOGNhYWNVTCwKLSAgICAweGUxMDc3ZmJlVUwsIDB4ODQ2MGMzMDZVTCwgMHhkMjcwYTA1ZVVMLCAweGI3MTcxY2U2VUwsIDB4NTliOGE5ZjRVTCwKLSAgICAweDNjZGYxNTRjVUwsIDB4ODVlN2MyZDFVTCwgMHhlMDgwN2U2OVVMLCAweDBlMmZjYjdiVUwsIDB4NmI0ODc3YzNVTCwKLSAgICAweGEyMGYwZGNiVUwsIDB4Yzc2OGIxNzNVTCwgMHgyOWM3MDQ2MVVMLCAweDRjYTBiOGQ5VUwsIDB4ZjU5ODZmNDRVTCwKLSAgICAweDkwZmZkM2ZjVUwsIDB4N2U1MDY2ZWVVTCwgMHgxYjM3ZGE1NlVMLCAweDRkMjdiOTBlVUwsIDB4Mjg0MDA1YjZVTCwKLSAgICAweGM2ZWZiMGE0VUwsIDB4YTM4ODBjMWNVTCwgMHgxYWIwZGI4MVVMLCAweDdmZDc2NzM5VUwsIDB4OTE3OGQyMmJVTCwKLSAgICAweGY0MWY2ZTkzVUwsIDB4MDNmNzI2M2JVTCwgMHg2NjkwOWE4M1VMLCAweDg4M2YyZjkxVUwsIDB4ZWQ1ODkzMjlVTCwKLSAgICAweDU0NjA0NGI0VUwsIDB4MzEwN2Y4MGNVTCwgMHhkZmE4NGQxZVVMLCAweGJhY2ZmMWE2VUwsIDB4ZWNkZjkyZmVVTCwKLSAgICAweDg5YjgyZTQ2VUwsIDB4NjcxNzliNTRVTCwgMHgwMjcwMjdlY1VMLCAweGJiNDhmMDcxVUwsIDB4ZGUyZjRjYzlVTCwKLSAgICAweDMwODBmOWRiVUwsIDB4NTVlNzQ1NjNVTCwgMHg5Y2EwM2Y2YlVMLCAweGY5Yzc4M2QzVUwsIDB4MTc2ODM2YzFVTCwKLSAgICAweDcyMGY4YTc5VUwsIDB4Y2IzNzVkZTRVTCwgMHhhZTUwZTE1Y1VMLCAweDQwZmY1NDRlVUwsIDB4MjU5OGU4ZjZVTCwKLSAgICAweDczODg4YmFlVUwsIDB4MTZlZjM3MTZVTCwgMHhmODQwODIwNFVMLCAweDlkMjczZWJjVUwsIDB4MjQxZmU5MjFVTCwKLSAgICAweDQxNzg1NTk5VUwsIDB4YWZkN2UwOGJVTCwgMHhjYWIwNWMzM1VMLCAweDNiYjY1OWVkVUwsIDB4NWVkMWU1NTVVTCwKLSAgICAweGIwN2U1MDQ3VUwsIDB4ZDUxOWVjZmZVTCwgMHg2YzIxM2I2MlVMLCAweDA5NDY4N2RhVUwsIDB4ZTdlOTMyYzhVTCwKLSAgICAweDgyOGU4ZTcwVUwsIDB4ZDQ5ZWVkMjhVTCwgMHhiMWY5NTE5MFVMLCAweDVmNTZlNDgyVUwsIDB4M2EzMTU4M2FVTCwKLSAgICAweDgzMDk4ZmE3VUwsIDB4ZTY2ZTMzMWZVTCwgMHgwOGMxODYwZFVMLCAweDZkYTYzYWI1VUwsIDB4YTRlMTQwYmRVTCwKLSAgICAweGMxODZmYzA1VUwsIDB4MmYyOTQ5MTdVTCwgMHg0YTRlZjVhZlVMLCAweGYzNzYyMjMyVUwsIDB4OTYxMTllOGFVTCwKLSAgICAweDc4YmUyYjk4VUwsIDB4MWRkOTk3MjBVTCwgMHg0YmM5ZjQ3OFVMLCAweDJlYWU0OGMwVUwsIDB4YzAwMWZkZDJVTCwKLSAgICAweGE1NjY0MTZhVUwsIDB4MWM1ZTk2ZjdVTCwgMHg3OTM5MmE0ZlVMLCAweDk3OTY5ZjVkVUwsIDB4ZjJmMTIzZTVVTCwKLSAgICAweDA1MTk2YjRkVUwsIDB4NjA3ZWQ3ZjVVTCwgMHg4ZWQxNjJlN1VMLCAweGViYjZkZTVmVUwsIDB4NTI4ZTA5YzJVTCwKLSAgICAweDM3ZTliNTdhVUwsIDB4ZDk0NjAwNjhVTCwgMHhiYzIxYmNkMFVMLCAweGVhMzFkZjg4VUwsIDB4OGY1NjYzMzBVTCwKLSAgICAweDYxZjlkNjIyVUwsIDB4MDQ5ZTZhOWFVTCwgMHhiZGE2YmQwN1VMLCAweGQ4YzEwMWJmVUwsIDB4MzY2ZWI0YWRVTCwKLSAgICAweDUzMDkwODE1VUwsIDB4OWE0ZTcyMWRVTCwgMHhmZjI5Y2VhNVVMLCAweDExODY3YmI3VUwsIDB4NzRlMWM3MGZVTCwKLSAgICAweGNkZDkxMDkyVUwsIDB4YThiZWFjMmFVTCwgMHg0NjExMTkzOFVMLCAweDIzNzZhNTgwVUwsIDB4NzU2NmM2ZDhVTCwKLSAgICAweDEwMDE3YTYwVUwsIDB4ZmVhZWNmNzJVTCwgMHg5YmM5NzNjYVVMLCAweDIyZjFhNDU3VUwsIDB4NDc5NjE4ZWZVTCwKLSAgICAweGE5MzlhZGZkVUwsIDB4Y2M1ZTExNDVVTCwgMHgwNmVlNGQ3NlVMLCAweDYzODlmMWNlVUwsIDB4OGQyNjQ0ZGNVTCwKLSAgICAweGU4NDFmODY0VUwsIDB4NTE3OTJmZjlVTCwgMHgzNDFlOTM0MVVMLCAweGRhYjEyNjUzVUwsIDB4YmZkNjlhZWJVTCwKLSAgICAweGU5YzZmOWIzVUwsIDB4OGNhMTQ1MGJVTCwgMHg2MjBlZjAxOVVMLCAweDA3Njk0Y2ExVUwsIDB4YmU1MTliM2NVTCwKLSAgICAweGRiMzYyNzg0VUwsIDB4MzU5OTkyOTZVTCwgMHg1MGZlMmUyZVVMLCAweDk5Yjk1NDI2VUwsIDB4ZmNkZWU4OWVVTCwKLSAgICAweDEyNzE1ZDhjVUwsIDB4NzcxNmUxMzRVTCwgMHhjZTJlMzZhOVVMLCAweGFiNDk4YTExVUwsIDB4NDVlNjNmMDNVTCwKLSAgICAweDIwODE4M2JiVUwsIDB4NzY5MWUwZTNVTCwgMHgxM2Y2NWM1YlVMLCAweGZkNTllOTQ5VUwsIDB4OTgzZTU1ZjFVTCwKLSAgICAweDIxMDY4MjZjVUwsIDB4NDQ2MTNlZDRVTCwgMHhhYWNlOGJjNlVMLCAweGNmYTkzNzdlVUwsIDB4Mzg0MTdmZDZVTCwKLSAgICAweDVkMjZjMzZlVUwsIDB4YjM4OTc2N2NVTCwgMHhkNmVlY2FjNFVMLCAweDZmZDYxZDU5VUwsIDB4MGFiMWExZTFVTCwKLSAgICAweGU0MWUxNGYzVUwsIDB4ODE3OWE4NGJVTCwgMHhkNzY5Y2IxM1VMLCAweGIyMGU3N2FiVUwsIDB4NWNhMWMyYjlVTCwKLSAgICAweDM5YzY3ZTAxVUwsIDB4ODBmZWE5OWNVTCwgMHhlNTk5MTUyNFVMLCAweDBiMzZhMDM2VUwsIDB4NmU1MTFjOGVVTCwKLSAgICAweGE3MTY2Njg2VUwsIDB4YzI3MWRhM2VVTCwgMHgyY2RlNmYyY1VMLCAweDQ5YjlkMzk0VUwsIDB4ZjA4MTA0MDlVTCwKLSAgICAweDk1ZTZiOGIxVUwsIDB4N2I0OTBkYTNVTCwgMHgxZTJlYjExYlVMLCAweDQ4M2VkMjQzVUwsIDB4MmQ1OTZlZmJVTCwKLSAgICAweGMzZjZkYmU5VUwsIDB4YTY5MTY3NTFVTCwgMHgxZmE5YjBjY1VMLCAweDdhY2UwYzc0VUwsIDB4OTQ2MWI5NjZVTCwKLSAgICAweGYxMDYwNWRlVUwKK2xvY2FsIGNvbnN0IHpfY3JjX3QgRkFSIGNyY190YWJsZVtdID0geworICAgIDB4MDAwMDAwMDAsIDB4NzcwNzMwOTYsIDB4ZWUwZTYxMmMsIDB4OTkwOTUxYmEsIDB4MDc2ZGM0MTksCisgICAgMHg3MDZhZjQ4ZiwgMHhlOTYzYTUzNSwgMHg5ZTY0OTVhMywgMHgwZWRiODgzMiwgMHg3OWRjYjhhNCwKKyAgICAweGUwZDVlOTFlLCAweDk3ZDJkOTg4LCAweDA5YjY0YzJiLCAweDdlYjE3Y2JkLCAweGU3YjgyZDA3LAorICAgIDB4OTBiZjFkOTEsIDB4MWRiNzEwNjQsIDB4NmFiMDIwZjIsIDB4ZjNiOTcxNDgsIDB4ODRiZTQxZGUsCisgICAgMHgxYWRhZDQ3ZCwgMHg2ZGRkZTRlYiwgMHhmNGQ0YjU1MSwgMHg4M2QzODVjNywgMHgxMzZjOTg1NiwKKyAgICAweDY0NmJhOGMwLCAweGZkNjJmOTdhLCAweDhhNjVjOWVjLCAweDE0MDE1YzRmLCAweDYzMDY2Y2Q5LAorICAgIDB4ZmEwZjNkNjMsIDB4OGQwODBkZjUsIDB4M2I2ZTIwYzgsIDB4NGM2OTEwNWUsIDB4ZDU2MDQxZTQsCisgICAgMHhhMjY3NzE3MiwgMHgzYzAzZTRkMSwgMHg0YjA0ZDQ0NywgMHhkMjBkODVmZCwgMHhhNTBhYjU2YiwKKyAgICAweDM1YjVhOGZhLCAweDQyYjI5ODZjLCAweGRiYmJjOWQ2LCAweGFjYmNmOTQwLCAweDMyZDg2Y2UzLAorICAgIDB4NDVkZjVjNzUsIDB4ZGNkNjBkY2YsIDB4YWJkMTNkNTksIDB4MjZkOTMwYWMsIDB4NTFkZTAwM2EsCisgICAgMHhjOGQ3NTE4MCwgMHhiZmQwNjExNiwgMHgyMWI0ZjRiNSwgMHg1NmIzYzQyMywgMHhjZmJhOTU5OSwKKyAgICAweGI4YmRhNTBmLCAweDI4MDJiODllLCAweDVmMDU4ODA4LCAweGM2MGNkOWIyLCAweGIxMGJlOTI0LAorICAgIDB4MmY2ZjdjODcsIDB4NTg2ODRjMTEsIDB4YzE2MTFkYWIsIDB4YjY2NjJkM2QsIDB4NzZkYzQxOTAsCisgICAgMHgwMWRiNzEwNiwgMHg5OGQyMjBiYywgMHhlZmQ1MTAyYSwgMHg3MWIxODU4OSwgMHgwNmI2YjUxZiwKKyAgICAweDlmYmZlNGE1LCAweGU4YjhkNDMzLCAweDc4MDdjOWEyLCAweDBmMDBmOTM0LCAweDk2MDlhODhlLAorICAgIDB4ZTEwZTk4MTgsIDB4N2Y2YTBkYmIsIDB4MDg2ZDNkMmQsIDB4OTE2NDZjOTcsIDB4ZTY2MzVjMDEsCisgICAgMHg2YjZiNTFmNCwgMHgxYzZjNjE2MiwgMHg4NTY1MzBkOCwgMHhmMjYyMDA0ZSwgMHg2YzA2OTVlZCwKKyAgICAweDFiMDFhNTdiLCAweDgyMDhmNGMxLCAweGY1MGZjNDU3LCAweDY1YjBkOWM2LCAweDEyYjdlOTUwLAorICAgIDB4OGJiZWI4ZWEsIDB4ZmNiOTg4N2MsIDB4NjJkZDFkZGYsIDB4MTVkYTJkNDksIDB4OGNkMzdjZjMsCisgICAgMHhmYmQ0NGM2NSwgMHg0ZGIyNjE1OCwgMHgzYWI1NTFjZSwgMHhhM2JjMDA3NCwgMHhkNGJiMzBlMiwKKyAgICAweDRhZGZhNTQxLCAweDNkZDg5NWQ3LCAweGE0ZDFjNDZkLCAweGQzZDZmNGZiLCAweDQzNjllOTZhLAorICAgIDB4MzQ2ZWQ5ZmMsIDB4YWQ2Nzg4NDYsIDB4ZGE2MGI4ZDAsIDB4NDQwNDJkNzMsIDB4MzMwMzFkZTUsCisgICAgMHhhYTBhNGM1ZiwgMHhkZDBkN2NjOSwgMHg1MDA1NzEzYywgMHgyNzAyNDFhYSwgMHhiZTBiMTAxMCwKKyAgICAweGM5MGMyMDg2LCAweDU3NjhiNTI1LCAweDIwNmY4NWIzLCAweGI5NjZkNDA5LCAweGNlNjFlNDlmLAorICAgIDB4NWVkZWY5MGUsIDB4MjlkOWM5OTgsIDB4YjBkMDk4MjIsIDB4YzdkN2E4YjQsIDB4NTliMzNkMTcsCisgICAgMHgyZWI0MGQ4MSwgMHhiN2JkNWMzYiwgMHhjMGJhNmNhZCwgMHhlZGI4ODMyMCwgMHg5YWJmYjNiNiwKKyAgICAweDAzYjZlMjBjLCAweDc0YjFkMjlhLCAweGVhZDU0NzM5LCAweDlkZDI3N2FmLCAweDA0ZGIyNjE1LAorICAgIDB4NzNkYzE2ODMsIDB4ZTM2MzBiMTIsIDB4OTQ2NDNiODQsIDB4MGQ2ZDZhM2UsIDB4N2E2YTVhYTgsCisgICAgMHhlNDBlY2YwYiwgMHg5MzA5ZmY5ZCwgMHgwYTAwYWUyNywgMHg3ZDA3OWViMSwgMHhmMDBmOTM0NCwKKyAgICAweDg3MDhhM2QyLCAweDFlMDFmMjY4LCAweDY5MDZjMmZlLCAweGY3NjI1NzVkLCAweDgwNjU2N2NiLAorICAgIDB4MTk2YzM2NzEsIDB4NmU2YjA2ZTcsIDB4ZmVkNDFiNzYsIDB4ODlkMzJiZTAsIDB4MTBkYTdhNWEsCisgICAgMHg2N2RkNGFjYywgMHhmOWI5ZGY2ZiwgMHg4ZWJlZWZmOSwgMHgxN2I3YmU0MywgMHg2MGIwOGVkNSwKKyAgICAweGQ2ZDZhM2U4LCAweGExZDE5MzdlLCAweDM4ZDhjMmM0LCAweDRmZGZmMjUyLCAweGQxYmI2N2YxLAorICAgIDB4YTZiYzU3NjcsIDB4M2ZiNTA2ZGQsIDB4NDhiMjM2NGIsIDB4ZDgwZDJiZGEsIDB4YWYwYTFiNGMsCisgICAgMHgzNjAzNGFmNiwgMHg0MTA0N2E2MCwgMHhkZjYwZWZjMywgMHhhODY3ZGY1NSwgMHgzMTZlOGVlZiwKKyAgICAweDQ2NjliZTc5LCAweGNiNjFiMzhjLCAweGJjNjY4MzFhLCAweDI1NmZkMmEwLCAweDUyNjhlMjM2LAorICAgIDB4Y2MwYzc3OTUsIDB4YmIwYjQ3MDMsIDB4MjIwMjE2YjksIDB4NTUwNTI2MmYsIDB4YzViYTNiYmUsCisgICAgMHhiMmJkMGIyOCwgMHgyYmI0NWE5MiwgMHg1Y2IzNmEwNCwgMHhjMmQ3ZmZhNywgMHhiNWQwY2YzMSwKKyAgICAweDJjZDk5ZThiLCAweDViZGVhZTFkLCAweDliNjRjMmIwLCAweGVjNjNmMjI2LCAweDc1NmFhMzljLAorICAgIDB4MDI2ZDkzMGEsIDB4OWMwOTA2YTksIDB4ZWIwZTM2M2YsIDB4NzIwNzY3ODUsIDB4MDUwMDU3MTMsCisgICAgMHg5NWJmNGE4MiwgMHhlMmI4N2ExNCwgMHg3YmIxMmJhZSwgMHgwY2I2MWIzOCwgMHg5MmQyOGU5YiwKKyAgICAweGU1ZDViZTBkLCAweDdjZGNlZmI3LCAweDBiZGJkZjIxLCAweDg2ZDNkMmQ0LCAweGYxZDRlMjQyLAorICAgIDB4NjhkZGIzZjgsIDB4MWZkYTgzNmUsIDB4ODFiZTE2Y2QsIDB4ZjZiOTI2NWIsIDB4NmZiMDc3ZTEsCisgICAgMHgxOGI3NDc3NywgMHg4ODA4NWFlNiwgMHhmZjBmNmE3MCwgMHg2NjA2M2JjYSwgMHgxMTAxMGI1YywKKyAgICAweDhmNjU5ZWZmLCAweGY4NjJhZTY5LCAweDYxNmJmZmQzLCAweDE2NmNjZjQ1LCAweGEwMGFlMjc4LAorICAgIDB4ZDcwZGQyZWUsIDB4NGUwNDgzNTQsIDB4MzkwM2IzYzIsIDB4YTc2NzI2NjEsIDB4ZDA2MDE2ZjcsCisgICAgMHg0OTY5NDc0ZCwgMHgzZTZlNzdkYiwgMHhhZWQxNmE0YSwgMHhkOWQ2NWFkYywgMHg0MGRmMGI2NiwKKyAgICAweDM3ZDgzYmYwLCAweGE5YmNhZTUzLCAweGRlYmI5ZWM1LCAweDQ3YjJjZjdmLCAweDMwYjVmZmU5LAorICAgIDB4YmRiZGYyMWMsIDB4Y2FiYWMyOGEsIDB4NTNiMzkzMzAsIDB4MjRiNGEzYTYsIDB4YmFkMDM2MDUsCisgICAgMHhjZGQ3MDY5MywgMHg1NGRlNTcyOSwgMHgyM2Q5NjdiZiwgMHhiMzY2N2EyZSwgMHhjNDYxNGFiOCwKKyAgICAweDVkNjgxYjAyLCAweDJhNmYyYjk0LCAweGI0MGJiZTM3LCAweGMzMGM4ZWExLCAweDVhMDVkZjFiLAorICAgIDB4MmQwMmVmOGR9OworCisjaWZkZWYgVworCisjaWYgVyA9PSA4CisKK2xvY2FsIGNvbnN0IHpfd29yZF90IEZBUiBjcmNfYmlnX3RhYmxlW10gPSB7CisgICAgMHgwMDAwMDAwMDAwMDAwMDAwLCAweDk2MzAwNzc3MDAwMDAwMDAsIDB4MmM2MTBlZWUwMDAwMDAwMCwKKyAgICAweGJhNTEwOTk5MDAwMDAwMDAsIDB4MTljNDZkMDcwMDAwMDAwMCwgMHg4ZmY0NmE3MDAwMDAwMDAwLAorICAgIDB4MzVhNTYzZTkwMDAwMDAwMCwgMHhhMzk1NjQ5ZTAwMDAwMDAwLCAweDMyODhkYjBlMDAwMDAwMDAsCisgICAgMHhhNGI4ZGM3OTAwMDAwMDAwLCAweDFlZTlkNWUwMDAwMDAwMDAsIDB4ODhkOWQyOTcwMDAwMDAwMCwKKyAgICAweDJiNGNiNjA5MDAwMDAwMDAsIDB4YmQ3Y2IxN2UwMDAwMDAwMCwgMHgwNzJkYjhlNzAwMDAwMDAwLAorICAgIDB4OTExZGJmOTAwMDAwMDAwMCwgMHg2NDEwYjcxZDAwMDAwMDAwLCAweGYyMjBiMDZhMDAwMDAwMDAsCisgICAgMHg0ODcxYjlmMzAwMDAwMDAwLCAweGRlNDFiZTg0MDAwMDAwMDAsIDB4N2RkNGRhMWEwMDAwMDAwMCwKKyAgICAweGViZTRkZDZkMDAwMDAwMDAsIDB4NTFiNWQ0ZjQwMDAwMDAwMCwgMHhjNzg1ZDM4MzAwMDAwMDAwLAorICAgIDB4NTY5ODZjMTMwMDAwMDAwMCwgMHhjMGE4NmI2NDAwMDAwMDAwLCAweDdhZjk2MmZkMDAwMDAwMDAsCisgICAgMHhlY2M5NjU4YTAwMDAwMDAwLCAweDRmNWMwMTE0MDAwMDAwMDAsIDB4ZDk2YzA2NjMwMDAwMDAwMCwKKyAgICAweDYzM2QwZmZhMDAwMDAwMDAsIDB4ZjUwZDA4OGQwMDAwMDAwMCwgMHhjODIwNmUzYjAwMDAwMDAwLAorICAgIDB4NWUxMDY5NGMwMDAwMDAwMCwgMHhlNDQxNjBkNTAwMDAwMDAwLCAweDcyNzE2N2EyMDAwMDAwMDAsCisgICAgMHhkMWU0MDMzYzAwMDAwMDAwLCAweDQ3ZDQwNDRiMDAwMDAwMDAsIDB4ZmQ4NTBkZDIwMDAwMDAwMCwKKyAgICAweDZiYjUwYWE1MDAwMDAwMDAsIDB4ZmFhOGI1MzUwMDAwMDAwMCwgMHg2Yzk4YjI0MjAwMDAwMDAwLAorICAgIDB4ZDZjOWJiZGIwMDAwMDAwMCwgMHg0MGY5YmNhYzAwMDAwMDAwLCAweGUzNmNkODMyMDAwMDAwMDAsCisgICAgMHg3NTVjZGY0NTAwMDAwMDAwLCAweGNmMGRkNmRjMDAwMDAwMDAsIDB4NTkzZGQxYWIwMDAwMDAwMCwKKyAgICAweGFjMzBkOTI2MDAwMDAwMDAsIDB4M2EwMGRlNTEwMDAwMDAwMCwgMHg4MDUxZDdjODAwMDAwMDAwLAorICAgIDB4MTY2MWQwYmYwMDAwMDAwMCwgMHhiNWY0YjQyMTAwMDAwMDAwLCAweDIzYzRiMzU2MDAwMDAwMDAsCisgICAgMHg5OTk1YmFjZjAwMDAwMDAwLCAweDBmYTViZGI4MDAwMDAwMDAsIDB4OWViODAyMjgwMDAwMDAwMCwKKyAgICAweDA4ODgwNTVmMDAwMDAwMDAsIDB4YjJkOTBjYzYwMDAwMDAwMCwgMHgyNGU5MGJiMTAwMDAwMDAwLAorICAgIDB4ODc3YzZmMmYwMDAwMDAwMCwgMHgxMTRjNjg1ODAwMDAwMDAwLCAweGFiMWQ2MWMxMDAwMDAwMDAsCisgICAgMHgzZDJkNjZiNjAwMDAwMDAwLCAweDkwNDFkYzc2MDAwMDAwMDAsIDB4MDY3MWRiMDEwMDAwMDAwMCwKKyAgICAweGJjMjBkMjk4MDAwMDAwMDAsIDB4MmExMGQ1ZWYwMDAwMDAwMCwgMHg4OTg1YjE3MTAwMDAwMDAwLAorICAgIDB4MWZiNWI2MDYwMDAwMDAwMCwgMHhhNWU0YmY5ZjAwMDAwMDAwLCAweDMzZDRiOGU4MDAwMDAwMDAsCisgICAgMHhhMmM5MDc3ODAwMDAwMDAwLCAweDM0ZjkwMDBmMDAwMDAwMDAsIDB4OGVhODA5OTYwMDAwMDAwMCwKKyAgICAweDE4OTgwZWUxMDAwMDAwMDAsIDB4YmIwZDZhN2YwMDAwMDAwMCwgMHgyZDNkNmQwODAwMDAwMDAwLAorICAgIDB4OTc2YzY0OTEwMDAwMDAwMCwgMHgwMTVjNjNlNjAwMDAwMDAwLCAweGY0NTE2YjZiMDAwMDAwMDAsCisgICAgMHg2MjYxNmMxYzAwMDAwMDAwLCAweGQ4MzA2NTg1MDAwMDAwMDAsIDB4NGUwMDYyZjIwMDAwMDAwMCwKKyAgICAweGVkOTUwNjZjMDAwMDAwMDAsIDB4N2JhNTAxMWIwMDAwMDAwMCwgMHhjMWY0MDg4MjAwMDAwMDAwLAorICAgIDB4NTdjNDBmZjUwMDAwMDAwMCwgMHhjNmQ5YjA2NTAwMDAwMDAwLCAweDUwZTliNzEyMDAwMDAwMDAsCisgICAgMHhlYWI4YmU4YjAwMDAwMDAwLCAweDdjODhiOWZjMDAwMDAwMDAsIDB4ZGYxZGRkNjIwMDAwMDAwMCwKKyAgICAweDQ5MmRkYTE1MDAwMDAwMDAsIDB4ZjM3Y2QzOGMwMDAwMDAwMCwgMHg2NTRjZDRmYjAwMDAwMDAwLAorICAgIDB4NTg2MWIyNGQwMDAwMDAwMCwgMHhjZTUxYjUzYTAwMDAwMDAwLCAweDc0MDBiY2EzMDAwMDAwMDAsCisgICAgMHhlMjMwYmJkNDAwMDAwMDAwLCAweDQxYTVkZjRhMDAwMDAwMDAsIDB4ZDc5NWQ4M2QwMDAwMDAwMCwKKyAgICAweDZkYzRkMWE0MDAwMDAwMDAsIDB4ZmJmNGQ2ZDMwMDAwMDAwMCwgMHg2YWU5Njk0MzAwMDAwMDAwLAorICAgIDB4ZmNkOTZlMzQwMDAwMDAwMCwgMHg0Njg4NjdhZDAwMDAwMDAwLCAweGQwYjg2MGRhMDAwMDAwMDAsCisgICAgMHg3MzJkMDQ0NDAwMDAwMDAwLCAweGU1MWQwMzMzMDAwMDAwMDAsIDB4NWY0YzBhYWEwMDAwMDAwMCwKKyAgICAweGM5N2MwZGRkMDAwMDAwMDAsIDB4M2M3MTA1NTAwMDAwMDAwMCwgMHhhYTQxMDIyNzAwMDAwMDAwLAorICAgIDB4MTAxMDBiYmUwMDAwMDAwMCwgMHg4NjIwMGNjOTAwMDAwMDAwLCAweDI1YjU2ODU3MDAwMDAwMDAsCisgICAgMHhiMzg1NmYyMDAwMDAwMDAwLCAweDA5ZDQ2NmI5MDAwMDAwMDAsIDB4OWZlNDYxY2UwMDAwMDAwMCwKKyAgICAweDBlZjlkZTVlMDAwMDAwMDAsIDB4OThjOWQ5MjkwMDAwMDAwMCwgMHgyMjk4ZDBiMDAwMDAwMDAwLAorICAgIDB4YjRhOGQ3YzcwMDAwMDAwMCwgMHgxNzNkYjM1OTAwMDAwMDAwLCAweDgxMGRiNDJlMDAwMDAwMDAsCisgICAgMHgzYjVjYmRiNzAwMDAwMDAwLCAweGFkNmNiYWMwMDAwMDAwMDAsIDB4MjA4M2I4ZWQwMDAwMDAwMCwKKyAgICAweGI2YjNiZjlhMDAwMDAwMDAsIDB4MGNlMmI2MDMwMDAwMDAwMCwgMHg5YWQyYjE3NDAwMDAwMDAwLAorICAgIDB4Mzk0N2Q1ZWEwMDAwMDAwMCwgMHhhZjc3ZDI5ZDAwMDAwMDAwLCAweDE1MjZkYjA0MDAwMDAwMDAsCisgICAgMHg4MzE2ZGM3MzAwMDAwMDAwLCAweDEyMGI2M2UzMDAwMDAwMDAsIDB4ODQzYjY0OTQwMDAwMDAwMCwKKyAgICAweDNlNmE2ZDBkMDAwMDAwMDAsIDB4YTg1YTZhN2EwMDAwMDAwMCwgMHgwYmNmMGVlNDAwMDAwMDAwLAorICAgIDB4OWRmZjA5OTMwMDAwMDAwMCwgMHgyN2FlMDAwYTAwMDAwMDAwLCAweGIxOWUwNzdkMDAwMDAwMDAsCisgICAgMHg0NDkzMGZmMDAwMDAwMDAwLCAweGQyYTMwODg3MDAwMDAwMDAsIDB4NjhmMjAxMWUwMDAwMDAwMCwKKyAgICAweGZlYzIwNjY5MDAwMDAwMDAsIDB4NWQ1NzYyZjcwMDAwMDAwMCwgMHhjYjY3NjU4MDAwMDAwMDAwLAorICAgIDB4NzEzNjZjMTkwMDAwMDAwMCwgMHhlNzA2NmI2ZTAwMDAwMDAwLCAweDc2MWJkNGZlMDAwMDAwMDAsCisgICAgMHhlMDJiZDM4OTAwMDAwMDAwLCAweDVhN2FkYTEwMDAwMDAwMDAsIDB4Y2M0YWRkNjcwMDAwMDAwMCwKKyAgICAweDZmZGZiOWY5MDAwMDAwMDAsIDB4ZjllZmJlOGUwMDAwMDAwMCwgMHg0M2JlYjcxNzAwMDAwMDAwLAorICAgIDB4ZDU4ZWIwNjAwMDAwMDAwMCwgMHhlOGEzZDZkNjAwMDAwMDAwLCAweDdlOTNkMWExMDAwMDAwMDAsCisgICAgMHhjNGMyZDgzODAwMDAwMDAwLCAweDUyZjJkZjRmMDAwMDAwMDAsIDB4ZjE2N2JiZDEwMDAwMDAwMCwKKyAgICAweDY3NTdiY2E2MDAwMDAwMDAsIDB4ZGQwNmI1M2YwMDAwMDAwMCwgMHg0YjM2YjI0ODAwMDAwMDAwLAorICAgIDB4ZGEyYjBkZDgwMDAwMDAwMCwgMHg0YzFiMGFhZjAwMDAwMDAwLCAweGY2NGEwMzM2MDAwMDAwMDAsCisgICAgMHg2MDdhMDQ0MTAwMDAwMDAwLCAweGMzZWY2MGRmMDAwMDAwMDAsIDB4NTVkZjY3YTgwMDAwMDAwMCwKKyAgICAweGVmOGU2ZTMxMDAwMDAwMDAsIDB4NzliZTY5NDYwMDAwMDAwMCwgMHg4Y2IzNjFjYjAwMDAwMDAwLAorICAgIDB4MWE4MzY2YmMwMDAwMDAwMCwgMHhhMGQyNmYyNTAwMDAwMDAwLCAweDM2ZTI2ODUyMDAwMDAwMDAsCisgICAgMHg5NTc3MGNjYzAwMDAwMDAwLCAweDAzNDcwYmJiMDAwMDAwMDAsIDB4YjkxNjAyMjIwMDAwMDAwMCwKKyAgICAweDJmMjYwNTU1MDAwMDAwMDAsIDB4YmUzYmJhYzUwMDAwMDAwMCwgMHgyODBiYmRiMjAwMDAwMDAwLAorICAgIDB4OTI1YWI0MmIwMDAwMDAwMCwgMHgwNDZhYjM1YzAwMDAwMDAwLCAweGE3ZmZkN2MyMDAwMDAwMDAsCisgICAgMHgzMWNmZDBiNTAwMDAwMDAwLCAweDhiOWVkOTJjMDAwMDAwMDAsIDB4MWRhZWRlNWIwMDAwMDAwMCwKKyAgICAweGIwYzI2NDliMDAwMDAwMDAsIDB4MjZmMjYzZWMwMDAwMDAwMCwgMHg5Y2EzNmE3NTAwMDAwMDAwLAorICAgIDB4MGE5MzZkMDIwMDAwMDAwMCwgMHhhOTA2MDk5YzAwMDAwMDAwLCAweDNmMzYwZWViMDAwMDAwMDAsCisgICAgMHg4NTY3MDc3MjAwMDAwMDAwLCAweDEzNTcwMDA1MDAwMDAwMDAsIDB4ODI0YWJmOTUwMDAwMDAwMCwKKyAgICAweDE0N2FiOGUyMDAwMDAwMDAsIDB4YWUyYmIxN2IwMDAwMDAwMCwgMHgzODFiYjYwYzAwMDAwMDAwLAorICAgIDB4OWI4ZWQyOTIwMDAwMDAwMCwgMHgwZGJlZDVlNTAwMDAwMDAwLCAweGI3ZWZkYzdjMDAwMDAwMDAsCisgICAgMHgyMWRmZGIwYjAwMDAwMDAwLCAweGQ0ZDJkMzg2MDAwMDAwMDAsIDB4NDJlMmQ0ZjEwMDAwMDAwMCwKKyAgICAweGY4YjNkZDY4MDAwMDAwMDAsIDB4NmU4M2RhMWYwMDAwMDAwMCwgMHhjZDE2YmU4MTAwMDAwMDAwLAorICAgIDB4NWIyNmI5ZjYwMDAwMDAwMCwgMHhlMTc3YjA2ZjAwMDAwMDAwLCAweDc3NDdiNzE4MDAwMDAwMDAsCisgICAgMHhlNjVhMDg4ODAwMDAwMDAwLCAweDcwNmEwZmZmMDAwMDAwMDAsIDB4Y2EzYjA2NjYwMDAwMDAwMCwKKyAgICAweDVjMGIwMTExMDAwMDAwMDAsIDB4ZmY5ZTY1OGYwMDAwMDAwMCwgMHg2OWFlNjJmODAwMDAwMDAwLAorICAgIDB4ZDNmZjZiNjEwMDAwMDAwMCwgMHg0NWNmNmMxNjAwMDAwMDAwLCAweDc4ZTIwYWEwMDAwMDAwMDAsCisgICAgMHhlZWQyMGRkNzAwMDAwMDAwLCAweDU0ODMwNDRlMDAwMDAwMDAsIDB4YzJiMzAzMzkwMDAwMDAwMCwKKyAgICAweDYxMjY2N2E3MDAwMDAwMDAsIDB4ZjcxNjYwZDAwMDAwMDAwMCwgMHg0ZDQ3Njk0OTAwMDAwMDAwLAorICAgIDB4ZGI3NzZlM2UwMDAwMDAwMCwgMHg0YTZhZDFhZTAwMDAwMDAwLCAweGRjNWFkNmQ5MDAwMDAwMDAsCisgICAgMHg2NjBiZGY0MDAwMDAwMDAwLCAweGYwM2JkODM3MDAwMDAwMDAsIDB4NTNhZWJjYTkwMDAwMDAwMCwKKyAgICAweGM1OWViYmRlMDAwMDAwMDAsIDB4N2ZjZmIyNDcwMDAwMDAwMCwgMHhlOWZmYjUzMDAwMDAwMDAwLAorICAgIDB4MWNmMmJkYmQwMDAwMDAwMCwgMHg4YWMyYmFjYTAwMDAwMDAwLCAweDMwOTNiMzUzMDAwMDAwMDAsCisgICAgMHhhNmEzYjQyNDAwMDAwMDAwLCAweDA1MzZkMGJhMDAwMDAwMDAsIDB4OTMwNmQ3Y2QwMDAwMDAwMCwKKyAgICAweDI5NTdkZTU0MDAwMDAwMDAsIDB4YmY2N2Q5MjMwMDAwMDAwMCwgMHgyZTdhNjZiMzAwMDAwMDAwLAorICAgIDB4Yjg0YTYxYzQwMDAwMDAwMCwgMHgwMjFiNjg1ZDAwMDAwMDAwLCAweDk0MmI2ZjJhMDAwMDAwMDAsCisgICAgMHgzN2JlMGJiNDAwMDAwMDAwLCAweGExOGUwY2MzMDAwMDAwMDAsIDB4MWJkZjA1NWEwMDAwMDAwMCwKKyAgICAweDhkZWYwMjJkMDAwMDAwMDB9OworCisjZWxzZSAvKiBXID09IDQgKi8KKworbG9jYWwgY29uc3Qgel93b3JkX3QgRkFSIGNyY19iaWdfdGFibGVbXSA9IHsKKyAgICAweDAwMDAwMDAwLCAweDk2MzAwNzc3LCAweDJjNjEwZWVlLCAweGJhNTEwOTk5LCAweDE5YzQ2ZDA3LAorICAgIDB4OGZmNDZhNzAsIDB4MzVhNTYzZTksIDB4YTM5NTY0OWUsIDB4MzI4OGRiMGUsIDB4YTRiOGRjNzksCisgICAgMHgxZWU5ZDVlMCwgMHg4OGQ5ZDI5NywgMHgyYjRjYjYwOSwgMHhiZDdjYjE3ZSwgMHgwNzJkYjhlNywKKyAgICAweDkxMWRiZjkwLCAweDY0MTBiNzFkLCAweGYyMjBiMDZhLCAweDQ4NzFiOWYzLCAweGRlNDFiZTg0LAorICAgIDB4N2RkNGRhMWEsIDB4ZWJlNGRkNmQsIDB4NTFiNWQ0ZjQsIDB4Yzc4NWQzODMsIDB4NTY5ODZjMTMsCisgICAgMHhjMGE4NmI2NCwgMHg3YWY5NjJmZCwgMHhlY2M5NjU4YSwgMHg0ZjVjMDExNCwgMHhkOTZjMDY2MywKKyAgICAweDYzM2QwZmZhLCAweGY1MGQwODhkLCAweGM4MjA2ZTNiLCAweDVlMTA2OTRjLCAweGU0NDE2MGQ1LAorICAgIDB4NzI3MTY3YTIsIDB4ZDFlNDAzM2MsIDB4NDdkNDA0NGIsIDB4ZmQ4NTBkZDIsIDB4NmJiNTBhYTUsCisgICAgMHhmYWE4YjUzNSwgMHg2Yzk4YjI0MiwgMHhkNmM5YmJkYiwgMHg0MGY5YmNhYywgMHhlMzZjZDgzMiwKKyAgICAweDc1NWNkZjQ1LCAweGNmMGRkNmRjLCAweDU5M2RkMWFiLCAweGFjMzBkOTI2LCAweDNhMDBkZTUxLAorICAgIDB4ODA1MWQ3YzgsIDB4MTY2MWQwYmYsIDB4YjVmNGI0MjEsIDB4MjNjNGIzNTYsIDB4OTk5NWJhY2YsCisgICAgMHgwZmE1YmRiOCwgMHg5ZWI4MDIyOCwgMHgwODg4MDU1ZiwgMHhiMmQ5MGNjNiwgMHgyNGU5MGJiMSwKKyAgICAweDg3N2M2ZjJmLCAweDExNGM2ODU4LCAweGFiMWQ2MWMxLCAweDNkMmQ2NmI2LCAweDkwNDFkYzc2LAorICAgIDB4MDY3MWRiMDEsIDB4YmMyMGQyOTgsIDB4MmExMGQ1ZWYsIDB4ODk4NWIxNzEsIDB4MWZiNWI2MDYsCisgICAgMHhhNWU0YmY5ZiwgMHgzM2Q0YjhlOCwgMHhhMmM5MDc3OCwgMHgzNGY5MDAwZiwgMHg4ZWE4MDk5NiwKKyAgICAweDE4OTgwZWUxLCAweGJiMGQ2YTdmLCAweDJkM2Q2ZDA4LCAweDk3NmM2NDkxLCAweDAxNWM2M2U2LAorICAgIDB4ZjQ1MTZiNmIsIDB4NjI2MTZjMWMsIDB4ZDgzMDY1ODUsIDB4NGUwMDYyZjIsIDB4ZWQ5NTA2NmMsCisgICAgMHg3YmE1MDExYiwgMHhjMWY0MDg4MiwgMHg1N2M0MGZmNSwgMHhjNmQ5YjA2NSwgMHg1MGU5YjcxMiwKKyAgICAweGVhYjhiZThiLCAweDdjODhiOWZjLCAweGRmMWRkZDYyLCAweDQ5MmRkYTE1LCAweGYzN2NkMzhjLAorICAgIDB4NjU0Y2Q0ZmIsIDB4NTg2MWIyNGQsIDB4Y2U1MWI1M2EsIDB4NzQwMGJjYTMsIDB4ZTIzMGJiZDQsCisgICAgMHg0MWE1ZGY0YSwgMHhkNzk1ZDgzZCwgMHg2ZGM0ZDFhNCwgMHhmYmY0ZDZkMywgMHg2YWU5Njk0MywKKyAgICAweGZjZDk2ZTM0LCAweDQ2ODg2N2FkLCAweGQwYjg2MGRhLCAweDczMmQwNDQ0LCAweGU1MWQwMzMzLAorICAgIDB4NWY0YzBhYWEsIDB4Yzk3YzBkZGQsIDB4M2M3MTA1NTAsIDB4YWE0MTAyMjcsIDB4MTAxMDBiYmUsCisgICAgMHg4NjIwMGNjOSwgMHgyNWI1Njg1NywgMHhiMzg1NmYyMCwgMHgwOWQ0NjZiOSwgMHg5ZmU0NjFjZSwKKyAgICAweDBlZjlkZTVlLCAweDk4YzlkOTI5LCAweDIyOThkMGIwLCAweGI0YThkN2M3LCAweDE3M2RiMzU5LAorICAgIDB4ODEwZGI0MmUsIDB4M2I1Y2JkYjcsIDB4YWQ2Y2JhYzAsIDB4MjA4M2I4ZWQsIDB4YjZiM2JmOWEsCisgICAgMHgwY2UyYjYwMywgMHg5YWQyYjE3NCwgMHgzOTQ3ZDVlYSwgMHhhZjc3ZDI5ZCwgMHgxNTI2ZGIwNCwKKyAgICAweDgzMTZkYzczLCAweDEyMGI2M2UzLCAweDg0M2I2NDk0LCAweDNlNmE2ZDBkLCAweGE4NWE2YTdhLAorICAgIDB4MGJjZjBlZTQsIDB4OWRmZjA5OTMsIDB4MjdhZTAwMGEsIDB4YjE5ZTA3N2QsIDB4NDQ5MzBmZjAsCisgICAgMHhkMmEzMDg4NywgMHg2OGYyMDExZSwgMHhmZWMyMDY2OSwgMHg1ZDU3NjJmNywgMHhjYjY3NjU4MCwKKyAgICAweDcxMzY2YzE5LCAweGU3MDY2YjZlLCAweDc2MWJkNGZlLCAweGUwMmJkMzg5LCAweDVhN2FkYTEwLAorICAgIDB4Y2M0YWRkNjcsIDB4NmZkZmI5ZjksIDB4ZjllZmJlOGUsIDB4NDNiZWI3MTcsIDB4ZDU4ZWIwNjAsCisgICAgMHhlOGEzZDZkNiwgMHg3ZTkzZDFhMSwgMHhjNGMyZDgzOCwgMHg1MmYyZGY0ZiwgMHhmMTY3YmJkMSwKKyAgICAweDY3NTdiY2E2LCAweGRkMDZiNTNmLCAweDRiMzZiMjQ4LCAweGRhMmIwZGQ4LCAweDRjMWIwYWFmLAorICAgIDB4ZjY0YTAzMzYsIDB4NjA3YTA0NDEsIDB4YzNlZjYwZGYsIDB4NTVkZjY3YTgsIDB4ZWY4ZTZlMzEsCisgICAgMHg3OWJlNjk0NiwgMHg4Y2IzNjFjYiwgMHgxYTgzNjZiYywgMHhhMGQyNmYyNSwgMHgzNmUyNjg1MiwKKyAgICAweDk1NzcwY2NjLCAweDAzNDcwYmJiLCAweGI5MTYwMjIyLCAweDJmMjYwNTU1LCAweGJlM2JiYWM1LAorICAgIDB4MjgwYmJkYjIsIDB4OTI1YWI0MmIsIDB4MDQ2YWIzNWMsIDB4YTdmZmQ3YzIsIDB4MzFjZmQwYjUsCisgICAgMHg4YjllZDkyYywgMHgxZGFlZGU1YiwgMHhiMGMyNjQ5YiwgMHgyNmYyNjNlYywgMHg5Y2EzNmE3NSwKKyAgICAweDBhOTM2ZDAyLCAweGE5MDYwOTljLCAweDNmMzYwZWViLCAweDg1NjcwNzcyLCAweDEzNTcwMDA1LAorICAgIDB4ODI0YWJmOTUsIDB4MTQ3YWI4ZTIsIDB4YWUyYmIxN2IsIDB4MzgxYmI2MGMsIDB4OWI4ZWQyOTIsCisgICAgMHgwZGJlZDVlNSwgMHhiN2VmZGM3YywgMHgyMWRmZGIwYiwgMHhkNGQyZDM4NiwgMHg0MmUyZDRmMSwKKyAgICAweGY4YjNkZDY4LCAweDZlODNkYTFmLCAweGNkMTZiZTgxLCAweDViMjZiOWY2LCAweGUxNzdiMDZmLAorICAgIDB4Nzc0N2I3MTgsIDB4ZTY1YTA4ODgsIDB4NzA2YTBmZmYsIDB4Y2EzYjA2NjYsIDB4NWMwYjAxMTEsCisgICAgMHhmZjllNjU4ZiwgMHg2OWFlNjJmOCwgMHhkM2ZmNmI2MSwgMHg0NWNmNmMxNiwgMHg3OGUyMGFhMCwKKyAgICAweGVlZDIwZGQ3LCAweDU0ODMwNDRlLCAweGMyYjMwMzM5LCAweDYxMjY2N2E3LCAweGY3MTY2MGQwLAorICAgIDB4NGQ0NzY5NDksIDB4ZGI3NzZlM2UsIDB4NGE2YWQxYWUsIDB4ZGM1YWQ2ZDksIDB4NjYwYmRmNDAsCisgICAgMHhmMDNiZDgzNywgMHg1M2FlYmNhOSwgMHhjNTllYmJkZSwgMHg3ZmNmYjI0NywgMHhlOWZmYjUzMCwKKyAgICAweDFjZjJiZGJkLCAweDhhYzJiYWNhLCAweDMwOTNiMzUzLCAweGE2YTNiNDI0LCAweDA1MzZkMGJhLAorICAgIDB4OTMwNmQ3Y2QsIDB4Mjk1N2RlNTQsIDB4YmY2N2Q5MjMsIDB4MmU3YTY2YjMsIDB4Yjg0YTYxYzQsCisgICAgMHgwMjFiNjg1ZCwgMHg5NDJiNmYyYSwgMHgzN2JlMGJiNCwgMHhhMThlMGNjMywgMHgxYmRmMDU1YSwKKyAgICAweDhkZWYwMjJkfTsKKwogI2VuZGlmCi0gIH0KLX07CisKKyNpZiBOID09IDEKKworI2lmIFcgPT0gOAorCitsb2NhbCBjb25zdCB6X2NyY190IEZBUiBjcmNfYnJhaWRfdGFibGVbXVsyNTZdID0geworICAgezB4MDAwMDAwMDAsIDB4Y2NhYTAwOWUsIDB4NDIyNTA3N2QsIDB4OGU4ZjA3ZTMsIDB4ODQ0YTBlZmEsCisgICAgMHg0OGUwMGU2NCwgMHhjNjZmMDk4NywgMHgwYWM1MDkxOSwgMHhkM2U1MWJiNSwgMHgxZjRmMWIyYiwKKyAgICAweDkxYzAxY2M4LCAweDVkNmExYzU2LCAweDU3YWYxNTRmLCAweDliMDUxNWQxLCAweDE1OGExMjMyLAorICAgIDB4ZDkyMDEyYWMsIDB4N2NiYjMxMmIsIDB4YjAxMTMxYjUsIDB4M2U5ZTM2NTYsIDB4ZjIzNDM2YzgsCisgICAgMHhmOGYxM2ZkMSwgMHgzNDViM2Y0ZiwgMHhiYWQ0MzhhYywgMHg3NjdlMzgzMiwgMHhhZjVlMmE5ZSwKKyAgICAweDYzZjQyYTAwLCAweGVkN2IyZGUzLCAweDIxZDEyZDdkLCAweDJiMTQyNDY0LCAweGU3YmUyNGZhLAorICAgIDB4NjkzMTIzMTksIDB4YTU5YjIzODcsIDB4Zjk3NjYyNTYsIDB4MzVkYzYyYzgsIDB4YmI1MzY1MmIsCisgICAgMHg3N2Y5NjViNSwgMHg3ZDNjNmNhYywgMHhiMTk2NmMzMiwgMHgzZjE5NmJkMSwgMHhmM2IzNmI0ZiwKKyAgICAweDJhOTM3OWUzLCAweGU2Mzk3OTdkLCAweDY4YjY3ZTllLCAweGE0MWM3ZTAwLCAweGFlZDk3NzE5LAorICAgIDB4NjI3Mzc3ODcsIDB4ZWNmYzcwNjQsIDB4MjA1NjcwZmEsIDB4ODVjZDUzN2QsIDB4NDk2NzUzZTMsCisgICAgMHhjN2U4NTQwMCwgMHgwYjQyNTQ5ZSwgMHgwMTg3NWQ4NywgMHhjZDJkNWQxOSwgMHg0M2EyNWFmYSwKKyAgICAweDhmMDg1YTY0LCAweDU2Mjg0OGM4LCAweDlhODI0ODU2LCAweDE0MGQ0ZmI1LCAweGQ4YTc0ZjJiLAorICAgIDB4ZDI2MjQ2MzIsIDB4MWVjODQ2YWMsIDB4OTA0NzQxNGYsIDB4NWNlZDQxZDEsIDB4Mjk5ZGMyZWQsCisgICAgMHhlNTM3YzI3MywgMHg2YmI4YzU5MCwgMHhhNzEyYzUwZSwgMHhhZGQ3Y2MxNywgMHg2MTdkY2M4OSwKKyAgICAweGVmZjJjYjZhLCAweDIzNThjYmY0LCAweGZhNzhkOTU4LCAweDM2ZDJkOWM2LCAweGI4NWRkZTI1LAorICAgIDB4NzRmN2RlYmIsIDB4N2UzMmQ3YTIsIDB4YjI5OGQ3M2MsIDB4M2MxN2QwZGYsIDB4ZjBiZGQwNDEsCisgICAgMHg1NTI2ZjNjNiwgMHg5OThjZjM1OCwgMHgxNzAzZjRiYiwgMHhkYmE5ZjQyNSwgMHhkMTZjZmQzYywKKyAgICAweDFkYzZmZGEyLCAweDkzNDlmYTQxLCAweDVmZTNmYWRmLCAweDg2YzNlODczLCAweDRhNjllOGVkLAorICAgIDB4YzRlNmVmMGUsIDB4MDg0Y2VmOTAsIDB4MDI4OWU2ODksIDB4Y2UyM2U2MTcsIDB4NDBhY2UxZjQsCisgICAgMHg4YzA2ZTE2YSwgMHhkMGViYTBiYiwgMHgxYzQxYTAyNSwgMHg5MmNlYTdjNiwgMHg1ZTY0YTc1OCwKKyAgICAweDU0YTFhZTQxLCAweDk4MGJhZWRmLCAweDE2ODRhOTNjLCAweGRhMmVhOWEyLCAweDAzMGViYjBlLAorICAgIDB4Y2ZhNGJiOTAsIDB4NDEyYmJjNzMsIDB4OGQ4MWJjZWQsIDB4ODc0NGI1ZjQsIDB4NGJlZWI1NmEsCisgICAgMHhjNTYxYjI4OSwgMHgwOWNiYjIxNywgMHhhYzUwOTE5MCwgMHg2MGZhOTEwZSwgMHhlZTc1OTZlZCwKKyAgICAweDIyZGY5NjczLCAweDI4MWE5ZjZhLCAweGU0YjA5ZmY0LCAweDZhM2Y5ODE3LCAweGE2OTU5ODg5LAorICAgIDB4N2ZiNThhMjUsIDB4YjMxZjhhYmIsIDB4M2Q5MDhkNTgsIDB4ZjEzYThkYzYsIDB4ZmJmZjg0ZGYsCisgICAgMHgzNzU1ODQ0MSwgMHhiOWRhODNhMiwgMHg3NTcwODMzYywgMHg1MzNiODVkYSwgMHg5ZjkxODU0NCwKKyAgICAweDExMWU4MmE3LCAweGRkYjQ4MjM5LCAweGQ3NzE4YjIwLCAweDFiZGI4YmJlLCAweDk1NTQ4YzVkLAorICAgIDB4NTlmZThjYzMsIDB4ODBkZTllNmYsIDB4NGM3NDllZjEsIDB4YzJmYjk5MTIsIDB4MGU1MTk5OGMsCisgICAgMHgwNDk0OTA5NSwgMHhjODNlOTAwYiwgMHg0NmIxOTdlOCwgMHg4YTFiOTc3NiwgMHgyZjgwYjRmMSwKKyAgICAweGUzMmFiNDZmLCAweDZkYTViMzhjLCAweGExMGZiMzEyLCAweGFiY2FiYTBiLCAweDY3NjBiYTk1LAorICAgIDB4ZTllZmJkNzYsIDB4MjU0NWJkZTgsIDB4ZmM2NWFmNDQsIDB4MzBjZmFmZGEsIDB4YmU0MGE4MzksCisgICAgMHg3MmVhYThhNywgMHg3ODJmYTFiZSwgMHhiNDg1YTEyMCwgMHgzYTBhYTZjMywgMHhmNmEwYTY1ZCwKKyAgICAweGFhNGRlNzhjLCAweDY2ZTdlNzEyLCAweGU4NjhlMGYxLCAweDI0YzJlMDZmLCAweDJlMDdlOTc2LAorICAgIDB4ZTJhZGU5ZTgsIDB4NmMyMmVlMGIsIDB4YTA4OGVlOTUsIDB4NzlhOGZjMzksIDB4YjUwMmZjYTcsCisgICAgMHgzYjhkZmI0NCwgMHhmNzI3ZmJkYSwgMHhmZGUyZjJjMywgMHgzMTQ4ZjI1ZCwgMHhiZmM3ZjViZSwKKyAgICAweDczNmRmNTIwLCAweGQ2ZjZkNmE3LCAweDFhNWNkNjM5LCAweDk0ZDNkMWRhLCAweDU4NzlkMTQ0LAorICAgIDB4NTJiY2Q4NWQsIDB4OWUxNmQ4YzMsIDB4MTA5OWRmMjAsIDB4ZGMzM2RmYmUsIDB4MDUxM2NkMTIsCisgICAgMHhjOWI5Y2Q4YywgMHg0NzM2Y2E2ZiwgMHg4YjljY2FmMSwgMHg4MTU5YzNlOCwgMHg0ZGYzYzM3NiwKKyAgICAweGMzN2NjNDk1LCAweDBmZDZjNDBiLCAweDdhYTY0NzM3LCAweGI2MGM0N2E5LCAweDM4ODM0MDRhLAorICAgIDB4ZjQyOTQwZDQsIDB4ZmVlYzQ5Y2QsIDB4MzI0NjQ5NTMsIDB4YmNjOTRlYjAsIDB4NzA2MzRlMmUsCisgICAgMHhhOTQzNWM4MiwgMHg2NWU5NWMxYywgMHhlYjY2NWJmZiwgMHgyN2NjNWI2MSwgMHgyZDA5NTI3OCwKKyAgICAweGUxYTM1MmU2LCAweDZmMmM1NTA1LCAweGEzODY1NTliLCAweDA2MWQ3NjFjLCAweGNhYjc3NjgyLAorICAgIDB4NDQzODcxNjEsIDB4ODg5MjcxZmYsIDB4ODI1Nzc4ZTYsIDB4NGVmZDc4NzgsIDB4YzA3MjdmOWIsCisgICAgMHgwY2Q4N2YwNSwgMHhkNWY4NmRhOSwgMHgxOTUyNmQzNywgMHg5N2RkNmFkNCwgMHg1Yjc3NmE0YSwKKyAgICAweDUxYjI2MzUzLCAweDlkMTg2M2NkLCAweDEzOTc2NDJlLCAweGRmM2Q2NGIwLCAweDgzZDAyNTYxLAorICAgIDB4NGY3YTI1ZmYsIDB4YzFmNTIyMWMsIDB4MGQ1ZjIyODIsIDB4MDc5YTJiOWIsIDB4Y2IzMDJiMDUsCisgICAgMHg0NWJmMmNlNiwgMHg4OTE1MmM3OCwgMHg1MDM1M2VkNCwgMHg5YzlmM2U0YSwgMHgxMjEwMzlhOSwKKyAgICAweGRlYmEzOTM3LCAweGQ0N2YzMDJlLCAweDE4ZDUzMGIwLCAweDk2NWEzNzUzLCAweDVhZjAzN2NkLAorICAgIDB4ZmY2YjE0NGEsIDB4MzNjMTE0ZDQsIDB4YmQ0ZTEzMzcsIDB4NzFlNDEzYTksIDB4N2IyMTFhYjAsCisgICAgMHhiNzhiMWEyZSwgMHgzOTA0MWRjZCwgMHhmNWFlMWQ1MywgMHgyYzhlMGZmZiwgMHhlMDI0MGY2MSwKKyAgICAweDZlYWIwODgyLCAweGEyMDEwODFjLCAweGE4YzQwMTA1LCAweDY0NmUwMTliLCAweGVhZTEwNjc4LAorICAgIDB4MjY0YjA2ZTZ9LAorICAgezB4MDAwMDAwMDAsIDB4YTY3NzBiYjQsIDB4OTc5ZjExMjksIDB4MzFlODFhOWQsIDB4ZjQ0ZjI0MTMsCisgICAgMHg1MjM4MmZhNywgMHg2M2QwMzUzYSwgMHhjNWE3M2U4ZSwgMHgzM2VmNGU2NywgMHg5NTk4NDVkMywKKyAgICAweGE0NzA1ZjRlLCAweDAyMDc1NGZhLCAweGM3YTA2YTc0LCAweDYxZDc2MWMwLCAweDUwM2Y3YjVkLAorICAgIDB4ZjY0ODcwZTksIDB4NjdkZTljY2UsIDB4YzFhOTk3N2EsIDB4ZjA0MThkZTcsIDB4NTYzNjg2NTMsCisgICAgMHg5MzkxYjhkZCwgMHgzNWU2YjM2OSwgMHgwNDBlYTlmNCwgMHhhMjc5YTI0MCwgMHg1NDMxZDJhOSwKKyAgICAweGYyNDZkOTFkLCAweGMzYWVjMzgwLCAweDY1ZDljODM0LCAweGEwN2VmNmJhLCAweDA2MDlmZDBlLAorICAgIDB4MzdlMWU3OTMsIDB4OTE5NmVjMjcsIDB4Y2ZiZDM5OWMsIDB4NjljYTMyMjgsIDB4NTgyMjI4YjUsCisgICAgMHhmZTU1MjMwMSwgMHgzYmYyMWQ4ZiwgMHg5ZDg1MTYzYiwgMHhhYzZkMGNhNiwgMHgwYTFhMDcxMiwKKyAgICAweGZjNTI3N2ZiLCAweDVhMjU3YzRmLCAweDZiY2Q2NmQyLCAweGNkYmE2ZDY2LCAweDA4MWQ1M2U4LAorICAgIDB4YWU2YTU4NWMsIDB4OWY4MjQyYzEsIDB4MzlmNTQ5NzUsIDB4YTg2M2E1NTIsIDB4MGUxNGFlZTYsCisgICAgMHgzZmZjYjQ3YiwgMHg5OThiYmZjZiwgMHg1YzJjODE0MSwgMHhmYTViOGFmNSwgMHhjYmIzOTA2OCwKKyAgICAweDZkYzQ5YmRjLCAweDliOGNlYjM1LCAweDNkZmJlMDgxLCAweDBjMTNmYTFjLCAweGFhNjRmMWE4LAorICAgIDB4NmZjM2NmMjYsIDB4YzliNGM0OTIsIDB4Zjg1Y2RlMGYsIDB4NWUyYmQ1YmIsIDB4NDQwYjc1NzksCisgICAgMHhlMjdjN2VjZCwgMHhkMzk0NjQ1MCwgMHg3NWUzNmZlNCwgMHhiMDQ0NTE2YSwgMHgxNjMzNWFkZSwKKyAgICAweDI3ZGI0MDQzLCAweDgxYWM0YmY3LCAweDc3ZTQzYjFlLCAweGQxOTMzMGFhLCAweGUwN2IyYTM3LAorICAgIDB4NDYwYzIxODMsIDB4ODNhYjFmMGQsIDB4MjVkYzE0YjksIDB4MTQzNDBlMjQsIDB4YjI0MzA1OTAsCisgICAgMHgyM2Q1ZTliNywgMHg4NWEyZTIwMywgMHhiNDRhZjg5ZSwgMHgxMjNkZjMyYSwgMHhkNzlhY2RhNCwKKyAgICAweDcxZWRjNjEwLCAweDQwMDVkYzhkLCAweGU2NzJkNzM5LCAweDEwM2FhN2QwLCAweGI2NGRhYzY0LAorICAgIDB4ODdhNWI2ZjksIDB4MjFkMmJkNGQsIDB4ZTQ3NTgzYzMsIDB4NDIwMjg4NzcsIDB4NzNlYTkyZWEsCisgICAgMHhkNTlkOTk1ZSwgMHg4YmI2NGNlNSwgMHgyZGMxNDc1MSwgMHgxYzI5NWRjYywgMHhiYTVlNTY3OCwKKyAgICAweDdmZjk2OGY2LCAweGQ5OGU2MzQyLCAweGU4NjY3OWRmLCAweDRlMTE3MjZiLCAweGI4NTkwMjgyLAorICAgIDB4MWUyZTA5MzYsIDB4MmZjNjEzYWIsIDB4ODliMTE4MWYsIDB4NGMxNjI2OTEsIDB4ZWE2MTJkMjUsCisgICAgMHhkYjg5MzdiOCwgMHg3ZGZlM2MwYywgMHhlYzY4ZDAyYiwgMHg0YTFmZGI5ZiwgMHg3YmY3YzEwMiwKKyAgICAweGRkODBjYWI2LCAweDE4MjdmNDM4LCAweGJlNTBmZjhjLCAweDhmYjhlNTExLCAweDI5Y2ZlZWE1LAorICAgIDB4ZGY4NzllNGMsIDB4NzlmMDk1ZjgsIDB4NDgxODhmNjUsIDB4ZWU2Zjg0ZDEsIDB4MmJjOGJhNWYsCisgICAgMHg4ZGJmYjFlYiwgMHhiYzU3YWI3NiwgMHgxYTIwYTBjMiwgMHg4ODE2ZWFmMiwgMHgyZTYxZTE0NiwKKyAgICAweDFmODlmYmRiLCAweGI5ZmVmMDZmLCAweDdjNTljZWUxLCAweGRhMmVjNTU1LCAweGViYzZkZmM4LAorICAgIDB4NGRiMWQ0N2MsIDB4YmJmOWE0OTUsIDB4MWQ4ZWFmMjEsIDB4MmM2NmI1YmMsIDB4OGExMWJlMDgsCisgICAgMHg0ZmI2ODA4NiwgMHhlOWMxOGIzMiwgMHhkODI5OTFhZiwgMHg3ZTVlOWExYiwgMHhlZmM4NzYzYywKKyAgICAweDQ5YmY3ZDg4LCAweDc4NTc2NzE1LCAweGRlMjA2Y2ExLCAweDFiODc1MjJmLCAweGJkZjA1OTliLAorICAgIDB4OGMxODQzMDYsIDB4MmE2ZjQ4YjIsIDB4ZGMyNzM4NWIsIDB4N2E1MDMzZWYsIDB4NGJiODI5NzIsCisgICAgMHhlZGNmMjJjNiwgMHgyODY4MWM0OCwgMHg4ZTFmMTdmYywgMHhiZmY3MGQ2MSwgMHgxOTgwMDZkNSwKKyAgICAweDQ3YWJkMzZlLCAweGUxZGNkOGRhLCAweGQwMzRjMjQ3LCAweDc2NDNjOWYzLCAweGIzZTRmNzdkLAorICAgIDB4MTU5M2ZjYzksIDB4MjQ3YmU2NTQsIDB4ODIwY2VkZTAsIDB4NzQ0NDlkMDksIDB4ZDIzMzk2YmQsCisgICAgMHhlM2RiOGMyMCwgMHg0NWFjODc5NCwgMHg4MDBiYjkxYSwgMHgyNjdjYjJhZSwgMHgxNzk0YTgzMywKKyAgICAweGIxZTNhMzg3LCAweDIwNzU0ZmEwLCAweDg2MDI0NDE0LCAweGI3ZWE1ZTg5LCAweDExOWQ1NTNkLAorICAgIDB4ZDQzYTZiYjMsIDB4NzI0ZDYwMDcsIDB4NDNhNTdhOWEsIDB4ZTVkMjcxMmUsIDB4MTM5YTAxYzcsCisgICAgMHhiNWVkMGE3MywgMHg4NDA1MTBlZSwgMHgyMjcyMWI1YSwgMHhlN2Q1MjVkNCwgMHg0MWEyMmU2MCwKKyAgICAweDcwNGEzNGZkLCAweGQ2M2QzZjQ5LCAweGNjMWQ5ZjhiLCAweDZhNmE5NDNmLCAweDViODI4ZWEyLAorICAgIDB4ZmRmNTg1MTYsIDB4Mzg1MmJiOTgsIDB4OWUyNWIwMmMsIDB4YWZjZGFhYjEsIDB4MDliYWExMDUsCisgICAgMHhmZmYyZDFlYywgMHg1OTg1ZGE1OCwgMHg2ODZkYzBjNSwgMHhjZTFhY2I3MSwgMHgwYmJkZjVmZiwKKyAgICAweGFkY2FmZTRiLCAweDljMjJlNGQ2LCAweDNhNTVlZjYyLCAweGFiYzMwMzQ1LCAweDBkYjQwOGYxLAorICAgIDB4M2M1YzEyNmMsIDB4OWEyYjE5ZDgsIDB4NWY4YzI3NTYsIDB4ZjlmYjJjZTIsIDB4YzgxMzM2N2YsCisgICAgMHg2ZTY0M2RjYiwgMHg5ODJjNGQyMiwgMHgzZTViNDY5NiwgMHgwZmIzNWMwYiwgMHhhOWM0NTdiZiwKKyAgICAweDZjNjM2OTMxLCAweGNhMTQ2Mjg1LCAweGZiZmM3ODE4LCAweDVkOGI3M2FjLCAweDAzYTBhNjE3LAorICAgIDB4YTVkN2FkYTMsIDB4OTQzZmI3M2UsIDB4MzI0OGJjOGEsIDB4ZjdlZjgyMDQsIDB4NTE5ODg5YjAsCisgICAgMHg2MDcwOTMyZCwgMHhjNjA3OTg5OSwgMHgzMDRmZTg3MCwgMHg5NjM4ZTNjNCwgMHhhN2QwZjk1OSwKKyAgICAweDAxYTdmMmVkLCAweGM0MDBjYzYzLCAweDYyNzdjN2Q3LCAweDUzOWZkZDRhLCAweGY1ZThkNmZlLAorICAgIDB4NjQ3ZTNhZDksIDB4YzIwOTMxNmQsIDB4ZjNlMTJiZjAsIDB4NTU5NjIwNDQsIDB4OTAzMTFlY2EsCisgICAgMHgzNjQ2MTU3ZSwgMHgwN2FlMGZlMywgMHhhMWQ5MDQ1NywgMHg1NzkxNzRiZSwgMHhmMWU2N2YwYSwKKyAgICAweGMwMGU2NTk3LCAweDY2Nzk2ZTIzLCAweGEzZGU1MGFkLCAweDA1YTk1YjE5LCAweDM0NDE0MTg0LAorICAgIDB4OTIzNjRhMzB9LAorICAgezB4MDAwMDAwMDAsIDB4Y2I1Y2QzYTUsIDB4NGRjOGExMGIsIDB4ODY5NDcyYWUsIDB4OWI5MTQyMTYsCisgICAgMHg1MGNkOTFiMywgMHhkNjU5ZTMxZCwgMHgxZDA1MzBiOCwgMHhlYzUzODI2ZCwgMHgyNzBmNTFjOCwKKyAgICAweGExOWIyMzY2LCAweDZhYzdmMGMzLCAweDc3YzJjMDdiLCAweGJjOWUxM2RlLCAweDNhMGE2MTcwLAorICAgIDB4ZjE1NmIyZDUsIDB4MDNkNjAyOWIsIDB4Yzg4YWQxM2UsIDB4NGUxZWEzOTAsIDB4ODU0MjcwMzUsCisgICAgMHg5ODQ3NDA4ZCwgMHg1MzFiOTMyOCwgMHhkNThmZTE4NiwgMHgxZWQzMzIyMywgMHhlZjg1ODBmNiwKKyAgICAweDI0ZDk1MzUzLCAweGEyNGQyMWZkLCAweDY5MTFmMjU4LCAweDc0MTRjMmUwLCAweGJmNDgxMTQ1LAorICAgIDB4MzlkYzYzZWIsIDB4ZjI4MGIwNGUsIDB4MDdhYzA1MzYsIDB4Y2NmMGQ2OTMsIDB4NGE2NGE0M2QsCisgICAgMHg4MTM4Nzc5OCwgMHg5YzNkNDcyMCwgMHg1NzYxOTQ4NSwgMHhkMWY1ZTYyYiwgMHgxYWE5MzU4ZSwKKyAgICAweGViZmY4NzViLCAweDIwYTM1NGZlLCAweGE2MzcyNjUwLCAweDZkNmJmNWY1LCAweDcwNmVjNTRkLAorICAgIDB4YmIzMjE2ZTgsIDB4M2RhNjY0NDYsIDB4ZjZmYWI3ZTMsIDB4MDQ3YTA3YWQsIDB4Y2YyNmQ0MDgsCisgICAgMHg0OWIyYTZhNiwgMHg4MmVlNzUwMywgMHg5ZmViNDViYiwgMHg1NGI3OTYxZSwgMHhkMjIzZTRiMCwKKyAgICAweDE5N2YzNzE1LCAweGU4Mjk4NWMwLCAweDIzNzU1NjY1LCAweGE1ZTEyNGNiLCAweDZlYmRmNzZlLAorICAgIDB4NzNiOGM3ZDYsIDB4YjhlNDE0NzMsIDB4M2U3MDY2ZGQsIDB4ZjUyY2I1NzgsIDB4MGY1ODBhNmMsCisgICAgMHhjNDA0ZDljOSwgMHg0MjkwYWI2NywgMHg4OWNjNzhjMiwgMHg5NGM5NDg3YSwgMHg1Zjk1OWJkZiwKKyAgICAweGQ5MDFlOTcxLCAweDEyNWQzYWQ0LCAweGUzMGI4ODAxLCAweDI4NTc1YmE0LCAweGFlYzMyOTBhLAorICAgIDB4NjU5ZmZhYWYsIDB4Nzg5YWNhMTcsIDB4YjNjNjE5YjIsIDB4MzU1MjZiMWMsIDB4ZmUwZWI4YjksCisgICAgMHgwYzhlMDhmNywgMHhjN2QyZGI1MiwgMHg0MTQ2YTlmYywgMHg4YTFhN2E1OSwgMHg5NzFmNGFlMSwKKyAgICAweDVjNDM5OTQ0LCAweGRhZDdlYmVhLCAweDExOGIzODRmLCAweGUwZGQ4YTlhLCAweDJiODE1OTNmLAorICAgIDB4YWQxNTJiOTEsIDB4NjY0OWY4MzQsIDB4N2I0Y2M4OGMsIDB4YjAxMDFiMjksIDB4MzY4NDY5ODcsCisgICAgMHhmZGQ4YmEyMiwgMHgwOGY0MGY1YSwgMHhjM2E4ZGNmZiwgMHg0NTNjYWU1MSwgMHg4ZTYwN2RmNCwKKyAgICAweDkzNjU0ZDRjLCAweDU4Mzk5ZWU5LCAweGRlYWRlYzQ3LCAweDE1ZjEzZmUyLCAweGU0YTc4ZDM3LAorICAgIDB4MmZmYjVlOTIsIDB4YTk2ZjJjM2MsIDB4NjIzM2ZmOTksIDB4N2YzNmNmMjEsIDB4YjQ2YTFjODQsCisgICAgMHgzMmZlNmUyYSwgMHhmOWEyYmQ4ZiwgMHgwYjIyMGRjMSwgMHhjMDdlZGU2NCwgMHg0NmVhYWNjYSwKKyAgICAweDhkYjY3ZjZmLCAweDkwYjM0ZmQ3LCAweDViZWY5YzcyLCAweGRkN2JlZWRjLCAweDE2MjczZDc5LAorICAgIDB4ZTc3MThmYWMsIDB4MmMyZDVjMDksIDB4YWFiOTJlYTcsIDB4NjFlNWZkMDIsIDB4N2NlMGNkYmEsCisgICAgMHhiN2JjMWUxZiwgMHgzMTI4NmNiMSwgMHhmYTc0YmYxNCwgMHgxZWIwMTRkOCwgMHhkNWVjYzc3ZCwKKyAgICAweDUzNzhiNWQzLCAweDk4MjQ2Njc2LCAweDg1MjE1NmNlLCAweDRlN2Q4NTZiLCAweGM4ZTlmN2M1LAorICAgIDB4MDNiNTI0NjAsIDB4ZjJlMzk2YjUsIDB4MzliZjQ1MTAsIDB4YmYyYjM3YmUsIDB4NzQ3N2U0MWIsCisgICAgMHg2OTcyZDRhMywgMHhhMjJlMDcwNiwgMHgyNGJhNzVhOCwgMHhlZmU2YTYwZCwgMHgxZDY2MTY0MywKKyAgICAweGQ2M2FjNWU2LCAweDUwYWViNzQ4LCAweDliZjI2NGVkLCAweDg2Zjc1NDU1LCAweDRkYWI4N2YwLAorICAgIDB4Y2IzZmY1NWUsIDB4MDA2MzI2ZmIsIDB4ZjEzNTk0MmUsIDB4M2E2OTQ3OGIsIDB4YmNmZDM1MjUsCisgICAgMHg3N2ExZTY4MCwgMHg2YWE0ZDYzOCwgMHhhMWY4MDU5ZCwgMHgyNzZjNzczMywgMHhlYzMwYTQ5NiwKKyAgICAweDE5MWMxMWVlLCAweGQyNDBjMjRiLCAweDU0ZDRiMGU1LCAweDlmODg2MzQwLCAweDgyOGQ1M2Y4LAorICAgIDB4NDlkMTgwNWQsIDB4Y2Y0NWYyZjMsIDB4MDQxOTIxNTYsIDB4ZjU0ZjkzODMsIDB4M2UxMzQwMjYsCisgICAgMHhiODg3MzI4OCwgMHg3M2RiZTEyZCwgMHg2ZWRlZDE5NSwgMHhhNTgyMDIzMCwgMHgyMzE2NzA5ZSwKKyAgICAweGU4NGFhMzNiLCAweDFhY2ExMzc1LCAweGQxOTZjMGQwLCAweDU3MDJiMjdlLCAweDljNWU2MWRiLAorICAgIDB4ODE1YjUxNjMsIDB4NGEwNzgyYzYsIDB4Y2M5M2YwNjgsIDB4MDdjZjIzY2QsIDB4ZjY5OTkxMTgsCisgICAgMHgzZGM1NDJiZCwgMHhiYjUxMzAxMywgMHg3MDBkZTNiNiwgMHg2ZDA4ZDMwZSwgMHhhNjU0MDBhYiwKKyAgICAweDIwYzA3MjA1LCAweGViOWNhMWEwLCAweDExZTgxZWI0LCAweGRhYjRjZDExLCAweDVjMjBiZmJmLAorICAgIDB4OTc3YzZjMWEsIDB4OGE3OTVjYTIsIDB4NDEyNThmMDcsIDB4YzdiMWZkYTksIDB4MGNlZDJlMGMsCisgICAgMHhmZGJiOWNkOSwgMHgzNmU3NGY3YywgMHhiMDczM2RkMiwgMHg3YjJmZWU3NywgMHg2NjJhZGVjZiwKKyAgICAweGFkNzYwZDZhLCAweDJiZTI3ZmM0LCAweGUwYmVhYzYxLCAweDEyM2UxYzJmLCAweGQ5NjJjZjhhLAorICAgIDB4NWZmNmJkMjQsIDB4OTRhYTZlODEsIDB4ODlhZjVlMzksIDB4NDJmMzhkOWMsIDB4YzQ2N2ZmMzIsCisgICAgMHgwZjNiMmM5NywgMHhmZTZkOWU0MiwgMHgzNTMxNGRlNywgMHhiM2E1M2Y0OSwgMHg3OGY5ZWNlYywKKyAgICAweDY1ZmNkYzU0LCAweGFlYTAwZmYxLCAweDI4MzQ3ZDVmLCAweGUzNjhhZWZhLCAweDE2NDQxYjgyLAorICAgIDB4ZGQxOGM4MjcsIDB4NWI4Y2JhODksIDB4OTBkMDY5MmMsIDB4OGRkNTU5OTQsIDB4NDY4OThhMzEsCisgICAgMHhjMDFkZjg5ZiwgMHgwYjQxMmIzYSwgMHhmYTE3OTllZiwgMHgzMTRiNGE0YSwgMHhiN2RmMzhlNCwKKyAgICAweDdjODNlYjQxLCAweDYxODZkYmY5LCAweGFhZGEwODVjLCAweDJjNGU3YWYyLCAweGU3MTJhOTU3LAorICAgIDB4MTU5MjE5MTksIDB4ZGVjZWNhYmMsIDB4NTg1YWI4MTIsIDB4OTMwNjZiYjcsIDB4OGUwMzViMGYsCisgICAgMHg0NTVmODhhYSwgMHhjM2NiZmEwNCwgMHgwODk3MjlhMSwgMHhmOWMxOWI3NCwgMHgzMjlkNDhkMSwKKyAgICAweGI0MDkzYTdmLCAweDdmNTVlOWRhLCAweDYyNTBkOTYyLCAweGE5MGMwYWM3LCAweDJmOTg3ODY5LAorICAgIDB4ZTRjNGFiY2N9LAorICAgezB4MDAwMDAwMDAsIDB4M2Q2MDI5YjAsIDB4N2FjMDUzNjAsIDB4NDdhMDdhZDAsIDB4ZjU4MGE2YzAsCisgICAgMHhjOGUwOGY3MCwgMHg4ZjQwZjVhMCwgMHhiMjIwZGMxMCwgMHgzMDcwNGJjMSwgMHgwZDEwNjI3MSwKKyAgICAweDRhYjAxOGExLCAweDc3ZDAzMTExLCAweGM1ZjBlZDAxLCAweGY4OTBjNGIxLCAweGJmMzBiZTYxLAorICAgIDB4ODI1MDk3ZDEsIDB4NjBlMDk3ODIsIDB4NWQ4MGJlMzIsIDB4MWEyMGM0ZTIsIDB4Mjc0MGVkNTIsCisgICAgMHg5NTYwMzE0MiwgMHhhODAwMThmMiwgMHhlZmEwNjIyMiwgMHhkMmMwNGI5MiwgMHg1MDkwZGM0MywKKyAgICAweDZkZjBmNWYzLCAweDJhNTA4ZjIzLCAweDE3MzBhNjkzLCAweGE1MTA3YTgzLCAweDk4NzA1MzMzLAorICAgIDB4ZGZkMDI5ZTMsIDB4ZTJiMDAwNTMsIDB4YzFjMTJmMDQsIDB4ZmNhMTA2YjQsIDB4YmIwMTdjNjQsCisgICAgMHg4NjYxNTVkNCwgMHgzNDQxODljNCwgMHgwOTIxYTA3NCwgMHg0ZTgxZGFhNCwgMHg3M2UxZjMxNCwKKyAgICAweGYxYjE2NGM1LCAweGNjZDE0ZDc1LCAweDhiNzEzN2E1LCAweGI2MTExZTE1LCAweDA0MzFjMjA1LAorICAgIDB4Mzk1MWViYjUsIDB4N2VmMTkxNjUsIDB4NDM5MWI4ZDUsIDB4YTEyMWI4ODYsIDB4OWM0MTkxMzYsCisgICAgMHhkYmUxZWJlNiwgMHhlNjgxYzI1NiwgMHg1NGExMWU0NiwgMHg2OWMxMzdmNiwgMHgyZTYxNGQyNiwKKyAgICAweDEzMDE2NDk2LCAweDkxNTFmMzQ3LCAweGFjMzFkYWY3LCAweGViOTFhMDI3LCAweGQ2ZjE4OTk3LAorICAgIDB4NjRkMTU1ODcsIDB4NTliMTdjMzcsIDB4MWUxMTA2ZTcsIDB4MjM3MTJmNTcsIDB4NThmMzU4NDksCisgICAgMHg2NTkzNzFmOSwgMHgyMjMzMGIyOSwgMHgxZjUzMjI5OSwgMHhhZDczZmU4OSwgMHg5MDEzZDczOSwKKyAgICAweGQ3YjNhZGU5LCAweGVhZDM4NDU5LCAweDY4ODMxMzg4LCAweDU1ZTMzYTM4LCAweDEyNDM0MGU4LAorICAgIDB4MmYyMzY5NTgsIDB4OWQwM2I1NDgsIDB4YTA2MzljZjgsIDB4ZTdjM2U2MjgsIDB4ZGFhM2NmOTgsCisgICAgMHgzODEzY2ZjYiwgMHgwNTczZTY3YiwgMHg0MmQzOWNhYiwgMHg3ZmIzYjUxYiwgMHhjZDkzNjkwYiwKKyAgICAweGYwZjM0MGJiLCAweGI3NTMzYTZiLCAweDhhMzMxM2RiLCAweDA4NjM4NDBhLCAweDM1MDNhZGJhLAorICAgIDB4NzJhM2Q3NmEsIDB4NGZjM2ZlZGEsIDB4ZmRlMzIyY2EsIDB4YzA4MzBiN2EsIDB4ODcyMzcxYWEsCisgICAgMHhiYTQzNTgxYSwgMHg5OTMyNzc0ZCwgMHhhNDUyNWVmZCwgMHhlM2YyMjQyZCwgMHhkZTkyMGQ5ZCwKKyAgICAweDZjYjJkMThkLCAweDUxZDJmODNkLCAweDE2NzI4MmVkLCAweDJiMTJhYjVkLCAweGE5NDIzYzhjLAorICAgIDB4OTQyMjE1M2MsIDB4ZDM4MjZmZWMsIDB4ZWVlMjQ2NWMsIDB4NWNjMjlhNGMsIDB4NjFhMmIzZmMsCisgICAgMHgyNjAyYzkyYywgMHgxYjYyZTA5YywgMHhmOWQyZTBjZiwgMHhjNGIyYzk3ZiwgMHg4MzEyYjNhZiwKKyAgICAweGJlNzI5YTFmLCAweDBjNTI0NjBmLCAweDMxMzI2ZmJmLCAweDc2OTIxNTZmLCAweDRiZjIzY2RmLAorICAgIDB4YzlhMmFiMGUsIDB4ZjRjMjgyYmUsIDB4YjM2MmY4NmUsIDB4OGUwMmQxZGUsIDB4M2MyMjBkY2UsCisgICAgMHgwMTQyMjQ3ZSwgMHg0NmUyNWVhZSwgMHg3YjgyNzcxZSwgMHhiMWU2YjA5MiwgMHg4Yzg2OTkyMiwKKyAgICAweGNiMjZlM2YyLCAweGY2NDZjYTQyLCAweDQ0NjYxNjUyLCAweDc5MDYzZmUyLCAweDNlYTY0NTMyLAorICAgIDB4MDNjNjZjODIsIDB4ODE5NmZiNTMsIDB4YmNmNmQyZTMsIDB4ZmI1NmE4MzMsIDB4YzYzNjgxODMsCisgICAgMHg3NDE2NWQ5MywgMHg0OTc2NzQyMywgMHgwZWQ2MGVmMywgMHgzM2I2Mjc0MywgMHhkMTA2MjcxMCwKKyAgICAweGVjNjYwZWEwLCAweGFiYzY3NDcwLCAweDk2YTY1ZGMwLCAweDI0ODY4MWQwLCAweDE5ZTZhODYwLAorICAgIDB4NWU0NmQyYjAsIDB4NjMyNmZiMDAsIDB4ZTE3NjZjZDEsIDB4ZGMxNjQ1NjEsIDB4OWJiNjNmYjEsCisgICAgMHhhNmQ2MTYwMSwgMHgxNGY2Y2ExMSwgMHgyOTk2ZTNhMSwgMHg2ZTM2OTk3MSwgMHg1MzU2YjBjMSwKKyAgICAweDcwMjc5Zjk2LCAweDRkNDdiNjI2LCAweDBhZTdjY2Y2LCAweDM3ODdlNTQ2LCAweDg1YTczOTU2LAorICAgIDB4YjhjNzEwZTYsIDB4ZmY2NzZhMzYsIDB4YzIwNzQzODYsIDB4NDA1N2Q0NTcsIDB4N2QzN2ZkZTcsCisgICAgMHgzYTk3ODczNywgMHgwN2Y3YWU4NywgMHhiNWQ3NzI5NywgMHg4OGI3NWIyNywgMHhjZjE3MjFmNywKKyAgICAweGYyNzcwODQ3LCAweDEwYzcwODE0LCAweDJkYTcyMWE0LCAweDZhMDc1Yjc0LCAweDU3Njc3MmM0LAorICAgIDB4ZTU0N2FlZDQsIDB4ZDgyNzg3NjQsIDB4OWY4N2ZkYjQsIDB4YTJlN2Q0MDQsIDB4MjBiNzQzZDUsCisgICAgMHgxZGQ3NmE2NSwgMHg1YTc3MTBiNSwgMHg2NzE3MzkwNSwgMHhkNTM3ZTUxNSwgMHhlODU3Y2NhNSwKKyAgICAweGFmZjdiNjc1LCAweDkyOTc5ZmM1LCAweGU5MTVlOGRiLCAweGQ0NzVjMTZiLCAweDkzZDViYmJiLAorICAgIDB4YWViNTkyMGIsIDB4MWM5NTRlMWIsIDB4MjFmNTY3YWIsIDB4NjY1NTFkN2IsIDB4NWIzNTM0Y2IsCisgICAgMHhkOTY1YTMxYSwgMHhlNDA1OGFhYSwgMHhhM2E1ZjA3YSwgMHg5ZWM1ZDljYSwgMHgyY2U1MDVkYSwKKyAgICAweDExODUyYzZhLCAweDU2MjU1NmJhLCAweDZiNDU3ZjBhLCAweDg5ZjU3ZjU5LCAweGI0OTU1NmU5LAorICAgIDB4ZjMzNTJjMzksIDB4Y2U1NTA1ODksIDB4N2M3NWQ5OTksIDB4NDExNWYwMjksIDB4MDZiNThhZjksCisgICAgMHgzYmQ1YTM0OSwgMHhiOTg1MzQ5OCwgMHg4NGU1MWQyOCwgMHhjMzQ1NjdmOCwgMHhmZTI1NGU0OCwKKyAgICAweDRjMDU5MjU4LCAweDcxNjViYmU4LCAweDM2YzVjMTM4LCAweDBiYTVlODg4LCAweDI4ZDRjN2RmLAorICAgIDB4MTViNGVlNmYsIDB4NTIxNDk0YmYsIDB4NmY3NGJkMGYsIDB4ZGQ1NDYxMWYsIDB4ZTAzNDQ4YWYsCisgICAgMHhhNzk0MzI3ZiwgMHg5YWY0MWJjZiwgMHgxOGE0OGMxZSwgMHgyNWM0YTVhZSwgMHg2MjY0ZGY3ZSwKKyAgICAweDVmMDRmNmNlLCAweGVkMjQyYWRlLCAweGQwNDQwMzZlLCAweDk3ZTQ3OWJlLCAweGFhODQ1MDBlLAorICAgIDB4NDgzNDUwNWQsIDB4NzU1NDc5ZWQsIDB4MzJmNDAzM2QsIDB4MGY5NDJhOGQsIDB4YmRiNGY2OWQsCisgICAgMHg4MGQ0ZGYyZCwgMHhjNzc0YTVmZCwgMHhmYTE0OGM0ZCwgMHg3ODQ0MWI5YywgMHg0NTI0MzIyYywKKyAgICAweDAyODQ0OGZjLCAweDNmZTQ2MTRjLCAweDhkYzRiZDVjLCAweGIwYTQ5NGVjLCAweGY3MDRlZTNjLAorICAgIDB4Y2E2NGM3OGN9LAorICAgezB4MDAwMDAwMDAsIDB4YjhiYzY3NjUsIDB4YWEwOWM4OGIsIDB4MTJiNWFmZWUsIDB4OGY2Mjk3NTcsCisgICAgMHgzN2RlZjAzMiwgMHgyNTZiNWZkYywgMHg5ZGQ3MzhiOSwgMHhjNWI0MjhlZiwgMHg3ZDA4NGY4YSwKKyAgICAweDZmYmRlMDY0LCAweGQ3MDE4NzAxLCAweDRhZDZiZmI4LCAweGYyNmFkOGRkLCAweGUwZGY3NzMzLAorICAgIDB4NTg2MzEwNTYsIDB4NTAxOTU3OWYsIDB4ZThhNTMwZmEsIDB4ZmExMDlmMTQsIDB4NDJhY2Y4NzEsCisgICAgMHhkZjdiYzBjOCwgMHg2N2M3YTdhZCwgMHg3NTcyMDg0MywgMHhjZGNlNmYyNiwgMHg5NWFkN2Y3MCwKKyAgICAweDJkMTExODE1LCAweDNmYTRiN2ZiLCAweDg3MThkMDllLCAweDFhY2ZlODI3LCAweGEyNzM4ZjQyLAorICAgIDB4YjBjNjIwYWMsIDB4MDg3YTQ3YzksIDB4YTAzMmFmM2UsIDB4MTg4ZWM4NWIsIDB4MGEzYjY3YjUsCisgICAgMHhiMjg3MDBkMCwgMHgyZjUwMzg2OSwgMHg5N2VjNWYwYywgMHg4NTU5ZjBlMiwgMHgzZGU1OTc4NywKKyAgICAweDY1ODY4N2QxLCAweGRkM2FlMGI0LCAweGNmOGY0ZjVhLCAweDc3MzMyODNmLCAweGVhZTQxMDg2LAorICAgIDB4NTI1ODc3ZTMsIDB4NDBlZGQ4MGQsIDB4Zjg1MWJmNjgsIDB4ZjAyYmY4YTEsIDB4NDg5NzlmYzQsCisgICAgMHg1YTIyMzAyYSwgMHhlMjllNTc0ZiwgMHg3ZjQ5NmZmNiwgMHhjN2Y1MDg5MywgMHhkNTQwYTc3ZCwKKyAgICAweDZkZmNjMDE4LCAweDM1OWZkMDRlLCAweDhkMjNiNzJiLCAweDlmOTYxOGM1LCAweDI3MmE3ZmEwLAorICAgIDB4YmFmZDQ3MTksIDB4MDI0MTIwN2MsIDB4MTBmNDhmOTIsIDB4YTg0OGU4ZjcsIDB4OWIxNDU4M2QsCisgICAgMHgyM2E4M2Y1OCwgMHgzMTFkOTBiNiwgMHg4OWExZjdkMywgMHgxNDc2Y2Y2YSwgMHhhY2NhYTgwZiwKKyAgICAweGJlN2YwN2UxLCAweDA2YzM2MDg0LCAweDVlYTA3MGQyLCAweGU2MWMxN2I3LCAweGY0YTliODU5LAorICAgIDB4NGMxNWRmM2MsIDB4ZDFjMmU3ODUsIDB4Njk3ZTgwZTAsIDB4N2JjYjJmMGUsIDB4YzM3NzQ4NmIsCisgICAgMHhjYjBkMGZhMiwgMHg3M2IxNjhjNywgMHg2MTA0YzcyOSwgMHhkOWI4YTA0YywgMHg0NDZmOThmNSwKKyAgICAweGZjZDNmZjkwLCAweGVlNjY1MDdlLCAweDU2ZGEzNzFiLCAweDBlYjkyNzRkLCAweGI2MDU0MDI4LAorICAgIDB4YTRiMGVmYzYsIDB4MWMwYzg4YTMsIDB4ODFkYmIwMWEsIDB4Mzk2N2Q3N2YsIDB4MmJkMjc4OTEsCisgICAgMHg5MzZlMWZmNCwgMHgzYjI2ZjcwMywgMHg4MzlhOTA2NiwgMHg5MTJmM2Y4OCwgMHgyOTkzNThlZCwKKyAgICAweGI0NDQ2MDU0LCAweDBjZjgwNzMxLCAweDFlNGRhOGRmLCAweGE2ZjFjZmJhLCAweGZlOTJkZmVjLAorICAgIDB4NDYyZWI4ODksIDB4NTQ5YjE3NjcsIDB4ZWMyNzcwMDIsIDB4NzFmMDQ4YmIsIDB4Yzk0YzJmZGUsCisgICAgMHhkYmY5ODAzMCwgMHg2MzQ1ZTc1NSwgMHg2YjNmYTA5YywgMHhkMzgzYzdmOSwgMHhjMTM2NjgxNywKKyAgICAweDc5OGEwZjcyLCAweGU0NWQzN2NiLCAweDVjZTE1MGFlLCAweDRlNTRmZjQwLCAweGY2ZTg5ODI1LAorICAgIDB4YWU4Yjg4NzMsIDB4MTYzN2VmMTYsIDB4MDQ4MjQwZjgsIDB4YmMzZTI3OWQsIDB4MjFlOTFmMjQsCisgICAgMHg5OTU1Nzg0MSwgMHg4YmUwZDdhZiwgMHgzMzVjYjBjYSwgMHhlZDU5YjYzYiwgMHg1NWU1ZDE1ZSwKKyAgICAweDQ3NTA3ZWIwLCAweGZmZWMxOWQ1LCAweDYyM2IyMTZjLCAweGRhODc0NjA5LCAweGM4MzJlOWU3LAorICAgIDB4NzA4ZThlODIsIDB4MjhlZDllZDQsIDB4OTA1MWY5YjEsIDB4ODJlNDU2NWYsIDB4M2E1ODMxM2EsCisgICAgMHhhNzhmMDk4MywgMHgxZjMzNmVlNiwgMHgwZDg2YzEwOCwgMHhiNTNhYTY2ZCwgMHhiZDQwZTFhNCwKKyAgICAweDA1ZmM4NmMxLCAweDE3NDkyOTJmLCAweGFmZjU0ZTRhLCAweDMyMjI3NmYzLCAweDhhOWUxMTk2LAorICAgIDB4OTgyYmJlNzgsIDB4MjA5N2Q5MWQsIDB4NzhmNGM5NGIsIDB4YzA0OGFlMmUsIDB4ZDJmZDAxYzAsCisgICAgMHg2YTQxNjZhNSwgMHhmNzk2NWUxYywgMHg0ZjJhMzk3OSwgMHg1ZDlmOTY5NywgMHhlNTIzZjFmMiwKKyAgICAweDRkNmIxOTA1LCAweGY1ZDc3ZTYwLCAweGU3NjJkMThlLCAweDVmZGViNmViLCAweGMyMDk4ZTUyLAorICAgIDB4N2FiNWU5MzcsIDB4NjgwMDQ2ZDksIDB4ZDBiYzIxYmMsIDB4ODhkZjMxZWEsIDB4MzA2MzU2OGYsCisgICAgMHgyMmQ2Zjk2MSwgMHg5YTZhOWUwNCwgMHgwN2JkYTZiZCwgMHhiZjAxYzFkOCwgMHhhZGI0NmUzNiwKKyAgICAweDE1MDgwOTUzLCAweDFkNzI0ZTlhLCAweGE1Y2UyOWZmLCAweGI3N2I4NjExLCAweDBmYzdlMTc0LAorICAgIDB4OTIxMGQ5Y2QsIDB4MmFhY2JlYTgsIDB4MzgxOTExNDYsIDB4ODBhNTc2MjMsIDB4ZDhjNjY2NzUsCisgICAgMHg2MDdhMDExMCwgMHg3MmNmYWVmZSwgMHhjYTczYzk5YiwgMHg1N2E0ZjEyMiwgMHhlZjE4OTY0NywKKyAgICAweGZkYWQzOWE5LCAweDQ1MTE1ZWNjLCAweDc2NGRlZTA2LCAweGNlZjE4OTYzLCAweGRjNDQyNjhkLAorICAgIDB4NjRmODQxZTgsIDB4ZjkyZjc5NTEsIDB4NDE5MzFlMzQsIDB4NTMyNmIxZGEsIDB4ZWI5YWQ2YmYsCisgICAgMHhiM2Y5YzZlOSwgMHgwYjQ1YTE4YywgMHgxOWYwMGU2MiwgMHhhMTRjNjkwNywgMHgzYzliNTFiZSwKKyAgICAweDg0MjczNmRiLCAweDk2OTI5OTM1LCAweDJlMmVmZTUwLCAweDI2NTRiOTk5LCAweDllZThkZWZjLAorICAgIDB4OGM1ZDcxMTIsIDB4MzRlMTE2NzcsIDB4YTkzNjJlY2UsIDB4MTE4YTQ5YWIsIDB4MDMzZmU2NDUsCisgICAgMHhiYjgzODEyMCwgMHhlM2UwOTE3NiwgMHg1YjVjZjYxMywgMHg0OWU5NTlmZCwgMHhmMTU1M2U5OCwKKyAgICAweDZjODIwNjIxLCAweGQ0M2U2MTQ0LCAweGM2OGJjZWFhLCAweDdlMzdhOWNmLCAweGQ2N2Y0MTM4LAorICAgIDB4NmVjMzI2NWQsIDB4N2M3Njg5YjMsIDB4YzRjYWVlZDYsIDB4NTkxZGQ2NmYsIDB4ZTFhMWIxMGEsCisgICAgMHhmMzE0MWVlNCwgMHg0YmE4Nzk4MSwgMHgxM2NiNjlkNywgMHhhYjc3MGViMiwgMHhiOWMyYTE1YywKKyAgICAweDAxN2VjNjM5LCAweDljYTlmZTgwLCAweDI0MTU5OWU1LCAweDM2YTAzNjBiLCAweDhlMWM1MTZlLAorICAgIDB4ODY2NjE2YTcsIDB4M2VkYTcxYzIsIDB4MmM2ZmRlMmMsIDB4OTRkM2I5NDksIDB4MDkwNDgxZjAsCisgICAgMHhiMWI4ZTY5NSwgMHhhMzBkNDk3YiwgMHgxYmIxMmUxZSwgMHg0M2QyM2U0OCwgMHhmYjZlNTkyZCwKKyAgICAweGU5ZGJmNmMzLCAweDUxNjc5MWE2LCAweGNjYjBhOTFmLCAweDc0MGNjZTdhLCAweDY2Yjk2MTk0LAorICAgIDB4ZGUwNTA2ZjF9LAorICAgezB4MDAwMDAwMDAsIDB4MDFjMjZhMzcsIDB4MDM4NGQ0NmUsIDB4MDI0NmJlNTksIDB4MDcwOWE4ZGMsCisgICAgMHgwNmNiYzJlYiwgMHgwNDhkN2NiMiwgMHgwNTRmMTY4NSwgMHgwZTEzNTFiOCwgMHgwZmQxM2I4ZiwKKyAgICAweDBkOTc4NWQ2LCAweDBjNTVlZmUxLCAweDA5MWFmOTY0LCAweDA4ZDg5MzUzLCAweDBhOWUyZDBhLAorICAgIDB4MGI1YzQ3M2QsIDB4MWMyNmEzNzAsIDB4MWRlNGM5NDcsIDB4MWZhMjc3MWUsIDB4MWU2MDFkMjksCisgICAgMHgxYjJmMGJhYywgMHgxYWVkNjE5YiwgMHgxOGFiZGZjMiwgMHgxOTY5YjVmNSwgMHgxMjM1ZjJjOCwKKyAgICAweDEzZjc5OGZmLCAweDExYjEyNmE2LCAweDEwNzM0YzkxLCAweDE1M2M1YTE0LCAweDE0ZmUzMDIzLAorICAgIDB4MTZiODhlN2EsIDB4MTc3YWU0NGQsIDB4Mzg0ZDQ2ZTAsIDB4Mzk4ZjJjZDcsIDB4M2JjOTkyOGUsCisgICAgMHgzYTBiZjhiOSwgMHgzZjQ0ZWUzYywgMHgzZTg2ODQwYiwgMHgzY2MwM2E1MiwgMHgzZDAyNTA2NSwKKyAgICAweDM2NWUxNzU4LCAweDM3OWM3ZDZmLCAweDM1ZGFjMzM2LCAweDM0MThhOTAxLCAweDMxNTdiZjg0LAorICAgIDB4MzA5NWQ1YjMsIDB4MzJkMzZiZWEsIDB4MzMxMTAxZGQsIDB4MjQ2YmU1OTAsIDB4MjVhOThmYTcsCisgICAgMHgyN2VmMzFmZSwgMHgyNjJkNWJjOSwgMHgyMzYyNGQ0YywgMHgyMmEwMjc3YiwgMHgyMGU2OTkyMiwKKyAgICAweDIxMjRmMzE1LCAweDJhNzhiNDI4LCAweDJiYmFkZTFmLCAweDI5ZmM2MDQ2LCAweDI4M2UwYTcxLAorICAgIDB4MmQ3MTFjZjQsIDB4MmNiMzc2YzMsIDB4MmVmNWM4OWEsIDB4MmYzN2EyYWQsIDB4NzA5YThkYzAsCisgICAgMHg3MTU4ZTdmNywgMHg3MzFlNTlhZSwgMHg3MmRjMzM5OSwgMHg3NzkzMjUxYywgMHg3NjUxNGYyYiwKKyAgICAweDc0MTdmMTcyLCAweDc1ZDU5YjQ1LCAweDdlODlkYzc4LCAweDdmNGJiNjRmLCAweDdkMGQwODE2LAorICAgIDB4N2NjZjYyMjEsIDB4Nzk4MDc0YTQsIDB4Nzg0MjFlOTMsIDB4N2EwNGEwY2EsIDB4N2JjNmNhZmQsCisgICAgMHg2Y2JjMmViMCwgMHg2ZDdlNDQ4NywgMHg2ZjM4ZmFkZSwgMHg2ZWZhOTBlOSwgMHg2YmI1ODY2YywKKyAgICAweDZhNzdlYzViLCAweDY4MzE1MjAyLCAweDY5ZjMzODM1LCAweDYyYWY3ZjA4LCAweDYzNmQxNTNmLAorICAgIDB4NjEyYmFiNjYsIDB4NjBlOWMxNTEsIDB4NjVhNmQ3ZDQsIDB4NjQ2NGJkZTMsIDB4NjYyMjAzYmEsCisgICAgMHg2N2UwNjk4ZCwgMHg0OGQ3Y2IyMCwgMHg0OTE1YTExNywgMHg0YjUzMWY0ZSwgMHg0YTkxNzU3OSwKKyAgICAweDRmZGU2M2ZjLCAweDRlMWMwOWNiLCAweDRjNWFiNzkyLCAweDRkOThkZGE1LCAweDQ2YzQ5YTk4LAorICAgIDB4NDcwNmYwYWYsIDB4NDU0MDRlZjYsIDB4NDQ4MjI0YzEsIDB4NDFjZDMyNDQsIDB4NDAwZjU4NzMsCisgICAgMHg0MjQ5ZTYyYSwgMHg0MzhiOGMxZCwgMHg1NGYxNjg1MCwgMHg1NTMzMDI2NywgMHg1Nzc1YmMzZSwKKyAgICAweDU2YjdkNjA5LCAweDUzZjhjMDhjLCAweDUyM2FhYWJiLCAweDUwN2MxNGUyLCAweDUxYmU3ZWQ1LAorICAgIDB4NWFlMjM5ZTgsIDB4NWIyMDUzZGYsIDB4NTk2NmVkODYsIDB4NThhNDg3YjEsIDB4NWRlYjkxMzQsCisgICAgMHg1YzI5ZmIwMywgMHg1ZTZmNDU1YSwgMHg1ZmFkMmY2ZCwgMHhlMTM1MWI4MCwgMHhlMGY3NzFiNywKKyAgICAweGUyYjFjZmVlLCAweGUzNzNhNWQ5LCAweGU2M2NiMzVjLCAweGU3ZmVkOTZiLCAweGU1Yjg2NzMyLAorICAgIDB4ZTQ3YTBkMDUsIDB4ZWYyNjRhMzgsIDB4ZWVlNDIwMGYsIDB4ZWNhMjllNTYsIDB4ZWQ2MGY0NjEsCisgICAgMHhlODJmZTJlNCwgMHhlOWVkODhkMywgMHhlYmFiMzY4YSwgMHhlYTY5NWNiZCwgMHhmZDEzYjhmMCwKKyAgICAweGZjZDFkMmM3LCAweGZlOTc2YzllLCAweGZmNTUwNmE5LCAweGZhMWExMDJjLCAweGZiZDg3YTFiLAorICAgIDB4Zjk5ZWM0NDIsIDB4Zjg1Y2FlNzUsIDB4ZjMwMGU5NDgsIDB4ZjJjMjgzN2YsIDB4ZjA4NDNkMjYsCisgICAgMHhmMTQ2NTcxMSwgMHhmNDA5NDE5NCwgMHhmNWNiMmJhMywgMHhmNzhkOTVmYSwgMHhmNjRmZmZjZCwKKyAgICAweGQ5Nzg1ZDYwLCAweGQ4YmEzNzU3LCAweGRhZmM4OTBlLCAweGRiM2VlMzM5LCAweGRlNzFmNWJjLAorICAgIDB4ZGZiMzlmOGIsIDB4ZGRmNTIxZDIsIDB4ZGMzNzRiZTUsIDB4ZDc2YjBjZDgsIDB4ZDZhOTY2ZWYsCisgICAgMHhkNGVmZDhiNiwgMHhkNTJkYjI4MSwgMHhkMDYyYTQwNCwgMHhkMWEwY2UzMywgMHhkM2U2NzA2YSwKKyAgICAweGQyMjQxYTVkLCAweGM1NWVmZTEwLCAweGM0OWM5NDI3LCAweGM2ZGEyYTdlLCAweGM3MTg0MDQ5LAorICAgIDB4YzI1NzU2Y2MsIDB4YzM5NTNjZmIsIDB4YzFkMzgyYTIsIDB4YzAxMWU4OTUsIDB4Y2I0ZGFmYTgsCisgICAgMHhjYThmYzU5ZiwgMHhjOGM5N2JjNiwgMHhjOTBiMTFmMSwgMHhjYzQ0MDc3NCwgMHhjZDg2NmQ0MywKKyAgICAweGNmYzBkMzFhLCAweGNlMDJiOTJkLCAweDkxYWY5NjQwLCAweDkwNmRmYzc3LCAweDkyMmI0MjJlLAorICAgIDB4OTNlOTI4MTksIDB4OTZhNjNlOWMsIDB4OTc2NDU0YWIsIDB4OTUyMmVhZjIsIDB4OTRlMDgwYzUsCisgICAgMHg5ZmJjYzdmOCwgMHg5ZTdlYWRjZiwgMHg5YzM4MTM5NiwgMHg5ZGZhNzlhMSwgMHg5OGI1NmYyNCwKKyAgICAweDk5NzcwNTEzLCAweDliMzFiYjRhLCAweDlhZjNkMTdkLCAweDhkODkzNTMwLCAweDhjNGI1ZjA3LAorICAgIDB4OGUwZGUxNWUsIDB4OGZjZjhiNjksIDB4OGE4MDlkZWMsIDB4OGI0MmY3ZGIsIDB4ODkwNDQ5ODIsCisgICAgMHg4OGM2MjNiNSwgMHg4MzlhNjQ4OCwgMHg4MjU4MGViZiwgMHg4MDFlYjBlNiwgMHg4MWRjZGFkMSwKKyAgICAweDg0OTNjYzU0LCAweDg1NTFhNjYzLCAweDg3MTcxODNhLCAweDg2ZDU3MjBkLCAweGE5ZTJkMGEwLAorICAgIDB4YTgyMGJhOTcsIDB4YWE2NjA0Y2UsIDB4YWJhNDZlZjksIDB4YWVlYjc4N2MsIDB4YWYyOTEyNGIsCisgICAgMHhhZDZmYWMxMiwgMHhhY2FkYzYyNSwgMHhhN2YxODExOCwgMHhhNjMzZWIyZiwgMHhhNDc1NTU3NiwKKyAgICAweGE1YjczZjQxLCAweGEwZjgyOWM0LCAweGExM2E0M2YzLCAweGEzN2NmZGFhLCAweGEyYmU5NzlkLAorICAgIDB4YjVjNDczZDAsIDB4YjQwNjE5ZTcsIDB4YjY0MGE3YmUsIDB4Yjc4MmNkODksIDB4YjJjZGRiMGMsCisgICAgMHhiMzBmYjEzYiwgMHhiMTQ5MGY2MiwgMHhiMDhiNjU1NSwgMHhiYmQ3MjI2OCwgMHhiYTE1NDg1ZiwKKyAgICAweGI4NTNmNjA2LCAweGI5OTE5YzMxLCAweGJjZGU4YWI0LCAweGJkMWNlMDgzLCAweGJmNWE1ZWRhLAorICAgIDB4YmU5ODM0ZWR9LAorICAgezB4MDAwMDAwMDAsIDB4MTkxYjMxNDEsIDB4MzIzNjYyODIsIDB4MmIyZDUzYzMsIDB4NjQ2Y2M1MDQsCisgICAgMHg3ZDc3ZjQ0NSwgMHg1NjVhYTc4NiwgMHg0ZjQxOTZjNywgMHhjOGQ5OGEwOCwgMHhkMWMyYmI0OSwKKyAgICAweGZhZWZlODhhLCAweGUzZjRkOWNiLCAweGFjYjU0ZjBjLCAweGI1YWU3ZTRkLCAweDllODMyZDhlLAorICAgIDB4ODc5ODFjY2YsIDB4NGFjMjEyNTEsIDB4NTNkOTIzMTAsIDB4NzhmNDcwZDMsIDB4NjFlZjQxOTIsCisgICAgMHgyZWFlZDc1NSwgMHgzN2I1ZTYxNCwgMHgxYzk4YjVkNywgMHgwNTgzODQ5NiwgMHg4MjFiOTg1OSwKKyAgICAweDliMDBhOTE4LCAweGIwMmRmYWRiLCAweGE5MzZjYjlhLCAweGU2Nzc1ZDVkLCAweGZmNmM2YzFjLAorICAgIDB4ZDQ0MTNmZGYsIDB4Y2Q1YTBlOWUsIDB4OTU4NDI0YTIsIDB4OGM5ZjE1ZTMsIDB4YTdiMjQ2MjAsCisgICAgMHhiZWE5Nzc2MSwgMHhmMWU4ZTFhNiwgMHhlOGYzZDBlNywgMHhjM2RlODMyNCwgMHhkYWM1YjI2NSwKKyAgICAweDVkNWRhZWFhLCAweDQ0NDY5ZmViLCAweDZmNmJjYzI4LCAweDc2NzBmZDY5LCAweDM5MzE2YmFlLAorICAgIDB4MjAyYTVhZWYsIDB4MGIwNzA5MmMsIDB4MTIxYzM4NmQsIDB4ZGY0NjM2ZjMsIDB4YzY1ZDA3YjIsCisgICAgMHhlZDcwNTQ3MSwgMHhmNDZiNjUzMCwgMHhiYjJhZjNmNywgMHhhMjMxYzJiNiwgMHg4OTFjOTE3NSwKKyAgICAweDkwMDdhMDM0LCAweDE3OWZiY2ZiLCAweDBlODQ4ZGJhLCAweDI1YTlkZTc5LCAweDNjYjJlZjM4LAorICAgIDB4NzNmMzc5ZmYsIDB4NmFlODQ4YmUsIDB4NDFjNTFiN2QsIDB4NThkZTJhM2MsIDB4ZjA3OTRmMDUsCisgICAgMHhlOTYyN2U0NCwgMHhjMjRmMmQ4NywgMHhkYjU0MWNjNiwgMHg5NDE1OGEwMSwgMHg4ZDBlYmI0MCwKKyAgICAweGE2MjNlODgzLCAweGJmMzhkOWMyLCAweDM4YTBjNTBkLCAweDIxYmJmNDRjLCAweDBhOTZhNzhmLAorICAgIDB4MTM4ZDk2Y2UsIDB4NWNjYzAwMDksIDB4NDVkNzMxNDgsIDB4NmVmYTYyOGIsIDB4NzdlMTUzY2EsCisgICAgMHhiYWJiNWQ1NCwgMHhhM2EwNmMxNSwgMHg4ODhkM2ZkNiwgMHg5MTk2MGU5NywgMHhkZWQ3OTg1MCwKKyAgICAweGM3Y2NhOTExLCAweGVjZTFmYWQyLCAweGY1ZmFjYjkzLCAweDcyNjJkNzVjLCAweDZiNzllNjFkLAorICAgIDB4NDA1NGI1ZGUsIDB4NTk0Zjg0OWYsIDB4MTYwZTEyNTgsIDB4MGYxNTIzMTksIDB4MjQzODcwZGEsCisgICAgMHgzZDIzNDE5YiwgMHg2NWZkNmJhNywgMHg3Y2U2NWFlNiwgMHg1N2NiMDkyNSwgMHg0ZWQwMzg2NCwKKyAgICAweDAxOTFhZWEzLCAweDE4OGE5ZmUyLCAweDMzYTdjYzIxLCAweDJhYmNmZDYwLCAweGFkMjRlMWFmLAorICAgIDB4YjQzZmQwZWUsIDB4OWYxMjgzMmQsIDB4ODYwOWIyNmMsIDB4Yzk0ODI0YWIsIDB4ZDA1MzE1ZWEsCisgICAgMHhmYjdlNDYyOSwgMHhlMjY1Nzc2OCwgMHgyZjNmNzlmNiwgMHgzNjI0NDhiNywgMHgxZDA5MWI3NCwKKyAgICAweDA0MTIyYTM1LCAweDRiNTNiY2YyLCAweDUyNDg4ZGIzLCAweDc5NjVkZTcwLCAweDYwN2VlZjMxLAorICAgIDB4ZTdlNmYzZmUsIDB4ZmVmZGMyYmYsIDB4ZDVkMDkxN2MsIDB4Y2NjYmEwM2QsIDB4ODM4YTM2ZmEsCisgICAgMHg5YTkxMDdiYiwgMHhiMWJjNTQ3OCwgMHhhOGE3NjUzOSwgMHgzYjgzOTg0YiwgMHgyMjk4YTkwYSwKKyAgICAweDA5YjVmYWM5LCAweDEwYWVjYjg4LCAweDVmZWY1ZDRmLCAweDQ2ZjQ2YzBlLCAweDZkZDkzZmNkLAorICAgIDB4NzRjMjBlOGMsIDB4ZjM1YTEyNDMsIDB4ZWE0MTIzMDIsIDB4YzE2YzcwYzEsIDB4ZDg3NzQxODAsCisgICAgMHg5NzM2ZDc0NywgMHg4ZTJkZTYwNiwgMHhhNTAwYjVjNSwgMHhiYzFiODQ4NCwgMHg3MTQxOGExYSwKKyAgICAweDY4NWFiYjViLCAweDQzNzdlODk4LCAweDVhNmNkOWQ5LCAweDE1MmQ0ZjFlLCAweDBjMzY3ZTVmLAorICAgIDB4MjcxYjJkOWMsIDB4M2UwMDFjZGQsIDB4Yjk5ODAwMTIsIDB4YTA4MzMxNTMsIDB4OGJhZTYyOTAsCisgICAgMHg5MmI1NTNkMSwgMHhkZGY0YzUxNiwgMHhjNGVmZjQ1NywgMHhlZmMyYTc5NCwgMHhmNmQ5OTZkNSwKKyAgICAweGFlMDdiY2U5LCAweGI3MWM4ZGE4LCAweDljMzFkZTZiLCAweDg1MmFlZjJhLCAweGNhNmI3OWVkLAorICAgIDB4ZDM3MDQ4YWMsIDB4Zjg1ZDFiNmYsIDB4ZTE0NjJhMmUsIDB4NjZkZTM2ZTEsIDB4N2ZjNTA3YTAsCisgICAgMHg1NGU4NTQ2MywgMHg0ZGYzNjUyMiwgMHgwMmIyZjNlNSwgMHgxYmE5YzJhNCwgMHgzMDg0OTE2NywKKyAgICAweDI5OWZhMDI2LCAweGU0YzVhZWI4LCAweGZkZGU5ZmY5LCAweGQ2ZjNjYzNhLCAweGNmZThmZDdiLAorICAgIDB4ODBhOTZiYmMsIDB4OTliMjVhZmQsIDB4YjI5ZjA5M2UsIDB4YWI4NDM4N2YsIDB4MmMxYzI0YjAsCisgICAgMHgzNTA3MTVmMSwgMHgxZTJhNDYzMiwgMHgwNzMxNzc3MywgMHg0ODcwZTFiNCwgMHg1MTZiZDBmNSwKKyAgICAweDdhNDY4MzM2LCAweDYzNWRiMjc3LCAweGNiZmFkNzRlLCAweGQyZTFlNjBmLCAweGY5Y2NiNWNjLAorICAgIDB4ZTBkNzg0OGQsIDB4YWY5NjEyNGEsIDB4YjY4ZDIzMGIsIDB4OWRhMDcwYzgsIDB4ODRiYjQxODksCisgICAgMHgwMzIzNWQ0NiwgMHgxYTM4NmMwNywgMHgzMTE1M2ZjNCwgMHgyODBlMGU4NSwgMHg2NzRmOTg0MiwKKyAgICAweDdlNTRhOTAzLCAweDU1NzlmYWMwLCAweDRjNjJjYjgxLCAweDgxMzhjNTFmLCAweDk4MjNmNDVlLAorICAgIDB4YjMwZWE3OWQsIDB4YWExNTk2ZGMsIDB4ZTU1NDAwMWIsIDB4ZmM0ZjMxNWEsIDB4ZDc2MjYyOTksCisgICAgMHhjZTc5NTNkOCwgMHg0OWUxNGYxNywgMHg1MGZhN2U1NiwgMHg3YmQ3MmQ5NSwgMHg2MmNjMWNkNCwKKyAgICAweDJkOGQ4YTEzLCAweDM0OTZiYjUyLCAweDFmYmJlODkxLCAweDA2YTBkOWQwLCAweDVlN2VmM2VjLAorICAgIDB4NDc2NWMyYWQsIDB4NmM0ODkxNmUsIDB4NzU1M2EwMmYsIDB4M2ExMjM2ZTgsIDB4MjMwOTA3YTksCisgICAgMHgwODI0NTQ2YSwgMHgxMTNmNjUyYiwgMHg5NmE3NzllNCwgMHg4ZmJjNDhhNSwgMHhhNDkxMWI2NiwKKyAgICAweGJkOGEyYTI3LCAweGYyY2JiY2UwLCAweGViZDA4ZGExLCAweGMwZmRkZTYyLCAweGQ5ZTZlZjIzLAorICAgIDB4MTRiY2UxYmQsIDB4MGRhN2QwZmMsIDB4MjY4YTgzM2YsIDB4M2Y5MWIyN2UsIDB4NzBkMDI0YjksCisgICAgMHg2OWNiMTVmOCwgMHg0MmU2NDYzYiwgMHg1YmZkNzc3YSwgMHhkYzY1NmJiNSwgMHhjNTdlNWFmNCwKKyAgICAweGVlNTMwOTM3LCAweGY3NDgzODc2LCAweGI4MDlhZWIxLCAweGExMTI5ZmYwLCAweDhhM2ZjYzMzLAorICAgIDB4OTMyNGZkNzJ9LAorICAgezB4MDAwMDAwMDAsIDB4NzcwNzMwOTYsIDB4ZWUwZTYxMmMsIDB4OTkwOTUxYmEsIDB4MDc2ZGM0MTksCisgICAgMHg3MDZhZjQ4ZiwgMHhlOTYzYTUzNSwgMHg5ZTY0OTVhMywgMHgwZWRiODgzMiwgMHg3OWRjYjhhNCwKKyAgICAweGUwZDVlOTFlLCAweDk3ZDJkOTg4LCAweDA5YjY0YzJiLCAweDdlYjE3Y2JkLCAweGU3YjgyZDA3LAorICAgIDB4OTBiZjFkOTEsIDB4MWRiNzEwNjQsIDB4NmFiMDIwZjIsIDB4ZjNiOTcxNDgsIDB4ODRiZTQxZGUsCisgICAgMHgxYWRhZDQ3ZCwgMHg2ZGRkZTRlYiwgMHhmNGQ0YjU1MSwgMHg4M2QzODVjNywgMHgxMzZjOTg1NiwKKyAgICAweDY0NmJhOGMwLCAweGZkNjJmOTdhLCAweDhhNjVjOWVjLCAweDE0MDE1YzRmLCAweDYzMDY2Y2Q5LAorICAgIDB4ZmEwZjNkNjMsIDB4OGQwODBkZjUsIDB4M2I2ZTIwYzgsIDB4NGM2OTEwNWUsIDB4ZDU2MDQxZTQsCisgICAgMHhhMjY3NzE3MiwgMHgzYzAzZTRkMSwgMHg0YjA0ZDQ0NywgMHhkMjBkODVmZCwgMHhhNTBhYjU2YiwKKyAgICAweDM1YjVhOGZhLCAweDQyYjI5ODZjLCAweGRiYmJjOWQ2LCAweGFjYmNmOTQwLCAweDMyZDg2Y2UzLAorICAgIDB4NDVkZjVjNzUsIDB4ZGNkNjBkY2YsIDB4YWJkMTNkNTksIDB4MjZkOTMwYWMsIDB4NTFkZTAwM2EsCisgICAgMHhjOGQ3NTE4MCwgMHhiZmQwNjExNiwgMHgyMWI0ZjRiNSwgMHg1NmIzYzQyMywgMHhjZmJhOTU5OSwKKyAgICAweGI4YmRhNTBmLCAweDI4MDJiODllLCAweDVmMDU4ODA4LCAweGM2MGNkOWIyLCAweGIxMGJlOTI0LAorICAgIDB4MmY2ZjdjODcsIDB4NTg2ODRjMTEsIDB4YzE2MTFkYWIsIDB4YjY2NjJkM2QsIDB4NzZkYzQxOTAsCisgICAgMHgwMWRiNzEwNiwgMHg5OGQyMjBiYywgMHhlZmQ1MTAyYSwgMHg3MWIxODU4OSwgMHgwNmI2YjUxZiwKKyAgICAweDlmYmZlNGE1LCAweGU4YjhkNDMzLCAweDc4MDdjOWEyLCAweDBmMDBmOTM0LCAweDk2MDlhODhlLAorICAgIDB4ZTEwZTk4MTgsIDB4N2Y2YTBkYmIsIDB4MDg2ZDNkMmQsIDB4OTE2NDZjOTcsIDB4ZTY2MzVjMDEsCisgICAgMHg2YjZiNTFmNCwgMHgxYzZjNjE2MiwgMHg4NTY1MzBkOCwgMHhmMjYyMDA0ZSwgMHg2YzA2OTVlZCwKKyAgICAweDFiMDFhNTdiLCAweDgyMDhmNGMxLCAweGY1MGZjNDU3LCAweDY1YjBkOWM2LCAweDEyYjdlOTUwLAorICAgIDB4OGJiZWI4ZWEsIDB4ZmNiOTg4N2MsIDB4NjJkZDFkZGYsIDB4MTVkYTJkNDksIDB4OGNkMzdjZjMsCisgICAgMHhmYmQ0NGM2NSwgMHg0ZGIyNjE1OCwgMHgzYWI1NTFjZSwgMHhhM2JjMDA3NCwgMHhkNGJiMzBlMiwKKyAgICAweDRhZGZhNTQxLCAweDNkZDg5NWQ3LCAweGE0ZDFjNDZkLCAweGQzZDZmNGZiLCAweDQzNjllOTZhLAorICAgIDB4MzQ2ZWQ5ZmMsIDB4YWQ2Nzg4NDYsIDB4ZGE2MGI4ZDAsIDB4NDQwNDJkNzMsIDB4MzMwMzFkZTUsCisgICAgMHhhYTBhNGM1ZiwgMHhkZDBkN2NjOSwgMHg1MDA1NzEzYywgMHgyNzAyNDFhYSwgMHhiZTBiMTAxMCwKKyAgICAweGM5MGMyMDg2LCAweDU3NjhiNTI1LCAweDIwNmY4NWIzLCAweGI5NjZkNDA5LCAweGNlNjFlNDlmLAorICAgIDB4NWVkZWY5MGUsIDB4MjlkOWM5OTgsIDB4YjBkMDk4MjIsIDB4YzdkN2E4YjQsIDB4NTliMzNkMTcsCisgICAgMHgyZWI0MGQ4MSwgMHhiN2JkNWMzYiwgMHhjMGJhNmNhZCwgMHhlZGI4ODMyMCwgMHg5YWJmYjNiNiwKKyAgICAweDAzYjZlMjBjLCAweDc0YjFkMjlhLCAweGVhZDU0NzM5LCAweDlkZDI3N2FmLCAweDA0ZGIyNjE1LAorICAgIDB4NzNkYzE2ODMsIDB4ZTM2MzBiMTIsIDB4OTQ2NDNiODQsIDB4MGQ2ZDZhM2UsIDB4N2E2YTVhYTgsCisgICAgMHhlNDBlY2YwYiwgMHg5MzA5ZmY5ZCwgMHgwYTAwYWUyNywgMHg3ZDA3OWViMSwgMHhmMDBmOTM0NCwKKyAgICAweDg3MDhhM2QyLCAweDFlMDFmMjY4LCAweDY5MDZjMmZlLCAweGY3NjI1NzVkLCAweDgwNjU2N2NiLAorICAgIDB4MTk2YzM2NzEsIDB4NmU2YjA2ZTcsIDB4ZmVkNDFiNzYsIDB4ODlkMzJiZTAsIDB4MTBkYTdhNWEsCisgICAgMHg2N2RkNGFjYywgMHhmOWI5ZGY2ZiwgMHg4ZWJlZWZmOSwgMHgxN2I3YmU0MywgMHg2MGIwOGVkNSwKKyAgICAweGQ2ZDZhM2U4LCAweGExZDE5MzdlLCAweDM4ZDhjMmM0LCAweDRmZGZmMjUyLCAweGQxYmI2N2YxLAorICAgIDB4YTZiYzU3NjcsIDB4M2ZiNTA2ZGQsIDB4NDhiMjM2NGIsIDB4ZDgwZDJiZGEsIDB4YWYwYTFiNGMsCisgICAgMHgzNjAzNGFmNiwgMHg0MTA0N2E2MCwgMHhkZjYwZWZjMywgMHhhODY3ZGY1NSwgMHgzMTZlOGVlZiwKKyAgICAweDQ2NjliZTc5LCAweGNiNjFiMzhjLCAweGJjNjY4MzFhLCAweDI1NmZkMmEwLCAweDUyNjhlMjM2LAorICAgIDB4Y2MwYzc3OTUsIDB4YmIwYjQ3MDMsIDB4MjIwMjE2YjksIDB4NTUwNTI2MmYsIDB4YzViYTNiYmUsCisgICAgMHhiMmJkMGIyOCwgMHgyYmI0NWE5MiwgMHg1Y2IzNmEwNCwgMHhjMmQ3ZmZhNywgMHhiNWQwY2YzMSwKKyAgICAweDJjZDk5ZThiLCAweDViZGVhZTFkLCAweDliNjRjMmIwLCAweGVjNjNmMjI2LCAweDc1NmFhMzljLAorICAgIDB4MDI2ZDkzMGEsIDB4OWMwOTA2YTksIDB4ZWIwZTM2M2YsIDB4NzIwNzY3ODUsIDB4MDUwMDU3MTMsCisgICAgMHg5NWJmNGE4MiwgMHhlMmI4N2ExNCwgMHg3YmIxMmJhZSwgMHgwY2I2MWIzOCwgMHg5MmQyOGU5YiwKKyAgICAweGU1ZDViZTBkLCAweDdjZGNlZmI3LCAweDBiZGJkZjIxLCAweDg2ZDNkMmQ0LCAweGYxZDRlMjQyLAorICAgIDB4NjhkZGIzZjgsIDB4MWZkYTgzNmUsIDB4ODFiZTE2Y2QsIDB4ZjZiOTI2NWIsIDB4NmZiMDc3ZTEsCisgICAgMHgxOGI3NDc3NywgMHg4ODA4NWFlNiwgMHhmZjBmNmE3MCwgMHg2NjA2M2JjYSwgMHgxMTAxMGI1YywKKyAgICAweDhmNjU5ZWZmLCAweGY4NjJhZTY5LCAweDYxNmJmZmQzLCAweDE2NmNjZjQ1LCAweGEwMGFlMjc4LAorICAgIDB4ZDcwZGQyZWUsIDB4NGUwNDgzNTQsIDB4MzkwM2IzYzIsIDB4YTc2NzI2NjEsIDB4ZDA2MDE2ZjcsCisgICAgMHg0OTY5NDc0ZCwgMHgzZTZlNzdkYiwgMHhhZWQxNmE0YSwgMHhkOWQ2NWFkYywgMHg0MGRmMGI2NiwKKyAgICAweDM3ZDgzYmYwLCAweGE5YmNhZTUzLCAweGRlYmI5ZWM1LCAweDQ3YjJjZjdmLCAweDMwYjVmZmU5LAorICAgIDB4YmRiZGYyMWMsIDB4Y2FiYWMyOGEsIDB4NTNiMzkzMzAsIDB4MjRiNGEzYTYsIDB4YmFkMDM2MDUsCisgICAgMHhjZGQ3MDY5MywgMHg1NGRlNTcyOSwgMHgyM2Q5NjdiZiwgMHhiMzY2N2EyZSwgMHhjNDYxNGFiOCwKKyAgICAweDVkNjgxYjAyLCAweDJhNmYyYjk0LCAweGI0MGJiZTM3LCAweGMzMGM4ZWExLCAweDVhMDVkZjFiLAorICAgIDB4MmQwMmVmOGR9fTsKKworbG9jYWwgY29uc3Qgel93b3JkX3QgRkFSIGNyY19icmFpZF9iaWdfdGFibGVbXVsyNTZdID0geworICAgezB4MDAwMDAwMDAwMDAwMDAwMCwgMHg5NjMwMDc3NzAwMDAwMDAwLCAweDJjNjEwZWVlMDAwMDAwMDAsCisgICAgMHhiYTUxMDk5OTAwMDAwMDAwLCAweDE5YzQ2ZDA3MDAwMDAwMDAsIDB4OGZmNDZhNzAwMDAwMDAwMCwKKyAgICAweDM1YTU2M2U5MDAwMDAwMDAsIDB4YTM5NTY0OWUwMDAwMDAwMCwgMHgzMjg4ZGIwZTAwMDAwMDAwLAorICAgIDB4YTRiOGRjNzkwMDAwMDAwMCwgMHgxZWU5ZDVlMDAwMDAwMDAwLCAweDg4ZDlkMjk3MDAwMDAwMDAsCisgICAgMHgyYjRjYjYwOTAwMDAwMDAwLCAweGJkN2NiMTdlMDAwMDAwMDAsIDB4MDcyZGI4ZTcwMDAwMDAwMCwKKyAgICAweDkxMWRiZjkwMDAwMDAwMDAsIDB4NjQxMGI3MWQwMDAwMDAwMCwgMHhmMjIwYjA2YTAwMDAwMDAwLAorICAgIDB4NDg3MWI5ZjMwMDAwMDAwMCwgMHhkZTQxYmU4NDAwMDAwMDAwLCAweDdkZDRkYTFhMDAwMDAwMDAsCisgICAgMHhlYmU0ZGQ2ZDAwMDAwMDAwLCAweDUxYjVkNGY0MDAwMDAwMDAsIDB4Yzc4NWQzODMwMDAwMDAwMCwKKyAgICAweDU2OTg2YzEzMDAwMDAwMDAsIDB4YzBhODZiNjQwMDAwMDAwMCwgMHg3YWY5NjJmZDAwMDAwMDAwLAorICAgIDB4ZWNjOTY1OGEwMDAwMDAwMCwgMHg0ZjVjMDExNDAwMDAwMDAwLCAweGQ5NmMwNjYzMDAwMDAwMDAsCisgICAgMHg2MzNkMGZmYTAwMDAwMDAwLCAweGY1MGQwODhkMDAwMDAwMDAsIDB4YzgyMDZlM2IwMDAwMDAwMCwKKyAgICAweDVlMTA2OTRjMDAwMDAwMDAsIDB4ZTQ0MTYwZDUwMDAwMDAwMCwgMHg3MjcxNjdhMjAwMDAwMDAwLAorICAgIDB4ZDFlNDAzM2MwMDAwMDAwMCwgMHg0N2Q0MDQ0YjAwMDAwMDAwLCAweGZkODUwZGQyMDAwMDAwMDAsCisgICAgMHg2YmI1MGFhNTAwMDAwMDAwLCAweGZhYThiNTM1MDAwMDAwMDAsIDB4NmM5OGIyNDIwMDAwMDAwMCwKKyAgICAweGQ2YzliYmRiMDAwMDAwMDAsIDB4NDBmOWJjYWMwMDAwMDAwMCwgMHhlMzZjZDgzMjAwMDAwMDAwLAorICAgIDB4NzU1Y2RmNDUwMDAwMDAwMCwgMHhjZjBkZDZkYzAwMDAwMDAwLCAweDU5M2RkMWFiMDAwMDAwMDAsCisgICAgMHhhYzMwZDkyNjAwMDAwMDAwLCAweDNhMDBkZTUxMDAwMDAwMDAsIDB4ODA1MWQ3YzgwMDAwMDAwMCwKKyAgICAweDE2NjFkMGJmMDAwMDAwMDAsIDB4YjVmNGI0MjEwMDAwMDAwMCwgMHgyM2M0YjM1NjAwMDAwMDAwLAorICAgIDB4OTk5NWJhY2YwMDAwMDAwMCwgMHgwZmE1YmRiODAwMDAwMDAwLCAweDllYjgwMjI4MDAwMDAwMDAsCisgICAgMHgwODg4MDU1ZjAwMDAwMDAwLCAweGIyZDkwY2M2MDAwMDAwMDAsIDB4MjRlOTBiYjEwMDAwMDAwMCwKKyAgICAweDg3N2M2ZjJmMDAwMDAwMDAsIDB4MTE0YzY4NTgwMDAwMDAwMCwgMHhhYjFkNjFjMTAwMDAwMDAwLAorICAgIDB4M2QyZDY2YjYwMDAwMDAwMCwgMHg5MDQxZGM3NjAwMDAwMDAwLCAweDA2NzFkYjAxMDAwMDAwMDAsCisgICAgMHhiYzIwZDI5ODAwMDAwMDAwLCAweDJhMTBkNWVmMDAwMDAwMDAsIDB4ODk4NWIxNzEwMDAwMDAwMCwKKyAgICAweDFmYjViNjA2MDAwMDAwMDAsIDB4YTVlNGJmOWYwMDAwMDAwMCwgMHgzM2Q0YjhlODAwMDAwMDAwLAorICAgIDB4YTJjOTA3NzgwMDAwMDAwMCwgMHgzNGY5MDAwZjAwMDAwMDAwLCAweDhlYTgwOTk2MDAwMDAwMDAsCisgICAgMHgxODk4MGVlMTAwMDAwMDAwLCAweGJiMGQ2YTdmMDAwMDAwMDAsIDB4MmQzZDZkMDgwMDAwMDAwMCwKKyAgICAweDk3NmM2NDkxMDAwMDAwMDAsIDB4MDE1YzYzZTYwMDAwMDAwMCwgMHhmNDUxNmI2YjAwMDAwMDAwLAorICAgIDB4NjI2MTZjMWMwMDAwMDAwMCwgMHhkODMwNjU4NTAwMDAwMDAwLCAweDRlMDA2MmYyMDAwMDAwMDAsCisgICAgMHhlZDk1MDY2YzAwMDAwMDAwLCAweDdiYTUwMTFiMDAwMDAwMDAsIDB4YzFmNDA4ODIwMDAwMDAwMCwKKyAgICAweDU3YzQwZmY1MDAwMDAwMDAsIDB4YzZkOWIwNjUwMDAwMDAwMCwgMHg1MGU5YjcxMjAwMDAwMDAwLAorICAgIDB4ZWFiOGJlOGIwMDAwMDAwMCwgMHg3Yzg4YjlmYzAwMDAwMDAwLCAweGRmMWRkZDYyMDAwMDAwMDAsCisgICAgMHg0OTJkZGExNTAwMDAwMDAwLCAweGYzN2NkMzhjMDAwMDAwMDAsIDB4NjU0Y2Q0ZmIwMDAwMDAwMCwKKyAgICAweDU4NjFiMjRkMDAwMDAwMDAsIDB4Y2U1MWI1M2EwMDAwMDAwMCwgMHg3NDAwYmNhMzAwMDAwMDAwLAorICAgIDB4ZTIzMGJiZDQwMDAwMDAwMCwgMHg0MWE1ZGY0YTAwMDAwMDAwLCAweGQ3OTVkODNkMDAwMDAwMDAsCisgICAgMHg2ZGM0ZDFhNDAwMDAwMDAwLCAweGZiZjRkNmQzMDAwMDAwMDAsIDB4NmFlOTY5NDMwMDAwMDAwMCwKKyAgICAweGZjZDk2ZTM0MDAwMDAwMDAsIDB4NDY4ODY3YWQwMDAwMDAwMCwgMHhkMGI4NjBkYTAwMDAwMDAwLAorICAgIDB4NzMyZDA0NDQwMDAwMDAwMCwgMHhlNTFkMDMzMzAwMDAwMDAwLCAweDVmNGMwYWFhMDAwMDAwMDAsCisgICAgMHhjOTdjMGRkZDAwMDAwMDAwLCAweDNjNzEwNTUwMDAwMDAwMDAsIDB4YWE0MTAyMjcwMDAwMDAwMCwKKyAgICAweDEwMTAwYmJlMDAwMDAwMDAsIDB4ODYyMDBjYzkwMDAwMDAwMCwgMHgyNWI1Njg1NzAwMDAwMDAwLAorICAgIDB4YjM4NTZmMjAwMDAwMDAwMCwgMHgwOWQ0NjZiOTAwMDAwMDAwLCAweDlmZTQ2MWNlMDAwMDAwMDAsCisgICAgMHgwZWY5ZGU1ZTAwMDAwMDAwLCAweDk4YzlkOTI5MDAwMDAwMDAsIDB4MjI5OGQwYjAwMDAwMDAwMCwKKyAgICAweGI0YThkN2M3MDAwMDAwMDAsIDB4MTczZGIzNTkwMDAwMDAwMCwgMHg4MTBkYjQyZTAwMDAwMDAwLAorICAgIDB4M2I1Y2JkYjcwMDAwMDAwMCwgMHhhZDZjYmFjMDAwMDAwMDAwLCAweDIwODNiOGVkMDAwMDAwMDAsCisgICAgMHhiNmIzYmY5YTAwMDAwMDAwLCAweDBjZTJiNjAzMDAwMDAwMDAsIDB4OWFkMmIxNzQwMDAwMDAwMCwKKyAgICAweDM5NDdkNWVhMDAwMDAwMDAsIDB4YWY3N2QyOWQwMDAwMDAwMCwgMHgxNTI2ZGIwNDAwMDAwMDAwLAorICAgIDB4ODMxNmRjNzMwMDAwMDAwMCwgMHgxMjBiNjNlMzAwMDAwMDAwLCAweDg0M2I2NDk0MDAwMDAwMDAsCisgICAgMHgzZTZhNmQwZDAwMDAwMDAwLCAweGE4NWE2YTdhMDAwMDAwMDAsIDB4MGJjZjBlZTQwMDAwMDAwMCwKKyAgICAweDlkZmYwOTkzMDAwMDAwMDAsIDB4MjdhZTAwMGEwMDAwMDAwMCwgMHhiMTllMDc3ZDAwMDAwMDAwLAorICAgIDB4NDQ5MzBmZjAwMDAwMDAwMCwgMHhkMmEzMDg4NzAwMDAwMDAwLCAweDY4ZjIwMTFlMDAwMDAwMDAsCisgICAgMHhmZWMyMDY2OTAwMDAwMDAwLCAweDVkNTc2MmY3MDAwMDAwMDAsIDB4Y2I2NzY1ODAwMDAwMDAwMCwKKyAgICAweDcxMzY2YzE5MDAwMDAwMDAsIDB4ZTcwNjZiNmUwMDAwMDAwMCwgMHg3NjFiZDRmZTAwMDAwMDAwLAorICAgIDB4ZTAyYmQzODkwMDAwMDAwMCwgMHg1YTdhZGExMDAwMDAwMDAwLCAweGNjNGFkZDY3MDAwMDAwMDAsCisgICAgMHg2ZmRmYjlmOTAwMDAwMDAwLCAweGY5ZWZiZThlMDAwMDAwMDAsIDB4NDNiZWI3MTcwMDAwMDAwMCwKKyAgICAweGQ1OGViMDYwMDAwMDAwMDAsIDB4ZThhM2Q2ZDYwMDAwMDAwMCwgMHg3ZTkzZDFhMTAwMDAwMDAwLAorICAgIDB4YzRjMmQ4MzgwMDAwMDAwMCwgMHg1MmYyZGY0ZjAwMDAwMDAwLCAweGYxNjdiYmQxMDAwMDAwMDAsCisgICAgMHg2NzU3YmNhNjAwMDAwMDAwLCAweGRkMDZiNTNmMDAwMDAwMDAsIDB4NGIzNmIyNDgwMDAwMDAwMCwKKyAgICAweGRhMmIwZGQ4MDAwMDAwMDAsIDB4NGMxYjBhYWYwMDAwMDAwMCwgMHhmNjRhMDMzNjAwMDAwMDAwLAorICAgIDB4NjA3YTA0NDEwMDAwMDAwMCwgMHhjM2VmNjBkZjAwMDAwMDAwLCAweDU1ZGY2N2E4MDAwMDAwMDAsCisgICAgMHhlZjhlNmUzMTAwMDAwMDAwLCAweDc5YmU2OTQ2MDAwMDAwMDAsIDB4OGNiMzYxY2IwMDAwMDAwMCwKKyAgICAweDFhODM2NmJjMDAwMDAwMDAsIDB4YTBkMjZmMjUwMDAwMDAwMCwgMHgzNmUyNjg1MjAwMDAwMDAwLAorICAgIDB4OTU3NzBjY2MwMDAwMDAwMCwgMHgwMzQ3MGJiYjAwMDAwMDAwLCAweGI5MTYwMjIyMDAwMDAwMDAsCisgICAgMHgyZjI2MDU1NTAwMDAwMDAwLCAweGJlM2JiYWM1MDAwMDAwMDAsIDB4MjgwYmJkYjIwMDAwMDAwMCwKKyAgICAweDkyNWFiNDJiMDAwMDAwMDAsIDB4MDQ2YWIzNWMwMDAwMDAwMCwgMHhhN2ZmZDdjMjAwMDAwMDAwLAorICAgIDB4MzFjZmQwYjUwMDAwMDAwMCwgMHg4YjllZDkyYzAwMDAwMDAwLCAweDFkYWVkZTViMDAwMDAwMDAsCisgICAgMHhiMGMyNjQ5YjAwMDAwMDAwLCAweDI2ZjI2M2VjMDAwMDAwMDAsIDB4OWNhMzZhNzUwMDAwMDAwMCwKKyAgICAweDBhOTM2ZDAyMDAwMDAwMDAsIDB4YTkwNjA5OWMwMDAwMDAwMCwgMHgzZjM2MGVlYjAwMDAwMDAwLAorICAgIDB4ODU2NzA3NzIwMDAwMDAwMCwgMHgxMzU3MDAwNTAwMDAwMDAwLCAweDgyNGFiZjk1MDAwMDAwMDAsCisgICAgMHgxNDdhYjhlMjAwMDAwMDAwLCAweGFlMmJiMTdiMDAwMDAwMDAsIDB4MzgxYmI2MGMwMDAwMDAwMCwKKyAgICAweDliOGVkMjkyMDAwMDAwMDAsIDB4MGRiZWQ1ZTUwMDAwMDAwMCwgMHhiN2VmZGM3YzAwMDAwMDAwLAorICAgIDB4MjFkZmRiMGIwMDAwMDAwMCwgMHhkNGQyZDM4NjAwMDAwMDAwLCAweDQyZTJkNGYxMDAwMDAwMDAsCisgICAgMHhmOGIzZGQ2ODAwMDAwMDAwLCAweDZlODNkYTFmMDAwMDAwMDAsIDB4Y2QxNmJlODEwMDAwMDAwMCwKKyAgICAweDViMjZiOWY2MDAwMDAwMDAsIDB4ZTE3N2IwNmYwMDAwMDAwMCwgMHg3NzQ3YjcxODAwMDAwMDAwLAorICAgIDB4ZTY1YTA4ODgwMDAwMDAwMCwgMHg3MDZhMGZmZjAwMDAwMDAwLCAweGNhM2IwNjY2MDAwMDAwMDAsCisgICAgMHg1YzBiMDExMTAwMDAwMDAwLCAweGZmOWU2NThmMDAwMDAwMDAsIDB4NjlhZTYyZjgwMDAwMDAwMCwKKyAgICAweGQzZmY2YjYxMDAwMDAwMDAsIDB4NDVjZjZjMTYwMDAwMDAwMCwgMHg3OGUyMGFhMDAwMDAwMDAwLAorICAgIDB4ZWVkMjBkZDcwMDAwMDAwMCwgMHg1NDgzMDQ0ZTAwMDAwMDAwLCAweGMyYjMwMzM5MDAwMDAwMDAsCisgICAgMHg2MTI2NjdhNzAwMDAwMDAwLCAweGY3MTY2MGQwMDAwMDAwMDAsIDB4NGQ0NzY5NDkwMDAwMDAwMCwKKyAgICAweGRiNzc2ZTNlMDAwMDAwMDAsIDB4NGE2YWQxYWUwMDAwMDAwMCwgMHhkYzVhZDZkOTAwMDAwMDAwLAorICAgIDB4NjYwYmRmNDAwMDAwMDAwMCwgMHhmMDNiZDgzNzAwMDAwMDAwLCAweDUzYWViY2E5MDAwMDAwMDAsCisgICAgMHhjNTllYmJkZTAwMDAwMDAwLCAweDdmY2ZiMjQ3MDAwMDAwMDAsIDB4ZTlmZmI1MzAwMDAwMDAwMCwKKyAgICAweDFjZjJiZGJkMDAwMDAwMDAsIDB4OGFjMmJhY2EwMDAwMDAwMCwgMHgzMDkzYjM1MzAwMDAwMDAwLAorICAgIDB4YTZhM2I0MjQwMDAwMDAwMCwgMHgwNTM2ZDBiYTAwMDAwMDAwLCAweDkzMDZkN2NkMDAwMDAwMDAsCisgICAgMHgyOTU3ZGU1NDAwMDAwMDAwLCAweGJmNjdkOTIzMDAwMDAwMDAsIDB4MmU3YTY2YjMwMDAwMDAwMCwKKyAgICAweGI4NGE2MWM0MDAwMDAwMDAsIDB4MDIxYjY4NWQwMDAwMDAwMCwgMHg5NDJiNmYyYTAwMDAwMDAwLAorICAgIDB4MzdiZTBiYjQwMDAwMDAwMCwgMHhhMThlMGNjMzAwMDAwMDAwLCAweDFiZGYwNTVhMDAwMDAwMDAsCisgICAgMHg4ZGVmMDIyZDAwMDAwMDAwfSwKKyAgIHsweDAwMDAwMDAwMDAwMDAwMDAsIDB4NDEzMTFiMTkwMDAwMDAwMCwgMHg4MjYyMzYzMjAwMDAwMDAwLAorICAgIDB4YzM1MzJkMmIwMDAwMDAwMCwgMHgwNGM1NmM2NDAwMDAwMDAwLCAweDQ1ZjQ3NzdkMDAwMDAwMDAsCisgICAgMHg4NmE3NWE1NjAwMDAwMDAwLCAweGM3OTY0MTRmMDAwMDAwMDAsIDB4MDg4YWQ5YzgwMDAwMDAwMCwKKyAgICAweDQ5YmJjMmQxMDAwMDAwMDAsIDB4OGFlOGVmZmEwMDAwMDAwMCwgMHhjYmQ5ZjRlMzAwMDAwMDAwLAorICAgIDB4MGM0ZmI1YWMwMDAwMDAwMCwgMHg0ZDdlYWViNTAwMDAwMDAwLCAweDhlMmQ4MzllMDAwMDAwMDAsCisgICAgMHhjZjFjOTg4NzAwMDAwMDAwLCAweDUxMTJjMjRhMDAwMDAwMDAsIDB4MTAyM2Q5NTMwMDAwMDAwMCwKKyAgICAweGQzNzBmNDc4MDAwMDAwMDAsIDB4OTI0MWVmNjEwMDAwMDAwMCwgMHg1NWQ3YWUyZTAwMDAwMDAwLAorICAgIDB4MTRlNmI1MzcwMDAwMDAwMCwgMHhkN2I1OTgxYzAwMDAwMDAwLCAweDk2ODQ4MzA1MDAwMDAwMDAsCisgICAgMHg1OTk4MWI4MjAwMDAwMDAwLCAweDE4YTkwMDliMDAwMDAwMDAsIDB4ZGJmYTJkYjAwMDAwMDAwMCwKKyAgICAweDlhY2IzNmE5MDAwMDAwMDAsIDB4NWQ1ZDc3ZTYwMDAwMDAwMCwgMHgxYzZjNmNmZjAwMDAwMDAwLAorICAgIDB4ZGYzZjQxZDQwMDAwMDAwMCwgMHg5ZTBlNWFjZDAwMDAwMDAwLCAweGEyMjQ4NDk1MDAwMDAwMDAsCisgICAgMHhlMzE1OWY4YzAwMDAwMDAwLCAweDIwNDZiMmE3MDAwMDAwMDAsIDB4NjE3N2E5YmUwMDAwMDAwMCwKKyAgICAweGE2ZTFlOGYxMDAwMDAwMDAsIDB4ZTdkMGYzZTgwMDAwMDAwMCwgMHgyNDgzZGVjMzAwMDAwMDAwLAorICAgIDB4NjViMmM1ZGEwMDAwMDAwMCwgMHhhYWFlNWQ1ZDAwMDAwMDAwLCAweGViOWY0NjQ0MDAwMDAwMDAsCisgICAgMHgyOGNjNmI2ZjAwMDAwMDAwLCAweDY5ZmQ3MDc2MDAwMDAwMDAsIDB4YWU2YjMxMzkwMDAwMDAwMCwKKyAgICAweGVmNWEyYTIwMDAwMDAwMDAsIDB4MmMwOTA3MGIwMDAwMDAwMCwgMHg2ZDM4MWMxMjAwMDAwMDAwLAorICAgIDB4ZjMzNjQ2ZGYwMDAwMDAwMCwgMHhiMjA3NWRjNjAwMDAwMDAwLCAweDcxNTQ3MGVkMDAwMDAwMDAsCisgICAgMHgzMDY1NmJmNDAwMDAwMDAwLCAweGY3ZjMyYWJiMDAwMDAwMDAsIDB4YjZjMjMxYTIwMDAwMDAwMCwKKyAgICAweDc1OTExYzg5MDAwMDAwMDAsIDB4MzRhMDA3OTAwMDAwMDAwMCwgMHhmYmJjOWYxNzAwMDAwMDAwLAorICAgIDB4YmE4ZDg0MGUwMDAwMDAwMCwgMHg3OWRlYTkyNTAwMDAwMDAwLCAweDM4ZWZiMjNjMDAwMDAwMDAsCisgICAgMHhmZjc5ZjM3MzAwMDAwMDAwLCAweGJlNDhlODZhMDAwMDAwMDAsIDB4N2QxYmM1NDEwMDAwMDAwMCwKKyAgICAweDNjMmFkZTU4MDAwMDAwMDAsIDB4MDU0Zjc5ZjAwMDAwMDAwMCwgMHg0NDdlNjJlOTAwMDAwMDAwLAorICAgIDB4ODcyZDRmYzIwMDAwMDAwMCwgMHhjNjFjNTRkYjAwMDAwMDAwLCAweDAxOGExNTk0MDAwMDAwMDAsCisgICAgMHg0MGJiMGU4ZDAwMDAwMDAwLCAweDgzZTgyM2E2MDAwMDAwMDAsIDB4YzJkOTM4YmYwMDAwMDAwMCwKKyAgICAweDBkYzVhMDM4MDAwMDAwMDAsIDB4NGNmNGJiMjEwMDAwMDAwMCwgMHg4ZmE3OTYwYTAwMDAwMDAwLAorICAgIDB4Y2U5NjhkMTMwMDAwMDAwMCwgMHgwOTAwY2M1YzAwMDAwMDAwLCAweDQ4MzFkNzQ1MDAwMDAwMDAsCisgICAgMHg4YjYyZmE2ZTAwMDAwMDAwLCAweGNhNTNlMTc3MDAwMDAwMDAsIDB4NTQ1ZGJiYmEwMDAwMDAwMCwKKyAgICAweDE1NmNhMGEzMDAwMDAwMDAsIDB4ZDYzZjhkODgwMDAwMDAwMCwgMHg5NzBlOTY5MTAwMDAwMDAwLAorICAgIDB4NTA5OGQ3ZGUwMDAwMDAwMCwgMHgxMWE5Y2NjNzAwMDAwMDAwLCAweGQyZmFlMWVjMDAwMDAwMDAsCisgICAgMHg5M2NiZmFmNTAwMDAwMDAwLCAweDVjZDc2MjcyMDAwMDAwMDAsIDB4MWRlNjc5NmIwMDAwMDAwMCwKKyAgICAweGRlYjU1NDQwMDAwMDAwMDAsIDB4OWY4NDRmNTkwMDAwMDAwMCwgMHg1ODEyMGUxNjAwMDAwMDAwLAorICAgIDB4MTkyMzE1MGYwMDAwMDAwMCwgMHhkYTcwMzgyNDAwMDAwMDAwLCAweDliNDEyMzNkMDAwMDAwMDAsCisgICAgMHhhNzZiZmQ2NTAwMDAwMDAwLCAweGU2NWFlNjdjMDAwMDAwMDAsIDB4MjUwOWNiNTcwMDAwMDAwMCwKKyAgICAweDY0MzhkMDRlMDAwMDAwMDAsIDB4YTNhZTkxMDEwMDAwMDAwMCwgMHhlMjlmOGExODAwMDAwMDAwLAorICAgIDB4MjFjY2E3MzMwMDAwMDAwMCwgMHg2MGZkYmMyYTAwMDAwMDAwLCAweGFmZTEyNGFkMDAwMDAwMDAsCisgICAgMHhlZWQwM2ZiNDAwMDAwMDAwLCAweDJkODMxMjlmMDAwMDAwMDAsIDB4NmNiMjA5ODYwMDAwMDAwMCwKKyAgICAweGFiMjQ0OGM5MDAwMDAwMDAsIDB4ZWExNTUzZDAwMDAwMDAwMCwgMHgyOTQ2N2VmYjAwMDAwMDAwLAorICAgIDB4Njg3NzY1ZTIwMDAwMDAwMCwgMHhmNjc5M2YyZjAwMDAwMDAwLCAweGI3NDgyNDM2MDAwMDAwMDAsCisgICAgMHg3NDFiMDkxZDAwMDAwMDAwLCAweDM1MmExMjA0MDAwMDAwMDAsIDB4ZjJiYzUzNGIwMDAwMDAwMCwKKyAgICAweGIzOGQ0ODUyMDAwMDAwMDAsIDB4NzBkZTY1NzkwMDAwMDAwMCwgMHgzMWVmN2U2MDAwMDAwMDAwLAorICAgIDB4ZmVmM2U2ZTcwMDAwMDAwMCwgMHhiZmMyZmRmZTAwMDAwMDAwLCAweDdjOTFkMGQ1MDAwMDAwMDAsCisgICAgMHgzZGEwY2JjYzAwMDAwMDAwLCAweGZhMzY4YTgzMDAwMDAwMDAsIDB4YmIwNzkxOWEwMDAwMDAwMCwKKyAgICAweDc4NTRiY2IxMDAwMDAwMDAsIDB4Mzk2NWE3YTgwMDAwMDAwMCwgMHg0Yjk4ODMzYjAwMDAwMDAwLAorICAgIDB4MGFhOTk4MjIwMDAwMDAwMCwgMHhjOWZhYjUwOTAwMDAwMDAwLCAweDg4Y2JhZTEwMDAwMDAwMDAsCisgICAgMHg0ZjVkZWY1ZjAwMDAwMDAwLCAweDBlNmNmNDQ2MDAwMDAwMDAsIDB4Y2QzZmQ5NmQwMDAwMDAwMCwKKyAgICAweDhjMGVjMjc0MDAwMDAwMDAsIDB4NDMxMjVhZjMwMDAwMDAwMCwgMHgwMjIzNDFlYTAwMDAwMDAwLAorICAgIDB4YzE3MDZjYzEwMDAwMDAwMCwgMHg4MDQxNzdkODAwMDAwMDAwLCAweDQ3ZDczNjk3MDAwMDAwMDAsCisgICAgMHgwNmU2MmQ4ZTAwMDAwMDAwLCAweGM1YjUwMGE1MDAwMDAwMDAsIDB4ODQ4NDFiYmMwMDAwMDAwMCwKKyAgICAweDFhOGE0MTcxMDAwMDAwMDAsIDB4NWJiYjVhNjgwMDAwMDAwMCwgMHg5OGU4Nzc0MzAwMDAwMDAwLAorICAgIDB4ZDlkOTZjNWEwMDAwMDAwMCwgMHgxZTRmMmQxNTAwMDAwMDAwLCAweDVmN2UzNjBjMDAwMDAwMDAsCisgICAgMHg5YzJkMWIyNzAwMDAwMDAwLCAweGRkMWMwMDNlMDAwMDAwMDAsIDB4MTIwMDk4YjkwMDAwMDAwMCwKKyAgICAweDUzMzE4M2EwMDAwMDAwMDAsIDB4OTA2MmFlOGIwMDAwMDAwMCwgMHhkMTUzYjU5MjAwMDAwMDAwLAorICAgIDB4MTZjNWY0ZGQwMDAwMDAwMCwgMHg1N2Y0ZWZjNDAwMDAwMDAwLCAweDk0YTdjMmVmMDAwMDAwMDAsCisgICAgMHhkNTk2ZDlmNjAwMDAwMDAwLCAweGU5YmMwN2FlMDAwMDAwMDAsIDB4YTg4ZDFjYjcwMDAwMDAwMCwKKyAgICAweDZiZGUzMTljMDAwMDAwMDAsIDB4MmFlZjJhODUwMDAwMDAwMCwgMHhlZDc5NmJjYTAwMDAwMDAwLAorICAgIDB4YWM0ODcwZDMwMDAwMDAwMCwgMHg2ZjFiNWRmODAwMDAwMDAwLCAweDJlMmE0NmUxMDAwMDAwMDAsCisgICAgMHhlMTM2ZGU2NjAwMDAwMDAwLCAweGEwMDdjNTdmMDAwMDAwMDAsIDB4NjM1NGU4NTQwMDAwMDAwMCwKKyAgICAweDIyNjVmMzRkMDAwMDAwMDAsIDB4ZTVmM2IyMDIwMDAwMDAwMCwgMHhhNGMyYTkxYjAwMDAwMDAwLAorICAgIDB4Njc5MTg0MzAwMDAwMDAwMCwgMHgyNmEwOWYyOTAwMDAwMDAwLCAweGI4YWVjNWU0MDAwMDAwMDAsCisgICAgMHhmOTlmZGVmZDAwMDAwMDAwLCAweDNhY2NmM2Q2MDAwMDAwMDAsIDB4N2JmZGU4Y2YwMDAwMDAwMCwKKyAgICAweGJjNmJhOTgwMDAwMDAwMDAsIDB4ZmQ1YWIyOTkwMDAwMDAwMCwgMHgzZTA5OWZiMjAwMDAwMDAwLAorICAgIDB4N2YzODg0YWIwMDAwMDAwMCwgMHhiMDI0MWMyYzAwMDAwMDAwLCAweGYxMTUwNzM1MDAwMDAwMDAsCisgICAgMHgzMjQ2MmExZTAwMDAwMDAwLCAweDczNzczMTA3MDAwMDAwMDAsIDB4YjRlMTcwNDgwMDAwMDAwMCwKKyAgICAweGY1ZDA2YjUxMDAwMDAwMDAsIDB4MzY4MzQ2N2EwMDAwMDAwMCwgMHg3N2IyNWQ2MzAwMDAwMDAwLAorICAgIDB4NGVkN2ZhY2IwMDAwMDAwMCwgMHgwZmU2ZTFkMjAwMDAwMDAwLCAweGNjYjVjY2Y5MDAwMDAwMDAsCisgICAgMHg4ZDg0ZDdlMDAwMDAwMDAwLCAweDRhMTI5NmFmMDAwMDAwMDAsIDB4MGIyMzhkYjYwMDAwMDAwMCwKKyAgICAweGM4NzBhMDlkMDAwMDAwMDAsIDB4ODk0MWJiODQwMDAwMDAwMCwgMHg0NjVkMjMwMzAwMDAwMDAwLAorICAgIDB4MDc2YzM4MWEwMDAwMDAwMCwgMHhjNDNmMTUzMTAwMDAwMDAwLCAweDg1MGUwZTI4MDAwMDAwMDAsCisgICAgMHg0Mjk4NGY2NzAwMDAwMDAwLCAweDAzYTk1NDdlMDAwMDAwMDAsIDB4YzBmYTc5NTUwMDAwMDAwMCwKKyAgICAweDgxY2I2MjRjMDAwMDAwMDAsIDB4MWZjNTM4ODEwMDAwMDAwMCwgMHg1ZWY0MjM5ODAwMDAwMDAwLAorICAgIDB4OWRhNzBlYjMwMDAwMDAwMCwgMHhkYzk2MTVhYTAwMDAwMDAwLCAweDFiMDA1NGU1MDAwMDAwMDAsCisgICAgMHg1YTMxNGZmYzAwMDAwMDAwLCAweDk5NjI2MmQ3MDAwMDAwMDAsIDB4ZDg1Mzc5Y2UwMDAwMDAwMCwKKyAgICAweDE3NGZlMTQ5MDAwMDAwMDAsIDB4NTY3ZWZhNTAwMDAwMDAwMCwgMHg5NTJkZDc3YjAwMDAwMDAwLAorICAgIDB4ZDQxY2NjNjIwMDAwMDAwMCwgMHgxMzhhOGQyZDAwMDAwMDAwLCAweDUyYmI5NjM0MDAwMDAwMDAsCisgICAgMHg5MWU4YmIxZjAwMDAwMDAwLCAweGQwZDlhMDA2MDAwMDAwMDAsIDB4ZWNmMzdlNWUwMDAwMDAwMCwKKyAgICAweGFkYzI2NTQ3MDAwMDAwMDAsIDB4NmU5MTQ4NmMwMDAwMDAwMCwgMHgyZmEwNTM3NTAwMDAwMDAwLAorICAgIDB4ZTgzNjEyM2EwMDAwMDAwMCwgMHhhOTA3MDkyMzAwMDAwMDAwLCAweDZhNTQyNDA4MDAwMDAwMDAsCisgICAgMHgyYjY1M2YxMTAwMDAwMDAwLCAweGU0NzlhNzk2MDAwMDAwMDAsIDB4YTU0OGJjOGYwMDAwMDAwMCwKKyAgICAweDY2MWI5MWE0MDAwMDAwMDAsIDB4MjcyYThhYmQwMDAwMDAwMCwgMHhlMGJjY2JmMjAwMDAwMDAwLAorICAgIDB4YTE4ZGQwZWIwMDAwMDAwMCwgMHg2MmRlZmRjMDAwMDAwMDAwLCAweDIzZWZlNmQ5MDAwMDAwMDAsCisgICAgMHhiZGUxYmMxNDAwMDAwMDAwLCAweGZjZDBhNzBkMDAwMDAwMDAsIDB4M2Y4MzhhMjYwMDAwMDAwMCwKKyAgICAweDdlYjI5MTNmMDAwMDAwMDAsIDB4YjkyNGQwNzAwMDAwMDAwMCwgMHhmODE1Y2I2OTAwMDAwMDAwLAorICAgIDB4M2I0NmU2NDIwMDAwMDAwMCwgMHg3YTc3ZmQ1YjAwMDAwMDAwLCAweGI1NmI2NWRjMDAwMDAwMDAsCisgICAgMHhmNDVhN2VjNTAwMDAwMDAwLCAweDM3MDk1M2VlMDAwMDAwMDAsIDB4NzYzODQ4ZjcwMDAwMDAwMCwKKyAgICAweGIxYWUwOWI4MDAwMDAwMDAsIDB4ZjA5ZjEyYTEwMDAwMDAwMCwgMHgzM2NjM2Y4YTAwMDAwMDAwLAorICAgIDB4NzJmZDI0OTMwMDAwMDAwMH0sCisgICB7MHgwMDAwMDAwMDAwMDAwMDAwLCAweDM3NmFjMjAxMDAwMDAwMDAsIDB4NmVkNDg0MDMwMDAwMDAwMCwKKyAgICAweDU5YmU0NjAyMDAwMDAwMDAsIDB4ZGNhODA5MDcwMDAwMDAwMCwgMHhlYmMyY2IwNjAwMDAwMDAwLAorICAgIDB4YjI3YzhkMDQwMDAwMDAwMCwgMHg4NTE2NGYwNTAwMDAwMDAwLCAweGI4NTExMzBlMDAwMDAwMDAsCisgICAgMHg4ZjNiZDEwZjAwMDAwMDAwLCAweGQ2ODU5NzBkMDAwMDAwMDAsIDB4ZTFlZjU1MGMwMDAwMDAwMCwKKyAgICAweDY0ZjkxYTA5MDAwMDAwMDAsIDB4NTM5M2Q4MDgwMDAwMDAwMCwgMHgwYTJkOWUwYTAwMDAwMDAwLAorICAgIDB4M2Q0NzVjMGIwMDAwMDAwMCwgMHg3MGEzMjYxYzAwMDAwMDAwLCAweDQ3YzllNDFkMDAwMDAwMDAsCisgICAgMHgxZTc3YTIxZjAwMDAwMDAwLCAweDI5MWQ2MDFlMDAwMDAwMDAsIDB4YWMwYjJmMWIwMDAwMDAwMCwKKyAgICAweDliNjFlZDFhMDAwMDAwMDAsIDB4YzJkZmFiMTgwMDAwMDAwMCwgMHhmNWI1NjkxOTAwMDAwMDAwLAorICAgIDB4YzhmMjM1MTIwMDAwMDAwMCwgMHhmZjk4ZjcxMzAwMDAwMDAwLCAweGE2MjZiMTExMDAwMDAwMDAsCisgICAgMHg5MTRjNzMxMDAwMDAwMDAwLCAweDE0NWEzYzE1MDAwMDAwMDAsIDB4MjMzMGZlMTQwMDAwMDAwMCwKKyAgICAweDdhOGViODE2MDAwMDAwMDAsIDB4NGRlNDdhMTcwMDAwMDAwMCwgMHhlMDQ2NGQzODAwMDAwMDAwLAorICAgIDB4ZDcyYzhmMzkwMDAwMDAwMCwgMHg4ZTkyYzkzYjAwMDAwMDAwLCAweGI5ZjgwYjNhMDAwMDAwMDAsCisgICAgMHgzY2VlNDQzZjAwMDAwMDAwLCAweDBiODQ4NjNlMDAwMDAwMDAsIDB4NTIzYWMwM2MwMDAwMDAwMCwKKyAgICAweDY1NTAwMjNkMDAwMDAwMDAsIDB4NTgxNzVlMzYwMDAwMDAwMCwgMHg2ZjdkOWMzNzAwMDAwMDAwLAorICAgIDB4MzZjM2RhMzUwMDAwMDAwMCwgMHgwMWE5MTgzNDAwMDAwMDAwLCAweDg0YmY1NzMxMDAwMDAwMDAsCisgICAgMHhiM2Q1OTUzMDAwMDAwMDAwLCAweGVhNmJkMzMyMDAwMDAwMDAsIDB4ZGQwMTExMzMwMDAwMDAwMCwKKyAgICAweDkwZTU2YjI0MDAwMDAwMDAsIDB4YTc4ZmE5MjUwMDAwMDAwMCwgMHhmZTMxZWYyNzAwMDAwMDAwLAorICAgIDB4Yzk1YjJkMjYwMDAwMDAwMCwgMHg0YzRkNjIyMzAwMDAwMDAwLCAweDdiMjdhMDIyMDAwMDAwMDAsCisgICAgMHgyMjk5ZTYyMDAwMDAwMDAwLCAweDE1ZjMyNDIxMDAwMDAwMDAsIDB4MjhiNDc4MmEwMDAwMDAwMCwKKyAgICAweDFmZGViYTJiMDAwMDAwMDAsIDB4NDY2MGZjMjkwMDAwMDAwMCwgMHg3MTBhM2UyODAwMDAwMDAwLAorICAgIDB4ZjQxYzcxMmQwMDAwMDAwMCwgMHhjMzc2YjMyYzAwMDAwMDAwLCAweDlhYzhmNTJlMDAwMDAwMDAsCisgICAgMHhhZGEyMzcyZjAwMDAwMDAwLCAweGMwOGQ5YTcwMDAwMDAwMDAsIDB4ZjdlNzU4NzEwMDAwMDAwMCwKKyAgICAweGFlNTkxZTczMDAwMDAwMDAsIDB4OTkzM2RjNzIwMDAwMDAwMCwgMHgxYzI1OTM3NzAwMDAwMDAwLAorICAgIDB4MmI0ZjUxNzYwMDAwMDAwMCwgMHg3MmYxMTc3NDAwMDAwMDAwLCAweDQ1OWJkNTc1MDAwMDAwMDAsCisgICAgMHg3OGRjODk3ZTAwMDAwMDAwLCAweDRmYjY0YjdmMDAwMDAwMDAsIDB4MTYwODBkN2QwMDAwMDAwMCwKKyAgICAweDIxNjJjZjdjMDAwMDAwMDAsIDB4YTQ3NDgwNzkwMDAwMDAwMCwgMHg5MzFlNDI3ODAwMDAwMDAwLAorICAgIDB4Y2FhMDA0N2EwMDAwMDAwMCwgMHhmZGNhYzY3YjAwMDAwMDAwLCAweGIwMmViYzZjMDAwMDAwMDAsCisgICAgMHg4NzQ0N2U2ZDAwMDAwMDAwLCAweGRlZmEzODZmMDAwMDAwMDAsIDB4ZTk5MGZhNmUwMDAwMDAwMCwKKyAgICAweDZjODZiNTZiMDAwMDAwMDAsIDB4NWJlYzc3NmEwMDAwMDAwMCwgMHgwMjUyMzE2ODAwMDAwMDAwLAorICAgIDB4MzUzOGYzNjkwMDAwMDAwMCwgMHgwODdmYWY2MjAwMDAwMDAwLCAweDNmMTU2ZDYzMDAwMDAwMDAsCisgICAgMHg2NmFiMmI2MTAwMDAwMDAwLCAweDUxYzFlOTYwMDAwMDAwMDAsIDB4ZDRkN2E2NjUwMDAwMDAwMCwKKyAgICAweGUzYmQ2NDY0MDAwMDAwMDAsIDB4YmEwMzIyNjYwMDAwMDAwMCwgMHg4ZDY5ZTA2NzAwMDAwMDAwLAorICAgIDB4MjBjYmQ3NDgwMDAwMDAwMCwgMHgxN2ExMTU0OTAwMDAwMDAwLCAweDRlMWY1MzRiMDAwMDAwMDAsCisgICAgMHg3OTc1OTE0YTAwMDAwMDAwLCAweGZjNjNkZTRmMDAwMDAwMDAsIDB4Y2IwOTFjNGUwMDAwMDAwMCwKKyAgICAweDkyYjc1YTRjMDAwMDAwMDAsIDB4YTVkZDk4NGQwMDAwMDAwMCwgMHg5ODlhYzQ0NjAwMDAwMDAwLAorICAgIDB4YWZmMDA2NDcwMDAwMDAwMCwgMHhmNjRlNDA0NTAwMDAwMDAwLCAweGMxMjQ4MjQ0MDAwMDAwMDAsCisgICAgMHg0NDMyY2Q0MTAwMDAwMDAwLCAweDczNTgwZjQwMDAwMDAwMDAsIDB4MmFlNjQ5NDIwMDAwMDAwMCwKKyAgICAweDFkOGM4YjQzMDAwMDAwMDAsIDB4NTA2OGYxNTQwMDAwMDAwMCwgMHg2NzAyMzM1NTAwMDAwMDAwLAorICAgIDB4M2ViYzc1NTcwMDAwMDAwMCwgMHgwOWQ2Yjc1NjAwMDAwMDAwLCAweDhjYzBmODUzMDAwMDAwMDAsCisgICAgMHhiYmFhM2E1MjAwMDAwMDAwLCAweGUyMTQ3YzUwMDAwMDAwMDAsIDB4ZDU3ZWJlNTEwMDAwMDAwMCwKKyAgICAweGU4MzllMjVhMDAwMDAwMDAsIDB4ZGY1MzIwNWIwMDAwMDAwMCwgMHg4NmVkNjY1OTAwMDAwMDAwLAorICAgIDB4YjE4N2E0NTgwMDAwMDAwMCwgMHgzNDkxZWI1ZDAwMDAwMDAwLCAweDAzZmIyOTVjMDAwMDAwMDAsCisgICAgMHg1YTQ1NmY1ZTAwMDAwMDAwLCAweDZkMmZhZDVmMDAwMDAwMDAsIDB4ODAxYjM1ZTEwMDAwMDAwMCwKKyAgICAweGI3NzFmN2UwMDAwMDAwMDAsIDB4ZWVjZmIxZTIwMDAwMDAwMCwgMHhkOWE1NzNlMzAwMDAwMDAwLAorICAgIDB4NWNiMzNjZTYwMDAwMDAwMCwgMHg2YmQ5ZmVlNzAwMDAwMDAwLCAweDMyNjdiOGU1MDAwMDAwMDAsCisgICAgMHgwNTBkN2FlNDAwMDAwMDAwLCAweDM4NGEyNmVmMDAwMDAwMDAsIDB4MGYyMGU0ZWUwMDAwMDAwMCwKKyAgICAweDU2OWVhMmVjMDAwMDAwMDAsIDB4NjFmNDYwZWQwMDAwMDAwMCwgMHhlNGUyMmZlODAwMDAwMDAwLAorICAgIDB4ZDM4OGVkZTkwMDAwMDAwMCwgMHg4YTM2YWJlYjAwMDAwMDAwLCAweGJkNWM2OWVhMDAwMDAwMDAsCisgICAgMHhmMGI4MTNmZDAwMDAwMDAwLCAweGM3ZDJkMWZjMDAwMDAwMDAsIDB4OWU2Yzk3ZmUwMDAwMDAwMCwKKyAgICAweGE5MDY1NWZmMDAwMDAwMDAsIDB4MmMxMDFhZmEwMDAwMDAwMCwgMHgxYjdhZDhmYjAwMDAwMDAwLAorICAgIDB4NDJjNDllZjkwMDAwMDAwMCwgMHg3NWFlNWNmODAwMDAwMDAwLCAweDQ4ZTkwMGYzMDAwMDAwMDAsCisgICAgMHg3ZjgzYzJmMjAwMDAwMDAwLCAweDI2M2Q4NGYwMDAwMDAwMDAsIDB4MTE1NzQ2ZjEwMDAwMDAwMCwKKyAgICAweDk0NDEwOWY0MDAwMDAwMDAsIDB4YTMyYmNiZjUwMDAwMDAwMCwgMHhmYTk1OGRmNzAwMDAwMDAwLAorICAgIDB4Y2RmZjRmZjYwMDAwMDAwMCwgMHg2MDVkNzhkOTAwMDAwMDAwLCAweDU3MzdiYWQ4MDAwMDAwMDAsCisgICAgMHgwZTg5ZmNkYTAwMDAwMDAwLCAweDM5ZTMzZWRiMDAwMDAwMDAsIDB4YmNmNTcxZGUwMDAwMDAwMCwKKyAgICAweDhiOWZiM2RmMDAwMDAwMDAsIDB4ZDIyMWY1ZGQwMDAwMDAwMCwgMHhlNTRiMzdkYzAwMDAwMDAwLAorICAgIDB4ZDgwYzZiZDcwMDAwMDAwMCwgMHhlZjY2YTlkNjAwMDAwMDAwLCAweGI2ZDhlZmQ0MDAwMDAwMDAsCisgICAgMHg4MWIyMmRkNTAwMDAwMDAwLCAweDA0YTQ2MmQwMDAwMDAwMDAsIDB4MzNjZWEwZDEwMDAwMDAwMCwKKyAgICAweDZhNzBlNmQzMDAwMDAwMDAsIDB4NWQxYTI0ZDIwMDAwMDAwMCwgMHgxMGZlNWVjNTAwMDAwMDAwLAorICAgIDB4Mjc5NDljYzQwMDAwMDAwMCwgMHg3ZTJhZGFjNjAwMDAwMDAwLCAweDQ5NDAxOGM3MDAwMDAwMDAsCisgICAgMHhjYzU2NTdjMjAwMDAwMDAwLCAweGZiM2M5NWMzMDAwMDAwMDAsIDB4YTI4MmQzYzEwMDAwMDAwMCwKKyAgICAweDk1ZTgxMWMwMDAwMDAwMDAsIDB4YThhZjRkY2IwMDAwMDAwMCwgMHg5ZmM1OGZjYTAwMDAwMDAwLAorICAgIDB4YzY3YmM5YzgwMDAwMDAwMCwgMHhmMTExMGJjOTAwMDAwMDAwLCAweDc0MDc0NGNjMDAwMDAwMDAsCisgICAgMHg0MzZkODZjZDAwMDAwMDAwLCAweDFhZDNjMGNmMDAwMDAwMDAsIDB4MmRiOTAyY2UwMDAwMDAwMCwKKyAgICAweDQwOTZhZjkxMDAwMDAwMDAsIDB4NzdmYzZkOTAwMDAwMDAwMCwgMHgyZTQyMmI5MjAwMDAwMDAwLAorICAgIDB4MTkyOGU5OTMwMDAwMDAwMCwgMHg5YzNlYTY5NjAwMDAwMDAwLCAweGFiNTQ2NDk3MDAwMDAwMDAsCisgICAgMHhmMmVhMjI5NTAwMDAwMDAwLCAweGM1ODBlMDk0MDAwMDAwMDAsIDB4ZjhjN2JjOWYwMDAwMDAwMCwKKyAgICAweGNmYWQ3ZTllMDAwMDAwMDAsIDB4OTYxMzM4OWMwMDAwMDAwMCwgMHhhMTc5ZmE5ZDAwMDAwMDAwLAorICAgIDB4MjQ2ZmI1OTgwMDAwMDAwMCwgMHgxMzA1Nzc5OTAwMDAwMDAwLCAweDRhYmIzMTliMDAwMDAwMDAsCisgICAgMHg3ZGQxZjM5YTAwMDAwMDAwLCAweDMwMzU4OThkMDAwMDAwMDAsIDB4MDc1ZjRiOGMwMDAwMDAwMCwKKyAgICAweDVlZTEwZDhlMDAwMDAwMDAsIDB4Njk4YmNmOGYwMDAwMDAwMCwgMHhlYzlkODA4YTAwMDAwMDAwLAorICAgIDB4ZGJmNzQyOGIwMDAwMDAwMCwgMHg4MjQ5MDQ4OTAwMDAwMDAwLCAweGI1MjNjNjg4MDAwMDAwMDAsCisgICAgMHg4ODY0OWE4MzAwMDAwMDAwLCAweGJmMGU1ODgyMDAwMDAwMDAsIDB4ZTZiMDFlODAwMDAwMDAwMCwKKyAgICAweGQxZGFkYzgxMDAwMDAwMDAsIDB4NTRjYzkzODQwMDAwMDAwMCwgMHg2M2E2NTE4NTAwMDAwMDAwLAorICAgIDB4M2ExODE3ODcwMDAwMDAwMCwgMHgwZDcyZDU4NjAwMDAwMDAwLCAweGEwZDBlMmE5MDAwMDAwMDAsCisgICAgMHg5N2JhMjBhODAwMDAwMDAwLCAweGNlMDQ2NmFhMDAwMDAwMDAsIDB4Zjk2ZWE0YWIwMDAwMDAwMCwKKyAgICAweDdjNzhlYmFlMDAwMDAwMDAsIDB4NGIxMjI5YWYwMDAwMDAwMCwgMHgxMmFjNmZhZDAwMDAwMDAwLAorICAgIDB4MjVjNmFkYWMwMDAwMDAwMCwgMHgxODgxZjFhNzAwMDAwMDAwLCAweDJmZWIzM2E2MDAwMDAwMDAsCisgICAgMHg3NjU1NzVhNDAwMDAwMDAwLCAweDQxM2ZiN2E1MDAwMDAwMDAsIDB4YzQyOWY4YTAwMDAwMDAwMCwKKyAgICAweGYzNDMzYWExMDAwMDAwMDAsIDB4YWFmZDdjYTMwMDAwMDAwMCwgMHg5ZDk3YmVhMjAwMDAwMDAwLAorICAgIDB4ZDA3M2M0YjUwMDAwMDAwMCwgMHhlNzE5MDZiNDAwMDAwMDAwLCAweGJlYTc0MGI2MDAwMDAwMDAsCisgICAgMHg4OWNkODJiNzAwMDAwMDAwLCAweDBjZGJjZGIyMDAwMDAwMDAsIDB4M2JiMTBmYjMwMDAwMDAwMCwKKyAgICAweDYyMGY0OWIxMDAwMDAwMDAsIDB4NTU2NThiYjAwMDAwMDAwMCwgMHg2ODIyZDdiYjAwMDAwMDAwLAorICAgIDB4NWY0ODE1YmEwMDAwMDAwMCwgMHgwNmY2NTNiODAwMDAwMDAwLCAweDMxOWM5MWI5MDAwMDAwMDAsCisgICAgMHhiNDhhZGViYzAwMDAwMDAwLCAweDgzZTAxY2JkMDAwMDAwMDAsIDB4ZGE1ZTVhYmYwMDAwMDAwMCwKKyAgICAweGVkMzQ5OGJlMDAwMDAwMDB9LAorICAgezB4MDAwMDAwMDAwMDAwMDAwMCwgMHg2NTY3YmNiODAwMDAwMDAwLCAweDhiYzgwOWFhMDAwMDAwMDAsCisgICAgMHhlZWFmYjUxMjAwMDAwMDAwLCAweDU3OTc2MjhmMDAwMDAwMDAsIDB4MzJmMGRlMzcwMDAwMDAwMCwKKyAgICAweGRjNWY2YjI1MDAwMDAwMDAsIDB4YjkzOGQ3OWQwMDAwMDAwMCwgMHhlZjI4YjRjNTAwMDAwMDAwLAorICAgIDB4OGE0ZjA4N2QwMDAwMDAwMCwgMHg2NGUwYmQ2ZjAwMDAwMDAwLCAweDAxODcwMWQ3MDAwMDAwMDAsCisgICAgMHhiOGJmZDY0YTAwMDAwMDAwLCAweGRkZDg2YWYyMDAwMDAwMDAsIDB4MzM3N2RmZTAwMDAwMDAwMCwKKyAgICAweDU2MTA2MzU4MDAwMDAwMDAsIDB4OWY1NzE5NTAwMDAwMDAwMCwgMHhmYTMwYTVlODAwMDAwMDAwLAorICAgIDB4MTQ5ZjEwZmEwMDAwMDAwMCwgMHg3MWY4YWM0MjAwMDAwMDAwLCAweGM4YzA3YmRmMDAwMDAwMDAsCisgICAgMHhhZGE3Yzc2NzAwMDAwMDAwLCAweDQzMDg3Mjc1MDAwMDAwMDAsIDB4MjY2ZmNlY2QwMDAwMDAwMCwKKyAgICAweDcwN2ZhZDk1MDAwMDAwMDAsIDB4MTUxODExMmQwMDAwMDAwMCwgMHhmYmI3YTQzZjAwMDAwMDAwLAorICAgIDB4OWVkMDE4ODcwMDAwMDAwMCwgMHgyN2U4Y2YxYTAwMDAwMDAwLCAweDQyOGY3M2EyMDAwMDAwMDAsCisgICAgMHhhYzIwYzZiMDAwMDAwMDAwLCAweGM5NDc3YTA4MDAwMDAwMDAsIDB4M2VhZjMyYTAwMDAwMDAwMCwKKyAgICAweDViYzg4ZTE4MDAwMDAwMDAsIDB4YjU2NzNiMGEwMDAwMDAwMCwgMHhkMDAwODdiMjAwMDAwMDAwLAorICAgIDB4NjkzODUwMmYwMDAwMDAwMCwgMHgwYzVmZWM5NzAwMDAwMDAwLCAweGUyZjA1OTg1MDAwMDAwMDAsCisgICAgMHg4Nzk3ZTUzZDAwMDAwMDAwLCAweGQxODc4NjY1MDAwMDAwMDAsIDB4YjRlMDNhZGQwMDAwMDAwMCwKKyAgICAweDVhNGY4ZmNmMDAwMDAwMDAsIDB4M2YyODMzNzcwMDAwMDAwMCwgMHg4NjEwZTRlYTAwMDAwMDAwLAorICAgIDB4ZTM3NzU4NTIwMDAwMDAwMCwgMHgwZGQ4ZWQ0MDAwMDAwMDAwLCAweDY4YmY1MWY4MDAwMDAwMDAsCisgICAgMHhhMWY4MmJmMDAwMDAwMDAwLCAweGM0OWY5NzQ4MDAwMDAwMDAsIDB4MmEzMDIyNWEwMDAwMDAwMCwKKyAgICAweDRmNTc5ZWUyMDAwMDAwMDAsIDB4ZjY2ZjQ5N2YwMDAwMDAwMCwgMHg5MzA4ZjVjNzAwMDAwMDAwLAorICAgIDB4N2RhNzQwZDUwMDAwMDAwMCwgMHgxOGMwZmM2ZDAwMDAwMDAwLCAweDRlZDA5ZjM1MDAwMDAwMDAsCisgICAgMHgyYmI3MjM4ZDAwMDAwMDAwLCAweGM1MTg5NjlmMDAwMDAwMDAsIDB4YTA3ZjJhMjcwMDAwMDAwMCwKKyAgICAweDE5NDdmZGJhMDAwMDAwMDAsIDB4N2MyMDQxMDIwMDAwMDAwMCwgMHg5MjhmZjQxMDAwMDAwMDAwLAorICAgIDB4ZjdlODQ4YTgwMDAwMDAwMCwgMHgzZDU4MTQ5YjAwMDAwMDAwLCAweDU4M2ZhODIzMDAwMDAwMDAsCisgICAgMHhiNjkwMWQzMTAwMDAwMDAwLCAweGQzZjdhMTg5MDAwMDAwMDAsIDB4NmFjZjc2MTQwMDAwMDAwMCwKKyAgICAweDBmYThjYWFjMDAwMDAwMDAsIDB4ZTEwNzdmYmUwMDAwMDAwMCwgMHg4NDYwYzMwNjAwMDAwMDAwLAorICAgIDB4ZDI3MGEwNWUwMDAwMDAwMCwgMHhiNzE3MWNlNjAwMDAwMDAwLCAweDU5YjhhOWY0MDAwMDAwMDAsCisgICAgMHgzY2RmMTU0YzAwMDAwMDAwLCAweDg1ZTdjMmQxMDAwMDAwMDAsIDB4ZTA4MDdlNjkwMDAwMDAwMCwKKyAgICAweDBlMmZjYjdiMDAwMDAwMDAsIDB4NmI0ODc3YzMwMDAwMDAwMCwgMHhhMjBmMGRjYjAwMDAwMDAwLAorICAgIDB4Yzc2OGIxNzMwMDAwMDAwMCwgMHgyOWM3MDQ2MTAwMDAwMDAwLCAweDRjYTBiOGQ5MDAwMDAwMDAsCisgICAgMHhmNTk4NmY0NDAwMDAwMDAwLCAweDkwZmZkM2ZjMDAwMDAwMDAsIDB4N2U1MDY2ZWUwMDAwMDAwMCwKKyAgICAweDFiMzdkYTU2MDAwMDAwMDAsIDB4NGQyN2I5MGUwMDAwMDAwMCwgMHgyODQwMDViNjAwMDAwMDAwLAorICAgIDB4YzZlZmIwYTQwMDAwMDAwMCwgMHhhMzg4MGMxYzAwMDAwMDAwLCAweDFhYjBkYjgxMDAwMDAwMDAsCisgICAgMHg3ZmQ3NjczOTAwMDAwMDAwLCAweDkxNzhkMjJiMDAwMDAwMDAsIDB4ZjQxZjZlOTMwMDAwMDAwMCwKKyAgICAweDAzZjcyNjNiMDAwMDAwMDAsIDB4NjY5MDlhODMwMDAwMDAwMCwgMHg4ODNmMmY5MTAwMDAwMDAwLAorICAgIDB4ZWQ1ODkzMjkwMDAwMDAwMCwgMHg1NDYwNDRiNDAwMDAwMDAwLCAweDMxMDdmODBjMDAwMDAwMDAsCisgICAgMHhkZmE4NGQxZTAwMDAwMDAwLCAweGJhY2ZmMWE2MDAwMDAwMDAsIDB4ZWNkZjkyZmUwMDAwMDAwMCwKKyAgICAweDg5YjgyZTQ2MDAwMDAwMDAsIDB4NjcxNzliNTQwMDAwMDAwMCwgMHgwMjcwMjdlYzAwMDAwMDAwLAorICAgIDB4YmI0OGYwNzEwMDAwMDAwMCwgMHhkZTJmNGNjOTAwMDAwMDAwLCAweDMwODBmOWRiMDAwMDAwMDAsCisgICAgMHg1NWU3NDU2MzAwMDAwMDAwLCAweDljYTAzZjZiMDAwMDAwMDAsIDB4ZjljNzgzZDMwMDAwMDAwMCwKKyAgICAweDE3NjgzNmMxMDAwMDAwMDAsIDB4NzIwZjhhNzkwMDAwMDAwMCwgMHhjYjM3NWRlNDAwMDAwMDAwLAorICAgIDB4YWU1MGUxNWMwMDAwMDAwMCwgMHg0MGZmNTQ0ZTAwMDAwMDAwLCAweDI1OThlOGY2MDAwMDAwMDAsCisgICAgMHg3Mzg4OGJhZTAwMDAwMDAwLCAweDE2ZWYzNzE2MDAwMDAwMDAsIDB4Zjg0MDgyMDQwMDAwMDAwMCwKKyAgICAweDlkMjczZWJjMDAwMDAwMDAsIDB4MjQxZmU5MjEwMDAwMDAwMCwgMHg0MTc4NTU5OTAwMDAwMDAwLAorICAgIDB4YWZkN2UwOGIwMDAwMDAwMCwgMHhjYWIwNWMzMzAwMDAwMDAwLCAweDNiYjY1OWVkMDAwMDAwMDAsCisgICAgMHg1ZWQxZTU1NTAwMDAwMDAwLCAweGIwN2U1MDQ3MDAwMDAwMDAsIDB4ZDUxOWVjZmYwMDAwMDAwMCwKKyAgICAweDZjMjEzYjYyMDAwMDAwMDAsIDB4MDk0Njg3ZGEwMDAwMDAwMCwgMHhlN2U5MzJjODAwMDAwMDAwLAorICAgIDB4ODI4ZThlNzAwMDAwMDAwMCwgMHhkNDllZWQyODAwMDAwMDAwLCAweGIxZjk1MTkwMDAwMDAwMDAsCisgICAgMHg1ZjU2ZTQ4MjAwMDAwMDAwLCAweDNhMzE1ODNhMDAwMDAwMDAsIDB4ODMwOThmYTcwMDAwMDAwMCwKKyAgICAweGU2NmUzMzFmMDAwMDAwMDAsIDB4MDhjMTg2MGQwMDAwMDAwMCwgMHg2ZGE2M2FiNTAwMDAwMDAwLAorICAgIDB4YTRlMTQwYmQwMDAwMDAwMCwgMHhjMTg2ZmMwNTAwMDAwMDAwLCAweDJmMjk0OTE3MDAwMDAwMDAsCisgICAgMHg0YTRlZjVhZjAwMDAwMDAwLCAweGYzNzYyMjMyMDAwMDAwMDAsIDB4OTYxMTllOGEwMDAwMDAwMCwKKyAgICAweDc4YmUyYjk4MDAwMDAwMDAsIDB4MWRkOTk3MjAwMDAwMDAwMCwgMHg0YmM5ZjQ3ODAwMDAwMDAwLAorICAgIDB4MmVhZTQ4YzAwMDAwMDAwMCwgMHhjMDAxZmRkMjAwMDAwMDAwLCAweGE1NjY0MTZhMDAwMDAwMDAsCisgICAgMHgxYzVlOTZmNzAwMDAwMDAwLCAweDc5MzkyYTRmMDAwMDAwMDAsIDB4OTc5NjlmNWQwMDAwMDAwMCwKKyAgICAweGYyZjEyM2U1MDAwMDAwMDAsIDB4MDUxOTZiNGQwMDAwMDAwMCwgMHg2MDdlZDdmNTAwMDAwMDAwLAorICAgIDB4OGVkMTYyZTcwMDAwMDAwMCwgMHhlYmI2ZGU1ZjAwMDAwMDAwLCAweDUyOGUwOWMyMDAwMDAwMDAsCisgICAgMHgzN2U5YjU3YTAwMDAwMDAwLCAweGQ5NDYwMDY4MDAwMDAwMDAsIDB4YmMyMWJjZDAwMDAwMDAwMCwKKyAgICAweGVhMzFkZjg4MDAwMDAwMDAsIDB4OGY1NjYzMzAwMDAwMDAwMCwgMHg2MWY5ZDYyMjAwMDAwMDAwLAorICAgIDB4MDQ5ZTZhOWEwMDAwMDAwMCwgMHhiZGE2YmQwNzAwMDAwMDAwLCAweGQ4YzEwMWJmMDAwMDAwMDAsCisgICAgMHgzNjZlYjRhZDAwMDAwMDAwLCAweDUzMDkwODE1MDAwMDAwMDAsIDB4OWE0ZTcyMWQwMDAwMDAwMCwKKyAgICAweGZmMjljZWE1MDAwMDAwMDAsIDB4MTE4NjdiYjcwMDAwMDAwMCwgMHg3NGUxYzcwZjAwMDAwMDAwLAorICAgIDB4Y2RkOTEwOTIwMDAwMDAwMCwgMHhhOGJlYWMyYTAwMDAwMDAwLCAweDQ2MTExOTM4MDAwMDAwMDAsCisgICAgMHgyMzc2YTU4MDAwMDAwMDAwLCAweDc1NjZjNmQ4MDAwMDAwMDAsIDB4MTAwMTdhNjAwMDAwMDAwMCwKKyAgICAweGZlYWVjZjcyMDAwMDAwMDAsIDB4OWJjOTczY2EwMDAwMDAwMCwgMHgyMmYxYTQ1NzAwMDAwMDAwLAorICAgIDB4NDc5NjE4ZWYwMDAwMDAwMCwgMHhhOTM5YWRmZDAwMDAwMDAwLCAweGNjNWUxMTQ1MDAwMDAwMDAsCisgICAgMHgwNmVlNGQ3NjAwMDAwMDAwLCAweDYzODlmMWNlMDAwMDAwMDAsIDB4OGQyNjQ0ZGMwMDAwMDAwMCwKKyAgICAweGU4NDFmODY0MDAwMDAwMDAsIDB4NTE3OTJmZjkwMDAwMDAwMCwgMHgzNDFlOTM0MTAwMDAwMDAwLAorICAgIDB4ZGFiMTI2NTMwMDAwMDAwMCwgMHhiZmQ2OWFlYjAwMDAwMDAwLCAweGU5YzZmOWIzMDAwMDAwMDAsCisgICAgMHg4Y2ExNDUwYjAwMDAwMDAwLCAweDYyMGVmMDE5MDAwMDAwMDAsIDB4MDc2OTRjYTEwMDAwMDAwMCwKKyAgICAweGJlNTE5YjNjMDAwMDAwMDAsIDB4ZGIzNjI3ODQwMDAwMDAwMCwgMHgzNTk5OTI5NjAwMDAwMDAwLAorICAgIDB4NTBmZTJlMmUwMDAwMDAwMCwgMHg5OWI5NTQyNjAwMDAwMDAwLCAweGZjZGVlODllMDAwMDAwMDAsCisgICAgMHgxMjcxNWQ4YzAwMDAwMDAwLCAweDc3MTZlMTM0MDAwMDAwMDAsIDB4Y2UyZTM2YTkwMDAwMDAwMCwKKyAgICAweGFiNDk4YTExMDAwMDAwMDAsIDB4NDVlNjNmMDMwMDAwMDAwMCwgMHgyMDgxODNiYjAwMDAwMDAwLAorICAgIDB4NzY5MWUwZTMwMDAwMDAwMCwgMHgxM2Y2NWM1YjAwMDAwMDAwLCAweGZkNTllOTQ5MDAwMDAwMDAsCisgICAgMHg5ODNlNTVmMTAwMDAwMDAwLCAweDIxMDY4MjZjMDAwMDAwMDAsIDB4NDQ2MTNlZDQwMDAwMDAwMCwKKyAgICAweGFhY2U4YmM2MDAwMDAwMDAsIDB4Y2ZhOTM3N2UwMDAwMDAwMCwgMHgzODQxN2ZkNjAwMDAwMDAwLAorICAgIDB4NWQyNmMzNmUwMDAwMDAwMCwgMHhiMzg5NzY3YzAwMDAwMDAwLCAweGQ2ZWVjYWM0MDAwMDAwMDAsCisgICAgMHg2ZmQ2MWQ1OTAwMDAwMDAwLCAweDBhYjFhMWUxMDAwMDAwMDAsIDB4ZTQxZTE0ZjMwMDAwMDAwMCwKKyAgICAweDgxNzlhODRiMDAwMDAwMDAsIDB4ZDc2OWNiMTMwMDAwMDAwMCwgMHhiMjBlNzdhYjAwMDAwMDAwLAorICAgIDB4NWNhMWMyYjkwMDAwMDAwMCwgMHgzOWM2N2UwMTAwMDAwMDAwLCAweDgwZmVhOTljMDAwMDAwMDAsCisgICAgMHhlNTk5MTUyNDAwMDAwMDAwLCAweDBiMzZhMDM2MDAwMDAwMDAsIDB4NmU1MTFjOGUwMDAwMDAwMCwKKyAgICAweGE3MTY2Njg2MDAwMDAwMDAsIDB4YzI3MWRhM2UwMDAwMDAwMCwgMHgyY2RlNmYyYzAwMDAwMDAwLAorICAgIDB4NDliOWQzOTQwMDAwMDAwMCwgMHhmMDgxMDQwOTAwMDAwMDAwLCAweDk1ZTZiOGIxMDAwMDAwMDAsCisgICAgMHg3YjQ5MGRhMzAwMDAwMDAwLCAweDFlMmViMTFiMDAwMDAwMDAsIDB4NDgzZWQyNDMwMDAwMDAwMCwKKyAgICAweDJkNTk2ZWZiMDAwMDAwMDAsIDB4YzNmNmRiZTkwMDAwMDAwMCwgMHhhNjkxNjc1MTAwMDAwMDAwLAorICAgIDB4MWZhOWIwY2MwMDAwMDAwMCwgMHg3YWNlMGM3NDAwMDAwMDAwLCAweDk0NjFiOTY2MDAwMDAwMDAsCisgICAgMHhmMTA2MDVkZTAwMDAwMDAwfSwKKyAgIHsweDAwMDAwMDAwMDAwMDAwMDAsIDB4YjAyOTYwM2QwMDAwMDAwMCwgMHg2MDUzYzA3YTAwMDAwMDAwLAorICAgIDB4ZDA3YWEwNDcwMDAwMDAwMCwgMHhjMGE2ODBmNTAwMDAwMDAwLCAweDcwOGZlMGM4MDAwMDAwMDAsCisgICAgMHhhMGY1NDA4ZjAwMDAwMDAwLCAweDEwZGMyMGIyMDAwMDAwMDAsIDB4YzE0YjcwMzAwMDAwMDAwMCwKKyAgICAweDcxNjIxMDBkMDAwMDAwMDAsIDB4YTExOGIwNGEwMDAwMDAwMCwgMHgxMTMxZDA3NzAwMDAwMDAwLAorICAgIDB4MDFlZGYwYzUwMDAwMDAwMCwgMHhiMWM0OTBmODAwMDAwMDAwLCAweDYxYmUzMGJmMDAwMDAwMDAsCisgICAgMHhkMTk3NTA4MjAwMDAwMDAwLCAweDgyOTdlMDYwMDAwMDAwMDAsIDB4MzJiZTgwNWQwMDAwMDAwMCwKKyAgICAweGUyYzQyMDFhMDAwMDAwMDAsIDB4NTJlZDQwMjcwMDAwMDAwMCwgMHg0MjMxNjA5NTAwMDAwMDAwLAorICAgIDB4ZjIxODAwYTgwMDAwMDAwMCwgMHgyMjYyYTBlZjAwMDAwMDAwLCAweDkyNGJjMGQyMDAwMDAwMDAsCisgICAgMHg0M2RjOTA1MDAwMDAwMDAwLCAweGYzZjVmMDZkMDAwMDAwMDAsIDB4MjM4ZjUwMmEwMDAwMDAwMCwKKyAgICAweDkzYTYzMDE3MDAwMDAwMDAsIDB4ODM3YTEwYTUwMDAwMDAwMCwgMHgzMzUzNzA5ODAwMDAwMDAwLAorICAgIDB4ZTMyOWQwZGYwMDAwMDAwMCwgMHg1MzAwYjBlMjAwMDAwMDAwLCAweDA0MmZjMWMxMDAwMDAwMDAsCisgICAgMHhiNDA2YTFmYzAwMDAwMDAwLCAweDY0N2MwMWJiMDAwMDAwMDAsIDB4ZDQ1NTYxODYwMDAwMDAwMCwKKyAgICAweGM0ODk0MTM0MDAwMDAwMDAsIDB4NzRhMDIxMDkwMDAwMDAwMCwgMHhhNGRhODE0ZTAwMDAwMDAwLAorICAgIDB4MTRmM2UxNzMwMDAwMDAwMCwgMHhjNTY0YjFmMTAwMDAwMDAwLCAweDc1NGRkMWNjMDAwMDAwMDAsCisgICAgMHhhNTM3NzE4YjAwMDAwMDAwLCAweDE1MWUxMWI2MDAwMDAwMDAsIDB4MDVjMjMxMDQwMDAwMDAwMCwKKyAgICAweGI1ZWI1MTM5MDAwMDAwMDAsIDB4NjU5MWYxN2UwMDAwMDAwMCwgMHhkNWI4OTE0MzAwMDAwMDAwLAorICAgIDB4ODZiODIxYTEwMDAwMDAwMCwgMHgzNjkxNDE5YzAwMDAwMDAwLCAweGU2ZWJlMWRiMDAwMDAwMDAsCisgICAgMHg1NmMyODFlNjAwMDAwMDAwLCAweDQ2MWVhMTU0MDAwMDAwMDAsIDB4ZjYzN2MxNjkwMDAwMDAwMCwKKyAgICAweDI2NGQ2MTJlMDAwMDAwMDAsIDB4OTY2NDAxMTMwMDAwMDAwMCwgMHg0N2YzNTE5MTAwMDAwMDAwLAorICAgIDB4ZjdkYTMxYWMwMDAwMDAwMCwgMHgyN2EwOTFlYjAwMDAwMDAwLCAweDk3ODlmMWQ2MDAwMDAwMDAsCisgICAgMHg4NzU1ZDE2NDAwMDAwMDAwLCAweDM3N2NiMTU5MDAwMDAwMDAsIDB4ZTcwNjExMWUwMDAwMDAwMCwKKyAgICAweDU3MmY3MTIzMDAwMDAwMDAsIDB4NDk1OGYzNTgwMDAwMDAwMCwgMHhmOTcxOTM2NTAwMDAwMDAwLAorICAgIDB4MjkwYjMzMjIwMDAwMDAwMCwgMHg5OTIyNTMxZjAwMDAwMDAwLCAweDg5ZmU3M2FkMDAwMDAwMDAsCisgICAgMHgzOWQ3MTM5MDAwMDAwMDAwLCAweGU5YWRiM2Q3MDAwMDAwMDAsIDB4NTk4NGQzZWEwMDAwMDAwMCwKKyAgICAweDg4MTM4MzY4MDAwMDAwMDAsIDB4MzgzYWUzNTUwMDAwMDAwMCwgMHhlODQwNDMxMjAwMDAwMDAwLAorICAgIDB4NTg2OTIzMmYwMDAwMDAwMCwgMHg0OGI1MDM5ZDAwMDAwMDAwLCAweGY4OWM2M2EwMDAwMDAwMDAsCisgICAgMHgyOGU2YzNlNzAwMDAwMDAwLCAweDk4Y2ZhM2RhMDAwMDAwMDAsIDB4Y2JjZjEzMzgwMDAwMDAwMCwKKyAgICAweDdiZTY3MzA1MDAwMDAwMDAsIDB4YWI5Y2QzNDIwMDAwMDAwMCwgMHgxYmI1YjM3ZjAwMDAwMDAwLAorICAgIDB4MGI2OTkzY2QwMDAwMDAwMCwgMHhiYjQwZjNmMDAwMDAwMDAwLCAweDZiM2E1M2I3MDAwMDAwMDAsCisgICAgMHhkYjEzMzM4YTAwMDAwMDAwLCAweDBhODQ2MzA4MDAwMDAwMDAsIDB4YmFhZDAzMzUwMDAwMDAwMCwKKyAgICAweDZhZDdhMzcyMDAwMDAwMDAsIDB4ZGFmZWMzNGYwMDAwMDAwMCwgMHhjYTIyZTNmZDAwMDAwMDAwLAorICAgIDB4N2EwYjgzYzAwMDAwMDAwMCwgMHhhYTcxMjM4NzAwMDAwMDAwLCAweDFhNTg0M2JhMDAwMDAwMDAsCisgICAgMHg0ZDc3MzI5OTAwMDAwMDAwLCAweGZkNWU1MmE0MDAwMDAwMDAsIDB4MmQyNGYyZTMwMDAwMDAwMCwKKyAgICAweDlkMGQ5MmRlMDAwMDAwMDAsIDB4OGRkMWIyNmMwMDAwMDAwMCwgMHgzZGY4ZDI1MTAwMDAwMDAwLAorICAgIDB4ZWQ4MjcyMTYwMDAwMDAwMCwgMHg1ZGFiMTIyYjAwMDAwMDAwLCAweDhjM2M0MmE5MDAwMDAwMDAsCisgICAgMHgzYzE1MjI5NDAwMDAwMDAwLCAweGVjNmY4MmQzMDAwMDAwMDAsIDB4NWM0NmUyZWUwMDAwMDAwMCwKKyAgICAweDRjOWFjMjVjMDAwMDAwMDAsIDB4ZmNiM2EyNjEwMDAwMDAwMCwgMHgyY2M5MDIyNjAwMDAwMDAwLAorICAgIDB4OWNlMDYyMWIwMDAwMDAwMCwgMHhjZmUwZDJmOTAwMDAwMDAwLCAweDdmYzliMmM0MDAwMDAwMDAsCisgICAgMHhhZmIzMTI4MzAwMDAwMDAwLCAweDFmOWE3MmJlMDAwMDAwMDAsIDB4MGY0NjUyMGMwMDAwMDAwMCwKKyAgICAweGJmNmYzMjMxMDAwMDAwMDAsIDB4NmYxNTkyNzYwMDAwMDAwMCwgMHhkZjNjZjI0YjAwMDAwMDAwLAorICAgIDB4MGVhYmEyYzkwMDAwMDAwMCwgMHhiZTgyYzJmNDAwMDAwMDAwLCAweDZlZjg2MmIzMDAwMDAwMDAsCisgICAgMHhkZWQxMDI4ZTAwMDAwMDAwLCAweGNlMGQyMjNjMDAwMDAwMDAsIDB4N2UyNDQyMDEwMDAwMDAwMCwKKyAgICAweGFlNWVlMjQ2MDAwMDAwMDAsIDB4MWU3NzgyN2IwMDAwMDAwMCwgMHg5MmIwZTZiMTAwMDAwMDAwLAorICAgIDB4MjI5OTg2OGMwMDAwMDAwMCwgMHhmMmUzMjZjYjAwMDAwMDAwLCAweDQyY2E0NmY2MDAwMDAwMDAsCisgICAgMHg1MjE2NjY0NDAwMDAwMDAwLCAweGUyM2YwNjc5MDAwMDAwMDAsIDB4MzI0NWE2M2UwMDAwMDAwMCwKKyAgICAweDgyNmNjNjAzMDAwMDAwMDAsIDB4NTNmYjk2ODEwMDAwMDAwMCwgMHhlM2QyZjZiYzAwMDAwMDAwLAorICAgIDB4MzNhODU2ZmIwMDAwMDAwMCwgMHg4MzgxMzZjNjAwMDAwMDAwLCAweDkzNWQxNjc0MDAwMDAwMDAsCisgICAgMHgyMzc0NzY0OTAwMDAwMDAwLCAweGYzMGVkNjBlMDAwMDAwMDAsIDB4NDMyN2I2MzMwMDAwMDAwMCwKKyAgICAweDEwMjcwNmQxMDAwMDAwMDAsIDB4YTAwZTY2ZWMwMDAwMDAwMCwgMHg3MDc0YzZhYjAwMDAwMDAwLAorICAgIDB4YzA1ZGE2OTYwMDAwMDAwMCwgMHhkMDgxODYyNDAwMDAwMDAwLCAweDYwYThlNjE5MDAwMDAwMDAsCisgICAgMHhiMGQyNDY1ZTAwMDAwMDAwLCAweDAwZmIyNjYzMDAwMDAwMDAsIDB4ZDE2Yzc2ZTEwMDAwMDAwMCwKKyAgICAweDYxNDUxNmRjMDAwMDAwMDAsIDB4YjEzZmI2OWIwMDAwMDAwMCwgMHgwMTE2ZDZhNjAwMDAwMDAwLAorICAgIDB4MTFjYWY2MTQwMDAwMDAwMCwgMHhhMWUzOTYyOTAwMDAwMDAwLCAweDcxOTkzNjZlMDAwMDAwMDAsCisgICAgMHhjMWIwNTY1MzAwMDAwMDAwLCAweDk2OWYyNzcwMDAwMDAwMDAsIDB4MjZiNjQ3NGQwMDAwMDAwMCwKKyAgICAweGY2Y2NlNzBhMDAwMDAwMDAsIDB4NDZlNTg3MzcwMDAwMDAwMCwgMHg1NjM5YTc4NTAwMDAwMDAwLAorICAgIDB4ZTYxMGM3YjgwMDAwMDAwMCwgMHgzNjZhNjdmZjAwMDAwMDAwLCAweDg2NDMwN2MyMDAwMDAwMDAsCisgICAgMHg1N2Q0NTc0MDAwMDAwMDAwLCAweGU3ZmQzNzdkMDAwMDAwMDAsIDB4Mzc4Nzk3M2EwMDAwMDAwMCwKKyAgICAweDg3YWVmNzA3MDAwMDAwMDAsIDB4OTc3MmQ3YjUwMDAwMDAwMCwgMHgyNzViYjc4ODAwMDAwMDAwLAorICAgIDB4ZjcyMTE3Y2YwMDAwMDAwMCwgMHg0NzA4NzdmMjAwMDAwMDAwLCAweDE0MDhjNzEwMDAwMDAwMDAsCisgICAgMHhhNDIxYTcyZDAwMDAwMDAwLCAweDc0NWIwNzZhMDAwMDAwMDAsIDB4YzQ3MjY3NTcwMDAwMDAwMCwKKyAgICAweGQ0YWU0N2U1MDAwMDAwMDAsIDB4NjQ4NzI3ZDgwMDAwMDAwMCwgMHhiNGZkODc5ZjAwMDAwMDAwLAorICAgIDB4MDRkNGU3YTIwMDAwMDAwMCwgMHhkNTQzYjcyMDAwMDAwMDAwLCAweDY1NmFkNzFkMDAwMDAwMDAsCisgICAgMHhiNTEwNzc1YTAwMDAwMDAwLCAweDA1MzkxNzY3MDAwMDAwMDAsIDB4MTVlNTM3ZDUwMDAwMDAwMCwKKyAgICAweGE1Y2M1N2U4MDAwMDAwMDAsIDB4NzViNmY3YWYwMDAwMDAwMCwgMHhjNTlmOTc5MjAwMDAwMDAwLAorICAgIDB4ZGJlODE1ZTkwMDAwMDAwMCwgMHg2YmMxNzVkNDAwMDAwMDAwLCAweGJiYmJkNTkzMDAwMDAwMDAsCisgICAgMHgwYjkyYjVhZTAwMDAwMDAwLCAweDFiNGU5NTFjMDAwMDAwMDAsIDB4YWI2N2Y1MjEwMDAwMDAwMCwKKyAgICAweDdiMWQ1NTY2MDAwMDAwMDAsIDB4Y2IzNDM1NWIwMDAwMDAwMCwgMHgxYWEzNjVkOTAwMDAwMDAwLAorICAgIDB4YWE4YTA1ZTQwMDAwMDAwMCwgMHg3YWYwYTVhMzAwMDAwMDAwLCAweGNhZDljNTllMDAwMDAwMDAsCisgICAgMHhkYTA1ZTUyYzAwMDAwMDAwLCAweDZhMmM4NTExMDAwMDAwMDAsIDB4YmE1NjI1NTYwMDAwMDAwMCwKKyAgICAweDBhN2Y0NTZiMDAwMDAwMDAsIDB4NTk3ZmY1ODkwMDAwMDAwMCwgMHhlOTU2OTViNDAwMDAwMDAwLAorICAgIDB4MzkyYzM1ZjMwMDAwMDAwMCwgMHg4OTA1NTVjZTAwMDAwMDAwLCAweDk5ZDk3NTdjMDAwMDAwMDAsCisgICAgMHgyOWYwMTU0MTAwMDAwMDAwLCAweGY5OGFiNTA2MDAwMDAwMDAsIDB4NDlhM2Q1M2IwMDAwMDAwMCwKKyAgICAweDk4MzQ4NWI5MDAwMDAwMDAsIDB4MjgxZGU1ODQwMDAwMDAwMCwgMHhmODY3NDVjMzAwMDAwMDAwLAorICAgIDB4NDg0ZTI1ZmUwMDAwMDAwMCwgMHg1ODkyMDU0YzAwMDAwMDAwLCAweGU4YmI2NTcxMDAwMDAwMDAsCisgICAgMHgzOGMxYzUzNjAwMDAwMDAwLCAweDg4ZThhNTBiMDAwMDAwMDAsIDB4ZGZjN2Q0MjgwMDAwMDAwMCwKKyAgICAweDZmZWViNDE1MDAwMDAwMDAsIDB4YmY5NDE0NTIwMDAwMDAwMCwgMHgwZmJkNzQ2ZjAwMDAwMDAwLAorICAgIDB4MWY2MTU0ZGQwMDAwMDAwMCwgMHhhZjQ4MzRlMDAwMDAwMDAwLCAweDdmMzI5NGE3MDAwMDAwMDAsCisgICAgMHhjZjFiZjQ5YTAwMDAwMDAwLCAweDFlOGNhNDE4MDAwMDAwMDAsIDB4YWVhNWM0MjUwMDAwMDAwMCwKKyAgICAweDdlZGY2NDYyMDAwMDAwMDAsIDB4Y2VmNjA0NWYwMDAwMDAwMCwgMHhkZTJhMjRlZDAwMDAwMDAwLAorICAgIDB4NmUwMzQ0ZDAwMDAwMDAwMCwgMHhiZTc5ZTQ5NzAwMDAwMDAwLCAweDBlNTA4NGFhMDAwMDAwMDAsCisgICAgMHg1ZDUwMzQ0ODAwMDAwMDAwLCAweGVkNzk1NDc1MDAwMDAwMDAsIDB4M2QwM2Y0MzIwMDAwMDAwMCwKKyAgICAweDhkMmE5NDBmMDAwMDAwMDAsIDB4OWRmNmI0YmQwMDAwMDAwMCwgMHgyZGRmZDQ4MDAwMDAwMDAwLAorICAgIDB4ZmRhNTc0YzcwMDAwMDAwMCwgMHg0ZDhjMTRmYTAwMDAwMDAwLCAweDljMWI0NDc4MDAwMDAwMDAsCisgICAgMHgyYzMyMjQ0NTAwMDAwMDAwLCAweGZjNDg4NDAyMDAwMDAwMDAsIDB4NGM2MWU0M2YwMDAwMDAwMCwKKyAgICAweDVjYmRjNDhkMDAwMDAwMDAsIDB4ZWM5NGE0YjAwMDAwMDAwMCwgMHgzY2VlMDRmNzAwMDAwMDAwLAorICAgIDB4OGNjNzY0Y2EwMDAwMDAwMH0sCisgICB7MHgwMDAwMDAwMDAwMDAwMDAwLCAweGE1ZDM1Y2NiMDAwMDAwMDAsIDB4MGJhMWM4NGQwMDAwMDAwMCwKKyAgICAweGFlNzI5NDg2MDAwMDAwMDAsIDB4MTY0MjkxOWIwMDAwMDAwMCwgMHhiMzkxY2Q1MDAwMDAwMDAwLAorICAgIDB4MWRlMzU5ZDYwMDAwMDAwMCwgMHhiODMwMDUxZDAwMDAwMDAwLCAweDZkODI1M2VjMDAwMDAwMDAsCisgICAgMHhjODUxMGYyNzAwMDAwMDAwLCAweDY2MjM5YmExMDAwMDAwMDAsIDB4YzNmMGM3NmEwMDAwMDAwMCwKKyAgICAweDdiYzBjMjc3MDAwMDAwMDAsIDB4ZGUxMzllYmMwMDAwMDAwMCwgMHg3MDYxMGEzYTAwMDAwMDAwLAorICAgIDB4ZDViMjU2ZjEwMDAwMDAwMCwgMHg5YjAyZDYwMzAwMDAwMDAwLCAweDNlZDE4YWM4MDAwMDAwMDAsCisgICAgMHg5MGEzMWU0ZTAwMDAwMDAwLCAweDM1NzA0Mjg1MDAwMDAwMDAsIDB4OGQ0MDQ3OTgwMDAwMDAwMCwKKyAgICAweDI4OTMxYjUzMDAwMDAwMDAsIDB4ODZlMThmZDUwMDAwMDAwMCwgMHgyMzMyZDMxZTAwMDAwMDAwLAorICAgIDB4ZjY4MDg1ZWYwMDAwMDAwMCwgMHg1MzUzZDkyNDAwMDAwMDAwLCAweGZkMjE0ZGEyMDAwMDAwMDAsCisgICAgMHg1OGYyMTE2OTAwMDAwMDAwLCAweGUwYzIxNDc0MDAwMDAwMDAsIDB4NDUxMTQ4YmYwMDAwMDAwMCwKKyAgICAweGViNjNkYzM5MDAwMDAwMDAsIDB4NGViMDgwZjIwMDAwMDAwMCwgMHgzNjA1YWMwNzAwMDAwMDAwLAorICAgIDB4OTNkNmYwY2MwMDAwMDAwMCwgMHgzZGE0NjQ0YTAwMDAwMDAwLCAweDk4NzczODgxMDAwMDAwMDAsCisgICAgMHgyMDQ3M2Q5YzAwMDAwMDAwLCAweDg1OTQ2MTU3MDAwMDAwMDAsIDB4MmJlNmY1ZDEwMDAwMDAwMCwKKyAgICAweDhlMzVhOTFhMDAwMDAwMDAsIDB4NWI4N2ZmZWIwMDAwMDAwMCwgMHhmZTU0YTMyMDAwMDAwMDAwLAorICAgIDB4NTAyNjM3YTYwMDAwMDAwMCwgMHhmNWY1NmI2ZDAwMDAwMDAwLCAweDRkYzU2ZTcwMDAwMDAwMDAsCisgICAgMHhlODE2MzJiYjAwMDAwMDAwLCAweDQ2NjRhNjNkMDAwMDAwMDAsIDB4ZTNiN2ZhZjYwMDAwMDAwMCwKKyAgICAweGFkMDc3YTA0MDAwMDAwMDAsIDB4MDhkNDI2Y2YwMDAwMDAwMCwgMHhhNmE2YjI0OTAwMDAwMDAwLAorICAgIDB4MDM3NWVlODIwMDAwMDAwMCwgMHhiYjQ1ZWI5ZjAwMDAwMDAwLCAweDFlOTZiNzU0MDAwMDAwMDAsCisgICAgMHhiMGU0MjNkMjAwMDAwMDAwLCAweDE1Mzc3ZjE5MDAwMDAwMDAsIDB4YzA4NTI5ZTgwMDAwMDAwMCwKKyAgICAweDY1NTY3NTIzMDAwMDAwMDAsIDB4Y2IyNGUxYTUwMDAwMDAwMCwgMHg2ZWY3YmQ2ZTAwMDAwMDAwLAorICAgIDB4ZDZjN2I4NzMwMDAwMDAwMCwgMHg3MzE0ZTRiODAwMDAwMDAwLCAweGRkNjY3MDNlMDAwMDAwMDAsCisgICAgMHg3OGI1MmNmNTAwMDAwMDAwLCAweDZjMGE1ODBmMDAwMDAwMDAsIDB4YzlkOTA0YzQwMDAwMDAwMCwKKyAgICAweDY3YWI5MDQyMDAwMDAwMDAsIDB4YzI3OGNjODkwMDAwMDAwMCwgMHg3YTQ4Yzk5NDAwMDAwMDAwLAorICAgIDB4ZGY5Yjk1NWYwMDAwMDAwMCwgMHg3MWU5MDFkOTAwMDAwMDAwLCAweGQ0M2E1ZDEyMDAwMDAwMDAsCisgICAgMHgwMTg4MGJlMzAwMDAwMDAwLCAweGE0NWI1NzI4MDAwMDAwMDAsIDB4MGEyOWMzYWUwMDAwMDAwMCwKKyAgICAweGFmZmE5ZjY1MDAwMDAwMDAsIDB4MTdjYTlhNzgwMDAwMDAwMCwgMHhiMjE5YzZiMzAwMDAwMDAwLAorICAgIDB4MWM2YjUyMzUwMDAwMDAwMCwgMHhiOWI4MGVmZTAwMDAwMDAwLCAweGY3MDg4ZTBjMDAwMDAwMDAsCisgICAgMHg1MmRiZDJjNzAwMDAwMDAwLCAweGZjYTk0NjQxMDAwMDAwMDAsIDB4NTk3YTFhOGEwMDAwMDAwMCwKKyAgICAweGUxNGExZjk3MDAwMDAwMDAsIDB4NDQ5OTQzNWMwMDAwMDAwMCwgMHhlYWViZDdkYTAwMDAwMDAwLAorICAgIDB4NGYzODhiMTEwMDAwMDAwMCwgMHg5YThhZGRlMDAwMDAwMDAwLCAweDNmNTk4MTJiMDAwMDAwMDAsCisgICAgMHg5MTJiMTVhZDAwMDAwMDAwLCAweDM0Zjg0OTY2MDAwMDAwMDAsIDB4OGNjODRjN2IwMDAwMDAwMCwKKyAgICAweDI5MWIxMGIwMDAwMDAwMDAsIDB4ODc2OTg0MzYwMDAwMDAwMCwgMHgyMmJhZDhmZDAwMDAwMDAwLAorICAgIDB4NWEwZmY0MDgwMDAwMDAwMCwgMHhmZmRjYThjMzAwMDAwMDAwLCAweDUxYWUzYzQ1MDAwMDAwMDAsCisgICAgMHhmNDdkNjA4ZTAwMDAwMDAwLCAweDRjNGQ2NTkzMDAwMDAwMDAsIDB4ZTk5ZTM5NTgwMDAwMDAwMCwKKyAgICAweDQ3ZWNhZGRlMDAwMDAwMDAsIDB4ZTIzZmYxMTUwMDAwMDAwMCwgMHgzNzhkYTdlNDAwMDAwMDAwLAorICAgIDB4OTI1ZWZiMmYwMDAwMDAwMCwgMHgzYzJjNmZhOTAwMDAwMDAwLCAweDk5ZmYzMzYyMDAwMDAwMDAsCisgICAgMHgyMWNmMzY3ZjAwMDAwMDAwLCAweDg0MWM2YWI0MDAwMDAwMDAsIDB4MmE2ZWZlMzIwMDAwMDAwMCwKKyAgICAweDhmYmRhMmY5MDAwMDAwMDAsIDB4YzEwZDIyMGIwMDAwMDAwMCwgMHg2NGRlN2VjMDAwMDAwMDAwLAorICAgIDB4Y2FhY2VhNDYwMDAwMDAwMCwgMHg2ZjdmYjY4ZDAwMDAwMDAwLCAweGQ3NGZiMzkwMDAwMDAwMDAsCisgICAgMHg3MjljZWY1YjAwMDAwMDAwLCAweGRjZWU3YmRkMDAwMDAwMDAsIDB4NzkzZDI3MTYwMDAwMDAwMCwKKyAgICAweGFjOGY3MWU3MDAwMDAwMDAsIDB4MDk1YzJkMmMwMDAwMDAwMCwgMHhhNzJlYjlhYTAwMDAwMDAwLAorICAgIDB4MDJmZGU1NjEwMDAwMDAwMCwgMHhiYWNkZTA3YzAwMDAwMDAwLCAweDFmMWViY2I3MDAwMDAwMDAsCisgICAgMHhiMTZjMjgzMTAwMDAwMDAwLCAweDE0YmY3NGZhMDAwMDAwMDAsIDB4ZDgxNGIwMWUwMDAwMDAwMCwKKyAgICAweDdkYzdlY2Q1MDAwMDAwMDAsIDB4ZDNiNTc4NTMwMDAwMDAwMCwgMHg3NjY2MjQ5ODAwMDAwMDAwLAorICAgIDB4Y2U1NjIxODUwMDAwMDAwMCwgMHg2Yjg1N2Q0ZTAwMDAwMDAwLCAweGM1ZjdlOWM4MDAwMDAwMDAsCisgICAgMHg2MDI0YjUwMzAwMDAwMDAwLCAweGI1OTZlM2YyMDAwMDAwMDAsIDB4MTA0NWJmMzkwMDAwMDAwMCwKKyAgICAweGJlMzcyYmJmMDAwMDAwMDAsIDB4MWJlNDc3NzQwMDAwMDAwMCwgMHhhM2Q0NzI2OTAwMDAwMDAwLAorICAgIDB4MDYwNzJlYTIwMDAwMDAwMCwgMHhhODc1YmEyNDAwMDAwMDAwLCAweDBkYTZlNmVmMDAwMDAwMDAsCisgICAgMHg0MzE2NjYxZDAwMDAwMDAwLCAweGU2YzUzYWQ2MDAwMDAwMDAsIDB4NDhiN2FlNTAwMDAwMDAwMCwKKyAgICAweGVkNjRmMjliMDAwMDAwMDAsIDB4NTU1NGY3ODYwMDAwMDAwMCwgMHhmMDg3YWI0ZDAwMDAwMDAwLAorICAgIDB4NWVmNTNmY2IwMDAwMDAwMCwgMHhmYjI2NjMwMDAwMDAwMDAwLCAweDJlOTQzNWYxMDAwMDAwMDAsCisgICAgMHg4YjQ3NjkzYTAwMDAwMDAwLCAweDI1MzVmZGJjMDAwMDAwMDAsIDB4ODBlNmExNzcwMDAwMDAwMCwKKyAgICAweDM4ZDZhNDZhMDAwMDAwMDAsIDB4OWQwNWY4YTEwMDAwMDAwMCwgMHgzMzc3NmMyNzAwMDAwMDAwLAorICAgIDB4OTZhNDMwZWMwMDAwMDAwMCwgMHhlZTExMWMxOTAwMDAwMDAwLCAweDRiYzI0MGQyMDAwMDAwMDAsCisgICAgMHhlNWIwZDQ1NDAwMDAwMDAwLCAweDQwNjM4ODlmMDAwMDAwMDAsIDB4Zjg1MzhkODIwMDAwMDAwMCwKKyAgICAweDVkODBkMTQ5MDAwMDAwMDAsIDB4ZjNmMjQ1Y2YwMDAwMDAwMCwgMHg1NjIxMTkwNDAwMDAwMDAwLAorICAgIDB4ODM5MzRmZjUwMDAwMDAwMCwgMHgyNjQwMTMzZTAwMDAwMDAwLCAweDg4MzI4N2I4MDAwMDAwMDAsCisgICAgMHgyZGUxZGI3MzAwMDAwMDAwLCAweDk1ZDFkZTZlMDAwMDAwMDAsIDB4MzAwMjgyYTUwMDAwMDAwMCwKKyAgICAweDllNzAxNjIzMDAwMDAwMDAsIDB4M2JhMzRhZTgwMDAwMDAwMCwgMHg3NTEzY2ExYTAwMDAwMDAwLAorICAgIDB4ZDBjMDk2ZDEwMDAwMDAwMCwgMHg3ZWIyMDI1NzAwMDAwMDAwLCAweGRiNjE1ZTljMDAwMDAwMDAsCisgICAgMHg2MzUxNWI4MTAwMDAwMDAwLCAweGM2ODIwNzRhMDAwMDAwMDAsIDB4NjhmMDkzY2MwMDAwMDAwMCwKKyAgICAweGNkMjNjZjA3MDAwMDAwMDAsIDB4MTg5MTk5ZjYwMDAwMDAwMCwgMHhiZDQyYzUzZDAwMDAwMDAwLAorICAgIDB4MTMzMDUxYmIwMDAwMDAwMCwgMHhiNmUzMGQ3MDAwMDAwMDAwLCAweDBlZDMwODZkMDAwMDAwMDAsCisgICAgMHhhYjAwNTRhNjAwMDAwMDAwLCAweDA1NzJjMDIwMDAwMDAwMDAsIDB4YTBhMTljZWIwMDAwMDAwMCwKKyAgICAweGI0MWVlODExMDAwMDAwMDAsIDB4MTFjZGI0ZGEwMDAwMDAwMCwgMHhiZmJmMjA1YzAwMDAwMDAwLAorICAgIDB4MWE2YzdjOTcwMDAwMDAwMCwgMHhhMjVjNzk4YTAwMDAwMDAwLCAweDA3OGYyNTQxMDAwMDAwMDAsCisgICAgMHhhOWZkYjFjNzAwMDAwMDAwLCAweDBjMmVlZDBjMDAwMDAwMDAsIDB4ZDk5Y2JiZmQwMDAwMDAwMCwKKyAgICAweDdjNGZlNzM2MDAwMDAwMDAsIDB4ZDIzZDczYjAwMDAwMDAwMCwgMHg3N2VlMmY3YjAwMDAwMDAwLAorICAgIDB4Y2ZkZTJhNjYwMDAwMDAwMCwgMHg2YTBkNzZhZDAwMDAwMDAwLCAweGM0N2ZlMjJiMDAwMDAwMDAsCisgICAgMHg2MWFjYmVlMDAwMDAwMDAwLCAweDJmMWMzZTEyMDAwMDAwMDAsIDB4OGFjZjYyZDkwMDAwMDAwMCwKKyAgICAweDI0YmRmNjVmMDAwMDAwMDAsIDB4ODE2ZWFhOTQwMDAwMDAwMCwgMHgzOTVlYWY4OTAwMDAwMDAwLAorICAgIDB4OWM4ZGYzNDIwMDAwMDAwMCwgMHgzMmZmNjdjNDAwMDAwMDAwLCAweDk3MmMzYjBmMDAwMDAwMDAsCisgICAgMHg0MjllNmRmZTAwMDAwMDAwLCAweGU3NGQzMTM1MDAwMDAwMDAsIDB4NDkzZmE1YjMwMDAwMDAwMCwKKyAgICAweGVjZWNmOTc4MDAwMDAwMDAsIDB4NTRkY2ZjNjUwMDAwMDAwMCwgMHhmMTBmYTBhZTAwMDAwMDAwLAorICAgIDB4NWY3ZDM0MjgwMDAwMDAwMCwgMHhmYWFlNjhlMzAwMDAwMDAwLCAweDgyMWI0NDE2MDAwMDAwMDAsCisgICAgMHgyN2M4MThkZDAwMDAwMDAwLCAweDg5YmE4YzViMDAwMDAwMDAsIDB4MmM2OWQwOTAwMDAwMDAwMCwKKyAgICAweDk0NTlkNThkMDAwMDAwMDAsIDB4MzE4YTg5NDYwMDAwMDAwMCwgMHg5ZmY4MWRjMDAwMDAwMDAwLAorICAgIDB4M2EyYjQxMGIwMDAwMDAwMCwgMHhlZjk5MTdmYTAwMDAwMDAwLCAweDRhNGE0YjMxMDAwMDAwMDAsCisgICAgMHhlNDM4ZGZiNzAwMDAwMDAwLCAweDQxZWI4MzdjMDAwMDAwMDAsIDB4ZjlkYjg2NjEwMDAwMDAwMCwKKyAgICAweDVjMDhkYWFhMDAwMDAwMDAsIDB4ZjI3YTRlMmMwMDAwMDAwMCwgMHg1N2E5MTJlNzAwMDAwMDAwLAorICAgIDB4MTkxOTkyMTUwMDAwMDAwMCwgMHhiY2NhY2VkZTAwMDAwMDAwLCAweDEyYjg1YTU4MDAwMDAwMDAsCisgICAgMHhiNzZiMDY5MzAwMDAwMDAwLCAweDBmNWIwMzhlMDAwMDAwMDAsIDB4YWE4ODVmNDUwMDAwMDAwMCwKKyAgICAweDA0ZmFjYmMzMDAwMDAwMDAsIDB4YTEyOTk3MDgwMDAwMDAwMCwgMHg3NDliYzFmOTAwMDAwMDAwLAorICAgIDB4ZDE0ODlkMzIwMDAwMDAwMCwgMHg3ZjNhMDliNDAwMDAwMDAwLCAweGRhZTk1NTdmMDAwMDAwMDAsCisgICAgMHg2MmQ5NTA2MjAwMDAwMDAwLCAweGM3MGEwY2E5MDAwMDAwMDAsIDB4Njk3ODk4MmYwMDAwMDAwMCwKKyAgICAweGNjYWJjNGU0MDAwMDAwMDB9LAorICAgezB4MDAwMDAwMDAwMDAwMDAwMCwgMHhiNDBiNzdhNjAwMDAwMDAwLCAweDI5MTE5Zjk3MDAwMDAwMDAsCisgICAgMHg5ZDFhZTgzMTAwMDAwMDAwLCAweDEzMjQ0ZmY0MDAwMDAwMDAsIDB4YTcyZjM4NTIwMDAwMDAwMCwKKyAgICAweDNhMzVkMDYzMDAwMDAwMDAsIDB4OGUzZWE3YzUwMDAwMDAwMCwgMHg2NzRlZWYzMzAwMDAwMDAwLAorICAgIDB4ZDM0NTk4OTUwMDAwMDAwMCwgMHg0ZTVmNzBhNDAwMDAwMDAwLCAweGZhNTQwNzAyMDAwMDAwMDAsCisgICAgMHg3NDZhYTBjNzAwMDAwMDAwLCAweGMwNjFkNzYxMDAwMDAwMDAsIDB4NWQ3YjNmNTAwMDAwMDAwMCwKKyAgICAweGU5NzA0OGY2MDAwMDAwMDAsIDB4Y2U5Y2RlNjcwMDAwMDAwMCwgMHg3YTk3YTljMTAwMDAwMDAwLAorICAgIDB4ZTc4ZDQxZjAwMDAwMDAwMCwgMHg1Mzg2MzY1NjAwMDAwMDAwLCAweGRkYjg5MTkzMDAwMDAwMDAsCisgICAgMHg2OWIzZTYzNTAwMDAwMDAwLCAweGY0YTkwZTA0MDAwMDAwMDAsIDB4NDBhMjc5YTIwMDAwMDAwMCwKKyAgICAweGE5ZDIzMTU0MDAwMDAwMDAsIDB4MWRkOTQ2ZjIwMDAwMDAwMCwgMHg4MGMzYWVjMzAwMDAwMDAwLAorICAgIDB4MzRjOGQ5NjUwMDAwMDAwMCwgMHhiYWY2N2VhMDAwMDAwMDAwLCAweDBlZmQwOTA2MDAwMDAwMDAsCisgICAgMHg5M2U3ZTEzNzAwMDAwMDAwLCAweDI3ZWM5NjkxMDAwMDAwMDAsIDB4OWMzOWJkY2YwMDAwMDAwMCwKKyAgICAweDI4MzJjYTY5MDAwMDAwMDAsIDB4YjUyODIyNTgwMDAwMDAwMCwgMHgwMTIzNTVmZTAwMDAwMDAwLAorICAgIDB4OGYxZGYyM2IwMDAwMDAwMCwgMHgzYjE2ODU5ZDAwMDAwMDAwLCAweGE2MGM2ZGFjMDAwMDAwMDAsCisgICAgMHgxMjA3MWEwYTAwMDAwMDAwLCAweGZiNzc1MmZjMDAwMDAwMDAsIDB4NGY3YzI1NWEwMDAwMDAwMCwKKyAgICAweGQyNjZjZDZiMDAwMDAwMDAsIDB4NjY2ZGJhY2QwMDAwMDAwMCwgMHhlODUzMWQwODAwMDAwMDAwLAorICAgIDB4NWM1ODZhYWUwMDAwMDAwMCwgMHhjMTQyODI5ZjAwMDAwMDAwLCAweDc1NDlmNTM5MDAwMDAwMDAsCisgICAgMHg1MmE1NjNhODAwMDAwMDAwLCAweGU2YWUxNDBlMDAwMDAwMDAsIDB4N2JiNGZjM2YwMDAwMDAwMCwKKyAgICAweGNmYmY4Yjk5MDAwMDAwMDAsIDB4NDE4MTJjNWMwMDAwMDAwMCwgMHhmNThhNWJmYTAwMDAwMDAwLAorICAgIDB4Njg5MGIzY2IwMDAwMDAwMCwgMHhkYzliYzQ2ZDAwMDAwMDAwLCAweDM1ZWI4YzliMDAwMDAwMDAsCisgICAgMHg4MWUwZmIzZDAwMDAwMDAwLCAweDFjZmExMzBjMDAwMDAwMDAsIDB4YThmMTY0YWEwMDAwMDAwMCwKKyAgICAweDI2Y2ZjMzZmMDAwMDAwMDAsIDB4OTJjNGI0YzkwMDAwMDAwMCwgMHgwZmRlNWNmODAwMDAwMDAwLAorICAgIDB4YmJkNTJiNWUwMDAwMDAwMCwgMHg3OTc1MGI0NDAwMDAwMDAwLCAweGNkN2U3Y2UyMDAwMDAwMDAsCisgICAgMHg1MDY0OTRkMzAwMDAwMDAwLCAweGU0NmZlMzc1MDAwMDAwMDAsIDB4NmE1MTQ0YjAwMDAwMDAwMCwKKyAgICAweGRlNWEzMzE2MDAwMDAwMDAsIDB4NDM0MGRiMjcwMDAwMDAwMCwgMHhmNzRiYWM4MTAwMDAwMDAwLAorICAgIDB4MWUzYmU0NzcwMDAwMDAwMCwgMHhhYTMwOTNkMTAwMDAwMDAwLCAweDM3MmE3YmUwMDAwMDAwMDAsCisgICAgMHg4MzIxMGM0NjAwMDAwMDAwLCAweDBkMWZhYjgzMDAwMDAwMDAsIDB4YjkxNGRjMjUwMDAwMDAwMCwKKyAgICAweDI0MGUzNDE0MDAwMDAwMDAsIDB4OTAwNTQzYjIwMDAwMDAwMCwgMHhiN2U5ZDUyMzAwMDAwMDAwLAorICAgIDB4MDNlMmEyODUwMDAwMDAwMCwgMHg5ZWY4NGFiNDAwMDAwMDAwLCAweDJhZjMzZDEyMDAwMDAwMDAsCisgICAgMHhhNGNkOWFkNzAwMDAwMDAwLCAweDEwYzZlZDcxMDAwMDAwMDAsIDB4OGRkYzA1NDAwMDAwMDAwMCwKKyAgICAweDM5ZDc3MmU2MDAwMDAwMDAsIDB4ZDBhNzNhMTAwMDAwMDAwMCwgMHg2NGFjNGRiNjAwMDAwMDAwLAorICAgIDB4ZjliNmE1ODcwMDAwMDAwMCwgMHg0ZGJkZDIyMTAwMDAwMDAwLCAweGMzODM3NWU0MDAwMDAwMDAsCisgICAgMHg3Nzg4MDI0MjAwMDAwMDAwLCAweGVhOTJlYTczMDAwMDAwMDAsIDB4NWU5OTlkZDUwMDAwMDAwMCwKKyAgICAweGU1NGNiNjhiMDAwMDAwMDAsIDB4NTE0N2MxMmQwMDAwMDAwMCwgMHhjYzVkMjkxYzAwMDAwMDAwLAorICAgIDB4Nzg1NjVlYmEwMDAwMDAwMCwgMHhmNjY4Zjk3ZjAwMDAwMDAwLCAweDQyNjM4ZWQ5MDAwMDAwMDAsCisgICAgMHhkZjc5NjZlODAwMDAwMDAwLCAweDZiNzIxMTRlMDAwMDAwMDAsIDB4ODIwMjU5YjgwMDAwMDAwMCwKKyAgICAweDM2MDkyZTFlMDAwMDAwMDAsIDB4YWIxM2M2MmYwMDAwMDAwMCwgMHgxZjE4YjE4OTAwMDAwMDAwLAorICAgIDB4OTEyNjE2NGMwMDAwMDAwMCwgMHgyNTJkNjFlYTAwMDAwMDAwLCAweGI4Mzc4OWRiMDAwMDAwMDAsCisgICAgMHgwYzNjZmU3ZDAwMDAwMDAwLCAweDJiZDA2OGVjMDAwMDAwMDAsIDB4OWZkYjFmNGEwMDAwMDAwMCwKKyAgICAweDAyYzFmNzdiMDAwMDAwMDAsIDB4YjZjYTgwZGQwMDAwMDAwMCwgMHgzOGY0MjcxODAwMDAwMDAwLAorICAgIDB4OGNmZjUwYmUwMDAwMDAwMCwgMHgxMWU1Yjg4ZjAwMDAwMDAwLCAweGE1ZWVjZjI5MDAwMDAwMDAsCisgICAgMHg0YzllODdkZjAwMDAwMDAwLCAweGY4OTVmMDc5MDAwMDAwMDAsIDB4NjU4ZjE4NDgwMDAwMDAwMCwKKyAgICAweGQxODQ2ZmVlMDAwMDAwMDAsIDB4NWZiYWM4MmIwMDAwMDAwMCwgMHhlYmIxYmY4ZDAwMDAwMDAwLAorICAgIDB4NzZhYjU3YmMwMDAwMDAwMCwgMHhjMmEwMjAxYTAwMDAwMDAwLCAweGYyZWExNjg4MDAwMDAwMDAsCisgICAgMHg0NmUxNjEyZTAwMDAwMDAwLCAweGRiZmI4OTFmMDAwMDAwMDAsIDB4NmZmMGZlYjkwMDAwMDAwMCwKKyAgICAweGUxY2U1OTdjMDAwMDAwMDAsIDB4NTVjNTJlZGEwMDAwMDAwMCwgMHhjOGRmYzZlYjAwMDAwMDAwLAorICAgIDB4N2NkNGIxNGQwMDAwMDAwMCwgMHg5NWE0ZjliYjAwMDAwMDAwLCAweDIxYWY4ZTFkMDAwMDAwMDAsCisgICAgMHhiY2I1NjYyYzAwMDAwMDAwLCAweDA4YmUxMThhMDAwMDAwMDAsIDB4ODY4MGI2NGYwMDAwMDAwMCwKKyAgICAweDMyOGJjMWU5MDAwMDAwMDAsIDB4YWY5MTI5ZDgwMDAwMDAwMCwgMHgxYjlhNWU3ZTAwMDAwMDAwLAorICAgIDB4M2M3NmM4ZWYwMDAwMDAwMCwgMHg4ODdkYmY0OTAwMDAwMDAwLCAweDE1Njc1Nzc4MDAwMDAwMDAsCisgICAgMHhhMTZjMjBkZTAwMDAwMDAwLCAweDJmNTI4NzFiMDAwMDAwMDAsIDB4OWI1OWYwYmQwMDAwMDAwMCwKKyAgICAweDA2NDMxODhjMDAwMDAwMDAsIDB4YjI0ODZmMmEwMDAwMDAwMCwgMHg1YjM4MjdkYzAwMDAwMDAwLAorICAgIDB4ZWYzMzUwN2EwMDAwMDAwMCwgMHg3MjI5Yjg0YjAwMDAwMDAwLCAweGM2MjJjZmVkMDAwMDAwMDAsCisgICAgMHg0ODFjNjgyODAwMDAwMDAwLCAweGZjMTcxZjhlMDAwMDAwMDAsIDB4NjEwZGY3YmYwMDAwMDAwMCwKKyAgICAweGQ1MDY4MDE5MDAwMDAwMDAsIDB4NmVkM2FiNDcwMDAwMDAwMCwgMHhkYWQ4ZGNlMTAwMDAwMDAwLAorICAgIDB4NDdjMjM0ZDAwMDAwMDAwMCwgMHhmM2M5NDM3NjAwMDAwMDAwLCAweDdkZjdlNGIzMDAwMDAwMDAsCisgICAgMHhjOWZjOTMxNTAwMDAwMDAwLCAweDU0ZTY3YjI0MDAwMDAwMDAsIDB4ZTBlZDBjODIwMDAwMDAwMCwKKyAgICAweDA5OWQ0NDc0MDAwMDAwMDAsIDB4YmQ5NjMzZDIwMDAwMDAwMCwgMHgyMDhjZGJlMzAwMDAwMDAwLAorICAgIDB4OTQ4N2FjNDUwMDAwMDAwMCwgMHgxYWI5MGI4MDAwMDAwMDAwLCAweGFlYjI3YzI2MDAwMDAwMDAsCisgICAgMHgzM2E4OTQxNzAwMDAwMDAwLCAweDg3YTNlM2IxMDAwMDAwMDAsIDB4YTA0Zjc1MjAwMDAwMDAwMCwKKyAgICAweDE0NDQwMjg2MDAwMDAwMDAsIDB4ODk1ZWVhYjcwMDAwMDAwMCwgMHgzZDU1OWQxMTAwMDAwMDAwLAorICAgIDB4YjM2YjNhZDQwMDAwMDAwMCwgMHgwNzYwNGQ3MjAwMDAwMDAwLCAweDlhN2FhNTQzMDAwMDAwMDAsCisgICAgMHgyZTcxZDJlNTAwMDAwMDAwLCAweGM3MDE5YTEzMDAwMDAwMDAsIDB4NzMwYWVkYjUwMDAwMDAwMCwKKyAgICAweGVlMTAwNTg0MDAwMDAwMDAsIDB4NWExYjcyMjIwMDAwMDAwMCwgMHhkNDI1ZDVlNzAwMDAwMDAwLAorICAgIDB4NjAyZWEyNDEwMDAwMDAwMCwgMHhmZDM0NGE3MDAwMDAwMDAwLCAweDQ5M2YzZGQ2MDAwMDAwMDAsCisgICAgMHg4YjlmMWRjYzAwMDAwMDAwLCAweDNmOTQ2YTZhMDAwMDAwMDAsIDB4YTI4ZTgyNWIwMDAwMDAwMCwKKyAgICAweDE2ODVmNWZkMDAwMDAwMDAsIDB4OThiYjUyMzgwMDAwMDAwMCwgMHgyY2IwMjU5ZTAwMDAwMDAwLAorICAgIDB4YjFhYWNkYWYwMDAwMDAwMCwgMHgwNWExYmEwOTAwMDAwMDAwLCAweGVjZDFmMmZmMDAwMDAwMDAsCisgICAgMHg1OGRhODU1OTAwMDAwMDAwLCAweGM1YzA2ZDY4MDAwMDAwMDAsIDB4NzFjYjFhY2UwMDAwMDAwMCwKKyAgICAweGZmZjViZDBiMDAwMDAwMDAsIDB4NGJmZWNhYWQwMDAwMDAwMCwgMHhkNmU0MjI5YzAwMDAwMDAwLAorICAgIDB4NjJlZjU1M2EwMDAwMDAwMCwgMHg0NTAzYzNhYjAwMDAwMDAwLCAweGYxMDhiNDBkMDAwMDAwMDAsCisgICAgMHg2YzEyNWMzYzAwMDAwMDAwLCAweGQ4MTkyYjlhMDAwMDAwMDAsIDB4NTYyNzhjNWYwMDAwMDAwMCwKKyAgICAweGUyMmNmYmY5MDAwMDAwMDAsIDB4N2YzNjEzYzgwMDAwMDAwMCwgMHhjYjNkNjQ2ZTAwMDAwMDAwLAorICAgIDB4MjI0ZDJjOTgwMDAwMDAwMCwgMHg5NjQ2NWIzZTAwMDAwMDAwLCAweDBiNWNiMzBmMDAwMDAwMDAsCisgICAgMHhiZjU3YzRhOTAwMDAwMDAwLCAweDMxNjk2MzZjMDAwMDAwMDAsIDB4ODU2MjE0Y2EwMDAwMDAwMCwKKyAgICAweDE4NzhmY2ZiMDAwMDAwMDAsIDB4YWM3MzhiNWQwMDAwMDAwMCwgMHgxN2E2YTAwMzAwMDAwMDAwLAorICAgIDB4YTNhZGQ3YTUwMDAwMDAwMCwgMHgzZWI3M2Y5NDAwMDAwMDAwLCAweDhhYmM0ODMyMDAwMDAwMDAsCisgICAgMHgwNDgyZWZmNzAwMDAwMDAwLCAweGIwODk5ODUxMDAwMDAwMDAsIDB4MmQ5MzcwNjAwMDAwMDAwMCwKKyAgICAweDk5OTgwN2M2MDAwMDAwMDAsIDB4NzBlODRmMzAwMDAwMDAwMCwgMHhjNGUzMzg5NjAwMDAwMDAwLAorICAgIDB4NTlmOWQwYTcwMDAwMDAwMCwgMHhlZGYyYTcwMTAwMDAwMDAwLCAweDYzY2MwMGM0MDAwMDAwMDAsCisgICAgMHhkN2M3Nzc2MjAwMDAwMDAwLCAweDRhZGQ5ZjUzMDAwMDAwMDAsIDB4ZmVkNmU4ZjUwMDAwMDAwMCwKKyAgICAweGQ5M2E3ZTY0MDAwMDAwMDAsIDB4NmQzMTA5YzIwMDAwMDAwMCwgMHhmMDJiZTFmMzAwMDAwMDAwLAorICAgIDB4NDQyMDk2NTUwMDAwMDAwMCwgMHhjYTFlMzE5MDAwMDAwMDAwLCAweDdlMTU0NjM2MDAwMDAwMDAsCisgICAgMHhlMzBmYWUwNzAwMDAwMDAwLCAweDU3MDRkOWExMDAwMDAwMDAsIDB4YmU3NDkxNTcwMDAwMDAwMCwKKyAgICAweDBhN2ZlNmYxMDAwMDAwMDAsIDB4OTc2NTBlYzAwMDAwMDAwMCwgMHgyMzZlNzk2NjAwMDAwMDAwLAorICAgIDB4YWQ1MGRlYTMwMDAwMDAwMCwgMHgxOTViYTkwNTAwMDAwMDAwLCAweDg0NDE0MTM0MDAwMDAwMDAsCisgICAgMHgzMDRhMzY5MjAwMDAwMDAwfSwKKyAgIHsweDAwMDAwMDAwMDAwMDAwMDAsIDB4OWUwMGFhY2MwMDAwMDAwMCwgMHg3ZDA3MjU0MjAwMDAwMDAwLAorICAgIDB4ZTMwNzhmOGUwMDAwMDAwMCwgMHhmYTBlNGE4NDAwMDAwMDAwLCAweDY0MGVlMDQ4MDAwMDAwMDAsCisgICAgMHg4NzA5NmZjNjAwMDAwMDAwLCAweDE5MDljNTBhMDAwMDAwMDAsIDB4YjUxYmU1ZDMwMDAwMDAwMCwKKyAgICAweDJiMWI0ZjFmMDAwMDAwMDAsIDB4YzgxY2MwOTEwMDAwMDAwMCwgMHg1NjFjNmE1ZDAwMDAwMDAwLAorICAgIDB4NGYxNWFmNTcwMDAwMDAwMCwgMHhkMTE1MDU5YjAwMDAwMDAwLCAweDMyMTI4YTE1MDAwMDAwMDAsCisgICAgMHhhYzEyMjBkOTAwMDAwMDAwLCAweDJiMzFiYjdjMDAwMDAwMDAsIDB4YjUzMTExYjAwMDAwMDAwMCwKKyAgICAweDU2MzY5ZTNlMDAwMDAwMDAsIDB4YzgzNjM0ZjIwMDAwMDAwMCwgMHhkMTNmZjFmODAwMDAwMDAwLAorICAgIDB4NGYzZjViMzQwMDAwMDAwMCwgMHhhYzM4ZDRiYTAwMDAwMDAwLCAweDMyMzg3ZTc2MDAwMDAwMDAsCisgICAgMHg5ZTJhNWVhZjAwMDAwMDAwLCAweDAwMmFmNDYzMDAwMDAwMDAsIDB4ZTMyZDdiZWQwMDAwMDAwMCwKKyAgICAweDdkMmRkMTIxMDAwMDAwMDAsIDB4NjQyNDE0MmIwMDAwMDAwMCwgMHhmYTI0YmVlNzAwMDAwMDAwLAorICAgIDB4MTkyMzMxNjkwMDAwMDAwMCwgMHg4NzIzOWJhNTAwMDAwMDAwLCAweDU2NjI3NmY5MDAwMDAwMDAsCisgICAgMHhjODYyZGMzNTAwMDAwMDAwLCAweDJiNjU1M2JiMDAwMDAwMDAsIDB4YjU2NWY5NzcwMDAwMDAwMCwKKyAgICAweGFjNmMzYzdkMDAwMDAwMDAsIDB4MzI2Yzk2YjEwMDAwMDAwMCwgMHhkMTZiMTkzZjAwMDAwMDAwLAorICAgIDB4NGY2YmIzZjMwMDAwMDAwMCwgMHhlMzc5OTMyYTAwMDAwMDAwLCAweDdkNzkzOWU2MDAwMDAwMDAsCisgICAgMHg5ZTdlYjY2ODAwMDAwMDAwLCAweDAwN2UxY2E0MDAwMDAwMDAsIDB4MTk3N2Q5YWUwMDAwMDAwMCwKKyAgICAweDg3Nzc3MzYyMDAwMDAwMDAsIDB4NjQ3MGZjZWMwMDAwMDAwMCwgMHhmYTcwNTYyMDAwMDAwMDAwLAorICAgIDB4N2Q1M2NkODUwMDAwMDAwMCwgMHhlMzUzNjc0OTAwMDAwMDAwLCAweDAwNTRlOGM3MDAwMDAwMDAsCisgICAgMHg5ZTU0NDIwYjAwMDAwMDAwLCAweDg3NWQ4NzAxMDAwMDAwMDAsIDB4MTk1ZDJkY2QwMDAwMDAwMCwKKyAgICAweGZhNWFhMjQzMDAwMDAwMDAsIDB4NjQ1YTA4OGYwMDAwMDAwMCwgMHhjODQ4Mjg1NjAwMDAwMDAwLAorICAgIDB4NTY0ODgyOWEwMDAwMDAwMCwgMHhiNTRmMGQxNDAwMDAwMDAwLCAweDJiNGZhN2Q4MDAwMDAwMDAsCisgICAgMHgzMjQ2NjJkMjAwMDAwMDAwLCAweGFjNDZjODFlMDAwMDAwMDAsIDB4NGY0MTQ3OTAwMDAwMDAwMCwKKyAgICAweGQxNDFlZDVjMDAwMDAwMDAsIDB4ZWRjMjlkMjkwMDAwMDAwMCwgMHg3M2MyMzdlNTAwMDAwMDAwLAorICAgIDB4OTBjNWI4NmIwMDAwMDAwMCwgMHgwZWM1MTJhNzAwMDAwMDAwLCAweDE3Y2NkN2FkMDAwMDAwMDAsCisgICAgMHg4OWNjN2Q2MTAwMDAwMDAwLCAweDZhY2JmMmVmMDAwMDAwMDAsIDB4ZjRjYjU4MjMwMDAwMDAwMCwKKyAgICAweDU4ZDk3OGZhMDAwMDAwMDAsIDB4YzZkOWQyMzYwMDAwMDAwMCwgMHgyNWRlNWRiODAwMDAwMDAwLAorICAgIDB4YmJkZWY3NzQwMDAwMDAwMCwgMHhhMmQ3MzI3ZTAwMDAwMDAwLCAweDNjZDc5OGIyMDAwMDAwMDAsCisgICAgMHhkZmQwMTczYzAwMDAwMDAwLCAweDQxZDBiZGYwMDAwMDAwMDAsIDB4YzZmMzI2NTUwMDAwMDAwMCwKKyAgICAweDU4ZjM4Yzk5MDAwMDAwMDAsIDB4YmJmNDAzMTcwMDAwMDAwMCwgMHgyNWY0YTlkYjAwMDAwMDAwLAorICAgIDB4M2NmZDZjZDEwMDAwMDAwMCwgMHhhMmZkYzYxZDAwMDAwMDAwLCAweDQxZmE0OTkzMDAwMDAwMDAsCisgICAgMHhkZmZhZTM1ZjAwMDAwMDAwLCAweDczZThjMzg2MDAwMDAwMDAsIDB4ZWRlODY5NGEwMDAwMDAwMCwKKyAgICAweDBlZWZlNmM0MDAwMDAwMDAsIDB4OTBlZjRjMDgwMDAwMDAwMCwgMHg4OWU2ODkwMjAwMDAwMDAwLAorICAgIDB4MTdlNjIzY2UwMDAwMDAwMCwgMHhmNGUxYWM0MDAwMDAwMDAwLCAweDZhZTEwNjhjMDAwMDAwMDAsCisgICAgMHhiYmEwZWJkMDAwMDAwMDAwLCAweDI1YTA0MTFjMDAwMDAwMDAsIDB4YzZhN2NlOTIwMDAwMDAwMCwKKyAgICAweDU4YTc2NDVlMDAwMDAwMDAsIDB4NDFhZWExNTQwMDAwMDAwMCwgMHhkZmFlMGI5ODAwMDAwMDAwLAorICAgIDB4M2NhOTg0MTYwMDAwMDAwMCwgMHhhMmE5MmVkYTAwMDAwMDAwLCAweDBlYmIwZTAzMDAwMDAwMDAsCisgICAgMHg5MGJiYTRjZjAwMDAwMDAwLCAweDczYmMyYjQxMDAwMDAwMDAsIDB4ZWRiYzgxOGQwMDAwMDAwMCwKKyAgICAweGY0YjU0NDg3MDAwMDAwMDAsIDB4NmFiNWVlNGIwMDAwMDAwMCwgMHg4OWIyNjFjNTAwMDAwMDAwLAorICAgIDB4MTdiMmNiMDkwMDAwMDAwMCwgMHg5MDkxNTBhYzAwMDAwMDAwLCAweDBlOTFmYTYwMDAwMDAwMDAsCisgICAgMHhlZDk2NzVlZTAwMDAwMDAwLCAweDczOTZkZjIyMDAwMDAwMDAsIDB4NmE5ZjFhMjgwMDAwMDAwMCwKKyAgICAweGY0OWZiMGU0MDAwMDAwMDAsIDB4MTc5ODNmNmEwMDAwMDAwMCwgMHg4OTk4OTVhNjAwMDAwMDAwLAorICAgIDB4MjU4YWI1N2YwMDAwMDAwMCwgMHhiYjhhMWZiMzAwMDAwMDAwLCAweDU4OGQ5MDNkMDAwMDAwMDAsCisgICAgMHhjNjhkM2FmMTAwMDAwMDAwLCAweGRmODRmZmZiMDAwMDAwMDAsIDB4NDE4NDU1MzcwMDAwMDAwMCwKKyAgICAweGEyODNkYWI5MDAwMDAwMDAsIDB4M2M4MzcwNzUwMDAwMDAwMCwgMHhkYTg1M2I1MzAwMDAwMDAwLAorICAgIDB4NDQ4NTkxOWYwMDAwMDAwMCwgMHhhNzgyMWUxMTAwMDAwMDAwLCAweDM5ODJiNGRkMDAwMDAwMDAsCisgICAgMHgyMDhiNzFkNzAwMDAwMDAwLCAweGJlOGJkYjFiMDAwMDAwMDAsIDB4NWQ4YzU0OTUwMDAwMDAwMCwKKyAgICAweGMzOGNmZTU5MDAwMDAwMDAsIDB4NmY5ZWRlODAwMDAwMDAwMCwgMHhmMTllNzQ0YzAwMDAwMDAwLAorICAgIDB4MTI5OWZiYzIwMDAwMDAwMCwgMHg4Yzk5NTEwZTAwMDAwMDAwLCAweDk1OTA5NDA0MDAwMDAwMDAsCisgICAgMHgwYjkwM2VjODAwMDAwMDAwLCAweGU4OTdiMTQ2MDAwMDAwMDAsIDB4NzY5NzFiOGEwMDAwMDAwMCwKKyAgICAweGYxYjQ4MDJmMDAwMDAwMDAsIDB4NmZiNDJhZTMwMDAwMDAwMCwgMHg4Y2IzYTU2ZDAwMDAwMDAwLAorICAgIDB4MTJiMzBmYTEwMDAwMDAwMCwgMHgwYmJhY2FhYjAwMDAwMDAwLCAweDk1YmE2MDY3MDAwMDAwMDAsCisgICAgMHg3NmJkZWZlOTAwMDAwMDAwLCAweGU4YmQ0NTI1MDAwMDAwMDAsIDB4NDRhZjY1ZmMwMDAwMDAwMCwKKyAgICAweGRhYWZjZjMwMDAwMDAwMDAsIDB4MzlhODQwYmUwMDAwMDAwMCwgMHhhN2E4ZWE3MjAwMDAwMDAwLAorICAgIDB4YmVhMTJmNzgwMDAwMDAwMCwgMHgyMGExODViNDAwMDAwMDAwLCAweGMzYTYwYTNhMDAwMDAwMDAsCisgICAgMHg1ZGE2YTBmNjAwMDAwMDAwLCAweDhjZTc0ZGFhMDAwMDAwMDAsIDB4MTJlN2U3NjYwMDAwMDAwMCwKKyAgICAweGYxZTA2OGU4MDAwMDAwMDAsIDB4NmZlMGMyMjQwMDAwMDAwMCwgMHg3NmU5MDcyZTAwMDAwMDAwLAorICAgIDB4ZThlOWFkZTIwMDAwMDAwMCwgMHgwYmVlMjI2YzAwMDAwMDAwLCAweDk1ZWU4OGEwMDAwMDAwMDAsCisgICAgMHgzOWZjYTg3OTAwMDAwMDAwLCAweGE3ZmMwMmI1MDAwMDAwMDAsIDB4NDRmYjhkM2IwMDAwMDAwMCwKKyAgICAweGRhZmIyN2Y3MDAwMDAwMDAsIDB4YzNmMmUyZmQwMDAwMDAwMCwgMHg1ZGYyNDgzMTAwMDAwMDAwLAorICAgIDB4YmVmNWM3YmYwMDAwMDAwMCwgMHgyMGY1NmQ3MzAwMDAwMDAwLCAweGE3ZDZmNmQ2MDAwMDAwMDAsCisgICAgMHgzOWQ2NWMxYTAwMDAwMDAwLCAweGRhZDFkMzk0MDAwMDAwMDAsIDB4NDRkMTc5NTgwMDAwMDAwMCwKKyAgICAweDVkZDhiYzUyMDAwMDAwMDAsIDB4YzNkODE2OWUwMDAwMDAwMCwgMHgyMGRmOTkxMDAwMDAwMDAwLAorICAgIDB4YmVkZjMzZGMwMDAwMDAwMCwgMHgxMmNkMTMwNTAwMDAwMDAwLCAweDhjY2RiOWM5MDAwMDAwMDAsCisgICAgMHg2ZmNhMzY0NzAwMDAwMDAwLCAweGYxY2E5YzhiMDAwMDAwMDAsIDB4ZThjMzU5ODEwMDAwMDAwMCwKKyAgICAweDc2YzNmMzRkMDAwMDAwMDAsIDB4OTVjNDdjYzMwMDAwMDAwMCwgMHgwYmM0ZDYwZjAwMDAwMDAwLAorICAgIDB4Mzc0N2E2N2EwMDAwMDAwMCwgMHhhOTQ3MGNiNjAwMDAwMDAwLCAweDRhNDA4MzM4MDAwMDAwMDAsCisgICAgMHhkNDQwMjlmNDAwMDAwMDAwLCAweGNkNDllY2ZlMDAwMDAwMDAsIDB4NTM0OTQ2MzIwMDAwMDAwMCwKKyAgICAweGIwNGVjOWJjMDAwMDAwMDAsIDB4MmU0ZTYzNzAwMDAwMDAwMCwgMHg4MjVjNDNhOTAwMDAwMDAwLAorICAgIDB4MWM1Y2U5NjUwMDAwMDAwMCwgMHhmZjViNjZlYjAwMDAwMDAwLCAweDYxNWJjYzI3MDAwMDAwMDAsCisgICAgMHg3ODUyMDkyZDAwMDAwMDAwLCAweGU2NTJhM2UxMDAwMDAwMDAsIDB4MDU1NTJjNmYwMDAwMDAwMCwKKyAgICAweDliNTU4NmEzMDAwMDAwMDAsIDB4MWM3NjFkMDYwMDAwMDAwMCwgMHg4Mjc2YjdjYTAwMDAwMDAwLAorICAgIDB4NjE3MTM4NDQwMDAwMDAwMCwgMHhmZjcxOTI4ODAwMDAwMDAwLCAweGU2Nzg1NzgyMDAwMDAwMDAsCisgICAgMHg3ODc4ZmQ0ZTAwMDAwMDAwLCAweDliN2Y3MmMwMDAwMDAwMDAsIDB4MDU3ZmQ4MGMwMDAwMDAwMCwKKyAgICAweGE5NmRmOGQ1MDAwMDAwMDAsIDB4Mzc2ZDUyMTkwMDAwMDAwMCwgMHhkNDZhZGQ5NzAwMDAwMDAwLAorICAgIDB4NGE2YTc3NWIwMDAwMDAwMCwgMHg1MzYzYjI1MTAwMDAwMDAwLCAweGNkNjMxODlkMDAwMDAwMDAsCisgICAgMHgyZTY0OTcxMzAwMDAwMDAwLCAweGIwNjQzZGRmMDAwMDAwMDAsIDB4NjEyNWQwODMwMDAwMDAwMCwKKyAgICAweGZmMjU3YTRmMDAwMDAwMDAsIDB4MWMyMmY1YzEwMDAwMDAwMCwgMHg4MjIyNWYwZDAwMDAwMDAwLAorICAgIDB4OWIyYjlhMDcwMDAwMDAwMCwgMHgwNTJiMzBjYjAwMDAwMDAwLCAweGU2MmNiZjQ1MDAwMDAwMDAsCisgICAgMHg3ODJjMTU4OTAwMDAwMDAwLCAweGQ0M2UzNTUwMDAwMDAwMDAsIDB4NGEzZTlmOWMwMDAwMDAwMCwKKyAgICAweGE5MzkxMDEyMDAwMDAwMDAsIDB4MzczOWJhZGUwMDAwMDAwMCwgMHgyZTMwN2ZkNDAwMDAwMDAwLAorICAgIDB4YjAzMGQ1MTgwMDAwMDAwMCwgMHg1MzM3NWE5NjAwMDAwMDAwLCAweGNkMzdmMDVhMDAwMDAwMDAsCisgICAgMHg0YTE0NmJmZjAwMDAwMDAwLCAweGQ0MTRjMTMzMDAwMDAwMDAsIDB4MzcxMzRlYmQwMDAwMDAwMCwKKyAgICAweGE5MTNlNDcxMDAwMDAwMDAsIDB4YjAxYTIxN2IwMDAwMDAwMCwgMHgyZTFhOGJiNzAwMDAwMDAwLAorICAgIDB4Y2QxZDA0MzkwMDAwMDAwMCwgMHg1MzFkYWVmNTAwMDAwMDAwLCAweGZmMGY4ZTJjMDAwMDAwMDAsCisgICAgMHg2MTBmMjRlMDAwMDAwMDAwLCAweDgyMDhhYjZlMDAwMDAwMDAsIDB4MWMwODAxYTIwMDAwMDAwMCwKKyAgICAweDA1MDFjNGE4MDAwMDAwMDAsIDB4OWIwMTZlNjQwMDAwMDAwMCwgMHg3ODA2ZTFlYTAwMDAwMDAwLAorICAgIDB4ZTYwNjRiMjYwMDAwMDAwMH19OworCisjZWxzZSAvKiBXID09IDQgKi8KKworbG9jYWwgY29uc3Qgel9jcmNfdCBGQVIgY3JjX2JyYWlkX3RhYmxlW11bMjU2XSA9IHsKKyAgIHsweDAwMDAwMDAwLCAweGI4YmM2NzY1LCAweGFhMDljODhiLCAweDEyYjVhZmVlLCAweDhmNjI5NzU3LAorICAgIDB4MzdkZWYwMzIsIDB4MjU2YjVmZGMsIDB4OWRkNzM4YjksIDB4YzViNDI4ZWYsIDB4N2QwODRmOGEsCisgICAgMHg2ZmJkZTA2NCwgMHhkNzAxODcwMSwgMHg0YWQ2YmZiOCwgMHhmMjZhZDhkZCwgMHhlMGRmNzczMywKKyAgICAweDU4NjMxMDU2LCAweDUwMTk1NzlmLCAweGU4YTUzMGZhLCAweGZhMTA5ZjE0LCAweDQyYWNmODcxLAorICAgIDB4ZGY3YmMwYzgsIDB4NjdjN2E3YWQsIDB4NzU3MjA4NDMsIDB4Y2RjZTZmMjYsIDB4OTVhZDdmNzAsCisgICAgMHgyZDExMTgxNSwgMHgzZmE0YjdmYiwgMHg4NzE4ZDA5ZSwgMHgxYWNmZTgyNywgMHhhMjczOGY0MiwKKyAgICAweGIwYzYyMGFjLCAweDA4N2E0N2M5LCAweGEwMzJhZjNlLCAweDE4OGVjODViLCAweDBhM2I2N2I1LAorICAgIDB4YjI4NzAwZDAsIDB4MmY1MDM4NjksIDB4OTdlYzVmMGMsIDB4ODU1OWYwZTIsIDB4M2RlNTk3ODcsCisgICAgMHg2NTg2ODdkMSwgMHhkZDNhZTBiNCwgMHhjZjhmNGY1YSwgMHg3NzMzMjgzZiwgMHhlYWU0MTA4NiwKKyAgICAweDUyNTg3N2UzLCAweDQwZWRkODBkLCAweGY4NTFiZjY4LCAweGYwMmJmOGExLCAweDQ4OTc5ZmM0LAorICAgIDB4NWEyMjMwMmEsIDB4ZTI5ZTU3NGYsIDB4N2Y0OTZmZjYsIDB4YzdmNTA4OTMsIDB4ZDU0MGE3N2QsCisgICAgMHg2ZGZjYzAxOCwgMHgzNTlmZDA0ZSwgMHg4ZDIzYjcyYiwgMHg5Zjk2MThjNSwgMHgyNzJhN2ZhMCwKKyAgICAweGJhZmQ0NzE5LCAweDAyNDEyMDdjLCAweDEwZjQ4ZjkyLCAweGE4NDhlOGY3LCAweDliMTQ1ODNkLAorICAgIDB4MjNhODNmNTgsIDB4MzExZDkwYjYsIDB4ODlhMWY3ZDMsIDB4MTQ3NmNmNmEsIDB4YWNjYWE4MGYsCisgICAgMHhiZTdmMDdlMSwgMHgwNmMzNjA4NCwgMHg1ZWEwNzBkMiwgMHhlNjFjMTdiNywgMHhmNGE5Yjg1OSwKKyAgICAweDRjMTVkZjNjLCAweGQxYzJlNzg1LCAweDY5N2U4MGUwLCAweDdiY2IyZjBlLCAweGMzNzc0ODZiLAorICAgIDB4Y2IwZDBmYTIsIDB4NzNiMTY4YzcsIDB4NjEwNGM3MjksIDB4ZDliOGEwNGMsIDB4NDQ2Zjk4ZjUsCisgICAgMHhmY2QzZmY5MCwgMHhlZTY2NTA3ZSwgMHg1NmRhMzcxYiwgMHgwZWI5Mjc0ZCwgMHhiNjA1NDAyOCwKKyAgICAweGE0YjBlZmM2LCAweDFjMGM4OGEzLCAweDgxZGJiMDFhLCAweDM5NjdkNzdmLCAweDJiZDI3ODkxLAorICAgIDB4OTM2ZTFmZjQsIDB4M2IyNmY3MDMsIDB4ODM5YTkwNjYsIDB4OTEyZjNmODgsIDB4Mjk5MzU4ZWQsCisgICAgMHhiNDQ0NjA1NCwgMHgwY2Y4MDczMSwgMHgxZTRkYThkZiwgMHhhNmYxY2ZiYSwgMHhmZTkyZGZlYywKKyAgICAweDQ2MmViODg5LCAweDU0OWIxNzY3LCAweGVjMjc3MDAyLCAweDcxZjA0OGJiLCAweGM5NGMyZmRlLAorICAgIDB4ZGJmOTgwMzAsIDB4NjM0NWU3NTUsIDB4NmIzZmEwOWMsIDB4ZDM4M2M3ZjksIDB4YzEzNjY4MTcsCisgICAgMHg3OThhMGY3MiwgMHhlNDVkMzdjYiwgMHg1Y2UxNTBhZSwgMHg0ZTU0ZmY0MCwgMHhmNmU4OTgyNSwKKyAgICAweGFlOGI4ODczLCAweDE2MzdlZjE2LCAweDA0ODI0MGY4LCAweGJjM2UyNzlkLCAweDIxZTkxZjI0LAorICAgIDB4OTk1NTc4NDEsIDB4OGJlMGQ3YWYsIDB4MzM1Y2IwY2EsIDB4ZWQ1OWI2M2IsIDB4NTVlNWQxNWUsCisgICAgMHg0NzUwN2ViMCwgMHhmZmVjMTlkNSwgMHg2MjNiMjE2YywgMHhkYTg3NDYwOSwgMHhjODMyZTllNywKKyAgICAweDcwOGU4ZTgyLCAweDI4ZWQ5ZWQ0LCAweDkwNTFmOWIxLCAweDgyZTQ1NjVmLCAweDNhNTgzMTNhLAorICAgIDB4YTc4ZjA5ODMsIDB4MWYzMzZlZTYsIDB4MGQ4NmMxMDgsIDB4YjUzYWE2NmQsIDB4YmQ0MGUxYTQsCisgICAgMHgwNWZjODZjMSwgMHgxNzQ5MjkyZiwgMHhhZmY1NGU0YSwgMHgzMjIyNzZmMywgMHg4YTllMTE5NiwKKyAgICAweDk4MmJiZTc4LCAweDIwOTdkOTFkLCAweDc4ZjRjOTRiLCAweGMwNDhhZTJlLCAweGQyZmQwMWMwLAorICAgIDB4NmE0MTY2YTUsIDB4Zjc5NjVlMWMsIDB4NGYyYTM5NzksIDB4NWQ5Zjk2OTcsIDB4ZTUyM2YxZjIsCisgICAgMHg0ZDZiMTkwNSwgMHhmNWQ3N2U2MCwgMHhlNzYyZDE4ZSwgMHg1ZmRlYjZlYiwgMHhjMjA5OGU1MiwKKyAgICAweDdhYjVlOTM3LCAweDY4MDA0NmQ5LCAweGQwYmMyMWJjLCAweDg4ZGYzMWVhLCAweDMwNjM1NjhmLAorICAgIDB4MjJkNmY5NjEsIDB4OWE2YTllMDQsIDB4MDdiZGE2YmQsIDB4YmYwMWMxZDgsIDB4YWRiNDZlMzYsCisgICAgMHgxNTA4MDk1MywgMHgxZDcyNGU5YSwgMHhhNWNlMjlmZiwgMHhiNzdiODYxMSwgMHgwZmM3ZTE3NCwKKyAgICAweDkyMTBkOWNkLCAweDJhYWNiZWE4LCAweDM4MTkxMTQ2LCAweDgwYTU3NjIzLCAweGQ4YzY2Njc1LAorICAgIDB4NjA3YTAxMTAsIDB4NzJjZmFlZmUsIDB4Y2E3M2M5OWIsIDB4NTdhNGYxMjIsIDB4ZWYxODk2NDcsCisgICAgMHhmZGFkMzlhOSwgMHg0NTExNWVjYywgMHg3NjRkZWUwNiwgMHhjZWYxODk2MywgMHhkYzQ0MjY4ZCwKKyAgICAweDY0Zjg0MWU4LCAweGY5MmY3OTUxLCAweDQxOTMxZTM0LCAweDUzMjZiMWRhLCAweGViOWFkNmJmLAorICAgIDB4YjNmOWM2ZTksIDB4MGI0NWExOGMsIDB4MTlmMDBlNjIsIDB4YTE0YzY5MDcsIDB4M2M5YjUxYmUsCisgICAgMHg4NDI3MzZkYiwgMHg5NjkyOTkzNSwgMHgyZTJlZmU1MCwgMHgyNjU0Yjk5OSwgMHg5ZWU4ZGVmYywKKyAgICAweDhjNWQ3MTEyLCAweDM0ZTExNjc3LCAweGE5MzYyZWNlLCAweDExOGE0OWFiLCAweDAzM2ZlNjQ1LAorICAgIDB4YmI4MzgxMjAsIDB4ZTNlMDkxNzYsIDB4NWI1Y2Y2MTMsIDB4NDllOTU5ZmQsIDB4ZjE1NTNlOTgsCisgICAgMHg2YzgyMDYyMSwgMHhkNDNlNjE0NCwgMHhjNjhiY2VhYSwgMHg3ZTM3YTljZiwgMHhkNjdmNDEzOCwKKyAgICAweDZlYzMyNjVkLCAweDdjNzY4OWIzLCAweGM0Y2FlZWQ2LCAweDU5MWRkNjZmLCAweGUxYTFiMTBhLAorICAgIDB4ZjMxNDFlZTQsIDB4NGJhODc5ODEsIDB4MTNjYjY5ZDcsIDB4YWI3NzBlYjIsIDB4YjljMmExNWMsCisgICAgMHgwMTdlYzYzOSwgMHg5Y2E5ZmU4MCwgMHgyNDE1OTllNSwgMHgzNmEwMzYwYiwgMHg4ZTFjNTE2ZSwKKyAgICAweDg2NjYxNmE3LCAweDNlZGE3MWMyLCAweDJjNmZkZTJjLCAweDk0ZDNiOTQ5LCAweDA5MDQ4MWYwLAorICAgIDB4YjFiOGU2OTUsIDB4YTMwZDQ5N2IsIDB4MWJiMTJlMWUsIDB4NDNkMjNlNDgsIDB4ZmI2ZTU5MmQsCisgICAgMHhlOWRiZjZjMywgMHg1MTY3OTFhNiwgMHhjY2IwYTkxZiwgMHg3NDBjY2U3YSwgMHg2NmI5NjE5NCwKKyAgICAweGRlMDUwNmYxfSwKKyAgIHsweDAwMDAwMDAwLCAweDAxYzI2YTM3LCAweDAzODRkNDZlLCAweDAyNDZiZTU5LCAweDA3MDlhOGRjLAorICAgIDB4MDZjYmMyZWIsIDB4MDQ4ZDdjYjIsIDB4MDU0ZjE2ODUsIDB4MGUxMzUxYjgsIDB4MGZkMTNiOGYsCisgICAgMHgwZDk3ODVkNiwgMHgwYzU1ZWZlMSwgMHgwOTFhZjk2NCwgMHgwOGQ4OTM1MywgMHgwYTllMmQwYSwKKyAgICAweDBiNWM0NzNkLCAweDFjMjZhMzcwLCAweDFkZTRjOTQ3LCAweDFmYTI3NzFlLCAweDFlNjAxZDI5LAorICAgIDB4MWIyZjBiYWMsIDB4MWFlZDYxOWIsIDB4MThhYmRmYzIsIDB4MTk2OWI1ZjUsIDB4MTIzNWYyYzgsCisgICAgMHgxM2Y3OThmZiwgMHgxMWIxMjZhNiwgMHgxMDczNGM5MSwgMHgxNTNjNWExNCwgMHgxNGZlMzAyMywKKyAgICAweDE2Yjg4ZTdhLCAweDE3N2FlNDRkLCAweDM4NGQ0NmUwLCAweDM5OGYyY2Q3LCAweDNiYzk5MjhlLAorICAgIDB4M2EwYmY4YjksIDB4M2Y0NGVlM2MsIDB4M2U4Njg0MGIsIDB4M2NjMDNhNTIsIDB4M2QwMjUwNjUsCisgICAgMHgzNjVlMTc1OCwgMHgzNzljN2Q2ZiwgMHgzNWRhYzMzNiwgMHgzNDE4YTkwMSwgMHgzMTU3YmY4NCwKKyAgICAweDMwOTVkNWIzLCAweDMyZDM2YmVhLCAweDMzMTEwMWRkLCAweDI0NmJlNTkwLCAweDI1YTk4ZmE3LAorICAgIDB4MjdlZjMxZmUsIDB4MjYyZDViYzksIDB4MjM2MjRkNGMsIDB4MjJhMDI3N2IsIDB4MjBlNjk5MjIsCisgICAgMHgyMTI0ZjMxNSwgMHgyYTc4YjQyOCwgMHgyYmJhZGUxZiwgMHgyOWZjNjA0NiwgMHgyODNlMGE3MSwKKyAgICAweDJkNzExY2Y0LCAweDJjYjM3NmMzLCAweDJlZjVjODlhLCAweDJmMzdhMmFkLCAweDcwOWE4ZGMwLAorICAgIDB4NzE1OGU3ZjcsIDB4NzMxZTU5YWUsIDB4NzJkYzMzOTksIDB4Nzc5MzI1MWMsIDB4NzY1MTRmMmIsCisgICAgMHg3NDE3ZjE3MiwgMHg3NWQ1OWI0NSwgMHg3ZTg5ZGM3OCwgMHg3ZjRiYjY0ZiwgMHg3ZDBkMDgxNiwKKyAgICAweDdjY2Y2MjIxLCAweDc5ODA3NGE0LCAweDc4NDIxZTkzLCAweDdhMDRhMGNhLCAweDdiYzZjYWZkLAorICAgIDB4NmNiYzJlYjAsIDB4NmQ3ZTQ0ODcsIDB4NmYzOGZhZGUsIDB4NmVmYTkwZTksIDB4NmJiNTg2NmMsCisgICAgMHg2YTc3ZWM1YiwgMHg2ODMxNTIwMiwgMHg2OWYzMzgzNSwgMHg2MmFmN2YwOCwgMHg2MzZkMTUzZiwKKyAgICAweDYxMmJhYjY2LCAweDYwZTljMTUxLCAweDY1YTZkN2Q0LCAweDY0NjRiZGUzLCAweDY2MjIwM2JhLAorICAgIDB4NjdlMDY5OGQsIDB4NDhkN2NiMjAsIDB4NDkxNWExMTcsIDB4NGI1MzFmNGUsIDB4NGE5MTc1NzksCisgICAgMHg0ZmRlNjNmYywgMHg0ZTFjMDljYiwgMHg0YzVhYjc5MiwgMHg0ZDk4ZGRhNSwgMHg0NmM0OWE5OCwKKyAgICAweDQ3MDZmMGFmLCAweDQ1NDA0ZWY2LCAweDQ0ODIyNGMxLCAweDQxY2QzMjQ0LCAweDQwMGY1ODczLAorICAgIDB4NDI0OWU2MmEsIDB4NDM4YjhjMWQsIDB4NTRmMTY4NTAsIDB4NTUzMzAyNjcsIDB4NTc3NWJjM2UsCisgICAgMHg1NmI3ZDYwOSwgMHg1M2Y4YzA4YywgMHg1MjNhYWFiYiwgMHg1MDdjMTRlMiwgMHg1MWJlN2VkNSwKKyAgICAweDVhZTIzOWU4LCAweDViMjA1M2RmLCAweDU5NjZlZDg2LCAweDU4YTQ4N2IxLCAweDVkZWI5MTM0LAorICAgIDB4NWMyOWZiMDMsIDB4NWU2ZjQ1NWEsIDB4NWZhZDJmNmQsIDB4ZTEzNTFiODAsIDB4ZTBmNzcxYjcsCisgICAgMHhlMmIxY2ZlZSwgMHhlMzczYTVkOSwgMHhlNjNjYjM1YywgMHhlN2ZlZDk2YiwgMHhlNWI4NjczMiwKKyAgICAweGU0N2EwZDA1LCAweGVmMjY0YTM4LCAweGVlZTQyMDBmLCAweGVjYTI5ZTU2LCAweGVkNjBmNDYxLAorICAgIDB4ZTgyZmUyZTQsIDB4ZTllZDg4ZDMsIDB4ZWJhYjM2OGEsIDB4ZWE2OTVjYmQsIDB4ZmQxM2I4ZjAsCisgICAgMHhmY2QxZDJjNywgMHhmZTk3NmM5ZSwgMHhmZjU1MDZhOSwgMHhmYTFhMTAyYywgMHhmYmQ4N2ExYiwKKyAgICAweGY5OWVjNDQyLCAweGY4NWNhZTc1LCAweGYzMDBlOTQ4LCAweGYyYzI4MzdmLCAweGYwODQzZDI2LAorICAgIDB4ZjE0NjU3MTEsIDB4ZjQwOTQxOTQsIDB4ZjVjYjJiYTMsIDB4Zjc4ZDk1ZmEsIDB4ZjY0ZmZmY2QsCisgICAgMHhkOTc4NWQ2MCwgMHhkOGJhMzc1NywgMHhkYWZjODkwZSwgMHhkYjNlZTMzOSwgMHhkZTcxZjViYywKKyAgICAweGRmYjM5ZjhiLCAweGRkZjUyMWQyLCAweGRjMzc0YmU1LCAweGQ3NmIwY2Q4LCAweGQ2YTk2NmVmLAorICAgIDB4ZDRlZmQ4YjYsIDB4ZDUyZGIyODEsIDB4ZDA2MmE0MDQsIDB4ZDFhMGNlMzMsIDB4ZDNlNjcwNmEsCisgICAgMHhkMjI0MWE1ZCwgMHhjNTVlZmUxMCwgMHhjNDljOTQyNywgMHhjNmRhMmE3ZSwgMHhjNzE4NDA0OSwKKyAgICAweGMyNTc1NmNjLCAweGMzOTUzY2ZiLCAweGMxZDM4MmEyLCAweGMwMTFlODk1LCAweGNiNGRhZmE4LAorICAgIDB4Y2E4ZmM1OWYsIDB4YzhjOTdiYzYsIDB4YzkwYjExZjEsIDB4Y2M0NDA3NzQsIDB4Y2Q4NjZkNDMsCisgICAgMHhjZmMwZDMxYSwgMHhjZTAyYjkyZCwgMHg5MWFmOTY0MCwgMHg5MDZkZmM3NywgMHg5MjJiNDIyZSwKKyAgICAweDkzZTkyODE5LCAweDk2YTYzZTljLCAweDk3NjQ1NGFiLCAweDk1MjJlYWYyLCAweDk0ZTA4MGM1LAorICAgIDB4OWZiY2M3ZjgsIDB4OWU3ZWFkY2YsIDB4OWMzODEzOTYsIDB4OWRmYTc5YTEsIDB4OThiNTZmMjQsCisgICAgMHg5OTc3MDUxMywgMHg5YjMxYmI0YSwgMHg5YWYzZDE3ZCwgMHg4ZDg5MzUzMCwgMHg4YzRiNWYwNywKKyAgICAweDhlMGRlMTVlLCAweDhmY2Y4YjY5LCAweDhhODA5ZGVjLCAweDhiNDJmN2RiLCAweDg5MDQ0OTgyLAorICAgIDB4ODhjNjIzYjUsIDB4ODM5YTY0ODgsIDB4ODI1ODBlYmYsIDB4ODAxZWIwZTYsIDB4ODFkY2RhZDEsCisgICAgMHg4NDkzY2M1NCwgMHg4NTUxYTY2MywgMHg4NzE3MTgzYSwgMHg4NmQ1NzIwZCwgMHhhOWUyZDBhMCwKKyAgICAweGE4MjBiYTk3LCAweGFhNjYwNGNlLCAweGFiYTQ2ZWY5LCAweGFlZWI3ODdjLCAweGFmMjkxMjRiLAorICAgIDB4YWQ2ZmFjMTIsIDB4YWNhZGM2MjUsIDB4YTdmMTgxMTgsIDB4YTYzM2ViMmYsIDB4YTQ3NTU1NzYsCisgICAgMHhhNWI3M2Y0MSwgMHhhMGY4MjljNCwgMHhhMTNhNDNmMywgMHhhMzdjZmRhYSwgMHhhMmJlOTc5ZCwKKyAgICAweGI1YzQ3M2QwLCAweGI0MDYxOWU3LCAweGI2NDBhN2JlLCAweGI3ODJjZDg5LCAweGIyY2RkYjBjLAorICAgIDB4YjMwZmIxM2IsIDB4YjE0OTBmNjIsIDB4YjA4YjY1NTUsIDB4YmJkNzIyNjgsIDB4YmExNTQ4NWYsCisgICAgMHhiODUzZjYwNiwgMHhiOTkxOWMzMSwgMHhiY2RlOGFiNCwgMHhiZDFjZTA4MywgMHhiZjVhNWVkYSwKKyAgICAweGJlOTgzNGVkfSwKKyAgIHsweDAwMDAwMDAwLCAweDE5MWIzMTQxLCAweDMyMzY2MjgyLCAweDJiMmQ1M2MzLCAweDY0NmNjNTA0LAorICAgIDB4N2Q3N2Y0NDUsIDB4NTY1YWE3ODYsIDB4NGY0MTk2YzcsIDB4YzhkOThhMDgsIDB4ZDFjMmJiNDksCisgICAgMHhmYWVmZTg4YSwgMHhlM2Y0ZDljYiwgMHhhY2I1NGYwYywgMHhiNWFlN2U0ZCwgMHg5ZTgzMmQ4ZSwKKyAgICAweDg3OTgxY2NmLCAweDRhYzIxMjUxLCAweDUzZDkyMzEwLCAweDc4ZjQ3MGQzLCAweDYxZWY0MTkyLAorICAgIDB4MmVhZWQ3NTUsIDB4MzdiNWU2MTQsIDB4MWM5OGI1ZDcsIDB4MDU4Mzg0OTYsIDB4ODIxYjk4NTksCisgICAgMHg5YjAwYTkxOCwgMHhiMDJkZmFkYiwgMHhhOTM2Y2I5YSwgMHhlNjc3NWQ1ZCwgMHhmZjZjNmMxYywKKyAgICAweGQ0NDEzZmRmLCAweGNkNWEwZTllLCAweDk1ODQyNGEyLCAweDhjOWYxNWUzLCAweGE3YjI0NjIwLAorICAgIDB4YmVhOTc3NjEsIDB4ZjFlOGUxYTYsIDB4ZThmM2QwZTcsIDB4YzNkZTgzMjQsIDB4ZGFjNWIyNjUsCisgICAgMHg1ZDVkYWVhYSwgMHg0NDQ2OWZlYiwgMHg2ZjZiY2MyOCwgMHg3NjcwZmQ2OSwgMHgzOTMxNmJhZSwKKyAgICAweDIwMmE1YWVmLCAweDBiMDcwOTJjLCAweDEyMWMzODZkLCAweGRmNDYzNmYzLCAweGM2NWQwN2IyLAorICAgIDB4ZWQ3MDU0NzEsIDB4ZjQ2YjY1MzAsIDB4YmIyYWYzZjcsIDB4YTIzMWMyYjYsIDB4ODkxYzkxNzUsCisgICAgMHg5MDA3YTAzNCwgMHgxNzlmYmNmYiwgMHgwZTg0OGRiYSwgMHgyNWE5ZGU3OSwgMHgzY2IyZWYzOCwKKyAgICAweDczZjM3OWZmLCAweDZhZTg0OGJlLCAweDQxYzUxYjdkLCAweDU4ZGUyYTNjLCAweGYwNzk0ZjA1LAorICAgIDB4ZTk2MjdlNDQsIDB4YzI0ZjJkODcsIDB4ZGI1NDFjYzYsIDB4OTQxNThhMDEsIDB4OGQwZWJiNDAsCisgICAgMHhhNjIzZTg4MywgMHhiZjM4ZDljMiwgMHgzOGEwYzUwZCwgMHgyMWJiZjQ0YywgMHgwYTk2YTc4ZiwKKyAgICAweDEzOGQ5NmNlLCAweDVjY2MwMDA5LCAweDQ1ZDczMTQ4LCAweDZlZmE2MjhiLCAweDc3ZTE1M2NhLAorICAgIDB4YmFiYjVkNTQsIDB4YTNhMDZjMTUsIDB4ODg4ZDNmZDYsIDB4OTE5NjBlOTcsIDB4ZGVkNzk4NTAsCisgICAgMHhjN2NjYTkxMSwgMHhlY2UxZmFkMiwgMHhmNWZhY2I5MywgMHg3MjYyZDc1YywgMHg2Yjc5ZTYxZCwKKyAgICAweDQwNTRiNWRlLCAweDU5NGY4NDlmLCAweDE2MGUxMjU4LCAweDBmMTUyMzE5LCAweDI0Mzg3MGRhLAorICAgIDB4M2QyMzQxOWIsIDB4NjVmZDZiYTcsIDB4N2NlNjVhZTYsIDB4NTdjYjA5MjUsIDB4NGVkMDM4NjQsCisgICAgMHgwMTkxYWVhMywgMHgxODhhOWZlMiwgMHgzM2E3Y2MyMSwgMHgyYWJjZmQ2MCwgMHhhZDI0ZTFhZiwKKyAgICAweGI0M2ZkMGVlLCAweDlmMTI4MzJkLCAweDg2MDliMjZjLCAweGM5NDgyNGFiLCAweGQwNTMxNWVhLAorICAgIDB4ZmI3ZTQ2MjksIDB4ZTI2NTc3NjgsIDB4MmYzZjc5ZjYsIDB4MzYyNDQ4YjcsIDB4MWQwOTFiNzQsCisgICAgMHgwNDEyMmEzNSwgMHg0YjUzYmNmMiwgMHg1MjQ4OGRiMywgMHg3OTY1ZGU3MCwgMHg2MDdlZWYzMSwKKyAgICAweGU3ZTZmM2ZlLCAweGZlZmRjMmJmLCAweGQ1ZDA5MTdjLCAweGNjY2JhMDNkLCAweDgzOGEzNmZhLAorICAgIDB4OWE5MTA3YmIsIDB4YjFiYzU0NzgsIDB4YThhNzY1MzksIDB4M2I4Mzk4NGIsIDB4MjI5OGE5MGEsCisgICAgMHgwOWI1ZmFjOSwgMHgxMGFlY2I4OCwgMHg1ZmVmNWQ0ZiwgMHg0NmY0NmMwZSwgMHg2ZGQ5M2ZjZCwKKyAgICAweDc0YzIwZThjLCAweGYzNWExMjQzLCAweGVhNDEyMzAyLCAweGMxNmM3MGMxLCAweGQ4Nzc0MTgwLAorICAgIDB4OTczNmQ3NDcsIDB4OGUyZGU2MDYsIDB4YTUwMGI1YzUsIDB4YmMxYjg0ODQsIDB4NzE0MThhMWEsCisgICAgMHg2ODVhYmI1YiwgMHg0Mzc3ZTg5OCwgMHg1YTZjZDlkOSwgMHgxNTJkNGYxZSwgMHgwYzM2N2U1ZiwKKyAgICAweDI3MWIyZDljLCAweDNlMDAxY2RkLCAweGI5OTgwMDEyLCAweGEwODMzMTUzLCAweDhiYWU2MjkwLAorICAgIDB4OTJiNTUzZDEsIDB4ZGRmNGM1MTYsIDB4YzRlZmY0NTcsIDB4ZWZjMmE3OTQsIDB4ZjZkOTk2ZDUsCisgICAgMHhhZTA3YmNlOSwgMHhiNzFjOGRhOCwgMHg5YzMxZGU2YiwgMHg4NTJhZWYyYSwgMHhjYTZiNzllZCwKKyAgICAweGQzNzA0OGFjLCAweGY4NWQxYjZmLCAweGUxNDYyYTJlLCAweDY2ZGUzNmUxLCAweDdmYzUwN2EwLAorICAgIDB4NTRlODU0NjMsIDB4NGRmMzY1MjIsIDB4MDJiMmYzZTUsIDB4MWJhOWMyYTQsIDB4MzA4NDkxNjcsCisgICAgMHgyOTlmYTAyNiwgMHhlNGM1YWViOCwgMHhmZGRlOWZmOSwgMHhkNmYzY2MzYSwgMHhjZmU4ZmQ3YiwKKyAgICAweDgwYTk2YmJjLCAweDk5YjI1YWZkLCAweGIyOWYwOTNlLCAweGFiODQzODdmLCAweDJjMWMyNGIwLAorICAgIDB4MzUwNzE1ZjEsIDB4MWUyYTQ2MzIsIDB4MDczMTc3NzMsIDB4NDg3MGUxYjQsIDB4NTE2YmQwZjUsCisgICAgMHg3YTQ2ODMzNiwgMHg2MzVkYjI3NywgMHhjYmZhZDc0ZSwgMHhkMmUxZTYwZiwgMHhmOWNjYjVjYywKKyAgICAweGUwZDc4NDhkLCAweGFmOTYxMjRhLCAweGI2OGQyMzBiLCAweDlkYTA3MGM4LCAweDg0YmI0MTg5LAorICAgIDB4MDMyMzVkNDYsIDB4MWEzODZjMDcsIDB4MzExNTNmYzQsIDB4MjgwZTBlODUsIDB4Njc0Zjk4NDIsCisgICAgMHg3ZTU0YTkwMywgMHg1NTc5ZmFjMCwgMHg0YzYyY2I4MSwgMHg4MTM4YzUxZiwgMHg5ODIzZjQ1ZSwKKyAgICAweGIzMGVhNzlkLCAweGFhMTU5NmRjLCAweGU1NTQwMDFiLCAweGZjNGYzMTVhLCAweGQ3NjI2Mjk5LAorICAgIDB4Y2U3OTUzZDgsIDB4NDllMTRmMTcsIDB4NTBmYTdlNTYsIDB4N2JkNzJkOTUsIDB4NjJjYzFjZDQsCisgICAgMHgyZDhkOGExMywgMHgzNDk2YmI1MiwgMHgxZmJiZTg5MSwgMHgwNmEwZDlkMCwgMHg1ZTdlZjNlYywKKyAgICAweDQ3NjVjMmFkLCAweDZjNDg5MTZlLCAweDc1NTNhMDJmLCAweDNhMTIzNmU4LCAweDIzMDkwN2E5LAorICAgIDB4MDgyNDU0NmEsIDB4MTEzZjY1MmIsIDB4OTZhNzc5ZTQsIDB4OGZiYzQ4YTUsIDB4YTQ5MTFiNjYsCisgICAgMHhiZDhhMmEyNywgMHhmMmNiYmNlMCwgMHhlYmQwOGRhMSwgMHhjMGZkZGU2MiwgMHhkOWU2ZWYyMywKKyAgICAweDE0YmNlMWJkLCAweDBkYTdkMGZjLCAweDI2OGE4MzNmLCAweDNmOTFiMjdlLCAweDcwZDAyNGI5LAorICAgIDB4NjljYjE1ZjgsIDB4NDJlNjQ2M2IsIDB4NWJmZDc3N2EsIDB4ZGM2NTZiYjUsIDB4YzU3ZTVhZjQsCisgICAgMHhlZTUzMDkzNywgMHhmNzQ4Mzg3NiwgMHhiODA5YWViMSwgMHhhMTEyOWZmMCwgMHg4YTNmY2MzMywKKyAgICAweDkzMjRmZDcyfSwKKyAgIHsweDAwMDAwMDAwLCAweDc3MDczMDk2LCAweGVlMGU2MTJjLCAweDk5MDk1MWJhLCAweDA3NmRjNDE5LAorICAgIDB4NzA2YWY0OGYsIDB4ZTk2M2E1MzUsIDB4OWU2NDk1YTMsIDB4MGVkYjg4MzIsIDB4NzlkY2I4YTQsCisgICAgMHhlMGQ1ZTkxZSwgMHg5N2QyZDk4OCwgMHgwOWI2NGMyYiwgMHg3ZWIxN2NiZCwgMHhlN2I4MmQwNywKKyAgICAweDkwYmYxZDkxLCAweDFkYjcxMDY0LCAweDZhYjAyMGYyLCAweGYzYjk3MTQ4LCAweDg0YmU0MWRlLAorICAgIDB4MWFkYWQ0N2QsIDB4NmRkZGU0ZWIsIDB4ZjRkNGI1NTEsIDB4ODNkMzg1YzcsIDB4MTM2Yzk4NTYsCisgICAgMHg2NDZiYThjMCwgMHhmZDYyZjk3YSwgMHg4YTY1YzllYywgMHgxNDAxNWM0ZiwgMHg2MzA2NmNkOSwKKyAgICAweGZhMGYzZDYzLCAweDhkMDgwZGY1LCAweDNiNmUyMGM4LCAweDRjNjkxMDVlLCAweGQ1NjA0MWU0LAorICAgIDB4YTI2NzcxNzIsIDB4M2MwM2U0ZDEsIDB4NGIwNGQ0NDcsIDB4ZDIwZDg1ZmQsIDB4YTUwYWI1NmIsCisgICAgMHgzNWI1YThmYSwgMHg0MmIyOTg2YywgMHhkYmJiYzlkNiwgMHhhY2JjZjk0MCwgMHgzMmQ4NmNlMywKKyAgICAweDQ1ZGY1Yzc1LCAweGRjZDYwZGNmLCAweGFiZDEzZDU5LCAweDI2ZDkzMGFjLCAweDUxZGUwMDNhLAorICAgIDB4YzhkNzUxODAsIDB4YmZkMDYxMTYsIDB4MjFiNGY0YjUsIDB4NTZiM2M0MjMsIDB4Y2ZiYTk1OTksCisgICAgMHhiOGJkYTUwZiwgMHgyODAyYjg5ZSwgMHg1ZjA1ODgwOCwgMHhjNjBjZDliMiwgMHhiMTBiZTkyNCwKKyAgICAweDJmNmY3Yzg3LCAweDU4Njg0YzExLCAweGMxNjExZGFiLCAweGI2NjYyZDNkLCAweDc2ZGM0MTkwLAorICAgIDB4MDFkYjcxMDYsIDB4OThkMjIwYmMsIDB4ZWZkNTEwMmEsIDB4NzFiMTg1ODksIDB4MDZiNmI1MWYsCisgICAgMHg5ZmJmZTRhNSwgMHhlOGI4ZDQzMywgMHg3ODA3YzlhMiwgMHgwZjAwZjkzNCwgMHg5NjA5YTg4ZSwKKyAgICAweGUxMGU5ODE4LCAweDdmNmEwZGJiLCAweDA4NmQzZDJkLCAweDkxNjQ2Yzk3LCAweGU2NjM1YzAxLAorICAgIDB4NmI2YjUxZjQsIDB4MWM2YzYxNjIsIDB4ODU2NTMwZDgsIDB4ZjI2MjAwNGUsIDB4NmMwNjk1ZWQsCisgICAgMHgxYjAxYTU3YiwgMHg4MjA4ZjRjMSwgMHhmNTBmYzQ1NywgMHg2NWIwZDljNiwgMHgxMmI3ZTk1MCwKKyAgICAweDhiYmViOGVhLCAweGZjYjk4ODdjLCAweDYyZGQxZGRmLCAweDE1ZGEyZDQ5LCAweDhjZDM3Y2YzLAorICAgIDB4ZmJkNDRjNjUsIDB4NGRiMjYxNTgsIDB4M2FiNTUxY2UsIDB4YTNiYzAwNzQsIDB4ZDRiYjMwZTIsCisgICAgMHg0YWRmYTU0MSwgMHgzZGQ4OTVkNywgMHhhNGQxYzQ2ZCwgMHhkM2Q2ZjRmYiwgMHg0MzY5ZTk2YSwKKyAgICAweDM0NmVkOWZjLCAweGFkNjc4ODQ2LCAweGRhNjBiOGQwLCAweDQ0MDQyZDczLCAweDMzMDMxZGU1LAorICAgIDB4YWEwYTRjNWYsIDB4ZGQwZDdjYzksIDB4NTAwNTcxM2MsIDB4MjcwMjQxYWEsIDB4YmUwYjEwMTAsCisgICAgMHhjOTBjMjA4NiwgMHg1NzY4YjUyNSwgMHgyMDZmODViMywgMHhiOTY2ZDQwOSwgMHhjZTYxZTQ5ZiwKKyAgICAweDVlZGVmOTBlLCAweDI5ZDljOTk4LCAweGIwZDA5ODIyLCAweGM3ZDdhOGI0LCAweDU5YjMzZDE3LAorICAgIDB4MmViNDBkODEsIDB4YjdiZDVjM2IsIDB4YzBiYTZjYWQsIDB4ZWRiODgzMjAsIDB4OWFiZmIzYjYsCisgICAgMHgwM2I2ZTIwYywgMHg3NGIxZDI5YSwgMHhlYWQ1NDczOSwgMHg5ZGQyNzdhZiwgMHgwNGRiMjYxNSwKKyAgICAweDczZGMxNjgzLCAweGUzNjMwYjEyLCAweDk0NjQzYjg0LCAweDBkNmQ2YTNlLCAweDdhNmE1YWE4LAorICAgIDB4ZTQwZWNmMGIsIDB4OTMwOWZmOWQsIDB4MGEwMGFlMjcsIDB4N2QwNzllYjEsIDB4ZjAwZjkzNDQsCisgICAgMHg4NzA4YTNkMiwgMHgxZTAxZjI2OCwgMHg2OTA2YzJmZSwgMHhmNzYyNTc1ZCwgMHg4MDY1NjdjYiwKKyAgICAweDE5NmMzNjcxLCAweDZlNmIwNmU3LCAweGZlZDQxYjc2LCAweDg5ZDMyYmUwLCAweDEwZGE3YTVhLAorICAgIDB4NjdkZDRhY2MsIDB4ZjliOWRmNmYsIDB4OGViZWVmZjksIDB4MTdiN2JlNDMsIDB4NjBiMDhlZDUsCisgICAgMHhkNmQ2YTNlOCwgMHhhMWQxOTM3ZSwgMHgzOGQ4YzJjNCwgMHg0ZmRmZjI1MiwgMHhkMWJiNjdmMSwKKyAgICAweGE2YmM1NzY3LCAweDNmYjUwNmRkLCAweDQ4YjIzNjRiLCAweGQ4MGQyYmRhLCAweGFmMGExYjRjLAorICAgIDB4MzYwMzRhZjYsIDB4NDEwNDdhNjAsIDB4ZGY2MGVmYzMsIDB4YTg2N2RmNTUsIDB4MzE2ZThlZWYsCisgICAgMHg0NjY5YmU3OSwgMHhjYjYxYjM4YywgMHhiYzY2ODMxYSwgMHgyNTZmZDJhMCwgMHg1MjY4ZTIzNiwKKyAgICAweGNjMGM3Nzk1LCAweGJiMGI0NzAzLCAweDIyMDIxNmI5LCAweDU1MDUyNjJmLCAweGM1YmEzYmJlLAorICAgIDB4YjJiZDBiMjgsIDB4MmJiNDVhOTIsIDB4NWNiMzZhMDQsIDB4YzJkN2ZmYTcsIDB4YjVkMGNmMzEsCisgICAgMHgyY2Q5OWU4YiwgMHg1YmRlYWUxZCwgMHg5YjY0YzJiMCwgMHhlYzYzZjIyNiwgMHg3NTZhYTM5YywKKyAgICAweDAyNmQ5MzBhLCAweDljMDkwNmE5LCAweGViMGUzNjNmLCAweDcyMDc2Nzg1LCAweDA1MDA1NzEzLAorICAgIDB4OTViZjRhODIsIDB4ZTJiODdhMTQsIDB4N2JiMTJiYWUsIDB4MGNiNjFiMzgsIDB4OTJkMjhlOWIsCisgICAgMHhlNWQ1YmUwZCwgMHg3Y2RjZWZiNywgMHgwYmRiZGYyMSwgMHg4NmQzZDJkNCwgMHhmMWQ0ZTI0MiwKKyAgICAweDY4ZGRiM2Y4LCAweDFmZGE4MzZlLCAweDgxYmUxNmNkLCAweGY2YjkyNjViLCAweDZmYjA3N2UxLAorICAgIDB4MThiNzQ3NzcsIDB4ODgwODVhZTYsIDB4ZmYwZjZhNzAsIDB4NjYwNjNiY2EsIDB4MTEwMTBiNWMsCisgICAgMHg4ZjY1OWVmZiwgMHhmODYyYWU2OSwgMHg2MTZiZmZkMywgMHgxNjZjY2Y0NSwgMHhhMDBhZTI3OCwKKyAgICAweGQ3MGRkMmVlLCAweDRlMDQ4MzU0LCAweDM5MDNiM2MyLCAweGE3NjcyNjYxLCAweGQwNjAxNmY3LAorICAgIDB4NDk2OTQ3NGQsIDB4M2U2ZTc3ZGIsIDB4YWVkMTZhNGEsIDB4ZDlkNjVhZGMsIDB4NDBkZjBiNjYsCisgICAgMHgzN2Q4M2JmMCwgMHhhOWJjYWU1MywgMHhkZWJiOWVjNSwgMHg0N2IyY2Y3ZiwgMHgzMGI1ZmZlOSwKKyAgICAweGJkYmRmMjFjLCAweGNhYmFjMjhhLCAweDUzYjM5MzMwLCAweDI0YjRhM2E2LCAweGJhZDAzNjA1LAorICAgIDB4Y2RkNzA2OTMsIDB4NTRkZTU3MjksIDB4MjNkOTY3YmYsIDB4YjM2NjdhMmUsIDB4YzQ2MTRhYjgsCisgICAgMHg1ZDY4MWIwMiwgMHgyYTZmMmI5NCwgMHhiNDBiYmUzNywgMHhjMzBjOGVhMSwgMHg1YTA1ZGYxYiwKKyAgICAweDJkMDJlZjhkfX07CisKK2xvY2FsIGNvbnN0IHpfd29yZF90IEZBUiBjcmNfYnJhaWRfYmlnX3RhYmxlW11bMjU2XSA9IHsKKyAgIHsweDAwMDAwMDAwLCAweDk2MzAwNzc3LCAweDJjNjEwZWVlLCAweGJhNTEwOTk5LCAweDE5YzQ2ZDA3LAorICAgIDB4OGZmNDZhNzAsIDB4MzVhNTYzZTksIDB4YTM5NTY0OWUsIDB4MzI4OGRiMGUsIDB4YTRiOGRjNzksCisgICAgMHgxZWU5ZDVlMCwgMHg4OGQ5ZDI5NywgMHgyYjRjYjYwOSwgMHhiZDdjYjE3ZSwgMHgwNzJkYjhlNywKKyAgICAweDkxMWRiZjkwLCAweDY0MTBiNzFkLCAweGYyMjBiMDZhLCAweDQ4NzFiOWYzLCAweGRlNDFiZTg0LAorICAgIDB4N2RkNGRhMWEsIDB4ZWJlNGRkNmQsIDB4NTFiNWQ0ZjQsIDB4Yzc4NWQzODMsIDB4NTY5ODZjMTMsCisgICAgMHhjMGE4NmI2NCwgMHg3YWY5NjJmZCwgMHhlY2M5NjU4YSwgMHg0ZjVjMDExNCwgMHhkOTZjMDY2MywKKyAgICAweDYzM2QwZmZhLCAweGY1MGQwODhkLCAweGM4MjA2ZTNiLCAweDVlMTA2OTRjLCAweGU0NDE2MGQ1LAorICAgIDB4NzI3MTY3YTIsIDB4ZDFlNDAzM2MsIDB4NDdkNDA0NGIsIDB4ZmQ4NTBkZDIsIDB4NmJiNTBhYTUsCisgICAgMHhmYWE4YjUzNSwgMHg2Yzk4YjI0MiwgMHhkNmM5YmJkYiwgMHg0MGY5YmNhYywgMHhlMzZjZDgzMiwKKyAgICAweDc1NWNkZjQ1LCAweGNmMGRkNmRjLCAweDU5M2RkMWFiLCAweGFjMzBkOTI2LCAweDNhMDBkZTUxLAorICAgIDB4ODA1MWQ3YzgsIDB4MTY2MWQwYmYsIDB4YjVmNGI0MjEsIDB4MjNjNGIzNTYsIDB4OTk5NWJhY2YsCisgICAgMHgwZmE1YmRiOCwgMHg5ZWI4MDIyOCwgMHgwODg4MDU1ZiwgMHhiMmQ5MGNjNiwgMHgyNGU5MGJiMSwKKyAgICAweDg3N2M2ZjJmLCAweDExNGM2ODU4LCAweGFiMWQ2MWMxLCAweDNkMmQ2NmI2LCAweDkwNDFkYzc2LAorICAgIDB4MDY3MWRiMDEsIDB4YmMyMGQyOTgsIDB4MmExMGQ1ZWYsIDB4ODk4NWIxNzEsIDB4MWZiNWI2MDYsCisgICAgMHhhNWU0YmY5ZiwgMHgzM2Q0YjhlOCwgMHhhMmM5MDc3OCwgMHgzNGY5MDAwZiwgMHg4ZWE4MDk5NiwKKyAgICAweDE4OTgwZWUxLCAweGJiMGQ2YTdmLCAweDJkM2Q2ZDA4LCAweDk3NmM2NDkxLCAweDAxNWM2M2U2LAorICAgIDB4ZjQ1MTZiNmIsIDB4NjI2MTZjMWMsIDB4ZDgzMDY1ODUsIDB4NGUwMDYyZjIsIDB4ZWQ5NTA2NmMsCisgICAgMHg3YmE1MDExYiwgMHhjMWY0MDg4MiwgMHg1N2M0MGZmNSwgMHhjNmQ5YjA2NSwgMHg1MGU5YjcxMiwKKyAgICAweGVhYjhiZThiLCAweDdjODhiOWZjLCAweGRmMWRkZDYyLCAweDQ5MmRkYTE1LCAweGYzN2NkMzhjLAorICAgIDB4NjU0Y2Q0ZmIsIDB4NTg2MWIyNGQsIDB4Y2U1MWI1M2EsIDB4NzQwMGJjYTMsIDB4ZTIzMGJiZDQsCisgICAgMHg0MWE1ZGY0YSwgMHhkNzk1ZDgzZCwgMHg2ZGM0ZDFhNCwgMHhmYmY0ZDZkMywgMHg2YWU5Njk0MywKKyAgICAweGZjZDk2ZTM0LCAweDQ2ODg2N2FkLCAweGQwYjg2MGRhLCAweDczMmQwNDQ0LCAweGU1MWQwMzMzLAorICAgIDB4NWY0YzBhYWEsIDB4Yzk3YzBkZGQsIDB4M2M3MTA1NTAsIDB4YWE0MTAyMjcsIDB4MTAxMDBiYmUsCisgICAgMHg4NjIwMGNjOSwgMHgyNWI1Njg1NywgMHhiMzg1NmYyMCwgMHgwOWQ0NjZiOSwgMHg5ZmU0NjFjZSwKKyAgICAweDBlZjlkZTVlLCAweDk4YzlkOTI5LCAweDIyOThkMGIwLCAweGI0YThkN2M3LCAweDE3M2RiMzU5LAorICAgIDB4ODEwZGI0MmUsIDB4M2I1Y2JkYjcsIDB4YWQ2Y2JhYzAsIDB4MjA4M2I4ZWQsIDB4YjZiM2JmOWEsCisgICAgMHgwY2UyYjYwMywgMHg5YWQyYjE3NCwgMHgzOTQ3ZDVlYSwgMHhhZjc3ZDI5ZCwgMHgxNTI2ZGIwNCwKKyAgICAweDgzMTZkYzczLCAweDEyMGI2M2UzLCAweDg0M2I2NDk0LCAweDNlNmE2ZDBkLCAweGE4NWE2YTdhLAorICAgIDB4MGJjZjBlZTQsIDB4OWRmZjA5OTMsIDB4MjdhZTAwMGEsIDB4YjE5ZTA3N2QsIDB4NDQ5MzBmZjAsCisgICAgMHhkMmEzMDg4NywgMHg2OGYyMDExZSwgMHhmZWMyMDY2OSwgMHg1ZDU3NjJmNywgMHhjYjY3NjU4MCwKKyAgICAweDcxMzY2YzE5LCAweGU3MDY2YjZlLCAweDc2MWJkNGZlLCAweGUwMmJkMzg5LCAweDVhN2FkYTEwLAorICAgIDB4Y2M0YWRkNjcsIDB4NmZkZmI5ZjksIDB4ZjllZmJlOGUsIDB4NDNiZWI3MTcsIDB4ZDU4ZWIwNjAsCisgICAgMHhlOGEzZDZkNiwgMHg3ZTkzZDFhMSwgMHhjNGMyZDgzOCwgMHg1MmYyZGY0ZiwgMHhmMTY3YmJkMSwKKyAgICAweDY3NTdiY2E2LCAweGRkMDZiNTNmLCAweDRiMzZiMjQ4LCAweGRhMmIwZGQ4LCAweDRjMWIwYWFmLAorICAgIDB4ZjY0YTAzMzYsIDB4NjA3YTA0NDEsIDB4YzNlZjYwZGYsIDB4NTVkZjY3YTgsIDB4ZWY4ZTZlMzEsCisgICAgMHg3OWJlNjk0NiwgMHg4Y2IzNjFjYiwgMHgxYTgzNjZiYywgMHhhMGQyNmYyNSwgMHgzNmUyNjg1MiwKKyAgICAweDk1NzcwY2NjLCAweDAzNDcwYmJiLCAweGI5MTYwMjIyLCAweDJmMjYwNTU1LCAweGJlM2JiYWM1LAorICAgIDB4MjgwYmJkYjIsIDB4OTI1YWI0MmIsIDB4MDQ2YWIzNWMsIDB4YTdmZmQ3YzIsIDB4MzFjZmQwYjUsCisgICAgMHg4YjllZDkyYywgMHgxZGFlZGU1YiwgMHhiMGMyNjQ5YiwgMHgyNmYyNjNlYywgMHg5Y2EzNmE3NSwKKyAgICAweDBhOTM2ZDAyLCAweGE5MDYwOTljLCAweDNmMzYwZWViLCAweDg1NjcwNzcyLCAweDEzNTcwMDA1LAorICAgIDB4ODI0YWJmOTUsIDB4MTQ3YWI4ZTIsIDB4YWUyYmIxN2IsIDB4MzgxYmI2MGMsIDB4OWI4ZWQyOTIsCisgICAgMHgwZGJlZDVlNSwgMHhiN2VmZGM3YywgMHgyMWRmZGIwYiwgMHhkNGQyZDM4NiwgMHg0MmUyZDRmMSwKKyAgICAweGY4YjNkZDY4LCAweDZlODNkYTFmLCAweGNkMTZiZTgxLCAweDViMjZiOWY2LCAweGUxNzdiMDZmLAorICAgIDB4Nzc0N2I3MTgsIDB4ZTY1YTA4ODgsIDB4NzA2YTBmZmYsIDB4Y2EzYjA2NjYsIDB4NWMwYjAxMTEsCisgICAgMHhmZjllNjU4ZiwgMHg2OWFlNjJmOCwgMHhkM2ZmNmI2MSwgMHg0NWNmNmMxNiwgMHg3OGUyMGFhMCwKKyAgICAweGVlZDIwZGQ3LCAweDU0ODMwNDRlLCAweGMyYjMwMzM5LCAweDYxMjY2N2E3LCAweGY3MTY2MGQwLAorICAgIDB4NGQ0NzY5NDksIDB4ZGI3NzZlM2UsIDB4NGE2YWQxYWUsIDB4ZGM1YWQ2ZDksIDB4NjYwYmRmNDAsCisgICAgMHhmMDNiZDgzNywgMHg1M2FlYmNhOSwgMHhjNTllYmJkZSwgMHg3ZmNmYjI0NywgMHhlOWZmYjUzMCwKKyAgICAweDFjZjJiZGJkLCAweDhhYzJiYWNhLCAweDMwOTNiMzUzLCAweGE2YTNiNDI0LCAweDA1MzZkMGJhLAorICAgIDB4OTMwNmQ3Y2QsIDB4Mjk1N2RlNTQsIDB4YmY2N2Q5MjMsIDB4MmU3YTY2YjMsIDB4Yjg0YTYxYzQsCisgICAgMHgwMjFiNjg1ZCwgMHg5NDJiNmYyYSwgMHgzN2JlMGJiNCwgMHhhMThlMGNjMywgMHgxYmRmMDU1YSwKKyAgICAweDhkZWYwMjJkfSwKKyAgIHsweDAwMDAwMDAwLCAweDQxMzExYjE5LCAweDgyNjIzNjMyLCAweGMzNTMyZDJiLCAweDA0YzU2YzY0LAorICAgIDB4NDVmNDc3N2QsIDB4ODZhNzVhNTYsIDB4Yzc5NjQxNGYsIDB4MDg4YWQ5YzgsIDB4NDliYmMyZDEsCisgICAgMHg4YWU4ZWZmYSwgMHhjYmQ5ZjRlMywgMHgwYzRmYjVhYywgMHg0ZDdlYWViNSwgMHg4ZTJkODM5ZSwKKyAgICAweGNmMWM5ODg3LCAweDUxMTJjMjRhLCAweDEwMjNkOTUzLCAweGQzNzBmNDc4LCAweDkyNDFlZjYxLAorICAgIDB4NTVkN2FlMmUsIDB4MTRlNmI1MzcsIDB4ZDdiNTk4MWMsIDB4OTY4NDgzMDUsIDB4NTk5ODFiODIsCisgICAgMHgxOGE5MDA5YiwgMHhkYmZhMmRiMCwgMHg5YWNiMzZhOSwgMHg1ZDVkNzdlNiwgMHgxYzZjNmNmZiwKKyAgICAweGRmM2Y0MWQ0LCAweDllMGU1YWNkLCAweGEyMjQ4NDk1LCAweGUzMTU5ZjhjLCAweDIwNDZiMmE3LAorICAgIDB4NjE3N2E5YmUsIDB4YTZlMWU4ZjEsIDB4ZTdkMGYzZTgsIDB4MjQ4M2RlYzMsIDB4NjViMmM1ZGEsCisgICAgMHhhYWFlNWQ1ZCwgMHhlYjlmNDY0NCwgMHgyOGNjNmI2ZiwgMHg2OWZkNzA3NiwgMHhhZTZiMzEzOSwKKyAgICAweGVmNWEyYTIwLCAweDJjMDkwNzBiLCAweDZkMzgxYzEyLCAweGYzMzY0NmRmLCAweGIyMDc1ZGM2LAorICAgIDB4NzE1NDcwZWQsIDB4MzA2NTZiZjQsIDB4ZjdmMzJhYmIsIDB4YjZjMjMxYTIsIDB4NzU5MTFjODksCisgICAgMHgzNGEwMDc5MCwgMHhmYmJjOWYxNywgMHhiYThkODQwZSwgMHg3OWRlYTkyNSwgMHgzOGVmYjIzYywKKyAgICAweGZmNzlmMzczLCAweGJlNDhlODZhLCAweDdkMWJjNTQxLCAweDNjMmFkZTU4LCAweDA1NGY3OWYwLAorICAgIDB4NDQ3ZTYyZTksIDB4ODcyZDRmYzIsIDB4YzYxYzU0ZGIsIDB4MDE4YTE1OTQsIDB4NDBiYjBlOGQsCisgICAgMHg4M2U4MjNhNiwgMHhjMmQ5MzhiZiwgMHgwZGM1YTAzOCwgMHg0Y2Y0YmIyMSwgMHg4ZmE3OTYwYSwKKyAgICAweGNlOTY4ZDEzLCAweDA5MDBjYzVjLCAweDQ4MzFkNzQ1LCAweDhiNjJmYTZlLCAweGNhNTNlMTc3LAorICAgIDB4NTQ1ZGJiYmEsIDB4MTU2Y2EwYTMsIDB4ZDYzZjhkODgsIDB4OTcwZTk2OTEsIDB4NTA5OGQ3ZGUsCisgICAgMHgxMWE5Y2NjNywgMHhkMmZhZTFlYywgMHg5M2NiZmFmNSwgMHg1Y2Q3NjI3MiwgMHgxZGU2Nzk2YiwKKyAgICAweGRlYjU1NDQwLCAweDlmODQ0ZjU5LCAweDU4MTIwZTE2LCAweDE5MjMxNTBmLCAweGRhNzAzODI0LAorICAgIDB4OWI0MTIzM2QsIDB4YTc2YmZkNjUsIDB4ZTY1YWU2N2MsIDB4MjUwOWNiNTcsIDB4NjQzOGQwNGUsCisgICAgMHhhM2FlOTEwMSwgMHhlMjlmOGExOCwgMHgyMWNjYTczMywgMHg2MGZkYmMyYSwgMHhhZmUxMjRhZCwKKyAgICAweGVlZDAzZmI0LCAweDJkODMxMjlmLCAweDZjYjIwOTg2LCAweGFiMjQ0OGM5LCAweGVhMTU1M2QwLAorICAgIDB4Mjk0NjdlZmIsIDB4Njg3NzY1ZTIsIDB4ZjY3OTNmMmYsIDB4Yjc0ODI0MzYsIDB4NzQxYjA5MWQsCisgICAgMHgzNTJhMTIwNCwgMHhmMmJjNTM0YiwgMHhiMzhkNDg1MiwgMHg3MGRlNjU3OSwgMHgzMWVmN2U2MCwKKyAgICAweGZlZjNlNmU3LCAweGJmYzJmZGZlLCAweDdjOTFkMGQ1LCAweDNkYTBjYmNjLCAweGZhMzY4YTgzLAorICAgIDB4YmIwNzkxOWEsIDB4Nzg1NGJjYjEsIDB4Mzk2NWE3YTgsIDB4NGI5ODgzM2IsIDB4MGFhOTk4MjIsCisgICAgMHhjOWZhYjUwOSwgMHg4OGNiYWUxMCwgMHg0ZjVkZWY1ZiwgMHgwZTZjZjQ0NiwgMHhjZDNmZDk2ZCwKKyAgICAweDhjMGVjMjc0LCAweDQzMTI1YWYzLCAweDAyMjM0MWVhLCAweGMxNzA2Y2MxLCAweDgwNDE3N2Q4LAorICAgIDB4NDdkNzM2OTcsIDB4MDZlNjJkOGUsIDB4YzViNTAwYTUsIDB4ODQ4NDFiYmMsIDB4MWE4YTQxNzEsCisgICAgMHg1YmJiNWE2OCwgMHg5OGU4Nzc0MywgMHhkOWQ5NmM1YSwgMHgxZTRmMmQxNSwgMHg1ZjdlMzYwYywKKyAgICAweDljMmQxYjI3LCAweGRkMWMwMDNlLCAweDEyMDA5OGI5LCAweDUzMzE4M2EwLCAweDkwNjJhZThiLAorICAgIDB4ZDE1M2I1OTIsIDB4MTZjNWY0ZGQsIDB4NTdmNGVmYzQsIDB4OTRhN2MyZWYsIDB4ZDU5NmQ5ZjYsCisgICAgMHhlOWJjMDdhZSwgMHhhODhkMWNiNywgMHg2YmRlMzE5YywgMHgyYWVmMmE4NSwgMHhlZDc5NmJjYSwKKyAgICAweGFjNDg3MGQzLCAweDZmMWI1ZGY4LCAweDJlMmE0NmUxLCAweGUxMzZkZTY2LCAweGEwMDdjNTdmLAorICAgIDB4NjM1NGU4NTQsIDB4MjI2NWYzNGQsIDB4ZTVmM2IyMDIsIDB4YTRjMmE5MWIsIDB4Njc5MTg0MzAsCisgICAgMHgyNmEwOWYyOSwgMHhiOGFlYzVlNCwgMHhmOTlmZGVmZCwgMHgzYWNjZjNkNiwgMHg3YmZkZThjZiwKKyAgICAweGJjNmJhOTgwLCAweGZkNWFiMjk5LCAweDNlMDk5ZmIyLCAweDdmMzg4NGFiLCAweGIwMjQxYzJjLAorICAgIDB4ZjExNTA3MzUsIDB4MzI0NjJhMWUsIDB4NzM3NzMxMDcsIDB4YjRlMTcwNDgsIDB4ZjVkMDZiNTEsCisgICAgMHgzNjgzNDY3YSwgMHg3N2IyNWQ2MywgMHg0ZWQ3ZmFjYiwgMHgwZmU2ZTFkMiwgMHhjY2I1Y2NmOSwKKyAgICAweDhkODRkN2UwLCAweDRhMTI5NmFmLCAweDBiMjM4ZGI2LCAweGM4NzBhMDlkLCAweDg5NDFiYjg0LAorICAgIDB4NDY1ZDIzMDMsIDB4MDc2YzM4MWEsIDB4YzQzZjE1MzEsIDB4ODUwZTBlMjgsIDB4NDI5ODRmNjcsCisgICAgMHgwM2E5NTQ3ZSwgMHhjMGZhNzk1NSwgMHg4MWNiNjI0YywgMHgxZmM1Mzg4MSwgMHg1ZWY0MjM5OCwKKyAgICAweDlkYTcwZWIzLCAweGRjOTYxNWFhLCAweDFiMDA1NGU1LCAweDVhMzE0ZmZjLCAweDk5NjI2MmQ3LAorICAgIDB4ZDg1Mzc5Y2UsIDB4MTc0ZmUxNDksIDB4NTY3ZWZhNTAsIDB4OTUyZGQ3N2IsIDB4ZDQxY2NjNjIsCisgICAgMHgxMzhhOGQyZCwgMHg1MmJiOTYzNCwgMHg5MWU4YmIxZiwgMHhkMGQ5YTAwNiwgMHhlY2YzN2U1ZSwKKyAgICAweGFkYzI2NTQ3LCAweDZlOTE0ODZjLCAweDJmYTA1Mzc1LCAweGU4MzYxMjNhLCAweGE5MDcwOTIzLAorICAgIDB4NmE1NDI0MDgsIDB4MmI2NTNmMTEsIDB4ZTQ3OWE3OTYsIDB4YTU0OGJjOGYsIDB4NjYxYjkxYTQsCisgICAgMHgyNzJhOGFiZCwgMHhlMGJjY2JmMiwgMHhhMThkZDBlYiwgMHg2MmRlZmRjMCwgMHgyM2VmZTZkOSwKKyAgICAweGJkZTFiYzE0LCAweGZjZDBhNzBkLCAweDNmODM4YTI2LCAweDdlYjI5MTNmLCAweGI5MjRkMDcwLAorICAgIDB4ZjgxNWNiNjksIDB4M2I0NmU2NDIsIDB4N2E3N2ZkNWIsIDB4YjU2YjY1ZGMsIDB4ZjQ1YTdlYzUsCisgICAgMHgzNzA5NTNlZSwgMHg3NjM4NDhmNywgMHhiMWFlMDliOCwgMHhmMDlmMTJhMSwgMHgzM2NjM2Y4YSwKKyAgICAweDcyZmQyNDkzfSwKKyAgIHsweDAwMDAwMDAwLCAweDM3NmFjMjAxLCAweDZlZDQ4NDAzLCAweDU5YmU0NjAyLCAweGRjYTgwOTA3LAorICAgIDB4ZWJjMmNiMDYsIDB4YjI3YzhkMDQsIDB4ODUxNjRmMDUsIDB4Yjg1MTEzMGUsIDB4OGYzYmQxMGYsCisgICAgMHhkNjg1OTcwZCwgMHhlMWVmNTUwYywgMHg2NGY5MWEwOSwgMHg1MzkzZDgwOCwgMHgwYTJkOWUwYSwKKyAgICAweDNkNDc1YzBiLCAweDcwYTMyNjFjLCAweDQ3YzllNDFkLCAweDFlNzdhMjFmLCAweDI5MWQ2MDFlLAorICAgIDB4YWMwYjJmMWIsIDB4OWI2MWVkMWEsIDB4YzJkZmFiMTgsIDB4ZjViNTY5MTksIDB4YzhmMjM1MTIsCisgICAgMHhmZjk4ZjcxMywgMHhhNjI2YjExMSwgMHg5MTRjNzMxMCwgMHgxNDVhM2MxNSwgMHgyMzMwZmUxNCwKKyAgICAweDdhOGViODE2LCAweDRkZTQ3YTE3LCAweGUwNDY0ZDM4LCAweGQ3MmM4ZjM5LCAweDhlOTJjOTNiLAorICAgIDB4YjlmODBiM2EsIDB4M2NlZTQ0M2YsIDB4MGI4NDg2M2UsIDB4NTIzYWMwM2MsIDB4NjU1MDAyM2QsCisgICAgMHg1ODE3NWUzNiwgMHg2ZjdkOWMzNywgMHgzNmMzZGEzNSwgMHgwMWE5MTgzNCwgMHg4NGJmNTczMSwKKyAgICAweGIzZDU5NTMwLCAweGVhNmJkMzMyLCAweGRkMDExMTMzLCAweDkwZTU2YjI0LCAweGE3OGZhOTI1LAorICAgIDB4ZmUzMWVmMjcsIDB4Yzk1YjJkMjYsIDB4NGM0ZDYyMjMsIDB4N2IyN2EwMjIsIDB4MjI5OWU2MjAsCisgICAgMHgxNWYzMjQyMSwgMHgyOGI0NzgyYSwgMHgxZmRlYmEyYiwgMHg0NjYwZmMyOSwgMHg3MTBhM2UyOCwKKyAgICAweGY0MWM3MTJkLCAweGMzNzZiMzJjLCAweDlhYzhmNTJlLCAweGFkYTIzNzJmLCAweGMwOGQ5YTcwLAorICAgIDB4ZjdlNzU4NzEsIDB4YWU1OTFlNzMsIDB4OTkzM2RjNzIsIDB4MWMyNTkzNzcsIDB4MmI0ZjUxNzYsCisgICAgMHg3MmYxMTc3NCwgMHg0NTliZDU3NSwgMHg3OGRjODk3ZSwgMHg0ZmI2NGI3ZiwgMHgxNjA4MGQ3ZCwKKyAgICAweDIxNjJjZjdjLCAweGE0NzQ4MDc5LCAweDkzMWU0Mjc4LCAweGNhYTAwNDdhLCAweGZkY2FjNjdiLAorICAgIDB4YjAyZWJjNmMsIDB4ODc0NDdlNmQsIDB4ZGVmYTM4NmYsIDB4ZTk5MGZhNmUsIDB4NmM4NmI1NmIsCisgICAgMHg1YmVjNzc2YSwgMHgwMjUyMzE2OCwgMHgzNTM4ZjM2OSwgMHgwODdmYWY2MiwgMHgzZjE1NmQ2MywKKyAgICAweDY2YWIyYjYxLCAweDUxYzFlOTYwLCAweGQ0ZDdhNjY1LCAweGUzYmQ2NDY0LCAweGJhMDMyMjY2LAorICAgIDB4OGQ2OWUwNjcsIDB4MjBjYmQ3NDgsIDB4MTdhMTE1NDksIDB4NGUxZjUzNGIsIDB4Nzk3NTkxNGEsCisgICAgMHhmYzYzZGU0ZiwgMHhjYjA5MWM0ZSwgMHg5MmI3NWE0YywgMHhhNWRkOTg0ZCwgMHg5ODlhYzQ0NiwKKyAgICAweGFmZjAwNjQ3LCAweGY2NGU0MDQ1LCAweGMxMjQ4MjQ0LCAweDQ0MzJjZDQxLCAweDczNTgwZjQwLAorICAgIDB4MmFlNjQ5NDIsIDB4MWQ4YzhiNDMsIDB4NTA2OGYxNTQsIDB4NjcwMjMzNTUsIDB4M2ViYzc1NTcsCisgICAgMHgwOWQ2Yjc1NiwgMHg4Y2MwZjg1MywgMHhiYmFhM2E1MiwgMHhlMjE0N2M1MCwgMHhkNTdlYmU1MSwKKyAgICAweGU4MzllMjVhLCAweGRmNTMyMDViLCAweDg2ZWQ2NjU5LCAweGIxODdhNDU4LCAweDM0OTFlYjVkLAorICAgIDB4MDNmYjI5NWMsIDB4NWE0NTZmNWUsIDB4NmQyZmFkNWYsIDB4ODAxYjM1ZTEsIDB4Yjc3MWY3ZTAsCisgICAgMHhlZWNmYjFlMiwgMHhkOWE1NzNlMywgMHg1Y2IzM2NlNiwgMHg2YmQ5ZmVlNywgMHgzMjY3YjhlNSwKKyAgICAweDA1MGQ3YWU0LCAweDM4NGEyNmVmLCAweDBmMjBlNGVlLCAweDU2OWVhMmVjLCAweDYxZjQ2MGVkLAorICAgIDB4ZTRlMjJmZTgsIDB4ZDM4OGVkZTksIDB4OGEzNmFiZWIsIDB4YmQ1YzY5ZWEsIDB4ZjBiODEzZmQsCisgICAgMHhjN2QyZDFmYywgMHg5ZTZjOTdmZSwgMHhhOTA2NTVmZiwgMHgyYzEwMWFmYSwgMHgxYjdhZDhmYiwKKyAgICAweDQyYzQ5ZWY5LCAweDc1YWU1Y2Y4LCAweDQ4ZTkwMGYzLCAweDdmODNjMmYyLCAweDI2M2Q4NGYwLAorICAgIDB4MTE1NzQ2ZjEsIDB4OTQ0MTA5ZjQsIDB4YTMyYmNiZjUsIDB4ZmE5NThkZjcsIDB4Y2RmZjRmZjYsCisgICAgMHg2MDVkNzhkOSwgMHg1NzM3YmFkOCwgMHgwZTg5ZmNkYSwgMHgzOWUzM2VkYiwgMHhiY2Y1NzFkZSwKKyAgICAweDhiOWZiM2RmLCAweGQyMjFmNWRkLCAweGU1NGIzN2RjLCAweGQ4MGM2YmQ3LCAweGVmNjZhOWQ2LAorICAgIDB4YjZkOGVmZDQsIDB4ODFiMjJkZDUsIDB4MDRhNDYyZDAsIDB4MzNjZWEwZDEsIDB4NmE3MGU2ZDMsCisgICAgMHg1ZDFhMjRkMiwgMHgxMGZlNWVjNSwgMHgyNzk0OWNjNCwgMHg3ZTJhZGFjNiwgMHg0OTQwMThjNywKKyAgICAweGNjNTY1N2MyLCAweGZiM2M5NWMzLCAweGEyODJkM2MxLCAweDk1ZTgxMWMwLCAweGE4YWY0ZGNiLAorICAgIDB4OWZjNThmY2EsIDB4YzY3YmM5YzgsIDB4ZjExMTBiYzksIDB4NzQwNzQ0Y2MsIDB4NDM2ZDg2Y2QsCisgICAgMHgxYWQzYzBjZiwgMHgyZGI5MDJjZSwgMHg0MDk2YWY5MSwgMHg3N2ZjNmQ5MCwgMHgyZTQyMmI5MiwKKyAgICAweDE5MjhlOTkzLCAweDljM2VhNjk2LCAweGFiNTQ2NDk3LCAweGYyZWEyMjk1LCAweGM1ODBlMDk0LAorICAgIDB4ZjhjN2JjOWYsIDB4Y2ZhZDdlOWUsIDB4OTYxMzM4OWMsIDB4YTE3OWZhOWQsIDB4MjQ2ZmI1OTgsCisgICAgMHgxMzA1Nzc5OSwgMHg0YWJiMzE5YiwgMHg3ZGQxZjM5YSwgMHgzMDM1ODk4ZCwgMHgwNzVmNGI4YywKKyAgICAweDVlZTEwZDhlLCAweDY5OGJjZjhmLCAweGVjOWQ4MDhhLCAweGRiZjc0MjhiLCAweDgyNDkwNDg5LAorICAgIDB4YjUyM2M2ODgsIDB4ODg2NDlhODMsIDB4YmYwZTU4ODIsIDB4ZTZiMDFlODAsIDB4ZDFkYWRjODEsCisgICAgMHg1NGNjOTM4NCwgMHg2M2E2NTE4NSwgMHgzYTE4MTc4NywgMHgwZDcyZDU4NiwgMHhhMGQwZTJhOSwKKyAgICAweDk3YmEyMGE4LCAweGNlMDQ2NmFhLCAweGY5NmVhNGFiLCAweDdjNzhlYmFlLCAweDRiMTIyOWFmLAorICAgIDB4MTJhYzZmYWQsIDB4MjVjNmFkYWMsIDB4MTg4MWYxYTcsIDB4MmZlYjMzYTYsIDB4NzY1NTc1YTQsCisgICAgMHg0MTNmYjdhNSwgMHhjNDI5ZjhhMCwgMHhmMzQzM2FhMSwgMHhhYWZkN2NhMywgMHg5ZDk3YmVhMiwKKyAgICAweGQwNzNjNGI1LCAweGU3MTkwNmI0LCAweGJlYTc0MGI2LCAweDg5Y2Q4MmI3LCAweDBjZGJjZGIyLAorICAgIDB4M2JiMTBmYjMsIDB4NjIwZjQ5YjEsIDB4NTU2NThiYjAsIDB4NjgyMmQ3YmIsIDB4NWY0ODE1YmEsCisgICAgMHgwNmY2NTNiOCwgMHgzMTljOTFiOSwgMHhiNDhhZGViYywgMHg4M2UwMWNiZCwgMHhkYTVlNWFiZiwKKyAgICAweGVkMzQ5OGJlfSwKKyAgIHsweDAwMDAwMDAwLCAweDY1NjdiY2I4LCAweDhiYzgwOWFhLCAweGVlYWZiNTEyLCAweDU3OTc2MjhmLAorICAgIDB4MzJmMGRlMzcsIDB4ZGM1ZjZiMjUsIDB4YjkzOGQ3OWQsIDB4ZWYyOGI0YzUsIDB4OGE0ZjA4N2QsCisgICAgMHg2NGUwYmQ2ZiwgMHgwMTg3MDFkNywgMHhiOGJmZDY0YSwgMHhkZGQ4NmFmMiwgMHgzMzc3ZGZlMCwKKyAgICAweDU2MTA2MzU4LCAweDlmNTcxOTUwLCAweGZhMzBhNWU4LCAweDE0OWYxMGZhLCAweDcxZjhhYzQyLAorICAgIDB4YzhjMDdiZGYsIDB4YWRhN2M3NjcsIDB4NDMwODcyNzUsIDB4MjY2ZmNlY2QsIDB4NzA3ZmFkOTUsCisgICAgMHgxNTE4MTEyZCwgMHhmYmI3YTQzZiwgMHg5ZWQwMTg4NywgMHgyN2U4Y2YxYSwgMHg0MjhmNzNhMiwKKyAgICAweGFjMjBjNmIwLCAweGM5NDc3YTA4LCAweDNlYWYzMmEwLCAweDViYzg4ZTE4LCAweGI1NjczYjBhLAorICAgIDB4ZDAwMDg3YjIsIDB4NjkzODUwMmYsIDB4MGM1ZmVjOTcsIDB4ZTJmMDU5ODUsIDB4ODc5N2U1M2QsCisgICAgMHhkMTg3ODY2NSwgMHhiNGUwM2FkZCwgMHg1YTRmOGZjZiwgMHgzZjI4MzM3NywgMHg4NjEwZTRlYSwKKyAgICAweGUzNzc1ODUyLCAweDBkZDhlZDQwLCAweDY4YmY1MWY4LCAweGExZjgyYmYwLCAweGM0OWY5NzQ4LAorICAgIDB4MmEzMDIyNWEsIDB4NGY1NzllZTIsIDB4ZjY2ZjQ5N2YsIDB4OTMwOGY1YzcsIDB4N2RhNzQwZDUsCisgICAgMHgxOGMwZmM2ZCwgMHg0ZWQwOWYzNSwgMHgyYmI3MjM4ZCwgMHhjNTE4OTY5ZiwgMHhhMDdmMmEyNywKKyAgICAweDE5NDdmZGJhLCAweDdjMjA0MTAyLCAweDkyOGZmNDEwLCAweGY3ZTg0OGE4LCAweDNkNTgxNDliLAorICAgIDB4NTgzZmE4MjMsIDB4YjY5MDFkMzEsIDB4ZDNmN2ExODksIDB4NmFjZjc2MTQsIDB4MGZhOGNhYWMsCisgICAgMHhlMTA3N2ZiZSwgMHg4NDYwYzMwNiwgMHhkMjcwYTA1ZSwgMHhiNzE3MWNlNiwgMHg1OWI4YTlmNCwKKyAgICAweDNjZGYxNTRjLCAweDg1ZTdjMmQxLCAweGUwODA3ZTY5LCAweDBlMmZjYjdiLCAweDZiNDg3N2MzLAorICAgIDB4YTIwZjBkY2IsIDB4Yzc2OGIxNzMsIDB4MjljNzA0NjEsIDB4NGNhMGI4ZDksIDB4ZjU5ODZmNDQsCisgICAgMHg5MGZmZDNmYywgMHg3ZTUwNjZlZSwgMHgxYjM3ZGE1NiwgMHg0ZDI3YjkwZSwgMHgyODQwMDViNiwKKyAgICAweGM2ZWZiMGE0LCAweGEzODgwYzFjLCAweDFhYjBkYjgxLCAweDdmZDc2NzM5LCAweDkxNzhkMjJiLAorICAgIDB4ZjQxZjZlOTMsIDB4MDNmNzI2M2IsIDB4NjY5MDlhODMsIDB4ODgzZjJmOTEsIDB4ZWQ1ODkzMjksCisgICAgMHg1NDYwNDRiNCwgMHgzMTA3ZjgwYywgMHhkZmE4NGQxZSwgMHhiYWNmZjFhNiwgMHhlY2RmOTJmZSwKKyAgICAweDg5YjgyZTQ2LCAweDY3MTc5YjU0LCAweDAyNzAyN2VjLCAweGJiNDhmMDcxLCAweGRlMmY0Y2M5LAorICAgIDB4MzA4MGY5ZGIsIDB4NTVlNzQ1NjMsIDB4OWNhMDNmNmIsIDB4ZjljNzgzZDMsIDB4MTc2ODM2YzEsCisgICAgMHg3MjBmOGE3OSwgMHhjYjM3NWRlNCwgMHhhZTUwZTE1YywgMHg0MGZmNTQ0ZSwgMHgyNTk4ZThmNiwKKyAgICAweDczODg4YmFlLCAweDE2ZWYzNzE2LCAweGY4NDA4MjA0LCAweDlkMjczZWJjLCAweDI0MWZlOTIxLAorICAgIDB4NDE3ODU1OTksIDB4YWZkN2UwOGIsIDB4Y2FiMDVjMzMsIDB4M2JiNjU5ZWQsIDB4NWVkMWU1NTUsCisgICAgMHhiMDdlNTA0NywgMHhkNTE5ZWNmZiwgMHg2YzIxM2I2MiwgMHgwOTQ2ODdkYSwgMHhlN2U5MzJjOCwKKyAgICAweDgyOGU4ZTcwLCAweGQ0OWVlZDI4LCAweGIxZjk1MTkwLCAweDVmNTZlNDgyLCAweDNhMzE1ODNhLAorICAgIDB4ODMwOThmYTcsIDB4ZTY2ZTMzMWYsIDB4MDhjMTg2MGQsIDB4NmRhNjNhYjUsIDB4YTRlMTQwYmQsCisgICAgMHhjMTg2ZmMwNSwgMHgyZjI5NDkxNywgMHg0YTRlZjVhZiwgMHhmMzc2MjIzMiwgMHg5NjExOWU4YSwKKyAgICAweDc4YmUyYjk4LCAweDFkZDk5NzIwLCAweDRiYzlmNDc4LCAweDJlYWU0OGMwLCAweGMwMDFmZGQyLAorICAgIDB4YTU2NjQxNmEsIDB4MWM1ZTk2ZjcsIDB4NzkzOTJhNGYsIDB4OTc5NjlmNWQsIDB4ZjJmMTIzZTUsCisgICAgMHgwNTE5NmI0ZCwgMHg2MDdlZDdmNSwgMHg4ZWQxNjJlNywgMHhlYmI2ZGU1ZiwgMHg1MjhlMDljMiwKKyAgICAweDM3ZTliNTdhLCAweGQ5NDYwMDY4LCAweGJjMjFiY2QwLCAweGVhMzFkZjg4LCAweDhmNTY2MzMwLAorICAgIDB4NjFmOWQ2MjIsIDB4MDQ5ZTZhOWEsIDB4YmRhNmJkMDcsIDB4ZDhjMTAxYmYsIDB4MzY2ZWI0YWQsCisgICAgMHg1MzA5MDgxNSwgMHg5YTRlNzIxZCwgMHhmZjI5Y2VhNSwgMHgxMTg2N2JiNywgMHg3NGUxYzcwZiwKKyAgICAweGNkZDkxMDkyLCAweGE4YmVhYzJhLCAweDQ2MTExOTM4LCAweDIzNzZhNTgwLCAweDc1NjZjNmQ4LAorICAgIDB4MTAwMTdhNjAsIDB4ZmVhZWNmNzIsIDB4OWJjOTczY2EsIDB4MjJmMWE0NTcsIDB4NDc5NjE4ZWYsCisgICAgMHhhOTM5YWRmZCwgMHhjYzVlMTE0NSwgMHgwNmVlNGQ3NiwgMHg2Mzg5ZjFjZSwgMHg4ZDI2NDRkYywKKyAgICAweGU4NDFmODY0LCAweDUxNzkyZmY5LCAweDM0MWU5MzQxLCAweGRhYjEyNjUzLCAweGJmZDY5YWViLAorICAgIDB4ZTljNmY5YjMsIDB4OGNhMTQ1MGIsIDB4NjIwZWYwMTksIDB4MDc2OTRjYTEsIDB4YmU1MTliM2MsCisgICAgMHhkYjM2Mjc4NCwgMHgzNTk5OTI5NiwgMHg1MGZlMmUyZSwgMHg5OWI5NTQyNiwgMHhmY2RlZTg5ZSwKKyAgICAweDEyNzE1ZDhjLCAweDc3MTZlMTM0LCAweGNlMmUzNmE5LCAweGFiNDk4YTExLCAweDQ1ZTYzZjAzLAorICAgIDB4MjA4MTgzYmIsIDB4NzY5MWUwZTMsIDB4MTNmNjVjNWIsIDB4ZmQ1OWU5NDksIDB4OTgzZTU1ZjEsCisgICAgMHgyMTA2ODI2YywgMHg0NDYxM2VkNCwgMHhhYWNlOGJjNiwgMHhjZmE5Mzc3ZSwgMHgzODQxN2ZkNiwKKyAgICAweDVkMjZjMzZlLCAweGIzODk3NjdjLCAweGQ2ZWVjYWM0LCAweDZmZDYxZDU5LCAweDBhYjFhMWUxLAorICAgIDB4ZTQxZTE0ZjMsIDB4ODE3OWE4NGIsIDB4ZDc2OWNiMTMsIDB4YjIwZTc3YWIsIDB4NWNhMWMyYjksCisgICAgMHgzOWM2N2UwMSwgMHg4MGZlYTk5YywgMHhlNTk5MTUyNCwgMHgwYjM2YTAzNiwgMHg2ZTUxMWM4ZSwKKyAgICAweGE3MTY2Njg2LCAweGMyNzFkYTNlLCAweDJjZGU2ZjJjLCAweDQ5YjlkMzk0LCAweGYwODEwNDA5LAorICAgIDB4OTVlNmI4YjEsIDB4N2I0OTBkYTMsIDB4MWUyZWIxMWIsIDB4NDgzZWQyNDMsIDB4MmQ1OTZlZmIsCisgICAgMHhjM2Y2ZGJlOSwgMHhhNjkxNjc1MSwgMHgxZmE5YjBjYywgMHg3YWNlMGM3NCwgMHg5NDYxYjk2NiwKKyAgICAweGYxMDYwNWRlfX07CisKKyNlbmRpZgorCisjZW5kaWYKKworI2lmIE4gPT0gMgorCisjaWYgVyA9PSA4CisKK2xvY2FsIGNvbnN0IHpfY3JjX3QgRkFSIGNyY19icmFpZF90YWJsZVtdWzI1Nl0gPSB7CisgICB7MHgwMDAwMDAwMCwgMHhhZTY4OTE5MSwgMHg4N2EwMjU2MywgMHgyOWM4YjRmMiwgMHhkNDMxNGM4NywKKyAgICAweDdhNTlkZDE2LCAweDUzOTE2OWU0LCAweGZkZjlmODc1LCAweDczMTM5ZjRmLCAweGRkN2IwZWRlLAorICAgIDB4ZjRiM2JhMmMsIDB4NWFkYjJiYmQsIDB4YTcyMmQzYzgsIDB4MDk0YTQyNTksIDB4MjA4MmY2YWIsCisgICAgMHg4ZWVhNjczYSwgMHhlNjI3M2U5ZSwgMHg0ODRmYWYwZiwgMHg2MTg3MWJmZCwgMHhjZmVmOGE2YywKKyAgICAweDMyMTY3MjE5LCAweDljN2VlMzg4LCAweGI1YjY1NzdhLCAweDFiZGVjNmViLCAweDk1MzRhMWQxLAorICAgIDB4M2I1YzMwNDAsIDB4MTI5NDg0YjIsIDB4YmNmYzE1MjMsIDB4NDEwNWVkNTYsIDB4ZWY2ZDdjYzcsCisgICAgMHhjNmE1YzgzNSwgMHg2OGNkNTlhNCwgMHgxNzNmN2I3ZCwgMHhiOTU3ZWFlYywgMHg5MDlmNWUxZSwKKyAgICAweDNlZjdjZjhmLCAweGMzMGUzN2ZhLCAweDZkNjZhNjZiLCAweDQ0YWUxMjk5LCAweGVhYzY4MzA4LAorICAgIDB4NjQyY2U0MzIsIDB4Y2E0NDc1YTMsIDB4ZTM4Y2MxNTEsIDB4NGRlNDUwYzAsIDB4YjAxZGE4YjUsCisgICAgMHgxZTc1MzkyNCwgMHgzN2JkOGRkNiwgMHg5OWQ1MWM0NywgMHhmMTE4NDVlMywgMHg1ZjcwZDQ3MiwKKyAgICAweDc2Yjg2MDgwLCAweGQ4ZDBmMTExLCAweDI1MjkwOTY0LCAweDhiNDE5OGY1LCAweGEyODkyYzA3LAorICAgIDB4MGNlMWJkOTYsIDB4ODIwYmRhYWMsIDB4MmM2MzRiM2QsIDB4MDVhYmZmY2YsIDB4YWJjMzZlNWUsCisgICAgMHg1NjNhOTYyYiwgMHhmODUyMDdiYSwgMHhkMTlhYjM0OCwgMHg3ZmYyMjJkOSwgMHgyZTdlZjZmYSwKKyAgICAweDgwMTY2NzZiLCAweGE5ZGVkMzk5LCAweDA3YjY0MjA4LCAweGZhNGZiYTdkLCAweDU0MjcyYmVjLAorICAgIDB4N2RlZjlmMWUsIDB4ZDM4NzBlOGYsIDB4NWQ2ZDY5YjUsIDB4ZjMwNWY4MjQsIDB4ZGFjZDRjZDYsCisgICAgMHg3NGE1ZGQ0NywgMHg4OTVjMjUzMiwgMHgyNzM0YjRhMywgMHgwZWZjMDA1MSwgMHhhMDk0OTFjMCwKKyAgICAweGM4NTljODY0LCAweDY2MzE1OWY1LCAweDRmZjllZDA3LCAweGUxOTE3Yzk2LCAweDFjNjg4NGUzLAorICAgIDB4YjIwMDE1NzIsIDB4OWJjOGExODAsIDB4MzVhMDMwMTEsIDB4YmI0YTU3MmIsIDB4MTUyMmM2YmEsCisgICAgMHgzY2VhNzI0OCwgMHg5MjgyZTNkOSwgMHg2ZjdiMWJhYywgMHhjMTEzOGEzZCwgMHhlOGRiM2VjZiwKKyAgICAweDQ2YjNhZjVlLCAweDM5NDE4ZDg3LCAweDk3MjkxYzE2LCAweGJlZTFhOGU0LCAweDEwODkzOTc1LAorICAgIDB4ZWQ3MGMxMDAsIDB4NDMxODUwOTEsIDB4NmFkMGU0NjMsIDB4YzRiODc1ZjIsIDB4NGE1MjEyYzgsCisgICAgMHhlNDNhODM1OSwgMHhjZGYyMzdhYiwgMHg2MzlhYTYzYSwgMHg5ZTYzNWU0ZiwgMHgzMDBiY2ZkZSwKKyAgICAweDE5YzM3YjJjLCAweGI3YWJlYWJkLCAweGRmNjZiMzE5LCAweDcxMGUyMjg4LCAweDU4YzY5NjdhLAorICAgIDB4ZjZhZTA3ZWIsIDB4MGI1N2ZmOWUsIDB4YTUzZjZlMGYsIDB4OGNmN2RhZmQsIDB4MjI5ZjRiNmMsCisgICAgMHhhYzc1MmM1NiwgMHgwMjFkYmRjNywgMHgyYmQ1MDkzNSwgMHg4NWJkOThhNCwgMHg3ODQ0NjBkMSwKKyAgICAweGQ2MmNmMTQwLCAweGZmZTQ0NWIyLCAweDUxOGNkNDIzLCAweDVjZmRlZGY0LCAweGYyOTU3YzY1LAorICAgIDB4ZGI1ZGM4OTcsIDB4NzUzNTU5MDYsIDB4ODhjY2ExNzMsIDB4MjZhNDMwZTIsIDB4MGY2Yzg0MTAsCisgICAgMHhhMTA0MTU4MSwgMHgyZmVlNzJiYiwgMHg4MTg2ZTMyYSwgMHhhODRlNTdkOCwgMHgwNjI2YzY0OSwKKyAgICAweGZiZGYzZTNjLCAweDU1YjdhZmFkLCAweDdjN2YxYjVmLCAweGQyMTc4YWNlLCAweGJhZGFkMzZhLAorICAgIDB4MTRiMjQyZmIsIDB4M2Q3YWY2MDksIDB4OTMxMjY3OTgsIDB4NmVlYjlmZWQsIDB4YzA4MzBlN2MsCisgICAgMHhlOTRiYmE4ZSwgMHg0NzIzMmIxZiwgMHhjOWM5NGMyNSwgMHg2N2ExZGRiNCwgMHg0ZTY5Njk0NiwKKyAgICAweGUwMDFmOGQ3LCAweDFkZjgwMGEyLCAweGIzOTA5MTMzLCAweDlhNTgyNWMxLCAweDM0MzBiNDUwLAorICAgIDB4NGJjMjk2ODksIDB4ZTVhYTA3MTgsIDB4Y2M2MmIzZWEsIDB4NjIwYTIyN2IsIDB4OWZmM2RhMGUsCisgICAgMHgzMTliNGI5ZiwgMHgxODUzZmY2ZCwgMHhiNjNiNmVmYywgMHgzOGQxMDljNiwgMHg5NmI5OTg1NywKKyAgICAweGJmNzEyY2E1LCAweDExMTliZDM0LCAweGVjZTA0NTQxLCAweDQyODhkNGQwLCAweDZiNDA2MDIyLAorICAgIDB4YzUyOGYxYjMsIDB4YWRlNWE4MTcsIDB4MDM4ZDM5ODYsIDB4MmE0NThkNzQsIDB4ODQyZDFjZTUsCisgICAgMHg3OWQ0ZTQ5MCwgMHhkN2JjNzUwMSwgMHhmZTc0YzFmMywgMHg1MDFjNTA2MiwgMHhkZWY2Mzc1OCwKKyAgICAweDcwOWVhNmM5LCAweDU5NTYxMjNiLCAweGY3M2U4M2FhLCAweDBhYzc3YmRmLCAweGE0YWZlYTRlLAorICAgIDB4OGQ2NzVlYmMsIDB4MjMwZmNmMmQsIDB4NzI4MzFiMGUsIDB4ZGNlYjhhOWYsIDB4ZjUyMzNlNmQsCisgICAgMHg1YjRiYWZmYywgMHhhNmIyNTc4OSwgMHgwOGRhYzYxOCwgMHgyMTEyNzJlYSwgMHg4ZjdhZTM3YiwKKyAgICAweDAxOTA4NDQxLCAweGFmZjgxNWQwLCAweDg2MzBhMTIyLCAweDI4NTgzMGIzLCAweGQ1YTFjOGM2LAorICAgIDB4N2JjOTU5NTcsIDB4NTIwMWVkYTUsIDB4ZmM2OTdjMzQsIDB4OTRhNDI1OTAsIDB4M2FjY2I0MDEsCisgICAgMHgxMzA0MDBmMywgMHhiZDZjOTE2MiwgMHg0MDk1NjkxNywgMHhlZWZkZjg4NiwgMHhjNzM1NGM3NCwKKyAgICAweDY5NWRkZGU1LCAweGU3YjdiYWRmLCAweDQ5ZGYyYjRlLCAweDYwMTc5ZmJjLCAweGNlN2YwZTJkLAorICAgIDB4MzM4NmY2NTgsIDB4OWRlZTY3YzksIDB4YjQyNmQzM2IsIDB4MWE0ZTQyYWEsIDB4NjViYzYwNzMsCisgICAgMHhjYmQ0ZjFlMiwgMHhlMjFjNDUxMCwgMHg0Yzc0ZDQ4MSwgMHhiMThkMmNmNCwgMHgxZmU1YmQ2NSwKKyAgICAweDM2MmQwOTk3LCAweDk4NDU5ODA2LCAweDE2YWZmZjNjLCAweGI4Yzc2ZWFkLCAweDkxMGZkYTVmLAorICAgIDB4M2Y2NzRiY2UsIDB4YzI5ZWIzYmIsIDB4NmNmNjIyMmEsIDB4NDUzZTk2ZDgsIDB4ZWI1NjA3NDksCisgICAgMHg4MzliNWVlZCwgMHgyZGYzY2Y3YywgMHgwNDNiN2I4ZSwgMHhhYTUzZWExZiwgMHg1N2FhMTI2YSwKKyAgICAweGY5YzI4M2ZiLCAweGQwMGEzNzA5LCAweDdlNjJhNjk4LCAweGYwODhjMWEyLCAweDVlZTA1MDMzLAorICAgIDB4NzcyOGU0YzEsIDB4ZDk0MDc1NTAsIDB4MjRiOThkMjUsIDB4OGFkMTFjYjQsIDB4YTMxOWE4NDYsCisgICAgMHgwZDcxMzlkN30sCisgICB7MHgwMDAwMDAwMCwgMHhiOWZiZGJlOCwgMHhhODg2YjE5MSwgMHgxMTdkNmE3OSwgMHg4YTdjNjU2MywKKyAgICAweDMzODdiZThiLCAweDIyZmFkNGYyLCAweDliMDEwZjFhLCAweGNmODljYzg3LCAweDc2NzIxNzZmLAorICAgIDB4NjcwZjdkMTYsIDB4ZGVmNGE2ZmUsIDB4NDVmNWE5ZTQsIDB4ZmMwZTcyMGMsIDB4ZWQ3MzE4NzUsCisgICAgMHg1NDg4YzM5ZCwgMHg0NDYyOWY0ZiwgMHhmZDk5NDRhNywgMHhlY2U0MmVkZSwgMHg1NTFmZjUzNiwKKyAgICAweGNlMWVmYTJjLCAweDc3ZTUyMWM0LCAweDY2OTg0YmJkLCAweGRmNjM5MDU1LCAweDhiZWI1M2M4LAorICAgIDB4MzIxMDg4MjAsIDB4MjM2ZGUyNTksIDB4OWE5NjM5YjEsIDB4MDE5NzM2YWIsIDB4Yjg2Y2VkNDMsCisgICAgMHhhOTExODczYSwgMHgxMGVhNWNkMiwgMHg4OGM1M2U5ZSwgMHgzMTNlZTU3NiwgMHgyMDQzOGYwZiwKKyAgICAweDk5Yjg1NGU3LCAweDAyYjk1YmZkLCAweGJiNDI4MDE1LCAweGFhM2ZlYTZjLCAweDEzYzQzMTg0LAorICAgIDB4NDc0Y2YyMTksIDB4ZmViNzI5ZjEsIDB4ZWZjYTQzODgsIDB4NTYzMTk4NjAsIDB4Y2QzMDk3N2EsCisgICAgMHg3NGNiNGM5MiwgMHg2NWI2MjZlYiwgMHhkYzRkZmQwMywgMHhjY2E3YTFkMSwgMHg3NTVjN2EzOSwKKyAgICAweDY0MjExMDQwLCAweGRkZGFjYmE4LCAweDQ2ZGJjNGIyLCAweGZmMjAxZjVhLCAweGVlNWQ3NTIzLAorICAgIDB4NTdhNmFlY2IsIDB4MDMyZTZkNTYsIDB4YmFkNWI2YmUsIDB4YWJhOGRjYzcsIDB4MTI1MzA3MmYsCisgICAgMHg4OTUyMDgzNSwgMHgzMGE5ZDNkZCwgMHgyMWQ0YjlhNCwgMHg5ODJmNjI0YywgMHhjYWZiN2I3ZCwKKyAgICAweDczMDBhMDk1LCAweDYyN2RjYWVjLCAweGRiODYxMTA0LCAweDQwODcxZTFlLCAweGY5N2NjNWY2LAorICAgIDB4ZTgwMWFmOGYsIDB4NTFmYTc0NjcsIDB4MDU3MmI3ZmEsIDB4YmM4OTZjMTIsIDB4YWRmNDA2NmIsCisgICAgMHgxNDBmZGQ4MywgMHg4ZjBlZDI5OSwgMHgzNmY1MDk3MSwgMHgyNzg4NjMwOCwgMHg5ZTczYjhlMCwKKyAgICAweDhlOTllNDMyLCAweDM3NjIzZmRhLCAweDI2MWY1NWEzLCAweDlmZTQ4ZTRiLCAweDA0ZTU4MTUxLAorICAgIDB4YmQxZTVhYjksIDB4YWM2MzMwYzAsIDB4MTU5OGViMjgsIDB4NDExMDI4YjUsIDB4ZjhlYmYzNWQsCisgICAgMHhlOTk2OTkyNCwgMHg1MDZkNDJjYywgMHhjYjZjNGRkNiwgMHg3Mjk3OTYzZSwgMHg2M2VhZmM0NywKKyAgICAweGRhMTEyN2FmLCAweDQyM2U0NWUzLCAweGZiYzU5ZTBiLCAweGVhYjhmNDcyLCAweDUzNDMyZjlhLAorICAgIDB4Yzg0MjIwODAsIDB4NzFiOWZiNjgsIDB4NjBjNDkxMTEsIDB4ZDkzZjRhZjksIDB4OGRiNzg5NjQsCisgICAgMHgzNDRjNTI4YywgMHgyNTMxMzhmNSwgMHg5Y2NhZTMxZCwgMHgwN2NiZWMwNywgMHhiZTMwMzdlZiwKKyAgICAweGFmNGQ1ZDk2LCAweDE2YjY4NjdlLCAweDA2NWNkYWFjLCAweGJmYTcwMTQ0LCAweGFlZGE2YjNkLAorICAgIDB4MTcyMWIwZDUsIDB4OGMyMGJmY2YsIDB4MzVkYjY0MjcsIDB4MjRhNjBlNWUsIDB4OWQ1ZGQ1YjYsCisgICAgMHhjOWQ1MTYyYiwgMHg3MDJlY2RjMywgMHg2MTUzYTdiYSwgMHhkOGE4N2M1MiwgMHg0M2E5NzM0OCwKKyAgICAweGZhNTJhOGEwLCAweGViMmZjMmQ5LCAweDUyZDQxOTMxLCAweDRlODdmMGJiLCAweGY3N2MyYjUzLAorICAgIDB4ZTYwMTQxMmEsIDB4NWZmYTlhYzIsIDB4YzRmYjk1ZDgsIDB4N2QwMDRlMzAsIDB4NmM3ZDI0NDksCisgICAgMHhkNTg2ZmZhMSwgMHg4MTBlM2MzYywgMHgzOGY1ZTdkNCwgMHgyOTg4OGRhZCwgMHg5MDczNTY0NSwKKyAgICAweDBiNzI1OTVmLCAweGIyODk4MmI3LCAweGEzZjRlOGNlLCAweDFhMGYzMzI2LCAweDBhZTU2ZmY0LAorICAgIDB4YjMxZWI0MWMsIDB4YTI2M2RlNjUsIDB4MWI5ODA1OGQsIDB4ODA5OTBhOTcsIDB4Mzk2MmQxN2YsCisgICAgMHgyODFmYmIwNiwgMHg5MWU0NjBlZSwgMHhjNTZjYTM3MywgMHg3Yzk3Nzg5YiwgMHg2ZGVhMTJlMiwKKyAgICAweGQ0MTFjOTBhLCAweDRmMTBjNjEwLCAweGY2ZWIxZGY4LCAweGU3OTY3NzgxLCAweDVlNmRhYzY5LAorICAgIDB4YzY0MmNlMjUsIDB4N2ZiOTE1Y2QsIDB4NmVjNDdmYjQsIDB4ZDczZmE0NWMsIDB4NGMzZWFiNDYsCisgICAgMHhmNWM1NzBhZSwgMHhlNGI4MWFkNywgMHg1ZDQzYzEzZiwgMHgwOWNiMDJhMiwgMHhiMDMwZDk0YSwKKyAgICAweGExNGRiMzMzLCAweDE4YjY2OGRiLCAweDgzYjc2N2MxLCAweDNhNGNiYzI5LCAweDJiMzFkNjUwLAorICAgIDB4OTJjYTBkYjgsIDB4ODIyMDUxNmEsIDB4M2JkYjhhODIsIDB4MmFhNmUwZmIsIDB4OTM1ZDNiMTMsCisgICAgMHgwODVjMzQwOSwgMHhiMWE3ZWZlMSwgMHhhMGRhODU5OCwgMHgxOTIxNWU3MCwgMHg0ZGE5OWRlZCwKKyAgICAweGY0NTI0NjA1LCAweGU1MmYyYzdjLCAweDVjZDRmNzk0LCAweGM3ZDVmODhlLCAweDdlMmUyMzY2LAorICAgIDB4NmY1MzQ5MWYsIDB4ZDZhODkyZjcsIDB4ODQ3YzhiYzYsIDB4M2Q4NzUwMmUsIDB4MmNmYTNhNTcsCisgICAgMHg5NTAxZTFiZiwgMHgwZTAwZWVhNSwgMHhiN2ZiMzU0ZCwgMHhhNjg2NWYzNCwgMHgxZjdkODRkYywKKyAgICAweDRiZjU0NzQxLCAweGYyMGU5Y2E5LCAweGUzNzNmNmQwLCAweDVhODgyZDM4LCAweGMxODkyMjIyLAorICAgIDB4Nzg3MmY5Y2EsIDB4NjkwZjkzYjMsIDB4ZDBmNDQ4NWIsIDB4YzAxZTE0ODksIDB4NzllNWNmNjEsCisgICAgMHg2ODk4YTUxOCwgMHhkMTYzN2VmMCwgMHg0YTYyNzFlYSwgMHhmMzk5YWEwMiwgMHhlMmU0YzA3YiwKKyAgICAweDViMWYxYjkzLCAweDBmOTdkODBlLCAweGI2NmMwM2U2LCAweGE3MTE2OTlmLCAweDFlZWFiMjc3LAorICAgIDB4ODVlYmJkNmQsIDB4M2MxMDY2ODUsIDB4MmQ2ZDBjZmMsIDB4OTQ5NmQ3MTQsIDB4MGNiOWI1NTgsCisgICAgMHhiNTQyNmViMCwgMHhhNDNmMDRjOSwgMHgxZGM0ZGYyMSwgMHg4NmM1ZDAzYiwgMHgzZjNlMGJkMywKKyAgICAweDJlNDM2MWFhLCAweDk3YjhiYTQyLCAweGMzMzA3OWRmLCAweDdhY2JhMjM3LCAweDZiYjZjODRlLAorICAgIDB4ZDI0ZDEzYTYsIDB4NDk0YzFjYmMsIDB4ZjBiN2M3NTQsIDB4ZTFjYWFkMmQsIDB4NTgzMTc2YzUsCisgICAgMHg0OGRiMmExNywgMHhmMTIwZjFmZiwgMHhlMDVkOWI4NiwgMHg1OWE2NDA2ZSwgMHhjMmE3NGY3NCwKKyAgICAweDdiNWM5NDljLCAweDZhMjFmZWU1LCAweGQzZGEyNTBkLCAweDg3NTJlNjkwLCAweDNlYTkzZDc4LAorICAgIDB4MmZkNDU3MDEsIDB4OTYyZjhjZTksIDB4MGQyZTgzZjMsIDB4YjRkNTU4MWIsIDB4YTVhODMyNjIsCisgICAgMHgxYzUzZTk4YX0sCisgICB7MHgwMDAwMDAwMCwgMHg5ZDBmZTE3NiwgMHhlMTZlYzRhZCwgMHg3YzYxMjVkYiwgMHgxOWFjOGYxYiwKKyAgICAweDg0YTM2ZTZkLCAweGY4YzI0YmI2LCAweDY1Y2RhYWMwLCAweDMzNTkxZTM2LCAweGFlNTZmZjQwLAorICAgIDB4ZDIzN2RhOWIsIDB4NGYzODNiZWQsIDB4MmFmNTkxMmQsIDB4YjdmYTcwNWIsIDB4Y2I5YjU1ODAsCisgICAgMHg1Njk0YjRmNiwgMHg2NmIyM2M2YywgMHhmYmJkZGQxYSwgMHg4N2RjZjhjMSwgMHgxYWQzMTliNywKKyAgICAweDdmMWViMzc3LCAweGUyMTE1MjAxLCAweDllNzA3N2RhLCAweDAzN2Y5NmFjLCAweDU1ZWIyMjVhLAorICAgIDB4YzhlNGMzMmMsIDB4YjQ4NWU2ZjcsIDB4Mjk4YTA3ODEsIDB4NGM0N2FkNDEsIDB4ZDE0ODRjMzcsCisgICAgMHhhZDI5NjllYywgMHgzMDI2ODg5YSwgMHhjZDY0NzhkOCwgMHg1MDZiOTlhZSwgMHgyYzBhYmM3NSwKKyAgICAweGIxMDU1ZDAzLCAweGQ0YzhmN2MzLCAweDQ5YzcxNmI1LCAweDM1YTYzMzZlLCAweGE4YTlkMjE4LAorICAgIDB4ZmUzZDY2ZWUsIDB4NjMzMjg3OTgsIDB4MWY1M2EyNDMsIDB4ODI1YzQzMzUsIDB4ZTc5MWU5ZjUsCisgICAgMHg3YTllMDg4MywgMHgwNmZmMmQ1OCwgMHg5YmYwY2MyZSwgMHhhYmQ2NDRiNCwgMHgzNmQ5YTVjMiwKKyAgICAweDRhYjg4MDE5LCAweGQ3Yjc2MTZmLCAweGIyN2FjYmFmLCAweDJmNzUyYWQ5LCAweDUzMTQwZjAyLAorICAgIDB4Y2UxYmVlNzQsIDB4OTg4ZjVhODIsIDB4MDU4MGJiZjQsIDB4NzllMTllMmYsIDB4ZTRlZTdmNTksCisgICAgMHg4MTIzZDU5OSwgMHgxYzJjMzRlZiwgMHg2MDRkMTEzNCwgMHhmZDQyZjA0MiwgMHg0MWI5ZjdmMSwKKyAgICAweGRjYjYxNjg3LCAweGEwZDczMzVjLCAweDNkZDhkMjJhLCAweDU4MTU3OGVhLCAweGM1MWE5OTljLAorICAgIDB4Yjk3YmJjNDcsIDB4MjQ3NDVkMzEsIDB4NzJlMGU5YzcsIDB4ZWZlZjA4YjEsIDB4OTM4ZTJkNmEsCisgICAgMHgwZTgxY2MxYywgMHg2YjRjNjZkYywgMHhmNjQzODdhYSwgMHg4YTIyYTI3MSwgMHgxNzJkNDMwNywKKyAgICAweDI3MGJjYjlkLCAweGJhMDQyYWViLCAweGM2NjUwZjMwLCAweDViNmFlZTQ2LCAweDNlYTc0NDg2LAorICAgIDB4YTNhOGE1ZjAsIDB4ZGZjOTgwMmIsIDB4NDJjNjYxNWQsIDB4MTQ1MmQ1YWIsIDB4ODk1ZDM0ZGQsCisgICAgMHhmNTNjMTEwNiwgMHg2ODMzZjA3MCwgMHgwZGZlNWFiMCwgMHg5MGYxYmJjNiwgMHhlYzkwOWUxZCwKKyAgICAweDcxOWY3ZjZiLCAweDhjZGQ4ZjI5LCAweDExZDI2ZTVmLCAweDZkYjM0Yjg0LCAweGYwYmNhYWYyLAorICAgIDB4OTU3MTAwMzIsIDB4MDg3ZWUxNDQsIDB4NzQxZmM0OWYsIDB4ZTkxMDI1ZTksIDB4YmY4NDkxMWYsCisgICAgMHgyMjhiNzA2OSwgMHg1ZWVhNTViMiwgMHhjM2U1YjRjNCwgMHhhNjI4MWUwNCwgMHgzYjI3ZmY3MiwKKyAgICAweDQ3NDZkYWE5LCAweGRhNDkzYmRmLCAweGVhNmZiMzQ1LCAweDc3NjA1MjMzLCAweDBiMDE3N2U4LAorICAgIDB4OTYwZTk2OWUsIDB4ZjNjMzNjNWUsIDB4NmVjY2RkMjgsIDB4MTJhZGY4ZjMsIDB4OGZhMjE5ODUsCisgICAgMHhkOTM2YWQ3MywgMHg0NDM5NGMwNSwgMHgzODU4NjlkZSwgMHhhNTU3ODhhOCwgMHhjMDlhMjI2OCwKKyAgICAweDVkOTVjMzFlLCAweDIxZjRlNmM1LCAweGJjZmIwN2IzLCAweDgzNzNlZmUyLCAweDFlN2MwZTk0LAorICAgIDB4NjIxZDJiNGYsIDB4ZmYxMmNhMzksIDB4OWFkZjYwZjksIDB4MDdkMDgxOGYsIDB4N2JiMWE0NTQsCisgICAgMHhlNmJlNDUyMiwgMHhiMDJhZjFkNCwgMHgyZDI1MTBhMiwgMHg1MTQ0MzU3OSwgMHhjYzRiZDQwZiwKKyAgICAweGE5ODY3ZWNmLCAweDM0ODk5ZmI5LCAweDQ4ZThiYTYyLCAweGQ1ZTc1YjE0LCAweGU1YzFkMzhlLAorICAgIDB4NzhjZTMyZjgsIDB4MDRhZjE3MjMsIDB4OTlhMGY2NTUsIDB4ZmM2ZDVjOTUsIDB4NjE2MmJkZTMsCisgICAgMHgxZDAzOTgzOCwgMHg4MDBjNzk0ZSwgMHhkNjk4Y2RiOCwgMHg0Yjk3MmNjZSwgMHgzN2Y2MDkxNSwKKyAgICAweGFhZjllODYzLCAweGNmMzQ0MmEzLCAweDUyM2JhM2Q1LCAweDJlNWE4NjBlLCAweGIzNTU2Nzc4LAorICAgIDB4NGUxNzk3M2EsIDB4ZDMxODc2NGMsIDB4YWY3OTUzOTcsIDB4MzI3NmIyZTEsIDB4NTdiYjE4MjEsCisgICAgMHhjYWI0Zjk1NywgMHhiNmQ1ZGM4YywgMHgyYmRhM2RmYSwgMHg3ZDRlODkwYywgMHhlMDQxNjg3YSwKKyAgICAweDljMjA0ZGExLCAweDAxMmZhY2Q3LCAweDY0ZTIwNjE3LCAweGY5ZWRlNzYxLCAweDg1OGNjMmJhLAorICAgIDB4MTg4MzIzY2MsIDB4MjhhNWFiNTYsIDB4YjVhYTRhMjAsIDB4YzljYjZmZmIsIDB4NTRjNDhlOGQsCisgICAgMHgzMTA5MjQ0ZCwgMHhhYzA2YzUzYiwgMHhkMDY3ZTBlMCwgMHg0ZDY4MDE5NiwgMHgxYmZjYjU2MCwKKyAgICAweDg2ZjM1NDE2LCAweGZhOTI3MWNkLCAweDY3OWQ5MGJiLCAweDAyNTAzYTdiLCAweDlmNWZkYjBkLAorICAgIDB4ZTMzZWZlZDYsIDB4N2UzMTFmYTAsIDB4YzJjYTE4MTMsIDB4NWZjNWY5NjUsIDB4MjNhNGRjYmUsCisgICAgMHhiZWFiM2RjOCwgMHhkYjY2OTcwOCwgMHg0NjY5NzY3ZSwgMHgzYTA4NTNhNSwgMHhhNzA3YjJkMywKKyAgICAweGYxOTMwNjI1LCAweDZjOWNlNzUzLCAweDEwZmRjMjg4LCAweDhkZjIyM2ZlLCAweGU4M2Y4OTNlLAorICAgIDB4NzUzMDY4NDgsIDB4MDk1MTRkOTMsIDB4OTQ1ZWFjZTUsIDB4YTQ3ODI0N2YsIDB4Mzk3N2M1MDksCisgICAgMHg0NTE2ZTBkMiwgMHhkODE5MDFhNCwgMHhiZGQ0YWI2NCwgMHgyMGRiNGExMiwgMHg1Y2JhNmZjOSwKKyAgICAweGMxYjU4ZWJmLCAweDk3MjEzYTQ5LCAweDBhMmVkYjNmLCAweDc2NGZmZWU0LCAweGViNDAxZjkyLAorICAgIDB4OGU4ZGI1NTIsIDB4MTM4MjU0MjQsIDB4NmZlMzcxZmYsIDB4ZjJlYzkwODksIDB4MGZhZTYwY2IsCisgICAgMHg5MmExODFiZCwgMHhlZWMwYTQ2NiwgMHg3M2NmNDUxMCwgMHgxNjAyZWZkMCwgMHg4YjBkMGVhNiwKKyAgICAweGY3NmMyYjdkLCAweDZhNjNjYTBiLCAweDNjZjc3ZWZkLCAweGExZjg5ZjhiLCAweGRkOTliYTUwLAorICAgIDB4NDA5NjViMjYsIDB4MjU1YmYxZTYsIDB4Yjg1NDEwOTAsIDB4YzQzNTM1NGIsIDB4NTkzYWQ0M2QsCisgICAgMHg2OTFjNWNhNywgMHhmNDEzYmRkMSwgMHg4ODcyOTgwYSwgMHgxNTdkNzk3YywgMHg3MGIwZDNiYywKKyAgICAweGVkYmYzMmNhLCAweDkxZGUxNzExLCAweDBjZDFmNjY3LCAweDVhNDU0MjkxLCAweGM3NGFhM2U3LAorICAgIDB4YmIyYjg2M2MsIDB4MjYyNDY3NGEsIDB4NDNlOWNkOGEsIDB4ZGVlNjJjZmMsIDB4YTI4NzA5MjcsCisgICAgMHgzZjg4ZTg1MX0sCisgICB7MHgwMDAwMDAwMCwgMHhkZDk2ZDk4NSwgMHg2MDVjYjU0YiwgMHhiZGNhNmNjZSwgMHhjMGI5NmE5NiwKKyAgICAweDFkMmZiMzEzLCAweGEwZTVkZmRkLCAweDdkNzMwNjU4LCAweDVhMDNkMzZkLCAweDg3OTUwYWU4LAorICAgIDB4M2E1ZjY2MjYsIDB4ZTdjOWJmYTMsIDB4OWFiYWI5ZmIsIDB4NDcyYzYwN2UsIDB4ZmFlNjBjYjAsCisgICAgMHgyNzcwZDUzNSwgMHhiNDA3YTZkYSwgMHg2OTkxN2Y1ZiwgMHhkNDViMTM5MSwgMHgwOWNkY2ExNCwKKyAgICAweDc0YmVjYzRjLCAweGE5MjgxNWM5LCAweDE0ZTI3OTA3LCAweGM5NzRhMDgyLCAweGVlMDQ3NWI3LAorICAgIDB4MzM5MmFjMzIsIDB4OGU1OGMwZmMsIDB4NTNjZTE5NzksIDB4MmViZDFmMjEsIDB4ZjMyYmM2YTQsCisgICAgMHg0ZWUxYWE2YSwgMHg5Mzc3NzNlZiwgMHhiMzdlNGJmNSwgMHg2ZWU4OTI3MCwgMHhkMzIyZmViZSwKKyAgICAweDBlYjQyNzNiLCAweDczYzcyMTYzLCAweGFlNTFmOGU2LCAweDEzOWI5NDI4LCAweGNlMGQ0ZGFkLAorICAgIDB4ZTk3ZDk4OTgsIDB4MzRlYjQxMWQsIDB4ODkyMTJkZDMsIDB4NTRiN2Y0NTYsIDB4MjljNGYyMGUsCisgICAgMHhmNDUyMmI4YiwgMHg0OTk4NDc0NSwgMHg5NDBlOWVjMCwgMHgwNzc5ZWQyZiwgMHhkYWVmMzRhYSwKKyAgICAweDY3MjU1ODY0LCAweGJhYjM4MWUxLCAweGM3YzA4N2I5LCAweDFhNTY1ZTNjLCAweGE3OWMzMmYyLAorICAgIDB4N2EwYWViNzcsIDB4NWQ3YTNlNDIsIDB4ODBlY2U3YzcsIDB4M2QyNjhiMDksIDB4ZTBiMDUyOGMsCisgICAgMHg5ZGMzNTRkNCwgMHg0MDU1OGQ1MSwgMHhmZDlmZTE5ZiwgMHgyMDA5MzgxYSwgMHhiZDhkOTFhYiwKKyAgICAweDYwMWI0ODJlLCAweGRkZDEyNGUwLCAweDAwNDdmZDY1LCAweDdkMzRmYjNkLCAweGEwYTIyMmI4LAorICAgIDB4MWQ2ODRlNzYsIDB4YzBmZTk3ZjMsIDB4ZTc4ZTQyYzYsIDB4M2ExODliNDMsIDB4ODdkMmY3OGQsCisgICAgMHg1YTQ0MmUwOCwgMHgyNzM3Mjg1MCwgMHhmYWExZjFkNSwgMHg0NzZiOWQxYiwgMHg5YWZkNDQ5ZSwKKyAgICAweDA5OGEzNzcxLCAweGQ0MWNlZWY0LCAweDY5ZDY4MjNhLCAweGI0NDA1YmJmLCAweGM5MzM1ZGU3LAorICAgIDB4MTRhNTg0NjIsIDB4YTk2ZmU4YWMsIDB4NzRmOTMxMjksIDB4NTM4OWU0MWMsIDB4OGUxZjNkOTksCisgICAgMHgzM2Q1NTE1NywgMHhlZTQzODhkMiwgMHg5MzMwOGU4YSwgMHg0ZWE2NTcwZiwgMHhmMzZjM2JjMSwKKyAgICAweDJlZmFlMjQ0LCAweDBlZjNkYTVlLCAweGQzNjUwM2RiLCAweDZlYWY2ZjE1LCAweGIzMzliNjkwLAorICAgIDB4Y2U0YWIwYzgsIDB4MTNkYzY5NGQsIDB4YWUxNjA1ODMsIDB4NzM4MGRjMDYsIDB4NTRmMDA5MzMsCisgICAgMHg4OTY2ZDBiNiwgMHgzNGFjYmM3OCwgMHhlOTNhNjVmZCwgMHg5NDQ5NjNhNSwgMHg0OWRmYmEyMCwKKyAgICAweGY0MTVkNmVlLCAweDI5ODMwZjZiLCAweGJhZjQ3Yzg0LCAweDY3NjJhNTAxLCAweGRhYThjOWNmLAorICAgIDB4MDczZTEwNGEsIDB4N2E0ZDE2MTIsIDB4YTdkYmNmOTcsIDB4MWExMWEzNTksIDB4Yzc4NzdhZGMsCisgICAgMHhlMGY3YWZlOSwgMHgzZDYxNzY2YywgMHg4MGFiMWFhMiwgMHg1ZDNkYzMyNywgMHgyMDRlYzU3ZiwKKyAgICAweGZkZDgxY2ZhLCAweDQwMTI3MDM0LCAweDlkODRhOWIxLCAweGEwNmEyNTE3LCAweDdkZmNmYzkyLAorICAgIDB4YzAzNjkwNWMsIDB4MWRhMDQ5ZDksIDB4NjBkMzRmODEsIDB4YmQ0NTk2MDQsIDB4MDA4ZmZhY2EsCisgICAgMHhkZDE5MjM0ZiwgMHhmYTY5ZjY3YSwgMHgyN2ZmMmZmZiwgMHg5YTM1NDMzMSwgMHg0N2EzOWFiNCwKKyAgICAweDNhZDA5Y2VjLCAweGU3NDY0NTY5LCAweDVhOGMyOWE3LCAweDg3MWFmMDIyLCAweDE0NmQ4M2NkLAorICAgIDB4YzlmYjVhNDgsIDB4NzQzMTM2ODYsIDB4YTlhN2VmMDMsIDB4ZDRkNGU5NWIsIDB4MDk0MjMwZGUsCisgICAgMHhiNDg4NWMxMCwgMHg2OTFlODU5NSwgMHg0ZTZlNTBhMCwgMHg5M2Y4ODkyNSwgMHgyZTMyZTVlYiwKKyAgICAweGYzYTQzYzZlLCAweDhlZDczYTM2LCAweDUzNDFlM2IzLCAweGVlOGI4ZjdkLCAweDMzMWQ1NmY4LAorICAgIDB4MTMxNDZlZTIsIDB4Y2U4MmI3NjcsIDB4NzM0OGRiYTksIDB4YWVkZTAyMmMsIDB4ZDNhZDA0NzQsCisgICAgMHgwZTNiZGRmMSwgMHhiM2YxYjEzZiwgMHg2ZTY3NjhiYSwgMHg0OTE3YmQ4ZiwgMHg5NDgxNjQwYSwKKyAgICAweDI5NGIwOGM0LCAweGY0ZGRkMTQxLCAweDg5YWVkNzE5LCAweDU0MzgwZTljLCAweGU5ZjI2MjUyLAorICAgIDB4MzQ2NGJiZDcsIDB4YTcxM2M4MzgsIDB4N2E4NTExYmQsIDB4Yzc0ZjdkNzMsIDB4MWFkOWE0ZjYsCisgICAgMHg2N2FhYTJhZSwgMHhiYTNjN2IyYiwgMHgwN2Y2MTdlNSwgMHhkYTYwY2U2MCwgMHhmZDEwMWI1NSwKKyAgICAweDIwODZjMmQwLCAweDlkNGNhZTFlLCAweDQwZGE3NzliLCAweDNkYTk3MWMzLCAweGUwM2ZhODQ2LAorICAgIDB4NWRmNWM0ODgsIDB4ODA2MzFkMGQsIDB4MWRlN2I0YmMsIDB4YzA3MTZkMzksIDB4N2RiYjAxZjcsCisgICAgMHhhMDJkZDg3MiwgMHhkZDVlZGUyYSwgMHgwMGM4MDdhZiwgMHhiZDAyNmI2MSwgMHg2MDk0YjJlNCwKKyAgICAweDQ3ZTQ2N2QxLCAweDlhNzJiZTU0LCAweDI3YjhkMjlhLCAweGZhMmUwYjFmLCAweDg3NWQwZDQ3LAorICAgIDB4NWFjYmQ0YzIsIDB4ZTcwMWI4MGMsIDB4M2E5NzYxODksIDB4YTllMDEyNjYsIDB4NzQ3NmNiZTMsCisgICAgMHhjOWJjYTcyZCwgMHgxNDJhN2VhOCwgMHg2OTU5NzhmMCwgMHhiNGNmYTE3NSwgMHgwOTA1Y2RiYiwKKyAgICAweGQ0OTMxNDNlLCAweGYzZTNjMTBiLCAweDJlNzUxODhlLCAweDkzYmY3NDQwLCAweDRlMjlhZGM1LAorICAgIDB4MzM1YWFiOWQsIDB4ZWVjYzcyMTgsIDB4NTMwNjFlZDYsIDB4OGU5MGM3NTMsIDB4YWU5OWZmNDksCisgICAgMHg3MzBmMjZjYywgMHhjZWM1NGEwMiwgMHgxMzUzOTM4NywgMHg2ZTIwOTVkZiwgMHhiM2I2NGM1YSwKKyAgICAweDBlN2MyMDk0LCAweGQzZWFmOTExLCAweGY0OWEyYzI0LCAweDI5MGNmNWExLCAweDk0YzY5OTZmLAorICAgIDB4NDk1MDQwZWEsIDB4MzQyMzQ2YjIsIDB4ZTliNTlmMzcsIDB4NTQ3ZmYzZjksIDB4ODllOTJhN2MsCisgICAgMHgxYTllNTk5MywgMHhjNzA4ODAxNiwgMHg3YWMyZWNkOCwgMHhhNzU0MzU1ZCwgMHhkYTI3MzMwNSwKKyAgICAweDA3YjFlYTgwLCAweGJhN2I4NjRlLCAweDY3ZWQ1ZmNiLCAweDQwOWQ4YWZlLCAweDlkMGI1MzdiLAorICAgIDB4MjBjMTNmYjUsIDB4ZmQ1N2U2MzAsIDB4ODAyNGUwNjgsIDB4NWRiMjM5ZWQsIDB4ZTA3ODU1MjMsCisgICAgMHgzZGVlOGNhNn0sCisgICB7MHgwMDAwMDAwMCwgMHg5YmE1NGM2ZiwgMHhlYzNiOWU5ZiwgMHg3NzllZDJmMCwgMHgwMzA2M2I3ZiwKKyAgICAweDk4YTM3NzEwLCAweGVmM2RhNWUwLCAweDc0OThlOThmLCAweDA2MGM3NmZlLCAweDlkYTkzYTkxLAorICAgIDB4ZWEzN2U4NjEsIDB4NzE5MmE0MGUsIDB4MDUwYTRkODEsIDB4OWVhZjAxZWUsIDB4ZTkzMWQzMWUsCisgICAgMHg3Mjk0OWY3MSwgMHgwYzE4ZWRmYywgMHg5N2JkYTE5MywgMHhlMDIzNzM2MywgMHg3Yjg2M2YwYywKKyAgICAweDBmMWVkNjgzLCAweDk0YmI5YWVjLCAweGUzMjU0ODFjLCAweDc4ODAwNDczLCAweDBhMTQ5YjAyLAorICAgIDB4OTFiMWQ3NmQsIDB4ZTYyZjA1OWQsIDB4N2Q4YTQ5ZjIsIDB4MDkxMmEwN2QsIDB4OTJiN2VjMTIsCisgICAgMHhlNTI5M2VlMiwgMHg3ZThjNzI4ZCwgMHgxODMxZGJmOCwgMHg4Mzk0OTc5NywgMHhmNDBhNDU2NywKKyAgICAweDZmYWYwOTA4LCAweDFiMzdlMDg3LCAweDgwOTJhY2U4LCAweGY3MGM3ZTE4LCAweDZjYTkzMjc3LAorICAgIDB4MWUzZGFkMDYsIDB4ODU5OGUxNjksIDB4ZjIwNjMzOTksIDB4NjlhMzdmZjYsIDB4MWQzYjk2NzksCisgICAgMHg4NjllZGExNiwgMHhmMTAwMDhlNiwgMHg2YWE1NDQ4OSwgMHgxNDI5MzYwNCwgMHg4ZjhjN2E2YiwKKyAgICAweGY4MTJhODliLCAweDYzYjdlNGY0LCAweDE3MmYwZDdiLCAweDhjOGE0MTE0LCAweGZiMTQ5M2U0LAorICAgIDB4NjBiMWRmOGIsIDB4MTIyNTQwZmEsIDB4ODk4MDBjOTUsIDB4ZmUxZWRlNjUsIDB4NjViYjkyMGEsCisgICAgMHgxMTIzN2I4NSwgMHg4YTg2MzdlYSwgMHhmZDE4ZTUxYSwgMHg2NmJkYTk3NSwgMHgzMDYzYjdmMCwKKyAgICAweGFiYzZmYjlmLCAweGRjNTgyOTZmLCAweDQ3ZmQ2NTAwLCAweDMzNjU4YzhmLCAweGE4YzBjMGUwLAorICAgIDB4ZGY1ZTEyMTAsIDB4NDRmYjVlN2YsIDB4MzY2ZmMxMGUsIDB4YWRjYThkNjEsIDB4ZGE1NDVmOTEsCisgICAgMHg0MWYxMTNmZSwgMHgzNTY5ZmE3MSwgMHhhZWNjYjYxZSwgMHhkOTUyNjRlZSwgMHg0MmY3Mjg4MSwKKyAgICAweDNjN2I1YTBjLCAweGE3ZGUxNjYzLCAweGQwNDBjNDkzLCAweDRiZTU4OGZjLCAweDNmN2Q2MTczLAorICAgIDB4YTRkODJkMWMsIDB4ZDM0NmZmZWMsIDB4NDhlM2IzODMsIDB4M2E3NzJjZjIsIDB4YTFkMjYwOWQsCisgICAgMHhkNjRjYjI2ZCwgMHg0ZGU5ZmUwMiwgMHgzOTcxMTc4ZCwgMHhhMmQ0NWJlMiwgMHhkNTRhODkxMiwKKyAgICAweDRlZWZjNTdkLCAweDI4NTI2YzA4LCAweGIzZjcyMDY3LCAweGM0NjlmMjk3LCAweDVmY2NiZWY4LAorICAgIDB4MmI1NDU3NzcsIDB4YjBmMTFiMTgsIDB4Yzc2ZmM5ZTgsIDB4NWNjYTg1ODcsIDB4MmU1ZTFhZjYsCisgICAgMHhiNWZiNTY5OSwgMHhjMjY1ODQ2OSwgMHg1OWMwYzgwNiwgMHgyZDU4MjE4OSwgMHhiNmZkNmRlNiwKKyAgICAweGMxNjNiZjE2LCAweDVhYzZmMzc5LCAweDI0NGE4MWY0LCAweGJmZWZjZDliLCAweGM4NzExZjZiLAorICAgIDB4NTNkNDUzMDQsIDB4Mjc0Y2JhOGIsIDB4YmNlOWY2ZTQsIDB4Y2I3NzI0MTQsIDB4NTBkMjY4N2IsCisgICAgMHgyMjQ2ZjcwYSwgMHhiOWUzYmI2NSwgMHhjZTdkNjk5NSwgMHg1NWQ4MjVmYSwgMHgyMTQwY2M3NSwKKyAgICAweGJhZTU4MDFhLCAweGNkN2I1MmVhLCAweDU2ZGUxZTg1LCAweDYwYzc2ZmUwLCAweGZiNjIyMzhmLAorICAgIDB4OGNmY2YxN2YsIDB4MTc1OWJkMTAsIDB4NjNjMTU0OWYsIDB4Zjg2NDE4ZjAsIDB4OGZmYWNhMDAsCisgICAgMHgxNDVmODY2ZiwgMHg2NmNiMTkxZSwgMHhmZDZlNTU3MSwgMHg4YWYwODc4MSwgMHgxMTU1Y2JlZSwKKyAgICAweDY1Y2QyMjYxLCAweGZlNjg2ZTBlLCAweDg5ZjZiY2ZlLCAweDEyNTNmMDkxLCAweDZjZGY4MjFjLAorICAgIDB4Zjc3YWNlNzMsIDB4ODBlNDFjODMsIDB4MWI0MTUwZWMsIDB4NmZkOWI5NjMsIDB4ZjQ3Y2Y1MGMsCisgICAgMHg4M2UyMjdmYywgMHgxODQ3NmI5MywgMHg2YWQzZjRlMiwgMHhmMTc2Yjg4ZCwgMHg4NmU4NmE3ZCwKKyAgICAweDFkNGQyNjEyLCAweDY5ZDVjZjlkLCAweGYyNzA4M2YyLCAweDg1ZWU1MTAyLCAweDFlNGIxZDZkLAorICAgIDB4NzhmNmI0MTgsIDB4ZTM1M2Y4NzcsIDB4OTRjZDJhODcsIDB4MGY2ODY2ZTgsIDB4N2JmMDhmNjcsCisgICAgMHhlMDU1YzMwOCwgMHg5N2NiMTFmOCwgMHgwYzZlNWQ5NywgMHg3ZWZhYzJlNiwgMHhlNTVmOGU4OSwKKyAgICAweDkyYzE1Yzc5LCAweDA5NjQxMDE2LCAweDdkZmNmOTk5LCAweGU2NTliNWY2LCAweDkxYzc2NzA2LAorICAgIDB4MGE2MjJiNjksIDB4NzRlZTU5ZTQsIDB4ZWY0YjE1OGIsIDB4OThkNWM3N2IsIDB4MDM3MDhiMTQsCisgICAgMHg3N2U4NjI5YiwgMHhlYzRkMmVmNCwgMHg5YmQzZmMwNCwgMHgwMDc2YjA2YiwgMHg3MmUyMmYxYSwKKyAgICAweGU5NDc2Mzc1LCAweDllZDliMTg1LCAweDA1N2NmZGVhLCAweDcxZTQxNDY1LCAweGVhNDE1ODBhLAorICAgIDB4OWRkZjhhZmEsIDB4MDY3YWM2OTUsIDB4NTBhNGQ4MTAsIDB4Y2IwMTk0N2YsIDB4YmM5ZjQ2OGYsCisgICAgMHgyNzNhMGFlMCwgMHg1M2EyZTM2ZiwgMHhjODA3YWYwMCwgMHhiZjk5N2RmMCwgMHgyNDNjMzE5ZiwKKyAgICAweDU2YThhZWVlLCAweGNkMGRlMjgxLCAweGJhOTMzMDcxLCAweDIxMzY3YzFlLCAweDU1YWU5NTkxLAorICAgIDB4Y2UwYmQ5ZmUsIDB4Yjk5NTBiMGUsIDB4MjIzMDQ3NjEsIDB4NWNiYzM1ZWMsIDB4YzcxOTc5ODMsCisgICAgMHhiMDg3YWI3MywgMHgyYjIyZTcxYywgMHg1ZmJhMGU5MywgMHhjNDFmNDJmYywgMHhiMzgxOTAwYywKKyAgICAweDI4MjRkYzYzLCAweDVhYjA0MzEyLCAweGMxMTUwZjdkLCAweGI2OGJkZDhkLCAweDJkMmU5MWUyLAorICAgIDB4NTliNjc4NmQsIDB4YzIxMzM0MDIsIDB4YjU4ZGU2ZjIsIDB4MmUyOGFhOWQsIDB4NDg5NTAzZTgsCisgICAgMHhkMzMwNGY4NywgMHhhNGFlOWQ3NywgMHgzZjBiZDExOCwgMHg0YjkzMzg5NywgMHhkMDM2NzRmOCwKKyAgICAweGE3YThhNjA4LCAweDNjMGRlYTY3LCAweDRlOTk3NTE2LCAweGQ1M2MzOTc5LCAweGEyYTJlYjg5LAorICAgIDB4MzkwN2E3ZTYsIDB4NGQ5ZjRlNjksIDB4ZDYzYTAyMDYsIDB4YTFhNGQwZjYsIDB4M2EwMTljOTksCisgICAgMHg0NDhkZWUxNCwgMHhkZjI4YTI3YiwgMHhhOGI2NzA4YiwgMHgzMzEzM2NlNCwgMHg0NzhiZDU2YiwKKyAgICAweGRjMmU5OTA0LCAweGFiYjA0YmY0LCAweDMwMTUwNzliLCAweDQyODE5OGVhLCAweGQ5MjRkNDg1LAorICAgIDB4YWViYTA2NzUsIDB4MzUxZjRhMWEsIDB4NDE4N2EzOTUsIDB4ZGEyMmVmZmEsIDB4YWRiYzNkMGEsCisgICAgMHgzNjE5NzE2NX0sCisgICB7MHgwMDAwMDAwMCwgMHhjMThlZGZjMCwgMHg1ODZjYjljMSwgMHg5OWUyNjYwMSwgMHhiMGQ5NzM4MiwKKyAgICAweDcxNTdhYzQyLCAweGU4YjVjYTQzLCAweDI5M2IxNTgzLCAweGJhYzNlMTQ1LCAweDdiNGQzZTg1LAorICAgIDB4ZTJhZjU4ODQsIDB4MjMyMTg3NDQsIDB4MGExYTkyYzcsIDB4Y2I5NDRkMDcsIDB4NTI3NjJiMDYsCisgICAgMHg5M2Y4ZjRjNiwgMHhhZWY2YzRjYiwgMHg2Zjc4MWIwYiwgMHhmNjlhN2QwYSwgMHgzNzE0YTJjYSwKKyAgICAweDFlMmZiNzQ5LCAweGRmYTE2ODg5LCAweDQ2NDMwZTg4LCAweDg3Y2RkMTQ4LCAweDE0MzUyNThlLAorICAgIDB4ZDViYmZhNGUsIDB4NGM1OTljNGYsIDB4OGRkNzQzOGYsIDB4YTRlYzU2MGMsIDB4NjU2Mjg5Y2MsCisgICAgMHhmYzgwZWZjZCwgMHgzZDBlMzAwZCwgMHg4NjljOGZkNywgMHg0NzEyNTAxNywgMHhkZWYwMzYxNiwKKyAgICAweDFmN2VlOWQ2LCAweDM2NDVmYzU1LCAweGY3Y2IyMzk1LCAweDZlMjk0NTk0LCAweGFmYTc5YTU0LAorICAgIDB4M2M1ZjZlOTIsIDB4ZmRkMWIxNTIsIDB4NjQzM2Q3NTMsIDB4YTViZDA4OTMsIDB4OGM4NjFkMTAsCisgICAgMHg0ZDA4YzJkMCwgMHhkNGVhYTRkMSwgMHgxNTY0N2IxMSwgMHgyODZhNGIxYywgMHhlOWU0OTRkYywKKyAgICAweDcwMDZmMmRkLCAweGIxODgyZDFkLCAweDk4YjMzODllLCAweDU5M2RlNzVlLCAweGMwZGY4MTVmLAorICAgIDB4MDE1MTVlOWYsIDB4OTJhOWFhNTksIDB4NTMyNzc1OTksIDB4Y2FjNTEzOTgsIDB4MGI0YmNjNTgsCisgICAgMHgyMjcwZDlkYiwgMHhlM2ZlMDYxYiwgMHg3YTFjNjAxYSwgMHhiYjkyYmZkYSwgMHhkNjQ4MTllZiwKKyAgICAweDE3YzZjNjJmLCAweDhlMjRhMDJlLCAweDRmYWE3ZmVlLCAweDY2OTE2YTZkLCAweGE3MWZiNWFkLAorICAgIDB4M2VmZGQzYWMsIDB4ZmY3MzBjNmMsIDB4NmM4YmY4YWEsIDB4YWQwNTI3NmEsIDB4MzRlNzQxNmIsCisgICAgMHhmNTY5OWVhYiwgMHhkYzUyOGIyOCwgMHgxZGRjNTRlOCwgMHg4NDNlMzJlOSwgMHg0NWIwZWQyOSwKKyAgICAweDc4YmVkZDI0LCAweGI5MzAwMmU0LCAweDIwZDI2NGU1LCAweGUxNWNiYjI1LCAweGM4NjdhZWE2LAorICAgIDB4MDllOTcxNjYsIDB4OTAwYjE3NjcsIDB4NTE4NWM4YTcsIDB4YzI3ZDNjNjEsIDB4MDNmM2UzYTEsCisgICAgMHg5YTExODVhMCwgMHg1YjlmNWE2MCwgMHg3MmE0NGZlMywgMHhiMzJhOTAyMywgMHgyYWM4ZjYyMiwKKyAgICAweGViNDYyOWUyLCAweDUwZDQ5NjM4LCAweDkxNWE0OWY4LCAweDA4YjgyZmY5LCAweGM5MzZmMDM5LAorICAgIDB4ZTAwZGU1YmEsIDB4MjE4MzNhN2EsIDB4Yjg2MTVjN2IsIDB4NzllZjgzYmIsIDB4ZWExNzc3N2QsCisgICAgMHgyYjk5YThiZCwgMHhiMjdiY2ViYywgMHg3M2Y1MTE3YywgMHg1YWNlMDRmZiwgMHg5YjQwZGIzZiwKKyAgICAweDAyYTJiZDNlLCAweGMzMmM2MmZlLCAweGZlMjI1MmYzLCAweDNmYWM4ZDMzLCAweGE2NGVlYjMyLAorICAgIDB4NjdjMDM0ZjIsIDB4NGVmYjIxNzEsIDB4OGY3NWZlYjEsIDB4MTY5Nzk4YjAsIDB4ZDcxOTQ3NzAsCisgICAgMHg0NGUxYjNiNiwgMHg4NTZmNmM3NiwgMHgxYzhkMGE3NywgMHhkZDAzZDViNywgMHhmNDM4YzAzNCwKKyAgICAweDM1YjYxZmY0LCAweGFjNTQ3OWY1LCAweDZkZGFhNjM1LCAweDc3ZTEzNTlmLCAweGI2NmZlYTVmLAorICAgIDB4MmY4ZDhjNWUsIDB4ZWUwMzUzOWUsIDB4YzczODQ2MWQsIDB4MDZiNjk5ZGQsIDB4OWY1NGZmZGMsCisgICAgMHg1ZWRhMjAxYywgMHhjZDIyZDRkYSwgMHgwY2FjMGIxYSwgMHg5NTRlNmQxYiwgMHg1NGMwYjJkYiwKKyAgICAweDdkZmJhNzU4LCAweGJjNzU3ODk4LCAweDI1OTcxZTk5LCAweGU0MTljMTU5LCAweGQ5MTdmMTU0LAorICAgIDB4MTg5OTJlOTQsIDB4ODE3YjQ4OTUsIDB4NDBmNTk3NTUsIDB4NjljZTgyZDYsIDB4YTg0MDVkMTYsCisgICAgMHgzMWEyM2IxNywgMHhmMDJjZTRkNywgMHg2M2Q0MTAxMSwgMHhhMjVhY2ZkMSwgMHgzYmI4YTlkMCwKKyAgICAweGZhMzY3NjEwLCAweGQzMGQ2MzkzLCAweDEyODNiYzUzLCAweDhiNjFkYTUyLCAweDRhZWYwNTkyLAorICAgIDB4ZjE3ZGJhNDgsIDB4MzBmMzY1ODgsIDB4YTkxMTAzODksIDB4Njg5ZmRjNDksIDB4NDFhNGM5Y2EsCisgICAgMHg4MDJhMTYwYSwgMHgxOWM4NzAwYiwgMHhkODQ2YWZjYiwgMHg0YmJlNWIwZCwgMHg4YTMwODRjZCwKKyAgICAweDEzZDJlMmNjLCAweGQyNWMzZDBjLCAweGZiNjcyODhmLCAweDNhZTlmNzRmLCAweGEzMGI5MTRlLAorICAgIDB4NjI4NTRlOGUsIDB4NWY4YjdlODMsIDB4OWUwNWExNDMsIDB4MDdlN2M3NDIsIDB4YzY2OTE4ODIsCisgICAgMHhlZjUyMGQwMSwgMHgyZWRjZDJjMSwgMHhiNzNlYjRjMCwgMHg3NmIwNmIwMCwgMHhlNTQ4OWZjNiwKKyAgICAweDI0YzY0MDA2LCAweGJkMjQyNjA3LCAweDdjYWFmOWM3LCAweDU1OTFlYzQ0LCAweDk0MWYzMzg0LAorICAgIDB4MGRmZDU1ODUsIDB4Y2M3MzhhNDUsIDB4YTFhOTJjNzAsIDB4NjAyN2YzYjAsIDB4ZjljNTk1YjEsCisgICAgMHgzODRiNGE3MSwgMHgxMTcwNWZmMiwgMHhkMGZlODAzMiwgMHg0OTFjZTYzMywgMHg4ODkyMzlmMywKKyAgICAweDFiNmFjZDM1LCAweGRhZTQxMmY1LCAweDQzMDY3NGY0LCAweDgyODhhYjM0LCAweGFiYjNiZWI3LAorICAgIDB4NmEzZDYxNzcsIDB4ZjNkZjA3NzYsIDB4MzI1MWQ4YjYsIDB4MGY1ZmU4YmIsIDB4Y2VkMTM3N2IsCisgICAgMHg1NzMzNTE3YSwgMHg5NmJkOGViYSwgMHhiZjg2OWIzOSwgMHg3ZTA4NDRmOSwgMHhlN2VhMjJmOCwKKyAgICAweDI2NjRmZDM4LCAweGI1OWMwOWZlLCAweDc0MTJkNjNlLCAweGVkZjBiMDNmLCAweDJjN2U2ZmZmLAorICAgIDB4MDU0NTdhN2MsIDB4YzRjYmE1YmMsIDB4NWQyOWMzYmQsIDB4OWNhNzFjN2QsIDB4MjczNWEzYTcsCisgICAgMHhlNmJiN2M2NywgMHg3ZjU5MWE2NiwgMHhiZWQ3YzVhNiwgMHg5N2VjZDAyNSwgMHg1NjYyMGZlNSwKKyAgICAweGNmODA2OWU0LCAweDBlMGViNjI0LCAweDlkZjY0MmUyLCAweDVjNzg5ZDIyLCAweGM1OWFmYjIzLAorICAgIDB4MDQxNDI0ZTMsIDB4MmQyZjMxNjAsIDB4ZWNhMWVlYTAsIDB4NzU0Mzg4YTEsIDB4YjRjZDU3NjEsCisgICAgMHg4OWMzNjc2YywgMHg0ODRkYjhhYywgMHhkMWFmZGVhZCwgMHgxMDIxMDE2ZCwgMHgzOTFhMTRlZSwKKyAgICAweGY4OTRjYjJlLCAweDYxNzZhZDJmLCAweGEwZjg3MmVmLCAweDMzMDA4NjI5LCAweGYyOGU1OWU5LAorICAgIDB4NmI2YzNmZTgsIDB4YWFlMmUwMjgsIDB4ODNkOWY1YWIsIDB4NDI1NzJhNmIsIDB4ZGJiNTRjNmEsCisgICAgMHgxYTNiOTNhYX0sCisgICB7MHgwMDAwMDAwMCwgMHhlZmMyNmIzZSwgMHgwNGY1ZDAzZCwgMHhlYjM3YmIwMywgMHgwOWViYTA3YSwKKyAgICAweGU2MjljYjQ0LCAweDBkMWU3MDQ3LCAweGUyZGMxYjc5LCAweDEzZDc0MGY0LCAweGZjMTUyYmNhLAorICAgIDB4MTcyMjkwYzksIDB4ZjhlMGZiZjcsIDB4MWEzY2UwOGUsIDB4ZjVmZThiYjAsIDB4MWVjOTMwYjMsCisgICAgMHhmMTBiNWI4ZCwgMHgyN2FlODFlOCwgMHhjODZjZWFkNiwgMHgyMzViNTFkNSwgMHhjYzk5M2FlYiwKKyAgICAweDJlNDUyMTkyLCAweGMxODc0YWFjLCAweDJhYjBmMWFmLCAweGM1NzI5YTkxLCAweDM0NzljMTFjLAorICAgIDB4ZGJiYmFhMjIsIDB4MzA4YzExMjEsIDB4ZGY0ZTdhMWYsIDB4M2Q5MjYxNjYsIDB4ZDI1MDBhNTgsCisgICAgMHgzOTY3YjE1YiwgMHhkNmE1ZGE2NSwgMHg0ZjVkMDNkMCwgMHhhMDlmNjhlZSwgMHg0YmE4ZDNlZCwKKyAgICAweGE0NmFiOGQzLCAweDQ2YjZhM2FhLCAweGE5NzRjODk0LCAweDQyNDM3Mzk3LCAweGFkODExOGE5LAorICAgIDB4NWM4YTQzMjQsIDB4YjM0ODI4MWEsIDB4NTg3ZjkzMTksIDB4YjdiZGY4MjcsIDB4NTU2MWUzNWUsCisgICAgMHhiYWEzODg2MCwgMHg1MTk0MzM2MywgMHhiZTU2NTg1ZCwgMHg2OGYzODIzOCwgMHg4NzMxZTkwNiwKKyAgICAweDZjMDY1MjA1LCAweDgzYzQzOTNiLCAweDYxMTgyMjQyLCAweDhlZGE0OTdjLCAweDY1ZWRmMjdmLAorICAgIDB4OGEyZjk5NDEsIDB4N2IyNGMyY2MsIDB4OTRlNmE5ZjIsIDB4N2ZkMTEyZjEsIDB4OTAxMzc5Y2YsCisgICAgMHg3MmNmNjJiNiwgMHg5ZDBkMDk4OCwgMHg3NjNhYjI4YiwgMHg5OWY4ZDliNSwgMHg5ZWJhMDdhMCwKKyAgICAweDcxNzg2YzllLCAweDlhNGZkNzlkLCAweDc1OGRiY2EzLCAweDk3NTFhN2RhLCAweDc4OTNjY2U0LAorICAgIDB4OTNhNDc3ZTcsIDB4N2M2NjFjZDksIDB4OGQ2ZDQ3NTQsIDB4NjJhZjJjNmEsIDB4ODk5ODk3NjksCisgICAgMHg2NjVhZmM1NywgMHg4NDg2ZTcyZSwgMHg2YjQ0OGMxMCwgMHg4MDczMzcxMywgMHg2ZmIxNWMyZCwKKyAgICAweGI5MTQ4NjQ4LCAweDU2ZDZlZDc2LCAweGJkZTE1Njc1LCAweDUyMjMzZDRiLCAweGIwZmYyNjMyLAorICAgIDB4NWYzZDRkMGMsIDB4YjQwYWY2MGYsIDB4NWJjODlkMzEsIDB4YWFjM2M2YmMsIDB4NDUwMWFkODIsCisgICAgMHhhZTM2MTY4MSwgMHg0MWY0N2RiZiwgMHhhMzI4NjZjNiwgMHg0Y2VhMGRmOCwgMHhhN2RkYjZmYiwKKyAgICAweDQ4MWZkZGM1LCAweGQxZTcwNDcwLCAweDNlMjU2ZjRlLCAweGQ1MTJkNDRkLCAweDNhZDBiZjczLAorICAgIDB4ZDgwY2E0MGEsIDB4MzdjZWNmMzQsIDB4ZGNmOTc0MzcsIDB4MzMzYjFmMDksIDB4YzIzMDQ0ODQsCisgICAgMHgyZGYyMmZiYSwgMHhjNmM1OTRiOSwgMHgyOTA3ZmY4NywgMHhjYmRiZTRmZSwgMHgyNDE5OGZjMCwKKyAgICAweGNmMmUzNGMzLCAweDIwZWM1ZmZkLCAweGY2NDk4NTk4LCAweDE5OGJlZWE2LCAweGYyYmM1NWE1LAorICAgIDB4MWQ3ZTNlOWIsIDB4ZmZhMjI1ZTIsIDB4MTA2MDRlZGMsIDB4ZmI1N2Y1ZGYsIDB4MTQ5NTllZTEsCisgICAgMHhlNTllYzU2YywgMHgwYTVjYWU1MiwgMHhlMTZiMTU1MSwgMHgwZWE5N2U2ZiwgMHhlYzc1NjUxNiwKKyAgICAweDAzYjcwZTI4LCAweGU4ODBiNTJiLCAweDA3NDJkZTE1LCAweGU2MDUwOTAxLCAweDA5Yzc2MjNmLAorICAgIDB4ZTJmMGQ5M2MsIDB4MGQzMmIyMDIsIDB4ZWZlZWE5N2IsIDB4MDAyY2MyNDUsIDB4ZWIxYjc5NDYsCisgICAgMHgwNGQ5MTI3OCwgMHhmNWQyNDlmNSwgMHgxYTEwMjJjYiwgMHhmMTI3OTljOCwgMHgxZWU1ZjJmNiwKKyAgICAweGZjMzllOThmLCAweDEzZmI4MmIxLCAweGY4Y2MzOWIyLCAweDE3MGU1MjhjLCAweGMxYWI4OGU5LAorICAgIDB4MmU2OWUzZDcsIDB4YzU1ZTU4ZDQsIDB4MmE5YzMzZWEsIDB4Yzg0MDI4OTMsIDB4Mjc4MjQzYWQsCisgICAgMHhjY2I1ZjhhZSwgMHgyMzc3OTM5MCwgMHhkMjdjYzgxZCwgMHgzZGJlYTMyMywgMHhkNjg5MTgyMCwKKyAgICAweDM5NGI3MzFlLCAweGRiOTc2ODY3LCAweDM0NTUwMzU5LCAweGRmNjJiODVhLCAweDMwYTBkMzY0LAorICAgIDB4YTk1ODBhZDEsIDB4NDY5YTYxZWYsIDB4YWRhZGRhZWMsIDB4NDI2ZmIxZDIsIDB4YTBiM2FhYWIsCisgICAgMHg0ZjcxYzE5NSwgMHhhNDQ2N2E5NiwgMHg0Yjg0MTFhOCwgMHhiYThmNGEyNSwgMHg1NTRkMjExYiwKKyAgICAweGJlN2E5YTE4LCAweDUxYjhmMTI2LCAweGIzNjRlYTVmLCAweDVjYTY4MTYxLCAweGI3OTEzYTYyLAorICAgIDB4NTg1MzUxNWMsIDB4OGVmNjhiMzksIDB4NjEzNGUwMDcsIDB4OGEwMzViMDQsIDB4NjVjMTMwM2EsCisgICAgMHg4NzFkMmI0MywgMHg2OGRmNDA3ZCwgMHg4M2U4ZmI3ZSwgMHg2YzJhOTA0MCwgMHg5ZDIxY2JjZCwKKyAgICAweDcyZTNhMGYzLCAweDk5ZDQxYmYwLCAweDc2MTY3MGNlLCAweDk0Y2E2YmI3LCAweDdiMDgwMDg5LAorICAgIDB4OTAzZmJiOGEsIDB4N2ZmZGQwYjQsIDB4NzhiZjBlYTEsIDB4OTc3ZDY1OWYsIDB4N2M0YWRlOWMsCisgICAgMHg5Mzg4YjVhMiwgMHg3MTU0YWVkYiwgMHg5ZTk2YzVlNSwgMHg3NWExN2VlNiwgMHg5YTYzMTVkOCwKKyAgICAweDZiNjg0ZTU1LCAweDg0YWEyNTZiLCAweDZmOWQ5ZTY4LCAweDgwNWZmNTU2LCAweDYyODNlZTJmLAorICAgIDB4OGQ0MTg1MTEsIDB4NjY3NjNlMTIsIDB4ODliNDU1MmMsIDB4NWYxMThmNDksIDB4YjBkM2U0NzcsCisgICAgMHg1YmU0NWY3NCwgMHhiNDI2MzQ0YSwgMHg1NmZhMmYzMywgMHhiOTM4NDQwZCwgMHg1MjBmZmYwZSwKKyAgICAweGJkY2Q5NDMwLCAweDRjYzZjZmJkLCAweGEzMDRhNDgzLCAweDQ4MzMxZjgwLCAweGE3ZjE3NGJlLAorICAgIDB4NDUyZDZmYzcsIDB4YWFlZjA0ZjksIDB4NDFkOGJmZmEsIDB4YWUxYWQ0YzQsIDB4MzdlMjBkNzEsCisgICAgMHhkODIwNjY0ZiwgMHgzMzE3ZGQ0YywgMHhkY2Q1YjY3MiwgMHgzZTA5YWQwYiwgMHhkMWNiYzYzNSwKKyAgICAweDNhZmM3ZDM2LCAweGQ1M2UxNjA4LCAweDI0MzU0ZDg1LCAweGNiZjcyNmJiLCAweDIwYzA5ZGI4LAorICAgIDB4Y2YwMmY2ODYsIDB4MmRkZWVkZmYsIDB4YzIxYzg2YzEsIDB4MjkyYjNkYzIsIDB4YzZlOTU2ZmMsCisgICAgMHgxMDRjOGM5OSwgMHhmZjhlZTdhNywgMHgxNGI5NWNhNCwgMHhmYjdiMzc5YSwgMHgxOWE3MmNlMywKKyAgICAweGY2NjU0N2RkLCAweDFkNTJmY2RlLCAweGYyOTA5N2UwLCAweDAzOWJjYzZkLCAweGVjNTlhNzUzLAorICAgIDB4MDc2ZTFjNTAsIDB4ZThhYzc3NmUsIDB4MGE3MDZjMTcsIDB4ZTViMjA3MjksIDB4MGU4NWJjMmEsCisgICAgMHhlMTQ3ZDcxNH0sCisgICB7MHgwMDAwMDAwMCwgMHgxNzdiMTQ0MywgMHgyZWY2Mjg4NiwgMHgzOThkM2NjNSwgMHg1ZGVjNTEwYywKKyAgICAweDRhOTc0NTRmLCAweDczMWE3OThhLCAweDY0NjE2ZGM5LCAweGJiZDhhMjE4LCAweGFjYTNiNjViLAorICAgIDB4OTUyZThhOWUsIDB4ODI1NTllZGQsIDB4ZTYzNGYzMTQsIDB4ZjE0ZmU3NTcsIDB4YzhjMmRiOTIsCisgICAgMHhkZmI5Y2ZkMSwgMHhhY2MwNDI3MSwgMHhiYmJiNTYzMiwgMHg4MjM2NmFmNywgMHg5NTRkN2ViNCwKKyAgICAweGYxMmMxMzdkLCAweGU2NTcwNzNlLCAweGRmZGEzYmZiLCAweGM4YTEyZmI4LCAweDE3MThlMDY5LAorICAgIDB4MDA2M2Y0MmEsIDB4MzllZWM4ZWYsIDB4MmU5NWRjYWMsIDB4NGFmNGIxNjUsIDB4NWQ4ZmE1MjYsCisgICAgMHg2NDAyOTllMywgMHg3Mzc5OGRhMCwgMHg4MmYxODJhMywgMHg5NThhOTZlMCwgMHhhYzA3YWEyNSwKKyAgICAweGJiN2NiZTY2LCAweGRmMWRkM2FmLCAweGM4NjZjN2VjLCAweGYxZWJmYjI5LCAweGU2OTBlZjZhLAorICAgIDB4MzkyOTIwYmIsIDB4MmU1MjM0ZjgsIDB4MTdkZjA4M2QsIDB4MDBhNDFjN2UsIDB4NjRjNTcxYjcsCisgICAgMHg3M2JlNjVmNCwgMHg0YTMzNTkzMSwgMHg1ZDQ4NGQ3MiwgMHgyZTMxYzBkMiwgMHgzOTRhZDQ5MSwKKyAgICAweDAwYzdlODU0LCAweDE3YmNmYzE3LCAweDczZGQ5MWRlLCAweDY0YTY4NTlkLCAweDVkMmJiOTU4LAorICAgIDB4NGE1MGFkMWIsIDB4OTVlOTYyY2EsIDB4ODI5Mjc2ODksIDB4YmIxZjRhNGMsIDB4YWM2NDVlMGYsCisgICAgMHhjODA1MzNjNiwgMHhkZjdlMjc4NSwgMHhlNmYzMWI0MCwgMHhmMTg4MGYwMywgMHhkZTkyMDMwNywKKyAgICAweGM5ZTkxNzQ0LCAweGYwNjQyYjgxLCAweGU3MWYzZmMyLCAweDgzN2U1MjBiLCAweDk0MDU0NjQ4LAorICAgIDB4YWQ4ODdhOGQsIDB4YmFmMzZlY2UsIDB4NjU0YWExMWYsIDB4NzIzMWI1NWMsIDB4NGJiYzg5OTksCisgICAgMHg1Y2M3OWRkYSwgMHgzOGE2ZjAxMywgMHgyZmRkZTQ1MCwgMHgxNjUwZDg5NSwgMHgwMTJiY2NkNiwKKyAgICAweDcyNTI0MTc2LCAweDY1Mjk1NTM1LCAweDVjYTQ2OWYwLCAweDRiZGY3ZGIzLCAweDJmYmUxMDdhLAorICAgIDB4MzhjNTA0MzksIDB4MDE0ODM4ZmMsIDB4MTYzMzJjYmYsIDB4Yzk4YWUzNmUsIDB4ZGVmMWY3MmQsCisgICAgMHhlNzdjY2JlOCwgMHhmMDA3ZGZhYiwgMHg5NDY2YjI2MiwgMHg4MzFkYTYyMSwgMHhiYTkwOWFlNCwKKyAgICAweGFkZWI4ZWE3LCAweDVjNjM4MWE0LCAweDRiMTg5NWU3LCAweDcyOTVhOTIyLCAweDY1ZWViZDYxLAorICAgIDB4MDE4ZmQwYTgsIDB4MTZmNGM0ZWIsIDB4MmY3OWY4MmUsIDB4MzgwMmVjNmQsIDB4ZTdiYjIzYmMsCisgICAgMHhmMGMwMzdmZiwgMHhjOTRkMGIzYSwgMHhkZTM2MWY3OSwgMHhiYTU3NzJiMCwgMHhhZDJjNjZmMywKKyAgICAweDk0YTE1YTM2LCAweDgzZGE0ZTc1LCAweGYwYTNjM2Q1LCAweGU3ZDhkNzk2LCAweGRlNTVlYjUzLAorICAgIDB4YzkyZWZmMTAsIDB4YWQ0ZjkyZDksIDB4YmEzNDg2OWEsIDB4ODNiOWJhNWYsIDB4OTRjMmFlMWMsCisgICAgMHg0YjdiNjFjZCwgMHg1YzAwNzU4ZSwgMHg2NThkNDk0YiwgMHg3MmY2NWQwOCwgMHgxNjk3MzBjMSwKKyAgICAweDAxZWMyNDgyLCAweDM4NjExODQ3LCAweDJmMWEwYzA0LCAweDY2NTUwMDRmLCAweDcxMmUxNDBjLAorICAgIDB4NDhhMzI4YzksIDB4NWZkODNjOGEsIDB4M2JiOTUxNDMsIDB4MmNjMjQ1MDAsIDB4MTU0Zjc5YzUsCisgICAgMHgwMjM0NmQ4NiwgMHhkZDhkYTI1NywgMHhjYWY2YjYxNCwgMHhmMzdiOGFkMSwgMHhlNDAwOWU5MiwKKyAgICAweDgwNjFmMzViLCAweDk3MWFlNzE4LCAweGFlOTdkYmRkLCAweGI5ZWNjZjllLCAweGNhOTU0MjNlLAorICAgIDB4ZGRlZTU2N2QsIDB4ZTQ2MzZhYjgsIDB4ZjMxODdlZmIsIDB4OTc3OTEzMzIsIDB4ODAwMjA3NzEsCisgICAgMHhiOThmM2JiNCwgMHhhZWY0MmZmNywgMHg3MTRkZTAyNiwgMHg2NjM2ZjQ2NSwgMHg1ZmJiYzhhMCwKKyAgICAweDQ4YzBkY2UzLCAweDJjYTFiMTJhLCAweDNiZGFhNTY5LCAweDAyNTc5OWFjLCAweDE1MmM4ZGVmLAorICAgIDB4ZTRhNDgyZWMsIDB4ZjNkZjk2YWYsIDB4Y2E1MmFhNmEsIDB4ZGQyOWJlMjksIDB4Yjk0OGQzZTAsCisgICAgMHhhZTMzYzdhMywgMHg5N2JlZmI2NiwgMHg4MGM1ZWYyNSwgMHg1ZjdjMjBmNCwgMHg0ODA3MzRiNywKKyAgICAweDcxOGEwODcyLCAweDY2ZjExYzMxLCAweDAyOTA3MWY4LCAweDE1ZWI2NWJiLCAweDJjNjY1OTdlLAorICAgIDB4M2IxZDRkM2QsIDB4NDg2NGMwOWQsIDB4NWYxZmQ0ZGUsIDB4NjY5MmU4MWIsIDB4NzFlOWZjNTgsCisgICAgMHgxNTg4OTE5MSwgMHgwMmYzODVkMiwgMHgzYjdlYjkxNywgMHgyYzA1YWQ1NCwgMHhmM2JjNjI4NSwKKyAgICAweGU0Yzc3NmM2LCAweGRkNGE0YTAzLCAweGNhMzE1ZTQwLCAweGFlNTAzMzg5LCAweGI5MmIyN2NhLAorICAgIDB4ODBhNjFiMGYsIDB4OTdkZDBmNGMsIDB4YjhjNzAzNDgsIDB4YWZiYzE3MGIsIDB4OTYzMTJiY2UsCisgICAgMHg4MTRhM2Y4ZCwgMHhlNTJiNTI0NCwgMHhmMjUwNDYwNywgMHhjYmRkN2FjMiwgMHhkY2E2NmU4MSwKKyAgICAweDAzMWZhMTUwLCAweDE0NjRiNTEzLCAweDJkZTk4OWQ2LCAweDNhOTI5ZDk1LCAweDVlZjNmMDVjLAorICAgIDB4NDk4OGU0MWYsIDB4NzAwNWQ4ZGEsIDB4Njc3ZWNjOTksIDB4MTQwNzQxMzksIDB4MDM3YzU1N2EsCisgICAgMHgzYWYxNjliZiwgMHgyZDhhN2RmYywgMHg0OWViMTAzNSwgMHg1ZTkwMDQ3NiwgMHg2NzFkMzhiMywKKyAgICAweDcwNjYyY2YwLCAweGFmZGZlMzIxLCAweGI4YTRmNzYyLCAweDgxMjljYmE3LCAweDk2NTJkZmU0LAorICAgIDB4ZjIzM2IyMmQsIDB4ZTU0OGE2NmUsIDB4ZGNjNTlhYWIsIDB4Y2JiZThlZTgsIDB4M2EzNjgxZWIsCisgICAgMHgyZDRkOTVhOCwgMHgxNGMwYTk2ZCwgMHgwM2JiYmQyZSwgMHg2N2RhZDBlNywgMHg3MGExYzRhNCwKKyAgICAweDQ5MmNmODYxLCAweDVlNTdlYzIyLCAweDgxZWUyM2YzLCAweDk2OTUzN2IwLCAweGFmMTgwYjc1LAorICAgIDB4Yjg2MzFmMzYsIDB4ZGMwMjcyZmYsIDB4Y2I3OTY2YmMsIDB4ZjJmNDVhNzksIDB4ZTU4ZjRlM2EsCisgICAgMHg5NmY2YzM5YSwgMHg4MThkZDdkOSwgMHhiODAwZWIxYywgMHhhZjdiZmY1ZiwgMHhjYjFhOTI5NiwKKyAgICAweGRjNjE4NmQ1LCAweGU1ZWNiYTEwLCAweGYyOTdhZTUzLCAweDJkMmU2MTgyLCAweDNhNTU3NWMxLAorICAgIDB4MDNkODQ5MDQsIDB4MTRhMzVkNDcsIDB4NzBjMjMwOGUsIDB4NjdiOTI0Y2QsIDB4NWUzNDE4MDgsCisgICAgMHg0OTRmMGM0Yn19OworCitsb2NhbCBjb25zdCB6X3dvcmRfdCBGQVIgY3JjX2JyYWlkX2JpZ190YWJsZVtdWzI1Nl0gPSB7CisgICB7MHgwMDAwMDAwMDAwMDAwMDAwLCAweDQzMTQ3YjE3MDAwMDAwMDAsIDB4ODYyOGY2MmUwMDAwMDAwMCwKKyAgICAweGM1M2M4ZDM5MDAwMDAwMDAsIDB4MGM1MWVjNWQwMDAwMDAwMCwgMHg0ZjQ1OTc0YTAwMDAwMDAwLAorICAgIDB4OGE3OTFhNzMwMDAwMDAwMCwgMHhjOTZkNjE2NDAwMDAwMDAwLCAweDE4YTJkOGJiMDAwMDAwMDAsCisgICAgMHg1YmI2YTNhYzAwMDAwMDAwLCAweDllOGEyZTk1MDAwMDAwMDAsIDB4ZGQ5ZTU1ODIwMDAwMDAwMCwKKyAgICAweDE0ZjMzNGU2MDAwMDAwMDAsIDB4NTdlNzRmZjEwMDAwMDAwMCwgMHg5MmRiYzJjODAwMDAwMDAwLAorICAgIDB4ZDFjZmI5ZGYwMDAwMDAwMCwgMHg3MTQyYzBhYzAwMDAwMDAwLCAweDMyNTZiYmJiMDAwMDAwMDAsCisgICAgMHhmNzZhMzY4MjAwMDAwMDAwLCAweGI0N2U0ZDk1MDAwMDAwMDAsIDB4N2QxMzJjZjEwMDAwMDAwMCwKKyAgICAweDNlMDc1N2U2MDAwMDAwMDAsIDB4ZmIzYmRhZGYwMDAwMDAwMCwgMHhiODJmYTFjODAwMDAwMDAwLAorICAgIDB4NjllMDE4MTcwMDAwMDAwMCwgMHgyYWY0NjMwMDAwMDAwMDAwLCAweGVmYzhlZTM5MDAwMDAwMDAsCisgICAgMHhhY2RjOTUyZTAwMDAwMDAwLCAweDY1YjFmNDRhMDAwMDAwMDAsIDB4MjZhNThmNWQwMDAwMDAwMCwKKyAgICAweGUzOTkwMjY0MDAwMDAwMDAsIDB4YTA4ZDc5NzMwMDAwMDAwMCwgMHhhMzgyZjE4MjAwMDAwMDAwLAorICAgIDB4ZTA5NjhhOTUwMDAwMDAwMCwgMHgyNWFhMDdhYzAwMDAwMDAwLCAweDY2YmU3Y2JiMDAwMDAwMDAsCisgICAgMHhhZmQzMWRkZjAwMDAwMDAwLCAweGVjYzc2NmM4MDAwMDAwMDAsIDB4MjlmYmViZjEwMDAwMDAwMCwKKyAgICAweDZhZWY5MGU2MDAwMDAwMDAsIDB4YmIyMDI5MzkwMDAwMDAwMCwgMHhmODM0NTIyZTAwMDAwMDAwLAorICAgIDB4M2QwOGRmMTcwMDAwMDAwMCwgMHg3ZTFjYTQwMDAwMDAwMDAwLCAweGI3NzFjNTY0MDAwMDAwMDAsCisgICAgMHhmNDY1YmU3MzAwMDAwMDAwLCAweDMxNTkzMzRhMDAwMDAwMDAsIDB4NzI0ZDQ4NWQwMDAwMDAwMCwKKyAgICAweGQyYzAzMTJlMDAwMDAwMDAsIDB4OTFkNDRhMzkwMDAwMDAwMCwgMHg1NGU4YzcwMDAwMDAwMDAwLAorICAgIDB4MTdmY2JjMTcwMDAwMDAwMCwgMHhkZTkxZGQ3MzAwMDAwMDAwLCAweDlkODVhNjY0MDAwMDAwMDAsCisgICAgMHg1OGI5MmI1ZDAwMDAwMDAwLCAweDFiYWQ1MDRhMDAwMDAwMDAsIDB4Y2E2MmU5OTUwMDAwMDAwMCwKKyAgICAweDg5NzY5MjgyMDAwMDAwMDAsIDB4NGM0YTFmYmIwMDAwMDAwMCwgMHgwZjVlNjRhYzAwMDAwMDAwLAorICAgIDB4YzYzMzA1YzgwMDAwMDAwMCwgMHg4NTI3N2VkZjAwMDAwMDAwLCAweDQwMWJmM2U2MDAwMDAwMDAsCisgICAgMHgwMzBmODhmMTAwMDAwMDAwLCAweDA3MDM5MmRlMDAwMDAwMDAsIDB4NDQxN2U5YzkwMDAwMDAwMCwKKyAgICAweDgxMmI2NGYwMDAwMDAwMDAsIDB4YzIzZjFmZTcwMDAwMDAwMCwgMHgwYjUyN2U4MzAwMDAwMDAwLAorICAgIDB4NDg0NjA1OTQwMDAwMDAwMCwgMHg4ZDdhODhhZDAwMDAwMDAwLCAweGNlNmVmM2JhMDAwMDAwMDAsCisgICAgMHgxZmExNGE2NTAwMDAwMDAwLCAweDVjYjUzMTcyMDAwMDAwMDAsIDB4OTk4OWJjNGIwMDAwMDAwMCwKKyAgICAweGRhOWRjNzVjMDAwMDAwMDAsIDB4MTNmMGE2MzgwMDAwMDAwMCwgMHg1MGU0ZGQyZjAwMDAwMDAwLAorICAgIDB4OTVkODUwMTYwMDAwMDAwMCwgMHhkNmNjMmIwMTAwMDAwMDAwLCAweDc2NDE1MjcyMDAwMDAwMDAsCisgICAgMHgzNTU1Mjk2NTAwMDAwMDAwLCAweGYwNjlhNDVjMDAwMDAwMDAsIDB4YjM3ZGRmNGIwMDAwMDAwMCwKKyAgICAweDdhMTBiZTJmMDAwMDAwMDAsIDB4MzkwNGM1MzgwMDAwMDAwMCwgMHhmYzM4NDgwMTAwMDAwMDAwLAorICAgIDB4YmYyYzMzMTYwMDAwMDAwMCwgMHg2ZWUzOGFjOTAwMDAwMDAwLCAweDJkZjdmMWRlMDAwMDAwMDAsCisgICAgMHhlOGNiN2NlNzAwMDAwMDAwLCAweGFiZGYwN2YwMDAwMDAwMDAsIDB4NjJiMjY2OTQwMDAwMDAwMCwKKyAgICAweDIxYTYxZDgzMDAwMDAwMDAsIDB4ZTQ5YTkwYmEwMDAwMDAwMCwgMHhhNzhlZWJhZDAwMDAwMDAwLAorICAgIDB4YTQ4MTYzNWMwMDAwMDAwMCwgMHhlNzk1MTg0YjAwMDAwMDAwLCAweDIyYTk5NTcyMDAwMDAwMDAsCisgICAgMHg2MWJkZWU2NTAwMDAwMDAwLCAweGE4ZDA4ZjAxMDAwMDAwMDAsIDB4ZWJjNGY0MTYwMDAwMDAwMCwKKyAgICAweDJlZjg3OTJmMDAwMDAwMDAsIDB4NmRlYzAyMzgwMDAwMDAwMCwgMHhiYzIzYmJlNzAwMDAwMDAwLAorICAgIDB4ZmYzN2MwZjAwMDAwMDAwMCwgMHgzYTBiNGRjOTAwMDAwMDAwLCAweDc5MWYzNmRlMDAwMDAwMDAsCisgICAgMHhiMDcyNTdiYTAwMDAwMDAwLCAweGYzNjYyY2FkMDAwMDAwMDAsIDB4MzY1YWExOTQwMDAwMDAwMCwKKyAgICAweDc1NGVkYTgzMDAwMDAwMDAsIDB4ZDVjM2EzZjAwMDAwMDAwMCwgMHg5NmQ3ZDhlNzAwMDAwMDAwLAorICAgIDB4NTNlYjU1ZGUwMDAwMDAwMCwgMHgxMGZmMmVjOTAwMDAwMDAwLCAweGQ5OTI0ZmFkMDAwMDAwMDAsCisgICAgMHg5YTg2MzRiYTAwMDAwMDAwLCAweDVmYmFiOTgzMDAwMDAwMDAsIDB4MWNhZWMyOTQwMDAwMDAwMCwKKyAgICAweGNkNjE3YjRiMDAwMDAwMDAsIDB4OGU3NTAwNWMwMDAwMDAwMCwgMHg0YjQ5OGQ2NTAwMDAwMDAwLAorICAgIDB4MDg1ZGY2NzIwMDAwMDAwMCwgMHhjMTMwOTcxNjAwMDAwMDAwLCAweDgyMjRlYzAxMDAwMDAwMDAsCisgICAgMHg0NzE4NjEzODAwMDAwMDAwLCAweDA0MGMxYTJmMDAwMDAwMDAsIDB4NGYwMDU1NjYwMDAwMDAwMCwKKyAgICAweDBjMTQyZTcxMDAwMDAwMDAsIDB4YzkyOGEzNDgwMDAwMDAwMCwgMHg4YTNjZDg1ZjAwMDAwMDAwLAorICAgIDB4NDM1MWI5M2IwMDAwMDAwMCwgMHgwMDQ1YzIyYzAwMDAwMDAwLCAweGM1Nzk0ZjE1MDAwMDAwMDAsCisgICAgMHg4NjZkMzQwMjAwMDAwMDAwLCAweDU3YTI4ZGRkMDAwMDAwMDAsIDB4MTRiNmY2Y2EwMDAwMDAwMCwKKyAgICAweGQxOGE3YmYzMDAwMDAwMDAsIDB4OTI5ZTAwZTQwMDAwMDAwMCwgMHg1YmYzNjE4MDAwMDAwMDAwLAorICAgIDB4MThlNzFhOTcwMDAwMDAwMCwgMHhkZGRiOTdhZTAwMDAwMDAwLCAweDllY2ZlY2I5MDAwMDAwMDAsCisgICAgMHgzZTQyOTVjYTAwMDAwMDAwLCAweDdkNTZlZWRkMDAwMDAwMDAsIDB4Yjg2YTYzZTQwMDAwMDAwMCwKKyAgICAweGZiN2UxOGYzMDAwMDAwMDAsIDB4MzIxMzc5OTcwMDAwMDAwMCwgMHg3MTA3MDI4MDAwMDAwMDAwLAorICAgIDB4YjQzYjhmYjkwMDAwMDAwMCwgMHhmNzJmZjRhZTAwMDAwMDAwLCAweDI2ZTA0ZDcxMDAwMDAwMDAsCisgICAgMHg2NWY0MzY2NjAwMDAwMDAwLCAweGEwYzhiYjVmMDAwMDAwMDAsIDB4ZTNkY2MwNDgwMDAwMDAwMCwKKyAgICAweDJhYjFhMTJjMDAwMDAwMDAsIDB4NjlhNWRhM2IwMDAwMDAwMCwgMHhhYzk5NTcwMjAwMDAwMDAwLAorICAgIDB4ZWY4ZDJjMTUwMDAwMDAwMCwgMHhlYzgyYTRlNDAwMDAwMDAwLCAweGFmOTZkZmYzMDAwMDAwMDAsCisgICAgMHg2YWFhNTJjYTAwMDAwMDAwLCAweDI5YmUyOWRkMDAwMDAwMDAsIDB4ZTBkMzQ4YjkwMDAwMDAwMCwKKyAgICAweGEzYzczM2FlMDAwMDAwMDAsIDB4NjZmYmJlOTcwMDAwMDAwMCwgMHgyNWVmYzU4MDAwMDAwMDAwLAorICAgIDB4ZjQyMDdjNWYwMDAwMDAwMCwgMHhiNzM0MDc0ODAwMDAwMDAwLCAweDcyMDg4YTcxMDAwMDAwMDAsCisgICAgMHgzMTFjZjE2NjAwMDAwMDAwLCAweGY4NzE5MDAyMDAwMDAwMDAsIDB4YmI2NWViMTUwMDAwMDAwMCwKKyAgICAweDdlNTk2NjJjMDAwMDAwMDAsIDB4M2Q0ZDFkM2IwMDAwMDAwMCwgMHg5ZGMwNjQ0ODAwMDAwMDAwLAorICAgIDB4ZGVkNDFmNWYwMDAwMDAwMCwgMHgxYmU4OTI2NjAwMDAwMDAwLCAweDU4ZmNlOTcxMDAwMDAwMDAsCisgICAgMHg5MTkxODgxNTAwMDAwMDAwLCAweGQyODVmMzAyMDAwMDAwMDAsIDB4MTdiOTdlM2IwMDAwMDAwMCwKKyAgICAweDU0YWQwNTJjMDAwMDAwMDAsIDB4ODU2MmJjZjMwMDAwMDAwMCwgMHhjNjc2YzdlNDAwMDAwMDAwLAorICAgIDB4MDM0YTRhZGQwMDAwMDAwMCwgMHg0MDVlMzFjYTAwMDAwMDAwLCAweDg5MzM1MGFlMDAwMDAwMDAsCisgICAgMHhjYTI3MmJiOTAwMDAwMDAwLCAweDBmMWJhNjgwMDAwMDAwMDAsIDB4NGMwZmRkOTcwMDAwMDAwMCwKKyAgICAweDQ4MDNjN2I4MDAwMDAwMDAsIDB4MGIxN2JjYWYwMDAwMDAwMCwgMHhjZTJiMzE5NjAwMDAwMDAwLAorICAgIDB4OGQzZjRhODEwMDAwMDAwMCwgMHg0NDUyMmJlNTAwMDAwMDAwLCAweDA3NDY1MGYyMDAwMDAwMDAsCisgICAgMHhjMjdhZGRjYjAwMDAwMDAwLCAweDgxNmVhNmRjMDAwMDAwMDAsIDB4NTBhMTFmMDMwMDAwMDAwMCwKKyAgICAweDEzYjU2NDE0MDAwMDAwMDAsIDB4ZDY4OWU5MmQwMDAwMDAwMCwgMHg5NTlkOTIzYTAwMDAwMDAwLAorICAgIDB4NWNmMGYzNWUwMDAwMDAwMCwgMHgxZmU0ODg0OTAwMDAwMDAwLCAweGRhZDgwNTcwMDAwMDAwMDAsCisgICAgMHg5OWNjN2U2NzAwMDAwMDAwLCAweDM5NDEwNzE0MDAwMDAwMDAsIDB4N2E1NTdjMDMwMDAwMDAwMCwKKyAgICAweGJmNjlmMTNhMDAwMDAwMDAsIDB4ZmM3ZDhhMmQwMDAwMDAwMCwgMHgzNTEwZWI0OTAwMDAwMDAwLAorICAgIDB4NzYwNDkwNWUwMDAwMDAwMCwgMHhiMzM4MWQ2NzAwMDAwMDAwLCAweGYwMmM2NjcwMDAwMDAwMDAsCisgICAgMHgyMWUzZGZhZjAwMDAwMDAwLCAweDYyZjdhNGI4MDAwMDAwMDAsIDB4YTdjYjI5ODEwMDAwMDAwMCwKKyAgICAweGU0ZGY1Mjk2MDAwMDAwMDAsIDB4MmRiMjMzZjIwMDAwMDAwMCwgMHg2ZWE2NDhlNTAwMDAwMDAwLAorICAgIDB4YWI5YWM1ZGMwMDAwMDAwMCwgMHhlODhlYmVjYjAwMDAwMDAwLCAweGViODEzNjNhMDAwMDAwMDAsCisgICAgMHhhODk1NGQyZDAwMDAwMDAwLCAweDZkYTljMDE0MDAwMDAwMDAsIDB4MmViZGJiMDMwMDAwMDAwMCwKKyAgICAweGU3ZDBkYTY3MDAwMDAwMDAsIDB4YTRjNGExNzAwMDAwMDAwMCwgMHg2MWY4MmM0OTAwMDAwMDAwLAorICAgIDB4MjJlYzU3NWUwMDAwMDAwMCwgMHhmMzIzZWU4MTAwMDAwMDAwLCAweGIwMzc5NTk2MDAwMDAwMDAsCisgICAgMHg3NTBiMThhZjAwMDAwMDAwLCAweDM2MWY2M2I4MDAwMDAwMDAsIDB4ZmY3MjAyZGMwMDAwMDAwMCwKKyAgICAweGJjNjY3OWNiMDAwMDAwMDAsIDB4Nzk1YWY0ZjIwMDAwMDAwMCwgMHgzYTRlOGZlNTAwMDAwMDAwLAorICAgIDB4OWFjM2Y2OTYwMDAwMDAwMCwgMHhkOWQ3OGQ4MTAwMDAwMDAwLCAweDFjZWIwMGI4MDAwMDAwMDAsCisgICAgMHg1ZmZmN2JhZjAwMDAwMDAwLCAweDk2OTIxYWNiMDAwMDAwMDAsIDB4ZDU4NjYxZGMwMDAwMDAwMCwKKyAgICAweDEwYmFlY2U1MDAwMDAwMDAsIDB4NTNhZTk3ZjIwMDAwMDAwMCwgMHg4MjYxMmUyZDAwMDAwMDAwLAorICAgIDB4YzE3NTU1M2EwMDAwMDAwMCwgMHgwNDQ5ZDgwMzAwMDAwMDAwLCAweDQ3NWRhMzE0MDAwMDAwMDAsCisgICAgMHg4ZTMwYzI3MDAwMDAwMDAwLCAweGNkMjRiOTY3MDAwMDAwMDAsIDB4MDgxODM0NWUwMDAwMDAwMCwKKyAgICAweDRiMGM0ZjQ5MDAwMDAwMDB9LAorICAgezB4MDAwMDAwMDAwMDAwMDAwMCwgMHgzZTZiYzJlZjAwMDAwMDAwLCAweDNkZDBmNTA0MDAwMDAwMDAsCisgICAgMHgwM2JiMzdlYjAwMDAwMDAwLCAweDdhYTBlYjA5MDAwMDAwMDAsIDB4NDRjYjI5ZTYwMDAwMDAwMCwKKyAgICAweDQ3NzAxZTBkMDAwMDAwMDAsIDB4NzkxYmRjZTIwMDAwMDAwMCwgMHhmNDQwZDcxMzAwMDAwMDAwLAorICAgIDB4Y2EyYjE1ZmMwMDAwMDAwMCwgMHhjOTkwMjIxNzAwMDAwMDAwLCAweGY3ZmJlMGY4MDAwMDAwMDAsCisgICAgMHg4ZWUwM2MxYTAwMDAwMDAwLCAweGIwOGJmZWY1MDAwMDAwMDAsIDB4YjMzMGM5MWUwMDAwMDAwMCwKKyAgICAweDhkNWIwYmYxMDAwMDAwMDAsIDB4ZTg4MWFlMjcwMDAwMDAwMCwgMHhkNmVhNmNjODAwMDAwMDAwLAorICAgIDB4ZDU1MTViMjMwMDAwMDAwMCwgMHhlYjNhOTljYzAwMDAwMDAwLCAweDkyMjE0NTJlMDAwMDAwMDAsCisgICAgMHhhYzRhODdjMTAwMDAwMDAwLCAweGFmZjFiMDJhMDAwMDAwMDAsIDB4OTE5YTcyYzUwMDAwMDAwMCwKKyAgICAweDFjYzE3OTM0MDAwMDAwMDAsIDB4MjJhYWJiZGIwMDAwMDAwMCwgMHgyMTExOGMzMDAwMDAwMDAwLAorICAgIDB4MWY3YTRlZGYwMDAwMDAwMCwgMHg2NjYxOTIzZDAwMDAwMDAwLCAweDU4MGE1MGQyMDAwMDAwMDAsCisgICAgMHg1YmIxNjczOTAwMDAwMDAwLCAweDY1ZGFhNWQ2MDAwMDAwMDAsIDB4ZDAwMzVkNGYwMDAwMDAwMCwKKyAgICAweGVlNjg5ZmEwMDAwMDAwMDAsIDB4ZWRkM2E4NGIwMDAwMDAwMCwgMHhkM2I4NmFhNDAwMDAwMDAwLAorICAgIDB4YWFhM2I2NDYwMDAwMDAwMCwgMHg5NGM4NzRhOTAwMDAwMDAwLCAweDk3NzM0MzQyMDAwMDAwMDAsCisgICAgMHhhOTE4ODFhZDAwMDAwMDAwLCAweDI0NDM4YTVjMDAwMDAwMDAsIDB4MWEyODQ4YjMwMDAwMDAwMCwKKyAgICAweDE5OTM3ZjU4MDAwMDAwMDAsIDB4MjdmOGJkYjcwMDAwMDAwMCwgMHg1ZWUzNjE1NTAwMDAwMDAwLAorICAgIDB4NjA4OGEzYmEwMDAwMDAwMCwgMHg2MzMzOTQ1MTAwMDAwMDAwLCAweDVkNTg1NmJlMDAwMDAwMDAsCisgICAgMHgzODgyZjM2ODAwMDAwMDAwLCAweDA2ZTkzMTg3MDAwMDAwMDAsIDB4MDU1MjA2NmMwMDAwMDAwMCwKKyAgICAweDNiMzljNDgzMDAwMDAwMDAsIDB4NDIyMjE4NjEwMDAwMDAwMCwgMHg3YzQ5ZGE4ZTAwMDAwMDAwLAorICAgIDB4N2ZmMmVkNjUwMDAwMDAwMCwgMHg0MTk5MmY4YTAwMDAwMDAwLCAweGNjYzIyNDdiMDAwMDAwMDAsCisgICAgMHhmMmE5ZTY5NDAwMDAwMDAwLCAweGYxMTJkMTdmMDAwMDAwMDAsIDB4Y2Y3OTEzOTAwMDAwMDAwMCwKKyAgICAweGI2NjJjZjcyMDAwMDAwMDAsIDB4ODgwOTBkOWQwMDAwMDAwMCwgMHg4YmIyM2E3NjAwMDAwMDAwLAorICAgIDB4YjVkOWY4OTkwMDAwMDAwMCwgMHhhMDA3YmE5ZTAwMDAwMDAwLCAweDllNmM3ODcxMDAwMDAwMDAsCisgICAgMHg5ZGQ3NGY5YTAwMDAwMDAwLCAweGEzYmM4ZDc1MDAwMDAwMDAsIDB4ZGFhNzUxOTcwMDAwMDAwMCwKKyAgICAweGU0Y2M5Mzc4MDAwMDAwMDAsIDB4ZTc3N2E0OTMwMDAwMDAwMCwgMHhkOTFjNjY3YzAwMDAwMDAwLAorICAgIDB4NTQ0NzZkOGQwMDAwMDAwMCwgMHg2YTJjYWY2MjAwMDAwMDAwLCAweDY5OTc5ODg5MDAwMDAwMDAsCisgICAgMHg1N2ZjNWE2NjAwMDAwMDAwLCAweDJlZTc4Njg0MDAwMDAwMDAsIDB4MTA4YzQ0NmIwMDAwMDAwMCwKKyAgICAweDEzMzc3MzgwMDAwMDAwMDAsIDB4MmQ1Y2IxNmYwMDAwMDAwMCwgMHg0ODg2MTRiOTAwMDAwMDAwLAorICAgIDB4NzZlZGQ2NTYwMDAwMDAwMCwgMHg3NTU2ZTFiZDAwMDAwMDAwLCAweDRiM2QyMzUyMDAwMDAwMDAsCisgICAgMHgzMjI2ZmZiMDAwMDAwMDAwLCAweDBjNGQzZDVmMDAwMDAwMDAsIDB4MGZmNjBhYjQwMDAwMDAwMCwKKyAgICAweDMxOWRjODViMDAwMDAwMDAsIDB4YmNjNmMzYWEwMDAwMDAwMCwgMHg4MmFkMDE0NTAwMDAwMDAwLAorICAgIDB4ODExNjM2YWUwMDAwMDAwMCwgMHhiZjdkZjQ0MTAwMDAwMDAwLCAweGM2NjYyOGEzMDAwMDAwMDAsCisgICAgMHhmODBkZWE0YzAwMDAwMDAwLCAweGZiYjZkZGE3MDAwMDAwMDAsIDB4YzVkZDFmNDgwMDAwMDAwMCwKKyAgICAweDcwMDRlN2QxMDAwMDAwMDAsIDB4NGU2ZjI1M2UwMDAwMDAwMCwgMHg0ZGQ0MTJkNTAwMDAwMDAwLAorICAgIDB4NzNiZmQwM2EwMDAwMDAwMCwgMHgwYWE0MGNkODAwMDAwMDAwLCAweDM0Y2ZjZTM3MDAwMDAwMDAsCisgICAgMHgzNzc0ZjlkYzAwMDAwMDAwLCAweDA5MWYzYjMzMDAwMDAwMDAsIDB4ODQ0NDMwYzIwMDAwMDAwMCwKKyAgICAweGJhMmZmMjJkMDAwMDAwMDAsIDB4Yjk5NGM1YzYwMDAwMDAwMCwgMHg4N2ZmMDcyOTAwMDAwMDAwLAorICAgIDB4ZmVlNGRiY2IwMDAwMDAwMCwgMHhjMDhmMTkyNDAwMDAwMDAwLCAweGMzMzQyZWNmMDAwMDAwMDAsCisgICAgMHhmZDVmZWMyMDAwMDAwMDAwLCAweDk4ODU0OWY2MDAwMDAwMDAsIDB4YTZlZThiMTkwMDAwMDAwMCwKKyAgICAweGE1NTViY2YyMDAwMDAwMDAsIDB4OWIzZTdlMWQwMDAwMDAwMCwgMHhlMjI1YTJmZjAwMDAwMDAwLAorICAgIDB4ZGM0ZTYwMTAwMDAwMDAwMCwgMHhkZmY1NTdmYjAwMDAwMDAwLCAweGUxOWU5NTE0MDAwMDAwMDAsCisgICAgMHg2Y2M1OWVlNTAwMDAwMDAwLCAweDUyYWU1YzBhMDAwMDAwMDAsIDB4NTExNTZiZTEwMDAwMDAwMCwKKyAgICAweDZmN2VhOTBlMDAwMDAwMDAsIDB4MTY2NTc1ZWMwMDAwMDAwMCwgMHgyODBlYjcwMzAwMDAwMDAwLAorICAgIDB4MmJiNTgwZTgwMDAwMDAwMCwgMHgxNWRlNDIwNzAwMDAwMDAwLCAweDAxMDkwNWU2MDAwMDAwMDAsCisgICAgMHgzZjYyYzcwOTAwMDAwMDAwLCAweDNjZDlmMGUyMDAwMDAwMDAsIDB4MDJiMjMyMGQwMDAwMDAwMCwKKyAgICAweDdiYTllZWVmMDAwMDAwMDAsIDB4NDVjMjJjMDAwMDAwMDAwMCwgMHg0Njc5MWJlYjAwMDAwMDAwLAorICAgIDB4NzgxMmQ5MDQwMDAwMDAwMCwgMHhmNTQ5ZDJmNTAwMDAwMDAwLCAweGNiMjIxMDFhMDAwMDAwMDAsCisgICAgMHhjODk5MjdmMTAwMDAwMDAwLCAweGY2ZjJlNTFlMDAwMDAwMDAsIDB4OGZlOTM5ZmMwMDAwMDAwMCwKKyAgICAweGIxODJmYjEzMDAwMDAwMDAsIDB4YjIzOWNjZjgwMDAwMDAwMCwgMHg4YzUyMGUxNzAwMDAwMDAwLAorICAgIDB4ZTk4OGFiYzEwMDAwMDAwMCwgMHhkN2UzNjkyZTAwMDAwMDAwLCAweGQ0NTg1ZWM1MDAwMDAwMDAsCisgICAgMHhlYTMzOWMyYTAwMDAwMDAwLCAweDkzMjg0MGM4MDAwMDAwMDAsIDB4YWQ0MzgyMjcwMDAwMDAwMCwKKyAgICAweGFlZjhiNWNjMDAwMDAwMDAsIDB4OTA5Mzc3MjMwMDAwMDAwMCwgMHgxZGM4N2NkMjAwMDAwMDAwLAorICAgIDB4MjNhM2JlM2QwMDAwMDAwMCwgMHgyMDE4ODlkNjAwMDAwMDAwLCAweDFlNzM0YjM5MDAwMDAwMDAsCisgICAgMHg2NzY4OTdkYjAwMDAwMDAwLCAweDU5MDM1NTM0MDAwMDAwMDAsIDB4NWFiODYyZGYwMDAwMDAwMCwKKyAgICAweDY0ZDNhMDMwMDAwMDAwMDAsIDB4ZDEwYTU4YTkwMDAwMDAwMCwgMHhlZjYxOWE0NjAwMDAwMDAwLAorICAgIDB4ZWNkYWFkYWQwMDAwMDAwMCwgMHhkMmIxNmY0MjAwMDAwMDAwLCAweGFiYWFiM2EwMDAwMDAwMDAsCisgICAgMHg5NWMxNzE0ZjAwMDAwMDAwLCAweDk2N2E0NmE0MDAwMDAwMDAsIDB4YTgxMTg0NGIwMDAwMDAwMCwKKyAgICAweDI1NGE4ZmJhMDAwMDAwMDAsIDB4MWIyMTRkNTUwMDAwMDAwMCwgMHgxODlhN2FiZTAwMDAwMDAwLAorICAgIDB4MjZmMWI4NTEwMDAwMDAwMCwgMHg1ZmVhNjRiMzAwMDAwMDAwLCAweDYxODFhNjVjMDAwMDAwMDAsCisgICAgMHg2MjNhOTFiNzAwMDAwMDAwLCAweDVjNTE1MzU4MDAwMDAwMDAsIDB4Mzk4YmY2OGUwMDAwMDAwMCwKKyAgICAweDA3ZTAzNDYxMDAwMDAwMDAsIDB4MDQ1YjAzOGEwMDAwMDAwMCwgMHgzYTMwYzE2NTAwMDAwMDAwLAorICAgIDB4NDMyYjFkODcwMDAwMDAwMCwgMHg3ZDQwZGY2ODAwMDAwMDAwLCAweDdlZmJlODgzMDAwMDAwMDAsCisgICAgMHg0MDkwMmE2YzAwMDAwMDAwLCAweGNkY2IyMTlkMDAwMDAwMDAsIDB4ZjNhMGUzNzIwMDAwMDAwMCwKKyAgICAweGYwMWJkNDk5MDAwMDAwMDAsIDB4Y2U3MDE2NzYwMDAwMDAwMCwgMHhiNzZiY2E5NDAwMDAwMDAwLAorICAgIDB4ODkwMDA4N2IwMDAwMDAwMCwgMHg4YWJiM2Y5MDAwMDAwMDAwLCAweGI0ZDBmZDdmMDAwMDAwMDAsCisgICAgMHhhMTBlYmY3ODAwMDAwMDAwLCAweDlmNjU3ZDk3MDAwMDAwMDAsIDB4OWNkZTRhN2MwMDAwMDAwMCwKKyAgICAweGEyYjU4ODkzMDAwMDAwMDAsIDB4ZGJhZTU0NzEwMDAwMDAwMCwgMHhlNWM1OTY5ZTAwMDAwMDAwLAorICAgIDB4ZTY3ZWExNzUwMDAwMDAwMCwgMHhkODE1NjM5YTAwMDAwMDAwLCAweDU1NGU2ODZiMDAwMDAwMDAsCisgICAgMHg2YjI1YWE4NDAwMDAwMDAwLCAweDY4OWU5ZDZmMDAwMDAwMDAsIDB4NTZmNTVmODAwMDAwMDAwMCwKKyAgICAweDJmZWU4MzYyMDAwMDAwMDAsIDB4MTE4NTQxOGQwMDAwMDAwMCwgMHgxMjNlNzY2NjAwMDAwMDAwLAorICAgIDB4MmM1NWI0ODkwMDAwMDAwMCwgMHg0OThmMTE1ZjAwMDAwMDAwLCAweDc3ZTRkM2IwMDAwMDAwMDAsCisgICAgMHg3NDVmZTQ1YjAwMDAwMDAwLCAweDRhMzQyNmI0MDAwMDAwMDAsIDB4MzMyZmZhNTYwMDAwMDAwMCwKKyAgICAweDBkNDQzOGI5MDAwMDAwMDAsIDB4MGVmZjBmNTIwMDAwMDAwMCwgMHgzMDk0Y2RiZDAwMDAwMDAwLAorICAgIDB4YmRjZmM2NGMwMDAwMDAwMCwgMHg4M2E0MDRhMzAwMDAwMDAwLCAweDgwMWYzMzQ4MDAwMDAwMDAsCisgICAgMHhiZTc0ZjFhNzAwMDAwMDAwLCAweGM3NmYyZDQ1MDAwMDAwMDAsIDB4ZjkwNGVmYWEwMDAwMDAwMCwKKyAgICAweGZhYmZkODQxMDAwMDAwMDAsIDB4YzRkNDFhYWUwMDAwMDAwMCwgMHg3MTBkZTIzNzAwMDAwMDAwLAorICAgIDB4NGY2NjIwZDgwMDAwMDAwMCwgMHg0Y2RkMTczMzAwMDAwMDAwLCAweDcyYjZkNWRjMDAwMDAwMDAsCisgICAgMHgwYmFkMDkzZTAwMDAwMDAwLCAweDM1YzZjYmQxMDAwMDAwMDAsIDB4MzY3ZGZjM2EwMDAwMDAwMCwKKyAgICAweDA4MTYzZWQ1MDAwMDAwMDAsIDB4ODU0ZDM1MjQwMDAwMDAwMCwgMHhiYjI2ZjdjYjAwMDAwMDAwLAorICAgIDB4Yjg5ZGMwMjAwMDAwMDAwMCwgMHg4NmY2MDJjZjAwMDAwMDAwLCAweGZmZWRkZTJkMDAwMDAwMDAsCisgICAgMHhjMTg2MWNjMjAwMDAwMDAwLCAweGMyM2QyYjI5MDAwMDAwMDAsIDB4ZmM1NmU5YzYwMDAwMDAwMCwKKyAgICAweDk5OGM0YzEwMDAwMDAwMDAsIDB4YTdlNzhlZmYwMDAwMDAwMCwgMHhhNDVjYjkxNDAwMDAwMDAwLAorICAgIDB4OWEzNzdiZmIwMDAwMDAwMCwgMHhlMzJjYTcxOTAwMDAwMDAwLCAweGRkNDc2NWY2MDAwMDAwMDAsCisgICAgMHhkZWZjNTIxZDAwMDAwMDAwLCAweGUwOTc5MGYyMDAwMDAwMDAsIDB4NmRjYzliMDMwMDAwMDAwMCwKKyAgICAweDUzYTc1OWVjMDAwMDAwMDAsIDB4NTAxYzZlMDcwMDAwMDAwMCwgMHg2ZTc3YWNlODAwMDAwMDAwLAorICAgIDB4MTc2YzcwMGEwMDAwMDAwMCwgMHgyOTA3YjJlNTAwMDAwMDAwLCAweDJhYmM4NTBlMDAwMDAwMDAsCisgICAgMHgxNGQ3NDdlMTAwMDAwMDAwfSwKKyAgIHsweDAwMDAwMDAwMDAwMDAwMDAsIDB4YzBkZjhlYzEwMDAwMDAwMCwgMHhjMWI5NmM1ODAwMDAwMDAwLAorICAgIDB4MDE2NmUyOTkwMDAwMDAwMCwgMHg4MjczZDliMDAwMDAwMDAwLCAweDQyYWM1NzcxMDAwMDAwMDAsCisgICAgMHg0M2NhYjVlODAwMDAwMDAwLCAweDgzMTUzYjI5MDAwMDAwMDAsIDB4NDVlMWMzYmEwMDAwMDAwMCwKKyAgICAweDg1M2U0ZDdiMDAwMDAwMDAsIDB4ODQ1OGFmZTIwMDAwMDAwMCwgMHg0NDg3MjEyMzAwMDAwMDAwLAorICAgIDB4Yzc5MjFhMGEwMDAwMDAwMCwgMHgwNzRkOTRjYjAwMDAwMDAwLCAweDA2MmI3NjUyMDAwMDAwMDAsCisgICAgMHhjNmY0Zjg5MzAwMDAwMDAwLCAweGNiYzRmNmFlMDAwMDAwMDAsIDB4MGIxYjc4NmYwMDAwMDAwMCwKKyAgICAweDBhN2Q5YWY2MDAwMDAwMDAsIDB4Y2FhMjE0MzcwMDAwMDAwMCwgMHg0OWI3MmYxZTAwMDAwMDAwLAorICAgIDB4ODk2OGExZGYwMDAwMDAwMCwgMHg4ODBlNDM0NjAwMDAwMDAwLCAweDQ4ZDFjZDg3MDAwMDAwMDAsCisgICAgMHg4ZTI1MzUxNDAwMDAwMDAwLCAweDRlZmFiYmQ1MDAwMDAwMDAsIDB4NGY5YzU5NGMwMDAwMDAwMCwKKyAgICAweDhmNDNkNzhkMDAwMDAwMDAsIDB4MGM1NmVjYTQwMDAwMDAwMCwgMHhjYzg5NjI2NTAwMDAwMDAwLAorICAgIDB4Y2RlZjgwZmMwMDAwMDAwMCwgMHgwZDMwMGUzZDAwMDAwMDAwLCAweGQ3OGY5Yzg2MDAwMDAwMDAsCisgICAgMHgxNzUwMTI0NzAwMDAwMDAwLCAweDE2MzZmMGRlMDAwMDAwMDAsIDB4ZDZlOTdlMWYwMDAwMDAwMCwKKyAgICAweDU1ZmM0NTM2MDAwMDAwMDAsIDB4OTUyM2NiZjcwMDAwMDAwMCwgMHg5NDQ1Mjk2ZTAwMDAwMDAwLAorICAgIDB4NTQ5YWE3YWYwMDAwMDAwMCwgMHg5MjZlNWYzYzAwMDAwMDAwLCAweDUyYjFkMWZkMDAwMDAwMDAsCisgICAgMHg1M2Q3MzM2NDAwMDAwMDAwLCAweDkzMDhiZGE1MDAwMDAwMDAsIDB4MTAxZDg2OGMwMDAwMDAwMCwKKyAgICAweGQwYzIwODRkMDAwMDAwMDAsIDB4ZDFhNGVhZDQwMDAwMDAwMCwgMHgxMTdiNjQxNTAwMDAwMDAwLAorICAgIDB4MWM0YjZhMjgwMDAwMDAwMCwgMHhkYzk0ZTRlOTAwMDAwMDAwLCAweGRkZjIwNjcwMDAwMDAwMDAsCisgICAgMHgxZDJkODhiMTAwMDAwMDAwLCAweDllMzhiMzk4MDAwMDAwMDAsIDB4NWVlNzNkNTkwMDAwMDAwMCwKKyAgICAweDVmODFkZmMwMDAwMDAwMDAsIDB4OWY1ZTUxMDEwMDAwMDAwMCwgMHg1OWFhYTk5MjAwMDAwMDAwLAorICAgIDB4OTk3NTI3NTMwMDAwMDAwMCwgMHg5ODEzYzVjYTAwMDAwMDAwLCAweDU4Y2M0YjBiMDAwMDAwMDAsCisgICAgMHhkYmQ5NzAyMjAwMDAwMDAwLCAweDFiMDZmZWUzMDAwMDAwMDAsIDB4MWE2MDFjN2EwMDAwMDAwMCwKKyAgICAweGRhYmY5MmJiMDAwMDAwMDAsIDB4ZWYxOTQ4ZDYwMDAwMDAwMCwgMHgyZmM2YzYxNzAwMDAwMDAwLAorICAgIDB4MmVhMDI0OGUwMDAwMDAwMCwgMHhlZTdmYWE0ZjAwMDAwMDAwLCAweDZkNmE5MTY2MDAwMDAwMDAsCisgICAgMHhhZGI1MWZhNzAwMDAwMDAwLCAweGFjZDNmZDNlMDAwMDAwMDAsIDB4NmMwYzczZmYwMDAwMDAwMCwKKyAgICAweGFhZjg4YjZjMDAwMDAwMDAsIDB4NmEyNzA1YWQwMDAwMDAwMCwgMHg2YjQxZTczNDAwMDAwMDAwLAorICAgIDB4YWI5ZTY5ZjUwMDAwMDAwMCwgMHgyODhiNTJkYzAwMDAwMDAwLCAweGU4NTRkYzFkMDAwMDAwMDAsCisgICAgMHhlOTMyM2U4NDAwMDAwMDAwLCAweDI5ZWRiMDQ1MDAwMDAwMDAsIDB4MjRkZGJlNzgwMDAwMDAwMCwKKyAgICAweGU0MDIzMGI5MDAwMDAwMDAsIDB4ZTU2NGQyMjAwMDAwMDAwMCwgMHgyNWJiNWNlMTAwMDAwMDAwLAorICAgIDB4YTZhZTY3YzgwMDAwMDAwMCwgMHg2NjcxZTkwOTAwMDAwMDAwLCAweDY3MTcwYjkwMDAwMDAwMDAsCisgICAgMHhhN2M4ODU1MTAwMDAwMDAwLCAweDYxM2M3ZGMyMDAwMDAwMDAsIDB4YTFlM2YzMDMwMDAwMDAwMCwKKyAgICAweGEwODUxMTlhMDAwMDAwMDAsIDB4NjA1YTlmNWIwMDAwMDAwMCwgMHhlMzRmYTQ3MjAwMDAwMDAwLAorICAgIDB4MjM5MDJhYjMwMDAwMDAwMCwgMHgyMmY2YzgyYTAwMDAwMDAwLCAweGUyMjk0NmViMDAwMDAwMDAsCisgICAgMHgzODk2ZDQ1MDAwMDAwMDAwLCAweGY4NDk1YTkxMDAwMDAwMDAsIDB4ZjkyZmI4MDgwMDAwMDAwMCwKKyAgICAweDM5ZjAzNmM5MDAwMDAwMDAsIDB4YmFlNTBkZTAwMDAwMDAwMCwgMHg3YTNhODMyMTAwMDAwMDAwLAorICAgIDB4N2I1YzYxYjgwMDAwMDAwMCwgMHhiYjgzZWY3OTAwMDAwMDAwLCAweDdkNzcxN2VhMDAwMDAwMDAsCisgICAgMHhiZGE4OTkyYjAwMDAwMDAwLCAweGJjY2U3YmIyMDAwMDAwMDAsIDB4N2MxMWY1NzMwMDAwMDAwMCwKKyAgICAweGZmMDRjZTVhMDAwMDAwMDAsIDB4M2ZkYjQwOWIwMDAwMDAwMCwgMHgzZWJkYTIwMjAwMDAwMDAwLAorICAgIDB4ZmU2MjJjYzMwMDAwMDAwMCwgMHhmMzUyMjJmZTAwMDAwMDAwLCAweDMzOGRhYzNmMDAwMDAwMDAsCisgICAgMHgzMmViNGVhNjAwMDAwMDAwLCAweGYyMzRjMDY3MDAwMDAwMDAsIDB4NzEyMWZiNGUwMDAwMDAwMCwKKyAgICAweGIxZmU3NThmMDAwMDAwMDAsIDB4YjA5ODk3MTYwMDAwMDAwMCwgMHg3MDQ3MTlkNzAwMDAwMDAwLAorICAgIDB4YjZiM2UxNDQwMDAwMDAwMCwgMHg3NjZjNmY4NTAwMDAwMDAwLCAweDc3MGE4ZDFjMDAwMDAwMDAsCisgICAgMHhiN2Q1MDNkZDAwMDAwMDAwLCAweDM0YzAzOGY0MDAwMDAwMDAsIDB4ZjQxZmI2MzUwMDAwMDAwMCwKKyAgICAweGY1Nzk1NGFjMDAwMDAwMDAsIDB4MzVhNmRhNmQwMDAwMDAwMCwgMHg5ZjM1ZTE3NzAwMDAwMDAwLAorICAgIDB4NWZlYTZmYjYwMDAwMDAwMCwgMHg1ZThjOGQyZjAwMDAwMDAwLCAweDllNTMwM2VlMDAwMDAwMDAsCisgICAgMHgxZDQ2MzhjNzAwMDAwMDAwLCAweGRkOTliNjA2MDAwMDAwMDAsIDB4ZGNmZjU0OWYwMDAwMDAwMCwKKyAgICAweDFjMjBkYTVlMDAwMDAwMDAsIDB4ZGFkNDIyY2QwMDAwMDAwMCwgMHgxYTBiYWMwYzAwMDAwMDAwLAorICAgIDB4MWI2ZDRlOTUwMDAwMDAwMCwgMHhkYmIyYzA1NDAwMDAwMDAwLCAweDU4YTdmYjdkMDAwMDAwMDAsCisgICAgMHg5ODc4NzViYzAwMDAwMDAwLCAweDk5MWU5NzI1MDAwMDAwMDAsIDB4NTljMTE5ZTQwMDAwMDAwMCwKKyAgICAweDU0ZjExN2Q5MDAwMDAwMDAsIDB4OTQyZTk5MTgwMDAwMDAwMCwgMHg5NTQ4N2I4MTAwMDAwMDAwLAorICAgIDB4NTU5N2Y1NDAwMDAwMDAwMCwgMHhkNjgyY2U2OTAwMDAwMDAwLCAweDE2NWQ0MGE4MDAwMDAwMDAsCisgICAgMHgxNzNiYTIzMTAwMDAwMDAwLCAweGQ3ZTQyY2YwMDAwMDAwMDAsIDB4MTExMGQ0NjMwMDAwMDAwMCwKKyAgICAweGQxY2Y1YWEyMDAwMDAwMDAsIDB4ZDBhOWI4M2IwMDAwMDAwMCwgMHgxMDc2MzZmYTAwMDAwMDAwLAorICAgIDB4OTM2MzBkZDMwMDAwMDAwMCwgMHg1M2JjODMxMjAwMDAwMDAwLCAweDUyZGE2MThiMDAwMDAwMDAsCisgICAgMHg5MjA1ZWY0YTAwMDAwMDAwLCAweDQ4YmE3ZGYxMDAwMDAwMDAsIDB4ODg2NWYzMzAwMDAwMDAwMCwKKyAgICAweDg5MDMxMWE5MDAwMDAwMDAsIDB4NDlkYzlmNjgwMDAwMDAwMCwgMHhjYWM5YTQ0MTAwMDAwMDAwLAorICAgIDB4MGExNjJhODAwMDAwMDAwMCwgMHgwYjcwYzgxOTAwMDAwMDAwLCAweGNiYWY0NmQ4MDAwMDAwMDAsCisgICAgMHgwZDViYmU0YjAwMDAwMDAwLCAweGNkODQzMDhhMDAwMDAwMDAsIDB4Y2NlMmQyMTMwMDAwMDAwMCwKKyAgICAweDBjM2Q1Y2QyMDAwMDAwMDAsIDB4OGYyODY3ZmIwMDAwMDAwMCwgMHg0ZmY3ZTkzYTAwMDAwMDAwLAorICAgIDB4NGU5MTBiYTMwMDAwMDAwMCwgMHg4ZTRlODU2MjAwMDAwMDAwLCAweDgzN2U4YjVmMDAwMDAwMDAsCisgICAgMHg0M2ExMDU5ZTAwMDAwMDAwLCAweDQyYzdlNzA3MDAwMDAwMDAsIDB4ODIxODY5YzYwMDAwMDAwMCwKKyAgICAweDAxMGQ1MmVmMDAwMDAwMDAsIDB4YzFkMmRjMmUwMDAwMDAwMCwgMHhjMGI0M2ViNzAwMDAwMDAwLAorICAgIDB4MDA2YmIwNzYwMDAwMDAwMCwgMHhjNjlmNDhlNTAwMDAwMDAwLCAweDA2NDBjNjI0MDAwMDAwMDAsCisgICAgMHgwNzI2MjRiZDAwMDAwMDAwLCAweGM3ZjlhYTdjMDAwMDAwMDAsIDB4NDRlYzkxNTUwMDAwMDAwMCwKKyAgICAweDg0MzMxZjk0MDAwMDAwMDAsIDB4ODU1NWZkMGQwMDAwMDAwMCwgMHg0NThhNzNjYzAwMDAwMDAwLAorICAgIDB4NzAyY2E5YTEwMDAwMDAwMCwgMHhiMGYzMjc2MDAwMDAwMDAwLCAweGIxOTVjNWY5MDAwMDAwMDAsCisgICAgMHg3MTRhNGIzODAwMDAwMDAwLCAweGYyNWY3MDExMDAwMDAwMDAsIDB4MzI4MGZlZDAwMDAwMDAwMCwKKyAgICAweDMzZTYxYzQ5MDAwMDAwMDAsIDB4ZjMzOTkyODgwMDAwMDAwMCwgMHgzNWNkNmExYjAwMDAwMDAwLAorICAgIDB4ZjUxMmU0ZGEwMDAwMDAwMCwgMHhmNDc0MDY0MzAwMDAwMDAwLCAweDM0YWI4ODgyMDAwMDAwMDAsCisgICAgMHhiN2JlYjNhYjAwMDAwMDAwLCAweDc3NjEzZDZhMDAwMDAwMDAsIDB4NzYwN2RmZjMwMDAwMDAwMCwKKyAgICAweGI2ZDg1MTMyMDAwMDAwMDAsIDB4YmJlODVmMGYwMDAwMDAwMCwgMHg3YjM3ZDFjZTAwMDAwMDAwLAorICAgIDB4N2E1MTMzNTcwMDAwMDAwMCwgMHhiYThlYmQ5NjAwMDAwMDAwLCAweDM5OWI4NmJmMDAwMDAwMDAsCisgICAgMHhmOTQ0MDg3ZTAwMDAwMDAwLCAweGY4MjJlYWU3MDAwMDAwMDAsIDB4MzhmZDY0MjYwMDAwMDAwMCwKKyAgICAweGZlMDk5Y2I1MDAwMDAwMDAsIDB4M2VkNjEyNzQwMDAwMDAwMCwgMHgzZmIwZjBlZDAwMDAwMDAwLAorICAgIDB4ZmY2ZjdlMmMwMDAwMDAwMCwgMHg3YzdhNDUwNTAwMDAwMDAwLCAweGJjYTVjYmM0MDAwMDAwMDAsCisgICAgMHhiZGMzMjk1ZDAwMDAwMDAwLCAweDdkMWNhNzljMDAwMDAwMDAsIDB4YTdhMzM1MjcwMDAwMDAwMCwKKyAgICAweDY3N2NiYmU2MDAwMDAwMDAsIDB4NjYxYTU5N2YwMDAwMDAwMCwgMHhhNmM1ZDdiZTAwMDAwMDAwLAorICAgIDB4MjVkMGVjOTcwMDAwMDAwMCwgMHhlNTBmNjI1NjAwMDAwMDAwLCAweGU0Njk4MGNmMDAwMDAwMDAsCisgICAgMHgyNGI2MGUwZTAwMDAwMDAwLCAweGUyNDJmNjlkMDAwMDAwMDAsIDB4MjI5ZDc4NWMwMDAwMDAwMCwKKyAgICAweDIzZmI5YWM1MDAwMDAwMDAsIDB4ZTMyNDE0MDQwMDAwMDAwMCwgMHg2MDMxMmYyZDAwMDAwMDAwLAorICAgIDB4YTBlZWExZWMwMDAwMDAwMCwgMHhhMTg4NDM3NTAwMDAwMDAwLCAweDYxNTdjZGI0MDAwMDAwMDAsCisgICAgMHg2YzY3YzM4OTAwMDAwMDAwLCAweGFjYjg0ZDQ4MDAwMDAwMDAsIDB4YWRkZWFmZDEwMDAwMDAwMCwKKyAgICAweDZkMDEyMTEwMDAwMDAwMDAsIDB4ZWUxNDFhMzkwMDAwMDAwMCwgMHgyZWNiOTRmODAwMDAwMDAwLAorICAgIDB4MmZhZDc2NjEwMDAwMDAwMCwgMHhlZjcyZjhhMDAwMDAwMDAwLCAweDI5ODYwMDMzMDAwMDAwMDAsCisgICAgMHhlOTU5OGVmMjAwMDAwMDAwLCAweGU4M2Y2YzZiMDAwMDAwMDAsIDB4MjhlMGUyYWEwMDAwMDAwMCwKKyAgICAweGFiZjVkOTgzMDAwMDAwMDAsIDB4NmIyYTU3NDIwMDAwMDAwMCwgMHg2YTRjYjVkYjAwMDAwMDAwLAorICAgIDB4YWE5MzNiMWEwMDAwMDAwMH0sCisgICB7MHgwMDAwMDAwMDAwMDAwMDAwLCAweDZmNGNhNTliMDAwMDAwMDAsIDB4OWY5ZTNiZWMwMDAwMDAwMCwKKyAgICAweGYwZDI5ZTc3MDAwMDAwMDAsIDB4N2YzYjA2MDMwMDAwMDAwMCwgMHgxMDc3YTM5ODAwMDAwMDAwLAorICAgIDB4ZTBhNTNkZWYwMDAwMDAwMCwgMHg4ZmU5OTg3NDAwMDAwMDAwLCAweGZlNzYwYzA2MDAwMDAwMDAsCisgICAgMHg5MTNhYTk5ZDAwMDAwMDAwLCAweDYxZTgzN2VhMDAwMDAwMDAsIDB4MGVhNDkyNzEwMDAwMDAwMCwKKyAgICAweDgxNGQwYTA1MDAwMDAwMDAsIDB4ZWUwMWFmOWUwMDAwMDAwMCwgMHgxZWQzMzFlOTAwMDAwMDAwLAorICAgIDB4NzE5Zjk0NzIwMDAwMDAwMCwgMHhmY2VkMTgwYzAwMDAwMDAwLCAweDkzYTFiZDk3MDAwMDAwMDAsCisgICAgMHg2MzczMjNlMDAwMDAwMDAwLCAweDBjM2Y4NjdiMDAwMDAwMDAsIDB4ODNkNjFlMGYwMDAwMDAwMCwKKyAgICAweGVjOWFiYjk0MDAwMDAwMDAsIDB4MWM0ODI1ZTMwMDAwMDAwMCwgMHg3MzA0ODA3ODAwMDAwMDAwLAorICAgIDB4MDI5YjE0MGEwMDAwMDAwMCwgMHg2ZGQ3YjE5MTAwMDAwMDAwLCAweDlkMDUyZmU2MDAwMDAwMDAsCisgICAgMHhmMjQ5OGE3ZDAwMDAwMDAwLCAweDdkYTAxMjA5MDAwMDAwMDAsIDB4MTJlY2I3OTIwMDAwMDAwMCwKKyAgICAweGUyM2UyOWU1MDAwMDAwMDAsIDB4OGQ3MjhjN2UwMDAwMDAwMCwgMHhmOGRiMzExODAwMDAwMDAwLAorICAgIDB4OTc5Nzk0ODMwMDAwMDAwMCwgMHg2NzQ1MGFmNDAwMDAwMDAwLCAweDA4MDlhZjZmMDAwMDAwMDAsCisgICAgMHg4N2UwMzcxYjAwMDAwMDAwLCAweGU4YWM5MjgwMDAwMDAwMDAsIDB4MTg3ZTBjZjcwMDAwMDAwMCwKKyAgICAweDc3MzJhOTZjMDAwMDAwMDAsIDB4MDZhZDNkMWUwMDAwMDAwMCwgMHg2OWUxOTg4NTAwMDAwMDAwLAorICAgIDB4OTkzMzA2ZjIwMDAwMDAwMCwgMHhmNjdmYTM2OTAwMDAwMDAwLCAweDc5OTYzYjFkMDAwMDAwMDAsCisgICAgMHgxNmRhOWU4NjAwMDAwMDAwLCAweGU2MDgwMGYxMDAwMDAwMDAsIDB4ODk0NGE1NmEwMDAwMDAwMCwKKyAgICAweDA0MzYyOTE0MDAwMDAwMDAsIDB4NmI3YThjOGYwMDAwMDAwMCwgMHg5YmE4MTJmODAwMDAwMDAwLAorICAgIDB4ZjRlNGI3NjMwMDAwMDAwMCwgMHg3YjBkMmYxNzAwMDAwMDAwLCAweDE0NDE4YThjMDAwMDAwMDAsCisgICAgMHhlNDkzMTRmYjAwMDAwMDAwLCAweDhiZGZiMTYwMDAwMDAwMDAsIDB4ZmE0MDI1MTIwMDAwMDAwMCwKKyAgICAweDk1MGM4MDg5MDAwMDAwMDAsIDB4NjVkZTFlZmUwMDAwMDAwMCwgMHgwYTkyYmI2NTAwMDAwMDAwLAorICAgIDB4ODU3YjIzMTEwMDAwMDAwMCwgMHhlYTM3ODY4YTAwMDAwMDAwLCAweDFhZTUxOGZkMDAwMDAwMDAsCisgICAgMHg3NWE5YmQ2NjAwMDAwMDAwLCAweGYwYjc2MzMwMDAwMDAwMDAsIDB4OWZmYmM2YWIwMDAwMDAwMCwKKyAgICAweDZmMjk1OGRjMDAwMDAwMDAsIDB4MDA2NWZkNDcwMDAwMDAwMCwgMHg4ZjhjNjUzMzAwMDAwMDAwLAorICAgIDB4ZTBjMGMwYTgwMDAwMDAwMCwgMHgxMDEyNWVkZjAwMDAwMDAwLCAweDdmNWVmYjQ0MDAwMDAwMDAsCisgICAgMHgwZWMxNmYzNjAwMDAwMDAwLCAweDYxOGRjYWFkMDAwMDAwMDAsIDB4OTE1ZjU0ZGEwMDAwMDAwMCwKKyAgICAweGZlMTNmMTQxMDAwMDAwMDAsIDB4NzFmYTY5MzUwMDAwMDAwMCwgMHgxZWI2Y2NhZTAwMDAwMDAwLAorICAgIDB4ZWU2NDUyZDkwMDAwMDAwMCwgMHg4MTI4Zjc0MjAwMDAwMDAwLCAweDBjNWE3YjNjMDAwMDAwMDAsCisgICAgMHg2MzE2ZGVhNzAwMDAwMDAwLCAweDkzYzQ0MGQwMDAwMDAwMDAsIDB4ZmM4OGU1NGIwMDAwMDAwMCwKKyAgICAweDczNjE3ZDNmMDAwMDAwMDAsIDB4MWMyZGQ4YTQwMDAwMDAwMCwgMHhlY2ZmNDZkMzAwMDAwMDAwLAorICAgIDB4ODNiM2UzNDgwMDAwMDAwMCwgMHhmMjJjNzczYTAwMDAwMDAwLCAweDlkNjBkMmExMDAwMDAwMDAsCisgICAgMHg2ZGIyNGNkNjAwMDAwMDAwLCAweDAyZmVlOTRkMDAwMDAwMDAsIDB4OGQxNzcxMzkwMDAwMDAwMCwKKyAgICAweGUyNWJkNGEyMDAwMDAwMDAsIDB4MTI4OTRhZDUwMDAwMDAwMCwgMHg3ZGM1ZWY0ZTAwMDAwMDAwLAorICAgIDB4MDg2YzUyMjgwMDAwMDAwMCwgMHg2NzIwZjdiMzAwMDAwMDAwLCAweDk3ZjI2OWM0MDAwMDAwMDAsCisgICAgMHhmOGJlY2M1ZjAwMDAwMDAwLCAweDc3NTc1NDJiMDAwMDAwMDAsIDB4MTgxYmYxYjAwMDAwMDAwMCwKKyAgICAweGU4Yzk2ZmM3MDAwMDAwMDAsIDB4ODc4NWNhNWMwMDAwMDAwMCwgMHhmNjFhNWUyZTAwMDAwMDAwLAorICAgIDB4OTk1NmZiYjUwMDAwMDAwMCwgMHg2OTg0NjVjMjAwMDAwMDAwLCAweDA2YzhjMDU5MDAwMDAwMDAsCisgICAgMHg4OTIxNTgyZDAwMDAwMDAwLCAweGU2NmRmZGI2MDAwMDAwMDAsIDB4MTZiZjYzYzEwMDAwMDAwMCwKKyAgICAweDc5ZjNjNjVhMDAwMDAwMDAsIDB4ZjQ4MTRhMjQwMDAwMDAwMCwgMHg5YmNkZWZiZjAwMDAwMDAwLAorICAgIDB4NmIxZjcxYzgwMDAwMDAwMCwgMHgwNDUzZDQ1MzAwMDAwMDAwLCAweDhiYmE0YzI3MDAwMDAwMDAsCisgICAgMHhlNGY2ZTliYzAwMDAwMDAwLCAweDE0MjQ3N2NiMDAwMDAwMDAsIDB4N2I2OGQyNTAwMDAwMDAwMCwKKyAgICAweDBhZjc0NjIyMDAwMDAwMDAsIDB4NjViYmUzYjkwMDAwMDAwMCwgMHg5NTY5N2RjZTAwMDAwMDAwLAorICAgIDB4ZmEyNWQ4NTUwMDAwMDAwMCwgMHg3NWNjNDAyMTAwMDAwMDAwLCAweDFhODBlNWJhMDAwMDAwMDAsCisgICAgMHhlYTUyN2JjZDAwMDAwMDAwLCAweDg1MWVkZTU2MDAwMDAwMDAsIDB4ZTA2ZmM3NjAwMDAwMDAwMCwKKyAgICAweDhmMjM2MmZiMDAwMDAwMDAsIDB4N2ZmMWZjOGMwMDAwMDAwMCwgMHgxMGJkNTkxNzAwMDAwMDAwLAorICAgIDB4OWY1NGMxNjMwMDAwMDAwMCwgMHhmMDE4NjRmODAwMDAwMDAwLCAweDAwY2FmYThmMDAwMDAwMDAsCisgICAgMHg2Zjg2NWYxNDAwMDAwMDAwLCAweDFlMTljYjY2MDAwMDAwMDAsIDB4NzE1NTZlZmQwMDAwMDAwMCwKKyAgICAweDgxODdmMDhhMDAwMDAwMDAsIDB4ZWVjYjU1MTEwMDAwMDAwMCwgMHg2MTIyY2Q2NTAwMDAwMDAwLAorICAgIDB4MGU2ZTY4ZmUwMDAwMDAwMCwgMHhmZWJjZjY4OTAwMDAwMDAwLCAweDkxZjA1MzEyMDAwMDAwMDAsCisgICAgMHgxYzgyZGY2YzAwMDAwMDAwLCAweDczY2U3YWY3MDAwMDAwMDAsIDB4ODMxY2U0ODAwMDAwMDAwMCwKKyAgICAweGVjNTA0MTFiMDAwMDAwMDAsIDB4NjNiOWQ5NmYwMDAwMDAwMCwgMHgwY2Y1N2NmNDAwMDAwMDAwLAorICAgIDB4ZmMyN2UyODMwMDAwMDAwMCwgMHg5MzZiNDcxODAwMDAwMDAwLCAweGUyZjRkMzZhMDAwMDAwMDAsCisgICAgMHg4ZGI4NzZmMTAwMDAwMDAwLCAweDdkNmFlODg2MDAwMDAwMDAsIDB4MTIyNjRkMWQwMDAwMDAwMCwKKyAgICAweDlkY2ZkNTY5MDAwMDAwMDAsIDB4ZjI4MzcwZjIwMDAwMDAwMCwgMHgwMjUxZWU4NTAwMDAwMDAwLAorICAgIDB4NmQxZDRiMWUwMDAwMDAwMCwgMHgxOGI0ZjY3ODAwMDAwMDAwLCAweDc3Zjg1M2UzMDAwMDAwMDAsCisgICAgMHg4NzJhY2Q5NDAwMDAwMDAwLCAweGU4NjY2ODBmMDAwMDAwMDAsIDB4Njc4ZmYwN2IwMDAwMDAwMCwKKyAgICAweDA4YzM1NWUwMDAwMDAwMDAsIDB4ZjgxMWNiOTcwMDAwMDAwMCwgMHg5NzVkNmUwYzAwMDAwMDAwLAorICAgIDB4ZTZjMmZhN2UwMDAwMDAwMCwgMHg4OThlNWZlNTAwMDAwMDAwLCAweDc5NWNjMTkyMDAwMDAwMDAsCisgICAgMHgxNjEwNjQwOTAwMDAwMDAwLCAweDk5ZjlmYzdkMDAwMDAwMDAsIDB4ZjZiNTU5ZTYwMDAwMDAwMCwKKyAgICAweDA2NjdjNzkxMDAwMDAwMDAsIDB4NjkyYjYyMGEwMDAwMDAwMCwgMHhlNDU5ZWU3NDAwMDAwMDAwLAorICAgIDB4OGIxNTRiZWYwMDAwMDAwMCwgMHg3YmM3ZDU5ODAwMDAwMDAwLCAweDE0OGI3MDAzMDAwMDAwMDAsCisgICAgMHg5YjYyZTg3NzAwMDAwMDAwLCAweGY0MmU0ZGVjMDAwMDAwMDAsIDB4MDRmY2QzOWIwMDAwMDAwMCwKKyAgICAweDZiYjA3NjAwMDAwMDAwMDAsIDB4MWEyZmUyNzIwMDAwMDAwMCwgMHg3NTYzNDdlOTAwMDAwMDAwLAorICAgIDB4ODViMWQ5OWUwMDAwMDAwMCwgMHhlYWZkN2MwNTAwMDAwMDAwLCAweDY1MTRlNDcxMDAwMDAwMDAsCisgICAgMHgwYTU4NDFlYTAwMDAwMDAwLCAweGZhOGFkZjlkMDAwMDAwMDAsIDB4OTVjNjdhMDYwMDAwMDAwMCwKKyAgICAweDEwZDhhNDUwMDAwMDAwMDAsIDB4N2Y5NDAxY2IwMDAwMDAwMCwgMHg4ZjQ2OWZiYzAwMDAwMDAwLAorICAgIDB4ZTAwYTNhMjcwMDAwMDAwMCwgMHg2ZmUzYTI1MzAwMDAwMDAwLCAweDAwYWYwN2M4MDAwMDAwMDAsCisgICAgMHhmMDdkOTliZjAwMDAwMDAwLCAweDlmMzEzYzI0MDAwMDAwMDAsIDB4ZWVhZWE4NTYwMDAwMDAwMCwKKyAgICAweDgxZTIwZGNkMDAwMDAwMDAsIDB4NzEzMDkzYmEwMDAwMDAwMCwgMHgxZTdjMzYyMTAwMDAwMDAwLAorICAgIDB4OTE5NWFlNTUwMDAwMDAwMCwgMHhmZWQ5MGJjZTAwMDAwMDAwLCAweDBlMGI5NWI5MDAwMDAwMDAsCisgICAgMHg2MTQ3MzAyMjAwMDAwMDAwLCAweGVjMzViYzVjMDAwMDAwMDAsIDB4ODM3OTE5YzcwMDAwMDAwMCwKKyAgICAweDczYWI4N2IwMDAwMDAwMDAsIDB4MWNlNzIyMmIwMDAwMDAwMCwgMHg5MzBlYmE1ZjAwMDAwMDAwLAorICAgIDB4ZmM0MjFmYzQwMDAwMDAwMCwgMHgwYzkwODFiMzAwMDAwMDAwLCAweDYzZGMyNDI4MDAwMDAwMDAsCisgICAgMHgxMjQzYjA1YTAwMDAwMDAwLCAweDdkMGYxNWMxMDAwMDAwMDAsIDB4OGRkZDhiYjYwMDAwMDAwMCwKKyAgICAweGUyOTEyZTJkMDAwMDAwMDAsIDB4NmQ3OGI2NTkwMDAwMDAwMCwgMHgwMjM0MTNjMjAwMDAwMDAwLAorICAgIDB4ZjJlNjhkYjUwMDAwMDAwMCwgMHg5ZGFhMjgyZTAwMDAwMDAwLCAweGU4MDM5NTQ4MDAwMDAwMDAsCisgICAgMHg4NzRmMzBkMzAwMDAwMDAwLCAweDc3OWRhZWE0MDAwMDAwMDAsIDB4MThkMTBiM2YwMDAwMDAwMCwKKyAgICAweDk3Mzg5MzRiMDAwMDAwMDAsIDB4Zjg3NDM2ZDAwMDAwMDAwMCwgMHgwOGE2YThhNzAwMDAwMDAwLAorICAgIDB4NjdlYTBkM2MwMDAwMDAwMCwgMHgxNjc1OTk0ZTAwMDAwMDAwLCAweDc5MzkzY2Q1MDAwMDAwMDAsCisgICAgMHg4OWViYTJhMjAwMDAwMDAwLCAweGU2YTcwNzM5MDAwMDAwMDAsIDB4Njk0ZTlmNGQwMDAwMDAwMCwKKyAgICAweDA2MDIzYWQ2MDAwMDAwMDAsIDB4ZjZkMGE0YTEwMDAwMDAwMCwgMHg5OTljMDEzYTAwMDAwMDAwLAorICAgIDB4MTRlZThkNDQwMDAwMDAwMCwgMHg3YmEyMjhkZjAwMDAwMDAwLCAweDhiNzBiNmE4MDAwMDAwMDAsCisgICAgMHhlNDNjMTMzMzAwMDAwMDAwLCAweDZiZDU4YjQ3MDAwMDAwMDAsIDB4MDQ5OTJlZGMwMDAwMDAwMCwKKyAgICAweGY0NGJiMGFiMDAwMDAwMDAsIDB4OWIwNzE1MzAwMDAwMDAwMCwgMHhlYTk4ODE0MjAwMDAwMDAwLAorICAgIDB4ODVkNDI0ZDkwMDAwMDAwMCwgMHg3NTA2YmFhZTAwMDAwMDAwLCAweDFhNGExZjM1MDAwMDAwMDAsCisgICAgMHg5NWEzODc0MTAwMDAwMDAwLCAweGZhZWYyMmRhMDAwMDAwMDAsIDB4MGEzZGJjYWQwMDAwMDAwMCwKKyAgICAweDY1NzExOTM2MDAwMDAwMDB9LAorICAgezB4MDAwMDAwMDAwMDAwMDAwMCwgMHg4NWQ5OTZkZDAwMDAwMDAwLCAweDRiYjU1YzYwMDAwMDAwMDAsCisgICAgMHhjZTZjY2FiZDAwMDAwMDAwLCAweDk2NmFiOWMwMDAwMDAwMDAsIDB4MTNiMzJmMWQwMDAwMDAwMCwKKyAgICAweGRkZGZlNWEwMDAwMDAwMDAsIDB4NTgwNjczN2QwMDAwMDAwMCwgMHg2ZGQzMDM1YTAwMDAwMDAwLAorICAgIDB4ZTgwYTk1ODcwMDAwMDAwMCwgMHgyNjY2NWYzYTAwMDAwMDAwLCAweGEzYmZjOWU3MDAwMDAwMDAsCisgICAgMHhmYmI5YmE5YTAwMDAwMDAwLCAweDdlNjAyYzQ3MDAwMDAwMDAsIDB4YjAwY2U2ZmEwMDAwMDAwMCwKKyAgICAweDM1ZDU3MDI3MDAwMDAwMDAsIDB4ZGFhNjA3YjQwMDAwMDAwMCwgMHg1ZjdmOTE2OTAwMDAwMDAwLAorICAgIDB4OTExMzViZDQwMDAwMDAwMCwgMHgxNGNhY2QwOTAwMDAwMDAwLCAweDRjY2NiZTc0MDAwMDAwMDAsCisgICAgMHhjOTE1MjhhOTAwMDAwMDAwLCAweDA3NzllMjE0MDAwMDAwMDAsIDB4ODJhMDc0YzkwMDAwMDAwMCwKKyAgICAweGI3NzUwNGVlMDAwMDAwMDAsIDB4MzJhYzkyMzMwMDAwMDAwMCwgMHhmY2MwNTg4ZTAwMDAwMDAwLAorICAgIDB4NzkxOWNlNTMwMDAwMDAwMCwgMHgyMTFmYmQyZTAwMDAwMDAwLCAweGE0YzYyYmYzMDAwMDAwMDAsCisgICAgMHg2YWFhZTE0ZTAwMDAwMDAwLCAweGVmNzM3NzkzMDAwMDAwMDAsIDB4ZjU0YjdlYjMwMDAwMDAwMCwKKyAgICAweDcwOTJlODZlMDAwMDAwMDAsIDB4YmVmZTIyZDMwMDAwMDAwMCwgMHgzYjI3YjQwZTAwMDAwMDAwLAorICAgIDB4NjMyMWM3NzMwMDAwMDAwMCwgMHhlNmY4NTFhZTAwMDAwMDAwLCAweDI4OTQ5YjEzMDAwMDAwMDAsCisgICAgMHhhZDRkMGRjZTAwMDAwMDAwLCAweDk4OTg3ZGU5MDAwMDAwMDAsIDB4MWQ0MWViMzQwMDAwMDAwMCwKKyAgICAweGQzMmQyMTg5MDAwMDAwMDAsIDB4NTZmNGI3NTQwMDAwMDAwMCwgMHgwZWYyYzQyOTAwMDAwMDAwLAorICAgIDB4OGIyYjUyZjQwMDAwMDAwMCwgMHg0NTQ3OTg0OTAwMDAwMDAwLCAweGMwOWUwZTk0MDAwMDAwMDAsCisgICAgMHgyZmVkNzkwNzAwMDAwMDAwLCAweGFhMzRlZmRhMDAwMDAwMDAsIDB4NjQ1ODI1NjcwMDAwMDAwMCwKKyAgICAweGUxODFiM2JhMDAwMDAwMDAsIDB4Yjk4N2MwYzcwMDAwMDAwMCwgMHgzYzVlNTYxYTAwMDAwMDAwLAorICAgIDB4ZjIzMjljYTcwMDAwMDAwMCwgMHg3N2ViMGE3YTAwMDAwMDAwLCAweDQyM2U3YTVkMDAwMDAwMDAsCisgICAgMHhjN2U3ZWM4MDAwMDAwMDAwLCAweDA5OGIyNjNkMDAwMDAwMDAsIDB4OGM1MmIwZTAwMDAwMDAwMCwKKyAgICAweGQ0NTRjMzlkMDAwMDAwMDAsIDB4NTE4ZDU1NDAwMDAwMDAwMCwgMHg5ZmUxOWZmZDAwMDAwMDAwLAorICAgIDB4MWEzODA5MjAwMDAwMDAwMCwgMHhhYjkxOGRiZDAwMDAwMDAwLCAweDJlNDgxYjYwMDAwMDAwMDAsCisgICAgMHhlMDI0ZDFkZDAwMDAwMDAwLCAweDY1ZmQ0NzAwMDAwMDAwMDAsIDB4M2RmYjM0N2QwMDAwMDAwMCwKKyAgICAweGI4MjJhMmEwMDAwMDAwMDAsIDB4NzY0ZTY4MWQwMDAwMDAwMCwgMHhmMzk3ZmVjMDAwMDAwMDAwLAorICAgIDB4YzY0MjhlZTcwMDAwMDAwMCwgMHg0MzliMTgzYTAwMDAwMDAwLCAweDhkZjdkMjg3MDAwMDAwMDAsCisgICAgMHgwODJlNDQ1YTAwMDAwMDAwLCAweDUwMjgzNzI3MDAwMDAwMDAsIDB4ZDVmMWExZmEwMDAwMDAwMCwKKyAgICAweDFiOWQ2YjQ3MDAwMDAwMDAsIDB4OWU0NGZkOWEwMDAwMDAwMCwgMHg3MTM3OGEwOTAwMDAwMDAwLAorICAgIDB4ZjRlZTFjZDQwMDAwMDAwMCwgMHgzYTgyZDY2OTAwMDAwMDAwLCAweGJmNWI0MGI0MDAwMDAwMDAsCisgICAgMHhlNzVkMzNjOTAwMDAwMDAwLCAweDYyODRhNTE0MDAwMDAwMDAsIDB4YWNlODZmYTkwMDAwMDAwMCwKKyAgICAweDI5MzFmOTc0MDAwMDAwMDAsIDB4MWNlNDg5NTMwMDAwMDAwMCwgMHg5OTNkMWY4ZTAwMDAwMDAwLAorICAgIDB4NTc1MWQ1MzMwMDAwMDAwMCwgMHhkMjg4NDNlZTAwMDAwMDAwLCAweDhhOGUzMDkzMDAwMDAwMDAsCisgICAgMHgwZjU3YTY0ZTAwMDAwMDAwLCAweGMxM2I2Y2YzMDAwMDAwMDAsIDB4NDRlMmZhMmUwMDAwMDAwMCwKKyAgICAweDVlZGFmMzBlMDAwMDAwMDAsIDB4ZGIwMzY1ZDMwMDAwMDAwMCwgMHgxNTZmYWY2ZTAwMDAwMDAwLAorICAgIDB4OTBiNjM5YjMwMDAwMDAwMCwgMHhjOGIwNGFjZTAwMDAwMDAwLCAweDRkNjlkYzEzMDAwMDAwMDAsCisgICAgMHg4MzA1MTZhZTAwMDAwMDAwLCAweDA2ZGM4MDczMDAwMDAwMDAsIDB4MzMwOWYwNTQwMDAwMDAwMCwKKyAgICAweGI2ZDA2Njg5MDAwMDAwMDAsIDB4NzhiY2FjMzQwMDAwMDAwMCwgMHhmZDY1M2FlOTAwMDAwMDAwLAorICAgIDB4YTU2MzQ5OTQwMDAwMDAwMCwgMHgyMGJhZGY0OTAwMDAwMDAwLCAweGVlZDYxNWY0MDAwMDAwMDAsCisgICAgMHg2YjBmODMyOTAwMDAwMDAwLCAweDg0N2NmNGJhMDAwMDAwMDAsIDB4MDFhNTYyNjcwMDAwMDAwMCwKKyAgICAweGNmYzlhOGRhMDAwMDAwMDAsIDB4NGExMDNlMDcwMDAwMDAwMCwgMHgxMjE2NGQ3YTAwMDAwMDAwLAorICAgIDB4OTdjZmRiYTcwMDAwMDAwMCwgMHg1OWEzMTExYTAwMDAwMDAwLCAweGRjN2E4N2M3MDAwMDAwMDAsCisgICAgMHhlOWFmZjdlMDAwMDAwMDAwLCAweDZjNzY2MTNkMDAwMDAwMDAsIDB4YTIxYWFiODAwMDAwMDAwMCwKKyAgICAweDI3YzMzZDVkMDAwMDAwMDAsIDB4N2ZjNTRlMjAwMDAwMDAwMCwgMHhmYTFjZDhmZDAwMDAwMDAwLAorICAgIDB4MzQ3MDEyNDAwMDAwMDAwMCwgMHhiMWE5ODQ5ZDAwMDAwMDAwLCAweDE3MjU2YWEwMDAwMDAwMDAsCisgICAgMHg5MmZjZmM3ZDAwMDAwMDAwLCAweDVjOTAzNmMwMDAwMDAwMDAsIDB4ZDk0OWEwMWQwMDAwMDAwMCwKKyAgICAweDgxNGZkMzYwMDAwMDAwMDAsIDB4MDQ5NjQ1YmQwMDAwMDAwMCwgMHhjYWZhOGYwMDAwMDAwMDAwLAorICAgIDB4NGYyMzE5ZGQwMDAwMDAwMCwgMHg3YWY2NjlmYTAwMDAwMDAwLCAweGZmMmZmZjI3MDAwMDAwMDAsCisgICAgMHgzMTQzMzU5YTAwMDAwMDAwLCAweGI0OWFhMzQ3MDAwMDAwMDAsIDB4ZWM5Y2QwM2EwMDAwMDAwMCwKKyAgICAweDY5NDU0NmU3MDAwMDAwMDAsIDB4YTcyOThjNWEwMDAwMDAwMCwgMHgyMmYwMWE4NzAwMDAwMDAwLAorICAgIDB4Y2Q4MzZkMTQwMDAwMDAwMCwgMHg0ODVhZmJjOTAwMDAwMDAwLCAweDg2MzYzMTc0MDAwMDAwMDAsCisgICAgMHgwM2VmYTdhOTAwMDAwMDAwLCAweDViZTlkNGQ0MDAwMDAwMDAsIDB4ZGUzMDQyMDkwMDAwMDAwMCwKKyAgICAweDEwNWM4OGI0MDAwMDAwMDAsIDB4OTU4NTFlNjkwMDAwMDAwMCwgMHhhMDUwNmU0ZTAwMDAwMDAwLAorICAgIDB4MjU4OWY4OTMwMDAwMDAwMCwgMHhlYmU1MzIyZTAwMDAwMDAwLCAweDZlM2NhNGYzMDAwMDAwMDAsCisgICAgMHgzNjNhZDc4ZTAwMDAwMDAwLCAweGIzZTM0MTUzMDAwMDAwMDAsIDB4N2Q4ZjhiZWUwMDAwMDAwMCwKKyAgICAweGY4NTYxZDMzMDAwMDAwMDAsIDB4ZTI2ZTE0MTMwMDAwMDAwMCwgMHg2N2I3ODJjZTAwMDAwMDAwLAorICAgIDB4YTlkYjQ4NzMwMDAwMDAwMCwgMHgyYzAyZGVhZTAwMDAwMDAwLCAweDc0MDRhZGQzMDAwMDAwMDAsCisgICAgMHhmMWRkM2IwZTAwMDAwMDAwLCAweDNmYjFmMWIzMDAwMDAwMDAsIDB4YmE2ODY3NmUwMDAwMDAwMCwKKyAgICAweDhmYmQxNzQ5MDAwMDAwMDAsIDB4MGE2NDgxOTQwMDAwMDAwMCwgMHhjNDA4NGIyOTAwMDAwMDAwLAorICAgIDB4NDFkMWRkZjQwMDAwMDAwMCwgMHgxOWQ3YWU4OTAwMDAwMDAwLCAweDljMGUzODU0MDAwMDAwMDAsCisgICAgMHg1MjYyZjJlOTAwMDAwMDAwLCAweGQ3YmI2NDM0MDAwMDAwMDAsIDB4MzhjODEzYTcwMDAwMDAwMCwKKyAgICAweGJkMTE4NTdhMDAwMDAwMDAsIDB4NzM3ZDRmYzcwMDAwMDAwMCwgMHhmNmE0ZDkxYTAwMDAwMDAwLAorICAgIDB4YWVhMmFhNjcwMDAwMDAwMCwgMHgyYjdiM2NiYTAwMDAwMDAwLCAweGU1MTdmNjA3MDAwMDAwMDAsCisgICAgMHg2MGNlNjBkYTAwMDAwMDAwLCAweDU1MWIxMGZkMDAwMDAwMDAsIDB4ZDBjMjg2MjAwMDAwMDAwMCwKKyAgICAweDFlYWU0YzlkMDAwMDAwMDAsIDB4OWI3N2RhNDAwMDAwMDAwMCwgMHhjMzcxYTkzZDAwMDAwMDAwLAorICAgIDB4NDZhODNmZTAwMDAwMDAwMCwgMHg4OGM0ZjU1ZDAwMDAwMDAwLCAweDBkMWQ2MzgwMDAwMDAwMDAsCisgICAgMHhiY2I0ZTcxZDAwMDAwMDAwLCAweDM5NmQ3MWMwMDAwMDAwMDAsIDB4ZjcwMWJiN2QwMDAwMDAwMCwKKyAgICAweDcyZDgyZGEwMDAwMDAwMDAsIDB4MmFkZTVlZGQwMDAwMDAwMCwgMHhhZjA3YzgwMDAwMDAwMDAwLAorICAgIDB4NjE2YjAyYmQwMDAwMDAwMCwgMHhlNGIyOTQ2MDAwMDAwMDAwLCAweGQxNjdlNDQ3MDAwMDAwMDAsCisgICAgMHg1NGJlNzI5YTAwMDAwMDAwLCAweDlhZDJiODI3MDAwMDAwMDAsIDB4MWYwYjJlZmEwMDAwMDAwMCwKKyAgICAweDQ3MGQ1ZDg3MDAwMDAwMDAsIDB4YzJkNGNiNWEwMDAwMDAwMCwgMHgwY2I4MDFlNzAwMDAwMDAwLAorICAgIDB4ODk2MTk3M2EwMDAwMDAwMCwgMHg2NjEyZTBhOTAwMDAwMDAwLCAweGUzY2I3Njc0MDAwMDAwMDAsCisgICAgMHgyZGE3YmNjOTAwMDAwMDAwLCAweGE4N2UyYTE0MDAwMDAwMDAsIDB4ZjA3ODU5NjkwMDAwMDAwMCwKKyAgICAweDc1YTFjZmI0MDAwMDAwMDAsIDB4YmJjZDA1MDkwMDAwMDAwMCwgMHgzZTE0OTNkNDAwMDAwMDAwLAorICAgIDB4MGJjMWUzZjMwMDAwMDAwMCwgMHg4ZTE4NzUyZTAwMDAwMDAwLCAweDQwNzRiZjkzMDAwMDAwMDAsCisgICAgMHhjNWFkMjk0ZTAwMDAwMDAwLCAweDlkYWI1YTMzMDAwMDAwMDAsIDB4MTg3MmNjZWUwMDAwMDAwMCwKKyAgICAweGQ2MWUwNjUzMDAwMDAwMDAsIDB4NTNjNzkwOGUwMDAwMDAwMCwgMHg0OWZmOTlhZTAwMDAwMDAwLAorICAgIDB4Y2MyNjBmNzMwMDAwMDAwMCwgMHgwMjRhYzVjZTAwMDAwMDAwLCAweDg3OTM1MzEzMDAwMDAwMDAsCisgICAgMHhkZjk1MjA2ZTAwMDAwMDAwLCAweDVhNGNiNmIzMDAwMDAwMDAsIDB4OTQyMDdjMGUwMDAwMDAwMCwKKyAgICAweDExZjllYWQzMDAwMDAwMDAsIDB4MjQyYzlhZjQwMDAwMDAwMCwgMHhhMWY1MGMyOTAwMDAwMDAwLAorICAgIDB4NmY5OWM2OTQwMDAwMDAwMCwgMHhlYTQwNTA0OTAwMDAwMDAwLCAweGIyNDYyMzM0MDAwMDAwMDAsCisgICAgMHgzNzlmYjVlOTAwMDAwMDAwLCAweGY5ZjM3ZjU0MDAwMDAwMDAsIDB4N2MyYWU5ODkwMDAwMDAwMCwKKyAgICAweDkzNTk5ZTFhMDAwMDAwMDAsIDB4MTY4MDA4YzcwMDAwMDAwMCwgMHhkOGVjYzI3YTAwMDAwMDAwLAorICAgIDB4NWQzNTU0YTcwMDAwMDAwMCwgMHgwNTMzMjdkYTAwMDAwMDAwLCAweDgwZWFiMTA3MDAwMDAwMDAsCisgICAgMHg0ZTg2N2JiYTAwMDAwMDAwLCAweGNiNWZlZDY3MDAwMDAwMDAsIDB4ZmU4YTlkNDAwMDAwMDAwMCwKKyAgICAweDdiNTMwYjlkMDAwMDAwMDAsIDB4YjUzZmMxMjAwMDAwMDAwMCwgMHgzMGU2NTdmZDAwMDAwMDAwLAorICAgIDB4NjhlMDI0ODAwMDAwMDAwMCwgMHhlZDM5YjI1ZDAwMDAwMDAwLCAweDIzNTU3OGUwMDAwMDAwMDAsCisgICAgMHhhNjhjZWUzZDAwMDAwMDAwfSwKKyAgIHsweDAwMDAwMDAwMDAwMDAwMDAsIDB4NzZlMTBmOWQwMDAwMDAwMCwgMHhhZGM0NmVlMTAwMDAwMDAwLAorICAgIDB4ZGIyNTYxN2MwMDAwMDAwMCwgMHgxYjhmYWMxOTAwMDAwMDAwLCAweDZkNmVhMzg0MDAwMDAwMDAsCisgICAgMHhiNjRiYzJmODAwMDAwMDAwLCAweGMwYWFjZDY1MDAwMDAwMDAsIDB4MzYxZTU5MzMwMDAwMDAwMCwKKyAgICAweDQwZmY1NmFlMDAwMDAwMDAsIDB4OWJkYTM3ZDIwMDAwMDAwMCwgMHhlZDNiMzg0ZjAwMDAwMDAwLAorICAgIDB4MmQ5MWY1MmEwMDAwMDAwMCwgMHg1YjcwZmFiNzAwMDAwMDAwLCAweDgwNTU5YmNiMDAwMDAwMDAsCisgICAgMHhmNmI0OTQ1NjAwMDAwMDAwLCAweDZjM2NiMjY2MDAwMDAwMDAsIDB4MWFkZGJkZmIwMDAwMDAwMCwKKyAgICAweGMxZjhkYzg3MDAwMDAwMDAsIDB4YjcxOWQzMWEwMDAwMDAwMCwgMHg3N2IzMWU3ZjAwMDAwMDAwLAorICAgIDB4MDE1MjExZTIwMDAwMDAwMCwgMHhkYTc3NzA5ZTAwMDAwMDAwLCAweGFjOTY3ZjAzMDAwMDAwMDAsCisgICAgMHg1YTIyZWI1NTAwMDAwMDAwLCAweDJjYzNlNGM4MDAwMDAwMDAsIDB4ZjdlNjg1YjQwMDAwMDAwMCwKKyAgICAweDgxMDc4YTI5MDAwMDAwMDAsIDB4NDFhZDQ3NGMwMDAwMDAwMCwgMHgzNzRjNDhkMTAwMDAwMDAwLAorICAgIDB4ZWM2OTI5YWQwMDAwMDAwMCwgMHg5YTg4MjYzMDAwMDAwMDAwLCAweGQ4Nzg2NGNkMDAwMDAwMDAsCisgICAgMHhhZTk5NmI1MDAwMDAwMDAwLCAweDc1YmMwYTJjMDAwMDAwMDAsIDB4MDM1ZDA1YjEwMDAwMDAwMCwKKyAgICAweGMzZjdjOGQ0MDAwMDAwMDAsIDB4YjUxNmM3NDkwMDAwMDAwMCwgMHg2ZTMzYTYzNTAwMDAwMDAwLAorICAgIDB4MThkMmE5YTgwMDAwMDAwMCwgMHhlZTY2M2RmZTAwMDAwMDAwLCAweDk4ODczMjYzMDAwMDAwMDAsCisgICAgMHg0M2EyNTMxZjAwMDAwMDAwLCAweDM1NDM1YzgyMDAwMDAwMDAsIDB4ZjVlOTkxZTcwMDAwMDAwMCwKKyAgICAweDgzMDg5ZTdhMDAwMDAwMDAsIDB4NTgyZGZmMDYwMDAwMDAwMCwgMHgyZWNjZjA5YjAwMDAwMDAwLAorICAgIDB4YjQ0NGQ2YWIwMDAwMDAwMCwgMHhjMmE1ZDkzNjAwMDAwMDAwLCAweDE5ODBiODRhMDAwMDAwMDAsCisgICAgMHg2ZjYxYjdkNzAwMDAwMDAwLCAweGFmY2I3YWIyMDAwMDAwMDAsIDB4ZDkyYTc1MmYwMDAwMDAwMCwKKyAgICAweDAyMGYxNDUzMDAwMDAwMDAsIDB4NzRlZTFiY2UwMDAwMDAwMCwgMHg4MjVhOGY5ODAwMDAwMDAwLAorICAgIDB4ZjRiYjgwMDUwMDAwMDAwMCwgMHgyZjllZTE3OTAwMDAwMDAwLCAweDU5N2ZlZWU0MDAwMDAwMDAsCisgICAgMHg5OWQ1MjM4MTAwMDAwMDAwLCAweGVmMzQyYzFjMDAwMDAwMDAsIDB4MzQxMTRkNjAwMDAwMDAwMCwKKyAgICAweDQyZjA0MmZkMDAwMDAwMDAsIDB4ZjFmN2I5NDEwMDAwMDAwMCwgMHg4NzE2YjZkYzAwMDAwMDAwLAorICAgIDB4NWMzM2Q3YTAwMDAwMDAwMCwgMHgyYWQyZDgzZDAwMDAwMDAwLCAweGVhNzgxNTU4MDAwMDAwMDAsCisgICAgMHg5Yzk5MWFjNTAwMDAwMDAwLCAweDQ3YmM3YmI5MDAwMDAwMDAsIDB4MzE1ZDc0MjQwMDAwMDAwMCwKKyAgICAweGM3ZTllMDcyMDAwMDAwMDAsIDB4YjEwOGVmZWYwMDAwMDAwMCwgMHg2YTJkOGU5MzAwMDAwMDAwLAorICAgIDB4MWNjYzgxMGUwMDAwMDAwMCwgMHhkYzY2NGM2YjAwMDAwMDAwLCAweGFhODc0M2Y2MDAwMDAwMDAsCisgICAgMHg3MWEyMjI4YTAwMDAwMDAwLCAweDA3NDMyZDE3MDAwMDAwMDAsIDB4OWRjYjBiMjcwMDAwMDAwMCwKKyAgICAweGViMmEwNGJhMDAwMDAwMDAsIDB4MzAwZjY1YzYwMDAwMDAwMCwgMHg0NmVlNmE1YjAwMDAwMDAwLAorICAgIDB4ODY0NGE3M2UwMDAwMDAwMCwgMHhmMGE1YThhMzAwMDAwMDAwLCAweDJiODBjOWRmMDAwMDAwMDAsCisgICAgMHg1ZDYxYzY0MjAwMDAwMDAwLCAweGFiZDU1MjE0MDAwMDAwMDAsIDB4ZGQzNDVkODkwMDAwMDAwMCwKKyAgICAweDA2MTEzY2Y1MDAwMDAwMDAsIDB4NzBmMDMzNjgwMDAwMDAwMCwgMHhiMDVhZmUwZDAwMDAwMDAwLAorICAgIDB4YzZiYmYxOTAwMDAwMDAwMCwgMHgxZDllOTBlYzAwMDAwMDAwLCAweDZiN2Y5ZjcxMDAwMDAwMDAsCisgICAgMHgyOThmZGQ4YzAwMDAwMDAwLCAweDVmNmVkMjExMDAwMDAwMDAsIDB4ODQ0YmIzNmQwMDAwMDAwMCwKKyAgICAweGYyYWFiY2YwMDAwMDAwMDAsIDB4MzIwMDcxOTUwMDAwMDAwMCwgMHg0NGUxN2UwODAwMDAwMDAwLAorICAgIDB4OWZjNDFmNzQwMDAwMDAwMCwgMHhlOTI1MTBlOTAwMDAwMDAwLCAweDFmOTE4NGJmMDAwMDAwMDAsCisgICAgMHg2OTcwOGIyMjAwMDAwMDAwLCAweGIyNTVlYTVlMDAwMDAwMDAsIDB4YzRiNGU1YzMwMDAwMDAwMCwKKyAgICAweDA0MWUyOGE2MDAwMDAwMDAsIDB4NzJmZjI3M2IwMDAwMDAwMCwgMHhhOWRhNDY0NzAwMDAwMDAwLAorICAgIDB4ZGYzYjQ5ZGEwMDAwMDAwMCwgMHg0NWIzNmZlYTAwMDAwMDAwLCAweDMzNTI2MDc3MDAwMDAwMDAsCisgICAgMHhlODc3MDEwYjAwMDAwMDAwLCAweDllOTYwZTk2MDAwMDAwMDAsIDB4NWUzY2MzZjMwMDAwMDAwMCwKKyAgICAweDI4ZGRjYzZlMDAwMDAwMDAsIDB4ZjNmOGFkMTIwMDAwMDAwMCwgMHg4NTE5YTI4ZjAwMDAwMDAwLAorICAgIDB4NzNhZDM2ZDkwMDAwMDAwMCwgMHgwNTRjMzk0NDAwMDAwMDAwLCAweGRlNjk1ODM4MDAwMDAwMDAsCisgICAgMHhhODg4NTdhNTAwMDAwMDAwLCAweDY4MjI5YWMwMDAwMDAwMDAsIDB4MWVjMzk1NWQwMDAwMDAwMCwKKyAgICAweGM1ZTZmNDIxMDAwMDAwMDAsIDB4YjMwN2ZiYmMwMDAwMDAwMCwgMHhlMmVmNzM4MzAwMDAwMDAwLAorICAgIDB4OTQwZTdjMWUwMDAwMDAwMCwgMHg0ZjJiMWQ2MjAwMDAwMDAwLCAweDM5Y2ExMmZmMDAwMDAwMDAsCisgICAgMHhmOTYwZGY5YTAwMDAwMDAwLCAweDhmODFkMDA3MDAwMDAwMDAsIDB4NTRhNGIxN2IwMDAwMDAwMCwKKyAgICAweDIyNDViZWU2MDAwMDAwMDAsIDB4ZDRmMTJhYjAwMDAwMDAwMCwgMHhhMjEwMjUyZDAwMDAwMDAwLAorICAgIDB4NzkzNTQ0NTEwMDAwMDAwMCwgMHgwZmQ0NGJjYzAwMDAwMDAwLCAweGNmN2U4NmE5MDAwMDAwMDAsCisgICAgMHhiOTlmODkzNDAwMDAwMDAwLCAweDYyYmFlODQ4MDAwMDAwMDAsIDB4MTQ1YmU3ZDUwMDAwMDAwMCwKKyAgICAweDhlZDNjMWU1MDAwMDAwMDAsIDB4ZjgzMmNlNzgwMDAwMDAwMCwgMHgyMzE3YWYwNDAwMDAwMDAwLAorICAgIDB4NTVmNmEwOTkwMDAwMDAwMCwgMHg5NTVjNmRmYzAwMDAwMDAwLCAweGUzYmQ2MjYxMDAwMDAwMDAsCisgICAgMHgzODk4MDMxZDAwMDAwMDAwLCAweDRlNzkwYzgwMDAwMDAwMDAsIDB4YjhjZDk4ZDYwMDAwMDAwMCwKKyAgICAweGNlMmM5NzRiMDAwMDAwMDAsIDB4MTUwOWY2MzcwMDAwMDAwMCwgMHg2M2U4ZjlhYTAwMDAwMDAwLAorICAgIDB4YTM0MjM0Y2YwMDAwMDAwMCwgMHhkNWEzM2I1MjAwMDAwMDAwLCAweDBlODY1YTJlMDAwMDAwMDAsCisgICAgMHg3ODY3NTViMzAwMDAwMDAwLCAweDNhOTcxNzRlMDAwMDAwMDAsIDB4NGM3NjE4ZDMwMDAwMDAwMCwKKyAgICAweDk3NTM3OWFmMDAwMDAwMDAsIDB4ZTFiMjc2MzIwMDAwMDAwMCwgMHgyMTE4YmI1NzAwMDAwMDAwLAorICAgIDB4NTdmOWI0Y2EwMDAwMDAwMCwgMHg4Y2RjZDViNjAwMDAwMDAwLCAweGZhM2RkYTJiMDAwMDAwMDAsCisgICAgMHgwYzg5NGU3ZDAwMDAwMDAwLCAweDdhNjg0MWUwMDAwMDAwMDAsIDB4YTE0ZDIwOWMwMDAwMDAwMCwKKyAgICAweGQ3YWMyZjAxMDAwMDAwMDAsIDB4MTcwNmUyNjQwMDAwMDAwMCwgMHg2MWU3ZWRmOTAwMDAwMDAwLAorICAgIDB4YmFjMjhjODUwMDAwMDAwMCwgMHhjYzIzODMxODAwMDAwMDAwLCAweDU2YWJhNTI4MDAwMDAwMDAsCisgICAgMHgyMDRhYWFiNTAwMDAwMDAwLCAweGZiNmZjYmM5MDAwMDAwMDAsIDB4OGQ4ZWM0NTQwMDAwMDAwMCwKKyAgICAweDRkMjQwOTMxMDAwMDAwMDAsIDB4M2JjNTA2YWMwMDAwMDAwMCwgMHhlMGUwNjdkMDAwMDAwMDAwLAorICAgIDB4OTYwMTY4NGQwMDAwMDAwMCwgMHg2MGI1ZmMxYjAwMDAwMDAwLCAweDE2NTRmMzg2MDAwMDAwMDAsCisgICAgMHhjZDcxOTJmYTAwMDAwMDAwLCAweGJiOTA5ZDY3MDAwMDAwMDAsIDB4N2IzYTUwMDIwMDAwMDAwMCwKKyAgICAweDBkZGI1ZjlmMDAwMDAwMDAsIDB4ZDZmZTNlZTMwMDAwMDAwMCwgMHhhMDFmMzE3ZTAwMDAwMDAwLAorICAgIDB4MTMxOGNhYzIwMDAwMDAwMCwgMHg2NWY5YzU1ZjAwMDAwMDAwLCAweGJlZGNhNDIzMDAwMDAwMDAsCisgICAgMHhjODNkYWJiZTAwMDAwMDAwLCAweDA4OTc2NmRiMDAwMDAwMDAsIDB4N2U3NjY5NDYwMDAwMDAwMCwKKyAgICAweGE1NTMwODNhMDAwMDAwMDAsIDB4ZDNiMjA3YTcwMDAwMDAwMCwgMHgyNTA2OTNmMTAwMDAwMDAwLAorICAgIDB4NTNlNzljNmMwMDAwMDAwMCwgMHg4OGMyZmQxMDAwMDAwMDAwLCAweGZlMjNmMjhkMDAwMDAwMDAsCisgICAgMHgzZTg5M2ZlODAwMDAwMDAwLCAweDQ4NjgzMDc1MDAwMDAwMDAsIDB4OTM0ZDUxMDkwMDAwMDAwMCwKKyAgICAweGU1YWM1ZTk0MDAwMDAwMDAsIDB4N2YyNDc4YTQwMDAwMDAwMCwgMHgwOWM1NzczOTAwMDAwMDAwLAorICAgIDB4ZDJlMDE2NDUwMDAwMDAwMCwgMHhhNDAxMTlkODAwMDAwMDAwLCAweDY0YWJkNGJkMDAwMDAwMDAsCisgICAgMHgxMjRhZGIyMDAwMDAwMDAwLCAweGM5NmZiYTVjMDAwMDAwMDAsIDB4YmY4ZWI1YzEwMDAwMDAwMCwKKyAgICAweDQ5M2EyMTk3MDAwMDAwMDAsIDB4M2ZkYjJlMGEwMDAwMDAwMCwgMHhlNGZlNGY3NjAwMDAwMDAwLAorICAgIDB4OTIxZjQwZWIwMDAwMDAwMCwgMHg1MmI1OGQ4ZTAwMDAwMDAwLCAweDI0NTQ4MjEzMDAwMDAwMDAsCisgICAgMHhmZjcxZTM2ZjAwMDAwMDAwLCAweDg5OTBlY2YyMDAwMDAwMDAsIDB4Y2I2MGFlMGYwMDAwMDAwMCwKKyAgICAweGJkODFhMTkyMDAwMDAwMDAsIDB4NjZhNGMwZWUwMDAwMDAwMCwgMHgxMDQ1Y2Y3MzAwMDAwMDAwLAorICAgIDB4ZDBlZjAyMTYwMDAwMDAwMCwgMHhhNjBlMGQ4YjAwMDAwMDAwLCAweDdkMmI2Y2Y3MDAwMDAwMDAsCisgICAgMHgwYmNhNjM2YTAwMDAwMDAwLCAweGZkN2VmNzNjMDAwMDAwMDAsIDB4OGI5ZmY4YTEwMDAwMDAwMCwKKyAgICAweDUwYmE5OWRkMDAwMDAwMDAsIDB4MjY1Yjk2NDAwMDAwMDAwMCwgMHhlNmYxNWIyNTAwMDAwMDAwLAorICAgIDB4OTAxMDU0YjgwMDAwMDAwMCwgMHg0YjM1MzVjNDAwMDAwMDAwLCAweDNkZDQzYTU5MDAwMDAwMDAsCisgICAgMHhhNzVjMWM2OTAwMDAwMDAwLCAweGQxYmQxM2Y0MDAwMDAwMDAsIDB4MGE5ODcyODgwMDAwMDAwMCwKKyAgICAweDdjNzk3ZDE1MDAwMDAwMDAsIDB4YmNkM2IwNzAwMDAwMDAwMCwgMHhjYTMyYmZlZDAwMDAwMDAwLAorICAgIDB4MTExN2RlOTEwMDAwMDAwMCwgMHg2N2Y2ZDEwYzAwMDAwMDAwLCAweDkxNDI0NTVhMDAwMDAwMDAsCisgICAgMHhlN2EzNGFjNzAwMDAwMDAwLCAweDNjODYyYmJiMDAwMDAwMDAsIDB4NGE2NzI0MjYwMDAwMDAwMCwKKyAgICAweDhhY2RlOTQzMDAwMDAwMDAsIDB4ZmMyY2U2ZGUwMDAwMDAwMCwgMHgyNzA5ODdhMjAwMDAwMDAwLAorICAgIDB4NTFlODg4M2YwMDAwMDAwMH0sCisgICB7MHgwMDAwMDAwMDAwMDAwMDAwLCAweGU4ZGJmYmI5MDAwMDAwMDAsIDB4OTFiMTg2YTgwMDAwMDAwMCwKKyAgICAweDc5NmE3ZDExMDAwMDAwMDAsIDB4NjM2NTdjOGEwMDAwMDAwMCwgMHg4YmJlODczMzAwMDAwMDAwLAorICAgIDB4ZjJkNGZhMjIwMDAwMDAwMCwgMHgxYTBmMDE5YjAwMDAwMDAwLCAweDg3Y2M4OWNmMDAwMDAwMDAsCisgICAgMHg2ZjE3NzI3NjAwMDAwMDAwLCAweDE2N2QwZjY3MDAwMDAwMDAsIDB4ZmVhNmY0ZGUwMDAwMDAwMCwKKyAgICAweGU0YTlmNTQ1MDAwMDAwMDAsIDB4MGM3MjBlZmMwMDAwMDAwMCwgMHg3NTE4NzNlZDAwMDAwMDAwLAorICAgIDB4OWRjMzg4NTQwMDAwMDAwMCwgMHg0ZjlmNjI0NDAwMDAwMDAwLCAweGE3NDQ5OWZkMDAwMDAwMDAsCisgICAgMHhkZTJlZTRlYzAwMDAwMDAwLCAweDM2ZjUxZjU1MDAwMDAwMDAsIDB4MmNmYTFlY2UwMDAwMDAwMCwKKyAgICAweGM0MjFlNTc3MDAwMDAwMDAsIDB4YmQ0Yjk4NjYwMDAwMDAwMCwgMHg1NTkwNjNkZjAwMDAwMDAwLAorICAgIDB4Yzg1M2ViOGIwMDAwMDAwMCwgMHgyMDg4MTAzMjAwMDAwMDAwLCAweDU5ZTI2ZDIzMDAwMDAwMDAsCisgICAgMHhiMTM5OTY5YTAwMDAwMDAwLCAweGFiMzY5NzAxMDAwMDAwMDAsIDB4NDNlZDZjYjgwMDAwMDAwMCwKKyAgICAweDNhODcxMWE5MDAwMDAwMDAsIDB4ZDI1Y2VhMTAwMDAwMDAwMCwgMHg5ZTNlYzU4ODAwMDAwMDAwLAorICAgIDB4NzZlNTNlMzEwMDAwMDAwMCwgMHgwZjhmNDMyMDAwMDAwMDAwLCAweGU3NTRiODk5MDAwMDAwMDAsCisgICAgMHhmZDViYjkwMjAwMDAwMDAwLCAweDE1ODA0MmJiMDAwMDAwMDAsIDB4NmNlYTNmYWEwMDAwMDAwMCwKKyAgICAweDg0MzFjNDEzMDAwMDAwMDAsIDB4MTlmMjRjNDcwMDAwMDAwMCwgMHhmMTI5YjdmZTAwMDAwMDAwLAorICAgIDB4ODg0M2NhZWYwMDAwMDAwMCwgMHg2MDk4MzE1NjAwMDAwMDAwLCAweDdhOTczMGNkMDAwMDAwMDAsCisgICAgMHg5MjRjY2I3NDAwMDAwMDAwLCAweGViMjZiNjY1MDAwMDAwMDAsIDB4MDNmZDRkZGMwMDAwMDAwMCwKKyAgICAweGQxYTFhN2NjMDAwMDAwMDAsIDB4Mzk3YTVjNzUwMDAwMDAwMCwgMHg0MDEwMjE2NDAwMDAwMDAwLAorICAgIDB4YThjYmRhZGQwMDAwMDAwMCwgMHhiMmM0ZGI0NjAwMDAwMDAwLCAweDVhMWYyMGZmMDAwMDAwMDAsCisgICAgMHgyMzc1NWRlZTAwMDAwMDAwLCAweGNiYWVhNjU3MDAwMDAwMDAsIDB4NTY2ZDJlMDMwMDAwMDAwMCwKKyAgICAweGJlYjZkNWJhMDAwMDAwMDAsIDB4YzdkY2E4YWIwMDAwMDAwMCwgMHgyZjA3NTMxMjAwMDAwMDAwLAorICAgIDB4MzUwODUyODkwMDAwMDAwMCwgMHhkZGQzYTkzMDAwMDAwMDAwLCAweGE0YjlkNDIxMDAwMDAwMDAsCisgICAgMHg0YzYyMmY5ODAwMDAwMDAwLCAweDdkN2JmYmNhMDAwMDAwMDAsIDB4OTVhMDAwNzMwMDAwMDAwMCwKKyAgICAweGVjY2E3ZDYyMDAwMDAwMDAsIDB4MDQxMTg2ZGIwMDAwMDAwMCwgMHgxZTFlODc0MDAwMDAwMDAwLAorICAgIDB4ZjZjNTdjZjkwMDAwMDAwMCwgMHg4ZmFmMDFlODAwMDAwMDAwLCAweDY3NzRmYTUxMDAwMDAwMDAsCisgICAgMHhmYWI3NzIwNTAwMDAwMDAwLCAweDEyNmM4OWJjMDAwMDAwMDAsIDB4NmIwNmY0YWQwMDAwMDAwMCwKKyAgICAweDgzZGQwZjE0MDAwMDAwMDAsIDB4OTlkMjBlOGYwMDAwMDAwMCwgMHg3MTA5ZjUzNjAwMDAwMDAwLAorICAgIDB4MDg2Mzg4MjcwMDAwMDAwMCwgMHhlMGI4NzM5ZTAwMDAwMDAwLCAweDMyZTQ5OThlMDAwMDAwMDAsCisgICAgMHhkYTNmNjIzNzAwMDAwMDAwLCAweGEzNTUxZjI2MDAwMDAwMDAsIDB4NGI4ZWU0OWYwMDAwMDAwMCwKKyAgICAweDUxODFlNTA0MDAwMDAwMDAsIDB4Yjk1YTFlYmQwMDAwMDAwMCwgMHhjMDMwNjNhYzAwMDAwMDAwLAorICAgIDB4MjhlYjk4MTUwMDAwMDAwMCwgMHhiNTI4MTA0MTAwMDAwMDAwLCAweDVkZjNlYmY4MDAwMDAwMDAsCisgICAgMHgyNDk5OTZlOTAwMDAwMDAwLCAweGNjNDI2ZDUwMDAwMDAwMDAsIDB4ZDY0ZDZjY2IwMDAwMDAwMCwKKyAgICAweDNlOTY5NzcyMDAwMDAwMDAsIDB4NDdmY2VhNjMwMDAwMDAwMCwgMHhhZjI3MTFkYTAwMDAwMDAwLAorICAgIDB4ZTM0NTNlNDIwMDAwMDAwMCwgMHgwYjllYzVmYjAwMDAwMDAwLCAweDcyZjRiOGVhMDAwMDAwMDAsCisgICAgMHg5YTJmNDM1MzAwMDAwMDAwLCAweDgwMjA0MmM4MDAwMDAwMDAsIDB4NjhmYmI5NzEwMDAwMDAwMCwKKyAgICAweDExOTFjNDYwMDAwMDAwMDAsIDB4Zjk0YTNmZDkwMDAwMDAwMCwgMHg2NDg5Yjc4ZDAwMDAwMDAwLAorICAgIDB4OGM1MjRjMzQwMDAwMDAwMCwgMHhmNTM4MzEyNTAwMDAwMDAwLCAweDFkZTNjYTljMDAwMDAwMDAsCisgICAgMHgwN2VjY2IwNzAwMDAwMDAwLCAweGVmMzczMGJlMDAwMDAwMDAsIDB4OTY1ZDRkYWYwMDAwMDAwMCwKKyAgICAweDdlODZiNjE2MDAwMDAwMDAsIDB4YWNkYTVjMDYwMDAwMDAwMCwgMHg0NDAxYTdiZjAwMDAwMDAwLAorICAgIDB4M2Q2YmRhYWUwMDAwMDAwMCwgMHhkNWIwMjExNzAwMDAwMDAwLCAweGNmYmYyMDhjMDAwMDAwMDAsCisgICAgMHgyNzY0ZGIzNTAwMDAwMDAwLCAweDVlMGVhNjI0MDAwMDAwMDAsIDB4YjZkNTVkOWQwMDAwMDAwMCwKKyAgICAweDJiMTZkNWM5MDAwMDAwMDAsIDB4YzNjZDJlNzAwMDAwMDAwMCwgMHhiYWE3NTM2MTAwMDAwMDAwLAorICAgIDB4NTI3Y2E4ZDgwMDAwMDAwMCwgMHg0ODczYTk0MzAwMDAwMDAwLCAweGEwYTg1MmZhMDAwMDAwMDAsCisgICAgMHhkOWMyMmZlYjAwMDAwMDAwLCAweDMxMTlkNDUyMDAwMDAwMDAsIDB4YmJmMDg3NGUwMDAwMDAwMCwKKyAgICAweDUzMmI3Y2Y3MDAwMDAwMDAsIDB4MmE0MTAxZTYwMDAwMDAwMCwgMHhjMjlhZmE1ZjAwMDAwMDAwLAorICAgIDB4ZDg5NWZiYzQwMDAwMDAwMCwgMHgzMDRlMDA3ZDAwMDAwMDAwLCAweDQ5MjQ3ZDZjMDAwMDAwMDAsCisgICAgMHhhMWZmODZkNTAwMDAwMDAwLCAweDNjM2MwZTgxMDAwMDAwMDAsIDB4ZDRlN2Y1MzgwMDAwMDAwMCwKKyAgICAweGFkOGQ4ODI5MDAwMDAwMDAsIDB4NDU1NjczOTAwMDAwMDAwMCwgMHg1ZjU5NzIwYjAwMDAwMDAwLAorICAgIDB4Yjc4Mjg5YjIwMDAwMDAwMCwgMHhjZWU4ZjRhMzAwMDAwMDAwLCAweDI2MzMwZjFhMDAwMDAwMDAsCisgICAgMHhmNDZmZTUwYTAwMDAwMDAwLCAweDFjYjQxZWIzMDAwMDAwMDAsIDB4NjVkZTYzYTIwMDAwMDAwMCwKKyAgICAweDhkMDU5ODFiMDAwMDAwMDAsIDB4OTcwYTk5ODAwMDAwMDAwMCwgMHg3ZmQxNjIzOTAwMDAwMDAwLAorICAgIDB4MDZiYjFmMjgwMDAwMDAwMCwgMHhlZTYwZTQ5MTAwMDAwMDAwLCAweDczYTM2Y2M1MDAwMDAwMDAsCisgICAgMHg5Yjc4OTc3YzAwMDAwMDAwLCAweGUyMTJlYTZkMDAwMDAwMDAsIDB4MGFjOTExZDQwMDAwMDAwMCwKKyAgICAweDEwYzYxMDRmMDAwMDAwMDAsIDB4ZjgxZGViZjYwMDAwMDAwMCwgMHg4MTc3OTZlNzAwMDAwMDAwLAorICAgIDB4NjlhYzZkNWUwMDAwMDAwMCwgMHgyNWNlNDJjNjAwMDAwMDAwLCAweGNkMTViOTdmMDAwMDAwMDAsCisgICAgMHhiNDdmYzQ2ZTAwMDAwMDAwLCAweDVjYTQzZmQ3MDAwMDAwMDAsIDB4NDZhYjNlNGMwMDAwMDAwMCwKKyAgICAweGFlNzBjNWY1MDAwMDAwMDAsIDB4ZDcxYWI4ZTQwMDAwMDAwMCwgMHgzZmMxNDM1ZDAwMDAwMDAwLAorICAgIDB4YTIwMmNiMDkwMDAwMDAwMCwgMHg0YWQ5MzBiMDAwMDAwMDAwLCAweDMzYjM0ZGExMDAwMDAwMDAsCisgICAgMHhkYjY4YjYxODAwMDAwMDAwLCAweGMxNjdiNzgzMDAwMDAwMDAsIDB4MjliYzRjM2EwMDAwMDAwMCwKKyAgICAweDUwZDYzMTJiMDAwMDAwMDAsIDB4YjgwZGNhOTIwMDAwMDAwMCwgMHg2YTUxMjA4MjAwMDAwMDAwLAorICAgIDB4ODI4YWRiM2IwMDAwMDAwMCwgMHhmYmUwYTYyYTAwMDAwMDAwLCAweDEzM2I1ZDkzMDAwMDAwMDAsCisgICAgMHgwOTM0NWMwODAwMDAwMDAwLCAweGUxZWZhN2IxMDAwMDAwMDAsIDB4OTg4NWRhYTAwMDAwMDAwMCwKKyAgICAweDcwNWUyMTE5MDAwMDAwMDAsIDB4ZWQ5ZGE5NGQwMDAwMDAwMCwgMHgwNTQ2NTJmNDAwMDAwMDAwLAorICAgIDB4N2MyYzJmZTUwMDAwMDAwMCwgMHg5NGY3ZDQ1YzAwMDAwMDAwLCAweDhlZjhkNWM3MDAwMDAwMDAsCisgICAgMHg2NjIzMmU3ZTAwMDAwMDAwLCAweDFmNDk1MzZmMDAwMDAwMDAsIDB4Zjc5MmE4ZDYwMDAwMDAwMCwKKyAgICAweGM2OGI3Yzg0MDAwMDAwMDAsIDB4MmU1MDg3M2QwMDAwMDAwMCwgMHg1NzNhZmEyYzAwMDAwMDAwLAorICAgIDB4YmZlMTAxOTUwMDAwMDAwMCwgMHhhNWVlMDAwZTAwMDAwMDAwLCAweDRkMzVmYmI3MDAwMDAwMDAsCisgICAgMHgzNDVmODZhNjAwMDAwMDAwLCAweGRjODQ3ZDFmMDAwMDAwMDAsIDB4NDE0N2Y1NGIwMDAwMDAwMCwKKyAgICAweGE5OWMwZWYyMDAwMDAwMDAsIDB4ZDBmNjczZTMwMDAwMDAwMCwgMHgzODJkODg1YTAwMDAwMDAwLAorICAgIDB4MjIyMjg5YzEwMDAwMDAwMCwgMHhjYWY5NzI3ODAwMDAwMDAwLCAweGIzOTMwZjY5MDAwMDAwMDAsCisgICAgMHg1YjQ4ZjRkMDAwMDAwMDAwLCAweDg5MTQxZWMwMDAwMDAwMDAsIDB4NjFjZmU1NzkwMDAwMDAwMCwKKyAgICAweDE4YTU5ODY4MDAwMDAwMDAsIDB4ZjA3ZTYzZDEwMDAwMDAwMCwgMHhlYTcxNjI0YTAwMDAwMDAwLAorICAgIDB4MDJhYTk5ZjMwMDAwMDAwMCwgMHg3YmMwZTRlMjAwMDAwMDAwLCAweDkzMWIxZjViMDAwMDAwMDAsCisgICAgMHgwZWQ4OTcwZjAwMDAwMDAwLCAweGU2MDM2Y2I2MDAwMDAwMDAsIDB4OWY2OTExYTcwMDAwMDAwMCwKKyAgICAweDc3YjJlYTFlMDAwMDAwMDAsIDB4NmRiZGViODUwMDAwMDAwMCwgMHg4NTY2MTAzYzAwMDAwMDAwLAorICAgIDB4ZmMwYzZkMmQwMDAwMDAwMCwgMHgxNGQ3OTY5NDAwMDAwMDAwLCAweDU4YjViOTBjMDAwMDAwMDAsCisgICAgMHhiMDZlNDJiNTAwMDAwMDAwLCAweGM5MDQzZmE0MDAwMDAwMDAsIDB4MjFkZmM0MWQwMDAwMDAwMCwKKyAgICAweDNiZDBjNTg2MDAwMDAwMDAsIDB4ZDMwYjNlM2YwMDAwMDAwMCwgMHhhYTYxNDMyZTAwMDAwMDAwLAorICAgIDB4NDJiYWI4OTcwMDAwMDAwMCwgMHhkZjc5MzBjMzAwMDAwMDAwLCAweDM3YTJjYjdhMDAwMDAwMDAsCisgICAgMHg0ZWM4YjY2YjAwMDAwMDAwLCAweGE2MTM0ZGQyMDAwMDAwMDAsIDB4YmMxYzRjNDkwMDAwMDAwMCwKKyAgICAweDU0YzdiN2YwMDAwMDAwMDAsIDB4MmRhZGNhZTEwMDAwMDAwMCwgMHhjNTc2MzE1ODAwMDAwMDAwLAorICAgIDB4MTcyYWRiNDgwMDAwMDAwMCwgMHhmZmYxMjBmMTAwMDAwMDAwLCAweDg2OWI1ZGUwMDAwMDAwMDAsCisgICAgMHg2ZTQwYTY1OTAwMDAwMDAwLCAweDc0NGZhN2MyMDAwMDAwMDAsIDB4OWM5NDVjN2IwMDAwMDAwMCwKKyAgICAweGU1ZmUyMTZhMDAwMDAwMDAsIDB4MGQyNWRhZDMwMDAwMDAwMCwgMHg5MGU2NTI4NzAwMDAwMDAwLAorICAgIDB4NzgzZGE5M2UwMDAwMDAwMCwgMHgwMTU3ZDQyZjAwMDAwMDAwLCAweGU5OGMyZjk2MDAwMDAwMDAsCisgICAgMHhmMzgzMmUwZDAwMDAwMDAwLCAweDFiNThkNWI0MDAwMDAwMDAsIDB4NjIzMmE4YTUwMDAwMDAwMCwKKyAgICAweDhhZTk1MzFjMDAwMDAwMDB9LAorICAgezB4MDAwMDAwMDAwMDAwMDAwMCwgMHg5MTkxNjhhZTAwMDAwMDAwLCAweDYzMjVhMDg3MDAwMDAwMDAsCisgICAgMHhmMmI0YzgyOTAwMDAwMDAwLCAweDg3NGMzMWQ0MDAwMDAwMDAsIDB4MTZkZDU5N2EwMDAwMDAwMCwKKyAgICAweGU0Njk5MTUzMDAwMDAwMDAsIDB4NzVmOGY5ZmQwMDAwMDAwMCwgMHg0ZjlmMTM3MzAwMDAwMDAwLAorICAgIDB4ZGUwZTdiZGQwMDAwMDAwMCwgMHgyY2JhYjNmNDAwMDAwMDAwLCAweGJkMmJkYjVhMDAwMDAwMDAsCisgICAgMHhjOGQzMjJhNzAwMDAwMDAwLCAweDU5NDI0YTA5MDAwMDAwMDAsIDB4YWJmNjgyMjAwMDAwMDAwMCwKKyAgICAweDNhNjdlYThlMDAwMDAwMDAsIDB4OWUzZTI3ZTYwMDAwMDAwMCwgMHgwZmFmNGY0ODAwMDAwMDAwLAorICAgIDB4ZmQxYjg3NjEwMDAwMDAwMCwgMHg2YzhhZWZjZjAwMDAwMDAwLCAweDE5NzIxNjMyMDAwMDAwMDAsCisgICAgMHg4OGUzN2U5YzAwMDAwMDAwLCAweDdhNTdiNmI1MDAwMDAwMDAsIDB4ZWJjNmRlMWIwMDAwMDAwMCwKKyAgICAweGQxYTEzNDk1MDAwMDAwMDAsIDB4NDAzMDVjM2IwMDAwMDAwMCwgMHhiMjg0OTQxMjAwMDAwMDAwLAorICAgIDB4MjMxNWZjYmMwMDAwMDAwMCwgMHg1NmVkMDU0MTAwMDAwMDAwLCAweGM3N2M2ZGVmMDAwMDAwMDAsCisgICAgMHgzNWM4YTVjNjAwMDAwMDAwLCAweGE0NTljZDY4MDAwMDAwMDAsIDB4N2Q3YjNmMTcwMDAwMDAwMCwKKyAgICAweGVjZWE1N2I5MDAwMDAwMDAsIDB4MWU1ZTlmOTAwMDAwMDAwMCwgMHg4ZmNmZjczZTAwMDAwMDAwLAorICAgIDB4ZmEzNzBlYzMwMDAwMDAwMCwgMHg2YmE2NjY2ZDAwMDAwMDAwLCAweDk5MTJhZTQ0MDAwMDAwMDAsCisgICAgMHgwODgzYzZlYTAwMDAwMDAwLCAweDMyZTQyYzY0MDAwMDAwMDAsIDB4YTM3NTQ0Y2EwMDAwMDAwMCwKKyAgICAweDUxYzE4Y2UzMDAwMDAwMDAsIDB4YzA1MGU0NGQwMDAwMDAwMCwgMHhiNWE4MWRiMDAwMDAwMDAwLAorICAgIDB4MjQzOTc1MWUwMDAwMDAwMCwgMHhkNjhkYmQzNzAwMDAwMDAwLCAweDQ3MWNkNTk5MDAwMDAwMDAsCisgICAgMHhlMzQ1MThmMTAwMDAwMDAwLCAweDcyZDQ3MDVmMDAwMDAwMDAsIDB4ODA2MGI4NzYwMDAwMDAwMCwKKyAgICAweDExZjFkMGQ4MDAwMDAwMDAsIDB4NjQwOTI5MjUwMDAwMDAwMCwgMHhmNTk4NDE4YjAwMDAwMDAwLAorICAgIDB4MDcyYzg5YTIwMDAwMDAwMCwgMHg5NmJkZTEwYzAwMDAwMDAwLCAweGFjZGEwYjgyMDAwMDAwMDAsCisgICAgMHgzZDRiNjMyYzAwMDAwMDAwLCAweGNmZmZhYjA1MDAwMDAwMDAsIDB4NWU2ZWMzYWIwMDAwMDAwMCwKKyAgICAweDJiOTYzYTU2MDAwMDAwMDAsIDB4YmEwNzUyZjgwMDAwMDAwMCwgMHg0OGIzOWFkMTAwMDAwMDAwLAorICAgIDB4ZDkyMmYyN2YwMDAwMDAwMCwgMHhmYWY2N2UyZTAwMDAwMDAwLCAweDZiNjcxNjgwMDAwMDAwMDAsCisgICAgMHg5OWQzZGVhOTAwMDAwMDAwLCAweDA4NDJiNjA3MDAwMDAwMDAsIDB4N2RiYTRmZmEwMDAwMDAwMCwKKyAgICAweGVjMmIyNzU0MDAwMDAwMDAsIDB4MWU5ZmVmN2QwMDAwMDAwMCwgMHg4ZjBlODdkMzAwMDAwMDAwLAorICAgIDB4YjU2OTZkNWQwMDAwMDAwMCwgMHgyNGY4MDVmMzAwMDAwMDAwLCAweGQ2NGNjZGRhMDAwMDAwMDAsCisgICAgMHg0N2RkYTU3NDAwMDAwMDAwLCAweDMyMjU1Yzg5MDAwMDAwMDAsIDB4YTNiNDM0MjcwMDAwMDAwMCwKKyAgICAweDUxMDBmYzBlMDAwMDAwMDAsIDB4YzA5MTk0YTAwMDAwMDAwMCwgMHg2NGM4NTljODAwMDAwMDAwLAorICAgIDB4ZjU1OTMxNjYwMDAwMDAwMCwgMHgwN2VkZjk0ZjAwMDAwMDAwLCAweDk2N2M5MWUxMDAwMDAwMDAsCisgICAgMHhlMzg0NjgxYzAwMDAwMDAwLCAweDcyMTUwMGIyMDAwMDAwMDAsIDB4ODBhMWM4OWIwMDAwMDAwMCwKKyAgICAweDExMzBhMDM1MDAwMDAwMDAsIDB4MmI1NzRhYmIwMDAwMDAwMCwgMHhiYWM2MjIxNTAwMDAwMDAwLAorICAgIDB4NDg3MmVhM2MwMDAwMDAwMCwgMHhkOWUzODI5MjAwMDAwMDAwLCAweGFjMWI3YjZmMDAwMDAwMDAsCisgICAgMHgzZDhhMTNjMTAwMDAwMDAwLCAweGNmM2VkYmU4MDAwMDAwMDAsIDB4NWVhZmIzNDYwMDAwMDAwMCwKKyAgICAweDg3OGQ0MTM5MDAwMDAwMDAsIDB4MTYxYzI5OTcwMDAwMDAwMCwgMHhlNGE4ZTFiZTAwMDAwMDAwLAorICAgIDB4NzUzOTg5MTAwMDAwMDAwMCwgMHgwMGMxNzBlZDAwMDAwMDAwLCAweDkxNTAxODQzMDAwMDAwMDAsCisgICAgMHg2M2U0ZDA2YTAwMDAwMDAwLCAweGYyNzViOGM0MDAwMDAwMDAsIDB4YzgxMjUyNGEwMDAwMDAwMCwKKyAgICAweDU5ODMzYWU0MDAwMDAwMDAsIDB4YWIzN2YyY2QwMDAwMDAwMCwgMHgzYWE2OWE2MzAwMDAwMDAwLAorICAgIDB4NGY1ZTYzOWUwMDAwMDAwMCwgMHhkZWNmMGIzMDAwMDAwMDAwLCAweDJjN2JjMzE5MDAwMDAwMDAsCisgICAgMHhiZGVhYWJiNzAwMDAwMDAwLCAweDE5YjM2NmRmMDAwMDAwMDAsIDB4ODgyMjBlNzEwMDAwMDAwMCwKKyAgICAweDdhOTZjNjU4MDAwMDAwMDAsIDB4ZWIwN2FlZjYwMDAwMDAwMCwgMHg5ZWZmNTcwYjAwMDAwMDAwLAorICAgIDB4MGY2ZTNmYTUwMDAwMDAwMCwgMHhmZGRhZjc4YzAwMDAwMDAwLCAweDZjNGI5ZjIyMDAwMDAwMDAsCisgICAgMHg1NjJjNzVhYzAwMDAwMDAwLCAweGM3YmQxZDAyMDAwMDAwMDAsIDB4MzUwOWQ1MmIwMDAwMDAwMCwKKyAgICAweGE0OThiZDg1MDAwMDAwMDAsIDB4ZDE2MDQ0NzgwMDAwMDAwMCwgMHg0MGYxMmNkNjAwMDAwMDAwLAorICAgIDB4YjI0NWU0ZmYwMDAwMDAwMCwgMHgyM2Q0OGM1MTAwMDAwMDAwLCAweGY0ZWRmZDVjMDAwMDAwMDAsCisgICAgMHg2NTdjOTVmMjAwMDAwMDAwLCAweDk3Yzg1ZGRiMDAwMDAwMDAsIDB4MDY1OTM1NzUwMDAwMDAwMCwKKyAgICAweDczYTFjYzg4MDAwMDAwMDAsIDB4ZTIzMGE0MjYwMDAwMDAwMCwgMHgxMDg0NmMwZjAwMDAwMDAwLAorICAgIDB4ODExNTA0YTEwMDAwMDAwMCwgMHhiYjcyZWUyZjAwMDAwMDAwLCAweDJhZTM4NjgxMDAwMDAwMDAsCisgICAgMHhkODU3NGVhODAwMDAwMDAwLCAweDQ5YzYyNjA2MDAwMDAwMDAsIDB4M2MzZWRmZmIwMDAwMDAwMCwKKyAgICAweGFkYWZiNzU1MDAwMDAwMDAsIDB4NWYxYjdmN2MwMDAwMDAwMCwgMHhjZThhMTdkMjAwMDAwMDAwLAorICAgIDB4NmFkM2RhYmEwMDAwMDAwMCwgMHhmYjQyYjIxNDAwMDAwMDAwLCAweDA5ZjY3YTNkMDAwMDAwMDAsCisgICAgMHg5ODY3MTI5MzAwMDAwMDAwLCAweGVkOWZlYjZlMDAwMDAwMDAsIDB4N2MwZTgzYzAwMDAwMDAwMCwKKyAgICAweDhlYmE0YmU5MDAwMDAwMDAsIDB4MWYyYjIzNDcwMDAwMDAwMCwgMHgyNTRjYzljOTAwMDAwMDAwLAorICAgIDB4YjRkZGExNjcwMDAwMDAwMCwgMHg0NjY5Njk0ZTAwMDAwMDAwLCAweGQ3ZjgwMWUwMDAwMDAwMDAsCisgICAgMHhhMjAwZjgxZDAwMDAwMDAwLCAweDMzOTE5MGIzMDAwMDAwMDAsIDB4YzEyNTU4OWEwMDAwMDAwMCwKKyAgICAweDUwYjQzMDM0MDAwMDAwMDAsIDB4ODk5NmMyNGIwMDAwMDAwMCwgMHgxODA3YWFlNTAwMDAwMDAwLAorICAgIDB4ZWFiMzYyY2MwMDAwMDAwMCwgMHg3YjIyMGE2MjAwMDAwMDAwLCAweDBlZGFmMzlmMDAwMDAwMDAsCisgICAgMHg5ZjRiOWIzMTAwMDAwMDAwLCAweDZkZmY1MzE4MDAwMDAwMDAsIDB4ZmM2ZTNiYjYwMDAwMDAwMCwKKyAgICAweGM2MDlkMTM4MDAwMDAwMDAsIDB4NTc5OGI5OTYwMDAwMDAwMCwgMHhhNTJjNzFiZjAwMDAwMDAwLAorICAgIDB4MzRiZDE5MTEwMDAwMDAwMCwgMHg0MTQ1ZTBlYzAwMDAwMDAwLCAweGQwZDQ4ODQyMDAwMDAwMDAsCisgICAgMHgyMjYwNDA2YjAwMDAwMDAwLCAweGIzZjEyOGM1MDAwMDAwMDAsIDB4MTdhOGU1YWQwMDAwMDAwMCwKKyAgICAweDg2Mzk4ZDAzMDAwMDAwMDAsIDB4NzQ4ZDQ1MmEwMDAwMDAwMCwgMHhlNTFjMmQ4NDAwMDAwMDAwLAorICAgIDB4OTBlNGQ0NzkwMDAwMDAwMCwgMHgwMTc1YmNkNzAwMDAwMDAwLCAweGYzYzE3NGZlMDAwMDAwMDAsCisgICAgMHg2MjUwMWM1MDAwMDAwMDAwLCAweDU4MzdmNmRlMDAwMDAwMDAsIDB4YzlhNjllNzAwMDAwMDAwMCwKKyAgICAweDNiMTI1NjU5MDAwMDAwMDAsIDB4YWE4MzNlZjcwMDAwMDAwMCwgMHhkZjdiYzcwYTAwMDAwMDAwLAorICAgIDB4NGVlYWFmYTQwMDAwMDAwMCwgMHhiYzVlNjc4ZDAwMDAwMDAwLCAweDJkY2YwZjIzMDAwMDAwMDAsCisgICAgMHgwZTFiODM3MjAwMDAwMDAwLCAweDlmOGFlYmRjMDAwMDAwMDAsIDB4NmQzZTIzZjUwMDAwMDAwMCwKKyAgICAweGZjYWY0YjViMDAwMDAwMDAsIDB4ODk1N2IyYTYwMDAwMDAwMCwgMHgxOGM2ZGEwODAwMDAwMDAwLAorICAgIDB4ZWE3MjEyMjEwMDAwMDAwMCwgMHg3YmUzN2E4ZjAwMDAwMDAwLCAweDQxODQ5MDAxMDAwMDAwMDAsCisgICAgMHhkMDE1ZjhhZjAwMDAwMDAwLCAweDIyYTEzMDg2MDAwMDAwMDAsIDB4YjMzMDU4MjgwMDAwMDAwMCwKKyAgICAweGM2YzhhMWQ1MDAwMDAwMDAsIDB4NTc1OWM5N2IwMDAwMDAwMCwgMHhhNWVkMDE1MjAwMDAwMDAwLAorICAgIDB4MzQ3YzY5ZmMwMDAwMDAwMCwgMHg5MDI1YTQ5NDAwMDAwMDAwLCAweDAxYjRjYzNhMDAwMDAwMDAsCisgICAgMHhmMzAwMDQxMzAwMDAwMDAwLCAweDYyOTE2Y2JkMDAwMDAwMDAsIDB4MTc2OTk1NDAwMDAwMDAwMCwKKyAgICAweDg2ZjhmZGVlMDAwMDAwMDAsIDB4NzQ0YzM1YzcwMDAwMDAwMCwgMHhlNWRkNWQ2OTAwMDAwMDAwLAorICAgIDB4ZGZiYWI3ZTcwMDAwMDAwMCwgMHg0ZTJiZGY0OTAwMDAwMDAwLCAweGJjOWYxNzYwMDAwMDAwMDAsCisgICAgMHgyZDBlN2ZjZTAwMDAwMDAwLCAweDU4ZjY4NjMzMDAwMDAwMDAsIDB4Yzk2N2VlOWQwMDAwMDAwMCwKKyAgICAweDNiZDMyNmI0MDAwMDAwMDAsIDB4YWE0MjRlMWEwMDAwMDAwMCwgMHg3MzYwYmM2NTAwMDAwMDAwLAorICAgIDB4ZTJmMWQ0Y2IwMDAwMDAwMCwgMHgxMDQ1MWNlMjAwMDAwMDAwLCAweDgxZDQ3NDRjMDAwMDAwMDAsCisgICAgMHhmNDJjOGRiMTAwMDAwMDAwLCAweDY1YmRlNTFmMDAwMDAwMDAsIDB4OTcwOTJkMzYwMDAwMDAwMCwKKyAgICAweDA2OTg0NTk4MDAwMDAwMDAsIDB4M2NmZmFmMTYwMDAwMDAwMCwgMHhhZDZlYzdiODAwMDAwMDAwLAorICAgIDB4NWZkYTBmOTEwMDAwMDAwMCwgMHhjZTRiNjczZjAwMDAwMDAwLCAweGJiYjM5ZWMyMDAwMDAwMDAsCisgICAgMHgyYTIyZjY2YzAwMDAwMDAwLCAweGQ4OTYzZTQ1MDAwMDAwMDAsIDB4NDkwNzU2ZWIwMDAwMDAwMCwKKyAgICAweGVkNWU5YjgzMDAwMDAwMDAsIDB4N2NjZmYzMmQwMDAwMDAwMCwgMHg4ZTdiM2IwNDAwMDAwMDAwLAorICAgIDB4MWZlYTUzYWEwMDAwMDAwMCwgMHg2YTEyYWE1NzAwMDAwMDAwLCAweGZiODNjMmY5MDAwMDAwMDAsCisgICAgMHgwOTM3MGFkMDAwMDAwMDAwLCAweDk4YTY2MjdlMDAwMDAwMDAsIDB4YTJjMTg4ZjAwMDAwMDAwMCwKKyAgICAweDMzNTBlMDVlMDAwMDAwMDAsIDB4YzFlNDI4NzcwMDAwMDAwMCwgMHg1MDc1NDBkOTAwMDAwMDAwLAorICAgIDB4MjU4ZGI5MjQwMDAwMDAwMCwgMHhiNDFjZDE4YTAwMDAwMDAwLCAweDQ2YTgxOWEzMDAwMDAwMDAsCisgICAgMHhkNzM5NzEwZDAwMDAwMDAwfX07CisKKyNlbHNlIC8qIFcgPT0gNCAqLworCitsb2NhbCBjb25zdCB6X2NyY190IEZBUiBjcmNfYnJhaWRfdGFibGVbXVsyNTZdID0geworICAgezB4MDAwMDAwMDAsIDB4Y2NhYTAwOWUsIDB4NDIyNTA3N2QsIDB4OGU4ZjA3ZTMsIDB4ODQ0YTBlZmEsCisgICAgMHg0OGUwMGU2NCwgMHhjNjZmMDk4NywgMHgwYWM1MDkxOSwgMHhkM2U1MWJiNSwgMHgxZjRmMWIyYiwKKyAgICAweDkxYzAxY2M4LCAweDVkNmExYzU2LCAweDU3YWYxNTRmLCAweDliMDUxNWQxLCAweDE1OGExMjMyLAorICAgIDB4ZDkyMDEyYWMsIDB4N2NiYjMxMmIsIDB4YjAxMTMxYjUsIDB4M2U5ZTM2NTYsIDB4ZjIzNDM2YzgsCisgICAgMHhmOGYxM2ZkMSwgMHgzNDViM2Y0ZiwgMHhiYWQ0MzhhYywgMHg3NjdlMzgzMiwgMHhhZjVlMmE5ZSwKKyAgICAweDYzZjQyYTAwLCAweGVkN2IyZGUzLCAweDIxZDEyZDdkLCAweDJiMTQyNDY0LCAweGU3YmUyNGZhLAorICAgIDB4NjkzMTIzMTksIDB4YTU5YjIzODcsIDB4Zjk3NjYyNTYsIDB4MzVkYzYyYzgsIDB4YmI1MzY1MmIsCisgICAgMHg3N2Y5NjViNSwgMHg3ZDNjNmNhYywgMHhiMTk2NmMzMiwgMHgzZjE5NmJkMSwgMHhmM2IzNmI0ZiwKKyAgICAweDJhOTM3OWUzLCAweGU2Mzk3OTdkLCAweDY4YjY3ZTllLCAweGE0MWM3ZTAwLCAweGFlZDk3NzE5LAorICAgIDB4NjI3Mzc3ODcsIDB4ZWNmYzcwNjQsIDB4MjA1NjcwZmEsIDB4ODVjZDUzN2QsIDB4NDk2NzUzZTMsCisgICAgMHhjN2U4NTQwMCwgMHgwYjQyNTQ5ZSwgMHgwMTg3NWQ4NywgMHhjZDJkNWQxOSwgMHg0M2EyNWFmYSwKKyAgICAweDhmMDg1YTY0LCAweDU2Mjg0OGM4LCAweDlhODI0ODU2LCAweDE0MGQ0ZmI1LCAweGQ4YTc0ZjJiLAorICAgIDB4ZDI2MjQ2MzIsIDB4MWVjODQ2YWMsIDB4OTA0NzQxNGYsIDB4NWNlZDQxZDEsIDB4Mjk5ZGMyZWQsCisgICAgMHhlNTM3YzI3MywgMHg2YmI4YzU5MCwgMHhhNzEyYzUwZSwgMHhhZGQ3Y2MxNywgMHg2MTdkY2M4OSwKKyAgICAweGVmZjJjYjZhLCAweDIzNThjYmY0LCAweGZhNzhkOTU4LCAweDM2ZDJkOWM2LCAweGI4NWRkZTI1LAorICAgIDB4NzRmN2RlYmIsIDB4N2UzMmQ3YTIsIDB4YjI5OGQ3M2MsIDB4M2MxN2QwZGYsIDB4ZjBiZGQwNDEsCisgICAgMHg1NTI2ZjNjNiwgMHg5OThjZjM1OCwgMHgxNzAzZjRiYiwgMHhkYmE5ZjQyNSwgMHhkMTZjZmQzYywKKyAgICAweDFkYzZmZGEyLCAweDkzNDlmYTQxLCAweDVmZTNmYWRmLCAweDg2YzNlODczLCAweDRhNjllOGVkLAorICAgIDB4YzRlNmVmMGUsIDB4MDg0Y2VmOTAsIDB4MDI4OWU2ODksIDB4Y2UyM2U2MTcsIDB4NDBhY2UxZjQsCisgICAgMHg4YzA2ZTE2YSwgMHhkMGViYTBiYiwgMHgxYzQxYTAyNSwgMHg5MmNlYTdjNiwgMHg1ZTY0YTc1OCwKKyAgICAweDU0YTFhZTQxLCAweDk4MGJhZWRmLCAweDE2ODRhOTNjLCAweGRhMmVhOWEyLCAweDAzMGViYjBlLAorICAgIDB4Y2ZhNGJiOTAsIDB4NDEyYmJjNzMsIDB4OGQ4MWJjZWQsIDB4ODc0NGI1ZjQsIDB4NGJlZWI1NmEsCisgICAgMHhjNTYxYjI4OSwgMHgwOWNiYjIxNywgMHhhYzUwOTE5MCwgMHg2MGZhOTEwZSwgMHhlZTc1OTZlZCwKKyAgICAweDIyZGY5NjczLCAweDI4MWE5ZjZhLCAweGU0YjA5ZmY0LCAweDZhM2Y5ODE3LCAweGE2OTU5ODg5LAorICAgIDB4N2ZiNThhMjUsIDB4YjMxZjhhYmIsIDB4M2Q5MDhkNTgsIDB4ZjEzYThkYzYsIDB4ZmJmZjg0ZGYsCisgICAgMHgzNzU1ODQ0MSwgMHhiOWRhODNhMiwgMHg3NTcwODMzYywgMHg1MzNiODVkYSwgMHg5ZjkxODU0NCwKKyAgICAweDExMWU4MmE3LCAweGRkYjQ4MjM5LCAweGQ3NzE4YjIwLCAweDFiZGI4YmJlLCAweDk1NTQ4YzVkLAorICAgIDB4NTlmZThjYzMsIDB4ODBkZTllNmYsIDB4NGM3NDllZjEsIDB4YzJmYjk5MTIsIDB4MGU1MTk5OGMsCisgICAgMHgwNDk0OTA5NSwgMHhjODNlOTAwYiwgMHg0NmIxOTdlOCwgMHg4YTFiOTc3NiwgMHgyZjgwYjRmMSwKKyAgICAweGUzMmFiNDZmLCAweDZkYTViMzhjLCAweGExMGZiMzEyLCAweGFiY2FiYTBiLCAweDY3NjBiYTk1LAorICAgIDB4ZTllZmJkNzYsIDB4MjU0NWJkZTgsIDB4ZmM2NWFmNDQsIDB4MzBjZmFmZGEsIDB4YmU0MGE4MzksCisgICAgMHg3MmVhYThhNywgMHg3ODJmYTFiZSwgMHhiNDg1YTEyMCwgMHgzYTBhYTZjMywgMHhmNmEwYTY1ZCwKKyAgICAweGFhNGRlNzhjLCAweDY2ZTdlNzEyLCAweGU4NjhlMGYxLCAweDI0YzJlMDZmLCAweDJlMDdlOTc2LAorICAgIDB4ZTJhZGU5ZTgsIDB4NmMyMmVlMGIsIDB4YTA4OGVlOTUsIDB4NzlhOGZjMzksIDB4YjUwMmZjYTcsCisgICAgMHgzYjhkZmI0NCwgMHhmNzI3ZmJkYSwgMHhmZGUyZjJjMywgMHgzMTQ4ZjI1ZCwgMHhiZmM3ZjViZSwKKyAgICAweDczNmRmNTIwLCAweGQ2ZjZkNmE3LCAweDFhNWNkNjM5LCAweDk0ZDNkMWRhLCAweDU4NzlkMTQ0LAorICAgIDB4NTJiY2Q4NWQsIDB4OWUxNmQ4YzMsIDB4MTA5OWRmMjAsIDB4ZGMzM2RmYmUsIDB4MDUxM2NkMTIsCisgICAgMHhjOWI5Y2Q4YywgMHg0NzM2Y2E2ZiwgMHg4YjljY2FmMSwgMHg4MTU5YzNlOCwgMHg0ZGYzYzM3NiwKKyAgICAweGMzN2NjNDk1LCAweDBmZDZjNDBiLCAweDdhYTY0NzM3LCAweGI2MGM0N2E5LCAweDM4ODM0MDRhLAorICAgIDB4ZjQyOTQwZDQsIDB4ZmVlYzQ5Y2QsIDB4MzI0NjQ5NTMsIDB4YmNjOTRlYjAsIDB4NzA2MzRlMmUsCisgICAgMHhhOTQzNWM4MiwgMHg2NWU5NWMxYywgMHhlYjY2NWJmZiwgMHgyN2NjNWI2MSwgMHgyZDA5NTI3OCwKKyAgICAweGUxYTM1MmU2LCAweDZmMmM1NTA1LCAweGEzODY1NTliLCAweDA2MWQ3NjFjLCAweGNhYjc3NjgyLAorICAgIDB4NDQzODcxNjEsIDB4ODg5MjcxZmYsIDB4ODI1Nzc4ZTYsIDB4NGVmZDc4NzgsIDB4YzA3MjdmOWIsCisgICAgMHgwY2Q4N2YwNSwgMHhkNWY4NmRhOSwgMHgxOTUyNmQzNywgMHg5N2RkNmFkNCwgMHg1Yjc3NmE0YSwKKyAgICAweDUxYjI2MzUzLCAweDlkMTg2M2NkLCAweDEzOTc2NDJlLCAweGRmM2Q2NGIwLCAweDgzZDAyNTYxLAorICAgIDB4NGY3YTI1ZmYsIDB4YzFmNTIyMWMsIDB4MGQ1ZjIyODIsIDB4MDc5YTJiOWIsIDB4Y2IzMDJiMDUsCisgICAgMHg0NWJmMmNlNiwgMHg4OTE1MmM3OCwgMHg1MDM1M2VkNCwgMHg5YzlmM2U0YSwgMHgxMjEwMzlhOSwKKyAgICAweGRlYmEzOTM3LCAweGQ0N2YzMDJlLCAweDE4ZDUzMGIwLCAweDk2NWEzNzUzLCAweDVhZjAzN2NkLAorICAgIDB4ZmY2YjE0NGEsIDB4MzNjMTE0ZDQsIDB4YmQ0ZTEzMzcsIDB4NzFlNDEzYTksIDB4N2IyMTFhYjAsCisgICAgMHhiNzhiMWEyZSwgMHgzOTA0MWRjZCwgMHhmNWFlMWQ1MywgMHgyYzhlMGZmZiwgMHhlMDI0MGY2MSwKKyAgICAweDZlYWIwODgyLCAweGEyMDEwODFjLCAweGE4YzQwMTA1LCAweDY0NmUwMTliLCAweGVhZTEwNjc4LAorICAgIDB4MjY0YjA2ZTZ9LAorICAgezB4MDAwMDAwMDAsIDB4YTY3NzBiYjQsIDB4OTc5ZjExMjksIDB4MzFlODFhOWQsIDB4ZjQ0ZjI0MTMsCisgICAgMHg1MjM4MmZhNywgMHg2M2QwMzUzYSwgMHhjNWE3M2U4ZSwgMHgzM2VmNGU2NywgMHg5NTk4NDVkMywKKyAgICAweGE0NzA1ZjRlLCAweDAyMDc1NGZhLCAweGM3YTA2YTc0LCAweDYxZDc2MWMwLCAweDUwM2Y3YjVkLAorICAgIDB4ZjY0ODcwZTksIDB4NjdkZTljY2UsIDB4YzFhOTk3N2EsIDB4ZjA0MThkZTcsIDB4NTYzNjg2NTMsCisgICAgMHg5MzkxYjhkZCwgMHgzNWU2YjM2OSwgMHgwNDBlYTlmNCwgMHhhMjc5YTI0MCwgMHg1NDMxZDJhOSwKKyAgICAweGYyNDZkOTFkLCAweGMzYWVjMzgwLCAweDY1ZDljODM0LCAweGEwN2VmNmJhLCAweDA2MDlmZDBlLAorICAgIDB4MzdlMWU3OTMsIDB4OTE5NmVjMjcsIDB4Y2ZiZDM5OWMsIDB4NjljYTMyMjgsIDB4NTgyMjI4YjUsCisgICAgMHhmZTU1MjMwMSwgMHgzYmYyMWQ4ZiwgMHg5ZDg1MTYzYiwgMHhhYzZkMGNhNiwgMHgwYTFhMDcxMiwKKyAgICAweGZjNTI3N2ZiLCAweDVhMjU3YzRmLCAweDZiY2Q2NmQyLCAweGNkYmE2ZDY2LCAweDA4MWQ1M2U4LAorICAgIDB4YWU2YTU4NWMsIDB4OWY4MjQyYzEsIDB4MzlmNTQ5NzUsIDB4YTg2M2E1NTIsIDB4MGUxNGFlZTYsCisgICAgMHgzZmZjYjQ3YiwgMHg5OThiYmZjZiwgMHg1YzJjODE0MSwgMHhmYTViOGFmNSwgMHhjYmIzOTA2OCwKKyAgICAweDZkYzQ5YmRjLCAweDliOGNlYjM1LCAweDNkZmJlMDgxLCAweDBjMTNmYTFjLCAweGFhNjRmMWE4LAorICAgIDB4NmZjM2NmMjYsIDB4YzliNGM0OTIsIDB4Zjg1Y2RlMGYsIDB4NWUyYmQ1YmIsIDB4NDQwYjc1NzksCisgICAgMHhlMjdjN2VjZCwgMHhkMzk0NjQ1MCwgMHg3NWUzNmZlNCwgMHhiMDQ0NTE2YSwgMHgxNjMzNWFkZSwKKyAgICAweDI3ZGI0MDQzLCAweDgxYWM0YmY3LCAweDc3ZTQzYjFlLCAweGQxOTMzMGFhLCAweGUwN2IyYTM3LAorICAgIDB4NDYwYzIxODMsIDB4ODNhYjFmMGQsIDB4MjVkYzE0YjksIDB4MTQzNDBlMjQsIDB4YjI0MzA1OTAsCisgICAgMHgyM2Q1ZTliNywgMHg4NWEyZTIwMywgMHhiNDRhZjg5ZSwgMHgxMjNkZjMyYSwgMHhkNzlhY2RhNCwKKyAgICAweDcxZWRjNjEwLCAweDQwMDVkYzhkLCAweGU2NzJkNzM5LCAweDEwM2FhN2QwLCAweGI2NGRhYzY0LAorICAgIDB4ODdhNWI2ZjksIDB4MjFkMmJkNGQsIDB4ZTQ3NTgzYzMsIDB4NDIwMjg4NzcsIDB4NzNlYTkyZWEsCisgICAgMHhkNTlkOTk1ZSwgMHg4YmI2NGNlNSwgMHgyZGMxNDc1MSwgMHgxYzI5NWRjYywgMHhiYTVlNTY3OCwKKyAgICAweDdmZjk2OGY2LCAweGQ5OGU2MzQyLCAweGU4NjY3OWRmLCAweDRlMTE3MjZiLCAweGI4NTkwMjgyLAorICAgIDB4MWUyZTA5MzYsIDB4MmZjNjEzYWIsIDB4ODliMTE4MWYsIDB4NGMxNjI2OTEsIDB4ZWE2MTJkMjUsCisgICAgMHhkYjg5MzdiOCwgMHg3ZGZlM2MwYywgMHhlYzY4ZDAyYiwgMHg0YTFmZGI5ZiwgMHg3YmY3YzEwMiwKKyAgICAweGRkODBjYWI2LCAweDE4MjdmNDM4LCAweGJlNTBmZjhjLCAweDhmYjhlNTExLCAweDI5Y2ZlZWE1LAorICAgIDB4ZGY4NzllNGMsIDB4NzlmMDk1ZjgsIDB4NDgxODhmNjUsIDB4ZWU2Zjg0ZDEsIDB4MmJjOGJhNWYsCisgICAgMHg4ZGJmYjFlYiwgMHhiYzU3YWI3NiwgMHgxYTIwYTBjMiwgMHg4ODE2ZWFmMiwgMHgyZTYxZTE0NiwKKyAgICAweDFmODlmYmRiLCAweGI5ZmVmMDZmLCAweDdjNTljZWUxLCAweGRhMmVjNTU1LCAweGViYzZkZmM4LAorICAgIDB4NGRiMWQ0N2MsIDB4YmJmOWE0OTUsIDB4MWQ4ZWFmMjEsIDB4MmM2NmI1YmMsIDB4OGExMWJlMDgsCisgICAgMHg0ZmI2ODA4NiwgMHhlOWMxOGIzMiwgMHhkODI5OTFhZiwgMHg3ZTVlOWExYiwgMHhlZmM4NzYzYywKKyAgICAweDQ5YmY3ZDg4LCAweDc4NTc2NzE1LCAweGRlMjA2Y2ExLCAweDFiODc1MjJmLCAweGJkZjA1OTliLAorICAgIDB4OGMxODQzMDYsIDB4MmE2ZjQ4YjIsIDB4ZGMyNzM4NWIsIDB4N2E1MDMzZWYsIDB4NGJiODI5NzIsCisgICAgMHhlZGNmMjJjNiwgMHgyODY4MWM0OCwgMHg4ZTFmMTdmYywgMHhiZmY3MGQ2MSwgMHgxOTgwMDZkNSwKKyAgICAweDQ3YWJkMzZlLCAweGUxZGNkOGRhLCAweGQwMzRjMjQ3LCAweDc2NDNjOWYzLCAweGIzZTRmNzdkLAorICAgIDB4MTU5M2ZjYzksIDB4MjQ3YmU2NTQsIDB4ODIwY2VkZTAsIDB4NzQ0NDlkMDksIDB4ZDIzMzk2YmQsCisgICAgMHhlM2RiOGMyMCwgMHg0NWFjODc5NCwgMHg4MDBiYjkxYSwgMHgyNjdjYjJhZSwgMHgxNzk0YTgzMywKKyAgICAweGIxZTNhMzg3LCAweDIwNzU0ZmEwLCAweDg2MDI0NDE0LCAweGI3ZWE1ZTg5LCAweDExOWQ1NTNkLAorICAgIDB4ZDQzYTZiYjMsIDB4NzI0ZDYwMDcsIDB4NDNhNTdhOWEsIDB4ZTVkMjcxMmUsIDB4MTM5YTAxYzcsCisgICAgMHhiNWVkMGE3MywgMHg4NDA1MTBlZSwgMHgyMjcyMWI1YSwgMHhlN2Q1MjVkNCwgMHg0MWEyMmU2MCwKKyAgICAweDcwNGEzNGZkLCAweGQ2M2QzZjQ5LCAweGNjMWQ5ZjhiLCAweDZhNmE5NDNmLCAweDViODI4ZWEyLAorICAgIDB4ZmRmNTg1MTYsIDB4Mzg1MmJiOTgsIDB4OWUyNWIwMmMsIDB4YWZjZGFhYjEsIDB4MDliYWExMDUsCisgICAgMHhmZmYyZDFlYywgMHg1OTg1ZGE1OCwgMHg2ODZkYzBjNSwgMHhjZTFhY2I3MSwgMHgwYmJkZjVmZiwKKyAgICAweGFkY2FmZTRiLCAweDljMjJlNGQ2LCAweDNhNTVlZjYyLCAweGFiYzMwMzQ1LCAweDBkYjQwOGYxLAorICAgIDB4M2M1YzEyNmMsIDB4OWEyYjE5ZDgsIDB4NWY4YzI3NTYsIDB4ZjlmYjJjZTIsIDB4YzgxMzM2N2YsCisgICAgMHg2ZTY0M2RjYiwgMHg5ODJjNGQyMiwgMHgzZTViNDY5NiwgMHgwZmIzNWMwYiwgMHhhOWM0NTdiZiwKKyAgICAweDZjNjM2OTMxLCAweGNhMTQ2Mjg1LCAweGZiZmM3ODE4LCAweDVkOGI3M2FjLCAweDAzYTBhNjE3LAorICAgIDB4YTVkN2FkYTMsIDB4OTQzZmI3M2UsIDB4MzI0OGJjOGEsIDB4ZjdlZjgyMDQsIDB4NTE5ODg5YjAsCisgICAgMHg2MDcwOTMyZCwgMHhjNjA3OTg5OSwgMHgzMDRmZTg3MCwgMHg5NjM4ZTNjNCwgMHhhN2QwZjk1OSwKKyAgICAweDAxYTdmMmVkLCAweGM0MDBjYzYzLCAweDYyNzdjN2Q3LCAweDUzOWZkZDRhLCAweGY1ZThkNmZlLAorICAgIDB4NjQ3ZTNhZDksIDB4YzIwOTMxNmQsIDB4ZjNlMTJiZjAsIDB4NTU5NjIwNDQsIDB4OTAzMTFlY2EsCisgICAgMHgzNjQ2MTU3ZSwgMHgwN2FlMGZlMywgMHhhMWQ5MDQ1NywgMHg1NzkxNzRiZSwgMHhmMWU2N2YwYSwKKyAgICAweGMwMGU2NTk3LCAweDY2Nzk2ZTIzLCAweGEzZGU1MGFkLCAweDA1YTk1YjE5LCAweDM0NDE0MTg0LAorICAgIDB4OTIzNjRhMzB9LAorICAgezB4MDAwMDAwMDAsIDB4Y2I1Y2QzYTUsIDB4NGRjOGExMGIsIDB4ODY5NDcyYWUsIDB4OWI5MTQyMTYsCisgICAgMHg1MGNkOTFiMywgMHhkNjU5ZTMxZCwgMHgxZDA1MzBiOCwgMHhlYzUzODI2ZCwgMHgyNzBmNTFjOCwKKyAgICAweGExOWIyMzY2LCAweDZhYzdmMGMzLCAweDc3YzJjMDdiLCAweGJjOWUxM2RlLCAweDNhMGE2MTcwLAorICAgIDB4ZjE1NmIyZDUsIDB4MDNkNjAyOWIsIDB4Yzg4YWQxM2UsIDB4NGUxZWEzOTAsIDB4ODU0MjcwMzUsCisgICAgMHg5ODQ3NDA4ZCwgMHg1MzFiOTMyOCwgMHhkNThmZTE4NiwgMHgxZWQzMzIyMywgMHhlZjg1ODBmNiwKKyAgICAweDI0ZDk1MzUzLCAweGEyNGQyMWZkLCAweDY5MTFmMjU4LCAweDc0MTRjMmUwLCAweGJmNDgxMTQ1LAorICAgIDB4MzlkYzYzZWIsIDB4ZjI4MGIwNGUsIDB4MDdhYzA1MzYsIDB4Y2NmMGQ2OTMsIDB4NGE2NGE0M2QsCisgICAgMHg4MTM4Nzc5OCwgMHg5YzNkNDcyMCwgMHg1NzYxOTQ4NSwgMHhkMWY1ZTYyYiwgMHgxYWE5MzU4ZSwKKyAgICAweGViZmY4NzViLCAweDIwYTM1NGZlLCAweGE2MzcyNjUwLCAweDZkNmJmNWY1LCAweDcwNmVjNTRkLAorICAgIDB4YmIzMjE2ZTgsIDB4M2RhNjY0NDYsIDB4ZjZmYWI3ZTMsIDB4MDQ3YTA3YWQsIDB4Y2YyNmQ0MDgsCisgICAgMHg0OWIyYTZhNiwgMHg4MmVlNzUwMywgMHg5ZmViNDViYiwgMHg1NGI3OTYxZSwgMHhkMjIzZTRiMCwKKyAgICAweDE5N2YzNzE1LCAweGU4Mjk4NWMwLCAweDIzNzU1NjY1LCAweGE1ZTEyNGNiLCAweDZlYmRmNzZlLAorICAgIDB4NzNiOGM3ZDYsIDB4YjhlNDE0NzMsIDB4M2U3MDY2ZGQsIDB4ZjUyY2I1NzgsIDB4MGY1ODBhNmMsCisgICAgMHhjNDA0ZDljOSwgMHg0MjkwYWI2NywgMHg4OWNjNzhjMiwgMHg5NGM5NDg3YSwgMHg1Zjk1OWJkZiwKKyAgICAweGQ5MDFlOTcxLCAweDEyNWQzYWQ0LCAweGUzMGI4ODAxLCAweDI4NTc1YmE0LCAweGFlYzMyOTBhLAorICAgIDB4NjU5ZmZhYWYsIDB4Nzg5YWNhMTcsIDB4YjNjNjE5YjIsIDB4MzU1MjZiMWMsIDB4ZmUwZWI4YjksCisgICAgMHgwYzhlMDhmNywgMHhjN2QyZGI1MiwgMHg0MTQ2YTlmYywgMHg4YTFhN2E1OSwgMHg5NzFmNGFlMSwKKyAgICAweDVjNDM5OTQ0LCAweGRhZDdlYmVhLCAweDExOGIzODRmLCAweGUwZGQ4YTlhLCAweDJiODE1OTNmLAorICAgIDB4YWQxNTJiOTEsIDB4NjY0OWY4MzQsIDB4N2I0Y2M4OGMsIDB4YjAxMDFiMjksIDB4MzY4NDY5ODcsCisgICAgMHhmZGQ4YmEyMiwgMHgwOGY0MGY1YSwgMHhjM2E4ZGNmZiwgMHg0NTNjYWU1MSwgMHg4ZTYwN2RmNCwKKyAgICAweDkzNjU0ZDRjLCAweDU4Mzk5ZWU5LCAweGRlYWRlYzQ3LCAweDE1ZjEzZmUyLCAweGU0YTc4ZDM3LAorICAgIDB4MmZmYjVlOTIsIDB4YTk2ZjJjM2MsIDB4NjIzM2ZmOTksIDB4N2YzNmNmMjEsIDB4YjQ2YTFjODQsCisgICAgMHgzMmZlNmUyYSwgMHhmOWEyYmQ4ZiwgMHgwYjIyMGRjMSwgMHhjMDdlZGU2NCwgMHg0NmVhYWNjYSwKKyAgICAweDhkYjY3ZjZmLCAweDkwYjM0ZmQ3LCAweDViZWY5YzcyLCAweGRkN2JlZWRjLCAweDE2MjczZDc5LAorICAgIDB4ZTc3MThmYWMsIDB4MmMyZDVjMDksIDB4YWFiOTJlYTcsIDB4NjFlNWZkMDIsIDB4N2NlMGNkYmEsCisgICAgMHhiN2JjMWUxZiwgMHgzMTI4NmNiMSwgMHhmYTc0YmYxNCwgMHgxZWIwMTRkOCwgMHhkNWVjYzc3ZCwKKyAgICAweDUzNzhiNWQzLCAweDk4MjQ2Njc2LCAweDg1MjE1NmNlLCAweDRlN2Q4NTZiLCAweGM4ZTlmN2M1LAorICAgIDB4MDNiNTI0NjAsIDB4ZjJlMzk2YjUsIDB4MzliZjQ1MTAsIDB4YmYyYjM3YmUsIDB4NzQ3N2U0MWIsCisgICAgMHg2OTcyZDRhMywgMHhhMjJlMDcwNiwgMHgyNGJhNzVhOCwgMHhlZmU2YTYwZCwgMHgxZDY2MTY0MywKKyAgICAweGQ2M2FjNWU2LCAweDUwYWViNzQ4LCAweDliZjI2NGVkLCAweDg2Zjc1NDU1LCAweDRkYWI4N2YwLAorICAgIDB4Y2IzZmY1NWUsIDB4MDA2MzI2ZmIsIDB4ZjEzNTk0MmUsIDB4M2E2OTQ3OGIsIDB4YmNmZDM1MjUsCisgICAgMHg3N2ExZTY4MCwgMHg2YWE0ZDYzOCwgMHhhMWY4MDU5ZCwgMHgyNzZjNzczMywgMHhlYzMwYTQ5NiwKKyAgICAweDE5MWMxMWVlLCAweGQyNDBjMjRiLCAweDU0ZDRiMGU1LCAweDlmODg2MzQwLCAweDgyOGQ1M2Y4LAorICAgIDB4NDlkMTgwNWQsIDB4Y2Y0NWYyZjMsIDB4MDQxOTIxNTYsIDB4ZjU0ZjkzODMsIDB4M2UxMzQwMjYsCisgICAgMHhiODg3MzI4OCwgMHg3M2RiZTEyZCwgMHg2ZWRlZDE5NSwgMHhhNTgyMDIzMCwgMHgyMzE2NzA5ZSwKKyAgICAweGU4NGFhMzNiLCAweDFhY2ExMzc1LCAweGQxOTZjMGQwLCAweDU3MDJiMjdlLCAweDljNWU2MWRiLAorICAgIDB4ODE1YjUxNjMsIDB4NGEwNzgyYzYsIDB4Y2M5M2YwNjgsIDB4MDdjZjIzY2QsIDB4ZjY5OTkxMTgsCisgICAgMHgzZGM1NDJiZCwgMHhiYjUxMzAxMywgMHg3MDBkZTNiNiwgMHg2ZDA4ZDMwZSwgMHhhNjU0MDBhYiwKKyAgICAweDIwYzA3MjA1LCAweGViOWNhMWEwLCAweDExZTgxZWI0LCAweGRhYjRjZDExLCAweDVjMjBiZmJmLAorICAgIDB4OTc3YzZjMWEsIDB4OGE3OTVjYTIsIDB4NDEyNThmMDcsIDB4YzdiMWZkYTksIDB4MGNlZDJlMGMsCisgICAgMHhmZGJiOWNkOSwgMHgzNmU3NGY3YywgMHhiMDczM2RkMiwgMHg3YjJmZWU3NywgMHg2NjJhZGVjZiwKKyAgICAweGFkNzYwZDZhLCAweDJiZTI3ZmM0LCAweGUwYmVhYzYxLCAweDEyM2UxYzJmLCAweGQ5NjJjZjhhLAorICAgIDB4NWZmNmJkMjQsIDB4OTRhYTZlODEsIDB4ODlhZjVlMzksIDB4NDJmMzhkOWMsIDB4YzQ2N2ZmMzIsCisgICAgMHgwZjNiMmM5NywgMHhmZTZkOWU0MiwgMHgzNTMxNGRlNywgMHhiM2E1M2Y0OSwgMHg3OGY5ZWNlYywKKyAgICAweDY1ZmNkYzU0LCAweGFlYTAwZmYxLCAweDI4MzQ3ZDVmLCAweGUzNjhhZWZhLCAweDE2NDQxYjgyLAorICAgIDB4ZGQxOGM4MjcsIDB4NWI4Y2JhODksIDB4OTBkMDY5MmMsIDB4OGRkNTU5OTQsIDB4NDY4OThhMzEsCisgICAgMHhjMDFkZjg5ZiwgMHgwYjQxMmIzYSwgMHhmYTE3OTllZiwgMHgzMTRiNGE0YSwgMHhiN2RmMzhlNCwKKyAgICAweDdjODNlYjQxLCAweDYxODZkYmY5LCAweGFhZGEwODVjLCAweDJjNGU3YWYyLCAweGU3MTJhOTU3LAorICAgIDB4MTU5MjE5MTksIDB4ZGVjZWNhYmMsIDB4NTg1YWI4MTIsIDB4OTMwNjZiYjcsIDB4OGUwMzViMGYsCisgICAgMHg0NTVmODhhYSwgMHhjM2NiZmEwNCwgMHgwODk3MjlhMSwgMHhmOWMxOWI3NCwgMHgzMjlkNDhkMSwKKyAgICAweGI0MDkzYTdmLCAweDdmNTVlOWRhLCAweDYyNTBkOTYyLCAweGE5MGMwYWM3LCAweDJmOTg3ODY5LAorICAgIDB4ZTRjNGFiY2N9LAorICAgezB4MDAwMDAwMDAsIDB4M2Q2MDI5YjAsIDB4N2FjMDUzNjAsIDB4NDdhMDdhZDAsIDB4ZjU4MGE2YzAsCisgICAgMHhjOGUwOGY3MCwgMHg4ZjQwZjVhMCwgMHhiMjIwZGMxMCwgMHgzMDcwNGJjMSwgMHgwZDEwNjI3MSwKKyAgICAweDRhYjAxOGExLCAweDc3ZDAzMTExLCAweGM1ZjBlZDAxLCAweGY4OTBjNGIxLCAweGJmMzBiZTYxLAorICAgIDB4ODI1MDk3ZDEsIDB4NjBlMDk3ODIsIDB4NWQ4MGJlMzIsIDB4MWEyMGM0ZTIsIDB4Mjc0MGVkNTIsCisgICAgMHg5NTYwMzE0MiwgMHhhODAwMThmMiwgMHhlZmEwNjIyMiwgMHhkMmMwNGI5MiwgMHg1MDkwZGM0MywKKyAgICAweDZkZjBmNWYzLCAweDJhNTA4ZjIzLCAweDE3MzBhNjkzLCAweGE1MTA3YTgzLCAweDk4NzA1MzMzLAorICAgIDB4ZGZkMDI5ZTMsIDB4ZTJiMDAwNTMsIDB4YzFjMTJmMDQsIDB4ZmNhMTA2YjQsIDB4YmIwMTdjNjQsCisgICAgMHg4NjYxNTVkNCwgMHgzNDQxODljNCwgMHgwOTIxYTA3NCwgMHg0ZTgxZGFhNCwgMHg3M2UxZjMxNCwKKyAgICAweGYxYjE2NGM1LCAweGNjZDE0ZDc1LCAweDhiNzEzN2E1LCAweGI2MTExZTE1LCAweDA0MzFjMjA1LAorICAgIDB4Mzk1MWViYjUsIDB4N2VmMTkxNjUsIDB4NDM5MWI4ZDUsIDB4YTEyMWI4ODYsIDB4OWM0MTkxMzYsCisgICAgMHhkYmUxZWJlNiwgMHhlNjgxYzI1NiwgMHg1NGExMWU0NiwgMHg2OWMxMzdmNiwgMHgyZTYxNGQyNiwKKyAgICAweDEzMDE2NDk2LCAweDkxNTFmMzQ3LCAweGFjMzFkYWY3LCAweGViOTFhMDI3LCAweGQ2ZjE4OTk3LAorICAgIDB4NjRkMTU1ODcsIDB4NTliMTdjMzcsIDB4MWUxMTA2ZTcsIDB4MjM3MTJmNTcsIDB4NThmMzU4NDksCisgICAgMHg2NTkzNzFmOSwgMHgyMjMzMGIyOSwgMHgxZjUzMjI5OSwgMHhhZDczZmU4OSwgMHg5MDEzZDczOSwKKyAgICAweGQ3YjNhZGU5LCAweGVhZDM4NDU5LCAweDY4ODMxMzg4LCAweDU1ZTMzYTM4LCAweDEyNDM0MGU4LAorICAgIDB4MmYyMzY5NTgsIDB4OWQwM2I1NDgsIDB4YTA2MzljZjgsIDB4ZTdjM2U2MjgsIDB4ZGFhM2NmOTgsCisgICAgMHgzODEzY2ZjYiwgMHgwNTczZTY3YiwgMHg0MmQzOWNhYiwgMHg3ZmIzYjUxYiwgMHhjZDkzNjkwYiwKKyAgICAweGYwZjM0MGJiLCAweGI3NTMzYTZiLCAweDhhMzMxM2RiLCAweDA4NjM4NDBhLCAweDM1MDNhZGJhLAorICAgIDB4NzJhM2Q3NmEsIDB4NGZjM2ZlZGEsIDB4ZmRlMzIyY2EsIDB4YzA4MzBiN2EsIDB4ODcyMzcxYWEsCisgICAgMHhiYTQzNTgxYSwgMHg5OTMyNzc0ZCwgMHhhNDUyNWVmZCwgMHhlM2YyMjQyZCwgMHhkZTkyMGQ5ZCwKKyAgICAweDZjYjJkMThkLCAweDUxZDJmODNkLCAweDE2NzI4MmVkLCAweDJiMTJhYjVkLCAweGE5NDIzYzhjLAorICAgIDB4OTQyMjE1M2MsIDB4ZDM4MjZmZWMsIDB4ZWVlMjQ2NWMsIDB4NWNjMjlhNGMsIDB4NjFhMmIzZmMsCisgICAgMHgyNjAyYzkyYywgMHgxYjYyZTA5YywgMHhmOWQyZTBjZiwgMHhjNGIyYzk3ZiwgMHg4MzEyYjNhZiwKKyAgICAweGJlNzI5YTFmLCAweDBjNTI0NjBmLCAweDMxMzI2ZmJmLCAweDc2OTIxNTZmLCAweDRiZjIzY2RmLAorICAgIDB4YzlhMmFiMGUsIDB4ZjRjMjgyYmUsIDB4YjM2MmY4NmUsIDB4OGUwMmQxZGUsIDB4M2MyMjBkY2UsCisgICAgMHgwMTQyMjQ3ZSwgMHg0NmUyNWVhZSwgMHg3YjgyNzcxZSwgMHhiMWU2YjA5MiwgMHg4Yzg2OTkyMiwKKyAgICAweGNiMjZlM2YyLCAweGY2NDZjYTQyLCAweDQ0NjYxNjUyLCAweDc5MDYzZmUyLCAweDNlYTY0NTMyLAorICAgIDB4MDNjNjZjODIsIDB4ODE5NmZiNTMsIDB4YmNmNmQyZTMsIDB4ZmI1NmE4MzMsIDB4YzYzNjgxODMsCisgICAgMHg3NDE2NWQ5MywgMHg0OTc2NzQyMywgMHgwZWQ2MGVmMywgMHgzM2I2Mjc0MywgMHhkMTA2MjcxMCwKKyAgICAweGVjNjYwZWEwLCAweGFiYzY3NDcwLCAweDk2YTY1ZGMwLCAweDI0ODY4MWQwLCAweDE5ZTZhODYwLAorICAgIDB4NWU0NmQyYjAsIDB4NjMyNmZiMDAsIDB4ZTE3NjZjZDEsIDB4ZGMxNjQ1NjEsIDB4OWJiNjNmYjEsCisgICAgMHhhNmQ2MTYwMSwgMHgxNGY2Y2ExMSwgMHgyOTk2ZTNhMSwgMHg2ZTM2OTk3MSwgMHg1MzU2YjBjMSwKKyAgICAweDcwMjc5Zjk2LCAweDRkNDdiNjI2LCAweDBhZTdjY2Y2LCAweDM3ODdlNTQ2LCAweDg1YTczOTU2LAorICAgIDB4YjhjNzEwZTYsIDB4ZmY2NzZhMzYsIDB4YzIwNzQzODYsIDB4NDA1N2Q0NTcsIDB4N2QzN2ZkZTcsCisgICAgMHgzYTk3ODczNywgMHgwN2Y3YWU4NywgMHhiNWQ3NzI5NywgMHg4OGI3NWIyNywgMHhjZjE3MjFmNywKKyAgICAweGYyNzcwODQ3LCAweDEwYzcwODE0LCAweDJkYTcyMWE0LCAweDZhMDc1Yjc0LCAweDU3Njc3MmM0LAorICAgIDB4ZTU0N2FlZDQsIDB4ZDgyNzg3NjQsIDB4OWY4N2ZkYjQsIDB4YTJlN2Q0MDQsIDB4MjBiNzQzZDUsCisgICAgMHgxZGQ3NmE2NSwgMHg1YTc3MTBiNSwgMHg2NzE3MzkwNSwgMHhkNTM3ZTUxNSwgMHhlODU3Y2NhNSwKKyAgICAweGFmZjdiNjc1LCAweDkyOTc5ZmM1LCAweGU5MTVlOGRiLCAweGQ0NzVjMTZiLCAweDkzZDViYmJiLAorICAgIDB4YWViNTkyMGIsIDB4MWM5NTRlMWIsIDB4MjFmNTY3YWIsIDB4NjY1NTFkN2IsIDB4NWIzNTM0Y2IsCisgICAgMHhkOTY1YTMxYSwgMHhlNDA1OGFhYSwgMHhhM2E1ZjA3YSwgMHg5ZWM1ZDljYSwgMHgyY2U1MDVkYSwKKyAgICAweDExODUyYzZhLCAweDU2MjU1NmJhLCAweDZiNDU3ZjBhLCAweDg5ZjU3ZjU5LCAweGI0OTU1NmU5LAorICAgIDB4ZjMzNTJjMzksIDB4Y2U1NTA1ODksIDB4N2M3NWQ5OTksIDB4NDExNWYwMjksIDB4MDZiNThhZjksCisgICAgMHgzYmQ1YTM0OSwgMHhiOTg1MzQ5OCwgMHg4NGU1MWQyOCwgMHhjMzQ1NjdmOCwgMHhmZTI1NGU0OCwKKyAgICAweDRjMDU5MjU4LCAweDcxNjViYmU4LCAweDM2YzVjMTM4LCAweDBiYTVlODg4LCAweDI4ZDRjN2RmLAorICAgIDB4MTViNGVlNmYsIDB4NTIxNDk0YmYsIDB4NmY3NGJkMGYsIDB4ZGQ1NDYxMWYsIDB4ZTAzNDQ4YWYsCisgICAgMHhhNzk0MzI3ZiwgMHg5YWY0MWJjZiwgMHgxOGE0OGMxZSwgMHgyNWM0YTVhZSwgMHg2MjY0ZGY3ZSwKKyAgICAweDVmMDRmNmNlLCAweGVkMjQyYWRlLCAweGQwNDQwMzZlLCAweDk3ZTQ3OWJlLCAweGFhODQ1MDBlLAorICAgIDB4NDgzNDUwNWQsIDB4NzU1NDc5ZWQsIDB4MzJmNDAzM2QsIDB4MGY5NDJhOGQsIDB4YmRiNGY2OWQsCisgICAgMHg4MGQ0ZGYyZCwgMHhjNzc0YTVmZCwgMHhmYTE0OGM0ZCwgMHg3ODQ0MWI5YywgMHg0NTI0MzIyYywKKyAgICAweDAyODQ0OGZjLCAweDNmZTQ2MTRjLCAweDhkYzRiZDVjLCAweGIwYTQ5NGVjLCAweGY3MDRlZTNjLAorICAgIDB4Y2E2NGM3OGN9fTsKKworbG9jYWwgY29uc3Qgel93b3JkX3QgRkFSIGNyY19icmFpZF9iaWdfdGFibGVbXVsyNTZdID0geworICAgezB4MDAwMDAwMDAsIDB4YjAyOTYwM2QsIDB4NjA1M2MwN2EsIDB4ZDA3YWEwNDcsIDB4YzBhNjgwZjUsCisgICAgMHg3MDhmZTBjOCwgMHhhMGY1NDA4ZiwgMHgxMGRjMjBiMiwgMHhjMTRiNzAzMCwgMHg3MTYyMTAwZCwKKyAgICAweGExMThiMDRhLCAweDExMzFkMDc3LCAweDAxZWRmMGM1LCAweGIxYzQ5MGY4LCAweDYxYmUzMGJmLAorICAgIDB4ZDE5NzUwODIsIDB4ODI5N2UwNjAsIDB4MzJiZTgwNWQsIDB4ZTJjNDIwMWEsIDB4NTJlZDQwMjcsCisgICAgMHg0MjMxNjA5NSwgMHhmMjE4MDBhOCwgMHgyMjYyYTBlZiwgMHg5MjRiYzBkMiwgMHg0M2RjOTA1MCwKKyAgICAweGYzZjVmMDZkLCAweDIzOGY1MDJhLCAweDkzYTYzMDE3LCAweDgzN2ExMGE1LCAweDMzNTM3MDk4LAorICAgIDB4ZTMyOWQwZGYsIDB4NTMwMGIwZTIsIDB4MDQyZmMxYzEsIDB4YjQwNmExZmMsIDB4NjQ3YzAxYmIsCisgICAgMHhkNDU1NjE4NiwgMHhjNDg5NDEzNCwgMHg3NGEwMjEwOSwgMHhhNGRhODE0ZSwgMHgxNGYzZTE3MywKKyAgICAweGM1NjRiMWYxLCAweDc1NGRkMWNjLCAweGE1Mzc3MThiLCAweDE1MWUxMWI2LCAweDA1YzIzMTA0LAorICAgIDB4YjVlYjUxMzksIDB4NjU5MWYxN2UsIDB4ZDViODkxNDMsIDB4ODZiODIxYTEsIDB4MzY5MTQxOWMsCisgICAgMHhlNmViZTFkYiwgMHg1NmMyODFlNiwgMHg0NjFlYTE1NCwgMHhmNjM3YzE2OSwgMHgyNjRkNjEyZSwKKyAgICAweDk2NjQwMTEzLCAweDQ3ZjM1MTkxLCAweGY3ZGEzMWFjLCAweDI3YTA5MWViLCAweDk3ODlmMWQ2LAorICAgIDB4ODc1NWQxNjQsIDB4Mzc3Y2IxNTksIDB4ZTcwNjExMWUsIDB4NTcyZjcxMjMsIDB4NDk1OGYzNTgsCisgICAgMHhmOTcxOTM2NSwgMHgyOTBiMzMyMiwgMHg5OTIyNTMxZiwgMHg4OWZlNzNhZCwgMHgzOWQ3MTM5MCwKKyAgICAweGU5YWRiM2Q3LCAweDU5ODRkM2VhLCAweDg4MTM4MzY4LCAweDM4M2FlMzU1LCAweGU4NDA0MzEyLAorICAgIDB4NTg2OTIzMmYsIDB4NDhiNTAzOWQsIDB4Zjg5YzYzYTAsIDB4MjhlNmMzZTcsIDB4OThjZmEzZGEsCisgICAgMHhjYmNmMTMzOCwgMHg3YmU2NzMwNSwgMHhhYjljZDM0MiwgMHgxYmI1YjM3ZiwgMHgwYjY5OTNjZCwKKyAgICAweGJiNDBmM2YwLCAweDZiM2E1M2I3LCAweGRiMTMzMzhhLCAweDBhODQ2MzA4LCAweGJhYWQwMzM1LAorICAgIDB4NmFkN2EzNzIsIDB4ZGFmZWMzNGYsIDB4Y2EyMmUzZmQsIDB4N2EwYjgzYzAsIDB4YWE3MTIzODcsCisgICAgMHgxYTU4NDNiYSwgMHg0ZDc3MzI5OSwgMHhmZDVlNTJhNCwgMHgyZDI0ZjJlMywgMHg5ZDBkOTJkZSwKKyAgICAweDhkZDFiMjZjLCAweDNkZjhkMjUxLCAweGVkODI3MjE2LCAweDVkYWIxMjJiLCAweDhjM2M0MmE5LAorICAgIDB4M2MxNTIyOTQsIDB4ZWM2ZjgyZDMsIDB4NWM0NmUyZWUsIDB4NGM5YWMyNWMsIDB4ZmNiM2EyNjEsCisgICAgMHgyY2M5MDIyNiwgMHg5Y2UwNjIxYiwgMHhjZmUwZDJmOSwgMHg3ZmM5YjJjNCwgMHhhZmIzMTI4MywKKyAgICAweDFmOWE3MmJlLCAweDBmNDY1MjBjLCAweGJmNmYzMjMxLCAweDZmMTU5Mjc2LCAweGRmM2NmMjRiLAorICAgIDB4MGVhYmEyYzksIDB4YmU4MmMyZjQsIDB4NmVmODYyYjMsIDB4ZGVkMTAyOGUsIDB4Y2UwZDIyM2MsCisgICAgMHg3ZTI0NDIwMSwgMHhhZTVlZTI0NiwgMHgxZTc3ODI3YiwgMHg5MmIwZTZiMSwgMHgyMjk5ODY4YywKKyAgICAweGYyZTMyNmNiLCAweDQyY2E0NmY2LCAweDUyMTY2NjQ0LCAweGUyM2YwNjc5LCAweDMyNDVhNjNlLAorICAgIDB4ODI2Y2M2MDMsIDB4NTNmYjk2ODEsIDB4ZTNkMmY2YmMsIDB4MzNhODU2ZmIsIDB4ODM4MTM2YzYsCisgICAgMHg5MzVkMTY3NCwgMHgyMzc0NzY0OSwgMHhmMzBlZDYwZSwgMHg0MzI3YjYzMywgMHgxMDI3MDZkMSwKKyAgICAweGEwMGU2NmVjLCAweDcwNzRjNmFiLCAweGMwNWRhNjk2LCAweGQwODE4NjI0LCAweDYwYThlNjE5LAorICAgIDB4YjBkMjQ2NWUsIDB4MDBmYjI2NjMsIDB4ZDE2Yzc2ZTEsIDB4NjE0NTE2ZGMsIDB4YjEzZmI2OWIsCisgICAgMHgwMTE2ZDZhNiwgMHgxMWNhZjYxNCwgMHhhMWUzOTYyOSwgMHg3MTk5MzY2ZSwgMHhjMWIwNTY1MywKKyAgICAweDk2OWYyNzcwLCAweDI2YjY0NzRkLCAweGY2Y2NlNzBhLCAweDQ2ZTU4NzM3LCAweDU2MzlhNzg1LAorICAgIDB4ZTYxMGM3YjgsIDB4MzY2YTY3ZmYsIDB4ODY0MzA3YzIsIDB4NTdkNDU3NDAsIDB4ZTdmZDM3N2QsCisgICAgMHgzNzg3OTczYSwgMHg4N2FlZjcwNywgMHg5NzcyZDdiNSwgMHgyNzViYjc4OCwgMHhmNzIxMTdjZiwKKyAgICAweDQ3MDg3N2YyLCAweDE0MDhjNzEwLCAweGE0MjFhNzJkLCAweDc0NWIwNzZhLCAweGM0NzI2NzU3LAorICAgIDB4ZDRhZTQ3ZTUsIDB4NjQ4NzI3ZDgsIDB4YjRmZDg3OWYsIDB4MDRkNGU3YTIsIDB4ZDU0M2I3MjAsCisgICAgMHg2NTZhZDcxZCwgMHhiNTEwNzc1YSwgMHgwNTM5MTc2NywgMHgxNWU1MzdkNSwgMHhhNWNjNTdlOCwKKyAgICAweDc1YjZmN2FmLCAweGM1OWY5NzkyLCAweGRiZTgxNWU5LCAweDZiYzE3NWQ0LCAweGJiYmJkNTkzLAorICAgIDB4MGI5MmI1YWUsIDB4MWI0ZTk1MWMsIDB4YWI2N2Y1MjEsIDB4N2IxZDU1NjYsIDB4Y2IzNDM1NWIsCisgICAgMHgxYWEzNjVkOSwgMHhhYThhMDVlNCwgMHg3YWYwYTVhMywgMHhjYWQ5YzU5ZSwgMHhkYTA1ZTUyYywKKyAgICAweDZhMmM4NTExLCAweGJhNTYyNTU2LCAweDBhN2Y0NTZiLCAweDU5N2ZmNTg5LCAweGU5NTY5NWI0LAorICAgIDB4MzkyYzM1ZjMsIDB4ODkwNTU1Y2UsIDB4OTlkOTc1N2MsIDB4MjlmMDE1NDEsIDB4Zjk4YWI1MDYsCisgICAgMHg0OWEzZDUzYiwgMHg5ODM0ODViOSwgMHgyODFkZTU4NCwgMHhmODY3NDVjMywgMHg0ODRlMjVmZSwKKyAgICAweDU4OTIwNTRjLCAweGU4YmI2NTcxLCAweDM4YzFjNTM2LCAweDg4ZThhNTBiLCAweGRmYzdkNDI4LAorICAgIDB4NmZlZWI0MTUsIDB4YmY5NDE0NTIsIDB4MGZiZDc0NmYsIDB4MWY2MTU0ZGQsIDB4YWY0ODM0ZTAsCisgICAgMHg3ZjMyOTRhNywgMHhjZjFiZjQ5YSwgMHgxZThjYTQxOCwgMHhhZWE1YzQyNSwgMHg3ZWRmNjQ2MiwKKyAgICAweGNlZjYwNDVmLCAweGRlMmEyNGVkLCAweDZlMDM0NGQwLCAweGJlNzllNDk3LCAweDBlNTA4NGFhLAorICAgIDB4NWQ1MDM0NDgsIDB4ZWQ3OTU0NzUsIDB4M2QwM2Y0MzIsIDB4OGQyYTk0MGYsIDB4OWRmNmI0YmQsCisgICAgMHgyZGRmZDQ4MCwgMHhmZGE1NzRjNywgMHg0ZDhjMTRmYSwgMHg5YzFiNDQ3OCwgMHgyYzMyMjQ0NSwKKyAgICAweGZjNDg4NDAyLCAweDRjNjFlNDNmLCAweDVjYmRjNDhkLCAweGVjOTRhNGIwLCAweDNjZWUwNGY3LAorICAgIDB4OGNjNzY0Y2F9LAorICAgezB4MDAwMDAwMDAsIDB4YTVkMzVjY2IsIDB4MGJhMWM4NGQsIDB4YWU3Mjk0ODYsIDB4MTY0MjkxOWIsCisgICAgMHhiMzkxY2Q1MCwgMHgxZGUzNTlkNiwgMHhiODMwMDUxZCwgMHg2ZDgyNTNlYywgMHhjODUxMGYyNywKKyAgICAweDY2MjM5YmExLCAweGMzZjBjNzZhLCAweDdiYzBjMjc3LCAweGRlMTM5ZWJjLCAweDcwNjEwYTNhLAorICAgIDB4ZDViMjU2ZjEsIDB4OWIwMmQ2MDMsIDB4M2VkMThhYzgsIDB4OTBhMzFlNGUsIDB4MzU3MDQyODUsCisgICAgMHg4ZDQwNDc5OCwgMHgyODkzMWI1MywgMHg4NmUxOGZkNSwgMHgyMzMyZDMxZSwgMHhmNjgwODVlZiwKKyAgICAweDUzNTNkOTI0LCAweGZkMjE0ZGEyLCAweDU4ZjIxMTY5LCAweGUwYzIxNDc0LCAweDQ1MTE0OGJmLAorICAgIDB4ZWI2M2RjMzksIDB4NGViMDgwZjIsIDB4MzYwNWFjMDcsIDB4OTNkNmYwY2MsIDB4M2RhNDY0NGEsCisgICAgMHg5ODc3Mzg4MSwgMHgyMDQ3M2Q5YywgMHg4NTk0NjE1NywgMHgyYmU2ZjVkMSwgMHg4ZTM1YTkxYSwKKyAgICAweDViODdmZmViLCAweGZlNTRhMzIwLCAweDUwMjYzN2E2LCAweGY1ZjU2YjZkLCAweDRkYzU2ZTcwLAorICAgIDB4ZTgxNjMyYmIsIDB4NDY2NGE2M2QsIDB4ZTNiN2ZhZjYsIDB4YWQwNzdhMDQsIDB4MDhkNDI2Y2YsCisgICAgMHhhNmE2YjI0OSwgMHgwMzc1ZWU4MiwgMHhiYjQ1ZWI5ZiwgMHgxZTk2Yjc1NCwgMHhiMGU0MjNkMiwKKyAgICAweDE1Mzc3ZjE5LCAweGMwODUyOWU4LCAweDY1NTY3NTIzLCAweGNiMjRlMWE1LCAweDZlZjdiZDZlLAorICAgIDB4ZDZjN2I4NzMsIDB4NzMxNGU0YjgsIDB4ZGQ2NjcwM2UsIDB4NzhiNTJjZjUsIDB4NmMwYTU4MGYsCisgICAgMHhjOWQ5MDRjNCwgMHg2N2FiOTA0MiwgMHhjMjc4Y2M4OSwgMHg3YTQ4Yzk5NCwgMHhkZjliOTU1ZiwKKyAgICAweDcxZTkwMWQ5LCAweGQ0M2E1ZDEyLCAweDAxODgwYmUzLCAweGE0NWI1NzI4LCAweDBhMjljM2FlLAorICAgIDB4YWZmYTlmNjUsIDB4MTdjYTlhNzgsIDB4YjIxOWM2YjMsIDB4MWM2YjUyMzUsIDB4YjliODBlZmUsCisgICAgMHhmNzA4OGUwYywgMHg1MmRiZDJjNywgMHhmY2E5NDY0MSwgMHg1OTdhMWE4YSwgMHhlMTRhMWY5NywKKyAgICAweDQ0OTk0MzVjLCAweGVhZWJkN2RhLCAweDRmMzg4YjExLCAweDlhOGFkZGUwLCAweDNmNTk4MTJiLAorICAgIDB4OTEyYjE1YWQsIDB4MzRmODQ5NjYsIDB4OGNjODRjN2IsIDB4MjkxYjEwYjAsIDB4ODc2OTg0MzYsCisgICAgMHgyMmJhZDhmZCwgMHg1YTBmZjQwOCwgMHhmZmRjYThjMywgMHg1MWFlM2M0NSwgMHhmNDdkNjA4ZSwKKyAgICAweDRjNGQ2NTkzLCAweGU5OWUzOTU4LCAweDQ3ZWNhZGRlLCAweGUyM2ZmMTE1LCAweDM3OGRhN2U0LAorICAgIDB4OTI1ZWZiMmYsIDB4M2MyYzZmYTksIDB4OTlmZjMzNjIsIDB4MjFjZjM2N2YsIDB4ODQxYzZhYjQsCisgICAgMHgyYTZlZmUzMiwgMHg4ZmJkYTJmOSwgMHhjMTBkMjIwYiwgMHg2NGRlN2VjMCwgMHhjYWFjZWE0NiwKKyAgICAweDZmN2ZiNjhkLCAweGQ3NGZiMzkwLCAweDcyOWNlZjViLCAweGRjZWU3YmRkLCAweDc5M2QyNzE2LAorICAgIDB4YWM4ZjcxZTcsIDB4MDk1YzJkMmMsIDB4YTcyZWI5YWEsIDB4MDJmZGU1NjEsIDB4YmFjZGUwN2MsCisgICAgMHgxZjFlYmNiNywgMHhiMTZjMjgzMSwgMHgxNGJmNzRmYSwgMHhkODE0YjAxZSwgMHg3ZGM3ZWNkNSwKKyAgICAweGQzYjU3ODUzLCAweDc2NjYyNDk4LCAweGNlNTYyMTg1LCAweDZiODU3ZDRlLCAweGM1ZjdlOWM4LAorICAgIDB4NjAyNGI1MDMsIDB4YjU5NmUzZjIsIDB4MTA0NWJmMzksIDB4YmUzNzJiYmYsIDB4MWJlNDc3NzQsCisgICAgMHhhM2Q0NzI2OSwgMHgwNjA3MmVhMiwgMHhhODc1YmEyNCwgMHgwZGE2ZTZlZiwgMHg0MzE2NjYxZCwKKyAgICAweGU2YzUzYWQ2LCAweDQ4YjdhZTUwLCAweGVkNjRmMjliLCAweDU1NTRmNzg2LCAweGYwODdhYjRkLAorICAgIDB4NWVmNTNmY2IsIDB4ZmIyNjYzMDAsIDB4MmU5NDM1ZjEsIDB4OGI0NzY5M2EsIDB4MjUzNWZkYmMsCisgICAgMHg4MGU2YTE3NywgMHgzOGQ2YTQ2YSwgMHg5ZDA1ZjhhMSwgMHgzMzc3NmMyNywgMHg5NmE0MzBlYywKKyAgICAweGVlMTExYzE5LCAweDRiYzI0MGQyLCAweGU1YjBkNDU0LCAweDQwNjM4ODlmLCAweGY4NTM4ZDgyLAorICAgIDB4NWQ4MGQxNDksIDB4ZjNmMjQ1Y2YsIDB4NTYyMTE5MDQsIDB4ODM5MzRmZjUsIDB4MjY0MDEzM2UsCisgICAgMHg4ODMyODdiOCwgMHgyZGUxZGI3MywgMHg5NWQxZGU2ZSwgMHgzMDAyODJhNSwgMHg5ZTcwMTYyMywKKyAgICAweDNiYTM0YWU4LCAweDc1MTNjYTFhLCAweGQwYzA5NmQxLCAweDdlYjIwMjU3LCAweGRiNjE1ZTljLAorICAgIDB4NjM1MTViODEsIDB4YzY4MjA3NGEsIDB4NjhmMDkzY2MsIDB4Y2QyM2NmMDcsIDB4MTg5MTk5ZjYsCisgICAgMHhiZDQyYzUzZCwgMHgxMzMwNTFiYiwgMHhiNmUzMGQ3MCwgMHgwZWQzMDg2ZCwgMHhhYjAwNTRhNiwKKyAgICAweDA1NzJjMDIwLCAweGEwYTE5Y2ViLCAweGI0MWVlODExLCAweDExY2RiNGRhLCAweGJmYmYyMDVjLAorICAgIDB4MWE2YzdjOTcsIDB4YTI1Yzc5OGEsIDB4MDc4ZjI1NDEsIDB4YTlmZGIxYzcsIDB4MGMyZWVkMGMsCisgICAgMHhkOTljYmJmZCwgMHg3YzRmZTczNiwgMHhkMjNkNzNiMCwgMHg3N2VlMmY3YiwgMHhjZmRlMmE2NiwKKyAgICAweDZhMGQ3NmFkLCAweGM0N2ZlMjJiLCAweDYxYWNiZWUwLCAweDJmMWMzZTEyLCAweDhhY2Y2MmQ5LAorICAgIDB4MjRiZGY2NWYsIDB4ODE2ZWFhOTQsIDB4Mzk1ZWFmODksIDB4OWM4ZGYzNDIsIDB4MzJmZjY3YzQsCisgICAgMHg5NzJjM2IwZiwgMHg0MjllNmRmZSwgMHhlNzRkMzEzNSwgMHg0OTNmYTViMywgMHhlY2VjZjk3OCwKKyAgICAweDU0ZGNmYzY1LCAweGYxMGZhMGFlLCAweDVmN2QzNDI4LCAweGZhYWU2OGUzLCAweDgyMWI0NDE2LAorICAgIDB4MjdjODE4ZGQsIDB4ODliYThjNWIsIDB4MmM2OWQwOTAsIDB4OTQ1OWQ1OGQsIDB4MzE4YTg5NDYsCisgICAgMHg5ZmY4MWRjMCwgMHgzYTJiNDEwYiwgMHhlZjk5MTdmYSwgMHg0YTRhNGIzMSwgMHhlNDM4ZGZiNywKKyAgICAweDQxZWI4MzdjLCAweGY5ZGI4NjYxLCAweDVjMDhkYWFhLCAweGYyN2E0ZTJjLCAweDU3YTkxMmU3LAorICAgIDB4MTkxOTkyMTUsIDB4YmNjYWNlZGUsIDB4MTJiODVhNTgsIDB4Yjc2YjA2OTMsIDB4MGY1YjAzOGUsCisgICAgMHhhYTg4NWY0NSwgMHgwNGZhY2JjMywgMHhhMTI5OTcwOCwgMHg3NDliYzFmOSwgMHhkMTQ4OWQzMiwKKyAgICAweDdmM2EwOWI0LCAweGRhZTk1NTdmLCAweDYyZDk1MDYyLCAweGM3MGEwY2E5LCAweDY5Nzg5ODJmLAorICAgIDB4Y2NhYmM0ZTR9LAorICAgezB4MDAwMDAwMDAsIDB4YjQwYjc3YTYsIDB4MjkxMTlmOTcsIDB4OWQxYWU4MzEsIDB4MTMyNDRmZjQsCisgICAgMHhhNzJmMzg1MiwgMHgzYTM1ZDA2MywgMHg4ZTNlYTdjNSwgMHg2NzRlZWYzMywgMHhkMzQ1OTg5NSwKKyAgICAweDRlNWY3MGE0LCAweGZhNTQwNzAyLCAweDc0NmFhMGM3LCAweGMwNjFkNzYxLCAweDVkN2IzZjUwLAorICAgIDB4ZTk3MDQ4ZjYsIDB4Y2U5Y2RlNjcsIDB4N2E5N2E5YzEsIDB4ZTc4ZDQxZjAsIDB4NTM4NjM2NTYsCisgICAgMHhkZGI4OTE5MywgMHg2OWIzZTYzNSwgMHhmNGE5MGUwNCwgMHg0MGEyNzlhMiwgMHhhOWQyMzE1NCwKKyAgICAweDFkZDk0NmYyLCAweDgwYzNhZWMzLCAweDM0YzhkOTY1LCAweGJhZjY3ZWEwLCAweDBlZmQwOTA2LAorICAgIDB4OTNlN2UxMzcsIDB4MjdlYzk2OTEsIDB4OWMzOWJkY2YsIDB4MjgzMmNhNjksIDB4YjUyODIyNTgsCisgICAgMHgwMTIzNTVmZSwgMHg4ZjFkZjIzYiwgMHgzYjE2ODU5ZCwgMHhhNjBjNmRhYywgMHgxMjA3MWEwYSwKKyAgICAweGZiNzc1MmZjLCAweDRmN2MyNTVhLCAweGQyNjZjZDZiLCAweDY2NmRiYWNkLCAweGU4NTMxZDA4LAorICAgIDB4NWM1ODZhYWUsIDB4YzE0MjgyOWYsIDB4NzU0OWY1MzksIDB4NTJhNTYzYTgsIDB4ZTZhZTE0MGUsCisgICAgMHg3YmI0ZmMzZiwgMHhjZmJmOGI5OSwgMHg0MTgxMmM1YywgMHhmNThhNWJmYSwgMHg2ODkwYjNjYiwKKyAgICAweGRjOWJjNDZkLCAweDM1ZWI4YzliLCAweDgxZTBmYjNkLCAweDFjZmExMzBjLCAweGE4ZjE2NGFhLAorICAgIDB4MjZjZmMzNmYsIDB4OTJjNGI0YzksIDB4MGZkZTVjZjgsIDB4YmJkNTJiNWUsIDB4Nzk3NTBiNDQsCisgICAgMHhjZDdlN2NlMiwgMHg1MDY0OTRkMywgMHhlNDZmZTM3NSwgMHg2YTUxNDRiMCwgMHhkZTVhMzMxNiwKKyAgICAweDQzNDBkYjI3LCAweGY3NGJhYzgxLCAweDFlM2JlNDc3LCAweGFhMzA5M2QxLCAweDM3MmE3YmUwLAorICAgIDB4ODMyMTBjNDYsIDB4MGQxZmFiODMsIDB4YjkxNGRjMjUsIDB4MjQwZTM0MTQsIDB4OTAwNTQzYjIsCisgICAgMHhiN2U5ZDUyMywgMHgwM2UyYTI4NSwgMHg5ZWY4NGFiNCwgMHgyYWYzM2QxMiwgMHhhNGNkOWFkNywKKyAgICAweDEwYzZlZDcxLCAweDhkZGMwNTQwLCAweDM5ZDc3MmU2LCAweGQwYTczYTEwLCAweDY0YWM0ZGI2LAorICAgIDB4ZjliNmE1ODcsIDB4NGRiZGQyMjEsIDB4YzM4Mzc1ZTQsIDB4Nzc4ODAyNDIsIDB4ZWE5MmVhNzMsCisgICAgMHg1ZTk5OWRkNSwgMHhlNTRjYjY4YiwgMHg1MTQ3YzEyZCwgMHhjYzVkMjkxYywgMHg3ODU2NWViYSwKKyAgICAweGY2NjhmOTdmLCAweDQyNjM4ZWQ5LCAweGRmNzk2NmU4LCAweDZiNzIxMTRlLCAweDgyMDI1OWI4LAorICAgIDB4MzYwOTJlMWUsIDB4YWIxM2M2MmYsIDB4MWYxOGIxODksIDB4OTEyNjE2NGMsIDB4MjUyZDYxZWEsCisgICAgMHhiODM3ODlkYiwgMHgwYzNjZmU3ZCwgMHgyYmQwNjhlYywgMHg5ZmRiMWY0YSwgMHgwMmMxZjc3YiwKKyAgICAweGI2Y2E4MGRkLCAweDM4ZjQyNzE4LCAweDhjZmY1MGJlLCAweDExZTViODhmLCAweGE1ZWVjZjI5LAorICAgIDB4NGM5ZTg3ZGYsIDB4Zjg5NWYwNzksIDB4NjU4ZjE4NDgsIDB4ZDE4NDZmZWUsIDB4NWZiYWM4MmIsCisgICAgMHhlYmIxYmY4ZCwgMHg3NmFiNTdiYywgMHhjMmEwMjAxYSwgMHhmMmVhMTY4OCwgMHg0NmUxNjEyZSwKKyAgICAweGRiZmI4OTFmLCAweDZmZjBmZWI5LCAweGUxY2U1OTdjLCAweDU1YzUyZWRhLCAweGM4ZGZjNmViLAorICAgIDB4N2NkNGIxNGQsIDB4OTVhNGY5YmIsIDB4MjFhZjhlMWQsIDB4YmNiNTY2MmMsIDB4MDhiZTExOGEsCisgICAgMHg4NjgwYjY0ZiwgMHgzMjhiYzFlOSwgMHhhZjkxMjlkOCwgMHgxYjlhNWU3ZSwgMHgzYzc2YzhlZiwKKyAgICAweDg4N2RiZjQ5LCAweDE1Njc1Nzc4LCAweGExNmMyMGRlLCAweDJmNTI4NzFiLCAweDliNTlmMGJkLAorICAgIDB4MDY0MzE4OGMsIDB4YjI0ODZmMmEsIDB4NWIzODI3ZGMsIDB4ZWYzMzUwN2EsIDB4NzIyOWI4NGIsCisgICAgMHhjNjIyY2ZlZCwgMHg0ODFjNjgyOCwgMHhmYzE3MWY4ZSwgMHg2MTBkZjdiZiwgMHhkNTA2ODAxOSwKKyAgICAweDZlZDNhYjQ3LCAweGRhZDhkY2UxLCAweDQ3YzIzNGQwLCAweGYzYzk0Mzc2LCAweDdkZjdlNGIzLAorICAgIDB4YzlmYzkzMTUsIDB4NTRlNjdiMjQsIDB4ZTBlZDBjODIsIDB4MDk5ZDQ0NzQsIDB4YmQ5NjMzZDIsCisgICAgMHgyMDhjZGJlMywgMHg5NDg3YWM0NSwgMHgxYWI5MGI4MCwgMHhhZWIyN2MyNiwgMHgzM2E4OTQxNywKKyAgICAweDg3YTNlM2IxLCAweGEwNGY3NTIwLCAweDE0NDQwMjg2LCAweDg5NWVlYWI3LCAweDNkNTU5ZDExLAorICAgIDB4YjM2YjNhZDQsIDB4MDc2MDRkNzIsIDB4OWE3YWE1NDMsIDB4MmU3MWQyZTUsIDB4YzcwMTlhMTMsCisgICAgMHg3MzBhZWRiNSwgMHhlZTEwMDU4NCwgMHg1YTFiNzIyMiwgMHhkNDI1ZDVlNywgMHg2MDJlYTI0MSwKKyAgICAweGZkMzQ0YTcwLCAweDQ5M2YzZGQ2LCAweDhiOWYxZGNjLCAweDNmOTQ2YTZhLCAweGEyOGU4MjViLAorICAgIDB4MTY4NWY1ZmQsIDB4OThiYjUyMzgsIDB4MmNiMDI1OWUsIDB4YjFhYWNkYWYsIDB4MDVhMWJhMDksCisgICAgMHhlY2QxZjJmZiwgMHg1OGRhODU1OSwgMHhjNWMwNmQ2OCwgMHg3MWNiMWFjZSwgMHhmZmY1YmQwYiwKKyAgICAweDRiZmVjYWFkLCAweGQ2ZTQyMjljLCAweDYyZWY1NTNhLCAweDQ1MDNjM2FiLCAweGYxMDhiNDBkLAorICAgIDB4NmMxMjVjM2MsIDB4ZDgxOTJiOWEsIDB4NTYyNzhjNWYsIDB4ZTIyY2ZiZjksIDB4N2YzNjEzYzgsCisgICAgMHhjYjNkNjQ2ZSwgMHgyMjRkMmM5OCwgMHg5NjQ2NWIzZSwgMHgwYjVjYjMwZiwgMHhiZjU3YzRhOSwKKyAgICAweDMxNjk2MzZjLCAweDg1NjIxNGNhLCAweDE4NzhmY2ZiLCAweGFjNzM4YjVkLCAweDE3YTZhMDAzLAorICAgIDB4YTNhZGQ3YTUsIDB4M2ViNzNmOTQsIDB4OGFiYzQ4MzIsIDB4MDQ4MmVmZjcsIDB4YjA4OTk4NTEsCisgICAgMHgyZDkzNzA2MCwgMHg5OTk4MDdjNiwgMHg3MGU4NGYzMCwgMHhjNGUzMzg5NiwgMHg1OWY5ZDBhNywKKyAgICAweGVkZjJhNzAxLCAweDYzY2MwMGM0LCAweGQ3Yzc3NzYyLCAweDRhZGQ5ZjUzLCAweGZlZDZlOGY1LAorICAgIDB4ZDkzYTdlNjQsIDB4NmQzMTA5YzIsIDB4ZjAyYmUxZjMsIDB4NDQyMDk2NTUsIDB4Y2ExZTMxOTAsCisgICAgMHg3ZTE1NDYzNiwgMHhlMzBmYWUwNywgMHg1NzA0ZDlhMSwgMHhiZTc0OTE1NywgMHgwYTdmZTZmMSwKKyAgICAweDk3NjUwZWMwLCAweDIzNmU3OTY2LCAweGFkNTBkZWEzLCAweDE5NWJhOTA1LCAweDg0NDE0MTM0LAorICAgIDB4MzA0YTM2OTJ9LAorICAgezB4MDAwMDAwMDAsIDB4OWUwMGFhY2MsIDB4N2QwNzI1NDIsIDB4ZTMwNzhmOGUsIDB4ZmEwZTRhODQsCisgICAgMHg2NDBlZTA0OCwgMHg4NzA5NmZjNiwgMHgxOTA5YzUwYSwgMHhiNTFiZTVkMywgMHgyYjFiNGYxZiwKKyAgICAweGM4MWNjMDkxLCAweDU2MWM2YTVkLCAweDRmMTVhZjU3LCAweGQxMTUwNTliLCAweDMyMTI4YTE1LAorICAgIDB4YWMxMjIwZDksIDB4MmIzMWJiN2MsIDB4YjUzMTExYjAsIDB4NTYzNjllM2UsIDB4YzgzNjM0ZjIsCisgICAgMHhkMTNmZjFmOCwgMHg0ZjNmNWIzNCwgMHhhYzM4ZDRiYSwgMHgzMjM4N2U3NiwgMHg5ZTJhNWVhZiwKKyAgICAweDAwMmFmNDYzLCAweGUzMmQ3YmVkLCAweDdkMmRkMTIxLCAweDY0MjQxNDJiLCAweGZhMjRiZWU3LAorICAgIDB4MTkyMzMxNjksIDB4ODcyMzliYTUsIDB4NTY2Mjc2ZjksIDB4Yzg2MmRjMzUsIDB4MmI2NTUzYmIsCisgICAgMHhiNTY1Zjk3NywgMHhhYzZjM2M3ZCwgMHgzMjZjOTZiMSwgMHhkMTZiMTkzZiwgMHg0ZjZiYjNmMywKKyAgICAweGUzNzk5MzJhLCAweDdkNzkzOWU2LCAweDllN2ViNjY4LCAweDAwN2UxY2E0LCAweDE5NzdkOWFlLAorICAgIDB4ODc3NzczNjIsIDB4NjQ3MGZjZWMsIDB4ZmE3MDU2MjAsIDB4N2Q1M2NkODUsIDB4ZTM1MzY3NDksCisgICAgMHgwMDU0ZThjNywgMHg5ZTU0NDIwYiwgMHg4NzVkODcwMSwgMHgxOTVkMmRjZCwgMHhmYTVhYTI0MywKKyAgICAweDY0NWEwODhmLCAweGM4NDgyODU2LCAweDU2NDg4MjlhLCAweGI1NGYwZDE0LCAweDJiNGZhN2Q4LAorICAgIDB4MzI0NjYyZDIsIDB4YWM0NmM4MWUsIDB4NGY0MTQ3OTAsIDB4ZDE0MWVkNWMsIDB4ZWRjMjlkMjksCisgICAgMHg3M2MyMzdlNSwgMHg5MGM1Yjg2YiwgMHgwZWM1MTJhNywgMHgxN2NjZDdhZCwgMHg4OWNjN2Q2MSwKKyAgICAweDZhY2JmMmVmLCAweGY0Y2I1ODIzLCAweDU4ZDk3OGZhLCAweGM2ZDlkMjM2LCAweDI1ZGU1ZGI4LAorICAgIDB4YmJkZWY3NzQsIDB4YTJkNzMyN2UsIDB4M2NkNzk4YjIsIDB4ZGZkMDE3M2MsIDB4NDFkMGJkZjAsCisgICAgMHhjNmYzMjY1NSwgMHg1OGYzOGM5OSwgMHhiYmY0MDMxNywgMHgyNWY0YTlkYiwgMHgzY2ZkNmNkMSwKKyAgICAweGEyZmRjNjFkLCAweDQxZmE0OTkzLCAweGRmZmFlMzVmLCAweDczZThjMzg2LCAweGVkZTg2OTRhLAorICAgIDB4MGVlZmU2YzQsIDB4OTBlZjRjMDgsIDB4ODllNjg5MDIsIDB4MTdlNjIzY2UsIDB4ZjRlMWFjNDAsCisgICAgMHg2YWUxMDY4YywgMHhiYmEwZWJkMCwgMHgyNWEwNDExYywgMHhjNmE3Y2U5MiwgMHg1OGE3NjQ1ZSwKKyAgICAweDQxYWVhMTU0LCAweGRmYWUwYjk4LCAweDNjYTk4NDE2LCAweGEyYTkyZWRhLCAweDBlYmIwZTAzLAorICAgIDB4OTBiYmE0Y2YsIDB4NzNiYzJiNDEsIDB4ZWRiYzgxOGQsIDB4ZjRiNTQ0ODcsIDB4NmFiNWVlNGIsCisgICAgMHg4OWIyNjFjNSwgMHgxN2IyY2IwOSwgMHg5MDkxNTBhYywgMHgwZTkxZmE2MCwgMHhlZDk2NzVlZSwKKyAgICAweDczOTZkZjIyLCAweDZhOWYxYTI4LCAweGY0OWZiMGU0LCAweDE3OTgzZjZhLCAweDg5OTg5NWE2LAorICAgIDB4MjU4YWI1N2YsIDB4YmI4YTFmYjMsIDB4NTg4ZDkwM2QsIDB4YzY4ZDNhZjEsIDB4ZGY4NGZmZmIsCisgICAgMHg0MTg0NTUzNywgMHhhMjgzZGFiOSwgMHgzYzgzNzA3NSwgMHhkYTg1M2I1MywgMHg0NDg1OTE5ZiwKKyAgICAweGE3ODIxZTExLCAweDM5ODJiNGRkLCAweDIwOGI3MWQ3LCAweGJlOGJkYjFiLCAweDVkOGM1NDk1LAorICAgIDB4YzM4Y2ZlNTksIDB4NmY5ZWRlODAsIDB4ZjE5ZTc0NGMsIDB4MTI5OWZiYzIsIDB4OGM5OTUxMGUsCisgICAgMHg5NTkwOTQwNCwgMHgwYjkwM2VjOCwgMHhlODk3YjE0NiwgMHg3Njk3MWI4YSwgMHhmMWI0ODAyZiwKKyAgICAweDZmYjQyYWUzLCAweDhjYjNhNTZkLCAweDEyYjMwZmExLCAweDBiYmFjYWFiLCAweDk1YmE2MDY3LAorICAgIDB4NzZiZGVmZTksIDB4ZThiZDQ1MjUsIDB4NDRhZjY1ZmMsIDB4ZGFhZmNmMzAsIDB4MzlhODQwYmUsCisgICAgMHhhN2E4ZWE3MiwgMHhiZWExMmY3OCwgMHgyMGExODViNCwgMHhjM2E2MGEzYSwgMHg1ZGE2YTBmNiwKKyAgICAweDhjZTc0ZGFhLCAweDEyZTdlNzY2LCAweGYxZTA2OGU4LCAweDZmZTBjMjI0LCAweDc2ZTkwNzJlLAorICAgIDB4ZThlOWFkZTIsIDB4MGJlZTIyNmMsIDB4OTVlZTg4YTAsIDB4MzlmY2E4NzksIDB4YTdmYzAyYjUsCisgICAgMHg0NGZiOGQzYiwgMHhkYWZiMjdmNywgMHhjM2YyZTJmZCwgMHg1ZGYyNDgzMSwgMHhiZWY1YzdiZiwKKyAgICAweDIwZjU2ZDczLCAweGE3ZDZmNmQ2LCAweDM5ZDY1YzFhLCAweGRhZDFkMzk0LCAweDQ0ZDE3OTU4LAorICAgIDB4NWRkOGJjNTIsIDB4YzNkODE2OWUsIDB4MjBkZjk5MTAsIDB4YmVkZjMzZGMsIDB4MTJjZDEzMDUsCisgICAgMHg4Y2NkYjljOSwgMHg2ZmNhMzY0NywgMHhmMWNhOWM4YiwgMHhlOGMzNTk4MSwgMHg3NmMzZjM0ZCwKKyAgICAweDk1YzQ3Y2MzLCAweDBiYzRkNjBmLCAweDM3NDdhNjdhLCAweGE5NDcwY2I2LCAweDRhNDA4MzM4LAorICAgIDB4ZDQ0MDI5ZjQsIDB4Y2Q0OWVjZmUsIDB4NTM0OTQ2MzIsIDB4YjA0ZWM5YmMsIDB4MmU0ZTYzNzAsCisgICAgMHg4MjVjNDNhOSwgMHgxYzVjZTk2NSwgMHhmZjViNjZlYiwgMHg2MTViY2MyNywgMHg3ODUyMDkyZCwKKyAgICAweGU2NTJhM2UxLCAweDA1NTUyYzZmLCAweDliNTU4NmEzLCAweDFjNzYxZDA2LCAweDgyNzZiN2NhLAorICAgIDB4NjE3MTM4NDQsIDB4ZmY3MTkyODgsIDB4ZTY3ODU3ODIsIDB4Nzg3OGZkNGUsIDB4OWI3ZjcyYzAsCisgICAgMHgwNTdmZDgwYywgMHhhOTZkZjhkNSwgMHgzNzZkNTIxOSwgMHhkNDZhZGQ5NywgMHg0YTZhNzc1YiwKKyAgICAweDUzNjNiMjUxLCAweGNkNjMxODlkLCAweDJlNjQ5NzEzLCAweGIwNjQzZGRmLCAweDYxMjVkMDgzLAorICAgIDB4ZmYyNTdhNGYsIDB4MWMyMmY1YzEsIDB4ODIyMjVmMGQsIDB4OWIyYjlhMDcsIDB4MDUyYjMwY2IsCisgICAgMHhlNjJjYmY0NSwgMHg3ODJjMTU4OSwgMHhkNDNlMzU1MCwgMHg0YTNlOWY5YywgMHhhOTM5MTAxMiwKKyAgICAweDM3MzliYWRlLCAweDJlMzA3ZmQ0LCAweGIwMzBkNTE4LCAweDUzMzc1YTk2LCAweGNkMzdmMDVhLAorICAgIDB4NGExNDZiZmYsIDB4ZDQxNGMxMzMsIDB4MzcxMzRlYmQsIDB4YTkxM2U0NzEsIDB4YjAxYTIxN2IsCisgICAgMHgyZTFhOGJiNywgMHhjZDFkMDQzOSwgMHg1MzFkYWVmNSwgMHhmZjBmOGUyYywgMHg2MTBmMjRlMCwKKyAgICAweDgyMDhhYjZlLCAweDFjMDgwMWEyLCAweDA1MDFjNGE4LCAweDliMDE2ZTY0LCAweDc4MDZlMWVhLAorICAgIDB4ZTYwNjRiMjZ9fTsKKworI2VuZGlmCisKKyNlbmRpZgorCisjaWYgTiA9PSAzCisKKyNpZiBXID09IDgKKworbG9jYWwgY29uc3Qgel9jcmNfdCBGQVIgY3JjX2JyYWlkX3RhYmxlW11bMjU2XSA9IHsKKyAgIHsweDAwMDAwMDAwLCAweDgxMjU2NTI3LCAweGQ5M2JjYzBmLCAweDU4MWVhOTI4LCAweDY5MDY5ZTVmLAorICAgIDB4ZTgyM2ZiNzgsIDB4YjAzZDUyNTAsIDB4MzExODM3NzcsIDB4ZDIwZDNjYmUsIDB4NTMyODU5OTksCisgICAgMHgwYjM2ZjBiMSwgMHg4YTEzOTU5NiwgMHhiYjBiYTJlMSwgMHgzYTJlYzdjNiwgMHg2MjMwNmVlZSwKKyAgICAweGUzMTUwYmM5LCAweDdmNmI3ZjNkLCAweGZlNGUxYTFhLCAweGE2NTBiMzMyLCAweDI3NzVkNjE1LAorICAgIDB4MTY2ZGUxNjIsIDB4OTc0ODg0NDUsIDB4Y2Y1NjJkNmQsIDB4NGU3MzQ4NGEsIDB4YWQ2NjQzODMsCisgICAgMHgyYzQzMjZhNCwgMHg3NDVkOGY4YywgMHhmNTc4ZWFhYiwgMHhjNDYwZGRkYywgMHg0NTQ1YjhmYiwKKyAgICAweDFkNWIxMWQzLCAweDljN2U3NGY0LCAweGZlZDZmZTdhLCAweDdmZjM5YjVkLCAweDI3ZWQzMjc1LAorICAgIDB4YTZjODU3NTIsIDB4OTdkMDYwMjUsIDB4MTZmNTA1MDIsIDB4NGVlYmFjMmEsIDB4Y2ZjZWM5MGQsCisgICAgMHgyY2RiYzJjNCwgMHhhZGZlYTdlMywgMHhmNWUwMGVjYiwgMHg3NGM1NmJlYywgMHg0NWRkNWM5YiwKKyAgICAweGM0ZjgzOWJjLCAweDljZTY5MDk0LCAweDFkYzNmNWIzLCAweDgxYmQ4MTQ3LCAweDAwOThlNDYwLAorICAgIDB4NTg4NjRkNDgsIDB4ZDlhMzI4NmYsIDB4ZThiYjFmMTgsIDB4Njk5ZTdhM2YsIDB4MzE4MGQzMTcsCisgICAgMHhiMGE1YjYzMCwgMHg1M2IwYmRmOSwgMHhkMjk1ZDhkZSwgMHg4YThiNzFmNiwgMHgwYmFlMTRkMSwKKyAgICAweDNhYjYyM2E2LCAweGJiOTM0NjgxLCAweGUzOGRlZmE5LCAweDYyYTg4YThlLCAweDI2ZGNmYWI1LAorICAgIDB4YTdmOTlmOTIsIDB4ZmZlNzM2YmEsIDB4N2VjMjUzOWQsIDB4NGZkYTY0ZWEsIDB4Y2VmZjAxY2QsCisgICAgMHg5NmUxYThlNSwgMHgxN2M0Y2RjMiwgMHhmNGQxYzYwYiwgMHg3NWY0YTMyYywgMHgyZGVhMGEwNCwKKyAgICAweGFjY2Y2ZjIzLCAweDlkZDc1ODU0LCAweDFjZjIzZDczLCAweDQ0ZWM5NDViLCAweGM1YzlmMTdjLAorICAgIDB4NTliNzg1ODgsIDB4ZDg5MmUwYWYsIDB4ODA4YzQ5ODcsIDB4MDFhOTJjYTAsIDB4MzBiMTFiZDcsCisgICAgMHhiMTk0N2VmMCwgMHhlOThhZDdkOCwgMHg2OGFmYjJmZiwgMHg4YmJhYjkzNiwgMHgwYTlmZGMxMSwKKyAgICAweDUyODE3NTM5LCAweGQzYTQxMDFlLCAweGUyYmMyNzY5LCAweDYzOTk0MjRlLCAweDNiODdlYjY2LAorICAgIDB4YmFhMjhlNDEsIDB4ZDgwYTA0Y2YsIDB4NTkyZjYxZTgsIDB4MDEzMWM4YzAsIDB4ODAxNGFkZTcsCisgICAgMHhiMTBjOWE5MCwgMHgzMDI5ZmZiNywgMHg2ODM3NTY5ZiwgMHhlOTEyMzNiOCwgMHgwYTA3Mzg3MSwKKyAgICAweDhiMjI1ZDU2LCAweGQzM2NmNDdlLCAweDUyMTk5MTU5LCAweDYzMDFhNjJlLCAweGUyMjRjMzA5LAorICAgIDB4YmEzYTZhMjEsIDB4M2IxZjBmMDYsIDB4YTc2MTdiZjIsIDB4MjY0NDFlZDUsIDB4N2U1YWI3ZmQsCisgICAgMHhmZjdmZDJkYSwgMHhjZTY3ZTVhZCwgMHg0ZjQyODA4YSwgMHgxNzVjMjlhMiwgMHg5Njc5NGM4NSwKKyAgICAweDc1NmM0NzRjLCAweGY0NDkyMjZiLCAweGFjNTc4YjQzLCAweDJkNzJlZTY0LCAweDFjNmFkOTEzLAorICAgIDB4OWQ0ZmJjMzQsIDB4YzU1MTE1MWMsIDB4NDQ3NDcwM2IsIDB4NGRiOWY1NmEsIDB4Y2M5YzkwNGQsCisgICAgMHg5NDgyMzk2NSwgMHgxNWE3NWM0MiwgMHgyNGJmNmIzNSwgMHhhNTlhMGUxMiwgMHhmZDg0YTczYSwKKyAgICAweDdjYTFjMjFkLCAweDlmYjRjOWQ0LCAweDFlOTFhY2YzLCAweDQ2OGYwNWRiLCAweGM3YWE2MGZjLAorICAgIDB4ZjZiMjU3OGIsIDB4Nzc5NzMyYWMsIDB4MmY4OTliODQsIDB4YWVhY2ZlYTMsIDB4MzJkMjhhNTcsCisgICAgMHhiM2Y3ZWY3MCwgMHhlYmU5NDY1OCwgMHg2YWNjMjM3ZiwgMHg1YmQ0MTQwOCwgMHhkYWYxNzEyZiwKKyAgICAweDgyZWZkODA3LCAweDAzY2FiZDIwLCAweGUwZGZiNmU5LCAweDYxZmFkM2NlLCAweDM5ZTQ3YWU2LAorICAgIDB4YjhjMTFmYzEsIDB4ODlkOTI4YjYsIDB4MDhmYzRkOTEsIDB4NTBlMmU0YjksIDB4ZDFjNzgxOWUsCisgICAgMHhiMzZmMGIxMCwgMHgzMjRhNmUzNywgMHg2YTU0YzcxZiwgMHhlYjcxYTIzOCwgMHhkYTY5OTU0ZiwKKyAgICAweDViNGNmMDY4LCAweDAzNTI1OTQwLCAweDgyNzczYzY3LCAweDYxNjIzN2FlLCAweGUwNDc1Mjg5LAorICAgIDB4Yjg1OWZiYTEsIDB4Mzk3YzllODYsIDB4MDg2NGE5ZjEsIDB4ODk0MWNjZDYsIDB4ZDE1ZjY1ZmUsCisgICAgMHg1MDdhMDBkOSwgMHhjYzA0NzQyZCwgMHg0ZDIxMTEwYSwgMHgxNTNmYjgyMiwgMHg5NDFhZGQwNSwKKyAgICAweGE1MDJlYTcyLCAweDI0Mjc4ZjU1LCAweDdjMzkyNjdkLCAweGZkMWM0MzVhLCAweDFlMDk0ODkzLAorICAgIDB4OWYyYzJkYjQsIDB4YzczMjg0OWMsIDB4NDYxN2UxYmIsIDB4NzcwZmQ2Y2MsIDB4ZjYyYWIzZWIsCisgICAgMHhhZTM0MWFjMywgMHgyZjExN2ZlNCwgMHg2YjY1MGZkZiwgMHhlYTQwNmFmOCwgMHhiMjVlYzNkMCwKKyAgICAweDMzN2JhNmY3LCAweDAyNjM5MTgwLCAweDgzNDZmNGE3LCAweGRiNTg1ZDhmLCAweDVhN2QzOGE4LAorICAgIDB4Yjk2ODMzNjEsIDB4Mzg0ZDU2NDYsIDB4NjA1M2ZmNmUsIDB4ZTE3NjlhNDksIDB4ZDA2ZWFkM2UsCisgICAgMHg1MTRiYzgxOSwgMHgwOTU1NjEzMSwgMHg4ODcwMDQxNiwgMHgxNDBlNzBlMiwgMHg5NTJiMTVjNSwKKyAgICAweGNkMzViY2VkLCAweDRjMTBkOWNhLCAweDdkMDhlZWJkLCAweGZjMmQ4YjlhLCAweGE0MzMyMmIyLAorICAgIDB4MjUxNjQ3OTUsIDB4YzYwMzRjNWMsIDB4NDcyNjI5N2IsIDB4MWYzODgwNTMsIDB4OWUxZGU1NzQsCisgICAgMHhhZjA1ZDIwMywgMHgyZTIwYjcyNCwgMHg3NjNlMWUwYywgMHhmNzFiN2IyYiwgMHg5NWIzZjFhNSwKKyAgICAweDE0OTY5NDgyLCAweDRjODgzZGFhLCAweGNkYWQ1ODhkLCAweGZjYjU2ZmZhLCAweDdkOTAwYWRkLAorICAgIDB4MjU4ZWEzZjUsIDB4YTRhYmM2ZDIsIDB4NDdiZWNkMWIsIDB4YzY5YmE4M2MsIDB4OWU4NTAxMTQsCisgICAgMHgxZmEwNjQzMywgMHgyZWI4NTM0NCwgMHhhZjlkMzY2MywgMHhmNzgzOWY0YiwgMHg3NmE2ZmE2YywKKyAgICAweGVhZDg4ZTk4LCAweDZiZmRlYmJmLCAweDMzZTM0Mjk3LCAweGIyYzYyN2IwLCAweDgzZGUxMGM3LAorICAgIDB4MDJmYjc1ZTAsIDB4NWFlNWRjYzgsIDB4ZGJjMGI5ZWYsIDB4MzhkNWIyMjYsIDB4YjlmMGQ3MDEsCisgICAgMHhlMWVlN2UyOSwgMHg2MGNiMWIwZSwgMHg1MWQzMmM3OSwgMHhkMGY2NDk1ZSwgMHg4OGU4ZTA3NiwKKyAgICAweDA5Y2Q4NTUxfSwKKyAgIHsweDAwMDAwMDAwLCAweDliNzNlYWQ0LCAweGVkOTZkM2U5LCAweDc2ZTUzOTNkLCAweDAwNWNhMTkzLAorICAgIDB4OWIyZjRiNDcsIDB4ZWRjYTcyN2EsIDB4NzZiOTk4YWUsIDB4MDBiOTQzMjYsIDB4OWJjYWE5ZjIsCisgICAgMHhlZDJmOTBjZiwgMHg3NjVjN2ExYiwgMHgwMGU1ZTJiNSwgMHg5Yjk2MDg2MSwgMHhlZDczMzE1YywKKyAgICAweDc2MDBkYjg4LCAweDAxNzI4NjRjLCAweDlhMDE2Yzk4LCAweGVjZTQ1NWE1LCAweDc3OTdiZjcxLAorICAgIDB4MDEyZTI3ZGYsIDB4OWE1ZGNkMGIsIDB4ZWNiOGY0MzYsIDB4NzdjYjFlZTIsIDB4MDFjYmM1NmEsCisgICAgMHg5YWI4MmZiZSwgMHhlYzVkMTY4MywgMHg3NzJlZmM1NywgMHgwMTk3NjRmOSwgMHg5YWU0OGUyZCwKKyAgICAweGVjMDFiNzEwLCAweDc3NzI1ZGM0LCAweDAyZTUwYzk4LCAweDk5OTZlNjRjLCAweGVmNzNkZjcxLAorICAgIDB4NzQwMDM1YTUsIDB4MDJiOWFkMGIsIDB4OTljYTQ3ZGYsIDB4ZWYyZjdlZTIsIDB4NzQ1Yzk0MzYsCisgICAgMHgwMjVjNGZiZSwgMHg5OTJmYTU2YSwgMHhlZmNhOWM1NywgMHg3NGI5NzY4MywgMHgwMjAwZWUyZCwKKyAgICAweDk5NzMwNGY5LCAweGVmOTYzZGM0LCAweDc0ZTVkNzEwLCAweDAzOTc4YWQ0LCAweDk4ZTQ2MDAwLAorICAgIDB4ZWUwMTU5M2QsIDB4NzU3MmIzZTksIDB4MDNjYjJiNDcsIDB4OThiOGMxOTMsIDB4ZWU1ZGY4YWUsCisgICAgMHg3NTJlMTI3YSwgMHgwMzJlYzlmMiwgMHg5ODVkMjMyNiwgMHhlZWI4MWExYiwgMHg3NWNiZjBjZiwKKyAgICAweDAzNzI2ODYxLCAweDk4MDE4MmI1LCAweGVlZTRiYjg4LCAweDc1OTc1MTVjLCAweDA1Y2ExOTMwLAorICAgIDB4OWViOWYzZTQsIDB4ZTg1Y2NhZDksIDB4NzMyZjIwMGQsIDB4MDU5NmI4YTMsIDB4OWVlNTUyNzcsCisgICAgMHhlODAwNmI0YSwgMHg3MzczODE5ZSwgMHgwNTczNWExNiwgMHg5ZTAwYjBjMiwgMHhlOGU1ODlmZiwKKyAgICAweDczOTY2MzJiLCAweDA1MmZmYjg1LCAweDllNWMxMTUxLCAweGU4YjkyODZjLCAweDczY2FjMmI4LAorICAgIDB4MDRiODlmN2MsIDB4OWZjYjc1YTgsIDB4ZTkyZTRjOTUsIDB4NzI1ZGE2NDEsIDB4MDRlNDNlZWYsCisgICAgMHg5Zjk3ZDQzYiwgMHhlOTcyZWQwNiwgMHg3MjAxMDdkMiwgMHgwNDAxZGM1YSwgMHg5ZjcyMzY4ZSwKKyAgICAweGU5OTcwZmIzLCAweDcyZTRlNTY3LCAweDA0NWQ3ZGM5LCAweDlmMmU5NzFkLCAweGU5Y2JhZTIwLAorICAgIDB4NzJiODQ0ZjQsIDB4MDcyZjE1YTgsIDB4OWM1Y2ZmN2MsIDB4ZWFiOWM2NDEsIDB4NzFjYTJjOTUsCisgICAgMHgwNzczYjQzYiwgMHg5YzAwNWVlZiwgMHhlYWU1NjdkMiwgMHg3MTk2OGQwNiwgMHgwNzk2NTY4ZSwKKyAgICAweDljZTViYzVhLCAweGVhMDA4NTY3LCAweDcxNzM2ZmIzLCAweDA3Y2FmNzFkLCAweDljYjkxZGM5LAorICAgIDB4ZWE1YzI0ZjQsIDB4NzEyZmNlMjAsIDB4MDY1ZDkzZTQsIDB4OWQyZTc5MzAsIDB4ZWJjYjQwMGQsCisgICAgMHg3MGI4YWFkOSwgMHgwNjAxMzI3NywgMHg5ZDcyZDhhMywgMHhlYjk3ZTE5ZSwgMHg3MGU0MGI0YSwKKyAgICAweDA2ZTRkMGMyLCAweDlkOTczYTE2LCAweGViNzIwMzJiLCAweDcwMDFlOWZmLCAweDA2Yjg3MTUxLAorICAgIDB4OWRjYjliODUsIDB4ZWIyZWEyYjgsIDB4NzA1ZDQ4NmMsIDB4MGI5NDMyNjAsIDB4OTBlN2Q4YjQsCisgICAgMHhlNjAyZTE4OSwgMHg3ZDcxMGI1ZCwgMHgwYmM4OTNmMywgMHg5MGJiNzkyNywgMHhlNjVlNDAxYSwKKyAgICAweDdkMmRhYWNlLCAweDBiMmQ3MTQ2LCAweDkwNWU5YjkyLCAweGU2YmJhMmFmLCAweDdkYzg0ODdiLAorICAgIDB4MGI3MWQwZDUsIDB4OTAwMjNhMDEsIDB4ZTZlNzAzM2MsIDB4N2Q5NGU5ZTgsIDB4MGFlNmI0MmMsCisgICAgMHg5MTk1NWVmOCwgMHhlNzcwNjdjNSwgMHg3YzAzOGQxMSwgMHgwYWJhMTViZiwgMHg5MWM5ZmY2YiwKKyAgICAweGU3MmNjNjU2LCAweDdjNWYyYzgyLCAweDBhNWZmNzBhLCAweDkxMmMxZGRlLCAweGU3YzkyNGUzLAorICAgIDB4N2NiYWNlMzcsIDB4MGEwMzU2OTksIDB4OTE3MGJjNGQsIDB4ZTc5NTg1NzAsIDB4N2NlNjZmYTQsCisgICAgMHgwOTcxM2VmOCwgMHg5MjAyZDQyYywgMHhlNGU3ZWQxMSwgMHg3Zjk0MDdjNSwgMHgwOTJkOWY2YiwKKyAgICAweDkyNWU3NWJmLCAweGU0YmI0YzgyLCAweDdmYzhhNjU2LCAweDA5Yzg3ZGRlLCAweDkyYmI5NzBhLAorICAgIDB4ZTQ1ZWFlMzcsIDB4N2YyZDQ0ZTMsIDB4MDk5NGRjNGQsIDB4OTJlNzM2OTksIDB4ZTQwMjBmYTQsCisgICAgMHg3ZjcxZTU3MCwgMHgwODAzYjhiNCwgMHg5MzcwNTI2MCwgMHhlNTk1NmI1ZCwgMHg3ZWU2ODE4OSwKKyAgICAweDA4NWYxOTI3LCAweDkzMmNmM2YzLCAweGU1YzljYWNlLCAweDdlYmEyMDFhLCAweDA4YmFmYjkyLAorICAgIDB4OTNjOTExNDYsIDB4ZTUyYzI4N2IsIDB4N2U1ZmMyYWYsIDB4MDhlNjVhMDEsIDB4OTM5NWIwZDUsCisgICAgMHhlNTcwODllOCwgMHg3ZTAzNjMzYywgMHgwZTVlMmI1MCwgMHg5NTJkYzE4NCwgMHhlM2M4ZjhiOSwKKyAgICAweDc4YmIxMjZkLCAweDBlMDI4YWMzLCAweDk1NzE2MDE3LCAweGUzOTQ1OTJhLCAweDc4ZTdiM2ZlLAorICAgIDB4MGVlNzY4NzYsIDB4OTU5NDgyYTIsIDB4ZTM3MWJiOWYsIDB4NzgwMjUxNGIsIDB4MGViYmM5ZTUsCisgICAgMHg5NWM4MjMzMSwgMHhlMzJkMWEwYywgMHg3ODVlZjBkOCwgMHgwZjJjYWQxYywgMHg5NDVmNDdjOCwKKyAgICAweGUyYmE3ZWY1LCAweDc5Yzk5NDIxLCAweDBmNzAwYzhmLCAweDk0MDNlNjViLCAweGUyZTZkZjY2LAorICAgIDB4Nzk5NTM1YjIsIDB4MGY5NWVlM2EsIDB4OTRlNjA0ZWUsIDB4ZTIwMzNkZDMsIDB4Nzk3MGQ3MDcsCisgICAgMHgwZmM5NGZhOSwgMHg5NGJhYTU3ZCwgMHhlMjVmOWM0MCwgMHg3OTJjNzY5NCwgMHgwY2JiMjdjOCwKKyAgICAweDk3YzhjZDFjLCAweGUxMmRmNDIxLCAweDdhNWUxZWY1LCAweDBjZTc4NjViLCAweDk3OTQ2YzhmLAorICAgIDB4ZTE3MTU1YjIsIDB4N2EwMmJmNjYsIDB4MGMwMjY0ZWUsIDB4OTc3MThlM2EsIDB4ZTE5NGI3MDcsCisgICAgMHg3YWU3NWRkMywgMHgwYzVlYzU3ZCwgMHg5NzJkMmZhOSwgMHhlMWM4MTY5NCwgMHg3YWJiZmM0MCwKKyAgICAweDBkYzlhMTg0LCAweDk2YmE0YjUwLCAweGUwNWY3MjZkLCAweDdiMmM5OGI5LCAweDBkOTUwMDE3LAorICAgIDB4OTZlNmVhYzMsIDB4ZTAwM2QzZmUsIDB4N2I3MDM5MmEsIDB4MGQ3MGUyYTIsIDB4OTYwMzA4NzYsCisgICAgMHhlMGU2MzE0YiwgMHg3Yjk1ZGI5ZiwgMHgwZDJjNDMzMSwgMHg5NjVmYTllNSwgMHhlMGJhOTBkOCwKKyAgICAweDdiYzk3YTBjfSwKKyAgIHsweDAwMDAwMDAwLCAweDE3Mjg2NGMwLCAweDJlNTBjOTgwLCAweDM5NzhhZDQwLCAweDVjYTE5MzAwLAorICAgIDB4NGI4OWY3YzAsIDB4NzJmMTVhODAsIDB4NjVkOTNlNDAsIDB4Yjk0MzI2MDAsIDB4YWU2YjQyYzAsCisgICAgMHg5NzEzZWY4MCwgMHg4MDNiOGI0MCwgMHhlNWUyYjUwMCwgMHhmMmNhZDFjMCwgMHhjYmIyN2M4MCwKKyAgICAweGRjOWExODQwLCAweGE5Zjc0YTQxLCAweGJlZGYyZTgxLCAweDg3YTc4M2MxLCAweDkwOGZlNzAxLAorICAgIDB4ZjU1NmQ5NDEsIDB4ZTI3ZWJkODEsIDB4ZGIwNjEwYzEsIDB4Y2MyZTc0MDEsIDB4MTBiNDZjNDEsCisgICAgMHgwNzljMDg4MSwgMHgzZWU0YTVjMSwgMHgyOWNjYzEwMSwgMHg0YzE1ZmY0MSwgMHg1YjNkOWI4MSwKKyAgICAweDYyNDUzNmMxLCAweDc1NmQ1MjAxLCAweDg4OWY5MmMzLCAweDlmYjdmNjAzLCAweGE2Y2Y1YjQzLAorICAgIDB4YjFlNzNmODMsIDB4ZDQzZTAxYzMsIDB4YzMxNjY1MDMsIDB4ZmE2ZWM4NDMsIDB4ZWQ0NmFjODMsCisgICAgMHgzMWRjYjRjMywgMHgyNmY0ZDAwMywgMHgxZjhjN2Q0MywgMHgwOGE0MTk4MywgMHg2ZDdkMjdjMywKKyAgICAweDdhNTU0MzAzLCAweDQzMmRlZTQzLCAweDU0MDU4YTgzLCAweDIxNjhkODgyLCAweDM2NDBiYzQyLAorICAgIDB4MGYzODExMDIsIDB4MTgxMDc1YzIsIDB4N2RjOTRiODIsIDB4NmFlMTJmNDIsIDB4NTM5OTgyMDIsCisgICAgMHg0NGIxZTZjMiwgMHg5ODJiZmU4MiwgMHg4ZjAzOWE0MiwgMHhiNjdiMzcwMiwgMHhhMTUzNTNjMiwKKyAgICAweGM0OGE2ZDgyLCAweGQzYTIwOTQyLCAweGVhZGFhNDAyLCAweGZkZjJjMGMyLCAweGNhNGUyM2M3LAorICAgIDB4ZGQ2NjQ3MDcsIDB4ZTQxZWVhNDcsIDB4ZjMzNjhlODcsIDB4OTZlZmIwYzcsIDB4ODFjN2Q0MDcsCisgICAgMHhiOGJmNzk0NywgMHhhZjk3MWQ4NywgMHg3MzBkMDVjNywgMHg2NDI1NjEwNywgMHg1ZDVkY2M0NywKKyAgICAweDRhNzVhODg3LCAweDJmYWM5NmM3LCAweDM4ODRmMjA3LCAweDAxZmM1ZjQ3LCAweDE2ZDQzYjg3LAorICAgIDB4NjNiOTY5ODYsIDB4NzQ5MTBkNDYsIDB4NGRlOWEwMDYsIDB4NWFjMWM0YzYsIDB4M2YxOGZhODYsCisgICAgMHgyODMwOWU0NiwgMHgxMTQ4MzMwNiwgMHgwNjYwNTdjNiwgMHhkYWZhNGY4NiwgMHhjZGQyMmI0NiwKKyAgICAweGY0YWE4NjA2LCAweGUzODJlMmM2LCAweDg2NWJkYzg2LCAweDkxNzNiODQ2LCAweGE4MGIxNTA2LAorICAgIDB4YmYyMzcxYzYsIDB4NDJkMWIxMDQsIDB4NTVmOWQ1YzQsIDB4NmM4MTc4ODQsIDB4N2JhOTFjNDQsCisgICAgMHgxZTcwMjIwNCwgMHgwOTU4NDZjNCwgMHgzMDIwZWI4NCwgMHgyNzA4OGY0NCwgMHhmYjkyOTcwNCwKKyAgICAweGVjYmFmM2M0LCAweGQ1YzI1ZTg0LCAweGMyZWEzYTQ0LCAweGE3MzMwNDA0LCAweGIwMWI2MGM0LAorICAgIDB4ODk2M2NkODQsIDB4OWU0YmE5NDQsIDB4ZWIyNmZiNDUsIDB4ZmMwZTlmODUsIDB4YzU3NjMyYzUsCisgICAgMHhkMjVlNTYwNSwgMHhiNzg3Njg0NSwgMHhhMGFmMGM4NSwgMHg5OWQ3YTFjNSwgMHg4ZWZmYzUwNSwKKyAgICAweDUyNjVkZDQ1LCAweDQ1NGRiOTg1LCAweDdjMzUxNGM1LCAweDZiMWQ3MDA1LCAweDBlYzQ0ZTQ1LAorICAgIDB4MTllYzJhODUsIDB4MjA5NDg3YzUsIDB4MzdiY2UzMDUsIDB4NGZlZDQxY2YsIDB4NThjNTI1MGYsCisgICAgMHg2MWJkODg0ZiwgMHg3Njk1ZWM4ZiwgMHgxMzRjZDJjZiwgMHgwNDY0YjYwZiwgMHgzZDFjMWI0ZiwKKyAgICAweDJhMzQ3ZjhmLCAweGY2YWU2N2NmLCAweGUxODYwMzBmLCAweGQ4ZmVhZTRmLCAweGNmZDZjYThmLAorICAgIDB4YWEwZmY0Y2YsIDB4YmQyNzkwMGYsIDB4ODQ1ZjNkNGYsIDB4OTM3NzU5OGYsIDB4ZTYxYTBiOGUsCisgICAgMHhmMTMyNmY0ZSwgMHhjODRhYzIwZSwgMHhkZjYyYTZjZSwgMHhiYWJiOTg4ZSwgMHhhZDkzZmM0ZSwKKyAgICAweDk0ZWI1MTBlLCAweDgzYzMzNWNlLCAweDVmNTkyZDhlLCAweDQ4NzE0OTRlLCAweDcxMDllNDBlLAorICAgIDB4NjYyMTgwY2UsIDB4MDNmOGJlOGUsIDB4MTRkMGRhNGUsIDB4MmRhODc3MGUsIDB4M2E4MDEzY2UsCisgICAgMHhjNzcyZDMwYywgMHhkMDVhYjdjYywgMHhlOTIyMWE4YywgMHhmZTBhN2U0YywgMHg5YmQzNDAwYywKKyAgICAweDhjZmIyNGNjLCAweGI1ODM4OThjLCAweGEyYWJlZDRjLCAweDdlMzFmNTBjLCAweDY5MTk5MWNjLAorICAgIDB4NTA2MTNjOGMsIDB4NDc0OTU4NGMsIDB4MjI5MDY2MGMsIDB4MzViODAyY2MsIDB4MGNjMGFmOGMsCisgICAgMHgxYmU4Y2I0YywgMHg2ZTg1OTk0ZCwgMHg3OWFkZmQ4ZCwgMHg0MGQ1NTBjZCwgMHg1N2ZkMzQwZCwKKyAgICAweDMyMjQwYTRkLCAweDI1MGM2ZThkLCAweDFjNzRjM2NkLCAweDBiNWNhNzBkLCAweGQ3YzZiZjRkLAorICAgIDB4YzBlZWRiOGQsIDB4Zjk5Njc2Y2QsIDB4ZWViZTEyMGQsIDB4OGI2NzJjNGQsIDB4OWM0ZjQ4OGQsCisgICAgMHhhNTM3ZTVjZCwgMHhiMjFmODEwZCwgMHg4NWEzNjIwOCwgMHg5MjhiMDZjOCwgMHhhYmYzYWI4OCwKKyAgICAweGJjZGJjZjQ4LCAweGQ5MDJmMTA4LCAweGNlMmE5NWM4LCAweGY3NTIzODg4LCAweGUwN2E1YzQ4LAorICAgIDB4M2NlMDQ0MDgsIDB4MmJjODIwYzgsIDB4MTJiMDhkODgsIDB4MDU5OGU5NDgsIDB4NjA0MWQ3MDgsCisgICAgMHg3NzY5YjNjOCwgMHg0ZTExMWU4OCwgMHg1OTM5N2E0OCwgMHgyYzU0Mjg0OSwgMHgzYjdjNGM4OSwKKyAgICAweDAyMDRlMWM5LCAweDE1MmM4NTA5LCAweDcwZjViYjQ5LCAweDY3ZGRkZjg5LCAweDVlYTU3MmM5LAorICAgIDB4NDk4ZDE2MDksIDB4OTUxNzBlNDksIDB4ODIzZjZhODksIDB4YmI0N2M3YzksIDB4YWM2ZmEzMDksCisgICAgMHhjOWI2OWQ0OSwgMHhkZTllZjk4OSwgMHhlN2U2NTRjOSwgMHhmMGNlMzAwOSwgMHgwZDNjZjBjYiwKKyAgICAweDFhMTQ5NDBiLCAweDIzNmMzOTRiLCAweDM0NDQ1ZDhiLCAweDUxOWQ2M2NiLCAweDQ2YjUwNzBiLAorICAgIDB4N2ZjZGFhNGIsIDB4NjhlNWNlOGIsIDB4YjQ3ZmQ2Y2IsIDB4YTM1N2IyMGIsIDB4OWEyZjFmNGIsCisgICAgMHg4ZDA3N2I4YiwgMHhlOGRlNDVjYiwgMHhmZmY2MjEwYiwgMHhjNjhlOGM0YiwgMHhkMWE2ZTg4YiwKKyAgICAweGE0Y2JiYThhLCAweGIzZTNkZTRhLCAweDhhOWI3MzBhLCAweDlkYjMxN2NhLCAweGY4NmEyOThhLAorICAgIDB4ZWY0MjRkNGEsIDB4ZDYzYWUwMGEsIDB4YzExMjg0Y2EsIDB4MWQ4ODljOGEsIDB4MGFhMGY4NGEsCisgICAgMHgzM2Q4NTUwYSwgMHgyNGYwMzFjYSwgMHg0MTI5MGY4YSwgMHg1NjAxNmI0YSwgMHg2Zjc5YzYwYSwKKyAgICAweDc4NTFhMmNhfSwKKyAgIHsweDAwMDAwMDAwLCAweDlmZGE4MzllLCAweGU0YzQwMTdkLCAweDdiMWU4MmUzLCAweDEyZjkwNGJiLAorICAgIDB4OGQyMzg3MjUsIDB4ZjYzZDA1YzYsIDB4NjllNzg2NTgsIDB4MjVmMjA5NzYsIDB4YmEyODhhZTgsCisgICAgMHhjMTM2MDgwYiwgMHg1ZWVjOGI5NSwgMHgzNzBiMGRjZCwgMHhhOGQxOGU1MywgMHhkM2NmMGNiMCwKKyAgICAweDRjMTU4ZjJlLCAweDRiZTQxMmVjLCAweGQ0M2U5MTcyLCAweGFmMjAxMzkxLCAweDMwZmE5MDBmLAorICAgIDB4NTkxZDE2NTcsIDB4YzZjNzk1YzksIDB4YmRkOTE3MmEsIDB4MjIwMzk0YjQsIDB4NmUxNjFiOWEsCisgICAgMHhmMWNjOTgwNCwgMHg4YWQyMWFlNywgMHgxNTA4OTk3OSwgMHg3Y2VmMWYyMSwgMHhlMzM1OWNiZiwKKyAgICAweDk4MmIxZTVjLCAweDA3ZjE5ZGMyLCAweDk3YzgyNWQ4LCAweDA4MTJhNjQ2LCAweDczMGMyNGE1LAorICAgIDB4ZWNkNmE3M2IsIDB4ODUzMTIxNjMsIDB4MWFlYmEyZmQsIDB4NjFmNTIwMWUsIDB4ZmUyZmEzODAsCisgICAgMHhiMjNhMmNhZSwgMHgyZGUwYWYzMCwgMHg1NmZlMmRkMywgMHhjOTI0YWU0ZCwgMHhhMGMzMjgxNSwKKyAgICAweDNmMTlhYjhiLCAweDQ0MDcyOTY4LCAweGRiZGRhYWY2LCAweGRjMmMzNzM0LCAweDQzZjZiNGFhLAorICAgIDB4MzhlODM2NDksIDB4YTczMmI1ZDcsIDB4Y2VkNTMzOGYsIDB4NTEwZmIwMTEsIDB4MmExMTMyZjIsCisgICAgMHhiNWNiYjE2YywgMHhmOWRlM2U0MiwgMHg2NjA0YmRkYywgMHgxZDFhM2YzZiwgMHg4MmMwYmNhMSwKKyAgICAweGViMjczYWY5LCAweDc0ZmRiOTY3LCAweDBmZTMzYjg0LCAweDkwMzliODFhLCAweGY0ZTE0ZGYxLAorICAgIDB4NmIzYmNlNmYsIDB4MTAyNTRjOGMsIDB4OGZmZmNmMTIsIDB4ZTYxODQ5NGEsIDB4NzljMmNhZDQsCisgICAgMHgwMmRjNDgzNywgMHg5ZDA2Y2JhOSwgMHhkMTEzNDQ4NywgMHg0ZWM5YzcxOSwgMHgzNWQ3NDVmYSwKKyAgICAweGFhMGRjNjY0LCAweGMzZWE0MDNjLCAweDVjMzBjM2EyLCAweDI3MmU0MTQxLCAweGI4ZjRjMmRmLAorICAgIDB4YmYwNTVmMWQsIDB4MjBkZmRjODMsIDB4NWJjMTVlNjAsIDB4YzQxYmRkZmUsIDB4YWRmYzViYTYsCisgICAgMHgzMjI2ZDgzOCwgMHg0OTM4NWFkYiwgMHhkNmUyZDk0NSwgMHg5YWY3NTY2YiwgMHgwNTJkZDVmNSwKKyAgICAweDdlMzM1NzE2LCAweGUxZTlkNDg4LCAweDg4MGU1MmQwLCAweDE3ZDRkMTRlLCAweDZjY2E1M2FkLAorICAgIDB4ZjMxMGQwMzMsIDB4NjMyOTY4MjksIDB4ZmNmM2ViYjcsIDB4ODdlZDY5NTQsIDB4MTgzN2VhY2EsCisgICAgMHg3MWQwNmM5MiwgMHhlZTBhZWYwYywgMHg5NTE0NmRlZiwgMHgwYWNlZWU3MSwgMHg0NmRiNjE1ZiwKKyAgICAweGQ5MDFlMmMxLCAweGEyMWY2MDIyLCAweDNkYzVlM2JjLCAweDU0MjI2NWU0LCAweGNiZjhlNjdhLAorICAgIDB4YjBlNjY0OTksIDB4MmYzY2U3MDcsIDB4MjhjZDdhYzUsIDB4YjcxN2Y5NWIsIDB4Y2MwOTdiYjgsCisgICAgMHg1M2QzZjgyNiwgMHgzYTM0N2U3ZSwgMHhhNWVlZmRlMCwgMHhkZWYwN2YwMywgMHg0MTJhZmM5ZCwKKyAgICAweDBkM2Y3M2IzLCAweDkyZTVmMDJkLCAweGU5ZmI3MmNlLCAweDc2MjFmMTUwLCAweDFmYzY3NzA4LAorICAgIDB4ODAxY2Y0OTYsIDB4ZmIwMjc2NzUsIDB4NjRkOGY1ZWIsIDB4MzJiMzlkYTMsIDB4YWQ2OTFlM2QsCisgICAgMHhkNjc3OWNkZSwgMHg0OWFkMWY0MCwgMHgyMDRhOTkxOCwgMHhiZjkwMWE4NiwgMHhjNDhlOTg2NSwKKyAgICAweDViNTQxYmZiLCAweDE3NDE5NGQ1LCAweDg4OWIxNzRiLCAweGYzODU5NWE4LCAweDZjNWYxNjM2LAorICAgIDB4MDViODkwNmUsIDB4OWE2MjEzZjAsIDB4ZTE3YzkxMTMsIDB4N2VhNjEyOGQsIDB4Nzk1NzhmNGYsCisgICAgMHhlNjhkMGNkMSwgMHg5ZDkzOGUzMiwgMHgwMjQ5MGRhYywgMHg2YmFlOGJmNCwgMHhmNDc0MDg2YSwKKyAgICAweDhmNmE4YTg5LCAweDEwYjAwOTE3LCAweDVjYTU4NjM5LCAweGMzN2YwNWE3LCAweGI4NjE4NzQ0LAorICAgIDB4MjdiYjA0ZGEsIDB4NGU1YzgyODIsIDB4ZDE4NjAxMWMsIDB4YWE5ODgzZmYsIDB4MzU0MjAwNjEsCisgICAgMHhhNTdiYjg3YiwgMHgzYWExM2JlNSwgMHg0MWJmYjkwNiwgMHhkZTY1M2E5OCwgMHhiNzgyYmNjMCwKKyAgICAweDI4NTgzZjVlLCAweDUzNDZiZGJkLCAweGNjOWMzZTIzLCAweDgwODliMTBkLCAweDFmNTMzMjkzLAorICAgIDB4NjQ0ZGIwNzAsIDB4ZmI5NzMzZWUsIDB4OTI3MGI1YjYsIDB4MGRhYTM2MjgsIDB4NzZiNGI0Y2IsCisgICAgMHhlOTZlMzc1NSwgMHhlZTlmYWE5NywgMHg3MTQ1MjkwOSwgMHgwYTViYWJlYSwgMHg5NTgxMjg3NCwKKyAgICAweGZjNjZhZTJjLCAweDYzYmMyZGIyLCAweDE4YTJhZjUxLCAweDg3NzgyY2NmLCAweGNiNmRhM2UxLAorICAgIDB4NTRiNzIwN2YsIDB4MmZhOWEyOWMsIDB4YjA3MzIxMDIsIDB4ZDk5NGE3NWEsIDB4NDY0ZTI0YzQsCisgICAgMHgzZDUwYTYyNywgMHhhMjhhMjViOSwgMHhjNjUyZDA1MiwgMHg1OTg4NTNjYywgMHgyMjk2ZDEyZiwKKyAgICAweGJkNGM1MmIxLCAweGQ0YWJkNGU5LCAweDRiNzE1Nzc3LCAweDMwNmZkNTk0LCAweGFmYjU1NjBhLAorICAgIDB4ZTNhMGQ5MjQsIDB4N2M3YTVhYmEsIDB4MDc2NGQ4NTksIDB4OThiZTViYzcsIDB4ZjE1OWRkOWYsCisgICAgMHg2ZTgzNWUwMSwgMHgxNTlkZGNlMiwgMHg4YTQ3NWY3YywgMHg4ZGI2YzJiZSwgMHgxMjZjNDEyMCwKKyAgICAweDY5NzJjM2MzLCAweGY2YTg0MDVkLCAweDlmNGZjNjA1LCAweDAwOTU0NTliLCAweDdiOGJjNzc4LAorICAgIDB4ZTQ1MTQ0ZTYsIDB4YTg0NGNiYzgsIDB4Mzc5ZTQ4NTYsIDB4NGM4MGNhYjUsIDB4ZDM1YTQ5MmIsCisgICAgMHhiYWJkY2Y3MywgMHgyNTY3NGNlZCwgMHg1ZTc5Y2UwZSwgMHhjMWEzNGQ5MCwgMHg1MTlhZjU4YSwKKyAgICAweGNlNDA3NjE0LCAweGI1NWVmNGY3LCAweDJhODQ3NzY5LCAweDQzNjNmMTMxLCAweGRjYjk3MmFmLAorICAgIDB4YTdhN2YwNGMsIDB4Mzg3ZDczZDIsIDB4NzQ2OGZjZmMsIDB4ZWJiMjdmNjIsIDB4OTBhY2ZkODEsCisgICAgMHgwZjc2N2UxZiwgMHg2NjkxZjg0NywgMHhmOTRiN2JkOSwgMHg4MjU1ZjkzYSwgMHgxZDhmN2FhNCwKKyAgICAweDFhN2VlNzY2LCAweDg1YTQ2NGY4LCAweGZlYmFlNjFiLCAweDYxNjA2NTg1LCAweDA4ODdlM2RkLAorICAgIDB4OTc1ZDYwNDMsIDB4ZWM0M2UyYTAsIDB4NzM5OTYxM2UsIDB4M2Y4Y2VlMTAsIDB4YTA1NjZkOGUsCisgICAgMHhkYjQ4ZWY2ZCwgMHg0NDkyNmNmMywgMHgyZDc1ZWFhYiwgMHhiMmFmNjkzNSwgMHhjOWIxZWJkNiwKKyAgICAweDU2NmI2ODQ4fSwKKyAgIHsweDAwMDAwMDAwLCAweDY1NjczYjQ2LCAweGNhY2U3NjhjLCAweGFmYTk0ZGNhLCAweDRlZWRlYjU5LAorICAgIDB4MmI4YWQwMWYsIDB4ODQyMzlkZDUsIDB4ZTE0NGE2OTMsIDB4OWRkYmQ2YjIsIDB4ZjhiY2VkZjQsCisgICAgMHg1NzE1YTAzZSwgMHgzMjcyOWI3OCwgMHhkMzM2M2RlYiwgMHhiNjUxMDZhZCwgMHgxOWY4NGI2NywKKyAgICAweDdjOWY3MDIxLCAweGUwYzZhYjI1LCAweDg1YTE5MDYzLCAweDJhMDhkZGE5LCAweDRmNmZlNmVmLAorICAgIDB4YWUyYjQwN2MsIDB4Y2I0YzdiM2EsIDB4NjRlNTM2ZjAsIDB4MDE4MjBkYjYsIDB4N2QxZDdkOTcsCisgICAgMHgxODdhNDZkMSwgMHhiN2QzMGIxYiwgMHhkMmI0MzA1ZCwgMHgzM2YwOTZjZSwgMHg1Njk3YWQ4OCwKKyAgICAweGY5M2VlMDQyLCAweDljNTlkYjA0LCAweDFhZmM1MDBiLCAweDdmOWI2YjRkLCAweGQwMzIyNjg3LAorICAgIDB4YjU1NTFkYzEsIDB4NTQxMWJiNTIsIDB4MzE3NjgwMTQsIDB4OWVkZmNkZGUsIDB4ZmJiOGY2OTgsCisgICAgMHg4NzI3ODZiOSwgMHhlMjQwYmRmZiwgMHg0ZGU5ZjAzNSwgMHgyODhlY2I3MywgMHhjOWNhNmRlMCwKKyAgICAweGFjYWQ1NmE2LCAweDAzMDQxYjZjLCAweDY2NjMyMDJhLCAweGZhM2FmYjJlLCAweDlmNWRjMDY4LAorICAgIDB4MzBmNDhkYTIsIDB4NTU5M2I2ZTQsIDB4YjRkNzEwNzcsIDB4ZDFiMDJiMzEsIDB4N2UxOTY2ZmIsCisgICAgMHgxYjdlNWRiZCwgMHg2N2UxMmQ5YywgMHgwMjg2MTZkYSwgMHhhZDJmNWIxMCwgMHhjODQ4NjA1NiwKKyAgICAweDI5MGNjNmM1LCAweDRjNmJmZDgzLCAweGUzYzJiMDQ5LCAweDg2YTU4YjBmLCAweDM1ZjhhMDE2LAorICAgIDB4NTA5ZjliNTAsIDB4ZmYzNmQ2OWEsIDB4OWE1MWVkZGMsIDB4N2IxNTRiNGYsIDB4MWU3MjcwMDksCisgICAgMHhiMWRiM2RjMywgMHhkNGJjMDY4NSwgMHhhODIzNzZhNCwgMHhjZDQ0NGRlMiwgMHg2MmVkMDAyOCwKKyAgICAweDA3OGEzYjZlLCAweGU2Y2U5ZGZkLCAweDgzYTlhNmJiLCAweDJjMDBlYjcxLCAweDQ5NjdkMDM3LAorICAgIDB4ZDUzZTBiMzMsIDB4YjA1OTMwNzUsIDB4MWZmMDdkYmYsIDB4N2E5NzQ2ZjksIDB4OWJkM2UwNmEsCisgICAgMHhmZWI0ZGIyYywgMHg1MTFkOTZlNiwgMHgzNDdhYWRhMCwgMHg0OGU1ZGQ4MSwgMHgyZDgyZTZjNywKKyAgICAweDgyMmJhYjBkLCAweGU3NGM5MDRiLCAweDA2MDgzNmQ4LCAweDYzNmYwZDllLCAweGNjYzY0MDU0LAorICAgIDB4YTlhMTdiMTIsIDB4MmYwNGYwMWQsIDB4NGE2M2NiNWIsIDB4ZTVjYTg2OTEsIDB4ODBhZGJkZDcsCisgICAgMHg2MWU5MWI0NCwgMHgwNDhlMjAwMiwgMHhhYjI3NmRjOCwgMHhjZTQwNTY4ZSwgMHhiMmRmMjZhZiwKKyAgICAweGQ3YjgxZGU5LCAweDc4MTE1MDIzLCAweDFkNzY2YjY1LCAweGZjMzJjZGY2LCAweDk5NTVmNmIwLAorICAgIDB4MzZmY2JiN2EsIDB4NTM5YjgwM2MsIDB4Y2ZjMjViMzgsIDB4YWFhNTYwN2UsIDB4MDUwYzJkYjQsCisgICAgMHg2MDZiMTZmMiwgMHg4MTJmYjA2MSwgMHhlNDQ4OGIyNywgMHg0YmUxYzZlZCwgMHgyZTg2ZmRhYiwKKyAgICAweDUyMTk4ZDhhLCAweDM3N2ViNmNjLCAweDk4ZDdmYjA2LCAweGZkYjBjMDQwLCAweDFjZjQ2NmQzLAorICAgIDB4Nzk5MzVkOTUsIDB4ZDYzYTEwNWYsIDB4YjM1ZDJiMTksIDB4NmJmMTQwMmMsIDB4MGU5NjdiNmEsCisgICAgMHhhMTNmMzZhMCwgMHhjNDU4MGRlNiwgMHgyNTFjYWI3NSwgMHg0MDdiOTAzMywgMHhlZmQyZGRmOSwKKyAgICAweDhhYjVlNmJmLCAweGY2MmE5NjllLCAweDkzNGRhZGQ4LCAweDNjZTRlMDEyLCAweDU5ODNkYjU0LAorICAgIDB4YjhjNzdkYzcsIDB4ZGRhMDQ2ODEsIDB4NzIwOTBiNGIsIDB4MTc2ZTMwMGQsIDB4OGIzN2ViMDksCisgICAgMHhlZTUwZDA0ZiwgMHg0MWY5OWQ4NSwgMHgyNDllYTZjMywgMHhjNWRhMDA1MCwgMHhhMGJkM2IxNiwKKyAgICAweDBmMTQ3NmRjLCAweDZhNzM0ZDlhLCAweDE2ZWMzZGJiLCAweDczOGIwNmZkLCAweGRjMjI0YjM3LAorICAgIDB4Yjk0NTcwNzEsIDB4NTgwMWQ2ZTIsIDB4M2Q2NmVkYTQsIDB4OTJjZmEwNmUsIDB4ZjdhODliMjgsCisgICAgMHg3MTBkMTAyNywgMHgxNDZhMmI2MSwgMHhiYmMzNjZhYiwgMHhkZWE0NWRlZCwgMHgzZmUwZmI3ZSwKKyAgICAweDVhODdjMDM4LCAweGY1MmU4ZGYyLCAweDkwNDliNmI0LCAweGVjZDZjNjk1LCAweDg5YjFmZGQzLAorICAgIDB4MjYxOGIwMTksIDB4NDM3ZjhiNWYsIDB4YTIzYjJkY2MsIDB4Yzc1YzE2OGEsIDB4NjhmNTViNDAsCisgICAgMHgwZDkyNjAwNiwgMHg5MWNiYmIwMiwgMHhmNGFjODA0NCwgMHg1YjA1Y2Q4ZSwgMHgzZTYyZjZjOCwKKyAgICAweGRmMjY1MDViLCAweGJhNDE2YjFkLCAweDE1ZTgyNmQ3LCAweDcwOGYxZDkxLCAweDBjMTA2ZGIwLAorICAgIDB4Njk3NzU2ZjYsIDB4YzZkZTFiM2MsIDB4YTNiOTIwN2EsIDB4NDJmZDg2ZTksIDB4Mjc5YWJkYWYsCisgICAgMHg4ODMzZjA2NSwgMHhlZDU0Y2IyMywgMHg1ZTA5ZTAzYSwgMHgzYjZlZGI3YywgMHg5NGM3OTZiNiwKKyAgICAweGYxYTBhZGYwLCAweDEwZTQwYjYzLCAweDc1ODMzMDI1LCAweGRhMmE3ZGVmLCAweGJmNGQ0NmE5LAorICAgIDB4YzNkMjM2ODgsIDB4YTZiNTBkY2UsIDB4MDkxYzQwMDQsIDB4NmM3YjdiNDIsIDB4OGQzZmRkZDEsCisgICAgMHhlODU4ZTY5NywgMHg0N2YxYWI1ZCwgMHgyMjk2OTAxYiwgMHhiZWNmNGIxZiwgMHhkYmE4NzA1OSwKKyAgICAweDc0MDEzZDkzLCAweDExNjYwNmQ1LCAweGYwMjJhMDQ2LCAweDk1NDU5YjAwLCAweDNhZWNkNmNhLAorICAgIDB4NWY4YmVkOGMsIDB4MjMxNDlkYWQsIDB4NDY3M2E2ZWIsIDB4ZTlkYWViMjEsIDB4OGNiZGQwNjcsCisgICAgMHg2ZGY5NzZmNCwgMHgwODllNGRiMiwgMHhhNzM3MDA3OCwgMHhjMjUwM2IzZSwgMHg0NGY1YjAzMSwKKyAgICAweDIxOTI4Yjc3LCAweDhlM2JjNmJkLCAweGViNWNmZGZiLCAweDBhMTg1YjY4LCAweDZmN2Y2MDJlLAorICAgIDB4YzBkNjJkZTQsIDB4YTViMTE2YTIsIDB4ZDkyZTY2ODMsIDB4YmM0OTVkYzUsIDB4MTNlMDEwMGYsCisgICAgMHg3Njg3MmI0OSwgMHg5N2MzOGRkYSwgMHhmMmE0YjY5YywgMHg1ZDBkZmI1NiwgMHgzODZhYzAxMCwKKyAgICAweGE0MzMxYjE0LCAweGMxNTQyMDUyLCAweDZlZmQ2ZDk4LCAweDBiOWE1NmRlLCAweGVhZGVmMDRkLAorICAgIDB4OGZiOWNiMGIsIDB4MjAxMDg2YzEsIDB4NDU3N2JkODcsIDB4MzllOGNkYTYsIDB4NWM4ZmY2ZTAsCisgICAgMHhmMzI2YmIyYSwgMHg5NjQxODA2YywgMHg3NzA1MjZmZiwgMHgxMjYyMWRiOSwgMHhiZGNiNTA3MywKKyAgICAweGQ4YWM2YjM1fSwKKyAgIHsweDAwMDAwMDAwLCAweGQ3ZTI4MDU4LCAweDc0YjQwNmYxLCAweGEzNTY4NmE5LCAweGU5NjgwZGUyLAorICAgIDB4M2U4YThkYmEsIDB4OWRkYzBiMTMsIDB4NGEzZThiNGIsIDB4MDlhMTFkODUsIDB4ZGU0MzlkZGQsCisgICAgMHg3ZDE1MWI3NCwgMHhhYWY3OWIyYywgMHhlMGM5MTA2NywgMHgzNzJiOTAzZiwgMHg5NDdkMTY5NiwKKyAgICAweDQzOWY5NmNlLCAweDEzNDIzYjBhLCAweGM0YTBiYjUyLCAweDY3ZjYzZGZiLCAweGIwMTRiZGEzLAorICAgIDB4ZmEyYTM2ZTgsIDB4MmRjOGI2YjAsIDB4OGU5ZTMwMTksIDB4NTk3Y2IwNDEsIDB4MWFlMzI2OGYsCisgICAgMHhjZDAxYTZkNywgMHg2ZTU3MjA3ZSwgMHhiOWI1YTAyNiwgMHhmMzhiMmI2ZCwgMHgyNDY5YWIzNSwKKyAgICAweDg3M2YyZDljLCAweDUwZGRhZGM0LCAweDI2ODQ3NjE0LCAweGYxNjZmNjRjLCAweDUyMzA3MGU1LAorICAgIDB4ODVkMmYwYmQsIDB4Y2ZlYzdiZjYsIDB4MTgwZWZiYWUsIDB4YmI1ODdkMDcsIDB4NmNiYWZkNWYsCisgICAgMHgyZjI1NmI5MSwgMHhmOGM3ZWJjOSwgMHg1YjkxNmQ2MCwgMHg4YzczZWQzOCwgMHhjNjRkNjY3MywKKyAgICAweDExYWZlNjJiLCAweGIyZjk2MDgyLCAweDY1MWJlMGRhLCAweDM1YzY0ZDFlLCAweGUyMjRjZDQ2LAorICAgIDB4NDE3MjRiZWYsIDB4OTY5MGNiYjcsIDB4ZGNhZTQwZmMsIDB4MGI0Y2MwYTQsIDB4YTgxYTQ2MGQsCisgICAgMHg3ZmY4YzY1NSwgMHgzYzY3NTA5YiwgMHhlYjg1ZDBjMywgMHg0OGQzNTY2YSwgMHg5ZjMxZDYzMiwKKyAgICAweGQ1MGY1ZDc5LCAweDAyZWRkZDIxLCAweGExYmI1Yjg4LCAweDc2NTlkYmQwLCAweDRkMDhlYzI4LAorICAgIDB4OWFlYTZjNzAsIDB4MzliY2VhZDksIDB4ZWU1ZTZhODEsIDB4YTQ2MGUxY2EsIDB4NzM4MjYxOTIsCisgICAgMHhkMGQ0ZTczYiwgMHgwNzM2Njc2MywgMHg0NGE5ZjFhZCwgMHg5MzRiNzFmNSwgMHgzMDFkZjc1YywKKyAgICAweGU3ZmY3NzA0LCAweGFkYzFmYzRmLCAweDdhMjM3YzE3LCAweGQ5NzVmYWJlLCAweDBlOTc3YWU2LAorICAgIDB4NWU0YWQ3MjIsIDB4ODlhODU3N2EsIDB4MmFmZWQxZDMsIDB4ZmQxYzUxOGIsIDB4YjcyMmRhYzAsCisgICAgMHg2MGMwNWE5OCwgMHhjMzk2ZGMzMSwgMHgxNDc0NWM2OSwgMHg1N2ViY2FhNywgMHg4MDA5NGFmZiwKKyAgICAweDIzNWZjYzU2LCAweGY0YmQ0YzBlLCAweGJlODNjNzQ1LCAweDY5NjE0NzFkLCAweGNhMzdjMWI0LAorICAgIDB4MWRkNTQxZWMsIDB4NmI4YzlhM2MsIDB4YmM2ZTFhNjQsIDB4MWYzODljY2QsIDB4YzhkYTFjOTUsCisgICAgMHg4MmU0OTdkZSwgMHg1NTA2MTc4NiwgMHhmNjUwOTEyZiwgMHgyMWIyMTE3NywgMHg2MjJkODdiOSwKKyAgICAweGI1Y2YwN2UxLCAweDE2OTk4MTQ4LCAweGMxN2IwMTEwLCAweDhiNDU4YTViLCAweDVjYTcwYTAzLAorICAgIDB4ZmZmMThjYWEsIDB4MjgxMzBjZjIsIDB4NzhjZWExMzYsIDB4YWYyYzIxNmUsIDB4MGM3YWE3YzcsCisgICAgMHhkYjk4Mjc5ZiwgMHg5MWE2YWNkNCwgMHg0NjQ0MmM4YywgMHhlNTEyYWEyNSwgMHgzMmYwMmE3ZCwKKyAgICAweDcxNmZiY2IzLCAweGE2OGQzY2ViLCAweDA1ZGJiYTQyLCAweGQyMzkzYTFhLCAweDk4MDdiMTUxLAorICAgIDB4NGZlNTMxMDksIDB4ZWNiM2I3YTAsIDB4M2I1MTM3ZjgsIDB4OWExMWQ4NTAsIDB4NGRmMzU4MDgsCisgICAgMHhlZWE1ZGVhMSwgMHgzOTQ3NWVmOSwgMHg3Mzc5ZDViMiwgMHhhNDliNTVlYSwgMHgwN2NkZDM0MywKKyAgICAweGQwMmY1MzFiLCAweDkzYjBjNWQ1LCAweDQ0NTI0NThkLCAweGU3MDRjMzI0LCAweDMwZTY0MzdjLAorICAgIDB4N2FkOGM4MzcsIDB4YWQzYTQ4NmYsIDB4MGU2Y2NlYzYsIDB4ZDk4ZTRlOWUsIDB4ODk1M2UzNWEsCisgICAgMHg1ZWIxNjMwMiwgMHhmZGU3ZTVhYiwgMHgyYTA1NjVmMywgMHg2MDNiZWViOCwgMHhiN2Q5NmVlMCwKKyAgICAweDE0OGZlODQ5LCAweGMzNmQ2ODExLCAweDgwZjJmZWRmLCAweDU3MTA3ZTg3LCAweGY0NDZmODJlLAorICAgIDB4MjNhNDc4NzYsIDB4Njk5YWYzM2QsIDB4YmU3ODczNjUsIDB4MWQyZWY1Y2MsIDB4Y2FjYzc1OTQsCisgICAgMHhiYzk1YWU0NCwgMHg2Yjc3MmUxYywgMHhjODIxYThiNSwgMHgxZmMzMjhlZCwgMHg1NWZkYTNhNiwKKyAgICAweDgyMWYyM2ZlLCAweDIxNDlhNTU3LCAweGY2YWIyNTBmLCAweGI1MzRiM2MxLCAweDYyZDYzMzk5LAorICAgIDB4YzE4MGI1MzAsIDB4MTY2MjM1NjgsIDB4NWM1Y2JlMjMsIDB4OGJiZTNlN2IsIDB4MjhlOGI4ZDIsCisgICAgMHhmZjBhMzg4YSwgMHhhZmQ3OTU0ZSwgMHg3ODM1MTUxNiwgMHhkYjYzOTNiZiwgMHgwYzgxMTNlNywKKyAgICAweDQ2YmY5OGFjLCAweDkxNWQxOGY0LCAweDMyMGI5ZTVkLCAweGU1ZTkxZTA1LCAweGE2NzY4OGNiLAorICAgIDB4NzE5NDA4OTMsIDB4ZDJjMjhlM2EsIDB4MDUyMDBlNjIsIDB4NGYxZTg1MjksIDB4OThmYzA1NzEsCisgICAgMHgzYmFhODNkOCwgMHhlYzQ4MDM4MCwgMHhkNzE5MzQ3OCwgMHgwMGZiYjQyMCwgMHhhM2FkMzI4OSwKKyAgICAweDc0NGZiMmQxLCAweDNlNzEzOTlhLCAweGU5OTNiOWMyLCAweDRhYzUzZjZiLCAweDlkMjdiZjMzLAorICAgIDB4ZGViODI5ZmQsIDB4MDk1YWE5YTUsIDB4YWEwYzJmMGMsIDB4N2RlZWFmNTQsIDB4MzdkMDI0MWYsCisgICAgMHhlMDMyYTQ0NywgMHg0MzY0MjJlZSwgMHg5NDg2YTJiNiwgMHhjNDViMGY3MiwgMHgxM2I5OGYyYSwKKyAgICAweGIwZWYwOTgzLCAweDY3MGQ4OWRiLCAweDJkMzMwMjkwLCAweGZhZDE4MmM4LCAweDU5ODcwNDYxLAorICAgIDB4OGU2NTg0MzksIDB4Y2RmYTEyZjcsIDB4MWExODkyYWYsIDB4Yjk0ZTE0MDYsIDB4NmVhYzk0NWUsCisgICAgMHgyNDkyMWYxNSwgMHhmMzcwOWY0ZCwgMHg1MDI2MTllNCwgMHg4N2M0OTliYywgMHhmMTlkNDI2YywKKyAgICAweDI2N2ZjMjM0LCAweDg1Mjk0NDlkLCAweDUyY2JjNGM1LCAweDE4ZjU0ZjhlLCAweGNmMTdjZmQ2LAorICAgIDB4NmM0MTQ5N2YsIDB4YmJhM2M5MjcsIDB4ZjgzYzVmZTksIDB4MmZkZWRmYjEsIDB4OGM4ODU5MTgsCisgICAgMHg1YjZhZDk0MCwgMHgxMTU0NTIwYiwgMHhjNmI2ZDI1MywgMHg2NWUwNTRmYSwgMHhiMjAyZDRhMiwKKyAgICAweGUyZGY3OTY2LCAweDM1M2RmOTNlLCAweDk2NmI3Zjk3LCAweDQxODlmZmNmLCAweDBiYjc3NDg0LAorICAgIDB4ZGM1NWY0ZGMsIDB4N2YwMzcyNzUsIDB4YThlMWYyMmQsIDB4ZWI3ZTY0ZTMsIDB4M2M5Y2U0YmIsCisgICAgMHg5ZmNhNjIxMiwgMHg0ODI4ZTI0YSwgMHgwMjE2NjkwMSwgMHhkNWY0ZTk1OSwgMHg3NmEyNmZmMCwKKyAgICAweGExNDBlZmE4fSwKKyAgIHsweDAwMDAwMDAwLCAweGVmNTJiNmUxLCAweDA1ZDQ2YjgzLCAweGVhODZkZDYyLCAweDBiYThkNzA2LAorICAgIDB4ZTRmYTYxZTcsIDB4MGU3Y2JjODUsIDB4ZTEyZTBhNjQsIDB4MTc1MWFlMGMsIDB4ZjgwMzE4ZWQsCisgICAgMHgxMjg1YzU4ZiwgMHhmZGQ3NzM2ZSwgMHgxY2Y5NzkwYSwgMHhmM2FiY2ZlYiwgMHgxOTJkMTI4OSwKKyAgICAweGY2N2ZhNDY4LCAweDJlYTM1YzE4LCAweGMxZjFlYWY5LCAweDJiNzczNzliLCAweGM0MjU4MTdhLAorICAgIDB4MjUwYjhiMWUsIDB4Y2E1OTNkZmYsIDB4MjBkZmUwOWQsIDB4Y2Y4ZDU2N2MsIDB4MzlmMmYyMTQsCisgICAgMHhkNmEwNDRmNSwgMHgzYzI2OTk5NywgMHhkMzc0MmY3NiwgMHgzMjVhMjUxMiwgMHhkZDA4OTNmMywKKyAgICAweDM3OGU0ZTkxLCAweGQ4ZGNmODcwLCAweDVkNDZiODMwLCAweGIyMTQwZWQxLCAweDU4OTJkM2IzLAorICAgIDB4YjdjMDY1NTIsIDB4NTZlZTZmMzYsIDB4YjliY2Q5ZDcsIDB4NTMzYTA0YjUsIDB4YmM2OGIyNTQsCisgICAgMHg0YTE3MTYzYywgMHhhNTQ1YTBkZCwgMHg0ZmMzN2RiZiwgMHhhMDkxY2I1ZSwgMHg0MWJmYzEzYSwKKyAgICAweGFlZWQ3N2RiLCAweDQ0NmJhYWI5LCAweGFiMzkxYzU4LCAweDczZTVlNDI4LCAweDljYjc1MmM5LAorICAgIDB4NzYzMThmYWIsIDB4OTk2MzM5NGEsIDB4Nzg0ZDMzMmUsIDB4OTcxZjg1Y2YsIDB4N2Q5OTU4YWQsCisgICAgMHg5MmNiZWU0YywgMHg2NGI0NGEyNCwgMHg4YmU2ZmNjNSwgMHg2MTYwMjFhNywgMHg4ZTMyOTc0NiwKKyAgICAweDZmMWM5ZDIyLCAweDgwNGUyYmMzLCAweDZhYzhmNmExLCAweDg1OWE0MDQwLCAweGJhOGQ3MDYwLAorICAgIDB4NTVkZmM2ODEsIDB4YmY1OTFiZTMsIDB4NTAwYmFkMDIsIDB4YjEyNWE3NjYsIDB4NWU3NzExODcsCisgICAgMHhiNGYxY2NlNSwgMHg1YmEzN2EwNCwgMHhhZGRjZGU2YywgMHg0MjhlNjg4ZCwgMHhhODA4YjVlZiwKKyAgICAweDQ3NWEwMzBlLCAweGE2NzQwOTZhLCAweDQ5MjZiZjhiLCAweGEzYTA2MmU5LCAweDRjZjJkNDA4LAorICAgIDB4OTQyZTJjNzgsIDB4N2I3YzlhOTksIDB4OTFmYTQ3ZmIsIDB4N2VhOGYxMWEsIDB4OWY4NmZiN2UsCisgICAgMHg3MGQ0NGQ5ZiwgMHg5YTUyOTBmZCwgMHg3NTAwMjYxYywgMHg4MzdmODI3NCwgMHg2YzJkMzQ5NSwKKyAgICAweDg2YWJlOWY3LCAweDY5Zjk1ZjE2LCAweDg4ZDc1NTcyLCAweDY3ODVlMzkzLCAweDhkMDMzZWYxLAorICAgIDB4NjI1MTg4MTAsIDB4ZTdjYmM4NTAsIDB4MDg5OTdlYjEsIDB4ZTIxZmEzZDMsIDB4MGQ0ZDE1MzIsCisgICAgMHhlYzYzMWY1NiwgMHgwMzMxYTliNywgMHhlOWI3NzRkNSwgMHgwNmU1YzIzNCwgMHhmMDlhNjY1YywKKyAgICAweDFmYzhkMGJkLCAweGY1NGUwZGRmLCAweDFhMWNiYjNlLCAweGZiMzJiMTVhLCAweDE0NjAwN2JiLAorICAgIDB4ZmVlNmRhZDksIDB4MTFiNDZjMzgsIDB4Yzk2ODk0NDgsIDB4MjYzYTIyYTksIDB4Y2NiY2ZmY2IsCisgICAgMHgyM2VlNDkyYSwgMHhjMmMwNDM0ZSwgMHgyZDkyZjVhZiwgMHhjNzE0MjhjZCwgMHgyODQ2OWUyYywKKyAgICAweGRlMzkzYTQ0LCAweDMxNmI4Y2E1LCAweGRiZWQ1MWM3LCAweDM0YmZlNzI2LCAweGQ1OTFlZDQyLAorICAgIDB4M2FjMzViYTMsIDB4ZDA0NTg2YzEsIDB4M2YxNzMwMjAsIDB4YWU2YmU2ODEsIDB4NDEzOTUwNjAsCisgICAgMHhhYmJmOGQwMiwgMHg0NGVkM2JlMywgMHhhNWMzMzE4NywgMHg0YTkxODc2NiwgMHhhMDE3NWEwNCwKKyAgICAweDRmNDVlY2U1LCAweGI5M2E0ODhkLCAweDU2NjhmZTZjLCAweGJjZWUyMzBlLCAweDUzYmM5NWVmLAorICAgIDB4YjI5MjlmOGIsIDB4NWRjMDI5NmEsIDB4Yjc0NmY0MDgsIDB4NTgxNDQyZTksIDB4ODBjOGJhOTksCisgICAgMHg2ZjlhMGM3OCwgMHg4NTFjZDExYSwgMHg2YTRlNjdmYiwgMHg4YjYwNmQ5ZiwgMHg2NDMyZGI3ZSwKKyAgICAweDhlYjQwNjFjLCAweDYxZTZiMGZkLCAweDk3OTkxNDk1LCAweDc4Y2JhMjc0LCAweDkyNGQ3ZjE2LAorICAgIDB4N2QxZmM5ZjcsIDB4OWMzMWMzOTMsIDB4NzM2Mzc1NzIsIDB4OTllNWE4MTAsIDB4NzZiNzFlZjEsCisgICAgMHhmMzJkNWViMSwgMHgxYzdmZTg1MCwgMHhmNmY5MzUzMiwgMHgxOWFiODNkMywgMHhmODg1ODliNywKKyAgICAweDE3ZDczZjU2LCAweGZkNTFlMjM0LCAweDEyMDM1NGQ1LCAweGU0N2NmMGJkLCAweDBiMmU0NjVjLAorICAgIDB4ZTFhODliM2UsIDB4MGVmYTJkZGYsIDB4ZWZkNDI3YmIsIDB4MDA4NjkxNWEsIDB4ZWEwMDRjMzgsCisgICAgMHgwNTUyZmFkOSwgMHhkZDhlMDJhOSwgMHgzMmRjYjQ0OCwgMHhkODVhNjkyYSwgMHgzNzA4ZGZjYiwKKyAgICAweGQ2MjZkNWFmLCAweDM5NzQ2MzRlLCAweGQzZjJiZTJjLCAweDNjYTAwOGNkLCAweGNhZGZhY2E1LAorICAgIDB4MjU4ZDFhNDQsIDB4Y2YwYmM3MjYsIDB4MjA1OTcxYzcsIDB4YzE3NzdiYTMsIDB4MmUyNWNkNDIsCisgICAgMHhjNGEzMTAyMCwgMHgyYmYxYTZjMSwgMHgxNGU2OTZlMSwgMHhmYmI0MjAwMCwgMHgxMTMyZmQ2MiwKKyAgICAweGZlNjA0YjgzLCAweDFmNGU0MWU3LCAweGYwMWNmNzA2LCAweDFhOWEyYTY0LCAweGY1Yzg5Yzg1LAorICAgIDB4MDNiNzM4ZWQsIDB4ZWNlNThlMGMsIDB4MDY2MzUzNmUsIDB4ZTkzMWU1OGYsIDB4MDgxZmVmZWIsCisgICAgMHhlNzRkNTkwYSwgMHgwZGNiODQ2OCwgMHhlMjk5MzI4OSwgMHgzYTQ1Y2FmOSwgMHhkNTE3N2MxOCwKKyAgICAweDNmOTFhMTdhLCAweGQwYzMxNzliLCAweDMxZWQxZGZmLCAweGRlYmZhYjFlLCAweDM0Mzk3NjdjLAorICAgIDB4ZGI2YmMwOWQsIDB4MmQxNDY0ZjUsIDB4YzI0NmQyMTQsIDB4MjhjMDBmNzYsIDB4Yzc5MmI5OTcsCisgICAgMHgyNmJjYjNmMywgMHhjOWVlMDUxMiwgMHgyMzY4ZDg3MCwgMHhjYzNhNmU5MSwgMHg0OWEwMmVkMSwKKyAgICAweGE2ZjI5ODMwLCAweDRjNzQ0NTUyLCAweGEzMjZmM2IzLCAweDQyMDhmOWQ3LCAweGFkNWE0ZjM2LAorICAgIDB4NDdkYzkyNTQsIDB4YTg4ZTI0YjUsIDB4NWVmMTgwZGQsIDB4YjFhMzM2M2MsIDB4NWIyNWViNWUsCisgICAgMHhiNDc3NWRiZiwgMHg1NTU5NTdkYiwgMHhiYTBiZTEzYSwgMHg1MDhkM2M1OCwgMHhiZmRmOGFiOSwKKyAgICAweDY3MDM3MmM5LCAweDg4NTFjNDI4LCAweDYyZDcxOTRhLCAweDhkODVhZmFiLCAweDZjYWJhNWNmLAorICAgIDB4ODNmOTEzMmUsIDB4Njk3ZmNlNGMsIDB4ODYyZDc4YWQsIDB4NzA1MmRjYzUsIDB4OWYwMDZhMjQsCisgICAgMHg3NTg2Yjc0NiwgMHg5YWQ0MDFhNywgMHg3YmZhMGJjMywgMHg5NGE4YmQyMiwgMHg3ZTJlNjA0MCwKKyAgICAweDkxN2NkNmExfSwKKyAgIHsweDAwMDAwMDAwLCAweDg3YTZjYjQzLCAweGQ0M2M5MGM3LCAweDUzOWE1Yjg0LCAweDczMDgyN2NmLAorICAgIDB4ZjRhZWVjOGMsIDB4YTczNGI3MDgsIDB4MjA5MjdjNGIsIDB4ZTYxMDRmOWUsIDB4NjFiNjg0ZGQsCisgICAgMHgzMjJjZGY1OSwgMHhiNThhMTQxYSwgMHg5NTE4Njg1MSwgMHgxMmJlYTMxMiwgMHg0MTI0Zjg5NiwKKyAgICAweGM2ODIzM2Q1LCAweDE3NTE5OTdkLCAweDkwZjc1MjNlLCAweGMzNmQwOWJhLCAweDQ0Y2JjMmY5LAorICAgIDB4NjQ1OWJlYjIsIDB4ZTNmZjc1ZjEsIDB4YjA2NTJlNzUsIDB4MzdjM2U1MzYsIDB4ZjE0MWQ2ZTMsCisgICAgMHg3NmU3MWRhMCwgMHgyNTdkNDYyNCwgMHhhMmRiOGQ2NywgMHg4MjQ5ZjEyYywgMHgwNWVmM2E2ZiwKKyAgICAweDU2NzU2MWViLCAweGQxZDNhYWE4LCAweDJlYTMzMmZhLCAweGE5MDVmOWI5LCAweGZhOWZhMjNkLAorICAgIDB4N2QzOTY5N2UsIDB4NWRhYjE1MzUsIDB4ZGEwZGRlNzYsIDB4ODk5Nzg1ZjIsIDB4MGUzMTRlYjEsCisgICAgMHhjOGIzN2Q2NCwgMHg0ZjE1YjYyNywgMHgxYzhmZWRhMywgMHg5YjI5MjZlMCwgMHhiYmJiNWFhYiwKKyAgICAweDNjMWQ5MWU4LCAweDZmODdjYTZjLCAweGU4MjEwMTJmLCAweDM5ZjJhYjg3LCAweGJlNTQ2MGM0LAorICAgIDB4ZWRjZTNiNDAsIDB4NmE2OGYwMDMsIDB4NGFmYThjNDgsIDB4Y2Q1YzQ3MGIsIDB4OWVjNjFjOGYsCisgICAgMHgxOTYwZDdjYywgMHhkZmUyZTQxOSwgMHg1ODQ0MmY1YSwgMHgwYmRlNzRkZSwgMHg4Yzc4YmY5ZCwKKyAgICAweGFjZWFjM2Q2LCAweDJiNGMwODk1LCAweDc4ZDY1MzExLCAweGZmNzA5ODUyLCAweDVkNDY2NWY0LAorICAgIDB4ZGFlMGFlYjcsIDB4ODk3YWY1MzMsIDB4MGVkYzNlNzAsIDB4MmU0ZTQyM2IsIDB4YTllODg5NzgsCisgICAgMHhmYTcyZDJmYywgMHg3ZGQ0MTliZiwgMHhiYjU2MmE2YSwgMHgzY2YwZTEyOSwgMHg2ZjZhYmFhZCwKKyAgICAweGU4Y2M3MWVlLCAweGM4NWUwZGE1LCAweDRmZjhjNmU2LCAweDFjNjI5ZDYyLCAweDliYzQ1NjIxLAorICAgIDB4NGExN2ZjODksIDB4Y2RiMTM3Y2EsIDB4OWUyYjZjNGUsIDB4MTk4ZGE3MGQsIDB4MzkxZmRiNDYsCisgICAgMHhiZWI5MTAwNSwgMHhlZDIzNGI4MSwgMHg2YTg1ODBjMiwgMHhhYzA3YjMxNywgMHgyYmExNzg1NCwKKyAgICAweDc4M2IyM2QwLCAweGZmOWRlODkzLCAweGRmMGY5NGQ4LCAweDU4YTk1ZjliLCAweDBiMzMwNDFmLAorICAgIDB4OGM5NWNmNWMsIDB4NzNlNTU3MGUsIDB4ZjQ0MzljNGQsIDB4YTdkOWM3YzksIDB4MjA3ZjBjOGEsCisgICAgMHgwMGVkNzBjMSwgMHg4NzRiYmI4MiwgMHhkNGQxZTAwNiwgMHg1Mzc3MmI0NSwgMHg5NWY1MTg5MCwKKyAgICAweDEyNTNkM2QzLCAweDQxYzk4ODU3LCAweGM2NmY0MzE0LCAweGU2ZmQzZjVmLCAweDYxNWJmNDFjLAorICAgIDB4MzJjMWFmOTgsIDB4YjU2NzY0ZGIsIDB4NjRiNGNlNzMsIDB4ZTMxMjA1MzAsIDB4YjA4ODVlYjQsCisgICAgMHgzNzJlOTVmNywgMHgxN2JjZTliYywgMHg5MDFhMjJmZiwgMHhjMzgwNzk3YiwgMHg0NDI2YjIzOCwKKyAgICAweDgyYTQ4MWVkLCAweDA1MDI0YWFlLCAweDU2OTgxMTJhLCAweGQxM2VkYTY5LCAweGYxYWNhNjIyLAorICAgIDB4NzYwYTZkNjEsIDB4MjU5MDM2ZTUsIDB4YTIzNmZkYTYsIDB4YmE4Y2NiZTgsIDB4M2QyYTAwYWIsCisgICAgMHg2ZWIwNWIyZiwgMHhlOTE2OTA2YywgMHhjOTg0ZWMyNywgMHg0ZTIyMjc2NCwgMHgxZGI4N2NlMCwKKyAgICAweDlhMWViN2EzLCAweDVjOWM4NDc2LCAweGRiM2E0ZjM1LCAweDg4YTAxNGIxLCAweDBmMDZkZmYyLAorICAgIDB4MmY5NGEzYjksIDB4YTgzMjY4ZmEsIDB4ZmJhODMzN2UsIDB4N2MwZWY4M2QsIDB4YWRkZDUyOTUsCisgICAgMHgyYTdiOTlkNiwgMHg3OWUxYzI1MiwgMHhmZTQ3MDkxMSwgMHhkZWQ1NzU1YSwgMHg1OTczYmUxOSwKKyAgICAweDBhZTllNTlkLCAweDhkNGYyZWRlLCAweDRiY2QxZDBiLCAweGNjNmJkNjQ4LCAweDlmZjE4ZGNjLAorICAgIDB4MTg1NzQ2OGYsIDB4MzhjNTNhYzQsIDB4YmY2M2YxODcsIDB4ZWNmOWFhMDMsIDB4NmI1ZjYxNDAsCisgICAgMHg5NDJmZjkxMiwgMHgxMzg5MzI1MSwgMHg0MDEzNjlkNSwgMHhjN2I1YTI5NiwgMHhlNzI3ZGVkZCwKKyAgICAweDYwODExNTllLCAweDMzMWI0ZTFhLCAweGI0YmQ4NTU5LCAweDcyM2ZiNjhjLCAweGY1OTk3ZGNmLAorICAgIDB4YTYwMzI2NGIsIDB4MjFhNWVkMDgsIDB4MDEzNzkxNDMsIDB4ODY5MTVhMDAsIDB4ZDUwYjAxODQsCisgICAgMHg1MmFkY2FjNywgMHg4MzdlNjA2ZiwgMHgwNGQ4YWIyYywgMHg1NzQyZjBhOCwgMHhkMGU0M2JlYiwKKyAgICAweGYwNzY0N2EwLCAweDc3ZDA4Y2UzLCAweDI0NGFkNzY3LCAweGEzZWMxYzI0LCAweDY1NmUyZmYxLAorICAgIDB4ZTJjOGU0YjIsIDB4YjE1MmJmMzYsIDB4MzZmNDc0NzUsIDB4MTY2NjA4M2UsIDB4OTFjMGMzN2QsCisgICAgMHhjMjVhOThmOSwgMHg0NWZjNTNiYSwgMHhlN2NhYWUxYywgMHg2MDZjNjU1ZiwgMHgzM2Y2M2VkYiwKKyAgICAweGI0NTBmNTk4LCAweDk0YzI4OWQzLCAweDEzNjQ0MjkwLCAweDQwZmUxOTE0LCAweGM3NThkMjU3LAorICAgIDB4MDFkYWUxODIsIDB4ODY3YzJhYzEsIDB4ZDVlNjcxNDUsIDB4NTI0MGJhMDYsIDB4NzJkMmM2NGQsCisgICAgMHhmNTc0MGQwZSwgMHhhNmVlNTY4YSwgMHgyMTQ4OWRjOSwgMHhmMDliMzc2MSwgMHg3NzNkZmMyMiwKKyAgICAweDI0YTdhN2E2LCAweGEzMDE2Y2U1LCAweDgzOTMxMGFlLCAweDA0MzVkYmVkLCAweDU3YWY4MDY5LAorICAgIDB4ZDAwOTRiMmEsIDB4MTY4Yjc4ZmYsIDB4OTEyZGIzYmMsIDB4YzJiN2U4MzgsIDB4NDUxMTIzN2IsCisgICAgMHg2NTgzNWYzMCwgMHhlMjI1OTQ3MywgMHhiMWJmY2ZmNywgMHgzNjE5MDRiNCwgMHhjOTY5OWNlNiwKKyAgICAweDRlY2Y1N2E1LCAweDFkNTUwYzIxLCAweDlhZjNjNzYyLCAweGJhNjFiYjI5LCAweDNkYzc3MDZhLAorICAgIDB4NmU1ZDJiZWUsIDB4ZTlmYmUwYWQsIDB4MmY3OWQzNzgsIDB4YThkZjE4M2IsIDB4ZmI0NTQzYmYsCisgICAgMHg3Y2UzODhmYywgMHg1YzcxZjRiNywgMHhkYmQ3M2ZmNCwgMHg4ODRkNjQ3MCwgMHgwZmViYWYzMywKKyAgICAweGRlMzgwNTliLCAweDU5OWVjZWQ4LCAweDBhMDQ5NTVjLCAweDhkYTI1ZTFmLCAweGFkMzAyMjU0LAorICAgIDB4MmE5NmU5MTcsIDB4NzkwY2IyOTMsIDB4ZmVhYTc5ZDAsIDB4MzgyODRhMDUsIDB4YmY4ZTgxNDYsCisgICAgMHhlYzE0ZGFjMiwgMHg2YmIyMTE4MSwgMHg0YjIwNmRjYSwgMHhjYzg2YTY4OSwgMHg5ZjFjZmQwZCwKKyAgICAweDE4YmEzNjRlfX07CisKK2xvY2FsIGNvbnN0IHpfd29yZF90IEZBUiBjcmNfYnJhaWRfYmlnX3RhYmxlW11bMjU2XSA9IHsKKyAgIHsweDAwMDAwMDAwMDAwMDAwMDAsIDB4NDNjYmE2ODcwMDAwMDAwMCwgMHhjNzkwM2NkNDAwMDAwMDAwLAorICAgIDB4ODQ1YjlhNTMwMDAwMDAwMCwgMHhjZjI3MDg3MzAwMDAwMDAwLCAweDhjZWNhZWY0MDAwMDAwMDAsCisgICAgMHgwOGI3MzRhNzAwMDAwMDAwLCAweDRiN2M5MjIwMDAwMDAwMDAsIDB4OWU0ZjEwZTYwMDAwMDAwMCwKKyAgICAweGRkODRiNjYxMDAwMDAwMDAsIDB4NTlkZjJjMzIwMDAwMDAwMCwgMHgxYTE0OGFiNTAwMDAwMDAwLAorICAgIDB4NTE2ODE4OTUwMDAwMDAwMCwgMHgxMmEzYmUxMjAwMDAwMDAwLCAweDk2ZjgyNDQxMDAwMDAwMDAsCisgICAgMHhkNTMzODJjNjAwMDAwMDAwLCAweDdkOTk1MTE3MDAwMDAwMDAsIDB4M2U1MmY3OTAwMDAwMDAwMCwKKyAgICAweGJhMDk2ZGMzMDAwMDAwMDAsIDB4ZjljMmNiNDQwMDAwMDAwMCwgMHhiMmJlNTk2NDAwMDAwMDAwLAorICAgIDB4ZjE3NWZmZTMwMDAwMDAwMCwgMHg3NTJlNjViMDAwMDAwMDAwLCAweDM2ZTVjMzM3MDAwMDAwMDAsCisgICAgMHhlM2Q2NDFmMTAwMDAwMDAwLCAweGEwMWRlNzc2MDAwMDAwMDAsIDB4MjQ0NjdkMjUwMDAwMDAwMCwKKyAgICAweDY3OGRkYmEyMDAwMDAwMDAsIDB4MmNmMTQ5ODIwMDAwMDAwMCwgMHg2ZjNhZWYwNTAwMDAwMDAwLAorICAgIDB4ZWI2MTc1NTYwMDAwMDAwMCwgMHhhOGFhZDNkMTAwMDAwMDAwLCAweGZhMzJhMzJlMDAwMDAwMDAsCisgICAgMHhiOWY5MDVhOTAwMDAwMDAwLCAweDNkYTI5ZmZhMDAwMDAwMDAsIDB4N2U2OTM5N2QwMDAwMDAwMCwKKyAgICAweDM1MTVhYjVkMDAwMDAwMDAsIDB4NzZkZTBkZGEwMDAwMDAwMCwgMHhmMjg1OTc4OTAwMDAwMDAwLAorICAgIDB4YjE0ZTMxMGUwMDAwMDAwMCwgMHg2NDdkYjNjODAwMDAwMDAwLCAweDI3YjYxNTRmMDAwMDAwMDAsCisgICAgMHhhM2VkOGYxYzAwMDAwMDAwLCAweGUwMjYyOTliMDAwMDAwMDAsIDB4YWI1YWJiYmIwMDAwMDAwMCwKKyAgICAweGU4OTExZDNjMDAwMDAwMDAsIDB4NmNjYTg3NmYwMDAwMDAwMCwgMHgyZjAxMjFlODAwMDAwMDAwLAorICAgIDB4ODdhYmYyMzkwMDAwMDAwMCwgMHhjNDYwNTRiZTAwMDAwMDAwLCAweDQwM2JjZWVkMDAwMDAwMDAsCisgICAgMHgwM2YwNjg2YTAwMDAwMDAwLCAweDQ4OGNmYTRhMDAwMDAwMDAsIDB4MGI0NzVjY2QwMDAwMDAwMCwKKyAgICAweDhmMWNjNjllMDAwMDAwMDAsIDB4Y2NkNzYwMTkwMDAwMDAwMCwgMHgxOWU0ZTJkZjAwMDAwMDAwLAorICAgIDB4NWEyZjQ0NTgwMDAwMDAwMCwgMHhkZTc0ZGUwYjAwMDAwMDAwLCAweDlkYmY3ODhjMDAwMDAwMDAsCisgICAgMHhkNmMzZWFhYzAwMDAwMDAwLCAweDk1MDg0YzJiMDAwMDAwMDAsIDB4MTE1M2Q2NzgwMDAwMDAwMCwKKyAgICAweDUyOTg3MGZmMDAwMDAwMDAsIDB4ZjQ2NTQ2NWQwMDAwMDAwMCwgMHhiN2FlZTBkYTAwMDAwMDAwLAorICAgIDB4MzNmNTdhODkwMDAwMDAwMCwgMHg3MDNlZGMwZTAwMDAwMDAwLCAweDNiNDI0ZTJlMDAwMDAwMDAsCisgICAgMHg3ODg5ZThhOTAwMDAwMDAwLCAweGZjZDI3MmZhMDAwMDAwMDAsIDB4YmYxOWQ0N2QwMDAwMDAwMCwKKyAgICAweDZhMmE1NmJiMDAwMDAwMDAsIDB4MjllMWYwM2MwMDAwMDAwMCwgMHhhZGJhNmE2ZjAwMDAwMDAwLAorICAgIDB4ZWU3MWNjZTgwMDAwMDAwMCwgMHhhNTBkNWVjODAwMDAwMDAwLCAweGU2YzZmODRmMDAwMDAwMDAsCisgICAgMHg2MjlkNjIxYzAwMDAwMDAwLCAweDIxNTZjNDliMDAwMDAwMDAsIDB4ODlmYzE3NGEwMDAwMDAwMCwKKyAgICAweGNhMzdiMWNkMDAwMDAwMDAsIDB4NGU2YzJiOWUwMDAwMDAwMCwgMHgwZGE3OGQxOTAwMDAwMDAwLAorICAgIDB4NDZkYjFmMzkwMDAwMDAwMCwgMHgwNTEwYjliZTAwMDAwMDAwLCAweDgxNGIyM2VkMDAwMDAwMDAsCisgICAgMHhjMjgwODU2YTAwMDAwMDAwLCAweDE3YjMwN2FjMDAwMDAwMDAsIDB4NTQ3OGExMmIwMDAwMDAwMCwKKyAgICAweGQwMjMzYjc4MDAwMDAwMDAsIDB4OTNlODlkZmYwMDAwMDAwMCwgMHhkODk0MGZkZjAwMDAwMDAwLAorICAgIDB4OWI1ZmE5NTgwMDAwMDAwMCwgMHgxZjA0MzMwYjAwMDAwMDAwLCAweDVjY2Y5NThjMDAwMDAwMDAsCisgICAgMHgwZTU3ZTU3MzAwMDAwMDAwLCAweDRkOWM0M2Y0MDAwMDAwMDAsIDB4YzljN2Q5YTcwMDAwMDAwMCwKKyAgICAweDhhMGM3ZjIwMDAwMDAwMDAsIDB4YzE3MGVkMDAwMDAwMDAwMCwgMHg4MmJiNGI4NzAwMDAwMDAwLAorICAgIDB4MDZlMGQxZDQwMDAwMDAwMCwgMHg0NTJiNzc1MzAwMDAwMDAwLCAweDkwMThmNTk1MDAwMDAwMDAsCisgICAgMHhkM2QzNTMxMjAwMDAwMDAwLCAweDU3ODhjOTQxMDAwMDAwMDAsIDB4MTQ0MzZmYzYwMDAwMDAwMCwKKyAgICAweDVmM2ZmZGU2MDAwMDAwMDAsIDB4MWNmNDViNjEwMDAwMDAwMCwgMHg5OGFmYzEzMjAwMDAwMDAwLAorICAgIDB4ZGI2NDY3YjUwMDAwMDAwMCwgMHg3M2NlYjQ2NDAwMDAwMDAwLCAweDMwMDUxMmUzMDAwMDAwMDAsCisgICAgMHhiNDVlODhiMDAwMDAwMDAwLCAweGY3OTUyZTM3MDAwMDAwMDAsIDB4YmNlOWJjMTcwMDAwMDAwMCwKKyAgICAweGZmMjIxYTkwMDAwMDAwMDAsIDB4N2I3OTgwYzMwMDAwMDAwMCwgMHgzOGIyMjY0NDAwMDAwMDAwLAorICAgIDB4ZWQ4MWE0ODIwMDAwMDAwMCwgMHhhZTRhMDIwNTAwMDAwMDAwLCAweDJhMTE5ODU2MDAwMDAwMDAsCisgICAgMHg2OWRhM2VkMTAwMDAwMDAwLCAweDIyYTZhY2YxMDAwMDAwMDAsIDB4NjE2ZDBhNzYwMDAwMDAwMCwKKyAgICAweGU1MzY5MDI1MDAwMDAwMDAsIDB4YTZmZDM2YTIwMDAwMDAwMCwgMHhlOGNiOGNiYTAwMDAwMDAwLAorICAgIDB4YWIwMDJhM2QwMDAwMDAwMCwgMHgyZjViYjA2ZTAwMDAwMDAwLCAweDZjOTAxNmU5MDAwMDAwMDAsCisgICAgMHgyN2VjODRjOTAwMDAwMDAwLCAweDY0MjcyMjRlMDAwMDAwMDAsIDB4ZTA3Y2I4MWQwMDAwMDAwMCwKKyAgICAweGEzYjcxZTlhMDAwMDAwMDAsIDB4NzY4NDljNWMwMDAwMDAwMCwgMHgzNTRmM2FkYjAwMDAwMDAwLAorICAgIDB4YjExNGEwODgwMDAwMDAwMCwgMHhmMmRmMDYwZjAwMDAwMDAwLCAweGI5YTM5NDJmMDAwMDAwMDAsCisgICAgMHhmYTY4MzJhODAwMDAwMDAwLCAweDdlMzNhOGZiMDAwMDAwMDAsIDB4M2RmODBlN2MwMDAwMDAwMCwKKyAgICAweDk1NTJkZGFkMDAwMDAwMDAsIDB4ZDY5OTdiMmEwMDAwMDAwMCwgMHg1MmMyZTE3OTAwMDAwMDAwLAorICAgIDB4MTEwOTQ3ZmUwMDAwMDAwMCwgMHg1YTc1ZDVkZTAwMDAwMDAwLCAweDE5YmU3MzU5MDAwMDAwMDAsCisgICAgMHg5ZGU1ZTkwYTAwMDAwMDAwLCAweGRlMmU0ZjhkMDAwMDAwMDAsIDB4MGIxZGNkNGIwMDAwMDAwMCwKKyAgICAweDQ4ZDY2YmNjMDAwMDAwMDAsIDB4Y2M4ZGYxOWYwMDAwMDAwMCwgMHg4ZjQ2NTcxODAwMDAwMDAwLAorICAgIDB4YzQzYWM1MzgwMDAwMDAwMCwgMHg4N2YxNjNiZjAwMDAwMDAwLCAweDAzYWFmOWVjMDAwMDAwMDAsCisgICAgMHg0MDYxNWY2YjAwMDAwMDAwLCAweDEyZjkyZjk0MDAwMDAwMDAsIDB4NTEzMjg5MTMwMDAwMDAwMCwKKyAgICAweGQ1NjkxMzQwMDAwMDAwMDAsIDB4OTZhMmI1YzcwMDAwMDAwMCwgMHhkZGRlMjdlNzAwMDAwMDAwLAorICAgIDB4OWUxNTgxNjAwMDAwMDAwMCwgMHgxYTRlMWIzMzAwMDAwMDAwLCAweDU5ODViZGI0MDAwMDAwMDAsCisgICAgMHg4Y2I2M2Y3MjAwMDAwMDAwLCAweGNmN2Q5OWY1MDAwMDAwMDAsIDB4NGIyNjAzYTYwMDAwMDAwMCwKKyAgICAweDA4ZWRhNTIxMDAwMDAwMDAsIDB4NDM5MTM3MDEwMDAwMDAwMCwgMHgwMDVhOTE4NjAwMDAwMDAwLAorICAgIDB4ODQwMTBiZDUwMDAwMDAwMCwgMHhjN2NhYWQ1MjAwMDAwMDAwLCAweDZmNjA3ZTgzMDAwMDAwMDAsCisgICAgMHgyY2FiZDgwNDAwMDAwMDAwLCAweGE4ZjA0MjU3MDAwMDAwMDAsIDB4ZWIzYmU0ZDAwMDAwMDAwMCwKKyAgICAweGEwNDc3NmYwMDAwMDAwMDAsIDB4ZTM4Y2QwNzcwMDAwMDAwMCwgMHg2N2Q3NGEyNDAwMDAwMDAwLAorICAgIDB4MjQxY2VjYTMwMDAwMDAwMCwgMHhmMTJmNmU2NTAwMDAwMDAwLCAweGIyZTRjOGUyMDAwMDAwMDAsCisgICAgMHgzNmJmNTJiMTAwMDAwMDAwLCAweDc1NzRmNDM2MDAwMDAwMDAsIDB4M2UwODY2MTYwMDAwMDAwMCwKKyAgICAweDdkYzNjMDkxMDAwMDAwMDAsIDB4Zjk5ODVhYzIwMDAwMDAwMCwgMHhiYTUzZmM0NTAwMDAwMDAwLAorICAgIDB4MWNhZWNhZTcwMDAwMDAwMCwgMHg1ZjY1NmM2MDAwMDAwMDAwLCAweGRiM2VmNjMzMDAwMDAwMDAsCisgICAgMHg5OGY1NTBiNDAwMDAwMDAwLCAweGQzODljMjk0MDAwMDAwMDAsIDB4OTA0MjY0MTMwMDAwMDAwMCwKKyAgICAweDE0MTlmZTQwMDAwMDAwMDAsIDB4NTdkMjU4YzcwMDAwMDAwMCwgMHg4MmUxZGEwMTAwMDAwMDAwLAorICAgIDB4YzEyYTdjODYwMDAwMDAwMCwgMHg0NTcxZTZkNTAwMDAwMDAwLCAweDA2YmE0MDUyMDAwMDAwMDAsCisgICAgMHg0ZGM2ZDI3MjAwMDAwMDAwLCAweDBlMGQ3NGY1MDAwMDAwMDAsIDB4OGE1NmVlYTYwMDAwMDAwMCwKKyAgICAweGM5OWQ0ODIxMDAwMDAwMDAsIDB4NjEzNzliZjAwMDAwMDAwMCwgMHgyMmZjM2Q3NzAwMDAwMDAwLAorICAgIDB4YTZhN2E3MjQwMDAwMDAwMCwgMHhlNTZjMDFhMzAwMDAwMDAwLCAweGFlMTA5MzgzMDAwMDAwMDAsCisgICAgMHhlZGRiMzUwNDAwMDAwMDAwLCAweDY5ODBhZjU3MDAwMDAwMDAsIDB4MmE0YjA5ZDAwMDAwMDAwMCwKKyAgICAweGZmNzg4YjE2MDAwMDAwMDAsIDB4YmNiMzJkOTEwMDAwMDAwMCwgMHgzOGU4YjdjMjAwMDAwMDAwLAorICAgIDB4N2IyMzExNDUwMDAwMDAwMCwgMHgzMDVmODM2NTAwMDAwMDAwLCAweDczOTQyNWUyMDAwMDAwMDAsCisgICAgMHhmN2NmYmZiMTAwMDAwMDAwLCAweGI0MDQxOTM2MDAwMDAwMDAsIDB4ZTY5YzY5YzkwMDAwMDAwMCwKKyAgICAweGE1NTdjZjRlMDAwMDAwMDAsIDB4MjEwYzU1MWQwMDAwMDAwMCwgMHg2MmM3ZjM5YTAwMDAwMDAwLAorICAgIDB4MjliYjYxYmEwMDAwMDAwMCwgMHg2YTcwYzczZDAwMDAwMDAwLCAweGVlMmI1ZDZlMDAwMDAwMDAsCisgICAgMHhhZGUwZmJlOTAwMDAwMDAwLCAweDc4ZDM3OTJmMDAwMDAwMDAsIDB4M2IxOGRmYTgwMDAwMDAwMCwKKyAgICAweGJmNDM0NWZiMDAwMDAwMDAsIDB4ZmM4OGUzN2MwMDAwMDAwMCwgMHhiN2Y0NzE1YzAwMDAwMDAwLAorICAgIDB4ZjQzZmQ3ZGIwMDAwMDAwMCwgMHg3MDY0NGQ4ODAwMDAwMDAwLCAweDMzYWZlYjBmMDAwMDAwMDAsCisgICAgMHg5YjA1MzhkZTAwMDAwMDAwLCAweGQ4Y2U5ZTU5MDAwMDAwMDAsIDB4NWM5NTA0MGEwMDAwMDAwMCwKKyAgICAweDFmNWVhMjhkMDAwMDAwMDAsIDB4NTQyMjMwYWQwMDAwMDAwMCwgMHgxN2U5OTYyYTAwMDAwMDAwLAorICAgIDB4OTNiMjBjNzkwMDAwMDAwMCwgMHhkMDc5YWFmZTAwMDAwMDAwLCAweDA1NGEyODM4MDAwMDAwMDAsCisgICAgMHg0NjgxOGViZjAwMDAwMDAwLCAweGMyZGExNGVjMDAwMDAwMDAsIDB4ODExMWIyNmIwMDAwMDAwMCwKKyAgICAweGNhNmQyMDRiMDAwMDAwMDAsIDB4ODlhNjg2Y2MwMDAwMDAwMCwgMHgwZGZkMWM5ZjAwMDAwMDAwLAorICAgIDB4NGUzNmJhMTgwMDAwMDAwMH0sCisgICB7MHgwMDAwMDAwMDAwMDAwMDAwLCAweGUxYjY1MmVmMDAwMDAwMDAsIDB4ODM2YmQ0MDUwMDAwMDAwMCwKKyAgICAweDYyZGQ4NmVhMDAwMDAwMDAsIDB4MDZkN2E4MGIwMDAwMDAwMCwgMHhlNzYxZmFlNDAwMDAwMDAwLAorICAgIDB4ODViYzdjMGUwMDAwMDAwMCwgMHg2NDBhMmVlMTAwMDAwMDAwLCAweDBjYWU1MTE3MDAwMDAwMDAsCisgICAgMHhlZDE4MDNmODAwMDAwMDAwLCAweDhmYzU4NTEyMDAwMDAwMDAsIDB4NmU3M2Q3ZmQwMDAwMDAwMCwKKyAgICAweDBhNzlmOTFjMDAwMDAwMDAsIDB4ZWJjZmFiZjMwMDAwMDAwMCwgMHg4OTEyMmQxOTAwMDAwMDAwLAorICAgIDB4NjhhNDdmZjYwMDAwMDAwMCwgMHgxODVjYTMyZTAwMDAwMDAwLCAweGY5ZWFmMWMxMDAwMDAwMDAsCisgICAgMHg5YjM3NzcyYjAwMDAwMDAwLCAweDdhODEyNWM0MDAwMDAwMDAsIDB4MWU4YjBiMjUwMDAwMDAwMCwKKyAgICAweGZmM2Q1OWNhMDAwMDAwMDAsIDB4OWRlMGRmMjAwMDAwMDAwMCwgMHg3YzU2OGRjZjAwMDAwMDAwLAorICAgIDB4MTRmMmYyMzkwMDAwMDAwMCwgMHhmNTQ0YTBkNjAwMDAwMDAwLCAweDk3OTkyNjNjMDAwMDAwMDAsCisgICAgMHg3NjJmNzRkMzAwMDAwMDAwLCAweDEyMjU1YTMyMDAwMDAwMDAsIDB4ZjM5MzA4ZGQwMDAwMDAwMCwKKyAgICAweDkxNGU4ZTM3MDAwMDAwMDAsIDB4NzBmOGRjZDgwMDAwMDAwMCwgMHgzMGI4NDY1ZDAwMDAwMDAwLAorICAgIDB4ZDEwZTE0YjIwMDAwMDAwMCwgMHhiM2QzOTI1ODAwMDAwMDAwLCAweDUyNjVjMGI3MDAwMDAwMDAsCisgICAgMHgzNjZmZWU1NjAwMDAwMDAwLCAweGQ3ZDliY2I5MDAwMDAwMDAsIDB4YjUwNDNhNTMwMDAwMDAwMCwKKyAgICAweDU0YjI2OGJjMDAwMDAwMDAsIDB4M2MxNjE3NGEwMDAwMDAwMCwgMHhkZGEwNDVhNTAwMDAwMDAwLAorICAgIDB4YmY3ZGMzNGYwMDAwMDAwMCwgMHg1ZWNiOTFhMDAwMDAwMDAwLCAweDNhYzFiZjQxMDAwMDAwMDAsCisgICAgMHhkYjc3ZWRhZTAwMDAwMDAwLCAweGI5YWE2YjQ0MDAwMDAwMDAsIDB4NTgxYzM5YWIwMDAwMDAwMCwKKyAgICAweDI4ZTRlNTczMDAwMDAwMDAsIDB4Yzk1MmI3OWMwMDAwMDAwMCwgMHhhYjhmMzE3NjAwMDAwMDAwLAorICAgIDB4NGEzOTYzOTkwMDAwMDAwMCwgMHgyZTMzNGQ3ODAwMDAwMDAwLCAweGNmODUxZjk3MDAwMDAwMDAsCisgICAgMHhhZDU4OTk3ZDAwMDAwMDAwLCAweDRjZWVjYjkyMDAwMDAwMDAsIDB4MjQ0YWI0NjQwMDAwMDAwMCwKKyAgICAweGM1ZmNlNjhiMDAwMDAwMDAsIDB4YTcyMTYwNjEwMDAwMDAwMCwgMHg0Njk3MzI4ZTAwMDAwMDAwLAorICAgIDB4MjI5ZDFjNmYwMDAwMDAwMCwgMHhjMzJiNGU4MDAwMDAwMDAwLCAweGExZjZjODZhMDAwMDAwMDAsCisgICAgMHg0MDQwOWE4NTAwMDAwMDAwLCAweDYwNzA4ZGJhMDAwMDAwMDAsIDB4ODFjNmRmNTUwMDAwMDAwMCwKKyAgICAweGUzMWI1OWJmMDAwMDAwMDAsIDB4MDJhZDBiNTAwMDAwMDAwMCwgMHg2NmE3MjViMTAwMDAwMDAwLAorICAgIDB4ODcxMTc3NWUwMDAwMDAwMCwgMHhlNWNjZjFiNDAwMDAwMDAwLCAweDA0N2FhMzViMDAwMDAwMDAsCisgICAgMHg2Y2RlZGNhZDAwMDAwMDAwLCAweDhkNjg4ZTQyMDAwMDAwMDAsIDB4ZWZiNTA4YTgwMDAwMDAwMCwKKyAgICAweDBlMDM1YTQ3MDAwMDAwMDAsIDB4NmEwOTc0YTYwMDAwMDAwMCwgMHg4YmJmMjY0OTAwMDAwMDAwLAorICAgIDB4ZTk2MmEwYTMwMDAwMDAwMCwgMHgwOGQ0ZjI0YzAwMDAwMDAwLCAweDc4MmMyZTk0MDAwMDAwMDAsCisgICAgMHg5OTlhN2M3YjAwMDAwMDAwLCAweGZiNDdmYTkxMDAwMDAwMDAsIDB4MWFmMWE4N2UwMDAwMDAwMCwKKyAgICAweDdlZmI4NjlmMDAwMDAwMDAsIDB4OWY0ZGQ0NzAwMDAwMDAwMCwgMHhmZDkwNTI5YTAwMDAwMDAwLAorICAgIDB4MWMyNjAwNzUwMDAwMDAwMCwgMHg3NDgyN2Y4MzAwMDAwMDAwLCAweDk1MzQyZDZjMDAwMDAwMDAsCisgICAgMHhmN2U5YWI4NjAwMDAwMDAwLCAweDE2NWZmOTY5MDAwMDAwMDAsIDB4NzI1NWQ3ODgwMDAwMDAwMCwKKyAgICAweDkzZTM4NTY3MDAwMDAwMDAsIDB4ZjEzZTAzOGQwMDAwMDAwMCwgMHgxMDg4NTE2MjAwMDAwMDAwLAorICAgIDB4NTBjOGNiZTcwMDAwMDAwMCwgMHhiMTdlOTkwODAwMDAwMDAwLCAweGQzYTMxZmUyMDAwMDAwMDAsCisgICAgMHgzMjE1NGQwZDAwMDAwMDAwLCAweDU2MWY2M2VjMDAwMDAwMDAsIDB4YjdhOTMxMDMwMDAwMDAwMCwKKyAgICAweGQ1NzRiN2U5MDAwMDAwMDAsIDB4MzRjMmU1MDYwMDAwMDAwMCwgMHg1YzY2OWFmMDAwMDAwMDAwLAorICAgIDB4YmRkMGM4MWYwMDAwMDAwMCwgMHhkZjBkNGVmNTAwMDAwMDAwLCAweDNlYmIxYzFhMDAwMDAwMDAsCisgICAgMHg1YWIxMzJmYjAwMDAwMDAwLCAweGJiMDc2MDE0MDAwMDAwMDAsIDB4ZDlkYWU2ZmUwMDAwMDAwMCwKKyAgICAweDM4NmNiNDExMDAwMDAwMDAsIDB4NDg5NDY4YzkwMDAwMDAwMCwgMHhhOTIyM2EyNjAwMDAwMDAwLAorICAgIDB4Y2JmZmJjY2MwMDAwMDAwMCwgMHgyYTQ5ZWUyMzAwMDAwMDAwLCAweDRlNDNjMGMyMDAwMDAwMDAsCisgICAgMHhhZmY1OTIyZDAwMDAwMDAwLCAweGNkMjgxNGM3MDAwMDAwMDAsIDB4MmM5ZTQ2MjgwMDAwMDAwMCwKKyAgICAweDQ0M2EzOWRlMDAwMDAwMDAsIDB4YTU4YzZiMzEwMDAwMDAwMCwgMHhjNzUxZWRkYjAwMDAwMDAwLAorICAgIDB4MjZlN2JmMzQwMDAwMDAwMCwgMHg0MmVkOTFkNTAwMDAwMDAwLCAweGEzNWJjMzNhMDAwMDAwMDAsCisgICAgMHhjMTg2NDVkMDAwMDAwMDAwLCAweDIwMzAxNzNmMDAwMDAwMDAsIDB4ODFlNjZiYWUwMDAwMDAwMCwKKyAgICAweDYwNTAzOTQxMDAwMDAwMDAsIDB4MDI4ZGJmYWIwMDAwMDAwMCwgMHhlMzNiZWQ0NDAwMDAwMDAwLAorICAgIDB4ODczMWMzYTUwMDAwMDAwMCwgMHg2Njg3OTE0YTAwMDAwMDAwLCAweDA0NWExN2EwMDAwMDAwMDAsCisgICAgMHhlNWVjNDU0ZjAwMDAwMDAwLCAweDhkNDgzYWI5MDAwMDAwMDAsIDB4NmNmZTY4NTYwMDAwMDAwMCwKKyAgICAweDBlMjNlZWJjMDAwMDAwMDAsIDB4ZWY5NWJjNTMwMDAwMDAwMCwgMHg4YjlmOTJiMjAwMDAwMDAwLAorICAgIDB4NmEyOWMwNWQwMDAwMDAwMCwgMHgwOGY0NDZiNzAwMDAwMDAwLCAweGU5NDIxNDU4MDAwMDAwMDAsCisgICAgMHg5OWJhYzg4MDAwMDAwMDAwLCAweDc4MGM5YTZmMDAwMDAwMDAsIDB4MWFkMTFjODUwMDAwMDAwMCwKKyAgICAweGZiNjc0ZTZhMDAwMDAwMDAsIDB4OWY2ZDYwOGIwMDAwMDAwMCwgMHg3ZWRiMzI2NDAwMDAwMDAwLAorICAgIDB4MWMwNmI0OGUwMDAwMDAwMCwgMHhmZGIwZTY2MTAwMDAwMDAwLCAweDk1MTQ5OTk3MDAwMDAwMDAsCisgICAgMHg3NGEyY2I3ODAwMDAwMDAwLCAweDE2N2Y0ZDkyMDAwMDAwMDAsIDB4ZjdjOTFmN2QwMDAwMDAwMCwKKyAgICAweDkzYzMzMTljMDAwMDAwMDAsIDB4NzI3NTYzNzMwMDAwMDAwMCwgMHgxMGE4ZTU5OTAwMDAwMDAwLAorICAgIDB4ZjExZWI3NzYwMDAwMDAwMCwgMHhiMTVlMmRmMzAwMDAwMDAwLCAweDUwZTg3ZjFjMDAwMDAwMDAsCisgICAgMHgzMjM1ZjlmNjAwMDAwMDAwLCAweGQzODNhYjE5MDAwMDAwMDAsIDB4Yjc4OTg1ZjgwMDAwMDAwMCwKKyAgICAweDU2M2ZkNzE3MDAwMDAwMDAsIDB4MzRlMjUxZmQwMDAwMDAwMCwgMHhkNTU0MDMxMjAwMDAwMDAwLAorICAgIDB4YmRmMDdjZTQwMDAwMDAwMCwgMHg1YzQ2MmUwYjAwMDAwMDAwLCAweDNlOWJhOGUxMDAwMDAwMDAsCisgICAgMHhkZjJkZmEwZTAwMDAwMDAwLCAweGJiMjdkNGVmMDAwMDAwMDAsIDB4NWE5MTg2MDAwMDAwMDAwMCwKKyAgICAweDM4NGMwMGVhMDAwMDAwMDAsIDB4ZDlmYTUyMDUwMDAwMDAwMCwgMHhhOTAyOGVkZDAwMDAwMDAwLAorICAgIDB4NDhiNGRjMzIwMDAwMDAwMCwgMHgyYTY5NWFkODAwMDAwMDAwLCAweGNiZGYwODM3MDAwMDAwMDAsCisgICAgMHhhZmQ1MjZkNjAwMDAwMDAwLCAweDRlNjM3NDM5MDAwMDAwMDAsIDB4MmNiZWYyZDMwMDAwMDAwMCwKKyAgICAweGNkMDhhMDNjMDAwMDAwMDAsIDB4YTVhY2RmY2EwMDAwMDAwMCwgMHg0NDFhOGQyNTAwMDAwMDAwLAorICAgIDB4MjZjNzBiY2YwMDAwMDAwMCwgMHhjNzcxNTkyMDAwMDAwMDAwLCAweGEzN2I3N2MxMDAwMDAwMDAsCisgICAgMHg0MmNkMjUyZTAwMDAwMDAwLCAweDIwMTBhM2M0MDAwMDAwMDAsIDB4YzFhNmYxMmIwMDAwMDAwMCwKKyAgICAweGUxOTZlNjE0MDAwMDAwMDAsIDB4MDAyMGI0ZmIwMDAwMDAwMCwgMHg2MmZkMzIxMTAwMDAwMDAwLAorICAgIDB4ODM0YjYwZmUwMDAwMDAwMCwgMHhlNzQxNGUxZjAwMDAwMDAwLCAweDA2ZjcxY2YwMDAwMDAwMDAsCisgICAgMHg2NDJhOWExYTAwMDAwMDAwLCAweDg1OWNjOGY1MDAwMDAwMDAsIDB4ZWQzOGI3MDMwMDAwMDAwMCwKKyAgICAweDBjOGVlNWVjMDAwMDAwMDAsIDB4NmU1MzYzMDYwMDAwMDAwMCwgMHg4ZmU1MzFlOTAwMDAwMDAwLAorICAgIDB4ZWJlZjFmMDgwMDAwMDAwMCwgMHgwYTU5NGRlNzAwMDAwMDAwLCAweDY4ODRjYjBkMDAwMDAwMDAsCisgICAgMHg4OTMyOTllMjAwMDAwMDAwLCAweGY5Y2E0NTNhMDAwMDAwMDAsIDB4MTg3YzE3ZDUwMDAwMDAwMCwKKyAgICAweDdhYTE5MTNmMDAwMDAwMDAsIDB4OWIxN2MzZDAwMDAwMDAwMCwgMHhmZjFkZWQzMTAwMDAwMDAwLAorICAgIDB4MWVhYmJmZGUwMDAwMDAwMCwgMHg3Yzc2MzkzNDAwMDAwMDAwLCAweDlkYzA2YmRiMDAwMDAwMDAsCisgICAgMHhmNTY0MTQyZDAwMDAwMDAwLCAweDE0ZDI0NmMyMDAwMDAwMDAsIDB4NzYwZmMwMjgwMDAwMDAwMCwKKyAgICAweDk3Yjk5MmM3MDAwMDAwMDAsIDB4ZjNiM2JjMjYwMDAwMDAwMCwgMHgxMjA1ZWVjOTAwMDAwMDAwLAorICAgIDB4NzBkODY4MjMwMDAwMDAwMCwgMHg5MTZlM2FjYzAwMDAwMDAwLCAweGQxMmVhMDQ5MDAwMDAwMDAsCisgICAgMHgzMDk4ZjJhNjAwMDAwMDAwLCAweDUyNDU3NDRjMDAwMDAwMDAsIDB4YjNmMzI2YTMwMDAwMDAwMCwKKyAgICAweGQ3ZjkwODQyMDAwMDAwMDAsIDB4MzY0ZjVhYWQwMDAwMDAwMCwgMHg1NDkyZGM0NzAwMDAwMDAwLAorICAgIDB4YjUyNDhlYTgwMDAwMDAwMCwgMHhkZDgwZjE1ZTAwMDAwMDAwLCAweDNjMzZhM2IxMDAwMDAwMDAsCisgICAgMHg1ZWViMjU1YjAwMDAwMDAwLCAweGJmNWQ3N2I0MDAwMDAwMDAsIDB4ZGI1NzU5NTUwMDAwMDAwMCwKKyAgICAweDNhZTEwYmJhMDAwMDAwMDAsIDB4NTgzYzhkNTAwMDAwMDAwMCwgMHhiOThhZGZiZjAwMDAwMDAwLAorICAgIDB4Yzk3MjAzNjcwMDAwMDAwMCwgMHgyOGM0NTE4ODAwMDAwMDAwLCAweDRhMTlkNzYyMDAwMDAwMDAsCisgICAgMHhhYmFmODU4ZDAwMDAwMDAwLCAweGNmYTVhYjZjMDAwMDAwMDAsIDB4MmUxM2Y5ODMwMDAwMDAwMCwKKyAgICAweDRjY2U3ZjY5MDAwMDAwMDAsIDB4YWQ3ODJkODYwMDAwMDAwMCwgMHhjNWRjNTI3MDAwMDAwMDAwLAorICAgIDB4MjQ2YTAwOWYwMDAwMDAwMCwgMHg0NmI3ODY3NTAwMDAwMDAwLCAweGE3MDFkNDlhMDAwMDAwMDAsCisgICAgMHhjMzBiZmE3YjAwMDAwMDAwLCAweDIyYmRhODk0MDAwMDAwMDAsIDB4NDA2MDJlN2UwMDAwMDAwMCwKKyAgICAweGExZDY3YzkxMDAwMDAwMDB9LAorICAgezB4MDAwMDAwMDAwMDAwMDAwMCwgMHg1ODgwZTJkNzAwMDAwMDAwLCAweGYxMDZiNDc0MDAwMDAwMDAsCisgICAgMHhhOTg2NTZhMzAwMDAwMDAwLCAweGUyMGQ2OGU5MDAwMDAwMDAsIDB4YmE4ZDhhM2UwMDAwMDAwMCwKKyAgICAweDEzMGJkYzlkMDAwMDAwMDAsIDB4NGI4YjNlNGEwMDAwMDAwMCwgMHg4NTFkYTEwOTAwMDAwMDAwLAorICAgIDB4ZGQ5ZDQzZGUwMDAwMDAwMCwgMHg3NDFiMTU3ZDAwMDAwMDAwLCAweDJjOWJmN2FhMDAwMDAwMDAsCisgICAgMHg2NzEwYzllMDAwMDAwMDAwLCAweDNmOTAyYjM3MDAwMDAwMDAsIDB4OTYxNjdkOTQwMDAwMDAwMCwKKyAgICAweGNlOTY5ZjQzMDAwMDAwMDAsIDB4MGEzYjQyMTMwMDAwMDAwMCwgMHg1MmJiYTBjNDAwMDAwMDAwLAorICAgIDB4ZmIzZGY2NjcwMDAwMDAwMCwgMHhhM2JkMTRiMDAwMDAwMDAwLCAweGU4MzYyYWZhMDAwMDAwMDAsCisgICAgMHhiMGI2YzgyZDAwMDAwMDAwLCAweDE5MzA5ZThlMDAwMDAwMDAsIDB4NDFiMDdjNTkwMDAwMDAwMCwKKyAgICAweDhmMjZlMzFhMDAwMDAwMDAsIDB4ZDdhNjAxY2QwMDAwMDAwMCwgMHg3ZTIwNTc2ZTAwMDAwMDAwLAorICAgIDB4MjZhMGI1YjkwMDAwMDAwMCwgMHg2ZDJiOGJmMzAwMDAwMDAwLCAweDM1YWI2OTI0MDAwMDAwMDAsCisgICAgMHg5YzJkM2Y4NzAwMDAwMDAwLCAweGM0YWRkZDUwMDAwMDAwMDAsIDB4MTQ3Njg0MjYwMDAwMDAwMCwKKyAgICAweDRjZjY2NmYxMDAwMDAwMDAsIDB4ZTU3MDMwNTIwMDAwMDAwMCwgMHhiZGYwZDI4NTAwMDAwMDAwLAorICAgIDB4ZjY3YmVjY2YwMDAwMDAwMCwgMHhhZWZiMGUxODAwMDAwMDAwLCAweDA3N2Q1OGJiMDAwMDAwMDAsCisgICAgMHg1ZmZkYmE2YzAwMDAwMDAwLCAweDkxNmIyNTJmMDAwMDAwMDAsIDB4YzllYmM3ZjgwMDAwMDAwMCwKKyAgICAweDYwNmQ5MTViMDAwMDAwMDAsIDB4MzhlZDczOGMwMDAwMDAwMCwgMHg3MzY2NGRjNjAwMDAwMDAwLAorICAgIDB4MmJlNmFmMTEwMDAwMDAwMCwgMHg4MjYwZjliMjAwMDAwMDAwLCAweGRhZTAxYjY1MDAwMDAwMDAsCisgICAgMHgxZTRkYzYzNTAwMDAwMDAwLCAweDQ2Y2QyNGUyMDAwMDAwMDAsIDB4ZWY0YjcyNDEwMDAwMDAwMCwKKyAgICAweGI3Y2I5MDk2MDAwMDAwMDAsIDB4ZmM0MGFlZGMwMDAwMDAwMCwgMHhhNGMwNGMwYjAwMDAwMDAwLAorICAgIDB4MGQ0NjFhYTgwMDAwMDAwMCwgMHg1NWM2Zjg3ZjAwMDAwMDAwLCAweDliNTA2NzNjMDAwMDAwMDAsCisgICAgMHhjM2QwODVlYjAwMDAwMDAwLCAweDZhNTZkMzQ4MDAwMDAwMDAsIDB4MzJkNjMxOWYwMDAwMDAwMCwKKyAgICAweDc5NWQwZmQ1MDAwMDAwMDAsIDB4MjFkZGVkMDIwMDAwMDAwMCwgMHg4ODViYmJhMTAwMDAwMDAwLAorICAgIDB4ZDBkYjU5NzYwMDAwMDAwMCwgMHgyOGVjMDg0ZDAwMDAwMDAwLCAweDcwNmNlYTlhMDAwMDAwMDAsCisgICAgMHhkOWVhYmMzOTAwMDAwMDAwLCAweDgxNmE1ZWVlMDAwMDAwMDAsIDB4Y2FlMTYwYTQwMDAwMDAwMCwKKyAgICAweDkyNjE4MjczMDAwMDAwMDAsIDB4M2JlN2Q0ZDAwMDAwMDAwMCwgMHg2MzY3MzYwNzAwMDAwMDAwLAorICAgIDB4YWRmMWE5NDQwMDAwMDAwMCwgMHhmNTcxNGI5MzAwMDAwMDAwLCAweDVjZjcxZDMwMDAwMDAwMDAsCisgICAgMHgwNDc3ZmZlNzAwMDAwMDAwLCAweDRmZmNjMWFkMDAwMDAwMDAsIDB4MTc3YzIzN2EwMDAwMDAwMCwKKyAgICAweGJlZmE3NWQ5MDAwMDAwMDAsIDB4ZTY3YTk3MGUwMDAwMDAwMCwgMHgyMmQ3NGE1ZTAwMDAwMDAwLAorICAgIDB4N2E1N2E4ODkwMDAwMDAwMCwgMHhkM2QxZmUyYTAwMDAwMDAwLCAweDhiNTExY2ZkMDAwMDAwMDAsCisgICAgMHhjMGRhMjJiNzAwMDAwMDAwLCAweDk4NWFjMDYwMDAwMDAwMDAsIDB4MzFkYzk2YzMwMDAwMDAwMCwKKyAgICAweDY5NWM3NDE0MDAwMDAwMDAsIDB4YTdjYWViNTcwMDAwMDAwMCwgMHhmZjRhMDk4MDAwMDAwMDAwLAorICAgIDB4NTZjYzVmMjMwMDAwMDAwMCwgMHgwZTRjYmRmNDAwMDAwMDAwLCAweDQ1Yzc4M2JlMDAwMDAwMDAsCisgICAgMHgxZDQ3NjE2OTAwMDAwMDAwLCAweGI0YzEzN2NhMDAwMDAwMDAsIDB4ZWM0MWQ1MWQwMDAwMDAwMCwKKyAgICAweDNjOWE4YzZiMDAwMDAwMDAsIDB4NjQxYTZlYmMwMDAwMDAwMCwgMHhjZDljMzgxZjAwMDAwMDAwLAorICAgIDB4OTUxY2RhYzgwMDAwMDAwMCwgMHhkZTk3ZTQ4MjAwMDAwMDAwLCAweDg2MTcwNjU1MDAwMDAwMDAsCisgICAgMHgyZjkxNTBmNjAwMDAwMDAwLCAweDc3MTFiMjIxMDAwMDAwMDAsIDB4Yjk4NzJkNjIwMDAwMDAwMCwKKyAgICAweGUxMDdjZmI1MDAwMDAwMDAsIDB4NDg4MTk5MTYwMDAwMDAwMCwgMHgxMDAxN2JjMTAwMDAwMDAwLAorICAgIDB4NWI4YTQ1OGIwMDAwMDAwMCwgMHgwMzBhYTc1YzAwMDAwMDAwLCAweGFhOGNmMWZmMDAwMDAwMDAsCisgICAgMHhmMjBjMTMyODAwMDAwMDAwLCAweDM2YTFjZTc4MDAwMDAwMDAsIDB4NmUyMTJjYWYwMDAwMDAwMCwKKyAgICAweGM3YTc3YTBjMDAwMDAwMDAsIDB4OWYyNzk4ZGIwMDAwMDAwMCwgMHhkNGFjYTY5MTAwMDAwMDAwLAorICAgIDB4OGMyYzQ0NDYwMDAwMDAwMCwgMHgyNWFhMTJlNTAwMDAwMDAwLCAweDdkMmFmMDMyMDAwMDAwMDAsCisgICAgMHhiM2JjNmY3MTAwMDAwMDAwLCAweGViM2M4ZGE2MDAwMDAwMDAsIDB4NDJiYWRiMDUwMDAwMDAwMCwKKyAgICAweDFhM2EzOWQyMDAwMDAwMDAsIDB4NTFiMTA3OTgwMDAwMDAwMCwgMHgwOTMxZTU0ZjAwMDAwMDAwLAorICAgIDB4YTBiN2IzZWMwMDAwMDAwMCwgMHhmODM3NTEzYjAwMDAwMDAwLCAweDUwZDgxMTlhMDAwMDAwMDAsCisgICAgMHgwODU4ZjM0ZDAwMDAwMDAwLCAweGExZGVhNWVlMDAwMDAwMDAsIDB4Zjk1ZTQ3MzkwMDAwMDAwMCwKKyAgICAweGIyZDU3OTczMDAwMDAwMDAsIDB4ZWE1NTliYTQwMDAwMDAwMCwgMHg0M2QzY2QwNzAwMDAwMDAwLAorICAgIDB4MWI1MzJmZDAwMDAwMDAwMCwgMHhkNWM1YjA5MzAwMDAwMDAwLCAweDhkNDU1MjQ0MDAwMDAwMDAsCisgICAgMHgyNGMzMDRlNzAwMDAwMDAwLCAweDdjNDNlNjMwMDAwMDAwMDAsIDB4MzdjOGQ4N2EwMDAwMDAwMCwKKyAgICAweDZmNDgzYWFkMDAwMDAwMDAsIDB4YzZjZTZjMGUwMDAwMDAwMCwgMHg5ZTRlOGVkOTAwMDAwMDAwLAorICAgIDB4NWFlMzUzODkwMDAwMDAwMCwgMHgwMjYzYjE1ZTAwMDAwMDAwLCAweGFiZTVlN2ZkMDAwMDAwMDAsCisgICAgMHhmMzY1MDUyYTAwMDAwMDAwLCAweGI4ZWUzYjYwMDAwMDAwMDAsIDB4ZTA2ZWQ5YjcwMDAwMDAwMCwKKyAgICAweDQ5ZTg4ZjE0MDAwMDAwMDAsIDB4MTE2ODZkYzMwMDAwMDAwMCwgMHhkZmZlZjI4MDAwMDAwMDAwLAorICAgIDB4ODc3ZTEwNTcwMDAwMDAwMCwgMHgyZWY4NDZmNDAwMDAwMDAwLCAweDc2NzhhNDIzMDAwMDAwMDAsCisgICAgMHgzZGYzOWE2OTAwMDAwMDAwLCAweDY1NzM3OGJlMDAwMDAwMDAsIDB4Y2NmNTJlMWQwMDAwMDAwMCwKKyAgICAweDk0NzVjY2NhMDAwMDAwMDAsIDB4NDRhZTk1YmMwMDAwMDAwMCwgMHgxYzJlNzc2YjAwMDAwMDAwLAorICAgIDB4YjVhODIxYzgwMDAwMDAwMCwgMHhlZDI4YzMxZjAwMDAwMDAwLCAweGE2YTNmZDU1MDAwMDAwMDAsCisgICAgMHhmZTIzMWY4MjAwMDAwMDAwLCAweDU3YTU0OTIxMDAwMDAwMDAsIDB4MGYyNWFiZjYwMDAwMDAwMCwKKyAgICAweGMxYjMzNGI1MDAwMDAwMDAsIDB4OTkzM2Q2NjIwMDAwMDAwMCwgMHgzMGI1ODBjMTAwMDAwMDAwLAorICAgIDB4NjgzNTYyMTYwMDAwMDAwMCwgMHgyM2JlNWM1YzAwMDAwMDAwLCAweDdiM2ViZThiMDAwMDAwMDAsCisgICAgMHhkMmI4ZTgyODAwMDAwMDAwLCAweDhhMzgwYWZmMDAwMDAwMDAsIDB4NGU5NWQ3YWYwMDAwMDAwMCwKKyAgICAweDE2MTUzNTc4MDAwMDAwMDAsIDB4YmY5MzYzZGIwMDAwMDAwMCwgMHhlNzEzODEwYzAwMDAwMDAwLAorICAgIDB4YWM5OGJmNDYwMDAwMDAwMCwgMHhmNDE4NWQ5MTAwMDAwMDAwLCAweDVkOWUwYjMyMDAwMDAwMDAsCisgICAgMHgwNTFlZTllNTAwMDAwMDAwLCAweGNiODg3NmE2MDAwMDAwMDAsIDB4OTMwODk0NzEwMDAwMDAwMCwKKyAgICAweDNhOGVjMmQyMDAwMDAwMDAsIDB4NjIwZTIwMDUwMDAwMDAwMCwgMHgyOTg1MWU0ZjAwMDAwMDAwLAorICAgIDB4NzEwNWZjOTgwMDAwMDAwMCwgMHhkODgzYWEzYjAwMDAwMDAwLCAweDgwMDM0OGVjMDAwMDAwMDAsCisgICAgMHg3ODM0MTlkNzAwMDAwMDAwLCAweDIwYjRmYjAwMDAwMDAwMDAsIDB4ODkzMmFkYTMwMDAwMDAwMCwKKyAgICAweGQxYjI0Zjc0MDAwMDAwMDAsIDB4OWEzOTcxM2UwMDAwMDAwMCwgMHhjMmI5OTNlOTAwMDAwMDAwLAorICAgIDB4NmIzZmM1NGEwMDAwMDAwMCwgMHgzM2JmMjc5ZDAwMDAwMDAwLCAweGZkMjliOGRlMDAwMDAwMDAsCisgICAgMHhhNWE5NWEwOTAwMDAwMDAwLCAweDBjMmYwY2FhMDAwMDAwMDAsIDB4NTRhZmVlN2QwMDAwMDAwMCwKKyAgICAweDFmMjRkMDM3MDAwMDAwMDAsIDB4NDdhNDMyZTAwMDAwMDAwMCwgMHhlZTIyNjQ0MzAwMDAwMDAwLAorICAgIDB4YjZhMjg2OTQwMDAwMDAwMCwgMHg3MjBmNWJjNDAwMDAwMDAwLCAweDJhOGZiOTEzMDAwMDAwMDAsCisgICAgMHg4MzA5ZWZiMDAwMDAwMDAwLCAweGRiODkwZDY3MDAwMDAwMDAsIDB4OTAwMjMzMmQwMDAwMDAwMCwKKyAgICAweGM4ODJkMWZhMDAwMDAwMDAsIDB4NjEwNDg3NTkwMDAwMDAwMCwgMHgzOTg0NjU4ZTAwMDAwMDAwLAorICAgIDB4ZjcxMmZhY2QwMDAwMDAwMCwgMHhhZjkyMTgxYTAwMDAwMDAwLCAweDA2MTQ0ZWI5MDAwMDAwMDAsCisgICAgMHg1ZTk0YWM2ZTAwMDAwMDAwLCAweDE1MWY5MjI0MDAwMDAwMDAsIDB4NGQ5ZjcwZjMwMDAwMDAwMCwKKyAgICAweGU0MTkyNjUwMDAwMDAwMDAsIDB4YmM5OWM0ODcwMDAwMDAwMCwgMHg2YzQyOWRmMTAwMDAwMDAwLAorICAgIDB4MzRjMjdmMjYwMDAwMDAwMCwgMHg5ZDQ0Mjk4NTAwMDAwMDAwLCAweGM1YzRjYjUyMDAwMDAwMDAsCisgICAgMHg4ZTRmZjUxODAwMDAwMDAwLCAweGQ2Y2YxN2NmMDAwMDAwMDAsIDB4N2Y0OTQxNmMwMDAwMDAwMCwKKyAgICAweDI3YzlhM2JiMDAwMDAwMDAsIDB4ZTk1ZjNjZjgwMDAwMDAwMCwgMHhiMWRmZGUyZjAwMDAwMDAwLAorICAgIDB4MTg1OTg4OGMwMDAwMDAwMCwgMHg0MGQ5NmE1YjAwMDAwMDAwLCAweDBiNTI1NDExMDAwMDAwMDAsCisgICAgMHg1M2QyYjZjNjAwMDAwMDAwLCAweGZhNTRlMDY1MDAwMDAwMDAsIDB4YTJkNDAyYjIwMDAwMDAwMCwKKyAgICAweDY2NzlkZmUyMDAwMDAwMDAsIDB4M2VmOTNkMzUwMDAwMDAwMCwgMHg5NzdmNmI5NjAwMDAwMDAwLAorICAgIDB4Y2ZmZjg5NDEwMDAwMDAwMCwgMHg4NDc0YjcwYjAwMDAwMDAwLCAweGRjZjQ1NWRjMDAwMDAwMDAsCisgICAgMHg3NTcyMDM3ZjAwMDAwMDAwLCAweDJkZjJlMWE4MDAwMDAwMDAsIDB4ZTM2NDdlZWIwMDAwMDAwMCwKKyAgICAweGJiZTQ5YzNjMDAwMDAwMDAsIDB4MTI2MmNhOWYwMDAwMDAwMCwgMHg0YWUyMjg0ODAwMDAwMDAwLAorICAgIDB4MDE2OTE2MDIwMDAwMDAwMCwgMHg1OWU5ZjRkNTAwMDAwMDAwLCAweGYwNmZhMjc2MDAwMDAwMDAsCisgICAgMHhhOGVmNDBhMTAwMDAwMDAwfSwKKyAgIHsweDAwMDAwMDAwMDAwMDAwMDAsIDB4NDYzYjY3NjUwMDAwMDAwMCwgMHg4Yzc2Y2VjYTAwMDAwMDAwLAorICAgIDB4Y2E0ZGE5YWYwMDAwMDAwMCwgMHg1OWViZWQ0ZTAwMDAwMDAwLCAweDFmZDA4YTJiMDAwMDAwMDAsCisgICAgMHhkNTlkMjM4NDAwMDAwMDAwLCAweDkzYTY0NGUxMDAwMDAwMDAsIDB4YjJkNmRiOWQwMDAwMDAwMCwKKyAgICAweGY0ZWRiY2Y4MDAwMDAwMDAsIDB4M2VhMDE1NTcwMDAwMDAwMCwgMHg3ODliNzIzMjAwMDAwMDAwLAorICAgIDB4ZWIzZDM2ZDMwMDAwMDAwMCwgMHhhZDA2NTFiNjAwMDAwMDAwLCAweDY3NGJmODE5MDAwMDAwMDAsCisgICAgMHgyMTcwOWY3YzAwMDAwMDAwLCAweDI1YWJjNmUwMDAwMDAwMDAsIDB4NjM5MGExODUwMDAwMDAwMCwKKyAgICAweGE5ZGQwODJhMDAwMDAwMDAsIDB4ZWZlNjZmNGYwMDAwMDAwMCwgMHg3YzQwMmJhZTAwMDAwMDAwLAorICAgIDB4M2E3YjRjY2IwMDAwMDAwMCwgMHhmMDM2ZTU2NDAwMDAwMDAwLCAweGI2MGQ4MjAxMDAwMDAwMDAsCisgICAgMHg5NzdkMWQ3ZDAwMDAwMDAwLCAweGQxNDY3YTE4MDAwMDAwMDAsIDB4MWIwYmQzYjcwMDAwMDAwMCwKKyAgICAweDVkMzBiNGQyMDAwMDAwMDAsIDB4Y2U5NmYwMzMwMDAwMDAwMCwgMHg4OGFkOTc1NjAwMDAwMDAwLAorICAgIDB4NDJlMDNlZjkwMDAwMDAwMCwgMHgwNGRiNTk5YzAwMDAwMDAwLCAweDBiNTBmYzFhMDAwMDAwMDAsCisgICAgMHg0ZDZiOWI3ZjAwMDAwMDAwLCAweDg3MjYzMmQwMDAwMDAwMDAsIDB4YzExZDU1YjUwMDAwMDAwMCwKKyAgICAweDUyYmIxMTU0MDAwMDAwMDAsIDB4MTQ4MDc2MzEwMDAwMDAwMCwgMHhkZWNkZGY5ZTAwMDAwMDAwLAorICAgIDB4OThmNmI4ZmIwMDAwMDAwMCwgMHhiOTg2Mjc4NzAwMDAwMDAwLCAweGZmYmQ0MGUyMDAwMDAwMDAsCisgICAgMHgzNWYwZTk0ZDAwMDAwMDAwLCAweDczY2I4ZTI4MDAwMDAwMDAsIDB4ZTA2ZGNhYzkwMDAwMDAwMCwKKyAgICAweGE2NTZhZGFjMDAwMDAwMDAsIDB4NmMxYjA0MDMwMDAwMDAwMCwgMHgyYTIwNjM2NjAwMDAwMDAwLAorICAgIDB4MmVmYjNhZmEwMDAwMDAwMCwgMHg2OGMwNWQ5ZjAwMDAwMDAwLCAweGEyOGRmNDMwMDAwMDAwMDAsCisgICAgMHhlNGI2OTM1NTAwMDAwMDAwLCAweDc3MTBkN2I0MDAwMDAwMDAsIDB4MzEyYmIwZDEwMDAwMDAwMCwKKyAgICAweGZiNjYxOTdlMDAwMDAwMDAsIDB4YmQ1ZDdlMWIwMDAwMDAwMCwgMHg5YzJkZTE2NzAwMDAwMDAwLAorICAgIDB4ZGExNjg2MDIwMDAwMDAwMCwgMHgxMDViMmZhZDAwMDAwMDAwLCAweDU2NjA0OGM4MDAwMDAwMDAsCisgICAgMHhjNWM2MGMyOTAwMDAwMDAwLCAweDgzZmQ2YjRjMDAwMDAwMDAsIDB4NDliMGMyZTMwMDAwMDAwMCwKKyAgICAweDBmOGJhNTg2MDAwMDAwMDAsIDB4MTZhMGY4MzUwMDAwMDAwMCwgMHg1MDliOWY1MDAwMDAwMDAwLAorICAgIDB4OWFkNjM2ZmYwMDAwMDAwMCwgMHhkY2VkNTE5YTAwMDAwMDAwLCAweDRmNGIxNTdiMDAwMDAwMDAsCisgICAgMHgwOTcwNzIxZTAwMDAwMDAwLCAweGMzM2RkYmIxMDAwMDAwMDAsIDB4ODUwNmJjZDQwMDAwMDAwMCwKKyAgICAweGE0NzYyM2E4MDAwMDAwMDAsIDB4ZTI0ZDQ0Y2QwMDAwMDAwMCwgMHgyODAwZWQ2MjAwMDAwMDAwLAorICAgIDB4NmUzYjhhMDcwMDAwMDAwMCwgMHhmZDlkY2VlNjAwMDAwMDAwLCAweGJiYTZhOTgzMDAwMDAwMDAsCisgICAgMHg3MWViMDAyYzAwMDAwMDAwLCAweDM3ZDA2NzQ5MDAwMDAwMDAsIDB4MzMwYjNlZDUwMDAwMDAwMCwKKyAgICAweDc1MzA1OWIwMDAwMDAwMDAsIDB4YmY3ZGYwMWYwMDAwMDAwMCwgMHhmOTQ2OTc3YTAwMDAwMDAwLAorICAgIDB4NmFlMGQzOWIwMDAwMDAwMCwgMHgyY2RiYjRmZTAwMDAwMDAwLCAweGU2OTYxZDUxMDAwMDAwMDAsCisgICAgMHhhMGFkN2EzNDAwMDAwMDAwLCAweDgxZGRlNTQ4MDAwMDAwMDAsIDB4YzdlNjgyMmQwMDAwMDAwMCwKKyAgICAweDBkYWIyYjgyMDAwMDAwMDAsIDB4NGI5MDRjZTcwMDAwMDAwMCwgMHhkODM2MDgwNjAwMDAwMDAwLAorICAgIDB4OWUwZDZmNjMwMDAwMDAwMCwgMHg1NDQwYzZjYzAwMDAwMDAwLCAweDEyN2JhMWE5MDAwMDAwMDAsCisgICAgMHgxZGYwMDQyZjAwMDAwMDAwLCAweDViY2I2MzRhMDAwMDAwMDAsIDB4OTE4NmNhZTUwMDAwMDAwMCwKKyAgICAweGQ3YmRhZDgwMDAwMDAwMDAsIDB4NDQxYmU5NjEwMDAwMDAwMCwgMHgwMjIwOGUwNDAwMDAwMDAwLAorICAgIDB4Yzg2ZDI3YWIwMDAwMDAwMCwgMHg4ZTU2NDBjZTAwMDAwMDAwLCAweGFmMjZkZmIyMDAwMDAwMDAsCisgICAgMHhlOTFkYjhkNzAwMDAwMDAwLCAweDIzNTAxMTc4MDAwMDAwMDAsIDB4NjU2Yjc2MWQwMDAwMDAwMCwKKyAgICAweGY2Y2QzMmZjMDAwMDAwMDAsIDB4YjBmNjU1OTkwMDAwMDAwMCwgMHg3YWJiZmMzNjAwMDAwMDAwLAorICAgIDB4M2M4MDliNTMwMDAwMDAwMCwgMHgzODViYzJjZjAwMDAwMDAwLCAweDdlNjBhNWFhMDAwMDAwMDAsCisgICAgMHhiNDJkMGMwNTAwMDAwMDAwLCAweGYyMTY2YjYwMDAwMDAwMDAsIDB4NjFiMDJmODEwMDAwMDAwMCwKKyAgICAweDI3OGI0OGU0MDAwMDAwMDAsIDB4ZWRjNmUxNGIwMDAwMDAwMCwgMHhhYmZkODYyZTAwMDAwMDAwLAorICAgIDB4OGE4ZDE5NTIwMDAwMDAwMCwgMHhjY2I2N2UzNzAwMDAwMDAwLCAweDA2ZmJkNzk4MDAwMDAwMDAsCisgICAgMHg0MGMwYjBmZDAwMDAwMDAwLCAweGQzNjZmNDFjMDAwMDAwMDAsIDB4OTU1ZDkzNzkwMDAwMDAwMCwKKyAgICAweDVmMTAzYWQ2MDAwMDAwMDAsIDB4MTkyYjVkYjMwMDAwMDAwMCwgMHgyYzQwZjE2YjAwMDAwMDAwLAorICAgIDB4NmE3Yjk2MGUwMDAwMDAwMCwgMHhhMDM2M2ZhMTAwMDAwMDAwLCAweGU2MGQ1OGM0MDAwMDAwMDAsCisgICAgMHg3NWFiMWMyNTAwMDAwMDAwLCAweDMzOTA3YjQwMDAwMDAwMDAsIDB4ZjlkZGQyZWYwMDAwMDAwMCwKKyAgICAweGJmZTZiNThhMDAwMDAwMDAsIDB4OWU5NjJhZjYwMDAwMDAwMCwgMHhkOGFkNGQ5MzAwMDAwMDAwLAorICAgIDB4MTJlMGU0M2MwMDAwMDAwMCwgMHg1NGRiODM1OTAwMDAwMDAwLCAweGM3N2RjN2I4MDAwMDAwMDAsCisgICAgMHg4MTQ2YTBkZDAwMDAwMDAwLCAweDRiMGIwOTcyMDAwMDAwMDAsIDB4MGQzMDZlMTcwMDAwMDAwMCwKKyAgICAweDA5ZWIzNzhiMDAwMDAwMDAsIDB4NGZkMDUwZWUwMDAwMDAwMCwgMHg4NTlkZjk0MTAwMDAwMDAwLAorICAgIDB4YzNhNjllMjQwMDAwMDAwMCwgMHg1MDAwZGFjNTAwMDAwMDAwLCAweDE2M2JiZGEwMDAwMDAwMDAsCisgICAgMHhkYzc2MTQwZjAwMDAwMDAwLCAweDlhNGQ3MzZhMDAwMDAwMDAsIDB4YmIzZGVjMTYwMDAwMDAwMCwKKyAgICAweGZkMDY4YjczMDAwMDAwMDAsIDB4Mzc0YjIyZGMwMDAwMDAwMCwgMHg3MTcwNDViOTAwMDAwMDAwLAorICAgIDB4ZTJkNjAxNTgwMDAwMDAwMCwgMHhhNGVkNjYzZDAwMDAwMDAwLCAweDZlYTBjZjkyMDAwMDAwMDAsCisgICAgMHgyODliYThmNzAwMDAwMDAwLCAweDI3MTAwZDcxMDAwMDAwMDAsIDB4NjEyYjZhMTQwMDAwMDAwMCwKKyAgICAweGFiNjZjM2JiMDAwMDAwMDAsIDB4ZWQ1ZGE0ZGUwMDAwMDAwMCwgMHg3ZWZiZTAzZjAwMDAwMDAwLAorICAgIDB4MzhjMDg3NWEwMDAwMDAwMCwgMHhmMjhkMmVmNTAwMDAwMDAwLCAweGI0YjY0OTkwMDAwMDAwMDAsCisgICAgMHg5NWM2ZDZlYzAwMDAwMDAwLCAweGQzZmRiMTg5MDAwMDAwMDAsIDB4MTliMDE4MjYwMDAwMDAwMCwKKyAgICAweDVmOGI3ZjQzMDAwMDAwMDAsIDB4Y2MyZDNiYTIwMDAwMDAwMCwgMHg4YTE2NWNjNzAwMDAwMDAwLAorICAgIDB4NDA1YmY1NjgwMDAwMDAwMCwgMHgwNjYwOTIwZDAwMDAwMDAwLCAweDAyYmJjYjkxMDAwMDAwMDAsCisgICAgMHg0NDgwYWNmNDAwMDAwMDAwLCAweDhlY2QwNTViMDAwMDAwMDAsIDB4YzhmNjYyM2UwMDAwMDAwMCwKKyAgICAweDViNTAyNmRmMDAwMDAwMDAsIDB4MWQ2YjQxYmEwMDAwMDAwMCwgMHhkNzI2ZTgxNTAwMDAwMDAwLAorICAgIDB4OTExZDhmNzAwMDAwMDAwMCwgMHhiMDZkMTAwYzAwMDAwMDAwLCAweGY2NTY3NzY5MDAwMDAwMDAsCisgICAgMHgzYzFiZGVjNjAwMDAwMDAwLCAweDdhMjBiOWEzMDAwMDAwMDAsIDB4ZTk4NmZkNDIwMDAwMDAwMCwKKyAgICAweGFmYmQ5YTI3MDAwMDAwMDAsIDB4NjVmMDMzODgwMDAwMDAwMCwgMHgyM2NiNTRlZDAwMDAwMDAwLAorICAgIDB4M2FlMDA5NWUwMDAwMDAwMCwgMHg3Y2RiNmUzYjAwMDAwMDAwLCAweGI2OTZjNzk0MDAwMDAwMDAsCisgICAgMHhmMGFkYTBmMTAwMDAwMDAwLCAweDYzMGJlNDEwMDAwMDAwMDAsIDB4MjUzMDgzNzUwMDAwMDAwMCwKKyAgICAweGVmN2QyYWRhMDAwMDAwMDAsIDB4YTk0NjRkYmYwMDAwMDAwMCwgMHg4ODM2ZDJjMzAwMDAwMDAwLAorICAgIDB4Y2UwZGI1YTYwMDAwMDAwMCwgMHgwNDQwMWMwOTAwMDAwMDAwLCAweDQyN2I3YjZjMDAwMDAwMDAsCisgICAgMHhkMWRkM2Y4ZDAwMDAwMDAwLCAweDk3ZTY1OGU4MDAwMDAwMDAsIDB4NWRhYmYxNDcwMDAwMDAwMCwKKyAgICAweDFiOTA5NjIyMDAwMDAwMDAsIDB4MWY0YmNmYmUwMDAwMDAwMCwgMHg1OTcwYThkYjAwMDAwMDAwLAorICAgIDB4OTMzZDAxNzQwMDAwMDAwMCwgMHhkNTA2NjYxMTAwMDAwMDAwLCAweDQ2YTAyMmYwMDAwMDAwMDAsCisgICAgMHgwMDliNDU5NTAwMDAwMDAwLCAweGNhZDZlYzNhMDAwMDAwMDAsIDB4OGNlZDhiNWYwMDAwMDAwMCwKKyAgICAweGFkOWQxNDIzMDAwMDAwMDAsIDB4ZWJhNjczNDYwMDAwMDAwMCwgMHgyMWViZGFlOTAwMDAwMDAwLAorICAgIDB4NjdkMGJkOGMwMDAwMDAwMCwgMHhmNDc2Zjk2ZDAwMDAwMDAwLCAweGIyNGQ5ZTA4MDAwMDAwMDAsCisgICAgMHg3ODAwMzdhNzAwMDAwMDAwLCAweDNlM2I1MGMyMDAwMDAwMDAsIDB4MzFiMGY1NDQwMDAwMDAwMCwKKyAgICAweDc3OGI5MjIxMDAwMDAwMDAsIDB4YmRjNjNiOGUwMDAwMDAwMCwgMHhmYmZkNWNlYjAwMDAwMDAwLAorICAgIDB4Njg1YjE4MGEwMDAwMDAwMCwgMHgyZTYwN2Y2ZjAwMDAwMDAwLCAweGU0MmRkNmMwMDAwMDAwMDAsCisgICAgMHhhMjE2YjFhNTAwMDAwMDAwLCAweDgzNjYyZWQ5MDAwMDAwMDAsIDB4YzU1ZDQ5YmMwMDAwMDAwMCwKKyAgICAweDBmMTBlMDEzMDAwMDAwMDAsIDB4NDkyYjg3NzYwMDAwMDAwMCwgMHhkYThkYzM5NzAwMDAwMDAwLAorICAgIDB4OWNiNmE0ZjIwMDAwMDAwMCwgMHg1NmZiMGQ1ZDAwMDAwMDAwLCAweDEwYzA2YTM4MDAwMDAwMDAsCisgICAgMHgxNDFiMzNhNDAwMDAwMDAwLCAweDUyMjA1NGMxMDAwMDAwMDAsIDB4OTg2ZGZkNmUwMDAwMDAwMCwKKyAgICAweGRlNTY5YTBiMDAwMDAwMDAsIDB4NGRmMGRlZWEwMDAwMDAwMCwgMHgwYmNiYjk4ZjAwMDAwMDAwLAorICAgIDB4YzE4NjEwMjAwMDAwMDAwMCwgMHg4N2JkNzc0NTAwMDAwMDAwLCAweGE2Y2RlODM5MDAwMDAwMDAsCisgICAgMHhlMGY2OGY1YzAwMDAwMDAwLCAweDJhYmIyNmYzMDAwMDAwMDAsIDB4NmM4MDQxOTYwMDAwMDAwMCwKKyAgICAweGZmMjYwNTc3MDAwMDAwMDAsIDB4YjkxZDYyMTIwMDAwMDAwMCwgMHg3MzUwY2JiZDAwMDAwMDAwLAorICAgIDB4MzU2YmFjZDgwMDAwMDAwMH0sCisgICB7MHgwMDAwMDAwMDAwMDAwMDAwLCAweDllODNkYTlmMDAwMDAwMDAsIDB4N2QwMWM0ZTQwMDAwMDAwMCwKKyAgICAweGUzODIxZTdiMDAwMDAwMDAsIDB4YmIwNGY5MTIwMDAwMDAwMCwgMHgyNTg3MjM4ZDAwMDAwMDAwLAorICAgIDB4YzYwNTNkZjYwMDAwMDAwMCwgMHg1ODg2ZTc2OTAwMDAwMDAwLCAweDc2MDlmMjI1MDAwMDAwMDAsCisgICAgMHhlODhhMjhiYTAwMDAwMDAwLCAweDBiMDgzNmMxMDAwMDAwMDAsIDB4OTU4YmVjNWUwMDAwMDAwMCwKKyAgICAweGNkMGQwYjM3MDAwMDAwMDAsIDB4NTM4ZWQxYTgwMDAwMDAwMCwgMHhiMDBjY2ZkMzAwMDAwMDAwLAorICAgIDB4MmU4ZjE1NGMwMDAwMDAwMCwgMHhlYzEyZTQ0YjAwMDAwMDAwLCAweDcyOTEzZWQ0MDAwMDAwMDAsCisgICAgMHg5MTEzMjBhZjAwMDAwMDAwLCAweDBmOTBmYTMwMDAwMDAwMDAsIDB4NTcxNjFkNTkwMDAwMDAwMCwKKyAgICAweGM5OTVjN2M2MDAwMDAwMDAsIDB4MmExN2Q5YmQwMDAwMDAwMCwgMHhiNDk0MDMyMjAwMDAwMDAwLAorICAgIDB4OWExYjE2NmUwMDAwMDAwMCwgMHgwNDk4Y2NmMTAwMDAwMDAwLCAweGU3MWFkMjhhMDAwMDAwMDAsCisgICAgMHg3OTk5MDgxNTAwMDAwMDAwLCAweDIxMWZlZjdjMDAwMDAwMDAsIDB4YmY5YzM1ZTMwMDAwMDAwMCwKKyAgICAweDVjMWUyYjk4MDAwMDAwMDAsIDB4YzI5ZGYxMDcwMDAwMDAwMCwgMHhkODI1Yzg5NzAwMDAwMDAwLAorICAgIDB4NDZhNjEyMDgwMDAwMDAwMCwgMHhhNTI0MGM3MzAwMDAwMDAwLCAweDNiYTdkNmVjMDAwMDAwMDAsCisgICAgMHg2MzIxMzE4NTAwMDAwMDAwLCAweGZkYTJlYjFhMDAwMDAwMDAsIDB4MWUyMGY1NjEwMDAwMDAwMCwKKyAgICAweDgwYTMyZmZlMDAwMDAwMDAsIDB4YWUyYzNhYjIwMDAwMDAwMCwgMHgzMGFmZTAyZDAwMDAwMDAwLAorICAgIDB4ZDMyZGZlNTYwMDAwMDAwMCwgMHg0ZGFlMjRjOTAwMDAwMDAwLCAweDE1MjhjM2EwMDAwMDAwMDAsCisgICAgMHg4YmFiMTkzZjAwMDAwMDAwLCAweDY4MjkwNzQ0MDAwMDAwMDAsIDB4ZjZhYWRkZGIwMDAwMDAwMCwKKyAgICAweDM0MzcyY2RjMDAwMDAwMDAsIDB4YWFiNGY2NDMwMDAwMDAwMCwgMHg0OTM2ZTgzODAwMDAwMDAwLAorICAgIDB4ZDdiNTMyYTcwMDAwMDAwMCwgMHg4ZjMzZDVjZTAwMDAwMDAwLCAweDExYjAwZjUxMDAwMDAwMDAsCisgICAgMHhmMjMyMTEyYTAwMDAwMDAwLCAweDZjYjFjYmI1MDAwMDAwMDAsIDB4NDIzZWRlZjkwMDAwMDAwMCwKKyAgICAweGRjYmQwNDY2MDAwMDAwMDAsIDB4M2YzZjFhMWQwMDAwMDAwMCwgMHhhMWJjYzA4MjAwMDAwMDAwLAorICAgIDB4ZjkzYTI3ZWIwMDAwMDAwMCwgMHg2N2I5ZmQ3NDAwMDAwMDAwLCAweDg0M2JlMzBmMDAwMDAwMDAsCisgICAgMHgxYWI4Mzk5MDAwMDAwMDAwLCAweGYxNGRlMWY0MDAwMDAwMDAsIDB4NmZjZTNiNmIwMDAwMDAwMCwKKyAgICAweDhjNGMyNTEwMDAwMDAwMDAsIDB4MTJjZmZmOGYwMDAwMDAwMCwgMHg0YTQ5MThlNjAwMDAwMDAwLAorICAgIDB4ZDRjYWMyNzkwMDAwMDAwMCwgMHgzNzQ4ZGMwMjAwMDAwMDAwLCAweGE5Y2IwNjlkMDAwMDAwMDAsCisgICAgMHg4NzQ0MTNkMTAwMDAwMDAwLCAweDE5YzdjOTRlMDAwMDAwMDAsIDB4ZmE0NWQ3MzUwMDAwMDAwMCwKKyAgICAweDY0YzYwZGFhMDAwMDAwMDAsIDB4M2M0MGVhYzMwMDAwMDAwMCwgMHhhMmMzMzA1YzAwMDAwMDAwLAorICAgIDB4NDE0MTJlMjcwMDAwMDAwMCwgMHhkZmMyZjRiODAwMDAwMDAwLCAweDFkNWYwNWJmMDAwMDAwMDAsCisgICAgMHg4M2RjZGYyMDAwMDAwMDAwLCAweDYwNWVjMTViMDAwMDAwMDAsIDB4ZmVkZDFiYzQwMDAwMDAwMCwKKyAgICAweGE2NWJmY2FkMDAwMDAwMDAsIDB4MzhkODI2MzIwMDAwMDAwMCwgMHhkYjVhMzg0OTAwMDAwMDAwLAorICAgIDB4NDVkOWUyZDYwMDAwMDAwMCwgMHg2YjU2Zjc5YTAwMDAwMDAwLCAweGY1ZDUyZDA1MDAwMDAwMDAsCisgICAgMHgxNjU3MzM3ZTAwMDAwMDAwLCAweDg4ZDRlOWUxMDAwMDAwMDAsIDB4ZDA1MjBlODgwMDAwMDAwMCwKKyAgICAweDRlZDFkNDE3MDAwMDAwMDAsIDB4YWQ1M2NhNmMwMDAwMDAwMCwgMHgzM2QwMTBmMzAwMDAwMDAwLAorICAgIDB4Mjk2ODI5NjMwMDAwMDAwMCwgMHhiN2ViZjNmYzAwMDAwMDAwLCAweDU0NjllZDg3MDAwMDAwMDAsCisgICAgMHhjYWVhMzcxODAwMDAwMDAwLCAweDkyNmNkMDcxMDAwMDAwMDAsIDB4MGNlZjBhZWUwMDAwMDAwMCwKKyAgICAweGVmNmQxNDk1MDAwMDAwMDAsIDB4NzFlZWNlMGEwMDAwMDAwMCwgMHg1ZjYxZGI0NjAwMDAwMDAwLAorICAgIDB4YzFlMjAxZDkwMDAwMDAwMCwgMHgyMjYwMWZhMjAwMDAwMDAwLCAweGJjZTNjNTNkMDAwMDAwMDAsCisgICAgMHhlNDY1MjI1NDAwMDAwMDAwLCAweDdhZTZmOGNiMDAwMDAwMDAsIDB4OTk2NGU2YjAwMDAwMDAwMCwKKyAgICAweDA3ZTczYzJmMDAwMDAwMDAsIDB4YzU3YWNkMjgwMDAwMDAwMCwgMHg1YmY5MTdiNzAwMDAwMDAwLAorICAgIDB4Yjg3YjA5Y2MwMDAwMDAwMCwgMHgyNmY4ZDM1MzAwMDAwMDAwLCAweDdlN2UzNDNhMDAwMDAwMDAsCisgICAgMHhlMGZkZWVhNTAwMDAwMDAwLCAweDAzN2ZmMGRlMDAwMDAwMDAsIDB4OWRmYzJhNDEwMDAwMDAwMCwKKyAgICAweGIzNzMzZjBkMDAwMDAwMDAsIDB4MmRmMGU1OTIwMDAwMDAwMCwgMHhjZTcyZmJlOTAwMDAwMDAwLAorICAgIDB4NTBmMTIxNzYwMDAwMDAwMCwgMHgwODc3YzYxZjAwMDAwMDAwLCAweDk2ZjQxYzgwMDAwMDAwMDAsCisgICAgMHg3NTc2MDJmYjAwMDAwMDAwLCAweGViZjVkODY0MDAwMDAwMDAsIDB4YTM5ZGIzMzIwMDAwMDAwMCwKKyAgICAweDNkMWU2OWFkMDAwMDAwMDAsIDB4ZGU5Yzc3ZDYwMDAwMDAwMCwgMHg0MDFmYWQ0OTAwMDAwMDAwLAorICAgIDB4MTg5OTRhMjAwMDAwMDAwMCwgMHg4NjFhOTBiZjAwMDAwMDAwLCAweDY1OTg4ZWM0MDAwMDAwMDAsCisgICAgMHhmYjFiNTQ1YjAwMDAwMDAwLCAweGQ1OTQ0MTE3MDAwMDAwMDAsIDB4NGIxNzliODgwMDAwMDAwMCwKKyAgICAweGE4OTU4NWYzMDAwMDAwMDAsIDB4MzYxNjVmNmMwMDAwMDAwMCwgMHg2ZTkwYjgwNTAwMDAwMDAwLAorICAgIDB4ZjAxMzYyOWEwMDAwMDAwMCwgMHgxMzkxN2NlMTAwMDAwMDAwLCAweDhkMTJhNjdlMDAwMDAwMDAsCisgICAgMHg0ZjhmNTc3OTAwMDAwMDAwLCAweGQxMGM4ZGU2MDAwMDAwMDAsIDB4MzI4ZTkzOWQwMDAwMDAwMCwKKyAgICAweGFjMGQ0OTAyMDAwMDAwMDAsIDB4ZjQ4YmFlNmIwMDAwMDAwMCwgMHg2YTA4NzRmNDAwMDAwMDAwLAorICAgIDB4ODk4YTZhOGYwMDAwMDAwMCwgMHgxNzA5YjAxMDAwMDAwMDAwLCAweDM5ODZhNTVjMDAwMDAwMDAsCisgICAgMHhhNzA1N2ZjMzAwMDAwMDAwLCAweDQ0ODc2MWI4MDAwMDAwMDAsIDB4ZGEwNGJiMjcwMDAwMDAwMCwKKyAgICAweDgyODI1YzRlMDAwMDAwMDAsIDB4MWMwMTg2ZDEwMDAwMDAwMCwgMHhmZjgzOThhYTAwMDAwMDAwLAorICAgIDB4NjEwMDQyMzUwMDAwMDAwMCwgMHg3YmI4N2JhNTAwMDAwMDAwLCAweGU1M2JhMTNhMDAwMDAwMDAsCisgICAgMHgwNmI5YmY0MTAwMDAwMDAwLCAweDk4M2E2NWRlMDAwMDAwMDAsIDB4YzBiYzgyYjcwMDAwMDAwMCwKKyAgICAweDVlM2Y1ODI4MDAwMDAwMDAsIDB4YmRiZDQ2NTMwMDAwMDAwMCwgMHgyMzNlOWNjYzAwMDAwMDAwLAorICAgIDB4MGRiMTg5ODAwMDAwMDAwMCwgMHg5MzMyNTMxZjAwMDAwMDAwLCAweDcwYjA0ZDY0MDAwMDAwMDAsCisgICAgMHhlZTMzOTdmYjAwMDAwMDAwLCAweGI2YjU3MDkyMDAwMDAwMDAsIDB4MjgzNmFhMGQwMDAwMDAwMCwKKyAgICAweGNiYjRiNDc2MDAwMDAwMDAsIDB4NTUzNzZlZTkwMDAwMDAwMCwgMHg5N2FhOWZlZTAwMDAwMDAwLAorICAgIDB4MDkyOTQ1NzEwMDAwMDAwMCwgMHhlYWFiNWIwYTAwMDAwMDAwLCAweDc0Mjg4MTk1MDAwMDAwMDAsCisgICAgMHgyY2FlNjZmYzAwMDAwMDAwLCAweGIyMmRiYzYzMDAwMDAwMDAsIDB4NTFhZmEyMTgwMDAwMDAwMCwKKyAgICAweGNmMmM3ODg3MDAwMDAwMDAsIDB4ZTFhMzZkY2IwMDAwMDAwMCwgMHg3ZjIwYjc1NDAwMDAwMDAwLAorICAgIDB4OWNhMmE5MmYwMDAwMDAwMCwgMHgwMjIxNzNiMDAwMDAwMDAwLCAweDVhYTc5NGQ5MDAwMDAwMDAsCisgICAgMHhjNDI0NGU0NjAwMDAwMDAwLCAweDI3YTY1MDNkMDAwMDAwMDAsIDB4YjkyNThhYTIwMDAwMDAwMCwKKyAgICAweDUyZDA1MmM2MDAwMDAwMDAsIDB4Y2M1Mzg4NTkwMDAwMDAwMCwgMHgyZmQxOTYyMjAwMDAwMDAwLAorICAgIDB4YjE1MjRjYmQwMDAwMDAwMCwgMHhlOWQ0YWJkNDAwMDAwMDAwLCAweDc3NTc3MTRiMDAwMDAwMDAsCisgICAgMHg5NGQ1NmYzMDAwMDAwMDAwLCAweDBhNTZiNWFmMDAwMDAwMDAsIDB4MjRkOWEwZTMwMDAwMDAwMCwKKyAgICAweGJhNWE3YTdjMDAwMDAwMDAsIDB4NTlkODY0MDcwMDAwMDAwMCwgMHhjNzViYmU5ODAwMDAwMDAwLAorICAgIDB4OWZkZDU5ZjEwMDAwMDAwMCwgMHgwMTVlODM2ZTAwMDAwMDAwLCAweGUyZGM5ZDE1MDAwMDAwMDAsCisgICAgMHg3YzVmNDc4YTAwMDAwMDAwLCAweGJlYzJiNjhkMDAwMDAwMDAsIDB4MjA0MTZjMTIwMDAwMDAwMCwKKyAgICAweGMzYzM3MjY5MDAwMDAwMDAsIDB4NWQ0MGE4ZjYwMDAwMDAwMCwgMHgwNWM2NGY5ZjAwMDAwMDAwLAorICAgIDB4OWI0NTk1MDAwMDAwMDAwMCwgMHg3OGM3OGI3YjAwMDAwMDAwLCAweGU2NDQ1MWU0MDAwMDAwMDAsCisgICAgMHhjOGNiNDRhODAwMDAwMDAwLCAweDU2NDg5ZTM3MDAwMDAwMDAsIDB4YjVjYTgwNGMwMDAwMDAwMCwKKyAgICAweDJiNDk1YWQzMDAwMDAwMDAsIDB4NzNjZmJkYmEwMDAwMDAwMCwgMHhlZDRjNjcyNTAwMDAwMDAwLAorICAgIDB4MGVjZTc5NWUwMDAwMDAwMCwgMHg5MDRkYTNjMTAwMDAwMDAwLCAweDhhZjU5YTUxMDAwMDAwMDAsCisgICAgMHgxNDc2NDBjZTAwMDAwMDAwLCAweGY3ZjQ1ZWI1MDAwMDAwMDAsIDB4Njk3Nzg0MmEwMDAwMDAwMCwKKyAgICAweDMxZjE2MzQzMDAwMDAwMDAsIDB4YWY3MmI5ZGMwMDAwMDAwMCwgMHg0Y2YwYTdhNzAwMDAwMDAwLAorICAgIDB4ZDI3MzdkMzgwMDAwMDAwMCwgMHhmY2ZjNjg3NDAwMDAwMDAwLCAweDYyN2ZiMmViMDAwMDAwMDAsCisgICAgMHg4MWZkYWM5MDAwMDAwMDAwLCAweDFmN2U3NjBmMDAwMDAwMDAsIDB4NDdmODkxNjYwMDAwMDAwMCwKKyAgICAweGQ5N2I0YmY5MDAwMDAwMDAsIDB4M2FmOTU1ODIwMDAwMDAwMCwgMHhhNDdhOGYxZDAwMDAwMDAwLAorICAgIDB4NjZlNzdlMWEwMDAwMDAwMCwgMHhmODY0YTQ4NTAwMDAwMDAwLCAweDFiZTZiYWZlMDAwMDAwMDAsCisgICAgMHg4NTY1NjA2MTAwMDAwMDAwLCAweGRkZTM4NzA4MDAwMDAwMDAsIDB4NDM2MDVkOTcwMDAwMDAwMCwKKyAgICAweGEwZTI0M2VjMDAwMDAwMDAsIDB4M2U2MTk5NzMwMDAwMDAwMCwgMHgxMGVlOGMzZjAwMDAwMDAwLAorICAgIDB4OGU2ZDU2YTAwMDAwMDAwMCwgMHg2ZGVmNDhkYjAwMDAwMDAwLCAweGYzNmM5MjQ0MDAwMDAwMDAsCisgICAgMHhhYmVhNzUyZDAwMDAwMDAwLCAweDM1NjlhZmIyMDAwMDAwMDAsIDB4ZDZlYmIxYzkwMDAwMDAwMCwKKyAgICAweDQ4Njg2YjU2MDAwMDAwMDB9LAorICAgezB4MDAwMDAwMDAwMDAwMDAwMCwgMHhjMDY0MjgxNzAwMDAwMDAwLCAweDgwYzk1MDJlMDAwMDAwMDAsCisgICAgMHg0MGFkNzgzOTAwMDAwMDAwLCAweDAwOTNhMTVjMDAwMDAwMDAsIDB4YzBmNzg5NGIwMDAwMDAwMCwKKyAgICAweDgwNWFmMTcyMDAwMDAwMDAsIDB4NDAzZWQ5NjUwMDAwMDAwMCwgMHgwMDI2NDNiOTAwMDAwMDAwLAorICAgIDB4YzA0MjZiYWUwMDAwMDAwMCwgMHg4MGVmMTM5NzAwMDAwMDAwLCAweDQwOGIzYjgwMDAwMDAwMDAsCisgICAgMHgwMGI1ZTJlNTAwMDAwMDAwLCAweGMwZDFjYWYyMDAwMDAwMDAsIDB4ODA3Y2IyY2IwMDAwMDAwMCwKKyAgICAweDQwMTg5YWRjMDAwMDAwMDAsIDB4NDE0YWY3YTkwMDAwMDAwMCwgMHg4MTJlZGZiZTAwMDAwMDAwLAorICAgIDB4YzE4M2E3ODcwMDAwMDAwMCwgMHgwMWU3OGY5MDAwMDAwMDAwLCAweDQxZDk1NmY1MDAwMDAwMDAsCisgICAgMHg4MWJkN2VlMjAwMDAwMDAwLCAweGMxMTAwNmRiMDAwMDAwMDAsIDB4MDE3NDJlY2MwMDAwMDAwMCwKKyAgICAweDQxNmNiNDEwMDAwMDAwMDAsIDB4ODEwODljMDcwMDAwMDAwMCwgMHhjMWE1ZTQzZTAwMDAwMDAwLAorICAgIDB4MDFjMWNjMjkwMDAwMDAwMCwgMHg0MWZmMTU0YzAwMDAwMDAwLCAweDgxOWIzZDViMDAwMDAwMDAsCisgICAgMHhjMTM2NDU2MjAwMDAwMDAwLCAweDAxNTI2ZDc1MDAwMDAwMDAsIDB4YzM5MjlmODgwMDAwMDAwMCwKKyAgICAweDAzZjZiNzlmMDAwMDAwMDAsIDB4NDM1YmNmYTYwMDAwMDAwMCwgMHg4MzNmZTdiMTAwMDAwMDAwLAorICAgIDB4YzMwMTNlZDQwMDAwMDAwMCwgMHgwMzY1MTZjMzAwMDAwMDAwLCAweDQzYzg2ZWZhMDAwMDAwMDAsCisgICAgMHg4M2FjNDZlZDAwMDAwMDAwLCAweGMzYjRkYzMxMDAwMDAwMDAsIDB4MDNkMGY0MjYwMDAwMDAwMCwKKyAgICAweDQzN2Q4YzFmMDAwMDAwMDAsIDB4ODMxOWE0MDgwMDAwMDAwMCwgMHhjMzI3N2Q2ZDAwMDAwMDAwLAorICAgIDB4MDM0MzU1N2EwMDAwMDAwMCwgMHg0M2VlMmQ0MzAwMDAwMDAwLCAweDgzOGEwNTU0MDAwMDAwMDAsCisgICAgMHg4MmQ4NjgyMTAwMDAwMDAwLCAweDQyYmM0MDM2MDAwMDAwMDAsIDB4MDIxMTM4MGYwMDAwMDAwMCwKKyAgICAweGMyNzUxMDE4MDAwMDAwMDAsIDB4ODI0YmM5N2QwMDAwMDAwMCwgMHg0MjJmZTE2YTAwMDAwMDAwLAorICAgIDB4MDI4Mjk5NTMwMDAwMDAwMCwgMHhjMmU2YjE0NDAwMDAwMDAwLCAweDgyZmUyYjk4MDAwMDAwMDAsCisgICAgMHg0MjlhMDM4ZjAwMDAwMDAwLCAweDAyMzc3YmI2MDAwMDAwMDAsIDB4YzI1MzUzYTEwMDAwMDAwMCwKKyAgICAweDgyNmQ4YWM0MDAwMDAwMDAsIDB4NDIwOWEyZDMwMDAwMDAwMCwgMHgwMmE0ZGFlYTAwMDAwMDAwLAorICAgIDB4YzJjMGYyZmQwMDAwMDAwMCwgMHhjNzIzNGVjYTAwMDAwMDAwLCAweDA3NDc2NmRkMDAwMDAwMDAsCisgICAgMHg0N2VhMWVlNDAwMDAwMDAwLCAweDg3OGUzNmYzMDAwMDAwMDAsIDB4YzdiMGVmOTYwMDAwMDAwMCwKKyAgICAweDA3ZDRjNzgxMDAwMDAwMDAsIDB4NDc3OWJmYjgwMDAwMDAwMCwgMHg4NzFkOTdhZjAwMDAwMDAwLAorICAgIDB4YzcwNTBkNzMwMDAwMDAwMCwgMHgwNzYxMjU2NDAwMDAwMDAwLCAweDQ3Y2M1ZDVkMDAwMDAwMDAsCisgICAgMHg4N2E4NzU0YTAwMDAwMDAwLCAweGM3OTZhYzJmMDAwMDAwMDAsIDB4MDdmMjg0MzgwMDAwMDAwMCwKKyAgICAweDQ3NWZmYzAxMDAwMDAwMDAsIDB4ODczYmQ0MTYwMDAwMDAwMCwgMHg4NjY5Yjk2MzAwMDAwMDAwLAorICAgIDB4NDYwZDkxNzQwMDAwMDAwMCwgMHgwNmEwZTk0ZDAwMDAwMDAwLCAweGM2YzRjMTVhMDAwMDAwMDAsCisgICAgMHg4NmZhMTgzZjAwMDAwMDAwLCAweDQ2OWUzMDI4MDAwMDAwMDAsIDB4MDYzMzQ4MTEwMDAwMDAwMCwKKyAgICAweGM2NTc2MDA2MDAwMDAwMDAsIDB4ODY0ZmZhZGEwMDAwMDAwMCwgMHg0NjJiZDJjZDAwMDAwMDAwLAorICAgIDB4MDY4NmFhZjQwMDAwMDAwMCwgMHhjNmUyODJlMzAwMDAwMDAwLCAweDg2ZGM1Yjg2MDAwMDAwMDAsCisgICAgMHg0NmI4NzM5MTAwMDAwMDAwLCAweDA2MTUwYmE4MDAwMDAwMDAsIDB4YzY3MTIzYmYwMDAwMDAwMCwKKyAgICAweDA0YjFkMTQyMDAwMDAwMDAsIDB4YzRkNWY5NTUwMDAwMDAwMCwgMHg4NDc4ODE2YzAwMDAwMDAwLAorICAgIDB4NDQxY2E5N2IwMDAwMDAwMCwgMHgwNDIyNzAxZTAwMDAwMDAwLCAweGM0NDY1ODA5MDAwMDAwMDAsCisgICAgMHg4NGViMjAzMDAwMDAwMDAwLCAweDQ0OGYwODI3MDAwMDAwMDAsIDB4MDQ5NzkyZmIwMDAwMDAwMCwKKyAgICAweGM0ZjNiYWVjMDAwMDAwMDAsIDB4ODQ1ZWMyZDUwMDAwMDAwMCwgMHg0NDNhZWFjMjAwMDAwMDAwLAorICAgIDB4MDQwNDMzYTcwMDAwMDAwMCwgMHhjNDYwMWJiMDAwMDAwMDAwLCAweDg0Y2Q2Mzg5MDAwMDAwMDAsCisgICAgMHg0NGE5NGI5ZTAwMDAwMDAwLCAweDQ1ZmIyNmViMDAwMDAwMDAsIDB4ODU5ZjBlZmMwMDAwMDAwMCwKKyAgICAweGM1MzI3NmM1MDAwMDAwMDAsIDB4MDU1NjVlZDIwMDAwMDAwMCwgMHg0NTY4ODdiNzAwMDAwMDAwLAorICAgIDB4ODUwY2FmYTAwMDAwMDAwMCwgMHhjNWExZDc5OTAwMDAwMDAwLCAweDA1YzVmZjhlMDAwMDAwMDAsCisgICAgMHg0NWRkNjU1MjAwMDAwMDAwLCAweDg1Yjk0ZDQ1MDAwMDAwMDAsIDB4YzUxNDM1N2MwMDAwMDAwMCwKKyAgICAweDA1NzAxZDZiMDAwMDAwMDAsIDB4NDU0ZWM0MGUwMDAwMDAwMCwgMHg4NTJhZWMxOTAwMDAwMDAwLAorICAgIDB4YzU4Nzk0MjAwMDAwMDAwMCwgMHgwNWUzYmMzNzAwMDAwMDAwLCAweGNmNDFlZDRmMDAwMDAwMDAsCisgICAgMHgwZjI1YzU1ODAwMDAwMDAwLCAweDRmODhiZDYxMDAwMDAwMDAsIDB4OGZlYzk1NzYwMDAwMDAwMCwKKyAgICAweGNmZDI0YzEzMDAwMDAwMDAsIDB4MGZiNjY0MDQwMDAwMDAwMCwgMHg0ZjFiMWMzZDAwMDAwMDAwLAorICAgIDB4OGY3ZjM0MmEwMDAwMDAwMCwgMHhjZjY3YWVmNjAwMDAwMDAwLCAweDBmMDM4NmUxMDAwMDAwMDAsCisgICAgMHg0ZmFlZmVkODAwMDAwMDAwLCAweDhmY2FkNmNmMDAwMDAwMDAsIDB4Y2ZmNDBmYWEwMDAwMDAwMCwKKyAgICAweDBmOTAyN2JkMDAwMDAwMDAsIDB4NGYzZDVmODQwMDAwMDAwMCwgMHg4ZjU5Nzc5MzAwMDAwMDAwLAorICAgIDB4OGUwYjFhZTYwMDAwMDAwMCwgMHg0ZTZmMzJmMTAwMDAwMDAwLCAweDBlYzI0YWM4MDAwMDAwMDAsCisgICAgMHhjZWE2NjJkZjAwMDAwMDAwLCAweDhlOThiYmJhMDAwMDAwMDAsIDB4NGVmYzkzYWQwMDAwMDAwMCwKKyAgICAweDBlNTFlYjk0MDAwMDAwMDAsIDB4Y2UzNWMzODMwMDAwMDAwMCwgMHg4ZTJkNTk1ZjAwMDAwMDAwLAorICAgIDB4NGU0OTcxNDgwMDAwMDAwMCwgMHgwZWU0MDk3MTAwMDAwMDAwLCAweGNlODAyMTY2MDAwMDAwMDAsCisgICAgMHg4ZWJlZjgwMzAwMDAwMDAwLCAweDRlZGFkMDE0MDAwMDAwMDAsIDB4MGU3N2E4MmQwMDAwMDAwMCwKKyAgICAweGNlMTM4MDNhMDAwMDAwMDAsIDB4MGNkMzcyYzcwMDAwMDAwMCwgMHhjY2I3NWFkMDAwMDAwMDAwLAorICAgIDB4OGMxYTIyZTkwMDAwMDAwMCwgMHg0YzdlMGFmZTAwMDAwMDAwLCAweDBjNDBkMzliMDAwMDAwMDAsCisgICAgMHhjYzI0ZmI4YzAwMDAwMDAwLCAweDhjODk4M2I1MDAwMDAwMDAsIDB4NGNlZGFiYTIwMDAwMDAwMCwKKyAgICAweDBjZjUzMTdlMDAwMDAwMDAsIDB4Y2M5MTE5NjkwMDAwMDAwMCwgMHg4YzNjNjE1MDAwMDAwMDAwLAorICAgIDB4NGM1ODQ5NDcwMDAwMDAwMCwgMHgwYzY2OTAyMjAwMDAwMDAwLCAweGNjMDJiODM1MDAwMDAwMDAsCisgICAgMHg4Y2FmYzAwYzAwMDAwMDAwLCAweDRjY2JlODFiMDAwMDAwMDAsIDB4NGQ5OTg1NmUwMDAwMDAwMCwKKyAgICAweDhkZmRhZDc5MDAwMDAwMDAsIDB4Y2Q1MGQ1NDAwMDAwMDAwMCwgMHgwZDM0ZmQ1NzAwMDAwMDAwLAorICAgIDB4NGQwYTI0MzIwMDAwMDAwMCwgMHg4ZDZlMGMyNTAwMDAwMDAwLCAweGNkYzM3NDFjMDAwMDAwMDAsCisgICAgMHgwZGE3NWMwYjAwMDAwMDAwLCAweDRkYmZjNmQ3MDAwMDAwMDAsIDB4OGRkYmVlYzAwMDAwMDAwMCwKKyAgICAweGNkNzY5NmY5MDAwMDAwMDAsIDB4MGQxMmJlZWUwMDAwMDAwMCwgMHg0ZDJjNjc4YjAwMDAwMDAwLAorICAgIDB4OGQ0ODRmOWMwMDAwMDAwMCwgMHhjZGU1MzdhNTAwMDAwMDAwLCAweDBkODExZmIyMDAwMDAwMDAsCisgICAgMHgwODYyYTM4NTAwMDAwMDAwLCAweGM4MDY4YjkyMDAwMDAwMDAsIDB4ODhhYmYzYWIwMDAwMDAwMCwKKyAgICAweDQ4Y2ZkYmJjMDAwMDAwMDAsIDB4MDhmMTAyZDkwMDAwMDAwMCwgMHhjODk1MmFjZTAwMDAwMDAwLAorICAgIDB4ODgzODUyZjcwMDAwMDAwMCwgMHg0ODVjN2FlMDAwMDAwMDAwLCAweDA4NDRlMDNjMDAwMDAwMDAsCisgICAgMHhjODIwYzgyYjAwMDAwMDAwLCAweDg4OGRiMDEyMDAwMDAwMDAsIDB4NDhlOTk4MDUwMDAwMDAwMCwKKyAgICAweDA4ZDc0MTYwMDAwMDAwMDAsIDB4YzhiMzY5NzcwMDAwMDAwMCwgMHg4ODFlMTE0ZTAwMDAwMDAwLAorICAgIDB4NDg3YTM5NTkwMDAwMDAwMCwgMHg0OTI4NTQyYzAwMDAwMDAwLCAweDg5NGM3YzNiMDAwMDAwMDAsCisgICAgMHhjOWUxMDQwMjAwMDAwMDAwLCAweDA5ODUyYzE1MDAwMDAwMDAsIDB4NDliYmY1NzAwMDAwMDAwMCwKKyAgICAweDg5ZGZkZDY3MDAwMDAwMDAsIDB4Yzk3MmE1NWUwMDAwMDAwMCwgMHgwOTE2OGQ0OTAwMDAwMDAwLAorICAgIDB4NDkwZTE3OTUwMDAwMDAwMCwgMHg4OTZhM2Y4MjAwMDAwMDAwLCAweGM5Yzc0N2JiMDAwMDAwMDAsCisgICAgMHgwOWEzNmZhYzAwMDAwMDAwLCAweDQ5OWRiNmM5MDAwMDAwMDAsIDB4ODlmOTllZGUwMDAwMDAwMCwKKyAgICAweGM5NTRlNmU3MDAwMDAwMDAsIDB4MDkzMGNlZjAwMDAwMDAwMCwgMHhjYmYwM2MwZDAwMDAwMDAwLAorICAgIDB4MGI5NDE0MWEwMDAwMDAwMCwgMHg0YjM5NmMyMzAwMDAwMDAwLCAweDhiNWQ0NDM0MDAwMDAwMDAsCisgICAgMHhjYjYzOWQ1MTAwMDAwMDAwLCAweDBiMDdiNTQ2MDAwMDAwMDAsIDB4NGJhYWNkN2YwMDAwMDAwMCwKKyAgICAweDhiY2VlNTY4MDAwMDAwMDAsIDB4Y2JkNjdmYjQwMDAwMDAwMCwgMHgwYmIyNTdhMzAwMDAwMDAwLAorICAgIDB4NGIxZjJmOWEwMDAwMDAwMCwgMHg4YjdiMDc4ZDAwMDAwMDAwLCAweGNiNDVkZWU4MDAwMDAwMDAsCisgICAgMHgwYjIxZjZmZjAwMDAwMDAwLCAweDRiOGM4ZWM2MDAwMDAwMDAsIDB4OGJlOGE2ZDEwMDAwMDAwMCwKKyAgICAweDhhYmFjYmE0MDAwMDAwMDAsIDB4NGFkZWUzYjMwMDAwMDAwMCwgMHgwYTczOWI4YTAwMDAwMDAwLAorICAgIDB4Y2ExN2IzOWQwMDAwMDAwMCwgMHg4YTI5NmFmODAwMDAwMDAwLCAweDRhNGQ0MmVmMDAwMDAwMDAsCisgICAgMHgwYWUwM2FkNjAwMDAwMDAwLCAweGNhODQxMmMxMDAwMDAwMDAsIDB4OGE5Yzg4MWQwMDAwMDAwMCwKKyAgICAweDRhZjhhMDBhMDAwMDAwMDAsIDB4MGE1NWQ4MzMwMDAwMDAwMCwgMHhjYTMxZjAyNDAwMDAwMDAwLAorICAgIDB4OGEwZjI5NDEwMDAwMDAwMCwgMHg0YTZiMDE1NjAwMDAwMDAwLCAweDBhYzY3OTZmMDAwMDAwMDAsCisgICAgMHhjYWEyNTE3ODAwMDAwMDAwfSwKKyAgIHsweDAwMDAwMDAwMDAwMDAwMDAsIDB4ZDRlYTczOWIwMDAwMDAwMCwgMHhlOWQzOTZlZDAwMDAwMDAwLAorICAgIDB4M2QzOWU1NzYwMDAwMDAwMCwgMHg5M2ExNWMwMDAwMDAwMDAwLCAweDQ3NGIyZjliMDAwMDAwMDAsCisgICAgMHg3YTcyY2FlZDAwMDAwMDAwLCAweGFlOThiOTc2MDAwMDAwMDAsIDB4MjY0M2I5MDAwMDAwMDAwMCwKKyAgICAweGYyYTljYTliMDAwMDAwMDAsIDB4Y2Y5MDJmZWQwMDAwMDAwMCwgMHgxYjdhNWM3NjAwMDAwMDAwLAorICAgIDB4YjVlMmU1MDAwMDAwMDAwMCwgMHg2MTA4OTY5YjAwMDAwMDAwLCAweDVjMzE3M2VkMDAwMDAwMDAsCisgICAgMHg4OGRiMDA3NjAwMDAwMDAwLCAweDRjODY3MjAxMDAwMDAwMDAsIDB4OTg2YzAxOWEwMDAwMDAwMCwKKyAgICAweGE1NTVlNGVjMDAwMDAwMDAsIDB4NzFiZjk3NzcwMDAwMDAwMCwgMHhkZjI3MmUwMTAwMDAwMDAwLAorICAgIDB4MGJjZDVkOWEwMDAwMDAwMCwgMHgzNmY0YjhlYzAwMDAwMDAwLCAweGUyMWVjYjc3MDAwMDAwMDAsCisgICAgMHg2YWM1Y2IwMTAwMDAwMDAwLCAweGJlMmZiODlhMDAwMDAwMDAsIDB4ODMxNjVkZWMwMDAwMDAwMCwKKyAgICAweDU3ZmMyZTc3MDAwMDAwMDAsIDB4Zjk2NDk3MDEwMDAwMDAwMCwgMHgyZDhlZTQ5YTAwMDAwMDAwLAorICAgIDB4MTBiNzAxZWMwMDAwMDAwMCwgMHhjNDVkNzI3NzAwMDAwMDAwLCAweDk4MGNlNTAyMDAwMDAwMDAsCisgICAgMHg0Y2U2OTY5OTAwMDAwMDAwLCAweDcxZGY3M2VmMDAwMDAwMDAsIDB4YTUzNTAwNzQwMDAwMDAwMCwKKyAgICAweDBiYWRiOTAyMDAwMDAwMDAsIDB4ZGY0N2NhOTkwMDAwMDAwMCwgMHhlMjdlMmZlZjAwMDAwMDAwLAorICAgIDB4MzY5NDVjNzQwMDAwMDAwMCwgMHhiZTRmNWMwMjAwMDAwMDAwLCAweDZhYTUyZjk5MDAwMDAwMDAsCisgICAgMHg1NzljY2FlZjAwMDAwMDAwLCAweDgzNzZiOTc0MDAwMDAwMDAsIDB4MmRlZTAwMDIwMDAwMDAwMCwKKyAgICAweGY5MDQ3Mzk5MDAwMDAwMDAsIDB4YzQzZDk2ZWYwMDAwMDAwMCwgMHgxMGQ3ZTU3NDAwMDAwMDAwLAorICAgIDB4ZDQ4YTk3MDMwMDAwMDAwMCwgMHgwMDYwZTQ5ODAwMDAwMDAwLCAweDNkNTkwMWVlMDAwMDAwMDAsCisgICAgMHhlOWIzNzI3NTAwMDAwMDAwLCAweDQ3MmJjYjAzMDAwMDAwMDAsIDB4OTNjMWI4OTgwMDAwMDAwMCwKKyAgICAweGFlZjg1ZGVlMDAwMDAwMDAsIDB4N2ExMjJlNzUwMDAwMDAwMCwgMHhmMmM5MmUwMzAwMDAwMDAwLAorICAgIDB4MjYyMzVkOTgwMDAwMDAwMCwgMHgxYjFhYjhlZTAwMDAwMDAwLCAweGNmZjBjYjc1MDAwMDAwMDAsCisgICAgMHg2MTY4NzIwMzAwMDAwMDAwLCAweGI1ODIwMTk4MDAwMDAwMDAsIDB4ODhiYmU0ZWUwMDAwMDAwMCwKKyAgICAweDVjNTE5Nzc1MDAwMDAwMDAsIDB4MzAxOWNhMDUwMDAwMDAwMCwgMHhlNGYzYjk5ZTAwMDAwMDAwLAorICAgIDB4ZDljYTVjZTgwMDAwMDAwMCwgMHgwZDIwMmY3MzAwMDAwMDAwLCAweGEzYjg5NjA1MDAwMDAwMDAsCisgICAgMHg3NzUyZTU5ZTAwMDAwMDAwLCAweDRhNmIwMGU4MDAwMDAwMDAsIDB4OWU4MTczNzMwMDAwMDAwMCwKKyAgICAweDE2NWE3MzA1MDAwMDAwMDAsIDB4YzJiMDAwOWUwMDAwMDAwMCwgMHhmZjg5ZTVlODAwMDAwMDAwLAorICAgIDB4MmI2Mzk2NzMwMDAwMDAwMCwgMHg4NWZiMmYwNTAwMDAwMDAwLCAweDUxMTE1YzllMDAwMDAwMDAsCisgICAgMHg2YzI4YjllODAwMDAwMDAwLCAweGI4YzJjYTczMDAwMDAwMDAsIDB4N2M5ZmI4MDQwMDAwMDAwMCwKKyAgICAweGE4NzVjYjlmMDAwMDAwMDAsIDB4OTU0YzJlZTkwMDAwMDAwMCwgMHg0MWE2NWQ3MjAwMDAwMDAwLAorICAgIDB4ZWYzZWU0MDQwMDAwMDAwMCwgMHgzYmQ0OTc5ZjAwMDAwMDAwLCAweDA2ZWQ3MmU5MDAwMDAwMDAsCisgICAgMHhkMjA3MDE3MjAwMDAwMDAwLCAweDVhZGMwMTA0MDAwMDAwMDAsIDB4OGUzNjcyOWYwMDAwMDAwMCwKKyAgICAweGIzMGY5N2U5MDAwMDAwMDAsIDB4NjdlNWU0NzIwMDAwMDAwMCwgMHhjOTdkNWQwNDAwMDAwMDAwLAorICAgIDB4MWQ5NzJlOWYwMDAwMDAwMCwgMHgyMGFlY2JlOTAwMDAwMDAwLCAweGY0NDRiODcyMDAwMDAwMDAsCisgICAgMHhhODE1MmYwNzAwMDAwMDAwLCAweDdjZmY1YzljMDAwMDAwMDAsIDB4NDFjNmI5ZWEwMDAwMDAwMCwKKyAgICAweDk1MmNjYTcxMDAwMDAwMDAsIDB4M2JiNDczMDcwMDAwMDAwMCwgMHhlZjVlMDA5YzAwMDAwMDAwLAorICAgIDB4ZDI2N2U1ZWEwMDAwMDAwMCwgMHgwNjhkOTY3MTAwMDAwMDAwLCAweDhlNTY5NjA3MDAwMDAwMDAsCisgICAgMHg1YWJjZTU5YzAwMDAwMDAwLCAweDY3ODUwMGVhMDAwMDAwMDAsIDB4YjM2ZjczNzEwMDAwMDAwMCwKKyAgICAweDFkZjdjYTA3MDAwMDAwMDAsIDB4YzkxZGI5OWMwMDAwMDAwMCwgMHhmNDI0NWNlYTAwMDAwMDAwLAorICAgIDB4MjBjZTJmNzEwMDAwMDAwMCwgMHhlNDkzNWQwNjAwMDAwMDAwLCAweDMwNzkyZTlkMDAwMDAwMDAsCisgICAgMHgwZDQwY2JlYjAwMDAwMDAwLCAweGQ5YWFiODcwMDAwMDAwMDAsIDB4NzczMjAxMDYwMDAwMDAwMCwKKyAgICAweGEzZDg3MjlkMDAwMDAwMDAsIDB4OWVlMTk3ZWIwMDAwMDAwMCwgMHg0YTBiZTQ3MDAwMDAwMDAwLAorICAgIDB4YzJkMGU0MDYwMDAwMDAwMCwgMHgxNjNhOTc5ZDAwMDAwMDAwLCAweDJiMDM3MmViMDAwMDAwMDAsCisgICAgMHhmZmU5MDE3MDAwMDAwMDAwLCAweDUxNzFiODA2MDAwMDAwMDAsIDB4ODU5YmNiOWQwMDAwMDAwMCwKKyAgICAweGI4YTIyZWViMDAwMDAwMDAsIDB4NmM0ODVkNzAwMDAwMDAwMCwgMHg2MDMyOTQwYjAwMDAwMDAwLAorICAgIDB4YjRkOGU3OTAwMDAwMDAwMCwgMHg4OWUxMDJlNjAwMDAwMDAwLCAweDVkMGI3MTdkMDAwMDAwMDAsCisgICAgMHhmMzkzYzgwYjAwMDAwMDAwLCAweDI3NzliYjkwMDAwMDAwMDAsIDB4MWE0MDVlZTYwMDAwMDAwMCwKKyAgICAweGNlYWEyZDdkMDAwMDAwMDAsIDB4NDY3MTJkMGIwMDAwMDAwMCwgMHg5MjliNWU5MDAwMDAwMDAwLAorICAgIDB4YWZhMmJiZTYwMDAwMDAwMCwgMHg3YjQ4Yzg3ZDAwMDAwMDAwLCAweGQ1ZDA3MTBiMDAwMDAwMDAsCisgICAgMHgwMTNhMDI5MDAwMDAwMDAwLCAweDNjMDNlN2U2MDAwMDAwMDAsIDB4ZThlOTk0N2QwMDAwMDAwMCwKKyAgICAweDJjYjRlNjBhMDAwMDAwMDAsIDB4Zjg1ZTk1OTEwMDAwMDAwMCwgMHhjNTY3NzBlNzAwMDAwMDAwLAorICAgIDB4MTE4ZDAzN2MwMDAwMDAwMCwgMHhiZjE1YmEwYTAwMDAwMDAwLCAweDZiZmZjOTkxMDAwMDAwMDAsCisgICAgMHg1NmM2MmNlNzAwMDAwMDAwLCAweDgyMmM1ZjdjMDAwMDAwMDAsIDB4MGFmNzVmMGEwMDAwMDAwMCwKKyAgICAweGRlMWQyYzkxMDAwMDAwMDAsIDB4ZTMyNGM5ZTcwMDAwMDAwMCwgMHgzN2NlYmE3YzAwMDAwMDAwLAorICAgIDB4OTk1NjAzMGEwMDAwMDAwMCwgMHg0ZGJjNzA5MTAwMDAwMDAwLCAweDcwODU5NWU3MDAwMDAwMDAsCisgICAgMHhhNDZmZTY3YzAwMDAwMDAwLCAweGY4M2U3MTA5MDAwMDAwMDAsIDB4MmNkNDAyOTIwMDAwMDAwMCwKKyAgICAweDExZWRlN2U0MDAwMDAwMDAsIDB4YzUwNzk0N2YwMDAwMDAwMCwgMHg2YjlmMmQwOTAwMDAwMDAwLAorICAgIDB4YmY3NTVlOTIwMDAwMDAwMCwgMHg4MjRjYmJlNDAwMDAwMDAwLCAweDU2YTZjODdmMDAwMDAwMDAsCisgICAgMHhkZTdkYzgwOTAwMDAwMDAwLCAweDBhOTdiYjkyMDAwMDAwMDAsIDB4MzdhZTVlZTQwMDAwMDAwMCwKKyAgICAweGUzNDQyZDdmMDAwMDAwMDAsIDB4NGRkYzk0MDkwMDAwMDAwMCwgMHg5OTM2ZTc5MjAwMDAwMDAwLAorICAgIDB4YTQwZjAyZTQwMDAwMDAwMCwgMHg3MGU1NzE3ZjAwMDAwMDAwLCAweGI0YjgwMzA4MDAwMDAwMDAsCisgICAgMHg2MDUyNzA5MzAwMDAwMDAwLCAweDVkNmI5NWU1MDAwMDAwMDAsIDB4ODk4MWU2N2UwMDAwMDAwMCwKKyAgICAweDI3MTk1ZjA4MDAwMDAwMDAsIDB4ZjNmMzJjOTMwMDAwMDAwMCwgMHhjZWNhYzllNTAwMDAwMDAwLAorICAgIDB4MWEyMGJhN2UwMDAwMDAwMCwgMHg5MmZiYmEwODAwMDAwMDAwLCAweDQ2MTFjOTkzMDAwMDAwMDAsCisgICAgMHg3YjI4MmNlNTAwMDAwMDAwLCAweGFmYzI1ZjdlMDAwMDAwMDAsIDB4MDE1YWU2MDgwMDAwMDAwMCwKKyAgICAweGQ1YjA5NTkzMDAwMDAwMDAsIDB4ZTg4OTcwZTUwMDAwMDAwMCwgMHgzYzYzMDM3ZTAwMDAwMDAwLAorICAgIDB4NTAyYjVlMGUwMDAwMDAwMCwgMHg4NGMxMmQ5NTAwMDAwMDAwLCAweGI5ZjhjOGUzMDAwMDAwMDAsCisgICAgMHg2ZDEyYmI3ODAwMDAwMDAwLCAweGMzOGEwMjBlMDAwMDAwMDAsIDB4MTc2MDcxOTUwMDAwMDAwMCwKKyAgICAweDJhNTk5NGUzMDAwMDAwMDAsIDB4ZmViM2U3NzgwMDAwMDAwMCwgMHg3NjY4ZTcwZTAwMDAwMDAwLAorICAgIDB4YTI4Mjk0OTUwMDAwMDAwMCwgMHg5ZmJiNzFlMzAwMDAwMDAwLCAweDRiNTEwMjc4MDAwMDAwMDAsCisgICAgMHhlNWM5YmIwZTAwMDAwMDAwLCAweDMxMjNjODk1MDAwMDAwMDAsIDB4MGMxYTJkZTMwMDAwMDAwMCwKKyAgICAweGQ4ZjA1ZTc4MDAwMDAwMDAsIDB4MWNhZDJjMGYwMDAwMDAwMCwgMHhjODQ3NWY5NDAwMDAwMDAwLAorICAgIDB4ZjU3ZWJhZTIwMDAwMDAwMCwgMHgyMTk0Yzk3OTAwMDAwMDAwLCAweDhmMGM3MDBmMDAwMDAwMDAsCisgICAgMHg1YmU2MDM5NDAwMDAwMDAwLCAweDY2ZGZlNmUyMDAwMDAwMDAsIDB4YjIzNTk1NzkwMDAwMDAwMCwKKyAgICAweDNhZWU5NTBmMDAwMDAwMDAsIDB4ZWUwNGU2OTQwMDAwMDAwMCwgMHhkMzNkMDNlMjAwMDAwMDAwLAorICAgIDB4MDdkNzcwNzkwMDAwMDAwMCwgMHhhOTRmYzkwZjAwMDAwMDAwLCAweDdkYTViYTk0MDAwMDAwMDAsCisgICAgMHg0MDljNWZlMjAwMDAwMDAwLCAweDk0NzYyYzc5MDAwMDAwMDAsIDB4YzgyN2JiMGMwMDAwMDAwMCwKKyAgICAweDFjY2RjODk3MDAwMDAwMDAsIDB4MjFmNDJkZTEwMDAwMDAwMCwgMHhmNTFlNWU3YTAwMDAwMDAwLAorICAgIDB4NWI4NmU3MGMwMDAwMDAwMCwgMHg4ZjZjOTQ5NzAwMDAwMDAwLCAweGIyNTU3MWUxMDAwMDAwMDAsCisgICAgMHg2NmJmMDI3YTAwMDAwMDAwLCAweGVlNjQwMjBjMDAwMDAwMDAsIDB4M2E4ZTcxOTcwMDAwMDAwMCwKKyAgICAweDA3Yjc5NGUxMDAwMDAwMDAsIDB4ZDM1ZGU3N2EwMDAwMDAwMCwgMHg3ZGM1NWUwYzAwMDAwMDAwLAorICAgIDB4YTkyZjJkOTcwMDAwMDAwMCwgMHg5NDE2YzhlMTAwMDAwMDAwLCAweDQwZmNiYjdhMDAwMDAwMDAsCisgICAgMHg4NGExYzkwZDAwMDAwMDAwLCAweDUwNGJiYTk2MDAwMDAwMDAsIDB4NmQ3MjVmZTAwMDAwMDAwMCwKKyAgICAweGI5OTgyYzdiMDAwMDAwMDAsIDB4MTcwMDk1MGQwMDAwMDAwMCwgMHhjM2VhZTY5NjAwMDAwMDAwLAorICAgIDB4ZmVkMzAzZTAwMDAwMDAwMCwgMHgyYTM5NzA3YjAwMDAwMDAwLCAweGEyZTI3MDBkMDAwMDAwMDAsCisgICAgMHg3NjA4MDM5NjAwMDAwMDAwLCAweDRiMzFlNmUwMDAwMDAwMDAsIDB4OWZkYjk1N2IwMDAwMDAwMCwKKyAgICAweDMxNDMyYzBkMDAwMDAwMDAsIDB4ZTVhOTVmOTYwMDAwMDAwMCwgMHhkODkwYmFlMDAwMDAwMDAwLAorICAgIDB4MGM3YWM5N2IwMDAwMDAwMH0sCisgICB7MHgwMDAwMDAwMDAwMDAwMDAwLCAweDI3NjUyNTgxMDAwMDAwMDAsIDB4MGZjYzNiZDkwMDAwMDAwMCwKKyAgICAweDI4YTkxZTU4MDAwMDAwMDAsIDB4NWY5ZTA2NjkwMDAwMDAwMCwgMHg3OGZiMjNlODAwMDAwMDAwLAorICAgIDB4NTA1MjNkYjAwMDAwMDAwMCwgMHg3NzM3MTgzMTAwMDAwMDAwLCAweGJlM2MwZGQyMDAwMDAwMDAsCisgICAgMHg5OTU5Mjg1MzAwMDAwMDAwLCAweGIxZjAzNjBiMDAwMDAwMDAsIDB4OTY5NTEzOGEwMDAwMDAwMCwKKyAgICAweGUxYTIwYmJiMDAwMDAwMDAsIDB4YzZjNzJlM2EwMDAwMDAwMCwgMHhlZTZlMzA2MjAwMDAwMDAwLAorICAgIDB4YzkwYjE1ZTMwMDAwMDAwMCwgMHgzZDdmNmI3ZjAwMDAwMDAwLCAweDFhMWE0ZWZlMDAwMDAwMDAsCisgICAgMHgzMmIzNTBhNjAwMDAwMDAwLCAweDE1ZDY3NTI3MDAwMDAwMDAsIDB4NjJlMTZkMTYwMDAwMDAwMCwKKyAgICAweDQ1ODQ0ODk3MDAwMDAwMDAsIDB4NmQyZDU2Y2YwMDAwMDAwMCwgMHg0YTQ4NzM0ZTAwMDAwMDAwLAorICAgIDB4ODM0MzY2YWQwMDAwMDAwMCwgMHhhNDI2NDMyYzAwMDAwMDAwLCAweDhjOGY1ZDc0MDAwMDAwMDAsCisgICAgMHhhYmVhNzhmNTAwMDAwMDAwLCAweGRjZGQ2MGM0MDAwMDAwMDAsIDB4ZmJiODQ1NDUwMDAwMDAwMCwKKyAgICAweGQzMTE1YjFkMDAwMDAwMDAsIDB4ZjQ3NDdlOWMwMDAwMDAwMCwgMHg3YWZlZDZmZTAwMDAwMDAwLAorICAgIDB4NWQ5YmYzN2YwMDAwMDAwMCwgMHg3NTMyZWQyNzAwMDAwMDAwLCAweDUyNTdjOGE2MDAwMDAwMDAsCisgICAgMHgyNTYwZDA5NzAwMDAwMDAwLCAweDAyMDVmNTE2MDAwMDAwMDAsIDB4MmFhY2ViNGUwMDAwMDAwMCwKKyAgICAweDBkYzljZWNmMDAwMDAwMDAsIDB4YzRjMmRiMmMwMDAwMDAwMCwgMHhlM2E3ZmVhZDAwMDAwMDAwLAorICAgIDB4Y2IwZWUwZjUwMDAwMDAwMCwgMHhlYzZiYzU3NDAwMDAwMDAwLCAweDliNWNkZDQ1MDAwMDAwMDAsCisgICAgMHhiYzM5ZjhjNDAwMDAwMDAwLCAweDk0OTBlNjljMDAwMDAwMDAsIDB4YjNmNWMzMWQwMDAwMDAwMCwKKyAgICAweDQ3ODFiZDgxMDAwMDAwMDAsIDB4NjBlNDk4MDAwMDAwMDAwMCwgMHg0ODRkODY1ODAwMDAwMDAwLAorICAgIDB4NmYyOGEzZDkwMDAwMDAwMCwgMHgxODFmYmJlODAwMDAwMDAwLCAweDNmN2E5ZTY5MDAwMDAwMDAsCisgICAgMHgxN2QzODAzMTAwMDAwMDAwLCAweDMwYjZhNWIwMDAwMDAwMDAsIDB4ZjliZGIwNTMwMDAwMDAwMCwKKyAgICAweGRlZDg5NWQyMDAwMDAwMDAsIDB4ZjY3MThiOGEwMDAwMDAwMCwgMHhkMTE0YWUwYjAwMDAwMDAwLAorICAgIDB4YTYyM2I2M2EwMDAwMDAwMCwgMHg4MTQ2OTNiYjAwMDAwMDAwLCAweGE5ZWY4ZGUzMDAwMDAwMDAsCisgICAgMHg4ZThhYTg2MjAwMDAwMDAwLCAweGI1ZmFkYzI2MDAwMDAwMDAsIDB4OTI5ZmY5YTcwMDAwMDAwMCwKKyAgICAweGJhMzZlN2ZmMDAwMDAwMDAsIDB4OWQ1M2MyN2UwMDAwMDAwMCwgMHhlYTY0ZGE0ZjAwMDAwMDAwLAorICAgIDB4Y2QwMWZmY2UwMDAwMDAwMCwgMHhlNWE4ZTE5NjAwMDAwMDAwLCAweGMyY2RjNDE3MDAwMDAwMDAsCisgICAgMHgwYmM2ZDFmNDAwMDAwMDAwLCAweDJjYTNmNDc1MDAwMDAwMDAsIDB4MDQwYWVhMmQwMDAwMDAwMCwKKyAgICAweDIzNmZjZmFjMDAwMDAwMDAsIDB4NTQ1OGQ3OWQwMDAwMDAwMCwgMHg3MzNkZjIxYzAwMDAwMDAwLAorICAgIDB4NWI5NGVjNDQwMDAwMDAwMCwgMHg3Y2YxYzljNTAwMDAwMDAwLCAweDg4ODViNzU5MDAwMDAwMDAsCisgICAgMHhhZmUwOTJkODAwMDAwMDAwLCAweDg3NDk4YzgwMDAwMDAwMDAsIDB4YTAyY2E5MDEwMDAwMDAwMCwKKyAgICAweGQ3MWJiMTMwMDAwMDAwMDAsIDB4ZjA3ZTk0YjEwMDAwMDAwMCwgMHhkOGQ3OGFlOTAwMDAwMDAwLAorICAgIDB4ZmZiMmFmNjgwMDAwMDAwMCwgMHgzNmI5YmE4YjAwMDAwMDAwLCAweDExZGM5ZjBhMDAwMDAwMDAsCisgICAgMHgzOTc1ODE1MjAwMDAwMDAwLCAweDFlMTBhNGQzMDAwMDAwMDAsIDB4NjkyN2JjZTIwMDAwMDAwMCwKKyAgICAweDRlNDI5OTYzMDAwMDAwMDAsIDB4NjZlYjg3M2IwMDAwMDAwMCwgMHg0MThlYTJiYTAwMDAwMDAwLAorICAgIDB4Y2YwNDBhZDgwMDAwMDAwMCwgMHhlODYxMmY1OTAwMDAwMDAwLCAweGMwYzgzMTAxMDAwMDAwMDAsCisgICAgMHhlN2FkMTQ4MDAwMDAwMDAwLCAweDkwOWEwY2IxMDAwMDAwMDAsIDB4YjdmZjI5MzAwMDAwMDAwMCwKKyAgICAweDlmNTYzNzY4MDAwMDAwMDAsIDB4YjgzMzEyZTkwMDAwMDAwMCwgMHg3MTM4MDcwYTAwMDAwMDAwLAorICAgIDB4NTY1ZDIyOGIwMDAwMDAwMCwgMHg3ZWY0M2NkMzAwMDAwMDAwLCAweDU5OTExOTUyMDAwMDAwMDAsCisgICAgMHgyZWE2MDE2MzAwMDAwMDAwLCAweDA5YzMyNGUyMDAwMDAwMDAsIDB4MjE2YTNhYmEwMDAwMDAwMCwKKyAgICAweDA2MGYxZjNiMDAwMDAwMDAsIDB4ZjI3YjYxYTcwMDAwMDAwMCwgMHhkNTFlNDQyNjAwMDAwMDAwLAorICAgIDB4ZmRiNzVhN2UwMDAwMDAwMCwgMHhkYWQyN2ZmZjAwMDAwMDAwLCAweGFkZTU2N2NlMDAwMDAwMDAsCisgICAgMHg4YTgwNDI0ZjAwMDAwMDAwLCAweGEyMjk1YzE3MDAwMDAwMDAsIDB4ODU0Yzc5OTYwMDAwMDAwMCwKKyAgICAweDRjNDc2Yzc1MDAwMDAwMDAsIDB4NmIyMjQ5ZjQwMDAwMDAwMCwgMHg0MzhiNTdhYzAwMDAwMDAwLAorICAgIDB4NjRlZTcyMmQwMDAwMDAwMCwgMHgxM2Q5NmExYzAwMDAwMDAwLCAweDM0YmM0ZjlkMDAwMDAwMDAsCisgICAgMHgxYzE1NTFjNTAwMDAwMDAwLCAweDNiNzA3NDQ0MDAwMDAwMDAsIDB4NmFmNWI5NGQwMDAwMDAwMCwKKyAgICAweDRkOTA5Y2NjMDAwMDAwMDAsIDB4NjUzOTgyOTQwMDAwMDAwMCwgMHg0MjVjYTcxNTAwMDAwMDAwLAorICAgIDB4MzU2YmJmMjQwMDAwMDAwMCwgMHgxMjBlOWFhNTAwMDAwMDAwLCAweDNhYTc4NGZkMDAwMDAwMDAsCisgICAgMHgxZGMyYTE3YzAwMDAwMDAwLCAweGQ0YzliNDlmMDAwMDAwMDAsIDB4ZjNhYzkxMWUwMDAwMDAwMCwKKyAgICAweGRiMDU4ZjQ2MDAwMDAwMDAsIDB4ZmM2MGFhYzcwMDAwMDAwMCwgMHg4YjU3YjJmNjAwMDAwMDAwLAorICAgIDB4YWMzMjk3NzcwMDAwMDAwMCwgMHg4NDliODkyZjAwMDAwMDAwLCAweGEzZmVhY2FlMDAwMDAwMDAsCisgICAgMHg1NzhhZDIzMjAwMDAwMDAwLCAweDcwZWZmN2IzMDAwMDAwMDAsIDB4NTg0NmU5ZWIwMDAwMDAwMCwKKyAgICAweDdmMjNjYzZhMDAwMDAwMDAsIDB4MDgxNGQ0NWIwMDAwMDAwMCwgMHgyZjcxZjFkYTAwMDAwMDAwLAorICAgIDB4MDdkOGVmODIwMDAwMDAwMCwgMHgyMGJkY2EwMzAwMDAwMDAwLCAweGU5YjZkZmUwMDAwMDAwMDAsCisgICAgMHhjZWQzZmE2MTAwMDAwMDAwLCAweGU2N2FlNDM5MDAwMDAwMDAsIDB4YzExZmMxYjgwMDAwMDAwMCwKKyAgICAweGI2MjhkOTg5MDAwMDAwMDAsIDB4OTE0ZGZjMDgwMDAwMDAwMCwgMHhiOWU0ZTI1MDAwMDAwMDAwLAorICAgIDB4OWU4MWM3ZDEwMDAwMDAwMCwgMHgxMDBiNmZiMzAwMDAwMDAwLCAweDM3NmU0YTMyMDAwMDAwMDAsCisgICAgMHgxZmM3NTQ2YTAwMDAwMDAwLCAweDM4YTI3MWViMDAwMDAwMDAsIDB4NGY5NTY5ZGEwMDAwMDAwMCwKKyAgICAweDY4ZjA0YzViMDAwMDAwMDAsIDB4NDA1OTUyMDMwMDAwMDAwMCwgMHg2NzNjNzc4MjAwMDAwMDAwLAorICAgIDB4YWUzNzYyNjEwMDAwMDAwMCwgMHg4OTUyNDdlMDAwMDAwMDAwLCAweGExZmI1OWI4MDAwMDAwMDAsCisgICAgMHg4NjllN2MzOTAwMDAwMDAwLCAweGYxYTk2NDA4MDAwMDAwMDAsIDB4ZDZjYzQxODkwMDAwMDAwMCwKKyAgICAweGZlNjU1ZmQxMDAwMDAwMDAsIDB4ZDkwMDdhNTAwMDAwMDAwMCwgMHgyZDc0MDRjYzAwMDAwMDAwLAorICAgIDB4MGExMTIxNGQwMDAwMDAwMCwgMHgyMmI4M2YxNTAwMDAwMDAwLCAweDA1ZGQxYTk0MDAwMDAwMDAsCisgICAgMHg3MmVhMDJhNTAwMDAwMDAwLCAweDU1OGYyNzI0MDAwMDAwMDAsIDB4N2QyNjM5N2MwMDAwMDAwMCwKKyAgICAweDVhNDMxY2ZkMDAwMDAwMDAsIDB4OTM0ODA5MWUwMDAwMDAwMCwgMHhiNDJkMmM5ZjAwMDAwMDAwLAorICAgIDB4OWM4NDMyYzcwMDAwMDAwMCwgMHhiYmUxMTc0NjAwMDAwMDAwLCAweGNjZDYwZjc3MDAwMDAwMDAsCisgICAgMHhlYmIzMmFmNjAwMDAwMDAwLCAweGMzMWEzNGFlMDAwMDAwMDAsIDB4ZTQ3ZjExMmYwMDAwMDAwMCwKKyAgICAweGRmMGY2NTZiMDAwMDAwMDAsIDB4Zjg2YTQwZWEwMDAwMDAwMCwgMHhkMGMzNWViMjAwMDAwMDAwLAorICAgIDB4ZjdhNjdiMzMwMDAwMDAwMCwgMHg4MDkxNjMwMjAwMDAwMDAwLCAweGE3ZjQ0NjgzMDAwMDAwMDAsCisgICAgMHg4ZjVkNThkYjAwMDAwMDAwLCAweGE4Mzg3ZDVhMDAwMDAwMDAsIDB4NjEzMzY4YjkwMDAwMDAwMCwKKyAgICAweDQ2NTY0ZDM4MDAwMDAwMDAsIDB4NmVmZjUzNjAwMDAwMDAwMCwgMHg0OTlhNzZlMTAwMDAwMDAwLAorICAgIDB4M2VhZDZlZDAwMDAwMDAwMCwgMHgxOWM4NGI1MTAwMDAwMDAwLCAweDMxNjE1NTA5MDAwMDAwMDAsCisgICAgMHgxNjA0NzA4ODAwMDAwMDAwLCAweGUyNzAwZTE0MDAwMDAwMDAsIDB4YzUxNTJiOTUwMDAwMDAwMCwKKyAgICAweGVkYmMzNWNkMDAwMDAwMDAsIDB4Y2FkOTEwNGMwMDAwMDAwMCwgMHhiZGVlMDg3ZDAwMDAwMDAwLAorICAgIDB4OWE4YjJkZmMwMDAwMDAwMCwgMHhiMjIyMzNhNDAwMDAwMDAwLCAweDk1NDcxNjI1MDAwMDAwMDAsCisgICAgMHg1YzRjMDNjNjAwMDAwMDAwLCAweDdiMjkyNjQ3MDAwMDAwMDAsIDB4NTM4MDM4MWYwMDAwMDAwMCwKKyAgICAweDc0ZTUxZDllMDAwMDAwMDAsIDB4MDNkMjA1YWYwMDAwMDAwMCwgMHgyNGI3MjAyZTAwMDAwMDAwLAorICAgIDB4MGMxZTNlNzYwMDAwMDAwMCwgMHgyYjdiMWJmNzAwMDAwMDAwLCAweGE1ZjFiMzk1MDAwMDAwMDAsCisgICAgMHg4Mjk0OTYxNDAwMDAwMDAwLCAweGFhM2Q4ODRjMDAwMDAwMDAsIDB4OGQ1OGFkY2QwMDAwMDAwMCwKKyAgICAweGZhNmZiNWZjMDAwMDAwMDAsIDB4ZGQwYTkwN2QwMDAwMDAwMCwgMHhmNWEzOGUyNTAwMDAwMDAwLAorICAgIDB4ZDJjNmFiYTQwMDAwMDAwMCwgMHgxYmNkYmU0NzAwMDAwMDAwLCAweDNjYTg5YmM2MDAwMDAwMDAsCisgICAgMHgxNDAxODU5ZTAwMDAwMDAwLCAweDMzNjRhMDFmMDAwMDAwMDAsIDB4NDQ1M2I4MmUwMDAwMDAwMCwKKyAgICAweDYzMzY5ZGFmMDAwMDAwMDAsIDB4NGI5ZjgzZjcwMDAwMDAwMCwgMHg2Y2ZhYTY3NjAwMDAwMDAwLAorICAgIDB4OTg4ZWQ4ZWEwMDAwMDAwMCwgMHhiZmViZmQ2YjAwMDAwMDAwLCAweDk3NDJlMzMzMDAwMDAwMDAsCisgICAgMHhiMDI3YzZiMjAwMDAwMDAwLCAweGM3MTBkZTgzMDAwMDAwMDAsIDB4ZTA3NWZiMDIwMDAwMDAwMCwKKyAgICAweGM4ZGNlNTVhMDAwMDAwMDAsIDB4ZWZiOWMwZGIwMDAwMDAwMCwgMHgyNmIyZDUzODAwMDAwMDAwLAorICAgIDB4MDFkN2YwYjkwMDAwMDAwMCwgMHgyOTdlZWVlMTAwMDAwMDAwLCAweDBlMWJjYjYwMDAwMDAwMDAsCisgICAgMHg3OTJjZDM1MTAwMDAwMDAwLCAweDVlNDlmNmQwMDAwMDAwMDAsIDB4NzZlMGU4ODgwMDAwMDAwMCwKKyAgICAweDUxODVjZDA5MDAwMDAwMDB9fTsKKworI2Vsc2UgLyogVyA9PSA0ICovCisKK2xvY2FsIGNvbnN0IHpfY3JjX3QgRkFSIGNyY19icmFpZF90YWJsZVtdWzI1Nl0gPSB7CisgICB7MHgwMDAwMDAwMCwgMHg5YmE1NGM2ZiwgMHhlYzNiOWU5ZiwgMHg3NzllZDJmMCwgMHgwMzA2M2I3ZiwKKyAgICAweDk4YTM3NzEwLCAweGVmM2RhNWUwLCAweDc0OThlOThmLCAweDA2MGM3NmZlLCAweDlkYTkzYTkxLAorICAgIDB4ZWEzN2U4NjEsIDB4NzE5MmE0MGUsIDB4MDUwYTRkODEsIDB4OWVhZjAxZWUsIDB4ZTkzMWQzMWUsCisgICAgMHg3Mjk0OWY3MSwgMHgwYzE4ZWRmYywgMHg5N2JkYTE5MywgMHhlMDIzNzM2MywgMHg3Yjg2M2YwYywKKyAgICAweDBmMWVkNjgzLCAweDk0YmI5YWVjLCAweGUzMjU0ODFjLCAweDc4ODAwNDczLCAweDBhMTQ5YjAyLAorICAgIDB4OTFiMWQ3NmQsIDB4ZTYyZjA1OWQsIDB4N2Q4YTQ5ZjIsIDB4MDkxMmEwN2QsIDB4OTJiN2VjMTIsCisgICAgMHhlNTI5M2VlMiwgMHg3ZThjNzI4ZCwgMHgxODMxZGJmOCwgMHg4Mzk0OTc5NywgMHhmNDBhNDU2NywKKyAgICAweDZmYWYwOTA4LCAweDFiMzdlMDg3LCAweDgwOTJhY2U4LCAweGY3MGM3ZTE4LCAweDZjYTkzMjc3LAorICAgIDB4MWUzZGFkMDYsIDB4ODU5OGUxNjksIDB4ZjIwNjMzOTksIDB4NjlhMzdmZjYsIDB4MWQzYjk2NzksCisgICAgMHg4NjllZGExNiwgMHhmMTAwMDhlNiwgMHg2YWE1NDQ4OSwgMHgxNDI5MzYwNCwgMHg4ZjhjN2E2YiwKKyAgICAweGY4MTJhODliLCAweDYzYjdlNGY0LCAweDE3MmYwZDdiLCAweDhjOGE0MTE0LCAweGZiMTQ5M2U0LAorICAgIDB4NjBiMWRmOGIsIDB4MTIyNTQwZmEsIDB4ODk4MDBjOTUsIDB4ZmUxZWRlNjUsIDB4NjViYjkyMGEsCisgICAgMHgxMTIzN2I4NSwgMHg4YTg2MzdlYSwgMHhmZDE4ZTUxYSwgMHg2NmJkYTk3NSwgMHgzMDYzYjdmMCwKKyAgICAweGFiYzZmYjlmLCAweGRjNTgyOTZmLCAweDQ3ZmQ2NTAwLCAweDMzNjU4YzhmLCAweGE4YzBjMGUwLAorICAgIDB4ZGY1ZTEyMTAsIDB4NDRmYjVlN2YsIDB4MzY2ZmMxMGUsIDB4YWRjYThkNjEsIDB4ZGE1NDVmOTEsCisgICAgMHg0MWYxMTNmZSwgMHgzNTY5ZmE3MSwgMHhhZWNjYjYxZSwgMHhkOTUyNjRlZSwgMHg0MmY3Mjg4MSwKKyAgICAweDNjN2I1YTBjLCAweGE3ZGUxNjYzLCAweGQwNDBjNDkzLCAweDRiZTU4OGZjLCAweDNmN2Q2MTczLAorICAgIDB4YTRkODJkMWMsIDB4ZDM0NmZmZWMsIDB4NDhlM2IzODMsIDB4M2E3NzJjZjIsIDB4YTFkMjYwOWQsCisgICAgMHhkNjRjYjI2ZCwgMHg0ZGU5ZmUwMiwgMHgzOTcxMTc4ZCwgMHhhMmQ0NWJlMiwgMHhkNTRhODkxMiwKKyAgICAweDRlZWZjNTdkLCAweDI4NTI2YzA4LCAweGIzZjcyMDY3LCAweGM0NjlmMjk3LCAweDVmY2NiZWY4LAorICAgIDB4MmI1NDU3NzcsIDB4YjBmMTFiMTgsIDB4Yzc2ZmM5ZTgsIDB4NWNjYTg1ODcsIDB4MmU1ZTFhZjYsCisgICAgMHhiNWZiNTY5OSwgMHhjMjY1ODQ2OSwgMHg1OWMwYzgwNiwgMHgyZDU4MjE4OSwgMHhiNmZkNmRlNiwKKyAgICAweGMxNjNiZjE2LCAweDVhYzZmMzc5LCAweDI0NGE4MWY0LCAweGJmZWZjZDliLCAweGM4NzExZjZiLAorICAgIDB4NTNkNDUzMDQsIDB4Mjc0Y2JhOGIsIDB4YmNlOWY2ZTQsIDB4Y2I3NzI0MTQsIDB4NTBkMjY4N2IsCisgICAgMHgyMjQ2ZjcwYSwgMHhiOWUzYmI2NSwgMHhjZTdkNjk5NSwgMHg1NWQ4MjVmYSwgMHgyMTQwY2M3NSwKKyAgICAweGJhZTU4MDFhLCAweGNkN2I1MmVhLCAweDU2ZGUxZTg1LCAweDYwYzc2ZmUwLCAweGZiNjIyMzhmLAorICAgIDB4OGNmY2YxN2YsIDB4MTc1OWJkMTAsIDB4NjNjMTU0OWYsIDB4Zjg2NDE4ZjAsIDB4OGZmYWNhMDAsCisgICAgMHgxNDVmODY2ZiwgMHg2NmNiMTkxZSwgMHhmZDZlNTU3MSwgMHg4YWYwODc4MSwgMHgxMTU1Y2JlZSwKKyAgICAweDY1Y2QyMjYxLCAweGZlNjg2ZTBlLCAweDg5ZjZiY2ZlLCAweDEyNTNmMDkxLCAweDZjZGY4MjFjLAorICAgIDB4Zjc3YWNlNzMsIDB4ODBlNDFjODMsIDB4MWI0MTUwZWMsIDB4NmZkOWI5NjMsIDB4ZjQ3Y2Y1MGMsCisgICAgMHg4M2UyMjdmYywgMHgxODQ3NmI5MywgMHg2YWQzZjRlMiwgMHhmMTc2Yjg4ZCwgMHg4NmU4NmE3ZCwKKyAgICAweDFkNGQyNjEyLCAweDY5ZDVjZjlkLCAweGYyNzA4M2YyLCAweDg1ZWU1MTAyLCAweDFlNGIxZDZkLAorICAgIDB4NzhmNmI0MTgsIDB4ZTM1M2Y4NzcsIDB4OTRjZDJhODcsIDB4MGY2ODY2ZTgsIDB4N2JmMDhmNjcsCisgICAgMHhlMDU1YzMwOCwgMHg5N2NiMTFmOCwgMHgwYzZlNWQ5NywgMHg3ZWZhYzJlNiwgMHhlNTVmOGU4OSwKKyAgICAweDkyYzE1Yzc5LCAweDA5NjQxMDE2LCAweDdkZmNmOTk5LCAweGU2NTliNWY2LCAweDkxYzc2NzA2LAorICAgIDB4MGE2MjJiNjksIDB4NzRlZTU5ZTQsIDB4ZWY0YjE1OGIsIDB4OThkNWM3N2IsIDB4MDM3MDhiMTQsCisgICAgMHg3N2U4NjI5YiwgMHhlYzRkMmVmNCwgMHg5YmQzZmMwNCwgMHgwMDc2YjA2YiwgMHg3MmUyMmYxYSwKKyAgICAweGU5NDc2Mzc1LCAweDllZDliMTg1LCAweDA1N2NmZGVhLCAweDcxZTQxNDY1LCAweGVhNDE1ODBhLAorICAgIDB4OWRkZjhhZmEsIDB4MDY3YWM2OTUsIDB4NTBhNGQ4MTAsIDB4Y2IwMTk0N2YsIDB4YmM5ZjQ2OGYsCisgICAgMHgyNzNhMGFlMCwgMHg1M2EyZTM2ZiwgMHhjODA3YWYwMCwgMHhiZjk5N2RmMCwgMHgyNDNjMzE5ZiwKKyAgICAweDU2YThhZWVlLCAweGNkMGRlMjgxLCAweGJhOTMzMDcxLCAweDIxMzY3YzFlLCAweDU1YWU5NTkxLAorICAgIDB4Y2UwYmQ5ZmUsIDB4Yjk5NTBiMGUsIDB4MjIzMDQ3NjEsIDB4NWNiYzM1ZWMsIDB4YzcxOTc5ODMsCisgICAgMHhiMDg3YWI3MywgMHgyYjIyZTcxYywgMHg1ZmJhMGU5MywgMHhjNDFmNDJmYywgMHhiMzgxOTAwYywKKyAgICAweDI4MjRkYzYzLCAweDVhYjA0MzEyLCAweGMxMTUwZjdkLCAweGI2OGJkZDhkLCAweDJkMmU5MWUyLAorICAgIDB4NTliNjc4NmQsIDB4YzIxMzM0MDIsIDB4YjU4ZGU2ZjIsIDB4MmUyOGFhOWQsIDB4NDg5NTAzZTgsCisgICAgMHhkMzMwNGY4NywgMHhhNGFlOWQ3NywgMHgzZjBiZDExOCwgMHg0YjkzMzg5NywgMHhkMDM2NzRmOCwKKyAgICAweGE3YThhNjA4LCAweDNjMGRlYTY3LCAweDRlOTk3NTE2LCAweGQ1M2MzOTc5LCAweGEyYTJlYjg5LAorICAgIDB4MzkwN2E3ZTYsIDB4NGQ5ZjRlNjksIDB4ZDYzYTAyMDYsIDB4YTFhNGQwZjYsIDB4M2EwMTljOTksCisgICAgMHg0NDhkZWUxNCwgMHhkZjI4YTI3YiwgMHhhOGI2NzA4YiwgMHgzMzEzM2NlNCwgMHg0NzhiZDU2YiwKKyAgICAweGRjMmU5OTA0LCAweGFiYjA0YmY0LCAweDMwMTUwNzliLCAweDQyODE5OGVhLCAweGQ5MjRkNDg1LAorICAgIDB4YWViYTA2NzUsIDB4MzUxZjRhMWEsIDB4NDE4N2EzOTUsIDB4ZGEyMmVmZmEsIDB4YWRiYzNkMGEsCisgICAgMHgzNjE5NzE2NX0sCisgICB7MHgwMDAwMDAwMCwgMHhjMThlZGZjMCwgMHg1ODZjYjljMSwgMHg5OWUyNjYwMSwgMHhiMGQ5NzM4MiwKKyAgICAweDcxNTdhYzQyLCAweGU4YjVjYTQzLCAweDI5M2IxNTgzLCAweGJhYzNlMTQ1LCAweDdiNGQzZTg1LAorICAgIDB4ZTJhZjU4ODQsIDB4MjMyMTg3NDQsIDB4MGExYTkyYzcsIDB4Y2I5NDRkMDcsIDB4NTI3NjJiMDYsCisgICAgMHg5M2Y4ZjRjNiwgMHhhZWY2YzRjYiwgMHg2Zjc4MWIwYiwgMHhmNjlhN2QwYSwgMHgzNzE0YTJjYSwKKyAgICAweDFlMmZiNzQ5LCAweGRmYTE2ODg5LCAweDQ2NDMwZTg4LCAweDg3Y2RkMTQ4LCAweDE0MzUyNThlLAorICAgIDB4ZDViYmZhNGUsIDB4NGM1OTljNGYsIDB4OGRkNzQzOGYsIDB4YTRlYzU2MGMsIDB4NjU2Mjg5Y2MsCisgICAgMHhmYzgwZWZjZCwgMHgzZDBlMzAwZCwgMHg4NjljOGZkNywgMHg0NzEyNTAxNywgMHhkZWYwMzYxNiwKKyAgICAweDFmN2VlOWQ2LCAweDM2NDVmYzU1LCAweGY3Y2IyMzk1LCAweDZlMjk0NTk0LCAweGFmYTc5YTU0LAorICAgIDB4M2M1ZjZlOTIsIDB4ZmRkMWIxNTIsIDB4NjQzM2Q3NTMsIDB4YTViZDA4OTMsIDB4OGM4NjFkMTAsCisgICAgMHg0ZDA4YzJkMCwgMHhkNGVhYTRkMSwgMHgxNTY0N2IxMSwgMHgyODZhNGIxYywgMHhlOWU0OTRkYywKKyAgICAweDcwMDZmMmRkLCAweGIxODgyZDFkLCAweDk4YjMzODllLCAweDU5M2RlNzVlLCAweGMwZGY4MTVmLAorICAgIDB4MDE1MTVlOWYsIDB4OTJhOWFhNTksIDB4NTMyNzc1OTksIDB4Y2FjNTEzOTgsIDB4MGI0YmNjNTgsCisgICAgMHgyMjcwZDlkYiwgMHhlM2ZlMDYxYiwgMHg3YTFjNjAxYSwgMHhiYjkyYmZkYSwgMHhkNjQ4MTllZiwKKyAgICAweDE3YzZjNjJmLCAweDhlMjRhMDJlLCAweDRmYWE3ZmVlLCAweDY2OTE2YTZkLCAweGE3MWZiNWFkLAorICAgIDB4M2VmZGQzYWMsIDB4ZmY3MzBjNmMsIDB4NmM4YmY4YWEsIDB4YWQwNTI3NmEsIDB4MzRlNzQxNmIsCisgICAgMHhmNTY5OWVhYiwgMHhkYzUyOGIyOCwgMHgxZGRjNTRlOCwgMHg4NDNlMzJlOSwgMHg0NWIwZWQyOSwKKyAgICAweDc4YmVkZDI0LCAweGI5MzAwMmU0LCAweDIwZDI2NGU1LCAweGUxNWNiYjI1LCAweGM4NjdhZWE2LAorICAgIDB4MDllOTcxNjYsIDB4OTAwYjE3NjcsIDB4NTE4NWM4YTcsIDB4YzI3ZDNjNjEsIDB4MDNmM2UzYTEsCisgICAgMHg5YTExODVhMCwgMHg1YjlmNWE2MCwgMHg3MmE0NGZlMywgMHhiMzJhOTAyMywgMHgyYWM4ZjYyMiwKKyAgICAweGViNDYyOWUyLCAweDUwZDQ5NjM4LCAweDkxNWE0OWY4LCAweDA4YjgyZmY5LCAweGM5MzZmMDM5LAorICAgIDB4ZTAwZGU1YmEsIDB4MjE4MzNhN2EsIDB4Yjg2MTVjN2IsIDB4NzllZjgzYmIsIDB4ZWExNzc3N2QsCisgICAgMHgyYjk5YThiZCwgMHhiMjdiY2ViYywgMHg3M2Y1MTE3YywgMHg1YWNlMDRmZiwgMHg5YjQwZGIzZiwKKyAgICAweDAyYTJiZDNlLCAweGMzMmM2MmZlLCAweGZlMjI1MmYzLCAweDNmYWM4ZDMzLCAweGE2NGVlYjMyLAorICAgIDB4NjdjMDM0ZjIsIDB4NGVmYjIxNzEsIDB4OGY3NWZlYjEsIDB4MTY5Nzk4YjAsIDB4ZDcxOTQ3NzAsCisgICAgMHg0NGUxYjNiNiwgMHg4NTZmNmM3NiwgMHgxYzhkMGE3NywgMHhkZDAzZDViNywgMHhmNDM4YzAzNCwKKyAgICAweDM1YjYxZmY0LCAweGFjNTQ3OWY1LCAweDZkZGFhNjM1LCAweDc3ZTEzNTlmLCAweGI2NmZlYTVmLAorICAgIDB4MmY4ZDhjNWUsIDB4ZWUwMzUzOWUsIDB4YzczODQ2MWQsIDB4MDZiNjk5ZGQsIDB4OWY1NGZmZGMsCisgICAgMHg1ZWRhMjAxYywgMHhjZDIyZDRkYSwgMHgwY2FjMGIxYSwgMHg5NTRlNmQxYiwgMHg1NGMwYjJkYiwKKyAgICAweDdkZmJhNzU4LCAweGJjNzU3ODk4LCAweDI1OTcxZTk5LCAweGU0MTljMTU5LCAweGQ5MTdmMTU0LAorICAgIDB4MTg5OTJlOTQsIDB4ODE3YjQ4OTUsIDB4NDBmNTk3NTUsIDB4NjljZTgyZDYsIDB4YTg0MDVkMTYsCisgICAgMHgzMWEyM2IxNywgMHhmMDJjZTRkNywgMHg2M2Q0MTAxMSwgMHhhMjVhY2ZkMSwgMHgzYmI4YTlkMCwKKyAgICAweGZhMzY3NjEwLCAweGQzMGQ2MzkzLCAweDEyODNiYzUzLCAweDhiNjFkYTUyLCAweDRhZWYwNTkyLAorICAgIDB4ZjE3ZGJhNDgsIDB4MzBmMzY1ODgsIDB4YTkxMTAzODksIDB4Njg5ZmRjNDksIDB4NDFhNGM5Y2EsCisgICAgMHg4MDJhMTYwYSwgMHgxOWM4NzAwYiwgMHhkODQ2YWZjYiwgMHg0YmJlNWIwZCwgMHg4YTMwODRjZCwKKyAgICAweDEzZDJlMmNjLCAweGQyNWMzZDBjLCAweGZiNjcyODhmLCAweDNhZTlmNzRmLCAweGEzMGI5MTRlLAorICAgIDB4NjI4NTRlOGUsIDB4NWY4YjdlODMsIDB4OWUwNWExNDMsIDB4MDdlN2M3NDIsIDB4YzY2OTE4ODIsCisgICAgMHhlZjUyMGQwMSwgMHgyZWRjZDJjMSwgMHhiNzNlYjRjMCwgMHg3NmIwNmIwMCwgMHhlNTQ4OWZjNiwKKyAgICAweDI0YzY0MDA2LCAweGJkMjQyNjA3LCAweDdjYWFmOWM3LCAweDU1OTFlYzQ0LCAweDk0MWYzMzg0LAorICAgIDB4MGRmZDU1ODUsIDB4Y2M3MzhhNDUsIDB4YTFhOTJjNzAsIDB4NjAyN2YzYjAsIDB4ZjljNTk1YjEsCisgICAgMHgzODRiNGE3MSwgMHgxMTcwNWZmMiwgMHhkMGZlODAzMiwgMHg0OTFjZTYzMywgMHg4ODkyMzlmMywKKyAgICAweDFiNmFjZDM1LCAweGRhZTQxMmY1LCAweDQzMDY3NGY0LCAweDgyODhhYjM0LCAweGFiYjNiZWI3LAorICAgIDB4NmEzZDYxNzcsIDB4ZjNkZjA3NzYsIDB4MzI1MWQ4YjYsIDB4MGY1ZmU4YmIsIDB4Y2VkMTM3N2IsCisgICAgMHg1NzMzNTE3YSwgMHg5NmJkOGViYSwgMHhiZjg2OWIzOSwgMHg3ZTA4NDRmOSwgMHhlN2VhMjJmOCwKKyAgICAweDI2NjRmZDM4LCAweGI1OWMwOWZlLCAweDc0MTJkNjNlLCAweGVkZjBiMDNmLCAweDJjN2U2ZmZmLAorICAgIDB4MDU0NTdhN2MsIDB4YzRjYmE1YmMsIDB4NWQyOWMzYmQsIDB4OWNhNzFjN2QsIDB4MjczNWEzYTcsCisgICAgMHhlNmJiN2M2NywgMHg3ZjU5MWE2NiwgMHhiZWQ3YzVhNiwgMHg5N2VjZDAyNSwgMHg1NjYyMGZlNSwKKyAgICAweGNmODA2OWU0LCAweDBlMGViNjI0LCAweDlkZjY0MmUyLCAweDVjNzg5ZDIyLCAweGM1OWFmYjIzLAorICAgIDB4MDQxNDI0ZTMsIDB4MmQyZjMxNjAsIDB4ZWNhMWVlYTAsIDB4NzU0Mzg4YTEsIDB4YjRjZDU3NjEsCisgICAgMHg4OWMzNjc2YywgMHg0ODRkYjhhYywgMHhkMWFmZGVhZCwgMHgxMDIxMDE2ZCwgMHgzOTFhMTRlZSwKKyAgICAweGY4OTRjYjJlLCAweDYxNzZhZDJmLCAweGEwZjg3MmVmLCAweDMzMDA4NjI5LCAweGYyOGU1OWU5LAorICAgIDB4NmI2YzNmZTgsIDB4YWFlMmUwMjgsIDB4ODNkOWY1YWIsIDB4NDI1NzJhNmIsIDB4ZGJiNTRjNmEsCisgICAgMHgxYTNiOTNhYX0sCisgICB7MHgwMDAwMDAwMCwgMHhlZmMyNmIzZSwgMHgwNGY1ZDAzZCwgMHhlYjM3YmIwMywgMHgwOWViYTA3YSwKKyAgICAweGU2MjljYjQ0LCAweDBkMWU3MDQ3LCAweGUyZGMxYjc5LCAweDEzZDc0MGY0LCAweGZjMTUyYmNhLAorICAgIDB4MTcyMjkwYzksIDB4ZjhlMGZiZjcsIDB4MWEzY2UwOGUsIDB4ZjVmZThiYjAsIDB4MWVjOTMwYjMsCisgICAgMHhmMTBiNWI4ZCwgMHgyN2FlODFlOCwgMHhjODZjZWFkNiwgMHgyMzViNTFkNSwgMHhjYzk5M2FlYiwKKyAgICAweDJlNDUyMTkyLCAweGMxODc0YWFjLCAweDJhYjBmMWFmLCAweGM1NzI5YTkxLCAweDM0NzljMTFjLAorICAgIDB4ZGJiYmFhMjIsIDB4MzA4YzExMjEsIDB4ZGY0ZTdhMWYsIDB4M2Q5MjYxNjYsIDB4ZDI1MDBhNTgsCisgICAgMHgzOTY3YjE1YiwgMHhkNmE1ZGE2NSwgMHg0ZjVkMDNkMCwgMHhhMDlmNjhlZSwgMHg0YmE4ZDNlZCwKKyAgICAweGE0NmFiOGQzLCAweDQ2YjZhM2FhLCAweGE5NzRjODk0LCAweDQyNDM3Mzk3LCAweGFkODExOGE5LAorICAgIDB4NWM4YTQzMjQsIDB4YjM0ODI4MWEsIDB4NTg3ZjkzMTksIDB4YjdiZGY4MjcsIDB4NTU2MWUzNWUsCisgICAgMHhiYWEzODg2MCwgMHg1MTk0MzM2MywgMHhiZTU2NTg1ZCwgMHg2OGYzODIzOCwgMHg4NzMxZTkwNiwKKyAgICAweDZjMDY1MjA1LCAweDgzYzQzOTNiLCAweDYxMTgyMjQyLCAweDhlZGE0OTdjLCAweDY1ZWRmMjdmLAorICAgIDB4OGEyZjk5NDEsIDB4N2IyNGMyY2MsIDB4OTRlNmE5ZjIsIDB4N2ZkMTEyZjEsIDB4OTAxMzc5Y2YsCisgICAgMHg3MmNmNjJiNiwgMHg5ZDBkMDk4OCwgMHg3NjNhYjI4YiwgMHg5OWY4ZDliNSwgMHg5ZWJhMDdhMCwKKyAgICAweDcxNzg2YzllLCAweDlhNGZkNzlkLCAweDc1OGRiY2EzLCAweDk3NTFhN2RhLCAweDc4OTNjY2U0LAorICAgIDB4OTNhNDc3ZTcsIDB4N2M2NjFjZDksIDB4OGQ2ZDQ3NTQsIDB4NjJhZjJjNmEsIDB4ODk5ODk3NjksCisgICAgMHg2NjVhZmM1NywgMHg4NDg2ZTcyZSwgMHg2YjQ0OGMxMCwgMHg4MDczMzcxMywgMHg2ZmIxNWMyZCwKKyAgICAweGI5MTQ4NjQ4LCAweDU2ZDZlZDc2LCAweGJkZTE1Njc1LCAweDUyMjMzZDRiLCAweGIwZmYyNjMyLAorICAgIDB4NWYzZDRkMGMsIDB4YjQwYWY2MGYsIDB4NWJjODlkMzEsIDB4YWFjM2M2YmMsIDB4NDUwMWFkODIsCisgICAgMHhhZTM2MTY4MSwgMHg0MWY0N2RiZiwgMHhhMzI4NjZjNiwgMHg0Y2VhMGRmOCwgMHhhN2RkYjZmYiwKKyAgICAweDQ4MWZkZGM1LCAweGQxZTcwNDcwLCAweDNlMjU2ZjRlLCAweGQ1MTJkNDRkLCAweDNhZDBiZjczLAorICAgIDB4ZDgwY2E0MGEsIDB4MzdjZWNmMzQsIDB4ZGNmOTc0MzcsIDB4MzMzYjFmMDksIDB4YzIzMDQ0ODQsCisgICAgMHgyZGYyMmZiYSwgMHhjNmM1OTRiOSwgMHgyOTA3ZmY4NywgMHhjYmRiZTRmZSwgMHgyNDE5OGZjMCwKKyAgICAweGNmMmUzNGMzLCAweDIwZWM1ZmZkLCAweGY2NDk4NTk4LCAweDE5OGJlZWE2LCAweGYyYmM1NWE1LAorICAgIDB4MWQ3ZTNlOWIsIDB4ZmZhMjI1ZTIsIDB4MTA2MDRlZGMsIDB4ZmI1N2Y1ZGYsIDB4MTQ5NTllZTEsCisgICAgMHhlNTllYzU2YywgMHgwYTVjYWU1MiwgMHhlMTZiMTU1MSwgMHgwZWE5N2U2ZiwgMHhlYzc1NjUxNiwKKyAgICAweDAzYjcwZTI4LCAweGU4ODBiNTJiLCAweDA3NDJkZTE1LCAweGU2MDUwOTAxLCAweDA5Yzc2MjNmLAorICAgIDB4ZTJmMGQ5M2MsIDB4MGQzMmIyMDIsIDB4ZWZlZWE5N2IsIDB4MDAyY2MyNDUsIDB4ZWIxYjc5NDYsCisgICAgMHgwNGQ5MTI3OCwgMHhmNWQyNDlmNSwgMHgxYTEwMjJjYiwgMHhmMTI3OTljOCwgMHgxZWU1ZjJmNiwKKyAgICAweGZjMzllOThmLCAweDEzZmI4MmIxLCAweGY4Y2MzOWIyLCAweDE3MGU1MjhjLCAweGMxYWI4OGU5LAorICAgIDB4MmU2OWUzZDcsIDB4YzU1ZTU4ZDQsIDB4MmE5YzMzZWEsIDB4Yzg0MDI4OTMsIDB4Mjc4MjQzYWQsCisgICAgMHhjY2I1ZjhhZSwgMHgyMzc3OTM5MCwgMHhkMjdjYzgxZCwgMHgzZGJlYTMyMywgMHhkNjg5MTgyMCwKKyAgICAweDM5NGI3MzFlLCAweGRiOTc2ODY3LCAweDM0NTUwMzU5LCAweGRmNjJiODVhLCAweDMwYTBkMzY0LAorICAgIDB4YTk1ODBhZDEsIDB4NDY5YTYxZWYsIDB4YWRhZGRhZWMsIDB4NDI2ZmIxZDIsIDB4YTBiM2FhYWIsCisgICAgMHg0ZjcxYzE5NSwgMHhhNDQ2N2E5NiwgMHg0Yjg0MTFhOCwgMHhiYThmNGEyNSwgMHg1NTRkMjExYiwKKyAgICAweGJlN2E5YTE4LCAweDUxYjhmMTI2LCAweGIzNjRlYTVmLCAweDVjYTY4MTYxLCAweGI3OTEzYTYyLAorICAgIDB4NTg1MzUxNWMsIDB4OGVmNjhiMzksIDB4NjEzNGUwMDcsIDB4OGEwMzViMDQsIDB4NjVjMTMwM2EsCisgICAgMHg4NzFkMmI0MywgMHg2OGRmNDA3ZCwgMHg4M2U4ZmI3ZSwgMHg2YzJhOTA0MCwgMHg5ZDIxY2JjZCwKKyAgICAweDcyZTNhMGYzLCAweDk5ZDQxYmYwLCAweDc2MTY3MGNlLCAweDk0Y2E2YmI3LCAweDdiMDgwMDg5LAorICAgIDB4OTAzZmJiOGEsIDB4N2ZmZGQwYjQsIDB4NzhiZjBlYTEsIDB4OTc3ZDY1OWYsIDB4N2M0YWRlOWMsCisgICAgMHg5Mzg4YjVhMiwgMHg3MTU0YWVkYiwgMHg5ZTk2YzVlNSwgMHg3NWExN2VlNiwgMHg5YTYzMTVkOCwKKyAgICAweDZiNjg0ZTU1LCAweDg0YWEyNTZiLCAweDZmOWQ5ZTY4LCAweDgwNWZmNTU2LCAweDYyODNlZTJmLAorICAgIDB4OGQ0MTg1MTEsIDB4NjY3NjNlMTIsIDB4ODliNDU1MmMsIDB4NWYxMThmNDksIDB4YjBkM2U0NzcsCisgICAgMHg1YmU0NWY3NCwgMHhiNDI2MzQ0YSwgMHg1NmZhMmYzMywgMHhiOTM4NDQwZCwgMHg1MjBmZmYwZSwKKyAgICAweGJkY2Q5NDMwLCAweDRjYzZjZmJkLCAweGEzMDRhNDgzLCAweDQ4MzMxZjgwLCAweGE3ZjE3NGJlLAorICAgIDB4NDUyZDZmYzcsIDB4YWFlZjA0ZjksIDB4NDFkOGJmZmEsIDB4YWUxYWQ0YzQsIDB4MzdlMjBkNzEsCisgICAgMHhkODIwNjY0ZiwgMHgzMzE3ZGQ0YywgMHhkY2Q1YjY3MiwgMHgzZTA5YWQwYiwgMHhkMWNiYzYzNSwKKyAgICAweDNhZmM3ZDM2LCAweGQ1M2UxNjA4LCAweDI0MzU0ZDg1LCAweGNiZjcyNmJiLCAweDIwYzA5ZGI4LAorICAgIDB4Y2YwMmY2ODYsIDB4MmRkZWVkZmYsIDB4YzIxYzg2YzEsIDB4MjkyYjNkYzIsIDB4YzZlOTU2ZmMsCisgICAgMHgxMDRjOGM5OSwgMHhmZjhlZTdhNywgMHgxNGI5NWNhNCwgMHhmYjdiMzc5YSwgMHgxOWE3MmNlMywKKyAgICAweGY2NjU0N2RkLCAweDFkNTJmY2RlLCAweGYyOTA5N2UwLCAweDAzOWJjYzZkLCAweGVjNTlhNzUzLAorICAgIDB4MDc2ZTFjNTAsIDB4ZThhYzc3NmUsIDB4MGE3MDZjMTcsIDB4ZTViMjA3MjksIDB4MGU4NWJjMmEsCisgICAgMHhlMTQ3ZDcxNH0sCisgICB7MHgwMDAwMDAwMCwgMHgxNzdiMTQ0MywgMHgyZWY2Mjg4NiwgMHgzOThkM2NjNSwgMHg1ZGVjNTEwYywKKyAgICAweDRhOTc0NTRmLCAweDczMWE3OThhLCAweDY0NjE2ZGM5LCAweGJiZDhhMjE4LCAweGFjYTNiNjViLAorICAgIDB4OTUyZThhOWUsIDB4ODI1NTllZGQsIDB4ZTYzNGYzMTQsIDB4ZjE0ZmU3NTcsIDB4YzhjMmRiOTIsCisgICAgMHhkZmI5Y2ZkMSwgMHhhY2MwNDI3MSwgMHhiYmJiNTYzMiwgMHg4MjM2NmFmNywgMHg5NTRkN2ViNCwKKyAgICAweGYxMmMxMzdkLCAweGU2NTcwNzNlLCAweGRmZGEzYmZiLCAweGM4YTEyZmI4LCAweDE3MThlMDY5LAorICAgIDB4MDA2M2Y0MmEsIDB4MzllZWM4ZWYsIDB4MmU5NWRjYWMsIDB4NGFmNGIxNjUsIDB4NWQ4ZmE1MjYsCisgICAgMHg2NDAyOTllMywgMHg3Mzc5OGRhMCwgMHg4MmYxODJhMywgMHg5NThhOTZlMCwgMHhhYzA3YWEyNSwKKyAgICAweGJiN2NiZTY2LCAweGRmMWRkM2FmLCAweGM4NjZjN2VjLCAweGYxZWJmYjI5LCAweGU2OTBlZjZhLAorICAgIDB4MzkyOTIwYmIsIDB4MmU1MjM0ZjgsIDB4MTdkZjA4M2QsIDB4MDBhNDFjN2UsIDB4NjRjNTcxYjcsCisgICAgMHg3M2JlNjVmNCwgMHg0YTMzNTkzMSwgMHg1ZDQ4NGQ3MiwgMHgyZTMxYzBkMiwgMHgzOTRhZDQ5MSwKKyAgICAweDAwYzdlODU0LCAweDE3YmNmYzE3LCAweDczZGQ5MWRlLCAweDY0YTY4NTlkLCAweDVkMmJiOTU4LAorICAgIDB4NGE1MGFkMWIsIDB4OTVlOTYyY2EsIDB4ODI5Mjc2ODksIDB4YmIxZjRhNGMsIDB4YWM2NDVlMGYsCisgICAgMHhjODA1MzNjNiwgMHhkZjdlMjc4NSwgMHhlNmYzMWI0MCwgMHhmMTg4MGYwMywgMHhkZTkyMDMwNywKKyAgICAweGM5ZTkxNzQ0LCAweGYwNjQyYjgxLCAweGU3MWYzZmMyLCAweDgzN2U1MjBiLCAweDk0MDU0NjQ4LAorICAgIDB4YWQ4ODdhOGQsIDB4YmFmMzZlY2UsIDB4NjU0YWExMWYsIDB4NzIzMWI1NWMsIDB4NGJiYzg5OTksCisgICAgMHg1Y2M3OWRkYSwgMHgzOGE2ZjAxMywgMHgyZmRkZTQ1MCwgMHgxNjUwZDg5NSwgMHgwMTJiY2NkNiwKKyAgICAweDcyNTI0MTc2LCAweDY1Mjk1NTM1LCAweDVjYTQ2OWYwLCAweDRiZGY3ZGIzLCAweDJmYmUxMDdhLAorICAgIDB4MzhjNTA0MzksIDB4MDE0ODM4ZmMsIDB4MTYzMzJjYmYsIDB4Yzk4YWUzNmUsIDB4ZGVmMWY3MmQsCisgICAgMHhlNzdjY2JlOCwgMHhmMDA3ZGZhYiwgMHg5NDY2YjI2MiwgMHg4MzFkYTYyMSwgMHhiYTkwOWFlNCwKKyAgICAweGFkZWI4ZWE3LCAweDVjNjM4MWE0LCAweDRiMTg5NWU3LCAweDcyOTVhOTIyLCAweDY1ZWViZDYxLAorICAgIDB4MDE4ZmQwYTgsIDB4MTZmNGM0ZWIsIDB4MmY3OWY4MmUsIDB4MzgwMmVjNmQsIDB4ZTdiYjIzYmMsCisgICAgMHhmMGMwMzdmZiwgMHhjOTRkMGIzYSwgMHhkZTM2MWY3OSwgMHhiYTU3NzJiMCwgMHhhZDJjNjZmMywKKyAgICAweDk0YTE1YTM2LCAweDgzZGE0ZTc1LCAweGYwYTNjM2Q1LCAweGU3ZDhkNzk2LCAweGRlNTVlYjUzLAorICAgIDB4YzkyZWZmMTAsIDB4YWQ0ZjkyZDksIDB4YmEzNDg2OWEsIDB4ODNiOWJhNWYsIDB4OTRjMmFlMWMsCisgICAgMHg0YjdiNjFjZCwgMHg1YzAwNzU4ZSwgMHg2NThkNDk0YiwgMHg3MmY2NWQwOCwgMHgxNjk3MzBjMSwKKyAgICAweDAxZWMyNDgyLCAweDM4NjExODQ3LCAweDJmMWEwYzA0LCAweDY2NTUwMDRmLCAweDcxMmUxNDBjLAorICAgIDB4NDhhMzI4YzksIDB4NWZkODNjOGEsIDB4M2JiOTUxNDMsIDB4MmNjMjQ1MDAsIDB4MTU0Zjc5YzUsCisgICAgMHgwMjM0NmQ4NiwgMHhkZDhkYTI1NywgMHhjYWY2YjYxNCwgMHhmMzdiOGFkMSwgMHhlNDAwOWU5MiwKKyAgICAweDgwNjFmMzViLCAweDk3MWFlNzE4LCAweGFlOTdkYmRkLCAweGI5ZWNjZjllLCAweGNhOTU0MjNlLAorICAgIDB4ZGRlZTU2N2QsIDB4ZTQ2MzZhYjgsIDB4ZjMxODdlZmIsIDB4OTc3OTEzMzIsIDB4ODAwMjA3NzEsCisgICAgMHhiOThmM2JiNCwgMHhhZWY0MmZmNywgMHg3MTRkZTAyNiwgMHg2NjM2ZjQ2NSwgMHg1ZmJiYzhhMCwKKyAgICAweDQ4YzBkY2UzLCAweDJjYTFiMTJhLCAweDNiZGFhNTY5LCAweDAyNTc5OWFjLCAweDE1MmM4ZGVmLAorICAgIDB4ZTRhNDgyZWMsIDB4ZjNkZjk2YWYsIDB4Y2E1MmFhNmEsIDB4ZGQyOWJlMjksIDB4Yjk0OGQzZTAsCisgICAgMHhhZTMzYzdhMywgMHg5N2JlZmI2NiwgMHg4MGM1ZWYyNSwgMHg1ZjdjMjBmNCwgMHg0ODA3MzRiNywKKyAgICAweDcxOGEwODcyLCAweDY2ZjExYzMxLCAweDAyOTA3MWY4LCAweDE1ZWI2NWJiLCAweDJjNjY1OTdlLAorICAgIDB4M2IxZDRkM2QsIDB4NDg2NGMwOWQsIDB4NWYxZmQ0ZGUsIDB4NjY5MmU4MWIsIDB4NzFlOWZjNTgsCisgICAgMHgxNTg4OTE5MSwgMHgwMmYzODVkMiwgMHgzYjdlYjkxNywgMHgyYzA1YWQ1NCwgMHhmM2JjNjI4NSwKKyAgICAweGU0Yzc3NmM2LCAweGRkNGE0YTAzLCAweGNhMzE1ZTQwLCAweGFlNTAzMzg5LCAweGI5MmIyN2NhLAorICAgIDB4ODBhNjFiMGYsIDB4OTdkZDBmNGMsIDB4YjhjNzAzNDgsIDB4YWZiYzE3MGIsIDB4OTYzMTJiY2UsCisgICAgMHg4MTRhM2Y4ZCwgMHhlNTJiNTI0NCwgMHhmMjUwNDYwNywgMHhjYmRkN2FjMiwgMHhkY2E2NmU4MSwKKyAgICAweDAzMWZhMTUwLCAweDE0NjRiNTEzLCAweDJkZTk4OWQ2LCAweDNhOTI5ZDk1LCAweDVlZjNmMDVjLAorICAgIDB4NDk4OGU0MWYsIDB4NzAwNWQ4ZGEsIDB4Njc3ZWNjOTksIDB4MTQwNzQxMzksIDB4MDM3YzU1N2EsCisgICAgMHgzYWYxNjliZiwgMHgyZDhhN2RmYywgMHg0OWViMTAzNSwgMHg1ZTkwMDQ3NiwgMHg2NzFkMzhiMywKKyAgICAweDcwNjYyY2YwLCAweGFmZGZlMzIxLCAweGI4YTRmNzYyLCAweDgxMjljYmE3LCAweDk2NTJkZmU0LAorICAgIDB4ZjIzM2IyMmQsIDB4ZTU0OGE2NmUsIDB4ZGNjNTlhYWIsIDB4Y2JiZThlZTgsIDB4M2EzNjgxZWIsCisgICAgMHgyZDRkOTVhOCwgMHgxNGMwYTk2ZCwgMHgwM2JiYmQyZSwgMHg2N2RhZDBlNywgMHg3MGExYzRhNCwKKyAgICAweDQ5MmNmODYxLCAweDVlNTdlYzIyLCAweDgxZWUyM2YzLCAweDk2OTUzN2IwLCAweGFmMTgwYjc1LAorICAgIDB4Yjg2MzFmMzYsIDB4ZGMwMjcyZmYsIDB4Y2I3OTY2YmMsIDB4ZjJmNDVhNzksIDB4ZTU4ZjRlM2EsCisgICAgMHg5NmY2YzM5YSwgMHg4MThkZDdkOSwgMHhiODAwZWIxYywgMHhhZjdiZmY1ZiwgMHhjYjFhOTI5NiwKKyAgICAweGRjNjE4NmQ1LCAweGU1ZWNiYTEwLCAweGYyOTdhZTUzLCAweDJkMmU2MTgyLCAweDNhNTU3NWMxLAorICAgIDB4MDNkODQ5MDQsIDB4MTRhMzVkNDcsIDB4NzBjMjMwOGUsIDB4NjdiOTI0Y2QsIDB4NWUzNDE4MDgsCisgICAgMHg0OTRmMGM0Yn19OworCitsb2NhbCBjb25zdCB6X3dvcmRfdCBGQVIgY3JjX2JyYWlkX2JpZ190YWJsZVtdWzI1Nl0gPSB7CisgICB7MHgwMDAwMDAwMCwgMHg0MzE0N2IxNywgMHg4NjI4ZjYyZSwgMHhjNTNjOGQzOSwgMHgwYzUxZWM1ZCwKKyAgICAweDRmNDU5NzRhLCAweDhhNzkxYTczLCAweGM5NmQ2MTY0LCAweDE4YTJkOGJiLCAweDViYjZhM2FjLAorICAgIDB4OWU4YTJlOTUsIDB4ZGQ5ZTU1ODIsIDB4MTRmMzM0ZTYsIDB4NTdlNzRmZjEsIDB4OTJkYmMyYzgsCisgICAgMHhkMWNmYjlkZiwgMHg3MTQyYzBhYywgMHgzMjU2YmJiYiwgMHhmNzZhMzY4MiwgMHhiNDdlNGQ5NSwKKyAgICAweDdkMTMyY2YxLCAweDNlMDc1N2U2LCAweGZiM2JkYWRmLCAweGI4MmZhMWM4LCAweDY5ZTAxODE3LAorICAgIDB4MmFmNDYzMDAsIDB4ZWZjOGVlMzksIDB4YWNkYzk1MmUsIDB4NjViMWY0NGEsIDB4MjZhNThmNWQsCisgICAgMHhlMzk5MDI2NCwgMHhhMDhkNzk3MywgMHhhMzgyZjE4MiwgMHhlMDk2OGE5NSwgMHgyNWFhMDdhYywKKyAgICAweDY2YmU3Y2JiLCAweGFmZDMxZGRmLCAweGVjYzc2NmM4LCAweDI5ZmJlYmYxLCAweDZhZWY5MGU2LAorICAgIDB4YmIyMDI5MzksIDB4ZjgzNDUyMmUsIDB4M2QwOGRmMTcsIDB4N2UxY2E0MDAsIDB4Yjc3MWM1NjQsCisgICAgMHhmNDY1YmU3MywgMHgzMTU5MzM0YSwgMHg3MjRkNDg1ZCwgMHhkMmMwMzEyZSwgMHg5MWQ0NGEzOSwKKyAgICAweDU0ZThjNzAwLCAweDE3ZmNiYzE3LCAweGRlOTFkZDczLCAweDlkODVhNjY0LCAweDU4YjkyYjVkLAorICAgIDB4MWJhZDUwNGEsIDB4Y2E2MmU5OTUsIDB4ODk3NjkyODIsIDB4NGM0YTFmYmIsIDB4MGY1ZTY0YWMsCisgICAgMHhjNjMzMDVjOCwgMHg4NTI3N2VkZiwgMHg0MDFiZjNlNiwgMHgwMzBmODhmMSwgMHgwNzAzOTJkZSwKKyAgICAweDQ0MTdlOWM5LCAweDgxMmI2NGYwLCAweGMyM2YxZmU3LCAweDBiNTI3ZTgzLCAweDQ4NDYwNTk0LAorICAgIDB4OGQ3YTg4YWQsIDB4Y2U2ZWYzYmEsIDB4MWZhMTRhNjUsIDB4NWNiNTMxNzIsIDB4OTk4OWJjNGIsCisgICAgMHhkYTlkYzc1YywgMHgxM2YwYTYzOCwgMHg1MGU0ZGQyZiwgMHg5NWQ4NTAxNiwgMHhkNmNjMmIwMSwKKyAgICAweDc2NDE1MjcyLCAweDM1NTUyOTY1LCAweGYwNjlhNDVjLCAweGIzN2RkZjRiLCAweDdhMTBiZTJmLAorICAgIDB4MzkwNGM1MzgsIDB4ZmMzODQ4MDEsIDB4YmYyYzMzMTYsIDB4NmVlMzhhYzksIDB4MmRmN2YxZGUsCisgICAgMHhlOGNiN2NlNywgMHhhYmRmMDdmMCwgMHg2MmIyNjY5NCwgMHgyMWE2MWQ4MywgMHhlNDlhOTBiYSwKKyAgICAweGE3OGVlYmFkLCAweGE0ODE2MzVjLCAweGU3OTUxODRiLCAweDIyYTk5NTcyLCAweDYxYmRlZTY1LAorICAgIDB4YThkMDhmMDEsIDB4ZWJjNGY0MTYsIDB4MmVmODc5MmYsIDB4NmRlYzAyMzgsIDB4YmMyM2JiZTcsCisgICAgMHhmZjM3YzBmMCwgMHgzYTBiNGRjOSwgMHg3OTFmMzZkZSwgMHhiMDcyNTdiYSwgMHhmMzY2MmNhZCwKKyAgICAweDM2NWFhMTk0LCAweDc1NGVkYTgzLCAweGQ1YzNhM2YwLCAweDk2ZDdkOGU3LCAweDUzZWI1NWRlLAorICAgIDB4MTBmZjJlYzksIDB4ZDk5MjRmYWQsIDB4OWE4NjM0YmEsIDB4NWZiYWI5ODMsIDB4MWNhZWMyOTQsCisgICAgMHhjZDYxN2I0YiwgMHg4ZTc1MDA1YywgMHg0YjQ5OGQ2NSwgMHgwODVkZjY3MiwgMHhjMTMwOTcxNiwKKyAgICAweDgyMjRlYzAxLCAweDQ3MTg2MTM4LCAweDA0MGMxYTJmLCAweDRmMDA1NTY2LCAweDBjMTQyZTcxLAorICAgIDB4YzkyOGEzNDgsIDB4OGEzY2Q4NWYsIDB4NDM1MWI5M2IsIDB4MDA0NWMyMmMsIDB4YzU3OTRmMTUsCisgICAgMHg4NjZkMzQwMiwgMHg1N2EyOGRkZCwgMHgxNGI2ZjZjYSwgMHhkMThhN2JmMywgMHg5MjllMDBlNCwKKyAgICAweDViZjM2MTgwLCAweDE4ZTcxYTk3LCAweGRkZGI5N2FlLCAweDllY2ZlY2I5LCAweDNlNDI5NWNhLAorICAgIDB4N2Q1NmVlZGQsIDB4Yjg2YTYzZTQsIDB4ZmI3ZTE4ZjMsIDB4MzIxMzc5OTcsIDB4NzEwNzAyODAsCisgICAgMHhiNDNiOGZiOSwgMHhmNzJmZjRhZSwgMHgyNmUwNGQ3MSwgMHg2NWY0MzY2NiwgMHhhMGM4YmI1ZiwKKyAgICAweGUzZGNjMDQ4LCAweDJhYjFhMTJjLCAweDY5YTVkYTNiLCAweGFjOTk1NzAyLCAweGVmOGQyYzE1LAorICAgIDB4ZWM4MmE0ZTQsIDB4YWY5NmRmZjMsIDB4NmFhYTUyY2EsIDB4MjliZTI5ZGQsIDB4ZTBkMzQ4YjksCisgICAgMHhhM2M3MzNhZSwgMHg2NmZiYmU5NywgMHgyNWVmYzU4MCwgMHhmNDIwN2M1ZiwgMHhiNzM0MDc0OCwKKyAgICAweDcyMDg4YTcxLCAweDMxMWNmMTY2LCAweGY4NzE5MDAyLCAweGJiNjVlYjE1LCAweDdlNTk2NjJjLAorICAgIDB4M2Q0ZDFkM2IsIDB4OWRjMDY0NDgsIDB4ZGVkNDFmNWYsIDB4MWJlODkyNjYsIDB4NThmY2U5NzEsCisgICAgMHg5MTkxODgxNSwgMHhkMjg1ZjMwMiwgMHgxN2I5N2UzYiwgMHg1NGFkMDUyYywgMHg4NTYyYmNmMywKKyAgICAweGM2NzZjN2U0LCAweDAzNGE0YWRkLCAweDQwNWUzMWNhLCAweDg5MzM1MGFlLCAweGNhMjcyYmI5LAorICAgIDB4MGYxYmE2ODAsIDB4NGMwZmRkOTcsIDB4NDgwM2M3YjgsIDB4MGIxN2JjYWYsIDB4Y2UyYjMxOTYsCisgICAgMHg4ZDNmNGE4MSwgMHg0NDUyMmJlNSwgMHgwNzQ2NTBmMiwgMHhjMjdhZGRjYiwgMHg4MTZlYTZkYywKKyAgICAweDUwYTExZjAzLCAweDEzYjU2NDE0LCAweGQ2ODllOTJkLCAweDk1OWQ5MjNhLCAweDVjZjBmMzVlLAorICAgIDB4MWZlNDg4NDksIDB4ZGFkODA1NzAsIDB4OTljYzdlNjcsIDB4Mzk0MTA3MTQsIDB4N2E1NTdjMDMsCisgICAgMHhiZjY5ZjEzYSwgMHhmYzdkOGEyZCwgMHgzNTEwZWI0OSwgMHg3NjA0OTA1ZSwgMHhiMzM4MWQ2NywKKyAgICAweGYwMmM2NjcwLCAweDIxZTNkZmFmLCAweDYyZjdhNGI4LCAweGE3Y2IyOTgxLCAweGU0ZGY1Mjk2LAorICAgIDB4MmRiMjMzZjIsIDB4NmVhNjQ4ZTUsIDB4YWI5YWM1ZGMsIDB4ZTg4ZWJlY2IsIDB4ZWI4MTM2M2EsCisgICAgMHhhODk1NGQyZCwgMHg2ZGE5YzAxNCwgMHgyZWJkYmIwMywgMHhlN2QwZGE2NywgMHhhNGM0YTE3MCwKKyAgICAweDYxZjgyYzQ5LCAweDIyZWM1NzVlLCAweGYzMjNlZTgxLCAweGIwMzc5NTk2LCAweDc1MGIxOGFmLAorICAgIDB4MzYxZjYzYjgsIDB4ZmY3MjAyZGMsIDB4YmM2Njc5Y2IsIDB4Nzk1YWY0ZjIsIDB4M2E0ZThmZTUsCisgICAgMHg5YWMzZjY5NiwgMHhkOWQ3OGQ4MSwgMHgxY2ViMDBiOCwgMHg1ZmZmN2JhZiwgMHg5NjkyMWFjYiwKKyAgICAweGQ1ODY2MWRjLCAweDEwYmFlY2U1LCAweDUzYWU5N2YyLCAweDgyNjEyZTJkLCAweGMxNzU1NTNhLAorICAgIDB4MDQ0OWQ4MDMsIDB4NDc1ZGEzMTQsIDB4OGUzMGMyNzAsIDB4Y2QyNGI5NjcsIDB4MDgxODM0NWUsCisgICAgMHg0YjBjNGY0OX0sCisgICB7MHgwMDAwMDAwMCwgMHgzZTZiYzJlZiwgMHgzZGQwZjUwNCwgMHgwM2JiMzdlYiwgMHg3YWEwZWIwOSwKKyAgICAweDQ0Y2IyOWU2LCAweDQ3NzAxZTBkLCAweDc5MWJkY2UyLCAweGY0NDBkNzEzLCAweGNhMmIxNWZjLAorICAgIDB4Yzk5MDIyMTcsIDB4ZjdmYmUwZjgsIDB4OGVlMDNjMWEsIDB4YjA4YmZlZjUsIDB4YjMzMGM5MWUsCisgICAgMHg4ZDViMGJmMSwgMHhlODgxYWUyNywgMHhkNmVhNmNjOCwgMHhkNTUxNWIyMywgMHhlYjNhOTljYywKKyAgICAweDkyMjE0NTJlLCAweGFjNGE4N2MxLCAweGFmZjFiMDJhLCAweDkxOWE3MmM1LCAweDFjYzE3OTM0LAorICAgIDB4MjJhYWJiZGIsIDB4MjExMThjMzAsIDB4MWY3YTRlZGYsIDB4NjY2MTkyM2QsIDB4NTgwYTUwZDIsCisgICAgMHg1YmIxNjczOSwgMHg2NWRhYTVkNiwgMHhkMDAzNWQ0ZiwgMHhlZTY4OWZhMCwgMHhlZGQzYTg0YiwKKyAgICAweGQzYjg2YWE0LCAweGFhYTNiNjQ2LCAweDk0Yzg3NGE5LCAweDk3NzM0MzQyLCAweGE5MTg4MWFkLAorICAgIDB4MjQ0MzhhNWMsIDB4MWEyODQ4YjMsIDB4MTk5MzdmNTgsIDB4MjdmOGJkYjcsIDB4NWVlMzYxNTUsCisgICAgMHg2MDg4YTNiYSwgMHg2MzMzOTQ1MSwgMHg1ZDU4NTZiZSwgMHgzODgyZjM2OCwgMHgwNmU5MzE4NywKKyAgICAweDA1NTIwNjZjLCAweDNiMzljNDgzLCAweDQyMjIxODYxLCAweDdjNDlkYThlLCAweDdmZjJlZDY1LAorICAgIDB4NDE5OTJmOGEsIDB4Y2NjMjI0N2IsIDB4ZjJhOWU2OTQsIDB4ZjExMmQxN2YsIDB4Y2Y3OTEzOTAsCisgICAgMHhiNjYyY2Y3MiwgMHg4ODA5MGQ5ZCwgMHg4YmIyM2E3NiwgMHhiNWQ5Zjg5OSwgMHhhMDA3YmE5ZSwKKyAgICAweDllNmM3ODcxLCAweDlkZDc0ZjlhLCAweGEzYmM4ZDc1LCAweGRhYTc1MTk3LCAweGU0Y2M5Mzc4LAorICAgIDB4ZTc3N2E0OTMsIDB4ZDkxYzY2N2MsIDB4NTQ0NzZkOGQsIDB4NmEyY2FmNjIsIDB4Njk5Nzk4ODksCisgICAgMHg1N2ZjNWE2NiwgMHgyZWU3ODY4NCwgMHgxMDhjNDQ2YiwgMHgxMzM3NzM4MCwgMHgyZDVjYjE2ZiwKKyAgICAweDQ4ODYxNGI5LCAweDc2ZWRkNjU2LCAweDc1NTZlMWJkLCAweDRiM2QyMzUyLCAweDMyMjZmZmIwLAorICAgIDB4MGM0ZDNkNWYsIDB4MGZmNjBhYjQsIDB4MzE5ZGM4NWIsIDB4YmNjNmMzYWEsIDB4ODJhZDAxNDUsCisgICAgMHg4MTE2MzZhZSwgMHhiZjdkZjQ0MSwgMHhjNjY2MjhhMywgMHhmODBkZWE0YywgMHhmYmI2ZGRhNywKKyAgICAweGM1ZGQxZjQ4LCAweDcwMDRlN2QxLCAweDRlNmYyNTNlLCAweDRkZDQxMmQ1LCAweDczYmZkMDNhLAorICAgIDB4MGFhNDBjZDgsIDB4MzRjZmNlMzcsIDB4Mzc3NGY5ZGMsIDB4MDkxZjNiMzMsIDB4ODQ0NDMwYzIsCisgICAgMHhiYTJmZjIyZCwgMHhiOTk0YzVjNiwgMHg4N2ZmMDcyOSwgMHhmZWU0ZGJjYiwgMHhjMDhmMTkyNCwKKyAgICAweGMzMzQyZWNmLCAweGZkNWZlYzIwLCAweDk4ODU0OWY2LCAweGE2ZWU4YjE5LCAweGE1NTViY2YyLAorICAgIDB4OWIzZTdlMWQsIDB4ZTIyNWEyZmYsIDB4ZGM0ZTYwMTAsIDB4ZGZmNTU3ZmIsIDB4ZTE5ZTk1MTQsCisgICAgMHg2Y2M1OWVlNSwgMHg1MmFlNWMwYSwgMHg1MTE1NmJlMSwgMHg2ZjdlYTkwZSwgMHgxNjY1NzVlYywKKyAgICAweDI4MGViNzAzLCAweDJiYjU4MGU4LCAweDE1ZGU0MjA3LCAweDAxMDkwNWU2LCAweDNmNjJjNzA5LAorICAgIDB4M2NkOWYwZTIsIDB4MDJiMjMyMGQsIDB4N2JhOWVlZWYsIDB4NDVjMjJjMDAsIDB4NDY3OTFiZWIsCisgICAgMHg3ODEyZDkwNCwgMHhmNTQ5ZDJmNSwgMHhjYjIyMTAxYSwgMHhjODk5MjdmMSwgMHhmNmYyZTUxZSwKKyAgICAweDhmZTkzOWZjLCAweGIxODJmYjEzLCAweGIyMzljY2Y4LCAweDhjNTIwZTE3LCAweGU5ODhhYmMxLAorICAgIDB4ZDdlMzY5MmUsIDB4ZDQ1ODVlYzUsIDB4ZWEzMzljMmEsIDB4OTMyODQwYzgsIDB4YWQ0MzgyMjcsCisgICAgMHhhZWY4YjVjYywgMHg5MDkzNzcyMywgMHgxZGM4N2NkMiwgMHgyM2EzYmUzZCwgMHgyMDE4ODlkNiwKKyAgICAweDFlNzM0YjM5LCAweDY3Njg5N2RiLCAweDU5MDM1NTM0LCAweDVhYjg2MmRmLCAweDY0ZDNhMDMwLAorICAgIDB4ZDEwYTU4YTksIDB4ZWY2MTlhNDYsIDB4ZWNkYWFkYWQsIDB4ZDJiMTZmNDIsIDB4YWJhYWIzYTAsCisgICAgMHg5NWMxNzE0ZiwgMHg5NjdhNDZhNCwgMHhhODExODQ0YiwgMHgyNTRhOGZiYSwgMHgxYjIxNGQ1NSwKKyAgICAweDE4OWE3YWJlLCAweDI2ZjFiODUxLCAweDVmZWE2NGIzLCAweDYxODFhNjVjLCAweDYyM2E5MWI3LAorICAgIDB4NWM1MTUzNTgsIDB4Mzk4YmY2OGUsIDB4MDdlMDM0NjEsIDB4MDQ1YjAzOGEsIDB4M2EzMGMxNjUsCisgICAgMHg0MzJiMWQ4NywgMHg3ZDQwZGY2OCwgMHg3ZWZiZTg4MywgMHg0MDkwMmE2YywgMHhjZGNiMjE5ZCwKKyAgICAweGYzYTBlMzcyLCAweGYwMWJkNDk5LCAweGNlNzAxNjc2LCAweGI3NmJjYTk0LCAweDg5MDAwODdiLAorICAgIDB4OGFiYjNmOTAsIDB4YjRkMGZkN2YsIDB4YTEwZWJmNzgsIDB4OWY2NTdkOTcsIDB4OWNkZTRhN2MsCisgICAgMHhhMmI1ODg5MywgMHhkYmFlNTQ3MSwgMHhlNWM1OTY5ZSwgMHhlNjdlYTE3NSwgMHhkODE1NjM5YSwKKyAgICAweDU1NGU2ODZiLCAweDZiMjVhYTg0LCAweDY4OWU5ZDZmLCAweDU2ZjU1ZjgwLCAweDJmZWU4MzYyLAorICAgIDB4MTE4NTQxOGQsIDB4MTIzZTc2NjYsIDB4MmM1NWI0ODksIDB4NDk4ZjExNWYsIDB4NzdlNGQzYjAsCisgICAgMHg3NDVmZTQ1YiwgMHg0YTM0MjZiNCwgMHgzMzJmZmE1NiwgMHgwZDQ0MzhiOSwgMHgwZWZmMGY1MiwKKyAgICAweDMwOTRjZGJkLCAweGJkY2ZjNjRjLCAweDgzYTQwNGEzLCAweDgwMWYzMzQ4LCAweGJlNzRmMWE3LAorICAgIDB4Yzc2ZjJkNDUsIDB4ZjkwNGVmYWEsIDB4ZmFiZmQ4NDEsIDB4YzRkNDFhYWUsIDB4NzEwZGUyMzcsCisgICAgMHg0ZjY2MjBkOCwgMHg0Y2RkMTczMywgMHg3MmI2ZDVkYywgMHgwYmFkMDkzZSwgMHgzNWM2Y2JkMSwKKyAgICAweDM2N2RmYzNhLCAweDA4MTYzZWQ1LCAweDg1NGQzNTI0LCAweGJiMjZmN2NiLCAweGI4OWRjMDIwLAorICAgIDB4ODZmNjAyY2YsIDB4ZmZlZGRlMmQsIDB4YzE4NjFjYzIsIDB4YzIzZDJiMjksIDB4ZmM1NmU5YzYsCisgICAgMHg5OThjNGMxMCwgMHhhN2U3OGVmZiwgMHhhNDVjYjkxNCwgMHg5YTM3N2JmYiwgMHhlMzJjYTcxOSwKKyAgICAweGRkNDc2NWY2LCAweGRlZmM1MjFkLCAweGUwOTc5MGYyLCAweDZkY2M5YjAzLCAweDUzYTc1OWVjLAorICAgIDB4NTAxYzZlMDcsIDB4NmU3N2FjZTgsIDB4MTc2YzcwMGEsIDB4MjkwN2IyZTUsIDB4MmFiYzg1MGUsCisgICAgMHgxNGQ3NDdlMX0sCisgICB7MHgwMDAwMDAwMCwgMHhjMGRmOGVjMSwgMHhjMWI5NmM1OCwgMHgwMTY2ZTI5OSwgMHg4MjczZDliMCwKKyAgICAweDQyYWM1NzcxLCAweDQzY2FiNWU4LCAweDgzMTUzYjI5LCAweDQ1ZTFjM2JhLCAweDg1M2U0ZDdiLAorICAgIDB4ODQ1OGFmZTIsIDB4NDQ4NzIxMjMsIDB4Yzc5MjFhMGEsIDB4MDc0ZDk0Y2IsIDB4MDYyYjc2NTIsCisgICAgMHhjNmY0Zjg5MywgMHhjYmM0ZjZhZSwgMHgwYjFiNzg2ZiwgMHgwYTdkOWFmNiwgMHhjYWEyMTQzNywKKyAgICAweDQ5YjcyZjFlLCAweDg5NjhhMWRmLCAweDg4MGU0MzQ2LCAweDQ4ZDFjZDg3LCAweDhlMjUzNTE0LAorICAgIDB4NGVmYWJiZDUsIDB4NGY5YzU5NGMsIDB4OGY0M2Q3OGQsIDB4MGM1NmVjYTQsIDB4Y2M4OTYyNjUsCisgICAgMHhjZGVmODBmYywgMHgwZDMwMGUzZCwgMHhkNzhmOWM4NiwgMHgxNzUwMTI0NywgMHgxNjM2ZjBkZSwKKyAgICAweGQ2ZTk3ZTFmLCAweDU1ZmM0NTM2LCAweDk1MjNjYmY3LCAweDk0NDUyOTZlLCAweDU0OWFhN2FmLAorICAgIDB4OTI2ZTVmM2MsIDB4NTJiMWQxZmQsIDB4NTNkNzMzNjQsIDB4OTMwOGJkYTUsIDB4MTAxZDg2OGMsCisgICAgMHhkMGMyMDg0ZCwgMHhkMWE0ZWFkNCwgMHgxMTdiNjQxNSwgMHgxYzRiNmEyOCwgMHhkYzk0ZTRlOSwKKyAgICAweGRkZjIwNjcwLCAweDFkMmQ4OGIxLCAweDllMzhiMzk4LCAweDVlZTczZDU5LCAweDVmODFkZmMwLAorICAgIDB4OWY1ZTUxMDEsIDB4NTlhYWE5OTIsIDB4OTk3NTI3NTMsIDB4OTgxM2M1Y2EsIDB4NThjYzRiMGIsCisgICAgMHhkYmQ5NzAyMiwgMHgxYjA2ZmVlMywgMHgxYTYwMWM3YSwgMHhkYWJmOTJiYiwgMHhlZjE5NDhkNiwKKyAgICAweDJmYzZjNjE3LCAweDJlYTAyNDhlLCAweGVlN2ZhYTRmLCAweDZkNmE5MTY2LCAweGFkYjUxZmE3LAorICAgIDB4YWNkM2ZkM2UsIDB4NmMwYzczZmYsIDB4YWFmODhiNmMsIDB4NmEyNzA1YWQsIDB4NmI0MWU3MzQsCisgICAgMHhhYjllNjlmNSwgMHgyODhiNTJkYywgMHhlODU0ZGMxZCwgMHhlOTMyM2U4NCwgMHgyOWVkYjA0NSwKKyAgICAweDI0ZGRiZTc4LCAweGU0MDIzMGI5LCAweGU1NjRkMjIwLCAweDI1YmI1Y2UxLCAweGE2YWU2N2M4LAorICAgIDB4NjY3MWU5MDksIDB4NjcxNzBiOTAsIDB4YTdjODg1NTEsIDB4NjEzYzdkYzIsIDB4YTFlM2YzMDMsCisgICAgMHhhMDg1MTE5YSwgMHg2MDVhOWY1YiwgMHhlMzRmYTQ3MiwgMHgyMzkwMmFiMywgMHgyMmY2YzgyYSwKKyAgICAweGUyMjk0NmViLCAweDM4OTZkNDUwLCAweGY4NDk1YTkxLCAweGY5MmZiODA4LCAweDM5ZjAzNmM5LAorICAgIDB4YmFlNTBkZTAsIDB4N2EzYTgzMjEsIDB4N2I1YzYxYjgsIDB4YmI4M2VmNzksIDB4N2Q3NzE3ZWEsCisgICAgMHhiZGE4OTkyYiwgMHhiY2NlN2JiMiwgMHg3YzExZjU3MywgMHhmZjA0Y2U1YSwgMHgzZmRiNDA5YiwKKyAgICAweDNlYmRhMjAyLCAweGZlNjIyY2MzLCAweGYzNTIyMmZlLCAweDMzOGRhYzNmLCAweDMyZWI0ZWE2LAorICAgIDB4ZjIzNGMwNjcsIDB4NzEyMWZiNGUsIDB4YjFmZTc1OGYsIDB4YjA5ODk3MTYsIDB4NzA0NzE5ZDcsCisgICAgMHhiNmIzZTE0NCwgMHg3NjZjNmY4NSwgMHg3NzBhOGQxYywgMHhiN2Q1MDNkZCwgMHgzNGMwMzhmNCwKKyAgICAweGY0MWZiNjM1LCAweGY1Nzk1NGFjLCAweDM1YTZkYTZkLCAweDlmMzVlMTc3LCAweDVmZWE2ZmI2LAorICAgIDB4NWU4YzhkMmYsIDB4OWU1MzAzZWUsIDB4MWQ0NjM4YzcsIDB4ZGQ5OWI2MDYsIDB4ZGNmZjU0OWYsCisgICAgMHgxYzIwZGE1ZSwgMHhkYWQ0MjJjZCwgMHgxYTBiYWMwYywgMHgxYjZkNGU5NSwgMHhkYmIyYzA1NCwKKyAgICAweDU4YTdmYjdkLCAweDk4Nzg3NWJjLCAweDk5MWU5NzI1LCAweDU5YzExOWU0LCAweDU0ZjExN2Q5LAorICAgIDB4OTQyZTk5MTgsIDB4OTU0ODdiODEsIDB4NTU5N2Y1NDAsIDB4ZDY4MmNlNjksIDB4MTY1ZDQwYTgsCisgICAgMHgxNzNiYTIzMSwgMHhkN2U0MmNmMCwgMHgxMTEwZDQ2MywgMHhkMWNmNWFhMiwgMHhkMGE5YjgzYiwKKyAgICAweDEwNzYzNmZhLCAweDkzNjMwZGQzLCAweDUzYmM4MzEyLCAweDUyZGE2MThiLCAweDkyMDVlZjRhLAorICAgIDB4NDhiYTdkZjEsIDB4ODg2NWYzMzAsIDB4ODkwMzExYTksIDB4NDlkYzlmNjgsIDB4Y2FjOWE0NDEsCisgICAgMHgwYTE2MmE4MCwgMHgwYjcwYzgxOSwgMHhjYmFmNDZkOCwgMHgwZDViYmU0YiwgMHhjZDg0MzA4YSwKKyAgICAweGNjZTJkMjEzLCAweDBjM2Q1Y2QyLCAweDhmMjg2N2ZiLCAweDRmZjdlOTNhLCAweDRlOTEwYmEzLAorICAgIDB4OGU0ZTg1NjIsIDB4ODM3ZThiNWYsIDB4NDNhMTA1OWUsIDB4NDJjN2U3MDcsIDB4ODIxODY5YzYsCisgICAgMHgwMTBkNTJlZiwgMHhjMWQyZGMyZSwgMHhjMGI0M2ViNywgMHgwMDZiYjA3NiwgMHhjNjlmNDhlNSwKKyAgICAweDA2NDBjNjI0LCAweDA3MjYyNGJkLCAweGM3ZjlhYTdjLCAweDQ0ZWM5MTU1LCAweDg0MzMxZjk0LAorICAgIDB4ODU1NWZkMGQsIDB4NDU4YTczY2MsIDB4NzAyY2E5YTEsIDB4YjBmMzI3NjAsIDB4YjE5NWM1ZjksCisgICAgMHg3MTRhNGIzOCwgMHhmMjVmNzAxMSwgMHgzMjgwZmVkMCwgMHgzM2U2MWM0OSwgMHhmMzM5OTI4OCwKKyAgICAweDM1Y2Q2YTFiLCAweGY1MTJlNGRhLCAweGY0NzQwNjQzLCAweDM0YWI4ODgyLCAweGI3YmViM2FiLAorICAgIDB4Nzc2MTNkNmEsIDB4NzYwN2RmZjMsIDB4YjZkODUxMzIsIDB4YmJlODVmMGYsIDB4N2IzN2QxY2UsCisgICAgMHg3YTUxMzM1NywgMHhiYThlYmQ5NiwgMHgzOTliODZiZiwgMHhmOTQ0MDg3ZSwgMHhmODIyZWFlNywKKyAgICAweDM4ZmQ2NDI2LCAweGZlMDk5Y2I1LCAweDNlZDYxMjc0LCAweDNmYjBmMGVkLCAweGZmNmY3ZTJjLAorICAgIDB4N2M3YTQ1MDUsIDB4YmNhNWNiYzQsIDB4YmRjMzI5NWQsIDB4N2QxY2E3OWMsIDB4YTdhMzM1MjcsCisgICAgMHg2NzdjYmJlNiwgMHg2NjFhNTk3ZiwgMHhhNmM1ZDdiZSwgMHgyNWQwZWM5NywgMHhlNTBmNjI1NiwKKyAgICAweGU0Njk4MGNmLCAweDI0YjYwZTBlLCAweGUyNDJmNjlkLCAweDIyOWQ3ODVjLCAweDIzZmI5YWM1LAorICAgIDB4ZTMyNDE0MDQsIDB4NjAzMTJmMmQsIDB4YTBlZWExZWMsIDB4YTE4ODQzNzUsIDB4NjE1N2NkYjQsCisgICAgMHg2YzY3YzM4OSwgMHhhY2I4NGQ0OCwgMHhhZGRlYWZkMSwgMHg2ZDAxMjExMCwgMHhlZTE0MWEzOSwKKyAgICAweDJlY2I5NGY4LCAweDJmYWQ3NjYxLCAweGVmNzJmOGEwLCAweDI5ODYwMDMzLCAweGU5NTk4ZWYyLAorICAgIDB4ZTgzZjZjNmIsIDB4MjhlMGUyYWEsIDB4YWJmNWQ5ODMsIDB4NmIyYTU3NDIsIDB4NmE0Y2I1ZGIsCisgICAgMHhhYTkzM2IxYX0sCisgICB7MHgwMDAwMDAwMCwgMHg2ZjRjYTU5YiwgMHg5ZjllM2JlYywgMHhmMGQyOWU3NywgMHg3ZjNiMDYwMywKKyAgICAweDEwNzdhMzk4LCAweGUwYTUzZGVmLCAweDhmZTk5ODc0LCAweGZlNzYwYzA2LCAweDkxM2FhOTlkLAorICAgIDB4NjFlODM3ZWEsIDB4MGVhNDkyNzEsIDB4ODE0ZDBhMDUsIDB4ZWUwMWFmOWUsIDB4MWVkMzMxZTksCisgICAgMHg3MTlmOTQ3MiwgMHhmY2VkMTgwYywgMHg5M2ExYmQ5NywgMHg2MzczMjNlMCwgMHgwYzNmODY3YiwKKyAgICAweDgzZDYxZTBmLCAweGVjOWFiYjk0LCAweDFjNDgyNWUzLCAweDczMDQ4MDc4LCAweDAyOWIxNDBhLAorICAgIDB4NmRkN2IxOTEsIDB4OWQwNTJmZTYsIDB4ZjI0OThhN2QsIDB4N2RhMDEyMDksIDB4MTJlY2I3OTIsCisgICAgMHhlMjNlMjllNSwgMHg4ZDcyOGM3ZSwgMHhmOGRiMzExOCwgMHg5Nzk3OTQ4MywgMHg2NzQ1MGFmNCwKKyAgICAweDA4MDlhZjZmLCAweDg3ZTAzNzFiLCAweGU4YWM5MjgwLCAweDE4N2UwY2Y3LCAweDc3MzJhOTZjLAorICAgIDB4MDZhZDNkMWUsIDB4NjllMTk4ODUsIDB4OTkzMzA2ZjIsIDB4ZjY3ZmEzNjksIDB4Nzk5NjNiMWQsCisgICAgMHgxNmRhOWU4NiwgMHhlNjA4MDBmMSwgMHg4OTQ0YTU2YSwgMHgwNDM2MjkxNCwgMHg2YjdhOGM4ZiwKKyAgICAweDliYTgxMmY4LCAweGY0ZTRiNzYzLCAweDdiMGQyZjE3LCAweDE0NDE4YThjLCAweGU0OTMxNGZiLAorICAgIDB4OGJkZmIxNjAsIDB4ZmE0MDI1MTIsIDB4OTUwYzgwODksIDB4NjVkZTFlZmUsIDB4MGE5MmJiNjUsCisgICAgMHg4NTdiMjMxMSwgMHhlYTM3ODY4YSwgMHgxYWU1MThmZCwgMHg3NWE5YmQ2NiwgMHhmMGI3NjMzMCwKKyAgICAweDlmZmJjNmFiLCAweDZmMjk1OGRjLCAweDAwNjVmZDQ3LCAweDhmOGM2NTMzLCAweGUwYzBjMGE4LAorICAgIDB4MTAxMjVlZGYsIDB4N2Y1ZWZiNDQsIDB4MGVjMTZmMzYsIDB4NjE4ZGNhYWQsIDB4OTE1ZjU0ZGEsCisgICAgMHhmZTEzZjE0MSwgMHg3MWZhNjkzNSwgMHgxZWI2Y2NhZSwgMHhlZTY0NTJkOSwgMHg4MTI4Zjc0MiwKKyAgICAweDBjNWE3YjNjLCAweDYzMTZkZWE3LCAweDkzYzQ0MGQwLCAweGZjODhlNTRiLCAweDczNjE3ZDNmLAorICAgIDB4MWMyZGQ4YTQsIDB4ZWNmZjQ2ZDMsIDB4ODNiM2UzNDgsIDB4ZjIyYzc3M2EsIDB4OWQ2MGQyYTEsCisgICAgMHg2ZGIyNGNkNiwgMHgwMmZlZTk0ZCwgMHg4ZDE3NzEzOSwgMHhlMjViZDRhMiwgMHgxMjg5NGFkNSwKKyAgICAweDdkYzVlZjRlLCAweDA4NmM1MjI4LCAweDY3MjBmN2IzLCAweDk3ZjI2OWM0LCAweGY4YmVjYzVmLAorICAgIDB4Nzc1NzU0MmIsIDB4MTgxYmYxYjAsIDB4ZThjOTZmYzcsIDB4ODc4NWNhNWMsIDB4ZjYxYTVlMmUsCisgICAgMHg5OTU2ZmJiNSwgMHg2OTg0NjVjMiwgMHgwNmM4YzA1OSwgMHg4OTIxNTgyZCwgMHhlNjZkZmRiNiwKKyAgICAweDE2YmY2M2MxLCAweDc5ZjNjNjVhLCAweGY0ODE0YTI0LCAweDliY2RlZmJmLCAweDZiMWY3MWM4LAorICAgIDB4MDQ1M2Q0NTMsIDB4OGJiYTRjMjcsIDB4ZTRmNmU5YmMsIDB4MTQyNDc3Y2IsIDB4N2I2OGQyNTAsCisgICAgMHgwYWY3NDYyMiwgMHg2NWJiZTNiOSwgMHg5NTY5N2RjZSwgMHhmYTI1ZDg1NSwgMHg3NWNjNDAyMSwKKyAgICAweDFhODBlNWJhLCAweGVhNTI3YmNkLCAweDg1MWVkZTU2LCAweGUwNmZjNzYwLCAweDhmMjM2MmZiLAorICAgIDB4N2ZmMWZjOGMsIDB4MTBiZDU5MTcsIDB4OWY1NGMxNjMsIDB4ZjAxODY0ZjgsIDB4MDBjYWZhOGYsCisgICAgMHg2Zjg2NWYxNCwgMHgxZTE5Y2I2NiwgMHg3MTU1NmVmZCwgMHg4MTg3ZjA4YSwgMHhlZWNiNTUxMSwKKyAgICAweDYxMjJjZDY1LCAweDBlNmU2OGZlLCAweGZlYmNmNjg5LCAweDkxZjA1MzEyLCAweDFjODJkZjZjLAorICAgIDB4NzNjZTdhZjcsIDB4ODMxY2U0ODAsIDB4ZWM1MDQxMWIsIDB4NjNiOWQ5NmYsIDB4MGNmNTdjZjQsCisgICAgMHhmYzI3ZTI4MywgMHg5MzZiNDcxOCwgMHhlMmY0ZDM2YSwgMHg4ZGI4NzZmMSwgMHg3ZDZhZTg4NiwKKyAgICAweDEyMjY0ZDFkLCAweDlkY2ZkNTY5LCAweGYyODM3MGYyLCAweDAyNTFlZTg1LCAweDZkMWQ0YjFlLAorICAgIDB4MThiNGY2NzgsIDB4NzdmODUzZTMsIDB4ODcyYWNkOTQsIDB4ZTg2NjY4MGYsIDB4Njc4ZmYwN2IsCisgICAgMHgwOGMzNTVlMCwgMHhmODExY2I5NywgMHg5NzVkNmUwYywgMHhlNmMyZmE3ZSwgMHg4OThlNWZlNSwKKyAgICAweDc5NWNjMTkyLCAweDE2MTA2NDA5LCAweDk5ZjlmYzdkLCAweGY2YjU1OWU2LCAweDA2NjdjNzkxLAorICAgIDB4NjkyYjYyMGEsIDB4ZTQ1OWVlNzQsIDB4OGIxNTRiZWYsIDB4N2JjN2Q1OTgsIDB4MTQ4YjcwMDMsCisgICAgMHg5YjYyZTg3NywgMHhmNDJlNGRlYywgMHgwNGZjZDM5YiwgMHg2YmIwNzYwMCwgMHgxYTJmZTI3MiwKKyAgICAweDc1NjM0N2U5LCAweDg1YjFkOTllLCAweGVhZmQ3YzA1LCAweDY1MTRlNDcxLCAweDBhNTg0MWVhLAorICAgIDB4ZmE4YWRmOWQsIDB4OTVjNjdhMDYsIDB4MTBkOGE0NTAsIDB4N2Y5NDAxY2IsIDB4OGY0NjlmYmMsCisgICAgMHhlMDBhM2EyNywgMHg2ZmUzYTI1MywgMHgwMGFmMDdjOCwgMHhmMDdkOTliZiwgMHg5ZjMxM2MyNCwKKyAgICAweGVlYWVhODU2LCAweDgxZTIwZGNkLCAweDcxMzA5M2JhLCAweDFlN2MzNjIxLCAweDkxOTVhZTU1LAorICAgIDB4ZmVkOTBiY2UsIDB4MGUwYjk1YjksIDB4NjE0NzMwMjIsIDB4ZWMzNWJjNWMsIDB4ODM3OTE5YzcsCisgICAgMHg3M2FiODdiMCwgMHgxY2U3MjIyYiwgMHg5MzBlYmE1ZiwgMHhmYzQyMWZjNCwgMHgwYzkwODFiMywKKyAgICAweDYzZGMyNDI4LCAweDEyNDNiMDVhLCAweDdkMGYxNWMxLCAweDhkZGQ4YmI2LCAweGUyOTEyZTJkLAorICAgIDB4NmQ3OGI2NTksIDB4MDIzNDEzYzIsIDB4ZjJlNjhkYjUsIDB4OWRhYTI4MmUsIDB4ZTgwMzk1NDgsCisgICAgMHg4NzRmMzBkMywgMHg3NzlkYWVhNCwgMHgxOGQxMGIzZiwgMHg5NzM4OTM0YiwgMHhmODc0MzZkMCwKKyAgICAweDA4YTZhOGE3LCAweDY3ZWEwZDNjLCAweDE2NzU5OTRlLCAweDc5MzkzY2Q1LCAweDg5ZWJhMmEyLAorICAgIDB4ZTZhNzA3MzksIDB4Njk0ZTlmNGQsIDB4MDYwMjNhZDYsIDB4ZjZkMGE0YTEsIDB4OTk5YzAxM2EsCisgICAgMHgxNGVlOGQ0NCwgMHg3YmEyMjhkZiwgMHg4YjcwYjZhOCwgMHhlNDNjMTMzMywgMHg2YmQ1OGI0NywKKyAgICAweDA0OTkyZWRjLCAweGY0NGJiMGFiLCAweDliMDcxNTMwLCAweGVhOTg4MTQyLCAweDg1ZDQyNGQ5LAorICAgIDB4NzUwNmJhYWUsIDB4MWE0YTFmMzUsIDB4OTVhMzg3NDEsIDB4ZmFlZjIyZGEsIDB4MGEzZGJjYWQsCisgICAgMHg2NTcxMTkzNn19OworCisjZW5kaWYKKworI2VuZGlmCisKKyNpZiBOID09IDQKKworI2lmIFcgPT0gOAorCitsb2NhbCBjb25zdCB6X2NyY190IEZBUiBjcmNfYnJhaWRfdGFibGVbXVsyNTZdID0geworICAgezB4MDAwMDAwMDAsIDB4ZjFkYTA1YWEsIDB4MzhjNTBkMTUsIDB4YzkxZjA4YmYsIDB4NzE4YTFhMmEsCisgICAgMHg4MDUwMWY4MCwgMHg0OTRmMTczZiwgMHhiODk1MTI5NSwgMHhlMzE0MzQ1NCwgMHgxMmNlMzFmZSwKKyAgICAweGRiZDEzOTQxLCAweDJhMGIzY2ViLCAweDkyOWUyZTdlLCAweDYzNDQyYmQ0LCAweGFhNWIyMzZiLAorICAgIDB4NWI4MTI2YzEsIDB4MWQ1OTZlZTksIDB4ZWM4MzZiNDMsIDB4MjU5YzYzZmMsIDB4ZDQ0NjY2NTYsCisgICAgMHg2Y2QzNzRjMywgMHg5ZDA5NzE2OSwgMHg1NDE2NzlkNiwgMHhhNWNjN2M3YywgMHhmZTRkNWFiZCwKKyAgICAweDBmOTc1ZjE3LCAweGM2ODg1N2E4LCAweDM3NTI1MjAyLCAweDhmYzc0MDk3LCAweDdlMWQ0NTNkLAorICAgIDB4YjcwMjRkODIsIDB4NDZkODQ4MjgsIDB4M2FiMmRkZDIsIDB4Y2I2OGQ4NzgsIDB4MDI3N2QwYzcsCisgICAgMHhmM2FkZDU2ZCwgMHg0YjM4YzdmOCwgMHhiYWUyYzI1MiwgMHg3M2ZkY2FlZCwgMHg4MjI3Y2Y0NywKKyAgICAweGQ5YTZlOTg2LCAweDI4N2NlYzJjLCAweGUxNjNlNDkzLCAweDEwYjllMTM5LCAweGE4MmNmM2FjLAorICAgIDB4NTlmNmY2MDYsIDB4OTBlOWZlYjksIDB4NjEzM2ZiMTMsIDB4MjdlYmIzM2IsIDB4ZDYzMWI2OTEsCisgICAgMHgxZjJlYmUyZSwgMHhlZWY0YmI4NCwgMHg1NjYxYTkxMSwgMHhhN2JiYWNiYiwgMHg2ZWE0YTQwNCwKKyAgICAweDlmN2VhMWFlLCAweGM0ZmY4NzZmLCAweDM1MjU4MmM1LCAweGZjM2E4YTdhLCAweDBkZTA4ZmQwLAorICAgIDB4YjU3NTlkNDUsIDB4NDRhZjk4ZWYsIDB4OGRiMDkwNTAsIDB4N2M2YTk1ZmEsIDB4NzU2NWJiYTQsCisgICAgMHg4NGJmYmUwZSwgMHg0ZGEwYjZiMSwgMHhiYzdhYjMxYiwgMHgwNGVmYTE4ZSwgMHhmNTM1YTQyNCwKKyAgICAweDNjMmFhYzliLCAweGNkZjBhOTMxLCAweDk2NzE4ZmYwLCAweDY3YWI4YTVhLCAweGFlYjQ4MmU1LAorICAgIDB4NWY2ZTg3NGYsIDB4ZTdmYjk1ZGEsIDB4MTYyMTkwNzAsIDB4ZGYzZTk4Y2YsIDB4MmVlNDlkNjUsCisgICAgMHg2ODNjZDU0ZCwgMHg5OWU2ZDBlNywgMHg1MGY5ZDg1OCwgMHhhMTIzZGRmMiwgMHgxOWI2Y2Y2NywKKyAgICAweGU4NmNjYWNkLCAweDIxNzNjMjcyLCAweGQwYTljN2Q4LCAweDhiMjhlMTE5LCAweDdhZjJlNGIzLAorICAgIDB4YjNlZGVjMGMsIDB4NDIzN2U5YTYsIDB4ZmFhMmZiMzMsIDB4MGI3OGZlOTksIDB4YzI2N2Y2MjYsCisgICAgMHgzM2JkZjM4YywgMHg0ZmQ3NjY3NiwgMHhiZTBkNjNkYywgMHg3NzEyNmI2MywgMHg4NmM4NmVjOSwKKyAgICAweDNlNWQ3YzVjLCAweGNmODc3OWY2LCAweDA2OTg3MTQ5LCAweGY3NDI3NGUzLCAweGFjYzM1MjIyLAorICAgIDB4NWQxOTU3ODgsIDB4OTQwNjVmMzcsIDB4NjVkYzVhOWQsIDB4ZGQ0OTQ4MDgsIDB4MmM5MzRkYTIsCisgICAgMHhlNThjNDUxZCwgMHgxNDU2NDBiNywgMHg1MjhlMDg5ZiwgMHhhMzU0MGQzNSwgMHg2YTRiMDU4YSwKKyAgICAweDliOTEwMDIwLCAweDIzMDQxMmI1LCAweGQyZGUxNzFmLCAweDFiYzExZmEwLCAweGVhMWIxYTBhLAorICAgIDB4YjE5YTNjY2IsIDB4NDA0MDM5NjEsIDB4ODk1ZjMxZGUsIDB4Nzg4NTM0NzQsIDB4YzAxMDI2ZTEsCisgICAgMHgzMWNhMjM0YiwgMHhmOGQ1MmJmNCwgMHgwOTBmMmU1ZSwgMHhlYWNiNzc0OCwgMHgxYjExNzJlMiwKKyAgICAweGQyMGU3YTVkLCAweDIzZDQ3ZmY3LCAweDliNDE2ZDYyLCAweDZhOWI2OGM4LCAweGEzODQ2MDc3LAorICAgIDB4NTI1ZTY1ZGQsIDB4MDlkZjQzMWMsIDB4ZjgwNTQ2YjYsIDB4MzExYTRlMDksIDB4YzBjMDRiYTMsCisgICAgMHg3ODU1NTkzNiwgMHg4OThmNWM5YywgMHg0MDkwNTQyMywgMHhiMTRhNTE4OSwgMHhmNzkyMTlhMSwKKyAgICAweDA2NDgxYzBiLCAweGNmNTcxNGI0LCAweDNlOGQxMTFlLCAweDg2MTgwMzhiLCAweDc3YzIwNjIxLAorICAgIDB4YmVkZDBlOWUsIDB4NGYwNzBiMzQsIDB4MTQ4NjJkZjUsIDB4ZTU1YzI4NWYsIDB4MmM0MzIwZTAsCisgICAgMHhkZDk5MjU0YSwgMHg2NTBjMzdkZiwgMHg5NGQ2MzI3NSwgMHg1ZGM5M2FjYSwgMHhhYzEzM2Y2MCwKKyAgICAweGQwNzlhYTlhLCAweDIxYTNhZjMwLCAweGU4YmNhNzhmLCAweDE5NjZhMjI1LCAweGExZjNiMGIwLAorICAgIDB4NTAyOWI1MWEsIDB4OTkzNmJkYTUsIDB4NjhlY2I4MGYsIDB4MzM2ZDllY2UsIDB4YzJiNzliNjQsCisgICAgMHgwYmE4OTNkYiwgMHhmYTcyOTY3MSwgMHg0MmU3ODRlNCwgMHhiMzNkODE0ZSwgMHg3YTIyODlmMSwKKyAgICAweDhiZjg4YzViLCAweGNkMjBjNDczLCAweDNjZmFjMWQ5LCAweGY1ZTVjOTY2LCAweDA0M2ZjY2NjLAorICAgIDB4YmNhYWRlNTksIDB4NGQ3MGRiZjMsIDB4ODQ2ZmQzNGMsIDB4NzViNWQ2ZTYsIDB4MmUzNGYwMjcsCisgICAgMHhkZmVlZjU4ZCwgMHgxNmYxZmQzMiwgMHhlNzJiZjg5OCwgMHg1ZmJlZWEwZCwgMHhhZTY0ZWZhNywKKyAgICAweDY3N2JlNzE4LCAweDk2YTFlMmIyLCAweDlmYWVjY2VjLCAweDZlNzRjOTQ2LCAweGE3NmJjMWY5LAorICAgIDB4NTZiMWM0NTMsIDB4ZWUyNGQ2YzYsIDB4MWZmZWQzNmMsIDB4ZDZlMWRiZDMsIDB4MjczYmRlNzksCisgICAgMHg3Y2JhZjhiOCwgMHg4ZDYwZmQxMiwgMHg0NDdmZjVhZCwgMHhiNWE1ZjAwNywgMHgwZDMwZTI5MiwKKyAgICAweGZjZWFlNzM4LCAweDM1ZjVlZjg3LCAweGM0MmZlYTJkLCAweDgyZjdhMjA1LCAweDczMmRhN2FmLAorICAgIDB4YmEzMmFmMTAsIDB4NGJlOGFhYmEsIDB4ZjM3ZGI4MmYsIDB4MDJhN2JkODUsIDB4Y2JiOGI1M2EsCisgICAgMHgzYTYyYjA5MCwgMHg2MWUzOTY1MSwgMHg5MDM5OTNmYiwgMHg1OTI2OWI0NCwgMHhhOGZjOWVlZSwKKyAgICAweDEwNjk4YzdiLCAweGUxYjM4OWQxLCAweDI4YWM4MTZlLCAweGQ5NzY4NGM0LCAweGE1MWMxMTNlLAorICAgIDB4NTRjNjE0OTQsIDB4OWRkOTFjMmIsIDB4NmMwMzE5ODEsIDB4ZDQ5NjBiMTQsIDB4MjU0YzBlYmUsCisgICAgMHhlYzUzMDYwMSwgMHgxZDg5MDNhYiwgMHg0NjA4MjU2YSwgMHhiN2QyMjBjMCwgMHg3ZWNkMjg3ZiwKKyAgICAweDhmMTcyZGQ1LCAweDM3ODIzZjQwLCAweGM2NTgzYWVhLCAweDBmNDczMjU1LCAweGZlOWQzN2ZmLAorICAgIDB4Yjg0NTdmZDcsIDB4NDk5ZjdhN2QsIDB4ODA4MDcyYzIsIDB4NzE1YTc3NjgsIDB4YzljZjY1ZmQsCisgICAgMHgzODE1NjA1NywgMHhmMTBhNjhlOCwgMHgwMGQwNmQ0MiwgMHg1YjUxNGI4MywgMHhhYThiNGUyOSwKKyAgICAweDYzOTQ0Njk2LCAweDkyNGU0MzNjLCAweDJhZGI1MWE5LCAweGRiMDE1NDAzLCAweDEyMWU1Y2JjLAorICAgIDB4ZTNjNDU5MTZ9LAorICAgezB4MDAwMDAwMDAsIDB4MGVlN2U4ZDEsIDB4MWRjZmQxYTIsIDB4MTMyODM5NzMsIDB4M2I5ZmEzNDQsCisgICAgMHgzNTc4NGI5NSwgMHgyNjUwNzJlNiwgMHgyOGI3OWEzNywgMHg3NzNmNDY4OCwgMHg3OWQ4YWU1OSwKKyAgICAweDZhZjA5NzJhLCAweDY0MTc3ZmZiLCAweDRjYTBlNWNjLCAweDQyNDcwZDFkLCAweDUxNmYzNDZlLAorICAgIDB4NWY4OGRjYmYsIDB4ZWU3ZThkMTAsIDB4ZTA5OTY1YzEsIDB4ZjNiMTVjYjIsIDB4ZmQ1NmI0NjMsCisgICAgMHhkNWUxMmU1NCwgMHhkYjA2YzY4NSwgMHhjODJlZmZmNiwgMHhjNmM5MTcyNywgMHg5OTQxY2I5OCwKKyAgICAweDk3YTYyMzQ5LCAweDg0OGUxYTNhLCAweDhhNjlmMmViLCAweGEyZGU2OGRjLCAweGFjMzk4MDBkLAorICAgIDB4YmYxMWI5N2UsIDB4YjFmNjUxYWYsIDB4MDc4YzFjNjEsIDB4MDk2YmY0YjAsIDB4MWE0M2NkYzMsCisgICAgMHgxNGE0MjUxMiwgMHgzYzEzYmYyNSwgMHgzMmY0NTdmNCwgMHgyMWRjNmU4NywgMHgyZjNiODY1NiwKKyAgICAweDcwYjM1YWU5LCAweDdlNTRiMjM4LCAweDZkN2M4YjRiLCAweDYzOWI2MzlhLCAweDRiMmNmOWFkLAorICAgIDB4NDVjYjExN2MsIDB4NTZlMzI4MGYsIDB4NTgwNGMwZGUsIDB4ZTlmMjkxNzEsIDB4ZTcxNTc5YTAsCisgICAgMHhmNDNkNDBkMywgMHhmYWRhYTgwMiwgMHhkMjZkMzIzNSwgMHhkYzhhZGFlNCwgMHhjZmEyZTM5NywKKyAgICAweGMxNDUwYjQ2LCAweDllY2RkN2Y5LCAweDkwMmEzZjI4LCAweDgzMDIwNjViLCAweDhkZTVlZThhLAorICAgIDB4YTU1Mjc0YmQsIDB4YWJiNTljNmMsIDB4Yjg5ZGE1MWYsIDB4YjY3YTRkY2UsIDB4MGYxODM4YzIsCisgICAgMHgwMWZmZDAxMywgMHgxMmQ3ZTk2MCwgMHgxYzMwMDFiMSwgMHgzNDg3OWI4NiwgMHgzYTYwNzM1NywKKyAgICAweDI5NDg0YTI0LCAweDI3YWZhMmY1LCAweDc4Mjc3ZTRhLCAweDc2YzA5NjliLCAweDY1ZThhZmU4LAorICAgIDB4NmIwZjQ3MzksIDB4NDNiOGRkMGUsIDB4NGQ1ZjM1ZGYsIDB4NWU3NzBjYWMsIDB4NTA5MGU0N2QsCisgICAgMHhlMTY2YjVkMiwgMHhlZjgxNWQwMywgMHhmY2E5NjQ3MCwgMHhmMjRlOGNhMSwgMHhkYWY5MTY5NiwKKyAgICAweGQ0MWVmZTQ3LCAweGM3MzZjNzM0LCAweGM5ZDEyZmU1LCAweDk2NTlmMzVhLCAweDk4YmUxYjhiLAorICAgIDB4OGI5NjIyZjgsIDB4ODU3MWNhMjksIDB4YWRjNjUwMWUsIDB4YTMyMWI4Y2YsIDB4YjAwOTgxYmMsCisgICAgMHhiZWVlNjk2ZCwgMHgwODk0MjRhMywgMHgwNjczY2M3MiwgMHgxNTViZjUwMSwgMHgxYmJjMWRkMCwKKyAgICAweDMzMGI4N2U3LCAweDNkZWM2ZjM2LCAweDJlYzQ1NjQ1LCAweDIwMjNiZTk0LCAweDdmYWI2MjJiLAorICAgIDB4NzE0YzhhZmEsIDB4NjI2NGIzODksIDB4NmM4MzViNTgsIDB4NDQzNGMxNmYsIDB4NGFkMzI5YmUsCisgICAgMHg1OWZiMTBjZCwgMHg1NzFjZjgxYywgMHhlNmVhYTliMywgMHhlODBkNDE2MiwgMHhmYjI1NzgxMSwKKyAgICAweGY1YzI5MGMwLCAweGRkNzUwYWY3LCAweGQzOTJlMjI2LCAweGMwYmFkYjU1LCAweGNlNWQzMzg0LAorICAgIDB4OTFkNWVmM2IsIDB4OWYzMjA3ZWEsIDB4OGMxYTNlOTksIDB4ODJmZGQ2NDgsIDB4YWE0YTRjN2YsCisgICAgMHhhNGFkYTRhZSwgMHhiNzg1OWRkZCwgMHhiOTYyNzUwYywgMHgxZTMwNzE4NCwgMHgxMGQ3OTk1NSwKKyAgICAweDAzZmZhMDI2LCAweDBkMTg0OGY3LCAweDI1YWZkMmMwLCAweDJiNDgzYTExLCAweDM4NjAwMzYyLAorICAgIDB4MzY4N2ViYjMsIDB4NjkwZjM3MGMsIDB4NjdlOGRmZGQsIDB4NzRjMGU2YWUsIDB4N2EyNzBlN2YsCisgICAgMHg1MjkwOTQ0OCwgMHg1Yzc3N2M5OSwgMHg0ZjVmNDVlYSwgMHg0MWI4YWQzYiwgMHhmMDRlZmM5NCwKKyAgICAweGZlYTkxNDQ1LCAweGVkODEyZDM2LCAweGUzNjZjNWU3LCAweGNiZDE1ZmQwLCAweGM1MzZiNzAxLAorICAgIDB4ZDYxZThlNzIsIDB4ZDhmOTY2YTMsIDB4ODc3MWJhMWMsIDB4ODk5NjUyY2QsIDB4OWFiZTZiYmUsCisgICAgMHg5NDU5ODM2ZiwgMHhiY2VlMTk1OCwgMHhiMjA5ZjE4OSwgMHhhMTIxYzhmYSwgMHhhZmM2MjAyYiwKKyAgICAweDE5YmM2ZGU1LCAweDE3NWI4NTM0LCAweDA0NzNiYzQ3LCAweDBhOTQ1NDk2LCAweDIyMjNjZWExLAorICAgIDB4MmNjNDI2NzAsIDB4M2ZlYzFmMDMsIDB4MzEwYmY3ZDIsIDB4NmU4MzJiNmQsIDB4NjA2NGMzYmMsCisgICAgMHg3MzRjZmFjZiwgMHg3ZGFiMTIxZSwgMHg1NTFjODgyOSwgMHg1YmZiNjBmOCwgMHg0OGQzNTk4YiwKKyAgICAweDQ2MzRiMTVhLCAweGY3YzJlMGY1LCAweGY5MjUwODI0LCAweGVhMGQzMTU3LCAweGU0ZWFkOTg2LAorICAgIDB4Y2M1ZDQzYjEsIDB4YzJiYWFiNjAsIDB4ZDE5MjkyMTMsIDB4ZGY3NTdhYzIsIDB4ODBmZGE2N2QsCisgICAgMHg4ZTFhNGVhYywgMHg5ZDMyNzdkZiwgMHg5M2Q1OWYwZSwgMHhiYjYyMDUzOSwgMHhiNTg1ZWRlOCwKKyAgICAweGE2YWRkNDliLCAweGE4NGEzYzRhLCAweDExMjg0OTQ2LCAweDFmY2ZhMTk3LCAweDBjZTc5OGU0LAorICAgIDB4MDIwMDcwMzUsIDB4MmFiN2VhMDIsIDB4MjQ1MDAyZDMsIDB4Mzc3ODNiYTAsIDB4Mzk5ZmQzNzEsCisgICAgMHg2NjE3MGZjZSwgMHg2OGYwZTcxZiwgMHg3YmQ4ZGU2YywgMHg3NTNmMzZiZCwgMHg1ZDg4YWM4YSwKKyAgICAweDUzNmY0NDViLCAweDQwNDc3ZDI4LCAweDRlYTA5NWY5LCAweGZmNTZjNDU2LCAweGYxYjEyYzg3LAorICAgIDB4ZTI5OTE1ZjQsIDB4ZWM3ZWZkMjUsIDB4YzRjOTY3MTIsIDB4Y2EyZThmYzMsIDB4ZDkwNmI2YjAsCisgICAgMHhkN2UxNWU2MSwgMHg4ODY5ODJkZSwgMHg4NjhlNmEwZiwgMHg5NWE2NTM3YywgMHg5YjQxYmJhZCwKKyAgICAweGIzZjYyMTlhLCAweGJkMTFjOTRiLCAweGFlMzlmMDM4LCAweGEwZGUxOGU5LCAweDE2YTQ1NTI3LAorICAgIDB4MTg0M2JkZjYsIDB4MGI2Yjg0ODUsIDB4MDU4YzZjNTQsIDB4MmQzYmY2NjMsIDB4MjNkYzFlYjIsCisgICAgMHgzMGY0MjdjMSwgMHgzZTEzY2YxMCwgMHg2MTliMTNhZiwgMHg2ZjdjZmI3ZSwgMHg3YzU0YzIwZCwKKyAgICAweDcyYjMyYWRjLCAweDVhMDRiMGViLCAweDU0ZTM1ODNhLCAweDQ3Y2I2MTQ5LCAweDQ5MmM4OTk4LAorICAgIDB4ZjhkYWQ4MzcsIDB4ZjYzZDMwZTYsIDB4ZTUxNTA5OTUsIDB4ZWJmMmUxNDQsIDB4YzM0NTdiNzMsCisgICAgMHhjZGEyOTNhMiwgMHhkZThhYWFkMSwgMHhkMDZkNDIwMCwgMHg4ZmU1OWViZiwgMHg4MTAyNzY2ZSwKKyAgICAweDkyMmE0ZjFkLCAweDljY2RhN2NjLCAweGI0N2EzZGZiLCAweGJhOWRkNTJhLCAweGE5YjVlYzU5LAorICAgIDB4YTc1MjA0ODh9LAorICAgezB4MDAwMDAwMDAsIDB4M2M2MGUzMDgsIDB4NzhjMWM2MTAsIDB4NDRhMTI1MTgsIDB4ZjE4MzhjMjAsCisgICAgMHhjZGUzNmYyOCwgMHg4OTQyNGEzMCwgMHhiNTIyYTkzOCwgMHgzODc2MWUwMSwgMHgwNDE2ZmQwOSwKKyAgICAweDQwYjdkODExLCAweDdjZDczYjE5LCAweGM5ZjU5MjIxLCAweGY1OTU3MTI5LCAweGIxMzQ1NDMxLAorICAgIDB4OGQ1NGI3MzksIDB4NzBlYzNjMDIsIDB4NGM4Y2RmMGEsIDB4MDgyZGZhMTIsIDB4MzQ0ZDE5MWEsCisgICAgMHg4MTZmYjAyMiwgMHhiZDBmNTMyYSwgMHhmOWFlNzYzMiwgMHhjNWNlOTUzYSwgMHg0ODlhMjIwMywKKyAgICAweDc0ZmFjMTBiLCAweDMwNWJlNDEzLCAweDBjM2IwNzFiLCAweGI5MTlhZTIzLCAweDg1Nzk0ZDJiLAorICAgIDB4YzFkODY4MzMsIDB4ZmRiODhiM2IsIDB4ZTFkODc4MDQsIDB4ZGRiODliMGMsIDB4OTkxOWJlMTQsCisgICAgMHhhNTc5NWQxYywgMHgxMDViZjQyNCwgMHgyYzNiMTcyYywgMHg2ODlhMzIzNCwgMHg1NGZhZDEzYywKKyAgICAweGQ5YWU2NjA1LCAweGU1Y2U4NTBkLCAweGExNmZhMDE1LCAweDlkMGY0MzFkLCAweDI4MmRlYTI1LAorICAgIDB4MTQ0ZDA5MmQsIDB4NTBlYzJjMzUsIDB4NmM4Y2NmM2QsIDB4OTEzNDQ0MDYsIDB4YWQ1NGE3MGUsCisgICAgMHhlOWY1ODIxNiwgMHhkNTk1NjExZSwgMHg2MGI3YzgyNiwgMHg1Y2Q3MmIyZSwgMHgxODc2MGUzNiwKKyAgICAweDI0MTZlZDNlLCAweGE5NDI1YTA3LCAweDk1MjJiOTBmLCAweGQxODM5YzE3LCAweGVkZTM3ZjFmLAorICAgIDB4NThjMWQ2MjcsIDB4NjRhMTM1MmYsIDB4MjAwMDEwMzcsIDB4MWM2MGYzM2YsIDB4MThjMWY2NDksCisgICAgMHgyNGExMTU0MSwgMHg2MDAwMzA1OSwgMHg1YzYwZDM1MSwgMHhlOTQyN2E2OSwgMHhkNTIyOTk2MSwKKyAgICAweDkxODNiYzc5LCAweGFkZTM1ZjcxLCAweDIwYjdlODQ4LCAweDFjZDcwYjQwLCAweDU4NzYyZTU4LAorICAgIDB4NjQxNmNkNTAsIDB4ZDEzNDY0NjgsIDB4ZWQ1NDg3NjAsIDB4YTlmNWEyNzgsIDB4OTU5NTQxNzAsCisgICAgMHg2ODJkY2E0YiwgMHg1NDRkMjk0MywgMHgxMGVjMGM1YiwgMHgyYzhjZWY1MywgMHg5OWFlNDY2YiwKKyAgICAweGE1Y2VhNTYzLCAweGUxNmY4MDdiLCAweGRkMGY2MzczLCAweDUwNWJkNDRhLCAweDZjM2IzNzQyLAorICAgIDB4Mjg5YTEyNWEsIDB4MTRmYWYxNTIsIDB4YTFkODU4NmEsIDB4OWRiOGJiNjIsIDB4ZDkxOTllN2EsCisgICAgMHhlNTc5N2Q3MiwgMHhmOTE5OGU0ZCwgMHhjNTc5NmQ0NSwgMHg4MWQ4NDg1ZCwgMHhiZGI4YWI1NSwKKyAgICAweDA4OWEwMjZkLCAweDM0ZmFlMTY1LCAweDcwNWJjNDdkLCAweDRjM2IyNzc1LCAweGMxNmY5MDRjLAorICAgIDB4ZmQwZjczNDQsIDB4YjlhZTU2NWMsIDB4ODVjZWI1NTQsIDB4MzBlYzFjNmMsIDB4MGM4Y2ZmNjQsCisgICAgMHg0ODJkZGE3YywgMHg3NDRkMzk3NCwgMHg4OWY1YjI0ZiwgMHhiNTk1NTE0NywgMHhmMTM0NzQ1ZiwKKyAgICAweGNkNTQ5NzU3LCAweDc4NzYzZTZmLCAweDQ0MTZkZDY3LCAweDAwYjdmODdmLCAweDNjZDcxYjc3LAorICAgIDB4YjE4M2FjNGUsIDB4OGRlMzRmNDYsIDB4Yzk0MjZhNWUsIDB4ZjUyMjg5NTYsIDB4NDAwMDIwNmUsCisgICAgMHg3YzYwYzM2NiwgMHgzOGMxZTY3ZSwgMHgwNGExMDU3NiwgMHgzMTgzZWM5MiwgMHgwZGUzMGY5YSwKKyAgICAweDQ5NDIyYTgyLCAweDc1MjJjOThhLCAweGMwMDA2MGIyLCAweGZjNjA4M2JhLCAweGI4YzFhNmEyLAorICAgIDB4ODRhMTQ1YWEsIDB4MDlmNWYyOTMsIDB4MzU5NTExOWIsIDB4NzEzNDM0ODMsIDB4NGQ1NGQ3OGIsCisgICAgMHhmODc2N2ViMywgMHhjNDE2OWRiYiwgMHg4MGI3YjhhMywgMHhiY2Q3NWJhYiwgMHg0MTZmZDA5MCwKKyAgICAweDdkMGYzMzk4LCAweDM5YWUxNjgwLCAweDA1Y2VmNTg4LCAweGIwZWM1Y2IwLCAweDhjOGNiZmI4LAorICAgIDB4YzgyZDlhYTAsIDB4ZjQ0ZDc5YTgsIDB4NzkxOWNlOTEsIDB4NDU3OTJkOTksIDB4MDFkODA4ODEsCisgICAgMHgzZGI4ZWI4OSwgMHg4ODlhNDJiMSwgMHhiNGZhYTFiOSwgMHhmMDViODRhMSwgMHhjYzNiNjdhOSwKKyAgICAweGQwNWI5NDk2LCAweGVjM2I3NzllLCAweGE4OWE1Mjg2LCAweDk0ZmFiMThlLCAweDIxZDgxOGI2LAorICAgIDB4MWRiOGZiYmUsIDB4NTkxOWRlYTYsIDB4NjU3OTNkYWUsIDB4ZTgyZDhhOTcsIDB4ZDQ0ZDY5OWYsCisgICAgMHg5MGVjNGM4NywgMHhhYzhjYWY4ZiwgMHgxOWFlMDZiNywgMHgyNWNlZTViZiwgMHg2MTZmYzBhNywKKyAgICAweDVkMGYyM2FmLCAweGEwYjdhODk0LCAweDljZDc0YjljLCAweGQ4NzY2ZTg0LCAweGU0MTY4ZDhjLAorICAgIDB4NTEzNDI0YjQsIDB4NmQ1NGM3YmMsIDB4MjlmNWUyYTQsIDB4MTU5NTAxYWMsIDB4OThjMWI2OTUsCisgICAgMHhhNGExNTU5ZCwgMHhlMDAwNzA4NSwgMHhkYzYwOTM4ZCwgMHg2OTQyM2FiNSwgMHg1NTIyZDliZCwKKyAgICAweDExODNmY2E1LCAweDJkZTMxZmFkLCAweDI5NDIxYWRiLCAweDE1MjJmOWQzLCAweDUxODNkY2NiLAorICAgIDB4NmRlMzNmYzMsIDB4ZDhjMTk2ZmIsIDB4ZTRhMTc1ZjMsIDB4YTAwMDUwZWIsIDB4OWM2MGIzZTMsCisgICAgMHgxMTM0MDRkYSwgMHgyZDU0ZTdkMiwgMHg2OWY1YzJjYSwgMHg1NTk1MjFjMiwgMHhlMGI3ODhmYSwKKyAgICAweGRjZDc2YmYyLCAweDk4NzY0ZWVhLCAweGE0MTZhZGUyLCAweDU5YWUyNmQ5LCAweDY1Y2VjNWQxLAorICAgIDB4MjE2ZmUwYzksIDB4MWQwZjAzYzEsIDB4YTgyZGFhZjksIDB4OTQ0ZDQ5ZjEsIDB4ZDBlYzZjZTksCisgICAgMHhlYzhjOGZlMSwgMHg2MWQ4MzhkOCwgMHg1ZGI4ZGJkMCwgMHgxOTE5ZmVjOCwgMHgyNTc5MWRjMCwKKyAgICAweDkwNWJiNGY4LCAweGFjM2I1N2YwLCAweGU4OWE3MmU4LCAweGQ0ZmE5MWUwLCAweGM4OWE2MmRmLAorICAgIDB4ZjRmYTgxZDcsIDB4YjA1YmE0Y2YsIDB4OGMzYjQ3YzcsIDB4MzkxOWVlZmYsIDB4MDU3OTBkZjcsCisgICAgMHg0MWQ4MjhlZiwgMHg3ZGI4Y2JlNywgMHhmMGVjN2NkZSwgMHhjYzhjOWZkNiwgMHg4ODJkYmFjZSwKKyAgICAweGI0NGQ1OWM2LCAweDAxNmZmMGZlLCAweDNkMGYxM2Y2LCAweDc5YWUzNmVlLCAweDQ1Y2VkNWU2LAorICAgIDB4Yjg3NjVlZGQsIDB4ODQxNmJkZDUsIDB4YzBiNzk4Y2QsIDB4ZmNkNzdiYzUsIDB4NDlmNWQyZmQsCisgICAgMHg3NTk1MzFmNSwgMHgzMTM0MTRlZCwgMHgwZDU0ZjdlNSwgMHg4MDAwNDBkYywgMHhiYzYwYTNkNCwKKyAgICAweGY4YzE4NmNjLCAweGM0YTE2NWM0LCAweDcxODNjY2ZjLCAweDRkZTMyZmY0LCAweDA5NDIwYWVjLAorICAgIDB4MzUyMmU5ZTR9LAorICAgezB4MDAwMDAwMDAsIDB4NjMwN2Q5MjQsIDB4YzYwZmIyNDgsIDB4YTUwODZiNmMsIDB4NTc2ZTYyZDEsCisgICAgMHgzNDY5YmJmNSwgMHg5MTYxZDA5OSwgMHhmMjY2MDliZCwgMHhhZWRjYzVhMiwgMHhjZGRiMWM4NiwKKyAgICAweDY4ZDM3N2VhLCAweDBiZDRhZWNlLCAweGY5YjJhNzczLCAweDlhYjU3ZTU3LCAweDNmYmQxNTNiLAorICAgIDB4NWNiYWNjMWYsIDB4ODZjODhkMDUsIDB4ZTVjZjU0MjEsIDB4NDBjNzNmNGQsIDB4MjNjMGU2NjksCisgICAgMHhkMWE2ZWZkNCwgMHhiMmExMzZmMCwgMHgxN2E5NWQ5YywgMHg3NGFlODRiOCwgMHgyODE0NDhhNywKKyAgICAweDRiMTM5MTgzLCAweGVlMWJmYWVmLCAweDhkMWMyM2NiLCAweDdmN2EyYTc2LCAweDFjN2RmMzUyLAorICAgIDB4Yjk3NTk4M2UsIDB4ZGE3MjQxMWEsIDB4ZDZlMDFjNGIsIDB4YjVlN2M1NmYsIDB4MTBlZmFlMDMsCisgICAgMHg3M2U4NzcyNywgMHg4MThlN2U5YSwgMHhlMjg5YTdiZSwgMHg0NzgxY2NkMiwgMHgyNDg2MTVmNiwKKyAgICAweDc4M2NkOWU5LCAweDFiM2IwMGNkLCAweGJlMzM2YmExLCAweGRkMzRiMjg1LCAweDJmNTJiYjM4LAorICAgIDB4NGM1NTYyMWMsIDB4ZTk1ZDA5NzAsIDB4OGE1YWQwNTQsIDB4NTAyODkxNGUsIDB4MzMyZjQ4NmEsCisgICAgMHg5NjI3MjMwNiwgMHhmNTIwZmEyMiwgMHgwNzQ2ZjM5ZiwgMHg2NDQxMmFiYiwgMHhjMTQ5NDFkNywKKyAgICAweGEyNGU5OGYzLCAweGZlZjQ1NGVjLCAweDlkZjM4ZGM4LCAweDM4ZmJlNmE0LCAweDViZmMzZjgwLAorICAgIDB4YTk5YTM2M2QsIDB4Y2E5ZGVmMTksIDB4NmY5NTg0NzUsIDB4MGM5MjVkNTEsIDB4NzZiMTNlZDcsCisgICAgMHgxNWI2ZTdmMywgMHhiMGJlOGM5ZiwgMHhkM2I5NTViYiwgMHgyMWRmNWMwNiwgMHg0MmQ4ODUyMiwKKyAgICAweGU3ZDBlZTRlLCAweDg0ZDczNzZhLCAweGQ4NmRmYjc1LCAweGJiNmEyMjUxLCAweDFlNjI0OTNkLAorICAgIDB4N2Q2NTkwMTksIDB4OGYwMzk5YTQsIDB4ZWMwNDQwODAsIDB4NDkwYzJiZWMsIDB4MmEwYmYyYzgsCisgICAgMHhmMDc5YjNkMiwgMHg5MzdlNmFmNiwgMHgzNjc2MDE5YSwgMHg1NTcxZDhiZSwgMHhhNzE3ZDEwMywKKyAgICAweGM0MTAwODI3LCAweDYxMTg2MzRiLCAweDAyMWZiYTZmLCAweDVlYTU3NjcwLCAweDNkYTJhZjU0LAorICAgIDB4OThhYWM0MzgsIDB4ZmJhZDFkMWMsIDB4MDljYjE0YTEsIDB4NmFjY2NkODUsIDB4Y2ZjNGE2ZTksCisgICAgMHhhY2MzN2ZjZCwgMHhhMDUxMjI5YywgMHhjMzU2ZmJiOCwgMHg2NjVlOTBkNCwgMHgwNTU5NDlmMCwKKyAgICAweGY3M2Y0MDRkLCAweDk0Mzg5OTY5LCAweDMxMzBmMjA1LCAweDUyMzcyYjIxLCAweDBlOGRlNzNlLAorICAgIDB4NmQ4YTNlMWEsIDB4Yzg4MjU1NzYsIDB4YWI4NThjNTIsIDB4NTllMzg1ZWYsIDB4M2FlNDVjY2IsCisgICAgMHg5ZmVjMzdhNywgMHhmY2ViZWU4MywgMHgyNjk5YWY5OSwgMHg0NTllNzZiZCwgMHhlMDk2MWRkMSwKKyAgICAweDgzOTFjNGY1LCAweDcxZjdjZDQ4LCAweDEyZjAxNDZjLCAweGI3Zjg3ZjAwLCAweGQ0ZmZhNjI0LAorICAgIDB4ODg0NTZhM2IsIDB4ZWI0MmIzMWYsIDB4NGU0YWQ4NzMsIDB4MmQ0ZDAxNTcsIDB4ZGYyYjA4ZWEsCisgICAgMHhiYzJjZDFjZSwgMHgxOTI0YmFhMiwgMHg3YTIzNjM4NiwgMHhlZDYyN2RhZSwgMHg4ZTY1YTQ4YSwKKyAgICAweDJiNmRjZmU2LCAweDQ4NmExNmMyLCAweGJhMGMxZjdmLCAweGQ5MGJjNjViLCAweDdjMDNhZDM3LAorICAgIDB4MWYwNDc0MTMsIDB4NDNiZWI4MGMsIDB4MjBiOTYxMjgsIDB4ODViMTBhNDQsIDB4ZTZiNmQzNjAsCisgICAgMHgxNGQwZGFkZCwgMHg3N2Q3MDNmOSwgMHhkMmRmNjg5NSwgMHhiMWQ4YjFiMSwgMHg2YmFhZjBhYiwKKyAgICAweDA4YWQyOThmLCAweGFkYTU0MmUzLCAweGNlYTI5YmM3LCAweDNjYzQ5MjdhLCAweDVmYzM0YjVlLAorICAgIDB4ZmFjYjIwMzIsIDB4OTljY2Y5MTYsIDB4YzU3NjM1MDksIDB4YTY3MWVjMmQsIDB4MDM3OTg3NDEsCisgICAgMHg2MDdlNWU2NSwgMHg5MjE4NTdkOCwgMHhmMTFmOGVmYywgMHg1NDE3ZTU5MCwgMHgzNzEwM2NiNCwKKyAgICAweDNiODI2MWU1LCAweDU4ODViOGMxLCAweGZkOGRkM2FkLCAweDllOGEwYTg5LCAweDZjZWMwMzM0LAorICAgIDB4MGZlYmRhMTAsIDB4YWFlM2IxN2MsIDB4YzllNDY4NTgsIDB4OTU1ZWE0NDcsIDB4ZjY1OTdkNjMsCisgICAgMHg1MzUxMTYwZiwgMHgzMDU2Y2YyYiwgMHhjMjMwYzY5NiwgMHhhMTM3MWZiMiwgMHgwNDNmNzRkZSwKKyAgICAweDY3MzhhZGZhLCAweGJkNGFlY2UwLCAweGRlNGQzNWM0LCAweDdiNDU1ZWE4LCAweDE4NDI4NzhjLAorICAgIDB4ZWEyNDhlMzEsIDB4ODkyMzU3MTUsIDB4MmMyYjNjNzksIDB4NGYyY2U1NWQsIDB4MTM5NjI5NDIsCisgICAgMHg3MDkxZjA2NiwgMHhkNTk5OWIwYSwgMHhiNjllNDIyZSwgMHg0NGY4NGI5MywgMHgyN2ZmOTJiNywKKyAgICAweDgyZjdmOWRiLCAweGUxZjAyMGZmLCAweDliZDM0Mzc5LCAweGY4ZDQ5YTVkLCAweDVkZGNmMTMxLAorICAgIDB4M2VkYjI4MTUsIDB4Y2NiZDIxYTgsIDB4YWZiYWY4OGMsIDB4MGFiMjkzZTAsIDB4NjliNTRhYzQsCisgICAgMHgzNTBmODZkYiwgMHg1NjA4NWZmZiwgMHhmMzAwMzQ5MywgMHg5MDA3ZWRiNywgMHg2MjYxZTQwYSwKKyAgICAweDAxNjYzZDJlLCAweGE0NmU1NjQyLCAweGM3Njk4ZjY2LCAweDFkMWJjZTdjLCAweDdlMWMxNzU4LAorICAgIDB4ZGIxNDdjMzQsIDB4YjgxM2E1MTAsIDB4NGE3NWFjYWQsIDB4Mjk3Mjc1ODksIDB4OGM3YTFlZTUsCisgICAgMHhlZjdkYzdjMSwgMHhiM2M3MGJkZSwgMHhkMGMwZDJmYSwgMHg3NWM4Yjk5NiwgMHgxNmNmNjBiMiwKKyAgICAweGU0YTk2OTBmLCAweDg3YWViMDJiLCAweDIyYTZkYjQ3LCAweDQxYTEwMjYzLCAweDRkMzM1ZjMyLAorICAgIDB4MmUzNDg2MTYsIDB4OGIzY2VkN2EsIDB4ZTgzYjM0NWUsIDB4MWE1ZDNkZTMsIDB4Nzk1YWU0YzcsCisgICAgMHhkYzUyOGZhYiwgMHhiZjU1NTY4ZiwgMHhlM2VmOWE5MCwgMHg4MGU4NDNiNCwgMHgyNWUwMjhkOCwKKyAgICAweDQ2ZTdmMWZjLCAweGI0ODFmODQxLCAweGQ3ODYyMTY1LCAweDcyOGU0YTA5LCAweDExODk5MzJkLAorICAgIDB4Y2JmYmQyMzcsIDB4YThmYzBiMTMsIDB4MGRmNDYwN2YsIDB4NmVmM2I5NWIsIDB4OWM5NWIwZTYsCisgICAgMHhmZjkyNjljMiwgMHg1YTlhMDJhZSwgMHgzOTlkZGI4YSwgMHg2NTI3MTc5NSwgMHgwNjIwY2ViMSwKKyAgICAweGEzMjhhNWRkLCAweGMwMmY3Y2Y5LCAweDMyNDk3NTQ0LCAweDUxNGVhYzYwLCAweGY0NDZjNzBjLAorICAgIDB4OTc0MTFlMjh9LAorICAgezB4MDAwMDAwMDAsIDB4MDFiNWZkMWQsIDB4MDM2YmZhM2EsIDB4MDJkZTA3MjcsIDB4MDZkN2Y0NzQsCisgICAgMHgwNzYyMDk2OSwgMHgwNWJjMGU0ZSwgMHgwNDA5ZjM1MywgMHgwZGFmZThlOCwgMHgwYzFhMTVmNSwKKyAgICAweDBlYzQxMmQyLCAweDBmNzFlZmNmLCAweDBiNzgxYzljLCAweDBhY2RlMTgxLCAweDA4MTNlNmE2LAorICAgIDB4MDlhNjFiYmIsIDB4MWI1ZmQxZDAsIDB4MWFlYTJjY2QsIDB4MTgzNDJiZWEsIDB4MTk4MWQ2ZjcsCisgICAgMHgxZDg4MjVhNCwgMHgxYzNkZDhiOSwgMHgxZWUzZGY5ZSwgMHgxZjU2MjI4MywgMHgxNmYwMzkzOCwKKyAgICAweDE3NDVjNDI1LCAweDE1OWJjMzAyLCAweDE0MmUzZTFmLCAweDEwMjdjZDRjLCAweDExOTIzMDUxLAorICAgIDB4MTM0YzM3NzYsIDB4MTJmOWNhNmIsIDB4MzZiZmEzYTAsIDB4MzcwYTVlYmQsIDB4MzVkNDU5OWEsCisgICAgMHgzNDYxYTQ4NywgMHgzMDY4NTdkNCwgMHgzMWRkYWFjOSwgMHgzMzAzYWRlZSwgMHgzMmI2NTBmMywKKyAgICAweDNiMTA0YjQ4LCAweDNhYTViNjU1LCAweDM4N2JiMTcyLCAweDM5Y2U0YzZmLCAweDNkYzdiZjNjLAorICAgIDB4M2M3MjQyMjEsIDB4M2VhYzQ1MDYsIDB4M2YxOWI4MWIsIDB4MmRlMDcyNzAsIDB4MmM1NThmNmQsCisgICAgMHgyZThiODg0YSwgMHgyZjNlNzU1NywgMHgyYjM3ODYwNCwgMHgyYTgyN2IxOSwgMHgyODVjN2MzZSwKKyAgICAweDI5ZTk4MTIzLCAweDIwNGY5YTk4LCAweDIxZmE2Nzg1LCAweDIzMjQ2MGEyLCAweDIyOTE5ZGJmLAorICAgIDB4MjY5ODZlZWMsIDB4MjcyZDkzZjEsIDB4MjVmMzk0ZDYsIDB4MjQ0NjY5Y2IsIDB4NmQ3ZjQ3NDAsCisgICAgMHg2Y2NhYmE1ZCwgMHg2ZTE0YmQ3YSwgMHg2ZmExNDA2NywgMHg2YmE4YjMzNCwgMHg2YTFkNGUyOSwKKyAgICAweDY4YzM0OTBlLCAweDY5NzZiNDEzLCAweDYwZDBhZmE4LCAweDYxNjU1MmI1LCAweDYzYmI1NTkyLAorICAgIDB4NjIwZWE4OGYsIDB4NjYwNzViZGMsIDB4NjdiMmE2YzEsIDB4NjU2Y2ExZTYsIDB4NjRkOTVjZmIsCisgICAgMHg3NjIwOTY5MCwgMHg3Nzk1NmI4ZCwgMHg3NTRiNmNhYSwgMHg3NGZlOTFiNywgMHg3MGY3NjJlNCwKKyAgICAweDcxNDI5ZmY5LCAweDczOWM5OGRlLCAweDcyMjk2NWMzLCAweDdiOGY3ZTc4LCAweDdhM2E4MzY1LAorICAgIDB4NzhlNDg0NDIsIDB4Nzk1MTc5NWYsIDB4N2Q1ODhhMGMsIDB4N2NlZDc3MTEsIDB4N2UzMzcwMzYsCisgICAgMHg3Zjg2OGQyYiwgMHg1YmMwZTRlMCwgMHg1YTc1MTlmZCwgMHg1OGFiMWVkYSwgMHg1OTFlZTNjNywKKyAgICAweDVkMTcxMDk0LCAweDVjYTJlZDg5LCAweDVlN2NlYWFlLCAweDVmYzkxN2IzLCAweDU2NmYwYzA4LAorICAgIDB4NTdkYWYxMTUsIDB4NTUwNGY2MzIsIDB4NTRiMTBiMmYsIDB4NTBiOGY4N2MsIDB4NTEwZDA1NjEsCisgICAgMHg1M2QzMDI0NiwgMHg1MjY2ZmY1YiwgMHg0MDlmMzUzMCwgMHg0MTJhYzgyZCwgMHg0M2Y0Y2YwYSwKKyAgICAweDQyNDEzMjE3LCAweDQ2NDhjMTQ0LCAweDQ3ZmQzYzU5LCAweDQ1MjMzYjdlLCAweDQ0OTZjNjYzLAorICAgIDB4NGQzMGRkZDgsIDB4NGM4NTIwYzUsIDB4NGU1YjI3ZTIsIDB4NGZlZWRhZmYsIDB4NGJlNzI5YWMsCisgICAgMHg0YTUyZDRiMSwgMHg0ODhjZDM5NiwgMHg0OTM5MmU4YiwgMHhkYWZlOGU4MCwgMHhkYjRiNzM5ZCwKKyAgICAweGQ5OTU3NGJhLCAweGQ4MjA4OWE3LCAweGRjMjk3YWY0LCAweGRkOWM4N2U5LCAweGRmNDI4MGNlLAorICAgIDB4ZGVmNzdkZDMsIDB4ZDc1MTY2NjgsIDB4ZDZlNDliNzUsIDB4ZDQzYTljNTIsIDB4ZDU4ZjYxNGYsCisgICAgMHhkMTg2OTIxYywgMHhkMDMzNmYwMSwgMHhkMmVkNjgyNiwgMHhkMzU4OTUzYiwgMHhjMWExNWY1MCwKKyAgICAweGMwMTRhMjRkLCAweGMyY2FhNTZhLCAweGMzN2Y1ODc3LCAweGM3NzZhYjI0LCAweGM2YzM1NjM5LAorICAgIDB4YzQxZDUxMWUsIDB4YzVhOGFjMDMsIDB4Y2MwZWI3YjgsIDB4Y2RiYjRhYTUsIDB4Y2Y2NTRkODIsCisgICAgMHhjZWQwYjA5ZiwgMHhjYWQ5NDNjYywgMHhjYjZjYmVkMSwgMHhjOWIyYjlmNiwgMHhjODA3NDRlYiwKKyAgICAweGVjNDEyZDIwLCAweGVkZjRkMDNkLCAweGVmMmFkNzFhLCAweGVlOWYyYTA3LCAweGVhOTZkOTU0LAorICAgIDB4ZWIyMzI0NDksIDB4ZTlmZDIzNmUsIDB4ZTg0OGRlNzMsIDB4ZTFlZWM1YzgsIDB4ZTA1YjM4ZDUsCisgICAgMHhlMjg1M2ZmMiwgMHhlMzMwYzJlZiwgMHhlNzM5MzFiYywgMHhlNjhjY2NhMSwgMHhlNDUyY2I4NiwKKyAgICAweGU1ZTczNjliLCAweGY3MWVmY2YwLCAweGY2YWIwMWVkLCAweGY0NzUwNmNhLCAweGY1YzBmYmQ3LAorICAgIDB4ZjFjOTA4ODQsIDB4ZjA3Y2Y1OTksIDB4ZjJhMmYyYmUsIDB4ZjMxNzBmYTMsIDB4ZmFiMTE0MTgsCisgICAgMHhmYjA0ZTkwNSwgMHhmOWRhZWUyMiwgMHhmODZmMTMzZiwgMHhmYzY2ZTA2YywgMHhmZGQzMWQ3MSwKKyAgICAweGZmMGQxYTU2LCAweGZlYjhlNzRiLCAweGI3ODFjOWMwLCAweGI2MzQzNGRkLCAweGI0ZWEzM2ZhLAorICAgIDB4YjU1ZmNlZTcsIDB4YjE1NjNkYjQsIDB4YjBlM2MwYTksIDB4YjIzZGM3OGUsIDB4YjM4ODNhOTMsCisgICAgMHhiYTJlMjEyOCwgMHhiYjliZGMzNSwgMHhiOTQ1ZGIxMiwgMHhiOGYwMjYwZiwgMHhiY2Y5ZDU1YywKKyAgICAweGJkNGMyODQxLCAweGJmOTIyZjY2LCAweGJlMjdkMjdiLCAweGFjZGUxODEwLCAweGFkNmJlNTBkLAorICAgIDB4YWZiNWUyMmEsIDB4YWUwMDFmMzcsIDB4YWEwOWVjNjQsIDB4YWJiYzExNzksIDB4YTk2MjE2NWUsCisgICAgMHhhOGQ3ZWI0MywgMHhhMTcxZjBmOCwgMHhhMGM0MGRlNSwgMHhhMjFhMGFjMiwgMHhhM2FmZjdkZiwKKyAgICAweGE3YTYwNDhjLCAweGE2MTNmOTkxLCAweGE0Y2RmZWI2LCAweGE1NzgwM2FiLCAweDgxM2U2YTYwLAorICAgIDB4ODA4Yjk3N2QsIDB4ODI1NTkwNWEsIDB4ODNlMDZkNDcsIDB4ODdlOTllMTQsIDB4ODY1YzYzMDksCisgICAgMHg4NDgyNjQyZSwgMHg4NTM3OTkzMywgMHg4YzkxODI4OCwgMHg4ZDI0N2Y5NSwgMHg4ZmZhNzhiMiwKKyAgICAweDhlNGY4NWFmLCAweDhhNDY3NmZjLCAweDhiZjM4YmUxLCAweDg5MmQ4Y2M2LCAweDg4OTg3MWRiLAorICAgIDB4OWE2MWJiYjAsIDB4OWJkNDQ2YWQsIDB4OTkwYTQxOGEsIDB4OThiZmJjOTcsIDB4OWNiNjRmYzQsCisgICAgMHg5ZDAzYjJkOSwgMHg5ZmRkYjVmZSwgMHg5ZTY4NDhlMywgMHg5N2NlNTM1OCwgMHg5NjdiYWU0NSwKKyAgICAweDk0YTVhOTYyLCAweDk1MTA1NDdmLCAweDkxMTlhNzJjLCAweDkwYWM1YTMxLCAweDkyNzI1ZDE2LAorICAgIDB4OTNjN2EwMGJ9LAorICAgezB4MDAwMDAwMDAsIDB4NmU4YzFiNDEsIDB4ZGQxODM2ODIsIDB4YjM5NDJkYzMsIDB4NjE0MTZiNDUsCisgICAgMHgwZmNkNzAwNCwgMHhiYzU5NWRjNywgMHhkMmQ1NDY4NiwgMHhjMjgyZDY4YSwgMHhhYzBlY2RjYiwKKyAgICAweDFmOWFlMDA4LCAweDcxMTZmYjQ5LCAweGEzYzNiZGNmLCAweGNkNGZhNjhlLCAweDdlZGI4YjRkLAorICAgIDB4MTA1NzkwMGMsIDB4NWU3NGFiNTUsIDB4MzBmOGIwMTQsIDB4ODM2YzlkZDcsIDB4ZWRlMDg2OTYsCisgICAgMHgzZjM1YzAxMCwgMHg1MWI5ZGI1MSwgMHhlMjJkZjY5MiwgMHg4Y2ExZWRkMywgMHg5Y2Y2N2RkZiwKKyAgICAweGYyN2E2NjllLCAweDQxZWU0YjVkLCAweDJmNjI1MDFjLCAweGZkYjcxNjlhLCAweDkzM2IwZGRiLAorICAgIDB4MjBhZjIwMTgsIDB4NGUyMzNiNTksIDB4YmNlOTU2YWEsIDB4ZDI2NTRkZWIsIDB4NjFmMTYwMjgsCisgICAgMHgwZjdkN2I2OSwgMHhkZGE4M2RlZiwgMHhiMzI0MjZhZSwgMHgwMGIwMGI2ZCwgMHg2ZTNjMTAyYywKKyAgICAweDdlNmI4MDIwLCAweDEwZTc5YjYxLCAweGEzNzNiNmEyLCAweGNkZmZhZGUzLCAweDFmMmFlYjY1LAorICAgIDB4NzFhNmYwMjQsIDB4YzIzMmRkZTcsIDB4YWNiZWM2YTYsIDB4ZTI5ZGZkZmYsIDB4OGMxMWU2YmUsCisgICAgMHgzZjg1Y2I3ZCwgMHg1MTA5ZDAzYywgMHg4M2RjOTZiYSwgMHhlZDUwOGRmYiwgMHg1ZWM0YTAzOCwKKyAgICAweDMwNDhiYjc5LCAweDIwMWYyYjc1LCAweDRlOTMzMDM0LCAweGZkMDcxZGY3LCAweDkzOGIwNmI2LAorICAgIDB4NDE1ZTQwMzAsIDB4MmZkMjViNzEsIDB4OWM0Njc2YjIsIDB4ZjJjYTZkZjMsIDB4YTJhM2FiMTUsCisgICAgMHhjYzJmYjA1NCwgMHg3ZmJiOWQ5NywgMHgxMTM3ODZkNiwgMHhjM2UyYzA1MCwgMHhhZDZlZGIxMSwKKyAgICAweDFlZmFmNmQyLCAweDcwNzZlZDkzLCAweDYwMjE3ZDlmLCAweDBlYWQ2NmRlLCAweGJkMzk0YjFkLAorICAgIDB4ZDNiNTUwNWMsIDB4MDE2MDE2ZGEsIDB4NmZlYzBkOWIsIDB4ZGM3ODIwNTgsIDB4YjJmNDNiMTksCisgICAgMHhmY2Q3MDA0MCwgMHg5MjViMWIwMSwgMHgyMWNmMzZjMiwgMHg0ZjQzMmQ4MywgMHg5ZDk2NmIwNSwKKyAgICAweGYzMWE3MDQ0LCAweDQwOGU1ZDg3LCAweDJlMDI0NmM2LCAweDNlNTVkNmNhLCAweDUwZDljZDhiLAorICAgIDB4ZTM0ZGUwNDgsIDB4OGRjMWZiMDksIDB4NWYxNGJkOGYsIDB4MzE5OGE2Y2UsIDB4ODIwYzhiMGQsCisgICAgMHhlYzgwOTA0YywgMHgxZTRhZmRiZiwgMHg3MGM2ZTZmZSwgMHhjMzUyY2IzZCwgMHhhZGRlZDA3YywKKyAgICAweDdmMGI5NmZhLCAweDExODc4ZGJiLCAweGEyMTNhMDc4LCAweGNjOWZiYjM5LCAweGRjYzgyYjM1LAorICAgIDB4YjI0NDMwNzQsIDB4MDFkMDFkYjcsIDB4NmY1YzA2ZjYsIDB4YmQ4OTQwNzAsIDB4ZDMwNTViMzEsCisgICAgMHg2MDkxNzZmMiwgMHgwZTFkNmRiMywgMHg0MDNlNTZlYSwgMHgyZWIyNGRhYiwgMHg5ZDI2NjA2OCwKKyAgICAweGYzYWE3YjI5LCAweDIxN2YzZGFmLCAweDRmZjMyNmVlLCAweGZjNjcwYjJkLCAweDkyZWIxMDZjLAorICAgIDB4ODJiYzgwNjAsIDB4ZWMzMDliMjEsIDB4NWZhNGI2ZTIsIDB4MzEyOGFkYTMsIDB4ZTNmZGViMjUsCisgICAgMHg4ZDcxZjA2NCwgMHgzZWU1ZGRhNywgMHg1MDY5YzZlNiwgMHg5ZTM2NTA2YiwgMHhmMGJhNGIyYSwKKyAgICAweDQzMmU2NmU5LCAweDJkYTI3ZGE4LCAweGZmNzczYjJlLCAweDkxZmIyMDZmLCAweDIyNmYwZGFjLAorICAgIDB4NGNlMzE2ZWQsIDB4NWNiNDg2ZTEsIDB4MzIzODlkYTAsIDB4ODFhY2IwNjMsIDB4ZWYyMGFiMjIsCisgICAgMHgzZGY1ZWRhNCwgMHg1Mzc5ZjZlNSwgMHhlMGVkZGIyNiwgMHg4ZTYxYzA2NywgMHhjMDQyZmIzZSwKKyAgICAweGFlY2VlMDdmLCAweDFkNWFjZGJjLCAweDczZDZkNmZkLCAweGExMDM5MDdiLCAweGNmOGY4YjNhLAorICAgIDB4N2MxYmE2ZjksIDB4MTI5N2JkYjgsIDB4MDJjMDJkYjQsIDB4NmM0YzM2ZjUsIDB4ZGZkODFiMzYsCisgICAgMHhiMTU0MDA3NywgMHg2MzgxNDZmMSwgMHgwZDBkNWRiMCwgMHhiZTk5NzA3MywgMHhkMDE1NmIzMiwKKyAgICAweDIyZGYwNmMxLCAweDRjNTMxZDgwLCAweGZmYzczMDQzLCAweDkxNGIyYjAyLCAweDQzOWU2ZDg0LAorICAgIDB4MmQxMjc2YzUsIDB4OWU4NjViMDYsIDB4ZjAwYTQwNDcsIDB4ZTA1ZGQwNGIsIDB4OGVkMWNiMGEsCisgICAgMHgzZDQ1ZTZjOSwgMHg1M2M5ZmQ4OCwgMHg4MTFjYmIwZSwgMHhlZjkwYTA0ZiwgMHg1YzA0OGQ4YywKKyAgICAweDMyODg5NmNkLCAweDdjYWJhZDk0LCAweDEyMjdiNmQ1LCAweGExYjM5YjE2LCAweGNmM2Y4MDU3LAorICAgIDB4MWRlYWM2ZDEsIDB4NzM2NmRkOTAsIDB4YzBmMmYwNTMsIDB4YWU3ZWViMTIsIDB4YmUyOTdiMWUsCisgICAgMHhkMGE1NjA1ZiwgMHg2MzMxNGQ5YywgMHgwZGJkNTZkZCwgMHhkZjY4MTA1YiwgMHhiMWU0MGIxYSwKKyAgICAweDAyNzAyNmQ5LCAweDZjZmMzZDk4LCAweDNjOTVmYjdlLCAweDUyMTllMDNmLCAweGUxOGRjZGZjLAorICAgIDB4OGYwMWQ2YmQsIDB4NWRkNDkwM2IsIDB4MzM1ODhiN2EsIDB4ODBjY2E2YjksIDB4ZWU0MGJkZjgsCisgICAgMHhmZTE3MmRmNCwgMHg5MDliMzZiNSwgMHgyMzBmMWI3NiwgMHg0ZDgzMDAzNywgMHg5ZjU2NDZiMSwKKyAgICAweGYxZGE1ZGYwLCAweDQyNGU3MDMzLCAweDJjYzI2YjcyLCAweDYyZTE1MDJiLCAweDBjNmQ0YjZhLAorICAgIDB4YmZmOTY2YTksIDB4ZDE3NTdkZTgsIDB4MDNhMDNiNmUsIDB4NmQyYzIwMmYsIDB4ZGViODBkZWMsCisgICAgMHhiMDM0MTZhZCwgMHhhMDYzODZhMSwgMHhjZWVmOWRlMCwgMHg3ZDdiYjAyMywgMHgxM2Y3YWI2MiwKKyAgICAweGMxMjJlZGU0LCAweGFmYWVmNmE1LCAweDFjM2FkYjY2LCAweDcyYjZjMDI3LCAweDgwN2NhZGQ0LAorICAgIDB4ZWVmMGI2OTUsIDB4NWQ2NDliNTYsIDB4MzNlODgwMTcsIDB4ZTEzZGM2OTEsIDB4OGZiMWRkZDAsCisgICAgMHgzYzI1ZjAxMywgMHg1MmE5ZWI1MiwgMHg0MmZlN2I1ZSwgMHgyYzcyNjAxZiwgMHg5ZmU2NGRkYywKKyAgICAweGYxNmE1NjlkLCAweDIzYmYxMDFiLCAweDRkMzMwYjVhLCAweGZlYTcyNjk5LCAweDkwMmIzZGQ4LAorICAgIDB4ZGUwODA2ODEsIDB4YjA4NDFkYzAsIDB4MDMxMDMwMDMsIDB4NmQ5YzJiNDIsIDB4YmY0OTZkYzQsCisgICAgMHhkMWM1NzY4NSwgMHg2MjUxNWI0NiwgMHgwY2RkNDAwNywgMHgxYzhhZDAwYiwgMHg3MjA2Y2I0YSwKKyAgICAweGMxOTJlNjg5LCAweGFmMWVmZGM4LCAweDdkY2JiYjRlLCAweDEzNDdhMDBmLCAweGEwZDM4ZGNjLAorICAgIDB4Y2U1Zjk2OGR9LAorICAgezB4MDAwMDAwMDAsIDB4ZTcxZGE2OTcsIDB4MTU0YTRiNmYsIDB4ZjI1N2VkZjgsIDB4MmE5NDk2ZGUsCisgICAgMHhjZDg5MzA0OSwgMHgzZmRlZGRiMSwgMHhkOGMzN2IyNiwgMHg1NTI5MmRiYywgMHhiMjM0OGIyYiwKKyAgICAweDQwNjM2NmQzLCAweGE3N2VjMDQ0LCAweDdmYmRiYjYyLCAweDk4YTAxZGY1LCAweDZhZjdmMDBkLAorICAgIDB4OGRlYTU2OWEsIDB4YWE1MjViNzgsIDB4NGQ0ZmZkZWYsIDB4YmYxODEwMTcsIDB4NTgwNWI2ODAsCisgICAgMHg4MGM2Y2RhNiwgMHg2N2RiNmIzMSwgMHg5NThjODZjOSwgMHg3MjkxMjA1ZSwgMHhmZjdiNzZjNCwKKyAgICAweDE4NjZkMDUzLCAweGVhMzEzZGFiLCAweDBkMmM5YjNjLCAweGQ1ZWZlMDFhLCAweDMyZjI0NjhkLAorICAgIDB4YzBhNWFiNzUsIDB4MjdiODBkZTIsIDB4OGZkNWIwYjEsIDB4NjhjODE2MjYsIDB4OWE5ZmZiZGUsCisgICAgMHg3ZDgyNWQ0OSwgMHhhNTQxMjY2ZiwgMHg0MjVjODBmOCwgMHhiMDBiNmQwMCwgMHg1NzE2Y2I5NywKKyAgICAweGRhZmM5ZDBkLCAweDNkZTEzYjlhLCAweGNmYjZkNjYyLCAweDI4YWI3MGY1LCAweGYwNjgwYmQzLAorICAgIDB4MTc3NWFkNDQsIDB4ZTUyMjQwYmMsIDB4MDIzZmU2MmIsIDB4MjU4N2ViYzksIDB4YzI5YTRkNWUsCisgICAgMHgzMGNkYTBhNiwgMHhkN2QwMDYzMSwgMHgwZjEzN2QxNywgMHhlODBlZGI4MCwgMHgxYTU5MzY3OCwKKyAgICAweGZkNDQ5MGVmLCAweDcwYWVjNjc1LCAweDk3YjM2MGUyLCAweDY1ZTQ4ZDFhLCAweDgyZjkyYjhkLAorICAgIDB4NWEzYTUwYWIsIDB4YmQyN2Y2M2MsIDB4NGY3MDFiYzQsIDB4YTg2ZGJkNTMsIDB4YzRkYTY3MjMsCisgICAgMHgyM2M3YzFiNCwgMHhkMTkwMmM0YywgMHgzNjhkOGFkYiwgMHhlZTRlZjFmZCwgMHgwOTUzNTc2YSwKKyAgICAweGZiMDRiYTkyLCAweDFjMTkxYzA1LCAweDkxZjM0YTlmLCAweDc2ZWVlYzA4LCAweDg0YjkwMWYwLAorICAgIDB4NjNhNGE3NjcsIDB4YmI2N2RjNDEsIDB4NWM3YTdhZDYsIDB4YWUyZDk3MmUsIDB4NDkzMDMxYjksCisgICAgMHg2ZTg4M2M1YiwgMHg4OTk1OWFjYywgMHg3YmMyNzczNCwgMHg5Y2RmZDFhMywgMHg0NDFjYWE4NSwKKyAgICAweGEzMDEwYzEyLCAweDUxNTZlMWVhLCAweGI2NGI0NzdkLCAweDNiYTExMWU3LCAweGRjYmNiNzcwLAorICAgIDB4MmVlYjVhODgsIDB4YzlmNmZjMWYsIDB4MTEzNTg3MzksIDB4ZjYyODIxYWUsIDB4MDQ3ZmNjNTYsCisgICAgMHhlMzYyNmFjMSwgMHg0YjBmZDc5MiwgMHhhYzEyNzEwNSwgMHg1ZTQ1OWNmZCwgMHhiOTU4M2E2YSwKKyAgICAweDYxOWI0MTRjLCAweDg2ODZlN2RiLCAweDc0ZDEwYTIzLCAweDkzY2NhY2I0LCAweDFlMjZmYTJlLAorICAgIDB4ZjkzYjVjYjksIDB4MGI2Y2IxNDEsIDB4ZWM3MTE3ZDYsIDB4MzRiMjZjZjAsIDB4ZDNhZmNhNjcsCisgICAgMHgyMWY4Mjc5ZiwgMHhjNmU1ODEwOCwgMHhlMTVkOGNlYSwgMHgwNjQwMmE3ZCwgMHhmNDE3Yzc4NSwKKyAgICAweDEzMGE2MTEyLCAweGNiYzkxYTM0LCAweDJjZDRiY2EzLCAweGRlODM1MTViLCAweDM5OWVmN2NjLAorICAgIDB4YjQ3NGExNTYsIDB4NTM2OTA3YzEsIDB4YTEzZWVhMzksIDB4NDYyMzRjYWUsIDB4OWVlMDM3ODgsCisgICAgMHg3OWZkOTExZiwgMHg4YmFhN2NlNywgMHg2Y2I3ZGE3MCwgMHg1MmM1YzgwNywgMHhiNWQ4NmU5MCwKKyAgICAweDQ3OGY4MzY4LCAweGEwOTIyNWZmLCAweDc4NTE1ZWQ5LCAweDlmNGNmODRlLCAweDZkMWIxNWI2LAorICAgIDB4OGEwNmIzMjEsIDB4MDdlY2U1YmIsIDB4ZTBmMTQzMmMsIDB4MTJhNmFlZDQsIDB4ZjViYjA4NDMsCisgICAgMHgyZDc4NzM2NSwgMHhjYTY1ZDVmMiwgMHgzODMyMzgwYSwgMHhkZjJmOWU5ZCwgMHhmODk3OTM3ZiwKKyAgICAweDFmOGEzNWU4LCAweGVkZGRkODEwLCAweDBhYzA3ZTg3LCAweGQyMDMwNWExLCAweDM1MWVhMzM2LAorICAgIDB4Yzc0OTRlY2UsIDB4MjA1NGU4NTksIDB4YWRiZWJlYzMsIDB4NGFhMzE4NTQsIDB4YjhmNGY1YWMsCisgICAgMHg1ZmU5NTMzYiwgMHg4NzJhMjgxZCwgMHg2MDM3OGU4YSwgMHg5MjYwNjM3MiwgMHg3NTdkYzVlNSwKKyAgICAweGRkMTA3OGI2LCAweDNhMGRkZTIxLCAweGM4NWEzM2Q5LCAweDJmNDc5NTRlLCAweGY3ODRlZTY4LAorICAgIDB4MTA5OTQ4ZmYsIDB4ZTJjZWE1MDcsIDB4MDVkMzAzOTAsIDB4ODgzOTU1MGEsIDB4NmYyNGYzOWQsCisgICAgMHg5ZDczMWU2NSwgMHg3YTZlYjhmMiwgMHhhMmFkYzNkNCwgMHg0NWIwNjU0MywgMHhiN2U3ODhiYiwKKyAgICAweDUwZmEyZTJjLCAweDc3NDIyM2NlLCAweDkwNWY4NTU5LCAweDYyMDg2OGExLCAweDg1MTVjZTM2LAorICAgIDB4NWRkNmI1MTAsIDB4YmFjYjEzODcsIDB4NDg5Y2ZlN2YsIDB4YWY4MTU4ZTgsIDB4MjI2YjBlNzIsCisgICAgMHhjNTc2YThlNSwgMHgzNzIxNDUxZCwgMHhkMDNjZTM4YSwgMHgwOGZmOThhYywgMHhlZmUyM2UzYiwKKyAgICAweDFkYjVkM2MzLCAweGZhYTg3NTU0LCAweDk2MWZhZjI0LCAweDcxMDIwOWIzLCAweDgzNTVlNDRiLAorICAgIDB4NjQ0ODQyZGMsIDB4YmM4YjM5ZmEsIDB4NWI5NjlmNmQsIDB4YTljMTcyOTUsIDB4NGVkY2Q0MDIsCisgICAgMHhjMzM2ODI5OCwgMHgyNDJiMjQwZiwgMHhkNjdjYzlmNywgMHgzMTYxNmY2MCwgMHhlOWEyMTQ0NiwKKyAgICAweDBlYmZiMmQxLCAweGZjZTg1ZjI5LCAweDFiZjVmOWJlLCAweDNjNGRmNDVjLCAweGRiNTA1MmNiLAorICAgIDB4MjkwN2JmMzMsIDB4Y2UxYTE5YTQsIDB4MTZkOTYyODIsIDB4ZjFjNGM0MTUsIDB4MDM5MzI5ZWQsCisgICAgMHhlNDhlOGY3YSwgMHg2OTY0ZDllMCwgMHg4ZTc5N2Y3NywgMHg3YzJlOTI4ZiwgMHg5YjMzMzQxOCwKKyAgICAweDQzZjA0ZjNlLCAweGE0ZWRlOWE5LCAweDU2YmEwNDUxLCAweGIxYTdhMmM2LCAweDE5Y2ExZjk1LAorICAgIDB4ZmVkN2I5MDIsIDB4MGM4MDU0ZmEsIDB4ZWI5ZGYyNmQsIDB4MzM1ZTg5NGIsIDB4ZDQ0MzJmZGMsCisgICAgMHgyNjE0YzIyNCwgMHhjMTA5NjRiMywgMHg0Y2UzMzIyOSwgMHhhYmZlOTRiZSwgMHg1OWE5Nzk0NiwKKyAgICAweGJlYjRkZmQxLCAweDY2NzdhNGY3LCAweDgxNmEwMjYwLCAweDczM2RlZjk4LCAweDk0MjA0OTBmLAorICAgIDB4YjM5ODQ0ZWQsIDB4NTQ4NWUyN2EsIDB4YTZkMjBmODIsIDB4NDFjZmE5MTUsIDB4OTkwY2QyMzMsCisgICAgMHg3ZTExNzRhNCwgMHg4YzQ2OTk1YywgMHg2YjViM2ZjYiwgMHhlNmIxNjk1MSwgMHgwMWFjY2ZjNiwKKyAgICAweGYzZmIyMjNlLCAweDE0ZTY4NGE5LCAweGNjMjVmZjhmLCAweDJiMzg1OTE4LCAweGQ5NmZiNGUwLAorICAgIDB4M2U3MjEyNzd9LAorICAgezB4MDAwMDAwMDAsIDB4YTU4YjkwMGUsIDB4OTA2NjI2NWQsIDB4MzVlZGI2NTMsIDB4ZmJiZDRhZmIsCisgICAgMHg1ZTM2ZGFmNSwgMHg2YmRiNmNhNiwgMHhjZTUwZmNhOCwgMHgyYzBiOTNiNywgMHg4OTgwMDNiOSwKKyAgICAweGJjNmRiNWVhLCAweDE5ZTYyNWU0LCAweGQ3YjZkOTRjLCAweDcyM2Q0OTQyLCAweDQ3ZDBmZjExLAorICAgIDB4ZTI1YjZmMWYsIDB4NTgxNzI3NmUsIDB4ZmQ5Y2I3NjAsIDB4Yzg3MTAxMzMsIDB4NmRmYTkxM2QsCisgICAgMHhhM2FhNmQ5NSwgMHgwNjIxZmQ5YiwgMHgzM2NjNGJjOCwgMHg5NjQ3ZGJjNiwgMHg3NDFjYjRkOSwKKyAgICAweGQxOTcyNGQ3LCAweGU0N2E5Mjg0LCAweDQxZjEwMjhhLCAweDhmYTFmZTIyLCAweDJhMmE2ZTJjLAorICAgIDB4MWZjN2Q4N2YsIDB4YmE0YzQ4NzEsIDB4YjAyZTRlZGMsIDB4MTVhNWRlZDIsIDB4MjA0ODY4ODEsCisgICAgMHg4NWMzZjg4ZiwgMHg0YjkzMDQyNywgMHhlZTE4OTQyOSwgMHhkYmY1MjI3YSwgMHg3ZTdlYjI3NCwKKyAgICAweDljMjVkZDZiLCAweDM5YWU0ZDY1LCAweDBjNDNmYjM2LCAweGE5Yzg2YjM4LCAweDY3OTg5NzkwLAorICAgIDB4YzIxMzA3OWUsIDB4ZjdmZWIxY2QsIDB4NTI3NTIxYzMsIDB4ZTgzOTY5YjIsIDB4NGRiMmY5YmMsCisgICAgMHg3ODVmNGZlZiwgMHhkZGQ0ZGZlMSwgMHgxMzg0MjM0OSwgMHhiNjBmYjM0NywgMHg4M2UyMDUxNCwKKyAgICAweDI2Njk5NTFhLCAweGM0MzJmYTA1LCAweDYxYjk2YTBiLCAweDU0NTRkYzU4LCAweGYxZGY0YzU2LAorICAgIDB4M2Y4ZmIwZmUsIDB4OWEwNDIwZjAsIDB4YWZlOTk2YTMsIDB4MGE2MjA2YWQsIDB4YmIyZDliZjksCisgICAgMHgxZWE2MGJmNywgMHgyYjRiYmRhNCwgMHg4ZWMwMmRhYSwgMHg0MDkwZDEwMiwgMHhlNTFiNDEwYywKKyAgICAweGQwZjZmNzVmLCAweDc1N2Q2NzUxLCAweDk3MjYwODRlLCAweDMyYWQ5ODQwLCAweDA3NDAyZTEzLAorICAgIDB4YTJjYmJlMWQsIDB4NmM5YjQyYjUsIDB4YzkxMGQyYmIsIDB4ZmNmZDY0ZTgsIDB4NTk3NmY0ZTYsCisgICAgMHhlMzNhYmM5NywgMHg0NmIxMmM5OSwgMHg3MzVjOWFjYSwgMHhkNmQ3MGFjNCwgMHgxODg3ZjY2YywKKyAgICAweGJkMGM2NjYyLCAweDg4ZTFkMDMxLCAweDJkNmE0MDNmLCAweGNmMzEyZjIwLCAweDZhYmFiZjJlLAorICAgIDB4NWY1NzA5N2QsIDB4ZmFkYzk5NzMsIDB4MzQ4YzY1ZGIsIDB4OTEwN2Y1ZDUsIDB4YTRlYTQzODYsCisgICAgMHgwMTYxZDM4OCwgMHgwYjAzZDUyNSwgMHhhZTg4NDUyYiwgMHg5YjY1ZjM3OCwgMHgzZWVlNjM3NiwKKyAgICAweGYwYmU5ZmRlLCAweDU1MzUwZmQwLCAweDYwZDhiOTgzLCAweGM1NTMyOThkLCAweDI3MDg0NjkyLAorICAgIDB4ODI4M2Q2OWMsIDB4Yjc2ZTYwY2YsIDB4MTJlNWYwYzEsIDB4ZGNiNTBjNjksIDB4NzkzZTljNjcsCisgICAgMHg0Y2QzMmEzNCwgMHhlOTU4YmEzYSwgMHg1MzE0ZjI0YiwgMHhmNjlmNjI0NSwgMHhjMzcyZDQxNiwKKyAgICAweDY2Zjk0NDE4LCAweGE4YTliOGIwLCAweDBkMjIyOGJlLCAweDM4Y2Y5ZWVkLCAweDlkNDQwZWUzLAorICAgIDB4N2YxZjYxZmMsIDB4ZGE5NGYxZjIsIDB4ZWY3OTQ3YTEsIDB4NGFmMmQ3YWYsIDB4ODRhMjJiMDcsCisgICAgMHgyMTI5YmIwOSwgMHgxNGM0MGQ1YSwgMHhiMTRmOWQ1NCwgMHhhZDJhMzFiMywgMHgwOGExYTFiZCwKKyAgICAweDNkNGMxN2VlLCAweDk4Yzc4N2UwLCAweDU2OTc3YjQ4LCAweGYzMWNlYjQ2LCAweGM2ZjE1ZDE1LAorICAgIDB4NjM3YWNkMWIsIDB4ODEyMWEyMDQsIDB4MjRhYTMyMGEsIDB4MTE0Nzg0NTksIDB4YjRjYzE0NTcsCisgICAgMHg3YTljZThmZiwgMHhkZjE3NzhmMSwgMHhlYWZhY2VhMiwgMHg0ZjcxNWVhYywgMHhmNTNkMTZkZCwKKyAgICAweDUwYjY4NmQzLCAweDY1NWIzMDgwLCAweGMwZDBhMDhlLCAweDBlODA1YzI2LCAweGFiMGJjYzI4LAorICAgIDB4OWVlNjdhN2IsIDB4M2I2ZGVhNzUsIDB4ZDkzNjg1NmEsIDB4N2NiZDE1NjQsIDB4NDk1MGEzMzcsCisgICAgMHhlY2RiMzMzOSwgMHgyMjhiY2Y5MSwgMHg4NzAwNWY5ZiwgMHhiMmVkZTljYywgMHgxNzY2NzljMiwKKyAgICAweDFkMDQ3ZjZmLCAweGI4OGZlZjYxLCAweDhkNjI1OTMyLCAweDI4ZTljOTNjLCAweGU2YjkzNTk0LAorICAgIDB4NDMzMmE1OWEsIDB4NzZkZjEzYzksIDB4ZDM1NDgzYzcsIDB4MzEwZmVjZDgsIDB4OTQ4NDdjZDYsCisgICAgMHhhMTY5Y2E4NSwgMHgwNGUyNWE4YiwgMHhjYWIyYTYyMywgMHg2ZjM5MzYyZCwgMHg1YWQ0ODA3ZSwKKyAgICAweGZmNWYxMDcwLCAweDQ1MTM1ODAxLCAweGUwOThjODBmLCAweGQ1NzU3ZTVjLCAweDcwZmVlZTUyLAorICAgIDB4YmVhZTEyZmEsIDB4MWIyNTgyZjQsIDB4MmVjODM0YTcsIDB4OGI0M2E0YTksIDB4NjkxOGNiYjYsCisgICAgMHhjYzkzNWJiOCwgMHhmOTdlZWRlYiwgMHg1Y2Y1N2RlNSwgMHg5MmE1ODE0ZCwgMHgzNzJlMTE0MywKKyAgICAweDAyYzNhNzEwLCAweGE3NDgzNzFlLCAweDE2MDdhYTRhLCAweGIzOGMzYTQ0LCAweDg2NjE4YzE3LAorICAgIDB4MjNlYTFjMTksIDB4ZWRiYWUwYjEsIDB4NDgzMTcwYmYsIDB4N2RkY2M2ZWMsIDB4ZDg1NzU2ZTIsCisgICAgMHgzYTBjMzlmZCwgMHg5Zjg3YTlmMywgMHhhYTZhMWZhMCwgMHgwZmUxOGZhZSwgMHhjMWIxNzMwNiwKKyAgICAweDY0M2FlMzA4LCAweDUxZDc1NTViLCAweGY0NWNjNTU1LCAweDRlMTA4ZDI0LCAweGViOWIxZDJhLAorICAgIDB4ZGU3NmFiNzksIDB4N2JmZDNiNzcsIDB4YjVhZGM3ZGYsIDB4MTAyNjU3ZDEsIDB4MjVjYmUxODIsCisgICAgMHg4MDQwNzE4YywgMHg2MjFiMWU5MywgMHhjNzkwOGU5ZCwgMHhmMjdkMzhjZSwgMHg1N2Y2YThjMCwKKyAgICAweDk5YTY1NDY4LCAweDNjMmRjNDY2LCAweDA5YzA3MjM1LCAweGFjNGJlMjNiLCAweGE2MjllNDk2LAorICAgIDB4MDNhMjc0OTgsIDB4MzY0ZmMyY2IsIDB4OTNjNDUyYzUsIDB4NWQ5NGFlNmQsIDB4ZjgxZjNlNjMsCisgICAgMHhjZGYyODgzMCwgMHg2ODc5MTgzZSwgMHg4YTIyNzcyMSwgMHgyZmE5ZTcyZiwgMHgxYTQ0NTE3YywKKyAgICAweGJmY2ZjMTcyLCAweDcxOWYzZGRhLCAweGQ0MTRhZGQ0LCAweGUxZjkxYjg3LCAweDQ0NzI4Yjg5LAorICAgIDB4ZmUzZWMzZjgsIDB4NWJiNTUzZjYsIDB4NmU1OGU1YTUsIDB4Y2JkMzc1YWIsIDB4MDU4Mzg5MDMsCisgICAgMHhhMDA4MTkwZCwgMHg5NWU1YWY1ZSwgMHgzMDZlM2Y1MCwgMHhkMjM1NTA0ZiwgMHg3N2JlYzA0MSwKKyAgICAweDQyNTM3NjEyLCAweGU3ZDhlNjFjLCAweDI5ODgxYWI0LCAweDhjMDM4YWJhLCAweGI5ZWUzY2U5LAorICAgIDB4MWM2NWFjZTd9fTsKKworbG9jYWwgY29uc3Qgel93b3JkX3QgRkFSIGNyY19icmFpZF9iaWdfdGFibGVbXVsyNTZdID0geworICAgezB4MDAwMDAwMDAwMDAwMDAwMCwgMHgwZTkwOGJhNTAwMDAwMDAwLCAweDVkMjY2NjkwMDAwMDAwMDAsCisgICAgMHg1M2I2ZWQzNTAwMDAwMDAwLCAweGZiNGFiZGZiMDAwMDAwMDAsIDB4ZjVkYTM2NWUwMDAwMDAwMCwKKyAgICAweGE2NmNkYjZiMDAwMDAwMDAsIDB4YThmYzUwY2UwMDAwMDAwMCwgMHhiNzkzMGIyYzAwMDAwMDAwLAorICAgIDB4YjkwMzgwODkwMDAwMDAwMCwgMHhlYWI1NmRiYzAwMDAwMDAwLCAweGU0MjVlNjE5MDAwMDAwMDAsCisgICAgMHg0Y2Q5YjZkNzAwMDAwMDAwLCAweDQyNDkzZDcyMDAwMDAwMDAsIDB4MTFmZmQwNDcwMDAwMDAwMCwKKyAgICAweDFmNmY1YmUyMDAwMDAwMDAsIDB4NmUyNzE3NTgwMDAwMDAwMCwgMHg2MGI3OWNmZDAwMDAwMDAwLAorICAgIDB4MzMwMTcxYzgwMDAwMDAwMCwgMHgzZDkxZmE2ZDAwMDAwMDAwLCAweDk1NmRhYWEzMDAwMDAwMDAsCisgICAgMHg5YmZkMjEwNjAwMDAwMDAwLCAweGM4NGJjYzMzMDAwMDAwMDAsIDB4YzZkYjQ3OTYwMDAwMDAwMCwKKyAgICAweGQ5YjQxYzc0MDAwMDAwMDAsIDB4ZDcyNDk3ZDEwMDAwMDAwMCwgMHg4NDkyN2FlNDAwMDAwMDAwLAorICAgIDB4OGEwMmYxNDEwMDAwMDAwMCwgMHgyMmZlYTE4ZjAwMDAwMDAwLCAweDJjNmUyYTJhMDAwMDAwMDAsCisgICAgMHg3ZmQ4YzcxZjAwMDAwMDAwLCAweDcxNDg0Y2JhMDAwMDAwMDAsIDB4ZGM0ZTJlYjAwMDAwMDAwMCwKKyAgICAweGQyZGVhNTE1MDAwMDAwMDAsIDB4ODE2ODQ4MjAwMDAwMDAwMCwgMHg4ZmY4YzM4NTAwMDAwMDAwLAorICAgIDB4MjcwNDkzNGIwMDAwMDAwMCwgMHgyOTk0MThlZTAwMDAwMDAwLCAweDdhMjJmNWRiMDAwMDAwMDAsCisgICAgMHg3NGIyN2U3ZTAwMDAwMDAwLCAweDZiZGQyNTljMDAwMDAwMDAsIDB4NjU0ZGFlMzkwMDAwMDAwMCwKKyAgICAweDM2ZmI0MzBjMDAwMDAwMDAsIDB4Mzg2YmM4YTkwMDAwMDAwMCwgMHg5MDk3OTg2NzAwMDAwMDAwLAorICAgIDB4OWUwNzEzYzIwMDAwMDAwMCwgMHhjZGIxZmVmNzAwMDAwMDAwLCAweGMzMjE3NTUyMDAwMDAwMDAsCisgICAgMHhiMjY5MzllODAwMDAwMDAwLCAweGJjZjliMjRkMDAwMDAwMDAsIDB4ZWY0ZjVmNzgwMDAwMDAwMCwKKyAgICAweGUxZGZkNGRkMDAwMDAwMDAsIDB4NDkyMzg0MTMwMDAwMDAwMCwgMHg0N2IzMGZiNjAwMDAwMDAwLAorICAgIDB4MTQwNWUyODMwMDAwMDAwMCwgMHgxYTk1NjkyNjAwMDAwMDAwLCAweDA1ZmEzMmM0MDAwMDAwMDAsCisgICAgMHgwYjZhYjk2MTAwMDAwMDAwLCAweDU4ZGM1NDU0MDAwMDAwMDAsIDB4NTY0Y2RmZjEwMDAwMDAwMCwKKyAgICAweGZlYjA4ZjNmMDAwMDAwMDAsIDB4ZjAyMDA0OWEwMDAwMDAwMCwgMHhhMzk2ZTlhZjAwMDAwMDAwLAorICAgIDB4YWQwNjYyMGEwMDAwMDAwMCwgMHhmOTliMmRiYjAwMDAwMDAwLCAweGY3MGJhNjFlMDAwMDAwMDAsCisgICAgMHhhNGJkNGIyYjAwMDAwMDAwLCAweGFhMmRjMDhlMDAwMDAwMDAsIDB4MDJkMTkwNDAwMDAwMDAwMCwKKyAgICAweDBjNDExYmU1MDAwMDAwMDAsIDB4NWZmN2Y2ZDAwMDAwMDAwMCwgMHg1MTY3N2Q3NTAwMDAwMDAwLAorICAgIDB4NGUwODI2OTcwMDAwMDAwMCwgMHg0MDk4YWQzMjAwMDAwMDAwLCAweDEzMmU0MDA3MDAwMDAwMDAsCisgICAgMHgxZGJlY2JhMjAwMDAwMDAwLCAweGI1NDI5YjZjMDAwMDAwMDAsIDB4YmJkMjEwYzkwMDAwMDAwMCwKKyAgICAweGU4NjRmZGZjMDAwMDAwMDAsIDB4ZTZmNDc2NTkwMDAwMDAwMCwgMHg5N2JjM2FlMzAwMDAwMDAwLAorICAgIDB4OTkyY2IxNDYwMDAwMDAwMCwgMHhjYTlhNWM3MzAwMDAwMDAwLCAweGM0MGFkN2Q2MDAwMDAwMDAsCisgICAgMHg2Y2Y2ODcxODAwMDAwMDAwLCAweDYyNjYwY2JkMDAwMDAwMDAsIDB4MzFkMGUxODgwMDAwMDAwMCwKKyAgICAweDNmNDA2YTJkMDAwMDAwMDAsIDB4MjAyZjMxY2YwMDAwMDAwMCwgMHgyZWJmYmE2YTAwMDAwMDAwLAorICAgIDB4N2QwOTU3NWYwMDAwMDAwMCwgMHg3Mzk5ZGNmYTAwMDAwMDAwLCAweGRiNjU4YzM0MDAwMDAwMDAsCisgICAgMHhkNWY1MDc5MTAwMDAwMDAwLCAweDg2NDNlYWE0MDAwMDAwMDAsIDB4ODhkMzYxMDEwMDAwMDAwMCwKKyAgICAweDI1ZDUwMzBiMDAwMDAwMDAsIDB4MmI0NTg4YWUwMDAwMDAwMCwgMHg3OGYzNjU5YjAwMDAwMDAwLAorICAgIDB4NzY2M2VlM2UwMDAwMDAwMCwgMHhkZTlmYmVmMDAwMDAwMDAwLCAweGQwMGYzNTU1MDAwMDAwMDAsCisgICAgMHg4M2I5ZDg2MDAwMDAwMDAwLCAweDhkMjk1M2M1MDAwMDAwMDAsIDB4OTI0NjA4MjcwMDAwMDAwMCwKKyAgICAweDljZDY4MzgyMDAwMDAwMDAsIDB4Y2Y2MDZlYjcwMDAwMDAwMCwgMHhjMWYwZTUxMjAwMDAwMDAwLAorICAgIDB4NjkwY2I1ZGMwMDAwMDAwMCwgMHg2NzljM2U3OTAwMDAwMDAwLCAweDM0MmFkMzRjMDAwMDAwMDAsCisgICAgMHgzYWJhNThlOTAwMDAwMDAwLCAweDRiZjIxNDUzMDAwMDAwMDAsIDB4NDU2MjlmZjYwMDAwMDAwMCwKKyAgICAweDE2ZDQ3MmMzMDAwMDAwMDAsIDB4MTg0NGY5NjYwMDAwMDAwMCwgMHhiMGI4YTlhODAwMDAwMDAwLAorICAgIDB4YmUyODIyMGQwMDAwMDAwMCwgMHhlZDllY2YzODAwMDAwMDAwLCAweGUzMGU0NDlkMDAwMDAwMDAsCisgICAgMHhmYzYxMWY3ZjAwMDAwMDAwLCAweGYyZjE5NGRhMDAwMDAwMDAsIDB4YTE0Nzc5ZWYwMDAwMDAwMCwKKyAgICAweGFmZDdmMjRhMDAwMDAwMDAsIDB4MDcyYmEyODQwMDAwMDAwMCwgMHgwOWJiMjkyMTAwMDAwMDAwLAorICAgIDB4NWEwZGM0MTQwMDAwMDAwMCwgMHg1NDlkNGZiMTAwMDAwMDAwLCAweGIzMzEyYWFkMDAwMDAwMDAsCisgICAgMHhiZGExYTEwODAwMDAwMDAwLCAweGVlMTc0YzNkMDAwMDAwMDAsIDB4ZTA4N2M3OTgwMDAwMDAwMCwKKyAgICAweDQ4N2I5NzU2MDAwMDAwMDAsIDB4NDZlYjFjZjMwMDAwMDAwMCwgMHgxNTVkZjFjNjAwMDAwMDAwLAorICAgIDB4MWJjZDdhNjMwMDAwMDAwMCwgMHgwNGEyMjE4MTAwMDAwMDAwLCAweDBhMzJhYTI0MDAwMDAwMDAsCisgICAgMHg1OTg0NDcxMTAwMDAwMDAwLCAweDU3MTRjY2I0MDAwMDAwMDAsIDB4ZmZlODljN2EwMDAwMDAwMCwKKyAgICAweGYxNzgxN2RmMDAwMDAwMDAsIDB4YTJjZWZhZWEwMDAwMDAwMCwgMHhhYzVlNzE0ZjAwMDAwMDAwLAorICAgIDB4ZGQxNjNkZjUwMDAwMDAwMCwgMHhkMzg2YjY1MDAwMDAwMDAwLCAweDgwMzA1YjY1MDAwMDAwMDAsCisgICAgMHg4ZWEwZDBjMDAwMDAwMDAwLCAweDI2NWM4MDBlMDAwMDAwMDAsIDB4MjhjYzBiYWIwMDAwMDAwMCwKKyAgICAweDdiN2FlNjllMDAwMDAwMDAsIDB4NzVlYTZkM2IwMDAwMDAwMCwgMHg2YTg1MzZkOTAwMDAwMDAwLAorICAgIDB4NjQxNWJkN2MwMDAwMDAwMCwgMHgzN2EzNTA0OTAwMDAwMDAwLCAweDM5MzNkYmVjMDAwMDAwMDAsCisgICAgMHg5MWNmOGIyMjAwMDAwMDAwLCAweDlmNWYwMDg3MDAwMDAwMDAsIDB4Y2NlOWVkYjIwMDAwMDAwMCwKKyAgICAweGMyNzk2NjE3MDAwMDAwMDAsIDB4NmY3ZjA0MWQwMDAwMDAwMCwgMHg2MWVmOGZiODAwMDAwMDAwLAorICAgIDB4MzI1OTYyOGQwMDAwMDAwMCwgMHgzY2M5ZTkyODAwMDAwMDAwLCAweDk0MzViOWU2MDAwMDAwMDAsCisgICAgMHg5YWE1MzI0MzAwMDAwMDAwLCAweGM5MTNkZjc2MDAwMDAwMDAsIDB4Yzc4MzU0ZDMwMDAwMDAwMCwKKyAgICAweGQ4ZWMwZjMxMDAwMDAwMDAsIDB4ZDY3Yzg0OTQwMDAwMDAwMCwgMHg4NWNhNjlhMTAwMDAwMDAwLAorICAgIDB4OGI1YWUyMDQwMDAwMDAwMCwgMHgyM2E2YjJjYTAwMDAwMDAwLCAweDJkMzYzOTZmMDAwMDAwMDAsCisgICAgMHg3ZTgwZDQ1YTAwMDAwMDAwLCAweDcwMTA1ZmZmMDAwMDAwMDAsIDB4MDE1ODEzNDUwMDAwMDAwMCwKKyAgICAweDBmYzg5OGUwMDAwMDAwMDAsIDB4NWM3ZTc1ZDUwMDAwMDAwMCwgMHg1MmVlZmU3MDAwMDAwMDAwLAorICAgIDB4ZmExMmFlYmUwMDAwMDAwMCwgMHhmNDgyMjUxYjAwMDAwMDAwLCAweGE3MzRjODJlMDAwMDAwMDAsCisgICAgMHhhOWE0NDM4YjAwMDAwMDAwLCAweGI2Y2IxODY5MDAwMDAwMDAsIDB4Yjg1YjkzY2MwMDAwMDAwMCwKKyAgICAweGViZWQ3ZWY5MDAwMDAwMDAsIDB4ZTU3ZGY1NWMwMDAwMDAwMCwgMHg0ZDgxYTU5MjAwMDAwMDAwLAorICAgIDB4NDMxMTJlMzcwMDAwMDAwMCwgMHgxMGE3YzMwMjAwMDAwMDAwLCAweDFlMzc0OGE3MDAwMDAwMDAsCisgICAgMHg0YWFhMDcxNjAwMDAwMDAwLCAweDQ0M2E4Y2IzMDAwMDAwMDAsIDB4MTc4YzYxODYwMDAwMDAwMCwKKyAgICAweDE5MWNlYTIzMDAwMDAwMDAsIDB4YjFlMGJhZWQwMDAwMDAwMCwgMHhiZjcwMzE0ODAwMDAwMDAwLAorICAgIDB4ZWNjNmRjN2QwMDAwMDAwMCwgMHhlMjU2NTdkODAwMDAwMDAwLCAweGZkMzkwYzNhMDAwMDAwMDAsCisgICAgMHhmM2E5ODc5ZjAwMDAwMDAwLCAweGEwMWY2YWFhMDAwMDAwMDAsIDB4YWU4ZmUxMGYwMDAwMDAwMCwKKyAgICAweDA2NzNiMWMxMDAwMDAwMDAsIDB4MDhlMzNhNjQwMDAwMDAwMCwgMHg1YjU1ZDc1MTAwMDAwMDAwLAorICAgIDB4NTVjNTVjZjQwMDAwMDAwMCwgMHgyNDhkMTA0ZTAwMDAwMDAwLCAweDJhMWQ5YmViMDAwMDAwMDAsCisgICAgMHg3OWFiNzZkZTAwMDAwMDAwLCAweDc3M2JmZDdiMDAwMDAwMDAsIDB4ZGZjN2FkYjUwMDAwMDAwMCwKKyAgICAweGQxNTcyNjEwMDAwMDAwMDAsIDB4ODJlMWNiMjUwMDAwMDAwMCwgMHg4YzcxNDA4MDAwMDAwMDAwLAorICAgIDB4OTMxZTFiNjIwMDAwMDAwMCwgMHg5ZDhlOTBjNzAwMDAwMDAwLCAweGNlMzg3ZGYyMDAwMDAwMDAsCisgICAgMHhjMGE4ZjY1NzAwMDAwMDAwLCAweDY4NTRhNjk5MDAwMDAwMDAsIDB4NjZjNDJkM2MwMDAwMDAwMCwKKyAgICAweDM1NzJjMDA5MDAwMDAwMDAsIDB4M2JlMjRiYWMwMDAwMDAwMCwgMHg5NmU0MjlhNjAwMDAwMDAwLAorICAgIDB4OTg3NGEyMDMwMDAwMDAwMCwgMHhjYmMyNGYzNjAwMDAwMDAwLCAweGM1NTJjNDkzMDAwMDAwMDAsCisgICAgMHg2ZGFlOTQ1ZDAwMDAwMDAwLCAweDYzM2UxZmY4MDAwMDAwMDAsIDB4MzA4OGYyY2QwMDAwMDAwMCwKKyAgICAweDNlMTg3OTY4MDAwMDAwMDAsIDB4MjE3NzIyOGEwMDAwMDAwMCwgMHgyZmU3YTkyZjAwMDAwMDAwLAorICAgIDB4N2M1MTQ0MWEwMDAwMDAwMCwgMHg3MmMxY2ZiZjAwMDAwMDAwLCAweGRhM2Q5ZjcxMDAwMDAwMDAsCisgICAgMHhkNGFkMTRkNDAwMDAwMDAwLCAweDg3MWJmOWUxMDAwMDAwMDAsIDB4ODk4YjcyNDQwMDAwMDAwMCwKKyAgICAweGY4YzMzZWZlMDAwMDAwMDAsIDB4ZjY1M2I1NWIwMDAwMDAwMCwgMHhhNWU1NTg2ZTAwMDAwMDAwLAorICAgIDB4YWI3NWQzY2IwMDAwMDAwMCwgMHgwMzg5ODMwNTAwMDAwMDAwLCAweDBkMTkwOGEwMDAwMDAwMDAsCisgICAgMHg1ZWFmZTU5NTAwMDAwMDAwLCAweDUwM2Y2ZTMwMDAwMDAwMDAsIDB4NGY1MDM1ZDIwMDAwMDAwMCwKKyAgICAweDQxYzBiZTc3MDAwMDAwMDAsIDB4MTI3NjUzNDIwMDAwMDAwMCwgMHgxY2U2ZDhlNzAwMDAwMDAwLAorICAgIDB4YjQxYTg4MjkwMDAwMDAwMCwgMHhiYThhMDM4YzAwMDAwMDAwLCAweGU5M2NlZWI5MDAwMDAwMDAsCisgICAgMHhlN2FjNjUxYzAwMDAwMDAwfSwKKyAgIHsweDAwMDAwMDAwMDAwMDAwMDAsIDB4OTdhNjFkZTcwMDAwMDAwMCwgMHg2ZjRiNGExNTAwMDAwMDAwLAorICAgIDB4ZjhlZDU3ZjIwMDAwMDAwMCwgMHhkZTk2OTQyYTAwMDAwMDAwLCAweDQ5MzA4OWNkMDAwMDAwMDAsCisgICAgMHhiMWRkZGUzZjAwMDAwMDAwLCAweDI2N2JjM2Q4MDAwMDAwMDAsIDB4YmMyZDI5NTUwMDAwMDAwMCwKKyAgICAweDJiOGIzNGIyMDAwMDAwMDAsIDB4ZDM2NjYzNDAwMDAwMDAwMCwgMHg0NGMwN2VhNzAwMDAwMDAwLAorICAgIDB4NjJiYmJkN2YwMDAwMDAwMCwgMHhmNTFkYTA5ODAwMDAwMDAwLCAweDBkZjBmNzZhMDAwMDAwMDAsCisgICAgMHg5YTU2ZWE4ZDAwMDAwMDAwLCAweDc4NWI1MmFhMDAwMDAwMDAsIDB4ZWZmZDRmNGQwMDAwMDAwMCwKKyAgICAweDE3MTAxOGJmMDAwMDAwMDAsIDB4ODBiNjA1NTgwMDAwMDAwMCwgMHhhNmNkYzY4MDAwMDAwMDAwLAorICAgIDB4MzE2YmRiNjcwMDAwMDAwMCwgMHhjOTg2OGM5NTAwMDAwMDAwLCAweDVlMjA5MTcyMDAwMDAwMDAsCisgICAgMHhjNDc2N2JmZjAwMDAwMDAwLCAweDUzZDA2NjE4MDAwMDAwMDAsIDB4YWIzZDMxZWEwMDAwMDAwMCwKKyAgICAweDNjOWIyYzBkMDAwMDAwMDAsIDB4MWFlMGVmZDUwMDAwMDAwMCwgMHg4ZDQ2ZjIzMjAwMDAwMDAwLAorICAgIDB4NzVhYmE1YzAwMDAwMDAwMCwgMHhlMjBkYjgyNzAwMDAwMDAwLCAweGIxYjBkNThmMDAwMDAwMDAsCisgICAgMHgyNjE2Yzg2ODAwMDAwMDAwLCAweGRlZmI5ZjlhMDAwMDAwMDAsIDB4NDk1ZDgyN2QwMDAwMDAwMCwKKyAgICAweDZmMjY0MWE1MDAwMDAwMDAsIDB4Zjg4MDVjNDIwMDAwMDAwMCwgMHgwMDZkMGJiMDAwMDAwMDAwLAorICAgIDB4OTdjYjE2NTcwMDAwMDAwMCwgMHgwZDlkZmNkYTAwMDAwMDAwLCAweDlhM2JlMTNkMDAwMDAwMDAsCisgICAgMHg2MmQ2YjZjZjAwMDAwMDAwLCAweGY1NzBhYjI4MDAwMDAwMDAsIDB4ZDMwYjY4ZjAwMDAwMDAwMCwKKyAgICAweDQ0YWQ3NTE3MDAwMDAwMDAsIDB4YmM0MDIyZTUwMDAwMDAwMCwgMHgyYmU2M2YwMjAwMDAwMDAwLAorICAgIDB4YzllYjg3MjUwMDAwMDAwMCwgMHg1ZTRkOWFjMjAwMDAwMDAwLCAweGE2YTBjZDMwMDAwMDAwMDAsCisgICAgMHgzMTA2ZDBkNzAwMDAwMDAwLCAweDE3N2QxMzBmMDAwMDAwMDAsIDB4ODBkYjBlZTgwMDAwMDAwMCwKKyAgICAweDc4MzY1OTFhMDAwMDAwMDAsIDB4ZWY5MDQ0ZmQwMDAwMDAwMCwgMHg3NWM2YWU3MDAwMDAwMDAwLAorICAgIDB4ZTI2MGIzOTcwMDAwMDAwMCwgMHgxYThkZTQ2NTAwMDAwMDAwLCAweDhkMmJmOTgyMDAwMDAwMDAsCisgICAgMHhhYjUwM2E1YTAwMDAwMDAwLCAweDNjZjYyN2JkMDAwMDAwMDAsIDB4YzQxYjcwNGYwMDAwMDAwMCwKKyAgICAweDUzYmQ2ZGE4MDAwMDAwMDAsIDB4MjM2N2RhYzQwMDAwMDAwMCwgMHhiNGMxYzcyMzAwMDAwMDAwLAorICAgIDB4NGMyYzkwZDEwMDAwMDAwMCwgMHhkYjhhOGQzNjAwMDAwMDAwLCAweGZkZjE0ZWVlMDAwMDAwMDAsCisgICAgMHg2YTU3NTMwOTAwMDAwMDAwLCAweDkyYmEwNGZiMDAwMDAwMDAsIDB4MDUxYzE5MWMwMDAwMDAwMCwKKyAgICAweDlmNGFmMzkxMDAwMDAwMDAsIDB4MDhlY2VlNzYwMDAwMDAwMCwgMHhmMDAxYjk4NDAwMDAwMDAwLAorICAgIDB4NjdhN2E0NjMwMDAwMDAwMCwgMHg0MWRjNjdiYjAwMDAwMDAwLCAweGQ2N2E3YTVjMDAwMDAwMDAsCisgICAgMHgyZTk3MmRhZTAwMDAwMDAwLCAweGI5MzEzMDQ5MDAwMDAwMDAsIDB4NWIzYzg4NmUwMDAwMDAwMCwKKyAgICAweGNjOWE5NTg5MDAwMDAwMDAsIDB4MzQ3N2MyN2IwMDAwMDAwMCwgMHhhM2QxZGY5YzAwMDAwMDAwLAorICAgIDB4ODVhYTFjNDQwMDAwMDAwMCwgMHgxMjBjMDFhMzAwMDAwMDAwLCAweGVhZTE1NjUxMDAwMDAwMDAsCisgICAgMHg3ZDQ3NGJiNjAwMDAwMDAwLCAweGU3MTFhMTNiMDAwMDAwMDAsIDB4NzBiN2JjZGMwMDAwMDAwMCwKKyAgICAweDg4NWFlYjJlMDAwMDAwMDAsIDB4MWZmY2Y2YzkwMDAwMDAwMCwgMHgzOTg3MzUxMTAwMDAwMDAwLAorICAgIDB4YWUyMTI4ZjYwMDAwMDAwMCwgMHg1NmNjN2YwNDAwMDAwMDAwLCAweGMxNmE2MmUzMDAwMDAwMDAsCisgICAgMHg5MmQ3MGY0YjAwMDAwMDAwLCAweDA1NzExMmFjMDAwMDAwMDAsIDB4ZmQ5YzQ1NWUwMDAwMDAwMCwKKyAgICAweDZhM2E1OGI5MDAwMDAwMDAsIDB4NGM0MTliNjEwMDAwMDAwMCwgMHhkYmU3ODY4NjAwMDAwMDAwLAorICAgIDB4MjMwYWQxNzQwMDAwMDAwMCwgMHhiNGFjY2M5MzAwMDAwMDAwLCAweDJlZmEyNjFlMDAwMDAwMDAsCisgICAgMHhiOTVjM2JmOTAwMDAwMDAwLCAweDQxYjE2YzBiMDAwMDAwMDAsIDB4ZDYxNzcxZWMwMDAwMDAwMCwKKyAgICAweGYwNmNiMjM0MDAwMDAwMDAsIDB4NjdjYWFmZDMwMDAwMDAwMCwgMHg5ZjI3ZjgyMTAwMDAwMDAwLAorICAgIDB4MDg4MWU1YzYwMDAwMDAwMCwgMHhlYThjNWRlMTAwMDAwMDAwLCAweDdkMmE0MDA2MDAwMDAwMDAsCisgICAgMHg4NWM3MTdmNDAwMDAwMDAwLCAweDEyNjEwYTEzMDAwMDAwMDAsIDB4MzQxYWM5Y2IwMDAwMDAwMCwKKyAgICAweGEzYmNkNDJjMDAwMDAwMDAsIDB4NWI1MTgzZGUwMDAwMDAwMCwgMHhjY2Y3OWUzOTAwMDAwMDAwLAorICAgIDB4NTZhMTc0YjQwMDAwMDAwMCwgMHhjMTA3Njk1MzAwMDAwMDAwLCAweDM5ZWEzZWExMDAwMDAwMDAsCisgICAgMHhhZTRjMjM0NjAwMDAwMDAwLCAweDg4MzdlMDllMDAwMDAwMDAsIDB4MWY5MWZkNzkwMDAwMDAwMCwKKyAgICAweGU3N2NhYThiMDAwMDAwMDAsIDB4NzBkYWI3NmMwMDAwMDAwMCwgMHgwN2M4YzU1MjAwMDAwMDAwLAorICAgIDB4OTA2ZWQ4YjUwMDAwMDAwMCwgMHg2ODgzOGY0NzAwMDAwMDAwLCAweGZmMjU5MmEwMDAwMDAwMDAsCisgICAgMHhkOTVlNTE3ODAwMDAwMDAwLCAweDRlZjg0YzlmMDAwMDAwMDAsIDB4YjYxNTFiNmQwMDAwMDAwMCwKKyAgICAweDIxYjMwNjhhMDAwMDAwMDAsIDB4YmJlNWVjMDcwMDAwMDAwMCwgMHgyYzQzZjFlMDAwMDAwMDAwLAorICAgIDB4ZDRhZWE2MTIwMDAwMDAwMCwgMHg0MzA4YmJmNTAwMDAwMDAwLCAweDY1NzM3ODJkMDAwMDAwMDAsCisgICAgMHhmMmQ1NjVjYTAwMDAwMDAwLCAweDBhMzgzMjM4MDAwMDAwMDAsIDB4OWQ5ZTJmZGYwMDAwMDAwMCwKKyAgICAweDdmOTM5N2Y4MDAwMDAwMDAsIDB4ZTgzNThhMWYwMDAwMDAwMCwgMHgxMGQ4ZGRlZDAwMDAwMDAwLAorICAgIDB4ODc3ZWMwMGEwMDAwMDAwMCwgMHhhMTA1MDNkMjAwMDAwMDAwLCAweDM2YTMxZTM1MDAwMDAwMDAsCisgICAgMHhjZTRlNDljNzAwMDAwMDAwLCAweDU5ZTg1NDIwMDAwMDAwMDAsIDB4YzNiZWJlYWQwMDAwMDAwMCwKKyAgICAweDU0MThhMzRhMDAwMDAwMDAsIDB4YWNmNWY0YjgwMDAwMDAwMCwgMHgzYjUzZTk1ZjAwMDAwMDAwLAorICAgIDB4MWQyODJhODcwMDAwMDAwMCwgMHg4YThlMzc2MDAwMDAwMDAwLCAweDcyNjM2MDkyMDAwMDAwMDAsCisgICAgMHhlNWM1N2Q3NTAwMDAwMDAwLCAweGI2NzgxMGRkMDAwMDAwMDAsIDB4MjFkZTBkM2EwMDAwMDAwMCwKKyAgICAweGQ5MzM1YWM4MDAwMDAwMDAsIDB4NGU5NTQ3MmYwMDAwMDAwMCwgMHg2OGVlODRmNzAwMDAwMDAwLAorICAgIDB4ZmY0ODk5MTAwMDAwMDAwMCwgMHgwN2E1Y2VlMjAwMDAwMDAwLCAweDkwMDNkMzA1MDAwMDAwMDAsCisgICAgMHgwYTU1Mzk4ODAwMDAwMDAwLCAweDlkZjMyNDZmMDAwMDAwMDAsIDB4NjUxZTczOWQwMDAwMDAwMCwKKyAgICAweGYyYjg2ZTdhMDAwMDAwMDAsIDB4ZDRjM2FkYTIwMDAwMDAwMCwgMHg0MzY1YjA0NTAwMDAwMDAwLAorICAgIDB4YmI4OGU3YjcwMDAwMDAwMCwgMHgyYzJlZmE1MDAwMDAwMDAwLCAweGNlMjM0Mjc3MDAwMDAwMDAsCisgICAgMHg1OTg1NWY5MDAwMDAwMDAwLCAweGExNjgwODYyMDAwMDAwMDAsIDB4MzZjZTE1ODUwMDAwMDAwMCwKKyAgICAweDEwYjVkNjVkMDAwMDAwMDAsIDB4ODcxM2NiYmEwMDAwMDAwMCwgMHg3ZmZlOWM0ODAwMDAwMDAwLAorICAgIDB4ZTg1ODgxYWYwMDAwMDAwMCwgMHg3MjBlNmIyMjAwMDAwMDAwLCAweGU1YTg3NmM1MDAwMDAwMDAsCisgICAgMHgxZDQ1MjEzNzAwMDAwMDAwLCAweDhhZTMzY2QwMDAwMDAwMDAsIDB4YWM5OGZmMDgwMDAwMDAwMCwKKyAgICAweDNiM2VlMmVmMDAwMDAwMDAsIDB4YzNkM2I1MWQwMDAwMDAwMCwgMHg1NDc1YThmYTAwMDAwMDAwLAorICAgIDB4MjRhZjFmOTYwMDAwMDAwMCwgMHhiMzA5MDI3MTAwMDAwMDAwLCAweDRiZTQ1NTgzMDAwMDAwMDAsCisgICAgMHhkYzQyNDg2NDAwMDAwMDAwLCAweGZhMzk4YmJjMDAwMDAwMDAsIDB4NmQ5Zjk2NWIwMDAwMDAwMCwKKyAgICAweDk1NzJjMWE5MDAwMDAwMDAsIDB4MDJkNGRjNGUwMDAwMDAwMCwgMHg5ODgyMzZjMzAwMDAwMDAwLAorICAgIDB4MGYyNDJiMjQwMDAwMDAwMCwgMHhmN2M5N2NkNjAwMDAwMDAwLCAweDYwNmY2MTMxMDAwMDAwMDAsCisgICAgMHg0NjE0YTJlOTAwMDAwMDAwLCAweGQxYjJiZjBlMDAwMDAwMDAsIDB4Mjk1ZmU4ZmMwMDAwMDAwMCwKKyAgICAweGJlZjlmNTFiMDAwMDAwMDAsIDB4NWNmNDRkM2MwMDAwMDAwMCwgMHhjYjUyNTBkYjAwMDAwMDAwLAorICAgIDB4MzNiZjA3MjkwMDAwMDAwMCwgMHhhNDE5MWFjZTAwMDAwMDAwLCAweDgyNjJkOTE2MDAwMDAwMDAsCisgICAgMHgxNWM0YzRmMTAwMDAwMDAwLCAweGVkMjk5MzAzMDAwMDAwMDAsIDB4N2E4ZjhlZTQwMDAwMDAwMCwKKyAgICAweGUwZDk2NDY5MDAwMDAwMDAsIDB4Nzc3Zjc5OGUwMDAwMDAwMCwgMHg4ZjkyMmU3YzAwMDAwMDAwLAorICAgIDB4MTgzNDMzOWIwMDAwMDAwMCwgMHgzZTRmZjA0MzAwMDAwMDAwLCAweGE5ZTllZGE0MDAwMDAwMDAsCisgICAgMHg1MTA0YmE1NjAwMDAwMDAwLCAweGM2YTJhN2IxMDAwMDAwMDAsIDB4OTUxZmNhMTkwMDAwMDAwMCwKKyAgICAweDAyYjlkN2ZlMDAwMDAwMDAsIDB4ZmE1NDgwMGMwMDAwMDAwMCwgMHg2ZGYyOWRlYjAwMDAwMDAwLAorICAgIDB4NGI4OTVlMzMwMDAwMDAwMCwgMHhkYzJmNDNkNDAwMDAwMDAwLCAweDI0YzIxNDI2MDAwMDAwMDAsCisgICAgMHhiMzY0MDljMTAwMDAwMDAwLCAweDI5MzJlMzRjMDAwMDAwMDAsIDB4YmU5NGZlYWIwMDAwMDAwMCwKKyAgICAweDQ2NzlhOTU5MDAwMDAwMDAsIDB4ZDFkZmI0YmUwMDAwMDAwMCwgMHhmN2E0Nzc2NjAwMDAwMDAwLAorICAgIDB4NjAwMjZhODEwMDAwMDAwMCwgMHg5OGVmM2Q3MzAwMDAwMDAwLCAweDBmNDkyMDk0MDAwMDAwMDAsCisgICAgMHhlZDQ0OThiMzAwMDAwMDAwLCAweDdhZTI4NTU0MDAwMDAwMDAsIDB4ODIwZmQyYTYwMDAwMDAwMCwKKyAgICAweDE1YTljZjQxMDAwMDAwMDAsIDB4MzNkMjBjOTkwMDAwMDAwMCwgMHhhNDc0MTE3ZTAwMDAwMDAwLAorICAgIDB4NWM5OTQ2OGMwMDAwMDAwMCwgMHhjYjNmNWI2YjAwMDAwMDAwLCAweDUxNjliMWU2MDAwMDAwMDAsCisgICAgMHhjNmNmYWMwMTAwMDAwMDAwLCAweDNlMjJmYmYzMDAwMDAwMDAsIDB4YTk4NGU2MTQwMDAwMDAwMCwKKyAgICAweDhmZmYyNWNjMDAwMDAwMDAsIDB4MTg1OTM4MmIwMDAwMDAwMCwgMHhlMGI0NmZkOTAwMDAwMDAwLAorICAgIDB4NzcxMjcyM2UwMDAwMDAwMH0sCisgICB7MHgwMDAwMDAwMDAwMDAwMDAwLCAweDQxMWI4YzZlMDAwMDAwMDAsIDB4ODIzNjE4ZGQwMDAwMDAwMCwKKyAgICAweGMzMmQ5NGIzMDAwMDAwMDAsIDB4NDU2YjQxNjEwMDAwMDAwMCwgMHgwNDcwY2QwZjAwMDAwMDAwLAorICAgIDB4Yzc1ZDU5YmMwMDAwMDAwMCwgMHg4NjQ2ZDVkMjAwMDAwMDAwLCAweDhhZDY4MmMyMDAwMDAwMDAsCisgICAgMHhjYmNkMGVhYzAwMDAwMDAwLCAweDA4ZTA5YTFmMDAwMDAwMDAsIDB4NDlmYjE2NzEwMDAwMDAwMCwKKyAgICAweGNmYmRjM2EzMDAwMDAwMDAsIDB4OGVhNjRmY2QwMDAwMDAwMCwgMHg0ZDhiZGI3ZTAwMDAwMDAwLAorICAgIDB4MGM5MDU3MTAwMDAwMDAwMCwgMHg1NWFiNzQ1ZTAwMDAwMDAwLCAweDE0YjBmODMwMDAwMDAwMDAsCisgICAgMHhkNzlkNmM4MzAwMDAwMDAwLCAweDk2ODZlMGVkMDAwMDAwMDAsIDB4MTBjMDM1M2YwMDAwMDAwMCwKKyAgICAweDUxZGJiOTUxMDAwMDAwMDAsIDB4OTJmNjJkZTIwMDAwMDAwMCwgMHhkM2VkYTE4YzAwMDAwMDAwLAorICAgIDB4ZGY3ZGY2OWMwMDAwMDAwMCwgMHg5ZTY2N2FmMjAwMDAwMDAwLCAweDVkNGJlZTQxMDAwMDAwMDAsCisgICAgMHgxYzUwNjIyZjAwMDAwMDAwLCAweDlhMTZiN2ZkMDAwMDAwMDAsIDB4ZGIwZDNiOTMwMDAwMDAwMCwKKyAgICAweDE4MjBhZjIwMDAwMDAwMDAsIDB4NTkzYjIzNGUwMDAwMDAwMCwgMHhhYTU2ZTliYzAwMDAwMDAwLAorICAgIDB4ZWI0ZDY1ZDIwMDAwMDAwMCwgMHgyODYwZjE2MTAwMDAwMDAwLCAweDY5N2I3ZDBmMDAwMDAwMDAsCisgICAgMHhlZjNkYThkZDAwMDAwMDAwLCAweGFlMjYyNGIzMDAwMDAwMDAsIDB4NmQwYmIwMDAwMDAwMDAwMCwKKyAgICAweDJjMTAzYzZlMDAwMDAwMDAsIDB4MjA4MDZiN2UwMDAwMDAwMCwgMHg2MTliZTcxMDAwMDAwMDAwLAorICAgIDB4YTJiNjczYTMwMDAwMDAwMCwgMHhlM2FkZmZjZDAwMDAwMDAwLCAweDY1ZWIyYTFmMDAwMDAwMDAsCisgICAgMHgyNGYwYTY3MTAwMDAwMDAwLCAweGU3ZGQzMmMyMDAwMDAwMDAsIDB4YTZjNmJlYWMwMDAwMDAwMCwKKyAgICAweGZmZmQ5ZGUyMDAwMDAwMDAsIDB4YmVlNjExOGMwMDAwMDAwMCwgMHg3ZGNiODUzZjAwMDAwMDAwLAorICAgIDB4M2NkMDA5NTEwMDAwMDAwMCwgMHhiYTk2ZGM4MzAwMDAwMDAwLCAweGZiOGQ1MGVkMDAwMDAwMDAsCisgICAgMHgzOGEwYzQ1ZTAwMDAwMDAwLCAweDc5YmI0ODMwMDAwMDAwMDAsIDB4NzUyYjFmMjAwMDAwMDAwMCwKKyAgICAweDM0MzA5MzRlMDAwMDAwMDAsIDB4ZjcxZDA3ZmQwMDAwMDAwMCwgMHhiNjA2OGI5MzAwMDAwMDAwLAorICAgIDB4MzA0MDVlNDEwMDAwMDAwMCwgMHg3MTViZDIyZjAwMDAwMDAwLCAweGIyNzY0NjljMDAwMDAwMDAsCisgICAgMHhmMzZkY2FmMjAwMDAwMDAwLCAweDE1YWJhM2EyMDAwMDAwMDAsIDB4NTRiMDJmY2MwMDAwMDAwMCwKKyAgICAweDk3OWRiYjdmMDAwMDAwMDAsIDB4ZDY4NjM3MTEwMDAwMDAwMCwgMHg1MGMwZTJjMzAwMDAwMDAwLAorICAgIDB4MTFkYjZlYWQwMDAwMDAwMCwgMHhkMmY2ZmExZTAwMDAwMDAwLCAweDkzZWQ3NjcwMDAwMDAwMDAsCisgICAgMHg5ZjdkMjE2MDAwMDAwMDAwLCAweGRlNjZhZDBlMDAwMDAwMDAsIDB4MWQ0YjM5YmQwMDAwMDAwMCwKKyAgICAweDVjNTBiNWQzMDAwMDAwMDAsIDB4ZGExNjYwMDEwMDAwMDAwMCwgMHg5YjBkZWM2ZjAwMDAwMDAwLAorICAgIDB4NTgyMDc4ZGMwMDAwMDAwMCwgMHgxOTNiZjRiMjAwMDAwMDAwLCAweDQwMDBkN2ZjMDAwMDAwMDAsCisgICAgMHgwMTFiNWI5MjAwMDAwMDAwLCAweGMyMzZjZjIxMDAwMDAwMDAsIDB4ODMyZDQzNGYwMDAwMDAwMCwKKyAgICAweDA1NmI5NjlkMDAwMDAwMDAsIDB4NDQ3MDFhZjMwMDAwMDAwMCwgMHg4NzVkOGU0MDAwMDAwMDAwLAorICAgIDB4YzY0NjAyMmUwMDAwMDAwMCwgMHhjYWQ2NTUzZTAwMDAwMDAwLCAweDhiY2RkOTUwMDAwMDAwMDAsCisgICAgMHg0OGUwNGRlMzAwMDAwMDAwLCAweDA5ZmJjMThkMDAwMDAwMDAsIDB4OGZiZDE0NWYwMDAwMDAwMCwKKyAgICAweGNlYTY5ODMxMDAwMDAwMDAsIDB4MGQ4YjBjODIwMDAwMDAwMCwgMHg0YzkwODBlYzAwMDAwMDAwLAorICAgIDB4YmZmZDRhMWUwMDAwMDAwMCwgMHhmZWU2YzY3MDAwMDAwMDAwLCAweDNkY2I1MmMzMDAwMDAwMDAsCisgICAgMHg3Y2QwZGVhZDAwMDAwMDAwLCAweGZhOTYwYjdmMDAwMDAwMDAsIDB4YmI4ZDg3MTEwMDAwMDAwMCwKKyAgICAweDc4YTAxM2EyMDAwMDAwMDAsIDB4MzliYjlmY2MwMDAwMDAwMCwgMHgzNTJiYzhkYzAwMDAwMDAwLAorICAgIDB4NzQzMDQ0YjIwMDAwMDAwMCwgMHhiNzFkZDAwMTAwMDAwMDAwLCAweGY2MDY1YzZmMDAwMDAwMDAsCisgICAgMHg3MDQwODliZDAwMDAwMDAwLCAweDMxNWIwNWQzMDAwMDAwMDAsIDB4ZjI3NjkxNjAwMDAwMDAwMCwKKyAgICAweGIzNmQxZDBlMDAwMDAwMDAsIDB4ZWE1NjNlNDAwMDAwMDAwMCwgMHhhYjRkYjIyZTAwMDAwMDAwLAorICAgIDB4Njg2MDI2OWQwMDAwMDAwMCwgMHgyOTdiYWFmMzAwMDAwMDAwLCAweGFmM2Q3ZjIxMDAwMDAwMDAsCisgICAgMHhlZTI2ZjM0ZjAwMDAwMDAwLCAweDJkMGI2N2ZjMDAwMDAwMDAsIDB4NmMxMGViOTIwMDAwMDAwMCwKKyAgICAweDYwODBiYzgyMDAwMDAwMDAsIDB4MjE5YjMwZWMwMDAwMDAwMCwgMHhlMmI2YTQ1ZjAwMDAwMDAwLAorICAgIDB4YTNhZDI4MzEwMDAwMDAwMCwgMHgyNWViZmRlMzAwMDAwMDAwLCAweDY0ZjA3MThkMDAwMDAwMDAsCisgICAgMHhhN2RkZTUzZTAwMDAwMDAwLCAweGU2YzY2OTUwMDAwMDAwMDAsIDB4NmI1MDM2OWUwMDAwMDAwMCwKKyAgICAweDJhNGJiYWYwMDAwMDAwMDAsIDB4ZTk2NjJlNDMwMDAwMDAwMCwgMHhhODdkYTIyZDAwMDAwMDAwLAorICAgIDB4MmUzYjc3ZmYwMDAwMDAwMCwgMHg2ZjIwZmI5MTAwMDAwMDAwLCAweGFjMGQ2ZjIyMDAwMDAwMDAsCisgICAgMHhlZDE2ZTM0YzAwMDAwMDAwLCAweGUxODZiNDVjMDAwMDAwMDAsIDB4YTA5ZDM4MzIwMDAwMDAwMCwKKyAgICAweDYzYjBhYzgxMDAwMDAwMDAsIDB4MjJhYjIwZWYwMDAwMDAwMCwgMHhhNGVkZjUzZDAwMDAwMDAwLAorICAgIDB4ZTVmNjc5NTMwMDAwMDAwMCwgMHgyNmRiZWRlMDAwMDAwMDAwLCAweDY3YzA2MThlMDAwMDAwMDAsCisgICAgMHgzZWZiNDJjMDAwMDAwMDAwLCAweDdmZTBjZWFlMDAwMDAwMDAsIDB4YmNjZDVhMWQwMDAwMDAwMCwKKyAgICAweGZkZDZkNjczMDAwMDAwMDAsIDB4N2I5MDAzYTEwMDAwMDAwMCwgMHgzYThiOGZjZjAwMDAwMDAwLAorICAgIDB4ZjlhNjFiN2MwMDAwMDAwMCwgMHhiOGJkOTcxMjAwMDAwMDAwLCAweGI0MmRjMDAyMDAwMDAwMDAsCisgICAgMHhmNTM2NGM2YzAwMDAwMDAwLCAweDM2MWJkOGRmMDAwMDAwMDAsIDB4NzcwMDU0YjEwMDAwMDAwMCwKKyAgICAweGYxNDY4MTYzMDAwMDAwMDAsIDB4YjA1ZDBkMGQwMDAwMDAwMCwgMHg3MzcwOTliZTAwMDAwMDAwLAorICAgIDB4MzI2YjE1ZDAwMDAwMDAwMCwgMHhjMTA2ZGYyMjAwMDAwMDAwLCAweDgwMWQ1MzRjMDAwMDAwMDAsCisgICAgMHg0MzMwYzdmZjAwMDAwMDAwLCAweDAyMmI0YjkxMDAwMDAwMDAsIDB4ODQ2ZDllNDMwMDAwMDAwMCwKKyAgICAweGM1NzYxMjJkMDAwMDAwMDAsIDB4MDY1Yjg2OWUwMDAwMDAwMCwgMHg0NzQwMGFmMDAwMDAwMDAwLAorICAgIDB4NGJkMDVkZTAwMDAwMDAwMCwgMHgwYWNiZDE4ZTAwMDAwMDAwLCAweGM5ZTY0NTNkMDAwMDAwMDAsCisgICAgMHg4OGZkYzk1MzAwMDAwMDAwLCAweDBlYmIxYzgxMDAwMDAwMDAsIDB4NGZhMDkwZWYwMDAwMDAwMCwKKyAgICAweDhjOGQwNDVjMDAwMDAwMDAsIDB4Y2Q5Njg4MzIwMDAwMDAwMCwgMHg5NGFkYWI3YzAwMDAwMDAwLAorICAgIDB4ZDViNjI3MTIwMDAwMDAwMCwgMHgxNjliYjNhMTAwMDAwMDAwLCAweDU3ODAzZmNmMDAwMDAwMDAsCisgICAgMHhkMWM2ZWExZDAwMDAwMDAwLCAweDkwZGQ2NjczMDAwMDAwMDAsIDB4NTNmMGYyYzAwMDAwMDAwMCwKKyAgICAweDEyZWI3ZWFlMDAwMDAwMDAsIDB4MWU3YjI5YmUwMDAwMDAwMCwgMHg1ZjYwYTVkMDAwMDAwMDAwLAorICAgIDB4OWM0ZDMxNjMwMDAwMDAwMCwgMHhkZDU2YmQwZDAwMDAwMDAwLCAweDViMTA2OGRmMDAwMDAwMDAsCisgICAgMHgxYTBiZTRiMTAwMDAwMDAwLCAweGQ5MjY3MDAyMDAwMDAwMDAsIDB4OTgzZGZjNmMwMDAwMDAwMCwKKyAgICAweDdlZmI5NTNjMDAwMDAwMDAsIDB4M2ZlMDE5NTIwMDAwMDAwMCwgMHhmY2NkOGRlMTAwMDAwMDAwLAorICAgIDB4YmRkNjAxOGYwMDAwMDAwMCwgMHgzYjkwZDQ1ZDAwMDAwMDAwLCAweDdhOGI1ODMzMDAwMDAwMDAsCisgICAgMHhiOWE2Y2M4MDAwMDAwMDAwLCAweGY4YmQ0MGVlMDAwMDAwMDAsIDB4ZjQyZDE3ZmUwMDAwMDAwMCwKKyAgICAweGI1MzY5YjkwMDAwMDAwMDAsIDB4NzYxYjBmMjMwMDAwMDAwMCwgMHgzNzAwODM0ZDAwMDAwMDAwLAorICAgIDB4YjE0NjU2OWYwMDAwMDAwMCwgMHhmMDVkZGFmMTAwMDAwMDAwLCAweDMzNzA0ZTQyMDAwMDAwMDAsCisgICAgMHg3MjZiYzIyYzAwMDAwMDAwLCAweDJiNTBlMTYyMDAwMDAwMDAsIDB4NmE0YjZkMGMwMDAwMDAwMCwKKyAgICAweGE5NjZmOWJmMDAwMDAwMDAsIDB4ZTg3ZDc1ZDEwMDAwMDAwMCwgMHg2ZTNiYTAwMzAwMDAwMDAwLAorICAgIDB4MmYyMDJjNmQwMDAwMDAwMCwgMHhlYzBkYjhkZTAwMDAwMDAwLCAweGFkMTYzNGIwMDAwMDAwMDAsCisgICAgMHhhMTg2NjNhMDAwMDAwMDAwLCAweGUwOWRlZmNlMDAwMDAwMDAsIDB4MjNiMDdiN2QwMDAwMDAwMCwKKyAgICAweDYyYWJmNzEzMDAwMDAwMDAsIDB4ZTRlZDIyYzEwMDAwMDAwMCwgMHhhNWY2YWVhZjAwMDAwMDAwLAorICAgIDB4NjZkYjNhMWMwMDAwMDAwMCwgMHgyN2MwYjY3MjAwMDAwMDAwLCAweGQ0YWQ3YzgwMDAwMDAwMDAsCisgICAgMHg5NWI2ZjBlZTAwMDAwMDAwLCAweDU2OWI2NDVkMDAwMDAwMDAsIDB4MTc4MGU4MzMwMDAwMDAwMCwKKyAgICAweDkxYzYzZGUxMDAwMDAwMDAsIDB4ZDBkZGIxOGYwMDAwMDAwMCwgMHgxM2YwMjUzYzAwMDAwMDAwLAorICAgIDB4NTJlYmE5NTIwMDAwMDAwMCwgMHg1ZTdiZmU0MjAwMDAwMDAwLCAweDFmNjA3MjJjMDAwMDAwMDAsCisgICAgMHhkYzRkZTY5ZjAwMDAwMDAwLCAweDlkNTY2YWYxMDAwMDAwMDAsIDB4MWIxMGJmMjMwMDAwMDAwMCwKKyAgICAweDVhMGIzMzRkMDAwMDAwMDAsIDB4OTkyNmE3ZmUwMDAwMDAwMCwgMHhkODNkMmI5MDAwMDAwMDAwLAorICAgIDB4ODEwNjA4ZGUwMDAwMDAwMCwgMHhjMDFkODRiMDAwMDAwMDAwLCAweDAzMzAxMDAzMDAwMDAwMDAsCisgICAgMHg0MjJiOWM2ZDAwMDAwMDAwLCAweGM0NmQ0OWJmMDAwMDAwMDAsIDB4ODU3NmM1ZDEwMDAwMDAwMCwKKyAgICAweDQ2NWI1MTYyMDAwMDAwMDAsIDB4MDc0MGRkMGMwMDAwMDAwMCwgMHgwYmQwOGExYzAwMDAwMDAwLAorICAgIDB4NGFjYjA2NzIwMDAwMDAwMCwgMHg4OWU2OTJjMTAwMDAwMDAwLCAweGM4ZmQxZWFmMDAwMDAwMDAsCisgICAgMHg0ZWJiY2I3ZDAwMDAwMDAwLCAweDBmYTA0NzEzMDAwMDAwMDAsIDB4Y2M4ZGQzYTAwMDAwMDAwMCwKKyAgICAweDhkOTY1ZmNlMDAwMDAwMDB9LAorICAgezB4MDAwMDAwMDAwMDAwMDAwMCwgMHgxZGZkYjUwMTAwMDAwMDAwLCAweDNhZmE2YjAzMDAwMDAwMDAsCisgICAgMHgyNzA3ZGUwMjAwMDAwMDAwLCAweDc0ZjRkNzA2MDAwMDAwMDAsIDB4NjkwOTYyMDcwMDAwMDAwMCwKKyAgICAweDRlMGViYzA1MDAwMDAwMDAsIDB4NTNmMzA5MDQwMDAwMDAwMCwgMHhlOGU4YWYwZDAwMDAwMDAwLAorICAgIDB4ZjUxNTFhMGMwMDAwMDAwMCwgMHhkMjEyYzQwZTAwMDAwMDAwLCAweGNmZWY3MTBmMDAwMDAwMDAsCisgICAgMHg5YzFjNzgwYjAwMDAwMDAwLCAweDgxZTFjZDBhMDAwMDAwMDAsIDB4YTZlNjEzMDgwMDAwMDAwMCwKKyAgICAweGJiMWJhNjA5MDAwMDAwMDAsIDB4ZDBkMTVmMWIwMDAwMDAwMCwgMHhjZDJjZWExYTAwMDAwMDAwLAorICAgIDB4ZWEyYjM0MTgwMDAwMDAwMCwgMHhmN2Q2ODExOTAwMDAwMDAwLCAweGE0MjU4ODFkMDAwMDAwMDAsCisgICAgMHhiOWQ4M2QxYzAwMDAwMDAwLCAweDllZGZlMzFlMDAwMDAwMDAsIDB4ODMyMjU2MWYwMDAwMDAwMCwKKyAgICAweDM4MzlmMDE2MDAwMDAwMDAsIDB4MjVjNDQ1MTcwMDAwMDAwMCwgMHgwMmMzOWIxNTAwMDAwMDAwLAorICAgIDB4MWYzZTJlMTQwMDAwMDAwMCwgMHg0Y2NkMjcxMDAwMDAwMDAwLCAweDUxMzA5MjExMDAwMDAwMDAsCisgICAgMHg3NjM3NGMxMzAwMDAwMDAwLCAweDZiY2FmOTEyMDAwMDAwMDAsIDB4YTBhM2JmMzYwMDAwMDAwMCwKKyAgICAweGJkNWUwYTM3MDAwMDAwMDAsIDB4OWE1OWQ0MzUwMDAwMDAwMCwgMHg4N2E0NjEzNDAwMDAwMDAwLAorICAgIDB4ZDQ1NzY4MzAwMDAwMDAwMCwgMHhjOWFhZGQzMTAwMDAwMDAwLCAweGVlYWQwMzMzMDAwMDAwMDAsCisgICAgMHhmMzUwYjYzMjAwMDAwMDAwLCAweDQ4NGIxMDNiMDAwMDAwMDAsIDB4NTViNmE1M2EwMDAwMDAwMCwKKyAgICAweDcyYjE3YjM4MDAwMDAwMDAsIDB4NmY0Y2NlMzkwMDAwMDAwMCwgMHgzY2JmYzczZDAwMDAwMDAwLAorICAgIDB4MjE0MjcyM2MwMDAwMDAwMCwgMHgwNjQ1YWMzZTAwMDAwMDAwLCAweDFiYjgxOTNmMDAwMDAwMDAsCisgICAgMHg3MDcyZTAyZDAwMDAwMDAwLCAweDZkOGY1NTJjMDAwMDAwMDAsIDB4NGE4ODhiMmUwMDAwMDAwMCwKKyAgICAweDU3NzUzZTJmMDAwMDAwMDAsIDB4MDQ4NjM3MmIwMDAwMDAwMCwgMHgxOTdiODIyYTAwMDAwMDAwLAorICAgIDB4M2U3YzVjMjgwMDAwMDAwMCwgMHgyMzgxZTkyOTAwMDAwMDAwLCAweDk4OWE0ZjIwMDAwMDAwMDAsCisgICAgMHg4NTY3ZmEyMTAwMDAwMDAwLCAweGEyNjAyNDIzMDAwMDAwMDAsIDB4YmY5ZDkxMjIwMDAwMDAwMCwKKyAgICAweGVjNmU5ODI2MDAwMDAwMDAsIDB4ZjE5MzJkMjcwMDAwMDAwMCwgMHhkNjk0ZjMyNTAwMDAwMDAwLAorICAgIDB4Y2I2OTQ2MjQwMDAwMDAwMCwgMHg0MDQ3N2Y2ZDAwMDAwMDAwLCAweDVkYmFjYTZjMDAwMDAwMDAsCisgICAgMHg3YWJkMTQ2ZTAwMDAwMDAwLCAweDY3NDBhMTZmMDAwMDAwMDAsIDB4MzRiM2E4NmIwMDAwMDAwMCwKKyAgICAweDI5NGUxZDZhMDAwMDAwMDAsIDB4MGU0OWMzNjgwMDAwMDAwMCwgMHgxM2I0NzY2OTAwMDAwMDAwLAorICAgIDB4YThhZmQwNjAwMDAwMDAwMCwgMHhiNTUyNjU2MTAwMDAwMDAwLCAweDkyNTViYjYzMDAwMDAwMDAsCisgICAgMHg4ZmE4MGU2MjAwMDAwMDAwLCAweGRjNWIwNzY2MDAwMDAwMDAsIDB4YzFhNmIyNjcwMDAwMDAwMCwKKyAgICAweGU2YTE2YzY1MDAwMDAwMDAsIDB4ZmI1Y2Q5NjQwMDAwMDAwMCwgMHg5MDk2MjA3NjAwMDAwMDAwLAorICAgIDB4OGQ2Yjk1NzcwMDAwMDAwMCwgMHhhYTZjNGI3NTAwMDAwMDAwLCAweGI3OTFmZTc0MDAwMDAwMDAsCisgICAgMHhlNDYyZjc3MDAwMDAwMDAwLCAweGY5OWY0MjcxMDAwMDAwMDAsIDB4ZGU5ODljNzMwMDAwMDAwMCwKKyAgICAweGMzNjUyOTcyMDAwMDAwMDAsIDB4Nzg3ZThmN2IwMDAwMDAwMCwgMHg2NTgzM2E3YTAwMDAwMDAwLAorICAgIDB4NDI4NGU0NzgwMDAwMDAwMCwgMHg1Zjc5NTE3OTAwMDAwMDAwLCAweDBjOGE1ODdkMDAwMDAwMDAsCisgICAgMHgxMTc3ZWQ3YzAwMDAwMDAwLCAweDM2NzAzMzdlMDAwMDAwMDAsIDB4MmI4ZDg2N2YwMDAwMDAwMCwKKyAgICAweGUwZTRjMDViMDAwMDAwMDAsIDB4ZmQxOTc1NWEwMDAwMDAwMCwgMHhkYTFlYWI1ODAwMDAwMDAwLAorICAgIDB4YzdlMzFlNTkwMDAwMDAwMCwgMHg5NDEwMTc1ZDAwMDAwMDAwLCAweDg5ZWRhMjVjMDAwMDAwMDAsCisgICAgMHhhZWVhN2M1ZTAwMDAwMDAwLCAweGIzMTdjOTVmMDAwMDAwMDAsIDB4MDgwYzZmNTYwMDAwMDAwMCwKKyAgICAweDE1ZjFkYTU3MDAwMDAwMDAsIDB4MzJmNjA0NTUwMDAwMDAwMCwgMHgyZjBiYjE1NDAwMDAwMDAwLAorICAgIDB4N2NmOGI4NTAwMDAwMDAwMCwgMHg2MTA1MGQ1MTAwMDAwMDAwLCAweDQ2MDJkMzUzMDAwMDAwMDAsCisgICAgMHg1YmZmNjY1MjAwMDAwMDAwLCAweDMwMzU5ZjQwMDAwMDAwMDAsIDB4MmRjODJhNDEwMDAwMDAwMCwKKyAgICAweDBhY2ZmNDQzMDAwMDAwMDAsIDB4MTczMjQxNDIwMDAwMDAwMCwgMHg0NGMxNDg0NjAwMDAwMDAwLAorICAgIDB4NTkzY2ZkNDcwMDAwMDAwMCwgMHg3ZTNiMjM0NTAwMDAwMDAwLCAweDYzYzY5NjQ0MDAwMDAwMDAsCisgICAgMHhkOGRkMzA0ZDAwMDAwMDAwLCAweGM1MjA4NTRjMDAwMDAwMDAsIDB4ZTIyNzViNGUwMDAwMDAwMCwKKyAgICAweGZmZGFlZTRmMDAwMDAwMDAsIDB4YWMyOWU3NGIwMDAwMDAwMCwgMHhiMWQ0NTI0YTAwMDAwMDAwLAorICAgIDB4OTZkMzhjNDgwMDAwMDAwMCwgMHg4YjJlMzk0OTAwMDAwMDAwLCAweDgwOGVmZWRhMDAwMDAwMDAsCisgICAgMHg5ZDczNGJkYjAwMDAwMDAwLCAweGJhNzQ5NWQ5MDAwMDAwMDAsIDB4YTc4OTIwZDgwMDAwMDAwMCwKKyAgICAweGY0N2EyOWRjMDAwMDAwMDAsIDB4ZTk4NzljZGQwMDAwMDAwMCwgMHhjZTgwNDJkZjAwMDAwMDAwLAorICAgIDB4ZDM3ZGY3ZGUwMDAwMDAwMCwgMHg2ODY2NTFkNzAwMDAwMDAwLCAweDc1OWJlNGQ2MDAwMDAwMDAsCisgICAgMHg1MjljM2FkNDAwMDAwMDAwLCAweDRmNjE4ZmQ1MDAwMDAwMDAsIDB4MWM5Mjg2ZDEwMDAwMDAwMCwKKyAgICAweDAxNmYzM2QwMDAwMDAwMDAsIDB4MjY2OGVkZDIwMDAwMDAwMCwgMHgzYjk1NThkMzAwMDAwMDAwLAorICAgIDB4NTA1ZmExYzEwMDAwMDAwMCwgMHg0ZGEyMTRjMDAwMDAwMDAwLCAweDZhYTVjYWMyMDAwMDAwMDAsCisgICAgMHg3NzU4N2ZjMzAwMDAwMDAwLCAweDI0YWI3NmM3MDAwMDAwMDAsIDB4Mzk1NmMzYzYwMDAwMDAwMCwKKyAgICAweDFlNTExZGM0MDAwMDAwMDAsIDB4MDNhY2E4YzUwMDAwMDAwMCwgMHhiOGI3MGVjYzAwMDAwMDAwLAorICAgIDB4YTU0YWJiY2QwMDAwMDAwMCwgMHg4MjRkNjVjZjAwMDAwMDAwLCAweDlmYjBkMGNlMDAwMDAwMDAsCisgICAgMHhjYzQzZDljYTAwMDAwMDAwLCAweGQxYmU2Y2NiMDAwMDAwMDAsIDB4ZjZiOWIyYzkwMDAwMDAwMCwKKyAgICAweGViNDQwN2M4MDAwMDAwMDAsIDB4MjAyZDQxZWMwMDAwMDAwMCwgMHgzZGQwZjRlZDAwMDAwMDAwLAorICAgIDB4MWFkNzJhZWYwMDAwMDAwMCwgMHgwNzJhOWZlZTAwMDAwMDAwLCAweDU0ZDk5NmVhMDAwMDAwMDAsCisgICAgMHg0OTI0MjNlYjAwMDAwMDAwLCAweDZlMjNmZGU5MDAwMDAwMDAsIDB4NzNkZTQ4ZTgwMDAwMDAwMCwKKyAgICAweGM4YzVlZWUxMDAwMDAwMDAsIDB4ZDUzODViZTAwMDAwMDAwMCwgMHhmMjNmODVlMjAwMDAwMDAwLAorICAgIDB4ZWZjMjMwZTMwMDAwMDAwMCwgMHhiYzMxMzllNzAwMDAwMDAwLCAweGExY2M4Y2U2MDAwMDAwMDAsCisgICAgMHg4NmNiNTJlNDAwMDAwMDAwLCAweDliMzZlN2U1MDAwMDAwMDAsIDB4ZjBmYzFlZjcwMDAwMDAwMCwKKyAgICAweGVkMDFhYmY2MDAwMDAwMDAsIDB4Y2EwNjc1ZjQwMDAwMDAwMCwgMHhkN2ZiYzBmNTAwMDAwMDAwLAorICAgIDB4ODQwOGM5ZjEwMDAwMDAwMCwgMHg5OWY1N2NmMDAwMDAwMDAwLCAweGJlZjJhMmYyMDAwMDAwMDAsCisgICAgMHhhMzBmMTdmMzAwMDAwMDAwLCAweDE4MTRiMWZhMDAwMDAwMDAsIDB4MDVlOTA0ZmIwMDAwMDAwMCwKKyAgICAweDIyZWVkYWY5MDAwMDAwMDAsIDB4M2YxMzZmZjgwMDAwMDAwMCwgMHg2Y2UwNjZmYzAwMDAwMDAwLAorICAgIDB4NzExZGQzZmQwMDAwMDAwMCwgMHg1NjFhMGRmZjAwMDAwMDAwLCAweDRiZTdiOGZlMDAwMDAwMDAsCisgICAgMHhjMGM5ODFiNzAwMDAwMDAwLCAweGRkMzQzNGI2MDAwMDAwMDAsIDB4ZmEzM2VhYjQwMDAwMDAwMCwKKyAgICAweGU3Y2U1ZmI1MDAwMDAwMDAsIDB4YjQzZDU2YjEwMDAwMDAwMCwgMHhhOWMwZTNiMDAwMDAwMDAwLAorICAgIDB4OGVjNzNkYjIwMDAwMDAwMCwgMHg5MzNhODhiMzAwMDAwMDAwLCAweDI4MjEyZWJhMDAwMDAwMDAsCisgICAgMHgzNWRjOWJiYjAwMDAwMDAwLCAweDEyZGI0NWI5MDAwMDAwMDAsIDB4MGYyNmYwYjgwMDAwMDAwMCwKKyAgICAweDVjZDVmOWJjMDAwMDAwMDAsIDB4NDEyODRjYmQwMDAwMDAwMCwgMHg2NjJmOTJiZjAwMDAwMDAwLAorICAgIDB4N2JkMjI3YmUwMDAwMDAwMCwgMHgxMDE4ZGVhYzAwMDAwMDAwLCAweDBkZTU2YmFkMDAwMDAwMDAsCisgICAgMHgyYWUyYjVhZjAwMDAwMDAwLCAweDM3MWYwMGFlMDAwMDAwMDAsIDB4NjRlYzA5YWEwMDAwMDAwMCwKKyAgICAweDc5MTFiY2FiMDAwMDAwMDAsIDB4NWUxNjYyYTkwMDAwMDAwMCwgMHg0M2ViZDdhODAwMDAwMDAwLAorICAgIDB4ZjhmMDcxYTEwMDAwMDAwMCwgMHhlNTBkYzRhMDAwMDAwMDAwLCAweGMyMGExYWEyMDAwMDAwMDAsCisgICAgMHhkZmY3YWZhMzAwMDAwMDAwLCAweDhjMDRhNmE3MDAwMDAwMDAsIDB4OTFmOTEzYTYwMDAwMDAwMCwKKyAgICAweGI2ZmVjZGE0MDAwMDAwMDAsIDB4YWIwMzc4YTUwMDAwMDAwMCwgMHg2MDZhM2U4MTAwMDAwMDAwLAorICAgIDB4N2Q5NzhiODAwMDAwMDAwMCwgMHg1YTkwNTU4MjAwMDAwMDAwLCAweDQ3NmRlMDgzMDAwMDAwMDAsCisgICAgMHgxNDllZTk4NzAwMDAwMDAwLCAweDA5NjM1Yzg2MDAwMDAwMDAsIDB4MmU2NDgyODQwMDAwMDAwMCwKKyAgICAweDMzOTkzNzg1MDAwMDAwMDAsIDB4ODg4MjkxOGMwMDAwMDAwMCwgMHg5NTdmMjQ4ZDAwMDAwMDAwLAorICAgIDB4YjI3OGZhOGYwMDAwMDAwMCwgMHhhZjg1NGY4ZTAwMDAwMDAwLCAweGZjNzY0NjhhMDAwMDAwMDAsCisgICAgMHhlMThiZjM4YjAwMDAwMDAwLCAweGM2OGMyZDg5MDAwMDAwMDAsIDB4ZGI3MTk4ODgwMDAwMDAwMCwKKyAgICAweGIwYmI2MTlhMDAwMDAwMDAsIDB4YWQ0NmQ0OWIwMDAwMDAwMCwgMHg4YTQxMGE5OTAwMDAwMDAwLAorICAgIDB4OTdiY2JmOTgwMDAwMDAwMCwgMHhjNDRmYjY5YzAwMDAwMDAwLCAweGQ5YjIwMzlkMDAwMDAwMDAsCisgICAgMHhmZWI1ZGQ5ZjAwMDAwMDAwLCAweGUzNDg2ODllMDAwMDAwMDAsIDB4NTg1M2NlOTcwMDAwMDAwMCwKKyAgICAweDQ1YWU3Yjk2MDAwMDAwMDAsIDB4NjJhOWE1OTQwMDAwMDAwMCwgMHg3ZjU0MTA5NTAwMDAwMDAwLAorICAgIDB4MmNhNzE5OTEwMDAwMDAwMCwgMHgzMTVhYWM5MDAwMDAwMDAwLCAweDE2NWQ3MjkyMDAwMDAwMDAsCisgICAgMHgwYmEwYzc5MzAwMDAwMDAwfSwKKyAgIHsweDAwMDAwMDAwMDAwMDAwMDAsIDB4MjRkOTA3NjMwMDAwMDAwMCwgMHg0OGIyMGZjNjAwMDAwMDAwLAorICAgIDB4NmM2YjA4YTUwMDAwMDAwMCwgMHhkMTYyNmU1NzAwMDAwMDAwLCAweGY1YmI2OTM0MDAwMDAwMDAsCisgICAgMHg5OWQwNjE5MTAwMDAwMDAwLCAweGJkMDk2NmYyMDAwMDAwMDAsIDB4YTJjNWRjYWUwMDAwMDAwMCwKKyAgICAweDg2MWNkYmNkMDAwMDAwMDAsIDB4ZWE3N2QzNjgwMDAwMDAwMCwgMHhjZWFlZDQwYjAwMDAwMDAwLAorICAgIDB4NzNhN2IyZjkwMDAwMDAwMCwgMHg1NzdlYjU5YTAwMDAwMDAwLCAweDNiMTViZDNmMDAwMDAwMDAsCisgICAgMHgxZmNjYmE1YzAwMDAwMDAwLCAweDA1OGRjODg2MDAwMDAwMDAsIDB4MjE1NGNmZTUwMDAwMDAwMCwKKyAgICAweDRkM2ZjNzQwMDAwMDAwMDAsIDB4NjllNmMwMjMwMDAwMDAwMCwgMHhkNGVmYTZkMTAwMDAwMDAwLAorICAgIDB4ZjAzNmExYjIwMDAwMDAwMCwgMHg5YzVkYTkxNzAwMDAwMDAwLCAweGI4ODRhZTc0MDAwMDAwMDAsCisgICAgMHhhNzQ4MTQyODAwMDAwMDAwLCAweDgzOTExMzRiMDAwMDAwMDAsIDB4ZWZmYTFiZWUwMDAwMDAwMCwKKyAgICAweGNiMjMxYzhkMDAwMDAwMDAsIDB4NzYyYTdhN2YwMDAwMDAwMCwgMHg1MmYzN2QxYzAwMDAwMDAwLAorICAgIDB4M2U5ODc1YjkwMDAwMDAwMCwgMHgxYTQxNzJkYTAwMDAwMDAwLCAweDRiMWNlMGQ2MDAwMDAwMDAsCisgICAgMHg2ZmM1ZTdiNTAwMDAwMDAwLCAweDAzYWVlZjEwMDAwMDAwMDAsIDB4Mjc3N2U4NzMwMDAwMDAwMCwKKyAgICAweDlhN2U4ZTgxMDAwMDAwMDAsIDB4YmVhNzg5ZTIwMDAwMDAwMCwgMHhkMmNjODE0NzAwMDAwMDAwLAorICAgIDB4ZjYxNTg2MjQwMDAwMDAwMCwgMHhlOWQ5M2M3ODAwMDAwMDAwLCAweGNkMDAzYjFiMDAwMDAwMDAsCisgICAgMHhhMTZiMzNiZTAwMDAwMDAwLCAweDg1YjIzNGRkMDAwMDAwMDAsIDB4MzhiYjUyMmYwMDAwMDAwMCwKKyAgICAweDFjNjI1NTRjMDAwMDAwMDAsIDB4NzAwOTVkZTkwMDAwMDAwMCwgMHg1NGQwNWE4YTAwMDAwMDAwLAorICAgIDB4NGU5MTI4NTAwMDAwMDAwMCwgMHg2YTQ4MmYzMzAwMDAwMDAwLCAweDA2MjMyNzk2MDAwMDAwMDAsCisgICAgMHgyMmZhMjBmNTAwMDAwMDAwLCAweDlmZjM0NjA3MDAwMDAwMDAsIDB4YmIyYTQxNjQwMDAwMDAwMCwKKyAgICAweGQ3NDE0OWMxMDAwMDAwMDAsIDB4ZjM5ODRlYTIwMDAwMDAwMCwgMHhlYzU0ZjRmZTAwMDAwMDAwLAorICAgIDB4Yzg4ZGYzOWQwMDAwMDAwMCwgMHhhNGU2ZmIzODAwMDAwMDAwLCAweDgwM2ZmYzViMDAwMDAwMDAsCisgICAgMHgzZDM2OWFhOTAwMDAwMDAwLCAweDE5ZWY5ZGNhMDAwMDAwMDAsIDB4NzU4NDk1NmYwMDAwMDAwMCwKKyAgICAweDUxNWQ5MjBjMDAwMDAwMDAsIDB4ZDczZWIxNzYwMDAwMDAwMCwgMHhmM2U3YjYxNTAwMDAwMDAwLAorICAgIDB4OWY4Y2JlYjAwMDAwMDAwMCwgMHhiYjU1YjlkMzAwMDAwMDAwLCAweDA2NWNkZjIxMDAwMDAwMDAsCisgICAgMHgyMjg1ZDg0MjAwMDAwMDAwLCAweDRlZWVkMGU3MDAwMDAwMDAsIDB4NmEzN2Q3ODQwMDAwMDAwMCwKKyAgICAweDc1ZmI2ZGQ4MDAwMDAwMDAsIDB4NTEyMjZhYmIwMDAwMDAwMCwgMHgzZDQ5NjIxZTAwMDAwMDAwLAorICAgIDB4MTk5MDY1N2QwMDAwMDAwMCwgMHhhNDk5MDM4ZjAwMDAwMDAwLCAweDgwNDAwNGVjMDAwMDAwMDAsCisgICAgMHhlYzJiMGM0OTAwMDAwMDAwLCAweGM4ZjIwYjJhMDAwMDAwMDAsIDB4ZDJiMzc5ZjAwMDAwMDAwMCwKKyAgICAweGY2NmE3ZTkzMDAwMDAwMDAsIDB4OWEwMTc2MzYwMDAwMDAwMCwgMHhiZWQ4NzE1NTAwMDAwMDAwLAorICAgIDB4MDNkMTE3YTcwMDAwMDAwMCwgMHgyNzA4MTBjNDAwMDAwMDAwLCAweDRiNjMxODYxMDAwMDAwMDAsCisgICAgMHg2ZmJhMWYwMjAwMDAwMDAwLCAweDcwNzZhNTVlMDAwMDAwMDAsIDB4NTRhZmEyM2QwMDAwMDAwMCwKKyAgICAweDM4YzRhYTk4MDAwMDAwMDAsIDB4MWMxZGFkZmIwMDAwMDAwMCwgMHhhMTE0Y2IwOTAwMDAwMDAwLAorICAgIDB4ODVjZGNjNmEwMDAwMDAwMCwgMHhlOWE2YzRjZjAwMDAwMDAwLCAweGNkN2ZjM2FjMDAwMDAwMDAsCisgICAgMHg5YzIyNTFhMDAwMDAwMDAwLCAweGI4ZmI1NmMzMDAwMDAwMDAsIDB4ZDQ5MDVlNjYwMDAwMDAwMCwKKyAgICAweGYwNDk1OTA1MDAwMDAwMDAsIDB4NGQ0MDNmZjcwMDAwMDAwMCwgMHg2OTk5Mzg5NDAwMDAwMDAwLAorICAgIDB4MDVmMjMwMzEwMDAwMDAwMCwgMHgyMTJiMzc1MjAwMDAwMDAwLCAweDNlZTc4ZDBlMDAwMDAwMDAsCisgICAgMHgxYTNlOGE2ZDAwMDAwMDAwLCAweDc2NTU4MmM4MDAwMDAwMDAsIDB4NTI4Yzg1YWIwMDAwMDAwMCwKKyAgICAweGVmODVlMzU5MDAwMDAwMDAsIDB4Y2I1Y2U0M2EwMDAwMDAwMCwgMHhhNzM3ZWM5ZjAwMDAwMDAwLAorICAgIDB4ODNlZWViZmMwMDAwMDAwMCwgMHg5OWFmOTkyNjAwMDAwMDAwLCAweGJkNzY5ZTQ1MDAwMDAwMDAsCisgICAgMHhkMTFkOTZlMDAwMDAwMDAwLCAweGY1YzQ5MTgzMDAwMDAwMDAsIDB4NDhjZGY3NzEwMDAwMDAwMCwKKyAgICAweDZjMTRmMDEyMDAwMDAwMDAsIDB4MDA3ZmY4YjcwMDAwMDAwMCwgMHgyNGE2ZmZkNDAwMDAwMDAwLAorICAgIDB4M2I2YTQ1ODgwMDAwMDAwMCwgMHgxZmIzNDJlYjAwMDAwMDAwLCAweDczZDg0YTRlMDAwMDAwMDAsCisgICAgMHg1NzAxNGQyZDAwMDAwMDAwLCAweGVhMDgyYmRmMDAwMDAwMDAsIDB4Y2VkMTJjYmMwMDAwMDAwMCwKKyAgICAweGEyYmEyNDE5MDAwMDAwMDAsIDB4ODY2MzIzN2EwMDAwMDAwMCwgMHhhZTdkNjJlZDAwMDAwMDAwLAorICAgIDB4OGFhNDY1OGUwMDAwMDAwMCwgMHhlNmNmNmQyYjAwMDAwMDAwLCAweGMyMTY2YTQ4MDAwMDAwMDAsCisgICAgMHg3ZjFmMGNiYTAwMDAwMDAwLCAweDViYzYwYmQ5MDAwMDAwMDAsIDB4MzdhZDAzN2MwMDAwMDAwMCwKKyAgICAweDEzNzQwNDFmMDAwMDAwMDAsIDB4MGNiOGJlNDMwMDAwMDAwMCwgMHgyODYxYjkyMDAwMDAwMDAwLAorICAgIDB4NDQwYWIxODUwMDAwMDAwMCwgMHg2MGQzYjZlNjAwMDAwMDAwLCAweGRkZGFkMDE0MDAwMDAwMDAsCisgICAgMHhmOTAzZDc3NzAwMDAwMDAwLCAweDk1NjhkZmQyMDAwMDAwMDAsIDB4YjFiMWQ4YjEwMDAwMDAwMCwKKyAgICAweGFiZjBhYTZiMDAwMDAwMDAsIDB4OGYyOWFkMDgwMDAwMDAwMCwgMHhlMzQyYTVhZDAwMDAwMDAwLAorICAgIDB4Yzc5YmEyY2UwMDAwMDAwMCwgMHg3YTkyYzQzYzAwMDAwMDAwLCAweDVlNGJjMzVmMDAwMDAwMDAsCisgICAgMHgzMjIwY2JmYTAwMDAwMDAwLCAweDE2ZjljYzk5MDAwMDAwMDAsIDB4MDkzNTc2YzUwMDAwMDAwMCwKKyAgICAweDJkZWM3MWE2MDAwMDAwMDAsIDB4NDE4Nzc5MDMwMDAwMDAwMCwgMHg2NTVlN2U2MDAwMDAwMDAwLAorICAgIDB4ZDg1NzE4OTIwMDAwMDAwMCwgMHhmYzhlMWZmMTAwMDAwMDAwLCAweDkwZTUxNzU0MDAwMDAwMDAsCisgICAgMHhiNDNjMTAzNzAwMDAwMDAwLCAweGU1NjE4MjNiMDAwMDAwMDAsIDB4YzFiODg1NTgwMDAwMDAwMCwKKyAgICAweGFkZDM4ZGZkMDAwMDAwMDAsIDB4ODkwYThhOWUwMDAwMDAwMCwgMHgzNDAzZWM2YzAwMDAwMDAwLAorICAgIDB4MTBkYWViMGYwMDAwMDAwMCwgMHg3Y2IxZTNhYTAwMDAwMDAwLCAweDU4NjhlNGM5MDAwMDAwMDAsCisgICAgMHg0N2E0NWU5NTAwMDAwMDAwLCAweDYzN2Q1OWY2MDAwMDAwMDAsIDB4MGYxNjUxNTMwMDAwMDAwMCwKKyAgICAweDJiY2Y1NjMwMDAwMDAwMDAsIDB4OTZjNjMwYzIwMDAwMDAwMCwgMHhiMjFmMzdhMTAwMDAwMDAwLAorICAgIDB4ZGU3NDNmMDQwMDAwMDAwMCwgMHhmYWFkMzg2NzAwMDAwMDAwLCAweGUwZWM0YWJkMDAwMDAwMDAsCisgICAgMHhjNDM1NGRkZTAwMDAwMDAwLCAweGE4NWU0NTdiMDAwMDAwMDAsIDB4OGM4NzQyMTgwMDAwMDAwMCwKKyAgICAweDMxOGUyNGVhMDAwMDAwMDAsIDB4MTU1NzIzODkwMDAwMDAwMCwgMHg3OTNjMmIyYzAwMDAwMDAwLAorICAgIDB4NWRlNTJjNGYwMDAwMDAwMCwgMHg0MjI5OTYxMzAwMDAwMDAwLCAweDY2ZjA5MTcwMDAwMDAwMDAsCisgICAgMHgwYTliOTlkNTAwMDAwMDAwLCAweDJlNDI5ZWI2MDAwMDAwMDAsIDB4OTM0YmY4NDQwMDAwMDAwMCwKKyAgICAweGI3OTJmZjI3MDAwMDAwMDAsIDB4ZGJmOWY3ODIwMDAwMDAwMCwgMHhmZjIwZjBlMTAwMDAwMDAwLAorICAgIDB4Nzk0M2QzOWIwMDAwMDAwMCwgMHg1ZDlhZDRmODAwMDAwMDAwLCAweDMxZjFkYzVkMDAwMDAwMDAsCisgICAgMHgxNTI4ZGIzZTAwMDAwMDAwLCAweGE4MjFiZGNjMDAwMDAwMDAsIDB4OGNmOGJhYWYwMDAwMDAwMCwKKyAgICAweGUwOTNiMjBhMDAwMDAwMDAsIDB4YzQ0YWI1NjkwMDAwMDAwMCwgMHhkYjg2MGYzNTAwMDAwMDAwLAorICAgIDB4ZmY1ZjA4NTYwMDAwMDAwMCwgMHg5MzM0MDBmMzAwMDAwMDAwLCAweGI3ZWQwNzkwMDAwMDAwMDAsCisgICAgMHgwYWU0NjE2MjAwMDAwMDAwLCAweDJlM2Q2NjAxMDAwMDAwMDAsIDB4NDI1NjZlYTQwMDAwMDAwMCwKKyAgICAweDY2OGY2OWM3MDAwMDAwMDAsIDB4N2NjZTFiMWQwMDAwMDAwMCwgMHg1ODE3MWM3ZTAwMDAwMDAwLAorICAgIDB4MzQ3YzE0ZGIwMDAwMDAwMCwgMHgxMGE1MTNiODAwMDAwMDAwLCAweGFkYWM3NTRhMDAwMDAwMDAsCisgICAgMHg4OTc1NzIyOTAwMDAwMDAwLCAweGU1MWU3YThjMDAwMDAwMDAsIDB4YzFjNzdkZWYwMDAwMDAwMCwKKyAgICAweGRlMGJjN2IzMDAwMDAwMDAsIDB4ZmFkMmMwZDAwMDAwMDAwMCwgMHg5NmI5Yzg3NTAwMDAwMDAwLAorICAgIDB4YjI2MGNmMTYwMDAwMDAwMCwgMHgwZjY5YTllNDAwMDAwMDAwLCAweDJiYjBhZTg3MDAwMDAwMDAsCisgICAgMHg0N2RiYTYyMjAwMDAwMDAwLCAweDYzMDJhMTQxMDAwMDAwMDAsIDB4MzI1ZjMzNGQwMDAwMDAwMCwKKyAgICAweDE2ODYzNDJlMDAwMDAwMDAsIDB4N2FlZDNjOGIwMDAwMDAwMCwgMHg1ZTM0M2JlODAwMDAwMDAwLAorICAgIDB4ZTMzZDVkMWEwMDAwMDAwMCwgMHhjN2U0NWE3OTAwMDAwMDAwLCAweGFiOGY1MmRjMDAwMDAwMDAsCisgICAgMHg4ZjU2NTViZjAwMDAwMDAwLCAweDkwOWFlZmUzMDAwMDAwMDAsIDB4YjQ0M2U4ODAwMDAwMDAwMCwKKyAgICAweGQ4MjhlMDI1MDAwMDAwMDAsIDB4ZmNmMWU3NDYwMDAwMDAwMCwgMHg0MWY4ODFiNDAwMDAwMDAwLAorICAgIDB4NjUyMTg2ZDcwMDAwMDAwMCwgMHgwOTRhOGU3MjAwMDAwMDAwLCAweDJkOTM4OTExMDAwMDAwMDAsCisgICAgMHgzN2QyZmJjYjAwMDAwMDAwLCAweDEzMGJmY2E4MDAwMDAwMDAsIDB4N2Y2MGY0MGQwMDAwMDAwMCwKKyAgICAweDViYjlmMzZlMDAwMDAwMDAsIDB4ZTZiMDk1OWMwMDAwMDAwMCwgMHhjMjY5OTJmZjAwMDAwMDAwLAorICAgIDB4YWUwMjlhNWEwMDAwMDAwMCwgMHg4YWRiOWQzOTAwMDAwMDAwLCAweDk1MTcyNzY1MDAwMDAwMDAsCisgICAgMHhiMWNlMjAwNjAwMDAwMDAwLCAweGRkYTUyOGEzMDAwMDAwMDAsIDB4Zjk3YzJmYzAwMDAwMDAwMCwKKyAgICAweDQ0NzU0OTMyMDAwMDAwMDAsIDB4NjBhYzRlNTEwMDAwMDAwMCwgMHgwY2M3NDZmNDAwMDAwMDAwLAorICAgIDB4MjgxZTQxOTcwMDAwMDAwMH0sCisgICB7MHgwMDAwMDAwMDAwMDAwMDAwLCAweDA4ZTM2MDNjMDAwMDAwMDAsIDB4MTBjNmMxNzgwMDAwMDAwMCwKKyAgICAweDE4MjVhMTQ0MDAwMDAwMDAsIDB4MjA4YzgzZjEwMDAwMDAwMCwgMHgyODZmZTNjZDAwMDAwMDAwLAorICAgIDB4MzA0YTQyODkwMDAwMDAwMCwgMHgzOGE5MjJiNTAwMDAwMDAwLCAweDAxMWU3NjM4MDAwMDAwMDAsCisgICAgMHgwOWZkMTYwNDAwMDAwMDAwLCAweDExZDhiNzQwMDAwMDAwMDAsIDB4MTkzYmQ3N2MwMDAwMDAwMCwKKyAgICAweDIxOTJmNWM5MDAwMDAwMDAsIDB4Mjk3MTk1ZjUwMDAwMDAwMCwgMHgzMTU0MzRiMTAwMDAwMDAwLAorICAgIDB4MzliNzU0OGQwMDAwMDAwMCwgMHgwMjNjZWM3MDAwMDAwMDAwLCAweDBhZGY4YzRjMDAwMDAwMDAsCisgICAgMHgxMmZhMmQwODAwMDAwMDAwLCAweDFhMTk0ZDM0MDAwMDAwMDAsIDB4MjJiMDZmODEwMDAwMDAwMCwKKyAgICAweDJhNTMwZmJkMDAwMDAwMDAsIDB4MzI3NmFlZjkwMDAwMDAwMCwgMHgzYTk1Y2VjNTAwMDAwMDAwLAorICAgIDB4MDMyMjlhNDgwMDAwMDAwMCwgMHgwYmMxZmE3NDAwMDAwMDAwLCAweDEzZTQ1YjMwMDAwMDAwMDAsCisgICAgMHgxYjA3M2IwYzAwMDAwMDAwLCAweDIzYWUxOWI5MDAwMDAwMDAsIDB4MmI0ZDc5ODUwMDAwMDAwMCwKKyAgICAweDMzNjhkOGMxMDAwMDAwMDAsIDB4M2I4YmI4ZmQwMDAwMDAwMCwgMHgwNDc4ZDhlMTAwMDAwMDAwLAorICAgIDB4MGM5YmI4ZGQwMDAwMDAwMCwgMHgxNGJlMTk5OTAwMDAwMDAwLCAweDFjNWQ3OWE1MDAwMDAwMDAsCisgICAgMHgyNGY0NWIxMDAwMDAwMDAwLCAweDJjMTczYjJjMDAwMDAwMDAsIDB4MzQzMjlhNjgwMDAwMDAwMCwKKyAgICAweDNjZDFmYTU0MDAwMDAwMDAsIDB4MDU2NmFlZDkwMDAwMDAwMCwgMHgwZDg1Y2VlNTAwMDAwMDAwLAorICAgIDB4MTVhMDZmYTEwMDAwMDAwMCwgMHgxZDQzMGY5ZDAwMDAwMDAwLCAweDI1ZWEyZDI4MDAwMDAwMDAsCisgICAgMHgyZDA5NGQxNDAwMDAwMDAwLCAweDM1MmNlYzUwMDAwMDAwMDAsIDB4M2RjZjhjNmMwMDAwMDAwMCwKKyAgICAweDA2NDQzNDkxMDAwMDAwMDAsIDB4MGVhNzU0YWQwMDAwMDAwMCwgMHgxNjgyZjVlOTAwMDAwMDAwLAorICAgIDB4MWU2MTk1ZDUwMDAwMDAwMCwgMHgyNmM4Yjc2MDAwMDAwMDAwLCAweDJlMmJkNzVjMDAwMDAwMDAsCisgICAgMHgzNjBlNzYxODAwMDAwMDAwLCAweDNlZWQxNjI0MDAwMDAwMDAsIDB4MDc1YTQyYTkwMDAwMDAwMCwKKyAgICAweDBmYjkyMjk1MDAwMDAwMDAsIDB4MTc5YzgzZDEwMDAwMDAwMCwgMHgxZjdmZTNlZDAwMDAwMDAwLAorICAgIDB4MjdkNmMxNTgwMDAwMDAwMCwgMHgyZjM1YTE2NDAwMDAwMDAwLCAweDM3MTAwMDIwMDAwMDAwMDAsCisgICAgMHgzZmYzNjAxYzAwMDAwMDAwLCAweDQ5ZjZjMTE4MDAwMDAwMDAsIDB4NDExNWExMjQwMDAwMDAwMCwKKyAgICAweDU5MzAwMDYwMDAwMDAwMDAsIDB4NTFkMzYwNWMwMDAwMDAwMCwgMHg2OTdhNDJlOTAwMDAwMDAwLAorICAgIDB4NjE5OTIyZDUwMDAwMDAwMCwgMHg3OWJjODM5MTAwMDAwMDAwLCAweDcxNWZlM2FkMDAwMDAwMDAsCisgICAgMHg0OGU4YjcyMDAwMDAwMDAwLCAweDQwMGJkNzFjMDAwMDAwMDAsIDB4NTgyZTc2NTgwMDAwMDAwMCwKKyAgICAweDUwY2QxNjY0MDAwMDAwMDAsIDB4Njg2NDM0ZDEwMDAwMDAwMCwgMHg2MDg3NTRlZDAwMDAwMDAwLAorICAgIDB4NzhhMmY1YTkwMDAwMDAwMCwgMHg3MDQxOTU5NTAwMDAwMDAwLCAweDRiY2EyZDY4MDAwMDAwMDAsCisgICAgMHg0MzI5NGQ1NDAwMDAwMDAwLCAweDViMGNlYzEwMDAwMDAwMDAsIDB4NTNlZjhjMmMwMDAwMDAwMCwKKyAgICAweDZiNDZhZTk5MDAwMDAwMDAsIDB4NjNhNWNlYTUwMDAwMDAwMCwgMHg3YjgwNmZlMTAwMDAwMDAwLAorICAgIDB4NzM2MzBmZGQwMDAwMDAwMCwgMHg0YWQ0NWI1MDAwMDAwMDAwLCAweDQyMzczYjZjMDAwMDAwMDAsCisgICAgMHg1YTEyOWEyODAwMDAwMDAwLCAweDUyZjFmYTE0MDAwMDAwMDAsIDB4NmE1OGQ4YTEwMDAwMDAwMCwKKyAgICAweDYyYmJiODlkMDAwMDAwMDAsIDB4N2E5ZTE5ZDkwMDAwMDAwMCwgMHg3MjdkNzllNTAwMDAwMDAwLAorICAgIDB4NGQ4ZTE5ZjkwMDAwMDAwMCwgMHg0NTZkNzljNTAwMDAwMDAwLCAweDVkNDhkODgxMDAwMDAwMDAsCisgICAgMHg1NWFiYjhiZDAwMDAwMDAwLCAweDZkMDI5YTA4MDAwMDAwMDAsIDB4NjVlMWZhMzQwMDAwMDAwMCwKKyAgICAweDdkYzQ1YjcwMDAwMDAwMDAsIDB4NzUyNzNiNGMwMDAwMDAwMCwgMHg0YzkwNmZjMTAwMDAwMDAwLAorICAgIDB4NDQ3MzBmZmQwMDAwMDAwMCwgMHg1YzU2YWViOTAwMDAwMDAwLCAweDU0YjVjZTg1MDAwMDAwMDAsCisgICAgMHg2YzFjZWMzMDAwMDAwMDAwLCAweDY0ZmY4YzBjMDAwMDAwMDAsIDB4N2NkYTJkNDgwMDAwMDAwMCwKKyAgICAweDc0Mzk0ZDc0MDAwMDAwMDAsIDB4NGZiMmY1ODkwMDAwMDAwMCwgMHg0NzUxOTViNTAwMDAwMDAwLAorICAgIDB4NWY3NDM0ZjEwMDAwMDAwMCwgMHg1Nzk3NTRjZDAwMDAwMDAwLCAweDZmM2U3Njc4MDAwMDAwMDAsCisgICAgMHg2N2RkMTY0NDAwMDAwMDAwLCAweDdmZjhiNzAwMDAwMDAwMDAsIDB4NzcxYmQ3M2MwMDAwMDAwMCwKKyAgICAweDRlYWM4M2IxMDAwMDAwMDAsIDB4NDY0ZmUzOGQwMDAwMDAwMCwgMHg1ZTZhNDJjOTAwMDAwMDAwLAorICAgIDB4NTY4OTIyZjUwMDAwMDAwMCwgMHg2ZTIwMDA0MDAwMDAwMDAwLCAweDY2YzM2MDdjMDAwMDAwMDAsCisgICAgMHg3ZWU2YzEzODAwMDAwMDAwLCAweDc2MDVhMTA0MDAwMDAwMDAsIDB4OTJlYzgzMzEwMDAwMDAwMCwKKyAgICAweDlhMGZlMzBkMDAwMDAwMDAsIDB4ODIyYTQyNDkwMDAwMDAwMCwgMHg4YWM5MjI3NTAwMDAwMDAwLAorICAgIDB4YjI2MDAwYzAwMDAwMDAwMCwgMHhiYTgzNjBmYzAwMDAwMDAwLCAweGEyYTZjMWI4MDAwMDAwMDAsCisgICAgMHhhYTQ1YTE4NDAwMDAwMDAwLCAweDkzZjJmNTA5MDAwMDAwMDAsIDB4OWIxMTk1MzUwMDAwMDAwMCwKKyAgICAweDgzMzQzNDcxMDAwMDAwMDAsIDB4OGJkNzU0NGQwMDAwMDAwMCwgMHhiMzdlNzZmODAwMDAwMDAwLAorICAgIDB4YmI5ZDE2YzQwMDAwMDAwMCwgMHhhM2I4Yjc4MDAwMDAwMDAwLCAweGFiNWJkN2JjMDAwMDAwMDAsCisgICAgMHg5MGQwNmY0MTAwMDAwMDAwLCAweDk4MzMwZjdkMDAwMDAwMDAsIDB4ODAxNmFlMzkwMDAwMDAwMCwKKyAgICAweDg4ZjVjZTA1MDAwMDAwMDAsIDB4YjA1Y2VjYjAwMDAwMDAwMCwgMHhiOGJmOGM4YzAwMDAwMDAwLAorICAgIDB4YTA5YTJkYzgwMDAwMDAwMCwgMHhhODc5NGRmNDAwMDAwMDAwLCAweDkxY2UxOTc5MDAwMDAwMDAsCisgICAgMHg5OTJkNzk0NTAwMDAwMDAwLCAweDgxMDhkODAxMDAwMDAwMDAsIDB4ODllYmI4M2QwMDAwMDAwMCwKKyAgICAweGIxNDI5YTg4MDAwMDAwMDAsIDB4YjlhMWZhYjQwMDAwMDAwMCwgMHhhMTg0NWJmMDAwMDAwMDAwLAorICAgIDB4YTk2NzNiY2MwMDAwMDAwMCwgMHg5Njk0NWJkMDAwMDAwMDAwLCAweDllNzczYmVjMDAwMDAwMDAsCisgICAgMHg4NjUyOWFhODAwMDAwMDAwLCAweDhlYjFmYTk0MDAwMDAwMDAsIDB4YjYxOGQ4MjEwMDAwMDAwMCwKKyAgICAweGJlZmJiODFkMDAwMDAwMDAsIDB4YTZkZTE5NTkwMDAwMDAwMCwgMHhhZTNkNzk2NTAwMDAwMDAwLAorICAgIDB4OTc4YTJkZTgwMDAwMDAwMCwgMHg5ZjY5NGRkNDAwMDAwMDAwLCAweDg3NGNlYzkwMDAwMDAwMDAsCisgICAgMHg4ZmFmOGNhYzAwMDAwMDAwLCAweGI3MDZhZTE5MDAwMDAwMDAsIDB4YmZlNWNlMjUwMDAwMDAwMCwKKyAgICAweGE3YzA2ZjYxMDAwMDAwMDAsIDB4YWYyMzBmNWQwMDAwMDAwMCwgMHg5NGE4YjdhMDAwMDAwMDAwLAorICAgIDB4OWM0YmQ3OWMwMDAwMDAwMCwgMHg4NDZlNzZkODAwMDAwMDAwLCAweDhjOGQxNmU0MDAwMDAwMDAsCisgICAgMHhiNDI0MzQ1MTAwMDAwMDAwLCAweGJjYzc1NDZkMDAwMDAwMDAsIDB4YTRlMmY1MjkwMDAwMDAwMCwKKyAgICAweGFjMDE5NTE1MDAwMDAwMDAsIDB4OTViNmMxOTgwMDAwMDAwMCwgMHg5ZDU1YTFhNDAwMDAwMDAwLAorICAgIDB4ODU3MDAwZTAwMDAwMDAwMCwgMHg4ZDkzNjBkYzAwMDAwMDAwLCAweGI1M2E0MjY5MDAwMDAwMDAsCisgICAgMHhiZGQ5MjI1NTAwMDAwMDAwLCAweGE1ZmM4MzExMDAwMDAwMDAsIDB4YWQxZmUzMmQwMDAwMDAwMCwKKyAgICAweGRiMWE0MjI5MDAwMDAwMDAsIDB4ZDNmOTIyMTUwMDAwMDAwMCwgMHhjYmRjODM1MTAwMDAwMDAwLAorICAgIDB4YzMzZmUzNmQwMDAwMDAwMCwgMHhmYjk2YzFkODAwMDAwMDAwLCAweGYzNzVhMWU0MDAwMDAwMDAsCisgICAgMHhlYjUwMDBhMDAwMDAwMDAwLCAweGUzYjM2MDljMDAwMDAwMDAsIDB4ZGEwNDM0MTEwMDAwMDAwMCwKKyAgICAweGQyZTc1NDJkMDAwMDAwMDAsIDB4Y2FjMmY1NjkwMDAwMDAwMCwgMHhjMjIxOTU1NTAwMDAwMDAwLAorICAgIDB4ZmE4OGI3ZTAwMDAwMDAwMCwgMHhmMjZiZDdkYzAwMDAwMDAwLCAweGVhNGU3Njk4MDAwMDAwMDAsCisgICAgMHhlMmFkMTZhNDAwMDAwMDAwLCAweGQ5MjZhZTU5MDAwMDAwMDAsIDB4ZDFjNWNlNjUwMDAwMDAwMCwKKyAgICAweGM5ZTA2ZjIxMDAwMDAwMDAsIDB4YzEwMzBmMWQwMDAwMDAwMCwgMHhmOWFhMmRhODAwMDAwMDAwLAorICAgIDB4ZjE0OTRkOTQwMDAwMDAwMCwgMHhlOTZjZWNkMDAwMDAwMDAwLCAweGUxOGY4Y2VjMDAwMDAwMDAsCisgICAgMHhkODM4ZDg2MTAwMDAwMDAwLCAweGQwZGJiODVkMDAwMDAwMDAsIDB4YzhmZTE5MTkwMDAwMDAwMCwKKyAgICAweGMwMWQ3OTI1MDAwMDAwMDAsIDB4ZjhiNDViOTAwMDAwMDAwMCwgMHhmMDU3M2JhYzAwMDAwMDAwLAorICAgIDB4ZTg3MjlhZTgwMDAwMDAwMCwgMHhlMDkxZmFkNDAwMDAwMDAwLCAweGRmNjI5YWM4MDAwMDAwMDAsCisgICAgMHhkNzgxZmFmNDAwMDAwMDAwLCAweGNmYTQ1YmIwMDAwMDAwMDAsIDB4Yzc0NzNiOGMwMDAwMDAwMCwKKyAgICAweGZmZWUxOTM5MDAwMDAwMDAsIDB4ZjcwZDc5MDUwMDAwMDAwMCwgMHhlZjI4ZDg0MTAwMDAwMDAwLAorICAgIDB4ZTdjYmI4N2QwMDAwMDAwMCwgMHhkZTdjZWNmMDAwMDAwMDAwLCAweGQ2OWY4Y2NjMDAwMDAwMDAsCisgICAgMHhjZWJhMmQ4ODAwMDAwMDAwLCAweGM2NTk0ZGI0MDAwMDAwMDAsIDB4ZmVmMDZmMDEwMDAwMDAwMCwKKyAgICAweGY2MTMwZjNkMDAwMDAwMDAsIDB4ZWUzNmFlNzkwMDAwMDAwMCwgMHhlNmQ1Y2U0NTAwMDAwMDAwLAorICAgIDB4ZGQ1ZTc2YjgwMDAwMDAwMCwgMHhkNWJkMTY4NDAwMDAwMDAwLCAweGNkOThiN2MwMDAwMDAwMDAsCisgICAgMHhjNTdiZDdmYzAwMDAwMDAwLCAweGZkZDJmNTQ5MDAwMDAwMDAsIDB4ZjUzMTk1NzUwMDAwMDAwMCwKKyAgICAweGVkMTQzNDMxMDAwMDAwMDAsIDB4ZTVmNzU0MGQwMDAwMDAwMCwgMHhkYzQwMDA4MDAwMDAwMDAwLAorICAgIDB4ZDRhMzYwYmMwMDAwMDAwMCwgMHhjYzg2YzFmODAwMDAwMDAwLCAweGM0NjVhMWM0MDAwMDAwMDAsCisgICAgMHhmY2NjODM3MTAwMDAwMDAwLCAweGY0MmZlMzRkMDAwMDAwMDAsIDB4ZWMwYTQyMDkwMDAwMDAwMCwKKyAgICAweGU0ZTkyMjM1MDAwMDAwMDB9LAorICAgezB4MDAwMDAwMDAwMDAwMDAwMCwgMHhkMWU4ZTcwZTAwMDAwMDAwLCAweGEyZDFjZjFkMDAwMDAwMDAsCisgICAgMHg3MzM5MjgxMzAwMDAwMDAwLCAweDQ0YTM5ZjNiMDAwMDAwMDAsIDB4OTU0Yjc4MzUwMDAwMDAwMCwKKyAgICAweGU2NzI1MDI2MDAwMDAwMDAsIDB4Mzc5YWI3MjgwMDAwMDAwMCwgMHg4ODQ2M2Y3NzAwMDAwMDAwLAorICAgIDB4NTlhZWQ4NzkwMDAwMDAwMCwgMHgyYTk3ZjA2YTAwMDAwMDAwLCAweGZiN2YxNzY0MDAwMDAwMDAsCisgICAgMHhjY2U1YTA0YzAwMDAwMDAwLCAweDFkMGQ0NzQyMDAwMDAwMDAsIDB4NmUzNDZmNTEwMDAwMDAwMCwKKyAgICAweGJmZGM4ODVmMDAwMDAwMDAsIDB4MTA4ZDdlZWUwMDAwMDAwMCwgMHhjMTY1OTllMDAwMDAwMDAwLAorICAgIDB4YjI1Y2IxZjMwMDAwMDAwMCwgMHg2M2I0NTZmZDAwMDAwMDAwLCAweDU0MmVlMWQ1MDAwMDAwMDAsCisgICAgMHg4NWM2MDZkYjAwMDAwMDAwLCAweGY2ZmYyZWM4MDAwMDAwMDAsIDB4MjcxN2M5YzYwMDAwMDAwMCwKKyAgICAweDk4Y2I0MTk5MDAwMDAwMDAsIDB4NDkyM2E2OTcwMDAwMDAwMCwgMHgzYTFhOGU4NDAwMDAwMDAwLAorICAgIDB4ZWJmMjY5OGEwMDAwMDAwMCwgMHhkYzY4ZGVhMjAwMDAwMDAwLCAweDBkODAzOWFjMDAwMDAwMDAsCisgICAgMHg3ZWI5MTFiZjAwMDAwMDAwLCAweGFmNTFmNmIxMDAwMDAwMDAsIDB4NjExYzhjMDcwMDAwMDAwMCwKKyAgICAweGIwZjQ2YjA5MDAwMDAwMDAsIDB4YzNjZDQzMWEwMDAwMDAwMCwgMHgxMjI1YTQxNDAwMDAwMDAwLAorICAgIDB4MjViZjEzM2MwMDAwMDAwMCwgMHhmNDU3ZjQzMjAwMDAwMDAwLCAweDg3NmVkYzIxMDAwMDAwMDAsCisgICAgMHg1Njg2M2IyZjAwMDAwMDAwLCAweGU5NWFiMzcwMDAwMDAwMDAsIDB4MzhiMjU0N2UwMDAwMDAwMCwKKyAgICAweDRiOGI3YzZkMDAwMDAwMDAsIDB4OWE2MzliNjMwMDAwMDAwMCwgMHhhZGY5MmM0YjAwMDAwMDAwLAorICAgIDB4N2MxMWNiNDUwMDAwMDAwMCwgMHgwZjI4ZTM1NjAwMDAwMDAwLCAweGRlYzAwNDU4MDAwMDAwMDAsCisgICAgMHg3MTkxZjJlOTAwMDAwMDAwLCAweGEwNzkxNWU3MDAwMDAwMDAsIDB4ZDM0MDNkZjQwMDAwMDAwMCwKKyAgICAweDAyYThkYWZhMDAwMDAwMDAsIDB4MzUzMjZkZDIwMDAwMDAwMCwgMHhlNGRhOGFkYzAwMDAwMDAwLAorICAgIDB4OTdlM2EyY2YwMDAwMDAwMCwgMHg0NjBiNDVjMTAwMDAwMDAwLCAweGY5ZDdjZDllMDAwMDAwMDAsCisgICAgMHgyODNmMmE5MDAwMDAwMDAwLCAweDViMDYwMjgzMDAwMDAwMDAsIDB4OGFlZWU1OGQwMDAwMDAwMCwKKyAgICAweGJkNzQ1MmE1MDAwMDAwMDAsIDB4NmM5Y2I1YWIwMDAwMDAwMCwgMHgxZmE1OWRiODAwMDAwMDAwLAorICAgIDB4Y2U0ZDdhYjYwMDAwMDAwMCwgMHhjMjM4MTgwZjAwMDAwMDAwLCAweDEzZDBmZjAxMDAwMDAwMDAsCisgICAgMHg2MGU5ZDcxMjAwMDAwMDAwLCAweGIxMDEzMDFjMDAwMDAwMDAsIDB4ODY5Yjg3MzQwMDAwMDAwMCwKKyAgICAweDU3NzM2MDNhMDAwMDAwMDAsIDB4MjQ0YTQ4MjkwMDAwMDAwMCwgMHhmNWEyYWYyNzAwMDAwMDAwLAorICAgIDB4NGE3ZTI3NzgwMDAwMDAwMCwgMHg5Yjk2YzA3NjAwMDAwMDAwLCAweGU4YWZlODY1MDAwMDAwMDAsCisgICAgMHgzOTQ3MGY2YjAwMDAwMDAwLCAweDBlZGRiODQzMDAwMDAwMDAsIDB4ZGYzNTVmNGQwMDAwMDAwMCwKKyAgICAweGFjMGM3NzVlMDAwMDAwMDAsIDB4N2RlNDkwNTAwMDAwMDAwMCwgMHhkMmI1NjZlMTAwMDAwMDAwLAorICAgIDB4MDM1ZDgxZWYwMDAwMDAwMCwgMHg3MDY0YTlmYzAwMDAwMDAwLCAweGExOGM0ZWYyMDAwMDAwMDAsCisgICAgMHg5NjE2ZjlkYTAwMDAwMDAwLCAweDQ3ZmUxZWQ0MDAwMDAwMDAsIDB4MzRjNzM2YzcwMDAwMDAwMCwKKyAgICAweGU1MmZkMWM5MDAwMDAwMDAsIDB4NWFmMzU5OTYwMDAwMDAwMCwgMHg4YjFiYmU5ODAwMDAwMDAwLAorICAgIDB4ZjgyMjk2OGIwMDAwMDAwMCwgMHgyOWNhNzE4NTAwMDAwMDAwLCAweDFlNTBjNmFkMDAwMDAwMDAsCisgICAgMHhjZmI4MjFhMzAwMDAwMDAwLCAweGJjODEwOWIwMDAwMDAwMDAsIDB4NmQ2OWVlYmUwMDAwMDAwMCwKKyAgICAweGEzMjQ5NDA4MDAwMDAwMDAsIDB4NzJjYzczMDYwMDAwMDAwMCwgMHgwMWY1NWIxNTAwMDAwMDAwLAorICAgIDB4ZDAxZGJjMWIwMDAwMDAwMCwgMHhlNzg3MGIzMzAwMDAwMDAwLCAweDM2NmZlYzNkMDAwMDAwMDAsCisgICAgMHg0NTU2YzQyZTAwMDAwMDAwLCAweDk0YmUyMzIwMDAwMDAwMDAsIDB4MmI2MmFiN2YwMDAwMDAwMCwKKyAgICAweGZhOGE0YzcxMDAwMDAwMDAsIDB4ODliMzY0NjIwMDAwMDAwMCwgMHg1ODViODM2YzAwMDAwMDAwLAorICAgIDB4NmZjMTM0NDQwMDAwMDAwMCwgMHhiZTI5ZDM0YTAwMDAwMDAwLCAweGNkMTBmYjU5MDAwMDAwMDAsCisgICAgMHgxY2Y4MWM1NzAwMDAwMDAwLCAweGIzYTllYWU2MDAwMDAwMDAsIDB4NjI0MTBkZTgwMDAwMDAwMCwKKyAgICAweDExNzgyNWZiMDAwMDAwMDAsIDB4YzA5MGMyZjUwMDAwMDAwMCwgMHhmNzBhNzVkZDAwMDAwMDAwLAorICAgIDB4MjZlMjkyZDMwMDAwMDAwMCwgMHg1NWRiYmFjMDAwMDAwMDAwLCAweDg0MzM1ZGNlMDAwMDAwMDAsCisgICAgMHgzYmVmZDU5MTAwMDAwMDAwLCAweGVhMDczMjlmMDAwMDAwMDAsIDB4OTkzZTFhOGMwMDAwMDAwMCwKKyAgICAweDQ4ZDZmZDgyMDAwMDAwMDAsIDB4N2Y0YzRhYWEwMDAwMDAwMCwgMHhhZWE0YWRhNDAwMDAwMDAwLAorICAgIDB4ZGQ5ZDg1YjcwMDAwMDAwMCwgMHgwYzc1NjJiOTAwMDAwMDAwLCAweDg0NzEzMDFlMDAwMDAwMDAsCisgICAgMHg1NTk5ZDcxMDAwMDAwMDAwLCAweDI2YTBmZjAzMDAwMDAwMDAsIDB4Zjc0ODE4MGQwMDAwMDAwMCwKKyAgICAweGMwZDJhZjI1MDAwMDAwMDAsIDB4MTEzYTQ4MmIwMDAwMDAwMCwgMHg2MjAzNjAzODAwMDAwMDAwLAorICAgIDB4YjNlYjg3MzYwMDAwMDAwMCwgMHgwYzM3MGY2OTAwMDAwMDAwLCAweGRkZGZlODY3MDAwMDAwMDAsCisgICAgMHhhZWU2YzA3NDAwMDAwMDAwLCAweDdmMGUyNzdhMDAwMDAwMDAsIDB4NDg5NDkwNTIwMDAwMDAwMCwKKyAgICAweDk5N2M3NzVjMDAwMDAwMDAsIDB4ZWE0NTVmNGYwMDAwMDAwMCwgMHgzYmFkYjg0MTAwMDAwMDAwLAorICAgIDB4OTRmYzRlZjAwMDAwMDAwMCwgMHg0NTE0YTlmZTAwMDAwMDAwLCAweDM2MmQ4MWVkMDAwMDAwMDAsCisgICAgMHhlN2M1NjZlMzAwMDAwMDAwLCAweGQwNWZkMWNiMDAwMDAwMDAsIDB4MDFiNzM2YzUwMDAwMDAwMCwKKyAgICAweDcyOGUxZWQ2MDAwMDAwMDAsIDB4YTM2NmY5ZDgwMDAwMDAwMCwgMHgxY2JhNzE4NzAwMDAwMDAwLAorICAgIDB4Y2Q1Mjk2ODkwMDAwMDAwMCwgMHhiZTZiYmU5YTAwMDAwMDAwLCAweDZmODM1OTk0MDAwMDAwMDAsCisgICAgMHg1ODE5ZWViYzAwMDAwMDAwLCAweDg5ZjEwOWIyMDAwMDAwMDAsIDB4ZmFjODIxYTEwMDAwMDAwMCwKKyAgICAweDJiMjBjNmFmMDAwMDAwMDAsIDB4ZTU2ZGJjMTkwMDAwMDAwMCwgMHgzNDg1NWIxNzAwMDAwMDAwLAorICAgIDB4NDdiYzczMDQwMDAwMDAwMCwgMHg5NjU0OTQwYTAwMDAwMDAwLCAweGExY2UyMzIyMDAwMDAwMDAsCisgICAgMHg3MDI2YzQyYzAwMDAwMDAwLCAweDAzMWZlYzNmMDAwMDAwMDAsIDB4ZDJmNzBiMzEwMDAwMDAwMCwKKyAgICAweDZkMmI4MzZlMDAwMDAwMDAsIDB4YmNjMzY0NjAwMDAwMDAwMCwgMHhjZmZhNGM3MzAwMDAwMDAwLAorICAgIDB4MWUxMmFiN2QwMDAwMDAwMCwgMHgyOTg4MWM1NTAwMDAwMDAwLCAweGY4NjBmYjViMDAwMDAwMDAsCisgICAgMHg4YjU5ZDM0ODAwMDAwMDAwLCAweDVhYjEzNDQ2MDAwMDAwMDAsIDB4ZjVlMGMyZjcwMDAwMDAwMCwKKyAgICAweDI0MDgyNWY5MDAwMDAwMDAsIDB4NTczMTBkZWEwMDAwMDAwMCwgMHg4NmQ5ZWFlNDAwMDAwMDAwLAorICAgIDB4YjE0MzVkY2MwMDAwMDAwMCwgMHg2MGFiYmFjMjAwMDAwMDAwLCAweDEzOTI5MmQxMDAwMDAwMDAsCisgICAgMHhjMjdhNzVkZjAwMDAwMDAwLCAweDdkYTZmZDgwMDAwMDAwMDAsIDB4YWM0ZTFhOGUwMDAwMDAwMCwKKyAgICAweGRmNzczMjlkMDAwMDAwMDAsIDB4MGU5ZmQ1OTMwMDAwMDAwMCwgMHgzOTA1NjJiYjAwMDAwMDAwLAorICAgIDB4ZThlZDg1YjUwMDAwMDAwMCwgMHg5YmQ0YWRhNjAwMDAwMDAwLCAweDRhM2M0YWE4MDAwMDAwMDAsCisgICAgMHg0NjQ5MjgxMTAwMDAwMDAwLCAweDk3YTFjZjFmMDAwMDAwMDAsIDB4ZTQ5OGU3MGMwMDAwMDAwMCwKKyAgICAweDM1NzAwMDAyMDAwMDAwMDAsIDB4MDJlYWI3MmEwMDAwMDAwMCwgMHhkMzAyNTAyNDAwMDAwMDAwLAorICAgIDB4YTAzYjc4MzcwMDAwMDAwMCwgMHg3MWQzOWYzOTAwMDAwMDAwLCAweGNlMGYxNzY2MDAwMDAwMDAsCisgICAgMHgxZmU3ZjA2ODAwMDAwMDAwLCAweDZjZGVkODdiMDAwMDAwMDAsIDB4YmQzNjNmNzUwMDAwMDAwMCwKKyAgICAweDhhYWM4ODVkMDAwMDAwMDAsIDB4NWI0NDZmNTMwMDAwMDAwMCwgMHgyODdkNDc0MDAwMDAwMDAwLAorICAgIDB4Zjk5NWEwNGUwMDAwMDAwMCwgMHg1NmM0NTZmZjAwMDAwMDAwLCAweDg3MmNiMWYxMDAwMDAwMDAsCisgICAgMHhmNDE1OTllMjAwMDAwMDAwLCAweDI1ZmQ3ZWVjMDAwMDAwMDAsIDB4MTI2N2M5YzQwMDAwMDAwMCwKKyAgICAweGMzOGYyZWNhMDAwMDAwMDAsIDB4YjBiNjA2ZDkwMDAwMDAwMCwgMHg2MTVlZTFkNzAwMDAwMDAwLAorICAgIDB4ZGU4MjY5ODgwMDAwMDAwMCwgMHgwZjZhOGU4NjAwMDAwMDAwLCAweDdjNTNhNjk1MDAwMDAwMDAsCisgICAgMHhhZGJiNDE5YjAwMDAwMDAwLCAweDlhMjFmNmIzMDAwMDAwMDAsIDB4NGJjOTExYmQwMDAwMDAwMCwKKyAgICAweDM4ZjAzOWFlMDAwMDAwMDAsIDB4ZTkxOGRlYTAwMDAwMDAwMCwgMHgyNzU1YTQxNjAwMDAwMDAwLAorICAgIDB4ZjZiZDQzMTgwMDAwMDAwMCwgMHg4NTg0NmIwYjAwMDAwMDAwLCAweDU0NmM4YzA1MDAwMDAwMDAsCisgICAgMHg2M2Y2M2IyZDAwMDAwMDAwLCAweGIyMWVkYzIzMDAwMDAwMDAsIDB4YzEyN2Y0MzAwMDAwMDAwMCwKKyAgICAweDEwY2YxMzNlMDAwMDAwMDAsIDB4YWYxMzliNjEwMDAwMDAwMCwgMHg3ZWZiN2M2ZjAwMDAwMDAwLAorICAgIDB4MGRjMjU0N2MwMDAwMDAwMCwgMHhkYzJhYjM3MjAwMDAwMDAwLCAweGViYjAwNDVhMDAwMDAwMDAsCisgICAgMHgzYTU4ZTM1NDAwMDAwMDAwLCAweDQ5NjFjYjQ3MDAwMDAwMDAsIDB4OTg4OTJjNDkwMDAwMDAwMCwKKyAgICAweDM3ZDhkYWY4MDAwMDAwMDAsIDB4ZTYzMDNkZjYwMDAwMDAwMCwgMHg5NTA5MTVlNTAwMDAwMDAwLAorICAgIDB4NDRlMWYyZWIwMDAwMDAwMCwgMHg3MzdiNDVjMzAwMDAwMDAwLCAweGEyOTNhMmNkMDAwMDAwMDAsCisgICAgMHhkMWFhOGFkZTAwMDAwMDAwLCAweDAwNDI2ZGQwMDAwMDAwMDAsIDB4YmY5ZWU1OGYwMDAwMDAwMCwKKyAgICAweDZlNzYwMjgxMDAwMDAwMDAsIDB4MWQ0ZjJhOTIwMDAwMDAwMCwgMHhjY2E3Y2Q5YzAwMDAwMDAwLAorICAgIDB4ZmIzZDdhYjQwMDAwMDAwMCwgMHgyYWQ1OWRiYTAwMDAwMDAwLCAweDU5ZWNiNWE5MDAwMDAwMDAsCisgICAgMHg4ODA0NTJhNzAwMDAwMDAwfSwKKyAgIHsweDAwMDAwMDAwMDAwMDAwMDAsIDB4YWEwNWRhZjEwMDAwMDAwMCwgMHgxNTBkYzUzODAwMDAwMDAwLAorICAgIDB4YmYwODFmYzkwMDAwMDAwMCwgMHgyYTFhOGE3MTAwMDAwMDAwLCAweDgwMWY1MDgwMDAwMDAwMDAsCisgICAgMHgzZjE3NGY0OTAwMDAwMDAwLCAweDk1MTI5NWI4MDAwMDAwMDAsIDB4NTQzNDE0ZTMwMDAwMDAwMCwKKyAgICAweGZlMzFjZTEyMDAwMDAwMDAsIDB4NDEzOWQxZGIwMDAwMDAwMCwgMHhlYjNjMGIyYTAwMDAwMDAwLAorICAgIDB4N2UyZTllOTIwMDAwMDAwMCwgMHhkNDJiNDQ2MzAwMDAwMDAwLCAweDZiMjM1YmFhMDAwMDAwMDAsCisgICAgMHhjMTI2ODE1YjAwMDAwMDAwLCAweGU5NmU1OTFkMDAwMDAwMDAsIDB4NDM2YjgzZWMwMDAwMDAwMCwKKyAgICAweGZjNjM5YzI1MDAwMDAwMDAsIDB4NTY2NjQ2ZDQwMDAwMDAwMCwgMHhjMzc0ZDM2YzAwMDAwMDAwLAorICAgIDB4Njk3MTA5OWQwMDAwMDAwMCwgMHhkNjc5MTY1NDAwMDAwMDAwLCAweDdjN2NjY2E1MDAwMDAwMDAsCisgICAgMHhiZDVhNGRmZTAwMDAwMDAwLCAweDE3NWY5NzBmMDAwMDAwMDAsIDB4YTg1Nzg4YzYwMDAwMDAwMCwKKyAgICAweDAyNTI1MjM3MDAwMDAwMDAsIDB4OTc0MGM3OGYwMDAwMDAwMCwgMHgzZDQ1MWQ3ZTAwMDAwMDAwLAorICAgIDB4ODI0ZDAyYjcwMDAwMDAwMCwgMHgyODQ4ZDg0NjAwMDAwMDAwLCAweGQyZGRiMjNhMDAwMDAwMDAsCisgICAgMHg3OGQ4NjhjYjAwMDAwMDAwLCAweGM3ZDA3NzAyMDAwMDAwMDAsIDB4NmRkNWFkZjMwMDAwMDAwMCwKKyAgICAweGY4YzczODRiMDAwMDAwMDAsIDB4NTJjMmUyYmEwMDAwMDAwMCwgMHhlZGNhZmQ3MzAwMDAwMDAwLAorICAgIDB4NDdjZjI3ODIwMDAwMDAwMCwgMHg4NmU5YTZkOTAwMDAwMDAwLCAweDJjZWM3YzI4MDAwMDAwMDAsCisgICAgMHg5M2U0NjNlMTAwMDAwMDAwLCAweDM5ZTFiOTEwMDAwMDAwMDAsIDB4YWNmMzJjYTgwMDAwMDAwMCwKKyAgICAweDA2ZjZmNjU5MDAwMDAwMDAsIDB4YjlmZWU5OTAwMDAwMDAwMCwgMHgxM2ZiMzM2MTAwMDAwMDAwLAorICAgIDB4M2JiM2ViMjcwMDAwMDAwMCwgMHg5MWI2MzFkNjAwMDAwMDAwLCAweDJlYmUyZTFmMDAwMDAwMDAsCisgICAgMHg4NGJiZjRlZTAwMDAwMDAwLCAweDExYTk2MTU2MDAwMDAwMDAsIDB4YmJhY2JiYTcwMDAwMDAwMCwKKyAgICAweDA0YTRhNDZlMDAwMDAwMDAsIDB4YWVhMTdlOWYwMDAwMDAwMCwgMHg2Zjg3ZmZjNDAwMDAwMDAwLAorICAgIDB4YzU4MjI1MzUwMDAwMDAwMCwgMHg3YThhM2FmYzAwMDAwMDAwLCAweGQwOGZlMDBkMDAwMDAwMDAsCisgICAgMHg0NTlkNzViNTAwMDAwMDAwLCAweGVmOThhZjQ0MDAwMDAwMDAsIDB4NTA5MGIwOGQwMDAwMDAwMCwKKyAgICAweGZhOTU2YTdjMDAwMDAwMDAsIDB4YTRiYjY1NzUwMDAwMDAwMCwgMHgwZWJlYmY4NDAwMDAwMDAwLAorICAgIDB4YjFiNmEwNGQwMDAwMDAwMCwgMHgxYmIzN2FiYzAwMDAwMDAwLCAweDhlYTFlZjA0MDAwMDAwMDAsCisgICAgMHgyNGE0MzVmNTAwMDAwMDAwLCAweDliYWMyYTNjMDAwMDAwMDAsIDB4MzFhOWYwY2QwMDAwMDAwMCwKKyAgICAweGYwOGY3MTk2MDAwMDAwMDAsIDB4NWE4YWFiNjcwMDAwMDAwMCwgMHhlNTgyYjRhZTAwMDAwMDAwLAorICAgIDB4NGY4NzZlNWYwMDAwMDAwMCwgMHhkYTk1ZmJlNzAwMDAwMDAwLCAweDcwOTAyMTE2MDAwMDAwMDAsCisgICAgMHhjZjk4M2VkZjAwMDAwMDAwLCAweDY1OWRlNDJlMDAwMDAwMDAsIDB4NGRkNTNjNjgwMDAwMDAwMCwKKyAgICAweGU3ZDBlNjk5MDAwMDAwMDAsIDB4NThkOGY5NTAwMDAwMDAwMCwgMHhmMmRkMjNhMTAwMDAwMDAwLAorICAgIDB4NjdjZmI2MTkwMDAwMDAwMCwgMHhjZGNhNmNlODAwMDAwMDAwLCAweDcyYzI3MzIxMDAwMDAwMDAsCisgICAgMHhkOGM3YTlkMDAwMDAwMDAwLCAweDE5ZTEyODhiMDAwMDAwMDAsIDB4YjNlNGYyN2EwMDAwMDAwMCwKKyAgICAweDBjZWNlZGIzMDAwMDAwMDAsIDB4YTZlOTM3NDIwMDAwMDAwMCwgMHgzM2ZiYTJmYTAwMDAwMDAwLAorICAgIDB4OTlmZTc4MGIwMDAwMDAwMCwgMHgyNmY2NjdjMjAwMDAwMDAwLCAweDhjZjNiZDMzMDAwMDAwMDAsCisgICAgMHg3NjY2ZDc0ZjAwMDAwMDAwLCAweGRjNjMwZGJlMDAwMDAwMDAsIDB4NjM2YjEyNzcwMDAwMDAwMCwKKyAgICAweGM5NmVjODg2MDAwMDAwMDAsIDB4NWM3YzVkM2UwMDAwMDAwMCwgMHhmNjc5ODdjZjAwMDAwMDAwLAorICAgIDB4NDk3MTk4MDYwMDAwMDAwMCwgMHhlMzc0NDJmNzAwMDAwMDAwLCAweDIyNTJjM2FjMDAwMDAwMDAsCisgICAgMHg4ODU3MTk1ZDAwMDAwMDAwLCAweDM3NWYwNjk0MDAwMDAwMDAsIDB4OWQ1YWRjNjUwMDAwMDAwMCwKKyAgICAweDA4NDg0OWRkMDAwMDAwMDAsIDB4YTI0ZDkzMmMwMDAwMDAwMCwgMHgxZDQ1OGNlNTAwMDAwMDAwLAorICAgIDB4Yjc0MDU2MTQwMDAwMDAwMCwgMHg5ZjA4OGU1MjAwMDAwMDAwLCAweDM1MGQ1NGEzMDAwMDAwMDAsCisgICAgMHg4YTA1NGI2YTAwMDAwMDAwLCAweDIwMDA5MTliMDAwMDAwMDAsIDB4YjUxMjA0MjMwMDAwMDAwMCwKKyAgICAweDFmMTdkZWQyMDAwMDAwMDAsIDB4YTAxZmMxMWIwMDAwMDAwMCwgMHgwYTFhMWJlYTAwMDAwMDAwLAorICAgIDB4Y2IzYzlhYjEwMDAwMDAwMCwgMHg2MTM5NDA0MDAwMDAwMDAwLCAweGRlMzE1Zjg5MDAwMDAwMDAsCisgICAgMHg3NDM0ODU3ODAwMDAwMDAwLCAweGUxMjYxMGMwMDAwMDAwMDAsIDB4NGIyM2NhMzEwMDAwMDAwMCwKKyAgICAweGY0MmJkNWY4MDAwMDAwMDAsIDB4NWUyZTBmMDkwMDAwMDAwMCwgMHg0ODc3Y2JlYTAwMDAwMDAwLAorICAgIDB4ZTI3MjExMWIwMDAwMDAwMCwgMHg1ZDdhMGVkMjAwMDAwMDAwLCAweGY3N2ZkNDIzMDAwMDAwMDAsCisgICAgMHg2MjZkNDE5YjAwMDAwMDAwLCAweGM4Njg5YjZhMDAwMDAwMDAsIDB4Nzc2MDg0YTMwMDAwMDAwMCwKKyAgICAweGRkNjU1ZTUyMDAwMDAwMDAsIDB4MWM0M2RmMDkwMDAwMDAwMCwgMHhiNjQ2MDVmODAwMDAwMDAwLAorICAgIDB4MDk0ZTFhMzEwMDAwMDAwMCwgMHhhMzRiYzBjMDAwMDAwMDAwLCAweDM2NTk1NTc4MDAwMDAwMDAsCisgICAgMHg5YzVjOGY4OTAwMDAwMDAwLCAweDIzNTQ5MDQwMDAwMDAwMDAsIDB4ODk1MTRhYjEwMDAwMDAwMCwKKyAgICAweGExMTk5MmY3MDAwMDAwMDAsIDB4MGIxYzQ4MDYwMDAwMDAwMCwgMHhiNDE0NTdjZjAwMDAwMDAwLAorICAgIDB4MWUxMThkM2UwMDAwMDAwMCwgMHg4YjAzMTg4NjAwMDAwMDAwLCAweDIxMDZjMjc3MDAwMDAwMDAsCisgICAgMHg5ZTBlZGRiZTAwMDAwMDAwLCAweDM0MGIwNzRmMDAwMDAwMDAsIDB4ZjUyZDg2MTQwMDAwMDAwMCwKKyAgICAweDVmMjg1Y2U1MDAwMDAwMDAsIDB4ZTAyMDQzMmMwMDAwMDAwMCwgMHg0YTI1OTlkZDAwMDAwMDAwLAorICAgIDB4ZGYzNzBjNjUwMDAwMDAwMCwgMHg3NTMyZDY5NDAwMDAwMDAwLCAweGNhM2FjOTVkMDAwMDAwMDAsCisgICAgMHg2MDNmMTNhYzAwMDAwMDAwLCAweDlhYWE3OWQwMDAwMDAwMDAsIDB4MzBhZmEzMjEwMDAwMDAwMCwKKyAgICAweDhmYTdiY2U4MDAwMDAwMDAsIDB4MjVhMjY2MTkwMDAwMDAwMCwgMHhiMGIwZjNhMTAwMDAwMDAwLAorICAgIDB4MWFiNTI5NTAwMDAwMDAwMCwgMHhhNWJkMzY5OTAwMDAwMDAwLCAweDBmYjhlYzY4MDAwMDAwMDAsCisgICAgMHhjZTllNmQzMzAwMDAwMDAwLCAweDY0OWJiN2MyMDAwMDAwMDAsIDB4ZGI5M2E4MGIwMDAwMDAwMCwKKyAgICAweDcxOTY3MmZhMDAwMDAwMDAsIDB4ZTQ4NGU3NDIwMDAwMDAwMCwgMHg0ZTgxM2RiMzAwMDAwMDAwLAorICAgIDB4ZjE4OTIyN2EwMDAwMDAwMCwgMHg1YjhjZjg4YjAwMDAwMDAwLCAweDczYzQyMGNkMDAwMDAwMDAsCisgICAgMHhkOWMxZmEzYzAwMDAwMDAwLCAweDY2YzllNWY1MDAwMDAwMDAsIDB4Y2NjYzNmMDQwMDAwMDAwMCwKKyAgICAweDU5ZGVhYWJjMDAwMDAwMDAsIDB4ZjNkYjcwNGQwMDAwMDAwMCwgMHg0Y2QzNmY4NDAwMDAwMDAwLAorICAgIDB4ZTZkNmI1NzUwMDAwMDAwMCwgMHgyN2YwMzQyZTAwMDAwMDAwLCAweDhkZjVlZWRmMDAwMDAwMDAsCisgICAgMHgzMmZkZjExNjAwMDAwMDAwLCAweDk4ZjgyYmU3MDAwMDAwMDAsIDB4MGRlYWJlNWYwMDAwMDAwMCwKKyAgICAweGE3ZWY2NGFlMDAwMDAwMDAsIDB4MThlNzdiNjcwMDAwMDAwMCwgMHhiMmUyYTE5NjAwMDAwMDAwLAorICAgIDB4ZWNjY2FlOWYwMDAwMDAwMCwgMHg0NmM5NzQ2ZTAwMDAwMDAwLCAweGY5YzE2YmE3MDAwMDAwMDAsCisgICAgMHg1M2M0YjE1NjAwMDAwMDAwLCAweGM2ZDYyNGVlMDAwMDAwMDAsIDB4NmNkM2ZlMWYwMDAwMDAwMCwKKyAgICAweGQzZGJlMWQ2MDAwMDAwMDAsIDB4NzlkZTNiMjcwMDAwMDAwMCwgMHhiOGY4YmE3YzAwMDAwMDAwLAorICAgIDB4MTJmZDYwOGQwMDAwMDAwMCwgMHhhZGY1N2Y0NDAwMDAwMDAwLCAweDA3ZjBhNWI1MDAwMDAwMDAsCisgICAgMHg5MmUyMzAwZDAwMDAwMDAwLCAweDM4ZTdlYWZjMDAwMDAwMDAsIDB4ODdlZmY1MzUwMDAwMDAwMCwKKyAgICAweDJkZWEyZmM0MDAwMDAwMDAsIDB4MDVhMmY3ODIwMDAwMDAwMCwgMHhhZmE3MmQ3MzAwMDAwMDAwLAorICAgIDB4MTBhZjMyYmEwMDAwMDAwMCwgMHhiYWFhZTg0YjAwMDAwMDAwLCAweDJmYjg3ZGYzMDAwMDAwMDAsCisgICAgMHg4NWJkYTcwMjAwMDAwMDAwLCAweDNhYjViOGNiMDAwMDAwMDAsIDB4OTBiMDYyM2EwMDAwMDAwMCwKKyAgICAweDUxOTZlMzYxMDAwMDAwMDAsIDB4ZmI5MzM5OTAwMDAwMDAwMCwgMHg0NDliMjY1OTAwMDAwMDAwLAorICAgIDB4ZWU5ZWZjYTgwMDAwMDAwMCwgMHg3YjhjNjkxMDAwMDAwMDAwLCAweGQxODliM2UxMDAwMDAwMDAsCisgICAgMHg2ZTgxYWMyODAwMDAwMDAwLCAweGM0ODQ3NmQ5MDAwMDAwMDAsIDB4M2UxMTFjYTUwMDAwMDAwMCwKKyAgICAweDk0MTRjNjU0MDAwMDAwMDAsIDB4MmIxY2Q5OWQwMDAwMDAwMCwgMHg4MTE5MDM2YzAwMDAwMDAwLAorICAgIDB4MTQwYjk2ZDQwMDAwMDAwMCwgMHhiZTBlNGMyNTAwMDAwMDAwLCAweDAxMDY1M2VjMDAwMDAwMDAsCisgICAgMHhhYjAzODkxZDAwMDAwMDAwLCAweDZhMjUwODQ2MDAwMDAwMDAsIDB4YzAyMGQyYjcwMDAwMDAwMCwKKyAgICAweDdmMjhjZDdlMDAwMDAwMDAsIDB4ZDUyZDE3OGYwMDAwMDAwMCwgMHg0MDNmODIzNzAwMDAwMDAwLAorICAgIDB4ZWEzYTU4YzYwMDAwMDAwMCwgMHg1NTMyNDcwZjAwMDAwMDAwLCAweGZmMzc5ZGZlMDAwMDAwMDAsCisgICAgMHhkNzdmNDViODAwMDAwMDAwLCAweDdkN2E5ZjQ5MDAwMDAwMDAsIDB4YzI3MjgwODAwMDAwMDAwMCwKKyAgICAweDY4Nzc1YTcxMDAwMDAwMDAsIDB4ZmQ2NWNmYzkwMDAwMDAwMCwgMHg1NzYwMTUzODAwMDAwMDAwLAorICAgIDB4ZTg2ODBhZjEwMDAwMDAwMCwgMHg0MjZkZDAwMDAwMDAwMDAwLCAweDgzNGI1MTViMDAwMDAwMDAsCisgICAgMHgyOTRlOGJhYTAwMDAwMDAwLCAweDk2NDY5NDYzMDAwMDAwMDAsIDB4M2M0MzRlOTIwMDAwMDAwMCwKKyAgICAweGE5NTFkYjJhMDAwMDAwMDAsIDB4MDM1NDAxZGIwMDAwMDAwMCwgMHhiYzVjMWUxMjAwMDAwMDAwLAorICAgIDB4MTY1OWM0ZTMwMDAwMDAwMH19OworCisjZWxzZSAvKiBXID09IDQgKi8KKworbG9jYWwgY29uc3Qgel9jcmNfdCBGQVIgY3JjX2JyYWlkX3RhYmxlW11bMjU2XSA9IHsKKyAgIHsweDAwMDAwMDAwLCAweGFlNjg5MTkxLCAweDg3YTAyNTYzLCAweDI5YzhiNGYyLCAweGQ0MzE0Yzg3LAorICAgIDB4N2E1OWRkMTYsIDB4NTM5MTY5ZTQsIDB4ZmRmOWY4NzUsIDB4NzMxMzlmNGYsIDB4ZGQ3YjBlZGUsCisgICAgMHhmNGIzYmEyYywgMHg1YWRiMmJiZCwgMHhhNzIyZDNjOCwgMHgwOTRhNDI1OSwgMHgyMDgyZjZhYiwKKyAgICAweDhlZWE2NzNhLCAweGU2MjczZTllLCAweDQ4NGZhZjBmLCAweDYxODcxYmZkLCAweGNmZWY4YTZjLAorICAgIDB4MzIxNjcyMTksIDB4OWM3ZWUzODgsIDB4YjViNjU3N2EsIDB4MWJkZWM2ZWIsIDB4OTUzNGExZDEsCisgICAgMHgzYjVjMzA0MCwgMHgxMjk0ODRiMiwgMHhiY2ZjMTUyMywgMHg0MTA1ZWQ1NiwgMHhlZjZkN2NjNywKKyAgICAweGM2YTVjODM1LCAweDY4Y2Q1OWE0LCAweDE3M2Y3YjdkLCAweGI5NTdlYWVjLCAweDkwOWY1ZTFlLAorICAgIDB4M2VmN2NmOGYsIDB4YzMwZTM3ZmEsIDB4NmQ2NmE2NmIsIDB4NDRhZTEyOTksIDB4ZWFjNjgzMDgsCisgICAgMHg2NDJjZTQzMiwgMHhjYTQ0NzVhMywgMHhlMzhjYzE1MSwgMHg0ZGU0NTBjMCwgMHhiMDFkYThiNSwKKyAgICAweDFlNzUzOTI0LCAweDM3YmQ4ZGQ2LCAweDk5ZDUxYzQ3LCAweGYxMTg0NWUzLCAweDVmNzBkNDcyLAorICAgIDB4NzZiODYwODAsIDB4ZDhkMGYxMTEsIDB4MjUyOTA5NjQsIDB4OGI0MTk4ZjUsIDB4YTI4OTJjMDcsCisgICAgMHgwY2UxYmQ5NiwgMHg4MjBiZGFhYywgMHgyYzYzNGIzZCwgMHgwNWFiZmZjZiwgMHhhYmMzNmU1ZSwKKyAgICAweDU2M2E5NjJiLCAweGY4NTIwN2JhLCAweGQxOWFiMzQ4LCAweDdmZjIyMmQ5LCAweDJlN2VmNmZhLAorICAgIDB4ODAxNjY3NmIsIDB4YTlkZWQzOTksIDB4MDdiNjQyMDgsIDB4ZmE0ZmJhN2QsIDB4NTQyNzJiZWMsCisgICAgMHg3ZGVmOWYxZSwgMHhkMzg3MGU4ZiwgMHg1ZDZkNjliNSwgMHhmMzA1ZjgyNCwgMHhkYWNkNGNkNiwKKyAgICAweDc0YTVkZDQ3LCAweDg5NWMyNTMyLCAweDI3MzRiNGEzLCAweDBlZmMwMDUxLCAweGEwOTQ5MWMwLAorICAgIDB4Yzg1OWM4NjQsIDB4NjYzMTU5ZjUsIDB4NGZmOWVkMDcsIDB4ZTE5MTdjOTYsIDB4MWM2ODg0ZTMsCisgICAgMHhiMjAwMTU3MiwgMHg5YmM4YTE4MCwgMHgzNWEwMzAxMSwgMHhiYjRhNTcyYiwgMHgxNTIyYzZiYSwKKyAgICAweDNjZWE3MjQ4LCAweDkyODJlM2Q5LCAweDZmN2IxYmFjLCAweGMxMTM4YTNkLCAweGU4ZGIzZWNmLAorICAgIDB4NDZiM2FmNWUsIDB4Mzk0MThkODcsIDB4OTcyOTFjMTYsIDB4YmVlMWE4ZTQsIDB4MTA4OTM5NzUsCisgICAgMHhlZDcwYzEwMCwgMHg0MzE4NTA5MSwgMHg2YWQwZTQ2MywgMHhjNGI4NzVmMiwgMHg0YTUyMTJjOCwKKyAgICAweGU0M2E4MzU5LCAweGNkZjIzN2FiLCAweDYzOWFhNjNhLCAweDllNjM1ZTRmLCAweDMwMGJjZmRlLAorICAgIDB4MTljMzdiMmMsIDB4YjdhYmVhYmQsIDB4ZGY2NmIzMTksIDB4NzEwZTIyODgsIDB4NThjNjk2N2EsCisgICAgMHhmNmFlMDdlYiwgMHgwYjU3ZmY5ZSwgMHhhNTNmNmUwZiwgMHg4Y2Y3ZGFmZCwgMHgyMjlmNGI2YywKKyAgICAweGFjNzUyYzU2LCAweDAyMWRiZGM3LCAweDJiZDUwOTM1LCAweDg1YmQ5OGE0LCAweDc4NDQ2MGQxLAorICAgIDB4ZDYyY2YxNDAsIDB4ZmZlNDQ1YjIsIDB4NTE4Y2Q0MjMsIDB4NWNmZGVkZjQsIDB4ZjI5NTdjNjUsCisgICAgMHhkYjVkYzg5NywgMHg3NTM1NTkwNiwgMHg4OGNjYTE3MywgMHgyNmE0MzBlMiwgMHgwZjZjODQxMCwKKyAgICAweGExMDQxNTgxLCAweDJmZWU3MmJiLCAweDgxODZlMzJhLCAweGE4NGU1N2Q4LCAweDA2MjZjNjQ5LAorICAgIDB4ZmJkZjNlM2MsIDB4NTViN2FmYWQsIDB4N2M3ZjFiNWYsIDB4ZDIxNzhhY2UsIDB4YmFkYWQzNmEsCisgICAgMHgxNGIyNDJmYiwgMHgzZDdhZjYwOSwgMHg5MzEyNjc5OCwgMHg2ZWViOWZlZCwgMHhjMDgzMGU3YywKKyAgICAweGU5NGJiYThlLCAweDQ3MjMyYjFmLCAweGM5Yzk0YzI1LCAweDY3YTFkZGI0LCAweDRlNjk2OTQ2LAorICAgIDB4ZTAwMWY4ZDcsIDB4MWRmODAwYTIsIDB4YjM5MDkxMzMsIDB4OWE1ODI1YzEsIDB4MzQzMGI0NTAsCisgICAgMHg0YmMyOTY4OSwgMHhlNWFhMDcxOCwgMHhjYzYyYjNlYSwgMHg2MjBhMjI3YiwgMHg5ZmYzZGEwZSwKKyAgICAweDMxOWI0YjlmLCAweDE4NTNmZjZkLCAweGI2M2I2ZWZjLCAweDM4ZDEwOWM2LCAweDk2Yjk5ODU3LAorICAgIDB4YmY3MTJjYTUsIDB4MTExOWJkMzQsIDB4ZWNlMDQ1NDEsIDB4NDI4OGQ0ZDAsIDB4NmI0MDYwMjIsCisgICAgMHhjNTI4ZjFiMywgMHhhZGU1YTgxNywgMHgwMzhkMzk4NiwgMHgyYTQ1OGQ3NCwgMHg4NDJkMWNlNSwKKyAgICAweDc5ZDRlNDkwLCAweGQ3YmM3NTAxLCAweGZlNzRjMWYzLCAweDUwMWM1MDYyLCAweGRlZjYzNzU4LAorICAgIDB4NzA5ZWE2YzksIDB4NTk1NjEyM2IsIDB4ZjczZTgzYWEsIDB4MGFjNzdiZGYsIDB4YTRhZmVhNGUsCisgICAgMHg4ZDY3NWViYywgMHgyMzBmY2YyZCwgMHg3MjgzMWIwZSwgMHhkY2ViOGE5ZiwgMHhmNTIzM2U2ZCwKKyAgICAweDViNGJhZmZjLCAweGE2YjI1Nzg5LCAweDA4ZGFjNjE4LCAweDIxMTI3MmVhLCAweDhmN2FlMzdiLAorICAgIDB4MDE5MDg0NDEsIDB4YWZmODE1ZDAsIDB4ODYzMGExMjIsIDB4Mjg1ODMwYjMsIDB4ZDVhMWM4YzYsCisgICAgMHg3YmM5NTk1NywgMHg1MjAxZWRhNSwgMHhmYzY5N2MzNCwgMHg5NGE0MjU5MCwgMHgzYWNjYjQwMSwKKyAgICAweDEzMDQwMGYzLCAweGJkNmM5MTYyLCAweDQwOTU2OTE3LCAweGVlZmRmODg2LCAweGM3MzU0Yzc0LAorICAgIDB4Njk1ZGRkZTUsIDB4ZTdiN2JhZGYsIDB4NDlkZjJiNGUsIDB4NjAxNzlmYmMsIDB4Y2U3ZjBlMmQsCisgICAgMHgzMzg2ZjY1OCwgMHg5ZGVlNjdjOSwgMHhiNDI2ZDMzYiwgMHgxYTRlNDJhYSwgMHg2NWJjNjA3MywKKyAgICAweGNiZDRmMWUyLCAweGUyMWM0NTEwLCAweDRjNzRkNDgxLCAweGIxOGQyY2Y0LCAweDFmZTViZDY1LAorICAgIDB4MzYyZDA5OTcsIDB4OTg0NTk4MDYsIDB4MTZhZmZmM2MsIDB4YjhjNzZlYWQsIDB4OTEwZmRhNWYsCisgICAgMHgzZjY3NGJjZSwgMHhjMjllYjNiYiwgMHg2Y2Y2MjIyYSwgMHg0NTNlOTZkOCwgMHhlYjU2MDc0OSwKKyAgICAweDgzOWI1ZWVkLCAweDJkZjNjZjdjLCAweDA0M2I3YjhlLCAweGFhNTNlYTFmLCAweDU3YWExMjZhLAorICAgIDB4ZjljMjgzZmIsIDB4ZDAwYTM3MDksIDB4N2U2MmE2OTgsIDB4ZjA4OGMxYTIsIDB4NWVlMDUwMzMsCisgICAgMHg3NzI4ZTRjMSwgMHhkOTQwNzU1MCwgMHgyNGI5OGQyNSwgMHg4YWQxMWNiNCwgMHhhMzE5YTg0NiwKKyAgICAweDBkNzEzOWQ3fSwKKyAgIHsweDAwMDAwMDAwLCAweGI5ZmJkYmU4LCAweGE4ODZiMTkxLCAweDExN2Q2YTc5LCAweDhhN2M2NTYzLAorICAgIDB4MzM4N2JlOGIsIDB4MjJmYWQ0ZjIsIDB4OWIwMTBmMWEsIDB4Y2Y4OWNjODcsIDB4NzY3MjE3NmYsCisgICAgMHg2NzBmN2QxNiwgMHhkZWY0YTZmZSwgMHg0NWY1YTllNCwgMHhmYzBlNzIwYywgMHhlZDczMTg3NSwKKyAgICAweDU0ODhjMzlkLCAweDQ0NjI5ZjRmLCAweGZkOTk0NGE3LCAweGVjZTQyZWRlLCAweDU1MWZmNTM2LAorICAgIDB4Y2UxZWZhMmMsIDB4NzdlNTIxYzQsIDB4NjY5ODRiYmQsIDB4ZGY2MzkwNTUsIDB4OGJlYjUzYzgsCisgICAgMHgzMjEwODgyMCwgMHgyMzZkZTI1OSwgMHg5YTk2MzliMSwgMHgwMTk3MzZhYiwgMHhiODZjZWQ0MywKKyAgICAweGE5MTE4NzNhLCAweDEwZWE1Y2QyLCAweDg4YzUzZTllLCAweDMxM2VlNTc2LCAweDIwNDM4ZjBmLAorICAgIDB4OTliODU0ZTcsIDB4MDJiOTViZmQsIDB4YmI0MjgwMTUsIDB4YWEzZmVhNmMsIDB4MTNjNDMxODQsCisgICAgMHg0NzRjZjIxOSwgMHhmZWI3MjlmMSwgMHhlZmNhNDM4OCwgMHg1NjMxOTg2MCwgMHhjZDMwOTc3YSwKKyAgICAweDc0Y2I0YzkyLCAweDY1YjYyNmViLCAweGRjNGRmZDAzLCAweGNjYTdhMWQxLCAweDc1NWM3YTM5LAorICAgIDB4NjQyMTEwNDAsIDB4ZGRkYWNiYTgsIDB4NDZkYmM0YjIsIDB4ZmYyMDFmNWEsIDB4ZWU1ZDc1MjMsCisgICAgMHg1N2E2YWVjYiwgMHgwMzJlNmQ1NiwgMHhiYWQ1YjZiZSwgMHhhYmE4ZGNjNywgMHgxMjUzMDcyZiwKKyAgICAweDg5NTIwODM1LCAweDMwYTlkM2RkLCAweDIxZDRiOWE0LCAweDk4MmY2MjRjLCAweGNhZmI3YjdkLAorICAgIDB4NzMwMGEwOTUsIDB4NjI3ZGNhZWMsIDB4ZGI4NjExMDQsIDB4NDA4NzFlMWUsIDB4Zjk3Y2M1ZjYsCisgICAgMHhlODAxYWY4ZiwgMHg1MWZhNzQ2NywgMHgwNTcyYjdmYSwgMHhiYzg5NmMxMiwgMHhhZGY0MDY2YiwKKyAgICAweDE0MGZkZDgzLCAweDhmMGVkMjk5LCAweDM2ZjUwOTcxLCAweDI3ODg2MzA4LCAweDllNzNiOGUwLAorICAgIDB4OGU5OWU0MzIsIDB4Mzc2MjNmZGEsIDB4MjYxZjU1YTMsIDB4OWZlNDhlNGIsIDB4MDRlNTgxNTEsCisgICAgMHhiZDFlNWFiOSwgMHhhYzYzMzBjMCwgMHgxNTk4ZWIyOCwgMHg0MTEwMjhiNSwgMHhmOGViZjM1ZCwKKyAgICAweGU5OTY5OTI0LCAweDUwNmQ0MmNjLCAweGNiNmM0ZGQ2LCAweDcyOTc5NjNlLCAweDYzZWFmYzQ3LAorICAgIDB4ZGExMTI3YWYsIDB4NDIzZTQ1ZTMsIDB4ZmJjNTllMGIsIDB4ZWFiOGY0NzIsIDB4NTM0MzJmOWEsCisgICAgMHhjODQyMjA4MCwgMHg3MWI5ZmI2OCwgMHg2MGM0OTExMSwgMHhkOTNmNGFmOSwgMHg4ZGI3ODk2NCwKKyAgICAweDM0NGM1MjhjLCAweDI1MzEzOGY1LCAweDljY2FlMzFkLCAweDA3Y2JlYzA3LCAweGJlMzAzN2VmLAorICAgIDB4YWY0ZDVkOTYsIDB4MTZiNjg2N2UsIDB4MDY1Y2RhYWMsIDB4YmZhNzAxNDQsIDB4YWVkYTZiM2QsCisgICAgMHgxNzIxYjBkNSwgMHg4YzIwYmZjZiwgMHgzNWRiNjQyNywgMHgyNGE2MGU1ZSwgMHg5ZDVkZDViNiwKKyAgICAweGM5ZDUxNjJiLCAweDcwMmVjZGMzLCAweDYxNTNhN2JhLCAweGQ4YTg3YzUyLCAweDQzYTk3MzQ4LAorICAgIDB4ZmE1MmE4YTAsIDB4ZWIyZmMyZDksIDB4NTJkNDE5MzEsIDB4NGU4N2YwYmIsIDB4Zjc3YzJiNTMsCisgICAgMHhlNjAxNDEyYSwgMHg1ZmZhOWFjMiwgMHhjNGZiOTVkOCwgMHg3ZDAwNGUzMCwgMHg2YzdkMjQ0OSwKKyAgICAweGQ1ODZmZmExLCAweDgxMGUzYzNjLCAweDM4ZjVlN2Q0LCAweDI5ODg4ZGFkLCAweDkwNzM1NjQ1LAorICAgIDB4MGI3MjU5NWYsIDB4YjI4OTgyYjcsIDB4YTNmNGU4Y2UsIDB4MWEwZjMzMjYsIDB4MGFlNTZmZjQsCisgICAgMHhiMzFlYjQxYywgMHhhMjYzZGU2NSwgMHgxYjk4MDU4ZCwgMHg4MDk5MGE5NywgMHgzOTYyZDE3ZiwKKyAgICAweDI4MWZiYjA2LCAweDkxZTQ2MGVlLCAweGM1NmNhMzczLCAweDdjOTc3ODliLCAweDZkZWExMmUyLAorICAgIDB4ZDQxMWM5MGEsIDB4NGYxMGM2MTAsIDB4ZjZlYjFkZjgsIDB4ZTc5Njc3ODEsIDB4NWU2ZGFjNjksCisgICAgMHhjNjQyY2UyNSwgMHg3ZmI5MTVjZCwgMHg2ZWM0N2ZiNCwgMHhkNzNmYTQ1YywgMHg0YzNlYWI0NiwKKyAgICAweGY1YzU3MGFlLCAweGU0YjgxYWQ3LCAweDVkNDNjMTNmLCAweDA5Y2IwMmEyLCAweGIwMzBkOTRhLAorICAgIDB4YTE0ZGIzMzMsIDB4MThiNjY4ZGIsIDB4ODNiNzY3YzEsIDB4M2E0Y2JjMjksIDB4MmIzMWQ2NTAsCisgICAgMHg5MmNhMGRiOCwgMHg4MjIwNTE2YSwgMHgzYmRiOGE4MiwgMHgyYWE2ZTBmYiwgMHg5MzVkM2IxMywKKyAgICAweDA4NWMzNDA5LCAweGIxYTdlZmUxLCAweGEwZGE4NTk4LCAweDE5MjE1ZTcwLCAweDRkYTk5ZGVkLAorICAgIDB4ZjQ1MjQ2MDUsIDB4ZTUyZjJjN2MsIDB4NWNkNGY3OTQsIDB4YzdkNWY4OGUsIDB4N2UyZTIzNjYsCisgICAgMHg2ZjUzNDkxZiwgMHhkNmE4OTJmNywgMHg4NDdjOGJjNiwgMHgzZDg3NTAyZSwgMHgyY2ZhM2E1NywKKyAgICAweDk1MDFlMWJmLCAweDBlMDBlZWE1LCAweGI3ZmIzNTRkLCAweGE2ODY1ZjM0LCAweDFmN2Q4NGRjLAorICAgIDB4NGJmNTQ3NDEsIDB4ZjIwZTljYTksIDB4ZTM3M2Y2ZDAsIDB4NWE4ODJkMzgsIDB4YzE4OTIyMjIsCisgICAgMHg3ODcyZjljYSwgMHg2OTBmOTNiMywgMHhkMGY0NDg1YiwgMHhjMDFlMTQ4OSwgMHg3OWU1Y2Y2MSwKKyAgICAweDY4OThhNTE4LCAweGQxNjM3ZWYwLCAweDRhNjI3MWVhLCAweGYzOTlhYTAyLCAweGUyZTRjMDdiLAorICAgIDB4NWIxZjFiOTMsIDB4MGY5N2Q4MGUsIDB4YjY2YzAzZTYsIDB4YTcxMTY5OWYsIDB4MWVlYWIyNzcsCisgICAgMHg4NWViYmQ2ZCwgMHgzYzEwNjY4NSwgMHgyZDZkMGNmYywgMHg5NDk2ZDcxNCwgMHgwY2I5YjU1OCwKKyAgICAweGI1NDI2ZWIwLCAweGE0M2YwNGM5LCAweDFkYzRkZjIxLCAweDg2YzVkMDNiLCAweDNmM2UwYmQzLAorICAgIDB4MmU0MzYxYWEsIDB4OTdiOGJhNDIsIDB4YzMzMDc5ZGYsIDB4N2FjYmEyMzcsIDB4NmJiNmM4NGUsCisgICAgMHhkMjRkMTNhNiwgMHg0OTRjMWNiYywgMHhmMGI3Yzc1NCwgMHhlMWNhYWQyZCwgMHg1ODMxNzZjNSwKKyAgICAweDQ4ZGIyYTE3LCAweGYxMjBmMWZmLCAweGUwNWQ5Yjg2LCAweDU5YTY0MDZlLCAweGMyYTc0Zjc0LAorICAgIDB4N2I1Yzk0OWMsIDB4NmEyMWZlZTUsIDB4ZDNkYTI1MGQsIDB4ODc1MmU2OTAsIDB4M2VhOTNkNzgsCisgICAgMHgyZmQ0NTcwMSwgMHg5NjJmOGNlOSwgMHgwZDJlODNmMywgMHhiNGQ1NTgxYiwgMHhhNWE4MzI2MiwKKyAgICAweDFjNTNlOThhfSwKKyAgIHsweDAwMDAwMDAwLCAweDlkMGZlMTc2LCAweGUxNmVjNGFkLCAweDdjNjEyNWRiLCAweDE5YWM4ZjFiLAorICAgIDB4ODRhMzZlNmQsIDB4ZjhjMjRiYjYsIDB4NjVjZGFhYzAsIDB4MzM1OTFlMzYsIDB4YWU1NmZmNDAsCisgICAgMHhkMjM3ZGE5YiwgMHg0ZjM4M2JlZCwgMHgyYWY1OTEyZCwgMHhiN2ZhNzA1YiwgMHhjYjliNTU4MCwKKyAgICAweDU2OTRiNGY2LCAweDY2YjIzYzZjLCAweGZiYmRkZDFhLCAweDg3ZGNmOGMxLCAweDFhZDMxOWI3LAorICAgIDB4N2YxZWIzNzcsIDB4ZTIxMTUyMDEsIDB4OWU3MDc3ZGEsIDB4MDM3Zjk2YWMsIDB4NTVlYjIyNWEsCisgICAgMHhjOGU0YzMyYywgMHhiNDg1ZTZmNywgMHgyOThhMDc4MSwgMHg0YzQ3YWQ0MSwgMHhkMTQ4NGMzNywKKyAgICAweGFkMjk2OWVjLCAweDMwMjY4ODlhLCAweGNkNjQ3OGQ4LCAweDUwNmI5OWFlLCAweDJjMGFiYzc1LAorICAgIDB4YjEwNTVkMDMsIDB4ZDRjOGY3YzMsIDB4NDljNzE2YjUsIDB4MzVhNjMzNmUsIDB4YThhOWQyMTgsCisgICAgMHhmZTNkNjZlZSwgMHg2MzMyODc5OCwgMHgxZjUzYTI0MywgMHg4MjVjNDMzNSwgMHhlNzkxZTlmNSwKKyAgICAweDdhOWUwODgzLCAweDA2ZmYyZDU4LCAweDliZjBjYzJlLCAweGFiZDY0NGI0LCAweDM2ZDlhNWMyLAorICAgIDB4NGFiODgwMTksIDB4ZDdiNzYxNmYsIDB4YjI3YWNiYWYsIDB4MmY3NTJhZDksIDB4NTMxNDBmMDIsCisgICAgMHhjZTFiZWU3NCwgMHg5ODhmNWE4MiwgMHgwNTgwYmJmNCwgMHg3OWUxOWUyZiwgMHhlNGVlN2Y1OSwKKyAgICAweDgxMjNkNTk5LCAweDFjMmMzNGVmLCAweDYwNGQxMTM0LCAweGZkNDJmMDQyLCAweDQxYjlmN2YxLAorICAgIDB4ZGNiNjE2ODcsIDB4YTBkNzMzNWMsIDB4M2RkOGQyMmEsIDB4NTgxNTc4ZWEsIDB4YzUxYTk5OWMsCisgICAgMHhiOTdiYmM0NywgMHgyNDc0NWQzMSwgMHg3MmUwZTljNywgMHhlZmVmMDhiMSwgMHg5MzhlMmQ2YSwKKyAgICAweDBlODFjYzFjLCAweDZiNGM2NmRjLCAweGY2NDM4N2FhLCAweDhhMjJhMjcxLCAweDE3MmQ0MzA3LAorICAgIDB4MjcwYmNiOWQsIDB4YmEwNDJhZWIsIDB4YzY2NTBmMzAsIDB4NWI2YWVlNDYsIDB4M2VhNzQ0ODYsCisgICAgMHhhM2E4YTVmMCwgMHhkZmM5ODAyYiwgMHg0MmM2NjE1ZCwgMHgxNDUyZDVhYiwgMHg4OTVkMzRkZCwKKyAgICAweGY1M2MxMTA2LCAweDY4MzNmMDcwLCAweDBkZmU1YWIwLCAweDkwZjFiYmM2LCAweGVjOTA5ZTFkLAorICAgIDB4NzE5ZjdmNmIsIDB4OGNkZDhmMjksIDB4MTFkMjZlNWYsIDB4NmRiMzRiODQsIDB4ZjBiY2FhZjIsCisgICAgMHg5NTcxMDAzMiwgMHgwODdlZTE0NCwgMHg3NDFmYzQ5ZiwgMHhlOTEwMjVlOSwgMHhiZjg0OTExZiwKKyAgICAweDIyOGI3MDY5LCAweDVlZWE1NWIyLCAweGMzZTViNGM0LCAweGE2MjgxZTA0LCAweDNiMjdmZjcyLAorICAgIDB4NDc0NmRhYTksIDB4ZGE0OTNiZGYsIDB4ZWE2ZmIzNDUsIDB4Nzc2MDUyMzMsIDB4MGIwMTc3ZTgsCisgICAgMHg5NjBlOTY5ZSwgMHhmM2MzM2M1ZSwgMHg2ZWNjZGQyOCwgMHgxMmFkZjhmMywgMHg4ZmEyMTk4NSwKKyAgICAweGQ5MzZhZDczLCAweDQ0Mzk0YzA1LCAweDM4NTg2OWRlLCAweGE1NTc4OGE4LCAweGMwOWEyMjY4LAorICAgIDB4NWQ5NWMzMWUsIDB4MjFmNGU2YzUsIDB4YmNmYjA3YjMsIDB4ODM3M2VmZTIsIDB4MWU3YzBlOTQsCisgICAgMHg2MjFkMmI0ZiwgMHhmZjEyY2EzOSwgMHg5YWRmNjBmOSwgMHgwN2QwODE4ZiwgMHg3YmIxYTQ1NCwKKyAgICAweGU2YmU0NTIyLCAweGIwMmFmMWQ0LCAweDJkMjUxMGEyLCAweDUxNDQzNTc5LCAweGNjNGJkNDBmLAorICAgIDB4YTk4NjdlY2YsIDB4MzQ4OTlmYjksIDB4NDhlOGJhNjIsIDB4ZDVlNzViMTQsIDB4ZTVjMWQzOGUsCisgICAgMHg3OGNlMzJmOCwgMHgwNGFmMTcyMywgMHg5OWEwZjY1NSwgMHhmYzZkNWM5NSwgMHg2MTYyYmRlMywKKyAgICAweDFkMDM5ODM4LCAweDgwMGM3OTRlLCAweGQ2OThjZGI4LCAweDRiOTcyY2NlLCAweDM3ZjYwOTE1LAorICAgIDB4YWFmOWU4NjMsIDB4Y2YzNDQyYTMsIDB4NTIzYmEzZDUsIDB4MmU1YTg2MGUsIDB4YjM1NTY3NzgsCisgICAgMHg0ZTE3OTczYSwgMHhkMzE4NzY0YywgMHhhZjc5NTM5NywgMHgzMjc2YjJlMSwgMHg1N2JiMTgyMSwKKyAgICAweGNhYjRmOTU3LCAweGI2ZDVkYzhjLCAweDJiZGEzZGZhLCAweDdkNGU4OTBjLCAweGUwNDE2ODdhLAorICAgIDB4OWMyMDRkYTEsIDB4MDEyZmFjZDcsIDB4NjRlMjA2MTcsIDB4ZjllZGU3NjEsIDB4ODU4Y2MyYmEsCisgICAgMHgxODgzMjNjYywgMHgyOGE1YWI1NiwgMHhiNWFhNGEyMCwgMHhjOWNiNmZmYiwgMHg1NGM0OGU4ZCwKKyAgICAweDMxMDkyNDRkLCAweGFjMDZjNTNiLCAweGQwNjdlMGUwLCAweDRkNjgwMTk2LCAweDFiZmNiNTYwLAorICAgIDB4ODZmMzU0MTYsIDB4ZmE5MjcxY2QsIDB4Njc5ZDkwYmIsIDB4MDI1MDNhN2IsIDB4OWY1ZmRiMGQsCisgICAgMHhlMzNlZmVkNiwgMHg3ZTMxMWZhMCwgMHhjMmNhMTgxMywgMHg1ZmM1Zjk2NSwgMHgyM2E0ZGNiZSwKKyAgICAweGJlYWIzZGM4LCAweGRiNjY5NzA4LCAweDQ2Njk3NjdlLCAweDNhMDg1M2E1LCAweGE3MDdiMmQzLAorICAgIDB4ZjE5MzA2MjUsIDB4NmM5Y2U3NTMsIDB4MTBmZGMyODgsIDB4OGRmMjIzZmUsIDB4ZTgzZjg5M2UsCisgICAgMHg3NTMwNjg0OCwgMHgwOTUxNGQ5MywgMHg5NDVlYWNlNSwgMHhhNDc4MjQ3ZiwgMHgzOTc3YzUwOSwKKyAgICAweDQ1MTZlMGQyLCAweGQ4MTkwMWE0LCAweGJkZDRhYjY0LCAweDIwZGI0YTEyLCAweDVjYmE2ZmM5LAorICAgIDB4YzFiNThlYmYsIDB4OTcyMTNhNDksIDB4MGEyZWRiM2YsIDB4NzY0ZmZlZTQsIDB4ZWI0MDFmOTIsCisgICAgMHg4ZThkYjU1MiwgMHgxMzgyNTQyNCwgMHg2ZmUzNzFmZiwgMHhmMmVjOTA4OSwgMHgwZmFlNjBjYiwKKyAgICAweDkyYTE4MWJkLCAweGVlYzBhNDY2LCAweDczY2Y0NTEwLCAweDE2MDJlZmQwLCAweDhiMGQwZWE2LAorICAgIDB4Zjc2YzJiN2QsIDB4NmE2M2NhMGIsIDB4M2NmNzdlZmQsIDB4YTFmODlmOGIsIDB4ZGQ5OWJhNTAsCisgICAgMHg0MDk2NWIyNiwgMHgyNTViZjFlNiwgMHhiODU0MTA5MCwgMHhjNDM1MzU0YiwgMHg1OTNhZDQzZCwKKyAgICAweDY5MWM1Y2E3LCAweGY0MTNiZGQxLCAweDg4NzI5ODBhLCAweDE1N2Q3OTdjLCAweDcwYjBkM2JjLAorICAgIDB4ZWRiZjMyY2EsIDB4OTFkZTE3MTEsIDB4MGNkMWY2NjcsIDB4NWE0NTQyOTEsIDB4Yzc0YWEzZTcsCisgICAgMHhiYjJiODYzYywgMHgyNjI0Njc0YSwgMHg0M2U5Y2Q4YSwgMHhkZWU2MmNmYywgMHhhMjg3MDkyNywKKyAgICAweDNmODhlODUxfSwKKyAgIHsweDAwMDAwMDAwLCAweGRkOTZkOTg1LCAweDYwNWNiNTRiLCAweGJkY2E2Y2NlLCAweGMwYjk2YTk2LAorICAgIDB4MWQyZmIzMTMsIDB4YTBlNWRmZGQsIDB4N2Q3MzA2NTgsIDB4NWEwM2QzNmQsIDB4ODc5NTBhZTgsCisgICAgMHgzYTVmNjYyNiwgMHhlN2M5YmZhMywgMHg5YWJhYjlmYiwgMHg0NzJjNjA3ZSwgMHhmYWU2MGNiMCwKKyAgICAweDI3NzBkNTM1LCAweGI0MDdhNmRhLCAweDY5OTE3ZjVmLCAweGQ0NWIxMzkxLCAweDA5Y2RjYTE0LAorICAgIDB4NzRiZWNjNGMsIDB4YTkyODE1YzksIDB4MTRlMjc5MDcsIDB4Yzk3NGEwODIsIDB4ZWUwNDc1YjcsCisgICAgMHgzMzkyYWMzMiwgMHg4ZTU4YzBmYywgMHg1M2NlMTk3OSwgMHgyZWJkMWYyMSwgMHhmMzJiYzZhNCwKKyAgICAweDRlZTFhYTZhLCAweDkzNzc3M2VmLCAweGIzN2U0YmY1LCAweDZlZTg5MjcwLCAweGQzMjJmZWJlLAorICAgIDB4MGViNDI3M2IsIDB4NzNjNzIxNjMsIDB4YWU1MWY4ZTYsIDB4MTM5Yjk0MjgsIDB4Y2UwZDRkYWQsCisgICAgMHhlOTdkOTg5OCwgMHgzNGViNDExZCwgMHg4OTIxMmRkMywgMHg1NGI3ZjQ1NiwgMHgyOWM0ZjIwZSwKKyAgICAweGY0NTIyYjhiLCAweDQ5OTg0NzQ1LCAweDk0MGU5ZWMwLCAweDA3NzllZDJmLCAweGRhZWYzNGFhLAorICAgIDB4NjcyNTU4NjQsIDB4YmFiMzgxZTEsIDB4YzdjMDg3YjksIDB4MWE1NjVlM2MsIDB4YTc5YzMyZjIsCisgICAgMHg3YTBhZWI3NywgMHg1ZDdhM2U0MiwgMHg4MGVjZTdjNywgMHgzZDI2OGIwOSwgMHhlMGIwNTI4YywKKyAgICAweDlkYzM1NGQ0LCAweDQwNTU4ZDUxLCAweGZkOWZlMTlmLCAweDIwMDkzODFhLCAweGJkOGQ5MWFiLAorICAgIDB4NjAxYjQ4MmUsIDB4ZGRkMTI0ZTAsIDB4MDA0N2ZkNjUsIDB4N2QzNGZiM2QsIDB4YTBhMjIyYjgsCisgICAgMHgxZDY4NGU3NiwgMHhjMGZlOTdmMywgMHhlNzhlNDJjNiwgMHgzYTE4OWI0MywgMHg4N2QyZjc4ZCwKKyAgICAweDVhNDQyZTA4LCAweDI3MzcyODUwLCAweGZhYTFmMWQ1LCAweDQ3NmI5ZDFiLCAweDlhZmQ0NDllLAorICAgIDB4MDk4YTM3NzEsIDB4ZDQxY2VlZjQsIDB4NjlkNjgyM2EsIDB4YjQ0MDViYmYsIDB4YzkzMzVkZTcsCisgICAgMHgxNGE1ODQ2MiwgMHhhOTZmZThhYywgMHg3NGY5MzEyOSwgMHg1Mzg5ZTQxYywgMHg4ZTFmM2Q5OSwKKyAgICAweDMzZDU1MTU3LCAweGVlNDM4OGQyLCAweDkzMzA4ZThhLCAweDRlYTY1NzBmLCAweGYzNmMzYmMxLAorICAgIDB4MmVmYWUyNDQsIDB4MGVmM2RhNWUsIDB4ZDM2NTAzZGIsIDB4NmVhZjZmMTUsIDB4YjMzOWI2OTAsCisgICAgMHhjZTRhYjBjOCwgMHgxM2RjNjk0ZCwgMHhhZTE2MDU4MywgMHg3MzgwZGMwNiwgMHg1NGYwMDkzMywKKyAgICAweDg5NjZkMGI2LCAweDM0YWNiYzc4LCAweGU5M2E2NWZkLCAweDk0NDk2M2E1LCAweDQ5ZGZiYTIwLAorICAgIDB4ZjQxNWQ2ZWUsIDB4Mjk4MzBmNmIsIDB4YmFmNDdjODQsIDB4Njc2MmE1MDEsIDB4ZGFhOGM5Y2YsCisgICAgMHgwNzNlMTA0YSwgMHg3YTRkMTYxMiwgMHhhN2RiY2Y5NywgMHgxYTExYTM1OSwgMHhjNzg3N2FkYywKKyAgICAweGUwZjdhZmU5LCAweDNkNjE3NjZjLCAweDgwYWIxYWEyLCAweDVkM2RjMzI3LCAweDIwNGVjNTdmLAorICAgIDB4ZmRkODFjZmEsIDB4NDAxMjcwMzQsIDB4OWQ4NGE5YjEsIDB4YTA2YTI1MTcsIDB4N2RmY2ZjOTIsCisgICAgMHhjMDM2OTA1YywgMHgxZGEwNDlkOSwgMHg2MGQzNGY4MSwgMHhiZDQ1OTYwNCwgMHgwMDhmZmFjYSwKKyAgICAweGRkMTkyMzRmLCAweGZhNjlmNjdhLCAweDI3ZmYyZmZmLCAweDlhMzU0MzMxLCAweDQ3YTM5YWI0LAorICAgIDB4M2FkMDljZWMsIDB4ZTc0NjQ1NjksIDB4NWE4YzI5YTcsIDB4ODcxYWYwMjIsIDB4MTQ2ZDgzY2QsCisgICAgMHhjOWZiNWE0OCwgMHg3NDMxMzY4NiwgMHhhOWE3ZWYwMywgMHhkNGQ0ZTk1YiwgMHgwOTQyMzBkZSwKKyAgICAweGI0ODg1YzEwLCAweDY5MWU4NTk1LCAweDRlNmU1MGEwLCAweDkzZjg4OTI1LCAweDJlMzJlNWViLAorICAgIDB4ZjNhNDNjNmUsIDB4OGVkNzNhMzYsIDB4NTM0MWUzYjMsIDB4ZWU4YjhmN2QsIDB4MzMxZDU2ZjgsCisgICAgMHgxMzE0NmVlMiwgMHhjZTgyYjc2NywgMHg3MzQ4ZGJhOSwgMHhhZWRlMDIyYywgMHhkM2FkMDQ3NCwKKyAgICAweDBlM2JkZGYxLCAweGIzZjFiMTNmLCAweDZlNjc2OGJhLCAweDQ5MTdiZDhmLCAweDk0ODE2NDBhLAorICAgIDB4Mjk0YjA4YzQsIDB4ZjRkZGQxNDEsIDB4ODlhZWQ3MTksIDB4NTQzODBlOWMsIDB4ZTlmMjYyNTIsCisgICAgMHgzNDY0YmJkNywgMHhhNzEzYzgzOCwgMHg3YTg1MTFiZCwgMHhjNzRmN2Q3MywgMHgxYWQ5YTRmNiwKKyAgICAweDY3YWFhMmFlLCAweGJhM2M3YjJiLCAweDA3ZjYxN2U1LCAweGRhNjBjZTYwLCAweGZkMTAxYjU1LAorICAgIDB4MjA4NmMyZDAsIDB4OWQ0Y2FlMWUsIDB4NDBkYTc3OWIsIDB4M2RhOTcxYzMsIDB4ZTAzZmE4NDYsCisgICAgMHg1ZGY1YzQ4OCwgMHg4MDYzMWQwZCwgMHgxZGU3YjRiYywgMHhjMDcxNmQzOSwgMHg3ZGJiMDFmNywKKyAgICAweGEwMmRkODcyLCAweGRkNWVkZTJhLCAweDAwYzgwN2FmLCAweGJkMDI2YjYxLCAweDYwOTRiMmU0LAorICAgIDB4NDdlNDY3ZDEsIDB4OWE3MmJlNTQsIDB4MjdiOGQyOWEsIDB4ZmEyZTBiMWYsIDB4ODc1ZDBkNDcsCisgICAgMHg1YWNiZDRjMiwgMHhlNzAxYjgwYywgMHgzYTk3NjE4OSwgMHhhOWUwMTI2NiwgMHg3NDc2Y2JlMywKKyAgICAweGM5YmNhNzJkLCAweDE0MmE3ZWE4LCAweDY5NTk3OGYwLCAweGI0Y2ZhMTc1LCAweDA5MDVjZGJiLAorICAgIDB4ZDQ5MzE0M2UsIDB4ZjNlM2MxMGIsIDB4MmU3NTE4OGUsIDB4OTNiZjc0NDAsIDB4NGUyOWFkYzUsCisgICAgMHgzMzVhYWI5ZCwgMHhlZWNjNzIxOCwgMHg1MzA2MWVkNiwgMHg4ZTkwYzc1MywgMHhhZTk5ZmY0OSwKKyAgICAweDczMGYyNmNjLCAweGNlYzU0YTAyLCAweDEzNTM5Mzg3LCAweDZlMjA5NWRmLCAweGIzYjY0YzVhLAorICAgIDB4MGU3YzIwOTQsIDB4ZDNlYWY5MTEsIDB4ZjQ5YTJjMjQsIDB4MjkwY2Y1YTEsIDB4OTRjNjk5NmYsCisgICAgMHg0OTUwNDBlYSwgMHgzNDIzNDZiMiwgMHhlOWI1OWYzNywgMHg1NDdmZjNmOSwgMHg4OWU5MmE3YywKKyAgICAweDFhOWU1OTkzLCAweGM3MDg4MDE2LCAweDdhYzJlY2Q4LCAweGE3NTQzNTVkLCAweGRhMjczMzA1LAorICAgIDB4MDdiMWVhODAsIDB4YmE3Yjg2NGUsIDB4NjdlZDVmY2IsIDB4NDA5ZDhhZmUsIDB4OWQwYjUzN2IsCisgICAgMHgyMGMxM2ZiNSwgMHhmZDU3ZTYzMCwgMHg4MDI0ZTA2OCwgMHg1ZGIyMzllZCwgMHhlMDc4NTUyMywKKyAgICAweDNkZWU4Y2E2fX07CisKK2xvY2FsIGNvbnN0IHpfd29yZF90IEZBUiBjcmNfYnJhaWRfYmlnX3RhYmxlW11bMjU2XSA9IHsKKyAgIHsweDAwMDAwMDAwLCAweDg1ZDk5NmRkLCAweDRiYjU1YzYwLCAweGNlNmNjYWJkLCAweDk2NmFiOWMwLAorICAgIDB4MTNiMzJmMWQsIDB4ZGRkZmU1YTAsIDB4NTgwNjczN2QsIDB4NmRkMzAzNWEsIDB4ZTgwYTk1ODcsCisgICAgMHgyNjY2NWYzYSwgMHhhM2JmYzllNywgMHhmYmI5YmE5YSwgMHg3ZTYwMmM0NywgMHhiMDBjZTZmYSwKKyAgICAweDM1ZDU3MDI3LCAweGRhYTYwN2I0LCAweDVmN2Y5MTY5LCAweDkxMTM1YmQ0LCAweDE0Y2FjZDA5LAorICAgIDB4NGNjY2JlNzQsIDB4YzkxNTI4YTksIDB4MDc3OWUyMTQsIDB4ODJhMDc0YzksIDB4Yjc3NTA0ZWUsCisgICAgMHgzMmFjOTIzMywgMHhmY2MwNTg4ZSwgMHg3OTE5Y2U1MywgMHgyMTFmYmQyZSwgMHhhNGM2MmJmMywKKyAgICAweDZhYWFlMTRlLCAweGVmNzM3NzkzLCAweGY1NGI3ZWIzLCAweDcwOTJlODZlLCAweGJlZmUyMmQzLAorICAgIDB4M2IyN2I0MGUsIDB4NjMyMWM3NzMsIDB4ZTZmODUxYWUsIDB4Mjg5NDliMTMsIDB4YWQ0ZDBkY2UsCisgICAgMHg5ODk4N2RlOSwgMHgxZDQxZWIzNCwgMHhkMzJkMjE4OSwgMHg1NmY0Yjc1NCwgMHgwZWYyYzQyOSwKKyAgICAweDhiMmI1MmY0LCAweDQ1NDc5ODQ5LCAweGMwOWUwZTk0LCAweDJmZWQ3OTA3LCAweGFhMzRlZmRhLAorICAgIDB4NjQ1ODI1NjcsIDB4ZTE4MWIzYmEsIDB4Yjk4N2MwYzcsIDB4M2M1ZTU2MWEsIDB4ZjIzMjljYTcsCisgICAgMHg3N2ViMGE3YSwgMHg0MjNlN2E1ZCwgMHhjN2U3ZWM4MCwgMHgwOThiMjYzZCwgMHg4YzUyYjBlMCwKKyAgICAweGQ0NTRjMzlkLCAweDUxOGQ1NTQwLCAweDlmZTE5ZmZkLCAweDFhMzgwOTIwLCAweGFiOTE4ZGJkLAorICAgIDB4MmU0ODFiNjAsIDB4ZTAyNGQxZGQsIDB4NjVmZDQ3MDAsIDB4M2RmYjM0N2QsIDB4YjgyMmEyYTAsCisgICAgMHg3NjRlNjgxZCwgMHhmMzk3ZmVjMCwgMHhjNjQyOGVlNywgMHg0MzliMTgzYSwgMHg4ZGY3ZDI4NywKKyAgICAweDA4MmU0NDVhLCAweDUwMjgzNzI3LCAweGQ1ZjFhMWZhLCAweDFiOWQ2YjQ3LCAweDllNDRmZDlhLAorICAgIDB4NzEzNzhhMDksIDB4ZjRlZTFjZDQsIDB4M2E4MmQ2NjksIDB4YmY1YjQwYjQsIDB4ZTc1ZDMzYzksCisgICAgMHg2Mjg0YTUxNCwgMHhhY2U4NmZhOSwgMHgyOTMxZjk3NCwgMHgxY2U0ODk1MywgMHg5OTNkMWY4ZSwKKyAgICAweDU3NTFkNTMzLCAweGQyODg0M2VlLCAweDhhOGUzMDkzLCAweDBmNTdhNjRlLCAweGMxM2I2Y2YzLAorICAgIDB4NDRlMmZhMmUsIDB4NWVkYWYzMGUsIDB4ZGIwMzY1ZDMsIDB4MTU2ZmFmNmUsIDB4OTBiNjM5YjMsCisgICAgMHhjOGIwNGFjZSwgMHg0ZDY5ZGMxMywgMHg4MzA1MTZhZSwgMHgwNmRjODA3MywgMHgzMzA5ZjA1NCwKKyAgICAweGI2ZDA2Njg5LCAweDc4YmNhYzM0LCAweGZkNjUzYWU5LCAweGE1NjM0OTk0LCAweDIwYmFkZjQ5LAorICAgIDB4ZWVkNjE1ZjQsIDB4NmIwZjgzMjksIDB4ODQ3Y2Y0YmEsIDB4MDFhNTYyNjcsIDB4Y2ZjOWE4ZGEsCisgICAgMHg0YTEwM2UwNywgMHgxMjE2NGQ3YSwgMHg5N2NmZGJhNywgMHg1OWEzMTExYSwgMHhkYzdhODdjNywKKyAgICAweGU5YWZmN2UwLCAweDZjNzY2MTNkLCAweGEyMWFhYjgwLCAweDI3YzMzZDVkLCAweDdmYzU0ZTIwLAorICAgIDB4ZmExY2Q4ZmQsIDB4MzQ3MDEyNDAsIDB4YjFhOTg0OWQsIDB4MTcyNTZhYTAsIDB4OTJmY2ZjN2QsCisgICAgMHg1YzkwMzZjMCwgMHhkOTQ5YTAxZCwgMHg4MTRmZDM2MCwgMHgwNDk2NDViZCwgMHhjYWZhOGYwMCwKKyAgICAweDRmMjMxOWRkLCAweDdhZjY2OWZhLCAweGZmMmZmZjI3LCAweDMxNDMzNTlhLCAweGI0OWFhMzQ3LAorICAgIDB4ZWM5Y2QwM2EsIDB4Njk0NTQ2ZTcsIDB4YTcyOThjNWEsIDB4MjJmMDFhODcsIDB4Y2Q4MzZkMTQsCisgICAgMHg0ODVhZmJjOSwgMHg4NjM2MzE3NCwgMHgwM2VmYTdhOSwgMHg1YmU5ZDRkNCwgMHhkZTMwNDIwOSwKKyAgICAweDEwNWM4OGI0LCAweDk1ODUxZTY5LCAweGEwNTA2ZTRlLCAweDI1ODlmODkzLCAweGViZTUzMjJlLAorICAgIDB4NmUzY2E0ZjMsIDB4MzYzYWQ3OGUsIDB4YjNlMzQxNTMsIDB4N2Q4ZjhiZWUsIDB4Zjg1NjFkMzMsCisgICAgMHhlMjZlMTQxMywgMHg2N2I3ODJjZSwgMHhhOWRiNDg3MywgMHgyYzAyZGVhZSwgMHg3NDA0YWRkMywKKyAgICAweGYxZGQzYjBlLCAweDNmYjFmMWIzLCAweGJhNjg2NzZlLCAweDhmYmQxNzQ5LCAweDBhNjQ4MTk0LAorICAgIDB4YzQwODRiMjksIDB4NDFkMWRkZjQsIDB4MTlkN2FlODksIDB4OWMwZTM4NTQsIDB4NTI2MmYyZTksCisgICAgMHhkN2JiNjQzNCwgMHgzOGM4MTNhNywgMHhiZDExODU3YSwgMHg3MzdkNGZjNywgMHhmNmE0ZDkxYSwKKyAgICAweGFlYTJhYTY3LCAweDJiN2IzY2JhLCAweGU1MTdmNjA3LCAweDYwY2U2MGRhLCAweDU1MWIxMGZkLAorICAgIDB4ZDBjMjg2MjAsIDB4MWVhZTRjOWQsIDB4OWI3N2RhNDAsIDB4YzM3MWE5M2QsIDB4NDZhODNmZTAsCisgICAgMHg4OGM0ZjU1ZCwgMHgwZDFkNjM4MCwgMHhiY2I0ZTcxZCwgMHgzOTZkNzFjMCwgMHhmNzAxYmI3ZCwKKyAgICAweDcyZDgyZGEwLCAweDJhZGU1ZWRkLCAweGFmMDdjODAwLCAweDYxNmIwMmJkLCAweGU0YjI5NDYwLAorICAgIDB4ZDE2N2U0NDcsIDB4NTRiZTcyOWEsIDB4OWFkMmI4MjcsIDB4MWYwYjJlZmEsIDB4NDcwZDVkODcsCisgICAgMHhjMmQ0Y2I1YSwgMHgwY2I4MDFlNywgMHg4OTYxOTczYSwgMHg2NjEyZTBhOSwgMHhlM2NiNzY3NCwKKyAgICAweDJkYTdiY2M5LCAweGE4N2UyYTE0LCAweGYwNzg1OTY5LCAweDc1YTFjZmI0LCAweGJiY2QwNTA5LAorICAgIDB4M2UxNDkzZDQsIDB4MGJjMWUzZjMsIDB4OGUxODc1MmUsIDB4NDA3NGJmOTMsIDB4YzVhZDI5NGUsCisgICAgMHg5ZGFiNWEzMywgMHgxODcyY2NlZSwgMHhkNjFlMDY1MywgMHg1M2M3OTA4ZSwgMHg0OWZmOTlhZSwKKyAgICAweGNjMjYwZjczLCAweDAyNGFjNWNlLCAweDg3OTM1MzEzLCAweGRmOTUyMDZlLCAweDVhNGNiNmIzLAorICAgIDB4OTQyMDdjMGUsIDB4MTFmOWVhZDMsIDB4MjQyYzlhZjQsIDB4YTFmNTBjMjksIDB4NmY5OWM2OTQsCisgICAgMHhlYTQwNTA0OSwgMHhiMjQ2MjMzNCwgMHgzNzlmYjVlOSwgMHhmOWYzN2Y1NCwgMHg3YzJhZTk4OSwKKyAgICAweDkzNTk5ZTFhLCAweDE2ODAwOGM3LCAweGQ4ZWNjMjdhLCAweDVkMzU1NGE3LCAweDA1MzMyN2RhLAorICAgIDB4ODBlYWIxMDcsIDB4NGU4NjdiYmEsIDB4Y2I1ZmVkNjcsIDB4ZmU4YTlkNDAsIDB4N2I1MzBiOWQsCisgICAgMHhiNTNmYzEyMCwgMHgzMGU2NTdmZCwgMHg2OGUwMjQ4MCwgMHhlZDM5YjI1ZCwgMHgyMzU1NzhlMCwKKyAgICAweGE2OGNlZTNkfSwKKyAgIHsweDAwMDAwMDAwLCAweDc2ZTEwZjlkLCAweGFkYzQ2ZWUxLCAweGRiMjU2MTdjLCAweDFiOGZhYzE5LAorICAgIDB4NmQ2ZWEzODQsIDB4YjY0YmMyZjgsIDB4YzBhYWNkNjUsIDB4MzYxZTU5MzMsIDB4NDBmZjU2YWUsCisgICAgMHg5YmRhMzdkMiwgMHhlZDNiMzg0ZiwgMHgyZDkxZjUyYSwgMHg1YjcwZmFiNywgMHg4MDU1OWJjYiwKKyAgICAweGY2YjQ5NDU2LCAweDZjM2NiMjY2LCAweDFhZGRiZGZiLCAweGMxZjhkYzg3LCAweGI3MTlkMzFhLAorICAgIDB4NzdiMzFlN2YsIDB4MDE1MjExZTIsIDB4ZGE3NzcwOWUsIDB4YWM5NjdmMDMsIDB4NWEyMmViNTUsCisgICAgMHgyY2MzZTRjOCwgMHhmN2U2ODViNCwgMHg4MTA3OGEyOSwgMHg0MWFkNDc0YywgMHgzNzRjNDhkMSwKKyAgICAweGVjNjkyOWFkLCAweDlhODgyNjMwLCAweGQ4Nzg2NGNkLCAweGFlOTk2YjUwLCAweDc1YmMwYTJjLAorICAgIDB4MDM1ZDA1YjEsIDB4YzNmN2M4ZDQsIDB4YjUxNmM3NDksIDB4NmUzM2E2MzUsIDB4MThkMmE5YTgsCisgICAgMHhlZTY2M2RmZSwgMHg5ODg3MzI2MywgMHg0M2EyNTMxZiwgMHgzNTQzNWM4MiwgMHhmNWU5OTFlNywKKyAgICAweDgzMDg5ZTdhLCAweDU4MmRmZjA2LCAweDJlY2NmMDliLCAweGI0NDRkNmFiLCAweGMyYTVkOTM2LAorICAgIDB4MTk4MGI4NGEsIDB4NmY2MWI3ZDcsIDB4YWZjYjdhYjIsIDB4ZDkyYTc1MmYsIDB4MDIwZjE0NTMsCisgICAgMHg3NGVlMWJjZSwgMHg4MjVhOGY5OCwgMHhmNGJiODAwNSwgMHgyZjllZTE3OSwgMHg1OTdmZWVlNCwKKyAgICAweDk5ZDUyMzgxLCAweGVmMzQyYzFjLCAweDM0MTE0ZDYwLCAweDQyZjA0MmZkLCAweGYxZjdiOTQxLAorICAgIDB4ODcxNmI2ZGMsIDB4NWMzM2Q3YTAsIDB4MmFkMmQ4M2QsIDB4ZWE3ODE1NTgsIDB4OWM5OTFhYzUsCisgICAgMHg0N2JjN2JiOSwgMHgzMTVkNzQyNCwgMHhjN2U5ZTA3MiwgMHhiMTA4ZWZlZiwgMHg2YTJkOGU5MywKKyAgICAweDFjY2M4MTBlLCAweGRjNjY0YzZiLCAweGFhODc0M2Y2LCAweDcxYTIyMjhhLCAweDA3NDMyZDE3LAorICAgIDB4OWRjYjBiMjcsIDB4ZWIyYTA0YmEsIDB4MzAwZjY1YzYsIDB4NDZlZTZhNWIsIDB4ODY0NGE3M2UsCisgICAgMHhmMGE1YThhMywgMHgyYjgwYzlkZiwgMHg1ZDYxYzY0MiwgMHhhYmQ1NTIxNCwgMHhkZDM0NWQ4OSwKKyAgICAweDA2MTEzY2Y1LCAweDcwZjAzMzY4LCAweGIwNWFmZTBkLCAweGM2YmJmMTkwLCAweDFkOWU5MGVjLAorICAgIDB4NmI3ZjlmNzEsIDB4Mjk4ZmRkOGMsIDB4NWY2ZWQyMTEsIDB4ODQ0YmIzNmQsIDB4ZjJhYWJjZjAsCisgICAgMHgzMjAwNzE5NSwgMHg0NGUxN2UwOCwgMHg5ZmM0MWY3NCwgMHhlOTI1MTBlOSwgMHgxZjkxODRiZiwKKyAgICAweDY5NzA4YjIyLCAweGIyNTVlYTVlLCAweGM0YjRlNWMzLCAweDA0MWUyOGE2LCAweDcyZmYyNzNiLAorICAgIDB4YTlkYTQ2NDcsIDB4ZGYzYjQ5ZGEsIDB4NDViMzZmZWEsIDB4MzM1MjYwNzcsIDB4ZTg3NzAxMGIsCisgICAgMHg5ZTk2MGU5NiwgMHg1ZTNjYzNmMywgMHgyOGRkY2M2ZSwgMHhmM2Y4YWQxMiwgMHg4NTE5YTI4ZiwKKyAgICAweDczYWQzNmQ5LCAweDA1NGMzOTQ0LCAweGRlNjk1ODM4LCAweGE4ODg1N2E1LCAweDY4MjI5YWMwLAorICAgIDB4MWVjMzk1NWQsIDB4YzVlNmY0MjEsIDB4YjMwN2ZiYmMsIDB4ZTJlZjczODMsIDB4OTQwZTdjMWUsCisgICAgMHg0ZjJiMWQ2MiwgMHgzOWNhMTJmZiwgMHhmOTYwZGY5YSwgMHg4ZjgxZDAwNywgMHg1NGE0YjE3YiwKKyAgICAweDIyNDViZWU2LCAweGQ0ZjEyYWIwLCAweGEyMTAyNTJkLCAweDc5MzU0NDUxLCAweDBmZDQ0YmNjLAorICAgIDB4Y2Y3ZTg2YTksIDB4Yjk5Zjg5MzQsIDB4NjJiYWU4NDgsIDB4MTQ1YmU3ZDUsIDB4OGVkM2MxZTUsCisgICAgMHhmODMyY2U3OCwgMHgyMzE3YWYwNCwgMHg1NWY2YTA5OSwgMHg5NTVjNmRmYywgMHhlM2JkNjI2MSwKKyAgICAweDM4OTgwMzFkLCAweDRlNzkwYzgwLCAweGI4Y2Q5OGQ2LCAweGNlMmM5NzRiLCAweDE1MDlmNjM3LAorICAgIDB4NjNlOGY5YWEsIDB4YTM0MjM0Y2YsIDB4ZDVhMzNiNTIsIDB4MGU4NjVhMmUsIDB4Nzg2NzU1YjMsCisgICAgMHgzYTk3MTc0ZSwgMHg0Yzc2MThkMywgMHg5NzUzNzlhZiwgMHhlMWIyNzYzMiwgMHgyMTE4YmI1NywKKyAgICAweDU3ZjliNGNhLCAweDhjZGNkNWI2LCAweGZhM2RkYTJiLCAweDBjODk0ZTdkLCAweDdhNjg0MWUwLAorICAgIDB4YTE0ZDIwOWMsIDB4ZDdhYzJmMDEsIDB4MTcwNmUyNjQsIDB4NjFlN2VkZjksIDB4YmFjMjhjODUsCisgICAgMHhjYzIzODMxOCwgMHg1NmFiYTUyOCwgMHgyMDRhYWFiNSwgMHhmYjZmY2JjOSwgMHg4ZDhlYzQ1NCwKKyAgICAweDRkMjQwOTMxLCAweDNiYzUwNmFjLCAweGUwZTA2N2QwLCAweDk2MDE2ODRkLCAweDYwYjVmYzFiLAorICAgIDB4MTY1NGYzODYsIDB4Y2Q3MTkyZmEsIDB4YmI5MDlkNjcsIDB4N2IzYTUwMDIsIDB4MGRkYjVmOWYsCisgICAgMHhkNmZlM2VlMywgMHhhMDFmMzE3ZSwgMHgxMzE4Y2FjMiwgMHg2NWY5YzU1ZiwgMHhiZWRjYTQyMywKKyAgICAweGM4M2RhYmJlLCAweDA4OTc2NmRiLCAweDdlNzY2OTQ2LCAweGE1NTMwODNhLCAweGQzYjIwN2E3LAorICAgIDB4MjUwNjkzZjEsIDB4NTNlNzljNmMsIDB4ODhjMmZkMTAsIDB4ZmUyM2YyOGQsIDB4M2U4OTNmZTgsCisgICAgMHg0ODY4MzA3NSwgMHg5MzRkNTEwOSwgMHhlNWFjNWU5NCwgMHg3ZjI0NzhhNCwgMHgwOWM1NzczOSwKKyAgICAweGQyZTAxNjQ1LCAweGE0MDExOWQ4LCAweDY0YWJkNGJkLCAweDEyNGFkYjIwLCAweGM5NmZiYTVjLAorICAgIDB4YmY4ZWI1YzEsIDB4NDkzYTIxOTcsIDB4M2ZkYjJlMGEsIDB4ZTRmZTRmNzYsIDB4OTIxZjQwZWIsCisgICAgMHg1MmI1OGQ4ZSwgMHgyNDU0ODIxMywgMHhmZjcxZTM2ZiwgMHg4OTkwZWNmMiwgMHhjYjYwYWUwZiwKKyAgICAweGJkODFhMTkyLCAweDY2YTRjMGVlLCAweDEwNDVjZjczLCAweGQwZWYwMjE2LCAweGE2MGUwZDhiLAorICAgIDB4N2QyYjZjZjcsIDB4MGJjYTYzNmEsIDB4ZmQ3ZWY3M2MsIDB4OGI5ZmY4YTEsIDB4NTBiYTk5ZGQsCisgICAgMHgyNjViOTY0MCwgMHhlNmYxNWIyNSwgMHg5MDEwNTRiOCwgMHg0YjM1MzVjNCwgMHgzZGQ0M2E1OSwKKyAgICAweGE3NWMxYzY5LCAweGQxYmQxM2Y0LCAweDBhOTg3Mjg4LCAweDdjNzk3ZDE1LCAweGJjZDNiMDcwLAorICAgIDB4Y2EzMmJmZWQsIDB4MTExN2RlOTEsIDB4NjdmNmQxMGMsIDB4OTE0MjQ1NWEsIDB4ZTdhMzRhYzcsCisgICAgMHgzYzg2MmJiYiwgMHg0YTY3MjQyNiwgMHg4YWNkZTk0MywgMHhmYzJjZTZkZSwgMHgyNzA5ODdhMiwKKyAgICAweDUxZTg4ODNmfSwKKyAgIHsweDAwMDAwMDAwLCAweGU4ZGJmYmI5LCAweDkxYjE4NmE4LCAweDc5NmE3ZDExLCAweDYzNjU3YzhhLAorICAgIDB4OGJiZTg3MzMsIDB4ZjJkNGZhMjIsIDB4MWEwZjAxOWIsIDB4ODdjYzg5Y2YsIDB4NmYxNzcyNzYsCisgICAgMHgxNjdkMGY2NywgMHhmZWE2ZjRkZSwgMHhlNGE5ZjU0NSwgMHgwYzcyMGVmYywgMHg3NTE4NzNlZCwKKyAgICAweDlkYzM4ODU0LCAweDRmOWY2MjQ0LCAweGE3NDQ5OWZkLCAweGRlMmVlNGVjLCAweDM2ZjUxZjU1LAorICAgIDB4MmNmYTFlY2UsIDB4YzQyMWU1NzcsIDB4YmQ0Yjk4NjYsIDB4NTU5MDYzZGYsIDB4Yzg1M2ViOGIsCisgICAgMHgyMDg4MTAzMiwgMHg1OWUyNmQyMywgMHhiMTM5OTY5YSwgMHhhYjM2OTcwMSwgMHg0M2VkNmNiOCwKKyAgICAweDNhODcxMWE5LCAweGQyNWNlYTEwLCAweDllM2VjNTg4LCAweDc2ZTUzZTMxLCAweDBmOGY0MzIwLAorICAgIDB4ZTc1NGI4OTksIDB4ZmQ1YmI5MDIsIDB4MTU4MDQyYmIsIDB4NmNlYTNmYWEsIDB4ODQzMWM0MTMsCisgICAgMHgxOWYyNGM0NywgMHhmMTI5YjdmZSwgMHg4ODQzY2FlZiwgMHg2MDk4MzE1NiwgMHg3YTk3MzBjZCwKKyAgICAweDkyNGNjYjc0LCAweGViMjZiNjY1LCAweDAzZmQ0ZGRjLCAweGQxYTFhN2NjLCAweDM5N2E1Yzc1LAorICAgIDB4NDAxMDIxNjQsIDB4YThjYmRhZGQsIDB4YjJjNGRiNDYsIDB4NWExZjIwZmYsIDB4MjM3NTVkZWUsCisgICAgMHhjYmFlYTY1NywgMHg1NjZkMmUwMywgMHhiZWI2ZDViYSwgMHhjN2RjYThhYiwgMHgyZjA3NTMxMiwKKyAgICAweDM1MDg1Mjg5LCAweGRkZDNhOTMwLCAweGE0YjlkNDIxLCAweDRjNjIyZjk4LCAweDdkN2JmYmNhLAorICAgIDB4OTVhMDAwNzMsIDB4ZWNjYTdkNjIsIDB4MDQxMTg2ZGIsIDB4MWUxZTg3NDAsIDB4ZjZjNTdjZjksCisgICAgMHg4ZmFmMDFlOCwgMHg2Nzc0ZmE1MSwgMHhmYWI3NzIwNSwgMHgxMjZjODliYywgMHg2YjA2ZjRhZCwKKyAgICAweDgzZGQwZjE0LCAweDk5ZDIwZThmLCAweDcxMDlmNTM2LCAweDA4NjM4ODI3LCAweGUwYjg3MzllLAorICAgIDB4MzJlNDk5OGUsIDB4ZGEzZjYyMzcsIDB4YTM1NTFmMjYsIDB4NGI4ZWU0OWYsIDB4NTE4MWU1MDQsCisgICAgMHhiOTVhMWViZCwgMHhjMDMwNjNhYywgMHgyOGViOTgxNSwgMHhiNTI4MTA0MSwgMHg1ZGYzZWJmOCwKKyAgICAweDI0OTk5NmU5LCAweGNjNDI2ZDUwLCAweGQ2NGQ2Y2NiLCAweDNlOTY5NzcyLCAweDQ3ZmNlYTYzLAorICAgIDB4YWYyNzExZGEsIDB4ZTM0NTNlNDIsIDB4MGI5ZWM1ZmIsIDB4NzJmNGI4ZWEsIDB4OWEyZjQzNTMsCisgICAgMHg4MDIwNDJjOCwgMHg2OGZiYjk3MSwgMHgxMTkxYzQ2MCwgMHhmOTRhM2ZkOSwgMHg2NDg5Yjc4ZCwKKyAgICAweDhjNTI0YzM0LCAweGY1MzgzMTI1LCAweDFkZTNjYTljLCAweDA3ZWNjYjA3LCAweGVmMzczMGJlLAorICAgIDB4OTY1ZDRkYWYsIDB4N2U4NmI2MTYsIDB4YWNkYTVjMDYsIDB4NDQwMWE3YmYsIDB4M2Q2YmRhYWUsCisgICAgMHhkNWIwMjExNywgMHhjZmJmMjA4YywgMHgyNzY0ZGIzNSwgMHg1ZTBlYTYyNCwgMHhiNmQ1NWQ5ZCwKKyAgICAweDJiMTZkNWM5LCAweGMzY2QyZTcwLCAweGJhYTc1MzYxLCAweDUyN2NhOGQ4LCAweDQ4NzNhOTQzLAorICAgIDB4YTBhODUyZmEsIDB4ZDljMjJmZWIsIDB4MzExOWQ0NTIsIDB4YmJmMDg3NGUsIDB4NTMyYjdjZjcsCisgICAgMHgyYTQxMDFlNiwgMHhjMjlhZmE1ZiwgMHhkODk1ZmJjNCwgMHgzMDRlMDA3ZCwgMHg0OTI0N2Q2YywKKyAgICAweGExZmY4NmQ1LCAweDNjM2MwZTgxLCAweGQ0ZTdmNTM4LCAweGFkOGQ4ODI5LCAweDQ1NTY3MzkwLAorICAgIDB4NWY1OTcyMGIsIDB4Yjc4Mjg5YjIsIDB4Y2VlOGY0YTMsIDB4MjYzMzBmMWEsIDB4ZjQ2ZmU1MGEsCisgICAgMHgxY2I0MWViMywgMHg2NWRlNjNhMiwgMHg4ZDA1OTgxYiwgMHg5NzBhOTk4MCwgMHg3ZmQxNjIzOSwKKyAgICAweDA2YmIxZjI4LCAweGVlNjBlNDkxLCAweDczYTM2Y2M1LCAweDliNzg5NzdjLCAweGUyMTJlYTZkLAorICAgIDB4MGFjOTExZDQsIDB4MTBjNjEwNGYsIDB4ZjgxZGViZjYsIDB4ODE3Nzk2ZTcsIDB4NjlhYzZkNWUsCisgICAgMHgyNWNlNDJjNiwgMHhjZDE1Yjk3ZiwgMHhiNDdmYzQ2ZSwgMHg1Y2E0M2ZkNywgMHg0NmFiM2U0YywKKyAgICAweGFlNzBjNWY1LCAweGQ3MWFiOGU0LCAweDNmYzE0MzVkLCAweGEyMDJjYjA5LCAweDRhZDkzMGIwLAorICAgIDB4MzNiMzRkYTEsIDB4ZGI2OGI2MTgsIDB4YzE2N2I3ODMsIDB4MjliYzRjM2EsIDB4NTBkNjMxMmIsCisgICAgMHhiODBkY2E5MiwgMHg2YTUxMjA4MiwgMHg4MjhhZGIzYiwgMHhmYmUwYTYyYSwgMHgxMzNiNWQ5MywKKyAgICAweDA5MzQ1YzA4LCAweGUxZWZhN2IxLCAweDk4ODVkYWEwLCAweDcwNWUyMTE5LCAweGVkOWRhOTRkLAorICAgIDB4MDU0NjUyZjQsIDB4N2MyYzJmZTUsIDB4OTRmN2Q0NWMsIDB4OGVmOGQ1YzcsIDB4NjYyMzJlN2UsCisgICAgMHgxZjQ5NTM2ZiwgMHhmNzkyYThkNiwgMHhjNjhiN2M4NCwgMHgyZTUwODczZCwgMHg1NzNhZmEyYywKKyAgICAweGJmZTEwMTk1LCAweGE1ZWUwMDBlLCAweDRkMzVmYmI3LCAweDM0NWY4NmE2LCAweGRjODQ3ZDFmLAorICAgIDB4NDE0N2Y1NGIsIDB4YTk5YzBlZjIsIDB4ZDBmNjczZTMsIDB4MzgyZDg4NWEsIDB4MjIyMjg5YzEsCisgICAgMHhjYWY5NzI3OCwgMHhiMzkzMGY2OSwgMHg1YjQ4ZjRkMCwgMHg4OTE0MWVjMCwgMHg2MWNmZTU3OSwKKyAgICAweDE4YTU5ODY4LCAweGYwN2U2M2QxLCAweGVhNzE2MjRhLCAweDAyYWE5OWYzLCAweDdiYzBlNGUyLAorICAgIDB4OTMxYjFmNWIsIDB4MGVkODk3MGYsIDB4ZTYwMzZjYjYsIDB4OWY2OTExYTcsIDB4NzdiMmVhMWUsCisgICAgMHg2ZGJkZWI4NSwgMHg4NTY2MTAzYywgMHhmYzBjNmQyZCwgMHgxNGQ3OTY5NCwgMHg1OGI1YjkwYywKKyAgICAweGIwNmU0MmI1LCAweGM5MDQzZmE0LCAweDIxZGZjNDFkLCAweDNiZDBjNTg2LCAweGQzMGIzZTNmLAorICAgIDB4YWE2MTQzMmUsIDB4NDJiYWI4OTcsIDB4ZGY3OTMwYzMsIDB4MzdhMmNiN2EsIDB4NGVjOGI2NmIsCisgICAgMHhhNjEzNGRkMiwgMHhiYzFjNGM0OSwgMHg1NGM3YjdmMCwgMHgyZGFkY2FlMSwgMHhjNTc2MzE1OCwKKyAgICAweDE3MmFkYjQ4LCAweGZmZjEyMGYxLCAweDg2OWI1ZGUwLCAweDZlNDBhNjU5LCAweDc0NGZhN2MyLAorICAgIDB4OWM5NDVjN2IsIDB4ZTVmZTIxNmEsIDB4MGQyNWRhZDMsIDB4OTBlNjUyODcsIDB4NzgzZGE5M2UsCisgICAgMHgwMTU3ZDQyZiwgMHhlOThjMmY5NiwgMHhmMzgzMmUwZCwgMHgxYjU4ZDViNCwgMHg2MjMyYThhNSwKKyAgICAweDhhZTk1MzFjfSwKKyAgIHsweDAwMDAwMDAwLCAweDkxOTE2OGFlLCAweDYzMjVhMDg3LCAweGYyYjRjODI5LCAweDg3NGMzMWQ0LAorICAgIDB4MTZkZDU5N2EsIDB4ZTQ2OTkxNTMsIDB4NzVmOGY5ZmQsIDB4NGY5ZjEzNzMsIDB4ZGUwZTdiZGQsCisgICAgMHgyY2JhYjNmNCwgMHhiZDJiZGI1YSwgMHhjOGQzMjJhNywgMHg1OTQyNGEwOSwgMHhhYmY2ODIyMCwKKyAgICAweDNhNjdlYThlLCAweDllM2UyN2U2LCAweDBmYWY0ZjQ4LCAweGZkMWI4NzYxLCAweDZjOGFlZmNmLAorICAgIDB4MTk3MjE2MzIsIDB4ODhlMzdlOWMsIDB4N2E1N2I2YjUsIDB4ZWJjNmRlMWIsIDB4ZDFhMTM0OTUsCisgICAgMHg0MDMwNWMzYiwgMHhiMjg0OTQxMiwgMHgyMzE1ZmNiYywgMHg1NmVkMDU0MSwgMHhjNzdjNmRlZiwKKyAgICAweDM1YzhhNWM2LCAweGE0NTljZDY4LCAweDdkN2IzZjE3LCAweGVjZWE1N2I5LCAweDFlNWU5ZjkwLAorICAgIDB4OGZjZmY3M2UsIDB4ZmEzNzBlYzMsIDB4NmJhNjY2NmQsIDB4OTkxMmFlNDQsIDB4MDg4M2M2ZWEsCisgICAgMHgzMmU0MmM2NCwgMHhhMzc1NDRjYSwgMHg1MWMxOGNlMywgMHhjMDUwZTQ0ZCwgMHhiNWE4MWRiMCwKKyAgICAweDI0Mzk3NTFlLCAweGQ2OGRiZDM3LCAweDQ3MWNkNTk5LCAweGUzNDUxOGYxLCAweDcyZDQ3MDVmLAorICAgIDB4ODA2MGI4NzYsIDB4MTFmMWQwZDgsIDB4NjQwOTI5MjUsIDB4ZjU5ODQxOGIsIDB4MDcyYzg5YTIsCisgICAgMHg5NmJkZTEwYywgMHhhY2RhMGI4MiwgMHgzZDRiNjMyYywgMHhjZmZmYWIwNSwgMHg1ZTZlYzNhYiwKKyAgICAweDJiOTYzYTU2LCAweGJhMDc1MmY4LCAweDQ4YjM5YWQxLCAweGQ5MjJmMjdmLCAweGZhZjY3ZTJlLAorICAgIDB4NmI2NzE2ODAsIDB4OTlkM2RlYTksIDB4MDg0MmI2MDcsIDB4N2RiYTRmZmEsIDB4ZWMyYjI3NTQsCisgICAgMHgxZTlmZWY3ZCwgMHg4ZjBlODdkMywgMHhiNTY5NmQ1ZCwgMHgyNGY4MDVmMywgMHhkNjRjY2RkYSwKKyAgICAweDQ3ZGRhNTc0LCAweDMyMjU1Yzg5LCAweGEzYjQzNDI3LCAweDUxMDBmYzBlLCAweGMwOTE5NGEwLAorICAgIDB4NjRjODU5YzgsIDB4ZjU1OTMxNjYsIDB4MDdlZGY5NGYsIDB4OTY3YzkxZTEsIDB4ZTM4NDY4MWMsCisgICAgMHg3MjE1MDBiMiwgMHg4MGExYzg5YiwgMHgxMTMwYTAzNSwgMHgyYjU3NGFiYiwgMHhiYWM2MjIxNSwKKyAgICAweDQ4NzJlYTNjLCAweGQ5ZTM4MjkyLCAweGFjMWI3YjZmLCAweDNkOGExM2MxLCAweGNmM2VkYmU4LAorICAgIDB4NWVhZmIzNDYsIDB4ODc4ZDQxMzksIDB4MTYxYzI5OTcsIDB4ZTRhOGUxYmUsIDB4NzUzOTg5MTAsCisgICAgMHgwMGMxNzBlZCwgMHg5MTUwMTg0MywgMHg2M2U0ZDA2YSwgMHhmMjc1YjhjNCwgMHhjODEyNTI0YSwKKyAgICAweDU5ODMzYWU0LCAweGFiMzdmMmNkLCAweDNhYTY5YTYzLCAweDRmNWU2MzllLCAweGRlY2YwYjMwLAorICAgIDB4MmM3YmMzMTksIDB4YmRlYWFiYjcsIDB4MTliMzY2ZGYsIDB4ODgyMjBlNzEsIDB4N2E5NmM2NTgsCisgICAgMHhlYjA3YWVmNiwgMHg5ZWZmNTcwYiwgMHgwZjZlM2ZhNSwgMHhmZGRhZjc4YywgMHg2YzRiOWYyMiwKKyAgICAweDU2MmM3NWFjLCAweGM3YmQxZDAyLCAweDM1MDlkNTJiLCAweGE0OThiZDg1LCAweGQxNjA0NDc4LAorICAgIDB4NDBmMTJjZDYsIDB4YjI0NWU0ZmYsIDB4MjNkNDhjNTEsIDB4ZjRlZGZkNWMsIDB4NjU3Yzk1ZjIsCisgICAgMHg5N2M4NWRkYiwgMHgwNjU5MzU3NSwgMHg3M2ExY2M4OCwgMHhlMjMwYTQyNiwgMHgxMDg0NmMwZiwKKyAgICAweDgxMTUwNGExLCAweGJiNzJlZTJmLCAweDJhZTM4NjgxLCAweGQ4NTc0ZWE4LCAweDQ5YzYyNjA2LAorICAgIDB4M2MzZWRmZmIsIDB4YWRhZmI3NTUsIDB4NWYxYjdmN2MsIDB4Y2U4YTE3ZDIsIDB4NmFkM2RhYmEsCisgICAgMHhmYjQyYjIxNCwgMHgwOWY2N2EzZCwgMHg5ODY3MTI5MywgMHhlZDlmZWI2ZSwgMHg3YzBlODNjMCwKKyAgICAweDhlYmE0YmU5LCAweDFmMmIyMzQ3LCAweDI1NGNjOWM5LCAweGI0ZGRhMTY3LCAweDQ2Njk2OTRlLAorICAgIDB4ZDdmODAxZTAsIDB4YTIwMGY4MWQsIDB4MzM5MTkwYjMsIDB4YzEyNTU4OWEsIDB4NTBiNDMwMzQsCisgICAgMHg4OTk2YzI0YiwgMHgxODA3YWFlNSwgMHhlYWIzNjJjYywgMHg3YjIyMGE2MiwgMHgwZWRhZjM5ZiwKKyAgICAweDlmNGI5YjMxLCAweDZkZmY1MzE4LCAweGZjNmUzYmI2LCAweGM2MDlkMTM4LCAweDU3OThiOTk2LAorICAgIDB4YTUyYzcxYmYsIDB4MzRiZDE5MTEsIDB4NDE0NWUwZWMsIDB4ZDBkNDg4NDIsIDB4MjI2MDQwNmIsCisgICAgMHhiM2YxMjhjNSwgMHgxN2E4ZTVhZCwgMHg4NjM5OGQwMywgMHg3NDhkNDUyYSwgMHhlNTFjMmQ4NCwKKyAgICAweDkwZTRkNDc5LCAweDAxNzViY2Q3LCAweGYzYzE3NGZlLCAweDYyNTAxYzUwLCAweDU4MzdmNmRlLAorICAgIDB4YzlhNjllNzAsIDB4M2IxMjU2NTksIDB4YWE4MzNlZjcsIDB4ZGY3YmM3MGEsIDB4NGVlYWFmYTQsCisgICAgMHhiYzVlNjc4ZCwgMHgyZGNmMGYyMywgMHgwZTFiODM3MiwgMHg5ZjhhZWJkYywgMHg2ZDNlMjNmNSwKKyAgICAweGZjYWY0YjViLCAweDg5NTdiMmE2LCAweDE4YzZkYTA4LCAweGVhNzIxMjIxLCAweDdiZTM3YThmLAorICAgIDB4NDE4NDkwMDEsIDB4ZDAxNWY4YWYsIDB4MjJhMTMwODYsIDB4YjMzMDU4MjgsIDB4YzZjOGExZDUsCisgICAgMHg1NzU5Yzk3YiwgMHhhNWVkMDE1MiwgMHgzNDdjNjlmYywgMHg5MDI1YTQ5NCwgMHgwMWI0Y2MzYSwKKyAgICAweGYzMDAwNDEzLCAweDYyOTE2Y2JkLCAweDE3Njk5NTQwLCAweDg2ZjhmZGVlLCAweDc0NGMzNWM3LAorICAgIDB4ZTVkZDVkNjksIDB4ZGZiYWI3ZTcsIDB4NGUyYmRmNDksIDB4YmM5ZjE3NjAsIDB4MmQwZTdmY2UsCisgICAgMHg1OGY2ODYzMywgMHhjOTY3ZWU5ZCwgMHgzYmQzMjZiNCwgMHhhYTQyNGUxYSwgMHg3MzYwYmM2NSwKKyAgICAweGUyZjFkNGNiLCAweDEwNDUxY2UyLCAweDgxZDQ3NDRjLCAweGY0MmM4ZGIxLCAweDY1YmRlNTFmLAorICAgIDB4OTcwOTJkMzYsIDB4MDY5ODQ1OTgsIDB4M2NmZmFmMTYsIDB4YWQ2ZWM3YjgsIDB4NWZkYTBmOTEsCisgICAgMHhjZTRiNjczZiwgMHhiYmIzOWVjMiwgMHgyYTIyZjY2YywgMHhkODk2M2U0NSwgMHg0OTA3NTZlYiwKKyAgICAweGVkNWU5YjgzLCAweDdjY2ZmMzJkLCAweDhlN2IzYjA0LCAweDFmZWE1M2FhLCAweDZhMTJhYTU3LAorICAgIDB4ZmI4M2MyZjksIDB4MDkzNzBhZDAsIDB4OThhNjYyN2UsIDB4YTJjMTg4ZjAsIDB4MzM1MGUwNWUsCisgICAgMHhjMWU0Mjg3NywgMHg1MDc1NDBkOSwgMHgyNThkYjkyNCwgMHhiNDFjZDE4YSwgMHg0NmE4MTlhMywKKyAgICAweGQ3Mzk3MTBkfX07CisKKyNlbmRpZgorCisjZW5kaWYKKworI2lmIE4gPT0gNQorCisjaWYgVyA9PSA4CisKK2xvY2FsIGNvbnN0IHpfY3JjX3QgRkFSIGNyY19icmFpZF90YWJsZVtdWzI1Nl0gPSB7CisgICB7MHgwMDAwMDAwMCwgMHhhZjQ0OTI0NywgMHg4NWY4MjJjZiwgMHgyYWJjYjA4OCwgMHhkMDgxNDNkZiwKKyAgICAweDdmYzVkMTk4LCAweDU1Nzk2MTEwLCAweGZhM2RmMzU3LCAweDdhNzM4MWZmLCAweGQ1MzcxM2I4LAorICAgIDB4ZmY4YmEzMzAsIDB4NTBjZjMxNzcsIDB4YWFmMmMyMjAsIDB4MDViNjUwNjcsIDB4MmYwYWUwZWYsCisgICAgMHg4MDRlNzJhOCwgMHhmNGU3MDNmZSwgMHg1YmEzOTFiOSwgMHg3MTFmMjEzMSwgMHhkZTViYjM3NiwKKyAgICAweDI0NjY0MDIxLCAweDhiMjJkMjY2LCAweGExOWU2MmVlLCAweDBlZGFmMGE5LCAweDhlOTQ4MjAxLAorICAgIDB4MjFkMDEwNDYsIDB4MGI2Y2EwY2UsIDB4YTQyODMyODksIDB4NWUxNWMxZGUsIDB4ZjE1MTUzOTksCisgICAgMHhkYmVkZTMxMSwgMHg3NGE5NzE1NiwgMHgzMmJmMDFiZCwgMHg5ZGZiOTNmYSwgMHhiNzQ3MjM3MiwKKyAgICAweDE4MDNiMTM1LCAweGUyM2U0MjYyLCAweDRkN2FkMDI1LCAweDY3YzY2MGFkLCAweGM4ODJmMmVhLAorICAgIDB4NDhjYzgwNDIsIDB4ZTc4ODEyMDUsIDB4Y2QzNGEyOGQsIDB4NjI3MDMwY2EsIDB4OTg0ZGMzOWQsCisgICAgMHgzNzA5NTFkYSwgMHgxZGI1ZTE1MiwgMHhiMmYxNzMxNSwgMHhjNjU4MDI0MywgMHg2OTFjOTAwNCwKKyAgICAweDQzYTAyMDhjLCAweGVjZTRiMmNiLCAweDE2ZDk0MTljLCAweGI5OWRkM2RiLCAweDkzMjE2MzUzLAorICAgIDB4M2M2NWYxMTQsIDB4YmMyYjgzYmMsIDB4MTM2ZjExZmIsIDB4MzlkM2ExNzMsIDB4OTY5NzMzMzQsCisgICAgMHg2Y2FhYzA2MywgMHhjM2VlNTIyNCwgMHhlOTUyZTJhYywgMHg0NjE2NzBlYiwgMHg2NTdlMDM3YSwKKyAgICAweGNhM2E5MTNkLCAweGUwODYyMWI1LCAweDRmYzJiM2YyLCAweGI1ZmY0MGE1LCAweDFhYmJkMmUyLAorICAgIDB4MzAwNzYyNmEsIDB4OWY0M2YwMmQsIDB4MWYwZDgyODUsIDB4YjA0OTEwYzIsIDB4OWFmNWEwNGEsCisgICAgMHgzNWIxMzIwZCwgMHhjZjhjYzE1YSwgMHg2MGM4NTMxZCwgMHg0YTc0ZTM5NSwgMHhlNTMwNzFkMiwKKyAgICAweDkxOTkwMDg0LCAweDNlZGQ5MmMzLCAweDE0NjEyMjRiLCAweGJiMjViMDBjLCAweDQxMTg0MzViLAorICAgIDB4ZWU1Y2QxMWMsIDB4YzRlMDYxOTQsIDB4NmJhNGYzZDMsIDB4ZWJlYTgxN2IsIDB4NDRhZTEzM2MsCisgICAgMHg2ZTEyYTNiNCwgMHhjMTU2MzFmMywgMHgzYjZiYzJhNCwgMHg5NDJmNTBlMywgMHhiZTkzZTA2YiwKKyAgICAweDExZDc3MjJjLCAweDU3YzEwMmM3LCAweGY4ODU5MDgwLCAweGQyMzkyMDA4LCAweDdkN2RiMjRmLAorICAgIDB4ODc0MDQxMTgsIDB4MjgwNGQzNWYsIDB4MDJiODYzZDcsIDB4YWRmY2YxOTAsIDB4MmRiMjgzMzgsCisgICAgMHg4MmY2MTE3ZiwgMHhhODRhYTFmNywgMHgwNzBlMzNiMCwgMHhmZDMzYzBlNywgMHg1Mjc3NTJhMCwKKyAgICAweDc4Y2JlMjI4LCAweGQ3OGY3MDZmLCAweGEzMjYwMTM5LCAweDBjNjI5MzdlLCAweDI2ZGUyM2Y2LAorICAgIDB4ODk5YWIxYjEsIDB4NzNhNzQyZTYsIDB4ZGNlM2QwYTEsIDB4ZjY1ZjYwMjksIDB4NTkxYmYyNmUsCisgICAgMHhkOTU1ODBjNiwgMHg3NjExMTI4MSwgMHg1Y2FkYTIwOSwgMHhmM2U5MzA0ZSwgMHgwOWQ0YzMxOSwKKyAgICAweGE2OTA1MTVlLCAweDhjMmNlMWQ2LCAweDIzNjg3MzkxLCAweGNhZmMwNmY0LCAweDY1Yjg5NGIzLAorICAgIDB4NGYwNDI0M2IsIDB4ZTA0MGI2N2MsIDB4MWE3ZDQ1MmIsIDB4YjUzOWQ3NmMsIDB4OWY4NTY3ZTQsCisgICAgMHgzMGMxZjVhMywgMHhiMDhmODcwYiwgMHgxZmNiMTU0YywgMHgzNTc3YTVjNCwgMHg5YTMzMzc4MywKKyAgICAweDYwMGVjNGQ0LCAweGNmNGE1NjkzLCAweGU1ZjZlNjFiLCAweDRhYjI3NDVjLCAweDNlMWIwNTBhLAorICAgIDB4OTE1Zjk3NGQsIDB4YmJlMzI3YzUsIDB4MTRhN2I1ODIsIDB4ZWU5YTQ2ZDUsIDB4NDFkZWQ0OTIsCisgICAgMHg2YjYyNjQxYSwgMHhjNDI2ZjY1ZCwgMHg0NDY4ODRmNSwgMHhlYjJjMTZiMiwgMHhjMTkwYTYzYSwKKyAgICAweDZlZDQzNDdkLCAweDk0ZTljNzJhLCAweDNiYWQ1NTZkLCAweDExMTFlNWU1LCAweGJlNTU3N2EyLAorICAgIDB4Zjg0MzA3NDksIDB4NTcwNzk1MGUsIDB4N2RiYjI1ODYsIDB4ZDJmZmI3YzEsIDB4MjhjMjQ0OTYsCisgICAgMHg4Nzg2ZDZkMSwgMHhhZDNhNjY1OSwgMHgwMjdlZjQxZSwgMHg4MjMwODZiNiwgMHgyZDc0MTRmMSwKKyAgICAweDA3YzhhNDc5LCAweGE4OGMzNjNlLCAweDUyYjFjNTY5LCAweGZkZjU1NzJlLCAweGQ3NDllN2E2LAorICAgIDB4NzgwZDc1ZTEsIDB4MGNhNDA0YjcsIDB4YTNlMDk2ZjAsIDB4ODk1YzI2NzgsIDB4MjYxOGI0M2YsCisgICAgMHhkYzI1NDc2OCwgMHg3MzYxZDUyZiwgMHg1OWRkNjVhNywgMHhmNjk5ZjdlMCwgMHg3NmQ3ODU0OCwKKyAgICAweGQ5OTMxNzBmLCAweGYzMmZhNzg3LCAweDVjNmIzNWMwLCAweGE2NTZjNjk3LCAweDA5MTI1NGQwLAorICAgIDB4MjNhZWU0NTgsIDB4OGNlYTc2MWYsIDB4YWY4MjA1OGUsIDB4MDBjNjk3YzksIDB4MmE3YTI3NDEsCisgICAgMHg4NTNlYjUwNiwgMHg3ZjAzNDY1MSwgMHhkMDQ3ZDQxNiwgMHhmYWZiNjQ5ZSwgMHg1NWJmZjZkOSwKKyAgICAweGQ1ZjE4NDcxLCAweDdhYjUxNjM2LCAweDUwMDlhNmJlLCAweGZmNGQzNGY5LCAweDA1NzBjN2FlLAorICAgIDB4YWEzNDU1ZTksIDB4ODA4OGU1NjEsIDB4MmZjYzc3MjYsIDB4NWI2NTA2NzAsIDB4ZjQyMTk0MzcsCisgICAgMHhkZTlkMjRiZiwgMHg3MWQ5YjZmOCwgMHg4YmU0NDVhZiwgMHgyNGEwZDdlOCwgMHgwZTFjNjc2MCwKKyAgICAweGExNThmNTI3LCAweDIxMTY4NzhmLCAweDhlNTIxNWM4LCAweGE0ZWVhNTQwLCAweDBiYWEzNzA3LAorICAgIDB4ZjE5N2M0NTAsIDB4NWVkMzU2MTcsIDB4NzQ2ZmU2OWYsIDB4ZGIyYjc0ZDgsIDB4OWQzZDA0MzMsCisgICAgMHgzMjc5OTY3NCwgMHgxOGM1MjZmYywgMHhiNzgxYjRiYiwgMHg0ZGJjNDdlYywgMHhlMmY4ZDVhYiwKKyAgICAweGM4NDQ2NTIzLCAweDY3MDBmNzY0LCAweGU3NGU4NWNjLCAweDQ4MGExNzhiLCAweDYyYjZhNzAzLAorICAgIDB4Y2RmMjM1NDQsIDB4MzdjZmM2MTMsIDB4OTg4YjU0NTQsIDB4YjIzN2U0ZGMsIDB4MWQ3Mzc2OWIsCisgICAgMHg2OWRhMDdjZCwgMHhjNjllOTU4YSwgMHhlYzIyMjUwMiwgMHg0MzY2Yjc0NSwgMHhiOTViNDQxMiwKKyAgICAweDE2MWZkNjU1LCAweDNjYTM2NmRkLCAweDkzZTdmNDlhLCAweDEzYTk4NjMyLCAweGJjZWQxNDc1LAorICAgIDB4OTY1MWE0ZmQsIDB4MzkxNTM2YmEsIDB4YzMyOGM1ZWQsIDB4NmM2YzU3YWEsIDB4NDZkMGU3MjIsCisgICAgMHhlOTk0NzU2NX0sCisgICB7MHgwMDAwMDAwMCwgMHg0ZTg5MGJhOSwgMHg5ZDEyMTc1MiwgMHhkMzliMWNmYiwgMHhlMTU1MjhlNSwKKyAgICAweGFmZGMyMzRjLCAweDdjNDczZmI3LCAweDMyY2UzNDFlLCAweDE5ZGI1NzhiLCAweDU3NTI1YzIyLAorICAgIDB4ODRjOTQwZDksIDB4Y2E0MDRiNzAsIDB4Zjg4ZTdmNmUsIDB4YjYwNzc0YzcsIDB4NjU5YzY4M2MsCisgICAgMHgyYjE1NjM5NSwgMHgzM2I2YWYxNiwgMHg3ZDNmYTRiZiwgMHhhZWE0Yjg0NCwgMHhlMDJkYjNlZCwKKyAgICAweGQyZTM4N2YzLCAweDljNmE4YzVhLCAweDRmZjE5MGExLCAweDAxNzg5YjA4LCAweDJhNmRmODlkLAorICAgIDB4NjRlNGYzMzQsIDB4Yjc3ZmVmY2YsIDB4ZjlmNmU0NjYsIDB4Y2IzOGQwNzgsIDB4ODViMWRiZDEsCisgICAgMHg1NjJhYzcyYSwgMHgxOGEzY2M4MywgMHg2NzZkNWUyYywgMHgyOWU0NTU4NSwgMHhmYTdmNDk3ZSwKKyAgICAweGI0ZjY0MmQ3LCAweDg2Mzg3NmM5LCAweGM4YjE3ZDYwLCAweDFiMmE2MTliLCAweDU1YTM2YTMyLAorICAgIDB4N2ViNjA5YTcsIDB4MzAzZjAyMGUsIDB4ZTNhNDFlZjUsIDB4YWQyZDE1NWMsIDB4OWZlMzIxNDIsCisgICAgMHhkMTZhMmFlYiwgMHgwMmYxMzYxMCwgMHg0Yzc4M2RiOSwgMHg1NGRiZjEzYSwgMHgxYTUyZmE5MywKKyAgICAweGM5YzllNjY4LCAweDg3NDBlZGMxLCAweGI1OGVkOWRmLCAweGZiMDdkMjc2LCAweDI4OWNjZThkLAorICAgIDB4NjYxNWM1MjQsIDB4NGQwMGE2YjEsIDB4MDM4OWFkMTgsIDB4ZDAxMmIxZTMsIDB4OWU5YmJhNGEsCisgICAgMHhhYzU1OGU1NCwgMHhlMmRjODVmZCwgMHgzMTQ3OTkwNiwgMHg3ZmNlOTJhZiwgMHhjZWRhYmM1OCwKKyAgICAweDgwNTNiN2YxLCAweDUzYzhhYjBhLCAweDFkNDFhMGEzLCAweDJmOGY5NGJkLCAweDYxMDY5ZjE0LAorICAgIDB4YjI5ZDgzZWYsIDB4ZmMxNDg4NDYsIDB4ZDcwMWViZDMsIDB4OTk4OGUwN2EsIDB4NGExM2ZjODEsCisgICAgMHgwNDlhZjcyOCwgMHgzNjU0YzMzNiwgMHg3OGRkYzg5ZiwgMHhhYjQ2ZDQ2NCwgMHhlNWNmZGZjZCwKKyAgICAweGZkNmMxMzRlLCAweGIzZTUxOGU3LCAweDYwN2UwNDFjLCAweDJlZjcwZmI1LCAweDFjMzkzYmFiLAorICAgIDB4NTJiMDMwMDIsIDB4ODEyYjJjZjksIDB4Y2ZhMjI3NTAsIDB4ZTRiNzQ0YzUsIDB4YWEzZTRmNmMsCisgICAgMHg3OWE1NTM5NywgMHgzNzJjNTgzZSwgMHgwNWUyNmMyMCwgMHg0YjZiNjc4OSwgMHg5OGYwN2I3MiwKKyAgICAweGQ2Nzk3MGRiLCAweGE5YjdlMjc0LCAweGU3M2VlOWRkLCAweDM0YTVmNTI2LCAweDdhMmNmZThmLAorICAgIDB4NDhlMmNhOTEsIDB4MDY2YmMxMzgsIDB4ZDVmMGRkYzMsIDB4OWI3OWQ2NmEsIDB4YjA2Y2I1ZmYsCisgICAgMHhmZWU1YmU1NiwgMHgyZDdlYTJhZCwgMHg2M2Y3YTkwNCwgMHg1MTM5OWQxYSwgMHgxZmIwOTZiMywKKyAgICAweGNjMmI4YTQ4LCAweDgyYTI4MWUxLCAweDlhMDE0ZDYyLCAweGQ0ODg0NmNiLCAweDA3MTM1YTMwLAorICAgIDB4NDk5YTUxOTksIDB4N2I1NDY1ODcsIDB4MzVkZDZlMmUsIDB4ZTY0NjcyZDUsIDB4YThjZjc5N2MsCisgICAgMHg4M2RhMWFlOSwgMHhjZDUzMTE0MCwgMHgxZWM4MGRiYiwgMHg1MDQxMDYxMiwgMHg2MjhmMzIwYywKKyAgICAweDJjMDYzOWE1LCAweGZmOWQyNTVlLCAweGIxMTQyZWY3LCAweDQ2YzQ3ZWYxLCAweDA4NGQ3NTU4LAorICAgIDB4ZGJkNjY5YTMsIDB4OTU1ZjYyMGEsIDB4YTc5MTU2MTQsIDB4ZTkxODVkYmQsIDB4M2E4MzQxNDYsCisgICAgMHg3NDBhNGFlZiwgMHg1ZjFmMjk3YSwgMHgxMTk2MjJkMywgMHhjMjBkM2UyOCwgMHg4Yzg0MzU4MSwKKyAgICAweGJlNGEwMTlmLCAweGYwYzMwYTM2LCAweDIzNTgxNmNkLCAweDZkZDExZDY0LCAweDc1NzJkMWU3LAorICAgIDB4M2JmYmRhNGUsIDB4ZTg2MGM2YjUsIDB4YTZlOWNkMWMsIDB4OTQyN2Y5MDIsIDB4ZGFhZWYyYWIsCisgICAgMHgwOTM1ZWU1MCwgMHg0N2JjZTVmOSwgMHg2Y2E5ODY2YywgMHgyMjIwOGRjNSwgMHhmMWJiOTEzZSwKKyAgICAweGJmMzI5YTk3LCAweDhkZmNhZTg5LCAweGMzNzVhNTIwLCAweDEwZWViOWRiLCAweDVlNjdiMjcyLAorICAgIDB4MjFhOTIwZGQsIDB4NmYyMDJiNzQsIDB4YmNiYjM3OGYsIDB4ZjIzMjNjMjYsIDB4YzBmYzA4MzgsCisgICAgMHg4ZTc1MDM5MSwgMHg1ZGVlMWY2YSwgMHgxMzY3MTRjMywgMHgzODcyNzc1NiwgMHg3NmZiN2NmZiwKKyAgICAweGE1NjA2MDA0LCAweGViZTk2YmFkLCAweGQ5Mjc1ZmIzLCAweDk3YWU1NDFhLCAweDQ0MzU0OGUxLAorICAgIDB4MGFiYzQzNDgsIDB4MTIxZjhmY2IsIDB4NWM5Njg0NjIsIDB4OGYwZDk4OTksIDB4YzE4NDkzMzAsCisgICAgMHhmMzRhYTcyZSwgMHhiZGMzYWM4NywgMHg2ZTU4YjA3YywgMHgyMGQxYmJkNSwgMHgwYmM0ZDg0MCwKKyAgICAweDQ1NGRkM2U5LCAweDk2ZDZjZjEyLCAweGQ4NWZjNGJiLCAweGVhOTFmMGE1LCAweGE0MThmYjBjLAorICAgIDB4Nzc4M2U3ZjcsIDB4MzkwYWVjNWUsIDB4ODgxZWMyYTksIDB4YzY5N2M5MDAsIDB4MTUwY2Q1ZmIsCisgICAgMHg1Yjg1ZGU1MiwgMHg2OTRiZWE0YywgMHgyN2MyZTFlNSwgMHhmNDU5ZmQxZSwgMHhiYWQwZjZiNywKKyAgICAweDkxYzU5NTIyLCAweGRmNGM5ZThiLCAweDBjZDc4MjcwLCAweDQyNWU4OWQ5LCAweDcwOTBiZGM3LAorICAgIDB4M2UxOWI2NmUsIDB4ZWQ4MmFhOTUsIDB4YTMwYmExM2MsIDB4YmJhODZkYmYsIDB4ZjUyMTY2MTYsCisgICAgMHgyNmJhN2FlZCwgMHg2ODMzNzE0NCwgMHg1YWZkNDU1YSwgMHgxNDc0NGVmMywgMHhjN2VmNTIwOCwKKyAgICAweDg5NjY1OWExLCAweGEyNzMzYTM0LCAweGVjZmEzMTlkLCAweDNmNjEyZDY2LCAweDcxZTgyNmNmLAorICAgIDB4NDMyNjEyZDEsIDB4MGRhZjE5NzgsIDB4ZGUzNDA1ODMsIDB4OTBiZDBlMmEsIDB4ZWY3MzljODUsCisgICAgMHhhMWZhOTcyYywgMHg3MjYxOGJkNywgMHgzY2U4ODA3ZSwgMHgwZTI2YjQ2MCwgMHg0MGFmYmZjOSwKKyAgICAweDkzMzRhMzMyLCAweGRkYmRhODliLCAweGY2YThjYjBlLCAweGI4MjFjMGE3LCAweDZiYmFkYzVjLAorICAgIDB4MjUzM2Q3ZjUsIDB4MTdmZGUzZWIsIDB4NTk3NGU4NDIsIDB4OGFlZmY0YjksIDB4YzQ2NmZmMTAsCisgICAgMHhkY2M1MzM5MywgMHg5MjRjMzgzYSwgMHg0MWQ3MjRjMSwgMHgwZjVlMmY2OCwgMHgzZDkwMWI3NiwKKyAgICAweDczMTkxMGRmLCAweGEwODIwYzI0LCAweGVlMGIwNzhkLCAweGM1MWU2NDE4LCAweDhiOTc2ZmIxLAorICAgIDB4NTgwYzczNGEsIDB4MTY4NTc4ZTMsIDB4MjQ0YjRjZmQsIDB4NmFjMjQ3NTQsIDB4Yjk1OTViYWYsCisgICAgMHhmN2QwNTAwNn0sCisgICB7MHgwMDAwMDAwMCwgMHg4ZDg4ZmRlMiwgMHhjMDYwZmQ4NSwgMHg0ZGU4MDA2NywgMHg1YmIwZmQ0YiwKKyAgICAweGQ2MzgwMGE5LCAweDliZDAwMGNlLCAweDE2NThmZDJjLCAweGI3NjFmYTk2LCAweDNhZTkwNzc0LAorICAgIDB4NzcwMTA3MTMsIDB4ZmE4OWZhZjEsIDB4ZWNkMTA3ZGQsIDB4NjE1OWZhM2YsIDB4MmNiMWZhNTgsCisgICAgMHhhMTM5MDdiYSwgMHhiNWIyZjM2ZCwgMHgzODNhMGU4ZiwgMHg3NWQyMGVlOCwgMHhmODVhZjMwYSwKKyAgICAweGVlMDIwZTI2LCAweDYzOGFmM2M0LCAweDJlNjJmM2EzLCAweGEzZWEwZTQxLCAweDAyZDMwOWZiLAorICAgIDB4OGY1YmY0MTksIDB4YzJiM2Y0N2UsIDB4NGYzYjA5OWMsIDB4NTk2M2Y0YjAsIDB4ZDRlYjA5NTIsCisgICAgMHg5OTAzMDkzNSwgMHgxNDhiZjRkNywgMHhiMDE0ZTA5YiwgMHgzZDljMWQ3OSwgMHg3MDc0MWQxZSwKKyAgICAweGZkZmNlMGZjLCAweGViYTQxZGQwLCAweDY2MmNlMDMyLCAweDJiYzRlMDU1LCAweGE2NGMxZGI3LAorICAgIDB4MDc3NTFhMGQsIDB4OGFmZGU3ZWYsIDB4YzcxNWU3ODgsIDB4NGE5ZDFhNmEsIDB4NWNjNWU3NDYsCisgICAgMHhkMTRkMWFhNCwgMHg5Y2E1MWFjMywgMHgxMTJkZTcyMSwgMHgwNWE2MTNmNiwgMHg4ODJlZWUxNCwKKyAgICAweGM1YzZlZTczLCAweDQ4NGUxMzkxLCAweDVlMTZlZWJkLCAweGQzOWUxMzVmLCAweDllNzYxMzM4LAorICAgIDB4MTNmZWVlZGEsIDB4YjJjN2U5NjAsIDB4M2Y0ZjE0ODIsIDB4NzJhNzE0ZTUsIDB4ZmYyZmU5MDcsCisgICAgMHhlOTc3MTQyYiwgMHg2NGZmZTljOSwgMHgyOTE3ZTlhZSwgMHhhNDlmMTQ0YywgMHhiYjU4Yzc3NywKKyAgICAweDM2ZDAzYTk1LCAweDdiMzgzYWYyLCAweGY2YjBjNzEwLCAweGUwZTgzYTNjLCAweDZkNjBjN2RlLAorICAgIDB4MjA4OGM3YjksIDB4YWQwMDNhNWIsIDB4MGMzOTNkZTEsIDB4ODFiMWMwMDMsIDB4Y2M1OWMwNjQsCisgICAgMHg0MWQxM2Q4NiwgMHg1Nzg5YzBhYSwgMHhkYTAxM2Q0OCwgMHg5N2U5M2QyZiwgMHgxYTYxYzBjZCwKKyAgICAweDBlZWEzNDFhLCAweDgzNjJjOWY4LCAweGNlOGFjOTlmLCAweDQzMDIzNDdkLCAweDU1NWFjOTUxLAorICAgIDB4ZDhkMjM0YjMsIDB4OTUzYTM0ZDQsIDB4MThiMmM5MzYsIDB4Yjk4YmNlOGMsIDB4MzQwMzMzNmUsCisgICAgMHg3OWViMzMwOSwgMHhmNDYzY2VlYiwgMHhlMjNiMzNjNywgMHg2ZmIzY2UyNSwgMHgyMjViY2U0MiwKKyAgICAweGFmZDMzM2EwLCAweDBiNGMyN2VjLCAweDg2YzRkYTBlLCAweGNiMmNkYTY5LCAweDQ2YTQyNzhiLAorICAgIDB4NTBmY2RhYTcsIDB4ZGQ3NDI3NDUsIDB4OTA5YzI3MjIsIDB4MWQxNGRhYzAsIDB4YmMyZGRkN2EsCisgICAgMHgzMWE1MjA5OCwgMHg3YzRkMjBmZiwgMHhmMWM1ZGQxZCwgMHhlNzlkMjAzMSwgMHg2YTE1ZGRkMywKKyAgICAweDI3ZmRkZGI0LCAweGFhNzUyMDU2LCAweGJlZmVkNDgxLCAweDMzNzYyOTYzLCAweDdlOWUyOTA0LAorICAgIDB4ZjMxNmQ0ZTYsIDB4ZTU0ZTI5Y2EsIDB4NjhjNmQ0MjgsIDB4MjUyZWQ0NGYsIDB4YThhNjI5YWQsCisgICAgMHgwOTlmMmUxNywgMHg4NDE3ZDNmNSwgMHhjOWZmZDM5MiwgMHg0NDc3MmU3MCwgMHg1MjJmZDM1YywKKyAgICAweGRmYTcyZWJlLCAweDkyNGYyZWQ5LCAweDFmYzdkMzNiLCAweGFkYzA4OGFmLCAweDIwNDg3NTRkLAorICAgIDB4NmRhMDc1MmEsIDB4ZTAyODg4YzgsIDB4ZjY3MDc1ZTQsIDB4N2JmODg4MDYsIDB4MzYxMDg4NjEsCisgICAgMHhiYjk4NzU4MywgMHgxYWExNzIzOSwgMHg5NzI5OGZkYiwgMHhkYWMxOGZiYywgMHg1NzQ5NzI1ZSwKKyAgICAweDQxMTE4ZjcyLCAweGNjOTk3MjkwLCAweDgxNzE3MmY3LCAweDBjZjk4ZjE1LCAweDE4NzI3YmMyLAorICAgIDB4OTVmYTg2MjAsIDB4ZDgxMjg2NDcsIDB4NTU5YTdiYTUsIDB4NDNjMjg2ODksIDB4Y2U0YTdiNmIsCisgICAgMHg4M2EyN2IwYywgMHgwZTJhODZlZSwgMHhhZjEzODE1NCwgMHgyMjliN2NiNiwgMHg2ZjczN2NkMSwKKyAgICAweGUyZmI4MTMzLCAweGY0YTM3YzFmLCAweDc5MmI4MWZkLCAweDM0YzM4MTlhLCAweGI5NGI3Yzc4LAorICAgIDB4MWRkNDY4MzQsIDB4OTA1Yzk1ZDYsIDB4ZGRiNDk1YjEsIDB4NTAzYzY4NTMsIDB4NDY2NDk1N2YsCisgICAgMHhjYmVjNjg5ZCwgMHg4NjA0NjhmYSwgMHgwYjhjOTUxOCwgMHhhYWI1OTJhMiwgMHgyNzNkNmY0MCwKKyAgICAweDZhZDU2ZjI3LCAweGU3NWQ5MmM1LCAweGYxMDU2ZmU5LCAweDdjOGQ5MjBiLCAweDMxNjU5MjZjLAorICAgIDB4YmNlZDZmOGUsIDB4YTg2NjliNTksIDB4MjVlZTY2YmIsIDB4NjgwNjY2ZGMsIDB4ZTU4ZTliM2UsCisgICAgMHhmM2Q2NjYxMiwgMHg3ZTVlOWJmMCwgMHgzM2I2OWI5NywgMHhiZTNlNjY3NSwgMHgxZjA3NjFjZiwKKyAgICAweDkyOGY5YzJkLCAweGRmNjc5YzRhLCAweDUyZWY2MWE4LCAweDQ0Yjc5Yzg0LCAweGM5M2Y2MTY2LAorICAgIDB4ODRkNzYxMDEsIDB4MDk1ZjljZTMsIDB4MTY5ODRmZDgsIDB4OWIxMGIyM2EsIDB4ZDZmOGIyNWQsCisgICAgMHg1YjcwNGZiZiwgMHg0ZDI4YjI5MywgMHhjMGEwNGY3MSwgMHg4ZDQ4NGYxNiwgMHgwMGMwYjJmNCwKKyAgICAweGExZjliNTRlLCAweDJjNzE0OGFjLCAweDYxOTk0OGNiLCAweGVjMTFiNTI5LCAweGZhNDk0ODA1LAorICAgIDB4NzdjMWI1ZTcsIDB4M2EyOWI1ODAsIDB4YjdhMTQ4NjIsIDB4YTMyYWJjYjUsIDB4MmVhMjQxNTcsCisgICAgMHg2MzRhNDEzMCwgMHhlZWMyYmNkMiwgMHhmODlhNDFmZSwgMHg3NTEyYmMxYywgMHgzOGZhYmM3YiwKKyAgICAweGI1NzI0MTk5LCAweDE0NGI0NjIzLCAweDk5YzNiYmMxLCAweGQ0MmJiYmE2LCAweDU5YTM0NjQ0LAorICAgIDB4NGZmYmJiNjgsIDB4YzI3MzQ2OGEsIDB4OGY5YjQ2ZWQsIDB4MDIxM2JiMGYsIDB4YTY4Y2FmNDMsCisgICAgMHgyYjA0NTJhMSwgMHg2NmVjNTJjNiwgMHhlYjY0YWYyNCwgMHhmZDNjNTIwOCwgMHg3MGI0YWZlYSwKKyAgICAweDNkNWNhZjhkLCAweGIwZDQ1MjZmLCAweDExZWQ1NWQ1LCAweDljNjVhODM3LCAweGQxOGRhODUwLAorICAgIDB4NWMwNTU1YjIsIDB4NGE1ZGE4OWUsIDB4YzdkNTU1N2MsIDB4OGEzZDU1MWIsIDB4MDdiNWE4ZjksCisgICAgMHgxMzNlNWMyZSwgMHg5ZWI2YTFjYywgMHhkMzVlYTFhYiwgMHg1ZWQ2NWM0OSwgMHg0ODhlYTE2NSwKKyAgICAweGM1MDY1Yzg3LCAweDg4ZWU1Y2UwLCAweDA1NjZhMTAyLCAweGE0NWZhNmI4LCAweDI5ZDc1YjVhLAorICAgIDB4NjQzZjViM2QsIDB4ZTliN2E2ZGYsIDB4ZmZlZjViZjMsIDB4NzI2N2E2MTEsIDB4M2Y4ZmE2NzYsCisgICAgMHhiMjA3NWI5NH0sCisgICB7MHgwMDAwMDAwMCwgMHg4MGYwMTcxZiwgMHhkYTkxMjg3ZiwgMHg1YTYxM2Y2MCwgMHg2ZTUzNTZiZiwKKyAgICAweGVlYTM0MWEwLCAweGI0YzI3ZWMwLCAweDM0MzI2OWRmLCAweGRjYTZhZDdlLCAweDVjNTZiYTYxLAorICAgIDB4MDYzNzg1MDEsIDB4ODZjNzkyMWUsIDB4YjJmNWZiYzEsIDB4MzIwNWVjZGUsIDB4Njg2NGQzYmUsCisgICAgMHhlODk0YzRhMSwgMHg2MjNjNWNiZCwgMHhlMmNjNGJhMiwgMHhiOGFkNzRjMiwgMHgzODVkNjNkZCwKKyAgICAweDBjNmYwYTAyLCAweDhjOWYxZDFkLCAweGQ2ZmUyMjdkLCAweDU2MGUzNTYyLCAweGJlOWFmMWMzLAorICAgIDB4M2U2YWU2ZGMsIDB4NjQwYmQ5YmMsIDB4ZTRmYmNlYTMsIDB4ZDBjOWE3N2MsIDB4NTAzOWIwNjMsCisgICAgMHgwYTU4OGYwMywgMHg4YWE4OTgxYywgMHhjNDc4Yjk3YSwgMHg0NDg4YWU2NSwgMHgxZWU5OTEwNSwKKyAgICAweDllMTk4NjFhLCAweGFhMmJlZmM1LCAweDJhZGJmOGRhLCAweDcwYmFjN2JhLCAweGYwNGFkMGE1LAorICAgIDB4MThkZTE0MDQsIDB4OTgyZTAzMWIsIDB4YzI0ZjNjN2IsIDB4NDJiZjJiNjQsIDB4NzY4ZDQyYmIsCisgICAgMHhmNjdkNTVhNCwgMHhhYzFjNmFjNCwgMHgyY2VjN2RkYiwgMHhhNjQ0ZTVjNywgMHgyNmI0ZjJkOCwKKyAgICAweDdjZDVjZGI4LCAweGZjMjVkYWE3LCAweGM4MTdiMzc4LCAweDQ4ZTdhNDY3LCAweDEyODY5YjA3LAorICAgIDB4OTI3NjhjMTgsIDB4N2FlMjQ4YjksIDB4ZmExMjVmYTYsIDB4YTA3MzYwYzYsIDB4MjA4Mzc3ZDksCisgICAgMHgxNGIxMWUwNiwgMHg5NDQxMDkxOSwgMHhjZTIwMzY3OSwgMHg0ZWQwMjE2NiwgMHg1MzgwNzRiNSwKKyAgICAweGQzNzA2M2FhLCAweDg5MTE1Y2NhLCAweDA5ZTE0YmQ1LCAweDNkZDMyMjBhLCAweGJkMjMzNTE1LAorICAgIDB4ZTc0MjBhNzUsIDB4NjdiMjFkNmEsIDB4OGYyNmQ5Y2IsIDB4MGZkNmNlZDQsIDB4NTViN2YxYjQsCisgICAgMHhkNTQ3ZTZhYiwgMHhlMTc1OGY3NCwgMHg2MTg1OTg2YiwgMHgzYmU0YTcwYiwgMHhiYjE0YjAxNCwKKyAgICAweDMxYmMyODA4LCAweGIxNGMzZjE3LCAweGViMmQwMDc3LCAweDZiZGQxNzY4LCAweDVmZWY3ZWI3LAorICAgIDB4ZGYxZjY5YTgsIDB4ODU3ZTU2YzgsIDB4MDU4ZTQxZDcsIDB4ZWQxYTg1NzYsIDB4NmRlYTkyNjksCisgICAgMHgzNzhiYWQwOSwgMHhiNzdiYmExNiwgMHg4MzQ5ZDNjOSwgMHgwM2I5YzRkNiwgMHg1OWQ4ZmJiNiwKKyAgICAweGQ5MjhlY2E5LCAweDk3ZjhjZGNmLCAweDE3MDhkYWQwLCAweDRkNjllNWIwLCAweGNkOTlmMmFmLAorICAgIDB4ZjlhYjliNzAsIDB4Nzk1YjhjNmYsIDB4MjMzYWIzMGYsIDB4YTNjYWE0MTAsIDB4NGI1ZTYwYjEsCisgICAgMHhjYmFlNzdhZSwgMHg5MWNmNDhjZSwgMHgxMTNmNWZkMSwgMHgyNTBkMzYwZSwgMHhhNWZkMjExMSwKKyAgICAweGZmOWMxZTcxLCAweDdmNmMwOTZlLCAweGY1YzQ5MTcyLCAweDc1MzQ4NjZkLCAweDJmNTViOTBkLAorICAgIDB4YWZhNWFlMTIsIDB4OWI5N2M3Y2QsIDB4MWI2N2QwZDIsIDB4NDEwNmVmYjIsIDB4YzFmNmY4YWQsCisgICAgMHgyOTYyM2MwYywgMHhhOTkyMmIxMywgMHhmM2YzMTQ3MywgMHg3MzAzMDM2YywgMHg0NzMxNmFiMywKKyAgICAweGM3YzE3ZGFjLCAweDlkYTA0MmNjLCAweDFkNTA1NWQzLCAweGE3MDBlOTZhLCAweDI3ZjBmZTc1LAorICAgIDB4N2Q5MWMxMTUsIDB4ZmQ2MWQ2MGEsIDB4Yzk1M2JmZDUsIDB4NDlhM2E4Y2EsIDB4MTNjMjk3YWEsCisgICAgMHg5MzMyODBiNSwgMHg3YmE2NDQxNCwgMHhmYjU2NTMwYiwgMHhhMTM3NmM2YiwgMHgyMWM3N2I3NCwKKyAgICAweDE1ZjUxMmFiLCAweDk1MDUwNWI0LCAweGNmNjQzYWQ0LCAweDRmOTQyZGNiLCAweGM1M2NiNWQ3LAorICAgIDB4NDVjY2EyYzgsIDB4MWZhZDlkYTgsIDB4OWY1ZDhhYjcsIDB4YWI2ZmUzNjgsIDB4MmI5ZmY0NzcsCisgICAgMHg3MWZlY2IxNywgMHhmMTBlZGMwOCwgMHgxOTlhMThhOSwgMHg5OTZhMGZiNiwgMHhjMzBiMzBkNiwKKyAgICAweDQzZmIyN2M5LCAweDc3Yzk0ZTE2LCAweGY3Mzk1OTA5LCAweGFkNTg2NjY5LCAweDJkYTg3MTc2LAorICAgIDB4NjM3ODUwMTAsIDB4ZTM4ODQ3MGYsIDB4YjllOTc4NmYsIDB4MzkxOTZmNzAsIDB4MGQyYjA2YWYsCisgICAgMHg4ZGRiMTFiMCwgMHhkN2JhMmVkMCwgMHg1NzRhMzljZiwgMHhiZmRlZmQ2ZSwgMHgzZjJlZWE3MSwKKyAgICAweDY1NGZkNTExLCAweGU1YmZjMjBlLCAweGQxOGRhYmQxLCAweDUxN2RiY2NlLCAweDBiMWM4M2FlLAorICAgIDB4OGJlYzk0YjEsIDB4MDE0NDBjYWQsIDB4ODFiNDFiYjIsIDB4ZGJkNTI0ZDIsIDB4NWIyNTMzY2QsCisgICAgMHg2ZjE3NWExMiwgMHhlZmU3NGQwZCwgMHhiNTg2NzI2ZCwgMHgzNTc2NjU3MiwgMHhkZGUyYTFkMywKKyAgICAweDVkMTJiNmNjLCAweDA3NzM4OWFjLCAweDg3ODM5ZWIzLCAweGIzYjFmNzZjLCAweDMzNDFlMDczLAorICAgIDB4NjkyMGRmMTMsIDB4ZTlkMGM4MGMsIDB4ZjQ4MDlkZGYsIDB4NzQ3MDhhYzAsIDB4MmUxMWI1YTAsCisgICAgMHhhZWUxYTJiZiwgMHg5YWQzY2I2MCwgMHgxYTIzZGM3ZiwgMHg0MDQyZTMxZiwgMHhjMGIyZjQwMCwKKyAgICAweDI4MjYzMGExLCAweGE4ZDYyN2JlLCAweGYyYjcxOGRlLCAweDcyNDcwZmMxLCAweDQ2NzU2NjFlLAorICAgIDB4YzY4NTcxMDEsIDB4OWNlNDRlNjEsIDB4MWMxNDU5N2UsIDB4OTZiY2MxNjIsIDB4MTY0Y2Q2N2QsCisgICAgMHg0YzJkZTkxZCwgMHhjY2RkZmUwMiwgMHhmOGVmOTdkZCwgMHg3ODFmODBjMiwgMHgyMjdlYmZhMiwKKyAgICAweGEyOGVhOGJkLCAweDRhMWE2YzFjLCAweGNhZWE3YjAzLCAweDkwOGI0NDYzLCAweDEwN2I1MzdjLAorICAgIDB4MjQ0OTNhYTMsIDB4YTRiOTJkYmMsIDB4ZmVkODEyZGMsIDB4N2UyODA1YzMsIDB4MzBmODI0YTUsCisgICAgMHhiMDA4MzNiYSwgMHhlYTY5MGNkYSwgMHg2YTk5MWJjNSwgMHg1ZWFiNzIxYSwgMHhkZTViNjUwNSwKKyAgICAweDg0M2E1YTY1LCAweDA0Y2E0ZDdhLCAweGVjNWU4OWRiLCAweDZjYWU5ZWM0LCAweDM2Y2ZhMWE0LAorICAgIDB4YjYzZmI2YmIsIDB4ODIwZGRmNjQsIDB4MDJmZGM4N2IsIDB4NTg5Y2Y3MWIsIDB4ZDg2Y2UwMDQsCisgICAgMHg1MmM0NzgxOCwgMHhkMjM0NmYwNywgMHg4ODU1NTA2NywgMHgwOGE1NDc3OCwgMHgzYzk3MmVhNywKKyAgICAweGJjNjczOWI4LCAweGU2MDYwNmQ4LCAweDY2ZjYxMWM3LCAweDhlNjJkNTY2LCAweDBlOTJjMjc5LAorICAgIDB4NTRmM2ZkMTksIDB4ZDQwM2VhMDYsIDB4ZTAzMTgzZDksIDB4NjBjMTk0YzYsIDB4M2FhMGFiYTYsCisgICAgMHhiYTUwYmNiOX0sCisgICB7MHgwMDAwMDAwMCwgMHg5NTcwZDQ5NSwgMHhmMTkwYWY2YiwgMHg2NGUwN2JmZSwgMHgzODUwNTg5NywKKyAgICAweGFkMjA4YzAyLCAweGM5YzBmN2ZjLCAweDVjYjAyMzY5LCAweDcwYTBiMTJlLCAweGU1ZDA2NWJiLAorICAgIDB4ODEzMDFlNDUsIDB4MTQ0MGNhZDAsIDB4NDhmMGU5YjksIDB4ZGQ4MDNkMmMsIDB4Yjk2MDQ2ZDIsCisgICAgMHgyYzEwOTI0NywgMHhlMTQxNjI1YywgMHg3NDMxYjZjOSwgMHgxMGQxY2QzNywgMHg4NWExMTlhMiwKKyAgICAweGQ5MTEzYWNiLCAweDRjNjFlZTVlLCAweDI4ODE5NWEwLCAweGJkZjE0MTM1LCAweDkxZTFkMzcyLAorICAgIDB4MDQ5MTA3ZTcsIDB4NjA3MTdjMTksIDB4ZjUwMWE4OGMsIDB4YTliMThiZTUsIDB4M2NjMTVmNzAsCisgICAgMHg1ODIxMjQ4ZSwgMHhjZDUxZjAxYiwgMHgxOWYzYzJmOSwgMHg4YzgzMTY2YywgMHhlODYzNmQ5MiwKKyAgICAweDdkMTNiOTA3LCAweDIxYTM5YTZlLCAweGI0ZDM0ZWZiLCAweGQwMzMzNTA1LCAweDQ1NDNlMTkwLAorICAgIDB4Njk1MzczZDcsIDB4ZmMyM2E3NDIsIDB4OThjM2RjYmMsIDB4MGRiMzA4MjksIDB4NTEwMzJiNDAsCisgICAgMHhjNDczZmZkNSwgMHhhMDkzODQyYiwgMHgzNWUzNTBiZSwgMHhmOGIyYTBhNSwgMHg2ZGMyNzQzMCwKKyAgICAweDA5MjIwZmNlLCAweDljNTJkYjViLCAweGMwZTJmODMyLCAweDU1OTIyY2E3LCAweDMxNzI1NzU5LAorICAgIDB4YTQwMjgzY2MsIDB4ODgxMjExOGIsIDB4MWQ2MmM1MWUsIDB4Nzk4MmJlZTAsIDB4ZWNmMjZhNzUsCisgICAgMHhiMDQyNDkxYywgMHgyNTMyOWQ4OSwgMHg0MWQyZTY3NywgMHhkNGEyMzJlMiwgMHgzM2U3ODVmMiwKKyAgICAweGE2OTc1MTY3LCAweGMyNzcyYTk5LCAweDU3MDdmZTBjLCAweDBiYjdkZDY1LCAweDllYzcwOWYwLAorICAgIDB4ZmEyNzcyMGUsIDB4NmY1N2E2OWIsIDB4NDM0NzM0ZGMsIDB4ZDYzN2UwNDksIDB4YjJkNzliYjcsCisgICAgMHgyN2E3NGYyMiwgMHg3YjE3NmM0YiwgMHhlZTY3YjhkZSwgMHg4YTg3YzMyMCwgMHgxZmY3MTdiNSwKKyAgICAweGQyYTZlN2FlLCAweDQ3ZDYzMzNiLCAweDIzMzY0OGM1LCAweGI2NDY5YzUwLCAweGVhZjZiZjM5LAorICAgIDB4N2Y4NjZiYWMsIDB4MWI2NjEwNTIsIDB4OGUxNmM0YzcsIDB4YTIwNjU2ODAsIDB4Mzc3NjgyMTUsCisgICAgMHg1Mzk2ZjllYiwgMHhjNmU2MmQ3ZSwgMHg5YTU2MGUxNywgMHgwZjI2ZGE4MiwgMHg2YmM2YTE3YywKKyAgICAweGZlYjY3NWU5LCAweDJhMTQ0NzBiLCAweGJmNjQ5MzllLCAweGRiODRlODYwLCAweDRlZjQzY2Y1LAorICAgIDB4MTI0NDFmOWMsIDB4ODczNGNiMDksIDB4ZTNkNGIwZjcsIDB4NzZhNDY0NjIsIDB4NWFiNGY2MjUsCisgICAgMHhjZmM0MjJiMCwgMHhhYjI0NTk0ZSwgMHgzZTU0OGRkYiwgMHg2MmU0YWViMiwgMHhmNzk0N2EyNywKKyAgICAweDkzNzQwMWQ5LCAweDA2MDRkNTRjLCAweGNiNTUyNTU3LCAweDVlMjVmMWMyLCAweDNhYzU4YTNjLAorICAgIDB4YWZiNTVlYTksIDB4ZjMwNTdkYzAsIDB4NjY3NWE5NTUsIDB4MDI5NWQyYWIsIDB4OTdlNTA2M2UsCisgICAgMHhiYmY1OTQ3OSwgMHgyZTg1NDBlYywgMHg0YTY1M2IxMiwgMHhkZjE1ZWY4NywgMHg4M2E1Y2NlZSwKKyAgICAweDE2ZDUxODdiLCAweDcyMzU2Mzg1LCAweGU3NDViNzEwLCAweDY3Y2YwYmU0LCAweGYyYmZkZjcxLAorICAgIDB4OTY1ZmE0OGYsIDB4MDMyZjcwMWEsIDB4NWY5ZjUzNzMsIDB4Y2FlZjg3ZTYsIDB4YWUwZmZjMTgsCisgICAgMHgzYjdmMjg4ZCwgMHgxNzZmYmFjYSwgMHg4MjFmNmU1ZiwgMHhlNmZmMTVhMSwgMHg3MzhmYzEzNCwKKyAgICAweDJmM2ZlMjVkLCAweGJhNGYzNmM4LCAweGRlYWY0ZDM2LCAweDRiZGY5OWEzLCAweDg2OGU2OWI4LAorICAgIDB4MTNmZWJkMmQsIDB4NzcxZWM2ZDMsIDB4ZTI2ZTEyNDYsIDB4YmVkZTMxMmYsIDB4MmJhZWU1YmEsCisgICAgMHg0ZjRlOWU0NCwgMHhkYTNlNGFkMSwgMHhmNjJlZDg5NiwgMHg2MzVlMGMwMywgMHgwN2JlNzdmZCwKKyAgICAweDkyY2VhMzY4LCAweGNlN2U4MDAxLCAweDViMGU1NDk0LCAweDNmZWUyZjZhLCAweGFhOWVmYmZmLAorICAgIDB4N2UzY2M5MWQsIDB4ZWI0YzFkODgsIDB4OGZhYzY2NzYsIDB4MWFkY2IyZTMsIDB4NDY2YzkxOGEsCisgICAgMHhkMzFjNDUxZiwgMHhiN2ZjM2VlMSwgMHgyMjhjZWE3NCwgMHgwZTljNzgzMywgMHg5YmVjYWNhNiwKKyAgICAweGZmMGNkNzU4LCAweDZhN2MwM2NkLCAweDM2Y2MyMGE0LCAweGEzYmNmNDMxLCAweGM3NWM4ZmNmLAorICAgIDB4NTIyYzViNWEsIDB4OWY3ZGFiNDEsIDB4MGEwZDdmZDQsIDB4NmVlZDA0MmEsIDB4ZmI5ZGQwYmYsCisgICAgMHhhNzJkZjNkNiwgMHgzMjVkMjc0MywgMHg1NmJkNWNiZCwgMHhjM2NkODgyOCwgMHhlZmRkMWE2ZiwKKyAgICAweDdhYWRjZWZhLCAweDFlNGRiNTA0LCAweDhiM2Q2MTkxLCAweGQ3OGQ0MmY4LCAweDQyZmQ5NjZkLAorICAgIDB4MjYxZGVkOTMsIDB4YjM2ZDM5MDYsIDB4NTQyODhlMTYsIDB4YzE1ODVhODMsIDB4YTViODIxN2QsCisgICAgMHgzMGM4ZjVlOCwgMHg2Yzc4ZDY4MSwgMHhmOTA4MDIxNCwgMHg5ZGU4NzllYSwgMHgwODk4YWQ3ZiwKKyAgICAweDI0ODgzZjM4LCAweGIxZjhlYmFkLCAweGQ1MTg5MDUzLCAweDQwNjg0NGM2LCAweDFjZDg2N2FmLAorICAgIDB4ODlhOGIzM2EsIDB4ZWQ0OGM4YzQsIDB4NzgzODFjNTEsIDB4YjU2OWVjNGEsIDB4MjAxOTM4ZGYsCisgICAgMHg0NGY5NDMyMSwgMHhkMTg5OTdiNCwgMHg4ZDM5YjRkZCwgMHgxODQ5NjA0OCwgMHg3Y2E5MWJiNiwKKyAgICAweGU5ZDljZjIzLCAweGM1Yzk1ZDY0LCAweDUwYjk4OWYxLCAweDM0NTlmMjBmLCAweGExMjkyNjlhLAorICAgIDB4ZmQ5OTA1ZjMsIDB4NjhlOWQxNjYsIDB4MGMwOWFhOTgsIDB4OTk3OTdlMGQsIDB4NGRkYjRjZWYsCisgICAgMHhkOGFiOTg3YSwgMHhiYzRiZTM4NCwgMHgyOTNiMzcxMSwgMHg3NThiMTQ3OCwgMHhlMGZiYzBlZCwKKyAgICAweDg0MWJiYjEzLCAweDExNmI2Zjg2LCAweDNkN2JmZGMxLCAweGE4MGIyOTU0LCAweGNjZWI1MmFhLAorICAgIDB4NTk5Yjg2M2YsIDB4MDUyYmE1NTYsIDB4OTA1YjcxYzMsIDB4ZjRiYjBhM2QsIDB4NjFjYmRlYTgsCisgICAgMHhhYzlhMmViMywgMHgzOWVhZmEyNiwgMHg1ZDBhODFkOCwgMHhjODdhNTU0ZCwgMHg5NGNhNzYyNCwKKyAgICAweDAxYmFhMmIxLCAweDY1NWFkOTRmLCAweGYwMmEwZGRhLCAweGRjM2E5ZjlkLCAweDQ5NGE0YjA4LAorICAgIDB4MmRhYTMwZjYsIDB4YjhkYWU0NjMsIDB4ZTQ2YWM3MGEsIDB4NzExYTEzOWYsIDB4MTVmYTY4NjEsCisgICAgMHg4MDhhYmNmNH0sCisgICB7MHgwMDAwMDAwMCwgMHhjZjllMTdjOCwgMHg0NDRkMjlkMSwgMHg4YmQzM2UxOSwgMHg4ODlhNTNhMiwKKyAgICAweDQ3MDQ0NDZhLCAweGNjZDc3YTczLCAweDAzNDk2ZGJiLCAweGNhNDVhMTA1LCAweDA1ZGJiNmNkLAorICAgIDB4OGUwODg4ZDQsIDB4NDE5NjlmMWMsIDB4NDJkZmYyYTcsIDB4OGQ0MWU1NmYsIDB4MDY5MmRiNzYsCisgICAgMHhjOTBjY2NiZSwgMHg0ZmZhNDQ0YiwgMHg4MDY0NTM4MywgMHgwYmI3NmQ5YSwgMHhjNDI5N2E1MiwKKyAgICAweGM3NjAxN2U5LCAweDA4ZmUwMDIxLCAweDgzMmQzZTM4LCAweDRjYjMyOWYwLCAweDg1YmZlNTRlLAorICAgIDB4NGEyMWYyODYsIDB4YzFmMmNjOWYsIDB4MGU2Y2RiNTcsIDB4MGQyNWI2ZWMsIDB4YzJiYmExMjQsCisgICAgMHg0OTY4OWYzZCwgMHg4NmY2ODhmNSwgMHg5ZmY0ODg5NiwgMHg1MDZhOWY1ZSwgMHhkYmI5YTE0NywKKyAgICAweDE0MjdiNjhmLCAweDE3NmVkYjM0LCAweGQ4ZjBjY2ZjLCAweDUzMjNmMmU1LCAweDljYmRlNTJkLAorICAgIDB4NTViMTI5OTMsIDB4OWEyZjNlNWIsIDB4MTFmYzAwNDIsIDB4ZGU2MjE3OGEsIDB4ZGQyYjdhMzEsCisgICAgMHgxMmI1NmRmOSwgMHg5OTY2NTNlMCwgMHg1NmY4NDQyOCwgMHhkMDBlY2NkZCwgMHgxZjkwZGIxNSwKKyAgICAweDk0NDNlNTBjLCAweDViZGRmMmM0LCAweDU4OTQ5ZjdmLCAweDk3MGE4OGI3LCAweDFjZDliNmFlLAorICAgIDB4ZDM0N2ExNjYsIDB4MWE0YjZkZDgsIDB4ZDVkNTdhMTAsIDB4NWUwNjQ0MDksIDB4OTE5ODUzYzEsCisgICAgMHg5MmQxM2U3YSwgMHg1ZDRmMjliMiwgMHhkNjljMTdhYiwgMHgxOTAyMDA2MywgMHhlNDk4MTc2ZCwKKyAgICAweDJiMDYwMGE1LCAweGEwZDUzZWJjLCAweDZmNGIyOTc0LCAweDZjMDI0NGNmLCAweGEzOWM1MzA3LAorICAgIDB4Mjg0ZjZkMWUsIDB4ZTdkMTdhZDYsIDB4MmVkZGI2NjgsIDB4ZTE0M2ExYTAsIDB4NmE5MDlmYjksCisgICAgMHhhNTBlODg3MSwgMHhhNjQ3ZTVjYSwgMHg2OWQ5ZjIwMiwgMHhlMjBhY2MxYiwgMHgyZDk0ZGJkMywKKyAgICAweGFiNjI1MzI2LCAweDY0ZmM0NGVlLCAweGVmMmY3YWY3LCAweDIwYjE2ZDNmLCAweDIzZjgwMDg0LAorICAgIDB4ZWM2NjE3NGMsIDB4NjdiNTI5NTUsIDB4YTgyYjNlOWQsIDB4NjEyN2YyMjMsIDB4YWViOWU1ZWIsCisgICAgMHgyNTZhZGJmMiwgMHhlYWY0Y2MzYSwgMHhlOWJkYTE4MSwgMHgyNjIzYjY0OSwgMHhhZGYwODg1MCwKKyAgICAweDYyNmU5Zjk4LCAweDdiNmM5ZmZiLCAweGI0ZjI4ODMzLCAweDNmMjFiNjJhLCAweGYwYmZhMWUyLAorICAgIDB4ZjNmNmNjNTksIDB4M2M2OGRiOTEsIDB4YjdiYmU1ODgsIDB4NzgyNWYyNDAsIDB4YjEyOTNlZmUsCisgICAgMHg3ZWI3MjkzNiwgMHhmNTY0MTcyZiwgMHgzYWZhMDBlNywgMHgzOWIzNmQ1YywgMHhmNjJkN2E5NCwKKyAgICAweDdkZmU0NDhkLCAweGIyNjA1MzQ1LCAweDM0OTZkYmIwLCAweGZiMDhjYzc4LCAweDcwZGJmMjYxLAorICAgIDB4YmY0NWU1YTksIDB4YmMwYzg4MTIsIDB4NzM5MjlmZGEsIDB4Zjg0MWExYzMsIDB4MzdkZmI2MGIsCisgICAgMHhmZWQzN2FiNSwgMHgzMTRkNmQ3ZCwgMHhiYTllNTM2NCwgMHg3NTAwNDRhYywgMHg3NjQ5MjkxNywKKyAgICAweGI5ZDczZWRmLCAweDMyMDQwMGM2LCAweGZkOWExNzBlLCAweDEyNDEyODliLCAweGRkZGYzZjUzLAorICAgIDB4NTYwYzAxNGEsIDB4OTk5MjE2ODIsIDB4OWFkYjdiMzksIDB4NTU0NTZjZjEsIDB4ZGU5NjUyZTgsCisgICAgMHgxMTA4NDUyMCwgMHhkODA0ODk5ZSwgMHgxNzlhOWU1NiwgMHg5YzQ5YTA0ZiwgMHg1M2Q3Yjc4NywKKyAgICAweDUwOWVkYTNjLCAweDlmMDBjZGY0LCAweDE0ZDNmM2VkLCAweGRiNGRlNDI1LCAweDVkYmI2Y2QwLAorICAgIDB4OTIyNTdiMTgsIDB4MTlmNjQ1MDEsIDB4ZDY2ODUyYzksIDB4ZDUyMTNmNzIsIDB4MWFiZjI4YmEsCisgICAgMHg5MTZjMTZhMywgMHg1ZWYyMDE2YiwgMHg5N2ZlY2RkNSwgMHg1ODYwZGExZCwgMHhkM2IzZTQwNCwKKyAgICAweDFjMmRmM2NjLCAweDFmNjQ5ZTc3LCAweGQwZmE4OWJmLCAweDViMjliN2E2LCAweDk0YjdhMDZlLAorICAgIDB4OGRiNWEwMGQsIDB4NDIyYmI3YzUsIDB4YzlmODg5ZGMsIDB4MDY2NjllMTQsIDB4MDUyZmYzYWYsCisgICAgMHhjYWIxZTQ2NywgMHg0MTYyZGE3ZSwgMHg4ZWZjY2RiNiwgMHg0N2YwMDEwOCwgMHg4ODZlMTZjMCwKKyAgICAweDAzYmQyOGQ5LCAweGNjMjMzZjExLCAweGNmNmE1MmFhLCAweDAwZjQ0NTYyLCAweDhiMjc3YjdiLAorICAgIDB4NDRiOTZjYjMsIDB4YzI0ZmU0NDYsIDB4MGRkMWYzOGUsIDB4ODYwMmNkOTcsIDB4NDk5Y2RhNWYsCisgICAgMHg0YWQ1YjdlNCwgMHg4NTRiYTAyYywgMHgwZTk4OWUzNSwgMHhjMTA2ODlmZCwgMHgwODBhNDU0MywKKyAgICAweGM3OTQ1MjhiLCAweDRjNDc2YzkyLCAweDgzZDk3YjVhLCAweDgwOTAxNmUxLCAweDRmMGUwMTI5LAorICAgIDB4YzRkZDNmMzAsIDB4MGI0MzI4ZjgsIDB4ZjZkOTNmZjYsIDB4Mzk0NzI4M2UsIDB4YjI5NDE2MjcsCisgICAgMHg3ZDBhMDFlZiwgMHg3ZTQzNmM1NCwgMHhiMWRkN2I5YywgMHgzYTBlNDU4NSwgMHhmNTkwNTI0ZCwKKyAgICAweDNjOWM5ZWYzLCAweGYzMDI4OTNiLCAweDc4ZDFiNzIyLCAweGI3NGZhMGVhLCAweGI0MDZjZDUxLAorICAgIDB4N2I5OGRhOTksIDB4ZjA0YmU0ODAsIDB4M2ZkNWYzNDgsIDB4YjkyMzdiYmQsIDB4NzZiZDZjNzUsCisgICAgMHhmZDZlNTI2YywgMHgzMmYwNDVhNCwgMHgzMWI5MjgxZiwgMHhmZTI3M2ZkNywgMHg3NWY0MDFjZSwKKyAgICAweGJhNmExNjA2LCAweDczNjZkYWI4LCAweGJjZjhjZDcwLCAweDM3MmJmMzY5LCAweGY4YjVlNGExLAorICAgIDB4ZmJmYzg5MWEsIDB4MzQ2MjllZDIsIDB4YmZiMWEwY2IsIDB4NzAyZmI3MDMsIDB4NjkyZGI3NjAsCisgICAgMHhhNmIzYTBhOCwgMHgyZDYwOWViMSwgMHhlMmZlODk3OSwgMHhlMWI3ZTRjMiwgMHgyZTI5ZjMwYSwKKyAgICAweGE1ZmFjZDEzLCAweDZhNjRkYWRiLCAweGEzNjgxNjY1LCAweDZjZjYwMWFkLCAweGU3MjUzZmI0LAorICAgIDB4MjhiYjI4N2MsIDB4MmJmMjQ1YzcsIDB4ZTQ2YzUyMGYsIDB4NmZiZjZjMTYsIDB4YTAyMTdiZGUsCisgICAgMHgyNmQ3ZjMyYiwgMHhlOTQ5ZTRlMywgMHg2MjlhZGFmYSwgMHhhZDA0Y2QzMiwgMHhhZTRkYTA4OSwKKyAgICAweDYxZDNiNzQxLCAweGVhMDA4OTU4LCAweDI1OWU5ZTkwLCAweGVjOTI1MjJlLCAweDIzMGM0NWU2LAorICAgIDB4YThkZjdiZmYsIDB4Njc0MTZjMzcsIDB4NjQwODAxOGMsIDB4YWI5NjE2NDQsIDB4MjA0NTI4NWQsCisgICAgMHhlZmRiM2Y5NX0sCisgICB7MHgwMDAwMDAwMCwgMHgyNDgyNTEzNiwgMHg0OTA0YTI2YywgMHg2ZDg2ZjM1YSwgMHg5MjA5NDRkOCwKKyAgICAweGI2OGIxNWVlLCAweGRiMGRlNmI0LCAweGZmOGZiNzgyLCAweGZmNjM4ZmYxLCAweGRiZTFkZWM3LAorICAgIDB4YjY2NzJkOWQsIDB4OTJlNTdjYWIsIDB4NmQ2YWNiMjksIDB4NDllODlhMWYsIDB4MjQ2ZTY5NDUsCisgICAgMHgwMGVjMzg3MywgMHgyNWI2MTlhMywgMHgwMTM0NDg5NSwgMHg2Y2IyYmJjZiwgMHg0ODMwZWFmOSwKKyAgICAweGI3YmY1ZDdiLCAweDkzM2QwYzRkLCAweGZlYmJmZjE3LCAweGRhMzlhZTIxLCAweGRhZDU5NjUyLAorICAgIDB4ZmU1N2M3NjQsIDB4OTNkMTM0M2UsIDB4Yjc1MzY1MDgsIDB4NDhkY2QyOGEsIDB4NmM1ZTgzYmMsCisgICAgMHgwMWQ4NzBlNiwgMHgyNTVhMjFkMCwgMHg0YjZjMzM0NiwgMHg2ZmVlNjI3MCwgMHgwMjY4OTEyYSwKKyAgICAweDI2ZWFjMDFjLCAweGQ5NjU3NzllLCAweGZkZTcyNmE4LCAweDkwNjFkNWYyLCAweGI0ZTM4NGM0LAorICAgIDB4YjQwZmJjYjcsIDB4OTA4ZGVkODEsIDB4ZmQwYjFlZGIsIDB4ZDk4OTRmZWQsIDB4MjYwNmY4NmYsCisgICAgMHgwMjg0YTk1OSwgMHg2ZjAyNWEwMywgMHg0YjgwMGIzNSwgMHg2ZWRhMmFlNSwgMHg0YTU4N2JkMywKKyAgICAweDI3ZGU4ODg5LCAweDAzNWNkOWJmLCAweGZjZDM2ZTNkLCAweGQ4NTEzZjBiLCAweGI1ZDdjYzUxLAorICAgIDB4OTE1NTlkNjcsIDB4OTFiOWE1MTQsIDB4YjUzYmY0MjIsIDB4ZDhiZDA3NzgsIDB4ZmMzZjU2NGUsCisgICAgMHgwM2IwZTFjYywgMHgyNzMyYjBmYSwgMHg0YWI0NDNhMCwgMHg2ZTM2MTI5NiwgMHg5NmQ4NjY4YywKKyAgICAweGIyNWEzN2JhLCAweGRmZGNjNGUwLCAweGZiNWU5NWQ2LCAweDA0ZDEyMjU0LCAweDIwNTM3MzYyLAorICAgIDB4NGRkNTgwMzgsIDB4Njk1N2QxMGUsIDB4NjliYmU5N2QsIDB4NGQzOWI4NGIsIDB4MjBiZjRiMTEsCisgICAgMHgwNDNkMWEyNywgMHhmYmIyYWRhNSwgMHhkZjMwZmM5MywgMHhiMmI2MGZjOSwgMHg5NjM0NWVmZiwKKyAgICAweGIzNmU3ZjJmLCAweDk3ZWMyZTE5LCAweGZhNmFkZDQzLCAweGRlZTg4Yzc1LCAweDIxNjczYmY3LAorICAgIDB4MDVlNTZhYzEsIDB4Njg2Mzk5OWIsIDB4NGNlMWM4YWQsIDB4NGMwZGYwZGUsIDB4Njg4ZmExZTgsCisgICAgMHgwNTA5NTJiMiwgMHgyMThiMDM4NCwgMHhkZTA0YjQwNiwgMHhmYTg2ZTUzMCwgMHg5NzAwMTY2YSwKKyAgICAweGIzODI0NzVjLCAweGRkYjQ1NWNhLCAweGY5MzYwNGZjLCAweDk0YjBmN2E2LCAweGIwMzJhNjkwLAorICAgIDB4NGZiZDExMTIsIDB4NmIzZjQwMjQsIDB4MDZiOWIzN2UsIDB4MjIzYmUyNDgsIDB4MjJkN2RhM2IsCisgICAgMHgwNjU1OGIwZCwgMHg2YmQzNzg1NywgMHg0ZjUxMjk2MSwgMHhiMGRlOWVlMywgMHg5NDVjY2ZkNSwKKyAgICAweGY5ZGEzYzhmLCAweGRkNTg2ZGI5LCAweGY4MDI0YzY5LCAweGRjODAxZDVmLCAweGIxMDZlZTA1LAorICAgIDB4OTU4NGJmMzMsIDB4NmEwYjA4YjEsIDB4NGU4OTU5ODcsIDB4MjMwZmFhZGQsIDB4MDc4ZGZiZWIsCisgICAgMHgwNzYxYzM5OCwgMHgyM2UzOTJhZSwgMHg0ZTY1NjFmNCwgMHg2YWU3MzBjMiwgMHg5NTY4ODc0MCwKKyAgICAweGIxZWFkNjc2LCAweGRjNmMyNTJjLCAweGY4ZWU3NDFhLCAweGY2YzFjYjU5LCAweGQyNDM5YTZmLAorICAgIDB4YmZjNTY5MzUsIDB4OWI0NzM4MDMsIDB4NjRjODhmODEsIDB4NDA0YWRlYjcsIDB4MmRjYzJkZWQsCisgICAgMHgwOTRlN2NkYiwgMHgwOWEyNDRhOCwgMHgyZDIwMTU5ZSwgMHg0MGE2ZTZjNCwgMHg2NDI0YjdmMiwKKyAgICAweDliYWIwMDcwLCAweGJmMjk1MTQ2LCAweGQyYWZhMjFjLCAweGY2MmRmMzJhLCAweGQzNzdkMmZhLAorICAgIDB4ZjdmNTgzY2MsIDB4OWE3MzcwOTYsIDB4YmVmMTIxYTAsIDB4NDE3ZTk2MjIsIDB4NjVmY2M3MTQsCisgICAgMHgwODdhMzQ0ZSwgMHgyY2Y4NjU3OCwgMHgyYzE0NWQwYiwgMHgwODk2MGMzZCwgMHg2NTEwZmY2NywKKyAgICAweDQxOTJhZTUxLCAweGJlMWQxOWQzLCAweDlhOWY0OGU1LCAweGY3MTliYmJmLCAweGQzOWJlYTg5LAorICAgIDB4YmRhZGY4MWYsIDB4OTkyZmE5MjksIDB4ZjRhOTVhNzMsIDB4ZDAyYjBiNDUsIDB4MmZhNGJjYzcsCisgICAgMHgwYjI2ZWRmMSwgMHg2NmEwMWVhYiwgMHg0MjIyNGY5ZCwgMHg0MmNlNzdlZSwgMHg2NjRjMjZkOCwKKyAgICAweDBiY2FkNTgyLCAweDJmNDg4NGI0LCAweGQwYzczMzM2LCAweGY0NDU2MjAwLCAweDk5YzM5MTVhLAorICAgIDB4YmQ0MWMwNmMsIDB4OTgxYmUxYmMsIDB4YmM5OWIwOGEsIDB4ZDExZjQzZDAsIDB4ZjU5ZDEyZTYsCisgICAgMHgwYTEyYTU2NCwgMHgyZTkwZjQ1MiwgMHg0MzE2MDcwOCwgMHg2Nzk0NTYzZSwgMHg2Nzc4NmU0ZCwKKyAgICAweDQzZmEzZjdiLCAweDJlN2NjYzIxLCAweDBhZmU5ZDE3LCAweGY1NzEyYTk1LCAweGQxZjM3YmEzLAorICAgIDB4YmM3NTg4ZjksIDB4OThmN2Q5Y2YsIDB4NjAxOWFkZDUsIDB4NDQ5YmZjZTMsIDB4MjkxZDBmYjksCisgICAgMHgwZDlmNWU4ZiwgMHhmMjEwZTkwZCwgMHhkNjkyYjgzYiwgMHhiYjE0NGI2MSwgMHg5Zjk2MWE1NywKKyAgICAweDlmN2EyMjI0LCAweGJiZjg3MzEyLCAweGQ2N2U4MDQ4LCAweGYyZmNkMTdlLCAweDBkNzM2NmZjLAorICAgIDB4MjlmMTM3Y2EsIDB4NDQ3N2M0OTAsIDB4NjBmNTk1YTYsIDB4NDVhZmI0NzYsIDB4NjEyZGU1NDAsCisgICAgMHgwY2FiMTYxYSwgMHgyODI5NDcyYywgMHhkN2E2ZjBhZSwgMHhmMzI0YTE5OCwgMHg5ZWEyNTJjMiwKKyAgICAweGJhMjAwM2Y0LCAweGJhY2MzYjg3LCAweDllNGU2YWIxLCAweGYzYzg5OWViLCAweGQ3NGFjOGRkLAorICAgIDB4MjhjNTdmNWYsIDB4MGM0NzJlNjksIDB4NjFjMWRkMzMsIDB4NDU0MzhjMDUsIDB4MmI3NTllOTMsCisgICAgMHgwZmY3Y2ZhNSwgMHg2MjcxM2NmZiwgMHg0NmYzNmRjOSwgMHhiOTdjZGE0YiwgMHg5ZGZlOGI3ZCwKKyAgICAweGYwNzg3ODI3LCAweGQ0ZmEyOTExLCAweGQ0MTYxMTYyLCAweGYwOTQ0MDU0LCAweDlkMTJiMzBlLAorICAgIDB4Yjk5MGUyMzgsIDB4NDYxZjU1YmEsIDB4NjI5ZDA0OGMsIDB4MGYxYmY3ZDYsIDB4MmI5OWE2ZTAsCisgICAgMHgwZWMzODczMCwgMHgyYTQxZDYwNiwgMHg0N2M3MjU1YywgMHg2MzQ1NzQ2YSwgMHg5Y2NhYzNlOCwKKyAgICAweGI4NDg5MmRlLCAweGQ1Y2U2MTg0LCAweGYxNGMzMGIyLCAweGYxYTAwOGMxLCAweGQ1MjI1OWY3LAorICAgIDB4YjhhNGFhYWQsIDB4OWMyNmZiOWIsIDB4NjNhOTRjMTksIDB4NDcyYjFkMmYsIDB4MmFhZGVlNzUsCisgICAgMHgwZTJmYmY0M30sCisgICB7MHgwMDAwMDAwMCwgMHgzNmYyOTBmMywgMHg2ZGU1MjFlNiwgMHg1YjE3YjExNSwgMHhkYmNhNDNjYywKKyAgICAweGVkMzhkMzNmLCAweGI2MmY2MjJhLCAweDgwZGRmMmQ5LCAweDZjZTU4MWQ5LCAweDVhMTcxMTJhLAorICAgIDB4MDEwMGEwM2YsIDB4MzdmMjMwY2MsIDB4YjcyZmMyMTUsIDB4ODFkZDUyZTYsIDB4ZGFjYWUzZjMsCisgICAgMHhlYzM4NzMwMCwgMHhkOWNiMDNiMiwgMHhlZjM5OTM0MSwgMHhiNDJlMjI1NCwgMHg4MmRjYjJhNywKKyAgICAweDAyMDE0MDdlLCAweDM0ZjNkMDhkLCAweDZmZTQ2MTk4LCAweDU5MTZmMTZiLCAweGI1MmU4MjZiLAorICAgIDB4ODNkYzEyOTgsIDB4ZDhjYmEzOGQsIDB4ZWUzOTMzN2UsIDB4NmVlNGMxYTcsIDB4NTgxNjUxNTQsCisgICAgMHgwMzAxZTA0MSwgMHgzNWYzNzBiMiwgMHg2OGU3MDEyNSwgMHg1ZTE1OTFkNiwgMHgwNTAyMjBjMywKKyAgICAweDMzZjBiMDMwLCAweGIzMmQ0MmU5LCAweDg1ZGZkMjFhLCAweGRlYzg2MzBmLCAweGU4M2FmM2ZjLAorICAgIDB4MDQwMjgwZmMsIDB4MzJmMDEwMGYsIDB4NjllN2ExMWEsIDB4NWYxNTMxZTksIDB4ZGZjOGMzMzAsCisgICAgMHhlOTNhNTNjMywgMHhiMjJkZTJkNiwgMHg4NGRmNzIyNSwgMHhiMTJjMDI5NywgMHg4N2RlOTI2NCwKKyAgICAweGRjYzkyMzcxLCAweGVhM2JiMzgyLCAweDZhZTY0MTViLCAweDVjMTRkMWE4LCAweDA3MDM2MGJkLAorICAgIDB4MzFmMWYwNGUsIDB4ZGRjOTgzNGUsIDB4ZWIzYjEzYmQsIDB4YjAyY2EyYTgsIDB4ODZkZTMyNWIsCisgICAgMHgwNjAzYzA4MiwgMHgzMGYxNTA3MSwgMHg2YmU2ZTE2NCwgMHg1ZDE0NzE5NywgMHhkMWNlMDI0YSwKKyAgICAweGU3M2M5MmI5LCAweGJjMmIyM2FjLCAweDhhZDliMzVmLCAweDBhMDQ0MTg2LCAweDNjZjZkMTc1LAorICAgIDB4NjdlMTYwNjAsIDB4NTExM2YwOTMsIDB4YmQyYjgzOTMsIDB4OGJkOTEzNjAsIDB4ZDBjZWEyNzUsCisgICAgMHhlNjNjMzI4NiwgMHg2NmUxYzA1ZiwgMHg1MDEzNTBhYywgMHgwYjA0ZTFiOSwgMHgzZGY2NzE0YSwKKyAgICAweDA4MDUwMWY4LCAweDNlZjc5MTBiLCAweDY1ZTAyMDFlLCAweDUzMTJiMGVkLCAweGQzY2Y0MjM0LAorICAgIDB4ZTUzZGQyYzcsIDB4YmUyYTYzZDIsIDB4ODhkOGYzMjEsIDB4NjRlMDgwMjEsIDB4NTIxMjEwZDIsCisgICAgMHgwOTA1YTFjNywgMHgzZmY3MzEzNCwgMHhiZjJhYzNlZCwgMHg4OWQ4NTMxZSwgMHhkMmNmZTIwYiwKKyAgICAweGU0M2Q3MmY4LCAweGI5MjkwMzZmLCAweDhmZGI5MzljLCAweGQ0Y2MyMjg5LCAweGUyM2ViMjdhLAorICAgIDB4NjJlMzQwYTMsIDB4NTQxMWQwNTAsIDB4MGYwNjYxNDUsIDB4MzlmNGYxYjYsIDB4ZDVjYzgyYjYsCisgICAgMHhlMzNlMTI0NSwgMHhiODI5YTM1MCwgMHg4ZWRiMzNhMywgMHgwZTA2YzE3YSwgMHgzOGY0NTE4OSwKKyAgICAweDYzZTNlMDljLCAweDU1MTE3MDZmLCAweDYwZTIwMGRkLCAweDU2MTA5MDJlLCAweDBkMDcyMTNiLAorICAgIDB4M2JmNWIxYzgsIDB4YmIyODQzMTEsIDB4OGRkYWQzZTIsIDB4ZDZjZDYyZjcsIDB4ZTAzZmYyMDQsCisgICAgMHgwYzA3ODEwNCwgMHgzYWY1MTFmNywgMHg2MWUyYTBlMiwgMHg1NzEwMzAxMSwgMHhkN2NkYzJjOCwKKyAgICAweGUxM2Y1MjNiLCAweGJhMjhlMzJlLCAweDhjZGE3M2RkLCAweDc4ZWQwMmQ1LCAweDRlMWY5MjI2LAorICAgIDB4MTUwODIzMzMsIDB4MjNmYWIzYzAsIDB4YTMyNzQxMTksIDB4OTVkNWQxZWEsIDB4Y2VjMjYwZmYsCisgICAgMHhmODMwZjAwYywgMHgxNDA4ODMwYywgMHgyMmZhMTNmZiwgMHg3OWVkYTJlYSwgMHg0ZjFmMzIxOSwKKyAgICAweGNmYzJjMGMwLCAweGY5MzA1MDMzLCAweGEyMjdlMTI2LCAweDk0ZDU3MWQ1LCAweGExMjYwMTY3LAorICAgIDB4OTdkNDkxOTQsIDB4Y2NjMzIwODEsIDB4ZmEzMWIwNzIsIDB4N2FlYzQyYWIsIDB4NGMxZWQyNTgsCisgICAgMHgxNzA5NjM0ZCwgMHgyMWZiZjNiZSwgMHhjZGMzODBiZSwgMHhmYjMxMTA0ZCwgMHhhMDI2YTE1OCwKKyAgICAweDk2ZDQzMWFiLCAweDE2MDljMzcyLCAweDIwZmI1MzgxLCAweDdiZWNlMjk0LCAweDRkMWU3MjY3LAorICAgIDB4MTAwYTAzZjAsIDB4MjZmODkzMDMsIDB4N2RlZjIyMTYsIDB4NGIxZGIyZTUsIDB4Y2JjMDQwM2MsCisgICAgMHhmZDMyZDBjZiwgMHhhNjI1NjFkYSwgMHg5MGQ3ZjEyOSwgMHg3Y2VmODIyOSwgMHg0YTFkMTJkYSwKKyAgICAweDExMGFhM2NmLCAweDI3ZjgzMzNjLCAweGE3MjVjMWU1LCAweDkxZDc1MTE2LCAweGNhYzBlMDAzLAorICAgIDB4ZmMzMjcwZjAsIDB4YzljMTAwNDIsIDB4ZmYzMzkwYjEsIDB4YTQyNDIxYTQsIDB4OTJkNmIxNTcsCisgICAgMHgxMjBiNDM4ZSwgMHgyNGY5ZDM3ZCwgMHg3ZmVlNjI2OCwgMHg0OTFjZjI5YiwgMHhhNTI0ODE5YiwKKyAgICAweDkzZDYxMTY4LCAweGM4YzFhMDdkLCAweGZlMzMzMDhlLCAweDdlZWVjMjU3LCAweDQ4MWM1MmE0LAorICAgIDB4MTMwYmUzYjEsIDB4MjVmOTczNDIsIDB4YTkyMzAwOWYsIDB4OWZkMTkwNmMsIDB4YzRjNjIxNzksCisgICAgMHhmMjM0YjE4YSwgMHg3MmU5NDM1MywgMHg0NDFiZDNhMCwgMHgxZjBjNjJiNSwgMHgyOWZlZjI0NiwKKyAgICAweGM1YzY4MTQ2LCAweGYzMzQxMWI1LCAweGE4MjNhMGEwLCAweDllZDEzMDUzLCAweDFlMGNjMjhhLAorICAgIDB4MjhmZTUyNzksIDB4NzNlOWUzNmMsIDB4NDUxYjczOWYsIDB4NzBlODAzMmQsIDB4NDYxYTkzZGUsCisgICAgMHgxZDBkMjJjYiwgMHgyYmZmYjIzOCwgMHhhYjIyNDBlMSwgMHg5ZGQwZDAxMiwgMHhjNmM3NjEwNywKKyAgICAweGYwMzVmMWY0LCAweDFjMGQ4MmY0LCAweDJhZmYxMjA3LCAweDcxZThhMzEyLCAweDQ3MWEzM2UxLAorICAgIDB4YzdjN2MxMzgsIDB4ZjEzNTUxY2IsIDB4YWEyMmUwZGUsIDB4OWNkMDcwMmQsIDB4YzFjNDAxYmEsCisgICAgMHhmNzM2OTE0OSwgMHhhYzIxMjA1YywgMHg5YWQzYjBhZiwgMHgxYTBlNDI3NiwgMHgyY2ZjZDI4NSwKKyAgICAweDc3ZWI2MzkwLCAweDQxMTlmMzYzLCAweGFkMjE4MDYzLCAweDliZDMxMDkwLCAweGMwYzRhMTg1LAorICAgIDB4ZjYzNjMxNzYsIDB4NzZlYmMzYWYsIDB4NDAxOTUzNWMsIDB4MWIwZWUyNDksIDB4MmRmYzcyYmEsCisgICAgMHgxODBmMDIwOCwgMHgyZWZkOTJmYiwgMHg3NWVhMjNlZSwgMHg0MzE4YjMxZCwgMHhjM2M1NDFjNCwKKyAgICAweGY1MzdkMTM3LCAweGFlMjA2MDIyLCAweDk4ZDJmMGQxLCAweDc0ZWE4M2QxLCAweDQyMTgxMzIyLAorICAgIDB4MTkwZmEyMzcsIDB4MmZmZDMyYzQsIDB4YWYyMGMwMWQsIDB4OTlkMjUwZWUsIDB4YzJjNWUxZmIsCisgICAgMHhmNDM3NzEwOH19OworCitsb2NhbCBjb25zdCB6X3dvcmRfdCBGQVIgY3JjX2JyYWlkX2JpZ190YWJsZVtdWzI1Nl0gPSB7CisgICB7MHgwMDAwMDAwMDAwMDAwMDAwLCAweGYzOTBmMjM2MDAwMDAwMDAsIDB4ZTYyMWU1NmQwMDAwMDAwMCwKKyAgICAweDE1YjExNzViMDAwMDAwMDAsIDB4Y2M0M2NhZGIwMDAwMDAwMCwgMHgzZmQzMzhlZDAwMDAwMDAwLAorICAgIDB4MmE2MjJmYjYwMDAwMDAwMCwgMHhkOWYyZGQ4MDAwMDAwMDAwLCAweGQ5ODFlNTZjMDAwMDAwMDAsCisgICAgMHgyYTExMTc1YTAwMDAwMDAwLCAweDNmYTAwMDAxMDAwMDAwMDAsIDB4Y2MzMGYyMzcwMDAwMDAwMCwKKyAgICAweDE1YzIyZmI3MDAwMDAwMDAsIDB4ZTY1MmRkODEwMDAwMDAwMCwgMHhmM2UzY2FkYTAwMDAwMDAwLAorICAgIDB4MDA3MzM4ZWMwMDAwMDAwMCwgMHhiMjAzY2JkOTAwMDAwMDAwLCAweDQxOTMzOWVmMDAwMDAwMDAsCisgICAgMHg1NDIyMmViNDAwMDAwMDAwLCAweGE3YjJkYzgyMDAwMDAwMDAsIDB4N2U0MDAxMDIwMDAwMDAwMCwKKyAgICAweDhkZDBmMzM0MDAwMDAwMDAsIDB4OTg2MWU0NmYwMDAwMDAwMCwgMHg2YmYxMTY1OTAwMDAwMDAwLAorICAgIDB4NmI4MjJlYjUwMDAwMDAwMCwgMHg5ODEyZGM4MzAwMDAwMDAwLCAweDhkYTNjYmQ4MDAwMDAwMDAsCisgICAgMHg3ZTMzMzllZTAwMDAwMDAwLCAweGE3YzFlNDZlMDAwMDAwMDAsIDB4NTQ1MTE2NTgwMDAwMDAwMCwKKyAgICAweDQxZTAwMTAzMDAwMDAwMDAsIDB4YjI3MGYzMzUwMDAwMDAwMCwgMHgyNTAxZTc2ODAwMDAwMDAwLAorICAgIDB4ZDY5MTE1NWUwMDAwMDAwMCwgMHhjMzIwMDIwNTAwMDAwMDAwLCAweDMwYjBmMDMzMDAwMDAwMDAsCisgICAgMHhlOTQyMmRiMzAwMDAwMDAwLCAweDFhZDJkZjg1MDAwMDAwMDAsIDB4MGY2M2M4ZGUwMDAwMDAwMCwKKyAgICAweGZjZjMzYWU4MDAwMDAwMDAsIDB4ZmM4MDAyMDQwMDAwMDAwMCwgMHgwZjEwZjAzMjAwMDAwMDAwLAorICAgIDB4MWFhMWU3NjkwMDAwMDAwMCwgMHhlOTMxMTU1ZjAwMDAwMDAwLCAweDMwYzNjOGRmMDAwMDAwMDAsCisgICAgMHhjMzUzM2FlOTAwMDAwMDAwLCAweGQ2ZTIyZGIyMDAwMDAwMDAsIDB4MjU3MmRmODQwMDAwMDAwMCwKKyAgICAweDk3MDIyY2IxMDAwMDAwMDAsIDB4NjQ5MmRlODcwMDAwMDAwMCwgMHg3MTIzYzlkYzAwMDAwMDAwLAorICAgIDB4ODJiMzNiZWEwMDAwMDAwMCwgMHg1YjQxZTY2YTAwMDAwMDAwLCAweGE4ZDExNDVjMDAwMDAwMDAsCisgICAgMHhiZDYwMDMwNzAwMDAwMDAwLCAweDRlZjBmMTMxMDAwMDAwMDAsIDB4NGU4M2M5ZGQwMDAwMDAwMCwKKyAgICAweGJkMTMzYmViMDAwMDAwMDAsIDB4YThhMjJjYjAwMDAwMDAwMCwgMHg1YjMyZGU4NjAwMDAwMDAwLAorICAgIDB4ODJjMDAzMDYwMDAwMDAwMCwgMHg3MTUwZjEzMDAwMDAwMDAwLCAweDY0ZTFlNjZiMDAwMDAwMDAsCisgICAgMHg5NzcxMTQ1ZDAwMDAwMDAwLCAweDRhMDJjZWQxMDAwMDAwMDAsIDB4Yjk5MjNjZTcwMDAwMDAwMCwKKyAgICAweGFjMjMyYmJjMDAwMDAwMDAsIDB4NWZiM2Q5OGEwMDAwMDAwMCwgMHg4NjQxMDQwYTAwMDAwMDAwLAorICAgIDB4NzVkMWY2M2MwMDAwMDAwMCwgMHg2MDYwZTE2NzAwMDAwMDAwLCAweDkzZjAxMzUxMDAwMDAwMDAsCisgICAgMHg5MzgzMmJiZDAwMDAwMDAwLCAweDYwMTNkOThiMDAwMDAwMDAsIDB4NzVhMmNlZDAwMDAwMDAwMCwKKyAgICAweDg2MzIzY2U2MDAwMDAwMDAsIDB4NWZjMGUxNjYwMDAwMDAwMCwgMHhhYzUwMTM1MDAwMDAwMDAwLAorICAgIDB4YjllMTA0MGIwMDAwMDAwMCwgMHg0YTcxZjYzZDAwMDAwMDAwLCAweGY4MDEwNTA4MDAwMDAwMDAsCisgICAgMHgwYjkxZjczZTAwMDAwMDAwLCAweDFlMjBlMDY1MDAwMDAwMDAsIDB4ZWRiMDEyNTMwMDAwMDAwMCwKKyAgICAweDM0NDJjZmQzMDAwMDAwMDAsIDB4YzdkMjNkZTUwMDAwMDAwMCwgMHhkMjYzMmFiZTAwMDAwMDAwLAorICAgIDB4MjFmM2Q4ODgwMDAwMDAwMCwgMHgyMTgwZTA2NDAwMDAwMDAwLCAweGQyMTAxMjUyMDAwMDAwMDAsCisgICAgMHhjN2ExMDUwOTAwMDAwMDAwLCAweDM0MzFmNzNmMDAwMDAwMDAsIDB4ZWRjMzJhYmYwMDAwMDAwMCwKKyAgICAweDFlNTNkODg5MDAwMDAwMDAsIDB4MGJlMmNmZDIwMDAwMDAwMCwgMHhmODcyM2RlNDAwMDAwMDAwLAorICAgIDB4NmYwMzI5YjkwMDAwMDAwMCwgMHg5YzkzZGI4ZjAwMDAwMDAwLCAweDg5MjJjY2Q0MDAwMDAwMDAsCisgICAgMHg3YWIyM2VlMjAwMDAwMDAwLCAweGEzNDBlMzYyMDAwMDAwMDAsIDB4NTBkMDExNTQwMDAwMDAwMCwKKyAgICAweDQ1NjEwNjBmMDAwMDAwMDAsIDB4YjZmMWY0MzkwMDAwMDAwMCwgMHhiNjgyY2NkNTAwMDAwMDAwLAorICAgIDB4NDUxMjNlZTMwMDAwMDAwMCwgMHg1MGEzMjliODAwMDAwMDAwLCAweGEzMzNkYjhlMDAwMDAwMDAsCisgICAgMHg3YWMxMDYwZTAwMDAwMDAwLCAweDg5NTFmNDM4MDAwMDAwMDAsIDB4OWNlMGUzNjMwMDAwMDAwMCwKKyAgICAweDZmNzAxMTU1MDAwMDAwMDAsIDB4ZGQwMGUyNjAwMDAwMDAwMCwgMHgyZTkwMTA1NjAwMDAwMDAwLAorICAgIDB4M2IyMTA3MGQwMDAwMDAwMCwgMHhjOGIxZjUzYjAwMDAwMDAwLCAweDExNDMyOGJiMDAwMDAwMDAsCisgICAgMHhlMmQzZGE4ZDAwMDAwMDAwLCAweGY3NjJjZGQ2MDAwMDAwMDAsIDB4MDRmMjNmZTAwMDAwMDAwMCwKKyAgICAweDA0ODEwNzBjMDAwMDAwMDAsIDB4ZjcxMWY1M2EwMDAwMDAwMCwgMHhlMmEwZTI2MTAwMDAwMDAwLAorICAgIDB4MTEzMDEwNTcwMDAwMDAwMCwgMHhjOGMyY2RkNzAwMDAwMDAwLCAweDNiNTIzZmUxMDAwMDAwMDAsCisgICAgMHgyZWUzMjhiYTAwMDAwMDAwLCAweGRkNzNkYThjMDAwMDAwMDAsIDB4ZDUwMmVkNzgwMDAwMDAwMCwKKyAgICAweDI2OTIxZjRlMDAwMDAwMDAsIDB4MzMyMzA4MTUwMDAwMDAwMCwgMHhjMGIzZmEyMzAwMDAwMDAwLAorICAgIDB4MTk0MTI3YTMwMDAwMDAwMCwgMHhlYWQxZDU5NTAwMDAwMDAwLCAweGZmNjBjMmNlMDAwMDAwMDAsCisgICAgMHgwY2YwMzBmODAwMDAwMDAwLCAweDBjODMwODE0MDAwMDAwMDAsIDB4ZmYxM2ZhMjIwMDAwMDAwMCwKKyAgICAweGVhYTJlZDc5MDAwMDAwMDAsIDB4MTkzMjFmNGYwMDAwMDAwMCwgMHhjMGMwYzJjZjAwMDAwMDAwLAorICAgIDB4MzM1MDMwZjkwMDAwMDAwMCwgMHgyNmUxMjdhMjAwMDAwMDAwLCAweGQ1NzFkNTk0MDAwMDAwMDAsCisgICAgMHg2NzAxMjZhMTAwMDAwMDAwLCAweDk0OTFkNDk3MDAwMDAwMDAsIDB4ODEyMGMzY2MwMDAwMDAwMCwKKyAgICAweDcyYjAzMWZhMDAwMDAwMDAsIDB4YWI0MmVjN2EwMDAwMDAwMCwgMHg1OGQyMWU0YzAwMDAwMDAwLAorICAgIDB4NGQ2MzA5MTcwMDAwMDAwMCwgMHhiZWYzZmIyMTAwMDAwMDAwLCAweGJlODBjM2NkMDAwMDAwMDAsCisgICAgMHg0ZDEwMzFmYjAwMDAwMDAwLCAweDU4YTEyNmEwMDAwMDAwMDAsIDB4YWIzMWQ0OTYwMDAwMDAwMCwKKyAgICAweDcyYzMwOTE2MDAwMDAwMDAsIDB4ODE1M2ZiMjAwMDAwMDAwMCwgMHg5NGUyZWM3YjAwMDAwMDAwLAorICAgIDB4Njc3MjFlNGQwMDAwMDAwMCwgMHhmMDAzMGExMDAwMDAwMDAwLCAweDAzOTNmODI2MDAwMDAwMDAsCisgICAgMHgxNjIyZWY3ZDAwMDAwMDAwLCAweGU1YjIxZDRiMDAwMDAwMDAsIDB4M2M0MGMwY2IwMDAwMDAwMCwKKyAgICAweGNmZDAzMmZkMDAwMDAwMDAsIDB4ZGE2MTI1YTYwMDAwMDAwMCwgMHgyOWYxZDc5MDAwMDAwMDAwLAorICAgIDB4Mjk4MmVmN2MwMDAwMDAwMCwgMHhkYTEyMWQ0YTAwMDAwMDAwLCAweGNmYTMwYTExMDAwMDAwMDAsCisgICAgMHgzYzMzZjgyNzAwMDAwMDAwLCAweGU1YzEyNWE3MDAwMDAwMDAsIDB4MTY1MWQ3OTEwMDAwMDAwMCwKKyAgICAweDAzZTBjMGNhMDAwMDAwMDAsIDB4ZjA3MDMyZmMwMDAwMDAwMCwgMHg0MjAwYzFjOTAwMDAwMDAwLAorICAgIDB4YjE5MDMzZmYwMDAwMDAwMCwgMHhhNDIxMjRhNDAwMDAwMDAwLCAweDU3YjFkNjkyMDAwMDAwMDAsCisgICAgMHg4ZTQzMGIxMjAwMDAwMDAwLCAweDdkZDNmOTI0MDAwMDAwMDAsIDB4Njg2MmVlN2YwMDAwMDAwMCwKKyAgICAweDliZjIxYzQ5MDAwMDAwMDAsIDB4OWI4MTI0YTUwMDAwMDAwMCwgMHg2ODExZDY5MzAwMDAwMDAwLAorICAgIDB4N2RhMGMxYzgwMDAwMDAwMCwgMHg4ZTMwMzNmZTAwMDAwMDAwLCAweDU3YzJlZTdlMDAwMDAwMDAsCisgICAgMHhhNDUyMWM0ODAwMDAwMDAwLCAweGIxZTMwYjEzMDAwMDAwMDAsIDB4NDI3M2Y5MjUwMDAwMDAwMCwKKyAgICAweDlmMDAyM2E5MDAwMDAwMDAsIDB4NmM5MGQxOWYwMDAwMDAwMCwgMHg3OTIxYzZjNDAwMDAwMDAwLAorICAgIDB4OGFiMTM0ZjIwMDAwMDAwMCwgMHg1MzQzZTk3MjAwMDAwMDAwLCAweGEwZDMxYjQ0MDAwMDAwMDAsCisgICAgMHhiNTYyMGMxZjAwMDAwMDAwLCAweDQ2ZjJmZTI5MDAwMDAwMDAsIDB4NDY4MWM2YzUwMDAwMDAwMCwKKyAgICAweGI1MTEzNGYzMDAwMDAwMDAsIDB4YTBhMDIzYTgwMDAwMDAwMCwgMHg1MzMwZDE5ZTAwMDAwMDAwLAorICAgIDB4OGFjMjBjMWUwMDAwMDAwMCwgMHg3OTUyZmUyODAwMDAwMDAwLCAweDZjZTNlOTczMDAwMDAwMDAsCisgICAgMHg5ZjczMWI0NTAwMDAwMDAwLCAweDJkMDNlODcwMDAwMDAwMDAsIDB4ZGU5MzFhNDYwMDAwMDAwMCwKKyAgICAweGNiMjIwZDFkMDAwMDAwMDAsIDB4MzhiMmZmMmIwMDAwMDAwMCwgMHhlMTQwMjJhYjAwMDAwMDAwLAorICAgIDB4MTJkMGQwOWQwMDAwMDAwMCwgMHgwNzYxYzdjNjAwMDAwMDAwLCAweGY0ZjEzNWYwMDAwMDAwMDAsCisgICAgMHhmNDgyMGQxYzAwMDAwMDAwLCAweDA3MTJmZjJhMDAwMDAwMDAsIDB4MTJhM2U4NzEwMDAwMDAwMCwKKyAgICAweGUxMzMxYTQ3MDAwMDAwMDAsIDB4MzhjMWM3YzcwMDAwMDAwMCwgMHhjYjUxMzVmMTAwMDAwMDAwLAorICAgIDB4ZGVlMDIyYWEwMDAwMDAwMCwgMHgyZDcwZDA5YzAwMDAwMDAwLCAweGJhMDFjNGMxMDAwMDAwMDAsCisgICAgMHg0OTkxMzZmNzAwMDAwMDAwLCAweDVjMjAyMWFjMDAwMDAwMDAsIDB4YWZiMGQzOWEwMDAwMDAwMCwKKyAgICAweDc2NDIwZTFhMDAwMDAwMDAsIDB4ODVkMmZjMmMwMDAwMDAwMCwgMHg5MDYzZWI3NzAwMDAwMDAwLAorICAgIDB4NjNmMzE5NDEwMDAwMDAwMCwgMHg2MzgwMjFhZDAwMDAwMDAwLCAweDkwMTBkMzliMDAwMDAwMDAsCisgICAgMHg4NWExYzRjMDAwMDAwMDAwLCAweDc2MzEzNmY2MDAwMDAwMDAsIDB4YWZjM2ViNzYwMDAwMDAwMCwKKyAgICAweDVjNTMxOTQwMDAwMDAwMDAsIDB4NDllMjBlMWIwMDAwMDAwMCwgMHhiYTcyZmMyZDAwMDAwMDAwLAorICAgIDB4MDgwMjBmMTgwMDAwMDAwMCwgMHhmYjkyZmQyZTAwMDAwMDAwLCAweGVlMjNlYTc1MDAwMDAwMDAsCisgICAgMHgxZGIzMTg0MzAwMDAwMDAwLCAweGM0NDFjNWMzMDAwMDAwMDAsIDB4MzdkMTM3ZjUwMDAwMDAwMCwKKyAgICAweDIyNjAyMGFlMDAwMDAwMDAsIDB4ZDFmMGQyOTgwMDAwMDAwMCwgMHhkMTgzZWE3NDAwMDAwMDAwLAorICAgIDB4MjIxMzE4NDIwMDAwMDAwMCwgMHgzN2EyMGYxOTAwMDAwMDAwLCAweGM0MzJmZDJmMDAwMDAwMDAsCisgICAgMHgxZGMwMjBhZjAwMDAwMDAwLCAweGVlNTBkMjk5MDAwMDAwMDAsIDB4ZmJlMWM1YzIwMDAwMDAwMCwKKyAgICAweDA4NzEzN2Y0MDAwMDAwMDB9LAorICAgezB4MDAwMDAwMDAwMDAwMDAwMCwgMHgzNjUxODIyNDAwMDAwMDAwLCAweDZjYTIwNDQ5MDAwMDAwMDAsCisgICAgMHg1YWYzODY2ZDAwMDAwMDAwLCAweGQ4NDQwOTkyMDAwMDAwMDAsIDB4ZWUxNThiYjYwMDAwMDAwMCwKKyAgICAweGI0ZTYwZGRiMDAwMDAwMDAsIDB4ODJiNzhmZmYwMDAwMDAwMCwgMHhmMThmNjNmZjAwMDAwMDAwLAorICAgIDB4YzdkZWUxZGIwMDAwMDAwMCwgMHg5ZDJkNjdiNjAwMDAwMDAwLCAweGFiN2NlNTkyMDAwMDAwMDAsCisgICAgMHgyOWNiNmE2ZDAwMDAwMDAwLCAweDFmOWFlODQ5MDAwMDAwMDAsIDB4NDU2OTZlMjQwMDAwMDAwMCwKKyAgICAweDczMzhlYzAwMDAwMDAwMDAsIDB4YTMxOWI2MjUwMDAwMDAwMCwgMHg5NTQ4MzQwMTAwMDAwMDAwLAorICAgIDB4Y2ZiYmIyNmMwMDAwMDAwMCwgMHhmOWVhMzA0ODAwMDAwMDAwLCAweDdiNWRiZmI3MDAwMDAwMDAsCisgICAgMHg0ZDBjM2Q5MzAwMDAwMDAwLCAweDE3ZmZiYmZlMDAwMDAwMDAsIDB4MjFhZTM5ZGEwMDAwMDAwMCwKKyAgICAweDUyOTZkNWRhMDAwMDAwMDAsIDB4NjRjNzU3ZmUwMDAwMDAwMCwgMHgzZTM0ZDE5MzAwMDAwMDAwLAorICAgIDB4MDg2NTUzYjcwMDAwMDAwMCwgMHg4YWQyZGM0ODAwMDAwMDAwLCAweGJjODM1ZTZjMDAwMDAwMDAsCisgICAgMHhlNjcwZDgwMTAwMDAwMDAwLCAweGQwMjE1YTI1MDAwMDAwMDAsIDB4NDYzMzZjNGIwMDAwMDAwMCwKKyAgICAweDcwNjJlZTZmMDAwMDAwMDAsIDB4MmE5MTY4MDIwMDAwMDAwMCwgMHgxY2MwZWEyNjAwMDAwMDAwLAorICAgIDB4OWU3NzY1ZDkwMDAwMDAwMCwgMHhhODI2ZTdmZDAwMDAwMDAwLCAweGYyZDU2MTkwMDAwMDAwMDAsCisgICAgMHhjNDg0ZTNiNDAwMDAwMDAwLCAweGI3YmMwZmI0MDAwMDAwMDAsIDB4ODFlZDhkOTAwMDAwMDAwMCwKKyAgICAweGRiMWUwYmZkMDAwMDAwMDAsIDB4ZWQ0Zjg5ZDkwMDAwMDAwMCwgMHg2ZmY4MDYyNjAwMDAwMDAwLAorICAgIDB4NTlhOTg0MDIwMDAwMDAwMCwgMHgwMzVhMDI2ZjAwMDAwMDAwLCAweDM1MGI4MDRiMDAwMDAwMDAsCisgICAgMHhlNTJhZGE2ZTAwMDAwMDAwLCAweGQzN2I1ODRhMDAwMDAwMDAsIDB4ODk4OGRlMjcwMDAwMDAwMCwKKyAgICAweGJmZDk1YzAzMDAwMDAwMDAsIDB4M2Q2ZWQzZmMwMDAwMDAwMCwgMHgwYjNmNTFkODAwMDAwMDAwLAorICAgIDB4NTFjY2Q3YjUwMDAwMDAwMCwgMHg2NzlkNTU5MTAwMDAwMDAwLCAweDE0YTViOTkxMDAwMDAwMDAsCisgICAgMHgyMmY0M2JiNTAwMDAwMDAwLCAweDc4MDdiZGQ4MDAwMDAwMDAsIDB4NGU1NjNmZmMwMDAwMDAwMCwKKyAgICAweGNjZTFiMDAzMDAwMDAwMDAsIDB4ZmFiMDMyMjcwMDAwMDAwMCwgMHhhMDQzYjQ0YTAwMDAwMDAwLAorICAgIDB4OTYxMjM2NmUwMDAwMDAwMCwgMHg4YzY2ZDg5NjAwMDAwMDAwLCAweGJhMzc1YWIyMDAwMDAwMDAsCisgICAgMHhlMGM0ZGNkZjAwMDAwMDAwLCAweGQ2OTU1ZWZiMDAwMDAwMDAsIDB4NTQyMmQxMDQwMDAwMDAwMCwKKyAgICAweDYyNzM1MzIwMDAwMDAwMDAsIDB4Mzg4MGQ1NGQwMDAwMDAwMCwgMHgwZWQxNTc2OTAwMDAwMDAwLAorICAgIDB4N2RlOWJiNjkwMDAwMDAwMCwgMHg0YmI4Mzk0ZDAwMDAwMDAwLCAweDExNGJiZjIwMDAwMDAwMDAsCisgICAgMHgyNzFhM2QwNDAwMDAwMDAwLCAweGE1YWRiMmZiMDAwMDAwMDAsIDB4OTNmYzMwZGYwMDAwMDAwMCwKKyAgICAweGM5MGZiNmIyMDAwMDAwMDAsIDB4ZmY1ZTM0OTYwMDAwMDAwMCwgMHgyZjdmNmViMzAwMDAwMDAwLAorICAgIDB4MTkyZWVjOTcwMDAwMDAwMCwgMHg0M2RkNmFmYTAwMDAwMDAwLCAweDc1OGNlOGRlMDAwMDAwMDAsCisgICAgMHhmNzNiNjcyMTAwMDAwMDAwLCAweGMxNmFlNTA1MDAwMDAwMDAsIDB4OWI5OTYzNjgwMDAwMDAwMCwKKyAgICAweGFkYzhlMTRjMDAwMDAwMDAsIDB4ZGVmMDBkNGMwMDAwMDAwMCwgMHhlOGExOGY2ODAwMDAwMDAwLAorICAgIDB4YjI1MjA5MDUwMDAwMDAwMCwgMHg4NDAzOGIyMTAwMDAwMDAwLCAweDA2YjQwNGRlMDAwMDAwMDAsCisgICAgMHgzMGU1ODZmYTAwMDAwMDAwLCAweDZhMTYwMDk3MDAwMDAwMDAsIDB4NWM0NzgyYjMwMDAwMDAwMCwKKyAgICAweGNhNTViNGRkMDAwMDAwMDAsIDB4ZmMwNDM2ZjkwMDAwMDAwMCwgMHhhNmY3YjA5NDAwMDAwMDAwLAorICAgIDB4OTBhNjMyYjAwMDAwMDAwMCwgMHgxMjExYmQ0ZjAwMDAwMDAwLCAweDI0NDAzZjZiMDAwMDAwMDAsCisgICAgMHg3ZWIzYjkwNjAwMDAwMDAwLCAweDQ4ZTIzYjIyMDAwMDAwMDAsIDB4M2JkYWQ3MjIwMDAwMDAwMCwKKyAgICAweDBkOGI1NTA2MDAwMDAwMDAsIDB4NTc3OGQzNmIwMDAwMDAwMCwgMHg2MTI5NTE0ZjAwMDAwMDAwLAorICAgIDB4ZTM5ZWRlYjAwMDAwMDAwMCwgMHhkNWNmNWM5NDAwMDAwMDAwLCAweDhmM2NkYWY5MDAwMDAwMDAsCisgICAgMHhiOTZkNThkZDAwMDAwMDAwLCAweDY5NGMwMmY4MDAwMDAwMDAsIDB4NWYxZDgwZGMwMDAwMDAwMCwKKyAgICAweDA1ZWUwNmIxMDAwMDAwMDAsIDB4MzNiZjg0OTUwMDAwMDAwMCwgMHhiMTA4MGI2YTAwMDAwMDAwLAorICAgIDB4ODc1OTg5NGUwMDAwMDAwMCwgMHhkZGFhMGYyMzAwMDAwMDAwLCAweGViZmI4ZDA3MDAwMDAwMDAsCisgICAgMHg5OGMzNjEwNzAwMDAwMDAwLCAweGFlOTJlMzIzMDAwMDAwMDAsIDB4ZjQ2MTY1NGUwMDAwMDAwMCwKKyAgICAweGMyMzBlNzZhMDAwMDAwMDAsIDB4NDA4NzY4OTUwMDAwMDAwMCwgMHg3NmQ2ZWFiMTAwMDAwMDAwLAorICAgIDB4MmMyNTZjZGMwMDAwMDAwMCwgMHgxYTc0ZWVmODAwMDAwMDAwLCAweDU5Y2JjMWY2MDAwMDAwMDAsCisgICAgMHg2ZjlhNDNkMjAwMDAwMDAwLCAweDM1NjljNWJmMDAwMDAwMDAsIDB4MDMzODQ3OWIwMDAwMDAwMCwKKyAgICAweDgxOGZjODY0MDAwMDAwMDAsIDB4YjdkZTRhNDAwMDAwMDAwMCwgMHhlZDJkY2MyZDAwMDAwMDAwLAorICAgIDB4ZGI3YzRlMDkwMDAwMDAwMCwgMHhhODQ0YTIwOTAwMDAwMDAwLCAweDllMTUyMDJkMDAwMDAwMDAsCisgICAgMHhjNGU2YTY0MDAwMDAwMDAwLCAweGYyYjcyNDY0MDAwMDAwMDAsIDB4NzAwMGFiOWIwMDAwMDAwMCwKKyAgICAweDQ2NTEyOWJmMDAwMDAwMDAsIDB4MWNhMmFmZDIwMDAwMDAwMCwgMHgyYWYzMmRmNjAwMDAwMDAwLAorICAgIDB4ZmFkMjc3ZDMwMDAwMDAwMCwgMHhjYzgzZjVmNzAwMDAwMDAwLCAweDk2NzA3MzlhMDAwMDAwMDAsCisgICAgMHhhMDIxZjFiZTAwMDAwMDAwLCAweDIyOTY3ZTQxMDAwMDAwMDAsIDB4MTRjN2ZjNjUwMDAwMDAwMCwKKyAgICAweDRlMzQ3YTA4MDAwMDAwMDAsIDB4Nzg2NWY4MmMwMDAwMDAwMCwgMHgwYjVkMTQyYzAwMDAwMDAwLAorICAgIDB4M2QwYzk2MDgwMDAwMDAwMCwgMHg2N2ZmMTA2NTAwMDAwMDAwLCAweDUxYWU5MjQxMDAwMDAwMDAsCisgICAgMHhkMzE5MWRiZTAwMDAwMDAwLCAweGU1NDg5ZjlhMDAwMDAwMDAsIDB4YmZiYjE5ZjcwMDAwMDAwMCwKKyAgICAweDg5ZWE5YmQzMDAwMDAwMDAsIDB4MWZmOGFkYmQwMDAwMDAwMCwgMHgyOWE5MmY5OTAwMDAwMDAwLAorICAgIDB4NzM1YWE5ZjQwMDAwMDAwMCwgMHg0NTBiMmJkMDAwMDAwMDAwLCAweGM3YmNhNDJmMDAwMDAwMDAsCisgICAgMHhmMWVkMjYwYjAwMDAwMDAwLCAweGFiMWVhMDY2MDAwMDAwMDAsIDB4OWQ0ZjIyNDIwMDAwMDAwMCwKKyAgICAweGVlNzdjZTQyMDAwMDAwMDAsIDB4ZDgyNjRjNjYwMDAwMDAwMCwgMHg4MmQ1Y2EwYjAwMDAwMDAwLAorICAgIDB4YjQ4NDQ4MmYwMDAwMDAwMCwgMHgzNjMzYzdkMDAwMDAwMDAwLCAweDAwNjI0NWY0MDAwMDAwMDAsCisgICAgMHg1YTkxYzM5OTAwMDAwMDAwLCAweDZjYzA0MWJkMDAwMDAwMDAsIDB4YmNlMTFiOTgwMDAwMDAwMCwKKyAgICAweDhhYjA5OWJjMDAwMDAwMDAsIDB4ZDA0MzFmZDEwMDAwMDAwMCwgMHhlNjEyOWRmNTAwMDAwMDAwLAorICAgIDB4NjRhNTEyMGEwMDAwMDAwMCwgMHg1MmY0OTAyZTAwMDAwMDAwLCAweDA4MDcxNjQzMDAwMDAwMDAsCisgICAgMHgzZTU2OTQ2NzAwMDAwMDAwLCAweDRkNmU3ODY3MDAwMDAwMDAsIDB4N2IzZmZhNDMwMDAwMDAwMCwKKyAgICAweDIxY2M3YzJlMDAwMDAwMDAsIDB4MTc5ZGZlMGEwMDAwMDAwMCwgMHg5NTJhNzFmNTAwMDAwMDAwLAorICAgIDB4YTM3YmYzZDEwMDAwMDAwMCwgMHhmOTg4NzViYzAwMDAwMDAwLCAweGNmZDlmNzk4MDAwMDAwMDAsCisgICAgMHhkNWFkMTk2MDAwMDAwMDAwLCAweGUzZmM5YjQ0MDAwMDAwMDAsIDB4YjkwZjFkMjkwMDAwMDAwMCwKKyAgICAweDhmNWU5ZjBkMDAwMDAwMDAsIDB4MGRlOTEwZjIwMDAwMDAwMCwgMHgzYmI4OTJkNjAwMDAwMDAwLAorICAgIDB4NjE0YjE0YmIwMDAwMDAwMCwgMHg1NzFhOTY5ZjAwMDAwMDAwLCAweDI0MjI3YTlmMDAwMDAwMDAsCisgICAgMHgxMjczZjhiYjAwMDAwMDAwLCAweDQ4ODA3ZWQ2MDAwMDAwMDAsIDB4N2VkMWZjZjIwMDAwMDAwMCwKKyAgICAweGZjNjY3MzBkMDAwMDAwMDAsIDB4Y2EzN2YxMjkwMDAwMDAwMCwgMHg5MGM0Nzc0NDAwMDAwMDAwLAorICAgIDB4YTY5NWY1NjAwMDAwMDAwMCwgMHg3NmI0YWY0NTAwMDAwMDAwLCAweDQwZTUyZDYxMDAwMDAwMDAsCisgICAgMHgxYTE2YWIwYzAwMDAwMDAwLCAweDJjNDcyOTI4MDAwMDAwMDAsIDB4YWVmMGE2ZDcwMDAwMDAwMCwKKyAgICAweDk4YTEyNGYzMDAwMDAwMDAsIDB4YzI1MmEyOWUwMDAwMDAwMCwgMHhmNDAzMjBiYTAwMDAwMDAwLAorICAgIDB4ODczYmNjYmEwMDAwMDAwMCwgMHhiMTZhNGU5ZTAwMDAwMDAwLCAweGViOTljOGYzMDAwMDAwMDAsCisgICAgMHhkZGM4NGFkNzAwMDAwMDAwLCAweDVmN2ZjNTI4MDAwMDAwMDAsIDB4NjkyZTQ3MGMwMDAwMDAwMCwKKyAgICAweDMzZGRjMTYxMDAwMDAwMDAsIDB4MDU4YzQzNDUwMDAwMDAwMCwgMHg5MzllNzUyYjAwMDAwMDAwLAorICAgIDB4YTVjZmY3MGYwMDAwMDAwMCwgMHhmZjNjNzE2MjAwMDAwMDAwLCAweGM5NmRmMzQ2MDAwMDAwMDAsCisgICAgMHg0YmRhN2NiOTAwMDAwMDAwLCAweDdkOGJmZTlkMDAwMDAwMDAsIDB4Mjc3ODc4ZjAwMDAwMDAwMCwKKyAgICAweDExMjlmYWQ0MDAwMDAwMDAsIDB4NjIxMTE2ZDQwMDAwMDAwMCwgMHg1NDQwOTRmMDAwMDAwMDAwLAorICAgIDB4MGViMzEyOWQwMDAwMDAwMCwgMHgzOGUyOTBiOTAwMDAwMDAwLCAweGJhNTUxZjQ2MDAwMDAwMDAsCisgICAgMHg4YzA0OWQ2MjAwMDAwMDAwLCAweGQ2ZjcxYjBmMDAwMDAwMDAsIDB4ZTBhNjk5MmIwMDAwMDAwMCwKKyAgICAweDMwODdjMzBlMDAwMDAwMDAsIDB4MDZkNjQxMmEwMDAwMDAwMCwgMHg1YzI1Yzc0NzAwMDAwMDAwLAorICAgIDB4NmE3NDQ1NjMwMDAwMDAwMCwgMHhlOGMzY2E5YzAwMDAwMDAwLCAweGRlOTI0OGI4MDAwMDAwMDAsCisgICAgMHg4NDYxY2VkNTAwMDAwMDAwLCAweGIyMzA0Y2YxMDAwMDAwMDAsIDB4YzEwOGEwZjEwMDAwMDAwMCwKKyAgICAweGY3NTkyMmQ1MDAwMDAwMDAsIDB4YWRhYWE0YjgwMDAwMDAwMCwgMHg5YmZiMjY5YzAwMDAwMDAwLAorICAgIDB4MTk0Y2E5NjMwMDAwMDAwMCwgMHgyZjFkMmI0NzAwMDAwMDAwLCAweDc1ZWVhZDJhMDAwMDAwMDAsCisgICAgMHg0M2JmMmYwZTAwMDAwMDAwfSwKKyAgIHsweDAwMDAwMDAwMDAwMDAwMDAsIDB4YzgxNzllY2YwMDAwMDAwMCwgMHhkMTI5NGQ0NDAwMDAwMDAwLAorICAgIDB4MTkzZWQzOGIwMDAwMDAwMCwgMHhhMjUzOWE4ODAwMDAwMDAwLCAweDZhNDQwNDQ3MDAwMDAwMDAsCisgICAgMHg3MzdhZDdjYzAwMDAwMDAwLCAweGJiNmQ0OTAzMDAwMDAwMDAsIDB4MDVhMTQ1Y2EwMDAwMDAwMCwKKyAgICAweGNkYjZkYjA1MDAwMDAwMDAsIDB4ZDQ4ODA4OGUwMDAwMDAwMCwgMHgxYzlmOTY0MTAwMDAwMDAwLAorICAgIDB4YTdmMmRmNDIwMDAwMDAwMCwgMHg2ZmU1NDE4ZDAwMDAwMDAwLCAweDc2ZGI5MjA2MDAwMDAwMDAsCisgICAgMHhiZWNjMGNjOTAwMDAwMDAwLCAweDRiNDRmYTRmMDAwMDAwMDAsIDB4ODM1MzY0ODAwMDAwMDAwMCwKKyAgICAweDlhNmRiNzBiMDAwMDAwMDAsIDB4NTI3YTI5YzQwMDAwMDAwMCwgMHhlOTE3NjBjNzAwMDAwMDAwLAorICAgIDB4MjEwMGZlMDgwMDAwMDAwMCwgMHgzODNlMmQ4MzAwMDAwMDAwLCAweGYwMjliMzRjMDAwMDAwMDAsCisgICAgMHg0ZWU1YmY4NTAwMDAwMDAwLCAweDg2ZjIyMTRhMDAwMDAwMDAsIDB4OWZjY2YyYzEwMDAwMDAwMCwKKyAgICAweDU3ZGI2YzBlMDAwMDAwMDAsIDB4ZWNiNjI1MGQwMDAwMDAwMCwgMHgyNGExYmJjMjAwMDAwMDAwLAorICAgIDB4M2Q5ZjY4NDkwMDAwMDAwMCwgMHhmNTg4ZjY4NjAwMDAwMDAwLCAweDk2ODhmNDlmMDAwMDAwMDAsCisgICAgMHg1ZTlmNmE1MDAwMDAwMDAwLCAweDQ3YTFiOWRiMDAwMDAwMDAsIDB4OGZiNjI3MTQwMDAwMDAwMCwKKyAgICAweDM0ZGI2ZTE3MDAwMDAwMDAsIDB4ZmNjY2YwZDgwMDAwMDAwMCwgMHhlNWYyMjM1MzAwMDAwMDAwLAorICAgIDB4MmRlNWJkOWMwMDAwMDAwMCwgMHg5MzI5YjE1NTAwMDAwMDAwLCAweDViM2UyZjlhMDAwMDAwMDAsCisgICAgMHg0MjAwZmMxMTAwMDAwMDAwLCAweDhhMTc2MmRlMDAwMDAwMDAsIDB4MzE3YTJiZGQwMDAwMDAwMCwKKyAgICAweGY5NmRiNTEyMDAwMDAwMDAsIDB4ZTA1MzY2OTkwMDAwMDAwMCwgMHgyODQ0Zjg1NjAwMDAwMDAwLAorICAgIDB4ZGRjYzBlZDAwMDAwMDAwMCwgMHgxNWRiOTAxZjAwMDAwMDAwLCAweDBjZTU0Mzk0MDAwMDAwMDAsCisgICAgMHhjNGYyZGQ1YjAwMDAwMDAwLCAweDdmOWY5NDU4MDAwMDAwMDAsIDB4Yjc4ODBhOTcwMDAwMDAwMCwKKyAgICAweGFlYjZkOTFjMDAwMDAwMDAsIDB4NjZhMTQ3ZDMwMDAwMDAwMCwgMHhkODZkNGIxYTAwMDAwMDAwLAorICAgIDB4MTA3YWQ1ZDUwMDAwMDAwMCwgMHgwOTQ0MDY1ZTAwMDAwMDAwLCAweGMxNTM5ODkxMDAwMDAwMDAsCisgICAgMHg3YTNlZDE5MjAwMDAwMDAwLCAweGIyMjk0ZjVkMDAwMDAwMDAsIDB4YWIxNzljZDYwMDAwMDAwMCwKKyAgICAweDYzMDAwMjE5MDAwMDAwMDAsIDB4NmQxNzk4ZTQwMDAwMDAwMCwgMHhhNTAwMDYyYjAwMDAwMDAwLAorICAgIDB4YmMzZWQ1YTAwMDAwMDAwMCwgMHg3NDI5NGI2ZjAwMDAwMDAwLCAweGNmNDQwMjZjMDAwMDAwMDAsCisgICAgMHgwNzUzOWNhMzAwMDAwMDAwLCAweDFlNmQ0ZjI4MDAwMDAwMDAsIDB4ZDY3YWQxZTcwMDAwMDAwMCwKKyAgICAweDY4YjZkZDJlMDAwMDAwMDAsIDB4YTBhMTQzZTEwMDAwMDAwMCwgMHhiOTlmOTA2YTAwMDAwMDAwLAorICAgIDB4NzE4ODBlYTUwMDAwMDAwMCwgMHhjYWU1NDdhNjAwMDAwMDAwLCAweDAyZjJkOTY5MDAwMDAwMDAsCisgICAgMHgxYmNjMGFlMjAwMDAwMDAwLCAweGQzZGI5NDJkMDAwMDAwMDAsIDB4MjY1MzYyYWIwMDAwMDAwMCwKKyAgICAweGVlNDRmYzY0MDAwMDAwMDAsIDB4Zjc3YTJmZWYwMDAwMDAwMCwgMHgzZjZkYjEyMDAwMDAwMDAwLAorICAgIDB4ODQwMGY4MjMwMDAwMDAwMCwgMHg0YzE3NjZlYzAwMDAwMDAwLCAweDU1MjliNTY3MDAwMDAwMDAsCisgICAgMHg5ZDNlMmJhODAwMDAwMDAwLCAweDIzZjIyNzYxMDAwMDAwMDAsIDB4ZWJlNWI5YWUwMDAwMDAwMCwKKyAgICAweGYyZGI2YTI1MDAwMDAwMDAsIDB4M2FjY2Y0ZWEwMDAwMDAwMCwgMHg4MWExYmRlOTAwMDAwMDAwLAorICAgIDB4NDliNjIzMjYwMDAwMDAwMCwgMHg1MDg4ZjBhZDAwMDAwMDAwLCAweDk4OWY2ZTYyMDAwMDAwMDAsCisgICAgMHhmYjlmNmM3YjAwMDAwMDAwLCAweDMzODhmMmI0MDAwMDAwMDAsIDB4MmFiNjIxM2YwMDAwMDAwMCwKKyAgICAweGUyYTFiZmYwMDAwMDAwMDAsIDB4NTljY2Y2ZjMwMDAwMDAwMCwgMHg5MWRiNjgzYzAwMDAwMDAwLAorICAgIDB4ODhlNWJiYjcwMDAwMDAwMCwgMHg0MGYyMjU3ODAwMDAwMDAwLCAweGZlM2UyOWIxMDAwMDAwMDAsCisgICAgMHgzNjI5Yjc3ZTAwMDAwMDAwLCAweDJmMTc2NGY1MDAwMDAwMDAsIDB4ZTcwMGZhM2EwMDAwMDAwMCwKKyAgICAweDVjNmRiMzM5MDAwMDAwMDAsIDB4OTQ3YTJkZjYwMDAwMDAwMCwgMHg4ZDQ0ZmU3ZDAwMDAwMDAwLAorICAgIDB4NDU1MzYwYjIwMDAwMDAwMCwgMHhiMGRiOTYzNDAwMDAwMDAwLCAweDc4Y2MwOGZiMDAwMDAwMDAsCisgICAgMHg2MWYyZGI3MDAwMDAwMDAwLCAweGE5ZTU0NWJmMDAwMDAwMDAsIDB4MTI4ODBjYmMwMDAwMDAwMCwKKyAgICAweGRhOWY5MjczMDAwMDAwMDAsIDB4YzNhMTQxZjgwMDAwMDAwMCwgMHgwYmI2ZGYzNzAwMDAwMDAwLAorICAgIDB4YjU3YWQzZmUwMDAwMDAwMCwgMHg3ZDZkNGQzMTAwMDAwMDAwLCAweDY0NTM5ZWJhMDAwMDAwMDAsCisgICAgMHhhYzQ0MDA3NTAwMDAwMDAwLCAweDE3Mjk0OTc2MDAwMDAwMDAsIDB4ZGYzZWQ3YjkwMDAwMDAwMCwKKyAgICAweGM2MDAwNDMyMDAwMDAwMDAsIDB4MGUxNzlhZmQwMDAwMDAwMCwgMHg5YjI4NDExMjAwMDAwMDAwLAorICAgIDB4NTMzZmRmZGQwMDAwMDAwMCwgMHg0YTAxMGM1NjAwMDAwMDAwLCAweDgyMTY5Mjk5MDAwMDAwMDAsCisgICAgMHgzOTdiZGI5YTAwMDAwMDAwLCAweGYxNmM0NTU1MDAwMDAwMDAsIDB4ZTg1Mjk2ZGUwMDAwMDAwMCwKKyAgICAweDIwNDUwODExMDAwMDAwMDAsIDB4OWU4OTA0ZDgwMDAwMDAwMCwgMHg1NjllOWExNzAwMDAwMDAwLAorICAgIDB4NGZhMDQ5OWMwMDAwMDAwMCwgMHg4N2I3ZDc1MzAwMDAwMDAwLCAweDNjZGE5ZTUwMDAwMDAwMDAsCisgICAgMHhmNGNkMDA5ZjAwMDAwMDAwLCAweGVkZjNkMzE0MDAwMDAwMDAsIDB4MjVlNDRkZGIwMDAwMDAwMCwKKyAgICAweGQwNmNiYjVkMDAwMDAwMDAsIDB4MTg3YjI1OTIwMDAwMDAwMCwgMHgwMTQ1ZjYxOTAwMDAwMDAwLAorICAgIDB4Yzk1MjY4ZDYwMDAwMDAwMCwgMHg3MjNmMjFkNTAwMDAwMDAwLCAweGJhMjhiZjFhMDAwMDAwMDAsCisgICAgMHhhMzE2NmM5MTAwMDAwMDAwLCAweDZiMDFmMjVlMDAwMDAwMDAsIDB4ZDVjZGZlOTcwMDAwMDAwMCwKKyAgICAweDFkZGE2MDU4MDAwMDAwMDAsIDB4MDRlNGIzZDMwMDAwMDAwMCwgMHhjY2YzMmQxYzAwMDAwMDAwLAorICAgIDB4Nzc5ZTY0MWYwMDAwMDAwMCwgMHhiZjg5ZmFkMDAwMDAwMDAwLCAweGE2YjcyOTViMDAwMDAwMDAsCisgICAgMHg2ZWEwYjc5NDAwMDAwMDAwLCAweDBkYTBiNThkMDAwMDAwMDAsIDB4YzViNzJiNDIwMDAwMDAwMCwKKyAgICAweGRjODlmOGM5MDAwMDAwMDAsIDB4MTQ5ZTY2MDYwMDAwMDAwMCwgMHhhZmYzMmYwNTAwMDAwMDAwLAorICAgIDB4NjdlNGIxY2EwMDAwMDAwMCwgMHg3ZWRhNjI0MTAwMDAwMDAwLCAweGI2Y2RmYzhlMDAwMDAwMDAsCisgICAgMHgwODAxZjA0NzAwMDAwMDAwLCAweGMwMTY2ZTg4MDAwMDAwMDAsIDB4ZDkyOGJkMDMwMDAwMDAwMCwKKyAgICAweDExM2YyM2NjMDAwMDAwMDAsIDB4YWE1MjZhY2YwMDAwMDAwMCwgMHg2MjQ1ZjQwMDAwMDAwMDAwLAorICAgIDB4N2I3YjI3OGIwMDAwMDAwMCwgMHhiMzZjYjk0NDAwMDAwMDAwLCAweDQ2ZTQ0ZmMyMDAwMDAwMDAsCisgICAgMHg4ZWYzZDEwZDAwMDAwMDAwLCAweDk3Y2QwMjg2MDAwMDAwMDAsIDB4NWZkYTljNDkwMDAwMDAwMCwKKyAgICAweGU0YjdkNTRhMDAwMDAwMDAsIDB4MmNhMDRiODUwMDAwMDAwMCwgMHgzNTllOTgwZTAwMDAwMDAwLAorICAgIDB4ZmQ4OTA2YzEwMDAwMDAwMCwgMHg0MzQ1MGEwODAwMDAwMDAwLCAweDhiNTI5NGM3MDAwMDAwMDAsCisgICAgMHg5MjZjNDc0YzAwMDAwMDAwLCAweDVhN2JkOTgzMDAwMDAwMDAsIDB4ZTExNjkwODAwMDAwMDAwMCwKKyAgICAweDI5MDEwZTRmMDAwMDAwMDAsIDB4MzAzZmRkYzQwMDAwMDAwMCwgMHhmODI4NDMwYjAwMDAwMDAwLAorICAgIDB4ZjYzZmQ5ZjYwMDAwMDAwMCwgMHgzZTI4NDczOTAwMDAwMDAwLCAweDI3MTY5NGIyMDAwMDAwMDAsCisgICAgMHhlZjAxMGE3ZDAwMDAwMDAwLCAweDU0NmM0MzdlMDAwMDAwMDAsIDB4OWM3YmRkYjEwMDAwMDAwMCwKKyAgICAweDg1NDUwZTNhMDAwMDAwMDAsIDB4NGQ1MjkwZjUwMDAwMDAwMCwgMHhmMzllOWMzYzAwMDAwMDAwLAorICAgIDB4M2I4OTAyZjMwMDAwMDAwMCwgMHgyMmI3ZDE3ODAwMDAwMDAwLCAweGVhYTA0ZmI3MDAwMDAwMDAsCisgICAgMHg1MWNkMDZiNDAwMDAwMDAwLCAweDk5ZGE5ODdiMDAwMDAwMDAsIDB4ODBlNDRiZjAwMDAwMDAwMCwKKyAgICAweDQ4ZjNkNTNmMDAwMDAwMDAsIDB4YmQ3YjIzYjkwMDAwMDAwMCwgMHg3NTZjYmQ3NjAwMDAwMDAwLAorICAgIDB4NmM1MjZlZmQwMDAwMDAwMCwgMHhhNDQ1ZjAzMjAwMDAwMDAwLCAweDFmMjhiOTMxMDAwMDAwMDAsCisgICAgMHhkNzNmMjdmZTAwMDAwMDAwLCAweGNlMDFmNDc1MDAwMDAwMDAsIDB4MDYxNjZhYmEwMDAwMDAwMCwKKyAgICAweGI4ZGE2NjczMDAwMDAwMDAsIDB4NzBjZGY4YmMwMDAwMDAwMCwgMHg2OWYzMmIzNzAwMDAwMDAwLAorICAgIDB4YTFlNGI1ZjgwMDAwMDAwMCwgMHgxYTg5ZmNmYjAwMDAwMDAwLCAweGQyOWU2MjM0MDAwMDAwMDAsCisgICAgMHhjYmEwYjFiZjAwMDAwMDAwLCAweDAzYjcyZjcwMDAwMDAwMDAsIDB4NjBiNzJkNjkwMDAwMDAwMCwKKyAgICAweGE4YTBiM2E2MDAwMDAwMDAsIDB4YjE5ZTYwMmQwMDAwMDAwMCwgMHg3OTg5ZmVlMjAwMDAwMDAwLAorICAgIDB4YzJlNGI3ZTEwMDAwMDAwMCwgMHgwYWYzMjkyZTAwMDAwMDAwLCAweDEzY2RmYWE1MDAwMDAwMDAsCisgICAgMHhkYmRhNjQ2YTAwMDAwMDAwLCAweDY1MTY2OGEzMDAwMDAwMDAsIDB4YWQwMWY2NmMwMDAwMDAwMCwKKyAgICAweGI0M2YyNWU3MDAwMDAwMDAsIDB4N2MyOGJiMjgwMDAwMDAwMCwgMHhjNzQ1ZjIyYjAwMDAwMDAwLAorICAgIDB4MGY1MjZjZTQwMDAwMDAwMCwgMHgxNjZjYmY2ZjAwMDAwMDAwLCAweGRlN2IyMWEwMDAwMDAwMDAsCisgICAgMHgyYmYzZDcyNjAwMDAwMDAwLCAweGUzZTQ0OWU5MDAwMDAwMDAsIDB4ZmFkYTlhNjIwMDAwMDAwMCwKKyAgICAweDMyY2QwNGFkMDAwMDAwMDAsIDB4ODlhMDRkYWUwMDAwMDAwMCwgMHg0MWI3ZDM2MTAwMDAwMDAwLAorICAgIDB4NTg4OTAwZWEwMDAwMDAwMCwgMHg5MDllOWUyNTAwMDAwMDAwLCAweDJlNTI5MmVjMDAwMDAwMDAsCisgICAgMHhlNjQ1MGMyMzAwMDAwMDAwLCAweGZmN2JkZmE4MDAwMDAwMDAsIDB4Mzc2YzQxNjcwMDAwMDAwMCwKKyAgICAweDhjMDEwODY0MDAwMDAwMDAsIDB4NDQxNjk2YWIwMDAwMDAwMCwgMHg1ZDI4NDUyMDAwMDAwMDAwLAorICAgIDB4OTUzZmRiZWYwMDAwMDAwMH0sCisgICB7MHgwMDAwMDAwMDAwMDAwMDAwLCAweDk1ZDQ3MDk1MDAwMDAwMDAsIDB4NmJhZjkwZjEwMDAwMDAwMCwKKyAgICAweGZlN2JlMDY0MDAwMDAwMDAsIDB4OTc1ODUwMzgwMDAwMDAwMCwgMHgwMjhjMjBhZDAwMDAwMDAwLAorICAgIDB4ZmNmN2MwYzkwMDAwMDAwMCwgMHg2OTIzYjA1YzAwMDAwMDAwLCAweDJlYjFhMDcwMDAwMDAwMDAsCisgICAgMHhiYjY1ZDBlNTAwMDAwMDAwLCAweDQ1MWUzMDgxMDAwMDAwMDAsIDB4ZDBjYTQwMTQwMDAwMDAwMCwKKyAgICAweGI5ZTlmMDQ4MDAwMDAwMDAsIDB4MmMzZDgwZGQwMDAwMDAwMCwgMHhkMjQ2NjBiOTAwMDAwMDAwLAorICAgIDB4NDc5MjEwMmMwMDAwMDAwMCwgMHg1YzYyNDFlMTAwMDAwMDAwLCAweGM5YjYzMTc0MDAwMDAwMDAsCisgICAgMHgzN2NkZDExMDAwMDAwMDAwLCAweGEyMTlhMTg1MDAwMDAwMDAsIDB4Y2IzYTExZDkwMDAwMDAwMCwKKyAgICAweDVlZWU2MTRjMDAwMDAwMDAsIDB4YTA5NTgxMjgwMDAwMDAwMCwgMHgzNTQxZjFiZDAwMDAwMDAwLAorICAgIDB4NzJkM2UxOTEwMDAwMDAwMCwgMHhlNzA3OTEwNDAwMDAwMDAwLCAweDE5N2M3MTYwMDAwMDAwMDAsCisgICAgMHg4Y2E4MDFmNTAwMDAwMDAwLCAweGU1OGJiMWE5MDAwMDAwMDAsIDB4NzA1ZmMxM2MwMDAwMDAwMCwKKyAgICAweDhlMjQyMTU4MDAwMDAwMDAsIDB4MWJmMDUxY2QwMDAwMDAwMCwgMHhmOWMyZjMxOTAwMDAwMDAwLAorICAgIDB4NmMxNjgzOGMwMDAwMDAwMCwgMHg5MjZkNjNlODAwMDAwMDAwLCAweDA3YjkxMzdkMDAwMDAwMDAsCisgICAgMHg2ZTlhYTMyMTAwMDAwMDAwLCAweGZiNGVkM2I0MDAwMDAwMDAsIDB4MDUzNTMzZDAwMDAwMDAwMCwKKyAgICAweDkwZTE0MzQ1MDAwMDAwMDAsIDB4ZDc3MzUzNjkwMDAwMDAwMCwgMHg0MmE3MjNmYzAwMDAwMDAwLAorICAgIDB4YmNkY2MzOTgwMDAwMDAwMCwgMHgyOTA4YjMwZDAwMDAwMDAwLCAweDQwMmIwMzUxMDAwMDAwMDAsCisgICAgMHhkNWZmNzNjNDAwMDAwMDAwLCAweDJiODQ5M2EwMDAwMDAwMDAsIDB4YmU1MGUzMzUwMDAwMDAwMCwKKyAgICAweGE1YTBiMmY4MDAwMDAwMDAsIDB4MzA3NGMyNmQwMDAwMDAwMCwgMHhjZTBmMjIwOTAwMDAwMDAwLAorICAgIDB4NWJkYjUyOWMwMDAwMDAwMCwgMHgzMmY4ZTJjMDAwMDAwMDAwLCAweGE3MmM5MjU1MDAwMDAwMDAsCisgICAgMHg1OTU3NzIzMTAwMDAwMDAwLCAweGNjODMwMmE0MDAwMDAwMDAsIDB4OGIxMTEyODgwMDAwMDAwMCwKKyAgICAweDFlYzU2MjFkMDAwMDAwMDAsIDB4ZTBiZTgyNzkwMDAwMDAwMCwgMHg3NTZhZjJlYzAwMDAwMDAwLAorICAgIDB4MWM0OTQyYjAwMDAwMDAwMCwgMHg4OTlkMzIyNTAwMDAwMDAwLCAweDc3ZTZkMjQxMDAwMDAwMDAsCisgICAgMHhlMjMyYTJkNDAwMDAwMDAwLCAweGYyODVlNzMzMDAwMDAwMDAsIDB4Njc1MTk3YTYwMDAwMDAwMCwKKyAgICAweDk5MmE3N2MyMDAwMDAwMDAsIDB4MGNmZTA3NTcwMDAwMDAwMCwgMHg2NWRkYjcwYjAwMDAwMDAwLAorICAgIDB4ZjAwOWM3OWUwMDAwMDAwMCwgMHgwZTcyMjdmYTAwMDAwMDAwLCAweDliYTY1NzZmMDAwMDAwMDAsCisgICAgMHhkYzM0NDc0MzAwMDAwMDAwLCAweDQ5ZTAzN2Q2MDAwMDAwMDAsIDB4Yjc5YmQ3YjIwMDAwMDAwMCwKKyAgICAweDIyNGZhNzI3MDAwMDAwMDAsIDB4NGI2YzE3N2IwMDAwMDAwMCwgMHhkZWI4NjdlZTAwMDAwMDAwLAorICAgIDB4MjBjMzg3OGEwMDAwMDAwMCwgMHhiNTE3ZjcxZjAwMDAwMDAwLCAweGFlZTdhNmQyMDAwMDAwMDAsCisgICAgMHgzYjMzZDY0NzAwMDAwMDAwLCAweGM1NDgzNjIzMDAwMDAwMDAsIDB4NTA5YzQ2YjYwMDAwMDAwMCwKKyAgICAweDM5YmZmNmVhMDAwMDAwMDAsIDB4YWM2Yjg2N2YwMDAwMDAwMCwgMHg1MjEwNjYxYjAwMDAwMDAwLAorICAgIDB4YzdjNDE2OGUwMDAwMDAwMCwgMHg4MDU2MDZhMjAwMDAwMDAwLCAweDE1ODI3NjM3MDAwMDAwMDAsCisgICAgMHhlYmY5OTY1MzAwMDAwMDAwLCAweDdlMmRlNmM2MDAwMDAwMDAsIDB4MTcwZTU2OWEwMDAwMDAwMCwKKyAgICAweDgyZGEyNjBmMDAwMDAwMDAsIDB4N2NhMWM2NmIwMDAwMDAwMCwgMHhlOTc1YjZmZTAwMDAwMDAwLAorICAgIDB4MGI0NzE0MmEwMDAwMDAwMCwgMHg5ZTkzNjRiZjAwMDAwMDAwLCAweDYwZTg4NGRiMDAwMDAwMDAsCisgICAgMHhmNTNjZjQ0ZTAwMDAwMDAwLCAweDljMWY0NDEyMDAwMDAwMDAsIDB4MDljYjM0ODcwMDAwMDAwMCwKKyAgICAweGY3YjBkNGUzMDAwMDAwMDAsIDB4NjI2NGE0NzYwMDAwMDAwMCwgMHgyNWY2YjQ1YTAwMDAwMDAwLAorICAgIDB4YjAyMmM0Y2YwMDAwMDAwMCwgMHg0ZTU5MjRhYjAwMDAwMDAwLCAweGRiOGQ1NDNlMDAwMDAwMDAsCisgICAgMHhiMmFlZTQ2MjAwMDAwMDAwLCAweDI3N2E5NGY3MDAwMDAwMDAsIDB4ZDkwMTc0OTMwMDAwMDAwMCwKKyAgICAweDRjZDUwNDA2MDAwMDAwMDAsIDB4NTcyNTU1Y2IwMDAwMDAwMCwgMHhjMmYxMjU1ZTAwMDAwMDAwLAorICAgIDB4M2M4YWM1M2EwMDAwMDAwMCwgMHhhOTVlYjVhZjAwMDAwMDAwLCAweGMwN2QwNWYzMDAwMDAwMDAsCisgICAgMHg1NWE5NzU2NjAwMDAwMDAwLCAweGFiZDI5NTAyMDAwMDAwMDAsIDB4M2UwNmU1OTcwMDAwMDAwMCwKKyAgICAweDc5OTRmNWJiMDAwMDAwMDAsIDB4ZWM0MDg1MmUwMDAwMDAwMCwgMHgxMjNiNjU0YTAwMDAwMDAwLAorICAgIDB4ODdlZjE1ZGYwMDAwMDAwMCwgMHhlZWNjYTU4MzAwMDAwMDAwLCAweDdiMThkNTE2MDAwMDAwMDAsCisgICAgMHg4NTYzMzU3MjAwMDAwMDAwLCAweDEwYjc0NWU3MDAwMDAwMDAsIDB4ZTQwYmNmNjcwMDAwMDAwMCwKKyAgICAweDcxZGZiZmYyMDAwMDAwMDAsIDB4OGZhNDVmOTYwMDAwMDAwMCwgMHgxYTcwMmYwMzAwMDAwMDAwLAorICAgIDB4NzM1MzlmNWYwMDAwMDAwMCwgMHhlNjg3ZWZjYTAwMDAwMDAwLCAweDE4ZmMwZmFlMDAwMDAwMDAsCisgICAgMHg4ZDI4N2YzYjAwMDAwMDAwLCAweGNhYmE2ZjE3MDAwMDAwMDAsIDB4NWY2ZTFmODIwMDAwMDAwMCwKKyAgICAweGExMTVmZmU2MDAwMDAwMDAsIDB4MzRjMThmNzMwMDAwMDAwMCwgMHg1ZGUyM2YyZjAwMDAwMDAwLAorICAgIDB4YzgzNjRmYmEwMDAwMDAwMCwgMHgzNjRkYWZkZTAwMDAwMDAwLCAweGEzOTlkZjRiMDAwMDAwMDAsCisgICAgMHhiODY5OGU4NjAwMDAwMDAwLCAweDJkYmRmZTEzMDAwMDAwMDAsIDB4ZDNjNjFlNzcwMDAwMDAwMCwKKyAgICAweDQ2MTI2ZWUyMDAwMDAwMDAsIDB4MmYzMWRlYmUwMDAwMDAwMCwgMHhiYWU1YWUyYjAwMDAwMDAwLAorICAgIDB4NDQ5ZTRlNGYwMDAwMDAwMCwgMHhkMTRhM2VkYTAwMDAwMDAwLCAweDk2ZDgyZWY2MDAwMDAwMDAsCisgICAgMHgwMzBjNWU2MzAwMDAwMDAwLCAweGZkNzdiZTA3MDAwMDAwMDAsIDB4NjhhM2NlOTIwMDAwMDAwMCwKKyAgICAweDAxODA3ZWNlMDAwMDAwMDAsIDB4OTQ1NDBlNWIwMDAwMDAwMCwgMHg2YTJmZWUzZjAwMDAwMDAwLAorICAgIDB4ZmZmYjllYWEwMDAwMDAwMCwgMHgxZGM5M2M3ZTAwMDAwMDAwLCAweDg4MWQ0Y2ViMDAwMDAwMDAsCisgICAgMHg3NjY2YWM4ZjAwMDAwMDAwLCAweGUzYjJkYzFhMDAwMDAwMDAsIDB4OGE5MTZjNDYwMDAwMDAwMCwKKyAgICAweDFmNDUxY2QzMDAwMDAwMDAsIDB4ZTEzZWZjYjcwMDAwMDAwMCwgMHg3NGVhOGMyMjAwMDAwMDAwLAorICAgIDB4MzM3ODljMGUwMDAwMDAwMCwgMHhhNmFjZWM5YjAwMDAwMDAwLCAweDU4ZDcwY2ZmMDAwMDAwMDAsCisgICAgMHhjZDAzN2M2YTAwMDAwMDAwLCAweGE0MjBjYzM2MDAwMDAwMDAsIDB4MzFmNGJjYTMwMDAwMDAwMCwKKyAgICAweGNmOGY1Y2M3MDAwMDAwMDAsIDB4NWE1YjJjNTIwMDAwMDAwMCwgMHg0MWFiN2Q5ZjAwMDAwMDAwLAorICAgIDB4ZDQ3ZjBkMGEwMDAwMDAwMCwgMHgyYTA0ZWQ2ZTAwMDAwMDAwLCAweGJmZDA5ZGZiMDAwMDAwMDAsCisgICAgMHhkNmYzMmRhNzAwMDAwMDAwLCAweDQzMjc1ZDMyMDAwMDAwMDAsIDB4YmQ1Y2JkNTYwMDAwMDAwMCwKKyAgICAweDI4ODhjZGMzMDAwMDAwMDAsIDB4NmYxYWRkZWYwMDAwMDAwMCwgMHhmYWNlYWQ3YTAwMDAwMDAwLAorICAgIDB4MDRiNTRkMWUwMDAwMDAwMCwgMHg5MTYxM2Q4YjAwMDAwMDAwLCAweGY4NDI4ZGQ3MDAwMDAwMDAsCisgICAgMHg2ZDk2ZmQ0MjAwMDAwMDAwLCAweDkzZWQxZDI2MDAwMDAwMDAsIDB4MDYzOTZkYjMwMDAwMDAwMCwKKyAgICAweDE2OGUyODU0MDAwMDAwMDAsIDB4ODM1YTU4YzEwMDAwMDAwMCwgMHg3ZDIxYjhhNTAwMDAwMDAwLAorICAgIDB4ZThmNWM4MzAwMDAwMDAwMCwgMHg4MWQ2Nzg2YzAwMDAwMDAwLCAweDE0MDIwOGY5MDAwMDAwMDAsCisgICAgMHhlYTc5ZTg5ZDAwMDAwMDAwLCAweDdmYWQ5ODA4MDAwMDAwMDAsIDB4MzgzZjg4MjQwMDAwMDAwMCwKKyAgICAweGFkZWJmOGIxMDAwMDAwMDAsIDB4NTM5MDE4ZDUwMDAwMDAwMCwgMHhjNjQ0Njg0MDAwMDAwMDAwLAorICAgIDB4YWY2N2Q4MWMwMDAwMDAwMCwgMHgzYWIzYTg4OTAwMDAwMDAwLCAweGM0Yzg0OGVkMDAwMDAwMDAsCisgICAgMHg1MTFjMzg3ODAwMDAwMDAwLCAweDRhZWM2OWI1MDAwMDAwMDAsIDB4ZGYzODE5MjAwMDAwMDAwMCwKKyAgICAweDIxNDNmOTQ0MDAwMDAwMDAsIDB4YjQ5Nzg5ZDEwMDAwMDAwMCwgMHhkZGI0Mzk4ZDAwMDAwMDAwLAorICAgIDB4NDg2MDQ5MTgwMDAwMDAwMCwgMHhiNjFiYTk3YzAwMDAwMDAwLCAweDIzY2ZkOWU5MDAwMDAwMDAsCisgICAgMHg2NDVkYzljNTAwMDAwMDAwLCAweGYxODliOTUwMDAwMDAwMDAsIDB4MGZmMjU5MzQwMDAwMDAwMCwKKyAgICAweDlhMjYyOWExMDAwMDAwMDAsIDB4ZjMwNTk5ZmQwMDAwMDAwMCwgMHg2NmQxZTk2ODAwMDAwMDAwLAorICAgIDB4OThhYTA5MGMwMDAwMDAwMCwgMHgwZDdlNzk5OTAwMDAwMDAwLCAweGVmNGNkYjRkMDAwMDAwMDAsCisgICAgMHg3YTk4YWJkODAwMDAwMDAwLCAweDg0ZTM0YmJjMDAwMDAwMDAsIDB4MTEzNzNiMjkwMDAwMDAwMCwKKyAgICAweDc4MTQ4Yjc1MDAwMDAwMDAsIDB4ZWRjMGZiZTAwMDAwMDAwMCwgMHgxM2JiMWI4NDAwMDAwMDAwLAorICAgIDB4ODY2ZjZiMTEwMDAwMDAwMCwgMHhjMWZkN2IzZDAwMDAwMDAwLCAweDU0MjkwYmE4MDAwMDAwMDAsCisgICAgMHhhYTUyZWJjYzAwMDAwMDAwLCAweDNmODY5YjU5MDAwMDAwMDAsIDB4NTZhNTJiMDUwMDAwMDAwMCwKKyAgICAweGMzNzE1YjkwMDAwMDAwMDAsIDB4M2QwYWJiZjQwMDAwMDAwMCwgMHhhOGRlY2I2MTAwMDAwMDAwLAorICAgIDB4YjMyZTlhYWMwMDAwMDAwMCwgMHgyNmZhZWEzOTAwMDAwMDAwLCAweGQ4ODEwYTVkMDAwMDAwMDAsCisgICAgMHg0ZDU1N2FjODAwMDAwMDAwLCAweDI0NzZjYTk0MDAwMDAwMDAsIDB4YjFhMmJhMDEwMDAwMDAwMCwKKyAgICAweDRmZDk1YTY1MDAwMDAwMDAsIDB4ZGEwZDJhZjAwMDAwMDAwMCwgMHg5ZDlmM2FkYzAwMDAwMDAwLAorICAgIDB4MDg0YjRhNDkwMDAwMDAwMCwgMHhmNjMwYWEyZDAwMDAwMDAwLCAweDYzZTRkYWI4MDAwMDAwMDAsCisgICAgMHgwYWM3NmFlNDAwMDAwMDAwLCAweDlmMTMxYTcxMDAwMDAwMDAsIDB4NjE2OGZhMTUwMDAwMDAwMCwKKyAgICAweGY0YmM4YTgwMDAwMDAwMDB9LAorICAgezB4MDAwMDAwMDAwMDAwMDAwMCwgMHgxZjE3ZjA4MDAwMDAwMDAwLCAweDdmMjg5MWRhMDAwMDAwMDAsCisgICAgMHg2MDNmNjE1YTAwMDAwMDAwLCAweGJmNTY1MzZlMDAwMDAwMDAsIDB4YTA0MWEzZWUwMDAwMDAwMCwKKyAgICAweGMwN2VjMmI0MDAwMDAwMDAsIDB4ZGY2OTMyMzQwMDAwMDAwMCwgMHg3ZWFkYTZkYzAwMDAwMDAwLAorICAgIDB4NjFiYTU2NWMwMDAwMDAwMCwgMHgwMTg1MzcwNjAwMDAwMDAwLCAweDFlOTJjNzg2MDAwMDAwMDAsCisgICAgMHhjMWZiZjViMjAwMDAwMDAwLCAweGRlZWMwNTMyMDAwMDAwMDAsIDB4YmVkMzY0NjgwMDAwMDAwMCwKKyAgICAweGExYzQ5NGU4MDAwMDAwMDAsIDB4YmQ1YzNjNjIwMDAwMDAwMCwgMHhhMjRiY2NlMjAwMDAwMDAwLAorICAgIDB4YzI3NGFkYjgwMDAwMDAwMCwgMHhkZDYzNWQzODAwMDAwMDAwLCAweDAyMGE2ZjBjMDAwMDAwMDAsCisgICAgMHgxZDFkOWY4YzAwMDAwMDAwLCAweDdkMjJmZWQ2MDAwMDAwMDAsIDB4NjIzNTBlNTYwMDAwMDAwMCwKKyAgICAweGMzZjE5YWJlMDAwMDAwMDAsIDB4ZGNlNjZhM2UwMDAwMDAwMCwgMHhiY2Q5MGI2NDAwMDAwMDAwLAorICAgIDB4YTNjZWZiZTQwMDAwMDAwMCwgMHg3Y2E3YzlkMDAwMDAwMDAwLCAweDYzYjAzOTUwMDAwMDAwMDAsCisgICAgMHgwMzhmNTgwYTAwMDAwMDAwLCAweDFjOThhODhhMDAwMDAwMDAsIDB4N2FiOTc4YzQwMDAwMDAwMCwKKyAgICAweDY1YWU4ODQ0MDAwMDAwMDAsIDB4MDU5MWU5MWUwMDAwMDAwMCwgMHgxYTg2MTk5ZTAwMDAwMDAwLAorICAgIDB4YzVlZjJiYWEwMDAwMDAwMCwgMHhkYWY4ZGIyYTAwMDAwMDAwLCAweGJhYzdiYTcwMDAwMDAwMDAsCisgICAgMHhhNWQwNGFmMDAwMDAwMDAwLCAweDA0MTRkZTE4MDAwMDAwMDAsIDB4MWIwMzJlOTgwMDAwMDAwMCwKKyAgICAweDdiM2M0ZmMyMDAwMDAwMDAsIDB4NjQyYmJmNDIwMDAwMDAwMCwgMHhiYjQyOGQ3NjAwMDAwMDAwLAorICAgIDB4YTQ1NTdkZjYwMDAwMDAwMCwgMHhjNDZhMWNhYzAwMDAwMDAwLCAweGRiN2RlYzJjMDAwMDAwMDAsCisgICAgMHhjN2U1NDRhNjAwMDAwMDAwLCAweGQ4ZjJiNDI2MDAwMDAwMDAsIDB4YjhjZGQ1N2MwMDAwMDAwMCwKKyAgICAweGE3ZGEyNWZjMDAwMDAwMDAsIDB4NzhiMzE3YzgwMDAwMDAwMCwgMHg2N2E0ZTc0ODAwMDAwMDAwLAorICAgIDB4MDc5Yjg2MTIwMDAwMDAwMCwgMHgxODhjNzY5MjAwMDAwMDAwLCAweGI5NDhlMjdhMDAwMDAwMDAsCisgICAgMHhhNjVmMTJmYTAwMDAwMDAwLCAweGM2NjA3M2EwMDAwMDAwMDAsIDB4ZDk3NzgzMjAwMDAwMDAwMCwKKyAgICAweDA2MWViMTE0MDAwMDAwMDAsIDB4MTkwOTQxOTQwMDAwMDAwMCwgMHg3OTM2MjBjZTAwMDAwMDAwLAorICAgIDB4NjYyMWQwNGUwMDAwMDAwMCwgMHhiNTc0ODA1MzAwMDAwMDAwLCAweGFhNjM3MGQzMDAwMDAwMDAsCisgICAgMHhjYTVjMTE4OTAwMDAwMDAwLCAweGQ1NGJlMTA5MDAwMDAwMDAsIDB4MGEyMmQzM2QwMDAwMDAwMCwKKyAgICAweDE1MzUyM2JkMDAwMDAwMDAsIDB4NzUwYTQyZTcwMDAwMDAwMCwgMHg2YTFkYjI2NzAwMDAwMDAwLAorICAgIDB4Y2JkOTI2OGYwMDAwMDAwMCwgMHhkNGNlZDYwZjAwMDAwMDAwLCAweGI0ZjFiNzU1MDAwMDAwMDAsCisgICAgMHhhYmU2NDdkNTAwMDAwMDAwLCAweDc0OGY3NWUxMDAwMDAwMDAsIDB4NmI5ODg1NjEwMDAwMDAwMCwKKyAgICAweDBiYTdlNDNiMDAwMDAwMDAsIDB4MTRiMDE0YmIwMDAwMDAwMCwgMHgwODI4YmMzMTAwMDAwMDAwLAorICAgIDB4MTczZjRjYjEwMDAwMDAwMCwgMHg3NzAwMmRlYjAwMDAwMDAwLCAweDY4MTdkZDZiMDAwMDAwMDAsCisgICAgMHhiNzdlZWY1ZjAwMDAwMDAwLCAweGE4NjkxZmRmMDAwMDAwMDAsIDB4Yzg1NjdlODUwMDAwMDAwMCwKKyAgICAweGQ3NDE4ZTA1MDAwMDAwMDAsIDB4NzY4NTFhZWQwMDAwMDAwMCwgMHg2OTkyZWE2ZDAwMDAwMDAwLAorICAgIDB4MDlhZDhiMzcwMDAwMDAwMCwgMHgxNmJhN2JiNzAwMDAwMDAwLCAweGM5ZDM0OTgzMDAwMDAwMDAsCisgICAgMHhkNmM0YjkwMzAwMDAwMDAwLCAweGI2ZmJkODU5MDAwMDAwMDAsIDB4YTllYzI4ZDkwMDAwMDAwMCwKKyAgICAweGNmY2RmODk3MDAwMDAwMDAsIDB4ZDBkYTA4MTcwMDAwMDAwMCwgMHhiMGU1Njk0ZDAwMDAwMDAwLAorICAgIDB4YWZmMjk5Y2QwMDAwMDAwMCwgMHg3MDliYWJmOTAwMDAwMDAwLCAweDZmOGM1Yjc5MDAwMDAwMDAsCisgICAgMHgwZmIzM2EyMzAwMDAwMDAwLCAweDEwYTRjYWEzMDAwMDAwMDAsIDB4YjE2MDVlNGIwMDAwMDAwMCwKKyAgICAweGFlNzdhZWNiMDAwMDAwMDAsIDB4Y2U0OGNmOTEwMDAwMDAwMCwgMHhkMTVmM2YxMTAwMDAwMDAwLAorICAgIDB4MGUzNjBkMjUwMDAwMDAwMCwgMHgxMTIxZmRhNTAwMDAwMDAwLCAweDcxMWU5Y2ZmMDAwMDAwMDAsCisgICAgMHg2ZTA5NmM3ZjAwMDAwMDAwLCAweDcyOTFjNGY1MDAwMDAwMDAsIDB4NmQ4NjM0NzUwMDAwMDAwMCwKKyAgICAweDBkYjk1NTJmMDAwMDAwMDAsIDB4MTJhZWE1YWYwMDAwMDAwMCwgMHhjZGM3OTc5YjAwMDAwMDAwLAorICAgIDB4ZDJkMDY3MWIwMDAwMDAwMCwgMHhiMmVmMDY0MTAwMDAwMDAwLCAweGFkZjhmNmMxMDAwMDAwMDAsCisgICAgMHgwYzNjNjIyOTAwMDAwMDAwLCAweDEzMmI5MmE5MDAwMDAwMDAsIDB4NzMxNGYzZjMwMDAwMDAwMCwKKyAgICAweDZjMDMwMzczMDAwMDAwMDAsIDB4YjM2YTMxNDcwMDAwMDAwMCwgMHhhYzdkYzFjNzAwMDAwMDAwLAorICAgIDB4Y2M0MmEwOWQwMDAwMDAwMCwgMHhkMzU1NTAxZDAwMDAwMDAwLCAweDZhZTkwMGE3MDAwMDAwMDAsCisgICAgMHg3NWZlZjAyNzAwMDAwMDAwLCAweDE1YzE5MTdkMDAwMDAwMDAsIDB4MGFkNjYxZmQwMDAwMDAwMCwKKyAgICAweGQ1YmY1M2M5MDAwMDAwMDAsIDB4Y2FhOGEzNDkwMDAwMDAwMCwgMHhhYTk3YzIxMzAwMDAwMDAwLAorICAgIDB4YjU4MDMyOTMwMDAwMDAwMCwgMHgxNDQ0YTY3YjAwMDAwMDAwLCAweDBiNTM1NmZiMDAwMDAwMDAsCisgICAgMHg2YjZjMzdhMTAwMDAwMDAwLCAweDc0N2JjNzIxMDAwMDAwMDAsIDB4YWIxMmY1MTUwMDAwMDAwMCwKKyAgICAweGI0MDUwNTk1MDAwMDAwMDAsIDB4ZDQzYTY0Y2YwMDAwMDAwMCwgMHhjYjJkOTQ0ZjAwMDAwMDAwLAorICAgIDB4ZDdiNTNjYzUwMDAwMDAwMCwgMHhjOGEyY2M0NTAwMDAwMDAwLCAweGE4OWRhZDFmMDAwMDAwMDAsCisgICAgMHhiNzhhNWQ5ZjAwMDAwMDAwLCAweDY4ZTM2ZmFiMDAwMDAwMDAsIDB4NzdmNDlmMmIwMDAwMDAwMCwKKyAgICAweDE3Y2JmZTcxMDAwMDAwMDAsIDB4MDhkYzBlZjEwMDAwMDAwMCwgMHhhOTE4OWExOTAwMDAwMDAwLAorICAgIDB4YjYwZjZhOTkwMDAwMDAwMCwgMHhkNjMwMGJjMzAwMDAwMDAwLCAweGM5MjdmYjQzMDAwMDAwMDAsCisgICAgMHgxNjRlYzk3NzAwMDAwMDAwLCAweDA5NTkzOWY3MDAwMDAwMDAsIDB4Njk2NjU4YWQwMDAwMDAwMCwKKyAgICAweDc2NzFhODJkMDAwMDAwMDAsIDB4MTA1MDc4NjMwMDAwMDAwMCwgMHgwZjQ3ODhlMzAwMDAwMDAwLAorICAgIDB4NmY3OGU5YjkwMDAwMDAwMCwgMHg3MDZmMTkzOTAwMDAwMDAwLCAweGFmMDYyYjBkMDAwMDAwMDAsCisgICAgMHhiMDExZGI4ZDAwMDAwMDAwLCAweGQwMmViYWQ3MDAwMDAwMDAsIDB4Y2YzOTRhNTcwMDAwMDAwMCwKKyAgICAweDZlZmRkZWJmMDAwMDAwMDAsIDB4NzFlYTJlM2YwMDAwMDAwMCwgMHgxMWQ1NGY2NTAwMDAwMDAwLAorICAgIDB4MGVjMmJmZTUwMDAwMDAwMCwgMHhkMWFiOGRkMTAwMDAwMDAwLCAweGNlYmM3ZDUxMDAwMDAwMDAsCisgICAgMHhhZTgzMWMwYjAwMDAwMDAwLCAweGIxOTRlYzhiMDAwMDAwMDAsIDB4YWQwYzQ0MDEwMDAwMDAwMCwKKyAgICAweGIyMWJiNDgxMDAwMDAwMDAsIDB4ZDIyNGQ1ZGIwMDAwMDAwMCwgMHhjZDMzMjU1YjAwMDAwMDAwLAorICAgIDB4MTI1YTE3NmYwMDAwMDAwMCwgMHgwZDRkZTdlZjAwMDAwMDAwLCAweDZkNzI4NmI1MDAwMDAwMDAsCisgICAgMHg3MjY1NzYzNTAwMDAwMDAwLCAweGQzYTFlMmRkMDAwMDAwMDAsIDB4Y2NiNjEyNWQwMDAwMDAwMCwKKyAgICAweGFjODk3MzA3MDAwMDAwMDAsIDB4YjM5ZTgzODcwMDAwMDAwMCwgMHg2Y2Y3YjFiMzAwMDAwMDAwLAorICAgIDB4NzNlMDQxMzMwMDAwMDAwMCwgMHgxM2RmMjA2OTAwMDAwMDAwLCAweDBjYzhkMGU5MDAwMDAwMDAsCisgICAgMHhkZjlkODBmNDAwMDAwMDAwLCAweGMwOGE3MDc0MDAwMDAwMDAsIDB4YTBiNTExMmUwMDAwMDAwMCwKKyAgICAweGJmYTJlMWFlMDAwMDAwMDAsIDB4NjBjYmQzOWEwMDAwMDAwMCwgMHg3ZmRjMjMxYTAwMDAwMDAwLAorICAgIDB4MWZlMzQyNDAwMDAwMDAwMCwgMHgwMGY0YjJjMDAwMDAwMDAwLCAweGExMzAyNjI4MDAwMDAwMDAsCisgICAgMHhiZTI3ZDZhODAwMDAwMDAwLCAweGRlMThiN2YyMDAwMDAwMDAsIDB4YzEwZjQ3NzIwMDAwMDAwMCwKKyAgICAweDFlNjY3NTQ2MDAwMDAwMDAsIDB4MDE3MTg1YzYwMDAwMDAwMCwgMHg2MTRlZTQ5YzAwMDAwMDAwLAorICAgIDB4N2U1OTE0MWMwMDAwMDAwMCwgMHg2MmMxYmM5NjAwMDAwMDAwLCAweDdkZDY0YzE2MDAwMDAwMDAsCisgICAgMHgxZGU5MmQ0YzAwMDAwMDAwLCAweDAyZmVkZGNjMDAwMDAwMDAsIDB4ZGQ5N2VmZjgwMDAwMDAwMCwKKyAgICAweGMyODAxZjc4MDAwMDAwMDAsIDB4YTJiZjdlMjIwMDAwMDAwMCwgMHhiZGE4OGVhMjAwMDAwMDAwLAorICAgIDB4MWM2YzFhNGEwMDAwMDAwMCwgMHgwMzdiZWFjYTAwMDAwMDAwLCAweDYzNDQ4YjkwMDAwMDAwMDAsCisgICAgMHg3YzUzN2IxMDAwMDAwMDAwLCAweGEzM2E0OTI0MDAwMDAwMDAsIDB4YmMyZGI5YTQwMDAwMDAwMCwKKyAgICAweGRjMTJkOGZlMDAwMDAwMDAsIDB4YzMwNTI4N2UwMDAwMDAwMCwgMHhhNTI0ZjgzMDAwMDAwMDAwLAorICAgIDB4YmEzMzA4YjAwMDAwMDAwMCwgMHhkYTBjNjllYTAwMDAwMDAwLCAweGM1MWI5OTZhMDAwMDAwMDAsCisgICAgMHgxYTcyYWI1ZTAwMDAwMDAwLCAweDA1NjU1YmRlMDAwMDAwMDAsIDB4NjU1YTNhODQwMDAwMDAwMCwKKyAgICAweDdhNGRjYTA0MDAwMDAwMDAsIDB4ZGI4OTVlZWMwMDAwMDAwMCwgMHhjNDllYWU2YzAwMDAwMDAwLAorICAgIDB4YTRhMWNmMzYwMDAwMDAwMCwgMHhiYmI2M2ZiNjAwMDAwMDAwLCAweDY0ZGYwZDgyMDAwMDAwMDAsCisgICAgMHg3YmM4ZmQwMjAwMDAwMDAwLCAweDFiZjc5YzU4MDAwMDAwMDAsIDB4MDRlMDZjZDgwMDAwMDAwMCwKKyAgICAweDE4NzhjNDUyMDAwMDAwMDAsIDB4MDc2ZjM0ZDIwMDAwMDAwMCwgMHg2NzUwNTU4ODAwMDAwMDAwLAorICAgIDB4Nzg0N2E1MDgwMDAwMDAwMCwgMHhhNzJlOTczYzAwMDAwMDAwLCAweGI4Mzk2N2JjMDAwMDAwMDAsCisgICAgMHhkODA2MDZlNjAwMDAwMDAwLCAweGM3MTFmNjY2MDAwMDAwMDAsIDB4NjZkNTYyOGUwMDAwMDAwMCwKKyAgICAweDc5YzI5MjBlMDAwMDAwMDAsIDB4MTlmZGYzNTQwMDAwMDAwMCwgMHgwNmVhMDNkNDAwMDAwMDAwLAorICAgIDB4ZDk4MzMxZTAwMDAwMDAwMCwgMHhjNjk0YzE2MDAwMDAwMDAwLCAweGE2YWJhMDNhMDAwMDAwMDAsCisgICAgMHhiOWJjNTBiYTAwMDAwMDAwfSwKKyAgIHsweDAwMDAwMDAwMDAwMDAwMDAsIDB4ZTJmZDg4OGQwMDAwMDAwMCwgMHg4NWZkNjBjMDAwMDAwMDAwLAorICAgIDB4NjcwMGU4NGQwMDAwMDAwMCwgMHg0YmZkYjA1YjAwMDAwMDAwLCAweGE5MDAzOGQ2MDAwMDAwMDAsCisgICAgMHhjZTAwZDA5YjAwMDAwMDAwLCAweDJjZmQ1ODE2MDAwMDAwMDAsIDB4OTZmYTYxYjcwMDAwMDAwMCwKKyAgICAweDc0MDdlOTNhMDAwMDAwMDAsIDB4MTMwNzAxNzcwMDAwMDAwMCwgMHhmMWZhODlmYTAwMDAwMDAwLAorICAgIDB4ZGQwN2QxZWMwMDAwMDAwMCwgMHgzZmZhNTk2MTAwMDAwMDAwLCAweDU4ZmFiMTJjMDAwMDAwMDAsCisgICAgMHhiYTA3MzlhMTAwMDAwMDAwLCAweDZkZjNiMmI1MDAwMDAwMDAsIDB4OGYwZTNhMzgwMDAwMDAwMCwKKyAgICAweGU4MGVkMjc1MDAwMDAwMDAsIDB4MGFmMzVhZjgwMDAwMDAwMCwgMHgyNjBlMDJlZTAwMDAwMDAwLAorICAgIDB4YzRmMzhhNjMwMDAwMDAwMCwgMHhhM2YzNjIyZTAwMDAwMDAwLCAweDQxMGVlYWEzMDAwMDAwMDAsCisgICAgMHhmYjA5ZDMwMjAwMDAwMDAwLCAweDE5ZjQ1YjhmMDAwMDAwMDAsIDB4N2VmNGIzYzIwMDAwMDAwMCwKKyAgICAweDljMDkzYjRmMDAwMDAwMDAsIDB4YjBmNDYzNTkwMDAwMDAwMCwgMHg1MjA5ZWJkNDAwMDAwMDAwLAorICAgIDB4MzUwOTAzOTkwMDAwMDAwMCwgMHhkN2Y0OGIxNDAwMDAwMDAwLCAweDliZTAxNGIwMDAwMDAwMDAsCisgICAgMHg3OTFkOWMzZDAwMDAwMDAwLCAweDFlMWQ3NDcwMDAwMDAwMDAsIDB4ZmNlMGZjZmQwMDAwMDAwMCwKKyAgICAweGQwMWRhNGViMDAwMDAwMDAsIDB4MzJlMDJjNjYwMDAwMDAwMCwgMHg1NWUwYzQyYjAwMDAwMDAwLAorICAgIDB4YjcxZDRjYTYwMDAwMDAwMCwgMHgwZDFhNzUwNzAwMDAwMDAwLCAweGVmZTdmZDhhMDAwMDAwMDAsCisgICAgMHg4OGU3MTVjNzAwMDAwMDAwLCAweDZhMWE5ZDRhMDAwMDAwMDAsIDB4NDZlN2M1NWMwMDAwMDAwMCwKKyAgICAweGE0MWE0ZGQxMDAwMDAwMDAsIDB4YzMxYWE1OWMwMDAwMDAwMCwgMHgyMWU3MmQxMTAwMDAwMDAwLAorICAgIDB4ZjYxM2E2MDUwMDAwMDAwMCwgMHgxNGVlMmU4ODAwMDAwMDAwLCAweDczZWVjNmM1MDAwMDAwMDAsCisgICAgMHg5MTEzNGU0ODAwMDAwMDAwLCAweGJkZWUxNjVlMDAwMDAwMDAsIDB4NWYxMzllZDMwMDAwMDAwMCwKKyAgICAweDM4MTM3NjllMDAwMDAwMDAsIDB4ZGFlZWZlMTMwMDAwMDAwMCwgMHg2MGU5YzdiMjAwMDAwMDAwLAorICAgIDB4ODIxNDRmM2YwMDAwMDAwMCwgMHhlNTE0YTc3MjAwMDAwMDAwLCAweDA3ZTkyZmZmMDAwMDAwMDAsCisgICAgMHgyYjE0NzdlOTAwMDAwMDAwLCAweGM5ZTlmZjY0MDAwMDAwMDAsIDB4YWVlOTE3MjkwMDAwMDAwMCwKKyAgICAweDRjMTQ5ZmE0MDAwMDAwMDAsIDB4NzdjNzU4YmIwMDAwMDAwMCwgMHg5NTNhZDAzNjAwMDAwMDAwLAorICAgIDB4ZjIzYTM4N2IwMDAwMDAwMCwgMHgxMGM3YjBmNjAwMDAwMDAwLCAweDNjM2FlOGUwMDAwMDAwMDAsCisgICAgMHhkZWM3NjA2ZDAwMDAwMDAwLCAweGI5Yzc4ODIwMDAwMDAwMDAsIDB4NWIzYTAwYWQwMDAwMDAwMCwKKyAgICAweGUxM2QzOTBjMDAwMDAwMDAsIDB4MDNjMGIxODEwMDAwMDAwMCwgMHg2NGMwNTljYzAwMDAwMDAwLAorICAgIDB4ODYzZGQxNDEwMDAwMDAwMCwgMHhhYWMwODk1NzAwMDAwMDAwLCAweDQ4M2QwMWRhMDAwMDAwMDAsCisgICAgMHgyZjNkZTk5NzAwMDAwMDAwLCAweGNkYzA2MTFhMDAwMDAwMDAsIDB4MWEzNGVhMGUwMDAwMDAwMCwKKyAgICAweGY4Yzk2MjgzMDAwMDAwMDAsIDB4OWZjOThhY2UwMDAwMDAwMCwgMHg3ZDM0MDI0MzAwMDAwMDAwLAorICAgIDB4NTFjOTVhNTUwMDAwMDAwMCwgMHhiMzM0ZDJkODAwMDAwMDAwLCAweGQ0MzQzYTk1MDAwMDAwMDAsCisgICAgMHgzNmM5YjIxODAwMDAwMDAwLCAweDhjY2U4YmI5MDAwMDAwMDAsIDB4NmUzMzAzMzQwMDAwMDAwMCwKKyAgICAweDA5MzNlYjc5MDAwMDAwMDAsIDB4ZWJjZTYzZjQwMDAwMDAwMCwgMHhjNzMzM2JlMjAwMDAwMDAwLAorICAgIDB4MjVjZWIzNmYwMDAwMDAwMCwgMHg0MmNlNWIyMjAwMDAwMDAwLCAweGEwMzNkM2FmMDAwMDAwMDAsCisgICAgMHhlYzI3NGMwYjAwMDAwMDAwLCAweDBlZGFjNDg2MDAwMDAwMDAsIDB4NjlkYTJjY2IwMDAwMDAwMCwKKyAgICAweDhiMjdhNDQ2MDAwMDAwMDAsIDB4YTdkYWZjNTAwMDAwMDAwMCwgMHg0NTI3NzRkZDAwMDAwMDAwLAorICAgIDB4MjIyNzljOTAwMDAwMDAwMCwgMHhjMGRhMTQxZDAwMDAwMDAwLCAweDdhZGQyZGJjMDAwMDAwMDAsCisgICAgMHg5ODIwYTUzMTAwMDAwMDAwLCAweGZmMjA0ZDdjMDAwMDAwMDAsIDB4MWRkZGM1ZjEwMDAwMDAwMCwKKyAgICAweDMxMjA5ZGU3MDAwMDAwMDAsIDB4ZDNkZDE1NmEwMDAwMDAwMCwgMHhiNGRkZmQyNzAwMDAwMDAwLAorICAgIDB4NTYyMDc1YWEwMDAwMDAwMCwgMHg4MWQ0ZmViZTAwMDAwMDAwLCAweDYzMjk3NjMzMDAwMDAwMDAsCisgICAgMHgwNDI5OWU3ZTAwMDAwMDAwLCAweGU2ZDQxNmYzMDAwMDAwMDAsIDB4Y2EyOTRlZTUwMDAwMDAwMCwKKyAgICAweDI4ZDRjNjY4MDAwMDAwMDAsIDB4NGZkNDJlMjUwMDAwMDAwMCwgMHhhZDI5YTZhODAwMDAwMDAwLAorICAgIDB4MTcyZTlmMDkwMDAwMDAwMCwgMHhmNWQzMTc4NDAwMDAwMDAwLCAweDkyZDNmZmM5MDAwMDAwMDAsCisgICAgMHg3MDJlNzc0NDAwMDAwMDAwLCAweDVjZDMyZjUyMDAwMDAwMDAsIDB4YmUyZWE3ZGYwMDAwMDAwMCwKKyAgICAweGQ5MmU0ZjkyMDAwMDAwMDAsIDB4M2JkM2M3MWYwMDAwMDAwMCwgMHhhZjg4YzBhZDAwMDAwMDAwLAorICAgIDB4NGQ3NTQ4MjAwMDAwMDAwMCwgMHgyYTc1YTA2ZDAwMDAwMDAwLCAweGM4ODgyOGUwMDAwMDAwMDAsCisgICAgMHhlNDc1NzBmNjAwMDAwMDAwLCAweDA2ODhmODdiMDAwMDAwMDAsIDB4NjE4ODEwMzYwMDAwMDAwMCwKKyAgICAweDgzNzU5OGJiMDAwMDAwMDAsIDB4Mzk3MmExMWEwMDAwMDAwMCwgMHhkYjhmMjk5NzAwMDAwMDAwLAorICAgIDB4YmM4ZmMxZGEwMDAwMDAwMCwgMHg1ZTcyNDk1NzAwMDAwMDAwLCAweDcyOGYxMTQxMDAwMDAwMDAsCisgICAgMHg5MDcyOTljYzAwMDAwMDAwLCAweGY3NzI3MTgxMDAwMDAwMDAsIDB4MTU4ZmY5MGMwMDAwMDAwMCwKKyAgICAweGMyN2I3MjE4MDAwMDAwMDAsIDB4MjA4NmZhOTUwMDAwMDAwMCwgMHg0Nzg2MTJkODAwMDAwMDAwLAorICAgIDB4YTU3YjlhNTUwMDAwMDAwMCwgMHg4OTg2YzI0MzAwMDAwMDAwLCAweDZiN2I0YWNlMDAwMDAwMDAsCisgICAgMHgwYzdiYTI4MzAwMDAwMDAwLCAweGVlODYyYTBlMDAwMDAwMDAsIDB4NTQ4MTEzYWYwMDAwMDAwMCwKKyAgICAweGI2N2M5YjIyMDAwMDAwMDAsIDB4ZDE3YzczNmYwMDAwMDAwMCwgMHgzMzgxZmJlMjAwMDAwMDAwLAorICAgIDB4MWY3Y2EzZjQwMDAwMDAwMCwgMHhmZDgxMmI3OTAwMDAwMDAwLCAweDlhODFjMzM0MDAwMDAwMDAsCisgICAgMHg3ODdjNGJiOTAwMDAwMDAwLCAweDM0NjhkNDFkMDAwMDAwMDAsIDB4ZDY5NTVjOTAwMDAwMDAwMCwKKyAgICAweGIxOTViNGRkMDAwMDAwMDAsIDB4NTM2ODNjNTAwMDAwMDAwMCwgMHg3Zjk1NjQ0NjAwMDAwMDAwLAorICAgIDB4OWQ2OGVjY2IwMDAwMDAwMCwgMHhmYTY4MDQ4NjAwMDAwMDAwLCAweDE4OTU4YzBiMDAwMDAwMDAsCisgICAgMHhhMjkyYjVhYTAwMDAwMDAwLCAweDQwNmYzZDI3MDAwMDAwMDAsIDB4Mjc2ZmQ1NmEwMDAwMDAwMCwKKyAgICAweGM1OTI1ZGU3MDAwMDAwMDAsIDB4ZTk2ZjA1ZjEwMDAwMDAwMCwgMHgwYjkyOGQ3YzAwMDAwMDAwLAorICAgIDB4NmM5MjY1MzEwMDAwMDAwMCwgMHg4ZTZmZWRiYzAwMDAwMDAwLCAweDU5OWI2NmE4MDAwMDAwMDAsCisgICAgMHhiYjY2ZWUyNTAwMDAwMDAwLCAweGRjNjYwNjY4MDAwMDAwMDAsIDB4M2U5YjhlZTUwMDAwMDAwMCwKKyAgICAweDEyNjZkNmYzMDAwMDAwMDAsIDB4ZjA5YjVlN2UwMDAwMDAwMCwgMHg5NzliYjYzMzAwMDAwMDAwLAorICAgIDB4NzU2NjNlYmUwMDAwMDAwMCwgMHhjZjYxMDcxZjAwMDAwMDAwLCAweDJkOWM4ZjkyMDAwMDAwMDAsCisgICAgMHg0YTljNjdkZjAwMDAwMDAwLCAweGE4NjFlZjUyMDAwMDAwMDAsIDB4ODQ5Y2I3NDQwMDAwMDAwMCwKKyAgICAweDY2NjEzZmM5MDAwMDAwMDAsIDB4MDE2MWQ3ODQwMDAwMDAwMCwgMHhlMzljNWYwOTAwMDAwMDAwLAorICAgIDB4ZDg0Zjk4MTYwMDAwMDAwMCwgMHgzYWIyMTA5YjAwMDAwMDAwLCAweDVkYjJmOGQ2MDAwMDAwMDAsCisgICAgMHhiZjRmNzA1YjAwMDAwMDAwLCAweDkzYjIyODRkMDAwMDAwMDAsIDB4NzE0ZmEwYzAwMDAwMDAwMCwKKyAgICAweDE2NGY0ODhkMDAwMDAwMDAsIDB4ZjRiMmMwMDAwMDAwMDAwMCwgMHg0ZWI1ZjlhMTAwMDAwMDAwLAorICAgIDB4YWM0ODcxMmMwMDAwMDAwMCwgMHhjYjQ4OTk2MTAwMDAwMDAwLCAweDI5YjUxMWVjMDAwMDAwMDAsCisgICAgMHgwNTQ4NDlmYTAwMDAwMDAwLCAweGU3YjVjMTc3MDAwMDAwMDAsIDB4ODBiNTI5M2EwMDAwMDAwMCwKKyAgICAweDYyNDhhMWI3MDAwMDAwMDAsIDB4YjViYzJhYTMwMDAwMDAwMCwgMHg1NzQxYTIyZTAwMDAwMDAwLAorICAgIDB4MzA0MTRhNjMwMDAwMDAwMCwgMHhkMmJjYzJlZTAwMDAwMDAwLCAweGZlNDE5YWY4MDAwMDAwMDAsCisgICAgMHgxY2JjMTI3NTAwMDAwMDAwLCAweDdiYmNmYTM4MDAwMDAwMDAsIDB4OTk0MTcyYjUwMDAwMDAwMCwKKyAgICAweDIzNDY0YjE0MDAwMDAwMDAsIDB4YzFiYmMzOTkwMDAwMDAwMCwgMHhhNmJiMmJkNDAwMDAwMDAwLAorICAgIDB4NDQ0NmEzNTkwMDAwMDAwMCwgMHg2OGJiZmI0ZjAwMDAwMDAwLCAweDhhNDY3M2MyMDAwMDAwMDAsCisgICAgMHhlZDQ2OWI4ZjAwMDAwMDAwLCAweDBmYmIxMzAyMDAwMDAwMDAsIDB4NDNhZjhjYTYwMDAwMDAwMCwKKyAgICAweGExNTIwNDJiMDAwMDAwMDAsIDB4YzY1MmVjNjYwMDAwMDAwMCwgMHgyNGFmNjRlYjAwMDAwMDAwLAorICAgIDB4MDg1MjNjZmQwMDAwMDAwMCwgMHhlYWFmYjQ3MDAwMDAwMDAwLCAweDhkYWY1YzNkMDAwMDAwMDAsCisgICAgMHg2ZjUyZDRiMDAwMDAwMDAwLCAweGQ1NTVlZDExMDAwMDAwMDAsIDB4MzdhODY1OWMwMDAwMDAwMCwKKyAgICAweDUwYTg4ZGQxMDAwMDAwMDAsIDB4YjI1NTA1NWMwMDAwMDAwMCwgMHg5ZWE4NWQ0YTAwMDAwMDAwLAorICAgIDB4N2M1NWQ1YzcwMDAwMDAwMCwgMHgxYjU1M2Q4YTAwMDAwMDAwLCAweGY5YThiNTA3MDAwMDAwMDAsCisgICAgMHgyZTVjM2UxMzAwMDAwMDAwLCAweGNjYTFiNjllMDAwMDAwMDAsIDB4YWJhMTVlZDMwMDAwMDAwMCwKKyAgICAweDQ5NWNkNjVlMDAwMDAwMDAsIDB4NjVhMThlNDgwMDAwMDAwMCwgMHg4NzVjMDZjNTAwMDAwMDAwLAorICAgIDB4ZTA1Y2VlODgwMDAwMDAwMCwgMHgwMmExNjYwNTAwMDAwMDAwLCAweGI4YTY1ZmE0MDAwMDAwMDAsCisgICAgMHg1YTViZDcyOTAwMDAwMDAwLCAweDNkNWIzZjY0MDAwMDAwMDAsIDB4ZGZhNmI3ZTkwMDAwMDAwMCwKKyAgICAweGYzNWJlZmZmMDAwMDAwMDAsIDB4MTFhNjY3NzIwMDAwMDAwMCwgMHg3NmE2OGYzZjAwMDAwMDAwLAorICAgIDB4OTQ1YjA3YjIwMDAwMDAwMH0sCisgICB7MHgwMDAwMDAwMDAwMDAwMDAwLCAweGE5MGI4OTRlMDAwMDAwMDAsIDB4NTIxNzEyOWQwMDAwMDAwMCwKKyAgICAweGZiMWM5YmQzMDAwMDAwMDAsIDB4ZTUyODU1ZTEwMDAwMDAwMCwgMHg0YzIzZGNhZjAwMDAwMDAwLAorICAgIDB4YjczZjQ3N2MwMDAwMDAwMCwgMHgxZTM0Y2UzMjAwMDAwMDAwLCAweDhiNTdkYjE5MDAwMDAwMDAsCisgICAgMHgyMjVjNTI1NzAwMDAwMDAwLCAweGQ5NDBjOTg0MDAwMDAwMDAsIDB4NzA0YjQwY2EwMDAwMDAwMCwKKyAgICAweDZlN2Y4ZWY4MDAwMDAwMDAsIDB4Yzc3NDA3YjYwMDAwMDAwMCwgMHgzYzY4OWM2NTAwMDAwMDAwLAorICAgIDB4OTU2MzE1MmIwMDAwMDAwMCwgMHgxNmFmYjYzMzAwMDAwMDAwLCAweGJmYTQzZjdkMDAwMDAwMDAsCisgICAgMHg0NGI4YTRhZTAwMDAwMDAwLCAweGVkYjMyZGUwMDAwMDAwMDAsIDB4ZjM4N2UzZDIwMDAwMDAwMCwKKyAgICAweDVhOGM2YTljMDAwMDAwMDAsIDB4YTE5MGYxNGYwMDAwMDAwMCwgMHgwODliNzgwMTAwMDAwMDAwLAorICAgIDB4OWRmODZkMmEwMDAwMDAwMCwgMHgzNGYzZTQ2NDAwMDAwMDAwLCAweGNmZWY3ZmI3MDAwMDAwMDAsCisgICAgMHg2NmU0ZjZmOTAwMDAwMDAwLCAweDc4ZDAzOGNiMDAwMDAwMDAsIDB4ZDFkYmIxODUwMDAwMDAwMCwKKyAgICAweDJhYzcyYTU2MDAwMDAwMDAsIDB4ODNjY2EzMTgwMDAwMDAwMCwgMHgyYzVlNmQ2NzAwMDAwMDAwLAorICAgIDB4ODU1NWU0MjkwMDAwMDAwMCwgMHg3ZTQ5N2ZmYTAwMDAwMDAwLCAweGQ3NDJmNmI0MDAwMDAwMDAsCisgICAgMHhjOTc2Mzg4NjAwMDAwMDAwLCAweDYwN2RiMWM4MDAwMDAwMDAsIDB4OWI2MTJhMWIwMDAwMDAwMCwKKyAgICAweDMyNmFhMzU1MDAwMDAwMDAsIDB4YTcwOWI2N2UwMDAwMDAwMCwgMHgwZTAyM2YzMDAwMDAwMDAwLAorICAgIDB4ZjUxZWE0ZTMwMDAwMDAwMCwgMHg1YzE1MmRhZDAwMDAwMDAwLCAweDQyMjFlMzlmMDAwMDAwMDAsCisgICAgMHhlYjJhNmFkMTAwMDAwMDAwLCAweDEwMzZmMTAyMDAwMDAwMDAsIDB4YjkzZDc4NGMwMDAwMDAwMCwKKyAgICAweDNhZjFkYjU0MDAwMDAwMDAsIDB4OTNmYTUyMWEwMDAwMDAwMCwgMHg2OGU2YzljOTAwMDAwMDAwLAorICAgIDB4YzFlZDQwODcwMDAwMDAwMCwgMHhkZmQ5OGViNTAwMDAwMDAwLCAweDc2ZDIwN2ZiMDAwMDAwMDAsCisgICAgMHg4ZGNlOWMyODAwMDAwMDAwLCAweDI0YzUxNTY2MDAwMDAwMDAsIDB4YjFhNjAwNGQwMDAwMDAwMCwKKyAgICAweDE4YWQ4OTAzMDAwMDAwMDAsIDB4ZTNiMTEyZDAwMDAwMDAwMCwgMHg0YWJhOWI5ZTAwMDAwMDAwLAorICAgIDB4NTQ4ZTU1YWMwMDAwMDAwMCwgMHhmZDg1ZGNlMjAwMDAwMDAwLCAweDA2OTk0NzMxMDAwMDAwMDAsCisgICAgMHhhZjkyY2U3ZjAwMDAwMDAwLCAweDU4YmNkYWNlMDAwMDAwMDAsIDB4ZjFiNzUzODAwMDAwMDAwMCwKKyAgICAweDBhYWJjODUzMDAwMDAwMDAsIDB4YTNhMDQxMWQwMDAwMDAwMCwgMHhiZDk0OGYyZjAwMDAwMDAwLAorICAgIDB4MTQ5ZjA2NjEwMDAwMDAwMCwgMHhlZjgzOWRiMjAwMDAwMDAwLCAweDQ2ODgxNGZjMDAwMDAwMDAsCisgICAgMHhkM2ViMDFkNzAwMDAwMDAwLCAweDdhZTA4ODk5MDAwMDAwMDAsIDB4ODFmYzEzNGEwMDAwMDAwMCwKKyAgICAweDI4Zjc5YTA0MDAwMDAwMDAsIDB4MzZjMzU0MzYwMDAwMDAwMCwgMHg5ZmM4ZGQ3ODAwMDAwMDAwLAorICAgIDB4NjRkNDQ2YWIwMDAwMDAwMCwgMHhjZGRmY2ZlNTAwMDAwMDAwLCAweDRlMTM2Y2ZkMDAwMDAwMDAsCisgICAgMHhlNzE4ZTViMzAwMDAwMDAwLCAweDFjMDQ3ZTYwMDAwMDAwMDAsIDB4YjUwZmY3MmUwMDAwMDAwMCwKKyAgICAweGFiM2IzOTFjMDAwMDAwMDAsIDB4MDIzMGIwNTIwMDAwMDAwMCwgMHhmOTJjMmI4MTAwMDAwMDAwLAorICAgIDB4NTAyN2EyY2YwMDAwMDAwMCwgMHhjNTQ0YjdlNDAwMDAwMDAwLCAweDZjNGYzZWFhMDAwMDAwMDAsCisgICAgMHg5NzUzYTU3OTAwMDAwMDAwLCAweDNlNTgyYzM3MDAwMDAwMDAsIDB4MjA2Y2UyMDUwMDAwMDAwMCwKKyAgICAweDg5Njc2YjRiMDAwMDAwMDAsIDB4NzI3YmYwOTgwMDAwMDAwMCwgMHhkYjcwNzlkNjAwMDAwMDAwLAorICAgIDB4NzRlMmI3YTkwMDAwMDAwMCwgMHhkZGU5M2VlNzAwMDAwMDAwLCAweDI2ZjVhNTM0MDAwMDAwMDAsCisgICAgMHg4ZmZlMmM3YTAwMDAwMDAwLCAweDkxY2FlMjQ4MDAwMDAwMDAsIDB4MzhjMTZiMDYwMDAwMDAwMCwKKyAgICAweGMzZGRmMGQ1MDAwMDAwMDAsIDB4NmFkNjc5OWIwMDAwMDAwMCwgMHhmZmI1NmNiMDAwMDAwMDAwLAorICAgIDB4NTZiZWU1ZmUwMDAwMDAwMCwgMHhhZGEyN2UyZDAwMDAwMDAwLCAweDA0YTlmNzYzMDAwMDAwMDAsCisgICAgMHgxYTlkMzk1MTAwMDAwMDAwLCAweGIzOTZiMDFmMDAwMDAwMDAsIDB4NDg4YTJiY2MwMDAwMDAwMCwKKyAgICAweGUxODFhMjgyMDAwMDAwMDAsIDB4NjI0ZDAxOWEwMDAwMDAwMCwgMHhjYjQ2ODhkNDAwMDAwMDAwLAorICAgIDB4MzA1YTEzMDcwMDAwMDAwMCwgMHg5OTUxOWE0OTAwMDAwMDAwLCAweDg3NjU1NDdiMDAwMDAwMDAsCisgICAgMHgyZTZlZGQzNTAwMDAwMDAwLCAweGQ1NzI0NmU2MDAwMDAwMDAsIDB4N2M3OWNmYTgwMDAwMDAwMCwKKyAgICAweGU5MWFkYTgzMDAwMDAwMDAsIDB4NDAxMTUzY2QwMDAwMDAwMCwgMHhiYjBkYzgxZTAwMDAwMDAwLAorICAgIDB4MTIwNjQxNTAwMDAwMDAwMCwgMHgwYzMyOGY2MjAwMDAwMDAwLCAweGE1MzkwNjJjMDAwMDAwMDAsCisgICAgMHg1ZTI1OWRmZjAwMDAwMDAwLCAweGY3MmUxNGIxMDAwMDAwMDAsIDB4ZjE3ZWM0NDYwMDAwMDAwMCwKKyAgICAweDU4NzU0ZDA4MDAwMDAwMDAsIDB4YTM2OWQ2ZGIwMDAwMDAwMCwgMHgwYTYyNWY5NTAwMDAwMDAwLAorICAgIDB4MTQ1NjkxYTcwMDAwMDAwMCwgMHhiZDVkMThlOTAwMDAwMDAwLCAweDQ2NDE4MzNhMDAwMDAwMDAsCisgICAgMHhlZjRhMGE3NDAwMDAwMDAwLCAweDdhMjkxZjVmMDAwMDAwMDAsIDB4ZDMyMjk2MTEwMDAwMDAwMCwKKyAgICAweDI4M2UwZGMyMDAwMDAwMDAsIDB4ODEzNTg0OGMwMDAwMDAwMCwgMHg5ZjAxNGFiZTAwMDAwMDAwLAorICAgIDB4MzYwYWMzZjAwMDAwMDAwMCwgMHhjZDE2NTgyMzAwMDAwMDAwLCAweDY0MWRkMTZkMDAwMDAwMDAsCisgICAgMHhlN2QxNzI3NTAwMDAwMDAwLCAweDRlZGFmYjNiMDAwMDAwMDAsIDB4YjVjNjYwZTgwMDAwMDAwMCwKKyAgICAweDFjY2RlOWE2MDAwMDAwMDAsIDB4MDJmOTI3OTQwMDAwMDAwMCwgMHhhYmYyYWVkYTAwMDAwMDAwLAorICAgIDB4NTBlZTM1MDkwMDAwMDAwMCwgMHhmOWU1YmM0NzAwMDAwMDAwLCAweDZjODZhOTZjMDAwMDAwMDAsCisgICAgMHhjNThkMjAyMjAwMDAwMDAwLCAweDNlOTFiYmYxMDAwMDAwMDAsIDB4OTc5YTMyYmYwMDAwMDAwMCwKKyAgICAweDg5YWVmYzhkMDAwMDAwMDAsIDB4MjBhNTc1YzMwMDAwMDAwMCwgMHhkYmI5ZWUxMDAwMDAwMDAwLAorICAgIDB4NzJiMjY3NWUwMDAwMDAwMCwgMHhkZDIwYTkyMTAwMDAwMDAwLCAweDc0MmIyMDZmMDAwMDAwMDAsCisgICAgMHg4ZjM3YmJiYzAwMDAwMDAwLCAweDI2M2MzMmYyMDAwMDAwMDAsIDB4MzgwOGZjYzAwMDAwMDAwMCwKKyAgICAweDkxMDM3NThlMDAwMDAwMDAsIDB4NmExZmVlNWQwMDAwMDAwMCwgMHhjMzE0NjcxMzAwMDAwMDAwLAorICAgIDB4NTY3NzcyMzgwMDAwMDAwMCwgMHhmZjdjZmI3NjAwMDAwMDAwLCAweDA0NjA2MGE1MDAwMDAwMDAsCisgICAgMHhhZDZiZTllYjAwMDAwMDAwLCAweGIzNWYyN2Q5MDAwMDAwMDAsIDB4MWE1NGFlOTcwMDAwMDAwMCwKKyAgICAweGUxNDgzNTQ0MDAwMDAwMDAsIDB4NDg0M2JjMGEwMDAwMDAwMCwgMHhjYjhmMWYxMjAwMDAwMDAwLAorICAgIDB4NjI4NDk2NWMwMDAwMDAwMCwgMHg5OTk4MGQ4ZjAwMDAwMDAwLCAweDMwOTM4NGMxMDAwMDAwMDAsCisgICAgMHgyZWE3NGFmMzAwMDAwMDAwLCAweDg3YWNjM2JkMDAwMDAwMDAsIDB4N2NiMDU4NmUwMDAwMDAwMCwKKyAgICAweGQ1YmJkMTIwMDAwMDAwMDAsIDB4NDBkOGM0MGIwMDAwMDAwMCwgMHhlOWQzNGQ0NTAwMDAwMDAwLAorICAgIDB4MTJjZmQ2OTYwMDAwMDAwMCwgMHhiYmM0NWZkODAwMDAwMDAwLCAweGE1ZjA5MWVhMDAwMDAwMDAsCisgICAgMHgwY2ZiMThhNDAwMDAwMDAwLCAweGY3ZTc4Mzc3MDAwMDAwMDAsIDB4NWVlYzBhMzkwMDAwMDAwMCwKKyAgICAweGE5YzIxZTg4MDAwMDAwMDAsIDB4MDBjOTk3YzYwMDAwMDAwMCwgMHhmYmQ1MGMxNTAwMDAwMDAwLAorICAgIDB4NTJkZTg1NWIwMDAwMDAwMCwgMHg0Y2VhNGI2OTAwMDAwMDAwLCAweGU1ZTFjMjI3MDAwMDAwMDAsCisgICAgMHgxZWZkNTlmNDAwMDAwMDAwLCAweGI3ZjZkMGJhMDAwMDAwMDAsIDB4MjI5NWM1OTEwMDAwMDAwMCwKKyAgICAweDhiOWU0Y2RmMDAwMDAwMDAsIDB4NzA4MmQ3MGMwMDAwMDAwMCwgMHhkOTg5NWU0MjAwMDAwMDAwLAorICAgIDB4YzdiZDkwNzAwMDAwMDAwMCwgMHg2ZWI2MTkzZTAwMDAwMDAwLCAweDk1YWE4MmVkMDAwMDAwMDAsCisgICAgMHgzY2ExMGJhMzAwMDAwMDAwLCAweGJmNmRhOGJiMDAwMDAwMDAsIDB4MTY2NjIxZjUwMDAwMDAwMCwKKyAgICAweGVkN2FiYTI2MDAwMDAwMDAsIDB4NDQ3MTMzNjgwMDAwMDAwMCwgMHg1YTQ1ZmQ1YTAwMDAwMDAwLAorICAgIDB4ZjM0ZTc0MTQwMDAwMDAwMCwgMHgwODUyZWZjNzAwMDAwMDAwLCAweGExNTk2Njg5MDAwMDAwMDAsCisgICAgMHgzNDNhNzNhMjAwMDAwMDAwLCAweDlkMzFmYWVjMDAwMDAwMDAsIDB4NjYyZDYxM2YwMDAwMDAwMCwKKyAgICAweGNmMjZlODcxMDAwMDAwMDAsIDB4ZDExMjI2NDMwMDAwMDAwMCwgMHg3ODE5YWYwZDAwMDAwMDAwLAorICAgIDB4ODMwNTM0ZGUwMDAwMDAwMCwgMHgyYTBlYmQ5MDAwMDAwMDAwLCAweDg1OWM3M2VmMDAwMDAwMDAsCisgICAgMHgyYzk3ZmFhMTAwMDAwMDAwLCAweGQ3OGI2MTcyMDAwMDAwMDAsIDB4N2U4MGU4M2MwMDAwMDAwMCwKKyAgICAweDYwYjQyNjBlMDAwMDAwMDAsIDB4YzliZmFmNDAwMDAwMDAwMCwgMHgzMmEzMzQ5MzAwMDAwMDAwLAorICAgIDB4OWJhOGJkZGQwMDAwMDAwMCwgMHgwZWNiYThmNjAwMDAwMDAwLCAweGE3YzAyMWI4MDAwMDAwMDAsCisgICAgMHg1Y2RjYmE2YjAwMDAwMDAwLCAweGY1ZDczMzI1MDAwMDAwMDAsIDB4ZWJlM2ZkMTcwMDAwMDAwMCwKKyAgICAweDQyZTg3NDU5MDAwMDAwMDAsIDB4YjlmNGVmOGEwMDAwMDAwMCwgMHgxMGZmNjZjNDAwMDAwMDAwLAorICAgIDB4OTMzM2M1ZGMwMDAwMDAwMCwgMHgzYTM4NGM5MjAwMDAwMDAwLCAweGMxMjRkNzQxMDAwMDAwMDAsCisgICAgMHg2ODJmNWUwZjAwMDAwMDAwLCAweDc2MWI5MDNkMDAwMDAwMDAsIDB4ZGYxMDE5NzMwMDAwMDAwMCwKKyAgICAweDI0MGM4MmEwMDAwMDAwMDAsIDB4OGQwNzBiZWUwMDAwMDAwMCwgMHgxODY0MWVjNTAwMDAwMDAwLAorICAgIDB4YjE2Zjk3OGIwMDAwMDAwMCwgMHg0YTczMGM1ODAwMDAwMDAwLCAweGUzNzg4NTE2MDAwMDAwMDAsCisgICAgMHhmZDRjNGIyNDAwMDAwMDAwLCAweDU0NDdjMjZhMDAwMDAwMDAsIDB4YWY1YjU5YjkwMDAwMDAwMCwKKyAgICAweDA2NTBkMGY3MDAwMDAwMDB9LAorICAgezB4MDAwMDAwMDAwMDAwMDAwMCwgMHg0NzkyNDRhZjAwMDAwMDAwLCAweGNmMjJmODg1MDAwMDAwMDAsCisgICAgMHg4OGIwYmMyYTAwMDAwMDAwLCAweGRmNDM4MWQwMDAwMDAwMDAsIDB4OThkMWM1N2YwMDAwMDAwMCwKKyAgICAweDEwNjE3OTU1MDAwMDAwMDAsIDB4NTdmMzNkZmEwMDAwMDAwMCwgMHhmZjgxNzM3YTAwMDAwMDAwLAorICAgIDB4YjgxMzM3ZDUwMDAwMDAwMCwgMHgzMGEzOGJmZjAwMDAwMDAwLCAweDc3MzFjZjUwMDAwMDAwMDAsCisgICAgMHgyMGMyZjJhYTAwMDAwMDAwLCAweDY3NTBiNjA1MDAwMDAwMDAsIDB4ZWZlMDBhMmYwMDAwMDAwMCwKKyAgICAweGE4NzI0ZTgwMDAwMDAwMDAsIDB4ZmUwM2U3ZjQwMDAwMDAwMCwgMHhiOTkxYTM1YjAwMDAwMDAwLAorICAgIDB4MzEyMTFmNzEwMDAwMDAwMCwgMHg3NmIzNWJkZTAwMDAwMDAwLCAweDIxNDA2NjI0MDAwMDAwMDAsCisgICAgMHg2NmQyMjI4YjAwMDAwMDAwLCAweGVlNjI5ZWExMDAwMDAwMDAsIDB4YTlmMGRhMGUwMDAwMDAwMCwKKyAgICAweDAxODI5NDhlMDAwMDAwMDAsIDB4NDYxMGQwMjEwMDAwMDAwMCwgMHhjZWEwNmMwYjAwMDAwMDAwLAorICAgIDB4ODkzMjI4YTQwMDAwMDAwMCwgMHhkZWMxMTU1ZTAwMDAwMDAwLCAweDk5NTM1MWYxMDAwMDAwMDAsCisgICAgMHgxMWUzZWRkYjAwMDAwMDAwLCAweDU2NzFhOTc0MDAwMDAwMDAsIDB4YmQwMWJmMzIwMDAwMDAwMCwKKyAgICAweGZhOTNmYjlkMDAwMDAwMDAsIDB4NzIyMzQ3YjcwMDAwMDAwMCwgMHgzNWIxMDMxODAwMDAwMDAwLAorICAgIDB4NjI0MjNlZTIwMDAwMDAwMCwgMHgyNWQwN2E0ZDAwMDAwMDAwLCAweGFkNjBjNjY3MDAwMDAwMDAsCisgICAgMHhlYWYyODJjODAwMDAwMDAwLCAweDQyODBjYzQ4MDAwMDAwMDAsIDB4MDUxMjg4ZTcwMDAwMDAwMCwKKyAgICAweDhkYTIzNGNkMDAwMDAwMDAsIDB4Y2EzMDcwNjIwMDAwMDAwMCwgMHg5ZGMzNGQ5ODAwMDAwMDAwLAorICAgIDB4ZGE1MTA5MzcwMDAwMDAwMCwgMHg1MmUxYjUxZDAwMDAwMDAwLCAweDE1NzNmMWIyMDAwMDAwMDAsCisgICAgMHg0MzAyNThjNjAwMDAwMDAwLCAweDA0OTAxYzY5MDAwMDAwMDAsIDB4OGMyMGEwNDMwMDAwMDAwMCwKKyAgICAweGNiYjJlNGVjMDAwMDAwMDAsIDB4OWM0MWQ5MTYwMDAwMDAwMCwgMHhkYmQzOWRiOTAwMDAwMDAwLAorICAgIDB4NTM2MzIxOTMwMDAwMDAwMCwgMHgxNGYxNjUzYzAwMDAwMDAwLCAweGJjODMyYmJjMDAwMDAwMDAsCisgICAgMHhmYjExNmYxMzAwMDAwMDAwLCAweDczYTFkMzM5MDAwMDAwMDAsIDB4MzQzMzk3OTYwMDAwMDAwMCwKKyAgICAweDYzYzBhYTZjMDAwMDAwMDAsIDB4MjQ1MmVlYzMwMDAwMDAwMCwgMHhhY2UyNTJlOTAwMDAwMDAwLAorICAgIDB4ZWI3MDE2NDYwMDAwMDAwMCwgMHg3YTAzN2U2NTAwMDAwMDAwLCAweDNkOTEzYWNhMDAwMDAwMDAsCisgICAgMHhiNTIxODZlMDAwMDAwMDAwLCAweGYyYjNjMjRmMDAwMDAwMDAsIDB4YTU0MGZmYjUwMDAwMDAwMCwKKyAgICAweGUyZDJiYjFhMDAwMDAwMDAsIDB4NmE2MjA3MzAwMDAwMDAwMCwgMHgyZGYwNDM5ZjAwMDAwMDAwLAorICAgIDB4ODU4MjBkMWYwMDAwMDAwMCwgMHhjMjEwNDliMDAwMDAwMDAwLCAweDRhYTBmNTlhMDAwMDAwMDAsCisgICAgMHgwZDMyYjEzNTAwMDAwMDAwLCAweDVhYzE4Y2NmMDAwMDAwMDAsIDB4MWQ1M2M4NjAwMDAwMDAwMCwKKyAgICAweDk1ZTM3NDRhMDAwMDAwMDAsIDB4ZDI3MTMwZTUwMDAwMDAwMCwgMHg4NDAwOTk5MTAwMDAwMDAwLAorICAgIDB4YzM5MmRkM2UwMDAwMDAwMCwgMHg0YjIyNjExNDAwMDAwMDAwLCAweDBjYjAyNWJiMDAwMDAwMDAsCisgICAgMHg1YjQzMTg0MTAwMDAwMDAwLCAweDFjZDE1Y2VlMDAwMDAwMDAsIDB4OTQ2MWUwYzQwMDAwMDAwMCwKKyAgICAweGQzZjNhNDZiMDAwMDAwMDAsIDB4N2I4MWVhZWIwMDAwMDAwMCwgMHgzYzEzYWU0NDAwMDAwMDAwLAorICAgIDB4YjRhMzEyNmUwMDAwMDAwMCwgMHhmMzMxNTZjMTAwMDAwMDAwLCAweGE0YzI2YjNiMDAwMDAwMDAsCisgICAgMHhlMzUwMmY5NDAwMDAwMDAwLCAweDZiZTA5M2JlMDAwMDAwMDAsIDB4MmM3MmQ3MTEwMDAwMDAwMCwKKyAgICAweGM3MDJjMTU3MDAwMDAwMDAsIDB4ODA5MDg1ZjgwMDAwMDAwMCwgMHgwODIwMzlkMjAwMDAwMDAwLAorICAgIDB4NGZiMjdkN2QwMDAwMDAwMCwgMHgxODQxNDA4NzAwMDAwMDAwLCAweDVmZDMwNDI4MDAwMDAwMDAsCisgICAgMHhkNzYzYjgwMjAwMDAwMDAwLCAweDkwZjFmY2FkMDAwMDAwMDAsIDB4Mzg4M2IyMmQwMDAwMDAwMCwKKyAgICAweDdmMTFmNjgyMDAwMDAwMDAsIDB4ZjdhMTRhYTgwMDAwMDAwMCwgMHhiMDMzMGUwNzAwMDAwMDAwLAorICAgIDB4ZTdjMDMzZmQwMDAwMDAwMCwgMHhhMDUyNzc1MjAwMDAwMDAwLCAweDI4ZTJjYjc4MDAwMDAwMDAsCisgICAgMHg2ZjcwOGZkNzAwMDAwMDAwLCAweDM5MDEyNmEzMDAwMDAwMDAsIDB4N2U5MzYyMGMwMDAwMDAwMCwKKyAgICAweGY2MjNkZTI2MDAwMDAwMDAsIDB4YjFiMTlhODkwMDAwMDAwMCwgMHhlNjQyYTc3MzAwMDAwMDAwLAorICAgIDB4YTFkMGUzZGMwMDAwMDAwMCwgMHgyOTYwNWZmNjAwMDAwMDAwLCAweDZlZjIxYjU5MDAwMDAwMDAsCisgICAgMHhjNjgwNTVkOTAwMDAwMDAwLCAweDgxMTIxMTc2MDAwMDAwMDAsIDB4MDlhMmFkNWMwMDAwMDAwMCwKKyAgICAweDRlMzBlOWYzMDAwMDAwMDAsIDB4MTljM2Q0MDkwMDAwMDAwMCwgMHg1ZTUxOTBhNjAwMDAwMDAwLAorICAgIDB4ZDZlMTJjOGMwMDAwMDAwMCwgMHg5MTczNjgyMzAwMDAwMDAwLCAweGY0MDZmY2NhMDAwMDAwMDAsCisgICAgMHhiMzk0Yjg2NTAwMDAwMDAwLCAweDNiMjQwNDRmMDAwMDAwMDAsIDB4N2NiNjQwZTAwMDAwMDAwMCwKKyAgICAweDJiNDU3ZDFhMDAwMDAwMDAsIDB4NmNkNzM5YjUwMDAwMDAwMCwgMHhlNDY3ODU5ZjAwMDAwMDAwLAorICAgIDB4YTNmNWMxMzAwMDAwMDAwMCwgMHgwYjg3OGZiMDAwMDAwMDAwLCAweDRjMTVjYjFmMDAwMDAwMDAsCisgICAgMHhjNGE1NzczNTAwMDAwMDAwLCAweDgzMzczMzlhMDAwMDAwMDAsIDB4ZDRjNDBlNjAwMDAwMDAwMCwKKyAgICAweDkzNTY0YWNmMDAwMDAwMDAsIDB4MWJlNmY2ZTUwMDAwMDAwMCwgMHg1Yzc0YjI0YTAwMDAwMDAwLAorICAgIDB4MGEwNTFiM2UwMDAwMDAwMCwgMHg0ZDk3NWY5MTAwMDAwMDAwLCAweGM1MjdlM2JiMDAwMDAwMDAsCisgICAgMHg4MmI1YTcxNDAwMDAwMDAwLCAweGQ1NDY5YWVlMDAwMDAwMDAsIDB4OTJkNGRlNDEwMDAwMDAwMCwKKyAgICAweDFhNjQ2MjZiMDAwMDAwMDAsIDB4NWRmNjI2YzQwMDAwMDAwMCwgMHhmNTg0Njg0NDAwMDAwMDAwLAorICAgIDB4YjIxNjJjZWIwMDAwMDAwMCwgMHgzYWE2OTBjMTAwMDAwMDAwLCAweDdkMzRkNDZlMDAwMDAwMDAsCisgICAgMHgyYWM3ZTk5NDAwMDAwMDAwLCAweDZkNTVhZDNiMDAwMDAwMDAsIDB4ZTVlNTExMTEwMDAwMDAwMCwKKyAgICAweGEyNzc1NWJlMDAwMDAwMDAsIDB4NDkwNzQzZjgwMDAwMDAwMCwgMHgwZTk1MDc1NzAwMDAwMDAwLAorICAgIDB4ODYyNWJiN2QwMDAwMDAwMCwgMHhjMWI3ZmZkMjAwMDAwMDAwLCAweDk2NDRjMjI4MDAwMDAwMDAsCisgICAgMHhkMWQ2ODY4NzAwMDAwMDAwLCAweDU5NjYzYWFkMDAwMDAwMDAsIDB4MWVmNDdlMDIwMDAwMDAwMCwKKyAgICAweGI2ODYzMDgyMDAwMDAwMDAsIDB4ZjExNDc0MmQwMDAwMDAwMCwgMHg3OWE0YzgwNzAwMDAwMDAwLAorICAgIDB4M2UzNjhjYTgwMDAwMDAwMCwgMHg2OWM1YjE1MjAwMDAwMDAwLCAweDJlNTdmNWZkMDAwMDAwMDAsCisgICAgMHhhNmU3NDlkNzAwMDAwMDAwLCAweGUxNzUwZDc4MDAwMDAwMDAsIDB4YjcwNGE0MGMwMDAwMDAwMCwKKyAgICAweGYwOTZlMGEzMDAwMDAwMDAsIDB4NzgyNjVjODkwMDAwMDAwMCwgMHgzZmI0MTgyNjAwMDAwMDAwLAorICAgIDB4Njg0NzI1ZGMwMDAwMDAwMCwgMHgyZmQ1NjE3MzAwMDAwMDAwLCAweGE3NjVkZDU5MDAwMDAwMDAsCisgICAgMHhlMGY3OTlmNjAwMDAwMDAwLCAweDQ4ODVkNzc2MDAwMDAwMDAsIDB4MGYxNzkzZDkwMDAwMDAwMCwKKyAgICAweDg3YTcyZmYzMDAwMDAwMDAsIDB4YzAzNTZiNWMwMDAwMDAwMCwgMHg5N2M2NTZhNjAwMDAwMDAwLAorICAgIDB4ZDA1NDEyMDkwMDAwMDAwMCwgMHg1OGU0YWUyMzAwMDAwMDAwLCAweDFmNzZlYThjMDAwMDAwMDAsCisgICAgMHg4ZTA1ODJhZjAwMDAwMDAwLCAweGM5OTdjNjAwMDAwMDAwMDAsIDB4NDEyNzdhMmEwMDAwMDAwMCwKKyAgICAweDA2YjUzZTg1MDAwMDAwMDAsIDB4NTE0NjAzN2YwMDAwMDAwMCwgMHgxNmQ0NDdkMDAwMDAwMDAwLAorICAgIDB4OWU2NGZiZmEwMDAwMDAwMCwgMHhkOWY2YmY1NTAwMDAwMDAwLCAweDcxODRmMWQ1MDAwMDAwMDAsCisgICAgMHgzNjE2YjU3YTAwMDAwMDAwLCAweGJlYTYwOTUwMDAwMDAwMDAsIDB4ZjkzNDRkZmYwMDAwMDAwMCwKKyAgICAweGFlYzc3MDA1MDAwMDAwMDAsIDB4ZTk1NTM0YWEwMDAwMDAwMCwgMHg2MWU1ODg4MDAwMDAwMDAwLAorICAgIDB4MjY3N2NjMmYwMDAwMDAwMCwgMHg3MDA2NjU1YjAwMDAwMDAwLCAweDM3OTQyMWY0MDAwMDAwMDAsCisgICAgMHhiZjI0OWRkZTAwMDAwMDAwLCAweGY4YjZkOTcxMDAwMDAwMDAsIDB4YWY0NWU0OGIwMDAwMDAwMCwKKyAgICAweGU4ZDdhMDI0MDAwMDAwMDAsIDB4NjA2NzFjMGUwMDAwMDAwMCwgMHgyN2Y1NThhMTAwMDAwMDAwLAorICAgIDB4OGY4NzE2MjEwMDAwMDAwMCwgMHhjODE1NTI4ZTAwMDAwMDAwLCAweDQwYTVlZWE0MDAwMDAwMDAsCisgICAgMHgwNzM3YWEwYjAwMDAwMDAwLCAweDUwYzQ5N2YxMDAwMDAwMDAsIDB4MTc1NmQzNWUwMDAwMDAwMCwKKyAgICAweDlmZTY2Zjc0MDAwMDAwMDAsIDB4ZDg3NDJiZGIwMDAwMDAwMCwgMHgzMzA0M2Q5ZDAwMDAwMDAwLAorICAgIDB4NzQ5Njc5MzIwMDAwMDAwMCwgMHhmYzI2YzUxODAwMDAwMDAwLCAweGJiYjQ4MWI3MDAwMDAwMDAsCisgICAgMHhlYzQ3YmM0ZDAwMDAwMDAwLCAweGFiZDVmOGUyMDAwMDAwMDAsIDB4MjM2NTQ0YzgwMDAwMDAwMCwKKyAgICAweDY0ZjcwMDY3MDAwMDAwMDAsIDB4Y2M4NTRlZTcwMDAwMDAwMCwgMHg4YjE3MGE0ODAwMDAwMDAwLAorICAgIDB4MDNhN2I2NjIwMDAwMDAwMCwgMHg0NDM1ZjJjZDAwMDAwMDAwLCAweDEzYzZjZjM3MDAwMDAwMDAsCisgICAgMHg1NDU0OGI5ODAwMDAwMDAwLCAweGRjZTQzN2IyMDAwMDAwMDAsIDB4OWI3NjczMWQwMDAwMDAwMCwKKyAgICAweGNkMDdkYTY5MDAwMDAwMDAsIDB4OGE5NTllYzYwMDAwMDAwMCwgMHgwMjI1MjJlYzAwMDAwMDAwLAorICAgIDB4NDViNzY2NDMwMDAwMDAwMCwgMHgxMjQ0NWJiOTAwMDAwMDAwLCAweDU1ZDYxZjE2MDAwMDAwMDAsCisgICAgMHhkZDY2YTMzYzAwMDAwMDAwLCAweDlhZjRlNzkzMDAwMDAwMDAsIDB4MzI4NmE5MTMwMDAwMDAwMCwKKyAgICAweDc1MTRlZGJjMDAwMDAwMDAsIDB4ZmRhNDUxOTYwMDAwMDAwMCwgMHhiYTM2MTUzOTAwMDAwMDAwLAorICAgIDB4ZWRjNTI4YzMwMDAwMDAwMCwgMHhhYTU3NmM2YzAwMDAwMDAwLCAweDIyZTdkMDQ2MDAwMDAwMDAsCisgICAgMHg2NTc1OTRlOTAwMDAwMDAwfX07CisKKyNlbHNlIC8qIFcgPT0gNCAqLworCitsb2NhbCBjb25zdCB6X2NyY190IEZBUiBjcmNfYnJhaWRfdGFibGVbXVsyNTZdID0geworICAgezB4MDAwMDAwMDAsIDB4NjU2NzNiNDYsIDB4Y2FjZTc2OGMsIDB4YWZhOTRkY2EsIDB4NGVlZGViNTksCisgICAgMHgyYjhhZDAxZiwgMHg4NDIzOWRkNSwgMHhlMTQ0YTY5MywgMHg5ZGRiZDZiMiwgMHhmOGJjZWRmNCwKKyAgICAweDU3MTVhMDNlLCAweDMyNzI5Yjc4LCAweGQzMzYzZGViLCAweGI2NTEwNmFkLCAweDE5Zjg0YjY3LAorICAgIDB4N2M5ZjcwMjEsIDB4ZTBjNmFiMjUsIDB4ODVhMTkwNjMsIDB4MmEwOGRkYTksIDB4NGY2ZmU2ZWYsCisgICAgMHhhZTJiNDA3YywgMHhjYjRjN2IzYSwgMHg2NGU1MzZmMCwgMHgwMTgyMGRiNiwgMHg3ZDFkN2Q5NywKKyAgICAweDE4N2E0NmQxLCAweGI3ZDMwYjFiLCAweGQyYjQzMDVkLCAweDMzZjA5NmNlLCAweDU2OTdhZDg4LAorICAgIDB4ZjkzZWUwNDIsIDB4OWM1OWRiMDQsIDB4MWFmYzUwMGIsIDB4N2Y5YjZiNGQsIDB4ZDAzMjI2ODcsCisgICAgMHhiNTU1MWRjMSwgMHg1NDExYmI1MiwgMHgzMTc2ODAxNCwgMHg5ZWRmY2RkZSwgMHhmYmI4ZjY5OCwKKyAgICAweDg3Mjc4NmI5LCAweGUyNDBiZGZmLCAweDRkZTlmMDM1LCAweDI4OGVjYjczLCAweGM5Y2E2ZGUwLAorICAgIDB4YWNhZDU2YTYsIDB4MDMwNDFiNmMsIDB4NjY2MzIwMmEsIDB4ZmEzYWZiMmUsIDB4OWY1ZGMwNjgsCisgICAgMHgzMGY0OGRhMiwgMHg1NTkzYjZlNCwgMHhiNGQ3MTA3NywgMHhkMWIwMmIzMSwgMHg3ZTE5NjZmYiwKKyAgICAweDFiN2U1ZGJkLCAweDY3ZTEyZDljLCAweDAyODYxNmRhLCAweGFkMmY1YjEwLCAweGM4NDg2MDU2LAorICAgIDB4MjkwY2M2YzUsIDB4NGM2YmZkODMsIDB4ZTNjMmIwNDksIDB4ODZhNThiMGYsIDB4MzVmOGEwMTYsCisgICAgMHg1MDlmOWI1MCwgMHhmZjM2ZDY5YSwgMHg5YTUxZWRkYywgMHg3YjE1NGI0ZiwgMHgxZTcyNzAwOSwKKyAgICAweGIxZGIzZGMzLCAweGQ0YmMwNjg1LCAweGE4MjM3NmE0LCAweGNkNDQ0ZGUyLCAweDYyZWQwMDI4LAorICAgIDB4MDc4YTNiNmUsIDB4ZTZjZTlkZmQsIDB4ODNhOWE2YmIsIDB4MmMwMGViNzEsIDB4NDk2N2QwMzcsCisgICAgMHhkNTNlMGIzMywgMHhiMDU5MzA3NSwgMHgxZmYwN2RiZiwgMHg3YTk3NDZmOSwgMHg5YmQzZTA2YSwKKyAgICAweGZlYjRkYjJjLCAweDUxMWQ5NmU2LCAweDM0N2FhZGEwLCAweDQ4ZTVkZDgxLCAweDJkODJlNmM3LAorICAgIDB4ODIyYmFiMGQsIDB4ZTc0YzkwNGIsIDB4MDYwODM2ZDgsIDB4NjM2ZjBkOWUsIDB4Y2NjNjQwNTQsCisgICAgMHhhOWExN2IxMiwgMHgyZjA0ZjAxZCwgMHg0YTYzY2I1YiwgMHhlNWNhODY5MSwgMHg4MGFkYmRkNywKKyAgICAweDYxZTkxYjQ0LCAweDA0OGUyMDAyLCAweGFiMjc2ZGM4LCAweGNlNDA1NjhlLCAweGIyZGYyNmFmLAorICAgIDB4ZDdiODFkZTksIDB4NzgxMTUwMjMsIDB4MWQ3NjZiNjUsIDB4ZmMzMmNkZjYsIDB4OTk1NWY2YjAsCisgICAgMHgzNmZjYmI3YSwgMHg1MzliODAzYywgMHhjZmMyNWIzOCwgMHhhYWE1NjA3ZSwgMHgwNTBjMmRiNCwKKyAgICAweDYwNmIxNmYyLCAweDgxMmZiMDYxLCAweGU0NDg4YjI3LCAweDRiZTFjNmVkLCAweDJlODZmZGFiLAorICAgIDB4NTIxOThkOGEsIDB4Mzc3ZWI2Y2MsIDB4OThkN2ZiMDYsIDB4ZmRiMGMwNDAsIDB4MWNmNDY2ZDMsCisgICAgMHg3OTkzNWQ5NSwgMHhkNjNhMTA1ZiwgMHhiMzVkMmIxOSwgMHg2YmYxNDAyYywgMHgwZTk2N2I2YSwKKyAgICAweGExM2YzNmEwLCAweGM0NTgwZGU2LCAweDI1MWNhYjc1LCAweDQwN2I5MDMzLCAweGVmZDJkZGY5LAorICAgIDB4OGFiNWU2YmYsIDB4ZjYyYTk2OWUsIDB4OTM0ZGFkZDgsIDB4M2NlNGUwMTIsIDB4NTk4M2RiNTQsCisgICAgMHhiOGM3N2RjNywgMHhkZGEwNDY4MSwgMHg3MjA5MGI0YiwgMHgxNzZlMzAwZCwgMHg4YjM3ZWIwOSwKKyAgICAweGVlNTBkMDRmLCAweDQxZjk5ZDg1LCAweDI0OWVhNmMzLCAweGM1ZGEwMDUwLCAweGEwYmQzYjE2LAorICAgIDB4MGYxNDc2ZGMsIDB4NmE3MzRkOWEsIDB4MTZlYzNkYmIsIDB4NzM4YjA2ZmQsIDB4ZGMyMjRiMzcsCisgICAgMHhiOTQ1NzA3MSwgMHg1ODAxZDZlMiwgMHgzZDY2ZWRhNCwgMHg5MmNmYTA2ZSwgMHhmN2E4OWIyOCwKKyAgICAweDcxMGQxMDI3LCAweDE0NmEyYjYxLCAweGJiYzM2NmFiLCAweGRlYTQ1ZGVkLCAweDNmZTBmYjdlLAorICAgIDB4NWE4N2MwMzgsIDB4ZjUyZThkZjIsIDB4OTA0OWI2YjQsIDB4ZWNkNmM2OTUsIDB4ODliMWZkZDMsCisgICAgMHgyNjE4YjAxOSwgMHg0MzdmOGI1ZiwgMHhhMjNiMmRjYywgMHhjNzVjMTY4YSwgMHg2OGY1NWI0MCwKKyAgICAweDBkOTI2MDA2LCAweDkxY2JiYjAyLCAweGY0YWM4MDQ0LCAweDViMDVjZDhlLCAweDNlNjJmNmM4LAorICAgIDB4ZGYyNjUwNWIsIDB4YmE0MTZiMWQsIDB4MTVlODI2ZDcsIDB4NzA4ZjFkOTEsIDB4MGMxMDZkYjAsCisgICAgMHg2OTc3NTZmNiwgMHhjNmRlMWIzYywgMHhhM2I5MjA3YSwgMHg0MmZkODZlOSwgMHgyNzlhYmRhZiwKKyAgICAweDg4MzNmMDY1LCAweGVkNTRjYjIzLCAweDVlMDllMDNhLCAweDNiNmVkYjdjLCAweDk0Yzc5NmI2LAorICAgIDB4ZjFhMGFkZjAsIDB4MTBlNDBiNjMsIDB4NzU4MzMwMjUsIDB4ZGEyYTdkZWYsIDB4YmY0ZDQ2YTksCisgICAgMHhjM2QyMzY4OCwgMHhhNmI1MGRjZSwgMHgwOTFjNDAwNCwgMHg2YzdiN2I0MiwgMHg4ZDNmZGRkMSwKKyAgICAweGU4NThlNjk3LCAweDQ3ZjFhYjVkLCAweDIyOTY5MDFiLCAweGJlY2Y0YjFmLCAweGRiYTg3MDU5LAorICAgIDB4NzQwMTNkOTMsIDB4MTE2NjA2ZDUsIDB4ZjAyMmEwNDYsIDB4OTU0NTliMDAsIDB4M2FlY2Q2Y2EsCisgICAgMHg1ZjhiZWQ4YywgMHgyMzE0OWRhZCwgMHg0NjczYTZlYiwgMHhlOWRhZWIyMSwgMHg4Y2JkZDA2NywKKyAgICAweDZkZjk3NmY0LCAweDA4OWU0ZGIyLCAweGE3MzcwMDc4LCAweGMyNTAzYjNlLCAweDQ0ZjViMDMxLAorICAgIDB4MjE5MjhiNzcsIDB4OGUzYmM2YmQsIDB4ZWI1Y2ZkZmIsIDB4MGExODViNjgsIDB4NmY3ZjYwMmUsCisgICAgMHhjMGQ2MmRlNCwgMHhhNWIxMTZhMiwgMHhkOTJlNjY4MywgMHhiYzQ5NWRjNSwgMHgxM2UwMTAwZiwKKyAgICAweDc2ODcyYjQ5LCAweDk3YzM4ZGRhLCAweGYyYTRiNjljLCAweDVkMGRmYjU2LCAweDM4NmFjMDEwLAorICAgIDB4YTQzMzFiMTQsIDB4YzE1NDIwNTIsIDB4NmVmZDZkOTgsIDB4MGI5YTU2ZGUsIDB4ZWFkZWYwNGQsCisgICAgMHg4ZmI5Y2IwYiwgMHgyMDEwODZjMSwgMHg0NTc3YmQ4NywgMHgzOWU4Y2RhNiwgMHg1YzhmZjZlMCwKKyAgICAweGYzMjZiYjJhLCAweDk2NDE4MDZjLCAweDc3MDUyNmZmLCAweDEyNjIxZGI5LCAweGJkY2I1MDczLAorICAgIDB4ZDhhYzZiMzV9LAorICAgezB4MDAwMDAwMDAsIDB4ZDdlMjgwNTgsIDB4NzRiNDA2ZjEsIDB4YTM1Njg2YTksIDB4ZTk2ODBkZTIsCisgICAgMHgzZThhOGRiYSwgMHg5ZGRjMGIxMywgMHg0YTNlOGI0YiwgMHgwOWExMWQ4NSwgMHhkZTQzOWRkZCwKKyAgICAweDdkMTUxYjc0LCAweGFhZjc5YjJjLCAweGUwYzkxMDY3LCAweDM3MmI5MDNmLCAweDk0N2QxNjk2LAorICAgIDB4NDM5Zjk2Y2UsIDB4MTM0MjNiMGEsIDB4YzRhMGJiNTIsIDB4NjdmNjNkZmIsIDB4YjAxNGJkYTMsCisgICAgMHhmYTJhMzZlOCwgMHgyZGM4YjZiMCwgMHg4ZTllMzAxOSwgMHg1OTdjYjA0MSwgMHgxYWUzMjY4ZiwKKyAgICAweGNkMDFhNmQ3LCAweDZlNTcyMDdlLCAweGI5YjVhMDI2LCAweGYzOGIyYjZkLCAweDI0NjlhYjM1LAorICAgIDB4ODczZjJkOWMsIDB4NTBkZGFkYzQsIDB4MjY4NDc2MTQsIDB4ZjE2NmY2NGMsIDB4NTIzMDcwZTUsCisgICAgMHg4NWQyZjBiZCwgMHhjZmVjN2JmNiwgMHgxODBlZmJhZSwgMHhiYjU4N2QwNywgMHg2Y2JhZmQ1ZiwKKyAgICAweDJmMjU2YjkxLCAweGY4YzdlYmM5LCAweDViOTE2ZDYwLCAweDhjNzNlZDM4LCAweGM2NGQ2NjczLAorICAgIDB4MTFhZmU2MmIsIDB4YjJmOTYwODIsIDB4NjUxYmUwZGEsIDB4MzVjNjRkMWUsIDB4ZTIyNGNkNDYsCisgICAgMHg0MTcyNGJlZiwgMHg5NjkwY2JiNywgMHhkY2FlNDBmYywgMHgwYjRjYzBhNCwgMHhhODFhNDYwZCwKKyAgICAweDdmZjhjNjU1LCAweDNjNjc1MDliLCAweGViODVkMGMzLCAweDQ4ZDM1NjZhLCAweDlmMzFkNjMyLAorICAgIDB4ZDUwZjVkNzksIDB4MDJlZGRkMjEsIDB4YTFiYjViODgsIDB4NzY1OWRiZDAsIDB4NGQwOGVjMjgsCisgICAgMHg5YWVhNmM3MCwgMHgzOWJjZWFkOSwgMHhlZTVlNmE4MSwgMHhhNDYwZTFjYSwgMHg3MzgyNjE5MiwKKyAgICAweGQwZDRlNzNiLCAweDA3MzY2NzYzLCAweDQ0YTlmMWFkLCAweDkzNGI3MWY1LCAweDMwMWRmNzVjLAorICAgIDB4ZTdmZjc3MDQsIDB4YWRjMWZjNGYsIDB4N2EyMzdjMTcsIDB4ZDk3NWZhYmUsIDB4MGU5NzdhZTYsCisgICAgMHg1ZTRhZDcyMiwgMHg4OWE4NTc3YSwgMHgyYWZlZDFkMywgMHhmZDFjNTE4YiwgMHhiNzIyZGFjMCwKKyAgICAweDYwYzA1YTk4LCAweGMzOTZkYzMxLCAweDE0NzQ1YzY5LCAweDU3ZWJjYWE3LCAweDgwMDk0YWZmLAorICAgIDB4MjM1ZmNjNTYsIDB4ZjRiZDRjMGUsIDB4YmU4M2M3NDUsIDB4Njk2MTQ3MWQsIDB4Y2EzN2MxYjQsCisgICAgMHgxZGQ1NDFlYywgMHg2YjhjOWEzYywgMHhiYzZlMWE2NCwgMHgxZjM4OWNjZCwgMHhjOGRhMWM5NSwKKyAgICAweDgyZTQ5N2RlLCAweDU1MDYxNzg2LCAweGY2NTA5MTJmLCAweDIxYjIxMTc3LCAweDYyMmQ4N2I5LAorICAgIDB4YjVjZjA3ZTEsIDB4MTY5OTgxNDgsIDB4YzE3YjAxMTAsIDB4OGI0NThhNWIsIDB4NWNhNzBhMDMsCisgICAgMHhmZmYxOGNhYSwgMHgyODEzMGNmMiwgMHg3OGNlYTEzNiwgMHhhZjJjMjE2ZSwgMHgwYzdhYTdjNywKKyAgICAweGRiOTgyNzlmLCAweDkxYTZhY2Q0LCAweDQ2NDQyYzhjLCAweGU1MTJhYTI1LCAweDMyZjAyYTdkLAorICAgIDB4NzE2ZmJjYjMsIDB4YTY4ZDNjZWIsIDB4MDVkYmJhNDIsIDB4ZDIzOTNhMWEsIDB4OTgwN2IxNTEsCisgICAgMHg0ZmU1MzEwOSwgMHhlY2IzYjdhMCwgMHgzYjUxMzdmOCwgMHg5YTExZDg1MCwgMHg0ZGYzNTgwOCwKKyAgICAweGVlYTVkZWExLCAweDM5NDc1ZWY5LCAweDczNzlkNWIyLCAweGE0OWI1NWVhLCAweDA3Y2RkMzQzLAorICAgIDB4ZDAyZjUzMWIsIDB4OTNiMGM1ZDUsIDB4NDQ1MjQ1OGQsIDB4ZTcwNGMzMjQsIDB4MzBlNjQzN2MsCisgICAgMHg3YWQ4YzgzNywgMHhhZDNhNDg2ZiwgMHgwZTZjY2VjNiwgMHhkOThlNGU5ZSwgMHg4OTUzZTM1YSwKKyAgICAweDVlYjE2MzAyLCAweGZkZTdlNWFiLCAweDJhMDU2NWYzLCAweDYwM2JlZWI4LCAweGI3ZDk2ZWUwLAorICAgIDB4MTQ4ZmU4NDksIDB4YzM2ZDY4MTEsIDB4ODBmMmZlZGYsIDB4NTcxMDdlODcsIDB4ZjQ0NmY4MmUsCisgICAgMHgyM2E0Nzg3NiwgMHg2OTlhZjMzZCwgMHhiZTc4NzM2NSwgMHgxZDJlZjVjYywgMHhjYWNjNzU5NCwKKyAgICAweGJjOTVhZTQ0LCAweDZiNzcyZTFjLCAweGM4MjFhOGI1LCAweDFmYzMyOGVkLCAweDU1ZmRhM2E2LAorICAgIDB4ODIxZjIzZmUsIDB4MjE0OWE1NTcsIDB4ZjZhYjI1MGYsIDB4YjUzNGIzYzEsIDB4NjJkNjMzOTksCisgICAgMHhjMTgwYjUzMCwgMHgxNjYyMzU2OCwgMHg1YzVjYmUyMywgMHg4YmJlM2U3YiwgMHgyOGU4YjhkMiwKKyAgICAweGZmMGEzODhhLCAweGFmZDc5NTRlLCAweDc4MzUxNTE2LCAweGRiNjM5M2JmLCAweDBjODExM2U3LAorICAgIDB4NDZiZjk4YWMsIDB4OTE1ZDE4ZjQsIDB4MzIwYjllNWQsIDB4ZTVlOTFlMDUsIDB4YTY3Njg4Y2IsCisgICAgMHg3MTk0MDg5MywgMHhkMmMyOGUzYSwgMHgwNTIwMGU2MiwgMHg0ZjFlODUyOSwgMHg5OGZjMDU3MSwKKyAgICAweDNiYWE4M2Q4LCAweGVjNDgwMzgwLCAweGQ3MTkzNDc4LCAweDAwZmJiNDIwLCAweGEzYWQzMjg5LAorICAgIDB4NzQ0ZmIyZDEsIDB4M2U3MTM5OWEsIDB4ZTk5M2I5YzIsIDB4NGFjNTNmNmIsIDB4OWQyN2JmMzMsCisgICAgMHhkZWI4MjlmZCwgMHgwOTVhYTlhNSwgMHhhYTBjMmYwYywgMHg3ZGVlYWY1NCwgMHgzN2QwMjQxZiwKKyAgICAweGUwMzJhNDQ3LCAweDQzNjQyMmVlLCAweDk0ODZhMmI2LCAweGM0NWIwZjcyLCAweDEzYjk4ZjJhLAorICAgIDB4YjBlZjA5ODMsIDB4NjcwZDg5ZGIsIDB4MmQzMzAyOTAsIDB4ZmFkMTgyYzgsIDB4NTk4NzA0NjEsCisgICAgMHg4ZTY1ODQzOSwgMHhjZGZhMTJmNywgMHgxYTE4OTJhZiwgMHhiOTRlMTQwNiwgMHg2ZWFjOTQ1ZSwKKyAgICAweDI0OTIxZjE1LCAweGYzNzA5ZjRkLCAweDUwMjYxOWU0LCAweDg3YzQ5OWJjLCAweGYxOWQ0MjZjLAorICAgIDB4MjY3ZmMyMzQsIDB4ODUyOTQ0OWQsIDB4NTJjYmM0YzUsIDB4MThmNTRmOGUsIDB4Y2YxN2NmZDYsCisgICAgMHg2YzQxNDk3ZiwgMHhiYmEzYzkyNywgMHhmODNjNWZlOSwgMHgyZmRlZGZiMSwgMHg4Yzg4NTkxOCwKKyAgICAweDViNmFkOTQwLCAweDExNTQ1MjBiLCAweGM2YjZkMjUzLCAweDY1ZTA1NGZhLCAweGIyMDJkNGEyLAorICAgIDB4ZTJkZjc5NjYsIDB4MzUzZGY5M2UsIDB4OTY2YjdmOTcsIDB4NDE4OWZmY2YsIDB4MGJiNzc0ODQsCisgICAgMHhkYzU1ZjRkYywgMHg3ZjAzNzI3NSwgMHhhOGUxZjIyZCwgMHhlYjdlNjRlMywgMHgzYzljZTRiYiwKKyAgICAweDlmY2E2MjEyLCAweDQ4MjhlMjRhLCAweDAyMTY2OTAxLCAweGQ1ZjRlOTU5LCAweDc2YTI2ZmYwLAorICAgIDB4YTE0MGVmYTh9LAorICAgezB4MDAwMDAwMDAsIDB4ZWY1MmI2ZTEsIDB4MDVkNDZiODMsIDB4ZWE4NmRkNjIsIDB4MGJhOGQ3MDYsCisgICAgMHhlNGZhNjFlNywgMHgwZTdjYmM4NSwgMHhlMTJlMGE2NCwgMHgxNzUxYWUwYywgMHhmODAzMThlZCwKKyAgICAweDEyODVjNThmLCAweGZkZDc3MzZlLCAweDFjZjk3OTBhLCAweGYzYWJjZmViLCAweDE5MmQxMjg5LAorICAgIDB4ZjY3ZmE0NjgsIDB4MmVhMzVjMTgsIDB4YzFmMWVhZjksIDB4MmI3NzM3OWIsIDB4YzQyNTgxN2EsCisgICAgMHgyNTBiOGIxZSwgMHhjYTU5M2RmZiwgMHgyMGRmZTA5ZCwgMHhjZjhkNTY3YywgMHgzOWYyZjIxNCwKKyAgICAweGQ2YTA0NGY1LCAweDNjMjY5OTk3LCAweGQzNzQyZjc2LCAweDMyNWEyNTEyLCAweGRkMDg5M2YzLAorICAgIDB4Mzc4ZTRlOTEsIDB4ZDhkY2Y4NzAsIDB4NWQ0NmI4MzAsIDB4YjIxNDBlZDEsIDB4NTg5MmQzYjMsCisgICAgMHhiN2MwNjU1MiwgMHg1NmVlNmYzNiwgMHhiOWJjZDlkNywgMHg1MzNhMDRiNSwgMHhiYzY4YjI1NCwKKyAgICAweDRhMTcxNjNjLCAweGE1NDVhMGRkLCAweDRmYzM3ZGJmLCAweGEwOTFjYjVlLCAweDQxYmZjMTNhLAorICAgIDB4YWVlZDc3ZGIsIDB4NDQ2YmFhYjksIDB4YWIzOTFjNTgsIDB4NzNlNWU0MjgsIDB4OWNiNzUyYzksCisgICAgMHg3NjMxOGZhYiwgMHg5OTYzMzk0YSwgMHg3ODRkMzMyZSwgMHg5NzFmODVjZiwgMHg3ZDk5NThhZCwKKyAgICAweDkyY2JlZTRjLCAweDY0YjQ0YTI0LCAweDhiZTZmY2M1LCAweDYxNjAyMWE3LCAweDhlMzI5NzQ2LAorICAgIDB4NmYxYzlkMjIsIDB4ODA0ZTJiYzMsIDB4NmFjOGY2YTEsIDB4ODU5YTQwNDAsIDB4YmE4ZDcwNjAsCisgICAgMHg1NWRmYzY4MSwgMHhiZjU5MWJlMywgMHg1MDBiYWQwMiwgMHhiMTI1YTc2NiwgMHg1ZTc3MTE4NywKKyAgICAweGI0ZjFjY2U1LCAweDViYTM3YTA0LCAweGFkZGNkZTZjLCAweDQyOGU2ODhkLCAweGE4MDhiNWVmLAorICAgIDB4NDc1YTAzMGUsIDB4YTY3NDA5NmEsIDB4NDkyNmJmOGIsIDB4YTNhMDYyZTksIDB4NGNmMmQ0MDgsCisgICAgMHg5NDJlMmM3OCwgMHg3YjdjOWE5OSwgMHg5MWZhNDdmYiwgMHg3ZWE4ZjExYSwgMHg5Zjg2ZmI3ZSwKKyAgICAweDcwZDQ0ZDlmLCAweDlhNTI5MGZkLCAweDc1MDAyNjFjLCAweDgzN2Y4Mjc0LCAweDZjMmQzNDk1LAorICAgIDB4ODZhYmU5ZjcsIDB4NjlmOTVmMTYsIDB4ODhkNzU1NzIsIDB4Njc4NWUzOTMsIDB4OGQwMzNlZjEsCisgICAgMHg2MjUxODgxMCwgMHhlN2NiYzg1MCwgMHgwODk5N2ViMSwgMHhlMjFmYTNkMywgMHgwZDRkMTUzMiwKKyAgICAweGVjNjMxZjU2LCAweDAzMzFhOWI3LCAweGU5Yjc3NGQ1LCAweDA2ZTVjMjM0LCAweGYwOWE2NjVjLAorICAgIDB4MWZjOGQwYmQsIDB4ZjU0ZTBkZGYsIDB4MWExY2JiM2UsIDB4ZmIzMmIxNWEsIDB4MTQ2MDA3YmIsCisgICAgMHhmZWU2ZGFkOSwgMHgxMWI0NmMzOCwgMHhjOTY4OTQ0OCwgMHgyNjNhMjJhOSwgMHhjY2JjZmZjYiwKKyAgICAweDIzZWU0OTJhLCAweGMyYzA0MzRlLCAweDJkOTJmNWFmLCAweGM3MTQyOGNkLCAweDI4NDY5ZTJjLAorICAgIDB4ZGUzOTNhNDQsIDB4MzE2YjhjYTUsIDB4ZGJlZDUxYzcsIDB4MzRiZmU3MjYsIDB4ZDU5MWVkNDIsCisgICAgMHgzYWMzNWJhMywgMHhkMDQ1ODZjMSwgMHgzZjE3MzAyMCwgMHhhZTZiZTY4MSwgMHg0MTM5NTA2MCwKKyAgICAweGFiYmY4ZDAyLCAweDQ0ZWQzYmUzLCAweGE1YzMzMTg3LCAweDRhOTE4NzY2LCAweGEwMTc1YTA0LAorICAgIDB4NGY0NWVjZTUsIDB4YjkzYTQ4OGQsIDB4NTY2OGZlNmMsIDB4YmNlZTIzMGUsIDB4NTNiYzk1ZWYsCisgICAgMHhiMjkyOWY4YiwgMHg1ZGMwMjk2YSwgMHhiNzQ2ZjQwOCwgMHg1ODE0NDJlOSwgMHg4MGM4YmE5OSwKKyAgICAweDZmOWEwYzc4LCAweDg1MWNkMTFhLCAweDZhNGU2N2ZiLCAweDhiNjA2ZDlmLCAweDY0MzJkYjdlLAorICAgIDB4OGViNDA2MWMsIDB4NjFlNmIwZmQsIDB4OTc5OTE0OTUsIDB4NzhjYmEyNzQsIDB4OTI0ZDdmMTYsCisgICAgMHg3ZDFmYzlmNywgMHg5YzMxYzM5MywgMHg3MzYzNzU3MiwgMHg5OWU1YTgxMCwgMHg3NmI3MWVmMSwKKyAgICAweGYzMmQ1ZWIxLCAweDFjN2ZlODUwLCAweGY2ZjkzNTMyLCAweDE5YWI4M2QzLCAweGY4ODU4OWI3LAorICAgIDB4MTdkNzNmNTYsIDB4ZmQ1MWUyMzQsIDB4MTIwMzU0ZDUsIDB4ZTQ3Y2YwYmQsIDB4MGIyZTQ2NWMsCisgICAgMHhlMWE4OWIzZSwgMHgwZWZhMmRkZiwgMHhlZmQ0MjdiYiwgMHgwMDg2OTE1YSwgMHhlYTAwNGMzOCwKKyAgICAweDA1NTJmYWQ5LCAweGRkOGUwMmE5LCAweDMyZGNiNDQ4LCAweGQ4NWE2OTJhLCAweDM3MDhkZmNiLAorICAgIDB4ZDYyNmQ1YWYsIDB4Mzk3NDYzNGUsIDB4ZDNmMmJlMmMsIDB4M2NhMDA4Y2QsIDB4Y2FkZmFjYTUsCisgICAgMHgyNThkMWE0NCwgMHhjZjBiYzcyNiwgMHgyMDU5NzFjNywgMHhjMTc3N2JhMywgMHgyZTI1Y2Q0MiwKKyAgICAweGM0YTMxMDIwLCAweDJiZjFhNmMxLCAweDE0ZTY5NmUxLCAweGZiYjQyMDAwLCAweDExMzJmZDYyLAorICAgIDB4ZmU2MDRiODMsIDB4MWY0ZTQxZTcsIDB4ZjAxY2Y3MDYsIDB4MWE5YTJhNjQsIDB4ZjVjODljODUsCisgICAgMHgwM2I3MzhlZCwgMHhlY2U1OGUwYywgMHgwNjYzNTM2ZSwgMHhlOTMxZTU4ZiwgMHgwODFmZWZlYiwKKyAgICAweGU3NGQ1OTBhLCAweDBkY2I4NDY4LCAweGUyOTkzMjg5LCAweDNhNDVjYWY5LCAweGQ1MTc3YzE4LAorICAgIDB4M2Y5MWExN2EsIDB4ZDBjMzE3OWIsIDB4MzFlZDFkZmYsIDB4ZGViZmFiMWUsIDB4MzQzOTc2N2MsCisgICAgMHhkYjZiYzA5ZCwgMHgyZDE0NjRmNSwgMHhjMjQ2ZDIxNCwgMHgyOGMwMGY3NiwgMHhjNzkyYjk5NywKKyAgICAweDI2YmNiM2YzLCAweGM5ZWUwNTEyLCAweDIzNjhkODcwLCAweGNjM2E2ZTkxLCAweDQ5YTAyZWQxLAorICAgIDB4YTZmMjk4MzAsIDB4NGM3NDQ1NTIsIDB4YTMyNmYzYjMsIDB4NDIwOGY5ZDcsIDB4YWQ1YTRmMzYsCisgICAgMHg0N2RjOTI1NCwgMHhhODhlMjRiNSwgMHg1ZWYxODBkZCwgMHhiMWEzMzYzYywgMHg1YjI1ZWI1ZSwKKyAgICAweGI0Nzc1ZGJmLCAweDU1NTk1N2RiLCAweGJhMGJlMTNhLCAweDUwOGQzYzU4LCAweGJmZGY4YWI5LAorICAgIDB4NjcwMzcyYzksIDB4ODg1MWM0MjgsIDB4NjJkNzE5NGEsIDB4OGQ4NWFmYWIsIDB4NmNhYmE1Y2YsCisgICAgMHg4M2Y5MTMyZSwgMHg2OTdmY2U0YywgMHg4NjJkNzhhZCwgMHg3MDUyZGNjNSwgMHg5ZjAwNmEyNCwKKyAgICAweDc1ODZiNzQ2LCAweDlhZDQwMWE3LCAweDdiZmEwYmMzLCAweDk0YThiZDIyLCAweDdlMmU2MDQwLAorICAgIDB4OTE3Y2Q2YTF9LAorICAgezB4MDAwMDAwMDAsIDB4ODdhNmNiNDMsIDB4ZDQzYzkwYzcsIDB4NTM5YTViODQsIDB4NzMwODI3Y2YsCisgICAgMHhmNGFlZWM4YywgMHhhNzM0YjcwOCwgMHgyMDkyN2M0YiwgMHhlNjEwNGY5ZSwgMHg2MWI2ODRkZCwKKyAgICAweDMyMmNkZjU5LCAweGI1OGExNDFhLCAweDk1MTg2ODUxLCAweDEyYmVhMzEyLCAweDQxMjRmODk2LAorICAgIDB4YzY4MjMzZDUsIDB4MTc1MTk5N2QsIDB4OTBmNzUyM2UsIDB4YzM2ZDA5YmEsIDB4NDRjYmMyZjksCisgICAgMHg2NDU5YmViMiwgMHhlM2ZmNzVmMSwgMHhiMDY1MmU3NSwgMHgzN2MzZTUzNiwgMHhmMTQxZDZlMywKKyAgICAweDc2ZTcxZGEwLCAweDI1N2Q0NjI0LCAweGEyZGI4ZDY3LCAweDgyNDlmMTJjLCAweDA1ZWYzYTZmLAorICAgIDB4NTY3NTYxZWIsIDB4ZDFkM2FhYTgsIDB4MmVhMzMyZmEsIDB4YTkwNWY5YjksIDB4ZmE5ZmEyM2QsCisgICAgMHg3ZDM5Njk3ZSwgMHg1ZGFiMTUzNSwgMHhkYTBkZGU3NiwgMHg4OTk3ODVmMiwgMHgwZTMxNGViMSwKKyAgICAweGM4YjM3ZDY0LCAweDRmMTViNjI3LCAweDFjOGZlZGEzLCAweDliMjkyNmUwLCAweGJiYmI1YWFiLAorICAgIDB4M2MxZDkxZTgsIDB4NmY4N2NhNmMsIDB4ZTgyMTAxMmYsIDB4MzlmMmFiODcsIDB4YmU1NDYwYzQsCisgICAgMHhlZGNlM2I0MCwgMHg2YTY4ZjAwMywgMHg0YWZhOGM0OCwgMHhjZDVjNDcwYiwgMHg5ZWM2MWM4ZiwKKyAgICAweDE5NjBkN2NjLCAweGRmZTJlNDE5LCAweDU4NDQyZjVhLCAweDBiZGU3NGRlLCAweDhjNzhiZjlkLAorICAgIDB4YWNlYWMzZDYsIDB4MmI0YzA4OTUsIDB4NzhkNjUzMTEsIDB4ZmY3MDk4NTIsIDB4NWQ0NjY1ZjQsCisgICAgMHhkYWUwYWViNywgMHg4OTdhZjUzMywgMHgwZWRjM2U3MCwgMHgyZTRlNDIzYiwgMHhhOWU4ODk3OCwKKyAgICAweGZhNzJkMmZjLCAweDdkZDQxOWJmLCAweGJiNTYyYTZhLCAweDNjZjBlMTI5LCAweDZmNmFiYWFkLAorICAgIDB4ZThjYzcxZWUsIDB4Yzg1ZTBkYTUsIDB4NGZmOGM2ZTYsIDB4MWM2MjlkNjIsIDB4OWJjNDU2MjEsCisgICAgMHg0YTE3ZmM4OSwgMHhjZGIxMzdjYSwgMHg5ZTJiNmM0ZSwgMHgxOThkYTcwZCwgMHgzOTFmZGI0NiwKKyAgICAweGJlYjkxMDA1LCAweGVkMjM0YjgxLCAweDZhODU4MGMyLCAweGFjMDdiMzE3LCAweDJiYTE3ODU0LAorICAgIDB4NzgzYjIzZDAsIDB4ZmY5ZGU4OTMsIDB4ZGYwZjk0ZDgsIDB4NThhOTVmOWIsIDB4MGIzMzA0MWYsCisgICAgMHg4Yzk1Y2Y1YywgMHg3M2U1NTcwZSwgMHhmNDQzOWM0ZCwgMHhhN2Q5YzdjOSwgMHgyMDdmMGM4YSwKKyAgICAweDAwZWQ3MGMxLCAweDg3NGJiYjgyLCAweGQ0ZDFlMDA2LCAweDUzNzcyYjQ1LCAweDk1ZjUxODkwLAorICAgIDB4MTI1M2QzZDMsIDB4NDFjOTg4NTcsIDB4YzY2ZjQzMTQsIDB4ZTZmZDNmNWYsIDB4NjE1YmY0MWMsCisgICAgMHgzMmMxYWY5OCwgMHhiNTY3NjRkYiwgMHg2NGI0Y2U3MywgMHhlMzEyMDUzMCwgMHhiMDg4NWViNCwKKyAgICAweDM3MmU5NWY3LCAweDE3YmNlOWJjLCAweDkwMWEyMmZmLCAweGMzODA3OTdiLCAweDQ0MjZiMjM4LAorICAgIDB4ODJhNDgxZWQsIDB4MDUwMjRhYWUsIDB4NTY5ODExMmEsIDB4ZDEzZWRhNjksIDB4ZjFhY2E2MjIsCisgICAgMHg3NjBhNmQ2MSwgMHgyNTkwMzZlNSwgMHhhMjM2ZmRhNiwgMHhiYThjY2JlOCwgMHgzZDJhMDBhYiwKKyAgICAweDZlYjA1YjJmLCAweGU5MTY5MDZjLCAweGM5ODRlYzI3LCAweDRlMjIyNzY0LCAweDFkYjg3Y2UwLAorICAgIDB4OWExZWI3YTMsIDB4NWM5Yzg0NzYsIDB4ZGIzYTRmMzUsIDB4ODhhMDE0YjEsIDB4MGYwNmRmZjIsCisgICAgMHgyZjk0YTNiOSwgMHhhODMyNjhmYSwgMHhmYmE4MzM3ZSwgMHg3YzBlZjgzZCwgMHhhZGRkNTI5NSwKKyAgICAweDJhN2I5OWQ2LCAweDc5ZTFjMjUyLCAweGZlNDcwOTExLCAweGRlZDU3NTVhLCAweDU5NzNiZTE5LAorICAgIDB4MGFlOWU1OWQsIDB4OGQ0ZjJlZGUsIDB4NGJjZDFkMGIsIDB4Y2M2YmQ2NDgsIDB4OWZmMThkY2MsCisgICAgMHgxODU3NDY4ZiwgMHgzOGM1M2FjNCwgMHhiZjYzZjE4NywgMHhlY2Y5YWEwMywgMHg2YjVmNjE0MCwKKyAgICAweDk0MmZmOTEyLCAweDEzODkzMjUxLCAweDQwMTM2OWQ1LCAweGM3YjVhMjk2LCAweGU3MjdkZWRkLAorICAgIDB4NjA4MTE1OWUsIDB4MzMxYjRlMWEsIDB4YjRiZDg1NTksIDB4NzIzZmI2OGMsIDB4ZjU5OTdkY2YsCisgICAgMHhhNjAzMjY0YiwgMHgyMWE1ZWQwOCwgMHgwMTM3OTE0MywgMHg4NjkxNWEwMCwgMHhkNTBiMDE4NCwKKyAgICAweDUyYWRjYWM3LCAweDgzN2U2MDZmLCAweDA0ZDhhYjJjLCAweDU3NDJmMGE4LCAweGQwZTQzYmViLAorICAgIDB4ZjA3NjQ3YTAsIDB4NzdkMDhjZTMsIDB4MjQ0YWQ3NjcsIDB4YTNlYzFjMjQsIDB4NjU2ZTJmZjEsCisgICAgMHhlMmM4ZTRiMiwgMHhiMTUyYmYzNiwgMHgzNmY0NzQ3NSwgMHgxNjY2MDgzZSwgMHg5MWMwYzM3ZCwKKyAgICAweGMyNWE5OGY5LCAweDQ1ZmM1M2JhLCAweGU3Y2FhZTFjLCAweDYwNmM2NTVmLCAweDMzZjYzZWRiLAorICAgIDB4YjQ1MGY1OTgsIDB4OTRjMjg5ZDMsIDB4MTM2NDQyOTAsIDB4NDBmZTE5MTQsIDB4Yzc1OGQyNTcsCisgICAgMHgwMWRhZTE4MiwgMHg4NjdjMmFjMSwgMHhkNWU2NzE0NSwgMHg1MjQwYmEwNiwgMHg3MmQyYzY0ZCwKKyAgICAweGY1NzQwZDBlLCAweGE2ZWU1NjhhLCAweDIxNDg5ZGM5LCAweGYwOWIzNzYxLCAweDc3M2RmYzIyLAorICAgIDB4MjRhN2E3YTYsIDB4YTMwMTZjZTUsIDB4ODM5MzEwYWUsIDB4MDQzNWRiZWQsIDB4NTdhZjgwNjksCisgICAgMHhkMDA5NGIyYSwgMHgxNjhiNzhmZiwgMHg5MTJkYjNiYywgMHhjMmI3ZTgzOCwgMHg0NTExMjM3YiwKKyAgICAweDY1ODM1ZjMwLCAweGUyMjU5NDczLCAweGIxYmZjZmY3LCAweDM2MTkwNGI0LCAweGM5Njk5Y2U2LAorICAgIDB4NGVjZjU3YTUsIDB4MWQ1NTBjMjEsIDB4OWFmM2M3NjIsIDB4YmE2MWJiMjksIDB4M2RjNzcwNmEsCisgICAgMHg2ZTVkMmJlZSwgMHhlOWZiZTBhZCwgMHgyZjc5ZDM3OCwgMHhhOGRmMTgzYiwgMHhmYjQ1NDNiZiwKKyAgICAweDdjZTM4OGZjLCAweDVjNzFmNGI3LCAweGRiZDczZmY0LCAweDg4NGQ2NDcwLCAweDBmZWJhZjMzLAorICAgIDB4ZGUzODA1OWIsIDB4NTk5ZWNlZDgsIDB4MGEwNDk1NWMsIDB4OGRhMjVlMWYsIDB4YWQzMDIyNTQsCisgICAgMHgyYTk2ZTkxNywgMHg3OTBjYjI5MywgMHhmZWFhNzlkMCwgMHgzODI4NGEwNSwgMHhiZjhlODE0NiwKKyAgICAweGVjMTRkYWMyLCAweDZiYjIxMTgxLCAweDRiMjA2ZGNhLCAweGNjODZhNjg5LCAweDlmMWNmZDBkLAorICAgIDB4MThiYTM2NGV9fTsKKworbG9jYWwgY29uc3Qgel93b3JkX3QgRkFSIGNyY19icmFpZF9iaWdfdGFibGVbXVsyNTZdID0geworICAgezB4MDAwMDAwMDAsIDB4NDNjYmE2ODcsIDB4Yzc5MDNjZDQsIDB4ODQ1YjlhNTMsIDB4Y2YyNzA4NzMsCisgICAgMHg4Y2VjYWVmNCwgMHgwOGI3MzRhNywgMHg0YjdjOTIyMCwgMHg5ZTRmMTBlNiwgMHhkZDg0YjY2MSwKKyAgICAweDU5ZGYyYzMyLCAweDFhMTQ4YWI1LCAweDUxNjgxODk1LCAweDEyYTNiZTEyLCAweDk2ZjgyNDQxLAorICAgIDB4ZDUzMzgyYzYsIDB4N2Q5OTUxMTcsIDB4M2U1MmY3OTAsIDB4YmEwOTZkYzMsIDB4ZjljMmNiNDQsCisgICAgMHhiMmJlNTk2NCwgMHhmMTc1ZmZlMywgMHg3NTJlNjViMCwgMHgzNmU1YzMzNywgMHhlM2Q2NDFmMSwKKyAgICAweGEwMWRlNzc2LCAweDI0NDY3ZDI1LCAweDY3OGRkYmEyLCAweDJjZjE0OTgyLCAweDZmM2FlZjA1LAorICAgIDB4ZWI2MTc1NTYsIDB4YThhYWQzZDEsIDB4ZmEzMmEzMmUsIDB4YjlmOTA1YTksIDB4M2RhMjlmZmEsCisgICAgMHg3ZTY5Mzk3ZCwgMHgzNTE1YWI1ZCwgMHg3NmRlMGRkYSwgMHhmMjg1OTc4OSwgMHhiMTRlMzEwZSwKKyAgICAweDY0N2RiM2M4LCAweDI3YjYxNTRmLCAweGEzZWQ4ZjFjLCAweGUwMjYyOTliLCAweGFiNWFiYmJiLAorICAgIDB4ZTg5MTFkM2MsIDB4NmNjYTg3NmYsIDB4MmYwMTIxZTgsIDB4ODdhYmYyMzksIDB4YzQ2MDU0YmUsCisgICAgMHg0MDNiY2VlZCwgMHgwM2YwNjg2YSwgMHg0ODhjZmE0YSwgMHgwYjQ3NWNjZCwgMHg4ZjFjYzY5ZSwKKyAgICAweGNjZDc2MDE5LCAweDE5ZTRlMmRmLCAweDVhMmY0NDU4LCAweGRlNzRkZTBiLCAweDlkYmY3ODhjLAorICAgIDB4ZDZjM2VhYWMsIDB4OTUwODRjMmIsIDB4MTE1M2Q2NzgsIDB4NTI5ODcwZmYsIDB4ZjQ2NTQ2NWQsCisgICAgMHhiN2FlZTBkYSwgMHgzM2Y1N2E4OSwgMHg3MDNlZGMwZSwgMHgzYjQyNGUyZSwgMHg3ODg5ZThhOSwKKyAgICAweGZjZDI3MmZhLCAweGJmMTlkNDdkLCAweDZhMmE1NmJiLCAweDI5ZTFmMDNjLCAweGFkYmE2YTZmLAorICAgIDB4ZWU3MWNjZTgsIDB4YTUwZDVlYzgsIDB4ZTZjNmY4NGYsIDB4NjI5ZDYyMWMsIDB4MjE1NmM0OWIsCisgICAgMHg4OWZjMTc0YSwgMHhjYTM3YjFjZCwgMHg0ZTZjMmI5ZSwgMHgwZGE3OGQxOSwgMHg0NmRiMWYzOSwKKyAgICAweDA1MTBiOWJlLCAweDgxNGIyM2VkLCAweGMyODA4NTZhLCAweDE3YjMwN2FjLCAweDU0NzhhMTJiLAorICAgIDB4ZDAyMzNiNzgsIDB4OTNlODlkZmYsIDB4ZDg5NDBmZGYsIDB4OWI1ZmE5NTgsIDB4MWYwNDMzMGIsCisgICAgMHg1Y2NmOTU4YywgMHgwZTU3ZTU3MywgMHg0ZDljNDNmNCwgMHhjOWM3ZDlhNywgMHg4YTBjN2YyMCwKKyAgICAweGMxNzBlZDAwLCAweDgyYmI0Yjg3LCAweDA2ZTBkMWQ0LCAweDQ1MmI3NzUzLCAweDkwMThmNTk1LAorICAgIDB4ZDNkMzUzMTIsIDB4NTc4OGM5NDEsIDB4MTQ0MzZmYzYsIDB4NWYzZmZkZTYsIDB4MWNmNDViNjEsCisgICAgMHg5OGFmYzEzMiwgMHhkYjY0NjdiNSwgMHg3M2NlYjQ2NCwgMHgzMDA1MTJlMywgMHhiNDVlODhiMCwKKyAgICAweGY3OTUyZTM3LCAweGJjZTliYzE3LCAweGZmMjIxYTkwLCAweDdiNzk4MGMzLCAweDM4YjIyNjQ0LAorICAgIDB4ZWQ4MWE0ODIsIDB4YWU0YTAyMDUsIDB4MmExMTk4NTYsIDB4NjlkYTNlZDEsIDB4MjJhNmFjZjEsCisgICAgMHg2MTZkMGE3NiwgMHhlNTM2OTAyNSwgMHhhNmZkMzZhMiwgMHhlOGNiOGNiYSwgMHhhYjAwMmEzZCwKKyAgICAweDJmNWJiMDZlLCAweDZjOTAxNmU5LCAweDI3ZWM4NGM5LCAweDY0MjcyMjRlLCAweGUwN2NiODFkLAorICAgIDB4YTNiNzFlOWEsIDB4NzY4NDljNWMsIDB4MzU0ZjNhZGIsIDB4YjExNGEwODgsIDB4ZjJkZjA2MGYsCisgICAgMHhiOWEzOTQyZiwgMHhmYTY4MzJhOCwgMHg3ZTMzYThmYiwgMHgzZGY4MGU3YywgMHg5NTUyZGRhZCwKKyAgICAweGQ2OTk3YjJhLCAweDUyYzJlMTc5LCAweDExMDk0N2ZlLCAweDVhNzVkNWRlLCAweDE5YmU3MzU5LAorICAgIDB4OWRlNWU5MGEsIDB4ZGUyZTRmOGQsIDB4MGIxZGNkNGIsIDB4NDhkNjZiY2MsIDB4Y2M4ZGYxOWYsCisgICAgMHg4ZjQ2NTcxOCwgMHhjNDNhYzUzOCwgMHg4N2YxNjNiZiwgMHgwM2FhZjllYywgMHg0MDYxNWY2YiwKKyAgICAweDEyZjkyZjk0LCAweDUxMzI4OTEzLCAweGQ1NjkxMzQwLCAweDk2YTJiNWM3LCAweGRkZGUyN2U3LAorICAgIDB4OWUxNTgxNjAsIDB4MWE0ZTFiMzMsIDB4NTk4NWJkYjQsIDB4OGNiNjNmNzIsIDB4Y2Y3ZDk5ZjUsCisgICAgMHg0YjI2MDNhNiwgMHgwOGVkYTUyMSwgMHg0MzkxMzcwMSwgMHgwMDVhOTE4NiwgMHg4NDAxMGJkNSwKKyAgICAweGM3Y2FhZDUyLCAweDZmNjA3ZTgzLCAweDJjYWJkODA0LCAweGE4ZjA0MjU3LCAweGViM2JlNGQwLAorICAgIDB4YTA0Nzc2ZjAsIDB4ZTM4Y2QwNzcsIDB4NjdkNzRhMjQsIDB4MjQxY2VjYTMsIDB4ZjEyZjZlNjUsCisgICAgMHhiMmU0YzhlMiwgMHgzNmJmNTJiMSwgMHg3NTc0ZjQzNiwgMHgzZTA4NjYxNiwgMHg3ZGMzYzA5MSwKKyAgICAweGY5OTg1YWMyLCAweGJhNTNmYzQ1LCAweDFjYWVjYWU3LCAweDVmNjU2YzYwLCAweGRiM2VmNjMzLAorICAgIDB4OThmNTUwYjQsIDB4ZDM4OWMyOTQsIDB4OTA0MjY0MTMsIDB4MTQxOWZlNDAsIDB4NTdkMjU4YzcsCisgICAgMHg4MmUxZGEwMSwgMHhjMTJhN2M4NiwgMHg0NTcxZTZkNSwgMHgwNmJhNDA1MiwgMHg0ZGM2ZDI3MiwKKyAgICAweDBlMGQ3NGY1LCAweDhhNTZlZWE2LCAweGM5OWQ0ODIxLCAweDYxMzc5YmYwLCAweDIyZmMzZDc3LAorICAgIDB4YTZhN2E3MjQsIDB4ZTU2YzAxYTMsIDB4YWUxMDkzODMsIDB4ZWRkYjM1MDQsIDB4Njk4MGFmNTcsCisgICAgMHgyYTRiMDlkMCwgMHhmZjc4OGIxNiwgMHhiY2IzMmQ5MSwgMHgzOGU4YjdjMiwgMHg3YjIzMTE0NSwKKyAgICAweDMwNWY4MzY1LCAweDczOTQyNWUyLCAweGY3Y2ZiZmIxLCAweGI0MDQxOTM2LCAweGU2OWM2OWM5LAorICAgIDB4YTU1N2NmNGUsIDB4MjEwYzU1MWQsIDB4NjJjN2YzOWEsIDB4MjliYjYxYmEsIDB4NmE3MGM3M2QsCisgICAgMHhlZTJiNWQ2ZSwgMHhhZGUwZmJlOSwgMHg3OGQzNzkyZiwgMHgzYjE4ZGZhOCwgMHhiZjQzNDVmYiwKKyAgICAweGZjODhlMzdjLCAweGI3ZjQ3MTVjLCAweGY0M2ZkN2RiLCAweDcwNjQ0ZDg4LCAweDMzYWZlYjBmLAorICAgIDB4OWIwNTM4ZGUsIDB4ZDhjZTllNTksIDB4NWM5NTA0MGEsIDB4MWY1ZWEyOGQsIDB4NTQyMjMwYWQsCisgICAgMHgxN2U5OTYyYSwgMHg5M2IyMGM3OSwgMHhkMDc5YWFmZSwgMHgwNTRhMjgzOCwgMHg0NjgxOGViZiwKKyAgICAweGMyZGExNGVjLCAweDgxMTFiMjZiLCAweGNhNmQyMDRiLCAweDg5YTY4NmNjLCAweDBkZmQxYzlmLAorICAgIDB4NGUzNmJhMTh9LAorICAgezB4MDAwMDAwMDAsIDB4ZTFiNjUyZWYsIDB4ODM2YmQ0MDUsIDB4NjJkZDg2ZWEsIDB4MDZkN2E4MGIsCisgICAgMHhlNzYxZmFlNCwgMHg4NWJjN2MwZSwgMHg2NDBhMmVlMSwgMHgwY2FlNTExNywgMHhlZDE4MDNmOCwKKyAgICAweDhmYzU4NTEyLCAweDZlNzNkN2ZkLCAweDBhNzlmOTFjLCAweGViY2ZhYmYzLCAweDg5MTIyZDE5LAorICAgIDB4NjhhNDdmZjYsIDB4MTg1Y2EzMmUsIDB4ZjllYWYxYzEsIDB4OWIzNzc3MmIsIDB4N2E4MTI1YzQsCisgICAgMHgxZThiMGIyNSwgMHhmZjNkNTljYSwgMHg5ZGUwZGYyMCwgMHg3YzU2OGRjZiwgMHgxNGYyZjIzOSwKKyAgICAweGY1NDRhMGQ2LCAweDk3OTkyNjNjLCAweDc2MmY3NGQzLCAweDEyMjU1YTMyLCAweGYzOTMwOGRkLAorICAgIDB4OTE0ZThlMzcsIDB4NzBmOGRjZDgsIDB4MzBiODQ2NWQsIDB4ZDEwZTE0YjIsIDB4YjNkMzkyNTgsCisgICAgMHg1MjY1YzBiNywgMHgzNjZmZWU1NiwgMHhkN2Q5YmNiOSwgMHhiNTA0M2E1MywgMHg1NGIyNjhiYywKKyAgICAweDNjMTYxNzRhLCAweGRkYTA0NWE1LCAweGJmN2RjMzRmLCAweDVlY2I5MWEwLCAweDNhYzFiZjQxLAorICAgIDB4ZGI3N2VkYWUsIDB4YjlhYTZiNDQsIDB4NTgxYzM5YWIsIDB4MjhlNGU1NzMsIDB4Yzk1MmI3OWMsCisgICAgMHhhYjhmMzE3NiwgMHg0YTM5NjM5OSwgMHgyZTMzNGQ3OCwgMHhjZjg1MWY5NywgMHhhZDU4OTk3ZCwKKyAgICAweDRjZWVjYjkyLCAweDI0NGFiNDY0LCAweGM1ZmNlNjhiLCAweGE3MjE2MDYxLCAweDQ2OTczMjhlLAorICAgIDB4MjI5ZDFjNmYsIDB4YzMyYjRlODAsIDB4YTFmNmM4NmEsIDB4NDA0MDlhODUsIDB4NjA3MDhkYmEsCisgICAgMHg4MWM2ZGY1NSwgMHhlMzFiNTliZiwgMHgwMmFkMGI1MCwgMHg2NmE3MjViMSwgMHg4NzExNzc1ZSwKKyAgICAweGU1Y2NmMWI0LCAweDA0N2FhMzViLCAweDZjZGVkY2FkLCAweDhkNjg4ZTQyLCAweGVmYjUwOGE4LAorICAgIDB4MGUwMzVhNDcsIDB4NmEwOTc0YTYsIDB4OGJiZjI2NDksIDB4ZTk2MmEwYTMsIDB4MDhkNGYyNGMsCisgICAgMHg3ODJjMmU5NCwgMHg5OTlhN2M3YiwgMHhmYjQ3ZmE5MSwgMHgxYWYxYTg3ZSwgMHg3ZWZiODY5ZiwKKyAgICAweDlmNGRkNDcwLCAweGZkOTA1MjlhLCAweDFjMjYwMDc1LCAweDc0ODI3ZjgzLCAweDk1MzQyZDZjLAorICAgIDB4ZjdlOWFiODYsIDB4MTY1ZmY5NjksIDB4NzI1NWQ3ODgsIDB4OTNlMzg1NjcsIDB4ZjEzZTAzOGQsCisgICAgMHgxMDg4NTE2MiwgMHg1MGM4Y2JlNywgMHhiMTdlOTkwOCwgMHhkM2EzMWZlMiwgMHgzMjE1NGQwZCwKKyAgICAweDU2MWY2M2VjLCAweGI3YTkzMTAzLCAweGQ1NzRiN2U5LCAweDM0YzJlNTA2LCAweDVjNjY5YWYwLAorICAgIDB4YmRkMGM4MWYsIDB4ZGYwZDRlZjUsIDB4M2ViYjFjMWEsIDB4NWFiMTMyZmIsIDB4YmIwNzYwMTQsCisgICAgMHhkOWRhZTZmZSwgMHgzODZjYjQxMSwgMHg0ODk0NjhjOSwgMHhhOTIyM2EyNiwgMHhjYmZmYmNjYywKKyAgICAweDJhNDllZTIzLCAweDRlNDNjMGMyLCAweGFmZjU5MjJkLCAweGNkMjgxNGM3LCAweDJjOWU0NjI4LAorICAgIDB4NDQzYTM5ZGUsIDB4YTU4YzZiMzEsIDB4Yzc1MWVkZGIsIDB4MjZlN2JmMzQsIDB4NDJlZDkxZDUsCisgICAgMHhhMzViYzMzYSwgMHhjMTg2NDVkMCwgMHgyMDMwMTczZiwgMHg4MWU2NmJhZSwgMHg2MDUwMzk0MSwKKyAgICAweDAyOGRiZmFiLCAweGUzM2JlZDQ0LCAweDg3MzFjM2E1LCAweDY2ODc5MTRhLCAweDA0NWExN2EwLAorICAgIDB4ZTVlYzQ1NGYsIDB4OGQ0ODNhYjksIDB4NmNmZTY4NTYsIDB4MGUyM2VlYmMsIDB4ZWY5NWJjNTMsCisgICAgMHg4YjlmOTJiMiwgMHg2YTI5YzA1ZCwgMHgwOGY0NDZiNywgMHhlOTQyMTQ1OCwgMHg5OWJhYzg4MCwKKyAgICAweDc4MGM5YTZmLCAweDFhZDExYzg1LCAweGZiNjc0ZTZhLCAweDlmNmQ2MDhiLCAweDdlZGIzMjY0LAorICAgIDB4MWMwNmI0OGUsIDB4ZmRiMGU2NjEsIDB4OTUxNDk5OTcsIDB4NzRhMmNiNzgsIDB4MTY3ZjRkOTIsCisgICAgMHhmN2M5MWY3ZCwgMHg5M2MzMzE5YywgMHg3Mjc1NjM3MywgMHgxMGE4ZTU5OSwgMHhmMTFlYjc3NiwKKyAgICAweGIxNWUyZGYzLCAweDUwZTg3ZjFjLCAweDMyMzVmOWY2LCAweGQzODNhYjE5LCAweGI3ODk4NWY4LAorICAgIDB4NTYzZmQ3MTcsIDB4MzRlMjUxZmQsIDB4ZDU1NDAzMTIsIDB4YmRmMDdjZTQsIDB4NWM0NjJlMGIsCisgICAgMHgzZTliYThlMSwgMHhkZjJkZmEwZSwgMHhiYjI3ZDRlZiwgMHg1YTkxODYwMCwgMHgzODRjMDBlYSwKKyAgICAweGQ5ZmE1MjA1LCAweGE5MDI4ZWRkLCAweDQ4YjRkYzMyLCAweDJhNjk1YWQ4LCAweGNiZGYwODM3LAorICAgIDB4YWZkNTI2ZDYsIDB4NGU2Mzc0MzksIDB4MmNiZWYyZDMsIDB4Y2QwOGEwM2MsIDB4YTVhY2RmY2EsCisgICAgMHg0NDFhOGQyNSwgMHgyNmM3MGJjZiwgMHhjNzcxNTkyMCwgMHhhMzdiNzdjMSwgMHg0MmNkMjUyZSwKKyAgICAweDIwMTBhM2M0LCAweGMxYTZmMTJiLCAweGUxOTZlNjE0LCAweDAwMjBiNGZiLCAweDYyZmQzMjExLAorICAgIDB4ODM0YjYwZmUsIDB4ZTc0MTRlMWYsIDB4MDZmNzFjZjAsIDB4NjQyYTlhMWEsIDB4ODU5Y2M4ZjUsCisgICAgMHhlZDM4YjcwMywgMHgwYzhlZTVlYywgMHg2ZTUzNjMwNiwgMHg4ZmU1MzFlOSwgMHhlYmVmMWYwOCwKKyAgICAweDBhNTk0ZGU3LCAweDY4ODRjYjBkLCAweDg5MzI5OWUyLCAweGY5Y2E0NTNhLCAweDE4N2MxN2Q1LAorICAgIDB4N2FhMTkxM2YsIDB4OWIxN2MzZDAsIDB4ZmYxZGVkMzEsIDB4MWVhYmJmZGUsIDB4N2M3NjM5MzQsCisgICAgMHg5ZGMwNmJkYiwgMHhmNTY0MTQyZCwgMHgxNGQyNDZjMiwgMHg3NjBmYzAyOCwgMHg5N2I5OTJjNywKKyAgICAweGYzYjNiYzI2LCAweDEyMDVlZWM5LCAweDcwZDg2ODIzLCAweDkxNmUzYWNjLCAweGQxMmVhMDQ5LAorICAgIDB4MzA5OGYyYTYsIDB4NTI0NTc0NGMsIDB4YjNmMzI2YTMsIDB4ZDdmOTA4NDIsIDB4MzY0ZjVhYWQsCisgICAgMHg1NDkyZGM0NywgMHhiNTI0OGVhOCwgMHhkZDgwZjE1ZSwgMHgzYzM2YTNiMSwgMHg1ZWViMjU1YiwKKyAgICAweGJmNWQ3N2I0LCAweGRiNTc1OTU1LCAweDNhZTEwYmJhLCAweDU4M2M4ZDUwLCAweGI5OGFkZmJmLAorICAgIDB4Yzk3MjAzNjcsIDB4MjhjNDUxODgsIDB4NGExOWQ3NjIsIDB4YWJhZjg1OGQsIDB4Y2ZhNWFiNmMsCisgICAgMHgyZTEzZjk4MywgMHg0Y2NlN2Y2OSwgMHhhZDc4MmQ4NiwgMHhjNWRjNTI3MCwgMHgyNDZhMDA5ZiwKKyAgICAweDQ2Yjc4Njc1LCAweGE3MDFkNDlhLCAweGMzMGJmYTdiLCAweDIyYmRhODk0LCAweDQwNjAyZTdlLAorICAgIDB4YTFkNjdjOTF9LAorICAgezB4MDAwMDAwMDAsIDB4NTg4MGUyZDcsIDB4ZjEwNmI0NzQsIDB4YTk4NjU2YTMsIDB4ZTIwZDY4ZTksCisgICAgMHhiYThkOGEzZSwgMHgxMzBiZGM5ZCwgMHg0YjhiM2U0YSwgMHg4NTFkYTEwOSwgMHhkZDlkNDNkZSwKKyAgICAweDc0MWIxNTdkLCAweDJjOWJmN2FhLCAweDY3MTBjOWUwLCAweDNmOTAyYjM3LCAweDk2MTY3ZDk0LAorICAgIDB4Y2U5NjlmNDMsIDB4MGEzYjQyMTMsIDB4NTJiYmEwYzQsIDB4ZmIzZGY2NjcsIDB4YTNiZDE0YjAsCisgICAgMHhlODM2MmFmYSwgMHhiMGI2YzgyZCwgMHgxOTMwOWU4ZSwgMHg0MWIwN2M1OSwgMHg4ZjI2ZTMxYSwKKyAgICAweGQ3YTYwMWNkLCAweDdlMjA1NzZlLCAweDI2YTBiNWI5LCAweDZkMmI4YmYzLCAweDM1YWI2OTI0LAorICAgIDB4OWMyZDNmODcsIDB4YzRhZGRkNTAsIDB4MTQ3Njg0MjYsIDB4NGNmNjY2ZjEsIDB4ZTU3MDMwNTIsCisgICAgMHhiZGYwZDI4NSwgMHhmNjdiZWNjZiwgMHhhZWZiMGUxOCwgMHgwNzdkNThiYiwgMHg1ZmZkYmE2YywKKyAgICAweDkxNmIyNTJmLCAweGM5ZWJjN2Y4LCAweDYwNmQ5MTViLCAweDM4ZWQ3MzhjLCAweDczNjY0ZGM2LAorICAgIDB4MmJlNmFmMTEsIDB4ODI2MGY5YjIsIDB4ZGFlMDFiNjUsIDB4MWU0ZGM2MzUsIDB4NDZjZDI0ZTIsCisgICAgMHhlZjRiNzI0MSwgMHhiN2NiOTA5NiwgMHhmYzQwYWVkYywgMHhhNGMwNGMwYiwgMHgwZDQ2MWFhOCwKKyAgICAweDU1YzZmODdmLCAweDliNTA2NzNjLCAweGMzZDA4NWViLCAweDZhNTZkMzQ4LCAweDMyZDYzMTlmLAorICAgIDB4Nzk1ZDBmZDUsIDB4MjFkZGVkMDIsIDB4ODg1YmJiYTEsIDB4ZDBkYjU5NzYsIDB4MjhlYzA4NGQsCisgICAgMHg3MDZjZWE5YSwgMHhkOWVhYmMzOSwgMHg4MTZhNWVlZSwgMHhjYWUxNjBhNCwgMHg5MjYxODI3MywKKyAgICAweDNiZTdkNGQwLCAweDYzNjczNjA3LCAweGFkZjFhOTQ0LCAweGY1NzE0YjkzLCAweDVjZjcxZDMwLAorICAgIDB4MDQ3N2ZmZTcsIDB4NGZmY2MxYWQsIDB4MTc3YzIzN2EsIDB4YmVmYTc1ZDksIDB4ZTY3YTk3MGUsCisgICAgMHgyMmQ3NGE1ZSwgMHg3YTU3YTg4OSwgMHhkM2QxZmUyYSwgMHg4YjUxMWNmZCwgMHhjMGRhMjJiNywKKyAgICAweDk4NWFjMDYwLCAweDMxZGM5NmMzLCAweDY5NWM3NDE0LCAweGE3Y2FlYjU3LCAweGZmNGEwOTgwLAorICAgIDB4NTZjYzVmMjMsIDB4MGU0Y2JkZjQsIDB4NDVjNzgzYmUsIDB4MWQ0NzYxNjksIDB4YjRjMTM3Y2EsCisgICAgMHhlYzQxZDUxZCwgMHgzYzlhOGM2YiwgMHg2NDFhNmViYywgMHhjZDljMzgxZiwgMHg5NTFjZGFjOCwKKyAgICAweGRlOTdlNDgyLCAweDg2MTcwNjU1LCAweDJmOTE1MGY2LCAweDc3MTFiMjIxLCAweGI5ODcyZDYyLAorICAgIDB4ZTEwN2NmYjUsIDB4NDg4MTk5MTYsIDB4MTAwMTdiYzEsIDB4NWI4YTQ1OGIsIDB4MDMwYWE3NWMsCisgICAgMHhhYThjZjFmZiwgMHhmMjBjMTMyOCwgMHgzNmExY2U3OCwgMHg2ZTIxMmNhZiwgMHhjN2E3N2EwYywKKyAgICAweDlmMjc5OGRiLCAweGQ0YWNhNjkxLCAweDhjMmM0NDQ2LCAweDI1YWExMmU1LCAweDdkMmFmMDMyLAorICAgIDB4YjNiYzZmNzEsIDB4ZWIzYzhkYTYsIDB4NDJiYWRiMDUsIDB4MWEzYTM5ZDIsIDB4NTFiMTA3OTgsCisgICAgMHgwOTMxZTU0ZiwgMHhhMGI3YjNlYywgMHhmODM3NTEzYiwgMHg1MGQ4MTE5YSwgMHgwODU4ZjM0ZCwKKyAgICAweGExZGVhNWVlLCAweGY5NWU0NzM5LCAweGIyZDU3OTczLCAweGVhNTU5YmE0LCAweDQzZDNjZDA3LAorICAgIDB4MWI1MzJmZDAsIDB4ZDVjNWIwOTMsIDB4OGQ0NTUyNDQsIDB4MjRjMzA0ZTcsIDB4N2M0M2U2MzAsCisgICAgMHgzN2M4ZDg3YSwgMHg2ZjQ4M2FhZCwgMHhjNmNlNmMwZSwgMHg5ZTRlOGVkOSwgMHg1YWUzNTM4OSwKKyAgICAweDAyNjNiMTVlLCAweGFiZTVlN2ZkLCAweGYzNjUwNTJhLCAweGI4ZWUzYjYwLCAweGUwNmVkOWI3LAorICAgIDB4NDllODhmMTQsIDB4MTE2ODZkYzMsIDB4ZGZmZWYyODAsIDB4ODc3ZTEwNTcsIDB4MmVmODQ2ZjQsCisgICAgMHg3Njc4YTQyMywgMHgzZGYzOWE2OSwgMHg2NTczNzhiZSwgMHhjY2Y1MmUxZCwgMHg5NDc1Y2NjYSwKKyAgICAweDQ0YWU5NWJjLCAweDFjMmU3NzZiLCAweGI1YTgyMWM4LCAweGVkMjhjMzFmLCAweGE2YTNmZDU1LAorICAgIDB4ZmUyMzFmODIsIDB4NTdhNTQ5MjEsIDB4MGYyNWFiZjYsIDB4YzFiMzM0YjUsIDB4OTkzM2Q2NjIsCisgICAgMHgzMGI1ODBjMSwgMHg2ODM1NjIxNiwgMHgyM2JlNWM1YywgMHg3YjNlYmU4YiwgMHhkMmI4ZTgyOCwKKyAgICAweDhhMzgwYWZmLCAweDRlOTVkN2FmLCAweDE2MTUzNTc4LCAweGJmOTM2M2RiLCAweGU3MTM4MTBjLAorICAgIDB4YWM5OGJmNDYsIDB4ZjQxODVkOTEsIDB4NWQ5ZTBiMzIsIDB4MDUxZWU5ZTUsIDB4Y2I4ODc2YTYsCisgICAgMHg5MzA4OTQ3MSwgMHgzYThlYzJkMiwgMHg2MjBlMjAwNSwgMHgyOTg1MWU0ZiwgMHg3MTA1ZmM5OCwKKyAgICAweGQ4ODNhYTNiLCAweDgwMDM0OGVjLCAweDc4MzQxOWQ3LCAweDIwYjRmYjAwLCAweDg5MzJhZGEzLAorICAgIDB4ZDFiMjRmNzQsIDB4OWEzOTcxM2UsIDB4YzJiOTkzZTksIDB4NmIzZmM1NGEsIDB4MzNiZjI3OWQsCisgICAgMHhmZDI5YjhkZSwgMHhhNWE5NWEwOSwgMHgwYzJmMGNhYSwgMHg1NGFmZWU3ZCwgMHgxZjI0ZDAzNywKKyAgICAweDQ3YTQzMmUwLCAweGVlMjI2NDQzLCAweGI2YTI4Njk0LCAweDcyMGY1YmM0LCAweDJhOGZiOTEzLAorICAgIDB4ODMwOWVmYjAsIDB4ZGI4OTBkNjcsIDB4OTAwMjMzMmQsIDB4Yzg4MmQxZmEsIDB4NjEwNDg3NTksCisgICAgMHgzOTg0NjU4ZSwgMHhmNzEyZmFjZCwgMHhhZjkyMTgxYSwgMHgwNjE0NGViOSwgMHg1ZTk0YWM2ZSwKKyAgICAweDE1MWY5MjI0LCAweDRkOWY3MGYzLCAweGU0MTkyNjUwLCAweGJjOTljNDg3LCAweDZjNDI5ZGYxLAorICAgIDB4MzRjMjdmMjYsIDB4OWQ0NDI5ODUsIDB4YzVjNGNiNTIsIDB4OGU0ZmY1MTgsIDB4ZDZjZjE3Y2YsCisgICAgMHg3ZjQ5NDE2YywgMHgyN2M5YTNiYiwgMHhlOTVmM2NmOCwgMHhiMWRmZGUyZiwgMHgxODU5ODg4YywKKyAgICAweDQwZDk2YTViLCAweDBiNTI1NDExLCAweDUzZDJiNmM2LCAweGZhNTRlMDY1LCAweGEyZDQwMmIyLAorICAgIDB4NjY3OWRmZTIsIDB4M2VmOTNkMzUsIDB4OTc3ZjZiOTYsIDB4Y2ZmZjg5NDEsIDB4ODQ3NGI3MGIsCisgICAgMHhkY2Y0NTVkYywgMHg3NTcyMDM3ZiwgMHgyZGYyZTFhOCwgMHhlMzY0N2VlYiwgMHhiYmU0OWMzYywKKyAgICAweDEyNjJjYTlmLCAweDRhZTIyODQ4LCAweDAxNjkxNjAyLCAweDU5ZTlmNGQ1LCAweGYwNmZhMjc2LAorICAgIDB4YThlZjQwYTF9LAorICAgezB4MDAwMDAwMDAsIDB4NDYzYjY3NjUsIDB4OGM3NmNlY2EsIDB4Y2E0ZGE5YWYsIDB4NTllYmVkNGUsCisgICAgMHgxZmQwOGEyYiwgMHhkNTlkMjM4NCwgMHg5M2E2NDRlMSwgMHhiMmQ2ZGI5ZCwgMHhmNGVkYmNmOCwKKyAgICAweDNlYTAxNTU3LCAweDc4OWI3MjMyLCAweGViM2QzNmQzLCAweGFkMDY1MWI2LCAweDY3NGJmODE5LAorICAgIDB4MjE3MDlmN2MsIDB4MjVhYmM2ZTAsIDB4NjM5MGExODUsIDB4YTlkZDA4MmEsIDB4ZWZlNjZmNGYsCisgICAgMHg3YzQwMmJhZSwgMHgzYTdiNGNjYiwgMHhmMDM2ZTU2NCwgMHhiNjBkODIwMSwgMHg5NzdkMWQ3ZCwKKyAgICAweGQxNDY3YTE4LCAweDFiMGJkM2I3LCAweDVkMzBiNGQyLCAweGNlOTZmMDMzLCAweDg4YWQ5NzU2LAorICAgIDB4NDJlMDNlZjksIDB4MDRkYjU5OWMsIDB4MGI1MGZjMWEsIDB4NGQ2YjliN2YsIDB4ODcyNjMyZDAsCisgICAgMHhjMTFkNTViNSwgMHg1MmJiMTE1NCwgMHgxNDgwNzYzMSwgMHhkZWNkZGY5ZSwgMHg5OGY2YjhmYiwKKyAgICAweGI5ODYyNzg3LCAweGZmYmQ0MGUyLCAweDM1ZjBlOTRkLCAweDczY2I4ZTI4LCAweGUwNmRjYWM5LAorICAgIDB4YTY1NmFkYWMsIDB4NmMxYjA0MDMsIDB4MmEyMDYzNjYsIDB4MmVmYjNhZmEsIDB4NjhjMDVkOWYsCisgICAgMHhhMjhkZjQzMCwgMHhlNGI2OTM1NSwgMHg3NzEwZDdiNCwgMHgzMTJiYjBkMSwgMHhmYjY2MTk3ZSwKKyAgICAweGJkNWQ3ZTFiLCAweDljMmRlMTY3LCAweGRhMTY4NjAyLCAweDEwNWIyZmFkLCAweDU2NjA0OGM4LAorICAgIDB4YzVjNjBjMjksIDB4ODNmZDZiNGMsIDB4NDliMGMyZTMsIDB4MGY4YmE1ODYsIDB4MTZhMGY4MzUsCisgICAgMHg1MDliOWY1MCwgMHg5YWQ2MzZmZiwgMHhkY2VkNTE5YSwgMHg0ZjRiMTU3YiwgMHgwOTcwNzIxZSwKKyAgICAweGMzM2RkYmIxLCAweDg1MDZiY2Q0LCAweGE0NzYyM2E4LCAweGUyNGQ0NGNkLCAweDI4MDBlZDYyLAorICAgIDB4NmUzYjhhMDcsIDB4ZmQ5ZGNlZTYsIDB4YmJhNmE5ODMsIDB4NzFlYjAwMmMsIDB4MzdkMDY3NDksCisgICAgMHgzMzBiM2VkNSwgMHg3NTMwNTliMCwgMHhiZjdkZjAxZiwgMHhmOTQ2OTc3YSwgMHg2YWUwZDM5YiwKKyAgICAweDJjZGJiNGZlLCAweGU2OTYxZDUxLCAweGEwYWQ3YTM0LCAweDgxZGRlNTQ4LCAweGM3ZTY4MjJkLAorICAgIDB4MGRhYjJiODIsIDB4NGI5MDRjZTcsIDB4ZDgzNjA4MDYsIDB4OWUwZDZmNjMsIDB4NTQ0MGM2Y2MsCisgICAgMHgxMjdiYTFhOSwgMHgxZGYwMDQyZiwgMHg1YmNiNjM0YSwgMHg5MTg2Y2FlNSwgMHhkN2JkYWQ4MCwKKyAgICAweDQ0MWJlOTYxLCAweDAyMjA4ZTA0LCAweGM4NmQyN2FiLCAweDhlNTY0MGNlLCAweGFmMjZkZmIyLAorICAgIDB4ZTkxZGI4ZDcsIDB4MjM1MDExNzgsIDB4NjU2Yjc2MWQsIDB4ZjZjZDMyZmMsIDB4YjBmNjU1OTksCisgICAgMHg3YWJiZmMzNiwgMHgzYzgwOWI1MywgMHgzODViYzJjZiwgMHg3ZTYwYTVhYSwgMHhiNDJkMGMwNSwKKyAgICAweGYyMTY2YjYwLCAweDYxYjAyZjgxLCAweDI3OGI0OGU0LCAweGVkYzZlMTRiLCAweGFiZmQ4NjJlLAorICAgIDB4OGE4ZDE5NTIsIDB4Y2NiNjdlMzcsIDB4MDZmYmQ3OTgsIDB4NDBjMGIwZmQsIDB4ZDM2NmY0MWMsCisgICAgMHg5NTVkOTM3OSwgMHg1ZjEwM2FkNiwgMHgxOTJiNWRiMywgMHgyYzQwZjE2YiwgMHg2YTdiOTYwZSwKKyAgICAweGEwMzYzZmExLCAweGU2MGQ1OGM0LCAweDc1YWIxYzI1LCAweDMzOTA3YjQwLCAweGY5ZGRkMmVmLAorICAgIDB4YmZlNmI1OGEsIDB4OWU5NjJhZjYsIDB4ZDhhZDRkOTMsIDB4MTJlMGU0M2MsIDB4NTRkYjgzNTksCisgICAgMHhjNzdkYzdiOCwgMHg4MTQ2YTBkZCwgMHg0YjBiMDk3MiwgMHgwZDMwNmUxNywgMHgwOWViMzc4YiwKKyAgICAweDRmZDA1MGVlLCAweDg1OWRmOTQxLCAweGMzYTY5ZTI0LCAweDUwMDBkYWM1LCAweDE2M2JiZGEwLAorICAgIDB4ZGM3NjE0MGYsIDB4OWE0ZDczNmEsIDB4YmIzZGVjMTYsIDB4ZmQwNjhiNzMsIDB4Mzc0YjIyZGMsCisgICAgMHg3MTcwNDViOSwgMHhlMmQ2MDE1OCwgMHhhNGVkNjYzZCwgMHg2ZWEwY2Y5MiwgMHgyODliYThmNywKKyAgICAweDI3MTAwZDcxLCAweDYxMmI2YTE0LCAweGFiNjZjM2JiLCAweGVkNWRhNGRlLCAweDdlZmJlMDNmLAorICAgIDB4MzhjMDg3NWEsIDB4ZjI4ZDJlZjUsIDB4YjRiNjQ5OTAsIDB4OTVjNmQ2ZWMsIDB4ZDNmZGIxODksCisgICAgMHgxOWIwMTgyNiwgMHg1ZjhiN2Y0MywgMHhjYzJkM2JhMiwgMHg4YTE2NWNjNywgMHg0MDViZjU2OCwKKyAgICAweDA2NjA5MjBkLCAweDAyYmJjYjkxLCAweDQ0ODBhY2Y0LCAweDhlY2QwNTViLCAweGM4ZjY2MjNlLAorICAgIDB4NWI1MDI2ZGYsIDB4MWQ2YjQxYmEsIDB4ZDcyNmU4MTUsIDB4OTExZDhmNzAsIDB4YjA2ZDEwMGMsCisgICAgMHhmNjU2Nzc2OSwgMHgzYzFiZGVjNiwgMHg3YTIwYjlhMywgMHhlOTg2ZmQ0MiwgMHhhZmJkOWEyNywKKyAgICAweDY1ZjAzMzg4LCAweDIzY2I1NGVkLCAweDNhZTAwOTVlLCAweDdjZGI2ZTNiLCAweGI2OTZjNzk0LAorICAgIDB4ZjBhZGEwZjEsIDB4NjMwYmU0MTAsIDB4MjUzMDgzNzUsIDB4ZWY3ZDJhZGEsIDB4YTk0NjRkYmYsCisgICAgMHg4ODM2ZDJjMywgMHhjZTBkYjVhNiwgMHgwNDQwMWMwOSwgMHg0MjdiN2I2YywgMHhkMWRkM2Y4ZCwKKyAgICAweDk3ZTY1OGU4LCAweDVkYWJmMTQ3LCAweDFiOTA5NjIyLCAweDFmNGJjZmJlLCAweDU5NzBhOGRiLAorICAgIDB4OTMzZDAxNzQsIDB4ZDUwNjY2MTEsIDB4NDZhMDIyZjAsIDB4MDA5YjQ1OTUsIDB4Y2FkNmVjM2EsCisgICAgMHg4Y2VkOGI1ZiwgMHhhZDlkMTQyMywgMHhlYmE2NzM0NiwgMHgyMWViZGFlOSwgMHg2N2QwYmQ4YywKKyAgICAweGY0NzZmOTZkLCAweGIyNGQ5ZTA4LCAweDc4MDAzN2E3LCAweDNlM2I1MGMyLCAweDMxYjBmNTQ0LAorICAgIDB4Nzc4YjkyMjEsIDB4YmRjNjNiOGUsIDB4ZmJmZDVjZWIsIDB4Njg1YjE4MGEsIDB4MmU2MDdmNmYsCisgICAgMHhlNDJkZDZjMCwgMHhhMjE2YjFhNSwgMHg4MzY2MmVkOSwgMHhjNTVkNDliYywgMHgwZjEwZTAxMywKKyAgICAweDQ5MmI4Nzc2LCAweGRhOGRjMzk3LCAweDljYjZhNGYyLCAweDU2ZmIwZDVkLCAweDEwYzA2YTM4LAorICAgIDB4MTQxYjMzYTQsIDB4NTIyMDU0YzEsIDB4OTg2ZGZkNmUsIDB4ZGU1NjlhMGIsIDB4NGRmMGRlZWEsCisgICAgMHgwYmNiYjk4ZiwgMHhjMTg2MTAyMCwgMHg4N2JkNzc0NSwgMHhhNmNkZTgzOSwgMHhlMGY2OGY1YywKKyAgICAweDJhYmIyNmYzLCAweDZjODA0MTk2LCAweGZmMjYwNTc3LCAweGI5MWQ2MjEyLCAweDczNTBjYmJkLAorICAgIDB4MzU2YmFjZDh9fTsKKworI2VuZGlmCisKKyNlbmRpZgorCisjaWYgTiA9PSA2CisKKyNpZiBXID09IDgKKworbG9jYWwgY29uc3Qgel9jcmNfdCBGQVIgY3JjX2JyYWlkX3RhYmxlW11bMjU2XSA9IHsKKyAgIHsweDAwMDAwMDAwLCAweDNkYjFlY2RjLCAweDdiNjNkOWI4LCAweDQ2ZDIzNTY0LCAweGY2YzdiMzcwLAorICAgIDB4Y2I3NjVmYWMsIDB4OGRhNDZhYzgsIDB4YjAxNTg2MTQsIDB4MzZmZTYwYTEsIDB4MGI0ZjhjN2QsCisgICAgMHg0ZDlkYjkxOSwgMHg3MDJjNTVjNSwgMHhjMDM5ZDNkMSwgMHhmZDg4M2YwZCwgMHhiYjVhMGE2OSwKKyAgICAweDg2ZWJlNmI1LCAweDZkZmNjMTQyLCAweDUwNGQyZDllLCAweDE2OWYxOGZhLCAweDJiMmVmNDI2LAorICAgIDB4OWIzYjcyMzIsIDB4YTY4YTllZWUsIDB4ZTA1OGFiOGEsIDB4ZGRlOTQ3NTYsIDB4NWIwMmExZTMsCisgICAgMHg2NmIzNGQzZiwgMHgyMDYxNzg1YiwgMHgxZGQwOTQ4NywgMHhhZGM1MTI5MywgMHg5MDc0ZmU0ZiwKKyAgICAweGQ2YTZjYjJiLCAweGViMTcyN2Y3LCAweGRiZjk4Mjg0LCAweGU2NDg2ZTU4LCAweGEwOWE1YjNjLAorICAgIDB4OWQyYmI3ZTAsIDB4MmQzZTMxZjQsIDB4MTA4ZmRkMjgsIDB4NTY1ZGU4NGMsIDB4NmJlYzA0OTAsCisgICAgMHhlZDA3ZTIyNSwgMHhkMGI2MGVmOSwgMHg5NjY0M2I5ZCwgMHhhYmQ1ZDc0MSwgMHgxYmMwNTE1NSwKKyAgICAweDI2NzFiZDg5LCAweDYwYTM4OGVkLCAweDVkMTI2NDMxLCAweGI2MDU0M2M2LCAweDhiYjRhZjFhLAorICAgIDB4Y2Q2NjlhN2UsIDB4ZjBkNzc2YTIsIDB4NDBjMmYwYjYsIDB4N2Q3MzFjNmEsIDB4M2JhMTI5MGUsCisgICAgMHgwNjEwYzVkMiwgMHg4MGZiMjM2NywgMHhiZDRhY2ZiYiwgMHhmYjk4ZmFkZiwgMHhjNjI5MTYwMywKKyAgICAweDc2M2M5MDE3LCAweDRiOGQ3Y2NiLCAweDBkNWY0OWFmLCAweDMwZWVhNTczLCAweDZjODIwMzQ5LAorICAgIDB4NTEzM2VmOTUsIDB4MTdlMWRhZjEsIDB4MmE1MDM2MmQsIDB4OWE0NWIwMzksIDB4YTdmNDVjZTUsCisgICAgMHhlMTI2Njk4MSwgMHhkYzk3ODU1ZCwgMHg1YTdjNjNlOCwgMHg2N2NkOGYzNCwgMHgyMTFmYmE1MCwKKyAgICAweDFjYWU1NjhjLCAweGFjYmJkMDk4LCAweDkxMGEzYzQ0LCAweGQ3ZDgwOTIwLCAweGVhNjllNWZjLAorICAgIDB4MDE3ZWMyMGIsIDB4M2NjZjJlZDcsIDB4N2ExZDFiYjMsIDB4NDdhY2Y3NmYsIDB4ZjdiOTcxN2IsCisgICAgMHhjYTA4OWRhNywgMHg4Y2RhYThjMywgMHhiMTZiNDQxZiwgMHgzNzgwYTJhYSwgMHgwYTMxNGU3NiwKKyAgICAweDRjZTM3YjEyLCAweDcxNTI5N2NlLCAweGMxNDcxMWRhLCAweGZjZjZmZDA2LCAweGJhMjRjODYyLAorICAgIDB4ODc5NTI0YmUsIDB4Yjc3YjgxY2QsIDB4OGFjYTZkMTEsIDB4Y2MxODU4NzUsIDB4ZjFhOWI0YTksCisgICAgMHg0MWJjMzJiZCwgMHg3YzBkZGU2MSwgMHgzYWRmZWIwNSwgMHgwNzZlMDdkOSwgMHg4MTg1ZTE2YywKKyAgICAweGJjMzQwZGIwLCAweGZhZTYzOGQ0LCAweGM3NTdkNDA4LCAweDc3NDI1MjFjLCAweDRhZjNiZWMwLAorICAgIDB4MGMyMThiYTQsIDB4MzE5MDY3NzgsIDB4ZGE4NzQwOGYsIDB4ZTczNmFjNTMsIDB4YTFlNDk5MzcsCisgICAgMHg5YzU1NzVlYiwgMHgyYzQwZjNmZiwgMHgxMWYxMWYyMywgMHg1NzIzMmE0NywgMHg2YTkyYzY5YiwKKyAgICAweGVjNzkyMDJlLCAweGQxYzhjY2YyLCAweDk3MWFmOTk2LCAweGFhYWIxNTRhLCAweDFhYmU5MzVlLAorICAgIDB4MjcwZjdmODIsIDB4NjFkZDRhZTYsIDB4NWM2Y2E2M2EsIDB4ZDkwNDA2OTIsIDB4ZTRiNWVhNGUsCisgICAgMHhhMjY3ZGYyYSwgMHg5ZmQ2MzNmNiwgMHgyZmMzYjVlMiwgMHgxMjcyNTkzZSwgMHg1NGEwNmM1YSwKKyAgICAweDY5MTE4MDg2LCAweGVmZmE2NjMzLCAweGQyNGI4YWVmLCAweDk0OTliZjhiLCAweGE5Mjg1MzU3LAorICAgIDB4MTkzZGQ1NDMsIDB4MjQ4YzM5OWYsIDB4NjI1ZTBjZmIsIDB4NWZlZmUwMjcsIDB4YjRmOGM3ZDAsCisgICAgMHg4OTQ5MmIwYywgMHhjZjliMWU2OCwgMHhmMjJhZjJiNCwgMHg0MjNmNzRhMCwgMHg3ZjhlOTg3YywKKyAgICAweDM5NWNhZDE4LCAweDA0ZWQ0MWM0LCAweDgyMDZhNzcxLCAweGJmYjc0YmFkLCAweGY5NjU3ZWM5LAorICAgIDB4YzRkNDkyMTUsIDB4NzRjMTE0MDEsIDB4NDk3MGY4ZGQsIDB4MGZhMmNkYjksIDB4MzIxMzIxNjUsCisgICAgMHgwMmZkODQxNiwgMHgzZjRjNjhjYSwgMHg3OTllNWRhZSwgMHg0NDJmYjE3MiwgMHhmNDNhMzc2NiwKKyAgICAweGM5OGJkYmJhLCAweDhmNTllZWRlLCAweGIyZTgwMjAyLCAweDM0MDNlNGI3LCAweDA5YjIwODZiLAorICAgIDB4NGY2MDNkMGYsIDB4NzJkMWQxZDMsIDB4YzJjNDU3YzcsIDB4ZmY3NWJiMWIsIDB4YjlhNzhlN2YsCisgICAgMHg4NDE2NjJhMywgMHg2ZjAxNDU1NCwgMHg1MmIwYTk4OCwgMHgxNDYyOWNlYywgMHgyOWQzNzAzMCwKKyAgICAweDk5YzZmNjI0LCAweGE0NzcxYWY4LCAweGUyYTUyZjljLCAweGRmMTRjMzQwLCAweDU5ZmYyNWY1LAorICAgIDB4NjQ0ZWM5MjksIDB4MjI5Y2ZjNGQsIDB4MWYyZDEwOTEsIDB4YWYzODk2ODUsIDB4OTI4OTdhNTksCisgICAgMHhkNDViNGYzZCwgMHhlOWVhYTNlMSwgMHhiNTg2MDVkYiwgMHg4ODM3ZTkwNywgMHhjZWU1ZGM2MywKKyAgICAweGYzNTQzMGJmLCAweDQzNDFiNmFiLCAweDdlZjA1YTc3LCAweDM4MjI2ZjEzLCAweDA1OTM4M2NmLAorICAgIDB4ODM3ODY1N2EsIDB4YmVjOTg5YTYsIDB4ZjgxYmJjYzIsIDB4YzVhYTUwMWUsIDB4NzViZmQ2MGEsCisgICAgMHg0ODBlM2FkNiwgMHgwZWRjMGZiMiwgMHgzMzZkZTM2ZSwgMHhkODdhYzQ5OSwgMHhlNWNiMjg0NSwKKyAgICAweGEzMTkxZDIxLCAweDllYThmMWZkLCAweDJlYmQ3N2U5LCAweDEzMGM5YjM1LCAweDU1ZGVhZTUxLAorICAgIDB4Njg2ZjQyOGQsIDB4ZWU4NGE0MzgsIDB4ZDMzNTQ4ZTQsIDB4OTVlNzdkODAsIDB4YTg1NjkxNWMsCisgICAgMHgxODQzMTc0OCwgMHgyNWYyZmI5NCwgMHg2MzIwY2VmMCwgMHg1ZTkxMjIyYywgMHg2ZTdmODc1ZiwKKyAgICAweDUzY2U2YjgzLCAweDE1MWM1ZWU3LCAweDI4YWRiMjNiLCAweDk4YjgzNDJmLCAweGE1MDlkOGYzLAorICAgIDB4ZTNkYmVkOTcsIDB4ZGU2YTAxNGIsIDB4NTg4MWU3ZmUsIDB4NjUzMDBiMjIsIDB4MjNlMjNlNDYsCisgICAgMHgxZTUzZDI5YSwgMHhhZTQ2NTQ4ZSwgMHg5M2Y3Yjg1MiwgMHhkNTI1OGQzNiwgMHhlODk0NjFlYSwKKyAgICAweDAzODM0NjFkLCAweDNlMzJhYWMxLCAweDc4ZTA5ZmE1LCAweDQ1NTE3Mzc5LCAweGY1NDRmNTZkLAorICAgIDB4YzhmNTE5YjEsIDB4OGUyNzJjZDUsIDB4YjM5NmMwMDksIDB4MzU3ZDI2YmMsIDB4MDhjY2NhNjAsCisgICAgMHg0ZTFlZmYwNCwgMHg3M2FmMTNkOCwgMHhjM2JhOTVjYywgMHhmZTBiNzkxMCwgMHhiOGQ5NGM3NCwKKyAgICAweDg1NjhhMGE4fSwKKyAgIHsweDAwMDAwMDAwLCAweDY5NzkwYjY1LCAweGQyZjIxNmNhLCAweGJiOGIxZGFmLCAweDdlOTUyYmQ1LAorICAgIDB4MTdlYzIwYjAsIDB4YWM2NzNkMWYsIDB4YzUxZTM2N2EsIDB4ZmQyYTU3YWEsIDB4OTQ1MzVjY2YsCisgICAgMHgyZmQ4NDE2MCwgMHg0NmExNGEwNSwgMHg4M2JmN2M3ZiwgMHhlYWM2NzcxYSwgMHg1MTRkNmFiNSwKKyAgICAweDM4MzQ2MWQwLCAweDIxMjVhOTE1LCAweDQ4NWNhMjcwLCAweGYzZDdiZmRmLCAweDlhYWViNGJhLAorICAgIDB4NWZiMDgyYzAsIDB4MzZjOTg5YTUsIDB4OGQ0Mjk0MGEsIDB4ZTQzYjlmNmYsIDB4ZGMwZmZlYmYsCisgICAgMHhiNTc2ZjVkYSwgMHgwZWZkZTg3NSwgMHg2Nzg0ZTMxMCwgMHhhMjlhZDU2YSwgMHhjYmUzZGUwZiwKKyAgICAweDcwNjhjM2EwLCAweDE5MTFjOGM1LCAweDQyNGI1MjJhLCAweDJiMzI1OTRmLCAweDkwYjk0NGUwLAorICAgIDB4ZjljMDRmODUsIDB4M2NkZTc5ZmYsIDB4NTVhNzcyOWEsIDB4ZWUyYzZmMzUsIDB4ODc1NTY0NTAsCisgICAgMHhiZjYxMDU4MCwgMHhkNjE4MGVlNSwgMHg2ZDkzMTM0YSwgMHgwNGVhMTgyZiwgMHhjMWY0MmU1NSwKKyAgICAweGE4OGQyNTMwLCAweDEzMDYzODlmLCAweDdhN2YzM2ZhLCAweDYzNmVmYjNmLCAweDBhMTdmMDVhLAorICAgIDB4YjE5Y2VkZjUsIDB4ZDhlNWU2OTAsIDB4MWRmYmQwZWEsIDB4NzQ4MmRiOGYsIDB4Y2YwOWM2MjAsCisgICAgMHhhNjcwY2Q0NSwgMHg5ZTQ0YWM5NSwgMHhmNzNkYTdmMCwgMHg0Y2I2YmE1ZiwgMHgyNWNmYjEzYSwKKyAgICAweGUwZDE4NzQwLCAweDg5YTg4YzI1LCAweDMyMjM5MThhLCAweDViNWE5YWVmLCAweDg0OTZhNDU0LAorICAgIDB4ZWRlZmFmMzEsIDB4NTY2NGIyOWUsIDB4M2YxZGI5ZmIsIDB4ZmEwMzhmODEsIDB4OTM3YTg0ZTQsCisgICAgMHgyOGYxOTk0YiwgMHg0MTg4OTIyZSwgMHg3OWJjZjNmZSwgMHgxMGM1Zjg5YiwgMHhhYjRlZTUzNCwKKyAgICAweGMyMzdlZTUxLCAweDA3MjlkODJiLCAweDZlNTBkMzRlLCAweGQ1ZGJjZWUxLCAweGJjYTJjNTg0LAorICAgIDB4YTViMzBkNDEsIDB4Y2NjYTA2MjQsIDB4Nzc0MTFiOGIsIDB4MWUzODEwZWUsIDB4ZGIyNjI2OTQsCisgICAgMHhiMjVmMmRmMSwgMHgwOWQ0MzA1ZSwgMHg2MGFkM2IzYiwgMHg1ODk5NWFlYiwgMHgzMWUwNTE4ZSwKKyAgICAweDhhNmI0YzIxLCAweGUzMTI0NzQ0LCAweDI2MGM3MTNlLCAweDRmNzU3YTViLCAweGY0ZmU2N2Y0LAorICAgIDB4OWQ4NzZjOTEsIDB4YzZkZGY2N2UsIDB4YWZhNGZkMWIsIDB4MTQyZmUwYjQsIDB4N2Q1NmViZDEsCisgICAgMHhiODQ4ZGRhYiwgMHhkMTMxZDZjZSwgMHg2YWJhY2I2MSwgMHgwM2MzYzAwNCwgMHgzYmY3YTFkNCwKKyAgICAweDUyOGVhYWIxLCAweGU5MDViNzFlLCAweDgwN2NiYzdiLCAweDQ1NjI4YTAxLCAweDJjMWI4MTY0LAorICAgIDB4OTc5MDljY2IsIDB4ZmVlOTk3YWUsIDB4ZTdmODVmNmIsIDB4OGU4MTU0MGUsIDB4MzUwYTQ5YTEsCisgICAgMHg1YzczNDJjNCwgMHg5OTZkNzRiZSwgMHhmMDE0N2ZkYiwgMHg0YjlmNjI3NCwgMHgyMmU2NjkxMSwKKyAgICAweDFhZDIwOGMxLCAweDczYWIwM2E0LCAweGM4MjAxZTBiLCAweGExNTkxNTZlLCAweDY0NDcyMzE0LAorICAgIDB4MGQzZTI4NzEsIDB4YjZiNTM1ZGUsIDB4ZGZjYzNlYmIsIDB4ZDI1YzRlZTksIDB4YmIyNTQ1OGMsCisgICAgMHgwMGFlNTgyMywgMHg2OWQ3NTM0NiwgMHhhY2M5NjUzYywgMHhjNWIwNmU1OSwgMHg3ZTNiNzNmNiwKKyAgICAweDE3NDI3ODkzLCAweDJmNzYxOTQzLCAweDQ2MGYxMjI2LCAweGZkODQwZjg5LCAweDk0ZmQwNGVjLAorICAgIDB4NTFlMzMyOTYsIDB4Mzg5YTM5ZjMsIDB4ODMxMTI0NWMsIDB4ZWE2ODJmMzksIDB4ZjM3OWU3ZmMsCisgICAgMHg5YTAwZWM5OSwgMHgyMThiZjEzNiwgMHg0OGYyZmE1MywgMHg4ZGVjY2MyOSwgMHhlNDk1Yzc0YywKKyAgICAweDVmMWVkYWUzLCAweDM2NjdkMTg2LCAweDBlNTNiMDU2LCAweDY3MmFiYjMzLCAweGRjYTFhNjljLAorICAgIDB4YjVkOGFkZjksIDB4NzBjNjliODMsIDB4MTliZjkwZTYsIDB4YTIzNDhkNDksIDB4Y2I0ZDg2MmMsCisgICAgMHg5MDE3MWNjMywgMHhmOTZlMTdhNiwgMHg0MmU1MGEwOSwgMHgyYjljMDE2YywgMHhlZTgyMzcxNiwKKyAgICAweDg3ZmIzYzczLCAweDNjNzAyMWRjLCAweDU1MDkyYWI5LCAweDZkM2Q0YjY5LCAweDA0NDQ0MDBjLAorICAgIDB4YmZjZjVkYTMsIDB4ZDZiNjU2YzYsIDB4MTNhODYwYmMsIDB4N2FkMTZiZDksIDB4YzE1YTc2NzYsCisgICAgMHhhODIzN2QxMywgMHhiMTMyYjVkNiwgMHhkODRiYmViMywgMHg2M2MwYTMxYywgMHgwYWI5YTg3OSwKKyAgICAweGNmYTc5ZTAzLCAweGE2ZGU5NTY2LCAweDFkNTU4OGM5LCAweDc0MmM4M2FjLCAweDRjMThlMjdjLAorICAgIDB4MjU2MWU5MTksIDB4OWVlYWY0YjYsIDB4Zjc5M2ZmZDMsIDB4MzI4ZGM5YTksIDB4NWJmNGMyY2MsCisgICAgMHhlMDdmZGY2MywgMHg4OTA2ZDQwNiwgMHg1NmNhZWFiZCwgMHgzZmIzZTFkOCwgMHg4NDM4ZmM3NywKKyAgICAweGVkNDFmNzEyLCAweDI4NWZjMTY4LCAweDQxMjZjYTBkLCAweGZhYWRkN2EyLCAweDkzZDRkY2M3LAorICAgIDB4YWJlMGJkMTcsIDB4YzI5OWI2NzIsIDB4NzkxMmFiZGQsIDB4MTA2YmEwYjgsIDB4ZDU3NTk2YzIsCisgICAgMHhiYzBjOWRhNywgMHgwNzg3ODAwOCwgMHg2ZWZlOGI2ZCwgMHg3N2VmNDNhOCwgMHgxZTk2NDhjZCwKKyAgICAweGE1MWQ1NTYyLCAweGNjNjQ1ZTA3LCAweDA5N2E2ODdkLCAweDYwMDM2MzE4LCAweGRiODg3ZWI3LAorICAgIDB4YjJmMTc1ZDIsIDB4OGFjNTE0MDIsIDB4ZTNiYzFmNjcsIDB4NTgzNzAyYzgsIDB4MzE0ZTA5YWQsCisgICAgMHhmNDUwM2ZkNywgMHg5ZDI5MzRiMiwgMHgyNmEyMjkxZCwgMHg0ZmRiMjI3OCwgMHgxNDgxYjg5NywKKyAgICAweDdkZjhiM2YyLCAweGM2NzNhZTVkLCAweGFmMGFhNTM4LCAweDZhMTQ5MzQyLCAweDAzNmQ5ODI3LAorICAgIDB4YjhlNjg1ODgsIDB4ZDE5ZjhlZWQsIDB4ZTlhYmVmM2QsIDB4ODBkMmU0NTgsIDB4M2I1OWY5ZjcsCisgICAgMHg1MjIwZjI5MiwgMHg5NzNlYzRlOCwgMHhmZTQ3Y2Y4ZCwgMHg0NWNjZDIyMiwgMHgyY2I1ZDk0NywKKyAgICAweDM1YTQxMTgyLCAweDVjZGQxYWU3LCAweGU3NTYwNzQ4LCAweDhlMmYwYzJkLCAweDRiMzEzYTU3LAorICAgIDB4MjI0ODMxMzIsIDB4OTljMzJjOWQsIDB4ZjBiYTI3ZjgsIDB4Yzg4ZTQ2MjgsIDB4YTFmNzRkNGQsCisgICAgMHgxYTdjNTBlMiwgMHg3MzA1NWI4NywgMHhiNjFiNmRmZCwgMHhkZjYyNjY5OCwgMHg2NGU5N2IzNywKKyAgICAweDBkOTA3MDUyfSwKKyAgIHsweDAwMDAwMDAwLCAweDdmYzk5YjkzLCAweGZmOTMzNzI2LCAweDgwNWFhY2I1LCAweDI0NTc2ODBkLAorICAgIDB4NWI5ZWYzOWUsIDB4ZGJjNDVmMmIsIDB4YTQwZGM0YjgsIDB4NDhhZWQwMWEsIDB4Mzc2NzRiODksCisgICAgMHhiNzNkZTczYywgMHhjOGY0N2NhZiwgMHg2Y2Y5YjgxNywgMHgxMzMwMjM4NCwgMHg5MzZhOGYzMSwKKyAgICAweGVjYTMxNGEyLCAweDkxNWRhMDM0LCAweGVlOTQzYmE3LCAweDZlY2U5NzEyLCAweDExMDcwYzgxLAorICAgIDB4YjUwYWM4MzksIDB4Y2FjMzUzYWEsIDB4NGE5OWZmMWYsIDB4MzU1MDY0OGMsIDB4ZDlmMzcwMmUsCisgICAgMHhhNjNhZWJiZCwgMHgyNjYwNDcwOCwgMHg1OWE5ZGM5YiwgMHhmZGE0MTgyMywgMHg4MjZkODNiMCwKKyAgICAweDAyMzcyZjA1LCAweDdkZmViNDk2LCAweGY5Y2E0NjI5LCAweDg2MDNkZGJhLCAweDA2NTk3MTBmLAorICAgIDB4Nzk5MGVhOWMsIDB4ZGQ5ZDJlMjQsIDB4YTI1NGI1YjcsIDB4MjIwZTE5MDIsIDB4NWRjNzgyOTEsCisgICAgMHhiMTY0OTYzMywgMHhjZWFkMGRhMCwgMHg0ZWY3YTExNSwgMHgzMTNlM2E4NiwgMHg5NTMzZmUzZSwKKyAgICAweGVhZmE2NWFkLCAweDZhYTBjOTE4LCAweDE1Njk1MjhiLCAweDY4OTdlNjFkLCAweDE3NWU3ZDhlLAorICAgIDB4OTcwNGQxM2IsIDB4ZThjZDRhYTgsIDB4NGNjMDhlMTAsIDB4MzMwOTE1ODMsIDB4YjM1M2I5MzYsCisgICAgMHhjYzlhMjJhNSwgMHgyMDM5MzYwNywgMHg1ZmYwYWQ5NCwgMHhkZmFhMDEyMSwgMHhhMDYzOWFiMiwKKyAgICAweDA0NmU1ZTBhLCAweDdiYTdjNTk5LCAweGZiZmQ2OTJjLCAweDg0MzRmMmJmLCAweDI4ZTU4YTEzLAorICAgIDB4NTcyYzExODAsIDB4ZDc3NmJkMzUsIDB4YThiZjI2YTYsIDB4MGNiMmUyMWUsIDB4NzM3Yjc5OGQsCisgICAgMHhmMzIxZDUzOCwgMHg4Y2U4NGVhYiwgMHg2MDRiNWEwOSwgMHgxZjgyYzE5YSwgMHg5ZmQ4NmQyZiwKKyAgICAweGUwMTFmNmJjLCAweDQ0MWMzMjA0LCAweDNiZDVhOTk3LCAweGJiOGYwNTIyLCAweGM0NDY5ZWIxLAorICAgIDB4YjliODJhMjcsIDB4YzY3MWIxYjQsIDB4NDYyYjFkMDEsIDB4MzllMjg2OTIsIDB4OWRlZjQyMmEsCisgICAgMHhlMjI2ZDliOSwgMHg2MjdjNzUwYywgMHgxZGI1ZWU5ZiwgMHhmMTE2ZmEzZCwgMHg4ZWRmNjFhZSwKKyAgICAweDBlODVjZDFiLCAweDcxNGM1Njg4LCAweGQ1NDE5MjMwLCAweGFhODgwOWEzLCAweDJhZDJhNTE2LAorICAgIDB4NTUxYjNlODUsIDB4ZDEyZmNjM2EsIDB4YWVlNjU3YTksIDB4MmViY2ZiMWMsIDB4NTE3NTYwOGYsCisgICAgMHhmNTc4YTQzNywgMHg4YWIxM2ZhNCwgMHgwYWViOTMxMSwgMHg3NTIyMDg4MiwgMHg5OTgxMWMyMCwKKyAgICAweGU2NDg4N2IzLCAweDY2MTIyYjA2LCAweDE5ZGJiMDk1LCAweGJkZDY3NDJkLCAweGMyMWZlZmJlLAorICAgIDB4NDI0NTQzMGIsIDB4M2Q4Y2Q4OTgsIDB4NDA3MjZjMGUsIDB4M2ZiYmY3OWQsIDB4YmZlMTViMjgsCisgICAgMHhjMDI4YzBiYiwgMHg2NDI1MDQwMywgMHgxYmVjOWY5MCwgMHg5YmI2MzMyNSwgMHhlNDdmYThiNiwKKyAgICAweDA4ZGNiYzE0LCAweDc3MTUyNzg3LCAweGY3NGY4YjMyLCAweDg4ODYxMGExLCAweDJjOGJkNDE5LAorICAgIDB4NTM0MjRmOGEsIDB4ZDMxOGUzM2YsIDB4YWNkMTc4YWMsIDB4NTFjYjE0MjYsIDB4MmUwMjhmYjUsCisgICAgMHhhZTU4MjMwMCwgMHhkMTkxYjg5MywgMHg3NTljN2MyYiwgMHgwYTU1ZTdiOCwgMHg4YTBmNGIwZCwKKyAgICAweGY1YzZkMDllLCAweDE5NjVjNDNjLCAweDY2YWM1ZmFmLCAweGU2ZjZmMzFhLCAweDk5M2Y2ODg5LAorICAgIDB4M2QzMmFjMzEsIDB4NDJmYjM3YTIsIDB4YzJhMTliMTcsIDB4YmQ2ODAwODQsIDB4YzA5NmI0MTIsCisgICAgMHhiZjVmMmY4MSwgMHgzZjA1ODMzNCwgMHg0MGNjMThhNywgMHhlNGMxZGMxZiwgMHg5YjA4NDc4YywKKyAgICAweDFiNTJlYjM5LCAweDY0OWI3MGFhLCAweDg4Mzg2NDA4LCAweGY3ZjFmZjliLCAweDc3YWI1MzJlLAorICAgIDB4MDg2MmM4YmQsIDB4YWM2ZjBjMDUsIDB4ZDNhNjk3OTYsIDB4NTNmYzNiMjMsIDB4MmMzNWEwYjAsCisgICAgMHhhODAxNTIwZiwgMHhkN2M4Yzk5YywgMHg1NzkyNjUyOSwgMHgyODViZmViYSwgMHg4YzU2M2EwMiwKKyAgICAweGYzOWZhMTkxLCAweDczYzUwZDI0LCAweDBjMGM5NmI3LCAweGUwYWY4MjE1LCAweDlmNjYxOTg2LAorICAgIDB4MWYzY2I1MzMsIDB4NjBmNTJlYTAsIDB4YzRmOGVhMTgsIDB4YmIzMTcxOGIsIDB4M2I2YmRkM2UsCisgICAgMHg0NGEyNDZhZCwgMHgzOTVjZjIzYiwgMHg0Njk1NjlhOCwgMHhjNmNmYzUxZCwgMHhiOTA2NWU4ZSwKKyAgICAweDFkMGI5YTM2LCAweDYyYzIwMWE1LCAweGUyOThhZDEwLCAweDlkNTEzNjgzLCAweDcxZjIyMjIxLAorICAgIDB4MGUzYmI5YjIsIDB4OGU2MTE1MDcsIDB4ZjFhODhlOTQsIDB4NTVhNTRhMmMsIDB4MmE2Y2QxYmYsCisgICAgMHhhYTM2N2QwYSwgMHhkNWZmZTY5OSwgMHg3OTJlOWUzNSwgMHgwNmU3MDVhNiwgMHg4NmJkYTkxMywKKyAgICAweGY5NzQzMjgwLCAweDVkNzlmNjM4LCAweDIyYjA2ZGFiLCAweGEyZWFjMTFlLCAweGRkMjM1YThkLAorICAgIDB4MzE4MDRlMmYsIDB4NGU0OWQ1YmMsIDB4Y2UxMzc5MDksIDB4YjFkYWUyOWEsIDB4MTVkNzI2MjIsCisgICAgMHg2YTFlYmRiMSwgMHhlYTQ0MTEwNCwgMHg5NThkOGE5NywgMHhlODczM2UwMSwgMHg5N2JhYTU5MiwKKyAgICAweDE3ZTAwOTI3LCAweDY4Mjk5MmI0LCAweGNjMjQ1NjBjLCAweGIzZWRjZDlmLCAweDMzYjc2MTJhLAorICAgIDB4NGM3ZWZhYjksIDB4YTBkZGVlMWIsIDB4ZGYxNDc1ODgsIDB4NWY0ZWQ5M2QsIDB4MjA4NzQyYWUsCisgICAgMHg4NDhhODYxNiwgMHhmYjQzMWQ4NSwgMHg3YjE5YjEzMCwgMHgwNGQwMmFhMywgMHg4MGU0ZDgxYywKKyAgICAweGZmMmQ0MzhmLCAweDdmNzdlZjNhLCAweDAwYmU3NGE5LCAweGE0YjNiMDExLCAweGRiN2EyYjgyLAorICAgIDB4NWIyMDg3MzcsIDB4MjRlOTFjYTQsIDB4Yzg0YTA4MDYsIDB4Yjc4MzkzOTUsIDB4MzdkOTNmMjAsCisgICAgMHg0ODEwYTRiMywgMHhlYzFkNjAwYiwgMHg5M2Q0ZmI5OCwgMHgxMzhlNTcyZCwgMHg2YzQ3Y2NiZSwKKyAgICAweDExYjk3ODI4LCAweDZlNzBlM2JiLCAweGVlMmE0ZjBlLCAweDkxZTNkNDlkLCAweDM1ZWUxMDI1LAorICAgIDB4NGEyNzhiYjYsIDB4Y2E3ZDI3MDMsIDB4YjViNGJjOTAsIDB4NTkxN2E4MzIsIDB4MjZkZTMzYTEsCisgICAgMHhhNjg0OWYxNCwgMHhkOTRkMDQ4NywgMHg3ZDQwYzAzZiwgMHgwMjg5NWJhYywgMHg4MmQzZjcxOSwKKyAgICAweGZkMWE2YzhhfSwKKyAgIHsweDAwMDAwMDAwLCAweGEzOTYyODRjLCAweDljNWQ1NmQ5LCAweDNmY2I3ZTk1LCAweGUzY2JhYmYzLAorICAgIDB4NDA1ZDgzYmYsIDB4N2Y5NmZkMmEsIDB4ZGMwMGQ1NjYsIDB4MWNlNjUxYTcsIDB4YmY3MDc5ZWIsCisgICAgMHg4MGJiMDc3ZSwgMHgyMzJkMmYzMiwgMHhmZjJkZmE1NCwgMHg1Y2JiZDIxOCwgMHg2MzcwYWM4ZCwKKyAgICAweGMwZTY4NGMxLCAweDM5Y2NhMzRlLCAweDlhNWE4YjAyLCAweGE1OTFmNTk3LCAweDA2MDdkZGRiLAorICAgIDB4ZGEwNzA4YmQsIDB4Nzk5MTIwZjEsIDB4NDY1YTVlNjQsIDB4ZTVjYzc2MjgsIDB4MjUyYWYyZTksCisgICAgMHg4NmJjZGFhNSwgMHhiOTc3YTQzMCwgMHgxYWUxOGM3YywgMHhjNmUxNTkxYSwgMHg2NTc3NzE1NiwKKyAgICAweDVhYmMwZmMzLCAweGY5MmEyNzhmLCAweDczOTk0NjljLCAweGQwMGY2ZWQwLCAweGVmYzQxMDQ1LAorICAgIDB4NGM1MjM4MDksIDB4OTA1MmVkNmYsIDB4MzNjNGM1MjMsIDB4MGMwZmJiYjYsIDB4YWY5OTkzZmEsCisgICAgMHg2ZjdmMTczYiwgMHhjY2U5M2Y3NywgMHhmMzIyNDFlMiwgMHg1MGI0NjlhZSwgMHg4Y2I0YmNjOCwKKyAgICAweDJmMjI5NDg0LCAweDEwZTllYTExLCAweGIzN2ZjMjVkLCAweDRhNTVlNWQyLCAweGU5YzNjZDllLAorICAgIDB4ZDYwOGIzMGIsIDB4NzU5ZTliNDcsIDB4YTk5ZTRlMjEsIDB4MGEwODY2NmQsIDB4MzVjMzE4ZjgsCisgICAgMHg5NjU1MzBiNCwgMHg1NmIzYjQ3NSwgMHhmNTI1OWMzOSwgMHhjYWVlZTJhYywgMHg2OTc4Y2FlMCwKKyAgICAweGI1NzgxZjg2LCAweDE2ZWUzN2NhLCAweDI5MjU0OTVmLCAweDhhYjM2MTEzLCAweGU3MzI4ZDM4LAorICAgIDB4NDRhNGE1NzQsIDB4N2I2ZmRiZTEsIDB4ZDhmOWYzYWQsIDB4MDRmOTI2Y2IsIDB4YTc2ZjBlODcsCisgICAgMHg5OGE0NzAxMiwgMHgzYjMyNTg1ZSwgMHhmYmQ0ZGM5ZiwgMHg1ODQyZjRkMywgMHg2Nzg5OGE0NiwKKyAgICAweGM0MWZhMjBhLCAweDE4MWY3NzZjLCAweGJiODk1ZjIwLCAweDg0NDIyMWI1LCAweDI3ZDQwOWY5LAorICAgIDB4ZGVmZTJlNzYsIDB4N2Q2ODA2M2EsIDB4NDJhMzc4YWYsIDB4ZTEzNTUwZTMsIDB4M2QzNTg1ODUsCisgICAgMHg5ZWEzYWRjOSwgMHhhMTY4ZDM1YywgMHgwMmZlZmIxMCwgMHhjMjE4N2ZkMSwgMHg2MThlNTc5ZCwKKyAgICAweDVlNDUyOTA4LCAweGZkZDMwMTQ0LCAweDIxZDNkNDIyLCAweDgyNDVmYzZlLCAweGJkOGU4MmZiLAorICAgIDB4MWUxOGFhYjcsIDB4OTRhYmNiYTQsIDB4MzczZGUzZTgsIDB4MDhmNjlkN2QsIDB4YWI2MGI1MzEsCisgICAgMHg3NzYwNjA1NywgMHhkNGY2NDgxYiwgMHhlYjNkMzY4ZSwgMHg0OGFiMWVjMiwgMHg4ODRkOWEwMywKKyAgICAweDJiZGJiMjRmLCAweDE0MTBjY2RhLCAweGI3ODZlNDk2LCAweDZiODYzMWYwLCAweGM4MTAxOWJjLAorICAgIDB4ZjdkYjY3MjksIDB4NTQ0ZDRmNjUsIDB4YWQ2NzY4ZWEsIDB4MGVmMTQwYTYsIDB4MzEzYTNlMzMsCisgICAgMHg5MmFjMTY3ZiwgMHg0ZWFjYzMxOSwgMHhlZDNhZWI1NSwgMHhkMmYxOTVjMCwgMHg3MTY3YmQ4YywKKyAgICAweGIxODEzOTRkLCAweDEyMTcxMTAxLCAweDJkZGM2Zjk0LCAweDhlNGE0N2Q4LCAweDUyNGE5MmJlLAorICAgIDB4ZjFkY2JhZjIsIDB4Y2UxN2M0NjcsIDB4NmQ4MWVjMmIsIDB4MTUxNDFjMzEsIDB4YjY4MjM0N2QsCisgICAgMHg4OTQ5NGFlOCwgMHgyYWRmNjJhNCwgMHhmNmRmYjdjMiwgMHg1NTQ5OWY4ZSwgMHg2YTgyZTExYiwKKyAgICAweGM5MTRjOTU3LCAweDA5ZjI0ZDk2LCAweGFhNjQ2NWRhLCAweDk1YWYxYjRmLCAweDM2MzkzMzAzLAorICAgIDB4ZWEzOWU2NjUsIDB4NDlhZmNlMjksIDB4NzY2NGIwYmMsIDB4ZDVmMjk4ZjAsIDB4MmNkOGJmN2YsCisgICAgMHg4ZjRlOTczMywgMHhiMDg1ZTlhNiwgMHgxMzEzYzFlYSwgMHhjZjEzMTQ4YywgMHg2Yzg1M2NjMCwKKyAgICAweDUzNGU0MjU1LCAweGYwZDg2YTE5LCAweDMwM2VlZWQ4LCAweDkzYThjNjk0LCAweGFjNjNiODAxLAorICAgIDB4MGZmNTkwNGQsIDB4ZDNmNTQ1MmIsIDB4NzA2MzZkNjcsIDB4NGZhODEzZjIsIDB4ZWMzZTNiYmUsCisgICAgMHg2NjhkNWFhZCwgMHhjNTFiNzJlMSwgMHhmYWQwMGM3NCwgMHg1OTQ2MjQzOCwgMHg4NTQ2ZjE1ZSwKKyAgICAweDI2ZDBkOTEyLCAweDE5MWJhNzg3LCAweGJhOGQ4ZmNiLCAweDdhNmIwYjBhLCAweGQ5ZmQyMzQ2LAorICAgIDB4ZTYzNjVkZDMsIDB4NDVhMDc1OWYsIDB4OTlhMGEwZjksIDB4M2EzNjg4YjUsIDB4MDVmZGY2MjAsCisgICAgMHhhNjZiZGU2YywgMHg1ZjQxZjllMywgMHhmY2Q3ZDFhZiwgMHhjMzFjYWYzYSwgMHg2MDhhODc3NiwKKyAgICAweGJjOGE1MjEwLCAweDFmMWM3YTVjLCAweDIwZDcwNGM5LCAweDgzNDEyYzg1LCAweDQzYTdhODQ0LAorICAgIDB4ZTAzMTgwMDgsIDB4ZGZmYWZlOWQsIDB4N2M2Y2Q2ZDEsIDB4YTA2YzAzYjcsIDB4MDNmYTJiZmIsCisgICAgMHgzYzMxNTU2ZSwgMHg5ZmE3N2QyMiwgMHhmMjI2OTEwOSwgMHg1MWIwYjk0NSwgMHg2ZTdiYzdkMCwKKyAgICAweGNkZWRlZjljLCAweDExZWQzYWZhLCAweGIyN2IxMmI2LCAweDhkYjA2YzIzLCAweDJlMjY0NDZmLAorICAgIDB4ZWVjMGMwYWUsIDB4NGQ1NmU4ZTIsIDB4NzI5ZDk2NzcsIDB4ZDEwYmJlM2IsIDB4MGQwYjZiNWQsCisgICAgMHhhZTlkNDMxMSwgMHg5MTU2M2Q4NCwgMHgzMmMwMTVjOCwgMHhjYmVhMzI0NywgMHg2ODdjMWEwYiwKKyAgICAweDU3Yjc2NDllLCAweGY0MjE0Y2QyLCAweDI4MjE5OWI0LCAweDhiYjdiMWY4LCAweGI0N2NjZjZkLAorICAgIDB4MTdlYWU3MjEsIDB4ZDcwYzYzZTAsIDB4NzQ5YTRiYWMsIDB4NGI1MTM1MzksIDB4ZThjNzFkNzUsCisgICAgMHgzNGM3YzgxMywgMHg5NzUxZTA1ZiwgMHhhODlhOWVjYSwgMHgwYjBjYjY4NiwgMHg4MWJmZDc5NSwKKyAgICAweDIyMjlmZmQ5LCAweDFkZTI4MTRjLCAweGJlNzRhOTAwLCAweDYyNzQ3YzY2LCAweGMxZTI1NDJhLAorICAgIDB4ZmUyOTJhYmYsIDB4NWRiZjAyZjMsIDB4OWQ1OTg2MzIsIDB4M2VjZmFlN2UsIDB4MDEwNGQwZWIsCisgICAgMHhhMjkyZjhhNywgMHg3ZTkyMmRjMSwgMHhkZDA0MDU4ZCwgMHhlMmNmN2IxOCwgMHg0MTU5NTM1NCwKKyAgICAweGI4NzM3NGRiLCAweDFiZTU1Yzk3LCAweDI0MmUyMjAyLCAweDg3YjgwYTRlLCAweDViYjhkZjI4LAorICAgIDB4ZjgyZWY3NjQsIDB4YzdlNTg5ZjEsIDB4NjQ3M2ExYmQsIDB4YTQ5NTI1N2MsIDB4MDcwMzBkMzAsCisgICAgMHgzOGM4NzNhNSwgMHg5YjVlNWJlOSwgMHg0NzVlOGU4ZiwgMHhlNGM4YTZjMywgMHhkYjAzZDg1NiwKKyAgICAweDc4OTVmMDFhfSwKKyAgIHsweDAwMDAwMDAwLCAweDJhMjgzODYyLCAweDU0NTA3MGM0LCAweDdlNzg0OGE2LCAweGE4YTBlMTg4LAorICAgIDB4ODI4OGQ5ZWEsIDB4ZmNmMDkxNGMsIDB4ZDZkOGE5MmUsIDB4OGEzMGM1NTEsIDB4YTAxOGZkMzMsCisgICAgMHhkZTYwYjU5NSwgMHhmNDQ4OGRmNywgMHgyMjkwMjRkOSwgMHgwOGI4MWNiYiwgMHg3NmMwNTQxZCwKKyAgICAweDVjZTg2YzdmLCAweGNmMTA4Y2UzLCAweGU1MzhiNDgxLCAweDliNDBmYzI3LCAweGIxNjhjNDQ1LAorICAgIDB4NjdiMDZkNmIsIDB4NGQ5ODU1MDksIDB4MzNlMDFkYWYsIDB4MTljODI1Y2QsIDB4NDUyMDQ5YjIsCisgICAgMHg2ZjA4NzFkMCwgMHgxMTcwMzk3NiwgMHgzYjU4MDExNCwgMHhlZDgwYTgzYSwgMHhjN2E4OTA1OCwKKyAgICAweGI5ZDBkOGZlLCAweDkzZjhlMDljLCAweDQ1NTAxZjg3LCAweDZmNzgyN2U1LCAweDExMDA2ZjQzLAorICAgIDB4M2IyODU3MjEsIDB4ZWRmMGZlMGYsIDB4YzdkOGM2NmQsIDB4YjlhMDhlY2IsIDB4OTM4OGI2YTksCisgICAgMHhjZjYwZGFkNiwgMHhlNTQ4ZTJiNCwgMHg5YjMwYWExMiwgMHhiMTE4OTI3MCwgMHg2N2MwM2I1ZSwKKyAgICAweDRkZTgwMzNjLCAweDMzOTA0YjlhLCAweDE5Yjg3M2Y4LCAweDhhNDA5MzY0LCAweGEwNjhhYjA2LAorICAgIDB4ZGUxMGUzYTAsIDB4ZjQzOGRiYzIsIDB4MjJlMDcyZWMsIDB4MDhjODRhOGUsIDB4NzZiMDAyMjgsCisgICAgMHg1Yzk4M2E0YSwgMHgwMDcwNTYzNSwgMHgyYTU4NmU1NywgMHg1NDIwMjZmMSwgMHg3ZTA4MWU5MywKKyAgICAweGE4ZDBiN2JkLCAweDgyZjg4ZmRmLCAweGZjODBjNzc5LCAweGQ2YThmZjFiLCAweDhhYTAzZjBlLAorICAgIDB4YTA4ODA3NmMsIDB4ZGVmMDRmY2EsIDB4ZjRkODc3YTgsIDB4MjIwMGRlODYsIDB4MDgyOGU2ZTQsCisgICAgMHg3NjUwYWU0MiwgMHg1Yzc4OTYyMCwgMHgwMDkwZmE1ZiwgMHgyYWI4YzIzZCwgMHg1NGMwOGE5YiwKKyAgICAweDdlZThiMmY5LCAweGE4MzAxYmQ3LCAweDgyMTgyM2I1LCAweGZjNjA2YjEzLCAweGQ2NDg1MzcxLAorICAgIDB4NDViMGIzZWQsIDB4NmY5ODhiOGYsIDB4MTFlMGMzMjksIDB4M2JjOGZiNGIsIDB4ZWQxMDUyNjUsCisgICAgMHhjNzM4NmEwNywgMHhiOTQwMjJhMSwgMHg5MzY4MWFjMywgMHhjZjgwNzZiYywgMHhlNWE4NGVkZSwKKyAgICAweDliZDAwNjc4LCAweGIxZjgzZTFhLCAweDY3MjA5NzM0LCAweDRkMDhhZjU2LCAweDMzNzBlN2YwLAorICAgIDB4MTk1OGRmOTIsIDB4Y2ZmMDIwODksIDB4ZTVkODE4ZWIsIDB4OWJhMDUwNGQsIDB4YjE4ODY4MmYsCisgICAgMHg2NzUwYzEwMSwgMHg0ZDc4Zjk2MywgMHgzMzAwYjFjNSwgMHgxOTI4ODlhNywgMHg0NWMwZTVkOCwKKyAgICAweDZmZThkZGJhLCAweDExOTA5NTFjLCAweDNiYjhhZDdlLCAweGVkNjAwNDUwLCAweGM3NDgzYzMyLAorICAgIDB4YjkzMDc0OTQsIDB4OTMxODRjZjYsIDB4MDBlMGFjNmEsIDB4MmFjODk0MDgsIDB4NTRiMGRjYWUsCisgICAgMHg3ZTk4ZTRjYywgMHhhODQwNGRlMiwgMHg4MjY4NzU4MCwgMHhmYzEwM2QyNiwgMHhkNjM4MDU0NCwKKyAgICAweDhhZDA2OTNiLCAweGEwZjg1MTU5LCAweGRlODAxOWZmLCAweGY0YTgyMTlkLCAweDIyNzA4OGIzLAorICAgIDB4MDg1OGIwZDEsIDB4NzYyMGY4NzcsIDB4NWMwOGMwMTUsIDB4Y2UzMTc4NWQsIDB4ZTQxOTQwM2YsCisgICAgMHg5YTYxMDg5OSwgMHhiMDQ5MzBmYiwgMHg2NjkxOTlkNSwgMHg0Y2I5YTFiNywgMHgzMmMxZTkxMSwKKyAgICAweDE4ZTlkMTczLCAweDQ0MDFiZDBjLCAweDZlMjk4NTZlLCAweDEwNTFjZGM4LCAweDNhNzlmNWFhLAorICAgIDB4ZWNhMTVjODQsIDB4YzY4OTY0ZTYsIDB4YjhmMTJjNDAsIDB4OTJkOTE0MjIsIDB4MDEyMWY0YmUsCisgICAgMHgyYjA5Y2NkYywgMHg1NTcxODQ3YSwgMHg3ZjU5YmMxOCwgMHhhOTgxMTUzNiwgMHg4M2E5MmQ1NCwKKyAgICAweGZkZDE2NWYyLCAweGQ3Zjk1ZDkwLCAweDhiMTEzMWVmLCAweGExMzkwOThkLCAweGRmNDE0MTJiLAorICAgIDB4ZjU2OTc5NDksIDB4MjNiMWQwNjcsIDB4MDk5OWU4MDUsIDB4NzdlMWEwYTMsIDB4NWRjOTk4YzEsCisgICAgMHg4YjYxNjdkYSwgMHhhMTQ5NWZiOCwgMHhkZjMxMTcxZSwgMHhmNTE5MmY3YywgMHgyM2MxODY1MiwKKyAgICAweDA5ZTliZTMwLCAweDc3OTFmNjk2LCAweDVkYjljZWY0LCAweDAxNTFhMjhiLCAweDJiNzk5YWU5LAorICAgIDB4NTUwMWQyNGYsIDB4N2YyOWVhMmQsIDB4YTlmMTQzMDMsIDB4ODNkOTdiNjEsIDB4ZmRhMTMzYzcsCisgICAgMHhkNzg5MGJhNSwgMHg0NDcxZWIzOSwgMHg2ZTU5ZDM1YiwgMHgxMDIxOWJmZCwgMHgzYTA5YTM5ZiwKKyAgICAweGVjZDEwYWIxLCAweGM2ZjkzMmQzLCAweGI4ODE3YTc1LCAweDkyYTk0MjE3LCAweGNlNDEyZTY4LAorICAgIDB4ZTQ2OTE2MGEsIDB4OWExMTVlYWMsIDB4YjAzOTY2Y2UsIDB4NjZlMWNmZTAsIDB4NGNjOWY3ODIsCisgICAgMHgzMmIxYmYyNCwgMHgxODk5ODc0NiwgMHg0NDkxNDc1MywgMHg2ZWI5N2YzMSwgMHgxMGMxMzc5NywKKyAgICAweDNhZTkwZmY1LCAweGVjMzFhNmRiLCAweGM2MTk5ZWI5LCAweGI4NjFkNjFmLCAweDkyNDllZTdkLAorICAgIDB4Y2VhMTgyMDIsIDB4ZTQ4OWJhNjAsIDB4OWFmMWYyYzYsIDB4YjBkOWNhYTQsIDB4NjYwMTYzOGEsCisgICAgMHg0YzI5NWJlOCwgMHgzMjUxMTM0ZSwgMHgxODc5MmIyYywgMHg4YjgxY2JiMCwgMHhhMWE5ZjNkMiwKKyAgICAweGRmZDFiYjc0LCAweGY1Zjk4MzE2LCAweDIzMjEyYTM4LCAweDA5MDkxMjVhLCAweDc3NzE1YWZjLAorICAgIDB4NWQ1OTYyOWUsIDB4MDFiMTBlZTEsIDB4MmI5OTM2ODMsIDB4NTVlMTdlMjUsIDB4N2ZjOTQ2NDcsCisgICAgMHhhOTExZWY2OSwgMHg4MzM5ZDcwYiwgMHhmZDQxOWZhZCwgMHhkNzY5YTdjZiwgMHgwMWMxNThkNCwKKyAgICAweDJiZTk2MGI2LCAweDU1OTEyODEwLCAweDdmYjkxMDcyLCAweGE5NjFiOTVjLCAweDgzNDk4MTNlLAorICAgIDB4ZmQzMWM5OTgsIDB4ZDcxOWYxZmEsIDB4OGJmMTlkODUsIDB4YTFkOWE1ZTcsIDB4ZGZhMWVkNDEsCisgICAgMHhmNTg5ZDUyMywgMHgyMzUxN2MwZCwgMHgwOTc5NDQ2ZiwgMHg3NzAxMGNjOSwgMHg1ZDI5MzRhYiwKKyAgICAweGNlZDFkNDM3LCAweGU0ZjllYzU1LCAweDlhODFhNGYzLCAweGIwYTk5YzkxLCAweDY2NzEzNWJmLAorICAgIDB4NGM1OTBkZGQsIDB4MzIyMTQ1N2IsIDB4MTgwOTdkMTksIDB4NDRlMTExNjYsIDB4NmVjOTI5MDQsCisgICAgMHgxMGIxNjFhMiwgMHgzYTk5NTljMCwgMHhlYzQxZjBlZSwgMHhjNjY5Yzg4YywgMHhiODExODAyYSwKKyAgICAweDkyMzliODQ4fSwKKyAgIHsweDAwMDAwMDAwLCAweDQ3MTNmNmZiLCAweDhlMjdlZGY2LCAweGM5MzQxYjBkLCAweGM3M2VkZGFkLAorICAgIDB4ODAyZDJiNTYsIDB4NDkxOTMwNWIsIDB4MGUwYWM2YTAsIDB4NTUwY2JkMWIsIDB4MTIxZjRiZTAsCisgICAgMHhkYjJiNTBlZCwgMHg5YzM4YTYxNiwgMHg5MjMyNjBiNiwgMHhkNTIxOTY0ZCwgMHgxYzE1OGQ0MCwKKyAgICAweDViMDY3YmJiLCAweGFhMTk3YTM2LCAweGVkMGE4Y2NkLCAweDI0M2U5N2MwLCAweDYzMmQ2MTNiLAorICAgIDB4NmQyN2E3OWIsIDB4MmEzNDUxNjAsIDB4ZTMwMDRhNmQsIDB4YTQxM2JjOTYsIDB4ZmYxNWM3MmQsCisgICAgMHhiODA2MzFkNiwgMHg3MTMyMmFkYiwgMHgzNjIxZGMyMCwgMHgzODJiMWE4MCwgMHg3ZjM4ZWM3YiwKKyAgICAweGI2MGNmNzc2LCAweGYxMWYwMThkLCAweDhmNDNmMjJkLCAweGM4NTAwNGQ2LCAweDAxNjQxZmRiLAorICAgIDB4NDY3N2U5MjAsIDB4NDg3ZDJmODAsIDB4MGY2ZWQ5N2IsIDB4YzY1YWMyNzYsIDB4ODE0OTM0OGQsCisgICAgMHhkYTRmNGYzNiwgMHg5ZDVjYjljZCwgMHg1NDY4YTJjMCwgMHgxMzdiNTQzYiwgMHgxZDcxOTI5YiwKKyAgICAweDVhNjI2NDYwLCAweDkzNTY3ZjZkLCAweGQ0NDU4OTk2LCAweDI1NWE4ODFiLCAweDYyNDk3ZWUwLAorICAgIDB4YWI3ZDY1ZWQsIDB4ZWM2ZTkzMTYsIDB4ZTI2NDU1YjYsIDB4YTU3N2EzNGQsIDB4NmM0M2I4NDAsCisgICAgMHgyYjUwNGViYiwgMHg3MDU2MzUwMCwgMHgzNzQ1YzNmYiwgMHhmZTcxZDhmNiwgMHhiOTYyMmUwZCwKKyAgICAweGI3NjhlOGFkLCAweGYwN2IxZTU2LCAweDM5NGYwNTViLCAweDdlNWNmM2EwLCAweGM1ZjZlMjFiLAorICAgIDB4ODJlNTE0ZTAsIDB4NGJkMTBmZWQsIDB4MGNjMmY5MTYsIDB4MDJjODNmYjYsIDB4NDVkYmM5NGQsCisgICAgMHg4Y2VmZDI0MCwgMHhjYmZjMjRiYiwgMHg5MGZhNWYwMCwgMHhkN2U5YTlmYiwgMHgxZWRkYjJmNiwKKyAgICAweDU5Y2U0NDBkLCAweDU3YzQ4MmFkLCAweDEwZDc3NDU2LCAweGQ5ZTM2ZjViLCAweDllZjA5OWEwLAorICAgIDB4NmZlZjk4MmQsIDB4MjhmYzZlZDYsIDB4ZTFjODc1ZGIsIDB4YTZkYjgzMjAsIDB4YThkMTQ1ODAsCisgICAgMHhlZmMyYjM3YiwgMHgyNmY2YTg3NiwgMHg2MWU1NWU4ZCwgMHgzYWUzMjUzNiwgMHg3ZGYwZDNjZCwKKyAgICAweGI0YzRjOGMwLCAweGYzZDczZTNiLCAweGZkZGRmODliLCAweGJhY2UwZTYwLCAweDczZmExNTZkLAorICAgIDB4MzRlOWUzOTYsIDB4NGFiNTEwMzYsIDB4MGRhNmU2Y2QsIDB4YzQ5MmZkYzAsIDB4ODM4MTBiM2IsCisgICAgMHg4ZDhiY2Q5YiwgMHhjYTk4M2I2MCwgMHgwM2FjMjA2ZCwgMHg0NGJmZDY5NiwgMHgxZmI5YWQyZCwKKyAgICAweDU4YWE1YmQ2LCAweDkxOWU0MGRiLCAweGQ2OGRiNjIwLCAweGQ4ODc3MDgwLCAweDlmOTQ4NjdiLAorICAgIDB4NTZhMDlkNzYsIDB4MTFiMzZiOGQsIDB4ZTBhYzZhMDAsIDB4YTdiZjljZmIsIDB4NmU4Yjg3ZjYsCisgICAgMHgyOTk4NzEwZCwgMHgyNzkyYjdhZCwgMHg2MDgxNDE1NiwgMHhhOWI1NWE1YiwgMHhlZWE2YWNhMCwKKyAgICAweGI1YTBkNzFiLCAweGYyYjMyMWUwLCAweDNiODczYWVkLCAweDdjOTRjYzE2LCAweDcyOWUwYWI2LAorICAgIDB4MzU4ZGZjNGQsIDB4ZmNiOWU3NDAsIDB4YmJhYTExYmIsIDB4NTA5Y2MyNzcsIDB4MTc4ZjM0OGMsCisgICAgMHhkZWJiMmY4MSwgMHg5OWE4ZDk3YSwgMHg5N2EyMWZkYSwgMHhkMGIxZTkyMSwgMHgxOTg1ZjIyYywKKyAgICAweDVlOTYwNGQ3LCAweDA1OTA3ZjZjLCAweDQyODM4OTk3LCAweDhiYjc5MjlhLCAweGNjYTQ2NDYxLAorICAgIDB4YzJhZWEyYzEsIDB4ODViZDU0M2EsIDB4NGM4OTRmMzcsIDB4MGI5YWI5Y2MsIDB4ZmE4NWI4NDEsCisgICAgMHhiZDk2NGViYSwgMHg3NGEyNTViNywgMHgzM2IxYTM0YywgMHgzZGJiNjVlYywgMHg3YWE4OTMxNywKKyAgICAweGIzOWM4ODFhLCAweGY0OGY3ZWUxLCAweGFmODkwNTVhLCAweGU4OWFmM2ExLCAweDIxYWVlOGFjLAorICAgIDB4NjZiZDFlNTcsIDB4NjhiN2Q4ZjcsIDB4MmZhNDJlMGMsIDB4ZTY5MDM1MDEsIDB4YTE4M2MzZmEsCisgICAgMHhkZmRmMzA1YSwgMHg5OGNjYzZhMSwgMHg1MWY4ZGRhYywgMHgxNmViMmI1NywgMHgxOGUxZWRmNywKKyAgICAweDVmZjIxYjBjLCAweDk2YzYwMDAxLCAweGQxZDVmNmZhLCAweDhhZDM4ZDQxLCAweGNkYzA3YmJhLAorICAgIDB4MDRmNDYwYjcsIDB4NDNlNzk2NGMsIDB4NGRlZDUwZWMsIDB4MGFmZWE2MTcsIDB4YzNjYWJkMWEsCisgICAgMHg4NGQ5NGJlMSwgMHg3NWM2NGE2YywgMHgzMmQ1YmM5NywgMHhmYmUxYTc5YSwgMHhiY2YyNTE2MSwKKyAgICAweGIyZjg5N2MxLCAweGY1ZWI2MTNhLCAweDNjZGY3YTM3LCAweDdiY2M4Y2NjLCAweDIwY2FmNzc3LAorICAgIDB4NjdkOTAxOGMsIDB4YWVlZDFhODEsIDB4ZTlmZWVjN2EsIDB4ZTdmNDJhZGEsIDB4YTBlN2RjMjEsCisgICAgMHg2OWQzYzcyYywgMHgyZWMwMzFkNywgMHg5NTZhMjA2YywgMHhkMjc5ZDY5NywgMHgxYjRkY2Q5YSwKKyAgICAweDVjNWUzYjYxLCAweDUyNTRmZGMxLCAweDE1NDcwYjNhLCAweGRjNzMxMDM3LCAweDliNjBlNmNjLAorICAgIDB4YzA2NjlkNzcsIDB4ODc3NTZiOGMsIDB4NGU0MTcwODEsIDB4MDk1Mjg2N2EsIDB4MDc1ODQwZGEsCisgICAgMHg0MDRiYjYyMSwgMHg4OTdmYWQyYywgMHhjZTZjNWJkNywgMHgzZjczNWE1YSwgMHg3ODYwYWNhMSwKKyAgICAweGIxNTRiN2FjLCAweGY2NDc0MTU3LCAweGY4NGQ4N2Y3LCAweGJmNWU3MTBjLCAweDc2NmE2YTAxLAorICAgIDB4MzE3OTljZmEsIDB4NmE3ZmU3NDEsIDB4MmQ2YzExYmEsIDB4ZTQ1ODBhYjcsIDB4YTM0YmZjNGMsCisgICAgMHhhZDQxM2FlYywgMHhlYTUyY2MxNywgMHgyMzY2ZDcxYSwgMHg2NDc1MjFlMSwgMHgxYTI5ZDI0MSwKKyAgICAweDVkM2EyNGJhLCAweDk0MGUzZmI3LCAweGQzMWRjOTRjLCAweGRkMTcwZmVjLCAweDlhMDRmOTE3LAorICAgIDB4NTMzMGUyMWEsIDB4MTQyMzE0ZTEsIDB4NGYyNTZmNWEsIDB4MDgzNjk5YTEsIDB4YzEwMjgyYWMsCisgICAgMHg4NjExNzQ1NywgMHg4ODFiYjJmNywgMHhjZjA4NDQwYywgMHgwNjNjNWYwMSwgMHg0MTJmYTlmYSwKKyAgICAweGIwMzBhODc3LCAweGY3MjM1ZThjLCAweDNlMTc0NTgxLCAweDc5MDRiMzdhLCAweDc3MGU3NWRhLAorICAgIDB4MzAxZDgzMjEsIDB4ZjkyOTk4MmMsIDB4YmUzYTZlZDcsIDB4ZTUzYzE1NmMsIDB4YTIyZmUzOTcsCisgICAgMHg2YjFiZjg5YSwgMHgyYzA4MGU2MSwgMHgyMjAyYzhjMSwgMHg2NTExM2UzYSwgMHhhYzI1MjUzNywKKyAgICAweGViMzZkM2NjfSwKKyAgIHsweDAwMDAwMDAwLCAweGExMzk4NGVlLCAweDk5MDIwZjlkLCAweDM4M2I4YjczLCAweGU5NzUxOTdiLAorICAgIDB4NDg0YzlkOTUsIDB4NzA3NzE2ZTYsIDB4ZDE0ZTkyMDgsIDB4MDk5YjM0YjcsIDB4YThhMmIwNTksCisgICAgMHg5MDk5M2IyYSwgMHgzMWEwYmZjNCwgMHhlMGVlMmRjYywgMHg0MWQ3YTkyMiwgMHg3OWVjMjI1MSwKKyAgICAweGQ4ZDVhNmJmLCAweDEzMzY2OTZlLCAweGIyMGZlZDgwLCAweDhhMzQ2NmYzLCAweDJiMGRlMjFkLAorICAgIDB4ZmE0MzcwMTUsIDB4NWI3YWY0ZmIsIDB4NjM0MTdmODgsIDB4YzI3OGZiNjYsIDB4MWFhZDVkZDksCisgICAgMHhiYjk0ZDkzNywgMHg4M2FmNTI0NCwgMHgyMjk2ZDZhYSwgMHhmM2Q4NDRhMiwgMHg1MmUxYzA0YywKKyAgICAweDZhZGE0YjNmLCAweGNiZTNjZmQxLCAweDI2NmNkMmRjLCAweDg3NTU1NjMyLCAweGJmNmVkZDQxLAorICAgIDB4MWU1NzU5YWYsIDB4Y2YxOWNiYTcsIDB4NmUyMDRmNDksIDB4NTYxYmM0M2EsIDB4ZjcyMjQwZDQsCisgICAgMHgyZmY3ZTY2YiwgMHg4ZWNlNjI4NSwgMHhiNmY1ZTlmNiwgMHgxN2NjNmQxOCwgMHhjNjgyZmYxMCwKKyAgICAweDY3YmI3YmZlLCAweDVmODBmMDhkLCAweGZlYjk3NDYzLCAweDM1NWFiYmIyLCAweDk0NjMzZjVjLAorICAgIDB4YWM1OGI0MmYsIDB4MGQ2MTMwYzEsIDB4ZGMyZmEyYzksIDB4N2QxNjI2MjcsIDB4NDUyZGFkNTQsCisgICAgMHhlNDE0MjliYSwgMHgzY2MxOGYwNSwgMHg5ZGY4MGJlYiwgMHhhNWMzODA5OCwgMHgwNGZhMDQ3NiwKKyAgICAweGQ1YjQ5NjdlLCAweDc0OGQxMjkwLCAweDRjYjY5OWUzLCAweGVkOGYxZDBkLCAweDRjZDlhNWI4LAorICAgIDB4ZWRlMDIxNTYsIDB4ZDVkYmFhMjUsIDB4NzRlMjJlY2IsIDB4YTVhY2JjYzMsIDB4MDQ5NTM4MmQsCisgICAgMHgzY2FlYjM1ZSwgMHg5ZDk3MzdiMCwgMHg0NTQyOTEwZiwgMHhlNDdiMTVlMSwgMHhkYzQwOWU5MiwKKyAgICAweDdkNzkxYTdjLCAweGFjMzc4ODc0LCAweDBkMGUwYzlhLCAweDM1MzU4N2U5LCAweDk0MGMwMzA3LAorICAgIDB4NWZlZmNjZDYsIDB4ZmVkNjQ4MzgsIDB4YzZlZGMzNGIsIDB4NjdkNDQ3YTUsIDB4YjY5YWQ1YWQsCisgICAgMHgxN2EzNTE0MywgMHgyZjk4ZGEzMCwgMHg4ZWExNWVkZSwgMHg1Njc0Zjg2MSwgMHhmNzRkN2M4ZiwKKyAgICAweGNmNzZmN2ZjLCAweDZlNGY3MzEyLCAweGJmMDFlMTFhLCAweDFlMzg2NWY0LCAweDI2MDNlZTg3LAorICAgIDB4ODczYTZhNjksIDB4NmFiNTc3NjQsIDB4Y2I4Y2YzOGEsIDB4ZjNiNzc4ZjksIDB4NTI4ZWZjMTcsCisgICAgMHg4M2MwNmUxZiwgMHgyMmY5ZWFmMSwgMHgxYWMyNjE4MiwgMHhiYmZiZTU2YywgMHg2MzJlNDNkMywKKyAgICAweGMyMTdjNzNkLCAweGZhMmM0YzRlLCAweDViMTVjOGEwLCAweDhhNWI1YWE4LCAweDJiNjJkZTQ2LAorICAgIDB4MTM1OTU1MzUsIDB4YjI2MGQxZGIsIDB4Nzk4MzFlMGEsIDB4ZDhiYTlhZTQsIDB4ZTA4MTExOTcsCisgICAgMHg0MWI4OTU3OSwgMHg5MGY2MDc3MSwgMHgzMWNmODM5ZiwgMHgwOWY0MDhlYywgMHhhOGNkOGMwMiwKKyAgICAweDcwMTgyYWJkLCAweGQxMjFhZTUzLCAweGU5MWEyNTIwLCAweDQ4MjNhMWNlLCAweDk5NmQzM2M2LAorICAgIDB4Mzg1NGI3MjgsIDB4MDA2ZjNjNWIsIDB4YTE1NmI4YjUsIDB4OTliMzRiNzAsIDB4Mzg4YWNmOWUsCisgICAgMHgwMGIxNDRlZCwgMHhhMTg4YzAwMywgMHg3MGM2NTIwYiwgMHhkMWZmZDZlNSwgMHhlOWM0NWQ5NiwKKyAgICAweDQ4ZmRkOTc4LCAweDkwMjg3ZmM3LCAweDMxMTFmYjI5LCAweDA5MmE3MDVhLCAweGE4MTNmNGI0LAorICAgIDB4Nzk1ZDY2YmMsIDB4ZDg2NGUyNTIsIDB4ZTA1ZjY5MjEsIDB4NDE2NmVkY2YsIDB4OGE4NTIyMWUsCisgICAgMHgyYmJjYTZmMCwgMHgxMzg3MmQ4MywgMHhiMmJlYTk2ZCwgMHg2M2YwM2I2NSwgMHhjMmM5YmY4YiwKKyAgICAweGZhZjIzNGY4LCAweDViY2JiMDE2LCAweDgzMWUxNmE5LCAweDIyMjc5MjQ3LCAweDFhMWMxOTM0LAorICAgIDB4YmIyNTlkZGEsIDB4NmE2YjBmZDIsIDB4Y2I1MjhiM2MsIDB4ZjM2OTAwNGYsIDB4NTI1MDg0YTEsCisgICAgMHhiZmRmOTlhYywgMHgxZWU2MWQ0MiwgMHgyNmRkOTYzMSwgMHg4N2U0MTJkZiwgMHg1NmFhODBkNywKKyAgICAweGY3OTMwNDM5LCAweGNmYTg4ZjRhLCAweDZlOTEwYmE0LCAweGI2NDRhZDFiLCAweDE3N2QyOWY1LAorICAgIDB4MmY0NmEyODYsIDB4OGU3ZjI2NjgsIDB4NWYzMWI0NjAsIDB4ZmUwODMwOGUsIDB4YzYzM2JiZmQsCisgICAgMHg2NzBhM2YxMywgMHhhY2U5ZjBjMiwgMHgwZGQwNzQyYywgMHgzNWViZmY1ZiwgMHg5NGQyN2JiMSwKKyAgICAweDQ1OWNlOWI5LCAweGU0YTU2ZDU3LCAweGRjOWVlNjI0LCAweDdkYTc2MmNhLCAweGE1NzJjNDc1LAorICAgIDB4MDQ0YjQwOWIsIDB4M2M3MGNiZTgsIDB4OWQ0OTRmMDYsIDB4NGMwN2RkMGUsIDB4ZWQzZTU5ZTAsCisgICAgMHhkNTA1ZDI5MywgMHg3NDNjNTY3ZCwgMHhkNTZhZWVjOCwgMHg3NDUzNmEyNiwgMHg0YzY4ZTE1NSwKKyAgICAweGVkNTE2NWJiLCAweDNjMWZmN2IzLCAweDlkMjY3MzVkLCAweGE1MWRmODJlLCAweDA0MjQ3Y2MwLAorICAgIDB4ZGNmMWRhN2YsIDB4N2RjODVlOTEsIDB4NDVmM2Q1ZTIsIDB4ZTRjYTUxMGMsIDB4MzU4NGMzMDQsCisgICAgMHg5NGJkNDdlYSwgMHhhYzg2Y2M5OSwgMHgwZGJmNDg3NywgMHhjNjVjODdhNiwgMHg2NzY1MDM0OCwKKyAgICAweDVmNWU4ODNiLCAweGZlNjcwY2Q1LCAweDJmMjk5ZWRkLCAweDhlMTAxYTMzLCAweGI2MmI5MTQwLAorICAgIDB4MTcxMjE1YWUsIDB4Y2ZjN2IzMTEsIDB4NmVmZTM3ZmYsIDB4NTZjNWJjOGMsIDB4ZjdmYzM4NjIsCisgICAgMHgyNmIyYWE2YSwgMHg4NzhiMmU4NCwgMHhiZmIwYTVmNywgMHgxZTg5MjExOSwgMHhmMzA2M2MxNCwKKyAgICAweDUyM2ZiOGZhLCAweDZhMDQzMzg5LCAweGNiM2RiNzY3LCAweDFhNzMyNTZmLCAweGJiNGFhMTgxLAorICAgIDB4ODM3MTJhZjIsIDB4MjI0OGFlMWMsIDB4ZmE5ZDA4YTMsIDB4NWJhNDhjNGQsIDB4NjM5ZjA3M2UsCisgICAgMHhjMmE2ODNkMCwgMHgxM2U4MTFkOCwgMHhiMmQxOTUzNiwgMHg4YWVhMWU0NSwgMHgyYmQzOWFhYiwKKyAgICAweGUwMzA1NTdhLCAweDQxMDlkMTk0LCAweDc5MzI1YWU3LCAweGQ4MGJkZTA5LCAweDA5NDU0YzAxLAorICAgIDB4YTg3Y2M4ZWYsIDB4OTA0NzQzOWMsIDB4MzE3ZWM3NzIsIDB4ZTlhYjYxY2QsIDB4NDg5MmU1MjMsCisgICAgMHg3MGE5NmU1MCwgMHhkMTkwZWFiZSwgMHgwMGRlNzhiNiwgMHhhMWU3ZmM1OCwgMHg5OWRjNzcyYiwKKyAgICAweDM4ZTVmM2M1fSwKKyAgIHsweDAwMDAwMDAwLCAweGU4MTc5MGExLCAweDBiNWUyNzAzLCAweGUzNDliN2EyLCAweDE2YmM0ZTA2LAorICAgIDB4ZmVhYmRlYTcsIDB4MWRlMjY5MDUsIDB4ZjVmNWY5YTQsIDB4MmQ3ODljMGMsIDB4YzU2ZjBjYWQsCisgICAgMHgyNjI2YmIwZiwgMHhjZTMxMmJhZSwgMHgzYmM0ZDIwYSwgMHhkM2QzNDJhYiwgMHgzMDlhZjUwOSwKKyAgICAweGQ4OGQ2NWE4LCAweDVhZjEzODE4LCAweGIyZTZhOGI5LCAweDUxYWYxZjFiLCAweGI5Yjg4ZmJhLAorICAgIDB4NGM0ZDc2MWUsIDB4YTQ1YWU2YmYsIDB4NDcxMzUxMWQsIDB4YWYwNGMxYmMsIDB4Nzc4OWE0MTQsCisgICAgMHg5ZjllMzRiNSwgMHg3Y2Q3ODMxNywgMHg5NGMwMTNiNiwgMHg2MTM1ZWExMiwgMHg4OTIyN2FiMywKKyAgICAweDZhNmJjZDExLCAweDgyN2M1ZGIwLCAweGI1ZTI3MDMwLCAweDVkZjVlMDkxLCAweGJlYmM1NzMzLAorICAgIDB4NTZhYmM3OTIsIDB4YTM1ZTNlMzYsIDB4NGI0OWFlOTcsIDB4YTgwMDE5MzUsIDB4NDAxNzg5OTQsCisgICAgMHg5ODlhZWMzYywgMHg3MDhkN2M5ZCwgMHg5M2M0Y2IzZiwgMHg3YmQzNWI5ZSwgMHg4ZTI2YTIzYSwKKyAgICAweDY2MzEzMjliLCAweDg1Nzg4NTM5LCAweDZkNmYxNTk4LCAweGVmMTM0ODI4LCAweDA3MDRkODg5LAorICAgIDB4ZTQ0ZDZmMmIsIDB4MGM1YWZmOGEsIDB4ZjlhZjA2MmUsIDB4MTFiODk2OGYsIDB4ZjJmMTIxMmQsCisgICAgMHgxYWU2YjE4YywgMHhjMjZiZDQyNCwgMHgyYTdjNDQ4NSwgMHhjOTM1ZjMyNywgMHgyMTIyNjM4NiwKKyAgICAweGQ0ZDc5YTIyLCAweDNjYzAwYTgzLCAweGRmODliZDIxLCAweDM3OWUyZDgwLCAweGIwYjVlNjIxLAorICAgIDB4NThhMjc2ODAsIDB4YmJlYmMxMjIsIDB4NTNmYzUxODMsIDB4YTYwOWE4MjcsIDB4NGUxZTM4ODYsCisgICAgMHhhZDU3OGYyNCwgMHg0NTQwMWY4NSwgMHg5ZGNkN2EyZCwgMHg3NWRhZWE4YywgMHg5NjkzNWQyZSwKKyAgICAweDdlODRjZDhmLCAweDhiNzEzNDJiLCAweDYzNjZhNDhhLCAweDgwMmYxMzI4LCAweDY4Mzg4Mzg5LAorICAgIDB4ZWE0NGRlMzksIDB4MDI1MzRlOTgsIDB4ZTExYWY5M2EsIDB4MDkwZDY5OWIsIDB4ZmNmODkwM2YsCisgICAgMHgxNGVmMDA5ZSwgMHhmN2E2YjczYywgMHgxZmIxMjc5ZCwgMHhjNzNjNDIzNSwgMHgyZjJiZDI5NCwKKyAgICAweGNjNjI2NTM2LCAweDI0NzVmNTk3LCAweGQxODAwYzMzLCAweDM5OTc5YzkyLCAweGRhZGUyYjMwLAorICAgIDB4MzJjOWJiOTEsIDB4MDU1Nzk2MTEsIDB4ZWQ0MDA2YjAsIDB4MGUwOWIxMTIsIDB4ZTYxZTIxYjMsCisgICAgMHgxM2ViZDgxNywgMHhmYmZjNDhiNiwgMHgxOGI1ZmYxNCwgMHhmMGEyNmZiNSwgMHgyODJmMGExZCwKKyAgICAweGMwMzg5YWJjLCAweDIzNzEyZDFlLCAweGNiNjZiZGJmLCAweDNlOTM0NDFiLCAweGQ2ODRkNGJhLAorICAgIDB4MzVjZDYzMTgsIDB4ZGRkYWYzYjksIDB4NWZhNmFlMDksIDB4YjdiMTNlYTgsIDB4NTRmODg5MGEsCisgICAgMHhiY2VmMTlhYiwgMHg0OTFhZTAwZiwgMHhhMTBkNzBhZSwgMHg0MjQ0YzcwYywgMHhhYTUzNTdhZCwKKyAgICAweDcyZGUzMjA1LCAweDlhYzlhMmE0LCAweDc5ODAxNTA2LCAweDkxOTc4NWE3LCAweDY0NjI3YzAzLAorICAgIDB4OGM3NWVjYTIsIDB4NmYzYzViMDAsIDB4ODcyYmNiYTEsIDB4YmExYWNhMDMsIDB4NTIwZDVhYTIsCisgICAgMHhiMTQ0ZWQwMCwgMHg1OTUzN2RhMSwgMHhhY2E2ODQwNSwgMHg0NGIxMTRhNCwgMHhhN2Y4YTMwNiwKKyAgICAweDRmZWYzM2E3LCAweDk3NjI1NjBmLCAweDdmNzVjNmFlLCAweDljM2M3MTBjLCAweDc0MmJlMWFkLAorICAgIDB4ODFkZTE4MDksIDB4NjljOTg4YTgsIDB4OGE4MDNmMGEsIDB4NjI5N2FmYWIsIDB4ZTBlYmYyMWIsCisgICAgMHgwOGZjNjJiYSwgMHhlYmI1ZDUxOCwgMHgwM2EyNDViOSwgMHhmNjU3YmMxZCwgMHgxZTQwMmNiYywKKyAgICAweGZkMDk5YjFlLCAweDE1MWUwYmJmLCAweGNkOTM2ZTE3LCAweDI1ODRmZWI2LCAweGM2Y2Q0OTE0LAorICAgIDB4MmVkYWQ5YjUsIDB4ZGIyZjIwMTEsIDB4MzMzOGIwYjAsIDB4ZDA3MTA3MTIsIDB4Mzg2Njk3YjMsCisgICAgMHgwZmY4YmEzMywgMHhlN2VmMmE5MiwgMHgwNGE2OWQzMCwgMHhlY2IxMGQ5MSwgMHgxOTQ0ZjQzNSwKKyAgICAweGYxNTM2NDk0LCAweDEyMWFkMzM2LCAweGZhMGQ0Mzk3LCAweDIyODAyNjNmLCAweGNhOTdiNjllLAorICAgIDB4MjlkZTAxM2MsIDB4YzFjOTkxOWQsIDB4MzQzYzY4MzksIDB4ZGMyYmY4OTgsIDB4M2Y2MjRmM2EsCisgICAgMHhkNzc1ZGY5YiwgMHg1NTA5ODIyYiwgMHhiZDFlMTI4YSwgMHg1ZTU3YTUyOCwgMHhiNjQwMzU4OSwKKyAgICAweDQzYjVjYzJkLCAweGFiYTI1YzhjLCAweDQ4ZWJlYjJlLCAweGEwZmM3YjhmLCAweDc4NzExZTI3LAorICAgIDB4OTA2NjhlODYsIDB4NzMyZjM5MjQsIDB4OWIzOGE5ODUsIDB4NmVjZDUwMjEsIDB4ODZkYWMwODAsCisgICAgMHg2NTkzNzcyMiwgMHg4ZDg0ZTc4MywgMHgwYWFmMmMyMiwgMHhlMmI4YmM4MywgMHgwMWYxMGIyMSwKKyAgICAweGU5ZTY5YjgwLCAweDFjMTM2MjI0LCAweGY0MDRmMjg1LCAweDE3NGQ0NTI3LCAweGZmNWFkNTg2LAorICAgIDB4MjdkN2IwMmUsIDB4Y2ZjMDIwOGYsIDB4MmM4OTk3MmQsIDB4YzQ5ZTA3OGMsIDB4MzE2YmZlMjgsCisgICAgMHhkOTdjNmU4OSwgMHgzYTM1ZDkyYiwgMHhkMjIyNDk4YSwgMHg1MDVlMTQzYSwgMHhiODQ5ODQ5YiwKKyAgICAweDViMDAzMzM5LCAweGIzMTdhMzk4LCAweDQ2ZTI1YTNjLCAweGFlZjVjYTlkLCAweDRkYmM3ZDNmLAorICAgIDB4YTVhYmVkOWUsIDB4N2QyNjg4MzYsIDB4OTUzMTE4OTcsIDB4NzY3OGFmMzUsIDB4OWU2ZjNmOTQsCisgICAgMHg2YjlhYzYzMCwgMHg4MzhkNTY5MSwgMHg2MGM0ZTEzMywgMHg4OGQzNzE5MiwgMHhiZjRkNWMxMiwKKyAgICAweDU3NWFjY2IzLCAweGI0MTM3YjExLCAweDVjMDRlYmIwLCAweGE5ZjExMjE0LCAweDQxZTY4MmI1LAorICAgIDB4YTJhZjM1MTcsIDB4NGFiOGE1YjYsIDB4OTIzNWMwMWUsIDB4N2EyMjUwYmYsIDB4OTk2YmU3MWQsCisgICAgMHg3MTdjNzdiYywgMHg4NDg5OGUxOCwgMHg2YzllMWViOSwgMHg4ZmQ3YTkxYiwgMHg2N2MwMzliYSwKKyAgICAweGU1YmM2NDBhLCAweDBkYWJmNGFiLCAweGVlZTI0MzA5LCAweDA2ZjVkM2E4LCAweGYzMDAyYTBjLAorICAgIDB4MWIxN2JhYWQsIDB4Zjg1ZTBkMGYsIDB4MTA0OTlkYWUsIDB4YzhjNGY4MDYsIDB4MjBkMzY4YTcsCisgICAgMHhjMzlhZGYwNSwgMHgyYjhkNGZhNCwgMHhkZTc4YjYwMCwgMHgzNjZmMjZhMSwgMHhkNTI2OTEwMywKKyAgICAweDNkMzEwMWEyfX07CisKK2xvY2FsIGNvbnN0IHpfd29yZF90IEZBUiBjcmNfYnJhaWRfYmlnX3RhYmxlW11bMjU2XSA9IHsKKyAgIHsweDAwMDAwMDAwMDAwMDAwMDAsIDB4YTE5MDE3ZTgwMDAwMDAwMCwgMHgwMzI3NWUwYjAwMDAwMDAwLAorICAgIDB4YTJiNzQ5ZTMwMDAwMDAwMCwgMHgwNjRlYmMxNjAwMDAwMDAwLCAweGE3ZGVhYmZlMDAwMDAwMDAsCisgICAgMHgwNTY5ZTIxZDAwMDAwMDAwLCAweGE0ZjlmNWY1MDAwMDAwMDAsIDB4MGM5Yzc4MmQwMDAwMDAwMCwKKyAgICAweGFkMGM2ZmM1MDAwMDAwMDAsIDB4MGZiYjI2MjYwMDAwMDAwMCwgMHhhZTJiMzFjZTAwMDAwMDAwLAorICAgIDB4MGFkMmM0M2IwMDAwMDAwMCwgMHhhYjQyZDNkMzAwMDAwMDAwLCAweDA5ZjU5YTMwMDAwMDAwMDAsCisgICAgMHhhODY1OGRkODAwMDAwMDAwLCAweDE4MzhmMTVhMDAwMDAwMDAsIDB4YjlhOGU2YjIwMDAwMDAwMCwKKyAgICAweDFiMWZhZjUxMDAwMDAwMDAsIDB4YmE4ZmI4YjkwMDAwMDAwMCwgMHgxZTc2NGQ0YzAwMDAwMDAwLAorICAgIDB4YmZlNjVhYTQwMDAwMDAwMCwgMHgxZDUxMTM0NzAwMDAwMDAwLCAweGJjYzEwNGFmMDAwMDAwMDAsCisgICAgMHgxNGE0ODk3NzAwMDAwMDAwLCAweGI1MzQ5ZTlmMDAwMDAwMDAsIDB4MTc4M2Q3N2MwMDAwMDAwMCwKKyAgICAweGI2MTNjMDk0MDAwMDAwMDAsIDB4MTJlYTM1NjEwMDAwMDAwMCwgMHhiMzdhMjI4OTAwMDAwMDAwLAorICAgIDB4MTFjZDZiNmEwMDAwMDAwMCwgMHhiMDVkN2M4MjAwMDAwMDAwLCAweDMwNzBlMmI1MDAwMDAwMDAsCisgICAgMHg5MWUwZjU1ZDAwMDAwMDAwLCAweDMzNTdiY2JlMDAwMDAwMDAsIDB4OTJjN2FiNTYwMDAwMDAwMCwKKyAgICAweDM2M2U1ZWEzMDAwMDAwMDAsIDB4OTdhZTQ5NGIwMDAwMDAwMCwgMHgzNTE5MDBhODAwMDAwMDAwLAorICAgIDB4OTQ4OTE3NDAwMDAwMDAwMCwgMHgzY2VjOWE5ODAwMDAwMDAwLCAweDlkN2M4ZDcwMDAwMDAwMDAsCisgICAgMHgzZmNiYzQ5MzAwMDAwMDAwLCAweDllNWJkMzdiMDAwMDAwMDAsIDB4M2FhMjI2OGUwMDAwMDAwMCwKKyAgICAweDliMzIzMTY2MDAwMDAwMDAsIDB4Mzk4NTc4ODUwMDAwMDAwMCwgMHg5ODE1NmY2ZDAwMDAwMDAwLAorICAgIDB4Mjg0ODEzZWYwMDAwMDAwMCwgMHg4OWQ4MDQwNzAwMDAwMDAwLCAweDJiNmY0ZGU0MDAwMDAwMDAsCisgICAgMHg4YWZmNWEwYzAwMDAwMDAwLCAweDJlMDZhZmY5MDAwMDAwMDAsIDB4OGY5NmI4MTEwMDAwMDAwMCwKKyAgICAweDJkMjFmMWYyMDAwMDAwMDAsIDB4OGNiMWU2MWEwMDAwMDAwMCwgMHgyNGQ0NmJjMjAwMDAwMDAwLAorICAgIDB4ODU0NDdjMmEwMDAwMDAwMCwgMHgyN2YzMzVjOTAwMDAwMDAwLCAweDg2NjMyMjIxMDAwMDAwMDAsCisgICAgMHgyMjlhZDdkNDAwMDAwMDAwLCAweDgzMGFjMDNjMDAwMDAwMDAsIDB4MjFiZDg5ZGYwMDAwMDAwMCwKKyAgICAweDgwMmQ5ZTM3MDAwMDAwMDAsIDB4MjFlNmI1YjAwMDAwMDAwMCwgMHg4MDc2YTI1ODAwMDAwMDAwLAorICAgIDB4MjJjMWViYmIwMDAwMDAwMCwgMHg4MzUxZmM1MzAwMDAwMDAwLCAweDI3YTgwOWE2MDAwMDAwMDAsCisgICAgMHg4NjM4MWU0ZTAwMDAwMDAwLCAweDI0OGY1N2FkMDAwMDAwMDAsIDB4ODUxZjQwNDUwMDAwMDAwMCwKKyAgICAweDJkN2FjZDlkMDAwMDAwMDAsIDB4OGNlYWRhNzUwMDAwMDAwMCwgMHgyZTVkOTM5NjAwMDAwMDAwLAorICAgIDB4OGZjZDg0N2UwMDAwMDAwMCwgMHgyYjM0NzE4YjAwMDAwMDAwLCAweDhhYTQ2NjYzMDAwMDAwMDAsCisgICAgMHgyODEzMmY4MDAwMDAwMDAwLCAweDg5ODMzODY4MDAwMDAwMDAsIDB4MzlkZTQ0ZWEwMDAwMDAwMCwKKyAgICAweDk4NGU1MzAyMDAwMDAwMDAsIDB4M2FmOTFhZTEwMDAwMDAwMCwgMHg5YjY5MGQwOTAwMDAwMDAwLAorICAgIDB4M2Y5MGY4ZmMwMDAwMDAwMCwgMHg5ZTAwZWYxNDAwMDAwMDAwLCAweDNjYjdhNmY3MDAwMDAwMDAsCisgICAgMHg5ZDI3YjExZjAwMDAwMDAwLCAweDM1NDIzY2M3MDAwMDAwMDAsIDB4OTRkMjJiMmYwMDAwMDAwMCwKKyAgICAweDM2NjU2MmNjMDAwMDAwMDAsIDB4OTdmNTc1MjQwMDAwMDAwMCwgMHgzMzBjODBkMTAwMDAwMDAwLAorICAgIDB4OTI5Yzk3MzkwMDAwMDAwMCwgMHgzMDJiZGVkYTAwMDAwMDAwLCAweDkxYmJjOTMyMDAwMDAwMDAsCisgICAgMHgxMTk2NTcwNTAwMDAwMDAwLCAweGIwMDY0MGVkMDAwMDAwMDAsIDB4MTJiMTA5MGUwMDAwMDAwMCwKKyAgICAweGIzMjExZWU2MDAwMDAwMDAsIDB4MTdkOGViMTMwMDAwMDAwMCwgMHhiNjQ4ZmNmYjAwMDAwMDAwLAorICAgIDB4MTRmZmI1MTgwMDAwMDAwMCwgMHhiNTZmYTJmMDAwMDAwMDAwLCAweDFkMGEyZjI4MDAwMDAwMDAsCisgICAgMHhiYzlhMzhjMDAwMDAwMDAwLCAweDFlMmQ3MTIzMDAwMDAwMDAsIDB4YmZiZDY2Y2IwMDAwMDAwMCwKKyAgICAweDFiNDQ5MzNlMDAwMDAwMDAsIDB4YmFkNDg0ZDYwMDAwMDAwMCwgMHgxODYzY2QzNTAwMDAwMDAwLAorICAgIDB4YjlmM2RhZGQwMDAwMDAwMCwgMHgwOWFlYTY1ZjAwMDAwMDAwLCAweGE4M2ViMWI3MDAwMDAwMDAsCisgICAgMHgwYTg5Zjg1NDAwMDAwMDAwLCAweGFiMTllZmJjMDAwMDAwMDAsIDB4MGZlMDFhNDkwMDAwMDAwMCwKKyAgICAweGFlNzAwZGExMDAwMDAwMDAsIDB4MGNjNzQ0NDIwMDAwMDAwMCwgMHhhZDU3NTNhYTAwMDAwMDAwLAorICAgIDB4MDUzMmRlNzIwMDAwMDAwMCwgMHhhNGEyYzk5YTAwMDAwMDAwLCAweDA2MTU4MDc5MDAwMDAwMDAsCisgICAgMHhhNzg1OTc5MTAwMDAwMDAwLCAweDAzN2M2MjY0MDAwMDAwMDAsIDB4YTJlYzc1OGMwMDAwMDAwMCwKKyAgICAweDAwNWIzYzZmMDAwMDAwMDAsIDB4YTFjYjJiODcwMDAwMDAwMCwgMHgwM2NhMWFiYTAwMDAwMDAwLAorICAgIDB4YTI1YTBkNTIwMDAwMDAwMCwgMHgwMGVkNDRiMTAwMDAwMDAwLCAweGExN2Q1MzU5MDAwMDAwMDAsCisgICAgMHgwNTg0YTZhYzAwMDAwMDAwLCAweGE0MTRiMTQ0MDAwMDAwMDAsIDB4MDZhM2Y4YTcwMDAwMDAwMCwKKyAgICAweGE3MzNlZjRmMDAwMDAwMDAsIDB4MGY1NjYyOTcwMDAwMDAwMCwgMHhhZWM2NzU3ZjAwMDAwMDAwLAorICAgIDB4MGM3MTNjOWMwMDAwMDAwMCwgMHhhZGUxMmI3NDAwMDAwMDAwLCAweDA5MThkZTgxMDAwMDAwMDAsCisgICAgMHhhODg4Yzk2OTAwMDAwMDAwLCAweDBhM2Y4MDhhMDAwMDAwMDAsIDB4YWJhZjk3NjIwMDAwMDAwMCwKKyAgICAweDFiZjJlYmUwMDAwMDAwMDAsIDB4YmE2MmZjMDgwMDAwMDAwMCwgMHgxOGQ1YjVlYjAwMDAwMDAwLAorICAgIDB4Yjk0NWEyMDMwMDAwMDAwMCwgMHgxZGJjNTdmNjAwMDAwMDAwLCAweGJjMmM0MDFlMDAwMDAwMDAsCisgICAgMHgxZTliMDlmZDAwMDAwMDAwLCAweGJmMGIxZTE1MDAwMDAwMDAsIDB4MTc2ZTkzY2QwMDAwMDAwMCwKKyAgICAweGI2ZmU4NDI1MDAwMDAwMDAsIDB4MTQ0OWNkYzYwMDAwMDAwMCwgMHhiNWQ5ZGEyZTAwMDAwMDAwLAorICAgIDB4MTEyMDJmZGIwMDAwMDAwMCwgMHhiMGIwMzgzMzAwMDAwMDAwLCAweDEyMDc3MWQwMDAwMDAwMDAsCisgICAgMHhiMzk3NjYzODAwMDAwMDAwLCAweDMzYmFmODBmMDAwMDAwMDAsIDB4OTIyYWVmZTcwMDAwMDAwMCwKKyAgICAweDMwOWRhNjA0MDAwMDAwMDAsIDB4OTEwZGIxZWMwMDAwMDAwMCwgMHgzNWY0NDQxOTAwMDAwMDAwLAorICAgIDB4OTQ2NDUzZjEwMDAwMDAwMCwgMHgzNmQzMWExMjAwMDAwMDAwLCAweDk3NDMwZGZhMDAwMDAwMDAsCisgICAgMHgzZjI2ODAyMjAwMDAwMDAwLCAweDllYjY5N2NhMDAwMDAwMDAsIDB4M2MwMWRlMjkwMDAwMDAwMCwKKyAgICAweDlkOTFjOWMxMDAwMDAwMDAsIDB4Mzk2ODNjMzQwMDAwMDAwMCwgMHg5OGY4MmJkYzAwMDAwMDAwLAorICAgIDB4M2E0ZjYyM2YwMDAwMDAwMCwgMHg5YmRmNzVkNzAwMDAwMDAwLCAweDJiODIwOTU1MDAwMDAwMDAsCisgICAgMHg4YTEyMWViZDAwMDAwMDAwLCAweDI4YTU1NzVlMDAwMDAwMDAsIDB4ODkzNTQwYjYwMDAwMDAwMCwKKyAgICAweDJkY2NiNTQzMDAwMDAwMDAsIDB4OGM1Y2EyYWIwMDAwMDAwMCwgMHgyZWViZWI0ODAwMDAwMDAwLAorICAgIDB4OGY3YmZjYTAwMDAwMDAwMCwgMHgyNzFlNzE3ODAwMDAwMDAwLCAweDg2OGU2NjkwMDAwMDAwMDAsCisgICAgMHgyNDM5MmY3MzAwMDAwMDAwLCAweDg1YTkzODliMDAwMDAwMDAsIDB4MjE1MGNkNmUwMDAwMDAwMCwKKyAgICAweDgwYzBkYTg2MDAwMDAwMDAsIDB4MjI3NzkzNjUwMDAwMDAwMCwgMHg4M2U3ODQ4ZDAwMDAwMDAwLAorICAgIDB4MjIyY2FmMGEwMDAwMDAwMCwgMHg4M2JjYjhlMjAwMDAwMDAwLCAweDIxMGJmMTAxMDAwMDAwMDAsCisgICAgMHg4MDliZTZlOTAwMDAwMDAwLCAweDI0NjIxMzFjMDAwMDAwMDAsIDB4ODVmMjA0ZjQwMDAwMDAwMCwKKyAgICAweDI3NDU0ZDE3MDAwMDAwMDAsIDB4ODZkNTVhZmYwMDAwMDAwMCwgMHgyZWIwZDcyNzAwMDAwMDAwLAorICAgIDB4OGYyMGMwY2YwMDAwMDAwMCwgMHgyZDk3ODkyYzAwMDAwMDAwLCAweDhjMDc5ZWM0MDAwMDAwMDAsCisgICAgMHgyOGZlNmIzMTAwMDAwMDAwLCAweDg5NmU3Y2Q5MDAwMDAwMDAsIDB4MmJkOTM1M2EwMDAwMDAwMCwKKyAgICAweDhhNDkyMmQyMDAwMDAwMDAsIDB4M2ExNDVlNTAwMDAwMDAwMCwgMHg5Yjg0NDliODAwMDAwMDAwLAorICAgIDB4MzkzMzAwNWIwMDAwMDAwMCwgMHg5OGEzMTdiMzAwMDAwMDAwLCAweDNjNWFlMjQ2MDAwMDAwMDAsCisgICAgMHg5ZGNhZjVhZTAwMDAwMDAwLCAweDNmN2RiYzRkMDAwMDAwMDAsIDB4OWVlZGFiYTUwMDAwMDAwMCwKKyAgICAweDM2ODgyNjdkMDAwMDAwMDAsIDB4OTcxODMxOTUwMDAwMDAwMCwgMHgzNWFmNzg3NjAwMDAwMDAwLAorICAgIDB4OTQzZjZmOWUwMDAwMDAwMCwgMHgzMGM2OWE2YjAwMDAwMDAwLCAweDkxNTY4ZDgzMDAwMDAwMDAsCisgICAgMHgzM2UxYzQ2MDAwMDAwMDAwLCAweDkyNzFkMzg4MDAwMDAwMDAsIDB4MTI1YzRkYmYwMDAwMDAwMCwKKyAgICAweGIzY2M1YTU3MDAwMDAwMDAsIDB4MTE3YjEzYjQwMDAwMDAwMCwgMHhiMGViMDQ1YzAwMDAwMDAwLAorICAgIDB4MTQxMmYxYTkwMDAwMDAwMCwgMHhiNTgyZTY0MTAwMDAwMDAwLCAweDE3MzVhZmEyMDAwMDAwMDAsCisgICAgMHhiNmE1Yjg0YTAwMDAwMDAwLCAweDFlYzAzNTkyMDAwMDAwMDAsIDB4YmY1MDIyN2EwMDAwMDAwMCwKKyAgICAweDFkZTc2Yjk5MDAwMDAwMDAsIDB4YmM3NzdjNzEwMDAwMDAwMCwgMHgxODhlODk4NDAwMDAwMDAwLAorICAgIDB4YjkxZTllNmMwMDAwMDAwMCwgMHgxYmE5ZDc4ZjAwMDAwMDAwLCAweGJhMzljMDY3MDAwMDAwMDAsCisgICAgMHgwYTY0YmNlNTAwMDAwMDAwLCAweGFiZjRhYjBkMDAwMDAwMDAsIDB4MDk0M2UyZWUwMDAwMDAwMCwKKyAgICAweGE4ZDNmNTA2MDAwMDAwMDAsIDB4MGMyYTAwZjMwMDAwMDAwMCwgMHhhZGJhMTcxYjAwMDAwMDAwLAorICAgIDB4MGYwZDVlZjgwMDAwMDAwMCwgMHhhZTlkNDkxMDAwMDAwMDAwLCAweDA2ZjhjNGM4MDAwMDAwMDAsCisgICAgMHhhNzY4ZDMyMDAwMDAwMDAwLCAweDA1ZGY5YWMzMDAwMDAwMDAsIDB4YTQ0ZjhkMmIwMDAwMDAwMCwKKyAgICAweDAwYjY3OGRlMDAwMDAwMDAsIDB4YTEyNjZmMzYwMDAwMDAwMCwgMHgwMzkxMjZkNTAwMDAwMDAwLAorICAgIDB4YTIwMTMxM2QwMDAwMDAwMH0sCisgICB7MHgwMDAwMDAwMDAwMDAwMDAwLCAweGVlODQzOWExMDAwMDAwMDAsIDB4OWQwZjAyOTkwMDAwMDAwMCwKKyAgICAweDczOGIzYjM4MDAwMDAwMDAsIDB4N2IxOTc1ZTkwMDAwMDAwMCwgMHg5NTlkNGM0ODAwMDAwMDAwLAorICAgIDB4ZTYxNjc3NzAwMDAwMDAwMCwgMHgwODkyNGVkMTAwMDAwMDAwLCAweGI3MzQ5YjA5MDAwMDAwMDAsCisgICAgMHg1OWIwYTJhODAwMDAwMDAwLCAweDJhM2I5OTkwMDAwMDAwMDAsIDB4YzRiZmEwMzEwMDAwMDAwMCwKKyAgICAweGNjMmRlZWUwMDAwMDAwMDAsIDB4MjJhOWQ3NDEwMDAwMDAwMCwgMHg1MTIyZWM3OTAwMDAwMDAwLAorICAgIDB4YmZhNmQ1ZDgwMDAwMDAwMCwgMHg2ZTY5MzYxMzAwMDAwMDAwLCAweDgwZWQwZmIyMDAwMDAwMDAsCisgICAgMHhmMzY2MzQ4YTAwMDAwMDAwLCAweDFkZTIwZDJiMDAwMDAwMDAsIDB4MTU3MDQzZmEwMDAwMDAwMCwKKyAgICAweGZiZjQ3YTViMDAwMDAwMDAsIDB4ODg3ZjQxNjMwMDAwMDAwMCwgMHg2NmZiNzhjMjAwMDAwMDAwLAorICAgIDB4ZDk1ZGFkMWEwMDAwMDAwMCwgMHgzN2Q5OTRiYjAwMDAwMDAwLCAweDQ0NTJhZjgzMDAwMDAwMDAsCisgICAgMHhhYWQ2OTYyMjAwMDAwMDAwLCAweGEyNDRkOGYzMDAwMDAwMDAsIDB4NGNjMGUxNTIwMDAwMDAwMCwKKyAgICAweDNmNGJkYTZhMDAwMDAwMDAsIDB4ZDFjZmUzY2IwMDAwMDAwMCwgMHhkY2QyNmMyNjAwMDAwMDAwLAorICAgIDB4MzI1NjU1ODcwMDAwMDAwMCwgMHg0MWRkNmViZjAwMDAwMDAwLCAweGFmNTk1NzFlMDAwMDAwMDAsCisgICAgMHhhN2NiMTljZjAwMDAwMDAwLCAweDQ5NGYyMDZlMDAwMDAwMDAsIDB4M2FjNDFiNTYwMDAwMDAwMCwKKyAgICAweGQ0NDAyMmY3MDAwMDAwMDAsIDB4NmJlNmY3MmYwMDAwMDAwMCwgMHg4NTYyY2U4ZTAwMDAwMDAwLAorICAgIDB4ZjZlOWY1YjYwMDAwMDAwMCwgMHgxODZkY2MxNzAwMDAwMDAwLCAweDEwZmY4MmM2MDAwMDAwMDAsCisgICAgMHhmZTdiYmI2NzAwMDAwMDAwLCAweDhkZjA4MDVmMDAwMDAwMDAsIDB4NjM3NGI5ZmUwMDAwMDAwMCwKKyAgICAweGIyYmI1YTM1MDAwMDAwMDAsIDB4NWMzZjYzOTQwMDAwMDAwMCwgMHgyZmI0NThhYzAwMDAwMDAwLAorICAgIDB4YzEzMDYxMGQwMDAwMDAwMCwgMHhjOWEyMmZkYzAwMDAwMDAwLCAweDI3MjYxNjdkMDAwMDAwMDAsCisgICAgMHg1NGFkMmQ0NTAwMDAwMDAwLCAweGJhMjkxNGU0MDAwMDAwMDAsIDB4MDU4ZmMxM2MwMDAwMDAwMCwKKyAgICAweGViMGJmODlkMDAwMDAwMDAsIDB4OTg4MGMzYTUwMDAwMDAwMCwgMHg3NjA0ZmEwNDAwMDAwMDAwLAorICAgIDB4N2U5NmI0ZDUwMDAwMDAwMCwgMHg5MDEyOGQ3NDAwMDAwMDAwLCAweGUzOTliNjRjMDAwMDAwMDAsCisgICAgMHgwZDFkOGZlZDAwMDAwMDAwLCAweGI4YTVkOTRjMDAwMDAwMDAsIDB4NTYyMWUwZWQwMDAwMDAwMCwKKyAgICAweDI1YWFkYmQ1MDAwMDAwMDAsIDB4Y2IyZWUyNzQwMDAwMDAwMCwgMHhjM2JjYWNhNTAwMDAwMDAwLAorICAgIDB4MmQzODk1MDQwMDAwMDAwMCwgMHg1ZWIzYWUzYzAwMDAwMDAwLCAweGIwMzc5NzlkMDAwMDAwMDAsCisgICAgMHgwZjkxNDI0NTAwMDAwMDAwLCAweGUxMTU3YmU0MDAwMDAwMDAsIDB4OTI5ZTQwZGMwMDAwMDAwMCwKKyAgICAweDdjMWE3OTdkMDAwMDAwMDAsIDB4NzQ4ODM3YWMwMDAwMDAwMCwgMHg5YTBjMGUwZDAwMDAwMDAwLAorICAgIDB4ZTk4NzM1MzUwMDAwMDAwMCwgMHgwNzAzMGM5NDAwMDAwMDAwLCAweGQ2Y2NlZjVmMDAwMDAwMDAsCisgICAgMHgzODQ4ZDZmZTAwMDAwMDAwLCAweDRiYzNlZGM2MDAwMDAwMDAsIDB4YTU0N2Q0NjcwMDAwMDAwMCwKKyAgICAweGFkZDU5YWI2MDAwMDAwMDAsIDB4NDM1MWEzMTcwMDAwMDAwMCwgMHgzMGRhOTgyZjAwMDAwMDAwLAorICAgIDB4ZGU1ZWExOGUwMDAwMDAwMCwgMHg2MWY4NzQ1NjAwMDAwMDAwLCAweDhmN2M0ZGY3MDAwMDAwMDAsCisgICAgMHhmY2Y3NzZjZjAwMDAwMDAwLCAweDEyNzM0ZjZlMDAwMDAwMDAsIDB4MWFlMTAxYmYwMDAwMDAwMCwKKyAgICAweGY0NjUzODFlMDAwMDAwMDAsIDB4ODdlZTAzMjYwMDAwMDAwMCwgMHg2OTZhM2E4NzAwMDAwMDAwLAorICAgIDB4NjQ3N2I1NmEwMDAwMDAwMCwgMHg4YWYzOGNjYjAwMDAwMDAwLCAweGY5NzhiN2YzMDAwMDAwMDAsCisgICAgMHgxN2ZjOGU1MjAwMDAwMDAwLCAweDFmNmVjMDgzMDAwMDAwMDAsIDB4ZjFlYWY5MjIwMDAwMDAwMCwKKyAgICAweDgyNjFjMjFhMDAwMDAwMDAsIDB4NmNlNWZiYmIwMDAwMDAwMCwgMHhkMzQzMmU2MzAwMDAwMDAwLAorICAgIDB4M2RjNzE3YzIwMDAwMDAwMCwgMHg0ZTRjMmNmYTAwMDAwMDAwLCAweGEwYzgxNTViMDAwMDAwMDAsCisgICAgMHhhODVhNWI4YTAwMDAwMDAwLCAweDQ2ZGU2MjJiMDAwMDAwMDAsIDB4MzU1NTU5MTMwMDAwMDAwMCwKKyAgICAweGRiZDE2MGIyMDAwMDAwMDAsIDB4MGExZTgzNzkwMDAwMDAwMCwgMHhlNDlhYmFkODAwMDAwMDAwLAorICAgIDB4OTcxMTgxZTAwMDAwMDAwMCwgMHg3OTk1Yjg0MTAwMDAwMDAwLCAweDcxMDdmNjkwMDAwMDAwMDAsCisgICAgMHg5ZjgzY2YzMTAwMDAwMDAwLCAweGVjMDhmNDA5MDAwMDAwMDAsIDB4MDI4Y2NkYTgwMDAwMDAwMCwKKyAgICAweGJkMmExODcwMDAwMDAwMDAsIDB4NTNhZTIxZDEwMDAwMDAwMCwgMHgyMDI1MWFlOTAwMDAwMDAwLAorICAgIDB4Y2VhMTIzNDgwMDAwMDAwMCwgMHhjNjMzNmQ5OTAwMDAwMDAwLCAweDI4Yjc1NDM4MDAwMDAwMDAsCisgICAgMHg1YjNjNmYwMDAwMDAwMDAwLCAweGI1Yjg1NmExMDAwMDAwMDAsIDB4NzA0YmIzOTkwMDAwMDAwMCwKKyAgICAweDllY2Y4YTM4MDAwMDAwMDAsIDB4ZWQ0NGIxMDAwMDAwMDAwMCwgMHgwM2MwODhhMTAwMDAwMDAwLAorICAgIDB4MGI1MmM2NzAwMDAwMDAwMCwgMHhlNWQ2ZmZkMTAwMDAwMDAwLCAweDk2NWRjNGU5MDAwMDAwMDAsCisgICAgMHg3OGQ5ZmQ0ODAwMDAwMDAwLCAweGM3N2YyODkwMDAwMDAwMDAsIDB4MjlmYjExMzEwMDAwMDAwMCwKKyAgICAweDVhNzAyYTA5MDAwMDAwMDAsIDB4YjRmNDEzYTgwMDAwMDAwMCwgMHhiYzY2NWQ3OTAwMDAwMDAwLAorICAgIDB4NTJlMjY0ZDgwMDAwMDAwMCwgMHgyMTY5NWZlMDAwMDAwMDAwLCAweGNmZWQ2NjQxMDAwMDAwMDAsCisgICAgMHgxZTIyODU4YTAwMDAwMDAwLCAweGYwYTZiYzJiMDAwMDAwMDAsIDB4ODMyZDg3MTMwMDAwMDAwMCwKKyAgICAweDZkYTliZWIyMDAwMDAwMDAsIDB4NjUzYmYwNjMwMDAwMDAwMCwgMHg4YmJmYzljMjAwMDAwMDAwLAorICAgIDB4ZjgzNGYyZmEwMDAwMDAwMCwgMHgxNmIwY2I1YjAwMDAwMDAwLCAweGE5MTYxZTgzMDAwMDAwMDAsCisgICAgMHg0NzkyMjcyMjAwMDAwMDAwLCAweDM0MTkxYzFhMDAwMDAwMDAsIDB4ZGE5ZDI1YmIwMDAwMDAwMCwKKyAgICAweGQyMGY2YjZhMDAwMDAwMDAsIDB4M2M4YjUyY2IwMDAwMDAwMCwgMHg0ZjAwNjlmMzAwMDAwMDAwLAorICAgIDB4YTE4NDUwNTIwMDAwMDAwMCwgMHhhYzk5ZGZiZjAwMDAwMDAwLCAweDQyMWRlNjFlMDAwMDAwMDAsCisgICAgMHgzMTk2ZGQyNjAwMDAwMDAwLCAweGRmMTJlNDg3MDAwMDAwMDAsIDB4ZDc4MGFhNTYwMDAwMDAwMCwKKyAgICAweDM5MDQ5M2Y3MDAwMDAwMDAsIDB4NGE4ZmE4Y2YwMDAwMDAwMCwgMHhhNDBiOTE2ZTAwMDAwMDAwLAorICAgIDB4MWJhZDQ0YjYwMDAwMDAwMCwgMHhmNTI5N2QxNzAwMDAwMDAwLCAweDg2YTI0NjJmMDAwMDAwMDAsCisgICAgMHg2ODI2N2Y4ZTAwMDAwMDAwLCAweDYwYjQzMTVmMDAwMDAwMDAsIDB4OGUzMDA4ZmUwMDAwMDAwMCwKKyAgICAweGZkYmIzM2M2MDAwMDAwMDAsIDB4MTMzZjBhNjcwMDAwMDAwMCwgMHhjMmYwZTlhYzAwMDAwMDAwLAorICAgIDB4MmM3NGQwMGQwMDAwMDAwMCwgMHg1ZmZmZWIzNTAwMDAwMDAwLCAweGIxN2JkMjk0MDAwMDAwMDAsCisgICAgMHhiOWU5OWM0NTAwMDAwMDAwLCAweDU3NmRhNWU0MDAwMDAwMDAsIDB4MjRlNjllZGMwMDAwMDAwMCwKKyAgICAweGNhNjJhNzdkMDAwMDAwMDAsIDB4NzVjNDcyYTUwMDAwMDAwMCwgMHg5YjQwNGIwNDAwMDAwMDAwLAorICAgIDB4ZThjYjcwM2MwMDAwMDAwMCwgMHgwNjRmNDk5ZDAwMDAwMDAwLCAweDBlZGQwNzRjMDAwMDAwMDAsCisgICAgMHhlMDU5M2VlZDAwMDAwMDAwLCAweDkzZDIwNWQ1MDAwMDAwMDAsIDB4N2Q1NjNjNzQwMDAwMDAwMCwKKyAgICAweGM4ZWU2YWQ1MDAwMDAwMDAsIDB4MjY2YTUzNzQwMDAwMDAwMCwgMHg1NWUxNjg0YzAwMDAwMDAwLAorICAgIDB4YmI2NTUxZWQwMDAwMDAwMCwgMHhiM2Y3MWYzYzAwMDAwMDAwLCAweDVkNzMyNjlkMDAwMDAwMDAsCisgICAgMHgyZWY4MWRhNTAwMDAwMDAwLCAweGMwN2MyNDA0MDAwMDAwMDAsIDB4N2ZkYWYxZGMwMDAwMDAwMCwKKyAgICAweDkxNWVjODdkMDAwMDAwMDAsIDB4ZTJkNWYzNDUwMDAwMDAwMCwgMHgwYzUxY2FlNDAwMDAwMDAwLAorICAgIDB4MDRjMzg0MzUwMDAwMDAwMCwgMHhlYTQ3YmQ5NDAwMDAwMDAwLCAweDk5Y2M4NmFjMDAwMDAwMDAsCisgICAgMHg3NzQ4YmYwZDAwMDAwMDAwLCAweGE2ODc1Y2M2MDAwMDAwMDAsIDB4NDgwMzY1NjcwMDAwMDAwMCwKKyAgICAweDNiODg1ZTVmMDAwMDAwMDAsIDB4ZDUwYzY3ZmUwMDAwMDAwMCwgMHhkZDllMjkyZjAwMDAwMDAwLAorICAgIDB4MzMxYTEwOGUwMDAwMDAwMCwgMHg0MDkxMmJiNjAwMDAwMDAwLCAweGFlMTUxMjE3MDAwMDAwMDAsCisgICAgMHgxMWIzYzdjZjAwMDAwMDAwLCAweGZmMzdmZTZlMDAwMDAwMDAsIDB4OGNiY2M1NTYwMDAwMDAwMCwKKyAgICAweDYyMzhmY2Y3MDAwMDAwMDAsIDB4NmFhYWIyMjYwMDAwMDAwMCwgMHg4NDJlOGI4NzAwMDAwMDAwLAorICAgIDB4ZjdhNWIwYmYwMDAwMDAwMCwgMHgxOTIxODkxZTAwMDAwMDAwLCAweDE0M2MwNmYzMDAwMDAwMDAsCisgICAgMHhmYWI4M2Y1MjAwMDAwMDAwLCAweDg5MzMwNDZhMDAwMDAwMDAsIDB4NjdiNzNkY2IwMDAwMDAwMCwKKyAgICAweDZmMjU3MzFhMDAwMDAwMDAsIDB4ODFhMTRhYmIwMDAwMDAwMCwgMHhmMjJhNzE4MzAwMDAwMDAwLAorICAgIDB4MWNhZTQ4MjIwMDAwMDAwMCwgMHhhMzA4OWRmYTAwMDAwMDAwLCAweDRkOGNhNDViMDAwMDAwMDAsCisgICAgMHgzZTA3OWY2MzAwMDAwMDAwLCAweGQwODNhNmMyMDAwMDAwMDAsIDB4ZDgxMWU4MTMwMDAwMDAwMCwKKyAgICAweDM2OTVkMWIyMDAwMDAwMDAsIDB4NDUxZWVhOGEwMDAwMDAwMCwgMHhhYjlhZDMyYjAwMDAwMDAwLAorICAgIDB4N2E1NTMwZTAwMDAwMDAwMCwgMHg5NGQxMDk0MTAwMDAwMDAwLCAweGU3NWEzMjc5MDAwMDAwMDAsCisgICAgMHgwOWRlMGJkODAwMDAwMDAwLCAweDAxNGM0NTA5MDAwMDAwMDAsIDB4ZWZjODdjYTgwMDAwMDAwMCwKKyAgICAweDljNDM0NzkwMDAwMDAwMDAsIDB4NzJjNzdlMzEwMDAwMDAwMCwgMHhjZDYxYWJlOTAwMDAwMDAwLAorICAgIDB4MjNlNTkyNDgwMDAwMDAwMCwgMHg1MDZlYTk3MDAwMDAwMDAwLCAweGJlZWE5MGQxMDAwMDAwMDAsCisgICAgMHhiNjc4ZGUwMDAwMDAwMDAwLCAweDU4ZmNlN2ExMDAwMDAwMDAsIDB4MmI3N2RjOTkwMDAwMDAwMCwKKyAgICAweGM1ZjNlNTM4MDAwMDAwMDB9LAorICAgezB4MDAwMDAwMDAwMDAwMDAwMCwgMHhmYmY2MTM0NzAwMDAwMDAwLCAweGY2ZWQyNzhlMDAwMDAwMDAsCisgICAgMHgwZDFiMzRjOTAwMDAwMDAwLCAweGFkZGQzZWM3MDAwMDAwMDAsIDB4NTYyYjJkODAwMDAwMDAwMCwKKyAgICAweDViMzAxOTQ5MDAwMDAwMDAsIDB4YTBjNjBhMGUwMDAwMDAwMCwgMHgxYmJkMGM1NTAwMDAwMDAwLAorICAgIDB4ZTA0YjFmMTIwMDAwMDAwMCwgMHhlZDUwMmJkYjAwMDAwMDAwLCAweDE2YTYzODljMDAwMDAwMDAsCisgICAgMHhiNjYwMzI5MjAwMDAwMDAwLCAweDRkOTYyMWQ1MDAwMDAwMDAsIDB4NDA4ZDE1MWMwMDAwMDAwMCwKKyAgICAweGJiN2IwNjViMDAwMDAwMDAsIDB4MzY3YTE5YWEwMDAwMDAwMCwgMHhjZDhjMGFlZDAwMDAwMDAwLAorICAgIDB4YzA5NzNlMjQwMDAwMDAwMCwgMHgzYjYxMmQ2MzAwMDAwMDAwLCAweDliYTcyNzZkMDAwMDAwMDAsCisgICAgMHg2MDUxMzQyYTAwMDAwMDAwLCAweDZkNGEwMGUzMDAwMDAwMDAsIDB4OTZiYzEzYTQwMDAwMDAwMCwKKyAgICAweDJkYzcxNWZmMDAwMDAwMDAsIDB4ZDYzMTA2YjgwMDAwMDAwMCwgMHhkYjJhMzI3MTAwMDAwMDAwLAorICAgIDB4MjBkYzIxMzYwMDAwMDAwMCwgMHg4MDFhMmIzODAwMDAwMDAwLCAweDdiZWMzODdmMDAwMDAwMDAsCisgICAgMHg3NmY3MGNiNjAwMDAwMDAwLCAweDhkMDExZmYxMDAwMDAwMDAsIDB4MmRmMjQzOGYwMDAwMDAwMCwKKyAgICAweGQ2MDQ1MGM4MDAwMDAwMDAsIDB4ZGIxZjY0MDEwMDAwMDAwMCwgMHgyMGU5Nzc0NjAwMDAwMDAwLAorICAgIDB4ODAyZjdkNDgwMDAwMDAwMCwgMHg3YmQ5NmUwZjAwMDAwMDAwLCAweDc2YzI1YWM2MDAwMDAwMDAsCisgICAgMHg4ZDM0NDk4MTAwMDAwMDAwLCAweDM2NGY0ZmRhMDAwMDAwMDAsIDB4Y2RiOTVjOWQwMDAwMDAwMCwKKyAgICAweGMwYTI2ODU0MDAwMDAwMDAsIDB4M2I1NDdiMTMwMDAwMDAwMCwgMHg5YjkyNzExZDAwMDAwMDAwLAorICAgIDB4NjA2NDYyNWEwMDAwMDAwMCwgMHg2ZDdmNTY5MzAwMDAwMDAwLCAweDk2ODk0NWQ0MDAwMDAwMDAsCisgICAgMHgxYjg4NWEyNTAwMDAwMDAwLCAweGUwN2U0OTYyMDAwMDAwMDAsIDB4ZWQ2NTdkYWIwMDAwMDAwMCwKKyAgICAweDE2OTM2ZWVjMDAwMDAwMDAsIDB4YjY1NTY0ZTIwMDAwMDAwMCwgMHg0ZGEzNzdhNTAwMDAwMDAwLAorICAgIDB4NDBiODQzNmMwMDAwMDAwMCwgMHhiYjRlNTAyYjAwMDAwMDAwLCAweDAwMzU1NjcwMDAwMDAwMDAsCisgICAgMHhmYmMzNDUzNzAwMDAwMDAwLCAweGY2ZDg3MWZlMDAwMDAwMDAsIDB4MGQyZTYyYjkwMDAwMDAwMCwKKyAgICAweGFkZTg2OGI3MDAwMDAwMDAsIDB4NTYxZTdiZjAwMDAwMDAwMCwgMHg1YjA1NGYzOTAwMDAwMDAwLAorICAgIDB4YTBmMzVjN2UwMDAwMDAwMCwgMHgxYmUyZjZjNTAwMDAwMDAwLCAweGUwMTRlNTgyMDAwMDAwMDAsCisgICAgMHhlZDBmZDE0YjAwMDAwMDAwLCAweDE2ZjljMjBjMDAwMDAwMDAsIDB4YjYzZmM4MDIwMDAwMDAwMCwKKyAgICAweDRkYzlkYjQ1MDAwMDAwMDAsIDB4NDBkMmVmOGMwMDAwMDAwMCwgMHhiYjI0ZmNjYjAwMDAwMDAwLAorICAgIDB4MDA1ZmZhOTAwMDAwMDAwMCwgMHhmYmE5ZTlkNzAwMDAwMDAwLCAweGY2YjJkZDFlMDAwMDAwMDAsCisgICAgMHgwZDQ0Y2U1OTAwMDAwMDAwLCAweGFkODJjNDU3MDAwMDAwMDAsIDB4NTY3NGQ3MTAwMDAwMDAwMCwKKyAgICAweDViNmZlM2Q5MDAwMDAwMDAsIDB4YTA5OWYwOWUwMDAwMDAwMCwgMHgyZDk4ZWY2ZjAwMDAwMDAwLAorICAgIDB4ZDY2ZWZjMjgwMDAwMDAwMCwgMHhkYjc1YzhlMTAwMDAwMDAwLCAweDIwODNkYmE2MDAwMDAwMDAsCisgICAgMHg4MDQ1ZDFhODAwMDAwMDAwLCAweDdiYjNjMmVmMDAwMDAwMDAsIDB4NzZhOGY2MjYwMDAwMDAwMCwKKyAgICAweDhkNWVlNTYxMDAwMDAwMDAsIDB4MzYyNWUzM2EwMDAwMDAwMCwgMHhjZGQzZjA3ZDAwMDAwMDAwLAorICAgIDB4YzBjOGM0YjQwMDAwMDAwMCwgMHgzYjNlZDdmMzAwMDAwMDAwLCAweDliZjhkZGZkMDAwMDAwMDAsCisgICAgMHg2MDBlY2ViYTAwMDAwMDAwLCAweDZkMTVmYTczMDAwMDAwMDAsIDB4OTZlM2U5MzQwMDAwMDAwMCwKKyAgICAweDM2MTBiNTRhMDAwMDAwMDAsIDB4Y2RlNmE2MGQwMDAwMDAwMCwgMHhjMGZkOTJjNDAwMDAwMDAwLAorICAgIDB4M2IwYjgxODMwMDAwMDAwMCwgMHg5YmNkOGI4ZDAwMDAwMDAwLCAweDYwM2I5OGNhMDAwMDAwMDAsCisgICAgMHg2ZDIwYWMwMzAwMDAwMDAwLCAweDk2ZDZiZjQ0MDAwMDAwMDAsIDB4MmRhZGI5MWYwMDAwMDAwMCwKKyAgICAweGQ2NWJhYTU4MDAwMDAwMDAsIDB4ZGI0MDllOTEwMDAwMDAwMCwgMHgyMGI2OGRkNjAwMDAwMDAwLAorICAgIDB4ODA3MDg3ZDgwMDAwMDAwMCwgMHg3Yjg2OTQ5ZjAwMDAwMDAwLCAweDc2OWRhMDU2MDAwMDAwMDAsCisgICAgMHg4ZDZiYjMxMTAwMDAwMDAwLCAweDAwNmFhY2UwMDAwMDAwMDAsIDB4ZmI5Y2JmYTcwMDAwMDAwMCwKKyAgICAweGY2ODc4YjZlMDAwMDAwMDAsIDB4MGQ3MTk4MjkwMDAwMDAwMCwgMHhhZGI3OTIyNzAwMDAwMDAwLAorICAgIDB4NTY0MTgxNjAwMDAwMDAwMCwgMHg1YjVhYjVhOTAwMDAwMDAwLCAweGEwYWNhNmVlMDAwMDAwMDAsCisgICAgMHgxYmQ3YTBiNTAwMDAwMDAwLCAweGUwMjFiM2YyMDAwMDAwMDAsIDB4ZWQzYTg3M2IwMDAwMDAwMCwKKyAgICAweDE2Y2M5NDdjMDAwMDAwMDAsIDB4YjYwYTllNzIwMDAwMDAwMCwgMHg0ZGZjOGQzNTAwMDAwMDAwLAorICAgIDB4NDBlN2I5ZmMwMDAwMDAwMCwgMHhiYjExYWFiYjAwMDAwMDAwLCAweDc3YzI5YzUwMDAwMDAwMDAsCisgICAgMHg4YzM0OGYxNzAwMDAwMDAwLCAweDgxMmZiYmRlMDAwMDAwMDAsIDB4N2FkOWE4OTkwMDAwMDAwMCwKKyAgICAweGRhMWZhMjk3MDAwMDAwMDAsIDB4MjFlOWIxZDAwMDAwMDAwMCwgMHgyY2YyODUxOTAwMDAwMDAwLAorICAgIDB4ZDcwNDk2NWUwMDAwMDAwMCwgMHg2YzdmOTAwNTAwMDAwMDAwLCAweDk3ODk4MzQyMDAwMDAwMDAsCisgICAgMHg5YTkyYjc4YjAwMDAwMDAwLCAweDYxNjRhNGNjMDAwMDAwMDAsIDB4YzFhMmFlYzIwMDAwMDAwMCwKKyAgICAweDNhNTRiZDg1MDAwMDAwMDAsIDB4Mzc0Zjg5NGMwMDAwMDAwMCwgMHhjY2I5OWEwYjAwMDAwMDAwLAorICAgIDB4NDFiODg1ZmEwMDAwMDAwMCwgMHhiYTRlOTZiZDAwMDAwMDAwLCAweGI3NTVhMjc0MDAwMDAwMDAsCisgICAgMHg0Y2EzYjEzMzAwMDAwMDAwLCAweGVjNjViYjNkMDAwMDAwMDAsIDB4MTc5M2E4N2EwMDAwMDAwMCwKKyAgICAweDFhODg5Y2IzMDAwMDAwMDAsIDB4ZTE3ZThmZjQwMDAwMDAwMCwgMHg1YTA1ODlhZjAwMDAwMDAwLAorICAgIDB4YTFmMzlhZTgwMDAwMDAwMCwgMHhhY2U4YWUyMTAwMDAwMDAwLCAweDU3MWViZDY2MDAwMDAwMDAsCisgICAgMHhmN2Q4Yjc2ODAwMDAwMDAwLCAweDBjMmVhNDJmMDAwMDAwMDAsIDB4MDEzNTkwZTYwMDAwMDAwMCwKKyAgICAweGZhYzM4M2ExMDAwMDAwMDAsIDB4NWEzMGRmZGYwMDAwMDAwMCwgMHhhMWM2Y2M5ODAwMDAwMDAwLAorICAgIDB4YWNkZGY4NTEwMDAwMDAwMCwgMHg1NzJiZWIxNjAwMDAwMDAwLCAweGY3ZWRlMTE4MDAwMDAwMDAsCisgICAgMHgwYzFiZjI1ZjAwMDAwMDAwLCAweDAxMDBjNjk2MDAwMDAwMDAsIDB4ZmFmNmQ1ZDEwMDAwMDAwMCwKKyAgICAweDQxOGRkMzhhMDAwMDAwMDAsIDB4YmE3YmMwY2QwMDAwMDAwMCwgMHhiNzYwZjQwNDAwMDAwMDAwLAorICAgIDB4NGM5NmU3NDMwMDAwMDAwMCwgMHhlYzUwZWQ0ZDAwMDAwMDAwLCAweDE3YTZmZTBhMDAwMDAwMDAsCisgICAgMHgxYWJkY2FjMzAwMDAwMDAwLCAweGUxNGJkOTg0MDAwMDAwMDAsIDB4NmM0YWM2NzUwMDAwMDAwMCwKKyAgICAweDk3YmNkNTMyMDAwMDAwMDAsIDB4OWFhN2UxZmIwMDAwMDAwMCwgMHg2MTUxZjJiYzAwMDAwMDAwLAorICAgIDB4YzE5N2Y4YjIwMDAwMDAwMCwgMHgzYTYxZWJmNTAwMDAwMDAwLCAweDM3N2FkZjNjMDAwMDAwMDAsCisgICAgMHhjYzhjY2M3YjAwMDAwMDAwLCAweDc3ZjdjYTIwMDAwMDAwMDAsIDB4OGMwMWQ5NjcwMDAwMDAwMCwKKyAgICAweDgxMWFlZGFlMDAwMDAwMDAsIDB4N2FlY2ZlZTkwMDAwMDAwMCwgMHhkYTJhZjRlNzAwMDAwMDAwLAorICAgIDB4MjFkY2U3YTAwMDAwMDAwMCwgMHgyY2M3ZDM2OTAwMDAwMDAwLCAweGQ3MzFjMDJlMDAwMDAwMDAsCisgICAgMHg2YzIwNmE5NTAwMDAwMDAwLCAweDk3ZDY3OWQyMDAwMDAwMDAsIDB4OWFjZDRkMWIwMDAwMDAwMCwKKyAgICAweDYxM2I1ZTVjMDAwMDAwMDAsIDB4YzFmZDU0NTIwMDAwMDAwMCwgMHgzYTBiNDcxNTAwMDAwMDAwLAorICAgIDB4MzcxMDczZGMwMDAwMDAwMCwgMHhjY2U2NjA5YjAwMDAwMDAwLCAweDc3OWQ2NmMwMDAwMDAwMDAsCisgICAgMHg4YzZiNzU4NzAwMDAwMDAwLCAweDgxNzA0MTRlMDAwMDAwMDAsIDB4N2E4NjUyMDkwMDAwMDAwMCwKKyAgICAweGRhNDA1ODA3MDAwMDAwMDAsIDB4MjFiNjRiNDAwMDAwMDAwMCwgMHgyY2FkN2Y4OTAwMDAwMDAwLAorICAgIDB4ZDc1YjZjY2UwMDAwMDAwMCwgMHg1YTVhNzMzZjAwMDAwMDAwLCAweGExYWM2MDc4MDAwMDAwMDAsCisgICAgMHhhY2I3NTRiMTAwMDAwMDAwLCAweDU3NDE0N2Y2MDAwMDAwMDAsIDB4Zjc4NzRkZjgwMDAwMDAwMCwKKyAgICAweDBjNzE1ZWJmMDAwMDAwMDAsIDB4MDE2YTZhNzYwMDAwMDAwMCwgMHhmYTljNzkzMTAwMDAwMDAwLAorICAgIDB4NDFlNzdmNmEwMDAwMDAwMCwgMHhiYTExNmMyZDAwMDAwMDAwLCAweGI3MGE1OGU0MDAwMDAwMDAsCisgICAgMHg0Y2ZjNGJhMzAwMDAwMDAwLCAweGVjM2E0MWFkMDAwMDAwMDAsIDB4MTdjYzUyZWEwMDAwMDAwMCwKKyAgICAweDFhZDc2NjIzMDAwMDAwMDAsIDB4ZTEyMTc1NjQwMDAwMDAwMCwgMHg0MWQyMjkxYTAwMDAwMDAwLAorICAgIDB4YmEyNDNhNWQwMDAwMDAwMCwgMHhiNzNmMGU5NDAwMDAwMDAwLCAweDRjYzkxZGQzMDAwMDAwMDAsCisgICAgMHhlYzBmMTdkZDAwMDAwMDAwLCAweDE3ZjkwNDlhMDAwMDAwMDAsIDB4MWFlMjMwNTMwMDAwMDAwMCwKKyAgICAweGUxMTQyMzE0MDAwMDAwMDAsIDB4NWE2ZjI1NGYwMDAwMDAwMCwgMHhhMTk5MzYwODAwMDAwMDAwLAorICAgIDB4YWM4MjAyYzEwMDAwMDAwMCwgMHg1Nzc0MTE4NjAwMDAwMDAwLCAweGY3YjIxYjg4MDAwMDAwMDAsCisgICAgMHgwYzQ0MDhjZjAwMDAwMDAwLCAweDAxNWYzYzA2MDAwMDAwMDAsIDB4ZmFhOTJmNDEwMDAwMDAwMCwKKyAgICAweDc3YTgzMGIwMDAwMDAwMDAsIDB4OGM1ZTIzZjcwMDAwMDAwMCwgMHg4MTQ1MTczZTAwMDAwMDAwLAorICAgIDB4N2FiMzA0NzkwMDAwMDAwMCwgMHhkYTc1MGU3NzAwMDAwMDAwLCAweDIxODMxZDMwMDAwMDAwMDAsCisgICAgMHgyYzk4MjlmOTAwMDAwMDAwLCAweGQ3NmUzYWJlMDAwMDAwMDAsIDB4NmMxNTNjZTUwMDAwMDAwMCwKKyAgICAweDk3ZTMyZmEyMDAwMDAwMDAsIDB4OWFmODFiNmIwMDAwMDAwMCwgMHg2MTBlMDgyYzAwMDAwMDAwLAorICAgIDB4YzFjODAyMjIwMDAwMDAwMCwgMHgzYTNlMTE2NTAwMDAwMDAwLCAweDM3MjUyNWFjMDAwMDAwMDAsCisgICAgMHhjY2QzMzZlYjAwMDAwMDAwfSwKKyAgIHsweDAwMDAwMDAwMDAwMDAwMDAsIDB4NjIzODI4MmEwMDAwMDAwMCwgMHhjNDcwNTA1NDAwMDAwMDAwLAorICAgIDB4YTY0ODc4N2UwMDAwMDAwMCwgMHg4OGUxYTBhODAwMDAwMDAwLCAweGVhZDk4ODgyMDAwMDAwMDAsCisgICAgMHg0YzkxZjBmYzAwMDAwMDAwLCAweDJlYTlkOGQ2MDAwMDAwMDAsIDB4NTFjNTMwOGEwMDAwMDAwMCwKKyAgICAweDMzZmQxOGEwMDAwMDAwMDAsIDB4OTViNTYwZGUwMDAwMDAwMCwgMHhmNzhkNDhmNDAwMDAwMDAwLAorICAgIDB4ZDkyNDkwMjIwMDAwMDAwMCwgMHhiYjFjYjgwODAwMDAwMDAwLCAweDFkNTRjMDc2MDAwMDAwMDAsCisgICAgMHg3ZjZjZTg1YzAwMDAwMDAwLCAweGUzOGMxMGNmMDAwMDAwMDAsIDB4ODFiNDM4ZTUwMDAwMDAwMCwKKyAgICAweDI3ZmM0MDliMDAwMDAwMDAsIDB4NDVjNDY4YjEwMDAwMDAwMCwgMHg2YjZkYjA2NzAwMDAwMDAwLAorICAgIDB4MDk1NTk4NGQwMDAwMDAwMCwgMHhhZjFkZTAzMzAwMDAwMDAwLCAweGNkMjVjODE5MDAwMDAwMDAsCisgICAgMHhiMjQ5MjA0NTAwMDAwMDAwLCAweGQwNzEwODZmMDAwMDAwMDAsIDB4NzYzOTcwMTEwMDAwMDAwMCwKKyAgICAweDE0MDE1ODNiMDAwMDAwMDAsIDB4M2FhODgwZWQwMDAwMDAwMCwgMHg1ODkwYThjNzAwMDAwMDAwLAorICAgIDB4ZmVkOGQwYjkwMDAwMDAwMCwgMHg5Y2UwZjg5MzAwMDAwMDAwLCAweDg3MWY1MDQ1MDAwMDAwMDAsCisgICAgMHhlNTI3Nzg2ZjAwMDAwMDAwLCAweDQzNmYwMDExMDAwMDAwMDAsIDB4MjE1NzI4M2IwMDAwMDAwMCwKKyAgICAweDBmZmVmMGVkMDAwMDAwMDAsIDB4NmRjNmQ4YzcwMDAwMDAwMCwgMHhjYjhlYTBiOTAwMDAwMDAwLAorICAgIDB4YTliNjg4OTMwMDAwMDAwMCwgMHhkNmRhNjBjZjAwMDAwMDAwLCAweGI0ZTI0OGU1MDAwMDAwMDAsCisgICAgMHgxMmFhMzA5YjAwMDAwMDAwLCAweDcwOTIxOGIxMDAwMDAwMDAsIDB4NWUzYmMwNjcwMDAwMDAwMCwKKyAgICAweDNjMDNlODRkMDAwMDAwMDAsIDB4OWE0YjkwMzMwMDAwMDAwMCwgMHhmODczYjgxOTAwMDAwMDAwLAorICAgIDB4NjQ5MzQwOGEwMDAwMDAwMCwgMHgwNmFiNjhhMDAwMDAwMDAwLCAweGEwZTMxMGRlMDAwMDAwMDAsCisgICAgMHhjMmRiMzhmNDAwMDAwMDAwLCAweGVjNzJlMDIyMDAwMDAwMDAsIDB4OGU0YWM4MDgwMDAwMDAwMCwKKyAgICAweDI4MDJiMDc2MDAwMDAwMDAsIDB4NGEzYTk4NWMwMDAwMDAwMCwgMHgzNTU2NzAwMDAwMDAwMDAwLAorICAgIDB4NTc2ZTU4MmEwMDAwMDAwMCwgMHhmMTI2MjA1NDAwMDAwMDAwLCAweDkzMWUwODdlMDAwMDAwMDAsCisgICAgMHhiZGI3ZDBhODAwMDAwMDAwLCAweGRmOGZmODgyMDAwMDAwMDAsIDB4NzljNzgwZmMwMDAwMDAwMCwKKyAgICAweDFiZmZhOGQ2MDAwMDAwMDAsIDB4MGUzZmEwOGEwMDAwMDAwMCwgMHg2YzA3ODhhMDAwMDAwMDAwLAorICAgIDB4Y2E0ZmYwZGUwMDAwMDAwMCwgMHhhODc3ZDhmNDAwMDAwMDAwLCAweDg2ZGUwMDIyMDAwMDAwMDAsCisgICAgMHhlNGU2MjgwODAwMDAwMDAwLCAweDQyYWU1MDc2MDAwMDAwMDAsIDB4MjA5Njc4NWMwMDAwMDAwMCwKKyAgICAweDVmZmE5MDAwMDAwMDAwMDAsIDB4M2RjMmI4MmEwMDAwMDAwMCwgMHg5YjhhYzA1NDAwMDAwMDAwLAorICAgIDB4ZjliMmU4N2UwMDAwMDAwMCwgMHhkNzFiMzBhODAwMDAwMDAwLCAweGI1MjMxODgyMDAwMDAwMDAsCisgICAgMHgxMzZiNjBmYzAwMDAwMDAwLCAweDcxNTM0OGQ2MDAwMDAwMDAsIDB4ZWRiM2IwNDUwMDAwMDAwMCwKKyAgICAweDhmOGI5ODZmMDAwMDAwMDAsIDB4MjljM2UwMTEwMDAwMDAwMCwgMHg0YmZiYzgzYjAwMDAwMDAwLAorICAgIDB4NjU1MjEwZWQwMDAwMDAwMCwgMHgwNzZhMzhjNzAwMDAwMDAwLCAweGExMjI0MGI5MDAwMDAwMDAsCisgICAgMHhjMzFhNjg5MzAwMDAwMDAwLCAweGJjNzY4MGNmMDAwMDAwMDAsIDB4ZGU0ZWE4ZTUwMDAwMDAwMCwKKyAgICAweDc4MDZkMDliMDAwMDAwMDAsIDB4MWEzZWY4YjEwMDAwMDAwMCwgMHgzNDk3MjA2NzAwMDAwMDAwLAorICAgIDB4NTZhZjA4NGQwMDAwMDAwMCwgMHhmMGU3NzAzMzAwMDAwMDAwLCAweDkyZGY1ODE5MDAwMDAwMDAsCisgICAgMHg4OTIwZjBjZjAwMDAwMDAwLCAweGViMThkOGU1MDAwMDAwMDAsIDB4NGQ1MGEwOWIwMDAwMDAwMCwKKyAgICAweDJmNjg4OGIxMDAwMDAwMDAsIDB4MDFjMTUwNjcwMDAwMDAwMCwgMHg2M2Y5Nzg0ZDAwMDAwMDAwLAorICAgIDB4YzViMTAwMzMwMDAwMDAwMCwgMHhhNzg5MjgxOTAwMDAwMDAwLCAweGQ4ZTVjMDQ1MDAwMDAwMDAsCisgICAgMHhiYWRkZTg2ZjAwMDAwMDAwLCAweDFjOTU5MDExMDAwMDAwMDAsIDB4N2VhZGI4M2IwMDAwMDAwMCwKKyAgICAweDUwMDQ2MGVkMDAwMDAwMDAsIDB4MzIzYzQ4YzcwMDAwMDAwMCwgMHg5NDc0MzBiOTAwMDAwMDAwLAorICAgIDB4ZjY0YzE4OTMwMDAwMDAwMCwgMHg2YWFjZTAwMDAwMDAwMDAwLCAweDA4OTRjODJhMDAwMDAwMDAsCisgICAgMHhhZWRjYjA1NDAwMDAwMDAwLCAweGNjZTQ5ODdlMDAwMDAwMDAsIDB4ZTI0ZDQwYTgwMDAwMDAwMCwKKyAgICAweDgwNzU2ODgyMDAwMDAwMDAsIDB4MjYzZDEwZmMwMDAwMDAwMCwgMHg0NDA1MzhkNjAwMDAwMDAwLAorICAgIDB4M2I2OWQwOGEwMDAwMDAwMCwgMHg1OTUxZjhhMDAwMDAwMDAwLCAweGZmMTk4MGRlMDAwMDAwMDAsCisgICAgMHg5ZDIxYThmNDAwMDAwMDAwLCAweGIzODg3MDIyMDAwMDAwMDAsIDB4ZDFiMDU4MDgwMDAwMDAwMCwKKyAgICAweDc3ZjgyMDc2MDAwMDAwMDAsIDB4MTVjMDA4NWMwMDAwMDAwMCwgMHg1ZDc4MzFjZTAwMDAwMDAwLAorICAgIDB4M2Y0MDE5ZTQwMDAwMDAwMCwgMHg5OTA4NjE5YTAwMDAwMDAwLCAweGZiMzA0OWIwMDAwMDAwMDAsCisgICAgMHhkNTk5OTE2NjAwMDAwMDAwLCAweGI3YTFiOTRjMDAwMDAwMDAsIDB4MTFlOWMxMzIwMDAwMDAwMCwKKyAgICAweDczZDFlOTE4MDAwMDAwMDAsIDB4MGNiZDAxNDQwMDAwMDAwMCwgMHg2ZTg1Mjk2ZTAwMDAwMDAwLAorICAgIDB4YzhjZDUxMTAwMDAwMDAwMCwgMHhhYWY1NzkzYTAwMDAwMDAwLCAweDg0NWNhMWVjMDAwMDAwMDAsCisgICAgMHhlNjY0ODljNjAwMDAwMDAwLCAweDQwMmNmMWI4MDAwMDAwMDAsIDB4MjIxNGQ5OTIwMDAwMDAwMCwKKyAgICAweGJlZjQyMTAxMDAwMDAwMDAsIDB4ZGNjYzA5MmIwMDAwMDAwMCwgMHg3YTg0NzE1NTAwMDAwMDAwLAorICAgIDB4MThiYzU5N2YwMDAwMDAwMCwgMHgzNjE1ODFhOTAwMDAwMDAwLCAweDU0MmRhOTgzMDAwMDAwMDAsCisgICAgMHhmMjY1ZDFmZDAwMDAwMDAwLCAweDkwNWRmOWQ3MDAwMDAwMDAsIDB4ZWYzMTExOGIwMDAwMDAwMCwKKyAgICAweDhkMDkzOWExMDAwMDAwMDAsIDB4MmI0MTQxZGYwMDAwMDAwMCwgMHg0OTc5NjlmNTAwMDAwMDAwLAorICAgIDB4NjdkMGIxMjMwMDAwMDAwMCwgMHgwNWU4OTkwOTAwMDAwMDAwLCAweGEzYTBlMTc3MDAwMDAwMDAsCisgICAgMHhjMTk4Yzk1ZDAwMDAwMDAwLCAweGRhNjc2MThiMDAwMDAwMDAsIDB4Yjg1ZjQ5YTEwMDAwMDAwMCwKKyAgICAweDFlMTczMWRmMDAwMDAwMDAsIDB4N2MyZjE5ZjUwMDAwMDAwMCwgMHg1Mjg2YzEyMzAwMDAwMDAwLAorICAgIDB4MzBiZWU5MDkwMDAwMDAwMCwgMHg5NmY2OTE3NzAwMDAwMDAwLCAweGY0Y2ViOTVkMDAwMDAwMDAsCisgICAgMHg4YmEyNTEwMTAwMDAwMDAwLCAweGU5OWE3OTJiMDAwMDAwMDAsIDB4NGZkMjAxNTUwMDAwMDAwMCwKKyAgICAweDJkZWEyOTdmMDAwMDAwMDAsIDB4MDM0M2YxYTkwMDAwMDAwMCwgMHg2MTdiZDk4MzAwMDAwMDAwLAorICAgIDB4YzczM2ExZmQwMDAwMDAwMCwgMHhhNTBiODlkNzAwMDAwMDAwLCAweDM5ZWI3MTQ0MDAwMDAwMDAsCisgICAgMHg1YmQzNTk2ZTAwMDAwMDAwLCAweGZkOWIyMTEwMDAwMDAwMDAsIDB4OWZhMzA5M2EwMDAwMDAwMCwKKyAgICAweGIxMGFkMWVjMDAwMDAwMDAsIDB4ZDMzMmY5YzYwMDAwMDAwMCwgMHg3NTdhODFiODAwMDAwMDAwLAorICAgIDB4MTc0MmE5OTIwMDAwMDAwMCwgMHg2ODJlNDFjZTAwMDAwMDAwLCAweDBhMTY2OWU0MDAwMDAwMDAsCisgICAgMHhhYzVlMTE5YTAwMDAwMDAwLCAweGNlNjYzOWIwMDAwMDAwMDAsIDB4ZTBjZmUxNjYwMDAwMDAwMCwKKyAgICAweDgyZjdjOTRjMDAwMDAwMDAsIDB4MjRiZmIxMzIwMDAwMDAwMCwgMHg0Njg3OTkxODAwMDAwMDAwLAorICAgIDB4NTM0NzkxNDQwMDAwMDAwMCwgMHgzMTdmYjk2ZTAwMDAwMDAwLCAweDk3MzdjMTEwMDAwMDAwMDAsCisgICAgMHhmNTBmZTkzYTAwMDAwMDAwLCAweGRiYTYzMWVjMDAwMDAwMDAsIDB4Yjk5ZTE5YzYwMDAwMDAwMCwKKyAgICAweDFmZDY2MWI4MDAwMDAwMDAsIDB4N2RlZTQ5OTIwMDAwMDAwMCwgMHgwMjgyYTFjZTAwMDAwMDAwLAorICAgIDB4NjBiYTg5ZTQwMDAwMDAwMCwgMHhjNmYyZjE5YTAwMDAwMDAwLCAweGE0Y2FkOWIwMDAwMDAwMDAsCisgICAgMHg4YTYzMDE2NjAwMDAwMDAwLCAweGU4NWIyOTRjMDAwMDAwMDAsIDB4NGUxMzUxMzIwMDAwMDAwMCwKKyAgICAweDJjMmI3OTE4MDAwMDAwMDAsIDB4YjBjYjgxOGIwMDAwMDAwMCwgMHhkMmYzYTlhMTAwMDAwMDAwLAorICAgIDB4NzRiYmQxZGYwMDAwMDAwMCwgMHgxNjgzZjlmNTAwMDAwMDAwLCAweDM4MmEyMTIzMDAwMDAwMDAsCisgICAgMHg1YTEyMDkwOTAwMDAwMDAwLCAweGZjNWE3MTc3MDAwMDAwMDAsIDB4OWU2MjU5NWQwMDAwMDAwMCwKKyAgICAweGUxMGViMTAxMDAwMDAwMDAsIDB4ODMzNjk5MmIwMDAwMDAwMCwgMHgyNTdlZTE1NTAwMDAwMDAwLAorICAgIDB4NDc0NmM5N2YwMDAwMDAwMCwgMHg2OWVmMTFhOTAwMDAwMDAwLCAweDBiZDczOTgzMDAwMDAwMDAsCisgICAgMHhhZDlmNDFmZDAwMDAwMDAwLCAweGNmYTc2OWQ3MDAwMDAwMDAsIDB4ZDQ1OGMxMDEwMDAwMDAwMCwKKyAgICAweGI2NjBlOTJiMDAwMDAwMDAsIDB4MTAyODkxNTUwMDAwMDAwMCwgMHg3MjEwYjk3ZjAwMDAwMDAwLAorICAgIDB4NWNiOTYxYTkwMDAwMDAwMCwgMHgzZTgxNDk4MzAwMDAwMDAwLCAweDk4YzkzMWZkMDAwMDAwMDAsCisgICAgMHhmYWYxMTlkNzAwMDAwMDAwLCAweDg1OWRmMThiMDAwMDAwMDAsIDB4ZTdhNWQ5YTEwMDAwMDAwMCwKKyAgICAweDQxZWRhMWRmMDAwMDAwMDAsIDB4MjNkNTg5ZjUwMDAwMDAwMCwgMHgwZDdjNTEyMzAwMDAwMDAwLAorICAgIDB4NmY0NDc5MDkwMDAwMDAwMCwgMHhjOTBjMDE3NzAwMDAwMDAwLCAweGFiMzQyOTVkMDAwMDAwMDAsCisgICAgMHgzN2Q0ZDFjZTAwMDAwMDAwLCAweDU1ZWNmOWU0MDAwMDAwMDAsIDB4ZjNhNDgxOWEwMDAwMDAwMCwKKyAgICAweDkxOWNhOWIwMDAwMDAwMDAsIDB4YmYzNTcxNjYwMDAwMDAwMCwgMHhkZDBkNTk0YzAwMDAwMDAwLAorICAgIDB4N2I0NTIxMzIwMDAwMDAwMCwgMHgxOTdkMDkxODAwMDAwMDAwLCAweDY2MTFlMTQ0MDAwMDAwMDAsCisgICAgMHgwNDI5Yzk2ZTAwMDAwMDAwLCAweGEyNjFiMTEwMDAwMDAwMDAsIDB4YzA1OTk5M2EwMDAwMDAwMCwKKyAgICAweGVlZjA0MWVjMDAwMDAwMDAsIDB4OGNjODY5YzYwMDAwMDAwMCwgMHgyYTgwMTFiODAwMDAwMDAwLAorICAgIDB4NDhiODM5OTIwMDAwMDAwMH0sCisgICB7MHgwMDAwMDAwMDAwMDAwMDAwLCAweDRjMjg5NmEzMDAwMDAwMDAsIDB4ZDk1NjVkOWMwMDAwMDAwMCwKKyAgICAweDk1N2VjYjNmMDAwMDAwMDAsIDB4ZjNhYmNiZTMwMDAwMDAwMCwgMHhiZjgzNWQ0MDAwMDAwMDAwLAorICAgIDB4MmFmZDk2N2YwMDAwMDAwMCwgMHg2NmQ1MDBkYzAwMDAwMDAwLCAweGE3NTFlNjFjMDAwMDAwMDAsCisgICAgMHhlYjc5NzBiZjAwMDAwMDAwLCAweDdlMDdiYjgwMDAwMDAwMDAsIDB4MzIyZjJkMjMwMDAwMDAwMCwKKyAgICAweDU0ZmEyZGZmMDAwMDAwMDAsIDB4MThkMmJiNWMwMDAwMDAwMCwgMHg4ZGFjNzA2MzAwMDAwMDAwLAorICAgIDB4YzE4NGU2YzAwMDAwMDAwMCwgMHg0ZWEzY2MzOTAwMDAwMDAwLCAweDAyOGI1YTlhMDAwMDAwMDAsCisgICAgMHg5N2Y1OTFhNTAwMDAwMDAwLCAweGRiZGQwNzA2MDAwMDAwMDAsIDB4YmQwODA3ZGEwMDAwMDAwMCwKKyAgICAweGYxMjA5MTc5MDAwMDAwMDAsIDB4NjQ1ZTVhNDYwMDAwMDAwMCwgMHgyODc2Y2NlNTAwMDAwMDAwLAorICAgIDB4ZTlmMjJhMjUwMDAwMDAwMCwgMHhhNWRhYmM4NjAwMDAwMDAwLCAweDMwYTQ3N2I5MDAwMDAwMDAsCisgICAgMHg3YzhjZTExYTAwMDAwMDAwLCAweDFhNTllMWM2MDAwMDAwMDAsIDB4NTY3MTc3NjUwMDAwMDAwMCwKKyAgICAweGMzMGZiYzVhMDAwMDAwMDAsIDB4OGYyNzJhZjkwMDAwMDAwMCwgMHg5YzQ2OTk3MzAwMDAwMDAwLAorICAgIDB4ZDA2ZTBmZDAwMDAwMDAwMCwgMHg0NTEwYzRlZjAwMDAwMDAwLCAweDA5Mzg1MjRjMDAwMDAwMDAsCisgICAgMHg2ZmVkNTI5MDAwMDAwMDAwLCAweDIzYzVjNDMzMDAwMDAwMDAsIDB4YjZiYjBmMGMwMDAwMDAwMCwKKyAgICAweGZhOTM5OWFmMDAwMDAwMDAsIDB4M2IxNzdmNmYwMDAwMDAwMCwgMHg3NzNmZTljYzAwMDAwMDAwLAorICAgIDB4ZTI0MTIyZjMwMDAwMDAwMCwgMHhhZTY5YjQ1MDAwMDAwMDAwLCAweGM4YmNiNDhjMDAwMDAwMDAsCisgICAgMHg4NDk0MjIyZjAwMDAwMDAwLCAweDExZWFlOTEwMDAwMDAwMDAsIDB4NWRjMjdmYjMwMDAwMDAwMCwKKyAgICAweGQyZTU1NTRhMDAwMDAwMDAsIDB4OWVjZGMzZTkwMDAwMDAwMCwgMHgwYmIzMDhkNjAwMDAwMDAwLAorICAgIDB4NDc5YjllNzUwMDAwMDAwMCwgMHgyMTRlOWVhOTAwMDAwMDAwLCAweDZkNjYwODBhMDAwMDAwMDAsCisgICAgMHhmODE4YzMzNTAwMDAwMDAwLCAweGI0MzA1NTk2MDAwMDAwMDAsIDB4NzViNGIzNTYwMDAwMDAwMCwKKyAgICAweDM5OWMyNWY1MDAwMDAwMDAsIDB4YWNlMmVlY2EwMDAwMDAwMCwgMHhlMGNhNzg2OTAwMDAwMDAwLAorICAgIDB4ODYxZjc4YjUwMDAwMDAwMCwgMHhjYTM3ZWUxNjAwMDAwMDAwLCAweDVmNDkyNTI5MDAwMDAwMDAsCisgICAgMHgxMzYxYjM4YTAwMDAwMDAwLCAweDM4OGQzMmU3MDAwMDAwMDAsIDB4NzRhNWE0NDQwMDAwMDAwMCwKKyAgICAweGUxZGI2ZjdiMDAwMDAwMDAsIDB4YWRmM2Y5ZDgwMDAwMDAwMCwgMHhjYjI2ZjkwNDAwMDAwMDAwLAorICAgIDB4ODcwZTZmYTcwMDAwMDAwMCwgMHgxMjcwYTQ5ODAwMDAwMDAwLCAweDVlNTgzMjNiMDAwMDAwMDAsCisgICAgMHg5ZmRjZDRmYjAwMDAwMDAwLCAweGQzZjQ0MjU4MDAwMDAwMDAsIDB4NDY4YTg5NjcwMDAwMDAwMCwKKyAgICAweDBhYTIxZmM0MDAwMDAwMDAsIDB4NmM3NzFmMTgwMDAwMDAwMCwgMHgyMDVmODliYjAwMDAwMDAwLAorICAgIDB4YjUyMTQyODQwMDAwMDAwMCwgMHhmOTA5ZDQyNzAwMDAwMDAwLCAweDc2MmVmZWRlMDAwMDAwMDAsCisgICAgMHgzYTA2Njg3ZDAwMDAwMDAwLCAweGFmNzhhMzQyMDAwMDAwMDAsIDB4ZTM1MDM1ZTEwMDAwMDAwMCwKKyAgICAweDg1ODUzNTNkMDAwMDAwMDAsIDB4YzlhZGEzOWUwMDAwMDAwMCwgMHg1Y2QzNjhhMTAwMDAwMDAwLAorICAgIDB4MTBmYmZlMDIwMDAwMDAwMCwgMHhkMTdmMThjMjAwMDAwMDAwLCAweDlkNTc4ZTYxMDAwMDAwMDAsCisgICAgMHgwODI5NDU1ZTAwMDAwMDAwLCAweDQ0MDFkM2ZkMDAwMDAwMDAsIDB4MjJkNGQzMjEwMDAwMDAwMCwKKyAgICAweDZlZmM0NTgyMDAwMDAwMDAsIDB4ZmI4MjhlYmQwMDAwMDAwMCwgMHhiN2FhMTgxZTAwMDAwMDAwLAorICAgIDB4YTRjYmFiOTQwMDAwMDAwMCwgMHhlOGUzM2QzNzAwMDAwMDAwLCAweDdkOWRmNjA4MDAwMDAwMDAsCisgICAgMHgzMWI1NjBhYjAwMDAwMDAwLCAweDU3NjA2MDc3MDAwMDAwMDAsIDB4MWI0OGY2ZDQwMDAwMDAwMCwKKyAgICAweDhlMzYzZGViMDAwMDAwMDAsIDB4YzIxZWFiNDgwMDAwMDAwMCwgMHgwMzlhNGQ4ODAwMDAwMDAwLAorICAgIDB4NGZiMmRiMmIwMDAwMDAwMCwgMHhkYWNjMTAxNDAwMDAwMDAwLCAweDk2ZTQ4NmI3MDAwMDAwMDAsCisgICAgMHhmMDMxODY2YjAwMDAwMDAwLCAweGJjMTkxMGM4MDAwMDAwMDAsIDB4Mjk2N2RiZjcwMDAwMDAwMCwKKyAgICAweDY1NGY0ZDU0MDAwMDAwMDAsIDB4ZWE2ODY3YWQwMDAwMDAwMCwgMHhhNjQwZjEwZTAwMDAwMDAwLAorICAgIDB4MzMzZTNhMzEwMDAwMDAwMCwgMHg3ZjE2YWM5MjAwMDAwMDAwLCAweDE5YzNhYzRlMDAwMDAwMDAsCisgICAgMHg1NWViM2FlZDAwMDAwMDAwLCAweGMwOTVmMWQyMDAwMDAwMDAsIDB4OGNiZDY3NzEwMDAwMDAwMCwKKyAgICAweDRkMzk4MWIxMDAwMDAwMDAsIDB4MDExMTE3MTIwMDAwMDAwMCwgMHg5NDZmZGMyZDAwMDAwMDAwLAorICAgIDB4ZDg0NzRhOGUwMDAwMDAwMCwgMHhiZTkyNGE1MjAwMDAwMDAwLCAweGYyYmFkY2YxMDAwMDAwMDAsCisgICAgMHg2N2M0MTdjZTAwMDAwMDAwLCAweDJiZWM4MTZkMDAwMDAwMDAsIDB4MzExYzE0MTUwMDAwMDAwMCwKKyAgICAweDdkMzQ4MmI2MDAwMDAwMDAsIDB4ZTg0YTQ5ODkwMDAwMDAwMCwgMHhhNDYyZGYyYTAwMDAwMDAwLAorICAgIDB4YzJiN2RmZjYwMDAwMDAwMCwgMHg4ZTlmNDk1NTAwMDAwMDAwLCAweDFiZTE4MjZhMDAwMDAwMDAsCisgICAgMHg1N2M5MTRjOTAwMDAwMDAwLCAweDk2NGRmMjA5MDAwMDAwMDAsIDB4ZGE2NTY0YWEwMDAwMDAwMCwKKyAgICAweDRmMWJhZjk1MDAwMDAwMDAsIDB4MDMzMzM5MzYwMDAwMDAwMCwgMHg2NWU2MzllYTAwMDAwMDAwLAorICAgIDB4MjljZWFmNDkwMDAwMDAwMCwgMHhiY2IwNjQ3NjAwMDAwMDAwLCAweGYwOThmMmQ1MDAwMDAwMDAsCisgICAgMHg3ZmJmZDgyYzAwMDAwMDAwLCAweDMzOTc0ZThmMDAwMDAwMDAsIDB4YTZlOTg1YjAwMDAwMDAwMCwKKyAgICAweGVhYzExMzEzMDAwMDAwMDAsIDB4OGMxNDEzY2YwMDAwMDAwMCwgMHhjMDNjODU2YzAwMDAwMDAwLAorICAgIDB4NTU0MjRlNTMwMDAwMDAwMCwgMHgxOTZhZDhmMDAwMDAwMDAwLCAweGQ4ZWUzZTMwMDAwMDAwMDAsCisgICAgMHg5NGM2YTg5MzAwMDAwMDAwLCAweDAxYjg2M2FjMDAwMDAwMDAsIDB4NGQ5MGY1MGYwMDAwMDAwMCwKKyAgICAweDJiNDVmNWQzMDAwMDAwMDAsIDB4Njc2ZDYzNzAwMDAwMDAwMCwgMHhmMjEzYTg0ZjAwMDAwMDAwLAorICAgIDB4YmUzYjNlZWMwMDAwMDAwMCwgMHhhZDVhOGQ2NjAwMDAwMDAwLCAweGUxNzIxYmM1MDAwMDAwMDAsCisgICAgMHg3NDBjZDBmYTAwMDAwMDAwLCAweDM4MjQ0NjU5MDAwMDAwMDAsIDB4NWVmMTQ2ODUwMDAwMDAwMCwKKyAgICAweDEyZDlkMDI2MDAwMDAwMDAsIDB4ODdhNzFiMTkwMDAwMDAwMCwgMHhjYjhmOGRiYTAwMDAwMDAwLAorICAgIDB4MGEwYjZiN2EwMDAwMDAwMCwgMHg0NjIzZmRkOTAwMDAwMDAwLCAweGQzNWQzNmU2MDAwMDAwMDAsCisgICAgMHg5Zjc1YTA0NTAwMDAwMDAwLCAweGY5YTBhMDk5MDAwMDAwMDAsIDB4YjU4ODM2M2EwMDAwMDAwMCwKKyAgICAweDIwZjZmZDA1MDAwMDAwMDAsIDB4NmNkZTZiYTYwMDAwMDAwMCwgMHhlM2Y5NDE1ZjAwMDAwMDAwLAorICAgIDB4YWZkMWQ3ZmMwMDAwMDAwMCwgMHgzYWFmMWNjMzAwMDAwMDAwLCAweDc2ODc4YTYwMDAwMDAwMDAsCisgICAgMHgxMDUyOGFiYzAwMDAwMDAwLCAweDVjN2ExYzFmMDAwMDAwMDAsIDB4YzkwNGQ3MjAwMDAwMDAwMCwKKyAgICAweDg1MmM0MTgzMDAwMDAwMDAsIDB4NDRhOGE3NDMwMDAwMDAwMCwgMHgwODgwMzFlMDAwMDAwMDAwLAorICAgIDB4OWRmZWZhZGYwMDAwMDAwMCwgMHhkMWQ2NmM3YzAwMDAwMDAwLCAweGI3MDM2Y2EwMDAwMDAwMDAsCisgICAgMHhmYjJiZmEwMzAwMDAwMDAwLCAweDZlNTUzMTNjMDAwMDAwMDAsIDB4MjI3ZGE3OWYwMDAwMDAwMCwKKyAgICAweDA5OTEyNmYyMDAwMDAwMDAsIDB4NDViOWIwNTEwMDAwMDAwMCwgMHhkMGM3N2I2ZTAwMDAwMDAwLAorICAgIDB4OWNlZmVkY2QwMDAwMDAwMCwgMHhmYTNhZWQxMTAwMDAwMDAwLCAweGI2MTI3YmIyMDAwMDAwMDAsCisgICAgMHgyMzZjYjA4ZDAwMDAwMDAwLCAweDZmNDQyNjJlMDAwMDAwMDAsIDB4YWVjMGMwZWUwMDAwMDAwMCwKKyAgICAweGUyZTg1NjRkMDAwMDAwMDAsIDB4Nzc5NjlkNzIwMDAwMDAwMCwgMHgzYmJlMGJkMTAwMDAwMDAwLAorICAgIDB4NWQ2YjBiMGQwMDAwMDAwMCwgMHgxMTQzOWRhZTAwMDAwMDAwLCAweDg0M2Q1NjkxMDAwMDAwMDAsCisgICAgMHhjODE1YzAzMjAwMDAwMDAwLCAweDQ3MzJlYWNiMDAwMDAwMDAsIDB4MGIxYTdjNjgwMDAwMDAwMCwKKyAgICAweDllNjRiNzU3MDAwMDAwMDAsIDB4ZDI0YzIxZjQwMDAwMDAwMCwgMHhiNDk5MjEyODAwMDAwMDAwLAorICAgIDB4ZjhiMWI3OGIwMDAwMDAwMCwgMHg2ZGNmN2NiNDAwMDAwMDAwLCAweDIxZTdlYTE3MDAwMDAwMDAsCisgICAgMHhlMDYzMGNkNzAwMDAwMDAwLCAweGFjNGI5YTc0MDAwMDAwMDAsIDB4MzkzNTUxNGIwMDAwMDAwMCwKKyAgICAweDc1MWRjN2U4MDAwMDAwMDAsIDB4MTNjOGM3MzQwMDAwMDAwMCwgMHg1ZmUwNTE5NzAwMDAwMDAwLAorICAgIDB4Y2E5ZTlhYTgwMDAwMDAwMCwgMHg4NmI2MGMwYjAwMDAwMDAwLCAweDk1ZDdiZjgxMDAwMDAwMDAsCisgICAgMHhkOWZmMjkyMjAwMDAwMDAwLCAweDRjODFlMjFkMDAwMDAwMDAsIDB4MDBhOTc0YmUwMDAwMDAwMCwKKyAgICAweDY2N2M3NDYyMDAwMDAwMDAsIDB4MmE1NGUyYzEwMDAwMDAwMCwgMHhiZjJhMjlmZTAwMDAwMDAwLAorICAgIDB4ZjMwMmJmNWQwMDAwMDAwMCwgMHgzMjg2NTk5ZDAwMDAwMDAwLCAweDdlYWVjZjNlMDAwMDAwMDAsCisgICAgMHhlYmQwMDQwMTAwMDAwMDAwLCAweGE3Zjg5MmEyMDAwMDAwMDAsIDB4YzEyZDkyN2UwMDAwMDAwMCwKKyAgICAweDhkMDUwNGRkMDAwMDAwMDAsIDB4MTg3YmNmZTIwMDAwMDAwMCwgMHg1NDUzNTk0MTAwMDAwMDAwLAorICAgIDB4ZGI3NDczYjgwMDAwMDAwMCwgMHg5NzVjZTUxYjAwMDAwMDAwLCAweDAyMjIyZTI0MDAwMDAwMDAsCisgICAgMHg0ZTBhYjg4NzAwMDAwMDAwLCAweDI4ZGZiODViMDAwMDAwMDAsIDB4NjRmNzJlZjgwMDAwMDAwMCwKKyAgICAweGYxODllNWM3MDAwMDAwMDAsIDB4YmRhMTczNjQwMDAwMDAwMCwgMHg3YzI1OTVhNDAwMDAwMDAwLAorICAgIDB4MzAwZDAzMDcwMDAwMDAwMCwgMHhhNTczYzgzODAwMDAwMDAwLCAweGU5NWI1ZTliMDAwMDAwMDAsCisgICAgMHg4ZjhlNWU0NzAwMDAwMDAwLCAweGMzYTZjOGU0MDAwMDAwMDAsIDB4NTZkODAzZGIwMDAwMDAwMCwKKyAgICAweDFhZjA5NTc4MDAwMDAwMDB9LAorICAgezB4MDAwMDAwMDAwMDAwMDAwMCwgMHg5MzliYzk3ZjAwMDAwMDAwLCAweDI2Mzc5M2ZmMDAwMDAwMDAsCisgICAgMHhiNWFjNWE4MDAwMDAwMDAwLCAweDBkNjg1NzI0MDAwMDAwMDAsIDB4OWVmMzllNWIwMDAwMDAwMCwKKyAgICAweDJiNWZjNGRiMDAwMDAwMDAsIDB4YjhjNDBkYTQwMDAwMDAwMCwgMHgxYWQwYWU0ODAwMDAwMDAwLAorICAgIDB4ODk0YjY3MzcwMDAwMDAwMCwgMHgzY2U3M2RiNzAwMDAwMDAwLCAweGFmN2NmNGM4MDAwMDAwMDAsCisgICAgMHgxN2I4Zjk2YzAwMDAwMDAwLCAweDg0MjMzMDEzMDAwMDAwMDAsIDB4MzE4ZjZhOTMwMDAwMDAwMCwKKyAgICAweGEyMTRhM2VjMDAwMDAwMDAsIDB4MzRhMDVkOTEwMDAwMDAwMCwgMHhhNzNiOTRlZTAwMDAwMDAwLAorICAgIDB4MTI5N2NlNmUwMDAwMDAwMCwgMHg4MTBjMDcxMTAwMDAwMDAwLCAweDM5YzgwYWI1MDAwMDAwMDAsCisgICAgMHhhYTUzYzNjYTAwMDAwMDAwLCAweDFmZmY5OTRhMDAwMDAwMDAsIDB4OGM2NDUwMzUwMDAwMDAwMCwKKyAgICAweDJlNzBmM2Q5MDAwMDAwMDAsIDB4YmRlYjNhYTYwMDAwMDAwMCwgMHgwODQ3NjAyNjAwMDAwMDAwLAorICAgIDB4OWJkY2E5NTkwMDAwMDAwMCwgMHgyMzE4YTRmZDAwMDAwMDAwLCAweGIwODM2ZDgyMDAwMDAwMDAsCisgICAgMHgwNTJmMzcwMjAwMDAwMDAwLCAweDk2YjRmZTdkMDAwMDAwMDAsIDB4Mjk0NmNhZjkwMDAwMDAwMCwKKyAgICAweGJhZGQwMzg2MDAwMDAwMDAsIDB4MGY3MTU5MDYwMDAwMDAwMCwgMHg5Y2VhOTA3OTAwMDAwMDAwLAorICAgIDB4MjQyZTlkZGQwMDAwMDAwMCwgMHhiN2I1NTRhMjAwMDAwMDAwLCAweDAyMTkwZTIyMDAwMDAwMDAsCisgICAgMHg5MTgyYzc1ZDAwMDAwMDAwLCAweDMzOTY2NGIxMDAwMDAwMDAsIDB4YTAwZGFkY2UwMDAwMDAwMCwKKyAgICAweDE1YTFmNzRlMDAwMDAwMDAsIDB4ODYzYTNlMzEwMDAwMDAwMCwgMHgzZWZlMzM5NTAwMDAwMDAwLAorICAgIDB4YWQ2NWZhZWEwMDAwMDAwMCwgMHgxOGM5YTA2YTAwMDAwMDAwLCAweDhiNTI2OTE1MDAwMDAwMDAsCisgICAgMHgxZGU2OTc2ODAwMDAwMDAwLCAweDhlN2Q1ZTE3MDAwMDAwMDAsIDB4M2JkMTA0OTcwMDAwMDAwMCwKKyAgICAweGE4NGFjZGU4MDAwMDAwMDAsIDB4MTA4ZWMwNGMwMDAwMDAwMCwgMHg4MzE1MDkzMzAwMDAwMDAwLAorICAgIDB4MzZiOTUzYjMwMDAwMDAwMCwgMHhhNTIyOWFjYzAwMDAwMDAwLCAweDA3MzYzOTIwMDAwMDAwMDAsCisgICAgMHg5NGFkZjA1ZjAwMDAwMDAwLCAweDIxMDFhYWRmMDAwMDAwMDAsIDB4YjI5YTYzYTAwMDAwMDAwMCwKKyAgICAweDBhNWU2ZTA0MDAwMDAwMDAsIDB4OTljNWE3N2IwMDAwMDAwMCwgMHgyYzY5ZmRmYjAwMDAwMDAwLAorICAgIDB4YmZmMjM0ODQwMDAwMDAwMCwgMHgxMzhhZTUyODAwMDAwMDAwLCAweDgwMTEyYzU3MDAwMDAwMDAsCisgICAgMHgzNWJkNzZkNzAwMDAwMDAwLCAweGE2MjZiZmE4MDAwMDAwMDAsIDB4MWVlMmIyMGMwMDAwMDAwMCwKKyAgICAweDhkNzk3YjczMDAwMDAwMDAsIDB4MzhkNTIxZjMwMDAwMDAwMCwgMHhhYjRlZTg4YzAwMDAwMDAwLAorICAgIDB4MDk1YTRiNjAwMDAwMDAwMCwgMHg5YWMxODIxZjAwMDAwMDAwLCAweDJmNmRkODlmMDAwMDAwMDAsCisgICAgMHhiY2Y2MTFlMDAwMDAwMDAwLCAweDA0MzIxYzQ0MDAwMDAwMDAsIDB4OTdhOWQ1M2IwMDAwMDAwMCwKKyAgICAweDIyMDU4ZmJiMDAwMDAwMDAsIDB4YjE5ZTQ2YzQwMDAwMDAwMCwgMHgyNzJhYjhiOTAwMDAwMDAwLAorICAgIDB4YjRiMTcxYzYwMDAwMDAwMCwgMHgwMTFkMmI0NjAwMDAwMDAwLCAweDkyODZlMjM5MDAwMDAwMDAsCisgICAgMHgyYTQyZWY5ZDAwMDAwMDAwLCAweGI5ZDkyNmUyMDAwMDAwMDAsIDB4MGM3NTdjNjIwMDAwMDAwMCwKKyAgICAweDlmZWViNTFkMDAwMDAwMDAsIDB4M2RmYTE2ZjEwMDAwMDAwMCwgMHhhZTYxZGY4ZTAwMDAwMDAwLAorICAgIDB4MWJjZDg1MGUwMDAwMDAwMCwgMHg4ODU2NGM3MTAwMDAwMDAwLCAweDMwOTI0MWQ1MDAwMDAwMDAsCisgICAgMHhhMzA5ODhhYTAwMDAwMDAwLCAweDE2YTVkMjJhMDAwMDAwMDAsIDB4ODUzZTFiNTUwMDAwMDAwMCwKKyAgICAweDNhY2MyZmQxMDAwMDAwMDAsIDB4YTk1N2U2YWUwMDAwMDAwMCwgMHgxY2ZiYmMyZTAwMDAwMDAwLAorICAgIDB4OGY2MDc1NTEwMDAwMDAwMCwgMHgzN2E0NzhmNTAwMDAwMDAwLCAweGE0M2ZiMThhMDAwMDAwMDAsCisgICAgMHgxMTkzZWIwYTAwMDAwMDAwLCAweDgyMDgyMjc1MDAwMDAwMDAsIDB4MjAxYzgxOTkwMDAwMDAwMCwKKyAgICAweGIzODc0OGU2MDAwMDAwMDAsIDB4MDYyYjEyNjYwMDAwMDAwMCwgMHg5NWIwZGIxOTAwMDAwMDAwLAorICAgIDB4MmQ3NGQ2YmQwMDAwMDAwMCwgMHhiZWVmMWZjMjAwMDAwMDAwLCAweDBiNDM0NTQyMDAwMDAwMDAsCisgICAgMHg5OGQ4OGMzZDAwMDAwMDAwLCAweDBlNmM3MjQwMDAwMDAwMDAsIDB4OWRmN2JiM2YwMDAwMDAwMCwKKyAgICAweDI4NWJlMWJmMDAwMDAwMDAsIDB4YmJjMDI4YzAwMDAwMDAwMCwgMHgwMzA0MjU2NDAwMDAwMDAwLAorICAgIDB4OTA5ZmVjMWIwMDAwMDAwMCwgMHgyNTMzYjY5YjAwMDAwMDAwLCAweGI2YTg3ZmU0MDAwMDAwMDAsCisgICAgMHgxNGJjZGMwODAwMDAwMDAwLCAweDg3MjcxNTc3MDAwMDAwMDAsIDB4MzI4YjRmZjcwMDAwMDAwMCwKKyAgICAweGExMTA4Njg4MDAwMDAwMDAsIDB4MTlkNDhiMmMwMDAwMDAwMCwgMHg4YTRmNDI1MzAwMDAwMDAwLAorICAgIDB4M2ZlMzE4ZDMwMDAwMDAwMCwgMHhhYzc4ZDFhYzAwMDAwMDAwLCAweDI2MTRjYjUxMDAwMDAwMDAsCisgICAgMHhiNThmMDIyZTAwMDAwMDAwLCAweDAwMjM1OGFlMDAwMDAwMDAsIDB4OTNiODkxZDEwMDAwMDAwMCwKKyAgICAweDJiN2M5Yzc1MDAwMDAwMDAsIDB4YjhlNzU1MGEwMDAwMDAwMCwgMHgwZDRiMGY4YTAwMDAwMDAwLAorICAgIDB4OWVkMGM2ZjUwMDAwMDAwMCwgMHgzY2M0NjUxOTAwMDAwMDAwLCAweGFmNWZhYzY2MDAwMDAwMDAsCisgICAgMHgxYWYzZjZlNjAwMDAwMDAwLCAweDg5NjgzZjk5MDAwMDAwMDAsIDB4MzFhYzMyM2QwMDAwMDAwMCwKKyAgICAweGEyMzdmYjQyMDAwMDAwMDAsIDB4MTc5YmExYzIwMDAwMDAwMCwgMHg4NDAwNjhiZDAwMDAwMDAwLAorICAgIDB4MTJiNDk2YzAwMDAwMDAwMCwgMHg4MTJmNWZiZjAwMDAwMDAwLCAweDM0ODMwNTNmMDAwMDAwMDAsCisgICAgMHhhNzE4Y2M0MDAwMDAwMDAwLCAweDFmZGNjMWU0MDAwMDAwMDAsIDB4OGM0NzA4OWIwMDAwMDAwMCwKKyAgICAweDM5ZWI1MjFiMDAwMDAwMDAsIDB4YWE3MDliNjQwMDAwMDAwMCwgMHgwODY0Mzg4ODAwMDAwMDAwLAorICAgIDB4OWJmZmYxZjcwMDAwMDAwMCwgMHgyZTUzYWI3NzAwMDAwMDAwLCAweGJkYzg2MjA4MDAwMDAwMDAsCisgICAgMHgwNTBjNmZhYzAwMDAwMDAwLCAweDk2OTdhNmQzMDAwMDAwMDAsIDB4MjMzYmZjNTMwMDAwMDAwMCwKKyAgICAweGIwYTAzNTJjMDAwMDAwMDAsIDB4MGY1MjAxYTgwMDAwMDAwMCwgMHg5Y2M5YzhkNzAwMDAwMDAwLAorICAgIDB4Mjk2NTkyNTcwMDAwMDAwMCwgMHhiYWZlNWIyODAwMDAwMDAwLCAweDAyM2E1NjhjMDAwMDAwMDAsCisgICAgMHg5MWExOWZmMzAwMDAwMDAwLCAweDI0MGRjNTczMDAwMDAwMDAsIDB4Yjc5NjBjMGMwMDAwMDAwMCwKKyAgICAweDE1ODJhZmUwMDAwMDAwMDAsIDB4ODYxOTY2OWYwMDAwMDAwMCwgMHgzM2I1M2MxZjAwMDAwMDAwLAorICAgIDB4YTAyZWY1NjAwMDAwMDAwMCwgMHgxOGVhZjhjNDAwMDAwMDAwLCAweDhiNzEzMWJiMDAwMDAwMDAsCisgICAgMHgzZWRkNmIzYjAwMDAwMDAwLCAweGFkNDZhMjQ0MDAwMDAwMDAsIDB4M2JmMjVjMzkwMDAwMDAwMCwKKyAgICAweGE4Njk5NTQ2MDAwMDAwMDAsIDB4MWRjNWNmYzYwMDAwMDAwMCwgMHg4ZTVlMDZiOTAwMDAwMDAwLAorICAgIDB4MzY5YTBiMWQwMDAwMDAwMCwgMHhhNTAxYzI2MjAwMDAwMDAwLCAweDEwYWQ5OGUyMDAwMDAwMDAsCisgICAgMHg4MzM2NTE5ZDAwMDAwMDAwLCAweDIxMjJmMjcxMDAwMDAwMDAsIDB4YjJiOTNiMGUwMDAwMDAwMCwKKyAgICAweDA3MTU2MThlMDAwMDAwMDAsIDB4OTQ4ZWE4ZjEwMDAwMDAwMCwgMHgyYzRhYTU1NTAwMDAwMDAwLAorICAgIDB4YmZkMTZjMmEwMDAwMDAwMCwgMHgwYTdkMzZhYTAwMDAwMDAwLCAweDk5ZTZmZmQ1MDAwMDAwMDAsCisgICAgMHgzNTllMmU3OTAwMDAwMDAwLCAweGE2MDVlNzA2MDAwMDAwMDAsIDB4MTNhOWJkODYwMDAwMDAwMCwKKyAgICAweDgwMzI3NGY5MDAwMDAwMDAsIDB4MzhmNjc5NWQwMDAwMDAwMCwgMHhhYjZkYjAyMjAwMDAwMDAwLAorICAgIDB4MWVjMWVhYTIwMDAwMDAwMCwgMHg4ZDVhMjNkZDAwMDAwMDAwLCAweDJmNGU4MDMxMDAwMDAwMDAsCisgICAgMHhiY2Q1NDk0ZTAwMDAwMDAwLCAweDA5NzkxM2NlMDAwMDAwMDAsIDB4OWFlMmRhYjEwMDAwMDAwMCwKKyAgICAweDIyMjZkNzE1MDAwMDAwMDAsIDB4YjFiZDFlNmEwMDAwMDAwMCwgMHgwNDExNDRlYTAwMDAwMDAwLAorICAgIDB4OTc4YThkOTUwMDAwMDAwMCwgMHgwMTNlNzNlODAwMDAwMDAwLCAweDkyYTViYTk3MDAwMDAwMDAsCisgICAgMHgyNzA5ZTAxNzAwMDAwMDAwLCAweGI0OTIyOTY4MDAwMDAwMDAsIDB4MGM1NjI0Y2MwMDAwMDAwMCwKKyAgICAweDlmY2RlZGIzMDAwMDAwMDAsIDB4MmE2MWI3MzMwMDAwMDAwMCwgMHhiOWZhN2U0YzAwMDAwMDAwLAorICAgIDB4MWJlZWRkYTAwMDAwMDAwMCwgMHg4ODc1MTRkZjAwMDAwMDAwLCAweDNkZDk0ZTVmMDAwMDAwMDAsCisgICAgMHhhZTQyODcyMDAwMDAwMDAwLCAweDE2ODY4YTg0MDAwMDAwMDAsIDB4ODUxZDQzZmIwMDAwMDAwMCwKKyAgICAweDMwYjExOTdiMDAwMDAwMDAsIDB4YTMyYWQwMDQwMDAwMDAwMCwgMHgxY2Q4ZTQ4MDAwMDAwMDAwLAorICAgIDB4OGY0MzJkZmYwMDAwMDAwMCwgMHgzYWVmNzc3ZjAwMDAwMDAwLCAweGE5NzRiZTAwMDAwMDAwMDAsCisgICAgMHgxMWIwYjNhNDAwMDAwMDAwLCAweDgyMmI3YWRiMDAwMDAwMDAsIDB4Mzc4NzIwNWIwMDAwMDAwMCwKKyAgICAweGE0MWNlOTI0MDAwMDAwMDAsIDB4MDYwODRhYzgwMDAwMDAwMCwgMHg5NTkzODNiNzAwMDAwMDAwLAorICAgIDB4MjAzZmQ5MzcwMDAwMDAwMCwgMHhiM2E0MTA0ODAwMDAwMDAwLCAweDBiNjAxZGVjMDAwMDAwMDAsCisgICAgMHg5OGZiZDQ5MzAwMDAwMDAwLCAweDJkNTc4ZTEzMDAwMDAwMDAsIDB4YmVjYzQ3NmMwMDAwMDAwMCwKKyAgICAweDI4NzhiOTExMDAwMDAwMDAsIDB4YmJlMzcwNmUwMDAwMDAwMCwgMHgwZTRmMmFlZTAwMDAwMDAwLAorICAgIDB4OWRkNGUzOTEwMDAwMDAwMCwgMHgyNTEwZWUzNTAwMDAwMDAwLCAweGI2OGIyNzRhMDAwMDAwMDAsCisgICAgMHgwMzI3N2RjYTAwMDAwMDAwLCAweDkwYmNiNGI1MDAwMDAwMDAsIDB4MzJhODE3NTkwMDAwMDAwMCwKKyAgICAweGExMzNkZTI2MDAwMDAwMDAsIDB4MTQ5Zjg0YTYwMDAwMDAwMCwgMHg4NzA0NGRkOTAwMDAwMDAwLAorICAgIDB4M2ZjMDQwN2QwMDAwMDAwMCwgMHhhYzViODkwMjAwMDAwMDAwLCAweDE5ZjdkMzgyMDAwMDAwMDAsCisgICAgMHg4YTZjMWFmZDAwMDAwMDAwfSwKKyAgIHsweDAwMDAwMDAwMDAwMDAwMDAsIDB4NjUwYjc5NjkwMDAwMDAwMCwgMHhjYTE2ZjJkMjAwMDAwMDAwLAorICAgIDB4YWYxZDhiYmIwMDAwMDAwMCwgMHhkNTJiOTU3ZTAwMDAwMDAwLCAweGIwMjBlYzE3MDAwMDAwMDAsCisgICAgMHgxZjNkNjdhYzAwMDAwMDAwLCAweDdhMzYxZWM1MDAwMDAwMDAsIDB4YWE1NzJhZmQwMDAwMDAwMCwKKyAgICAweGNmNWM1Mzk0MDAwMDAwMDAsIDB4NjA0MWQ4MmYwMDAwMDAwMCwgMHgwNTRhYTE0NjAwMDAwMDAwLAorICAgIDB4N2Y3Y2JmODMwMDAwMDAwMCwgMHgxYTc3YzZlYTAwMDAwMDAwLCAweGI1NmE0ZDUxMDAwMDAwMDAsCisgICAgMHhkMDYxMzQzODAwMDAwMDAwLCAweDE1YTkyNTIxMDAwMDAwMDAsIDB4NzBhMjVjNDgwMDAwMDAwMCwKKyAgICAweGRmYmZkN2YzMDAwMDAwMDAsIDB4YmFiNGFlOWEwMDAwMDAwMCwgMHhjMDgyYjA1ZjAwMDAwMDAwLAorICAgIDB4YTU4OWM5MzYwMDAwMDAwMCwgMHgwYTk0NDI4ZDAwMDAwMDAwLCAweDZmOWYzYmU0MDAwMDAwMDAsCisgICAgMHhiZmZlMGZkYzAwMDAwMDAwLCAweGRhZjU3NmI1MDAwMDAwMDAsIDB4NzVlOGZkMGUwMDAwMDAwMCwKKyAgICAweDEwZTM4NDY3MDAwMDAwMDAsIDB4NmFkNTlhYTIwMDAwMDAwMCwgMHgwZmRlZTNjYjAwMDAwMDAwLAorICAgIDB4YTBjMzY4NzAwMDAwMDAwMCwgMHhjNWM4MTExOTAwMDAwMDAwLCAweDJhNTI0YjQyMDAwMDAwMDAsCisgICAgMHg0ZjU5MzIyYjAwMDAwMDAwLCAweGUwNDRiOTkwMDAwMDAwMDAsIDB4ODU0ZmMwZjkwMDAwMDAwMCwKKyAgICAweGZmNzlkZTNjMDAwMDAwMDAsIDB4OWE3MmE3NTUwMDAwMDAwMCwgMHgzNTZmMmNlZTAwMDAwMDAwLAorICAgIDB4NTA2NDU1ODcwMDAwMDAwMCwgMHg4MDA1NjFiZjAwMDAwMDAwLCAweGU1MGUxOGQ2MDAwMDAwMDAsCisgICAgMHg0YTEzOTM2ZDAwMDAwMDAwLCAweDJmMThlYTA0MDAwMDAwMDAsIDB4NTUyZWY0YzEwMDAwMDAwMCwKKyAgICAweDMwMjU4ZGE4MDAwMDAwMDAsIDB4OWYzODA2MTMwMDAwMDAwMCwgMHhmYTMzN2Y3YTAwMDAwMDAwLAorICAgIDB4M2ZmYjZlNjMwMDAwMDAwMCwgMHg1YWYwMTcwYTAwMDAwMDAwLCAweGY1ZWQ5Y2IxMDAwMDAwMDAsCisgICAgMHg5MGU2ZTVkODAwMDAwMDAwLCAweGVhZDBmYjFkMDAwMDAwMDAsIDB4OGZkYjgyNzQwMDAwMDAwMCwKKyAgICAweDIwYzYwOWNmMDAwMDAwMDAsIDB4NDVjZDcwYTYwMDAwMDAwMCwgMHg5NWFjNDQ5ZTAwMDAwMDAwLAorICAgIDB4ZjBhNzNkZjcwMDAwMDAwMCwgMHg1ZmJhYjY0YzAwMDAwMDAwLCAweDNhYjFjZjI1MDAwMDAwMDAsCisgICAgMHg0MDg3ZDFlMDAwMDAwMDAwLCAweDI1OGNhODg5MDAwMDAwMDAsIDB4OGE5MTIzMzIwMDAwMDAwMCwKKyAgICAweGVmOWE1YTViMDAwMDAwMDAsIDB4NTRhNDk2ODQwMDAwMDAwMCwgMHgzMWFmZWZlZDAwMDAwMDAwLAorICAgIDB4OWViMjY0NTYwMDAwMDAwMCwgMHhmYmI5MWQzZjAwMDAwMDAwLCAweDgxOGYwM2ZhMDAwMDAwMDAsCisgICAgMHhlNDg0N2E5MzAwMDAwMDAwLCAweDRiOTlmMTI4MDAwMDAwMDAsIDB4MmU5Mjg4NDEwMDAwMDAwMCwKKyAgICAweGZlZjNiYzc5MDAwMDAwMDAsIDB4OWJmOGM1MTAwMDAwMDAwMCwgMHgzNGU1NGVhYjAwMDAwMDAwLAorICAgIDB4NTFlZTM3YzIwMDAwMDAwMCwgMHgyYmQ4MjkwNzAwMDAwMDAwLCAweDRlZDM1MDZlMDAwMDAwMDAsCisgICAgMHhlMWNlZGJkNTAwMDAwMDAwLCAweDg0YzVhMmJjMDAwMDAwMDAsIDB4NDEwZGIzYTUwMDAwMDAwMCwKKyAgICAweDI0MDZjYWNjMDAwMDAwMDAsIDB4OGIxYjQxNzcwMDAwMDAwMCwgMHhlZTEwMzgxZTAwMDAwMDAwLAorICAgIDB4OTQyNjI2ZGIwMDAwMDAwMCwgMHhmMTJkNWZiMjAwMDAwMDAwLCAweDVlMzBkNDA5MDAwMDAwMDAsCisgICAgMHgzYjNiYWQ2MDAwMDAwMDAwLCAweGViNWE5OTU4MDAwMDAwMDAsIDB4OGU1MWUwMzEwMDAwMDAwMCwKKyAgICAweDIxNGM2YjhhMDAwMDAwMDAsIDB4NDQ0NzEyZTMwMDAwMDAwMCwgMHgzZTcxMGMyNjAwMDAwMDAwLAorICAgIDB4NWI3YTc1NGYwMDAwMDAwMCwgMHhmNDY3ZmVmNDAwMDAwMDAwLCAweDkxNmM4NzlkMDAwMDAwMDAsCisgICAgMHg3ZWY2ZGRjNjAwMDAwMDAwLCAweDFiZmRhNGFmMDAwMDAwMDAsIDB4YjRlMDJmMTQwMDAwMDAwMCwKKyAgICAweGQxZWI1NjdkMDAwMDAwMDAsIDB4YWJkZDQ4YjgwMDAwMDAwMCwgMHhjZWQ2MzFkMTAwMDAwMDAwLAorICAgIDB4NjFjYmJhNmEwMDAwMDAwMCwgMHgwNGMwYzMwMzAwMDAwMDAwLCAweGQ0YTFmNzNiMDAwMDAwMDAsCisgICAgMHhiMWFhOGU1MjAwMDAwMDAwLCAweDFlYjcwNWU5MDAwMDAwMDAsIDB4N2JiYzdjODAwMDAwMDAwMCwKKyAgICAweDAxOGE2MjQ1MDAwMDAwMDAsIDB4NjQ4MTFiMmMwMDAwMDAwMCwgMHhjYjljOTA5NzAwMDAwMDAwLAorICAgIDB4YWU5N2U5ZmUwMDAwMDAwMCwgMHg2YjVmZjhlNzAwMDAwMDAwLCAweDBlNTQ4MThlMDAwMDAwMDAsCisgICAgMHhhMTQ5MGEzNTAwMDAwMDAwLCAweGM0NDI3MzVjMDAwMDAwMDAsIDB4YmU3NDZkOTkwMDAwMDAwMCwKKyAgICAweGRiN2YxNGYwMDAwMDAwMDAsIDB4NzQ2MjlmNGIwMDAwMDAwMCwgMHgxMTY5ZTYyMjAwMDAwMDAwLAorICAgIDB4YzEwOGQyMWEwMDAwMDAwMCwgMHhhNDAzYWI3MzAwMDAwMDAwLCAweDBiMWUyMGM4MDAwMDAwMDAsCisgICAgMHg2ZTE1NTlhMTAwMDAwMDAwLCAweDE0MjM0NzY0MDAwMDAwMDAsIDB4NzEyODNlMGQwMDAwMDAwMCwKKyAgICAweGRlMzViNWI2MDAwMDAwMDAsIDB4YmIzZWNjZGYwMDAwMDAwMCwgMHhlOTRlNWNkMjAwMDAwMDAwLAorICAgIDB4OGM0NTI1YmIwMDAwMDAwMCwgMHgyMzU4YWUwMDAwMDAwMDAwLCAweDQ2NTNkNzY5MDAwMDAwMDAsCisgICAgMHgzYzY1YzlhYzAwMDAwMDAwLCAweDU5NmViMGM1MDAwMDAwMDAsIDB4ZjY3MzNiN2UwMDAwMDAwMCwKKyAgICAweDkzNzg0MjE3MDAwMDAwMDAsIDB4NDMxOTc2MmYwMDAwMDAwMCwgMHgyNjEyMGY0NjAwMDAwMDAwLAorICAgIDB4ODkwZjg0ZmQwMDAwMDAwMCwgMHhlYzA0ZmQ5NDAwMDAwMDAwLCAweDk2MzJlMzUxMDAwMDAwMDAsCisgICAgMHhmMzM5OWEzODAwMDAwMDAwLCAweDVjMjQxMTgzMDAwMDAwMDAsIDB4MzkyZjY4ZWEwMDAwMDAwMCwKKyAgICAweGZjZTc3OWYzMDAwMDAwMDAsIDB4OTllYzAwOWEwMDAwMDAwMCwgMHgzNmYxOGIyMTAwMDAwMDAwLAorICAgIDB4NTNmYWYyNDgwMDAwMDAwMCwgMHgyOWNjZWM4ZDAwMDAwMDAwLCAweDRjYzc5NWU0MDAwMDAwMDAsCisgICAgMHhlM2RhMWU1ZjAwMDAwMDAwLCAweDg2ZDE2NzM2MDAwMDAwMDAsIDB4NTZiMDUzMGUwMDAwMDAwMCwKKyAgICAweDMzYmIyYTY3MDAwMDAwMDAsIDB4OWNhNmExZGMwMDAwMDAwMCwgMHhmOWFkZDhiNTAwMDAwMDAwLAorICAgIDB4ODM5YmM2NzAwMDAwMDAwMCwgMHhlNjkwYmYxOTAwMDAwMDAwLCAweDQ5OGQzNGEyMDAwMDAwMDAsCisgICAgMHgyYzg2NGRjYjAwMDAwMDAwLCAweGMzMWMxNzkwMDAwMDAwMDAsIDB4YTYxNzZlZjkwMDAwMDAwMCwKKyAgICAweDA5MGFlNTQyMDAwMDAwMDAsIDB4NmMwMTljMmIwMDAwMDAwMCwgMHgxNjM3ODJlZTAwMDAwMDAwLAorICAgIDB4NzMzY2ZiODcwMDAwMDAwMCwgMHhkYzIxNzAzYzAwMDAwMDAwLCAweGI5MmEwOTU1MDAwMDAwMDAsCisgICAgMHg2OTRiM2Q2ZDAwMDAwMDAwLCAweDBjNDA0NDA0MDAwMDAwMDAsIDB4YTM1ZGNmYmYwMDAwMDAwMCwKKyAgICAweGM2NTZiNmQ2MDAwMDAwMDAsIDB4YmM2MGE4MTMwMDAwMDAwMCwgMHhkOTZiZDE3YTAwMDAwMDAwLAorICAgIDB4NzY3NjVhYzEwMDAwMDAwMCwgMHgxMzdkMjNhODAwMDAwMDAwLCAweGQ2YjUzMmIxMDAwMDAwMDAsCisgICAgMHhiM2JlNGJkODAwMDAwMDAwLCAweDFjYTNjMDYzMDAwMDAwMDAsIDB4NzlhOGI5MGEwMDAwMDAwMCwKKyAgICAweDAzOWVhN2NmMDAwMDAwMDAsIDB4NjY5NWRlYTYwMDAwMDAwMCwgMHhjOTg4NTUxZDAwMDAwMDAwLAorICAgIDB4YWM4MzJjNzQwMDAwMDAwMCwgMHg3Y2UyMTg0YzAwMDAwMDAwLCAweDE5ZTk2MTI1MDAwMDAwMDAsCisgICAgMHhiNmY0ZWE5ZTAwMDAwMDAwLCAweGQzZmY5M2Y3MDAwMDAwMDAsIDB4YTljOThkMzIwMDAwMDAwMCwKKyAgICAweGNjYzJmNDViMDAwMDAwMDAsIDB4NjNkZjdmZTAwMDAwMDAwMCwgMHgwNmQ0MDY4OTAwMDAwMDAwLAorICAgIDB4YmRlYWNhNTYwMDAwMDAwMCwgMHhkOGUxYjMzZjAwMDAwMDAwLCAweDc3ZmMzODg0MDAwMDAwMDAsCisgICAgMHgxMmY3NDFlZDAwMDAwMDAwLCAweDY4YzE1ZjI4MDAwMDAwMDAsIDB4MGRjYTI2NDEwMDAwMDAwMCwKKyAgICAweGEyZDdhZGZhMDAwMDAwMDAsIDB4YzdkY2Q0OTMwMDAwMDAwMCwgMHgxN2JkZTBhYjAwMDAwMDAwLAorICAgIDB4NzJiNjk5YzIwMDAwMDAwMCwgMHhkZGFiMTI3OTAwMDAwMDAwLCAweGI4YTA2YjEwMDAwMDAwMDAsCisgICAgMHhjMjk2NzVkNTAwMDAwMDAwLCAweGE3OWQwY2JjMDAwMDAwMDAsIDB4MDg4MDg3MDcwMDAwMDAwMCwKKyAgICAweDZkOGJmZTZlMDAwMDAwMDAsIDB4YTg0M2VmNzcwMDAwMDAwMCwgMHhjZDQ4OTYxZTAwMDAwMDAwLAorICAgIDB4NjI1NTFkYTUwMDAwMDAwMCwgMHgwNzVlNjRjYzAwMDAwMDAwLCAweDdkNjg3YTA5MDAwMDAwMDAsCisgICAgMHgxODYzMDM2MDAwMDAwMDAwLCAweGI3N2U4OGRiMDAwMDAwMDAsIDB4ZDI3NWYxYjIwMDAwMDAwMCwKKyAgICAweDAyMTRjNThhMDAwMDAwMDAsIDB4NjcxZmJjZTMwMDAwMDAwMCwgMHhjODAyMzc1ODAwMDAwMDAwLAorICAgIDB4YWQwOTRlMzEwMDAwMDAwMCwgMHhkNzNmNTBmNDAwMDAwMDAwLCAweGIyMzQyOTlkMDAwMDAwMDAsCisgICAgMHgxZDI5YTIyNjAwMDAwMDAwLCAweDc4MjJkYjRmMDAwMDAwMDAsIDB4OTdiODgxMTQwMDAwMDAwMCwKKyAgICAweGYyYjNmODdkMDAwMDAwMDAsIDB4NWRhZTczYzYwMDAwMDAwMCwgMHgzOGE1MGFhZjAwMDAwMDAwLAorICAgIDB4NDI5MzE0NmEwMDAwMDAwMCwgMHgyNzk4NmQwMzAwMDAwMDAwLCAweDg4ODVlNmI4MDAwMDAwMDAsCisgICAgMHhlZDhlOWZkMTAwMDAwMDAwLCAweDNkZWZhYmU5MDAwMDAwMDAsIDB4NThlNGQyODAwMDAwMDAwMCwKKyAgICAweGY3Zjk1OTNiMDAwMDAwMDAsIDB4OTJmMjIwNTIwMDAwMDAwMCwgMHhlOGM0M2U5NzAwMDAwMDAwLAorICAgIDB4OGRjZjQ3ZmUwMDAwMDAwMCwgMHgyMmQyY2M0NTAwMDAwMDAwLCAweDQ3ZDliNTJjMDAwMDAwMDAsCisgICAgMHg4MjExYTQzNTAwMDAwMDAwLCAweGU3MWFkZDVjMDAwMDAwMDAsIDB4NDgwNzU2ZTcwMDAwMDAwMCwKKyAgICAweDJkMGMyZjhlMDAwMDAwMDAsIDB4NTczYTMxNGIwMDAwMDAwMCwgMHgzMjMxNDgyMjAwMDAwMDAwLAorICAgIDB4OWQyY2MzOTkwMDAwMDAwMCwgMHhmODI3YmFmMDAwMDAwMDAwLCAweDI4NDY4ZWM4MDAwMDAwMDAsCisgICAgMHg0ZDRkZjdhMTAwMDAwMDAwLCAweGUyNTA3YzFhMDAwMDAwMDAsIDB4ODc1YjA1NzMwMDAwMDAwMCwKKyAgICAweGZkNmQxYmI2MDAwMDAwMDAsIDB4OTg2NjYyZGYwMDAwMDAwMCwgMHgzNzdiZTk2NDAwMDAwMDAwLAorICAgIDB4NTI3MDkwMGQwMDAwMDAwMH0sCisgICB7MHgwMDAwMDAwMDAwMDAwMDAwLCAweGRjZWNiMTNkMDAwMDAwMDAsIDB4YjhkOTYzN2IwMDAwMDAwMCwKKyAgICAweDY0MzVkMjQ2MDAwMDAwMDAsIDB4NzBiM2M3ZjYwMDAwMDAwMCwgMHhhYzVmNzZjYjAwMDAwMDAwLAorICAgIDB4Yzg2YWE0OGQwMDAwMDAwMCwgMHgxNDg2MTViMDAwMDAwMDAwLCAweGExNjBmZTM2MDAwMDAwMDAsCisgICAgMHg3ZDhjNGYwYjAwMDAwMDAwLCAweDE5Yjk5ZDRkMDAwMDAwMDAsIDB4YzU1NTJjNzAwMDAwMDAwMCwKKyAgICAweGQxZDMzOWMwMDAwMDAwMDAsIDB4MGQzZjg4ZmQwMDAwMDAwMCwgMHg2OTBhNWFiYjAwMDAwMDAwLAorICAgIDB4YjVlNmViODYwMDAwMDAwMCwgMHg0MmMxZmM2ZDAwMDAwMDAwLCAweDllMmQ0ZDUwMDAwMDAwMDAsCisgICAgMHhmYTE4OWYxNjAwMDAwMDAwLCAweDI2ZjQyZTJiMDAwMDAwMDAsIDB4MzI3MjNiOWIwMDAwMDAwMCwKKyAgICAweGVlOWU4YWE2MDAwMDAwMDAsIDB4OGFhYjU4ZTAwMDAwMDAwMCwgMHg1NjQ3ZTlkZDAwMDAwMDAwLAorICAgIDB4ZTNhMTAyNWIwMDAwMDAwMCwgMHgzZjRkYjM2NjAwMDAwMDAwLCAweDViNzg2MTIwMDAwMDAwMDAsCisgICAgMHg4Nzk0ZDAxZDAwMDAwMDAwLCAweDkzMTJjNWFkMDAwMDAwMDAsIDB4NGZmZTc0OTAwMDAwMDAwMCwKKyAgICAweDJiY2JhNmQ2MDAwMDAwMDAsIDB4ZjcyNzE3ZWIwMDAwMDAwMCwgMHg4NDgyZjlkYjAwMDAwMDAwLAorICAgIDB4NTg2ZTQ4ZTYwMDAwMDAwMCwgMHgzYzViOWFhMDAwMDAwMDAwLCAweGUwYjcyYjlkMDAwMDAwMDAsCisgICAgMHhmNDMxM2UyZDAwMDAwMDAwLCAweDI4ZGQ4ZjEwMDAwMDAwMDAsIDB4NGNlODVkNTYwMDAwMDAwMCwKKyAgICAweDkwMDRlYzZiMDAwMDAwMDAsIDB4MjVlMjA3ZWQwMDAwMDAwMCwgMHhmOTBlYjZkMDAwMDAwMDAwLAorICAgIDB4OWQzYjY0OTYwMDAwMDAwMCwgMHg0MWQ3ZDVhYjAwMDAwMDAwLCAweDU1NTFjMDFiMDAwMDAwMDAsCisgICAgMHg4OWJkNzEyNjAwMDAwMDAwLCAweGVkODhhMzYwMDAwMDAwMDAsIDB4MzE2NDEyNWQwMDAwMDAwMCwKKyAgICAweGM2NDMwNWI2MDAwMDAwMDAsIDB4MWFhZmI0OGIwMDAwMDAwMCwgMHg3ZTlhNjZjZDAwMDAwMDAwLAorICAgIDB4YTI3NmQ3ZjAwMDAwMDAwMCwgMHhiNmYwYzI0MDAwMDAwMDAwLCAweDZhMWM3MzdkMDAwMDAwMDAsCisgICAgMHgwZTI5YTEzYjAwMDAwMDAwLCAweGQyYzUxMDA2MDAwMDAwMDAsIDB4NjcyM2ZiODAwMDAwMDAwMCwKKyAgICAweGJiY2Y0YWJkMDAwMDAwMDAsIDB4ZGZmYTk4ZmIwMDAwMDAwMCwgMHgwMzE2MjljNjAwMDAwMDAwLAorICAgIDB4MTc5MDNjNzYwMDAwMDAwMCwgMHhjYjdjOGQ0YjAwMDAwMDAwLCAweGFmNDk1ZjBkMDAwMDAwMDAsCisgICAgMHg3M2E1ZWUzMDAwMDAwMDAwLCAweDQ5MDM4MjZjMDAwMDAwMDAsIDB4OTVlZjMzNTEwMDAwMDAwMCwKKyAgICAweGYxZGFlMTE3MDAwMDAwMDAsIDB4MmQzNjUwMmEwMDAwMDAwMCwgMHgzOWIwNDU5YTAwMDAwMDAwLAorICAgIDB4ZTU1Y2Y0YTcwMDAwMDAwMCwgMHg4MTY5MjZlMTAwMDAwMDAwLCAweDVkODU5N2RjMDAwMDAwMDAsCisgICAgMHhlODYzN2M1YTAwMDAwMDAwLCAweDM0OGZjZDY3MDAwMDAwMDAsIDB4NTBiYTFmMjEwMDAwMDAwMCwKKyAgICAweDhjNTZhZTFjMDAwMDAwMDAsIDB4OThkMGJiYWMwMDAwMDAwMCwgMHg0NDNjMGE5MTAwMDAwMDAwLAorICAgIDB4MjAwOWQ4ZDcwMDAwMDAwMCwgMHhmY2U1NjllYTAwMDAwMDAwLCAweDBiYzI3ZTAxMDAwMDAwMDAsCisgICAgMHhkNzJlY2YzYzAwMDAwMDAwLCAweGIzMWIxZDdhMDAwMDAwMDAsIDB4NmZmN2FjNDcwMDAwMDAwMCwKKyAgICAweDdiNzFiOWY3MDAwMDAwMDAsIDB4YTc5ZDA4Y2EwMDAwMDAwMCwgMHhjM2E4ZGE4YzAwMDAwMDAwLAorICAgIDB4MWY0NDZiYjEwMDAwMDAwMCwgMHhhYWEyODAzNzAwMDAwMDAwLCAweDc2NGUzMTBhMDAwMDAwMDAsCisgICAgMHgxMjdiZTM0YzAwMDAwMDAwLCAweGNlOTc1MjcxMDAwMDAwMDAsIDB4ZGExMTQ3YzEwMDAwMDAwMCwKKyAgICAweDA2ZmRmNmZjMDAwMDAwMDAsIDB4NjJjODI0YmEwMDAwMDAwMCwgMHhiZTI0OTU4NzAwMDAwMDAwLAorICAgIDB4Y2Q4MTdiYjcwMDAwMDAwMCwgMHgxMTZkY2E4YTAwMDAwMDAwLCAweDc1NTgxOGNjMDAwMDAwMDAsCisgICAgMHhhOWI0YTlmMTAwMDAwMDAwLCAweGJkMzJiYzQxMDAwMDAwMDAsIDB4NjFkZTBkN2MwMDAwMDAwMCwKKyAgICAweDA1ZWJkZjNhMDAwMDAwMDAsIDB4ZDkwNzZlMDcwMDAwMDAwMCwgMHg2Y2UxODU4MTAwMDAwMDAwLAorICAgIDB4YjAwZDM0YmMwMDAwMDAwMCwgMHhkNDM4ZTZmYTAwMDAwMDAwLCAweDA4ZDQ1N2M3MDAwMDAwMDAsCisgICAgMHgxYzUyNDI3NzAwMDAwMDAwLCAweGMwYmVmMzRhMDAwMDAwMDAsIDB4YTQ4YjIxMGMwMDAwMDAwMCwKKyAgICAweDc4Njc5MDMxMDAwMDAwMDAsIDB4OGY0MDg3ZGEwMDAwMDAwMCwgMHg1M2FjMzZlNzAwMDAwMDAwLAorICAgIDB4Mzc5OWU0YTEwMDAwMDAwMCwgMHhlYjc1NTU5YzAwMDAwMDAwLCAweGZmZjM0MDJjMDAwMDAwMDAsCisgICAgMHgyMzFmZjExMTAwMDAwMDAwLCAweDQ3MmEyMzU3MDAwMDAwMDAsIDB4OWJjNjkyNmEwMDAwMDAwMCwKKyAgICAweDJlMjA3OWVjMDAwMDAwMDAsIDB4ZjJjY2M4ZDEwMDAwMDAwMCwgMHg5NmY5MWE5NzAwMDAwMDAwLAorICAgIDB4NGExNWFiYWEwMDAwMDAwMCwgMHg1ZTkzYmUxYTAwMDAwMDAwLCAweDgyN2YwZjI3MDAwMDAwMDAsCisgICAgMHhlNjRhZGQ2MTAwMDAwMDAwLCAweDNhYTY2YzVjMDAwMDAwMDAsIDB4OTIwNjA0ZDkwMDAwMDAwMCwKKyAgICAweDRlZWFiNWU0MDAwMDAwMDAsIDB4MmFkZjY3YTIwMDAwMDAwMCwgMHhmNjMzZDY5ZjAwMDAwMDAwLAorICAgIDB4ZTJiNWMzMmYwMDAwMDAwMCwgMHgzZTU5NzIxMjAwMDAwMDAwLCAweDVhNmNhMDU0MDAwMDAwMDAsCisgICAgMHg4NjgwMTE2OTAwMDAwMDAwLCAweDMzNjZmYWVmMDAwMDAwMDAsIDB4ZWY4YTRiZDIwMDAwMDAwMCwKKyAgICAweDhiYmY5OTk0MDAwMDAwMDAsIDB4NTc1MzI4YTkwMDAwMDAwMCwgMHg0M2Q1M2QxOTAwMDAwMDAwLAorICAgIDB4OWYzOThjMjQwMDAwMDAwMCwgMHhmYjBjNWU2MjAwMDAwMDAwLCAweDI3ZTBlZjVmMDAwMDAwMDAsCisgICAgMHhkMGM3ZjhiNDAwMDAwMDAwLCAweDBjMmI0OTg5MDAwMDAwMDAsIDB4NjgxZTliY2YwMDAwMDAwMCwKKyAgICAweGI0ZjIyYWYyMDAwMDAwMDAsIDB4YTA3NDNmNDIwMDAwMDAwMCwgMHg3Yzk4OGU3ZjAwMDAwMDAwLAorICAgIDB4MThhZDVjMzkwMDAwMDAwMCwgMHhjNDQxZWQwNDAwMDAwMDAwLCAweDcxYTcwNjgyMDAwMDAwMDAsCisgICAgMHhhZDRiYjdiZjAwMDAwMDAwLCAweGM5N2U2NWY5MDAwMDAwMDAsIDB4MTU5MmQ0YzQwMDAwMDAwMCwKKyAgICAweDAxMTRjMTc0MDAwMDAwMDAsIDB4ZGRmODcwNDkwMDAwMDAwMCwgMHhiOWNkYTIwZjAwMDAwMDAwLAorICAgIDB4NjUyMTEzMzIwMDAwMDAwMCwgMHgxNjg0ZmQwMjAwMDAwMDAwLCAweGNhNjg0YzNmMDAwMDAwMDAsCisgICAgMHhhZTVkOWU3OTAwMDAwMDAwLCAweDcyYjEyZjQ0MDAwMDAwMDAsIDB4NjYzNzNhZjQwMDAwMDAwMCwKKyAgICAweGJhZGI4YmM5MDAwMDAwMDAsIDB4ZGVlZTU5OGYwMDAwMDAwMCwgMHgwMjAyZThiMjAwMDAwMDAwLAorICAgIDB4YjdlNDAzMzQwMDAwMDAwMCwgMHg2YjA4YjIwOTAwMDAwMDAwLCAweDBmM2Q2MDRmMDAwMDAwMDAsCisgICAgMHhkM2QxZDE3MjAwMDAwMDAwLCAweGM3NTdjNGMyMDAwMDAwMDAsIDB4MWJiYjc1ZmYwMDAwMDAwMCwKKyAgICAweDdmOGVhN2I5MDAwMDAwMDAsIDB4YTM2MjE2ODQwMDAwMDAwMCwgMHg1NDQ1MDE2ZjAwMDAwMDAwLAorICAgIDB4ODhhOWIwNTIwMDAwMDAwMCwgMHhlYzljNjIxNDAwMDAwMDAwLCAweDMwNzBkMzI5MDAwMDAwMDAsCisgICAgMHgyNGY2YzY5OTAwMDAwMDAwLCAweGY4MWE3N2E0MDAwMDAwMDAsIDB4OWMyZmE1ZTIwMDAwMDAwMCwKKyAgICAweDQwYzMxNGRmMDAwMDAwMDAsIDB4ZjUyNWZmNTkwMDAwMDAwMCwgMHgyOWM5NGU2NDAwMDAwMDAwLAorICAgIDB4NGRmYzljMjIwMDAwMDAwMCwgMHg5MTEwMmQxZjAwMDAwMDAwLCAweDg1OTYzOGFmMDAwMDAwMDAsCisgICAgMHg1OTdhODk5MjAwMDAwMDAwLCAweDNkNGY1YmQ0MDAwMDAwMDAsIDB4ZTFhM2VhZTkwMDAwMDAwMCwKKyAgICAweGRiMDU4NmI1MDAwMDAwMDAsIDB4MDdlOTM3ODgwMDAwMDAwMCwgMHg2M2RjZTVjZTAwMDAwMDAwLAorICAgIDB4YmYzMDU0ZjMwMDAwMDAwMCwgMHhhYmI2NDE0MzAwMDAwMDAwLCAweDc3NWFmMDdlMDAwMDAwMDAsCisgICAgMHgxMzZmMjIzODAwMDAwMDAwLCAweGNmODM5MzA1MDAwMDAwMDAsIDB4N2E2NTc4ODMwMDAwMDAwMCwKKyAgICAweGE2ODljOWJlMDAwMDAwMDAsIDB4YzJiYzFiZjgwMDAwMDAwMCwgMHgxZTUwYWFjNTAwMDAwMDAwLAorICAgIDB4MGFkNmJmNzUwMDAwMDAwMCwgMHhkNjNhMGU0ODAwMDAwMDAwLCAweGIyMGZkYzBlMDAwMDAwMDAsCisgICAgMHg2ZWUzNmQzMzAwMDAwMDAwLCAweDk5YzQ3YWQ4MDAwMDAwMDAsIDB4NDUyOGNiZTUwMDAwMDAwMCwKKyAgICAweDIxMWQxOWEzMDAwMDAwMDAsIDB4ZmRmMWE4OWUwMDAwMDAwMCwgMHhlOTc3YmQyZTAwMDAwMDAwLAorICAgIDB4MzU5YjBjMTMwMDAwMDAwMCwgMHg1MWFlZGU1NTAwMDAwMDAwLCAweDhkNDI2ZjY4MDAwMDAwMDAsCisgICAgMHgzOGE0ODRlZTAwMDAwMDAwLCAweGU0NDgzNWQzMDAwMDAwMDAsIDB4ODA3ZGU3OTUwMDAwMDAwMCwKKyAgICAweDVjOTE1NmE4MDAwMDAwMDAsIDB4NDgxNzQzMTgwMDAwMDAwMCwgMHg5NGZiZjIyNTAwMDAwMDAwLAorICAgIDB4ZjBjZTIwNjMwMDAwMDAwMCwgMHgyYzIyOTE1ZTAwMDAwMDAwLCAweDVmODc3ZjZlMDAwMDAwMDAsCisgICAgMHg4MzZiY2U1MzAwMDAwMDAwLCAweGU3NWUxYzE1MDAwMDAwMDAsIDB4M2JiMmFkMjgwMDAwMDAwMCwKKyAgICAweDJmMzRiODk4MDAwMDAwMDAsIDB4ZjNkODA5YTUwMDAwMDAwMCwgMHg5N2VkZGJlMzAwMDAwMDAwLAorICAgIDB4NGIwMTZhZGUwMDAwMDAwMCwgMHhmZWU3ODE1ODAwMDAwMDAwLCAweDIyMGIzMDY1MDAwMDAwMDAsCisgICAgMHg0NjNlZTIyMzAwMDAwMDAwLCAweDlhZDI1MzFlMDAwMDAwMDAsIDB4OGU1NDQ2YWUwMDAwMDAwMCwKKyAgICAweDUyYjhmNzkzMDAwMDAwMDAsIDB4MzY4ZDI1ZDUwMDAwMDAwMCwgMHhlYTYxOTRlODAwMDAwMDAwLAorICAgIDB4MWQ0NjgzMDMwMDAwMDAwMCwgMHhjMWFhMzIzZTAwMDAwMDAwLCAweGE1OWZlMDc4MDAwMDAwMDAsCisgICAgMHg3OTczNTE0NTAwMDAwMDAwLCAweDZkZjU0NGY1MDAwMDAwMDAsIDB4YjExOWY1YzgwMDAwMDAwMCwKKyAgICAweGQ1MmMyNzhlMDAwMDAwMDAsIDB4MDljMDk2YjMwMDAwMDAwMCwgMHhiYzI2N2QzNTAwMDAwMDAwLAorICAgIDB4NjBjYWNjMDgwMDAwMDAwMCwgMHgwNGZmMWU0ZTAwMDAwMDAwLCAweGQ4MTNhZjczMDAwMDAwMDAsCisgICAgMHhjYzk1YmFjMzAwMDAwMDAwLCAweDEwNzkwYmZlMDAwMDAwMDAsIDB4NzQ0Y2Q5YjgwMDAwMDAwMCwKKyAgICAweGE4YTA2ODg1MDAwMDAwMDB9fTsKKworI2Vsc2UgLyogVyA9PSA0ICovCisKK2xvY2FsIGNvbnN0IHpfY3JjX3QgRkFSIGNyY19icmFpZF90YWJsZVtdWzI1Nl0gPSB7CisgICB7MHgwMDAwMDAwMCwgMHg4MTI1NjUyNywgMHhkOTNiY2MwZiwgMHg1ODFlYTkyOCwgMHg2OTA2OWU1ZiwKKyAgICAweGU4MjNmYjc4LCAweGIwM2Q1MjUwLCAweDMxMTgzNzc3LCAweGQyMGQzY2JlLCAweDUzMjg1OTk5LAorICAgIDB4MGIzNmYwYjEsIDB4OGExMzk1OTYsIDB4YmIwYmEyZTEsIDB4M2EyZWM3YzYsIDB4NjIzMDZlZWUsCisgICAgMHhlMzE1MGJjOSwgMHg3ZjZiN2YzZCwgMHhmZTRlMWExYSwgMHhhNjUwYjMzMiwgMHgyNzc1ZDYxNSwKKyAgICAweDE2NmRlMTYyLCAweDk3NDg4NDQ1LCAweGNmNTYyZDZkLCAweDRlNzM0ODRhLCAweGFkNjY0MzgzLAorICAgIDB4MmM0MzI2YTQsIDB4NzQ1ZDhmOGMsIDB4ZjU3OGVhYWIsIDB4YzQ2MGRkZGMsIDB4NDU0NWI4ZmIsCisgICAgMHgxZDViMTFkMywgMHg5YzdlNzRmNCwgMHhmZWQ2ZmU3YSwgMHg3ZmYzOWI1ZCwgMHgyN2VkMzI3NSwKKyAgICAweGE2Yzg1NzUyLCAweDk3ZDA2MDI1LCAweDE2ZjUwNTAyLCAweDRlZWJhYzJhLCAweGNmY2VjOTBkLAorICAgIDB4MmNkYmMyYzQsIDB4YWRmZWE3ZTMsIDB4ZjVlMDBlY2IsIDB4NzRjNTZiZWMsIDB4NDVkZDVjOWIsCisgICAgMHhjNGY4MzliYywgMHg5Y2U2OTA5NCwgMHgxZGMzZjViMywgMHg4MWJkODE0NywgMHgwMDk4ZTQ2MCwKKyAgICAweDU4ODY0ZDQ4LCAweGQ5YTMyODZmLCAweGU4YmIxZjE4LCAweDY5OWU3YTNmLCAweDMxODBkMzE3LAorICAgIDB4YjBhNWI2MzAsIDB4NTNiMGJkZjksIDB4ZDI5NWQ4ZGUsIDB4OGE4YjcxZjYsIDB4MGJhZTE0ZDEsCisgICAgMHgzYWI2MjNhNiwgMHhiYjkzNDY4MSwgMHhlMzhkZWZhOSwgMHg2MmE4OGE4ZSwgMHgyNmRjZmFiNSwKKyAgICAweGE3Zjk5ZjkyLCAweGZmZTczNmJhLCAweDdlYzI1MzlkLCAweDRmZGE2NGVhLCAweGNlZmYwMWNkLAorICAgIDB4OTZlMWE4ZTUsIDB4MTdjNGNkYzIsIDB4ZjRkMWM2MGIsIDB4NzVmNGEzMmMsIDB4MmRlYTBhMDQsCisgICAgMHhhY2NmNmYyMywgMHg5ZGQ3NTg1NCwgMHgxY2YyM2Q3MywgMHg0NGVjOTQ1YiwgMHhjNWM5ZjE3YywKKyAgICAweDU5Yjc4NTg4LCAweGQ4OTJlMGFmLCAweDgwOGM0OTg3LCAweDAxYTkyY2EwLCAweDMwYjExYmQ3LAorICAgIDB4YjE5NDdlZjAsIDB4ZTk4YWQ3ZDgsIDB4NjhhZmIyZmYsIDB4OGJiYWI5MzYsIDB4MGE5ZmRjMTEsCisgICAgMHg1MjgxNzUzOSwgMHhkM2E0MTAxZSwgMHhlMmJjMjc2OSwgMHg2Mzk5NDI0ZSwgMHgzYjg3ZWI2NiwKKyAgICAweGJhYTI4ZTQxLCAweGQ4MGEwNGNmLCAweDU5MmY2MWU4LCAweDAxMzFjOGMwLCAweDgwMTRhZGU3LAorICAgIDB4YjEwYzlhOTAsIDB4MzAyOWZmYjcsIDB4NjgzNzU2OWYsIDB4ZTkxMjMzYjgsIDB4MGEwNzM4NzEsCisgICAgMHg4YjIyNWQ1NiwgMHhkMzNjZjQ3ZSwgMHg1MjE5OTE1OSwgMHg2MzAxYTYyZSwgMHhlMjI0YzMwOSwKKyAgICAweGJhM2E2YTIxLCAweDNiMWYwZjA2LCAweGE3NjE3YmYyLCAweDI2NDQxZWQ1LCAweDdlNWFiN2ZkLAorICAgIDB4ZmY3ZmQyZGEsIDB4Y2U2N2U1YWQsIDB4NGY0MjgwOGEsIDB4MTc1YzI5YTIsIDB4OTY3OTRjODUsCisgICAgMHg3NTZjNDc0YywgMHhmNDQ5MjI2YiwgMHhhYzU3OGI0MywgMHgyZDcyZWU2NCwgMHgxYzZhZDkxMywKKyAgICAweDlkNGZiYzM0LCAweGM1NTExNTFjLCAweDQ0NzQ3MDNiLCAweDRkYjlmNTZhLCAweGNjOWM5MDRkLAorICAgIDB4OTQ4MjM5NjUsIDB4MTVhNzVjNDIsIDB4MjRiZjZiMzUsIDB4YTU5YTBlMTIsIDB4ZmQ4NGE3M2EsCisgICAgMHg3Y2ExYzIxZCwgMHg5ZmI0YzlkNCwgMHgxZTkxYWNmMywgMHg0NjhmMDVkYiwgMHhjN2FhNjBmYywKKyAgICAweGY2YjI1NzhiLCAweDc3OTczMmFjLCAweDJmODk5Yjg0LCAweGFlYWNmZWEzLCAweDMyZDI4YTU3LAorICAgIDB4YjNmN2VmNzAsIDB4ZWJlOTQ2NTgsIDB4NmFjYzIzN2YsIDB4NWJkNDE0MDgsIDB4ZGFmMTcxMmYsCisgICAgMHg4MmVmZDgwNywgMHgwM2NhYmQyMCwgMHhlMGRmYjZlOSwgMHg2MWZhZDNjZSwgMHgzOWU0N2FlNiwKKyAgICAweGI4YzExZmMxLCAweDg5ZDkyOGI2LCAweDA4ZmM0ZDkxLCAweDUwZTJlNGI5LCAweGQxYzc4MTllLAorICAgIDB4YjM2ZjBiMTAsIDB4MzI0YTZlMzcsIDB4NmE1NGM3MWYsIDB4ZWI3MWEyMzgsIDB4ZGE2OTk1NGYsCisgICAgMHg1YjRjZjA2OCwgMHgwMzUyNTk0MCwgMHg4Mjc3M2M2NywgMHg2MTYyMzdhZSwgMHhlMDQ3NTI4OSwKKyAgICAweGI4NTlmYmExLCAweDM5N2M5ZTg2LCAweDA4NjRhOWYxLCAweDg5NDFjY2Q2LCAweGQxNWY2NWZlLAorICAgIDB4NTA3YTAwZDksIDB4Y2MwNDc0MmQsIDB4NGQyMTExMGEsIDB4MTUzZmI4MjIsIDB4OTQxYWRkMDUsCisgICAgMHhhNTAyZWE3MiwgMHgyNDI3OGY1NSwgMHg3YzM5MjY3ZCwgMHhmZDFjNDM1YSwgMHgxZTA5NDg5MywKKyAgICAweDlmMmMyZGI0LCAweGM3MzI4NDljLCAweDQ2MTdlMWJiLCAweDc3MGZkNmNjLCAweGY2MmFiM2ViLAorICAgIDB4YWUzNDFhYzMsIDB4MmYxMTdmZTQsIDB4NmI2NTBmZGYsIDB4ZWE0MDZhZjgsIDB4YjI1ZWMzZDAsCisgICAgMHgzMzdiYTZmNywgMHgwMjYzOTE4MCwgMHg4MzQ2ZjRhNywgMHhkYjU4NWQ4ZiwgMHg1YTdkMzhhOCwKKyAgICAweGI5NjgzMzYxLCAweDM4NGQ1NjQ2LCAweDYwNTNmZjZlLCAweGUxNzY5YTQ5LCAweGQwNmVhZDNlLAorICAgIDB4NTE0YmM4MTksIDB4MDk1NTYxMzEsIDB4ODg3MDA0MTYsIDB4MTQwZTcwZTIsIDB4OTUyYjE1YzUsCisgICAgMHhjZDM1YmNlZCwgMHg0YzEwZDljYSwgMHg3ZDA4ZWViZCwgMHhmYzJkOGI5YSwgMHhhNDMzMjJiMiwKKyAgICAweDI1MTY0Nzk1LCAweGM2MDM0YzVjLCAweDQ3MjYyOTdiLCAweDFmMzg4MDUzLCAweDllMWRlNTc0LAorICAgIDB4YWYwNWQyMDMsIDB4MmUyMGI3MjQsIDB4NzYzZTFlMGMsIDB4ZjcxYjdiMmIsIDB4OTViM2YxYTUsCisgICAgMHgxNDk2OTQ4MiwgMHg0Yzg4M2RhYSwgMHhjZGFkNTg4ZCwgMHhmY2I1NmZmYSwgMHg3ZDkwMGFkZCwKKyAgICAweDI1OGVhM2Y1LCAweGE0YWJjNmQyLCAweDQ3YmVjZDFiLCAweGM2OWJhODNjLCAweDllODUwMTE0LAorICAgIDB4MWZhMDY0MzMsIDB4MmViODUzNDQsIDB4YWY5ZDM2NjMsIDB4Zjc4MzlmNGIsIDB4NzZhNmZhNmMsCisgICAgMHhlYWQ4OGU5OCwgMHg2YmZkZWJiZiwgMHgzM2UzNDI5NywgMHhiMmM2MjdiMCwgMHg4M2RlMTBjNywKKyAgICAweDAyZmI3NWUwLCAweDVhZTVkY2M4LCAweGRiYzBiOWVmLCAweDM4ZDViMjI2LCAweGI5ZjBkNzAxLAorICAgIDB4ZTFlZTdlMjksIDB4NjBjYjFiMGUsIDB4NTFkMzJjNzksIDB4ZDBmNjQ5NWUsIDB4ODhlOGUwNzYsCisgICAgMHgwOWNkODU1MX0sCisgICB7MHgwMDAwMDAwMCwgMHg5YjczZWFkNCwgMHhlZDk2ZDNlOSwgMHg3NmU1MzkzZCwgMHgwMDVjYTE5MywKKyAgICAweDliMmY0YjQ3LCAweGVkY2E3MjdhLCAweDc2Yjk5OGFlLCAweDAwYjk0MzI2LCAweDliY2FhOWYyLAorICAgIDB4ZWQyZjkwY2YsIDB4NzY1YzdhMWIsIDB4MDBlNWUyYjUsIDB4OWI5NjA4NjEsIDB4ZWQ3MzMxNWMsCisgICAgMHg3NjAwZGI4OCwgMHgwMTcyODY0YywgMHg5YTAxNmM5OCwgMHhlY2U0NTVhNSwgMHg3Nzk3YmY3MSwKKyAgICAweDAxMmUyN2RmLCAweDlhNWRjZDBiLCAweGVjYjhmNDM2LCAweDc3Y2IxZWUyLCAweDAxY2JjNTZhLAorICAgIDB4OWFiODJmYmUsIDB4ZWM1ZDE2ODMsIDB4NzcyZWZjNTcsIDB4MDE5NzY0ZjksIDB4OWFlNDhlMmQsCisgICAgMHhlYzAxYjcxMCwgMHg3NzcyNWRjNCwgMHgwMmU1MGM5OCwgMHg5OTk2ZTY0YywgMHhlZjczZGY3MSwKKyAgICAweDc0MDAzNWE1LCAweDAyYjlhZDBiLCAweDk5Y2E0N2RmLCAweGVmMmY3ZWUyLCAweDc0NWM5NDM2LAorICAgIDB4MDI1YzRmYmUsIDB4OTkyZmE1NmEsIDB4ZWZjYTljNTcsIDB4NzRiOTc2ODMsIDB4MDIwMGVlMmQsCisgICAgMHg5OTczMDRmOSwgMHhlZjk2M2RjNCwgMHg3NGU1ZDcxMCwgMHgwMzk3OGFkNCwgMHg5OGU0NjAwMCwKKyAgICAweGVlMDE1OTNkLCAweDc1NzJiM2U5LCAweDAzY2IyYjQ3LCAweDk4YjhjMTkzLCAweGVlNWRmOGFlLAorICAgIDB4NzUyZTEyN2EsIDB4MDMyZWM5ZjIsIDB4OTg1ZDIzMjYsIDB4ZWViODFhMWIsIDB4NzVjYmYwY2YsCisgICAgMHgwMzcyNjg2MSwgMHg5ODAxODJiNSwgMHhlZWU0YmI4OCwgMHg3NTk3NTE1YywgMHgwNWNhMTkzMCwKKyAgICAweDllYjlmM2U0LCAweGU4NWNjYWQ5LCAweDczMmYyMDBkLCAweDA1OTZiOGEzLCAweDllZTU1Mjc3LAorICAgIDB4ZTgwMDZiNGEsIDB4NzM3MzgxOWUsIDB4MDU3MzVhMTYsIDB4OWUwMGIwYzIsIDB4ZThlNTg5ZmYsCisgICAgMHg3Mzk2NjMyYiwgMHgwNTJmZmI4NSwgMHg5ZTVjMTE1MSwgMHhlOGI5Mjg2YywgMHg3M2NhYzJiOCwKKyAgICAweDA0Yjg5ZjdjLCAweDlmY2I3NWE4LCAweGU5MmU0Yzk1LCAweDcyNWRhNjQxLCAweDA0ZTQzZWVmLAorICAgIDB4OWY5N2Q0M2IsIDB4ZTk3MmVkMDYsIDB4NzIwMTA3ZDIsIDB4MDQwMWRjNWEsIDB4OWY3MjM2OGUsCisgICAgMHhlOTk3MGZiMywgMHg3MmU0ZTU2NywgMHgwNDVkN2RjOSwgMHg5ZjJlOTcxZCwgMHhlOWNiYWUyMCwKKyAgICAweDcyYjg0NGY0LCAweDA3MmYxNWE4LCAweDljNWNmZjdjLCAweGVhYjljNjQxLCAweDcxY2EyYzk1LAorICAgIDB4MDc3M2I0M2IsIDB4OWMwMDVlZWYsIDB4ZWFlNTY3ZDIsIDB4NzE5NjhkMDYsIDB4MDc5NjU2OGUsCisgICAgMHg5Y2U1YmM1YSwgMHhlYTAwODU2NywgMHg3MTczNmZiMywgMHgwN2NhZjcxZCwgMHg5Y2I5MWRjOSwKKyAgICAweGVhNWMyNGY0LCAweDcxMmZjZTIwLCAweDA2NWQ5M2U0LCAweDlkMmU3OTMwLCAweGViY2I0MDBkLAorICAgIDB4NzBiOGFhZDksIDB4MDYwMTMyNzcsIDB4OWQ3MmQ4YTMsIDB4ZWI5N2UxOWUsIDB4NzBlNDBiNGEsCisgICAgMHgwNmU0ZDBjMiwgMHg5ZDk3M2ExNiwgMHhlYjcyMDMyYiwgMHg3MDAxZTlmZiwgMHgwNmI4NzE1MSwKKyAgICAweDlkY2I5Yjg1LCAweGViMmVhMmI4LCAweDcwNWQ0ODZjLCAweDBiOTQzMjYwLCAweDkwZTdkOGI0LAorICAgIDB4ZTYwMmUxODksIDB4N2Q3MTBiNWQsIDB4MGJjODkzZjMsIDB4OTBiYjc5MjcsIDB4ZTY1ZTQwMWEsCisgICAgMHg3ZDJkYWFjZSwgMHgwYjJkNzE0NiwgMHg5MDVlOWI5MiwgMHhlNmJiYTJhZiwgMHg3ZGM4NDg3YiwKKyAgICAweDBiNzFkMGQ1LCAweDkwMDIzYTAxLCAweGU2ZTcwMzNjLCAweDdkOTRlOWU4LCAweDBhZTZiNDJjLAorICAgIDB4OTE5NTVlZjgsIDB4ZTc3MDY3YzUsIDB4N2MwMzhkMTEsIDB4MGFiYTE1YmYsIDB4OTFjOWZmNmIsCisgICAgMHhlNzJjYzY1NiwgMHg3YzVmMmM4MiwgMHgwYTVmZjcwYSwgMHg5MTJjMWRkZSwgMHhlN2M5MjRlMywKKyAgICAweDdjYmFjZTM3LCAweDBhMDM1Njk5LCAweDkxNzBiYzRkLCAweGU3OTU4NTcwLCAweDdjZTY2ZmE0LAorICAgIDB4MDk3MTNlZjgsIDB4OTIwMmQ0MmMsIDB4ZTRlN2VkMTEsIDB4N2Y5NDA3YzUsIDB4MDkyZDlmNmIsCisgICAgMHg5MjVlNzViZiwgMHhlNGJiNGM4MiwgMHg3ZmM4YTY1NiwgMHgwOWM4N2RkZSwgMHg5MmJiOTcwYSwKKyAgICAweGU0NWVhZTM3LCAweDdmMmQ0NGUzLCAweDA5OTRkYzRkLCAweDkyZTczNjk5LCAweGU0MDIwZmE0LAorICAgIDB4N2Y3MWU1NzAsIDB4MDgwM2I4YjQsIDB4OTM3MDUyNjAsIDB4ZTU5NTZiNWQsIDB4N2VlNjgxODksCisgICAgMHgwODVmMTkyNywgMHg5MzJjZjNmMywgMHhlNWM5Y2FjZSwgMHg3ZWJhMjAxYSwgMHgwOGJhZmI5MiwKKyAgICAweDkzYzkxMTQ2LCAweGU1MmMyODdiLCAweDdlNWZjMmFmLCAweDA4ZTY1YTAxLCAweDkzOTViMGQ1LAorICAgIDB4ZTU3MDg5ZTgsIDB4N2UwMzYzM2MsIDB4MGU1ZTJiNTAsIDB4OTUyZGMxODQsIDB4ZTNjOGY4YjksCisgICAgMHg3OGJiMTI2ZCwgMHgwZTAyOGFjMywgMHg5NTcxNjAxNywgMHhlMzk0NTkyYSwgMHg3OGU3YjNmZSwKKyAgICAweDBlZTc2ODc2LCAweDk1OTQ4MmEyLCAweGUzNzFiYjlmLCAweDc4MDI1MTRiLCAweDBlYmJjOWU1LAorICAgIDB4OTVjODIzMzEsIDB4ZTMyZDFhMGMsIDB4Nzg1ZWYwZDgsIDB4MGYyY2FkMWMsIDB4OTQ1ZjQ3YzgsCisgICAgMHhlMmJhN2VmNSwgMHg3OWM5OTQyMSwgMHgwZjcwMGM4ZiwgMHg5NDAzZTY1YiwgMHhlMmU2ZGY2NiwKKyAgICAweDc5OTUzNWIyLCAweDBmOTVlZTNhLCAweDk0ZTYwNGVlLCAweGUyMDMzZGQzLCAweDc5NzBkNzA3LAorICAgIDB4MGZjOTRmYTksIDB4OTRiYWE1N2QsIDB4ZTI1ZjljNDAsIDB4NzkyYzc2OTQsIDB4MGNiYjI3YzgsCisgICAgMHg5N2M4Y2QxYywgMHhlMTJkZjQyMSwgMHg3YTVlMWVmNSwgMHgwY2U3ODY1YiwgMHg5Nzk0NmM4ZiwKKyAgICAweGUxNzE1NWIyLCAweDdhMDJiZjY2LCAweDBjMDI2NGVlLCAweDk3NzE4ZTNhLCAweGUxOTRiNzA3LAorICAgIDB4N2FlNzVkZDMsIDB4MGM1ZWM1N2QsIDB4OTcyZDJmYTksIDB4ZTFjODE2OTQsIDB4N2FiYmZjNDAsCisgICAgMHgwZGM5YTE4NCwgMHg5NmJhNGI1MCwgMHhlMDVmNzI2ZCwgMHg3YjJjOThiOSwgMHgwZDk1MDAxNywKKyAgICAweDk2ZTZlYWMzLCAweGUwMDNkM2ZlLCAweDdiNzAzOTJhLCAweDBkNzBlMmEyLCAweDk2MDMwODc2LAorICAgIDB4ZTBlNjMxNGIsIDB4N2I5NWRiOWYsIDB4MGQyYzQzMzEsIDB4OTY1ZmE5ZTUsIDB4ZTBiYTkwZDgsCisgICAgMHg3YmM5N2EwY30sCisgICB7MHgwMDAwMDAwMCwgMHgxNzI4NjRjMCwgMHgyZTUwYzk4MCwgMHgzOTc4YWQ0MCwgMHg1Y2ExOTMwMCwKKyAgICAweDRiODlmN2MwLCAweDcyZjE1YTgwLCAweDY1ZDkzZTQwLCAweGI5NDMyNjAwLCAweGFlNmI0MmMwLAorICAgIDB4OTcxM2VmODAsIDB4ODAzYjhiNDAsIDB4ZTVlMmI1MDAsIDB4ZjJjYWQxYzAsIDB4Y2JiMjdjODAsCisgICAgMHhkYzlhMTg0MCwgMHhhOWY3NGE0MSwgMHhiZWRmMmU4MSwgMHg4N2E3ODNjMSwgMHg5MDhmZTcwMSwKKyAgICAweGY1NTZkOTQxLCAweGUyN2ViZDgxLCAweGRiMDYxMGMxLCAweGNjMmU3NDAxLCAweDEwYjQ2YzQxLAorICAgIDB4MDc5YzA4ODEsIDB4M2VlNGE1YzEsIDB4MjljY2MxMDEsIDB4NGMxNWZmNDEsIDB4NWIzZDliODEsCisgICAgMHg2MjQ1MzZjMSwgMHg3NTZkNTIwMSwgMHg4ODlmOTJjMywgMHg5ZmI3ZjYwMywgMHhhNmNmNWI0MywKKyAgICAweGIxZTczZjgzLCAweGQ0M2UwMWMzLCAweGMzMTY2NTAzLCAweGZhNmVjODQzLCAweGVkNDZhYzgzLAorICAgIDB4MzFkY2I0YzMsIDB4MjZmNGQwMDMsIDB4MWY4YzdkNDMsIDB4MDhhNDE5ODMsIDB4NmQ3ZDI3YzMsCisgICAgMHg3YTU1NDMwMywgMHg0MzJkZWU0MywgMHg1NDA1OGE4MywgMHgyMTY4ZDg4MiwgMHgzNjQwYmM0MiwKKyAgICAweDBmMzgxMTAyLCAweDE4MTA3NWMyLCAweDdkYzk0YjgyLCAweDZhZTEyZjQyLCAweDUzOTk4MjAyLAorICAgIDB4NDRiMWU2YzIsIDB4OTgyYmZlODIsIDB4OGYwMzlhNDIsIDB4YjY3YjM3MDIsIDB4YTE1MzUzYzIsCisgICAgMHhjNDhhNmQ4MiwgMHhkM2EyMDk0MiwgMHhlYWRhYTQwMiwgMHhmZGYyYzBjMiwgMHhjYTRlMjNjNywKKyAgICAweGRkNjY0NzA3LCAweGU0MWVlYTQ3LCAweGYzMzY4ZTg3LCAweDk2ZWZiMGM3LCAweDgxYzdkNDA3LAorICAgIDB4YjhiZjc5NDcsIDB4YWY5NzFkODcsIDB4NzMwZDA1YzcsIDB4NjQyNTYxMDcsIDB4NWQ1ZGNjNDcsCisgICAgMHg0YTc1YTg4NywgMHgyZmFjOTZjNywgMHgzODg0ZjIwNywgMHgwMWZjNWY0NywgMHgxNmQ0M2I4NywKKyAgICAweDYzYjk2OTg2LCAweDc0OTEwZDQ2LCAweDRkZTlhMDA2LCAweDVhYzFjNGM2LCAweDNmMThmYTg2LAorICAgIDB4MjgzMDllNDYsIDB4MTE0ODMzMDYsIDB4MDY2MDU3YzYsIDB4ZGFmYTRmODYsIDB4Y2RkMjJiNDYsCisgICAgMHhmNGFhODYwNiwgMHhlMzgyZTJjNiwgMHg4NjViZGM4NiwgMHg5MTczYjg0NiwgMHhhODBiMTUwNiwKKyAgICAweGJmMjM3MWM2LCAweDQyZDFiMTA0LCAweDU1ZjlkNWM0LCAweDZjODE3ODg0LCAweDdiYTkxYzQ0LAorICAgIDB4MWU3MDIyMDQsIDB4MDk1ODQ2YzQsIDB4MzAyMGViODQsIDB4MjcwODhmNDQsIDB4ZmI5Mjk3MDQsCisgICAgMHhlY2JhZjNjNCwgMHhkNWMyNWU4NCwgMHhjMmVhM2E0NCwgMHhhNzMzMDQwNCwgMHhiMDFiNjBjNCwKKyAgICAweDg5NjNjZDg0LCAweDllNGJhOTQ0LCAweGViMjZmYjQ1LCAweGZjMGU5Zjg1LCAweGM1NzYzMmM1LAorICAgIDB4ZDI1ZTU2MDUsIDB4Yjc4NzY4NDUsIDB4YTBhZjBjODUsIDB4OTlkN2ExYzUsIDB4OGVmZmM1MDUsCisgICAgMHg1MjY1ZGQ0NSwgMHg0NTRkYjk4NSwgMHg3YzM1MTRjNSwgMHg2YjFkNzAwNSwgMHgwZWM0NGU0NSwKKyAgICAweDE5ZWMyYTg1LCAweDIwOTQ4N2M1LCAweDM3YmNlMzA1LCAweDRmZWQ0MWNmLCAweDU4YzUyNTBmLAorICAgIDB4NjFiZDg4NGYsIDB4NzY5NWVjOGYsIDB4MTM0Y2QyY2YsIDB4MDQ2NGI2MGYsIDB4M2QxYzFiNGYsCisgICAgMHgyYTM0N2Y4ZiwgMHhmNmFlNjdjZiwgMHhlMTg2MDMwZiwgMHhkOGZlYWU0ZiwgMHhjZmQ2Y2E4ZiwKKyAgICAweGFhMGZmNGNmLCAweGJkMjc5MDBmLCAweDg0NWYzZDRmLCAweDkzNzc1OThmLCAweGU2MWEwYjhlLAorICAgIDB4ZjEzMjZmNGUsIDB4Yzg0YWMyMGUsIDB4ZGY2MmE2Y2UsIDB4YmFiYjk4OGUsIDB4YWQ5M2ZjNGUsCisgICAgMHg5NGViNTEwZSwgMHg4M2MzMzVjZSwgMHg1ZjU5MmQ4ZSwgMHg0ODcxNDk0ZSwgMHg3MTA5ZTQwZSwKKyAgICAweDY2MjE4MGNlLCAweDAzZjhiZThlLCAweDE0ZDBkYTRlLCAweDJkYTg3NzBlLCAweDNhODAxM2NlLAorICAgIDB4Yzc3MmQzMGMsIDB4ZDA1YWI3Y2MsIDB4ZTkyMjFhOGMsIDB4ZmUwYTdlNGMsIDB4OWJkMzQwMGMsCisgICAgMHg4Y2ZiMjRjYywgMHhiNTgzODk4YywgMHhhMmFiZWQ0YywgMHg3ZTMxZjUwYywgMHg2OTE5OTFjYywKKyAgICAweDUwNjEzYzhjLCAweDQ3NDk1ODRjLCAweDIyOTA2NjBjLCAweDM1YjgwMmNjLCAweDBjYzBhZjhjLAorICAgIDB4MWJlOGNiNGMsIDB4NmU4NTk5NGQsIDB4NzlhZGZkOGQsIDB4NDBkNTUwY2QsIDB4NTdmZDM0MGQsCisgICAgMHgzMjI0MGE0ZCwgMHgyNTBjNmU4ZCwgMHgxYzc0YzNjZCwgMHgwYjVjYTcwZCwgMHhkN2M2YmY0ZCwKKyAgICAweGMwZWVkYjhkLCAweGY5OTY3NmNkLCAweGVlYmUxMjBkLCAweDhiNjcyYzRkLCAweDljNGY0ODhkLAorICAgIDB4YTUzN2U1Y2QsIDB4YjIxZjgxMGQsIDB4ODVhMzYyMDgsIDB4OTI4YjA2YzgsIDB4YWJmM2FiODgsCisgICAgMHhiY2RiY2Y0OCwgMHhkOTAyZjEwOCwgMHhjZTJhOTVjOCwgMHhmNzUyMzg4OCwgMHhlMDdhNWM0OCwKKyAgICAweDNjZTA0NDA4LCAweDJiYzgyMGM4LCAweDEyYjA4ZDg4LCAweDA1OThlOTQ4LCAweDYwNDFkNzA4LAorICAgIDB4Nzc2OWIzYzgsIDB4NGUxMTFlODgsIDB4NTkzOTdhNDgsIDB4MmM1NDI4NDksIDB4M2I3YzRjODksCisgICAgMHgwMjA0ZTFjOSwgMHgxNTJjODUwOSwgMHg3MGY1YmI0OSwgMHg2N2RkZGY4OSwgMHg1ZWE1NzJjOSwKKyAgICAweDQ5OGQxNjA5LCAweDk1MTcwZTQ5LCAweDgyM2Y2YTg5LCAweGJiNDdjN2M5LCAweGFjNmZhMzA5LAorICAgIDB4YzliNjlkNDksIDB4ZGU5ZWY5ODksIDB4ZTdlNjU0YzksIDB4ZjBjZTMwMDksIDB4MGQzY2YwY2IsCisgICAgMHgxYTE0OTQwYiwgMHgyMzZjMzk0YiwgMHgzNDQ0NWQ4YiwgMHg1MTlkNjNjYiwgMHg0NmI1MDcwYiwKKyAgICAweDdmY2RhYTRiLCAweDY4ZTVjZThiLCAweGI0N2ZkNmNiLCAweGEzNTdiMjBiLCAweDlhMmYxZjRiLAorICAgIDB4OGQwNzdiOGIsIDB4ZThkZTQ1Y2IsIDB4ZmZmNjIxMGIsIDB4YzY4ZThjNGIsIDB4ZDFhNmU4OGIsCisgICAgMHhhNGNiYmE4YSwgMHhiM2UzZGU0YSwgMHg4YTliNzMwYSwgMHg5ZGIzMTdjYSwgMHhmODZhMjk4YSwKKyAgICAweGVmNDI0ZDRhLCAweGQ2M2FlMDBhLCAweGMxMTI4NGNhLCAweDFkODg5YzhhLCAweDBhYTBmODRhLAorICAgIDB4MzNkODU1MGEsIDB4MjRmMDMxY2EsIDB4NDEyOTBmOGEsIDB4NTYwMTZiNGEsIDB4NmY3OWM2MGEsCisgICAgMHg3ODUxYTJjYX0sCisgICB7MHgwMDAwMDAwMCwgMHg5ZmRhODM5ZSwgMHhlNGM0MDE3ZCwgMHg3YjFlODJlMywgMHgxMmY5MDRiYiwKKyAgICAweDhkMjM4NzI1LCAweGY2M2QwNWM2LCAweDY5ZTc4NjU4LCAweDI1ZjIwOTc2LCAweGJhMjg4YWU4LAorICAgIDB4YzEzNjA4MGIsIDB4NWVlYzhiOTUsIDB4MzcwYjBkY2QsIDB4YThkMThlNTMsIDB4ZDNjZjBjYjAsCisgICAgMHg0YzE1OGYyZSwgMHg0YmU0MTJlYywgMHhkNDNlOTE3MiwgMHhhZjIwMTM5MSwgMHgzMGZhOTAwZiwKKyAgICAweDU5MWQxNjU3LCAweGM2Yzc5NWM5LCAweGJkZDkxNzJhLCAweDIyMDM5NGI0LCAweDZlMTYxYjlhLAorICAgIDB4ZjFjYzk4MDQsIDB4OGFkMjFhZTcsIDB4MTUwODk5NzksIDB4N2NlZjFmMjEsIDB4ZTMzNTljYmYsCisgICAgMHg5ODJiMWU1YywgMHgwN2YxOWRjMiwgMHg5N2M4MjVkOCwgMHgwODEyYTY0NiwgMHg3MzBjMjRhNSwKKyAgICAweGVjZDZhNzNiLCAweDg1MzEyMTYzLCAweDFhZWJhMmZkLCAweDYxZjUyMDFlLCAweGZlMmZhMzgwLAorICAgIDB4YjIzYTJjYWUsIDB4MmRlMGFmMzAsIDB4NTZmZTJkZDMsIDB4YzkyNGFlNGQsIDB4YTBjMzI4MTUsCisgICAgMHgzZjE5YWI4YiwgMHg0NDA3Mjk2OCwgMHhkYmRkYWFmNiwgMHhkYzJjMzczNCwgMHg0M2Y2YjRhYSwKKyAgICAweDM4ZTgzNjQ5LCAweGE3MzJiNWQ3LCAweGNlZDUzMzhmLCAweDUxMGZiMDExLCAweDJhMTEzMmYyLAorICAgIDB4YjVjYmIxNmMsIDB4ZjlkZTNlNDIsIDB4NjYwNGJkZGMsIDB4MWQxYTNmM2YsIDB4ODJjMGJjYTEsCisgICAgMHhlYjI3M2FmOSwgMHg3NGZkYjk2NywgMHgwZmUzM2I4NCwgMHg5MDM5YjgxYSwgMHhmNGUxNGRmMSwKKyAgICAweDZiM2JjZTZmLCAweDEwMjU0YzhjLCAweDhmZmZjZjEyLCAweGU2MTg0OTRhLCAweDc5YzJjYWQ0LAorICAgIDB4MDJkYzQ4MzcsIDB4OWQwNmNiYTksIDB4ZDExMzQ0ODcsIDB4NGVjOWM3MTksIDB4MzVkNzQ1ZmEsCisgICAgMHhhYTBkYzY2NCwgMHhjM2VhNDAzYywgMHg1YzMwYzNhMiwgMHgyNzJlNDE0MSwgMHhiOGY0YzJkZiwKKyAgICAweGJmMDU1ZjFkLCAweDIwZGZkYzgzLCAweDViYzE1ZTYwLCAweGM0MWJkZGZlLCAweGFkZmM1YmE2LAorICAgIDB4MzIyNmQ4MzgsIDB4NDkzODVhZGIsIDB4ZDZlMmQ5NDUsIDB4OWFmNzU2NmIsIDB4MDUyZGQ1ZjUsCisgICAgMHg3ZTMzNTcxNiwgMHhlMWU5ZDQ4OCwgMHg4ODBlNTJkMCwgMHgxN2Q0ZDE0ZSwgMHg2Y2NhNTNhZCwKKyAgICAweGYzMTBkMDMzLCAweDYzMjk2ODI5LCAweGZjZjNlYmI3LCAweDg3ZWQ2OTU0LCAweDE4MzdlYWNhLAorICAgIDB4NzFkMDZjOTIsIDB4ZWUwYWVmMGMsIDB4OTUxNDZkZWYsIDB4MGFjZWVlNzEsIDB4NDZkYjYxNWYsCisgICAgMHhkOTAxZTJjMSwgMHhhMjFmNjAyMiwgMHgzZGM1ZTNiYywgMHg1NDIyNjVlNCwgMHhjYmY4ZTY3YSwKKyAgICAweGIwZTY2NDk5LCAweDJmM2NlNzA3LCAweDI4Y2Q3YWM1LCAweGI3MTdmOTViLCAweGNjMDk3YmI4LAorICAgIDB4NTNkM2Y4MjYsIDB4M2EzNDdlN2UsIDB4YTVlZWZkZTAsIDB4ZGVmMDdmMDMsIDB4NDEyYWZjOWQsCisgICAgMHgwZDNmNzNiMywgMHg5MmU1ZjAyZCwgMHhlOWZiNzJjZSwgMHg3NjIxZjE1MCwgMHgxZmM2NzcwOCwKKyAgICAweDgwMWNmNDk2LCAweGZiMDI3Njc1LCAweDY0ZDhmNWViLCAweDMyYjM5ZGEzLCAweGFkNjkxZTNkLAorICAgIDB4ZDY3NzljZGUsIDB4NDlhZDFmNDAsIDB4MjA0YTk5MTgsIDB4YmY5MDFhODYsIDB4YzQ4ZTk4NjUsCisgICAgMHg1YjU0MWJmYiwgMHgxNzQxOTRkNSwgMHg4ODliMTc0YiwgMHhmMzg1OTVhOCwgMHg2YzVmMTYzNiwKKyAgICAweDA1Yjg5MDZlLCAweDlhNjIxM2YwLCAweGUxN2M5MTEzLCAweDdlYTYxMjhkLCAweDc5NTc4ZjRmLAorICAgIDB4ZTY4ZDBjZDEsIDB4OWQ5MzhlMzIsIDB4MDI0OTBkYWMsIDB4NmJhZThiZjQsIDB4ZjQ3NDA4NmEsCisgICAgMHg4ZjZhOGE4OSwgMHgxMGIwMDkxNywgMHg1Y2E1ODYzOSwgMHhjMzdmMDVhNywgMHhiODYxODc0NCwKKyAgICAweDI3YmIwNGRhLCAweDRlNWM4MjgyLCAweGQxODYwMTFjLCAweGFhOTg4M2ZmLCAweDM1NDIwMDYxLAorICAgIDB4YTU3YmI4N2IsIDB4M2FhMTNiZTUsIDB4NDFiZmI5MDYsIDB4ZGU2NTNhOTgsIDB4Yjc4MmJjYzAsCisgICAgMHgyODU4M2Y1ZSwgMHg1MzQ2YmRiZCwgMHhjYzljM2UyMywgMHg4MDg5YjEwZCwgMHgxZjUzMzI5MywKKyAgICAweDY0NGRiMDcwLCAweGZiOTczM2VlLCAweDkyNzBiNWI2LCAweDBkYWEzNjI4LCAweDc2YjRiNGNiLAorICAgIDB4ZTk2ZTM3NTUsIDB4ZWU5ZmFhOTcsIDB4NzE0NTI5MDksIDB4MGE1YmFiZWEsIDB4OTU4MTI4NzQsCisgICAgMHhmYzY2YWUyYywgMHg2M2JjMmRiMiwgMHgxOGEyYWY1MSwgMHg4Nzc4MmNjZiwgMHhjYjZkYTNlMSwKKyAgICAweDU0YjcyMDdmLCAweDJmYTlhMjljLCAweGIwNzMyMTAyLCAweGQ5OTRhNzVhLCAweDQ2NGUyNGM0LAorICAgIDB4M2Q1MGE2MjcsIDB4YTI4YTI1YjksIDB4YzY1MmQwNTIsIDB4NTk4ODUzY2MsIDB4MjI5NmQxMmYsCisgICAgMHhiZDRjNTJiMSwgMHhkNGFiZDRlOSwgMHg0YjcxNTc3NywgMHgzMDZmZDU5NCwgMHhhZmI1NTYwYSwKKyAgICAweGUzYTBkOTI0LCAweDdjN2E1YWJhLCAweDA3NjRkODU5LCAweDk4YmU1YmM3LCAweGYxNTlkZDlmLAorICAgIDB4NmU4MzVlMDEsIDB4MTU5ZGRjZTIsIDB4OGE0NzVmN2MsIDB4OGRiNmMyYmUsIDB4MTI2YzQxMjAsCisgICAgMHg2OTcyYzNjMywgMHhmNmE4NDA1ZCwgMHg5ZjRmYzYwNSwgMHgwMDk1NDU5YiwgMHg3YjhiYzc3OCwKKyAgICAweGU0NTE0NGU2LCAweGE4NDRjYmM4LCAweDM3OWU0ODU2LCAweDRjODBjYWI1LCAweGQzNWE0OTJiLAorICAgIDB4YmFiZGNmNzMsIDB4MjU2NzRjZWQsIDB4NWU3OWNlMGUsIDB4YzFhMzRkOTAsIDB4NTE5YWY1OGEsCisgICAgMHhjZTQwNzYxNCwgMHhiNTVlZjRmNywgMHgyYTg0Nzc2OSwgMHg0MzYzZjEzMSwgMHhkY2I5NzJhZiwKKyAgICAweGE3YTdmMDRjLCAweDM4N2Q3M2QyLCAweDc0NjhmY2ZjLCAweGViYjI3ZjYyLCAweDkwYWNmZDgxLAorICAgIDB4MGY3NjdlMWYsIDB4NjY5MWY4NDcsIDB4Zjk0YjdiZDksIDB4ODI1NWY5M2EsIDB4MWQ4ZjdhYTQsCisgICAgMHgxYTdlZTc2NiwgMHg4NWE0NjRmOCwgMHhmZWJhZTYxYiwgMHg2MTYwNjU4NSwgMHgwODg3ZTNkZCwKKyAgICAweDk3NWQ2MDQzLCAweGVjNDNlMmEwLCAweDczOTk2MTNlLCAweDNmOGNlZTEwLCAweGEwNTY2ZDhlLAorICAgIDB4ZGI0OGVmNmQsIDB4NDQ5MjZjZjMsIDB4MmQ3NWVhYWIsIDB4YjJhZjY5MzUsIDB4YzliMWViZDYsCisgICAgMHg1NjZiNjg0OH19OworCitsb2NhbCBjb25zdCB6X3dvcmRfdCBGQVIgY3JjX2JyYWlkX2JpZ190YWJsZVtdWzI1Nl0gPSB7CisgICB7MHgwMDAwMDAwMCwgMHg5ZTgzZGE5ZiwgMHg3ZDAxYzRlNCwgMHhlMzgyMWU3YiwgMHhiYjA0ZjkxMiwKKyAgICAweDI1ODcyMzhkLCAweGM2MDUzZGY2LCAweDU4ODZlNzY5LCAweDc2MDlmMjI1LCAweGU4OGEyOGJhLAorICAgIDB4MGIwODM2YzEsIDB4OTU4YmVjNWUsIDB4Y2QwZDBiMzcsIDB4NTM4ZWQxYTgsIDB4YjAwY2NmZDMsCisgICAgMHgyZThmMTU0YywgMHhlYzEyZTQ0YiwgMHg3MjkxM2VkNCwgMHg5MTEzMjBhZiwgMHgwZjkwZmEzMCwKKyAgICAweDU3MTYxZDU5LCAweGM5OTVjN2M2LCAweDJhMTdkOWJkLCAweGI0OTQwMzIyLCAweDlhMWIxNjZlLAorICAgIDB4MDQ5OGNjZjEsIDB4ZTcxYWQyOGEsIDB4Nzk5OTA4MTUsIDB4MjExZmVmN2MsIDB4YmY5YzM1ZTMsCisgICAgMHg1YzFlMmI5OCwgMHhjMjlkZjEwNywgMHhkODI1Yzg5NywgMHg0NmE2MTIwOCwgMHhhNTI0MGM3MywKKyAgICAweDNiYTdkNmVjLCAweDYzMjEzMTg1LCAweGZkYTJlYjFhLCAweDFlMjBmNTYxLCAweDgwYTMyZmZlLAorICAgIDB4YWUyYzNhYjIsIDB4MzBhZmUwMmQsIDB4ZDMyZGZlNTYsIDB4NGRhZTI0YzksIDB4MTUyOGMzYTAsCisgICAgMHg4YmFiMTkzZiwgMHg2ODI5MDc0NCwgMHhmNmFhZGRkYiwgMHgzNDM3MmNkYywgMHhhYWI0ZjY0MywKKyAgICAweDQ5MzZlODM4LCAweGQ3YjUzMmE3LCAweDhmMzNkNWNlLCAweDExYjAwZjUxLCAweGYyMzIxMTJhLAorICAgIDB4NmNiMWNiYjUsIDB4NDIzZWRlZjksIDB4ZGNiZDA0NjYsIDB4M2YzZjFhMWQsIDB4YTFiY2MwODIsCisgICAgMHhmOTNhMjdlYiwgMHg2N2I5ZmQ3NCwgMHg4NDNiZTMwZiwgMHgxYWI4Mzk5MCwgMHhmMTRkZTFmNCwKKyAgICAweDZmY2UzYjZiLCAweDhjNGMyNTEwLCAweDEyY2ZmZjhmLCAweDRhNDkxOGU2LCAweGQ0Y2FjMjc5LAorICAgIDB4Mzc0OGRjMDIsIDB4YTljYjA2OWQsIDB4ODc0NDEzZDEsIDB4MTljN2M5NGUsIDB4ZmE0NWQ3MzUsCisgICAgMHg2NGM2MGRhYSwgMHgzYzQwZWFjMywgMHhhMmMzMzA1YywgMHg0MTQxMmUyNywgMHhkZmMyZjRiOCwKKyAgICAweDFkNWYwNWJmLCAweDgzZGNkZjIwLCAweDYwNWVjMTViLCAweGZlZGQxYmM0LCAweGE2NWJmY2FkLAorICAgIDB4MzhkODI2MzIsIDB4ZGI1YTM4NDksIDB4NDVkOWUyZDYsIDB4NmI1NmY3OWEsIDB4ZjVkNTJkMDUsCisgICAgMHgxNjU3MzM3ZSwgMHg4OGQ0ZTllMSwgMHhkMDUyMGU4OCwgMHg0ZWQxZDQxNywgMHhhZDUzY2E2YywKKyAgICAweDMzZDAxMGYzLCAweDI5NjgyOTYzLCAweGI3ZWJmM2ZjLCAweDU0NjllZDg3LCAweGNhZWEzNzE4LAorICAgIDB4OTI2Y2QwNzEsIDB4MGNlZjBhZWUsIDB4ZWY2ZDE0OTUsIDB4NzFlZWNlMGEsIDB4NWY2MWRiNDYsCisgICAgMHhjMWUyMDFkOSwgMHgyMjYwMWZhMiwgMHhiY2UzYzUzZCwgMHhlNDY1MjI1NCwgMHg3YWU2ZjhjYiwKKyAgICAweDk5NjRlNmIwLCAweDA3ZTczYzJmLCAweGM1N2FjZDI4LCAweDViZjkxN2I3LCAweGI4N2IwOWNjLAorICAgIDB4MjZmOGQzNTMsIDB4N2U3ZTM0M2EsIDB4ZTBmZGVlYTUsIDB4MDM3ZmYwZGUsIDB4OWRmYzJhNDEsCisgICAgMHhiMzczM2YwZCwgMHgyZGYwZTU5MiwgMHhjZTcyZmJlOSwgMHg1MGYxMjE3NiwgMHgwODc3YzYxZiwKKyAgICAweDk2ZjQxYzgwLCAweDc1NzYwMmZiLCAweGViZjVkODY0LCAweGEzOWRiMzMyLCAweDNkMWU2OWFkLAorICAgIDB4ZGU5Yzc3ZDYsIDB4NDAxZmFkNDksIDB4MTg5OTRhMjAsIDB4ODYxYTkwYmYsIDB4NjU5ODhlYzQsCisgICAgMHhmYjFiNTQ1YiwgMHhkNTk0NDExNywgMHg0YjE3OWI4OCwgMHhhODk1ODVmMywgMHgzNjE2NWY2YywKKyAgICAweDZlOTBiODA1LCAweGYwMTM2MjlhLCAweDEzOTE3Y2UxLCAweDhkMTJhNjdlLCAweDRmOGY1Nzc5LAorICAgIDB4ZDEwYzhkZTYsIDB4MzI4ZTkzOWQsIDB4YWMwZDQ5MDIsIDB4ZjQ4YmFlNmIsIDB4NmEwODc0ZjQsCisgICAgMHg4OThhNmE4ZiwgMHgxNzA5YjAxMCwgMHgzOTg2YTU1YywgMHhhNzA1N2ZjMywgMHg0NDg3NjFiOCwKKyAgICAweGRhMDRiYjI3LCAweDgyODI1YzRlLCAweDFjMDE4NmQxLCAweGZmODM5OGFhLCAweDYxMDA0MjM1LAorICAgIDB4N2JiODdiYTUsIDB4ZTUzYmExM2EsIDB4MDZiOWJmNDEsIDB4OTgzYTY1ZGUsIDB4YzBiYzgyYjcsCisgICAgMHg1ZTNmNTgyOCwgMHhiZGJkNDY1MywgMHgyMzNlOWNjYywgMHgwZGIxODk4MCwgMHg5MzMyNTMxZiwKKyAgICAweDcwYjA0ZDY0LCAweGVlMzM5N2ZiLCAweGI2YjU3MDkyLCAweDI4MzZhYTBkLCAweGNiYjRiNDc2LAorICAgIDB4NTUzNzZlZTksIDB4OTdhYTlmZWUsIDB4MDkyOTQ1NzEsIDB4ZWFhYjViMGEsIDB4NzQyODgxOTUsCisgICAgMHgyY2FlNjZmYywgMHhiMjJkYmM2MywgMHg1MWFmYTIxOCwgMHhjZjJjNzg4NywgMHhlMWEzNmRjYiwKKyAgICAweDdmMjBiNzU0LCAweDljYTJhOTJmLCAweDAyMjE3M2IwLCAweDVhYTc5NGQ5LCAweGM0MjQ0ZTQ2LAorICAgIDB4MjdhNjUwM2QsIDB4YjkyNThhYTIsIDB4NTJkMDUyYzYsIDB4Y2M1Mzg4NTksIDB4MmZkMTk2MjIsCisgICAgMHhiMTUyNGNiZCwgMHhlOWQ0YWJkNCwgMHg3NzU3NzE0YiwgMHg5NGQ1NmYzMCwgMHgwYTU2YjVhZiwKKyAgICAweDI0ZDlhMGUzLCAweGJhNWE3YTdjLCAweDU5ZDg2NDA3LCAweGM3NWJiZTk4LCAweDlmZGQ1OWYxLAorICAgIDB4MDE1ZTgzNmUsIDB4ZTJkYzlkMTUsIDB4N2M1ZjQ3OGEsIDB4YmVjMmI2OGQsIDB4MjA0MTZjMTIsCisgICAgMHhjM2MzNzI2OSwgMHg1ZDQwYThmNiwgMHgwNWM2NGY5ZiwgMHg5YjQ1OTUwMCwgMHg3OGM3OGI3YiwKKyAgICAweGU2NDQ1MWU0LCAweGM4Y2I0NGE4LCAweDU2NDg5ZTM3LCAweGI1Y2E4MDRjLCAweDJiNDk1YWQzLAorICAgIDB4NzNjZmJkYmEsIDB4ZWQ0YzY3MjUsIDB4MGVjZTc5NWUsIDB4OTA0ZGEzYzEsIDB4OGFmNTlhNTEsCisgICAgMHgxNDc2NDBjZSwgMHhmN2Y0NWViNSwgMHg2OTc3ODQyYSwgMHgzMWYxNjM0MywgMHhhZjcyYjlkYywKKyAgICAweDRjZjBhN2E3LCAweGQyNzM3ZDM4LCAweGZjZmM2ODc0LCAweDYyN2ZiMmViLCAweDgxZmRhYzkwLAorICAgIDB4MWY3ZTc2MGYsIDB4NDdmODkxNjYsIDB4ZDk3YjRiZjksIDB4M2FmOTU1ODIsIDB4YTQ3YThmMWQsCisgICAgMHg2NmU3N2UxYSwgMHhmODY0YTQ4NSwgMHgxYmU2YmFmZSwgMHg4NTY1NjA2MSwgMHhkZGUzODcwOCwKKyAgICAweDQzNjA1ZDk3LCAweGEwZTI0M2VjLCAweDNlNjE5OTczLCAweDEwZWU4YzNmLCAweDhlNmQ1NmEwLAorICAgIDB4NmRlZjQ4ZGIsIDB4ZjM2YzkyNDQsIDB4YWJlYTc1MmQsIDB4MzU2OWFmYjIsIDB4ZDZlYmIxYzksCisgICAgMHg0ODY4NmI1Nn0sCisgICB7MHgwMDAwMDAwMCwgMHhjMDY0MjgxNywgMHg4MGM5NTAyZSwgMHg0MGFkNzgzOSwgMHgwMDkzYTE1YywKKyAgICAweGMwZjc4OTRiLCAweDgwNWFmMTcyLCAweDQwM2VkOTY1LCAweDAwMjY0M2I5LCAweGMwNDI2YmFlLAorICAgIDB4ODBlZjEzOTcsIDB4NDA4YjNiODAsIDB4MDBiNWUyZTUsIDB4YzBkMWNhZjIsIDB4ODA3Y2IyY2IsCisgICAgMHg0MDE4OWFkYywgMHg0MTRhZjdhOSwgMHg4MTJlZGZiZSwgMHhjMTgzYTc4NywgMHgwMWU3OGY5MCwKKyAgICAweDQxZDk1NmY1LCAweDgxYmQ3ZWUyLCAweGMxMTAwNmRiLCAweDAxNzQyZWNjLCAweDQxNmNiNDEwLAorICAgIDB4ODEwODljMDcsIDB4YzFhNWU0M2UsIDB4MDFjMWNjMjksIDB4NDFmZjE1NGMsIDB4ODE5YjNkNWIsCisgICAgMHhjMTM2NDU2MiwgMHgwMTUyNmQ3NSwgMHhjMzkyOWY4OCwgMHgwM2Y2Yjc5ZiwgMHg0MzViY2ZhNiwKKyAgICAweDgzM2ZlN2IxLCAweGMzMDEzZWQ0LCAweDAzNjUxNmMzLCAweDQzYzg2ZWZhLCAweDgzYWM0NmVkLAorICAgIDB4YzNiNGRjMzEsIDB4MDNkMGY0MjYsIDB4NDM3ZDhjMWYsIDB4ODMxOWE0MDgsIDB4YzMyNzdkNmQsCisgICAgMHgwMzQzNTU3YSwgMHg0M2VlMmQ0MywgMHg4MzhhMDU1NCwgMHg4MmQ4NjgyMSwgMHg0MmJjNDAzNiwKKyAgICAweDAyMTEzODBmLCAweGMyNzUxMDE4LCAweDgyNGJjOTdkLCAweDQyMmZlMTZhLCAweDAyODI5OTUzLAorICAgIDB4YzJlNmIxNDQsIDB4ODJmZTJiOTgsIDB4NDI5YTAzOGYsIDB4MDIzNzdiYjYsIDB4YzI1MzUzYTEsCisgICAgMHg4MjZkOGFjNCwgMHg0MjA5YTJkMywgMHgwMmE0ZGFlYSwgMHhjMmMwZjJmZCwgMHhjNzIzNGVjYSwKKyAgICAweDA3NDc2NmRkLCAweDQ3ZWExZWU0LCAweDg3OGUzNmYzLCAweGM3YjBlZjk2LCAweDA3ZDRjNzgxLAorICAgIDB4NDc3OWJmYjgsIDB4ODcxZDk3YWYsIDB4YzcwNTBkNzMsIDB4MDc2MTI1NjQsIDB4NDdjYzVkNWQsCisgICAgMHg4N2E4NzU0YSwgMHhjNzk2YWMyZiwgMHgwN2YyODQzOCwgMHg0NzVmZmMwMSwgMHg4NzNiZDQxNiwKKyAgICAweDg2NjliOTYzLCAweDQ2MGQ5MTc0LCAweDA2YTBlOTRkLCAweGM2YzRjMTVhLCAweDg2ZmExODNmLAorICAgIDB4NDY5ZTMwMjgsIDB4MDYzMzQ4MTEsIDB4YzY1NzYwMDYsIDB4ODY0ZmZhZGEsIDB4NDYyYmQyY2QsCisgICAgMHgwNjg2YWFmNCwgMHhjNmUyODJlMywgMHg4NmRjNWI4NiwgMHg0NmI4NzM5MSwgMHgwNjE1MGJhOCwKKyAgICAweGM2NzEyM2JmLCAweDA0YjFkMTQyLCAweGM0ZDVmOTU1LCAweDg0Nzg4MTZjLCAweDQ0MWNhOTdiLAorICAgIDB4MDQyMjcwMWUsIDB4YzQ0NjU4MDksIDB4ODRlYjIwMzAsIDB4NDQ4ZjA4MjcsIDB4MDQ5NzkyZmIsCisgICAgMHhjNGYzYmFlYywgMHg4NDVlYzJkNSwgMHg0NDNhZWFjMiwgMHgwNDA0MzNhNywgMHhjNDYwMWJiMCwKKyAgICAweDg0Y2Q2Mzg5LCAweDQ0YTk0YjllLCAweDQ1ZmIyNmViLCAweDg1OWYwZWZjLCAweGM1MzI3NmM1LAorICAgIDB4MDU1NjVlZDIsIDB4NDU2ODg3YjcsIDB4ODUwY2FmYTAsIDB4YzVhMWQ3OTksIDB4MDVjNWZmOGUsCisgICAgMHg0NWRkNjU1MiwgMHg4NWI5NGQ0NSwgMHhjNTE0MzU3YywgMHgwNTcwMWQ2YiwgMHg0NTRlYzQwZSwKKyAgICAweDg1MmFlYzE5LCAweGM1ODc5NDIwLCAweDA1ZTNiYzM3LCAweGNmNDFlZDRmLCAweDBmMjVjNTU4LAorICAgIDB4NGY4OGJkNjEsIDB4OGZlYzk1NzYsIDB4Y2ZkMjRjMTMsIDB4MGZiNjY0MDQsIDB4NGYxYjFjM2QsCisgICAgMHg4ZjdmMzQyYSwgMHhjZjY3YWVmNiwgMHgwZjAzODZlMSwgMHg0ZmFlZmVkOCwgMHg4ZmNhZDZjZiwKKyAgICAweGNmZjQwZmFhLCAweDBmOTAyN2JkLCAweDRmM2Q1Zjg0LCAweDhmNTk3NzkzLCAweDhlMGIxYWU2LAorICAgIDB4NGU2ZjMyZjEsIDB4MGVjMjRhYzgsIDB4Y2VhNjYyZGYsIDB4OGU5OGJiYmEsIDB4NGVmYzkzYWQsCisgICAgMHgwZTUxZWI5NCwgMHhjZTM1YzM4MywgMHg4ZTJkNTk1ZiwgMHg0ZTQ5NzE0OCwgMHgwZWU0MDk3MSwKKyAgICAweGNlODAyMTY2LCAweDhlYmVmODAzLCAweDRlZGFkMDE0LCAweDBlNzdhODJkLCAweGNlMTM4MDNhLAorICAgIDB4MGNkMzcyYzcsIDB4Y2NiNzVhZDAsIDB4OGMxYTIyZTksIDB4NGM3ZTBhZmUsIDB4MGM0MGQzOWIsCisgICAgMHhjYzI0ZmI4YywgMHg4Yzg5ODNiNSwgMHg0Y2VkYWJhMiwgMHgwY2Y1MzE3ZSwgMHhjYzkxMTk2OSwKKyAgICAweDhjM2M2MTUwLCAweDRjNTg0OTQ3LCAweDBjNjY5MDIyLCAweGNjMDJiODM1LCAweDhjYWZjMDBjLAorICAgIDB4NGNjYmU4MWIsIDB4NGQ5OTg1NmUsIDB4OGRmZGFkNzksIDB4Y2Q1MGQ1NDAsIDB4MGQzNGZkNTcsCisgICAgMHg0ZDBhMjQzMiwgMHg4ZDZlMGMyNSwgMHhjZGMzNzQxYywgMHgwZGE3NWMwYiwgMHg0ZGJmYzZkNywKKyAgICAweDhkZGJlZWMwLCAweGNkNzY5NmY5LCAweDBkMTJiZWVlLCAweDRkMmM2NzhiLCAweDhkNDg0ZjljLAorICAgIDB4Y2RlNTM3YTUsIDB4MGQ4MTFmYjIsIDB4MDg2MmEzODUsIDB4YzgwNjhiOTIsIDB4ODhhYmYzYWIsCisgICAgMHg0OGNmZGJiYywgMHgwOGYxMDJkOSwgMHhjODk1MmFjZSwgMHg4ODM4NTJmNywgMHg0ODVjN2FlMCwKKyAgICAweDA4NDRlMDNjLCAweGM4MjBjODJiLCAweDg4OGRiMDEyLCAweDQ4ZTk5ODA1LCAweDA4ZDc0MTYwLAorICAgIDB4YzhiMzY5NzcsIDB4ODgxZTExNGUsIDB4NDg3YTM5NTksIDB4NDkyODU0MmMsIDB4ODk0YzdjM2IsCisgICAgMHhjOWUxMDQwMiwgMHgwOTg1MmMxNSwgMHg0OWJiZjU3MCwgMHg4OWRmZGQ2NywgMHhjOTcyYTU1ZSwKKyAgICAweDA5MTY4ZDQ5LCAweDQ5MGUxNzk1LCAweDg5NmEzZjgyLCAweGM5Yzc0N2JiLCAweDA5YTM2ZmFjLAorICAgIDB4NDk5ZGI2YzksIDB4ODlmOTllZGUsIDB4Yzk1NGU2ZTcsIDB4MDkzMGNlZjAsIDB4Y2JmMDNjMGQsCisgICAgMHgwYjk0MTQxYSwgMHg0YjM5NmMyMywgMHg4YjVkNDQzNCwgMHhjYjYzOWQ1MSwgMHgwYjA3YjU0NiwKKyAgICAweDRiYWFjZDdmLCAweDhiY2VlNTY4LCAweGNiZDY3ZmI0LCAweDBiYjI1N2EzLCAweDRiMWYyZjlhLAorICAgIDB4OGI3YjA3OGQsIDB4Y2I0NWRlZTgsIDB4MGIyMWY2ZmYsIDB4NGI4YzhlYzYsIDB4OGJlOGE2ZDEsCisgICAgMHg4YWJhY2JhNCwgMHg0YWRlZTNiMywgMHgwYTczOWI4YSwgMHhjYTE3YjM5ZCwgMHg4YTI5NmFmOCwKKyAgICAweDRhNGQ0MmVmLCAweDBhZTAzYWQ2LCAweGNhODQxMmMxLCAweDhhOWM4ODFkLCAweDRhZjhhMDBhLAorICAgIDB4MGE1NWQ4MzMsIDB4Y2EzMWYwMjQsIDB4OGEwZjI5NDEsIDB4NGE2YjAxNTYsIDB4MGFjNjc5NmYsCisgICAgMHhjYWEyNTE3OH0sCisgICB7MHgwMDAwMDAwMCwgMHhkNGVhNzM5YiwgMHhlOWQzOTZlZCwgMHgzZDM5ZTU3NiwgMHg5M2ExNWMwMCwKKyAgICAweDQ3NGIyZjliLCAweDdhNzJjYWVkLCAweGFlOThiOTc2LCAweDI2NDNiOTAwLCAweGYyYTljYTliLAorICAgIDB4Y2Y5MDJmZWQsIDB4MWI3YTVjNzYsIDB4YjVlMmU1MDAsIDB4NjEwODk2OWIsIDB4NWMzMTczZWQsCisgICAgMHg4OGRiMDA3NiwgMHg0Yzg2NzIwMSwgMHg5ODZjMDE5YSwgMHhhNTU1ZTRlYywgMHg3MWJmOTc3NywKKyAgICAweGRmMjcyZTAxLCAweDBiY2Q1ZDlhLCAweDM2ZjRiOGVjLCAweGUyMWVjYjc3LCAweDZhYzVjYjAxLAorICAgIDB4YmUyZmI4OWEsIDB4ODMxNjVkZWMsIDB4NTdmYzJlNzcsIDB4Zjk2NDk3MDEsIDB4MmQ4ZWU0OWEsCisgICAgMHgxMGI3MDFlYywgMHhjNDVkNzI3NywgMHg5ODBjZTUwMiwgMHg0Y2U2OTY5OSwgMHg3MWRmNzNlZiwKKyAgICAweGE1MzUwMDc0LCAweDBiYWRiOTAyLCAweGRmNDdjYTk5LCAweGUyN2UyZmVmLCAweDM2OTQ1Yzc0LAorICAgIDB4YmU0ZjVjMDIsIDB4NmFhNTJmOTksIDB4NTc5Y2NhZWYsIDB4ODM3NmI5NzQsIDB4MmRlZTAwMDIsCisgICAgMHhmOTA0NzM5OSwgMHhjNDNkOTZlZiwgMHgxMGQ3ZTU3NCwgMHhkNDhhOTcwMywgMHgwMDYwZTQ5OCwKKyAgICAweDNkNTkwMWVlLCAweGU5YjM3Mjc1LCAweDQ3MmJjYjAzLCAweDkzYzFiODk4LCAweGFlZjg1ZGVlLAorICAgIDB4N2ExMjJlNzUsIDB4ZjJjOTJlMDMsIDB4MjYyMzVkOTgsIDB4MWIxYWI4ZWUsIDB4Y2ZmMGNiNzUsCisgICAgMHg2MTY4NzIwMywgMHhiNTgyMDE5OCwgMHg4OGJiZTRlZSwgMHg1YzUxOTc3NSwgMHgzMDE5Y2EwNSwKKyAgICAweGU0ZjNiOTllLCAweGQ5Y2E1Y2U4LCAweDBkMjAyZjczLCAweGEzYjg5NjA1LCAweDc3NTJlNTllLAorICAgIDB4NGE2YjAwZTgsIDB4OWU4MTczNzMsIDB4MTY1YTczMDUsIDB4YzJiMDAwOWUsIDB4ZmY4OWU1ZTgsCisgICAgMHgyYjYzOTY3MywgMHg4NWZiMmYwNSwgMHg1MTExNWM5ZSwgMHg2YzI4YjllOCwgMHhiOGMyY2E3MywKKyAgICAweDdjOWZiODA0LCAweGE4NzVjYjlmLCAweDk1NGMyZWU5LCAweDQxYTY1ZDcyLCAweGVmM2VlNDA0LAorICAgIDB4M2JkNDk3OWYsIDB4MDZlZDcyZTksIDB4ZDIwNzAxNzIsIDB4NWFkYzAxMDQsIDB4OGUzNjcyOWYsCisgICAgMHhiMzBmOTdlOSwgMHg2N2U1ZTQ3MiwgMHhjOTdkNWQwNCwgMHgxZDk3MmU5ZiwgMHgyMGFlY2JlOSwKKyAgICAweGY0NDRiODcyLCAweGE4MTUyZjA3LCAweDdjZmY1YzljLCAweDQxYzZiOWVhLCAweDk1MmNjYTcxLAorICAgIDB4M2JiNDczMDcsIDB4ZWY1ZTAwOWMsIDB4ZDI2N2U1ZWEsIDB4MDY4ZDk2NzEsIDB4OGU1Njk2MDcsCisgICAgMHg1YWJjZTU5YywgMHg2Nzg1MDBlYSwgMHhiMzZmNzM3MSwgMHgxZGY3Y2EwNywgMHhjOTFkYjk5YywKKyAgICAweGY0MjQ1Y2VhLCAweDIwY2UyZjcxLCAweGU0OTM1ZDA2LCAweDMwNzkyZTlkLCAweDBkNDBjYmViLAorICAgIDB4ZDlhYWI4NzAsIDB4NzczMjAxMDYsIDB4YTNkODcyOWQsIDB4OWVlMTk3ZWIsIDB4NGEwYmU0NzAsCisgICAgMHhjMmQwZTQwNiwgMHgxNjNhOTc5ZCwgMHgyYjAzNzJlYiwgMHhmZmU5MDE3MCwgMHg1MTcxYjgwNiwKKyAgICAweDg1OWJjYjlkLCAweGI4YTIyZWViLCAweDZjNDg1ZDcwLCAweDYwMzI5NDBiLCAweGI0ZDhlNzkwLAorICAgIDB4ODllMTAyZTYsIDB4NWQwYjcxN2QsIDB4ZjM5M2M4MGIsIDB4Mjc3OWJiOTAsIDB4MWE0MDVlZTYsCisgICAgMHhjZWFhMmQ3ZCwgMHg0NjcxMmQwYiwgMHg5MjliNWU5MCwgMHhhZmEyYmJlNiwgMHg3YjQ4Yzg3ZCwKKyAgICAweGQ1ZDA3MTBiLCAweDAxM2EwMjkwLCAweDNjMDNlN2U2LCAweGU4ZTk5NDdkLCAweDJjYjRlNjBhLAorICAgIDB4Zjg1ZTk1OTEsIDB4YzU2NzcwZTcsIDB4MTE4ZDAzN2MsIDB4YmYxNWJhMGEsIDB4NmJmZmM5OTEsCisgICAgMHg1NmM2MmNlNywgMHg4MjJjNWY3YywgMHgwYWY3NWYwYSwgMHhkZTFkMmM5MSwgMHhlMzI0YzllNywKKyAgICAweDM3Y2ViYTdjLCAweDk5NTYwMzBhLCAweDRkYmM3MDkxLCAweDcwODU5NWU3LCAweGE0NmZlNjdjLAorICAgIDB4ZjgzZTcxMDksIDB4MmNkNDAyOTIsIDB4MTFlZGU3ZTQsIDB4YzUwNzk0N2YsIDB4NmI5ZjJkMDksCisgICAgMHhiZjc1NWU5MiwgMHg4MjRjYmJlNCwgMHg1NmE2Yzg3ZiwgMHhkZTdkYzgwOSwgMHgwYTk3YmI5MiwKKyAgICAweDM3YWU1ZWU0LCAweGUzNDQyZDdmLCAweDRkZGM5NDA5LCAweDk5MzZlNzkyLCAweGE0MGYwMmU0LAorICAgIDB4NzBlNTcxN2YsIDB4YjRiODAzMDgsIDB4NjA1MjcwOTMsIDB4NWQ2Yjk1ZTUsIDB4ODk4MWU2N2UsCisgICAgMHgyNzE5NWYwOCwgMHhmM2YzMmM5MywgMHhjZWNhYzllNSwgMHgxYTIwYmE3ZSwgMHg5MmZiYmEwOCwKKyAgICAweDQ2MTFjOTkzLCAweDdiMjgyY2U1LCAweGFmYzI1ZjdlLCAweDAxNWFlNjA4LCAweGQ1YjA5NTkzLAorICAgIDB4ZTg4OTcwZTUsIDB4M2M2MzAzN2UsIDB4NTAyYjVlMGUsIDB4ODRjMTJkOTUsIDB4YjlmOGM4ZTMsCisgICAgMHg2ZDEyYmI3OCwgMHhjMzhhMDIwZSwgMHgxNzYwNzE5NSwgMHgyYTU5OTRlMywgMHhmZWIzZTc3OCwKKyAgICAweDc2NjhlNzBlLCAweGEyODI5NDk1LCAweDlmYmI3MWUzLCAweDRiNTEwMjc4LCAweGU1YzliYjBlLAorICAgIDB4MzEyM2M4OTUsIDB4MGMxYTJkZTMsIDB4ZDhmMDVlNzgsIDB4MWNhZDJjMGYsIDB4Yzg0NzVmOTQsCisgICAgMHhmNTdlYmFlMiwgMHgyMTk0Yzk3OSwgMHg4ZjBjNzAwZiwgMHg1YmU2MDM5NCwgMHg2NmRmZTZlMiwKKyAgICAweGIyMzU5NTc5LCAweDNhZWU5NTBmLCAweGVlMDRlNjk0LCAweGQzM2QwM2UyLCAweDA3ZDc3MDc5LAorICAgIDB4YTk0ZmM5MGYsIDB4N2RhNWJhOTQsIDB4NDA5YzVmZTIsIDB4OTQ3NjJjNzksIDB4YzgyN2JiMGMsCisgICAgMHgxY2NkYzg5NywgMHgyMWY0MmRlMSwgMHhmNTFlNWU3YSwgMHg1Yjg2ZTcwYywgMHg4ZjZjOTQ5NywKKyAgICAweGIyNTU3MWUxLCAweDY2YmYwMjdhLCAweGVlNjQwMjBjLCAweDNhOGU3MTk3LCAweDA3Yjc5NGUxLAorICAgIDB4ZDM1ZGU3N2EsIDB4N2RjNTVlMGMsIDB4YTkyZjJkOTcsIDB4OTQxNmM4ZTEsIDB4NDBmY2JiN2EsCisgICAgMHg4NGExYzkwZCwgMHg1MDRiYmE5NiwgMHg2ZDcyNWZlMCwgMHhiOTk4MmM3YiwgMHgxNzAwOTUwZCwKKyAgICAweGMzZWFlNjk2LCAweGZlZDMwM2UwLCAweDJhMzk3MDdiLCAweGEyZTI3MDBkLCAweDc2MDgwMzk2LAorICAgIDB4NGIzMWU2ZTAsIDB4OWZkYjk1N2IsIDB4MzE0MzJjMGQsIDB4ZTVhOTVmOTYsIDB4ZDg5MGJhZTAsCisgICAgMHgwYzdhYzk3Yn0sCisgICB7MHgwMDAwMDAwMCwgMHgyNzY1MjU4MSwgMHgwZmNjM2JkOSwgMHgyOGE5MWU1OCwgMHg1ZjllMDY2OSwKKyAgICAweDc4ZmIyM2U4LCAweDUwNTIzZGIwLCAweDc3MzcxODMxLCAweGJlM2MwZGQyLCAweDk5NTkyODUzLAorICAgIDB4YjFmMDM2MGIsIDB4OTY5NTEzOGEsIDB4ZTFhMjBiYmIsIDB4YzZjNzJlM2EsIDB4ZWU2ZTMwNjIsCisgICAgMHhjOTBiMTVlMywgMHgzZDdmNmI3ZiwgMHgxYTFhNGVmZSwgMHgzMmIzNTBhNiwgMHgxNWQ2NzUyNywKKyAgICAweDYyZTE2ZDE2LCAweDQ1ODQ0ODk3LCAweDZkMmQ1NmNmLCAweDRhNDg3MzRlLCAweDgzNDM2NmFkLAorICAgIDB4YTQyNjQzMmMsIDB4OGM4ZjVkNzQsIDB4YWJlYTc4ZjUsIDB4ZGNkZDYwYzQsIDB4ZmJiODQ1NDUsCisgICAgMHhkMzExNWIxZCwgMHhmNDc0N2U5YywgMHg3YWZlZDZmZSwgMHg1ZDliZjM3ZiwgMHg3NTMyZWQyNywKKyAgICAweDUyNTdjOGE2LCAweDI1NjBkMDk3LCAweDAyMDVmNTE2LCAweDJhYWNlYjRlLCAweDBkYzljZWNmLAorICAgIDB4YzRjMmRiMmMsIDB4ZTNhN2ZlYWQsIDB4Y2IwZWUwZjUsIDB4ZWM2YmM1NzQsIDB4OWI1Y2RkNDUsCisgICAgMHhiYzM5ZjhjNCwgMHg5NDkwZTY5YywgMHhiM2Y1YzMxZCwgMHg0NzgxYmQ4MSwgMHg2MGU0OTgwMCwKKyAgICAweDQ4NGQ4NjU4LCAweDZmMjhhM2Q5LCAweDE4MWZiYmU4LCAweDNmN2E5ZTY5LCAweDE3ZDM4MDMxLAorICAgIDB4MzBiNmE1YjAsIDB4ZjliZGIwNTMsIDB4ZGVkODk1ZDIsIDB4ZjY3MThiOGEsIDB4ZDExNGFlMGIsCisgICAgMHhhNjIzYjYzYSwgMHg4MTQ2OTNiYiwgMHhhOWVmOGRlMywgMHg4ZThhYTg2MiwgMHhiNWZhZGMyNiwKKyAgICAweDkyOWZmOWE3LCAweGJhMzZlN2ZmLCAweDlkNTNjMjdlLCAweGVhNjRkYTRmLCAweGNkMDFmZmNlLAorICAgIDB4ZTVhOGUxOTYsIDB4YzJjZGM0MTcsIDB4MGJjNmQxZjQsIDB4MmNhM2Y0NzUsIDB4MDQwYWVhMmQsCisgICAgMHgyMzZmY2ZhYywgMHg1NDU4ZDc5ZCwgMHg3MzNkZjIxYywgMHg1Yjk0ZWM0NCwgMHg3Y2YxYzljNSwKKyAgICAweDg4ODViNzU5LCAweGFmZTA5MmQ4LCAweDg3NDk4YzgwLCAweGEwMmNhOTAxLCAweGQ3MWJiMTMwLAorICAgIDB4ZjA3ZTk0YjEsIDB4ZDhkNzhhZTksIDB4ZmZiMmFmNjgsIDB4MzZiOWJhOGIsIDB4MTFkYzlmMGEsCisgICAgMHgzOTc1ODE1MiwgMHgxZTEwYTRkMywgMHg2OTI3YmNlMiwgMHg0ZTQyOTk2MywgMHg2NmViODczYiwKKyAgICAweDQxOGVhMmJhLCAweGNmMDQwYWQ4LCAweGU4NjEyZjU5LCAweGMwYzgzMTAxLCAweGU3YWQxNDgwLAorICAgIDB4OTA5YTBjYjEsIDB4YjdmZjI5MzAsIDB4OWY1NjM3NjgsIDB4YjgzMzEyZTksIDB4NzEzODA3MGEsCisgICAgMHg1NjVkMjI4YiwgMHg3ZWY0M2NkMywgMHg1OTkxMTk1MiwgMHgyZWE2MDE2MywgMHgwOWMzMjRlMiwKKyAgICAweDIxNmEzYWJhLCAweDA2MGYxZjNiLCAweGYyN2I2MWE3LCAweGQ1MWU0NDI2LCAweGZkYjc1YTdlLAorICAgIDB4ZGFkMjdmZmYsIDB4YWRlNTY3Y2UsIDB4OGE4MDQyNGYsIDB4YTIyOTVjMTcsIDB4ODU0Yzc5OTYsCisgICAgMHg0YzQ3NmM3NSwgMHg2YjIyNDlmNCwgMHg0MzhiNTdhYywgMHg2NGVlNzIyZCwgMHgxM2Q5NmExYywKKyAgICAweDM0YmM0ZjlkLCAweDFjMTU1MWM1LCAweDNiNzA3NDQ0LCAweDZhZjViOTRkLCAweDRkOTA5Y2NjLAorICAgIDB4NjUzOTgyOTQsIDB4NDI1Y2E3MTUsIDB4MzU2YmJmMjQsIDB4MTIwZTlhYTUsIDB4M2FhNzg0ZmQsCisgICAgMHgxZGMyYTE3YywgMHhkNGM5YjQ5ZiwgMHhmM2FjOTExZSwgMHhkYjA1OGY0NiwgMHhmYzYwYWFjNywKKyAgICAweDhiNTdiMmY2LCAweGFjMzI5Nzc3LCAweDg0OWI4OTJmLCAweGEzZmVhY2FlLCAweDU3OGFkMjMyLAorICAgIDB4NzBlZmY3YjMsIDB4NTg0NmU5ZWIsIDB4N2YyM2NjNmEsIDB4MDgxNGQ0NWIsIDB4MmY3MWYxZGEsCisgICAgMHgwN2Q4ZWY4MiwgMHgyMGJkY2EwMywgMHhlOWI2ZGZlMCwgMHhjZWQzZmE2MSwgMHhlNjdhZTQzOSwKKyAgICAweGMxMWZjMWI4LCAweGI2MjhkOTg5LCAweDkxNGRmYzA4LCAweGI5ZTRlMjUwLCAweDllODFjN2QxLAorICAgIDB4MTAwYjZmYjMsIDB4Mzc2ZTRhMzIsIDB4MWZjNzU0NmEsIDB4MzhhMjcxZWIsIDB4NGY5NTY5ZGEsCisgICAgMHg2OGYwNGM1YiwgMHg0MDU5NTIwMywgMHg2NzNjNzc4MiwgMHhhZTM3NjI2MSwgMHg4OTUyNDdlMCwKKyAgICAweGExZmI1OWI4LCAweDg2OWU3YzM5LCAweGYxYTk2NDA4LCAweGQ2Y2M0MTg5LCAweGZlNjU1ZmQxLAorICAgIDB4ZDkwMDdhNTAsIDB4MmQ3NDA0Y2MsIDB4MGExMTIxNGQsIDB4MjJiODNmMTUsIDB4MDVkZDFhOTQsCisgICAgMHg3MmVhMDJhNSwgMHg1NThmMjcyNCwgMHg3ZDI2Mzk3YywgMHg1YTQzMWNmZCwgMHg5MzQ4MDkxZSwKKyAgICAweGI0MmQyYzlmLCAweDljODQzMmM3LCAweGJiZTExNzQ2LCAweGNjZDYwZjc3LCAweGViYjMyYWY2LAorICAgIDB4YzMxYTM0YWUsIDB4ZTQ3ZjExMmYsIDB4ZGYwZjY1NmIsIDB4Zjg2YTQwZWEsIDB4ZDBjMzVlYjIsCisgICAgMHhmN2E2N2IzMywgMHg4MDkxNjMwMiwgMHhhN2Y0NDY4MywgMHg4ZjVkNThkYiwgMHhhODM4N2Q1YSwKKyAgICAweDYxMzM2OGI5LCAweDQ2NTY0ZDM4LCAweDZlZmY1MzYwLCAweDQ5OWE3NmUxLCAweDNlYWQ2ZWQwLAorICAgIDB4MTljODRiNTEsIDB4MzE2MTU1MDksIDB4MTYwNDcwODgsIDB4ZTI3MDBlMTQsIDB4YzUxNTJiOTUsCisgICAgMHhlZGJjMzVjZCwgMHhjYWQ5MTA0YywgMHhiZGVlMDg3ZCwgMHg5YThiMmRmYywgMHhiMjIyMzNhNCwKKyAgICAweDk1NDcxNjI1LCAweDVjNGMwM2M2LCAweDdiMjkyNjQ3LCAweDUzODAzODFmLCAweDc0ZTUxZDllLAorICAgIDB4MDNkMjA1YWYsIDB4MjRiNzIwMmUsIDB4MGMxZTNlNzYsIDB4MmI3YjFiZjcsIDB4YTVmMWIzOTUsCisgICAgMHg4Mjk0OTYxNCwgMHhhYTNkODg0YywgMHg4ZDU4YWRjZCwgMHhmYTZmYjVmYywgMHhkZDBhOTA3ZCwKKyAgICAweGY1YTM4ZTI1LCAweGQyYzZhYmE0LCAweDFiY2RiZTQ3LCAweDNjYTg5YmM2LCAweDE0MDE4NTllLAorICAgIDB4MzM2NGEwMWYsIDB4NDQ1M2I4MmUsIDB4NjMzNjlkYWYsIDB4NGI5ZjgzZjcsIDB4NmNmYWE2NzYsCisgICAgMHg5ODhlZDhlYSwgMHhiZmViZmQ2YiwgMHg5NzQyZTMzMywgMHhiMDI3YzZiMiwgMHhjNzEwZGU4MywKKyAgICAweGUwNzVmYjAyLCAweGM4ZGNlNTVhLCAweGVmYjljMGRiLCAweDI2YjJkNTM4LCAweDAxZDdmMGI5LAorICAgIDB4Mjk3ZWVlZTEsIDB4MGUxYmNiNjAsIDB4NzkyY2QzNTEsIDB4NWU0OWY2ZDAsIDB4NzZlMGU4ODgsCisgICAgMHg1MTg1Y2QwOX19OworCisjZW5kaWYKKworI2VuZGlmCisKKyNlbmRpZgorCitsb2NhbCBjb25zdCB6X2NyY190IEZBUiB4Mm5fdGFibGVbXSA9IHsKKyAgICAweDQwMDAwMDAwLCAweDIwMDAwMDAwLCAweDA4MDAwMDAwLCAweDAwODAwMDAwLCAweDAwMDA4MDAwLAorICAgIDB4ZWRiODgzMjAsIDB4YjFlNmIwOTIsIDB4YTA2YTI1MTcsIDB4ZWQ2MjdkYWUsIDB4ODhkMTQ0NjcsCisgICAgMHhkN2JiZmU2YSwgMHhlYzQ0N2YxMSwgMHg4ZTdlYTE3MCwgMHg2NDI3ODAwZSwgMHg0ZDQ3YmFlMCwKKyAgICAweDA5ZmU1NDhmLCAweDgzODUyZDBmLCAweDMwMzYyZjFhLCAweDdiNWE5Y2MzLCAweDMxZmVjMTY5LAorICAgIDB4OWZlYzAyMmEsIDB4NmM4ZGVkYzQsIDB4MTVkNjg3NGQsIDB4NWZkZTdhNGUsIDB4YmFkOTBlMzcsCisgICAgMHgyZTRlNWVlZiwgMHg0ZWFiYTIxNCwgMHhhOGE0NzJjMCwgMHg0MjlhOTY5ZSwgMHgxNDhkMzAyYSwKKyAgICAweGM0MGJhNmQwLCAweGM0ZTIyYzNjfTsKZGlmZiAtLWdpdCBhL3NyYy9kZWZsYXRlLmMgYi9zcmMvZGVmbGF0ZS5jCmluZGV4IDY5Njk1NzcuLjRhNjg5ZGIgMTAwNjQ0Ci0tLSBhL3NyYy9kZWZsYXRlLmMKKysrIGIvc3JjL2RlZmxhdGUuYwpAQCAtMSw1ICsxLDUgQEAKIC8qIGRlZmxhdGUuYyAtLSBjb21wcmVzcyBkYXRhIHVzaW5nIHRoZSBkZWZsYXRpb24gYWxnb3JpdGhtCi0gKiBDb3B5cmlnaHQgKEMpIDE5OTUtMjAxMyBKZWFuLWxvdXAgR2FpbGx5IGFuZCBNYXJrIEFkbGVyCisgKiBDb3B5cmlnaHQgKEMpIDE5OTUtMjAyMiBKZWFuLWxvdXAgR2FpbGx5IGFuZCBNYXJrIEFkbGVyCiAgKiBGb3IgY29uZGl0aW9ucyBvZiBkaXN0cmlidXRpb24gYW5kIHVzZSwgc2VlIGNvcHlyaWdodCBub3RpY2UgaW4gemxpYi5oCiAgKi8KIApAQCAtNTIsNyArNTIsNyBAQAogI2luY2x1ZGUgImRlZmxhdGUuaCIKIAogY29uc3QgY2hhciBkZWZsYXRlX2NvcHlyaWdodFtdID0KLSAgICIgZGVmbGF0ZSAxLjIuOCBDb3B5cmlnaHQgMTk5NS0yMDEzIEplYW4tbG91cCBHYWlsbHkgYW5kIE1hcmsgQWRsZXIgIjsKKyAgICIgZGVmbGF0ZSAxLjIuMTMgQ29weXJpZ2h0IDE5OTUtMjAyMiBKZWFuLWxvdXAgR2FpbGx5IGFuZCBNYXJrIEFkbGVyICI7CiAvKgogICBJZiB5b3UgdXNlIHRoZSB6bGliIGxpYnJhcnkgaW4gYSBwcm9kdWN0LCBhbiBhY2tub3dsZWRnbWVudCBpcyB3ZWxjb21lCiAgIGluIHRoZSBkb2N1bWVudGF0aW9uIG9mIHlvdXIgcHJvZHVjdC4gSWYgZm9yIHNvbWUgcmVhc29uIHlvdSBjYW5ub3QKQEAgLTczLDYgKzczLDggQEAKIHR5cGVkZWYgYmxvY2tfc3RhdGUgKCpjb21wcmVzc19mdW5jKSBPRigoZGVmbGF0ZV9zdGF0ZSAqcywgaW50IGZsdXNoKSk7CiAvKiBDb21wcmVzc2lvbiBmdW5jdGlvbi4gUmV0dXJucyB0aGUgYmxvY2sgc3RhdGUgYWZ0ZXIgdGhlIGNhbGwuICovCiAKK2xvY2FsIGludCBkZWZsYXRlU3RhdGVDaGVjayAgICAgIE9GKCh6X3N0cmVhbXAgc3RybSkpOworbG9jYWwgdm9pZCBzbGlkZV9oYXNoICAgICBPRigoZGVmbGF0ZV9zdGF0ZSAqcykpOwogbG9jYWwgdm9pZCBmaWxsX3dpbmRvdyAgICBPRigoZGVmbGF0ZV9zdGF0ZSAqcykpOwogbG9jYWwgYmxvY2tfc3RhdGUgZGVmbGF0ZV9zdG9yZWQgT0YoKGRlZmxhdGVfc3RhdGUgKnMsIGludCBmbHVzaCkpOwogbG9jYWwgYmxvY2tfc3RhdGUgZGVmbGF0ZV9mYXN0ICAgT0YoKGRlZmxhdGVfc3RhdGUgKnMsIGludCBmbHVzaCkpOwpAQCAtODQsMTUgKzg2LDEwIEBACiBsb2NhbCB2b2lkIGxtX2luaXQgICAgICAgIE9GKChkZWZsYXRlX3N0YXRlICpzKSk7CiBsb2NhbCB2b2lkIHB1dFNob3J0TVNCICAgIE9GKChkZWZsYXRlX3N0YXRlICpzLCB1SW50IGIpKTsKIGxvY2FsIHZvaWQgZmx1c2hfcGVuZGluZyAgT0YoKHpfc3RyZWFtcCBzdHJtKSk7Ci1sb2NhbCBpbnQgcmVhZF9idWYgICAgICAgIE9GKCh6X3N0cmVhbXAgc3RybSwgQnl0ZWYgKmJ1ZiwgdW5zaWduZWQgc2l6ZSkpOwotI2lmZGVmIEFTTVYKLSAgICAgIHZvaWQgbWF0Y2hfaW5pdCBPRigodm9pZCkpOyAvKiBhc20gY29kZSBpbml0aWFsaXphdGlvbiAqLwotICAgICAgdUludCBsb25nZXN0X21hdGNoICBPRigoZGVmbGF0ZV9zdGF0ZSAqcywgSVBvcyBjdXJfbWF0Y2gpKTsKLSNlbHNlCitsb2NhbCB1bnNpZ25lZCByZWFkX2J1ZiAgIE9GKCh6X3N0cmVhbXAgc3RybSwgQnl0ZWYgKmJ1ZiwgdW5zaWduZWQgc2l6ZSkpOwogbG9jYWwgdUludCBsb25nZXN0X21hdGNoICBPRigoZGVmbGF0ZV9zdGF0ZSAqcywgSVBvcyBjdXJfbWF0Y2gpKTsKLSNlbmRpZgogCi0jaWZkZWYgREVCVUcKKyNpZmRlZiBaTElCX0RFQlVHCiBsb2NhbCAgdm9pZCBjaGVja19tYXRjaCBPRigoZGVmbGF0ZV9zdGF0ZSAqcywgSVBvcyBzdGFydCwgSVBvcyBtYXRjaCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgbGVuZ3RoKSk7CiAjZW5kaWYKQEAgLTE0OCwyMyArMTQ1LDE2IEBACiAgKiBtZWFuaW5nLgogICovCiAKLSNkZWZpbmUgRVFVQUwgMAotLyogcmVzdWx0IG9mIG1lbWNtcCBmb3IgZXF1YWwgc3RyaW5ncyAqLwotCi0jaWZuZGVmIE5PX0RVTU1ZX0RFQ0wKLXN0cnVjdCBzdGF0aWNfdHJlZV9kZXNjX3Mge2ludCBkdW1teTt9OyAvKiBmb3IgYnVnZ3kgY29tcGlsZXJzICovCi0jZW5kaWYKLQogLyogcmFuayBaX0JMT0NLIGJldHdlZW4gWl9OT19GTFVTSCBhbmQgWl9QQVJUSUFMX0ZMVVNIICovCi0jZGVmaW5lIFJBTksoZikgKCgoZikgPDwgMSkgLSAoKGYpID4gNCA/IDkgOiAwKSkKKyNkZWZpbmUgUkFOSyhmKSAoKChmKSAqIDIpIC0gKChmKSA+IDQgPyA5IDogMCkpCiAKIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICogVXBkYXRlIGEgaGFzaCB2YWx1ZSB3aXRoIHRoZSBnaXZlbiBpbnB1dCBieXRlCi0gKiBJTiAgYXNzZXJ0aW9uOiBhbGwgY2FsbHMgdG8gdG8gVVBEQVRFX0hBU0ggYXJlIG1hZGUgd2l0aCBjb25zZWN1dGl2ZQotICogICAgaW5wdXQgY2hhcmFjdGVycywgc28gdGhhdCBhIHJ1bm5pbmcgaGFzaCBrZXkgY2FuIGJlIGNvbXB1dGVkIGZyb20gdGhlCi0gKiAgICBwcmV2aW91cyBrZXkgaW5zdGVhZCBvZiBjb21wbGV0ZSByZWNhbGN1bGF0aW9uIGVhY2ggdGltZS4KKyAqIElOICBhc3NlcnRpb246IGFsbCBjYWxscyB0byBVUERBVEVfSEFTSCBhcmUgbWFkZSB3aXRoIGNvbnNlY3V0aXZlIGlucHV0CisgKiAgICBjaGFyYWN0ZXJzLCBzbyB0aGF0IGEgcnVubmluZyBoYXNoIGtleSBjYW4gYmUgY29tcHV0ZWQgZnJvbSB0aGUgcHJldmlvdXMKKyAqICAgIGtleSBpbnN0ZWFkIG9mIGNvbXBsZXRlIHJlY2FsY3VsYXRpb24gZWFjaCB0aW1lLgogICovCi0jZGVmaW5lIFVQREFURV9IQVNIKHMsaCxjKSAoaCA9ICgoKGgpPDxzLT5oYXNoX3NoaWZ0KSBeIChjKSkgJiBzLT5oYXNoX21hc2spCisjZGVmaW5lIFVQREFURV9IQVNIKHMsaCxjKSAoaCA9ICgoKGgpIDw8IHMtPmhhc2hfc2hpZnQpIF4gKGMpKSAmIHMtPmhhc2hfbWFzaykKIAogCiAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KQEAgLTE3Myw5ICsxNjMsOSBAQAogICogdGhlIHByZXZpb3VzIGxlbmd0aCBvZiB0aGUgaGFzaCBjaGFpbi4KICAqIElmIHRoaXMgZmlsZSBpcyBjb21waWxlZCB3aXRoIC1ERkFTVEVTVCwgdGhlIGNvbXByZXNzaW9uIGxldmVsIGlzIGZvcmNlZAogICogdG8gMSwgYW5kIG5vIGhhc2ggY2hhaW5zIGFyZSBtYWludGFpbmVkLgotICogSU4gIGFzc2VydGlvbjogYWxsIGNhbGxzIHRvIHRvIElOU0VSVF9TVFJJTkcgYXJlIG1hZGUgd2l0aCBjb25zZWN1dGl2ZQotICogICAgaW5wdXQgY2hhcmFjdGVycyBhbmQgdGhlIGZpcnN0IE1JTl9NQVRDSCBieXRlcyBvZiBzdHIgYXJlIHZhbGlkCi0gKiAgICAoZXhjZXB0IGZvciB0aGUgbGFzdCBNSU5fTUFUQ0gtMSBieXRlcyBvZiB0aGUgaW5wdXQgZmlsZSkuCisgKiBJTiAgYXNzZXJ0aW9uOiBhbGwgY2FsbHMgdG8gSU5TRVJUX1NUUklORyBhcmUgbWFkZSB3aXRoIGNvbnNlY3V0aXZlIGlucHV0CisgKiAgICBjaGFyYWN0ZXJzIGFuZCB0aGUgZmlyc3QgTUlOX01BVENIIGJ5dGVzIG9mIHN0ciBhcmUgdmFsaWQgKGV4Y2VwdCBmb3IKKyAqICAgIHRoZSBsYXN0IE1JTl9NQVRDSC0xIGJ5dGVzIG9mIHRoZSBpbnB1dCBmaWxlKS4KICAqLwogI2lmZGVmIEZBU1RFU1QKICNkZWZpbmUgSU5TRVJUX1NUUklORyhzLCBzdHIsIG1hdGNoX2hlYWQpIFwKQEAgLTE5NCw4ICsxODQsNDIgQEAKICAqIHByZXZbXSB3aWxsIGJlIGluaXRpYWxpemVkIG9uIHRoZSBmbHkuCiAgKi8KICNkZWZpbmUgQ0xFQVJfSEFTSChzKSBcCi0gICAgcy0+aGVhZFtzLT5oYXNoX3NpemUtMV0gPSBOSUw7IFwKLSAgICB6bWVtemVybygoQnl0ZWYgKilzLT5oZWFkLCAodW5zaWduZWQpKHMtPmhhc2hfc2l6ZS0xKSpzaXplb2YoKnMtPmhlYWQpKTsKKyAgICBkbyB7IFwKKyAgICAgICAgcy0+aGVhZFtzLT5oYXNoX3NpemUgLSAxXSA9IE5JTDsgXAorICAgICAgICB6bWVtemVybygoQnl0ZWYgKilzLT5oZWFkLCBcCisgICAgICAgICAgICAgICAgICh1bnNpZ25lZCkocy0+aGFzaF9zaXplIC0gMSkqc2l6ZW9mKCpzLT5oZWFkKSk7IFwKKyAgICB9IHdoaWxlICgwKQorCisvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAqIFNsaWRlIHRoZSBoYXNoIHRhYmxlIHdoZW4gc2xpZGluZyB0aGUgd2luZG93IGRvd24gKGNvdWxkIGJlIGF2b2lkZWQgd2l0aCAzMgorICogYml0IHZhbHVlcyBhdCB0aGUgZXhwZW5zZSBvZiBtZW1vcnkgdXNhZ2UpLiBXZSBzbGlkZSBldmVuIHdoZW4gbGV2ZWwgPT0gMCB0bworICoga2VlcCB0aGUgaGFzaCB0YWJsZSBjb25zaXN0ZW50IGlmIHdlIHN3aXRjaCBiYWNrIHRvIGxldmVsID4gMCBsYXRlci4KKyAqLworbG9jYWwgdm9pZCBzbGlkZV9oYXNoKHMpCisgICAgZGVmbGF0ZV9zdGF0ZSAqczsKK3sKKyAgICB1bnNpZ25lZCBuLCBtOworICAgIFBvc2YgKnA7CisgICAgdUludCB3c2l6ZSA9IHMtPndfc2l6ZTsKKworICAgIG4gPSBzLT5oYXNoX3NpemU7CisgICAgcCA9ICZzLT5oZWFkW25dOworICAgIGRvIHsKKyAgICAgICAgbSA9ICotLXA7CisgICAgICAgICpwID0gKFBvcykobSA+PSB3c2l6ZSA/IG0gLSB3c2l6ZSA6IE5JTCk7CisgICAgfSB3aGlsZSAoLS1uKTsKKyAgICBuID0gd3NpemU7CisjaWZuZGVmIEZBU1RFU1QKKyAgICBwID0gJnMtPnByZXZbbl07CisgICAgZG8geworICAgICAgICBtID0gKi0tcDsKKyAgICAgICAgKnAgPSAoUG9zKShtID49IHdzaXplID8gbSAtIHdzaXplIDogTklMKTsKKyAgICAgICAgLyogSWYgbiBpcyBub3Qgb24gYW55IGhhc2ggY2hhaW4sIHByZXZbbl0gaXMgZ2FyYmFnZSBidXQKKyAgICAgICAgICogaXRzIHZhbHVlIHdpbGwgbmV2ZXIgYmUgdXNlZC4KKyAgICAgICAgICovCisgICAgfSB3aGlsZSAoLS1uKTsKKyNlbmRpZgorfQogCiAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCiBpbnQgWkVYUE9SVCBkZWZsYXRlSW5pdF8oc3RybSwgbGV2ZWwsIHZlcnNpb24sIHN0cmVhbV9zaXplKQpAQCAtMjI1LDExICsyNDksNiBAQAogICAgIGludCB3cmFwID0gMTsKICAgICBzdGF0aWMgY29uc3QgY2hhciBteV92ZXJzaW9uW10gPSBaTElCX1ZFUlNJT047CiAKLSAgICB1c2hmICpvdmVybGF5OwotICAgIC8qIFdlIG92ZXJsYXkgcGVuZGluZ19idWYgYW5kIGRfYnVmK2xfYnVmLiBUaGlzIHdvcmtzIHNpbmNlIHRoZSBhdmVyYWdlCi0gICAgICogb3V0cHV0IHNpemUgZm9yIChsZW5ndGgsZGlzdGFuY2UpIGNvZGVzIGlzIDw9IDI0IGJpdHMuCi0gICAgICovCi0KICAgICBpZiAodmVyc2lvbiA9PSBaX05VTEwgfHwgdmVyc2lvblswXSAhPSBteV92ZXJzaW9uWzBdIHx8CiAgICAgICAgIHN0cmVhbV9zaXplICE9IHNpemVvZih6X3N0cmVhbSkpIHsKICAgICAgICAgcmV0dXJuIFpfVkVSU0lPTl9FUlJPUjsKQEAgLTI2MCw2ICsyNzksOCBAQAogCiAgICAgaWYgKHdpbmRvd0JpdHMgPCAwKSB7IC8qIHN1cHByZXNzIHpsaWIgd3JhcHBlciAqLwogICAgICAgICB3cmFwID0gMDsKKyAgICAgICAgaWYgKHdpbmRvd0JpdHMgPCAtMTUpCisgICAgICAgICAgICByZXR1cm4gWl9TVFJFQU1fRVJST1I7CiAgICAgICAgIHdpbmRvd0JpdHMgPSAtd2luZG93Qml0czsKICAgICB9CiAjaWZkZWYgR1pJUApAQCAtMjcwLDcgKzI5MSw3IEBACiAjZW5kaWYKICAgICBpZiAobWVtTGV2ZWwgPCAxIHx8IG1lbUxldmVsID4gTUFYX01FTV9MRVZFTCB8fCBtZXRob2QgIT0gWl9ERUZMQVRFRCB8fAogICAgICAgICB3aW5kb3dCaXRzIDwgOCB8fCB3aW5kb3dCaXRzID4gMTUgfHwgbGV2ZWwgPCAwIHx8IGxldmVsID4gOSB8fAotICAgICAgICBzdHJhdGVneSA8IDAgfHwgc3RyYXRlZ3kgPiBaX0ZJWEVEKSB7CisgICAgICAgIHN0cmF0ZWd5IDwgMCB8fCBzdHJhdGVneSA+IFpfRklYRUQgfHwgKHdpbmRvd0JpdHMgPT0gOCAmJiB3cmFwICE9IDEpKSB7CiAgICAgICAgIHJldHVybiBaX1NUUkVBTV9FUlJPUjsKICAgICB9CiAgICAgaWYgKHdpbmRvd0JpdHMgPT0gOCkgd2luZG93Qml0cyA9IDk7ICAvKiB1bnRpbCAyNTYtYnl0ZSB3aW5kb3cgYnVnIGZpeGVkICovCkBAIC0yNzgsMTcgKzI5OSwxOCBAQAogICAgIGlmIChzID09IFpfTlVMTCkgcmV0dXJuIFpfTUVNX0VSUk9SOwogICAgIHN0cm0tPnN0YXRlID0gKHN0cnVjdCBpbnRlcm5hbF9zdGF0ZSBGQVIgKilzOwogICAgIHMtPnN0cm0gPSBzdHJtOworICAgIHMtPnN0YXR1cyA9IElOSVRfU1RBVEU7ICAgICAvKiB0byBwYXNzIHN0YXRlIHRlc3QgaW4gZGVmbGF0ZVJlc2V0KCkgKi8KIAogICAgIHMtPndyYXAgPSB3cmFwOwogICAgIHMtPmd6aGVhZCA9IFpfTlVMTDsKLSAgICBzLT53X2JpdHMgPSB3aW5kb3dCaXRzOworICAgIHMtPndfYml0cyA9ICh1SW50KXdpbmRvd0JpdHM7CiAgICAgcy0+d19zaXplID0gMSA8PCBzLT53X2JpdHM7CiAgICAgcy0+d19tYXNrID0gcy0+d19zaXplIC0gMTsKIAotICAgIHMtPmhhc2hfYml0cyA9IG1lbUxldmVsICsgNzsKKyAgICBzLT5oYXNoX2JpdHMgPSAodUludCltZW1MZXZlbCArIDc7CiAgICAgcy0+aGFzaF9zaXplID0gMSA8PCBzLT5oYXNoX2JpdHM7CiAgICAgcy0+aGFzaF9tYXNrID0gcy0+aGFzaF9zaXplIC0gMTsKLSAgICBzLT5oYXNoX3NoaWZ0ID0gICgocy0+aGFzaF9iaXRzK01JTl9NQVRDSC0xKS9NSU5fTUFUQ0gpOworICAgIHMtPmhhc2hfc2hpZnQgPSAgKChzLT5oYXNoX2JpdHMgKyBNSU5fTUFUQ0gtMSkgLyBNSU5fTUFUQ0gpOwogCiAgICAgcy0+d2luZG93ID0gKEJ5dGVmICopIFpBTExPQyhzdHJtLCBzLT53X3NpemUsIDIqc2l6ZW9mKEJ5dGUpKTsKICAgICBzLT5wcmV2ICAgPSAoUG9zZiAqKSAgWkFMTE9DKHN0cm0sIHMtPndfc2l6ZSwgc2l6ZW9mKFBvcykpOwpAQCAtMjk4LDkgKzMyMCw0NyBAQAogCiAgICAgcy0+bGl0X2J1ZnNpemUgPSAxIDw8IChtZW1MZXZlbCArIDYpOyAvKiAxNksgZWxlbWVudHMgYnkgZGVmYXVsdCAqLwogCi0gICAgb3ZlcmxheSA9ICh1c2hmICopIFpBTExPQyhzdHJtLCBzLT5saXRfYnVmc2l6ZSwgc2l6ZW9mKHVzaCkrMik7Ci0gICAgcy0+cGVuZGluZ19idWYgPSAodWNoZiAqKSBvdmVybGF5OwotICAgIHMtPnBlbmRpbmdfYnVmX3NpemUgPSAodWxnKXMtPmxpdF9idWZzaXplICogKHNpemVvZih1c2gpKzJMKTsKKyAgICAvKiBXZSBvdmVybGF5IHBlbmRpbmdfYnVmIGFuZCBzeW1fYnVmLiBUaGlzIHdvcmtzIHNpbmNlIHRoZSBhdmVyYWdlIHNpemUKKyAgICAgKiBmb3IgbGVuZ3RoL2Rpc3RhbmNlIHBhaXJzIG92ZXIgYW55IGNvbXByZXNzZWQgYmxvY2sgaXMgYXNzdXJlZCB0byBiZSAzMQorICAgICAqIGJpdHMgb3IgbGVzcy4KKyAgICAgKgorICAgICAqIEFuYWx5c2lzOiBUaGUgbG9uZ2VzdCBmaXhlZCBjb2RlcyBhcmUgYSBsZW5ndGggY29kZSBvZiA4IGJpdHMgcGx1cyA1CisgICAgICogZXh0cmEgYml0cywgZm9yIGxlbmd0aHMgMTMxIHRvIDI1Ny4gVGhlIGxvbmdlc3QgZml4ZWQgZGlzdGFuY2UgY29kZXMgYXJlCisgICAgICogNSBiaXRzIHBsdXMgMTMgZXh0cmEgYml0cywgZm9yIGRpc3RhbmNlcyAxNjM4NSB0byAzMjc2OC4gVGhlIGxvbmdlc3QKKyAgICAgKiBwb3NzaWJsZSBmaXhlZC1jb2RlcyBsZW5ndGgvZGlzdGFuY2UgcGFpciBpcyB0aGVuIDMxIGJpdHMgdG90YWwuCisgICAgICoKKyAgICAgKiBzeW1fYnVmIHN0YXJ0cyBvbmUtZm91cnRoIG9mIHRoZSB3YXkgaW50byBwZW5kaW5nX2J1Zi4gU28gdGhlcmUgYXJlCisgICAgICogdGhyZWUgYnl0ZXMgaW4gc3ltX2J1ZiBmb3IgZXZlcnkgZm91ciBieXRlcyBpbiBwZW5kaW5nX2J1Zi4gRWFjaCBzeW1ib2wKKyAgICAgKiBpbiBzeW1fYnVmIGlzIHRocmVlIGJ5dGVzIC0tIHR3byBmb3IgdGhlIGRpc3RhbmNlIGFuZCBvbmUgZm9yIHRoZQorICAgICAqIGxpdGVyYWwvbGVuZ3RoLiBBcyBlYWNoIHN5bWJvbCBpcyBjb25zdW1lZCwgdGhlIHBvaW50ZXIgdG8gdGhlIG5leHQKKyAgICAgKiBzeW1fYnVmIHZhbHVlIHRvIHJlYWQgbW92ZXMgZm9yd2FyZCB0aHJlZSBieXRlcy4gRnJvbSB0aGF0IHN5bWJvbCwgdXAgdG8KKyAgICAgKiAzMSBiaXRzIGFyZSB3cml0dGVuIHRvIHBlbmRpbmdfYnVmLiBUaGUgY2xvc2VzdCB0aGUgd3JpdHRlbiBwZW5kaW5nX2J1ZgorICAgICAqIGJpdHMgZ2V0cyB0byB0aGUgbmV4dCBzeW1fYnVmIHN5bWJvbCB0byByZWFkIGlzIGp1c3QgYmVmb3JlIHRoZSBsYXN0CisgICAgICogY29kZSBpcyB3cml0dGVuLiBBdCB0aGF0IHRpbWUsIDMxKihuIC0gMikgYml0cyBoYXZlIGJlZW4gd3JpdHRlbiwganVzdAorICAgICAqIGFmdGVyIDI0KihuIC0gMikgYml0cyBoYXZlIGJlZW4gY29uc3VtZWQgZnJvbSBzeW1fYnVmLiBzeW1fYnVmIHN0YXJ0cyBhdAorICAgICAqIDgqbiBiaXRzIGludG8gcGVuZGluZ19idWYuIChOb3RlIHRoYXQgdGhlIHN5bWJvbCBidWZmZXIgZmlsbHMgd2hlbiBuIC0gMQorICAgICAqIHN5bWJvbHMgYXJlIHdyaXR0ZW4uKSBUaGUgY2xvc2VzdCB0aGUgd3JpdGluZyBnZXRzIHRvIHdoYXQgaXMgdW5yZWFkIGlzCisgICAgICogdGhlbiBuICsgMTQgYml0cy4gSGVyZSBuIGlzIGxpdF9idWZzaXplLCB3aGljaCBpcyAxNjM4NCBieSBkZWZhdWx0LCBhbmQKKyAgICAgKiBjYW4gcmFuZ2UgZnJvbSAxMjggdG8gMzI3NjguCisgICAgICoKKyAgICAgKiBUaGVyZWZvcmUsIGF0IGEgbWluaW11bSwgdGhlcmUgYXJlIDE0MiBiaXRzIG9mIHNwYWNlIGJldHdlZW4gd2hhdCBpcworICAgICAqIHdyaXR0ZW4gYW5kIHdoYXQgaXMgcmVhZCBpbiB0aGUgb3ZlcmxhaW4gYnVmZmVycywgc28gdGhlIHN5bWJvbHMgY2Fubm90CisgICAgICogYmUgb3ZlcndyaXR0ZW4gYnkgdGhlIGNvbXByZXNzZWQgZGF0YS4gVGhhdCBzcGFjZSBpcyBhY3R1YWxseSAxMzkgYml0cywKKyAgICAgKiBkdWUgdG8gdGhlIHRocmVlLWJpdCBmaXhlZC1jb2RlIGJsb2NrIGhlYWRlci4KKyAgICAgKgorICAgICAqIFRoYXQgY292ZXJzIHRoZSBjYXNlIHdoZXJlIGVpdGhlciBaX0ZJWEVEIGlzIHNwZWNpZmllZCwgZm9yY2luZyBmaXhlZAorICAgICAqIGNvZGVzLCBvciB3aGVuIHRoZSB1c2Ugb2YgZml4ZWQgY29kZXMgaXMgY2hvc2VuLCBiZWNhdXNlIHRoYXQgY2hvaWNlCisgICAgICogcmVzdWx0cyBpbiBhIHNtYWxsZXIgY29tcHJlc3NlZCBibG9jayB0aGFuIGR5bmFtaWMgY29kZXMuIFRoYXQgbGF0dGVyCisgICAgICogY29uZGl0aW9uIHRoZW4gYXNzdXJlcyB0aGF0IHRoZSBhYm92ZSBhbmFseXNpcyBhbHNvIGNvdmVycyBhbGwgZHluYW1pYworICAgICAqIGJsb2Nrcy4gQSBkeW5hbWljLWNvZGUgYmxvY2sgd2lsbCBvbmx5IGJlIGNob3NlbiB0byBiZSBlbWl0dGVkIGlmIGl0IGhhcworICAgICAqIGZld2VyIGJpdHMgdGhhbiBhIGZpeGVkLWNvZGUgYmxvY2sgd291bGQgZm9yIHRoZSBzYW1lIHNldCBvZiBzeW1ib2xzLgorICAgICAqIFRoZXJlZm9yZSBpdHMgYXZlcmFnZSBzeW1ib2wgbGVuZ3RoIGlzIGFzc3VyZWQgdG8gYmUgbGVzcyB0aGFuIDMxLiBTbworICAgICAqIHRoZSBjb21wcmVzc2VkIGRhdGEgZm9yIGEgZHluYW1pYyBibG9jayBhbHNvIGNhbm5vdCBvdmVyd3JpdGUgdGhlCisgICAgICogc3ltYm9scyBmcm9tIHdoaWNoIGl0IGlzIGJlaW5nIGNvbnN0cnVjdGVkLgorICAgICAqLworCisgICAgcy0+cGVuZGluZ19idWYgPSAodWNoZiAqKSBaQUxMT0Moc3RybSwgcy0+bGl0X2J1ZnNpemUsIDQpOworICAgIHMtPnBlbmRpbmdfYnVmX3NpemUgPSAodWxnKXMtPmxpdF9idWZzaXplICogNDsKIAogICAgIGlmIChzLT53aW5kb3cgPT0gWl9OVUxMIHx8IHMtPnByZXYgPT0gWl9OVUxMIHx8IHMtPmhlYWQgPT0gWl9OVUxMIHx8CiAgICAgICAgIHMtPnBlbmRpbmdfYnVmID09IFpfTlVMTCkgewpAQCAtMzA5LDggKzM2OSwxMiBAQAogICAgICAgICBkZWZsYXRlRW5kIChzdHJtKTsKICAgICAgICAgcmV0dXJuIFpfTUVNX0VSUk9SOwogICAgIH0KLSAgICBzLT5kX2J1ZiA9IG92ZXJsYXkgKyBzLT5saXRfYnVmc2l6ZS9zaXplb2YodXNoKTsKLSAgICBzLT5sX2J1ZiA9IHMtPnBlbmRpbmdfYnVmICsgKDErc2l6ZW9mKHVzaCkpKnMtPmxpdF9idWZzaXplOworICAgIHMtPnN5bV9idWYgPSBzLT5wZW5kaW5nX2J1ZiArIHMtPmxpdF9idWZzaXplOworICAgIHMtPnN5bV9lbmQgPSAocy0+bGl0X2J1ZnNpemUgLSAxKSAqIDM7CisgICAgLyogV2UgYXZvaWQgZXF1YWxpdHkgd2l0aCBsaXRfYnVmc2l6ZSozIGJlY2F1c2Ugb2Ygd3JhcGFyb3VuZCBhdCA2NEsKKyAgICAgKiBvbiAxNiBiaXQgbWFjaGluZXMgYW5kIGJlY2F1c2Ugc3RvcmVkIGJsb2NrcyBhcmUgcmVzdHJpY3RlZCB0bworICAgICAqIDY0Sy0xIGJ5dGVzLgorICAgICAqLwogCiAgICAgcy0+bGV2ZWwgPSBsZXZlbDsKICAgICBzLT5zdHJhdGVneSA9IHN0cmF0ZWd5OwpAQCAtMzE5LDggKzM4MywzMyBAQAogICAgIHJldHVybiBkZWZsYXRlUmVzZXQoc3RybSk7CiB9CiAKKy8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAqIENoZWNrIGZvciBhIHZhbGlkIGRlZmxhdGUgc3RyZWFtIHN0YXRlLiBSZXR1cm4gMCBpZiBvaywgMSBpZiBub3QuCisgKi8KK2xvY2FsIGludCBkZWZsYXRlU3RhdGVDaGVjayhzdHJtKQorICAgIHpfc3RyZWFtcCBzdHJtOworeworICAgIGRlZmxhdGVfc3RhdGUgKnM7CisgICAgaWYgKHN0cm0gPT0gWl9OVUxMIHx8CisgICAgICAgIHN0cm0tPnphbGxvYyA9PSAoYWxsb2NfZnVuYykwIHx8IHN0cm0tPnpmcmVlID09IChmcmVlX2Z1bmMpMCkKKyAgICAgICAgcmV0dXJuIDE7CisgICAgcyA9IHN0cm0tPnN0YXRlOworICAgIGlmIChzID09IFpfTlVMTCB8fCBzLT5zdHJtICE9IHN0cm0gfHwgKHMtPnN0YXR1cyAhPSBJTklUX1NUQVRFICYmCisjaWZkZWYgR1pJUAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHMtPnN0YXR1cyAhPSBHWklQX1NUQVRFICYmCisjZW5kaWYKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzLT5zdGF0dXMgIT0gRVhUUkFfU1RBVEUgJiYKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzLT5zdGF0dXMgIT0gTkFNRV9TVEFURSAmJgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHMtPnN0YXR1cyAhPSBDT01NRU5UX1NUQVRFICYmCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcy0+c3RhdHVzICE9IEhDUkNfU1RBVEUgJiYKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzLT5zdGF0dXMgIT0gQlVTWV9TVEFURSAmJgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHMtPnN0YXR1cyAhPSBGSU5JU0hfU1RBVEUpKQorICAgICAgICByZXR1cm4gMTsKKyAgICByZXR1cm4gMDsKK30KKwogLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwotaW50IFpFWFBPUlQgZGVmbGF0ZVNldERpY3Rpb25hcnkgKHN0cm0sIGRpY3Rpb25hcnksIGRpY3RMZW5ndGgpCitpbnQgWkVYUE9SVCBkZWZsYXRlU2V0RGljdGlvbmFyeShzdHJtLCBkaWN0aW9uYXJ5LCBkaWN0TGVuZ3RoKQogICAgIHpfc3RyZWFtcCBzdHJtOwogICAgIGNvbnN0IEJ5dGVmICpkaWN0aW9uYXJ5OwogICAgIHVJbnQgIGRpY3RMZW5ndGg7CkBAIC0zMzEsNyArNDIwLDcgQEAKICAgICB1bnNpZ25lZCBhdmFpbDsKICAgICB6X2NvbnN0IHVuc2lnbmVkIGNoYXIgKm5leHQ7CiAKLSAgICBpZiAoc3RybSA9PSBaX05VTEwgfHwgc3RybS0+c3RhdGUgPT0gWl9OVUxMIHx8IGRpY3Rpb25hcnkgPT0gWl9OVUxMKQorICAgIGlmIChkZWZsYXRlU3RhdGVDaGVjayhzdHJtKSB8fCBkaWN0aW9uYXJ5ID09IFpfTlVMTCkKICAgICAgICAgcmV0dXJuIFpfU1RSRUFNX0VSUk9SOwogICAgIHMgPSBzdHJtLT5zdGF0ZTsKICAgICB3cmFwID0gcy0+d3JhcDsKQEAgLTM4OSwxMyArNDc4LDM0IEBACiB9CiAKIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KLWludCBaRVhQT1JUIGRlZmxhdGVSZXNldEtlZXAgKHN0cm0pCitpbnQgWkVYUE9SVCBkZWZsYXRlR2V0RGljdGlvbmFyeShzdHJtLCBkaWN0aW9uYXJ5LCBkaWN0TGVuZ3RoKQorICAgIHpfc3RyZWFtcCBzdHJtOworICAgIEJ5dGVmICpkaWN0aW9uYXJ5OworICAgIHVJbnQgICpkaWN0TGVuZ3RoOworeworICAgIGRlZmxhdGVfc3RhdGUgKnM7CisgICAgdUludCBsZW47CisKKyAgICBpZiAoZGVmbGF0ZVN0YXRlQ2hlY2soc3RybSkpCisgICAgICAgIHJldHVybiBaX1NUUkVBTV9FUlJPUjsKKyAgICBzID0gc3RybS0+c3RhdGU7CisgICAgbGVuID0gcy0+c3Ryc3RhcnQgKyBzLT5sb29rYWhlYWQ7CisgICAgaWYgKGxlbiA+IHMtPndfc2l6ZSkKKyAgICAgICAgbGVuID0gcy0+d19zaXplOworICAgIGlmIChkaWN0aW9uYXJ5ICE9IFpfTlVMTCAmJiBsZW4pCisgICAgICAgIHptZW1jcHkoZGljdGlvbmFyeSwgcy0+d2luZG93ICsgcy0+c3Ryc3RhcnQgKyBzLT5sb29rYWhlYWQgLSBsZW4sIGxlbik7CisgICAgaWYgKGRpY3RMZW5ndGggIT0gWl9OVUxMKQorICAgICAgICAqZGljdExlbmd0aCA9IGxlbjsKKyAgICByZXR1cm4gWl9PSzsKK30KKworLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLworaW50IFpFWFBPUlQgZGVmbGF0ZVJlc2V0S2VlcChzdHJtKQogICAgIHpfc3RyZWFtcCBzdHJtOwogewogICAgIGRlZmxhdGVfc3RhdGUgKnM7CiAKLSAgICBpZiAoc3RybSA9PSBaX05VTEwgfHwgc3RybS0+c3RhdGUgPT0gWl9OVUxMIHx8Ci0gICAgICAgIHN0cm0tPnphbGxvYyA9PSAoYWxsb2NfZnVuYykwIHx8IHN0cm0tPnpmcmVlID09IChmcmVlX2Z1bmMpMCkgeworICAgIGlmIChkZWZsYXRlU3RhdGVDaGVjayhzdHJtKSkgewogICAgICAgICByZXR1cm4gWl9TVFJFQU1fRVJST1I7CiAgICAgfQogCkBAIC00MTAsMTMgKzUyMCwxNyBAQAogICAgIGlmIChzLT53cmFwIDwgMCkgewogICAgICAgICBzLT53cmFwID0gLXMtPndyYXA7IC8qIHdhcyBtYWRlIG5lZ2F0aXZlIGJ5IGRlZmxhdGUoLi4uLCBaX0ZJTklTSCk7ICovCiAgICAgfQotICAgIHMtPnN0YXR1cyA9IHMtPndyYXAgPyBJTklUX1NUQVRFIDogQlVTWV9TVEFURTsKKyAgICBzLT5zdGF0dXMgPQorI2lmZGVmIEdaSVAKKyAgICAgICAgcy0+d3JhcCA9PSAyID8gR1pJUF9TVEFURSA6CisjZW5kaWYKKyAgICAgICAgSU5JVF9TVEFURTsKICAgICBzdHJtLT5hZGxlciA9CiAjaWZkZWYgR1pJUAogICAgICAgICBzLT53cmFwID09IDIgPyBjcmMzMigwTCwgWl9OVUxMLCAwKSA6CiAjZW5kaWYKICAgICAgICAgYWRsZXIzMigwTCwgWl9OVUxMLCAwKTsKLSAgICBzLT5sYXN0X2ZsdXNoID0gWl9OT19GTFVTSDsKKyAgICBzLT5sYXN0X2ZsdXNoID0gLTI7CiAKICAgICBfdHJfaW5pdChzKTsKIApAQCAtNDI0LDcgKzUzOCw3IEBACiB9CiAKIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KLWludCBaRVhQT1JUIGRlZmxhdGVSZXNldCAoc3RybSkKK2ludCBaRVhQT1JUIGRlZmxhdGVSZXNldChzdHJtKQogICAgIHpfc3RyZWFtcCBzdHJtOwogewogICAgIGludCByZXQ7CkBAIC00MzYsMjMgKzU1MCwyMyBAQAogfQogCiAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCi1pbnQgWkVYUE9SVCBkZWZsYXRlU2V0SGVhZGVyIChzdHJtLCBoZWFkKQoraW50IFpFWFBPUlQgZGVmbGF0ZVNldEhlYWRlcihzdHJtLCBoZWFkKQogICAgIHpfc3RyZWFtcCBzdHJtOwogICAgIGd6X2hlYWRlcnAgaGVhZDsKIHsKLSAgICBpZiAoc3RybSA9PSBaX05VTEwgfHwgc3RybS0+c3RhdGUgPT0gWl9OVUxMKSByZXR1cm4gWl9TVFJFQU1fRVJST1I7Ci0gICAgaWYgKHN0cm0tPnN0YXRlLT53cmFwICE9IDIpIHJldHVybiBaX1NUUkVBTV9FUlJPUjsKKyAgICBpZiAoZGVmbGF0ZVN0YXRlQ2hlY2soc3RybSkgfHwgc3RybS0+c3RhdGUtPndyYXAgIT0gMikKKyAgICAgICAgcmV0dXJuIFpfU1RSRUFNX0VSUk9SOwogICAgIHN0cm0tPnN0YXRlLT5nemhlYWQgPSBoZWFkOwogICAgIHJldHVybiBaX09LOwogfQogCiAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCi1pbnQgWkVYUE9SVCBkZWZsYXRlUGVuZGluZyAoc3RybSwgcGVuZGluZywgYml0cykKK2ludCBaRVhQT1JUIGRlZmxhdGVQZW5kaW5nKHN0cm0sIHBlbmRpbmcsIGJpdHMpCiAgICAgdW5zaWduZWQgKnBlbmRpbmc7CiAgICAgaW50ICpiaXRzOwogICAgIHpfc3RyZWFtcCBzdHJtOwogewotICAgIGlmIChzdHJtID09IFpfTlVMTCB8fCBzdHJtLT5zdGF0ZSA9PSBaX05VTEwpIHJldHVybiBaX1NUUkVBTV9FUlJPUjsKKyAgICBpZiAoZGVmbGF0ZVN0YXRlQ2hlY2soc3RybSkpIHJldHVybiBaX1NUUkVBTV9FUlJPUjsKICAgICBpZiAocGVuZGluZyAhPSBaX05VTEwpCiAgICAgICAgICpwZW5kaW5nID0gc3RybS0+c3RhdGUtPnBlbmRpbmc7CiAgICAgaWYgKGJpdHMgIT0gWl9OVUxMKQpAQCAtNDYxLDcgKzU3NSw3IEBACiB9CiAKIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KLWludCBaRVhQT1JUIGRlZmxhdGVQcmltZSAoc3RybSwgYml0cywgdmFsdWUpCitpbnQgWkVYUE9SVCBkZWZsYXRlUHJpbWUoc3RybSwgYml0cywgdmFsdWUpCiAgICAgel9zdHJlYW1wIHN0cm07CiAgICAgaW50IGJpdHM7CiAgICAgaW50IHZhbHVlOwpAQCAtNDY5LDkgKzU4MywxMCBAQAogICAgIGRlZmxhdGVfc3RhdGUgKnM7CiAgICAgaW50IHB1dDsKIAotICAgIGlmIChzdHJtID09IFpfTlVMTCB8fCBzdHJtLT5zdGF0ZSA9PSBaX05VTEwpIHJldHVybiBaX1NUUkVBTV9FUlJPUjsKKyAgICBpZiAoZGVmbGF0ZVN0YXRlQ2hlY2soc3RybSkpIHJldHVybiBaX1NUUkVBTV9FUlJPUjsKICAgICBzID0gc3RybS0+c3RhdGU7Ci0gICAgaWYgKChCeXRlZiAqKShzLT5kX2J1ZikgPCBzLT5wZW5kaW5nX291dCArICgoQnVmX3NpemUgKyA3KSA+PiAzKSkKKyAgICBpZiAoYml0cyA8IDAgfHwgYml0cyA+IDE2IHx8CisgICAgICAgIHMtPnN5bV9idWYgPCBzLT5wZW5kaW5nX291dCArICgoQnVmX3NpemUgKyA3KSA+PiAzKSkKICAgICAgICAgcmV0dXJuIFpfQlVGX0VSUk9SOwogICAgIGRvIHsKICAgICAgICAgcHV0ID0gQnVmX3NpemUgLSBzLT5iaV92YWxpZDsKQEAgLTQ5NCw5ICs2MDksOCBAQAogewogICAgIGRlZmxhdGVfc3RhdGUgKnM7CiAgICAgY29tcHJlc3NfZnVuYyBmdW5jOwotICAgIGludCBlcnIgPSBaX09LOwogCi0gICAgaWYgKHN0cm0gPT0gWl9OVUxMIHx8IHN0cm0tPnN0YXRlID09IFpfTlVMTCkgcmV0dXJuIFpfU1RSRUFNX0VSUk9SOworICAgIGlmIChkZWZsYXRlU3RhdGVDaGVjayhzdHJtKSkgcmV0dXJuIFpfU1RSRUFNX0VSUk9SOwogICAgIHMgPSBzdHJtLT5zdGF0ZTsKIAogI2lmZGVmIEZBU1RFU1QKQEAgLTUxMCwxMyArNjI0LDIyIEBACiAgICAgZnVuYyA9IGNvbmZpZ3VyYXRpb25fdGFibGVbcy0+bGV2ZWxdLmZ1bmM7CiAKICAgICBpZiAoKHN0cmF0ZWd5ICE9IHMtPnN0cmF0ZWd5IHx8IGZ1bmMgIT0gY29uZmlndXJhdGlvbl90YWJsZVtsZXZlbF0uZnVuYykgJiYKLSAgICAgICAgc3RybS0+dG90YWxfaW4gIT0gMCkgeworICAgICAgICBzLT5sYXN0X2ZsdXNoICE9IC0yKSB7CiAgICAgICAgIC8qIEZsdXNoIHRoZSBsYXN0IGJ1ZmZlcjogKi8KLSAgICAgICAgZXJyID0gZGVmbGF0ZShzdHJtLCBaX0JMT0NLKTsKLSAgICAgICAgaWYgKGVyciA9PSBaX0JVRl9FUlJPUiAmJiBzLT5wZW5kaW5nID09IDApCi0gICAgICAgICAgICBlcnIgPSBaX09LOworICAgICAgICBpbnQgZXJyID0gZGVmbGF0ZShzdHJtLCBaX0JMT0NLKTsKKyAgICAgICAgaWYgKGVyciA9PSBaX1NUUkVBTV9FUlJPUikKKyAgICAgICAgICAgIHJldHVybiBlcnI7CisgICAgICAgIGlmIChzdHJtLT5hdmFpbF9pbiB8fCAocy0+c3Ryc3RhcnQgLSBzLT5ibG9ja19zdGFydCkgKyBzLT5sb29rYWhlYWQpCisgICAgICAgICAgICByZXR1cm4gWl9CVUZfRVJST1I7CiAgICAgfQogICAgIGlmIChzLT5sZXZlbCAhPSBsZXZlbCkgeworICAgICAgICBpZiAocy0+bGV2ZWwgPT0gMCAmJiBzLT5tYXRjaGVzICE9IDApIHsKKyAgICAgICAgICAgIGlmIChzLT5tYXRjaGVzID09IDEpCisgICAgICAgICAgICAgICAgc2xpZGVfaGFzaChzKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBDTEVBUl9IQVNIKHMpOworICAgICAgICAgICAgcy0+bWF0Y2hlcyA9IDA7CisgICAgICAgIH0KICAgICAgICAgcy0+bGV2ZWwgPSBsZXZlbDsKICAgICAgICAgcy0+bWF4X2xhenlfbWF0Y2ggICA9IGNvbmZpZ3VyYXRpb25fdGFibGVbbGV2ZWxdLm1heF9sYXp5OwogICAgICAgICBzLT5nb29kX21hdGNoICAgICAgID0gY29uZmlndXJhdGlvbl90YWJsZVtsZXZlbF0uZ29vZF9sZW5ndGg7CkBAIC01MjQsNyArNjQ3LDcgQEAKICAgICAgICAgcy0+bWF4X2NoYWluX2xlbmd0aCA9IGNvbmZpZ3VyYXRpb25fdGFibGVbbGV2ZWxdLm1heF9jaGFpbjsKICAgICB9CiAgICAgcy0+c3RyYXRlZ3kgPSBzdHJhdGVneTsKLSAgICByZXR1cm4gZXJyOworICAgIHJldHVybiBaX09LOwogfQogCiAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCkBAIC01MzcsNDcgKzY2MCw2MCBAQAogewogICAgIGRlZmxhdGVfc3RhdGUgKnM7CiAKLSAgICBpZiAoc3RybSA9PSBaX05VTEwgfHwgc3RybS0+c3RhdGUgPT0gWl9OVUxMKSByZXR1cm4gWl9TVFJFQU1fRVJST1I7CisgICAgaWYgKGRlZmxhdGVTdGF0ZUNoZWNrKHN0cm0pKSByZXR1cm4gWl9TVFJFQU1fRVJST1I7CiAgICAgcyA9IHN0cm0tPnN0YXRlOwotICAgIHMtPmdvb2RfbWF0Y2ggPSBnb29kX2xlbmd0aDsKLSAgICBzLT5tYXhfbGF6eV9tYXRjaCA9IG1heF9sYXp5OworICAgIHMtPmdvb2RfbWF0Y2ggPSAodUludClnb29kX2xlbmd0aDsKKyAgICBzLT5tYXhfbGF6eV9tYXRjaCA9ICh1SW50KW1heF9sYXp5OwogICAgIHMtPm5pY2VfbWF0Y2ggPSBuaWNlX2xlbmd0aDsKLSAgICBzLT5tYXhfY2hhaW5fbGVuZ3RoID0gbWF4X2NoYWluOworICAgIHMtPm1heF9jaGFpbl9sZW5ndGggPSAodUludCltYXhfY2hhaW47CiAgICAgcmV0dXJuIFpfT0s7CiB9CiAKIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLSAqIEZvciB0aGUgZGVmYXVsdCB3aW5kb3dCaXRzIG9mIDE1IGFuZCBtZW1MZXZlbCBvZiA4LCB0aGlzIGZ1bmN0aW9uIHJldHVybnMKLSAqIGEgY2xvc2UgdG8gZXhhY3QsIGFzIHdlbGwgYXMgc21hbGwsIHVwcGVyIGJvdW5kIG9uIHRoZSBjb21wcmVzc2VkIHNpemUuCi0gKiBUaGV5IGFyZSBjb2RlZCBhcyBjb25zdGFudHMgaGVyZSBmb3IgYSByZWFzb24tLWlmIHRoZSAjZGVmaW5lJ3MgYXJlCi0gKiBjaGFuZ2VkLCB0aGVuIHRoaXMgZnVuY3Rpb24gbmVlZHMgdG8gYmUgY2hhbmdlZCBhcyB3ZWxsLiAgVGhlIHJldHVybgotICogdmFsdWUgZm9yIDE1IGFuZCA4IG9ubHkgd29ya3MgZm9yIHRob3NlIGV4YWN0IHNldHRpbmdzLgorICogRm9yIHRoZSBkZWZhdWx0IHdpbmRvd0JpdHMgb2YgMTUgYW5kIG1lbUxldmVsIG9mIDgsIHRoaXMgZnVuY3Rpb24gcmV0dXJucyBhCisgKiBjbG9zZSB0byBleGFjdCwgYXMgd2VsbCBhcyBzbWFsbCwgdXBwZXIgYm91bmQgb24gdGhlIGNvbXByZXNzZWQgc2l6ZS4gVGhpcworICogaXMgYW4gZXhwYW5zaW9uIG9mIH4wLjAzJSwgcGx1cyBhIHNtYWxsIGNvbnN0YW50LgogICoKLSAqIEZvciBhbnkgc2V0dGluZyBvdGhlciB0aGFuIHRob3NlIGRlZmF1bHRzIGZvciB3aW5kb3dCaXRzIGFuZCBtZW1MZXZlbCwKLSAqIHRoZSB2YWx1ZSByZXR1cm5lZCBpcyBhIGNvbnNlcnZhdGl2ZSB3b3JzdCBjYXNlIGZvciB0aGUgbWF4aW11bSBleHBhbnNpb24KLSAqIHJlc3VsdGluZyBmcm9tIHVzaW5nIGZpeGVkIGJsb2NrcyBpbnN0ZWFkIG9mIHN0b3JlZCBibG9ja3MsIHdoaWNoIGRlZmxhdGUKLSAqIGNhbiBlbWl0IG9uIGNvbXByZXNzZWQgZGF0YSBmb3Igc29tZSBjb21iaW5hdGlvbnMgb2YgdGhlIHBhcmFtZXRlcnMuCisgKiBGb3IgYW55IHNldHRpbmcgb3RoZXIgdGhhbiB0aG9zZSBkZWZhdWx0cyBmb3Igd2luZG93Qml0cyBhbmQgbWVtTGV2ZWwsIG9uZQorICogb2YgdHdvIHdvcnN0IGNhc2UgYm91bmRzIGlzIHJldHVybmVkLiBUaGlzIGlzIGF0IG1vc3QgYW4gZXhwYW5zaW9uIG9mIH40JSBvcgorICogfjEzJSwgcGx1cyBhIHNtYWxsIGNvbnN0YW50LgogICoKLSAqIFRoaXMgZnVuY3Rpb24gY291bGQgYmUgbW9yZSBzb3BoaXN0aWNhdGVkIHRvIHByb3ZpZGUgY2xvc2VyIHVwcGVyIGJvdW5kcyBmb3IKLSAqIGV2ZXJ5IGNvbWJpbmF0aW9uIG9mIHdpbmRvd0JpdHMgYW5kIG1lbUxldmVsLiAgQnV0IGV2ZW4gdGhlIGNvbnNlcnZhdGl2ZQotICogdXBwZXIgYm91bmQgb2YgYWJvdXQgMTQlIGV4cGFuc2lvbiBkb2VzIG5vdCBzZWVtIG9uZXJvdXMgZm9yIG91dHB1dCBidWZmZXIKLSAqIGFsbG9jYXRpb24uCisgKiBCb3RoIHRoZSAwLjAzJSBhbmQgNCUgZGVyaXZlIGZyb20gdGhlIG92ZXJoZWFkIG9mIHN0b3JlZCBibG9ja3MuIFRoZSBmaXJzdAorICogb25lIGlzIGZvciBzdG9yZWQgYmxvY2tzIG9mIDE2MzgzIGJ5dGVzIChtZW1MZXZlbCA9PSA4KSwgd2hlcmVhcyB0aGUgc2Vjb25kCisgKiBpcyBmb3Igc3RvcmVkIGJsb2NrcyBvZiAxMjcgYnl0ZXMgKHRoZSB3b3JzdCBjYXNlIG1lbUxldmVsID09IDEpLiBUaGUKKyAqIGV4cGFuc2lvbiByZXN1bHRzIGZyb20gZml2ZSBieXRlcyBvZiBoZWFkZXIgZm9yIGVhY2ggc3RvcmVkIGJsb2NrLgorICoKKyAqIFRoZSBsYXJnZXIgZXhwYW5zaW9uIG9mIDEzJSByZXN1bHRzIGZyb20gYSB3aW5kb3cgc2l6ZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8KKyAqIHRoZSBzeW1ib2xzIGJ1ZmZlciBzaXplICh3aW5kb3dCaXRzIDw9IG1lbUxldmVsICsgNykuIEluIHRoYXQgY2FzZSBzb21lIG9mCisgKiB0aGUgZGF0YSBiZWluZyBjb21wcmVzc2VkIG1heSBoYXZlIHNsaWQgb3V0IG9mIHRoZSBzbGlkaW5nIHdpbmRvdywgaW1wZWRpbmcKKyAqIGEgc3RvcmVkIGJsb2NrIGZyb20gYmVpbmcgZW1pdHRlZC4gVGhlbiB0aGUgb25seSBjaG9pY2UgaXMgYSBmaXhlZCBvcgorICogZHluYW1pYyBibG9jaywgd2hlcmUgYSBmaXhlZCBibG9jayBsaW1pdHMgdGhlIG1heGltdW0gZXhwYW5zaW9uIHRvIDkgYml0cworICogcGVyIDgtYml0IGJ5dGUsIHBsdXMgMTAgYml0cyBmb3IgZXZlcnkgYmxvY2suIFRoZSBzbWFsbGVzdCBibG9jayBzaXplIGZvcgorICogd2hpY2ggdGhpcyBjYW4gb2NjdXIgaXMgMjU1IChtZW1MZXZlbCA9PSAyKS4KKyAqCisgKiBTaGlmdHMgYXJlIHVzZWQgdG8gYXBwcm94aW1hdGUgZGl2aXNpb25zLCBmb3Igc3BlZWQuCiAgKi8KIHVMb25nIFpFWFBPUlQgZGVmbGF0ZUJvdW5kKHN0cm0sIHNvdXJjZUxlbikKICAgICB6X3N0cmVhbXAgc3RybTsKICAgICB1TG9uZyBzb3VyY2VMZW47CiB7CiAgICAgZGVmbGF0ZV9zdGF0ZSAqczsKLSAgICB1TG9uZyBjb21wbGVuLCB3cmFwbGVuOwotICAgIEJ5dGVmICpzdHI7CisgICAgdUxvbmcgZml4ZWRsZW4sIHN0b3JlbGVuLCB3cmFwbGVuOwogCi0gICAgLyogY29uc2VydmF0aXZlIHVwcGVyIGJvdW5kIGZvciBjb21wcmVzc2VkIGRhdGEgKi8KLSAgICBjb21wbGVuID0gc291cmNlTGVuICsKLSAgICAgICAgICAgICAgKChzb3VyY2VMZW4gKyA3KSA+PiAzKSArICgoc291cmNlTGVuICsgNjMpID4+IDYpICsgNTsKKyAgICAvKiB1cHBlciBib3VuZCBmb3IgZml4ZWQgYmxvY2tzIHdpdGggOS1iaXQgbGl0ZXJhbHMgYW5kIGxlbmd0aCAyNTUKKyAgICAgICAobWVtTGV2ZWwgPT0gMiwgd2hpY2ggaXMgdGhlIGxvd2VzdCB0aGF0IG1heSBub3QgdXNlIHN0b3JlZCBibG9ja3MpIC0tCisgICAgICAgfjEzJSBvdmVyaGVhZCBwbHVzIGEgc21hbGwgY29uc3RhbnQgKi8KKyAgICBmaXhlZGxlbiA9IHNvdXJjZUxlbiArIChzb3VyY2VMZW4gPj4gMykgKyAoc291cmNlTGVuID4+IDgpICsKKyAgICAgICAgICAgICAgIChzb3VyY2VMZW4gPj4gOSkgKyA0OwogCi0gICAgLyogaWYgY2FuJ3QgZ2V0IHBhcmFtZXRlcnMsIHJldHVybiBjb25zZXJ2YXRpdmUgYm91bmQgcGx1cyB6bGliIHdyYXBwZXIgKi8KLSAgICBpZiAoc3RybSA9PSBaX05VTEwgfHwgc3RybS0+c3RhdGUgPT0gWl9OVUxMKQotICAgICAgICByZXR1cm4gY29tcGxlbiArIDY7CisgICAgLyogdXBwZXIgYm91bmQgZm9yIHN0b3JlZCBibG9ja3Mgd2l0aCBsZW5ndGggMTI3IChtZW1MZXZlbCA9PSAxKSAtLQorICAgICAgIH40JSBvdmVyaGVhZCBwbHVzIGEgc21hbGwgY29uc3RhbnQgKi8KKyAgICBzdG9yZWxlbiA9IHNvdXJjZUxlbiArIChzb3VyY2VMZW4gPj4gNSkgKyAoc291cmNlTGVuID4+IDcpICsKKyAgICAgICAgICAgICAgIChzb3VyY2VMZW4gPj4gMTEpICsgNzsKKworICAgIC8qIGlmIGNhbid0IGdldCBwYXJhbWV0ZXJzLCByZXR1cm4gbGFyZ2VyIGJvdW5kIHBsdXMgYSB6bGliIHdyYXBwZXIgKi8KKyAgICBpZiAoZGVmbGF0ZVN0YXRlQ2hlY2soc3RybSkpCisgICAgICAgIHJldHVybiAoZml4ZWRsZW4gPiBzdG9yZWxlbiA/IGZpeGVkbGVuIDogc3RvcmVsZW4pICsgNjsKIAogICAgIC8qIGNvbXB1dGUgd3JhcHBlciBsZW5ndGggKi8KICAgICBzID0gc3RybS0+c3RhdGU7CkBAIC01ODgsOSArNzI0LDExIEBACiAgICAgY2FzZSAxOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHpsaWIgd3JhcHBlciAqLwogICAgICAgICB3cmFwbGVuID0gNiArIChzLT5zdHJzdGFydCA/IDQgOiAwKTsKICAgICAgICAgYnJlYWs7CisjaWZkZWYgR1pJUAogICAgIGNhc2UgMjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBnemlwIHdyYXBwZXIgKi8KICAgICAgICAgd3JhcGxlbiA9IDE4OwogICAgICAgICBpZiAocy0+Z3poZWFkICE9IFpfTlVMTCkgeyAgICAgICAgICAvKiB1c2VyLXN1cHBsaWVkIGd6aXAgaGVhZGVyICovCisgICAgICAgICAgICBCeXRlZiAqc3RyOwogICAgICAgICAgICAgaWYgKHMtPmd6aGVhZC0+ZXh0cmEgIT0gWl9OVUxMKQogICAgICAgICAgICAgICAgIHdyYXBsZW4gKz0gMiArIHMtPmd6aGVhZC0+ZXh0cmFfbGVuOwogICAgICAgICAgICAgc3RyID0gcy0+Z3poZWFkLT5uYW1lOwpAQCAtNjA3LDE1ICs3NDUsMTcgQEAKICAgICAgICAgICAgICAgICB3cmFwbGVuICs9IDI7CiAgICAgICAgIH0KICAgICAgICAgYnJlYWs7CisjZW5kaWYKICAgICBkZWZhdWx0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogZm9yIGNvbXBpbGVyIGhhcHBpbmVzcyAqLwogICAgICAgICB3cmFwbGVuID0gNjsKICAgICB9CiAKLSAgICAvKiBpZiBub3QgZGVmYXVsdCBwYXJhbWV0ZXJzLCByZXR1cm4gY29uc2VydmF0aXZlIGJvdW5kICovCisgICAgLyogaWYgbm90IGRlZmF1bHQgcGFyYW1ldGVycywgcmV0dXJuIG9uZSBvZiB0aGUgY29uc2VydmF0aXZlIGJvdW5kcyAqLwogICAgIGlmIChzLT53X2JpdHMgIT0gMTUgfHwgcy0+aGFzaF9iaXRzICE9IDggKyA3KQotICAgICAgICByZXR1cm4gY29tcGxlbiArIHdyYXBsZW47CisgICAgICAgIHJldHVybiAocy0+d19iaXRzIDw9IHMtPmhhc2hfYml0cyA/IGZpeGVkbGVuIDogc3RvcmVsZW4pICsgd3JhcGxlbjsKIAotICAgIC8qIGRlZmF1bHQgc2V0dGluZ3M6IHJldHVybiB0aWdodCBib3VuZCBmb3IgdGhhdCBjYXNlICovCisgICAgLyogZGVmYXVsdCBzZXR0aW5nczogcmV0dXJuIHRpZ2h0IGJvdW5kIGZvciB0aGF0IGNhc2UgLS0gfjAuMDMlIG92ZXJoZWFkCisgICAgICAgcGx1cyBhIHNtYWxsIGNvbnN0YW50ICovCiAgICAgcmV0dXJuIHNvdXJjZUxlbiArIChzb3VyY2VMZW4gPj4gMTIpICsgKHNvdXJjZUxlbiA+PiAxNCkgKwogICAgICAgICAgICAoc291cmNlTGVuID4+IDI1KSArIDEzIC0gNiArIHdyYXBsZW47CiB9CkBAIC02MjUsNyArNzY1LDcgQEAKICAqIElOIGFzc2VydGlvbjogdGhlIHN0cmVhbSBzdGF0ZSBpcyBjb3JyZWN0IGFuZCB0aGVyZSBpcyBlbm91Z2ggcm9vbSBpbgogICogcGVuZGluZ19idWYuCiAgKi8KLWxvY2FsIHZvaWQgcHV0U2hvcnRNU0IgKHMsIGIpCitsb2NhbCB2b2lkIHB1dFNob3J0TVNCKHMsIGIpCiAgICAgZGVmbGF0ZV9zdGF0ZSAqczsKICAgICB1SW50IGI7CiB7CkBAIC02MzQsMTAgKzc3NCwxMCBAQAogfQogCiAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0gKiBGbHVzaCBhcyBtdWNoIHBlbmRpbmcgb3V0cHV0IGFzIHBvc3NpYmxlLiBBbGwgZGVmbGF0ZSgpIG91dHB1dCBnb2VzCi0gKiB0aHJvdWdoIHRoaXMgZnVuY3Rpb24gc28gc29tZSBhcHBsaWNhdGlvbnMgbWF5IHdpc2ggdG8gbW9kaWZ5IGl0Ci0gKiB0byBhdm9pZCBhbGxvY2F0aW5nIGEgbGFyZ2Ugc3RybS0+bmV4dF9vdXQgYnVmZmVyIGFuZCBjb3B5aW5nIGludG8gaXQuCi0gKiAoU2VlIGFsc28gcmVhZF9idWYoKSkuCisgKiBGbHVzaCBhcyBtdWNoIHBlbmRpbmcgb3V0cHV0IGFzIHBvc3NpYmxlLiBBbGwgZGVmbGF0ZSgpIG91dHB1dCwgZXhjZXB0IGZvcgorICogc29tZSBkZWZsYXRlX3N0b3JlZCgpIG91dHB1dCwgZ29lcyB0aHJvdWdoIHRoaXMgZnVuY3Rpb24gc28gc29tZQorICogYXBwbGljYXRpb25zIG1heSB3aXNoIHRvIG1vZGlmeSBpdCB0byBhdm9pZCBhbGxvY2F0aW5nIGEgbGFyZ2UKKyAqIHN0cm0tPm5leHRfb3V0IGJ1ZmZlciBhbmQgY29weWluZyBpbnRvIGl0LiAoU2VlIGFsc28gcmVhZF9idWYoKSkuCiAgKi8KIGxvY2FsIHZvaWQgZmx1c2hfcGVuZGluZyhzdHJtKQogICAgIHpfc3RyZWFtcCBzdHJtOwpAQCAtNjU0LDIxOCArNzk0LDQ2IEBACiAgICAgc3RybS0+bmV4dF9vdXQgICs9IGxlbjsKICAgICBzLT5wZW5kaW5nX291dCAgKz0gbGVuOwogICAgIHN0cm0tPnRvdGFsX291dCArPSBsZW47Ci0gICAgc3RybS0+YXZhaWxfb3V0ICAtPSBsZW47Ci0gICAgcy0+cGVuZGluZyAtPSBsZW47CisgICAgc3RybS0+YXZhaWxfb3V0IC09IGxlbjsKKyAgICBzLT5wZW5kaW5nICAgICAgLT0gbGVuOwogICAgIGlmIChzLT5wZW5kaW5nID09IDApIHsKICAgICAgICAgcy0+cGVuZGluZ19vdXQgPSBzLT5wZW5kaW5nX2J1ZjsKICAgICB9CiB9CiAKKy8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorICogVXBkYXRlIHRoZSBoZWFkZXIgQ1JDIHdpdGggdGhlIGJ5dGVzIHMtPnBlbmRpbmdfYnVmW2JlZy4ucy0+cGVuZGluZyAtIDFdLgorICovCisjZGVmaW5lIEhDUkNfVVBEQVRFKGJlZykgXAorICAgIGRvIHsgXAorICAgICAgICBpZiAocy0+Z3poZWFkLT5oY3JjICYmIHMtPnBlbmRpbmcgPiAoYmVnKSkgXAorICAgICAgICAgICAgc3RybS0+YWRsZXIgPSBjcmMzMihzdHJtLT5hZGxlciwgcy0+cGVuZGluZ19idWYgKyAoYmVnKSwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzLT5wZW5kaW5nIC0gKGJlZykpOyBcCisgICAgfSB3aGlsZSAoMCkKKwogLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwotaW50IFpFWFBPUlQgZGVmbGF0ZSAoc3RybSwgZmx1c2gpCitpbnQgWkVYUE9SVCBkZWZsYXRlKHN0cm0sIGZsdXNoKQogICAgIHpfc3RyZWFtcCBzdHJtOwogICAgIGludCBmbHVzaDsKIHsKICAgICBpbnQgb2xkX2ZsdXNoOyAvKiB2YWx1ZSBvZiBmbHVzaCBwYXJhbSBmb3IgcHJldmlvdXMgZGVmbGF0ZSBjYWxsICovCiAgICAgZGVmbGF0ZV9zdGF0ZSAqczsKIAotICAgIGlmIChzdHJtID09IFpfTlVMTCB8fCBzdHJtLT5zdGF0ZSA9PSBaX05VTEwgfHwKLSAgICAgICAgZmx1c2ggPiBaX0JMT0NLIHx8IGZsdXNoIDwgMCkgeworICAgIGlmIChkZWZsYXRlU3RhdGVDaGVjayhzdHJtKSB8fCBmbHVzaCA+IFpfQkxPQ0sgfHwgZmx1c2ggPCAwKSB7CiAgICAgICAgIHJldHVybiBaX1NUUkVBTV9FUlJPUjsKICAgICB9CiAgICAgcyA9IHN0cm0tPnN0YXRlOwogCiAgICAgaWYgKHN0cm0tPm5leHRfb3V0ID09IFpfTlVMTCB8fAotICAgICAgICAoc3RybS0+bmV4dF9pbiA9PSBaX05VTEwgJiYgc3RybS0+YXZhaWxfaW4gIT0gMCkgfHwKKyAgICAgICAgKHN0cm0tPmF2YWlsX2luICE9IDAgJiYgc3RybS0+bmV4dF9pbiA9PSBaX05VTEwpIHx8CiAgICAgICAgIChzLT5zdGF0dXMgPT0gRklOSVNIX1NUQVRFICYmIGZsdXNoICE9IFpfRklOSVNIKSkgewogICAgICAgICBFUlJfUkVUVVJOKHN0cm0sIFpfU1RSRUFNX0VSUk9SKTsKICAgICB9CiAgICAgaWYgKHN0cm0tPmF2YWlsX291dCA9PSAwKSBFUlJfUkVUVVJOKHN0cm0sIFpfQlVGX0VSUk9SKTsKIAotICAgIHMtPnN0cm0gPSBzdHJtOyAvKiBqdXN0IGluIGNhc2UgKi8KICAgICBvbGRfZmx1c2ggPSBzLT5sYXN0X2ZsdXNoOwogICAgIHMtPmxhc3RfZmx1c2ggPSBmbHVzaDsKIAotICAgIC8qIFdyaXRlIHRoZSBoZWFkZXIgKi8KLSAgICBpZiAocy0+c3RhdHVzID09IElOSVRfU1RBVEUpIHsKLSNpZmRlZiBHWklQCi0gICAgICAgIGlmIChzLT53cmFwID09IDIpIHsKLSAgICAgICAgICAgIHN0cm0tPmFkbGVyID0gY3JjMzIoMEwsIFpfTlVMTCwgMCk7Ci0gICAgICAgICAgICBwdXRfYnl0ZShzLCAzMSk7Ci0gICAgICAgICAgICBwdXRfYnl0ZShzLCAxMzkpOwotICAgICAgICAgICAgcHV0X2J5dGUocywgOCk7Ci0gICAgICAgICAgICBpZiAocy0+Z3poZWFkID09IFpfTlVMTCkgewotICAgICAgICAgICAgICAgIHB1dF9ieXRlKHMsIDApOwotICAgICAgICAgICAgICAgIHB1dF9ieXRlKHMsIDApOwotICAgICAgICAgICAgICAgIHB1dF9ieXRlKHMsIDApOwotICAgICAgICAgICAgICAgIHB1dF9ieXRlKHMsIDApOwotICAgICAgICAgICAgICAgIHB1dF9ieXRlKHMsIDApOwotICAgICAgICAgICAgICAgIHB1dF9ieXRlKHMsIHMtPmxldmVsID09IDkgPyAyIDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAocy0+c3RyYXRlZ3kgPj0gWl9IVUZGTUFOX09OTFkgfHwgcy0+bGV2ZWwgPCAyID8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNCA6IDApKTsKLSAgICAgICAgICAgICAgICBwdXRfYnl0ZShzLCBPU19DT0RFKTsKLSAgICAgICAgICAgICAgICBzLT5zdGF0dXMgPSBCVVNZX1NUQVRFOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICAgICAgcHV0X2J5dGUocywgKHMtPmd6aGVhZC0+dGV4dCA/IDEgOiAwKSArCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgKHMtPmd6aGVhZC0+aGNyYyA/IDIgOiAwKSArCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgKHMtPmd6aGVhZC0+ZXh0cmEgPT0gWl9OVUxMID8gMCA6IDQpICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAocy0+Z3poZWFkLT5uYW1lID09IFpfTlVMTCA/IDAgOiA4KSArCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgKHMtPmd6aGVhZC0+Y29tbWVudCA9PSBaX05VTEwgPyAwIDogMTYpCi0gICAgICAgICAgICAgICAgICAgICAgICApOwotICAgICAgICAgICAgICAgIHB1dF9ieXRlKHMsIChCeXRlKShzLT5nemhlYWQtPnRpbWUgJiAweGZmKSk7Ci0gICAgICAgICAgICAgICAgcHV0X2J5dGUocywgKEJ5dGUpKChzLT5nemhlYWQtPnRpbWUgPj4gOCkgJiAweGZmKSk7Ci0gICAgICAgICAgICAgICAgcHV0X2J5dGUocywgKEJ5dGUpKChzLT5nemhlYWQtPnRpbWUgPj4gMTYpICYgMHhmZikpOwotICAgICAgICAgICAgICAgIHB1dF9ieXRlKHMsIChCeXRlKSgocy0+Z3poZWFkLT50aW1lID4+IDI0KSAmIDB4ZmYpKTsKLSAgICAgICAgICAgICAgICBwdXRfYnl0ZShzLCBzLT5sZXZlbCA9PSA5ID8gMiA6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgKHMtPnN0cmF0ZWd5ID49IFpfSFVGRk1BTl9PTkxZIHx8IHMtPmxldmVsIDwgMiA/Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQgOiAwKSk7Ci0gICAgICAgICAgICAgICAgcHV0X2J5dGUocywgcy0+Z3poZWFkLT5vcyAmIDB4ZmYpOwotICAgICAgICAgICAgICAgIGlmIChzLT5nemhlYWQtPmV4dHJhICE9IFpfTlVMTCkgewotICAgICAgICAgICAgICAgICAgICBwdXRfYnl0ZShzLCBzLT5nemhlYWQtPmV4dHJhX2xlbiAmIDB4ZmYpOwotICAgICAgICAgICAgICAgICAgICBwdXRfYnl0ZShzLCAocy0+Z3poZWFkLT5leHRyYV9sZW4gPj4gOCkgJiAweGZmKTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgaWYgKHMtPmd6aGVhZC0+aGNyYykKLSAgICAgICAgICAgICAgICAgICAgc3RybS0+YWRsZXIgPSBjcmMzMihzdHJtLT5hZGxlciwgcy0+cGVuZGluZ19idWYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcy0+cGVuZGluZyk7Ci0gICAgICAgICAgICAgICAgcy0+Z3ppbmRleCA9IDA7Ci0gICAgICAgICAgICAgICAgcy0+c3RhdHVzID0gRVhUUkFfU1RBVEU7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICAgICAgZWxzZQotI2VuZGlmCi0gICAgICAgIHsKLSAgICAgICAgICAgIHVJbnQgaGVhZGVyID0gKFpfREVGTEFURUQgKyAoKHMtPndfYml0cy04KTw8NCkpIDw8IDg7Ci0gICAgICAgICAgICB1SW50IGxldmVsX2ZsYWdzOwotCi0gICAgICAgICAgICBpZiAocy0+c3RyYXRlZ3kgPj0gWl9IVUZGTUFOX09OTFkgfHwgcy0+bGV2ZWwgPCAyKQotICAgICAgICAgICAgICAgIGxldmVsX2ZsYWdzID0gMDsKLSAgICAgICAgICAgIGVsc2UgaWYgKHMtPmxldmVsIDwgNikKLSAgICAgICAgICAgICAgICBsZXZlbF9mbGFncyA9IDE7Ci0gICAgICAgICAgICBlbHNlIGlmIChzLT5sZXZlbCA9PSA2KQotICAgICAgICAgICAgICAgIGxldmVsX2ZsYWdzID0gMjsKLSAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICBsZXZlbF9mbGFncyA9IDM7Ci0gICAgICAgICAgICBoZWFkZXIgfD0gKGxldmVsX2ZsYWdzIDw8IDYpOwotICAgICAgICAgICAgaWYgKHMtPnN0cnN0YXJ0ICE9IDApIGhlYWRlciB8PSBQUkVTRVRfRElDVDsKLSAgICAgICAgICAgIGhlYWRlciArPSAzMSAtIChoZWFkZXIgJSAzMSk7Ci0KLSAgICAgICAgICAgIHMtPnN0YXR1cyA9IEJVU1lfU1RBVEU7Ci0gICAgICAgICAgICBwdXRTaG9ydE1TQihzLCBoZWFkZXIpOwotCi0gICAgICAgICAgICAvKiBTYXZlIHRoZSBhZGxlcjMyIG9mIHRoZSBwcmVzZXQgZGljdGlvbmFyeTogKi8KLSAgICAgICAgICAgIGlmIChzLT5zdHJzdGFydCAhPSAwKSB7Ci0gICAgICAgICAgICAgICAgcHV0U2hvcnRNU0IocywgKHVJbnQpKHN0cm0tPmFkbGVyID4+IDE2KSk7Ci0gICAgICAgICAgICAgICAgcHV0U2hvcnRNU0IocywgKHVJbnQpKHN0cm0tPmFkbGVyICYgMHhmZmZmKSk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBzdHJtLT5hZGxlciA9IGFkbGVyMzIoMEwsIFpfTlVMTCwgMCk7Ci0gICAgICAgIH0KLSAgICB9Ci0jaWZkZWYgR1pJUAotICAgIGlmIChzLT5zdGF0dXMgPT0gRVhUUkFfU1RBVEUpIHsKLSAgICAgICAgaWYgKHMtPmd6aGVhZC0+ZXh0cmEgIT0gWl9OVUxMKSB7Ci0gICAgICAgICAgICB1SW50IGJlZyA9IHMtPnBlbmRpbmc7ICAvKiBzdGFydCBvZiBieXRlcyB0byB1cGRhdGUgY3JjICovCi0KLSAgICAgICAgICAgIHdoaWxlIChzLT5nemluZGV4IDwgKHMtPmd6aGVhZC0+ZXh0cmFfbGVuICYgMHhmZmZmKSkgewotICAgICAgICAgICAgICAgIGlmIChzLT5wZW5kaW5nID09IHMtPnBlbmRpbmdfYnVmX3NpemUpIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKHMtPmd6aGVhZC0+aGNyYyAmJiBzLT5wZW5kaW5nID4gYmVnKQotICAgICAgICAgICAgICAgICAgICAgICAgc3RybS0+YWRsZXIgPSBjcmMzMihzdHJtLT5hZGxlciwgcy0+cGVuZGluZ19idWYgKyBiZWcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHMtPnBlbmRpbmcgLSBiZWcpOwotICAgICAgICAgICAgICAgICAgICBmbHVzaF9wZW5kaW5nKHN0cm0pOwotICAgICAgICAgICAgICAgICAgICBiZWcgPSBzLT5wZW5kaW5nOwotICAgICAgICAgICAgICAgICAgICBpZiAocy0+cGVuZGluZyA9PSBzLT5wZW5kaW5nX2J1Zl9zaXplKQotICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIHB1dF9ieXRlKHMsIHMtPmd6aGVhZC0+ZXh0cmFbcy0+Z3ppbmRleF0pOwotICAgICAgICAgICAgICAgIHMtPmd6aW5kZXgrKzsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGlmIChzLT5nemhlYWQtPmhjcmMgJiYgcy0+cGVuZGluZyA+IGJlZykKLSAgICAgICAgICAgICAgICBzdHJtLT5hZGxlciA9IGNyYzMyKHN0cm0tPmFkbGVyLCBzLT5wZW5kaW5nX2J1ZiArIGJlZywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHMtPnBlbmRpbmcgLSBiZWcpOwotICAgICAgICAgICAgaWYgKHMtPmd6aW5kZXggPT0gcy0+Z3poZWFkLT5leHRyYV9sZW4pIHsKLSAgICAgICAgICAgICAgICBzLT5nemluZGV4ID0gMDsKLSAgICAgICAgICAgICAgICBzLT5zdGF0dXMgPSBOQU1FX1NUQVRFOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIHMtPnN0YXR1cyA9IE5BTUVfU1RBVEU7Ci0gICAgfQotICAgIGlmIChzLT5zdGF0dXMgPT0gTkFNRV9TVEFURSkgewotICAgICAgICBpZiAocy0+Z3poZWFkLT5uYW1lICE9IFpfTlVMTCkgewotICAgICAgICAgICAgdUludCBiZWcgPSBzLT5wZW5kaW5nOyAgLyogc3RhcnQgb2YgYnl0ZXMgdG8gdXBkYXRlIGNyYyAqLwotICAgICAgICAgICAgaW50IHZhbDsKLQotICAgICAgICAgICAgZG8gewotICAgICAgICAgICAgICAgIGlmIChzLT5wZW5kaW5nID09IHMtPnBlbmRpbmdfYnVmX3NpemUpIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKHMtPmd6aGVhZC0+aGNyYyAmJiBzLT5wZW5kaW5nID4gYmVnKQotICAgICAgICAgICAgICAgICAgICAgICAgc3RybS0+YWRsZXIgPSBjcmMzMihzdHJtLT5hZGxlciwgcy0+cGVuZGluZ19idWYgKyBiZWcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHMtPnBlbmRpbmcgLSBiZWcpOwotICAgICAgICAgICAgICAgICAgICBmbHVzaF9wZW5kaW5nKHN0cm0pOwotICAgICAgICAgICAgICAgICAgICBiZWcgPSBzLT5wZW5kaW5nOwotICAgICAgICAgICAgICAgICAgICBpZiAocy0+cGVuZGluZyA9PSBzLT5wZW5kaW5nX2J1Zl9zaXplKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICB2YWwgPSAxOwotICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgdmFsID0gcy0+Z3poZWFkLT5uYW1lW3MtPmd6aW5kZXgrK107Ci0gICAgICAgICAgICAgICAgcHV0X2J5dGUocywgdmFsKTsKLSAgICAgICAgICAgIH0gd2hpbGUgKHZhbCAhPSAwKTsKLSAgICAgICAgICAgIGlmIChzLT5nemhlYWQtPmhjcmMgJiYgcy0+cGVuZGluZyA+IGJlZykKLSAgICAgICAgICAgICAgICBzdHJtLT5hZGxlciA9IGNyYzMyKHN0cm0tPmFkbGVyLCBzLT5wZW5kaW5nX2J1ZiArIGJlZywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHMtPnBlbmRpbmcgLSBiZWcpOwotICAgICAgICAgICAgaWYgKHZhbCA9PSAwKSB7Ci0gICAgICAgICAgICAgICAgcy0+Z3ppbmRleCA9IDA7Ci0gICAgICAgICAgICAgICAgcy0+c3RhdHVzID0gQ09NTUVOVF9TVEFURTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgICAgICBlbHNlCi0gICAgICAgICAgICBzLT5zdGF0dXMgPSBDT01NRU5UX1NUQVRFOwotICAgIH0KLSAgICBpZiAocy0+c3RhdHVzID09IENPTU1FTlRfU1RBVEUpIHsKLSAgICAgICAgaWYgKHMtPmd6aGVhZC0+Y29tbWVudCAhPSBaX05VTEwpIHsKLSAgICAgICAgICAgIHVJbnQgYmVnID0gcy0+cGVuZGluZzsgIC8qIHN0YXJ0IG9mIGJ5dGVzIHRvIHVwZGF0ZSBjcmMgKi8KLSAgICAgICAgICAgIGludCB2YWw7Ci0KLSAgICAgICAgICAgIGRvIHsKLSAgICAgICAgICAgICAgICBpZiAocy0+cGVuZGluZyA9PSBzLT5wZW5kaW5nX2J1Zl9zaXplKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChzLT5nemhlYWQtPmhjcmMgJiYgcy0+cGVuZGluZyA+IGJlZykKLSAgICAgICAgICAgICAgICAgICAgICAgIHN0cm0tPmFkbGVyID0gY3JjMzIoc3RybS0+YWRsZXIsIHMtPnBlbmRpbmdfYnVmICsgYmVnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzLT5wZW5kaW5nIC0gYmVnKTsKLSAgICAgICAgICAgICAgICAgICAgZmx1c2hfcGVuZGluZyhzdHJtKTsKLSAgICAgICAgICAgICAgICAgICAgYmVnID0gcy0+cGVuZGluZzsKLSAgICAgICAgICAgICAgICAgICAgaWYgKHMtPnBlbmRpbmcgPT0gcy0+cGVuZGluZ19idWZfc2l6ZSkgewotICAgICAgICAgICAgICAgICAgICAgICAgdmFsID0gMTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIHZhbCA9IHMtPmd6aGVhZC0+Y29tbWVudFtzLT5nemluZGV4KytdOwotICAgICAgICAgICAgICAgIHB1dF9ieXRlKHMsIHZhbCk7Ci0gICAgICAgICAgICB9IHdoaWxlICh2YWwgIT0gMCk7Ci0gICAgICAgICAgICBpZiAocy0+Z3poZWFkLT5oY3JjICYmIHMtPnBlbmRpbmcgPiBiZWcpCi0gICAgICAgICAgICAgICAgc3RybS0+YWRsZXIgPSBjcmMzMihzdHJtLT5hZGxlciwgcy0+cGVuZGluZ19idWYgKyBiZWcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzLT5wZW5kaW5nIC0gYmVnKTsKLSAgICAgICAgICAgIGlmICh2YWwgPT0gMCkKLSAgICAgICAgICAgICAgICBzLT5zdGF0dXMgPSBIQ1JDX1NUQVRFOwotICAgICAgICB9Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIHMtPnN0YXR1cyA9IEhDUkNfU1RBVEU7Ci0gICAgfQotICAgIGlmIChzLT5zdGF0dXMgPT0gSENSQ19TVEFURSkgewotICAgICAgICBpZiAocy0+Z3poZWFkLT5oY3JjKSB7Ci0gICAgICAgICAgICBpZiAocy0+cGVuZGluZyArIDIgPiBzLT5wZW5kaW5nX2J1Zl9zaXplKQotICAgICAgICAgICAgICAgIGZsdXNoX3BlbmRpbmcoc3RybSk7Ci0gICAgICAgICAgICBpZiAocy0+cGVuZGluZyArIDIgPD0gcy0+cGVuZGluZ19idWZfc2l6ZSkgewotICAgICAgICAgICAgICAgIHB1dF9ieXRlKHMsIChCeXRlKShzdHJtLT5hZGxlciAmIDB4ZmYpKTsKLSAgICAgICAgICAgICAgICBwdXRfYnl0ZShzLCAoQnl0ZSkoKHN0cm0tPmFkbGVyID4+IDgpICYgMHhmZikpOwotICAgICAgICAgICAgICAgIHN0cm0tPmFkbGVyID0gY3JjMzIoMEwsIFpfTlVMTCwgMCk7Ci0gICAgICAgICAgICAgICAgcy0+c3RhdHVzID0gQlVTWV9TVEFURTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgICAgICBlbHNlCi0gICAgICAgICAgICBzLT5zdGF0dXMgPSBCVVNZX1NUQVRFOwotICAgIH0KLSNlbmRpZgotCiAgICAgLyogRmx1c2ggYXMgbXVjaCBwZW5kaW5nIG91dHB1dCBhcyBwb3NzaWJsZSAqLwogICAgIGlmIChzLT5wZW5kaW5nICE9IDApIHsKICAgICAgICAgZmx1c2hfcGVuZGluZyhzdHJtKTsKQEAgLTg5NCwxNSArODYyLDE5OSBAQAogICAgICAgICBFUlJfUkVUVVJOKHN0cm0sIFpfQlVGX0VSUk9SKTsKICAgICB9CiAKKyAgICAvKiBXcml0ZSB0aGUgaGVhZGVyICovCisgICAgaWYgKHMtPnN0YXR1cyA9PSBJTklUX1NUQVRFICYmIHMtPndyYXAgPT0gMCkKKyAgICAgICAgcy0+c3RhdHVzID0gQlVTWV9TVEFURTsKKyAgICBpZiAocy0+c3RhdHVzID09IElOSVRfU1RBVEUpIHsKKyAgICAgICAgLyogemxpYiBoZWFkZXIgKi8KKyAgICAgICAgdUludCBoZWFkZXIgPSAoWl9ERUZMQVRFRCArICgocy0+d19iaXRzIC0gOCkgPDwgNCkpIDw8IDg7CisgICAgICAgIHVJbnQgbGV2ZWxfZmxhZ3M7CisKKyAgICAgICAgaWYgKHMtPnN0cmF0ZWd5ID49IFpfSFVGRk1BTl9PTkxZIHx8IHMtPmxldmVsIDwgMikKKyAgICAgICAgICAgIGxldmVsX2ZsYWdzID0gMDsKKyAgICAgICAgZWxzZSBpZiAocy0+bGV2ZWwgPCA2KQorICAgICAgICAgICAgbGV2ZWxfZmxhZ3MgPSAxOworICAgICAgICBlbHNlIGlmIChzLT5sZXZlbCA9PSA2KQorICAgICAgICAgICAgbGV2ZWxfZmxhZ3MgPSAyOworICAgICAgICBlbHNlCisgICAgICAgICAgICBsZXZlbF9mbGFncyA9IDM7CisgICAgICAgIGhlYWRlciB8PSAobGV2ZWxfZmxhZ3MgPDwgNik7CisgICAgICAgIGlmIChzLT5zdHJzdGFydCAhPSAwKSBoZWFkZXIgfD0gUFJFU0VUX0RJQ1Q7CisgICAgICAgIGhlYWRlciArPSAzMSAtIChoZWFkZXIgJSAzMSk7CisKKyAgICAgICAgcHV0U2hvcnRNU0IocywgaGVhZGVyKTsKKworICAgICAgICAvKiBTYXZlIHRoZSBhZGxlcjMyIG9mIHRoZSBwcmVzZXQgZGljdGlvbmFyeTogKi8KKyAgICAgICAgaWYgKHMtPnN0cnN0YXJ0ICE9IDApIHsKKyAgICAgICAgICAgIHB1dFNob3J0TVNCKHMsICh1SW50KShzdHJtLT5hZGxlciA+PiAxNikpOworICAgICAgICAgICAgcHV0U2hvcnRNU0IocywgKHVJbnQpKHN0cm0tPmFkbGVyICYgMHhmZmZmKSk7CisgICAgICAgIH0KKyAgICAgICAgc3RybS0+YWRsZXIgPSBhZGxlcjMyKDBMLCBaX05VTEwsIDApOworICAgICAgICBzLT5zdGF0dXMgPSBCVVNZX1NUQVRFOworCisgICAgICAgIC8qIENvbXByZXNzaW9uIG11c3Qgc3RhcnQgd2l0aCBhbiBlbXB0eSBwZW5kaW5nIGJ1ZmZlciAqLworICAgICAgICBmbHVzaF9wZW5kaW5nKHN0cm0pOworICAgICAgICBpZiAocy0+cGVuZGluZyAhPSAwKSB7CisgICAgICAgICAgICBzLT5sYXN0X2ZsdXNoID0gLTE7CisgICAgICAgICAgICByZXR1cm4gWl9PSzsKKyAgICAgICAgfQorICAgIH0KKyNpZmRlZiBHWklQCisgICAgaWYgKHMtPnN0YXR1cyA9PSBHWklQX1NUQVRFKSB7CisgICAgICAgIC8qIGd6aXAgaGVhZGVyICovCisgICAgICAgIHN0cm0tPmFkbGVyID0gY3JjMzIoMEwsIFpfTlVMTCwgMCk7CisgICAgICAgIHB1dF9ieXRlKHMsIDMxKTsKKyAgICAgICAgcHV0X2J5dGUocywgMTM5KTsKKyAgICAgICAgcHV0X2J5dGUocywgOCk7CisgICAgICAgIGlmIChzLT5nemhlYWQgPT0gWl9OVUxMKSB7CisgICAgICAgICAgICBwdXRfYnl0ZShzLCAwKTsKKyAgICAgICAgICAgIHB1dF9ieXRlKHMsIDApOworICAgICAgICAgICAgcHV0X2J5dGUocywgMCk7CisgICAgICAgICAgICBwdXRfYnl0ZShzLCAwKTsKKyAgICAgICAgICAgIHB1dF9ieXRlKHMsIDApOworICAgICAgICAgICAgcHV0X2J5dGUocywgcy0+bGV2ZWwgPT0gOSA/IDIgOgorICAgICAgICAgICAgICAgICAgICAgKHMtPnN0cmF0ZWd5ID49IFpfSFVGRk1BTl9PTkxZIHx8IHMtPmxldmVsIDwgMiA/CisgICAgICAgICAgICAgICAgICAgICAgNCA6IDApKTsKKyAgICAgICAgICAgIHB1dF9ieXRlKHMsIE9TX0NPREUpOworICAgICAgICAgICAgcy0+c3RhdHVzID0gQlVTWV9TVEFURTsKKworICAgICAgICAgICAgLyogQ29tcHJlc3Npb24gbXVzdCBzdGFydCB3aXRoIGFuIGVtcHR5IHBlbmRpbmcgYnVmZmVyICovCisgICAgICAgICAgICBmbHVzaF9wZW5kaW5nKHN0cm0pOworICAgICAgICAgICAgaWYgKHMtPnBlbmRpbmcgIT0gMCkgeworICAgICAgICAgICAgICAgIHMtPmxhc3RfZmx1c2ggPSAtMTsKKyAgICAgICAgICAgICAgICByZXR1cm4gWl9PSzsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIHB1dF9ieXRlKHMsIChzLT5nemhlYWQtPnRleHQgPyAxIDogMCkgKworICAgICAgICAgICAgICAgICAgICAgKHMtPmd6aGVhZC0+aGNyYyA/IDIgOiAwKSArCisgICAgICAgICAgICAgICAgICAgICAocy0+Z3poZWFkLT5leHRyYSA9PSBaX05VTEwgPyAwIDogNCkgKworICAgICAgICAgICAgICAgICAgICAgKHMtPmd6aGVhZC0+bmFtZSA9PSBaX05VTEwgPyAwIDogOCkgKworICAgICAgICAgICAgICAgICAgICAgKHMtPmd6aGVhZC0+Y29tbWVudCA9PSBaX05VTEwgPyAwIDogMTYpCisgICAgICAgICAgICAgICAgICAgICApOworICAgICAgICAgICAgcHV0X2J5dGUocywgKEJ5dGUpKHMtPmd6aGVhZC0+dGltZSAmIDB4ZmYpKTsKKyAgICAgICAgICAgIHB1dF9ieXRlKHMsIChCeXRlKSgocy0+Z3poZWFkLT50aW1lID4+IDgpICYgMHhmZikpOworICAgICAgICAgICAgcHV0X2J5dGUocywgKEJ5dGUpKChzLT5nemhlYWQtPnRpbWUgPj4gMTYpICYgMHhmZikpOworICAgICAgICAgICAgcHV0X2J5dGUocywgKEJ5dGUpKChzLT5nemhlYWQtPnRpbWUgPj4gMjQpICYgMHhmZikpOworICAgICAgICAgICAgcHV0X2J5dGUocywgcy0+bGV2ZWwgPT0gOSA/IDIgOgorICAgICAgICAgICAgICAgICAgICAgKHMtPnN0cmF0ZWd5ID49IFpfSFVGRk1BTl9PTkxZIHx8IHMtPmxldmVsIDwgMiA/CisgICAgICAgICAgICAgICAgICAgICAgNCA6IDApKTsKKyAgICAgICAgICAgIHB1dF9ieXRlKHMsIHMtPmd6aGVhZC0+b3MgJiAweGZmKTsKKyAgICAgICAgICAgIGlmIChzLT5nemhlYWQtPmV4dHJhICE9IFpfTlVMTCkgeworICAgICAgICAgICAgICAgIHB1dF9ieXRlKHMsIHMtPmd6aGVhZC0+ZXh0cmFfbGVuICYgMHhmZik7CisgICAgICAgICAgICAgICAgcHV0X2J5dGUocywgKHMtPmd6aGVhZC0+ZXh0cmFfbGVuID4+IDgpICYgMHhmZik7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAocy0+Z3poZWFkLT5oY3JjKQorICAgICAgICAgICAgICAgIHN0cm0tPmFkbGVyID0gY3JjMzIoc3RybS0+YWRsZXIsIHMtPnBlbmRpbmdfYnVmLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcy0+cGVuZGluZyk7CisgICAgICAgICAgICBzLT5nemluZGV4ID0gMDsKKyAgICAgICAgICAgIHMtPnN0YXR1cyA9IEVYVFJBX1NUQVRFOworICAgICAgICB9CisgICAgfQorICAgIGlmIChzLT5zdGF0dXMgPT0gRVhUUkFfU1RBVEUpIHsKKyAgICAgICAgaWYgKHMtPmd6aGVhZC0+ZXh0cmEgIT0gWl9OVUxMKSB7CisgICAgICAgICAgICB1bGcgYmVnID0gcy0+cGVuZGluZzsgICAvKiBzdGFydCBvZiBieXRlcyB0byB1cGRhdGUgY3JjICovCisgICAgICAgICAgICB1SW50IGxlZnQgPSAocy0+Z3poZWFkLT5leHRyYV9sZW4gJiAweGZmZmYpIC0gcy0+Z3ppbmRleDsKKyAgICAgICAgICAgIHdoaWxlIChzLT5wZW5kaW5nICsgbGVmdCA+IHMtPnBlbmRpbmdfYnVmX3NpemUpIHsKKyAgICAgICAgICAgICAgICB1SW50IGNvcHkgPSBzLT5wZW5kaW5nX2J1Zl9zaXplIC0gcy0+cGVuZGluZzsKKyAgICAgICAgICAgICAgICB6bWVtY3B5KHMtPnBlbmRpbmdfYnVmICsgcy0+cGVuZGluZywKKyAgICAgICAgICAgICAgICAgICAgICAgIHMtPmd6aGVhZC0+ZXh0cmEgKyBzLT5nemluZGV4LCBjb3B5KTsKKyAgICAgICAgICAgICAgICBzLT5wZW5kaW5nID0gcy0+cGVuZGluZ19idWZfc2l6ZTsKKyAgICAgICAgICAgICAgICBIQ1JDX1VQREFURShiZWcpOworICAgICAgICAgICAgICAgIHMtPmd6aW5kZXggKz0gY29weTsKKyAgICAgICAgICAgICAgICBmbHVzaF9wZW5kaW5nKHN0cm0pOworICAgICAgICAgICAgICAgIGlmIChzLT5wZW5kaW5nICE9IDApIHsKKyAgICAgICAgICAgICAgICAgICAgcy0+bGFzdF9mbHVzaCA9IC0xOworICAgICAgICAgICAgICAgICAgICByZXR1cm4gWl9PSzsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgYmVnID0gMDsKKyAgICAgICAgICAgICAgICBsZWZ0IC09IGNvcHk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICB6bWVtY3B5KHMtPnBlbmRpbmdfYnVmICsgcy0+cGVuZGluZywKKyAgICAgICAgICAgICAgICAgICAgcy0+Z3poZWFkLT5leHRyYSArIHMtPmd6aW5kZXgsIGxlZnQpOworICAgICAgICAgICAgcy0+cGVuZGluZyArPSBsZWZ0OworICAgICAgICAgICAgSENSQ19VUERBVEUoYmVnKTsKKyAgICAgICAgICAgIHMtPmd6aW5kZXggPSAwOworICAgICAgICB9CisgICAgICAgIHMtPnN0YXR1cyA9IE5BTUVfU1RBVEU7CisgICAgfQorICAgIGlmIChzLT5zdGF0dXMgPT0gTkFNRV9TVEFURSkgeworICAgICAgICBpZiAocy0+Z3poZWFkLT5uYW1lICE9IFpfTlVMTCkgeworICAgICAgICAgICAgdWxnIGJlZyA9IHMtPnBlbmRpbmc7ICAgLyogc3RhcnQgb2YgYnl0ZXMgdG8gdXBkYXRlIGNyYyAqLworICAgICAgICAgICAgaW50IHZhbDsKKyAgICAgICAgICAgIGRvIHsKKyAgICAgICAgICAgICAgICBpZiAocy0+cGVuZGluZyA9PSBzLT5wZW5kaW5nX2J1Zl9zaXplKSB7CisgICAgICAgICAgICAgICAgICAgIEhDUkNfVVBEQVRFKGJlZyk7CisgICAgICAgICAgICAgICAgICAgIGZsdXNoX3BlbmRpbmcoc3RybSk7CisgICAgICAgICAgICAgICAgICAgIGlmIChzLT5wZW5kaW5nICE9IDApIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHMtPmxhc3RfZmx1c2ggPSAtMTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBaX09LOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIGJlZyA9IDA7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIHZhbCA9IHMtPmd6aGVhZC0+bmFtZVtzLT5nemluZGV4KytdOworICAgICAgICAgICAgICAgIHB1dF9ieXRlKHMsIHZhbCk7CisgICAgICAgICAgICB9IHdoaWxlICh2YWwgIT0gMCk7CisgICAgICAgICAgICBIQ1JDX1VQREFURShiZWcpOworICAgICAgICAgICAgcy0+Z3ppbmRleCA9IDA7CisgICAgICAgIH0KKyAgICAgICAgcy0+c3RhdHVzID0gQ09NTUVOVF9TVEFURTsKKyAgICB9CisgICAgaWYgKHMtPnN0YXR1cyA9PSBDT01NRU5UX1NUQVRFKSB7CisgICAgICAgIGlmIChzLT5nemhlYWQtPmNvbW1lbnQgIT0gWl9OVUxMKSB7CisgICAgICAgICAgICB1bGcgYmVnID0gcy0+cGVuZGluZzsgICAvKiBzdGFydCBvZiBieXRlcyB0byB1cGRhdGUgY3JjICovCisgICAgICAgICAgICBpbnQgdmFsOworICAgICAgICAgICAgZG8geworICAgICAgICAgICAgICAgIGlmIChzLT5wZW5kaW5nID09IHMtPnBlbmRpbmdfYnVmX3NpemUpIHsKKyAgICAgICAgICAgICAgICAgICAgSENSQ19VUERBVEUoYmVnKTsKKyAgICAgICAgICAgICAgICAgICAgZmx1c2hfcGVuZGluZyhzdHJtKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHMtPnBlbmRpbmcgIT0gMCkgeworICAgICAgICAgICAgICAgICAgICAgICAgcy0+bGFzdF9mbHVzaCA9IC0xOworICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFpfT0s7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgYmVnID0gMDsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgdmFsID0gcy0+Z3poZWFkLT5jb21tZW50W3MtPmd6aW5kZXgrK107CisgICAgICAgICAgICAgICAgcHV0X2J5dGUocywgdmFsKTsKKyAgICAgICAgICAgIH0gd2hpbGUgKHZhbCAhPSAwKTsKKyAgICAgICAgICAgIEhDUkNfVVBEQVRFKGJlZyk7CisgICAgICAgIH0KKyAgICAgICAgcy0+c3RhdHVzID0gSENSQ19TVEFURTsKKyAgICB9CisgICAgaWYgKHMtPnN0YXR1cyA9PSBIQ1JDX1NUQVRFKSB7CisgICAgICAgIGlmIChzLT5nemhlYWQtPmhjcmMpIHsKKyAgICAgICAgICAgIGlmIChzLT5wZW5kaW5nICsgMiA+IHMtPnBlbmRpbmdfYnVmX3NpemUpIHsKKyAgICAgICAgICAgICAgICBmbHVzaF9wZW5kaW5nKHN0cm0pOworICAgICAgICAgICAgICAgIGlmIChzLT5wZW5kaW5nICE9IDApIHsKKyAgICAgICAgICAgICAgICAgICAgcy0+bGFzdF9mbHVzaCA9IC0xOworICAgICAgICAgICAgICAgICAgICByZXR1cm4gWl9PSzsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgICAgICBwdXRfYnl0ZShzLCAoQnl0ZSkoc3RybS0+YWRsZXIgJiAweGZmKSk7CisgICAgICAgICAgICBwdXRfYnl0ZShzLCAoQnl0ZSkoKHN0cm0tPmFkbGVyID4+IDgpICYgMHhmZikpOworICAgICAgICAgICAgc3RybS0+YWRsZXIgPSBjcmMzMigwTCwgWl9OVUxMLCAwKTsKKyAgICAgICAgfQorICAgICAgICBzLT5zdGF0dXMgPSBCVVNZX1NUQVRFOworCisgICAgICAgIC8qIENvbXByZXNzaW9uIG11c3Qgc3RhcnQgd2l0aCBhbiBlbXB0eSBwZW5kaW5nIGJ1ZmZlciAqLworICAgICAgICBmbHVzaF9wZW5kaW5nKHN0cm0pOworICAgICAgICBpZiAocy0+cGVuZGluZyAhPSAwKSB7CisgICAgICAgICAgICBzLT5sYXN0X2ZsdXNoID0gLTE7CisgICAgICAgICAgICByZXR1cm4gWl9PSzsKKyAgICAgICAgfQorICAgIH0KKyNlbmRpZgorCiAgICAgLyogU3RhcnQgYSBuZXcgYmxvY2sgb3IgY29udGludWUgdGhlIGN1cnJlbnQgb25lLgogICAgICAqLwogICAgIGlmIChzdHJtLT5hdmFpbF9pbiAhPSAwIHx8IHMtPmxvb2thaGVhZCAhPSAwIHx8CiAgICAgICAgIChmbHVzaCAhPSBaX05PX0ZMVVNIICYmIHMtPnN0YXR1cyAhPSBGSU5JU0hfU1RBVEUpKSB7CiAgICAgICAgIGJsb2NrX3N0YXRlIGJzdGF0ZTsKIAotICAgICAgICBic3RhdGUgPSBzLT5zdHJhdGVneSA9PSBaX0hVRkZNQU5fT05MWSA/IGRlZmxhdGVfaHVmZihzLCBmbHVzaCkgOgotICAgICAgICAgICAgICAgICAgICAocy0+c3RyYXRlZ3kgPT0gWl9STEUgPyBkZWZsYXRlX3JsZShzLCBmbHVzaCkgOgotICAgICAgICAgICAgICAgICAgICAgICAgKCooY29uZmlndXJhdGlvbl90YWJsZVtzLT5sZXZlbF0uZnVuYykpKHMsIGZsdXNoKSk7CisgICAgICAgIGJzdGF0ZSA9IHMtPmxldmVsID09IDAgPyBkZWZsYXRlX3N0b3JlZChzLCBmbHVzaCkgOgorICAgICAgICAgICAgICAgICBzLT5zdHJhdGVneSA9PSBaX0hVRkZNQU5fT05MWSA/IGRlZmxhdGVfaHVmZihzLCBmbHVzaCkgOgorICAgICAgICAgICAgICAgICBzLT5zdHJhdGVneSA9PSBaX1JMRSA/IGRlZmxhdGVfcmxlKHMsIGZsdXNoKSA6CisgICAgICAgICAgICAgICAgICgqKGNvbmZpZ3VyYXRpb25fdGFibGVbcy0+bGV2ZWxdLmZ1bmMpKShzLCBmbHVzaCk7CiAKICAgICAgICAgaWYgKGJzdGF0ZSA9PSBmaW5pc2hfc3RhcnRlZCB8fCBic3RhdGUgPT0gZmluaXNoX2RvbmUpIHsKICAgICAgICAgICAgIHMtPnN0YXR1cyA9IEZJTklTSF9TVEFURTsKQEAgLTk0NCw3ICsxMDk2LDYgQEAKICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgIH0KLSAgICBBc3NlcnQoc3RybS0+YXZhaWxfb3V0ID4gMCwgImJ1ZzIiKTsKIAogICAgIGlmIChmbHVzaCAhPSBaX0ZJTklTSCkgcmV0dXJuIFpfT0s7CiAgICAgaWYgKHMtPndyYXAgPD0gMCkgcmV0dXJuIFpfU1RSRUFNX0VORDsKQEAgLTk3NiwyMyArMTEyNywxNCBAQAogfQogCiAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCi1pbnQgWkVYUE9SVCBkZWZsYXRlRW5kIChzdHJtKQoraW50IFpFWFBPUlQgZGVmbGF0ZUVuZChzdHJtKQogICAgIHpfc3RyZWFtcCBzdHJtOwogewogICAgIGludCBzdGF0dXM7CiAKLSAgICBpZiAoc3RybSA9PSBaX05VTEwgfHwgc3RybS0+c3RhdGUgPT0gWl9OVUxMKSByZXR1cm4gWl9TVFJFQU1fRVJST1I7CisgICAgaWYgKGRlZmxhdGVTdGF0ZUNoZWNrKHN0cm0pKSByZXR1cm4gWl9TVFJFQU1fRVJST1I7CiAKICAgICBzdGF0dXMgPSBzdHJtLT5zdGF0ZS0+c3RhdHVzOwotICAgIGlmIChzdGF0dXMgIT0gSU5JVF9TVEFURSAmJgotICAgICAgICBzdGF0dXMgIT0gRVhUUkFfU1RBVEUgJiYKLSAgICAgICAgc3RhdHVzICE9IE5BTUVfU1RBVEUgJiYKLSAgICAgICAgc3RhdHVzICE9IENPTU1FTlRfU1RBVEUgJiYKLSAgICAgICAgc3RhdHVzICE9IEhDUkNfU1RBVEUgJiYKLSAgICAgICAgc3RhdHVzICE9IEJVU1lfU1RBVEUgJiYKLSAgICAgICAgc3RhdHVzICE9IEZJTklTSF9TVEFURSkgewotICAgICAgcmV0dXJuIFpfU1RSRUFNX0VSUk9SOwotICAgIH0KIAogICAgIC8qIERlYWxsb2NhdGUgaW4gcmV2ZXJzZSBvcmRlciBvZiBhbGxvY2F0aW9uczogKi8KICAgICBUUllfRlJFRShzdHJtLCBzdHJtLT5zdGF0ZS0+cGVuZGluZ19idWYpOwpAQCAtMTAxMSw3ICsxMTUzLDcgQEAKICAqIFRvIHNpbXBsaWZ5IHRoZSBzb3VyY2UsIHRoaXMgaXMgbm90IHN1cHBvcnRlZCBmb3IgMTYtYml0IE1TRE9TICh3aGljaAogICogZG9lc24ndCBoYXZlIGVub3VnaCBtZW1vcnkgYW55d2F5IHRvIGR1cGxpY2F0ZSBjb21wcmVzc2lvbiBzdGF0ZXMpLgogICovCi1pbnQgWkVYUE9SVCBkZWZsYXRlQ29weSAoZGVzdCwgc291cmNlKQoraW50IFpFWFBPUlQgZGVmbGF0ZUNvcHkoZGVzdCwgc291cmNlKQogICAgIHpfc3RyZWFtcCBkZXN0OwogICAgIHpfc3RyZWFtcCBzb3VyY2U7CiB7CkBAIC0xMDIwLDEwICsxMTYyLDkgQEAKICNlbHNlCiAgICAgZGVmbGF0ZV9zdGF0ZSAqZHM7CiAgICAgZGVmbGF0ZV9zdGF0ZSAqc3M7Ci0gICAgdXNoZiAqb3ZlcmxheTsKIAogCi0gICAgaWYgKHNvdXJjZSA9PSBaX05VTEwgfHwgZGVzdCA9PSBaX05VTEwgfHwgc291cmNlLT5zdGF0ZSA9PSBaX05VTEwpIHsKKyAgICBpZiAoZGVmbGF0ZVN0YXRlQ2hlY2soc291cmNlKSB8fCBkZXN0ID09IFpfTlVMTCkgewogICAgICAgICByZXR1cm4gWl9TVFJFQU1fRVJST1I7CiAgICAgfQogCkBAIC0xMDQwLDggKzExODEsNyBAQAogICAgIGRzLT53aW5kb3cgPSAoQnl0ZWYgKikgWkFMTE9DKGRlc3QsIGRzLT53X3NpemUsIDIqc2l6ZW9mKEJ5dGUpKTsKICAgICBkcy0+cHJldiAgID0gKFBvc2YgKikgIFpBTExPQyhkZXN0LCBkcy0+d19zaXplLCBzaXplb2YoUG9zKSk7CiAgICAgZHMtPmhlYWQgICA9IChQb3NmICopICBaQUxMT0MoZGVzdCwgZHMtPmhhc2hfc2l6ZSwgc2l6ZW9mKFBvcykpOwotICAgIG92ZXJsYXkgPSAodXNoZiAqKSBaQUxMT0MoZGVzdCwgZHMtPmxpdF9idWZzaXplLCBzaXplb2YodXNoKSsyKTsKLSAgICBkcy0+cGVuZGluZ19idWYgPSAodWNoZiAqKSBvdmVybGF5OworICAgIGRzLT5wZW5kaW5nX2J1ZiA9ICh1Y2hmICopIFpBTExPQyhkZXN0LCBkcy0+bGl0X2J1ZnNpemUsIDQpOwogCiAgICAgaWYgKGRzLT53aW5kb3cgPT0gWl9OVUxMIHx8IGRzLT5wcmV2ID09IFpfTlVMTCB8fCBkcy0+aGVhZCA9PSBaX05VTEwgfHwKICAgICAgICAgZHMtPnBlbmRpbmdfYnVmID09IFpfTlVMTCkgewpAQCAtMTA1NSw4ICsxMTk1LDcgQEAKICAgICB6bWVtY3B5KGRzLT5wZW5kaW5nX2J1Ziwgc3MtPnBlbmRpbmdfYnVmLCAodUludClkcy0+cGVuZGluZ19idWZfc2l6ZSk7CiAKICAgICBkcy0+cGVuZGluZ19vdXQgPSBkcy0+cGVuZGluZ19idWYgKyAoc3MtPnBlbmRpbmdfb3V0IC0gc3MtPnBlbmRpbmdfYnVmKTsKLSAgICBkcy0+ZF9idWYgPSBvdmVybGF5ICsgZHMtPmxpdF9idWZzaXplL3NpemVvZih1c2gpOwotICAgIGRzLT5sX2J1ZiA9IGRzLT5wZW5kaW5nX2J1ZiArICgxK3NpemVvZih1c2gpKSpkcy0+bGl0X2J1ZnNpemU7CisgICAgZHMtPnN5bV9idWYgPSBkcy0+cGVuZGluZ19idWYgKyBkcy0+bGl0X2J1ZnNpemU7CiAKICAgICBkcy0+bF9kZXNjLmR5bl90cmVlID0gZHMtPmR5bl9sdHJlZTsKICAgICBkcy0+ZF9kZXNjLmR5bl90cmVlID0gZHMtPmR5bl9kdHJlZTsKQEAgLTEwNzMsNyArMTIxMiw3IEBACiAgKiBhbGxvY2F0aW5nIGEgbGFyZ2Ugc3RybS0+bmV4dF9pbiBidWZmZXIgYW5kIGNvcHlpbmcgZnJvbSBpdC4KICAqIChTZWUgYWxzbyBmbHVzaF9wZW5kaW5nKCkpLgogICovCi1sb2NhbCBpbnQgcmVhZF9idWYoc3RybSwgYnVmLCBzaXplKQorbG9jYWwgdW5zaWduZWQgcmVhZF9idWYoc3RybSwgYnVmLCBzaXplKQogICAgIHpfc3RyZWFtcCBzdHJtOwogICAgIEJ5dGVmICpidWY7CiAgICAgdW5zaWduZWQgc2l6ZTsKQEAgLTEwOTcsMTMgKzEyMzYsMTMgQEAKICAgICBzdHJtLT5uZXh0X2luICArPSBsZW47CiAgICAgc3RybS0+dG90YWxfaW4gKz0gbGVuOwogCi0gICAgcmV0dXJuIChpbnQpbGVuOworICAgIHJldHVybiBsZW47CiB9CiAKIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICogSW5pdGlhbGl6ZSB0aGUgImxvbmdlc3QgbWF0Y2giIHJvdXRpbmVzIGZvciBhIG5ldyB6bGliIHN0cmVhbQogICovCi1sb2NhbCB2b2lkIGxtX2luaXQgKHMpCitsb2NhbCB2b2lkIGxtX2luaXQocykKICAgICBkZWZsYXRlX3N0YXRlICpzOwogewogICAgIHMtPndpbmRvd19zaXplID0gKHVsZykyTCpzLT53X3NpemU7CkBAIC0xMTI0LDExICsxMjYzLDYgQEAKICAgICBzLT5tYXRjaF9sZW5ndGggPSBzLT5wcmV2X2xlbmd0aCA9IE1JTl9NQVRDSC0xOwogICAgIHMtPm1hdGNoX2F2YWlsYWJsZSA9IDA7CiAgICAgcy0+aW5zX2ggPSAwOwotI2lmbmRlZiBGQVNURVNUCi0jaWZkZWYgQVNNVgotICAgIG1hdGNoX2luaXQoKTsgLyogaW5pdGlhbGl6ZSB0aGUgYXNtIGNvZGUgKi8KLSNlbmRpZgotI2VuZGlmCiB9CiAKICNpZm5kZWYgRkFTVEVTVApAQCAtMTE0MSwxOSArMTI3NSwxNSBAQAogICogICBzdHJpbmcgKHN0cnN0YXJ0KSBhbmQgaXRzIGRpc3RhbmNlIGlzIDw9IE1BWF9ESVNULCBhbmQgcHJldl9sZW5ndGggPj0gMQogICogT1VUIGFzc2VydGlvbjogdGhlIG1hdGNoIGxlbmd0aCBpcyBub3QgZ3JlYXRlciB0aGFuIHMtPmxvb2thaGVhZC4KICAqLwotI2lmbmRlZiBBU01WCi0vKiBGb3IgODB4ODYgYW5kIDY4MHgwLCBhbiBvcHRpbWl6ZWQgdmVyc2lvbiB3aWxsIGJlIHByb3ZpZGVkIGluIG1hdGNoLmFzbSBvcgotICogbWF0Y2guUy4gVGhlIGNvZGUgd2lsbCBiZSBmdW5jdGlvbmFsbHkgZXF1aXZhbGVudC4KLSAqLwogbG9jYWwgdUludCBsb25nZXN0X21hdGNoKHMsIGN1cl9tYXRjaCkKICAgICBkZWZsYXRlX3N0YXRlICpzOwogICAgIElQb3MgY3VyX21hdGNoOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogY3VycmVudCBtYXRjaCAqLwogewogICAgIHVuc2lnbmVkIGNoYWluX2xlbmd0aCA9IHMtPm1heF9jaGFpbl9sZW5ndGg7LyogbWF4IGhhc2ggY2hhaW4gbGVuZ3RoICovCiAgICAgcmVnaXN0ZXIgQnl0ZWYgKnNjYW4gPSBzLT53aW5kb3cgKyBzLT5zdHJzdGFydDsgLyogY3VycmVudCBzdHJpbmcgKi8KLSAgICByZWdpc3RlciBCeXRlZiAqbWF0Y2g7ICAgICAgICAgICAgICAgICAgICAgICAvKiBtYXRjaGVkIHN0cmluZyAqLworICAgIHJlZ2lzdGVyIEJ5dGVmICptYXRjaDsgICAgICAgICAgICAgICAgICAgICAgLyogbWF0Y2hlZCBzdHJpbmcgKi8KICAgICByZWdpc3RlciBpbnQgbGVuOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIGxlbmd0aCBvZiBjdXJyZW50IG1hdGNoICovCi0gICAgaW50IGJlc3RfbGVuID0gcy0+cHJldl9sZW5ndGg7ICAgICAgICAgICAgICAvKiBiZXN0IG1hdGNoIGxlbmd0aCBzbyBmYXIgKi8KKyAgICBpbnQgYmVzdF9sZW4gPSAoaW50KXMtPnByZXZfbGVuZ3RoOyAgICAgICAgIC8qIGJlc3QgbWF0Y2ggbGVuZ3RoIHNvIGZhciAqLwogICAgIGludCBuaWNlX21hdGNoID0gcy0+bmljZV9tYXRjaDsgICAgICAgICAgICAgLyogc3RvcCBpZiBtYXRjaCBsb25nIGVub3VnaCAqLwogICAgIElQb3MgbGltaXQgPSBzLT5zdHJzdGFydCA+IChJUG9zKU1BWF9ESVNUKHMpID8KICAgICAgICAgcy0+c3Ryc3RhcnQgLSAoSVBvcylNQVhfRElTVChzKSA6IE5JTDsKQEAgLTExNjksMTAgKzEyOTksMTAgQEAKICAgICAgKi8KICAgICByZWdpc3RlciBCeXRlZiAqc3RyZW5kID0gcy0+d2luZG93ICsgcy0+c3Ryc3RhcnQgKyBNQVhfTUFUQ0ggLSAxOwogICAgIHJlZ2lzdGVyIHVzaCBzY2FuX3N0YXJ0ID0gKih1c2hmKilzY2FuOwotICAgIHJlZ2lzdGVyIHVzaCBzY2FuX2VuZCAgID0gKih1c2hmKikoc2NhbitiZXN0X2xlbi0xKTsKKyAgICByZWdpc3RlciB1c2ggc2Nhbl9lbmQgICA9ICoodXNoZiopKHNjYW4gKyBiZXN0X2xlbiAtIDEpOwogI2Vsc2UKICAgICByZWdpc3RlciBCeXRlZiAqc3RyZW5kID0gcy0+d2luZG93ICsgcy0+c3Ryc3RhcnQgKyBNQVhfTUFUQ0g7Ci0gICAgcmVnaXN0ZXIgQnl0ZSBzY2FuX2VuZDEgID0gc2NhbltiZXN0X2xlbi0xXTsKKyAgICByZWdpc3RlciBCeXRlIHNjYW5fZW5kMSAgPSBzY2FuW2Jlc3RfbGVuIC0gMV07CiAgICAgcmVnaXN0ZXIgQnl0ZSBzY2FuX2VuZCAgID0gc2NhbltiZXN0X2xlbl07CiAjZW5kaWYKIApAQCAtMTE4OCw5ICsxMzE4LDEwIEBACiAgICAgLyogRG8gbm90IGxvb2sgZm9yIG1hdGNoZXMgYmV5b25kIHRoZSBlbmQgb2YgdGhlIGlucHV0LiBUaGlzIGlzIG5lY2Vzc2FyeQogICAgICAqIHRvIG1ha2UgZGVmbGF0ZSBkZXRlcm1pbmlzdGljLgogICAgICAqLwotICAgIGlmICgodUludCluaWNlX21hdGNoID4gcy0+bG9va2FoZWFkKSBuaWNlX21hdGNoID0gcy0+bG9va2FoZWFkOworICAgIGlmICgodUludCluaWNlX21hdGNoID4gcy0+bG9va2FoZWFkKSBuaWNlX21hdGNoID0gKGludClzLT5sb29rYWhlYWQ7CiAKLSAgICBBc3NlcnQoKHVsZylzLT5zdHJzdGFydCA8PSBzLT53aW5kb3dfc2l6ZS1NSU5fTE9PS0FIRUFELCAibmVlZCBsb29rYWhlYWQiKTsKKyAgICBBc3NlcnQoKHVsZylzLT5zdHJzdGFydCA8PSBzLT53aW5kb3dfc2l6ZSAtIE1JTl9MT09LQUhFQUQsCisgICAgICAgICAgICJuZWVkIGxvb2thaGVhZCIpOwogCiAgICAgZG8gewogICAgICAgICBBc3NlcnQoY3VyX21hdGNoIDwgcy0+c3Ryc3RhcnQsICJubyBmdXR1cmUiKTsKQEAgLTEyMDgsNDMgKzEzMzksNDQgQEAKICAgICAgICAgLyogVGhpcyBjb2RlIGFzc3VtZXMgc2l6ZW9mKHVuc2lnbmVkIHNob3J0KSA9PSAyLiBEbyBub3QgdXNlCiAgICAgICAgICAqIFVOQUxJR05FRF9PSyBpZiB5b3VyIGNvbXBpbGVyIHVzZXMgYSBkaWZmZXJlbnQgc2l6ZS4KICAgICAgICAgICovCi0gICAgICAgIGlmICgqKHVzaGYqKShtYXRjaCtiZXN0X2xlbi0xKSAhPSBzY2FuX2VuZCB8fAorICAgICAgICBpZiAoKih1c2hmKikobWF0Y2ggKyBiZXN0X2xlbiAtIDEpICE9IHNjYW5fZW5kIHx8CiAgICAgICAgICAgICAqKHVzaGYqKW1hdGNoICE9IHNjYW5fc3RhcnQpIGNvbnRpbnVlOwogCiAgICAgICAgIC8qIEl0IGlzIG5vdCBuZWNlc3NhcnkgdG8gY29tcGFyZSBzY2FuWzJdIGFuZCBtYXRjaFsyXSBzaW5jZSB0aGV5IGFyZQogICAgICAgICAgKiBhbHdheXMgZXF1YWwgd2hlbiB0aGUgb3RoZXIgYnl0ZXMgbWF0Y2gsIGdpdmVuIHRoYXQgdGhlIGhhc2gga2V5cwogICAgICAgICAgKiBhcmUgZXF1YWwgYW5kIHRoYXQgSEFTSF9CSVRTID49IDguIENvbXBhcmUgMiBieXRlcyBhdCBhIHRpbWUgYXQKLSAgICAgICAgICogc3Ryc3RhcnQrMywgKzUsIC4uLiB1cCB0byBzdHJzdGFydCsyNTcuIFdlIGNoZWNrIGZvciBpbnN1ZmZpY2llbnQKKyAgICAgICAgICogc3Ryc3RhcnQgKyAzLCArIDUsIHVwIHRvIHN0cnN0YXJ0ICsgMjU3LiBXZSBjaGVjayBmb3IgaW5zdWZmaWNpZW50CiAgICAgICAgICAqIGxvb2thaGVhZCBvbmx5IGV2ZXJ5IDR0aCBjb21wYXJpc29uOyB0aGUgMTI4dGggY2hlY2sgd2lsbCBiZSBtYWRlCi0gICAgICAgICAqIGF0IHN0cnN0YXJ0KzI1Ny4gSWYgTUFYX01BVENILTIgaXMgbm90IGEgbXVsdGlwbGUgb2YgOCwgaXQgaXMKKyAgICAgICAgICogYXQgc3Ryc3RhcnQgKyAyNTcuIElmIE1BWF9NQVRDSC0yIGlzIG5vdCBhIG11bHRpcGxlIG9mIDgsIGl0IGlzCiAgICAgICAgICAqIG5lY2Vzc2FyeSB0byBwdXQgbW9yZSBndWFyZCBieXRlcyBhdCB0aGUgZW5kIG9mIHRoZSB3aW5kb3csIG9yCiAgICAgICAgICAqIHRvIGNoZWNrIG1vcmUgb2Z0ZW4gZm9yIGluc3VmZmljaWVudCBsb29rYWhlYWQuCiAgICAgICAgICAqLwogICAgICAgICBBc3NlcnQoc2NhblsyXSA9PSBtYXRjaFsyXSwgInNjYW5bMl0/Iik7CiAgICAgICAgIHNjYW4rKywgbWF0Y2grKzsKICAgICAgICAgZG8gewotICAgICAgICB9IHdoaWxlICgqKHVzaGYqKShzY2FuKz0yKSA9PSAqKHVzaGYqKShtYXRjaCs9MikgJiYKLSAgICAgICAgICAgICAgICAgKih1c2hmKikoc2Nhbis9MikgPT0gKih1c2hmKikobWF0Y2grPTIpICYmCi0gICAgICAgICAgICAgICAgICoodXNoZiopKHNjYW4rPTIpID09ICoodXNoZiopKG1hdGNoKz0yKSAmJgotICAgICAgICAgICAgICAgICAqKHVzaGYqKShzY2FuKz0yKSA9PSAqKHVzaGYqKShtYXRjaCs9MikgJiYKKyAgICAgICAgfSB3aGlsZSAoKih1c2hmKikoc2NhbiArPSAyKSA9PSAqKHVzaGYqKShtYXRjaCArPSAyKSAmJgorICAgICAgICAgICAgICAgICAqKHVzaGYqKShzY2FuICs9IDIpID09ICoodXNoZiopKG1hdGNoICs9IDIpICYmCisgICAgICAgICAgICAgICAgICoodXNoZiopKHNjYW4gKz0gMikgPT0gKih1c2hmKikobWF0Y2ggKz0gMikgJiYKKyAgICAgICAgICAgICAgICAgKih1c2hmKikoc2NhbiArPSAyKSA9PSAqKHVzaGYqKShtYXRjaCArPSAyKSAmJgogICAgICAgICAgICAgICAgICBzY2FuIDwgc3RyZW5kKTsKICAgICAgICAgLyogVGhlIGZ1bm55ICJkbyB7fSIgZ2VuZXJhdGVzIGJldHRlciBjb2RlIG9uIG1vc3QgY29tcGlsZXJzICovCiAKLSAgICAgICAgLyogSGVyZSwgc2NhbiA8PSB3aW5kb3crc3Ryc3RhcnQrMjU3ICovCi0gICAgICAgIEFzc2VydChzY2FuIDw9IHMtPndpbmRvdysodW5zaWduZWQpKHMtPndpbmRvd19zaXplLTEpLCAid2lsZCBzY2FuIik7CisgICAgICAgIC8qIEhlcmUsIHNjYW4gPD0gd2luZG93ICsgc3Ryc3RhcnQgKyAyNTcgKi8KKyAgICAgICAgQXNzZXJ0KHNjYW4gPD0gcy0+d2luZG93ICsgKHVuc2lnbmVkKShzLT53aW5kb3dfc2l6ZSAtIDEpLAorICAgICAgICAgICAgICAgIndpbGQgc2NhbiIpOwogICAgICAgICBpZiAoKnNjYW4gPT0gKm1hdGNoKSBzY2FuKys7CiAKLSAgICAgICAgbGVuID0gKE1BWF9NQVRDSCAtIDEpIC0gKGludCkoc3RyZW5kLXNjYW4pOworICAgICAgICBsZW4gPSAoTUFYX01BVENIIC0gMSkgLSAoaW50KShzdHJlbmQgLSBzY2FuKTsKICAgICAgICAgc2NhbiA9IHN0cmVuZCAtIChNQVhfTUFUQ0gtMSk7CiAKICNlbHNlIC8qIFVOQUxJR05FRF9PSyAqLwogCi0gICAgICAgIGlmIChtYXRjaFtiZXN0X2xlbl0gICAhPSBzY2FuX2VuZCAgfHwKLSAgICAgICAgICAgIG1hdGNoW2Jlc3RfbGVuLTFdICE9IHNjYW5fZW5kMSB8fAotICAgICAgICAgICAgKm1hdGNoICAgICAgICAgICAgIT0gKnNjYW4gICAgIHx8Ci0gICAgICAgICAgICAqKyttYXRjaCAgICAgICAgICAhPSBzY2FuWzFdKSAgICAgIGNvbnRpbnVlOworICAgICAgICBpZiAobWF0Y2hbYmVzdF9sZW5dICAgICAhPSBzY2FuX2VuZCAgfHwKKyAgICAgICAgICAgIG1hdGNoW2Jlc3RfbGVuIC0gMV0gIT0gc2Nhbl9lbmQxIHx8CisgICAgICAgICAgICAqbWF0Y2ggICAgICAgICAgICAgICE9ICpzY2FuICAgICB8fAorICAgICAgICAgICAgKisrbWF0Y2ggICAgICAgICAgICAhPSBzY2FuWzFdKSAgICAgIGNvbnRpbnVlOwogCi0gICAgICAgIC8qIFRoZSBjaGVjayBhdCBiZXN0X2xlbi0xIGNhbiBiZSByZW1vdmVkIGJlY2F1c2UgaXQgd2lsbCBiZSBtYWRlCisgICAgICAgIC8qIFRoZSBjaGVjayBhdCBiZXN0X2xlbiAtIDEgY2FuIGJlIHJlbW92ZWQgYmVjYXVzZSBpdCB3aWxsIGJlIG1hZGUKICAgICAgICAgICogYWdhaW4gbGF0ZXIuIChUaGlzIGhldXJpc3RpYyBpcyBub3QgYWx3YXlzIGEgd2luLikKICAgICAgICAgICogSXQgaXMgbm90IG5lY2Vzc2FyeSB0byBjb21wYXJlIHNjYW5bMl0gYW5kIG1hdGNoWzJdIHNpbmNlIHRoZXkKICAgICAgICAgICogYXJlIGFsd2F5cyBlcXVhbCB3aGVuIHRoZSBvdGhlciBieXRlcyBtYXRjaCwgZ2l2ZW4gdGhhdApAQCAtMTI1NCw3ICsxMzg2LDcgQEAKICAgICAgICAgQXNzZXJ0KCpzY2FuID09ICptYXRjaCwgIm1hdGNoWzJdPyIpOwogCiAgICAgICAgIC8qIFdlIGNoZWNrIGZvciBpbnN1ZmZpY2llbnQgbG9va2FoZWFkIG9ubHkgZXZlcnkgOHRoIGNvbXBhcmlzb247Ci0gICAgICAgICAqIHRoZSAyNTZ0aCBjaGVjayB3aWxsIGJlIG1hZGUgYXQgc3Ryc3RhcnQrMjU4LgorICAgICAgICAgKiB0aGUgMjU2dGggY2hlY2sgd2lsbCBiZSBtYWRlIGF0IHN0cnN0YXJ0ICsgMjU4LgogICAgICAgICAgKi8KICAgICAgICAgZG8gewogICAgICAgICB9IHdoaWxlICgqKytzY2FuID09ICorK21hdGNoICYmICorK3NjYW4gPT0gKisrbWF0Y2ggJiYKQEAgLTEyNjMsNyArMTM5NSw4IEBACiAgICAgICAgICAgICAgICAgICorK3NjYW4gPT0gKisrbWF0Y2ggJiYgKisrc2NhbiA9PSAqKyttYXRjaCAmJgogICAgICAgICAgICAgICAgICBzY2FuIDwgc3RyZW5kKTsKIAotICAgICAgICBBc3NlcnQoc2NhbiA8PSBzLT53aW5kb3crKHVuc2lnbmVkKShzLT53aW5kb3dfc2l6ZS0xKSwgIndpbGQgc2NhbiIpOworICAgICAgICBBc3NlcnQoc2NhbiA8PSBzLT53aW5kb3cgKyAodW5zaWduZWQpKHMtPndpbmRvd19zaXplIC0gMSksCisgICAgICAgICAgICAgICAid2lsZCBzY2FuIik7CiAKICAgICAgICAgbGVuID0gTUFYX01BVENIIC0gKGludCkoc3RyZW5kIC0gc2Nhbik7CiAgICAgICAgIHNjYW4gPSBzdHJlbmQgLSBNQVhfTUFUQ0g7CkBAIC0xMjc1LDkgKzE0MDgsOSBAQAogICAgICAgICAgICAgYmVzdF9sZW4gPSBsZW47CiAgICAgICAgICAgICBpZiAobGVuID49IG5pY2VfbWF0Y2gpIGJyZWFrOwogI2lmZGVmIFVOQUxJR05FRF9PSwotICAgICAgICAgICAgc2Nhbl9lbmQgPSAqKHVzaGYqKShzY2FuK2Jlc3RfbGVuLTEpOworICAgICAgICAgICAgc2Nhbl9lbmQgPSAqKHVzaGYqKShzY2FuICsgYmVzdF9sZW4gLSAxKTsKICNlbHNlCi0gICAgICAgICAgICBzY2FuX2VuZDEgID0gc2NhbltiZXN0X2xlbi0xXTsKKyAgICAgICAgICAgIHNjYW5fZW5kMSAgPSBzY2FuW2Jlc3RfbGVuIC0gMV07CiAgICAgICAgICAgICBzY2FuX2VuZCAgID0gc2NhbltiZXN0X2xlbl07CiAjZW5kaWYKICAgICAgICAgfQpAQCAtMTI4Nyw3ICsxNDIwLDYgQEAKICAgICBpZiAoKHVJbnQpYmVzdF9sZW4gPD0gcy0+bG9va2FoZWFkKSByZXR1cm4gKHVJbnQpYmVzdF9sZW47CiAgICAgcmV0dXJuIHMtPmxvb2thaGVhZDsKIH0KLSNlbmRpZiAvKiBBU01WICovCiAKICNlbHNlIC8qIEZBU1RFU1QgKi8KIApAQCAtMTMwOCw3ICsxNDQwLDggQEAKICAgICAgKi8KICAgICBBc3NlcnQocy0+aGFzaF9iaXRzID49IDggJiYgTUFYX01BVENIID09IDI1OCwgIkNvZGUgdG9vIGNsZXZlciIpOwogCi0gICAgQXNzZXJ0KCh1bGcpcy0+c3Ryc3RhcnQgPD0gcy0+d2luZG93X3NpemUtTUlOX0xPT0tBSEVBRCwgIm5lZWQgbG9va2FoZWFkIik7CisgICAgQXNzZXJ0KCh1bGcpcy0+c3Ryc3RhcnQgPD0gcy0+d2luZG93X3NpemUgLSBNSU5fTE9PS0FIRUFELAorICAgICAgICAgICAibmVlZCBsb29rYWhlYWQiKTsKIAogICAgIEFzc2VydChjdXJfbWF0Y2ggPCBzLT5zdHJzdGFydCwgIm5vIGZ1dHVyZSIpOwogCkBAIC0xMzE4LDcgKzE0NTEsNyBAQAogICAgICAqLwogICAgIGlmIChtYXRjaFswXSAhPSBzY2FuWzBdIHx8IG1hdGNoWzFdICE9IHNjYW5bMV0pIHJldHVybiBNSU5fTUFUQ0gtMTsKIAotICAgIC8qIFRoZSBjaGVjayBhdCBiZXN0X2xlbi0xIGNhbiBiZSByZW1vdmVkIGJlY2F1c2UgaXQgd2lsbCBiZSBtYWRlCisgICAgLyogVGhlIGNoZWNrIGF0IGJlc3RfbGVuIC0gMSBjYW4gYmUgcmVtb3ZlZCBiZWNhdXNlIGl0IHdpbGwgYmUgbWFkZQogICAgICAqIGFnYWluIGxhdGVyLiAoVGhpcyBoZXVyaXN0aWMgaXMgbm90IGFsd2F5cyBhIHdpbi4pCiAgICAgICogSXQgaXMgbm90IG5lY2Vzc2FyeSB0byBjb21wYXJlIHNjYW5bMl0gYW5kIG1hdGNoWzJdIHNpbmNlIHRoZXkKICAgICAgKiBhcmUgYWx3YXlzIGVxdWFsIHdoZW4gdGhlIG90aGVyIGJ5dGVzIG1hdGNoLCBnaXZlbiB0aGF0CkBAIC0xMzI4LDcgKzE0NjEsNyBAQAogICAgIEFzc2VydCgqc2NhbiA9PSAqbWF0Y2gsICJtYXRjaFsyXT8iKTsKIAogICAgIC8qIFdlIGNoZWNrIGZvciBpbnN1ZmZpY2llbnQgbG9va2FoZWFkIG9ubHkgZXZlcnkgOHRoIGNvbXBhcmlzb247Ci0gICAgICogdGhlIDI1NnRoIGNoZWNrIHdpbGwgYmUgbWFkZSBhdCBzdHJzdGFydCsyNTguCisgICAgICogdGhlIDI1NnRoIGNoZWNrIHdpbGwgYmUgbWFkZSBhdCBzdHJzdGFydCArIDI1OC4KICAgICAgKi8KICAgICBkbyB7CiAgICAgfSB3aGlsZSAoKisrc2NhbiA9PSAqKyttYXRjaCAmJiAqKytzY2FuID09ICorK21hdGNoICYmCkBAIC0xMzM3LDcgKzE0NzAsNyBAQAogICAgICAgICAgICAgICorK3NjYW4gPT0gKisrbWF0Y2ggJiYgKisrc2NhbiA9PSAqKyttYXRjaCAmJgogICAgICAgICAgICAgIHNjYW4gPCBzdHJlbmQpOwogCi0gICAgQXNzZXJ0KHNjYW4gPD0gcy0+d2luZG93Kyh1bnNpZ25lZCkocy0+d2luZG93X3NpemUtMSksICJ3aWxkIHNjYW4iKTsKKyAgICBBc3NlcnQoc2NhbiA8PSBzLT53aW5kb3cgKyAodW5zaWduZWQpKHMtPndpbmRvd19zaXplIC0gMSksICJ3aWxkIHNjYW4iKTsKIAogICAgIGxlbiA9IE1BWF9NQVRDSCAtIChpbnQpKHN0cmVuZCAtIHNjYW4pOwogCkBAIC0xMzQ5LDcgKzE0ODIsMTEgQEAKIAogI2VuZGlmIC8qIEZBU1RFU1QgKi8KIAotI2lmZGVmIERFQlVHCisjaWZkZWYgWkxJQl9ERUJVRworCisjZGVmaW5lIEVRVUFMIDAKKy8qIHJlc3VsdCBvZiBtZW1jbXAgZm9yIGVxdWFsIHN0cmluZ3MgKi8KKwogLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgKiBDaGVjayB0aGF0IHRoZSBtYXRjaCBhdCBtYXRjaF9zdGFydCBpcyBpbmRlZWQgYSBtYXRjaC4KICAqLwpAQCAtMTM2OSwxMyArMTUwNiwxMyBAQAogICAgICAgICB6X2Vycm9yKCJpbnZhbGlkIG1hdGNoIik7CiAgICAgfQogICAgIGlmICh6X3ZlcmJvc2UgPiAxKSB7Ci0gICAgICAgIGZwcmludGYoc3RkZXJyLCJcXFslZCwlZF0iLCBzdGFydC1tYXRjaCwgbGVuZ3RoKTsKKyAgICAgICAgZnByaW50ZihzdGRlcnIsIlxcWyVkLCVkXSIsIHN0YXJ0IC0gbWF0Y2gsIGxlbmd0aCk7CiAgICAgICAgIGRvIHsgcHV0YyhzLT53aW5kb3dbc3RhcnQrK10sIHN0ZGVycik7IH0gd2hpbGUgKC0tbGVuZ3RoICE9IDApOwogICAgIH0KIH0KICNlbHNlCiAjICBkZWZpbmUgY2hlY2tfbWF0Y2gocywgc3RhcnQsIG1hdGNoLCBsZW5ndGgpCi0jZW5kaWYgLyogREVCVUcgKi8KKyNlbmRpZiAvKiBaTElCX0RFQlVHICovCiAKIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICogRmlsbCB0aGUgd2luZG93IHdoZW4gdGhlIGxvb2thaGVhZCBiZWNvbWVzIGluc3VmZmljaWVudC4KQEAgLTEzOTAsOCArMTUyNyw3IEBACiBsb2NhbCB2b2lkIGZpbGxfd2luZG93KHMpCiAgICAgZGVmbGF0ZV9zdGF0ZSAqczsKIHsKLSAgICByZWdpc3RlciB1bnNpZ25lZCBuLCBtOwotICAgIHJlZ2lzdGVyIFBvc2YgKnA7CisgICAgdW5zaWduZWQgbjsKICAgICB1bnNpZ25lZCBtb3JlOyAgICAvKiBBbW91bnQgb2YgZnJlZSBzcGFjZSBhdCB0aGUgZW5kIG9mIHRoZSB3aW5kb3cuICovCiAgICAgdUludCB3c2l6ZSA9IHMtPndfc2l6ZTsKIApAQCAtMTQxNiwzNyArMTU1MiwxNSBAQAogICAgICAgICAvKiBJZiB0aGUgd2luZG93IGlzIGFsbW9zdCBmdWxsIGFuZCB0aGVyZSBpcyBpbnN1ZmZpY2llbnQgbG9va2FoZWFkLAogICAgICAgICAgKiBtb3ZlIHRoZSB1cHBlciBoYWxmIHRvIHRoZSBsb3dlciBvbmUgdG8gbWFrZSByb29tIGluIHRoZSB1cHBlciBoYWxmLgogICAgICAgICAgKi8KLSAgICAgICAgaWYgKHMtPnN0cnN0YXJ0ID49IHdzaXplK01BWF9ESVNUKHMpKSB7CisgICAgICAgIGlmIChzLT5zdHJzdGFydCA+PSB3c2l6ZSArIE1BWF9ESVNUKHMpKSB7CiAKLSAgICAgICAgICAgIHptZW1jcHkocy0+d2luZG93LCBzLT53aW5kb3crd3NpemUsICh1bnNpZ25lZCl3c2l6ZSk7CisgICAgICAgICAgICB6bWVtY3B5KHMtPndpbmRvdywgcy0+d2luZG93ICsgd3NpemUsICh1bnNpZ25lZCl3c2l6ZSAtIG1vcmUpOwogICAgICAgICAgICAgcy0+bWF0Y2hfc3RhcnQgLT0gd3NpemU7CiAgICAgICAgICAgICBzLT5zdHJzdGFydCAgICAtPSB3c2l6ZTsgLyogd2Ugbm93IGhhdmUgc3Ryc3RhcnQgPj0gTUFYX0RJU1QgKi8KICAgICAgICAgICAgIHMtPmJsb2NrX3N0YXJ0IC09IChsb25nKSB3c2l6ZTsKLQotICAgICAgICAgICAgLyogU2xpZGUgdGhlIGhhc2ggdGFibGUgKGNvdWxkIGJlIGF2b2lkZWQgd2l0aCAzMiBiaXQgdmFsdWVzCi0gICAgICAgICAgICAgICBhdCB0aGUgZXhwZW5zZSBvZiBtZW1vcnkgdXNhZ2UpLiBXZSBzbGlkZSBldmVuIHdoZW4gbGV2ZWwgPT0gMAotICAgICAgICAgICAgICAgdG8ga2VlcCB0aGUgaGFzaCB0YWJsZSBjb25zaXN0ZW50IGlmIHdlIHN3aXRjaCBiYWNrIHRvIGxldmVsID4gMAotICAgICAgICAgICAgICAgbGF0ZXIuIChVc2luZyBsZXZlbCAwIHBlcm1hbmVudGx5IGlzIG5vdCBhbiBvcHRpbWFsIHVzYWdlIG9mCi0gICAgICAgICAgICAgICB6bGliLCBzbyB3ZSBkb24ndCBjYXJlIGFib3V0IHRoaXMgcGF0aG9sb2dpY2FsIGNhc2UuKQotICAgICAgICAgICAgICovCi0gICAgICAgICAgICBuID0gcy0+aGFzaF9zaXplOwotICAgICAgICAgICAgcCA9ICZzLT5oZWFkW25dOwotICAgICAgICAgICAgZG8gewotICAgICAgICAgICAgICAgIG0gPSAqLS1wOwotICAgICAgICAgICAgICAgICpwID0gKFBvcykobSA+PSB3c2l6ZSA/IG0td3NpemUgOiBOSUwpOwotICAgICAgICAgICAgfSB3aGlsZSAoLS1uKTsKLQotICAgICAgICAgICAgbiA9IHdzaXplOwotI2lmbmRlZiBGQVNURVNUCi0gICAgICAgICAgICBwID0gJnMtPnByZXZbbl07Ci0gICAgICAgICAgICBkbyB7Ci0gICAgICAgICAgICAgICAgbSA9ICotLXA7Ci0gICAgICAgICAgICAgICAgKnAgPSAoUG9zKShtID49IHdzaXplID8gbS13c2l6ZSA6IE5JTCk7Ci0gICAgICAgICAgICAgICAgLyogSWYgbiBpcyBub3Qgb24gYW55IGhhc2ggY2hhaW4sIHByZXZbbl0gaXMgZ2FyYmFnZSBidXQKLSAgICAgICAgICAgICAgICAgKiBpdHMgdmFsdWUgd2lsbCBuZXZlciBiZSB1c2VkLgotICAgICAgICAgICAgICAgICAqLwotICAgICAgICAgICAgfSB3aGlsZSAoLS1uKTsKLSNlbmRpZgorICAgICAgICAgICAgaWYgKHMtPmluc2VydCA+IHMtPnN0cnN0YXJ0KQorICAgICAgICAgICAgICAgIHMtPmluc2VydCA9IHMtPnN0cnN0YXJ0OworICAgICAgICAgICAgc2xpZGVfaGFzaChzKTsKICAgICAgICAgICAgIG1vcmUgKz0gd3NpemU7CiAgICAgICAgIH0KICAgICAgICAgaWYgKHMtPnN0cm0tPmF2YWlsX2luID09IDApIGJyZWFrOwpAQCAtMTU1Miw3MCArMTY2NiwyMDUgQEAKICAgIGlmIChzLT5zdHJtLT5hdmFpbF9vdXQgPT0gMCkgcmV0dXJuIChsYXN0KSA/IGZpbmlzaF9zdGFydGVkIDogbmVlZF9tb3JlOyBcCiB9CiAKKy8qIE1heGltdW0gc3RvcmVkIGJsb2NrIGxlbmd0aCBpbiBkZWZsYXRlIGZvcm1hdCAobm90IGluY2x1ZGluZyBoZWFkZXIpLiAqLworI2RlZmluZSBNQVhfU1RPUkVEIDY1NTM1CisKKy8qIE1pbmltdW0gb2YgYSBhbmQgYi4gKi8KKyNkZWZpbmUgTUlOKGEsIGIpICgoYSkgPiAoYikgPyAoYikgOiAoYSkpCisKIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICogQ29weSB3aXRob3V0IGNvbXByZXNzaW9uIGFzIG11Y2ggYXMgcG9zc2libGUgZnJvbSB0aGUgaW5wdXQgc3RyZWFtLCByZXR1cm4KICAqIHRoZSBjdXJyZW50IGJsb2NrIHN0YXRlLgotICogVGhpcyBmdW5jdGlvbiBkb2VzIG5vdCBpbnNlcnQgbmV3IHN0cmluZ3MgaW4gdGhlIGRpY3Rpb25hcnkgc2luY2UKLSAqIHVuY29tcHJlc3NpYmxlIGRhdGEgaXMgcHJvYmFibHkgbm90IHVzZWZ1bC4gVGhpcyBmdW5jdGlvbiBpcyB1c2VkCi0gKiBvbmx5IGZvciB0aGUgbGV2ZWw9MCBjb21wcmVzc2lvbiBvcHRpb24uCi0gKiBOT1RFOiB0aGlzIGZ1bmN0aW9uIHNob3VsZCBiZSBvcHRpbWl6ZWQgdG8gYXZvaWQgZXh0cmEgY29weWluZyBmcm9tCi0gKiB3aW5kb3cgdG8gcGVuZGluZ19idWYuCisgKgorICogSW4gY2FzZSBkZWZsYXRlUGFyYW1zKCkgaXMgdXNlZCB0byBsYXRlciBzd2l0Y2ggdG8gYSBub24temVybyBjb21wcmVzc2lvbgorICogbGV2ZWwsIHMtPm1hdGNoZXMgKG90aGVyd2lzZSB1bnVzZWQgd2hlbiBzdG9yaW5nKSBrZWVwcyB0cmFjayBvZiB0aGUgbnVtYmVyCisgKiBvZiBoYXNoIHRhYmxlIHNsaWRlcyB0byBwZXJmb3JtLiBJZiBzLT5tYXRjaGVzIGlzIDEsIHRoZW4gb25lIGhhc2ggdGFibGUKKyAqIHNsaWRlIHdpbGwgYmUgZG9uZSB3aGVuIHN3aXRjaGluZy4gSWYgcy0+bWF0Y2hlcyBpcyAyLCB0aGUgbWF4aW11bSB2YWx1ZQorICogYWxsb3dlZCBoZXJlLCB0aGVuIHRoZSBoYXNoIHRhYmxlIHdpbGwgYmUgY2xlYXJlZCwgc2luY2UgdHdvIG9yIG1vcmUgc2xpZGVzCisgKiBpcyB0aGUgc2FtZSBhcyBhIGNsZWFyLgorICoKKyAqIGRlZmxhdGVfc3RvcmVkKCkgaXMgd3JpdHRlbiB0byBtaW5pbWl6ZSB0aGUgbnVtYmVyIG9mIHRpbWVzIGFuIGlucHV0IGJ5dGUgaXMKKyAqIGNvcGllZC4gSXQgaXMgbW9zdCBlZmZpY2llbnQgd2l0aCBsYXJnZSBpbnB1dCBhbmQgb3V0cHV0IGJ1ZmZlcnMsIHdoaWNoCisgKiBtYXhpbWl6ZXMgdGhlIG9wcG9ydHVuaXRpZXMgdG8gaGF2ZSBhIHNpbmdsZSBjb3B5IGZyb20gbmV4dF9pbiB0byBuZXh0X291dC4KICAqLwogbG9jYWwgYmxvY2tfc3RhdGUgZGVmbGF0ZV9zdG9yZWQocywgZmx1c2gpCiAgICAgZGVmbGF0ZV9zdGF0ZSAqczsKICAgICBpbnQgZmx1c2g7CiB7Ci0gICAgLyogU3RvcmVkIGJsb2NrcyBhcmUgbGltaXRlZCB0byAweGZmZmYgYnl0ZXMsIHBlbmRpbmdfYnVmIGlzIGxpbWl0ZWQKLSAgICAgKiB0byBwZW5kaW5nX2J1Zl9zaXplLCBhbmQgZWFjaCBzdG9yZWQgYmxvY2sgaGFzIGEgNSBieXRlIGhlYWRlcjoKKyAgICAvKiBTbWFsbGVzdCB3b3J0aHkgYmxvY2sgc2l6ZSB3aGVuIG5vdCBmbHVzaGluZyBvciBmaW5pc2hpbmcuIEJ5IGRlZmF1bHQKKyAgICAgKiB0aGlzIGlzIDMySy4gVGhpcyBjYW4gYmUgYXMgc21hbGwgYXMgNTA3IGJ5dGVzIGZvciBtZW1MZXZlbCA9PSAxLiBGb3IKKyAgICAgKiBsYXJnZSBpbnB1dCBhbmQgb3V0cHV0IGJ1ZmZlcnMsIHRoZSBzdG9yZWQgYmxvY2sgc2l6ZSB3aWxsIGJlIGxhcmdlci4KICAgICAgKi8KLSAgICB1bGcgbWF4X2Jsb2NrX3NpemUgPSAweGZmZmY7Ci0gICAgdWxnIG1heF9zdGFydDsKKyAgICB1bnNpZ25lZCBtaW5fYmxvY2sgPSBNSU4ocy0+cGVuZGluZ19idWZfc2l6ZSAtIDUsIHMtPndfc2l6ZSk7CiAKLSAgICBpZiAobWF4X2Jsb2NrX3NpemUgPiBzLT5wZW5kaW5nX2J1Zl9zaXplIC0gNSkgewotICAgICAgICBtYXhfYmxvY2tfc2l6ZSA9IHMtPnBlbmRpbmdfYnVmX3NpemUgLSA1OwotICAgIH0KLQotICAgIC8qIENvcHkgYXMgbXVjaCBhcyBwb3NzaWJsZSBmcm9tIGlucHV0IHRvIG91dHB1dDogKi8KLSAgICBmb3IgKDs7KSB7Ci0gICAgICAgIC8qIEZpbGwgdGhlIHdpbmRvdyBhcyBtdWNoIGFzIHBvc3NpYmxlOiAqLwotICAgICAgICBpZiAocy0+bG9va2FoZWFkIDw9IDEpIHsKLQotICAgICAgICAgICAgQXNzZXJ0KHMtPnN0cnN0YXJ0IDwgcy0+d19zaXplK01BWF9ESVNUKHMpIHx8Ci0gICAgICAgICAgICAgICAgICAgcy0+YmxvY2tfc3RhcnQgPj0gKGxvbmcpcy0+d19zaXplLCAic2xpZGUgdG9vIGxhdGUiKTsKLQotICAgICAgICAgICAgZmlsbF93aW5kb3cocyk7Ci0gICAgICAgICAgICBpZiAocy0+bG9va2FoZWFkID09IDAgJiYgZmx1c2ggPT0gWl9OT19GTFVTSCkgcmV0dXJuIG5lZWRfbW9yZTsKLQotICAgICAgICAgICAgaWYgKHMtPmxvb2thaGVhZCA9PSAwKSBicmVhazsgLyogZmx1c2ggdGhlIGN1cnJlbnQgYmxvY2sgKi8KLSAgICAgICAgfQotICAgICAgICBBc3NlcnQocy0+YmxvY2tfc3RhcnQgPj0gMEwsICJibG9jayBnb25lIik7Ci0KLSAgICAgICAgcy0+c3Ryc3RhcnQgKz0gcy0+bG9va2FoZWFkOwotICAgICAgICBzLT5sb29rYWhlYWQgPSAwOwotCi0gICAgICAgIC8qIEVtaXQgYSBzdG9yZWQgYmxvY2sgaWYgcGVuZGluZ19idWYgd2lsbCBiZSBmdWxsOiAqLwotICAgICAgICBtYXhfc3RhcnQgPSBzLT5ibG9ja19zdGFydCArIG1heF9ibG9ja19zaXplOwotICAgICAgICBpZiAocy0+c3Ryc3RhcnQgPT0gMCB8fCAodWxnKXMtPnN0cnN0YXJ0ID49IG1heF9zdGFydCkgewotICAgICAgICAgICAgLyogc3Ryc3RhcnQgPT0gMCBpcyBwb3NzaWJsZSB3aGVuIHdyYXBhcm91bmQgb24gMTYtYml0IG1hY2hpbmUgKi8KLSAgICAgICAgICAgIHMtPmxvb2thaGVhZCA9ICh1SW50KShzLT5zdHJzdGFydCAtIG1heF9zdGFydCk7Ci0gICAgICAgICAgICBzLT5zdHJzdGFydCA9ICh1SW50KW1heF9zdGFydDsKLSAgICAgICAgICAgIEZMVVNIX0JMT0NLKHMsIDApOwotICAgICAgICB9Ci0gICAgICAgIC8qIEZsdXNoIGlmIHdlIG1heSBoYXZlIHRvIHNsaWRlLCBvdGhlcndpc2UgYmxvY2tfc3RhcnQgbWF5IGJlY29tZQotICAgICAgICAgKiBuZWdhdGl2ZSBhbmQgdGhlIGRhdGEgd2lsbCBiZSBnb25lOgorICAgIC8qIENvcHkgYXMgbWFueSBtaW5fYmxvY2sgb3IgbGFyZ2VyIHN0b3JlZCBibG9ja3MgZGlyZWN0bHkgdG8gbmV4dF9vdXQgYXMKKyAgICAgKiBwb3NzaWJsZS4gSWYgZmx1c2hpbmcsIGNvcHkgdGhlIHJlbWFpbmluZyBhdmFpbGFibGUgaW5wdXQgdG8gbmV4dF9vdXQgYXMKKyAgICAgKiBzdG9yZWQgYmxvY2tzLCBpZiB0aGVyZSBpcyBlbm91Z2ggc3BhY2UuCisgICAgICovCisgICAgdW5zaWduZWQgbGVuLCBsZWZ0LCBoYXZlLCBsYXN0ID0gMDsKKyAgICB1bnNpZ25lZCB1c2VkID0gcy0+c3RybS0+YXZhaWxfaW47CisgICAgZG8geworICAgICAgICAvKiBTZXQgbGVuIHRvIHRoZSBtYXhpbXVtIHNpemUgYmxvY2sgdGhhdCB3ZSBjYW4gY29weSBkaXJlY3RseSB3aXRoIHRoZQorICAgICAgICAgKiBhdmFpbGFibGUgaW5wdXQgZGF0YSBhbmQgb3V0cHV0IHNwYWNlLiBTZXQgbGVmdCB0byBob3cgbXVjaCBvZiB0aGF0CisgICAgICAgICAqIHdvdWxkIGJlIGNvcGllZCBmcm9tIHdoYXQncyBsZWZ0IGluIHRoZSB3aW5kb3cuCiAgICAgICAgICAqLwotICAgICAgICBpZiAocy0+c3Ryc3RhcnQgLSAodUludClzLT5ibG9ja19zdGFydCA+PSBNQVhfRElTVChzKSkgewotICAgICAgICAgICAgRkxVU0hfQkxPQ0socywgMCk7CisgICAgICAgIGxlbiA9IE1BWF9TVE9SRUQ7ICAgICAgIC8qIG1heGltdW0gZGVmbGF0ZSBzdG9yZWQgYmxvY2sgbGVuZ3RoICovCisgICAgICAgIGhhdmUgPSAocy0+YmlfdmFsaWQgKyA0MikgPj4gMzsgICAgICAgICAvKiBudW1iZXIgb2YgaGVhZGVyIGJ5dGVzICovCisgICAgICAgIGlmIChzLT5zdHJtLT5hdmFpbF9vdXQgPCBoYXZlKSAgICAgICAgICAvKiBuZWVkIHJvb20gZm9yIGhlYWRlciAqLworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAvKiBtYXhpbXVtIHN0b3JlZCBibG9jayBsZW5ndGggdGhhdCB3aWxsIGZpdCBpbiBhdmFpbF9vdXQ6ICovCisgICAgICAgIGhhdmUgPSBzLT5zdHJtLT5hdmFpbF9vdXQgLSBoYXZlOworICAgICAgICBsZWZ0ID0gcy0+c3Ryc3RhcnQgLSBzLT5ibG9ja19zdGFydDsgICAgLyogYnl0ZXMgbGVmdCBpbiB3aW5kb3cgKi8KKyAgICAgICAgaWYgKGxlbiA+ICh1bGcpbGVmdCArIHMtPnN0cm0tPmF2YWlsX2luKQorICAgICAgICAgICAgbGVuID0gbGVmdCArIHMtPnN0cm0tPmF2YWlsX2luOyAgICAgLyogbGltaXQgbGVuIHRvIHRoZSBpbnB1dCAqLworICAgICAgICBpZiAobGVuID4gaGF2ZSkKKyAgICAgICAgICAgIGxlbiA9IGhhdmU7ICAgICAgICAgICAgICAgICAgICAgICAgIC8qIGxpbWl0IGxlbiB0byB0aGUgb3V0cHV0ICovCisKKyAgICAgICAgLyogSWYgdGhlIHN0b3JlZCBibG9jayB3b3VsZCBiZSBsZXNzIHRoYW4gbWluX2Jsb2NrIGluIGxlbmd0aCwgb3IgaWYKKyAgICAgICAgICogdW5hYmxlIHRvIGNvcHkgYWxsIG9mIHRoZSBhdmFpbGFibGUgaW5wdXQgd2hlbiBmbHVzaGluZywgdGhlbiB0cnkKKyAgICAgICAgICogY29weWluZyB0byB0aGUgd2luZG93IGFuZCB0aGUgcGVuZGluZyBidWZmZXIgaW5zdGVhZC4gQWxzbyBkb24ndAorICAgICAgICAgKiB3cml0ZSBhbiBlbXB0eSBibG9jayB3aGVuIGZsdXNoaW5nIC0tIGRlZmxhdGUoKSBkb2VzIHRoYXQuCisgICAgICAgICAqLworICAgICAgICBpZiAobGVuIDwgbWluX2Jsb2NrICYmICgobGVuID09IDAgJiYgZmx1c2ggIT0gWl9GSU5JU0gpIHx8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsdXNoID09IFpfTk9fRkxVU0ggfHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVuICE9IGxlZnQgKyBzLT5zdHJtLT5hdmFpbF9pbikpCisgICAgICAgICAgICBicmVhazsKKworICAgICAgICAvKiBNYWtlIGEgZHVtbXkgc3RvcmVkIGJsb2NrIGluIHBlbmRpbmcgdG8gZ2V0IHRoZSBoZWFkZXIgYnl0ZXMsCisgICAgICAgICAqIGluY2x1ZGluZyBhbnkgcGVuZGluZyBiaXRzLiBUaGlzIGFsc28gdXBkYXRlcyB0aGUgZGVidWdnaW5nIGNvdW50cy4KKyAgICAgICAgICovCisgICAgICAgIGxhc3QgPSBmbHVzaCA9PSBaX0ZJTklTSCAmJiBsZW4gPT0gbGVmdCArIHMtPnN0cm0tPmF2YWlsX2luID8gMSA6IDA7CisgICAgICAgIF90cl9zdG9yZWRfYmxvY2socywgKGNoYXIgKikwLCAwTCwgbGFzdCk7CisKKyAgICAgICAgLyogUmVwbGFjZSB0aGUgbGVuZ3RocyBpbiB0aGUgZHVtbXkgc3RvcmVkIGJsb2NrIHdpdGggbGVuLiAqLworICAgICAgICBzLT5wZW5kaW5nX2J1ZltzLT5wZW5kaW5nIC0gNF0gPSBsZW47CisgICAgICAgIHMtPnBlbmRpbmdfYnVmW3MtPnBlbmRpbmcgLSAzXSA9IGxlbiA+PiA4OworICAgICAgICBzLT5wZW5kaW5nX2J1ZltzLT5wZW5kaW5nIC0gMl0gPSB+bGVuOworICAgICAgICBzLT5wZW5kaW5nX2J1ZltzLT5wZW5kaW5nIC0gMV0gPSB+bGVuID4+IDg7CisKKyAgICAgICAgLyogV3JpdGUgdGhlIHN0b3JlZCBibG9jayBoZWFkZXIgYnl0ZXMuICovCisgICAgICAgIGZsdXNoX3BlbmRpbmcocy0+c3RybSk7CisKKyNpZmRlZiBaTElCX0RFQlVHCisgICAgICAgIC8qIFVwZGF0ZSBkZWJ1Z2dpbmcgY291bnRzIGZvciB0aGUgZGF0YSBhYm91dCB0byBiZSBjb3BpZWQuICovCisgICAgICAgIHMtPmNvbXByZXNzZWRfbGVuICs9IGxlbiA8PCAzOworICAgICAgICBzLT5iaXRzX3NlbnQgKz0gbGVuIDw8IDM7CisjZW5kaWYKKworICAgICAgICAvKiBDb3B5IHVuY29tcHJlc3NlZCBieXRlcyBmcm9tIHRoZSB3aW5kb3cgdG8gbmV4dF9vdXQuICovCisgICAgICAgIGlmIChsZWZ0KSB7CisgICAgICAgICAgICBpZiAobGVmdCA+IGxlbikKKyAgICAgICAgICAgICAgICBsZWZ0ID0gbGVuOworICAgICAgICAgICAgem1lbWNweShzLT5zdHJtLT5uZXh0X291dCwgcy0+d2luZG93ICsgcy0+YmxvY2tfc3RhcnQsIGxlZnQpOworICAgICAgICAgICAgcy0+c3RybS0+bmV4dF9vdXQgKz0gbGVmdDsKKyAgICAgICAgICAgIHMtPnN0cm0tPmF2YWlsX291dCAtPSBsZWZ0OworICAgICAgICAgICAgcy0+c3RybS0+dG90YWxfb3V0ICs9IGxlZnQ7CisgICAgICAgICAgICBzLT5ibG9ja19zdGFydCArPSBsZWZ0OworICAgICAgICAgICAgbGVuIC09IGxlZnQ7CiAgICAgICAgIH0KKworICAgICAgICAvKiBDb3B5IHVuY29tcHJlc3NlZCBieXRlcyBkaXJlY3RseSBmcm9tIG5leHRfaW4gdG8gbmV4dF9vdXQsIHVwZGF0aW5nCisgICAgICAgICAqIHRoZSBjaGVjayB2YWx1ZS4KKyAgICAgICAgICovCisgICAgICAgIGlmIChsZW4pIHsKKyAgICAgICAgICAgIHJlYWRfYnVmKHMtPnN0cm0sIHMtPnN0cm0tPm5leHRfb3V0LCBsZW4pOworICAgICAgICAgICAgcy0+c3RybS0+bmV4dF9vdXQgKz0gbGVuOworICAgICAgICAgICAgcy0+c3RybS0+YXZhaWxfb3V0IC09IGxlbjsKKyAgICAgICAgICAgIHMtPnN0cm0tPnRvdGFsX291dCArPSBsZW47CisgICAgICAgIH0KKyAgICB9IHdoaWxlIChsYXN0ID09IDApOworCisgICAgLyogVXBkYXRlIHRoZSBzbGlkaW5nIHdpbmRvdyB3aXRoIHRoZSBsYXN0IHMtPndfc2l6ZSBieXRlcyBvZiB0aGUgY29waWVkCisgICAgICogZGF0YSwgb3IgYXBwZW5kIGFsbCBvZiB0aGUgY29waWVkIGRhdGEgdG8gdGhlIGV4aXN0aW5nIHdpbmRvdyBpZiBsZXNzCisgICAgICogdGhhbiBzLT53X3NpemUgYnl0ZXMgd2VyZSBjb3BpZWQuIEFsc28gdXBkYXRlIHRoZSBudW1iZXIgb2YgYnl0ZXMgdG8KKyAgICAgKiBpbnNlcnQgaW4gdGhlIGhhc2ggdGFibGVzLCBpbiB0aGUgZXZlbnQgdGhhdCBkZWZsYXRlUGFyYW1zKCkgc3dpdGNoZXMgdG8KKyAgICAgKiBhIG5vbi16ZXJvIGNvbXByZXNzaW9uIGxldmVsLgorICAgICAqLworICAgIHVzZWQgLT0gcy0+c3RybS0+YXZhaWxfaW47ICAgICAgLyogbnVtYmVyIG9mIGlucHV0IGJ5dGVzIGRpcmVjdGx5IGNvcGllZCAqLworICAgIGlmICh1c2VkKSB7CisgICAgICAgIC8qIElmIGFueSBpbnB1dCB3YXMgdXNlZCwgdGhlbiBubyB1bnVzZWQgaW5wdXQgcmVtYWlucyBpbiB0aGUgd2luZG93LAorICAgICAgICAgKiB0aGVyZWZvcmUgcy0+YmxvY2tfc3RhcnQgPT0gcy0+c3Ryc3RhcnQuCisgICAgICAgICAqLworICAgICAgICBpZiAodXNlZCA+PSBzLT53X3NpemUpIHsgICAgLyogc3VwcGxhbnQgdGhlIHByZXZpb3VzIGhpc3RvcnkgKi8KKyAgICAgICAgICAgIHMtPm1hdGNoZXMgPSAyOyAgICAgICAgIC8qIGNsZWFyIGhhc2ggKi8KKyAgICAgICAgICAgIHptZW1jcHkocy0+d2luZG93LCBzLT5zdHJtLT5uZXh0X2luIC0gcy0+d19zaXplLCBzLT53X3NpemUpOworICAgICAgICAgICAgcy0+c3Ryc3RhcnQgPSBzLT53X3NpemU7CisgICAgICAgICAgICBzLT5pbnNlcnQgPSBzLT5zdHJzdGFydDsKKyAgICAgICAgfQorICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIGlmIChzLT53aW5kb3dfc2l6ZSAtIHMtPnN0cnN0YXJ0IDw9IHVzZWQpIHsKKyAgICAgICAgICAgICAgICAvKiBTbGlkZSB0aGUgd2luZG93IGRvd24uICovCisgICAgICAgICAgICAgICAgcy0+c3Ryc3RhcnQgLT0gcy0+d19zaXplOworICAgICAgICAgICAgICAgIHptZW1jcHkocy0+d2luZG93LCBzLT53aW5kb3cgKyBzLT53X3NpemUsIHMtPnN0cnN0YXJ0KTsKKyAgICAgICAgICAgICAgICBpZiAocy0+bWF0Y2hlcyA8IDIpCisgICAgICAgICAgICAgICAgICAgIHMtPm1hdGNoZXMrKzsgICAvKiBhZGQgYSBwZW5kaW5nIHNsaWRlX2hhc2goKSAqLworICAgICAgICAgICAgICAgIGlmIChzLT5pbnNlcnQgPiBzLT5zdHJzdGFydCkKKyAgICAgICAgICAgICAgICAgICAgcy0+aW5zZXJ0ID0gcy0+c3Ryc3RhcnQ7CisgICAgICAgICAgICB9CisgICAgICAgICAgICB6bWVtY3B5KHMtPndpbmRvdyArIHMtPnN0cnN0YXJ0LCBzLT5zdHJtLT5uZXh0X2luIC0gdXNlZCwgdXNlZCk7CisgICAgICAgICAgICBzLT5zdHJzdGFydCArPSB1c2VkOworICAgICAgICAgICAgcy0+aW5zZXJ0ICs9IE1JTih1c2VkLCBzLT53X3NpemUgLSBzLT5pbnNlcnQpOworICAgICAgICB9CisgICAgICAgIHMtPmJsb2NrX3N0YXJ0ID0gcy0+c3Ryc3RhcnQ7CiAgICAgfQotICAgIHMtPmluc2VydCA9IDA7Ci0gICAgaWYgKGZsdXNoID09IFpfRklOSVNIKSB7Ci0gICAgICAgIEZMVVNIX0JMT0NLKHMsIDEpOworICAgIGlmIChzLT5oaWdoX3dhdGVyIDwgcy0+c3Ryc3RhcnQpCisgICAgICAgIHMtPmhpZ2hfd2F0ZXIgPSBzLT5zdHJzdGFydDsKKworICAgIC8qIElmIHRoZSBsYXN0IGJsb2NrIHdhcyB3cml0dGVuIHRvIG5leHRfb3V0LCB0aGVuIGRvbmUuICovCisgICAgaWYgKGxhc3QpCiAgICAgICAgIHJldHVybiBmaW5pc2hfZG9uZTsKKworICAgIC8qIElmIGZsdXNoaW5nIGFuZCBhbGwgaW5wdXQgaGFzIGJlZW4gY29uc3VtZWQsIHRoZW4gZG9uZS4gKi8KKyAgICBpZiAoZmx1c2ggIT0gWl9OT19GTFVTSCAmJiBmbHVzaCAhPSBaX0ZJTklTSCAmJgorICAgICAgICBzLT5zdHJtLT5hdmFpbF9pbiA9PSAwICYmIChsb25nKXMtPnN0cnN0YXJ0ID09IHMtPmJsb2NrX3N0YXJ0KQorICAgICAgICByZXR1cm4gYmxvY2tfZG9uZTsKKworICAgIC8qIEZpbGwgdGhlIHdpbmRvdyB3aXRoIGFueSByZW1haW5pbmcgaW5wdXQuICovCisgICAgaGF2ZSA9IHMtPndpbmRvd19zaXplIC0gcy0+c3Ryc3RhcnQ7CisgICAgaWYgKHMtPnN0cm0tPmF2YWlsX2luID4gaGF2ZSAmJiBzLT5ibG9ja19zdGFydCA+PSAobG9uZylzLT53X3NpemUpIHsKKyAgICAgICAgLyogU2xpZGUgdGhlIHdpbmRvdyBkb3duLiAqLworICAgICAgICBzLT5ibG9ja19zdGFydCAtPSBzLT53X3NpemU7CisgICAgICAgIHMtPnN0cnN0YXJ0IC09IHMtPndfc2l6ZTsKKyAgICAgICAgem1lbWNweShzLT53aW5kb3csIHMtPndpbmRvdyArIHMtPndfc2l6ZSwgcy0+c3Ryc3RhcnQpOworICAgICAgICBpZiAocy0+bWF0Y2hlcyA8IDIpCisgICAgICAgICAgICBzLT5tYXRjaGVzKys7ICAgICAgICAgICAvKiBhZGQgYSBwZW5kaW5nIHNsaWRlX2hhc2goKSAqLworICAgICAgICBoYXZlICs9IHMtPndfc2l6ZTsgICAgICAgICAgLyogbW9yZSBzcGFjZSBub3cgKi8KKyAgICAgICAgaWYgKHMtPmluc2VydCA+IHMtPnN0cnN0YXJ0KQorICAgICAgICAgICAgcy0+aW5zZXJ0ID0gcy0+c3Ryc3RhcnQ7CiAgICAgfQotICAgIGlmICgobG9uZylzLT5zdHJzdGFydCA+IHMtPmJsb2NrX3N0YXJ0KQotICAgICAgICBGTFVTSF9CTE9DSyhzLCAwKTsKLSAgICByZXR1cm4gYmxvY2tfZG9uZTsKKyAgICBpZiAoaGF2ZSA+IHMtPnN0cm0tPmF2YWlsX2luKQorICAgICAgICBoYXZlID0gcy0+c3RybS0+YXZhaWxfaW47CisgICAgaWYgKGhhdmUpIHsKKyAgICAgICAgcmVhZF9idWYocy0+c3RybSwgcy0+d2luZG93ICsgcy0+c3Ryc3RhcnQsIGhhdmUpOworICAgICAgICBzLT5zdHJzdGFydCArPSBoYXZlOworICAgICAgICBzLT5pbnNlcnQgKz0gTUlOKGhhdmUsIHMtPndfc2l6ZSAtIHMtPmluc2VydCk7CisgICAgfQorICAgIGlmIChzLT5oaWdoX3dhdGVyIDwgcy0+c3Ryc3RhcnQpCisgICAgICAgIHMtPmhpZ2hfd2F0ZXIgPSBzLT5zdHJzdGFydDsKKworICAgIC8qIFRoZXJlIHdhcyBub3QgZW5vdWdoIGF2YWlsX291dCB0byB3cml0ZSBhIGNvbXBsZXRlIHdvcnRoeSBvciBmbHVzaGVkCisgICAgICogc3RvcmVkIGJsb2NrIHRvIG5leHRfb3V0LiBXcml0ZSBhIHN0b3JlZCBibG9jayB0byBwZW5kaW5nIGluc3RlYWQsIGlmIHdlCisgICAgICogaGF2ZSBlbm91Z2ggaW5wdXQgZm9yIGEgd29ydGh5IGJsb2NrLCBvciBpZiBmbHVzaGluZyBhbmQgdGhlcmUgaXMgZW5vdWdoCisgICAgICogcm9vbSBmb3IgdGhlIHJlbWFpbmluZyBpbnB1dCBhcyBhIHN0b3JlZCBibG9jayBpbiB0aGUgcGVuZGluZyBidWZmZXIuCisgICAgICovCisgICAgaGF2ZSA9IChzLT5iaV92YWxpZCArIDQyKSA+PiAzOyAgICAgICAgIC8qIG51bWJlciBvZiBoZWFkZXIgYnl0ZXMgKi8KKyAgICAgICAgLyogbWF4aW11bSBzdG9yZWQgYmxvY2sgbGVuZ3RoIHRoYXQgd2lsbCBmaXQgaW4gcGVuZGluZzogKi8KKyAgICBoYXZlID0gTUlOKHMtPnBlbmRpbmdfYnVmX3NpemUgLSBoYXZlLCBNQVhfU1RPUkVEKTsKKyAgICBtaW5fYmxvY2sgPSBNSU4oaGF2ZSwgcy0+d19zaXplKTsKKyAgICBsZWZ0ID0gcy0+c3Ryc3RhcnQgLSBzLT5ibG9ja19zdGFydDsKKyAgICBpZiAobGVmdCA+PSBtaW5fYmxvY2sgfHwKKyAgICAgICAgKChsZWZ0IHx8IGZsdXNoID09IFpfRklOSVNIKSAmJiBmbHVzaCAhPSBaX05PX0ZMVVNIICYmCisgICAgICAgICBzLT5zdHJtLT5hdmFpbF9pbiA9PSAwICYmIGxlZnQgPD0gaGF2ZSkpIHsKKyAgICAgICAgbGVuID0gTUlOKGxlZnQsIGhhdmUpOworICAgICAgICBsYXN0ID0gZmx1c2ggPT0gWl9GSU5JU0ggJiYgcy0+c3RybS0+YXZhaWxfaW4gPT0gMCAmJgorICAgICAgICAgICAgICAgbGVuID09IGxlZnQgPyAxIDogMDsKKyAgICAgICAgX3RyX3N0b3JlZF9ibG9jayhzLCAoY2hhcmYgKilzLT53aW5kb3cgKyBzLT5ibG9ja19zdGFydCwgbGVuLCBsYXN0KTsKKyAgICAgICAgcy0+YmxvY2tfc3RhcnQgKz0gbGVuOworICAgICAgICBmbHVzaF9wZW5kaW5nKHMtPnN0cm0pOworICAgIH0KKworICAgIC8qIFdlJ3ZlIGRvbmUgYWxsIHdlIGNhbiB3aXRoIHRoZSBhdmFpbGFibGUgaW5wdXQgYW5kIG91dHB1dC4gKi8KKyAgICByZXR1cm4gbGFzdCA/IGZpbmlzaF9zdGFydGVkIDogbmVlZF9tb3JlOwogfQogCiAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KQEAgLTE2NDYsNyArMTg5NSw3IEBACiAgICAgICAgICAgICBpZiAocy0+bG9va2FoZWFkID09IDApIGJyZWFrOyAvKiBmbHVzaCB0aGUgY3VycmVudCBibG9jayAqLwogICAgICAgICB9CiAKLSAgICAgICAgLyogSW5zZXJ0IHRoZSBzdHJpbmcgd2luZG93W3N0cnN0YXJ0IC4uIHN0cnN0YXJ0KzJdIGluIHRoZQorICAgICAgICAvKiBJbnNlcnQgdGhlIHN0cmluZyB3aW5kb3dbc3Ryc3RhcnQgLi4gc3Ryc3RhcnQgKyAyXSBpbiB0aGUKICAgICAgICAgICogZGljdGlvbmFyeSwgYW5kIHNldCBoYXNoX2hlYWQgdG8gdGhlIGhlYWQgb2YgdGhlIGhhc2ggY2hhaW46CiAgICAgICAgICAqLwogICAgICAgICBoYXNoX2hlYWQgPSBOSUw7CkBAIC0xNjk0LDcgKzE5NDMsNyBAQAogICAgICAgICAgICAgICAgIHMtPnN0cnN0YXJ0ICs9IHMtPm1hdGNoX2xlbmd0aDsKICAgICAgICAgICAgICAgICBzLT5tYXRjaF9sZW5ndGggPSAwOwogICAgICAgICAgICAgICAgIHMtPmluc19oID0gcy0+d2luZG93W3MtPnN0cnN0YXJ0XTsKLSAgICAgICAgICAgICAgICBVUERBVEVfSEFTSChzLCBzLT5pbnNfaCwgcy0+d2luZG93W3MtPnN0cnN0YXJ0KzFdKTsKKyAgICAgICAgICAgICAgICBVUERBVEVfSEFTSChzLCBzLT5pbnNfaCwgcy0+d2luZG93W3MtPnN0cnN0YXJ0ICsgMV0pOwogI2lmIE1JTl9NQVRDSCAhPSAzCiAgICAgICAgICAgICAgICAgQ2FsbCBVUERBVEVfSEFTSCgpIE1JTl9NQVRDSC0zIG1vcmUgdGltZXMKICNlbmRpZgpAQCAtMTcwNSw3ICsxOTU0LDcgQEAKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIC8qIE5vIG1hdGNoLCBvdXRwdXQgYSBsaXRlcmFsIGJ5dGUgKi8KICAgICAgICAgICAgIFRyYWNldnYoKHN0ZGVyciwiJWMiLCBzLT53aW5kb3dbcy0+c3Ryc3RhcnRdKSk7Ci0gICAgICAgICAgICBfdHJfdGFsbHlfbGl0IChzLCBzLT53aW5kb3dbcy0+c3Ryc3RhcnRdLCBiZmx1c2gpOworICAgICAgICAgICAgX3RyX3RhbGx5X2xpdChzLCBzLT53aW5kb3dbcy0+c3Ryc3RhcnRdLCBiZmx1c2gpOwogICAgICAgICAgICAgcy0+bG9va2FoZWFkLS07CiAgICAgICAgICAgICBzLT5zdHJzdGFydCsrOwogICAgICAgICB9CkBAIC0xNzE2LDcgKzE5NjUsNyBAQAogICAgICAgICBGTFVTSF9CTE9DSyhzLCAxKTsKICAgICAgICAgcmV0dXJuIGZpbmlzaF9kb25lOwogICAgIH0KLSAgICBpZiAocy0+bGFzdF9saXQpCisgICAgaWYgKHMtPnN5bV9uZXh0KQogICAgICAgICBGTFVTSF9CTE9DSyhzLCAwKTsKICAgICByZXR1cm4gYmxvY2tfZG9uZTsKIH0KQEAgLTE3NDksNyArMTk5OCw3IEBACiAgICAgICAgICAgICBpZiAocy0+bG9va2FoZWFkID09IDApIGJyZWFrOyAvKiBmbHVzaCB0aGUgY3VycmVudCBibG9jayAqLwogICAgICAgICB9CiAKLSAgICAgICAgLyogSW5zZXJ0IHRoZSBzdHJpbmcgd2luZG93W3N0cnN0YXJ0IC4uIHN0cnN0YXJ0KzJdIGluIHRoZQorICAgICAgICAvKiBJbnNlcnQgdGhlIHN0cmluZyB3aW5kb3dbc3Ryc3RhcnQgLi4gc3Ryc3RhcnQgKyAyXSBpbiB0aGUKICAgICAgICAgICogZGljdGlvbmFyeSwgYW5kIHNldCBoYXNoX2hlYWQgdG8gdGhlIGhlYWQgb2YgdGhlIGhhc2ggY2hhaW46CiAgICAgICAgICAqLwogICAgICAgICBoYXNoX2hlYWQgPSBOSUw7CkBAIC0xNzkxLDE3ICsyMDQwLDE3IEBACiAgICAgICAgICAgICB1SW50IG1heF9pbnNlcnQgPSBzLT5zdHJzdGFydCArIHMtPmxvb2thaGVhZCAtIE1JTl9NQVRDSDsKICAgICAgICAgICAgIC8qIERvIG5vdCBpbnNlcnQgc3RyaW5ncyBpbiBoYXNoIHRhYmxlIGJleW9uZCB0aGlzLiAqLwogCi0gICAgICAgICAgICBjaGVja19tYXRjaChzLCBzLT5zdHJzdGFydC0xLCBzLT5wcmV2X21hdGNoLCBzLT5wcmV2X2xlbmd0aCk7CisgICAgICAgICAgICBjaGVja19tYXRjaChzLCBzLT5zdHJzdGFydCAtIDEsIHMtPnByZXZfbWF0Y2gsIHMtPnByZXZfbGVuZ3RoKTsKIAotICAgICAgICAgICAgX3RyX3RhbGx5X2Rpc3Qocywgcy0+c3Ryc3RhcnQgLTEgLSBzLT5wcmV2X21hdGNoLAorICAgICAgICAgICAgX3RyX3RhbGx5X2Rpc3Qocywgcy0+c3Ryc3RhcnQgLSAxIC0gcy0+cHJldl9tYXRjaCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHMtPnByZXZfbGVuZ3RoIC0gTUlOX01BVENILCBiZmx1c2gpOwogCiAgICAgICAgICAgICAvKiBJbnNlcnQgaW4gaGFzaCB0YWJsZSBhbGwgc3RyaW5ncyB1cCB0byB0aGUgZW5kIG9mIHRoZSBtYXRjaC4KLSAgICAgICAgICAgICAqIHN0cnN0YXJ0LTEgYW5kIHN0cnN0YXJ0IGFyZSBhbHJlYWR5IGluc2VydGVkLiBJZiB0aGVyZSBpcyBub3QKKyAgICAgICAgICAgICAqIHN0cnN0YXJ0IC0gMSBhbmQgc3Ryc3RhcnQgYXJlIGFscmVhZHkgaW5zZXJ0ZWQuIElmIHRoZXJlIGlzIG5vdAogICAgICAgICAgICAgICogZW5vdWdoIGxvb2thaGVhZCwgdGhlIGxhc3QgdHdvIHN0cmluZ3MgYXJlIG5vdCBpbnNlcnRlZCBpbgogICAgICAgICAgICAgICogdGhlIGhhc2ggdGFibGUuCiAgICAgICAgICAgICAgKi8KLSAgICAgICAgICAgIHMtPmxvb2thaGVhZCAtPSBzLT5wcmV2X2xlbmd0aC0xOworICAgICAgICAgICAgcy0+bG9va2FoZWFkIC09IHMtPnByZXZfbGVuZ3RoIC0gMTsKICAgICAgICAgICAgIHMtPnByZXZfbGVuZ3RoIC09IDI7CiAgICAgICAgICAgICBkbyB7CiAgICAgICAgICAgICAgICAgaWYgKCsrcy0+c3Ryc3RhcnQgPD0gbWF4X2luc2VydCkgewpAQCAtMTgxOSw4ICsyMDY4LDggQEAKICAgICAgICAgICAgICAqIHNpbmdsZSBsaXRlcmFsLiBJZiB0aGVyZSB3YXMgYSBtYXRjaCBidXQgdGhlIGN1cnJlbnQgbWF0Y2gKICAgICAgICAgICAgICAqIGlzIGxvbmdlciwgdHJ1bmNhdGUgdGhlIHByZXZpb3VzIG1hdGNoIHRvIGEgc2luZ2xlIGxpdGVyYWwuCiAgICAgICAgICAgICAgKi8KLSAgICAgICAgICAgIFRyYWNldnYoKHN0ZGVyciwiJWMiLCBzLT53aW5kb3dbcy0+c3Ryc3RhcnQtMV0pKTsKLSAgICAgICAgICAgIF90cl90YWxseV9saXQocywgcy0+d2luZG93W3MtPnN0cnN0YXJ0LTFdLCBiZmx1c2gpOworICAgICAgICAgICAgVHJhY2V2digoc3RkZXJyLCIlYyIsIHMtPndpbmRvd1tzLT5zdHJzdGFydCAtIDFdKSk7CisgICAgICAgICAgICBfdHJfdGFsbHlfbGl0KHMsIHMtPndpbmRvd1tzLT5zdHJzdGFydCAtIDFdLCBiZmx1c2gpOwogICAgICAgICAgICAgaWYgKGJmbHVzaCkgewogICAgICAgICAgICAgICAgIEZMVVNIX0JMT0NLX09OTFkocywgMCk7CiAgICAgICAgICAgICB9CkBAIC0xODM4LDggKzIwODcsOCBAQAogICAgIH0KICAgICBBc3NlcnQgKGZsdXNoICE9IFpfTk9fRkxVU0gsICJubyBmbHVzaD8iKTsKICAgICBpZiAocy0+bWF0Y2hfYXZhaWxhYmxlKSB7Ci0gICAgICAgIFRyYWNldnYoKHN0ZGVyciwiJWMiLCBzLT53aW5kb3dbcy0+c3Ryc3RhcnQtMV0pKTsKLSAgICAgICAgX3RyX3RhbGx5X2xpdChzLCBzLT53aW5kb3dbcy0+c3Ryc3RhcnQtMV0sIGJmbHVzaCk7CisgICAgICAgIFRyYWNldnYoKHN0ZGVyciwiJWMiLCBzLT53aW5kb3dbcy0+c3Ryc3RhcnQgLSAxXSkpOworICAgICAgICBfdHJfdGFsbHlfbGl0KHMsIHMtPndpbmRvd1tzLT5zdHJzdGFydCAtIDFdLCBiZmx1c2gpOwogICAgICAgICBzLT5tYXRjaF9hdmFpbGFibGUgPSAwOwogICAgIH0KICAgICBzLT5pbnNlcnQgPSBzLT5zdHJzdGFydCA8IE1JTl9NQVRDSC0xID8gcy0+c3Ryc3RhcnQgOiBNSU5fTUFUQ0gtMTsKQEAgLTE4NDcsNyArMjA5Niw3IEBACiAgICAgICAgIEZMVVNIX0JMT0NLKHMsIDEpOwogICAgICAgICByZXR1cm4gZmluaXNoX2RvbmU7CiAgICAgfQotICAgIGlmIChzLT5sYXN0X2xpdCkKKyAgICBpZiAocy0+c3ltX25leHQpCiAgICAgICAgIEZMVVNIX0JMT0NLKHMsIDApOwogICAgIHJldHVybiBibG9ja19kb25lOwogfQpAQCAtMTg5MiwxMSArMjE0MSwxMiBAQAogICAgICAgICAgICAgICAgICAgICAgICAgIHByZXYgPT0gKisrc2NhbiAmJiBwcmV2ID09ICorK3NjYW4gJiYKICAgICAgICAgICAgICAgICAgICAgICAgICBwcmV2ID09ICorK3NjYW4gJiYgcHJldiA9PSAqKytzY2FuICYmCiAgICAgICAgICAgICAgICAgICAgICAgICAgc2NhbiA8IHN0cmVuZCk7Ci0gICAgICAgICAgICAgICAgcy0+bWF0Y2hfbGVuZ3RoID0gTUFYX01BVENIIC0gKGludCkoc3RyZW5kIC0gc2Nhbik7CisgICAgICAgICAgICAgICAgcy0+bWF0Y2hfbGVuZ3RoID0gTUFYX01BVENIIC0gKHVJbnQpKHN0cmVuZCAtIHNjYW4pOwogICAgICAgICAgICAgICAgIGlmIChzLT5tYXRjaF9sZW5ndGggPiBzLT5sb29rYWhlYWQpCiAgICAgICAgICAgICAgICAgICAgIHMtPm1hdGNoX2xlbmd0aCA9IHMtPmxvb2thaGVhZDsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIEFzc2VydChzY2FuIDw9IHMtPndpbmRvdysodUludCkocy0+d2luZG93X3NpemUtMSksICJ3aWxkIHNjYW4iKTsKKyAgICAgICAgICAgIEFzc2VydChzY2FuIDw9IHMtPndpbmRvdyArICh1SW50KShzLT53aW5kb3dfc2l6ZSAtIDEpLAorICAgICAgICAgICAgICAgICAgICJ3aWxkIHNjYW4iKTsKICAgICAgICAgfQogCiAgICAgICAgIC8qIEVtaXQgbWF0Y2ggaWYgaGF2ZSBydW4gb2YgTUlOX01BVENIIG9yIGxvbmdlciwgZWxzZSBlbWl0IGxpdGVyYWwgKi8KQEAgLTE5MTEsNyArMjE2MSw3IEBACiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAvKiBObyBtYXRjaCwgb3V0cHV0IGEgbGl0ZXJhbCBieXRlICovCiAgICAgICAgICAgICBUcmFjZXZ2KChzdGRlcnIsIiVjIiwgcy0+d2luZG93W3MtPnN0cnN0YXJ0XSkpOwotICAgICAgICAgICAgX3RyX3RhbGx5X2xpdCAocywgcy0+d2luZG93W3MtPnN0cnN0YXJ0XSwgYmZsdXNoKTsKKyAgICAgICAgICAgIF90cl90YWxseV9saXQocywgcy0+d2luZG93W3MtPnN0cnN0YXJ0XSwgYmZsdXNoKTsKICAgICAgICAgICAgIHMtPmxvb2thaGVhZC0tOwogICAgICAgICAgICAgcy0+c3Ryc3RhcnQrKzsKICAgICAgICAgfQpAQCAtMTkyMiw3ICsyMTcyLDcgQEAKICAgICAgICAgRkxVU0hfQkxPQ0socywgMSk7CiAgICAgICAgIHJldHVybiBmaW5pc2hfZG9uZTsKICAgICB9Ci0gICAgaWYgKHMtPmxhc3RfbGl0KQorICAgIGlmIChzLT5zeW1fbmV4dCkKICAgICAgICAgRkxVU0hfQkxPQ0socywgMCk7CiAgICAgcmV0dXJuIGJsb2NrX2RvbmU7CiB9CkBAIC0xOTUxLDcgKzIyMDEsNyBAQAogICAgICAgICAvKiBPdXRwdXQgYSBsaXRlcmFsIGJ5dGUgKi8KICAgICAgICAgcy0+bWF0Y2hfbGVuZ3RoID0gMDsKICAgICAgICAgVHJhY2V2digoc3RkZXJyLCIlYyIsIHMtPndpbmRvd1tzLT5zdHJzdGFydF0pKTsKLSAgICAgICAgX3RyX3RhbGx5X2xpdCAocywgcy0+d2luZG93W3MtPnN0cnN0YXJ0XSwgYmZsdXNoKTsKKyAgICAgICAgX3RyX3RhbGx5X2xpdChzLCBzLT53aW5kb3dbcy0+c3Ryc3RhcnRdLCBiZmx1c2gpOwogICAgICAgICBzLT5sb29rYWhlYWQtLTsKICAgICAgICAgcy0+c3Ryc3RhcnQrKzsKICAgICAgICAgaWYgKGJmbHVzaCkgRkxVU0hfQkxPQ0socywgMCk7CkBAIC0xOTYxLDcgKzIyMTEsNyBAQAogICAgICAgICBGTFVTSF9CTE9DSyhzLCAxKTsKICAgICAgICAgcmV0dXJuIGZpbmlzaF9kb25lOwogICAgIH0KLSAgICBpZiAocy0+bGFzdF9saXQpCisgICAgaWYgKHMtPnN5bV9uZXh0KQogICAgICAgICBGTFVTSF9CTE9DSyhzLCAwKTsKICAgICByZXR1cm4gYmxvY2tfZG9uZTsKIH0KZGlmZiAtLWdpdCBhL3NyYy9kZWZsYXRlLmggYi9zcmMvZGVmbGF0ZS5oCmluZGV4IGNlMDI5OWUuLjFhMDZjZDUgMTAwNjQ0Ci0tLSBhL3NyYy9kZWZsYXRlLmgKKysrIGIvc3JjL2RlZmxhdGUuaApAQCAtMSw1ICsxLDUgQEAKIC8qIGRlZmxhdGUuaCAtLSBpbnRlcm5hbCBjb21wcmVzc2lvbiBzdGF0ZQotICogQ29weXJpZ2h0IChDKSAxOTk1LTIwMTIgSmVhbi1sb3VwIEdhaWxseQorICogQ29weXJpZ2h0IChDKSAxOTk1LTIwMTggSmVhbi1sb3VwIEdhaWxseQogICogRm9yIGNvbmRpdGlvbnMgb2YgZGlzdHJpYnV0aW9uIGFuZCB1c2UsIHNlZSBjb3B5cmlnaHQgbm90aWNlIGluIHpsaWIuaAogICovCiAKQEAgLTUxLDEzICs1MSwxNiBAQAogI2RlZmluZSBCdWZfc2l6ZSAxNgogLyogc2l6ZSBvZiBiaXQgYnVmZmVyIGluIGJpX2J1ZiAqLwogCi0jZGVmaW5lIElOSVRfU1RBVEUgICAgNDIKLSNkZWZpbmUgRVhUUkFfU1RBVEUgICA2OQotI2RlZmluZSBOQU1FX1NUQVRFICAgIDczCi0jZGVmaW5lIENPTU1FTlRfU1RBVEUgOTEKLSNkZWZpbmUgSENSQ19TVEFURSAgIDEwMwotI2RlZmluZSBCVVNZX1NUQVRFICAgMTEzCi0jZGVmaW5lIEZJTklTSF9TVEFURSA2NjYKKyNkZWZpbmUgSU5JVF9TVEFURSAgICA0MiAgICAvKiB6bGliIGhlYWRlciAtPiBCVVNZX1NUQVRFICovCisjaWZkZWYgR1pJUAorIyAgZGVmaW5lIEdaSVBfU1RBVEUgIDU3ICAgIC8qIGd6aXAgaGVhZGVyIC0+IEJVU1lfU1RBVEUgfCBFWFRSQV9TVEFURSAqLworI2VuZGlmCisjZGVmaW5lIEVYVFJBX1NUQVRFICAgNjkgICAgLyogZ3ppcCBleHRyYSBibG9jayAtPiBOQU1FX1NUQVRFICovCisjZGVmaW5lIE5BTUVfU1RBVEUgICAgNzMgICAgLyogZ3ppcCBmaWxlIG5hbWUgLT4gQ09NTUVOVF9TVEFURSAqLworI2RlZmluZSBDT01NRU5UX1NUQVRFIDkxICAgIC8qIGd6aXAgY29tbWVudCAtPiBIQ1JDX1NUQVRFICovCisjZGVmaW5lIEhDUkNfU1RBVEUgICAxMDMgICAgLyogZ3ppcCBoZWFkZXIgQ1JDIC0+IEJVU1lfU1RBVEUgKi8KKyNkZWZpbmUgQlVTWV9TVEFURSAgIDExMyAgICAvKiBkZWZsYXRlIC0+IEZJTklTSF9TVEFURSAqLworI2RlZmluZSBGSU5JU0hfU1RBVEUgNjY2ICAgIC8qIHN0cmVhbSBjb21wbGV0ZSAqLwogLyogU3RyZWFtIHN0YXR1cyAqLwogCiAKQEAgLTgzLDcgKzg2LDcgQEAKIHR5cGVkZWYgc3RydWN0IHRyZWVfZGVzY19zIHsKICAgICBjdF9kYXRhICpkeW5fdHJlZTsgICAgICAgICAgIC8qIHRoZSBkeW5hbWljIHRyZWUgKi8KICAgICBpbnQgICAgIG1heF9jb2RlOyAgICAgICAgICAgIC8qIGxhcmdlc3QgY29kZSB3aXRoIG5vbiB6ZXJvIGZyZXF1ZW5jeSAqLwotICAgIHN0YXRpY190cmVlX2Rlc2MgKnN0YXRfZGVzYzsgLyogdGhlIGNvcnJlc3BvbmRpbmcgc3RhdGljIHRyZWUgKi8KKyAgICBjb25zdCBzdGF0aWNfdHJlZV9kZXNjICpzdGF0X2Rlc2M7ICAvKiB0aGUgY29ycmVzcG9uZGluZyBzdGF0aWMgdHJlZSAqLwogfSBGQVIgdHJlZV9kZXNjOwogCiB0eXBlZGVmIHVzaCBQb3M7CkBAIC0xMDAsMTAgKzEwMywxMCBAQAogICAgIEJ5dGVmICpwZW5kaW5nX2J1ZjsgIC8qIG91dHB1dCBzdGlsbCBwZW5kaW5nICovCiAgICAgdWxnICAgcGVuZGluZ19idWZfc2l6ZTsgLyogc2l6ZSBvZiBwZW5kaW5nX2J1ZiAqLwogICAgIEJ5dGVmICpwZW5kaW5nX291dDsgIC8qIG5leHQgcGVuZGluZyBieXRlIHRvIG91dHB1dCB0byB0aGUgc3RyZWFtICovCi0gICAgdUludCAgIHBlbmRpbmc7ICAgICAgLyogbmIgb2YgYnl0ZXMgaW4gdGhlIHBlbmRpbmcgYnVmZmVyICovCisgICAgdWxnICAgcGVuZGluZzsgICAgICAgLyogbmIgb2YgYnl0ZXMgaW4gdGhlIHBlbmRpbmcgYnVmZmVyICovCiAgICAgaW50ICAgd3JhcDsgICAgICAgICAgLyogYml0IDAgdHJ1ZSBmb3IgemxpYiwgYml0IDEgdHJ1ZSBmb3IgZ3ppcCAqLwogICAgIGd6X2hlYWRlcnAgIGd6aGVhZDsgIC8qIGd6aXAgaGVhZGVyIGluZm9ybWF0aW9uIHRvIHdyaXRlICovCi0gICAgdUludCAgIGd6aW5kZXg7ICAgICAgLyogd2hlcmUgaW4gZXh0cmEsIG5hbWUsIG9yIGNvbW1lbnQgKi8KKyAgICB1bGcgICBnemluZGV4OyAgICAgICAvKiB3aGVyZSBpbiBleHRyYSwgbmFtZSwgb3IgY29tbWVudCAqLwogICAgIEJ5dGUgIG1ldGhvZDsgICAgICAgIC8qIGNhbiBvbmx5IGJlIERFRkxBVEVEICovCiAgICAgaW50ICAgbGFzdF9mbHVzaDsgICAgLyogdmFsdWUgb2YgZmx1c2ggcGFyYW0gZm9yIHByZXZpb3VzIGRlZmxhdGUgY2FsbCAqLwogCkBAIC0yMTQsNyArMjE3LDcgQEAKICAgICAvKiBEZXB0aCBvZiBlYWNoIHN1YnRyZWUgdXNlZCBhcyB0aWUgYnJlYWtlciBmb3IgdHJlZXMgb2YgZXF1YWwgZnJlcXVlbmN5CiAgICAgICovCiAKLSAgICB1Y2hmICpsX2J1ZjsgICAgICAgICAgLyogYnVmZmVyIGZvciBsaXRlcmFscyBvciBsZW5ndGhzICovCisgICAgdWNoZiAqc3ltX2J1ZjsgICAgICAgIC8qIGJ1ZmZlciBmb3IgZGlzdGFuY2VzIGFuZCBsaXRlcmFscy9sZW5ndGhzICovCiAKICAgICB1SW50ICBsaXRfYnVmc2l6ZTsKICAgICAvKiBTaXplIG9mIG1hdGNoIGJ1ZmZlciBmb3IgbGl0ZXJhbHMvbGVuZ3Rocy4gIFRoZXJlIGFyZSA0IHJlYXNvbnMgZm9yCkBAIC0yMzYsMjAgKzIzOSwxNSBAQAogICAgICAqICAgLSBJIGNhbid0IGNvdW50IGFib3ZlIDQKICAgICAgKi8KIAotICAgIHVJbnQgbGFzdF9saXQ7ICAgICAgLyogcnVubmluZyBpbmRleCBpbiBsX2J1ZiAqLwotCi0gICAgdXNoZiAqZF9idWY7Ci0gICAgLyogQnVmZmVyIGZvciBkaXN0YW5jZXMuIFRvIHNpbXBsaWZ5IHRoZSBjb2RlLCBkX2J1ZiBhbmQgbF9idWYgaGF2ZQotICAgICAqIHRoZSBzYW1lIG51bWJlciBvZiBlbGVtZW50cy4gVG8gdXNlIGRpZmZlcmVudCBsZW5ndGhzLCBhbiBleHRyYSBmbGFnCi0gICAgICogYXJyYXkgd291bGQgYmUgbmVjZXNzYXJ5LgotICAgICAqLworICAgIHVJbnQgc3ltX25leHQ7ICAgICAgLyogcnVubmluZyBpbmRleCBpbiBzeW1fYnVmICovCisgICAgdUludCBzeW1fZW5kOyAgICAgICAvKiBzeW1ib2wgdGFibGUgZnVsbCB3aGVuIHN5bV9uZXh0IHJlYWNoZXMgdGhpcyAqLwogCiAgICAgdWxnIG9wdF9sZW47ICAgICAgICAvKiBiaXQgbGVuZ3RoIG9mIGN1cnJlbnQgYmxvY2sgd2l0aCBvcHRpbWFsIHRyZWVzICovCiAgICAgdWxnIHN0YXRpY19sZW47ICAgICAvKiBiaXQgbGVuZ3RoIG9mIGN1cnJlbnQgYmxvY2sgd2l0aCBzdGF0aWMgdHJlZXMgKi8KICAgICB1SW50IG1hdGNoZXM7ICAgICAgIC8qIG51bWJlciBvZiBzdHJpbmcgbWF0Y2hlcyBpbiBjdXJyZW50IGJsb2NrICovCiAgICAgdUludCBpbnNlcnQ7ICAgICAgICAvKiBieXRlcyBhdCBlbmQgb2Ygd2luZG93IGxlZnQgdG8gaW5zZXJ0ICovCiAKLSNpZmRlZiBERUJVRworI2lmZGVmIFpMSUJfREVCVUcKICAgICB1bGcgY29tcHJlc3NlZF9sZW47IC8qIHRvdGFsIGJpdCBsZW5ndGggb2YgY29tcHJlc3NlZCBmaWxlIG1vZCAyXjMyICovCiAgICAgdWxnIGJpdHNfc2VudDsgICAgICAvKiBiaXQgbGVuZ3RoIG9mIGNvbXByZXNzZWQgZGF0YSBzZW50IG1vZCAyXjMyICovCiAjZW5kaWYKQEAgLTI3NSw3ICsyNzMsNyBAQAogLyogT3V0cHV0IGEgYnl0ZSBvbiB0aGUgc3RyZWFtLgogICogSU4gYXNzZXJ0aW9uOiB0aGVyZSBpcyBlbm91Z2ggcm9vbSBpbiBwZW5kaW5nX2J1Zi4KICAqLwotI2RlZmluZSBwdXRfYnl0ZShzLCBjKSB7cy0+cGVuZGluZ19idWZbcy0+cGVuZGluZysrXSA9IChjKTt9CisjZGVmaW5lIHB1dF9ieXRlKHMsIGMpIHtzLT5wZW5kaW5nX2J1ZltzLT5wZW5kaW5nKytdID0gKEJ5dGVmKShjKTt9CiAKIAogI2RlZmluZSBNSU5fTE9PS0FIRUFEIChNQVhfTUFUQ0grTUlOX01BVENIKzEpCkBAIC0zMDksNyArMzA3LDcgQEAKICAqIHVzZWQuCiAgKi8KIAotI2lmbmRlZiBERUJVRworI2lmbmRlZiBaTElCX0RFQlVHCiAvKiBJbmxpbmUgdmVyc2lvbnMgb2YgX3RyX3RhbGx5IGZvciBzcGVlZDogKi8KIAogI2lmIGRlZmluZWQoR0VOX1RSRUVTX0gpIHx8ICFkZWZpbmVkKFNUREMpCkBAIC0zMjIsMjAgKzMyMCwyMiBAQAogCiAjIGRlZmluZSBfdHJfdGFsbHlfbGl0KHMsIGMsIGZsdXNoKSBcCiAgIHsgdWNoIGNjID0gKGMpOyBcCi0gICAgcy0+ZF9idWZbcy0+bGFzdF9saXRdID0gMDsgXAotICAgIHMtPmxfYnVmW3MtPmxhc3RfbGl0KytdID0gY2M7IFwKKyAgICBzLT5zeW1fYnVmW3MtPnN5bV9uZXh0KytdID0gMDsgXAorICAgIHMtPnN5bV9idWZbcy0+c3ltX25leHQrK10gPSAwOyBcCisgICAgcy0+c3ltX2J1ZltzLT5zeW1fbmV4dCsrXSA9IGNjOyBcCiAgICAgcy0+ZHluX2x0cmVlW2NjXS5GcmVxKys7IFwKLSAgICBmbHVzaCA9IChzLT5sYXN0X2xpdCA9PSBzLT5saXRfYnVmc2l6ZS0xKTsgXAorICAgIGZsdXNoID0gKHMtPnN5bV9uZXh0ID09IHMtPnN5bV9lbmQpOyBcCiAgICB9CiAjIGRlZmluZSBfdHJfdGFsbHlfZGlzdChzLCBkaXN0YW5jZSwgbGVuZ3RoLCBmbHVzaCkgXAotICB7IHVjaCBsZW4gPSAobGVuZ3RoKTsgXAotICAgIHVzaCBkaXN0ID0gKGRpc3RhbmNlKTsgXAotICAgIHMtPmRfYnVmW3MtPmxhc3RfbGl0XSA9IGRpc3Q7IFwKLSAgICBzLT5sX2J1ZltzLT5sYXN0X2xpdCsrXSA9IGxlbjsgXAorICB7IHVjaCBsZW4gPSAodWNoKShsZW5ndGgpOyBcCisgICAgdXNoIGRpc3QgPSAodXNoKShkaXN0YW5jZSk7IFwKKyAgICBzLT5zeW1fYnVmW3MtPnN5bV9uZXh0KytdID0gKHVjaClkaXN0OyBcCisgICAgcy0+c3ltX2J1ZltzLT5zeW1fbmV4dCsrXSA9ICh1Y2gpKGRpc3QgPj4gOCk7IFwKKyAgICBzLT5zeW1fYnVmW3MtPnN5bV9uZXh0KytdID0gbGVuOyBcCiAgICAgZGlzdC0tOyBcCiAgICAgcy0+ZHluX2x0cmVlW19sZW5ndGhfY29kZVtsZW5dK0xJVEVSQUxTKzFdLkZyZXErKzsgXAogICAgIHMtPmR5bl9kdHJlZVtkX2NvZGUoZGlzdCldLkZyZXErKzsgXAotICAgIGZsdXNoID0gKHMtPmxhc3RfbGl0ID09IHMtPmxpdF9idWZzaXplLTEpOyBcCisgICAgZmx1c2ggPSAocy0+c3ltX25leHQgPT0gcy0+c3ltX2VuZCk7IFwKICAgfQogI2Vsc2UKICMgZGVmaW5lIF90cl90YWxseV9saXQocywgYywgZmx1c2gpIGZsdXNoID0gX3RyX3RhbGx5KHMsIDAsIGMpCmRpZmYgLS1naXQgYS9zcmMvZG9jL2NyYy1kb2MuMS4wLnBkZiBiL3NyYy9kb2MvY3JjLWRvYy4xLjAucGRmCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ2OTQyZWMKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvZG9jL2NyYy1kb2MuMS4wLnBkZgpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9zcmMvZG9jL3R4dHZzYmluLnR4dCBiL3NyYy9kb2MvdHh0dnNiaW4udHh0CmluZGV4IDNkMGYwNjMuLjJhOTAxZWEgMTAwNjQ0Ci0tLSBhL3NyYy9kb2MvdHh0dnNiaW4udHh0CisrKyBiL3NyYy9kb2MvdHh0dnNiaW4udHh0CkBAIC0zOCwxNSArMzgsMTUgQEAKIAogVGhlIGFsZ29yaXRobSB3b3JrcyBieSBkaXZpZGluZyB0aGUgc2V0IG9mIGJ5dGVjb2RlcyBbMC4uMjU1XSBpbnRvIHRocmVlCiBjYXRlZ29yaWVzOgotLSBUaGUgd2hpdGUgbGlzdCBvZiB0ZXh0dWFsIGJ5dGVjb2RlczoKKy0gVGhlIGFsbG93IGxpc3Qgb2YgdGV4dHVhbCBieXRlY29kZXM6CiAgIDkgKFRBQiksIDEwIChMRiksIDEzIChDUiksIDMyIChTUEFDRSkgdG8gMjU1LgogLSBUaGUgZ3JheSBsaXN0IG9mIHRvbGVyYXRlZCBieXRlY29kZXM6CiAgIDcgKEJFTCksIDggKEJTKSwgMTEgKFZUKSwgMTIgKEZGKSwgMjYgKFNVQiksIDI3IChFU0MpLgotLSBUaGUgYmxhY2sgbGlzdCBvZiB1bmRlc2lyZWQsIG5vbi10ZXh0dWFsIGJ5dGVjb2RlczoKKy0gVGhlIGJsb2NrIGxpc3Qgb2YgdW5kZXNpcmVkLCBub24tdGV4dHVhbCBieXRlY29kZXM6CiAgIDAgKE5VTCkgdG8gNiwgMTQgdG8gMzEuCiAKLUlmIGEgZmlsZSBjb250YWlucyBhdCBsZWFzdCBvbmUgYnl0ZSB0aGF0IGJlbG9uZ3MgdG8gdGhlIHdoaXRlIGxpc3QgYW5kCi1ubyBieXRlIHRoYXQgYmVsb25ncyB0byB0aGUgYmxhY2sgbGlzdCwgdGhlbiB0aGUgZmlsZSBpcyBjYXRlZ29yaXplZCBhcworSWYgYSBmaWxlIGNvbnRhaW5zIGF0IGxlYXN0IG9uZSBieXRlIHRoYXQgYmVsb25ncyB0byB0aGUgYWxsb3cgbGlzdCBhbmQKK25vIGJ5dGUgdGhhdCBiZWxvbmdzIHRvIHRoZSBibG9jayBsaXN0LCB0aGVuIHRoZSBmaWxlIGlzIGNhdGVnb3JpemVkIGFzCiBwbGFpbiB0ZXh0OyBvdGhlcndpc2UsIGl0IGlzIGNhdGVnb3JpemVkIGFzIGJpbmFyeS4gIChUaGUgYm91bmRhcnkgY2FzZSwKIHdoZW4gdGhlIGZpbGUgaXMgZW1wdHksIGF1dG9tYXRpY2FsbHkgZmFsbHMgaW50byB0aGUgbGF0dGVyIGNhdGVnb3J5LikKIApAQCAtODQsOSArODQsOSBAQAogcmVzdWx0cyBvbiBhIHRleHQgZW5jb2RlZCwgc2F5LCB1c2luZyBJU08tODg1OS0xNiB2ZXJzdXMgVVRGLTguKQogCiBUaGVyZSBpcyBhbiBleHRyYSBjYXRlZ29yeSBvZiBwbGFpbiB0ZXh0IGZpbGVzIHRoYXQgYXJlICJwb2xsdXRlZCIgd2l0aAotb25lIG9yIG1vcmUgYmxhY2stbGlzdGVkIGNvZGVzLCBlaXRoZXIgYnkgbWlzdGFrZSBvciBieSBwZWN1bGlhciBkZXNpZ24KK29uZSBvciBtb3JlIGJsb2NrLWxpc3RlZCBjb2RlcywgZWl0aGVyIGJ5IG1pc3Rha2Ugb3IgYnkgcGVjdWxpYXIgZGVzaWduCiBjb25zaWRlcmF0aW9ucy4gIEluIHN1Y2ggY2FzZXMsIGEgc2NoZW1lIHRoYXQgdG9sZXJhdGVzIGEgc21hbGwgZnJhY3Rpb24KLW9mIGJsYWNrLWxpc3RlZCBjb2RlcyB3b3VsZCBwcm92aWRlIGFuIGluY3JlYXNlZCByZWNhbGwgKGkuZS4gbW9yZSB0cnVlCitvZiBibG9jay1saXN0ZWQgY29kZXMgd291bGQgcHJvdmlkZSBhbiBpbmNyZWFzZWQgcmVjYWxsIChpLmUuIG1vcmUgdHJ1ZQogcG9zaXRpdmVzKS4gIFRoaXMsIGhvd2V2ZXIsIGluY3VycyBhIHJlZHVjZWQgcHJlY2lzaW9uIG92ZXJhbGwsIHNpbmNlCiBmYWxzZSBwb3NpdGl2ZXMgYXJlIG1vcmUgbGlrZWx5IHRvIGFwcGVhciBpbiBiaW5hcnkgZmlsZXMgdGhhdCBjb250YWluCiBsYXJnZSBjaHVua3Mgb2YgdGV4dHVhbCBkYXRhLiAgRnVydGhlcm1vcmUsICJwb2xsdXRlZCIgcGxhaW4gdGV4dCBzaG91bGQKZGlmZiAtLWdpdCBhL3NyYy9leGFtcGxlcy9SRUFETUUuZXhhbXBsZXMgYi9zcmMvZXhhbXBsZXMvUkVBRE1FLmV4YW1wbGVzCmluZGV4IDU2YTMxNzEuLmUzYTRiODggMTAwNjQ0Ci0tLSBhL3NyYy9leGFtcGxlcy9SRUFETUUuZXhhbXBsZXMKKysrIGIvc3JjL2V4YW1wbGVzL1JFQURNRS5leGFtcGxlcwpAQCAtMzQsNiArMzQsMTAgQEAKICAgICAgIGFuZCBkZWZsYXRlU2V0RGljdGlvbmFyeSgpCiAgICAgLSBpbGx1c3RyYXRlcyB1c2Ugb2YgYSBnemlwIGhlYWRlciBleHRyYSBmaWVsZAogCitnem5vcm0uYworICAgIG5vcm1hbGl6ZSBhIGd6aXAgZmlsZSBieSBjb21iaW5pbmcgbWVtYmVycyBpbnRvIGEgc2luZ2xlIG1lbWJlcgorICAgIC0gZGVtb25zdHJhdGVzIGhvdyB0byBjb25jYXRlbmF0ZSBkZWZsYXRlIHN0cmVhbXMgdXNpbmcgWl9CTE9DSworCiB6bGliX2hvdy5odG1sCiAgICAgcGFpbmZ1bGx5IGNvbXByZWhlbnNpdmUgZGVzY3JpcHRpb24gb2YgenBpcGUuYyAoc2VlIGJlbG93KQogICAgIC0gZGVzY3JpYmVzIGluIGV4Y3J1Y2lhdGluZyBkZXRhaWwgdGhlIHVzZSBvZiBkZWZsYXRlKCkgYW5kIGluZmxhdGUoKQpAQCAtNDQsNiArNDgsNyBAQAogICAgIC0gZGVlcGx5IGNvbW1lbnRlZCBpbiB6bGliX2hvdy5odG1sIChzZWUgYWJvdmUpCiAKIHpyYW4uYworenJhbi5oCiAgICAgaW5kZXggYSB6bGliIG9yIGd6aXAgc3RyZWFtIGFuZCByYW5kb21seSBhY2Nlc3MgaXQKICAgICAtIGlsbHVzdHJhdGVzIHRoZSB1c2Ugb2YgWl9CTE9DSywgaW5mbGF0ZVByaW1lKCksIGFuZAogICAgICAgaW5mbGF0ZVNldERpY3Rpb25hcnkoKSB0byBwcm92aWRlIHJhbmRvbSBhY2Nlc3MKZGlmZiAtLWdpdCBhL3NyYy9leGFtcGxlcy9lbm91Z2guYyBiL3NyYy9leGFtcGxlcy9lbm91Z2guYwppbmRleCBiOTkxMTQ0Li44YTNjYWRlIDEwMDY0NAotLS0gYS9zcmMvZXhhbXBsZXMvZW5vdWdoLmMKKysrIGIvc3JjL2V4YW1wbGVzL2Vub3VnaC5jCkBAIC0xLDcgKzEsNyBAQAogLyogZW5vdWdoLmMgLS0gZGV0ZXJtaW5lIHRoZSBtYXhpbXVtIHNpemUgb2YgaW5mbGF0ZSdzIEh1ZmZtYW4gY29kZSB0YWJsZXMgb3ZlcgotICogYWxsIHBvc3NpYmxlIHZhbGlkIGFuZCBjb21wbGV0ZSBIdWZmbWFuIGNvZGVzLCBzdWJqZWN0IHRvIGEgbGVuZ3RoIGxpbWl0LgotICogQ29weXJpZ2h0IChDKSAyMDA3LCAyMDA4LCAyMDEyIE1hcmsgQWRsZXIKLSAqIFZlcnNpb24gMS40ICAxOCBBdWd1c3QgMjAxMiAgTWFyayBBZGxlcgorICogYWxsIHBvc3NpYmxlIHZhbGlkIGFuZCBjb21wbGV0ZSBwcmVmaXggY29kZXMsIHN1YmplY3QgdG8gYSBsZW5ndGggbGltaXQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDcsIDIwMDgsIDIwMTIsIDIwMTggTWFyayBBZGxlcgorICogVmVyc2lvbiAxLjUgIDUgQXVndXN0IDIwMTggIE1hcmsgQWRsZXIKICAqLwogCiAvKiBWZXJzaW9uIGhpc3Rvcnk6CkBAIC0xNywxMDEgKzE3LDEwNyBAQAogICAgMS40ICAxOCBBdWcgMjAxMiAgQXZvaWQgc2hpZnRzIG1vcmUgdGhhbiBiaXRzIGluIHR5cGUgKGNhdXNlZCBlbmRsZXNzIGxvb3AhKQogICAgICAgICAgICAgICAgICAgICAgQ2xlYW4gdXAgY29tcGFyaXNvbnMgb2YgZGlmZmVyZW50IHR5cGVzCiAgICAgICAgICAgICAgICAgICAgICBDbGVhbiB1cCBjb2RlIGluZGVudGF0aW9uCisgICAxLjUgICA1IEF1ZyAyMDE4ICBDbGVhbiB1cCBjb2RlIHN0eWxlLCBmb3JtYXR0aW5nLCBhbmQgY29tbWVudHMKKyAgICAgICAgICAgICAgICAgICAgIFNob3cgYWxsIHRoZSBjb2RlcyBmb3IgdGhlIG1heGltdW0sIGFuZCBvbmx5IHRoZSBtYXhpbXVtCiAgKi8KIAogLyoKLSAgIEV4YW1pbmUgYWxsIHBvc3NpYmxlIEh1ZmZtYW4gY29kZXMgZm9yIGEgZ2l2ZW4gbnVtYmVyIG9mIHN5bWJvbHMgYW5kIGEKLSAgIG1heGltdW0gY29kZSBsZW5ndGggaW4gYml0cyB0byBkZXRlcm1pbmUgdGhlIG1heGltdW0gdGFibGUgc2l6ZSBmb3IgemlsYidzCi0gICBpbmZsYXRlLiAgT25seSBjb21wbGV0ZSBIdWZmbWFuIGNvZGVzIGFyZSBjb3VudGVkLgorICAgRXhhbWluZSBhbGwgcG9zc2libGUgcHJlZml4IGNvZGVzIGZvciBhIGdpdmVuIG51bWJlciBvZiBzeW1ib2xzIGFuZCBhCisgICBtYXhpbXVtIGNvZGUgbGVuZ3RoIGluIGJpdHMgdG8gZGV0ZXJtaW5lIHRoZSBtYXhpbXVtIHRhYmxlIHNpemUgZm9yIHpsaWIncworICAgaW5mbGF0ZS4gT25seSBjb21wbGV0ZSBwcmVmaXggY29kZXMgYXJlIGNvdW50ZWQuCiAKICAgIFR3byBjb2RlcyBhcmUgY29uc2lkZXJlZCBkaXN0aW5jdCBpZiB0aGUgdmVjdG9ycyBvZiB0aGUgbnVtYmVyIG9mIGNvZGVzIHBlcgotICAgbGVuZ3RoIGFyZSBub3QgaWRlbnRpY2FsLiAgU28gcGVybXV0YXRpb25zIG9mIHRoZSBzeW1ib2wgYXNzaWdubWVudHMgcmVzdWx0CisgICBsZW5ndGggYXJlIG5vdCBpZGVudGljYWwuIFNvIHBlcm11dGF0aW9ucyBvZiB0aGUgc3ltYm9sIGFzc2lnbm1lbnRzIHJlc3VsdAogICAgaW4gdGhlIHNhbWUgY29kZSBmb3IgdGhlIGNvdW50aW5nLCBhcyBkbyBwZXJtdXRhdGlvbnMgb2YgdGhlIGFzc2lnbm1lbnRzIG9mCiAgICB0aGUgYml0IHZhbHVlcyB0byB0aGUgY29kZXMgKGkuZS4gb25seSBjYW5vbmljYWwgY29kZXMgYXJlIGNvdW50ZWQpLgogCiAgICBXZSBidWlsZCBhIGNvZGUgZnJvbSBzaG9ydGVyIHRvIGxvbmdlciBsZW5ndGhzLCBkZXRlcm1pbmluZyBob3cgbWFueSBzeW1ib2xzCi0gICBhcmUgY29kZWQgYXQgZWFjaCBsZW5ndGguICBBdCBlYWNoIHN0ZXAsIHdlIGhhdmUgaG93IG1hbnkgc3ltYm9scyByZW1haW4gdG8KKyAgIGFyZSBjb2RlZCBhdCBlYWNoIGxlbmd0aC4gQXQgZWFjaCBzdGVwLCB3ZSBoYXZlIGhvdyBtYW55IHN5bWJvbHMgcmVtYWluIHRvCiAgICBiZSBjb2RlZCwgd2hhdCB0aGUgbGFzdCBjb2RlIGxlbmd0aCB1c2VkIHdhcywgYW5kIGhvdyBtYW55IGJpdCBwYXR0ZXJucyBvZgogICAgdGhhdCBsZW5ndGggcmVtYWluIHVudXNlZC4gVGhlbiB3ZSBhZGQgb25lIHRvIHRoZSBjb2RlIGxlbmd0aCBhbmQgZG91YmxlIHRoZQotICAgbnVtYmVyIG9mIHVudXNlZCBwYXR0ZXJucyB0byBncmFkdWF0ZSB0byB0aGUgbmV4dCBjb2RlIGxlbmd0aC4gIFdlIHRoZW4KKyAgIG51bWJlciBvZiB1bnVzZWQgcGF0dGVybnMgdG8gZ3JhZHVhdGUgdG8gdGhlIG5leHQgY29kZSBsZW5ndGguIFdlIHRoZW4KICAgIGFzc2lnbiBhbGwgcG9ydGlvbnMgb2YgdGhlIHJlbWFpbmluZyBzeW1ib2xzIHRvIHRoYXQgY29kZSBsZW5ndGggdGhhdAotICAgcHJlc2VydmUgdGhlIHByb3BlcnRpZXMgb2YgYSBjb3JyZWN0IGFuZCBldmVudHVhbGx5IGNvbXBsZXRlIGNvZGUuICBUaG9zZQorICAgcHJlc2VydmUgdGhlIHByb3BlcnRpZXMgb2YgYSBjb3JyZWN0IGFuZCBldmVudHVhbGx5IGNvbXBsZXRlIGNvZGUuIFRob3NlCiAgICBwcm9wZXJ0aWVzIGFyZTogd2UgY2Fubm90IHVzZSBtb3JlIGJpdCBwYXR0ZXJucyB0aGFuIGFyZSBhdmFpbGFibGU7IGFuZCB3aGVuCi0gICBhbGwgdGhlIHN5bWJvbHMgYXJlIHVzZWQsIHRoZXJlIGFyZSBleGFjdGx5IHplcm8gcG9zc2libGUgYml0IHBhdHRlcm5zCi0gICByZW1haW5pbmcuCisgICBhbGwgdGhlIHN5bWJvbHMgYXJlIHVzZWQsIHRoZXJlIGFyZSBleGFjdGx5IHplcm8gcG9zc2libGUgYml0IHBhdHRlcm5zIGxlZnQKKyAgIHVudXNlZC4KIAogICAgVGhlIGluZmxhdGUgSHVmZm1hbiBkZWNvZGluZyBhbGdvcml0aG0gdXNlcyB0d28tbGV2ZWwgbG9va3VwIHRhYmxlcyBmb3IKLSAgIHNwZWVkLiAgVGhlcmUgaXMgYSBzaW5nbGUgZmlyc3QtbGV2ZWwgdGFibGUgdG8gZGVjb2RlIGNvZGVzIHVwIHRvIHJvb3QgYml0cwotICAgaW4gbGVuZ3RoIChyb290ID09IDkgaW4gdGhlIGN1cnJlbnQgaW5mbGF0ZSBpbXBsZW1lbnRhdGlvbikuICBUaGUgdGFibGUKLSAgIGhhcyAxIDw8IHJvb3QgZW50cmllcyBhbmQgaXMgaW5kZXhlZCBieSB0aGUgbmV4dCByb290IGJpdHMgb2YgaW5wdXQuICBDb2RlcwotICAgc2hvcnRlciB0aGFuIHJvb3QgYml0cyBoYXZlIHJlcGxpY2F0ZWQgdGFibGUgZW50cmllcywgc28gdGhhdCB0aGUgY29ycmVjdAotICAgZW50cnkgaXMgcG9pbnRlZCB0byByZWdhcmRsZXNzIG9mIHRoZSBiaXRzIHRoYXQgZm9sbG93IHRoZSBzaG9ydCBjb2RlLiAgSWYKLSAgIHRoZSBjb2RlIGlzIGxvbmdlciB0aGFuIHJvb3QgYml0cywgdGhlbiB0aGUgdGFibGUgZW50cnkgcG9pbnRzIHRvIGEgc2Vjb25kLQotICAgbGV2ZWwgdGFibGUuICBUaGUgc2l6ZSBvZiB0aGF0IHRhYmxlIGlzIGRldGVybWluZWQgYnkgdGhlIGxvbmdlc3QgY29kZSB3aXRoCi0gICB0aGF0IHJvb3QtYml0IHByZWZpeC4gIElmIHRoYXQgbG9uZ2VzdCBjb2RlIGhhcyBsZW5ndGggbGVuLCB0aGVuIHRoZSB0YWJsZQotICAgaGFzIHNpemUgMSA8PCAobGVuIC0gcm9vdCksIHRvIGluZGV4IHRoZSByZW1haW5pbmcgYml0cyBpbiB0aGF0IHNldCBvZgotICAgY29kZXMuICBFYWNoIHN1YnNlcXVlbnQgcm9vdC1iaXQgcHJlZml4IHRoZW4gaGFzIGl0cyBvd24gc3ViLXRhYmxlLiAgVGhlCi0gICB0b3RhbCBudW1iZXIgb2YgdGFibGUgZW50cmllcyByZXF1aXJlZCBieSB0aGUgY29kZSBpcyBjYWxjdWxhdGVkCi0gICBpbmNyZW1lbnRhbGx5IGFzIHRoZSBudW1iZXIgb2YgY29kZXMgYXQgZWFjaCBiaXQgbGVuZ3RoIGlzIHBvcHVsYXRlZC4gIFdoZW4KLSAgIGFsbCBvZiB0aGUgY29kZXMgYXJlIHNob3J0ZXIgdGhhbiByb290IGJpdHMsIHRoZW4gcm9vdCBpcyByZWR1Y2VkIHRvIHRoZQotICAgbG9uZ2VzdCBjb2RlIGxlbmd0aCwgcmVzdWx0aW5nIGluIGEgc2luZ2xlLCBzbWFsbGVyLCBvbmUtbGV2ZWwgdGFibGUuCisgICBzcGVlZC4gVGhlcmUgaXMgYSBzaW5nbGUgZmlyc3QtbGV2ZWwgdGFibGUgdG8gZGVjb2RlIGNvZGVzIHVwIHRvIHJvb3QgYml0cworICAgaW4gbGVuZ3RoIChyb290ID09IDkgZm9yIGxpdGVyYWwvbGVuZ3RoIGNvZGVzIGFuZCByb290ID09IDYgZm9yIGRpc3RhbmNlCisgICBjb2RlcywgaW4gdGhlIGN1cnJlbnQgaW5mbGF0ZSBpbXBsZW1lbnRhdGlvbikuIFRoZSBiYXNlIHRhYmxlIGhhcyAxIDw8IHJvb3QKKyAgIGVudHJpZXMgYW5kIGlzIGluZGV4ZWQgYnkgdGhlIG5leHQgcm9vdCBiaXRzIG9mIGlucHV0LiBDb2RlcyBzaG9ydGVyIHRoYW4KKyAgIHJvb3QgYml0cyBoYXZlIHJlcGxpY2F0ZWQgdGFibGUgZW50cmllcywgc28gdGhhdCB0aGUgY29ycmVjdCBlbnRyeSBpcworICAgcG9pbnRlZCB0byByZWdhcmRsZXNzIG9mIHRoZSBiaXRzIHRoYXQgZm9sbG93IHRoZSBzaG9ydCBjb2RlLiBJZiB0aGUgY29kZSBpcworICAgbG9uZ2VyIHRoYW4gcm9vdCBiaXRzLCB0aGVuIHRoZSB0YWJsZSBlbnRyeSBwb2ludHMgdG8gYSBzZWNvbmQtbGV2ZWwgdGFibGUuCisgICBUaGUgc2l6ZSBvZiB0aGF0IHRhYmxlIGlzIGRldGVybWluZWQgYnkgdGhlIGxvbmdlc3QgY29kZSB3aXRoIHRoYXQgcm9vdC1iaXQKKyAgIHByZWZpeC4gSWYgdGhhdCBsb25nZXN0IGNvZGUgaGFzIGxlbmd0aCBsZW4sIHRoZW4gdGhlIHRhYmxlIGhhcyBzaXplIDEgPDwKKyAgIChsZW4gLSByb290KSwgdG8gaW5kZXggdGhlIHJlbWFpbmluZyBiaXRzIGluIHRoYXQgc2V0IG9mIGNvZGVzLiBFYWNoCisgICBzdWJzZXF1ZW50IHJvb3QtYml0IHByZWZpeCB0aGVuIGhhcyBpdHMgb3duIHN1Yi10YWJsZS4gVGhlIHRvdGFsIG51bWJlciBvZgorICAgdGFibGUgZW50cmllcyByZXF1aXJlZCBieSB0aGUgY29kZSBpcyBjYWxjdWxhdGVkIGluY3JlbWVudGFsbHkgYXMgdGhlIG51bWJlcgorICAgb2YgY29kZXMgYXQgZWFjaCBiaXQgbGVuZ3RoIGlzIHBvcHVsYXRlZC4gV2hlbiBhbGwgb2YgdGhlIGNvZGVzIGFyZSBzaG9ydGVyCisgICB0aGFuIHJvb3QgYml0cywgdGhlbiByb290IGlzIHJlZHVjZWQgdG8gdGhlIGxvbmdlc3QgY29kZSBsZW5ndGgsIHJlc3VsdGluZworICAgaW4gYSBzaW5nbGUsIHNtYWxsZXIsIG9uZS1sZXZlbCB0YWJsZS4KIAogICAgVGhlIGluZmxhdGUgYWxnb3JpdGhtIGFsc28gcHJvdmlkZXMgZm9yIHNtYWxsIHZhbHVlcyBvZiByb290IChyZWxhdGl2ZSB0bwogICAgdGhlIGxvZzIgb2YgdGhlIG51bWJlciBvZiBzeW1ib2xzKSwgd2hlcmUgdGhlIHNob3J0ZXN0IGNvZGUgaGFzIG1vcmUgYml0cwotICAgdGhhbiByb290LiAgSW4gdGhhdCBjYXNlLCByb290IGlzIGluY3JlYXNlZCB0byB0aGUgbGVuZ3RoIG9mIHRoZSBzaG9ydGVzdAotICAgY29kZS4gIFRoaXMgcHJvZ3JhbSwgYnkgZGVzaWduLCBkb2VzIG5vdCBoYW5kbGUgdGhhdCBjYXNlLCBzbyBpdCBpcyB2ZXJpZmllZAotICAgdGhhdCB0aGUgbnVtYmVyIG9mIHN5bWJvbHMgaXMgbGVzcyB0aGFuIDJeKHJvb3QgKyAxKS4KKyAgIHRoYW4gcm9vdC4gSW4gdGhhdCBjYXNlLCByb290IGlzIGluY3JlYXNlZCB0byB0aGUgbGVuZ3RoIG9mIHRoZSBzaG9ydGVzdAorICAgY29kZS4gVGhpcyBwcm9ncmFtLCBieSBkZXNpZ24sIGRvZXMgbm90IGhhbmRsZSB0aGF0IGNhc2UsIHNvIGl0IGlzIHZlcmlmaWVkCisgICB0aGF0IHRoZSBudW1iZXIgb2Ygc3ltYm9scyBpcyBsZXNzIHRoYW4gMSA8PCAocm9vdCArIDEpLgogCiAgICBJbiBvcmRlciB0byBzcGVlZCB1cCB0aGUgZXhhbWluYXRpb24gKGJ5IGFib3V0IHRlbiBvcmRlcnMgb2YgbWFnbml0dWRlIGZvcgogICAgdGhlIGRlZmF1bHQgYXJndW1lbnRzKSwgdGhlIGludGVybWVkaWF0ZSBzdGF0ZXMgaW4gdGhlIGJ1aWxkLXVwIG9mIGEgY29kZQotICAgYXJlIHJlbWVtYmVyZWQgYW5kIHByZXZpb3VzbHkgdmlzaXRlZCBicmFuY2hlcyBhcmUgcHJ1bmVkLiAgVGhlIG1lbW9yeQorICAgYXJlIHJlbWVtYmVyZWQgYW5kIHByZXZpb3VzbHkgdmlzaXRlZCBicmFuY2hlcyBhcmUgcHJ1bmVkLiBUaGUgbWVtb3J5CiAgICByZXF1aXJlZCBmb3IgdGhpcyB3aWxsIGluY3JlYXNlIHJhcGlkbHkgd2l0aCB0aGUgdG90YWwgbnVtYmVyIG9mIHN5bWJvbHMgYW5kCi0gICB0aGUgbWF4aW11bSBjb2RlIGxlbmd0aCBpbiBiaXRzLiAgSG93ZXZlciB0aGlzIGlzIGEgdmVyeSBzbWFsbCBwcmljZSB0byBwYXkKKyAgIHRoZSBtYXhpbXVtIGNvZGUgbGVuZ3RoIGluIGJpdHMuIEhvd2V2ZXIgdGhpcyBpcyBhIHZlcnkgc21hbGwgcHJpY2UgdG8gcGF5CiAgICBmb3IgdGhlIHZhc3Qgc3BlZWR1cC4KIAotICAgRmlyc3QsIGFsbCBvZiB0aGUgcG9zc2libGUgSHVmZm1hbiBjb2RlcyBhcmUgY291bnRlZCwgYW5kIHJlYWNoYWJsZQorICAgRmlyc3QsIGFsbCBvZiB0aGUgcG9zc2libGUgcHJlZml4IGNvZGVzIGFyZSBjb3VudGVkLCBhbmQgcmVhY2hhYmxlCiAgICBpbnRlcm1lZGlhdGUgc3RhdGVzIGFyZSBub3RlZCBieSBhIG5vbi16ZXJvIGNvdW50IGluIGEgc2F2ZWQtcmVzdWx0cyBhcnJheS4KICAgIFNlY29uZCwgdGhlIGludGVybWVkaWF0ZSBzdGF0ZXMgdGhhdCBsZWFkIHRvIChyb290ICsgMSkgYml0IG9yIGxvbmdlciBjb2RlcwogICAgYXJlIHVzZWQgdG8gbG9vayBhdCBhbGwgc3ViLWNvZGVzIGZyb20gdGhvc2UganVuY3R1cmVzIGZvciB0aGVpciBpbmZsYXRlCi0gICBtZW1vcnkgdXNhZ2UuICAoVGhlIGFtb3VudCBvZiBtZW1vcnkgdXNlZCBpcyBub3QgYWZmZWN0ZWQgYnkgdGhlIG51bWJlciBvZgorICAgbWVtb3J5IHVzYWdlLiAoVGhlIGFtb3VudCBvZiBtZW1vcnkgdXNlZCBpcyBub3QgYWZmZWN0ZWQgYnkgdGhlIG51bWJlciBvZgogICAgY29kZXMgb2Ygcm9vdCBiaXRzIG9yIGxlc3MgaW4gbGVuZ3RoLikgIFRoaXJkLCB0aGUgdmlzaXRlZCBzdGF0ZXMgaW4gdGhlCiAgICBjb25zdHJ1Y3Rpb24gb2YgdGhvc2Ugc3ViLWNvZGVzIGFuZCB0aGUgYXNzb2NpYXRlZCBjYWxjdWxhdGlvbiBvZiB0aGUgdGFibGUKICAgIHNpemUgaXMgcmVjYWxsZWQgaW4gb3JkZXIgdG8gYXZvaWQgcmVjYWxjdWxhdGluZyBmcm9tIHRoZSBzYW1lIGp1bmN0dXJlLgogICAgQmVnaW5uaW5nIHRoZSBjb2RlIGV4YW1pbmF0aW9uIGF0IChyb290ICsgMSkgYml0IGNvZGVzLCB3aGljaCBpcyBlbmFibGVkIGJ5CiAgICBpZGVudGlmeWluZyB0aGUgcmVhY2hhYmxlIG5vZGVzLCBhY2NvdW50cyBmb3IgYWJvdXQgc2l4IG9mIHRoZSBvcmRlcnMgb2YKLSAgIG1hZ25pdHVkZSBvZiBpbXByb3ZlbWVudCBmb3IgdGhlIGRlZmF1bHQgYXJndW1lbnRzLiAgQWJvdXQgYW5vdGhlciBmb3VyCi0gICBvcmRlcnMgb2YgbWFnbml0dWRlIGNvbWUgZnJvbSBub3QgcmV2aXNpdGluZyBwcmV2aW91cyBzdGF0ZXMuICBPdXQgb2YKLSAgIGFwcHJveGltYXRlbHkgMngxMF4xNiBwb3NzaWJsZSBIdWZmbWFuIGNvZGVzLCBvbmx5IGFib3V0IDJ4MTBeNiBzdWItY29kZXMKKyAgIG1hZ25pdHVkZSBvZiBpbXByb3ZlbWVudCBmb3IgdGhlIGRlZmF1bHQgYXJndW1lbnRzLiBBYm91dCBhbm90aGVyIGZvdXIKKyAgIG9yZGVycyBvZiBtYWduaXR1ZGUgY29tZSBmcm9tIG5vdCByZXZpc2l0aW5nIHByZXZpb3VzIHN0YXRlcy4gT3V0IG9mCisgICBhcHByb3hpbWF0ZWx5IDJ4MTBeMTYgcG9zc2libGUgcHJlZml4IGNvZGVzLCBvbmx5IGFib3V0IDJ4MTBeNiBzdWItY29kZXMKICAgIG5lZWQgdG8gYmUgZXhhbWluZWQgdG8gY292ZXIgYWxsIG9mIHRoZSBwb3NzaWJsZSB0YWJsZSBtZW1vcnkgdXNhZ2UgY2FzZXMKICAgIGZvciB0aGUgZGVmYXVsdCBhcmd1bWVudHMgb2YgMjg2IHN5bWJvbHMgbGltaXRlZCB0byAxNS1iaXQgY29kZXMuCiAKLSAgIE5vdGUgdGhhdCBhbiB1bnNpZ25lZCBsb25nIGxvbmcgdHlwZSBpcyB1c2VkIGZvciBjb3VudGluZy4gIEl0IGlzIHF1aXRlIGVhc3kKLSAgIHRvIGV4Y2VlZCB0aGUgY2FwYWNpdHkgb2YgYW4gZWlnaHQtYnl0ZSBpbnRlZ2VyIHdpdGggYSBsYXJnZSBudW1iZXIgb2YKLSAgIHN5bWJvbHMgYW5kIGEgbGFyZ2UgbWF4aW11bSBjb2RlIGxlbmd0aCwgc28gbXVsdGlwbGUtcHJlY2lzaW9uIGFyaXRobWV0aWMKLSAgIHdvdWxkIG5lZWQgdG8gcmVwbGFjZSB0aGUgdW5zaWduZWQgbG9uZyBsb25nIGFyaXRobWV0aWMgaW4gdGhhdCBjYXNlLiAgVGhpcwotICAgcHJvZ3JhbSB3aWxsIGFib3J0IGlmIGFuIG92ZXJmbG93IG9jY3Vycy4gIFRoZSBiaWdfdCB0eXBlIGlkZW50aWZpZXMgd2hlcmUKLSAgIHRoZSBjb3VudGluZyB0YWtlcyBwbGFjZS4KKyAgIE5vdGUgdGhhdCB0aGUgdWludG1heF90IHR5cGUgaXMgdXNlZCBmb3IgY291bnRpbmcuIEl0IGlzIHF1aXRlIGVhc3kgdG8KKyAgIGV4Y2VlZCB0aGUgY2FwYWNpdHkgb2YgYW4gZWlnaHQtYnl0ZSBpbnRlZ2VyIHdpdGggYSBsYXJnZSBudW1iZXIgb2Ygc3ltYm9scworICAgYW5kIGEgbGFyZ2UgbWF4aW11bSBjb2RlIGxlbmd0aCwgc28gbXVsdGlwbGUtcHJlY2lzaW9uIGFyaXRobWV0aWMgd291bGQgbmVlZAorICAgdG8gcmVwbGFjZSB0aGUgaW50ZWdlciBhcml0aG1ldGljIGluIHRoYXQgY2FzZS4gVGhpcyBwcm9ncmFtIHdpbGwgYWJvcnQgaWYKKyAgIGFuIG92ZXJmbG93IG9jY3Vycy4gVGhlIGJpZ190IHR5cGUgaWRlbnRpZmllcyB3aGVyZSB0aGUgY291bnRpbmcgdGFrZXMKKyAgIHBsYWNlLgogCi0gICBBbiB1bnNpZ25lZCBsb25nIGxvbmcgdHlwZSBpcyBhbHNvIHVzZWQgZm9yIGNhbGN1bGF0aW5nIHRoZSBudW1iZXIgb2YKLSAgIHBvc3NpYmxlIGNvZGVzIHJlbWFpbmluZyBhdCB0aGUgbWF4aW11bSBsZW5ndGguICBUaGlzIGxpbWl0cyB0aGUgbWF4aW11bQotICAgY29kZSBsZW5ndGggdG8gdGhlIG51bWJlciBvZiBiaXRzIGluIGEgbG9uZyBsb25nIG1pbnVzIHRoZSBudW1iZXIgb2YgYml0cwotICAgbmVlZGVkIHRvIHJlcHJlc2VudCB0aGUgc3ltYm9scyBpbiBhIGZsYXQgY29kZS4gIFRoZSBjb2RlX3QgdHlwZSBpZGVudGlmaWVzCi0gICB3aGVyZSB0aGUgYml0IHBhdHRlcm4gY291bnRpbmcgdGFrZXMgcGxhY2UuCisgICBUaGUgdWludG1heF90IHR5cGUgaXMgYWxzbyB1c2VkIGZvciBjYWxjdWxhdGluZyB0aGUgbnVtYmVyIG9mIHBvc3NpYmxlIGNvZGVzCisgICByZW1haW5pbmcgYXQgdGhlIG1heGltdW0gbGVuZ3RoLiBUaGlzIGxpbWl0cyB0aGUgbWF4aW11bSBjb2RlIGxlbmd0aCB0byB0aGUKKyAgIG51bWJlciBvZiBiaXRzIGluIGEgbG9uZyBsb25nIG1pbnVzIHRoZSBudW1iZXIgb2YgYml0cyBuZWVkZWQgdG8gcmVwcmVzZW50CisgICB0aGUgc3ltYm9scyBpbiBhIGZsYXQgY29kZS4gVGhlIGNvZGVfdCB0eXBlIGlkZW50aWZpZXMgd2hlcmUgdGhlIGJpdC1wYXR0ZXJuCisgICBjb3VudGluZyB0YWtlcyBwbGFjZS4KICAqLwogCiAjaW5jbHVkZSA8c3RkaW8uaD4KICNpbmNsdWRlIDxzdGRsaWIuaD4KICNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzdGRhcmcuaD4KKyNpbmNsdWRlIDxzdGRpbnQuaD4KICNpbmNsdWRlIDxhc3NlcnQuaD4KIAogI2RlZmluZSBsb2NhbCBzdGF0aWMKIAotLyogc3BlY2lhbCBkYXRhIHR5cGVzICovCi10eXBlZGVmIHVuc2lnbmVkIGxvbmcgbG9uZyBiaWdfdDsgICAvKiB0eXBlIGZvciBjb2RlIGNvdW50aW5nICovCi10eXBlZGVmIHVuc2lnbmVkIGxvbmcgbG9uZyBjb2RlX3Q7ICAvKiB0eXBlIGZvciBiaXQgcGF0dGVybiBjb3VudGluZyAqLwotc3RydWN0IHRhYiB7ICAgICAgICAgICAgICAgICAgICAgICAgLyogdHlwZSBmb3IgYmVlbiBoZXJlIGNoZWNrICovCi0gICAgc2l6ZV90IGxlbjsgICAgICAgICAvKiBsZW5ndGggb2YgYml0IHZlY3RvciBpbiBjaGFyJ3MgKi8KLSAgICBjaGFyICp2ZWM7ICAgICAgICAgIC8qIGFsbG9jYXRlZCBiaXQgdmVjdG9yICovCisvLyBTcGVjaWFsIGRhdGEgdHlwZXMuCit0eXBlZGVmIHVpbnRtYXhfdCBiaWdfdDsgICAgLy8gdHlwZSBmb3IgY29kZSBjb3VudGluZworI2RlZmluZSBQUkliaWcgImp1IiAgICAgICAgIC8vIHByaW50ZiBmb3JtYXQgZm9yIGJpZ190Cit0eXBlZGVmIHVpbnRtYXhfdCBjb2RlX3Q7ICAgLy8gdHlwZSBmb3IgYml0IHBhdHRlcm4gY291bnRpbmcKK3N0cnVjdCB0YWIgeyAgICAgICAgICAgICAgICAvLyB0eXBlIGZvciBiZWVuLWhlcmUgY2hlY2sKKyAgICBzaXplX3QgbGVuOyAgICAgICAgICAgICAvLyBhbGxvY2F0ZWQgbGVuZ3RoIG9mIGJpdCB2ZWN0b3IgaW4gb2N0ZXRzCisgICAgY2hhciAqdmVjOyAgICAgICAgICAgICAgLy8gYWxsb2NhdGVkIGJpdCB2ZWN0b3IKIH07CiAKIC8qIFRoZSBhcnJheSBmb3Igc2F2aW5nIHJlc3VsdHMsIG51bVtdLCBpcyBpbmRleGVkIHdpdGggdGhpcyB0cmlwbGV0OgpAQCAtMTI2LDQ0NyArMTMyLDQ2NiBAQAogICAgICAgbGVmdDogMi4uc3ltcyAtIDEsIGJ1dCBvbmx5IHRoZSBldmVucyAoc28gc3ltcyA9PSA4IC0+IDIsIDQsIDYpCiAgICAgICBsZW46IDEuLm1heCAtIDEgKG1heCA9PSBtYXhpbXVtIGNvZGUgbGVuZ3RoIGluIGJpdHMpCiAKLSAgIHN5bXMgPT0gMiBpcyBub3Qgc2F2ZWQgc2luY2UgdGhhdCBpbW1lZGlhdGVseSBsZWFkcyB0byBhIHNpbmdsZSBjb2RlLiAgbGVmdAorICAgc3ltcyA9PSAyIGlzIG5vdCBzYXZlZCBzaW5jZSB0aGF0IGltbWVkaWF0ZWx5IGxlYWRzIHRvIGEgc2luZ2xlIGNvZGUuIGxlZnQKICAgIG11c3QgYmUgZXZlbiwgc2luY2UgaXQgcmVwcmVzZW50cyB0aGUgbnVtYmVyIG9mIGF2YWlsYWJsZSBiaXQgcGF0dGVybnMgYXQKLSAgIHRoZSBjdXJyZW50IGxlbmd0aCwgd2hpY2ggaXMgZG91YmxlIHRoZSBudW1iZXIgYXQgdGhlIHByZXZpb3VzIGxlbmd0aC4KLSAgIGxlZnQgZW5kcyBhdCBzeW1zLTEgc2luY2UgbGVmdCA9PSBzeW1zIGltbWVkaWF0ZWx5IHJlc3VsdHMgaW4gYSBzaW5nbGUgY29kZS4KKyAgIHRoZSBjdXJyZW50IGxlbmd0aCwgd2hpY2ggaXMgZG91YmxlIHRoZSBudW1iZXIgYXQgdGhlIHByZXZpb3VzIGxlbmd0aC4gbGVmdAorICAgZW5kcyBhdCBzeW1zLTEgc2luY2UgbGVmdCA9PSBzeW1zIGltbWVkaWF0ZWx5IHJlc3VsdHMgaW4gYSBzaW5nbGUgY29kZS4KICAgIChsZWZ0ID4gc3ltIGlzIG5vdCBhbGxvd2VkIHNpbmNlIHRoYXQgd291bGQgcmVzdWx0IGluIGFuIGluY29tcGxldGUgY29kZS4pCiAgICBsZW4gaXMgbGVzcyB0aGFuIG1heCwgc2luY2UgdGhlIGNvZGUgY29tcGxldGVzIGltbWVkaWF0ZWx5IHdoZW4gbGVuID09IG1heC4KIAotICAgVGhlIG9mZnNldCBpbnRvIHRoZSBhcnJheSBpcyBjYWxjdWxhdGVkIGZvciB0aGUgdGhyZWUgaW5kaWNlcyB3aXRoIHRoZQotICAgZmlyc3Qgb25lIChzeW1zKSBiZWluZyBvdXRlcm1vc3QsIGFuZCB0aGUgbGFzdCBvbmUgKGxlbikgYmVpbmcgaW5uZXJtb3N0LgotICAgV2UgYnVpbGQgdGhlIGFycmF5IHdpdGggbGVuZ3RoIG1heC0xIGxpc3RzIGZvciB0aGUgbGVuIGluZGV4LCB3aXRoIHN5bXMtMwotICAgb2YgdGhvc2UgZm9yIGVhY2ggc3ltYm9sLiAgVGhlcmUgYXJlIHRvdHN5bS0yIG9mIHRob3NlLCB3aXRoIGVhY2ggb25lCi0gICB2YXJ5aW5nIGluIGxlbmd0aCBhcyBhIGZ1bmN0aW9uIG9mIHN5bS4gIFNlZSB0aGUgY2FsY3VsYXRpb24gb2YgaW5kZXggaW4KLSAgIGNvdW50KCkgZm9yIHRoZSBpbmRleCwgYW5kIHRoZSBjYWxjdWxhdGlvbiBvZiBzaXplIGluIG1haW4oKSBmb3IgdGhlIHNpemUKLSAgIG9mIHRoZSBhcnJheS4KKyAgIFRoZSBvZmZzZXQgaW50byB0aGUgYXJyYXkgaXMgY2FsY3VsYXRlZCBmb3IgdGhlIHRocmVlIGluZGljZXMgd2l0aCB0aGUgZmlyc3QKKyAgIG9uZSAoc3ltcykgYmVpbmcgb3V0ZXJtb3N0LCBhbmQgdGhlIGxhc3Qgb25lIChsZW4pIGJlaW5nIGlubmVybW9zdC4gV2UgYnVpbGQKKyAgIHRoZSBhcnJheSB3aXRoIGxlbmd0aCBtYXgtMSBsaXN0cyBmb3IgdGhlIGxlbiBpbmRleCwgd2l0aCBzeW1zLTMgb2YgdGhvc2UKKyAgIGZvciBlYWNoIHN5bWJvbC4gVGhlcmUgYXJlIHRvdHN5bS0yIG9mIHRob3NlLCB3aXRoIGVhY2ggb25lIHZhcnlpbmcgaW4KKyAgIGxlbmd0aCBhcyBhIGZ1bmN0aW9uIG9mIHN5bS4gU2VlIHRoZSBjYWxjdWxhdGlvbiBvZiBpbmRleCBpbiBtYXAoKSBmb3IgdGhlCisgICBpbmRleCwgYW5kIHRoZSBjYWxjdWxhdGlvbiBvZiBzaXplIGluIG1haW4oKSBmb3IgdGhlIHNpemUgb2YgdGhlIGFycmF5LgogCiAgICBGb3IgdGhlIGRlZmxhdGUgZXhhbXBsZSBvZiAyODYgc3ltYm9scyBsaW1pdGVkIHRvIDE1LWJpdCBjb2RlcywgdGhlIGFycmF5Ci0gICBoYXMgMjg0LDI4NCBlbnRyaWVzLCB0YWtpbmcgdXAgMi4xNyBNQiBmb3IgYW4gOC1ieXRlIGJpZ190LiAgTW9yZSB0aGFuCi0gICBoYWxmIG9mIHRoZSBzcGFjZSBhbGxvY2F0ZWQgZm9yIHNhdmVkIHJlc3VsdHMgaXMgYWN0dWFsbHkgdXNlZCAtLSBub3QgYWxsCi0gICBwb3NzaWJsZSB0cmlwbGV0cyBhcmUgcmVhY2hlZCBpbiB0aGUgZ2VuZXJhdGlvbiBvZiB2YWxpZCBIdWZmbWFuIGNvZGVzLgorICAgaGFzIDI4NCwyODQgZW50cmllcywgdGFraW5nIHVwIDIuMTcgTUIgZm9yIGFuIDgtYnl0ZSBiaWdfdC4gTW9yZSB0aGFuIGhhbGYKKyAgIG9mIHRoZSBzcGFjZSBhbGxvY2F0ZWQgZm9yIHNhdmVkIHJlc3VsdHMgaXMgYWN0dWFsbHkgdXNlZCAtLSBub3QgYWxsCisgICBwb3NzaWJsZSB0cmlwbGV0cyBhcmUgcmVhY2hlZCBpbiB0aGUgZ2VuZXJhdGlvbiBvZiB2YWxpZCBwcmVmaXggY29kZXMuCiAgKi8KIAogLyogVGhlIGFycmF5IGZvciB0cmFja2luZyB2aXNpdGVkIHN0YXRlcywgZG9uZVtdLCBpcyBpdHNlbGYgaW5kZXhlZCBpZGVudGljYWxseQogICAgdG8gdGhlIG51bVtdIGFycmF5IGFzIGRlc2NyaWJlZCBhYm92ZSBmb3IgdGhlIChzeW1zLCBsZWZ0LCBsZW4pIHRyaXBsZXQuCiAgICBFYWNoIGVsZW1lbnQgaW4gdGhlIGFycmF5IGlzIGZ1cnRoZXIgaW5kZXhlZCBieSB0aGUgKG1lbSwgcmVtKSBkb3VibGV0LAogICAgd2hlcmUgbWVtIGlzIHRoZSBhbW91bnQgb2YgaW5mbGF0ZSB0YWJsZSBzcGFjZSB1c2VkIHNvIGZhciwgYW5kIHJlbSBpcyB0aGUKLSAgIHJlbWFpbmluZyB1bnVzZWQgZW50cmllcyBpbiB0aGUgY3VycmVudCBpbmZsYXRlIHN1Yi10YWJsZS4gIEVhY2ggaW5kZXhlZAorICAgcmVtYWluaW5nIHVudXNlZCBlbnRyaWVzIGluIHRoZSBjdXJyZW50IGluZmxhdGUgc3ViLXRhYmxlLiBFYWNoIGluZGV4ZWQKICAgIGVsZW1lbnQgaXMgc2ltcGx5IG9uZSBiaXQgaW5kaWNhdGluZyB3aGV0aGVyIHRoZSBzdGF0ZSBoYXMgYmVlbiB2aXNpdGVkIG9yCi0gICBub3QuICBTaW5jZSB0aGUgcmFuZ2VzIGZvciBtZW0gYW5kIHJlbSBhcmUgbm90IGtub3duIGEgcHJpb3JpLCBlYWNoIGJpdAorICAgbm90LiBTaW5jZSB0aGUgcmFuZ2VzIGZvciBtZW0gYW5kIHJlbSBhcmUgbm90IGtub3duIGEgcHJpb3JpLCBlYWNoIGJpdAogICAgdmVjdG9yIGlzIG9mIGEgdmFyaWFibGUgc2l6ZSwgYW5kIGdyb3dzIGFzIG5lZWRlZCB0byBhY2NvbW1vZGF0ZSB0aGUgdmlzaXRlZAotICAgc3RhdGVzLiAgbWVtIGFuZCByZW0gYXJlIHVzZWQgdG8gY2FsY3VsYXRlIGEgc2luZ2xlIGluZGV4IGluIGEgdHJpYW5ndWxhcgotICAgYXJyYXkuICBTaW5jZSB0aGUgcmFuZ2Ugb2YgbWVtIGlzIGV4cGVjdGVkIGluIHRoZSBkZWZhdWx0IGNhc2UgdG8gYmUgYWJvdXQKKyAgIHN0YXRlcy4gbWVtIGFuZCByZW0gYXJlIHVzZWQgdG8gY2FsY3VsYXRlIGEgc2luZ2xlIGluZGV4IGluIGEgdHJpYW5ndWxhcgorICAgYXJyYXkuIFNpbmNlIHRoZSByYW5nZSBvZiBtZW0gaXMgZXhwZWN0ZWQgaW4gdGhlIGRlZmF1bHQgY2FzZSB0byBiZSBhYm91dAogICAgdGVuIHRpbWVzIGxhcmdlciB0aGFuIHRoZSByYW5nZSBvZiByZW0sIHRoZSBhcnJheSBpcyBza2V3ZWQgdG8gcmVkdWNlIHRoZQotICAgbWVtb3J5IHVzYWdlLCB3aXRoIGVpZ2h0IHRpbWVzIHRoZSByYW5nZSBmb3IgbWVtIHRoYW4gZm9yIHJlbS4gIFNlZSB0aGUKLSAgIGNhbGN1bGF0aW9ucyBmb3Igb2Zmc2V0IGFuZCBiaXQgaW4gYmVlbmhlcmUoKSBmb3IgdGhlIGRldGFpbHMuCisgICBtZW1vcnkgdXNhZ2UsIHdpdGggZWlnaHQgdGltZXMgdGhlIHJhbmdlIGZvciBtZW0gdGhhbiBmb3IgcmVtLiBTZWUgdGhlCisgICBjYWxjdWxhdGlvbnMgZm9yIG9mZnNldCBhbmQgYml0IGluIGJlZW5faGVyZSgpIGZvciB0aGUgZGV0YWlscy4KIAogICAgRm9yIHRoZSBkZWZsYXRlIGV4YW1wbGUgb2YgMjg2IHN5bWJvbHMgbGltaXRlZCB0byAxNS1iaXQgY29kZXMsIHRoZSBiaXQKLSAgIHZlY3RvcnMgZ3JvdyB0byB0b3RhbCBhcHByb3hpbWF0ZWx5IDIxIE1CLCBpbiBhZGRpdGlvbiB0byB0aGUgNC4zIE1CIGRvbmVbXQotICAgYXJyYXkgaXRzZWxmLgorICAgdmVjdG9ycyBncm93IHRvIHRvdGFsIDUuNSBNQiwgaW4gYWRkaXRpb24gdG8gdGhlIDQuMyBNQiBkb25lIGFycmF5IGl0c2VsZi4KICAqLwogCi0vKiBHbG9iYWxzIHRvIGF2b2lkIHByb3BhZ2F0aW5nIGNvbnN0YW50cyBvciBjb25zdGFudCBwb2ludGVycyByZWN1cnNpdmVseSAqLwotbG9jYWwgaW50IG1heDsgICAgICAgICAgLyogbWF4aW11bSBhbGxvd2VkIGJpdCBsZW5ndGggZm9yIHRoZSBjb2RlcyAqLwotbG9jYWwgaW50IHJvb3Q7ICAgICAgICAgLyogc2l6ZSBvZiBiYXNlIGNvZGUgdGFibGUgaW4gYml0cyAqLwotbG9jYWwgaW50IGxhcmdlOyAgICAgICAgLyogbGFyZ2VzdCBjb2RlIHRhYmxlIHNvIGZhciAqLwotbG9jYWwgc2l6ZV90IHNpemU7ICAgICAgLyogbnVtYmVyIG9mIGVsZW1lbnRzIGluIG51bSBhbmQgZG9uZSAqLwotbG9jYWwgaW50ICpjb2RlOyAgICAgICAgLyogbnVtYmVyIG9mIHN5bWJvbHMgYXNzaWduZWQgdG8gZWFjaCBiaXQgbGVuZ3RoICovCi1sb2NhbCBiaWdfdCAqbnVtOyAgICAgICAvKiBzYXZlZCByZXN1bHRzIGFycmF5IGZvciBjb2RlIGNvdW50aW5nICovCi1sb2NhbCBzdHJ1Y3QgdGFiICpkb25lOyAvKiBzdGF0ZXMgYWxyZWFkeSBldmFsdWF0ZWQgYXJyYXkgKi8KKy8vIFR5cGUgZm9yIGEgdmFyaWFibGUtbGVuZ3RoLCBhbGxvY2F0ZWQgc3RyaW5nLgordHlwZWRlZiBzdHJ1Y3QgeworICAgIGNoYXIgKnN0cjsgICAgICAgICAgLy8gcG9pbnRlciB0byBhbGxvY2F0ZWQgc3RyaW5nCisgICAgc2l6ZV90IHNpemU7ICAgICAgICAvLyBzaXplIG9mIGFsbG9jYXRpb24KKyAgICBzaXplX3QgbGVuOyAgICAgICAgIC8vIGxlbmd0aCBvZiBzdHJpbmcsIG5vdCBpbmNsdWRpbmcgdGVybWluYXRpbmcgemVybworfSBzdHJpbmdfdDsKIAotLyogSW5kZXggZnVuY3Rpb24gZm9yIG51bVtdIGFuZCBkb25lW10gKi8KLSNkZWZpbmUgSU5ERVgoaSxqLGspICgoKHNpemVfdCkoKGktMSk+PjEpKigoaS0yKT4+MSkrKGo+PjEpLTEpKihtYXgtMSkray0xKQotCi0vKiBGcmVlIGFsbG9jYXRlZCBzcGFjZS4gIFVzZXMgZ2xvYmFscyBjb2RlLCBudW0sIGFuZCBkb25lLiAqLwotbG9jYWwgdm9pZCBjbGVhbnVwKHZvaWQpCi17Ci0gICAgc2l6ZV90IG47Ci0KLSAgICBpZiAoZG9uZSAhPSBOVUxMKSB7Ci0gICAgICAgIGZvciAobiA9IDA7IG4gPCBzaXplOyBuKyspCi0gICAgICAgICAgICBpZiAoZG9uZVtuXS5sZW4pCi0gICAgICAgICAgICAgICAgZnJlZShkb25lW25dLnZlYyk7Ci0gICAgICAgIGZyZWUoZG9uZSk7Ci0gICAgfQotICAgIGlmIChudW0gIT0gTlVMTCkKLSAgICAgICAgZnJlZShudW0pOwotICAgIGlmIChjb2RlICE9IE5VTEwpCi0gICAgICAgIGZyZWUoY29kZSk7CisvLyBDbGVhciBhIHN0cmluZ190LgorbG9jYWwgdm9pZCBzdHJpbmdfY2xlYXIoc3RyaW5nX3QgKnMpIHsKKyAgICBzLT5zdHJbMF0gPSAwOworICAgIHMtPmxlbiA9IDA7CiB9CiAKLS8qIFJldHVybiB0aGUgbnVtYmVyIG9mIHBvc3NpYmxlIEh1ZmZtYW4gY29kZXMgdXNpbmcgYml0IHBhdHRlcm5zIG9mIGxlbmd0aHMKLSAgIGxlbiB0aHJvdWdoIG1heCBpbmNsdXNpdmUsIGNvZGluZyBzeW1zIHN5bWJvbHMsIHdpdGggbGVmdCBiaXQgcGF0dGVybnMgb2YKLSAgIGxlbmd0aCBsZW4gdW51c2VkIC0tIHJldHVybiAtMSBpZiB0aGVyZSBpcyBhbiBvdmVyZmxvdyBpbiB0aGUgY291bnRpbmcuCi0gICBLZWVwIGEgcmVjb3JkIG9mIHByZXZpb3VzIHJlc3VsdHMgaW4gbnVtIHRvIHByZXZlbnQgcmVwZWF0aW5nIHRoZSBzYW1lCi0gICBjYWxjdWxhdGlvbi4gIFVzZXMgdGhlIGdsb2JhbHMgbWF4IGFuZCBudW0uICovCi1sb2NhbCBiaWdfdCBjb3VudChpbnQgc3ltcywgaW50IGxlbiwgaW50IGxlZnQpCi17Ci0gICAgYmlnX3Qgc3VtOyAgICAgICAgICAvKiBudW1iZXIgb2YgcG9zc2libGUgY29kZXMgZnJvbSB0aGlzIGp1bmN0dXJlICovCi0gICAgYmlnX3QgZ290OyAgICAgICAgICAvKiB2YWx1ZSByZXR1cm5lZCBmcm9tIGNvdW50KCkgKi8KLSAgICBpbnQgbGVhc3Q7ICAgICAgICAgIC8qIGxlYXN0IG51bWJlciBvZiBzeW1zIHRvIHVzZSBhdCB0aGlzIGp1bmN0dXJlICovCi0gICAgaW50IG1vc3Q7ICAgICAgICAgICAvKiBtb3N0IG51bWJlciBvZiBzeW1zIHRvIHVzZSBhdCB0aGlzIGp1bmN0dXJlICovCi0gICAgaW50IHVzZTsgICAgICAgICAgICAvKiBudW1iZXIgb2YgYml0IHBhdHRlcm5zIHRvIHVzZSBpbiBuZXh0IGNhbGwgKi8KLSAgICBzaXplX3QgaW5kZXg7ICAgICAgIC8qIGluZGV4IG9mIHRoaXMgY2FzZSBpbiAqbnVtICovCisvLyBJbml0aWFsaXplIGEgc3RyaW5nX3QuCitsb2NhbCB2b2lkIHN0cmluZ19pbml0KHN0cmluZ190ICpzKSB7CisgICAgcy0+c2l6ZSA9IDE2OworICAgIHMtPnN0ciA9IG1hbGxvYyhzLT5zaXplKTsKKyAgICBhc3NlcnQocy0+c3RyICE9IE5VTEwgJiYgIm91dCBvZiBtZW1vcnkiKTsKKyAgICBzdHJpbmdfY2xlYXIocyk7Cit9CiAKLSAgICAvKiBzZWUgaWYgb25seSBvbmUgcG9zc2libGUgY29kZSAqLworLy8gUmVsZWFzZSB0aGUgYWxsb2NhdGlvbiBvZiBhIHN0cmluZ190LgorbG9jYWwgdm9pZCBzdHJpbmdfZnJlZShzdHJpbmdfdCAqcykgeworICAgIGZyZWUocy0+c3RyKTsKKyAgICBzLT5zdHIgPSBOVUxMOworICAgIHMtPnNpemUgPSAwOworICAgIHMtPmxlbiA9IDA7Cit9CisKKy8vIFNhdmUgdGhlIHJlc3VsdHMgb2YgcHJpbnRmIHdpdGggZm10IGFuZCB0aGUgc3Vic2VxdWVudCBhcmd1bWVudCBsaXN0IHRvIHMuCisvLyBFYWNoIGNhbGwgYXBwZW5kcyB0byBzLiBUaGUgYWxsb2NhdGVkIHNwYWNlIGZvciBzIGlzIGluY3JlYXNlZCBhcyBuZWVkZWQuCitsb2NhbCB2b2lkIHN0cmluZ19wcmludGYoc3RyaW5nX3QgKnMsIGNoYXIgKmZtdCwgLi4uKSB7CisgICAgdmFfbGlzdCBhcDsKKyAgICB2YV9zdGFydChhcCwgZm10KTsKKyAgICBzaXplX3QgbGVuID0gcy0+bGVuOworICAgIGludCByZXQgPSB2c25wcmludGYocy0+c3RyICsgbGVuLCBzLT5zaXplIC0gbGVuLCBmbXQsIGFwKTsKKyAgICBhc3NlcnQocmV0ID49IDAgJiYgIm91dCBvZiBtZW1vcnkiKTsKKyAgICBzLT5sZW4gKz0gcmV0OworICAgIGlmIChzLT5zaXplIDwgcy0+bGVuICsgMSkgeworICAgICAgICBkbyB7CisgICAgICAgICAgICBzLT5zaXplIDw8PSAxOworICAgICAgICAgICAgYXNzZXJ0KHMtPnNpemUgIT0gMCAmJiAib3ZlcmZsb3ciKTsKKyAgICAgICAgfSB3aGlsZSAocy0+c2l6ZSA8IHMtPmxlbiArIDEpOworICAgICAgICBzLT5zdHIgPSByZWFsbG9jKHMtPnN0ciwgcy0+c2l6ZSk7CisgICAgICAgIGFzc2VydChzLT5zdHIgIT0gTlVMTCAmJiAib3V0IG9mIG1lbW9yeSIpOworICAgICAgICB2c25wcmludGYocy0+c3RyICsgbGVuLCBzLT5zaXplIC0gbGVuLCBmbXQsIGFwKTsKKyAgICB9CisgICAgdmFfZW5kKGFwKTsKK30KKworLy8gR2xvYmFscyB0byBhdm9pZCBwcm9wYWdhdGluZyBjb25zdGFudHMgb3IgY29uc3RhbnQgcG9pbnRlcnMgcmVjdXJzaXZlbHkuCitzdHJ1Y3QgeworICAgIGludCBtYXg7ICAgICAgICAgICAgLy8gbWF4aW11bSBhbGxvd2VkIGJpdCBsZW5ndGggZm9yIHRoZSBjb2RlcworICAgIGludCByb290OyAgICAgICAgICAgLy8gc2l6ZSBvZiBiYXNlIGNvZGUgdGFibGUgaW4gYml0cworICAgIGludCBsYXJnZTsgICAgICAgICAgLy8gbGFyZ2VzdCBjb2RlIHRhYmxlIHNvIGZhcgorICAgIHNpemVfdCBzaXplOyAgICAgICAgLy8gbnVtYmVyIG9mIGVsZW1lbnRzIGluIG51bSBhbmQgZG9uZQorICAgIGJpZ190IHRvdDsgICAgICAgICAgLy8gdG90YWwgbnVtYmVyIG9mIGNvZGVzIHdpdGggbWF4aW11bSB0YWJsZXMgc2l6ZQorICAgIHN0cmluZ190IG91dDsgICAgICAgLy8gZGlzcGxheSBvZiBzdWJjb2RlcyBmb3IgbWF4aW11bSB0YWJsZXMgc2l6ZQorICAgIGludCAqY29kZTsgICAgICAgICAgLy8gbnVtYmVyIG9mIHN5bWJvbHMgYXNzaWduZWQgdG8gZWFjaCBiaXQgbGVuZ3RoCisgICAgYmlnX3QgKm51bTsgICAgICAgICAvLyBzYXZlZCByZXN1bHRzIGFycmF5IGZvciBjb2RlIGNvdW50aW5nCisgICAgc3RydWN0IHRhYiAqZG9uZTsgICAvLyBzdGF0ZXMgYWxyZWFkeSBldmFsdWF0ZWQgYXJyYXkKK30gZzsKKworLy8gSW5kZXggZnVuY3Rpb24gZm9yIG51bVtdIGFuZCBkb25lW10uCitsb2NhbCBpbmxpbmUgc2l6ZV90IG1hcChpbnQgc3ltcywgaW50IGxlZnQsIGludCBsZW4pIHsKKyAgICByZXR1cm4gKChzaXplX3QpKChzeW1zIC0gMSkgPj4gMSkgKiAoKHN5bXMgLSAyKSA+PiAxKSArCisgICAgICAgICAgICAobGVmdCA+PiAxKSAtIDEpICogKGcubWF4IC0gMSkgKworICAgICAgICAgICBsZW4gLSAxOworfQorCisvLyBGcmVlIGFsbG9jYXRlZCBzcGFjZSBpbiBnbG9iYWxzLgorbG9jYWwgdm9pZCBjbGVhbnVwKHZvaWQpIHsKKyAgICBpZiAoZy5kb25lICE9IE5VTEwpIHsKKyAgICAgICAgZm9yIChzaXplX3QgbiA9IDA7IG4gPCBnLnNpemU7IG4rKykKKyAgICAgICAgICAgIGlmIChnLmRvbmVbbl0ubGVuKQorICAgICAgICAgICAgICAgIGZyZWUoZy5kb25lW25dLnZlYyk7CisgICAgICAgIGcuc2l6ZSA9IDA7CisgICAgICAgIGZyZWUoZy5kb25lKTsgICBnLmRvbmUgPSBOVUxMOworICAgIH0KKyAgICBmcmVlKGcubnVtKTsgICAgZy5udW0gPSBOVUxMOworICAgIGZyZWUoZy5jb2RlKTsgICBnLmNvZGUgPSBOVUxMOworICAgIHN0cmluZ19mcmVlKCZnLm91dCk7Cit9CisKKy8vIFJldHVybiB0aGUgbnVtYmVyIG9mIHBvc3NpYmxlIHByZWZpeCBjb2RlcyB1c2luZyBiaXQgcGF0dGVybnMgb2YgbGVuZ3RocyBsZW4KKy8vIHRocm91Z2ggbWF4IGluY2x1c2l2ZSwgY29kaW5nIHN5bXMgc3ltYm9scywgd2l0aCBsZWZ0IGJpdCBwYXR0ZXJucyBvZiBsZW5ndGgKKy8vIGxlbiB1bnVzZWQgLS0gcmV0dXJuIC0xIGlmIHRoZXJlIGlzIGFuIG92ZXJmbG93IGluIHRoZSBjb3VudGluZy4gS2VlcCBhCisvLyByZWNvcmQgb2YgcHJldmlvdXMgcmVzdWx0cyBpbiBudW0gdG8gcHJldmVudCByZXBlYXRpbmcgdGhlIHNhbWUgY2FsY3VsYXRpb24uCitsb2NhbCBiaWdfdCBjb3VudChpbnQgc3ltcywgaW50IGxlZnQsIGludCBsZW4pIHsKKyAgICAvLyBzZWUgaWYgb25seSBvbmUgcG9zc2libGUgY29kZQogICAgIGlmIChzeW1zID09IGxlZnQpCiAgICAgICAgIHJldHVybiAxOwogCi0gICAgLyogbm90ZSBhbmQgdmVyaWZ5IHRoZSBleHBlY3RlZCBzdGF0ZSAqLwotICAgIGFzc2VydChzeW1zID4gbGVmdCAmJiBsZWZ0ID4gMCAmJiBsZW4gPCBtYXgpOworICAgIC8vIG5vdGUgYW5kIHZlcmlmeSB0aGUgZXhwZWN0ZWQgc3RhdGUKKyAgICBhc3NlcnQoc3ltcyA+IGxlZnQgJiYgbGVmdCA+IDAgJiYgbGVuIDwgZy5tYXgpOwogCi0gICAgLyogc2VlIGlmIHdlJ3ZlIGRvbmUgdGhpcyBvbmUgYWxyZWFkeSAqLwotICAgIGluZGV4ID0gSU5ERVgoc3ltcywgbGVmdCwgbGVuKTsKLSAgICBnb3QgPSBudW1baW5kZXhdOworICAgIC8vIHNlZSBpZiB3ZSd2ZSBkb25lIHRoaXMgb25lIGFscmVhZHkKKyAgICBzaXplX3QgaW5kZXggPSBtYXAoc3ltcywgbGVmdCwgbGVuKTsKKyAgICBiaWdfdCBnb3QgPSBnLm51bVtpbmRleF07CiAgICAgaWYgKGdvdCkKLSAgICAgICAgcmV0dXJuIGdvdDsgICAgICAgICAvKiB3ZSBoYXZlIC0tIHJldHVybiB0aGUgc2F2ZWQgcmVzdWx0ICovCisgICAgICAgIHJldHVybiBnb3Q7ICAgICAgICAgLy8gd2UgaGF2ZSAtLSByZXR1cm4gdGhlIHNhdmVkIHJlc3VsdAogCi0gICAgLyogd2UgbmVlZCB0byB1c2UgYXQgbGVhc3QgdGhpcyBtYW55IGJpdCBwYXR0ZXJucyBzbyB0aGF0IHRoZSBjb2RlIHdvbid0IGJlCi0gICAgICAgaW5jb21wbGV0ZSBhdCB0aGUgbmV4dCBsZW5ndGggKG1vcmUgYml0IHBhdHRlcm5zIHRoYW4gc3ltYm9scykgKi8KLSAgICBsZWFzdCA9IChsZWZ0IDw8IDEpIC0gc3ltczsKKyAgICAvLyB3ZSBuZWVkIHRvIHVzZSBhdCBsZWFzdCB0aGlzIG1hbnkgYml0IHBhdHRlcm5zIHNvIHRoYXQgdGhlIGNvZGUgd29uJ3QgYmUKKyAgICAvLyBpbmNvbXBsZXRlIGF0IHRoZSBuZXh0IGxlbmd0aCAobW9yZSBiaXQgcGF0dGVybnMgdGhhbiBzeW1ib2xzKQorICAgIGludCBsZWFzdCA9IChsZWZ0IDw8IDEpIC0gc3ltczsKICAgICBpZiAobGVhc3QgPCAwKQogICAgICAgICBsZWFzdCA9IDA7CiAKLSAgICAvKiB3ZSBjYW4gdXNlIGF0IG1vc3QgdGhpcyBtYW55IGJpdCBwYXR0ZXJucywgbGVzdCB0aGVyZSBub3QgYmUgZW5vdWdoCi0gICAgICAgYXZhaWxhYmxlIGZvciB0aGUgcmVtYWluaW5nIHN5bWJvbHMgYXQgdGhlIG1heGltdW0gbGVuZ3RoIChpZiB0aGVyZSB3ZXJlCi0gICAgICAgbm8gbGltaXQgdG8gdGhlIGNvZGUgbGVuZ3RoLCB0aGlzIHdvdWxkIGJlY29tZTogbW9zdCA9IGxlZnQgLSAxKSAqLwotICAgIG1vc3QgPSAoKChjb2RlX3QpbGVmdCA8PCAobWF4IC0gbGVuKSkgLSBzeW1zKSAvCi0gICAgICAgICAgICAoKChjb2RlX3QpMSA8PCAobWF4IC0gbGVuKSkgLSAxKTsKKyAgICAvLyB3ZSBjYW4gdXNlIGF0IG1vc3QgdGhpcyBtYW55IGJpdCBwYXR0ZXJucywgbGVzdCB0aGVyZSBub3QgYmUgZW5vdWdoCisgICAgLy8gYXZhaWxhYmxlIGZvciB0aGUgcmVtYWluaW5nIHN5bWJvbHMgYXQgdGhlIG1heGltdW0gbGVuZ3RoIChpZiB0aGVyZSB3ZXJlCisgICAgLy8gbm8gbGltaXQgdG8gdGhlIGNvZGUgbGVuZ3RoLCB0aGlzIHdvdWxkIGJlY29tZTogbW9zdCA9IGxlZnQgLSAxKQorICAgIGludCBtb3N0ID0gKCgoY29kZV90KWxlZnQgPDwgKGcubWF4IC0gbGVuKSkgLSBzeW1zKSAvCisgICAgICAgICAgICAgICAoKChjb2RlX3QpMSA8PCAoZy5tYXggLSBsZW4pKSAtIDEpOwogCi0gICAgLyogY291bnQgYWxsIHBvc3NpYmxlIGNvZGVzIGZyb20gdGhpcyBqdW5jdHVyZSBhbmQgYWRkIHRoZW0gdXAgKi8KLSAgICBzdW0gPSAwOwotICAgIGZvciAodXNlID0gbGVhc3Q7IHVzZSA8PSBtb3N0OyB1c2UrKykgewotICAgICAgICBnb3QgPSBjb3VudChzeW1zIC0gdXNlLCBsZW4gKyAxLCAobGVmdCAtIHVzZSkgPDwgMSk7CisgICAgLy8gY291bnQgYWxsIHBvc3NpYmxlIGNvZGVzIGZyb20gdGhpcyBqdW5jdHVyZSBhbmQgYWRkIHRoZW0gdXAKKyAgICBiaWdfdCBzdW0gPSAwOworICAgIGZvciAoaW50IHVzZSA9IGxlYXN0OyB1c2UgPD0gbW9zdDsgdXNlKyspIHsKKyAgICAgICAgZ290ID0gY291bnQoc3ltcyAtIHVzZSwgKGxlZnQgLSB1c2UpIDw8IDEsIGxlbiArIDEpOwogICAgICAgICBzdW0gKz0gZ290OwotICAgICAgICBpZiAoZ290ID09IChiaWdfdCkwIC0gMSB8fCBzdW0gPCBnb3QpICAgLyogb3ZlcmZsb3cgKi8KLSAgICAgICAgICAgIHJldHVybiAoYmlnX3QpMCAtIDE7CisgICAgICAgIGlmIChnb3QgPT0gKGJpZ190KS0xIHx8IHN1bSA8IGdvdCkgICAgICAvLyBvdmVyZmxvdworICAgICAgICAgICAgcmV0dXJuIChiaWdfdCktMTsKICAgICB9CiAKLSAgICAvKiB2ZXJpZnkgdGhhdCBhbGwgcmVjdXJzaXZlIGNhbGxzIGFyZSBwcm9kdWN0aXZlICovCisgICAgLy8gdmVyaWZ5IHRoYXQgYWxsIHJlY3Vyc2l2ZSBjYWxscyBhcmUgcHJvZHVjdGl2ZQogICAgIGFzc2VydChzdW0gIT0gMCk7CiAKLSAgICAvKiBzYXZlIHRoZSByZXN1bHQgYW5kIHJldHVybiBpdCAqLwotICAgIG51bVtpbmRleF0gPSBzdW07CisgICAgLy8gc2F2ZSB0aGUgcmVzdWx0IGFuZCByZXR1cm4gaXQKKyAgICBnLm51bVtpbmRleF0gPSBzdW07CiAgICAgcmV0dXJuIHN1bTsKIH0KIAotLyogUmV0dXJuIHRydWUgaWYgd2UndmUgYmVlbiBoZXJlIGJlZm9yZSwgc2V0IHRvIHRydWUgaWYgbm90LiAgU2V0IGEgYml0IGluIGEKLSAgIGJpdCB2ZWN0b3IgdG8gaW5kaWNhdGUgdmlzaXRpbmcgdGhpcyBzdGF0ZS4gIEVhY2ggKHN5bXMsbGVuLGxlZnQpIHN0YXRlCi0gICBoYXMgYSB2YXJpYWJsZSBzaXplIGJpdCB2ZWN0b3IgaW5kZXhlZCBieSAobWVtLHJlbSkuICBUaGUgYml0IHZlY3RvciBpcwotICAgbGVuZ3RoZW5lZCBpZiBuZWVkZWQgdG8gYWxsb3cgc2V0dGluZyB0aGUgKG1lbSxyZW0pIGJpdC4gKi8KLWxvY2FsIGludCBiZWVuaGVyZShpbnQgc3ltcywgaW50IGxlbiwgaW50IGxlZnQsIGludCBtZW0sIGludCByZW0pCi17Ci0gICAgc2l6ZV90IGluZGV4OyAgICAgICAvKiBpbmRleCBmb3IgdGhpcyBzdGF0ZSdzIGJpdCB2ZWN0b3IgKi8KLSAgICBzaXplX3Qgb2Zmc2V0OyAgICAgIC8qIG9mZnNldCBpbiB0aGlzIHN0YXRlJ3MgYml0IHZlY3RvciAqLwotICAgIGludCBiaXQ7ICAgICAgICAgICAgLyogbWFzayBmb3IgdGhpcyBzdGF0ZSdzIGJpdCAqLwotICAgIHNpemVfdCBsZW5ndGg7ICAgICAgLyogbGVuZ3RoIG9mIHRoZSBiaXQgdmVjdG9yIGluIGJ5dGVzICovCi0gICAgY2hhciAqdmVjdG9yOyAgICAgICAvKiBuZXcgb3IgZW5sYXJnZWQgYml0IHZlY3RvciAqLwotCi0gICAgLyogcG9pbnQgdG8gdmVjdG9yIGZvciAoc3ltcyxsZWZ0LGxlbiksIGJpdCBpbiB2ZWN0b3IgZm9yIChtZW0scmVtKSAqLwotICAgIGluZGV4ID0gSU5ERVgoc3ltcywgbGVmdCwgbGVuKTsKLSAgICBtZW0gLT0gMSA8PCByb290OwotICAgIG9mZnNldCA9IChtZW0gPj4gMykgKyByZW07CisvLyBSZXR1cm4gdHJ1ZSBpZiB3ZSd2ZSBiZWVuIGhlcmUgYmVmb3JlLCBzZXQgdG8gdHJ1ZSBpZiBub3QuIFNldCBhIGJpdCBpbiBhCisvLyBiaXQgdmVjdG9yIHRvIGluZGljYXRlIHZpc2l0aW5nIHRoaXMgc3RhdGUuIEVhY2ggKHN5bXMsbGVuLGxlZnQpIHN0YXRlIGhhcyBhCisvLyB2YXJpYWJsZSBzaXplIGJpdCB2ZWN0b3IgaW5kZXhlZCBieSAobWVtLHJlbSkuIFRoZSBiaXQgdmVjdG9yIGlzIGxlbmd0aGVuZWQKKy8vIGFzIG5lZWRlZCB0byBhbGxvdyBzZXR0aW5nIHRoZSAobWVtLHJlbSkgYml0LgorbG9jYWwgaW50IGJlZW5faGVyZShpbnQgc3ltcywgaW50IGxlZnQsIGludCBsZW4sIGludCBtZW0sIGludCByZW0pIHsKKyAgICAvLyBwb2ludCB0byB2ZWN0b3IgZm9yIChzeW1zLGxlZnQsbGVuKSwgYml0IGluIHZlY3RvciBmb3IgKG1lbSxyZW0pCisgICAgc2l6ZV90IGluZGV4ID0gbWFwKHN5bXMsIGxlZnQsIGxlbik7CisgICAgbWVtIC09IDEgPDwgZy5yb290OyAgICAgICAgICAgICAvLyBtZW0gYWx3YXlzIGluY2x1ZGVzIHRoZSByb290IHRhYmxlCisgICAgbWVtID4+PSAxOyAgICAgICAgICAgICAgICAgICAgICAvLyBtZW0gYW5kIHJlbSBhcmUgYWx3YXlzIGV2ZW4KKyAgICByZW0gPj49IDE7CisgICAgc2l6ZV90IG9mZnNldCA9IChtZW0gPj4gMykgKyByZW07CiAgICAgb2Zmc2V0ID0gKChvZmZzZXQgKiAob2Zmc2V0ICsgMSkpID4+IDEpICsgcmVtOwotICAgIGJpdCA9IDEgPDwgKG1lbSAmIDcpOworICAgIGludCBiaXQgPSAxIDw8IChtZW0gJiA3KTsKIAotICAgIC8qIHNlZSBpZiB3ZSd2ZSBiZWVuIGhlcmUgKi8KLSAgICBsZW5ndGggPSBkb25lW2luZGV4XS5sZW47Ci0gICAgaWYgKG9mZnNldCA8IGxlbmd0aCAmJiAoZG9uZVtpbmRleF0udmVjW29mZnNldF0gJiBiaXQpICE9IDApCi0gICAgICAgIHJldHVybiAxOyAgICAgICAvKiBkb25lIHRoaXMhICovCisgICAgLy8gc2VlIGlmIHdlJ3ZlIGJlZW4gaGVyZQorICAgIHNpemVfdCBsZW5ndGggPSBnLmRvbmVbaW5kZXhdLmxlbjsKKyAgICBpZiAob2Zmc2V0IDwgbGVuZ3RoICYmIChnLmRvbmVbaW5kZXhdLnZlY1tvZmZzZXRdICYgYml0KSAhPSAwKQorICAgICAgICByZXR1cm4gMTsgICAgICAgLy8gZG9uZSB0aGlzIQogCi0gICAgLyogd2UgaGF2ZW4ndCBiZWVuIGhlcmUgYmVmb3JlIC0tIHNldCB0aGUgYml0IHRvIHNob3cgd2UgaGF2ZSBub3cgKi8KKyAgICAvLyB3ZSBoYXZlbid0IGJlZW4gaGVyZSBiZWZvcmUgLS0gc2V0IHRoZSBiaXQgdG8gc2hvdyB3ZSBoYXZlIG5vdwogCi0gICAgLyogc2VlIGlmIHdlIG5lZWQgdG8gbGVuZ3RoZW4gdGhlIHZlY3RvciBpbiBvcmRlciB0byBzZXQgdGhlIGJpdCAqLworICAgIC8vIHNlZSBpZiB3ZSBuZWVkIHRvIGxlbmd0aGVuIHRoZSB2ZWN0b3IgaW4gb3JkZXIgdG8gc2V0IHRoZSBiaXQKICAgICBpZiAobGVuZ3RoIDw9IG9mZnNldCkgewotICAgICAgICAvKiBpZiB3ZSBoYXZlIG9uZSBhbHJlYWR5LCBlbmxhcmdlIGl0LCB6ZXJvIG91dCB0aGUgYXBwZW5kZWQgc3BhY2UgKi8KKyAgICAgICAgLy8gaWYgd2UgaGF2ZSBvbmUgYWxyZWFkeSwgZW5sYXJnZSBpdCwgemVybyBvdXQgdGhlIGFwcGVuZGVkIHNwYWNlCisgICAgICAgIGNoYXIgKnZlY3RvcjsKICAgICAgICAgaWYgKGxlbmd0aCkgewogICAgICAgICAgICAgZG8gewogICAgICAgICAgICAgICAgIGxlbmd0aCA8PD0gMTsKICAgICAgICAgICAgIH0gd2hpbGUgKGxlbmd0aCA8PSBvZmZzZXQpOwotICAgICAgICAgICAgdmVjdG9yID0gcmVhbGxvYyhkb25lW2luZGV4XS52ZWMsIGxlbmd0aCk7Ci0gICAgICAgICAgICBpZiAodmVjdG9yICE9IE5VTEwpCi0gICAgICAgICAgICAgICAgbWVtc2V0KHZlY3RvciArIGRvbmVbaW5kZXhdLmxlbiwgMCwgbGVuZ3RoIC0gZG9uZVtpbmRleF0ubGVuKTsKKyAgICAgICAgICAgIHZlY3RvciA9IHJlYWxsb2MoZy5kb25lW2luZGV4XS52ZWMsIGxlbmd0aCk7CisgICAgICAgICAgICBhc3NlcnQodmVjdG9yICE9IE5VTEwgJiYgIm91dCBvZiBtZW1vcnkiKTsKKyAgICAgICAgICAgIG1lbXNldCh2ZWN0b3IgKyBnLmRvbmVbaW5kZXhdLmxlbiwgMCwgbGVuZ3RoIC0gZy5kb25lW2luZGV4XS5sZW4pOwogICAgICAgICB9CiAKLSAgICAgICAgLyogb3RoZXJ3aXNlIHdlIG5lZWQgdG8gbWFrZSBhIG5ldyB2ZWN0b3IgYW5kIHplcm8gaXQgb3V0ICovCisgICAgICAgIC8vIG90aGVyd2lzZSB3ZSBuZWVkIHRvIG1ha2UgYSBuZXcgdmVjdG9yIGFuZCB6ZXJvIGl0IG91dAogICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgIGxlbmd0aCA9IDEgPDwgKGxlbiAtIHJvb3QpOworICAgICAgICAgICAgbGVuZ3RoID0gMTY7CiAgICAgICAgICAgICB3aGlsZSAobGVuZ3RoIDw9IG9mZnNldCkKICAgICAgICAgICAgICAgICBsZW5ndGggPDw9IDE7Ci0gICAgICAgICAgICB2ZWN0b3IgPSBjYWxsb2MobGVuZ3RoLCBzaXplb2YoY2hhcikpOworICAgICAgICAgICAgdmVjdG9yID0gY2FsbG9jKGxlbmd0aCwgMSk7CisgICAgICAgICAgICBhc3NlcnQodmVjdG9yICE9IE5VTEwgJiYgIm91dCBvZiBtZW1vcnkiKTsKICAgICAgICAgfQogCi0gICAgICAgIC8qIGluIGVpdGhlciBjYXNlLCBiYWlsIGlmIHdlIGNhbid0IGdldCB0aGUgbWVtb3J5ICovCi0gICAgICAgIGlmICh2ZWN0b3IgPT0gTlVMTCkgewotICAgICAgICAgICAgZnB1dHMoImFib3J0OiB1bmFibGUgdG8gYWxsb2NhdGUgZW5vdWdoIG1lbW9yeVxuIiwgc3RkZXJyKTsKLSAgICAgICAgICAgIGNsZWFudXAoKTsKLSAgICAgICAgICAgIGV4aXQoMSk7Ci0gICAgICAgIH0KLQotICAgICAgICAvKiBpbnN0YWxsIHRoZSBuZXcgdmVjdG9yICovCi0gICAgICAgIGRvbmVbaW5kZXhdLmxlbiA9IGxlbmd0aDsKLSAgICAgICAgZG9uZVtpbmRleF0udmVjID0gdmVjdG9yOworICAgICAgICAvLyBpbnN0YWxsIHRoZSBuZXcgdmVjdG9yCisgICAgICAgIGcuZG9uZVtpbmRleF0ubGVuID0gbGVuZ3RoOworICAgICAgICBnLmRvbmVbaW5kZXhdLnZlYyA9IHZlY3RvcjsKICAgICB9CiAKLSAgICAvKiBzZXQgdGhlIGJpdCAqLwotICAgIGRvbmVbaW5kZXhdLnZlY1tvZmZzZXRdIHw9IGJpdDsKKyAgICAvLyBzZXQgdGhlIGJpdAorICAgIGcuZG9uZVtpbmRleF0udmVjW29mZnNldF0gfD0gYml0OwogICAgIHJldHVybiAwOwogfQogCi0vKiBFeGFtaW5lIGFsbCBwb3NzaWJsZSBjb2RlcyBmcm9tIHRoZSBnaXZlbiBub2RlIChzeW1zLCBsZW4sIGxlZnQpLiAgQ29tcHV0ZQotICAgdGhlIGFtb3VudCBvZiBtZW1vcnkgcmVxdWlyZWQgdG8gYnVpbGQgaW5mbGF0ZSdzIGRlY29kaW5nIHRhYmxlcywgd2hlcmUgdGhlCi0gICBudW1iZXIgb2YgY29kZSBzdHJ1Y3R1cmVzIHVzZWQgc28gZmFyIGlzIG1lbSwgYW5kIHRoZSBudW1iZXIgcmVtYWluaW5nIGluCi0gICB0aGUgY3VycmVudCBzdWItdGFibGUgaXMgcmVtLiAgVXNlcyB0aGUgZ2xvYmFscyBtYXgsIGNvZGUsIHJvb3QsIGxhcmdlLCBhbmQKLSAgIGRvbmUuICovCi1sb2NhbCB2b2lkIGV4YW1pbmUoaW50IHN5bXMsIGludCBsZW4sIGludCBsZWZ0LCBpbnQgbWVtLCBpbnQgcmVtKQotewotICAgIGludCBsZWFzdDsgICAgICAgICAgLyogbGVhc3QgbnVtYmVyIG9mIHN5bXMgdG8gdXNlIGF0IHRoaXMganVuY3R1cmUgKi8KLSAgICBpbnQgbW9zdDsgICAgICAgICAgIC8qIG1vc3QgbnVtYmVyIG9mIHN5bXMgdG8gdXNlIGF0IHRoaXMganVuY3R1cmUgKi8KLSAgICBpbnQgdXNlOyAgICAgICAgICAgIC8qIG51bWJlciBvZiBiaXQgcGF0dGVybnMgdG8gdXNlIGluIG5leHQgY2FsbCAqLwotCi0gICAgLyogc2VlIGlmIHdlIGhhdmUgYSBjb21wbGV0ZSBjb2RlICovCisvLyBFeGFtaW5lIGFsbCBwb3NzaWJsZSBjb2RlcyBmcm9tIHRoZSBnaXZlbiBub2RlIChzeW1zLCBsZW4sIGxlZnQpLiBDb21wdXRlCisvLyB0aGUgYW1vdW50IG9mIG1lbW9yeSByZXF1aXJlZCB0byBidWlsZCBpbmZsYXRlJ3MgZGVjb2RpbmcgdGFibGVzLCB3aGVyZSB0aGUKKy8vIG51bWJlciBvZiBjb2RlIHN0cnVjdHVyZXMgdXNlZCBzbyBmYXIgaXMgbWVtLCBhbmQgdGhlIG51bWJlciByZW1haW5pbmcgaW4KKy8vIHRoZSBjdXJyZW50IHN1Yi10YWJsZSBpcyByZW0uCitsb2NhbCB2b2lkIGV4YW1pbmUoaW50IHN5bXMsIGludCBsZWZ0LCBpbnQgbGVuLCBpbnQgbWVtLCBpbnQgcmVtKSB7CisgICAgLy8gc2VlIGlmIHdlIGhhdmUgYSBjb21wbGV0ZSBjb2RlCiAgICAgaWYgKHN5bXMgPT0gbGVmdCkgewotICAgICAgICAvKiBzZXQgdGhlIGxhc3QgY29kZSBlbnRyeSAqLwotICAgICAgICBjb2RlW2xlbl0gPSBsZWZ0OworICAgICAgICAvLyBzZXQgdGhlIGxhc3QgY29kZSBlbnRyeQorICAgICAgICBnLmNvZGVbbGVuXSA9IGxlZnQ7CiAKLSAgICAgICAgLyogY29tcGxldGUgY29tcHV0YXRpb24gb2YgbWVtb3J5IHVzZWQgYnkgdGhpcyBjb2RlICovCisgICAgICAgIC8vIGNvbXBsZXRlIGNvbXB1dGF0aW9uIG9mIG1lbW9yeSB1c2VkIGJ5IHRoaXMgY29kZQogICAgICAgICB3aGlsZSAocmVtIDwgbGVmdCkgewogICAgICAgICAgICAgbGVmdCAtPSByZW07Ci0gICAgICAgICAgICByZW0gPSAxIDw8IChsZW4gLSByb290KTsKKyAgICAgICAgICAgIHJlbSA9IDEgPDwgKGxlbiAtIGcucm9vdCk7CiAgICAgICAgICAgICBtZW0gKz0gcmVtOwogICAgICAgICB9CiAgICAgICAgIGFzc2VydChyZW0gPT0gbGVmdCk7CiAKLSAgICAgICAgLyogaWYgdGhpcyBpcyBhIG5ldyBtYXhpbXVtLCBzaG93IHRoZSBlbnRyaWVzIHVzZWQgYW5kIHRoZSBzdWItY29kZSAqLwotICAgICAgICBpZiAobWVtID4gbGFyZ2UpIHsKLSAgICAgICAgICAgIGxhcmdlID0gbWVtOwotICAgICAgICAgICAgcHJpbnRmKCJtYXggJWQ6ICIsIG1lbSk7Ci0gICAgICAgICAgICBmb3IgKHVzZSA9IHJvb3QgKyAxOyB1c2UgPD0gbWF4OyB1c2UrKykKLSAgICAgICAgICAgICAgICBpZiAoY29kZVt1c2VdKQotICAgICAgICAgICAgICAgICAgICBwcmludGYoIiVkWyVkXSAiLCBjb2RlW3VzZV0sIHVzZSk7Ci0gICAgICAgICAgICBwdXRjaGFyKCdcbicpOwotICAgICAgICAgICAgZmZsdXNoKHN0ZG91dCk7CisgICAgICAgIC8vIGlmIHRoaXMgaXMgYXQgdGhlIG1heGltdW0sIHNob3cgdGhlIHN1Yi1jb2RlCisgICAgICAgIGlmIChtZW0gPj0gZy5sYXJnZSkgeworICAgICAgICAgICAgLy8gaWYgdGhpcyBpcyBhIG5ldyBtYXhpbXVtLCB1cGRhdGUgdGhlIG1heGltdW0gYW5kIGNsZWFyIG91dCB0aGUKKyAgICAgICAgICAgIC8vIHByaW50ZWQgc3ViLWNvZGVzIGZyb20gdGhlIHByZXZpb3VzIG1heGltdW0KKyAgICAgICAgICAgIGlmIChtZW0gPiBnLmxhcmdlKSB7CisgICAgICAgICAgICAgICAgZy5sYXJnZSA9IG1lbTsKKyAgICAgICAgICAgICAgICBzdHJpbmdfY2xlYXIoJmcub3V0KTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgLy8gY29tcHV0ZSB0aGUgc3RhcnRpbmcgc3RhdGUgZm9yIHRoaXMgc3ViLWNvZGUKKyAgICAgICAgICAgIHN5bXMgPSAwOworICAgICAgICAgICAgbGVmdCA9IDEgPDwgZy5tYXg7CisgICAgICAgICAgICBmb3IgKGludCBiaXRzID0gZy5tYXg7IGJpdHMgPiBnLnJvb3Q7IGJpdHMtLSkgeworICAgICAgICAgICAgICAgIHN5bXMgKz0gZy5jb2RlW2JpdHNdOworICAgICAgICAgICAgICAgIGxlZnQgLT0gZy5jb2RlW2JpdHNdOworICAgICAgICAgICAgICAgIGFzc2VydCgobGVmdCAmIDEpID09IDApOworICAgICAgICAgICAgICAgIGxlZnQgPj49IDE7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIC8vIHByaW50IHRoZSBzdGFydGluZyBzdGF0ZSBhbmQgdGhlIHJlc3VsdGluZyBzdWItY29kZSB0byBnLm91dAorICAgICAgICAgICAgc3RyaW5nX3ByaW50ZigmZy5vdXQsICI8JXUsICV1LCAldT46IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgc3ltcywgZy5yb290ICsgMSwgKCgxIDw8IGcucm9vdCkgLSBsZWZ0KSA8PCAxKTsKKyAgICAgICAgICAgIGZvciAoaW50IGJpdHMgPSBnLnJvb3QgKyAxOyBiaXRzIDw9IGcubWF4OyBiaXRzKyspCisgICAgICAgICAgICAgICAgaWYgKGcuY29kZVtiaXRzXSkKKyAgICAgICAgICAgICAgICAgICAgc3RyaW5nX3ByaW50ZigmZy5vdXQsICIgJWRbJWRdIiwgZy5jb2RlW2JpdHNdLCBiaXRzKTsKKyAgICAgICAgICAgIHN0cmluZ19wcmludGYoJmcub3V0LCAiXG4iKTsKICAgICAgICAgfQogCi0gICAgICAgIC8qIHJlbW92ZSBlbnRyaWVzIGFzIHdlIGRyb3AgYmFjayBkb3duIGluIHRoZSByZWN1cnNpb24gKi8KLSAgICAgICAgY29kZVtsZW5dID0gMDsKKyAgICAgICAgLy8gcmVtb3ZlIGVudHJpZXMgYXMgd2UgZHJvcCBiYWNrIGRvd24gaW4gdGhlIHJlY3Vyc2lvbgorICAgICAgICBnLmNvZGVbbGVuXSA9IDA7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICAvKiBwcnVuZSB0aGUgdHJlZSBpZiB3ZSBjYW4gKi8KLSAgICBpZiAoYmVlbmhlcmUoc3ltcywgbGVuLCBsZWZ0LCBtZW0sIHJlbSkpCisgICAgLy8gcHJ1bmUgdGhlIHRyZWUgaWYgd2UgY2FuCisgICAgaWYgKGJlZW5faGVyZShzeW1zLCBsZWZ0LCBsZW4sIG1lbSwgcmVtKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgLyogd2UgbmVlZCB0byB1c2UgYXQgbGVhc3QgdGhpcyBtYW55IGJpdCBwYXR0ZXJucyBzbyB0aGF0IHRoZSBjb2RlIHdvbid0IGJlCi0gICAgICAgaW5jb21wbGV0ZSBhdCB0aGUgbmV4dCBsZW5ndGggKG1vcmUgYml0IHBhdHRlcm5zIHRoYW4gc3ltYm9scykgKi8KLSAgICBsZWFzdCA9IChsZWZ0IDw8IDEpIC0gc3ltczsKKyAgICAvLyB3ZSBuZWVkIHRvIHVzZSBhdCBsZWFzdCB0aGlzIG1hbnkgYml0IHBhdHRlcm5zIHNvIHRoYXQgdGhlIGNvZGUgd29uJ3QgYmUKKyAgICAvLyBpbmNvbXBsZXRlIGF0IHRoZSBuZXh0IGxlbmd0aCAobW9yZSBiaXQgcGF0dGVybnMgdGhhbiBzeW1ib2xzKQorICAgIGludCBsZWFzdCA9IChsZWZ0IDw8IDEpIC0gc3ltczsKICAgICBpZiAobGVhc3QgPCAwKQogICAgICAgICBsZWFzdCA9IDA7CiAKLSAgICAvKiB3ZSBjYW4gdXNlIGF0IG1vc3QgdGhpcyBtYW55IGJpdCBwYXR0ZXJucywgbGVzdCB0aGVyZSBub3QgYmUgZW5vdWdoCi0gICAgICAgYXZhaWxhYmxlIGZvciB0aGUgcmVtYWluaW5nIHN5bWJvbHMgYXQgdGhlIG1heGltdW0gbGVuZ3RoIChpZiB0aGVyZSB3ZXJlCi0gICAgICAgbm8gbGltaXQgdG8gdGhlIGNvZGUgbGVuZ3RoLCB0aGlzIHdvdWxkIGJlY29tZTogbW9zdCA9IGxlZnQgLSAxKSAqLwotICAgIG1vc3QgPSAoKChjb2RlX3QpbGVmdCA8PCAobWF4IC0gbGVuKSkgLSBzeW1zKSAvCi0gICAgICAgICAgICAoKChjb2RlX3QpMSA8PCAobWF4IC0gbGVuKSkgLSAxKTsKKyAgICAvLyB3ZSBjYW4gdXNlIGF0IG1vc3QgdGhpcyBtYW55IGJpdCBwYXR0ZXJucywgbGVzdCB0aGVyZSBub3QgYmUgZW5vdWdoCisgICAgLy8gYXZhaWxhYmxlIGZvciB0aGUgcmVtYWluaW5nIHN5bWJvbHMgYXQgdGhlIG1heGltdW0gbGVuZ3RoIChpZiB0aGVyZSB3ZXJlCisgICAgLy8gbm8gbGltaXQgdG8gdGhlIGNvZGUgbGVuZ3RoLCB0aGlzIHdvdWxkIGJlY29tZTogbW9zdCA9IGxlZnQgLSAxKQorICAgIGludCBtb3N0ID0gKCgoY29kZV90KWxlZnQgPDwgKGcubWF4IC0gbGVuKSkgLSBzeW1zKSAvCisgICAgICAgICAgICAgICAoKChjb2RlX3QpMSA8PCAoZy5tYXggLSBsZW4pKSAtIDEpOwogCi0gICAgLyogb2NjdXB5IGxlYXN0IHRhYmxlIHNwYWNlcywgY3JlYXRpbmcgbmV3IHN1Yi10YWJsZXMgYXMgbmVlZGVkICovCi0gICAgdXNlID0gbGVhc3Q7CisgICAgLy8gb2NjdXB5IGxlYXN0IHRhYmxlIHNwYWNlcywgY3JlYXRpbmcgbmV3IHN1Yi10YWJsZXMgYXMgbmVlZGVkCisgICAgaW50IHVzZSA9IGxlYXN0OwogICAgIHdoaWxlIChyZW0gPCB1c2UpIHsKICAgICAgICAgdXNlIC09IHJlbTsKLSAgICAgICAgcmVtID0gMSA8PCAobGVuIC0gcm9vdCk7CisgICAgICAgIHJlbSA9IDEgPDwgKGxlbiAtIGcucm9vdCk7CiAgICAgICAgIG1lbSArPSByZW07CiAgICAgfQogICAgIHJlbSAtPSB1c2U7CiAKLSAgICAvKiBleGFtaW5lIGNvZGVzIGZyb20gaGVyZSwgdXBkYXRpbmcgdGFibGUgc3BhY2UgYXMgd2UgZ28gKi8KKyAgICAvLyBleGFtaW5lIGNvZGVzIGZyb20gaGVyZSwgdXBkYXRpbmcgdGFibGUgc3BhY2UgYXMgd2UgZ28KICAgICBmb3IgKHVzZSA9IGxlYXN0OyB1c2UgPD0gbW9zdDsgdXNlKyspIHsKLSAgICAgICAgY29kZVtsZW5dID0gdXNlOwotICAgICAgICBleGFtaW5lKHN5bXMgLSB1c2UsIGxlbiArIDEsIChsZWZ0IC0gdXNlKSA8PCAxLAotICAgICAgICAgICAgICAgIG1lbSArIChyZW0gPyAxIDw8IChsZW4gLSByb290KSA6IDApLCByZW0gPDwgMSk7CisgICAgICAgIGcuY29kZVtsZW5dID0gdXNlOworICAgICAgICBleGFtaW5lKHN5bXMgLSB1c2UsIChsZWZ0IC0gdXNlKSA8PCAxLCBsZW4gKyAxLAorICAgICAgICAgICAgICAgIG1lbSArIChyZW0gPyAxIDw8IChsZW4gLSBnLnJvb3QpIDogMCksIHJlbSA8PCAxKTsKICAgICAgICAgaWYgKHJlbSA9PSAwKSB7Ci0gICAgICAgICAgICByZW0gPSAxIDw8IChsZW4gLSByb290KTsKKyAgICAgICAgICAgIHJlbSA9IDEgPDwgKGxlbiAtIGcucm9vdCk7CiAgICAgICAgICAgICBtZW0gKz0gcmVtOwogICAgICAgICB9CiAgICAgICAgIHJlbS0tOwogICAgIH0KIAotICAgIC8qIHJlbW92ZSBlbnRyaWVzIGFzIHdlIGRyb3AgYmFjayBkb3duIGluIHRoZSByZWN1cnNpb24gKi8KLSAgICBjb2RlW2xlbl0gPSAwOworICAgIC8vIHJlbW92ZSBlbnRyaWVzIGFzIHdlIGRyb3AgYmFjayBkb3duIGluIHRoZSByZWN1cnNpb24KKyAgICBnLmNvZGVbbGVuXSA9IDA7CiB9CiAKLS8qIExvb2sgYXQgYWxsIHN1Yi1jb2RlcyBzdGFydGluZyB3aXRoIHJvb3QgKyAxIGJpdHMuICBMb29rIGF0IG9ubHkgdGhlIHZhbGlkCi0gICBpbnRlcm1lZGlhdGUgY29kZSBzdGF0ZXMgKHN5bXMsIGxlZnQsIGxlbikuICBGb3IgZWFjaCBjb21wbGV0ZWQgY29kZSwKLSAgIGNhbGN1bGF0ZSB0aGUgYW1vdW50IG9mIG1lbW9yeSByZXF1aXJlZCBieSBpbmZsYXRlIHRvIGJ1aWxkIHRoZSBkZWNvZGluZwotICAgdGFibGVzLiBGaW5kIHRoZSBtYXhpbXVtIGFtb3VudCBvZiBtZW1vcnkgcmVxdWlyZWQgYW5kIHNob3cgdGhlIGNvZGUgdGhhdAotICAgcmVxdWlyZXMgdGhhdCBtYXhpbXVtLiAgVXNlcyB0aGUgZ2xvYmFscyBtYXgsIHJvb3QsIGFuZCBudW0uICovCi1sb2NhbCB2b2lkIGVub3VnaChpbnQgc3ltcykKLXsKLSAgICBpbnQgbjsgICAgICAgICAgICAgIC8qIG51bWJlciBvZiByZW1haW5nIHN5bWJvbHMgZm9yIHRoaXMgbm9kZSAqLwotICAgIGludCBsZWZ0OyAgICAgICAgICAgLyogbnVtYmVyIG9mIHVudXNlZCBiaXQgcGF0dGVybnMgYXQgdGhpcyBsZW5ndGggKi8KLSAgICBzaXplX3QgaW5kZXg7ICAgICAgIC8qIGluZGV4IG9mIHRoaXMgY2FzZSBpbiAqbnVtICovCisvLyBMb29rIGF0IGFsbCBzdWItY29kZXMgc3RhcnRpbmcgd2l0aCByb290ICsgMSBiaXRzLiBMb29rIGF0IG9ubHkgdGhlIHZhbGlkCisvLyBpbnRlcm1lZGlhdGUgY29kZSBzdGF0ZXMgKHN5bXMsIGxlZnQsIGxlbikuIEZvciBlYWNoIGNvbXBsZXRlZCBjb2RlLAorLy8gY2FsY3VsYXRlIHRoZSBhbW91bnQgb2YgbWVtb3J5IHJlcXVpcmVkIGJ5IGluZmxhdGUgdG8gYnVpbGQgdGhlIGRlY29kaW5nCisvLyB0YWJsZXMuIEZpbmQgdGhlIG1heGltdW0gYW1vdW50IG9mIG1lbW9yeSByZXF1aXJlZCBhbmQgc2hvdyB0aGUgY29kZXMgdGhhdAorLy8gcmVxdWlyZSB0aGF0IG1heGltdW0uCitsb2NhbCB2b2lkIGVub3VnaChpbnQgc3ltcykgeworICAgIC8vIGNsZWFyIGNvZGUKKyAgICBmb3IgKGludCBuID0gMDsgbiA8PSBnLm1heDsgbisrKQorICAgICAgICBnLmNvZGVbbl0gPSAwOwogCi0gICAgLyogY2xlYXIgY29kZSAqLwotICAgIGZvciAobiA9IDA7IG4gPD0gbWF4OyBuKyspCi0gICAgICAgIGNvZGVbbl0gPSAwOworICAgIC8vIGxvb2sgYXQgYWxsIChyb290ICsgMSkgYml0IGFuZCBsb25nZXIgY29kZXMKKyAgICBzdHJpbmdfY2xlYXIoJmcub3V0KTsgICAgICAgICAgIC8vIGVtcHR5IHNhdmVkIHJlc3VsdHMKKyAgICBnLmxhcmdlID0gMSA8PCBnLnJvb3Q7ICAgICAgICAgIC8vIGJhc2UgdGFibGUKKyAgICBpZiAoZy5yb290IDwgZy5tYXgpICAgICAgICAgICAgIC8vIG90aGVyd2lzZSwgdGhlcmUncyBvbmx5IGEgYmFzZSB0YWJsZQorICAgICAgICBmb3IgKGludCBuID0gMzsgbiA8PSBzeW1zOyBuKyspCisgICAgICAgICAgICBmb3IgKGludCBsZWZ0ID0gMjsgbGVmdCA8IG47IGxlZnQgKz0gMikgeworICAgICAgICAgICAgICAgIC8vIGxvb2sgYXQgYWxsIHJlYWNoYWJsZSAocm9vdCArIDEpIGJpdCBub2RlcywgYW5kIHRoZQorICAgICAgICAgICAgICAgIC8vIHJlc3VsdGluZyBjb2RlcyAoY29tcGxldGUgYXQgcm9vdCArIDIgb3IgbW9yZSkKKyAgICAgICAgICAgICAgICBzaXplX3QgaW5kZXggPSBtYXAobiwgbGVmdCwgZy5yb290ICsgMSk7CisgICAgICAgICAgICAgICAgaWYgKGcucm9vdCArIDEgPCBnLm1heCAmJiBnLm51bVtpbmRleF0pIC8vIHJlYWNoYWJsZSBub2RlCisgICAgICAgICAgICAgICAgICAgIGV4YW1pbmUobiwgbGVmdCwgZy5yb290ICsgMSwgMSA8PCBnLnJvb3QsIDApOwogCi0gICAgLyogbG9vayBhdCBhbGwgKHJvb3QgKyAxKSBiaXQgYW5kIGxvbmdlciBjb2RlcyAqLwotICAgIGxhcmdlID0gMSA8PCByb290OyAgICAgICAgICAgICAgLyogYmFzZSB0YWJsZSAqLwotICAgIGlmIChyb290IDwgbWF4KSAgICAgICAgICAgICAgICAgLyogb3RoZXJ3aXNlLCB0aGVyZSdzIG9ubHkgYSBiYXNlIHRhYmxlICovCi0gICAgICAgIGZvciAobiA9IDM7IG4gPD0gc3ltczsgbisrKQotICAgICAgICAgICAgZm9yIChsZWZ0ID0gMjsgbGVmdCA8IG47IGxlZnQgKz0gMikKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAvKiBsb29rIGF0IGFsbCByZWFjaGFibGUgKHJvb3QgKyAxKSBiaXQgbm9kZXMsIGFuZCB0aGUKLSAgICAgICAgICAgICAgICAgICByZXN1bHRpbmcgY29kZXMgKGNvbXBsZXRlIGF0IHJvb3QgKyAyIG9yIG1vcmUpICovCi0gICAgICAgICAgICAgICAgaW5kZXggPSBJTkRFWChuLCBsZWZ0LCByb290ICsgMSk7Ci0gICAgICAgICAgICAgICAgaWYgKHJvb3QgKyAxIDwgbWF4ICYmIG51bVtpbmRleF0pICAgICAgIC8qIHJlYWNoYWJsZSBub2RlICovCi0gICAgICAgICAgICAgICAgICAgIGV4YW1pbmUobiwgcm9vdCArIDEsIGxlZnQsIDEgPDwgcm9vdCwgMCk7Ci0KLSAgICAgICAgICAgICAgICAvKiBhbHNvIGxvb2sgYXQgcm9vdCBiaXQgY29kZXMgd2l0aCBjb21wbGV0aW9ucyBhdCByb290ICsgMQotICAgICAgICAgICAgICAgICAgIGJpdHMgKG5vdCBzYXZlZCBpbiBudW0sIHNpbmNlIGNvbXBsZXRlKSwganVzdCBpbiBjYXNlICovCi0gICAgICAgICAgICAgICAgaWYgKG51bVtpbmRleCAtIDFdICYmIG4gPD0gbGVmdCA8PCAxKQotICAgICAgICAgICAgICAgICAgICBleGFtaW5lKChuIC0gbGVmdCkgPDwgMSwgcm9vdCArIDEsIChuIC0gbGVmdCkgPDwgMSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAxIDw8IHJvb3QsIDApOworICAgICAgICAgICAgICAgIC8vIGFsc28gbG9vayBhdCByb290IGJpdCBjb2RlcyB3aXRoIGNvbXBsZXRpb25zIGF0IHJvb3QgKyAxCisgICAgICAgICAgICAgICAgLy8gYml0cyAobm90IHNhdmVkIGluIG51bSwgc2luY2UgY29tcGxldGUpLCBqdXN0IGluIGNhc2UKKyAgICAgICAgICAgICAgICBpZiAoZy5udW1baW5kZXggLSAxXSAmJiBuIDw9IGxlZnQgPDwgMSkKKyAgICAgICAgICAgICAgICAgICAgZXhhbWluZSgobiAtIGxlZnQpIDw8IDEsIChuIC0gbGVmdCkgPDwgMSwgZy5yb290ICsgMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAxIDw8IGcucm9vdCwgMCk7CiAgICAgICAgICAgICB9CiAKLSAgICAvKiBkb25lICovCi0gICAgcHJpbnRmKCJkb25lOiBtYXhpbXVtIG9mICVkIHRhYmxlIGVudHJpZXNcbiIsIGxhcmdlKTsKKyAgICAvLyBkb25lCisgICAgcHJpbnRmKCJtYXhpbXVtIG9mICVkIHRhYmxlIGVudHJpZXMgZm9yIHJvb3QgPSAlZFxuIiwgZy5sYXJnZSwgZy5yb290KTsKKyAgICBmcHV0cyhnLm91dC5zdHIsIHN0ZG91dCk7CiB9CiAKLS8qCi0gICBFeGFtaW5lIGFuZCBzaG93IHRoZSB0b3RhbCBudW1iZXIgb2YgcG9zc2libGUgSHVmZm1hbiBjb2RlcyBmb3IgYSBnaXZlbgotICAgbWF4aW11bSBudW1iZXIgb2Ygc3ltYm9scywgaW5pdGlhbCByb290IHRhYmxlIHNpemUsIGFuZCBtYXhpbXVtIGNvZGUgbGVuZ3RoCi0gICBpbiBiaXRzIC0tIHRob3NlIGFyZSB0aGUgY29tbWFuZCBhcmd1bWVudHMgaW4gdGhhdCBvcmRlci4gIFRoZSBkZWZhdWx0Ci0gICB2YWx1ZXMgYXJlIDI4NiwgOSwgYW5kIDE1IHJlc3BlY3RpdmVseSwgZm9yIHRoZSBkZWZsYXRlIGxpdGVyYWwvbGVuZ3RoIGNvZGUuCi0gICBUaGUgcG9zc2libGUgY29kZXMgYXJlIGNvdW50ZWQgZm9yIGVhY2ggbnVtYmVyIG9mIGNvZGVkIHN5bWJvbHMgZnJvbSB0d28gdG8KLSAgIHRoZSBtYXhpbXVtLiAgVGhlIGNvdW50cyBmb3IgZWFjaCBvZiB0aG9zZSBhbmQgdGhlIHRvdGFsIG51bWJlciBvZiBjb2RlcyBhcmUKLSAgIHNob3duLiAgVGhlIG1heGltdW0gbnVtYmVyIG9mIGluZmxhdGUgdGFibGUgZW50aXJlcyBpcyB0aGVuIGNhbGN1bGF0ZWQKLSAgIGFjcm9zcyBhbGwgcG9zc2libGUgY29kZXMuICBFYWNoIG5ldyBtYXhpbXVtIG51bWJlciBvZiB0YWJsZSBlbnRyaWVzIGFuZCB0aGUKLSAgIGFzc29jaWF0ZWQgc3ViLWNvZGUgKHN0YXJ0aW5nIGF0IHJvb3QgKyAxID09IDEwIGJpdHMpIGlzIHNob3duLgorLy8gRXhhbWluZSBhbmQgc2hvdyB0aGUgdG90YWwgbnVtYmVyIG9mIHBvc3NpYmxlIHByZWZpeCBjb2RlcyBmb3IgYSBnaXZlbgorLy8gbWF4aW11bSBudW1iZXIgb2Ygc3ltYm9scywgaW5pdGlhbCByb290IHRhYmxlIHNpemUsIGFuZCBtYXhpbXVtIGNvZGUgbGVuZ3RoCisvLyBpbiBiaXRzIC0tIHRob3NlIGFyZSB0aGUgY29tbWFuZCBhcmd1bWVudHMgaW4gdGhhdCBvcmRlci4gVGhlIGRlZmF1bHQgdmFsdWVzCisvLyBhcmUgMjg2LCA5LCBhbmQgMTUgcmVzcGVjdGl2ZWx5LCBmb3IgdGhlIGRlZmxhdGUgbGl0ZXJhbC9sZW5ndGggY29kZS4gVGhlCisvLyBwb3NzaWJsZSBjb2RlcyBhcmUgY291bnRlZCBmb3IgZWFjaCBudW1iZXIgb2YgY29kZWQgc3ltYm9scyBmcm9tIHR3byB0byB0aGUKKy8vIG1heGltdW0uIFRoZSBjb3VudHMgZm9yIGVhY2ggb2YgdGhvc2UgYW5kIHRoZSB0b3RhbCBudW1iZXIgb2YgY29kZXMgYXJlCisvLyBzaG93bi4gVGhlIG1heGltdW0gbnVtYmVyIG9mIGluZmxhdGUgdGFibGUgZW50cmllcyBpcyB0aGVuIGNhbGN1bGF0ZWQgYWNyb3NzCisvLyBhbGwgcG9zc2libGUgY29kZXMuIEVhY2ggbmV3IG1heGltdW0gbnVtYmVyIG9mIHRhYmxlIGVudHJpZXMgYW5kIHRoZQorLy8gYXNzb2NpYXRlZCBzdWItY29kZSAoc3RhcnRpbmcgYXQgcm9vdCArIDEgPT0gMTAgYml0cykgaXMgc2hvd24uCisvLworLy8gVG8gY291bnQgYW5kIGV4YW1pbmUgcHJlZml4IGNvZGVzIHRoYXQgYXJlIG5vdCBsZW5ndGgtbGltaXRlZCwgcHJvdmlkZSBhCisvLyBtYXhpbXVtIGxlbmd0aCBlcXVhbCB0byB0aGUgbnVtYmVyIG9mIHN5bWJvbHMgbWludXMgb25lLgorLy8KKy8vIEZvciB0aGUgZGVmbGF0ZSBsaXRlcmFsL2xlbmd0aCBjb2RlLCB1c2UgImVub3VnaCIuIEZvciB0aGUgZGVmbGF0ZSBkaXN0YW5jZQorLy8gY29kZSwgdXNlICJlbm91Z2ggMzAgNiIuCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpIHsKKyAgICAvLyBzZXQgdXAgZ2xvYmFscyBmb3IgY2xlYW51cCgpCisgICAgZy5jb2RlID0gTlVMTDsKKyAgICBnLm51bSA9IE5VTEw7CisgICAgZy5kb25lID0gTlVMTDsKKyAgICBzdHJpbmdfaW5pdCgmZy5vdXQpOwogCi0gICBUbyBjb3VudCBhbmQgZXhhbWluZSBIdWZmbWFuIGNvZGVzIHRoYXQgYXJlIG5vdCBsZW5ndGgtbGltaXRlZCwgcHJvdmlkZSBhCi0gICBtYXhpbXVtIGxlbmd0aCBlcXVhbCB0byB0aGUgbnVtYmVyIG9mIHN5bWJvbHMgbWludXMgb25lLgotCi0gICBGb3IgdGhlIGRlZmxhdGUgbGl0ZXJhbC9sZW5ndGggY29kZSwgdXNlICJlbm91Z2giLiAgRm9yIHRoZSBkZWZsYXRlIGRpc3RhbmNlCi0gICBjb2RlLCB1c2UgImVub3VnaCAzMCA2Ii4KLQotICAgVGhpcyB1c2VzIHRoZSAlbGx1IHByaW50ZiBmb3JtYXQgdG8gcHJpbnQgYmlnX3QgbnVtYmVycywgd2hpY2ggYXNzdW1lcyB0aGF0Ci0gICBiaWdfdCBpcyBhbiB1bnNpZ25lZCBsb25nIGxvbmcuICBJZiB0aGUgYmlnX3QgdHlwZSBpcyBjaGFuZ2VkIChmb3IgZXhhbXBsZQotICAgdG8gYSBtdWx0aXBsZSBwcmVjaXNpb24gdHlwZSksIHRoZSBtZXRob2Qgb2YgcHJpbnRpbmcgd2lsbCBhbHNvIG5lZWQgdG8gYmUKLSAgIHVwZGF0ZWQuCi0gKi8KLWludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKLXsKLSAgICBpbnQgc3ltczsgICAgICAgICAgIC8qIHRvdGFsIG51bWJlciBvZiBzeW1ib2xzIHRvIGNvZGUgKi8KLSAgICBpbnQgbjsgICAgICAgICAgICAgIC8qIG51bWJlciBvZiBzeW1ib2xzIHRvIGNvZGUgZm9yIHRoaXMgcnVuICovCi0gICAgYmlnX3QgZ290OyAgICAgICAgICAvKiByZXR1cm4gdmFsdWUgb2YgY291bnQoKSAqLwotICAgIGJpZ190IHN1bTsgICAgICAgICAgLyogYWNjdW11bGF0ZWQgbnVtYmVyIG9mIGNvZGVzIG92ZXIgbiAqLwotICAgIGNvZGVfdCB3b3JkOyAgICAgICAgLyogZm9yIGNvdW50aW5nIGJpdHMgaW4gY29kZV90ICovCi0KLSAgICAvKiBzZXQgdXAgZ2xvYmFscyBmb3IgY2xlYW51cCgpICovCi0gICAgY29kZSA9IE5VTEw7Ci0gICAgbnVtID0gTlVMTDsKLSAgICBkb25lID0gTlVMTDsKLQotICAgIC8qIGdldCBhcmd1bWVudHMgLS0gZGVmYXVsdCB0byB0aGUgZGVmbGF0ZSBsaXRlcmFsL2xlbmd0aCBjb2RlICovCi0gICAgc3ltcyA9IDI4NjsKLSAgICByb290ID0gOTsKLSAgICBtYXggPSAxNTsKKyAgICAvLyBnZXQgYXJndW1lbnRzIC0tIGRlZmF1bHQgdG8gdGhlIGRlZmxhdGUgbGl0ZXJhbC9sZW5ndGggY29kZQorICAgIGludCBzeW1zID0gMjg2OworICAgIGcucm9vdCA9IDk7CisgICAgZy5tYXggPSAxNTsKICAgICBpZiAoYXJnYyA+IDEpIHsKICAgICAgICAgc3ltcyA9IGF0b2koYXJndlsxXSk7CiAgICAgICAgIGlmIChhcmdjID4gMikgewotICAgICAgICAgICAgcm9vdCA9IGF0b2koYXJndlsyXSk7CisgICAgICAgICAgICBnLnJvb3QgPSBhdG9pKGFyZ3ZbMl0pOwogICAgICAgICAgICAgaWYgKGFyZ2MgPiAzKQotICAgICAgICAgICAgICAgIG1heCA9IGF0b2koYXJndlszXSk7CisgICAgICAgICAgICAgICAgZy5tYXggPSBhdG9pKGFyZ3ZbM10pOwogICAgICAgICB9CiAgICAgfQotICAgIGlmIChhcmdjID4gNCB8fCBzeW1zIDwgMiB8fCByb290IDwgMSB8fCBtYXggPCAxKSB7CisgICAgaWYgKGFyZ2MgPiA0IHx8IHN5bXMgPCAyIHx8IGcucm9vdCA8IDEgfHwgZy5tYXggPCAxKSB7CiAgICAgICAgIGZwdXRzKCJpbnZhbGlkIGFyZ3VtZW50cywgbmVlZDogW3N5bSA+PSAyIFtyb290ID49IDEgW21heCA+PSAxXV1dXG4iLAogICAgICAgICAgICAgICBzdGRlcnIpOwogICAgICAgICByZXR1cm4gMTsKICAgICB9CiAKLSAgICAvKiBpZiBub3QgcmVzdHJpY3RpbmcgdGhlIGNvZGUgbGVuZ3RoLCB0aGUgbG9uZ2VzdCBpcyBzeW1zIC0gMSAqLwotICAgIGlmIChtYXggPiBzeW1zIC0gMSkKLSAgICAgICAgbWF4ID0gc3ltcyAtIDE7CisgICAgLy8gaWYgbm90IHJlc3RyaWN0aW5nIHRoZSBjb2RlIGxlbmd0aCwgdGhlIGxvbmdlc3QgaXMgc3ltcyAtIDEKKyAgICBpZiAoZy5tYXggPiBzeW1zIC0gMSkKKyAgICAgICAgZy5tYXggPSBzeW1zIC0gMTsKIAotICAgIC8qIGRldGVybWluZSB0aGUgbnVtYmVyIG9mIGJpdHMgaW4gYSBjb2RlX3QgKi8KLSAgICBmb3IgKG4gPSAwLCB3b3JkID0gMTsgd29yZDsgbisrLCB3b3JkIDw8PSAxKQotICAgICAgICA7CisgICAgLy8gZGV0ZXJtaW5lIHRoZSBudW1iZXIgb2YgYml0cyBpbiBhIGNvZGVfdAorICAgIGludCBiaXRzID0gMDsKKyAgICBmb3IgKGNvZGVfdCB3b3JkID0gMTsgd29yZDsgd29yZCA8PD0gMSkKKyAgICAgICAgYml0cysrOwogCi0gICAgLyogbWFrZSBzdXJlIHRoYXQgdGhlIGNhbGN1bGF0aW9uIG9mIG1vc3Qgd2lsbCBub3Qgb3ZlcmZsb3cgKi8KLSAgICBpZiAobWF4ID4gbiB8fCAoY29kZV90KShzeW1zIC0gMikgPj0gKCgoY29kZV90KTAgLSAxKSA+PiAobWF4IC0gMSkpKSB7CisgICAgLy8gbWFrZSBzdXJlIHRoYXQgdGhlIGNhbGN1bGF0aW9uIG9mIG1vc3Qgd2lsbCBub3Qgb3ZlcmZsb3cKKyAgICBpZiAoZy5tYXggPiBiaXRzIHx8IChjb2RlX3QpKHN5bXMgLSAyKSA+PSAoKGNvZGVfdCktMSA+PiAoZy5tYXggLSAxKSkpIHsKICAgICAgICAgZnB1dHMoImFib3J0OiBjb2RlIGxlbmd0aCB0b28gbG9uZyBmb3IgaW50ZXJuYWwgdHlwZXNcbiIsIHN0ZGVycik7CiAgICAgICAgIHJldHVybiAxOwogICAgIH0KIAotICAgIC8qIHJlamVjdCBpbXBvc3NpYmxlIGNvZGUgcmVxdWVzdHMgKi8KLSAgICBpZiAoKGNvZGVfdCkoc3ltcyAtIDEpID4gKChjb2RlX3QpMSA8PCBtYXgpIC0gMSkgeworICAgIC8vIHJlamVjdCBpbXBvc3NpYmxlIGNvZGUgcmVxdWVzdHMKKyAgICBpZiAoKGNvZGVfdCkoc3ltcyAtIDEpID4gKChjb2RlX3QpMSA8PCBnLm1heCkgLSAxKSB7CiAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiJWQgc3ltYm9scyBjYW5ub3QgYmUgY29kZWQgaW4gJWQgYml0c1xuIiwKLSAgICAgICAgICAgICAgICBzeW1zLCBtYXgpOworICAgICAgICAgICAgICAgIHN5bXMsIGcubWF4KTsKICAgICAgICAgcmV0dXJuIDE7CiAgICAgfQogCi0gICAgLyogYWxsb2NhdGUgY29kZSB2ZWN0b3IgKi8KLSAgICBjb2RlID0gY2FsbG9jKG1heCArIDEsIHNpemVvZihpbnQpKTsKLSAgICBpZiAoY29kZSA9PSBOVUxMKSB7Ci0gICAgICAgIGZwdXRzKCJhYm9ydDogdW5hYmxlIHRvIGFsbG9jYXRlIGVub3VnaCBtZW1vcnlcbiIsIHN0ZGVycik7Ci0gICAgICAgIHJldHVybiAxOwotICAgIH0KKyAgICAvLyBhbGxvY2F0ZSBjb2RlIHZlY3RvcgorICAgIGcuY29kZSA9IGNhbGxvYyhnLm1heCArIDEsIHNpemVvZihpbnQpKTsKKyAgICBhc3NlcnQoZy5jb2RlICE9IE5VTEwgJiYgIm91dCBvZiBtZW1vcnkiKTsKIAotICAgIC8qIGRldGVybWluZSBzaXplIG9mIHNhdmVkIHJlc3VsdHMgYXJyYXksIGNoZWNraW5nIGZvciBvdmVyZmxvd3MsCi0gICAgICAgYWxsb2NhdGUgYW5kIGNsZWFyIHRoZSBhcnJheSAoc2V0IGFsbCB0byB6ZXJvIHdpdGggY2FsbG9jKCkpICovCi0gICAgaWYgKHN5bXMgPT0gMikgICAgICAgICAgICAgIC8qIGlmZiBtYXggPT0gMSAqLwotICAgICAgICBudW0gPSBOVUxMOyAgICAgICAgICAgICAvKiB3b24ndCBiZSBzYXZpbmcgYW55IHJlc3VsdHMgKi8KKyAgICAvLyBkZXRlcm1pbmUgc2l6ZSBvZiBzYXZlZCByZXN1bHRzIGFycmF5LCBjaGVja2luZyBmb3Igb3ZlcmZsb3dzLAorICAgIC8vIGFsbG9jYXRlIGFuZCBjbGVhciB0aGUgYXJyYXkgKHNldCBhbGwgdG8gemVybyB3aXRoIGNhbGxvYygpKQorICAgIGlmIChzeW1zID09IDIpICAgICAgICAgICAgICAvLyBpZmYgbWF4ID09IDEKKyAgICAgICAgZy5udW0gPSBOVUxMOyAgICAgICAgICAgLy8gd29uJ3QgYmUgc2F2aW5nIGFueSByZXN1bHRzCiAgICAgZWxzZSB7Ci0gICAgICAgIHNpemUgPSBzeW1zID4+IDE7Ci0gICAgICAgIGlmIChzaXplID4gKChzaXplX3QpMCAtIDEpIC8gKG4gPSAoc3ltcyAtIDEpID4+IDEpIHx8Ci0gICAgICAgICAgICAgICAgKHNpemUgKj0gbiwgc2l6ZSA+ICgoc2l6ZV90KTAgLSAxKSAvIChuID0gbWF4IC0gMSkpIHx8Ci0gICAgICAgICAgICAgICAgKHNpemUgKj0gbiwgc2l6ZSA+ICgoc2l6ZV90KTAgLSAxKSAvIHNpemVvZihiaWdfdCkpIHx8Ci0gICAgICAgICAgICAgICAgKG51bSA9IGNhbGxvYyhzaXplLCBzaXplb2YoYmlnX3QpKSkgPT0gTlVMTCkgewotICAgICAgICAgICAgZnB1dHMoImFib3J0OiB1bmFibGUgdG8gYWxsb2NhdGUgZW5vdWdoIG1lbW9yeVxuIiwgc3RkZXJyKTsKLSAgICAgICAgICAgIGNsZWFudXAoKTsKLSAgICAgICAgICAgIHJldHVybiAxOwotICAgICAgICB9CisgICAgICAgIGcuc2l6ZSA9IHN5bXMgPj4gMTsKKyAgICAgICAgaW50IG4gPSAoc3ltcyAtIDEpID4+IDE7CisgICAgICAgIGFzc2VydChnLnNpemUgPD0gKHNpemVfdCktMSAvIG4gJiYgIm92ZXJmbG93Iik7CisgICAgICAgIGcuc2l6ZSAqPSBuOworICAgICAgICBuID0gZy5tYXggLSAxOworICAgICAgICBhc3NlcnQoZy5zaXplIDw9IChzaXplX3QpLTEgLyBuICYmICJvdmVyZmxvdyIpOworICAgICAgICBnLnNpemUgKj0gbjsKKyAgICAgICAgZy5udW0gPSBjYWxsb2MoZy5zaXplLCBzaXplb2YoYmlnX3QpKTsKKyAgICAgICAgYXNzZXJ0KGcubnVtICE9IE5VTEwgJiYgIm91dCBvZiBtZW1vcnkiKTsKICAgICB9CiAKLSAgICAvKiBjb3VudCBwb3NzaWJsZSBjb2RlcyBmb3IgYWxsIG51bWJlcnMgb2Ygc3ltYm9scywgYWRkIHVwIGNvdW50cyAqLwotICAgIHN1bSA9IDA7Ci0gICAgZm9yIChuID0gMjsgbiA8PSBzeW1zOyBuKyspIHsKLSAgICAgICAgZ290ID0gY291bnQobiwgMSwgMik7CisgICAgLy8gY291bnQgcG9zc2libGUgY29kZXMgZm9yIGFsbCBudW1iZXJzIG9mIHN5bWJvbHMsIGFkZCB1cCBjb3VudHMKKyAgICBiaWdfdCBzdW0gPSAwOworICAgIGZvciAoaW50IG4gPSAyOyBuIDw9IHN5bXM7IG4rKykgeworICAgICAgICBiaWdfdCBnb3QgPSBjb3VudChuLCAyLCAxKTsKICAgICAgICAgc3VtICs9IGdvdDsKLSAgICAgICAgaWYgKGdvdCA9PSAoYmlnX3QpMCAtIDEgfHwgc3VtIDwgZ290KSB7ICAgICAvKiBvdmVyZmxvdyAqLwotICAgICAgICAgICAgZnB1dHMoImFib3J0OiBjYW4ndCBjb3VudCB0aGF0IGhpZ2ghXG4iLCBzdGRlcnIpOwotICAgICAgICAgICAgY2xlYW51cCgpOwotICAgICAgICAgICAgcmV0dXJuIDE7Ci0gICAgICAgIH0KLSAgICAgICAgcHJpbnRmKCIlbGx1ICVkLWNvZGVzXG4iLCBnb3QsIG4pOworICAgICAgICBhc3NlcnQoZ290ICE9IChiaWdfdCktMSAmJiBzdW0gPj0gZ290ICYmICJvdmVyZmxvdyIpOwogICAgIH0KLSAgICBwcmludGYoIiVsbHUgdG90YWwgY29kZXMgZm9yIDIgdG8gJWQgc3ltYm9scyIsIHN1bSwgc3ltcyk7Ci0gICAgaWYgKG1heCA8IHN5bXMgLSAxKQotICAgICAgICBwcmludGYoIiAoJWQtYml0IGxlbmd0aCBsaW1pdClcbiIsIG1heCk7CisgICAgcHJpbnRmKCIlIlBSSWJpZyIgdG90YWwgY29kZXMgZm9yIDIgdG8gJWQgc3ltYm9scyIsIHN1bSwgc3ltcyk7CisgICAgaWYgKGcubWF4IDwgc3ltcyAtIDEpCisgICAgICAgIHByaW50ZigiICglZC1iaXQgbGVuZ3RoIGxpbWl0KVxuIiwgZy5tYXgpOwogICAgIGVsc2UKICAgICAgICAgcHV0cygiIChubyBsZW5ndGggbGltaXQpIik7CiAKLSAgICAvKiBhbGxvY2F0ZSBhbmQgY2xlYXIgZG9uZSBhcnJheSBmb3IgYmVlbmhlcmUoKSAqLworICAgIC8vIGFsbG9jYXRlIGFuZCBjbGVhciBkb25lIGFycmF5IGZvciBiZWVuX2hlcmUoKQogICAgIGlmIChzeW1zID09IDIpCi0gICAgICAgIGRvbmUgPSBOVUxMOwotICAgIGVsc2UgaWYgKHNpemUgPiAoKHNpemVfdCkwIC0gMSkgLyBzaXplb2Yoc3RydWN0IHRhYikgfHwKLSAgICAgICAgICAgICAoZG9uZSA9IGNhbGxvYyhzaXplLCBzaXplb2Yoc3RydWN0IHRhYikpKSA9PSBOVUxMKSB7Ci0gICAgICAgIGZwdXRzKCJhYm9ydDogdW5hYmxlIHRvIGFsbG9jYXRlIGVub3VnaCBtZW1vcnlcbiIsIHN0ZGVycik7Ci0gICAgICAgIGNsZWFudXAoKTsKLSAgICAgICAgcmV0dXJuIDE7CisgICAgICAgIGcuZG9uZSA9IE5VTEw7CisgICAgZWxzZSB7CisgICAgICAgIGcuZG9uZSA9IGNhbGxvYyhnLnNpemUsIHNpemVvZihzdHJ1Y3QgdGFiKSk7CisgICAgICAgIGFzc2VydChnLmRvbmUgIT0gTlVMTCAmJiAib3V0IG9mIG1lbW9yeSIpOwogICAgIH0KIAotICAgIC8qIGZpbmQgYW5kIHNob3cgbWF4aW11bSBpbmZsYXRlIHRhYmxlIHVzYWdlICovCi0gICAgaWYgKHJvb3QgPiBtYXgpICAgICAgICAgICAgICAgICAvKiByZWR1Y2Ugcm9vdCB0byBtYXggbGVuZ3RoICovCi0gICAgICAgIHJvb3QgPSBtYXg7Ci0gICAgaWYgKChjb2RlX3Qpc3ltcyA8ICgoY29kZV90KTEgPDwgKHJvb3QgKyAxKSkpCisgICAgLy8gZmluZCBhbmQgc2hvdyBtYXhpbXVtIGluZmxhdGUgdGFibGUgdXNhZ2UKKyAgICBpZiAoZy5yb290ID4gZy5tYXgpICAgICAgICAgICAgIC8vIHJlZHVjZSByb290IHRvIG1heCBsZW5ndGgKKyAgICAgICAgZy5yb290ID0gZy5tYXg7CisgICAgaWYgKChjb2RlX3Qpc3ltcyA8ICgoY29kZV90KTEgPDwgKGcucm9vdCArIDEpKSkKICAgICAgICAgZW5vdWdoKHN5bXMpOwogICAgIGVsc2UKLSAgICAgICAgcHV0cygiY2Fubm90IGhhbmRsZSBtaW5pbXVtIGNvZGUgbGVuZ3RocyA+IHJvb3QiKTsKKyAgICAgICAgZnB1dHMoImNhbm5vdCBoYW5kbGUgbWluaW11bSBjb2RlIGxlbmd0aHMgPiByb290Iiwgc3RkZXJyKTsKIAotICAgIC8qIGRvbmUgKi8KKyAgICAvLyBkb25lCiAgICAgY2xlYW51cCgpOwogICAgIHJldHVybiAwOwogfQpkaWZmIC0tZ2l0IGEvc3JjL2V4YW1wbGVzL2ZpdGJsay5jIGIvc3JjL2V4YW1wbGVzL2ZpdGJsay5jCmluZGV4IGM2MWRlNWMuLjY4ZjU2ODAgMTAwNjQ0Ci0tLSBhL3NyYy9leGFtcGxlcy9maXRibGsuYworKysgYi9zcmMvZXhhbXBsZXMvZml0YmxrLmMKQEAgLTE3LDcgKzE3LDcgQEAKICAgIGRhdGEgaW4gb3JkZXIgdG8gZGV0ZXJtaW5lIGhvdyBtdWNoIG9mIHRoYXQgaW5wdXQgd2lsbCBjb21wcmVzcyB0bwogICAgbmVhcmx5IHRoZSByZXF1ZXN0ZWQgb3V0cHV0IGJsb2NrIHNpemUuICBUaGUgZmlyc3QgcGFzcyBnZW5lcmF0ZXMKICAgIGVub3VnaCBkZWZsYXRlIGJsb2NrcyB0byBwcm9kdWNlIG91dHB1dCB0byBmaWxsIHRoZSByZXF1ZXN0ZWQKLSAgIG91dHB1dCBzaXplIHBsdXMgYSBzcGVjZmllZCBleGNlc3MgYW1vdW50IChzZWUgdGhlIEVYQ0VTUyBkZWZpbmUKKyAgIG91dHB1dCBzaXplIHBsdXMgYSBzcGVjaWZpZWQgZXhjZXNzIGFtb3VudCAoc2VlIHRoZSBFWENFU1MgZGVmaW5lCiAgICBiZWxvdykuICBUaGUgbGFzdCBkZWZsYXRlIGJsb2NrIG1heSBnbyBxdWl0ZSBhIGJpdCBwYXN0IHRoYXQsIGJ1dAogICAgaXMgZGlzY2FyZGVkLiAgVGhlIHNlY29uZCBwYXNzIGRlY29tcHJlc3NlcyBhbmQgcmVjb21wcmVzc2VzIGp1c3QKICAgIHRoZSBjb21wcmVzc2VkIGRhdGEgdGhhdCBmaXQgaW4gdGhlIHJlcXVlc3RlZCBwbHVzIGV4Y2VzcyBzaXplZApAQCAtMTA5LDcgKzEwOSw3IEBACiAgICAgICAgIGlmIChyZXQgPT0gWl9NRU1fRVJST1IpCiAgICAgICAgICAgICByZXR1cm4gcmV0OwogCi0gICAgICAgIC8qIGNvbXByZXNzIHdoYXQgd2FzIGRlY29tcHJlc2VkIHVudGlsIGRvbmUgb3Igbm8gcm9vbSAqLworICAgICAgICAvKiBjb21wcmVzcyB3aGF0IHdhcyBkZWNvbXByZXNzZWQgdW50aWwgZG9uZSBvciBubyByb29tICovCiAgICAgICAgIGRlZi0+YXZhaWxfaW4gPSBSQVdMRU4gLSBpbmYtPmF2YWlsX291dDsKICAgICAgICAgZGVmLT5uZXh0X2luID0gcmF3OwogICAgICAgICBpZiAoaW5mLT5hdmFpbF9vdXQgIT0gMCkKZGlmZiAtLWdpdCBhL3NyYy9leGFtcGxlcy9ndW4uYyBiL3NyYy9leGFtcGxlcy9ndW4uYwppbmRleCA4OWU0ODRmLi5iZWE1NDk3IDEwMDY0NAotLS0gYS9zcmMvZXhhbXBsZXMvZ3VuLmMKKysrIGIvc3JjL2V4YW1wbGVzL2d1bi5jCkBAIC00MywxMCArNDMsMTAgQEAKICAgIGd1biB3aWxsIGFsc28gZGVjb21wcmVzcyBmaWxlcyBtYWRlIGJ5IFVuaXggY29tcHJlc3MsIHdoaWNoIHVzZXMgTFpXCiAgICBjb21wcmVzc2lvbi4gIFRoZXNlIGZpbGVzIGFyZSBhdXRvbWF0aWNhbGx5IGRldGVjdGVkIGJ5IHZpcnR1ZSBvZiB0aGVpcgogICAgbWFnaWMgaGVhZGVyIGJ5dGVzLiAgU2luY2UgdGhlIGVuZCBvZiBVbml4IGNvbXByZXNzIHN0cmVhbSBpcyBtYXJrZWQgYnkgdGhlCi0gICBlbmQtb2YtZmlsZSwgdGhleSBjYW5ub3QgYmUgY29uY2FudGVuYXRlZC4gIElmIGEgVW5peCBjb21wcmVzcyBzdHJlYW0gaXMKKyAgIGVuZC1vZi1maWxlLCB0aGV5IGNhbm5vdCBiZSBjb25jYXRlbmF0ZWQuICBJZiBhIFVuaXggY29tcHJlc3Mgc3RyZWFtIGlzCiAgICBlbmNvdW50ZXJlZCBpbiBhbiBpbnB1dCBmaWxlLCBpdCBpcyB0aGUgbGFzdCBzdHJlYW0gaW4gdGhhdCBmaWxlLgogCi0gICBMaWtlIGd1bnppcCBhbmQgdW5jb21wcmVzcywgdGhlIGZpbGUgYXR0cmlidXRlcyBvZiB0aGUgb3JpZ25hbCBjb21wcmVzc2VkCisgICBMaWtlIGd1bnppcCBhbmQgdW5jb21wcmVzcywgdGhlIGZpbGUgYXR0cmlidXRlcyBvZiB0aGUgb3JpZ2luYWwgY29tcHJlc3NlZAogICAgZmlsZSBhcmUgbWFpbnRhaW5lZCBpbiB0aGUgZmluYWwgdW5jb21wcmVzc2VkIGZpbGUsIHRvIHRoZSBleHRlbnQgdGhhdCB0aGUKICAgIHVzZXIgcGVybWlzc2lvbnMgYWxsb3cgaXQuCiAKZGlmZiAtLWdpdCBhL3NyYy9leGFtcGxlcy9nemFwcGVuZC5jIGIvc3JjL2V4YW1wbGVzL2d6YXBwZW5kLmMKaW5kZXggNjYyZGVjMy4uMjNlOTNjZiAxMDA2NDQKLS0tIGEvc3JjL2V4YW1wbGVzL2d6YXBwZW5kLmMKKysrIGIvc3JjL2V4YW1wbGVzL2d6YXBwZW5kLmMKQEAgLTMzLDcgKzMzLDcgQEAKICAqICAgICAgICAgICAgICAgICAgICAgIC0gQWRkIEwgdG8gY29uc3RhbnRzIGluIGxzZWVrKCkgY2FsbHMKICAqICAgICAgICAgICAgICAgICAgICAgIC0gUmVtb3ZlIHNvbWUgZGVidWdnaW5nIGluZm9ybWF0aW9uIGluIGVycm9yIG1lc3NhZ2VzCiAgKiAgICAgICAgICAgICAgICAgICAgICAtIFVzZSBuZXcgZGF0YV90eXBlIGRlZmluaXRpb24gZm9yIHpsaWIgMS4yLjEKLSAqICAgICAgICAgICAgICAgICAgICAgIC0gU2ltcGxmeSBhbmQgdW5pZnkgZmlsZSBvcGVyYXRpb25zCisgKiAgICAgICAgICAgICAgICAgICAgICAtIFNpbXBsaWZ5IGFuZCB1bmlmeSBmaWxlIG9wZXJhdGlvbnMKICAqICAgICAgICAgICAgICAgICAgICAgIC0gRmluaXNoIG9mZiBnemlwIGZpbGUgaW4gZ3p0YWNrKCkKICAqICAgICAgICAgICAgICAgICAgICAgIC0gVXNlIGRlZmxhdGVQcmltZSgpIGluc3RlYWQgb2YgYWRkaW5nIGVtcHR5IGJsb2NrcwogICogICAgICAgICAgICAgICAgICAgICAgLSBLZWVwIGd6aXAgZmlsZSBjbGVhbiBvbiBhcHBlbmRlZCBmaWxlIHJlYWQgZXJyb3JzCkBAIC01NCw3ICs1NCw3IEBACiAgICBibG9jayBib3VuZGFyeSB0byBmYWNpbGl0YXRlIGxvY2F0aW5nIGFuZCBtb2RpZnlpbmcgdGhlIGxhc3QgYmxvY2sgYml0IGF0CiAgICB0aGUgc3RhcnQgb2YgdGhlIGZpbmFsIGRlZmxhdGUgYmxvY2suICBBbHNvIHdoZXRoZXIgdXNpbmcgWl9CTE9DSyBvciBub3QsCiAgICBhbm90aGVyIHJlcXVpcmVkIGZlYXR1cmUgb2YgemxpYiAxLjIueCBpcyB0aGF0IGluZmxhdGUoKSBub3cgcHJvdmlkZXMgdGhlCi0gICBudW1iZXIgb2YgdW51c3VlZCBiaXRzIGluIHRoZSBsYXN0IGlucHV0IGJ5dGUgdXNlZC4gIGd6YXBwZW5kIHdpbGwgbm90IHdvcmsKKyAgIG51bWJlciBvZiB1bnVzZWQgYml0cyBpbiB0aGUgbGFzdCBpbnB1dCBieXRlIHVzZWQuICBnemFwcGVuZCB3aWxsIG5vdCB3b3JrCiAgICB3aXRoIHZlcnNpb25zIG9mIHpsaWIgZWFybGllciB0aGFuIDEuMi4xLgogCiAgICBnemFwcGVuZCBmaXJzdCBkZWNvbXByZXNzZXMgdGhlIGd6aXAgZmlsZSBpbnRlcm5hbGx5LCBkaXNjYXJkaW5nIGFsbCBidXQKQEAgLTEzNyw3ICsxMzcsNyBAQAogICAgIC8qIGRvIHNpbXBsZSBsZWZ0IHNoaWZ0IGJ5IG9uZSAqLwogICAgIGlmIChyb3QgPT0gMSkgewogICAgICAgICB0bXAgPSAqbGlzdDsKLSAgICAgICAgbWVtY3B5KGxpc3QsIGxpc3QgKyAxLCBsZW4gLSAxKTsKKyAgICAgICAgbWVtbW92ZShsaXN0LCBsaXN0ICsgMSwgbGVuIC0gMSk7CiAgICAgICAgICpsYXN0ID0gdG1wOwogICAgICAgICByZXR1cm47CiAgICAgfQpkaWZmIC0tZ2l0IGEvc3JjL2V4YW1wbGVzL2d6bG9nLmMgYi9zcmMvZXhhbXBsZXMvZ3psb2cuYwppbmRleCA5MjJmODc4Li5iOTc3ODAyIDEwMDY0NAotLS0gYS9zcmMvZXhhbXBsZXMvZ3psb2cuYworKysgYi9zcmMvZXhhbXBsZXMvZ3psb2cuYwpAQCAtMSw4ICsxLDggQEAKIC8qCiAgKiBnemxvZy5jCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDgsIDIwMTIgTWFyayBBZGxlciwgYWxsIHJpZ2h0cyByZXNlcnZlZAorICogQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA4LCAyMDEyLCAyMDE2LCAyMDE5IE1hcmsgQWRsZXIsIGFsbCByaWdodHMgcmVzZXJ2ZWQKICAqIEZvciBjb25kaXRpb25zIG9mIGRpc3RyaWJ1dGlvbiBhbmQgdXNlLCBzZWUgY29weXJpZ2h0IG5vdGljZSBpbiBnemxvZy5oCi0gKiB2ZXJzaW9uIDIuMiwgMTQgQXVnIDIwMTIKKyAqIHZlcnNpb24gMi4zLCAyNSBNYXkgMjAxOQogICovCiAKIC8qCkBAIC0yNDMsNyArMjQzLDcgQEAKIHR5cGVkZWYgdW5zaWduZWQgbG9uZyB1bG9uZzsKIAogLyogTWFjcm8gZm9yIGRlYnVnZ2luZyB0byBkZXRlcm1pbmlzdGljYWxseSBmb3JjZSByZWNvdmVyeSBvcGVyYXRpb25zICovCi0jaWZkZWYgREVCVUcKKyNpZmRlZiBHWkxPR19ERUJVRwogICAgICNpbmNsdWRlIDxzZXRqbXAuaD4gICAgICAgICAvKiBsb25nam1wICovCiAgICAgam1wX2J1ZiBnemxvZ19qdW1wOyAgICAgICAgIC8qIHdoZXJlIHRvIGdvIGJhY2sgdG8gKi8KICAgICBpbnQgZ3psb2dfYmFpbCA9IDA7ICAgICAgICAgLyogd2hpY2ggcG9pbnQgdG8gYmFpbCBhdCAoMS4uOCkgKi8KQEAgLTc1NiwxMiArNzU2LDE0IEBACiAgICAgICAgICAgICAgICAgcmV0dXJuIC0yOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgaWYgKChmZCA9IG9wZW4obG9nLT5wYXRoLCBPX1JET05MWSwgMCkpIDwgMCkgeworICAgICAgICAgICAgICAgIGZyZWUoZGF0YSk7CiAgICAgICAgICAgICAgICAgbG9nX2xvZyhsb2csIG9wLCAiLmFkZCBmaWxlIHJlYWQgZmFpbHVyZSIpOwogICAgICAgICAgICAgICAgIHJldHVybiAtMTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIHJldCA9IChzaXplX3QpcmVhZChmZCwgZGF0YSwgbGVuKSAhPSBsZW47CiAgICAgICAgICAgICBjbG9zZShmZCk7CiAgICAgICAgICAgICBpZiAocmV0KSB7CisgICAgICAgICAgICAgICAgZnJlZShkYXRhKTsKICAgICAgICAgICAgICAgICBsb2dfbG9nKGxvZywgb3AsICIuYWRkIGZpbGUgcmVhZCBmYWlsdXJlIik7CiAgICAgICAgICAgICAgICAgcmV0dXJuIC0xOwogICAgICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvc3JjL2V4YW1wbGVzL2d6bG9nLmggYi9zcmMvZXhhbXBsZXMvZ3psb2cuaAppbmRleCA4NmYwY2VjLi40ZjA1MTA5IDEwMDY0NAotLS0gYS9zcmMvZXhhbXBsZXMvZ3psb2cuaAorKysgYi9zcmMvZXhhbXBsZXMvZ3psb2cuaApAQCAtNDAsNyArNDAsNyBAQAogICAgaXRzIG5ldyBzaXplIGF0IHRoYXQgdGltZS4gIEFmdGVyIGVhY2ggd3JpdGUgb3BlcmF0aW9uLCB0aGUgbG9nIGZpbGUgaXMgYQogICAgdmFsaWQgZ3ppcCBmaWxlIHRoYXQgY2FuIGRlY29tcHJlc3NlZCB0byByZWNvdmVyIHdoYXQgd2FzIHdyaXR0ZW4uCiAKLSAgIFRoZSBnemxvZyBvcGVyYXRpb25zIGNhbiBiZSBpbnRlcnVwdGVkIGF0IGFueSBwb2ludCBkdWUgdG8gYW4gYXBwbGljYXRpb24gb3IKKyAgIFRoZSBnemxvZyBvcGVyYXRpb25zIGNhbiBiZSBpbnRlcnJ1cHRlZCBhdCBhbnkgcG9pbnQgZHVlIHRvIGFuIGFwcGxpY2F0aW9uIG9yCiAgICBzeXN0ZW0gY3Jhc2gsIGFuZCB0aGUgbG9nIGZpbGUgd2lsbCBiZSByZWNvdmVyZWQgdGhlIG5leHQgdGltZSB0aGUgbG9nIGlzCiAgICBvcGVuZWQgd2l0aCBnemxvZ19vcGVuKCkuCiAgKi8KZGlmZiAtLWdpdCBhL3NyYy9leGFtcGxlcy9nem5vcm0uYyBiL3NyYy9leGFtcGxlcy9nem5vcm0uYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42OGUwYTBmCi0tLSAvZGV2L251bGwKKysrIGIvc3JjL2V4YW1wbGVzL2d6bm9ybS5jCkBAIC0wLDAgKzEsNDcwIEBACisvKiBnem5vcm0uYyAtLSBub3JtYWxpemUgYSBnemlwIHN0cmVhbQorICogQ29weXJpZ2h0IChDKSAyMDE4IE1hcmsgQWRsZXIKKyAqIEZvciBjb25kaXRpb25zIG9mIGRpc3RyaWJ1dGlvbiBhbmQgdXNlLCBzZWUgY29weXJpZ2h0IG5vdGljZSBpbiB6bGliLmgKKyAqIFZlcnNpb24gMS4wICA3IE9jdCAyMDE4ICBNYXJrIEFkbGVyICovCisKKy8vIGd6bm9ybSB0YWtlcyBhIGd6aXAgc3RyZWFtLCBwb3RlbnRpYWxseSBjb250YWluaW5nIG11bHRpcGxlIG1lbWJlcnMsIGFuZAorLy8gY29udmVydHMgaXQgdG8gYSBnemlwIHN0cmVhbSB3aXRoIGEgc2luZ2xlIG1lbWJlci4gSW4gYWRkaXRpb24gdGhlIGd6aXAKKy8vIGhlYWRlciBpcyBub3JtYWxpemVkLCByZW1vdmluZyB0aGUgZmlsZSBuYW1lIGFuZCB0aW1lIHN0YW1wLCBhbmQgc2V0dGluZyB0aGUKKy8vIG90aGVyIGhlYWRlciBjb250ZW50cyAoWEZMLCBPUykgdG8gZml4ZWQgdmFsdWVzLiBnem5vcm0gZG9lcyBub3QgcmVjb21wcmVzcworLy8gdGhlIGRhdGEsIHNvIGl0IGlzIGZhc3QsIGJ1dCBubyBhZHZhbnRhZ2UgaXMgZ2FpbmVkIGZyb20gdGhlIGhpc3RvcnkgdGhhdAorLy8gY291bGQgYmUgYXZhaWxhYmxlIGFjcm9zcyBtZW1iZXIgYm91bmRhcmllcy4KKworI2luY2x1ZGUgPHN0ZGlvLmg+ICAgICAgLy8gZnJlYWQsIGZ3cml0ZSwgcHV0YywgZmZsdXNoLCBmZXJyb3IsIGZwcmludGYsCisgICAgICAgICAgICAgICAgICAgICAgICAvLyB2c25wcmludGYsIHN0ZG91dCwgc3RkZXJyLCBOVUxMLCBGSUxFCisjaW5jbHVkZSA8c3RkbGliLmg+ICAgICAvLyBtYWxsb2MsIGZyZWUKKyNpbmNsdWRlIDxzdHJpbmcuaD4gICAgIC8vIHN0cmVycm9yCisjaW5jbHVkZSA8ZXJybm8uaD4gICAgICAvLyBlcnJubworI2luY2x1ZGUgPHN0ZGFyZy5oPiAgICAgLy8gdmFfbGlzdCwgdmFfc3RhcnQsIHZhX2VuZAorI2luY2x1ZGUgInpsaWIuaCIgICAgICAgLy8gaW5mbGF0ZUluaXQyLCBpbmZsYXRlLCBpbmZsYXRlUmVzZXQsIGluZmxhdGVFbmQsCisgICAgICAgICAgICAgICAgICAgICAgICAvLyB6X3N0cmVhbSwgel9vZmZfdCwgY3JjMzJfY29tYmluZSwgWl9OVUxMLCBaX0JMT0NLLAorICAgICAgICAgICAgICAgICAgICAgICAgLy8gWl9PSywgWl9TVFJFQU1fRU5ELCBaX0JVRl9FUlJPUiwgWl9EQVRBX0VSUk9SLAorICAgICAgICAgICAgICAgICAgICAgICAgLy8gWl9NRU1fRVJST1IKKworI2lmIGRlZmluZWQoTVNET1MpIHx8IGRlZmluZWQoT1MyKSB8fCBkZWZpbmVkKFdJTjMyKSB8fCBkZWZpbmVkKF9fQ1lHV0lOX18pCisjICBpbmNsdWRlIDxmY250bC5oPgorIyAgaW5jbHVkZSA8aW8uaD4KKyMgIGRlZmluZSBTRVRfQklOQVJZX01PREUoZmlsZSkgc2V0bW9kZShmaWxlbm8oZmlsZSksIE9fQklOQVJZKQorI2Vsc2UKKyMgIGRlZmluZSBTRVRfQklOQVJZX01PREUoZmlsZSkKKyNlbmRpZgorCisjZGVmaW5lIGxvY2FsIHN0YXRpYworCisvLyBwcmludGYgdG8gYW4gYWxsb2NhdGVkIHN0cmluZy4gUmV0dXJuIHRoZSBzdHJpbmcsIG9yIE5VTEwgaWYgdGhlIHByaW50ZiBvcgorLy8gYWxsb2NhdGlvbiBmYWlscy4KK2xvY2FsIGNoYXIgKmFwcmludGYoY2hhciAqZm10LCAuLi4pIHsKKyAgICAvLyBHZXQgdGhlIGxlbmd0aCBvZiB0aGUgcmVzdWx0IG9mIHRoZSBwcmludGYuCisgICAgdmFfbGlzdCBhcmdzOworICAgIHZhX3N0YXJ0KGFyZ3MsIGZtdCk7CisgICAgaW50IGxlbiA9IHZzbnByaW50ZihOVUxMLCAwLCBmbXQsIGFyZ3MpOworICAgIHZhX2VuZChhcmdzKTsKKyAgICBpZiAobGVuIDwgMCkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICAvLyBBbGxvY2F0ZSB0aGUgcmVxdWlyZWQgc3BhY2UgYW5kIHByaW50ZiB0byBpdC4KKyAgICBjaGFyICpzdHIgPSBtYWxsb2MobGVuICsgMSk7CisgICAgaWYgKHN0ciA9PSBOVUxMKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB2YV9zdGFydChhcmdzLCBmbXQpOworICAgIHZzbnByaW50ZihzdHIsIGxlbiArIDEsIGZtdCwgYXJncyk7CisgICAgdmFfZW5kKGFyZ3MpOworICAgIHJldHVybiBzdHI7Cit9CisKKy8vIFJldHVybiB3aXRoIGFuIGVycm9yLCBwdXR0aW5nIGFuIGFsbG9jYXRlZCBlcnJvciBtZXNzYWdlIGluICplcnIuIERvaW5nIGFuCisvLyBpbmZsYXRlRW5kKCkgb24gYW4gYWxyZWFkeSBlbmRlZCBzdGF0ZSwgb3Igb25lIHdpdGggc3RhdGUgc2V0IHRvIFpfTlVMTCwgaXMKKy8vIHBlcm1pdHRlZC4KKyNkZWZpbmUgQllFKC4uLikgXAorICAgIGRvIHsgXAorICAgICAgICBpbmZsYXRlRW5kKCZzdHJtKTsgXAorICAgICAgICAqZXJyID0gYXByaW50ZihfX1ZBX0FSR1NfXyk7IFwKKyAgICAgICAgcmV0dXJuIDE7IFwKKyAgICB9IHdoaWxlICgwKQorCisvLyBDaHVuayBzaXplIGZvciBidWZmZXJlZCByZWFkcyBhbmQgZm9yIGRlY29tcHJlc3Npb24uIFR3aWNlIHRoaXMgbWFueSBieXRlcworLy8gd2lsbCBiZSBhbGxvY2F0ZWQgb24gdGhlIHN0YWNrIGJ5IGd6aXBfbm9ybWFsaXplKCkuIE11c3QgZml0IGluIGFuIHVuc2lnbmVkLgorI2RlZmluZSBDSFVOSyAxNjM4NAorCisvLyBSZWFkIGEgZ3ppcCBzdHJlYW0gZnJvbSBpbiBhbmQgd3JpdGUgYW4gZXF1aXZhbGVudCBub3JtYWxpemVkIGd6aXAgc3RyZWFtIHRvCisvLyBvdXQuIElmIGdpdmVuIG5vIGlucHV0LCBhbiBlbXB0eSBnemlwIHN0cmVhbSB3aWxsIGJlIHdyaXR0ZW4uIElmIHN1Y2Nlc3NmdWwsCisvLyAwIGlzIHJldHVybmVkLCBhbmQgKmVyciBpcyBzZXQgdG8gTlVMTC4gT24gZXJyb3IsIDEgaXMgcmV0dXJuZWQsIHdoZXJlIHRoZQorLy8gZGV0YWlscyBvZiB0aGUgZXJyb3IgYXJlIHJldHVybmVkIGluICplcnIsIGEgcG9pbnRlciB0byBhbiBhbGxvY2F0ZWQgc3RyaW5nLgorLy8KKy8vIFRoZSBpbnB1dCBtYXkgYmUgYSBzdHJlYW0gd2l0aCBtdWx0aXBsZSBnemlwIG1lbWJlcnMsIHdoaWNoIGlzIGNvbnZlcnRlZCB0bworLy8gYSBzaW5nbGUgZ3ppcCBtZW1iZXIgb24gdGhlIG91dHB1dC4gRWFjaCBnemlwIG1lbWJlciBpcyBkZWNvbXByZXNzZWQgYXQgdGhlCisvLyBsZXZlbCBvZiBkZWZsYXRlIGJsb2Nrcy4gVGhpcyBlbmFibGVzIGNsZWFyaW5nIHRoZSBsYXN0LWJsb2NrIGJpdCwgc2hpZnRpbmcKKy8vIHRoZSBjb21wcmVzc2VkIGRhdGEgdG8gY29uY2F0ZW5hdGUgdG8gdGhlIHByZXZpb3VzIG1lbWJlcidzIGNvbXByZXNzZWQgZGF0YSwKKy8vIHdoaWNoIGNhbiBlbmQgYXQgYW4gYXJiaXRyYXJ5IGJpdCBib3VuZGFyeSwgYW5kIGlkZW50aWZ5aW5nIHN0b3JlZCBibG9ja3MgaW4KKy8vIG9yZGVyIHRvIHJlc3luY2hyb25pemUgdGhvc2UgdG8gYnl0ZSBib3VuZGFyaWVzLiBUaGUgZGVmbGF0ZSBjb21wcmVzc2VkIGRhdGEKKy8vIGlzIHRlcm1pbmF0ZWQgd2l0aCBhIDEwLWJpdCBlbXB0eSBmaXhlZCBibG9jay4gSWYgYW55IG1lbWJlcnMgb24gdGhlIGlucHV0CisvLyBlbmQgd2l0aCBhIDEwLWJpdCBlbXB0eSBmaXhlZCBibG9jaywgdGhlbiB0aGF0IGJsb2NrIGlzIGV4Y2lzZWQgZnJvbSB0aGUKKy8vIHN0cmVhbS4gVGhpcyBhdm9pZHMgYXBwZW5kaW5nIGVtcHR5IGZpeGVkIGJsb2NrcyBmb3IgZXZlcnkgbm9ybWFsaXphdGlvbiwKKy8vIGFuZCBhc3N1cmVzIHRoYXQgZ3ppcF9ub3JtYWxpemUgYXBwbGllZCBhIHNlY29uZCB0aW1lIHdpbGwgbm90IGNoYW5nZSB0aGUKKy8vIGlucHV0LiBUaGUgcGFkIGJpdHMgYWZ0ZXIgc3RvcmVkIGJsb2NrIGhlYWRlcnMgYW5kIGFmdGVyIHRoZSBmaW5hbCBkZWZsYXRlCisvLyBibG9jayBhcmUgYWxsIGZvcmNlZCB0byB6ZXJvcy4KK2xvY2FsIGludCBnemlwX25vcm1hbGl6ZShGSUxFICppbiwgRklMRSAqb3V0LCBjaGFyICoqZXJyKSB7CisgICAgLy8gaW5pdGlhbGl6ZSB0aGUgaW5mbGF0ZSBlbmdpbmUgdG8gcHJvY2VzcyBhIGd6aXAgbWVtYmVyCisgICAgel9zdHJlYW0gc3RybTsKKyAgICBzdHJtLnphbGxvYyA9IFpfTlVMTDsKKyAgICBzdHJtLnpmcmVlID0gWl9OVUxMOworICAgIHN0cm0ub3BhcXVlID0gWl9OVUxMOworICAgIHN0cm0uYXZhaWxfaW4gPSAwOworICAgIHN0cm0ubmV4dF9pbiA9IFpfTlVMTDsKKyAgICBpZiAoaW5mbGF0ZUluaXQyKCZzdHJtLCAxNSArIDE2KSAhPSBaX09LKQorICAgICAgICBCWUUoIm91dCBvZiBtZW1vcnkiKTsKKworICAgIC8vIFN0YXRlIHdoaWxlIHByb2Nlc3NpbmcgdGhlIGlucHV0IGd6aXAgc3RyZWFtLgorICAgIGVudW0geyAgICAgICAgICAgICAgLy8gQkVUV0VFTiAtPiBIRUFEIC0+IEJMT0NLIC0+IFRBSUwgLT4gQkVUV0VFTiAtPiAuLi4KKyAgICAgICAgQkVUV0VFTiwgICAgICAgIC8vIGJldHdlZW4gZ3ppcCBtZW1iZXJzIChtdXN0IGVuZCBpbiB0aGlzIHN0YXRlKQorICAgICAgICBIRUFELCAgICAgICAgICAgLy8gcmVhZGluZyBhIGd6aXAgaGVhZGVyCisgICAgICAgIEJMT0NLLCAgICAgICAgICAvLyByZWFkaW5nIGRlZmxhdGUgYmxvY2tzCisgICAgICAgIFRBSUwgICAgICAgICAgICAvLyByZWFkaW5nIGEgZ3ppcCB0cmFpbGVyCisgICAgfSBzdGF0ZSA9IEJFVFdFRU47ICAgICAgICAgICAgICAvLyBjdXJyZW50IGNvbXBvbmVudCBiZWluZyBwcm9jZXNzZWQKKyAgICB1bnNpZ25lZCBsb25nIGNyYyA9IDA7ICAgICAgICAgIC8vIGFjY3VtdWxhdGVkIENSQyBvZiB1bmNvbXByZXNzZWQgZGF0YQorICAgIHVuc2lnbmVkIGxvbmcgbGVuID0gMDsgICAgICAgICAgLy8gYWNjdW11bGF0ZWQgbGVuZ3RoIG9mIHVuY29tcHJlc3NlZCBkYXRhCisgICAgdW5zaWduZWQgbG9uZyBidWYgPSAwOyAgICAgICAgICAvLyBkZWZsYXRlIHN0cmVhbSBiaXQgYnVmZmVyIG9mIG51bSBiaXRzCisgICAgaW50IG51bSA9IDA7ICAgICAgICAgICAgICAgICAgICAvLyBudW1iZXIgb2YgYml0cyBpbiBidWYgKGF0IGJvdHRvbSkKKworICAgIC8vIFdyaXRlIGEgY2Fub25pY2FsIGd6aXAgaGVhZGVyIChubyBtb2QgdGltZSwgZmlsZSBuYW1lLCBjb21tZW50LCBleHRyYQorICAgIC8vIGJsb2NrLCBvciBleHRyYSBmbGFncywgYW5kIE9TIGlzIG1hcmtlZCBhcyB1bmtub3duKS4KKyAgICBmd3JpdGUoIlx4MWZceDhiXHgwOFwwXDBcMFwwXDBcMFx4ZmYiLCAxLCAxMCwgb3V0KTsKKworICAgIC8vIFByb2Nlc3MgdGhlIGd6aXAgc3RyZWFtIGZyb20gaW4gdW50aWwgcmVhY2hpbmcgdGhlIGVuZCBvZiB0aGUgaW5wdXQsCisgICAgLy8gZW5jb3VudGVyaW5nIGludmFsaWQgaW5wdXQsIG9yIGV4cGVyaWVuY2luZyBhbiBpL28gZXJyb3IuCisgICAgaW50IG1vcmU7ICAgICAgICAgICAgICAgICAgICAgICAvLyB0cnVlIGlmIG5vdCBhdCB0aGUgZW5kIG9mIHRoZSBpbnB1dAorICAgIGRvIHsKKyAgICAgICAgLy8gU3RhdGUgaW5zaWRlIHRoaXMgbG9vcC4KKyAgICAgICAgdW5zaWduZWQgY2hhciAqcHV0OyAgICAgICAgIC8vIG5leHQgaW5wdXQgYnVmZmVyIGxvY2F0aW9uIHRvIHByb2Nlc3MKKyAgICAgICAgaW50IHByZXY7ICAgICAgICAgICAgICAgICAgIC8vIG51bWJlciBvZiBiaXRzIGZyb20gcHJldmlvdXMgYmxvY2sgaW4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRoZSBiaXQgYnVmZmVyLCBvciAtMSBpZiBub3QgYXQgdGhlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBzdGFydCBvZiBhIGJsb2NrCisgICAgICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBtZW1iOyAgICAvLyB1bmNvbXByZXNzZWQgbGVuZ3RoIG9mIG1lbWJlcgorICAgICAgICBzaXplX3QgdGFpbDsgICAgICAgICAgICAgICAgLy8gbnVtYmVyIG9mIHRyYWlsZXIgYnl0ZXMgcmVhZCAoMC4uOCkKKyAgICAgICAgdW5zaWduZWQgbG9uZyBwYXJ0OyAgICAgICAgIC8vIGFjY3VtdWxhdGVkIHRyYWlsZXIgY29tcG9uZW50CisKKyAgICAgICAgLy8gR2V0IHRoZSBuZXh0IGNodW5rIG9mIGlucHV0IGZyb20gaW4uCisgICAgICAgIHVuc2lnbmVkIGNoYXIgZGF0W0NIVU5LXTsKKyAgICAgICAgc3RybS5hdmFpbF9pbiA9IGZyZWFkKGRhdCwgMSwgQ0hVTkssIGluKTsKKyAgICAgICAgaWYgKHN0cm0uYXZhaWxfaW4gPT0gMCkKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBtb3JlID0gc3RybS5hdmFpbF9pbiA9PSBDSFVOSzsKKyAgICAgICAgc3RybS5uZXh0X2luID0gcHV0ID0gZGF0OworCisgICAgICAgIC8vIFJ1biB0aGF0IGNodW5rIG9mIGlucHV0IHRocm91Z2ggdGhlIGluZmxhdGUgZW5naW5lIHRvIGV4aGF1c3Rpb24uCisgICAgICAgIGRvIHsKKyAgICAgICAgICAgIC8vIEF0IHRoaXMgcG9pbnQgaXQgaXMgYXNzdXJlZCB0aGF0IHN0cm0uYXZhaWxfaW4gPiAwLgorCisgICAgICAgICAgICAvLyBJbmZsYXRlIHVudGlsIHRoZSBlbmQgb2YgYSBnemlwIGNvbXBvbmVudCAoaGVhZGVyLCBkZWZsYXRlCisgICAgICAgICAgICAvLyBibG9jaywgdHJhaWxlcikgaXMgcmVhY2hlZCwgb3IgdW50aWwgYWxsIG9mIHRoZSBjaHVuayBpcworICAgICAgICAgICAgLy8gY29uc3VtZWQuIFRoZSByZXN1bHRpbmcgZGVjb21wcmVzc2VkIGRhdGEgaXMgZGlzY2FyZGVkLCB0aG91Z2gKKyAgICAgICAgICAgIC8vIHRoZSB0b3RhbCBzaXplIG9mIHRoZSBkZWNvbXByZXNzZWQgZGF0YSBpbiBlYWNoIG1lbWJlciBpcworICAgICAgICAgICAgLy8gdHJhY2tlZCwgZm9yIHRoZSBjYWxjdWxhdGlvbiBvZiB0aGUgdG90YWwgQ1JDLgorICAgICAgICAgICAgZG8geworICAgICAgICAgICAgICAgIC8vIGluZmxhdGUgYW5kIGhhbmRsZSBhbnkgZXJyb3JzCisgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciBzY3JhcFtDSFVOS107CisgICAgICAgICAgICAgICAgc3RybS5hdmFpbF9vdXQgPSBDSFVOSzsKKyAgICAgICAgICAgICAgICBzdHJtLm5leHRfb3V0ID0gc2NyYXA7CisgICAgICAgICAgICAgICAgaW50IHJldCA9IGluZmxhdGUoJnN0cm0sIFpfQkxPQ0spOworICAgICAgICAgICAgICAgIGlmIChyZXQgPT0gWl9NRU1fRVJST1IpCisgICAgICAgICAgICAgICAgICAgIEJZRSgib3V0IG9mIG1lbW9yeSIpOworICAgICAgICAgICAgICAgIGlmIChyZXQgPT0gWl9EQVRBX0VSUk9SKQorICAgICAgICAgICAgICAgICAgICBCWUUoImlucHV0IGludmFsaWQ6ICVzIiwgc3RybS5tc2cpOworICAgICAgICAgICAgICAgIGlmIChyZXQgIT0gWl9PSyAmJiByZXQgIT0gWl9CVUZfRVJST1IgJiYgcmV0ICE9IFpfU1RSRUFNX0VORCkKKyAgICAgICAgICAgICAgICAgICAgQllFKCJpbnRlcm5hbCBlcnJvciIpOworCisgICAgICAgICAgICAgICAgLy8gVXBkYXRlIHRoZSBudW1iZXIgb2YgdW5jb21wcmVzc2VkIGJ5dGVzIGdlbmVyYXRlZCBpbiB0aGlzCisgICAgICAgICAgICAgICAgLy8gbWVtYmVyLiBUaGUgYWN0dWFsIGNvdW50IChub3QgbW9kdWxvIDJeMzIpIGlzIHJlcXVpcmVkIHRvCisgICAgICAgICAgICAgICAgLy8gY29ycmVjdGx5IGNvbXB1dGUgdGhlIHRvdGFsIENSQy4KKyAgICAgICAgICAgICAgICB1bnNpZ25lZCBnb3QgPSBDSFVOSyAtIHN0cm0uYXZhaWxfb3V0OworICAgICAgICAgICAgICAgIG1lbWIgKz0gZ290OworICAgICAgICAgICAgICAgIGlmIChtZW1iIDwgZ290KQorICAgICAgICAgICAgICAgICAgICBCWUUoIm92ZXJmbG93IGVycm9yIik7CisKKyAgICAgICAgICAgICAgICAvLyBDb250aW51ZSB0byBwcm9jZXNzIHRoaXMgY2h1bmsgdW50aWwgaXQgaXMgY29uc3VtZWQsIG9yCisgICAgICAgICAgICAgICAgLy8gdW50aWwgdGhlIGVuZCBvZiBhIGNvbXBvbmVudCAoaGVhZGVyLCBkZWZsYXRlIGJsb2NrLCBvcgorICAgICAgICAgICAgICAgIC8vIHRyYWlsZXIpIGlzIHJlYWNoZWQuCisgICAgICAgICAgICB9IHdoaWxlIChzdHJtLmF2YWlsX291dCA9PSAwICYmIChzdHJtLmRhdGFfdHlwZSAmIDB4ODApID09IDApOworCisgICAgICAgICAgICAvLyBTaW5jZSBzdHJtLmF2YWlsX2luIHdhcyA+IDAgZm9yIHRoZSBpbmZsYXRlIGNhbGwsIHNvbWUgaW5wdXQgd2FzCisgICAgICAgICAgICAvLyBqdXN0IGNvbnN1bWVkLiBJdCBpcyB0aGVyZWZvcmUgYXNzdXJlZCB0aGF0IHB1dCA8IHN0cm0ubmV4dF9pbi4KKworICAgICAgICAgICAgLy8gRGlzcG9zaXRpb24gdGhlIGNvbnN1bWVkIGNvbXBvbmVudCBvciBwYXJ0IG9mIGEgY29tcG9uZW50LgorICAgICAgICAgICAgc3dpdGNoIChzdGF0ZSkgeworICAgICAgICAgICAgICAgIGNhc2UgQkVUV0VFTjoKKyAgICAgICAgICAgICAgICAgICAgc3RhdGUgPSBIRUFEOworICAgICAgICAgICAgICAgICAgICAvLyBGYWxsIHRocm91Z2ggdG8gSEVBRCB3aGVuIHNvbWUgb3IgYWxsIG9mIHRoZSBoZWFkZXIgaXMKKyAgICAgICAgICAgICAgICAgICAgLy8gcHJvY2Vzc2VkLgorCisgICAgICAgICAgICAgICAgY2FzZSBIRUFEOgorICAgICAgICAgICAgICAgICAgICAvLyBEaXNjYXJkIHRoZSBoZWFkZXIuCisgICAgICAgICAgICAgICAgICAgIGlmIChzdHJtLmRhdGFfdHlwZSAmIDB4ODApIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIC8vIEVuZCBvZiBoZWFkZXIgcmVhY2hlZCAtLSBkZWZsYXRlIGJsb2NrcyBmb2xsb3cuCisgICAgICAgICAgICAgICAgICAgICAgICBwdXQgPSBzdHJtLm5leHRfaW47CisgICAgICAgICAgICAgICAgICAgICAgICBwcmV2ID0gbnVtOworICAgICAgICAgICAgICAgICAgICAgICAgbWVtYiA9IDA7CisgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZSA9IEJMT0NLOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgICAgICAgICAgY2FzZSBCTE9DSzoKKyAgICAgICAgICAgICAgICAgICAgLy8gQ29weSB0aGUgZGVmbGF0ZSBzdHJlYW0gdG8gdGhlIG91dHB1dCwgYnV0IHdpdGggdGhlCisgICAgICAgICAgICAgICAgICAgIC8vIGxhc3QtYmxvY2stYml0IGNsZWFyZWQuIFJlLXN5bmNocm9uaXplIHN0b3JlZCBibG9jaworICAgICAgICAgICAgICAgICAgICAvLyBoZWFkZXJzIHRvIHRoZSBvdXRwdXQgYnl0ZSBib3VuZGFyaWVzLiBUaGUgYnl0ZXMgYXQKKyAgICAgICAgICAgICAgICAgICAgLy8gcHV0Li5zdHJtLm5leHRfaW4tMSBpcyB0aGUgY29tcHJlc3NlZCBkYXRhIHRoYXQgaGFzIGJlZW4KKyAgICAgICAgICAgICAgICAgICAgLy8gcHJvY2Vzc2VkIGFuZCBpcyByZWFkeSB0byBiZSBjb3BpZWQgdG8gdGhlIG91dHB1dC4KKworICAgICAgICAgICAgICAgICAgICAvLyBBdCB0aGlzIHBvaW50LCBpdCBpcyBhc3N1cmVkIHRoYXQgbmV3IGNvbXByZXNzZWQgZGF0YSBpcworICAgICAgICAgICAgICAgICAgICAvLyBhdmFpbGFibGUsIGkuZS4sIHB1dCA8IHN0cm0ubmV4dF9pbi4gSWYgcHJldiBpcyAtMSwgdGhlbgorICAgICAgICAgICAgICAgICAgICAvLyB0aGF0IGNvbXByZXNzZWQgZGF0YSBzdGFydHMgaW4gdGhlIG1pZGRsZSBvZiBhIGRlZmxhdGUKKyAgICAgICAgICAgICAgICAgICAgLy8gYmxvY2suIElmIHByZXYgaXMgbm90IC0xLCB0aGVuIHRoZSBiaXRzIGluIHRoZSBiaXQKKyAgICAgICAgICAgICAgICAgICAgLy8gYnVmZmVyLCBwb3NzaWJseSBjb21iaW5lZCB3aXRoIHRoZSBiaXRzIGluICpwdXQsIGNvbnRhaW4KKyAgICAgICAgICAgICAgICAgICAgLy8gdGhlIHRocmVlLWJpdCBoZWFkZXIgb2YgdGhlIG5ldyBkZWZsYXRlIGJsb2NrLiBJbiB0aGF0CisgICAgICAgICAgICAgICAgICAgIC8vIGNhc2UsIHByZXYgaXMgdGhlIG51bWJlciBvZiBiaXRzIGZyb20gdGhlIHByZXZpb3VzIGJsb2NrCisgICAgICAgICAgICAgICAgICAgIC8vIHRoYXQgcmVtYWluIGluIHRoZSBiaXQgYnVmZmVyLiBTaW5jZSBudW0gaXMgdGhlIG51bWJlcgorICAgICAgICAgICAgICAgICAgICAvLyBvZiBiaXRzIGluIHRoZSBiaXQgYnVmZmVyLCB3ZSBoYXZlIHRoYXQgbnVtIC0gcHJldiBpcworICAgICAgICAgICAgICAgICAgICAvLyB0aGUgbnVtYmVyIG9mIGJpdHMgZnJvbSB0aGUgbmV3IGJsb2NrIGN1cnJlbnRseSBpbiB0aGUKKyAgICAgICAgICAgICAgICAgICAgLy8gYml0IGJ1ZmZlci4KKworICAgICAgICAgICAgICAgICAgICAvLyBJZiBzdHJtLmRhdGFfdHlwZSAmIDB4YzAgaXMgMHg4MCwgdGhlbiB0aGUgbGFzdCBieXRlIG9mCisgICAgICAgICAgICAgICAgICAgIC8vIHRoZSBhdmFpbGFibGUgY29tcHJlc3NlZCBkYXRhIGluY2x1ZGVzIHRoZSBsYXN0IGJpdHMgb2YKKyAgICAgICAgICAgICAgICAgICAgLy8gdGhlIGVuZCBvZiBhIGRlZmxhdGUgYmxvY2suIEluIHRoYXQgY2FzZSwgdGhhdCBsYXN0IGJ5dGUKKyAgICAgICAgICAgICAgICAgICAgLy8gYWxzbyBoYXMgc3RybS5kYXRhX3R5cGUgJiAweDFmIGJpdHMgb2YgdGhlIG5leHQgZGVmbGF0ZQorICAgICAgICAgICAgICAgICAgICAvLyBibG9jaywgaW4gdGhlIHJhbmdlIDAuLjcuIElmIHN0cm0uZGF0YV90eXBlICYgMHhjMCBpcworICAgICAgICAgICAgICAgICAgICAvLyAweGMwLCB0aGVuIHRoZSBsYXN0IGJ5dGUgb2YgdGhlIGNvbXByZXNzZWQgZGF0YSBpcyB0aGUKKyAgICAgICAgICAgICAgICAgICAgLy8gZW5kIG9mIHRoZSBkZWZsYXRlIHN0cmVhbSwgZm9sbG93ZWQgYnkgc3RybS5kYXRhX3R5cGUgJgorICAgICAgICAgICAgICAgICAgICAvLyAweDFmIHBhZCBiaXRzLCBhbHNvIGluIHRoZSByYW5nZSAwLi43LgorCisgICAgICAgICAgICAgICAgICAgIC8vIFNldCBiaXRzIHRvIHRoZSBudW1iZXIgb2YgYml0cyBub3QgeWV0IGNvbnN1bWVkIGZyb20gdGhlCisgICAgICAgICAgICAgICAgICAgIC8vIGxhc3QgYnl0ZS4gSWYgd2UgYXJlIGF0IHRoZSBlbmQgb2YgdGhlIGJsb2NrLCBiaXRzIGlzCisgICAgICAgICAgICAgICAgICAgIC8vIGVpdGhlciB0aGUgbnVtYmVyIG9mIGJpdHMgaW4gdGhlIGxhc3QgYnl0ZSBiZWxvbmdpbmcgdG8KKyAgICAgICAgICAgICAgICAgICAgLy8gdGhlIG5leHQgYmxvY2ssIG9yIHRoZSBudW1iZXIgb2YgcGFkIGJpdHMgYWZ0ZXIgdGhlCisgICAgICAgICAgICAgICAgICAgIC8vIGZpbmFsIGJsb2NrLiBJbiBlaXRoZXIgb2YgdGhvc2UgY2FzZXMsIGJpdHMgaXMgaW4gdGhlCisgICAgICAgICAgICAgICAgICAgIC8vIHJhbmdlIDAuLjcuCisgICAgICAgICAgICAgICAgICAgIDsgICAgICAgICAgICAgICAgICAgLy8gKHJlcXVpcmVkIGR1ZSB0byBDIHN5bnRheCBvZGRpdHkpCisgICAgICAgICAgICAgICAgICAgIGludCBiaXRzID0gc3RybS5kYXRhX3R5cGUgJiAweDFmOworCisgICAgICAgICAgICAgICAgICAgIGlmIChwcmV2ICE9IC0xKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAvLyBXZSBhcmUgYXQgdGhlIHN0YXJ0IG9mIGEgbmV3IGJsb2NrLiBDbGVhciB0aGUgbGFzdAorICAgICAgICAgICAgICAgICAgICAgICAgLy8gYmxvY2sgYml0LCBhbmQgY2hlY2sgZm9yIHNwZWNpYWwgY2FzZXMuIElmIGl0IGlzIGEKKyAgICAgICAgICAgICAgICAgICAgICAgIC8vIHN0b3JlZCBibG9jaywgdGhlbiBlbWl0IHRoZSBoZWFkZXIgYW5kIHBhZCB0byB0aGUKKyAgICAgICAgICAgICAgICAgICAgICAgIC8vIG5leHQgYnl0ZSBib3VuZGFyeS4gSWYgaXQgaXMgYSBmaW5hbCwgZW1wdHkgZml4ZWQKKyAgICAgICAgICAgICAgICAgICAgICAgIC8vIGJsb2NrLCB0aGVuIGV4Y2lzZSBpdC4KKworICAgICAgICAgICAgICAgICAgICAgICAgLy8gU29tZSBvciBhbGwgb2YgdGhlIHRocmVlIGhlYWRlciBiaXRzIGZvciB0aGlzIGJsb2NrCisgICAgICAgICAgICAgICAgICAgICAgICAvLyBtYXkgYWxyZWFkeSBiZSBpbiB0aGUgYml0IGJ1ZmZlci4gTG9hZCBhbnkgcmVtYWluaW5nCisgICAgICAgICAgICAgICAgICAgICAgICAvLyBoZWFkZXIgYml0cyBpbnRvIHRoZSBiaXQgYnVmZmVyLgorICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG51bSAtIHByZXYgPCAzKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVmICs9ICh1bnNpZ25lZCBsb25nKSpwdXQrKyA8PCBudW07CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbnVtICs9IDg7CisgICAgICAgICAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICAgICAgICAgIC8vIFNldCBsYXN0IHRvIGhhdmUgYSAxIGluIHRoZSBwb3NpdGlvbiBvZiB0aGUgbGFzdAorICAgICAgICAgICAgICAgICAgICAgICAgLy8gYmxvY2sgYml0IGluIHRoZSBiaXQgYnVmZmVyLgorICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBsYXN0ID0gKHVuc2lnbmVkIGxvbmcpMSA8PCBwcmV2OworCisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoKChidWYgPj4gcHJldikgJiA3KSA9PSAzKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGhpcyBpcyBhIGZpbmFsIGZpeGVkIGJsb2NrLiBMb2FkIGF0IGxlYXN0IHRlbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGJpdHMgZnJvbSB0aGlzIGJsb2NrLCBpbmNsdWRpbmcgdGhlIGhlYWRlciwgaW50bworICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRoZSBiaXQgYnVmZmVyLiBXZSBhbHJlYWR5IGhhdmUgYXQgbGVhc3QgdGhyZWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gc28gYXQgbW9zdCBvbmUgbW9yZSBieXRlIG5lZWRzIHRvIGJlIGxvYWRlZC4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobnVtIC0gcHJldiA8IDEwKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwdXQgPT0gc3RybS5uZXh0X2luKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gTmVlZCB0byBnbyBnZXQgYW5kIHByb2Nlc3MgbW9yZSBpbnB1dC4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFdlJ2xsIGVuZCB1cCBiYWNrIGhlcmUgdG8gZmluaXNoIHRoaXMuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVmICs9ICh1bnNpZ25lZCBsb25nKSpwdXQrKyA8PCBudW07CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG51bSArPSA4OworICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoKChidWYgPj4gcHJldikgJiAweDNmZikgPT0gMykgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBUaGF0IGZpbmFsIGZpeGVkIGJsb2NrIGlzIGVtcHR5LiBEZWxldGUgaXQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gdG8gYXZvaWQgYWRkaW5nIGFuIGVtcHR5IGJsb2NrIGV2ZXJ5IHRpbWUgYQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBnemlwIHN0cmVhbSBpcyBub3JtYWxpemVkLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBudW0gPSBwcmV2OworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWYgJj0gbGFzdCAtIDE7ICAgIC8vIHplcm8gdGhlIHBhZCBiaXRzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoKChidWYgPj4gcHJldikgJiA2KSA9PSAwKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGhpcyBpcyBhIHN0b3JlZCBibG9jay4gRmx1c2ggdG8gdGhlIG5leHQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBieXRlIGJvdW5kYXJ5IGFmdGVyIHRoZSB0aHJlZS1iaXQgaGVhZGVyLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIG51bSA9IChwcmV2ICsgMTApICYgfjc7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVmICY9IGxhc3QgLSAxOyAgICAgICAgLy8gemVybyB0aGUgcGFkIGJpdHMKKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgICAgICAgICAgLy8gQ2xlYXIgdGhlIGxhc3QgYmxvY2sgYml0LgorICAgICAgICAgICAgICAgICAgICAgICAgYnVmICY9IH5sYXN0OworCisgICAgICAgICAgICAgICAgICAgICAgICAvLyBXcml0ZSBvdXQgY29tcGxldGUgYnl0ZXMgaW4gdGhlIGJpdCBidWZmZXIuCisgICAgICAgICAgICAgICAgICAgICAgICB3aGlsZSAobnVtID49IDgpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdXRjKGJ1Ziwgb3V0KTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWYgPj49IDg7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbnVtIC09IDg7CisgICAgICAgICAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICAgICAgICAgIC8vIElmIG5vIG1vcmUgYnl0ZXMgbGVmdCB0byBwcm9jZXNzLCB0aGVuIHdlIGhhdmUKKyAgICAgICAgICAgICAgICAgICAgICAgIC8vIGNvbnN1bWVkIHRoZSBieXRlIHRoYXQgaGFkIGJpdHMgZnJvbSB0aGUgbmV4dCBibG9jay4KKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwdXQgPT0gc3RybS5uZXh0X2luKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJpdHMgPSAwOworICAgICAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICAgICAgLy8gV2UgYXJlIGRvbmUgaGFuZGxpbmcgdGhlIGRlZmxhdGUgYmxvY2sgaGVhZGVyLiBOb3cgY29weQorICAgICAgICAgICAgICAgICAgICAvLyBhbGwgb3IgYWxtb3N0IGFsbCBvZiB0aGUgcmVtYWluaW5nIGNvbXByZXNzZWQgZGF0YSB0aGF0CisgICAgICAgICAgICAgICAgICAgIC8vIGhhcyBiZWVuIHByb2Nlc3NlZCBzbyBmYXIuIERvbid0IGNvcHkgb25lIGJ5dGUgYXQgdGhlCisgICAgICAgICAgICAgICAgICAgIC8vIGVuZCBpZiBpdCBjb250YWlucyBiaXRzIGZyb20gdGhlIG5leHQgZGVmbGF0ZSBibG9jayBvcgorICAgICAgICAgICAgICAgICAgICAvLyBwYWQgYml0cyBhdCB0aGUgZW5kIG9mIGEgZGVmbGF0ZSBibG9jay4KKworICAgICAgICAgICAgICAgICAgICAvLyBtaXggaXMgMSBpZiB3ZSBhcmUgYXQgdGhlIGVuZCBvZiBhIGRlZmxhdGUgYmxvY2ssIGFuZCBpZgorICAgICAgICAgICAgICAgICAgICAvLyBzb21lIG9mIHRoZSBiaXRzIGluIHRoZSBsYXN0IGJ5dGUgZm9sbG93IHRoaXMgYmxvY2suIG1peAorICAgICAgICAgICAgICAgICAgICAvLyBpcyAwIGlmIHdlIGFyZSBpbiB0aGUgbWlkZGxlIG9mIGEgZGVmbGF0ZSBibG9jaywgaWYgdGhlCisgICAgICAgICAgICAgICAgICAgIC8vIGRlZmxhdGUgYmxvY2sgZW5kZWQgb24gYSBieXRlIGJvdW5kYXJ5LCBvciBpZiBhbGwgb2YgdGhlCisgICAgICAgICAgICAgICAgICAgIC8vIGNvbXByZXNzZWQgZGF0YSBwcm9jZXNzZWQgc28gZmFyIGhhcyBiZWVuIGNvbnN1bWVkLgorICAgICAgICAgICAgICAgICAgICBpbnQgbWl4ID0gKHN0cm0uZGF0YV90eXBlICYgMHg4MCkgJiYgYml0czsKKworICAgICAgICAgICAgICAgICAgICAvLyBDb3B5IGFsbCBvZiB0aGUgcHJvY2Vzc2VkIGNvbXByZXNzZWQgZGF0YSB0byB0aGUgb3V0cHV0LAorICAgICAgICAgICAgICAgICAgICAvLyBleGNlcHQgZm9yIHRoZSBsYXN0IGJ5dGUgaWYgaXQgY29udGFpbnMgYml0cyBmcm9tIHRoZQorICAgICAgICAgICAgICAgICAgICAvLyBuZXh0IGRlZmxhdGUgYmxvY2sgb3IgcGFkIGJpdHMgYXQgdGhlIGVuZCBvZiB0aGUgZGVmbGF0ZQorICAgICAgICAgICAgICAgICAgICAvLyBzdHJlYW0uIENvcHkgdGhlIGRhdGEgYWZ0ZXIgc2hpZnRpbmcgaW4gbnVtIGJpdHMgZnJvbQorICAgICAgICAgICAgICAgICAgICAvLyBidWYgaW4gZnJvbnQgb2YgaXQsIGxlYXZpbmcgbnVtIGJpdHMgZnJvbSB0aGUgZW5kIG9mIHRoZQorICAgICAgICAgICAgICAgICAgICAvLyBjb21wcmVzc2VkIGRhdGEgaW4gYnVmIHdoZW4gZG9uZS4KKyAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciAqZW5kID0gc3RybS5uZXh0X2luIC0gbWl4OworICAgICAgICAgICAgICAgICAgICBpZiAocHV0IDwgZW5kKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAobnVtKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEluc2VydCBudW0gYml0cyBmcm9tIGJ1ZiBiZWZvcmUgdGhlIGRhdGEgYmVpbmcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBjb3BpZWQuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG8geworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWYgKz0gKHVuc2lnbmVkKSgqcHV0KyspIDw8IG51bTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHV0YyhidWYsIG91dCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1ZiA+Pj0gODsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IHdoaWxlIChwdXQgPCBlbmQpOworICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gTm8gc2hpZnRpbmcgbmVlZGVkIC0tIHdyaXRlIGRpcmVjdGx5LgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ3cml0ZShwdXQsIDEsIGVuZCAtIHB1dCwgb3V0KTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdXQgPSBlbmQ7CisgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgICAgICAvLyBQcm9jZXNzIHRoZSBsYXN0IHByb2Nlc3NlZCBieXRlIGlmIGl0IHdhc24ndCB3cml0dGVuLgorICAgICAgICAgICAgICAgICAgICBpZiAobWl4KSB7CisgICAgICAgICAgICAgICAgICAgICAgICAvLyBMb2FkIHRoZSBsYXN0IGJ5dGUgaW50byB0aGUgYml0IGJ1ZmZlci4KKyAgICAgICAgICAgICAgICAgICAgICAgIGJ1ZiArPSAodW5zaWduZWQpKCpwdXQrKykgPDwgbnVtOworICAgICAgICAgICAgICAgICAgICAgICAgbnVtICs9IDg7CisKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzdHJtLmRhdGFfdHlwZSAmIDB4NDApIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBXZSBhcmUgYXQgdGhlIGVuZCBvZiB0aGUgZGVmbGF0ZSBzdHJlYW0gYW5kCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gdGhlcmUgYXJlIGJpdHMgcGFkIGJpdHMuIERpc2NhcmQgdGhlIHBhZCBiaXRzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYW5kIHdyaXRlIGEgYnl0ZSB0byB0aGUgb3V0cHV0LCBpZiBhdmFpbGFibGUuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gTGVhdmUgdGhlIG51bSBiaXRzIGxlZnQgb3ZlciBpbiBidWYgdG8gcHJlcGVuZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRvIHRoZSBuZXh0IGRlZmxhdGUgc3RyZWFtLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIG51bSAtPSBiaXRzOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChudW0gPj0gOCkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdXRjKGJ1Ziwgb3V0KTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbnVtIC09IDg7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1ZiA+Pj0gODsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBGb3JjZSB0aGUgcGFkIGJpdHMgaW4gdGhlIGJpdCBidWZmZXIgdG8gemVyb3MuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVmICY9ICgodW5zaWduZWQgbG9uZykxIDw8IG51bSkgLSAxOworCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gRG9uJ3QgbmVlZCB0byBzZXQgcHJldiBoZXJlIHNpbmNlIGdvaW5nIHRvIFRBSUwuCisgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gQXQgdGhlIGVuZCBvZiBhbiBpbnRlcm5hbCBkZWZsYXRlIGJsb2NrLiBMZWF2ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRoZSBsYXN0IGJ5dGUgaW4gdGhlIGJpdCBidWZmZXIgdG8gZXhhbWluZSBvbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRoZSBuZXh0IGVudHJ5IHRvIEJMT0NLLCB3aGVuIG1vcmUgYml0cyBmcm9tIHRoZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIG5leHQgYmxvY2sgd2lsbCBiZSBhdmFpbGFibGUuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJldiA9IG51bSAtIGJpdHM7ICAgICAgLy8gbnVtYmVyIG9mIGJpdHMgaW4gYnVmZmVyCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gZnJvbSBjdXJyZW50IGJsb2NrCisgICAgICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgICAgICAvLyBEb24ndCBoYXZlIGEgYnl0ZSBsZWZ0IG92ZXIsIHNvIHdlIGFyZSBpbiB0aGUgbWlkZGxlIG9mCisgICAgICAgICAgICAgICAgICAgIC8vIGEgZGVmbGF0ZSBibG9jaywgb3IgdGhlIGRlZmxhdGUgYmxvY2sgZW5kZWQgb24gYSBieXRlCisgICAgICAgICAgICAgICAgICAgIC8vIGJvdW5kYXJ5LiBTZXQgcHJldiBhcHByb3ByaWF0ZWx5IGZvciB0aGUgbmV4dCBlbnRyeSBpbnRvCisgICAgICAgICAgICAgICAgICAgIC8vIEJMT0NLLgorICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChzdHJtLmRhdGFfdHlwZSAmIDB4ODApCisgICAgICAgICAgICAgICAgICAgICAgICAvLyBUaGUgYmxvY2sgZW5kZWQgb24gYSBieXRlIGJvdW5kYXJ5LCBzbyBubyBoZWFkZXIKKyAgICAgICAgICAgICAgICAgICAgICAgIC8vIGJpdHMgYXJlIGluIHRoZSBiaXQgYnVmZmVyLgorICAgICAgICAgICAgICAgICAgICAgICAgcHJldiA9IG51bTsKKyAgICAgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICAgICAgLy8gSW4gdGhlIG1pZGRsZSBvZiBhIGRlZmxhdGUgYmxvY2ssIHNvIG5vIGhlYWRlciBoZXJlLgorICAgICAgICAgICAgICAgICAgICAgICAgcHJldiA9IC0xOworCisgICAgICAgICAgICAgICAgICAgIC8vIENoZWNrIGZvciB0aGUgZW5kIG9mIHRoZSBkZWZsYXRlIHN0cmVhbS4KKyAgICAgICAgICAgICAgICAgICAgaWYgKChzdHJtLmRhdGFfdHlwZSAmIDB4YzApID09IDB4YzApIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRoYXQgZW5kcyB0aGUgZGVmbGF0ZSBzdHJlYW0gb24gdGhlIGlucHV0IHNpZGUsIHRoZQorICAgICAgICAgICAgICAgICAgICAgICAgLy8gcGFkIGJpdHMgd2VyZSBkaXNjYXJkZWQsIGFuZCBhbnkgcmVtYWluaW5nIGJpdHMgZnJvbQorICAgICAgICAgICAgICAgICAgICAgICAgLy8gdGhlIGxhc3QgYmxvY2sgaW4gdGhlIHN0cmVhbSBhcmUgc2F2ZWQgaW4gdGhlIGJpdAorICAgICAgICAgICAgICAgICAgICAgICAgLy8gYnVmZmVyIHRvIHByZXBlbmQgdG8gdGhlIG5leHQgc3RyZWFtLiBQcm9jZXNzIHRoZQorICAgICAgICAgICAgICAgICAgICAgICAgLy8gZ3ppcCB0cmFpbGVyIG5leHQuCisgICAgICAgICAgICAgICAgICAgICAgICB0YWlsID0gMDsKKyAgICAgICAgICAgICAgICAgICAgICAgIHBhcnQgPSAwOworICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGUgPSBUQUlMOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgICAgICAgICAgY2FzZSBUQUlMOgorICAgICAgICAgICAgICAgICAgICAvLyBBY2N1bXVsYXRlIGF2YWlsYWJsZSB0cmFpbGVyIGJ5dGVzIHRvIHVwZGF0ZSB0aGUgdG90YWwKKyAgICAgICAgICAgICAgICAgICAgLy8gQ1JDIGFuZCB0aGUgdG90YWwgdW5jb21wcmVzc2VkIGxlbmd0aC4KKyAgICAgICAgICAgICAgICAgICAgZG8geworICAgICAgICAgICAgICAgICAgICAgICAgcGFydCA9IChwYXJ0ID4+IDgpICsgKCh1bnNpZ25lZCBsb25nKSgqcHV0KyspIDw8IDI0KTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHRhaWwrKzsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0YWlsID09IDQpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBVcGRhdGUgdGhlIHRvdGFsIENSQy4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB6X29mZl90IGxlbjIgPSBtZW1iOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChsZW4yIDwgMCB8fCAodW5zaWduZWQgbG9uZyBsb25nKWxlbjIgIT0gbWVtYikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQllFKCJvdmVyZmxvdyBlcnJvciIpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNyYyA9IGNyYyA/IGNyYzMyX2NvbWJpbmUoY3JjLCBwYXJ0LCBsZW4yKSA6IHBhcnQ7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFydCA9IDA7CisgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIGlmICh0YWlsID09IDgpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBVcGRhdGUgdGhlIHRvdGFsIHVuY29tcHJlc3NlZCBsZW5ndGguIChJdCdzIG9rCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gaWYgdGhpcyBzdW0gaXMgZG9uZSBtb2R1bG8gMl4zMi4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVuICs9IHBhcnQ7CisKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBBdCB0aGUgZW5kIG9mIGEgbWVtYmVyLiBTZXQgdXAgdG8gaW5mbGF0ZSBhbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGltbWVkaWF0ZWx5IGZvbGxvd2luZyBnemlwIG1lbWJlci4gKElmIHdlIG1hZGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBpdCB0aGlzIGZhciwgdGhlbiB0aGUgdHJhaWxlciB3YXMgdmFsaWQuKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpbmZsYXRlUmVzZXQoJnN0cm0pICE9IFpfT0spCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJZRSgiaW50ZXJuYWwgZXJyb3IiKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZSA9IEJFVFdFRU47CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIH0gd2hpbGUgKHB1dCA8IHN0cm0ubmV4dF9pbik7CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICAvLyBQcm9jZXNzIHRoZSBpbnB1dCBidWZmZXIgdW50aWwgY29tcGxldGVseSBjb25zdW1lZC4KKyAgICAgICAgfSB3aGlsZSAoc3RybS5hdmFpbF9pbiA+IDApOworCisgICAgICAgIC8vIFByb2Nlc3MgaW5wdXQgdW50aWwgZW5kIG9mIGZpbGUsIGludmFsaWQgaW5wdXQsIG9yIGkvbyBlcnJvci4KKyAgICB9IHdoaWxlIChtb3JlKTsKKworICAgIC8vIERvbmUgd2l0aCB0aGUgaW5mbGF0ZSBlbmdpbmUuCisgICAgaW5mbGF0ZUVuZCgmc3RybSk7CisKKyAgICAvLyBWZXJpZnkgdGhlIHZhbGlkaXR5IG9mIHRoZSBpbnB1dC4KKyAgICBpZiAoc3RhdGUgIT0gQkVUV0VFTikKKyAgICAgICAgQllFKCJpbnB1dCBpbnZhbGlkOiBpbmNvbXBsZXRlIGd6aXAgc3RyZWFtIik7CisKKyAgICAvLyBXcml0ZSB0aGUgcmVtYWluaW5nIGRlZmxhdGUgc3RyZWFtIGJpdHMsIGZvbGxvd2VkIGJ5IGEgdGVybWluYXRpbmcKKyAgICAvLyBkZWZsYXRlIGZpeGVkIGJsb2NrLgorICAgIGJ1ZiArPSAodW5zaWduZWQgbG9uZykzIDw8IG51bTsKKyAgICBwdXRjKGJ1Ziwgb3V0KTsKKyAgICBwdXRjKGJ1ZiA+PiA4LCBvdXQpOworICAgIGlmIChudW0gPiA2KQorICAgICAgICBwdXRjKDAsIG91dCk7CisKKyAgICAvLyBXcml0ZSB0aGUgZ3ppcCB0cmFpbGVyLCB3aGljaCBpcyB0aGUgQ1JDIGFuZCB0aGUgdW5jb21wcmVzc2VkIGxlbmd0aAorICAgIC8vIG1vZHVsbyAyXjMyLCBib3RoIGluIGxpdHRsZS1lbmRpYW4gb3JkZXIuCisgICAgcHV0YyhjcmMsIG91dCk7CisgICAgcHV0YyhjcmMgPj4gOCwgb3V0KTsKKyAgICBwdXRjKGNyYyA+PiAxNiwgb3V0KTsKKyAgICBwdXRjKGNyYyA+PiAyNCwgb3V0KTsKKyAgICBwdXRjKGxlbiwgb3V0KTsKKyAgICBwdXRjKGxlbiA+PiA4LCBvdXQpOworICAgIHB1dGMobGVuID4+IDE2LCBvdXQpOworICAgIHB1dGMobGVuID4+IDI0LCBvdXQpOworICAgIGZmbHVzaChvdXQpOworCisgICAgLy8gQ2hlY2sgZm9yIGFueSBpL28gZXJyb3JzLgorICAgIGlmIChmZXJyb3IoaW4pIHx8IGZlcnJvcihvdXQpKQorICAgICAgICBCWUUoImkvbyBlcnJvcjogJXMiLCBzdHJlcnJvcihlcnJubykpOworCisgICAgLy8gQWxsIGdvb2QhCisgICAgKmVyciA9IE5VTEw7CisgICAgcmV0dXJuIDA7Cit9CisKKy8vIE5vcm1hbGl6ZSB0aGUgZ3ppcCBzdHJlYW0gb24gc3RkaW4sIHdyaXRpbmcgdGhlIHJlc3VsdCB0byBzdGRvdXQuCitpbnQgbWFpbih2b2lkKSB7CisgICAgLy8gQXZvaWQgZW5kLW9mLWxpbmUgY29udmVyc2lvbnMgb24gZXZpbCBvcGVyYXRpbmcgc3lzdGVtcy4KKyAgICBTRVRfQklOQVJZX01PREUoc3RkaW4pOworICAgIFNFVF9CSU5BUllfTU9ERShzdGRvdXQpOworCisgICAgLy8gTm9ybWFsaXplIGZyb20gc3RkaW4gdG8gc3Rkb3V0LCByZXR1cm5pbmcgMSBvbiBlcnJvciwgMCBpZiBvay4KKyAgICBjaGFyICplcnI7CisgICAgaW50IHJldCA9IGd6aXBfbm9ybWFsaXplKHN0ZGluLCBzdGRvdXQsICZlcnIpOworICAgIGlmIChyZXQpCisgICAgICAgIGZwcmludGYoc3RkZXJyLCAiZ3pub3JtIGVycm9yOiAlc1xuIiwgZXJyKTsKKyAgICBmcmVlKGVycik7CisgICAgcmV0dXJuIHJldDsKK30KZGlmZiAtLWdpdCBhL3NyYy9leGFtcGxlcy96cmFuLmMgYi9zcmMvZXhhbXBsZXMvenJhbi5jCmluZGV4IDI3OGY5YWQuLjg3OWM0N2MgMTAwNjQ0Ci0tLSBhL3NyYy9leGFtcGxlcy96cmFuLmMKKysrIGIvc3JjL2V4YW1wbGVzL3pyYW4uYwpAQCAtMSwxMSArMSwxMyBAQAogLyogenJhbi5jIC0tIGV4YW1wbGUgb2YgemxpYi9nemlwIHN0cmVhbSBpbmRleGluZyBhbmQgcmFuZG9tIGFjY2VzcwotICogQ29weXJpZ2h0IChDKSAyMDA1LCAyMDEyIE1hcmsgQWRsZXIKKyAqIENvcHlyaWdodCAoQykgMjAwNSwgMjAxMiwgMjAxOCBNYXJrIEFkbGVyCiAgKiBGb3IgY29uZGl0aW9ucyBvZiBkaXN0cmlidXRpb24gYW5kIHVzZSwgc2VlIGNvcHlyaWdodCBub3RpY2UgaW4gemxpYi5oCi0gICBWZXJzaW9uIDEuMSAgMjkgU2VwIDIwMTIgIE1hcmsgQWRsZXIgKi8KKyAqIFZlcnNpb24gMS4yICAxNCBPY3QgMjAxOCAgTWFyayBBZGxlciAqLwogCiAvKiBWZXJzaW9uIEhpc3Rvcnk6CiAgMS4wICAyOSBNYXkgMjAwNSAgRmlyc3QgdmVyc2lvbgogIDEuMSAgMjkgU2VwIDIwMTIgIEZpeCBtZW1vcnkgcmVhbGxvY2F0aW9uIGVycm9yCisgMS4yICAxNCBPY3QgMjAxOCAgSGFuZGxlIGd6aXAgc3RyZWFtcyB3aXRoIG11bHRpcGxlIG1lbWJlcnMKKyAgICAgICAgICAgICAgICAgICBBZGQgYSBoZWFkZXIgZmlsZSB0byBmYWNpbGl0YXRlIHVzYWdlIGluIGFwcGxpY2F0aW9ucwogICovCiAKIC8qIElsbHVzdHJhdGUgdGhlIHVzZSBvZiBaX0JMT0NLLCBpbmZsYXRlUHJpbWUoKSwgYW5kIGluZmxhdGVTZXREaWN0aW9uYXJ5KCkKQEAgLTE5LDE1ICsyMSwxNSBAQAogICAgQW4gYWNjZXNzIHBvaW50IGNhbiBiZSBjcmVhdGVkIGF0IHRoZSBzdGFydCBvZiBhbnkgZGVmbGF0ZSBibG9jaywgYnkgc2F2aW5nCiAgICB0aGUgc3RhcnRpbmcgZmlsZSBvZmZzZXQgYW5kIGJpdCBvZiB0aGF0IGJsb2NrLCBhbmQgdGhlIDMySyBieXRlcyBvZgogICAgdW5jb21wcmVzc2VkIGRhdGEgdGhhdCBwcmVjZWRlIHRoYXQgYmxvY2suICBBbHNvIHRoZSB1bmNvbXByZXNzZWQgb2Zmc2V0IG9mCi0gICB0aGF0IGJsb2NrIGlzIHNhdmVkIHRvIHByb3ZpZGUgYSByZWZlcmVjZSBmb3IgbG9jYXRpbmcgYSBkZXNpcmVkIHN0YXJ0aW5nCi0gICBwb2ludCBpbiB0aGUgdW5jb21wcmVzc2VkIHN0cmVhbS4gIGJ1aWxkX2luZGV4KCkgd29ya3MgYnkgZGVjb21wcmVzc2luZyB0aGUKLSAgIGlucHV0IHpsaWIgb3IgZ3ppcCBzdHJlYW0gYSBibG9jayBhdCBhIHRpbWUsIGFuZCBhdCB0aGUgZW5kIG9mIGVhY2ggYmxvY2sKLSAgIGRlY2lkaW5nIGlmIGVub3VnaCB1bmNvbXByZXNzZWQgZGF0YSBoYXMgZ29uZSBieSB0byBqdXN0aWZ5IHRoZSBjcmVhdGlvbiBvZgotICAgYSBuZXcgYWNjZXNzIHBvaW50LiAgSWYgc28sIHRoYXQgcG9pbnQgaXMgc2F2ZWQgaW4gYSBkYXRhIHN0cnVjdHVyZSB0aGF0Ci0gICBncm93cyBhcyBuZWVkZWQgdG8gYWNjb21tb2RhdGUgdGhlIHBvaW50cy4KKyAgIHRoYXQgYmxvY2sgaXMgc2F2ZWQgdG8gcHJvdmlkZSBhIHJlZmVyZW5jZSBmb3IgbG9jYXRpbmcgYSBkZXNpcmVkIHN0YXJ0aW5nCisgICBwb2ludCBpbiB0aGUgdW5jb21wcmVzc2VkIHN0cmVhbS4gIGRlZmxhdGVfaW5kZXhfYnVpbGQoKSB3b3JrcyBieQorICAgZGVjb21wcmVzc2luZyB0aGUgaW5wdXQgemxpYiBvciBnemlwIHN0cmVhbSBhIGJsb2NrIGF0IGEgdGltZSwgYW5kIGF0IHRoZQorICAgZW5kIG9mIGVhY2ggYmxvY2sgZGVjaWRpbmcgaWYgZW5vdWdoIHVuY29tcHJlc3NlZCBkYXRhIGhhcyBnb25lIGJ5IHRvCisgICBqdXN0aWZ5IHRoZSBjcmVhdGlvbiBvZiBhIG5ldyBhY2Nlc3MgcG9pbnQuICBJZiBzbywgdGhhdCBwb2ludCBpcyBzYXZlZCBpbiBhCisgICBkYXRhIHN0cnVjdHVyZSB0aGF0IGdyb3dzIGFzIG5lZWRlZCB0byBhY2NvbW1vZGF0ZSB0aGUgcG9pbnRzLgogCiAgICBUbyB1c2UgdGhlIGluZGV4LCBhbiBvZmZzZXQgaW4gdGhlIHVuY29tcHJlc3NlZCBkYXRhIGlzIHByb3ZpZGVkLCBmb3Igd2hpY2gKLSAgIHRoZSBsYXRlc3QgYWNjZWVzIHBvaW50IGF0IG9yIHByZWNlZGluZyB0aGF0IG9mZnNldCBpcyBsb2NhdGVkIGluIHRoZSBpbmRleC4KKyAgIHRoZSBsYXRlc3QgYWNjZXNzIHBvaW50IGF0IG9yIHByZWNlZGluZyB0aGF0IG9mZnNldCBpcyBsb2NhdGVkIGluIHRoZSBpbmRleC4KICAgIFRoZSBpbnB1dCBmaWxlIGlzIHBvc2l0aW9uZWQgdG8gdGhlIHNwZWNpZmllZCBsb2NhdGlvbiBpbiB0aGUgaW5kZXgsIGFuZCBpZgogICAgbmVjZXNzYXJ5IHRoZSBmaXJzdCBmZXcgYml0cyBvZiB0aGUgY29tcHJlc3NlZCBkYXRhIGlzIHJlYWQgZnJvbSB0aGUgZmlsZS4KICAgIGluZmxhdGUgaXMgaW5pdGlhbGl6ZWQgd2l0aCB0aG9zZSBiaXRzIGFuZCB0aGUgMzJLIG9mIHVuY29tcHJlc3NlZCBkYXRhLCBhbmQKQEAgLTQzLDcgKzQ1LDggQEAKICAgIFRoZXJlIGlzIHNvbWUgZmFpciBiaXQgb2Ygb3ZlcmhlYWQgdG8gc3RhcnRpbmcgaW5mbGF0aW9uIGZvciB0aGUgcmFuZG9tCiAgICBhY2Nlc3MsIG1haW5seSBjb3B5aW5nIHRoZSAzMksgYnl0ZSBkaWN0aW9uYXJ5LiAgU28gaWYgc21hbGwgcGllY2VzIG9mIHRoZQogICAgZmlsZSBhcmUgYmVpbmcgYWNjZXNzZWQsIGl0IHdvdWxkIG1ha2Ugc2Vuc2UgdG8gaW1wbGVtZW50IGEgY2FjaGUgdG8gaG9sZAotICAgc29tZSBsb29rYWhlYWQgYW5kIGF2b2lkIG1hbnkgY2FsbHMgdG8gZXh0cmFjdCgpIGZvciBzbWFsbCBsZW5ndGhzLgorICAgc29tZSBsb29rYWhlYWQgYW5kIGF2b2lkIG1hbnkgY2FsbHMgdG8gZGVmbGF0ZV9pbmRleF9leHRyYWN0KCkgZm9yIHNtYWxsCisgICBsZW5ndGhzLgogCiAgICBBbm90aGVyIHdheSB0byBidWlsZCBhbiBpbmRleCB3b3VsZCBiZSB0byB1c2UgaW5mbGF0ZUNvcHkoKS4gIFRoYXQgd291bGQKICAgIG5vdCBiZSBjb25zdHJhaW5lZCB0byBoYXZlIGFjY2VzcyBwb2ludHMgYXQgYmxvY2sgYm91bmRhcmllcywgYnV0IHJlcXVpcmVzCkBAIC01NiwzMCArNTksMjEgQEAKICNpbmNsdWRlIDxzdGRsaWIuaD4KICNpbmNsdWRlIDxzdHJpbmcuaD4KICNpbmNsdWRlICJ6bGliLmgiCisjaW5jbHVkZSAienJhbi5oIgogCi0jZGVmaW5lIGxvY2FsIHN0YXRpYwotCi0jZGVmaW5lIFNQQU4gMTA0ODU3NkwgICAgICAgLyogZGVzaXJlZCBkaXN0YW5jZSBiZXR3ZWVuIGFjY2VzcyBwb2ludHMgKi8KICNkZWZpbmUgV0lOU0laRSAzMjc2OFUgICAgICAvKiBzbGlkaW5nIHdpbmRvdyBzaXplICovCiAjZGVmaW5lIENIVU5LIDE2Mzg0ICAgICAgICAgLyogZmlsZSBpbnB1dCBidWZmZXIgc2l6ZSAqLwogCi0vKiBhY2Nlc3MgcG9pbnQgZW50cnkgKi8KKy8qIEFjY2VzcyBwb2ludCBlbnRyeS4gKi8KIHN0cnVjdCBwb2ludCB7CiAgICAgb2ZmX3Qgb3V0OyAgICAgICAgICAvKiBjb3JyZXNwb25kaW5nIG9mZnNldCBpbiB1bmNvbXByZXNzZWQgZGF0YSAqLwogICAgIG9mZl90IGluOyAgICAgICAgICAgLyogb2Zmc2V0IGluIGlucHV0IGZpbGUgb2YgZmlyc3QgZnVsbCBieXRlICovCi0gICAgaW50IGJpdHM7ICAgICAgICAgICAvKiBudW1iZXIgb2YgYml0cyAoMS03KSBmcm9tIGJ5dGUgYXQgaW4gLSAxLCBvciAwICovCisgICAgaW50IGJpdHM7ICAgICAgICAgICAvKiBudW1iZXIgb2YgYml0cyAoMS03KSBmcm9tIGJ5dGUgYXQgaW4tMSwgb3IgMCAqLwogICAgIHVuc2lnbmVkIGNoYXIgd2luZG93W1dJTlNJWkVdOyAgLyogcHJlY2VkaW5nIDMySyBvZiB1bmNvbXByZXNzZWQgZGF0YSAqLwogfTsKIAotLyogYWNjZXNzIHBvaW50IGxpc3QgKi8KLXN0cnVjdCBhY2Nlc3MgewotICAgIGludCBoYXZlOyAgICAgICAgICAgLyogbnVtYmVyIG9mIGxpc3QgZW50cmllcyBmaWxsZWQgaW4gKi8KLSAgICBpbnQgc2l6ZTsgICAgICAgICAgIC8qIG51bWJlciBvZiBsaXN0IGVudHJpZXMgYWxsb2NhdGVkICovCi0gICAgc3RydWN0IHBvaW50ICpsaXN0OyAvKiBhbGxvY2F0ZWQgbGlzdCAqLwotfTsKLQotLyogRGVhbGxvY2F0ZSBhbiBpbmRleCBidWlsdCBieSBidWlsZF9pbmRleCgpICovCi1sb2NhbCB2b2lkIGZyZWVfaW5kZXgoc3RydWN0IGFjY2VzcyAqaW5kZXgpCisvKiBTZWUgY29tbWVudHMgaW4genJhbi5oLiAqLwordm9pZCBkZWZsYXRlX2luZGV4X2ZyZWUoc3RydWN0IGRlZmxhdGVfaW5kZXggKmluZGV4KQogewogICAgIGlmIChpbmRleCAhPSBOVUxMKSB7CiAgICAgICAgIGZyZWUoaW5kZXgtPmxpc3QpOwpAQCAtODcsMzkgKzgxLDQzIEBACiAgICAgfQogfQogCi0vKiBBZGQgYW4gZW50cnkgdG8gdGhlIGFjY2VzcyBwb2ludCBsaXN0LiAgSWYgb3V0IG9mIG1lbW9yeSwgZGVhbGxvY2F0ZSB0aGUKLSAgIGV4aXN0aW5nIGxpc3QgYW5kIHJldHVybiBOVUxMLiAqLwotbG9jYWwgc3RydWN0IGFjY2VzcyAqYWRkcG9pbnQoc3RydWN0IGFjY2VzcyAqaW5kZXgsIGludCBiaXRzLAotICAgIG9mZl90IGluLCBvZmZfdCBvdXQsIHVuc2lnbmVkIGxlZnQsIHVuc2lnbmVkIGNoYXIgKndpbmRvdykKKy8qIEFkZCBhbiBlbnRyeSB0byB0aGUgYWNjZXNzIHBvaW50IGxpc3QuIElmIG91dCBvZiBtZW1vcnksIGRlYWxsb2NhdGUgdGhlCisgICBleGlzdGluZyBsaXN0IGFuZCByZXR1cm4gTlVMTC4gaW5kZXgtPmd6aXAgaXMgdGhlIGFsbG9jYXRlZCBzaXplIG9mIHRoZQorICAgaW5kZXggaW4gcG9pbnQgZW50cmllcywgdW50aWwgaXQgaXMgdGltZSBmb3IgZGVmbGF0ZV9pbmRleF9idWlsZCgpIHRvCisgICByZXR1cm4sIGF0IHdoaWNoIHBvaW50IGd6aXAgaXMgc2V0IHRvIGluZGljYXRlIGEgZ3ppcCBmaWxlIG9yIG5vdC4KKyAqLworc3RhdGljIHN0cnVjdCBkZWZsYXRlX2luZGV4ICphZGRwb2ludChzdHJ1Y3QgZGVmbGF0ZV9pbmRleCAqaW5kZXgsIGludCBiaXRzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZmZfdCBpbiwgb2ZmX3Qgb3V0LCB1bnNpZ25lZCBsZWZ0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyICp3aW5kb3cpCiB7CiAgICAgc3RydWN0IHBvaW50ICpuZXh0OwogCiAgICAgLyogaWYgbGlzdCBpcyBlbXB0eSwgY3JlYXRlIGl0IChzdGFydCB3aXRoIGVpZ2h0IHBvaW50cykgKi8KICAgICBpZiAoaW5kZXggPT0gTlVMTCkgewotICAgICAgICBpbmRleCA9IG1hbGxvYyhzaXplb2Yoc3RydWN0IGFjY2VzcykpOworICAgICAgICBpbmRleCA9IG1hbGxvYyhzaXplb2Yoc3RydWN0IGRlZmxhdGVfaW5kZXgpKTsKICAgICAgICAgaWYgKGluZGV4ID09IE5VTEwpIHJldHVybiBOVUxMOwogICAgICAgICBpbmRleC0+bGlzdCA9IG1hbGxvYyhzaXplb2Yoc3RydWN0IHBvaW50KSA8PCAzKTsKICAgICAgICAgaWYgKGluZGV4LT5saXN0ID09IE5VTEwpIHsKICAgICAgICAgICAgIGZyZWUoaW5kZXgpOwogICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgICAgIH0KLSAgICAgICAgaW5kZXgtPnNpemUgPSA4OworICAgICAgICBpbmRleC0+Z3ppcCA9IDg7CiAgICAgICAgIGluZGV4LT5oYXZlID0gMDsKICAgICB9CiAKICAgICAvKiBpZiBsaXN0IGlzIGZ1bGwsIG1ha2UgaXQgYmlnZ2VyICovCi0gICAgZWxzZSBpZiAoaW5kZXgtPmhhdmUgPT0gaW5kZXgtPnNpemUpIHsKLSAgICAgICAgaW5kZXgtPnNpemUgPDw9IDE7Ci0gICAgICAgIG5leHQgPSByZWFsbG9jKGluZGV4LT5saXN0LCBzaXplb2Yoc3RydWN0IHBvaW50KSAqIGluZGV4LT5zaXplKTsKKyAgICBlbHNlIGlmIChpbmRleC0+aGF2ZSA9PSBpbmRleC0+Z3ppcCkgeworICAgICAgICBpbmRleC0+Z3ppcCA8PD0gMTsKKyAgICAgICAgbmV4dCA9IHJlYWxsb2MoaW5kZXgtPmxpc3QsIHNpemVvZihzdHJ1Y3QgcG9pbnQpICogaW5kZXgtPmd6aXApOwogICAgICAgICBpZiAobmV4dCA9PSBOVUxMKSB7Ci0gICAgICAgICAgICBmcmVlX2luZGV4KGluZGV4KTsKKyAgICAgICAgICAgIGRlZmxhdGVfaW5kZXhfZnJlZShpbmRleCk7CiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICAgICAgfQogICAgICAgICBpbmRleC0+bGlzdCA9IG5leHQ7CiAgICAgfQogCiAgICAgLyogZmlsbCBpbiBlbnRyeSBhbmQgaW5jcmVtZW50IGhvdyBtYW55IHdlIGhhdmUgKi8KLSAgICBuZXh0ID0gaW5kZXgtPmxpc3QgKyBpbmRleC0+aGF2ZTsKKyAgICBuZXh0ID0gKHN0cnVjdCBwb2ludCAqKShpbmRleC0+bGlzdCkgKyBpbmRleC0+aGF2ZTsKICAgICBuZXh0LT5iaXRzID0gYml0czsKICAgICBuZXh0LT5pbiA9IGluOwogICAgIG5leHQtPm91dCA9IG91dDsKQEAgLTEzMywyMCArMTMxLDE0IEBACiAgICAgcmV0dXJuIGluZGV4OwogfQogCi0vKiBNYWtlIG9uZSBlbnRpcmUgcGFzcyB0aHJvdWdoIHRoZSBjb21wcmVzc2VkIHN0cmVhbSBhbmQgYnVpbGQgYW4gaW5kZXgsIHdpdGgKLSAgIGFjY2VzcyBwb2ludHMgYWJvdXQgZXZlcnkgc3BhbiBieXRlcyBvZiB1bmNvbXByZXNzZWQgb3V0cHV0IC0tIHNwYW4gaXMKLSAgIGNob3NlbiB0byBiYWxhbmNlIHRoZSBzcGVlZCBvZiByYW5kb20gYWNjZXNzIGFnYWluc3QgdGhlIG1lbW9yeSByZXF1aXJlbWVudHMKLSAgIG9mIHRoZSBsaXN0LCBhYm91dCAzMksgYnl0ZXMgcGVyIGFjY2VzcyBwb2ludC4gIE5vdGUgdGhhdCBkYXRhIGFmdGVyIHRoZSBlbmQKLSAgIG9mIHRoZSBmaXJzdCB6bGliIG9yIGd6aXAgc3RyZWFtIGluIHRoZSBmaWxlIGlzIGlnbm9yZWQuICBidWlsZF9pbmRleCgpCi0gICByZXR1cm5zIHRoZSBudW1iZXIgb2YgYWNjZXNzIHBvaW50cyBvbiBzdWNjZXNzICg+PSAxKSwgWl9NRU1fRVJST1IgZm9yIG91dAotICAgb2YgbWVtb3J5LCBaX0RBVEFfRVJST1IgZm9yIGFuIGVycm9yIGluIHRoZSBpbnB1dCBmaWxlLCBvciBaX0VSUk5PIGZvciBhCi0gICBmaWxlIHJlYWQgZXJyb3IuICBPbiBzdWNjZXNzLCAqYnVpbHQgcG9pbnRzIHRvIHRoZSByZXN1bHRpbmcgaW5kZXguICovCi1sb2NhbCBpbnQgYnVpbGRfaW5kZXgoRklMRSAqaW4sIG9mZl90IHNwYW4sIHN0cnVjdCBhY2Nlc3MgKipidWlsdCkKKy8qIFNlZSBjb21tZW50cyBpbiB6cmFuLmguICovCitpbnQgZGVmbGF0ZV9pbmRleF9idWlsZChGSUxFICppbiwgb2ZmX3Qgc3Bhbiwgc3RydWN0IGRlZmxhdGVfaW5kZXggKipidWlsdCkKIHsKICAgICBpbnQgcmV0OworICAgIGludCBnemlwID0gMDsgICAgICAgICAgICAgICAvKiB0cnVlIGlmIHJlYWRpbmcgYSBnemlwIGZpbGUgKi8KICAgICBvZmZfdCB0b3RpbiwgdG90b3V0OyAgICAgICAgLyogb3VyIG93biB0b3RhbCBjb3VudGVycyB0byBhdm9pZCA0R0IgbGltaXQgKi8KICAgICBvZmZfdCBsYXN0OyAgICAgICAgICAgICAgICAgLyogdG90b3V0IHZhbHVlIG9mIGxhc3QgYWNjZXNzIHBvaW50ICovCi0gICAgc3RydWN0IGFjY2VzcyAqaW5kZXg7ICAgICAgIC8qIGFjY2VzcyBwb2ludHMgYmVpbmcgZ2VuZXJhdGVkICovCisgICAgc3RydWN0IGRlZmxhdGVfaW5kZXggKmluZGV4OyAgICAvKiBhY2Nlc3MgcG9pbnRzIGJlaW5nIGdlbmVyYXRlZCAqLwogICAgIHpfc3RyZWFtIHN0cm07CiAgICAgdW5zaWduZWQgY2hhciBpbnB1dFtDSFVOS107CiAgICAgdW5zaWduZWQgY2hhciB3aW5kb3dbV0lOU0laRV07CkBAIC0xNjMsNyArMTU1LDcgQEAKIAogICAgIC8qIGluZmxhdGUgdGhlIGlucHV0LCBtYWludGFpbiBhIHNsaWRpbmcgd2luZG93LCBhbmQgYnVpbGQgYW4gaW5kZXggLS0gdGhpcwogICAgICAgIGFsc28gdmFsaWRhdGVzIHRoZSBpbnRlZ3JpdHkgb2YgdGhlIGNvbXByZXNzZWQgZGF0YSB1c2luZyB0aGUgY2hlY2sKLSAgICAgICBpbmZvcm1hdGlvbiBhdCB0aGUgZW5kIG9mIHRoZSBnemlwIG9yIHpsaWIgc3RyZWFtICovCisgICAgICAgaW5mb3JtYXRpb24gaW4gdGhlIGd6aXAgb3IgemxpYiBzdHJlYW0gKi8KICAgICB0b3RpbiA9IHRvdG91dCA9IGxhc3QgPSAwOwogICAgIGluZGV4ID0gTlVMTDsgICAgICAgICAgICAgICAvKiB3aWxsIGJlIGFsbG9jYXRlZCBieSBmaXJzdCBhZGRwb2ludCgpICovCiAgICAgc3RybS5hdmFpbF9vdXQgPSAwOwpAQCAtMTcyLDE0ICsxNjQsMTkgQEAKICAgICAgICAgc3RybS5hdmFpbF9pbiA9IGZyZWFkKGlucHV0LCAxLCBDSFVOSywgaW4pOwogICAgICAgICBpZiAoZmVycm9yKGluKSkgewogICAgICAgICAgICAgcmV0ID0gWl9FUlJOTzsKLSAgICAgICAgICAgIGdvdG8gYnVpbGRfaW5kZXhfZXJyb3I7CisgICAgICAgICAgICBnb3RvIGRlZmxhdGVfaW5kZXhfYnVpbGRfZXJyb3I7CiAgICAgICAgIH0KICAgICAgICAgaWYgKHN0cm0uYXZhaWxfaW4gPT0gMCkgewogICAgICAgICAgICAgcmV0ID0gWl9EQVRBX0VSUk9SOwotICAgICAgICAgICAgZ290byBidWlsZF9pbmRleF9lcnJvcjsKKyAgICAgICAgICAgIGdvdG8gZGVmbGF0ZV9pbmRleF9idWlsZF9lcnJvcjsKICAgICAgICAgfQogICAgICAgICBzdHJtLm5leHRfaW4gPSBpbnB1dDsKIAorICAgICAgICAvKiBjaGVjayBmb3IgYSBnemlwIHN0cmVhbSAqLworICAgICAgICBpZiAodG90aW4gPT0gMCAmJiBzdHJtLmF2YWlsX2luID49IDMgJiYKKyAgICAgICAgICAgIGlucHV0WzBdID09IDMxICYmIGlucHV0WzFdID09IDEzOSAmJiBpbnB1dFsyXSA9PSA4KQorICAgICAgICAgICAgZ3ppcCA9IDE7CisKICAgICAgICAgLyogcHJvY2VzcyBhbGwgb2YgdGhhdCwgb3IgdW50aWwgZW5kIG9mIHN0cmVhbSAqLwogICAgICAgICBkbyB7CiAgICAgICAgICAgICAvKiByZXNldCBzbGlkaW5nIHdpbmRvdyBpZiBuZWNlc3NhcnkgKi8KQEAgLTE5OCw5ICsxOTUsMTcgQEAKICAgICAgICAgICAgIGlmIChyZXQgPT0gWl9ORUVEX0RJQ1QpCiAgICAgICAgICAgICAgICAgcmV0ID0gWl9EQVRBX0VSUk9SOwogICAgICAgICAgICAgaWYgKHJldCA9PSBaX01FTV9FUlJPUiB8fCByZXQgPT0gWl9EQVRBX0VSUk9SKQotICAgICAgICAgICAgICAgIGdvdG8gYnVpbGRfaW5kZXhfZXJyb3I7Ci0gICAgICAgICAgICBpZiAocmV0ID09IFpfU1RSRUFNX0VORCkKKyAgICAgICAgICAgICAgICBnb3RvIGRlZmxhdGVfaW5kZXhfYnVpbGRfZXJyb3I7CisgICAgICAgICAgICBpZiAocmV0ID09IFpfU1RSRUFNX0VORCkgeworICAgICAgICAgICAgICAgIGlmIChnemlwICYmCisgICAgICAgICAgICAgICAgICAgIChzdHJtLmF2YWlsX2luIHx8IHVuZ2V0YyhnZXRjKGluKSwgaW4pICE9IEVPRikpIHsKKyAgICAgICAgICAgICAgICAgICAgcmV0ID0gaW5mbGF0ZVJlc2V0KCZzdHJtKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHJldCAhPSBaX09LKQorICAgICAgICAgICAgICAgICAgICAgICAgZ290byBkZWZsYXRlX2luZGV4X2J1aWxkX2Vycm9yOworICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIC8qIGlmIGF0IGVuZCBvZiBibG9jaywgY29uc2lkZXIgYWRkaW5nIGFuIGluZGV4IGVudHJ5IChub3RlIHRoYXQgaWYKICAgICAgICAgICAgICAgIGRhdGFfdHlwZSBpbmRpY2F0ZXMgYW4gZW5kLW9mLWJsb2NrLCB0aGVuIGFsbCBvZiB0aGUKQEAgLTIxNyw3ICsyMjIsNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG90b3V0LCBzdHJtLmF2YWlsX291dCwgd2luZG93KTsKICAgICAgICAgICAgICAgICBpZiAoaW5kZXggPT0gTlVMTCkgewogICAgICAgICAgICAgICAgICAgICByZXQgPSBaX01FTV9FUlJPUjsKLSAgICAgICAgICAgICAgICAgICAgZ290byBidWlsZF9pbmRleF9lcnJvcjsKKyAgICAgICAgICAgICAgICAgICAgZ290byBkZWZsYXRlX2luZGV4X2J1aWxkX2Vycm9yOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICBsYXN0ID0gdG90b3V0OwogICAgICAgICAgICAgfQpAQCAtMjI3LDI3ICsyMzIsMjEgQEAKICAgICAvKiBjbGVhbiB1cCBhbmQgcmV0dXJuIGluZGV4IChyZWxlYXNlIHVudXNlZCBlbnRyaWVzIGluIGxpc3QpICovCiAgICAgKHZvaWQpaW5mbGF0ZUVuZCgmc3RybSk7CiAgICAgaW5kZXgtPmxpc3QgPSByZWFsbG9jKGluZGV4LT5saXN0LCBzaXplb2Yoc3RydWN0IHBvaW50KSAqIGluZGV4LT5oYXZlKTsKLSAgICBpbmRleC0+c2l6ZSA9IGluZGV4LT5oYXZlOworICAgIGluZGV4LT5nemlwID0gZ3ppcDsKKyAgICBpbmRleC0+bGVuZ3RoID0gdG90b3V0OwogICAgICpidWlsdCA9IGluZGV4OwotICAgIHJldHVybiBpbmRleC0+c2l6ZTsKKyAgICByZXR1cm4gaW5kZXgtPmhhdmU7CiAKICAgICAvKiByZXR1cm4gZXJyb3IgKi8KLSAgYnVpbGRfaW5kZXhfZXJyb3I6CisgIGRlZmxhdGVfaW5kZXhfYnVpbGRfZXJyb3I6CiAgICAgKHZvaWQpaW5mbGF0ZUVuZCgmc3RybSk7Ci0gICAgaWYgKGluZGV4ICE9IE5VTEwpCi0gICAgICAgIGZyZWVfaW5kZXgoaW5kZXgpOworICAgIGRlZmxhdGVfaW5kZXhfZnJlZShpbmRleCk7CiAgICAgcmV0dXJuIHJldDsKIH0KIAotLyogVXNlIHRoZSBpbmRleCB0byByZWFkIGxlbiBieXRlcyBmcm9tIG9mZnNldCBpbnRvIGJ1ZiwgcmV0dXJuIGJ5dGVzIHJlYWQgb3IKLSAgIG5lZ2F0aXZlIGZvciBlcnJvciAoWl9EQVRBX0VSUk9SIG9yIFpfTUVNX0VSUk9SKS4gIElmIGRhdGEgaXMgcmVxdWVzdGVkIHBhc3QKLSAgIHRoZSBlbmQgb2YgdGhlIHVuY29tcHJlc3NlZCBkYXRhLCB0aGVuIGV4dHJhY3QoKSB3aWxsIHJldHVybiBhIHZhbHVlIGxlc3MKLSAgIHRoYW4gbGVuLCBpbmRpY2F0aW5nIGhvdyBtdWNoIGFzIGFjdHVhbGx5IHJlYWQgaW50byBidWYuICBUaGlzIGZ1bmN0aW9uCi0gICBzaG91bGQgbm90IHJldHVybiBhIGRhdGEgZXJyb3IgdW5sZXNzIHRoZSBmaWxlIHdhcyBtb2RpZmllZCBzaW5jZSB0aGUgaW5kZXgKLSAgIHdhcyBnZW5lcmF0ZWQuICBleHRyYWN0KCkgbWF5IGFsc28gcmV0dXJuIFpfRVJSTk8gaWYgdGhlcmUgaXMgYW4gZXJyb3Igb24KLSAgIHJlYWRpbmcgb3Igc2Vla2luZyB0aGUgaW5wdXQgZmlsZS4gKi8KLWxvY2FsIGludCBleHRyYWN0KEZJTEUgKmluLCBzdHJ1Y3QgYWNjZXNzICppbmRleCwgb2ZmX3Qgb2Zmc2V0LAotICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciAqYnVmLCBpbnQgbGVuKQorLyogU2VlIGNvbW1lbnRzIGluIHpyYW4uaC4gKi8KK2ludCBkZWZsYXRlX2luZGV4X2V4dHJhY3QoRklMRSAqaW4sIHN0cnVjdCBkZWZsYXRlX2luZGV4ICppbmRleCwgb2ZmX3Qgb2Zmc2V0LAorICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyICpidWYsIGludCBsZW4pCiB7CiAgICAgaW50IHJldCwgc2tpcDsKICAgICB6X3N0cmVhbSBzdHJtOwpAQCAtMjc2LDEyICsyNzUsMTIgQEAKICAgICAgICAgcmV0dXJuIHJldDsKICAgICByZXQgPSBmc2Vla28oaW4sIGhlcmUtPmluIC0gKGhlcmUtPmJpdHMgPyAxIDogMCksIFNFRUtfU0VUKTsKICAgICBpZiAocmV0ID09IC0xKQotICAgICAgICBnb3RvIGV4dHJhY3RfcmV0OworICAgICAgICBnb3RvIGRlZmxhdGVfaW5kZXhfZXh0cmFjdF9yZXQ7CiAgICAgaWYgKGhlcmUtPmJpdHMpIHsKICAgICAgICAgcmV0ID0gZ2V0Yyhpbik7CiAgICAgICAgIGlmIChyZXQgPT0gLTEpIHsKICAgICAgICAgICAgIHJldCA9IGZlcnJvcihpbikgPyBaX0VSUk5PIDogWl9EQVRBX0VSUk9SOwotICAgICAgICAgICAgZ290byBleHRyYWN0X3JldDsKKyAgICAgICAgICAgIGdvdG8gZGVmbGF0ZV9pbmRleF9leHRyYWN0X3JldDsKICAgICAgICAgfQogICAgICAgICAodm9pZClpbmZsYXRlUHJpbWUoJnN0cm0sIGhlcmUtPmJpdHMsIHJldCA+PiAoOCAtIGhlcmUtPmJpdHMpKTsKICAgICB9CkBAIC0yOTMsMjEgKzI5MiwyMSBAQAogICAgIHNraXAgPSAxOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB3aGlsZSBza2lwcGluZyB0byBvZmZzZXQgKi8KICAgICBkbyB7CiAgICAgICAgIC8qIGRlZmluZSB3aGVyZSB0byBwdXQgdW5jb21wcmVzc2VkIGRhdGEsIGFuZCBob3cgbXVjaCAqLwotICAgICAgICBpZiAob2Zmc2V0ID09IDAgJiYgc2tpcCkgeyAgICAgICAgICAvKiBhdCBvZmZzZXQgbm93ICovCi0gICAgICAgICAgICBzdHJtLmF2YWlsX291dCA9IGxlbjsKLSAgICAgICAgICAgIHN0cm0ubmV4dF9vdXQgPSBidWY7Ci0gICAgICAgICAgICBza2lwID0gMDsgICAgICAgICAgICAgICAgICAgICAgIC8qIG9ubHkgZG8gdGhpcyBvbmNlICovCi0gICAgICAgIH0KICAgICAgICAgaWYgKG9mZnNldCA+IFdJTlNJWkUpIHsgICAgICAgICAgICAgLyogc2tpcCBXSU5TSVpFIGJ5dGVzICovCiAgICAgICAgICAgICBzdHJtLmF2YWlsX291dCA9IFdJTlNJWkU7CiAgICAgICAgICAgICBzdHJtLm5leHRfb3V0ID0gZGlzY2FyZDsKICAgICAgICAgICAgIG9mZnNldCAtPSBXSU5TSVpFOwogICAgICAgICB9Ci0gICAgICAgIGVsc2UgaWYgKG9mZnNldCAhPSAwKSB7ICAgICAgICAgICAgIC8qIGxhc3Qgc2tpcCAqLworICAgICAgICBlbHNlIGlmIChvZmZzZXQgPiAwKSB7ICAgICAgICAgICAgICAvKiBsYXN0IHNraXAgKi8KICAgICAgICAgICAgIHN0cm0uYXZhaWxfb3V0ID0gKHVuc2lnbmVkKW9mZnNldDsKICAgICAgICAgICAgIHN0cm0ubmV4dF9vdXQgPSBkaXNjYXJkOwogICAgICAgICAgICAgb2Zmc2V0ID0gMDsKICAgICAgICAgfQorICAgICAgICBlbHNlIGlmIChza2lwKSB7ICAgICAgICAgICAgICAgICAgICAvKiBhdCBvZmZzZXQgbm93ICovCisgICAgICAgICAgICBzdHJtLmF2YWlsX291dCA9IGxlbjsKKyAgICAgICAgICAgIHN0cm0ubmV4dF9vdXQgPSBidWY7CisgICAgICAgICAgICBza2lwID0gMDsgICAgICAgICAgICAgICAgICAgICAgIC8qIG9ubHkgZG8gdGhpcyBvbmNlICovCisgICAgICAgIH0KIAogICAgICAgICAvKiB1bmNvbXByZXNzIHVudGlsIGF2YWlsX291dCBmaWxsZWQsIG9yIGVuZCBvZiBzdHJlYW0gKi8KICAgICAgICAgZG8gewpAQCAtMzE1LDExICszMTQsMTEgQEAKICAgICAgICAgICAgICAgICBzdHJtLmF2YWlsX2luID0gZnJlYWQoaW5wdXQsIDEsIENIVU5LLCBpbik7CiAgICAgICAgICAgICAgICAgaWYgKGZlcnJvcihpbikpIHsKICAgICAgICAgICAgICAgICAgICAgcmV0ID0gWl9FUlJOTzsKLSAgICAgICAgICAgICAgICAgICAgZ290byBleHRyYWN0X3JldDsKKyAgICAgICAgICAgICAgICAgICAgZ290byBkZWZsYXRlX2luZGV4X2V4dHJhY3RfcmV0OwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICBpZiAoc3RybS5hdmFpbF9pbiA9PSAwKSB7CiAgICAgICAgICAgICAgICAgICAgIHJldCA9IFpfREFUQV9FUlJPUjsKLSAgICAgICAgICAgICAgICAgICAgZ290byBleHRyYWN0X3JldDsKKyAgICAgICAgICAgICAgICAgICAgZ290byBkZWZsYXRlX2luZGV4X2V4dHJhY3RfcmV0OwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICBzdHJtLm5leHRfaW4gPSBpbnB1dDsKICAgICAgICAgICAgIH0KQEAgLTMyNyw0MSArMzI2LDk5IEBACiAgICAgICAgICAgICBpZiAocmV0ID09IFpfTkVFRF9ESUNUKQogICAgICAgICAgICAgICAgIHJldCA9IFpfREFUQV9FUlJPUjsKICAgICAgICAgICAgIGlmIChyZXQgPT0gWl9NRU1fRVJST1IgfHwgcmV0ID09IFpfREFUQV9FUlJPUikKLSAgICAgICAgICAgICAgICBnb3RvIGV4dHJhY3RfcmV0OwotICAgICAgICAgICAgaWYgKHJldCA9PSBaX1NUUkVBTV9FTkQpCi0gICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgZ290byBkZWZsYXRlX2luZGV4X2V4dHJhY3RfcmV0OworICAgICAgICAgICAgaWYgKHJldCA9PSBaX1NUUkVBTV9FTkQpIHsKKyAgICAgICAgICAgICAgICAvKiB0aGUgcmF3IGRlZmxhdGUgc3RyZWFtIGhhcyBlbmRlZCAqLworICAgICAgICAgICAgICAgIGlmIChpbmRleC0+Z3ppcCA9PSAwKQorICAgICAgICAgICAgICAgICAgICAvKiB0aGlzIGlzIGEgemxpYiBzdHJlYW0gdGhhdCBoYXMgZW5kZWQgLS0gZG9uZSAqLworICAgICAgICAgICAgICAgICAgICBicmVhazsKKworICAgICAgICAgICAgICAgIC8qIG5lYXIgdGhlIGVuZCBvZiBhIGd6aXAgbWVtYmVyLCB3aGljaCBtaWdodCBiZSBmb2xsb3dlZCBieQorICAgICAgICAgICAgICAgICAgIGFub3RoZXIgZ3ppcCBtZW1iZXIgLS0gc2tpcCB0aGUgZ3ppcCB0cmFpbGVyIGFuZCBzZWUgaWYKKyAgICAgICAgICAgICAgICAgICB0aGVyZSBpcyBtb3JlIGlucHV0IGFmdGVyIGl0ICovCisgICAgICAgICAgICAgICAgaWYgKHN0cm0uYXZhaWxfaW4gPCA4KSB7CisgICAgICAgICAgICAgICAgICAgIGZzZWVrbyhpbiwgOCAtIHN0cm0uYXZhaWxfaW4sIFNFRUtfQ1VSKTsKKyAgICAgICAgICAgICAgICAgICAgc3RybS5hdmFpbF9pbiA9IDA7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGVsc2UgeworICAgICAgICAgICAgICAgICAgICBzdHJtLmF2YWlsX2luIC09IDg7CisgICAgICAgICAgICAgICAgICAgIHN0cm0ubmV4dF9pbiArPSA4OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBpZiAoc3RybS5hdmFpbF9pbiA9PSAwICYmIHVuZ2V0YyhnZXRjKGluKSwgaW4pID09IEVPRikKKyAgICAgICAgICAgICAgICAgICAgLyogdGhlIGlucHV0IGVuZGVkIGFmdGVyIHRoZSBnemlwIHRyYWlsZXIgLS0gZG9uZSAqLworICAgICAgICAgICAgICAgICAgICBicmVhazsKKworICAgICAgICAgICAgICAgIC8qIHRoZXJlIGlzIG1vcmUgaW5wdXQsIHNvIGFub3RoZXIgZ3ppcCBtZW1iZXIgc2hvdWxkIGZvbGxvdyAtLQorICAgICAgICAgICAgICAgICAgIHZhbGlkYXRlIGFuZCBza2lwIHRoZSBnemlwIGhlYWRlciAqLworICAgICAgICAgICAgICAgIHJldCA9IGluZmxhdGVSZXNldDIoJnN0cm0sIDMxKTsKKyAgICAgICAgICAgICAgICBpZiAocmV0ICE9IFpfT0spCisgICAgICAgICAgICAgICAgICAgIGdvdG8gZGVmbGF0ZV9pbmRleF9leHRyYWN0X3JldDsKKyAgICAgICAgICAgICAgICBkbyB7CisgICAgICAgICAgICAgICAgICAgIGlmIChzdHJtLmF2YWlsX2luID09IDApIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHN0cm0uYXZhaWxfaW4gPSBmcmVhZChpbnB1dCwgMSwgQ0hVTkssIGluKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChmZXJyb3IoaW4pKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0ID0gWl9FUlJOTzsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGRlZmxhdGVfaW5kZXhfZXh0cmFjdF9yZXQ7CisgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3RybS5hdmFpbF9pbiA9PSAwKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0ID0gWl9EQVRBX0VSUk9SOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZGVmbGF0ZV9pbmRleF9leHRyYWN0X3JldDsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgICAgIHN0cm0ubmV4dF9pbiA9IGlucHV0OworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIHJldCA9IGluZmxhdGUoJnN0cm0sIFpfQkxPQ0spOworICAgICAgICAgICAgICAgICAgICBpZiAocmV0ID09IFpfTUVNX0VSUk9SIHx8IHJldCA9PSBaX0RBVEFfRVJST1IpCisgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGRlZmxhdGVfaW5kZXhfZXh0cmFjdF9yZXQ7CisgICAgICAgICAgICAgICAgfSB3aGlsZSAoKHN0cm0uZGF0YV90eXBlICYgMTI4KSA9PSAwKTsKKworICAgICAgICAgICAgICAgIC8qIHNldCB1cCB0byBjb250aW51ZSBkZWNvbXByZXNzaW9uIG9mIHRoZSByYXcgZGVmbGF0ZSBzdHJlYW0KKyAgICAgICAgICAgICAgICAgICB0aGF0IGZvbGxvd3MgdGhlIGd6aXAgaGVhZGVyICovCisgICAgICAgICAgICAgICAgcmV0ID0gaW5mbGF0ZVJlc2V0Migmc3RybSwgLTE1KTsKKyAgICAgICAgICAgICAgICBpZiAocmV0ICE9IFpfT0spCisgICAgICAgICAgICAgICAgICAgIGdvdG8gZGVmbGF0ZV9pbmRleF9leHRyYWN0X3JldDsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgLyogY29udGludWUgdG8gcHJvY2VzcyB0aGUgYXZhaWxhYmxlIGlucHV0IGJlZm9yZSByZWFkaW5nIG1vcmUgKi8KICAgICAgICAgfSB3aGlsZSAoc3RybS5hdmFpbF9vdXQgIT0gMCk7CiAKLSAgICAgICAgLyogaWYgcmVhY2ggZW5kIG9mIHN0cmVhbSwgdGhlbiBkb24ndCBrZWVwIHRyeWluZyB0byBnZXQgbW9yZSAqLwogICAgICAgICBpZiAocmV0ID09IFpfU1RSRUFNX0VORCkKKyAgICAgICAgICAgIC8qIHJlYWNoZWQgdGhlIGVuZCBvZiB0aGUgY29tcHJlc3NlZCBkYXRhIC0tIHJldHVybiB0aGUgZGF0YSB0aGF0CisgICAgICAgICAgICAgICB3YXMgYXZhaWxhYmxlLCBwb3NzaWJseSBsZXNzIHRoYW4gcmVxdWVzdGVkICovCiAgICAgICAgICAgICBicmVhazsKIAotICAgICAgICAvKiBkbyB1bnRpbCBvZmZzZXQgcmVhY2hlZCBhbmQgcmVxdWVzdGVkIGRhdGEgcmVhZCwgb3Igc3RyZWFtIGVuZHMgKi8KKyAgICAgICAgLyogZG8gdW50aWwgb2Zmc2V0IHJlYWNoZWQgYW5kIHJlcXVlc3RlZCBkYXRhIHJlYWQgKi8KICAgICB9IHdoaWxlIChza2lwKTsKIAotICAgIC8qIGNvbXB1dGUgbnVtYmVyIG9mIHVuY29tcHJlc3NlZCBieXRlcyByZWFkIGFmdGVyIG9mZnNldCAqLworICAgIC8qIGNvbXB1dGUgdGhlIG51bWJlciBvZiB1bmNvbXByZXNzZWQgYnl0ZXMgcmVhZCBhZnRlciB0aGUgb2Zmc2V0ICovCiAgICAgcmV0ID0gc2tpcCA/IDAgOiBsZW4gLSBzdHJtLmF2YWlsX291dDsKIAotICAgIC8qIGNsZWFuIHVwIGFuZCByZXR1cm4gYnl0ZXMgcmVhZCBvciBlcnJvciAqLwotICBleHRyYWN0X3JldDoKKyAgICAvKiBjbGVhbiB1cCBhbmQgcmV0dXJuIHRoZSBieXRlcyByZWFkLCBvciB0aGUgbmVnYXRpdmUgZXJyb3IgKi8KKyAgZGVmbGF0ZV9pbmRleF9leHRyYWN0X3JldDoKICAgICAodm9pZClpbmZsYXRlRW5kKCZzdHJtKTsKICAgICByZXR1cm4gcmV0OwogfQogCi0vKiBEZW1vbnN0cmF0ZSB0aGUgdXNlIG9mIGJ1aWxkX2luZGV4KCkgYW5kIGV4dHJhY3QoKSBieSBwcm9jZXNzaW5nIHRoZSBmaWxlCi0gICBwcm92aWRlZCBvbiB0aGUgY29tbWFuZCBsaW5lLCBhbmQgdGhlIGV4dHJhY3RpbmcgMTZLIGZyb20gYWJvdXQgMi8zcmRzIG9mCi0gICB0aGUgd2F5IHRocm91Z2ggdGhlIHVuY29tcHJlc3NlZCBvdXRwdXQsIGFuZCB3cml0aW5nIHRoYXQgdG8gc3Rkb3V0LiAqLworI2lmZGVmIFRFU1QKKworI2RlZmluZSBTUEFOIDEwNDg1NzZMICAgICAgIC8qIGRlc2lyZWQgZGlzdGFuY2UgYmV0d2VlbiBhY2Nlc3MgcG9pbnRzICovCisjZGVmaW5lIExFTiAxNjM4NCAgICAgICAgICAgLyogbnVtYmVyIG9mIGJ5dGVzIHRvIGV4dHJhY3QgKi8KKworLyogRGVtb25zdHJhdGUgdGhlIHVzZSBvZiBkZWZsYXRlX2luZGV4X2J1aWxkKCkgYW5kIGRlZmxhdGVfaW5kZXhfZXh0cmFjdCgpIGJ5CisgICBwcm9jZXNzaW5nIHRoZSBmaWxlIHByb3ZpZGVkIG9uIHRoZSBjb21tYW5kIGxpbmUsIGFuZCBleHRyYWN0aW5nIExFTiBieXRlcworICAgZnJvbSAyLzNyZHMgb2YgdGhlIHdheSB0aHJvdWdoIHRoZSB1bmNvbXByZXNzZWQgb3V0cHV0LCB3cml0aW5nIHRoYXQgdG8KKyAgIHN0ZG91dC4gQW4gb2Zmc2V0IGNhbiBiZSBwcm92aWRlZCBhcyB0aGUgc2Vjb25kIGFyZ3VtZW50LCBpbiB3aGljaCBjYXNlIHRoZQorICAgZGF0YSBpcyBleHRyYWN0ZWQgZnJvbSB0aGVyZSBpbnN0ZWFkLiAqLwogaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogewogICAgIGludCBsZW47Ci0gICAgb2ZmX3Qgb2Zmc2V0OworICAgIG9mZl90IG9mZnNldCA9IC0xOwogICAgIEZJTEUgKmluOwotICAgIHN0cnVjdCBhY2Nlc3MgKmluZGV4ID0gTlVMTDsKLSAgICB1bnNpZ25lZCBjaGFyIGJ1ZltDSFVOS107CisgICAgc3RydWN0IGRlZmxhdGVfaW5kZXggKmluZGV4ID0gTlVMTDsKKyAgICB1bnNpZ25lZCBjaGFyIGJ1ZltMRU5dOwogCiAgICAgLyogb3BlbiBpbnB1dCBmaWxlICovCi0gICAgaWYgKGFyZ2MgIT0gMikgewotICAgICAgICBmcHJpbnRmKHN0ZGVyciwgInVzYWdlOiB6cmFuIGZpbGUuZ3pcbiIpOworICAgIGlmIChhcmdjIDwgMiB8fCBhcmdjID4gMykgeworICAgICAgICBmcHJpbnRmKHN0ZGVyciwgInVzYWdlOiB6cmFuIGZpbGUuZ3ogW29mZnNldF1cbiIpOwogICAgICAgICByZXR1cm4gMTsKICAgICB9CiAgICAgaW4gPSBmb3Blbihhcmd2WzFdLCAicmIiKTsKQEAgLTM3MCw4ICs0MjcsMTggQEAKICAgICAgICAgcmV0dXJuIDE7CiAgICAgfQogCisgICAgLyogZ2V0IG9wdGlvbmFsIG9mZnNldCAqLworICAgIGlmIChhcmdjID09IDMpIHsKKyAgICAgICAgY2hhciAqZW5kOworICAgICAgICBvZmZzZXQgPSBzdHJ0b2xsKGFyZ3ZbMl0sICZlbmQsIDEwKTsKKyAgICAgICAgaWYgKCplbmQgfHwgb2Zmc2V0IDwgMCkgeworICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICJ6cmFuOiAlcyBpcyBub3QgYSB2YWxpZCBvZmZzZXRcbiIsIGFyZ3ZbMl0pOworICAgICAgICAgICAgcmV0dXJuIDE7CisgICAgICAgIH0KKyAgICB9CisKICAgICAvKiBidWlsZCBpbmRleCAqLwotICAgIGxlbiA9IGJ1aWxkX2luZGV4KGluLCBTUEFOLCAmaW5kZXgpOworICAgIGxlbiA9IGRlZmxhdGVfaW5kZXhfYnVpbGQoaW4sIFNQQU4sICZpbmRleCk7CiAgICAgaWYgKGxlbiA8IDApIHsKICAgICAgICAgZmNsb3NlKGluKTsKICAgICAgICAgc3dpdGNoIChsZW4pIHsKQEAgLTM5Miw4ICs0NTksOSBAQAogICAgIGZwcmludGYoc3RkZXJyLCAienJhbjogYnVpbHQgaW5kZXggd2l0aCAlZCBhY2Nlc3MgcG9pbnRzXG4iLCBsZW4pOwogCiAgICAgLyogdXNlIGluZGV4IGJ5IHJlYWRpbmcgc29tZSBieXRlcyBmcm9tIGFuIGFyYml0cmFyeSBvZmZzZXQgKi8KLSAgICBvZmZzZXQgPSAoaW5kZXgtPmxpc3RbaW5kZXgtPmhhdmUgLSAxXS5vdXQgPDwgMSkgLyAzOwotICAgIGxlbiA9IGV4dHJhY3QoaW4sIGluZGV4LCBvZmZzZXQsIGJ1ZiwgQ0hVTkspOworICAgIGlmIChvZmZzZXQgPT0gLTEpCisgICAgICAgIG9mZnNldCA9IChpbmRleC0+bGVuZ3RoIDw8IDEpIC8gMzsKKyAgICBsZW4gPSBkZWZsYXRlX2luZGV4X2V4dHJhY3QoaW4sIGluZGV4LCBvZmZzZXQsIGJ1ZiwgTEVOKTsKICAgICBpZiAobGVuIDwgMCkKICAgICAgICAgZnByaW50ZihzdGRlcnIsICJ6cmFuOiBleHRyYWN0aW9uIGZhaWxlZDogJXMgZXJyb3JcbiIsCiAgICAgICAgICAgICAgICAgbGVuID09IFpfTUVNX0VSUk9SID8gIm91dCBvZiBtZW1vcnkiIDogImlucHV0IGNvcnJ1cHRlZCIpOwpAQCAtNDAzLDcgKzQ3MSw5IEBACiAgICAgfQogCiAgICAgLyogY2xlYW4gdXAgYW5kIGV4aXQgKi8KLSAgICBmcmVlX2luZGV4KGluZGV4KTsKKyAgICBkZWZsYXRlX2luZGV4X2ZyZWUoaW5kZXgpOwogICAgIGZjbG9zZShpbik7CiAgICAgcmV0dXJuIDA7CiB9CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvc3JjL2V4YW1wbGVzL3pyYW4uaCBiL3NyYy9leGFtcGxlcy96cmFuLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjMxNDEyNQotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9leGFtcGxlcy96cmFuLmgKQEAgLTAsMCArMSw0MCBAQAorLyogenJhbi5oIC0tIGV4YW1wbGUgb2YgemxpYi9nemlwIHN0cmVhbSBpbmRleGluZyBhbmQgcmFuZG9tIGFjY2VzcworICogQ29weXJpZ2h0IChDKSAyMDA1LCAyMDEyLCAyMDE4IE1hcmsgQWRsZXIKKyAqIEZvciBjb25kaXRpb25zIG9mIGRpc3RyaWJ1dGlvbiBhbmQgdXNlLCBzZWUgY29weXJpZ2h0IG5vdGljZSBpbiB6bGliLmgKKyAqIFZlcnNpb24gMS4yICAxNCBPY3QgMjAxOCAgTWFyayBBZGxlciAqLworCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlICJ6bGliLmgiCisKKy8qIEFjY2VzcyBwb2ludCBsaXN0LiAqLworc3RydWN0IGRlZmxhdGVfaW5kZXggeworICAgIGludCBoYXZlOyAgICAgICAgICAgLyogbnVtYmVyIG9mIGxpc3QgZW50cmllcyAqLworICAgIGludCBnemlwOyAgICAgICAgICAgLyogMSBpZiB0aGUgaW5kZXggaXMgb2YgYSBnemlwIGZpbGUsIDAgaWYgaXQgaXMgb2YgYQorICAgICAgICAgICAgICAgICAgICAgICAgICAgemxpYiBzdHJlYW0gKi8KKyAgICBvZmZfdCBsZW5ndGg7ICAgICAgIC8qIHRvdGFsIGxlbmd0aCBvZiB1bmNvbXByZXNzZWQgZGF0YSAqLworICAgIHZvaWQgKmxpc3Q7ICAgICAgICAgLyogYWxsb2NhdGVkIGxpc3Qgb2YgZW50cmllcyAqLworfTsKKworLyogTWFrZSBvbmUgZW50aXJlIHBhc3MgdGhyb3VnaCBhIHpsaWIgb3IgZ3ppcCBjb21wcmVzc2VkIHN0cmVhbSBhbmQgYnVpbGQgYW4KKyAgIGluZGV4LCB3aXRoIGFjY2VzcyBwb2ludHMgYWJvdXQgZXZlcnkgc3BhbiBieXRlcyBvZiB1bmNvbXByZXNzZWQgb3V0cHV0LgorICAgZ3ppcCBmaWxlcyB3aXRoIG11bHRpcGxlIG1lbWJlcnMgYXJlIGluZGV4ZWQgaW4gdGhlaXIgZW50aXJldHkuIHNwYW4gc2hvdWxkCisgICBiZSBjaG9zZW4gdG8gYmFsYW5jZSB0aGUgc3BlZWQgb2YgcmFuZG9tIGFjY2VzcyBhZ2FpbnN0IHRoZSBtZW1vcnkKKyAgIHJlcXVpcmVtZW50cyBvZiB0aGUgbGlzdCwgYWJvdXQgMzJLIGJ5dGVzIHBlciBhY2Nlc3MgcG9pbnQuIFRoZSByZXR1cm4gdmFsdWUKKyAgIGlzIHRoZSBudW1iZXIgb2YgYWNjZXNzIHBvaW50cyBvbiBzdWNjZXNzICg+PSAxKSwgWl9NRU1fRVJST1IgZm9yIG91dCBvZgorICAgbWVtb3J5LCBaX0RBVEFfRVJST1IgZm9yIGFuIGVycm9yIGluIHRoZSBpbnB1dCBmaWxlLCBvciBaX0VSUk5PIGZvciBhIGZpbGUKKyAgIHJlYWQgZXJyb3IuIE9uIHN1Y2Nlc3MsICpidWlsdCBwb2ludHMgdG8gdGhlIHJlc3VsdGluZyBpbmRleC4gKi8KK2ludCBkZWZsYXRlX2luZGV4X2J1aWxkKEZJTEUgKmluLCBvZmZfdCBzcGFuLCBzdHJ1Y3QgZGVmbGF0ZV9pbmRleCAqKmJ1aWx0KTsKKworLyogRGVhbGxvY2F0ZSBhbiBpbmRleCBidWlsdCBieSBkZWZsYXRlX2luZGV4X2J1aWxkKCkgKi8KK3ZvaWQgZGVmbGF0ZV9pbmRleF9mcmVlKHN0cnVjdCBkZWZsYXRlX2luZGV4ICppbmRleCk7CisKKy8qIFVzZSB0aGUgaW5kZXggdG8gcmVhZCBsZW4gYnl0ZXMgZnJvbSBvZmZzZXQgaW50byBidWYuIFJldHVybiBieXRlcyByZWFkIG9yCisgICBuZWdhdGl2ZSBmb3IgZXJyb3IgKFpfREFUQV9FUlJPUiBvciBaX01FTV9FUlJPUikuIElmIGRhdGEgaXMgcmVxdWVzdGVkIHBhc3QKKyAgIHRoZSBlbmQgb2YgdGhlIHVuY29tcHJlc3NlZCBkYXRhLCB0aGVuIGRlZmxhdGVfaW5kZXhfZXh0cmFjdCgpIHdpbGwgcmV0dXJuIGEKKyAgIHZhbHVlIGxlc3MgdGhhbiBsZW4sIGluZGljYXRpbmcgaG93IG11Y2ggd2FzIGFjdHVhbGx5IHJlYWQgaW50byBidWYuIFRoaXMKKyAgIGZ1bmN0aW9uIHNob3VsZCBub3QgcmV0dXJuIGEgZGF0YSBlcnJvciB1bmxlc3MgdGhlIGZpbGUgd2FzIG1vZGlmaWVkIHNpbmNlCisgICB0aGUgaW5kZXggd2FzIGdlbmVyYXRlZCwgc2luY2UgZGVmbGF0ZV9pbmRleF9idWlsZCgpIHZhbGlkYXRlZCBhbGwgb2YgdGhlCisgICBpbnB1dC4gZGVmbGF0ZV9pbmRleF9leHRyYWN0KCkgd2lsbCByZXR1cm4gWl9FUlJOTyBpZiB0aGVyZSBpcyBhbiBlcnJvciBvbgorICAgcmVhZGluZyBvciBzZWVraW5nIHRoZSBpbnB1dCBmaWxlLiAqLworaW50IGRlZmxhdGVfaW5kZXhfZXh0cmFjdChGSUxFICppbiwgc3RydWN0IGRlZmxhdGVfaW5kZXggKmluZGV4LCBvZmZfdCBvZmZzZXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIgKmJ1ZiwgaW50IGxlbik7CmRpZmYgLS1naXQgYS9zcmMvZ3pndXRzLmggYi9zcmMvZ3pndXRzLmgKaW5kZXggZDg3NjU5ZC4uNTdmYWYzNyAxMDA2NDQKLS0tIGEvc3JjL2d6Z3V0cy5oCisrKyBiL3NyYy9nemd1dHMuaApAQCAtMSw1ICsxLDUgQEAKIC8qIGd6Z3V0cy5oIC0tIHpsaWIgaW50ZXJuYWwgaGVhZGVyIGRlZmluaXRpb25zIGZvciBneiogb3BlcmF0aW9ucwotICogQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1LCAyMDEwLCAyMDExLCAyMDEyLCAyMDEzIE1hcmsgQWRsZXIKKyAqIENvcHlyaWdodCAoQykgMjAwNC0yMDE5IE1hcmsgQWRsZXIKICAqIEZvciBjb25kaXRpb25zIG9mIGRpc3RyaWJ1dGlvbiBhbmQgdXNlLCBzZWUgY29weXJpZ2h0IG5vdGljZSBpbiB6bGliLmgKICAqLwogCkBAIC0yNSw2ICsyNSwxMCBAQAogIyAgaW5jbHVkZSA8c3RkbGliLmg+CiAjICBpbmNsdWRlIDxsaW1pdHMuaD4KICNlbmRpZgorCisjaWZuZGVmIF9QT1NJWF9TT1VSQ0UKKyMgIGRlZmluZSBfUE9TSVhfU09VUkNFCisjZW5kaWYKICNpbmNsdWRlIDxmY250bC5oPgogCiAjaWZkZWYgX1dJTjMyCkBAIC0zNSw2ICszOSwxMCBAQAogIyAgaW5jbHVkZSA8aW8uaD4KICNlbmRpZgogCisjaWYgZGVmaW5lZChfV0lOMzIpCisjICBkZWZpbmUgV0lERUNIQVIKKyNlbmRpZgorCiAjaWZkZWYgV0lOQVBJX0ZBTUlMWQogIyAgZGVmaW5lIG9wZW4gX29wZW4KICMgIGRlZmluZSByZWFkIF9yZWFkCkBAIC05NSwxOCArMTAzLDE5IEBACiAjICBlbmRpZgogI2VuZGlmCiAKLS8qIHVubGlrZSBzbnByaW50ZiAod2hpY2ggaXMgcmVxdWlyZWQgaW4gQzk5LCB5ZXQgc3RpbGwgbm90IHN1cHBvcnRlZCBieQotICAgTWljcm9zb2Z0IG1vcmUgdGhhbiBhIGRlY2FkZSBsYXRlciEpLCBfc25wcmludGYgZG9lcyBub3QgZ3VhcmFudGVlIG51bGwKLSAgIHRlcm1pbmF0aW9uIG9mIHRoZSByZXN1bHQgLS0gaG93ZXZlciB0aGlzIGlzIG9ubHkgdXNlZCBpbiBnemxpYi5jIHdoZXJlCisvKiB1bmxpa2Ugc25wcmludGYgKHdoaWNoIGlzIHJlcXVpcmVkIGluIEM5OSksIF9zbnByaW50ZiBkb2VzIG5vdCBndWFyYW50ZWUKKyAgIG51bGwgdGVybWluYXRpb24gb2YgdGhlIHJlc3VsdCAtLSBob3dldmVyIHRoaXMgaXMgb25seSB1c2VkIGluIGd6bGliLmMgd2hlcmUKICAgIHRoZSByZXN1bHQgaXMgYXNzdXJlZCB0byBmaXQgaW4gdGhlIHNwYWNlIHByb3ZpZGVkICovCi0jaWZkZWYgX01TQ19WRVIKKyNpZiBkZWZpbmVkKF9NU0NfVkVSKSAmJiBfTVNDX1ZFUiA8IDE5MDAKICMgIGRlZmluZSBzbnByaW50ZiBfc25wcmludGYKICNlbmRpZgogCiAjaWZuZGVmIGxvY2FsCiAjICBkZWZpbmUgbG9jYWwgc3RhdGljCiAjZW5kaWYKLS8qIGNvbXBpbGUgd2l0aCAtRGxvY2FsIGlmIHlvdXIgZGVidWdnZXIgY2FuJ3QgZmluZCBzdGF0aWMgc3ltYm9scyAqLworLyogc2luY2UgInN0YXRpYyIgaXMgdXNlZCB0byBtZWFuIHR3byBjb21wbGV0ZWx5IGRpZmZlcmVudCB0aGluZ3MgaW4gQywgd2UKKyAgIGRlZmluZSAibG9jYWwiIGZvciB0aGUgbm9uLXN0YXRpYyBtZWFuaW5nIG9mICJzdGF0aWMiLCBmb3IgcmVhZGFiaWxpdHkKKyAgIChjb21waWxlIHdpdGggLURsb2NhbCBpZiB5b3VyIGRlYnVnZ2VyIGNhbid0IGZpbmQgc3RhdGljIHN5bWJvbHMpICovCiAKIC8qIGd6KiBmdW5jdGlvbnMgYWx3YXlzIHVzZSBsaWJyYXJ5IGFsbG9jYXRpb24gZnVuY3Rpb25zICovCiAjaWZuZGVmIFNUREMKQEAgLTE3MCw3ICsxNzksNyBAQAogICAgIGNoYXIgKnBhdGg7ICAgICAgICAgICAgIC8qIHBhdGggb3IgZmQgZm9yIGVycm9yIG1lc3NhZ2VzICovCiAgICAgdW5zaWduZWQgc2l6ZTsgICAgICAgICAgLyogYnVmZmVyIHNpemUsIHplcm8gaWYgbm90IGFsbG9jYXRlZCB5ZXQgKi8KICAgICB1bnNpZ25lZCB3YW50OyAgICAgICAgICAvKiByZXF1ZXN0ZWQgYnVmZmVyIHNpemUsIGRlZmF1bHQgaXMgR1pCVUZTSVpFICovCi0gICAgdW5zaWduZWQgY2hhciAqaW47ICAgICAgLyogaW5wdXQgYnVmZmVyICovCisgICAgdW5zaWduZWQgY2hhciAqaW47ICAgICAgLyogaW5wdXQgYnVmZmVyIChkb3VibGUtc2l6ZWQgd2hlbiB3cml0aW5nKSAqLwogICAgIHVuc2lnbmVkIGNoYXIgKm91dDsgICAgIC8qIG91dHB1dCBidWZmZXIgKGRvdWJsZS1zaXplZCB3aGVuIHJlYWRpbmcpICovCiAgICAgaW50IGRpcmVjdDsgICAgICAgICAgICAgLyogMCBpZiBwcm9jZXNzaW5nIGd6aXAsIDEgaWYgdHJhbnNwYXJlbnQgKi8KICAgICAgICAgLyoganVzdCBmb3IgcmVhZGluZyAqLwpAQCAtMTgxLDYgKzE5MCw3IEBACiAgICAgICAgIC8qIGp1c3QgZm9yIHdyaXRpbmcgKi8KICAgICBpbnQgbGV2ZWw7ICAgICAgICAgICAgICAvKiBjb21wcmVzc2lvbiBsZXZlbCAqLwogICAgIGludCBzdHJhdGVneTsgICAgICAgICAgIC8qIGNvbXByZXNzaW9uIHN0cmF0ZWd5ICovCisgICAgaW50IHJlc2V0OyAgICAgICAgICAgICAgLyogdHJ1ZSBpZiBhIHJlc2V0IGlzIHBlbmRpbmcgYWZ0ZXIgYSBaX0ZJTklTSCAqLwogICAgICAgICAvKiBzZWVrIHJlcXVlc3QgKi8KICAgICB6X29mZjY0X3Qgc2tpcDsgICAgICAgICAvKiBhbW91bnQgdG8gc2tpcCAoYWxyZWFkeSByZXdvdW5kIGlmIGJhY2t3YXJkcykgKi8KICAgICBpbnQgc2VlazsgICAgICAgICAgICAgICAvKiB0cnVlIGlmIHNlZWsgcmVxdWVzdCBwZW5kaW5nICovCmRpZmYgLS1naXQgYS9zcmMvZ3psaWIuYyBiL3NyYy9nemxpYi5jCmluZGV4IGZhZTIwMmUuLjU1ZGE0NmEgMTAwNjQ0Ci0tLSBhL3NyYy9nemxpYi5jCisrKyBiL3NyYy9nemxpYi5jCkBAIC0xLDUgKzEsNSBAQAogLyogZ3psaWIuYyAtLSB6bGliIGZ1bmN0aW9ucyBjb21tb24gdG8gcmVhZGluZyBhbmQgd3JpdGluZyBnemlwIGZpbGVzCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMTAsIDIwMTEsIDIwMTIsIDIwMTMgTWFyayBBZGxlcgorICogQ29weXJpZ2h0IChDKSAyMDA0LTIwMTkgTWFyayBBZGxlcgogICogRm9yIGNvbmRpdGlvbnMgb2YgZGlzdHJpYnV0aW9uIGFuZCB1c2UsIHNlZSBjb3B5cmlnaHQgbm90aWNlIGluIHpsaWIuaAogICovCiAKQEAgLTMwLDcgKzMwLDcgQEAKIAogICAgVGhlIGd6X3N0cndpbmVycm9yIGZ1bmN0aW9uIGRvZXMgbm90IGNoYW5nZSB0aGUgY3VycmVudCBzZXR0aW5nIG9mCiAgICBHZXRMYXN0RXJyb3IuICovCi1jaGFyIFpMSUJfSU5URVJOQUwgKmd6X3N0cndpbmVycm9yIChlcnJvcikKK2NoYXIgWkxJQl9JTlRFUk5BTCAqZ3pfc3Ryd2luZXJyb3IoZXJyb3IpCiAgICAgIERXT1JEIGVycm9yOwogewogICAgIHN0YXRpYyBjaGFyIGJ1ZlsxMDI0XTsKQEAgLTgxLDYgKzgxLDggQEAKICAgICAgICAgc3RhdGUtPnBhc3QgPSAwOyAgICAgICAgICAgIC8qIGhhdmUgbm90IHJlYWQgcGFzdCBlbmQgeWV0ICovCiAgICAgICAgIHN0YXRlLT5ob3cgPSBMT09LOyAgICAgICAgICAvKiBsb29rIGZvciBnemlwIGhlYWRlciAqLwogICAgIH0KKyAgICBlbHNlICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIGZvciB3cml0aW5nIC4uLiAqLworICAgICAgICBzdGF0ZS0+cmVzZXQgPSAwOyAgICAgICAgICAgLyogbm8gZGVmbGF0ZVJlc2V0IHBlbmRpbmcgKi8KICAgICBzdGF0ZS0+c2VlayA9IDA7ICAgICAgICAgICAgICAgIC8qIG5vIHNlZWsgcmVxdWVzdCBwZW5kaW5nICovCiAgICAgZ3pfZXJyb3Ioc3RhdGUsIFpfT0ssIE5VTEwpOyAgICAvKiBjbGVhciBlcnJvciAqLwogICAgIHN0YXRlLT54LnBvcyA9IDA7ICAgICAgICAgICAgICAgLyogbm8gdW5jb21wcmVzc2VkIGRhdGEgeWV0ICovCkBAIC05NCw3ICs5Niw3IEBACiAgICAgY29uc3QgY2hhciAqbW9kZTsKIHsKICAgICBnel9zdGF0ZXAgc3RhdGU7Ci0gICAgc2l6ZV90IGxlbjsKKyAgICB6X3NpemVfdCBsZW47CiAgICAgaW50IG9mbGFnOwogI2lmZGVmIE9fQ0xPRVhFQwogICAgIGludCBjbG9leGVjID0gMDsKQEAgLTE4OCwxMCArMTkwLDEwIEBACiAgICAgfQogCiAgICAgLyogc2F2ZSB0aGUgcGF0aCBuYW1lIGZvciBlcnJvciBtZXNzYWdlcyAqLwotI2lmZGVmIF9XSU4zMgorI2lmZGVmIFdJREVDSEFSCiAgICAgaWYgKGZkID09IC0yKSB7CiAgICAgICAgIGxlbiA9IHdjc3RvbWJzKE5VTEwsIHBhdGgsIDApOwotICAgICAgICBpZiAobGVuID09IChzaXplX3QpLTEpCisgICAgICAgIGlmIChsZW4gPT0gKHpfc2l6ZV90KS0xKQogICAgICAgICAgICAgbGVuID0gMDsKICAgICB9CiAgICAgZWxzZQpAQCAtMjAyLDcgKzIwNCw3IEBACiAgICAgICAgIGZyZWUoc3RhdGUpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9Ci0jaWZkZWYgX1dJTjMyCisjaWZkZWYgV0lERUNIQVIKICAgICBpZiAoZmQgPT0gLTIpCiAgICAgICAgIGlmIChsZW4pCiAgICAgICAgICAgICB3Y3N0b21icyhzdGF0ZS0+cGF0aCwgcGF0aCwgbGVuICsgMSk7CkBAIC0yMTEsNyArMjEzLDcgQEAKICAgICBlbHNlCiAjZW5kaWYKICNpZiAhZGVmaW5lZChOT19zbnByaW50ZikgJiYgIWRlZmluZWQoTk9fdnNucHJpbnRmKQotICAgICAgICBzbnByaW50ZihzdGF0ZS0+cGF0aCwgbGVuICsgMSwgIiVzIiwgKGNvbnN0IGNoYXIgKilwYXRoKTsKKyAgICAgICAgKHZvaWQpc25wcmludGYoc3RhdGUtPnBhdGgsIGxlbiArIDEsICIlcyIsIChjb25zdCBjaGFyICopcGF0aCk7CiAjZWxzZQogICAgICAgICBzdHJjcHkoc3RhdGUtPnBhdGgsIHBhdGgpOwogI2VuZGlmCkBAIC0yMzksNyArMjQxLDcgQEAKIAogICAgIC8qIG9wZW4gdGhlIGZpbGUgd2l0aCB0aGUgYXBwcm9wcmlhdGUgZmxhZ3MgKG9yIGp1c3QgdXNlIGZkKSAqLwogICAgIHN0YXRlLT5mZCA9IGZkID4gLTEgPyBmZCA6ICgKLSNpZmRlZiBfV0lOMzIKKyNpZmRlZiBXSURFQ0hBUgogICAgICAgICBmZCA9PSAtMiA/IF93b3BlbihwYXRoLCBvZmxhZywgMDY2NikgOgogI2VuZGlmCiAgICAgICAgIG9wZW4oKGNvbnN0IGNoYXIgKilwYXRoLCBvZmxhZywgMDY2NikpOwpAQCAtMjQ4LDggKzI1MCwxMCBAQAogICAgICAgICBmcmVlKHN0YXRlKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQotICAgIGlmIChzdGF0ZS0+bW9kZSA9PSBHWl9BUFBFTkQpCisgICAgaWYgKHN0YXRlLT5tb2RlID09IEdaX0FQUEVORCkgeworICAgICAgICBMU0VFSyhzdGF0ZS0+ZmQsIDAsIFNFRUtfRU5EKTsgIC8qIHNvIGd6b2Zmc2V0KCkgaXMgY29ycmVjdCAqLwogICAgICAgICBzdGF0ZS0+bW9kZSA9IEdaX1dSSVRFOyAgICAgICAgIC8qIHNpbXBsaWZ5IGxhdGVyIGNoZWNrcyAqLworICAgIH0KIAogICAgIC8qIHNhdmUgdGhlIGN1cnJlbnQgcG9zaXRpb24gZm9yIHJld2luZGluZyAob25seSBpZiByZWFkaW5nKSAqLwogICAgIGlmIChzdGF0ZS0+bW9kZSA9PSBHWl9SRUFEKSB7CkBAIC0yOTEsNyArMjk1LDcgQEAKICAgICBpZiAoZmQgPT0gLTEgfHwgKHBhdGggPSAoY2hhciAqKW1hbGxvYyg3ICsgMyAqIHNpemVvZihpbnQpKSkgPT0gTlVMTCkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAjaWYgIWRlZmluZWQoTk9fc25wcmludGYpICYmICFkZWZpbmVkKE5PX3ZzbnByaW50ZikKLSAgICBzbnByaW50ZihwYXRoLCA3ICsgMyAqIHNpemVvZihpbnQpLCAiPGZkOiVkPiIsIGZkKTsgLyogZm9yIGRlYnVnZ2luZyAqLworICAgICh2b2lkKXNucHJpbnRmKHBhdGgsIDcgKyAzICogc2l6ZW9mKGludCksICI8ZmQ6JWQ+IiwgZmQpOwogI2Vsc2UKICAgICBzcHJpbnRmKHBhdGgsICI8ZmQ6JWQ+IiwgZmQpOyAgIC8qIGZvciBkZWJ1Z2dpbmcgKi8KICNlbmRpZgpAQCAtMzAxLDcgKzMwNSw3IEBACiB9CiAKIC8qIC0tIHNlZSB6bGliLmggLS0gKi8KLSNpZmRlZiBfV0lOMzIKKyNpZmRlZiBXSURFQ0hBUgogZ3pGaWxlIFpFWFBPUlQgZ3pvcGVuX3cocGF0aCwgbW9kZSkKICAgICBjb25zdCB3Y2hhcl90ICpwYXRoOwogICAgIGNvbnN0IGNoYXIgKm1vZGU7CkBAIC0zMjksNiArMzMzLDggQEAKICAgICAgICAgcmV0dXJuIC0xOwogCiAgICAgLyogY2hlY2sgYW5kIHNldCByZXF1ZXN0ZWQgc2l6ZSAqLworICAgIGlmICgoc2l6ZSA8PCAxKSA8IHNpemUpCisgICAgICAgIHJldHVybiAtMTsgICAgICAgICAgICAgIC8qIG5lZWQgdG8gYmUgYWJsZSB0byBkb3VibGUgaXQgKi8KICAgICBpZiAoc2l6ZSA8IDIpCiAgICAgICAgIHNpemUgPSAyOyAgICAgICAgICAgICAgIC8qIG5lZWQgdHdvIGJ5dGVzIHRvIGNoZWNrIG1hZ2ljIGhlYWRlciAqLwogICAgIHN0YXRlLT53YW50ID0gc2l6ZTsKQEAgLTM5Myw3ICszOTksNyBAQAogICAgIC8qIGlmIHdpdGhpbiByYXcgYXJlYSB3aGlsZSByZWFkaW5nLCBqdXN0IGdvIHRoZXJlICovCiAgICAgaWYgKHN0YXRlLT5tb2RlID09IEdaX1JFQUQgJiYgc3RhdGUtPmhvdyA9PSBDT1BZICYmCiAgICAgICAgICAgICBzdGF0ZS0+eC5wb3MgKyBvZmZzZXQgPj0gMCkgewotICAgICAgICByZXQgPSBMU0VFSyhzdGF0ZS0+ZmQsIG9mZnNldCAtIHN0YXRlLT54LmhhdmUsIFNFRUtfQ1VSKTsKKyAgICAgICAgcmV0ID0gTFNFRUsoc3RhdGUtPmZkLCBvZmZzZXQgLSAoel9vZmY2NF90KXN0YXRlLT54LmhhdmUsIFNFRUtfQ1VSKTsKICAgICAgICAgaWYgKHJldCA9PSAtMSkKICAgICAgICAgICAgIHJldHVybiAtMTsKICAgICAgICAgc3RhdGUtPnguaGF2ZSA9IDA7CkBAIC02MDQsMTQgKzYxMCwxMyBAQAogICAgICAgICByZXR1cm47CiAgICAgfQogI2lmICFkZWZpbmVkKE5PX3NucHJpbnRmKSAmJiAhZGVmaW5lZChOT192c25wcmludGYpCi0gICAgc25wcmludGYoc3RhdGUtPm1zZywgc3RybGVuKHN0YXRlLT5wYXRoKSArIHN0cmxlbihtc2cpICsgMywKLSAgICAgICAgICAgICAiJXMlcyVzIiwgc3RhdGUtPnBhdGgsICI6ICIsIG1zZyk7CisgICAgKHZvaWQpc25wcmludGYoc3RhdGUtPm1zZywgc3RybGVuKHN0YXRlLT5wYXRoKSArIHN0cmxlbihtc2cpICsgMywKKyAgICAgICAgICAgICAgICAgICAiJXMlcyVzIiwgc3RhdGUtPnBhdGgsICI6ICIsIG1zZyk7CiAjZWxzZQogICAgIHN0cmNweShzdGF0ZS0+bXNnLCBzdGF0ZS0+cGF0aCk7CiAgICAgc3RyY2F0KHN0YXRlLT5tc2csICI6ICIpOwogICAgIHN0cmNhdChzdGF0ZS0+bXNnLCBtc2cpOwogI2VuZGlmCi0gICAgcmV0dXJuOwogfQogCiAjaWZuZGVmIElOVF9NQVgKZGlmZiAtLWdpdCBhL3NyYy9nenJlYWQuYyBiL3NyYy9nenJlYWQuYwppbmRleCBiZjQ1MzhlLi5kZDc3MzgxIDEwMDY0NAotLS0gYS9zcmMvZ3pyZWFkLmMKKysrIGIvc3JjL2d6cmVhZC5jCkBAIC0xLDUgKzEsNSBAQAogLyogZ3pyZWFkLmMgLS0gemxpYiBmdW5jdGlvbnMgZm9yIHJlYWRpbmcgZ3ppcCBmaWxlcwotICogQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1LCAyMDEwLCAyMDExLCAyMDEyLCAyMDEzIE1hcmsgQWRsZXIKKyAqIENvcHlyaWdodCAoQykgMjAwNC0yMDE3IE1hcmsgQWRsZXIKICAqIEZvciBjb25kaXRpb25zIG9mIGRpc3RyaWJ1dGlvbiBhbmQgdXNlLCBzZWUgY29weXJpZ2h0IG5vdGljZSBpbiB6bGliLmgKICAqLwogCkBAIC0xMiw2ICsxMiw3IEBACiBsb2NhbCBpbnQgZ3pfZGVjb21wIE9GKChnel9zdGF0ZXApKTsKIGxvY2FsIGludCBnel9mZXRjaCBPRigoZ3pfc3RhdGVwKSk7CiBsb2NhbCBpbnQgZ3pfc2tpcCBPRigoZ3pfc3RhdGVwLCB6X29mZjY0X3QpKTsKK2xvY2FsIHpfc2l6ZV90IGd6X3JlYWQgT0YoKGd6X3N0YXRlcCwgdm9pZHAsIHpfc2l6ZV90KSk7CiAKIC8qIFVzZSByZWFkKCkgdG8gbG9hZCBhIGJ1ZmZlciAtLSByZXR1cm4gLTEgb24gZXJyb3IsIG90aGVyd2lzZSAwLiAgUmVhZCBmcm9tCiAgICBzdGF0ZS0+ZmQsIGFuZCB1cGRhdGUgc3RhdGUtPmVvZiwgc3RhdGUtPmVyciwgYW5kIHN0YXRlLT5tc2cgYXMgYXBwcm9wcmlhdGUuCkBAIC0yNCwxMyArMjUsMTcgQEAKICAgICB1bnNpZ25lZCAqaGF2ZTsKIHsKICAgICBpbnQgcmV0OworICAgIHVuc2lnbmVkIGdldCwgbWF4ID0gKCh1bnNpZ25lZCktMSA+PiAyKSArIDE7CiAKICAgICAqaGF2ZSA9IDA7CiAgICAgZG8gewotICAgICAgICByZXQgPSByZWFkKHN0YXRlLT5mZCwgYnVmICsgKmhhdmUsIGxlbiAtICpoYXZlKTsKKyAgICAgICAgZ2V0ID0gbGVuIC0gKmhhdmU7CisgICAgICAgIGlmIChnZXQgPiBtYXgpCisgICAgICAgICAgICBnZXQgPSBtYXg7CisgICAgICAgIHJldCA9IHJlYWQoc3RhdGUtPmZkLCBidWYgKyAqaGF2ZSwgZ2V0KTsKICAgICAgICAgaWYgKHJldCA8PSAwKQogICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICpoYXZlICs9IHJldDsKKyAgICAgICAgKmhhdmUgKz0gKHVuc2lnbmVkKXJldDsKICAgICB9IHdoaWxlICgqaGF2ZSA8IGxlbik7CiAgICAgaWYgKHJldCA8IDApIHsKICAgICAgICAgZ3pfZXJyb3Ioc3RhdGUsIFpfRVJSTk8sIHpzdHJlcnJvcigpKTsKQEAgLTk0LDEwICs5OSw4IEBACiAgICAgICAgIHN0YXRlLT5pbiA9ICh1bnNpZ25lZCBjaGFyICopbWFsbG9jKHN0YXRlLT53YW50KTsKICAgICAgICAgc3RhdGUtPm91dCA9ICh1bnNpZ25lZCBjaGFyICopbWFsbG9jKHN0YXRlLT53YW50IDw8IDEpOwogICAgICAgICBpZiAoc3RhdGUtPmluID09IE5VTEwgfHwgc3RhdGUtPm91dCA9PSBOVUxMKSB7Ci0gICAgICAgICAgICBpZiAoc3RhdGUtPm91dCAhPSBOVUxMKQotICAgICAgICAgICAgICAgIGZyZWUoc3RhdGUtPm91dCk7Ci0gICAgICAgICAgICBpZiAoc3RhdGUtPmluICE9IE5VTEwpCi0gICAgICAgICAgICAgICAgZnJlZShzdGF0ZS0+aW4pOworICAgICAgICAgICAgZnJlZShzdGF0ZS0+b3V0KTsKKyAgICAgICAgICAgIGZyZWUoc3RhdGUtPmluKTsKICAgICAgICAgICAgIGd6X2Vycm9yKHN0YXRlLCBaX01FTV9FUlJPUiwgIm91dCBvZiBtZW1vcnkiKTsKICAgICAgICAgICAgIHJldHVybiAtMTsKICAgICAgICAgfQpAQCAtMTU0LDExICsxNTcsOSBAQAogICAgICAgIHRoZSBvdXRwdXQgYnVmZmVyIGlzIGxhcmdlciB0aGFuIHRoZSBpbnB1dCBidWZmZXIsIHdoaWNoIGFsc28gYXNzdXJlcwogICAgICAgIHNwYWNlIGZvciBnenVuZ2V0YygpICovCiAgICAgc3RhdGUtPngubmV4dCA9IHN0YXRlLT5vdXQ7Ci0gICAgaWYgKHN0cm0tPmF2YWlsX2luKSB7Ci0gICAgICAgIG1lbWNweShzdGF0ZS0+eC5uZXh0LCBzdHJtLT5uZXh0X2luLCBzdHJtLT5hdmFpbF9pbik7Ci0gICAgICAgIHN0YXRlLT54LmhhdmUgPSBzdHJtLT5hdmFpbF9pbjsKLSAgICAgICAgc3RybS0+YXZhaWxfaW4gPSAwOwotICAgIH0KKyAgICBtZW1jcHkoc3RhdGUtPngubmV4dCwgc3RybS0+bmV4dF9pbiwgc3RybS0+YXZhaWxfaW4pOworICAgIHN0YXRlLT54LmhhdmUgPSBzdHJtLT5hdmFpbF9pbjsKKyAgICBzdHJtLT5hdmFpbF9pbiA9IDA7CiAgICAgc3RhdGUtPmhvdyA9IENPUFk7CiAgICAgc3RhdGUtPmRpcmVjdCA9IDE7CiAgICAgcmV0dXJuIDA7CkBAIC0yODQsMzMgKzI4NSwxNyBAQAogICAgIHJldHVybiAwOwogfQogCi0vKiAtLSBzZWUgemxpYi5oIC0tICovCi1pbnQgWkVYUE9SVCBnenJlYWQoZmlsZSwgYnVmLCBsZW4pCi0gICAgZ3pGaWxlIGZpbGU7Ci0gICAgdm9pZHAgYnVmOwotICAgIHVuc2lnbmVkIGxlbjsKLXsKLSAgICB1bnNpZ25lZCBnb3QsIG47CisvKiBSZWFkIGxlbiBieXRlcyBpbnRvIGJ1ZiBmcm9tIGZpbGUsIG9yIGxlc3MgdGhhbiBsZW4gdXAgdG8gdGhlIGVuZCBvZiB0aGUKKyAgIGlucHV0LiAgUmV0dXJuIHRoZSBudW1iZXIgb2YgYnl0ZXMgcmVhZC4gIElmIHplcm8gaXMgcmV0dXJuZWQsIGVpdGhlciB0aGUKKyAgIGVuZCBvZiBmaWxlIHdhcyByZWFjaGVkLCBvciB0aGVyZSB3YXMgYW4gZXJyb3IuICBzdGF0ZS0+ZXJyIG11c3QgYmUKKyAgIGNvbnN1bHRlZCBpbiB0aGF0IGNhc2UgdG8gZGV0ZXJtaW5lIHdoaWNoLiAqLworbG9jYWwgel9zaXplX3QgZ3pfcmVhZChzdGF0ZSwgYnVmLCBsZW4pCiAgICAgZ3pfc3RhdGVwIHN0YXRlOwotICAgIHpfc3RyZWFtcCBzdHJtOwotCi0gICAgLyogZ2V0IGludGVybmFsIHN0cnVjdHVyZSAqLwotICAgIGlmIChmaWxlID09IE5VTEwpCi0gICAgICAgIHJldHVybiAtMTsKLSAgICBzdGF0ZSA9IChnel9zdGF0ZXApZmlsZTsKLSAgICBzdHJtID0gJihzdGF0ZS0+c3RybSk7Ci0KLSAgICAvKiBjaGVjayB0aGF0IHdlJ3JlIHJlYWRpbmcgYW5kIHRoYXQgdGhlcmUncyBubyAoc2VyaW91cykgZXJyb3IgKi8KLSAgICBpZiAoc3RhdGUtPm1vZGUgIT0gR1pfUkVBRCB8fAotICAgICAgICAgICAgKHN0YXRlLT5lcnIgIT0gWl9PSyAmJiBzdGF0ZS0+ZXJyICE9IFpfQlVGX0VSUk9SKSkKLSAgICAgICAgcmV0dXJuIC0xOwotCi0gICAgLyogc2luY2UgYW4gaW50IGlzIHJldHVybmVkLCBtYWtlIHN1cmUgbGVuIGZpdHMgaW4gb25lLCBvdGhlcndpc2UgcmV0dXJuCi0gICAgICAgd2l0aCBhbiBlcnJvciAodGhpcyBhdm9pZHMgdGhlIGZsYXcgaW4gdGhlIGludGVyZmFjZSkgKi8KLSAgICBpZiAoKGludClsZW4gPCAwKSB7Ci0gICAgICAgIGd6X2Vycm9yKHN0YXRlLCBaX0RBVEFfRVJST1IsICJyZXF1ZXN0ZWQgbGVuZ3RoIGRvZXMgbm90IGZpdCBpbiBpbnQiKTsKLSAgICAgICAgcmV0dXJuIC0xOwotICAgIH0KKyAgICB2b2lkcCBidWY7CisgICAgel9zaXplX3QgbGVuOworeworICAgIHpfc2l6ZV90IGdvdDsKKyAgICB1bnNpZ25lZCBuOwogCiAgICAgLyogaWYgbGVuIGlzIHplcm8sIGF2b2lkIHVubmVjZXNzYXJ5IG9wZXJhdGlvbnMgKi8KICAgICBpZiAobGVuID09IDApCkBAIC0zMjAsMzIgKzMwNSwzOCBAQAogICAgIGlmIChzdGF0ZS0+c2VlaykgewogICAgICAgICBzdGF0ZS0+c2VlayA9IDA7CiAgICAgICAgIGlmIChnel9za2lwKHN0YXRlLCBzdGF0ZS0+c2tpcCkgPT0gLTEpCi0gICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgICAgICByZXR1cm4gMDsKICAgICB9CiAKICAgICAvKiBnZXQgbGVuIGJ5dGVzIHRvIGJ1Ziwgb3IgbGVzcyB0aGFuIGxlbiBpZiBhdCB0aGUgZW5kICovCiAgICAgZ290ID0gMDsKICAgICBkbyB7CisgICAgICAgIC8qIHNldCBuIHRvIHRoZSBtYXhpbXVtIGFtb3VudCBvZiBsZW4gdGhhdCBmaXRzIGluIGFuIHVuc2lnbmVkIGludCAqLworICAgICAgICBuID0gKHVuc2lnbmVkKS0xOworICAgICAgICBpZiAobiA+IGxlbikKKyAgICAgICAgICAgIG4gPSAodW5zaWduZWQpbGVuOworCiAgICAgICAgIC8qIGZpcnN0IGp1c3QgdHJ5IGNvcHlpbmcgZGF0YSBmcm9tIHRoZSBvdXRwdXQgYnVmZmVyICovCiAgICAgICAgIGlmIChzdGF0ZS0+eC5oYXZlKSB7Ci0gICAgICAgICAgICBuID0gc3RhdGUtPnguaGF2ZSA+IGxlbiA/IGxlbiA6IHN0YXRlLT54LmhhdmU7CisgICAgICAgICAgICBpZiAoc3RhdGUtPnguaGF2ZSA8IG4pCisgICAgICAgICAgICAgICAgbiA9IHN0YXRlLT54LmhhdmU7CiAgICAgICAgICAgICBtZW1jcHkoYnVmLCBzdGF0ZS0+eC5uZXh0LCBuKTsKICAgICAgICAgICAgIHN0YXRlLT54Lm5leHQgKz0gbjsKICAgICAgICAgICAgIHN0YXRlLT54LmhhdmUgLT0gbjsKICAgICAgICAgfQogCiAgICAgICAgIC8qIG91dHB1dCBidWZmZXIgZW1wdHkgLS0gcmV0dXJuIGlmIHdlJ3JlIGF0IHRoZSBlbmQgb2YgdGhlIGlucHV0ICovCi0gICAgICAgIGVsc2UgaWYgKHN0YXRlLT5lb2YgJiYgc3RybS0+YXZhaWxfaW4gPT0gMCkgeworICAgICAgICBlbHNlIGlmIChzdGF0ZS0+ZW9mICYmIHN0YXRlLT5zdHJtLmF2YWlsX2luID09IDApIHsKICAgICAgICAgICAgIHN0YXRlLT5wYXN0ID0gMTsgICAgICAgIC8qIHRyaWVkIHRvIHJlYWQgcGFzdCBlbmQgKi8KICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAKICAgICAgICAgLyogbmVlZCBvdXRwdXQgZGF0YSAtLSBmb3Igc21hbGwgbGVuIG9yIG5ldyBzdHJlYW0gbG9hZCB1cCBvdXIgb3V0cHV0CiAgICAgICAgICAgIGJ1ZmZlciAqLwotICAgICAgICBlbHNlIGlmIChzdGF0ZS0+aG93ID09IExPT0sgfHwgbGVuIDwgKHN0YXRlLT5zaXplIDw8IDEpKSB7CisgICAgICAgIGVsc2UgaWYgKHN0YXRlLT5ob3cgPT0gTE9PSyB8fCBuIDwgKHN0YXRlLT5zaXplIDw8IDEpKSB7CiAgICAgICAgICAgICAvKiBnZXQgbW9yZSBvdXRwdXQsIGxvb2tpbmcgZm9yIGhlYWRlciBpZiByZXF1aXJlZCAqLwogICAgICAgICAgICAgaWYgKGd6X2ZldGNoKHN0YXRlKSA9PSAtMSkKLSAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgICAgICBjb250aW51ZTsgICAgICAgLyogbm8gcHJvZ3Jlc3MgeWV0IC0tIGdvIGJhY2sgdG8gY29weSBhYm92ZSAqLwogICAgICAgICAgICAgLyogdGhlIGNvcHkgYWJvdmUgYXNzdXJlcyB0aGF0IHdlIHdpbGwgbGVhdmUgd2l0aCBzcGFjZSBpbiB0aGUKICAgICAgICAgICAgICAgIG91dHB1dCBidWZmZXIsIGFsbG93aW5nIGF0IGxlYXN0IG9uZSBnenVuZ2V0YygpIHRvIHN1Y2NlZWQgKi8KQEAgLTM1MywxNiArMzQ0LDE2IEBACiAKICAgICAgICAgLyogbGFyZ2UgbGVuIC0tIHJlYWQgZGlyZWN0bHkgaW50byB1c2VyIGJ1ZmZlciAqLwogICAgICAgICBlbHNlIGlmIChzdGF0ZS0+aG93ID09IENPUFkpIHsgICAgICAvKiByZWFkIGRpcmVjdGx5ICovCi0gICAgICAgICAgICBpZiAoZ3pfbG9hZChzdGF0ZSwgKHVuc2lnbmVkIGNoYXIgKilidWYsIGxlbiwgJm4pID09IC0xKQotICAgICAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgICAgIGlmIChnel9sb2FkKHN0YXRlLCAodW5zaWduZWQgY2hhciAqKWJ1ZiwgbiwgJm4pID09IC0xKQorICAgICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICB9CiAKICAgICAgICAgLyogbGFyZ2UgbGVuIC0tIGRlY29tcHJlc3MgZGlyZWN0bHkgaW50byB1c2VyIGJ1ZmZlciAqLwogICAgICAgICBlbHNlIHsgIC8qIHN0YXRlLT5ob3cgPT0gR1pJUCAqLwotICAgICAgICAgICAgc3RybS0+YXZhaWxfb3V0ID0gbGVuOwotICAgICAgICAgICAgc3RybS0+bmV4dF9vdXQgPSAodW5zaWduZWQgY2hhciAqKWJ1ZjsKKyAgICAgICAgICAgIHN0YXRlLT5zdHJtLmF2YWlsX291dCA9IG47CisgICAgICAgICAgICBzdGF0ZS0+c3RybS5uZXh0X291dCA9ICh1bnNpZ25lZCBjaGFyICopYnVmOwogICAgICAgICAgICAgaWYgKGd6X2RlY29tcChzdGF0ZSkgPT0gLTEpCi0gICAgICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICAgICAgbiA9IHN0YXRlLT54LmhhdmU7CiAgICAgICAgICAgICBzdGF0ZS0+eC5oYXZlID0gMDsKICAgICAgICAgfQpAQCAtMzc0LDggKzM2NSw3NSBAQAogICAgICAgICBzdGF0ZS0+eC5wb3MgKz0gbjsKICAgICB9IHdoaWxlIChsZW4pOwogCi0gICAgLyogcmV0dXJuIG51bWJlciBvZiBieXRlcyByZWFkIGludG8gdXNlciBidWZmZXIgKHdpbGwgZml0IGluIGludCkgKi8KLSAgICByZXR1cm4gKGludClnb3Q7CisgICAgLyogcmV0dXJuIG51bWJlciBvZiBieXRlcyByZWFkIGludG8gdXNlciBidWZmZXIgKi8KKyAgICByZXR1cm4gZ290OworfQorCisvKiAtLSBzZWUgemxpYi5oIC0tICovCitpbnQgWkVYUE9SVCBnenJlYWQoZmlsZSwgYnVmLCBsZW4pCisgICAgZ3pGaWxlIGZpbGU7CisgICAgdm9pZHAgYnVmOworICAgIHVuc2lnbmVkIGxlbjsKK3sKKyAgICBnel9zdGF0ZXAgc3RhdGU7CisKKyAgICAvKiBnZXQgaW50ZXJuYWwgc3RydWN0dXJlICovCisgICAgaWYgKGZpbGUgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIC0xOworICAgIHN0YXRlID0gKGd6X3N0YXRlcClmaWxlOworCisgICAgLyogY2hlY2sgdGhhdCB3ZSdyZSByZWFkaW5nIGFuZCB0aGF0IHRoZXJlJ3Mgbm8gKHNlcmlvdXMpIGVycm9yICovCisgICAgaWYgKHN0YXRlLT5tb2RlICE9IEdaX1JFQUQgfHwKKyAgICAgICAgICAgIChzdGF0ZS0+ZXJyICE9IFpfT0sgJiYgc3RhdGUtPmVyciAhPSBaX0JVRl9FUlJPUikpCisgICAgICAgIHJldHVybiAtMTsKKworICAgIC8qIHNpbmNlIGFuIGludCBpcyByZXR1cm5lZCwgbWFrZSBzdXJlIGxlbiBmaXRzIGluIG9uZSwgb3RoZXJ3aXNlIHJldHVybgorICAgICAgIHdpdGggYW4gZXJyb3IgKHRoaXMgYXZvaWRzIGEgZmxhdyBpbiB0aGUgaW50ZXJmYWNlKSAqLworICAgIGlmICgoaW50KWxlbiA8IDApIHsKKyAgICAgICAgZ3pfZXJyb3Ioc3RhdGUsIFpfU1RSRUFNX0VSUk9SLCAicmVxdWVzdCBkb2VzIG5vdCBmaXQgaW4gYW4gaW50Iik7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisKKyAgICAvKiByZWFkIGxlbiBvciBmZXdlciBieXRlcyB0byBidWYgKi8KKyAgICBsZW4gPSAodW5zaWduZWQpZ3pfcmVhZChzdGF0ZSwgYnVmLCBsZW4pOworCisgICAgLyogY2hlY2sgZm9yIGFuIGVycm9yICovCisgICAgaWYgKGxlbiA9PSAwICYmIHN0YXRlLT5lcnIgIT0gWl9PSyAmJiBzdGF0ZS0+ZXJyICE9IFpfQlVGX0VSUk9SKQorICAgICAgICByZXR1cm4gLTE7CisKKyAgICAvKiByZXR1cm4gdGhlIG51bWJlciBvZiBieXRlcyByZWFkICh0aGlzIGlzIGFzc3VyZWQgdG8gZml0IGluIGFuIGludCkgKi8KKyAgICByZXR1cm4gKGludClsZW47Cit9CisKKy8qIC0tIHNlZSB6bGliLmggLS0gKi8KK3pfc2l6ZV90IFpFWFBPUlQgZ3pmcmVhZChidWYsIHNpemUsIG5pdGVtcywgZmlsZSkKKyAgICB2b2lkcCBidWY7CisgICAgel9zaXplX3Qgc2l6ZTsKKyAgICB6X3NpemVfdCBuaXRlbXM7CisgICAgZ3pGaWxlIGZpbGU7Cit7CisgICAgel9zaXplX3QgbGVuOworICAgIGd6X3N0YXRlcCBzdGF0ZTsKKworICAgIC8qIGdldCBpbnRlcm5hbCBzdHJ1Y3R1cmUgKi8KKyAgICBpZiAoZmlsZSA9PSBOVUxMKQorICAgICAgICByZXR1cm4gMDsKKyAgICBzdGF0ZSA9IChnel9zdGF0ZXApZmlsZTsKKworICAgIC8qIGNoZWNrIHRoYXQgd2UncmUgcmVhZGluZyBhbmQgdGhhdCB0aGVyZSdzIG5vIChzZXJpb3VzKSBlcnJvciAqLworICAgIGlmIChzdGF0ZS0+bW9kZSAhPSBHWl9SRUFEIHx8CisgICAgICAgICAgICAoc3RhdGUtPmVyciAhPSBaX09LICYmIHN0YXRlLT5lcnIgIT0gWl9CVUZfRVJST1IpKQorICAgICAgICByZXR1cm4gMDsKKworICAgIC8qIGNvbXB1dGUgYnl0ZXMgdG8gcmVhZCAtLSBlcnJvciBvbiBvdmVyZmxvdyAqLworICAgIGxlbiA9IG5pdGVtcyAqIHNpemU7CisgICAgaWYgKHNpemUgJiYgbGVuIC8gc2l6ZSAhPSBuaXRlbXMpIHsKKyAgICAgICAgZ3pfZXJyb3Ioc3RhdGUsIFpfU1RSRUFNX0VSUk9SLCAicmVxdWVzdCBkb2VzIG5vdCBmaXQgaW4gYSBzaXplX3QiKTsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorCisgICAgLyogcmVhZCBsZW4gb3IgZmV3ZXIgYnl0ZXMgdG8gYnVmLCByZXR1cm4gdGhlIG51bWJlciBvZiBmdWxsIGl0ZW1zIHJlYWQgKi8KKyAgICByZXR1cm4gbGVuID8gZ3pfcmVhZChzdGF0ZSwgYnVmLCBsZW4pIC8gc2l6ZSA6IDA7CiB9CiAKIC8qIC0tIHNlZSB6bGliLmggLS0gKi8KQEAgLTM4Nyw3ICs0NDUsNiBAQAogaW50IFpFWFBPUlQgZ3pnZXRjKGZpbGUpCiAgICAgZ3pGaWxlIGZpbGU7CiB7Ci0gICAgaW50IHJldDsKICAgICB1bnNpZ25lZCBjaGFyIGJ1ZlsxXTsKICAgICBnel9zdGF0ZXAgc3RhdGU7CiAKQEAgLTQwOCw5ICs0NjUsOCBAQAogICAgICAgICByZXR1cm4gKihzdGF0ZS0+eC5uZXh0KSsrOwogICAgIH0KIAotICAgIC8qIG5vdGhpbmcgdGhlcmUgLS0gdHJ5IGd6cmVhZCgpICovCi0gICAgcmV0ID0gZ3pyZWFkKGZpbGUsIGJ1ZiwgMSk7Ci0gICAgcmV0dXJuIHJldCA8IDEgPyAtMSA6IGJ1ZlswXTsKKyAgICAvKiBub3RoaW5nIHRoZXJlIC0tIHRyeSBnel9yZWFkKCkgKi8KKyAgICByZXR1cm4gZ3pfcmVhZChzdGF0ZSwgYnVmLCAxKSA8IDEgPyAtMSA6IGJ1ZlswXTsKIH0KIAogaW50IFpFWFBPUlQgZ3pnZXRjXyhmaWxlKQpAQCAtNDUxLDcgKzUwNyw3IEBACiAgICAgaWYgKHN0YXRlLT54LmhhdmUgPT0gMCkgewogICAgICAgICBzdGF0ZS0+eC5oYXZlID0gMTsKICAgICAgICAgc3RhdGUtPngubmV4dCA9IHN0YXRlLT5vdXQgKyAoc3RhdGUtPnNpemUgPDwgMSkgLSAxOwotICAgICAgICBzdGF0ZS0+eC5uZXh0WzBdID0gYzsKKyAgICAgICAgc3RhdGUtPngubmV4dFswXSA9ICh1bnNpZ25lZCBjaGFyKWM7CiAgICAgICAgIHN0YXRlLT54LnBvcy0tOwogICAgICAgICBzdGF0ZS0+cGFzdCA9IDA7CiAgICAgICAgIHJldHVybiBjOwpAQCAtNDczLDcgKzUyOSw3IEBACiAgICAgfQogICAgIHN0YXRlLT54LmhhdmUrKzsKICAgICBzdGF0ZS0+eC5uZXh0LS07Ci0gICAgc3RhdGUtPngubmV4dFswXSA9IGM7CisgICAgc3RhdGUtPngubmV4dFswXSA9ICh1bnNpZ25lZCBjaGFyKWM7CiAgICAgc3RhdGUtPngucG9zLS07CiAgICAgc3RhdGUtPnBhc3QgPSAwOwogICAgIHJldHVybiBjOwpkaWZmIC0tZ2l0IGEvc3JjL2d6d3JpdGUuYyBiL3NyYy9nendyaXRlLmMKaW5kZXggYWE3NjdmYi4uZWI4YTBlNSAxMDA2NDQKLS0tIGEvc3JjL2d6d3JpdGUuYworKysgYi9zcmMvZ3p3cml0ZS5jCkBAIC0xLDUgKzEsNSBAQAogLyogZ3p3cml0ZS5jIC0tIHpsaWIgZnVuY3Rpb25zIGZvciB3cml0aW5nIGd6aXAgZmlsZXMKLSAqIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAxMCwgMjAxMSwgMjAxMiwgMjAxMyBNYXJrIEFkbGVyCisgKiBDb3B5cmlnaHQgKEMpIDIwMDQtMjAxOSBNYXJrIEFkbGVyCiAgKiBGb3IgY29uZGl0aW9ucyBvZiBkaXN0cmlidXRpb24gYW5kIHVzZSwgc2VlIGNvcHlyaWdodCBub3RpY2UgaW4gemxpYi5oCiAgKi8KIApAQCAtOSwxNyArOSwxOSBAQAogbG9jYWwgaW50IGd6X2luaXQgT0YoKGd6X3N0YXRlcCkpOwogbG9jYWwgaW50IGd6X2NvbXAgT0YoKGd6X3N0YXRlcCwgaW50KSk7CiBsb2NhbCBpbnQgZ3pfemVybyBPRigoZ3pfc3RhdGVwLCB6X29mZjY0X3QpKTsKK2xvY2FsIHpfc2l6ZV90IGd6X3dyaXRlIE9GKChnel9zdGF0ZXAsIHZvaWRwYywgel9zaXplX3QpKTsKIAogLyogSW5pdGlhbGl6ZSBzdGF0ZSBmb3Igd3JpdGluZyBhIGd6aXAgZmlsZS4gIE1hcmsgaW5pdGlhbGl6YXRpb24gYnkgc2V0dGluZwotICAgc3RhdGUtPnNpemUgdG8gbm9uLXplcm8uICBSZXR1cm4gLTEgb24gZmFpbHVyZSBvciAwIG9uIHN1Y2Nlc3MuICovCisgICBzdGF0ZS0+c2l6ZSB0byBub24temVyby4gIFJldHVybiAtMSBvbiBhIG1lbW9yeSBhbGxvY2F0aW9uIGZhaWx1cmUsIG9yIDAgb24KKyAgIHN1Y2Nlc3MuICovCiBsb2NhbCBpbnQgZ3pfaW5pdChzdGF0ZSkKICAgICBnel9zdGF0ZXAgc3RhdGU7CiB7CiAgICAgaW50IHJldDsKICAgICB6X3N0cmVhbXAgc3RybSA9ICYoc3RhdGUtPnN0cm0pOwogCi0gICAgLyogYWxsb2NhdGUgaW5wdXQgYnVmZmVyICovCi0gICAgc3RhdGUtPmluID0gKHVuc2lnbmVkIGNoYXIgKiltYWxsb2Moc3RhdGUtPndhbnQpOworICAgIC8qIGFsbG9jYXRlIGlucHV0IGJ1ZmZlciAoZG91YmxlIHNpemUgZm9yIGd6cHJpbnRmKSAqLworICAgIHN0YXRlLT5pbiA9ICh1bnNpZ25lZCBjaGFyICopbWFsbG9jKHN0YXRlLT53YW50IDw8IDEpOwogICAgIGlmIChzdGF0ZS0+aW4gPT0gTlVMTCkgewogICAgICAgICBnel9lcnJvcihzdGF0ZSwgWl9NRU1fRVJST1IsICJvdXQgb2YgbWVtb3J5Iik7CiAgICAgICAgIHJldHVybiAtMTsKQEAgLTQ3LDYgKzQ5LDcgQEAKICAgICAgICAgICAgIGd6X2Vycm9yKHN0YXRlLCBaX01FTV9FUlJPUiwgIm91dCBvZiBtZW1vcnkiKTsKICAgICAgICAgICAgIHJldHVybiAtMTsKICAgICAgICAgfQorICAgICAgICBzdHJtLT5uZXh0X2luID0gTlVMTDsKICAgICB9CiAKICAgICAvKiBtYXJrIHN0YXRlIGFzIGluaXRpYWxpemVkICovCkBAIC02MiwxNyArNjUsMTcgQEAKIH0KIAogLyogQ29tcHJlc3Mgd2hhdGV2ZXIgaXMgYXQgYXZhaWxfaW4gYW5kIG5leHRfaW4gYW5kIHdyaXRlIHRvIHRoZSBvdXRwdXQgZmlsZS4KLSAgIFJldHVybiAtMSBpZiB0aGVyZSBpcyBhbiBlcnJvciB3cml0aW5nIHRvIHRoZSBvdXRwdXQgZmlsZSwgb3RoZXJ3aXNlIDAuCi0gICBmbHVzaCBpcyBhc3N1bWVkIHRvIGJlIGEgdmFsaWQgZGVmbGF0ZSgpIGZsdXNoIHZhbHVlLiAgSWYgZmx1c2ggaXMgWl9GSU5JU0gsCi0gICB0aGVuIHRoZSBkZWZsYXRlKCkgc3RhdGUgaXMgcmVzZXQgdG8gc3RhcnQgYSBuZXcgZ3ppcCBzdHJlYW0uICBJZiBnei0+ZGlyZWN0Ci0gICBpcyB0cnVlLCB0aGVuIHNpbXBseSB3cml0ZSB0byB0aGUgb3V0cHV0IGZpbGUgd2l0aG91dCBjb21wcmVzc2luZywgYW5kCi0gICBpZ25vcmUgZmx1c2guICovCisgICBSZXR1cm4gLTEgaWYgdGhlcmUgaXMgYW4gZXJyb3Igd3JpdGluZyB0byB0aGUgb3V0cHV0IGZpbGUgb3IgaWYgZ3pfaW5pdCgpCisgICBmYWlscyB0byBhbGxvY2F0ZSBtZW1vcnksIG90aGVyd2lzZSAwLiAgZmx1c2ggaXMgYXNzdW1lZCB0byBiZSBhIHZhbGlkCisgICBkZWZsYXRlKCkgZmx1c2ggdmFsdWUuICBJZiBmbHVzaCBpcyBaX0ZJTklTSCwgdGhlbiB0aGUgZGVmbGF0ZSgpIHN0YXRlIGlzCisgICByZXNldCB0byBzdGFydCBhIG5ldyBnemlwIHN0cmVhbS4gIElmIGd6LT5kaXJlY3QgaXMgdHJ1ZSwgdGhlbiBzaW1wbHkgd3JpdGUKKyAgIHRvIHRoZSBvdXRwdXQgZmlsZSB3aXRob3V0IGNvbXByZXNzaW5nLCBhbmQgaWdub3JlIGZsdXNoLiAqLwogbG9jYWwgaW50IGd6X2NvbXAoc3RhdGUsIGZsdXNoKQogICAgIGd6X3N0YXRlcCBzdGF0ZTsKICAgICBpbnQgZmx1c2g7CiB7Ci0gICAgaW50IHJldCwgZ290OwotICAgIHVuc2lnbmVkIGhhdmU7CisgICAgaW50IHJldCwgd3JpdDsKKyAgICB1bnNpZ25lZCBoYXZlLCBwdXQsIG1heCA9ICgodW5zaWduZWQpLTEgPj4gMikgKyAxOwogICAgIHpfc3RyZWFtcCBzdHJtID0gJihzdGF0ZS0+c3RybSk7CiAKICAgICAvKiBhbGxvY2F0ZSBtZW1vcnkgaWYgdGhpcyBpcyB0aGUgZmlyc3QgdGltZSB0aHJvdWdoICovCkBAIC04MSwxNSArODQsMjggQEAKIAogICAgIC8qIHdyaXRlIGRpcmVjdGx5IGlmIHJlcXVlc3RlZCAqLwogICAgIGlmIChzdGF0ZS0+ZGlyZWN0KSB7Ci0gICAgICAgIGdvdCA9IHdyaXRlKHN0YXRlLT5mZCwgc3RybS0+bmV4dF9pbiwgc3RybS0+YXZhaWxfaW4pOwotICAgICAgICBpZiAoZ290IDwgMCB8fCAodW5zaWduZWQpZ290ICE9IHN0cm0tPmF2YWlsX2luKSB7Ci0gICAgICAgICAgICBnel9lcnJvcihzdGF0ZSwgWl9FUlJOTywgenN0cmVycm9yKCkpOwotICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICB3aGlsZSAoc3RybS0+YXZhaWxfaW4pIHsKKyAgICAgICAgICAgIHB1dCA9IHN0cm0tPmF2YWlsX2luID4gbWF4ID8gbWF4IDogc3RybS0+YXZhaWxfaW47CisgICAgICAgICAgICB3cml0ID0gd3JpdGUoc3RhdGUtPmZkLCBzdHJtLT5uZXh0X2luLCBwdXQpOworICAgICAgICAgICAgaWYgKHdyaXQgPCAwKSB7CisgICAgICAgICAgICAgICAgZ3pfZXJyb3Ioc3RhdGUsIFpfRVJSTk8sIHpzdHJlcnJvcigpKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBzdHJtLT5hdmFpbF9pbiAtPSAodW5zaWduZWQpd3JpdDsKKyAgICAgICAgICAgIHN0cm0tPm5leHRfaW4gKz0gd3JpdDsKICAgICAgICAgfQotICAgICAgICBzdHJtLT5hdmFpbF9pbiA9IDA7CiAgICAgICAgIHJldHVybiAwOwogICAgIH0KIAorICAgIC8qIGNoZWNrIGZvciBhIHBlbmRpbmcgcmVzZXQgKi8KKyAgICBpZiAoc3RhdGUtPnJlc2V0KSB7CisgICAgICAgIC8qIGRvbid0IHN0YXJ0IGEgbmV3IGd6aXAgbWVtYmVyIHVubGVzcyB0aGVyZSBpcyBkYXRhIHRvIHdyaXRlICovCisgICAgICAgIGlmIChzdHJtLT5hdmFpbF9pbiA9PSAwKQorICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIGRlZmxhdGVSZXNldChzdHJtKTsKKyAgICAgICAgc3RhdGUtPnJlc2V0ID0gMDsKKyAgICB9CisKICAgICAvKiBydW4gZGVmbGF0ZSgpIG9uIHByb3ZpZGVkIGlucHV0IHVudGlsIGl0IHByb2R1Y2VzIG5vIG1vcmUgb3V0cHV0ICovCiAgICAgcmV0ID0gWl9PSzsKICAgICBkbyB7CkBAIC05NywxNyArMTEzLDIxIEBACiAgICAgICAgICAgIGRvaW5nIFpfRklOSVNIIHRoZW4gZG9uJ3Qgd3JpdGUgdW50aWwgd2UgZ2V0IHRvIFpfU1RSRUFNX0VORCAqLwogICAgICAgICBpZiAoc3RybS0+YXZhaWxfb3V0ID09IDAgfHwgKGZsdXNoICE9IFpfTk9fRkxVU0ggJiYKICAgICAgICAgICAgIChmbHVzaCAhPSBaX0ZJTklTSCB8fCByZXQgPT0gWl9TVFJFQU1fRU5EKSkpIHsKLSAgICAgICAgICAgIGhhdmUgPSAodW5zaWduZWQpKHN0cm0tPm5leHRfb3V0IC0gc3RhdGUtPngubmV4dCk7Ci0gICAgICAgICAgICBpZiAoaGF2ZSAmJiAoKGdvdCA9IHdyaXRlKHN0YXRlLT5mZCwgc3RhdGUtPngubmV4dCwgaGF2ZSkpIDwgMCB8fAotICAgICAgICAgICAgICAgICAgICAgICAgICh1bnNpZ25lZClnb3QgIT0gaGF2ZSkpIHsKLSAgICAgICAgICAgICAgICBnel9lcnJvcihzdGF0ZSwgWl9FUlJOTywgenN0cmVycm9yKCkpOwotICAgICAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgICAgIHdoaWxlIChzdHJtLT5uZXh0X291dCA+IHN0YXRlLT54Lm5leHQpIHsKKyAgICAgICAgICAgICAgICBwdXQgPSBzdHJtLT5uZXh0X291dCAtIHN0YXRlLT54Lm5leHQgPiAoaW50KW1heCA/IG1heCA6CisgICAgICAgICAgICAgICAgICAgICAgKHVuc2lnbmVkKShzdHJtLT5uZXh0X291dCAtIHN0YXRlLT54Lm5leHQpOworICAgICAgICAgICAgICAgIHdyaXQgPSB3cml0ZShzdGF0ZS0+ZmQsIHN0YXRlLT54Lm5leHQsIHB1dCk7CisgICAgICAgICAgICAgICAgaWYgKHdyaXQgPCAwKSB7CisgICAgICAgICAgICAgICAgICAgIGd6X2Vycm9yKHN0YXRlLCBaX0VSUk5PLCB6c3RyZXJyb3IoKSk7CisgICAgICAgICAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgc3RhdGUtPngubmV4dCArPSB3cml0OwogICAgICAgICAgICAgfQogICAgICAgICAgICAgaWYgKHN0cm0tPmF2YWlsX291dCA9PSAwKSB7CiAgICAgICAgICAgICAgICAgc3RybS0+YXZhaWxfb3V0ID0gc3RhdGUtPnNpemU7CiAgICAgICAgICAgICAgICAgc3RybS0+bmV4dF9vdXQgPSBzdGF0ZS0+b3V0OworICAgICAgICAgICAgICAgIHN0YXRlLT54Lm5leHQgPSBzdGF0ZS0+b3V0OwogICAgICAgICAgICAgfQotICAgICAgICAgICAgc3RhdGUtPngubmV4dCA9IHN0cm0tPm5leHRfb3V0OwogICAgICAgICB9CiAKICAgICAgICAgLyogY29tcHJlc3MgKi8KQEAgLTEyMywxMyArMTQzLDE0IEBACiAKICAgICAvKiBpZiB0aGF0IGNvbXBsZXRlZCBhIGRlZmxhdGUgc3RyZWFtLCBhbGxvdyBhbm90aGVyIHRvIHN0YXJ0ICovCiAgICAgaWYgKGZsdXNoID09IFpfRklOSVNIKQotICAgICAgICBkZWZsYXRlUmVzZXQoc3RybSk7CisgICAgICAgIHN0YXRlLT5yZXNldCA9IDE7CiAKICAgICAvKiBhbGwgZG9uZSwgbm8gZXJyb3JzICovCiAgICAgcmV0dXJuIDA7CiB9CiAKLS8qIENvbXByZXNzIGxlbiB6ZXJvcyB0byBvdXRwdXQuICBSZXR1cm4gLTEgb24gZXJyb3IsIDAgb24gc3VjY2Vzcy4gKi8KKy8qIENvbXByZXNzIGxlbiB6ZXJvcyB0byBvdXRwdXQuICBSZXR1cm4gLTEgb24gYSB3cml0ZSBlcnJvciBvciBtZW1vcnkKKyAgIGFsbG9jYXRpb24gZmFpbHVyZSBieSBnel9jb21wKCksIG9yIDAgb24gc3VjY2Vzcy4gKi8KIGxvY2FsIGludCBnel96ZXJvKHN0YXRlLCBsZW4pCiAgICAgZ3pfc3RhdGVwIHN0YXRlOwogICAgIHpfb2ZmNjRfdCBsZW47CkBAIC0xNjEsMzIgKzE4MiwxNCBAQAogICAgIHJldHVybiAwOwogfQogCi0vKiAtLSBzZWUgemxpYi5oIC0tICovCi1pbnQgWkVYUE9SVCBnendyaXRlKGZpbGUsIGJ1ZiwgbGVuKQotICAgIGd6RmlsZSBmaWxlOwotICAgIHZvaWRwYyBidWY7Ci0gICAgdW5zaWduZWQgbGVuOwotewotICAgIHVuc2lnbmVkIHB1dCA9IGxlbjsKKy8qIFdyaXRlIGxlbiBieXRlcyBmcm9tIGJ1ZiB0byBmaWxlLiAgUmV0dXJuIHRoZSBudW1iZXIgb2YgYnl0ZXMgd3JpdHRlbi4gIElmCisgICB0aGUgcmV0dXJuZWQgdmFsdWUgaXMgbGVzcyB0aGFuIGxlbiwgdGhlbiB0aGVyZSB3YXMgYW4gZXJyb3IuICovCitsb2NhbCB6X3NpemVfdCBnel93cml0ZShzdGF0ZSwgYnVmLCBsZW4pCiAgICAgZ3pfc3RhdGVwIHN0YXRlOwotICAgIHpfc3RyZWFtcCBzdHJtOwotCi0gICAgLyogZ2V0IGludGVybmFsIHN0cnVjdHVyZSAqLwotICAgIGlmIChmaWxlID09IE5VTEwpCi0gICAgICAgIHJldHVybiAwOwotICAgIHN0YXRlID0gKGd6X3N0YXRlcClmaWxlOwotICAgIHN0cm0gPSAmKHN0YXRlLT5zdHJtKTsKLQotICAgIC8qIGNoZWNrIHRoYXQgd2UncmUgd3JpdGluZyBhbmQgdGhhdCB0aGVyZSdzIG5vIGVycm9yICovCi0gICAgaWYgKHN0YXRlLT5tb2RlICE9IEdaX1dSSVRFIHx8IHN0YXRlLT5lcnIgIT0gWl9PSykKLSAgICAgICAgcmV0dXJuIDA7Ci0KLSAgICAvKiBzaW5jZSBhbiBpbnQgaXMgcmV0dXJuZWQsIG1ha2Ugc3VyZSBsZW4gZml0cyBpbiBvbmUsIG90aGVyd2lzZSByZXR1cm4KLSAgICAgICB3aXRoIGFuIGVycm9yICh0aGlzIGF2b2lkcyB0aGUgZmxhdyBpbiB0aGUgaW50ZXJmYWNlKSAqLwotICAgIGlmICgoaW50KWxlbiA8IDApIHsKLSAgICAgICAgZ3pfZXJyb3Ioc3RhdGUsIFpfREFUQV9FUlJPUiwgInJlcXVlc3RlZCBsZW5ndGggZG9lcyBub3QgZml0IGluIGludCIpOwotICAgICAgICByZXR1cm4gMDsKLSAgICB9CisgICAgdm9pZHBjIGJ1ZjsKKyAgICB6X3NpemVfdCBsZW47Cit7CisgICAgel9zaXplX3QgcHV0ID0gbGVuOwogCiAgICAgLyogaWYgbGVuIGlzIHplcm8sIGF2b2lkIHVubmVjZXNzYXJ5IG9wZXJhdGlvbnMgKi8KICAgICBpZiAobGVuID09IDApCkBAIC0yMDksMTQgKzIxMiwxNSBAQAogICAgICAgICBkbyB7CiAgICAgICAgICAgICB1bnNpZ25lZCBoYXZlLCBjb3B5OwogCi0gICAgICAgICAgICBpZiAoc3RybS0+YXZhaWxfaW4gPT0gMCkKLSAgICAgICAgICAgICAgICBzdHJtLT5uZXh0X2luID0gc3RhdGUtPmluOwotICAgICAgICAgICAgaGF2ZSA9ICh1bnNpZ25lZCkoKHN0cm0tPm5leHRfaW4gKyBzdHJtLT5hdmFpbF9pbikgLSBzdGF0ZS0+aW4pOworICAgICAgICAgICAgaWYgKHN0YXRlLT5zdHJtLmF2YWlsX2luID09IDApCisgICAgICAgICAgICAgICAgc3RhdGUtPnN0cm0ubmV4dF9pbiA9IHN0YXRlLT5pbjsKKyAgICAgICAgICAgIGhhdmUgPSAodW5zaWduZWQpKChzdGF0ZS0+c3RybS5uZXh0X2luICsgc3RhdGUtPnN0cm0uYXZhaWxfaW4pIC0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlLT5pbik7CiAgICAgICAgICAgICBjb3B5ID0gc3RhdGUtPnNpemUgLSBoYXZlOwogICAgICAgICAgICAgaWYgKGNvcHkgPiBsZW4pCi0gICAgICAgICAgICAgICAgY29weSA9IGxlbjsKKyAgICAgICAgICAgICAgICBjb3B5ID0gKHVuc2lnbmVkKWxlbjsKICAgICAgICAgICAgIG1lbWNweShzdGF0ZS0+aW4gKyBoYXZlLCBidWYsIGNvcHkpOwotICAgICAgICAgICAgc3RybS0+YXZhaWxfaW4gKz0gY29weTsKKyAgICAgICAgICAgIHN0YXRlLT5zdHJtLmF2YWlsX2luICs9IGNvcHk7CiAgICAgICAgICAgICBzdGF0ZS0+eC5wb3MgKz0gY29weTsKICAgICAgICAgICAgIGJ1ZiA9IChjb25zdCBjaGFyICopYnVmICsgY29weTsKICAgICAgICAgICAgIGxlbiAtPSBjb3B5OwpAQCAtMjI2LDE5ICsyMzAsODMgQEAKICAgICB9CiAgICAgZWxzZSB7CiAgICAgICAgIC8qIGNvbnN1bWUgd2hhdGV2ZXIncyBsZWZ0IGluIHRoZSBpbnB1dCBidWZmZXIgKi8KLSAgICAgICAgaWYgKHN0cm0tPmF2YWlsX2luICYmIGd6X2NvbXAoc3RhdGUsIFpfTk9fRkxVU0gpID09IC0xKQorICAgICAgICBpZiAoc3RhdGUtPnN0cm0uYXZhaWxfaW4gJiYgZ3pfY29tcChzdGF0ZSwgWl9OT19GTFVTSCkgPT0gLTEpCiAgICAgICAgICAgICByZXR1cm4gMDsKIAogICAgICAgICAvKiBkaXJlY3RseSBjb21wcmVzcyB1c2VyIGJ1ZmZlciB0byBmaWxlICovCi0gICAgICAgIHN0cm0tPmF2YWlsX2luID0gbGVuOwotICAgICAgICBzdHJtLT5uZXh0X2luID0gKHpfY29uc3QgQnl0ZWYgKilidWY7Ci0gICAgICAgIHN0YXRlLT54LnBvcyArPSBsZW47Ci0gICAgICAgIGlmIChnel9jb21wKHN0YXRlLCBaX05PX0ZMVVNIKSA9PSAtMSkKLSAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICBzdGF0ZS0+c3RybS5uZXh0X2luID0gKHpfY29uc3QgQnl0ZWYgKilidWY7CisgICAgICAgIGRvIHsKKyAgICAgICAgICAgIHVuc2lnbmVkIG4gPSAodW5zaWduZWQpLTE7CisgICAgICAgICAgICBpZiAobiA+IGxlbikKKyAgICAgICAgICAgICAgICBuID0gKHVuc2lnbmVkKWxlbjsKKyAgICAgICAgICAgIHN0YXRlLT5zdHJtLmF2YWlsX2luID0gbjsKKyAgICAgICAgICAgIHN0YXRlLT54LnBvcyArPSBuOworICAgICAgICAgICAgaWYgKGd6X2NvbXAoc3RhdGUsIFpfTk9fRkxVU0gpID09IC0xKQorICAgICAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICAgICAgbGVuIC09IG47CisgICAgICAgIH0gd2hpbGUgKGxlbik7CiAgICAgfQogCi0gICAgLyogaW5wdXQgd2FzIGFsbCBidWZmZXJlZCBvciBjb21wcmVzc2VkIChwdXQgd2lsbCBmaXQgaW4gaW50KSAqLwotICAgIHJldHVybiAoaW50KXB1dDsKKyAgICAvKiBpbnB1dCB3YXMgYWxsIGJ1ZmZlcmVkIG9yIGNvbXByZXNzZWQgKi8KKyAgICByZXR1cm4gcHV0OworfQorCisvKiAtLSBzZWUgemxpYi5oIC0tICovCitpbnQgWkVYUE9SVCBnendyaXRlKGZpbGUsIGJ1ZiwgbGVuKQorICAgIGd6RmlsZSBmaWxlOworICAgIHZvaWRwYyBidWY7CisgICAgdW5zaWduZWQgbGVuOworeworICAgIGd6X3N0YXRlcCBzdGF0ZTsKKworICAgIC8qIGdldCBpbnRlcm5hbCBzdHJ1Y3R1cmUgKi8KKyAgICBpZiAoZmlsZSA9PSBOVUxMKQorICAgICAgICByZXR1cm4gMDsKKyAgICBzdGF0ZSA9IChnel9zdGF0ZXApZmlsZTsKKworICAgIC8qIGNoZWNrIHRoYXQgd2UncmUgd3JpdGluZyBhbmQgdGhhdCB0aGVyZSdzIG5vIGVycm9yICovCisgICAgaWYgKHN0YXRlLT5tb2RlICE9IEdaX1dSSVRFIHx8IHN0YXRlLT5lcnIgIT0gWl9PSykKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICAvKiBzaW5jZSBhbiBpbnQgaXMgcmV0dXJuZWQsIG1ha2Ugc3VyZSBsZW4gZml0cyBpbiBvbmUsIG90aGVyd2lzZSByZXR1cm4KKyAgICAgICB3aXRoIGFuIGVycm9yICh0aGlzIGF2b2lkcyBhIGZsYXcgaW4gdGhlIGludGVyZmFjZSkgKi8KKyAgICBpZiAoKGludClsZW4gPCAwKSB7CisgICAgICAgIGd6X2Vycm9yKHN0YXRlLCBaX0RBVEFfRVJST1IsICJyZXF1ZXN0ZWQgbGVuZ3RoIGRvZXMgbm90IGZpdCBpbiBpbnQiKTsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorCisgICAgLyogd3JpdGUgbGVuIGJ5dGVzIGZyb20gYnVmICh0aGUgcmV0dXJuIHZhbHVlIHdpbGwgZml0IGluIGFuIGludCkgKi8KKyAgICByZXR1cm4gKGludClnel93cml0ZShzdGF0ZSwgYnVmLCBsZW4pOworfQorCisvKiAtLSBzZWUgemxpYi5oIC0tICovCit6X3NpemVfdCBaRVhQT1JUIGd6ZndyaXRlKGJ1Ziwgc2l6ZSwgbml0ZW1zLCBmaWxlKQorICAgIHZvaWRwYyBidWY7CisgICAgel9zaXplX3Qgc2l6ZTsKKyAgICB6X3NpemVfdCBuaXRlbXM7CisgICAgZ3pGaWxlIGZpbGU7Cit7CisgICAgel9zaXplX3QgbGVuOworICAgIGd6X3N0YXRlcCBzdGF0ZTsKKworICAgIC8qIGdldCBpbnRlcm5hbCBzdHJ1Y3R1cmUgKi8KKyAgICBpZiAoZmlsZSA9PSBOVUxMKQorICAgICAgICByZXR1cm4gMDsKKyAgICBzdGF0ZSA9IChnel9zdGF0ZXApZmlsZTsKKworICAgIC8qIGNoZWNrIHRoYXQgd2UncmUgd3JpdGluZyBhbmQgdGhhdCB0aGVyZSdzIG5vIGVycm9yICovCisgICAgaWYgKHN0YXRlLT5tb2RlICE9IEdaX1dSSVRFIHx8IHN0YXRlLT5lcnIgIT0gWl9PSykKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICAvKiBjb21wdXRlIGJ5dGVzIHRvIHJlYWQgLS0gZXJyb3Igb24gb3ZlcmZsb3cgKi8KKyAgICBsZW4gPSBuaXRlbXMgKiBzaXplOworICAgIGlmIChzaXplICYmIGxlbiAvIHNpemUgIT0gbml0ZW1zKSB7CisgICAgICAgIGd6X2Vycm9yKHN0YXRlLCBaX1NUUkVBTV9FUlJPUiwgInJlcXVlc3QgZG9lcyBub3QgZml0IGluIGEgc2l6ZV90Iik7CisgICAgICAgIHJldHVybiAwOworICAgIH0KKworICAgIC8qIHdyaXRlIGxlbiBieXRlcyB0byBidWYsIHJldHVybiB0aGUgbnVtYmVyIG9mIGZ1bGwgaXRlbXMgd3JpdHRlbiAqLworICAgIHJldHVybiBsZW4gPyBnel93cml0ZShzdGF0ZSwgYnVmLCBsZW4pIC8gc2l6ZSA6IDA7CiB9CiAKIC8qIC0tIHNlZSB6bGliLmggLS0gKi8KQEAgLTI3NSw3ICszNDMsNyBAQAogICAgICAgICAgICAgc3RybS0+bmV4dF9pbiA9IHN0YXRlLT5pbjsKICAgICAgICAgaGF2ZSA9ICh1bnNpZ25lZCkoKHN0cm0tPm5leHRfaW4gKyBzdHJtLT5hdmFpbF9pbikgLSBzdGF0ZS0+aW4pOwogICAgICAgICBpZiAoaGF2ZSA8IHN0YXRlLT5zaXplKSB7Ci0gICAgICAgICAgICBzdGF0ZS0+aW5baGF2ZV0gPSBjOworICAgICAgICAgICAgc3RhdGUtPmluW2hhdmVdID0gKHVuc2lnbmVkIGNoYXIpYzsKICAgICAgICAgICAgIHN0cm0tPmF2YWlsX2luKys7CiAgICAgICAgICAgICBzdGF0ZS0+eC5wb3MrKzsKICAgICAgICAgICAgIHJldHVybiBjICYgMHhmZjsKQEAgLTI4MywyNCArMzUxLDM3IEBACiAgICAgfQogCiAgICAgLyogbm8gcm9vbSBpbiBidWZmZXIgb3Igbm90IGluaXRpYWxpemVkLCB1c2UgZ3pfd3JpdGUoKSAqLwotICAgIGJ1ZlswXSA9IGM7Ci0gICAgaWYgKGd6d3JpdGUoZmlsZSwgYnVmLCAxKSAhPSAxKQorICAgIGJ1ZlswXSA9ICh1bnNpZ25lZCBjaGFyKWM7CisgICAgaWYgKGd6X3dyaXRlKHN0YXRlLCBidWYsIDEpICE9IDEpCiAgICAgICAgIHJldHVybiAtMTsKICAgICByZXR1cm4gYyAmIDB4ZmY7CiB9CiAKIC8qIC0tIHNlZSB6bGliLmggLS0gKi8KLWludCBaRVhQT1JUIGd6cHV0cyhmaWxlLCBzdHIpCitpbnQgWkVYUE9SVCBnenB1dHMoZmlsZSwgcykKICAgICBnekZpbGUgZmlsZTsKLSAgICBjb25zdCBjaGFyICpzdHI7CisgICAgY29uc3QgY2hhciAqczsKIHsKLSAgICBpbnQgcmV0OwotICAgIHVuc2lnbmVkIGxlbjsKKyAgICB6X3NpemVfdCBsZW4sIHB1dDsKKyAgICBnel9zdGF0ZXAgc3RhdGU7CisKKyAgICAvKiBnZXQgaW50ZXJuYWwgc3RydWN0dXJlICovCisgICAgaWYgKGZpbGUgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIC0xOworICAgIHN0YXRlID0gKGd6X3N0YXRlcClmaWxlOworCisgICAgLyogY2hlY2sgdGhhdCB3ZSdyZSB3cml0aW5nIGFuZCB0aGF0IHRoZXJlJ3Mgbm8gZXJyb3IgKi8KKyAgICBpZiAoc3RhdGUtPm1vZGUgIT0gR1pfV1JJVEUgfHwgc3RhdGUtPmVyciAhPSBaX09LKQorICAgICAgICByZXR1cm4gLTE7CiAKICAgICAvKiB3cml0ZSBzdHJpbmcgKi8KLSAgICBsZW4gPSAodW5zaWduZWQpc3RybGVuKHN0cik7Ci0gICAgcmV0ID0gZ3p3cml0ZShmaWxlLCBzdHIsIGxlbik7Ci0gICAgcmV0dXJuIHJldCA9PSAwICYmIGxlbiAhPSAwID8gLTEgOiByZXQ7CisgICAgbGVuID0gc3RybGVuKHMpOworICAgIGlmICgoaW50KWxlbiA8IDAgfHwgKHVuc2lnbmVkKWxlbiAhPSBsZW4pIHsKKyAgICAgICAgZ3pfZXJyb3Ioc3RhdGUsIFpfU1RSRUFNX0VSUk9SLCAic3RyaW5nIGxlbmd0aCBkb2VzIG5vdCBmaXQgaW4gaW50Iik7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisgICAgcHV0ID0gZ3pfd3JpdGUoc3RhdGUsIHMsIGxlbik7CisgICAgcmV0dXJuIHB1dCA8IGxlbiA/IC0xIDogKGludClsZW47CiB9CiAKICNpZiBkZWZpbmVkKFNUREMpIHx8IGRlZmluZWQoWl9IQVZFX1NUREFSR19IKQpAQCAtMzA5LDYzICszOTAsNzMgQEAKIC8qIC0tIHNlZSB6bGliLmggLS0gKi8KIGludCBaRVhQT1JUVkEgZ3p2cHJpbnRmKGd6RmlsZSBmaWxlLCBjb25zdCBjaGFyICpmb3JtYXQsIHZhX2xpc3QgdmEpCiB7Ci0gICAgaW50IHNpemUsIGxlbjsKKyAgICBpbnQgbGVuOworICAgIHVuc2lnbmVkIGxlZnQ7CisgICAgY2hhciAqbmV4dDsKICAgICBnel9zdGF0ZXAgc3RhdGU7CiAgICAgel9zdHJlYW1wIHN0cm07CiAKICAgICAvKiBnZXQgaW50ZXJuYWwgc3RydWN0dXJlICovCiAgICAgaWYgKGZpbGUgPT0gTlVMTCkKLSAgICAgICAgcmV0dXJuIC0xOworICAgICAgICByZXR1cm4gWl9TVFJFQU1fRVJST1I7CiAgICAgc3RhdGUgPSAoZ3pfc3RhdGVwKWZpbGU7CiAgICAgc3RybSA9ICYoc3RhdGUtPnN0cm0pOwogCiAgICAgLyogY2hlY2sgdGhhdCB3ZSdyZSB3cml0aW5nIGFuZCB0aGF0IHRoZXJlJ3Mgbm8gZXJyb3IgKi8KICAgICBpZiAoc3RhdGUtPm1vZGUgIT0gR1pfV1JJVEUgfHwgc3RhdGUtPmVyciAhPSBaX09LKQotICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgcmV0dXJuIFpfU1RSRUFNX0VSUk9SOwogCiAgICAgLyogbWFrZSBzdXJlIHdlIGhhdmUgc29tZSBidWZmZXIgc3BhY2UgKi8KICAgICBpZiAoc3RhdGUtPnNpemUgPT0gMCAmJiBnel9pbml0KHN0YXRlKSA9PSAtMSkKLSAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIHJldHVybiBzdGF0ZS0+ZXJyOwogCiAgICAgLyogY2hlY2sgZm9yIHNlZWsgcmVxdWVzdCAqLwogICAgIGlmIChzdGF0ZS0+c2VlaykgewogICAgICAgICBzdGF0ZS0+c2VlayA9IDA7CiAgICAgICAgIGlmIChnel96ZXJvKHN0YXRlLCBzdGF0ZS0+c2tpcCkgPT0gLTEpCi0gICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgICAgIHJldHVybiBzdGF0ZS0+ZXJyOwogICAgIH0KIAotICAgIC8qIGNvbnN1bWUgd2hhdGV2ZXIncyBsZWZ0IGluIHRoZSBpbnB1dCBidWZmZXIgKi8KLSAgICBpZiAoc3RybS0+YXZhaWxfaW4gJiYgZ3pfY29tcChzdGF0ZSwgWl9OT19GTFVTSCkgPT0gLTEpCi0gICAgICAgIHJldHVybiAwOwotCi0gICAgLyogZG8gdGhlIHByaW50ZigpIGludG8gdGhlIGlucHV0IGJ1ZmZlciwgcHV0IGxlbmd0aCBpbiBsZW4gKi8KLSAgICBzaXplID0gKGludCkoc3RhdGUtPnNpemUpOwotICAgIHN0YXRlLT5pbltzaXplIC0gMV0gPSAwOworICAgIC8qIGRvIHRoZSBwcmludGYoKSBpbnRvIHRoZSBpbnB1dCBidWZmZXIsIHB1dCBsZW5ndGggaW4gbGVuIC0tIHRoZSBpbnB1dAorICAgICAgIGJ1ZmZlciBpcyBkb3VibGUtc2l6ZWQganVzdCBmb3IgdGhpcyBmdW5jdGlvbiwgc28gdGhlcmUgaXMgZ3VhcmFudGVlZCB0bworICAgICAgIGJlIHN0YXRlLT5zaXplIGJ5dGVzIGF2YWlsYWJsZSBhZnRlciB0aGUgY3VycmVudCBjb250ZW50cyAqLworICAgIGlmIChzdHJtLT5hdmFpbF9pbiA9PSAwKQorICAgICAgICBzdHJtLT5uZXh0X2luID0gc3RhdGUtPmluOworICAgIG5leHQgPSAoY2hhciAqKShzdGF0ZS0+aW4gKyAoc3RybS0+bmV4dF9pbiAtIHN0YXRlLT5pbikgKyBzdHJtLT5hdmFpbF9pbik7CisgICAgbmV4dFtzdGF0ZS0+c2l6ZSAtIDFdID0gMDsKICNpZmRlZiBOT192c25wcmludGYKICMgIGlmZGVmIEhBU192c3ByaW50Zl92b2lkCi0gICAgKHZvaWQpdnNwcmludGYoKGNoYXIgKikoc3RhdGUtPmluKSwgZm9ybWF0LCB2YSk7Ci0gICAgZm9yIChsZW4gPSAwOyBsZW4gPCBzaXplOyBsZW4rKykKLSAgICAgICAgaWYgKHN0YXRlLT5pbltsZW5dID09IDApIGJyZWFrOworICAgICh2b2lkKXZzcHJpbnRmKG5leHQsIGZvcm1hdCwgdmEpOworICAgIGZvciAobGVuID0gMDsgbGVuIDwgc3RhdGUtPnNpemU7IGxlbisrKQorICAgICAgICBpZiAobmV4dFtsZW5dID09IDApIGJyZWFrOwogIyAgZWxzZQotICAgIGxlbiA9IHZzcHJpbnRmKChjaGFyICopKHN0YXRlLT5pbiksIGZvcm1hdCwgdmEpOworICAgIGxlbiA9IHZzcHJpbnRmKG5leHQsIGZvcm1hdCwgdmEpOwogIyAgZW5kaWYKICNlbHNlCiAjICBpZmRlZiBIQVNfdnNucHJpbnRmX3ZvaWQKLSAgICAodm9pZCl2c25wcmludGYoKGNoYXIgKikoc3RhdGUtPmluKSwgc2l6ZSwgZm9ybWF0LCB2YSk7Ci0gICAgbGVuID0gc3RybGVuKChjaGFyICopKHN0YXRlLT5pbikpOworICAgICh2b2lkKXZzbnByaW50ZihuZXh0LCBzdGF0ZS0+c2l6ZSwgZm9ybWF0LCB2YSk7CisgICAgbGVuID0gc3RybGVuKG5leHQpOwogIyAgZWxzZQotICAgIGxlbiA9IHZzbnByaW50ZigoY2hhciAqKShzdGF0ZS0+aW4pLCBzaXplLCBmb3JtYXQsIHZhKTsKKyAgICBsZW4gPSB2c25wcmludGYobmV4dCwgc3RhdGUtPnNpemUsIGZvcm1hdCwgdmEpOwogIyAgZW5kaWYKICNlbmRpZgogCiAgICAgLyogY2hlY2sgdGhhdCBwcmludGYoKSByZXN1bHRzIGZpdCBpbiBidWZmZXIgKi8KLSAgICBpZiAobGVuIDw9IDAgfHwgbGVuID49IChpbnQpc2l6ZSB8fCBzdGF0ZS0+aW5bc2l6ZSAtIDFdICE9IDApCisgICAgaWYgKGxlbiA9PSAwIHx8ICh1bnNpZ25lZClsZW4gPj0gc3RhdGUtPnNpemUgfHwgbmV4dFtzdGF0ZS0+c2l6ZSAtIDFdICE9IDApCiAgICAgICAgIHJldHVybiAwOwogCi0gICAgLyogdXBkYXRlIGJ1ZmZlciBhbmQgcG9zaXRpb24sIGRlZmVyIGNvbXByZXNzaW9uIHVudGlsIG5lZWRlZCAqLwotICAgIHN0cm0tPmF2YWlsX2luID0gKHVuc2lnbmVkKWxlbjsKLSAgICBzdHJtLT5uZXh0X2luID0gc3RhdGUtPmluOworICAgIC8qIHVwZGF0ZSBidWZmZXIgYW5kIHBvc2l0aW9uLCBjb21wcmVzcyBmaXJzdCBoYWxmIGlmIHBhc3QgdGhhdCAqLworICAgIHN0cm0tPmF2YWlsX2luICs9ICh1bnNpZ25lZClsZW47CiAgICAgc3RhdGUtPngucG9zICs9IGxlbjsKKyAgICBpZiAoc3RybS0+YXZhaWxfaW4gPj0gc3RhdGUtPnNpemUpIHsKKyAgICAgICAgbGVmdCA9IHN0cm0tPmF2YWlsX2luIC0gc3RhdGUtPnNpemU7CisgICAgICAgIHN0cm0tPmF2YWlsX2luID0gc3RhdGUtPnNpemU7CisgICAgICAgIGlmIChnel9jb21wKHN0YXRlLCBaX05PX0ZMVVNIKSA9PSAtMSkKKyAgICAgICAgICAgIHJldHVybiBzdGF0ZS0+ZXJyOworICAgICAgICBtZW1tb3ZlKHN0YXRlLT5pbiwgc3RhdGUtPmluICsgc3RhdGUtPnNpemUsIGxlZnQpOworICAgICAgICBzdHJtLT5uZXh0X2luID0gc3RhdGUtPmluOworICAgICAgICBzdHJtLT5hdmFpbF9pbiA9IGxlZnQ7CisgICAgfQogICAgIHJldHVybiBsZW47CiB9CiAKQEAgLTM4Myw4MCArNDc0LDg5IEBACiAjZWxzZSAvKiAhU1REQyAmJiAhWl9IQVZFX1NUREFSR19IICovCiAKIC8qIC0tIHNlZSB6bGliLmggLS0gKi8KLWludCBaRVhQT1JUVkEgZ3pwcmludGYgKGZpbGUsIGZvcm1hdCwgYTEsIGEyLCBhMywgYTQsIGE1LCBhNiwgYTcsIGE4LCBhOSwgYTEwLAoraW50IFpFWFBPUlRWQSBnenByaW50ZihmaWxlLCBmb3JtYXQsIGExLCBhMiwgYTMsIGE0LCBhNSwgYTYsIGE3LCBhOCwgYTksIGExMCwKICAgICAgICAgICAgICAgICAgICAgICAgYTExLCBhMTIsIGExMywgYTE0LCBhMTUsIGExNiwgYTE3LCBhMTgsIGExOSwgYTIwKQogICAgIGd6RmlsZSBmaWxlOwogICAgIGNvbnN0IGNoYXIgKmZvcm1hdDsKICAgICBpbnQgYTEsIGEyLCBhMywgYTQsIGE1LCBhNiwgYTcsIGE4LCBhOSwgYTEwLAogICAgICAgICBhMTEsIGExMiwgYTEzLCBhMTQsIGExNSwgYTE2LCBhMTcsIGExOCwgYTE5LCBhMjA7CiB7Ci0gICAgaW50IHNpemUsIGxlbjsKKyAgICB1bnNpZ25lZCBsZW4sIGxlZnQ7CisgICAgY2hhciAqbmV4dDsKICAgICBnel9zdGF0ZXAgc3RhdGU7CiAgICAgel9zdHJlYW1wIHN0cm07CiAKICAgICAvKiBnZXQgaW50ZXJuYWwgc3RydWN0dXJlICovCiAgICAgaWYgKGZpbGUgPT0gTlVMTCkKLSAgICAgICAgcmV0dXJuIC0xOworICAgICAgICByZXR1cm4gWl9TVFJFQU1fRVJST1I7CiAgICAgc3RhdGUgPSAoZ3pfc3RhdGVwKWZpbGU7CiAgICAgc3RybSA9ICYoc3RhdGUtPnN0cm0pOwogCiAgICAgLyogY2hlY2sgdGhhdCBjYW4gcmVhbGx5IHBhc3MgcG9pbnRlciBpbiBpbnRzICovCiAgICAgaWYgKHNpemVvZihpbnQpICE9IHNpemVvZih2b2lkICopKQotICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgcmV0dXJuIFpfU1RSRUFNX0VSUk9SOwogCiAgICAgLyogY2hlY2sgdGhhdCB3ZSdyZSB3cml0aW5nIGFuZCB0aGF0IHRoZXJlJ3Mgbm8gZXJyb3IgKi8KICAgICBpZiAoc3RhdGUtPm1vZGUgIT0gR1pfV1JJVEUgfHwgc3RhdGUtPmVyciAhPSBaX09LKQotICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgcmV0dXJuIFpfU1RSRUFNX0VSUk9SOwogCiAgICAgLyogbWFrZSBzdXJlIHdlIGhhdmUgc29tZSBidWZmZXIgc3BhY2UgKi8KICAgICBpZiAoc3RhdGUtPnNpemUgPT0gMCAmJiBnel9pbml0KHN0YXRlKSA9PSAtMSkKLSAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIHJldHVybiBzdGF0ZS0+ZXJyb3I7CiAKICAgICAvKiBjaGVjayBmb3Igc2VlayByZXF1ZXN0ICovCiAgICAgaWYgKHN0YXRlLT5zZWVrKSB7CiAgICAgICAgIHN0YXRlLT5zZWVrID0gMDsKICAgICAgICAgaWYgKGd6X3plcm8oc3RhdGUsIHN0YXRlLT5za2lwKSA9PSAtMSkKLSAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICAgICAgcmV0dXJuIHN0YXRlLT5lcnJvcjsKICAgICB9CiAKLSAgICAvKiBjb25zdW1lIHdoYXRldmVyJ3MgbGVmdCBpbiB0aGUgaW5wdXQgYnVmZmVyICovCi0gICAgaWYgKHN0cm0tPmF2YWlsX2luICYmIGd6X2NvbXAoc3RhdGUsIFpfTk9fRkxVU0gpID09IC0xKQotICAgICAgICByZXR1cm4gMDsKLQotICAgIC8qIGRvIHRoZSBwcmludGYoKSBpbnRvIHRoZSBpbnB1dCBidWZmZXIsIHB1dCBsZW5ndGggaW4gbGVuICovCi0gICAgc2l6ZSA9IChpbnQpKHN0YXRlLT5zaXplKTsKLSAgICBzdGF0ZS0+aW5bc2l6ZSAtIDFdID0gMDsKKyAgICAvKiBkbyB0aGUgcHJpbnRmKCkgaW50byB0aGUgaW5wdXQgYnVmZmVyLCBwdXQgbGVuZ3RoIGluIGxlbiAtLSB0aGUgaW5wdXQKKyAgICAgICBidWZmZXIgaXMgZG91YmxlLXNpemVkIGp1c3QgZm9yIHRoaXMgZnVuY3Rpb24sIHNvIHRoZXJlIGlzIGd1YXJhbnRlZWQgdG8KKyAgICAgICBiZSBzdGF0ZS0+c2l6ZSBieXRlcyBhdmFpbGFibGUgYWZ0ZXIgdGhlIGN1cnJlbnQgY29udGVudHMgKi8KKyAgICBpZiAoc3RybS0+YXZhaWxfaW4gPT0gMCkKKyAgICAgICAgc3RybS0+bmV4dF9pbiA9IHN0YXRlLT5pbjsKKyAgICBuZXh0ID0gKGNoYXIgKikoc3RybS0+bmV4dF9pbiArIHN0cm0tPmF2YWlsX2luKTsKKyAgICBuZXh0W3N0YXRlLT5zaXplIC0gMV0gPSAwOwogI2lmZGVmIE5PX3NucHJpbnRmCiAjICBpZmRlZiBIQVNfc3ByaW50Zl92b2lkCi0gICAgc3ByaW50ZigoY2hhciAqKShzdGF0ZS0+aW4pLCBmb3JtYXQsIGExLCBhMiwgYTMsIGE0LCBhNSwgYTYsIGE3LCBhOCwKLSAgICAgICAgICAgIGE5LCBhMTAsIGExMSwgYTEyLCBhMTMsIGExNCwgYTE1LCBhMTYsIGExNywgYTE4LCBhMTksIGEyMCk7CisgICAgc3ByaW50ZihuZXh0LCBmb3JtYXQsIGExLCBhMiwgYTMsIGE0LCBhNSwgYTYsIGE3LCBhOCwgYTksIGExMCwgYTExLCBhMTIsCisgICAgICAgICAgICBhMTMsIGExNCwgYTE1LCBhMTYsIGExNywgYTE4LCBhMTksIGEyMCk7CiAgICAgZm9yIChsZW4gPSAwOyBsZW4gPCBzaXplOyBsZW4rKykKLSAgICAgICAgaWYgKHN0YXRlLT5pbltsZW5dID09IDApIGJyZWFrOworICAgICAgICBpZiAobmV4dFtsZW5dID09IDApCisgICAgICAgICAgICBicmVhazsKICMgIGVsc2UKLSAgICBsZW4gPSBzcHJpbnRmKChjaGFyICopKHN0YXRlLT5pbiksIGZvcm1hdCwgYTEsIGEyLCBhMywgYTQsIGE1LCBhNiwgYTcsIGE4LAotICAgICAgICAgICAgICAgICAgYTksIGExMCwgYTExLCBhMTIsIGExMywgYTE0LCBhMTUsIGExNiwgYTE3LCBhMTgsIGExOSwgYTIwKTsKKyAgICBsZW4gPSBzcHJpbnRmKG5leHQsIGZvcm1hdCwgYTEsIGEyLCBhMywgYTQsIGE1LCBhNiwgYTcsIGE4LCBhOSwgYTEwLCBhMTEsCisgICAgICAgICAgICAgICAgICBhMTIsIGExMywgYTE0LCBhMTUsIGExNiwgYTE3LCBhMTgsIGExOSwgYTIwKTsKICMgIGVuZGlmCiAjZWxzZQogIyAgaWZkZWYgSEFTX3NucHJpbnRmX3ZvaWQKLSAgICBzbnByaW50ZigoY2hhciAqKShzdGF0ZS0+aW4pLCBzaXplLCBmb3JtYXQsIGExLCBhMiwgYTMsIGE0LCBhNSwgYTYsIGE3LCBhOCwKLSAgICAgICAgICAgICBhOSwgYTEwLCBhMTEsIGExMiwgYTEzLCBhMTQsIGExNSwgYTE2LCBhMTcsIGExOCwgYTE5LCBhMjApOwotICAgIGxlbiA9IHN0cmxlbigoY2hhciAqKShzdGF0ZS0+aW4pKTsKKyAgICBzbnByaW50ZihuZXh0LCBzdGF0ZS0+c2l6ZSwgZm9ybWF0LCBhMSwgYTIsIGEzLCBhNCwgYTUsIGE2LCBhNywgYTgsIGE5LAorICAgICAgICAgICAgIGExMCwgYTExLCBhMTIsIGExMywgYTE0LCBhMTUsIGExNiwgYTE3LCBhMTgsIGExOSwgYTIwKTsKKyAgICBsZW4gPSBzdHJsZW4obmV4dCk7CiAjICBlbHNlCi0gICAgbGVuID0gc25wcmludGYoKGNoYXIgKikoc3RhdGUtPmluKSwgc2l6ZSwgZm9ybWF0LCBhMSwgYTIsIGEzLCBhNCwgYTUsIGE2LAotICAgICAgICAgICAgICAgICAgIGE3LCBhOCwgYTksIGExMCwgYTExLCBhMTIsIGExMywgYTE0LCBhMTUsIGExNiwgYTE3LCBhMTgsCi0gICAgICAgICAgICAgICAgICAgYTE5LCBhMjApOworICAgIGxlbiA9IHNucHJpbnRmKG5leHQsIHN0YXRlLT5zaXplLCBmb3JtYXQsIGExLCBhMiwgYTMsIGE0LCBhNSwgYTYsIGE3LCBhOCwKKyAgICAgICAgICAgICAgICAgICBhOSwgYTEwLCBhMTEsIGExMiwgYTEzLCBhMTQsIGExNSwgYTE2LCBhMTcsIGExOCwgYTE5LCBhMjApOwogIyAgZW5kaWYKICNlbmRpZgogCiAgICAgLyogY2hlY2sgdGhhdCBwcmludGYoKSByZXN1bHRzIGZpdCBpbiBidWZmZXIgKi8KLSAgICBpZiAobGVuIDw9IDAgfHwgbGVuID49IChpbnQpc2l6ZSB8fCBzdGF0ZS0+aW5bc2l6ZSAtIDFdICE9IDApCisgICAgaWYgKGxlbiA9PSAwIHx8IGxlbiA+PSBzdGF0ZS0+c2l6ZSB8fCBuZXh0W3N0YXRlLT5zaXplIC0gMV0gIT0gMCkKICAgICAgICAgcmV0dXJuIDA7CiAKLSAgICAvKiB1cGRhdGUgYnVmZmVyIGFuZCBwb3NpdGlvbiwgZGVmZXIgY29tcHJlc3Npb24gdW50aWwgbmVlZGVkICovCi0gICAgc3RybS0+YXZhaWxfaW4gPSAodW5zaWduZWQpbGVuOwotICAgIHN0cm0tPm5leHRfaW4gPSBzdGF0ZS0+aW47CisgICAgLyogdXBkYXRlIGJ1ZmZlciBhbmQgcG9zaXRpb24sIGNvbXByZXNzIGZpcnN0IGhhbGYgaWYgcGFzdCB0aGF0ICovCisgICAgc3RybS0+YXZhaWxfaW4gKz0gbGVuOwogICAgIHN0YXRlLT54LnBvcyArPSBsZW47Ci0gICAgcmV0dXJuIGxlbjsKKyAgICBpZiAoc3RybS0+YXZhaWxfaW4gPj0gc3RhdGUtPnNpemUpIHsKKyAgICAgICAgbGVmdCA9IHN0cm0tPmF2YWlsX2luIC0gc3RhdGUtPnNpemU7CisgICAgICAgIHN0cm0tPmF2YWlsX2luID0gc3RhdGUtPnNpemU7CisgICAgICAgIGlmIChnel9jb21wKHN0YXRlLCBaX05PX0ZMVVNIKSA9PSAtMSkKKyAgICAgICAgICAgIHJldHVybiBzdGF0ZS0+ZXJyOworICAgICAgICBtZW1tb3ZlKHN0YXRlLT5pbiwgc3RhdGUtPmluICsgc3RhdGUtPnNpemUsIGxlZnQpOworICAgICAgICBzdHJtLT5uZXh0X2luID0gc3RhdGUtPmluOworICAgICAgICBzdHJtLT5hdmFpbF9pbiA9IGxlZnQ7CisgICAgfQorICAgIHJldHVybiAoaW50KWxlbjsKIH0KIAogI2VuZGlmCkBAIC00NzAsNyArNTcwLDcgQEAKIAogICAgIC8qIGdldCBpbnRlcm5hbCBzdHJ1Y3R1cmUgKi8KICAgICBpZiAoZmlsZSA9PSBOVUxMKQotICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIHJldHVybiBaX1NUUkVBTV9FUlJPUjsKICAgICBzdGF0ZSA9IChnel9zdGF0ZXApZmlsZTsKIAogICAgIC8qIGNoZWNrIHRoYXQgd2UncmUgd3JpdGluZyBhbmQgdGhhdCB0aGVyZSdzIG5vIGVycm9yICovCkBAIC00ODUsMTEgKzU4NSwxMSBAQAogICAgIGlmIChzdGF0ZS0+c2VlaykgewogICAgICAgICBzdGF0ZS0+c2VlayA9IDA7CiAgICAgICAgIGlmIChnel96ZXJvKHN0YXRlLCBzdGF0ZS0+c2tpcCkgPT0gLTEpCi0gICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgICAgICByZXR1cm4gc3RhdGUtPmVycjsKICAgICB9CiAKICAgICAvKiBjb21wcmVzcyByZW1haW5pbmcgZGF0YSB3aXRoIHJlcXVlc3RlZCBmbHVzaCAqLwotICAgIGd6X2NvbXAoc3RhdGUsIGZsdXNoKTsKKyAgICAodm9pZClnel9jb21wKHN0YXRlLCBmbHVzaCk7CiAgICAgcmV0dXJuIHN0YXRlLT5lcnI7CiB9CiAKQEAgLTUyMCwxMyArNjIwLDEzIEBACiAgICAgaWYgKHN0YXRlLT5zZWVrKSB7CiAgICAgICAgIHN0YXRlLT5zZWVrID0gMDsKICAgICAgICAgaWYgKGd6X3plcm8oc3RhdGUsIHN0YXRlLT5za2lwKSA9PSAtMSkKLSAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgICAgIHJldHVybiBzdGF0ZS0+ZXJyOwogICAgIH0KIAogICAgIC8qIGNoYW5nZSBjb21wcmVzc2lvbiBwYXJhbWV0ZXJzIGZvciBzdWJzZXF1ZW50IGlucHV0ICovCiAgICAgaWYgKHN0YXRlLT5zaXplKSB7CiAgICAgICAgIC8qIGZsdXNoIHByZXZpb3VzIGlucHV0IHdpdGggcHJldmlvdXMgcGFyYW1ldGVycyBiZWZvcmUgY2hhbmdpbmcgKi8KLSAgICAgICAgaWYgKHN0cm0tPmF2YWlsX2luICYmIGd6X2NvbXAoc3RhdGUsIFpfUEFSVElBTF9GTFVTSCkgPT0gLTEpCisgICAgICAgIGlmIChzdHJtLT5hdmFpbF9pbiAmJiBnel9jb21wKHN0YXRlLCBaX0JMT0NLKSA9PSAtMSkKICAgICAgICAgICAgIHJldHVybiBzdGF0ZS0+ZXJyOwogICAgICAgICBkZWZsYXRlUGFyYW1zKHN0cm0sIGxldmVsLCBzdHJhdGVneSk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvc3JjL2luZmJhY2suYyBiL3NyYy9pbmZiYWNrLmMKaW5kZXggZjM4MzNjMi4uYmFiZWFmMSAxMDA2NDQKLS0tIGEvc3JjL2luZmJhY2suYworKysgYi9zcmMvaW5mYmFjay5jCkBAIC0xLDUgKzEsNSBAQAogLyogaW5mYmFjay5jIC0tIGluZmxhdGUgdXNpbmcgYSBjYWxsLWJhY2sgaW50ZXJmYWNlCi0gKiBDb3B5cmlnaHQgKEMpIDE5OTUtMjAxMSBNYXJrIEFkbGVyCisgKiBDb3B5cmlnaHQgKEMpIDE5OTUtMjAyMiBNYXJrIEFkbGVyCiAgKiBGb3IgY29uZGl0aW9ucyBvZiBkaXN0cmlidXRpb24gYW5kIHVzZSwgc2VlIGNvcHlyaWdodCBub3RpY2UgaW4gemxpYi5oCiAgKi8KIApAQCAtNjEsMTEgKzYxLDEyIEBACiAgICAgVHJhY2V2KChzdGRlcnIsICJpbmZsYXRlOiBhbGxvY2F0ZWRcbiIpKTsKICAgICBzdHJtLT5zdGF0ZSA9IChzdHJ1Y3QgaW50ZXJuYWxfc3RhdGUgRkFSICopc3RhdGU7CiAgICAgc3RhdGUtPmRtYXggPSAzMjc2OFU7Ci0gICAgc3RhdGUtPndiaXRzID0gd2luZG93Qml0czsKKyAgICBzdGF0ZS0+d2JpdHMgPSAodUludCl3aW5kb3dCaXRzOwogICAgIHN0YXRlLT53c2l6ZSA9IDFVIDw8IHdpbmRvd0JpdHM7CiAgICAgc3RhdGUtPndpbmRvdyA9IHdpbmRvdzsKICAgICBzdGF0ZS0+d25leHQgPSAwOwogICAgIHN0YXRlLT53aGF2ZSA9IDA7CisgICAgc3RhdGUtPnNhbmUgPSAxOwogICAgIHJldHVybiBaX09LOwogfQogCkBAIC00NzcsNiArNDc4LDcgQEAKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIFRyYWNldigoc3RkZXJyLCAiaW5mbGF0ZTogICAgICAgY29kZXMgb2tcbiIpKTsKICAgICAgICAgICAgIHN0YXRlLT5tb2RlID0gTEVOOworICAgICAgICAgICAgICAgIC8qIGZhbGx0aHJvdWdoICovCiAKICAgICAgICAgY2FzZSBMRU46CiAgICAgICAgICAgICAvKiB1c2UgaW5mbGF0ZV9mYXN0KCkgaWYgd2UgaGF2ZSBlbm91Z2ggaW5wdXQgYW5kIG91dHB1dCAqLwpAQCAtNjA0LDI1ICs2MDYsMjcgQEAKICAgICAgICAgICAgIGJyZWFrOwogCiAgICAgICAgIGNhc2UgRE9ORToKLSAgICAgICAgICAgIC8qIGluZmxhdGUgc3RyZWFtIHRlcm1pbmF0ZWQgcHJvcGVybHkgLS0gd3JpdGUgbGVmdG92ZXIgb3V0cHV0ICovCisgICAgICAgICAgICAvKiBpbmZsYXRlIHN0cmVhbSB0ZXJtaW5hdGVkIHByb3Blcmx5ICovCiAgICAgICAgICAgICByZXQgPSBaX1NUUkVBTV9FTkQ7Ci0gICAgICAgICAgICBpZiAobGVmdCA8IHN0YXRlLT53c2l6ZSkgewotICAgICAgICAgICAgICAgIGlmIChvdXQob3V0X2Rlc2MsIHN0YXRlLT53aW5kb3csIHN0YXRlLT53c2l6ZSAtIGxlZnQpKQotICAgICAgICAgICAgICAgICAgICByZXQgPSBaX0JVRl9FUlJPUjsKLSAgICAgICAgICAgIH0KICAgICAgICAgICAgIGdvdG8gaW5mX2xlYXZlOwogCiAgICAgICAgIGNhc2UgQkFEOgogICAgICAgICAgICAgcmV0ID0gWl9EQVRBX0VSUk9SOwogICAgICAgICAgICAgZ290byBpbmZfbGVhdmU7CiAKLSAgICAgICAgZGVmYXVsdDogICAgICAgICAgICAgICAgLyogY2FuJ3QgaGFwcGVuLCBidXQgbWFrZXMgY29tcGlsZXJzIGhhcHB5ICovCisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICAvKiBjYW4ndCBoYXBwZW4sIGJ1dCBtYWtlcyBjb21waWxlcnMgaGFwcHkgKi8KICAgICAgICAgICAgIHJldCA9IFpfU1RSRUFNX0VSUk9SOwogICAgICAgICAgICAgZ290byBpbmZfbGVhdmU7CiAgICAgICAgIH0KIAotICAgIC8qIFJldHVybiB1bnVzZWQgaW5wdXQgKi8KKyAgICAvKiBXcml0ZSBsZWZ0b3ZlciBvdXRwdXQgYW5kIHJldHVybiB1bnVzZWQgaW5wdXQgKi8KICAgaW5mX2xlYXZlOgorICAgIGlmIChsZWZ0IDwgc3RhdGUtPndzaXplKSB7CisgICAgICAgIGlmIChvdXQob3V0X2Rlc2MsIHN0YXRlLT53aW5kb3csIHN0YXRlLT53c2l6ZSAtIGxlZnQpICYmCisgICAgICAgICAgICByZXQgPT0gWl9TVFJFQU1fRU5EKQorICAgICAgICAgICAgcmV0ID0gWl9CVUZfRVJST1I7CisgICAgfQogICAgIHN0cm0tPm5leHRfaW4gPSBuZXh0OwogICAgIHN0cm0tPmF2YWlsX2luID0gaGF2ZTsKICAgICByZXR1cm4gcmV0OwpkaWZmIC0tZ2l0IGEvc3JjL2luZmZhc3QuYyBiL3NyYy9pbmZmYXN0LmMKaW5kZXggYmRhNTljZS4uMWZlYzdmMyAxMDA2NDQKLS0tIGEvc3JjL2luZmZhc3QuYworKysgYi9zcmMvaW5mZmFzdC5jCkBAIC0xLDUgKzEsNSBAQAogLyogaW5mZmFzdC5jIC0tIGZhc3QgZGVjb2RpbmcKLSAqIENvcHlyaWdodCAoQykgMTk5NS0yMDA4LCAyMDEwLCAyMDEzIE1hcmsgQWRsZXIKKyAqIENvcHlyaWdodCAoQykgMTk5NS0yMDE3IE1hcmsgQWRsZXIKICAqIEZvciBjb25kaXRpb25zIG9mIGRpc3RyaWJ1dGlvbiBhbmQgdXNlLCBzZWUgY29weXJpZ2h0IG5vdGljZSBpbiB6bGliLmgKICAqLwogCkBAIC04LDI2ICs4LDkgQEAKICNpbmNsdWRlICJpbmZsYXRlLmgiCiAjaW5jbHVkZSAiaW5mZmFzdC5oIgogCi0jaWZuZGVmIEFTTUlORgotCi0vKiBBbGxvdyBtYWNoaW5lIGRlcGVuZGVudCBvcHRpbWl6YXRpb24gZm9yIHBvc3QtaW5jcmVtZW50IG9yIHByZS1pbmNyZW1lbnQuCi0gICBCYXNlZCBvbiB0ZXN0aW5nIHRvIGRhdGUsCi0gICBQcmUtaW5jcmVtZW50IHByZWZlcnJlZCBmb3I6Ci0gICAtIFBvd2VyUEMgRzMgKEFkbGVyKQotICAgLSBNSVBTIFI1MDAwIChSYW5kZXJzLVBlaHJzb24pCi0gICBQb3N0LWluY3JlbWVudCBwcmVmZXJyZWQgZm9yOgotICAgLSBub25lCi0gICBObyBtZWFzdXJhYmxlIGRpZmZlcmVuY2U6Ci0gICAtIFBlbnRpdW0gSUlJIChBbmRlcnNvbikKLSAgIC0gTTY4MDYwIChOaWtsKQotICovCi0jaWZkZWYgUE9TVElOQwotIyAgZGVmaW5lIE9GRiAwCi0jICBkZWZpbmUgUFVQKGEpICooYSkrKworI2lmZGVmIEFTTUlORgorIyAgcHJhZ21hIG1lc3NhZ2UoIkFzc2VtYmxlciBjb2RlIG1heSBoYXZlIGJ1Z3MgLS0gdXNlIGF0IHlvdXIgb3duIHJpc2siKQogI2Vsc2UKLSMgIGRlZmluZSBPRkYgMQotIyAgZGVmaW5lIFBVUChhKSAqKysoYSkKLSNlbmRpZgogCiAvKgogICAgRGVjb2RlIGxpdGVyYWwsIGxlbmd0aCwgYW5kIGRpc3RhbmNlIGNvZGVzIGFuZCB3cml0ZSBvdXQgdGhlIHJlc3VsdGluZwpAQCAtODcsNyArNzAsNyBAQAogICAgIGNvZGUgY29uc3QgRkFSICpkY29kZTsgICAgICAvKiBsb2NhbCBzdHJtLT5kaXN0Y29kZSAqLwogICAgIHVuc2lnbmVkIGxtYXNrOyAgICAgICAgICAgICAvKiBtYXNrIGZvciBmaXJzdCBsZXZlbCBvZiBsZW5ndGggY29kZXMgKi8KICAgICB1bnNpZ25lZCBkbWFzazsgICAgICAgICAgICAgLyogbWFzayBmb3IgZmlyc3QgbGV2ZWwgb2YgZGlzdGFuY2UgY29kZXMgKi8KLSAgICBjb2RlIGhlcmU7ICAgICAgICAgICAgICAgICAgLyogcmV0cmlldmVkIHRhYmxlIGVudHJ5ICovCisgICAgY29kZSBjb25zdCAqaGVyZTsgICAgICAgICAgIC8qIHJldHJpZXZlZCB0YWJsZSBlbnRyeSAqLwogICAgIHVuc2lnbmVkIG9wOyAgICAgICAgICAgICAgICAvKiBjb2RlIGJpdHMsIG9wZXJhdGlvbiwgZXh0cmEgYml0cywgb3IgKi8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogIHdpbmRvdyBwb3NpdGlvbiwgd2luZG93IGJ5dGVzIHRvIGNvcHkgKi8KICAgICB1bnNpZ25lZCBsZW47ICAgICAgICAgICAgICAgLyogbWF0Y2ggbGVuZ3RoLCB1bnVzZWQgYnl0ZXMgKi8KQEAgLTk2LDkgKzc5LDkgQEAKIAogICAgIC8qIGNvcHkgc3RhdGUgdG8gbG9jYWwgdmFyaWFibGVzICovCiAgICAgc3RhdGUgPSAoc3RydWN0IGluZmxhdGVfc3RhdGUgRkFSICopc3RybS0+c3RhdGU7Ci0gICAgaW4gPSBzdHJtLT5uZXh0X2luIC0gT0ZGOworICAgIGluID0gc3RybS0+bmV4dF9pbjsKICAgICBsYXN0ID0gaW4gKyAoc3RybS0+YXZhaWxfaW4gLSA1KTsKLSAgICBvdXQgPSBzdHJtLT5uZXh0X291dCAtIE9GRjsKKyAgICBvdXQgPSBzdHJtLT5uZXh0X291dDsKICAgICBiZWcgPSBvdXQgLSAoc3RhcnQgLSBzdHJtLT5hdmFpbF9vdXQpOwogICAgIGVuZCA9IG91dCArIChzdHJtLT5hdmFpbF9vdXQgLSAyNTcpOwogI2lmZGVmIElORkxBVEVfU1RSSUNUCkBAIC0xMTksMjkgKzEwMiwyOSBAQAogICAgICAgIGlucHV0IGRhdGEgb3Igb3V0cHV0IHNwYWNlICovCiAgICAgZG8gewogICAgICAgICBpZiAoYml0cyA8IDE1KSB7Ci0gICAgICAgICAgICBob2xkICs9ICh1bnNpZ25lZCBsb25nKShQVVAoaW4pKSA8PCBiaXRzOworICAgICAgICAgICAgaG9sZCArPSAodW5zaWduZWQgbG9uZykoKmluKyspIDw8IGJpdHM7CiAgICAgICAgICAgICBiaXRzICs9IDg7Ci0gICAgICAgICAgICBob2xkICs9ICh1bnNpZ25lZCBsb25nKShQVVAoaW4pKSA8PCBiaXRzOworICAgICAgICAgICAgaG9sZCArPSAodW5zaWduZWQgbG9uZykoKmluKyspIDw8IGJpdHM7CiAgICAgICAgICAgICBiaXRzICs9IDg7CiAgICAgICAgIH0KLSAgICAgICAgaGVyZSA9IGxjb2RlW2hvbGQgJiBsbWFza107CisgICAgICAgIGhlcmUgPSBsY29kZSArIChob2xkICYgbG1hc2spOwogICAgICAgZG9sZW46Ci0gICAgICAgIG9wID0gKHVuc2lnbmVkKShoZXJlLmJpdHMpOworICAgICAgICBvcCA9ICh1bnNpZ25lZCkoaGVyZS0+Yml0cyk7CiAgICAgICAgIGhvbGQgPj49IG9wOwogICAgICAgICBiaXRzIC09IG9wOwotICAgICAgICBvcCA9ICh1bnNpZ25lZCkoaGVyZS5vcCk7CisgICAgICAgIG9wID0gKHVuc2lnbmVkKShoZXJlLT5vcCk7CiAgICAgICAgIGlmIChvcCA9PSAwKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBsaXRlcmFsICovCi0gICAgICAgICAgICBUcmFjZXZ2KChzdGRlcnIsIGhlcmUudmFsID49IDB4MjAgJiYgaGVyZS52YWwgPCAweDdmID8KKyAgICAgICAgICAgIFRyYWNldnYoKHN0ZGVyciwgaGVyZS0+dmFsID49IDB4MjAgJiYgaGVyZS0+dmFsIDwgMHg3ZiA/CiAgICAgICAgICAgICAgICAgICAgICJpbmZsYXRlOiAgICAgICAgIGxpdGVyYWwgJyVjJ1xuIiA6Ci0gICAgICAgICAgICAgICAgICAgICJpbmZsYXRlOiAgICAgICAgIGxpdGVyYWwgMHglMDJ4XG4iLCBoZXJlLnZhbCkpOwotICAgICAgICAgICAgUFVQKG91dCkgPSAodW5zaWduZWQgY2hhcikoaGVyZS52YWwpOworICAgICAgICAgICAgICAgICAgICAiaW5mbGF0ZTogICAgICAgICBsaXRlcmFsIDB4JTAyeFxuIiwgaGVyZS0+dmFsKSk7CisgICAgICAgICAgICAqb3V0KysgPSAodW5zaWduZWQgY2hhcikoaGVyZS0+dmFsKTsKICAgICAgICAgfQogICAgICAgICBlbHNlIGlmIChvcCAmIDE2KSB7ICAgICAgICAgICAgICAgICAgICAgLyogbGVuZ3RoIGJhc2UgKi8KLSAgICAgICAgICAgIGxlbiA9ICh1bnNpZ25lZCkoaGVyZS52YWwpOworICAgICAgICAgICAgbGVuID0gKHVuc2lnbmVkKShoZXJlLT52YWwpOwogICAgICAgICAgICAgb3AgJj0gMTU7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogbnVtYmVyIG9mIGV4dHJhIGJpdHMgKi8KICAgICAgICAgICAgIGlmIChvcCkgewogICAgICAgICAgICAgICAgIGlmIChiaXRzIDwgb3ApIHsKLSAgICAgICAgICAgICAgICAgICAgaG9sZCArPSAodW5zaWduZWQgbG9uZykoUFVQKGluKSkgPDwgYml0czsKKyAgICAgICAgICAgICAgICAgICAgaG9sZCArPSAodW5zaWduZWQgbG9uZykoKmluKyspIDw8IGJpdHM7CiAgICAgICAgICAgICAgICAgICAgIGJpdHMgKz0gODsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgbGVuICs9ICh1bnNpZ25lZClob2xkICYgKCgxVSA8PCBvcCkgLSAxKTsKQEAgLTE1MCwyNSArMTMzLDI1IEBACiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBUcmFjZXZ2KChzdGRlcnIsICJpbmZsYXRlOiAgICAgICAgIGxlbmd0aCAldVxuIiwgbGVuKSk7CiAgICAgICAgICAgICBpZiAoYml0cyA8IDE1KSB7Ci0gICAgICAgICAgICAgICAgaG9sZCArPSAodW5zaWduZWQgbG9uZykoUFVQKGluKSkgPDwgYml0czsKKyAgICAgICAgICAgICAgICBob2xkICs9ICh1bnNpZ25lZCBsb25nKSgqaW4rKykgPDwgYml0czsKICAgICAgICAgICAgICAgICBiaXRzICs9IDg7Ci0gICAgICAgICAgICAgICAgaG9sZCArPSAodW5zaWduZWQgbG9uZykoUFVQKGluKSkgPDwgYml0czsKKyAgICAgICAgICAgICAgICBob2xkICs9ICh1bnNpZ25lZCBsb25nKSgqaW4rKykgPDwgYml0czsKICAgICAgICAgICAgICAgICBiaXRzICs9IDg7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBoZXJlID0gZGNvZGVbaG9sZCAmIGRtYXNrXTsKKyAgICAgICAgICAgIGhlcmUgPSBkY29kZSArIChob2xkICYgZG1hc2spOwogICAgICAgICAgIGRvZGlzdDoKLSAgICAgICAgICAgIG9wID0gKHVuc2lnbmVkKShoZXJlLmJpdHMpOworICAgICAgICAgICAgb3AgPSAodW5zaWduZWQpKGhlcmUtPmJpdHMpOwogICAgICAgICAgICAgaG9sZCA+Pj0gb3A7CiAgICAgICAgICAgICBiaXRzIC09IG9wOwotICAgICAgICAgICAgb3AgPSAodW5zaWduZWQpKGhlcmUub3ApOworICAgICAgICAgICAgb3AgPSAodW5zaWduZWQpKGhlcmUtPm9wKTsKICAgICAgICAgICAgIGlmIChvcCAmIDE2KSB7ICAgICAgICAgICAgICAgICAgICAgIC8qIGRpc3RhbmNlIGJhc2UgKi8KLSAgICAgICAgICAgICAgICBkaXN0ID0gKHVuc2lnbmVkKShoZXJlLnZhbCk7CisgICAgICAgICAgICAgICAgZGlzdCA9ICh1bnNpZ25lZCkoaGVyZS0+dmFsKTsKICAgICAgICAgICAgICAgICBvcCAmPSAxNTsgICAgICAgICAgICAgICAgICAgICAgIC8qIG51bWJlciBvZiBleHRyYSBiaXRzICovCiAgICAgICAgICAgICAgICAgaWYgKGJpdHMgPCBvcCkgewotICAgICAgICAgICAgICAgICAgICBob2xkICs9ICh1bnNpZ25lZCBsb25nKShQVVAoaW4pKSA8PCBiaXRzOworICAgICAgICAgICAgICAgICAgICBob2xkICs9ICh1bnNpZ25lZCBsb25nKSgqaW4rKykgPDwgYml0czsKICAgICAgICAgICAgICAgICAgICAgYml0cyArPSA4OwogICAgICAgICAgICAgICAgICAgICBpZiAoYml0cyA8IG9wKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBob2xkICs9ICh1bnNpZ25lZCBsb25nKShQVVAoaW4pKSA8PCBiaXRzOworICAgICAgICAgICAgICAgICAgICAgICAgaG9sZCArPSAodW5zaWduZWQgbG9uZykoKmluKyspIDw8IGJpdHM7CiAgICAgICAgICAgICAgICAgICAgICAgICBiaXRzICs9IDg7CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICB9CkBAIC0xOTYsMzAgKzE3OSwzMCBAQAogI2lmZGVmIElORkxBVEVfQUxMT1dfSU5WQUxJRF9ESVNUQU5DRV9UT09GQVJfQVJSUgogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGxlbiA8PSBvcCAtIHdoYXZlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG8gewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQVVAob3V0KSA9IDA7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpvdXQrKyA9IDA7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSB3aGlsZSAoLS1sZW4pOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgbGVuIC09IG9wIC0gd2hhdmU7CiAgICAgICAgICAgICAgICAgICAgICAgICBkbyB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgUFVQKG91dCkgPSAwOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICpvdXQrKyA9IDA7CiAgICAgICAgICAgICAgICAgICAgICAgICB9IHdoaWxlICgtLW9wID4gd2hhdmUpOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG9wID09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcm9tID0gb3V0IC0gZGlzdDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkbyB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBVUChvdXQpID0gUFVQKGZyb20pOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqb3V0KysgPSAqZnJvbSsrOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gd2hpbGUgKC0tbGVuKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgICAgICAgICAgICAgIH0KICNlbmRpZgogICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgIGZyb20gPSB3aW5kb3cgLSBPRkY7CisgICAgICAgICAgICAgICAgICAgIGZyb20gPSB3aW5kb3c7CiAgICAgICAgICAgICAgICAgICAgIGlmICh3bmV4dCA9PSAwKSB7ICAgICAgICAgICAvKiB2ZXJ5IGNvbW1vbiBjYXNlICovCiAgICAgICAgICAgICAgICAgICAgICAgICBmcm9tICs9IHdzaXplIC0gb3A7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAob3AgPCBsZW4pIHsgICAgICAgICAvKiBzb21lIGZyb20gd2luZG93ICovCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVuIC09IG9wOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUFVQKG91dCkgPSBQVVAoZnJvbSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpvdXQrKyA9ICpmcm9tKys7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSB3aGlsZSAoLS1vcCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJvbSA9IG91dCAtIGRpc3Q7ICAvKiByZXN0IGZyb20gb3V0cHV0ICovCiAgICAgICAgICAgICAgICAgICAgICAgICB9CkBAIC0yMzAsMTQgKzIxMywxNCBAQAogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG9wIDwgbGVuKSB7ICAgICAgICAgLyogc29tZSBmcm9tIGVuZCBvZiB3aW5kb3cgKi8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZW4gLT0gb3A7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG8gewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQVVAob3V0KSA9IFBVUChmcm9tKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm91dCsrID0gKmZyb20rKzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IHdoaWxlICgtLW9wKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcm9tID0gd2luZG93IC0gT0ZGOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb20gPSB3aW5kb3c7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHduZXh0IDwgbGVuKSB7ICAvKiBzb21lIGZyb20gc3RhcnQgb2Ygd2luZG93ICovCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wID0gd25leHQ7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlbiAtPSBvcDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG8gewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUFVQKG91dCkgPSBQVVAoZnJvbSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqb3V0KysgPSAqZnJvbSsrOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IHdoaWxlICgtLW9wKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJvbSA9IG91dCAtIGRpc3Q7ICAgICAgLyogcmVzdCBmcm9tIG91dHB1dCAqLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KQEAgLTI0OCw0MCArMjMxLDQwIEBACiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAob3AgPCBsZW4pIHsgICAgICAgICAvKiBzb21lIGZyb20gd2luZG93ICovCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVuIC09IG9wOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUFVQKG91dCkgPSBQVVAoZnJvbSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpvdXQrKyA9ICpmcm9tKys7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSB3aGlsZSAoLS1vcCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJvbSA9IG91dCAtIGRpc3Q7ICAvKiByZXN0IGZyb20gb3V0cHV0ICovCiAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgd2hpbGUgKGxlbiA+IDIpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIFBVUChvdXQpID0gUFVQKGZyb20pOwotICAgICAgICAgICAgICAgICAgICAgICAgUFVQKG91dCkgPSBQVVAoZnJvbSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBQVVAob3V0KSA9IFBVUChmcm9tKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICpvdXQrKyA9ICpmcm9tKys7CisgICAgICAgICAgICAgICAgICAgICAgICAqb3V0KysgPSAqZnJvbSsrOworICAgICAgICAgICAgICAgICAgICAgICAgKm91dCsrID0gKmZyb20rKzsKICAgICAgICAgICAgICAgICAgICAgICAgIGxlbiAtPSAzOwogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIGlmIChsZW4pIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIFBVUChvdXQpID0gUFVQKGZyb20pOworICAgICAgICAgICAgICAgICAgICAgICAgKm91dCsrID0gKmZyb20rKzsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChsZW4gPiAxKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBVUChvdXQpID0gUFVQKGZyb20pOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICpvdXQrKyA9ICpmcm9tKys7CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgIGZyb20gPSBvdXQgLSBkaXN0OyAgICAgICAgICAvKiBjb3B5IGRpcmVjdCBmcm9tIG91dHB1dCAqLwogICAgICAgICAgICAgICAgICAgICBkbyB7ICAgICAgICAgICAgICAgICAgICAgICAgLyogbWluaW11bSBsZW5ndGggaXMgdGhyZWUgKi8KLSAgICAgICAgICAgICAgICAgICAgICAgIFBVUChvdXQpID0gUFVQKGZyb20pOwotICAgICAgICAgICAgICAgICAgICAgICAgUFVQKG91dCkgPSBQVVAoZnJvbSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBQVVAob3V0KSA9IFBVUChmcm9tKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICpvdXQrKyA9ICpmcm9tKys7CisgICAgICAgICAgICAgICAgICAgICAgICAqb3V0KysgPSAqZnJvbSsrOworICAgICAgICAgICAgICAgICAgICAgICAgKm91dCsrID0gKmZyb20rKzsKICAgICAgICAgICAgICAgICAgICAgICAgIGxlbiAtPSAzOwogICAgICAgICAgICAgICAgICAgICB9IHdoaWxlIChsZW4gPiAyKTsKICAgICAgICAgICAgICAgICAgICAgaWYgKGxlbikgewotICAgICAgICAgICAgICAgICAgICAgICAgUFVQKG91dCkgPSBQVVAoZnJvbSk7CisgICAgICAgICAgICAgICAgICAgICAgICAqb3V0KysgPSAqZnJvbSsrOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGxlbiA+IDEpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgUFVQKG91dCkgPSBQVVAoZnJvbSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm91dCsrID0gKmZyb20rKzsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGVsc2UgaWYgKChvcCAmIDY0KSA9PSAwKSB7ICAgICAgICAgIC8qIDJuZCBsZXZlbCBkaXN0YW5jZSBjb2RlICovCi0gICAgICAgICAgICAgICAgaGVyZSA9IGRjb2RlW2hlcmUudmFsICsgKGhvbGQgJiAoKDFVIDw8IG9wKSAtIDEpKV07CisgICAgICAgICAgICAgICAgaGVyZSA9IGRjb2RlICsgaGVyZS0+dmFsICsgKGhvbGQgJiAoKDFVIDw8IG9wKSAtIDEpKTsKICAgICAgICAgICAgICAgICBnb3RvIGRvZGlzdDsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGVsc2UgewpAQCAtMjkxLDcgKzI3NCw3IEBACiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICAgICAgZWxzZSBpZiAoKG9wICYgNjQpID09IDApIHsgICAgICAgICAgICAgIC8qIDJuZCBsZXZlbCBsZW5ndGggY29kZSAqLwotICAgICAgICAgICAgaGVyZSA9IGxjb2RlW2hlcmUudmFsICsgKGhvbGQgJiAoKDFVIDw8IG9wKSAtIDEpKV07CisgICAgICAgICAgICBoZXJlID0gbGNvZGUgKyBoZXJlLT52YWwgKyAoaG9sZCAmICgoMVUgPDwgb3ApIC0gMSkpOwogICAgICAgICAgICAgZ290byBkb2xlbjsKICAgICAgICAgfQogICAgICAgICBlbHNlIGlmIChvcCAmIDMyKSB7ICAgICAgICAgICAgICAgICAgICAgLyogZW5kLW9mLWJsb2NrICovCkBAIC0zMTMsOCArMjk2LDggQEAKICAgICBob2xkICY9ICgxVSA8PCBiaXRzKSAtIDE7CiAKICAgICAvKiB1cGRhdGUgc3RhdGUgYW5kIHJldHVybiAqLwotICAgIHN0cm0tPm5leHRfaW4gPSBpbiArIE9GRjsKLSAgICBzdHJtLT5uZXh0X291dCA9IG91dCArIE9GRjsKKyAgICBzdHJtLT5uZXh0X2luID0gaW47CisgICAgc3RybS0+bmV4dF9vdXQgPSBvdXQ7CiAgICAgc3RybS0+YXZhaWxfaW4gPSAodW5zaWduZWQpKGluIDwgbGFzdCA/IDUgKyAobGFzdCAtIGluKSA6IDUgLSAoaW4gLSBsYXN0KSk7CiAgICAgc3RybS0+YXZhaWxfb3V0ID0gKHVuc2lnbmVkKShvdXQgPCBlbmQgPwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjU3ICsgKGVuZCAtIG91dCkgOiAyNTcgLSAob3V0IC0gZW5kKSk7CmRpZmYgLS1naXQgYS9zcmMvaW5mbGF0ZS5jIGIvc3JjL2luZmxhdGUuYwppbmRleCA0ZmQzZjNjLi44YWNiZWY0IDEwMDY0NAotLS0gYS9zcmMvaW5mbGF0ZS5jCisrKyBiL3NyYy9pbmZsYXRlLmMKQEAgLTEsNSArMSw1IEBACiAvKiBpbmZsYXRlLmMgLS0gemxpYiBkZWNvbXByZXNzaW9uCi0gKiBDb3B5cmlnaHQgKEMpIDE5OTUtMjAxMiBNYXJrIEFkbGVyCisgKiBDb3B5cmlnaHQgKEMpIDE5OTUtMjAyMiBNYXJrIEFkbGVyCiAgKiBGb3IgY29uZGl0aW9ucyBvZiBkaXN0cmlidXRpb24gYW5kIHVzZSwgc2VlIGNvcHlyaWdodCBub3RpY2UgaW4gemxpYi5oCiAgKi8KIApAQCAtOTIsNiArOTIsNyBAQAogI2VuZGlmCiAKIC8qIGZ1bmN0aW9uIHByb3RvdHlwZXMgKi8KK2xvY2FsIGludCBpbmZsYXRlU3RhdGVDaGVjayBPRigoel9zdHJlYW1wIHN0cm0pKTsKIGxvY2FsIHZvaWQgZml4ZWR0YWJsZXMgT0YoKHN0cnVjdCBpbmZsYXRlX3N0YXRlIEZBUiAqc3RhdGUpKTsKIGxvY2FsIGludCB1cGRhdGV3aW5kb3cgT0YoKHpfc3RyZWFtcCBzdHJtLCBjb25zdCB1bnNpZ25lZCBjaGFyIEZBUiAqZW5kLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY29weSkpOwpAQCAtMTAxLDEyICsxMDIsMjYgQEAKIGxvY2FsIHVuc2lnbmVkIHN5bmNzZWFyY2ggT0YoKHVuc2lnbmVkIEZBUiAqaGF2ZSwgY29uc3QgdW5zaWduZWQgY2hhciBGQVIgKmJ1ZiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxlbikpOwogCitsb2NhbCBpbnQgaW5mbGF0ZVN0YXRlQ2hlY2soc3RybSkKK3pfc3RyZWFtcCBzdHJtOworeworICAgIHN0cnVjdCBpbmZsYXRlX3N0YXRlIEZBUiAqc3RhdGU7CisgICAgaWYgKHN0cm0gPT0gWl9OVUxMIHx8CisgICAgICAgIHN0cm0tPnphbGxvYyA9PSAoYWxsb2NfZnVuYykwIHx8IHN0cm0tPnpmcmVlID09IChmcmVlX2Z1bmMpMCkKKyAgICAgICAgcmV0dXJuIDE7CisgICAgc3RhdGUgPSAoc3RydWN0IGluZmxhdGVfc3RhdGUgRkFSICopc3RybS0+c3RhdGU7CisgICAgaWYgKHN0YXRlID09IFpfTlVMTCB8fCBzdGF0ZS0+c3RybSAhPSBzdHJtIHx8CisgICAgICAgIHN0YXRlLT5tb2RlIDwgSEVBRCB8fCBzdGF0ZS0+bW9kZSA+IFNZTkMpCisgICAgICAgIHJldHVybiAxOworICAgIHJldHVybiAwOworfQorCiBpbnQgWkVYUE9SVCBpbmZsYXRlUmVzZXRLZWVwKHN0cm0pCiB6X3N0cmVhbXAgc3RybTsKIHsKICAgICBzdHJ1Y3QgaW5mbGF0ZV9zdGF0ZSBGQVIgKnN0YXRlOwogCi0gICAgaWYgKHN0cm0gPT0gWl9OVUxMIHx8IHN0cm0tPnN0YXRlID09IFpfTlVMTCkgcmV0dXJuIFpfU1RSRUFNX0VSUk9SOworICAgIGlmIChpbmZsYXRlU3RhdGVDaGVjayhzdHJtKSkgcmV0dXJuIFpfU1RSRUFNX0VSUk9SOwogICAgIHN0YXRlID0gKHN0cnVjdCBpbmZsYXRlX3N0YXRlIEZBUiAqKXN0cm0tPnN0YXRlOwogICAgIHN0cm0tPnRvdGFsX2luID0gc3RybS0+dG90YWxfb3V0ID0gc3RhdGUtPnRvdGFsID0gMDsKICAgICBzdHJtLT5tc2cgPSBaX05VTEw7CkBAIC0xMTUsNiArMTMwLDcgQEAKICAgICBzdGF0ZS0+bW9kZSA9IEhFQUQ7CiAgICAgc3RhdGUtPmxhc3QgPSAwOwogICAgIHN0YXRlLT5oYXZlZGljdCA9IDA7CisgICAgc3RhdGUtPmZsYWdzID0gLTE7CiAgICAgc3RhdGUtPmRtYXggPSAzMjc2OFU7CiAgICAgc3RhdGUtPmhlYWQgPSBaX05VTEw7CiAgICAgc3RhdGUtPmhvbGQgPSAwOwpAQCAtMTMxLDcgKzE0Nyw3IEBACiB7CiAgICAgc3RydWN0IGluZmxhdGVfc3RhdGUgRkFSICpzdGF0ZTsKIAotICAgIGlmIChzdHJtID09IFpfTlVMTCB8fCBzdHJtLT5zdGF0ZSA9PSBaX05VTEwpIHJldHVybiBaX1NUUkVBTV9FUlJPUjsKKyAgICBpZiAoaW5mbGF0ZVN0YXRlQ2hlY2soc3RybSkpIHJldHVybiBaX1NUUkVBTV9FUlJPUjsKICAgICBzdGF0ZSA9IChzdHJ1Y3QgaW5mbGF0ZV9zdGF0ZSBGQVIgKilzdHJtLT5zdGF0ZTsKICAgICBzdGF0ZS0+d3NpemUgPSAwOwogICAgIHN0YXRlLT53aGF2ZSA9IDA7CkBAIC0xNDcsMTYgKzE2MywxOCBAQAogICAgIHN0cnVjdCBpbmZsYXRlX3N0YXRlIEZBUiAqc3RhdGU7CiAKICAgICAvKiBnZXQgdGhlIHN0YXRlICovCi0gICAgaWYgKHN0cm0gPT0gWl9OVUxMIHx8IHN0cm0tPnN0YXRlID09IFpfTlVMTCkgcmV0dXJuIFpfU1RSRUFNX0VSUk9SOworICAgIGlmIChpbmZsYXRlU3RhdGVDaGVjayhzdHJtKSkgcmV0dXJuIFpfU1RSRUFNX0VSUk9SOwogICAgIHN0YXRlID0gKHN0cnVjdCBpbmZsYXRlX3N0YXRlIEZBUiAqKXN0cm0tPnN0YXRlOwogCiAgICAgLyogZXh0cmFjdCB3cmFwIHJlcXVlc3QgZnJvbSB3aW5kb3dCaXRzIHBhcmFtZXRlciAqLwogICAgIGlmICh3aW5kb3dCaXRzIDwgMCkgeworICAgICAgICBpZiAod2luZG93Qml0cyA8IC0xNSkKKyAgICAgICAgICAgIHJldHVybiBaX1NUUkVBTV9FUlJPUjsKICAgICAgICAgd3JhcCA9IDA7CiAgICAgICAgIHdpbmRvd0JpdHMgPSAtd2luZG93Qml0czsKICAgICB9CiAgICAgZWxzZSB7Ci0gICAgICAgIHdyYXAgPSAod2luZG93Qml0cyA+PiA0KSArIDE7CisgICAgICAgIHdyYXAgPSAod2luZG93Qml0cyA+PiA0KSArIDU7CiAjaWZkZWYgR1VOWklQCiAgICAgICAgIGlmICh3aW5kb3dCaXRzIDwgNDgpCiAgICAgICAgICAgICB3aW5kb3dCaXRzICY9IDE1OwpAQCAtMjEwLDcgKzIyOCw5IEBACiAgICAgaWYgKHN0YXRlID09IFpfTlVMTCkgcmV0dXJuIFpfTUVNX0VSUk9SOwogICAgIFRyYWNldigoc3RkZXJyLCAiaW5mbGF0ZTogYWxsb2NhdGVkXG4iKSk7CiAgICAgc3RybS0+c3RhdGUgPSAoc3RydWN0IGludGVybmFsX3N0YXRlIEZBUiAqKXN0YXRlOworICAgIHN0YXRlLT5zdHJtID0gc3RybTsKICAgICBzdGF0ZS0+d2luZG93ID0gWl9OVUxMOworICAgIHN0YXRlLT5tb2RlID0gSEVBRDsgICAgIC8qIHRvIHBhc3Mgc3RhdGUgdGVzdCBpbiBpbmZsYXRlUmVzZXQyKCkgKi8KICAgICByZXQgPSBpbmZsYXRlUmVzZXQyKHN0cm0sIHdpbmRvd0JpdHMpOwogICAgIGlmIChyZXQgIT0gWl9PSykgewogICAgICAgICBaRlJFRShzdHJtLCBzdGF0ZSk7CkBAIC0yMzQsMTcgKzI1NCwxNyBAQAogewogICAgIHN0cnVjdCBpbmZsYXRlX3N0YXRlIEZBUiAqc3RhdGU7CiAKLSAgICBpZiAoc3RybSA9PSBaX05VTEwgfHwgc3RybS0+c3RhdGUgPT0gWl9OVUxMKSByZXR1cm4gWl9TVFJFQU1fRVJST1I7CisgICAgaWYgKGluZmxhdGVTdGF0ZUNoZWNrKHN0cm0pKSByZXR1cm4gWl9TVFJFQU1fRVJST1I7CiAgICAgc3RhdGUgPSAoc3RydWN0IGluZmxhdGVfc3RhdGUgRkFSICopc3RybS0+c3RhdGU7CiAgICAgaWYgKGJpdHMgPCAwKSB7CiAgICAgICAgIHN0YXRlLT5ob2xkID0gMDsKICAgICAgICAgc3RhdGUtPmJpdHMgPSAwOwogICAgICAgICByZXR1cm4gWl9PSzsKICAgICB9Ci0gICAgaWYgKGJpdHMgPiAxNiB8fCBzdGF0ZS0+Yml0cyArIGJpdHMgPiAzMikgcmV0dXJuIFpfU1RSRUFNX0VSUk9SOworICAgIGlmIChiaXRzID4gMTYgfHwgc3RhdGUtPmJpdHMgKyAodUludCliaXRzID4gMzIpIHJldHVybiBaX1NUUkVBTV9FUlJPUjsKICAgICB2YWx1ZSAmPSAoMUwgPDwgYml0cykgLSAxOwotICAgIHN0YXRlLT5ob2xkICs9IHZhbHVlIDw8IHN0YXRlLT5iaXRzOwotICAgIHN0YXRlLT5iaXRzICs9IGJpdHM7CisgICAgc3RhdGUtPmhvbGQgKz0gKHVuc2lnbmVkKXZhbHVlIDw8IHN0YXRlLT5iaXRzOworICAgIHN0YXRlLT5iaXRzICs9ICh1SW50KWJpdHM7CiAgICAgcmV0dXJuIFpfT0s7CiB9CiAKQEAgLTQzMCwxMCArNDUwLDEwIEBACiAKIC8qIGNoZWNrIGZ1bmN0aW9uIHRvIHVzZSBhZGxlcjMyKCkgZm9yIHpsaWIgb3IgY3JjMzIoKSBmb3IgZ3ppcCAqLwogI2lmZGVmIEdVTlpJUAotIyAgZGVmaW5lIFVQREFURShjaGVjaywgYnVmLCBsZW4pIFwKKyMgIGRlZmluZSBVUERBVEVfQ0hFQ0soY2hlY2ssIGJ1ZiwgbGVuKSBcCiAgICAgKHN0YXRlLT5mbGFncyA/IGNyYzMyKGNoZWNrLCBidWYsIGxlbikgOiBhZGxlcjMyKGNoZWNrLCBidWYsIGxlbikpCiAjZWxzZQotIyAgZGVmaW5lIFVQREFURShjaGVjaywgYnVmLCBsZW4pIGFkbGVyMzIoY2hlY2ssIGJ1ZiwgbGVuKQorIyAgZGVmaW5lIFVQREFURV9DSEVDSyhjaGVjaywgYnVmLCBsZW4pIGFkbGVyMzIoY2hlY2ssIGJ1ZiwgbGVuKQogI2VuZGlmCiAKIC8qIGNoZWNrIG1hY3JvcyBmb3IgaGVhZGVyIGNyYyAqLwpAQCAtNjI1LDcgKzY0NSw3IEBACiAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIHNob3J0IG9yZGVyWzE5XSA9IC8qIHBlcm11dGF0aW9uIG9mIGNvZGUgbGVuZ3RocyAqLwogICAgICAgICB7MTYsIDE3LCAxOCwgMCwgOCwgNywgOSwgNiwgMTAsIDUsIDExLCA0LCAxMiwgMywgMTMsIDIsIDE0LCAxLCAxNX07CiAKLSAgICBpZiAoc3RybSA9PSBaX05VTEwgfHwgc3RybS0+c3RhdGUgPT0gWl9OVUxMIHx8IHN0cm0tPm5leHRfb3V0ID09IFpfTlVMTCB8fAorICAgIGlmIChpbmZsYXRlU3RhdGVDaGVjayhzdHJtKSB8fCBzdHJtLT5uZXh0X291dCA9PSBaX05VTEwgfHwKICAgICAgICAgKHN0cm0tPm5leHRfaW4gPT0gWl9OVUxMICYmIHN0cm0tPmF2YWlsX2luICE9IDApKQogICAgICAgICByZXR1cm4gWl9TVFJFQU1fRVJST1I7CiAKQEAgLTY0NSwxMyArNjY1LDE0IEBACiAgICAgICAgICAgICBORUVEQklUUygxNik7CiAjaWZkZWYgR1VOWklQCiAgICAgICAgICAgICBpZiAoKHN0YXRlLT53cmFwICYgMikgJiYgaG9sZCA9PSAweDhiMWYpIHsgIC8qIGd6aXAgaGVhZGVyICovCisgICAgICAgICAgICAgICAgaWYgKHN0YXRlLT53Yml0cyA9PSAwKQorICAgICAgICAgICAgICAgICAgICBzdGF0ZS0+d2JpdHMgPSAxNTsKICAgICAgICAgICAgICAgICBzdGF0ZS0+Y2hlY2sgPSBjcmMzMigwTCwgWl9OVUxMLCAwKTsKICAgICAgICAgICAgICAgICBDUkMyKHN0YXRlLT5jaGVjaywgaG9sZCk7CiAgICAgICAgICAgICAgICAgSU5JVEJJVFMoKTsKICAgICAgICAgICAgICAgICBzdGF0ZS0+bW9kZSA9IEZMQUdTOwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgc3RhdGUtPmZsYWdzID0gMDsgICAgICAgICAgIC8qIGV4cGVjdCB6bGliIGhlYWRlciAqLwogICAgICAgICAgICAgaWYgKHN0YXRlLT5oZWFkICE9IFpfTlVMTCkKICAgICAgICAgICAgICAgICBzdGF0ZS0+aGVhZC0+ZG9uZSA9IC0xOwogICAgICAgICAgICAgaWYgKCEoc3RhdGUtPndyYXAgJiAxKSB8fCAgIC8qIGNoZWNrIGlmIHpsaWIgaGVhZGVyIGFsbG93ZWQgKi8KQEAgLTY3MiwxMiArNjkzLDEzIEBACiAgICAgICAgICAgICBsZW4gPSBCSVRTKDQpICsgODsKICAgICAgICAgICAgIGlmIChzdGF0ZS0+d2JpdHMgPT0gMCkKICAgICAgICAgICAgICAgICBzdGF0ZS0+d2JpdHMgPSBsZW47Ci0gICAgICAgICAgICBlbHNlIGlmIChsZW4gPiBzdGF0ZS0+d2JpdHMpIHsKKyAgICAgICAgICAgIGlmIChsZW4gPiAxNSB8fCBsZW4gPiBzdGF0ZS0+d2JpdHMpIHsKICAgICAgICAgICAgICAgICBzdHJtLT5tc2cgPSAoY2hhciAqKSJpbnZhbGlkIHdpbmRvdyBzaXplIjsKICAgICAgICAgICAgICAgICBzdGF0ZS0+bW9kZSA9IEJBRDsKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIHN0YXRlLT5kbWF4ID0gMVUgPDwgbGVuOworICAgICAgICAgICAgc3RhdGUtPmZsYWdzID0gMDsgICAgICAgICAgICAgICAvKiBpbmRpY2F0ZSB6bGliIGhlYWRlciAqLwogICAgICAgICAgICAgVHJhY2V2KChzdGRlcnIsICJpbmZsYXRlOiAgIHpsaWIgaGVhZGVyIG9rXG4iKSk7CiAgICAgICAgICAgICBzdHJtLT5hZGxlciA9IHN0YXRlLT5jaGVjayA9IGFkbGVyMzIoMEwsIFpfTlVMTCwgMCk7CiAgICAgICAgICAgICBzdGF0ZS0+bW9kZSA9IGhvbGQgJiAweDIwMCA/IERJQ1RJRCA6IFRZUEU7CkBAIC02OTksNTAgKzcyMSw1OSBAQAogICAgICAgICAgICAgfQogICAgICAgICAgICAgaWYgKHN0YXRlLT5oZWFkICE9IFpfTlVMTCkKICAgICAgICAgICAgICAgICBzdGF0ZS0+aGVhZC0+dGV4dCA9IChpbnQpKChob2xkID4+IDgpICYgMSk7Ci0gICAgICAgICAgICBpZiAoc3RhdGUtPmZsYWdzICYgMHgwMjAwKSBDUkMyKHN0YXRlLT5jaGVjaywgaG9sZCk7CisgICAgICAgICAgICBpZiAoKHN0YXRlLT5mbGFncyAmIDB4MDIwMCkgJiYgKHN0YXRlLT53cmFwICYgNCkpCisgICAgICAgICAgICAgICAgQ1JDMihzdGF0ZS0+Y2hlY2ssIGhvbGQpOwogICAgICAgICAgICAgSU5JVEJJVFMoKTsKICAgICAgICAgICAgIHN0YXRlLT5tb2RlID0gVElNRTsKKyAgICAgICAgICAgICAgICAvKiBmYWxsdGhyb3VnaCAqLwogICAgICAgICBjYXNlIFRJTUU6CiAgICAgICAgICAgICBORUVEQklUUygzMik7CiAgICAgICAgICAgICBpZiAoc3RhdGUtPmhlYWQgIT0gWl9OVUxMKQogICAgICAgICAgICAgICAgIHN0YXRlLT5oZWFkLT50aW1lID0gaG9sZDsKLSAgICAgICAgICAgIGlmIChzdGF0ZS0+ZmxhZ3MgJiAweDAyMDApIENSQzQoc3RhdGUtPmNoZWNrLCBob2xkKTsKKyAgICAgICAgICAgIGlmICgoc3RhdGUtPmZsYWdzICYgMHgwMjAwKSAmJiAoc3RhdGUtPndyYXAgJiA0KSkKKyAgICAgICAgICAgICAgICBDUkM0KHN0YXRlLT5jaGVjaywgaG9sZCk7CiAgICAgICAgICAgICBJTklUQklUUygpOwogICAgICAgICAgICAgc3RhdGUtPm1vZGUgPSBPUzsKKyAgICAgICAgICAgICAgICAvKiBmYWxsdGhyb3VnaCAqLwogICAgICAgICBjYXNlIE9TOgogICAgICAgICAgICAgTkVFREJJVFMoMTYpOwogICAgICAgICAgICAgaWYgKHN0YXRlLT5oZWFkICE9IFpfTlVMTCkgewogICAgICAgICAgICAgICAgIHN0YXRlLT5oZWFkLT54ZmxhZ3MgPSAoaW50KShob2xkICYgMHhmZik7CiAgICAgICAgICAgICAgICAgc3RhdGUtPmhlYWQtPm9zID0gKGludCkoaG9sZCA+PiA4KTsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGlmIChzdGF0ZS0+ZmxhZ3MgJiAweDAyMDApIENSQzIoc3RhdGUtPmNoZWNrLCBob2xkKTsKKyAgICAgICAgICAgIGlmICgoc3RhdGUtPmZsYWdzICYgMHgwMjAwKSAmJiAoc3RhdGUtPndyYXAgJiA0KSkKKyAgICAgICAgICAgICAgICBDUkMyKHN0YXRlLT5jaGVjaywgaG9sZCk7CiAgICAgICAgICAgICBJTklUQklUUygpOwogICAgICAgICAgICAgc3RhdGUtPm1vZGUgPSBFWExFTjsKKyAgICAgICAgICAgICAgICAvKiBmYWxsdGhyb3VnaCAqLwogICAgICAgICBjYXNlIEVYTEVOOgogICAgICAgICAgICAgaWYgKHN0YXRlLT5mbGFncyAmIDB4MDQwMCkgewogICAgICAgICAgICAgICAgIE5FRURCSVRTKDE2KTsKICAgICAgICAgICAgICAgICBzdGF0ZS0+bGVuZ3RoID0gKHVuc2lnbmVkKShob2xkKTsKICAgICAgICAgICAgICAgICBpZiAoc3RhdGUtPmhlYWQgIT0gWl9OVUxMKQogICAgICAgICAgICAgICAgICAgICBzdGF0ZS0+aGVhZC0+ZXh0cmFfbGVuID0gKHVuc2lnbmVkKWhvbGQ7Ci0gICAgICAgICAgICAgICAgaWYgKHN0YXRlLT5mbGFncyAmIDB4MDIwMCkgQ1JDMihzdGF0ZS0+Y2hlY2ssIGhvbGQpOworICAgICAgICAgICAgICAgIGlmICgoc3RhdGUtPmZsYWdzICYgMHgwMjAwKSAmJiAoc3RhdGUtPndyYXAgJiA0KSkKKyAgICAgICAgICAgICAgICAgICAgQ1JDMihzdGF0ZS0+Y2hlY2ssIGhvbGQpOwogICAgICAgICAgICAgICAgIElOSVRCSVRTKCk7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBlbHNlIGlmIChzdGF0ZS0+aGVhZCAhPSBaX05VTEwpCiAgICAgICAgICAgICAgICAgc3RhdGUtPmhlYWQtPmV4dHJhID0gWl9OVUxMOwogICAgICAgICAgICAgc3RhdGUtPm1vZGUgPSBFWFRSQTsKKyAgICAgICAgICAgICAgICAvKiBmYWxsdGhyb3VnaCAqLwogICAgICAgICBjYXNlIEVYVFJBOgogICAgICAgICAgICAgaWYgKHN0YXRlLT5mbGFncyAmIDB4MDQwMCkgewogICAgICAgICAgICAgICAgIGNvcHkgPSBzdGF0ZS0+bGVuZ3RoOwogICAgICAgICAgICAgICAgIGlmIChjb3B5ID4gaGF2ZSkgY29weSA9IGhhdmU7CiAgICAgICAgICAgICAgICAgaWYgKGNvcHkpIHsKICAgICAgICAgICAgICAgICAgICAgaWYgKHN0YXRlLT5oZWFkICE9IFpfTlVMTCAmJgotICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGUtPmhlYWQtPmV4dHJhICE9IFpfTlVMTCkgewotICAgICAgICAgICAgICAgICAgICAgICAgbGVuID0gc3RhdGUtPmhlYWQtPmV4dHJhX2xlbiAtIHN0YXRlLT5sZW5ndGg7CisgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZS0+aGVhZC0+ZXh0cmEgIT0gWl9OVUxMICYmCisgICAgICAgICAgICAgICAgICAgICAgICAobGVuID0gc3RhdGUtPmhlYWQtPmV4dHJhX2xlbiAtIHN0YXRlLT5sZW5ndGgpIDwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZS0+aGVhZC0+ZXh0cmFfbWF4KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICB6bWVtY3B5KHN0YXRlLT5oZWFkLT5leHRyYSArIGxlbiwgbmV4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVuICsgY29weSA+IHN0YXRlLT5oZWFkLT5leHRyYV9tYXggPwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZS0+aGVhZC0+ZXh0cmFfbWF4IC0gbGVuIDogY29weSk7CiAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgaWYgKHN0YXRlLT5mbGFncyAmIDB4MDIwMCkKKyAgICAgICAgICAgICAgICAgICAgaWYgKChzdGF0ZS0+ZmxhZ3MgJiAweDAyMDApICYmIChzdGF0ZS0+d3JhcCAmIDQpKQogICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGUtPmNoZWNrID0gY3JjMzIoc3RhdGUtPmNoZWNrLCBuZXh0LCBjb3B5KTsKICAgICAgICAgICAgICAgICAgICAgaGF2ZSAtPSBjb3B5OwogICAgICAgICAgICAgICAgICAgICBuZXh0ICs9IGNvcHk7CkBAIC03NTIsNiArNzgzLDcgQEAKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIHN0YXRlLT5sZW5ndGggPSAwOwogICAgICAgICAgICAgc3RhdGUtPm1vZGUgPSBOQU1FOworICAgICAgICAgICAgICAgIC8qIGZhbGx0aHJvdWdoICovCiAgICAgICAgIGNhc2UgTkFNRToKICAgICAgICAgICAgIGlmIChzdGF0ZS0+ZmxhZ3MgJiAweDA4MDApIHsKICAgICAgICAgICAgICAgICBpZiAoaGF2ZSA9PSAwKSBnb3RvIGluZl9sZWF2ZTsKQEAgLTc2MSw5ICs3OTMsOSBAQAogICAgICAgICAgICAgICAgICAgICBpZiAoc3RhdGUtPmhlYWQgIT0gWl9OVUxMICYmCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGUtPmhlYWQtPm5hbWUgIT0gWl9OVUxMICYmCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGUtPmxlbmd0aCA8IHN0YXRlLT5oZWFkLT5uYW1lX21heCkKLSAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlLT5oZWFkLT5uYW1lW3N0YXRlLT5sZW5ndGgrK10gPSBsZW47CisgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZS0+aGVhZC0+bmFtZVtzdGF0ZS0+bGVuZ3RoKytdID0gKEJ5dGVmKWxlbjsKICAgICAgICAgICAgICAgICB9IHdoaWxlIChsZW4gJiYgY29weSA8IGhhdmUpOwotICAgICAgICAgICAgICAgIGlmIChzdGF0ZS0+ZmxhZ3MgJiAweDAyMDApCisgICAgICAgICAgICAgICAgaWYgKChzdGF0ZS0+ZmxhZ3MgJiAweDAyMDApICYmIChzdGF0ZS0+d3JhcCAmIDQpKQogICAgICAgICAgICAgICAgICAgICBzdGF0ZS0+Y2hlY2sgPSBjcmMzMihzdGF0ZS0+Y2hlY2ssIG5leHQsIGNvcHkpOwogICAgICAgICAgICAgICAgIGhhdmUgLT0gY29weTsKICAgICAgICAgICAgICAgICBuZXh0ICs9IGNvcHk7CkBAIC03NzMsNiArODA1LDcgQEAKICAgICAgICAgICAgICAgICBzdGF0ZS0+aGVhZC0+bmFtZSA9IFpfTlVMTDsKICAgICAgICAgICAgIHN0YXRlLT5sZW5ndGggPSAwOwogICAgICAgICAgICAgc3RhdGUtPm1vZGUgPSBDT01NRU5UOworICAgICAgICAgICAgICAgIC8qIGZhbGx0aHJvdWdoICovCiAgICAgICAgIGNhc2UgQ09NTUVOVDoKICAgICAgICAgICAgIGlmIChzdGF0ZS0+ZmxhZ3MgJiAweDEwMDApIHsKICAgICAgICAgICAgICAgICBpZiAoaGF2ZSA9PSAwKSBnb3RvIGluZl9sZWF2ZTsKQEAgLTc4Miw5ICs4MTUsOSBAQAogICAgICAgICAgICAgICAgICAgICBpZiAoc3RhdGUtPmhlYWQgIT0gWl9OVUxMICYmCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGUtPmhlYWQtPmNvbW1lbnQgIT0gWl9OVUxMICYmCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGUtPmxlbmd0aCA8IHN0YXRlLT5oZWFkLT5jb21tX21heCkKLSAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlLT5oZWFkLT5jb21tZW50W3N0YXRlLT5sZW5ndGgrK10gPSBsZW47CisgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZS0+aGVhZC0+Y29tbWVudFtzdGF0ZS0+bGVuZ3RoKytdID0gKEJ5dGVmKWxlbjsKICAgICAgICAgICAgICAgICB9IHdoaWxlIChsZW4gJiYgY29weSA8IGhhdmUpOwotICAgICAgICAgICAgICAgIGlmIChzdGF0ZS0+ZmxhZ3MgJiAweDAyMDApCisgICAgICAgICAgICAgICAgaWYgKChzdGF0ZS0+ZmxhZ3MgJiAweDAyMDApICYmIChzdGF0ZS0+d3JhcCAmIDQpKQogICAgICAgICAgICAgICAgICAgICBzdGF0ZS0+Y2hlY2sgPSBjcmMzMihzdGF0ZS0+Y2hlY2ssIG5leHQsIGNvcHkpOwogICAgICAgICAgICAgICAgIGhhdmUgLT0gY29weTsKICAgICAgICAgICAgICAgICBuZXh0ICs9IGNvcHk7CkBAIC03OTMsMTAgKzgyNiwxMSBAQAogICAgICAgICAgICAgZWxzZSBpZiAoc3RhdGUtPmhlYWQgIT0gWl9OVUxMKQogICAgICAgICAgICAgICAgIHN0YXRlLT5oZWFkLT5jb21tZW50ID0gWl9OVUxMOwogICAgICAgICAgICAgc3RhdGUtPm1vZGUgPSBIQ1JDOworICAgICAgICAgICAgICAgIC8qIGZhbGx0aHJvdWdoICovCiAgICAgICAgIGNhc2UgSENSQzoKICAgICAgICAgICAgIGlmIChzdGF0ZS0+ZmxhZ3MgJiAweDAyMDApIHsKICAgICAgICAgICAgICAgICBORUVEQklUUygxNik7Ci0gICAgICAgICAgICAgICAgaWYgKGhvbGQgIT0gKHN0YXRlLT5jaGVjayAmIDB4ZmZmZikpIHsKKyAgICAgICAgICAgICAgICBpZiAoKHN0YXRlLT53cmFwICYgNCkgJiYgaG9sZCAhPSAoc3RhdGUtPmNoZWNrICYgMHhmZmZmKSkgewogICAgICAgICAgICAgICAgICAgICBzdHJtLT5tc2cgPSAoY2hhciAqKSJoZWFkZXIgY3JjIG1pc21hdGNoIjsKICAgICAgICAgICAgICAgICAgICAgc3RhdGUtPm1vZGUgPSBCQUQ7CiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwpAQCAtODE2LDYgKzg1MCw3IEBACiAgICAgICAgICAgICBzdHJtLT5hZGxlciA9IHN0YXRlLT5jaGVjayA9IFpTV0FQMzIoaG9sZCk7CiAgICAgICAgICAgICBJTklUQklUUygpOwogICAgICAgICAgICAgc3RhdGUtPm1vZGUgPSBESUNUOworICAgICAgICAgICAgICAgIC8qIGZhbGx0aHJvdWdoICovCiAgICAgICAgIGNhc2UgRElDVDoKICAgICAgICAgICAgIGlmIChzdGF0ZS0+aGF2ZWRpY3QgPT0gMCkgewogICAgICAgICAgICAgICAgIFJFU1RPUkUoKTsKQEAgLTgyMyw4ICs4NTgsMTAgQEAKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIHN0cm0tPmFkbGVyID0gc3RhdGUtPmNoZWNrID0gYWRsZXIzMigwTCwgWl9OVUxMLCAwKTsKICAgICAgICAgICAgIHN0YXRlLT5tb2RlID0gVFlQRTsKKyAgICAgICAgICAgICAgICAvKiBmYWxsdGhyb3VnaCAqLwogICAgICAgICBjYXNlIFRZUEU6CiAgICAgICAgICAgICBpZiAoZmx1c2ggPT0gWl9CTE9DSyB8fCBmbHVzaCA9PSBaX1RSRUVTKSBnb3RvIGluZl9sZWF2ZTsKKyAgICAgICAgICAgICAgICAvKiBmYWxsdGhyb3VnaCAqLwogICAgICAgICBjYXNlIFRZUEVETzoKICAgICAgICAgICAgIGlmIChzdGF0ZS0+bGFzdCkgewogICAgICAgICAgICAgICAgIEJZVEVCSVRTKCk7CkBAIC04NzUsOCArOTEyLDEwIEBACiAgICAgICAgICAgICBJTklUQklUUygpOwogICAgICAgICAgICAgc3RhdGUtPm1vZGUgPSBDT1BZXzsKICAgICAgICAgICAgIGlmIChmbHVzaCA9PSBaX1RSRUVTKSBnb3RvIGluZl9sZWF2ZTsKKyAgICAgICAgICAgICAgICAvKiBmYWxsdGhyb3VnaCAqLwogICAgICAgICBjYXNlIENPUFlfOgogICAgICAgICAgICAgc3RhdGUtPm1vZGUgPSBDT1BZOworICAgICAgICAgICAgICAgIC8qIGZhbGx0aHJvdWdoICovCiAgICAgICAgIGNhc2UgQ09QWToKICAgICAgICAgICAgIGNvcHkgPSBzdGF0ZS0+bGVuZ3RoOwogICAgICAgICAgICAgaWYgKGNvcHkpIHsKQEAgLTkxMiw2ICs5NTEsNyBAQAogICAgICAgICAgICAgVHJhY2V2KChzdGRlcnIsICJpbmZsYXRlOiAgICAgICB0YWJsZSBzaXplcyBva1xuIikpOwogICAgICAgICAgICAgc3RhdGUtPmhhdmUgPSAwOwogICAgICAgICAgICAgc3RhdGUtPm1vZGUgPSBMRU5MRU5TOworICAgICAgICAgICAgICAgIC8qIGZhbGx0aHJvdWdoICovCiAgICAgICAgIGNhc2UgTEVOTEVOUzoKICAgICAgICAgICAgIHdoaWxlIChzdGF0ZS0+aGF2ZSA8IHN0YXRlLT5uY29kZSkgewogICAgICAgICAgICAgICAgIE5FRURCSVRTKDMpOwpAQCAtOTMzLDYgKzk3Myw3IEBACiAgICAgICAgICAgICBUcmFjZXYoKHN0ZGVyciwgImluZmxhdGU6ICAgICAgIGNvZGUgbGVuZ3RocyBva1xuIikpOwogICAgICAgICAgICAgc3RhdGUtPmhhdmUgPSAwOwogICAgICAgICAgICAgc3RhdGUtPm1vZGUgPSBDT0RFTEVOUzsKKyAgICAgICAgICAgICAgICAvKiBmYWxsdGhyb3VnaCAqLwogICAgICAgICBjYXNlIENPREVMRU5TOgogICAgICAgICAgICAgd2hpbGUgKHN0YXRlLT5oYXZlIDwgc3RhdGUtPm5sZW4gKyBzdGF0ZS0+bmRpc3QpIHsKICAgICAgICAgICAgICAgICBmb3IgKDs7KSB7CkBAIC0xMDE2LDggKzEwNTcsMTAgQEAKICAgICAgICAgICAgIFRyYWNldigoc3RkZXJyLCAiaW5mbGF0ZTogICAgICAgY29kZXMgb2tcbiIpKTsKICAgICAgICAgICAgIHN0YXRlLT5tb2RlID0gTEVOXzsKICAgICAgICAgICAgIGlmIChmbHVzaCA9PSBaX1RSRUVTKSBnb3RvIGluZl9sZWF2ZTsKKyAgICAgICAgICAgICAgICAvKiBmYWxsdGhyb3VnaCAqLwogICAgICAgICBjYXNlIExFTl86CiAgICAgICAgICAgICBzdGF0ZS0+bW9kZSA9IExFTjsKKyAgICAgICAgICAgICAgICAvKiBmYWxsdGhyb3VnaCAqLwogICAgICAgICBjYXNlIExFTjoKICAgICAgICAgICAgIGlmIChoYXZlID49IDYgJiYgbGVmdCA+PSAyNTgpIHsKICAgICAgICAgICAgICAgICBSRVNUT1JFKCk7CkBAIC0xMDY3LDYgKzExMTAsNyBAQAogICAgICAgICAgICAgfQogICAgICAgICAgICAgc3RhdGUtPmV4dHJhID0gKHVuc2lnbmVkKShoZXJlLm9wKSAmIDE1OwogICAgICAgICAgICAgc3RhdGUtPm1vZGUgPSBMRU5FWFQ7CisgICAgICAgICAgICAgICAgLyogZmFsbHRocm91Z2ggKi8KICAgICAgICAgY2FzZSBMRU5FWFQ6CiAgICAgICAgICAgICBpZiAoc3RhdGUtPmV4dHJhKSB7CiAgICAgICAgICAgICAgICAgTkVFREJJVFMoc3RhdGUtPmV4dHJhKTsKQEAgLTEwNzcsNiArMTEyMSw3IEBACiAgICAgICAgICAgICBUcmFjZXZ2KChzdGRlcnIsICJpbmZsYXRlOiAgICAgICAgIGxlbmd0aCAldVxuIiwgc3RhdGUtPmxlbmd0aCkpOwogICAgICAgICAgICAgc3RhdGUtPndhcyA9IHN0YXRlLT5sZW5ndGg7CiAgICAgICAgICAgICBzdGF0ZS0+bW9kZSA9IERJU1Q7CisgICAgICAgICAgICAgICAgLyogZmFsbHRocm91Z2ggKi8KICAgICAgICAgY2FzZSBESVNUOgogICAgICAgICAgICAgZm9yICg7OykgewogICAgICAgICAgICAgICAgIGhlcmUgPSBzdGF0ZS0+ZGlzdGNvZGVbQklUUyhzdGF0ZS0+ZGlzdGJpdHMpXTsKQEAgLTExMDQsNiArMTE0OSw3IEBACiAgICAgICAgICAgICBzdGF0ZS0+b2Zmc2V0ID0gKHVuc2lnbmVkKWhlcmUudmFsOwogICAgICAgICAgICAgc3RhdGUtPmV4dHJhID0gKHVuc2lnbmVkKShoZXJlLm9wKSAmIDE1OwogICAgICAgICAgICAgc3RhdGUtPm1vZGUgPSBESVNURVhUOworICAgICAgICAgICAgICAgIC8qIGZhbGx0aHJvdWdoICovCiAgICAgICAgIGNhc2UgRElTVEVYVDoKICAgICAgICAgICAgIGlmIChzdGF0ZS0+ZXh0cmEpIHsKICAgICAgICAgICAgICAgICBORUVEQklUUyhzdGF0ZS0+ZXh0cmEpOwpAQCAtMTEyMCw2ICsxMTY2LDcgQEAKICNlbmRpZgogICAgICAgICAgICAgVHJhY2V2digoc3RkZXJyLCAiaW5mbGF0ZTogICAgICAgICBkaXN0YW5jZSAldVxuIiwgc3RhdGUtPm9mZnNldCkpOwogICAgICAgICAgICAgc3RhdGUtPm1vZGUgPSBNQVRDSDsKKyAgICAgICAgICAgICAgICAvKiBmYWxsdGhyb3VnaCAqLwogICAgICAgICBjYXNlIE1BVENIOgogICAgICAgICAgICAgaWYgKGxlZnQgPT0gMCkgZ290byBpbmZfbGVhdmU7CiAgICAgICAgICAgICBjb3B5ID0gb3V0IC0gbGVmdDsKQEAgLTExNzcsMTEgKzEyMjQsMTEgQEAKICAgICAgICAgICAgICAgICBvdXQgLT0gbGVmdDsKICAgICAgICAgICAgICAgICBzdHJtLT50b3RhbF9vdXQgKz0gb3V0OwogICAgICAgICAgICAgICAgIHN0YXRlLT50b3RhbCArPSBvdXQ7Ci0gICAgICAgICAgICAgICAgaWYgKG91dCkKKyAgICAgICAgICAgICAgICBpZiAoKHN0YXRlLT53cmFwICYgNCkgJiYgb3V0KQogICAgICAgICAgICAgICAgICAgICBzdHJtLT5hZGxlciA9IHN0YXRlLT5jaGVjayA9Ci0gICAgICAgICAgICAgICAgICAgICAgICBVUERBVEUoc3RhdGUtPmNoZWNrLCBwdXQgLSBvdXQsIG91dCk7CisgICAgICAgICAgICAgICAgICAgICAgICBVUERBVEVfQ0hFQ0soc3RhdGUtPmNoZWNrLCBwdXQgLSBvdXQsIG91dCk7CiAgICAgICAgICAgICAgICAgb3V0ID0gbGVmdDsKLSAgICAgICAgICAgICAgICBpZiAoKAorICAgICAgICAgICAgICAgIGlmICgoc3RhdGUtPndyYXAgJiA0KSAmJiAoCiAjaWZkZWYgR1VOWklQCiAgICAgICAgICAgICAgICAgICAgICBzdGF0ZS0+ZmxhZ3MgPyBob2xkIDoKICNlbmRpZgpAQCAtMTE5NSwxMCArMTI0MiwxMSBAQAogICAgICAgICAgICAgfQogI2lmZGVmIEdVTlpJUAogICAgICAgICAgICAgc3RhdGUtPm1vZGUgPSBMRU5HVEg7CisgICAgICAgICAgICAgICAgLyogZmFsbHRocm91Z2ggKi8KICAgICAgICAgY2FzZSBMRU5HVEg6CiAgICAgICAgICAgICBpZiAoc3RhdGUtPndyYXAgJiYgc3RhdGUtPmZsYWdzKSB7CiAgICAgICAgICAgICAgICAgTkVFREJJVFMoMzIpOwotICAgICAgICAgICAgICAgIGlmIChob2xkICE9IChzdGF0ZS0+dG90YWwgJiAweGZmZmZmZmZmVUwpKSB7CisgICAgICAgICAgICAgICAgaWYgKChzdGF0ZS0+d3JhcCAmIDQpICYmIGhvbGQgIT0gKHN0YXRlLT50b3RhbCAmIDB4ZmZmZmZmZmYpKSB7CiAgICAgICAgICAgICAgICAgICAgIHN0cm0tPm1zZyA9IChjaGFyICopImluY29ycmVjdCBsZW5ndGggY2hlY2siOwogICAgICAgICAgICAgICAgICAgICBzdGF0ZS0+bW9kZSA9IEJBRDsKICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CkBAIC0xMjA4LDYgKzEyNTYsNyBAQAogICAgICAgICAgICAgfQogI2VuZGlmCiAgICAgICAgICAgICBzdGF0ZS0+bW9kZSA9IERPTkU7CisgICAgICAgICAgICAgICAgLyogZmFsbHRocm91Z2ggKi8KICAgICAgICAgY2FzZSBET05FOgogICAgICAgICAgICAgcmV0ID0gWl9TVFJFQU1fRU5EOwogICAgICAgICAgICAgZ290byBpbmZfbGVhdmU7CkBAIC0xMjE3LDYgKzEyNjYsNyBAQAogICAgICAgICBjYXNlIE1FTToKICAgICAgICAgICAgIHJldHVybiBaX01FTV9FUlJPUjsKICAgICAgICAgY2FzZSBTWU5DOgorICAgICAgICAgICAgICAgIC8qIGZhbGx0aHJvdWdoICovCiAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICByZXR1cm4gWl9TVFJFQU1fRVJST1I7CiAgICAgICAgIH0KQEAgLTEyNDAsMTAgKzEyOTAsMTAgQEAKICAgICBzdHJtLT50b3RhbF9pbiArPSBpbjsKICAgICBzdHJtLT50b3RhbF9vdXQgKz0gb3V0OwogICAgIHN0YXRlLT50b3RhbCArPSBvdXQ7Ci0gICAgaWYgKHN0YXRlLT53cmFwICYmIG91dCkKKyAgICBpZiAoKHN0YXRlLT53cmFwICYgNCkgJiYgb3V0KQogICAgICAgICBzdHJtLT5hZGxlciA9IHN0YXRlLT5jaGVjayA9Ci0gICAgICAgICAgICBVUERBVEUoc3RhdGUtPmNoZWNrLCBzdHJtLT5uZXh0X291dCAtIG91dCwgb3V0KTsKLSAgICBzdHJtLT5kYXRhX3R5cGUgPSBzdGF0ZS0+Yml0cyArIChzdGF0ZS0+bGFzdCA/IDY0IDogMCkgKworICAgICAgICAgICAgVVBEQVRFX0NIRUNLKHN0YXRlLT5jaGVjaywgc3RybS0+bmV4dF9vdXQgLSBvdXQsIG91dCk7CisgICAgc3RybS0+ZGF0YV90eXBlID0gKGludClzdGF0ZS0+Yml0cyArIChzdGF0ZS0+bGFzdCA/IDY0IDogMCkgKwogICAgICAgICAgICAgICAgICAgICAgIChzdGF0ZS0+bW9kZSA9PSBUWVBFID8gMTI4IDogMCkgKwogICAgICAgICAgICAgICAgICAgICAgIChzdGF0ZS0+bW9kZSA9PSBMRU5fIHx8IHN0YXRlLT5tb2RlID09IENPUFlfID8gMjU2IDogMCk7CiAgICAgaWYgKCgoaW4gPT0gMCAmJiBvdXQgPT0gMCkgfHwgZmx1c2ggPT0gWl9GSU5JU0gpICYmIHJldCA9PSBaX09LKQpAQCAtMTI1NSw3ICsxMzA1LDcgQEAKIHpfc3RyZWFtcCBzdHJtOwogewogICAgIHN0cnVjdCBpbmZsYXRlX3N0YXRlIEZBUiAqc3RhdGU7Ci0gICAgaWYgKHN0cm0gPT0gWl9OVUxMIHx8IHN0cm0tPnN0YXRlID09IFpfTlVMTCB8fCBzdHJtLT56ZnJlZSA9PSAoZnJlZV9mdW5jKTApCisgICAgaWYgKGluZmxhdGVTdGF0ZUNoZWNrKHN0cm0pKQogICAgICAgICByZXR1cm4gWl9TVFJFQU1fRVJST1I7CiAgICAgc3RhdGUgPSAoc3RydWN0IGluZmxhdGVfc3RhdGUgRkFSICopc3RybS0+c3RhdGU7CiAgICAgaWYgKHN0YXRlLT53aW5kb3cgIT0gWl9OVUxMKSBaRlJFRShzdHJtLCBzdGF0ZS0+d2luZG93KTsKQEAgLTEyNzMsNyArMTMyMyw3IEBACiAgICAgc3RydWN0IGluZmxhdGVfc3RhdGUgRkFSICpzdGF0ZTsKIAogICAgIC8qIGNoZWNrIHN0YXRlICovCi0gICAgaWYgKHN0cm0gPT0gWl9OVUxMIHx8IHN0cm0tPnN0YXRlID09IFpfTlVMTCkgcmV0dXJuIFpfU1RSRUFNX0VSUk9SOworICAgIGlmIChpbmZsYXRlU3RhdGVDaGVjayhzdHJtKSkgcmV0dXJuIFpfU1RSRUFNX0VSUk9SOwogICAgIHN0YXRlID0gKHN0cnVjdCBpbmZsYXRlX3N0YXRlIEZBUiAqKXN0cm0tPnN0YXRlOwogCiAgICAgLyogY29weSBkaWN0aW9uYXJ5ICovCkBAIC0xMjk4LDcgKzEzNDgsNyBAQAogICAgIGludCByZXQ7CiAKICAgICAvKiBjaGVjayBzdGF0ZSAqLwotICAgIGlmIChzdHJtID09IFpfTlVMTCB8fCBzdHJtLT5zdGF0ZSA9PSBaX05VTEwpIHJldHVybiBaX1NUUkVBTV9FUlJPUjsKKyAgICBpZiAoaW5mbGF0ZVN0YXRlQ2hlY2soc3RybSkpIHJldHVybiBaX1NUUkVBTV9FUlJPUjsKICAgICBzdGF0ZSA9IChzdHJ1Y3QgaW5mbGF0ZV9zdGF0ZSBGQVIgKilzdHJtLT5zdGF0ZTsKICAgICBpZiAoc3RhdGUtPndyYXAgIT0gMCAmJiBzdGF0ZS0+bW9kZSAhPSBESUNUKQogICAgICAgICByZXR1cm4gWl9TVFJFQU1fRVJST1I7CkBAIC0xMzMwLDcgKzEzODAsNyBAQAogICAgIHN0cnVjdCBpbmZsYXRlX3N0YXRlIEZBUiAqc3RhdGU7CiAKICAgICAvKiBjaGVjayBzdGF0ZSAqLwotICAgIGlmIChzdHJtID09IFpfTlVMTCB8fCBzdHJtLT5zdGF0ZSA9PSBaX05VTEwpIHJldHVybiBaX1NUUkVBTV9FUlJPUjsKKyAgICBpZiAoaW5mbGF0ZVN0YXRlQ2hlY2soc3RybSkpIHJldHVybiBaX1NUUkVBTV9FUlJPUjsKICAgICBzdGF0ZSA9IChzdHJ1Y3QgaW5mbGF0ZV9zdGF0ZSBGQVIgKilzdHJtLT5zdGF0ZTsKICAgICBpZiAoKHN0YXRlLT53cmFwICYgMikgPT0gMCkgcmV0dXJuIFpfU1RSRUFNX0VSUk9SOwogCkBAIC0xMzc4LDEyICsxNDI4LDEzIEBACiB6X3N0cmVhbXAgc3RybTsKIHsKICAgICB1bnNpZ25lZCBsZW47ICAgICAgICAgICAgICAgLyogbnVtYmVyIG9mIGJ5dGVzIHRvIGxvb2sgYXQgb3IgbG9va2VkIGF0ICovCisgICAgaW50IGZsYWdzOyAgICAgICAgICAgICAgICAgIC8qIHRlbXBvcmFyeSB0byBzYXZlIGhlYWRlciBzdGF0dXMgKi8KICAgICB1bnNpZ25lZCBsb25nIGluLCBvdXQ7ICAgICAgLyogdGVtcG9yYXJ5IHRvIHNhdmUgdG90YWxfaW4gYW5kIHRvdGFsX291dCAqLwogICAgIHVuc2lnbmVkIGNoYXIgYnVmWzRdOyAgICAgICAvKiB0byByZXN0b3JlIGJpdCBidWZmZXIgdG8gYnl0ZSBzdHJpbmcgKi8KICAgICBzdHJ1Y3QgaW5mbGF0ZV9zdGF0ZSBGQVIgKnN0YXRlOwogCiAgICAgLyogY2hlY2sgcGFyYW1ldGVycyAqLwotICAgIGlmIChzdHJtID09IFpfTlVMTCB8fCBzdHJtLT5zdGF0ZSA9PSBaX05VTEwpIHJldHVybiBaX1NUUkVBTV9FUlJPUjsKKyAgICBpZiAoaW5mbGF0ZVN0YXRlQ2hlY2soc3RybSkpIHJldHVybiBaX1NUUkVBTV9FUlJPUjsKICAgICBzdGF0ZSA9IChzdHJ1Y3QgaW5mbGF0ZV9zdGF0ZSBGQVIgKilzdHJtLT5zdGF0ZTsKICAgICBpZiAoc3RybS0+YXZhaWxfaW4gPT0gMCAmJiBzdGF0ZS0+Yml0cyA8IDgpIHJldHVybiBaX0JVRl9FUlJPUjsKIApAQCAtMTQxMCw5ICsxNDYxLDE1IEBACiAKICAgICAvKiByZXR1cm4gbm8gam95IG9yIHNldCB1cCB0byByZXN0YXJ0IGluZmxhdGUoKSBvbiBhIG5ldyBibG9jayAqLwogICAgIGlmIChzdGF0ZS0+aGF2ZSAhPSA0KSByZXR1cm4gWl9EQVRBX0VSUk9SOworICAgIGlmIChzdGF0ZS0+ZmxhZ3MgPT0gLTEpCisgICAgICAgIHN0YXRlLT53cmFwID0gMDsgICAgLyogaWYgbm8gaGVhZGVyIHlldCwgdHJlYXQgYXMgcmF3ICovCisgICAgZWxzZQorICAgICAgICBzdGF0ZS0+d3JhcCAmPSB+NDsgIC8qIG5vIHBvaW50IGluIGNvbXB1dGluZyBhIGNoZWNrIHZhbHVlIG5vdyAqLworICAgIGZsYWdzID0gc3RhdGUtPmZsYWdzOwogICAgIGluID0gc3RybS0+dG90YWxfaW47ICBvdXQgPSBzdHJtLT50b3RhbF9vdXQ7CiAgICAgaW5mbGF0ZVJlc2V0KHN0cm0pOwogICAgIHN0cm0tPnRvdGFsX2luID0gaW47ICBzdHJtLT50b3RhbF9vdXQgPSBvdXQ7CisgICAgc3RhdGUtPmZsYWdzID0gZmxhZ3M7CiAgICAgc3RhdGUtPm1vZGUgPSBUWVBFOwogICAgIHJldHVybiBaX09LOwogfQpAQCAtMTQzMCw3ICsxNDg3LDcgQEAKIHsKICAgICBzdHJ1Y3QgaW5mbGF0ZV9zdGF0ZSBGQVIgKnN0YXRlOwogCi0gICAgaWYgKHN0cm0gPT0gWl9OVUxMIHx8IHN0cm0tPnN0YXRlID09IFpfTlVMTCkgcmV0dXJuIFpfU1RSRUFNX0VSUk9SOworICAgIGlmIChpbmZsYXRlU3RhdGVDaGVjayhzdHJtKSkgcmV0dXJuIFpfU1RSRUFNX0VSUk9SOwogICAgIHN0YXRlID0gKHN0cnVjdCBpbmZsYXRlX3N0YXRlIEZBUiAqKXN0cm0tPnN0YXRlOwogICAgIHJldHVybiBzdGF0ZS0+bW9kZSA9PSBTVE9SRUQgJiYgc3RhdGUtPmJpdHMgPT0gMDsKIH0KQEAgLTE0NDUsOCArMTUwMiw3IEBACiAgICAgdW5zaWduZWQgd3NpemU7CiAKICAgICAvKiBjaGVjayBpbnB1dCAqLwotICAgIGlmIChkZXN0ID09IFpfTlVMTCB8fCBzb3VyY2UgPT0gWl9OVUxMIHx8IHNvdXJjZS0+c3RhdGUgPT0gWl9OVUxMIHx8Ci0gICAgICAgIHNvdXJjZS0+emFsbG9jID09IChhbGxvY19mdW5jKTAgfHwgc291cmNlLT56ZnJlZSA9PSAoZnJlZV9mdW5jKTApCisgICAgaWYgKGluZmxhdGVTdGF0ZUNoZWNrKHNvdXJjZSkgfHwgZGVzdCA9PSBaX05VTEwpCiAgICAgICAgIHJldHVybiBaX1NUUkVBTV9FUlJPUjsKICAgICBzdGF0ZSA9IChzdHJ1Y3QgaW5mbGF0ZV9zdGF0ZSBGQVIgKilzb3VyY2UtPnN0YXRlOwogCkBAIC0xNDY3LDYgKzE1MjMsNyBAQAogICAgIC8qIGNvcHkgc3RhdGUgKi8KICAgICB6bWVtY3B5KCh2b2lkcGYpZGVzdCwgKHZvaWRwZilzb3VyY2UsIHNpemVvZih6X3N0cmVhbSkpOwogICAgIHptZW1jcHkoKHZvaWRwZiljb3B5LCAodm9pZHBmKXN0YXRlLCBzaXplb2Yoc3RydWN0IGluZmxhdGVfc3RhdGUpKTsKKyAgICBjb3B5LT5zdHJtID0gZGVzdDsKICAgICBpZiAoc3RhdGUtPmxlbmNvZGUgPj0gc3RhdGUtPmNvZGVzICYmCiAgICAgICAgIHN0YXRlLT5sZW5jb2RlIDw9IHN0YXRlLT5jb2RlcyArIEVOT1VHSCAtIDEpIHsKICAgICAgICAgY29weS0+bGVuY29kZSA9IGNvcHktPmNvZGVzICsgKHN0YXRlLT5sZW5jb2RlIC0gc3RhdGUtPmNvZGVzKTsKQEAgLTE0ODgsMjYgKzE1NDUsNTEgQEAKIHsKICAgICBzdHJ1Y3QgaW5mbGF0ZV9zdGF0ZSBGQVIgKnN0YXRlOwogCi0gICAgaWYgKHN0cm0gPT0gWl9OVUxMIHx8IHN0cm0tPnN0YXRlID09IFpfTlVMTCkgcmV0dXJuIFpfU1RSRUFNX0VSUk9SOworICAgIGlmIChpbmZsYXRlU3RhdGVDaGVjayhzdHJtKSkgcmV0dXJuIFpfU1RSRUFNX0VSUk9SOwogICAgIHN0YXRlID0gKHN0cnVjdCBpbmZsYXRlX3N0YXRlIEZBUiAqKXN0cm0tPnN0YXRlOwotICAgIHN0YXRlLT5zYW5lID0gIXN1YnZlcnQ7CiAjaWZkZWYgSU5GTEFURV9BTExPV19JTlZBTElEX0RJU1RBTkNFX1RPT0ZBUl9BUlJSCisgICAgc3RhdGUtPnNhbmUgPSAhc3VidmVydDsKICAgICByZXR1cm4gWl9PSzsKICNlbHNlCisgICAgKHZvaWQpc3VidmVydDsKICAgICBzdGF0ZS0+c2FuZSA9IDE7CiAgICAgcmV0dXJuIFpfREFUQV9FUlJPUjsKICNlbmRpZgogfQogCitpbnQgWkVYUE9SVCBpbmZsYXRlVmFsaWRhdGUoc3RybSwgY2hlY2spCit6X3N0cmVhbXAgc3RybTsKK2ludCBjaGVjazsKK3sKKyAgICBzdHJ1Y3QgaW5mbGF0ZV9zdGF0ZSBGQVIgKnN0YXRlOworCisgICAgaWYgKGluZmxhdGVTdGF0ZUNoZWNrKHN0cm0pKSByZXR1cm4gWl9TVFJFQU1fRVJST1I7CisgICAgc3RhdGUgPSAoc3RydWN0IGluZmxhdGVfc3RhdGUgRkFSICopc3RybS0+c3RhdGU7CisgICAgaWYgKGNoZWNrICYmIHN0YXRlLT53cmFwKQorICAgICAgICBzdGF0ZS0+d3JhcCB8PSA0OworICAgIGVsc2UKKyAgICAgICAgc3RhdGUtPndyYXAgJj0gfjQ7CisgICAgcmV0dXJuIFpfT0s7Cit9CisKIGxvbmcgWkVYUE9SVCBpbmZsYXRlTWFyayhzdHJtKQogel9zdHJlYW1wIHN0cm07CiB7CiAgICAgc3RydWN0IGluZmxhdGVfc3RhdGUgRkFSICpzdGF0ZTsKIAotICAgIGlmIChzdHJtID09IFpfTlVMTCB8fCBzdHJtLT5zdGF0ZSA9PSBaX05VTEwpCi0gICAgICAgIHJldHVybiAobG9uZykoKCh1bnNpZ25lZCBsb25nKTAgLSAxKSA8PCAxNik7CisgICAgaWYgKGluZmxhdGVTdGF0ZUNoZWNrKHN0cm0pKQorICAgICAgICByZXR1cm4gLSgxTCA8PCAxNik7CiAgICAgc3RhdGUgPSAoc3RydWN0IGluZmxhdGVfc3RhdGUgRkFSICopc3RybS0+c3RhdGU7CiAgICAgcmV0dXJuIChsb25nKSgoKHVuc2lnbmVkIGxvbmcpKChsb25nKXN0YXRlLT5iYWNrKSkgPDwgMTYpICsKICAgICAgICAgKHN0YXRlLT5tb2RlID09IENPUFkgPyBzdGF0ZS0+bGVuZ3RoIDoKICAgICAgICAgICAgIChzdGF0ZS0+bW9kZSA9PSBNQVRDSCA/IHN0YXRlLT53YXMgLSBzdGF0ZS0+bGVuZ3RoIDogMCkpOwogfQorCit1bnNpZ25lZCBsb25nIFpFWFBPUlQgaW5mbGF0ZUNvZGVzVXNlZChzdHJtKQorel9zdHJlYW1wIHN0cm07Cit7CisgICAgc3RydWN0IGluZmxhdGVfc3RhdGUgRkFSICpzdGF0ZTsKKyAgICBpZiAoaW5mbGF0ZVN0YXRlQ2hlY2soc3RybSkpIHJldHVybiAodW5zaWduZWQgbG9uZyktMTsKKyAgICBzdGF0ZSA9IChzdHJ1Y3QgaW5mbGF0ZV9zdGF0ZSBGQVIgKilzdHJtLT5zdGF0ZTsKKyAgICByZXR1cm4gKHVuc2lnbmVkIGxvbmcpKHN0YXRlLT5uZXh0IC0gc3RhdGUtPmNvZGVzKTsKK30KZGlmZiAtLWdpdCBhL3NyYy9pbmZsYXRlLmggYi9zcmMvaW5mbGF0ZS5oCmluZGV4IDk1ZjQ5ODYuLmYxMjdiNmIgMTAwNjQ0Ci0tLSBhL3NyYy9pbmZsYXRlLmgKKysrIGIvc3JjL2luZmxhdGUuaApAQCAtMSw1ICsxLDUgQEAKIC8qIGluZmxhdGUuaCAtLSBpbnRlcm5hbCBpbmZsYXRlIHN0YXRlIGRlZmluaXRpb24KLSAqIENvcHlyaWdodCAoQykgMTk5NS0yMDA5IE1hcmsgQWRsZXIKKyAqIENvcHlyaWdodCAoQykgMTk5NS0yMDE5IE1hcmsgQWRsZXIKICAqIEZvciBjb25kaXRpb25zIG9mIGRpc3RyaWJ1dGlvbiBhbmQgdXNlLCBzZWUgY29weXJpZ2h0IG5vdGljZSBpbiB6bGliLmgKICAqLwogCkBAIC0xOCw3ICsxOCw3IEBACiAKIC8qIFBvc3NpYmxlIGluZmxhdGUgbW9kZXMgYmV0d2VlbiBpbmZsYXRlKCkgY2FsbHMgKi8KIHR5cGVkZWYgZW51bSB7Ci0gICAgSEVBRCwgICAgICAgLyogaTogd2FpdGluZyBmb3IgbWFnaWMgaGVhZGVyICovCisgICAgSEVBRCA9IDE2MTgwLCAgIC8qIGk6IHdhaXRpbmcgZm9yIG1hZ2ljIGhlYWRlciAqLwogICAgIEZMQUdTLCAgICAgIC8qIGk6IHdhaXRpbmcgZm9yIG1ldGhvZCBhbmQgZmxhZ3MgKGd6aXApICovCiAgICAgVElNRSwgICAgICAgLyogaTogd2FpdGluZyBmb3IgbW9kaWZpY2F0aW9uIHRpbWUgKGd6aXApICovCiAgICAgT1MsICAgICAgICAgLyogaTogd2FpdGluZyBmb3IgZXh0cmEgZmxhZ3MgYW5kIG9wZXJhdGluZyBzeXN0ZW0gKGd6aXApICovCkBAIC03NywxMyArNzcsMTcgQEAKICAgICAgICAgQ0hFQ0sgLT4gTEVOR1RIIC0+IERPTkUKICAqLwogCi0vKiBzdGF0ZSBtYWludGFpbmVkIGJldHdlZW4gaW5mbGF0ZSgpIGNhbGxzLiAgQXBwcm94aW1hdGVseSAxMEsgYnl0ZXMuICovCisvKiBTdGF0ZSBtYWludGFpbmVkIGJldHdlZW4gaW5mbGF0ZSgpIGNhbGxzIC0tIGFwcHJveGltYXRlbHkgN0sgYnl0ZXMsIG5vdAorICAgaW5jbHVkaW5nIHRoZSBhbGxvY2F0ZWQgc2xpZGluZyB3aW5kb3csIHdoaWNoIGlzIHVwIHRvIDMySyBieXRlcy4gKi8KIHN0cnVjdCBpbmZsYXRlX3N0YXRlIHsKKyAgICB6X3N0cmVhbXAgc3RybTsgICAgICAgICAgICAgLyogcG9pbnRlciBiYWNrIHRvIHRoaXMgemxpYiBzdHJlYW0gKi8KICAgICBpbmZsYXRlX21vZGUgbW9kZTsgICAgICAgICAgLyogY3VycmVudCBpbmZsYXRlIG1vZGUgKi8KICAgICBpbnQgbGFzdDsgICAgICAgICAgICAgICAgICAgLyogdHJ1ZSBpZiBwcm9jZXNzaW5nIGxhc3QgYmxvY2sgKi8KLSAgICBpbnQgd3JhcDsgICAgICAgICAgICAgICAgICAgLyogYml0IDAgdHJ1ZSBmb3IgemxpYiwgYml0IDEgdHJ1ZSBmb3IgZ3ppcCAqLworICAgIGludCB3cmFwOyAgICAgICAgICAgICAgICAgICAvKiBiaXQgMCB0cnVlIGZvciB6bGliLCBiaXQgMSB0cnVlIGZvciBnemlwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiaXQgMiB0cnVlIHRvIHZhbGlkYXRlIGNoZWNrIHZhbHVlICovCiAgICAgaW50IGhhdmVkaWN0OyAgICAgICAgICAgICAgIC8qIHRydWUgaWYgZGljdGlvbmFyeSBwcm92aWRlZCAqLwotICAgIGludCBmbGFnczsgICAgICAgICAgICAgICAgICAvKiBnemlwIGhlYWRlciBtZXRob2QgYW5kIGZsYWdzICgwIGlmIHpsaWIpICovCisgICAgaW50IGZsYWdzOyAgICAgICAgICAgICAgICAgIC8qIGd6aXAgaGVhZGVyIG1ldGhvZCBhbmQgZmxhZ3MsIDAgaWYgemxpYiwgb3IKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEgaWYgcmF3IG9yIG5vIGhlYWRlciB5ZXQgKi8KICAgICB1bnNpZ25lZCBkbWF4OyAgICAgICAgICAgICAgLyogemxpYiBoZWFkZXIgbWF4IGRpc3RhbmNlIChJTkZMQVRFX1NUUklDVCkgKi8KICAgICB1bnNpZ25lZCBsb25nIGNoZWNrOyAgICAgICAgLyogcHJvdGVjdGVkIGNvcHkgb2YgY2hlY2sgdmFsdWUgKi8KICAgICB1bnNpZ25lZCBsb25nIHRvdGFsOyAgICAgICAgLyogcHJvdGVjdGVkIGNvcHkgb2Ygb3V0cHV0IGNvdW50ICovCmRpZmYgLS1naXQgYS9zcmMvaW5mdHJlZXMuYyBiL3NyYy9pbmZ0cmVlcy5jCmluZGV4IDQ0ZDg5Y2YuLjU3ZDI3OTMgMTAwNjQ0Ci0tLSBhL3NyYy9pbmZ0cmVlcy5jCisrKyBiL3NyYy9pbmZ0cmVlcy5jCkBAIC0xLDUgKzEsNSBAQAogLyogaW5mdHJlZXMuYyAtLSBnZW5lcmF0ZSBIdWZmbWFuIHRyZWVzIGZvciBlZmZpY2llbnQgZGVjb2RpbmcKLSAqIENvcHlyaWdodCAoQykgMTk5NS0yMDEzIE1hcmsgQWRsZXIKKyAqIENvcHlyaWdodCAoQykgMTk5NS0yMDIyIE1hcmsgQWRsZXIKICAqIEZvciBjb25kaXRpb25zIG9mIGRpc3RyaWJ1dGlvbiBhbmQgdXNlLCBzZWUgY29weXJpZ2h0IG5vdGljZSBpbiB6bGliLmgKICAqLwogCkBAIC05LDcgKzksNyBAQAogI2RlZmluZSBNQVhCSVRTIDE1CiAKIGNvbnN0IGNoYXIgaW5mbGF0ZV9jb3B5cmlnaHRbXSA9Ci0gICAiIGluZmxhdGUgMS4yLjggQ29weXJpZ2h0IDE5OTUtMjAxMyBNYXJrIEFkbGVyICI7CisgICAiIGluZmxhdGUgMS4yLjEzIENvcHlyaWdodCAxOTk1LTIwMjIgTWFyayBBZGxlciAiOwogLyoKICAgSWYgeW91IHVzZSB0aGUgemxpYiBsaWJyYXJ5IGluIGEgcHJvZHVjdCwgYW4gYWNrbm93bGVkZ21lbnQgaXMgd2VsY29tZQogICBpbiB0aGUgZG9jdW1lbnRhdGlvbiBvZiB5b3VyIHByb2R1Y3QuIElmIGZvciBzb21lIHJlYXNvbiB5b3UgY2Fubm90CkBAIC01NCw3ICs1NCw3IEBACiAgICAgY29kZSBGQVIgKm5leHQ7ICAgICAgICAgICAgIC8qIG5leHQgYXZhaWxhYmxlIHNwYWNlIGluIHRhYmxlICovCiAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgRkFSICpiYXNlOyAgICAgLyogYmFzZSB2YWx1ZSB0YWJsZSB0byB1c2UgKi8KICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBGQVIgKmV4dHJhOyAgICAvKiBleHRyYSBiaXRzIHRhYmxlIHRvIHVzZSAqLwotICAgIGludCBlbmQ7ICAgICAgICAgICAgICAgICAgICAvKiB1c2UgYmFzZSBhbmQgZXh0cmEgZm9yIHN5bWJvbCA+IGVuZCAqLworICAgIHVuc2lnbmVkIG1hdGNoOyAgICAgICAgICAgICAvKiB1c2UgYmFzZSBhbmQgZXh0cmEgZm9yIHN5bWJvbCA+PSBtYXRjaCAqLwogICAgIHVuc2lnbmVkIHNob3J0IGNvdW50W01BWEJJVFMrMV07ICAgIC8qIG51bWJlciBvZiBjb2RlcyBvZiBlYWNoIGxlbmd0aCAqLwogICAgIHVuc2lnbmVkIHNob3J0IG9mZnNbTUFYQklUUysxXTsgICAgIC8qIG9mZnNldHMgaW4gdGFibGUgZm9yIGVhY2ggbGVuZ3RoICovCiAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIHNob3J0IGxiYXNlWzMxXSA9IHsgLyogTGVuZ3RoIGNvZGVzIDI1Ny4uMjg1IGJhc2UgKi8KQEAgLTYyLDcgKzYyLDcgQEAKICAgICAgICAgMzUsIDQzLCA1MSwgNTksIDY3LCA4MywgOTksIDExNSwgMTMxLCAxNjMsIDE5NSwgMjI3LCAyNTgsIDAsIDB9OwogICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBzaG9ydCBsZXh0WzMxXSA9IHsgLyogTGVuZ3RoIGNvZGVzIDI1Ny4uMjg1IGV4dHJhICovCiAgICAgICAgIDE2LCAxNiwgMTYsIDE2LCAxNiwgMTYsIDE2LCAxNiwgMTcsIDE3LCAxNywgMTcsIDE4LCAxOCwgMTgsIDE4LAotICAgICAgICAxOSwgMTksIDE5LCAxOSwgMjAsIDIwLCAyMCwgMjAsIDIxLCAyMSwgMjEsIDIxLCAxNiwgNzIsIDc4fTsKKyAgICAgICAgMTksIDE5LCAxOSwgMTksIDIwLCAyMCwgMjAsIDIwLCAyMSwgMjEsIDIxLCAyMSwgMTYsIDE5NCwgNjV9OwogICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBzaG9ydCBkYmFzZVszMl0gPSB7IC8qIERpc3RhbmNlIGNvZGVzIDAuLjI5IGJhc2UgKi8KICAgICAgICAgMSwgMiwgMywgNCwgNSwgNywgOSwgMTMsIDE3LCAyNSwgMzMsIDQ5LCA2NSwgOTcsIDEyOSwgMTkzLAogICAgICAgICAyNTcsIDM4NSwgNTEzLCA3NjksIDEwMjUsIDE1MzcsIDIwNDksIDMwNzMsIDQwOTcsIDYxNDUsCkBAIC0xODEsMTkgKzE4MSwxNyBAQAogICAgIHN3aXRjaCAodHlwZSkgewogICAgIGNhc2UgQ09ERVM6CiAgICAgICAgIGJhc2UgPSBleHRyYSA9IHdvcms7ICAgIC8qIGR1bW15IHZhbHVlLS1ub3QgdXNlZCAqLwotICAgICAgICBlbmQgPSAxOTsKKyAgICAgICAgbWF0Y2ggPSAyMDsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBMRU5TOgogICAgICAgICBiYXNlID0gbGJhc2U7Ci0gICAgICAgIGJhc2UgLT0gMjU3OwogICAgICAgICBleHRyYSA9IGxleHQ7Ci0gICAgICAgIGV4dHJhIC09IDI1NzsKLSAgICAgICAgZW5kID0gMjU2OworICAgICAgICBtYXRjaCA9IDI1NzsKICAgICAgICAgYnJlYWs7Ci0gICAgZGVmYXVsdDogICAgICAgICAgICAvKiBESVNUUyAqLworICAgIGRlZmF1bHQ6ICAgIC8qIERJU1RTICovCiAgICAgICAgIGJhc2UgPSBkYmFzZTsKICAgICAgICAgZXh0cmEgPSBkZXh0OwotICAgICAgICBlbmQgPSAtMTsKKyAgICAgICAgbWF0Y2ggPSAwOwogICAgIH0KIAogICAgIC8qIGluaXRpYWxpemUgc3RhdGUgZm9yIGxvb3AgKi8KQEAgLTIxNiwxMyArMjE0LDEzIEBACiAgICAgZm9yICg7OykgewogICAgICAgICAvKiBjcmVhdGUgdGFibGUgZW50cnkgKi8KICAgICAgICAgaGVyZS5iaXRzID0gKHVuc2lnbmVkIGNoYXIpKGxlbiAtIGRyb3ApOwotICAgICAgICBpZiAoKGludCkod29ya1tzeW1dKSA8IGVuZCkgeworICAgICAgICBpZiAod29ya1tzeW1dICsgMVUgPCBtYXRjaCkgewogICAgICAgICAgICAgaGVyZS5vcCA9ICh1bnNpZ25lZCBjaGFyKTA7CiAgICAgICAgICAgICBoZXJlLnZhbCA9IHdvcmtbc3ltXTsKICAgICAgICAgfQotICAgICAgICBlbHNlIGlmICgoaW50KSh3b3JrW3N5bV0pID4gZW5kKSB7Ci0gICAgICAgICAgICBoZXJlLm9wID0gKHVuc2lnbmVkIGNoYXIpKGV4dHJhW3dvcmtbc3ltXV0pOwotICAgICAgICAgICAgaGVyZS52YWwgPSBiYXNlW3dvcmtbc3ltXV07CisgICAgICAgIGVsc2UgaWYgKHdvcmtbc3ltXSA+PSBtYXRjaCkgeworICAgICAgICAgICAgaGVyZS5vcCA9ICh1bnNpZ25lZCBjaGFyKShleHRyYVt3b3JrW3N5bV0gLSBtYXRjaF0pOworICAgICAgICAgICAgaGVyZS52YWwgPSBiYXNlW3dvcmtbc3ltXSAtIG1hdGNoXTsKICAgICAgICAgfQogICAgICAgICBlbHNlIHsKICAgICAgICAgICAgIGhlcmUub3AgPSAodW5zaWduZWQgY2hhcikoMzIgKyA2NCk7ICAgICAgICAgLyogZW5kIG9mIGJsb2NrICovCmRpZmYgLS1naXQgYS9zcmMvaW5mdHJlZXMuaCBiL3NyYy9pbmZ0cmVlcy5oCmluZGV4IGJhYTUzYTAuLmY1MzY2NTMgMTAwNjQ0Ci0tLSBhL3NyYy9pbmZ0cmVlcy5oCisrKyBiL3NyYy9pbmZ0cmVlcy5oCkBAIC0zOCw3ICszOCw3IEBACiAvKiBNYXhpbXVtIHNpemUgb2YgdGhlIGR5bmFtaWMgdGFibGUuICBUaGUgbWF4aW11bSBudW1iZXIgb2YgY29kZSBzdHJ1Y3R1cmVzIGlzCiAgICAxNDQ0LCB3aGljaCBpcyB0aGUgc3VtIG9mIDg1MiBmb3IgbGl0ZXJhbC9sZW5ndGggY29kZXMgYW5kIDU5MiBmb3IgZGlzdGFuY2UKICAgIGNvZGVzLiAgVGhlc2UgdmFsdWVzIHdlcmUgZm91bmQgYnkgZXhoYXVzdGl2ZSBzZWFyY2hlcyB1c2luZyB0aGUgcHJvZ3JhbQotICAgZXhhbXBsZXMvZW5vdWdoLmMgZm91bmQgaW4gdGhlIHpsaWIgZGlzdHJpYnR1dGlvbi4gIFRoZSBhcmd1bWVudHMgdG8gdGhhdAorICAgZXhhbXBsZXMvZW5vdWdoLmMgZm91bmQgaW4gdGhlIHpsaWIgZGlzdHJpYnV0aW9uLiAgVGhlIGFyZ3VtZW50cyB0byB0aGF0CiAgICBwcm9ncmFtIGFyZSB0aGUgbnVtYmVyIG9mIHN5bWJvbHMsIHRoZSBpbml0aWFsIHJvb3QgdGFibGUgc2l6ZSwgYW5kIHRoZQogICAgbWF4aW11bSBiaXQgbGVuZ3RoIG9mIGEgY29kZS4gICJlbm91Z2ggMjg2IDkgMTUiIGZvciBsaXRlcmFsL2xlbmd0aCBjb2RlcwogICAgcmV0dXJucyByZXR1cm5zIDg1MiwgYW5kICJlbm91Z2ggMzAgNiAxNSIgZm9yIGRpc3RhbmNlIGNvZGVzIHJldHVybnMgNTkyLgpkaWZmIC0tZ2l0IGEvc3JjL21ha2Vfdm1zLmNvbSBiL3NyYy9tYWtlX3Ztcy5jb20KaW5kZXggNjVlOWQwYy4uNGRjOGE4OSAxMDA2NDQKLS0tIGEvc3JjL21ha2Vfdm1zLmNvbQorKysgYi9zcmMvbWFrZV92bXMuY29tCkBAIC0xNCw5ICsxNCw5IEBACiAkISAwLjAzIDIwMDkxMjI0IEFkZCBzdXBwb3J0IGZvciBsYXJnZSBmaWxlIGNoZWNrCiAkISAwLjA0IDIwMTAwMTEwIEFkZCBuZXcgZ3pjbG9zZSwgZ3psaWIsIGd6cmVhZCwgZ3p3cml0ZQogJCEgMC4wNSAyMDEwMDIyMSBFeGNoYW5nZSB6bGliZGVmcy5oIGJ5IHpjb25mLmguaW4KLSQhIDAuMDYgMjAxMjAxMTEgRml4IG1pc3NpbmcgYW1pc3NfZXJyLCB1cGRhdGUgemNvbmZfaC5pbiwgZml4IG5ldyBleG1wbGVzCiskISAwLjA2IDIwMTIwMTExIEZpeCBtaXNzaW5nIGFtaXNzX2VyciwgdXBkYXRlIHpjb25mX2guaW4sIGZpeCBuZXcgZXhhbXBsZXMKICQhICAgICAgICAgICAgICAgc3ViZGlyIHBhdGgsIHVwZGF0ZSBtb2R1bGUgc2VhcmNoIGluIG1ha2VmaWxlLmluCi0kISAwLjA3IDIwMTIwMTE1IFRyaWdnZXJlZCBieSB3b3JrIGRvbmUgYnkgQWxleGV5IENodXBhaGluIGNvbXBsZXRseSByZWRlc2lnbmVkCiskISAwLjA3IDIwMTIwMTE1IFRyaWdnZXJlZCBieSB3b3JrIGRvbmUgYnkgQWxleGV5IENodXBhaGluIGNvbXBsZXRlbHkgcmVkZXNpZ25lZAogJCEgICAgICAgICAgICAgICBzaGFyZWQgaW1hZ2UgY3JlYXRpb24KICQhIDAuMDggMjAxMjAyMTkgTWFrZSBpdCB3b3JrIG9uIFZBWCBhZ2FpbiwgcHJlLWxvYWQgbWlzc2luZyBzeW1ib2xzIHRvIHNoYXJlZAogJCEgICAgICAgICAgICAgICBpbWFnZQpkaWZmIC0tZ2l0IGEvc3JjL21zZG9zL01ha2VmaWxlLmRqMiBiL3NyYy9tc2Rvcy9NYWtlZmlsZS5kajIKaW5kZXggMjliMDM5NS4uNTlkMjAzNyAxMDA2NDQKLS0tIGEvc3JjL21zZG9zL01ha2VmaWxlLmRqMgorKysgYi9zcmMvbXNkb3MvTWFrZWZpbGUuZGoyCkBAIC0yOSw3ICsyOSw3IEBACiAKICNDRkxBR1M9LU1NRCAtTwogI0NGTEFHUz0tTyAtRE1BWF9XQklUUz0xNCAtRE1BWF9NRU1fTEVWRUw9NwotI0NGTEFHUz0tTU1EIC1nIC1EREVCVUcKKyNDRkxBR1M9LU1NRCAtZyAtRFpMSUJfREVCVUcKIENGTEFHUz0tTU1EIC1PMyAkKEJVVFQpIC1XYWxsIC1Xd3JpdGUtc3RyaW5ncyAtV3BvaW50ZXItYXJpdGggLVdjb252ZXJzaW9uIFwKICAgICAgICAgICAgICAtV3N0cmljdC1wcm90b3R5cGVzIC1XbWlzc2luZy1wcm90b3R5cGVzCiAKZGlmZiAtLWdpdCBhL3NyYy9tc2Rvcy9NYWtlZmlsZS5lbXggYi9zcmMvbXNkb3MvTWFrZWZpbGUuZW14CmluZGV4IDljMWI1N2EuLmUzMGY2N2IgMTAwNjQ0Ci0tLSBhL3NyYy9tc2Rvcy9NYWtlZmlsZS5lbXgKKysrIGIvc3JjL21zZG9zL01ha2VmaWxlLmVteApAQCAtMTEsNyArMTEsNyBAQAogCiAjQ0ZMQUdTPS1NTUQgLU8KICNDRkxBR1M9LU8gLURNQVhfV0JJVFM9MTQgLURNQVhfTUVNX0xFVkVMPTcKLSNDRkxBR1M9LU1NRCAtZyAtRERFQlVHCisjQ0ZMQUdTPS1NTUQgLWcgLURaTElCX0RFQlVHCiBDRkxBR1M9LU1NRCAtTzMgJChCVVRUKSAtV2FsbCAtV3dyaXRlLXN0cmluZ3MgLVdwb2ludGVyLWFyaXRoIC1XY29udmVyc2lvbiBcCiAgICAgICAgICAgICAgLVdzdHJpY3QtcHJvdG90eXBlcyAtV21pc3NpbmctcHJvdG90eXBlcwogCmRpZmYgLS1naXQgYS9zcmMvb2xkL01ha2VmaWxlLmVteCBiL3NyYy9vbGQvTWFrZWZpbGUuZW14CmluZGV4IDRkNmFiMGUuLjYxMmIwMzcgMTAwNjQ0Ci0tLSBhL3NyYy9vbGQvTWFrZWZpbGUuZW14CisrKyBiL3NyYy9vbGQvTWFrZWZpbGUuZW14CkBAIC0xMSw3ICsxMSw3IEBACiAKICNDRkxBR1M9LU1NRCAtTwogI0NGTEFHUz0tTyAtRE1BWF9XQklUUz0xNCAtRE1BWF9NRU1fTEVWRUw9NwotI0NGTEFHUz0tTU1EIC1nIC1EREVCVUcKKyNDRkxBR1M9LU1NRCAtZyAtRFpMSUJfREVCVUcKIENGTEFHUz0tTU1EIC1PMyAkKEJVVFQpIC1XYWxsIC1Xd3JpdGUtc3RyaW5ncyAtV3BvaW50ZXItYXJpdGggLVdjb252ZXJzaW9uIFwKICAgICAgICAgICAgICAtV3N0cmljdC1wcm90b3R5cGVzIC1XbWlzc2luZy1wcm90b3R5cGVzCiAKZGlmZiAtLWdpdCBhL3NyYy9vbGQvb3MyL01ha2VmaWxlLm9zMiBiL3NyYy9vbGQvb3MyL01ha2VmaWxlLm9zMgppbmRleCBhMTA1YWFhLi5iYjQyNmMwIDEwMDY0NAotLS0gYS9zcmMvb2xkL29zMi9NYWtlZmlsZS5vczIKKysrIGIvc3JjL29sZC9vczIvTWFrZWZpbGUub3MyCkBAIC0xNCw3ICsxNCw3IEBACiAKIENGTEFHUz0tTzYgLVdhbGwKICNDRkxBR1M9LU8gLURNQVhfV0JJVFM9MTQgLURNQVhfTUVNX0xFVkVMPTcKLSNDRkxBR1M9LWcgLURERUJVRworI0NGTEFHUz0tZyAtRFpMSUJfREVCVUcKICNDRkxBR1M9LU8zIC1XYWxsIC1Xd3JpdGUtc3RyaW5ncyAtV3BvaW50ZXItYXJpdGggLVdjb252ZXJzaW9uIFwKICMgICAgICAgICAgIC1Xc3RyaWN0LXByb3RvdHlwZXMgLVdtaXNzaW5nLXByb3RvdHlwZXMKIApkaWZmIC0tZ2l0IGEvc3JjL29zNDAwL1JFQURNRTQwMCBiL3NyYy9vczQwMC9SRUFETUU0MDAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzA2ZmE4NAotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9vczQwMC9SRUFETUU0MDAKQEAgLTAsMCArMSw0OCBAQAorICAgICAgICBaTElCIHZlcnNpb24gMS4yLjEzIGZvciBPUy80MDAgaW5zdGFsbGF0aW9uIGluc3RydWN0aW9ucworCisxKSBEb3dubG9hZCBhbmQgdW5wYWNrIHRoZSB6bGliIHRhcmJhbGwgdG8gc29tZSBJRlMgZGlyZWN0b3J5LgorICAgKGkuZS46IC9wYXRoL3RvL3RoZS96bGliL2lmcy9zb3VyY2UvZGlyZWN0b3J5KQorCisgICBJZiB0aGUgaW5zdGFsbGVkIElGUyBjb21tYW5kIHN1cHBvcnRzIGd6aXAgZm9ybWF0LCB0aGlzIGlzIHN0cmFpZ2h0Zm9yd2FyZCwKK2Vsc2UgeW91IGhhdmUgdG8gdW5wYWNrIGZpcnN0IHRvIHNvbWUgZGlyZWN0b3J5IG9uIGEgc3lzdGVtIHN1cHBvcnRpbmcgaXQsCit0aGVuIG1vdmUgdGhlIHdob2xlIGRpcmVjdG9yeSB0byB0aGUgSUZTIHZpYSB0aGUgbmV0d29yayAodmlhIFNNQiBvciBGVFApLgorCisyKSBFZGl0IHRoZSBjb25maWd1cmF0aW9uIHBhcmFtZXRlcnMgaW4gdGhlIGNvbXBpbGF0aW9uIHNjcmlwdC4KKworICAgICAgICBFRFRGIFNUTUYoJy9wYXRoL3RvL3RoZS96bGliL2lmcy9zb3VyY2UvZGlyZWN0b3J5L29zNDAwL21ha2Uuc2gnKQorCitUdW5lIHRoZSBwYXJhbWV0ZXJzIGFjY29yZGluZyB0byB5b3VyIG5lZWRzIGlmIG5vdCBtYXRjaGluZyB0aGUgZGVmYXVsdHMuCitTYXZlIHRoZSBmaWxlIGFuZCBleGl0IGFmdGVyIGVkaXRpb24uCisKKzMpIEVudGVyIHFzaGVsbCwgdGhlbiB3b3JrIGluIHRoZSB6bGliIE9TLzQwMCBzcGVjaWZpYyBkaXJlY3RvcnkuCisKKyAgICAgICAgUVNICisgICAgICAgIGNkIC9wYXRoL3RvL3RoZS96bGliL2lmcy9zb3VyY2UvZGlyZWN0b3J5L29zNDAwCisKKzQpIENvbXBpbGUgYW5kIGluc3RhbGwKKworICAgICAgICBzaCBtYWtlLnNoCisKK1RoZSBzY3JpcHQgd2lsbDoKKy0gY3JlYXRlIHRoZSBsaWJyYXJpZXMsIG9iamVjdHMgYW5kIElGUyBkaXJlY3RvcmllcyBmb3IgdGhlIHpsaWIgZW52aXJvbm1lbnQsCistIGNvbXBpbGUgYWxsIG1vZHVsZXMsCistIGNyZWF0ZSBhIHNlcnZpY2UgcHJvZ3JhbSwKKy0gY3JlYXRlIGEgc3RhdGljIGFuZCBhIGR5bmFtaWMgYmluZGluZyBkaXJlY3RvcnksCistIGluc3RhbGwgaGVhZGVyIGZpbGVzIGZvciBDL0MrKyBhbmQgZm9yIElMRS9SUEcsIGJvdGggZm9yIGNvbXBpbGF0aW9uIGluCisgIERCMiBhbmQgSUZTIGVudmlyb25tZW50cy4KKworVGhhdCdzIGFsbC4gCisKKworTm90ZXM6ICBGb3IgT1MvNDAwIElMRSBSUEcgcHJvZ3JhbW1lcnMsIGEgL2NvcHkgbWVtYmVyIGRlZmluaW5nIHRoZSBaTElCCisgICAgICAgICAgICAgICAgQVBJIHByb3RvdHlwZXMgZm9yIElMRSBSUEcgY2FuIGJlIGZvdW5kIGluIFpMSUIvSChaTElCLklOQykuCisgICAgICAgICAgICAgICAgSW4gdGhlIElMRSBlbnZpcm9ubWVudCwgdGhlIHNhbWUgZGVmaW5pdGlvbnMgYXJlIGF2YWlsYWJsZSBmcm9tCisgICAgICAgICAgICAgICAgZmlsZSB6bGliLmluYyBsb2NhdGVkIGluIHRoZSBzYW1lIElGUyBpbmNsdWRlIGRpcmVjdG9yeSBhcyB0aGUKKyAgICAgICAgICAgICAgICBDL0MrKyBoZWFkZXIgZmlsZXMuCisgICAgICAgICAgICAgICAgUGxlYXNlIHJlYWQgY29tbWVudHMgaW4gdGhpcyBtZW1iZXIgZm9yIG1vcmUgaW5mb3JtYXRpb24uCisKKyAgICAgICAgUmVtZW1iZXIgdGhhdCBtb3N0IGZvcmVpZ24gdGV4dHVhbCBkYXRhIGFyZSBBU0NJSSBjb2RlZDogdGhpcworICAgICAgICAgICAgICAgIGltcGxlbWVudGF0aW9uIGRvZXMgbm90IGhhbmRsZSBjb252ZXJzaW9uIGZyb20vdG8gQVNDSUksIHNvCisgICAgICAgICAgICAgICAgdGV4dCBkYXRhIGNvZGUgY29udmVyc2lvbnMgbXVzdCBiZSBkb25lIGV4cGxpY2l0bHkuCisKKyAgICAgICAgTWFpbmx5IGZvciB0aGUgcmVhc29uIGFib3ZlLCBhbHdheXMgb3BlbiB6aXBwZWQgZmlsZXMgaW4gYmluYXJ5IG1vZGUuCmRpZmYgLS1naXQgYS9zcmMvb3M0MDAvYm5kc3JjIGIvc3JjL29zNDAwL2JuZHNyYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZjkyYmIxCi0tLSAvZGV2L251bGwKKysrIGIvc3JjL29zNDAwL2JuZHNyYwpAQCAtMCwwICsxLDEyNyBAQAorU1RSUEdNRVhQIFBHTUxWTCgqQ1VSUkVOVCkgU0lHTkFUVVJFKCdaTElCJykKKworLypAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAqLworLyogICBWZXJzaW9uIDEuMS4zIGVudHJ5IHBvaW50cy4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworLypAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAqLworCisgIEVYUE9SVCBTWU1CT0woImFkbGVyMzIiKQorICBFWFBPUlQgU1lNQk9MKCJjb21wcmVzcyIpCisgIEVYUE9SVCBTWU1CT0woImNvbXByZXNzMiIpCisgIEVYUE9SVCBTWU1CT0woImNyYzMyIikKKyAgRVhQT1JUIFNZTUJPTCgiZ2V0X2NyY190YWJsZSIpCisgIEVYUE9SVCBTWU1CT0woImRlZmxhdGUiKQorICBFWFBPUlQgU1lNQk9MKCJkZWZsYXRlRW5kIikKKyAgRVhQT1JUIFNZTUJPTCgiZGVmbGF0ZVNldERpY3Rpb25hcnkiKQorICBFWFBPUlQgU1lNQk9MKCJkZWZsYXRlQ29weSIpCisgIEVYUE9SVCBTWU1CT0woImRlZmxhdGVSZXNldCIpCisgIEVYUE9SVCBTWU1CT0woImRlZmxhdGVQYXJhbXMiKQorICBFWFBPUlQgU1lNQk9MKCJkZWZsYXRlUHJpbWUiKQorICBFWFBPUlQgU1lNQk9MKCJkZWZsYXRlSW5pdF8iKQorICBFWFBPUlQgU1lNQk9MKCJkZWZsYXRlSW5pdDJfIikKKyAgRVhQT1JUIFNZTUJPTCgiZ3pvcGVuIikKKyAgRVhQT1JUIFNZTUJPTCgiZ3pkb3BlbiIpCisgIEVYUE9SVCBTWU1CT0woImd6c2V0cGFyYW1zIikKKyAgRVhQT1JUIFNZTUJPTCgiZ3pyZWFkIikKKyAgRVhQT1JUIFNZTUJPTCgiZ3p3cml0ZSIpCisgIEVYUE9SVCBTWU1CT0woImd6cHJpbnRmIikKKyAgRVhQT1JUIFNZTUJPTCgiZ3pwdXRzIikKKyAgRVhQT1JUIFNZTUJPTCgiZ3pnZXRzIikKKyAgRVhQT1JUIFNZTUJPTCgiZ3pwdXRjIikKKyAgRVhQT1JUIFNZTUJPTCgiZ3pnZXRjIikKKyAgRVhQT1JUIFNZTUJPTCgiZ3pmbHVzaCIpCisgIEVYUE9SVCBTWU1CT0woImd6c2VlayIpCisgIEVYUE9SVCBTWU1CT0woImd6cmV3aW5kIikKKyAgRVhQT1JUIFNZTUJPTCgiZ3p0ZWxsIikKKyAgRVhQT1JUIFNZTUJPTCgiZ3plb2YiKQorICBFWFBPUlQgU1lNQk9MKCJnemNsb3NlIikKKyAgRVhQT1JUIFNZTUJPTCgiZ3plcnJvciIpCisgIEVYUE9SVCBTWU1CT0woImluZmxhdGUiKQorICBFWFBPUlQgU1lNQk9MKCJpbmZsYXRlRW5kIikKKyAgRVhQT1JUIFNZTUJPTCgiaW5mbGF0ZVNldERpY3Rpb25hcnkiKQorICBFWFBPUlQgU1lNQk9MKCJpbmZsYXRlU3luYyIpCisgIEVYUE9SVCBTWU1CT0woImluZmxhdGVSZXNldCIpCisgIEVYUE9SVCBTWU1CT0woImluZmxhdGVJbml0XyIpCisgIEVYUE9SVCBTWU1CT0woImluZmxhdGVJbml0Ml8iKQorICBFWFBPUlQgU1lNQk9MKCJpbmZsYXRlU3luY1BvaW50IikKKyAgRVhQT1JUIFNZTUJPTCgidW5jb21wcmVzcyIpCisgIEVYUE9SVCBTWU1CT0woInpsaWJWZXJzaW9uIikKKyAgRVhQT1JUIFNZTUJPTCgiekVycm9yIikKKyAgRVhQT1JUIFNZTUJPTCgiel9lcnJtc2ciKQorCisvKkBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQCovCisvKiAgIFZlcnNpb24gMS4yLjEgYWRkaXRpb25hbCBlbnRyeSBwb2ludHMuICAgICAgICAgICAgICAgICAgICAgICAgICovCisvKkBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQCovCisKKyAgRVhQT1JUIFNZTUJPTCgiY29tcHJlc3NCb3VuZCIpCisgIEVYUE9SVCBTWU1CT0woImRlZmxhdGVCb3VuZCIpCisgIEVYUE9SVCBTWU1CT0woImRlZmxhdGVQZW5kaW5nIikKKyAgRVhQT1JUIFNZTUJPTCgiZ3p1bmdldGMiKQorICBFWFBPUlQgU1lNQk9MKCJnemNsZWFyZXJyIikKKyAgRVhQT1JUIFNZTUJPTCgiaW5mbGF0ZUJhY2siKQorICBFWFBPUlQgU1lNQk9MKCJpbmZsYXRlQmFja0VuZCIpCisgIEVYUE9SVCBTWU1CT0woImluZmxhdGVCYWNrSW5pdF8iKQorICBFWFBPUlQgU1lNQk9MKCJpbmZsYXRlQ29weSIpCisgIEVYUE9SVCBTWU1CT0woInpsaWJDb21waWxlRmxhZ3MiKQorCisvKkBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQCovCisvKiAgIFZlcnNpb24gMS4yLjQgYWRkaXRpb25hbCBlbnRyeSBwb2ludHMuICAgICAgICAgICAgICAgICAgICAgICAgICovCisvKkBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQCovCisKKyAgRVhQT1JUIFNZTUJPTCgiYWRsZXIzMl9jb21iaW5lIikKKyAgRVhQT1JUIFNZTUJPTCgiYWRsZXIzMl9jb21iaW5lNjQiKQorICBFWFBPUlQgU1lNQk9MKCJjcmMzMl9jb21iaW5lIikKKyAgRVhQT1JUIFNZTUJPTCgiY3JjMzJfY29tYmluZTY0IikKKyAgRVhQT1JUIFNZTUJPTCgiZGVmbGF0ZVNldEhlYWRlciIpCisgIEVYUE9SVCBTWU1CT0woImRlZmxhdGVUdW5lIikKKyAgRVhQT1JUIFNZTUJPTCgiZ3pidWZmZXIiKQorICBFWFBPUlQgU1lNQk9MKCJnemNsb3NlX3IiKQorICBFWFBPUlQgU1lNQk9MKCJnemNsb3NlX3ciKQorICBFWFBPUlQgU1lNQk9MKCJnemRpcmVjdCIpCisgIEVYUE9SVCBTWU1CT0woImd6b2Zmc2V0IikKKyAgRVhQT1JUIFNZTUJPTCgiZ3pvZmZzZXQ2NCIpCisgIEVYUE9SVCBTWU1CT0woImd6b3BlbjY0IikKKyAgRVhQT1JUIFNZTUJPTCgiZ3pzZWVrNjQiKQorICBFWFBPUlQgU1lNQk9MKCJnenRlbGw2NCIpCisgIEVYUE9SVCBTWU1CT0woImluZmxhdGVHZXRIZWFkZXIiKQorICBFWFBPUlQgU1lNQk9MKCJpbmZsYXRlTWFyayIpCisgIEVYUE9SVCBTWU1CT0woImluZmxhdGVQcmltZSIpCisgIEVYUE9SVCBTWU1CT0woImluZmxhdGVSZXNldDIiKQorICBFWFBPUlQgU1lNQk9MKCJpbmZsYXRlVW5kZXJtaW5lIikKKworLypAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAqLworLyogICBWZXJzaW9uIDEuMi42IGFkZGl0aW9uYWwgZW50cnkgcG9pbnRzLiAgICAgICAgICAgICAgICAgICAgICAgICAqLworLypAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAqLworCisgIEVYUE9SVCBTWU1CT0woImRlZmxhdGVSZXNldEtlZXAiKQorICBFWFBPUlQgU1lNQk9MKCJnemdldGNfIikKKyAgRVhQT1JUIFNZTUJPTCgiaW5mbGF0ZVJlc2V0S2VlcCIpCisKKy8qQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAKi8KKy8qICAgVmVyc2lvbiAxLjIuOCBhZGRpdGlvbmFsIGVudHJ5IHBvaW50cy4gICAgICAgICAgICAgICAgICAgICAgICAgKi8KKy8qQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAKi8KKworICBFWFBPUlQgU1lNQk9MKCJnenZwcmludGYiKQorICBFWFBPUlQgU1lNQk9MKCJpbmZsYXRlR2V0RGljdGlvbmFyeSIpCisKKy8qQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAKi8KKy8qICAgVmVyc2lvbiAxLjIuOSBhZGRpdGlvbmFsIGVudHJ5IHBvaW50cy4gICAgICAgICAgICAgICAgICAgICAgICAgKi8KKy8qQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAKi8KKworICBFWFBPUlQgU1lNQk9MKCJhZGxlcjMyX3oiKQorICBFWFBPUlQgU1lNQk9MKCJjcmMzMl96IikKKyAgRVhQT1JUIFNZTUJPTCgiZGVmbGF0ZUdldERpY3Rpb25hcnkiKQorICBFWFBPUlQgU1lNQk9MKCJnemZyZWFkIikKKyAgRVhQT1JUIFNZTUJPTCgiZ3pmd3JpdGUiKQorICBFWFBPUlQgU1lNQk9MKCJpbmZsYXRlQ29kZXNVc2VkIikKKyAgRVhQT1JUIFNZTUJPTCgiaW5mbGF0ZVZhbGlkYXRlIikKKyAgRVhQT1JUIFNZTUJPTCgidW5jb21wcmVzczIiKQorCisvKkBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQCovCisvKiAgIFZlcnNpb24gMS4yLjEyIGFkZGl0aW9uYWwgZW50cnkgcG9pbnRzLiAgICAgICAgICAgICAgICAgICAgICAgICovCisvKkBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQCovCisKKyAgRVhQT1JUIFNZTUJPTCgiY3JjMzJfY29tYmluZV9nZW42NCIpCisgIEVYUE9SVCBTWU1CT0woImNyYzMyX2NvbWJpbmVfZ2VuIikKKyAgRVhQT1JUIFNZTUJPTCgiY3JjMzJfY29tYmluZV9vcCIpCisKK0VORFBHTUVYUApkaWZmIC0tZ2l0IGEvc3JjL29zNDAwL21ha2Uuc2ggYi9zcmMvb3M0MDAvbWFrZS5zaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xOWVlYzExCi0tLSAvZGV2L251bGwKKysrIGIvc3JjL29zNDAwL21ha2Uuc2gKQEAgLTAsMCArMSwzNjYgQEAKKyMhL2Jpbi9zaAorIworIyAgICAgICBaTElCIGNvbXBpbGF0aW9uIHNjcmlwdCBmb3IgdGhlIE9TLzQwMC4KKyMKKyMKKyMgICAgICAgVGhpcyBpcyBhIHNoZWxsIHNjcmlwdCBzaW5jZSBtYWtlIGlzIG5vdCBhIHN0YW5kYXJkIGNvbXBvbmVudCBvZiBPUy80MDAuCisKKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMKKyMgICAgICAgICAgICAgICAgICAgICAgIFR1bmFibGUgY29uZmlndXJhdGlvbiBwYXJhbWV0ZXJzLgorIworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKworVEFSR0VUTElCPSdaTElCJyAgICAgICAgICAgICAgICAjIFRhcmdldCBPUy80MDAgcHJvZ3JhbSBsaWJyYXJ5CitTVEFUQk5ERElSPSdaTElCX0EnICAgICAgICAgICAgICMgU3RhdGljIGJpbmRpbmcgZGlyZWN0b3J5LgorRFlOQk5ERElSPSdaTElCJyAgICAgICAgICAgICAgICAjIER5bmFtaWMgYmluZGluZyBkaXJlY3RvcnkuCitTUlZQR009IlpMSUIiICAgICAgICAgICAgICAgICAgICMgU2VydmljZSBwcm9ncmFtLgorSUZTRElSPScvemxpYicgICAgICAgICAgICAgICAgICAjIElGUyBzdXBwb3J0IGJhc2UgZGlyZWN0b3J5LgorVEdUQ0NTSUQ9JzUwMCcgICAgICAgICAgICAgICAgICAjIFRhcmdldCBDQ1NJRCBvZiBvYmplY3RzCitERUJVRz0nKk5PTkUnICAgICAgICAgICAgICAgICAgICMgRGVidWcgbGV2ZWwKK09QVElNSVpFPSc0MCcgICAgICAgICAgICAgICAgICAgIyBPcHRpbWlzYXRpb24gbGV2ZWwKK09VVFBVVD0nKk5PTkUnICAgICAgICAgICAgICAgICAgIyBDb21waWxhdGlvbiBvdXRwdXQgb3B0aW9uLgorVEdUUkxTPSdWNlIxTTAnICAgICAgICAgICAgICAgICAjIFRhcmdldCBPUyByZWxlYXNlCisKK2V4cG9ydCBUQVJHRVRMSUIgU1RBVEJORERJUiBEWU5CTkRESVIgU1JWUEdNIElGU0RJUgorZXhwb3J0IFRHVENDU0lEIERFQlVHIE9QVElNSVpFIE9VVFBVVCBUR1RSTFMKKworCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIworIyAgICAgICAgICAgICAgICAgICAgICAgT1MvNDAwIHNwZWNpZmljIGRlZmluaXRpb25zLgorIworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKworTElCSUZTTkFNRT0iL1FTWVMuTElCLyR7VEFSR0VUTElCfS5MSUIiCisKKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMKKyMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJvY2VkdXJlcy4KKyMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKKyMgICAgICAgYWN0aW9uX25lZWRlZCBkZXN0IFtzcmNdCisjCisjICAgICAgIGRlc3QgaXMgYW4gb2JqZWN0IHRvIGJ1aWxkCisjICAgICAgIGlmIHNwZWNpZmllZCwgc3JjIGlzIGFuIG9iamVjdCBvbiB3aGljaCBkZXN0IGRlcGVuZHMuCisjCisjICAgICAgIGV4aXQgMCAoc3VjY2VlZHMpIGlmIHNvbWUgYWN0aW9uIGhhcyB0byBiZSB0YWtlbiwgZWxzZSAxLgorCithY3Rpb25fbmVlZGVkKCkKKworeworICAgICAgICBbICEgLWUgIiR7MX0iIF0gJiYgcmV0dXJuIDAKKyAgICAgICAgWyAiJHsyfSIgXSB8fCByZXR1cm4gMQorICAgICAgICBbICIkezF9IiAtb3QgIiR7Mn0iIF0gJiYgcmV0dXJuIDAKKyAgICAgICAgcmV0dXJuIDEKK30KKworCisjICAgICAgIG1ha2VfbW9kdWxlIG1vZHVsZV9uYW1lIHNvdXJjZV9uYW1lIFthZGRpdGlvbmFsX2RlZmluaXRpb25zXQorIworIyAgICAgICBDb21waWxlIHNvdXJjZSBuYW1lIGludG8gbW9kdWxlIGlmIG5lZWRlZC4KKyMgICAgICAgQXMgc2lkZSBlZmZlY3QsIGFwcGVuZCB0aGUgbW9kdWxlIG5hbWUgdG8gdmFyaWFibGUgTU9EVUxFUy4KKyMgICAgICAgU2V0IExJTksgdG8gIllFUyIgaWYgdGhlIG1vZHVsZSBoYXMgYmVlbiBjb21waWxlZC4KKworbWFrZV9tb2R1bGUoKQorCit7CisgICAgTU9EVUxFUz0iJHtNT0RVTEVTfSAkezF9IgorICAgIE1PRElGU05BTUU9IiR7TElCSUZTTkFNRX0vJHsxfS5NT0RVTEUiCisgICAgQ1NSQz0iYGJhc2VuYW1lIFwiJHsyfVwiYCIKKworICAgIGlmIGFjdGlvbl9uZWVkZWQgIiR7TU9ESUZTTkFNRX0iICIkezJ9IgorICAgIHRoZW4gICAgOgorICAgIGVsaWYgWyAhICJgc2VkIC1lIFwiLzxzb3VyY2UgbmFtZT1cXFwiJHtDU1JDfVxcXCI+LywvPFxcXFwvc291cmNlPi8hZFwiIFwKKyAgICAgIC1lICcvPGRlcGVuZCAvIWQnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgIC1lICdzLy4qIG5hbWU9XCJcXChbXlwiXSpcXClcIi4qL1xcMS8nIDwgXCIke1RPUERJUn0vdHJlZWJ1aWxkLnhtbFwiIHwKKyAgICAgICAgd2hpbGUgcmVhZCBIRFIKKyAgICAgICAgZG8gICAgICBpZiBhY3Rpb25fbmVlZGVkIFwiJHtNT0RJRlNOQU1FfVwiIFwiJHtJRlNESVJ9L2luY2x1ZGUvJHtIRFJ9XCIKKyAgICAgICAgICAgICAgICB0aGVuICAgIGVjaG8gcmVjb21waWxlCisgICAgICAgICAgICAgICAgICAgICAgICBicmVhaworICAgICAgICAgICAgICAgIGZpCisgICAgICAgIGRvbmVgIiBdCisgICAgdGhlbiAgICByZXR1cm4gMAorICAgIGZpCisKKyAgICBDTUQ9IkNSVENNT0QgTU9EVUxFKCR7VEFSR0VUTElCfS8kezF9KSBTUkNTVE1GKCckezJ9JykiCisgICAgQ01EPSIke0NNRH0gU1lTSUZDT1BUKCpJRlM2NElPKSBPUFRJT04oKklOQ0RJUkZJUlNUKSIKKyAgICBDTUQ9IiR7Q01EfSBMT0NBTEVUWVBFKCpMT0NBTEUpIEZMQUcoMTApIgorICAgIENNRD0iJHtDTUR9IElOQ0RJUignJHtJRlNESVJ9L2luY2x1ZGUnICR7SU5DTFVERVN9KSIKKyAgICBDTUQ9IiR7Q01EfSBUR1RDQ1NJRCgke1RHVENDU0lEfSkgVEdUUkxTKCR7VEdUUkxTfSkiCisgICAgQ01EPSIke0NNRH0gT1VUUFVUKCR7T1VUUFVUfSkiCisgICAgQ01EPSIke0NNRH0gT1BUSU1JWkUoJHtPUFRJTUlaRX0pIgorICAgIENNRD0iJHtDTUR9IERCR1ZJRVcoJHtERUJVR30pIgorICAgIHN5c3RlbSAiJHtDTUR9IgorICAgIExJTks9WUVTCit9CisKKworIyAgICAgICBEZXRlcm1pbmUgREIyIG9iamVjdCBuYW1lIGZyb20gSUZTIG5hbWUuCisKK2RiMl9uYW1lKCkKKworeworICAgICAgICBiYXNlbmFtZSAiJHsxfSIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgICAgICB0ciAnYS16LScgJ0EtWl8nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgICAgICBzZWQgLWUgJ3MvXC4uKi8vJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgLWUgJ3MvXlwoLlwpLipcKC4uLi4uLi4uLlwpJC9cMVwyLycKK30KKworCisjICAgICAgIEZvcmNlIGVudW1lcmF0aW9uIHR5cGVzIHRvIGJlIHRoZSBzYW1lIHNpemUgYXMgaW50ZWdlcnMuCisKK2NvcHlfaGZpbGUoKQorCit7CisgICAgICAgIHNlZCAtZSAnMWlcCisjcHJhZ21hIGVudW0oaW50KVwKKycgIiR7QH0iIC1lICckYVwKKyNwcmFnbWEgZW51bShwb3ApXAorJworfQorCisKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjCisjICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTY3JpcHQgaW5pdGlhbGl6YXRpb24uCisjCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworCitTQ1JJUFRESVI9YGRpcm5hbWUgIiR7MH0iYAorCitjYXNlICIke1NDUklQVERJUn0iIGluCisvKikgICAgIDs7CisqKSAgICAgIFNDUklQVERJUj0iYHB3ZGAvJHtTQ1JJUFRESVJ9IgorZXNhYworCit3aGlsZSB0cnVlCitkbyAgICAgIGNhc2UgIiR7U0NSSVBURElSfSIgaW4KKyAgICAgICAgKi8uKSAgICBTQ1JJUFRESVI9IiR7U0NSSVBURElSJS8ufSI7OworICAgICAgICAqKSAgICAgIGJyZWFrOzsKKyAgICAgICAgZXNhYworZG9uZQorCisjICBUaGUgc2NyaXB0IGRpcmVjdG9yeSBpcyBzdXBwb3NlZCB0byBiZSBpbiAke1RPUERJUn0vb3M0MDAuCisKK1RPUERJUj1gZGlybmFtZSAiJHtTQ1JJUFRESVJ9ImAKK2V4cG9ydCBTQ1JJUFRESVIgVE9QRElSCitjZCAiJHtUT1BESVJ9IgorCisKKyMgIEV4dHJhY3QgdGhlIHZlcnNpb24gZnJvbSB0aGUgbWFzdGVyIGNvbXBpbGF0aW9uIFhNTCBmaWxlLgorCitWRVJTSU9OPWBzZWQgLWUgJy9ePHBhY2thZ2UgLyFkJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAtZSAncy9eLiogdmVyc2lvbj0iXChbMC05Ll0qXCkiLiokL1wxLycgLWUgJ3EnICAgICAgICAgICAgICBcCisgICAgICAgICAgICA8IHRyZWVidWlsZC54bWxgCitleHBvcnQgVkVSU0lPTgorCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworCisKKyMgICAgICAgQ3JlYXRlIHRoZSBPUy80MDAgbGlicmFyeSBpZiBpdCBkb2VzIG5vdCBleGlzdC4KKworaWYgYWN0aW9uX25lZWRlZCAiJHtMSUJJRlNOQU1FfSIKK3RoZW4gICAgQ01EPSJDUlRMSUIgTElCKCR7VEFSR0VUTElCfSkgVEVYVCgnWkxJQjogRGF0YSBjb21wcmVzc2lvbiBBUEknKSIKKyAgICAgICAgc3lzdGVtICIke0NNRH0iCitmaQorCisKKyMgICAgICAgQ3JlYXRlIHRoZSBET0NTIHNvdXJjZSBmaWxlIGlmIGl0IGRvZXMgbm90IGV4aXN0LgorCitpZiBhY3Rpb25fbmVlZGVkICIke0xJQklGU05BTUV9L0RPQ1MuRklMRSIKK3RoZW4gICAgQ01EPSJDUlRTUkNQRiBGSUxFKCR7VEFSR0VUTElCfS9ET0NTKSBSQ0RMRU4oMTEyKSIKKyAgICAgICAgQ01EPSIke0NNRH0gQ0NTSUQoJHtUR1RDQ1NJRH0pIFRFWFQoJ0RvY3VtZW50YXRpb24gdGV4dHMnKSIKKyAgICAgICAgc3lzdGVtICIke0NNRH0iCitmaQorCisjICAgICAgIENvcHkgc29tZSBkb2N1bWVudGF0aW9uIGZpbGVzIGlmIG5lZWRlZC4KKworZm9yIFRFWFQgaW4gIiR7VE9QRElSfS9DaGFuZ2VMb2ciICIke1RPUERJUn0vRkFRIiAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICIke1RPUERJUn0vUkVBRE1FIiAiJHtTQ1JJUFRESVJ9L1JFQURNRTQwMCIKK2RvICAgICAgTUVNQkVSPSIke0xJQklGU05BTUV9L0RPQ1MuRklMRS9gZGIyX25hbWUgXCIke1RFWFR9XCJgLk1CUiIKKworICAgICAgICBpZiBhY3Rpb25fbmVlZGVkICIke01FTUJFUn0iICIke1RFWFR9IgorICAgICAgICB0aGVuICAgIENNRD0iQ1BZIE9CSignJHtURVhUfScpIFRPT0JKKCcke01FTUJFUn0nKSBUT0NDU0lEKCR7VEdUQ0NTSUR9KSIKKyAgICAgICAgICAgICAgICBDTUQ9IiR7Q01EfSBEVEFGTVQoKlRFWFQpIFJFUExBQ0UoKllFUykiCisgICAgICAgICAgICAgICAgc3lzdGVtICIke0NNRH0iCisgICAgICAgIGZpCitkb25lCisKKworIyAgICAgICBDcmVhdGUgdGhlIE9TLzQwMCBzb3VyY2UgcHJvZ3JhbSBmaWxlIGZvciB0aGUgQyBoZWFkZXIgZmlsZXMuCisKK1NSQ1BGPSIke0xJQklGU05BTUV9L0guRklMRSIKKworaWYgYWN0aW9uX25lZWRlZCAiJHtTUkNQRn0iCit0aGVuICAgIENNRD0iQ1JUU1JDUEYgRklMRSgke1RBUkdFVExJQn0vSCkgUkNETEVOKDExMikiCisgICAgICAgIENNRD0iJHtDTUR9IENDU0lEKCR7VEdUQ0NTSUR9KSBURVhUKCdaTElCOiBDL0MrKyBoZWFkZXIgZmlsZXMnKSIKKyAgICAgICAgc3lzdGVtICIke0NNRH0iCitmaQorCisKKyMgICAgICAgQ3JlYXRlIHRoZSBJRlMgZGlyZWN0b3J5IGZvciB0aGUgQyBoZWFkZXIgZmlsZXMuCisKK2lmIGFjdGlvbl9uZWVkZWQgIiR7SUZTRElSfS9pbmNsdWRlIgordGhlbiAgICBta2RpciAtcCAiJHtJRlNESVJ9L2luY2x1ZGUiCitmaQorCisjICAgICAgIENvcHkgdGhlIGhlYWRlciBmaWxlcyB0byBEQjIgbGlicmFyeS4gTGluayBmcm9tIElGUyBpbmNsdWRlIGRpcmVjdG9yeS4KKworZm9yIEhGSUxFIGluICIke1RPUERJUn0vIiouaAorZG8gICAgICBERVNUPSIke1NSQ1BGfS9gZGIyX25hbWUgXCIke0hGSUxFfVwiYC5NQlIiCisKKyAgICAgICAgaWYgYWN0aW9uX25lZWRlZCAiJHtERVNUfSIgIiR7SEZJTEV9IgorICAgICAgICB0aGVuICAgIGNvcHlfaGZpbGUgPCAiJHtIRklMRX0iID4gdG1waGRyZmlsZQorCisgICAgICAgICAgICAgICAgIyAgICAgICBOZWVkIHRvIHRyYW5zbGF0ZSB0byB0YXJnZXQgQ0NTSUQuCisKKyAgICAgICAgICAgICAgICBDTUQ9IkNQWSBPQkooJ2Bwd2RgL3RtcGhkcmZpbGUnKSBUT09CSignJHtERVNUfScpIgorICAgICAgICAgICAgICAgIENNRD0iJHtDTUR9IFRPQ0NTSUQoJHtUR1RDQ1NJRH0pIERUQUZNVCgqVEVYVCkgUkVQTEFDRSgqWUVTKSIKKyAgICAgICAgICAgICAgICBzeXN0ZW0gIiR7Q01EfSIKKyAgICAgICAgICAgICAgICAjIHRvdWNoIC1yICIke0hGSUxFfSIgIiR7REVTVH0iCisgICAgICAgICAgICAgICAgcm0gLWYgdG1waGRyZmlsZQorICAgICAgICBmaQorCisgICAgICAgIElGU0ZJTEU9IiR7SUZTRElSfS9pbmNsdWRlL2BiYXNlbmFtZSBcIiR7SEZJTEV9XCJgIgorCisgICAgICAgIGlmIGFjdGlvbl9uZWVkZWQgIiR7SUZTRklMRX0iICIke0RFU1R9IgorICAgICAgICB0aGVuICAgIHJtIC1mICIke0lGU0ZJTEV9IgorICAgICAgICAgICAgICAgIGxuIC1zICIke0RFU1R9IiAiJHtJRlNGSUxFfSIKKyAgICAgICAgZmkKK2RvbmUKKworCisjICAgICAgIEluc3RhbGwgdGhlIElMRS9SUEcgaGVhZGVyIGZpbGUuCisKKworSEZJTEU9IiR7U0NSSVBURElSfS96bGliLmluYyIKK0RFU1Q9IiR7U1JDUEZ9L1pMSUIuSU5DLk1CUiIKKworaWYgYWN0aW9uX25lZWRlZCAiJHtERVNUfSIgIiR7SEZJTEV9IgordGhlbiAgICBDTUQ9IkNQWSBPQkooJyR7SEZJTEV9JykgVE9PQkooJyR7REVTVH0nKSIKKyAgICAgICAgQ01EPSIke0NNRH0gVE9DQ1NJRCgke1RHVENDU0lEfSkgRFRBRk1UKCpURVhUKSBSRVBMQUNFKCpZRVMpIgorICAgICAgICBzeXN0ZW0gIiR7Q01EfSIKKyAgICAgICAgIyB0b3VjaCAtciAiJHtIRklMRX0iICIke0RFU1R9IgorZmkKKworSUZTRklMRT0iJHtJRlNESVJ9L2luY2x1ZGUvYGJhc2VuYW1lIFwiJHtIRklMRX1cImAiCisKK2lmIGFjdGlvbl9uZWVkZWQgIiR7SUZTRklMRX0iICIke0RFU1R9IgordGhlbiAgICBybSAtZiAiJHtJRlNGSUxFfSIKKyAgICAgICAgbG4gLXMgIiR7REVTVH0iICIke0lGU0ZJTEV9IgorZmkKKworCisjICAgICAgQ3JlYXRlIGFuZCBjb21waWxlIHRoZSBpZGVudGlmaWNhdGlvbiBzb3VyY2UgZmlsZS4KKworZWNobyAnI3ByYWdtYSBjb21tZW50KHVzZXIsICJaTElCIHZlcnNpb24gJyIke1ZFUlNJT059IiciKScgPiBvczQwMC5jCitlY2hvICcjcHJhZ21hIGNvbW1lbnQodXNlciwgX19EQVRFX18pJyA+PiBvczQwMC5jCitlY2hvICcjcHJhZ21hIGNvbW1lbnQodXNlciwgX19USU1FX18pJyA+PiBvczQwMC5jCitlY2hvICcjcHJhZ21hIGNvbW1lbnQoY29weXJpZ2h0LCAiQ29weXJpZ2h0IChDKSAxOTk1LTIwMTcgSmVhbi1Mb3VwIEdhaWxseSwgTWFyayBBZGxlci4gT1MvNDAwIHZlcnNpb24gYnkgUC4gTW9ubmVyYXQuIiknID4+IG9zNDAwLmMKK21ha2VfbW9kdWxlICAgICBPUzQwMCAgICAgICAgICAgb3M0MDAuYworTElOSz0gICAgICAgICAgICAgICAgICAgICAgICAgICAjIE5vIG5lZWQgdG8gcmVidWlsZCBzZXJ2aWNlIHByb2dyYW0geWV0LgorTU9EVUxFUz0KKworCisjICAgICAgIEdldCBzb3VyY2UgbGlzdC4KKworQ1NPVVJDRVM9YHNlZCAtZSAnLzxzb3VyY2UgbmFtZT0iLyFkJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIC1lICdzLy4qIG5hbWU9IlwoW14iXSpcKSIuKi9cMS8nIDwgdHJlZWJ1aWxkLnhtbGAKKworIyAgICAgICBDb21waWxlIHRoZSBzb3VyY2VzIGludG8gbW9kdWxlcy4KKworZm9yIFNSQyBpbiAke0NTT1VSQ0VTfQorZG8gICAgICBNT0RVTEU9YGRiMl9uYW1lICIke1NSQ30iYAorICAgICAgICBtYWtlX21vZHVsZSAiJHtNT0RVTEV9IiAiJHtTUkN9IgorZG9uZQorCisKKyMgICAgICAgSWYgbmVlZGVkLCAocmUpY3JlYXRlIHRoZSBzdGF0aWMgYmluZGluZyBkaXJlY3RvcnkuCisKK2lmIGFjdGlvbl9uZWVkZWQgIiR7TElCSUZTTkFNRX0vJHtTVEFUQk5ERElSfS5CTkRESVIiCit0aGVuICAgIExJTks9WUVTCitmaQorCitpZiBbICIke0xJTkt9IiBdCit0aGVuICAgIHJtIC1yZiAiJHtMSUJJRlNOQU1FfS8ke1NUQVRCTkRESVJ9LkJORERJUiIKKyAgICAgICAgQ01EPSJDUlRCTkRESVIgQk5ERElSKCR7VEFSR0VUTElCfS8ke1NUQVRCTkRESVJ9KSIKKyAgICAgICAgQ01EPSIke0NNRH0gVEVYVCgnWkxJQiBzdGF0aWMgYmluZGluZyBkaXJlY3RvcnknKSIKKyAgICAgICAgc3lzdGVtICIke0NNRH0iCisKKyAgICAgICAgZm9yIE1PRFVMRSBpbiAke01PRFVMRVN9CisgICAgICAgIGRvICAgICAgQ01EPSJBRERCTkRESVJFIEJORERJUigke1RBUkdFVExJQn0vJHtTVEFUQk5ERElSfSkiCisgICAgICAgICAgICAgICAgQ01EPSIke0NNRH0gT0JKKCgke1RBUkdFVExJQn0vJHtNT0RVTEV9ICpNT0RVTEUpKSIKKyAgICAgICAgICAgICAgICBzeXN0ZW0gIiR7Q01EfSIKKyAgICAgICAgZG9uZQorZmkKKworCisjICAgICAgIFRoZSBleHBvcnRhdGlvbiBmaWxlIGZvciBzZXJ2aWNlIHByb2dyYW0gY3JlYXRpb24gbXVzdCBiZSBpbiBhIERCMgorIyAgICAgICAgICAgICAgIHNvdXJjZSBmaWxlLCBzbyBtYWtlIHN1cmUgaXQgZXhpc3RzLgorCitpZiBhY3Rpb25fbmVlZGVkICIke0xJQklGU05BTUV9L1RPT0xTLkZJTEUiCit0aGVuICAgIENNRD0iQ1JUU1JDUEYgRklMRSgke1RBUkdFVExJQn0vVE9PTFMpIFJDRExFTigxMTIpIgorICAgICAgICBDTUQ9IiR7Q01EfSBDQ1NJRCgke1RHVENDU0lEfSkgVEVYVCgnWkxJQjogYnVpbGQgdG9vbHMnKSIKKyAgICAgICAgc3lzdGVtICIke0NNRH0iCitmaQorCisKK0RFU1Q9IiR7TElCSUZTTkFNRX0vVE9PTFMuRklMRS9CTkRTUkMuTUJSIgorCitpZiBhY3Rpb25fbmVlZGVkICIke1NDUklQVERJUn0vYm5kc3JjIiAiJHtERVNUfSIKK3RoZW4gICAgQ01EPSJDUFkgT0JKKCcke1NDUklQVERJUn0vYm5kc3JjJykgVE9PQkooJyR7REVTVH0nKSIKKyAgICAgICAgQ01EPSIke0NNRH0gVE9DQ1NJRCgke1RHVENDU0lEfSkgRFRBRk1UKCpURVhUKSBSRVBMQUNFKCpZRVMpIgorICAgICAgICBzeXN0ZW0gIiR7Q01EfSIKKyAgICAgICAgIyB0b3VjaCAtciAiJHtTQ1JJUFRESVJ9L2JuZHNyYyIgIiR7REVTVH0iCisgICAgICAgIExJTks9WUVTCitmaQorCisKKyMgICAgICAgQnVpbGQgdGhlIHNlcnZpY2UgcHJvZ3JhbSBpZiBuZWVkZWQuCisKK2lmIGFjdGlvbl9uZWVkZWQgIiR7TElCSUZTTkFNRX0vJHtTUlZQR019LlNSVlBHTSIKK3RoZW4gICAgTElOSz1ZRVMKK2ZpCisKK2lmIFsgIiR7TElOS30iIF0KK3RoZW4gICAgQ01EPSJDUlRTUlZQR00gU1JWUEdNKCR7VEFSR0VUTElCfS8ke1NSVlBHTX0pIgorICAgICAgICBDTUQ9IiR7Q01EfSBTUkNGSUxFKCR7VEFSR0VUTElCfS9UT09MUykgU1JDTUJSKEJORFNSQykiCisgICAgICAgIENNRD0iJHtDTUR9IE1PRFVMRSgke1RBUkdFVExJQn0vT1M0MDApIgorICAgICAgICBDTUQ9IiR7Q01EfSBCTkRESVIoJHtUQVJHRVRMSUJ9LyR7U1RBVEJORERJUn0pIgorICAgICAgICBDTUQ9IiR7Q01EfSBURVhUKCdaTElCICR7VkVSU0lPTn0gZHluYW1pYyBsaWJyYXJ5JykiCisgICAgICAgIENNRD0iJHtDTUR9IFRHVFJMUygke1RHVFJMU30pIgorICAgICAgICBzeXN0ZW0gIiR7Q01EfSIKKyAgICAgICAgTElOSz1ZRVMKKworICAgICAgICAjICAgICAgIER1cGxpY2F0ZSB0aGUgc2VydmljZSBwcm9ncmFtIGZvciBhIHZlcnNpb25lZCBiYWNrdXAuCisKKyAgICAgICAgQkFDS1VQPWBlY2hvICIke1NSVlBHTX0ke1ZFUlNJT059IiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICAgICAgICAgICAgICBzZWQgLWUgJ3MvLipcKC4uLi4uLi4uLi5cKSQvXDEvJyAtZSAncy9cLi9fL2cnYAorICAgICAgICBCQUNLVVA9ImBkYjJfbmFtZSBcIiR7QkFDS1VQfVwiYCIKKyAgICAgICAgQktVUElGU05BTUU9IiR7TElCSUZTTkFNRX0vJHtCQUNLVVB9LlNSVlBHTSIKKyAgICAgICAgcm0gLWYgIiR7QktVUElGU05BTUV9IgorICAgICAgICBDTUQ9IkNSVERVUE9CSiBPQkooJHtTUlZQR019KSBGUk9NTElCKCR7VEFSR0VUTElCfSkiCisgICAgICAgIENNRD0iJHtDTUR9IE9CSlRZUEUoKlNSVlBHTSkgTkVXT0JKKCR7QkFDS1VQfSkiCisgICAgICAgIHN5c3RlbSAiJHtDTUR9IgorZmkKKworCisjICAgICAgIElmIG5lZWRlZCwgKHJlKWNyZWF0ZSB0aGUgZHluYW1pYyBiaW5kaW5nIGRpcmVjdG9yeS4KKworaWYgYWN0aW9uX25lZWRlZCAiJHtMSUJJRlNOQU1FfS8ke0RZTkJORERJUn0uQk5ERElSIgordGhlbiAgICBMSU5LPVlFUworZmkKKworaWYgWyAiJHtMSU5LfSIgXQordGhlbiAgICBybSAtcmYgIiR7TElCSUZTTkFNRX0vJHtEWU5CTkRESVJ9LkJORERJUiIKKyAgICAgICAgQ01EPSJDUlRCTkRESVIgQk5ERElSKCR7VEFSR0VUTElCfS8ke0RZTkJORERJUn0pIgorICAgICAgICBDTUQ9IiR7Q01EfSBURVhUKCdaTElCIGR5bmFtaWMgYmluZGluZyBkaXJlY3RvcnknKSIKKyAgICAgICAgc3lzdGVtICIke0NNRH0iCisgICAgICAgIENNRD0iQUREQk5ERElSRSBCTkRESVIoJHtUQVJHRVRMSUJ9LyR7RFlOQk5ERElSfSkiCisgICAgICAgIENNRD0iJHtDTUR9IE9CSigoKkxJQkwvJHtTUlZQR019ICpTUlZQR00pKSIKKyAgICAgICAgc3lzdGVtICIke0NNRH0iCitmaQpkaWZmIC0tZ2l0IGEvc3JjL2FzNDAwL3psaWIuaW5jIGIvc3JjL29zNDAwL3psaWIuaW5jCnNpbWlsYXJpdHkgaW5kZXggODQlCnJlbmFtZSBmcm9tIHNyYy9hczQwMC96bGliLmluYwpyZW5hbWUgdG8gc3JjL29zNDAwL3psaWIuaW5jCmluZGV4IDczNDFhNmQuLmMyNzNjODYgMTAwNjQ0Ci0tLSBhL3NyYy9hczQwMC96bGliLmluYworKysgYi9zcmMvb3M0MDAvemxpYi5pbmMKQEAgLTEsNyArMSw3IEBACiAgICAgICAqICBaTElCLklOQyAtIEludGVyZmFjZSB0byB0aGUgZ2VuZXJhbCBwdXJwb3NlIGNvbXByZXNzaW9uIGxpYnJhcnkKICAgICAgICoKICAgICAgICogIElMRSBSUEc0MDAgdmVyc2lvbiBieSBQYXRyaWNrIE1vbm5lcmF0LCBEQVRBU1BIRVJFLgotICAgICAgKiAgVmVyc2lvbiAxLjIuOAorICAgICAgKiAgVmVyc2lvbiAxLjIuMTMKICAgICAgICoKICAgICAgICoKICAgICAgICogIFdBUk5JTkc6CkBAIC0yMiwxMiArMjIsMTIgQEAKICAgICAgICoKICAgICAgICogIFZlcnNpb25pbmcgaW5mb3JtYXRpb24uCiAgICAgICAqCi0gICAgIEQgWkxJQl9WRVJTSU9OICAgIEMgICAgICAgICAgICAgICAgICAgJzEuMi44JwotICAgICBEIFpMSUJfVkVSTlVNICAgICBDICAgICAgICAgICAgICAgICAgIFgnMTI4MCcKKyAgICAgRCBaTElCX1ZFUlNJT04gICAgQyAgICAgICAgICAgICAgICAgICAnMS4yLjEzJworICAgICBEIFpMSUJfVkVSTlVNICAgICBDICAgICAgICAgICAgICAgICAgIFgnMTJhMCcKICAgICAgRCBaTElCX1ZFUl9NQUpPUiAgQyAgICAgICAgICAgICAgICAgICAxCiAgICAgIEQgWkxJQl9WRVJfTUlOT1IgIEMgICAgICAgICAgICAgICAgICAgMgogICAgICBEIFpMSUJfVkVSX1JFVklTSU9OLi4uCi0gICAgIEQgICAgICAgICAgICAgICAgIEMgICAgICAgICAgICAgICAgICAgOAorICAgICBEICAgICAgICAgICAgICAgICBDICAgICAgICAgICAgICAgICAgIDEzCiAgICAgIEQgWkxJQl9WRVJfU1VCUkVWSVNJT04uLi4KICAgICAgRCAgICAgICAgICAgICAgICAgQyAgICAgICAgICAgICAgICAgICAwCiAgICAgICAqCkBAIC01MCw3ICs1MCw3IEBACiAgICAgIEQgWl9EQVRBX0VSUk9SICAgIEMgICAgICAgICAgICAgICAgICAgLTMKICAgICAgRCBaX01FTV9FUlJPUiAgICAgQyAgICAgICAgICAgICAgICAgICAtNAogICAgICBEIFpfQlVGX0VSUk9SICAgICBDICAgICAgICAgICAgICAgICAgIC01Ci0gICAgIERaX1ZFUlNJT05fRVJST1IgIEMgICAgICAgICAgICAgICAgICAgLTYKKyAgICAgRCBaX1ZFUlNJT05fRVJST1IgQyAgICAgICAgICAgICAgICAgICAtNgogICAgICAgKgogICAgICBEIFpfTk9fQ09NUFJFU1NJT04uLi4KICAgICAgRCAgICAgICAgICAgICAgICAgQyAgICAgICAgICAgICAgICAgICAwCkBAIC04MCw2ICs4MCw3IEBACiAgICAgICAqCiAgICAgIEQgel9zdHJlYW1wICAgICAgIFMgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0cmVhbSBzdHJ1Y3QgcHRyCiAgICAgIEQgZ3pGaWxlICAgICAgICAgIFMgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpbGUgcG9pbnRlcgorICAgICBEIGd6X2hlYWRlcnAgICAgICBTICAgICAgICAgICAgICAgKgogICAgICBEIHpfb2ZmX3QgICAgICAgICBTICAgICAgICAgICAgIDEwaSAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdHJlYW0gb2Zmc2V0cwogICAgICBEIHpfb2ZmNjRfdCAgICAgICBTICAgICAgICAgICAgIDIwaSAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdHJlYW0gb2Zmc2V0cwogICAgICAgKgpAQCAtMTMyLDYgKzEzMywxMiBAQAogICAgICBEICBzb3VyY2UgICAgICAgICAgICAgICAgICAgIDY1NTM1ICAgIGNvbnN0IG9wdGlvbnMoKnZhcnNpemUpICAgICAgICAgICAgICBTb3VyY2UgYnVmZmVyCiAgICAgIEQgIHNvdXJjZUxlbiAgICAgICAgICAgICAgICAgICAgMTBVIDAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNvdXJjZSBsZW5ndGgKICAgICAgICoKKyAgICAgRCB1bmNvbXByZXNzMiAgICAgUFIgICAgICAgICAgICAxMEkgMCBleHRwcm9jKCd1bmNvbXByZXNzMicpCisgICAgIEQgIGRlc3QgICAgICAgICAgICAgICAgICAgICAgNjU1MzUgICAgb3B0aW9ucygqdmFyc2l6ZSkgICAgICAgICAgICAgICAgICAgIERlc3RpbmF0aW9uIGJ1ZmZlcgorICAgICBEICBkZXN0TGVuICAgICAgICAgICAgICAgICAgICAgIDEwVSAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXN0aW5hdGlvbiBsZW5ndGgKKyAgICAgRCAgc291cmNlICAgICAgICAgICAgICAgICAgICA2NTUzNSAgICBjb25zdCBvcHRpb25zKCp2YXJzaXplKSAgICAgICAgICAgICAgU291cmNlIGJ1ZmZlcgorICAgICBEICBzb3VyY2VMZW4gICAgICAgICAgICAgICAgICAgIDEwVSAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTb3VyY2UgbGVuZ3RoCisgICAgICAqCiAgICAgICAvaWYgbm90IGRlZmluZWQoTEFSR0VfRklMRVMpCiAgICAgIEQgZ3pvcGVuICAgICAgICAgIFBSICAgICAgICAgICAgICAgICAgZXh0cHJvYygnZ3pvcGVuJykKICAgICAgRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKGd6RmlsZSkKQEAgLTE2OCwxMSArMTc1LDIzIEBACiAgICAgIEQgIGJ1ZiAgICAgICAgICAgICAgICAgICAgICAgNjU1MzUgICAgb3B0aW9ucygqdmFyc2l6ZSkgICAgICAgICAgICAgICAgICAgIEJ1ZmZlcgogICAgICBEICBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgIDEwdSAwIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCdWZmZXIgbGVuZ3RoCiAgICAgICAqCisgICAgIEQgZ3pmcmVhZCAgICAgICAgICBQUiAgICAgICAgICAgMjBJIDAgZXh0cHJvYygnZ3pmcmVhZCcpCisgICAgIEQgIGJ1ZiAgICAgICAgICAgICAgICAgICAgICAgNjU1MzUgICAgb3B0aW9ucygqdmFyc2l6ZSkgICAgICAgICAgICAgICAgICAgIEJ1ZmZlcgorICAgICBEICBzaXplICAgICAgICAgICAgICAgICAgICAgICAgIDIwdSAwIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCdWZmZXIgbGVuZ3RoCisgICAgIEQgIG5pdGVtcyAgICAgICAgICAgICAgICAgICAgICAgMjB1IDAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJ1ZmZlciBsZW5ndGgKKyAgICAgRCAgZmlsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKGd6RmlsZSkgICAgICAgICAgICAgICAgICAgRmlsZSBwb2ludGVyCisgICAgICAqCiAgICAgIEQgZ3p3cml0ZSAgICAgICAgIFBSICAgICAgICAgICAgMTBJIDAgZXh0cHJvYygnZ3p3cml0ZScpCiAgICAgIEQgIGZpbGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZShnekZpbGUpICAgICAgICAgICAgICAgICAgIEZpbGUgcG9pbnRlcgogICAgICBEICBidWYgICAgICAgICAgICAgICAgICAgICAgIDY1NTM1ICAgIGNvbnN0IG9wdGlvbnMoKnZhcnNpemUpICAgICAgICAgICAgICBCdWZmZXIKICAgICAgRCAgbGVuICAgICAgICAgICAgICAgICAgICAgICAgICAxMHUgMCB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQnVmZmVyIGxlbmd0aAogICAgICAgKgorICAgICBEIGd6ZndyaXRlICAgICAgICAgUFIgICAgICAgICAgIDIwSSAwIGV4dHByb2MoJ2d6ZndyaXRlJykKKyAgICAgRCAgYnVmICAgICAgICAgICAgICAgICAgICAgICA2NTUzNSAgICBvcHRpb25zKCp2YXJzaXplKSAgICAgICAgICAgICAgICAgICAgQnVmZmVyCisgICAgIEQgIHNpemUgICAgICAgICAgICAgICAgICAgICAgICAgMjB1IDAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJ1ZmZlciBsZW5ndGgKKyAgICAgRCAgbml0ZW1zICAgICAgICAgICAgICAgICAgICAgICAyMHUgMCB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQnVmZmVyIGxlbmd0aAorICAgICBEICBmaWxlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoZ3pGaWxlKSAgICAgICAgICAgICAgICAgICBGaWxlIHBvaW50ZXIKKyAgICAgICoKICAgICAgRCBnenB1dHMgICAgICAgICAgUFIgICAgICAgICAgICAxMEkgMCBleHRwcm9jKCdnenB1dHMnKQogICAgICBEICBmaWxlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoZ3pGaWxlKSAgICAgICAgICAgICAgICAgICBGaWxlIHBvaW50ZXIKICAgICAgRCAgcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgU3RyaW5nIHRvIG91dHB1dApAQCAtMjU0LDYgKzI3Myw5IEBACiAgICAgIEQgZ3plb2YgICAgICAgICAgIFBSICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygnZ3plb2YnKQogICAgICBEICBmaWxlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoZ3pGaWxlKSAgICAgICAgICAgICAgICAgICBGaWxlIHBvaW50ZXIKICAgICAgICoKKyAgICAgRCBnemRpcmVjdCAgICAgICAgUFIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCdnemRpcmVjdCcpCisgICAgIEQgIGZpbGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZShnekZpbGUpICAgICAgICAgICAgICAgICAgIEZpbGUgcG9pbnRlcgorICAgICAgKgogICAgICBEIGd6Y2xvc2VfciAgICAgICBQUiAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ2d6Y2xvc2VfcicpCiAgICAgIEQgIGZpbGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZShnekZpbGUpICAgICAgICAgICAgICAgICAgIEZpbGUgcG9pbnRlcgogICAgICAgKgpAQCAtMzExLDcgKzMzMyw3IEBACiAgICAgIEQgIG1ldGhvZCAgICAgICAgICAgICAgICAgICAgICAgMTBJIDAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvbXByZXNzaW9uIG1ldGhvZAogICAgICBEICB3aW5kb3dCaXRzICAgICAgICAgICAgICAgICAgIDEwSSAwIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2cyKHdpbmRvdyBzaXplKQogICAgICBEICBtZW1MZXZlbCAgICAgICAgICAgICAgICAgICAgIDEwSSAwIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNZW0vY21wcmVzcyB0cmFkZW9mZgotICAgICBEICBzdHJhdGVneSAgICAgICAgICAgICAgICAgICAgIDEwSSAwIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb21wcmVzc2lvbiBzdGF0ZWd5CisgICAgIEQgIHN0cmF0ZWd5ICAgICAgICAgICAgICAgICAgICAgMTBJIDAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvbXByZXNzaW9uIHN0cmF0ZWd5CiAgICAgIEQgIHZlcnNpb24gICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIFZlcnNpb24gc3RyaW5nCiAgICAgIEQgIHN0cmVhbV9zaXplICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0cmVhbSBzdHJ1Y3QuIHNpemUKICAgICAgICoKQEAgLTMzMSw3ICszNTMsMTQgQEAKICAgICAgRCBkZWZsYXRlUGFyYW1zICAgUFIgICAgICAgICAgICAxMEkgMCBleHRwcm9jKCdkZWZsYXRlUGFyYW1zJykgICAgICAgICAgICAgQ2hhbmdlIGxldmVsICYgc3RyYXQKICAgICAgRCAgc3RybSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHpfc3RyZWFtKSAgICAgICAgICAgICAgICAgICAgICAgQ29tcHJlc3Npb24gc3RyZWFtCiAgICAgIEQgIGxldmVsICAgICAgICAgICAgICAgICAgICAgICAgMTBJIDAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvbXByZXNzaW9uIGxldmVsCi0gICAgIEQgIHN0cmF0ZWd5ICAgICAgICAgICAgICAgICAgICAgMTBJIDAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvbXByZXNzaW9uIHN0YXRlZ3kKKyAgICAgRCAgc3RyYXRlZ3kgICAgICAgICAgICAgICAgICAgICAxMEkgMCB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29tcHJlc3Npb24gc3RyYXRlZ3kKKyAgICAgICoKKyAgICAgRCBkZWZsYXRlVHVuZSAgICAgUFIgICAgICAgICAgICAxMEkgMCBleHRwcm9jKCdkZWZsYXRlVHVuZScpCisgICAgIEQgIHN0cm0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh6X3N0cmVhbSkgICAgICAgICAgICAgICAgICAgICAgIENvbXByZXNzaW9uIHN0cmVhbQorICAgICBEICBnb29kICAgICAgICAgICAgICAgICAgICAgICAgIDEwSSAwIHZhbHVlCisgICAgIEQgIGxhenkgICAgICAgICAgICAgICAgICAgICAgICAgMTBJIDAgdmFsdWUKKyAgICAgRCAgbmljZSAgICAgICAgICAgICAgICAgICAgICAgICAxMEkgMCB2YWx1ZQorICAgICBEICBjaGFpbiAgICAgICAgICAgICAgICAgICAgICAgIDEwSSAwIHZhbHVlCiAgICAgICAqCiAgICAgIEQgZGVmbGF0ZUJvdW5kICAgIFBSICAgICAgICAgICAgMTBVIDAgZXh0cHJvYygnZGVmbGF0ZUJvdW5kJykgICAgICAgICAgICAgIENoYW5nZSBsZXZlbCAmIHN0cmF0CiAgICAgIEQgIHN0cm0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh6X3N0cmVhbSkgICAgICAgICAgICAgICAgICAgICAgIENvbXByZXNzaW9uIHN0cmVhbQpAQCAtMzY1LDYgKzM5NCwxMiBAQAogICAgICBEICBkaWN0aW9uYXJ5ICAgICAgICAgICAgICAgIDY1NTM1ICAgIG9wdGlvbnMoKnZhcnNpemUpICAgICAgICAgICAgICAgICAgICBEaWN0aW9uYXJ5IGJ5dGVzCiAgICAgIEQgIGRpY3RMZW5ndGggICAgICAgICAgICAgICAgICAgMTBVIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERpY3Rpb25hcnkgbGVuZ3RoCiAgICAgICAqCisgICAgIEQgZGVmbGF0ZUdldERpY3Rpb25hcnkuLi4KKyAgICAgRCAgICAgICAgICAgICAgICAgUFIgICAgICAgICAgICAxMEkgMCBleHRwcm9jKCdkZWZsYXRlR2V0RGljdGlvbmFyeScpICAgICAgR2V0IGRpY3Rpb25hcnkKKyAgICAgRCAgc3RybSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHpfc3RyZWFtKSAgICAgICAgICAgICAgICAgICAgICAgRXhwYW5zaW9uIHN0cmVhbQorICAgICBEICBkaWN0aW9uYXJ5ICAgICAgICAgICAgICAgIDY1NTM1ICAgIG9wdGlvbnMoKnZhcnNpemUpICAgICAgICAgICAgICAgICAgICBEaWN0aW9uYXJ5IGJ5dGVzCisgICAgIEQgIGRpY3RMZW5ndGggICAgICAgICAgICAgICAgICAgMTBVIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERpY3Rpb25hcnkgbGVuZ3RoCisgICAgICAqCiAgICAgIEQgaW5mbGF0ZVN5bmMgICAgIFBSICAgICAgICAgICAgMTBJIDAgZXh0cHJvYygnaW5mbGF0ZVN5bmMnKSAgICAgICAgICAgICAgIFN5bmMuIGV4cGFuc2lvbgogICAgICBEICBzdHJtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2Uoel9zdHJlYW0pICAgICAgICAgICAgICAgICAgICAgICBFeHBhbnNpb24gc3RyZWFtCiAgICAgICAqCkBAIC0zODcsNiArNDIyLDI1IEBACiAgICAgIEQgaW5mbGF0ZU1hcmsgICAgIFBSICAgICAgICAgICAgMTBJIDAgZXh0cHJvYygnaW5mbGF0ZU1hcmsnKSAgICAgICAgICAgICAgIEdldCBpbmZsYXRlIGluZm8KICAgICAgRCAgc3RybSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHpfc3RyZWFtKSAgICAgICAgICAgICAgICAgICAgICAgRXhwYW5zaW9uIHN0cmVhbQogICAgICAgKgorICAgICBEIGluZmxhdGVDb2Rlc1VzZWQuLi4KKyAgICAgICAgICAgICAgICAgICAgICAgUFIgICAgICAgICAgICAyMFUgMCBleHRwcm9jKCdpbmZsYXRlQ29kZXNVc2VkJykKKyAgICAgRCAgc3RybSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHpfc3RyZWFtKSAgICAgICAgICAgICAgICAgICAgICAgRXhwYW5zaW9uIHN0cmVhbQorICAgICAgKgorICAgICBEIGluZmxhdGVWYWxpZGF0ZS4uLgorICAgICAgICAgICAgICAgICAgICAgICBQUiAgICAgICAgICAgIDIwVSAwIGV4dHByb2MoJ2luZmxhdGVWYWxpZGF0ZScpCisgICAgIEQgIHN0cm0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh6X3N0cmVhbSkgICAgICAgICAgICAgICAgICAgICAgIEV4cGFuc2lvbiBzdHJlYW0KKyAgICAgRCAgY2hlY2sgICAgICAgICAgICAgICAgICAgICAgICAxMEkgMCB2YWx1ZQorICAgICAgKgorICAgICBEIGluZmxhdGVHZXRIZWFkZXIuLi4KKyAgICAgICAgICAgICAgICAgICAgICAgUFIgICAgICAgICAgICAxMFUgMCBleHRwcm9jKCdpbmZsYXRlR2V0SGVhZGVyJykKKyAgICAgRCAgc3RybSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHpfc3RyZWFtKSAgICAgICAgICAgICAgICAgICAgICAgRXhwYW5zaW9uIHN0cmVhbQorICAgICBEICBoZWFkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoZ3pfaGVhZGVycCkKKyAgICAgICoKKyAgICAgRCBkZWZsYXRlU2V0SGVhZGVyLi4uCisgICAgICAgICAgICAgICAgICAgICAgIFBSICAgICAgICAgICAgMTBVIDAgZXh0cHJvYygnZGVmbGF0ZVNldEhlYWRlcicpCisgICAgIEQgIHN0cm0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh6X3N0cmVhbSkgICAgICAgICAgICAgICAgICAgICAgIEV4cGFuc2lvbiBzdHJlYW0KKyAgICAgRCAgaGVhZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKGd6X2hlYWRlcnApCisgICAgICAqCiAgICAgIEQgaW5mbGF0ZUJhY2tJbml0Li4uCiAgICAgIEQgICAgICAgICAgICAgICAgIFBSICAgICAgICAgICAgMTBJIDAgZXh0cHJvYygnaW5mbGF0ZUJhY2tJbml0XycpCiAgICAgIEQgIHN0cm0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh6X3N0cmVhbSkgICAgICAgICAgICAgICAgICAgICAgIEV4cGFuc2lvbiBzdHJlYW0KQEAgLTQxNywxMSArNDcxLDMzIEBACiAgICAgIEQgIGJ1ZiAgICAgICAgICAgICAgICAgICAgICAgNjU1MzUgICAgY29uc3Qgb3B0aW9ucygqdmFyc2l6ZSkgICAgICAgICAgICAgIEJ5dGVzIHRvIGFjY3VtdWxhdGUKICAgICAgRCAgbGVuICAgICAgICAgICAgICAgICAgICAgICAgICAxMFUgMCB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQnVmZmVyIGxlbmd0aAogICAgICAgKgorICAgICBEIGFkbGVyMzJfY29tYmluZS4uLgorICAgICAgICAgICAgICAgICAgICAgICBQUiAgICAgICAgICAgIDEwVSAwIGV4dHByb2MoJ2FkbGVyMzJfY29tYmluZScpICAgICAgICAgICBOZXcgY2hlY2tzdW0KKyAgICAgRCAgYWRsZXIxICAgICAgICAgICAgICAgICAgICAgICAxMFUgMCB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT2xkIGNoZWNrc3VtCisgICAgIEQgIGFkbGVyMiAgICAgICAgICAgICAgICAgICAgICAgMTBVIDAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9sZCBjaGVja3N1bQorICAgICBEICBsZW4yICAgICAgICAgICAgICAgICAgICAgICAgIDIwVSAwIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCdWZmZXIgbGVuZ3RoCisgICAgICAqCisgICAgIEQgYWRsZXIzMl96ICAgICAgIFBSICAgICAgICAgICAgMTBVIDAgZXh0cHJvYygnYWRsZXIzMl96JykgICAgICAgICAgICAgICAgIE5ldyBjaGVja3N1bQorICAgICBEICBhZGxlciAgICAgICAgICAgICAgICAgICAgICAgIDEwVSAwIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPbGQgY2hlY2tzdW0KKyAgICAgRCAgYnVmICAgICAgICAgICAgICAgICAgICAgICA2NTUzNSAgICBjb25zdCBvcHRpb25zKCp2YXJzaXplKSAgICAgICAgICAgICAgQnl0ZXMgdG8gYWNjdW11bGF0ZQorICAgICBEICBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgIDIwVSAwIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCdWZmZXIgbGVuZ3RoCisgICAgICAqCiAgICAgIEQgY3JjMzIgICAgICAgICAgIFBSICAgICAgICAgICAgMTBVIDAgZXh0cHJvYygnY3JjMzInKSAgICAgICAgICAgICAgICAgICAgIE5ldyBjaGVja3N1bQogICAgICBEICBjcmMgICAgICAgICAgICAgICAgICAgICAgICAgIDEwVSAwIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPbGQgY2hlY2tzdW0KICAgICAgRCAgYnVmICAgICAgICAgICAgICAgICAgICAgICA2NTUzNSAgICBjb25zdCBvcHRpb25zKCp2YXJzaXplKSAgICAgICAgICAgICAgQnl0ZXMgdG8gYWNjdW11bGF0ZQogICAgICBEICBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgIDEwVSAwIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCdWZmZXIgbGVuZ3RoCiAgICAgICAqCisgICAgIEQgY3JjMzJfY29tYmluZS4uLgorICAgICAgICAgICAgICAgICAgICAgICBQUiAgICAgICAgICAgIDEwVSAwIGV4dHByb2MoJ2NyYzMyX2NvbWJpbmUnKSAgICAgICAgICAgICBOZXcgY2hlY2tzdW0KKyAgICAgRCAgY3JjMSAgICAgICAgICAgICAgICAgICAgICAgICAxMFUgMCB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT2xkIGNoZWNrc3VtCisgICAgIEQgIGNyYzIgICAgICAgICAgICAgICAgICAgICAgICAgMTBVIDAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9sZCBjaGVja3N1bQorICAgICBEICBsZW4yICAgICAgICAgICAgICAgICAgICAgICAgIDIwVSAwIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCdWZmZXIgbGVuZ3RoCisgICAgICAqCisgICAgIEQgY3JjMzJfeiAgICAgICAgIFBSICAgICAgICAgICAgMTBVIDAgZXh0cHJvYygnY3JjMzJfeicpICAgICAgICAgICAgICAgICAgIE5ldyBjaGVja3N1bQorICAgICBEICBjcmMgICAgICAgICAgICAgICAgICAgICAgICAgIDEwVSAwIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPbGQgY2hlY2tzdW0KKyAgICAgRCAgYnVmICAgICAgICAgICAgICAgICAgICAgICA2NTUzNSAgICBjb25zdCBvcHRpb25zKCp2YXJzaXplKSAgICAgICAgICAgICAgQnl0ZXMgdG8gYWNjdW11bGF0ZQorICAgICBEICBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgIDIwVSAwIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCdWZmZXIgbGVuZ3RoCisgICAgICAqCiAgICAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAgICAgKiAgICAgICAgICAgICAgICAgICAgIE1pc2NlbGxhbmVvdXMgZnVuY3Rpb24gcHJvdG90eXBlcwogICAgICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKZGlmZiAtLWdpdCBhL3NyYy9xbngvcGFja2FnZS5xcGcgYi9zcmMvcW54L3BhY2thZ2UucXBnCmluZGV4IGFlYmY2ZTMuLmJhMmYxYTIgMTAwNjQ0Ci0tLSBhL3NyYy9xbngvcGFja2FnZS5xcGcKKysrIGIvc3JjL3FueC9wYWNrYWdlLnFwZwpAQCAtMjUsMTAgKzI1LDEwIEBACiAgICAgICA8UVBHOkZpbGVzPgogICAgICAgICAgPFFQRzpBZGQgZmlsZT0iLi4vemNvbmYuaCIgaW5zdGFsbD0iL29wdC9pbmNsdWRlLyIgdXNlcj0icm9vdDpzeXMiIHBlcm1pc3Npb249IjY0NCIvPgogICAgICAgICAgPFFQRzpBZGQgZmlsZT0iLi4vemxpYi5oIiBpbnN0YWxsPSIvb3B0L2luY2x1ZGUvIiB1c2VyPSJyb290OnN5cyIgcGVybWlzc2lvbj0iNjQ0Ii8+Ci0gICAgICAgICA8UVBHOkFkZCBmaWxlPSIuLi9saWJ6LnNvLjEuMi44IiBpbnN0YWxsPSIvb3B0L2xpYi8iIHVzZXI9InJvb3Q6YmluIiBwZXJtaXNzaW9uPSI2NDQiLz4KLSAgICAgICAgIDxRUEc6QWRkIGZpbGU9ImxpYnouc28iIGluc3RhbGw9Ii9vcHQvbGliLyIgY29tcG9uZW50PSJkZXYiIGZpbGV0eXBlPSJzeW1saW5rIiBsaW5rdG89ImxpYnouc28uMS4yLjgiLz4KLSAgICAgICAgIDxRUEc6QWRkIGZpbGU9ImxpYnouc28uMSIgaW5zdGFsbD0iL29wdC9saWIvIiBmaWxldHlwZT0ic3ltbGluayIgbGlua3RvPSJsaWJ6LnNvLjEuMi44Ii8+Ci0gICAgICAgICA8UVBHOkFkZCBmaWxlPSIuLi9saWJ6LnNvLjEuMi44IiBpbnN0YWxsPSIvb3B0L2xpYi8iIGNvbXBvbmVudD0ic2xpYiIvPgorICAgICAgICAgPFFQRzpBZGQgZmlsZT0iLi4vbGliei5zby4xLjIuMTMiIGluc3RhbGw9Ii9vcHQvbGliLyIgdXNlcj0icm9vdDpiaW4iIHBlcm1pc3Npb249IjY0NCIvPgorICAgICAgICAgPFFQRzpBZGQgZmlsZT0ibGliei5zbyIgaW5zdGFsbD0iL29wdC9saWIvIiBjb21wb25lbnQ9ImRldiIgZmlsZXR5cGU9InN5bWxpbmsiIGxpbmt0bz0ibGliei5zby4xLjIuMTMiLz4KKyAgICAgICAgIDxRUEc6QWRkIGZpbGU9ImxpYnouc28uMSIgaW5zdGFsbD0iL29wdC9saWIvIiBmaWxldHlwZT0ic3ltbGluayIgbGlua3RvPSJsaWJ6LnNvLjEuMi4xMyIvPgorICAgICAgICAgPFFQRzpBZGQgZmlsZT0iLi4vbGliei5zby4xLjIuMTMiIGluc3RhbGw9Ii9vcHQvbGliLyIgY29tcG9uZW50PSJzbGliIi8+CiAgICAgICA8L1FQRzpGaWxlcz4KIAogICAgICAgPFFQRzpQYWNrYWdlRmlsdGVyPgpAQCAtNjMsNyArNjMsNyBAQAogICAgICAgICAgICAgPC9RUE06UHJvZHVjdERlc2NyaXB0aW9uPgogCiAgICAgICAgICAgICA8UVBNOlJlbGVhc2VEZXNjcmlwdGlvbj4KLSAgICAgICAgICAgICAgIDxRUE06UmVsZWFzZVZlcnNpb24+MS4yLjg8L1FQTTpSZWxlYXNlVmVyc2lvbj4KKyAgICAgICAgICAgICAgIDxRUE06UmVsZWFzZVZlcnNpb24+MS4yLjEzPC9RUE06UmVsZWFzZVZlcnNpb24+CiAgICAgICAgICAgICAgICA8UVBNOlJlbGVhc2VVcmdlbmN5Pk1lZGl1bTwvUVBNOlJlbGVhc2VVcmdlbmN5PgogICAgICAgICAgICAgICAgPFFQTTpSZWxlYXNlU3RhYmlsaXR5PlN0YWJsZTwvUVBNOlJlbGVhc2VTdGFiaWxpdHk+CiAgICAgICAgICAgICAgICA8UVBNOlJlbGVhc2VOb3RlTWlub3I+PC9RUE06UmVsZWFzZU5vdGVNaW5vcj4KZGlmZiAtLWdpdCBhL3NyYy90ZXN0L2V4YW1wbGUuYyBiL3NyYy90ZXN0L2V4YW1wbGUuYwppbmRleCAxMzhhNjk5Li4xNDcwYmM4IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9leGFtcGxlLmMKKysrIGIvc3JjL3Rlc3QvZXhhbXBsZS5jCkBAIC0xLDUgKzEsNSBAQAogLyogZXhhbXBsZS5jIC0tIHVzYWdlIGV4YW1wbGUgb2YgdGhlIHpsaWIgY29tcHJlc3Npb24gbGlicmFyeQotICogQ29weXJpZ2h0IChDKSAxOTk1LTIwMDYsIDIwMTEgSmVhbi1sb3VwIEdhaWxseS4KKyAqIENvcHlyaWdodCAoQykgMTk5NS0yMDA2LCAyMDExLCAyMDE2IEplYW4tbG91cCBHYWlsbHkKICAqIEZvciBjb25kaXRpb25zIG9mIGRpc3RyaWJ1dGlvbiBhbmQgdXNlLCBzZWUgY29weXJpZ2h0IG5vdGljZSBpbiB6bGliLmgKICAqLwogCkBAIC0yNiwxMyArMjYsMTMgQEAKICAgICB9IFwKIH0KIAotel9jb25zdCBjaGFyIGhlbGxvW10gPSAiaGVsbG8sIGhlbGxvISI7CitzdGF0aWMgel9jb25zdCBjaGFyIGhlbGxvW10gPSAiaGVsbG8sIGhlbGxvISI7CiAvKiAiaGVsbG8gd29ybGQiIHdvdWxkIGJlIG1vcmUgc3RhbmRhcmQsIGJ1dCB0aGUgcmVwZWF0ZWQgImhlbGxvIgogICogc3RyZXNzZXMgdGhlIGNvbXByZXNzaW9uIGNvZGUgYmV0dGVyLCBzb3JyeS4uLgogICovCiAKLWNvbnN0IGNoYXIgZGljdGlvbmFyeVtdID0gImhlbGxvIjsKLXVMb25nIGRpY3RJZDsgLyogQWRsZXIzMiB2YWx1ZSBvZiB0aGUgZGljdGlvbmFyeSAqLworc3RhdGljIGNvbnN0IGNoYXIgZGljdGlvbmFyeVtdID0gImhlbGxvIjsKK3N0YXRpYyB1TG9uZyBkaWN0SWQ7ICAgIC8qIEFkbGVyMzIgdmFsdWUgb2YgdGhlIGRpY3Rpb25hcnkgKi8KIAogdm9pZCB0ZXN0X2RlZmxhdGUgICAgICAgT0YoKEJ5dGUgKmNvbXByLCB1TG9uZyBjb21wckxlbikpOwogdm9pZCB0ZXN0X2luZmxhdGUgICAgICAgT0YoKEJ5dGUgKmNvbXByLCB1TG9uZyBjb21wckxlbiwKQEAgLTU5LDEzICs1OSwxMyBAQAogICAgIHZvaWQgKnE7CiAgICAgdW5zaWduZWQgbiwgbTsKIHsKLSAgICBxID0gWl9OVUxMOworICAgICh2b2lkKXE7CiAgICAgcmV0dXJuIGNhbGxvYyhuLCBtKTsKIH0KIAogdm9pZCBteWZyZWUodm9pZCAqcSwgdm9pZCAqcCkKIHsKLSAgICBxID0gWl9OVUxMOworICAgICh2b2lkKXE7CiAgICAgZnJlZShwKTsKIH0KIApAQCAtNDMyLDcgKzQzMiw3IEBACiAgICAgZF9zdHJlYW0ubmV4dF9vdXQgPSB1bmNvbXByOwogICAgIGRfc3RyZWFtLmF2YWlsX291dCA9ICh1SW50KXVuY29tcHJMZW47CiAKLSAgICBpbmZsYXRlKCZkX3N0cmVhbSwgWl9OT19GTFVTSCk7CisgICAgZXJyID0gaW5mbGF0ZSgmZF9zdHJlYW0sIFpfTk9fRkxVU0gpOwogICAgIENIRUNLX0VSUihlcnIsICJpbmZsYXRlIik7CiAKICAgICBkX3N0cmVhbS5hdmFpbF9pbiA9ICh1SW50KWNvbXByTGVuLTI7ICAgLyogcmVhZCBhbGwgY29tcHJlc3NlZCBkYXRhICovCkBAIC00NDAsOSArNDQwLDggQEAKICAgICBDSEVDS19FUlIoZXJyLCAiaW5mbGF0ZVN5bmMiKTsKIAogICAgIGVyciA9IGluZmxhdGUoJmRfc3RyZWFtLCBaX0ZJTklTSCk7Ci0gICAgaWYgKGVyciAhPSBaX0RBVEFfRVJST1IpIHsKLSAgICAgICAgZnByaW50ZihzdGRlcnIsICJpbmZsYXRlIHNob3VsZCByZXBvcnQgREFUQV9FUlJPUlxuIik7Ci0gICAgICAgIC8qIEJlY2F1c2Ugb2YgaW5jb3JyZWN0IGFkbGVyMzIgKi8KKyAgICBpZiAoZXJyICE9IFpfU1RSRUFNX0VORCkgeworICAgICAgICBmcHJpbnRmKHN0ZGVyciwgImluZmxhdGUgc2hvdWxkIHJlcG9ydCBaX1NUUkVBTV9FTkRcbiIpOwogICAgICAgICBleGl0KDEpOwogICAgIH0KICAgICBlcnIgPSBpbmZsYXRlRW5kKCZkX3N0cmVhbSk7CkBAIC01NTYsNyArNTU1LDggQEAKICAgICAgICAgZXhpdCgxKTsKIAogICAgIH0gZWxzZSBpZiAoc3RyY21wKHpsaWJWZXJzaW9uKCksIFpMSUJfVkVSU0lPTikgIT0gMCkgewotICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIndhcm5pbmc6IGRpZmZlcmVudCB6bGliIHZlcnNpb25cbiIpOworICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIndhcm5pbmc6IGRpZmZlcmVudCB6bGliIHZlcnNpb24gbGlua2VkOiAlc1xuIiwKKyAgICAgICAgICAgICAgICB6bGliVmVyc2lvbigpKTsKICAgICB9CiAKICAgICBwcmludGYoInpsaWIgdmVyc2lvbiAlcyA9IDB4JTA0eCwgY29tcGlsZSBmbGFncyA9IDB4JWx4XG4iLApAQCAtNTczLDcgKzU3Myw4IEBACiAgICAgfQogCiAjaWZkZWYgWl9TT0xPCi0gICAgYXJnYyA9IHN0cmxlbihhcmd2WzBdKTsKKyAgICAodm9pZClhcmdjOworICAgICh2b2lkKWFyZ3Y7CiAjZWxzZQogICAgIHRlc3RfY29tcHJlc3MoY29tcHIsIGNvbXByTGVuLCB1bmNvbXByLCB1bmNvbXByTGVuKTsKIApkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvaW5mY292ZXIuYyBiL3NyYy90ZXN0L2luZmNvdmVyLmMKaW5kZXggZmUzZDkyMC4uMmJlMDE2NCAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvaW5mY292ZXIuYworKysgYi9zcmMvdGVzdC9pbmZjb3Zlci5jCkBAIC0xLDUgKzEsNSBAQAogLyogaW5mY292ZXIuYyAtLSB0ZXN0IHpsaWIncyBpbmZsYXRlIHJvdXRpbmVzIHdpdGggZnVsbCBjb2RlIGNvdmVyYWdlCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEgTWFyayBBZGxlcgorICogQ29weXJpZ2h0IChDKSAyMDExLCAyMDE2IE1hcmsgQWRsZXIKICAqIEZvciBjb25kaXRpb25zIG9mIGRpc3RyaWJ1dGlvbiBhbmQgdXNlLCBzZWUgY29weXJpZ2h0IG5vdGljZSBpbiB6bGliLmgKICAqLwogCkBAIC0yMzcsMTQgKzIzNywxNCBAQAogCiAvKiBEZWNvZGUgYSBoZXhhZGVjaW1hbCBzdHJpbmcsIHNldCAqbGVuIHRvIGxlbmd0aCwgaW5bXSB0byB0aGUgYnl0ZXMuICBUaGlzCiAgICBkZWNvZGVzIGxpYmVyYWxseSwgaW4gdGhhdCBoZXggZGlnaXRzIGNhbiBiZSBhZGphY2VudCwgaW4gd2hpY2ggY2FzZSB0d28gaW4KLSAgIGEgcm93IHdyaXRlcyBhIGJ5dGUuICBPciB0aGV5IGNhbiBkZWxpbWl0ZWQgYnkgYW55IG5vbi1oZXggY2hhcmFjdGVyLCB3aGVyZQotICAgdGhlIGRlbGltaXRlcnMgYXJlIGlnbm9yZWQgZXhjZXB0IHdoZW4gYSBzaW5nbGUgaGV4IGRpZ2l0IGlzIGZvbGxvd2VkIGJ5IGEKLSAgIGRlbGltaXRlciBpbiB3aGljaCBjYXNlIHRoYXQgc2luZ2xlIGRpZ2l0IHdyaXRlcyBhIGJ5dGUuICBUaGUgcmV0dXJuZWQKLSAgIGRhdGEgaXMgYWxsb2NhdGVkIGFuZCBtdXN0IGV2ZW50dWFsbHkgYmUgZnJlZWQuICBOVUxMIGlzIHJldHVybmVkIGlmIG91dCBvZgotICAgbWVtb3J5LiAgSWYgdGhlIGxlbmd0aCBpcyBub3QgbmVlZGVkLCB0aGVuIGxlbiBjYW4gYmUgTlVMTC4gKi8KKyAgIGEgcm93IHdyaXRlcyBhIGJ5dGUuICBPciB0aGV5IGNhbiBiZSBkZWxpbWl0ZWQgYnkgYW55IG5vbi1oZXggY2hhcmFjdGVyLAorICAgd2hlcmUgdGhlIGRlbGltaXRlcnMgYXJlIGlnbm9yZWQgZXhjZXB0IHdoZW4gYSBzaW5nbGUgaGV4IGRpZ2l0IGlzIGZvbGxvd2VkCisgICBieSBhIGRlbGltaXRlciwgd2hlcmUgdGhhdCBzaW5nbGUgZGlnaXQgd3JpdGVzIGEgYnl0ZS4gIFRoZSByZXR1cm5lZCBkYXRhIGlzCisgICBhbGxvY2F0ZWQgYW5kIG11c3QgZXZlbnR1YWxseSBiZSBmcmVlZC4gIE5VTEwgaXMgcmV0dXJuZWQgaWYgb3V0IG9mIG1lbW9yeS4KKyAgIElmIHRoZSBsZW5ndGggaXMgbm90IG5lZWRlZCwgdGhlbiBsZW4gY2FuIGJlIE5VTEwuICovCiBsb2NhbCB1bnNpZ25lZCBjaGFyICpoMmIoY29uc3QgY2hhciAqaGV4LCB1bnNpZ25lZCAqbGVuKQogewotICAgIHVuc2lnbmVkIGNoYXIgKmluOworICAgIHVuc2lnbmVkIGNoYXIgKmluLCAqcmU7CiAgICAgdW5zaWduZWQgbmV4dCwgdmFsOwogCiAgICAgaW4gPSBtYWxsb2MoKHN0cmxlbihoZXgpICsgMSkgPj4gMSk7CkBAIC0yNjgsOCArMjY4LDggQEAKICAgICB9IHdoaWxlICgqaGV4KyspOyAgICAgICAvKiBnbyB0aHJvdWdoIHRoZSBsb29wIHdpdGggdGhlIHRlcm1pbmF0aW5nIG51bGwgKi8KICAgICBpZiAobGVuICE9IE5VTEwpCiAgICAgICAgICpsZW4gPSBuZXh0OwotICAgIGluID0gcmVhbGxvY2YoaW4sIG5leHQpOwotICAgIHJldHVybiBpbjsKKyAgICByZSA9IHJlYWxsb2MoaW4sIG5leHQpOworICAgIHJldHVybiByZSA9PSBOVUxMID8gaW4gOiByZTsKIH0KIAogLyogZ2VuZXJpYyBpbmZsYXRlKCkgcnVuLCB3aGVyZSBoZXggaXMgdGhlIGhleGFkZWNpbWFsIGlucHV0IGRhdGEsIHdoYXQgaXMgdGhlCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9taW5pZ3ppcC5jIGIvc3JjL3Rlc3QvbWluaWd6aXAuYwppbmRleCBiMzAyNWE0Li5hNjQ5ZDJiIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9taW5pZ3ppcC5jCisrKyBiL3NyYy90ZXN0L21pbmlnemlwLmMKQEAgLTEsNSArMSw1IEBACiAvKiBtaW5pZ3ppcC5jIC0tIHNpbXVsYXRlIGd6aXAgdXNpbmcgdGhlIHpsaWIgY29tcHJlc3Npb24gbGlicmFyeQotICogQ29weXJpZ2h0IChDKSAxOTk1LTIwMDYsIDIwMTAsIDIwMTEgSmVhbi1sb3VwIEdhaWxseS4KKyAqIENvcHlyaWdodCAoQykgMTk5NS0yMDA2LCAyMDEwLCAyMDExLCAyMDE2IEplYW4tbG91cCBHYWlsbHkKICAqIEZvciBjb25kaXRpb25zIG9mIGRpc3RyaWJ1dGlvbiBhbmQgdXNlLCBzZWUgY29weXJpZ2h0IG5vdGljZSBpbiB6bGliLmgKICAqLwogCkBAIC00MCw3ICs0MCw3IEBACiAjICBkZWZpbmUgU0VUX0JJTkFSWV9NT0RFKGZpbGUpCiAjZW5kaWYKIAotI2lmZGVmIF9NU0NfVkVSCisjaWYgZGVmaW5lZChfTVNDX1ZFUikgJiYgX01TQ19WRVIgPCAxOTAwCiAjICBkZWZpbmUgc25wcmludGYgX3NucHJpbnRmCiAjZW5kaWYKIApAQCAtMTU2LDE0ICsxNTYsMTQgQEAKICAgICB2b2lkICpxOwogICAgIHVuc2lnbmVkIG4sIG07CiB7Ci0gICAgcSA9IFpfTlVMTDsKKyAgICAodm9pZClxOwogICAgIHJldHVybiBjYWxsb2MobiwgbSk7CiB9CiAKIHZvaWQgbXlmcmVlKHEsIHApCiAgICAgdm9pZCAqcSwgKnA7CiB7Ci0gICAgcSA9IFpfTlVMTDsKKyAgICAodm9pZClxOwogICAgIGZyZWUocCk7CiB9CiAKQEAgLTMzMyw3ICszMzMsNyBAQAogCiAjZW5kaWYKIAotY2hhciAqcHJvZzsKK3N0YXRpYyBjaGFyICpwcm9nOwogCiB2b2lkIGVycm9yICAgICAgICAgICAgT0YoKGNvbnN0IGNoYXIgKm1zZykpOwogdm9pZCBnel9jb21wcmVzcyAgICAgIE9GKChGSUxFICAgKmluLCBnekZpbGUgb3V0KSk7CkBAIC01MDAsNyArNTAwLDcgQEAKICAgICBjaGFyICppbmZpbGUsICpvdXRmaWxlOwogICAgIEZJTEUgICpvdXQ7CiAgICAgZ3pGaWxlIGluOwotICAgIHNpemVfdCBsZW4gPSBzdHJsZW4oZmlsZSk7CisgICAgel9zaXplX3QgbGVuID0gc3RybGVuKGZpbGUpOwogCiAgICAgaWYgKGxlbiArIHN0cmxlbihHWl9TVUZGSVgpID49IHNpemVvZihidWYpKSB7CiAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiJXM6IGZpbGVuYW1lIHRvbyBsb25nXG4iLCBwcm9nKTsKZGlmZiAtLWdpdCBhL3NyYy90cmVlYnVpbGQueG1sIGIvc3JjL3RyZWVidWlsZC54bWwKaW5kZXggMzhkMjlkNy4uMDAxN2E0NSAxMDA2NDQKLS0tIGEvc3JjL3RyZWVidWlsZC54bWwKKysrIGIvc3JjL3RyZWVidWlsZC54bWwKQEAgLTEsNiArMSw2IEBACiA8P3htbCB2ZXJzaW9uPSIxLjAiID8+Ci08cGFja2FnZSBuYW1lPSJ6bGliIiB2ZXJzaW9uPSIxLjIuOCI+Ci0gICAgPGxpYnJhcnkgbmFtZT0iemxpYiIgZGx2ZXJzaW9uPSIxLjIuOCIgZGxuYW1lPSJ6Ij4KKzxwYWNrYWdlIG5hbWU9InpsaWIiIHZlcnNpb249IjEuMi4xMyI+CisgICAgPGxpYnJhcnkgbmFtZT0iemxpYiIgZGx2ZXJzaW9uPSIxLjIuMTMiIGRsbmFtZT0ieiI+CiAJPHByb3BlcnR5IG5hbWU9ImRlc2NyaXB0aW9uIj4gemlwIGNvbXByZXNzaW9uIGxpYnJhcnkgPC9wcm9wZXJ0eT4KIAk8cHJvcGVydHkgbmFtZT0iaW5jbHVkZS10YXJnZXQtZGlyIiB2YWx1ZT0iJChAUEFDS0FHRS9pbnN0YWxsLWluY2x1ZGVkaXIpIiAvPgogCkBAIC0xMDEsNyArMTAxLDcgQEAKIDwhLS0KIENGTEFHUz0tTwogI0NGTEFHUz0tTyAtRE1BWF9XQklUUz0xNCAtRE1BWF9NRU1fTEVWRUw9NwotI0NGTEFHUz0tZyAtRERFQlVHCisjQ0ZMQUdTPS1nIC1EWkxJQl9ERUJVRwogI0NGTEFHUz0tTzMgLVdhbGwgLVd3cml0ZS1zdHJpbmdzIC1XcG9pbnRlci1hcml0aCAtV2NvbnZlcnNpb24gXAogIyAgICAgICAgICAgLVdzdHJpY3QtcHJvdG90eXBlcyAtV21pc3NpbmctcHJvdG90eXBlcwogCmRpZmYgLS1naXQgYS9zcmMvdHJlZXMuYyBiL3NyYy90cmVlcy5jCmluZGV4IDFmZDc3NTkuLjVmMzA1YzQgMTAwNjQ0Ci0tLSBhL3NyYy90cmVlcy5jCisrKyBiL3NyYy90cmVlcy5jCkBAIC0xLDUgKzEsNSBAQAogLyogdHJlZXMuYyAtLSBvdXRwdXQgZGVmbGF0ZWQgZGF0YSB1c2luZyBIdWZmbWFuIGNvZGluZwotICogQ29weXJpZ2h0IChDKSAxOTk1LTIwMTIgSmVhbi1sb3VwIEdhaWxseQorICogQ29weXJpZ2h0IChDKSAxOTk1LTIwMjEgSmVhbi1sb3VwIEdhaWxseQogICogZGV0ZWN0X2RhdGFfdHlwZSgpIGZ1bmN0aW9uIHByb3ZpZGVkIGZyZWVseSBieSBDb3NtaW4gVHJ1dGEsIDIwMDYKICAqIEZvciBjb25kaXRpb25zIG9mIGRpc3RyaWJ1dGlvbiBhbmQgdXNlLCBzZWUgY29weXJpZ2h0IG5vdGljZSBpbiB6bGliLmgKICAqLwpAQCAtMzYsNyArMzYsNyBAQAogCiAjaW5jbHVkZSAiZGVmbGF0ZS5oIgogCi0jaWZkZWYgREVCVUcKKyNpZmRlZiBaTElCX0RFQlVHCiAjICBpbmNsdWRlIDxjdHlwZS5oPgogI2VuZGlmCiAKQEAgLTEyMiwxMyArMTIyLDEzIEBACiAgICAgaW50ICAgICBtYXhfbGVuZ3RoOyAgICAgICAgICAvKiBtYXggYml0IGxlbmd0aCBmb3IgdGhlIGNvZGVzICovCiB9OwogCi1sb2NhbCBzdGF0aWNfdHJlZV9kZXNjICBzdGF0aWNfbF9kZXNjID0KK2xvY2FsIGNvbnN0IHN0YXRpY190cmVlX2Rlc2MgIHN0YXRpY19sX2Rlc2MgPQoge3N0YXRpY19sdHJlZSwgZXh0cmFfbGJpdHMsIExJVEVSQUxTKzEsIExfQ09ERVMsIE1BWF9CSVRTfTsKIAotbG9jYWwgc3RhdGljX3RyZWVfZGVzYyAgc3RhdGljX2RfZGVzYyA9Citsb2NhbCBjb25zdCBzdGF0aWNfdHJlZV9kZXNjICBzdGF0aWNfZF9kZXNjID0KIHtzdGF0aWNfZHRyZWUsIGV4dHJhX2RiaXRzLCAwLCAgICAgICAgICBEX0NPREVTLCBNQVhfQklUU307CiAKLWxvY2FsIHN0YXRpY190cmVlX2Rlc2MgIHN0YXRpY19ibF9kZXNjID0KK2xvY2FsIGNvbnN0IHN0YXRpY190cmVlX2Rlc2MgIHN0YXRpY19ibF9kZXNjID0KIHsoY29uc3QgY3RfZGF0YSAqKTAsIGV4dHJhX2JsYml0cywgMCwgICBCTF9DT0RFUywgTUFYX0JMX0JJVFN9OwogCiAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KQEAgLTE0OSwyMSArMTQ5LDE5IEBACiBsb2NhbCB2b2lkIGNvbXByZXNzX2Jsb2NrIE9GKChkZWZsYXRlX3N0YXRlICpzLCBjb25zdCBjdF9kYXRhICpsdHJlZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGN0X2RhdGEgKmR0cmVlKSk7CiBsb2NhbCBpbnQgIGRldGVjdF9kYXRhX3R5cGUgT0YoKGRlZmxhdGVfc3RhdGUgKnMpKTsKLWxvY2FsIHVuc2lnbmVkIGJpX3JldmVyc2UgT0YoKHVuc2lnbmVkIHZhbHVlLCBpbnQgbGVuZ3RoKSk7Citsb2NhbCB1bnNpZ25lZCBiaV9yZXZlcnNlIE9GKCh1bnNpZ25lZCBjb2RlLCBpbnQgbGVuKSk7CiBsb2NhbCB2b2lkIGJpX3dpbmR1cCAgICAgIE9GKChkZWZsYXRlX3N0YXRlICpzKSk7CiBsb2NhbCB2b2lkIGJpX2ZsdXNoICAgICAgIE9GKChkZWZsYXRlX3N0YXRlICpzKSk7Ci1sb2NhbCB2b2lkIGNvcHlfYmxvY2sgICAgIE9GKChkZWZsYXRlX3N0YXRlICpzLCBjaGFyZiAqYnVmLCB1bnNpZ25lZCBsZW4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgaGVhZGVyKSk7CiAKICNpZmRlZiBHRU5fVFJFRVNfSAogbG9jYWwgdm9pZCBnZW5fdHJlZXNfaGVhZGVyIE9GKCh2b2lkKSk7CiAjZW5kaWYKIAotI2lmbmRlZiBERUJVRworI2lmbmRlZiBaTElCX0RFQlVHCiAjICBkZWZpbmUgc2VuZF9jb2RlKHMsIGMsIHRyZWUpIHNlbmRfYml0cyhzLCB0cmVlW2NdLkNvZGUsIHRyZWVbY10uTGVuKQogICAgLyogU2VuZCBhIGNvZGUgb2YgdGhlIGdpdmVuIHRyZWUuIGMgYW5kIHRyZWUgbXVzdCBub3QgaGF2ZSBzaWRlIGVmZmVjdHMgKi8KIAotI2Vsc2UgLyogREVCVUcgKi8KKyNlbHNlIC8qICFaTElCX0RFQlVHICovCiAjICBkZWZpbmUgc2VuZF9jb2RlKHMsIGMsIHRyZWUpIFwKICAgICAgeyBpZiAoel92ZXJib3NlPjIpIGZwcmludGYoc3RkZXJyLCJcbmNkICUzZCAiLChjKSk7IFwKICAgICAgICBzZW5kX2JpdHMocywgdHJlZVtjXS5Db2RlLCB0cmVlW2NdLkxlbik7IH0KQEAgLTE4Miw3ICsxODAsNyBAQAogICogU2VuZCBhIHZhbHVlIG9uIGEgZ2l2ZW4gbnVtYmVyIG9mIGJpdHMuCiAgKiBJTiBhc3NlcnRpb246IGxlbmd0aCA8PSAxNiBhbmQgdmFsdWUgZml0cyBpbiBsZW5ndGggYml0cy4KICAqLwotI2lmZGVmIERFQlVHCisjaWZkZWYgWkxJQl9ERUJVRwogbG9jYWwgdm9pZCBzZW5kX2JpdHMgICAgICBPRigoZGVmbGF0ZV9zdGF0ZSAqcywgaW50IHZhbHVlLCBpbnQgbGVuZ3RoKSk7CiAKIGxvY2FsIHZvaWQgc2VuZF9iaXRzKHMsIHZhbHVlLCBsZW5ndGgpCkBAIC0xOTUsNyArMTkzLDcgQEAKICAgICBzLT5iaXRzX3NlbnQgKz0gKHVsZylsZW5ndGg7CiAKICAgICAvKiBJZiBub3QgZW5vdWdoIHJvb20gaW4gYmlfYnVmLCB1c2UgKHZhbGlkKSBiaXRzIGZyb20gYmlfYnVmIGFuZAotICAgICAqICgxNiAtIGJpX3ZhbGlkKSBiaXRzIGZyb20gdmFsdWUsIGxlYXZpbmcgKHdpZHRoIC0gKDE2LWJpX3ZhbGlkKSkKKyAgICAgKiAoMTYgLSBiaV92YWxpZCkgYml0cyBmcm9tIHZhbHVlLCBsZWF2aW5nICh3aWR0aCAtICgxNiAtIGJpX3ZhbGlkKSkKICAgICAgKiB1bnVzZWQgYml0cyBpbiB2YWx1ZS4KICAgICAgKi8KICAgICBpZiAocy0+YmlfdmFsaWQgPiAoaW50KUJ1Zl9zaXplIC0gbGVuZ3RoKSB7CkBAIC0yMDgsMTIgKzIwNiwxMiBAQAogICAgICAgICBzLT5iaV92YWxpZCArPSBsZW5ndGg7CiAgICAgfQogfQotI2Vsc2UgLyogIURFQlVHICovCisjZWxzZSAvKiAhWkxJQl9ERUJVRyAqLwogCiAjZGVmaW5lIHNlbmRfYml0cyhzLCB2YWx1ZSwgbGVuZ3RoKSBcCiB7IGludCBsZW4gPSBsZW5ndGg7XAogICBpZiAocy0+YmlfdmFsaWQgPiAoaW50KUJ1Zl9zaXplIC0gbGVuKSB7XAotICAgIGludCB2YWwgPSB2YWx1ZTtcCisgICAgaW50IHZhbCA9IChpbnQpdmFsdWU7XAogICAgIHMtPmJpX2J1ZiB8PSAodXNoKXZhbCA8PCBzLT5iaV92YWxpZDtcCiAgICAgcHV0X3Nob3J0KHMsIHMtPmJpX2J1Zik7XAogICAgIHMtPmJpX2J1ZiA9ICh1c2gpdmFsID4+IChCdWZfc2l6ZSAtIHMtPmJpX3ZhbGlkKTtcCkBAIC0yMjMsNyArMjIxLDcgQEAKICAgICBzLT5iaV92YWxpZCArPSBsZW47XAogICB9XAogfQotI2VuZGlmIC8qIERFQlVHICovCisjZW5kaWYgLyogWkxJQl9ERUJVRyAqLwogCiAKIC8qIHRoZSBhcmd1bWVudHMgbXVzdCBub3QgaGF2ZSBzaWRlIGVmZmVjdHMgKi8KQEAgLTI1OCw3ICsyNTYsNyBAQAogICAgIGxlbmd0aCA9IDA7CiAgICAgZm9yIChjb2RlID0gMDsgY29kZSA8IExFTkdUSF9DT0RFUy0xOyBjb2RlKyspIHsKICAgICAgICAgYmFzZV9sZW5ndGhbY29kZV0gPSBsZW5ndGg7Ci0gICAgICAgIGZvciAobiA9IDA7IG4gPCAoMTw8ZXh0cmFfbGJpdHNbY29kZV0pOyBuKyspIHsKKyAgICAgICAgZm9yIChuID0gMDsgbiA8ICgxIDw8IGV4dHJhX2xiaXRzW2NvZGVdKTsgbisrKSB7CiAgICAgICAgICAgICBfbGVuZ3RoX2NvZGVbbGVuZ3RoKytdID0gKHVjaCljb2RlOwogICAgICAgICB9CiAgICAgfQpAQCAtMjY3LDEzICsyNjUsMTMgQEAKICAgICAgKiBpbiB0d28gZGlmZmVyZW50IHdheXM6IGNvZGUgMjg0ICsgNSBiaXRzIG9yIGNvZGUgMjg1LCBzbyB3ZQogICAgICAqIG92ZXJ3cml0ZSBsZW5ndGhfY29kZVsyNTVdIHRvIHVzZSB0aGUgYmVzdCBlbmNvZGluZzoKICAgICAgKi8KLSAgICBfbGVuZ3RoX2NvZGVbbGVuZ3RoLTFdID0gKHVjaCljb2RlOworICAgIF9sZW5ndGhfY29kZVtsZW5ndGggLSAxXSA9ICh1Y2gpY29kZTsKIAogICAgIC8qIEluaXRpYWxpemUgdGhlIG1hcHBpbmcgZGlzdCAoMC4uMzJLKSAtPiBkaXN0IGNvZGUgKDAuLjI5KSAqLwogICAgIGRpc3QgPSAwOwogICAgIGZvciAoY29kZSA9IDAgOyBjb2RlIDwgMTY7IGNvZGUrKykgewogICAgICAgICBiYXNlX2Rpc3RbY29kZV0gPSBkaXN0OwotICAgICAgICBmb3IgKG4gPSAwOyBuIDwgKDE8PGV4dHJhX2RiaXRzW2NvZGVdKTsgbisrKSB7CisgICAgICAgIGZvciAobiA9IDA7IG4gPCAoMSA8PCBleHRyYV9kYml0c1tjb2RlXSk7IG4rKykgewogICAgICAgICAgICAgX2Rpc3RfY29kZVtkaXN0KytdID0gKHVjaCljb2RlOwogICAgICAgICB9CiAgICAgfQpAQCAtMjgxLDExICsyNzksMTEgQEAKICAgICBkaXN0ID4+PSA3OyAvKiBmcm9tIG5vdyBvbiwgYWxsIGRpc3RhbmNlcyBhcmUgZGl2aWRlZCBieSAxMjggKi8KICAgICBmb3IgKCA7IGNvZGUgPCBEX0NPREVTOyBjb2RlKyspIHsKICAgICAgICAgYmFzZV9kaXN0W2NvZGVdID0gZGlzdCA8PCA3OwotICAgICAgICBmb3IgKG4gPSAwOyBuIDwgKDE8PChleHRyYV9kYml0c1tjb2RlXS03KSk7IG4rKykgeworICAgICAgICBmb3IgKG4gPSAwOyBuIDwgKDEgPDwgKGV4dHJhX2RiaXRzW2NvZGVdIC0gNykpOyBuKyspIHsKICAgICAgICAgICAgIF9kaXN0X2NvZGVbMjU2ICsgZGlzdCsrXSA9ICh1Y2gpY29kZTsKICAgICAgICAgfQogICAgIH0KLSAgICBBc3NlcnQgKGRpc3QgPT0gMjU2LCAidHJfc3RhdGljX2luaXQ6IDI1NitkaXN0ICE9IDUxMiIpOworICAgIEFzc2VydCAoZGlzdCA9PSAyNTYsICJ0cl9zdGF0aWNfaW5pdDogMjU2ICsgZGlzdCAhPSA1MTIiKTsKIAogICAgIC8qIENvbnN0cnVjdCB0aGUgY29kZXMgb2YgdGhlIHN0YXRpYyBsaXRlcmFsIHRyZWUgKi8KICAgICBmb3IgKGJpdHMgPSAwOyBiaXRzIDw9IE1BWF9CSVRTOyBiaXRzKyspIGJsX2NvdW50W2JpdHNdID0gMDsKQEAgLTMxNCwxNiArMzEyLDE2IEBACiB9CiAKIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotICogR2VuZXJlcmF0ZSB0aGUgZmlsZSB0cmVlcy5oIGRlc2NyaWJpbmcgdGhlIHN0YXRpYyB0cmVlcy4KKyAqIEdlbmVyYXRlIHRoZSBmaWxlIHRyZWVzLmggZGVzY3JpYmluZyB0aGUgc3RhdGljIHRyZWVzLgogICovCiAjaWZkZWYgR0VOX1RSRUVTX0gKLSMgIGlmbmRlZiBERUJVRworIyAgaWZuZGVmIFpMSUJfREVCVUcKICMgICAgaW5jbHVkZSA8c3RkaW8uaD4KICMgIGVuZGlmCiAKICMgIGRlZmluZSBTRVBBUkFUT1IoaSwgbGFzdCwgd2lkdGgpIFwKICAgICAgICgoaSkgPT0gKGxhc3QpPyAiXG59O1xuXG4iIDogICAgXAotICAgICAgICgoaSkgJSAod2lkdGgpID09ICh3aWR0aCktMSA/ICIsXG4iIDogIiwgIikpCisgICAgICAgKChpKSAlICh3aWR0aCkgPT0gKHdpZHRoKSAtIDEgPyAiLFxuIiA6ICIsICIpKQogCiB2b2lkIGdlbl90cmVlc19oZWFkZXIoKQogewpAQCAtMzk0LDcgKzM5Miw3IEBACiAKICAgICBzLT5iaV9idWYgPSAwOwogICAgIHMtPmJpX3ZhbGlkID0gMDsKLSNpZmRlZiBERUJVRworI2lmZGVmIFpMSUJfREVCVUcKICAgICBzLT5jb21wcmVzc2VkX2xlbiA9IDBMOwogICAgIHMtPmJpdHNfc2VudCA9IDBMOwogI2VuZGlmCkBAIC00MTgsNyArNDE2LDcgQEAKIAogICAgIHMtPmR5bl9sdHJlZVtFTkRfQkxPQ0tdLkZyZXEgPSAxOwogICAgIHMtPm9wdF9sZW4gPSBzLT5zdGF0aWNfbGVuID0gMEw7Ci0gICAgcy0+bGFzdF9saXQgPSBzLT5tYXRjaGVzID0gMDsKKyAgICBzLT5zeW1fbmV4dCA9IHMtPm1hdGNoZXMgPSAwOwogfQogCiAjZGVmaW5lIFNNQUxMRVNUIDEKQEAgLTQ2MCw3ICs0NTgsNyBAQAogICAgIHdoaWxlIChqIDw9IHMtPmhlYXBfbGVuKSB7CiAgICAgICAgIC8qIFNldCBqIHRvIHRoZSBzbWFsbGVzdCBvZiB0aGUgdHdvIHNvbnM6ICovCiAgICAgICAgIGlmIChqIDwgcy0+aGVhcF9sZW4gJiYKLSAgICAgICAgICAgIHNtYWxsZXIodHJlZSwgcy0+aGVhcFtqKzFdLCBzLT5oZWFwW2pdLCBzLT5kZXB0aCkpIHsKKyAgICAgICAgICAgIHNtYWxsZXIodHJlZSwgcy0+aGVhcFtqICsgMV0sIHMtPmhlYXBbal0sIHMtPmRlcHRoKSkgewogICAgICAgICAgICAgaisrOwogICAgICAgICB9CiAgICAgICAgIC8qIEV4aXQgaWYgdiBpcyBzbWFsbGVyIHRoYW4gYm90aCBzb25zICovCkBAIC01MDksNyArNTA3LDcgQEAKICAgICAgKi8KICAgICB0cmVlW3MtPmhlYXBbcy0+aGVhcF9tYXhdXS5MZW4gPSAwOyAvKiByb290IG9mIHRoZSBoZWFwICovCiAKLSAgICBmb3IgKGggPSBzLT5oZWFwX21heCsxOyBoIDwgSEVBUF9TSVpFOyBoKyspIHsKKyAgICBmb3IgKGggPSBzLT5oZWFwX21heCArIDE7IGggPCBIRUFQX1NJWkU7IGgrKykgewogICAgICAgICBuID0gcy0+aGVhcFtoXTsKICAgICAgICAgYml0cyA9IHRyZWVbdHJlZVtuXS5EYWRdLkxlbiArIDE7CiAgICAgICAgIGlmIChiaXRzID4gbWF4X2xlbmd0aCkgYml0cyA9IG1heF9sZW5ndGgsIG92ZXJmbG93Kys7CkBAIC01MjAsMjIgKzUxOCwyMiBAQAogCiAgICAgICAgIHMtPmJsX2NvdW50W2JpdHNdKys7CiAgICAgICAgIHhiaXRzID0gMDsKLSAgICAgICAgaWYgKG4gPj0gYmFzZSkgeGJpdHMgPSBleHRyYVtuLWJhc2VdOworICAgICAgICBpZiAobiA+PSBiYXNlKSB4Yml0cyA9IGV4dHJhW24gLSBiYXNlXTsKICAgICAgICAgZiA9IHRyZWVbbl0uRnJlcTsKLSAgICAgICAgcy0+b3B0X2xlbiArPSAodWxnKWYgKiAoYml0cyArIHhiaXRzKTsKLSAgICAgICAgaWYgKHN0cmVlKSBzLT5zdGF0aWNfbGVuICs9ICh1bGcpZiAqIChzdHJlZVtuXS5MZW4gKyB4Yml0cyk7CisgICAgICAgIHMtPm9wdF9sZW4gKz0gKHVsZylmICogKHVuc2lnbmVkKShiaXRzICsgeGJpdHMpOworICAgICAgICBpZiAoc3RyZWUpIHMtPnN0YXRpY19sZW4gKz0gKHVsZylmICogKHVuc2lnbmVkKShzdHJlZVtuXS5MZW4gKyB4Yml0cyk7CiAgICAgfQogICAgIGlmIChvdmVyZmxvdyA9PSAwKSByZXR1cm47CiAKLSAgICBUcmFjZSgoc3RkZXJyLCJcbmJpdCBsZW5ndGggb3ZlcmZsb3dcbiIpKTsKKyAgICBUcmFjZXYoKHN0ZGVyciwiXG5iaXQgbGVuZ3RoIG92ZXJmbG93XG4iKSk7CiAgICAgLyogVGhpcyBoYXBwZW5zIGZvciBleGFtcGxlIG9uIG9iajIgYW5kIHBpYyBvZiB0aGUgQ2FsZ2FyeSBjb3JwdXMgKi8KIAogICAgIC8qIEZpbmQgdGhlIGZpcnN0IGJpdCBsZW5ndGggd2hpY2ggY291bGQgaW5jcmVhc2U6ICovCiAgICAgZG8gewotICAgICAgICBiaXRzID0gbWF4X2xlbmd0aC0xOworICAgICAgICBiaXRzID0gbWF4X2xlbmd0aCAtIDE7CiAgICAgICAgIHdoaWxlIChzLT5ibF9jb3VudFtiaXRzXSA9PSAwKSBiaXRzLS07Ci0gICAgICAgIHMtPmJsX2NvdW50W2JpdHNdLS07ICAgICAgLyogbW92ZSBvbmUgbGVhZiBkb3duIHRoZSB0cmVlICovCi0gICAgICAgIHMtPmJsX2NvdW50W2JpdHMrMV0gKz0gMjsgLyogbW92ZSBvbmUgb3ZlcmZsb3cgaXRlbSBhcyBpdHMgYnJvdGhlciAqLworICAgICAgICBzLT5ibF9jb3VudFtiaXRzXS0tOyAgICAgICAgLyogbW92ZSBvbmUgbGVhZiBkb3duIHRoZSB0cmVlICovCisgICAgICAgIHMtPmJsX2NvdW50W2JpdHMgKyAxXSArPSAyOyAvKiBtb3ZlIG9uZSBvdmVyZmxvdyBpdGVtIGFzIGl0cyBicm90aGVyICovCiAgICAgICAgIHMtPmJsX2NvdW50W21heF9sZW5ndGhdLS07CiAgICAgICAgIC8qIFRoZSBicm90aGVyIG9mIHRoZSBvdmVyZmxvdyBpdGVtIGFsc28gbW92ZXMgb25lIHN0ZXAgdXAsCiAgICAgICAgICAqIGJ1dCB0aGlzIGRvZXMgbm90IGFmZmVjdCBibF9jb3VudFttYXhfbGVuZ3RoXQpAQCAtNTU0LDkgKzU1Miw4IEBACiAgICAgICAgICAgICBtID0gcy0+aGVhcFstLWhdOwogICAgICAgICAgICAgaWYgKG0gPiBtYXhfY29kZSkgY29udGludWU7CiAgICAgICAgICAgICBpZiAoKHVuc2lnbmVkKSB0cmVlW21dLkxlbiAhPSAodW5zaWduZWQpIGJpdHMpIHsKLSAgICAgICAgICAgICAgICBUcmFjZSgoc3RkZXJyLCJjb2RlICVkIGJpdHMgJWQtPiVkXG4iLCBtLCB0cmVlW21dLkxlbiwgYml0cykpOwotICAgICAgICAgICAgICAgIHMtPm9wdF9sZW4gKz0gKChsb25nKWJpdHMgLSAobG9uZyl0cmVlW21dLkxlbikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoobG9uZyl0cmVlW21dLkZyZXE7CisgICAgICAgICAgICAgICAgVHJhY2V2KChzdGRlcnIsImNvZGUgJWQgYml0cyAlZC0+JWRcbiIsIG0sIHRyZWVbbV0uTGVuLCBiaXRzKSk7CisgICAgICAgICAgICAgICAgcy0+b3B0X2xlbiArPSAoKHVsZyliaXRzIC0gdHJlZVttXS5MZW4pICogdHJlZVttXS5GcmVxOwogICAgICAgICAgICAgICAgIHRyZWVbbV0uTGVuID0gKHVzaCliaXRzOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgbi0tOwpAQCAtNTcyLDEzICs1NjksMTMgQEAKICAqIE9VVCBhc3NlcnRpb246IHRoZSBmaWVsZCBjb2RlIGlzIHNldCBmb3IgYWxsIHRyZWUgZWxlbWVudHMgb2Ygbm9uCiAgKiAgICAgemVybyBjb2RlIGxlbmd0aC4KICAqLwotbG9jYWwgdm9pZCBnZW5fY29kZXMgKHRyZWUsIG1heF9jb2RlLCBibF9jb3VudCkKK2xvY2FsIHZvaWQgZ2VuX2NvZGVzKHRyZWUsIG1heF9jb2RlLCBibF9jb3VudCkKICAgICBjdF9kYXRhICp0cmVlOyAgICAgICAgICAgICAvKiB0aGUgdHJlZSB0byBkZWNvcmF0ZSAqLwogICAgIGludCBtYXhfY29kZTsgICAgICAgICAgICAgIC8qIGxhcmdlc3QgY29kZSB3aXRoIG5vbiB6ZXJvIGZyZXF1ZW5jeSAqLwogICAgIHVzaGYgKmJsX2NvdW50OyAgICAgICAgICAgIC8qIG51bWJlciBvZiBjb2RlcyBhdCBlYWNoIGJpdCBsZW5ndGggKi8KIHsKICAgICB1c2ggbmV4dF9jb2RlW01BWF9CSVRTKzFdOyAvKiBuZXh0IGNvZGUgdmFsdWUgZm9yIGVhY2ggYml0IGxlbmd0aCAqLwotICAgIHVzaCBjb2RlID0gMDsgICAgICAgICAgICAgIC8qIHJ1bm5pbmcgY29kZSB2YWx1ZSAqLworICAgIHVuc2lnbmVkIGNvZGUgPSAwOyAgICAgICAgIC8qIHJ1bm5pbmcgY29kZSB2YWx1ZSAqLwogICAgIGludCBiaXRzOyAgICAgICAgICAgICAgICAgIC8qIGJpdCBpbmRleCAqLwogICAgIGludCBuOyAgICAgICAgICAgICAgICAgICAgIC8qIGNvZGUgaW5kZXggKi8KIApAQCAtNTg2LDEyICs1ODMsMTMgQEAKICAgICAgKiB3aXRob3V0IGJpdCByZXZlcnNhbC4KICAgICAgKi8KICAgICBmb3IgKGJpdHMgPSAxOyBiaXRzIDw9IE1BWF9CSVRTOyBiaXRzKyspIHsKLSAgICAgICAgbmV4dF9jb2RlW2JpdHNdID0gY29kZSA9IChjb2RlICsgYmxfY291bnRbYml0cy0xXSkgPDwgMTsKKyAgICAgICAgY29kZSA9IChjb2RlICsgYmxfY291bnRbYml0cyAtIDFdKSA8PCAxOworICAgICAgICBuZXh0X2NvZGVbYml0c10gPSAodXNoKWNvZGU7CiAgICAgfQogICAgIC8qIENoZWNrIHRoYXQgdGhlIGJpdCBjb3VudHMgaW4gYmxfY291bnQgYXJlIGNvbnNpc3RlbnQuIFRoZSBsYXN0IGNvZGUKICAgICAgKiBtdXN0IGJlIGFsbCBvbmVzLgogICAgICAqLwotICAgIEFzc2VydCAoY29kZSArIGJsX2NvdW50W01BWF9CSVRTXS0xID09ICgxPDxNQVhfQklUUyktMSwKKyAgICBBc3NlcnQgKGNvZGUgKyBibF9jb3VudFtNQVhfQklUU10gLSAxID09ICgxIDw8IE1BWF9CSVRTKSAtIDEsCiAgICAgICAgICAgICAiaW5jb25zaXN0ZW50IGJpdCBjb3VudHMiKTsKICAgICBUcmFjZXYoKHN0ZGVyciwiXG5nZW5fY29kZXM6IG1heF9jb2RlICVkICIsIG1heF9jb2RlKSk7CiAKQEAgLTU5OSwxMCArNTk3LDEwIEBACiAgICAgICAgIGludCBsZW4gPSB0cmVlW25dLkxlbjsKICAgICAgICAgaWYgKGxlbiA9PSAwKSBjb250aW51ZTsKICAgICAgICAgLyogTm93IHJldmVyc2UgdGhlIGJpdHMgKi8KLSAgICAgICAgdHJlZVtuXS5Db2RlID0gYmlfcmV2ZXJzZShuZXh0X2NvZGVbbGVuXSsrLCBsZW4pOworICAgICAgICB0cmVlW25dLkNvZGUgPSAodXNoKWJpX3JldmVyc2UobmV4dF9jb2RlW2xlbl0rKywgbGVuKTsKIAogICAgICAgICBUcmFjZWN2KHRyZWUgIT0gc3RhdGljX2x0cmVlLCAoc3RkZXJyLCJcbm4gJTNkICVjIGwgJTJkIGMgJTR4ICgleCkgIiwKLSAgICAgICAgICAgICBuLCAoaXNncmFwaChuKSA/IG4gOiAnICcpLCBsZW4sIHRyZWVbbl0uQ29kZSwgbmV4dF9jb2RlW2xlbl0tMSkpOworICAgICAgICAgICAgbiwgKGlzZ3JhcGgobikgPyBuIDogJyAnKSwgbGVuLCB0cmVlW25dLkNvZGUsIG5leHRfY29kZVtsZW5dIC0gMSkpOwogICAgIH0KIH0KIApAQCAtNjI2LDcgKzYyNCw3IEBACiAgICAgaW50IG5vZGU7ICAgICAgICAgIC8qIG5ldyBub2RlIGJlaW5nIGNyZWF0ZWQgKi8KIAogICAgIC8qIENvbnN0cnVjdCB0aGUgaW5pdGlhbCBoZWFwLCB3aXRoIGxlYXN0IGZyZXF1ZW50IGVsZW1lbnQgaW4KLSAgICAgKiBoZWFwW1NNQUxMRVNUXS4gVGhlIHNvbnMgb2YgaGVhcFtuXSBhcmUgaGVhcFsyKm5dIGFuZCBoZWFwWzIqbisxXS4KKyAgICAgKiBoZWFwW1NNQUxMRVNUXS4gVGhlIHNvbnMgb2YgaGVhcFtuXSBhcmUgaGVhcFsyKm5dIGFuZCBoZWFwWzIqbiArIDFdLgogICAgICAqIGhlYXBbMF0gaXMgbm90IHVzZWQuCiAgICAgICovCiAgICAgcy0+aGVhcF9sZW4gPSAwLCBzLT5oZWFwX21heCA9IEhFQVBfU0laRTsKQEAgLTY1NCw3ICs2NTIsNyBAQAogICAgIH0KICAgICBkZXNjLT5tYXhfY29kZSA9IG1heF9jb2RlOwogCi0gICAgLyogVGhlIGVsZW1lbnRzIGhlYXBbaGVhcF9sZW4vMisxIC4uIGhlYXBfbGVuXSBhcmUgbGVhdmVzIG9mIHRoZSB0cmVlLAorICAgIC8qIFRoZSBlbGVtZW50cyBoZWFwW2hlYXBfbGVuLzIgKyAxIC4uIGhlYXBfbGVuXSBhcmUgbGVhdmVzIG9mIHRoZSB0cmVlLAogICAgICAqIGVzdGFibGlzaCBzdWItaGVhcHMgb2YgaW5jcmVhc2luZyBsZW5ndGhzOgogICAgICAqLwogICAgIGZvciAobiA9IHMtPmhlYXBfbGVuLzI7IG4gPj0gMTsgbi0tKSBwcWRvd25oZWFwKHMsIHRyZWUsIG4pOwpAQCAtNzAyLDcgKzcwMCw3IEBACiAgKiBTY2FuIGEgbGl0ZXJhbCBvciBkaXN0YW5jZSB0cmVlIHRvIGRldGVybWluZSB0aGUgZnJlcXVlbmNpZXMgb2YgdGhlIGNvZGVzCiAgKiBpbiB0aGUgYml0IGxlbmd0aCB0cmVlLgogICovCi1sb2NhbCB2b2lkIHNjYW5fdHJlZSAocywgdHJlZSwgbWF4X2NvZGUpCitsb2NhbCB2b2lkIHNjYW5fdHJlZShzLCB0cmVlLCBtYXhfY29kZSkKICAgICBkZWZsYXRlX3N0YXRlICpzOwogICAgIGN0X2RhdGEgKnRyZWU7ICAgLyogdGhlIHRyZWUgdG8gYmUgc2Nhbm5lZCAqLwogICAgIGludCBtYXhfY29kZTsgICAgLyogYW5kIGl0cyBsYXJnZXN0IGNvZGUgb2Ygbm9uIHplcm8gZnJlcXVlbmN5ICovCkBAIC03MTYsMTAgKzcxNCwxMCBAQAogICAgIGludCBtaW5fY291bnQgPSA0OyAgICAgICAgIC8qIG1pbiByZXBlYXQgY291bnQgKi8KIAogICAgIGlmIChuZXh0bGVuID09IDApIG1heF9jb3VudCA9IDEzOCwgbWluX2NvdW50ID0gMzsKLSAgICB0cmVlW21heF9jb2RlKzFdLkxlbiA9ICh1c2gpMHhmZmZmOyAvKiBndWFyZCAqLworICAgIHRyZWVbbWF4X2NvZGUgKyAxXS5MZW4gPSAodXNoKTB4ZmZmZjsgLyogZ3VhcmQgKi8KIAogICAgIGZvciAobiA9IDA7IG4gPD0gbWF4X2NvZGU7IG4rKykgewotICAgICAgICBjdXJsZW4gPSBuZXh0bGVuOyBuZXh0bGVuID0gdHJlZVtuKzFdLkxlbjsKKyAgICAgICAgY3VybGVuID0gbmV4dGxlbjsgbmV4dGxlbiA9IHRyZWVbbiArIDFdLkxlbjsKICAgICAgICAgaWYgKCsrY291bnQgPCBtYXhfY291bnQgJiYgY3VybGVuID09IG5leHRsZW4pIHsKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9IGVsc2UgaWYgKGNvdW50IDwgbWluX2NvdW50KSB7CkBAIC03NDcsNyArNzQ1LDcgQEAKICAqIFNlbmQgYSBsaXRlcmFsIG9yIGRpc3RhbmNlIHRyZWUgaW4gY29tcHJlc3NlZCBmb3JtLCB1c2luZyB0aGUgY29kZXMgaW4KICAqIGJsX3RyZWUuCiAgKi8KLWxvY2FsIHZvaWQgc2VuZF90cmVlIChzLCB0cmVlLCBtYXhfY29kZSkKK2xvY2FsIHZvaWQgc2VuZF90cmVlKHMsIHRyZWUsIG1heF9jb2RlKQogICAgIGRlZmxhdGVfc3RhdGUgKnM7CiAgICAgY3RfZGF0YSAqdHJlZTsgLyogdGhlIHRyZWUgdG8gYmUgc2Nhbm5lZCAqLwogICAgIGludCBtYXhfY29kZTsgICAgICAgLyogYW5kIGl0cyBsYXJnZXN0IGNvZGUgb2Ygbm9uIHplcm8gZnJlcXVlbmN5ICovCkBAIC03NjAsMTEgKzc1OCwxMSBAQAogICAgIGludCBtYXhfY291bnQgPSA3OyAgICAgICAgIC8qIG1heCByZXBlYXQgY291bnQgKi8KICAgICBpbnQgbWluX2NvdW50ID0gNDsgICAgICAgICAvKiBtaW4gcmVwZWF0IGNvdW50ICovCiAKLSAgICAvKiB0cmVlW21heF9jb2RlKzFdLkxlbiA9IC0xOyAqLyAgLyogZ3VhcmQgYWxyZWFkeSBzZXQgKi8KKyAgICAvKiB0cmVlW21heF9jb2RlICsgMV0uTGVuID0gLTE7ICovICAvKiBndWFyZCBhbHJlYWR5IHNldCAqLwogICAgIGlmIChuZXh0bGVuID09IDApIG1heF9jb3VudCA9IDEzOCwgbWluX2NvdW50ID0gMzsKIAogICAgIGZvciAobiA9IDA7IG4gPD0gbWF4X2NvZGU7IG4rKykgewotICAgICAgICBjdXJsZW4gPSBuZXh0bGVuOyBuZXh0bGVuID0gdHJlZVtuKzFdLkxlbjsKKyAgICAgICAgY3VybGVuID0gbmV4dGxlbjsgbmV4dGxlbiA9IHRyZWVbbiArIDFdLkxlbjsKICAgICAgICAgaWYgKCsrY291bnQgPCBtYXhfY291bnQgJiYgY3VybGVuID09IG5leHRsZW4pIHsKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9IGVsc2UgaWYgKGNvdW50IDwgbWluX2NvdW50KSB7CkBAIC03NzUsMTMgKzc3MywxMyBAQAogICAgICAgICAgICAgICAgIHNlbmRfY29kZShzLCBjdXJsZW4sIHMtPmJsX3RyZWUpOyBjb3VudC0tOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgQXNzZXJ0KGNvdW50ID49IDMgJiYgY291bnQgPD0gNiwgIiAzXzY/Iik7Ci0gICAgICAgICAgICBzZW5kX2NvZGUocywgUkVQXzNfNiwgcy0+YmxfdHJlZSk7IHNlbmRfYml0cyhzLCBjb3VudC0zLCAyKTsKKyAgICAgICAgICAgIHNlbmRfY29kZShzLCBSRVBfM182LCBzLT5ibF90cmVlKTsgc2VuZF9iaXRzKHMsIGNvdW50IC0gMywgMik7CiAKICAgICAgICAgfSBlbHNlIGlmIChjb3VudCA8PSAxMCkgewotICAgICAgICAgICAgc2VuZF9jb2RlKHMsIFJFUFpfM18xMCwgcy0+YmxfdHJlZSk7IHNlbmRfYml0cyhzLCBjb3VudC0zLCAzKTsKKyAgICAgICAgICAgIHNlbmRfY29kZShzLCBSRVBaXzNfMTAsIHMtPmJsX3RyZWUpOyBzZW5kX2JpdHMocywgY291bnQgLSAzLCAzKTsKIAogICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgc2VuZF9jb2RlKHMsIFJFUFpfMTFfMTM4LCBzLT5ibF90cmVlKTsgc2VuZF9iaXRzKHMsIGNvdW50LTExLCA3KTsKKyAgICAgICAgICAgIHNlbmRfY29kZShzLCBSRVBaXzExXzEzOCwgcy0+YmxfdHJlZSk7IHNlbmRfYml0cyhzLCBjb3VudCAtIDExLCA3KTsKICAgICAgICAgfQogICAgICAgICBjb3VudCA9IDA7IHByZXZsZW4gPSBjdXJsZW47CiAgICAgICAgIGlmIChuZXh0bGVuID09IDApIHsKQEAgLTgwOSw4ICs4MDcsOCBAQAogCiAgICAgLyogQnVpbGQgdGhlIGJpdCBsZW5ndGggdHJlZTogKi8KICAgICBidWlsZF90cmVlKHMsICh0cmVlX2Rlc2MgKikoJihzLT5ibF9kZXNjKSkpOwotICAgIC8qIG9wdF9sZW4gbm93IGluY2x1ZGVzIHRoZSBsZW5ndGggb2YgdGhlIHRyZWUgcmVwcmVzZW50YXRpb25zLCBleGNlcHQKLSAgICAgKiB0aGUgbGVuZ3RocyBvZiB0aGUgYml0IGxlbmd0aHMgY29kZXMgYW5kIHRoZSA1KzUrNCBiaXRzIGZvciB0aGUgY291bnRzLgorICAgIC8qIG9wdF9sZW4gbm93IGluY2x1ZGVzIHRoZSBsZW5ndGggb2YgdGhlIHRyZWUgcmVwcmVzZW50YXRpb25zLCBleGNlcHQgdGhlCisgICAgICogbGVuZ3RocyBvZiB0aGUgYml0IGxlbmd0aHMgY29kZXMgYW5kIHRoZSA1ICsgNSArIDQgYml0cyBmb3IgdGhlIGNvdW50cy4KICAgICAgKi8KIAogICAgIC8qIERldGVybWluZSB0aGUgbnVtYmVyIG9mIGJpdCBsZW5ndGggY29kZXMgdG8gc2VuZC4gVGhlIHBremlwIGZvcm1hdApAQCAtODIxLDcgKzgxOSw3IEBACiAgICAgICAgIGlmIChzLT5ibF90cmVlW2JsX29yZGVyW21heF9ibGluZGV4XV0uTGVuICE9IDApIGJyZWFrOwogICAgIH0KICAgICAvKiBVcGRhdGUgb3B0X2xlbiB0byBpbmNsdWRlIHRoZSBiaXQgbGVuZ3RoIHRyZWUgYW5kIGNvdW50cyAqLwotICAgIHMtPm9wdF9sZW4gKz0gMyoobWF4X2JsaW5kZXgrMSkgKyA1KzUrNDsKKyAgICBzLT5vcHRfbGVuICs9IDMqKCh1bGcpbWF4X2JsaW5kZXggKyAxKSArIDUgKyA1ICsgNDsKICAgICBUcmFjZXYoKHN0ZGVyciwgIlxuZHluIHRyZWVzOiBkeW4gJWxkLCBzdGF0ICVsZCIsCiAgICAgICAgICAgICBzLT5vcHRfbGVuLCBzLT5zdGF0aWNfbGVuKSk7CiAKQEAgLTg0MywxOSArODQxLDE5IEBACiAgICAgQXNzZXJ0IChsY29kZXMgPD0gTF9DT0RFUyAmJiBkY29kZXMgPD0gRF9DT0RFUyAmJiBibGNvZGVzIDw9IEJMX0NPREVTLAogICAgICAgICAgICAgInRvbyBtYW55IGNvZGVzIik7CiAgICAgVHJhY2V2KChzdGRlcnIsICJcbmJsIGNvdW50czogIikpOwotICAgIHNlbmRfYml0cyhzLCBsY29kZXMtMjU3LCA1KTsgLyogbm90ICsyNTUgYXMgc3RhdGVkIGluIGFwcG5vdGUudHh0ICovCi0gICAgc2VuZF9iaXRzKHMsIGRjb2Rlcy0xLCAgIDUpOwotICAgIHNlbmRfYml0cyhzLCBibGNvZGVzLTQsICA0KTsgLyogbm90IC0zIGFzIHN0YXRlZCBpbiBhcHBub3RlLnR4dCAqLworICAgIHNlbmRfYml0cyhzLCBsY29kZXMgLSAyNTcsIDUpOyAgLyogbm90ICsyNTUgYXMgc3RhdGVkIGluIGFwcG5vdGUudHh0ICovCisgICAgc2VuZF9iaXRzKHMsIGRjb2RlcyAtIDEsICAgNSk7CisgICAgc2VuZF9iaXRzKHMsIGJsY29kZXMgLSA0LCAgNCk7ICAvKiBub3QgLTMgYXMgc3RhdGVkIGluIGFwcG5vdGUudHh0ICovCiAgICAgZm9yIChyYW5rID0gMDsgcmFuayA8IGJsY29kZXM7IHJhbmsrKykgewogICAgICAgICBUcmFjZXYoKHN0ZGVyciwgIlxuYmwgY29kZSAlMmQgIiwgYmxfb3JkZXJbcmFua10pKTsKICAgICAgICAgc2VuZF9iaXRzKHMsIHMtPmJsX3RyZWVbYmxfb3JkZXJbcmFua11dLkxlbiwgMyk7CiAgICAgfQogICAgIFRyYWNldigoc3RkZXJyLCAiXG5ibCB0cmVlOiBzZW50ICVsZCIsIHMtPmJpdHNfc2VudCkpOwogCi0gICAgc2VuZF90cmVlKHMsIChjdF9kYXRhICopcy0+ZHluX2x0cmVlLCBsY29kZXMtMSk7IC8qIGxpdGVyYWwgdHJlZSAqLworICAgIHNlbmRfdHJlZShzLCAoY3RfZGF0YSAqKXMtPmR5bl9sdHJlZSwgbGNvZGVzIC0gMSk7ICAvKiBsaXRlcmFsIHRyZWUgKi8KICAgICBUcmFjZXYoKHN0ZGVyciwgIlxubGl0IHRyZWU6IHNlbnQgJWxkIiwgcy0+Yml0c19zZW50KSk7CiAKLSAgICBzZW5kX3RyZWUocywgKGN0X2RhdGEgKilzLT5keW5fZHRyZWUsIGRjb2Rlcy0xKTsgLyogZGlzdGFuY2UgdHJlZSAqLworICAgIHNlbmRfdHJlZShzLCAoY3RfZGF0YSAqKXMtPmR5bl9kdHJlZSwgZGNvZGVzIC0gMSk7ICAvKiBkaXN0YW5jZSB0cmVlICovCiAgICAgVHJhY2V2KChzdGRlcnIsICJcbmRpc3QgdHJlZTogc2VudCAlbGQiLCBzLT5iaXRzX3NlbnQpKTsKIH0KIApAQCAtODY4LDEyICs4NjYsMTkgQEAKICAgICB1bGcgc3RvcmVkX2xlbjsgICAvKiBsZW5ndGggb2YgaW5wdXQgYmxvY2sgKi8KICAgICBpbnQgbGFzdDsgICAgICAgICAvKiBvbmUgaWYgdGhpcyBpcyB0aGUgbGFzdCBibG9jayBmb3IgYSBmaWxlICovCiB7Ci0gICAgc2VuZF9iaXRzKHMsIChTVE9SRURfQkxPQ0s8PDEpK2xhc3QsIDMpOyAgICAvKiBzZW5kIGJsb2NrIHR5cGUgKi8KLSNpZmRlZiBERUJVRworICAgIHNlbmRfYml0cyhzLCAoU1RPUkVEX0JMT0NLPDwxKSArIGxhc3QsIDMpOyAgLyogc2VuZCBibG9jayB0eXBlICovCisgICAgYmlfd2luZHVwKHMpOyAgICAgICAgLyogYWxpZ24gb24gYnl0ZSBib3VuZGFyeSAqLworICAgIHB1dF9zaG9ydChzLCAodXNoKXN0b3JlZF9sZW4pOworICAgIHB1dF9zaG9ydChzLCAodXNoKX5zdG9yZWRfbGVuKTsKKyAgICBpZiAoc3RvcmVkX2xlbikKKyAgICAgICAgem1lbWNweShzLT5wZW5kaW5nX2J1ZiArIHMtPnBlbmRpbmcsIChCeXRlZiAqKWJ1Ziwgc3RvcmVkX2xlbik7CisgICAgcy0+cGVuZGluZyArPSBzdG9yZWRfbGVuOworI2lmZGVmIFpMSUJfREVCVUcKICAgICBzLT5jb21wcmVzc2VkX2xlbiA9IChzLT5jb21wcmVzc2VkX2xlbiArIDMgKyA3KSAmICh1bGcpfjdMOwogICAgIHMtPmNvbXByZXNzZWRfbGVuICs9IChzdG9yZWRfbGVuICsgNCkgPDwgMzsKKyAgICBzLT5iaXRzX3NlbnQgKz0gMioxNjsKKyAgICBzLT5iaXRzX3NlbnQgKz0gc3RvcmVkX2xlbiA8PCAzOwogI2VuZGlmCi0gICAgY29weV9ibG9jayhzLCBidWYsICh1bnNpZ25lZClzdG9yZWRfbGVuLCAxKTsgLyogd2l0aCBoZWFkZXIgKi8KIH0KIAogLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkBAIC04OTQsNyArODk5LDcgQEAKIHsKICAgICBzZW5kX2JpdHMocywgU1RBVElDX1RSRUVTPDwxLCAzKTsKICAgICBzZW5kX2NvZGUocywgRU5EX0JMT0NLLCBzdGF0aWNfbHRyZWUpOwotI2lmZGVmIERFQlVHCisjaWZkZWYgWkxJQl9ERUJVRwogICAgIHMtPmNvbXByZXNzZWRfbGVuICs9IDEwTDsgLyogMyBmb3IgYmxvY2sgdHlwZSwgNyBmb3IgRU9CICovCiAjZW5kaWYKICAgICBiaV9mbHVzaChzKTsKQEAgLTkwMiw3ICs5MDcsNyBAQAogCiAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAqIERldGVybWluZSB0aGUgYmVzdCBlbmNvZGluZyBmb3IgdGhlIGN1cnJlbnQgYmxvY2s6IGR5bmFtaWMgdHJlZXMsIHN0YXRpYwotICogdHJlZXMgb3Igc3RvcmUsIGFuZCBvdXRwdXQgdGhlIGVuY29kZWQgYmxvY2sgdG8gdGhlIHppcCBmaWxlLgorICogdHJlZXMgb3Igc3RvcmUsIGFuZCB3cml0ZSBvdXQgdGhlIGVuY29kZWQgYmxvY2suCiAgKi8KIHZvaWQgWkxJQl9JTlRFUk5BTCBfdHJfZmx1c2hfYmxvY2socywgYnVmLCBzdG9yZWRfbGVuLCBsYXN0KQogICAgIGRlZmxhdGVfc3RhdGUgKnM7CkBAIC05MzgsMTQgKzk0MywxNyBAQAogICAgICAgICBtYXhfYmxpbmRleCA9IGJ1aWxkX2JsX3RyZWUocyk7CiAKICAgICAgICAgLyogRGV0ZXJtaW5lIHRoZSBiZXN0IGVuY29kaW5nLiBDb21wdXRlIHRoZSBibG9jayBsZW5ndGhzIGluIGJ5dGVzLiAqLwotICAgICAgICBvcHRfbGVuYiA9IChzLT5vcHRfbGVuKzMrNyk+PjM7Ci0gICAgICAgIHN0YXRpY19sZW5iID0gKHMtPnN0YXRpY19sZW4rMys3KT4+MzsKKyAgICAgICAgb3B0X2xlbmIgPSAocy0+b3B0X2xlbiArIDMgKyA3KSA+PiAzOworICAgICAgICBzdGF0aWNfbGVuYiA9IChzLT5zdGF0aWNfbGVuICsgMyArIDcpID4+IDM7CiAKICAgICAgICAgVHJhY2V2KChzdGRlcnIsICJcbm9wdCAlbHUoJWx1KSBzdGF0ICVsdSglbHUpIHN0b3JlZCAlbHUgbGl0ICV1ICIsCiAgICAgICAgICAgICAgICAgb3B0X2xlbmIsIHMtPm9wdF9sZW4sIHN0YXRpY19sZW5iLCBzLT5zdGF0aWNfbGVuLCBzdG9yZWRfbGVuLAotICAgICAgICAgICAgICAgIHMtPmxhc3RfbGl0KSk7CisgICAgICAgICAgICAgICAgcy0+c3ltX25leHQgLyAzKSk7CiAKLSAgICAgICAgaWYgKHN0YXRpY19sZW5iIDw9IG9wdF9sZW5iKSBvcHRfbGVuYiA9IHN0YXRpY19sZW5iOworI2lmbmRlZiBGT1JDRV9TVEFUSUMKKyAgICAgICAgaWYgKHN0YXRpY19sZW5iIDw9IG9wdF9sZW5iIHx8IHMtPnN0cmF0ZWd5ID09IFpfRklYRUQpCisjZW5kaWYKKyAgICAgICAgICAgIG9wdF9sZW5iID0gc3RhdGljX2xlbmI7CiAKICAgICB9IGVsc2UgewogICAgICAgICBBc3NlcnQoYnVmICE9IChjaGFyKikwLCAibG9zdCBidWYiKTsKQEAgLTk1NSw3ICs5NjMsNyBAQAogI2lmZGVmIEZPUkNFX1NUT1JFRAogICAgIGlmIChidWYgIT0gKGNoYXIqKTApIHsgLyogZm9yY2Ugc3RvcmVkIGJsb2NrICovCiAjZWxzZQotICAgIGlmIChzdG9yZWRfbGVuKzQgPD0gb3B0X2xlbmIgJiYgYnVmICE9IChjaGFyKikwKSB7CisgICAgaWYgKHN0b3JlZF9sZW4gKyA0IDw9IG9wdF9sZW5iICYmIGJ1ZiAhPSAoY2hhciopMCkgewogICAgICAgICAgICAgICAgICAgICAgICAvKiA0OiB0d28gd29yZHMgZm9yIHRoZSBsZW5ndGhzICovCiAjZW5kaWYKICAgICAgICAgLyogVGhlIHRlc3QgYnVmICE9IE5VTEwgaXMgb25seSBuZWNlc3NhcnkgaWYgTElUX0JVRlNJWkUgPiBXU0laRS4KQEAgLTk2NiwyNCArOTc0LDIwIEBACiAgICAgICAgICAqLwogICAgICAgICBfdHJfc3RvcmVkX2Jsb2NrKHMsIGJ1Ziwgc3RvcmVkX2xlbiwgbGFzdCk7CiAKLSNpZmRlZiBGT1JDRV9TVEFUSUMKLSAgICB9IGVsc2UgaWYgKHN0YXRpY19sZW5iID49IDApIHsgLyogZm9yY2Ugc3RhdGljIHRyZWVzICovCi0jZWxzZQotICAgIH0gZWxzZSBpZiAocy0+c3RyYXRlZ3kgPT0gWl9GSVhFRCB8fCBzdGF0aWNfbGVuYiA9PSBvcHRfbGVuYikgewotI2VuZGlmCi0gICAgICAgIHNlbmRfYml0cyhzLCAoU1RBVElDX1RSRUVTPDwxKStsYXN0LCAzKTsKKyAgICB9IGVsc2UgaWYgKHN0YXRpY19sZW5iID09IG9wdF9sZW5iKSB7CisgICAgICAgIHNlbmRfYml0cyhzLCAoU1RBVElDX1RSRUVTPDwxKSArIGxhc3QsIDMpOwogICAgICAgICBjb21wcmVzc19ibG9jayhzLCAoY29uc3QgY3RfZGF0YSAqKXN0YXRpY19sdHJlZSwKICAgICAgICAgICAgICAgICAgICAgICAgKGNvbnN0IGN0X2RhdGEgKilzdGF0aWNfZHRyZWUpOwotI2lmZGVmIERFQlVHCisjaWZkZWYgWkxJQl9ERUJVRwogICAgICAgICBzLT5jb21wcmVzc2VkX2xlbiArPSAzICsgcy0+c3RhdGljX2xlbjsKICNlbmRpZgogICAgIH0gZWxzZSB7Ci0gICAgICAgIHNlbmRfYml0cyhzLCAoRFlOX1RSRUVTPDwxKStsYXN0LCAzKTsKLSAgICAgICAgc2VuZF9hbGxfdHJlZXMocywgcy0+bF9kZXNjLm1heF9jb2RlKzEsIHMtPmRfZGVzYy5tYXhfY29kZSsxLAotICAgICAgICAgICAgICAgICAgICAgICBtYXhfYmxpbmRleCsxKTsKKyAgICAgICAgc2VuZF9iaXRzKHMsIChEWU5fVFJFRVM8PDEpICsgbGFzdCwgMyk7CisgICAgICAgIHNlbmRfYWxsX3RyZWVzKHMsIHMtPmxfZGVzYy5tYXhfY29kZSArIDEsIHMtPmRfZGVzYy5tYXhfY29kZSArIDEsCisgICAgICAgICAgICAgICAgICAgICAgIG1heF9ibGluZGV4ICsgMSk7CiAgICAgICAgIGNvbXByZXNzX2Jsb2NrKHMsIChjb25zdCBjdF9kYXRhICopcy0+ZHluX2x0cmVlLAogICAgICAgICAgICAgICAgICAgICAgICAoY29uc3QgY3RfZGF0YSAqKXMtPmR5bl9kdHJlZSk7Ci0jaWZkZWYgREVCVUcKKyNpZmRlZiBaTElCX0RFQlVHCiAgICAgICAgIHMtPmNvbXByZXNzZWRfbGVuICs9IDMgKyBzLT5vcHRfbGVuOwogI2VuZGlmCiAgICAgfQpAQCAtOTk1LDI1ICs5OTksMjYgQEAKIAogICAgIGlmIChsYXN0KSB7CiAgICAgICAgIGJpX3dpbmR1cChzKTsKLSNpZmRlZiBERUJVRworI2lmZGVmIFpMSUJfREVCVUcKICAgICAgICAgcy0+Y29tcHJlc3NlZF9sZW4gKz0gNzsgIC8qIGFsaWduIG9uIGJ5dGUgYm91bmRhcnkgKi8KICNlbmRpZgogICAgIH0KLSAgICBUcmFjZXYoKHN0ZGVyciwiXG5jb21wcmxlbiAlbHUoJWx1KSAiLCBzLT5jb21wcmVzc2VkX2xlbj4+MywKLSAgICAgICAgICAgcy0+Y29tcHJlc3NlZF9sZW4tNypsYXN0KSk7CisgICAgVHJhY2V2KChzdGRlcnIsIlxuY29tcHJsZW4gJWx1KCVsdSkgIiwgcy0+Y29tcHJlc3NlZF9sZW4gPj4gMywKKyAgICAgICAgICAgcy0+Y29tcHJlc3NlZF9sZW4gLSA3Kmxhc3QpKTsKIH0KIAogLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgKiBTYXZlIHRoZSBtYXRjaCBpbmZvIGFuZCB0YWxseSB0aGUgZnJlcXVlbmN5IGNvdW50cy4gUmV0dXJuIHRydWUgaWYKICAqIHRoZSBjdXJyZW50IGJsb2NrIG11c3QgYmUgZmx1c2hlZC4KICAqLwotaW50IFpMSUJfSU5URVJOQUwgX3RyX3RhbGx5IChzLCBkaXN0LCBsYykKK2ludCBaTElCX0lOVEVSTkFMIF90cl90YWxseShzLCBkaXN0LCBsYykKICAgICBkZWZsYXRlX3N0YXRlICpzOwogICAgIHVuc2lnbmVkIGRpc3Q7ICAvKiBkaXN0YW5jZSBvZiBtYXRjaGVkIHN0cmluZyAqLwotICAgIHVuc2lnbmVkIGxjOyAgICAvKiBtYXRjaCBsZW5ndGgtTUlOX01BVENIIG9yIHVubWF0Y2hlZCBjaGFyIChpZiBkaXN0PT0wKSAqLworICAgIHVuc2lnbmVkIGxjOyAgICAvKiBtYXRjaCBsZW5ndGggLSBNSU5fTUFUQ0ggb3IgdW5tYXRjaGVkIGNoYXIgKGRpc3Q9PTApICovCiB7Ci0gICAgcy0+ZF9idWZbcy0+bGFzdF9saXRdID0gKHVzaClkaXN0OwotICAgIHMtPmxfYnVmW3MtPmxhc3RfbGl0KytdID0gKHVjaClsYzsKKyAgICBzLT5zeW1fYnVmW3MtPnN5bV9uZXh0KytdID0gKHVjaClkaXN0OworICAgIHMtPnN5bV9idWZbcy0+c3ltX25leHQrK10gPSAodWNoKShkaXN0ID4+IDgpOworICAgIHMtPnN5bV9idWZbcy0+c3ltX25leHQrK10gPSAodWNoKWxjOwogICAgIGlmIChkaXN0ID09IDApIHsKICAgICAgICAgLyogbGMgaXMgdGhlIHVubWF0Y2hlZCBjaGFyICovCiAgICAgICAgIHMtPmR5bl9sdHJlZVtsY10uRnJlcSsrOwpAQCAtMTAyNSwzMyArMTAzMCwxMCBAQAogICAgICAgICAgICAgICAgKHVzaClsYyA8PSAodXNoKShNQVhfTUFUQ0gtTUlOX01BVENIKSAmJgogICAgICAgICAgICAgICAgKHVzaClkX2NvZGUoZGlzdCkgPCAodXNoKURfQ09ERVMsICAiX3RyX3RhbGx5OiBiYWQgbWF0Y2giKTsKIAotICAgICAgICBzLT5keW5fbHRyZWVbX2xlbmd0aF9jb2RlW2xjXStMSVRFUkFMUysxXS5GcmVxKys7CisgICAgICAgIHMtPmR5bl9sdHJlZVtfbGVuZ3RoX2NvZGVbbGNdICsgTElURVJBTFMgKyAxXS5GcmVxKys7CiAgICAgICAgIHMtPmR5bl9kdHJlZVtkX2NvZGUoZGlzdCldLkZyZXErKzsKICAgICB9Ci0KLSNpZmRlZiBUUlVOQ0FURV9CTE9DSwotICAgIC8qIFRyeSB0byBndWVzcyBpZiBpdCBpcyBwcm9maXRhYmxlIHRvIHN0b3AgdGhlIGN1cnJlbnQgYmxvY2sgaGVyZSAqLwotICAgIGlmICgocy0+bGFzdF9saXQgJiAweDFmZmYpID09IDAgJiYgcy0+bGV2ZWwgPiAyKSB7Ci0gICAgICAgIC8qIENvbXB1dGUgYW4gdXBwZXIgYm91bmQgZm9yIHRoZSBjb21wcmVzc2VkIGxlbmd0aCAqLwotICAgICAgICB1bGcgb3V0X2xlbmd0aCA9ICh1bGcpcy0+bGFzdF9saXQqOEw7Ci0gICAgICAgIHVsZyBpbl9sZW5ndGggPSAodWxnKSgobG9uZylzLT5zdHJzdGFydCAtIHMtPmJsb2NrX3N0YXJ0KTsKLSAgICAgICAgaW50IGRjb2RlOwotICAgICAgICBmb3IgKGRjb2RlID0gMDsgZGNvZGUgPCBEX0NPREVTOyBkY29kZSsrKSB7Ci0gICAgICAgICAgICBvdXRfbGVuZ3RoICs9ICh1bGcpcy0+ZHluX2R0cmVlW2Rjb2RlXS5GcmVxICoKLSAgICAgICAgICAgICAgICAoNUwrZXh0cmFfZGJpdHNbZGNvZGVdKTsKLSAgICAgICAgfQotICAgICAgICBvdXRfbGVuZ3RoID4+PSAzOwotICAgICAgICBUcmFjZXYoKHN0ZGVyciwiXG5sYXN0X2xpdCAldSwgaW4gJWxkLCBvdXQgfiVsZCglbGQlJSkgIiwKLSAgICAgICAgICAgICAgIHMtPmxhc3RfbGl0LCBpbl9sZW5ndGgsIG91dF9sZW5ndGgsCi0gICAgICAgICAgICAgICAxMDBMIC0gb3V0X2xlbmd0aCoxMDBML2luX2xlbmd0aCkpOwotICAgICAgICBpZiAocy0+bWF0Y2hlcyA8IHMtPmxhc3RfbGl0LzIgJiYgb3V0X2xlbmd0aCA8IGluX2xlbmd0aC8yKSByZXR1cm4gMTsKLSAgICB9Ci0jZW5kaWYKLSAgICByZXR1cm4gKHMtPmxhc3RfbGl0ID09IHMtPmxpdF9idWZzaXplLTEpOwotICAgIC8qIFdlIGF2b2lkIGVxdWFsaXR5IHdpdGggbGl0X2J1ZnNpemUgYmVjYXVzZSBvZiB3cmFwYXJvdW5kIGF0IDY0SwotICAgICAqIG9uIDE2IGJpdCBtYWNoaW5lcyBhbmQgYmVjYXVzZSBzdG9yZWQgYmxvY2tzIGFyZSByZXN0cmljdGVkIHRvCi0gICAgICogNjRLLTEgYnl0ZXMuCi0gICAgICovCisgICAgcmV0dXJuIChzLT5zeW1fbmV4dCA9PSBzLT5zeW1fZW5kKTsKIH0KIAogLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkBAIC0xMDY0LDIwICsxMDQ2LDIxIEBACiB7CiAgICAgdW5zaWduZWQgZGlzdDsgICAgICAvKiBkaXN0YW5jZSBvZiBtYXRjaGVkIHN0cmluZyAqLwogICAgIGludCBsYzsgICAgICAgICAgICAgLyogbWF0Y2ggbGVuZ3RoIG9yIHVubWF0Y2hlZCBjaGFyIChpZiBkaXN0ID09IDApICovCi0gICAgdW5zaWduZWQgbHggPSAwOyAgICAvKiBydW5uaW5nIGluZGV4IGluIGxfYnVmICovCisgICAgdW5zaWduZWQgc3ggPSAwOyAgICAvKiBydW5uaW5nIGluZGV4IGluIHN5bV9idWYgKi8KICAgICB1bnNpZ25lZCBjb2RlOyAgICAgIC8qIHRoZSBjb2RlIHRvIHNlbmQgKi8KICAgICBpbnQgZXh0cmE7ICAgICAgICAgIC8qIG51bWJlciBvZiBleHRyYSBiaXRzIHRvIHNlbmQgKi8KIAotICAgIGlmIChzLT5sYXN0X2xpdCAhPSAwKSBkbyB7Ci0gICAgICAgIGRpc3QgPSBzLT5kX2J1ZltseF07Ci0gICAgICAgIGxjID0gcy0+bF9idWZbbHgrK107CisgICAgaWYgKHMtPnN5bV9uZXh0ICE9IDApIGRvIHsKKyAgICAgICAgZGlzdCA9IHMtPnN5bV9idWZbc3grK10gJiAweGZmOworICAgICAgICBkaXN0ICs9ICh1bnNpZ25lZCkocy0+c3ltX2J1ZltzeCsrXSAmIDB4ZmYpIDw8IDg7CisgICAgICAgIGxjID0gcy0+c3ltX2J1ZltzeCsrXTsKICAgICAgICAgaWYgKGRpc3QgPT0gMCkgewogICAgICAgICAgICAgc2VuZF9jb2RlKHMsIGxjLCBsdHJlZSk7IC8qIHNlbmQgYSBsaXRlcmFsIGJ5dGUgKi8KICAgICAgICAgICAgIFRyYWNlY3YoaXNncmFwaChsYyksIChzdGRlcnIsIiAnJWMnICIsIGxjKSk7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAvKiBIZXJlLCBsYyBpcyB0aGUgbWF0Y2ggbGVuZ3RoIC0gTUlOX01BVENIICovCiAgICAgICAgICAgICBjb2RlID0gX2xlbmd0aF9jb2RlW2xjXTsKLSAgICAgICAgICAgIHNlbmRfY29kZShzLCBjb2RlK0xJVEVSQUxTKzEsIGx0cmVlKTsgLyogc2VuZCB0aGUgbGVuZ3RoIGNvZGUgKi8KKyAgICAgICAgICAgIHNlbmRfY29kZShzLCBjb2RlICsgTElURVJBTFMgKyAxLCBsdHJlZSk7ICAgLyogc2VuZCBsZW5ndGggY29kZSAqLwogICAgICAgICAgICAgZXh0cmEgPSBleHRyYV9sYml0c1tjb2RlXTsKICAgICAgICAgICAgIGlmIChleHRyYSAhPSAwKSB7CiAgICAgICAgICAgICAgICAgbGMgLT0gYmFzZV9sZW5ndGhbY29kZV07CkBAIC0xMDkwLDE2ICsxMDczLDE1IEBACiAgICAgICAgICAgICBzZW5kX2NvZGUocywgY29kZSwgZHRyZWUpOyAgICAgICAvKiBzZW5kIHRoZSBkaXN0YW5jZSBjb2RlICovCiAgICAgICAgICAgICBleHRyYSA9IGV4dHJhX2RiaXRzW2NvZGVdOwogICAgICAgICAgICAgaWYgKGV4dHJhICE9IDApIHsKLSAgICAgICAgICAgICAgICBkaXN0IC09IGJhc2VfZGlzdFtjb2RlXTsKKyAgICAgICAgICAgICAgICBkaXN0IC09ICh1bnNpZ25lZCliYXNlX2Rpc3RbY29kZV07CiAgICAgICAgICAgICAgICAgc2VuZF9iaXRzKHMsIGRpc3QsIGV4dHJhKTsgICAvKiBzZW5kIHRoZSBleHRyYSBkaXN0YW5jZSBiaXRzICovCiAgICAgICAgICAgICB9CiAgICAgICAgIH0gLyogbGl0ZXJhbCBvciBtYXRjaCBwYWlyID8gKi8KIAotICAgICAgICAvKiBDaGVjayB0aGF0IHRoZSBvdmVybGF5IGJldHdlZW4gcGVuZGluZ19idWYgYW5kIGRfYnVmK2xfYnVmIGlzIG9rOiAqLwotICAgICAgICBBc3NlcnQoKHVJbnQpKHMtPnBlbmRpbmcpIDwgcy0+bGl0X2J1ZnNpemUgKyAyKmx4LAotICAgICAgICAgICAgICAgInBlbmRpbmdCdWYgb3ZlcmZsb3ciKTsKKyAgICAgICAgLyogQ2hlY2sgdGhhdCB0aGUgb3ZlcmxheSBiZXR3ZWVuIHBlbmRpbmdfYnVmIGFuZCBzeW1fYnVmIGlzIG9rOiAqLworICAgICAgICBBc3NlcnQocy0+cGVuZGluZyA8IHMtPmxpdF9idWZzaXplICsgc3gsICJwZW5kaW5nQnVmIG92ZXJmbG93Iik7CiAKLSAgICB9IHdoaWxlIChseCA8IHMtPmxhc3RfbGl0KTsKKyAgICB9IHdoaWxlIChzeCA8IHMtPnN5bV9uZXh0KTsKIAogICAgIHNlbmRfY29kZShzLCBFTkRfQkxPQ0ssIGx0cmVlKTsKIH0KQEAgLTExMDgsOSArMTA5MCw5IEBACiAgKiBDaGVjayBpZiB0aGUgZGF0YSB0eXBlIGlzIFRFWFQgb3IgQklOQVJZLCB1c2luZyB0aGUgZm9sbG93aW5nIGFsZ29yaXRobToKICAqIC0gVEVYVCBpZiB0aGUgdHdvIGNvbmRpdGlvbnMgYmVsb3cgYXJlIHNhdGlzZmllZDoKICAqICAgIGEpIFRoZXJlIGFyZSBubyBub24tcG9ydGFibGUgY29udHJvbCBjaGFyYWN0ZXJzIGJlbG9uZ2luZyB0byB0aGUKLSAqICAgICAgICJibGFjayBsaXN0IiAoMC4uNiwgMTQuLjI1LCAyOC4uMzEpLgorICogICAgICAgImJsb2NrIGxpc3QiICgwLi42LCAxNC4uMjUsIDI4Li4zMSkuCiAgKiAgICBiKSBUaGVyZSBpcyBhdCBsZWFzdCBvbmUgcHJpbnRhYmxlIGNoYXJhY3RlciBiZWxvbmdpbmcgdG8gdGhlCi0gKiAgICAgICAid2hpdGUgbGlzdCIgKDkge1RBQn0sIDEwIHtMRn0sIDEzIHtDUn0sIDMyLi4yNTUpLgorICogICAgICAgImFsbG93IGxpc3QiICg5IHtUQUJ9LCAxMCB7TEZ9LCAxMyB7Q1J9LCAzMi4uMjU1KS4KICAqIC0gQklOQVJZIG90aGVyd2lzZS4KICAqIC0gVGhlIGZvbGxvd2luZyBwYXJ0aWFsbHktcG9ydGFibGUgY29udHJvbCBjaGFyYWN0ZXJzIGZvcm0gYQogICogICAiZ3JheSBsaXN0IiB0aGF0IGlzIGlnbm9yZWQgaW4gdGhpcyBkZXRlY3Rpb24gYWxnb3JpdGhtOgpAQCAtMTEyMCwxOSArMTEwMiwxOSBAQAogbG9jYWwgaW50IGRldGVjdF9kYXRhX3R5cGUocykKICAgICBkZWZsYXRlX3N0YXRlICpzOwogewotICAgIC8qIGJsYWNrX21hc2sgaXMgdGhlIGJpdCBtYXNrIG9mIGJsYWNrLWxpc3RlZCBieXRlcworICAgIC8qIGJsb2NrX21hc2sgaXMgdGhlIGJpdCBtYXNrIG9mIGJsb2NrLWxpc3RlZCBieXRlcwogICAgICAqIHNldCBiaXRzIDAuLjYsIDE0Li4yNSwgYW5kIDI4Li4zMQogICAgICAqIDB4ZjNmZmMwN2YgPSBiaW5hcnkgMTExMTAwMTExMTExMTExMTExMDAwMDAwMDExMTExMTEKICAgICAgKi8KLSAgICB1bnNpZ25lZCBsb25nIGJsYWNrX21hc2sgPSAweGYzZmZjMDdmVUw7CisgICAgdW5zaWduZWQgbG9uZyBibG9ja19tYXNrID0gMHhmM2ZmYzA3ZlVMOwogICAgIGludCBuOwogCi0gICAgLyogQ2hlY2sgZm9yIG5vbi10ZXh0dWFsICgiYmxhY2stbGlzdGVkIikgYnl0ZXMuICovCi0gICAgZm9yIChuID0gMDsgbiA8PSAzMTsgbisrLCBibGFja19tYXNrID4+PSAxKQotICAgICAgICBpZiAoKGJsYWNrX21hc2sgJiAxKSAmJiAocy0+ZHluX2x0cmVlW25dLkZyZXEgIT0gMCkpCisgICAgLyogQ2hlY2sgZm9yIG5vbi10ZXh0dWFsICgiYmxvY2stbGlzdGVkIikgYnl0ZXMuICovCisgICAgZm9yIChuID0gMDsgbiA8PSAzMTsgbisrLCBibG9ja19tYXNrID4+PSAxKQorICAgICAgICBpZiAoKGJsb2NrX21hc2sgJiAxKSAmJiAocy0+ZHluX2x0cmVlW25dLkZyZXEgIT0gMCkpCiAgICAgICAgICAgICByZXR1cm4gWl9CSU5BUlk7CiAKLSAgICAvKiBDaGVjayBmb3IgdGV4dHVhbCAoIndoaXRlLWxpc3RlZCIpIGJ5dGVzLiAqLworICAgIC8qIENoZWNrIGZvciB0ZXh0dWFsICgiYWxsb3ctbGlzdGVkIikgYnl0ZXMuICovCiAgICAgaWYgKHMtPmR5bl9sdHJlZVs5XS5GcmVxICE9IDAgfHwgcy0+ZHluX2x0cmVlWzEwXS5GcmVxICE9IDAKICAgICAgICAgICAgIHx8IHMtPmR5bl9sdHJlZVsxM10uRnJlcSAhPSAwKQogICAgICAgICByZXR1cm4gWl9URVhUOwpAQCAtMTE0MCw3ICsxMTIyLDcgQEAKICAgICAgICAgaWYgKHMtPmR5bl9sdHJlZVtuXS5GcmVxICE9IDApCiAgICAgICAgICAgICByZXR1cm4gWl9URVhUOwogCi0gICAgLyogVGhlcmUgYXJlIG5vICJibGFjay1saXN0ZWQiIG9yICJ3aGl0ZS1saXN0ZWQiIGJ5dGVzOgorICAgIC8qIFRoZXJlIGFyZSBubyAiYmxvY2stbGlzdGVkIiBvciAiYWxsb3ctbGlzdGVkIiBieXRlczoKICAgICAgKiB0aGlzIHN0cmVhbSBlaXRoZXIgaXMgZW1wdHkgb3IgaGFzIHRvbGVyYXRlZCAoImdyYXktbGlzdGVkIikgYnl0ZXMgb25seS4KICAgICAgKi8KICAgICByZXR1cm4gWl9CSU5BUlk7CkBAIC0xMTkzLDM0ICsxMTc1LDcgQEAKICAgICB9CiAgICAgcy0+YmlfYnVmID0gMDsKICAgICBzLT5iaV92YWxpZCA9IDA7Ci0jaWZkZWYgREVCVUcKLSAgICBzLT5iaXRzX3NlbnQgPSAocy0+Yml0c19zZW50KzcpICYgfjc7CisjaWZkZWYgWkxJQl9ERUJVRworICAgIHMtPmJpdHNfc2VudCA9IChzLT5iaXRzX3NlbnQgKyA3KSAmIH43OwogI2VuZGlmCiB9Ci0KLS8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotICogQ29weSBhIHN0b3JlZCBibG9jaywgc3RvcmluZyBmaXJzdCB0aGUgbGVuZ3RoIGFuZCBpdHMKLSAqIG9uZSdzIGNvbXBsZW1lbnQgaWYgcmVxdWVzdGVkLgotICovCi1sb2NhbCB2b2lkIGNvcHlfYmxvY2socywgYnVmLCBsZW4sIGhlYWRlcikKLSAgICBkZWZsYXRlX3N0YXRlICpzOwotICAgIGNoYXJmICAgICpidWY7ICAgIC8qIHRoZSBpbnB1dCBkYXRhICovCi0gICAgdW5zaWduZWQgbGVuOyAgICAgLyogaXRzIGxlbmd0aCAqLwotICAgIGludCAgICAgIGhlYWRlcjsgIC8qIHRydWUgaWYgYmxvY2sgaGVhZGVyIG11c3QgYmUgd3JpdHRlbiAqLwotewotICAgIGJpX3dpbmR1cChzKTsgICAgICAgIC8qIGFsaWduIG9uIGJ5dGUgYm91bmRhcnkgKi8KLQotICAgIGlmIChoZWFkZXIpIHsKLSAgICAgICAgcHV0X3Nob3J0KHMsICh1c2gpbGVuKTsKLSAgICAgICAgcHV0X3Nob3J0KHMsICh1c2gpfmxlbik7Ci0jaWZkZWYgREVCVUcKLSAgICAgICAgcy0+Yml0c19zZW50ICs9IDIqMTY7Ci0jZW5kaWYKLSAgICB9Ci0jaWZkZWYgREVCVUcKLSAgICBzLT5iaXRzX3NlbnQgKz0gKHVsZylsZW48PDM7Ci0jZW5kaWYKLSAgICB3aGlsZSAobGVuLS0pIHsKLSAgICAgICAgcHV0X2J5dGUocywgKmJ1ZisrKTsKLSAgICB9Ci19CmRpZmYgLS1naXQgYS9zcmMvdW5jb21wci5jIGIvc3JjL3VuY29tcHIuYwppbmRleCAyNDJlOTQ5Li5mOTUzMmY0IDEwMDY0NAotLS0gYS9zcmMvdW5jb21wci5jCisrKyBiL3NyYy91bmNvbXByLmMKQEAgLTEsNSArMSw1IEBACiAvKiB1bmNvbXByLmMgLS0gZGVjb21wcmVzcyBhIG1lbW9yeSBidWZmZXIKLSAqIENvcHlyaWdodCAoQykgMTk5NS0yMDAzLCAyMDEwIEplYW4tbG91cCBHYWlsbHkuCisgKiBDb3B5cmlnaHQgKEMpIDE5OTUtMjAwMywgMjAxMCwgMjAxNCwgMjAxNiBKZWFuLWxvdXAgR2FpbGx5LCBNYXJrIEFkbGVyCiAgKiBGb3IgY29uZGl0aW9ucyBvZiBkaXN0cmlidXRpb24gYW5kIHVzZSwgc2VlIGNvcHlyaWdodCBub3RpY2UgaW4gemxpYi5oCiAgKi8KIApAQCAtOSw1MSArOSw4NSBAQAogI2luY2x1ZGUgInpsaWIuaCIKIAogLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0gICAgIERlY29tcHJlc3NlcyB0aGUgc291cmNlIGJ1ZmZlciBpbnRvIHRoZSBkZXN0aW5hdGlvbiBidWZmZXIuICBzb3VyY2VMZW4gaXMKLSAgIHRoZSBieXRlIGxlbmd0aCBvZiB0aGUgc291cmNlIGJ1ZmZlci4gVXBvbiBlbnRyeSwgZGVzdExlbiBpcyB0aGUgdG90YWwKLSAgIHNpemUgb2YgdGhlIGRlc3RpbmF0aW9uIGJ1ZmZlciwgd2hpY2ggbXVzdCBiZSBsYXJnZSBlbm91Z2ggdG8gaG9sZCB0aGUKLSAgIGVudGlyZSB1bmNvbXByZXNzZWQgZGF0YS4gKFRoZSBzaXplIG9mIHRoZSB1bmNvbXByZXNzZWQgZGF0YSBtdXN0IGhhdmUKLSAgIGJlZW4gc2F2ZWQgcHJldmlvdXNseSBieSB0aGUgY29tcHJlc3NvciBhbmQgdHJhbnNtaXR0ZWQgdG8gdGhlIGRlY29tcHJlc3NvcgotICAgYnkgc29tZSBtZWNoYW5pc20gb3V0c2lkZSB0aGUgc2NvcGUgb2YgdGhpcyBjb21wcmVzc2lvbiBsaWJyYXJ5LikKLSAgIFVwb24gZXhpdCwgZGVzdExlbiBpcyB0aGUgYWN0dWFsIHNpemUgb2YgdGhlIGNvbXByZXNzZWQgYnVmZmVyLgorICAgICBEZWNvbXByZXNzZXMgdGhlIHNvdXJjZSBidWZmZXIgaW50byB0aGUgZGVzdGluYXRpb24gYnVmZmVyLiAgKnNvdXJjZUxlbiBpcworICAgdGhlIGJ5dGUgbGVuZ3RoIG9mIHRoZSBzb3VyY2UgYnVmZmVyLiBVcG9uIGVudHJ5LCAqZGVzdExlbiBpcyB0aGUgdG90YWwgc2l6ZQorICAgb2YgdGhlIGRlc3RpbmF0aW9uIGJ1ZmZlciwgd2hpY2ggbXVzdCBiZSBsYXJnZSBlbm91Z2ggdG8gaG9sZCB0aGUgZW50aXJlCisgICB1bmNvbXByZXNzZWQgZGF0YS4gKFRoZSBzaXplIG9mIHRoZSB1bmNvbXByZXNzZWQgZGF0YSBtdXN0IGhhdmUgYmVlbiBzYXZlZAorICAgcHJldmlvdXNseSBieSB0aGUgY29tcHJlc3NvciBhbmQgdHJhbnNtaXR0ZWQgdG8gdGhlIGRlY29tcHJlc3NvciBieSBzb21lCisgICBtZWNoYW5pc20gb3V0c2lkZSB0aGUgc2NvcGUgb2YgdGhpcyBjb21wcmVzc2lvbiBsaWJyYXJ5LikgVXBvbiBleGl0LAorICAgKmRlc3RMZW4gaXMgdGhlIHNpemUgb2YgdGhlIGRlY29tcHJlc3NlZCBkYXRhIGFuZCAqc291cmNlTGVuIGlzIHRoZSBudW1iZXIKKyAgIG9mIHNvdXJjZSBieXRlcyBjb25zdW1lZC4gVXBvbiByZXR1cm4sIHNvdXJjZSArICpzb3VyY2VMZW4gcG9pbnRzIHRvIHRoZQorICAgZmlyc3QgdW51c2VkIGlucHV0IGJ5dGUuCiAKLSAgICAgdW5jb21wcmVzcyByZXR1cm5zIFpfT0sgaWYgc3VjY2VzcywgWl9NRU1fRVJST1IgaWYgdGhlcmUgd2FzIG5vdAotICAgZW5vdWdoIG1lbW9yeSwgWl9CVUZfRVJST1IgaWYgdGhlcmUgd2FzIG5vdCBlbm91Z2ggcm9vbSBpbiB0aGUgb3V0cHV0Ci0gICBidWZmZXIsIG9yIFpfREFUQV9FUlJPUiBpZiB0aGUgaW5wdXQgZGF0YSB3YXMgY29ycnVwdGVkLgorICAgICB1bmNvbXByZXNzIHJldHVybnMgWl9PSyBpZiBzdWNjZXNzLCBaX01FTV9FUlJPUiBpZiB0aGVyZSB3YXMgbm90IGVub3VnaAorICAgbWVtb3J5LCBaX0JVRl9FUlJPUiBpZiB0aGVyZSB3YXMgbm90IGVub3VnaCByb29tIGluIHRoZSBvdXRwdXQgYnVmZmVyLCBvcgorICAgWl9EQVRBX0VSUk9SIGlmIHRoZSBpbnB1dCBkYXRhIHdhcyBjb3JydXB0ZWQsIGluY2x1ZGluZyBpZiB0aGUgaW5wdXQgZGF0YSBpcworICAgYW4gaW5jb21wbGV0ZSB6bGliIHN0cmVhbS4KICovCi1pbnQgWkVYUE9SVCB1bmNvbXByZXNzIChkZXN0LCBkZXN0TGVuLCBzb3VyY2UsIHNvdXJjZUxlbikKK2ludCBaRVhQT1JUIHVuY29tcHJlc3MyKGRlc3QsIGRlc3RMZW4sIHNvdXJjZSwgc291cmNlTGVuKQorICAgIEJ5dGVmICpkZXN0OworICAgIHVMb25nZiAqZGVzdExlbjsKKyAgICBjb25zdCBCeXRlZiAqc291cmNlOworICAgIHVMb25nICpzb3VyY2VMZW47Cit7CisgICAgel9zdHJlYW0gc3RyZWFtOworICAgIGludCBlcnI7CisgICAgY29uc3QgdUludCBtYXggPSAodUludCktMTsKKyAgICB1TG9uZyBsZW4sIGxlZnQ7CisgICAgQnl0ZSBidWZbMV07ICAgIC8qIGZvciBkZXRlY3Rpb24gb2YgaW5jb21wbGV0ZSBzdHJlYW0gd2hlbiAqZGVzdExlbiA9PSAwICovCisKKyAgICBsZW4gPSAqc291cmNlTGVuOworICAgIGlmICgqZGVzdExlbikgeworICAgICAgICBsZWZ0ID0gKmRlc3RMZW47CisgICAgICAgICpkZXN0TGVuID0gMDsKKyAgICB9CisgICAgZWxzZSB7CisgICAgICAgIGxlZnQgPSAxOworICAgICAgICBkZXN0ID0gYnVmOworICAgIH0KKworICAgIHN0cmVhbS5uZXh0X2luID0gKHpfY29uc3QgQnl0ZWYgKilzb3VyY2U7CisgICAgc3RyZWFtLmF2YWlsX2luID0gMDsKKyAgICBzdHJlYW0uemFsbG9jID0gKGFsbG9jX2Z1bmMpMDsKKyAgICBzdHJlYW0uemZyZWUgPSAoZnJlZV9mdW5jKTA7CisgICAgc3RyZWFtLm9wYXF1ZSA9ICh2b2lkcGYpMDsKKworICAgIGVyciA9IGluZmxhdGVJbml0KCZzdHJlYW0pOworICAgIGlmIChlcnIgIT0gWl9PSykgcmV0dXJuIGVycjsKKworICAgIHN0cmVhbS5uZXh0X291dCA9IGRlc3Q7CisgICAgc3RyZWFtLmF2YWlsX291dCA9IDA7CisKKyAgICBkbyB7CisgICAgICAgIGlmIChzdHJlYW0uYXZhaWxfb3V0ID09IDApIHsKKyAgICAgICAgICAgIHN0cmVhbS5hdmFpbF9vdXQgPSBsZWZ0ID4gKHVMb25nKW1heCA/IG1heCA6ICh1SW50KWxlZnQ7CisgICAgICAgICAgICBsZWZ0IC09IHN0cmVhbS5hdmFpbF9vdXQ7CisgICAgICAgIH0KKyAgICAgICAgaWYgKHN0cmVhbS5hdmFpbF9pbiA9PSAwKSB7CisgICAgICAgICAgICBzdHJlYW0uYXZhaWxfaW4gPSBsZW4gPiAodUxvbmcpbWF4ID8gbWF4IDogKHVJbnQpbGVuOworICAgICAgICAgICAgbGVuIC09IHN0cmVhbS5hdmFpbF9pbjsKKyAgICAgICAgfQorICAgICAgICBlcnIgPSBpbmZsYXRlKCZzdHJlYW0sIFpfTk9fRkxVU0gpOworICAgIH0gd2hpbGUgKGVyciA9PSBaX09LKTsKKworICAgICpzb3VyY2VMZW4gLT0gbGVuICsgc3RyZWFtLmF2YWlsX2luOworICAgIGlmIChkZXN0ICE9IGJ1ZikKKyAgICAgICAgKmRlc3RMZW4gPSBzdHJlYW0udG90YWxfb3V0OworICAgIGVsc2UgaWYgKHN0cmVhbS50b3RhbF9vdXQgJiYgZXJyID09IFpfQlVGX0VSUk9SKQorICAgICAgICBsZWZ0ID0gMTsKKworICAgIGluZmxhdGVFbmQoJnN0cmVhbSk7CisgICAgcmV0dXJuIGVyciA9PSBaX1NUUkVBTV9FTkQgPyBaX09LIDoKKyAgICAgICAgICAgZXJyID09IFpfTkVFRF9ESUNUID8gWl9EQVRBX0VSUk9SICA6CisgICAgICAgICAgIGVyciA9PSBaX0JVRl9FUlJPUiAmJiBsZWZ0ICsgc3RyZWFtLmF2YWlsX291dCA/IFpfREFUQV9FUlJPUiA6CisgICAgICAgICAgIGVycjsKK30KKworaW50IFpFWFBPUlQgdW5jb21wcmVzcyhkZXN0LCBkZXN0TGVuLCBzb3VyY2UsIHNvdXJjZUxlbikKICAgICBCeXRlZiAqZGVzdDsKICAgICB1TG9uZ2YgKmRlc3RMZW47CiAgICAgY29uc3QgQnl0ZWYgKnNvdXJjZTsKICAgICB1TG9uZyBzb3VyY2VMZW47CiB7Ci0gICAgel9zdHJlYW0gc3RyZWFtOwotICAgIGludCBlcnI7Ci0KLSAgICBzdHJlYW0ubmV4dF9pbiA9ICh6X2NvbnN0IEJ5dGVmICopc291cmNlOwotICAgIHN0cmVhbS5hdmFpbF9pbiA9ICh1SW50KXNvdXJjZUxlbjsKLSAgICAvKiBDaGVjayBmb3Igc291cmNlID4gNjRLIG9uIDE2LWJpdCBtYWNoaW5lOiAqLwotICAgIGlmICgodUxvbmcpc3RyZWFtLmF2YWlsX2luICE9IHNvdXJjZUxlbikgcmV0dXJuIFpfQlVGX0VSUk9SOwotCi0gICAgc3RyZWFtLm5leHRfb3V0ID0gZGVzdDsKLSAgICBzdHJlYW0uYXZhaWxfb3V0ID0gKHVJbnQpKmRlc3RMZW47Ci0gICAgaWYgKCh1TG9uZylzdHJlYW0uYXZhaWxfb3V0ICE9ICpkZXN0TGVuKSByZXR1cm4gWl9CVUZfRVJST1I7Ci0KLSAgICBzdHJlYW0uemFsbG9jID0gKGFsbG9jX2Z1bmMpMDsKLSAgICBzdHJlYW0uemZyZWUgPSAoZnJlZV9mdW5jKTA7Ci0KLSAgICBlcnIgPSBpbmZsYXRlSW5pdCgmc3RyZWFtKTsKLSAgICBpZiAoZXJyICE9IFpfT0spIHJldHVybiBlcnI7Ci0KLSAgICBlcnIgPSBpbmZsYXRlKCZzdHJlYW0sIFpfRklOSVNIKTsKLSAgICBpZiAoZXJyICE9IFpfU1RSRUFNX0VORCkgewotICAgICAgICBpbmZsYXRlRW5kKCZzdHJlYW0pOwotICAgICAgICBpZiAoZXJyID09IFpfTkVFRF9ESUNUIHx8IChlcnIgPT0gWl9CVUZfRVJST1IgJiYgc3RyZWFtLmF2YWlsX2luID09IDApKQotICAgICAgICAgICAgcmV0dXJuIFpfREFUQV9FUlJPUjsKLSAgICAgICAgcmV0dXJuIGVycjsKLSAgICB9Ci0gICAgKmRlc3RMZW4gPSBzdHJlYW0udG90YWxfb3V0OwotCi0gICAgZXJyID0gaW5mbGF0ZUVuZCgmc3RyZWFtKTsKLSAgICByZXR1cm4gZXJyOworICAgIHJldHVybiB1bmNvbXByZXNzMihkZXN0LCBkZXN0TGVuLCBzb3VyY2UsICZzb3VyY2VMZW4pOwogfQpkaWZmIC0tZ2l0IGEvc3JjL3dpbjMyL01ha2VmaWxlLmJvciBiL3NyYy93aW4zMi9NYWtlZmlsZS5ib3IKaW5kZXggZDE1MmJiYi4uNDQ5NTM1MyAxMDA2NDQKLS0tIGEvc3JjL3dpbjMyL01ha2VmaWxlLmJvcgorKysgYi9zcmMvd2luMzIvTWFrZWZpbGUuYm9yCkBAIC0zLDcgKzMsNiBAQAogIwogIyBVc2FnZToKICMgIG1ha2UgLWYgd2luMzIvTWFrZWZpbGUuYm9yCi0jICBtYWtlIC1mIHdpbjMyL01ha2VmaWxlLmJvciBMT0NBTF9aTElCPS1EQVNNViBPQkpBPW1hdGNoLm9iaiBPQkpQQT0rbWF0Y2gub2JqCiAKICMgLS0tLS0tLS0tLS0tIEJvcmxhbmQgQysrIC0tLS0tLS0tLS0tLQogCmRpZmYgLS1naXQgYS9zcmMvd2luMzIvTWFrZWZpbGUuZ2NjIGIvc3JjL3dpbjMyL01ha2VmaWxlLmdjYwppbmRleCA2ZDFkZWQ2Li4wODFlMzkxIDEwMDY0NAotLS0gYS9zcmMvd2luMzIvTWFrZWZpbGUuZ2NjCisrKyBiL3NyYy93aW4zMi9NYWtlZmlsZS5nY2MKQEAgLTExLDEwICsxMSw2IEBACiAjCiAjICAgbWFrZSAtZndpbjMyL01ha2VmaWxlLmdjYzsgIG1ha2UgdGVzdCB0ZXN0ZGxsIC1md2luMzIvTWFrZWZpbGUuZ2NjCiAjCi0jIFRvIHVzZSB0aGUgYXNtIGNvZGUsIHR5cGU6Ci0jICAgY3AgY29udHJpYi9hc20/ODYvbWF0Y2guUyAuL21hdGNoLlMKLSMgICBtYWtlIExPQz0tREFTTVYgT0JKQT1tYXRjaC5vIC1md2luMzIvTWFrZWZpbGUuZ2NjCi0jCiAjIFRvIGluc3RhbGwgbGliei5hLCB6Y29uZi5oIGFuZCB6bGliLmggaW4gdGhlIHN5c3RlbSBkaXJlY3RvcmllcywgdHlwZToKICMKICMgICBtYWtlIGluc3RhbGwgLWZ3aW4zMi9NYWtlZmlsZS5nY2MKQEAgLTM4LDggKzM0LDcgQEAKICMKIFNIQVJFRF9NT0RFPTAKIAotI0xPQyA9IC1EQVNNVgotI0xPQyA9IC1EREVCVUcgLWcKKyNMT0MgPSAtRFpMSUJfREVCVUcgLWcKIAogUFJFRklYID0KIENDID0gJChQUkVGSVgpZ2NjCmRpZmYgLS1naXQgYS9zcmMvd2luMzIvTWFrZWZpbGUubXNjIGIvc3JjL3dpbjMyL01ha2VmaWxlLm1zYwppbmRleCA2N2I3NzMxLi45YzY1MTUzIDEwMDY0NAotLS0gYS9zcmMvd2luMzIvTWFrZWZpbGUubXNjCisrKyBiL3NyYy93aW4zMi9NYWtlZmlsZS5tc2MKQEAgLTEsMTMgKzEsOSBAQAogIyBNYWtlZmlsZSBmb3IgemxpYiB1c2luZyBNaWNyb3NvZnQgKFZpc3VhbCkgQwotIyB6bGliIGlzIGNvcHlyaWdodCAoQykgMTk5NS0yMDA2IEplYW4tbG91cCBHYWlsbHkgYW5kIE1hcmsgQWRsZXIKKyMgemxpYiBpcyBjb3B5cmlnaHQgKEMpIDE5OTUtMjAxNyBKZWFuLWxvdXAgR2FpbGx5IGFuZCBNYXJrIEFkbGVyCiAjCiAjIFVzYWdlOgogIyAgIG5tYWtlIC1mIHdpbjMyL01ha2VmaWxlLm1zYyAgICAgICAgICAgICAgICAgICAgICAgICAgKHN0YW5kYXJkIGJ1aWxkKQogIyAgIG5tYWtlIC1mIHdpbjMyL01ha2VmaWxlLm1zYyBMT0M9LURGT08gICAgICAgICAgICAgICAgKG5vbnN0YW5kYXJkIGJ1aWxkKQotIyAgIG5tYWtlIC1mIHdpbjMyL01ha2VmaWxlLm1zYyBMT0M9Ii1EQVNNViAtREFTTUlORiIgXAotIyAgICAgICAgIE9CSkE9ImluZmZhczMyLm9iaiBtYXRjaDY4Ni5vYmoiICAgICAgICAgICAgICAgKHVzZSBBU00gY29kZSwgeDg2KQotIyAgIG5tYWtlIC1mIHdpbjMyL01ha2VmaWxlLm1zYyBBUz1tbDY0IExPQz0iLURBU01WIC1EQVNNSU5GIC1JLiIgXAotIyAgICAgICAgIE9CSkE9ImluZmZhc3g2NC5vYmogZ3ZtYXQ2NC5vYmogaW5mZmFzODY2NC5vYmoiICAodXNlIEFTTSBjb2RlLCB4NjQpCiAKICMgVGhlIHRvcGxldmVsIGRpcmVjdG9yeSBvZiB0aGUgc291cmNlIHRyZWUuCiAjCmRpZmYgLS1naXQgYS9zcmMvd2luMzIvUkVBRE1FLVdJTjMyLnR4dCBiL3NyYy93aW4zMi9SRUFETUUtV0lOMzIudHh0CmluZGV4IDNkNzdkNTIuLjA1MDE5N2QgMTAwNjQ0Ci0tLSBhL3NyYy93aW4zMi9SRUFETUUtV0lOMzIudHh0CisrKyBiL3NyYy93aW4zMi9SRUFETUUtV0lOMzIudHh0CkBAIC0xLDYgKzEsNiBAQAogWkxJQiBEQVRBIENPTVBSRVNTSU9OIExJQlJBUlkKIAotemxpYiAxLjIuOCBpcyBhIGdlbmVyYWwgcHVycG9zZSBkYXRhIGNvbXByZXNzaW9uIGxpYnJhcnkuICBBbGwgdGhlIGNvZGUgaXMKK3psaWIgMS4yLjEzIGlzIGEgZ2VuZXJhbCBwdXJwb3NlIGRhdGEgY29tcHJlc3Npb24gbGlicmFyeS4gIEFsbCB0aGUgY29kZSBpcwogdGhyZWFkIHNhZmUuICBUaGUgZGF0YSBmb3JtYXQgdXNlZCBieSB0aGUgemxpYiBsaWJyYXJ5IGlzIGRlc2NyaWJlZCBieSBSRkNzCiAoUmVxdWVzdCBmb3IgQ29tbWVudHMpIDE5NTAgdG8gMTk1MiBpbiB0aGUgZmlsZXMKIGh0dHA6Ly93d3cuaWV0Zi5vcmcvcmZjL3JmYzE5NTAudHh0ICh6bGliIGZvcm1hdCksIHJmYzE5NTEudHh0IChkZWZsYXRlIGZvcm1hdCkKQEAgLTIyLDcgKzIyLDcgQEAKIAogTWFuaWZlc3Q6CiAKLVRoZSBwYWNrYWdlIHpsaWItMS4yLjgtd2luMzIteDg2LnppcCB3aWxsIGNvbnRhaW4gdGhlIGZvbGxvd2luZyBmaWxlczoKK1RoZSBwYWNrYWdlIHpsaWItMS4yLjEzLXdpbjMyLXg4Ni56aXAgd2lsbCBjb250YWluIHRoZSBmb2xsb3dpbmcgZmlsZXM6CiAKICAgUkVBRE1FLVdJTjMyLnR4dCBUaGlzIGRvY3VtZW50CiAgIENoYW5nZUxvZyAgICAgICAgQ2hhbmdlcyBzaW5jZSBwcmV2aW91cyB6bGliIHBhY2thZ2VzCkBAIC03Miw3ICs3Miw3IEBACiAKIENvcHlyaWdodCBub3RpY2U6CiAKLSAgKEMpIDE5OTUtMjAxMiBKZWFuLWxvdXAgR2FpbGx5IGFuZCBNYXJrIEFkbGVyCisgIChDKSAxOTk1LTIwMTcgSmVhbi1sb3VwIEdhaWxseSBhbmQgTWFyayBBZGxlcgogCiAgIFRoaXMgc29mdHdhcmUgaXMgcHJvdmlkZWQgJ2FzLWlzJywgd2l0aG91dCBhbnkgZXhwcmVzcyBvciBpbXBsaWVkCiAgIHdhcnJhbnR5LiAgSW4gbm8gZXZlbnQgd2lsbCB0aGUgYXV0aG9ycyBiZSBoZWxkIGxpYWJsZSBmb3IgYW55IGRhbWFnZXMKZGlmZiAtLWdpdCBhL3NyYy93aW4zMi9WaXN1YWxDLnR4dCBiL3NyYy93aW4zMi9WaXN1YWxDLnR4dAppbmRleCA1NzlhNWZjLi4xMDA1YjIxIDEwMDY0NAotLS0gYS9zcmMvd2luMzIvVmlzdWFsQy50eHQKKysrIGIvc3JjL3dpbjMyL1Zpc3VhbEMudHh0CkBAIC0xLDMgKzEsMyBAQAogCiBUbyBidWlsZCB6bGliIHVzaW5nIHRoZSBNaWNyb3NvZnQgVmlzdWFsIEMrKyBlbnZpcm9ubWVudCwKLXVzZSB0aGUgYXBwcm9wcmlhdGUgcHJvamVjdCBmcm9tIHRoZSBwcm9qZWN0cy8gZGlyZWN0b3J5LgordXNlIHRoZSBhcHByb3ByaWF0ZSBwcm9qZWN0IGZyb20gdGhlIGNvbnRyaWIvdnN0dWRpby8gZGlyZWN0b3J5LgpkaWZmIC0tZ2l0IGEvc3JjL3dpbjMyL3psaWIuZGVmIGIvc3JjL3dpbjMyL3psaWIuZGVmCmluZGV4IGZhY2U2NTUuLjUzYzgwMTEgMTAwNjQ0Ci0tLSBhL3NyYy93aW4zMi96bGliLmRlZgorKysgYi9zcmMvd2luMzIvemxpYi5kZWYKQEAgLTEsODYgKzEsOTcgQEAKLTsgemxpYiBkYXRhIGNvbXByZXNzaW9uIGxpYnJhcnkKLUVYUE9SVFMKLTsgYmFzaWMgZnVuY3Rpb25zCi0gICAgemxpYlZlcnNpb24KLSAgICBkZWZsYXRlCi0gICAgZGVmbGF0ZUVuZAotICAgIGluZmxhdGUKLSAgICBpbmZsYXRlRW5kCi07IGFkdmFuY2VkIGZ1bmN0aW9ucwotICAgIGRlZmxhdGVTZXREaWN0aW9uYXJ5Ci0gICAgZGVmbGF0ZUNvcHkKLSAgICBkZWZsYXRlUmVzZXQKLSAgICBkZWZsYXRlUGFyYW1zCi0gICAgZGVmbGF0ZVR1bmUKLSAgICBkZWZsYXRlQm91bmQKLSAgICBkZWZsYXRlUGVuZGluZwotICAgIGRlZmxhdGVQcmltZQotICAgIGRlZmxhdGVTZXRIZWFkZXIKLSAgICBpbmZsYXRlU2V0RGljdGlvbmFyeQotICAgIGluZmxhdGVHZXREaWN0aW9uYXJ5Ci0gICAgaW5mbGF0ZVN5bmMKLSAgICBpbmZsYXRlQ29weQotICAgIGluZmxhdGVSZXNldAotICAgIGluZmxhdGVSZXNldDIKLSAgICBpbmZsYXRlUHJpbWUKLSAgICBpbmZsYXRlTWFyawotICAgIGluZmxhdGVHZXRIZWFkZXIKLSAgICBpbmZsYXRlQmFjawotICAgIGluZmxhdGVCYWNrRW5kCi0gICAgemxpYkNvbXBpbGVGbGFncwotOyB1dGlsaXR5IGZ1bmN0aW9ucwotICAgIGNvbXByZXNzCi0gICAgY29tcHJlc3MyCi0gICAgY29tcHJlc3NCb3VuZAotICAgIHVuY29tcHJlc3MKLSAgICBnem9wZW4KLSAgICBnemRvcGVuCi0gICAgZ3pidWZmZXIKLSAgICBnenNldHBhcmFtcwotICAgIGd6cmVhZAotICAgIGd6d3JpdGUKLSAgICBnenByaW50ZgotICAgIGd6dnByaW50ZgotICAgIGd6cHV0cwotICAgIGd6Z2V0cwotICAgIGd6cHV0YwotICAgIGd6Z2V0YwotICAgIGd6dW5nZXRjCi0gICAgZ3pmbHVzaAotICAgIGd6c2VlawotICAgIGd6cmV3aW5kCi0gICAgZ3p0ZWxsCi0gICAgZ3pvZmZzZXQKLSAgICBnemVvZgotICAgIGd6ZGlyZWN0Ci0gICAgZ3pjbG9zZQotICAgIGd6Y2xvc2VfcgotICAgIGd6Y2xvc2VfdwotICAgIGd6ZXJyb3IKLSAgICBnemNsZWFyZXJyCi07IGxhcmdlIGZpbGUgZnVuY3Rpb25zCi0gICAgZ3pvcGVuNjQKLSAgICBnenNlZWs2NAotICAgIGd6dGVsbDY0Ci0gICAgZ3pvZmZzZXQ2NAotICAgIGFkbGVyMzJfY29tYmluZTY0Ci0gICAgY3JjMzJfY29tYmluZTY0Ci07IGNoZWNrc3VtIGZ1bmN0aW9ucwotICAgIGFkbGVyMzIKLSAgICBjcmMzMgotICAgIGFkbGVyMzJfY29tYmluZQotICAgIGNyYzMyX2NvbWJpbmUKLTsgdmFyaW91cyBoYWNrcywgZG9uJ3QgbG9vayA6KQotICAgIGRlZmxhdGVJbml0XwotICAgIGRlZmxhdGVJbml0Ml8KLSAgICBpbmZsYXRlSW5pdF8KLSAgICBpbmZsYXRlSW5pdDJfCi0gICAgaW5mbGF0ZUJhY2tJbml0XwotICAgIGd6Z2V0Y18KLSAgICB6RXJyb3IKLSAgICBpbmZsYXRlU3luY1BvaW50Ci0gICAgZ2V0X2NyY190YWJsZQotICAgIGluZmxhdGVVbmRlcm1pbmUKLSAgICBpbmZsYXRlUmVzZXRLZWVwCi0gICAgZGVmbGF0ZVJlc2V0S2VlcAotICAgIGd6b3Blbl93Cis7IHpsaWIgZGF0YSBjb21wcmVzc2lvbiBsaWJyYXJ5DQorRVhQT1JUUw0KKzsgYmFzaWMgZnVuY3Rpb25zDQorICAgIHpsaWJWZXJzaW9uDQorICAgIGRlZmxhdGUNCisgICAgZGVmbGF0ZUVuZA0KKyAgICBpbmZsYXRlDQorICAgIGluZmxhdGVFbmQNCis7IGFkdmFuY2VkIGZ1bmN0aW9ucw0KKyAgICBkZWZsYXRlU2V0RGljdGlvbmFyeQ0KKyAgICBkZWZsYXRlR2V0RGljdGlvbmFyeQ0KKyAgICBkZWZsYXRlQ29weQ0KKyAgICBkZWZsYXRlUmVzZXQNCisgICAgZGVmbGF0ZVBhcmFtcw0KKyAgICBkZWZsYXRlVHVuZQ0KKyAgICBkZWZsYXRlQm91bmQNCisgICAgZGVmbGF0ZVBlbmRpbmcNCisgICAgZGVmbGF0ZVByaW1lDQorICAgIGRlZmxhdGVTZXRIZWFkZXINCisgICAgaW5mbGF0ZVNldERpY3Rpb25hcnkNCisgICAgaW5mbGF0ZUdldERpY3Rpb25hcnkNCisgICAgaW5mbGF0ZVN5bmMNCisgICAgaW5mbGF0ZUNvcHkNCisgICAgaW5mbGF0ZVJlc2V0DQorICAgIGluZmxhdGVSZXNldDINCisgICAgaW5mbGF0ZVByaW1lDQorICAgIGluZmxhdGVNYXJrDQorICAgIGluZmxhdGVHZXRIZWFkZXINCisgICAgaW5mbGF0ZUJhY2sNCisgICAgaW5mbGF0ZUJhY2tFbmQNCisgICAgemxpYkNvbXBpbGVGbGFncw0KKzsgdXRpbGl0eSBmdW5jdGlvbnMNCisgICAgY29tcHJlc3MNCisgICAgY29tcHJlc3MyDQorICAgIGNvbXByZXNzQm91bmQNCisgICAgdW5jb21wcmVzcw0KKyAgICB1bmNvbXByZXNzMg0KKyAgICBnem9wZW4NCisgICAgZ3pkb3Blbg0KKyAgICBnemJ1ZmZlcg0KKyAgICBnenNldHBhcmFtcw0KKyAgICBnenJlYWQNCisgICAgZ3pmcmVhZA0KKyAgICBnendyaXRlDQorICAgIGd6ZndyaXRlDQorICAgIGd6cHJpbnRmDQorICAgIGd6dnByaW50Zg0KKyAgICBnenB1dHMNCisgICAgZ3pnZXRzDQorICAgIGd6cHV0Yw0KKyAgICBnemdldGMNCisgICAgZ3p1bmdldGMNCisgICAgZ3pmbHVzaA0KKyAgICBnenNlZWsNCisgICAgZ3pyZXdpbmQNCisgICAgZ3p0ZWxsDQorICAgIGd6b2Zmc2V0DQorICAgIGd6ZW9mDQorICAgIGd6ZGlyZWN0DQorICAgIGd6Y2xvc2UNCisgICAgZ3pjbG9zZV9yDQorICAgIGd6Y2xvc2Vfdw0KKyAgICBnemVycm9yDQorICAgIGd6Y2xlYXJlcnINCis7IGxhcmdlIGZpbGUgZnVuY3Rpb25zDQorICAgIGd6b3BlbjY0DQorICAgIGd6c2VlazY0DQorICAgIGd6dGVsbDY0DQorICAgIGd6b2Zmc2V0NjQNCisgICAgYWRsZXIzMl9jb21iaW5lNjQNCisgICAgY3JjMzJfY29tYmluZTY0DQorICAgIGNyYzMyX2NvbWJpbmVfZ2VuNjQNCis7IGNoZWNrc3VtIGZ1bmN0aW9ucw0KKyAgICBhZGxlcjMyDQorICAgIGFkbGVyMzJfeg0KKyAgICBjcmMzMg0KKyAgICBjcmMzMl96DQorICAgIGFkbGVyMzJfY29tYmluZQ0KKyAgICBjcmMzMl9jb21iaW5lDQorICAgIGNyYzMyX2NvbWJpbmVfZ2VuDQorICAgIGNyYzMyX2NvbWJpbmVfb3ANCis7IHZhcmlvdXMgaGFja3MsIGRvbid0IGxvb2sgOikNCisgICAgZGVmbGF0ZUluaXRfDQorICAgIGRlZmxhdGVJbml0Ml8NCisgICAgaW5mbGF0ZUluaXRfDQorICAgIGluZmxhdGVJbml0Ml8NCisgICAgaW5mbGF0ZUJhY2tJbml0Xw0KKyAgICBnemdldGNfDQorICAgIHpFcnJvcg0KKyAgICBpbmZsYXRlU3luY1BvaW50DQorICAgIGdldF9jcmNfdGFibGUNCisgICAgaW5mbGF0ZVVuZGVybWluZQ0KKyAgICBpbmZsYXRlVmFsaWRhdGUNCisgICAgaW5mbGF0ZUNvZGVzVXNlZA0KKyAgICBpbmZsYXRlUmVzZXRLZWVwDQorICAgIGRlZmxhdGVSZXNldEtlZXANCisgICAgZ3pvcGVuX3cNCmRpZmYgLS1naXQgYS9zcmMvd2luMzIvemxpYjEucmMgYi9zcmMvd2luMzIvemxpYjEucmMKaW5kZXggNWMwZmVlZC4uY2ViNGVlNSAxMDA2NDQKLS0tIGEvc3JjL3dpbjMyL3psaWIxLnJjCisrKyBiL3NyYy93aW4zMi96bGliMS5yYwpAQCAtMjYsNyArMjYsNyBAQAogICAgICAgVkFMVUUgIkZpbGVEZXNjcmlwdGlvbiIsCSJ6bGliIGRhdGEgY29tcHJlc3Npb24gbGlicmFyeVwwIgogICAgICAgVkFMVUUgIkZpbGVWZXJzaW9uIiwJWkxJQl9WRVJTSU9OICJcMCIKICAgICAgIFZBTFVFICJJbnRlcm5hbE5hbWUiLAkiemxpYjEuZGxsXDAiCi0gICAgICBWQUxVRSAiTGVnYWxDb3B5cmlnaHQiLAkiKEMpIDE5OTUtMjAxMyBKZWFuLWxvdXAgR2FpbGx5ICYgTWFyayBBZGxlclwwIgorICAgICAgVkFMVUUgIkxlZ2FsQ29weXJpZ2h0IiwJIihDKSAxOTk1LTIwMjIgSmVhbi1sb3VwIEdhaWxseSAmIE1hcmsgQWRsZXJcMCIKICAgICAgIFZBTFVFICJPcmlnaW5hbEZpbGVuYW1lIiwJInpsaWIxLmRsbFwwIgogICAgICAgVkFMVUUgIlByb2R1Y3ROYW1lIiwJInpsaWJcMCIKICAgICAgIFZBTFVFICJQcm9kdWN0VmVyc2lvbiIsCVpMSUJfVkVSU0lPTiAiXDAiCmRpZmYgLS1naXQgYS9zcmMvemNvbmYuaCBiL3NyYy96Y29uZi5oCmluZGV4IDk5NmZmZjIuLjYyMmFmYTAgMTAwNjQ0Ci0tLSBhL3NyYy96Y29uZi5oCisrKyBiL3NyYy96Y29uZi5oCkBAIC0xLDUgKzEsNSBAQAogLyogemNvbmYuaCAtLSBjb25maWd1cmF0aW9uIG9mIHRoZSB6bGliIGNvbXByZXNzaW9uIGxpYnJhcnkKLSAqIENvcHlyaWdodCAoQykgMTk5NS0yMDEzIEplYW4tbG91cCBHYWlsbHkuCisgKiBDb3B5cmlnaHQgKEMpIDE5OTUtMjAxNiBKZWFuLWxvdXAgR2FpbGx5LCBNYXJrIEFkbGVyCiAgKiBGb3IgY29uZGl0aW9ucyBvZiBkaXN0cmlidXRpb24gYW5kIHVzZSwgc2VlIGNvcHlyaWdodCBub3RpY2UgaW4gemxpYi5oCiAgKi8KIApAQCAtMTcsNyArMTcsNyBAQAogI2lmZGVmIFpfUFJFRklYICAgICAvKiBtYXkgYmUgc2V0IHRvICNpZiAxIGJ5IC4vY29uZmlndXJlICovCiAjICBkZWZpbmUgWl9QUkVGSVhfU0VUCiAKLS8qIGFsbCBsaW5rZWQgc3ltYm9scyAqLworLyogYWxsIGxpbmtlZCBzeW1ib2xzIGFuZCBpbml0IG1hY3JvcyAqLwogIyAgZGVmaW5lIF9kaXN0X2NvZGUgICAgICAgICAgICB6X19kaXN0X2NvZGUKICMgIGRlZmluZSBfbGVuZ3RoX2NvZGUgICAgICAgICAgel9fbGVuZ3RoX2NvZGUKICMgIGRlZmluZSBfdHJfYWxpZ24gICAgICAgICAgICAgel9fdHJfYWxpZ24KQEAgLTI5LDYgKzI5LDcgQEAKICMgIGRlZmluZSBhZGxlcjMyICAgICAgICAgICAgICAgel9hZGxlcjMyCiAjICBkZWZpbmUgYWRsZXIzMl9jb21iaW5lICAgICAgIHpfYWRsZXIzMl9jb21iaW5lCiAjICBkZWZpbmUgYWRsZXIzMl9jb21iaW5lNjQgICAgIHpfYWRsZXIzMl9jb21iaW5lNjQKKyMgIGRlZmluZSBhZGxlcjMyX3ogICAgICAgICAgICAgel9hZGxlcjMyX3oKICMgIGlmbmRlZiBaX1NPTE8KICMgICAgZGVmaW5lIGNvbXByZXNzICAgICAgICAgICAgICB6X2NvbXByZXNzCiAjICAgIGRlZmluZSBjb21wcmVzczIgICAgICAgICAgICAgel9jb21wcmVzczIKQEAgLTM3LDEwICszOCwxNyBAQAogIyAgZGVmaW5lIGNyYzMyICAgICAgICAgICAgICAgICB6X2NyYzMyCiAjICBkZWZpbmUgY3JjMzJfY29tYmluZSAgICAgICAgIHpfY3JjMzJfY29tYmluZQogIyAgZGVmaW5lIGNyYzMyX2NvbWJpbmU2NCAgICAgICB6X2NyYzMyX2NvbWJpbmU2NAorIyAgZGVmaW5lIGNyYzMyX2NvbWJpbmVfZ2VuICAgICB6X2NyYzMyX2NvbWJpbmVfZ2VuCisjICBkZWZpbmUgY3JjMzJfY29tYmluZV9nZW42NCAgIHpfY3JjMzJfY29tYmluZV9nZW42NAorIyAgZGVmaW5lIGNyYzMyX2NvbWJpbmVfb3AgICAgICB6X2NyYzMyX2NvbWJpbmVfb3AKKyMgIGRlZmluZSBjcmMzMl96ICAgICAgICAgICAgICAgel9jcmMzMl96CiAjICBkZWZpbmUgZGVmbGF0ZSAgICAgICAgICAgICAgIHpfZGVmbGF0ZQogIyAgZGVmaW5lIGRlZmxhdGVCb3VuZCAgICAgICAgICB6X2RlZmxhdGVCb3VuZAogIyAgZGVmaW5lIGRlZmxhdGVDb3B5ICAgICAgICAgICB6X2RlZmxhdGVDb3B5CiAjICBkZWZpbmUgZGVmbGF0ZUVuZCAgICAgICAgICAgIHpfZGVmbGF0ZUVuZAorIyAgZGVmaW5lIGRlZmxhdGVHZXREaWN0aW9uYXJ5ICB6X2RlZmxhdGVHZXREaWN0aW9uYXJ5CisjICBkZWZpbmUgZGVmbGF0ZUluaXQgICAgICAgICAgIHpfZGVmbGF0ZUluaXQKKyMgIGRlZmluZSBkZWZsYXRlSW5pdDIgICAgICAgICAgel9kZWZsYXRlSW5pdDIKICMgIGRlZmluZSBkZWZsYXRlSW5pdDJfICAgICAgICAgel9kZWZsYXRlSW5pdDJfCiAjICBkZWZpbmUgZGVmbGF0ZUluaXRfICAgICAgICAgIHpfZGVmbGF0ZUluaXRfCiAjICBkZWZpbmUgZGVmbGF0ZVBhcmFtcyAgICAgICAgIHpfZGVmbGF0ZVBhcmFtcwpAQCAtNjcsNiArNzUsOCBAQAogIyAgICBkZWZpbmUgZ3plb2YgICAgICAgICAgICAgICAgIHpfZ3plb2YKICMgICAgZGVmaW5lIGd6ZXJyb3IgICAgICAgICAgICAgICB6X2d6ZXJyb3IKICMgICAgZGVmaW5lIGd6Zmx1c2ggICAgICAgICAgICAgICB6X2d6Zmx1c2gKKyMgICAgZGVmaW5lIGd6ZnJlYWQgICAgICAgICAgICAgICB6X2d6ZnJlYWQKKyMgICAgZGVmaW5lIGd6ZndyaXRlICAgICAgICAgICAgICB6X2d6ZndyaXRlCiAjICAgIGRlZmluZSBnemdldGMgICAgICAgICAgICAgICAgel9nemdldGMKICMgICAgZGVmaW5lIGd6Z2V0Y18gICAgICAgICAgICAgICB6X2d6Z2V0Y18KICMgICAgZGVmaW5lIGd6Z2V0cyAgICAgICAgICAgICAgICB6X2d6Z2V0cwpAQCAtNzgsNyArODgsNiBAQAogIyAgICAgIGRlZmluZSBnem9wZW5fdyAgICAgICAgICAgICAgel9nem9wZW5fdwogIyAgICBlbmRpZgogIyAgICBkZWZpbmUgZ3pwcmludGYgICAgICAgICAgICAgIHpfZ3pwcmludGYKLSMgICAgZGVmaW5lIGd6dnByaW50ZiAgICAgICAgICAgICB6X2d6dnByaW50ZgogIyAgICBkZWZpbmUgZ3pwdXRjICAgICAgICAgICAgICAgIHpfZ3pwdXRjCiAjICAgIGRlZmluZSBnenB1dHMgICAgICAgICAgICAgICAgel9nenB1dHMKICMgICAgZGVmaW5lIGd6cmVhZCAgICAgICAgICAgICAgICB6X2d6cmVhZApAQCAtODksMzIgKzk4LDM5IEBACiAjICAgIGRlZmluZSBnenRlbGwgICAgICAgICAgICAgICAgel9nenRlbGwKICMgICAgZGVmaW5lIGd6dGVsbDY0ICAgICAgICAgICAgICB6X2d6dGVsbDY0CiAjICAgIGRlZmluZSBnenVuZ2V0YyAgICAgICAgICAgICAgel9nenVuZ2V0YworIyAgICBkZWZpbmUgZ3p2cHJpbnRmICAgICAgICAgICAgIHpfZ3p2cHJpbnRmCiAjICAgIGRlZmluZSBnendyaXRlICAgICAgICAgICAgICAgel9nendyaXRlCiAjICBlbmRpZgogIyAgZGVmaW5lIGluZmxhdGUgICAgICAgICAgICAgICB6X2luZmxhdGUKICMgIGRlZmluZSBpbmZsYXRlQmFjayAgICAgICAgICAgel9pbmZsYXRlQmFjawogIyAgZGVmaW5lIGluZmxhdGVCYWNrRW5kICAgICAgICB6X2luZmxhdGVCYWNrRW5kCisjICBkZWZpbmUgaW5mbGF0ZUJhY2tJbml0ICAgICAgIHpfaW5mbGF0ZUJhY2tJbml0CiAjICBkZWZpbmUgaW5mbGF0ZUJhY2tJbml0XyAgICAgIHpfaW5mbGF0ZUJhY2tJbml0XworIyAgZGVmaW5lIGluZmxhdGVDb2Rlc1VzZWQgICAgICB6X2luZmxhdGVDb2Rlc1VzZWQKICMgIGRlZmluZSBpbmZsYXRlQ29weSAgICAgICAgICAgel9pbmZsYXRlQ29weQogIyAgZGVmaW5lIGluZmxhdGVFbmQgICAgICAgICAgICB6X2luZmxhdGVFbmQKKyMgIGRlZmluZSBpbmZsYXRlR2V0RGljdGlvbmFyeSAgel9pbmZsYXRlR2V0RGljdGlvbmFyeQogIyAgZGVmaW5lIGluZmxhdGVHZXRIZWFkZXIgICAgICB6X2luZmxhdGVHZXRIZWFkZXIKKyMgIGRlZmluZSBpbmZsYXRlSW5pdCAgICAgICAgICAgel9pbmZsYXRlSW5pdAorIyAgZGVmaW5lIGluZmxhdGVJbml0MiAgICAgICAgICB6X2luZmxhdGVJbml0MgogIyAgZGVmaW5lIGluZmxhdGVJbml0Ml8gICAgICAgICB6X2luZmxhdGVJbml0Ml8KICMgIGRlZmluZSBpbmZsYXRlSW5pdF8gICAgICAgICAgel9pbmZsYXRlSW5pdF8KICMgIGRlZmluZSBpbmZsYXRlTWFyayAgICAgICAgICAgel9pbmZsYXRlTWFyawogIyAgZGVmaW5lIGluZmxhdGVQcmltZSAgICAgICAgICB6X2luZmxhdGVQcmltZQogIyAgZGVmaW5lIGluZmxhdGVSZXNldCAgICAgICAgICB6X2luZmxhdGVSZXNldAogIyAgZGVmaW5lIGluZmxhdGVSZXNldDIgICAgICAgICB6X2luZmxhdGVSZXNldDIKKyMgIGRlZmluZSBpbmZsYXRlUmVzZXRLZWVwICAgICAgel9pbmZsYXRlUmVzZXRLZWVwCiAjICBkZWZpbmUgaW5mbGF0ZVNldERpY3Rpb25hcnkgIHpfaW5mbGF0ZVNldERpY3Rpb25hcnkKLSMgIGRlZmluZSBpbmZsYXRlR2V0RGljdGlvbmFyeSAgel9pbmZsYXRlR2V0RGljdGlvbmFyeQogIyAgZGVmaW5lIGluZmxhdGVTeW5jICAgICAgICAgICB6X2luZmxhdGVTeW5jCiAjICBkZWZpbmUgaW5mbGF0ZVN5bmNQb2ludCAgICAgIHpfaW5mbGF0ZVN5bmNQb2ludAogIyAgZGVmaW5lIGluZmxhdGVVbmRlcm1pbmUgICAgICB6X2luZmxhdGVVbmRlcm1pbmUKLSMgIGRlZmluZSBpbmZsYXRlUmVzZXRLZWVwICAgICAgel9pbmZsYXRlUmVzZXRLZWVwCisjICBkZWZpbmUgaW5mbGF0ZVZhbGlkYXRlICAgICAgIHpfaW5mbGF0ZVZhbGlkYXRlCiAjICBkZWZpbmUgaW5mbGF0ZV9jb3B5cmlnaHQgICAgIHpfaW5mbGF0ZV9jb3B5cmlnaHQKICMgIGRlZmluZSBpbmZsYXRlX2Zhc3QgICAgICAgICAgel9pbmZsYXRlX2Zhc3QKICMgIGRlZmluZSBpbmZsYXRlX3RhYmxlICAgICAgICAgel9pbmZsYXRlX3RhYmxlCiAjICBpZm5kZWYgWl9TT0xPCiAjICAgIGRlZmluZSB1bmNvbXByZXNzICAgICAgICAgICAgel91bmNvbXByZXNzCisjICAgIGRlZmluZSB1bmNvbXByZXNzMiAgICAgICAgICAgel91bmNvbXByZXNzMgogIyAgZW5kaWYKICMgIGRlZmluZSB6RXJyb3IgICAgICAgICAgICAgICAgel96RXJyb3IKICMgIGlmbmRlZiBaX1NPTE8KQEAgLTIyNCw5ICsyNDAsMTkgQEAKICMgIGRlZmluZSB6X2NvbnN0CiAjZW5kaWYKIAotLyogU29tZSBNYWMgY29tcGlsZXJzIG1lcmdlIGFsbCAuaCBmaWxlcyBpbmNvcnJlY3RseTogKi8KLSNpZiBkZWZpbmVkKF9fTVdFUktTX18pfHxkZWZpbmVkKGFwcGxlYyl8fGRlZmluZWQoVEhJTktfQyl8fGRlZmluZWQoX19TQ19fKQotIyAgZGVmaW5lIE5PX0RVTU1ZX0RFQ0wKKyNpZmRlZiBaX1NPTE8KKyAgIHR5cGVkZWYgdW5zaWduZWQgbG9uZyB6X3NpemVfdDsKKyNlbHNlCisjICBkZWZpbmUgel9sb25nbG9uZyBsb25nIGxvbmcKKyMgIGlmIGRlZmluZWQoTk9fU0laRV9UKQorICAgICB0eXBlZGVmIHVuc2lnbmVkIE5PX1NJWkVfVCB6X3NpemVfdDsKKyMgIGVsaWYgZGVmaW5lZChTVERDKQorIyAgICBpbmNsdWRlIDxzdGRkZWYuaD4KKyAgICAgdHlwZWRlZiBzaXplX3Qgel9zaXplX3Q7CisjICBlbHNlCisgICAgIHR5cGVkZWYgdW5zaWduZWQgbG9uZyB6X3NpemVfdDsKKyMgIGVuZGlmCisjICB1bmRlZiB6X2xvbmdsb25nCiAjZW5kaWYKIAogLyogTWF4aW11bSB2YWx1ZSBmb3IgbWVtTGV2ZWwgaW4gZGVmbGF0ZUluaXQyICovCkBAIC0yNTYsNyArMjgyLDcgQEAKICBPZiBjb3Vyc2UgdGhpcyB3aWxsIGdlbmVyYWxseSBkZWdyYWRlIGNvbXByZXNzaW9uICh0aGVyZSdzIG5vIGZyZWUgbHVuY2gpLgogCiAgICBUaGUgbWVtb3J5IHJlcXVpcmVtZW50cyBmb3IgaW5mbGF0ZSBhcmUgKGluIGJ5dGVzKSAxIDw8IHdpbmRvd0JpdHMKLSB0aGF0IGlzLCAzMksgZm9yIHdpbmRvd0JpdHM9MTUgKGRlZmF1bHQgdmFsdWUpIHBsdXMgYSBmZXcga2lsb2J5dGVzCisgdGhhdCBpcywgMzJLIGZvciB3aW5kb3dCaXRzPTE1IChkZWZhdWx0IHZhbHVlKSBwbHVzIGFib3V0IDcga2lsb2J5dGVzCiAgZm9yIHNtYWxsIG9iamVjdHMuCiAqLwogCkBAIC0zMjYsNiArMzUyLDkgQEAKICMgICAgaWZkZWYgRkFSCiAjICAgICAgdW5kZWYgRkFSCiAjICAgIGVuZGlmCisjICAgIGlmbmRlZiBXSU4zMl9MRUFOX0FORF9NRUFOCisjICAgICAgZGVmaW5lIFdJTjMyX0xFQU5fQU5EX01FQU4KKyMgICAgZW5kaWYKICMgICAgaW5jbHVkZSA8d2luZG93cy5oPgogICAgICAvKiBObyBuZWVkIGZvciBfZXhwb3J0LCB1c2UgWkxJQi5ERUYgaW5zdGVhZC4gKi8KICAgICAgLyogRm9yIGNvbXBsZXRlIFdpbmRvd3MgY29tcGF0aWJpbGl0eSwgdXNlIFdJTkFQSSwgbm90IF9fc3RkY2FsbC4gKi8KQEAgLTQ0NCwxMSArNDczLDE4IEBACiAjICB1bmRlZiBfTEFSR0VGSUxFNjRfU09VUkNFCiAjZW5kaWYKIAotI2lmIGRlZmluZWQoX19XQVRDT01DX18pICYmICFkZWZpbmVkKFpfSEFWRV9VTklTVERfSCkKLSMgIGRlZmluZSBaX0hBVkVfVU5JU1REX0gKKyNpZm5kZWYgWl9IQVZFX1VOSVNURF9ICisjICBpZmRlZiBfX1dBVENPTUNfXworIyAgICBkZWZpbmUgWl9IQVZFX1VOSVNURF9ICisjICBlbmRpZgorI2VuZGlmCisjaWZuZGVmIFpfSEFWRV9VTklTVERfSAorIyAgaWYgZGVmaW5lZChfTEFSR0VGSUxFNjRfU09VUkNFKSAmJiAhZGVmaW5lZChfV0lOMzIpCisjICAgIGRlZmluZSBaX0hBVkVfVU5JU1REX0gKKyMgIGVuZGlmCiAjZW5kaWYKICNpZm5kZWYgWl9TT0xPCi0jICBpZiBkZWZpbmVkKFpfSEFWRV9VTklTVERfSCkgfHwgZGVmaW5lZChfTEFSR0VGSUxFNjRfU09VUkNFKQorIyAgaWYgZGVmaW5lZChaX0hBVkVfVU5JU1REX0gpCiAjICAgIGluY2x1ZGUgPHVuaXN0ZC5oPiAgICAgICAgIC8qIGZvciBTRUVLXyosIG9mZl90LCBhbmQgX0xGUzY0X0xBUkdFRklMRSAqLwogIyAgICBpZmRlZiBWTVMKICMgICAgICBpbmNsdWRlIDx1bml4aW8uaD4gICAgICAgLyogZm9yIG9mZl90ICovCmRpZmYgLS1naXQgYS9zcmMvemNvbmYuaC5jbWFrZWluIGIvc3JjL3pjb25mLmguY21ha2VpbgppbmRleCAwNDMwMTljLi4yNDdiYTI0IDEwMDY0NAotLS0gYS9zcmMvemNvbmYuaC5jbWFrZWluCisrKyBiL3NyYy96Y29uZi5oLmNtYWtlaW4KQEAgLTEsNSArMSw1IEBACiAvKiB6Y29uZi5oIC0tIGNvbmZpZ3VyYXRpb24gb2YgdGhlIHpsaWIgY29tcHJlc3Npb24gbGlicmFyeQotICogQ29weXJpZ2h0IChDKSAxOTk1LTIwMTMgSmVhbi1sb3VwIEdhaWxseS4KKyAqIENvcHlyaWdodCAoQykgMTk5NS0yMDE2IEplYW4tbG91cCBHYWlsbHksIE1hcmsgQWRsZXIKICAqIEZvciBjb25kaXRpb25zIG9mIGRpc3RyaWJ1dGlvbiBhbmQgdXNlLCBzZWUgY29weXJpZ2h0IG5vdGljZSBpbiB6bGliLmgKICAqLwogCkBAIC0xOSw3ICsxOSw3IEBACiAjaWZkZWYgWl9QUkVGSVggICAgIC8qIG1heSBiZSBzZXQgdG8gI2lmIDEgYnkgLi9jb25maWd1cmUgKi8KICMgIGRlZmluZSBaX1BSRUZJWF9TRVQKIAotLyogYWxsIGxpbmtlZCBzeW1ib2xzICovCisvKiBhbGwgbGlua2VkIHN5bWJvbHMgYW5kIGluaXQgbWFjcm9zICovCiAjICBkZWZpbmUgX2Rpc3RfY29kZSAgICAgICAgICAgIHpfX2Rpc3RfY29kZQogIyAgZGVmaW5lIF9sZW5ndGhfY29kZSAgICAgICAgICB6X19sZW5ndGhfY29kZQogIyAgZGVmaW5lIF90cl9hbGlnbiAgICAgICAgICAgICB6X190cl9hbGlnbgpAQCAtMzEsNiArMzEsNyBAQAogIyAgZGVmaW5lIGFkbGVyMzIgICAgICAgICAgICAgICB6X2FkbGVyMzIKICMgIGRlZmluZSBhZGxlcjMyX2NvbWJpbmUgICAgICAgel9hZGxlcjMyX2NvbWJpbmUKICMgIGRlZmluZSBhZGxlcjMyX2NvbWJpbmU2NCAgICAgel9hZGxlcjMyX2NvbWJpbmU2NAorIyAgZGVmaW5lIGFkbGVyMzJfeiAgICAgICAgICAgICB6X2FkbGVyMzJfegogIyAgaWZuZGVmIFpfU09MTwogIyAgICBkZWZpbmUgY29tcHJlc3MgICAgICAgICAgICAgIHpfY29tcHJlc3MKICMgICAgZGVmaW5lIGNvbXByZXNzMiAgICAgICAgICAgICB6X2NvbXByZXNzMgpAQCAtMzksMTAgKzQwLDE3IEBACiAjICBkZWZpbmUgY3JjMzIgICAgICAgICAgICAgICAgIHpfY3JjMzIKICMgIGRlZmluZSBjcmMzMl9jb21iaW5lICAgICAgICAgel9jcmMzMl9jb21iaW5lCiAjICBkZWZpbmUgY3JjMzJfY29tYmluZTY0ICAgICAgIHpfY3JjMzJfY29tYmluZTY0CisjICBkZWZpbmUgY3JjMzJfY29tYmluZV9nZW4gICAgIHpfY3JjMzJfY29tYmluZV9nZW4KKyMgIGRlZmluZSBjcmMzMl9jb21iaW5lX2dlbjY0ICAgel9jcmMzMl9jb21iaW5lX2dlbjY0CisjICBkZWZpbmUgY3JjMzJfY29tYmluZV9vcCAgICAgIHpfY3JjMzJfY29tYmluZV9vcAorIyAgZGVmaW5lIGNyYzMyX3ogICAgICAgICAgICAgICB6X2NyYzMyX3oKICMgIGRlZmluZSBkZWZsYXRlICAgICAgICAgICAgICAgel9kZWZsYXRlCiAjICBkZWZpbmUgZGVmbGF0ZUJvdW5kICAgICAgICAgIHpfZGVmbGF0ZUJvdW5kCiAjICBkZWZpbmUgZGVmbGF0ZUNvcHkgICAgICAgICAgIHpfZGVmbGF0ZUNvcHkKICMgIGRlZmluZSBkZWZsYXRlRW5kICAgICAgICAgICAgel9kZWZsYXRlRW5kCisjICBkZWZpbmUgZGVmbGF0ZUdldERpY3Rpb25hcnkgIHpfZGVmbGF0ZUdldERpY3Rpb25hcnkKKyMgIGRlZmluZSBkZWZsYXRlSW5pdCAgICAgICAgICAgel9kZWZsYXRlSW5pdAorIyAgZGVmaW5lIGRlZmxhdGVJbml0MiAgICAgICAgICB6X2RlZmxhdGVJbml0MgogIyAgZGVmaW5lIGRlZmxhdGVJbml0Ml8gICAgICAgICB6X2RlZmxhdGVJbml0Ml8KICMgIGRlZmluZSBkZWZsYXRlSW5pdF8gICAgICAgICAgel9kZWZsYXRlSW5pdF8KICMgIGRlZmluZSBkZWZsYXRlUGFyYW1zICAgICAgICAgel9kZWZsYXRlUGFyYW1zCkBAIC02OSw2ICs3Nyw4IEBACiAjICAgIGRlZmluZSBnemVvZiAgICAgICAgICAgICAgICAgel9nemVvZgogIyAgICBkZWZpbmUgZ3plcnJvciAgICAgICAgICAgICAgIHpfZ3plcnJvcgogIyAgICBkZWZpbmUgZ3pmbHVzaCAgICAgICAgICAgICAgIHpfZ3pmbHVzaAorIyAgICBkZWZpbmUgZ3pmcmVhZCAgICAgICAgICAgICAgIHpfZ3pmcmVhZAorIyAgICBkZWZpbmUgZ3pmd3JpdGUgICAgICAgICAgICAgIHpfZ3pmd3JpdGUKICMgICAgZGVmaW5lIGd6Z2V0YyAgICAgICAgICAgICAgICB6X2d6Z2V0YwogIyAgICBkZWZpbmUgZ3pnZXRjXyAgICAgICAgICAgICAgIHpfZ3pnZXRjXwogIyAgICBkZWZpbmUgZ3pnZXRzICAgICAgICAgICAgICAgIHpfZ3pnZXRzCkBAIC04MCw3ICs5MCw2IEBACiAjICAgICAgZGVmaW5lIGd6b3Blbl93ICAgICAgICAgICAgICB6X2d6b3Blbl93CiAjICAgIGVuZGlmCiAjICAgIGRlZmluZSBnenByaW50ZiAgICAgICAgICAgICAgel9nenByaW50ZgotIyAgICBkZWZpbmUgZ3p2cHJpbnRmICAgICAgICAgICAgIHpfZ3p2cHJpbnRmCiAjICAgIGRlZmluZSBnenB1dGMgICAgICAgICAgICAgICAgel9nenB1dGMKICMgICAgZGVmaW5lIGd6cHV0cyAgICAgICAgICAgICAgICB6X2d6cHV0cwogIyAgICBkZWZpbmUgZ3pyZWFkICAgICAgICAgICAgICAgIHpfZ3pyZWFkCkBAIC05MSwzMiArMTAwLDM5IEBACiAjICAgIGRlZmluZSBnenRlbGwgICAgICAgICAgICAgICAgel9nenRlbGwKICMgICAgZGVmaW5lIGd6dGVsbDY0ICAgICAgICAgICAgICB6X2d6dGVsbDY0CiAjICAgIGRlZmluZSBnenVuZ2V0YyAgICAgICAgICAgICAgel9nenVuZ2V0YworIyAgICBkZWZpbmUgZ3p2cHJpbnRmICAgICAgICAgICAgIHpfZ3p2cHJpbnRmCiAjICAgIGRlZmluZSBnendyaXRlICAgICAgICAgICAgICAgel9nendyaXRlCiAjICBlbmRpZgogIyAgZGVmaW5lIGluZmxhdGUgICAgICAgICAgICAgICB6X2luZmxhdGUKICMgIGRlZmluZSBpbmZsYXRlQmFjayAgICAgICAgICAgel9pbmZsYXRlQmFjawogIyAgZGVmaW5lIGluZmxhdGVCYWNrRW5kICAgICAgICB6X2luZmxhdGVCYWNrRW5kCisjICBkZWZpbmUgaW5mbGF0ZUJhY2tJbml0ICAgICAgIHpfaW5mbGF0ZUJhY2tJbml0CiAjICBkZWZpbmUgaW5mbGF0ZUJhY2tJbml0XyAgICAgIHpfaW5mbGF0ZUJhY2tJbml0XworIyAgZGVmaW5lIGluZmxhdGVDb2Rlc1VzZWQgICAgICB6X2luZmxhdGVDb2Rlc1VzZWQKICMgIGRlZmluZSBpbmZsYXRlQ29weSAgICAgICAgICAgel9pbmZsYXRlQ29weQogIyAgZGVmaW5lIGluZmxhdGVFbmQgICAgICAgICAgICB6X2luZmxhdGVFbmQKKyMgIGRlZmluZSBpbmZsYXRlR2V0RGljdGlvbmFyeSAgel9pbmZsYXRlR2V0RGljdGlvbmFyeQogIyAgZGVmaW5lIGluZmxhdGVHZXRIZWFkZXIgICAgICB6X2luZmxhdGVHZXRIZWFkZXIKKyMgIGRlZmluZSBpbmZsYXRlSW5pdCAgICAgICAgICAgel9pbmZsYXRlSW5pdAorIyAgZGVmaW5lIGluZmxhdGVJbml0MiAgICAgICAgICB6X2luZmxhdGVJbml0MgogIyAgZGVmaW5lIGluZmxhdGVJbml0Ml8gICAgICAgICB6X2luZmxhdGVJbml0Ml8KICMgIGRlZmluZSBpbmZsYXRlSW5pdF8gICAgICAgICAgel9pbmZsYXRlSW5pdF8KICMgIGRlZmluZSBpbmZsYXRlTWFyayAgICAgICAgICAgel9pbmZsYXRlTWFyawogIyAgZGVmaW5lIGluZmxhdGVQcmltZSAgICAgICAgICB6X2luZmxhdGVQcmltZQogIyAgZGVmaW5lIGluZmxhdGVSZXNldCAgICAgICAgICB6X2luZmxhdGVSZXNldAogIyAgZGVmaW5lIGluZmxhdGVSZXNldDIgICAgICAgICB6X2luZmxhdGVSZXNldDIKKyMgIGRlZmluZSBpbmZsYXRlUmVzZXRLZWVwICAgICAgel9pbmZsYXRlUmVzZXRLZWVwCiAjICBkZWZpbmUgaW5mbGF0ZVNldERpY3Rpb25hcnkgIHpfaW5mbGF0ZVNldERpY3Rpb25hcnkKLSMgIGRlZmluZSBpbmZsYXRlR2V0RGljdGlvbmFyeSAgel9pbmZsYXRlR2V0RGljdGlvbmFyeQogIyAgZGVmaW5lIGluZmxhdGVTeW5jICAgICAgICAgICB6X2luZmxhdGVTeW5jCiAjICBkZWZpbmUgaW5mbGF0ZVN5bmNQb2ludCAgICAgIHpfaW5mbGF0ZVN5bmNQb2ludAogIyAgZGVmaW5lIGluZmxhdGVVbmRlcm1pbmUgICAgICB6X2luZmxhdGVVbmRlcm1pbmUKLSMgIGRlZmluZSBpbmZsYXRlUmVzZXRLZWVwICAgICAgel9pbmZsYXRlUmVzZXRLZWVwCisjICBkZWZpbmUgaW5mbGF0ZVZhbGlkYXRlICAgICAgIHpfaW5mbGF0ZVZhbGlkYXRlCiAjICBkZWZpbmUgaW5mbGF0ZV9jb3B5cmlnaHQgICAgIHpfaW5mbGF0ZV9jb3B5cmlnaHQKICMgIGRlZmluZSBpbmZsYXRlX2Zhc3QgICAgICAgICAgel9pbmZsYXRlX2Zhc3QKICMgIGRlZmluZSBpbmZsYXRlX3RhYmxlICAgICAgICAgel9pbmZsYXRlX3RhYmxlCiAjICBpZm5kZWYgWl9TT0xPCiAjICAgIGRlZmluZSB1bmNvbXByZXNzICAgICAgICAgICAgel91bmNvbXByZXNzCisjICAgIGRlZmluZSB1bmNvbXByZXNzMiAgICAgICAgICAgel91bmNvbXByZXNzMgogIyAgZW5kaWYKICMgIGRlZmluZSB6RXJyb3IgICAgICAgICAgICAgICAgel96RXJyb3IKICMgIGlmbmRlZiBaX1NPTE8KQEAgLTIyNiw5ICsyNDIsMTkgQEAKICMgIGRlZmluZSB6X2NvbnN0CiAjZW5kaWYKIAotLyogU29tZSBNYWMgY29tcGlsZXJzIG1lcmdlIGFsbCAuaCBmaWxlcyBpbmNvcnJlY3RseTogKi8KLSNpZiBkZWZpbmVkKF9fTVdFUktTX18pfHxkZWZpbmVkKGFwcGxlYyl8fGRlZmluZWQoVEhJTktfQyl8fGRlZmluZWQoX19TQ19fKQotIyAgZGVmaW5lIE5PX0RVTU1ZX0RFQ0wKKyNpZmRlZiBaX1NPTE8KKyAgIHR5cGVkZWYgdW5zaWduZWQgbG9uZyB6X3NpemVfdDsKKyNlbHNlCisjICBkZWZpbmUgel9sb25nbG9uZyBsb25nIGxvbmcKKyMgIGlmIGRlZmluZWQoTk9fU0laRV9UKQorICAgICB0eXBlZGVmIHVuc2lnbmVkIE5PX1NJWkVfVCB6X3NpemVfdDsKKyMgIGVsaWYgZGVmaW5lZChTVERDKQorIyAgICBpbmNsdWRlIDxzdGRkZWYuaD4KKyAgICAgdHlwZWRlZiBzaXplX3Qgel9zaXplX3Q7CisjICBlbHNlCisgICAgIHR5cGVkZWYgdW5zaWduZWQgbG9uZyB6X3NpemVfdDsKKyMgIGVuZGlmCisjICB1bmRlZiB6X2xvbmdsb25nCiAjZW5kaWYKIAogLyogTWF4aW11bSB2YWx1ZSBmb3IgbWVtTGV2ZWwgaW4gZGVmbGF0ZUluaXQyICovCkBAIC0yNTgsNyArMjg0LDcgQEAKICBPZiBjb3Vyc2UgdGhpcyB3aWxsIGdlbmVyYWxseSBkZWdyYWRlIGNvbXByZXNzaW9uICh0aGVyZSdzIG5vIGZyZWUgbHVuY2gpLgogCiAgICBUaGUgbWVtb3J5IHJlcXVpcmVtZW50cyBmb3IgaW5mbGF0ZSBhcmUgKGluIGJ5dGVzKSAxIDw8IHdpbmRvd0JpdHMKLSB0aGF0IGlzLCAzMksgZm9yIHdpbmRvd0JpdHM9MTUgKGRlZmF1bHQgdmFsdWUpIHBsdXMgYSBmZXcga2lsb2J5dGVzCisgdGhhdCBpcywgMzJLIGZvciB3aW5kb3dCaXRzPTE1IChkZWZhdWx0IHZhbHVlKSBwbHVzIGFib3V0IDcga2lsb2J5dGVzCiAgZm9yIHNtYWxsIG9iamVjdHMuCiAqLwogCkBAIC0zMjgsNiArMzU0LDkgQEAKICMgICAgaWZkZWYgRkFSCiAjICAgICAgdW5kZWYgRkFSCiAjICAgIGVuZGlmCisjICAgIGlmbmRlZiBXSU4zMl9MRUFOX0FORF9NRUFOCisjICAgICAgZGVmaW5lIFdJTjMyX0xFQU5fQU5EX01FQU4KKyMgICAgZW5kaWYKICMgICAgaW5jbHVkZSA8d2luZG93cy5oPgogICAgICAvKiBObyBuZWVkIGZvciBfZXhwb3J0LCB1c2UgWkxJQi5ERUYgaW5zdGVhZC4gKi8KICAgICAgLyogRm9yIGNvbXBsZXRlIFdpbmRvd3MgY29tcGF0aWJpbGl0eSwgdXNlIFdJTkFQSSwgbm90IF9fc3RkY2FsbC4gKi8KQEAgLTQ0NiwxMSArNDc1LDE4IEBACiAjICB1bmRlZiBfTEFSR0VGSUxFNjRfU09VUkNFCiAjZW5kaWYKIAotI2lmIGRlZmluZWQoX19XQVRDT01DX18pICYmICFkZWZpbmVkKFpfSEFWRV9VTklTVERfSCkKLSMgIGRlZmluZSBaX0hBVkVfVU5JU1REX0gKKyNpZm5kZWYgWl9IQVZFX1VOSVNURF9ICisjICBpZmRlZiBfX1dBVENPTUNfXworIyAgICBkZWZpbmUgWl9IQVZFX1VOSVNURF9ICisjICBlbmRpZgorI2VuZGlmCisjaWZuZGVmIFpfSEFWRV9VTklTVERfSAorIyAgaWYgZGVmaW5lZChfTEFSR0VGSUxFNjRfU09VUkNFKSAmJiAhZGVmaW5lZChfV0lOMzIpCisjICAgIGRlZmluZSBaX0hBVkVfVU5JU1REX0gKKyMgIGVuZGlmCiAjZW5kaWYKICNpZm5kZWYgWl9TT0xPCi0jICBpZiBkZWZpbmVkKFpfSEFWRV9VTklTVERfSCkgfHwgZGVmaW5lZChfTEFSR0VGSUxFNjRfU09VUkNFKQorIyAgaWYgZGVmaW5lZChaX0hBVkVfVU5JU1REX0gpCiAjICAgIGluY2x1ZGUgPHVuaXN0ZC5oPiAgICAgICAgIC8qIGZvciBTRUVLXyosIG9mZl90LCBhbmQgX0xGUzY0X0xBUkdFRklMRSAqLwogIyAgICBpZmRlZiBWTVMKICMgICAgICBpbmNsdWRlIDx1bml4aW8uaD4gICAgICAgLyogZm9yIG9mZl90ICovCmRpZmYgLS1naXQgYS9zcmMvemNvbmYuaC5pbiBiL3NyYy96Y29uZi5oLmluCmluZGV4IDk5ODdhNzcuLmJmOTc3ZDMgMTAwNjQ0Ci0tLSBhL3NyYy96Y29uZi5oLmluCisrKyBiL3NyYy96Y29uZi5oLmluCkBAIC0xLDUgKzEsNSBAQAogLyogemNvbmYuaCAtLSBjb25maWd1cmF0aW9uIG9mIHRoZSB6bGliIGNvbXByZXNzaW9uIGxpYnJhcnkKLSAqIENvcHlyaWdodCAoQykgMTk5NS0yMDEzIEplYW4tbG91cCBHYWlsbHkuCisgKiBDb3B5cmlnaHQgKEMpIDE5OTUtMjAxNiBKZWFuLWxvdXAgR2FpbGx5LCBNYXJrIEFkbGVyCiAgKiBGb3IgY29uZGl0aW9ucyBvZiBkaXN0cmlidXRpb24gYW5kIHVzZSwgc2VlIGNvcHlyaWdodCBub3RpY2UgaW4gemxpYi5oCiAgKi8KIApAQCAtMTcsNyArMTcsNyBAQAogI2lmZGVmIFpfUFJFRklYICAgICAvKiBtYXkgYmUgc2V0IHRvICNpZiAxIGJ5IC4vY29uZmlndXJlICovCiAjICBkZWZpbmUgWl9QUkVGSVhfU0VUCiAKLS8qIGFsbCBsaW5rZWQgc3ltYm9scyAqLworLyogYWxsIGxpbmtlZCBzeW1ib2xzIGFuZCBpbml0IG1hY3JvcyAqLwogIyAgZGVmaW5lIF9kaXN0X2NvZGUgICAgICAgICAgICB6X19kaXN0X2NvZGUKICMgIGRlZmluZSBfbGVuZ3RoX2NvZGUgICAgICAgICAgel9fbGVuZ3RoX2NvZGUKICMgIGRlZmluZSBfdHJfYWxpZ24gICAgICAgICAgICAgel9fdHJfYWxpZ24KQEAgLTI5LDYgKzI5LDcgQEAKICMgIGRlZmluZSBhZGxlcjMyICAgICAgICAgICAgICAgel9hZGxlcjMyCiAjICBkZWZpbmUgYWRsZXIzMl9jb21iaW5lICAgICAgIHpfYWRsZXIzMl9jb21iaW5lCiAjICBkZWZpbmUgYWRsZXIzMl9jb21iaW5lNjQgICAgIHpfYWRsZXIzMl9jb21iaW5lNjQKKyMgIGRlZmluZSBhZGxlcjMyX3ogICAgICAgICAgICAgel9hZGxlcjMyX3oKICMgIGlmbmRlZiBaX1NPTE8KICMgICAgZGVmaW5lIGNvbXByZXNzICAgICAgICAgICAgICB6X2NvbXByZXNzCiAjICAgIGRlZmluZSBjb21wcmVzczIgICAgICAgICAgICAgel9jb21wcmVzczIKQEAgLTM3LDEwICszOCwxNyBAQAogIyAgZGVmaW5lIGNyYzMyICAgICAgICAgICAgICAgICB6X2NyYzMyCiAjICBkZWZpbmUgY3JjMzJfY29tYmluZSAgICAgICAgIHpfY3JjMzJfY29tYmluZQogIyAgZGVmaW5lIGNyYzMyX2NvbWJpbmU2NCAgICAgICB6X2NyYzMyX2NvbWJpbmU2NAorIyAgZGVmaW5lIGNyYzMyX2NvbWJpbmVfZ2VuICAgICB6X2NyYzMyX2NvbWJpbmVfZ2VuCisjICBkZWZpbmUgY3JjMzJfY29tYmluZV9nZW42NCAgIHpfY3JjMzJfY29tYmluZV9nZW42NAorIyAgZGVmaW5lIGNyYzMyX2NvbWJpbmVfb3AgICAgICB6X2NyYzMyX2NvbWJpbmVfb3AKKyMgIGRlZmluZSBjcmMzMl96ICAgICAgICAgICAgICAgel9jcmMzMl96CiAjICBkZWZpbmUgZGVmbGF0ZSAgICAgICAgICAgICAgIHpfZGVmbGF0ZQogIyAgZGVmaW5lIGRlZmxhdGVCb3VuZCAgICAgICAgICB6X2RlZmxhdGVCb3VuZAogIyAgZGVmaW5lIGRlZmxhdGVDb3B5ICAgICAgICAgICB6X2RlZmxhdGVDb3B5CiAjICBkZWZpbmUgZGVmbGF0ZUVuZCAgICAgICAgICAgIHpfZGVmbGF0ZUVuZAorIyAgZGVmaW5lIGRlZmxhdGVHZXREaWN0aW9uYXJ5ICB6X2RlZmxhdGVHZXREaWN0aW9uYXJ5CisjICBkZWZpbmUgZGVmbGF0ZUluaXQgICAgICAgICAgIHpfZGVmbGF0ZUluaXQKKyMgIGRlZmluZSBkZWZsYXRlSW5pdDIgICAgICAgICAgel9kZWZsYXRlSW5pdDIKICMgIGRlZmluZSBkZWZsYXRlSW5pdDJfICAgICAgICAgel9kZWZsYXRlSW5pdDJfCiAjICBkZWZpbmUgZGVmbGF0ZUluaXRfICAgICAgICAgIHpfZGVmbGF0ZUluaXRfCiAjICBkZWZpbmUgZGVmbGF0ZVBhcmFtcyAgICAgICAgIHpfZGVmbGF0ZVBhcmFtcwpAQCAtNjcsNiArNzUsOCBAQAogIyAgICBkZWZpbmUgZ3plb2YgICAgICAgICAgICAgICAgIHpfZ3plb2YKICMgICAgZGVmaW5lIGd6ZXJyb3IgICAgICAgICAgICAgICB6X2d6ZXJyb3IKICMgICAgZGVmaW5lIGd6Zmx1c2ggICAgICAgICAgICAgICB6X2d6Zmx1c2gKKyMgICAgZGVmaW5lIGd6ZnJlYWQgICAgICAgICAgICAgICB6X2d6ZnJlYWQKKyMgICAgZGVmaW5lIGd6ZndyaXRlICAgICAgICAgICAgICB6X2d6ZndyaXRlCiAjICAgIGRlZmluZSBnemdldGMgICAgICAgICAgICAgICAgel9nemdldGMKICMgICAgZGVmaW5lIGd6Z2V0Y18gICAgICAgICAgICAgICB6X2d6Z2V0Y18KICMgICAgZGVmaW5lIGd6Z2V0cyAgICAgICAgICAgICAgICB6X2d6Z2V0cwpAQCAtNzgsNyArODgsNiBAQAogIyAgICAgIGRlZmluZSBnem9wZW5fdyAgICAgICAgICAgICAgel9nem9wZW5fdwogIyAgICBlbmRpZgogIyAgICBkZWZpbmUgZ3pwcmludGYgICAgICAgICAgICAgIHpfZ3pwcmludGYKLSMgICAgZGVmaW5lIGd6dnByaW50ZiAgICAgICAgICAgICB6X2d6dnByaW50ZgogIyAgICBkZWZpbmUgZ3pwdXRjICAgICAgICAgICAgICAgIHpfZ3pwdXRjCiAjICAgIGRlZmluZSBnenB1dHMgICAgICAgICAgICAgICAgel9nenB1dHMKICMgICAgZGVmaW5lIGd6cmVhZCAgICAgICAgICAgICAgICB6X2d6cmVhZApAQCAtODksMzIgKzk4LDM5IEBACiAjICAgIGRlZmluZSBnenRlbGwgICAgICAgICAgICAgICAgel9nenRlbGwKICMgICAgZGVmaW5lIGd6dGVsbDY0ICAgICAgICAgICAgICB6X2d6dGVsbDY0CiAjICAgIGRlZmluZSBnenVuZ2V0YyAgICAgICAgICAgICAgel9nenVuZ2V0YworIyAgICBkZWZpbmUgZ3p2cHJpbnRmICAgICAgICAgICAgIHpfZ3p2cHJpbnRmCiAjICAgIGRlZmluZSBnendyaXRlICAgICAgICAgICAgICAgel9nendyaXRlCiAjICBlbmRpZgogIyAgZGVmaW5lIGluZmxhdGUgICAgICAgICAgICAgICB6X2luZmxhdGUKICMgIGRlZmluZSBpbmZsYXRlQmFjayAgICAgICAgICAgel9pbmZsYXRlQmFjawogIyAgZGVmaW5lIGluZmxhdGVCYWNrRW5kICAgICAgICB6X2luZmxhdGVCYWNrRW5kCisjICBkZWZpbmUgaW5mbGF0ZUJhY2tJbml0ICAgICAgIHpfaW5mbGF0ZUJhY2tJbml0CiAjICBkZWZpbmUgaW5mbGF0ZUJhY2tJbml0XyAgICAgIHpfaW5mbGF0ZUJhY2tJbml0XworIyAgZGVmaW5lIGluZmxhdGVDb2Rlc1VzZWQgICAgICB6X2luZmxhdGVDb2Rlc1VzZWQKICMgIGRlZmluZSBpbmZsYXRlQ29weSAgICAgICAgICAgel9pbmZsYXRlQ29weQogIyAgZGVmaW5lIGluZmxhdGVFbmQgICAgICAgICAgICB6X2luZmxhdGVFbmQKKyMgIGRlZmluZSBpbmZsYXRlR2V0RGljdGlvbmFyeSAgel9pbmZsYXRlR2V0RGljdGlvbmFyeQogIyAgZGVmaW5lIGluZmxhdGVHZXRIZWFkZXIgICAgICB6X2luZmxhdGVHZXRIZWFkZXIKKyMgIGRlZmluZSBpbmZsYXRlSW5pdCAgICAgICAgICAgel9pbmZsYXRlSW5pdAorIyAgZGVmaW5lIGluZmxhdGVJbml0MiAgICAgICAgICB6X2luZmxhdGVJbml0MgogIyAgZGVmaW5lIGluZmxhdGVJbml0Ml8gICAgICAgICB6X2luZmxhdGVJbml0Ml8KICMgIGRlZmluZSBpbmZsYXRlSW5pdF8gICAgICAgICAgel9pbmZsYXRlSW5pdF8KICMgIGRlZmluZSBpbmZsYXRlTWFyayAgICAgICAgICAgel9pbmZsYXRlTWFyawogIyAgZGVmaW5lIGluZmxhdGVQcmltZSAgICAgICAgICB6X2luZmxhdGVQcmltZQogIyAgZGVmaW5lIGluZmxhdGVSZXNldCAgICAgICAgICB6X2luZmxhdGVSZXNldAogIyAgZGVmaW5lIGluZmxhdGVSZXNldDIgICAgICAgICB6X2luZmxhdGVSZXNldDIKKyMgIGRlZmluZSBpbmZsYXRlUmVzZXRLZWVwICAgICAgel9pbmZsYXRlUmVzZXRLZWVwCiAjICBkZWZpbmUgaW5mbGF0ZVNldERpY3Rpb25hcnkgIHpfaW5mbGF0ZVNldERpY3Rpb25hcnkKLSMgIGRlZmluZSBpbmZsYXRlR2V0RGljdGlvbmFyeSAgel9pbmZsYXRlR2V0RGljdGlvbmFyeQogIyAgZGVmaW5lIGluZmxhdGVTeW5jICAgICAgICAgICB6X2luZmxhdGVTeW5jCiAjICBkZWZpbmUgaW5mbGF0ZVN5bmNQb2ludCAgICAgIHpfaW5mbGF0ZVN5bmNQb2ludAogIyAgZGVmaW5lIGluZmxhdGVVbmRlcm1pbmUgICAgICB6X2luZmxhdGVVbmRlcm1pbmUKLSMgIGRlZmluZSBpbmZsYXRlUmVzZXRLZWVwICAgICAgel9pbmZsYXRlUmVzZXRLZWVwCisjICBkZWZpbmUgaW5mbGF0ZVZhbGlkYXRlICAgICAgIHpfaW5mbGF0ZVZhbGlkYXRlCiAjICBkZWZpbmUgaW5mbGF0ZV9jb3B5cmlnaHQgICAgIHpfaW5mbGF0ZV9jb3B5cmlnaHQKICMgIGRlZmluZSBpbmZsYXRlX2Zhc3QgICAgICAgICAgel9pbmZsYXRlX2Zhc3QKICMgIGRlZmluZSBpbmZsYXRlX3RhYmxlICAgICAgICAgel9pbmZsYXRlX3RhYmxlCiAjICBpZm5kZWYgWl9TT0xPCiAjICAgIGRlZmluZSB1bmNvbXByZXNzICAgICAgICAgICAgel91bmNvbXByZXNzCisjICAgIGRlZmluZSB1bmNvbXByZXNzMiAgICAgICAgICAgel91bmNvbXByZXNzMgogIyAgZW5kaWYKICMgIGRlZmluZSB6RXJyb3IgICAgICAgICAgICAgICAgel96RXJyb3IKICMgIGlmbmRlZiBaX1NPTE8KQEAgLTIyNCw5ICsyNDAsMTkgQEAKICMgIGRlZmluZSB6X2NvbnN0CiAjZW5kaWYKIAotLyogU29tZSBNYWMgY29tcGlsZXJzIG1lcmdlIGFsbCAuaCBmaWxlcyBpbmNvcnJlY3RseTogKi8KLSNpZiBkZWZpbmVkKF9fTVdFUktTX18pfHxkZWZpbmVkKGFwcGxlYyl8fGRlZmluZWQoVEhJTktfQyl8fGRlZmluZWQoX19TQ19fKQotIyAgZGVmaW5lIE5PX0RVTU1ZX0RFQ0wKKyNpZmRlZiBaX1NPTE8KKyAgIHR5cGVkZWYgdW5zaWduZWQgbG9uZyB6X3NpemVfdDsKKyNlbHNlCisjICBkZWZpbmUgel9sb25nbG9uZyBsb25nIGxvbmcKKyMgIGlmIGRlZmluZWQoTk9fU0laRV9UKQorICAgICB0eXBlZGVmIHVuc2lnbmVkIE5PX1NJWkVfVCB6X3NpemVfdDsKKyMgIGVsaWYgZGVmaW5lZChTVERDKQorIyAgICBpbmNsdWRlIDxzdGRkZWYuaD4KKyAgICAgdHlwZWRlZiBzaXplX3Qgel9zaXplX3Q7CisjICBlbHNlCisgICAgIHR5cGVkZWYgdW5zaWduZWQgbG9uZyB6X3NpemVfdDsKKyMgIGVuZGlmCisjICB1bmRlZiB6X2xvbmdsb25nCiAjZW5kaWYKIAogLyogTWF4aW11bSB2YWx1ZSBmb3IgbWVtTGV2ZWwgaW4gZGVmbGF0ZUluaXQyICovCkBAIC0yNTYsNyArMjgyLDcgQEAKICBPZiBjb3Vyc2UgdGhpcyB3aWxsIGdlbmVyYWxseSBkZWdyYWRlIGNvbXByZXNzaW9uICh0aGVyZSdzIG5vIGZyZWUgbHVuY2gpLgogCiAgICBUaGUgbWVtb3J5IHJlcXVpcmVtZW50cyBmb3IgaW5mbGF0ZSBhcmUgKGluIGJ5dGVzKSAxIDw8IHdpbmRvd0JpdHMKLSB0aGF0IGlzLCAzMksgZm9yIHdpbmRvd0JpdHM9MTUgKGRlZmF1bHQgdmFsdWUpIHBsdXMgYSBmZXcga2lsb2J5dGVzCisgdGhhdCBpcywgMzJLIGZvciB3aW5kb3dCaXRzPTE1IChkZWZhdWx0IHZhbHVlKSBwbHVzIGFib3V0IDcga2lsb2J5dGVzCiAgZm9yIHNtYWxsIG9iamVjdHMuCiAqLwogCkBAIC0zMjYsNiArMzUyLDkgQEAKICMgICAgaWZkZWYgRkFSCiAjICAgICAgdW5kZWYgRkFSCiAjICAgIGVuZGlmCisjICAgIGlmbmRlZiBXSU4zMl9MRUFOX0FORF9NRUFOCisjICAgICAgZGVmaW5lIFdJTjMyX0xFQU5fQU5EX01FQU4KKyMgICAgZW5kaWYKICMgICAgaW5jbHVkZSA8d2luZG93cy5oPgogICAgICAvKiBObyBuZWVkIGZvciBfZXhwb3J0LCB1c2UgWkxJQi5ERUYgaW5zdGVhZC4gKi8KICAgICAgLyogRm9yIGNvbXBsZXRlIFdpbmRvd3MgY29tcGF0aWJpbGl0eSwgdXNlIFdJTkFQSSwgbm90IF9fc3RkY2FsbC4gKi8KQEAgLTQ0NCwxMSArNDczLDE4IEBACiAjICB1bmRlZiBfTEFSR0VGSUxFNjRfU09VUkNFCiAjZW5kaWYKIAotI2lmIGRlZmluZWQoX19XQVRDT01DX18pICYmICFkZWZpbmVkKFpfSEFWRV9VTklTVERfSCkKLSMgIGRlZmluZSBaX0hBVkVfVU5JU1REX0gKKyNpZm5kZWYgWl9IQVZFX1VOSVNURF9ICisjICBpZmRlZiBfX1dBVENPTUNfXworIyAgICBkZWZpbmUgWl9IQVZFX1VOSVNURF9ICisjICBlbmRpZgorI2VuZGlmCisjaWZuZGVmIFpfSEFWRV9VTklTVERfSAorIyAgaWYgZGVmaW5lZChfTEFSR0VGSUxFNjRfU09VUkNFKSAmJiAhZGVmaW5lZChfV0lOMzIpCisjICAgIGRlZmluZSBaX0hBVkVfVU5JU1REX0gKKyMgIGVuZGlmCiAjZW5kaWYKICNpZm5kZWYgWl9TT0xPCi0jICBpZiBkZWZpbmVkKFpfSEFWRV9VTklTVERfSCkgfHwgZGVmaW5lZChfTEFSR0VGSUxFNjRfU09VUkNFKQorIyAgaWYgZGVmaW5lZChaX0hBVkVfVU5JU1REX0gpCiAjICAgIGluY2x1ZGUgPHVuaXN0ZC5oPiAgICAgICAgIC8qIGZvciBTRUVLXyosIG9mZl90LCBhbmQgX0xGUzY0X0xBUkdFRklMRSAqLwogIyAgICBpZmRlZiBWTVMKICMgICAgICBpbmNsdWRlIDx1bml4aW8uaD4gICAgICAgLyogZm9yIG9mZl90ICovCmRpZmYgLS1naXQgYS9zcmMvemxpYi4zIGIvc3JjL3psaWIuMwppbmRleCAwMTYwZTYyLi42ZjZlOTE0IDEwMDY0NAotLS0gYS9zcmMvemxpYi4zCisrKyBiL3NyYy96bGliLjMKQEAgLTEsNCArMSw0IEBACi0uVEggWkxJQiAzICIyOCBBcHIgMjAxMyIKKy5USCBaTElCIDMgIjEzIE9jdCAyMDIyIgogLlNIIE5BTUUKIHpsaWIgXC0gY29tcHJlc3Npb24vZGVjb21wcmVzc2lvbiBsaWJyYXJ5CiAuU0ggU1lOT1BTSVMKQEAgLTQ4LDMyICs0OCwxMCBAQAogdGhhdCBhY2NvbXBhbmllcyB0aGUgc291cmNlLgogLkxQCiAuSSB6bGliCi1pcyBhdmFpbGFibGUgaW4gSmF2YSB1c2luZyB0aGUgamF2YS51dGlsLnppcCBwYWNrYWdlOgotLklQCi1odHRwOi8vamF2YS5zdW4uY29tL2RldmVsb3Blci90ZWNobmljYWxBcnRpY2xlcy9Qcm9ncmFtbWluZy9jb21wcmVzc2lvbi8KK2lzIGJ1aWx0IGluIHRvIG1hbnkgbGFuZ3VhZ2VzIGFuZCBvcGVyYXRpbmcgc3lzdGVtcywgaW5jbHVkaW5nIGJ1dCBub3QgbGltaXRlZCB0bworSmF2YSwgUHl0aG9uLCAuTkVULCBQSFAsIFBlcmwsIFJ1YnksIFN3aWZ0LCBhbmQgR28uCiAuTFAKLUEgUGVybCBpbnRlcmZhY2UgdG8KLS5JUiB6bGliICwKLXdyaXR0ZW4gYnkgUGF1bCBNYXJxdWVzcyAocG1xc0BjcGFuLm9yZyksCi1pcyBhdmFpbGFibGUgYXQgQ1BBTiAoQ29tcHJlaGVuc2l2ZSBQZXJsIEFyY2hpdmUgTmV0d29yaykgc2l0ZXMsCi1pbmNsdWRpbmc6Ci0uSVAKLWh0dHA6Ly9zZWFyY2guY3Bhbi5vcmcvfnBtcXMvSU8tQ29tcHJlc3MtWmxpYi8KLS5MUAotQSBQeXRob24gaW50ZXJmYWNlIHRvCi0uSVIgemxpYiAsCi13cml0dGVuIGJ5IEEuTS4gS3VjaGxpbmcgKGFta0BtYWduZXQuY29tKSwKLWlzIGF2YWlsYWJsZSBpbiBQeXRob24gMS41IGFuZCBsYXRlciB2ZXJzaW9uczoKLS5JUAotaHR0cDovL2RvY3MucHl0aG9uLm9yZy9saWJyYXJ5L3psaWIuaHRtbAotLkxQCi0uSSB6bGliCi1pcyBidWlsdCBpbnRvCi0uSVIgdGNsOgotLklQCi1odHRwOi8vd2lraS50Y2wudGsvNDYxMAotLkxQCi1BbiBleHBlcmltZW50YWwgcGFja2FnZSB0byByZWFkIGFuZCB3cml0ZSBmaWxlcyBpbiAuemlwIGZvcm1hdCwKK0FuIGV4cGVyaW1lbnRhbCBwYWNrYWdlIHRvIHJlYWQgYW5kIHdyaXRlIGZpbGVzIGluIHRoZSAuemlwIGZvcm1hdCwKIHdyaXR0ZW4gb24gdG9wIG9mCiAuSSB6bGliCiBieSBHaWxsZXMgVm9sbGFudCAoaW5mb0B3aW5pbWFnZS5jb20pLApAQCAtOTIsNyArNzAsOSBAQAogLklQCiBodHRwOi8vemxpYi5uZXQvCiAuTFAKLVRoZSBkYXRhIGZvcm1hdCB1c2VkIGJ5IHRoZSB6bGliIGxpYnJhcnkgaXMgZGVzY3JpYmVkIGJ5IFJGQworVGhlIGRhdGEgZm9ybWF0IHVzZWQgYnkgdGhlCisuSSB6bGliCitsaWJyYXJ5IGlzIGRlc2NyaWJlZCBieSBSRkMKIChSZXF1ZXN0IGZvciBDb21tZW50cykgMTk1MCB0byAxOTUyIGluIHRoZSBmaWxlczoKIC5JUAogaHR0cDovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjMTk1MCAoZm9yIHRoZSB6bGliIGhlYWRlciBhbmQgdHJhaWxlciBmb3JtYXQpCkBAIC0xMjQsMTcgKzEwNCwzNSBAQAogYmVmb3JlIGFza2luZyBmb3IgaGVscC4KIFNlbmQgcXVlc3Rpb25zIGFuZC9vciBjb21tZW50cyB0byB6bGliQGd6aXAub3JnLAogb3IgKGZvciB0aGUgV2luZG93cyBETEwgdmVyc2lvbikgdG8gR2lsbGVzIFZvbGxhbnQgKGluZm9Ad2luaW1hZ2UuY29tKS4KLS5TSCBBVVRIT1JTCi1WZXJzaW9uIDEuMi44Ci1Db3B5cmlnaHQgKEMpIDE5OTUtMjAxMyBKZWFuLWxvdXAgR2FpbGx5IChqbG91cEBnemlwLm9yZykKLWFuZCBNYXJrIEFkbGVyIChtYWRsZXJAYWx1bW5pLmNhbHRlY2guZWR1KS4KKy5TSCBBVVRIT1JTIEFORCBMSUNFTlNFCitWZXJzaW9uIDEuMi4xMwogLkxQCi1UaGlzIHNvZnR3YXJlIGlzIHByb3ZpZGVkICJhcy1pcywiCi13aXRob3V0IGFueSBleHByZXNzIG9yIGltcGxpZWQgd2FycmFudHkuCi1JbiBubyBldmVudCB3aWxsIHRoZSBhdXRob3JzIGJlIGhlbGQgbGlhYmxlIGZvciBhbnkgZGFtYWdlcworQ29weXJpZ2h0IChDKSAxOTk1LTIwMjIgSmVhbi1sb3VwIEdhaWxseSBhbmQgTWFyayBBZGxlcgorLkxQCitUaGlzIHNvZnR3YXJlIGlzIHByb3ZpZGVkICdhcy1pcycsIHdpdGhvdXQgYW55IGV4cHJlc3Mgb3IgaW1wbGllZAord2FycmFudHkuICBJbiBubyBldmVudCB3aWxsIHRoZSBhdXRob3JzIGJlIGhlbGQgbGlhYmxlIGZvciBhbnkgZGFtYWdlcwogYXJpc2luZyBmcm9tIHRoZSB1c2Ugb2YgdGhpcyBzb2Z0d2FyZS4KLVNlZSB0aGUgZGlzdHJpYnV0aW9uIGRpcmVjdG9yeSB3aXRoIHJlc3BlY3QgdG8gcmVxdWlyZW1lbnRzCi1nb3Zlcm5pbmcgcmVkaXN0cmlidXRpb24uCisuTFAKK1Blcm1pc3Npb24gaXMgZ3JhbnRlZCB0byBhbnlvbmUgdG8gdXNlIHRoaXMgc29mdHdhcmUgZm9yIGFueSBwdXJwb3NlLAoraW5jbHVkaW5nIGNvbW1lcmNpYWwgYXBwbGljYXRpb25zLCBhbmQgdG8gYWx0ZXIgaXQgYW5kIHJlZGlzdHJpYnV0ZSBpdAorZnJlZWx5LCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgcmVzdHJpY3Rpb25zOgorLkxQCisubnIgc3RlcCAxIDEKKy5JUCBcbltzdGVwXS4gMworVGhlIG9yaWdpbiBvZiB0aGlzIHNvZnR3YXJlIG11c3Qgbm90IGJlIG1pc3JlcHJlc2VudGVkOyB5b3UgbXVzdCBub3QKK2NsYWltIHRoYXQgeW91IHdyb3RlIHRoZSBvcmlnaW5hbCBzb2Z0d2FyZS4gSWYgeW91IHVzZSB0aGlzIHNvZnR3YXJlCitpbiBhIHByb2R1Y3QsIGFuIGFja25vd2xlZGdtZW50IGluIHRoZSBwcm9kdWN0IGRvY3VtZW50YXRpb24gd291bGQgYmUKK2FwcHJlY2lhdGVkIGJ1dCBpcyBub3QgcmVxdWlyZWQuCisuSVAgXG4rW3N0ZXBdLgorQWx0ZXJlZCBzb3VyY2UgdmVyc2lvbnMgbXVzdCBiZSBwbGFpbmx5IG1hcmtlZCBhcyBzdWNoLCBhbmQgbXVzdCBub3QgYmUKK21pc3JlcHJlc2VudGVkIGFzIGJlaW5nIHRoZSBvcmlnaW5hbCBzb2Z0d2FyZS4KKy5JUCBcbitbc3RlcF0uCitUaGlzIG5vdGljZSBtYXkgbm90IGJlIHJlbW92ZWQgb3IgYWx0ZXJlZCBmcm9tIGFueSBzb3VyY2UgZGlzdHJpYnV0aW9uLgorLkxQCitKZWFuLWxvdXAgR2FpbGx5ICAgICAgICBNYXJrIEFkbGVyCisuYnIKK2psb3VwQGd6aXAub3JnICAgICAgICAgIG1hZGxlckBhbHVtbmkuY2FsdGVjaC5lZHUKKy5MUAogVGhlIGRlZmxhdGUgZm9ybWF0IHVzZWQgYnkKIC5JIHpsaWIKIHdhcyBkZWZpbmVkIGJ5IFBoaWwgS2F0ei4KZGlmZiAtLWdpdCBhL3NyYy96bGliLjMucGRmIGIvc3JjL3psaWIuMy5wZGYKaW5kZXggYTM0NmI1ZC4uODEzMmQ4NCAxMDA2NDQKLS0tIGEvc3JjL3psaWIuMy5wZGYKKysrIGIvc3JjL3psaWIuMy5wZGYKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvc3JjL3psaWIuaCBiL3NyYy96bGliLmgKaW5kZXggM2UwYzc2Ny4uOTUzY2I1MCAxMDA2NDQKLS0tIGEvc3JjL3psaWIuaAorKysgYi9zcmMvemxpYi5oCkBAIC0xLDcgKzEsNyBAQAogLyogemxpYi5oIC0tIGludGVyZmFjZSBvZiB0aGUgJ3psaWInIGdlbmVyYWwgcHVycG9zZSBjb21wcmVzc2lvbiBsaWJyYXJ5Ci0gIHZlcnNpb24gMS4yLjgsIEFwcmlsIDI4dGgsIDIwMTMKKyAgdmVyc2lvbiAxLjIuMTMsIE9jdG9iZXIgMTN0aCwgMjAyMgogCi0gIENvcHlyaWdodCAoQykgMTk5NS0yMDEzIEplYW4tbG91cCBHYWlsbHkgYW5kIE1hcmsgQWRsZXIKKyAgQ29weXJpZ2h0IChDKSAxOTk1LTIwMjIgSmVhbi1sb3VwIEdhaWxseSBhbmQgTWFyayBBZGxlcgogCiAgIFRoaXMgc29mdHdhcmUgaXMgcHJvdmlkZWQgJ2FzLWlzJywgd2l0aG91dCBhbnkgZXhwcmVzcyBvciBpbXBsaWVkCiAgIHdhcnJhbnR5LiAgSW4gbm8gZXZlbnQgd2lsbCB0aGUgYXV0aG9ycyBiZSBoZWxkIGxpYWJsZSBmb3IgYW55IGRhbWFnZXMKQEAgLTM3LDExICszNywxMSBAQAogZXh0ZXJuICJDIiB7CiAjZW5kaWYKIAotI2RlZmluZSBaTElCX1ZFUlNJT04gIjEuMi44IgotI2RlZmluZSBaTElCX1ZFUk5VTSAweDEyODAKKyNkZWZpbmUgWkxJQl9WRVJTSU9OICIxLjIuMTMiCisjZGVmaW5lIFpMSUJfVkVSTlVNIDB4MTJkMAogI2RlZmluZSBaTElCX1ZFUl9NQUpPUiAxCiAjZGVmaW5lIFpMSUJfVkVSX01JTk9SIDIKLSNkZWZpbmUgWkxJQl9WRVJfUkVWSVNJT04gOAorI2RlZmluZSBaTElCX1ZFUl9SRVZJU0lPTiAxMwogI2RlZmluZSBaTElCX1ZFUl9TVUJSRVZJU0lPTiAwCiAKIC8qCkBAIC02NSw3ICs2NSw4IEBACiAgIHdpdGggImd6Ii4gIFRoZSBnemlwIGZvcm1hdCBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgemxpYiBmb3JtYXQuICBnemlwIGlzIGEKICAgZ3ppcCB3cmFwcGVyLCBkb2N1bWVudGVkIGluIFJGQyAxOTUyLCB3cmFwcGVkIGFyb3VuZCBhIGRlZmxhdGUgc3RyZWFtLgogCi0gICAgVGhpcyBsaWJyYXJ5IGNhbiBvcHRpb25hbGx5IHJlYWQgYW5kIHdyaXRlIGd6aXAgc3RyZWFtcyBpbiBtZW1vcnkgYXMgd2VsbC4KKyAgICBUaGlzIGxpYnJhcnkgY2FuIG9wdGlvbmFsbHkgcmVhZCBhbmQgd3JpdGUgZ3ppcCBhbmQgcmF3IGRlZmxhdGUgc3RyZWFtcyBpbgorICBtZW1vcnkgYXMgd2VsbC4KIAogICAgIFRoZSB6bGliIGZvcm1hdCB3YXMgZGVzaWduZWQgdG8gYmUgY29tcGFjdCBhbmQgZmFzdCBmb3IgdXNlIGluIG1lbW9yeQogICBhbmQgb24gY29tbXVuaWNhdGlvbnMgY2hhbm5lbHMuICBUaGUgZ3ppcCBmb3JtYXQgd2FzIGRlc2lnbmVkIGZvciBzaW5nbGUtCkBAIC03NCw3ICs3NSw3IEBACiAKICAgICBUaGUgbGlicmFyeSBkb2VzIG5vdCBpbnN0YWxsIGFueSBzaWduYWwgaGFuZGxlci4gIFRoZSBkZWNvZGVyIGNoZWNrcwogICB0aGUgY29uc2lzdGVuY3kgb2YgdGhlIGNvbXByZXNzZWQgZGF0YSwgc28gdGhlIGxpYnJhcnkgc2hvdWxkIG5ldmVyIGNyYXNoCi0gIGV2ZW4gaW4gY2FzZSBvZiBjb3JydXB0ZWQgaW5wdXQuCisgIGV2ZW4gaW4gdGhlIGNhc2Ugb2YgY29ycnVwdGVkIGlucHV0LgogKi8KIAogdHlwZWRlZiB2b2lkcGYgKCphbGxvY19mdW5jKSBPRigodm9pZHBmIG9wYXF1ZSwgdUludCBpdGVtcywgdUludCBzaXplKSk7CkBAIC04Nyw3ICs4OCw3IEBACiAgICAgdUludCAgICAgYXZhaWxfaW47ICAvKiBudW1iZXIgb2YgYnl0ZXMgYXZhaWxhYmxlIGF0IG5leHRfaW4gKi8KICAgICB1TG9uZyAgICB0b3RhbF9pbjsgIC8qIHRvdGFsIG51bWJlciBvZiBpbnB1dCBieXRlcyByZWFkIHNvIGZhciAqLwogCi0gICAgQnl0ZWYgICAgKm5leHRfb3V0OyAvKiBuZXh0IG91dHB1dCBieXRlIHNob3VsZCBiZSBwdXQgdGhlcmUgKi8KKyAgICBCeXRlZiAgICAqbmV4dF9vdXQ7IC8qIG5leHQgb3V0cHV0IGJ5dGUgd2lsbCBnbyBoZXJlICovCiAgICAgdUludCAgICAgYXZhaWxfb3V0OyAvKiByZW1haW5pbmcgZnJlZSBzcGFjZSBhdCBuZXh0X291dCAqLwogICAgIHVMb25nICAgIHRvdGFsX291dDsgLyogdG90YWwgbnVtYmVyIG9mIGJ5dGVzIG91dHB1dCBzbyBmYXIgKi8KIApAQCAtOTgsOCArOTksOSBAQAogICAgIGZyZWVfZnVuYyAgemZyZWU7ICAgLyogdXNlZCB0byBmcmVlIHRoZSBpbnRlcm5hbCBzdGF0ZSAqLwogICAgIHZvaWRwZiAgICAgb3BhcXVlOyAgLyogcHJpdmF0ZSBkYXRhIG9iamVjdCBwYXNzZWQgdG8gemFsbG9jIGFuZCB6ZnJlZSAqLwogCi0gICAgaW50ICAgICBkYXRhX3R5cGU7ICAvKiBiZXN0IGd1ZXNzIGFib3V0IHRoZSBkYXRhIHR5cGU6IGJpbmFyeSBvciB0ZXh0ICovCi0gICAgdUxvbmcgICBhZGxlcjsgICAgICAvKiBhZGxlcjMyIHZhbHVlIG9mIHRoZSB1bmNvbXByZXNzZWQgZGF0YSAqLworICAgIGludCAgICAgZGF0YV90eXBlOyAgLyogYmVzdCBndWVzcyBhYm91dCB0aGUgZGF0YSB0eXBlOiBiaW5hcnkgb3IgdGV4dAorICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIGRlZmxhdGUsIG9yIHRoZSBkZWNvZGluZyBzdGF0ZSBmb3IgaW5mbGF0ZSAqLworICAgIHVMb25nICAgYWRsZXI7ICAgICAgLyogQWRsZXItMzIgb3IgQ1JDLTMyIHZhbHVlIG9mIHRoZSB1bmNvbXByZXNzZWQgZGF0YSAqLwogICAgIHVMb25nICAgcmVzZXJ2ZWQ7ICAgLyogcmVzZXJ2ZWQgZm9yIGZ1dHVyZSB1c2UgKi8KIH0gel9zdHJlYW07CiAKQEAgLTE0Miw3ICsxNDQsOSBAQAogCiAgICAgIHphbGxvYyBtdXN0IHJldHVybiBaX05VTEwgaWYgdGhlcmUgaXMgbm90IGVub3VnaCBtZW1vcnkgZm9yIHRoZSBvYmplY3QuCiAgICBJZiB6bGliIGlzIHVzZWQgaW4gYSBtdWx0aS10aHJlYWRlZCBhcHBsaWNhdGlvbiwgemFsbG9jIGFuZCB6ZnJlZSBtdXN0IGJlCi0gICB0aHJlYWQgc2FmZS4KKyAgIHRocmVhZCBzYWZlLiAgSW4gdGhhdCBjYXNlLCB6bGliIGlzIHRocmVhZC1zYWZlLiAgV2hlbiB6YWxsb2MgYW5kIHpmcmVlIGFyZQorICAgWl9OVUxMIG9uIGVudHJ5IHRvIHRoZSBpbml0aWFsaXphdGlvbiBmdW5jdGlvbiwgdGhleSBhcmUgc2V0IHRvIGludGVybmFsCisgICByb3V0aW5lcyB0aGF0IHVzZSB0aGUgc3RhbmRhcmQgbGlicmFyeSBmdW5jdGlvbnMgbWFsbG9jKCkgYW5kIGZyZWUoKS4KIAogICAgICBPbiAxNi1iaXQgc3lzdGVtcywgdGhlIGZ1bmN0aW9ucyB6YWxsb2MgYW5kIHpmcmVlIG11c3QgYmUgYWJsZSB0byBhbGxvY2F0ZQogICAgZXhhY3RseSA2NTUzNiBieXRlcywgYnV0IHdpbGwgbm90IGJlIHJlcXVpcmVkIHRvIGFsbG9jYXRlIG1vcmUgdGhhbiB0aGlzIGlmCkBAIC0xNTUsNyArMTU5LDcgQEAKIAogICAgICBUaGUgZmllbGRzIHRvdGFsX2luIGFuZCB0b3RhbF9vdXQgY2FuIGJlIHVzZWQgZm9yIHN0YXRpc3RpY3Mgb3IgcHJvZ3Jlc3MKICAgIHJlcG9ydHMuICBBZnRlciBjb21wcmVzc2lvbiwgdG90YWxfaW4gaG9sZHMgdGhlIHRvdGFsIHNpemUgb2YgdGhlCi0gICB1bmNvbXByZXNzZWQgZGF0YSBhbmQgbWF5IGJlIHNhdmVkIGZvciB1c2UgaW4gdGhlIGRlY29tcHJlc3NvciAocGFydGljdWxhcmx5CisgICB1bmNvbXByZXNzZWQgZGF0YSBhbmQgbWF5IGJlIHNhdmVkIGZvciB1c2UgYnkgdGhlIGRlY29tcHJlc3NvciAocGFydGljdWxhcmx5CiAgICBpZiB0aGUgZGVjb21wcmVzc29yIHdhbnRzIHRvIGRlY29tcHJlc3MgZXZlcnl0aGluZyBpbiBhIHNpbmdsZSBzdGVwKS4KICovCiAKQEAgLTIwMCw3ICsyMDQsNyBAQAogI2RlZmluZSBaX1RFWFQgICAgIDEKICNkZWZpbmUgWl9BU0NJSSAgICBaX1RFWFQgICAvKiBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIDEuMi4yIGFuZCBlYXJsaWVyICovCiAjZGVmaW5lIFpfVU5LTk9XTiAgMgotLyogUG9zc2libGUgdmFsdWVzIG9mIHRoZSBkYXRhX3R5cGUgZmllbGQgKHRob3VnaCBzZWUgaW5mbGF0ZSgpKSAqLworLyogUG9zc2libGUgdmFsdWVzIG9mIHRoZSBkYXRhX3R5cGUgZmllbGQgZm9yIGRlZmxhdGUoKSAqLwogCiAjZGVmaW5lIFpfREVGTEFURUQgICA4CiAvKiBUaGUgZGVmbGF0ZSBjb21wcmVzc2lvbiBtZXRob2QgKHRoZSBvbmx5IG9uZSBzdXBwb3J0ZWQgaW4gdGhpcyB2ZXJzaW9uKSAqLwpAQCAtMjU4LDExICsyNjIsMTEgQEAKICAgICBlbm91Z2ggcm9vbSBpbiB0aGUgb3V0cHV0IGJ1ZmZlciksIG5leHRfaW4gYW5kIGF2YWlsX2luIGFyZSB1cGRhdGVkIGFuZAogICAgIHByb2Nlc3Npbmcgd2lsbCByZXN1bWUgYXQgdGhpcyBwb2ludCBmb3IgdGhlIG5leHQgY2FsbCBvZiBkZWZsYXRlKCkuCiAKLSAgLSBQcm92aWRlIG1vcmUgb3V0cHV0IHN0YXJ0aW5nIGF0IG5leHRfb3V0IGFuZCB1cGRhdGUgbmV4dF9vdXQgYW5kIGF2YWlsX291dAorICAtIEdlbmVyYXRlIG1vcmUgb3V0cHV0IHN0YXJ0aW5nIGF0IG5leHRfb3V0IGFuZCB1cGRhdGUgbmV4dF9vdXQgYW5kIGF2YWlsX291dAogICAgIGFjY29yZGluZ2x5LiAgVGhpcyBhY3Rpb24gaXMgZm9yY2VkIGlmIHRoZSBwYXJhbWV0ZXIgZmx1c2ggaXMgbm9uIHplcm8uCiAgICAgRm9yY2luZyBmbHVzaCBmcmVxdWVudGx5IGRlZ3JhZGVzIHRoZSBjb21wcmVzc2lvbiByYXRpbywgc28gdGhpcyBwYXJhbWV0ZXIKLSAgICBzaG91bGQgYmUgc2V0IG9ubHkgd2hlbiBuZWNlc3NhcnkgKGluIGludGVyYWN0aXZlIGFwcGxpY2F0aW9ucykuICBTb21lCi0gICAgb3V0cHV0IG1heSBiZSBwcm92aWRlZCBldmVuIGlmIGZsdXNoIGlzIG5vdCBzZXQuCisgICAgc2hvdWxkIGJlIHNldCBvbmx5IHdoZW4gbmVjZXNzYXJ5LiAgU29tZSBvdXRwdXQgbWF5IGJlIHByb3ZpZGVkIGV2ZW4gaWYKKyAgICBmbHVzaCBpcyB6ZXJvLgogCiAgICAgQmVmb3JlIHRoZSBjYWxsIG9mIGRlZmxhdGUoKSwgdGhlIGFwcGxpY2F0aW9uIHNob3VsZCBlbnN1cmUgdGhhdCBhdCBsZWFzdAogICBvbmUgb2YgdGhlIGFjdGlvbnMgaXMgcG9zc2libGUsIGJ5IHByb3ZpZGluZyBtb3JlIGlucHV0IGFuZC9vciBjb25zdW1pbmcgbW9yZQpAQCAtMjcxLDcgKzI3NSw5IEBACiAgIG91dHB1dCB3aGVuIGl0IHdhbnRzLCBmb3IgZXhhbXBsZSB3aGVuIHRoZSBvdXRwdXQgYnVmZmVyIGlzIGZ1bGwgKGF2YWlsX291dAogICA9PSAwKSwgb3IgYWZ0ZXIgZWFjaCBjYWxsIG9mIGRlZmxhdGUoKS4gIElmIGRlZmxhdGUgcmV0dXJucyBaX09LIGFuZCB3aXRoCiAgIHplcm8gYXZhaWxfb3V0LCBpdCBtdXN0IGJlIGNhbGxlZCBhZ2FpbiBhZnRlciBtYWtpbmcgcm9vbSBpbiB0aGUgb3V0cHV0Ci0gIGJ1ZmZlciBiZWNhdXNlIHRoZXJlIG1pZ2h0IGJlIG1vcmUgb3V0cHV0IHBlbmRpbmcuCisgIGJ1ZmZlciBiZWNhdXNlIHRoZXJlIG1pZ2h0IGJlIG1vcmUgb3V0cHV0IHBlbmRpbmcuIFNlZSBkZWZsYXRlUGVuZGluZygpLAorICB3aGljaCBjYW4gYmUgdXNlZCBpZiBkZXNpcmVkIHRvIGRldGVybWluZSB3aGV0aGVyIG9yIG5vdCB0aGVyZSBpcyBtb3JlIG91dHB1dAorICBpbiB0aGF0IGNhc2UuCiAKICAgICBOb3JtYWxseSB0aGUgcGFyYW1ldGVyIGZsdXNoIGlzIHNldCB0byBaX05PX0ZMVVNILCB3aGljaCBhbGxvd3MgZGVmbGF0ZSB0bwogICBkZWNpZGUgaG93IG11Y2ggZGF0YSB0byBhY2N1bXVsYXRlIGJlZm9yZSBwcm9kdWNpbmcgb3V0cHV0LCBpbiBvcmRlciB0bwpAQCAtMjkyLDggKzI5OCw4IEBACiAgIGlucHV0IGRhdGEgc28gZmFyIHdpbGwgYmUgYXZhaWxhYmxlIHRvIHRoZSBkZWNvbXByZXNzb3IsIGFzIGZvciBaX1NZTkNfRkxVU0guCiAgIFRoaXMgY29tcGxldGVzIHRoZSBjdXJyZW50IGRlZmxhdGUgYmxvY2sgYW5kIGZvbGxvd3MgaXQgd2l0aCBhbiBlbXB0eSBmaXhlZAogICBjb2RlcyBibG9jayB0aGF0IGlzIDEwIGJpdHMgbG9uZy4gIFRoaXMgYXNzdXJlcyB0aGF0IGVub3VnaCBieXRlcyBhcmUgb3V0cHV0Ci0gIGluIG9yZGVyIGZvciB0aGUgZGVjb21wcmVzc29yIHRvIGZpbmlzaCB0aGUgYmxvY2sgYmVmb3JlIHRoZSBlbXB0eSBmaXhlZCBjb2RlCi0gIGJsb2NrLgorICBpbiBvcmRlciBmb3IgdGhlIGRlY29tcHJlc3NvciB0byBmaW5pc2ggdGhlIGJsb2NrIGJlZm9yZSB0aGUgZW1wdHkgZml4ZWQKKyAgY29kZXMgYmxvY2suCiAKICAgICBJZiBmbHVzaCBpcyBzZXQgdG8gWl9CTE9DSywgYSBkZWZsYXRlIGJsb2NrIGlzIGNvbXBsZXRlZCBhbmQgZW1pdHRlZCwgYXMKICAgZm9yIFpfU1lOQ19GTFVTSCwgYnV0IHRoZSBvdXRwdXQgaXMgbm90IGFsaWduZWQgb24gYSBieXRlIGJvdW5kYXJ5LCBhbmQgdXAgdG8KQEAgLTMxOSwzNCArMzI1LDM4IEBACiAKICAgICBJZiB0aGUgcGFyYW1ldGVyIGZsdXNoIGlzIHNldCB0byBaX0ZJTklTSCwgcGVuZGluZyBpbnB1dCBpcyBwcm9jZXNzZWQsCiAgIHBlbmRpbmcgb3V0cHV0IGlzIGZsdXNoZWQgYW5kIGRlZmxhdGUgcmV0dXJucyB3aXRoIFpfU1RSRUFNX0VORCBpZiB0aGVyZSB3YXMKLSAgZW5vdWdoIG91dHB1dCBzcGFjZTsgaWYgZGVmbGF0ZSByZXR1cm5zIHdpdGggWl9PSywgdGhpcyBmdW5jdGlvbiBtdXN0IGJlCi0gIGNhbGxlZCBhZ2FpbiB3aXRoIFpfRklOSVNIIGFuZCBtb3JlIG91dHB1dCBzcGFjZSAodXBkYXRlZCBhdmFpbF9vdXQpIGJ1dCBubwotICBtb3JlIGlucHV0IGRhdGEsIHVudGlsIGl0IHJldHVybnMgd2l0aCBaX1NUUkVBTV9FTkQgb3IgYW4gZXJyb3IuICBBZnRlcgotICBkZWZsYXRlIGhhcyByZXR1cm5lZCBaX1NUUkVBTV9FTkQsIHRoZSBvbmx5IHBvc3NpYmxlIG9wZXJhdGlvbnMgb24gdGhlIHN0cmVhbQotICBhcmUgZGVmbGF0ZVJlc2V0IG9yIGRlZmxhdGVFbmQuCisgIGVub3VnaCBvdXRwdXQgc3BhY2UuICBJZiBkZWZsYXRlIHJldHVybnMgd2l0aCBaX09LIG9yIFpfQlVGX0VSUk9SLCB0aGlzCisgIGZ1bmN0aW9uIG11c3QgYmUgY2FsbGVkIGFnYWluIHdpdGggWl9GSU5JU0ggYW5kIG1vcmUgb3V0cHV0IHNwYWNlICh1cGRhdGVkCisgIGF2YWlsX291dCkgYnV0IG5vIG1vcmUgaW5wdXQgZGF0YSwgdW50aWwgaXQgcmV0dXJucyB3aXRoIFpfU1RSRUFNX0VORCBvciBhbgorICBlcnJvci4gIEFmdGVyIGRlZmxhdGUgaGFzIHJldHVybmVkIFpfU1RSRUFNX0VORCwgdGhlIG9ubHkgcG9zc2libGUgb3BlcmF0aW9ucworICBvbiB0aGUgc3RyZWFtIGFyZSBkZWZsYXRlUmVzZXQgb3IgZGVmbGF0ZUVuZC4KIAotICAgIFpfRklOSVNIIGNhbiBiZSB1c2VkIGltbWVkaWF0ZWx5IGFmdGVyIGRlZmxhdGVJbml0IGlmIGFsbCB0aGUgY29tcHJlc3Npb24KLSAgaXMgdG8gYmUgZG9uZSBpbiBhIHNpbmdsZSBzdGVwLiAgSW4gdGhpcyBjYXNlLCBhdmFpbF9vdXQgbXVzdCBiZSBhdCBsZWFzdCB0aGUKLSAgdmFsdWUgcmV0dXJuZWQgYnkgZGVmbGF0ZUJvdW5kIChzZWUgYmVsb3cpLiAgVGhlbiBkZWZsYXRlIGlzIGd1YXJhbnRlZWQgdG8KLSAgcmV0dXJuIFpfU1RSRUFNX0VORC4gIElmIG5vdCBlbm91Z2ggb3V0cHV0IHNwYWNlIGlzIHByb3ZpZGVkLCBkZWZsYXRlIHdpbGwKLSAgbm90IHJldHVybiBaX1NUUkVBTV9FTkQsIGFuZCBpdCBtdXN0IGJlIGNhbGxlZCBhZ2FpbiBhcyBkZXNjcmliZWQgYWJvdmUuCisgICAgWl9GSU5JU0ggY2FuIGJlIHVzZWQgaW4gdGhlIGZpcnN0IGRlZmxhdGUgY2FsbCBhZnRlciBkZWZsYXRlSW5pdCBpZiBhbGwgdGhlCisgIGNvbXByZXNzaW9uIGlzIHRvIGJlIGRvbmUgaW4gYSBzaW5nbGUgc3RlcC4gIEluIG9yZGVyIHRvIGNvbXBsZXRlIGluIG9uZQorICBjYWxsLCBhdmFpbF9vdXQgbXVzdCBiZSBhdCBsZWFzdCB0aGUgdmFsdWUgcmV0dXJuZWQgYnkgZGVmbGF0ZUJvdW5kIChzZWUKKyAgYmVsb3cpLiAgVGhlbiBkZWZsYXRlIGlzIGd1YXJhbnRlZWQgdG8gcmV0dXJuIFpfU1RSRUFNX0VORC4gIElmIG5vdCBlbm91Z2gKKyAgb3V0cHV0IHNwYWNlIGlzIHByb3ZpZGVkLCBkZWZsYXRlIHdpbGwgbm90IHJldHVybiBaX1NUUkVBTV9FTkQsIGFuZCBpdCBtdXN0CisgIGJlIGNhbGxlZCBhZ2FpbiBhcyBkZXNjcmliZWQgYWJvdmUuCiAKLSAgICBkZWZsYXRlKCkgc2V0cyBzdHJtLT5hZGxlciB0byB0aGUgYWRsZXIzMiBjaGVja3N1bSBvZiBhbGwgaW5wdXQgcmVhZAotICBzbyBmYXIgKHRoYXQgaXMsIHRvdGFsX2luIGJ5dGVzKS4KKyAgICBkZWZsYXRlKCkgc2V0cyBzdHJtLT5hZGxlciB0byB0aGUgQWRsZXItMzIgY2hlY2tzdW0gb2YgYWxsIGlucHV0IHJlYWQKKyAgc28gZmFyICh0aGF0IGlzLCB0b3RhbF9pbiBieXRlcykuICBJZiBhIGd6aXAgc3RyZWFtIGlzIGJlaW5nIGdlbmVyYXRlZCwgdGhlbgorICBzdHJtLT5hZGxlciB3aWxsIGJlIHRoZSBDUkMtMzIgY2hlY2tzdW0gb2YgdGhlIGlucHV0IHJlYWQgc28gZmFyLiAgKFNlZQorICBkZWZsYXRlSW5pdDIgYmVsb3cuKQogCiAgICAgZGVmbGF0ZSgpIG1heSB1cGRhdGUgc3RybS0+ZGF0YV90eXBlIGlmIGl0IGNhbiBtYWtlIGEgZ29vZCBndWVzcyBhYm91dAotICB0aGUgaW5wdXQgZGF0YSB0eXBlIChaX0JJTkFSWSBvciBaX1RFWFQpLiAgSW4gZG91YnQsIHRoZSBkYXRhIGlzIGNvbnNpZGVyZWQKLSAgYmluYXJ5LiAgVGhpcyBmaWVsZCBpcyBvbmx5IGZvciBpbmZvcm1hdGlvbiBwdXJwb3NlcyBhbmQgZG9lcyBub3QgYWZmZWN0IHRoZQotICBjb21wcmVzc2lvbiBhbGdvcml0aG0gaW4gYW55IG1hbm5lci4KKyAgdGhlIGlucHV0IGRhdGEgdHlwZSAoWl9CSU5BUlkgb3IgWl9URVhUKS4gIElmIGluIGRvdWJ0LCB0aGUgZGF0YSBpcworICBjb25zaWRlcmVkIGJpbmFyeS4gIFRoaXMgZmllbGQgaXMgb25seSBmb3IgaW5mb3JtYXRpb24gcHVycG9zZXMgYW5kIGRvZXMgbm90CisgIGFmZmVjdCB0aGUgY29tcHJlc3Npb24gYWxnb3JpdGhtIGluIGFueSBtYW5uZXIuCiAKICAgICBkZWZsYXRlKCkgcmV0dXJucyBaX09LIGlmIHNvbWUgcHJvZ3Jlc3MgaGFzIGJlZW4gbWFkZSAobW9yZSBpbnB1dAogICBwcm9jZXNzZWQgb3IgbW9yZSBvdXRwdXQgcHJvZHVjZWQpLCBaX1NUUkVBTV9FTkQgaWYgYWxsIGlucHV0IGhhcyBiZWVuCiAgIGNvbnN1bWVkIGFuZCBhbGwgb3V0cHV0IGhhcyBiZWVuIHByb2R1Y2VkIChvbmx5IHdoZW4gZmx1c2ggaXMgc2V0IHRvCiAgIFpfRklOSVNIKSwgWl9TVFJFQU1fRVJST1IgaWYgdGhlIHN0cmVhbSBzdGF0ZSB3YXMgaW5jb25zaXN0ZW50IChmb3IgZXhhbXBsZQotICBpZiBuZXh0X2luIG9yIG5leHRfb3V0IHdhcyBaX05VTEwpLCBaX0JVRl9FUlJPUiBpZiBubyBwcm9ncmVzcyBpcyBwb3NzaWJsZQotICAoZm9yIGV4YW1wbGUgYXZhaWxfaW4gb3IgYXZhaWxfb3V0IHdhcyB6ZXJvKS4gIE5vdGUgdGhhdCBaX0JVRl9FUlJPUiBpcyBub3QKLSAgZmF0YWwsIGFuZCBkZWZsYXRlKCkgY2FuIGJlIGNhbGxlZCBhZ2FpbiB3aXRoIG1vcmUgaW5wdXQgYW5kIG1vcmUgb3V0cHV0Ci0gIHNwYWNlIHRvIGNvbnRpbnVlIGNvbXByZXNzaW5nLgorICBpZiBuZXh0X2luIG9yIG5leHRfb3V0IHdhcyBaX05VTEwgb3IgdGhlIHN0YXRlIHdhcyBpbmFkdmVydGVudGx5IHdyaXR0ZW4gb3ZlcgorICBieSB0aGUgYXBwbGljYXRpb24pLCBvciBaX0JVRl9FUlJPUiBpZiBubyBwcm9ncmVzcyBpcyBwb3NzaWJsZSAoZm9yIGV4YW1wbGUKKyAgYXZhaWxfaW4gb3IgYXZhaWxfb3V0IHdhcyB6ZXJvKS4gIE5vdGUgdGhhdCBaX0JVRl9FUlJPUiBpcyBub3QgZmF0YWwsIGFuZAorICBkZWZsYXRlKCkgY2FuIGJlIGNhbGxlZCBhZ2FpbiB3aXRoIG1vcmUgaW5wdXQgYW5kIG1vcmUgb3V0cHV0IHNwYWNlIHRvCisgIGNvbnRpbnVlIGNvbXByZXNzaW5nLgogKi8KIAogCkBAIC0zNjksMjMgKzM3OSwyMSBAQAogCiAgICAgIEluaXRpYWxpemVzIHRoZSBpbnRlcm5hbCBzdHJlYW0gc3RhdGUgZm9yIGRlY29tcHJlc3Npb24uICBUaGUgZmllbGRzCiAgICBuZXh0X2luLCBhdmFpbF9pbiwgemFsbG9jLCB6ZnJlZSBhbmQgb3BhcXVlIG11c3QgYmUgaW5pdGlhbGl6ZWQgYmVmb3JlIGJ5Ci0gICB0aGUgY2FsbGVyLiAgSWYgbmV4dF9pbiBpcyBub3QgWl9OVUxMIGFuZCBhdmFpbF9pbiBpcyBsYXJnZSBlbm91Z2ggKHRoZQotICAgZXhhY3QgdmFsdWUgZGVwZW5kcyBvbiB0aGUgY29tcHJlc3Npb24gbWV0aG9kKSwgaW5mbGF0ZUluaXQgZGV0ZXJtaW5lcyB0aGUKLSAgIGNvbXByZXNzaW9uIG1ldGhvZCBmcm9tIHRoZSB6bGliIGhlYWRlciBhbmQgYWxsb2NhdGVzIGFsbCBkYXRhIHN0cnVjdHVyZXMKLSAgIGFjY29yZGluZ2x5OyBvdGhlcndpc2UgdGhlIGFsbG9jYXRpb24gd2lsbCBiZSBkZWZlcnJlZCB0byB0aGUgZmlyc3QgY2FsbCBvZgotICAgaW5mbGF0ZS4gIElmIHphbGxvYyBhbmQgemZyZWUgYXJlIHNldCB0byBaX05VTEwsIGluZmxhdGVJbml0IHVwZGF0ZXMgdGhlbSB0bwotICAgdXNlIGRlZmF1bHQgYWxsb2NhdGlvbiBmdW5jdGlvbnMuCisgICB0aGUgY2FsbGVyLiAgSW4gdGhlIGN1cnJlbnQgdmVyc2lvbiBvZiBpbmZsYXRlLCB0aGUgcHJvdmlkZWQgaW5wdXQgaXMgbm90CisgICByZWFkIG9yIGNvbnN1bWVkLiAgVGhlIGFsbG9jYXRpb24gb2YgYSBzbGlkaW5nIHdpbmRvdyB3aWxsIGJlIGRlZmVycmVkIHRvCisgICB0aGUgZmlyc3QgY2FsbCBvZiBpbmZsYXRlIChpZiB0aGUgZGVjb21wcmVzc2lvbiBkb2VzIG5vdCBjb21wbGV0ZSBvbiB0aGUKKyAgIGZpcnN0IGNhbGwpLiAgSWYgemFsbG9jIGFuZCB6ZnJlZSBhcmUgc2V0IHRvIFpfTlVMTCwgaW5mbGF0ZUluaXQgdXBkYXRlcworICAgdGhlbSB0byB1c2UgZGVmYXVsdCBhbGxvY2F0aW9uIGZ1bmN0aW9ucy4KIAogICAgICBpbmZsYXRlSW5pdCByZXR1cm5zIFpfT0sgaWYgc3VjY2VzcywgWl9NRU1fRVJST1IgaWYgdGhlcmUgd2FzIG5vdCBlbm91Z2gKICAgIG1lbW9yeSwgWl9WRVJTSU9OX0VSUk9SIGlmIHRoZSB6bGliIGxpYnJhcnkgdmVyc2lvbiBpcyBpbmNvbXBhdGlibGUgd2l0aCB0aGUKICAgIHZlcnNpb24gYXNzdW1lZCBieSB0aGUgY2FsbGVyLCBvciBaX1NUUkVBTV9FUlJPUiBpZiB0aGUgcGFyYW1ldGVycyBhcmUKICAgIGludmFsaWQsIHN1Y2ggYXMgYSBudWxsIHBvaW50ZXIgdG8gdGhlIHN0cnVjdHVyZS4gIG1zZyBpcyBzZXQgdG8gbnVsbCBpZgotICAgdGhlcmUgaXMgbm8gZXJyb3IgbWVzc2FnZS4gIGluZmxhdGVJbml0IGRvZXMgbm90IHBlcmZvcm0gYW55IGRlY29tcHJlc3Npb24KLSAgIGFwYXJ0IGZyb20gcG9zc2libHkgcmVhZGluZyB0aGUgemxpYiBoZWFkZXIgaWYgcHJlc2VudDogYWN0dWFsIGRlY29tcHJlc3Npb24KLSAgIHdpbGwgYmUgZG9uZSBieSBpbmZsYXRlKCkuICAoU28gbmV4dF9pbiBhbmQgYXZhaWxfaW4gbWF5IGJlIG1vZGlmaWVkLCBidXQKLSAgIG5leHRfb3V0IGFuZCBhdmFpbF9vdXQgYXJlIHVudXNlZCBhbmQgdW5jaGFuZ2VkLikgVGhlIGN1cnJlbnQgaW1wbGVtZW50YXRpb24KLSAgIG9mIGluZmxhdGVJbml0KCkgZG9lcyBub3QgcHJvY2VzcyBhbnkgaGVhZGVyIGluZm9ybWF0aW9uIC0tIHRoYXQgaXMgZGVmZXJyZWQKLSAgIHVudGlsIGluZmxhdGUoKSBpcyBjYWxsZWQuCisgICB0aGVyZSBpcyBubyBlcnJvciBtZXNzYWdlLiAgaW5mbGF0ZUluaXQgZG9lcyBub3QgcGVyZm9ybSBhbnkgZGVjb21wcmVzc2lvbi4KKyAgIEFjdHVhbCBkZWNvbXByZXNzaW9uIHdpbGwgYmUgZG9uZSBieSBpbmZsYXRlKCkuICBTbyBuZXh0X2luLCBhbmQgYXZhaWxfaW4sCisgICBuZXh0X291dCwgYW5kIGF2YWlsX291dCBhcmUgdW51c2VkIGFuZCB1bmNoYW5nZWQuICBUaGUgY3VycmVudAorICAgaW1wbGVtZW50YXRpb24gb2YgaW5mbGF0ZUluaXQoKSBkb2VzIG5vdCBwcm9jZXNzIGFueSBoZWFkZXIgaW5mb3JtYXRpb24gLS0KKyAgIHRoYXQgaXMgZGVmZXJyZWQgdW50aWwgaW5mbGF0ZSgpIGlzIGNhbGxlZC4KICovCiAKIApAQCAtNDAxLDE3ICs0MDksMjAgQEAKIAogICAtIERlY29tcHJlc3MgbW9yZSBpbnB1dCBzdGFydGluZyBhdCBuZXh0X2luIGFuZCB1cGRhdGUgbmV4dF9pbiBhbmQgYXZhaWxfaW4KICAgICBhY2NvcmRpbmdseS4gIElmIG5vdCBhbGwgaW5wdXQgY2FuIGJlIHByb2Nlc3NlZCAoYmVjYXVzZSB0aGVyZSBpcyBub3QKLSAgICBlbm91Z2ggcm9vbSBpbiB0aGUgb3V0cHV0IGJ1ZmZlciksIG5leHRfaW4gaXMgdXBkYXRlZCBhbmQgcHJvY2Vzc2luZyB3aWxsCi0gICAgcmVzdW1lIGF0IHRoaXMgcG9pbnQgZm9yIHRoZSBuZXh0IGNhbGwgb2YgaW5mbGF0ZSgpLgorICAgIGVub3VnaCByb29tIGluIHRoZSBvdXRwdXQgYnVmZmVyKSwgdGhlbiBuZXh0X2luIGFuZCBhdmFpbF9pbiBhcmUgdXBkYXRlZAorICAgIGFjY29yZGluZ2x5LCBhbmQgcHJvY2Vzc2luZyB3aWxsIHJlc3VtZSBhdCB0aGlzIHBvaW50IGZvciB0aGUgbmV4dCBjYWxsIG9mCisgICAgaW5mbGF0ZSgpLgogCi0gIC0gUHJvdmlkZSBtb3JlIG91dHB1dCBzdGFydGluZyBhdCBuZXh0X291dCBhbmQgdXBkYXRlIG5leHRfb3V0IGFuZCBhdmFpbF9vdXQKKyAgLSBHZW5lcmF0ZSBtb3JlIG91dHB1dCBzdGFydGluZyBhdCBuZXh0X291dCBhbmQgdXBkYXRlIG5leHRfb3V0IGFuZCBhdmFpbF9vdXQKICAgICBhY2NvcmRpbmdseS4gIGluZmxhdGUoKSBwcm92aWRlcyBhcyBtdWNoIG91dHB1dCBhcyBwb3NzaWJsZSwgdW50aWwgdGhlcmUgaXMKICAgICBubyBtb3JlIGlucHV0IGRhdGEgb3Igbm8gbW9yZSBzcGFjZSBpbiB0aGUgb3V0cHV0IGJ1ZmZlciAoc2VlIGJlbG93IGFib3V0CiAgICAgdGhlIGZsdXNoIHBhcmFtZXRlcikuCiAKICAgICBCZWZvcmUgdGhlIGNhbGwgb2YgaW5mbGF0ZSgpLCB0aGUgYXBwbGljYXRpb24gc2hvdWxkIGVuc3VyZSB0aGF0IGF0IGxlYXN0CiAgIG9uZSBvZiB0aGUgYWN0aW9ucyBpcyBwb3NzaWJsZSwgYnkgcHJvdmlkaW5nIG1vcmUgaW5wdXQgYW5kL29yIGNvbnN1bWluZyBtb3JlCi0gIG91dHB1dCwgYW5kIHVwZGF0aW5nIHRoZSBuZXh0XyogYW5kIGF2YWlsXyogdmFsdWVzIGFjY29yZGluZ2x5LiAgVGhlCisgIG91dHB1dCwgYW5kIHVwZGF0aW5nIHRoZSBuZXh0XyogYW5kIGF2YWlsXyogdmFsdWVzIGFjY29yZGluZ2x5LiAgSWYgdGhlCisgIGNhbGxlciBvZiBpbmZsYXRlKCkgZG9lcyBub3QgcHJvdmlkZSBib3RoIGF2YWlsYWJsZSBpbnB1dCBhbmQgYXZhaWxhYmxlCisgIG91dHB1dCBzcGFjZSwgaXQgaXMgcG9zc2libGUgdGhhdCB0aGVyZSB3aWxsIGJlIG5vIHByb2dyZXNzIG1hZGUuICBUaGUKICAgYXBwbGljYXRpb24gY2FuIGNvbnN1bWUgdGhlIHVuY29tcHJlc3NlZCBvdXRwdXQgd2hlbiBpdCB3YW50cywgZm9yIGV4YW1wbGUKICAgd2hlbiB0aGUgb3V0cHV0IGJ1ZmZlciBpcyBmdWxsIChhdmFpbF9vdXQgPT0gMCksIG9yIGFmdGVyIGVhY2ggY2FsbCBvZgogICBpbmZsYXRlKCkuICBJZiBpbmZsYXRlIHJldHVybnMgWl9PSyBhbmQgd2l0aCB6ZXJvIGF2YWlsX291dCwgaXQgbXVzdCBiZQpAQCAtNDI4LDcgKzQzOSw3IEBACiAgIGdldHMgdG8gdGhlIGVuZCBvZiB0aGF0IGJsb2NrLCBvciB3aGVuIGl0IHJ1bnMgb3V0IG9mIGRhdGEuCiAKICAgICBUaGUgWl9CTE9DSyBvcHRpb24gYXNzaXN0cyBpbiBhcHBlbmRpbmcgdG8gb3IgY29tYmluaW5nIGRlZmxhdGUgc3RyZWFtcy4KLSAgQWxzbyB0byBhc3Npc3QgaW4gdGhpcywgb24gcmV0dXJuIGluZmxhdGUoKSB3aWxsIHNldCBzdHJtLT5kYXRhX3R5cGUgdG8gdGhlCisgIFRvIGFzc2lzdCBpbiB0aGlzLCBvbiByZXR1cm4gaW5mbGF0ZSgpIGFsd2F5cyBzZXRzIHN0cm0tPmRhdGFfdHlwZSB0byB0aGUKICAgbnVtYmVyIG9mIHVudXNlZCBiaXRzIGluIHRoZSBsYXN0IGJ5dGUgdGFrZW4gZnJvbSBzdHJtLT5uZXh0X2luLCBwbHVzIDY0IGlmCiAgIGluZmxhdGUoKSBpcyBjdXJyZW50bHkgZGVjb2RpbmcgdGhlIGxhc3QgYmxvY2sgaW4gdGhlIGRlZmxhdGUgc3RyZWFtLCBwbHVzCiAgIDEyOCBpZiBpbmZsYXRlKCkgcmV0dXJuZWQgaW1tZWRpYXRlbHkgYWZ0ZXIgZGVjb2RpbmcgYW4gZW5kLW9mLWJsb2NrIGNvZGUgb3IKQEAgLTQ1NCw3ICs0NjUsNyBAQAogICB0aGlzIGNhc2UgYWxsIHBlbmRpbmcgaW5wdXQgaXMgcHJvY2Vzc2VkIGFuZCBhbGwgcGVuZGluZyBvdXRwdXQgaXMgZmx1c2hlZDsKICAgYXZhaWxfb3V0IG11c3QgYmUgbGFyZ2UgZW5vdWdoIHRvIGhvbGQgYWxsIG9mIHRoZSB1bmNvbXByZXNzZWQgZGF0YSBmb3IgdGhlCiAgIG9wZXJhdGlvbiB0byBjb21wbGV0ZS4gIChUaGUgc2l6ZSBvZiB0aGUgdW5jb21wcmVzc2VkIGRhdGEgbWF5IGhhdmUgYmVlbgotICBzYXZlZCBieSB0aGUgY29tcHJlc3NvciBmb3IgdGhpcyBwdXJwb3NlLikgVGhlIHVzZSBvZiBaX0ZJTklTSCBpcyBub3QKKyAgc2F2ZWQgYnkgdGhlIGNvbXByZXNzb3IgZm9yIHRoaXMgcHVycG9zZS4pICBUaGUgdXNlIG9mIFpfRklOSVNIIGlzIG5vdAogICByZXF1aXJlZCB0byBwZXJmb3JtIGFuIGluZmxhdGlvbiBpbiBvbmUgc3RlcC4gIEhvd2V2ZXIgaXQgbWF5IGJlIHVzZWQgdG8KICAgaW5mb3JtIGluZmxhdGUgdGhhdCBhIGZhc3RlciBhcHByb2FjaCBjYW4gYmUgdXNlZCBmb3IgdGhlIHNpbmdsZSBpbmZsYXRlKCkKICAgY2FsbC4gIFpfRklOSVNIIGFsc28gaW5mb3JtcyBpbmZsYXRlIHRvIG5vdCBtYWludGFpbiBhIHNsaWRpbmcgd2luZG93IGlmIHRoZQpAQCAtNDc2LDMyICs0ODcsMzMgQEAKICAgY2hvc2VuIGJ5IHRoZSBjb21wcmVzc29yIGFuZCByZXR1cm5zIFpfTkVFRF9ESUNUOyBvdGhlcndpc2UgaXQgc2V0cwogICBzdHJtLT5hZGxlciB0byB0aGUgQWRsZXItMzIgY2hlY2tzdW0gb2YgYWxsIG91dHB1dCBwcm9kdWNlZCBzbyBmYXIgKHRoYXQgaXMsCiAgIHRvdGFsX291dCBieXRlcykgYW5kIHJldHVybnMgWl9PSywgWl9TVFJFQU1fRU5EIG9yIGFuIGVycm9yIGNvZGUgYXMgZGVzY3JpYmVkCi0gIGJlbG93LiAgQXQgdGhlIGVuZCBvZiB0aGUgc3RyZWFtLCBpbmZsYXRlKCkgY2hlY2tzIHRoYXQgaXRzIGNvbXB1dGVkIGFkbGVyMzIKKyAgYmVsb3cuICBBdCB0aGUgZW5kIG9mIHRoZSBzdHJlYW0sIGluZmxhdGUoKSBjaGVja3MgdGhhdCBpdHMgY29tcHV0ZWQgQWRsZXItMzIKICAgY2hlY2tzdW0gaXMgZXF1YWwgdG8gdGhhdCBzYXZlZCBieSB0aGUgY29tcHJlc3NvciBhbmQgcmV0dXJucyBaX1NUUkVBTV9FTkQKICAgb25seSBpZiB0aGUgY2hlY2tzdW0gaXMgY29ycmVjdC4KIAogICAgIGluZmxhdGUoKSBjYW4gZGVjb21wcmVzcyBhbmQgY2hlY2sgZWl0aGVyIHpsaWItd3JhcHBlZCBvciBnemlwLXdyYXBwZWQKICAgZGVmbGF0ZSBkYXRhLiAgVGhlIGhlYWRlciB0eXBlIGlzIGRldGVjdGVkIGF1dG9tYXRpY2FsbHksIGlmIHJlcXVlc3RlZCB3aGVuCiAgIGluaXRpYWxpemluZyB3aXRoIGluZmxhdGVJbml0MigpLiAgQW55IGluZm9ybWF0aW9uIGNvbnRhaW5lZCBpbiB0aGUgZ3ppcAotICBoZWFkZXIgaXMgbm90IHJldGFpbmVkLCBzbyBhcHBsaWNhdGlvbnMgdGhhdCBuZWVkIHRoYXQgaW5mb3JtYXRpb24gc2hvdWxkCi0gIGluc3RlYWQgdXNlIHJhdyBpbmZsYXRlLCBzZWUgaW5mbGF0ZUluaXQyKCkgYmVsb3csIG9yIGluZmxhdGVCYWNrKCkgYW5kCi0gIHBlcmZvcm0gdGhlaXIgb3duIHByb2Nlc3Npbmcgb2YgdGhlIGd6aXAgaGVhZGVyIGFuZCB0cmFpbGVyLiAgV2hlbiBwcm9jZXNzaW5nCisgIGhlYWRlciBpcyBub3QgcmV0YWluZWQgdW5sZXNzIGluZmxhdGVHZXRIZWFkZXIoKSBpcyB1c2VkLiAgV2hlbiBwcm9jZXNzaW5nCiAgIGd6aXAtd3JhcHBlZCBkZWZsYXRlIGRhdGEsIHN0cm0tPmFkbGVyMzIgaXMgc2V0IHRvIHRoZSBDUkMtMzIgb2YgdGhlIG91dHB1dAotICBwcm9kdWN0ZWQgc28gZmFyLiAgVGhlIENSQy0zMiBpcyBjaGVja2VkIGFnYWluc3QgdGhlIGd6aXAgdHJhaWxlci4KKyAgcHJvZHVjZWQgc28gZmFyLiAgVGhlIENSQy0zMiBpcyBjaGVja2VkIGFnYWluc3QgdGhlIGd6aXAgdHJhaWxlciwgYXMgaXMgdGhlCisgIHVuY29tcHJlc3NlZCBsZW5ndGgsIG1vZHVsbyAyXjMyLgogCiAgICAgaW5mbGF0ZSgpIHJldHVybnMgWl9PSyBpZiBzb21lIHByb2dyZXNzIGhhcyBiZWVuIG1hZGUgKG1vcmUgaW5wdXQgcHJvY2Vzc2VkCiAgIG9yIG1vcmUgb3V0cHV0IHByb2R1Y2VkKSwgWl9TVFJFQU1fRU5EIGlmIHRoZSBlbmQgb2YgdGhlIGNvbXByZXNzZWQgZGF0YSBoYXMKICAgYmVlbiByZWFjaGVkIGFuZCBhbGwgdW5jb21wcmVzc2VkIG91dHB1dCBoYXMgYmVlbiBwcm9kdWNlZCwgWl9ORUVEX0RJQ1QgaWYgYQogICBwcmVzZXQgZGljdGlvbmFyeSBpcyBuZWVkZWQgYXQgdGhpcyBwb2ludCwgWl9EQVRBX0VSUk9SIGlmIHRoZSBpbnB1dCBkYXRhIHdhcwogICBjb3JydXB0ZWQgKGlucHV0IHN0cmVhbSBub3QgY29uZm9ybWluZyB0byB0aGUgemxpYiBmb3JtYXQgb3IgaW5jb3JyZWN0IGNoZWNrCi0gIHZhbHVlKSwgWl9TVFJFQU1fRVJST1IgaWYgdGhlIHN0cmVhbSBzdHJ1Y3R1cmUgd2FzIGluY29uc2lzdGVudCAoZm9yIGV4YW1wbGUKLSAgbmV4dF9pbiBvciBuZXh0X291dCB3YXMgWl9OVUxMKSwgWl9NRU1fRVJST1IgaWYgdGhlcmUgd2FzIG5vdCBlbm91Z2ggbWVtb3J5LAotICBaX0JVRl9FUlJPUiBpZiBubyBwcm9ncmVzcyBpcyBwb3NzaWJsZSBvciBpZiB0aGVyZSB3YXMgbm90IGVub3VnaCByb29tIGluIHRoZQotICBvdXRwdXQgYnVmZmVyIHdoZW4gWl9GSU5JU0ggaXMgdXNlZC4gIE5vdGUgdGhhdCBaX0JVRl9FUlJPUiBpcyBub3QgZmF0YWwsIGFuZAorICB2YWx1ZSwgaW4gd2hpY2ggY2FzZSBzdHJtLT5tc2cgcG9pbnRzIHRvIGEgc3RyaW5nIHdpdGggYSBtb3JlIHNwZWNpZmljCisgIGVycm9yKSwgWl9TVFJFQU1fRVJST1IgaWYgdGhlIHN0cmVhbSBzdHJ1Y3R1cmUgd2FzIGluY29uc2lzdGVudCAoZm9yIGV4YW1wbGUKKyAgbmV4dF9pbiBvciBuZXh0X291dCB3YXMgWl9OVUxMLCBvciB0aGUgc3RhdGUgd2FzIGluYWR2ZXJ0ZW50bHkgd3JpdHRlbiBvdmVyCisgIGJ5IHRoZSBhcHBsaWNhdGlvbiksIFpfTUVNX0VSUk9SIGlmIHRoZXJlIHdhcyBub3QgZW5vdWdoIG1lbW9yeSwgWl9CVUZfRVJST1IKKyAgaWYgbm8gcHJvZ3Jlc3Mgd2FzIHBvc3NpYmxlIG9yIGlmIHRoZXJlIHdhcyBub3QgZW5vdWdoIHJvb20gaW4gdGhlIG91dHB1dAorICBidWZmZXIgd2hlbiBaX0ZJTklTSCBpcyB1c2VkLiAgTm90ZSB0aGF0IFpfQlVGX0VSUk9SIGlzIG5vdCBmYXRhbCwgYW5kCiAgIGluZmxhdGUoKSBjYW4gYmUgY2FsbGVkIGFnYWluIHdpdGggbW9yZSBpbnB1dCBhbmQgbW9yZSBvdXRwdXQgc3BhY2UgdG8KICAgY29udGludWUgZGVjb21wcmVzc2luZy4gIElmIFpfREFUQV9FUlJPUiBpcyByZXR1cm5lZCwgdGhlIGFwcGxpY2F0aW9uIG1heQogICB0aGVuIGNhbGwgaW5mbGF0ZVN5bmMoKSB0byBsb29rIGZvciBhIGdvb2QgY29tcHJlc3Npb24gYmxvY2sgaWYgYSBwYXJ0aWFsCi0gIHJlY292ZXJ5IG9mIHRoZSBkYXRhIGlzIGRlc2lyZWQuCisgIHJlY292ZXJ5IG9mIHRoZSBkYXRhIGlzIHRvIGJlIGF0dGVtcHRlZC4KICovCiAKIApAQCAtNTExLDkgKzUyMyw4IEBACiAgICBUaGlzIGZ1bmN0aW9uIGRpc2NhcmRzIGFueSB1bnByb2Nlc3NlZCBpbnB1dCBhbmQgZG9lcyBub3QgZmx1c2ggYW55IHBlbmRpbmcKICAgIG91dHB1dC4KIAotICAgICBpbmZsYXRlRW5kIHJldHVybnMgWl9PSyBpZiBzdWNjZXNzLCBaX1NUUkVBTV9FUlJPUiBpZiB0aGUgc3RyZWFtIHN0YXRlCi0gICB3YXMgaW5jb25zaXN0ZW50LiAgSW4gdGhlIGVycm9yIGNhc2UsIG1zZyBtYXkgYmUgc2V0IGJ1dCB0aGVuIHBvaW50cyB0byBhCi0gICBzdGF0aWMgc3RyaW5nICh3aGljaCBtdXN0IG5vdCBiZSBkZWFsbG9jYXRlZCkuCisgICAgIGluZmxhdGVFbmQgcmV0dXJucyBaX09LIGlmIHN1Y2Nlc3MsIG9yIFpfU1RSRUFNX0VSUk9SIGlmIHRoZSBzdHJlYW0gc3RhdGUKKyAgIHdhcyBpbmNvbnNpc3RlbnQuCiAqLwogCiAKQEAgLTUzMiw4ICs1NDMsNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCAgc3RyYXRlZ3kpKTsKIAogICAgICBUaGlzIGlzIGFub3RoZXIgdmVyc2lvbiBvZiBkZWZsYXRlSW5pdCB3aXRoIG1vcmUgY29tcHJlc3Npb24gb3B0aW9ucy4gIFRoZQotICAgZmllbGRzIG5leHRfaW4sIHphbGxvYywgemZyZWUgYW5kIG9wYXF1ZSBtdXN0IGJlIGluaXRpYWxpemVkIGJlZm9yZSBieSB0aGUKLSAgIGNhbGxlci4KKyAgIGZpZWxkcyB6YWxsb2MsIHpmcmVlIGFuZCBvcGFxdWUgbXVzdCBiZSBpbml0aWFsaXplZCBiZWZvcmUgYnkgdGhlIGNhbGxlci4KIAogICAgICBUaGUgbWV0aG9kIHBhcmFtZXRlciBpcyB0aGUgY29tcHJlc3Npb24gbWV0aG9kLiAgSXQgbXVzdCBiZSBaX0RFRkxBVEVEIGluCiAgICB0aGlzIHZlcnNpb24gb2YgdGhlIGxpYnJhcnkuCkBAIC01NDQsMTYgKzU1NCwyOSBAQAogICAgY29tcHJlc3Npb24gYXQgdGhlIGV4cGVuc2Ugb2YgbWVtb3J5IHVzYWdlLiAgVGhlIGRlZmF1bHQgdmFsdWUgaXMgMTUgaWYKICAgIGRlZmxhdGVJbml0IGlzIHVzZWQgaW5zdGVhZC4KIAorICAgICBGb3IgdGhlIGN1cnJlbnQgaW1wbGVtZW50YXRpb24gb2YgZGVmbGF0ZSgpLCBhIHdpbmRvd0JpdHMgdmFsdWUgb2YgOCAoYQorICAgd2luZG93IHNpemUgb2YgMjU2IGJ5dGVzKSBpcyBub3Qgc3VwcG9ydGVkLiAgQXMgYSByZXN1bHQsIGEgcmVxdWVzdCBmb3IgOAorICAgd2lsbCByZXN1bHQgaW4gOSAoYSA1MTItYnl0ZSB3aW5kb3cpLiAgSW4gdGhhdCBjYXNlLCBwcm92aWRpbmcgOCB0bworICAgaW5mbGF0ZUluaXQyKCkgd2lsbCByZXN1bHQgaW4gYW4gZXJyb3Igd2hlbiB0aGUgemxpYiBoZWFkZXIgd2l0aCA5IGlzCisgICBjaGVja2VkIGFnYWluc3QgdGhlIGluaXRpYWxpemF0aW9uIG9mIGluZmxhdGUoKS4gIFRoZSByZW1lZHkgaXMgdG8gbm90IHVzZSA4CisgICB3aXRoIGRlZmxhdGVJbml0MigpIHdpdGggdGhpcyBpbml0aWFsaXphdGlvbiwgb3IgYXQgbGVhc3QgaW4gdGhhdCBjYXNlIHVzZSA5CisgICB3aXRoIGluZmxhdGVJbml0MigpLgorCiAgICAgIHdpbmRvd0JpdHMgY2FuIGFsc28gYmUgLTguLi0xNSBmb3IgcmF3IGRlZmxhdGUuICBJbiB0aGlzIGNhc2UsIC13aW5kb3dCaXRzCiAgICBkZXRlcm1pbmVzIHRoZSB3aW5kb3cgc2l6ZS4gIGRlZmxhdGUoKSB3aWxsIHRoZW4gZ2VuZXJhdGUgcmF3IGRlZmxhdGUgZGF0YQotICAgd2l0aCBubyB6bGliIGhlYWRlciBvciB0cmFpbGVyLCBhbmQgd2lsbCBub3QgY29tcHV0ZSBhbiBhZGxlcjMyIGNoZWNrIHZhbHVlLgorICAgd2l0aCBubyB6bGliIGhlYWRlciBvciB0cmFpbGVyLCBhbmQgd2lsbCBub3QgY29tcHV0ZSBhIGNoZWNrIHZhbHVlLgogCiAgICAgIHdpbmRvd0JpdHMgY2FuIGFsc28gYmUgZ3JlYXRlciB0aGFuIDE1IGZvciBvcHRpb25hbCBnemlwIGVuY29kaW5nLiAgQWRkCiAgICAxNiB0byB3aW5kb3dCaXRzIHRvIHdyaXRlIGEgc2ltcGxlIGd6aXAgaGVhZGVyIGFuZCB0cmFpbGVyIGFyb3VuZCB0aGUKICAgIGNvbXByZXNzZWQgZGF0YSBpbnN0ZWFkIG9mIGEgemxpYiB3cmFwcGVyLiAgVGhlIGd6aXAgaGVhZGVyIHdpbGwgaGF2ZSBubwogICAgZmlsZSBuYW1lLCBubyBleHRyYSBkYXRhLCBubyBjb21tZW50LCBubyBtb2RpZmljYXRpb24gdGltZSAoc2V0IHRvIHplcm8pLCBubwotICAgaGVhZGVyIGNyYywgYW5kIHRoZSBvcGVyYXRpbmcgc3lzdGVtIHdpbGwgYmUgc2V0IHRvIDI1NSAodW5rbm93bikuICBJZiBhCi0gICBnemlwIHN0cmVhbSBpcyBiZWluZyB3cml0dGVuLCBzdHJtLT5hZGxlciBpcyBhIGNyYzMyIGluc3RlYWQgb2YgYW4gYWRsZXIzMi4KKyAgIGhlYWRlciBjcmMsIGFuZCB0aGUgb3BlcmF0aW5nIHN5c3RlbSB3aWxsIGJlIHNldCB0byB0aGUgYXBwcm9wcmlhdGUgdmFsdWUsCisgICBpZiB0aGUgb3BlcmF0aW5nIHN5c3RlbSB3YXMgZGV0ZXJtaW5lZCBhdCBjb21waWxlIHRpbWUuICBJZiBhIGd6aXAgc3RyZWFtIGlzCisgICBiZWluZyB3cml0dGVuLCBzdHJtLT5hZGxlciBpcyBhIENSQy0zMiBpbnN0ZWFkIG9mIGFuIEFkbGVyLTMyLgorCisgICAgIEZvciByYXcgZGVmbGF0ZSBvciBnemlwIGVuY29kaW5nLCBhIHJlcXVlc3QgZm9yIGEgMjU2LWJ5dGUgd2luZG93IGlzCisgICByZWplY3RlZCBhcyBpbnZhbGlkLCBzaW5jZSBvbmx5IHRoZSB6bGliIGhlYWRlciBwcm92aWRlcyBhIG1lYW5zIG9mCisgICB0cmFuc21pdHRpbmcgdGhlIHdpbmRvdyBzaXplIHRvIHRoZSBkZWNvbXByZXNzb3IuCiAKICAgICAgVGhlIG1lbUxldmVsIHBhcmFtZXRlciBzcGVjaWZpZXMgaG93IG11Y2ggbWVtb3J5IHNob3VsZCBiZSBhbGxvY2F0ZWQKICAgIGZvciB0aGUgaW50ZXJuYWwgY29tcHJlc3Npb24gc3RhdGUuICBtZW1MZXZlbD0xIHVzZXMgbWluaW11bSBtZW1vcnkgYnV0IGlzCkBAIC02MTQsMTIgKzYzNywxMiBAQAogICAgYWRkaXRpb24sIHRoZSBjdXJyZW50IGltcGxlbWVudGF0aW9uIG9mIGRlZmxhdGUgd2lsbCB1c2UgYXQgbW9zdCB0aGUgd2luZG93CiAgICBzaXplIG1pbnVzIDI2MiBieXRlcyBvZiB0aGUgcHJvdmlkZWQgZGljdGlvbmFyeS4KIAotICAgICBVcG9uIHJldHVybiBvZiB0aGlzIGZ1bmN0aW9uLCBzdHJtLT5hZGxlciBpcyBzZXQgdG8gdGhlIGFkbGVyMzIgdmFsdWUKKyAgICAgVXBvbiByZXR1cm4gb2YgdGhpcyBmdW5jdGlvbiwgc3RybS0+YWRsZXIgaXMgc2V0IHRvIHRoZSBBZGxlci0zMiB2YWx1ZQogICAgb2YgdGhlIGRpY3Rpb25hcnk7IHRoZSBkZWNvbXByZXNzb3IgbWF5IGxhdGVyIHVzZSB0aGlzIHZhbHVlIHRvIGRldGVybWluZQotICAgd2hpY2ggZGljdGlvbmFyeSBoYXMgYmVlbiB1c2VkIGJ5IHRoZSBjb21wcmVzc29yLiAgKFRoZSBhZGxlcjMyIHZhbHVlCisgICB3aGljaCBkaWN0aW9uYXJ5IGhhcyBiZWVuIHVzZWQgYnkgdGhlIGNvbXByZXNzb3IuICAoVGhlIEFkbGVyLTMyIHZhbHVlCiAgICBhcHBsaWVzIHRvIHRoZSB3aG9sZSBkaWN0aW9uYXJ5IGV2ZW4gaWYgb25seSBhIHN1YnNldCBvZiB0aGUgZGljdGlvbmFyeSBpcwogICAgYWN0dWFsbHkgdXNlZCBieSB0aGUgY29tcHJlc3Nvci4pIElmIGEgcmF3IGRlZmxhdGUgd2FzIHJlcXVlc3RlZCwgdGhlbiB0aGUKLSAgIGFkbGVyMzIgdmFsdWUgaXMgbm90IGNvbXB1dGVkIGFuZCBzdHJtLT5hZGxlciBpcyBub3Qgc2V0LgorICAgQWRsZXItMzIgdmFsdWUgaXMgbm90IGNvbXB1dGVkIGFuZCBzdHJtLT5hZGxlciBpcyBub3Qgc2V0LgogCiAgICAgIGRlZmxhdGVTZXREaWN0aW9uYXJ5IHJldHVybnMgWl9PSyBpZiBzdWNjZXNzLCBvciBaX1NUUkVBTV9FUlJPUiBpZiBhCiAgICBwYXJhbWV0ZXIgaXMgaW52YWxpZCAoZS5nLiAgZGljdGlvbmFyeSBiZWluZyBaX05VTEwpIG9yIHRoZSBzdHJlYW0gc3RhdGUgaXMKQEAgLTYyOCw2ICs2NTEsMjggQEAKICAgIG5vdCBwZXJmb3JtIGFueSBjb21wcmVzc2lvbjogdGhpcyB3aWxsIGJlIGRvbmUgYnkgZGVmbGF0ZSgpLgogKi8KIAorWkVYVEVSTiBpbnQgWkVYUE9SVCBkZWZsYXRlR2V0RGljdGlvbmFyeSBPRigoel9zdHJlYW1wIHN0cm0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCeXRlZiAqZGljdGlvbmFyeSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVJbnQgICpkaWN0TGVuZ3RoKSk7CisvKgorICAgICBSZXR1cm5zIHRoZSBzbGlkaW5nIGRpY3Rpb25hcnkgYmVpbmcgbWFpbnRhaW5lZCBieSBkZWZsYXRlLiAgZGljdExlbmd0aCBpcworICAgc2V0IHRvIHRoZSBudW1iZXIgb2YgYnl0ZXMgaW4gdGhlIGRpY3Rpb25hcnksIGFuZCB0aGF0IG1hbnkgYnl0ZXMgYXJlIGNvcGllZAorICAgdG8gZGljdGlvbmFyeS4gIGRpY3Rpb25hcnkgbXVzdCBoYXZlIGVub3VnaCBzcGFjZSwgd2hlcmUgMzI3NjggYnl0ZXMgaXMKKyAgIGFsd2F5cyBlbm91Z2guICBJZiBkZWZsYXRlR2V0RGljdGlvbmFyeSgpIGlzIGNhbGxlZCB3aXRoIGRpY3Rpb25hcnkgZXF1YWwgdG8KKyAgIFpfTlVMTCwgdGhlbiBvbmx5IHRoZSBkaWN0aW9uYXJ5IGxlbmd0aCBpcyByZXR1cm5lZCwgYW5kIG5vdGhpbmcgaXMgY29waWVkLgorICAgU2ltaWxhcmx5LCBpZiBkaWN0TGVuZ3RoIGlzIFpfTlVMTCwgdGhlbiBpdCBpcyBub3Qgc2V0LgorCisgICAgIGRlZmxhdGVHZXREaWN0aW9uYXJ5KCkgbWF5IHJldHVybiBhIGxlbmd0aCBsZXNzIHRoYW4gdGhlIHdpbmRvdyBzaXplLCBldmVuCisgICB3aGVuIG1vcmUgdGhhbiB0aGUgd2luZG93IHNpemUgaW4gaW5wdXQgaGFzIGJlZW4gcHJvdmlkZWQuIEl0IG1heSByZXR1cm4gdXAKKyAgIHRvIDI1OCBieXRlcyBsZXNzIGluIHRoYXQgY2FzZSwgZHVlIHRvIGhvdyB6bGliJ3MgaW1wbGVtZW50YXRpb24gb2YgZGVmbGF0ZQorICAgbWFuYWdlcyB0aGUgc2xpZGluZyB3aW5kb3cgYW5kIGxvb2thaGVhZCBmb3IgbWF0Y2hlcywgd2hlcmUgbWF0Y2hlcyBjYW4gYmUKKyAgIHVwIHRvIDI1OCBieXRlcyBsb25nLiBJZiB0aGUgYXBwbGljYXRpb24gbmVlZHMgdGhlIGxhc3Qgd2luZG93LXNpemUgYnl0ZXMgb2YKKyAgIGlucHV0LCB0aGVuIHRoYXQgd291bGQgbmVlZCB0byBiZSBzYXZlZCBieSB0aGUgYXBwbGljYXRpb24gb3V0c2lkZSBvZiB6bGliLgorCisgICAgIGRlZmxhdGVHZXREaWN0aW9uYXJ5IHJldHVybnMgWl9PSyBvbiBzdWNjZXNzLCBvciBaX1NUUkVBTV9FUlJPUiBpZiB0aGUKKyAgIHN0cmVhbSBzdGF0ZSBpcyBpbmNvbnNpc3RlbnQuCisqLworCiBaRVhURVJOIGludCBaRVhQT1JUIGRlZmxhdGVDb3B5IE9GKCh6X3N0cmVhbXAgZGVzdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHpfc3RyZWFtcCBzb3VyY2UpKTsKIC8qCkBAIC02NDgsMTAgKzY5MywxMCBAQAogCiBaRVhURVJOIGludCBaRVhQT1JUIGRlZmxhdGVSZXNldCBPRigoel9zdHJlYW1wIHN0cm0pKTsKIC8qCi0gICAgIFRoaXMgZnVuY3Rpb24gaXMgZXF1aXZhbGVudCB0byBkZWZsYXRlRW5kIGZvbGxvd2VkIGJ5IGRlZmxhdGVJbml0LAotICAgYnV0IGRvZXMgbm90IGZyZWUgYW5kIHJlYWxsb2NhdGUgYWxsIHRoZSBpbnRlcm5hbCBjb21wcmVzc2lvbiBzdGF0ZS4gIFRoZQotICAgc3RyZWFtIHdpbGwga2VlcCB0aGUgc2FtZSBjb21wcmVzc2lvbiBsZXZlbCBhbmQgYW55IG90aGVyIGF0dHJpYnV0ZXMgdGhhdAotICAgbWF5IGhhdmUgYmVlbiBzZXQgYnkgZGVmbGF0ZUluaXQyLgorICAgICBUaGlzIGZ1bmN0aW9uIGlzIGVxdWl2YWxlbnQgdG8gZGVmbGF0ZUVuZCBmb2xsb3dlZCBieSBkZWZsYXRlSW5pdCwgYnV0CisgICBkb2VzIG5vdCBmcmVlIGFuZCByZWFsbG9jYXRlIHRoZSBpbnRlcm5hbCBjb21wcmVzc2lvbiBzdGF0ZS4gIFRoZSBzdHJlYW0KKyAgIHdpbGwgbGVhdmUgdGhlIGNvbXByZXNzaW9uIGxldmVsIGFuZCBhbnkgb3RoZXIgYXR0cmlidXRlcyB0aGF0IG1heSBoYXZlIGJlZW4KKyAgIHNldCB1bmNoYW5nZWQuCiAKICAgICAgZGVmbGF0ZVJlc2V0IHJldHVybnMgWl9PSyBpZiBzdWNjZXNzLCBvciBaX1NUUkVBTV9FUlJPUiBpZiB0aGUgc291cmNlCiAgICBzdHJlYW0gc3RhdGUgd2FzIGluY29uc2lzdGVudCAoc3VjaCBhcyB6YWxsb2Mgb3Igc3RhdGUgYmVpbmcgWl9OVUxMKS4KQEAgLTY2MiwyMCArNzA3LDM3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzdHJhdGVneSkpOwogLyoKICAgICAgRHluYW1pY2FsbHkgdXBkYXRlIHRoZSBjb21wcmVzc2lvbiBsZXZlbCBhbmQgY29tcHJlc3Npb24gc3RyYXRlZ3kuICBUaGUKLSAgIGludGVycHJldGF0aW9uIG9mIGxldmVsIGFuZCBzdHJhdGVneSBpcyBhcyBpbiBkZWZsYXRlSW5pdDIuICBUaGlzIGNhbiBiZQorICAgaW50ZXJwcmV0YXRpb24gb2YgbGV2ZWwgYW5kIHN0cmF0ZWd5IGlzIGFzIGluIGRlZmxhdGVJbml0MigpLiAgVGhpcyBjYW4gYmUKICAgIHVzZWQgdG8gc3dpdGNoIGJldHdlZW4gY29tcHJlc3Npb24gYW5kIHN0cmFpZ2h0IGNvcHkgb2YgdGhlIGlucHV0IGRhdGEsIG9yCiAgICB0byBzd2l0Y2ggdG8gYSBkaWZmZXJlbnQga2luZCBvZiBpbnB1dCBkYXRhIHJlcXVpcmluZyBhIGRpZmZlcmVudCBzdHJhdGVneS4KLSAgIElmIHRoZSBjb21wcmVzc2lvbiBsZXZlbCBpcyBjaGFuZ2VkLCB0aGUgaW5wdXQgYXZhaWxhYmxlIHNvIGZhciBpcwotICAgY29tcHJlc3NlZCB3aXRoIHRoZSBvbGQgbGV2ZWwgKGFuZCBtYXkgYmUgZmx1c2hlZCk7IHRoZSBuZXcgbGV2ZWwgd2lsbCB0YWtlCi0gICBlZmZlY3Qgb25seSBhdCB0aGUgbmV4dCBjYWxsIG9mIGRlZmxhdGUoKS4KKyAgIElmIHRoZSBjb21wcmVzc2lvbiBhcHByb2FjaCAod2hpY2ggaXMgYSBmdW5jdGlvbiBvZiB0aGUgbGV2ZWwpIG9yIHRoZQorICAgc3RyYXRlZ3kgaXMgY2hhbmdlZCwgYW5kIGlmIHRoZXJlIGhhdmUgYmVlbiBhbnkgZGVmbGF0ZSgpIGNhbGxzIHNpbmNlIHRoZQorICAgc3RhdGUgd2FzIGluaXRpYWxpemVkIG9yIHJlc2V0LCB0aGVuIHRoZSBpbnB1dCBhdmFpbGFibGUgc28gZmFyIGlzCisgICBjb21wcmVzc2VkIHdpdGggdGhlIG9sZCBsZXZlbCBhbmQgc3RyYXRlZ3kgdXNpbmcgZGVmbGF0ZShzdHJtLCBaX0JMT0NLKS4KKyAgIFRoZXJlIGFyZSB0aHJlZSBhcHByb2FjaGVzIGZvciB0aGUgY29tcHJlc3Npb24gbGV2ZWxzIDAsIDEuLjMsIGFuZCA0Li45CisgICByZXNwZWN0aXZlbHkuICBUaGUgbmV3IGxldmVsIGFuZCBzdHJhdGVneSB3aWxsIHRha2UgZWZmZWN0IGF0IHRoZSBuZXh0IGNhbGwKKyAgIG9mIGRlZmxhdGUoKS4KIAotICAgICBCZWZvcmUgdGhlIGNhbGwgb2YgZGVmbGF0ZVBhcmFtcywgdGhlIHN0cmVhbSBzdGF0ZSBtdXN0IGJlIHNldCBhcyBmb3IKLSAgIGEgY2FsbCBvZiBkZWZsYXRlKCksIHNpbmNlIHRoZSBjdXJyZW50bHkgYXZhaWxhYmxlIGlucHV0IG1heSBoYXZlIHRvIGJlCi0gICBjb21wcmVzc2VkIGFuZCBmbHVzaGVkLiAgSW4gcGFydGljdWxhciwgc3RybS0+YXZhaWxfb3V0IG11c3QgYmUgbm9uLXplcm8uCisgICAgIElmIGEgZGVmbGF0ZShzdHJtLCBaX0JMT0NLKSBpcyBwZXJmb3JtZWQgYnkgZGVmbGF0ZVBhcmFtcygpLCBhbmQgaXQgZG9lcworICAgbm90IGhhdmUgZW5vdWdoIG91dHB1dCBzcGFjZSB0byBjb21wbGV0ZSwgdGhlbiB0aGUgcGFyYW1ldGVyIGNoYW5nZSB3aWxsIG5vdAorICAgdGFrZSBlZmZlY3QuICBJbiB0aGlzIGNhc2UsIGRlZmxhdGVQYXJhbXMoKSBjYW4gYmUgY2FsbGVkIGFnYWluIHdpdGggdGhlCisgICBzYW1lIHBhcmFtZXRlcnMgYW5kIG1vcmUgb3V0cHV0IHNwYWNlIHRvIHRyeSBhZ2Fpbi4KIAotICAgICBkZWZsYXRlUGFyYW1zIHJldHVybnMgWl9PSyBpZiBzdWNjZXNzLCBaX1NUUkVBTV9FUlJPUiBpZiB0aGUgc291cmNlCi0gICBzdHJlYW0gc3RhdGUgd2FzIGluY29uc2lzdGVudCBvciBpZiBhIHBhcmFtZXRlciB3YXMgaW52YWxpZCwgWl9CVUZfRVJST1IgaWYKLSAgIHN0cm0tPmF2YWlsX291dCB3YXMgemVyby4KKyAgICAgSW4gb3JkZXIgdG8gYXNzdXJlIGEgY2hhbmdlIGluIHRoZSBwYXJhbWV0ZXJzIG9uIHRoZSBmaXJzdCB0cnksIHRoZQorICAgZGVmbGF0ZSBzdHJlYW0gc2hvdWxkIGJlIGZsdXNoZWQgdXNpbmcgZGVmbGF0ZSgpIHdpdGggWl9CTE9DSyBvciBvdGhlciBmbHVzaAorICAgcmVxdWVzdCB1bnRpbCBzdHJtLmF2YWlsX291dCBpcyBub3QgemVybywgYmVmb3JlIGNhbGxpbmcgZGVmbGF0ZVBhcmFtcygpLgorICAgVGhlbiBubyBtb3JlIGlucHV0IGRhdGEgc2hvdWxkIGJlIHByb3ZpZGVkIGJlZm9yZSB0aGUgZGVmbGF0ZVBhcmFtcygpIGNhbGwuCisgICBJZiB0aGlzIGlzIGRvbmUsIHRoZSBvbGQgbGV2ZWwgYW5kIHN0cmF0ZWd5IHdpbGwgYmUgYXBwbGllZCB0byB0aGUgZGF0YQorICAgY29tcHJlc3NlZCBiZWZvcmUgZGVmbGF0ZVBhcmFtcygpLCBhbmQgdGhlIG5ldyBsZXZlbCBhbmQgc3RyYXRlZ3kgd2lsbCBiZQorICAgYXBwbGllZCB0byB0aGUgdGhlIGRhdGEgY29tcHJlc3NlZCBhZnRlciBkZWZsYXRlUGFyYW1zKCkuCisKKyAgICAgZGVmbGF0ZVBhcmFtcyByZXR1cm5zIFpfT0sgb24gc3VjY2VzcywgWl9TVFJFQU1fRVJST1IgaWYgdGhlIHNvdXJjZSBzdHJlYW0KKyAgIHN0YXRlIHdhcyBpbmNvbnNpc3RlbnQgb3IgaWYgYSBwYXJhbWV0ZXIgd2FzIGludmFsaWQsIG9yIFpfQlVGX0VSUk9SIGlmCisgICB0aGVyZSB3YXMgbm90IGVub3VnaCBvdXRwdXQgc3BhY2UgdG8gY29tcGxldGUgdGhlIGNvbXByZXNzaW9uIG9mIHRoZQorICAgYXZhaWxhYmxlIGlucHV0IGRhdGEgYmVmb3JlIGEgY2hhbmdlIGluIHRoZSBzdHJhdGVneSBvciBhcHByb2FjaC4gIE5vdGUgdGhhdAorICAgaW4gdGhlIGNhc2Ugb2YgYSBaX0JVRl9FUlJPUiwgdGhlIHBhcmFtZXRlcnMgYXJlIG5vdCBjaGFuZ2VkLiAgQSByZXR1cm4KKyAgIHZhbHVlIG9mIFpfQlVGX0VSUk9SIGlzIG5vdCBmYXRhbCwgaW4gd2hpY2ggY2FzZSBkZWZsYXRlUGFyYW1zKCkgY2FuIGJlCisgICByZXRyaWVkIHdpdGggbW9yZSBvdXRwdXQgc3BhY2UuCiAqLwogCiBaRVhURVJOIGludCBaRVhQT1JUIGRlZmxhdGVUdW5lIE9GKCh6X3N0cmVhbXAgc3RybSwKQEAgLTc5Myw3ICs4NTUsNyBAQAogICAgaXMgZm9yIHVzZSB3aXRoIG90aGVyIGZvcm1hdHMgdGhhdCB1c2UgdGhlIGRlZmxhdGUgY29tcHJlc3NlZCBkYXRhIGZvcm1hdAogICAgc3VjaCBhcyB6aXAuICBUaG9zZSBmb3JtYXRzIHByb3ZpZGUgdGhlaXIgb3duIGNoZWNrIHZhbHVlcy4gIElmIGEgY3VzdG9tCiAgICBmb3JtYXQgaXMgZGV2ZWxvcGVkIHVzaW5nIHRoZSByYXcgZGVmbGF0ZSBmb3JtYXQgZm9yIGNvbXByZXNzZWQgZGF0YSwgaXQgaXMKLSAgIHJlY29tbWVuZGVkIHRoYXQgYSBjaGVjayB2YWx1ZSBzdWNoIGFzIGFuIGFkbGVyMzIgb3IgYSBjcmMzMiBiZSBhcHBsaWVkIHRvCisgICByZWNvbW1lbmRlZCB0aGF0IGEgY2hlY2sgdmFsdWUgc3VjaCBhcyBhbiBBZGxlci0zMiBvciBhIENSQy0zMiBiZSBhcHBsaWVkIHRvCiAgICB0aGUgdW5jb21wcmVzc2VkIGRhdGEgYXMgaXMgZG9uZSBpbiB0aGUgemxpYiwgZ3ppcCwgYW5kIHppcCBmb3JtYXRzLiAgRm9yCiAgICBtb3N0IGFwcGxpY2F0aW9ucywgdGhlIHpsaWIgZm9ybWF0IHNob3VsZCBiZSB1c2VkIGFzIGlzLiAgTm90ZSB0aGF0IGNvbW1lbnRzCiAgICBhYm92ZSBvbiB0aGUgdXNlIGluIGRlZmxhdGVJbml0MigpIGFwcGxpZXMgdG8gdGhlIG1hZ25pdHVkZSBvZiB3aW5kb3dCaXRzLgpAQCAtODAyLDcgKzg2NCwxMiBAQAogICAgMzIgdG8gd2luZG93Qml0cyB0byBlbmFibGUgemxpYiBhbmQgZ3ppcCBkZWNvZGluZyB3aXRoIGF1dG9tYXRpYyBoZWFkZXIKICAgIGRldGVjdGlvbiwgb3IgYWRkIDE2IHRvIGRlY29kZSBvbmx5IHRoZSBnemlwIGZvcm1hdCAodGhlIHpsaWIgZm9ybWF0IHdpbGwKICAgIHJldHVybiBhIFpfREFUQV9FUlJPUikuICBJZiBhIGd6aXAgc3RyZWFtIGlzIGJlaW5nIGRlY29kZWQsIHN0cm0tPmFkbGVyIGlzIGEKLSAgIGNyYzMyIGluc3RlYWQgb2YgYW4gYWRsZXIzMi4KKyAgIENSQy0zMiBpbnN0ZWFkIG9mIGFuIEFkbGVyLTMyLiAgVW5saWtlIHRoZSBndW56aXAgdXRpbGl0eSBhbmQgZ3pyZWFkKCkgKHNlZQorICAgYmVsb3cpLCBpbmZsYXRlKCkgd2lsbCAqbm90KiBhdXRvbWF0aWNhbGx5IGRlY29kZSBjb25jYXRlbmF0ZWQgZ3ppcCBtZW1iZXJzLgorICAgaW5mbGF0ZSgpIHdpbGwgcmV0dXJuIFpfU1RSRUFNX0VORCBhdCB0aGUgZW5kIG9mIHRoZSBnemlwIG1lbWJlci4gIFRoZSBzdGF0ZQorICAgd291bGQgbmVlZCB0byBiZSByZXNldCB0byBjb250aW51ZSBkZWNvZGluZyBhIHN1YnNlcXVlbnQgZ3ppcCBtZW1iZXIuICBUaGlzCisgICAqbXVzdCogYmUgZG9uZSBpZiB0aGVyZSBpcyBtb3JlIGRhdGEgYWZ0ZXIgYSBnemlwIG1lbWJlciwgaW4gb3JkZXIgZm9yIHRoZQorICAgZGVjb21wcmVzc2lvbiB0byBiZSBjb21wbGlhbnQgd2l0aCB0aGUgZ3ppcCBzdGFuZGFyZCAoUkZDIDE5NTIpLgogCiAgICAgIGluZmxhdGVJbml0MiByZXR1cm5zIFpfT0sgaWYgc3VjY2VzcywgWl9NRU1fRVJST1IgaWYgdGhlcmUgd2FzIG5vdCBlbm91Z2gKICAgIG1lbW9yeSwgWl9WRVJTSU9OX0VSUk9SIGlmIHRoZSB6bGliIGxpYnJhcnkgdmVyc2lvbiBpcyBpbmNvbXBhdGlibGUgd2l0aCB0aGUKQEAgLTgyMyw3ICs4OTAsNyBAQAogICAgICBJbml0aWFsaXplcyB0aGUgZGVjb21wcmVzc2lvbiBkaWN0aW9uYXJ5IGZyb20gdGhlIGdpdmVuIHVuY29tcHJlc3NlZCBieXRlCiAgICBzZXF1ZW5jZS4gIFRoaXMgZnVuY3Rpb24gbXVzdCBiZSBjYWxsZWQgaW1tZWRpYXRlbHkgYWZ0ZXIgYSBjYWxsIG9mIGluZmxhdGUsCiAgICBpZiB0aGF0IGNhbGwgcmV0dXJuZWQgWl9ORUVEX0RJQ1QuICBUaGUgZGljdGlvbmFyeSBjaG9zZW4gYnkgdGhlIGNvbXByZXNzb3IKLSAgIGNhbiBiZSBkZXRlcm1pbmVkIGZyb20gdGhlIGFkbGVyMzIgdmFsdWUgcmV0dXJuZWQgYnkgdGhhdCBjYWxsIG9mIGluZmxhdGUuCisgICBjYW4gYmUgZGV0ZXJtaW5lZCBmcm9tIHRoZSBBZGxlci0zMiB2YWx1ZSByZXR1cm5lZCBieSB0aGF0IGNhbGwgb2YgaW5mbGF0ZS4KICAgIFRoZSBjb21wcmVzc29yIGFuZCBkZWNvbXByZXNzb3IgbXVzdCB1c2UgZXhhY3RseSB0aGUgc2FtZSBkaWN0aW9uYXJ5IChzZWUKICAgIGRlZmxhdGVTZXREaWN0aW9uYXJ5KS4gIEZvciByYXcgaW5mbGF0ZSwgdGhpcyBmdW5jdGlvbiBjYW4gYmUgY2FsbGVkIGF0IGFueQogICAgdGltZSB0byBzZXQgdGhlIGRpY3Rpb25hcnkuICBJZiB0aGUgcHJvdmlkZWQgZGljdGlvbmFyeSBpcyBzbWFsbGVyIHRoYW4gdGhlCkBAIC04MzQsNyArOTAxLDcgQEAKICAgICAgaW5mbGF0ZVNldERpY3Rpb25hcnkgcmV0dXJucyBaX09LIGlmIHN1Y2Nlc3MsIFpfU1RSRUFNX0VSUk9SIGlmIGEKICAgIHBhcmFtZXRlciBpcyBpbnZhbGlkIChlLmcuICBkaWN0aW9uYXJ5IGJlaW5nIFpfTlVMTCkgb3IgdGhlIHN0cmVhbSBzdGF0ZSBpcwogICAgaW5jb25zaXN0ZW50LCBaX0RBVEFfRVJST1IgaWYgdGhlIGdpdmVuIGRpY3Rpb25hcnkgZG9lc24ndCBtYXRjaCB0aGUKLSAgIGV4cGVjdGVkIG9uZSAoaW5jb3JyZWN0IGFkbGVyMzIgdmFsdWUpLiAgaW5mbGF0ZVNldERpY3Rpb25hcnkgZG9lcyBub3QKKyAgIGV4cGVjdGVkIG9uZSAoaW5jb3JyZWN0IEFkbGVyLTMyIHZhbHVlKS4gIGluZmxhdGVTZXREaWN0aW9uYXJ5IGRvZXMgbm90CiAgICBwZXJmb3JtIGFueSBkZWNvbXByZXNzaW9uOiB0aGlzIHdpbGwgYmUgZG9uZSBieSBzdWJzZXF1ZW50IGNhbGxzIG9mCiAgICBpbmZsYXRlKCkuCiAqLwpAQCAtODQ4LDcgKzkxNSw3IEBACiAgICB0byBkaWN0aW9uYXJ5LiAgZGljdGlvbmFyeSBtdXN0IGhhdmUgZW5vdWdoIHNwYWNlLCB3aGVyZSAzMjc2OCBieXRlcyBpcwogICAgYWx3YXlzIGVub3VnaC4gIElmIGluZmxhdGVHZXREaWN0aW9uYXJ5KCkgaXMgY2FsbGVkIHdpdGggZGljdGlvbmFyeSBlcXVhbCB0bwogICAgWl9OVUxMLCB0aGVuIG9ubHkgdGhlIGRpY3Rpb25hcnkgbGVuZ3RoIGlzIHJldHVybmVkLCBhbmQgbm90aGluZyBpcyBjb3BpZWQuCi0gICBTaW1pbGFyeSwgaWYgZGljdExlbmd0aCBpcyBaX05VTEwsIHRoZW4gaXQgaXMgbm90IHNldC4KKyAgIFNpbWlsYXJseSwgaWYgZGljdExlbmd0aCBpcyBaX05VTEwsIHRoZW4gaXQgaXMgbm90IHNldC4KIAogICAgICBpbmZsYXRlR2V0RGljdGlvbmFyeSByZXR1cm5zIFpfT0sgb24gc3VjY2Vzcywgb3IgWl9TVFJFQU1fRVJST1IgaWYgdGhlCiAgICBzdHJlYW0gc3RhdGUgaXMgaW5jb25zaXN0ZW50LgpAQCAtODkyLDcgKzk1OSw3IEBACiBaRVhURVJOIGludCBaRVhQT1JUIGluZmxhdGVSZXNldCBPRigoel9zdHJlYW1wIHN0cm0pKTsKIC8qCiAgICAgIFRoaXMgZnVuY3Rpb24gaXMgZXF1aXZhbGVudCB0byBpbmZsYXRlRW5kIGZvbGxvd2VkIGJ5IGluZmxhdGVJbml0LAotICAgYnV0IGRvZXMgbm90IGZyZWUgYW5kIHJlYWxsb2NhdGUgYWxsIHRoZSBpbnRlcm5hbCBkZWNvbXByZXNzaW9uIHN0YXRlLiAgVGhlCisgICBidXQgZG9lcyBub3QgZnJlZSBhbmQgcmVhbGxvY2F0ZSB0aGUgaW50ZXJuYWwgZGVjb21wcmVzc2lvbiBzdGF0ZS4gIFRoZQogICAgc3RyZWFtIHdpbGwga2VlcCBhdHRyaWJ1dGVzIHRoYXQgbWF5IGhhdmUgYmVlbiBzZXQgYnkgaW5mbGF0ZUluaXQyLgogCiAgICAgIGluZmxhdGVSZXNldCByZXR1cm5zIFpfT0sgaWYgc3VjY2Vzcywgb3IgWl9TVFJFQU1fRVJST1IgaWYgdGhlIHNvdXJjZQpAQCAtOTA0LDcgKzk3MSw5IEBACiAvKgogICAgICBUaGlzIGZ1bmN0aW9uIGlzIHRoZSBzYW1lIGFzIGluZmxhdGVSZXNldCwgYnV0IGl0IGFsc28gcGVybWl0cyBjaGFuZ2luZwogICAgdGhlIHdyYXAgYW5kIHdpbmRvdyBzaXplIHJlcXVlc3RzLiAgVGhlIHdpbmRvd0JpdHMgcGFyYW1ldGVyIGlzIGludGVycHJldGVkCi0gICB0aGUgc2FtZSBhcyBpdCBpcyBmb3IgaW5mbGF0ZUluaXQyLgorICAgdGhlIHNhbWUgYXMgaXQgaXMgZm9yIGluZmxhdGVJbml0Mi4gIElmIHRoZSB3aW5kb3cgc2l6ZSBpcyBjaGFuZ2VkLCB0aGVuIHRoZQorICAgbWVtb3J5IGFsbG9jYXRlZCBmb3IgdGhlIHdpbmRvdyBpcyBmcmVlZCwgYW5kIHRoZSB3aW5kb3cgd2lsbCBiZSByZWFsbG9jYXRlZAorICAgYnkgaW5mbGF0ZSgpIGlmIG5lZWRlZC4KIAogICAgICBpbmZsYXRlUmVzZXQyIHJldHVybnMgWl9PSyBpZiBzdWNjZXNzLCBvciBaX1NUUkVBTV9FUlJPUiBpZiB0aGUgc291cmNlCiAgICBzdHJlYW0gc3RhdGUgd2FzIGluY29uc2lzdGVudCAoc3VjaCBhcyB6YWxsb2Mgb3Igc3RhdGUgYmVpbmcgWl9OVUxMKSwgb3IgaWYKQEAgLTk1Niw3ICsxMDI1LDcgQEAKICAgIGxvY2F0aW9uIGluIHRoZSBpbnB1dCBzdHJlYW0gY2FuIGJlIGRldGVybWluZWQgZnJvbSBhdmFpbF9pbiBhbmQgZGF0YV90eXBlCiAgICBhcyBub3RlZCBpbiB0aGUgZGVzY3JpcHRpb24gZm9yIHRoZSBaX0JMT0NLIGZsdXNoIHBhcmFtZXRlciBmb3IgaW5mbGF0ZS4KIAotICAgICBpbmZsYXRlTWFyayByZXR1cm5zIHRoZSB2YWx1ZSBub3RlZCBhYm92ZSBvciAtMSA8PCAxNiBpZiB0aGUgcHJvdmlkZWQKKyAgICAgaW5mbGF0ZU1hcmsgcmV0dXJucyB0aGUgdmFsdWUgbm90ZWQgYWJvdmUsIG9yIC02NTUzNiBpZiB0aGUgcHJvdmlkZWQKICAgIHNvdXJjZSBzdHJlYW0gc3RhdGUgd2FzIGluY29uc2lzdGVudC4KICovCiAKQEAgLTEwNDgsOSArMTExNyw5IEBACiAgICBUaGlzIHJvdXRpbmUgd291bGQgbm9ybWFsbHkgYmUgdXNlZCBpbiBhIHV0aWxpdHkgdGhhdCByZWFkcyB6aXAgb3IgZ3ppcAogICAgZmlsZXMgYW5kIHdyaXRlcyBvdXQgdW5jb21wcmVzc2VkIGZpbGVzLiAgVGhlIHV0aWxpdHkgd291bGQgZGVjb2RlIHRoZQogICAgaGVhZGVyIGFuZCBwcm9jZXNzIHRoZSB0cmFpbGVyIG9uIGl0cyBvd24sIGhlbmNlIHRoaXMgcm91dGluZSBleHBlY3RzIG9ubHkKLSAgIHRoZSByYXcgZGVmbGF0ZSBzdHJlYW0gdG8gZGVjb21wcmVzcy4gIFRoaXMgaXMgZGlmZmVyZW50IGZyb20gdGhlIG5vcm1hbAotICAgYmVoYXZpb3Igb2YgaW5mbGF0ZSgpLCB3aGljaCBleHBlY3RzIGVpdGhlciBhIHpsaWIgb3IgZ3ppcCBoZWFkZXIgYW5kCi0gICB0cmFpbGVyIGFyb3VuZCB0aGUgZGVmbGF0ZSBzdHJlYW0uCisgICB0aGUgcmF3IGRlZmxhdGUgc3RyZWFtIHRvIGRlY29tcHJlc3MuICBUaGlzIGlzIGRpZmZlcmVudCBmcm9tIHRoZSBkZWZhdWx0CisgICBiZWhhdmlvciBvZiBpbmZsYXRlKCksIHdoaWNoIGV4cGVjdHMgYSB6bGliIGhlYWRlciBhbmQgdHJhaWxlciBhcm91bmQgdGhlCisgICBkZWZsYXRlIHN0cmVhbS4KIAogICAgICBpbmZsYXRlQmFjaygpIHVzZXMgdHdvIHN1YnJvdXRpbmVzIHN1cHBsaWVkIGJ5IHRoZSBjYWxsZXIgdGhhdCBhcmUgdGhlbgogICAgY2FsbGVkIGJ5IGluZmxhdGVCYWNrKCkgZm9yIGlucHV0IGFuZCBvdXRwdXQuICBpbmZsYXRlQmFjaygpIGNhbGxzIHRob3NlCkBAIC0xMDU5LDEyICsxMTI4LDEyIEBACiAgICBwYXJhbWV0ZXJzIGFuZCByZXR1cm4gdHlwZXMgYXJlIGRlZmluZWQgYWJvdmUgaW4gdGhlIGluX2Z1bmMgYW5kIG91dF9mdW5jCiAgICB0eXBlZGVmcy4gIGluZmxhdGVCYWNrKCkgd2lsbCBjYWxsIGluKGluX2Rlc2MsICZidWYpIHdoaWNoIHNob3VsZCByZXR1cm4gdGhlCiAgICBudW1iZXIgb2YgYnl0ZXMgb2YgcHJvdmlkZWQgaW5wdXQsIGFuZCBhIHBvaW50ZXIgdG8gdGhhdCBpbnB1dCBpbiBidWYuICBJZgotICAgdGhlcmUgaXMgbm8gaW5wdXQgYXZhaWxhYmxlLCBpbigpIG11c3QgcmV0dXJuIHplcm8tLWJ1ZiBpcyBpZ25vcmVkIGluIHRoYXQKLSAgIGNhc2UtLWFuZCBpbmZsYXRlQmFjaygpIHdpbGwgcmV0dXJuIGEgYnVmZmVyIGVycm9yLiAgaW5mbGF0ZUJhY2soKSB3aWxsIGNhbGwKLSAgIG91dChvdXRfZGVzYywgYnVmLCBsZW4pIHRvIHdyaXRlIHRoZSB1bmNvbXByZXNzZWQgZGF0YSBidWZbMC4ubGVuLTFdLiAgb3V0KCkKLSAgIHNob3VsZCByZXR1cm4gemVybyBvbiBzdWNjZXNzLCBvciBub24temVybyBvbiBmYWlsdXJlLiAgSWYgb3V0KCkgcmV0dXJucwotICAgbm9uLXplcm8sIGluZmxhdGVCYWNrKCkgd2lsbCByZXR1cm4gd2l0aCBhbiBlcnJvci4gIE5laXRoZXIgaW4oKSBub3Igb3V0KCkKLSAgIGFyZSBwZXJtaXR0ZWQgdG8gY2hhbmdlIHRoZSBjb250ZW50cyBvZiB0aGUgd2luZG93IHByb3ZpZGVkIHRvCisgICB0aGVyZSBpcyBubyBpbnB1dCBhdmFpbGFibGUsIGluKCkgbXVzdCByZXR1cm4gemVybyAtLSBidWYgaXMgaWdub3JlZCBpbiB0aGF0CisgICBjYXNlIC0tIGFuZCBpbmZsYXRlQmFjaygpIHdpbGwgcmV0dXJuIGEgYnVmZmVyIGVycm9yLiAgaW5mbGF0ZUJhY2soKSB3aWxsCisgICBjYWxsIG91dChvdXRfZGVzYywgYnVmLCBsZW4pIHRvIHdyaXRlIHRoZSB1bmNvbXByZXNzZWQgZGF0YSBidWZbMC4ubGVuLTFdLgorICAgb3V0KCkgc2hvdWxkIHJldHVybiB6ZXJvIG9uIHN1Y2Nlc3MsIG9yIG5vbi16ZXJvIG9uIGZhaWx1cmUuICBJZiBvdXQoKQorICAgcmV0dXJucyBub24temVybywgaW5mbGF0ZUJhY2soKSB3aWxsIHJldHVybiB3aXRoIGFuIGVycm9yLiAgTmVpdGhlciBpbigpIG5vcgorICAgb3V0KCkgYXJlIHBlcm1pdHRlZCB0byBjaGFuZ2UgdGhlIGNvbnRlbnRzIG9mIHRoZSB3aW5kb3cgcHJvdmlkZWQgdG8KICAgIGluZmxhdGVCYWNrSW5pdCgpLCB3aGljaCBpcyBhbHNvIHRoZSBidWZmZXIgdGhhdCBvdXQoKSB1c2VzIHRvIHdyaXRlIGZyb20uCiAgICBUaGUgbGVuZ3RoIHdyaXR0ZW4gYnkgb3V0KCkgd2lsbCBiZSBhdCBtb3N0IHRoZSB3aW5kb3cgc2l6ZS4gIEFueSBub24temVybwogICAgYW1vdW50IG9mIGlucHV0IG1heSBiZSBwcm92aWRlZCBieSBpbigpLgpAQCAtMTA5Miw3ICsxMTYxLDcgQEAKICAgIHVzaW5nIHN0cm0tPm5leHRfaW4gd2hpY2ggd2lsbCBiZSBaX05VTEwgb25seSBpZiBpbigpIHJldHVybmVkIGFuIGVycm9yLiAgSWYKICAgIHN0cm0tPm5leHRfaW4gaXMgbm90IFpfTlVMTCwgdGhlbiB0aGUgWl9CVUZfRVJST1Igd2FzIGR1ZSB0byBvdXQoKSByZXR1cm5pbmcKICAgIG5vbi16ZXJvLiAgKGluKCkgd2lsbCBhbHdheXMgYmUgY2FsbGVkIGJlZm9yZSBvdXQoKSwgc28gc3RybS0+bmV4dF9pbiBpcwotICAgYXNzdXJlZCB0byBiZSBkZWZpbmVkIGlmIG91dCgpIHJldHVybnMgbm9uLXplcm8uKSBOb3RlIHRoYXQgaW5mbGF0ZUJhY2soKQorICAgYXNzdXJlZCB0byBiZSBkZWZpbmVkIGlmIG91dCgpIHJldHVybnMgbm9uLXplcm8uKSAgTm90ZSB0aGF0IGluZmxhdGVCYWNrKCkKICAgIGNhbm5vdCByZXR1cm4gWl9PSy4KICovCiAKQEAgLTExMTQsNyArMTE4Myw3IEBACiAgICAgIDcuNjogc2l6ZSBvZiB6X29mZl90CiAKICAgICBDb21waWxlciwgYXNzZW1ibGVyLCBhbmQgZGVidWcgb3B0aW9uczoKLSAgICAgODogREVCVUcKKyAgICAgODogWkxJQl9ERUJVRwogICAgICA5OiBBU01WIG9yIEFTTUlORiAtLSB1c2UgQVNNIGNvZGUKICAgICAgMTA6IFpMSUJfV0lOQVBJIC0tIGV4cG9ydGVkIGZ1bmN0aW9ucyB1c2UgdGhlIFdJTkFQSSBjYWxsaW5nIGNvbnZlbnRpb24KICAgICAgMTE6IDAgKHJlc2VydmVkKQpAQCAtMTE2NCw3ICsxMjMzLDggQEAKICAgIHRoZSBieXRlIGxlbmd0aCBvZiB0aGUgc291cmNlIGJ1ZmZlci4gIFVwb24gZW50cnksIGRlc3RMZW4gaXMgdGhlIHRvdGFsIHNpemUKICAgIG9mIHRoZSBkZXN0aW5hdGlvbiBidWZmZXIsIHdoaWNoIG11c3QgYmUgYXQgbGVhc3QgdGhlIHZhbHVlIHJldHVybmVkIGJ5CiAgICBjb21wcmVzc0JvdW5kKHNvdXJjZUxlbikuICBVcG9uIGV4aXQsIGRlc3RMZW4gaXMgdGhlIGFjdHVhbCBzaXplIG9mIHRoZQotICAgY29tcHJlc3NlZCBidWZmZXIuCisgICBjb21wcmVzc2VkIGRhdGEuICBjb21wcmVzcygpIGlzIGVxdWl2YWxlbnQgdG8gY29tcHJlc3MyKCkgd2l0aCBhIGxldmVsCisgICBwYXJhbWV0ZXIgb2YgWl9ERUZBVUxUX0NPTVBSRVNTSU9OLgogCiAgICAgIGNvbXByZXNzIHJldHVybnMgWl9PSyBpZiBzdWNjZXNzLCBaX01FTV9FUlJPUiBpZiB0aGVyZSB3YXMgbm90CiAgICBlbm91Z2ggbWVtb3J5LCBaX0JVRl9FUlJPUiBpZiB0aGVyZSB3YXMgbm90IGVub3VnaCByb29tIGluIHRoZSBvdXRwdXQKQEAgLTExODAsNyArMTI1MCw3IEBACiAgICBsZW5ndGggb2YgdGhlIHNvdXJjZSBidWZmZXIuICBVcG9uIGVudHJ5LCBkZXN0TGVuIGlzIHRoZSB0b3RhbCBzaXplIG9mIHRoZQogICAgZGVzdGluYXRpb24gYnVmZmVyLCB3aGljaCBtdXN0IGJlIGF0IGxlYXN0IHRoZSB2YWx1ZSByZXR1cm5lZCBieQogICAgY29tcHJlc3NCb3VuZChzb3VyY2VMZW4pLiAgVXBvbiBleGl0LCBkZXN0TGVuIGlzIHRoZSBhY3R1YWwgc2l6ZSBvZiB0aGUKLSAgIGNvbXByZXNzZWQgYnVmZmVyLgorICAgY29tcHJlc3NlZCBkYXRhLgogCiAgICAgIGNvbXByZXNzMiByZXR1cm5zIFpfT0sgaWYgc3VjY2VzcywgWl9NRU1fRVJST1IgaWYgdGhlcmUgd2FzIG5vdCBlbm91Z2gKICAgIG1lbW9yeSwgWl9CVUZfRVJST1IgaWYgdGhlcmUgd2FzIG5vdCBlbm91Z2ggcm9vbSBpbiB0aGUgb3V0cHV0IGJ1ZmZlciwKQEAgLTEyMDMsNyArMTI3Myw3IEBACiAgICB1bmNvbXByZXNzZWQgZGF0YS4gIChUaGUgc2l6ZSBvZiB0aGUgdW5jb21wcmVzc2VkIGRhdGEgbXVzdCBoYXZlIGJlZW4gc2F2ZWQKICAgIHByZXZpb3VzbHkgYnkgdGhlIGNvbXByZXNzb3IgYW5kIHRyYW5zbWl0dGVkIHRvIHRoZSBkZWNvbXByZXNzb3IgYnkgc29tZQogICAgbWVjaGFuaXNtIG91dHNpZGUgdGhlIHNjb3BlIG9mIHRoaXMgY29tcHJlc3Npb24gbGlicmFyeS4pIFVwb24gZXhpdCwgZGVzdExlbgotICAgaXMgdGhlIGFjdHVhbCBzaXplIG9mIHRoZSB1bmNvbXByZXNzZWQgYnVmZmVyLgorICAgaXMgdGhlIGFjdHVhbCBzaXplIG9mIHRoZSB1bmNvbXByZXNzZWQgZGF0YS4KIAogICAgICB1bmNvbXByZXNzIHJldHVybnMgWl9PSyBpZiBzdWNjZXNzLCBaX01FTV9FUlJPUiBpZiB0aGVyZSB3YXMgbm90CiAgICBlbm91Z2ggbWVtb3J5LCBaX0JVRl9FUlJPUiBpZiB0aGVyZSB3YXMgbm90IGVub3VnaCByb29tIGluIHRoZSBvdXRwdXQKQEAgLTEyMTIsNiArMTI4MiwxNCBAQAogICAgYnVmZmVyIHdpdGggdGhlIHVuY29tcHJlc3NlZCBkYXRhIHVwIHRvIHRoYXQgcG9pbnQuCiAqLwogCitaRVhURVJOIGludCBaRVhQT1JUIHVuY29tcHJlc3MyIE9GKChCeXRlZiAqZGVzdCwgICB1TG9uZ2YgKmRlc3RMZW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBCeXRlZiAqc291cmNlLCB1TG9uZyAqc291cmNlTGVuKSk7CisvKgorICAgICBTYW1lIGFzIHVuY29tcHJlc3MsIGV4Y2VwdCB0aGF0IHNvdXJjZUxlbiBpcyBhIHBvaW50ZXIsIHdoZXJlIHRoZQorICAgbGVuZ3RoIG9mIHRoZSBzb3VyY2UgaXMgKnNvdXJjZUxlbi4gIE9uIHJldHVybiwgKnNvdXJjZUxlbiBpcyB0aGUgbnVtYmVyIG9mCisgICBzb3VyY2UgYnl0ZXMgY29uc3VtZWQuCisqLworCiAgICAgICAgICAgICAgICAgICAgICAgICAvKiBnemlwIGZpbGUgYWNjZXNzIGZ1bmN0aW9ucyAqLwogCiAvKgpAQCAtMTIyNiwxNCArMTMwNCwxNCBAQAogLyoKIFpFWFRFUk4gZ3pGaWxlIFpFWFBPUlQgZ3pvcGVuIE9GKChjb25zdCBjaGFyICpwYXRoLCBjb25zdCBjaGFyICptb2RlKSk7CiAKLSAgICAgT3BlbnMgYSBnemlwICguZ3opIGZpbGUgZm9yIHJlYWRpbmcgb3Igd3JpdGluZy4gIFRoZSBtb2RlIHBhcmFtZXRlciBpcyBhcwotICAgaW4gZm9wZW4gKCJyYiIgb3IgIndiIikgYnV0IGNhbiBhbHNvIGluY2x1ZGUgYSBjb21wcmVzc2lvbiBsZXZlbCAoIndiOSIpIG9yCi0gICBhIHN0cmF0ZWd5OiAnZicgZm9yIGZpbHRlcmVkIGRhdGEgYXMgaW4gIndiNmYiLCAnaCcgZm9yIEh1ZmZtYW4tb25seQotICAgY29tcHJlc3Npb24gYXMgaW4gIndiMWgiLCAnUicgZm9yIHJ1bi1sZW5ndGggZW5jb2RpbmcgYXMgaW4gIndiMVIiLCBvciAnRicKLSAgIGZvciBmaXhlZCBjb2RlIGNvbXByZXNzaW9uIGFzIGluICJ3YjlGIi4gIChTZWUgdGhlIGRlc2NyaXB0aW9uIG9mCi0gICBkZWZsYXRlSW5pdDIgZm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHN0cmF0ZWd5IHBhcmFtZXRlci4pICAnVCcgd2lsbAotICAgcmVxdWVzdCB0cmFuc3BhcmVudCB3cml0aW5nIG9yIGFwcGVuZGluZyB3aXRoIG5vIGNvbXByZXNzaW9uIGFuZCBub3QgdXNpbmcKLSAgIHRoZSBnemlwIGZvcm1hdC4KKyAgICAgT3BlbiB0aGUgZ3ppcCAoLmd6KSBmaWxlIGF0IHBhdGggZm9yIHJlYWRpbmcgYW5kIGRlY29tcHJlc3NpbmcsIG9yCisgICBjb21wcmVzc2luZyBhbmQgd3JpdGluZy4gIFRoZSBtb2RlIHBhcmFtZXRlciBpcyBhcyBpbiBmb3BlbiAoInJiIiBvciAid2IiKQorICAgYnV0IGNhbiBhbHNvIGluY2x1ZGUgYSBjb21wcmVzc2lvbiBsZXZlbCAoIndiOSIpIG9yIGEgc3RyYXRlZ3k6ICdmJyBmb3IKKyAgIGZpbHRlcmVkIGRhdGEgYXMgaW4gIndiNmYiLCAnaCcgZm9yIEh1ZmZtYW4tb25seSBjb21wcmVzc2lvbiBhcyBpbiAid2IxaCIsCisgICAnUicgZm9yIHJ1bi1sZW5ndGggZW5jb2RpbmcgYXMgaW4gIndiMVIiLCBvciAnRicgZm9yIGZpeGVkIGNvZGUgY29tcHJlc3Npb24KKyAgIGFzIGluICJ3YjlGIi4gIChTZWUgdGhlIGRlc2NyaXB0aW9uIG9mIGRlZmxhdGVJbml0MiBmb3IgbW9yZSBpbmZvcm1hdGlvbgorICAgYWJvdXQgdGhlIHN0cmF0ZWd5IHBhcmFtZXRlci4pICAnVCcgd2lsbCByZXF1ZXN0IHRyYW5zcGFyZW50IHdyaXRpbmcgb3IKKyAgIGFwcGVuZGluZyB3aXRoIG5vIGNvbXByZXNzaW9uIGFuZCBub3QgdXNpbmcgdGhlIGd6aXAgZm9ybWF0LgogCiAgICAgICJhIiBjYW4gYmUgdXNlZCBpbnN0ZWFkIG9mICJ3IiB0byByZXF1ZXN0IHRoYXQgdGhlIGd6aXAgc3RyZWFtIHRoYXQgd2lsbAogICAgYmUgd3JpdHRlbiBiZSBhcHBlbmRlZCB0byB0aGUgZmlsZS4gICIrIiB3aWxsIHJlc3VsdCBpbiBhbiBlcnJvciwgc2luY2UKQEAgLTEyNjMsOSArMTM0MSw5IEBACiAKIFpFWFRFUk4gZ3pGaWxlIFpFWFBPUlQgZ3pkb3BlbiBPRigoaW50IGZkLCBjb25zdCBjaGFyICptb2RlKSk7CiAvKgotICAgICBnemRvcGVuIGFzc29jaWF0ZXMgYSBnekZpbGUgd2l0aCB0aGUgZmlsZSBkZXNjcmlwdG9yIGZkLiAgRmlsZSBkZXNjcmlwdG9ycwotICAgYXJlIG9idGFpbmVkIGZyb20gY2FsbHMgbGlrZSBvcGVuLCBkdXAsIGNyZWF0LCBwaXBlIG9yIGZpbGVubyAoaWYgdGhlIGZpbGUKLSAgIGhhcyBiZWVuIHByZXZpb3VzbHkgb3BlbmVkIHdpdGggZm9wZW4pLiAgVGhlIG1vZGUgcGFyYW1ldGVyIGlzIGFzIGluIGd6b3Blbi4KKyAgICAgQXNzb2NpYXRlIGEgZ3pGaWxlIHdpdGggdGhlIGZpbGUgZGVzY3JpcHRvciBmZC4gIEZpbGUgZGVzY3JpcHRvcnMgYXJlCisgICBvYnRhaW5lZCBmcm9tIGNhbGxzIGxpa2Ugb3BlbiwgZHVwLCBjcmVhdCwgcGlwZSBvciBmaWxlbm8gKGlmIHRoZSBmaWxlIGhhcworICAgYmVlbiBwcmV2aW91c2x5IG9wZW5lZCB3aXRoIGZvcGVuKS4gIFRoZSBtb2RlIHBhcmFtZXRlciBpcyBhcyBpbiBnem9wZW4uCiAKICAgICAgVGhlIG5leHQgY2FsbCBvZiBnemNsb3NlIG9uIHRoZSByZXR1cm5lZCBnekZpbGUgd2lsbCBhbHNvIGNsb3NlIHRoZSBmaWxlCiAgICBkZXNjcmlwdG9yIGZkLCBqdXN0IGxpa2UgZmNsb3NlKGZkb3BlbihmZCwgbW9kZSkpIGNsb3NlcyB0aGUgZmlsZSBkZXNjcmlwdG9yCkBAIC0xMjg2LDE0ICsxMzY0LDEzIEBACiAKIFpFWFRFUk4gaW50IFpFWFBPUlQgZ3pidWZmZXIgT0YoKGd6RmlsZSBmaWxlLCB1bnNpZ25lZCBzaXplKSk7CiAvKgotICAgICBTZXQgdGhlIGludGVybmFsIGJ1ZmZlciBzaXplIHVzZWQgYnkgdGhpcyBsaWJyYXJ5J3MgZnVuY3Rpb25zLiAgVGhlCi0gICBkZWZhdWx0IGJ1ZmZlciBzaXplIGlzIDgxOTIgYnl0ZXMuICBUaGlzIGZ1bmN0aW9uIG11c3QgYmUgY2FsbGVkIGFmdGVyCi0gICBnem9wZW4oKSBvciBnemRvcGVuKCksIGFuZCBiZWZvcmUgYW55IG90aGVyIGNhbGxzIHRoYXQgcmVhZCBvciB3cml0ZSB0aGUKLSAgIGZpbGUuICBUaGUgYnVmZmVyIG1lbW9yeSBhbGxvY2F0aW9uIGlzIGFsd2F5cyBkZWZlcnJlZCB0byB0aGUgZmlyc3QgcmVhZCBvcgotICAgd3JpdGUuICBUd28gYnVmZmVycyBhcmUgYWxsb2NhdGVkLCBlaXRoZXIgYm90aCBvZiB0aGUgc3BlY2lmaWVkIHNpemUgd2hlbgotICAgd3JpdGluZywgb3Igb25lIG9mIHRoZSBzcGVjaWZpZWQgc2l6ZSBhbmQgdGhlIG90aGVyIHR3aWNlIHRoYXQgc2l6ZSB3aGVuCi0gICByZWFkaW5nLiAgQSBsYXJnZXIgYnVmZmVyIHNpemUgb2YsIGZvciBleGFtcGxlLCA2NEsgb3IgMTI4SyBieXRlcyB3aWxsCi0gICBub3RpY2VhYmx5IGluY3JlYXNlIHRoZSBzcGVlZCBvZiBkZWNvbXByZXNzaW9uIChyZWFkaW5nKS4KKyAgICAgU2V0IHRoZSBpbnRlcm5hbCBidWZmZXIgc2l6ZSB1c2VkIGJ5IHRoaXMgbGlicmFyeSdzIGZ1bmN0aW9ucyBmb3IgZmlsZSB0bworICAgc2l6ZS4gIFRoZSBkZWZhdWx0IGJ1ZmZlciBzaXplIGlzIDgxOTIgYnl0ZXMuICBUaGlzIGZ1bmN0aW9uIG11c3QgYmUgY2FsbGVkCisgICBhZnRlciBnem9wZW4oKSBvciBnemRvcGVuKCksIGFuZCBiZWZvcmUgYW55IG90aGVyIGNhbGxzIHRoYXQgcmVhZCBvciB3cml0ZQorICAgdGhlIGZpbGUuICBUaGUgYnVmZmVyIG1lbW9yeSBhbGxvY2F0aW9uIGlzIGFsd2F5cyBkZWZlcnJlZCB0byB0aGUgZmlyc3QgcmVhZAorICAgb3Igd3JpdGUuICBUaHJlZSB0aW1lcyB0aGF0IHNpemUgaW4gYnVmZmVyIHNwYWNlIGlzIGFsbG9jYXRlZC4gIEEgbGFyZ2VyCisgICBidWZmZXIgc2l6ZSBvZiwgZm9yIGV4YW1wbGUsIDY0SyBvciAxMjhLIGJ5dGVzIHdpbGwgbm90aWNlYWJseSBpbmNyZWFzZSB0aGUKKyAgIHNwZWVkIG9mIGRlY29tcHJlc3Npb24gKHJlYWRpbmcpLgogCiAgICAgIFRoZSBuZXcgYnVmZmVyIHNpemUgYWxzbyBhZmZlY3RzIHRoZSBtYXhpbXVtIGxlbmd0aCBmb3IgZ3pwcmludGYoKS4KIApAQCAtMTMwMywxNiArMTM4MCwxOCBAQAogCiBaRVhURVJOIGludCBaRVhQT1JUIGd6c2V0cGFyYW1zIE9GKChnekZpbGUgZmlsZSwgaW50IGxldmVsLCBpbnQgc3RyYXRlZ3kpKTsKIC8qCi0gICAgIER5bmFtaWNhbGx5IHVwZGF0ZSB0aGUgY29tcHJlc3Npb24gbGV2ZWwgb3Igc3RyYXRlZ3kuICBTZWUgdGhlIGRlc2NyaXB0aW9uCi0gICBvZiBkZWZsYXRlSW5pdDIgZm9yIHRoZSBtZWFuaW5nIG9mIHRoZXNlIHBhcmFtZXRlcnMuCisgICAgIER5bmFtaWNhbGx5IHVwZGF0ZSB0aGUgY29tcHJlc3Npb24gbGV2ZWwgYW5kIHN0cmF0ZWd5IGZvciBmaWxlLiAgU2VlIHRoZQorICAgZGVzY3JpcHRpb24gb2YgZGVmbGF0ZUluaXQyIGZvciB0aGUgbWVhbmluZyBvZiB0aGVzZSBwYXJhbWV0ZXJzLiBQcmV2aW91c2x5CisgICBwcm92aWRlZCBkYXRhIGlzIGZsdXNoZWQgYmVmb3JlIGFwcGx5aW5nIHRoZSBwYXJhbWV0ZXIgY2hhbmdlcy4KIAotICAgICBnenNldHBhcmFtcyByZXR1cm5zIFpfT0sgaWYgc3VjY2Vzcywgb3IgWl9TVFJFQU1fRVJST1IgaWYgdGhlIGZpbGUgd2FzIG5vdAotICAgb3BlbmVkIGZvciB3cml0aW5nLgorICAgICBnenNldHBhcmFtcyByZXR1cm5zIFpfT0sgaWYgc3VjY2VzcywgWl9TVFJFQU1fRVJST1IgaWYgdGhlIGZpbGUgd2FzIG5vdAorICAgb3BlbmVkIGZvciB3cml0aW5nLCBaX0VSUk5PIGlmIHRoZXJlIGlzIGFuIGVycm9yIHdyaXRpbmcgdGhlIGZsdXNoZWQgZGF0YSwKKyAgIG9yIFpfTUVNX0VSUk9SIGlmIHRoZXJlIGlzIGEgbWVtb3J5IGFsbG9jYXRpb24gZXJyb3IuCiAqLwogCiBaRVhURVJOIGludCBaRVhQT1JUIGd6cmVhZCBPRigoZ3pGaWxlIGZpbGUsIHZvaWRwIGJ1ZiwgdW5zaWduZWQgbGVuKSk7CiAvKgotICAgICBSZWFkcyB0aGUgZ2l2ZW4gbnVtYmVyIG9mIHVuY29tcHJlc3NlZCBieXRlcyBmcm9tIHRoZSBjb21wcmVzc2VkIGZpbGUuICBJZgorICAgICBSZWFkIGFuZCBkZWNvbXByZXNzIHVwIHRvIGxlbiB1bmNvbXByZXNzZWQgYnl0ZXMgZnJvbSBmaWxlIGludG8gYnVmLiAgSWYKICAgIHRoZSBpbnB1dCBmaWxlIGlzIG5vdCBpbiBnemlwIGZvcm1hdCwgZ3pyZWFkIGNvcGllcyB0aGUgZ2l2ZW4gbnVtYmVyIG9mCiAgICBieXRlcyBpbnRvIHRoZSBidWZmZXIgZGlyZWN0bHkgZnJvbSB0aGUgZmlsZS4KIApAQCAtMTMzNSwzNSArMTQxNCw3NSBAQAogICAgY2FzZS4KIAogICAgICBnenJlYWQgcmV0dXJucyB0aGUgbnVtYmVyIG9mIHVuY29tcHJlc3NlZCBieXRlcyBhY3R1YWxseSByZWFkLCBsZXNzIHRoYW4KLSAgIGxlbiBmb3IgZW5kIG9mIGZpbGUsIG9yIC0xIGZvciBlcnJvci4KKyAgIGxlbiBmb3IgZW5kIG9mIGZpbGUsIG9yIC0xIGZvciBlcnJvci4gIElmIGxlbiBpcyB0b28gbGFyZ2UgdG8gZml0IGluIGFuIGludCwKKyAgIHRoZW4gbm90aGluZyBpcyByZWFkLCAtMSBpcyByZXR1cm5lZCwgYW5kIHRoZSBlcnJvciBzdGF0ZSBpcyBzZXQgdG8KKyAgIFpfU1RSRUFNX0VSUk9SLgogKi8KIAotWkVYVEVSTiBpbnQgWkVYUE9SVCBnendyaXRlIE9GKChnekZpbGUgZmlsZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZHBjIGJ1ZiwgdW5zaWduZWQgbGVuKSk7CitaRVhURVJOIHpfc2l6ZV90IFpFWFBPUlQgZ3pmcmVhZCBPRigodm9pZHAgYnVmLCB6X3NpemVfdCBzaXplLCB6X3NpemVfdCBuaXRlbXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3pGaWxlIGZpbGUpKTsKIC8qCi0gICAgIFdyaXRlcyB0aGUgZ2l2ZW4gbnVtYmVyIG9mIHVuY29tcHJlc3NlZCBieXRlcyBpbnRvIHRoZSBjb21wcmVzc2VkIGZpbGUuCi0gICBnendyaXRlIHJldHVybnMgdGhlIG51bWJlciBvZiB1bmNvbXByZXNzZWQgYnl0ZXMgd3JpdHRlbiBvciAwIGluIGNhc2Ugb2YKLSAgIGVycm9yLgorICAgICBSZWFkIGFuZCBkZWNvbXByZXNzIHVwIHRvIG5pdGVtcyBpdGVtcyBvZiBzaXplIHNpemUgZnJvbSBmaWxlIGludG8gYnVmLAorICAgb3RoZXJ3aXNlIG9wZXJhdGluZyBhcyBnenJlYWQoKSBkb2VzLiAgVGhpcyBkdXBsaWNhdGVzIHRoZSBpbnRlcmZhY2Ugb2YKKyAgIHN0ZGlvJ3MgZnJlYWQoKSwgd2l0aCBzaXplX3QgcmVxdWVzdCBhbmQgcmV0dXJuIHR5cGVzLiAgSWYgdGhlIGxpYnJhcnkKKyAgIGRlZmluZXMgc2l6ZV90LCB0aGVuIHpfc2l6ZV90IGlzIGlkZW50aWNhbCB0byBzaXplX3QuICBJZiBub3QsIHRoZW4gel9zaXplX3QKKyAgIGlzIGFuIHVuc2lnbmVkIGludGVnZXIgdHlwZSB0aGF0IGNhbiBjb250YWluIGEgcG9pbnRlci4KKworICAgICBnemZyZWFkKCkgcmV0dXJucyB0aGUgbnVtYmVyIG9mIGZ1bGwgaXRlbXMgcmVhZCBvZiBzaXplIHNpemUsIG9yIHplcm8gaWYKKyAgIHRoZSBlbmQgb2YgdGhlIGZpbGUgd2FzIHJlYWNoZWQgYW5kIGEgZnVsbCBpdGVtIGNvdWxkIG5vdCBiZSByZWFkLCBvciBpZgorICAgdGhlcmUgd2FzIGFuIGVycm9yLiAgZ3plcnJvcigpIG11c3QgYmUgY29uc3VsdGVkIGlmIHplcm8gaXMgcmV0dXJuZWQgaW4KKyAgIG9yZGVyIHRvIGRldGVybWluZSBpZiB0aGVyZSB3YXMgYW4gZXJyb3IuICBJZiB0aGUgbXVsdGlwbGljYXRpb24gb2Ygc2l6ZSBhbmQKKyAgIG5pdGVtcyBvdmVyZmxvd3MsIGkuZS4gdGhlIHByb2R1Y3QgZG9lcyBub3QgZml0IGluIGEgel9zaXplX3QsIHRoZW4gbm90aGluZworICAgaXMgcmVhZCwgemVybyBpcyByZXR1cm5lZCwgYW5kIHRoZSBlcnJvciBzdGF0ZSBpcyBzZXQgdG8gWl9TVFJFQU1fRVJST1IuCisKKyAgICAgSW4gdGhlIGV2ZW50IHRoYXQgdGhlIGVuZCBvZiBmaWxlIGlzIHJlYWNoZWQgYW5kIG9ubHkgYSBwYXJ0aWFsIGl0ZW0gaXMKKyAgIGF2YWlsYWJsZSBhdCB0aGUgZW5kLCBpLmUuIHRoZSByZW1haW5pbmcgdW5jb21wcmVzc2VkIGRhdGEgbGVuZ3RoIGlzIG5vdCBhCisgICBtdWx0aXBsZSBvZiBzaXplLCB0aGVuIHRoZSBmaW5hbCBwYXJ0aWFsIGl0ZW0gaXMgbmV2ZXJ0aGVsZXNzIHJlYWQgaW50byBidWYKKyAgIGFuZCB0aGUgZW5kLW9mLWZpbGUgZmxhZyBpcyBzZXQuICBUaGUgbGVuZ3RoIG9mIHRoZSBwYXJ0aWFsIGl0ZW0gcmVhZCBpcyBub3QKKyAgIHByb3ZpZGVkLCBidXQgY291bGQgYmUgaW5mZXJyZWQgZnJvbSB0aGUgcmVzdWx0IG9mIGd6dGVsbCgpLiAgVGhpcyBiZWhhdmlvcgorICAgaXMgdGhlIHNhbWUgYXMgdGhlIGJlaGF2aW9yIG9mIGZyZWFkKCkgaW1wbGVtZW50YXRpb25zIGluIGNvbW1vbiBsaWJyYXJpZXMsCisgICBidXQgaXQgcHJldmVudHMgdGhlIGRpcmVjdCB1c2Ugb2YgZ3pmcmVhZCgpIHRvIHJlYWQgYSBjb25jdXJyZW50bHkgd3JpdHRlbgorICAgZmlsZSwgcmVzZXR0aW5nIGFuZCByZXRyeWluZyBvbiBlbmQtb2YtZmlsZSwgd2hlbiBzaXplIGlzIG5vdCAxLgorKi8KKworWkVYVEVSTiBpbnQgWkVYUE9SVCBnendyaXRlIE9GKChnekZpbGUgZmlsZSwgdm9pZHBjIGJ1ZiwgdW5zaWduZWQgbGVuKSk7CisvKgorICAgICBDb21wcmVzcyBhbmQgd3JpdGUgdGhlIGxlbiB1bmNvbXByZXNzZWQgYnl0ZXMgYXQgYnVmIHRvIGZpbGUuIGd6d3JpdGUKKyAgIHJldHVybnMgdGhlIG51bWJlciBvZiB1bmNvbXByZXNzZWQgYnl0ZXMgd3JpdHRlbiBvciAwIGluIGNhc2Ugb2YgZXJyb3IuCisqLworCitaRVhURVJOIHpfc2l6ZV90IFpFWFBPUlQgZ3pmd3JpdGUgT0YoKHZvaWRwYyBidWYsIHpfc2l6ZV90IHNpemUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHpfc2l6ZV90IG5pdGVtcywgZ3pGaWxlIGZpbGUpKTsKKy8qCisgICAgIENvbXByZXNzIGFuZCB3cml0ZSBuaXRlbXMgaXRlbXMgb2Ygc2l6ZSBzaXplIGZyb20gYnVmIHRvIGZpbGUsIGR1cGxpY2F0aW5nCisgICB0aGUgaW50ZXJmYWNlIG9mIHN0ZGlvJ3MgZndyaXRlKCksIHdpdGggc2l6ZV90IHJlcXVlc3QgYW5kIHJldHVybiB0eXBlcy4gIElmCisgICB0aGUgbGlicmFyeSBkZWZpbmVzIHNpemVfdCwgdGhlbiB6X3NpemVfdCBpcyBpZGVudGljYWwgdG8gc2l6ZV90LiAgSWYgbm90LAorICAgdGhlbiB6X3NpemVfdCBpcyBhbiB1bnNpZ25lZCBpbnRlZ2VyIHR5cGUgdGhhdCBjYW4gY29udGFpbiBhIHBvaW50ZXIuCisKKyAgICAgZ3pmd3JpdGUoKSByZXR1cm5zIHRoZSBudW1iZXIgb2YgZnVsbCBpdGVtcyB3cml0dGVuIG9mIHNpemUgc2l6ZSwgb3IgemVybworICAgaWYgdGhlcmUgd2FzIGFuIGVycm9yLiAgSWYgdGhlIG11bHRpcGxpY2F0aW9uIG9mIHNpemUgYW5kIG5pdGVtcyBvdmVyZmxvd3MsCisgICBpLmUuIHRoZSBwcm9kdWN0IGRvZXMgbm90IGZpdCBpbiBhIHpfc2l6ZV90LCB0aGVuIG5vdGhpbmcgaXMgd3JpdHRlbiwgemVybworICAgaXMgcmV0dXJuZWQsIGFuZCB0aGUgZXJyb3Igc3RhdGUgaXMgc2V0IHRvIFpfU1RSRUFNX0VSUk9SLgogKi8KIAogWkVYVEVSTiBpbnQgWkVYUE9SVFZBIGd6cHJpbnRmIFpfQVJHKChnekZpbGUgZmlsZSwgY29uc3QgY2hhciAqZm9ybWF0LCAuLi4pKTsKIC8qCi0gICAgIENvbnZlcnRzLCBmb3JtYXRzLCBhbmQgd3JpdGVzIHRoZSBhcmd1bWVudHMgdG8gdGhlIGNvbXByZXNzZWQgZmlsZSB1bmRlcgotICAgY29udHJvbCBvZiB0aGUgZm9ybWF0IHN0cmluZywgYXMgaW4gZnByaW50Zi4gIGd6cHJpbnRmIHJldHVybnMgdGhlIG51bWJlciBvZgotICAgdW5jb21wcmVzc2VkIGJ5dGVzIGFjdHVhbGx5IHdyaXR0ZW4sIG9yIDAgaW4gY2FzZSBvZiBlcnJvci4gIFRoZSBudW1iZXIgb2YKLSAgIHVuY29tcHJlc3NlZCBieXRlcyB3cml0dGVuIGlzIGxpbWl0ZWQgdG8gODE5MSwgb3Igb25lIGxlc3MgdGhhbiB0aGUgYnVmZmVyCi0gICBzaXplIGdpdmVuIHRvIGd6YnVmZmVyKCkuICBUaGUgY2FsbGVyIHNob3VsZCBhc3N1cmUgdGhhdCB0aGlzIGxpbWl0IGlzIG5vdAotICAgZXhjZWVkZWQuICBJZiBpdCBpcyBleGNlZWRlZCwgdGhlbiBnenByaW50ZigpIHdpbGwgcmV0dXJuIGFuIGVycm9yICgwKSB3aXRoCi0gICBub3RoaW5nIHdyaXR0ZW4uICBJbiB0aGlzIGNhc2UsIHRoZXJlIG1heSBhbHNvIGJlIGEgYnVmZmVyIG92ZXJmbG93IHdpdGgKLSAgIHVucHJlZGljdGFibGUgY29uc2VxdWVuY2VzLCB3aGljaCBpcyBwb3NzaWJsZSBvbmx5IGlmIHpsaWIgd2FzIGNvbXBpbGVkIHdpdGgKLSAgIHRoZSBpbnNlY3VyZSBmdW5jdGlvbnMgc3ByaW50ZigpIG9yIHZzcHJpbnRmKCkgYmVjYXVzZSB0aGUgc2VjdXJlIHNucHJpbnRmKCkKLSAgIG9yIHZzbnByaW50ZigpIGZ1bmN0aW9ucyB3ZXJlIG5vdCBhdmFpbGFibGUuICBUaGlzIGNhbiBiZSBkZXRlcm1pbmVkIHVzaW5nCi0gICB6bGliQ29tcGlsZUZsYWdzKCkuCisgICAgIENvbnZlcnQsIGZvcm1hdCwgY29tcHJlc3MsIGFuZCB3cml0ZSB0aGUgYXJndW1lbnRzICguLi4pIHRvIGZpbGUgdW5kZXIKKyAgIGNvbnRyb2wgb2YgdGhlIHN0cmluZyBmb3JtYXQsIGFzIGluIGZwcmludGYuICBnenByaW50ZiByZXR1cm5zIHRoZSBudW1iZXIgb2YKKyAgIHVuY29tcHJlc3NlZCBieXRlcyBhY3R1YWxseSB3cml0dGVuLCBvciBhIG5lZ2F0aXZlIHpsaWIgZXJyb3IgY29kZSBpbiBjYXNlCisgICBvZiBlcnJvci4gIFRoZSBudW1iZXIgb2YgdW5jb21wcmVzc2VkIGJ5dGVzIHdyaXR0ZW4gaXMgbGltaXRlZCB0byA4MTkxLCBvcgorICAgb25lIGxlc3MgdGhhbiB0aGUgYnVmZmVyIHNpemUgZ2l2ZW4gdG8gZ3pidWZmZXIoKS4gIFRoZSBjYWxsZXIgc2hvdWxkIGFzc3VyZQorICAgdGhhdCB0aGlzIGxpbWl0IGlzIG5vdCBleGNlZWRlZC4gIElmIGl0IGlzIGV4Y2VlZGVkLCB0aGVuIGd6cHJpbnRmKCkgd2lsbAorICAgcmV0dXJuIGFuIGVycm9yICgwKSB3aXRoIG5vdGhpbmcgd3JpdHRlbi4gIEluIHRoaXMgY2FzZSwgdGhlcmUgbWF5IGFsc28gYmUgYQorICAgYnVmZmVyIG92ZXJmbG93IHdpdGggdW5wcmVkaWN0YWJsZSBjb25zZXF1ZW5jZXMsIHdoaWNoIGlzIHBvc3NpYmxlIG9ubHkgaWYKKyAgIHpsaWIgd2FzIGNvbXBpbGVkIHdpdGggdGhlIGluc2VjdXJlIGZ1bmN0aW9ucyBzcHJpbnRmKCkgb3IgdnNwcmludGYoKSwKKyAgIGJlY2F1c2UgdGhlIHNlY3VyZSBzbnByaW50ZigpIG9yIHZzbnByaW50ZigpIGZ1bmN0aW9ucyB3ZXJlIG5vdCBhdmFpbGFibGUuCisgICBUaGlzIGNhbiBiZSBkZXRlcm1pbmVkIHVzaW5nIHpsaWJDb21waWxlRmxhZ3MoKS4KICovCiAKIFpFWFRFUk4gaW50IFpFWFBPUlQgZ3pwdXRzIE9GKChnekZpbGUgZmlsZSwgY29uc3QgY2hhciAqcykpOwogLyoKLSAgICAgV3JpdGVzIHRoZSBnaXZlbiBudWxsLXRlcm1pbmF0ZWQgc3RyaW5nIHRvIHRoZSBjb21wcmVzc2VkIGZpbGUsIGV4Y2x1ZGluZworICAgICBDb21wcmVzcyBhbmQgd3JpdGUgdGhlIGdpdmVuIG51bGwtdGVybWluYXRlZCBzdHJpbmcgcyB0byBmaWxlLCBleGNsdWRpbmcKICAgIHRoZSB0ZXJtaW5hdGluZyBudWxsIGNoYXJhY3Rlci4KIAogICAgICBnenB1dHMgcmV0dXJucyB0aGUgbnVtYmVyIG9mIGNoYXJhY3RlcnMgd3JpdHRlbiwgb3IgLTEgaW4gY2FzZSBvZiBlcnJvci4KQEAgLTEzNzEsMTEgKzE0OTAsMTIgQEAKIAogWkVYVEVSTiBjaGFyICogWkVYUE9SVCBnemdldHMgT0YoKGd6RmlsZSBmaWxlLCBjaGFyICpidWYsIGludCBsZW4pKTsKIC8qCi0gICAgIFJlYWRzIGJ5dGVzIGZyb20gdGhlIGNvbXByZXNzZWQgZmlsZSB1bnRpbCBsZW4tMSBjaGFyYWN0ZXJzIGFyZSByZWFkLCBvciBhCi0gICBuZXdsaW5lIGNoYXJhY3RlciBpcyByZWFkIGFuZCB0cmFuc2ZlcnJlZCB0byBidWYsIG9yIGFuIGVuZC1vZi1maWxlCi0gICBjb25kaXRpb24gaXMgZW5jb3VudGVyZWQuICBJZiBhbnkgY2hhcmFjdGVycyBhcmUgcmVhZCBvciBpZiBsZW4gPT0gMSwgdGhlCi0gICBzdHJpbmcgaXMgdGVybWluYXRlZCB3aXRoIGEgbnVsbCBjaGFyYWN0ZXIuICBJZiBubyBjaGFyYWN0ZXJzIGFyZSByZWFkIGR1ZQotICAgdG8gYW4gZW5kLW9mLWZpbGUgb3IgbGVuIDwgMSwgdGhlbiB0aGUgYnVmZmVyIGlzIGxlZnQgdW50b3VjaGVkLgorICAgICBSZWFkIGFuZCBkZWNvbXByZXNzIGJ5dGVzIGZyb20gZmlsZSBpbnRvIGJ1ZiwgdW50aWwgbGVuLTEgY2hhcmFjdGVycyBhcmUKKyAgIHJlYWQsIG9yIHVudGlsIGEgbmV3bGluZSBjaGFyYWN0ZXIgaXMgcmVhZCBhbmQgdHJhbnNmZXJyZWQgdG8gYnVmLCBvciBhbgorICAgZW5kLW9mLWZpbGUgY29uZGl0aW9uIGlzIGVuY291bnRlcmVkLiAgSWYgYW55IGNoYXJhY3RlcnMgYXJlIHJlYWQgb3IgaWYgbGVuCisgICBpcyBvbmUsIHRoZSBzdHJpbmcgaXMgdGVybWluYXRlZCB3aXRoIGEgbnVsbCBjaGFyYWN0ZXIuICBJZiBubyBjaGFyYWN0ZXJzCisgICBhcmUgcmVhZCBkdWUgdG8gYW4gZW5kLW9mLWZpbGUgb3IgbGVuIGlzIGxlc3MgdGhhbiBvbmUsIHRoZW4gdGhlIGJ1ZmZlciBpcworICAgbGVmdCB1bnRvdWNoZWQuCiAKICAgICAgZ3pnZXRzIHJldHVybnMgYnVmIHdoaWNoIGlzIGEgbnVsbC10ZXJtaW5hdGVkIHN0cmluZywgb3IgaXQgcmV0dXJucyBOVUxMCiAgICBmb3IgZW5kLW9mLWZpbGUgb3IgaW4gY2FzZSBvZiBlcnJvci4gIElmIHRoZXJlIHdhcyBhbiBlcnJvciwgdGhlIGNvbnRlbnRzIGF0CkBAIC0xMzg0LDEzICsxNTA0LDEzIEBACiAKIFpFWFRFUk4gaW50IFpFWFBPUlQgZ3pwdXRjIE9GKChnekZpbGUgZmlsZSwgaW50IGMpKTsKIC8qCi0gICAgIFdyaXRlcyBjLCBjb252ZXJ0ZWQgdG8gYW4gdW5zaWduZWQgY2hhciwgaW50byB0aGUgY29tcHJlc3NlZCBmaWxlLiAgZ3pwdXRjCisgICAgIENvbXByZXNzIGFuZCB3cml0ZSBjLCBjb252ZXJ0ZWQgdG8gYW4gdW5zaWduZWQgY2hhciwgaW50byBmaWxlLiAgZ3pwdXRjCiAgICByZXR1cm5zIHRoZSB2YWx1ZSB0aGF0IHdhcyB3cml0dGVuLCBvciAtMSBpbiBjYXNlIG9mIGVycm9yLgogKi8KIAogWkVYVEVSTiBpbnQgWkVYUE9SVCBnemdldGMgT0YoKGd6RmlsZSBmaWxlKSk7CiAvKgotICAgICBSZWFkcyBvbmUgYnl0ZSBmcm9tIHRoZSBjb21wcmVzc2VkIGZpbGUuICBnemdldGMgcmV0dXJucyB0aGlzIGJ5dGUgb3IgLTEKKyAgICAgUmVhZCBhbmQgZGVjb21wcmVzcyBvbmUgYnl0ZSBmcm9tIGZpbGUuICBnemdldGMgcmV0dXJucyB0aGlzIGJ5dGUgb3IgLTEKICAgIGluIGNhc2Ugb2YgZW5kIG9mIGZpbGUgb3IgZXJyb3IuICBUaGlzIGlzIGltcGxlbWVudGVkIGFzIGEgbWFjcm8gZm9yIHNwZWVkLgogICAgQXMgc3VjaCwgaXQgZG9lcyBub3QgZG8gYWxsIG9mIHRoZSBjaGVja2luZyB0aGUgb3RoZXIgZnVuY3Rpb25zIGRvLiAgSS5lLgogICAgaXQgZG9lcyBub3QgY2hlY2sgdG8gc2VlIGlmIGZpbGUgaXMgTlVMTCwgbm9yIHdoZXRoZXIgdGhlIHN0cnVjdHVyZSBmaWxlCkBAIC0xMzk5LDggKzE1MTksOCBAQAogCiBaRVhURVJOIGludCBaRVhQT1JUIGd6dW5nZXRjIE9GKChpbnQgYywgZ3pGaWxlIGZpbGUpKTsKIC8qCi0gICAgIFB1c2ggb25lIGNoYXJhY3RlciBiYWNrIG9udG8gdGhlIHN0cmVhbSB0byBiZSByZWFkIGFzIHRoZSBmaXJzdCBjaGFyYWN0ZXIKLSAgIG9uIHRoZSBuZXh0IHJlYWQuICBBdCBsZWFzdCBvbmUgY2hhcmFjdGVyIG9mIHB1c2gtYmFjayBpcyBhbGxvd2VkLgorICAgICBQdXNoIGMgYmFjayBvbnRvIHRoZSBzdHJlYW0gZm9yIGZpbGUgdG8gYmUgcmVhZCBhcyB0aGUgZmlyc3QgY2hhcmFjdGVyIG9uCisgICB0aGUgbmV4dCByZWFkLiAgQXQgbGVhc3Qgb25lIGNoYXJhY3RlciBvZiBwdXNoLWJhY2sgaXMgYWx3YXlzIGFsbG93ZWQuCiAgICBnenVuZ2V0YygpIHJldHVybnMgdGhlIGNoYXJhY3RlciBwdXNoZWQsIG9yIC0xIG9uIGZhaWx1cmUuICBnenVuZ2V0YygpIHdpbGwKICAgIGZhaWwgaWYgYyBpcyAtMSwgYW5kIG1heSBmYWlsIGlmIGEgY2hhcmFjdGVyIGhhcyBiZWVuIHB1c2hlZCBidXQgbm90IHJlYWQKICAgIHlldC4gIElmIGd6dW5nZXRjIGlzIHVzZWQgaW1tZWRpYXRlbHkgYWZ0ZXIgZ3pvcGVuIG9yIGd6ZG9wZW4sIGF0IGxlYXN0IHRoZQpAQCAtMTQxMSwxNCArMTUzMSwxNCBAQAogCiBaRVhURVJOIGludCBaRVhQT1JUIGd6Zmx1c2ggT0YoKGd6RmlsZSBmaWxlLCBpbnQgZmx1c2gpKTsKIC8qCi0gICAgIEZsdXNoZXMgYWxsIHBlbmRpbmcgb3V0cHV0IGludG8gdGhlIGNvbXByZXNzZWQgZmlsZS4gIFRoZSBwYXJhbWV0ZXIgZmx1c2gKLSAgIGlzIGFzIGluIHRoZSBkZWZsYXRlKCkgZnVuY3Rpb24uICBUaGUgcmV0dXJuIHZhbHVlIGlzIHRoZSB6bGliIGVycm9yIG51bWJlcgotICAgKHNlZSBmdW5jdGlvbiBnemVycm9yIGJlbG93KS4gIGd6Zmx1c2ggaXMgb25seSBwZXJtaXR0ZWQgd2hlbiB3cml0aW5nLgorICAgICBGbHVzaCBhbGwgcGVuZGluZyBvdXRwdXQgdG8gZmlsZS4gIFRoZSBwYXJhbWV0ZXIgZmx1c2ggaXMgYXMgaW4gdGhlCisgICBkZWZsYXRlKCkgZnVuY3Rpb24uICBUaGUgcmV0dXJuIHZhbHVlIGlzIHRoZSB6bGliIGVycm9yIG51bWJlciAoc2VlIGZ1bmN0aW9uCisgICBnemVycm9yIGJlbG93KS4gIGd6Zmx1c2ggaXMgb25seSBwZXJtaXR0ZWQgd2hlbiB3cml0aW5nLgogCiAgICAgIElmIHRoZSBmbHVzaCBwYXJhbWV0ZXIgaXMgWl9GSU5JU0gsIHRoZSByZW1haW5pbmcgZGF0YSBpcyB3cml0dGVuIGFuZCB0aGUKICAgIGd6aXAgc3RyZWFtIGlzIGNvbXBsZXRlZCBpbiB0aGUgb3V0cHV0LiAgSWYgZ3p3cml0ZSgpIGlzIGNhbGxlZCBhZ2FpbiwgYSBuZXcKICAgIGd6aXAgc3RyZWFtIHdpbGwgYmUgc3RhcnRlZCBpbiB0aGUgb3V0cHV0LiAgZ3pyZWFkKCkgaXMgYWJsZSB0byByZWFkIHN1Y2gKLSAgIGNvbmNhdGVudGVkIGd6aXAgc3RyZWFtcy4KKyAgIGNvbmNhdGVuYXRlZCBnemlwIHN0cmVhbXMuCiAKICAgICAgZ3pmbHVzaCBzaG91bGQgYmUgY2FsbGVkIG9ubHkgd2hlbiBzdHJpY3RseSBuZWNlc3NhcnkgYmVjYXVzZSBpdCB3aWxsCiAgICBkZWdyYWRlIGNvbXByZXNzaW9uIGlmIGNhbGxlZCB0b28gb2Z0ZW4uCkBAIC0xNDI4LDggKzE1NDgsOCBAQAogWkVYVEVSTiB6X29mZl90IFpFWFBPUlQgZ3pzZWVrIE9GKChnekZpbGUgZmlsZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgel9vZmZfdCBvZmZzZXQsIGludCB3aGVuY2UpKTsKIAotICAgICBTZXRzIHRoZSBzdGFydGluZyBwb3NpdGlvbiBmb3IgdGhlIG5leHQgZ3pyZWFkIG9yIGd6d3JpdGUgb24gdGhlIGdpdmVuCi0gICBjb21wcmVzc2VkIGZpbGUuICBUaGUgb2Zmc2V0IHJlcHJlc2VudHMgYSBudW1iZXIgb2YgYnl0ZXMgaW4gdGhlCisgICAgIFNldCB0aGUgc3RhcnRpbmcgcG9zaXRpb24gdG8gb2Zmc2V0IHJlbGF0aXZlIHRvIHdoZW5jZSBmb3IgdGhlIG5leHQgZ3pyZWFkCisgICBvciBnendyaXRlIG9uIGZpbGUuICBUaGUgb2Zmc2V0IHJlcHJlc2VudHMgYSBudW1iZXIgb2YgYnl0ZXMgaW4gdGhlCiAgICB1bmNvbXByZXNzZWQgZGF0YSBzdHJlYW0uICBUaGUgd2hlbmNlIHBhcmFtZXRlciBpcyBkZWZpbmVkIGFzIGluIGxzZWVrKDIpOwogICAgdGhlIHZhbHVlIFNFRUtfRU5EIGlzIG5vdCBzdXBwb3J0ZWQuCiAKQEAgLTE0NDYsMTggKzE1NjYsMTggQEAKIAogWkVYVEVSTiBpbnQgWkVYUE9SVCAgICBnenJld2luZCBPRigoZ3pGaWxlIGZpbGUpKTsKIC8qCi0gICAgIFJld2luZHMgdGhlIGdpdmVuIGZpbGUuIFRoaXMgZnVuY3Rpb24gaXMgc3VwcG9ydGVkIG9ubHkgZm9yIHJlYWRpbmcuCisgICAgIFJld2luZCBmaWxlLiBUaGlzIGZ1bmN0aW9uIGlzIHN1cHBvcnRlZCBvbmx5IGZvciByZWFkaW5nLgogCi0gICAgIGd6cmV3aW5kKGZpbGUpIGlzIGVxdWl2YWxlbnQgdG8gKGludClnenNlZWsoZmlsZSwgMEwsIFNFRUtfU0VUKQorICAgICBnenJld2luZChmaWxlKSBpcyBlcXVpdmFsZW50IHRvIChpbnQpZ3pzZWVrKGZpbGUsIDBMLCBTRUVLX1NFVCkuCiAqLwogCiAvKgogWkVYVEVSTiB6X29mZl90IFpFWFBPUlQgICAgZ3p0ZWxsIE9GKChnekZpbGUgZmlsZSkpOwogCi0gICAgIFJldHVybnMgdGhlIHN0YXJ0aW5nIHBvc2l0aW9uIGZvciB0aGUgbmV4dCBnenJlYWQgb3IgZ3p3cml0ZSBvbiB0aGUgZ2l2ZW4KLSAgIGNvbXByZXNzZWQgZmlsZS4gIFRoaXMgcG9zaXRpb24gcmVwcmVzZW50cyBhIG51bWJlciBvZiBieXRlcyBpbiB0aGUKLSAgIHVuY29tcHJlc3NlZCBkYXRhIHN0cmVhbSwgYW5kIGlzIHplcm8gd2hlbiBzdGFydGluZywgZXZlbiBpZiBhcHBlbmRpbmcgb3IKLSAgIHJlYWRpbmcgYSBnemlwIHN0cmVhbSBmcm9tIHRoZSBtaWRkbGUgb2YgYSBmaWxlIHVzaW5nIGd6ZG9wZW4oKS4KKyAgICAgUmV0dXJuIHRoZSBzdGFydGluZyBwb3NpdGlvbiBmb3IgdGhlIG5leHQgZ3pyZWFkIG9yIGd6d3JpdGUgb24gZmlsZS4KKyAgIFRoaXMgcG9zaXRpb24gcmVwcmVzZW50cyBhIG51bWJlciBvZiBieXRlcyBpbiB0aGUgdW5jb21wcmVzc2VkIGRhdGEgc3RyZWFtLAorICAgYW5kIGlzIHplcm8gd2hlbiBzdGFydGluZywgZXZlbiBpZiBhcHBlbmRpbmcgb3IgcmVhZGluZyBhIGd6aXAgc3RyZWFtIGZyb20KKyAgIHRoZSBtaWRkbGUgb2YgYSBmaWxlIHVzaW5nIGd6ZG9wZW4oKS4KIAogICAgICBnenRlbGwoZmlsZSkgaXMgZXF1aXZhbGVudCB0byBnenNlZWsoZmlsZSwgMEwsIFNFRUtfQ1VSKQogKi8KQEAgLTE0NjUsMjIgKzE1ODUsMjIgQEAKIC8qCiBaRVhURVJOIHpfb2ZmX3QgWkVYUE9SVCBnem9mZnNldCBPRigoZ3pGaWxlIGZpbGUpKTsKIAotICAgICBSZXR1cm5zIHRoZSBjdXJyZW50IG9mZnNldCBpbiB0aGUgZmlsZSBiZWluZyByZWFkIG9yIHdyaXR0ZW4uICBUaGlzIG9mZnNldAotICAgaW5jbHVkZXMgdGhlIGNvdW50IG9mIGJ5dGVzIHRoYXQgcHJlY2VkZSB0aGUgZ3ppcCBzdHJlYW0sIGZvciBleGFtcGxlIHdoZW4KLSAgIGFwcGVuZGluZyBvciB3aGVuIHVzaW5nIGd6ZG9wZW4oKSBmb3IgcmVhZGluZy4gIFdoZW4gcmVhZGluZywgdGhlIG9mZnNldAotICAgZG9lcyBub3QgaW5jbHVkZSBhcyB5ZXQgdW51c2VkIGJ1ZmZlcmVkIGlucHV0LiAgVGhpcyBpbmZvcm1hdGlvbiBjYW4gYmUgdXNlZAotICAgZm9yIGEgcHJvZ3Jlc3MgaW5kaWNhdG9yLiAgT24gZXJyb3IsIGd6b2Zmc2V0KCkgcmV0dXJucyAtMS4KKyAgICAgUmV0dXJuIHRoZSBjdXJyZW50IGNvbXByZXNzZWQgKGFjdHVhbCkgcmVhZCBvciB3cml0ZSBvZmZzZXQgb2YgZmlsZS4gIFRoaXMKKyAgIG9mZnNldCBpbmNsdWRlcyB0aGUgY291bnQgb2YgYnl0ZXMgdGhhdCBwcmVjZWRlIHRoZSBnemlwIHN0cmVhbSwgZm9yIGV4YW1wbGUKKyAgIHdoZW4gYXBwZW5kaW5nIG9yIHdoZW4gdXNpbmcgZ3pkb3BlbigpIGZvciByZWFkaW5nLiAgV2hlbiByZWFkaW5nLCB0aGUKKyAgIG9mZnNldCBkb2VzIG5vdCBpbmNsdWRlIGFzIHlldCB1bnVzZWQgYnVmZmVyZWQgaW5wdXQuICBUaGlzIGluZm9ybWF0aW9uIGNhbgorICAgYmUgdXNlZCBmb3IgYSBwcm9ncmVzcyBpbmRpY2F0b3IuICBPbiBlcnJvciwgZ3pvZmZzZXQoKSByZXR1cm5zIC0xLgogKi8KIAogWkVYVEVSTiBpbnQgWkVYUE9SVCBnemVvZiBPRigoZ3pGaWxlIGZpbGUpKTsKIC8qCi0gICAgIFJldHVybnMgdHJ1ZSAoMSkgaWYgdGhlIGVuZC1vZi1maWxlIGluZGljYXRvciBoYXMgYmVlbiBzZXQgd2hpbGUgcmVhZGluZywKLSAgIGZhbHNlICgwKSBvdGhlcndpc2UuICBOb3RlIHRoYXQgdGhlIGVuZC1vZi1maWxlIGluZGljYXRvciBpcyBzZXQgb25seSBpZiB0aGUKLSAgIHJlYWQgdHJpZWQgdG8gZ28gcGFzdCB0aGUgZW5kIG9mIHRoZSBpbnB1dCwgYnV0IGNhbWUgdXAgc2hvcnQuICBUaGVyZWZvcmUsCi0gICBqdXN0IGxpa2UgZmVvZigpLCBnemVvZigpIG1heSByZXR1cm4gZmFsc2UgZXZlbiBpZiB0aGVyZSBpcyBubyBtb3JlIGRhdGEgdG8KLSAgIHJlYWQsIGluIHRoZSBldmVudCB0aGF0IHRoZSBsYXN0IHJlYWQgcmVxdWVzdCB3YXMgZm9yIHRoZSBleGFjdCBudW1iZXIgb2YKLSAgIGJ5dGVzIHJlbWFpbmluZyBpbiB0aGUgaW5wdXQgZmlsZS4gIFRoaXMgd2lsbCBoYXBwZW4gaWYgdGhlIGlucHV0IGZpbGUgc2l6ZQotICAgaXMgYW4gZXhhY3QgbXVsdGlwbGUgb2YgdGhlIGJ1ZmZlciBzaXplLgorICAgICBSZXR1cm4gdHJ1ZSAoMSkgaWYgdGhlIGVuZC1vZi1maWxlIGluZGljYXRvciBmb3IgZmlsZSBoYXMgYmVlbiBzZXQgd2hpbGUKKyAgIHJlYWRpbmcsIGZhbHNlICgwKSBvdGhlcndpc2UuICBOb3RlIHRoYXQgdGhlIGVuZC1vZi1maWxlIGluZGljYXRvciBpcyBzZXQKKyAgIG9ubHkgaWYgdGhlIHJlYWQgdHJpZWQgdG8gZ28gcGFzdCB0aGUgZW5kIG9mIHRoZSBpbnB1dCwgYnV0IGNhbWUgdXAgc2hvcnQuCisgICBUaGVyZWZvcmUsIGp1c3QgbGlrZSBmZW9mKCksIGd6ZW9mKCkgbWF5IHJldHVybiBmYWxzZSBldmVuIGlmIHRoZXJlIGlzIG5vCisgICBtb3JlIGRhdGEgdG8gcmVhZCwgaW4gdGhlIGV2ZW50IHRoYXQgdGhlIGxhc3QgcmVhZCByZXF1ZXN0IHdhcyBmb3IgdGhlIGV4YWN0CisgICBudW1iZXIgb2YgYnl0ZXMgcmVtYWluaW5nIGluIHRoZSBpbnB1dCBmaWxlLiAgVGhpcyB3aWxsIGhhcHBlbiBpZiB0aGUgaW5wdXQKKyAgIGZpbGUgc2l6ZSBpcyBhbiBleGFjdCBtdWx0aXBsZSBvZiB0aGUgYnVmZmVyIHNpemUuCiAKICAgICAgSWYgZ3plb2YoKSByZXR1cm5zIHRydWUsIHRoZW4gdGhlIHJlYWQgZnVuY3Rpb25zIHdpbGwgcmV0dXJuIG5vIG1vcmUgZGF0YSwKICAgIHVubGVzcyB0aGUgZW5kLW9mLWZpbGUgaW5kaWNhdG9yIGlzIHJlc2V0IGJ5IGd6Y2xlYXJlcnIoKSBhbmQgdGhlIGlucHV0IGZpbGUKQEAgLTE0ODksNyArMTYwOSw3IEBACiAKIFpFWFRFUk4gaW50IFpFWFBPUlQgZ3pkaXJlY3QgT0YoKGd6RmlsZSBmaWxlKSk7CiAvKgotICAgICBSZXR1cm5zIHRydWUgKDEpIGlmIGZpbGUgaXMgYmVpbmcgY29waWVkIGRpcmVjdGx5IHdoaWxlIHJlYWRpbmcsIG9yIGZhbHNlCisgICAgIFJldHVybiB0cnVlICgxKSBpZiBmaWxlIGlzIGJlaW5nIGNvcGllZCBkaXJlY3RseSB3aGlsZSByZWFkaW5nLCBvciBmYWxzZQogICAgKDApIGlmIGZpbGUgaXMgYSBnemlwIHN0cmVhbSBiZWluZyBkZWNvbXByZXNzZWQuCiAKICAgICAgSWYgdGhlIGlucHV0IGZpbGUgaXMgZW1wdHksIGd6ZGlyZWN0KCkgd2lsbCByZXR1cm4gdHJ1ZSwgc2luY2UgdGhlIGlucHV0CkBAIC0xNTEwLDggKzE2MzAsOCBAQAogCiBaRVhURVJOIGludCBaRVhQT1JUICAgIGd6Y2xvc2UgT0YoKGd6RmlsZSBmaWxlKSk7CiAvKgotICAgICBGbHVzaGVzIGFsbCBwZW5kaW5nIG91dHB1dCBpZiBuZWNlc3NhcnksIGNsb3NlcyB0aGUgY29tcHJlc3NlZCBmaWxlIGFuZAotICAgZGVhbGxvY2F0ZXMgdGhlIChkZSljb21wcmVzc2lvbiBzdGF0ZS4gIE5vdGUgdGhhdCBvbmNlIGZpbGUgaXMgY2xvc2VkLCB5b3UKKyAgICAgRmx1c2ggYWxsIHBlbmRpbmcgb3V0cHV0IGZvciBmaWxlLCBpZiBuZWNlc3NhcnksIGNsb3NlIGZpbGUgYW5kCisgICBkZWFsbG9jYXRlIHRoZSAoZGUpY29tcHJlc3Npb24gc3RhdGUuICBOb3RlIHRoYXQgb25jZSBmaWxlIGlzIGNsb3NlZCwgeW91CiAgICBjYW5ub3QgY2FsbCBnemVycm9yIHdpdGggZmlsZSwgc2luY2UgaXRzIHN0cnVjdHVyZXMgaGF2ZSBiZWVuIGRlYWxsb2NhdGVkLgogICAgZ3pjbG9zZSBtdXN0IG5vdCBiZSBjYWxsZWQgbW9yZSB0aGFuIG9uY2Ugb24gdGhlIHNhbWUgZmlsZSwganVzdCBhcyBmcmVlCiAgICBtdXN0IG5vdCBiZSBjYWxsZWQgbW9yZSB0aGFuIG9uY2Ugb24gdGhlIHNhbWUgYWxsb2NhdGlvbi4KQEAgLTE1MzUsMTAgKzE2NTUsMTAgQEAKIAogWkVYVEVSTiBjb25zdCBjaGFyICogWkVYUE9SVCBnemVycm9yIE9GKChnekZpbGUgZmlsZSwgaW50ICplcnJudW0pKTsKIC8qCi0gICAgIFJldHVybnMgdGhlIGVycm9yIG1lc3NhZ2UgZm9yIHRoZSBsYXN0IGVycm9yIHdoaWNoIG9jY3VycmVkIG9uIHRoZSBnaXZlbgotICAgY29tcHJlc3NlZCBmaWxlLiAgZXJybnVtIGlzIHNldCB0byB6bGliIGVycm9yIG51bWJlci4gIElmIGFuIGVycm9yIG9jY3VycmVkCi0gICBpbiB0aGUgZmlsZSBzeXN0ZW0gYW5kIG5vdCBpbiB0aGUgY29tcHJlc3Npb24gbGlicmFyeSwgZXJybnVtIGlzIHNldCB0bwotICAgWl9FUlJOTyBhbmQgdGhlIGFwcGxpY2F0aW9uIG1heSBjb25zdWx0IGVycm5vIHRvIGdldCB0aGUgZXhhY3QgZXJyb3IgY29kZS4KKyAgICAgUmV0dXJuIHRoZSBlcnJvciBtZXNzYWdlIGZvciB0aGUgbGFzdCBlcnJvciB3aGljaCBvY2N1cnJlZCBvbiBmaWxlLgorICAgZXJybnVtIGlzIHNldCB0byB6bGliIGVycm9yIG51bWJlci4gIElmIGFuIGVycm9yIG9jY3VycmVkIGluIHRoZSBmaWxlIHN5c3RlbQorICAgYW5kIG5vdCBpbiB0aGUgY29tcHJlc3Npb24gbGlicmFyeSwgZXJybnVtIGlzIHNldCB0byBaX0VSUk5PIGFuZCB0aGUKKyAgIGFwcGxpY2F0aW9uIG1heSBjb25zdWx0IGVycm5vIHRvIGdldCB0aGUgZXhhY3QgZXJyb3IgY29kZS4KIAogICAgICBUaGUgYXBwbGljYXRpb24gbXVzdCBub3QgbW9kaWZ5IHRoZSByZXR1cm5lZCBzdHJpbmcuICBGdXR1cmUgY2FsbHMgdG8KICAgIHRoaXMgZnVuY3Rpb24gbWF5IGludmFsaWRhdGUgdGhlIHByZXZpb3VzbHkgcmV0dXJuZWQgc3RyaW5nLiAgSWYgZmlsZSBpcwpAQCAtMTU1MSw3ICsxNjcxLDcgQEAKIAogWkVYVEVSTiB2b2lkIFpFWFBPUlQgZ3pjbGVhcmVyciBPRigoZ3pGaWxlIGZpbGUpKTsKIC8qCi0gICAgIENsZWFycyB0aGUgZXJyb3IgYW5kIGVuZC1vZi1maWxlIGZsYWdzIGZvciBmaWxlLiAgVGhpcyBpcyBhbmFsb2dvdXMgdG8gdGhlCisgICAgIENsZWFyIHRoZSBlcnJvciBhbmQgZW5kLW9mLWZpbGUgZmxhZ3MgZm9yIGZpbGUuICBUaGlzIGlzIGFuYWxvZ291cyB0byB0aGUKICAgIGNsZWFyZXJyKCkgZnVuY3Rpb24gaW4gc3RkaW8uICBUaGlzIGlzIHVzZWZ1bCBmb3IgY29udGludWluZyB0byByZWFkIGEgZ3ppcAogICAgZmlsZSB0aGF0IGlzIGJlaW5nIHdyaXR0ZW4gY29uY3VycmVudGx5LgogKi8KQEAgLTE1NjksMTAgKzE2ODksMTEgQEAKIFpFWFRFUk4gdUxvbmcgWkVYUE9SVCBhZGxlcjMyIE9GKCh1TG9uZyBhZGxlciwgY29uc3QgQnl0ZWYgKmJ1ZiwgdUludCBsZW4pKTsKIC8qCiAgICAgIFVwZGF0ZSBhIHJ1bm5pbmcgQWRsZXItMzIgY2hlY2tzdW0gd2l0aCB0aGUgYnl0ZXMgYnVmWzAuLmxlbi0xXSBhbmQKLSAgIHJldHVybiB0aGUgdXBkYXRlZCBjaGVja3N1bS4gIElmIGJ1ZiBpcyBaX05VTEwsIHRoaXMgZnVuY3Rpb24gcmV0dXJucyB0aGUKLSAgIHJlcXVpcmVkIGluaXRpYWwgdmFsdWUgZm9yIHRoZSBjaGVja3N1bS4KKyAgIHJldHVybiB0aGUgdXBkYXRlZCBjaGVja3N1bS4gQW4gQWRsZXItMzIgdmFsdWUgaXMgaW4gdGhlIHJhbmdlIG9mIGEgMzItYml0CisgICB1bnNpZ25lZCBpbnRlZ2VyLiBJZiBidWYgaXMgWl9OVUxMLCB0aGlzIGZ1bmN0aW9uIHJldHVybnMgdGhlIHJlcXVpcmVkCisgICBpbml0aWFsIHZhbHVlIGZvciB0aGUgY2hlY2tzdW0uCiAKLSAgICAgQW4gQWRsZXItMzIgY2hlY2tzdW0gaXMgYWxtb3N0IGFzIHJlbGlhYmxlIGFzIGEgQ1JDMzIgYnV0IGNhbiBiZSBjb21wdXRlZAorICAgICBBbiBBZGxlci0zMiBjaGVja3N1bSBpcyBhbG1vc3QgYXMgcmVsaWFibGUgYXMgYSBDUkMtMzIgYnV0IGNhbiBiZSBjb21wdXRlZAogICAgbXVjaCBmYXN0ZXIuCiAKICAgIFVzYWdlIGV4YW1wbGU6CkBAIC0xNTg1LDYgKzE3MDYsMTIgQEAKICAgICAgaWYgKGFkbGVyICE9IG9yaWdpbmFsX2FkbGVyKSBlcnJvcigpOwogKi8KIAorWkVYVEVSTiB1TG9uZyBaRVhQT1JUIGFkbGVyMzJfeiBPRigodUxvbmcgYWRsZXIsIGNvbnN0IEJ5dGVmICpidWYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB6X3NpemVfdCBsZW4pKTsKKy8qCisgICAgIFNhbWUgYXMgYWRsZXIzMigpLCBidXQgd2l0aCBhIHNpemVfdCBsZW5ndGguCisqLworCiAvKgogWkVYVEVSTiB1TG9uZyBaRVhQT1JUIGFkbGVyMzJfY29tYmluZSBPRigodUxvbmcgYWRsZXIxLCB1TG9uZyBhZGxlcjIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB6X29mZl90IGxlbjIpKTsKQEAgLTE1OTcsMTIgKzE3MjQsMTMgQEAKICAgIG5lZ2F0aXZlLCB0aGUgcmVzdWx0IGhhcyBubyBtZWFuaW5nIG9yIHV0aWxpdHkuCiAqLwogCi1aRVhURVJOIHVMb25nIFpFWFBPUlQgY3JjMzIgICBPRigodUxvbmcgY3JjLCBjb25zdCBCeXRlZiAqYnVmLCB1SW50IGxlbikpOworWkVYVEVSTiB1TG9uZyBaRVhQT1JUIGNyYzMyIE9GKCh1TG9uZyBjcmMsIGNvbnN0IEJ5dGVmICpidWYsIHVJbnQgbGVuKSk7CiAvKgogICAgICBVcGRhdGUgYSBydW5uaW5nIENSQy0zMiB3aXRoIHRoZSBieXRlcyBidWZbMC4ubGVuLTFdIGFuZCByZXR1cm4gdGhlCi0gICB1cGRhdGVkIENSQy0zMi4gIElmIGJ1ZiBpcyBaX05VTEwsIHRoaXMgZnVuY3Rpb24gcmV0dXJucyB0aGUgcmVxdWlyZWQKLSAgIGluaXRpYWwgdmFsdWUgZm9yIHRoZSBjcmMuICBQcmUtIGFuZCBwb3N0LWNvbmRpdGlvbmluZyAob25lJ3MgY29tcGxlbWVudCkgaXMKLSAgIHBlcmZvcm1lZCB3aXRoaW4gdGhpcyBmdW5jdGlvbiBzbyBpdCBzaG91bGRuJ3QgYmUgZG9uZSBieSB0aGUgYXBwbGljYXRpb24uCisgICB1cGRhdGVkIENSQy0zMi4gQSBDUkMtMzIgdmFsdWUgaXMgaW4gdGhlIHJhbmdlIG9mIGEgMzItYml0IHVuc2lnbmVkIGludGVnZXIuCisgICBJZiBidWYgaXMgWl9OVUxMLCB0aGlzIGZ1bmN0aW9uIHJldHVybnMgdGhlIHJlcXVpcmVkIGluaXRpYWwgdmFsdWUgZm9yIHRoZQorICAgY3JjLiBQcmUtIGFuZCBwb3N0LWNvbmRpdGlvbmluZyAob25lJ3MgY29tcGxlbWVudCkgaXMgcGVyZm9ybWVkIHdpdGhpbiB0aGlzCisgICBmdW5jdGlvbiBzbyBpdCBzaG91bGRuJ3QgYmUgZG9uZSBieSB0aGUgYXBwbGljYXRpb24uCiAKICAgIFVzYWdlIGV4YW1wbGU6CiAKQEAgLTE2MTQsNiArMTc0MiwxMiBAQAogICAgICBpZiAoY3JjICE9IG9yaWdpbmFsX2NyYykgZXJyb3IoKTsKICovCiAKK1pFWFRFUk4gdUxvbmcgWkVYUE9SVCBjcmMzMl96IE9GKCh1TG9uZyBjcmMsIGNvbnN0IEJ5dGVmICpidWYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgel9zaXplX3QgbGVuKSk7CisvKgorICAgICBTYW1lIGFzIGNyYzMyKCksIGJ1dCB3aXRoIGEgc2l6ZV90IGxlbmd0aC4KKyovCisKIC8qCiBaRVhURVJOIHVMb25nIFpFWFBPUlQgY3JjMzJfY29tYmluZSBPRigodUxvbmcgY3JjMSwgdUxvbmcgY3JjMiwgel9vZmZfdCBsZW4yKSk7CiAKQEAgLTE2MjQsNiArMTc1OCwyMCBAQAogICAgbGVuMi4KICovCiAKKy8qCitaRVhURVJOIHVMb25nIFpFWFBPUlQgY3JjMzJfY29tYmluZV9nZW4gT0YoKHpfb2ZmX3QgbGVuMikpOworCisgICAgIFJldHVybiB0aGUgb3BlcmF0b3IgY29ycmVzcG9uZGluZyB0byBsZW5ndGggbGVuMiwgdG8gYmUgdXNlZCB3aXRoCisgICBjcmMzMl9jb21iaW5lX29wKCkuCisqLworCitaRVhURVJOIHVMb25nIFpFWFBPUlQgY3JjMzJfY29tYmluZV9vcCBPRigodUxvbmcgY3JjMSwgdUxvbmcgY3JjMiwgdUxvbmcgb3ApKTsKKy8qCisgICAgIEdpdmUgdGhlIHNhbWUgcmVzdWx0IGFzIGNyYzMyX2NvbWJpbmUoKSwgdXNpbmcgb3AgaW4gcGxhY2Ugb2YgbGVuMi4gb3AgaXMKKyAgIGlzIGdlbmVyYXRlZCBmcm9tIGxlbjIgYnkgY3JjMzJfY29tYmluZV9nZW4oKS4gVGhpcyB3aWxsIGJlIGZhc3RlciB0aGFuCisgICBjcmMzMl9jb21iaW5lKCkgaWYgdGhlIGdlbmVyYXRlZCBvcCBpcyB1c2VkIG1vcmUgdGhhbiBvbmNlLgorKi8KKwogCiAgICAgICAgICAgICAgICAgICAgICAgICAvKiB2YXJpb3VzIGhhY2tzLCBkb24ndCBsb29rIDopICovCiAKQEAgLTE2NDQsMTkgKzE3OTIsMzUgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciBGQVIgKndpbmRvdywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqdmVyc2lvbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHN0cmVhbV9zaXplKSk7Ci0jZGVmaW5lIGRlZmxhdGVJbml0KHN0cm0sIGxldmVsKSBcCi0gICAgICAgIGRlZmxhdGVJbml0Xygoc3RybSksIChsZXZlbCksIFpMSUJfVkVSU0lPTiwgKGludClzaXplb2Yoel9zdHJlYW0pKQotI2RlZmluZSBpbmZsYXRlSW5pdChzdHJtKSBcCi0gICAgICAgIGluZmxhdGVJbml0Xygoc3RybSksIFpMSUJfVkVSU0lPTiwgKGludClzaXplb2Yoel9zdHJlYW0pKQotI2RlZmluZSBkZWZsYXRlSW5pdDIoc3RybSwgbGV2ZWwsIG1ldGhvZCwgd2luZG93Qml0cywgbWVtTGV2ZWwsIHN0cmF0ZWd5KSBcCi0gICAgICAgIGRlZmxhdGVJbml0Ml8oKHN0cm0pLChsZXZlbCksKG1ldGhvZCksKHdpbmRvd0JpdHMpLChtZW1MZXZlbCksXAotICAgICAgICAgICAgICAgICAgICAgIChzdHJhdGVneSksIFpMSUJfVkVSU0lPTiwgKGludClzaXplb2Yoel9zdHJlYW0pKQotI2RlZmluZSBpbmZsYXRlSW5pdDIoc3RybSwgd2luZG93Qml0cykgXAotICAgICAgICBpbmZsYXRlSW5pdDJfKChzdHJtKSwgKHdpbmRvd0JpdHMpLCBaTElCX1ZFUlNJT04sIFwKLSAgICAgICAgICAgICAgICAgICAgICAoaW50KXNpemVvZih6X3N0cmVhbSkpCi0jZGVmaW5lIGluZmxhdGVCYWNrSW5pdChzdHJtLCB3aW5kb3dCaXRzLCB3aW5kb3cpIFwKLSAgICAgICAgaW5mbGF0ZUJhY2tJbml0Xygoc3RybSksICh3aW5kb3dCaXRzKSwgKHdpbmRvdyksIFwKLSAgICAgICAgICAgICAgICAgICAgICBaTElCX1ZFUlNJT04sIChpbnQpc2l6ZW9mKHpfc3RyZWFtKSkKKyNpZmRlZiBaX1BSRUZJWF9TRVQKKyMgIGRlZmluZSB6X2RlZmxhdGVJbml0KHN0cm0sIGxldmVsKSBcCisgICAgICAgICAgZGVmbGF0ZUluaXRfKChzdHJtKSwgKGxldmVsKSwgWkxJQl9WRVJTSU9OLCAoaW50KXNpemVvZih6X3N0cmVhbSkpCisjICBkZWZpbmUgel9pbmZsYXRlSW5pdChzdHJtKSBcCisgICAgICAgICAgaW5mbGF0ZUluaXRfKChzdHJtKSwgWkxJQl9WRVJTSU9OLCAoaW50KXNpemVvZih6X3N0cmVhbSkpCisjICBkZWZpbmUgel9kZWZsYXRlSW5pdDIoc3RybSwgbGV2ZWwsIG1ldGhvZCwgd2luZG93Qml0cywgbWVtTGV2ZWwsIHN0cmF0ZWd5KSBcCisgICAgICAgICAgZGVmbGF0ZUluaXQyXygoc3RybSksKGxldmVsKSwobWV0aG9kKSwod2luZG93Qml0cyksKG1lbUxldmVsKSxcCisgICAgICAgICAgICAgICAgICAgICAgICAoc3RyYXRlZ3kpLCBaTElCX1ZFUlNJT04sIChpbnQpc2l6ZW9mKHpfc3RyZWFtKSkKKyMgIGRlZmluZSB6X2luZmxhdGVJbml0MihzdHJtLCB3aW5kb3dCaXRzKSBcCisgICAgICAgICAgaW5mbGF0ZUluaXQyXygoc3RybSksICh3aW5kb3dCaXRzKSwgWkxJQl9WRVJTSU9OLCBcCisgICAgICAgICAgICAgICAgICAgICAgICAoaW50KXNpemVvZih6X3N0cmVhbSkpCisjICBkZWZpbmUgel9pbmZsYXRlQmFja0luaXQoc3RybSwgd2luZG93Qml0cywgd2luZG93KSBcCisgICAgICAgICAgaW5mbGF0ZUJhY2tJbml0Xygoc3RybSksICh3aW5kb3dCaXRzKSwgKHdpbmRvdyksIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIFpMSUJfVkVSU0lPTiwgKGludClzaXplb2Yoel9zdHJlYW0pKQorI2Vsc2UKKyMgIGRlZmluZSBkZWZsYXRlSW5pdChzdHJtLCBsZXZlbCkgXAorICAgICAgICAgIGRlZmxhdGVJbml0Xygoc3RybSksIChsZXZlbCksIFpMSUJfVkVSU0lPTiwgKGludClzaXplb2Yoel9zdHJlYW0pKQorIyAgZGVmaW5lIGluZmxhdGVJbml0KHN0cm0pIFwKKyAgICAgICAgICBpbmZsYXRlSW5pdF8oKHN0cm0pLCBaTElCX1ZFUlNJT04sIChpbnQpc2l6ZW9mKHpfc3RyZWFtKSkKKyMgIGRlZmluZSBkZWZsYXRlSW5pdDIoc3RybSwgbGV2ZWwsIG1ldGhvZCwgd2luZG93Qml0cywgbWVtTGV2ZWwsIHN0cmF0ZWd5KSBcCisgICAgICAgICAgZGVmbGF0ZUluaXQyXygoc3RybSksKGxldmVsKSwobWV0aG9kKSwod2luZG93Qml0cyksKG1lbUxldmVsKSxcCisgICAgICAgICAgICAgICAgICAgICAgICAoc3RyYXRlZ3kpLCBaTElCX1ZFUlNJT04sIChpbnQpc2l6ZW9mKHpfc3RyZWFtKSkKKyMgIGRlZmluZSBpbmZsYXRlSW5pdDIoc3RybSwgd2luZG93Qml0cykgXAorICAgICAgICAgIGluZmxhdGVJbml0Ml8oKHN0cm0pLCAod2luZG93Qml0cyksIFpMSUJfVkVSU0lPTiwgXAorICAgICAgICAgICAgICAgICAgICAgICAgKGludClzaXplb2Yoel9zdHJlYW0pKQorIyAgZGVmaW5lIGluZmxhdGVCYWNrSW5pdChzdHJtLCB3aW5kb3dCaXRzLCB3aW5kb3cpIFwKKyAgICAgICAgICBpbmZsYXRlQmFja0luaXRfKChzdHJtKSwgKHdpbmRvd0JpdHMpLCAod2luZG93KSwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgWkxJQl9WRVJTSU9OLCAoaW50KXNpemVvZih6X3N0cmVhbSkpCisjZW5kaWYKIAogI2lmbmRlZiBaX1NPTE8KIApAQCAtMTY3NiwxMCArMTg0MCwxMCBAQAogI2lmZGVmIFpfUFJFRklYX1NFVAogIyAgdW5kZWYgel9nemdldGMKICMgIGRlZmluZSB6X2d6Z2V0YyhnKSBcCi0gICAgICAgICAgKChnKS0+aGF2ZSA/ICgoZyktPmhhdmUtLSwgKGcpLT5wb3MrKywgKigoZyktPm5leHQpKyspIDogZ3pnZXRjKGcpKQorICAgICAgICAgICgoZyktPmhhdmUgPyAoKGcpLT5oYXZlLS0sIChnKS0+cG9zKyssICooKGcpLT5uZXh0KSsrKSA6IChnemdldGMpKGcpKQogI2Vsc2UKICMgIGRlZmluZSBnemdldGMoZykgXAotICAgICAgICAgICgoZyktPmhhdmUgPyAoKGcpLT5oYXZlLS0sIChnKS0+cG9zKyssICooKGcpLT5uZXh0KSsrKSA6IGd6Z2V0YyhnKSkKKyAgICAgICAgICAoKGcpLT5oYXZlID8gKChnKS0+aGF2ZS0tLCAoZyktPnBvcysrLCAqKChnKS0+bmV4dCkrKykgOiAoZ3pnZXRjKShnKSkKICNlbmRpZgogCiAvKiBwcm92aWRlIDY0LWJpdCBvZmZzZXQgZnVuY3Rpb25zIGlmIF9MQVJHRUZJTEU2NF9TT1VSQ0UgZGVmaW5lZCwgYW5kL29yCkBAIC0xNjk1LDYgKzE4NTksNyBAQAogICAgWkVYVEVSTiB6X29mZjY0X3QgWkVYUE9SVCBnem9mZnNldDY0IE9GKChnekZpbGUpKTsKICAgIFpFWFRFUk4gdUxvbmcgWkVYUE9SVCBhZGxlcjMyX2NvbWJpbmU2NCBPRigodUxvbmcsIHVMb25nLCB6X29mZjY0X3QpKTsKICAgIFpFWFRFUk4gdUxvbmcgWkVYUE9SVCBjcmMzMl9jb21iaW5lNjQgT0YoKHVMb25nLCB1TG9uZywgel9vZmY2NF90KSk7CisgICBaRVhURVJOIHVMb25nIFpFWFBPUlQgY3JjMzJfY29tYmluZV9nZW42NCBPRigoel9vZmY2NF90KSk7CiAjZW5kaWYKIAogI2lmICFkZWZpbmVkKFpMSUJfSU5URVJOQUwpICYmIGRlZmluZWQoWl9XQU5UNjQpCkBAIC0xNzA1LDYgKzE4NzAsNyBAQAogIyAgICBkZWZpbmUgel9nem9mZnNldCB6X2d6b2Zmc2V0NjQKICMgICAgZGVmaW5lIHpfYWRsZXIzMl9jb21iaW5lIHpfYWRsZXIzMl9jb21iaW5lNjQKICMgICAgZGVmaW5lIHpfY3JjMzJfY29tYmluZSB6X2NyYzMyX2NvbWJpbmU2NAorIyAgICBkZWZpbmUgel9jcmMzMl9jb21iaW5lX2dlbiB6X2NyYzMyX2NvbWJpbmVfZ2VuNjQKICMgIGVsc2UKICMgICAgZGVmaW5lIGd6b3BlbiBnem9wZW42NAogIyAgICBkZWZpbmUgZ3pzZWVrIGd6c2VlazY0CkBAIC0xNzEyLDYgKzE4NzgsNyBAQAogIyAgICBkZWZpbmUgZ3pvZmZzZXQgZ3pvZmZzZXQ2NAogIyAgICBkZWZpbmUgYWRsZXIzMl9jb21iaW5lIGFkbGVyMzJfY29tYmluZTY0CiAjICAgIGRlZmluZSBjcmMzMl9jb21iaW5lIGNyYzMyX2NvbWJpbmU2NAorIyAgICBkZWZpbmUgY3JjMzJfY29tYmluZV9nZW4gY3JjMzJfY29tYmluZV9nZW42NAogIyAgZW5kaWYKICMgIGlmbmRlZiBaX0xBUkdFNjQKICAgICAgWkVYVEVSTiBnekZpbGUgWkVYUE9SVCBnem9wZW42NCBPRigoY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICopKTsKQEAgLTE3MjAsNiArMTg4Nyw3IEBACiAgICAgIFpFWFRFUk4gel9vZmZfdCBaRVhQT1JUIGd6b2Zmc2V0NjQgT0YoKGd6RmlsZSkpOwogICAgICBaRVhURVJOIHVMb25nIFpFWFBPUlQgYWRsZXIzMl9jb21iaW5lNjQgT0YoKHVMb25nLCB1TG9uZywgel9vZmZfdCkpOwogICAgICBaRVhURVJOIHVMb25nIFpFWFBPUlQgY3JjMzJfY29tYmluZTY0IE9GKCh1TG9uZywgdUxvbmcsIHpfb2ZmX3QpKTsKKyAgICAgWkVYVEVSTiB1TG9uZyBaRVhQT1JUIGNyYzMyX2NvbWJpbmVfZ2VuNjQgT0YoKHpfb2ZmX3QpKTsKICMgIGVuZGlmCiAjZWxzZQogICAgWkVYVEVSTiBnekZpbGUgWkVYUE9SVCBnem9wZW4gT0YoKGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqKSk7CkBAIC0xNzI4LDI1ICsxODk2LDI0IEBACiAgICBaRVhURVJOIHpfb2ZmX3QgWkVYUE9SVCBnem9mZnNldCBPRigoZ3pGaWxlKSk7CiAgICBaRVhURVJOIHVMb25nIFpFWFBPUlQgYWRsZXIzMl9jb21iaW5lIE9GKCh1TG9uZywgdUxvbmcsIHpfb2ZmX3QpKTsKICAgIFpFWFRFUk4gdUxvbmcgWkVYUE9SVCBjcmMzMl9jb21iaW5lIE9GKCh1TG9uZywgdUxvbmcsIHpfb2ZmX3QpKTsKKyAgIFpFWFRFUk4gdUxvbmcgWkVYUE9SVCBjcmMzMl9jb21iaW5lX2dlbiBPRigoel9vZmZfdCkpOwogI2VuZGlmCiAKICNlbHNlIC8qIFpfU09MTyAqLwogCiAgICBaRVhURVJOIHVMb25nIFpFWFBPUlQgYWRsZXIzMl9jb21iaW5lIE9GKCh1TG9uZywgdUxvbmcsIHpfb2ZmX3QpKTsKICAgIFpFWFRFUk4gdUxvbmcgWkVYUE9SVCBjcmMzMl9jb21iaW5lIE9GKCh1TG9uZywgdUxvbmcsIHpfb2ZmX3QpKTsKKyAgIFpFWFRFUk4gdUxvbmcgWkVYUE9SVCBjcmMzMl9jb21iaW5lX2dlbiBPRigoel9vZmZfdCkpOwogCiAjZW5kaWYgLyogIVpfU09MTyAqLwogCi0vKiBoYWNrIGZvciBidWdneSBjb21waWxlcnMgKi8KLSNpZiAhZGVmaW5lZChaVVRJTF9IKSAmJiAhZGVmaW5lZChOT19EVU1NWV9ERUNMKQotICAgIHN0cnVjdCBpbnRlcm5hbF9zdGF0ZSB7aW50IGR1bW15O307Ci0jZW5kaWYKLQogLyogdW5kb2N1bWVudGVkIGZ1bmN0aW9ucyAqLwogWkVYVEVSTiBjb25zdCBjaGFyICAgKiBaRVhQT1JUIHpFcnJvciAgICAgICAgICAgT0YoKGludCkpOwogWkVYVEVSTiBpbnQgICAgICAgICAgICBaRVhQT1JUIGluZmxhdGVTeW5jUG9pbnQgT0YoKHpfc3RyZWFtcCkpOwogWkVYVEVSTiBjb25zdCB6X2NyY190IEZBUiAqIFpFWFBPUlQgZ2V0X2NyY190YWJsZSAgICBPRigodm9pZCkpOwogWkVYVEVSTiBpbnQgICAgICAgICAgICBaRVhQT1JUIGluZmxhdGVVbmRlcm1pbmUgT0YoKHpfc3RyZWFtcCwgaW50KSk7CitaRVhURVJOIGludCAgICAgICAgICAgIFpFWFBPUlQgaW5mbGF0ZVZhbGlkYXRlIE9GKCh6X3N0cmVhbXAsIGludCkpOworWkVYVEVSTiB1bnNpZ25lZCBsb25nICBaRVhQT1JUIGluZmxhdGVDb2Rlc1VzZWQgT0YoKHpfc3RyZWFtcCkpOwogWkVYVEVSTiBpbnQgICAgICAgICAgICBaRVhQT1JUIGluZmxhdGVSZXNldEtlZXAgT0YoKHpfc3RyZWFtcCkpOwogWkVYVEVSTiBpbnQgICAgICAgICAgICBaRVhQT1JUIGRlZmxhdGVSZXNldEtlZXAgT0YoKHpfc3RyZWFtcCkpOwogI2lmIGRlZmluZWQoX1dJTjMyKSAmJiAhZGVmaW5lZChaX1NPTE8pCmRpZmYgLS1naXQgYS9zcmMvemxpYi5tYXAgYi9zcmMvemxpYi5tYXAKaW5kZXggNTVjNjY0Ny4uYjMzMGI2MCAxMDA2NDQKLS0tIGEvc3JjL3psaWIubWFwCisrKyBiL3NyYy96bGliLm1hcApAQCAtMSw4MyArMSwxMDAgQEAKLVpMSUJfMS4yLjAgewotICBnbG9iYWw6Ci0gICAgY29tcHJlc3NCb3VuZDsKLSAgICBkZWZsYXRlQm91bmQ7Ci0gICAgaW5mbGF0ZUJhY2s7Ci0gICAgaW5mbGF0ZUJhY2tFbmQ7Ci0gICAgaW5mbGF0ZUJhY2tJbml0XzsKLSAgICBpbmZsYXRlQ29weTsKLSAgbG9jYWw6Ci0gICAgZGVmbGF0ZV9jb3B5cmlnaHQ7Ci0gICAgaW5mbGF0ZV9jb3B5cmlnaHQ7Ci0gICAgaW5mbGF0ZV9mYXN0OwotICAgIGluZmxhdGVfdGFibGU7Ci0gICAgemNhbGxvYzsKLSAgICB6Y2ZyZWU7Ci0gICAgel9lcnJtc2c7Ci0gICAgZ3pfZXJyb3I7Ci0gICAgZ3pfaW50bWF4OwotICAgIF8qOwotfTsKLQotWkxJQl8xLjIuMC4yIHsKLSAgICBnemNsZWFyZXJyOwotICAgIGd6dW5nZXRjOwotICAgIHpsaWJDb21waWxlRmxhZ3M7Ci19IFpMSUJfMS4yLjA7Ci0KLVpMSUJfMS4yLjAuOCB7Ci0gICAgZGVmbGF0ZVByaW1lOwotfSBaTElCXzEuMi4wLjI7Ci0KLVpMSUJfMS4yLjIgewotICAgIGFkbGVyMzJfY29tYmluZTsKLSAgICBjcmMzMl9jb21iaW5lOwotICAgIGRlZmxhdGVTZXRIZWFkZXI7Ci0gICAgaW5mbGF0ZUdldEhlYWRlcjsKLX0gWkxJQl8xLjIuMC44OwotCi1aTElCXzEuMi4yLjMgewotICAgIGRlZmxhdGVUdW5lOwotICAgIGd6ZGlyZWN0OwotfSBaTElCXzEuMi4yOwotCi1aTElCXzEuMi4yLjQgewotICAgIGluZmxhdGVQcmltZTsKLX0gWkxJQl8xLjIuMi4zOwotCi1aTElCXzEuMi4zLjMgewotICAgIGFkbGVyMzJfY29tYmluZTY0OwotICAgIGNyYzMyX2NvbWJpbmU2NDsKLSAgICBnem9wZW42NDsKLSAgICBnenNlZWs2NDsKLSAgICBnenRlbGw2NDsKLSAgICBpbmZsYXRlVW5kZXJtaW5lOwotfSBaTElCXzEuMi4yLjQ7Ci0KLVpMSUJfMS4yLjMuNCB7Ci0gICAgaW5mbGF0ZVJlc2V0MjsKLSAgICBpbmZsYXRlTWFyazsKLX0gWkxJQl8xLjIuMy4zOwotCi1aTElCXzEuMi4zLjUgewotICAgIGd6YnVmZmVyOwotICAgIGd6b2Zmc2V0OwotICAgIGd6b2Zmc2V0NjQ7Ci0gICAgZ3pjbG9zZV9yOwotICAgIGd6Y2xvc2VfdzsKLX0gWkxJQl8xLjIuMy40OwotCi1aTElCXzEuMi41LjEgewotICAgIGRlZmxhdGVQZW5kaW5nOwotfSBaTElCXzEuMi4zLjU7Ci0KLVpMSUJfMS4yLjUuMiB7Ci0gICAgZGVmbGF0ZVJlc2V0S2VlcDsKLSAgICBnemdldGNfOwotICAgIGluZmxhdGVSZXNldEtlZXA7Ci19IFpMSUJfMS4yLjUuMTsKLQotWkxJQl8xLjIuNy4xIHsKLSAgICBpbmZsYXRlR2V0RGljdGlvbmFyeTsKLSAgICBnenZwcmludGY7Ci19IFpMSUJfMS4yLjUuMjsKK1pMSUJfMS4yLjAgew0KKyAgZ2xvYmFsOg0KKyAgICBjb21wcmVzc0JvdW5kOw0KKyAgICBkZWZsYXRlQm91bmQ7DQorICAgIGluZmxhdGVCYWNrOw0KKyAgICBpbmZsYXRlQmFja0VuZDsNCisgICAgaW5mbGF0ZUJhY2tJbml0XzsNCisgICAgaW5mbGF0ZUNvcHk7DQorICBsb2NhbDoNCisgICAgZGVmbGF0ZV9jb3B5cmlnaHQ7DQorICAgIGluZmxhdGVfY29weXJpZ2h0Ow0KKyAgICBpbmZsYXRlX2Zhc3Q7DQorICAgIGluZmxhdGVfdGFibGU7DQorICAgIHpjYWxsb2M7DQorICAgIHpjZnJlZTsNCisgICAgel9lcnJtc2c7DQorICAgIGd6X2Vycm9yOw0KKyAgICBnel9pbnRtYXg7DQorICAgIF8qOw0KK307DQorDQorWkxJQl8xLjIuMC4yIHsNCisgICAgZ3pjbGVhcmVycjsNCisgICAgZ3p1bmdldGM7DQorICAgIHpsaWJDb21waWxlRmxhZ3M7DQorfSBaTElCXzEuMi4wOw0KKw0KK1pMSUJfMS4yLjAuOCB7DQorICAgIGRlZmxhdGVQcmltZTsNCit9IFpMSUJfMS4yLjAuMjsNCisNCitaTElCXzEuMi4yIHsNCisgICAgYWRsZXIzMl9jb21iaW5lOw0KKyAgICBjcmMzMl9jb21iaW5lOw0KKyAgICBkZWZsYXRlU2V0SGVhZGVyOw0KKyAgICBpbmZsYXRlR2V0SGVhZGVyOw0KK30gWkxJQl8xLjIuMC44Ow0KKw0KK1pMSUJfMS4yLjIuMyB7DQorICAgIGRlZmxhdGVUdW5lOw0KKyAgICBnemRpcmVjdDsNCit9IFpMSUJfMS4yLjI7DQorDQorWkxJQl8xLjIuMi40IHsNCisgICAgaW5mbGF0ZVByaW1lOw0KK30gWkxJQl8xLjIuMi4zOw0KKw0KK1pMSUJfMS4yLjMuMyB7DQorICAgIGFkbGVyMzJfY29tYmluZTY0Ow0KKyAgICBjcmMzMl9jb21iaW5lNjQ7DQorICAgIGd6b3BlbjY0Ow0KKyAgICBnenNlZWs2NDsNCisgICAgZ3p0ZWxsNjQ7DQorICAgIGluZmxhdGVVbmRlcm1pbmU7DQorfSBaTElCXzEuMi4yLjQ7DQorDQorWkxJQl8xLjIuMy40IHsNCisgICAgaW5mbGF0ZVJlc2V0MjsNCisgICAgaW5mbGF0ZU1hcms7DQorfSBaTElCXzEuMi4zLjM7DQorDQorWkxJQl8xLjIuMy41IHsNCisgICAgZ3pidWZmZXI7DQorICAgIGd6b2Zmc2V0Ow0KKyAgICBnem9mZnNldDY0Ow0KKyAgICBnemNsb3NlX3I7DQorICAgIGd6Y2xvc2VfdzsNCit9IFpMSUJfMS4yLjMuNDsNCisNCitaTElCXzEuMi41LjEgew0KKyAgICBkZWZsYXRlUGVuZGluZzsNCit9IFpMSUJfMS4yLjMuNTsNCisNCitaTElCXzEuMi41LjIgew0KKyAgICBkZWZsYXRlUmVzZXRLZWVwOw0KKyAgICBnemdldGNfOw0KKyAgICBpbmZsYXRlUmVzZXRLZWVwOw0KK30gWkxJQl8xLjIuNS4xOw0KKw0KK1pMSUJfMS4yLjcuMSB7DQorICAgIGluZmxhdGVHZXREaWN0aW9uYXJ5Ow0KKyAgICBnenZwcmludGY7DQorfSBaTElCXzEuMi41LjI7DQorDQorWkxJQl8xLjIuOSB7DQorICAgIGluZmxhdGVDb2Rlc1VzZWQ7DQorICAgIGluZmxhdGVWYWxpZGF0ZTsNCisgICAgdW5jb21wcmVzczI7DQorICAgIGd6ZnJlYWQ7DQorICAgIGd6ZndyaXRlOw0KKyAgICBkZWZsYXRlR2V0RGljdGlvbmFyeTsNCisgICAgYWRsZXIzMl96Ow0KKyAgICBjcmMzMl96Ow0KK30gWkxJQl8xLjIuNy4xOw0KKw0KK1pMSUJfMS4yLjEyIHsNCisJY3JjMzJfY29tYmluZV9nZW47DQorCWNyYzMyX2NvbWJpbmVfZ2VuNjQ7DQorCWNyYzMyX2NvbWJpbmVfb3A7DQorfSBaTElCXzEuMi45Ow0KZGlmZiAtLWdpdCBhL3NyYy96bGliLnBjIGIvc3JjL3psaWIucGMKaW5kZXggNjk1NGZjZi4uNzFiZWNjYSAxMDA2NDQKLS0tIGEvc3JjL3psaWIucGMKKysrIGIvc3JjL3psaWIucGMKQEAgLTYsNyArNiw3IEBACiAKIE5hbWU6IHpsaWIKIERlc2NyaXB0aW9uOiB6bGliIGNvbXByZXNzaW9uIGxpYnJhcnkKLVZlcnNpb246IDEuMi44CitWZXJzaW9uOiAxLjIuMTMKIAogUmVxdWlyZXM6CiBMaWJzOiAtTCR7bGliZGlyfSAtTCR7c2hhcmVkbGliZGlyfSAtbHoKZGlmZiAtLWdpdCBhL3NyYy96bGliMmFuc2kgYi9zcmMvemxpYjJhbnNpCmluZGV4IDE1ZTNlMTYuLjIzYjJhMWQgMTAwNzU1Ci0tLSBhL3NyYy96bGliMmFuc2kKKysrIGIvc3JjL3psaWIyYW5zaQpAQCAtOCw3ICs4LDcgQEAKIAogIyBUT0RPCiAjCi0jIEFzdW1lcyBubyBmdW5jdGlvbiBwb2ludGVyIHBhcmFtZXRlcnMuIHVubGVzcyB0aGV5IGFyZSB0eXBlZGVmZWQuCisjIEFzc3VtZXMgbm8gZnVuY3Rpb24gcG9pbnRlciBwYXJhbWV0ZXJzLiB1bmxlc3MgdGhleSBhcmUgdHlwZWRlZmVkLgogIyBBc3N1bWVzIG5vIGxpdGVyYWwgc3RyaW5ncyB0aGF0IGxvb2sgbGlrZSBmdW5jdGlvbiBkZWZpbml0aW9ucwogIyBBc3N1bWVzIGZ1bmN0aW9ucyBzdGFydCBhdCB0aGUgYmVnaW5uaW5nIG9mIGEgbGluZQogCkBAIC0xMDQsNyArMTA0LDcgQEAKIAogICBubyB3YXJuaW5nczsKIAotICAjIFN0cmlwIEMgJiBDKysgY29tZW50cworICAjIFN0cmlwIEMgJiBDKysgY29tbWVudHMKICAgIyBGcm9tIHRoZSBwZXJsZmFxCiAgICRfWzBdID1+CiAKZGlmZiAtLWdpdCBhL3NyYy96dXRpbC5jIGIvc3JjL3p1dGlsLmMKaW5kZXggMjNkMmViZS4uOTU0M2FlOCAxMDA2NDQKLS0tIGEvc3JjL3p1dGlsLmMKKysrIGIvc3JjL3p1dGlsLmMKQEAgLTEsNSArMSw1IEBACiAvKiB6dXRpbC5jIC0tIHRhcmdldCBkZXBlbmRlbnQgdXRpbGl0eSBmdW5jdGlvbnMgZm9yIHRoZSBjb21wcmVzc2lvbiBsaWJyYXJ5Ci0gKiBDb3B5cmlnaHQgKEMpIDE5OTUtMjAwNSwgMjAxMCwgMjAxMSwgMjAxMiBKZWFuLWxvdXAgR2FpbGx5LgorICogQ29weXJpZ2h0IChDKSAxOTk1LTIwMTcgSmVhbi1sb3VwIEdhaWxseQogICogRm9yIGNvbmRpdGlvbnMgb2YgZGlzdHJpYnV0aW9uIGFuZCB1c2UsIHNlZSBjb3B5cmlnaHQgbm90aWNlIGluIHpsaWIuaAogICovCiAKQEAgLTEwLDIxICsxMCwxOCBAQAogIyAgaW5jbHVkZSAiZ3pndXRzLmgiCiAjZW5kaWYKIAotI2lmbmRlZiBOT19EVU1NWV9ERUNMCi1zdHJ1Y3QgaW50ZXJuYWxfc3RhdGUgICAgICB7aW50IGR1bW15O307IC8qIGZvciBidWdneSBjb21waWxlcnMgKi8KLSNlbmRpZgotCiB6X2NvbnN0IGNoYXIgKiBjb25zdCB6X2Vycm1zZ1sxMF0gPSB7Ci0ibmVlZCBkaWN0aW9uYXJ5IiwgICAgIC8qIFpfTkVFRF9ESUNUICAgICAgIDIgICovCi0ic3RyZWFtIGVuZCIsICAgICAgICAgIC8qIFpfU1RSRUFNX0VORCAgICAgIDEgICovCi0iIiwgICAgICAgICAgICAgICAgICAgIC8qIFpfT0sgICAgICAgICAgICAgIDAgICovCi0iZmlsZSBlcnJvciIsICAgICAgICAgIC8qIFpfRVJSTk8gICAgICAgICAoLTEpICovCi0ic3RyZWFtIGVycm9yIiwgICAgICAgIC8qIFpfU1RSRUFNX0VSUk9SICAoLTIpICovCi0iZGF0YSBlcnJvciIsICAgICAgICAgIC8qIFpfREFUQV9FUlJPUiAgICAoLTMpICovCi0iaW5zdWZmaWNpZW50IG1lbW9yeSIsIC8qIFpfTUVNX0VSUk9SICAgICAoLTQpICovCi0iYnVmZmVyIGVycm9yIiwgICAgICAgIC8qIFpfQlVGX0VSUk9SICAgICAoLTUpICovCi0iaW5jb21wYXRpYmxlIHZlcnNpb24iLC8qIFpfVkVSU0lPTl9FUlJPUiAoLTYpICovCi0iIn07CisgICAgKHpfY29uc3QgY2hhciAqKSJuZWVkIGRpY3Rpb25hcnkiLCAgICAgLyogWl9ORUVEX0RJQ1QgICAgICAgMiAgKi8KKyAgICAoel9jb25zdCBjaGFyICopInN0cmVhbSBlbmQiLCAgICAgICAgICAvKiBaX1NUUkVBTV9FTkQgICAgICAxICAqLworICAgICh6X2NvbnN0IGNoYXIgKikiIiwgICAgICAgICAgICAgICAgICAgIC8qIFpfT0sgICAgICAgICAgICAgIDAgICovCisgICAgKHpfY29uc3QgY2hhciAqKSJmaWxlIGVycm9yIiwgICAgICAgICAgLyogWl9FUlJOTyAgICAgICAgICgtMSkgKi8KKyAgICAoel9jb25zdCBjaGFyICopInN0cmVhbSBlcnJvciIsICAgICAgICAvKiBaX1NUUkVBTV9FUlJPUiAgKC0yKSAqLworICAgICh6X2NvbnN0IGNoYXIgKikiZGF0YSBlcnJvciIsICAgICAgICAgIC8qIFpfREFUQV9FUlJPUiAgICAoLTMpICovCisgICAgKHpfY29uc3QgY2hhciAqKSJpbnN1ZmZpY2llbnQgbWVtb3J5IiwgLyogWl9NRU1fRVJST1IgICAgICgtNCkgKi8KKyAgICAoel9jb25zdCBjaGFyICopImJ1ZmZlciBlcnJvciIsICAgICAgICAvKiBaX0JVRl9FUlJPUiAgICAgKC01KSAqLworICAgICh6X2NvbnN0IGNoYXIgKikiaW5jb21wYXRpYmxlIHZlcnNpb24iLC8qIFpfVkVSU0lPTl9FUlJPUiAoLTYpICovCisgICAgKHpfY29uc3QgY2hhciAqKSIiCit9OwogCiAKIGNvbnN0IGNoYXIgKiBaRVhQT1JUIHpsaWJWZXJzaW9uKCkKQEAgLTYxLDEyICs1OCwxNCBAQAogICAgIGNhc2UgODogICAgIGZsYWdzICs9IDIgPDwgNjsgICAgICAgIGJyZWFrOwogICAgIGRlZmF1bHQ6ICAgIGZsYWdzICs9IDMgPDwgNjsKICAgICB9Ci0jaWZkZWYgREVCVUcKKyNpZmRlZiBaTElCX0RFQlVHCiAgICAgZmxhZ3MgKz0gMSA8PCA4OwogI2VuZGlmCisgICAgLyoKICNpZiBkZWZpbmVkKEFTTVYpIHx8IGRlZmluZWQoQVNNSU5GKQogICAgIGZsYWdzICs9IDEgPDwgOTsKICNlbmRpZgorICAgICAqLwogI2lmZGVmIFpMSUJfV0lOQVBJCiAgICAgZmxhZ3MgKz0gMSA8PCAxMDsKICNlbmRpZgpAQCAtMTE1LDE0ICsxMTQsMTQgQEAKICAgICByZXR1cm4gZmxhZ3M7CiB9CiAKLSNpZmRlZiBERUJVRwotCisjaWZkZWYgWkxJQl9ERUJVRworI2luY2x1ZGUgPHN0ZGxpYi5oPgogIyAgaWZuZGVmIHZlcmJvc2UKICMgICAgZGVmaW5lIHZlcmJvc2UgMAogIyAgZW5kaWYKIGludCBaTElCX0lOVEVSTkFMIHpfdmVyYm9zZSA9IHZlcmJvc2U7CiAKLXZvaWQgWkxJQl9JTlRFUk5BTCB6X2Vycm9yIChtKQordm9pZCBaTElCX0lOVEVSTkFMIHpfZXJyb3IobSkKICAgICBjaGFyICptOwogewogICAgIGZwcmludGYoc3RkZXJyLCAiJXNcbiIsIG0pOwpAQCAtMTM5LDggKzEzOCw4IEBACiAgICAgcmV0dXJuIEVSUl9NU0coZXJyKTsKIH0KIAotI2lmIGRlZmluZWQoX1dJTjMyX1dDRSkKLSAgICAvKiBUaGUgTWljcm9zb2Z0IEMgUnVuLVRpbWUgTGlicmFyeSBmb3IgV2luZG93cyBDRSBkb2Vzbid0IGhhdmUKKyNpZiBkZWZpbmVkKF9XSU4zMl9XQ0UpICYmIF9XSU4zMl9XQ0UgPCAweDgwMAorICAgIC8qIFRoZSBvbGRlciBNaWNyb3NvZnQgQyBSdW4tVGltZSBMaWJyYXJ5IGZvciBXaW5kb3dzIENFIGRvZXNuJ3QgaGF2ZQogICAgICAqIGVycm5vLiAgV2UgZGVmaW5lIGl0IGFzIGEgZ2xvYmFsIHZhcmlhYmxlIHRvIHNpbXBsaWZ5IHBvcnRpbmcuCiAgICAgICogSXRzIHZhbHVlIGlzIGFsd2F5cyAwIGFuZCBzaG91bGQgbm90IGJlIHVzZWQuCiAgICAgICovCkBAIC0yMTcsMTEgKzIxNiwxMyBAQAogICogYSBwcm90ZWN0ZWQgc3lzdGVtIGxpa2UgT1MvMi4gVXNlIE1pY3Jvc29mdCBDIGluc3RlYWQuCiAgKi8KIAotdm9pZHBmIFpMSUJfSU5URVJOQUwgemNhbGxvYyAodm9pZHBmIG9wYXF1ZSwgdW5zaWduZWQgaXRlbXMsIHVuc2lnbmVkIHNpemUpCit2b2lkcGYgWkxJQl9JTlRFUk5BTCB6Y2FsbG9jKHZvaWRwZiBvcGFxdWUsIHVuc2lnbmVkIGl0ZW1zLCB1bnNpZ25lZCBzaXplKQogewotICAgIHZvaWRwZiBidWYgPSBvcGFxdWU7IC8qIGp1c3QgdG8gbWFrZSBzb21lIGNvbXBpbGVycyBoYXBweSAqLworICAgIHZvaWRwZiBidWY7CiAgICAgdWxnIGJzaXplID0gKHVsZylpdGVtcypzaXplOwogCisgICAgKHZvaWQpb3BhcXVlOworCiAgICAgLyogSWYgd2UgYWxsb2NhdGUgbGVzcyB0aGFuIDY1NTIwIGJ5dGVzLCB3ZSBhc3N1bWUgdGhhdCBmYXJtYWxsb2MKICAgICAgKiB3aWxsIHJldHVybiBhIHVzYWJsZSBwb2ludGVyIHdoaWNoIGRvZXNuJ3QgaGF2ZSB0byBiZSBub3JtYWxpemVkLgogICAgICAqLwpAQCAtMjQxLDkgKzI0MiwxMiBAQAogICAgIHJldHVybiBidWY7CiB9CiAKLXZvaWQgWkxJQl9JTlRFUk5BTCB6Y2ZyZWUgKHZvaWRwZiBvcGFxdWUsIHZvaWRwZiBwdHIpCit2b2lkIFpMSUJfSU5URVJOQUwgemNmcmVlKHZvaWRwZiBvcGFxdWUsIHZvaWRwZiBwdHIpCiB7CiAgICAgaW50IG47CisKKyAgICAodm9pZClvcGFxdWU7CisKICAgICBpZiAoKih1c2gqKSZwdHIgIT0gMCkgeyAvKiBvYmplY3QgPCA2NEsgKi8KICAgICAgICAgZmFyZnJlZShwdHIpOwogICAgICAgICByZXR1cm47CkBAIC0yNTksNyArMjYzLDYgQEAKICAgICAgICAgbmV4dF9wdHItLTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KLSAgICBwdHIgPSBvcGFxdWU7IC8qIGp1c3QgdG8gbWFrZSBzb21lIGNvbXBpbGVycyBoYXBweSAqLwogICAgIEFzc2VydCgwLCAiemNmcmVlOiBwdHIgbm90IGZvdW5kIik7CiB9CiAKQEAgLTI3NiwxNSArMjc5LDE1IEBACiAjICBkZWZpbmUgX2hmcmVlICAgaGZyZWUKICNlbmRpZgogCi12b2lkcGYgWkxJQl9JTlRFUk5BTCB6Y2FsbG9jICh2b2lkcGYgb3BhcXVlLCB1SW50IGl0ZW1zLCB1SW50IHNpemUpCit2b2lkcGYgWkxJQl9JTlRFUk5BTCB6Y2FsbG9jKHZvaWRwZiBvcGFxdWUsIHVJbnQgaXRlbXMsIHVJbnQgc2l6ZSkKIHsKLSAgICBpZiAob3BhcXVlKSBvcGFxdWUgPSAwOyAvKiB0byBtYWtlIGNvbXBpbGVyIGhhcHB5ICovCisgICAgKHZvaWQpb3BhcXVlOwogICAgIHJldHVybiBfaGFsbG9jKChsb25nKWl0ZW1zLCBzaXplKTsKIH0KIAotdm9pZCBaTElCX0lOVEVSTkFMIHpjZnJlZSAodm9pZHBmIG9wYXF1ZSwgdm9pZHBmIHB0cikKK3ZvaWQgWkxJQl9JTlRFUk5BTCB6Y2ZyZWUodm9pZHBmIG9wYXF1ZSwgdm9pZHBmIHB0cikKIHsKLSAgICBpZiAob3BhcXVlKSBvcGFxdWUgPSAwOyAvKiB0byBtYWtlIGNvbXBpbGVyIGhhcHB5ICovCisgICAgKHZvaWQpb3BhcXVlOwogICAgIF9oZnJlZShwdHIpOwogfQogCkBAIC0zMDEsMjIgKzMwNCwyMiBAQAogZXh0ZXJuIHZvaWQgICBmcmVlICAgT0YoKHZvaWRwZiBwdHIpKTsKICNlbmRpZgogCi12b2lkcGYgWkxJQl9JTlRFUk5BTCB6Y2FsbG9jIChvcGFxdWUsIGl0ZW1zLCBzaXplKQordm9pZHBmIFpMSUJfSU5URVJOQUwgemNhbGxvYyhvcGFxdWUsIGl0ZW1zLCBzaXplKQogICAgIHZvaWRwZiBvcGFxdWU7CiAgICAgdW5zaWduZWQgaXRlbXM7CiAgICAgdW5zaWduZWQgc2l6ZTsKIHsKLSAgICBpZiAob3BhcXVlKSBpdGVtcyArPSBzaXplIC0gc2l6ZTsgLyogbWFrZSBjb21waWxlciBoYXBweSAqLworICAgICh2b2lkKW9wYXF1ZTsKICAgICByZXR1cm4gc2l6ZW9mKHVJbnQpID4gMiA/ICh2b2lkcGYpbWFsbG9jKGl0ZW1zICogc2l6ZSkgOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHZvaWRwZiljYWxsb2MoaXRlbXMsIHNpemUpOwogfQogCi12b2lkIFpMSUJfSU5URVJOQUwgemNmcmVlIChvcGFxdWUsIHB0cikKK3ZvaWQgWkxJQl9JTlRFUk5BTCB6Y2ZyZWUob3BhcXVlLCBwdHIpCiAgICAgdm9pZHBmIG9wYXF1ZTsKICAgICB2b2lkcGYgcHRyOwogeworICAgICh2b2lkKW9wYXF1ZTsKICAgICBmcmVlKHB0cik7Ci0gICAgaWYgKG9wYXF1ZSkgcmV0dXJuOyAvKiBtYWtlIGNvbXBpbGVyIGhhcHB5ICovCiB9CiAKICNlbmRpZiAvKiBNWV9aQ0FMTE9DICovCmRpZmYgLS1naXQgYS9zcmMvenV0aWwuaCBiL3NyYy96dXRpbC5oCmluZGV4IDI0YWIwNmIuLjBiYzdmNGUgMTAwNjQ0Ci0tLSBhL3NyYy96dXRpbC5oCisrKyBiL3NyYy96dXRpbC5oCkBAIC0xLDUgKzEsNSBAQAogLyogenV0aWwuaCAtLSBpbnRlcm5hbCBpbnRlcmZhY2UgYW5kIGNvbmZpZ3VyYXRpb24gb2YgdGhlIGNvbXByZXNzaW9uIGxpYnJhcnkKLSAqIENvcHlyaWdodCAoQykgMTk5NS0yMDEzIEplYW4tbG91cCBHYWlsbHkuCisgKiBDb3B5cmlnaHQgKEMpIDE5OTUtMjAyMiBKZWFuLWxvdXAgR2FpbGx5LCBNYXJrIEFkbGVyCiAgKiBGb3IgY29uZGl0aW9ucyBvZiBkaXN0cmlidXRpb24gYW5kIHVzZSwgc2VlIGNvcHlyaWdodCBub3RpY2UgaW4gemxpYi5oCiAgKi8KIApAQCAtMjksMTQgKzI5LDEyIEBACiAjICBpbmNsdWRlIDxzdGRsaWIuaD4KICNlbmRpZgogCi0jaWZkZWYgWl9TT0xPCi0gICB0eXBlZGVmIGxvbmcgcHRyZGlmZl90OyAgLyogZ3Vlc3MgLS0gd2lsbCBiZSBjYXVnaHQgaWYgZ3Vlc3MgaXMgd3JvbmcgKi8KLSNlbmRpZgotCiAjaWZuZGVmIGxvY2FsCiAjICBkZWZpbmUgbG9jYWwgc3RhdGljCiAjZW5kaWYKLS8qIGNvbXBpbGUgd2l0aCAtRGxvY2FsIGlmIHlvdXIgZGVidWdnZXIgY2FuJ3QgZmluZCBzdGF0aWMgc3ltYm9scyAqLworLyogc2luY2UgInN0YXRpYyIgaXMgdXNlZCB0byBtZWFuIHR3byBjb21wbGV0ZWx5IGRpZmZlcmVudCB0aGluZ3MgaW4gQywgd2UKKyAgIGRlZmluZSAibG9jYWwiIGZvciB0aGUgbm9uLXN0YXRpYyBtZWFuaW5nIG9mICJzdGF0aWMiLCBmb3IgcmVhZGFiaWxpdHkKKyAgIChjb21waWxlIHdpdGggLURsb2NhbCBpZiB5b3VyIGRlYnVnZ2VyIGNhbid0IGZpbmQgc3RhdGljIHN5bWJvbHMpICovCiAKIHR5cGVkZWYgdW5zaWduZWQgY2hhciAgdWNoOwogdHlwZWRlZiB1Y2ggRkFSIHVjaGY7CkBAIC00NCw2ICs0MiwxNyBAQAogdHlwZWRlZiB1c2ggRkFSIHVzaGY7CiB0eXBlZGVmIHVuc2lnbmVkIGxvbmcgIHVsZzsKIAorI2lmICFkZWZpbmVkKFpfVTgpICYmICFkZWZpbmVkKFpfU09MTykgJiYgZGVmaW5lZChTVERDKQorIyAgaW5jbHVkZSA8bGltaXRzLmg+CisjICBpZiAoVUxPTkdfTUFYID09IDB4ZmZmZmZmZmZmZmZmZmZmZikKKyMgICAgZGVmaW5lIFpfVTggdW5zaWduZWQgbG9uZworIyAgZWxpZiAoVUxMT05HX01BWCA9PSAweGZmZmZmZmZmZmZmZmZmZmYpCisjICAgIGRlZmluZSBaX1U4IHVuc2lnbmVkIGxvbmcgbG9uZworIyAgZWxpZiAoVUlOVF9NQVggPT0gMHhmZmZmZmZmZmZmZmZmZmZmKQorIyAgICBkZWZpbmUgWl9VOCB1bnNpZ25lZAorIyAgZW5kaWYKKyNlbmRpZgorCiBleHRlcm4gel9jb25zdCBjaGFyICogY29uc3Qgel9lcnJtc2dbMTBdOyAvKiBpbmRleGVkIGJ5IDItemxpYl9lcnJvciAqLwogLyogKHNpemUgZ2l2ZW4gdG8gYXZvaWQgc2lsbHkgd2FybmluZ3Mgd2l0aCBWaXN1YWwgQysrKSAqLwogCkBAIC05OCwyOCArMTA3LDM4IEBACiAjZW5kaWYKIAogI2lmZGVmIEFNSUdBCi0jICBkZWZpbmUgT1NfQ09ERSAgMHgwMQorIyAgZGVmaW5lIE9TX0NPREUgIDEKICNlbmRpZgogCiAjaWYgZGVmaW5lZChWQVhDKSB8fCBkZWZpbmVkKFZNUykKLSMgIGRlZmluZSBPU19DT0RFICAweDAyCisjICBkZWZpbmUgT1NfQ09ERSAgMgogIyAgZGVmaW5lIEZfT1BFTihuYW1lLCBtb2RlKSBcCiAgICAgIGZvcGVuKChuYW1lKSwgKG1vZGUpLCAibWJjPTYwIiwgImN0eD1zdG0iLCAicmZtPWZpeCIsICJtcnM9NTEyIikKICNlbmRpZgogCisjaWZkZWYgX18zNzBfXworIyAgaWYgX19UQVJHRVRfTElCX18gPCAweDIwMDAwMDAwCisjICAgIGRlZmluZSBPU19DT0RFIDQKKyMgIGVsaWYgX19UQVJHRVRfTElCX18gPCAweDQwMDAwMDAwCisjICAgIGRlZmluZSBPU19DT0RFIDExCisjICBlbHNlCisjICAgIGRlZmluZSBPU19DT0RFIDgKKyMgIGVuZGlmCisjZW5kaWYKKwogI2lmIGRlZmluZWQoQVRBUkkpIHx8IGRlZmluZWQoYXRhcmlzdCkKLSMgIGRlZmluZSBPU19DT0RFICAweDA1CisjICBkZWZpbmUgT1NfQ09ERSAgNQogI2VuZGlmCiAKICNpZmRlZiBPUzIKLSMgIGRlZmluZSBPU19DT0RFICAweDA2CisjICBkZWZpbmUgT1NfQ09ERSAgNgogIyAgaWYgZGVmaW5lZChNX0k4NikgJiYgIWRlZmluZWQoWl9TT0xPKQogIyAgICBpbmNsdWRlIDxtYWxsb2MuaD4KICMgIGVuZGlmCiAjZW5kaWYKIAogI2lmIGRlZmluZWQoTUFDT1MpIHx8IGRlZmluZWQoVEFSR0VUX09TX01BQykKLSMgIGRlZmluZSBPU19DT0RFICAweDA3CisjICBkZWZpbmUgT1NfQ09ERSAgNwogIyAgaWZuZGVmIFpfU09MTwogIyAgICBpZiBkZWZpbmVkKF9fTVdFUktTX18pICYmIF9fZGVzdF9vcyAhPSBfX2JlX29zICYmIF9fZGVzdF9vcyAhPSBfX3dpbjMyX29zCiAjICAgICAgaW5jbHVkZSA8dW5peC5oPiAvKiBmb3IgZmRvcGVuICovCkBAIC0xMzEsMTggKzE1MCwyNCBAQAogIyAgZW5kaWYKICNlbmRpZgogCi0jaWZkZWYgVE9QUzIwCi0jICBkZWZpbmUgT1NfQ09ERSAgMHgwYQorI2lmZGVmIF9fYWNvcm4KKyMgIGRlZmluZSBPU19DT0RFIDEzCiAjZW5kaWYKIAotI2lmZGVmIFdJTjMyCi0jICBpZm5kZWYgX19DWUdXSU5fXyAgLyogQ3lnd2luIGlzIFVuaXgsIG5vdCBXaW4zMiAqLwotIyAgICBkZWZpbmUgT1NfQ09ERSAgMHgwYgotIyAgZW5kaWYKKyNpZiBkZWZpbmVkKFdJTjMyKSAmJiAhZGVmaW5lZChfX0NZR1dJTl9fKQorIyAgZGVmaW5lIE9TX0NPREUgIDEwCiAjZW5kaWYKIAotI2lmZGVmIF9fNTBTRVJJRVMgLyogUHJpbWUvUFJJTU9TICovCi0jICBkZWZpbmUgT1NfQ09ERSAgMHgwZgorI2lmZGVmIF9CRU9TXworIyAgZGVmaW5lIE9TX0NPREUgIDE2CisjZW5kaWYKKworI2lmZGVmIF9fVE9TX09TNDAwX18KKyMgIGRlZmluZSBPU19DT0RFIDE4CisjZW5kaWYKKworI2lmZGVmIF9fQVBQTEVfXworIyAgZGVmaW5lIE9TX0NPREUgMTkKICNlbmRpZgogCiAjaWYgZGVmaW5lZChfQkVPU18pIHx8IGRlZmluZWQoUklTQ09TKQpAQCAtMTUyLDEwICsxNzcsNiBAQAogI2lmIChkZWZpbmVkKF9NU0NfVkVSKSAmJiAoX01TQ19WRVIgPiA2MDApKSAmJiAhZGVmaW5lZCBfX0lOVEVSSVgKICMgIGlmIGRlZmluZWQoX1dJTjMyX1dDRSkKICMgICAgZGVmaW5lIGZkb3BlbihmZCxtb2RlKSBOVUxMIC8qIE5vIGZkb3BlbigpICovCi0jICAgIGlmbmRlZiBfUFRSRElGRl9UX0RFRklORUQKLSAgICAgICB0eXBlZGVmIGludCBwdHJkaWZmX3Q7Ci0jICAgICAgZGVmaW5lIF9QVFJESUZGX1RfREVGSU5FRAotIyAgICBlbmRpZgogIyAgZWxzZQogIyAgICBkZWZpbmUgZmRvcGVuKGZkLHR5cGUpICBfZmRvcGVuKGZkLHR5cGUpCiAjICBlbmRpZgpAQCAtMTcyLDEyICsxOTMsMTMgQEAKICAgICAoIWRlZmluZWQoX0xBUkdFRklMRTY0X1NPVVJDRSkgfHwgX0xGUzY0X0xBUkdFRklMRS0wID09IDApCiAgICAgWkVYVEVSTiB1TG9uZyBaRVhQT1JUIGFkbGVyMzJfY29tYmluZTY0IE9GKCh1TG9uZywgdUxvbmcsIHpfb2ZmX3QpKTsKICAgICBaRVhURVJOIHVMb25nIFpFWFBPUlQgY3JjMzJfY29tYmluZTY0IE9GKCh1TG9uZywgdUxvbmcsIHpfb2ZmX3QpKTsKKyAgICBaRVhURVJOIHVMb25nIFpFWFBPUlQgY3JjMzJfY29tYmluZV9nZW42NCBPRigoel9vZmZfdCkpOwogI2VuZGlmCiAKICAgICAgICAgLyogY29tbW9uIGRlZmF1bHRzICovCiAKICNpZm5kZWYgT1NfQ09ERQotIyAgZGVmaW5lIE9TX0NPREUgIDB4MDMgIC8qIGFzc3VtZSBVbml4ICovCisjICBkZWZpbmUgT1NfQ09ERSAgMyAgICAgLyogYXNzdW1lIFVuaXggKi8KICNlbmRpZgogCiAjaWZuZGVmIEZfT1BFTgpAQCAtMjE2LDcgKzIzOCw3IEBACiAjZW5kaWYKIAogLyogRGlhZ25vc3RpYyBmdW5jdGlvbnMgKi8KLSNpZmRlZiBERUJVRworI2lmZGVmIFpMSUJfREVCVUcKICMgIGluY2x1ZGUgPHN0ZGlvLmg+CiAgICBleHRlcm4gaW50IFpMSUJfSU5URVJOQUwgel92ZXJib3NlOwogICAgZXh0ZXJuIHZvaWQgWkxJQl9JTlRFUk5BTCB6X2Vycm9yIE9GKChjaGFyICptKSk7Cg==