ZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3N5bnRheC50eHQgYi9ydW50aW1lL2RvYy9zeW50YXgudHh0CmluZGV4IGM0MjFhMjIuLmJjN2JjYWUgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3N5bnRheC50eHQKKysrIGIvcnVudGltZS9kb2Mvc3ludGF4LnR4dApAQCAtMSw0ICsxLDQgQEAKLSpzeW50YXgudHh0KglGb3IgVmltIHZlcnNpb24gNy4wYWEuICBMYXN0IGNoYW5nZTogMjAwNSBKYW4gMjYKKypzeW50YXgudHh0KglGb3IgVmltIHZlcnNpb24gNy4wYWEuICBMYXN0IGNoYW5nZTogMjAwNSBGZWIgMjEKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwJICBieSBCcmFtIE1vb2xlbmFhcgpAQCAtMTg0LDYgKzE4NCwxMSBAQAogVGhhdCdzIGl0LiAgVGhlIG5leHQgdGltZSB5b3UgZWRpdCBhIEMgZmlsZSB0aGUgQ29tbWVudCBjb2xvciB3aWxsIGJlCiBkaWZmZXJlbnQuICBZb3UgZG9uJ3QgZXZlbiBoYXZlIHRvIHJlc3RhcnQgVmltLgogCitJZiB5b3UgaGF2ZSBtdWx0aXBsZSBmaWxlcywgeW91IGNhbiB1c2UgdGhlIGZpbGV0eXBlIGFzIHRoZSBkaXJlY3RvcnkgbmFtZS4KK0FsbCB0aGUgIioudmltIiBmaWxlcyBpbiB0aGlzIGRpcmVjdG9yeSB3aWxsIGJlIHVzZWQsIGZvciBleGFtcGxlOgorCX4vLnZpbS9hZnRlci9zeW50YXgvYy9vbmUudmltCisJfi8udmltL2FmdGVyL3N5bnRheC9jL3R3by52aW0KKwogCiBSRVBMQUNJTkcgQU4gRVhJU1RJTkcgU1lOVEFYIEZJTEUJCQkqbXlzeW50YXhmaWxlLXJlcGxhY2UqCiAKQEAgLTI1NzcsNyArMjU4Miw3IEBACiAgIDpzeW50YXgga2V5d29yZCAgIFR5cGUgICBjb250YWluZWQgaW50IGxvbmcgY2hhcgogICA6c3ludGF4IGtleXdvcmQgICBUeXBlICAgaW50IGxvbmcgY29udGFpbmVkIGNoYXIKICAgOnN5bnRheCBrZXl3b3JkICAgVHlwZSAgIGludCBsb25nIGNoYXIgY29udGFpbmVkCi08Cis8CQkJCQkJCQkqRTc0NyoKIAlXaGVuIHlvdSBoYXZlIGEga2V5d29yZCB3aXRoIGFuIG9wdGlvbmFsIHRhaWwsIGxpa2UgRXggY29tbWFuZHMgaW4KIAlWaW0sIHlvdSBjYW4gcHV0IHRoZSBvcHRpb25hbCBjaGFyYWN0ZXJzIGluc2lkZSBbXSwgdG8gZGVmaW5lIGFsbCB0aGUKIAl2YXJpYXRpb25zIGF0IG9uY2U6ID4KQEAgLTM1MDQsNiArMzUwOSw3IEBACiAJV2l0aG91dCBhICJncm91cHRoZXJlIiBhcmd1bWVudC4gIERlZmluZSBhIHJlZ2lvbiBvciBtYXRjaCB0aGF0IGlzCiAJc2tpcHBlZCB3aGlsZSBzZWFyY2hpbmcgZm9yIGEgc3luYyBwb2ludC4KIAorICAgIAkJCQkJCSpzeW4tc3luYy1saW5lY29udCoKICAgICA6c3ludGF4IHN5bmMgbGluZWNvbnQge3BhdHRlcm59CiAKIAlXaGVuIHtwYXR0ZXJufSBtYXRjaGVzIGluIGEgbGluZSwgaXQgaXMgY29uc2lkZXJlZCB0byBjb250aW51ZSBpbgpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvdGFnc3JjaC50eHQgYi9ydW50aW1lL2RvYy90YWdzcmNoLnR4dAppbmRleCAzMjZlYzNlLi40NjdhOWExIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy90YWdzcmNoLnR4dAorKysgYi9ydW50aW1lL2RvYy90YWdzcmNoLnR4dApAQCAtMSw0ICsxLDQgQEAKLSp0YWdzcmNoLnR4dCogICBGb3IgVmltIHZlcnNpb24gNy4wYWEuICBMYXN0IGNoYW5nZTogMjAwNSBKYW4gMDIKKyp0YWdzcmNoLnR4dCogICBGb3IgVmltIHZlcnNpb24gNy4wYWEuICBMYXN0IGNoYW5nZTogMjAwNSBGZWIgMTQKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwgICAgYnkgQnJhbSBNb29sZW5hYXIKQEAgLTc0NCwxMSArNzQ0LDEzIEBACiBdRAkJCWxpa2UgIltEIiwgYnV0IHN0YXJ0IGF0IHRoZSBjdXJyZW50IGN1cnNvciBwb3NpdGlvbi4KIAkJCXtub3QgaW4gVml9CiAKLQkJCQkJCQkqOmRsKiAqOmRsaXN0KgorCQkJCQkJCSo6ZGxpKiAqOmRsaXN0KgogOltyYW5nZV1kbFtpc3RdWyFdIFsvXXN0cmluZ1svXQogCQkJTGlrZSAiW0QiICBhbmQgIl1EIiwgYnV0IHNlYXJjaCBpbiBbcmFuZ2VdIGxpbmVzCiAJCQkoZGVmYXVsdDogd2hvbGUgZmlsZSkuCiAJCQlTZWUgfDpzZWFyY2gtYXJnc3wgZm9yIFsvXSBhbmQgWyFdLiAge25vdCBpbiBWaX0KKwkJCU5vdGUgdGhhdCAiOmRsIiB3b3JrcyBsaWtlICI6ZGVsZXRlIiB3aXRoIHRoZSAibCIKKwkJCWZsYWcuCiAKIAkJCQkJCQkqW19DVFJMLUQqCiBbIENUUkwtRAkJSnVtcCB0byB0aGUgZmlyc3QgbWFjcm8gZGVmaW5pdGlvbiB0aGF0IGNvbnRhaW5zIHRoZQpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvdG9kby50eHQgYi9ydW50aW1lL2RvYy90b2RvLnR4dAppbmRleCA4NWYyZGU2Li4wMjMxOTQyIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy90b2RvLnR4dAorKysgYi9ydW50aW1lL2RvYy90b2RvLnR4dApAQCAtMSw0ICsxLDQgQEAKLSp0b2RvLnR4dCogICAgICBGb3IgVmltIHZlcnNpb24gNy4wYWEuICBMYXN0IGNoYW5nZTogMjAwNSBGZWIgMTIKKyp0b2RvLnR4dCogICAgICBGb3IgVmltIHZlcnNpb24gNy4wYWEuICBMYXN0IGNoYW5nZTogMjAwNSBGZWIgMjEKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwJICBieSBCcmFtIE1vb2xlbmFhcgpAQCAtMzAsNTMgKzMwLDM4IEBACiAJCQkJCQkJKmtub3duLWJ1Z3MqCiAtLS0tLS0tLS0tLS0tLS0tLS0tLSBLbm93biBidWdzIGFuZCBjdXJyZW50IHdvcmsgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAotIm5vcm0hIGdRIiBoYW5ncy4gIEZpeGVzIGluIGV4X2dldGxuLmMgYW5kIGV4X2RvY21kLmMgYWxzbyBpbiBWaW0gNi4zPworTWFjIHVuaWNvZGUgcGF0Y2ggKERhIFdvb24gSnVuZyk6CistIGRlZmF1bHQgZm9udCBpcyB1Z2x5CistIHR5cGluZyBkb2Vzbid0IHdvcmsKKy0gc2VsZWN0aW5nIHByb3BvcnRpb25hbCBmb250IGJyZWFrcyBkaXNwbGF5CiAKIGF1dG9sb2FkOgotLSBSZW5hbWUgZGlyZWN0b3J5IHRvIGZyb20gImF1dG9sb2FkIiB0byAibGlicmFyeSI/Ci0tIEFsc28gYXV0b2xvYWQgd2hlbiByZWFkaW5nIGEgdmFyaWFibGUgd2l0aCBhIGxvbmc6bmFtZSB0aGF0IGRvZXNuJ3QgZXhpc3QuCi0tIEV4YW1wbGUgdXNpbmcgc2hvcnQgc2NyaXB0IHdpdGggdXNlciBjb21tYW5kIHRoYXQgdHJpZ2dlcnMgbG9hZGluZyBzY3JpcHQKLSAgd2l0aCBmdW5jdGlvbmFsaXR5LgotLSBSZW1hcmsgYWJvdXQgb25lIHNjcmlwdCBkZXBlbmRpbmcgb24gYW5vdGhlciwgcmVjdXJzaXZlbHkuCi0tIENhdGNoIHJlY3Vyc2l2ZSBhdXRvbG9hZGluZy4KLS0gQWRkIG5vdGUgaW4gZG9jcyBhYm91dCBIZWxwRXh0cmFjdG9yIHdyYXBwZXIgc2NyaXB0LiAgVGhpbmsgYWJvdXQgYSBnb29kIHdheQotICB0aGF0IHRoZSB1c2VyIGRvZXNuJ3QgbmVlZCB0byBydW4gIjpoZWxwdGFncyIgbWFudWFsbHkuCi0KLVBPU0lYIGNvbXBsaWFuY2U6Ci0tIHZpIHRlc3QgMzEwIGZhaWxzOyBleGl0IGNvZGUgbm9uLXplcm8gd2hlbiBhbnkgZXJyb3Igb2NjdXJyZWQ/Ci0tIHZpIHRlc3QgMzMgZmFpbHMgZm9yIHVua25vd24gcmVhc29ucwotLSBleCB0ZXN0IDI0IGZhaWxzIGJlY2F1c2UgdGVzdCBpcyB3cm9uZz8KLS0gZXggdGVzdCAyOSBmYWlscyBiZWNhdXNlIGV4aXQgdmFsdWUgaXMgYWx3YXlzIDAuCi0tIGV4IHRlc3RzIDQ3LCA0OCwgNDkgZmFpbCBiZWNhdXNlIC5leHJjIGZpbGUgaXNuJ3QgcmVhZCBpbiBzaWxlbnQgbW9kZSBhbmQKLSAgJEVYSU5JVCBpc24ndCB1c2VkLgotLSBleCB0ZXN0IDU3IGZhaWxzLCBuZWVkIHRvIGxvb2sgaW50byB0aGlzLgotLSBjaGVjayBleCB0ZXN0IG91dHB1dAotLSByZXBvcnQgdXNlIG9mICRMSU5FUyBhbmQgJENPTFVNTlMgdG8gYXVzdGluIG1haWxsaXN0LgotCi1NYWtlIGxpc3Qgb2YgdXNlciBmdW5jdGlvbnMgYSBoYXNodGFibGUuCi0KLURvY3MgZm9yIHVzaW5nICJzeW50YXgve2ZpbGV0eXBlfS8qLnZpbSIgc3ludGF4IGZpbGVzLgotCi1JbmNsdWRlIE1hYyB1bmljb2RlIHBhdGNoIChEYSBXb29uIEp1bmcpLgotCi1OZXcgTW90aWYgdG9vbGJhciBidXR0b24gZnJvbSBNYXJjaW4gRGFsZWNraToKLS0gV2hlbiB0aGUgbW91c2UgcG9pbnRlciBpcyBvdmVyIGFuIEFnaWRlIGJ1dHRvbiB0aGUgcmVkIGJlY29tZXMgYmxhY2suCi0gIFNvbWV0aGluZyB3aXRoIHRoZSB3YXkgY29sb3JzIGFyZSBzcGVjaWZpZWQgaW4gdGhlIC54cG0gZmlsZS4KLS0gVGhlIHBpeG1hcCBpcyB0d28gcGl4ZWxzIHNtYWxsZXIgdGhhbiBpdCBzaG91bGQgYmUuICBUaGUgZ2FwIGlzIGZpbGxlZAotICB3aXRoIGdyZXkgaW5zdGVhZCBvZiB0aGUgY3VycmVudCB0b29sYmFyIGJhY2tncm91bmQgY29sb3IuCistIEFkZCBkb2NzIGluIHVzZXIgbWFudWFsOiBvbmUgZm9yIHVzaW5nIG9uZSBzY3JpcHQgYW5kIEZ1bmNVbmRlZmluZWQgYW5kIG9uZQorICBmb3IgdXNpbmcgYXV0b2xvYWQgd2l0aCB0d28gc2NyaXB0cy4KKy0gQWRkIGEgVmltIHNjcmlwdCBpbiAkVklNUlVOVElNRS90b29scyB0aGF0IHRha2VzIGEgZmlsZSB3aXRoIGEgbGlzdCBvZgorICBzY3JpcHQgbmFtZXMgYW5kIGEgaGVscCBmaWxlIGFuZCBwcm9kdWNlcyBhIHNjcmlwdCB0aGF0IGNhbiBiZSBzb3VyY2VkIHRvCisgIGluc3RhbGwgdGhlIHNjcmlwdHMgaW4gdGhlIHVzZXIncyBkaXJlY3Rvcmllcy4KKyAgVXNlIGZpbmRmaWxlKCksIHNvIHRoYXQgb25seSBmaWxlIG5hbWVzIG5lZWQgdG8gYmUgZ2l2ZW46CisgICAgc2NyaXB0IHBsdWdpbi9teXNjcmlwdC52aW0KKyAgICBzY3JpcHQgYXV0b2xvYWQvbXlsaWIudmltCisgICAgc2NyaXB0IGF1dG9sb2FkL3lvdXJsaWIudmltCisgICAgaGVscGZpbGUgZG9jL215c2NyaXB0LnR4dAorICBGb3IgdGhlICJoZWxwZmlsZSIgaXRlbSAiOmhlbHB0YWdzIiBpcyBydW4uCiAKIEF3YWl0aW5nIHJlc3BvbnNlOgogLSAgIFBhdGNoIGZvciBtY2hfRnVsbE5hbWUoKSBhbHNvIGluIFZpbSA2LjM/ICBvc19tc3dpbi5jCiAtICAgV2luMzI6IHRlYXJvZmYgbWVudSB3aW5kb3cgc2hvdWxkIGhhdmUgYSBzY3JvbGxiYXIgd2hlbiBpdCdzIHRhbGxlciB0aGFuCiAgICAgdGhlIHNjcmVlbi4KIAotUGF0Y2ggZnJvbSBZZWdhcHBhbiBMYWtzaG1hbmFuIGZvciByZWRpcmVjdGluZyBvZiBFeCBjb21tYW5kcyAoRmViIDkgMTA6NTgpOgotTG9vayBpbnRvIGhvdyBsdmFsIHN0cnVjdCBpcyBrZXB0IGZvciBhIGxvbmcgdGltZS4KLQk6cmVkaXIgPT4gIHZhcmlhYmxlCi0JOnJlZGlyID0+PiB2YXJpYWJsZSAgKGFwcGVuZCkKLQogSW1wcm92ZW1lbnRzIGZvciBQeXRob24gaW5kZW50IHNjcmlwdDogUGV0ZXIgV2lsc29uLgogCitXaW4zMjogd2hlbiAnZW5jb2RpbmcnIGlzICJ1dGYtOCIgZ2V0ZW52KCkgc2hvdWxkIGNvbnZlcnQgZnJvbSB0aGUgYWN0aXZlCitjb2RlcGFnZSB0byB1dGYtOCwgcHV0ZW52KCkgdGhlIG90aGVyIHdheSBhcm91bmQuICBPciB1c2UgX3dnZXRlbnYoKSAoYnV0IHRoYXQKK2R1cGxpY2F0ZXMgdGhlIGVudmlyb25tZW50KS4KKworUnVzc2lhbiBoZWxwZmlsZSBkb2Vzbid0IHNob3cgdXAgY29ycmVjdGx5IHdoZW4gJ2VuY29kaW5nJyBpcyBrb2k4LXIuCisoVmFzc2lseSBSYWdvc2luIDIwMDUgRmViIDE2KQorCiAKIFBMQU5ORUQgRk9SIFZFUlNJT04gNy4wOgogCkBAIC0xNjUsNiArMTUwLDcgQEAKIC0gICBBZGQgREVCVUdHRVIgSU5URVJGQUNFLiAgSW1wbGVtZW50YXRpb24gZm9yIGdkYiBieSBYYXZpZXIgZGUgR2F5ZSwKICAgICBhc3Npc3RlZCBieSBNaWtvbGFqIE1hY2hvd3NraS4gIFNob3VsZCB3b3JrIGxpa2UgYW4gSURFLiAgVHJ5IHRvIGtlZXAgaXQKICAgICBnZW5lcmljLiAgQWxzbyBmb3VuZCBoZXJlOiBodHRwOi8vc2thd2luYS5ldS5vcmcvbWlrb2xhai92aW1nZGIKKyAgICBBbmQgdGhlIGlkZXZpbSBwbHVnaW4vc2NyaXB0LgogICAgIFRvIGJlIGFibGUgdG8gc3RhcnQgdGhlIGRlYnVnZ2VyIGZyb20gaW5zaWRlIFZpbTogRm9yIEdVSSBydW4gYSBwcm9ncmFtCiAgICAgd2l0aCBhIG5ldGJlYW5zIGNvbm5lY3Rpb247IGZvciBjb25zb2xlOiBzdGFydCBhIHByb2dyYW0gdGhhdCBzcGxpdHMgdGhlCiAgICAgdGVybWluYWwsIHJ1bnMgdGhlIGRlYnVnZ2VyIGluIG9uZSB3aW5kb3cgYW5kIHJlY29ubmVjdCBWaW0gSS9PIHRvIHRoZQpAQCAtMjQ4LDYgKzIzNCwxMCBAQAogCiBBZGQgZ3VpX21jaF9icm93c2VkaXIoKSBmb3IgTW90aWYsIEtERSBhbmQgTWFjIE9TL1guCiAKKzcgICBBZGQgYSAiOmNzdHJpbmciIGNvbW1hbmQuICBXb3JrcyBsaWtlICI6Y2ZpbGUiIGJ1dCByZWFkcyBmcm9tIGEgc3RyaW5nCisgICAgdmFyaWFibGUuICBBbHNvIGFjY2VwdCBhIGxpc3QgdmFyaWFibGU/ICBQYXRjaCBmcm9tIFllZ2FwcGFuIExha3NobWFuYW4uCisgICAgMjAwNSBGZWIgMTcgIE5vdyBpdCdzICI6Y2V4cHIiLgorCiBIVE1MIGluZGVudGluZyBjYW4gYmUgc2xvdywgZmluZCBvdXQgd2h5LiAgQW55IHdheSB0byBkbyBzb21lIGtpbmQgb2YKIHByb2ZpbGluZyBmb3IgVmltIHNjcmlwdD8gIEF0IGxlYXN0IGFkZCBhIGZ1bmN0aW9uIHRvIGdldCB0aGUgY3VycmVudCB0aW1lIGluCiB1c2VjLiAgcmVsdGltZShbc3RhcnQsIFtlbmRdXSkKQEAgLTM3MCw3ICszNjAsNiBAQAogVmkgaW5jb21wYXRpYmlsaXR5OgogOSAgIEluIEV4IG1vZGUsICJ1IiB1bmRvZXMgYWxsIGNoYW5nZXMsIG5vdCBqdXN0IHRoZSBsYXN0IG9uZS4gKEpvaG4gQ293YW4pCiA4ICAgSW4gRXggbW9kZSwgYW4gZW1wdHkgZmlsZSBkb2Vzbid0IGhhdmUgYSBmaXJzdCBsaW5lLCAiMXAiIHNob3VsZCBmYWlsLgotOCAgIEluIEV4IG1vZGUsICIxLDMiIHNob3VsZCBwcmludCB0aHJlZSBsaW5lcy4KIDggICBXaXRoIHVuZG8vcmVkbyBvbmx5IG1hcmtzIGluIHRoZSBjaGFuZ2VkIGxpbmVzIHNob3VsZCBiZSBjaGFuZ2VkLiAgT3RoZXIKICAgICBtYXJrcyBzaG91bGQgYmUga2VwdC4gIFZpIGtlZXBzIGVhY2ggbWFyayBhdCB0aGUgc2FtZSB0ZXh0LCBldmVuIHdoZW4gaXQKICAgICBpcyBkZWxldGVkIG9yIHJlc3RvcmVkLiAoV2ViYikKQEAgLTU1NCw2ICs1NDMsMTEgQEAKIAogCiBBdGhlbmEgYW5kIE1vdGlmOgorNiAgIE5ldyBNb3RpZiB0b29sYmFyIGJ1dHRvbiBmcm9tIE1hcmNpbiBEYWxlY2tpOgorICAgIC0gV2hlbiB0aGUgbW91c2UgcG9pbnRlciBpcyBvdmVyIGFuIEFnaWRlIGJ1dHRvbiB0aGUgcmVkIGJlY29tZXMgYmxhY2suCisgICAgICBTb21ldGhpbmcgd2l0aCB0aGUgd2F5IGNvbG9ycyBhcmUgc3BlY2lmaWVkIGluIHRoZSAueHBtIGZpbGUuCisgICAgLSBUaGUgcGl4bWFwIGlzIHR3byBwaXhlbHMgc21hbGxlciB0aGFuIGl0IHNob3VsZCBiZS4gIFRoZSBnYXAgaXMgZmlsbGVkCisgICAgICB3aXRoIGdyZXkgaW5zdGVhZCBvZiB0aGUgY3VycmVudCB0b29sYmFyIGJhY2tncm91bmQgY29sb3IuCiA5ICAgQ2FuIGNvbmZpZ3VyZSBiZSBjaGFuZ2VkIHRvIGRpc2FibGUgbmV0YmVhbnMgaWYgdGhlIFhwbSBsaWJyYXJ5IGlzCiAgICAgcmVxdWlyZWQgYW5kIGl0J3MgbWlzc2luZz8KIDggICBXaGVuIHVzaW5nIHRoZSByZXNvdXJjZSAiVmltKmJvcmRlcndpZHRoIDIiIHRoZSB3aWRnZXRzIGFyZSBwb3NpdGlvbmVkCkBAIC02MzIsNiArNjI2LDE0IEBACiAgICAgdXNlIHRoYXQgY29kZT8gIE9yIHVzZSBjb25zb2xlIGRpYWxvZy4KIDggICBXaGVuIHNlbGVjdGluZyBhIGZvbnQgd2l0aCB0aGUgZm9udCBkaWFsb2cgYW5kIHRoZSBmb250IGlzIGludmFsaWQsIHRoZQogICAgIGVycm9yIG1lc3NhZ2UgZGlzYXBwZWFycyB0b28gcXVpY2suCis3ICAgTW9yZSBmZWF0dXJlcyBpbiB0aGUgZmluZC9yZXBsYWNlIGRpYWxvZzoKKyAgICAtIHJlZ2V4cCBvbi9vZmYKKyAgICAtIHNlYXJjaCBpbiBzZWxlY3Rpb24vYnVmZmVyL2FsbCBidWZmZXJzL2RpcmVjdG9yeQorICAgICAgIHdoZW4gYWxsIGJ1ZmZlcnMvZGlyZWN0b3J5IGlzIHVzZWQ6CisJLSBmaWx0ZXIgZm9yIGZpbGUgbmFtZQorICAgICAgIHdoZW4gZGlyZWN0b3J5IGlzIHVzZWQ6CisJLSBzdWJkaXJlY3Rvcnkgb24vb2ZmCisJLSB0b3AgZGlyZWN0b3J5IGJyb3dzZXIKIDggICBndWlfY2hlY2tfY29sb3JzKCkgaXMgbm90IGNhbGxlZCBhdCB0aGUgcmlnaHQgbW9tZW50LiAgRG8gaXQgbXVjaCBsYXRlciwKICAgICB0byBhdm9pZCBwcm9ibGVtcy4KIDggICBndWlfdXBkYXRlX2N1cnNvcigpIGlzIGNhbGxlZCBmb3IgYSBjdXJzb3Igc2hhcGUgY2hhbmdlLCBldmVuIHdoZW4gdGhlcmUKQEAgLTE1OTQsNyArMTU5Niw2IEBACiAJCQkJUmV0dXJuIGEgbGlzdCBpbnN0ZWFkLgogCXNwcmludGYoZm9ybWF0LCBhcmcsIC4uKSBIb3cgdG8gcHJldmVudCBhIGNyYXNoPz8/CiAJYXR0cmlidXRlcygpCQlyZXR1cm4gZmlsZSBwcm90ZWN0aW9uIGZsYWdzICJkcnd4cnd4cnd4IgotCW1rZGlyKGRpcikJCUNyZWF0ZSBkaXJlY3RvcnkKIAljb3B5KGZyb20sIHRvKQkJQ29weSBhIGZpbGUKIAlwZXJsKGNtZCkJCWNhbGwgUGVybCBhbmQgcmV0dXJuIHN0cmluZwogCXNob3J0ZW4oZm5hbWUpCQlzaG9ydGVuIGEgZmlsZSBuYW1lLCBsaWtlIGhvbWVfcmVwbGFjZSgpCkBAIC0yMjM4LDEzICsyMjM5LDEwIEBACiAgICAgdGhlbSB3aXRoIHRoZSBvcHRpb25hbCBwYXJ0IGluc2lkZSBbXS4KIDcgICBDb21wbGV0aW9uIG9mICI6bWFwIHggIjogZmlsbCBpbiB0aGUgY3VycmVudCBtYXBwaW5nLCBzbyB0aGF0IGl0IGNhbiBiZQogICAgIGVkaXRlZC4gKFN2ZW4gR3Vja2VzKQotNyAgIEFkZCBjb21wbGV0aW9uIGZvciB3aGVuIGVudGVyaW5nIGFuIGV4cHJlc3Npb24gYWZ0ZXIgQ1RSTC1SPSBhbmQgIj0uCi0gICAgKFNlcnZhdGl1cyBCcmFuZHQpCiAtICAgRm9yICd3aWxkbWVudSc6IFNpbXBsaWZ5ICIuLi9iYXIiIHdoZW4gcG9zc2libGUuCiAtICAgV2hlbiB1c2luZyA8VXA+IGluIHdpbGRtZW51IG1vZGUgZm9yIGEgc3VibWVudSwgc2hvdWxkIGdvIGJhY2sgdG8gdGhlCiAgICAgY3VycmVudCBtZW51LCBub3QgdGhlIGZpcnN0IG9uZS4gIEUuZy4sICI6ZW1lbnUgRmlsZS5TYXZlPFVwPiIuCiA4ICAgRm9yICI6ZmluZCIgYW5kICI6c2ZpbmQiIGV4cGFuZCBmaWxlcyBmb3VuZCBpbiAncGF0aCcuCi04ICAgQWRkIGNtZGxpbmUgY29tcGxldGlvbiBmb3IgdGhlICI6ZGVidWciIGNvbW1hbmQuCiA4ICAgV2hlbiB1c2luZyBiYWNrdGljayBleHBhbnNpb24sIHRoZSBleHRlcm5hbCBjb21tYW5kIG1heSB3cml0ZSBhIGdyZWV0aW5nCiAgICAgbWVzc2FnZS4gIEFkZCBhbiBvcHRpb24gb3IgY29tbWFuZHMgdG8gcmVtb3ZlIGxpbmVzIHRoYXQgbWF0Y2ggYSByZWdleHA/CiA3ICAgV2hlbiBsaXN0aW5nIG1hdGNoZXMgb2YgZmlsZXMsIGRpc3BsYXkgdGhlIGNvbW1vbiBwYXRoIHNlcGFyYXRlbHkgZnJvbSB0aGUKQEAgLTIyNjAsNyArMjI1OCw2IEBACiAtICAgQWRkICd3aWxkbG9uZ2VzdCcgb3B0aW9uOiBLZXkgdG8gdXNlIHRvIGZpbmQgbG9uZ2VzdCBjb21tb24gbWF0Y2ggZm9yCiAgICAgY29tbWFuZCBsaW5lIGNvbXBsZXRpb24gKGRlZmF1bHQgQ1RSTC1MKSwgbGlrZSAnd2lsZGNoYXInLiAoQ3JlZ3V0KQogICAgIEFsc286IHdoZW4gdGhlcmUgYXJlIHNldmVyYWwgbWF0Y2hlcywgc2hvdyB0aGVtIGxpbmUgYSBDVFJMLUQuCi0tICAgQWRkIGNvbXBsZXRpb24gZm9yIEVudmlyb25tZW50IHZhcmlhYmxlczogIjplY2hvICRTSDxUYWI+IiAtPiAiJFNIRUxMIi4KIAogCiBDb21tYW5kIGxpbmUgaGlzdG9yeToKQEAgLTI0NDEsNiArMjQzOCwxMCBAQAogOCAgIEFkZCB0ZXN0IHNjcmlwdCBmb3IgdGV4dCBvYmplY3QgY29tbWFuZHMgImF3IiwgImlXIiwgZXRjLgogOCAgIEFkZCB0ZXh0IG9iamVjdCBmb3IgcGFydCBvZiBhIENhbWVsSHVtZWRXb3JkIGFuZCB1bmRlcl9zY29yZWRfd29yZC4KICAgICAoU2NvdHQgR3JhaGFtKSAgImFjIiBhbmQgImF1Ij8KKzggICBBZGQgYSB0ZXh0IG9iamVjdCBmb3IgYW55IGtpbmQgb2YgcXVvdGluZywgYWxzbyB3aXRoIG11bHRpLWJ5dGUKKyAgICBjaGFyYWN0ZXJzLiAgT3B0aW9uIHRvIHNwZWNpZnkgd2hhdCBxdW90ZXMgYXJlIHJlY29nbml6ZWQgKGRlZmF1bHQ6IGFsbCkKKyAgICB1c2UgImFxIiBhbmQgImlxIi4KKzggICBBZGQgdGV4dCBvYmplY3QgZm9yIGFueSBraW5kIG9mIHBhcmVucywgYWxzbyBtdWx0aS1ieXRlIG9uZXMuCiA3ICAgQWRkIHRleHQgb2JqZWN0IGZvciBjdXJyZW50IHNlYXJjaCBwYXR0ZXJuOiAiYS8iIGFuZCAiaS8iLiAgTWFrZXMgaXQKICAgICBwb3NzaWJsZSB0byB0dXJuIHRleHQgaGlnaGxpZ2h0ZWQgZm9yICdobHNlYXJjaCcgaW50byBhIFZpc3VhbCBhcmVhLgogOCAgIEFkZCAiZ3AiIGFuZCAiZ1AiIGNvbW1hbmRzOiBpbnNlcnQgdGV4dCBhbmQgbWFrZSBzdXJlIHRoZXJlIGlzIGEgc2luZ2xlCkBAIC0zMDkyLDggKzMwOTMsNiBAQAogICAgIEdvdmluZGFjaGFyKQogNiAgIEluIHRoZSBxdWlja2ZpeCB3aW5kb3cgc3RhdHVzbGluZSBhZGQgdGhlIGNvbW1hbmQgdXNlZCB0byBnZXQgdGhlIGxpc3Qgb2YKICAgICBlcnJvcnMsIGUuZy4gIjptYWtlIGZvbyIsICI6Z3JlcCBzb21ldGhpbmcgKi5jIi4KLTcgICBBZGQgYSAiOmNzdHJpbmciIGNvbW1hbmQuICBXb3JrcyBsaWtlICI6Y2ZpbGUiIGJ1dCByZWFkcyBmcm9tIGEgc3RyaW5nCi0gICAgdmFyaWFibGUuICBBbHNvIGFjY2VwdCBhIGxpc3QgdmFyaWFibGU/CiA2ICAgUHl0aG9uIGludGVyZmFjZTogYWRkIHZpbS5tZXNzYWdlKCkgZnVuY3Rpb24uIChNaWNoYWwgVml0ZWNlaywgMjAwMiBOb3YgNSkKIDcgICBTdXBwb3J0IHVzaW5nICI6dmVydCIgd2l0aCBVc2VyIGNvbW1hbmRzLiAgQWRkIGV4cGFuZGFibGUgaXRlbXMgPHZlcnQ+LgogICAgIERvIHRoZSBzYW1lIGZvciAiOmJyb3dzZSIgYW5kICI6Y29uZmlybSI/CkBAIC0zMjMwLDYgKzMyMjksNyBAQAogICAgIHJlZ2V4cCB3aGljaCB0cmlnZ2VycyBhdXRvLWZvcm1hdHRpbmcgKGZvciBvbmUgbGluZSkuCiAgICAgIjpzZXQgYXV0b2Zvcm1hdD1cXHMkIi4KIC0gICBCZSBhYmxlIHRvIHJlZGVmaW5lIHdoZXJlIGEgc2VudGVuY2Ugc3RvcHMuICBVc2UgYSByZWdleHAgcGF0dGVybj8KKy0gICBTdXBwb3J0IG11bHRpLWJ5dGUgY2hhcmFjdGVycyBmb3Igc2VudGVuY2VzLiAgRXhhbXBsZSBmcm9tIEJlbiBQZXRlcnNvbi4KIDcgICBBZGQgY29tbWFuZCAiZykiIHRvIGdvIHRvIHRoZSBlbmQgb2YgYSBzZW50ZW5jZSwgImcoIiB0byBnbyBiYWNrIHRvIHRoZQogICAgIGVuZCBvZiBhIHNlbnRlbmNlLiAoU2VydmF0aXVzIEJyYW5kdCkKIC0gICBCZSBhYmxlIHRvIHJlZGVmaW5lIHdoZXJlIGEgcGFyYWdyYXBoIHN0YXJ0cy4gIEZvciAiW1siIHdoZXJlIHRoZSAneycgaXMKQEAgLTMyNDEsNyArMzI0MSw2IEBACiA4ICAgZmluZG1hdGNobGltaXQoKSBzaG91bGQgYmUgYWJsZSB0byBza2lwIGNvbW1lbnRzLiAgU29sdmVzIHByb2JsZW0gb2YKICAgICBtYXRjaGluZyB0aGUgJ3snIGluIC8qIGlmIChmb28pIHsgKi8gKEZpdmVhc2gpCiAtICAgQWRkIG1vcmUgcmVkaXJlY3Rpbmcgb2YgRXggY29tbWFuZHM6Ci0JOnJlZGlyIEByPiByZWdpc3RlciAgKGFwcGVuZCkKIAk6cmVkaXIgIz4gIGJ1Zm5hbWUKIAk6cmVkaXIgIz4+IGJ1Zm5hbWUgICAoYXBwZW5kKQogLSAgIEdpdmUgZXJyb3IgbWVzc2FnZSB3aGVuIHN0YXJ0aW5nIDpyZWRpcjogdHdpY2Ugb3IgdXNpbmcgRU5EIHdoZW4gbm8KQEAgLTM0MDIsOCArMzQwMSw2IEBACiAtICAgSW1wbGVtZW50ICdyZWRyYXcnIG9wdGlvbi4KIC0gICBBZGQgc3BlY2lhbCBjb2RlIHRvICdzZWN0aW9ucycgb3B0aW9uIHRvIGRlZmluZSBzb21ldGhpbmcgZWxzZSBidXQgJ3snIG9yCiAgICAgJ30nIGFzIHRoZSBzdGFydCBvZiBhIHNlY3Rpb24gKGUuZy4gb25lIHNoaWZ0d2lkdGggdG8gdGhlIHJpZ2h0KS4KLS0gICBVc2UgcGlwZXMgZm9yIGZpbHRlcmluZyBvbiBVbml4LiAgUmVxdWlyZXMgdXNpbmcgZm9yaygpIHRvIGJlIGFibGUgdG8gcmVhZAotICAgIGFuZCB3cml0ZSBhdCB0aGUgc2FtZSB0aW1lLCBvciBzb21lIHNlbGVjdCgpIG1lY2hhbmlzbS4KIDcgICBBbGxvdyB1c2luZyBWaW0gaW4gYSBwaXBlOiAibHMgfCB2aW0gLXUgeHh4LnZpbSAtIHwgeXl5Ii4gIE9ubHkgbmVlZHMKICAgICBpbXBsZW1lbnRpbmcgIjp3IiB0byBzdGRvdXQgaW4gdGhlIGJ1ZmZlciB0aGF0IHdhcyByZWFkIGZyb20gc3RkaW4uCiA4ICAgQWxsb3cgb3BlbmluZyBhbiB1bm5hbWVkIGJ1ZmZlciB3aXRoICI6ZSAhY21kIiBhbmQgIjpzcCAhY21kIi4gIFZpbGUgY2FuCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy92YXJpb3VzLnR4dCBiL3J1bnRpbWUvZG9jL3ZhcmlvdXMudHh0CmluZGV4IGI5NDA4MDIuLjMxYWE4YWYgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3ZhcmlvdXMudHh0CisrKyBiL3J1bnRpbWUvZG9jL3ZhcmlvdXMudHh0CkBAIC0xLDQgKzEsNCBAQAotKnZhcmlvdXMudHh0KiAgIEZvciBWaW0gdmVyc2lvbiA3LjBhYS4gIExhc3QgY2hhbmdlOiAyMDA1IEZlYiAxMQorKnZhcmlvdXMudHh0KiAgIEZvciBWaW0gdmVyc2lvbiA3LjBhYS4gIExhc3QgY2hhbmdlOiAyMDA1IEZlYiAyMQogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBCcmFtIE1vb2xlbmFhcgpAQCAtNjYsMzMgKzY2LDM5IEBACiAJCQl7bm90IGluIFZpfQogCiAJCQkJCQkJKjpwKiAqOnByKiAqOnByaW50KgotOltyYW5nZV1wW3JpbnRdCQlQcmludCBbcmFuZ2VdIGxpbmVzIChkZWZhdWx0IGN1cnJlbnQgbGluZSkuCis6W3JhbmdlXXBbcmludF0gW2ZsYWdzXQorCQkJUHJpbnQgW3JhbmdlXSBsaW5lcyAoZGVmYXVsdCBjdXJyZW50IGxpbmUpLgogCQkJTm90ZTogSWYgeW91IGFyZSBsb29raW5nIGZvciBhIHdheSB0byBwcmludCB5b3VyIHRleHQKLQkJCWZpbGUsIHlvdSBuZWVkIGFuIGV4dGVybmFsIHByb2dyYW0gZm9yIHRoYXQuICBJbiB0aGUKLQkJCUdVSSB5b3UgY2FuIHVzZSB0aGUgRmlsZS5QcmludCBtZW51IGVudHJ5LgotCQkJKEZvciBwcmludGluZyBvbiBwYXBlciBzZWUgfDpoYXJkY29weXwpCisJCQlvbiBwYXBlciBzZWUgfDpoYXJkY29weXwuICBJbiB0aGUgR1VJIHlvdSBjYW4gdXNlIHRoZQorCQkJRmlsZS5QcmludCBtZW51IGVudHJ5LgorCQkJU2VlIHxleC1mbGFnc3wgZm9yIFtmbGFnc10uCiAKLTpbcmFuZ2VdcFtyaW50XSB7Y291bnR9Cis6W3JhbmdlXXBbcmludF0ge2NvdW50fSBbZmxhZ3NdCiAJCQlQcmludCB7Y291bnR9IGxpbmVzLCBzdGFydGluZyB3aXRoIFtyYW5nZV0gKGRlZmF1bHQKIAkJCWN1cnJlbnQgbGluZSB8Y21kbGluZS1yYW5nZXN8KS4KKwkJCVNlZSB8ZXgtZmxhZ3N8IGZvciBbZmxhZ3NdLgogCiAJCQkJCQkJKjpQKiAqOlByaW50KgotOltyYW5nZV1QW3JpbnRdIFtjb3VudF0KKzpbcmFuZ2VdUFtyaW50XSBbY291bnRdIFtmbGFnc10KIAkJCUp1c3QgYXMgIjpwcmludCIuICBXYXMgYXBwYXJlbnRseSBhZGRlZCB0byBWaSBmb3IKIAkJCXBlb3BsZSB0aGF0IGtlZXAgdGhlIHNoaWZ0IGtleSBwcmVzc2VkIHRvbyBsb25nLi4uCisJCQlTZWUgfGV4LWZsYWdzfCBmb3IgW2ZsYWdzXS4KIAogCQkJCQkJCSo6bCogKjpsaXN0KgotOltyYW5nZV1sW2lzdF0gW2NvdW50XQorOltyYW5nZV1sW2lzdF0gW2NvdW50XSBbZmxhZ3NdCiAJCQlTYW1lIGFzIDpwcmludCwgYnV0IGRpc3BsYXkgdW5wcmludGFibGUgY2hhcmFjdGVycwotCQkJd2l0aCAnXicuCisJCQl3aXRoICdeJyBhbmQgcHV0ICQgYWZ0ZXIgdGhlIGxpbmUuCisJCQlTZWUgfGV4LWZsYWdzfCBmb3IgW2ZsYWdzXS4KIAogCQkJCQkJCSo6bnUqICo6bnVtYmVyKgotOltyYW5nZV1udVttYmVyXSBbY291bnRdCis6W3JhbmdlXW51W21iZXJdIFtjb3VudF0gW2ZsYWdzXQogCQkJU2FtZSBhcyA6cHJpbnQsIGJ1dCBwcmVjZWRlIGVhY2ggbGluZSB3aXRoIGl0cyBsaW5lCiAJCQludW1iZXIuICAoU2VlIGFsc28gJ2hpZ2hsaWdodCcgb3B0aW9uKS4KKwkJCVNlZSB8ZXgtZmxhZ3N8IGZvciBbZmxhZ3NdLgogCiAJCQkJCQkJKjojKgotOltyYW5nZV0jIFtjb3VudF0Jc3lub255bSBmb3IgOm51bWJlci4KKzpbcmFuZ2VdIyBbY291bnRdIFtmbGFnc10KKwkJCXN5bm9ueW0gZm9yIDpudW1iZXIuCiAKIAkJCQkJCQkqOnoqICpFMTQ0KgogOntyYW5nZX16WystXi49XXtjb3VudH0JRGlzcGxheSBzZXZlcmFsIGxpbmVzIG9mIHRleHQgc3Vycm91bmRpbmcgdGhlIGxpbmUKQEAgLTEyMywxMSArMTI5LDEzIEBACiAJCQl7bm90IGluIGFsbCB2ZXJzaW9ucyBvZiBWaSwgbm90IHdpdGggdGhlc2UgYXJndW1lbnRzfQogCiAJCQkJCQkJKjo9KgotOj0JCQlQcmludCB0aGUgbGFzdCBsaW5lIG51bWJlci4KKzo9IFtmbGFnc10JCVByaW50IHRoZSBsYXN0IGxpbmUgbnVtYmVyLgorCQkJU2VlIHxleC1mbGFnc3wgZm9yIFtmbGFnc10uCiAKLTp7cmFuZ2V9PQkJUHJpbnRzIHRoZSBsYXN0IGxpbmUgbnVtYmVyIGluIHtyYW5nZX0uICBGb3IgZXhhbXBsZSwKKzp7cmFuZ2V9PSBbZmxhZ3NdCVByaW50cyB0aGUgbGFzdCBsaW5lIG51bWJlciBpbiB7cmFuZ2V9LiAgRm9yIGV4YW1wbGUsCiAJCQl0aGlzIHByaW50cyB0aGUgY3VycmVudCBsaW5lIG51bWJlcjogPgogCQkJCTouPQorPAkJCVNlZSB8ZXgtZmxhZ3N8IGZvciBbZmxhZ3NdLgogCiA6bm9ybVthbF1bIV0ge2NvbW1hbmRzfQkJCQkJKjpub3JtKiAqOm5vcm1hbCoKIAkJCUV4ZWN1dGUgTm9ybWFsIG1vZGUgY29tbWFuZHMge2NvbW1hbmRzfS4gIFRoaXMgbWFrZXMKQEAgLTM5Nyw2ICs0MDUsMTcgQEAKIDpyZWRpW3JdIEAiCQlSZWRpcmVjdCBtZXNzYWdlcyB0byB0aGUgdW5uYW1lZCByZWdpc3Rlci4ge25vdCBpbiBWaX0KIDpyZWRpW3JdIEAiPgkJQXBwZW5kIG1lc3NhZ2VzIHRvIHRoZSB1bm5hbWVkIHJlZ2lzdGVyLiB7bm90IGluIFZpfQogCis6cmVkaVtyXSA9PiB7dmFyfQlSZWRpcmVjdCBtZXNzYWdlcyB0byBhIHZhcmlhYmxlLiAgSWYgdGhlIHZhcmlhYmxlCisJCQlkb2Vzbid0IGV4aXN0LCB0aGVuIGl0IGlzIGNyZWF0ZWQuICBJZiB0aGUgdmFyaWFibGUKKwkJCWV4aXN0cywgdGhlbiBpdCBpcyBpbml0aWFsaXplZCB0byBhbiBlbXB0eSBzdHJpbmcuCisJCQlPbmx5IHN0cmluZyB2YXJpYWJsZXMgY2FuIGJlIHVzZWQuICBBZnRlciB0aGUKKwkJCXJlZGlyZWN0aW9uIHN0YXJ0cywgaWYgdGhlIHZhcmlhYmxlIGlzIHJlbW92ZWQgb3IKKwkJCWxvY2tlZCBvciB0aGUgdmFyaWFibGUgdHlwZSBpcyBjaGFuZ2VkLCB0aGVuIGZ1cnRoZXIKKwkJCWNvbW1hbmQgb3V0cHV0IG1lc3NhZ2VzIHdpbGwgY2F1c2UgZXJyb3JzLiB7bm90IGluIFZpfQorCis6cmVkaVtyXSA9Pj4ge3Zhcn0JQXBwZW5kIG1lc3NhZ2VzIHRvIGFuIGV4aXN0aW5nIHZhcmlhYmxlLiAgT25seSBzdHJpbmcKKwkJCXZhcmlhYmxlcyBjYW4gYmUgdXNlZC4ge25vdCBpbiBWaX0KKwogOnJlZGlbcl0gRU5ECQlFbmQgcmVkaXJlY3RpbmcgbWVzc2FnZXMuICB7bm90IGluIFZpfQogCiAJCQkJCQkqOnNpbCogKjpzaWxlbnQqCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy92ZXJzaW9uNy50eHQgYi9ydW50aW1lL2RvYy92ZXJzaW9uNy50eHQKaW5kZXggMjAzMjA0ZS4uMzgxMzM2NCAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvdmVyc2lvbjcudHh0CisrKyBiL3J1bnRpbWUvZG9jL3ZlcnNpb243LnR4dApAQCAtMSw0ICsxLDQgQEAKLSp2ZXJzaW9uNy50eHQqICBGb3IgVmltIHZlcnNpb24gNy4wYWEuICBMYXN0IGNoYW5nZTogMjAwNSBGZWIgMTEKKyp2ZXJzaW9uNy50eHQqICBGb3IgVmltIHZlcnNpb24gNy4wYWEuICBMYXN0IGNoYW5nZTogMjAwNSBGZWIgMjEKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwgICAgYnkgQnJhbSBNb29sZW5hYXIKQEAgLTE4NCw3ICsxODQsMjggQEAKIC0gQWxsb3cgIi1je2NvbW1hbmR9IiBhcmd1bWVudCwgbm8gc3BhY2UgYmV0d2VlbiAiLWMiIGFuZCB7Y29tbWFuZH0uCiAtIFdoZW4gd3JpdGluZyBhIGZpbGUgd2l0aCAiOnchIiBkb24ndCByZXNldCAncmVhZG9ubHknIHdoZW4gJ1onIGlzIHByZXNlbnQgaW4KICAgJ2Nwb3B0aW9ucycuCi0KKy0gQWxsb3cgJ2wnIGFuZCAnIycgZmxhZ3MgZm9yICI6bGlzdCIsICI6cHJpbnQiIGFuZCAiOm51bWJlciIuCistIEFkZGVkIHRoZSAnLicgZmxhZyB0byAnY3BvcHRpb25zJzogIjpjZCIgZmFpbHMgd2hlbiB0aGUgYnVmZmVyIGlzIG1vZGlmaWVkLgorLSBJbiBFeCBtb2RlIHdpdGggYW4gZW1wdHkgYnVmZmVyICI6cmVhZCBmaWxlIiBkb2Vzbid0IGtlZXAgYW4gZW1wdHkgbGluZQorICBhYm92ZSBvciBiZWxvdyB0aGUgbmV3IGxpbmVzLgorLSBSZW1vdmUgYSBiYWNrc2xhc2ggYmVmb3JlIGEgTkwgZm9yIHRoZSAiOmdsb2JhbCIgY29tbWFuZC4KKy0gV2hlbiAiOmFwcGVuZCIsICI6aW5zZXJ0IiBvciAiOmNoYW5nZSIgaXMgdXNlZCB3aXRoICI6Z2xvYmFsIiwgZ2V0IHRoZQorICBpbnNlcnRlZCBsaW5lcyBmcm9tIHRoZSBjb21tYW5kLiAgQ2FuIHVzZSBiYWNrc2xhc2gtTkwgdG8gc2VwYXJhdGUgbGluZXMuCistIENhbiB1c2UgIjpnbG9iYWwgL3BhdC8gdmlzdWFsIiB0byBleGVjdXRlIE5vcm1hbCBtb2RlIGNvbW1hbmRzIGF0IGVhY2gKKyAgbWF0Y2hlZCBsaW5lLiAgVXNlICJRIiB0byBjb250aW51ZSBhbmQgZ28gdG8gdGhlIG5leHQgbGluZS4KKy0gVGhlIHw6b3BlbnwgY29tbWFuZCBoYXMgYmVlbiBwYXJ0aWFsbHkgaW1wbGVtZW50ZWQuICBJdCBzdG9wcyBFeCBtb2RlLCBidXQKKyAgcmVkcmF3cyB0aGUgd2hvbGUgc2NyZWVuLCBub3QganVzdCBvbmUgbGluZSBhcyBvcGVuIG1vZGUgaXMgc3VwcG9zZWQgdG8gZG8uCistIFN1cHBvcnQgdXNpbmcgYSBwaXBlIHRvIHJlYWQgdGhlIG91dHB1dCBmcm9tIGFuZCB3cml0ZSBpbnB1dCB0byBhbiBleHRlcm5hbAorICBjb21tYW5kLiAgQWRkZWQgdGhlICdzaGVsbHRlbXAnIG9wdGlvbiBhbmQgaGFzKCJmaWx0ZXJwaXBlIikuCistIEluIGV4IHNpbGVudCBtb2RlIHRoZSAiOnNldCIgY29tbWFuZCBvdXRwdXQgaXMgZGlzcGxheWVkLgorLSBUaGUgIjpAQCIgYW5kICI6KioiIGdpdmUgYW4gZXJyb3IgbWVzc2FnZSB3aGVuIG5vIHJlZ2lzdGVyIHdhcyB1c2VkIGJlZm9yZS4KKy0gVGhlIHNlYXJjaCBwYXR0ZXJuICJbXS1gXSIgbWF0Y2hlcyAnXScsICdeJywgJ18nIGFuZCAnYCcuCistIEF1dG9pbmRlbnQgZm9yICI6aW5zZXJ0IiBpcyB1c2luZyB0aGUgbGluZSBiZWxvdyB0aGUgaW5zZXJ0LgorLSBBdXRvaW5kZW50IGZvciAiOmNoYW5nZSIgaXMgdXNpbmcgdGhlIGZpcnN0IGNoYW5nZWQgbGluZS4KKy0gRWRpdGluZyBFeCBjb21tYW5kIGxpbmVzIGlzIG5vdCBkb25lIGluIGNvb2tlZCBtb2RlLCBiZWNhdXNlIENUUkwtRCBhbmQKKyAgQ1RSTC1UIGNhbm5vdCBiZSBoYW5kbGVkIHRoZW4uCistIEluIEV4IG1vZGUsICIxLDMiIHByaW50cyB0aHJlZSBsaW5lcy4KKy0gSW1wbGVtZW50ZWQgdGhlICdwcm9tcHQnIG9wdGlvbi4KIAogCiBWYXJpb3VzIG5ldyBpdGVtcwkJCQkJKm5ldy1pdGVtcy03KgpAQCAtMjczLDYgKzI5NCw3IEBACiB8bWF0Y2hsaXN0KCl8CQlsaXN0IHdpdGggbWF0Y2ggYW5kIHN1Ym1hdGNoZXMgb2YgYSBwYXR0ZXJuIGluIGEgc3RyaW5nCiB8bWF4KCl8CQkJbWF4aW11bSB2YWx1ZSBpbiBhIExpc3Qgb3IgRGljdGlvbmFyeQogfG1pbigpfAkJCW1pbmltdW0gdmFsdWUgaW4gYSBMaXN0IG9yIERpY3Rpb25hcnkKK3xta2RpcigpfAkJY3JlYXRlIGEgZGlyZWN0b3J5CiB8cmVhZGZpbGUoKXwJCXJlYWQgYSBmaWxlIGludG8gYSBsaXN0IG9mIGxpbmVzCiB8cmVtb3ZlKCl8CQlyZW1vdmUgb25lIG9yIG1vcmUgaXRlbXMgZnJvbSBhIExpc3Qgb3IgRGljdGlvbmFyeQogfHJlcGVhdCgpfCAJCVJlcGVhdCAiZXhwciIgImNvdW50IiB0aW1lcy4gIChDaHJpc3RvcGhlIFBvdWNldCkKQEAgLTMxMiw2ICszMzQsMTMgQEAKIHwvXCVVfCBcJVUxMjM0YWJjZAlzZWFyY2ggZm9yIGNoYXJhY3RlciB3aXRoIDggcG9zLiBoZXggbnVtYmVyCiB8L1xdfCAgW1xVMTIzNGFiY2RdCWlkZW0sIGluIGEgY29sbGV0aW9uCiAJCQkgICAgKFRoZSBhYm92ZSBwYXJ0bHkgYnkgQ2lhcmFuIE1jQ3JlZXNoKQorfC9bPXwgIFtbPWE9XV0JCWFuIGVxdWl2YWxlbmNlIGNsYXNzIChvbmx5IGZvciBsYXRpbjEgY2hhcmFjdGVycykKK3wvWy58ICBbWy5hLl1dCQlhIGNvbGxhdGlvbiBlbGVtZW50IChvbmx5IHdvcmtzIHdpdGggc2luZ2xlIGNoYXIpCisKK05lc3RpbmcgfC9tdWx0aXwgaXRlbXMgbm8gbG9uZ2VyIGlzIGFuIGVycm9yIHdoZW4gYW4gZW1wdHkgbWF0Y2ggaXMgcG9zc2libGUuCisKK0l0IGlzIG5vdyBwb3NzaWJsZSB0byB1c2UgXHswfSwgaXQgbWF0Y2hlcyB0aGUgcHJlY2VkaW5nIGF0b20gemVybyB0aW1lcy4gIE5vdAordXNlZnVsLCBqdXN0IGZvciBjb21wYXRpYmlsaXR5LgogCiAKIE5ldyBTeW50YXgvSW5kZW50L0ZUcGx1Z2luIGZpbGVzOiB+CkBAIC0zMzYsNiArMzY1LDggQEAKIAogVGhlIFVrcmFuaWFuIG1lc3NhZ2VzIGFyZSBub3cgYWxzbyBhdmFpbGFibGUgaW4gY3AxMjUxLgogCitJcmlzaCBtZXNzYWdlIHRyYW5zbGF0aW9ucy4gKEtldmluIFBhdHJpY2sgU2Nhbm5lbGwpCisKIAogT3RoZXJzOiB+CiAKQEAgLTM0Niw2ICszNzcsOCBAQAogCiBNYWM6IEdVSSBmb250IHNlbGVjdG9yLiAoUGV0ZXIgIlJhaW4gRG9nIiBDdWNrYSkKIAorTWFjOiBzdXBwb3J0IGZvciBtdWx0aS1ieXRlIGNoYXJhY3RlcnMuIChEYSBXb29uIEp1bmcpCisKIEdVSSBmb250IHNlbGVjdG9yIGZvciBNb3RpZi4gKE1hcmNpbiBEYWxlY2tpKQogCiBOaWNlciB0b29sYmFyIGJ1dHRvbnMgZm9yIE1vdGlmLiAoTWFyY2luIERhbGVja2kpCkBAIC00NjIsNyArNDk1LDEwIEBACiBSZW1vdmVkIHRoZSB0Y2x0YWdzIHNjcmlwdCwgaXQncyBvYnNvbGV0ZS4KIAogIjpyZWRpciBAKj4iIGFuZCAiOnJlZGlyIEArPiIgYXBwZW5kIHRvIHRoZSBjbGlwYm9hcmQuICBCZXR0ZXIgY2hlY2sgZm9yCi1pbnZhbGlkIGNoYXJhY3RlcnMgYWZ0ZXIgdGhlIHJlZ2lzdGVyIG5hbWUuCitpbnZhbGlkIGNoYXJhY3RlcnMgYWZ0ZXIgdGhlIHJlZ2lzdGVyIG5hbWUuIHw6cmVkaXJ8CisKKyI6cmVkaXIgPT4gdmFyaWFibGUiIGFuZCAiOnJlZGlyID0+PiB2YXJpYWJsZSIgd3JpdGUgb3IgYXBwZW5kIHRvIGEgdmFyaWFibGUuCisoWWVnYXBwYW4gTGFrc2htYW5hbikgfDpyZWRpcnwKIAogIjpsZXQgZzoiIGxpc3RzIGdsb2JhbCB2YXJpYWJsZXMuCiAiOmxldCBiOiIgbGlzdHMgYnVmZmVyLWxvY2FsIHZhcmlhYmxlcy4KQEAgLTQ3NSw2ICs1MTEsMTUgQEAKIGcgQ1RSTC1HIGFsc28gc2hvd3MgdGhlIG51bWJlciBvZiBjaGFyYWN0ZXJzIGlmIGl0IGRpZmZlcnMgZnJvbSB0aGUgbnVtYmVyIG9mCiBieXRlcy4KIAorQ29tcGxldGlvbiBmb3IgIjpkZWJ1ZyIgYW5kIGVudGVyaW5nIGFuIGV4cHJlc3Npb24gZm9yIHRoZSAnPScgcmVnaXN0ZXIuICBTa2lwCisiOiIgYmV0d2VlbiByYW5nZSBhbmQgY29tbWFuZCBuYW1lLiAoUGV0ZXIgd2ludGVycykKKworQ1RSTC1RIGluIEluc2VydCBtb2RlIG5vdyB3b3JrcyBsaWtlIENUUkwtViBieSBkZWZhdWx0LiAgUHJldmlvdXNseSBpdCB3YXMKK2lnbm9yZWQuCisKK1doZW4gImJlZXAiIGlzIGluY2x1ZGVkIGluICdkZWJ1ZycgYSBmdW5jdGlvbiBvciBzY3JpcHQgdGhhdCBjYXVzZXMgYSBiZWVwCit3aWxsIHJlc3VsdCBpbiBhIG1lc3NhZ2Ugd2l0aCB0aGUgc291cmNlIG9mIHRoZSBlcnJvci4KKwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiBDT01QSUxFIFRJTUUgQ0hBTkdFUwkJCQkJKmNvbXBpbGUtY2hhbmdlcy03KgogCkBAIC00ODksNiArNTM0LDkgQEAKIHN0aWxsIGJlaW5nIGFibGUgdG8gdXNlIHRoZSBNYWNSb21hbiBjb252ZXJzaW9uLiAgQWRkZWQgdGhlIG9zX21hY19jb252LmMKIGZpbGUuCiAKK1doZW4gcnVubmluZyB0aGUgdGVzdHMgYW5kIG9uZSBvZiB0aGVtIGZhaWxzIHRvIHByb2R1Y2UgInRlc3Qub3V0IiB0aGUKK2ZvbGxvd2luZyB0ZXN0cyBhcmUgc3RpbGwgZXhlY3V0ZWQuICBUaGlzIGhlbHBzIHdoZW4gcnVubmluZyBvdXQgb2YgbWVtb3J5LgorCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIEJVRyBGSVhFUwkJCQkJCSpidWctZml4ZXMtNyoKIApAQCAtODEzLDQgKzg2MSwxMSBAQAogcmVxdWVzdCB0aGUgeHRlcm0gdmVyc2lvbi4gIFZpbSBjYW4ndCByZWFkIGl0LCB0aHVzIHRoZSBvdXRwdXQgd2VudCB0byB0aGUKIHNoZWxsIGFuZCBjYXVzZWQgdHJvdWJsZSB0aGVyZS4KIAorV2hlbiByZWRpcmVjdGluZyB0byBhIHJlZ2lzdGVyIHdpdGggYW4gaW52YWxpZCBuYW1lIHRoZSByZWRpcmVjdGlvbiB3b3VsZAorc3RpbGwgYmUgZG9uZSAoYWZ0ZXIgYW4gZXJyb3IgbWVzc2FnZSkuICBOb3cgcmVzZXQgInJlZGlyX3JlZyIuIChZZWdhcHBhbgorTGFrc2htYW5hbikKKworSXQgd2FzIG5vdCBwb3NzaWJsZSB0byB1c2UgYSBOTCBhZnRlciBhIGJhY2tzbGFzaCBpbiBFeCBtb2RlLiAgVGhpcyBpcworc29tZXRpbWVzIHVzZWQgdG8gZmVlZCBtdWx0aXBsZSBsaW5lcyB0byBhIHNoZWxsIGNvbW1hbmQuCisKICB2aW06dHc9Nzg6dHM9ODpmdD1oZWxwOm5vcmw6CmRpZmYgLS1naXQgYS9zcmMvZXZhbC5jIGIvc3JjL2V2YWwuYwppbmRleCBjNmVjMGRhLi4xYWE0ZGMzIDEwMDY0NAotLS0gYS9zcmMvZXZhbC5jCisrKyBiL3NyYy9ldmFsLmMKQEAgLTE0OCwxNyArMTQ4LDE3IEBACiAKIHN0cnVjdCB1ZnVuYwogewotICAgIHVmdW5jX1QJKm5leHQ7CQkvKiBuZXh0IGZ1bmN0aW9uIGluIGxpc3QgKi8KLSAgICBjaGFyX3UJKm5hbWU7CQkvKiBuYW1lIG9mIGZ1bmN0aW9uOyBjYW4gc3RhcnQgd2l0aCA8U05SPjEyM18KLQkJCQkgICAoPFNOUj4gaXMgS19TUEVDSUFMIEtTX0VYVFJBIEtFX1NOUikgKi8KLSAgICBpbnQJCXZhcmFyZ3M7CS8qIHZhcmlhYmxlIG5yIG9mIGFyZ3VtZW50cyAqLwotICAgIGludAkJZmxhZ3M7Ci0gICAgaW50CQljYWxsczsJCS8qIG5yIG9mIGFjdGl2ZSBjYWxscyAqLwotICAgIGdhcnJheV9UCWFyZ3M7CQkvKiBhcmd1bWVudHMgKi8KLSAgICBnYXJyYXlfVAlsaW5lczsJCS8qIGZ1bmN0aW9uIGxpbmVzICovCi0gICAgc2NpZF9UCXNjcmlwdF9JRDsJLyogSUQgb2Ygc2NyaXB0IHdoZXJlIGZ1bmN0aW9uIHdhcyBkZWZpbmVkLAorICAgIGludAkJdWZfdmFyYXJnczsJLyogdmFyaWFibGUgbnIgb2YgYXJndW1lbnRzICovCisgICAgaW50CQl1Zl9mbGFnczsKKyAgICBpbnQJCXVmX2NhbGxzOwkvKiBuciBvZiBhY3RpdmUgY2FsbHMgKi8KKyAgICBnYXJyYXlfVAl1Zl9hcmdzOwkvKiBhcmd1bWVudHMgKi8KKyAgICBnYXJyYXlfVAl1Zl9saW5lczsJLyogZnVuY3Rpb24gbGluZXMgKi8KKyAgICBzY2lkX1QJdWZfc2NyaXB0X0lEOwkvKiBJRCBvZiBzY3JpcHQgd2hlcmUgZnVuY3Rpb24gd2FzIGRlZmluZWQsCiAJCQkJICAgdXNlZCBmb3IgczogdmFyaWFibGVzICovCi0gICAgaW50CQlyZWZjb3VudDsJLyogZm9yIG51bWJlcmVkIGZ1bmN0aW9uOiByZWZlcmVuY2UgY291bnQgKi8KKyAgICBpbnQJCXVmX3JlZmNvdW50OwkvKiBmb3IgbnVtYmVyZWQgZnVuY3Rpb246IHJlZmVyZW5jZSBjb3VudCAqLworICAgIGNoYXJfdQl1Zl9uYW1lWzFdOwkvKiBuYW1lIG9mIGZ1bmN0aW9uIChhY3R1YWxseSBsb25nZXIpOyBjYW4KKwkJCQkgICBzdGFydCB3aXRoIDxTTlI+MTIzXyAoPFNOUj4gaXMgS19TUEVDSUFMCisJCQkJICAgS1NfRVhUUkEgS0VfU05SKSAqLwogfTsKIAogLyogZnVuY3Rpb24gZmxhZ3MgKi8KQEAgLTE2NywxMyArMTY3LDE4IEBACiAjZGVmaW5lIEZDX0RJQ1QJICAgIDQJCS8qIERpY3QgZnVuY3Rpb24sIHVzZXMgInNlbGYiICovCiAKIC8qCi0gKiBBbGwgdXNlci1kZWZpbmVkIGZ1bmN0aW9ucyBhcmUgZm91bmQgaW4gdGhlIGZvcndhcmQtbGlua2VkIGZ1bmN0aW9uIGxpc3QuCi0gKiBUaGUgZmlyc3QgZnVuY3Rpb24gaXMgcG9pbnRlZCBhdCBieSBmaXJzdGZ1bmMuCisgKiBBbGwgdXNlci1kZWZpbmVkIGZ1bmN0aW9ucyBhcmUgZm91bmQgaW4gdGhpcyBoYXNoIHRhYmxlLgogICovCi11ZnVuY19UCQkqZmlyc3RmdW5jID0gTlVMTDsKK2hhc2h0YWJfVAlmdW5jX2hhc2h0YWI7CiAKLSNkZWZpbmUgRlVOQ0FSRyhmcCwgaikJKChjaGFyX3UgKiopKGZwLT5hcmdzLmdhX2RhdGEpKVtqXQotI2RlZmluZSBGVU5DTElORShmcCwgaikJKChjaGFyX3UgKiopKGZwLT5saW5lcy5nYV9kYXRhKSlbal0KKy8qIEZyb20gdXNlciBmdW5jdGlvbiB0byBoYXNoaXRlbSBhbmQgYmFjay4gKi8KK3N0YXRpYyB1ZnVuY19UIGR1bXVmOworI2RlZmluZSBVRjJISUtFWShmcCkgKChmcCktPnVmX25hbWUpCisjZGVmaW5lIEhJS0VZMlVGKHApICAoKHVmdW5jX1QgKikocCAtIChkdW11Zi51Zl9uYW1lIC0gKGNoYXJfdSAqKSZkdW11ZikpKQorI2RlZmluZSBISTJVRihoaSkgICAgIEhJS0VZMlVGKChoaSktPmhpX2tleSkKKworI2RlZmluZSBGVU5DQVJHKGZwLCBqKQkoKGNoYXJfdSAqKikoZnAtPnVmX2FyZ3MuZ2FfZGF0YSkpW2pdCisjZGVmaW5lIEZVTkNMSU5FKGZwLCBqKQkoKGNoYXJfdSAqKikoZnAtPnVmX2xpbmVzLmdhX2RhdGEpKVtqXQogCiAjZGVmaW5lIE1BWF9GVU5DX0FSR1MJMjAJLyogbWF4aW11bSBudW1iZXIgb2YgZnVuY3Rpb24gYXJndW1lbnRzICovCiAjZGVmaW5lIFZBUl9TSE9SVF9MRU4JMjAJLyogc2hvcnQgdmFyaWFibGUgbmFtZSBsZW5ndGggKi8KQEAgLTQ3NSw2ICs0ODAsOSBAQAogc3RhdGljIHZvaWQgZl9tYXRjaHN0ciBfX0FSR1MoKHR5cHZhbF9UICphcmd2YXJzLCB0eXB2YWxfVCAqcmV0dHYpKTsKIHN0YXRpYyB2b2lkIGZfbWF4IF9fQVJHUygodHlwdmFsX1QgKmFyZ3ZhcnMsIHR5cHZhbF9UICpyZXR0dikpOwogc3RhdGljIHZvaWQgZl9taW4gX19BUkdTKCh0eXB2YWxfVCAqYXJndmFycywgdHlwdmFsX1QgKnJldHR2KSk7CisjaWZkZWYgdmltX21rZGlyCitzdGF0aWMgdm9pZCBmX21rZGlyIF9fQVJHUygodHlwdmFsX1QgKmFyZ3ZhcnMsIHR5cHZhbF9UICpyZXR0dikpOworI2VuZGlmCiBzdGF0aWMgdm9pZCBmX21vZGUgX19BUkdTKCh0eXB2YWxfVCAqYXJndmFycywgdHlwdmFsX1QgKnJldHR2KSk7CiBzdGF0aWMgdm9pZCBmX25leHRub25ibGFuayBfX0FSR1MoKHR5cHZhbF9UICphcmd2YXJzLCB0eXB2YWxfVCAqcmV0dHYpKTsKIHN0YXRpYyB2b2lkIGZfbnIyY2hhciBfX0FSR1MoKHR5cHZhbF9UICphcmd2YXJzLCB0eXB2YWxfVCAqcmV0dHYpKTsKQEAgLTU1NCw3ICs1NjIsNyBAQAogc3RhdGljIGNoYXJfdSAqZ2V0X3R2X3N0cmluZyBfX0FSR1MoKHR5cHZhbF9UICp2YXJwKSk7CiBzdGF0aWMgY2hhcl91ICpnZXRfdHZfc3RyaW5nX2J1ZiBfX0FSR1MoKHR5cHZhbF9UICp2YXJwLCBjaGFyX3UgKmJ1ZikpOwogc3RhdGljIGRpY3RpdGVtX1QgKmZpbmRfdmFyIF9fQVJHUygoY2hhcl91ICpuYW1lLCBoYXNodGFiX1QgKipodHApKTsKLXN0YXRpYyBkaWN0aXRlbV9UICpmaW5kX3Zhcl9pbl9odCBfX0FSR1MoKGhhc2h0YWJfVCAqaHQsIGNoYXJfdSAqdmFybmFtZSkpOworc3RhdGljIGRpY3RpdGVtX1QgKmZpbmRfdmFyX2luX2h0IF9fQVJHUygoaGFzaHRhYl9UICpodCwgY2hhcl91ICp2YXJuYW1lLCBpbnQgd3JpdGluZykpOwogc3RhdGljIGhhc2h0YWJfVCAqZmluZF92YXJfaHQgX19BUkdTKChjaGFyX3UgKm5hbWUsIGNoYXJfdSAqKnZhcm5hbWUpKTsKIHN0YXRpYyB2b2lkIHZhcnNfY2xlYXJfZXh0IF9fQVJHUygoaGFzaHRhYl9UICpodCwgaW50IGZyZWVfdmFsKSk7CiBzdGF0aWMgdm9pZCBkZWxldGVfdmFyIF9fQVJHUygoaGFzaHRhYl9UICpodCwgaGFzaGl0ZW1fVCAqaGkpKTsKQEAgLTU3NCw3ICs1ODIsOCBAQAogc3RhdGljIHVmdW5jX1QgKmZpbmRfZnVuYyBfX0FSR1MoKGNoYXJfdSAqbmFtZSkpOwogc3RhdGljIGludCBmdW5jdGlvbl9leGlzdHMgX19BUkdTKChjaGFyX3UgKm5hbWUpKTsKIHN0YXRpYyBpbnQgYnVpbHRpbl9mdW5jdGlvbiBfX0FSR1MoKGNoYXJfdSAqbmFtZSkpOwotc3RhdGljIGludCBmdW5jX2F1dG9sb2FkIF9fQVJHUygoY2hhcl91ICpuYW1lKSk7CitzdGF0aWMgaW50IHNjcmlwdF9hdXRvbG9hZCBfX0FSR1MoKGNoYXJfdSAqbmFtZSkpOworc3RhdGljIGNoYXJfdSAqYXV0b2xvYWRfbmFtZSBfX0FSR1MoKGNoYXJfdSAqbmFtZSkpOwogc3RhdGljIHZvaWQgZnVuY19mcmVlIF9fQVJHUygodWZ1bmNfVCAqZnApKTsKIHN0YXRpYyB2b2lkIGZ1bmNfdW5yZWYgX19BUkdTKChjaGFyX3UgKm5hbWUpKTsKIHN0YXRpYyB2b2lkIGZ1bmNfcmVmIF9fQVJHUygoY2hhcl91ICpuYW1lKSk7CkBAIC02MDUsNiArNjE0LDcgQEAKIHN0YXRpYyBpbnQgZG9fdW5sZXRfdmFyIF9fQVJHUygobHZhbF9UICpscCwgY2hhcl91ICpuYW1lX2VuZCwgaW50IGZvcmNlaXQpKTsKIHN0YXRpYyBpbnQgZG9fbG9ja192YXIgX19BUkdTKChsdmFsX1QgKmxwLCBjaGFyX3UgKm5hbWVfZW5kLCBpbnQgZGVlcCwgaW50IGxvY2spKTsKIHN0YXRpYyB2b2lkIGl0ZW1fbG9jayBfX0FSR1MoKHR5cHZhbF9UICp0diwgaW50IGRlZXAsIGludCBsb2NrKSk7CitzdGF0aWMgaW50IHR2X2lzbG9ja2VkIF9fQVJHUygodHlwdmFsX1QgKnR2KSk7CiAKIC8qCiAgKiBJbml0aWFsaXplIHRoZSBnbG9iYWwgYW5kIHY6IHZhcmlhYmxlcy4KQEAgLTYxOCw2ICs2MjgsNyBAQAogICAgIGluaXRfdmFyX2RpY3QoJmdsb2J2YXJkaWN0LCAmZ2xvYnZhcnNfdmFyKTsKICAgICBpbml0X3Zhcl9kaWN0KCZ2aW12YXJkaWN0LCAmdmltdmFyc192YXIpOwogICAgIGhhc2hfaW5pdCgmY29tcGF0X2hhc2h0YWIpOworICAgIGhhc2hfaW5pdCgmZnVuY19oYXNodGFiKTsKIAogICAgIGZvciAoaSA9IDA7IGkgPCBWVl9MRU47ICsraSkKICAgICB7CkBAIC02NDYsNyArNjU3LDcgQEAKIGZ1bmNfbmFtZShjb29raWUpCiAgICAgdm9pZCAqY29va2llOwogewotICAgIHJldHVybiAoKGZ1bmNjYWxsX1QgKiljb29raWUpLT5mdW5jLT5uYW1lOworICAgIHJldHVybiAoKGZ1bmNjYWxsX1QgKiljb29raWUpLT5mdW5jLT51Zl9uYW1lOwogfQogCiAvKgpAQCAtNzE2LDYgKzcyNywxMzYgQEAKICAgICB9CiB9CiAKK3N0YXRpYyBsdmFsX1QJKnJlZGlyX2x2YWwgPSBOVUxMOworc3RhdGljIGNoYXJfdQkqcmVkaXJfZW5kcCA9IE5VTEw7CitzdGF0aWMgY2hhcl91CSpyZWRpcl92YXJuYW1lID0gTlVMTDsKKworLyoKKyAqIFN0YXJ0IHJlY29yZGluZyBjb21tYW5kIG91dHB1dCB0byBhIHZhcmlhYmxlCisgKiBSZXR1cm5zIE9LIGlmIHN1Y2Nlc3NmdWxseSBjb21wbGV0ZWQgdGhlIHNldHVwLiAgRkFJTCBvdGhlcndpc2UuCisgKi8KKyAgICBpbnQKK3Zhcl9yZWRpcl9zdGFydChuYW1lLCBhcHBlbmQpCisgICAgY2hhcl91CSpuYW1lOworICAgIGludAkJYXBwZW5kOwkJLyogYXBwZW5kIHRvIGFuIGV4aXN0aW5nIHZhcmlhYmxlICovCit7CisgICAgaW50CQlzYXZlX2Vtc2c7CisgICAgaW50CQllcnI7CisgICAgdHlwdmFsX1QJdHY7CisKKyAgICAvKiBNYWtlIHN1cmUgYSB2YWxpZCB2YXJpYWJsZSBuYW1lIGlzIHNwZWNpZmllZCAqLworICAgIGlmICghZXZhbF9pc25hbWVjKCpuYW1lKSB8fCBWSU1fSVNESUdJVCgqbmFtZSkpCisgICAgeworCUVNU0coXyhlX2ludmFyZykpOworCXJldHVybiBGQUlMOworICAgIH0KKworICAgIHJlZGlyX3Zhcm5hbWUgPSB2aW1fc3Ryc2F2ZShuYW1lKTsKKyAgICBpZiAocmVkaXJfdmFybmFtZSA9PSBOVUxMKQorCXJldHVybiBGQUlMOworCisgICAgcmVkaXJfbHZhbCA9IChsdmFsX1QgKilhbGxvY19jbGVhcigodW5zaWduZWQpc2l6ZW9mKGx2YWxfVCkpOworICAgIGlmIChyZWRpcl9sdmFsID09IE5VTEwpCisgICAgeworCXZhcl9yZWRpcl9zdG9wKCk7CisJcmV0dXJuIEZBSUw7CisgICAgfQorCisgICAgLyogUGFyc2UgdGhlIHZhcmlhYmxlIG5hbWUgKGNhbiBiZSBhIGRpY3Qgb3IgbGlzdCBlbnRyeSkuICovCisgICAgcmVkaXJfZW5kcCA9IGdldF9sdmFsKHJlZGlyX3Zhcm5hbWUsIE5VTEwsIHJlZGlyX2x2YWwsIEZBTFNFLCBGQUxTRSwgRkFMU0UpOworICAgIGlmIChyZWRpcl9lbmRwID09IE5VTEwgfHwgcmVkaXJfbHZhbC0+bGxfbmFtZSA9PSBOVUxMIHx8ICpyZWRpcl9lbmRwICE9IE5VTCkKKyAgICB7CisJaWYgKHJlZGlyX2VuZHAgIT0gTlVMTCAmJiAqcmVkaXJfZW5kcCAhPSBOVUwpCisJICAgIC8qIFRyYWlsaW5nIGNoYXJhY3RlcnMgYXJlIHByZXNlbnQgYWZ0ZXIgdGhlIHZhcmlhYmxlIG5hbWUgKi8KKwkgICAgRU1TRyhfKGVfdHJhaWxpbmcpKTsKKwllbHNlCisJICAgIEVNU0coXyhlX2ludmFyZykpOworCXZhcl9yZWRpcl9zdG9wKCk7CisJcmV0dXJuIEZBSUw7CisgICAgfQorCisgICAgLyogY2hlY2sgaWYgd2UgY2FuIHdyaXRlIHRvIHRoZSB2YXJpYWJsZTogc2V0IGl0IHRvIG9yIGFwcGVuZCBhbiBlbXB0eQorICAgICAqIHN0cmluZyAqLworICAgIHNhdmVfZW1zZyA9IGRpZF9lbXNnOworICAgIGRpZF9lbXNnID0gRkFMU0U7CisgICAgdHYudl90eXBlID0gVkFSX1NUUklORzsKKyAgICB0di52dmFsLnZfc3RyaW5nID0gKGNoYXJfdSAqKSIiOworICAgIGlmIChhcHBlbmQpCisJc2V0X3Zhcl9sdmFsKHJlZGlyX2x2YWwsIHJlZGlyX2VuZHAsICZ0diwgVFJVRSwgKGNoYXJfdSAqKSIuIik7CisgICAgZWxzZQorCXNldF92YXJfbHZhbChyZWRpcl9sdmFsLCByZWRpcl9lbmRwLCAmdHYsIFRSVUUsIChjaGFyX3UgKikiPSIpOworICAgIGVyciA9IGRpZF9lbXNnOworICAgIGRpZF9lbXNnICs9IHNhdmVfZW1zZzsKKyAgICBpZiAoZXJyKQorICAgIHsKKwl2YXJfcmVkaXJfc3RvcCgpOworCXJldHVybiBGQUlMOworICAgIH0KKyAgICBpZiAocmVkaXJfbHZhbC0+bGxfbmV3a2V5ICE9IE5VTEwpCisgICAgeworCS8qIERpY3Rpb25hcnkgaXRlbSB3YXMgY3JlYXRlZCwgZG9uJ3QgZG8gaXQgYWdhaW4uICovCisJdmltX2ZyZWUocmVkaXJfbHZhbC0+bGxfbmV3a2V5KTsKKwlyZWRpcl9sdmFsLT5sbF9uZXdrZXkgPSBOVUxMOworICAgIH0KKworICAgIHJldHVybiBPSzsKK30KKworLyoKKyAqIEFwcGVuZCAidmFsdWVbbGVuXSIgdG8gdGhlIHZhcmlhYmxlIHNldCBieSB2YXJfcmVkaXJfc3RhcnQoKS4KKyAqLworICAgIHZvaWQKK3Zhcl9yZWRpcl9zdHIodmFsdWUsIGxlbikKKyAgICBjaGFyX3UJKnZhbHVlOworICAgIGludAkJbGVuOworeworICAgIGNoYXJfdQkqdmFsOworICAgIHR5cHZhbF9UCXR2OworICAgIGludAkJc2F2ZV9lbXNnOworICAgIGludAkJZXJyOworCisgICAgaWYgKHJlZGlyX2x2YWwgPT0gTlVMTCkKKwlyZXR1cm47CisKKyAgICBpZiAobGVuID09IC0xKQorCS8qIEFwcGVuZCB0aGUgZW50aXJlIHN0cmluZyAqLworCXZhbCA9IHZpbV9zdHJzYXZlKHZhbHVlKTsKKyAgICBlbHNlCisJLyogQXBwZW5kIG9ubHkgdGhlIHNwZWNpZmllZCBudW1iZXIgb2YgY2hhcmFjdGVycyAqLworCXZhbCA9IHZpbV9zdHJuc2F2ZSh2YWx1ZSwgbGVuKTsKKyAgICBpZiAodmFsID09IE5VTEwpCisJcmV0dXJuOworCisgICAgdHYudl90eXBlID0gVkFSX1NUUklORzsKKyAgICB0di52dmFsLnZfc3RyaW5nID0gdmFsOworCisgICAgc2F2ZV9lbXNnID0gZGlkX2Vtc2c7CisgICAgZGlkX2Vtc2cgPSBGQUxTRTsKKyAgICBzZXRfdmFyX2x2YWwocmVkaXJfbHZhbCwgcmVkaXJfZW5kcCwgJnR2LCBGQUxTRSwgKGNoYXJfdSAqKSIuIik7CisgICAgZXJyID0gZGlkX2Vtc2c7CisgICAgZGlkX2Vtc2cgKz0gc2F2ZV9lbXNnOworICAgIGlmIChlcnIpCisJdmFyX3JlZGlyX3N0b3AoKTsKKworICAgIHZpbV9mcmVlKHR2LnZ2YWwudl9zdHJpbmcpOworfQorCisvKgorICogU3RvcCByZWRpcmVjdGluZyBjb21tYW5kIG91dHB1dCB0byBhIHZhcmlhYmxlLgorICovCisgICAgdm9pZAordmFyX3JlZGlyX3N0b3AoKQoreworICAgIGlmIChyZWRpcl9sdmFsICE9IE5VTEwpCisgICAgeworCWNsZWFyX2x2YWwocmVkaXJfbHZhbCk7CisJdmltX2ZyZWUocmVkaXJfbHZhbCk7CisJcmVkaXJfbHZhbCA9IE5VTEw7CisgICAgfQorICAgIHZpbV9mcmVlKHJlZGlyX3Zhcm5hbWUpOworICAgIHJlZGlyX3Zhcm5hbWUgPSBOVUxMOworfQorCiAjIGlmIGRlZmluZWQoRkVBVF9NQllURSkgfHwgZGVmaW5lZChQUk9UTykKICAgICBpbnQKIGV2YWxfY2hhcmNvbnZlcnQoZW5jX2Zyb20sIGVuY190bywgZm5hbWVfZnJvbSwgZm5hbWVfdG8pCkBAIC01ODY2LDEyICs2MDA3LDE1IEBACiAgICAgeyJtYXRjaHN0ciIsCTIsIDQsIGZfbWF0Y2hzdHJ9LAogICAgIHsibWF4IiwJCTEsIDEsIGZfbWF4fSwKICAgICB7Im1pbiIsCQkxLCAxLCBmX21pbn0sCisjaWZkZWYgdmltX21rZGlyCisgICAgeyJta2RpciIsCQkxLCAzLCBmX21rZGlyfSwKKyNlbmRpZgogICAgIHsibW9kZSIsCQkwLCAwLCBmX21vZGV9LAogICAgIHsibmV4dG5vbmJsYW5rIiwJMSwgMSwgZl9uZXh0bm9uYmxhbmt9LAogICAgIHsibnIyY2hhciIsCQkxLCAxLCBmX25yMmNoYXJ9LAogICAgIHsicHJldm5vbmJsYW5rIiwJMSwgMSwgZl9wcmV2bm9uYmxhbmt9LAogICAgIHsicmFuZ2UiLAkJMSwgMywgZl9yYW5nZX0sCi0gICAgeyJyZWFkZmlsZSIsCTEsIDIsIGZfcmVhZGZpbGV9LAorICAgIHsicmVhZGZpbGUiLAkxLCAzLCBmX3JlYWRmaWxlfSwKICAgICB7InJlbW90ZV9leHByIiwJMiwgMywgZl9yZW1vdGVfZXhwcn0sCiAgICAgeyJyZW1vdGVfZm9yZWdyb3VuZCIsIDEsIDEsIGZfcmVtb3RlX2ZvcmVncm91bmR9LAogICAgIHsicmVtb3RlX3BlZWsiLAkxLCAyLCBmX3JlbW90ZV9wZWVrfSwKQEAgLTYyMTgsNyArNjM2Miw3IEBACiAJICAgIH0KICNlbmRpZgogCSAgICAvKiBUcnkgbG9hZGluZyBhIHBhY2thZ2UuICovCi0JICAgIGlmIChmcCA9PSBOVUxMICYmIGZ1bmNfYXV0b2xvYWQoZm5hbWUpICYmICFhYm9ydGluZygpKQorCSAgICBpZiAoZnAgPT0gTlVMTCAmJiBzY3JpcHRfYXV0b2xvYWQoZm5hbWUpICYmICFhYm9ydGluZygpKQogCSAgICB7CiAJCS8qIGxvYWRlZCBhIHBhY2thZ2UsIHNlYXJjaCBmb3IgdGhlIGZ1bmN0aW9uIGFnYWluICovCiAJCWZwID0gZmluZF9mdW5jKGZuYW1lKTsKQEAgLTYyMjYsMTMgKzYzNzAsMTMgQEAKIAogCSAgICBpZiAoZnAgIT0gTlVMTCkKIAkgICAgewotCQlpZiAoZnAtPmZsYWdzICYgRkNfUkFOR0UpCisJCWlmIChmcC0+dWZfZmxhZ3MgJiBGQ19SQU5HRSkKIAkJICAgICpkb2VzcmFuZ2UgPSBUUlVFOwotCQlpZiAoYXJnY291bnQgPCBmcC0+YXJncy5nYV9sZW4pCisJCWlmIChhcmdjb3VudCA8IGZwLT51Zl9hcmdzLmdhX2xlbikKIAkJICAgIGVycm9yID0gRVJST1JfVE9PRkVXOwotCQllbHNlIGlmICghZnAtPnZhcmFyZ3MgJiYgYXJnY291bnQgPiBmcC0+YXJncy5nYV9sZW4pCisJCWVsc2UgaWYgKCFmcC0+dWZfdmFyYXJncyAmJiBhcmdjb3VudCA+IGZwLT51Zl9hcmdzLmdhX2xlbikKIAkJICAgIGVycm9yID0gRVJST1JfVE9PTUFOWTsKLQkJZWxzZSBpZiAoKGZwLT5mbGFncyAmIEZDX0RJQ1QpICYmIHNlbGZkaWN0ID09IE5VTEwpCisJCWVsc2UgaWYgKChmcC0+dWZfZmxhZ3MgJiBGQ19ESUNUKSAmJiBzZWxmZGljdCA9PSBOVUxMKQogCQkgICAgZXJyb3IgPSBFUlJPUl9ESUNUOwogCQllbHNlCiAJCXsKQEAgLTYyNDMsMTIgKzYzODcsMTIgQEAKIAkJICAgICAqLwogCQkgICAgc2F2ZV9zZWFyY2hfcGF0dGVybnMoKTsKIAkJICAgIHNhdmVSZWRvYnVmZigpOwotCQkgICAgKytmcC0+Y2FsbHM7CisJCSAgICArK2ZwLT51Zl9jYWxsczsKIAkJICAgIGNhbGxfdXNlcl9mdW5jKGZwLCBhcmdjb3VudCwgYXJndmFycywgcmV0dHYsCiAJCQkJCSAgICAgICBmaXJzdGxpbmUsIGxhc3RsaW5lLAotCQkJCSAgICAgKGZwLT5mbGFncyAmIEZDX0RJQ1QpID8gc2VsZmRpY3QgOiBOVUxMKTsKLQkJICAgIGlmICgtLWZwLT5jYWxscyA8PSAwICYmIGlzZGlnaXQoKmZwLT5uYW1lKQotCQkJCQkJCSAmJiBmcC0+cmVmY291bnQgPD0gMCkKKwkJCQkgIChmcC0+dWZfZmxhZ3MgJiBGQ19ESUNUKSA/IHNlbGZkaWN0IDogTlVMTCk7CisJCSAgICBpZiAoLS1mcC0+dWZfY2FsbHMgPD0gMCAmJiBpc2RpZ2l0KCpmcC0+dWZfbmFtZSkKKwkJCQkJCSAgICAgICYmIGZwLT51Zl9yZWZjb3VudCA8PSAwKQogCQkJLyogRnVuY3Rpb24gd2FzIHVucmVmZXJlbmNlZCB3aGlsZSBiZWluZyB1c2VkLCBmcmVlIGl0CiAJCQkgKiBub3cuICovCiAJCQlmdW5jX2ZyZWUoZnApOwpAQCAtODE5OCw3ICs4MzQyLDcgQEAKIAllbHNlCiAJewogCSAgICAvKiBsb29rIHVwIHRoZSB2YXJpYWJsZSAqLwotCSAgICB2ID0gZmluZF92YXJfaW5faHQoJmJ1Zi0+Yl92YXJzLmR2X2hhc2h0YWIsIHZhcm5hbWUpOworCSAgICB2ID0gZmluZF92YXJfaW5faHQoJmJ1Zi0+Yl92YXJzLmR2X2hhc2h0YWIsIHZhcm5hbWUsIEZBTFNFKTsKIAkgICAgaWYgKHYgIT0gTlVMTCkKIAkJY29weV90digmdi0+ZGlfdHYsIHJldHR2KTsKIAl9CkBAIC04NzIzLDcgKzg4NjcsNyBAQAogCWVsc2UKIAl7CiAJICAgIC8qIGxvb2sgdXAgdGhlIHZhcmlhYmxlICovCi0JICAgIHYgPSBmaW5kX3Zhcl9pbl9odCgmd2luLT53X3ZhcnMuZHZfaGFzaHRhYiwgdmFybmFtZSk7CisJICAgIHYgPSBmaW5kX3Zhcl9pbl9odCgmd2luLT53X3ZhcnMuZHZfaGFzaHRhYiwgdmFybmFtZSwgRkFMU0UpOwogCSAgICBpZiAodiAhPSBOVUxMKQogCQljb3B5X3R2KCZ2LT5kaV90diwgcmV0dHYpOwogCX0KQEAgLTg5MDksNiArOTA1Myw5IEBACiAjaWZkZWYgRkVBVF9TRUFSQ0hQQVRICiAJImZpbGVfaW5fcGF0aCIsCiAjZW5kaWYKKyNpZiBkZWZpbmVkKFVOSVgpICYmICFkZWZpbmVkKFVTRV9TWVNURU0pCisJImZpbHRlcnBpcGUiLAorI2VuZGlmCiAjaWZkZWYgRkVBVF9GSU5EX0lECiAJImZpbmRfaW5fcGF0aCIsCiAjZW5kaWYKQEAgLTk3NzIsOCArOTkxOSw2IEBACiAgICAgcmV0dHYtPnZ2YWwudl9udW1iZXIgPSBtY2hfaXNkaXIoZ2V0X3R2X3N0cmluZygmYXJndmFyc1swXSkpOwogfQogCi1zdGF0aWMgaW50IHR2X2lzbG9ja2VkIF9fQVJHUygodHlwdmFsX1QgKnR2KSk7Ci0KIC8qCiAgKiBSZXR1cm4gVFJVRSBpZiB0eXBldmFsICJ0diIgaXMgbG9ja2VkOiBFaXRoZXIgdGhhIHZhbHVlIGlzIGxvY2tlZCBpdHNlbGYgb3IKICAqIGl0IHJlZmVycyB0byBhIExpc3Qgb3IgRGljdGlvbmFyeSB0aGF0IGlzIGxvY2tlZC4KQEAgLTEwNTY5LDYgKzEwNzE0LDY4IEBACiAgICAgbWF4X21pbihhcmd2YXJzLCByZXR0diwgRkFMU0UpOwogfQogCitzdGF0aWMgaW50IG1rZGlyX3JlY3Vyc2UgX19BUkdTKChjaGFyX3UgKmRpciwgaW50IHByb3QpKTsKKworLyoKKyAqIENyZWF0ZSB0aGUgZGlyZWN0b3J5IGluIHdoaWNoICJkaXIiIGlzIGxvY2F0ZWQsIGFuZCBoaWdoZXIgbGV2ZWxzIHdoZW4KKyAqIG5lZWRlZC4KKyAqLworICAgIHN0YXRpYyBpbnQKK21rZGlyX3JlY3Vyc2UoZGlyLCBwcm90KQorICAgIGNoYXJfdQkqZGlyOworICAgIGludAkJcHJvdDsKK3sKKyAgICBjaGFyX3UJKnA7CisgICAgY2hhcl91CSp1cGRpcjsKKyAgICBpbnQJCXIgPSBGQUlMOworCisgICAgLyogR2V0IGVuZCBvZiBkaXJlY3RvcnkgbmFtZSBpbiAiZGlyIi4KKyAgICAgKiBXZSdyZSBkb25lIHdoZW4gaXQncyAiLyIgb3IgImM6LyIuICovCisgICAgcCA9IGdldHRhaWxfc2VwKGRpcik7CisgICAgaWYgKHAgPD0gZ2V0X3Bhc3RfaGVhZChkaXIpKQorCXJldHVybiBPSzsKKworICAgIC8qIElmIHRoZSBkaXJlY3RvcnkgZXhpc3RzIHdlJ3JlIGRvbmUuICBPdGhlcndpc2U6IGNyZWF0ZSBpdC4qLworICAgIHVwZGlyID0gdmltX3N0cm5zYXZlKGRpciwgKGludCkocCAtIGRpcikpOworICAgIGlmICh1cGRpciA9PSBOVUxMKQorCXJldHVybiBGQUlMOworICAgIGlmIChtY2hfaXNkaXIodXBkaXIpKQorCXIgPSBPSzsKKyAgICBlbHNlIGlmIChta2Rpcl9yZWN1cnNlKHVwZGlyLCBwcm90KSA9PSBPSykKKwlyID0gdmltX21rZGlyX2Vtc2codXBkaXIsIHByb3QpOworICAgIHZpbV9mcmVlKHVwZGlyKTsKKyAgICByZXR1cm4gcjsKK30KKworI2lmZGVmIHZpbV9ta2RpcgorLyoKKyAqICJta2RpcigpIiBmdW5jdGlvbgorICovCisgICAgc3RhdGljIHZvaWQKK2ZfbWtkaXIoYXJndmFycywgcmV0dHYpCisgICAgdHlwdmFsX1QJKmFyZ3ZhcnM7CisgICAgdHlwdmFsX1QJKnJldHR2OworeworICAgIGNoYXJfdQkqZGlyOworICAgIGNoYXJfdQlidWZbTlVNQlVGTEVOXTsKKyAgICBpbnQJCXByb3QgPSAwNzU1OworCisgICAgcmV0dHYtPnZ2YWwudl9udW1iZXIgPSBGQUlMOworICAgIGlmIChjaGVja19yZXN0cmljdGVkKCkgfHwgY2hlY2tfc2VjdXJlKCkpCisJcmV0dXJuOworCisgICAgZGlyID0gZ2V0X3R2X3N0cmluZ19idWYoJmFyZ3ZhcnNbMF0sIGJ1Zik7CisgICAgaWYgKGFyZ3ZhcnNbMV0udl90eXBlICE9IFZBUl9VTktOT1dOKQorICAgIHsKKwlpZiAoYXJndmFyc1syXS52X3R5cGUgIT0gVkFSX1VOS05PV04pCisJICAgIHByb3QgPSBnZXRfdHZfbnVtYmVyKCZhcmd2YXJzWzJdKTsKKwlpZiAoU1RSQ01QKGdldF90dl9zdHJpbmcoJmFyZ3ZhcnNbMV0pLCAicCIpID09IDApCisJICAgIG1rZGlyX3JlY3Vyc2UoZGlyLCBwcm90KTsKKyAgICB9CisgICAgcmV0dHYtPnZ2YWwudl9udW1iZXIgPSB2aW1fbWtkaXJfZW1zZyhkaXIsIHByb3QpOworfQorI2VuZGlmCisKIC8qCiAgKiAibW9kZSgpIiBmdW5jdGlvbgogICovCkBAIC0xMDc1NCwxMCArMTA5NjEsMTYgQEAKICAgICBpbnQJCXByZXZsZW4gPSAwOyAgICAvKiBsZW5ndGggb2YgInByZXYiIGlmIG5vdCBOVUxMICovCiAgICAgY2hhcl91CSpzOwogICAgIGludAkJbGVuOworICAgIGxvbmcJbWF4bGluZSA9IE1BWExOVU07CisgICAgbG9uZwljbnQgPSAwOwogCi0gICAgaWYgKGFyZ3ZhcnNbMV0udl90eXBlICE9IFZBUl9VTktOT1dOCi0JCQkgICAgICAmJiBTVFJDTVAoZ2V0X3R2X3N0cmluZygmYXJndmFyc1sxXSksICJiIikgPT0gMCkKLQliaW5hcnkgPSBUUlVFOworICAgIGlmIChhcmd2YXJzWzFdLnZfdHlwZSAhPSBWQVJfVU5LTk9XTikKKyAgICB7CisJaWYgKFNUUkNNUChnZXRfdHZfc3RyaW5nKCZhcmd2YXJzWzFdKSwgImIiKSA9PSAwKQorCSAgICBiaW5hcnkgPSBUUlVFOworCWlmIChhcmd2YXJzWzJdLnZfdHlwZSAhPSBWQVJfVU5LTk9XTikKKwkgICAgbWF4bGluZSA9IGdldF90dl9udW1iZXIoJmFyZ3ZhcnNbMl0pOworICAgIH0KIAogICAgIGwgPSBsaXN0X2FsbG9jKCk7CiAgICAgaWYgKGwgPT0gTlVMTCkKQEAgLTEwNzc2LDcgKzEwOTg5LDcgQEAKICAgICB9CiAKICAgICBmaWx0ZCA9IDA7Ci0gICAgZm9yICg7OykKKyAgICB3aGlsZSAoY250IDwgbWF4bGluZSkKICAgICB7CiAJcmVhZGxlbiA9IGZyZWFkKGJ1ZiArIGZpbHRkLCAxLCBGUkVBRF9TSVpFIC0gZmlsdGQsIGZkKTsKIAlidWZsZW4gPSBmaWx0ZCArIHJlYWRsZW47CkBAIC0xMDgyNSw2ICsxMTAzOCw4IEBACiAJCWxpLT5saV90di52dmFsLnZfc3RyaW5nID0gczsKIAkJbGlzdF9hcHBlbmQobCwgbGkpOwogCisJCWlmICgrK2NudCA+PSBtYXhsaW5lKQorCQkgICAgYnJlYWs7CiAJCWlmIChyZWFkbGVuIDw9IDApCiAJCSAgICBicmVhazsKIAkgICAgfQpAQCAtMTA4NjMsNiArMTEwNzgsNyBAQAogCX0KICAgICB9CiAKKyAgICB2aW1fZnJlZShwcmV2KTsKICAgICBmY2xvc2UoZmQpOwogfQogCkBAIC0xNDEzMiw3ICsxNDM0OCw3IEBACiAJKmh0cCA9IGh0OwogICAgIGlmIChodCA9PSBOVUxMKQogCXJldHVybiBOVUxMOwotICAgIHJldHVybiBmaW5kX3Zhcl9pbl9odChodCwgdmFybmFtZSk7CisgICAgcmV0dXJuIGZpbmRfdmFyX2luX2h0KGh0LCB2YXJuYW1lLCBodHAgIT0gTlVMTCk7CiB9CiAKIC8qCkBAIC0xNDE0MCw5ICsxNDM1NiwxMCBAQAogICogUmV0dXJucyBOVUxMIGlmIG5vdCBmb3VuZC4KICAqLwogICAgIHN0YXRpYyBkaWN0aXRlbV9UICoKLWZpbmRfdmFyX2luX2h0KGh0LCB2YXJuYW1lKQorZmluZF92YXJfaW5faHQoaHQsIHZhcm5hbWUsIHdyaXRpbmcpCiAgICAgaGFzaHRhYl9UCSpodDsKICAgICBjaGFyX3UJKnZhcm5hbWU7CisgICAgaW50CQl3cml0aW5nOwogewogICAgIGhhc2hpdGVtX1QJKmhpOwogCkBAIC0xNDE2NCw3ICsxNDM4MSwxNSBAQAogCiAgICAgaGkgPSBoYXNoX2ZpbmQoaHQsIHZhcm5hbWUpOwogICAgIGlmIChIQVNISVRFTV9FTVBUWShoaSkpCi0JcmV0dXJuIE5VTEw7CisgICAgeworCS8qIEZvciBnbG9iYWwgdmFyaWFibGVzIHdlIG1heSB0cnkgYXV0by1sb2FkaW5nIHRoZSBzY3JpcHQuICBJZiBpdAorCSAqIHdvcmtlZCBmaW5kIHRoZSB2YXJpYWJsZSBhZ2Fpbi4gKi8KKwlpZiAoaHQgPT0gJmdsb2J2YXJodCAmJiAhd3JpdGluZworCQkJCSAgICYmIHNjcmlwdF9hdXRvbG9hZCh2YXJuYW1lKSAmJiAhYWJvcnRpbmcoKSkKKwkgICAgaGkgPSBoYXNoX2ZpbmQoaHQsIHZhcm5hbWUpOworCWlmIChIQVNISVRFTV9FTVBUWShoaSkpCisJICAgIHJldHVybiBOVUxMOworICAgIH0KICAgICByZXR1cm4gSEkyREkoaGkpOwogfQogCkBAIC0xNDE3OSw4ICsxNDQwNCw4IEBACiB7CiAgICAgaWYgKG5hbWVbMV0gIT0gJzonKQogICAgIHsKLQkvKiBJZiBub3QgIng6bmFtZSIgdGhlcmUgbXVzdCBub3QgYmUgYW55ICI6IiBpbiB0aGUgbmFtZS4gKi8KLQlpZiAodmltX3N0cmNocihuYW1lLCAnOicpICE9IE5VTEwpCisJLyogVGhlIG5hbWUgbXVzdCBub3Qgc3RhcnQgd2l0aCBhIGNvbG9uLiAqLworCWlmIChuYW1lWzBdID09ICc6JykKIAkgICAgcmV0dXJuIE5VTEw7CiAJKnZhcm5hbWUgPSBuYW1lOwogCkBAIC0xNDE5MywxMiArMTQ0MTgsMTUgQEAKIAlyZXR1cm4gJmN1cnJlbnRfZnVuY2NhbC0+bF92YXJzLmR2X2hhc2h0YWI7IC8qIGw6IHZhcmlhYmxlICovCiAgICAgfQogICAgICp2YXJuYW1lID0gbmFtZSArIDI7CisgICAgaWYgKCpuYW1lID09ICdnJykJCQkJLyogZ2xvYmFsIHZhcmlhYmxlICovCisJcmV0dXJuICZnbG9idmFyaHQ7CisgICAgLyogVGhlcmUgbXVzdCBiZSBubyAnOicgaW4gdGhlIHJlc3Qgb2YgdGhlIG5hbWUsIHVubGVzcyBnOiBpcyB1c2VkICovCisgICAgaWYgKHZpbV9zdHJjaHIobmFtZSArIDIsICc6JykgIT0gTlVMTCkKKwlyZXR1cm4gTlVMTDsKICAgICBpZiAoKm5hbWUgPT0gJ2InKQkJCQkvKiBidWZmZXIgdmFyaWFibGUgKi8KIAlyZXR1cm4gJmN1cmJ1Zi0+Yl92YXJzLmR2X2hhc2h0YWI7CiAgICAgaWYgKCpuYW1lID09ICd3JykJCQkJLyogd2luZG93IHZhcmlhYmxlICovCiAJcmV0dXJuICZjdXJ3aW4tPndfdmFycy5kdl9oYXNodGFiOwotICAgIGlmICgqbmFtZSA9PSAnZycpCQkJCS8qIGdsb2JhbCB2YXJpYWJsZSAqLwotCXJldHVybiAmZ2xvYnZhcmh0OwogICAgIGlmICgqbmFtZSA9PSAndicpCQkJCS8qIHY6IHZhcmlhYmxlICovCiAJcmV0dXJuICZ2aW12YXJodDsKICAgICBpZiAoKm5hbWUgPT0gJ2EnICYmIGN1cnJlbnRfZnVuY2NhbCAhPSBOVUxMKSAvKiBmdW5jdGlvbiBhcmd1bWVudCAqLwpAQCAtMTQ0MzUsNyArMTQ2NjMsNyBAQAogCXJldHVybjsKICAgICB9CiAKLSAgICB2ID0gZmluZF92YXJfaW5faHQoaHQsIHZhcm5hbWUpOworICAgIHYgPSBmaW5kX3Zhcl9pbl9odChodCwgdmFybmFtZSwgVFJVRSk7CiAgICAgaWYgKHYgIT0gTlVMTCkKICAgICB7CiAJLyogZXhpc3RpbmcgdmFyaWFibGUsIG5lZWQgdG8gY2xlYXIgdGhlIHZhbHVlICovCkBAIC0xNDkzMiw2ICsxNTE2MCw5IEBACiAgICAgZnVuY2RpY3RfVAlmdWRpOwogICAgIHN0YXRpYyBpbnQJZnVuY19uciA9IDA7CSAgICAvKiBudW1iZXIgZm9yIG5hbWVsZXNzIGZ1bmN0aW9uICovCiAgICAgaW50CQlwYXJlbjsKKyAgICBoYXNodGFiX1QJKmh0OworICAgIGludAkJdG9kbzsKKyAgICBoYXNoaXRlbV9UCSpoaTsKIAogICAgIC8qCiAgICAgICogIjpmdW5jdGlvbiIgd2l0aG91dCBhcmd1bWVudDogbGlzdCBmdW5jdGlvbnMuCkBAIC0xNDkzOSw5ICsxNTE3MCwxOSBAQAogICAgIGlmIChlbmRzX2V4Y21kKCplYXAtPmFyZykpCiAgICAgewogCWlmICghZWFwLT5za2lwKQotCSAgICBmb3IgKGZwID0gZmlyc3RmdW5jOyBmcCAhPSBOVUxMICYmICFnb3RfaW50OyBmcCA9IGZwLT5uZXh0KQotCQlpZiAoIWlzZGlnaXQoKmZwLT5uYW1lKSkKLQkJICAgIGxpc3RfZnVuY19oZWFkKGZwLCBGQUxTRSk7CisJeworCSAgICB0b2RvID0gZ2xvYnZhcmh0Lmh0X3VzZWQ7CisJICAgIGZvciAoaGkgPSBnbG9idmFyaHQuaHRfYXJyYXk7IHRvZG8gPiAwICYmICFnb3RfaW50OyArK2hpKQorCSAgICB7CisJCWlmICghSEFTSElURU1fRU1QVFkoaGkpKQorCQl7CisJCSAgICAtLXRvZG87CisJCSAgICBmcCA9IEhJMlVGKGhpKTsKKwkJICAgIGlmICghaXNkaWdpdCgqZnAtPnVmX25hbWUpKQorCQkJbGlzdF9mdW5jX2hlYWQoZnAsIEZBTFNFKTsKKwkJfQorCSAgICB9CisJfQogCWVhcC0+bmV4dGNtZCA9IGNoZWNrX25leHRjbWQoZWFwLT5hcmcpOwogCXJldHVybjsKICAgICB9CkBAIC0xNTAwNCw3ICsxNTI0NSw3IEBACiAJICAgIGlmIChmcCAhPSBOVUxMKQogCSAgICB7CiAJCWxpc3RfZnVuY19oZWFkKGZwLCBUUlVFKTsKLQkJZm9yIChqID0gMDsgaiA8IGZwLT5saW5lcy5nYV9sZW4gJiYgIWdvdF9pbnQ7ICsraikKKwkJZm9yIChqID0gMDsgaiA8IGZwLT51Zl9saW5lcy5nYV9sZW4gJiYgIWdvdF9pbnQ7ICsraikKIAkJewogCQkgICAgbXNnX3B1dGNoYXIoJ1xuJyk7CiAJCSAgICBtc2dfb3V0bnVtKChsb25nKShqICsgMSkpOwpAQCAtMTUwMTIsNyArMTUyNTMsNyBAQAogCQkJbXNnX3B1dGNoYXIoJyAnKTsKIAkJICAgIGlmIChqIDwgOTkpCiAJCQltc2dfcHV0Y2hhcignICcpOwotCQkgICAgbXNnX3BydF9saW5lKEZVTkNMSU5FKGZwLCBqKSk7CisJCSAgICBtc2dfcHJ0X2xpbmUoRlVOQ0xJTkUoZnAsIGopLCBGQUxTRSk7CiAJCSAgICBvdXRfZmx1c2goKTsJLyogc2hvdyBhIGxpbmUgYXQgYSB0aW1lICovCiAJCSAgICB1aV9icmVha2NoZWNrKCk7CiAJCX0KQEAgLTE1MjYwLDcgKzE1NTAxLDcgQEAKICAgICAgKi8KICAgICBpZiAoZnVkaS5mZF9kaWN0ID09IE5VTEwpCiAgICAgewotCXYgPSBmaW5kX3ZhcihuYW1lLCBOVUxMKTsKKwl2ID0gZmluZF92YXIobmFtZSwgJmh0KTsKIAlpZiAodiAhPSBOVUxMICYmIHYtPmRpX3R2LnZfdHlwZSA9PSBWQVJfRlVOQykKIAl7CiAJICAgIGVtc2dfZnVuY25hbWUoIkU3MDc6IEZ1bmN0aW9uIG5hbWUgY29uZmxpY3RzIHdpdGggdmFyaWFibGU6ICVzIiwKQEAgLTE1Mjc2LDE1ICsxNTUxNywxNSBAQAogCQllbXNnX2Z1bmNuYW1lKGVfZnVuY2V4dHMsIG5hbWUpOwogCQlnb3RvIGVycmV0OwogCSAgICB9Ci0JICAgIGlmIChmcC0+Y2FsbHMgPiAwKQorCSAgICBpZiAoZnAtPnVmX2NhbGxzID4gMCkKIAkgICAgewogCQllbXNnX2Z1bmNuYW1lKCJFMTI3OiBDYW5ub3QgcmVkZWZpbmUgZnVuY3Rpb24gJXM6IEl0IGlzIGluIHVzZSIsCiAJCQkJCQkJCQluYW1lKTsKIAkJZ290byBlcnJldDsKIAkgICAgfQogCSAgICAvKiByZWRlZmluZSBleGlzdGluZyBmdW5jdGlvbiAqLwotCSAgICBnYV9jbGVhcl9zdHJpbmdzKCYoZnAtPmFyZ3MpKTsKLQkgICAgZ2FfY2xlYXJfc3RyaW5ncygmKGZwLT5saW5lcykpOworCSAgICBnYV9jbGVhcl9zdHJpbmdzKCYoZnAtPnVmX2FyZ3MpKTsKKwkgICAgZ2FfY2xlYXJfc3RyaW5ncygmKGZwLT51Zl9saW5lcykpOwogCSAgICB2aW1fZnJlZShuYW1lKTsKIAkgICAgbmFtZSA9IE5VTEw7CiAJfQpAQCAtMTUzMjAsNyArMTU1NjEsMzUgQEAKIAogICAgIGlmIChmcCA9PSBOVUxMKQogICAgIHsKLQlmcCA9ICh1ZnVuY19UICopYWxsb2MoKHVuc2lnbmVkKXNpemVvZih1ZnVuY19UKSk7CisJaWYgKGZ1ZGkuZmRfZGljdCA9PSBOVUxMICYmIHZpbV9zdHJjaHIobmFtZSwgJzonKSAhPSBOVUxMKQorCXsKKwkgICAgaW50CSAgICBzbGVuLCBwbGVuOworCSAgICBjaGFyX3UgICpzY3JpcHRuYW1lOworCisJICAgIC8qIENoZWNrIHRoYXQgdGhlIGF1dG9sb2FkIG5hbWUgbWF0Y2hlcyB0aGUgc2NyaXB0IG5hbWUuICovCisJICAgIGogPSBGQUlMOworCSAgICBpZiAoc291cmNpbmdfbmFtZSAhPSBOVUxMKQorCSAgICB7CisJCXNjcmlwdG5hbWUgPSBhdXRvbG9hZF9uYW1lKG5hbWUpOworCQlpZiAoc2NyaXB0bmFtZSAhPSBOVUxMKQorCQl7CisJCSAgICBwID0gdmltX3N0cmNocihzY3JpcHRuYW1lLCAnLycpOworCQkgICAgcGxlbiA9IFNUUkxFTihwKTsKKwkJICAgIHNsZW4gPSBTVFJMRU4oc291cmNpbmdfbmFtZSk7CisJCSAgICBpZiAoc2xlbiA+IHBsZW4gJiYgZm5hbWVjbXAocCwKKwkJCQkJICAgIHNvdXJjaW5nX25hbWUgKyBzbGVuIC0gcGxlbikgPT0gMCkKKwkJCWogPSBPSzsKKwkJICAgIHZpbV9mcmVlKHNjcmlwdG5hbWUpOworCQl9CisJICAgIH0KKwkgICAgaWYgKGogPT0gRkFJTCkKKwkgICAgeworCQlFTVNHMihfKCJFNzQ2OiBGdW5jdGlvbiBuYW1lIGRvZXMgbm90IG1hdGNoIHNjcmlwdCBmaWxlIG5hbWU6ICVzIiksIG5hbWUpOworCQlnb3RvIGVycmV0OworCSAgICB9CisJfQorCisJZnAgPSAodWZ1bmNfVCAqKWFsbG9jKCh1bnNpZ25lZCkoc2l6ZW9mKHVmdW5jX1QpICsgU1RSTEVOKG5hbWUpKSk7CiAJaWYgKGZwID09IE5VTEwpCiAJICAgIGdvdG8gZXJyZXQ7CiAKQEAgLTE1MzQ3LDIxICsxNTYxNiwxOSBAQAogCSAgICBmdWRpLmZkX2RpLT5kaV90di52X3R5cGUgPSBWQVJfRlVOQzsKIAkgICAgZnVkaS5mZF9kaS0+ZGlfdHYudl9sb2NrID0gMDsKIAkgICAgZnVkaS5mZF9kaS0+ZGlfdHYudnZhbC52X3N0cmluZyA9IHZpbV9zdHJzYXZlKG5hbWUpOwotCSAgICBmcC0+cmVmY291bnQgPSAxOworCSAgICBmcC0+dWZfcmVmY291bnQgPSAxOwogCX0KIAogCS8qIGluc2VydCB0aGUgbmV3IGZ1bmN0aW9uIGluIHRoZSBmdW5jdGlvbiBsaXN0ICovCi0JZnAtPm5hbWUgPSBuYW1lOwotCW5hbWUgPSBOVUxMOwotCWZwLT5uZXh0ID0gZmlyc3RmdW5jOwotCWZpcnN0ZnVuYyA9IGZwOworCVNUUkNQWShmcC0+dWZfbmFtZSwgbmFtZSk7CisJaGFzaF9hZGQoJmZ1bmNfaGFzaHRhYiwgVUYySElLRVkoZnApKTsKICAgICB9Ci0gICAgZnAtPmFyZ3MgPSBuZXdhcmdzOwotICAgIGZwLT5saW5lcyA9IG5ld2xpbmVzOwotICAgIGZwLT52YXJhcmdzID0gdmFyYXJnczsKLSAgICBmcC0+ZmxhZ3MgPSBmbGFnczsKLSAgICBmcC0+Y2FsbHMgPSAwOwotICAgIGZwLT5zY3JpcHRfSUQgPSBjdXJyZW50X1NJRDsKKyAgICBmcC0+dWZfYXJncyA9IG5ld2FyZ3M7CisgICAgZnAtPnVmX2xpbmVzID0gbmV3bGluZXM7CisgICAgZnAtPnVmX3ZhcmFyZ3MgPSB2YXJhcmdzOworICAgIGZwLT51Zl9mbGFncyA9IGZsYWdzOworICAgIGZwLT51Zl9jYWxscyA9IDA7CisgICAgZnAtPnVmX3NjcmlwdF9JRCA9IGN1cnJlbnRfU0lEOwogICAgIGdvdG8gcmV0X2ZyZWU7CiAKIGVycmV0OgpAQCAtMTU1NzMsMjEgKzE1ODQwLDIxIEBACiAgICAgaWYgKGluZGVudCkKIAlNU0dfUFVUUygiICAgIik7CiAgICAgTVNHX1BVVFMoImZ1bmN0aW9uICIpOwotICAgIGlmIChmcC0+bmFtZVswXSA9PSBLX1NQRUNJQUwpCisgICAgaWYgKGZwLT51Zl9uYW1lWzBdID09IEtfU1BFQ0lBTCkKICAgICB7CiAJTVNHX1BVVFNfQVRUUigiPFNOUj4iLCBobF9hdHRyKEhMRl84KSk7Ci0JbXNnX3B1dHMoZnAtPm5hbWUgKyAzKTsKKwltc2dfcHV0cyhmcC0+dWZfbmFtZSArIDMpOwogICAgIH0KICAgICBlbHNlCi0JbXNnX3B1dHMoZnAtPm5hbWUpOworCW1zZ19wdXRzKGZwLT51Zl9uYW1lKTsKICAgICBtc2dfcHV0Y2hhcignKCcpOwotICAgIGZvciAoaiA9IDA7IGogPCBmcC0+YXJncy5nYV9sZW47ICsraikKKyAgICBmb3IgKGogPSAwOyBqIDwgZnAtPnVmX2FyZ3MuZ2FfbGVuOyArK2opCiAgICAgewogCWlmIChqKQogCSAgICBNU0dfUFVUUygiLCAiKTsKIAltc2dfcHV0cyhGVU5DQVJHKGZwLCBqKSk7CiAgICAgfQotICAgIGlmIChmcC0+dmFyYXJncykKKyAgICBpZiAoZnAtPnVmX3ZhcmFyZ3MpCiAgICAgewogCWlmIChqKQogCSAgICBNU0dfUFVUUygiLCAiKTsKQEAgLTE1NjA0LDEyICsxNTg3MSwxMiBAQAogZmluZF9mdW5jKG5hbWUpCiAgICAgY2hhcl91CSpuYW1lOwogewotICAgIHVmdW5jX1QJKmZwOworICAgIGhhc2hpdGVtX1QJKmhpOwogCi0gICAgZm9yIChmcCA9IGZpcnN0ZnVuYzsgZnAgIT0gTlVMTDsgZnAgPSBmcC0+bmV4dCkKLQlpZiAoU1RSQ01QKG5hbWUsIGZwLT5uYW1lKSA9PSAwKQotCSAgICBicmVhazsKLSAgICByZXR1cm4gZnA7CisgICAgaGkgPSBoYXNoX2ZpbmQoJmZ1bmNfaGFzaHRhYiwgbmFtZSk7CisgICAgaWYgKCFIQVNISVRFTV9FTVBUWShoaSkpCisJcmV0dXJuIEhJMlVGKGhpKTsKKyAgICByZXR1cm4gTlVMTDsKIH0KIAogLyoKQEAgLTE1NjQ2LDExICsxNTkxMywxMSBAQAogfQogCiAvKgotICogSWYgIm5hbWUiIGhhcyBhIHBhY2thZ2UgbmFtZSB0cnkgYXV0b2xvYWRpbmcgdGhlIHNjcmlwdC4KKyAqIElmICJuYW1lIiBoYXMgYSBwYWNrYWdlIG5hbWUgdHJ5IGF1dG9sb2FkaW5nIHRoZSBzY3JpcHQgZm9yIGl0LgogICogUmV0dXJuIFRSVUUgaWYgYSBwYWNrYWdlIHdhcyBsb2FkZWQuCiAgKi8KICAgICBzdGF0aWMgaW50Ci1mdW5jX2F1dG9sb2FkKG5hbWUpCitzY3JpcHRfYXV0b2xvYWQobmFtZSkKICAgICBjaGFyX3UgKm5hbWU7CiB7CiAgICAgY2hhcl91CSpwOwpAQCAtMTU2NjIsNiArMTU5MjksMjYgQEAKICAgICBpZiAocCA9PSBOVUxMIHx8IHAgPD0gbmFtZSArIDIpCiAJcmV0dXJuIEZBTFNFOwogCisgICAgLyogVHJ5IGxvYWRpbmcgdGhlIHBhY2thZ2UgZnJvbSAkVklNUlVOVElNRS9hdXRvbG9hZC88bmFtZT4udmltICovCisgICAgc2NyaXB0bmFtZSA9IGF1dG9sb2FkX25hbWUobmFtZSk7CisgICAgaWYgKGNtZF9ydW50aW1lKHNjcmlwdG5hbWUsIEZBTFNFKSA9PSBPSykKKwlyZXQgPSBUUlVFOworCisgICAgdmltX2ZyZWUoc2NyaXB0bmFtZSk7CisgICAgcmV0dXJuIHJldDsKK30KKworLyoKKyAqIFJldHVybiB0aGUgYXV0b2xvYWQgc2NyaXB0IG5hbWUgZm9yIGEgZnVuY3Rpb24gb3IgdmFyaWFibGUgbmFtZS4KKyAqIFJldHVybnMgTlVMTCB3aGVuIG91dCBvZiBtZW1vcnkuCisgKi8KKyAgICBzdGF0aWMgY2hhcl91ICoKK2F1dG9sb2FkX25hbWUobmFtZSkKKyAgICBjaGFyX3UJKm5hbWU7Cit7CisgICAgY2hhcl91CSpwOworICAgIGNoYXJfdQkqc2NyaXB0bmFtZTsKKwogICAgIC8qIEdldCB0aGUgc2NyaXB0IGZpbGUgbmFtZTogcmVwbGFjZSAnOicgd2l0aCAnLycsIGFwcGVuZCAiLnZpbSIuICovCiAgICAgc2NyaXB0bmFtZSA9IGFsbG9jKCh1bnNpZ25lZCkoU1RSTEVOKG5hbWUpICsgMTQpKTsKICAgICBpZiAoc2NyaXB0bmFtZSA9PSBOVUxMKQpAQCAtMTU2NzIsMTMgKzE1OTU5LDcgQEAKICAgICBTVFJDQVQoc2NyaXB0bmFtZSwgIi52aW0iKTsKICAgICB3aGlsZSAoKHAgPSB2aW1fc3RyY2hyKHNjcmlwdG5hbWUsICc6JykpICE9IE5VTEwpCiAJKnAgPSAnLyc7Ci0KLSAgICAvKiBUcnkgbG9hZGluZyB0aGUgcGFja2FnZSBmcm9tICRWSU1SVU5USU1FL2F1dG9sb2FkLzxuYW1lPi52aW0gKi8KLSAgICBpZiAoY21kX3J1bnRpbWUoc2NyaXB0bmFtZSwgRkFMU0UpID09IE9LKQotCXJldCA9IFRSVUU7Ci0KLSAgICB2aW1fZnJlZShzY3JpcHRuYW1lKTsKLSAgICByZXR1cm4gcmV0OworICAgIHJldHVybiBzY3JpcHRuYW1lOwogfQogCiAjaWYgZGVmaW5lZChGRUFUX0NNRExfQ09NUEwpIHx8IGRlZmluZWQoUFJPVE8pCkBAIC0xNTY5MiwyNCArMTU5NzMsMzMgQEAKICAgICBleHBhbmRfVAkqeHA7CiAgICAgaW50CQlpZHg7CiB7Ci0gICAgc3RhdGljIHVmdW5jX1QgKmZwID0gTlVMTDsKKyAgICBzdGF0aWMgbG9uZ191CWRvbmU7CisgICAgc3RhdGljIGhhc2hpdGVtX1QJKmhpOworICAgIHVmdW5jX1QJCSpmcDsKIAogICAgIGlmIChpZHggPT0gMCkKLQlmcCA9IGZpcnN0ZnVuYzsKLSAgICBpZiAoZnAgIT0gTlVMTCkKICAgICB7Ci0JaWYgKFNUUkxFTihmcC0+bmFtZSkgKyA0ID49IElPU0laRSkKLQkgICAgcmV0dXJuIGZwLT5uYW1lOwkvKiBwcmV2ZW50cyBvdmVyZmxvdyAqLworCWRvbmUgPSAwOworCWhpID0gZnVuY19oYXNodGFiLmh0X2FycmF5OworICAgIH0KKyAgICBpZiAoZG9uZSA8IGZ1bmNfaGFzaHRhYi5odF91c2VkKQorICAgIHsKKwlpZiAoZG9uZSsrID4gMCkKKwkgICAgKytoaTsKKwl3aGlsZSAoSEFTSElURU1fRU1QVFkoaGkpKQorCSAgICArK2hpOworCWZwID0gSEkyVUYoaGkpOworCisJaWYgKFNUUkxFTihmcC0+dWZfbmFtZSkgKyA0ID49IElPU0laRSkKKwkgICAgcmV0dXJuIGZwLT51Zl9uYW1lOwkvKiBwcmV2ZW50cyBvdmVyZmxvdyAqLwogCiAJY2F0X2Z1bmNfbmFtZShJT2J1ZmYsIGZwKTsKIAlpZiAoeHAtPnhwX2NvbnRleHQgIT0gRVhQQU5EX1VTRVJfRlVOQykKIAl7CiAJICAgIFNUUkNBVChJT2J1ZmYsICIoIik7Ci0JICAgIGlmICghZnAtPnZhcmFyZ3MgJiYgZnAtPmFyZ3MuZ2FfbGVuID09IDApCisJICAgIGlmICghZnAtPnVmX3ZhcmFyZ3MgJiYgZnAtPnVmX2FyZ3MuZ2FfbGVuID09IDApCiAJCVNUUkNBVChJT2J1ZmYsICIpIik7CiAJfQotCi0JZnAgPSBmcC0+bmV4dDsKIAlyZXR1cm4gSU9idWZmOwogICAgIH0KICAgICByZXR1cm4gTlVMTDsKQEAgLTE1NzI3LDEzICsxNjAxNywxMyBAQAogICAgIGNoYXJfdQkqYnVmOwogICAgIHVmdW5jX1QJKmZwOwogewotICAgIGlmIChmcC0+bmFtZVswXSA9PSBLX1NQRUNJQUwpCisgICAgaWYgKGZwLT51Zl9uYW1lWzBdID09IEtfU1BFQ0lBTCkKICAgICB7CiAJU1RSQ1BZKGJ1ZiwgIjxTTlI+Iik7Ci0JU1RSQ0FUKGJ1ZiwgZnAtPm5hbWUgKyAzKTsKKwlTVFJDQVQoYnVmLCBmcC0+dWZfbmFtZSArIDMpOwogICAgIH0KICAgICBlbHNlCi0JU1RSQ1BZKGJ1ZiwgZnAtPm5hbWUpOworCVNUUkNQWShidWYsIGZwLT51Zl9uYW1lKTsKIH0KIAogLyoKQEAgLTE1Nzc4LDcgKzE2MDY4LDcgQEAKIAkgICAgRU1TRzIoXygiRTEzMDogVW5kZWZpbmVkIGZ1bmN0aW9uOiAlcyIpLCBlYXAtPmFyZyk7CiAJICAgIHJldHVybjsKIAl9Ci0JaWYgKGZwLT5jYWxscyA+IDApCisJaWYgKGZwLT51Zl9jYWxscyA+IDApCiAJewogCSAgICBFTVNHMihfKCJFMTMxOiBDYW5ub3QgZGVsZXRlIGZ1bmN0aW9uICVzOiBJdCBpcyBpbiB1c2UiKSwgZWFwLT5hcmcpOwogCSAgICByZXR1cm47CkBAIC0xNTgwMiwyNSArMTYwOTIsMTkgQEAKIGZ1bmNfZnJlZShmcCkKICAgICB1ZnVuY19UICpmcDsKIHsKLSAgICB1ZnVuY19UCSpwZnA7CisgICAgaGFzaGl0ZW1fVAkqaGk7CiAKICAgICAvKiBjbGVhciB0aGlzIGZ1bmN0aW9uICovCi0gICAgdmltX2ZyZWUoZnAtPm5hbWUpOwotICAgIGdhX2NsZWFyX3N0cmluZ3MoJihmcC0+YXJncykpOwotICAgIGdhX2NsZWFyX3N0cmluZ3MoJihmcC0+bGluZXMpKTsKKyAgICBnYV9jbGVhcl9zdHJpbmdzKCYoZnAtPnVmX2FyZ3MpKTsKKyAgICBnYV9jbGVhcl9zdHJpbmdzKCYoZnAtPnVmX2xpbmVzKSk7CiAKLSAgICAvKiByZW1vdmUgdGhlIGZ1bmN0aW9uIGZyb20gdGhlIGZ1bmN0aW9uIGxpc3QgKi8KLSAgICBpZiAoZmlyc3RmdW5jID09IGZwKQotCWZpcnN0ZnVuYyA9IGZwLT5uZXh0OworICAgIC8qIHJlbW92ZSB0aGUgZnVuY3Rpb24gZnJvbSB0aGUgZnVuY3Rpb24gaGFzaHRhYmxlICovCisgICAgaGkgPSBoYXNoX2ZpbmQoJmZ1bmNfaGFzaHRhYiwgVUYySElLRVkoZnApKTsKKyAgICBpZiAoSEFTSElURU1fRU1QVFkoaGkpKQorCUVNU0cyKF8oZV9pbnRlcm4yKSwgImZ1bmNfZnJlZSgpIik7CiAgICAgZWxzZQotICAgIHsKLQlmb3IgKHBmcCA9IGZpcnN0ZnVuYzsgcGZwICE9IE5VTEw7IHBmcCA9IHBmcC0+bmV4dCkKLQkgICAgaWYgKHBmcC0+bmV4dCA9PSBmcCkKLQkgICAgewotCQlwZnAtPm5leHQgPSBmcC0+bmV4dDsKLQkJYnJlYWs7Ci0JICAgIH0KLSAgICB9CisJaGFzaF9yZW1vdmUoJmZ1bmNfaGFzaHRhYiwgaGkpOworCiAgICAgdmltX2ZyZWUoZnApOwogfQogCkBAIC0xNTgzOSwxMSArMTYxMjMsMTEgQEAKIAlmcCA9IGZpbmRfZnVuYyhuYW1lKTsKIAlpZiAoZnAgPT0gTlVMTCkKIAkgICAgRU1TRzIoXyhlX2ludGVybjIpLCAiZnVuY191bnJlZigpIik7Ci0JZWxzZSBpZiAoLS1mcC0+cmVmY291bnQgPD0gMCkKKwllbHNlIGlmICgtLWZwLT51Zl9yZWZjb3VudCA8PSAwKQogCXsKIAkgICAgLyogT25seSBkZWxldGUgaXQgd2hlbiBpdCdzIG5vdCBiZWluZyB1c2VkLiAgT3RoZXJ3aXNlIGl0J3MgZG9uZQotCSAgICAgKiB3aGVuICJjYWxscyIgYmVjb21lcyB6ZXJvLiAqLwotCSAgICBpZiAoZnAtPmNhbGxzID09IDApCisJICAgICAqIHdoZW4gInVmX2NhbGxzIiBiZWNvbWVzIHplcm8uICovCisJICAgIGlmIChmcC0+dWZfY2FsbHMgPT0gMCkKIAkJZnVuY19mcmVlKGZwKTsKIAl9CiAgICAgfQpAQCAtMTU4NjQsNyArMTYxNDgsNyBAQAogCWlmIChmcCA9PSBOVUxMKQogCSAgICBFTVNHMihfKGVfaW50ZXJuMiksICJmdW5jX3JlZigpIik7CiAJZWxzZQotCSAgICArK2ZwLT5yZWZjb3VudDsKKwkgICAgKytmcC0+dWZfcmVmY291bnQ7CiAgICAgfQogfQogCkBAIC0xNTkxNSw3ICsxNjE5OSw3IEBACiAgICAgZmMucmV0dXJuZWQgPSBGQUxTRTsKICAgICBmYy5sZXZlbCA9IGV4X25lc3RpbmdfbGV2ZWw7CiAgICAgLyogQ2hlY2sgaWYgdGhpcyBmdW5jdGlvbiBoYXMgYSBicmVha3BvaW50LiAqLwotICAgIGZjLmJyZWFrcG9pbnQgPSBkYmdfZmluZF9icmVha3BvaW50KEZBTFNFLCBmcC0+bmFtZSwgKGxpbmVucl9UKTApOworICAgIGZjLmJyZWFrcG9pbnQgPSBkYmdfZmluZF9icmVha3BvaW50KEZBTFNFLCBmcC0+dWZfbmFtZSwgKGxpbmVucl9UKTApOwogICAgIGZjLmRiZ190aWNrID0gZGVidWdfdGljazsKIAogICAgIC8qCkBAIC0xNTk0Nyw3ICsxNjIzMSw3IEBACiAgICAgICovCiAgICAgaW5pdF92YXJfZGljdCgmZmMubF9hdmFycywgJmZjLmxfYXZhcnNfdmFyKTsKICAgICBhZGRfbnJfdmFyKCZmYy5sX2F2YXJzLCAmZmMuZml4dmFyW2ZpeHZhcl9pZHgrK10udmFyLCAiMCIsCi0JCQkJICAgKHZhcm51bWJlcl9UKShhcmdjb3VudCAtIGZwLT5hcmdzLmdhX2xlbikpOworCQkJCSh2YXJudW1iZXJfVCkoYXJnY291bnQgLSBmcC0+dWZfYXJncy5nYV9sZW4pKTsKICAgICB2ID0gJmZjLmZpeHZhcltmaXh2YXJfaWR4KytdLnZhcjsKICAgICBTVFJDUFkodi0+ZGlfa2V5LCAiMDAwIik7CiAgICAgdi0+ZGlfZmxhZ3MgPSBESV9GTEFHU19STyB8IERJX0ZMQUdTX0ZJWDsKQEAgLTE1OTY5LDcgKzE2MjUzLDcgQEAKIAkJCQkJCSAgICAgICAodmFybnVtYmVyX1QpbGFzdGxpbmUpOwogICAgIGZvciAoaSA9IDA7IGkgPCBhcmdjb3VudDsgKytpKQogICAgIHsKLQlhaSA9IGkgLSBmcC0+YXJncy5nYV9sZW47CisJYWkgPSBpIC0gZnAtPnVmX2FyZ3MuZ2FfbGVuOwogCWlmIChhaSA8IDApCiAJICAgIC8qIG5hbWVkIGFyZ3VtZW50IGE6bmFtZSAqLwogCSAgICBuYW1lID0gRlVOQ0FSRyhmcCwgaSk7CkBAIC0xNjAxNCw3ICsxNjI5OCw3IEBACiAgICAgc2F2ZV9zb3VyY2luZ19sbnVtID0gc291cmNpbmdfbG51bTsKICAgICBzb3VyY2luZ19sbnVtID0gMTsKICAgICBzb3VyY2luZ19uYW1lID0gYWxsb2MoKHVuc2lnbmVkKSgoc2F2ZV9zb3VyY2luZ19uYW1lID09IE5VTEwgPyAwCi0JCTogU1RSTEVOKHNhdmVfc291cmNpbmdfbmFtZSkpICsgU1RSTEVOKGZwLT5uYW1lKSArIDEzKSk7CisJCTogU1RSTEVOKHNhdmVfc291cmNpbmdfbmFtZSkpICsgU1RSTEVOKGZwLT51Zl9uYW1lKSArIDEzKSk7CiAgICAgaWYgKHNvdXJjaW5nX25hbWUgIT0gTlVMTCkKICAgICB7CiAJaWYgKHNhdmVfc291cmNpbmdfbmFtZSAhPSBOVUxMCkBAIC0xNjA1OCw3ICsxNjM0Miw3IEBACiAJfQogICAgIH0KICAgICBzYXZlX2N1cnJlbnRfU0lEID0gY3VycmVudF9TSUQ7Ci0gICAgY3VycmVudF9TSUQgPSBmcC0+c2NyaXB0X0lEOworICAgIGN1cnJlbnRfU0lEID0gZnAtPnVmX3NjcmlwdF9JRDsKICAgICBzYXZlX2RpZF9lbXNnID0gZGlkX2Vtc2c7CiAgICAgZGlkX2Vtc2cgPSBGQUxTRTsKIApAQCAtMTYwNjksNyArMTYzNTMsNyBAQAogICAgIC0tUmVkcmF3aW5nRGlzYWJsZWQ7CiAKICAgICAvKiB3aGVuIHRoZSBmdW5jdGlvbiB3YXMgYWJvcnRlZCBiZWNhdXNlIG9mIGFuIGVycm9yLCByZXR1cm4gLTEgKi8KLSAgICBpZiAoKGRpZF9lbXNnICYmIChmcC0+ZmxhZ3MgJiBGQ19BQk9SVCkpIHx8IHJldHR2LT52X3R5cGUgPT0gVkFSX1VOS05PV04pCisgICAgaWYgKChkaWRfZW1zZyAmJiAoZnAtPnVmX2ZsYWdzICYgRkNfQUJPUlQpKSB8fCByZXR0di0+dl90eXBlID09IFZBUl9VTktOT1dOKQogICAgIHsKIAljbGVhcl90dihyZXR0dik7CiAJcmV0dHYtPnZfdHlwZSA9IFZBUl9OVU1CRVI7CkBAIC0xNjM0NiwxMyArMTY2MzAsMTMgQEAKICAgICAvKiBJZiBicmVha3BvaW50cyBoYXZlIGJlZW4gYWRkZWQvZGVsZXRlZCBuZWVkIHRvIGNoZWNrIGZvciBpdC4gKi8KICAgICBpZiAoZmNwLT5kYmdfdGljayAhPSBkZWJ1Z190aWNrKQogICAgIHsKLQlmY3AtPmJyZWFrcG9pbnQgPSBkYmdfZmluZF9icmVha3BvaW50KEZBTFNFLCBmY3AtPmZ1bmMtPm5hbWUsCisJZmNwLT5icmVha3BvaW50ID0gZGJnX2ZpbmRfYnJlYWtwb2ludChGQUxTRSwgZmNwLT5mdW5jLT51Zl9uYW1lLAogCQkJCQkJCSAgICAgICBzb3VyY2luZ19sbnVtKTsKIAlmY3AtPmRiZ190aWNrID0gZGVidWdfdGljazsKICAgICB9CiAKLSAgICBnYXAgPSAmZmNwLT5mdW5jLT5saW5lczsKLSAgICBpZiAoKGZjcC0+ZnVuYy0+ZmxhZ3MgJiBGQ19BQk9SVCkgJiYgZGlkX2Vtc2cgJiYgIWFib3J0ZWRfaW5fdHJ5KCkpCisgICAgZ2FwID0gJmZjcC0+ZnVuYy0+dWZfbGluZXM7CisgICAgaWYgKChmY3AtPmZ1bmMtPnVmX2ZsYWdzICYgRkNfQUJPUlQpICYmIGRpZF9lbXNnICYmICFhYm9ydGVkX2luX3RyeSgpKQogCXJldHZhbCA9IE5VTEw7CiAgICAgZWxzZSBpZiAoZmNwLT5yZXR1cm5lZCB8fCBmY3AtPmxpbmVuciA+PSBnYXAtPmdhX2xlbikKIAlyZXR2YWwgPSBOVUxMOwpAQCAtMTYzNjUsOSArMTY2NDksOSBAQAogICAgIC8qIERpZCB3ZSBlbmNvdW50ZXIgYSBicmVha3BvaW50PyAqLwogICAgIGlmIChmY3AtPmJyZWFrcG9pbnQgIT0gMCAmJiBmY3AtPmJyZWFrcG9pbnQgPD0gc291cmNpbmdfbG51bSkKICAgICB7Ci0JZGJnX2JyZWFrcG9pbnQoZmNwLT5mdW5jLT5uYW1lLCBzb3VyY2luZ19sbnVtKTsKKwlkYmdfYnJlYWtwb2ludChmY3AtPmZ1bmMtPnVmX25hbWUsIHNvdXJjaW5nX2xudW0pOwogCS8qIEZpbmQgbmV4dCBicmVha3BvaW50LiAqLwotCWZjcC0+YnJlYWtwb2ludCA9IGRiZ19maW5kX2JyZWFrcG9pbnQoRkFMU0UsIGZjcC0+ZnVuYy0+bmFtZSwKKwlmY3AtPmJyZWFrcG9pbnQgPSBkYmdfZmluZF9icmVha3BvaW50KEZBTFNFLCBmY3AtPmZ1bmMtPnVmX25hbWUsCiAJCQkJCQkJICAgICAgIHNvdXJjaW5nX2xudW0pOwogCWZjcC0+ZGJnX3RpY2sgPSBkZWJ1Z190aWNrOwogICAgIH0KQEAgLTE2Mzg3LDcgKzE2NjcxLDcgQEAKIAogICAgIC8qIElnbm9yZSB0aGUgImFib3J0IiBmbGFnIGlmIHRoZSBhYm9ydGlvbiBiZWhhdmlvciBoYXMgYmVlbiBjaGFuZ2VkIGR1ZSB0bwogICAgICAqIGFuIGVycm9yIGluc2lkZSBhIHRyeSBjb25kaXRpb25hbC4gKi8KLSAgICByZXR1cm4gKCgoZmNwLT5mdW5jLT5mbGFncyAmIEZDX0FCT1JUKSAmJiBkaWRfZW1zZyAmJiAhYWJvcnRlZF9pbl90cnkoKSkKKyAgICByZXR1cm4gKCgoZmNwLT5mdW5jLT51Zl9mbGFncyAmIEZDX0FCT1JUKSAmJiBkaWRfZW1zZyAmJiAhYWJvcnRlZF9pbl90cnkoKSkKIAkgICAgfHwgZmNwLT5yZXR1cm5lZCk7CiB9CiAKQEAgLTE2Mzk4LDcgKzE2NjgyLDcgQEAKIGZ1bmNfaGFzX2Fib3J0KGNvb2tpZSkKICAgICB2b2lkICAgICpjb29raWU7CiB7Ci0gICAgcmV0dXJuICgoZnVuY2NhbGxfVCAqKWNvb2tpZSktPmZ1bmMtPmZsYWdzICYgRkNfQUJPUlQ7CisgICAgcmV0dXJuICgoZnVuY2NhbGxfVCAqKWNvb2tpZSktPmZ1bmMtPnVmX2ZsYWdzICYgRkNfQUJPUlQ7CiB9CiAKICNpZiBkZWZpbmVkKEZFQVRfVklNSU5GTykgfHwgZGVmaW5lZChGRUFUX1NFU1NJT04pCmRpZmYgLS1naXQgYS9zcmMvZXhfY21kcy5jIGIvc3JjL2V4X2NtZHMuYwppbmRleCBkOGY5NjkxLi45ZWJmMzljIDEwMDY0NAotLS0gYS9zcmMvZXhfY21kcy5jCisrKyBiL3NyYy9leF9jbWRzLmMKQEAgLTcyNiwxMyArNzI2LDE1IEBACiAvKgogICogZG9fZmlsdGVyOiBmaWx0ZXIgbGluZXMgdGhyb3VnaCBhIGNvbW1hbmQgZ2l2ZW4gYnkgdGhlIHVzZXIKICAqCi0gKiBXZSB1c2UgdGVtcCBmaWxlcyBhbmQgdGhlIGNhbGxfc2hlbGwoKSByb3V0aW5lIGhlcmUuIFRoaXMgd291bGQgbm9ybWFsbHkKLSAqIGJlIGRvbmUgdXNpbmcgcGlwZXMgb24gYSBVTklYIG1hY2hpbmUsIGJ1dCB0aGlzIGlzIG1vcmUgcG9ydGFibGUgdG8KLSAqIG5vbi11bml4IG1hY2hpbmVzLiBUaGUgY2FsbF9zaGVsbCgpIHJvdXRpbmUgbmVlZHMgdG8gYmUgYWJsZQorICogV2UgbW9zdGx5IHVzZSB0ZW1wIGZpbGVzIGFuZCB0aGUgY2FsbF9zaGVsbCgpIHJvdXRpbmUgaGVyZS4gVGhpcyB3b3VsZAorICogbm9ybWFsbHkgYmUgZG9uZSB1c2luZyBwaXBlcyBvbiBhIFVOSVggbWFjaGluZSwgYnV0IHRoaXMgaXMgbW9yZSBwb3J0YWJsZQorICogdG8gbm9uLXVuaXggbWFjaGluZXMuIFRoZSBjYWxsX3NoZWxsKCkgcm91dGluZSBuZWVkcyB0byBiZSBhYmxlCiAgKiB0byBkZWFsIHdpdGggcmVkaXJlY3Rpb24gc29tZWhvdywgYW5kIHNob3VsZCBoYW5kbGUgdGhpbmdzIGxpa2UgbG9va2luZwogICogYXQgdGhlIFBBVEggZW52LiB2YXJpYWJsZSwgYW5kIGFkZGluZyByZWFzb25hYmxlIGV4dGVuc2lvbnMgdG8gdGhlCiAgKiBjb21tYW5kIG5hbWUgZ2l2ZW4gYnkgdGhlIHVzZXIuIEFsbCByZWFzb25hYmxlIHZlcnNpb25zIG9mIGNhbGxfc2hlbGwoKQogICogZG8gdGhpcy4KKyAqIEFsdGVybmF0aXZlbHksIGlmIG9uIFVuaXggYW5kIHJlZGlyZWN0aW5nIGlucHV0IG9yIG91dHB1dCwgYnV0IG5vdCBib3RoLAorICogYW5kIHRoZSAnc2hlbGx0ZW1wJyBvcHRpb24gaXNuJ3Qgc2V0LCB1c2UgcGlwZXMuCiAgKiBXZSB1c2UgaW5wdXQgcmVkaXJlY3Rpb24gaWYgZG9faW4gaXMgVFJVRS4KICAqIFdlIHVzZSBvdXRwdXQgcmVkaXJlY3Rpb24gaWYgZG9fb3V0IGlzIFRSVUUuCiAgKi8KQEAgLTc1Miw2ICs3NTQsNyBAQAogI2lmZGVmIEZFQVRfQVVUT0NNRAogICAgIGJ1Zl9UCSpvbGRfY3VyYnVmID0gY3VyYnVmOwogI2VuZGlmCisgICAgaW50CQlzaGVsbF9mbGFncyA9IDA7CiAKICAgICBpZiAoKmNtZCA9PSBOVUwpCSAgICAvKiBubyBmaWx0ZXIgY29tbWFuZCAqLwogCXJldHVybjsKQEAgLTc3MiwyNyArNzc1LDU5IEBACiAgICAgaW52YWxpZGF0ZV9ib3RsaW5lKCk7CiAKICAgICAvKgotICAgICAqIDEuIEZvcm0gdGVtcCBmaWxlIG5hbWVzCi0gICAgICogMi4gV3JpdGUgdGhlIGxpbmVzIHRvIGEgdGVtcCBmaWxlCi0gICAgICogMy4gUnVuIHRoZSBmaWx0ZXIgY29tbWFuZCBvbiB0aGUgdGVtcCBmaWxlCi0gICAgICogNC4gUmVhZCB0aGUgb3V0cHV0IG9mIHRoZSBjb21tYW5kIGludG8gdGhlIGJ1ZmZlcgotICAgICAqIDUuIERlbGV0ZSB0aGUgb3JpZ2luYWwgbGluZXMgdG8gYmUgZmlsdGVyZWQKLSAgICAgKiA2LiBSZW1vdmUgdGhlIHRlbXAgZmlsZXMKKyAgICAgKiBXaGVuIHVzaW5nIHRlbXAgZmlsZXM6CisgICAgICogMS4gKiBGb3JtIHRlbXAgZmlsZSBuYW1lcworICAgICAqIDIuICogV3JpdGUgdGhlIGxpbmVzIHRvIGEgdGVtcCBmaWxlCisgICAgICogMy4gICBSdW4gdGhlIGZpbHRlciBjb21tYW5kIG9uIHRoZSB0ZW1wIGZpbGUKKyAgICAgKiA0LiAqIFJlYWQgdGhlIG91dHB1dCBvZiB0aGUgY29tbWFuZCBpbnRvIHRoZSBidWZmZXIKKyAgICAgKiA1LiAqIERlbGV0ZSB0aGUgb3JpZ2luYWwgbGluZXMgdG8gYmUgZmlsdGVyZWQKKyAgICAgKiA2LiAqIFJlbW92ZSB0aGUgdGVtcCBmaWxlcworICAgICAqCisgICAgICogV2hlbiB3cml0aW5nIHRoZSBpbnB1dCB3aXRoIGEgcGlwZSBvciB3aGVuIGNhdGNoaW5nIHRoZSBvdXRwdXQgd2l0aCBhCisgICAgICogcGlwZSBvbmx5IG5lZWQgdG8gZG8gMy4KICAgICAgKi8KIAotICAgIGlmICgoZG9faW4gJiYgKGl0bXAgPSB2aW1fdGVtcG5hbWUoJ2knKSkgPT0gTlVMTCkKLQkgICAgfHwgKGRvX291dCAmJiAob3RtcCA9IHZpbV90ZW1wbmFtZSgnbycpKSA9PSBOVUxMKSkKKyAgICBpZiAoZG9fb3V0KQorCXNoZWxsX2ZsYWdzIHw9IFNIRUxMX0RPT1VUOworCisjaWYgIWRlZmluZWQoVVNFX1NZU1RFTSkgJiYgZGVmaW5lZChVTklYKQorICAgIGlmICghZG9faW4gJiYgZG9fb3V0ICYmICFwX3N0bXApCiAgICAgewotCUVNU0coXyhlX25vdG1wKSk7Ci0JZ290byBmaWx0ZXJlbmQ7CisJLyogVXNlIGEgcGlwZSB0byBmZXRjaCBzdGRvdXQgb2YgdGhlIGNvbW1hbmQsIGRvIG5vdCB1c2UgYSB0ZW1wIGZpbGUuICovCisJc2hlbGxfZmxhZ3MgfD0gU0hFTExfUkVBRDsKKwljdXJ3aW4tPndfY3Vyc29yLmxudW0gPSBsaW5lMjsKICAgICB9CisgICAgZWxzZSBpZiAoZG9faW4gJiYgIWRvX291dCAmJiAhcF9zdG1wKQorICAgIHsKKwkvKiBVc2UgYSBwaXBlIHRvIHdyaXRlIHN0ZGluIG9mIHRoZSBjb21tYW5kLCBkbyBub3QgdXNlIGEgdGVtcCBmaWxlLiAqLworCXNoZWxsX2ZsYWdzIHw9IFNIRUxMX1dSSVRFOworCWN1cmJ1Zi0+Yl9vcF9zdGFydC5sbnVtID0gbGluZTE7CisJY3VyYnVmLT5iX29wX2VuZC5sbnVtID0gbGluZTI7CisgICAgfQorICAgIGVsc2UgaWYgKGRvX2luICYmIGRvX291dCAmJiAhcF9zdG1wKQorICAgIHsKKwkvKiBVc2UgYSBwaXBlIHRvIHdyaXRlIHN0ZGluIGFuZCBmZXRjaCBzdGRvdXQgb2YgdGhlIGNvbW1hbmQsIGRvIG5vdAorCSAqIHVzZSBhIHRlbXAgZmlsZS4gKi8KKwlzaGVsbF9mbGFncyB8PSBTSEVMTF9SRUFEfFNIRUxMX1dSSVRFOworCWN1cmJ1Zi0+Yl9vcF9zdGFydC5sbnVtID0gbGluZTE7CisJY3VyYnVmLT5iX29wX2VuZC5sbnVtID0gbGluZTI7CisJY3Vyd2luLT53X2N1cnNvci5sbnVtID0gbGluZTI7CisgICAgfQorICAgIGVsc2UKKyNlbmRpZgorCWlmICgoZG9faW4gJiYgKGl0bXAgPSB2aW1fdGVtcG5hbWUoJ2knKSkgPT0gTlVMTCkKKwkJfHwgKGRvX291dCAmJiAob3RtcCA9IHZpbV90ZW1wbmFtZSgnbycpKSA9PSBOVUxMKSkKKwl7CisJICAgIEVNU0coXyhlX25vdG1wKSk7CisJICAgIGdvdG8gZmlsdGVyZW5kOworCX0KIAogLyoKICAqIFRoZSB3cml0aW5nIGFuZCByZWFkaW5nIG9mIHRlbXAgZmlsZXMgd2lsbCBub3QgYmUgc2hvd24uCiAgKiBWaSBhbHNvIGRvZXNuJ3QgZG8gdGhpcyBhbmQgdGhlIG1lc3NhZ2VzIGFyZSBub3QgdmVyeSBpbmZvcm1hdGl2ZS4KICAqLwogICAgICsrbm9fd2FpdF9yZXR1cm47CQkvKiBkb24ndCBjYWxsIHdhaXRfcmV0dXJuKCkgd2hpbGUgYnVzeSAqLwotICAgIGlmIChkb19pbiAmJiBidWZfd3JpdGUoY3VyYnVmLCBpdG1wLCBOVUxMLCBsaW5lMSwgbGluZTIsIGVhcCwKKyAgICBpZiAoaXRtcCAhPSBOVUxMICYmIGJ1Zl93cml0ZShjdXJidWYsIGl0bXAsIE5VTEwsIGxpbmUxLCBsaW5lMiwgZWFwLAogCQkJCQkgICBGQUxTRSwgRkFMU0UsIEZBTFNFLCBUUlVFKSA9PSBGQUlMKQogICAgIHsKIAltc2dfcHV0Y2hhcignXG4nKTsJCS8qIGtlZXAgbWVzc2FnZSBmcm9tIGJ1Zl93cml0ZSgpICovCkBAIC04MjgsNiArODYzLDE0IEBACiAgICAgaWYgKCFkb19vdXQgfHwgU1RSQ01QKHBfc3JyLCAiPiIpID09IDAgfHwgIWRvX2luKQogCXJlZHJhd19sYXRlcl9jbGVhcigpOwogCisgICAgaWYgKGRvX291dCkKKyAgICB7CisJaWYgKHVfc2F2ZSgobGluZW5yX1QpKGxpbmUyKSwgKGxpbmVucl9UKShsaW5lMiArIDEpKSA9PSBGQUlMKQorCSAgICBnb3RvIGVycm9yOworCXJlZHJhd19jdXJidWZfbGF0ZXIoVkFMSUQpOworICAgIH0KKyAgICByZWFkX2xpbmVjb3VudCA9IGN1cmJ1Zi0+Yl9tbC5tbF9saW5lX2NvdW50OworCiAgICAgLyoKICAgICAgKiBXaGVuIGNhbGxfc2hlbGwoKSBmYWlscyB3YWl0X3JldHVybigpIGlzIGNhbGxlZCB0byBnaXZlIHRoZSB1c2VyIGEKICAgICAgKiBjaGFuY2UgdG8gcmVhZCB0aGUgZXJyb3IgbWVzc2FnZXMuIE90aGVyd2lzZSBlcnJvcnMgYXJlIGlnbm9yZWQsIHNvIHlvdQpAQCAtODM3LDggKzg4MCw3IEBACiAgICAgICogbGlrZSAiOnIgIWNhdCIgaGFuZ3MuCiAgICAgICogUGFzcyBvbiB0aGUgU0hFTExfRE9PVVQgZmxhZyB3aGVuIHRoZSBvdXRwdXQgaXMgYmVpbmcgcmVkaXJlY3RlZC4KICAgICAgKi8KLSAgICBpZiAoY2FsbF9zaGVsbChjbWRfYnVmLCBTSEVMTF9GSUxURVIgfCBTSEVMTF9DT09LRUQKLQkJCQkJCXwgKGRvX291dCA/IFNIRUxMX0RPT1VUIDogMCkpKQorICAgIGlmIChjYWxsX3NoZWxsKGNtZF9idWYsIFNIRUxMX0ZJTFRFUiB8IFNIRUxMX0NPT0tFRCB8IHNoZWxsX2ZsYWdzKSkKICAgICB7CiAJcmVkcmF3X2xhdGVyX2NsZWFyKCk7CiAJd2FpdF9yZXR1cm4oRkFMU0UpOwpAQCAtODU2LDMyICs4OTgsMzkgQEAKIAogICAgIGlmIChkb19vdXQpCiAgICAgewotCWlmICh1X3NhdmUoKGxpbmVucl9UKShsaW5lMiksIChsaW5lbnJfVCkobGluZTIgKyAxKSkgPT0gRkFJTCkKLQkgICAgZ290byBlcnJvcjsKLQlyZWRyYXdfY3VyYnVmX2xhdGVyKFZBTElEKTsKLQlyZWFkX2xpbmVjb3VudCA9IGN1cmJ1Zi0+Yl9tbC5tbF9saW5lX2NvdW50OwotCWlmIChyZWFkZmlsZShvdG1wLCBOVUxMLCBsaW5lMiwgKGxpbmVucl9UKTAsIChsaW5lbnJfVClNQVhMTlVNLCBlYXAsCi0JCQkJCQkJIFJFQURfRklMVEVSKSA9PSBGQUlMKQorCWlmIChvdG1wICE9IE5VTEwpCiAJewotI2lmIGRlZmluZWQoRkVBVF9BVVRPQ01EKSAmJiBkZWZpbmVkKEZFQVRfRVZBTCkKLQkgICAgaWYgKCFhYm9ydGluZygpKQotI2VuZGlmCisJICAgIGlmIChyZWFkZmlsZShvdG1wLCBOVUxMLCBsaW5lMiwgKGxpbmVucl9UKTAsIChsaW5lbnJfVClNQVhMTlVNLAorCQkJCQkJICAgIGVhcCwgUkVBRF9GSUxURVIpID09IEZBSUwpCiAJICAgIHsKLQkJbXNnX3B1dGNoYXIoJ1xuJyk7Ci0JCUVNU0cyKF8oZV9ub3RyZWFkKSwgb3RtcCk7Ci0JICAgIH0KLQkgICAgZ290byBlcnJvcjsKLQl9Ci0jaWZkZWYgRkVBVF9BVVRPQ01ECi0JaWYgKGN1cmJ1ZiAhPSBvbGRfY3VyYnVmKQotCSAgICBnb3RvIGZpbHRlcmVuZDsKKyNpZiBkZWZpbmVkKEZFQVRfQVVUT0NNRCkgJiYgZGVmaW5lZChGRUFUX0VWQUwpCisJCWlmICghYWJvcnRpbmcoKSkKICNlbmRpZgorCQl7CisJCSAgICBtc2dfcHV0Y2hhcignXG4nKTsKKwkJICAgIEVNU0cyKF8oZV9ub3RyZWFkKSwgb3RtcCk7CisJCX0KKwkJZ290byBlcnJvcjsKKwkgICAgfQorI2lmZGVmIEZFQVRfQVVUT0NNRAorCSAgICBpZiAoY3VyYnVmICE9IG9sZF9jdXJidWYpCisJCWdvdG8gZmlsdGVyZW5kOworI2VuZGlmCisJfQorCisJcmVhZF9saW5lY291bnQgPSBjdXJidWYtPmJfbWwubWxfbGluZV9jb3VudCAtIHJlYWRfbGluZWNvdW50OworCisJaWYgKHNoZWxsX2ZsYWdzICYgU0hFTExfUkVBRCkKKwl7CisJICAgIGN1cmJ1Zi0+Yl9vcF9zdGFydC5sbnVtID0gbGluZTIgKyAxOworCSAgICBjdXJidWYtPmJfb3BfZW5kLmxudW0gPSBjdXJ3aW4tPndfY3Vyc29yLmxudW07CisJICAgIGFwcGVuZGVkX2xpbmVzX21hcmsobGluZTIsIHJlYWRfbGluZWNvdW50KTsKKwl9CiAKIAlpZiAoZG9faW4pCiAJewogCSAgICBpZiAoY21kbW9kLmtlZXBtYXJrcyB8fCB2aW1fc3RyY2hyKHBfY3BvLCBDUE9fUkVNTUFSSykgPT0gTlVMTCkKIAkgICAgewotCQlyZWFkX2xpbmVjb3VudCA9IGN1cmJ1Zi0+Yl9tbC5tbF9saW5lX2NvdW50IC0gcmVhZF9saW5lY291bnQ7CiAJCWlmIChyZWFkX2xpbmVjb3VudCA+PSBsaW5lY291bnQpCiAJCSAgICAvKiBtb3ZlIGFsbCBtYXJrcyBmcm9tIG9sZCBsaW5lcyB0byBuZXcgbGluZXMgKi8KIAkJICAgIG1hcmtfYWRqdXN0KGxpbmUxLCBsaW5lMiwgbGluZWNvdW50LCAwTCk7CkBAIC05MTQsOCArOTYzLDggQEAKIAkgICAgLyoKIAkgICAgICogUHV0IGN1cnNvciBvbiBsYXN0IG5ldyBsaW5lIGZvciAiOnIgIWNtZCIuCiAJICAgICAqLwotCSAgICBjdXJ3aW4tPndfY3Vyc29yLmxudW0gPSBjdXJidWYtPmJfb3BfZW5kLmxudW07CiAJICAgIGxpbmVjb3VudCA9IGN1cmJ1Zi0+Yl9vcF9lbmQubG51bSAtIGN1cmJ1Zi0+Yl9vcF9zdGFydC5sbnVtICsgMTsKKwkgICAgY3Vyd2luLT53X2N1cnNvci5sbnVtID0gY3VyYnVmLT5iX29wX2VuZC5sbnVtOwogCX0KIAogCWJlZ2lubGluZShCTF9XSElURSB8IEJMX0ZJWCk7CSAgICAvKiBjdXJzb3Igb24gZmlyc3Qgbm9uLWJsYW5rICovCkBAIC0xMTY3LDkgKzEyMTYsMTMgQEAKIAogI2lmIChkZWZpbmVkKFVOSVgpICYmICFkZWZpbmVkKEFSQ0hJRSkpIHx8IGRlZmluZWQoT1MyKQogICAgIC8qCi0gICAgICogcHV0IGJyYWNlcyBhcm91bmQgdGhlIGNvbW1hbmQgKGZvciBjb25jYXRlbmF0ZWQgY29tbWFuZHMpCisgICAgICogUHV0IGJyYWNlcyBhcm91bmQgdGhlIGNvbW1hbmQgKGZvciBjb25jYXRlbmF0ZWQgY29tbWFuZHMpIHdoZW4KKyAgICAgKiByZWRpcmVjdGluZyBpbnB1dCBhbmQvb3Igb3V0cHV0LgogICAgICAqLwotICAgIHNwcmludGYoKGNoYXIgKilidWYsICIoJXMpIiwgKGNoYXIgKiljbWQpOworICAgIGlmIChpdG1wICE9IE5VTEwgfHwgb3RtcCAhPSBOVUxMKQorCXNwcmludGYoKGNoYXIgKilidWYsICIoJXMpIiwgKGNoYXIgKiljbWQpOworICAgIGVsc2UKKwlTVFJDUFkoYnVmLCBjbWQpOwogICAgIGlmIChpdG1wICE9IE5VTEwpCiAgICAgewogCVNUUkNBVChidWYsICIgPCAiKTsKQEAgLTE5NTgsOSArMjAxMSwxMCBAQAogfQogCiAgICAgdm9pZAotcHJpbnRfbGluZV9ub19wcmVmaXgobG51bSwgdXNlX251bWJlcikKK3ByaW50X2xpbmVfbm9fcHJlZml4KGxudW0sIHVzZV9udW1iZXIsIGxpc3QpCiAgICAgbGluZW5yX1QJbG51bTsKICAgICBpbnQJCXVzZV9udW1iZXI7CisgICAgaW50CQlsaXN0OwogewogICAgIGNoYXJfdQludW1idWZbMzBdOwogCkBAIC0xOTY5LDI4ICsyMDIzLDMxIEBACiAJc3ByaW50ZigoY2hhciAqKW51bWJ1ZiwgIiUqbGQgIiwgbnVtYmVyX3dpZHRoKGN1cndpbiksIChsb25nKWxudW0pOwogCW1zZ19wdXRzX2F0dHIobnVtYnVmLCBobF9hdHRyKEhMRl9OKSk7CS8qIEhpZ2hsaWdodCBsaW5lIG5ycyAqLwogICAgIH0KLSAgICBtc2dfcHJ0X2xpbmUobWxfZ2V0KGxudW0pKTsKKyAgICBtc2dfcHJ0X2xpbmUobWxfZ2V0KGxudW0pLCBsaXN0KTsKIH0KIAogLyoKICAqIFByaW50IGEgdGV4dCBsaW5lLiAgQWxzbyBpbiBzaWxlbnQgbW9kZSAoImV4IC1zIikuCiAgKi8KICAgICB2b2lkCi1wcmludF9saW5lKGxudW0sIHVzZV9udW1iZXIpCitwcmludF9saW5lKGxudW0sIHVzZV9udW1iZXIsIGxpc3QpCiAgICAgbGluZW5yX1QJbG51bTsKICAgICBpbnQJCXVzZV9udW1iZXI7CisgICAgaW50CQlsaXN0OwogewogICAgIGludAkJc2F2ZV9zaWxlbnQgPSBzaWxlbnRfbW9kZTsKIAotICAgIHNpbGVudF9tb2RlID0gRkFMU0U7CiAgICAgbXNnX3N0YXJ0KCk7Ci0gICAgcHJpbnRfbGluZV9ub19wcmVmaXgobG51bSwgdXNlX251bWJlcik7CisgICAgc2lsZW50X21vZGUgPSBGQUxTRTsKKyAgICBpbmZvX21lc3NhZ2UgPSBUUlVFOwkvKiB1c2UgbWNoX21zZygpLCBub3QgbWNoX2Vycm1zZygpICovCisgICAgcHJpbnRfbGluZV9ub19wcmVmaXgobG51bSwgdXNlX251bWJlciwgbGlzdCk7CiAgICAgaWYgKHNhdmVfc2lsZW50KQogICAgIHsKIAltc2dfcHV0Y2hhcignXG4nKTsKIAljdXJzb3Jfb24oKTsJCS8qIG1zZ19zdGFydCgpIHN3aXRjaGVzIGl0IG9mZiAqLwogCW91dF9mbHVzaCgpOwogCXNpbGVudF9tb2RlID0gc2F2ZV9zaWxlbnQ7CisJaW5mb19tZXNzYWdlID0gRkFMU0U7CiAgICAgfQogfQogCkBAIC0zMjQwLDYgKzMyOTcsOCBAQAogfQogI2VuZGlmCiAKK3N0YXRpYyBpbnQgYXBwZW5kX2luZGVudCA9IDA7CSAgICAvKiBhdXRvaW5kZW50IGZvciBmaXJzdCBsaW5lICovCisKIC8qCiAgKiAiOmluc2VydCIgYW5kICI6YXBwZW5kIiwgYWxzbyB1c2VkIGJ5ICI6Y2hhbmdlIgogICovCkBAIC0zMjU1LDYgKzMzMTQsMTQgQEAKICAgICBpbnQJCXZjb2w7CiAgICAgaW50CQllbXB0eSA9IChjdXJidWYtPmJfbWwubWxfZmxhZ3MgJiBNTF9FTVBUWSk7CiAKKyAgICAvKiB0aGUgISBmbGFnIHRvZ2dsZXMgYXV0b2luZGVudCAqLworICAgIGlmIChlYXAtPmZvcmNlaXQpCisJY3VyYnVmLT5iX3BfYWkgPSAhY3VyYnVmLT5iX3BfYWk7CisKKyAgICAvKiBGaXJzdCBhdXRvaW5kZW50IGNvbWVzIGZyb20gdGhlIGxpbmUgd2Ugc3RhcnQgb24gKi8KKyAgICBpZiAoZWFwLT5jbWRpZHggIT0gQ01EX2NoYW5nZSAmJiBjdXJidWYtPmJfcF9haSAmJiBsbnVtID4gMCkKKwlhcHBlbmRfaW5kZW50ID0gZ2V0X2luZGVudF9sbnVtKGxudW0pOworCiAgICAgaWYgKGVhcC0+Y21kaWR4ICE9IENNRF9hcHBlbmQpCiAJLS1sbnVtOwogCkBAIC0zMjcwLDE0ICszMzM3LDMxIEBACiAgICAgewogCW1zZ19zY3JvbGwgPSBUUlVFOwogCW5lZWRfd2FpdF9yZXR1cm4gPSBGQUxTRTsKLQlpZiAoY3VyYnVmLT5iX3BfYWkgJiYgbG51bSA+IDApCi0JICAgIGluZGVudCA9IGdldF9pbmRlbnRfbG51bShsbnVtKTsKKwlpZiAoY3VyYnVmLT5iX3BfYWkpCisJeworCSAgICBpZiAoYXBwZW5kX2luZGVudCA+PSAwKQorCSAgICB7CisJCWluZGVudCA9IGFwcGVuZF9pbmRlbnQ7CisJCWFwcGVuZF9pbmRlbnQgPSAtMTsKKwkgICAgfQorCSAgICBlbHNlIGlmIChsbnVtID4gMCkKKwkJaW5kZW50ID0gZ2V0X2luZGVudF9sbnVtKGxudW0pOworCX0KKwlleF9rZWVwX2luZGVudCA9IEZBTFNFOwogCWlmIChlYXAtPmdldGxpbmUgPT0gTlVMTCkKLQkgICAgdGhlbGluZSA9IGdldGNtZGxpbmUoCi0jaWZkZWYgRkVBVF9FVkFMCi0JCSAgICBlYXAtPmNzdGFjay0+Y3NfbG9vcGxldmVsID4gMCA/IC0xIDoKLSNlbmRpZgotCQkgICAgTlVMLCAwTCwgaW5kZW50KTsKKwl7CisJICAgIC8qIE5vIGdldGxpbmUoKSBmdW5jdGlvbiwgdXNlIHRoZSBsaW5lcyB0aGF0IGZvbGxvdy4gVGhpcyBlbmRzCisJICAgICAqIHdoZW4gdGhlcmUgaXMgbm8gbW9yZS4gKi8KKwkgICAgaWYgKGVhcC0+bmV4dGNtZCA9PSBOVUxMIHx8ICplYXAtPm5leHRjbWQgPT0gTlVMKQorCQlicmVhazsKKwkgICAgcCA9IHZpbV9zdHJjaHIoZWFwLT5uZXh0Y21kLCBOTCk7CisJICAgIGlmIChwID09IE5VTEwpCisJCXAgPSBlYXAtPm5leHRjbWQgKyBTVFJMRU4oZWFwLT5uZXh0Y21kKTsKKwkgICAgdGhlbGluZSA9IHZpbV9zdHJuc2F2ZShlYXAtPm5leHRjbWQsIChpbnQpKHAgLSBlYXAtPm5leHRjbWQpKTsKKwkgICAgaWYgKCpwICE9IE5VTCkKKwkJKytwOworCSAgICBlYXAtPm5leHRjbWQgPSBwOworCX0KIAllbHNlCiAJICAgIHRoZWxpbmUgPSBlYXAtPmdldGxpbmUoCiAjaWZkZWYgRkVBVF9FVkFMCkBAIC0zMjg4LDYgKzMzNzIsMTAgQEAKIAlpZiAodGhlbGluZSA9PSBOVUxMKQogCSAgICBicmVhazsKIAorCS8qIFVzaW5nIF4gQ1RSTC1EIGluIGdldGV4bW9kZWxpbmUoKSBtYWtlcyB1cyByZXBlYXQgdGhlIGluZGVudC4gKi8KKwlpZiAoZXhfa2VlcF9pbmRlbnQpCisJICAgIGFwcGVuZF9pbmRlbnQgPSBpbmRlbnQ7CisKIAkvKiBMb29rIGZvciB0aGUgIi4iIGFmdGVyIGF1dG9tYXRpYyBpbmRlbnQuICovCiAJdmNvbCA9IDA7CiAJZm9yIChwID0gdGhlbGluZTsgaW5kZW50ID4gdmNvbDsgKytwKQpAQCAtMzMwNiwxMyArMzM5NCwxNiBAQAogCSAgICBicmVhazsKIAl9CiAKKwkvKiBkb24ndCB1c2UgYXV0b2luZGVudCBpZiBub3RoaW5nIHdhcyB0eXBlZC4gKi8KKwlpZiAocFswXSA9PSBOVUwpCisJICAgIHRoZWxpbmVbMF0gPSBOVUw7CisKIAlkaWRfdW5kbyA9IFRSVUU7CiAJbWxfYXBwZW5kKGxudW0sIHRoZWxpbmUsIChjb2xucl9UKTAsIEZBTFNFKTsKIAlhcHBlbmRlZF9saW5lc19tYXJrKGxudW0sIDFMKTsKIAogCXZpbV9mcmVlKHRoZWxpbmUpOwogCSsrbG51bTsKLQltc2dfZGlkb3V0ID0gVFJVRTsJLyogYWxzbyBzY3JvbGwgZm9yIGVtcHR5IGxpbmUgKi8KIAogCWlmIChlbXB0eSkKIAl7CkBAIC0zMzIyLDYgKzM0MTMsOSBAQAogICAgIH0KICAgICBTdGF0ZSA9IE5PUk1BTDsKIAorICAgIGlmIChlYXAtPmZvcmNlaXQpCisJY3VyYnVmLT5iX3BfYWkgPSAhY3VyYnVmLT5iX3BfYWk7CisKICAgICAvKiAic3RhcnQiIGlzIHNldCB0byBlYXAtPmxpbmUyKzEgdW5sZXNzIHRoYXQgcG9zaXRpb24gaXMgaW52YWxpZCAod2hlbgogICAgICAqIGVhcC0+bGluZTIgcG9pbnRlZCB0byB0aGUgZW5kIG9mIHRoZSBidWZmZXIgYW5kIG5vdGhpZyB3YXMgYXBwZW5kZWQpCiAgICAgICogImVuZCIgaXMgc2V0IHRvIGxudW0gd2hlbiBzb21ldGhpbmcgaGFzIGJlZW4gYXBwZW5kZWQsIG90aGVyd2lzZQpAQCAtMzM1NCw2ICszNDQ4LDEwIEBACiAJICAgICYmIHVfc2F2ZShlYXAtPmxpbmUxIC0gMSwgZWFwLT5saW5lMiArIDEpID09IEZBSUwpCiAJcmV0dXJuOwogCisgICAgLyogdGhlICEgZmxhZyB0b2dnbGVzIGF1dG9pbmRlbnQgKi8KKyAgICBpZiAoZWFwLT5mb3JjZWl0ID8gIWN1cmJ1Zi0+Yl9wX2FpIDogY3VyYnVmLT5iX3BfYWkpCisJYXBwZW5kX2luZGVudCA9IGdldF9pbmRlbnRfbG51bShlYXAtPmxpbmUxKTsKKwogICAgIGZvciAobG51bSA9IGVhcC0+bGluZTI7IGxudW0gPj0gZWFwLT5saW5lMTsgLS1sbnVtKQogICAgIHsKIAlpZiAoY3VyYnVmLT5iX21sLm1sX2ZsYWdzICYgTUxfRU1QVFkpCSAgICAvKiBub3RoaW5nIHRvIGRlbGV0ZSAqLwpAQCAtMzM3NCw3ICszNDcyLDYgQEAKICAgICBjaGFyX3UJKng7CiAgICAgaW50CQliaWduZXNzOwogICAgIGNoYXJfdQkqa2luZDsKLSAgICBpbnQJCW51bWJlcmVkID0gRkFMU0U7CiAgICAgaW50CQltaW51cyA9IDA7CiAgICAgbGluZW5yX1QJc3RhcnQsIGVuZCwgY3VycywgaTsKICAgICBpbnQJCWo7CkBAIC0zMzkyLDEyICszNDg5LDYgQEAKIAliaWduZXNzID0gMTsKIAogICAgIHggPSBlYXAtPmFyZzsKLSAgICBpZiAoKnggPT0gJyMnKQotICAgIHsKLQludW1iZXJlZCA9IFRSVUU7Ci0JKyt4OwotICAgIH0KLQogICAgIGtpbmQgPSB4OwogICAgIGlmICgqa2luZCA9PSAnLScgfHwgKmtpbmQgPT0gJysnIHx8ICpraW5kID09ICc9JwogCQkJCQkgICAgICB8fCAqa2luZCA9PSAnXicgfHwgKmtpbmQgPT0gJy4nKQpAQCAtMzQxNiw2ICszNTA3LDggQEAKIAl7CiAJICAgIGJpZ25lc3MgPSBhdG9pKChjaGFyICopeCk7CiAJICAgIHBfd2luZG93ID0gYmlnbmVzczsKKwkgICAgaWYgKCpraW5kID09ICc9JykKKwkJYmlnbmVzcyArPSAyOwogCX0KICAgICB9CiAKQEAgLTM0NTQsOCArMzU0NywxMCBAQAogCWRlZmF1bHQ6ICAvKiAnKycgKi8KIAkgICAgc3RhcnQgPSBsbnVtOwogCSAgICBpZiAoKmtpbmQgPT0gJysnKQotCQlzdGFydCArPSBiaWduZXNzICogKHggLSBraW5kIC0gMSk7Ci0JICAgIGVuZCA9IHN0YXJ0ICsgYmlnbmVzczsKKwkJc3RhcnQgKz0gYmlnbmVzcyAqICh4IC0ga2luZCAtIDEpICsgMTsKKwkgICAgZWxzZSBpZiAoZWFwLT5hZGRyX2NvdW50ID09IDApCisJCSsrc3RhcnQ7CisJICAgIGVuZCA9IHN0YXJ0ICsgYmlnbmVzcyAtIDE7CiAJICAgIGN1cnMgPSBlbmQ7CiAJICAgIGJyZWFrOwogICAgIH0KQEAgLTM0NzksNyArMzU3NCw3IEBACiAJCW1zZ19wdXRjaGFyKCctJyk7CiAJfQogCi0JcHJpbnRfbGluZShpLCBudW1iZXJlZCk7CisJcHJpbnRfbGluZShpLCBlYXAtPmZsYWdzICYgRVhGTEFHX05SLCBlYXAtPmZsYWdzICYgRVhGTEFHX0xJU1QpOwogCiAJaWYgKG1pbnVzICYmIGkgPT0gbG51bSkKIAl7CkBAIC0zNTY4LDYgKzM2NjMsOCBAQAogICAgIHN0YXRpYyBpbnQJZG9fYXNrID0gRkFMU0U7CQkvKiBhc2sgZm9yIGNvbmZpcm1hdGlvbiAqLwogICAgIHN0YXRpYyBpbnQJZG9fZXJyb3IgPSBUUlVFOwkvKiBpZiBmYWxzZSwgaWdub3JlIGVycm9ycyAqLwogICAgIHN0YXRpYyBpbnQJZG9fcHJpbnQgPSBGQUxTRTsJLyogcHJpbnQgbGFzdCBsaW5lIHdpdGggc3Vicy4gKi8KKyAgICBzdGF0aWMgaW50CWRvX2xpc3QgPSBGQUxTRTsJLyogbGlzdCBsYXN0IGxpbmUgd2l0aCBzdWJzLiAqLworICAgIHN0YXRpYyBpbnQJZG9fbnVtYmVyID0gRkFMU0U7CS8qIGxpc3QgbGFzdCBsaW5lIHdpdGggbGluZSBuciovCiAgICAgc3RhdGljIGludAlkb19pYyA9IDA7CQkvKiBpZ25vcmUgY2FzZSBmbGFnICovCiAgICAgY2hhcl91CSpwYXQgPSBOVUxMLCAqc3ViID0gTlVMTDsJLyogaW5pdCBmb3IgR0NDICovCiAgICAgaW50CQlkZWxpbWl0ZXI7CkBAIC0zNjYzLDggKzM3NjAsMjIgQEAKIAogCWlmICghZWFwLT5za2lwKQogCXsKLQkgICAgdmltX2ZyZWUob2xkX3N1Yik7Ci0JICAgIG9sZF9zdWIgPSB2aW1fc3Ryc2F2ZShzdWIpOworCSAgICAvKiBJbiBQT1NJWCB2aSAiOnMvcGF0LyUvIiB1c2VzIHRoZSBwcmV2aW91cyBzdWJzdC4gc3RyaW5nLiAqLworCSAgICBpZiAoU1RSQ01QKHN1YiwgIiUiKSA9PSAwCisJCQkJICYmIHZpbV9zdHJjaHIocF9jcG8sIENQT19TVUJQRVJDRU5UKSAhPSBOVUxMKQorCSAgICB7CisJCWlmIChvbGRfc3ViID09IE5VTEwpCS8qIHRoZXJlIGlzIG5vIHByZXZpb3VzIGNvbW1hbmQgKi8KKwkJeworCQkgICAgRU1TRyhfKGVfbm9wcmVzdWIpKTsKKwkJICAgIHJldHVybjsKKwkJfQorCQlzdWIgPSBvbGRfc3ViOworCSAgICB9CisJICAgIGVsc2UKKwkgICAgeworCQl2aW1fZnJlZShvbGRfc3ViKTsKKwkJb2xkX3N1YiA9IHZpbV9zdHJzYXZlKHN1Yik7CisJICAgIH0KIAl9CiAgICAgfQogICAgIGVsc2UgaWYgKCFlYXAtPnNraXApCS8qIHVzZSBwcmV2aW91cyBwYXR0ZXJuIGFuZCBzdWJzdGl0dXRpb24gKi8KQEAgLTM3MTcsNiArMzgyOCwxNiBAQAogCSAgICB3aGljaF9wYXQgPSBSRV9MQVNUOwogCWVsc2UgaWYgKCpjbWQgPT0gJ3AnKQogCSAgICBkb19wcmludCA9IFRSVUU7CisJZWxzZSBpZiAoKmNtZCA9PSAnIycpCisJeworCSAgICBkb19wcmludCA9IFRSVUU7CisJICAgIGRvX251bWJlciA9IFRSVUU7CisJfQorCWVsc2UgaWYgKCpjbWQgPT0gJ2wnKQorCXsKKwkgICAgZG9fcHJpbnQgPSBUUlVFOworCSAgICBkb19saXN0ID0gVFJVRTsKKwl9CiAJZWxzZSBpZiAoKmNtZCA9PSAnaScpCSAgICAvKiBpZ25vcmUgY2FzZSAqLwogCSAgICBkb19pYyA9ICdpJzsKIAllbHNlIGlmICgqY21kID09ICdJJykJICAgIC8qIGRvbid0IGlnbm9yZSBjYXNlICovCkBAIC0zOTMyLDU4ICs0MDUzLDg2IEBACiAJCSAgICAgKi8KIAkJICAgIHdoaWxlIChkb19hc2spCiAJCSAgICB7CisJCQlpZiAoZXhtb2RlX2FjdGl2ZSkKKwkJCXsKKwkJCSAgICBjaGFyX3UJKnJlc3A7CisJCQkgICAgY29sbnJfVAlzYywgZWM7CisKKwkJCSAgICBwcmludF9saW5lX25vX3ByZWZpeChsbnVtLCBGQUxTRSwgRkFMU0UpOworCisJCQkgICAgZ2V0dmNvbChjdXJ3aW4sICZjdXJ3aW4tPndfY3Vyc29yLCAmc2MsIE5VTEwsIE5VTEwpOworCQkJICAgIGN1cndpbi0+d19jdXJzb3IuY29sID0gcmVnbWF0Y2guZW5kcG9zWzBdLmNvbCAtIDE7CisJCQkgICAgZ2V0dmNvbChjdXJ3aW4sICZjdXJ3aW4tPndfY3Vyc29yLCBOVUxMLCBOVUxMLCAmZWMpOworCQkJICAgIG1zZ19zdGFydCgpOworCQkJICAgIGZvciAoaSA9IDA7IGkgPCBzYzsgKytpKQorCQkJCW1zZ19wdXRjaGFyKCcgJyk7CisJCQkgICAgZm9yICggOyBpIDw9IGVjOyArK2kpCisJCQkJbXNnX3B1dGNoYXIoJ14nKTsKKworCQkJICAgIHJlc3AgPSBnZXRleG1vZGVsaW5lKCc/JywgTlVMTCwgMCk7CisJCQkgICAgaWYgKHJlc3AgIT0gTlVMTCkKKwkJCSAgICB7CisJCQkJaSA9ICpyZXNwOworCQkJCXZpbV9mcmVlKHJlc3ApOworCQkJICAgIH0KKwkJCX0KKwkJCWVsc2UKKwkJCXsKICNpZmRlZiBGRUFUX0ZPTERJTkcKLQkJCWludCBzYXZlX3BfZmVuID0gY3Vyd2luLT53X3BfZmVuOworCQkJICAgIGludCBzYXZlX3BfZmVuID0gY3Vyd2luLT53X3BfZmVuOwogCi0JCQljdXJ3aW4tPndfcF9mZW4gPSBGQUxTRTsKKwkJCSAgICBjdXJ3aW4tPndfcF9mZW4gPSBGQUxTRTsKICNlbmRpZgotCQkJLyogSW52ZXJ0IHRoZSBtYXRjaGVkIHN0cmluZy4KLQkJCSAqIFJlbW92ZSB0aGUgaW52ZXJzaW9uIGFmdGVyd2FyZHMuICovCi0JCQl0ZW1wID0gUmVkcmF3aW5nRGlzYWJsZWQ7Ci0JCQlSZWRyYXdpbmdEaXNhYmxlZCA9IDA7CisJCQkgICAgLyogSW52ZXJ0IHRoZSBtYXRjaGVkIHN0cmluZy4KKwkJCSAgICAgKiBSZW1vdmUgdGhlIGludmVyc2lvbiBhZnRlcndhcmRzLiAqLworCQkJICAgIHRlbXAgPSBSZWRyYXdpbmdEaXNhYmxlZDsKKwkJCSAgICBSZWRyYXdpbmdEaXNhYmxlZCA9IDA7CiAKLQkJCXNlYXJjaF9tYXRjaF9saW5lcyA9IHJlZ21hdGNoLmVuZHBvc1swXS5sbnVtOwotCQkJc2VhcmNoX21hdGNoX2VuZGNvbCA9IHJlZ21hdGNoLmVuZHBvc1swXS5jb2w7Ci0JCQloaWdobGlnaHRfbWF0Y2ggPSBUUlVFOworCQkJICAgIHNlYXJjaF9tYXRjaF9saW5lcyA9IHJlZ21hdGNoLmVuZHBvc1swXS5sbnVtOworCQkJICAgIHNlYXJjaF9tYXRjaF9lbmRjb2wgPSByZWdtYXRjaC5lbmRwb3NbMF0uY29sOworCQkJICAgIGhpZ2hsaWdodF9tYXRjaCA9IFRSVUU7CiAKLQkJCXVwZGF0ZV90b3BsaW5lKCk7Ci0JCQl2YWxpZGF0ZV9jdXJzb3IoKTsKLQkJCXVwZGF0ZV9zY3JlZW4oTk9UX1ZBTElEKTsKLQkJCWhpZ2hsaWdodF9tYXRjaCA9IEZBTFNFOwotCQkJcmVkcmF3X2xhdGVyKE5PVF9WQUxJRCk7CisJCQkgICAgdXBkYXRlX3RvcGxpbmUoKTsKKwkJCSAgICB2YWxpZGF0ZV9jdXJzb3IoKTsKKwkJCSAgICB1cGRhdGVfc2NyZWVuKE5PVF9WQUxJRCk7CisJCQkgICAgaGlnaGxpZ2h0X21hdGNoID0gRkFMU0U7CisJCQkgICAgcmVkcmF3X2xhdGVyKE5PVF9WQUxJRCk7CiAKICNpZmRlZiBGRUFUX0ZPTERJTkcKLQkJCWN1cndpbi0+d19wX2ZlbiA9IHNhdmVfcF9mZW47CisJCQkgICAgY3Vyd2luLT53X3BfZmVuID0gc2F2ZV9wX2ZlbjsKICNlbmRpZgotCQkJaWYgKG1zZ19yb3cgPT0gUm93cyAtIDEpCi0JCQkgICAgbXNnX2RpZG91dCA9IEZBTFNFOwkJLyogYXZvaWQgYSBzY3JvbGwtdXAgKi8KLQkJCW1zZ19zdGFydGhlcmUoKTsKLQkJCWkgPSBtc2dfc2Nyb2xsOwotCQkJbXNnX3Njcm9sbCA9IDA7CQkvKiB0cnVuY2F0ZSBtc2cgd2hlbiBuZWVkZWQgKi8KLQkJCW1zZ19ub19tb3JlID0gVFJVRTsKLQkJCS8qIHdyaXRlIG1lc3NhZ2Ugc2FtZSBoaWdobGlnaHRpbmcgYXMgZm9yIHdhaXRfcmV0dXJuICovCi0JCQlzbXNnX2F0dHIoaGxfYXR0cihITEZfUiksCi0JCQkgICAgKGNoYXJfdSAqKV8oInJlcGxhY2Ugd2l0aCAlcyAoeS9uL2EvcS9sL15FL15ZKT8iKSwKLQkJCQlzdWIpOwotCQkJbXNnX25vX21vcmUgPSBGQUxTRTsKLQkJCW1zZ19zY3JvbGwgPSBpOwotCQkJc2hvd3J1bGVyKFRSVUUpOwotCQkJd2luZGdvdG8obXNnX3JvdywgbXNnX2NvbCk7Ci0JCQlSZWRyYXdpbmdEaXNhYmxlZCA9IHRlbXA7CisJCQkgICAgaWYgKG1zZ19yb3cgPT0gUm93cyAtIDEpCisJCQkJbXNnX2RpZG91dCA9IEZBTFNFOwkvKiBhdm9pZCBhIHNjcm9sbC11cCAqLworCQkJICAgIG1zZ19zdGFydGhlcmUoKTsKKwkJCSAgICBpID0gbXNnX3Njcm9sbDsKKwkJCSAgICBtc2dfc2Nyb2xsID0gMDsJCS8qIHRydW5jYXRlIG1zZyB3aGVuCisJCQkJCQkJICAgbmVlZGVkICovCisJCQkgICAgbXNnX25vX21vcmUgPSBUUlVFOworCQkJICAgIC8qIHdyaXRlIG1lc3NhZ2Ugc2FtZSBoaWdobGlnaHRpbmcgYXMgZm9yCisJCQkgICAgICogd2FpdF9yZXR1cm4gKi8KKwkJCSAgICBzbXNnX2F0dHIoaGxfYXR0cihITEZfUiksCisJCQkJICAgIChjaGFyX3UgKilfKCJyZXBsYWNlIHdpdGggJXMgKHkvbi9hL3EvbC9eRS9eWSk/IiksIHN1Yik7CisJCQkgICAgbXNnX25vX21vcmUgPSBGQUxTRTsKKwkJCSAgICBtc2dfc2Nyb2xsID0gaTsKKwkJCSAgICBzaG93cnVsZXIoVFJVRSk7CisJCQkgICAgd2luZGdvdG8obXNnX3JvdywgbXNnX2NvbCk7CisJCQkgICAgUmVkcmF3aW5nRGlzYWJsZWQgPSB0ZW1wOwogCiAjaWZkZWYgVVNFX09OX0ZMWV9TQ1JPTEwKLQkJCWRvbnRfc2Nyb2xsID0gRkFMU0U7CS8qIGFsbG93IHNjcm9sbGluZyBoZXJlICovCisJCQkgICAgZG9udF9zY3JvbGwgPSBGQUxTRTsgLyogYWxsb3cgc2Nyb2xsaW5nIGhlcmUgKi8KICNlbmRpZgotCQkJKytub19tYXBwaW5nOwkJLyogZG9uJ3QgbWFwIHRoaXMga2V5ICovCi0JCQkrK2FsbG93X2tleXM7CQkvKiBhbGxvdyBzcGVjaWFsIGtleXMgKi8KLQkJCWkgPSBzYWZlX3ZnZXRjKCk7Ci0JCQktLWFsbG93X2tleXM7Ci0JCQktLW5vX21hcHBpbmc7CisJCQkgICAgKytub19tYXBwaW5nOwkvKiBkb24ndCBtYXAgdGhpcyBrZXkgKi8KKwkJCSAgICArK2FsbG93X2tleXM7CS8qIGFsbG93IHNwZWNpYWwga2V5cyAqLworCQkJICAgIGkgPSBzYWZlX3ZnZXRjKCk7CisJCQkgICAgLS1hbGxvd19rZXlzOworCQkJICAgIC0tbm9fbWFwcGluZzsKIAotCQkJLyogY2xlYXIgdGhlIHF1ZXN0aW9uICovCi0JCQltc2dfZGlkb3V0ID0gRkFMU0U7CS8qIGRvbid0IHNjcm9sbCB1cCAqLwotCQkJbXNnX2NvbCA9IDA7Ci0JCQlnb3RvY21kbGluZShUUlVFKTsKKwkJCSAgICAvKiBjbGVhciB0aGUgcXVlc3Rpb24gKi8KKwkJCSAgICBtc2dfZGlkb3V0ID0gRkFMU0U7CS8qIGRvbid0IHNjcm9sbCB1cCAqLworCQkJICAgIG1zZ19jb2wgPSAwOworCQkJICAgIGdvdG9jbWRsaW5lKFRSVUUpOworCQkJfQorCiAJCQluZWVkX3dhaXRfcmV0dXJuID0gRkFMU0U7IC8qIG5vIGhpdC1yZXR1cm4gcHJvbXB0ICovCiAJCQlpZiAoaSA9PSAncScgfHwgaSA9PSBFU0MgfHwgaSA9PSBDdHJsX0MKICNpZmRlZiBVTklYCkBAIC00MzI4LDcgKzQ0NzcsNyBAQAogCWVsc2UKIAkgICAgZ2xvYmFsX25lZWRfYmVnaW5saW5lID0gVFJVRTsKIAlpZiAoZG9fcHJpbnQpCi0JICAgIHByaW50X2xpbmUoY3Vyd2luLT53X2N1cnNvci5sbnVtLCBGQUxTRSk7CisJICAgIHByaW50X2xpbmUoY3Vyd2luLT53X2N1cnNvci5sbnVtLCBkb19udW1iZXIsIGRvX2xpc3QpOwogICAgIH0KICAgICBlbHNlIGlmICghZ2xvYmFsX2J1c3kpCiAgICAgewpkaWZmIC0tZ2l0IGEvc3JjL2V4X2NtZHMuaCBiL3NyYy9leF9jbWRzLmgKaW5kZXggODAzOTRiNC4uMTYyODQ0OSAxMDA2NDQKLS0tIGEvc3JjL2V4X2NtZHMuaAorKysgYi9zcmMvZXhfY21kcy5oCkBAIC01Myw2ICs1Myw3IEBACiAjZGVmaW5lIFNCT1hPSwkgICAgICAweDgwMDAwTAkvKiBhbGxvd2VkIGluIHRoZSBzYW5kYm94ICovCiAjZGVmaW5lIENNRFdJTgkgICAgIDB4MTAwMDAwTAkvKiBhbGxvd2VkIGluIGNtZGxpbmUgd2luZG93ICovCiAjZGVmaW5lIE1PRElGWSAgICAgICAweDIwMDAwMEwgIC8qIGZvcmJpZGRlbiBpbiBub24tJ21vZGlmaWFibGUnIGJ1ZmZlciAqLworI2RlZmluZSBFWEZMQUdTICAgICAgMHg0MDAwMDBMCS8qIGFsbG93IGZsYWdzIGFmdGVyIGNvdW50IGluIGFyZ3VtZW50ICovCiAjZGVmaW5lIEZJTEVTCShYRklMRSB8IEVYVFJBKQkvKiBtdWx0aXBsZSBleHRyYSBmaWxlcyBhbGxvd2VkICovCiAjZGVmaW5lIFdPUkQxCShFWFRSQSB8IE5PU1BDKQkvKiBvbmUgZXh0cmEgd29yZCBhbGxvd2VkICovCiAjZGVmaW5lIEZJTEUxCShGSUxFUyB8IE5PU1BDKQkvKiAxIGZpbGUgYWxsb3dlZCwgZGVmYXVsdHMgdG8gY3VycmVudCBmaWxlICovCkBAIC0xOTcsNyArMTk4LDcgQEAKIEVYKENNRF9jY2xvc2UsCQkiY2Nsb3NlIiwJZXhfY2Nsb3NlLAogCQkJUkFOR0V8Tk9UQURSfENPVU5UfFRSTEJBUiksCiBFWChDTURfY2QsCQkiY2QiLAkJZXhfY2QsCi0JCQlGSUxFMXxUUkxCQVJ8Q01EV0lOKSwKKwkJCUJBTkd8RklMRTF8VFJMQkFSfENNRFdJTiksCiBFWChDTURfY2VudGVyLAkJImNlbnRlciIsCWV4X2FsaWduLAogCQkJVFJMQkFSfFJBTkdFfFdIT0xFRk9MRHxFWFRSQXxDTURXSU58TU9ESUZZKSwKIEVYKENNRF9jZmlsZSwJCSJjZmlsZSIsCWV4X2NmaWxlLApAQCAtMjA3LDcgKzIwOCw3IEBACiBFWChDTURfY2dldGZpbGUsCSJjZ2V0ZmlsZSIsCWV4X2NmaWxlLAogCQkJVFJMQkFSfEZJTEUxfEJBTkcpLAogRVgoQ01EX2NoZGlyLAkJImNoZGlyIiwJZXhfY2QsCi0JCQlGSUxFMXxUUkxCQVJ8Q01EV0lOKSwKKwkJCUJBTkd8RklMRTF8VFJMQkFSfENNRFdJTiksCiBFWChDTURfY2hhbmdlcywJCSJjaGFuZ2VzIiwJZXhfY2hhbmdlcywKIAkJCVRSTEJBUnxDTURXSU4pLAogRVgoQ01EX2NoZWNrcGF0aCwJImNoZWNrcGF0aCIsCWV4X2NoZWNrcGF0aCwKQEAgLTQ1Myw3ICs0NTQsNyBAQAogRVgoQ01EX2l1bm1lbnUsCQkiaXVubWVudSIsCWV4X21lbnUsCiAJCQlFWFRSQXxUUkxCQVJ8Tk9UUkxDT018VVNFQ1RSTFZ8Q01EV0lOKSwKIEVYKENNRF9qb2luLAkJImpvaW4iLAkJZXhfam9pbiwKLQkJCUJBTkd8UkFOR0V8V0hPTEVGT0xEfENPVU5UfFRSTEJBUnxDTURXSU58TU9ESUZZKSwKKwkJCUJBTkd8UkFOR0V8V0hPTEVGT0xEfENPVU5UfEVYRkxBR1N8VFJMQkFSfENNRFdJTnxNT0RJRlkpLAogRVgoQ01EX2p1bXBzLAkJImp1bXBzIiwJZXhfanVtcHMsCiAJCQlUUkxCQVJ8Q01EV0lOKSwKIEVYKENNRF9rLAkJImsiLAkJZXhfbWFyaywKQEAgLTQ2NSwxNSArNDY2LDE1IEBACiBFWChDTURfa2VlcGFsdCwJCSJrZWVwYWx0IiwJZXhfd3Jvbmdtb2RpZmllciwKIAkJCU5FRURBUkd8RVhUUkF8Tk9UUkxDT00pLAogRVgoQ01EX2xpc3QsCQkibGlzdCIsCQlleF9wcmludCwKLQkJCVJBTkdFfFdIT0xFRk9MRHxDT1VOVHxUUkxCQVJ8Q01EV0lOKSwKKwkJCVJBTkdFfFdIT0xFRk9MRHxDT1VOVHxFWEZMQUdTfFRSTEJBUnxDTURXSU4pLAogRVgoQ01EX2xhc3QsCQkibGFzdCIsCQlleF9sYXN0LAogCQkJRVhUUkF8QkFOR3xFRElUQ01EfEFSR09QVHxUUkxCQVIpLAogRVgoQ01EX2xhbmd1YWdlLAkibGFuZ3VhZ2UiLAlleF9sYW5ndWFnZSwKIAkJCUVYVFJBfFRSTEJBUnxDTURXSU4pLAogRVgoQ01EX2xjZCwJCSJsY2QiLAkJZXhfY2QsCi0JCQlGSUxFMXxUUkxCQVJ8Q01EV0lOKSwKKwkJCUJBTkd8RklMRTF8VFJMQkFSfENNRFdJTiksCiBFWChDTURfbGNoZGlyLAkJImxjaGRpciIsCWV4X2NkLAotCQkJRklMRTF8VFJMQkFSfENNRFdJTiksCisJCQlCQU5HfEZJTEUxfFRSTEJBUnxDTURXSU4pLAogRVgoQ01EX2xlZnQsCQkibGVmdCIsCQlleF9hbGlnbiwKIAkJCVRSTEJBUnxSQU5HRXxXSE9MRUZPTER8RVhUUkF8Q01EV0lOfE1PRElGWSksCiBFWChDTURfbGVmdGFib3ZlLAkibGVmdGFib3ZlIiwJZXhfd3Jvbmdtb2RpZmllciwKQEAgLTU1OSwxMyArNTYwLDEzIEBACiBFWChDTURfbm9ybWFsLAkJIm5vcm1hbCIsCWV4X25vcm1hbCwKIAkJCVJBTkdFfEJBTkd8RVhUUkF8TkVFREFSR3xOT1RSTENPTXxVU0VDVFJMVnxTQk9YT0t8Q01EV0lOKSwKIEVYKENNRF9udW1iZXIsCQkibnVtYmVyIiwJZXhfcHJpbnQsCi0JCQlSQU5HRXxXSE9MRUZPTER8Q09VTlR8VFJMQkFSfENNRFdJTiksCisJCQlSQU5HRXxXSE9MRUZPTER8Q09VTlR8RVhGTEFHU3xUUkxCQVJ8Q01EV0lOKSwKIEVYKENNRF9udW5tYXAsCQkibnVubWFwIiwJZXhfdW5tYXAsCiAJCQlFWFRSQXxUUkxCQVJ8Tk9UUkxDT018VVNFQ1RSTFZ8Q01EV0lOKSwKIEVYKENNRF9udW5tZW51LAkJIm51bm1lbnUiLAlleF9tZW51LAogCQkJRVhUUkF8VFJMQkFSfE5PVFJMQ09NfFVTRUNUUkxWfENNRFdJTiksCi1FWChDTURfb3BlbiwJCSJvcGVuIiwJCWV4X25pLAotCQkJVFJMQkFSKSwJLyogbm90IHN1cHBvcnRlZCAqLworRVgoQ01EX29wZW4sCQkib3BlbiIsCQlleF9vcGVuLAorCQkJUkFOR0V8RVhUUkEpLAogRVgoQ01EX29tYXAsCQkib21hcCIsCQlleF9tYXAsCiAJCQlFWFRSQXxUUkxCQVJ8Tk9UUkxDT018VVNFQ1RSTFZ8Q01EV0lOKSwKIEVYKENNRF9vbWFwY2xlYXIsCSJvbWFwY2xlYXIiLAlleF9tYXBjbGVhciwKQEAgLTU4NSw3ICs1ODYsNyBAQAogRVgoQ01EX291bm1lbnUsCQkib3VubWVudSIsCWV4X21lbnUsCiAJCQlFWFRSQXxUUkxCQVJ8Tk9UUkxDT018VVNFQ1RSTFZ8Q01EV0lOKSwKIEVYKENNRF9wcmludCwJCSJwcmludCIsCWV4X3ByaW50LAotCQkJUkFOR0V8V0hPTEVGT0xEfENPVU5UfFRSTEJBUnxDTURXSU58U0JPWE9LKSwKKwkJCVJBTkdFfFdIT0xFRk9MRHxDT1VOVHxFWEZMQUdTfFRSTEJBUnxDTURXSU58U0JPWE9LKSwKIEVYKENNRF9wY2xvc2UsCQkicGNsb3NlIiwJZXhfcGNsb3NlLAogCQkJQkFOR3xUUkxCQVIpLAogRVgoQ01EX3BlcmwsCQkicGVybCIsCQlleF9wZXJsLApAQCAtOTA3LDI5ICs5MDgsMjkgQEAKIEVYKENNRF95YW5rLAkJInlhbmsiLAkJZXhfb3BlcmF0b3JzLAogCQkJUkFOR0V8V0hPTEVGT0xEfFJFR1NUUnxDT1VOVHxUUkxCQVJ8Q01EV0lOKSwKIEVYKENNRF96LAkJInoiLAkJZXhfeiwKLQkJCVJBTkdFfFdIT0xFRk9MRHxFWFRSQXxUUkxCQVJ8Q01EV0lOKSwKKwkJCVJBTkdFfFdIT0xFRk9MRHxFWFRSQXxFWEZMQUdTfFRSTEJBUnxDTURXSU4pLAogCiAvKiBjb21tYW5kcyB0aGF0IGRvbid0IHN0YXJ0IHdpdGggYSBsb3dlcmNhc2UgbGV0dGVyICovCiBFWChDTURfYmFuZywJCSIhIiwJCWV4X2JhbmcsCiAJCQlSQU5HRXxXSE9MRUZPTER8QkFOR3xGSUxFU3xDTURXSU4pLAogRVgoQ01EX3BvdW5kLAkJIiMiLAkJZXhfcHJpbnQsCi0JCQlSQU5HRXxXSE9MRUZPTER8Q09VTlR8VFJMQkFSfENNRFdJTiksCisJCQlSQU5HRXxXSE9MRUZPTER8Q09VTlR8RVhGTEFHU3xUUkxCQVJ8Q01EV0lOKSwKIEVYKENNRF9hbmQsCQkiJiIsCQlkb19zdWIsCiAJCQlSQU5HRXxXSE9MRUZPTER8RVhUUkF8Q01EV0lOfE1PRElGWSksCiBFWChDTURfc3RhciwJCSIqIiwJCWV4X2F0LAogCQkJUkFOR0V8V0hPTEVGT0xEfEVYVFJBfFRSTEJBUnxDTURXSU4pLAogRVgoQ01EX2xzaGlmdCwJCSI8IiwJCWV4X29wZXJhdG9ycywKLQkJCVJBTkdFfFdIT0xFRk9MRHxDT1VOVHxUUkxCQVJ8Q01EV0lOfE1PRElGWSksCisJCQlSQU5HRXxXSE9MRUZPTER8Q09VTlR8RVhGTEFHU3xUUkxCQVJ8Q01EV0lOfE1PRElGWSksCiBFWChDTURfZXF1YWwsCQkiPSIsCQlleF9lcXVhbCwKLQkJCVJBTkdFfFRSTEJBUnxERkxBTEx8Q01EV0lOKSwKKwkJCVJBTkdFfFRSTEJBUnxERkxBTEx8RVhGTEFHU3xDTURXSU4pLAogRVgoQ01EX3JzaGlmdCwJCSI+IiwJCWV4X29wZXJhdG9ycywKLQkJCVJBTkdFfFdIT0xFRk9MRHxDT1VOVHxUUkxCQVJ8Q01EV0lOfE1PRElGWSksCisJCQlSQU5HRXxXSE9MRUZPTER8Q09VTlR8RVhGTEFHU3xUUkxCQVJ8Q01EV0lOfE1PRElGWSksCiBFWChDTURfYXQsCQkiQCIsCQlleF9hdCwKIAkJCVJBTkdFfFdIT0xFRk9MRHxFWFRSQXxUUkxCQVJ8Q01EV0lOKSwKIEVYKENNRF9OZXh0LAkJIk5leHQiLAkJZXhfcHJldmlvdXMsCiAJCQlFWFRSQXxSQU5HRXxOT1RBRFJ8Q09VTlR8QkFOR3xFRElUQ01EfEFSR09QVHxUUkxCQVIpLAogRVgoQ01EX1ByaW50LAkJIlByaW50IiwJZXhfcHJpbnQsCi0JCQlSQU5HRXxXSE9MRUZPTER8Q09VTlR8VFJMQkFSfENNRFdJTiksCisJCQlSQU5HRXxXSE9MRUZPTER8Q09VTlR8RVhGTEFHU3xUUkxCQVJ8Q01EV0lOKSwKIEVYKENNRF9YLAkJIlgiLAkJZXhfWCwKIAkJCVRSTEJBUiksCiBFWChDTURfdGlsZGUsCQkifiIsCQlkb19zdWIsCkBAIC05NjcsNiArOTY4LDcgQEAKICAgICBpbnQJCWFkZHJfY291bnQ7CS8qIHRoZSBudW1iZXIgb2YgYWRkcmVzc2VzIGdpdmVuICovCiAgICAgbGluZW5yX1QJbGluZTE7CQkvKiB0aGUgZmlyc3QgbGluZSBudW1iZXIgKi8KICAgICBsaW5lbnJfVAlsaW5lMjsJCS8qIHRoZSBzZWNvbmQgbGluZSBudW1iZXIgb3IgY291bnQgKi8KKyAgICBpbnQJCWZsYWdzOwkJLyogZXh0cmEgZmxhZ3MgYWZ0ZXIgY291bnQ6IEVYRkxBR18gKi8KICAgICBjaGFyX3UJKmRvX2VjbWRfY21kOwkvKiArY29tbWFuZCBhcmcgdG8gYmUgdXNlZCBpbiBlZGl0ZWQgZmlsZSAqLwogICAgIGxpbmVucl9UCWRvX2VjbWRfbG51bTsJLyogdGhlIGxpbmUgbnVtYmVyIGluIGFuIGVkaXRlZCBmaWxlICovCiAgICAgaW50CQlhcHBlbmQ7CQkvKiBUUlVFIHdpdGggIjp3ID4+ZmlsZSIgY29tbWFuZCAqLwpAQCAtOTkyLDQgKzk5NCw5IEBACiAjZGVmaW5lIEZPUkNFX0JJTiAxCQkvKiAiOmVkaXQgKytiaW4gZmlsZSIgKi8KICNkZWZpbmUgRk9SQ0VfTk9CSU4gMgkJLyogIjplZGl0ICsrbm9iaW4gZmlsZSIgKi8KIAorLyogVmFsdWVzIGZvciAiZmxhZ3MiICovCisjZGVmaW5lIEVYRkxBR19MSVNUCTB4MDEJLyogJ2wnOiBsaXN0ICovCisjZGVmaW5lIEVYRkxBR19OUgkweDAyCS8qICcjJzogbnVtYmVyICovCisjZGVmaW5lIEVYRkxBR19QUklOVAkweDA0CS8qICdwJzogcHJpbnQgKi8KKwogI2VuZGlmCmRpZmYgLS1naXQgYS9zcmMvbWFpbi5jIGIvc3JjL21haW4uYwppbmRleCAzNTEyMjVjLi5jZmFhYTQxIDEwMDY0NAotLS0gYS9zcmMvbWFpbi5jCisrKyBiL3NyYy9tYWluLmMKQEAgLTExODUsMTAgKzExODUsOCBAQAogICAgIH0KICNlbmRpZgogCi0gICAgaWYgKEdBUkdDT1VOVCA+IDEpCi0JcHJpbnRmKF8oIiVkIGZpbGVzIHRvIGVkaXRcbiIpLCBHQVJHQ09VTlQpOwogI2lmZGVmIE1TV0lOCi0gICAgZWxzZSBpZiAoR0FSR0NPVU5UID09IDEgJiYgZnVsbF9wYXRoKQorICAgIGlmIChHQVJHQ09VTlQgPT0gMSAmJiBmdWxsX3BhdGgpCiAgICAgewogCS8qCiAJICogSWYgdGhlcmUgaXMgb25lIGZpbGVuYW1lLCBmdWxseSBxdWFsaWZpZWQsIHdlIGhhdmUgdmVyeSBwcm9iYWJseQpAQCAtMTMxMCw3ICsxMzA4LDEyIEBACiAJVElNRV9NU0coIldhcm5pbmcgZGVsYXkiKTsKICAgICB9CiAKLSAgICBpZiAod2FudF9mdWxsX3NjcmVlbikKKyAgICAvKiBUaGlzIG1lc3NhZ2UgY29tZXMgYmVmb3JlIHRlcm0gaW5pdHMsIGJ1dCBhZnRlciBzZXR0aW5nICJzaWxlbnRfbW9kZSIKKyAgICAgKiB3aGVuIHRoZSBpbnB1dCBpcyBub3QgYSB0dHkuICovCisgICAgaWYgKEdBUkdDT1VOVCA+IDEgJiYgIXNpbGVudF9tb2RlKQorCXByaW50ZihfKCIlZCBmaWxlcyB0byBlZGl0XG4iKSwgR0FSR0NPVU5UKTsKKworICAgIGlmICh3YW50X2Z1bGxfc2NyZWVuICYmICFzaWxlbnRfbW9kZSkKICAgICB7CiAJdGVybWNhcGluaXQodGVybSk7CS8qIHNldCB0ZXJtaW5hbCBuYW1lIGFuZCBnZXQgdGVybWluYWwKIAkJCQkgICBjYXBhYmlsaXRpZXMgKHdpbGwgc2V0IGZ1bGxfc2NyZWVuKSAqLwpAQCAtMjA2Nyw3ICsyMDcwLDcgQEAKICAgICAvKgogICAgICAqIENhbGwgdGhlIG1haW4gY29tbWFuZCBsb29wLiAgVGhpcyBuZXZlciByZXR1cm5zLgogICAgICAqLwotICAgIG1haW5fbG9vcChGQUxTRSk7CisgICAgbWFpbl9sb29wKEZBTFNFLCBGQUxTRSk7CiAKICAgICByZXR1cm4gMDsKIH0KQEAgLTIwNzcsMTAgKzIwODAsMTMgQEAKICAqIE1haW4gbG9vcDogRXhlY3V0ZSBOb3JtYWwgbW9kZSBjb21tYW5kcyB1bnRpbCBleGl0aW5nIFZpbS4KICAqIEFsc28gdXNlZCB0byBoYW5kbGUgY29tbWFuZHMgaW4gdGhlIGNvbW1hbmQtbGluZSB3aW5kb3csIHVudGlsIHRoZSB3aW5kb3cKICAqIGlzIGNsb3NlZC4KKyAqIEFsc28gdXNlZCB0byBoYW5kbGUgIjp2aXN1YWwiIGNvbW1hbmQgYWZ0ZXIgIjpnbG9iYWwiOiBleGVjdXRlIE5vcm1hbCBtb2RlCisgKiBjb21tYW5kcywgcmV0dXJuIHdoZW4gZW50ZXJpbmcgRXggbW9kZS4gICJub2V4bW9kZSIgaXMgVFJVRSB0aGVuLgogICovCiAgICAgdm9pZAotbWFpbl9sb29wKGNtZHdpbikKLSAgICBpbnQJCWNtZHdpbjsJLyogVFJVRSB3aGVuIHdvcmtpbmcgaW4gdGhlIGNvbW1hbmQtbGluZSB3aW5kb3cgKi8KK21haW5fbG9vcChjbWR3aW4sIG5vZXhtb2RlKQorICAgIGludAkJY21kd2luOwkgICAgLyogVFJVRSB3aGVuIHdvcmtpbmcgaW4gdGhlIGNvbW1hbmQtbGluZSB3aW5kb3cgKi8KKyAgICBpbnQJCW5vZXhtb2RlOyAgIC8qIFRSVUUgd2hlbiByZXR1cm4gb24gZW50ZXJpbmcgRXggbW9kZSAqLwogewogICAgIG9wYXJnX1QJb2E7CS8qIG9wZXJhdG9yIGFyZ3VtZW50cyAqLwogCkBAIC0yMDg5LDcgKzIwOTUsNyBAQAogICAgICAqIGl0LCByZXN0b3JlIHRoZSBzdGF0ZSBhbmQgY29udGludWUuICBUaGlzIG1pZ2h0IG5vdCBhbHdheXMgd29yawogICAgICAqIHByb3Blcmx5LCBidXQgYXQgbGVhc3Qgd2UgZG9uJ3QgZXhpdCB1bmV4cGVjdGVkbHkgd2hlbiB0aGUgWCBzZXJ2ZXIKICAgICAgKiBleGlzdHMgd2hpbGUgVmltIGlzIHJ1bm5pbmcgaW4gYSBjb25zb2xlLiAqLwotICAgIGlmICghY21kd2luICYmIFNFVEpNUCh4X2p1bXBfZW52KSkKKyAgICBpZiAoIWNtZHdpbiAmJiAhbm9leG1vZGUgJiYgU0VUSk1QKHhfanVtcF9lbnYpKQogICAgIHsKIAlTdGF0ZSA9IE5PUk1BTDsKICMgaWZkZWYgRkVBVF9WSVNVQUwKQEAgLTIyNDcsNyArMjI1MywxMSBAQAogCSAqIE90aGVyd2lzZSwgZ2V0IGFuZCBleGVjdXRlIGEgbm9ybWFsIG1vZGUgY29tbWFuZC4KIAkgKi8KIAlpZiAoZXhtb2RlX2FjdGl2ZSkKKwl7CisJICAgIGlmIChub2V4bW9kZSkgICAvKiBFbmQgb2YgIjpnbG9iYWwvcGF0aC92aXN1YWwiIGNvbW1hbmRzICovCisJCXJldHVybjsKIAkgICAgZG9fZXhtb2RlKGV4bW9kZV9hY3RpdmUgPT0gRVhNT0RFX1ZJTSk7CisJfQogCWVsc2UKIAkgICAgbm9ybWFsX2NtZCgmb2EsIFRSVUUpOwogICAgIH0KQEAgLTIyODksNiArMjI5OSwxMiBAQAogCiAgICAgZXhpdGluZyA9IFRSVUU7CiAKKyAgICAvKiBXaGVuIHJ1bm5pbmcgaW4gRXggbW9kZSBhbiBlcnJvciBjYXVzZXMgdXMgdG8gZXhpdCB3aXRoIGEgbm9uLXplcm8gZXhpdAorICAgICAqIGNvZGUuICBQT1NJWCByZXF1aXJlcyB0aGlzLCBhbHRob3VnaCBpdCdzIG5vdCAxMDAlIGNsZWFyIGZyb20gdGhlCisgICAgICogc3RhbmRhcmQuICovCisgICAgaWYgKGV4bW9kZV9hY3RpdmUpCisJZXhpdHZhbCArPSBleF9leGl0dmFsOworCiAgICAgLyogUG9zaXRpb24gdGhlIGN1cnNvciBvbiB0aGUgbGFzdCBzY3JlZW4gbGluZSwgYmVsb3cgYWxsIHRoZSB0ZXh0ICovCiAjaWZkZWYgRkVBVF9HVUkKICAgICBpZiAoIWd1aS5pbl91c2UpCmRpZmYgLS1naXQgYS9zcmMvbWVtbGluZS5jIGIvc3JjL21lbWxpbmUuYwppbmRleCA4ODRmMzA5Li5kNTE3NWU0IDEwMDY0NAotLS0gYS9zcmMvbWVtbGluZS5jCisrKyBiL3NyYy9tZW1saW5lLmMKQEAgLTQzODUsMTQgKzQzODUsMTQgQEAKIAogLyoKICAqIEZpbmQgb2Zmc2V0IGZvciBsaW5lIG9yIGxpbmUgd2l0aCBvZmZzZXQuCi0gKiBGaW5kIGxpbmUgd2l0aCBvZmZzZXQgaWYgbGluZSBpcyAwOyByZXR1cm4gcmVtYWluaW5nIG9mZnNldCBpbiBvZmZwCi0gKiBGaW5kIG9mZnNldCBvZiBsaW5lIGlmIGxpbmUgPiAwCisgKiBGaW5kIGxpbmUgd2l0aCBvZmZzZXQgaWYgImxudW0iIGlzIDA7IHJldHVybiByZW1haW5pbmcgb2Zmc2V0IGluIG9mZnAKKyAqIEZpbmQgb2Zmc2V0IG9mIGxpbmUgaWYgImxudW0iID4gMAogICogcmV0dXJuIC0xIGlmIGluZm9ybWF0aW9uIGlzIG5vdCBhdmFpbGFibGUKICAqLwogICAgIGxvbmcKLW1sX2ZpbmRfbGluZV9vcl9vZmZzZXQoYnVmLCBsaW5lLCBvZmZwKQorbWxfZmluZF9saW5lX29yX29mZnNldChidWYsIGxudW0sIG9mZnApCiAgICAgYnVmX1QJKmJ1ZjsKLSAgICBsaW5lbnJfVAlsaW5lOworICAgIGxpbmVucl9UCWxudW07CiAgICAgbG9uZwkqb2ZmcDsKIHsKICAgICBsaW5lbnJfVAljdXJsaW5lOwpAQCAtNDQwOSwxNiArNDQwOSwxOSBAQAogICAgIGludAkJZmZkb3MgPSAoZ2V0X2ZpbGVmb3JtYXQoYnVmKSA9PSBFT0xfRE9TKTsKICAgICBpbnQJCWV4dHJhID0gMDsKIAorICAgIC8qIHRha2UgY2FyZSBvZiBjYWNoZWQgbGluZSBmaXJzdCAqLworICAgIG1sX2ZsdXNoX2xpbmUoY3VyYnVmKTsKKwogICAgIGlmIChidWYtPmJfbWwubWxfdXNlZGNodW5rcyA9PSAtMQogCSAgICB8fCBidWYtPmJfbWwubWxfY2h1bmtzaXplID09IE5VTEwKLQkgICAgfHwgbGluZSA8IDApCisJICAgIHx8IGxudW0gPCAwKQogCXJldHVybiAtMTsKIAogICAgIGlmIChvZmZwID09IE5VTEwpCiAJb2Zmc2V0ID0gMDsKICAgICBlbHNlCiAJb2Zmc2V0ID0gKm9mZnA7Ci0gICAgaWYgKGxpbmUgPT0gMCAmJiBvZmZzZXQgPD0gMCkKKyAgICBpZiAobG51bSA9PSAwICYmIG9mZnNldCA8PSAwKQogCXJldHVybiAxOyAgIC8qIE5vdCBhICJmaW5kIG9mZnNldCIgYW5kIG9mZnNldCAwIF9tdXN0XyBiZSBpbiBsaW5lIDEgKi8KICAgICAvKgogICAgICAqIEZpbmQgdGhlIGxhc3QgY2h1bmsgYmVmb3JlIHRoZSBvbmUgY29udGFpbmluZyBvdXIgbGluZS4gTGFzdCBjaHVuayBpcwpAQCAtNDQyNyw4ICs0NDMwLDggQEAKICAgICBjdXJsaW5lID0gMTsKICAgICBjdXJpeCA9IHNpemUgPSAwOwogICAgIHdoaWxlIChjdXJpeCA8IGJ1Zi0+Yl9tbC5tbF91c2VkY2h1bmtzIC0gMQotCSAgICAmJiAoKGxpbmUgIT0gMAotCSAgICAgJiYgbGluZSA+PSBjdXJsaW5lICsgYnVmLT5iX21sLm1sX2NodW5rc2l6ZVtjdXJpeF0ubWxjc19udW1saW5lcykKKwkgICAgJiYgKChsbnVtICE9IDAKKwkgICAgICYmIGxudW0gPj0gY3VybGluZSArIGJ1Zi0+Yl9tbC5tbF9jaHVua3NpemVbY3VyaXhdLm1sY3NfbnVtbGluZXMpCiAJCXx8IChvZmZzZXQgIT0gMAogCSAgICAgICAmJiBvZmZzZXQgPiBzaXplICsgYnVmLT5iX21sLm1sX2NodW5rc2l6ZVtjdXJpeF0ubWxjc190b3RhbHNpemUKIAkJICAgICAgKyBmZmRvcyAqIGJ1Zi0+Yl9tbC5tbF9jaHVua3NpemVbY3VyaXhdLm1sY3NfbnVtbGluZXMpKSkKQEAgLTQ0NDAsNyArNDQ0Myw3IEBACiAJY3VyaXgrKzsKICAgICB9CiAKLSAgICB3aGlsZSAoKGxpbmUgIT0gMCAmJiBjdXJsaW5lIDwgbGluZSkgfHwgKG9mZnNldCAhPSAwICYmIHNpemUgPCBvZmZzZXQpKQorICAgIHdoaWxlICgobG51bSAhPSAwICYmIGN1cmxpbmUgPCBsbnVtKSB8fCAob2Zmc2V0ICE9IDAgJiYgc2l6ZSA8IG9mZnNldCkpCiAgICAgewogCWlmIChjdXJsaW5lID4gYnVmLT5iX21sLm1sX2xpbmVfY291bnQKIAkJfHwgKGhwID0gbWxfZmluZF9saW5lKGJ1ZiwgY3VybGluZSwgTUxfRklORCkpID09IE5VTEwpCkBAIC00NDU0LDEwICs0NDU3LDEwIEBACiAJZWxzZQogCSAgICB0ZXh0X2VuZCA9ICgoZHAtPmRiX2luZGV4W2lkeCAtIDFdKSAmIERCX0lOREVYX01BU0spOwogCS8qIENvbXB1dGUgaW5kZXggb2YgbGFzdCBsaW5lIHRvIHVzZSBpbiB0aGlzIE1FTUxJTkUgKi8KLQlpZiAobGluZSAhPSAwKQorCWlmIChsbnVtICE9IDApCiAJewotCSAgICBpZiAoY3VybGluZSArIChjb3VudCAtIGlkeCkgPj0gbGluZSkKLQkJaWR4ICs9IGxpbmUgLSBjdXJsaW5lIC0gMTsKKwkgICAgaWYgKGN1cmxpbmUgKyAoY291bnQgLSBpZHgpID49IGxudW0pCisJCWlkeCArPSBsbnVtIC0gY3VybGluZSAtIDE7CiAJICAgIGVsc2UKIAkJaWR4ID0gY291bnQgLSAxOwogCX0KQEAgLTQ0OTcsMTEgKzQ1MDAsMTEgQEAKIAljdXJsaW5lID0gYnVmLT5iX21sLm1sX2xvY2tlZF9oaWdoICsgMTsKICAgICB9CiAKLSAgICBpZiAobGluZSAhPSAwKQorICAgIGlmIChsbnVtICE9IDApCiAgICAgewogCS8qIENvdW50IGV4dHJhIENSIGNoYXJhY3RlcnMuICovCiAJaWYgKGZmZG9zKQotCSAgICBzaXplICs9IGxpbmUgLSAxOworCSAgICBzaXplICs9IGxudW0gLSAxOwogCiAJLyogRG9uJ3QgY291bnQgdGhlIGxhc3QgbGluZSBicmVhayBpZiAnYmluJyBhbmQgJ25vZW9sJy4gKi8KIAlpZiAoYnVmLT5iX3BfYmluICYmICFidWYtPmJfcF9lb2wpCmRpZmYgLS1naXQgYS9zcmMvbWlzYzEuYyBiL3NyYy9taXNjMS5jCmluZGV4IDY1OGMzMGUuLjhkZGM2ZjAgMTAwNjQ0Ci0tLSBhL3NyYy9taXNjMS5jCisrKyBiL3NyYy9taXNjMS5jCkBAIC0zMTgyLDYgKzMxODIsMTQgQEAKIAkgICAgb3V0X2NoYXIoQkVMTCk7CiAjZW5kaWYKIAl9CisKKwkvKiBXaGVuICd2ZXJib3NlJyBpcyBzZXQgYW5kIHdlIGFyZSBzb3VyY2luZyBhIHNjcmlwdCBvciBleGVjdXRpbmcgYQorCSAqIGZ1bmN0aW9uIGdpdmUgdGhlIHVzZXIgYSBoaW50IHdoZXJlIHRoZSBiZWVwIGNvbWVzIGZyb20uICovCisJaWYgKHZpbV9zdHJjaHIocF9kZWJ1ZywgJ2UnKSAhPSBOVUxMKQorCXsKKwkgICAgbXNnX3NvdXJjZShobF9hdHRyKEhMRl9XKSk7CisJICAgIG1zZ19hdHRyKChjaGFyX3UgKilfKCJCZWVwISIpLCBobF9hdHRyKEhMRl9XKSk7CisJfQogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvc3JjL3BvL2dhLnBvIGIvc3JjL3BvL2dhLnBvCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY5NjIyYWIKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvcG8vZ2EucG8KQEAgLTAsMCArMSw3MTcwIEBACisjIElyaXNoIHRyYW5zbGF0aW9ucyBmb3IgdmltLgorIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHNhbWUgbGljZW5zZSBhcyB0aGUgdmltIHBhY2thZ2UuCisjIEtldmluIFBhdHJpY2sgU2Nhbm5lbGwgPHNjYW5uZWxsQFNMVS5FRFU+LCAyMDA1LgorIworbXNnaWQgIiIKK21zZ3N0ciAiIgorIlByb2plY3QtSWQtVmVyc2lvbjogdmltIDcuMFxuIgorIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiBcbiIKKyJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwNS0wMi0xMyAyMTo1MS0wNjAwXG4iCisiUE8tUmV2aXNpb24tRGF0ZTogMjAwNS0wMi0xNCAxMDozNS0wNjAwXG4iCisiTGFzdC1UcmFuc2xhdG9yOiBLZXZpbiBQYXRyaWNrIFNjYW5uZWxsIDxzY2FubmVsbEBTTFUuRURVPlxuIgorIkxhbmd1YWdlLVRlYW06IElyaXNoIDxnYUBsaS5vcmc+XG4iCisiTUlNRS1WZXJzaW9uOiAxLjBcbiIKKyJDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9SVNPLTg4NTktMVxuIgorIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXRcbiIKKworIzogYnVmZmVyLmM6MTAyCittc2dpZCAiRTgyOiBDYW5ub3QgYWxsb2NhdGUgYW55IGJ1ZmZlciwgZXhpdGluZy4uLiIKK21zZ3N0ciAiRTgyOiBO7SBm6WlkaXIgbWFvbOFuIGEgcmlhciwgYWcgc2Nvci4uLiIKKworIzogYnVmZmVyLmM6MTA1Cittc2dpZCAiRTgzOiBDYW5ub3QgYWxsb2NhdGUgYnVmZmVyLCB1c2luZyBvdGhlciBvbmUuLi4iCittc2dzdHIgIkU4MzogTu0gZulpZGlyIG1hb2zhbiBhIHJpYXIsIGFnIPpz4WlkIGNpbm4gZWlsZS4uLiIKKworIzogYnVmZmVyLmM6ODU3CisjLCBjLWZvcm1hdAorbXNnaWQgIkU1MTU6IE5vIGJ1ZmZlcnMgd2VyZSB1bmxvYWRlZCIKK21zZ3N0ciAiRTUxNTogTu0gcmFpYmggYW9uIG1oYW9s4W4gZO1sdWNodGFpdGhlIgorCisjOiBidWZmZXIuYzo4NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTUxNjogTm8gYnVmZmVycyB3ZXJlIGRlbGV0ZWQiCittc2dzdHIgIkU1MTY6IE7tIHJhaWJoIGFvbiBtaGFvbOFuIHNjcmlvc3RhIgorCisjOiBidWZmZXIuYzo4NjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTUxNzogTm8gYnVmZmVycyB3ZXJlIHdpcGVkIG91dCIKK21zZ3N0ciAiRTUxNzogTu0gcmFpYmggYW9uIG1oYW9s4W4gYuFuYWl0aGUiCisKKyM6IGJ1ZmZlci5jOjg2OQorbXNnaWQgIjEgYnVmZmVyIHVubG9hZGVkIgorbXNnc3RyICJCaO0gMSBtYW9s4W4gZO1sdWNodGFpdGhlIgorCisjOiBidWZmZXIuYzo4NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWQgYnVmZmVycyB1bmxvYWRlZCIKK21zZ3N0ciAiJWQgbWFvbOFuIGZvbG1oYWl0aGUiCisKKyM6IGJ1ZmZlci5jOjg3NgorbXNnaWQgIjEgYnVmZmVyIGRlbGV0ZWQiCittc2dzdHIgIkJo7SAxIG1hb2zhbiBzY3Jpb3N0YSIKKworIzogYnVmZmVyLmM6ODc4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVkIGJ1ZmZlcnMgZGVsZXRlZCIKK21zZ3N0ciAiJWQgbWFvbOFuIHNjcmlvc3RhIgorCisjOiBidWZmZXIuYzo4ODMKK21zZ2lkICIxIGJ1ZmZlciB3aXBlZCBvdXQiCittc2dzdHIgIkJo7SAxIG1hb2zhbiBi4W5haXRoZSIKKworIzogYnVmZmVyLmM6ODg1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVkIGJ1ZmZlcnMgd2lwZWQgb3V0IgorbXNnc3RyICIlZCBtYW9s4W4gYuFuYWl0aGUiCisKKyM6IGJ1ZmZlci5jOjk0NgorbXNnaWQgIkU4NDogTm8gbW9kaWZpZWQgYnVmZmVyIGZvdW5kIgorbXNnc3RyICJFODQ6IE7tb3IgYWltc+1vZGggbWFvbOFuIGF0aHJhaXRoZSIKKworIy4gYmFjayB3aGVyZSB3ZSBzdGFydGVkLCBkaWRuJ3QgZmluZCBhbnl0aGluZy4KKyM6IGJ1ZmZlci5jOjk4NQorbXNnaWQgIkU4NTogVGhlcmUgaXMgbm8gbGlzdGVkIGJ1ZmZlciIKK21zZ3N0ciAiRTg1OiBO7WwgYW9uIG1oYW9s4W4gbGlvc3RhaXRoZSBhbm4iCisKKyM6IGJ1ZmZlci5jOjk5NworIywgYy1mb3JtYXQKK21zZ2lkICJFODY6IEJ1ZmZlciAlbGQgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIkU4NjogTu1sIGEgbGVpdGjpaWQgZGUgbWhhb2zhbiAlbGQiCisKKyM6IGJ1ZmZlci5jOjEwMDAKK21zZ2lkICJFODc6IENhbm5vdCBnbyBiZXlvbmQgbGFzdCBidWZmZXIiCittc2dzdHIgIkU4NzogTu0gZulpZGlyIGEgZGh1bCB0aGFyIGFuIG1hb2zhbiBkZWlyZWFuYWNoIgorCisjOiBidWZmZXIuYzoxMDAyCittc2dpZCAiRTg4OiBDYW5ub3QgZ28gYmVmb3JlIGZpcnN0IGJ1ZmZlciIKK21zZ3N0ciAiRTg4OiBO7SBm6WlkaXIgYSBkaHVsIHJvaW1oIGFuIGNo6WFkIG1oYW9s4W4iCisKKyM6IGJ1ZmZlci5jOjEwNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTg5OiBObyB3cml0ZSBzaW5jZSBsYXN0IGNoYW5nZSBmb3IgYnVmZmVyICVsZCAoYWRkICEgdG8gb3ZlcnJpZGUpIgorbXNnc3RyICIiCisiRTg5OiBU4SBtYW9s4W4gJWxkIGF0aHJhaXRoZSBhY2ggbmFjaCBiaGZ1aWwgc+FiaOFpbHRlIPMgc2hpbiAoY3VpciAhIGxlaXMgIgorImFuIG9yZPogY2h1biBz4XL6KSIKKworIzogYnVmZmVyLmM6MTA2MQorbXNnaWQgIkU5MDogQ2Fubm90IHVubG9hZCBsYXN0IGJ1ZmZlciIKK21zZ3N0ciAiRTkwOiBO7SBm6WlkaXIgYW4gbWFvbOFuIGRlaXJlYW5hY2ggYSBkaO1sdWNodPoiCisKKyM6IGJ1ZmZlci5jOjE2MTEKK21zZ2lkICJXMTQ6IFdhcm5pbmc6IExpc3Qgb2YgZmlsZSBuYW1lcyBvdmVyZmxvdyIKK21zZ3N0ciAiVzE0OiBSYWJoYWRoOiBS83NocmVhYmhhZGggbGlvc3RhIGFpbm1uZWFjaGEgY29taGFpZCIKKworIzogYnVmZmVyLmM6MTc5NQorIywgYy1mb3JtYXQKK21zZ2lkICJFOTI6IEJ1ZmZlciAlbGQgbm90IGZvdW5kIgorbXNnc3RyICJFOTI6IE1hb2zhbiAlbGQgZ2FuIGFpbXNp+iIKKworIzogYnVmZmVyLmM6MjA1OAorIywgYy1mb3JtYXQKK21zZ2lkICJFOTM6IE1vcmUgdGhhbiBvbmUgbWF0Y2ggZm9yICVzIgorbXNnc3RyICJFOTM6IE7tb3MgbfMgbuEgdGVhZ2hy4W4gYW1o4WluIGNvbWhvaXJp+m5haXRoZSBsZSAlcyIKKworIzogYnVmZmVyLmM6MjA2MAorIywgYy1mb3JtYXQKK21zZ2lkICJFOTQ6IE5vIG1hdGNoaW5nIGJ1ZmZlciBmb3IgJXMiCittc2dzdHIgIkU5NDogTu1sIGFvbiBtaGFvbOFuIGNvbWhvaXJp+m5haXRoZSBsZSAlcyIKKworIzogYnVmZmVyLmM6MjQ1NQorIywgYy1mb3JtYXQKK21zZ2lkICJsaW5lICVsZCIKK21zZ3N0ciAibO1uZSAlbGQ6IgorCisjOiBidWZmZXIuYzoyNTQzCittc2dpZCAiRTk1OiBCdWZmZXIgd2l0aCB0aGlzIG5hbWUgYWxyZWFkeSBleGlzdHMiCittc2dzdHIgIkU5NTogVOEgbWFvbOFuIGFubiBsZWlzIGFuIGFpbm0gc2VvIGNoZWFuYSIKKworIzogYnVmZmVyLmM6Mjg2MAorbXNnaWQgIiBbTW9kaWZpZWRdIgorbXNnc3RyICIgW0F0aHJhaXRoZV0iCisKKyM6IGJ1ZmZlci5jOjI4NjUKK21zZ2lkICJbTm90IGVkaXRlZF0iCittc2dzdHIgIltHYW4gZWFncvpdIgorCisjOiBidWZmZXIuYzoyODcwCittc2dpZCAiW05ldyBmaWxlXSIKK21zZ3N0ciAiW0NvbWhhZCBudWFdIgorCisjOiBidWZmZXIuYzoyODcxCittc2dpZCAiW1JlYWQgZXJyb3JzXSIKK21zZ3N0ciAiW0VhcnLhaWTtIGzpaW1oXSIKKworIzogYnVmZmVyLmM6Mjg3MyBmaWxlaW8uYzoyMDk5IG5ldGJlYW5zLmM6MzQxNgorbXNnaWQgIltyZWFkb25seV0iCittc2dzdHIgIlts6WFtaCBhbWjhaW5dIgorCisjOiBidWZmZXIuYzoyODk0CisjLCBjLWZvcm1hdAorbXNnaWQgIjEgbGluZSAtLSVkJSUtLSIKK21zZ3N0ciAiMSBs7W5lIC0tJWQlJS0tIgorCisjOiBidWZmZXIuYzoyODk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVsZCBsaW5lcyAtLSVkJSUtLSIKK21zZ3N0ciAiJWxkIGztbmUgLS0lZCUlLS0iCisKKyM6IGJ1ZmZlci5jOjI5MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAibGluZSAlbGQgb2YgJWxkIC0tJWQlJS0tIGNvbCAiCittc2dzdHIgImztbmUgJWxkIGRlICVsZCAtLSVkJSUtLSBjb2wgIgorCisjOiBidWZmZXIuYzozMDExIGJ1ZmZlci5jOjQ3MzIgbWVtbGluZS5jOjE2NTcKK21zZ2lkICJbTm8gTmFtZV0iCittc2dzdHIgIltHYW4gQWlubV0iCisKKyMuIG11c3QgYmUgYSBoZWxwIGJ1ZmZlcgorIzogYnVmZmVyLmM6MzA1MAorbXNnaWQgImhlbHAiCittc2dzdHIgImNhYmhhaXIiCisKKyM6IGJ1ZmZlci5jOjM2MDEgc2NyZWVuLmM6NTA3MQorbXNnaWQgIltoZWxwXSIKK21zZ3N0ciAiW2NhYmhhaXJdIgorCisjOiBidWZmZXIuYzozNjMzIHNjcmVlbi5jOjUwNzcKK21zZ2lkICJbUHJldmlld10iCittc2dzdHIgIltS6WFtaGFtaGFyY10iCisKKyM6IGJ1ZmZlci5jOjM5MTMKK21zZ2lkICJBbGwiCittc2dzdHIgIlVpbGUiCisKKyM6IGJ1ZmZlci5jOjM5MTMKK21zZ2lkICJCb3QiCittc2dzdHIgIkJ1biIKKworIzogYnVmZmVyLmM6MzkxNQorbXNnaWQgIlRvcCIKK21zZ3N0ciAiQmFyciIKKworIzogYnVmZmVyLmM6NDY4NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiIyBCdWZmZXIgbGlzdDpcbiIKK21zZ3N0ciAiIgorIlxuIgorIiMgTGlvc3RhIG1hb2zhaW46XG4iCisKKyM6IGJ1ZmZlci5jOjQ3MTkKK21zZ2lkICJbRXJyb3IgTGlzdF0iCittc2dzdHIgIltMaW9zdGEgRWFycuFpZO1dIgorCisjOiBidWZmZXIuYzo1MDQ1Cittc2dpZCAiIgorIlxuIgorIi0tLSBTaWducyAtLS0iCittc2dzdHIgIiIKKyJcbiIKKyItLS0gQ29taGFydGhh7SAtLS0iCisKKyM6IGJ1ZmZlci5jOjUwNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2lnbnMgZm9yICVzOiIKK21zZ3N0ciAiQ29taGFydGhh7SBkbyAlczoiCisKKyM6IGJ1ZmZlci5jOjUwNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgIGxpbmU9JWxkICBpZD0lZCAgbmFtZT0lcyIKK21zZ3N0ciAiICAgIGztbmU9JWxkICBpZD0lZCAgYWlubT0lcyIKKworIzogZGlmZi5jOjE2MworIywgYy1mb3JtYXQKK21zZ2lkICJFOTY6IENhbiBub3QgZGlmZiBtb3JlIHRoYW4gJWxkIGJ1ZmZlcnMiCittc2dzdHIgIkU5NjogTu0gZulpZGlyIGRpZmYgYSBkaOlhbmFtaCBhciBu7W9zIG3zIG7hICVsZCBtYW9s4W4iCisKKyM6IGRpZmYuYzo3MzcKK21zZ2lkICJFOTc6IENhbm5vdCBjcmVhdGUgZGlmZnMiCittc2dzdHIgIkU5NzogTu0gZulpZGlyIGRpZmZlYW5uYSBhIGNocnV0aPoiCisKKyM6IGRpZmYuYzo4NDMKK21zZ2lkICJQYXRjaCBmaWxlIgorbXNnc3RyICJDb21oYWQgcGFpc3RlIgorCisjOiBkaWZmLmM6MTE0NgorbXNnaWQgIkU5ODogQ2Fubm90IHJlYWQgZGlmZiBvdXRwdXQiCittc2dzdHIgIkU5ODogTu0gZulpZGlyIGFuIHQtYXNjaHVyIGRpZmYgYSBs6WFtaCIKKworIzogZGlmZi5jOjE4OTYKK21zZ2lkICJFOTk6IEN1cnJlbnQgYnVmZmVyIGlzIG5vdCBpbiBkaWZmIG1vZGUiCittc2dzdHIgIkU5OTogTu1sIGFuIG1hb2zhbiByZWF0aGEgc2EgbWjzZCBkaWZmIgorCisjOiBkaWZmLmM6MTkwOAorbXNnaWQgIkUxMDA6IE5vIG90aGVyIGJ1ZmZlciBpbiBkaWZmIG1vZGUiCittc2dzdHIgIkUxMDA6IE7tbCBhb24gbWhhb2zhbiBlaWxlIHNhIG1o82QgZGlmZiIKKworIzogZGlmZi5jOjE5MTYKK21zZ2lkICJFMTAxOiBNb3JlIHRoYW4gdHdvIGJ1ZmZlcnMgaW4gZGlmZiBtb2RlLCBkb24ndCBrbm93IHdoaWNoIG9uZSB0byB1c2UiCittc2dzdHIgIiIKKyJFMTAxOiBU4SBu7W9zIG3zIG7hIGRo4SBtaGFvbOFuIHNhIG1o82QgZGlmZiwgbu1sIGZoaW9zIGFnYW0gY+kgYWN1IGJhIGNo82lyICIKKyJhIPpz4WlkIgorCisjOiBkaWZmLmM6MTkzOQorIywgYy1mb3JtYXQKK21zZ2lkICJFMTAyOiBDYW4ndCBmaW5kIGJ1ZmZlciBcIiVzXCIiCittc2dzdHIgIkUxMDI6IFThIG1hb2zhbiBcIiVzXCIgZ2FuIGFpbXNp+iIKKworIzogZGlmZi5jOjE5NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTEwMzogQnVmZmVyIFwiJXNcIiBpcyBub3QgaW4gZGlmZiBtb2RlIgorbXNnc3RyICJFMTAzOiBO7WwgbWFvbOFuIFwiJXNcIiBpIG3zZCBkaWZmIgorCisjOiBkaWdyYXBoLmM6MjIwMAorbXNnaWQgIkUxMDQ6IEVzY2FwZSBub3QgYWxsb3dlZCBpbiBkaWdyYXBoIgorbXNnc3RyICJFMTA0OiBO7SBjaGVhZGHtdGVhciBjYXJhY2h0YWlyIOlhbPpjaOFpbiBpIG5k6WdocmFmIgorCisjOiBkaWdyYXBoLmM6MjM4NAorbXNnaWQgIkU1NDQ6IEtleW1hcCBmaWxlIG5vdCBmb3VuZCIKK21zZ3N0ciAiRTU0NDogQ29taGFkIGVvY2hhaXJtaGFw4WxhIGdhbiBhaW1zafoiCisKKyM6IGRpZ3JhcGguYzoyNDExCittc2dpZCAiRTEwNTogVXNpbmcgOmxvYWRrZXltYXAgbm90IGluIGEgc291cmNlZCBmaWxlIgorbXNnc3RyICJFMTA1OiBBZyD6c+FpZCA6bG9hZGtleW1hcCBhY2ggbu0gY29taGFkIGZvaW5zaXRoZSDpIHNlbyIKKworIzogZWRpdC5jOjQxCittc2dpZCAiIEtleXdvcmQgY29tcGxldGlvbiAoXk5eUCkiCittc2dzdHIgIiBDb21obOFu+iBkJ2VvY2hhaXJmaG9jYWlsICheTl5QKSIKKworIy4gY3RybF94X21vZGUgPT0gMCwgXlAvXk4gY29tcGwuCisjOiBlZGl0LmM6NDIKK21zZ2lkICIgXlggbW9kZSAoXkVeWV5MXl1eRl5JXkteRF5VXlZeTl5QKSIKK21zZ3N0ciAiIG3zZCBeWCAoXkVeWV5MXl1eRl5JXkteRF5VXlZeTl5QKSIKKworIy4gU2Nyb2xsIGhhcyBpdCdzIG93biBtc2dzLCBpbiBpdCdzIHBsYWNlIHRoZXJlIGlzIHRoZSBtc2cgZm9yIGxvY2FsCisjLiAqIGN0cmxfeF9tb2RlID0gMCAoZWcgY29udGludWVfc3RhdHVzICYgQ09OVF9MT0NBTCkgIC0tIEFjZXZlZG8KKyM6IGVkaXQuYzo0NQorbXNnaWQgIiBLZXl3b3JkIExvY2FsIGNvbXBsZXRpb24gKF5OXlApIgorbXNnc3RyICIgQ29taGzhbvogZW9jaGFpcmZob2NhaWwgbG9n4W50YSAoXk5eUCkiCisKKyM6IGVkaXQuYzo0NgorbXNnaWQgIiBXaG9sZSBsaW5lIGNvbXBsZXRpb24gKF5MXk5eUCkiCittc2dzdHIgIiBDb21obOFu+iBM7W50ZSBJbmEgSW9tbOFuICheTF5OXlApIgorCisjOiBlZGl0LmM6NDcKK21zZ2lkICIgRmlsZSBuYW1lIGNvbXBsZXRpb24gKF5GXk5eUCkiCittc2dzdHIgIiBDb21obOFu+iBkZSBuYSBoYWlubW5lYWNoYSBjb21oYWlkICheRl5OXlApIgorCisjOiBlZGl0LmM6NDgKK21zZ2lkICIgVGFnIGNvbXBsZXRpb24gKF5dXk5eUCkiCittc2dzdHIgIiBDb21obOFu+iBjbGliZWFubmEgKF5dL15OL15QKSIKKworIzogZWRpdC5jOjQ5Cittc2dpZCAiIFBhdGggcGF0dGVybiBjb21wbGV0aW9uICheTl5QKSIKK21zZ3N0ciAiIENvbWhs4W76IENvbmFpcmUgKF5OXlApIgorCisjOiBlZGl0LmM6NTAKK21zZ2lkICIgRGVmaW5pdGlvbiBjb21wbGV0aW9uICheRF5OXlApIgorbXNnc3RyICIgQ29taGzhbvogZGUgbmEgc2Fpbm1o7W5pdGhlICheRF5OXlApIgorCisjOiBlZGl0LmM6NTIKK21zZ2lkICIgRGljdGlvbmFyeSBjb21wbGV0aW9uICheS15OXlApIgorbXNnc3RyICIgQ29taGzhbvogZm9jbPNyYSAoXkteTl5QKSIKKworIzogZWRpdC5jOjUzCittc2dpZCAiIFRoZXNhdXJ1cyBjb21wbGV0aW9uICheVF5OXlApIgorbXNnc3RyICIgQ29taGzhbvogdGVhc+FyYWlzICheVF5OXlApIgorCisjOiBlZGl0LmM6NTQKK21zZ2lkICIgQ29tbWFuZC1saW5lIGNvbXBsZXRpb24gKF5WXk5eUCkiCittc2dzdHIgIiBDb21obOFu+iBkZW4gbO1uZSBvcmRhaXRoZSAoXlZeTl5QKSIKKworIzogZWRpdC5jOjU1Cittc2dpZCAiIFVzZXIgZGVmaW5lZCBjb21wbGV0aW9uICheVV5OXlApIgorbXNnc3RyICIgQ29taGzhbvogc2FpbmNoZWFwdGhhICheVV5OXlApIgorCisjOiBlZGl0LmM6NTgKK21zZ2lkICJIaXQgZW5kIG9mIHBhcmFncmFwaCIKK21zZ3N0ciAiU3JvaWNoZWFkaCBjcu1vY2ggYW4gcGhhcmFncmFpZiIKKworIzogZWRpdC5jOjk5NAorbXNnaWQgIid0aGVzYXVydXMnIG9wdGlvbiBpcyBlbXB0eSIKK21zZ3N0ciAidOEgYW4gcm9naGEgJ3RoZXNhdXJ1cycgZm9sYW1oIgorCisjOiBlZGl0LmM6MTIwNAorbXNnaWQgIidkaWN0aW9uYXJ5JyBvcHRpb24gaXMgZW1wdHkiCittc2dzdHIgInThIGFuIHJvZ2hhICdkaWN0aW9uYXJ5JyBmb2xhbWgiCisKKyM6IGVkaXQuYzoyMjA0CisjLCBjLWZvcm1hdAorbXNnaWQgIlNjYW5uaW5nIGRpY3Rpb25hcnk6ICVzIgorbXNnc3RyICJGb2Ns82lyIOEgc2NhbmFkaDogJXMiCisKKyM6IGVkaXQuYzoyNDEwCittc2dpZCAiIChpbnNlcnQpIFNjcm9sbCAoXkUvXlkpIgorbXNnc3RyICIgKGlvbnPhaWdoKSBTY3JvbGxhaWdoICheRS9eWSkiCisKKyM6IGVkaXQuYzoyNDEyCittc2dpZCAiIChyZXBsYWNlKSBTY3JvbGwgKF5FL15ZKSIKK21zZ3N0ciAiIChpb25hZGFpZ2gpIFNjcm9sbGFpZ2ggKF5FL15ZKSIKKworIzogZWRpdC5jOjI4MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2Nhbm5pbmc6ICVzIgorbXNnc3RyICIlcyDhIHNjYW5hZGgiCisKKyM6IGVkaXQuYzoyODQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIlNjYW5uaW5nIHRhZ3MuIgorbXNnc3RyICJDbGliZWFubmEg4SBzY2FuYWRoLiIKKworIzogZWRpdC5jOjM1NDkKK21zZ2lkICIgQWRkaW5nIgorbXNnc3RyICIgTelhZPoiCisKKyMuIHNob3dtb2RlIG1pZ2h0IHJlc2V0IHRoZSBpbnRlcm5hbCBsaW5lIHBvaW50ZXJzLCBzbyBpdCBtdXN0CisjLiAqIGJlIGNhbGxlZCBiZWZvcmUgbGluZSA9IG1sX2dldCgpLCBvciB3aGVuIHRoaXMgYWRkcmVzcyBpcyBubworIy4gKiBsb25nZXIgbmVlZGVkLiAgLS0gQWNldmVkby4KKyM6IGVkaXQuYzozNTk4Cittc2dpZCAiLS0gU2VhcmNoaW5nLi4uIgorbXNnc3RyICItLSBBZyBDdWFyZGFjaC4uLiIKKworIzogZWRpdC5jOjM2NTQKK21zZ2lkICJCYWNrIGF0IG9yaWdpbmFsIgorbXNnc3RyICJBciBhaXMgYWcgYW4gbWJ1buFpdCIKKworIzogZWRpdC5jOjM2NTkKK21zZ2lkICJXb3JkIGZyb20gb3RoZXIgbGluZSIKK21zZ3N0ciAiRm9jYWwgYXMgbO1uZSBlaWxlIgorCisjOiBlZGl0LmM6MzY2NAorbXNnaWQgIlRoZSBvbmx5IG1hdGNoIgorbXNnc3RyICJBbiB0LWFvbiB0ZWFnaHLhbiBhbWjhaW4gY29taG9pcmn6bmFpdGhlIgorCisjOiBlZGl0LmM6MzcyMworIywgYy1mb3JtYXQKK21zZ2lkICJtYXRjaCAlZCBvZiAlZCIKK21zZ3N0ciAiY29taG9pcmn6bvogJWQgYXMgJWQiCisKKyM6IGVkaXQuYzozNzI2CisjLCBjLWZvcm1hdAorbXNnaWQgIm1hdGNoICVkIgorbXNnc3RyICJjb21ob2lyafpu+iAlZCIKKworIzogZXZhbC5jOjkzCittc2dpZCAiRTE4OiBVbmV4cGVjdGVkIGNoYXJhY3RlcnMgaW4gOmxldCIKK21zZ3N0ciAiRTE4OiBDYXJhY2h0YWlyIGdhbiBjaG9pbm5lIGkgOmxldCIKKworIzogZXZhbC5jOjk0CisjLCBjLWZvcm1hdAorbXNnaWQgIkU2ODQ6IGxpc3QgaW5kZXggb3V0IG9mIHJhbmdlOiAlbGQiCittc2dzdHIgIkU2ODQ6IGlubulhY3MgbGlvc3RhIGFzIHJhb246ICVsZCIKKworIzogZXZhbC5jOjk1CisjLCBjLWZvcm1hdAorbXNnaWQgIkUxMjE6IFVuZGVmaW5lZCB2YXJpYWJsZTogJXMiCittc2dzdHIgIkUxMjE6IEF0aHLzZyBnYW4gc2Fpbm1o7W5p+jogJXMiCisKKyM6IGV2YWwuYzo5NgorbXNnaWQgIkUxMTE6IE1pc3NpbmcgJ10nIgorbXNnc3RyICJFMTExOiBgXScgYXIgaWFycmFpZGgiCisKKyM6IGV2YWwuYzo5NworIywgYy1mb3JtYXQKK21zZ2lkICJFNjg2OiBBcmd1bWVudCBvZiAlcyBtdXN0IGJlIGEgTGlzdCIKK21zZ3N0ciAiRTY4NjogTu0gZm9s4WlyIGFyZ/NpbnQgZGUgJXMgYSBiaGVpdGggTGlvc3RhIgorCisjOiBldmFsLmM6OTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTcxMjogQXJndW1lbnQgb2YgJXMgbXVzdCBiZSBhIExpc3Qgb3IgRGljdGlvbmFhcnkiCittc2dzdHIgIkU3MTI6IE7tIGZvbOFpciBhcmfzaW50IGRlICVzIGEgYmhlaXRoIExpb3N0YSBu8yBGb2Ns82lyIgorCisjOiBldmFsLmM6OTkKK21zZ2lkICJFNzEzOiBDYW5ub3QgdXNlIGVtcHR5IGtleSBmb3IgRGljdGlvbmFyeSIKK21zZ3N0ciAiRTcxMzogTu0gZulpZGlyIGVvY2hhaXIgZmhvbGFtaCBhIPpz4WlkIGxlIEZvY2zzaXIiCisKKyM6IGV2YWwuYzoxMDAKK21zZ2lkICJFNzE0OiBMaXN0IHJlcXVpcmVkIgorbXNnc3RyICJFNzE0OiBU4SBn4SBsZSBsaW9zdGEiCisKKyM6IGV2YWwuYzoxMDEKK21zZ2lkICJFNzE1OiBEaWN0aW9uYXJ5IHJlcXVpcmVkIgorbXNnc3RyICJFNzE1OiBU4SBn4SBsZSBmb2Ns82lyIgorCisjOiBldmFsLmM6MTAyCisjLCBjLWZvcm1hdAorbXNnaWQgIkUxMTg6IFRvbyBtYW55IGFyZ3VtZW50cyBmb3IgZnVuY3Rpb246ICVzIgorbXNnc3RyICJFMTE4OiBBbiBpb21hcmNhIGFyZ/NpbnTtIGQnZmhlaWRobSAlcyIKKworIzogZXZhbC5jOjEwMworIywgYy1mb3JtYXQKK21zZ2lkICJFNzE2OiBLZXkgbm90IHByZXNlbnQgaW4gRGljdGlvbmFyeTogJXMiCittc2dzdHIgIkU3MTY6IE7tbCBhbiBlb2NoYWlyIHNlbyBzYW4gRmhvY2zzaXI6ICVzIgorCisjOiBldmFsLmM6MTA0CisjLCBjLWZvcm1hdAorbXNnaWQgIkUxMjI6IEZ1bmN0aW9uICVzIGFscmVhZHkgZXhpc3RzLCBhZGQgISB0byByZXBsYWNlIGl0IgorbXNnc3RyICJFMTIyOiBU4SBmZWlkaG0gJXMgYW5uIGNoZWFuYSwgY3VpciAhIGxlaXMgYW4gb3Jk+iBjaHVuIOkgYSBhc+FpdGn6IgorCisjOiBldmFsLmM6MTA1Cittc2dpZCAiRTcxNzogRGljdGlvbmFyeSBlbnRyeSBhbHJlYWR5IGV4aXN0cyIKK21zZ3N0ciAiRTcxNzogVOEgYW4gaW9udHLhaWwgZm9jbPNyYSBzZW8gYW5uIGNoZWFuYSIKKworIzogZXZhbC5jOjEwNgorbXNnaWQgIkU3MTg6IEZ1bmNyZWYgcmVxdWlyZWQiCittc2dzdHIgIkU3MTg6IFThIGfhIGxlIEZ1bmNyZWYiCisKKyM6IGV2YWwuYzoxMDcKK21zZ2lkICJFNzE5OiBDYW5ub3QgdXNlIFs6XSB3aXRoIGEgRGljdGlvbmFyeSIKK21zZ3N0ciAiRTcxOTogTu0gZulpZGlyIFs6XSBhIPpz4WlkIGxlIGZvY2zzaXIiCisKKyM6IGV2YWwuYzoxMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTczNDogV3JvbmcgdmFyaWFibGUgdHlwZSBmb3IgJXM9IgorbXNnc3RyICJFNzM0OiBDaW5l4Wwgbe1jaGVhcnQgYXRocvNpZ2UgbGUgaGFnaGFpZGggJXM9IgorCisjOiBldmFsLmM6MTIwOQorbXNnaWQgIkU2ODc6IExlc3MgdGFyZ2V0cyB0aGFuIExpc3QgaXRlbXMiCittc2dzdHIgIkU2ODc6IE7tb3MgbPogc3ByaW9jYW5uYSBu4SBt7XJlYW5uYSBMaW9zdGEiCisKKyM6IGV2YWwuYzoxMjE0Cittc2dpZCAiRTY4ODogTW9yZSB0YXJnZXRzIHRoYW4gTGlzdCBpdGVtcyIKK21zZ3N0ciAiRTY4ODogTu1vcyBt8yBzcHJpb2Nhbm5hIG7hIG3tcmVhbm5hIExpb3N0YSIKKworIzogZXZhbC5jOjEzMDAKK21zZ2lkICJEb3VibGUgOyBpbiBsaXN0IG9mIHZhcmlhYmxlcyIKK21zZ3N0ciAiOyBk+mJsYWNoIGkgbGlvc3RhIG5hIG4tYXRocvNnIgorCisjOiBldmFsLmM6MTQ2NgorIywgYy1mb3JtYXQKK21zZ2lkICJFNzM4OiBDYW4ndCBsaXN0IHZhcmlhYmxlcyBmb3IgJXMiCittc2dzdHIgIkU3Mzg6IE7tIGbpaWRpciBhdGhy82dhIGRvICVzIGEgdGhhaXNwZeFpbnQiCisKKyM6IGV2YWwuYzoxODAxCittc2dpZCAiRTY4OTogQ2FuIG9ubHkgaW5kZXggYSBMaXN0IG9yIERpY3Rpb25hcnkiCittc2dzdHIgIkU2ODk6IElzIGbpaWRpciBMaW9zdGEgbvMgRm9jbPNpciBhbWjhaW4gYSBpbm7pYWNz+iIKKworIzogZXZhbC5jOjE4MDcKK21zZ2lkICJFNzA4OiBbOl0gbXVzdCBjb21lIGxhc3QiCittc2dzdHIgIkU3MDg6IGNhaXRoZmlkaCBbOl0gYSBiaGVpdGggYXIgZGVpcmVhZGgiCisKKyM6IGV2YWwuYzoxODUzCittc2dpZCAiRTcwOTogWzpdIHJlcXVpcmVzIGEgTGlzdCB2YWx1ZSIKK21zZ3N0ciAiRTcwOTogbu0gZm9s4WlyIExpb3N0YSBhIHRoYWJoYWlydCBsZSBbOl0iCisKKyM6IGV2YWwuYzoyMDg5Cittc2dpZCAiRTcxMDogTGlzdCB2YWx1ZSBoYXMgbW9yZSBpdGVtcyB0aGFuIHRhcmdldCIKK21zZ3N0ciAiRTcxMDogVOEgbu1vcyBt8yBt7XJlYW5uYSBhZyBhbiBMaW9zdGEgbuEgYW4gc3ByaW9jIgorCisjOiBldmFsLmM6MjA5MworbXNnaWQgIkU3MTE6IExpc3QgdmFsdWUgaGFzIG5vdCBlbm91Z2ggaXRlbXMiCittc2dzdHIgIkU3MTE6IE7tbCBnbyBsZW9yIG3tcmVhbm5hIGFnIGFuIExpb3N0YSIKKworIzogZXZhbC5jOjIyODcKK21zZ2lkICJFNjkwOiBNaXNzaW5nIFwiaW5cIiBhZnRlciA6Zm9yIgorbXNnc3RyICJFNjkwOiBcImluXCIgYXIgaWFycmFpZGggaSBuZGlhaWRoIDpmb3IiCisKKyM6IGV2YWwuYzoyNTAyCisjLCBjLWZvcm1hdAorbXNnaWQgIkUxMDc6IE1pc3NpbmcgYnJhY2VzOiAlcyIKK21zZ3N0ciAiRTEwNzogTPppYu1u7SBzbGFiaHJhY2hhIGFyIGlhcnJhaWRoOiAlcyIKKworIzogZXZhbC5jOjI3MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTEwODogTm8gc3VjaCB2YXJpYWJsZTogXCIlc1wiIgorbXNnc3RyICJFMTA4OiBO7WwgYSBsZWl0aOlpZCBkJ2F0aHLzZzogXCIlc1wiIgorCisjOiBldmFsLmM6MjgxNQorbXNnaWQgIkU3NDM6IHZhcmlhYmxlIG5lc3RlZCB0b28gZGVlcCBmb3IgKHVuKWxvY2siCittc2dzdHIgIkU3NDM6IGF0aHLzZyBuZWFkYWl0aGUgcvNkaG9taGFpbiBjaHVuIO0gYSAoZO0pZ2hsYXPhaWwiCisKKyM6IGV2YWwuYzozMTE3Cittc2dpZCAiRTEwOTogTWlzc2luZyAnOicgYWZ0ZXIgJz8nIgorbXNnc3RyICJFMTA5OiAnOicgYXIgaWFycmFpZGggaSBuZGlhaWRoICc/JyIKKworIzogZXZhbC5jOjM0MDkKK21zZ2lkICJFNjkxOiBDYW4gb25seSBjb21wYXJlIExpc3Qgd2l0aCBMaXN0IgorbXNnc3RyICJFNjkxOiBJcyBm6WlkaXIgTGlvc3RhIGEgY2h1ciBpIGdjb21wYXLhaWQgbGUgTGlvc3RhIGVpbGUgYW1o4WluIgorCisjOiBldmFsLmM6MzQxMQorbXNnaWQgIkU2OTI6IEludmFsaWQgb3BlcmF0aW9uIGZvciBMaXN0cyIKK21zZ3N0ciAiRTY5MjogT2licu1vY2h0IG5lYW1oYmhhaWztIGFyIExpb3N0Ye0iCisKKyM6IGV2YWwuYzozNDM4Cittc2dpZCAiRTczNTogQ2FuIG9ubHkgY29tcGFyZSBEaWN0aW9uYXJ5IHdpdGggRGljdGlvbmFyeSIKK21zZ3N0ciAiRTczNTogSXMgZulpZGlyIEZvY2zzaXIgYSBjaHVyIGkgZ2NvbXBhcuFpZCBsZSBGb2Ns82lyIGVpbGUgYW1o4WluIgorCisjOiBldmFsLmM6MzQ0MAorbXNnaWQgIkU3MzY6IEludmFsaWQgb3BlcmF0aW9uIGZvciBEaWN0aW9uYXJ5IgorbXNnc3RyICJFNzM2OiBPaWJy7W9jaHQgbmVhbWhiaGFpbO0gYXIgRmhvY2zzaXIiCisKKyM6IGV2YWwuYzozNDYwCittc2dpZCAiRTY5MzogQ2FuIG9ubHkgY29tcGFyZSBGdW5jcmVmIHdpdGggRnVuY3JlZiIKK21zZ3N0ciAiRTY5MzogSXMgZulpZGlyIEZ1bmNyZWYgYSBjaHVyIGkgZ2NvbXBhcuFpZCBsZSBGdW5jcmVmIGVpbGUgYW1o4WluIgorCisjOiBldmFsLmM6MzQ2MgorbXNnaWQgIkU2OTQ6IEludmFsaWQgb3BlcmF0aW9uIGZvciBGdW5jcmVmcyIKK21zZ3N0ciAiRTY5NDogT2licu1vY2h0IG5lYW1oYmhhaWztIGFyIEZ1bmNyZWYiCisKKyM6IGV2YWwuYzozODY3Cittc2dpZCAiRTExMDogTWlzc2luZyAnKSciCittc2dzdHIgIkUxMTA6ICcpJyBhciBpYXJyYWlkaCIKKworIzogZXZhbC5jOjM5NzQKK21zZ2lkICJFNjk1OiBDYW5ub3QgaW5kZXggYSBGdW5jcmVmIgorbXNnc3RyICJFNjk1OiBO7SBm6WlkaXIgRnVuY3JlZiBhIGlubulhY3P6IgorCisjOiBldmFsLmM6NDIxMworIywgYy1mb3JtYXQKK21zZ2lkICJFMTEyOiBPcHRpb24gbmFtZSBtaXNzaW5nOiAlcyIKK21zZ3N0ciAiRTExMjogQWlubSByb2doYSBhciBpYXJyYWlkaDogJXMiCisKKyM6IGV2YWwuYzo0MjMxCisjLCBjLWZvcm1hdAorbXNnaWQgIkUxMTM6IFVua25vd24gb3B0aW9uOiAlcyIKK21zZ3N0ciAiRTExMzogUm9naGEgYW5haXRobmlkOiAlcyIKKworIzogZXZhbC5jOjQyOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTExNDogTWlzc2luZyBxdW90ZTogJXMiCittc2dzdHIgIkUxMTQ6IENvbWhhcnRoYSBhdGhmaHJpb3RhaWwgYXIgaWFycmFpZGg6ICVzIgorCisjOiBldmFsLmM6NDQzMworIywgYy1mb3JtYXQKK21zZ2lkICJFMTE1OiBNaXNzaW5nIHF1b3RlOiAlcyIKK21zZ3N0ciAiRTExNTogQ29taGFydGhhIGF0aGZocmlvdGFpbCBhciBpYXJyYWlkaDogJXMiCisKKyM6IGV2YWwuYzo0NTEyCisjLCBjLWZvcm1hdAorbXNnaWQgIkU2OTY6IE1pc3NpbmcgY29tbWEgaW4gTGlzdDogJXMiCittc2dzdHIgIkU2OTY6IENhbfNnIGFyIGlhcnJhaWRoIGkgTGlvc3RhOiAlcyIKKworIzogZXZhbC5jOjQ1MjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTY5NzogTWlzc2luZyBlbmQgb2YgTGlzdCAnXSc6ICVzIgorbXNnc3RyICJFNjk3OiAnXScgYXIgaWFycmFpZGggYWcgZGVpcmVhZGggbGlvc3RhOiAlcyIKKworIzogZXZhbC5jOjU0OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTcyMDogTWlzc2luZyBjb2xvbiBpbiBEaWN0aW9uYXJ5OiAlcyIKK21zZ3N0ciAiRTcyMDogSWRpcnN0YWQgYXIgaWFycmFpZGggaSBiaEZvY2zzaXI6ICVzIgorCisjOiBldmFsLmM6NTUxNQorbXNnaWQgIkU3MjE6IER1cGxpY2F0ZSBrZXkgaW4gRGljdGlvbmFyeSIKK21zZ3N0ciAiRTcyMTogRW9jaGFpciBkaPpibGFjaCBpIGJoRm9jbPNpciIKKworIzogZXZhbC5jOjU1MzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTcyMjogTWlzc2luZyBjb21tYSBpbiBEaWN0aW9uYXJ5OiAlcyIKK21zZ3N0ciAiRTcyMjogQ2Ft82cgYXIgaWFycmFpZGggaSBiaEZvY2zzaXI6ICVzIgorCisjOiBldmFsLmM6NTU0MworIywgYy1mb3JtYXQKK21zZ2lkICJFNzIzOiBNaXNzaW5nIGVuZCBvZiBEaWN0aW9uYXJ5ICd9JzogJXMiCittc2dzdHIgIkU3MjM6ICd9JyBhciBpYXJyYWlkaCBhZyBkZWlyZWFkaCBmb2Ns83JhOiAlcyIKKworIzogZXZhbC5jOjU1NzkKK21zZ2lkICJFNzI0OiB2YXJpYWJsZSBuZXN0ZWQgdG9vIGRlZXAgZm9yIGRpc3BsYXlpbmciCittc2dzdHIgIkU3MjQ6IGF0aHLzZyBuZWFkYWl0aGUgcvNkaG9taGFpbiBjaHVuIO0gYSB0aGFpc3Bl4WludCIKKworIzogZXZhbC5jOjY4MTEKK21zZ2lkICJFNjk5OiBUb28gbWFueSBhcmd1bWVudHMiCittc2dzdHIgIkU2OTk6IEFuIGlvbWFyY2EgYXJn82ludO0iCisKKyMuICogWWVzIHRoaXMgaXMgdWdseSwgSSBkb24ndCBwYXJ0aWN1bGFybHkgbGlrZSBpdCBlaXRoZXIuICBCdXQgZG9pbmcgaXQKKyMuICogdGhpcyB3YXkgaGFzIHRoZSBjb21wZWxsaW5nIGFkdmFudGFnZSB0aGF0IHRyYW5zbGF0aW9ucyBuZWVkIG5vdCB0bworIy4gKiBiZSB0b3VjaGVkIGF0IGFsbC4gIFNlZSBiZWxvdyB3aGF0ICdvaycgYW5kICd5bmMnIGFyZSB1c2VkIGZvci4KKyM6IGV2YWwuYzo2OTY2IGd1aS5jOjQzOTAgZ3VpX2d0ay5jOjIxMzcgb3NfbXN3aW4uYzo2MDIKK21zZ2lkICImT2siCittc2dzdHIgIiZPayIKKworIzogZXZhbC5jOjc1NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTczNzogS2V5IGFscmVhZHkgZXhpc3RzOiAlcyIKK21zZ3N0ciAiRTczNzogVOEgZW9jaGFpciBhbm4gY2hlYW5hOiAlcyIKKworIzogZXZhbC5jOjgwMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiKy0lcyUzbGQgbGluZXM6ICIKK21zZ3N0ciAiKy0lcyUzbGQgbO1uZTogIgorCisjOiBldmFsLmM6ODExMQorIywgYy1mb3JtYXQKK21zZ2lkICJFNzAwOiBVbmtub3duIGZ1bmN0aW9uOiAlcyIKK21zZ3N0ciAiRTcwMDogRmVpZGhtIGFuYWl0aG5pZDogJXMiCisKKyM6IGV2YWwuYzo5NjQzCittc2dpZCAiIgorIiZPS1xuIgorIiZDYW5jZWwiCittc2dzdHIgIiIKKyImT0tcbiIKKyImQ2VhbGFpZ2giCisKKyM6IGV2YWwuYzo5NjgyCittc2dpZCAiY2FsbGVkIGlucHV0cmVzdG9yZSgpIG1vcmUgb2Z0ZW4gdGhhbiBpbnB1dHNhdmUoKSIKK21zZ3N0ciAiR2xhb2RoIGlucHV0cmVzdG9yZSgpIG7tb3MgbWluaWNlIG7hIGlucHV0c2F2ZSgpIgorCisjOiBldmFsLmM6OTgzNAorbXNnaWQgIkU3NDU6IFJhbmdlIG5vdCBhbGxvd2VkIgorbXNnc3RyICJFNzQ1OiBO7SBjaGVhZGHtdGVhciByYW9uIgorCisjOiBldmFsLmM6MTAwMzcKK21zZ2lkICJFNzAxOiBJbnZhbGlkIHR5cGUgZm9yIGxlbigpIgorbXNnc3RyICJFNzAxOiBDaW5l4WwgbmVhbWhiaGFpbO0gbGUgaGFnaGFpZGggbGVuKCkiCisKKyM6IGV2YWwuYzoxMDcwNworbXNnaWQgIkU3MjY6IFN0cmlkZSBpcyB6ZXJvIgorbXNnc3RyICJFNzI2OiBJcyBuaWFsYXMg7SBhbiBjaOlpbSIKKworIzogZXZhbC5jOjEwNzA5Cittc2dpZCAiRTcyNzogU3RhcnQgcGFzdCBlbmQiCittc2dzdHIgIkU3Mjc6IFRvc2FjaCB0aGFyIGRoZWlyZWFkaCIKKworIzogZXZhbC5jOjEwNzc0IGV2YWwuYzoxMzI3OAorbXNnaWQgIjxlbXB0eT4iCittc2dzdHIgIjxmb2xhbWg+IgorCisjOiBldmFsLmM6MTA4OTUKK21zZ2lkICJFMjQwOiBObyBjb25uZWN0aW9uIHRvIFZpbSBzZXJ2ZXIiCittc2dzdHIgIkUyNDA6IE7tbCBhb24gbmFzYyBsZSBmcmVhc3RhbGHtIFZpbSIKKworIzogZXZhbC5jOjEwOTQxCisjLCBjLWZvcm1hdAorbXNnaWQgIkUyNDE6IFVuYWJsZSB0byBzZW5kIHRvICVzIgorbXNnc3RyICJFMjQxOiBO7SBm6WlkaXIgYW9uIHJ1ZCBhIHNoZW9sYWRoIGNodWlnICVzIgorCisjOiBldmFsLmM6MTEwNzMKK21zZ2lkICJFMjc3OiBVbmFibGUgdG8gcmVhZCBhIHNlcnZlciByZXBseSIKK21zZ3N0ciAiRTI3NzogTu0gZulpZGlyIGZyZWFncmEg824gZmhyZWFzdGFsYe0gYSBs6WFtaCIKKworIzogZXZhbC5jOjExMzI4Cittc2dpZCAiRTY1NTogVG9vIG1hbnkgc3ltYm9saWMgbGlua3MgKGN5Y2xlPykiCittc2dzdHIgIkU2NTU6IEFuIGlvbWFyY2EgbmFpc2Mgc2hpb21iYWxhY2hhICh0aW10aHJpYWxsPykiCisKKyM6IGV2YWwuYzoxMTc1MgorbXNnaWQgIkUyNTg6IFVuYWJsZSB0byBzZW5kIHRvIGNsaWVudCIKK21zZ3N0ciAiRTI1ODogTu0gZulpZGlyIGFvbiBydWQgYSBzaGVvbGFkaCBjaHVpZyBhbiBjaGxpYW50IgorCisjOiBldmFsLmM6MTIxNTkKK21zZ2lkICJFNzAyOiBTb3J0IGNvbXBhcmUgZnVuY3Rpb24gZmFpbGVkIgorbXNnc3RyICJFNzAyOiBUaGVpcCBhciBmaGVpZGhtIGNob21wYXLhaWRlIGxlIGxpbm4gc/NydOFsYSIKKworIzogZXZhbC5jOjEyMjc4Cittc2dpZCAiKEludmFsaWQpIgorbXNnc3RyICIoTmVhbWhiaGFpbO0pIgorCisjOiBldmFsLmM6MTI2OTQKK21zZ2lkICJFNjc3OiBFcnJvciB3cml0aW5nIHRlbXAgZmlsZSIKK21zZ3N0ciAiRTY3NzogRWFycuFpZCBhZ3VzIGNvbWhhZCBzZWFsYWRhY2gg4SBzY3Ltb2JoIgorCisjOiBldmFsLmM6MTQwMjcKK21zZ2lkICJFNzAzOiBVc2luZyBhIEZ1bmNyZWYgYXMgYSBudW1iZXIiCittc2dzdHIgIkU3MDM6IEZ1bmNyZWYg4SD6c+FpZCBtYXIgdWltaGlyIgorCisjOiBldmFsLmM6MTQwMzUKK21zZ2lkICJFNzQ1OiBVc2luZyBhIExpc3QgYXMgYSBudW1iZXIiCittc2dzdHIgIkU3NDU6IExpb3N0YSDhIPpz4WlkIG1hciB1aW1oaXIiCisKKyM6IGV2YWwuYzoxNDAzOAorbXNnaWQgIkU3Mjg6IFVzaW5nIGEgRGljdGlvbmFyeSBhcyBhIG51bWJlciIKK21zZ3N0ciAiRTcyODogRm9jbPNpciDhIPpz4WlkIG1hciB1aW1oaXIiCisKKyM6IGV2YWwuYzoxNDA5NgorbXNnaWQgIkU3Mjk6IHVzaW5nIEZ1bmNyZWYgYXMgYSBTdHJpbmciCittc2dzdHIgIkU3Mjk6IEZ1bmNyZWYg4SD6c+FpZCBtYXIgVGhlYWdocuFuIgorCisjOiBldmFsLmM6MTQwOTkKK21zZ2lkICJFNzMwOiB1c2luZyBMaXN0IGFzIGEgU3RyaW5nIgorbXNnc3RyICJFNzMwOiBMaW9zdGEg4SD6c+FpZCBtYXIgVGhlYWdocuFuIgorCisjOiBldmFsLmM6MTQxMDIKK21zZ2lkICJFNzMxOiB1c2luZyBEaWN0aW9uYXJ5IGFzIGEgU3RyaW5nIgorbXNnc3RyICJFNzMxOiBGb2Ns82lyIOEg+nPhaWQgbWFyIFRoZWFnaHLhbiIKKworIzogZXZhbC5jOjE0NDIwCisjLCBjLWZvcm1hdAorbXNnaWQgIkU3MDQ6IEZ1bmNyZWYgdmFyaWFibGUgbmFtZSBtdXN0IHN0YXJ0IHdpdGggYSBjYXBpdGFsOiAlcyIKK21zZ3N0ciAiRTcwNDogTu0gZm9s4WlyIGNlYW5ubGl0aXIgYSBiaGVpdGggYXIgZHT6cyBhaW5tIEZ1bmNyZWY6ICVzIgorCisjOiBldmFsLmM6MTQ0MjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiNzA1OiBWYXJpYWJsZSBuYW1lIGNvbmZsaWN0cyB3aXRoIGV4aXN0aW5nIGZ1bmN0aW9uOiAlcyIKK21zZ3N0ciAiNzA1OiBUYWdhbm4gYWlubSBhdGhy82lnZSBzYWxhY2ggYXIgZmhlaWRobSBhdOEgYW5uIGNoZWFuYTogJXMiCisKKyM6IGV2YWwuYzoxNDQzNAorIywgYy1mb3JtYXQKK21zZ2lkICJFNDYxOiBJbGxlZ2FsIHZhcmlhYmxlIG5hbWU6ICVzIgorbXNnc3RyICJFNDYxOiBBaW5tIGF0aHLzaWdlIG5lYW1oY2hlYWRhaXRoZTogJXMiCisKKyM6IGV2YWwuYzoxNDQ1MQorIywgYy1mb3JtYXQKK21zZ2lkICJFNzA2OiBWYXJpYWJsZSB0eXBlIG1pc21hdGNoIGZvcjogJXMiCittc2dzdHIgIkU3MDY6IE3tbWhlYWl0c2XhaWwgaWRpciBjaW5l4WxhY2hhIGF0aHLzaWdlOiAlcyIKKworIzogZXZhbC5jOjE0NTQwCisjLCBjLWZvcm1hdAorbXNnaWQgIkU3NDE6IFZhbHVlIGlzIGxvY2tlZDogJXMiCittc2dzdHIgIkU3NDE6IFThIGFuIGx1YWNoIGZhb2kgZ2hsYXM6ICVzIgorCisjOiBldmFsLmM6MTQ1NDEgZXZhbC5jOjE0NTQ3IG9zX21zd2luLmM6MjE4NworbXNnaWQgIlVua25vd24iCittc2dzdHIgIkFuYWl0aG5pZCIKKworIzogZXZhbC5jOjE0NTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIkU3NDI6IENhbm5vdCBjaGFuZ2UgdmFsdWUgb2YgJXMiCittc2dzdHIgIkU3NDI6IE7tIGbpaWRpciBhbiBsdWFjaCBkZSAlcyBhIGF0aHL6IgorCisjOiBldmFsLmM6MTQ2MjQKK21zZ2lkICJFNjk4OiB2YXJpYWJsZSBuZXN0ZWQgdG9vIGRlZXAgZm9yIG1ha2luZyBhIGNvcHkiCittc2dzdHIgIkU2OTg6IGF0aHLzZyBuZWFkYWl0aGUgcvNkaG9taGFpbiBjaHVuIO0gYSBjaPNpcGXhaWwiCisKKyM6IGV2YWwuYzoxNTAzOQorIywgYy1mb3JtYXQKK21zZ2lkICJFMTI0OiBNaXNzaW5nICcoJzogJXMiCittc2dzdHIgIkUxMjQ6ICcoJyBhciBpYXJyYWlkaDogJXMiCisKKyM6IGV2YWwuYzoxNTA3MgorIywgYy1mb3JtYXQKK21zZ2lkICJFMTI1OiBJbGxlZ2FsIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAiRTEyNTogQXJn82ludCBuZWFtaGNoZWFkYWl0aGU6ICVzIgorCisjOiBldmFsLmM6MTUxNjAKK21zZ2lkICJFMTI2OiBNaXNzaW5nIDplbmRmdW5jdGlvbiIKK21zZ3N0ciAiRTEyNjogOmVuZGZ1bmN0aW9uIGFyIGlhcnJhaWRoIgorCisjOiBldmFsLmM6MTU0MjUKK21zZ2lkICJFMTI5OiBGdW5jdGlvbiBuYW1lIHJlcXVpcmVkIgorbXNnc3RyICJFMTI5OiBU4SBhaW5tIGZlaWRobWUgcmlhY2h0YW5hY2giCisKKyM6IGV2YWwuYzoxNTUxMAorIywgYy1mb3JtYXQKK21zZ2lkICJFMTI4OiBGdW5jdGlvbiBuYW1lIG11c3Qgc3RhcnQgd2l0aCBhIGNhcGl0YWwgb3IgY29udGFpbiBhIGNvbG9uOiAlcyIKK21zZ3N0ciAiIgorIkUxMjg6IE7tIGZvbOFpciBjZWFubmxpdGlyIGEgYmhlaXRoIGFyIGR0+nMgYWlubSBmZWlkaG1lLCBu8yBpZGlyc3RhZCBhICIKKyJiaGVpdGggYW5uOiAlcyIKKworIzogZXZhbC5jOjE1Nzc4CisjLCBjLWZvcm1hdAorbXNnaWQgIkUxMzA6IFVuZGVmaW5lZCBmdW5jdGlvbjogJXMiCittc2dzdHIgIkUxMzA6IEZlaWRobSBnYW4gc2Fpbm1o7W5p+jogJXMiCisKKyM6IGV2YWwuYzoxNTc4MworIywgYy1mb3JtYXQKK21zZ2lkICJFMTMxOiBDYW5ub3QgZGVsZXRlIGZ1bmN0aW9uICVzOiBJdCBpcyBpbiB1c2UiCittc2dzdHIgIkUxMzE6IE7tIGbpaWRpciBmZWlkaG0gJXMgYSBzY3Jpb3NhZGg6IFThIHPpIGluIPpz4WlkIGZhb2kgbOF0aGFpciIKKworIzogZXZhbC5jOjE1OTAxCittc2dpZCAiRTEzMjogRnVuY3Rpb24gY2FsbCBkZXB0aCBpcyBoaWdoZXIgdGhhbiAnbWF4ZnVuY2RlcHRoJyIKK21zZ3N0ciAiRTEzMjogRG9pbWhuZWFjaHQgbmEgbmdsYW9ubmEgbu1vcyBt8yBu4SAnbWF4ZnVuY2RlcHRoJyIKKworIy4gYWx3YXlzIHNjcm9sbCB1cCwgZG9uJ3Qgb3ZlcndyaXRlCisjOiBldmFsLmM6MTYwMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FsbGluZyAlcyIKK21zZ3N0ciAiJXMg4SBnbGFvIgorCisjOiBldmFsLmM6MTYwOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgYWJvcnRlZCIKK21zZ3N0ciAiJXMgdG9ic2NvcnRoYSIKKworIzogZXZhbC5jOjE2MDk1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHJldHVybmluZyAjJWxkIgorbXNnc3RyICIlcyBhZyBhaXNmaGlsbGVhZGggIyVsZCIKKworIzogZXZhbC5jOjE2MTA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHJldHVybmluZyAlcyIKK21zZ3N0ciAiJXMgYWcgYWlzZmhpbGxlYWRoICVzIgorCisjLiBhbHdheXMgc2Nyb2xsIHVwLCBkb24ndCBvdmVyd3JpdGUKKyM6IGV2YWwuYzoxNjEyMiBleF9jbWRzMi5jOjI0MDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY29udGludWluZyBpbiAlcyIKK21zZ3N0ciAiYWcgbGVhbvppbnQgaSAlcyIKKworIzogZXZhbC5jOjE2MTcwCittc2dpZCAiRTEzMzogOnJldHVybiBub3QgaW5zaWRlIGEgZnVuY3Rpb24iCittc2dzdHIgIkUxMzM6IE7tIGZvbOFpciBkbyA6cmV0dXJuIGEgYmhlaXRoIGlzdGVhY2ggaSBiaGZlaWRobSIKKworIzogZXZhbC5jOjE2NDk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIjIGdsb2JhbCB2YXJpYWJsZXM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyIjIGF0aHLzZ2EgY29taGNob2l0ZWFubmE6XG4iCisKKyM6IGV4X2NtZHMyLmM6OTIKK21zZ2lkICJFbnRlcmluZyBEZWJ1ZyBtb2RlLiAgVHlwZSBcImNvbnRcIiB0byBjb250aW51ZS4iCittc2dzdHIgIk3zZCBk7WZoYWJodGFpdGhlIOEgdGhvc/ouICBDbPNzY3Ltb2JoIFwiY29udFwiIGNodW4gbGVhbvppbnQuIgorCisjOiBleF9jbWRzMi5jOjk2IGV4X2RvY21kLmM6MTAxOQorIywgYy1mb3JtYXQKK21zZ2lkICJsaW5lICVsZDogJXMiCittc2dzdHIgImztbmUgJWxkOiAlcyIKKworIzogZXhfY21kczIuYzo5OAorIywgYy1mb3JtYXQKK21zZ2lkICJjbWQ6ICVzIgorbXNnc3RyICJvcmT6OiAlcyIKKworIzogZXhfY21kczIuYzoyOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQnJlYWtwb2ludCBpbiBcIiVzJXNcIiBsaW5lICVsZCIKK21zZ3N0ciAiQnJpc3Bob2ludGUgaSBcIiVzJXNcIiBs7W5lICVsZCIKKworIzogZXhfY21kczIuYzo1NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTE2MTogQnJlYWtwb2ludCBub3QgZm91bmQ6ICVzIgorbXNnc3RyICJFMTYxOiBCcmlzcGhvaW50ZSBnYW4gYWltc2n6OiAlcyIKKworIzogZXhfY21kczIuYzo1ODUKK21zZ2lkICJObyBicmVha3BvaW50cyBkZWZpbmVkIgorbXNnc3RyICJO7WwgYW9uIGJocmlzcGhvaW50ZSBzb2NyYWl0aGUiCisKKyM6IGV4X2NtZHMyLmM6NTkwCisjLCBjLWZvcm1hdAorbXNnaWQgIiUzZCAgJXMgJXMgIGxpbmUgJWxkIgorbXNnc3RyICIlM2QgICVzICVzICBs7W5lICVsZCIKKworIzogZXhfY21kczIuYzo3ODAgZXhfY21kcy5jOjIxMTkKK21zZ2lkICJTYXZlIEFzIgorbXNnc3RyICJT4WJo4WlsIE1hciIKKworIzogZXhfY21kczIuYzo4MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2F2ZSBjaGFuZ2VzIHRvIFwiJS4qc1wiPyIKK21zZ3N0ciAiU+FiaOFpbCBhdGhydWl0aGUgYXIgXCIlLipzXCI/IgorCisjOiBleF9jbWRzMi5jOjgwNyBleF9kb2NtZC5jOjk2NTIKK21zZ2lkICJVbnRpdGxlZCIKK21zZ3N0ciAiR2FuIFRlaWRlYWwiCisKKyM6IGV4X2NtZHMyLmM6OTM0CisjLCBjLWZvcm1hdAorbXNnaWQgIkUxNjI6IE5vIHdyaXRlIHNpbmNlIGxhc3QgY2hhbmdlIGZvciBidWZmZXIgXCIlc1wiIgorbXNnc3RyICJFMTYyOiBU4SBtYW9s4W4gXCIlc1wiIGF0aHJhaXRoZSBhY2ggbmFjaCBiaGZ1aWwgc+FiaOFpbHRlIPMgc2hpbiIKKworIzogZXhfY21kczIuYzoxMDA1Cittc2dpZCAiV2FybmluZzogRW50ZXJlZCBvdGhlciBidWZmZXIgdW5leHBlY3RlZGx5IChjaGVjayBhdXRvY29tbWFuZHMpIgorbXNnc3RyICJSYWJoYWRoOiBDaHVhdGhhcyBpIG1hb2zhbiBlaWxlIGdvIHRvYmFubiAoc2VpY2XhaWwgbmEgaHVhdGhvcmR1aXRoZSkiCisKKyM6IGV4X2NtZHMyLmM6MTQyNAorbXNnaWQgIkUxNjM6IFRoZXJlIGlzIG9ubHkgb25lIGZpbGUgdG8gZWRpdCIKK21zZ3N0ciAiRTE2MzogTu1sIGFjaCBhb24gY2hvbWhhZCBhbWjhaW4gbGUgY3VyIGluIGVhZ2FyIgorCisjOiBleF9jbWRzMi5jOjE0MjYKK21zZ2lkICJFMTY0OiBDYW5ub3QgZ28gYmVmb3JlIGZpcnN0IGZpbGUiCittc2dzdHIgIkUxNjQ6IE7tIGbpaWRpciBhIGRodWwgcm9pbWggYW4gY2jpYWQgY2hvbWhhZCIKKworIzogZXhfY21kczIuYzoxNDI4Cittc2dpZCAiRTE2NTogQ2Fubm90IGdvIGJleW9uZCBsYXN0IGZpbGUiCittc2dzdHIgIkUxNjU6IE7tIGbpaWRpciBhIGRodWwgdGhhciBhbiBnY29taGFkIGRlaXJlYW5hY2giCisKKyM6IGV4X2NtZHMyLmM6MTg0MQorIywgYy1mb3JtYXQKK21zZ2lkICJFNjY2OiBjb21waWxlciBub3Qgc3VwcG9ydGVkOiAlcyIKK21zZ3N0ciAiRTY2Njogbu0gZ2hsYWN0YXIgbGVpcyBhbiB0aW9tc2FpdGhlb2lyOiAlcyIKKworIzogZXhfY21kczIuYzoxOTM4CisjLCBjLWZvcm1hdAorbXNnaWQgIlNlYXJjaGluZyBmb3IgXCIlc1wiIGluIFwiJXNcIiIKK21zZ3N0ciAiQWcgZOlhbmFtaCBjdWFyZGFjaCBhciBcIiVzXCIgaSBcIiVzXCIiCisKKyM6IGV4X2NtZHMyLmM6MTk2MAorIywgYy1mb3JtYXQKK21zZ2lkICJTZWFyY2hpbmcgZm9yIFwiJXNcIiIKK21zZ3N0ciAiQWcgZOlhbmFtaCBjdWFyZGFjaCBhciBcIiVzXCIiCisKKyM6IGV4X2NtZHMyLmM6MTk4MgorIywgYy1mb3JtYXQKK21zZ2lkICJub3QgZm91bmQgaW4gJ3J1bnRpbWVwYXRoJzogXCIlc1wiIgorbXNnc3RyICJnYW4gYWltc2n6IGkgJ3J1bnRpbWVwYXRoJzogXCIlc1wiIgorCisjOiBleF9jbWRzMi5jOjIwMTYKK21zZ2lkICJTb3VyY2UgVmltIHNjcmlwdCIKK21zZ3N0ciAiRm9pbnNpZ2ggc2NyaXB0IFZpbSIKKworIzogZXhfY21kczIuYzoyMjA2CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBzb3VyY2UgYSBkaXJlY3Rvcnk6IFwiJXNcIiIKK21zZ3N0ciAiTu0gZulpZGlyIGFuIGNob21oYWRsYW5uIFwiJXNcIiBhIGzpYW1oIgorCisjOiBleF9jbWRzMi5jOjIyNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHNvdXJjZSBcIiVzXCIiCittc2dzdHIgIm7tb3JiaCBmaOlpZGlyIFwiJXNcIiBhIGzpYW1oIgorCisjOiBleF9jbWRzMi5jOjIyNDYKKyMsIGMtZm9ybWF0Cittc2dpZCAibGluZSAlbGQ6IGNvdWxkIG5vdCBzb3VyY2UgXCIlc1wiIgorbXNnc3RyICJs7W5lICVsZDogbu1vcmJoIGZo6WlkaXIgXCIlc1wiIGEgZmhvaW5zafoiCisKKyM6IGV4X2NtZHMyLmM6MjI2MAorIywgYy1mb3JtYXQKK21zZ2lkICJzb3VyY2luZyBcIiVzXCIiCittc2dzdHIgIlwiJXNcIiDhIGZob2luc2n6IgorCisjOiBleF9jbWRzMi5jOjIyNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAibGluZSAlbGQ6IHNvdXJjaW5nIFwiJXNcIiIKK21zZ3N0ciAibO1uZSAlbGQ6IFwiJXNcIiDhIGZob2luc2n6IgorCisjOiBleF9jbWRzMi5jOjI0MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmluaXNoZWQgc291cmNpbmcgJXMiCittc2dzdHIgImRlaXJlYWRoIGFnIGZvaW5zafogJXMiCisKKyM6IGV4X2NtZHMyLmM6Mjc1MQorbXNnaWQgIlcxNTogV2FybmluZzogV3JvbmcgbGluZSBzZXBhcmF0b3IsIF5NIG1heSBiZSBtaXNzaW5nIgorbXNnc3RyICIiCisiVzE1OiBSYWJoYWRoOiBEZWlnaGlsdGVvaXIgbO1udGUgbe1jaGVhcnQsIGlzIGbpaWRpciBnbyBiaGZ1aWwgXk0gYXIgaWFycmFpZGgiCisKKyM6IGV4X2NtZHMyLmM6MjgwMQorbXNnaWQgIkUxNjc6IDpzY3JpcHRlbmNvZGluZyB1c2VkIG91dHNpZGUgb2YgYSBzb3VyY2VkIGZpbGUiCittc2dzdHIgIkUxNjc6IG7tIPpz4WlkdGVhciA6c2NyaXB0ZW5jb2RpbmcgYWNoIGkgZ2NvbWhhZCBmb2luc2l0aGUiCisKKyM6IGV4X2NtZHMyLmM6MjgzNAorbXNnaWQgIkUxNjg6IDpmaW5pc2ggdXNlZCBvdXRzaWRlIG9mIGEgc291cmNlZCBmaWxlIgorbXNnc3RyICJFMTY4OiBu7SD6c+FpZHRlYXIgOmZpbmlzaCBhY2ggaSBnY29taGFpZCBmb2luc2l0aGUiCisKKyM6IGV4X2NtZHMyLmM6MzI4MworIywgYy1mb3JtYXQKK21zZ2lkICJQYWdlICVkIgorbXNnc3RyICJMZWF0aGFuYWNoICVkIgorCisjOiBleF9jbWRzMi5jOjM0MzkKK21zZ2lkICJObyB0ZXh0IHRvIGJlIHByaW50ZWQiCittc2dzdHIgIk7tbCBhb24gdOlhY3MgbGUgcHJpb2504WlsIgorCisjOiBleF9jbWRzMi5jOjM1MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiUHJpbnRpbmcgcGFnZSAlZCAoJWQlJSkiCittc2dzdHIgIkxlYXRoYW5hY2ggJWQgKCVkJSUpIOEgcGhyaW9udOFpbCIKKworIzogZXhfY21kczIuYzozNTI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiBDb3B5ICVkIG9mICVkIgorbXNnc3RyICIgQ/NpcCAlZCBkZSAlZCIKKworIzogZXhfY21kczIuYzozNTg3CisjLCBjLWZvcm1hdAorbXNnaWQgIlByaW50ZWQ6ICVzIgorbXNnc3RyICJQcmlvbnThaWx0ZTogJXMiCisKKyM6IGV4X2NtZHMyLmM6MzU5NAorIywgYy1mb3JtYXQKK21zZ2lkICJQcmludGluZyBhYm9ydGVkIgorbXNnc3RyICJQcmlvbnThaWwgdG9ic2NvcnRoYSIKKworIzogZXhfY21kczIuYzo0MjQ4Cittc2dpZCAiRTQ1NTogRXJyb3Igd3JpdGluZyB0byBQb3N0U2NyaXB0IG91dHB1dCBmaWxlIgorbXNnc3RyICJFNDU1OiBFYXJy4WlkIGxlIGxpbm4gc2Ny7W9iaCBjaHVpZyBhc2Nob21oYWQgUG9zdFNjcmlwdCIKKworIzogZXhfY21kczIuYzo0NzA4CisjLCBjLWZvcm1hdAorbXNnaWQgIkU2MjQ6IENhbid0IG9wZW4gZmlsZSBcIiVzXCIiCittc2dzdHIgIkU2MjQ6IE7tIGbpaWRpciBhbiBjb21oYWQgXCIlc1wiIGEgb3NjYWlsdCIKKworIzogZXhfY21kczIuYzo0NzE4IGV4X2NtZHMyLmM6NTU5MgorIywgYy1mb3JtYXQKK21zZ2lkICJFNDU3OiBDYW4ndCByZWFkIFBvc3RTY3JpcHQgcmVzb3VyY2UgZmlsZSBcIiVzXCIiCittc2dzdHIgIkU0NTc6IE7tIGbpaWRpciBjb21oYWQgYWNtaGFpbm5lIFBvc3RTY3JpcHQgXCIlc1wiIGEgbOlhbWgiCisKKyM6IGV4X2NtZHMyLmM6NDczNAorIywgYy1mb3JtYXQKK21zZ2lkICJFNjE4OiBmaWxlIFwiJXNcIiBpcyBub3QgYSBQb3N0U2NyaXB0IHJlc291cmNlIGZpbGUiCittc2dzdHIgIkU2MTg6IE7tbCBjb21oYWQgXCIlc1wiIGluYSBjaG9taGFkIGFjbWhhaW5uZSBQb3N0U2NyaXB0IgorCisjOiBleF9jbWRzMi5jOjQ3NTIgZXhfY21kczIuYzo0NzcxIGV4X2NtZHMyLmM6NDgxNgorIywgYy1mb3JtYXQKK21zZ2lkICJFNjE5OiBmaWxlIFwiJXNcIiBpcyBub3QgYSBzdXBwb3J0ZWQgUG9zdFNjcmlwdCByZXNvdXJjZSBmaWxlIgorbXNnc3RyICJFNjE5OiBU4SBcIiVzXCIgaW5hIGNob21oYWQgYWNtaGFpbm5lIFBvc3RTY3JpcHQgZ2FuIHRhY/oiCisKKyM6IGV4X2NtZHMyLmM6NDgzNQorIywgYy1mb3JtYXQKK21zZ2lkICJFNjIxOiBcIiVzXCIgcmVzb3VyY2UgZmlsZSBoYXMgd3JvbmcgdmVyc2lvbiIKK21zZ3N0ciAiRTYyMTogVOEgYW4gbGVhZ2FuIG3tY2hlYXJ0IGFyIGFuIGdjb21oYWQgYWNtaGFpbm5lIFwiJXNcIiIKKworIzogZXhfY21kczIuYzo1MzEzCittc2dpZCAiRTY3MzogSW5jb21wYXRpYmxlIG11bHRpLWJ5dGUgZW5jb2RpbmcgYW5kIGNoYXJhY3RlciBzZXQuIgorbXNnc3RyICJFNjczOiBJb25jaPNk+iBhZ3VzIHRhY2FyIGNhcmFjaHRhciBpbGJoaXJ0IG5lYW1oLWNob21ob2lyafpuYWNoLiIKKworIzogZXhfY21kczIuYzo1MzMwCittc2dpZCAiRTY3NDogcHJpbnRtYmNoYXJzZXQgY2Fubm90IGJlIGVtcHR5IHdpdGggbXVsdGktYnl0ZSBlbmNvZGluZy4iCittc2dzdHIgIiIKKyJFNjc0OiBu7SBjaGVhZGHtdGVhciBwcmludG1iY2hhcnNldCBhIGJoZWl0aCBmb2xhbWggbGUgaGlvbmNo82T6IGlsYmhpcnQuIgorCisjOiBleF9jbWRzMi5jOjUzNDgKK21zZ2lkICJFNjc1OiBObyBkZWZhdWx0IGZvbnQgc3BlY2ZpZmVkIGZvciBtdWx0aS1ieXRlIHByaW50aW5nLiIKK21zZ3N0ciAiRTY3NTogTu1vciBy6WFtaHNob2NyYe1vZGggY2zzIGxlIGhhZ2hhaWRoIHByaW9udOFsYSBpbGJoaXJ0LiIKKworIzogZXhfY21kczIuYzo1NTQxCittc2dpZCAiRTMyNDogQ2FuJ3Qgb3BlbiBQb3N0U2NyaXB0IG91dHB1dCBmaWxlIgorbXNnc3RyICJFMzI0OiBO7SBm6WlkaXIgYXNjaG9taGFkIFBvc3RTY3JpcHQgYSBvc2NhaWx0IgorCisjOiBleF9jbWRzMi5jOjU1NzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTQ1NjogQ2FuJ3Qgb3BlbiBmaWxlIFwiJXNcIiIKK21zZ3N0ciAiRTQ1NjogTu0gZulpZGlyIGFuIGNvbWhhZCBcIiVzXCIgYSBvc2NhaWx0IgorCisjOiBleF9jbWRzMi5jOjU3MDkKK21zZ2lkICJFNDU2OiBDYW4ndCBmaW5kIFBvc3RTY3JpcHQgcmVzb3VyY2UgZmlsZSBcInByb2xvZy5wc1wiIgorbXNnc3RyICJFNDU2OiBDb21oYWQgYWNtaGFpbm5lIFBvc3RTY3JpcHQgXCJwcm9sb2cucHNcIiBnYW4gYWltc2n6IgorCisjOiBleF9jbWRzMi5jOjU3MjIKK21zZ2lkICJFNDU2OiBDYW4ndCBmaW5kIFBvc3RTY3JpcHQgcmVzb3VyY2UgZmlsZSBcImNpZGZvbnQucHNcIiIKK21zZ3N0ciAiRTQ1NjogQ29taGFkIGFjbWhhaW5uZSBQb3N0U2NyaXB0IFwiY2lkZm9udC5wc1wiIGdhbiBhaW1zafoiCisKKyM6IGV4X2NtZHMyLmM6NTc2MCBleF9jbWRzMi5jOjU3ODIgZXhfY21kczIuYzo1ODExCisjLCBjLWZvcm1hdAorbXNnaWQgIkU0NTY6IENhbid0IGZpbmQgUG9zdFNjcmlwdCByZXNvdXJjZSBmaWxlIFwiJXMucHNcIiIKK21zZ3N0ciAiRTQ1NjogQ29taGFkIGFjbWhhaW5uZSBQb3N0U2NyaXB0IFwiJXMucHNcIiBnYW4gYWltc2n6IgorCisjOiBleF9jbWRzMi5jOjU3OTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTYyMDogVW5hYmxlIHRvIGNvbnZlcnQgdG8gcHJpbnQgZW5jb2RpbmcgXCIlc1wiIgorbXNnc3RyICJFNjIwOiBO7SBm6WlkaXIgYW4gdC1pb25jaPNk+iBwcmlvbnThbGEgXCIlc1wiIGEgdGhpb250+iIKKworIzogZXhfY21kczIuYzo2MDUyCittc2dpZCAiU2VuZGluZyB0byBwcmludGVyLi4uIgorbXNnc3RyICJBZyBzZW9sYWRoIGNodWlnIGFuIHBocmludOlpci4uLiIKKworIzogZXhfY21kczIuYzo2MDU2Cittc2dpZCAiRTM2NTogRmFpbGVkIHRvIHByaW50IFBvc3RTY3JpcHQgZmlsZSIKK21zZ3N0ciAiRTM2NTogVGhlaXAgYXIgcGhyaW9udOFpbCBjb21oYWlkIFBvc3RTY3JpcHQiCisKKyM6IGV4X2NtZHMyLmM6NjA1OAorbXNnaWQgIlByaW50IGpvYiBzZW50LiIKK21zZ3N0ciAiU2VvbGFkaCBqYWIgcHJpb2504WxhLiIKKworIzogZXhfY21kczIuYzo2NjY1CisjLCBjLWZvcm1hdAorbXNnaWQgIkN1cnJlbnQgJXNsYW5ndWFnZTogXCIlc1wiIgorbXNnc3RyICIlc1RlYW5nYSBmYW9pIGzhdGhhaXI6IFwiJXNcIiIKKworIzogZXhfY21kczIuYzo2Njc2CisjLCBjLWZvcm1hdAorbXNnaWQgIkUxOTc6IENhbm5vdCBzZXQgbGFuZ3VhZ2UgdG8gXCIlc1wiIgorbXNnc3RyICJFMTk3OiBO7SBm6WlkaXIgYW4gdGVhbmdhIGEgc2hvY3L6IG1hciBcIiVzXCIiCisKKyM6IGV4X2NtZHMuYzo5MgorIywgYy1mb3JtYXQKK21zZ2lkICI8JXM+JXMlcyAgJWQsICBIZXggJTAyeCwgIE9jdGFsICUwM28iCittc2dzdHIgIjwlcz4lcyVzICAlZCwgIEhlaWNzICUwMngsICBPY2h0ICUwM28iCisKKyM6IGV4X2NtZHMuYzoxMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiPiAlZCwgSGV4ICUwNHgsIE9jdGFsICVvIgorbXNnc3RyICI+ICVkLCBIZWljcyAlMDR4LCBPY2h0ICVvIgorCisjOiBleF9jbWRzLmM6MTE5CisjLCBjLWZvcm1hdAorbXNnaWQgIj4gJWQsIEhleCAlMDh4LCBPY3RhbCAlbyIKK21zZ3N0ciAiPiAlZCwgSGVpY3MgJTA4eCwgT2NodCAlbyIKKworIzogZXhfY21kcy5jOjQzMAorbXNnaWQgIkUxMzQ6IE1vdmUgbGluZXMgaW50byB0aGVtc2VsdmVzIgorbXNnc3RyICJFMTM0OiBCb2cgbO1udGUgaXN0ZWFjaCBpb250dSBm6WluIgorCisjOiBleF9jbWRzLmM6NDk5Cittc2dpZCAiMSBsaW5lIG1vdmVkIgorbXNnc3RyICJCb2dhZGggMSBs7W5lIgorCisjOiBleF9jbWRzLmM6NTAxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVsZCBsaW5lcyBtb3ZlZCIKK21zZ3N0ciAiQm9nYWRoICVsZCBs7W5lIgorCisjOiBleF9jbWRzLmM6OTI4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVsZCBsaW5lcyBmaWx0ZXJlZCIKK21zZ3N0ciAiU2NhZ2FkaCAlbGQgbO1uZSIKKworIzogZXhfY21kcy5jOjk1NgorbXNnaWQgIkUxMzU6ICpGaWx0ZXIqIEF1dG9jb21tYW5kcyBtdXN0IG5vdCBjaGFuZ2UgY3VycmVudCBidWZmZXIiCittc2dzdHIgIiIKKyJFMTM1OiBO7SBjaGVhZGHtdGVhciB1YXRob3JkdWl0aGUgc2NhZ2FpcmUgY2h1biBhbiBtYW9s4W4gcmVhdGhhIGEgYXRocvoiCisKKyM6IGV4X2NtZHMuYzoxMDQxCittc2dpZCAiW05vIHdyaXRlIHNpbmNlIGxhc3QgY2hhbmdlXVxuIgorbXNnc3RyICJbQXRocmFpdGhlIGFndXMgbmFjaCBz4WJo4WlsdGUg8yBzaGluXVxuIgorCisjOiBleF9jbWRzLmM6MTI4NworIywgYy1mb3JtYXQKK21zZ2lkICIlc3ZpbWluZm86ICVzIGluIGxpbmU6ICIKK21zZ3N0ciAiJXN2aW1pbmZvOiAlcyBpIGztbmU6ICIKKworIzogZXhfY21kcy5jOjEyOTQKK21zZ2lkICJFMTM2OiB2aW1pbmZvOiBUb28gbWFueSBlcnJvcnMsIHNraXBwaW5nIHJlc3Qgb2YgZmlsZSIKK21zZ3N0ciAiIgorIkUxMzY6IHZpbWluZm86IEFuIGlvbWFyY2EgZWFycuFpZO0sIGFnIHNjaXBl4WlsIGFuIGNodWlkIGVpbGUgZGVuIGNob21oYWQiCisKKyM6IGV4X2NtZHMuYzoxMzI5CisjLCBjLWZvcm1hdAorbXNnaWQgIlJlYWRpbmcgdmltaW5mbyBmaWxlIFwiJXNcIiVzJXMlcyIKK21zZ3N0ciAiQ29taGFkIHZpbWluZm8gXCIlc1wiJXMlcyVzIOEgbOlhbWgiCisKKyM6IGV4X2NtZHMuYzoxMzMwCittc2dpZCAiIGluZm8iCittc2dzdHIgIiBlb2xhcyIKKworIzogZXhfY21kcy5jOjEzMzEKK21zZ2lkICIgbWFya3MiCittc2dzdHIgIiBtYXJjYW5uYSIKKworIzogZXhfY21kcy5jOjEzMzIKK21zZ2lkICIgRkFJTEVEIgorbXNnc3RyICIgVEVJUFRIRSIKKworIzogZXhfY21kcy5jOjE0MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTEzNzogVmltaW5mbyBmaWxlIGlzIG5vdCB3cml0YWJsZTogJXMiCittc2dzdHIgIkUxMzc6IE7tbCBhbiBjb21oYWQgVmltaW5mbyBpbnNjcu1vZmE6ICVzIgorCisjOiBleF9jbWRzLmM6MTU0OQorIywgYy1mb3JtYXQKK21zZ2lkICJFMTM4OiBDYW4ndCB3cml0ZSB2aW1pbmZvIGZpbGUgJXMhIgorbXNnc3RyICJFMTM4OiBO7SBm6WlkaXIgY29taGFkIHZpbWluZm8gJXMgYSBzY3Ltb2JoISIKKworIzogZXhfY21kcy5jOjE1NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiV3JpdGluZyB2aW1pbmZvIGZpbGUgXCIlc1wiIgorbXNnc3RyICJDb21oYWQgdmltaW5mbyBcIiVzXCIg4SBzY3Ltb2JoIgorCisjLiBXcml0ZSB0aGUgaW5mbzoKKyM6IGV4X2NtZHMuYzoxNjU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiMgVGhpcyB2aW1pbmZvIGZpbGUgd2FzIGdlbmVyYXRlZCBieSBWaW0gJXMuXG4iCittc2dzdHIgIiMgQ2hydXRoYWlnaCBWaW0gYW4gY29taGFkIHZpbWluZm8gc2VvICVzLlxuIgorCisjOiBleF9jbWRzLmM6MTY1NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIyBZb3UgbWF5IGVkaXQgaXQgaWYgeW91J3JlIGNhcmVmdWwhXG4iCisiXG4iCittc2dzdHIgIiIKKyIjIElzIGbpaWRpciBsZWF0IGFuIGNvbWhhZCBzZW8gYSBjaHVyIGluIGVhZ2FyIGFjaCBi7SBj+nJhbWFjaCFcbiIKKyJcbiIKKworIzogZXhfY21kcy5jOjE2NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIyBWYWx1ZSBvZiAnZW5jb2RpbmcnIHdoZW4gdGhpcyBmaWxlIHdhcyB3cml0dGVuXG4iCittc2dzdHIgIiMgTHVhY2ggJ2VuY29kaW5nJyBhZ3VzIGFuIGNvbWhhZCBzZW8g4SBzY3Ltb2JoXG4iCisKKyM6IGV4X2NtZHMuYzoxNzU4Cittc2dpZCAiSWxsZWdhbCBzdGFydGluZyBjaGFyIgorbXNnc3RyICJDYXJhY2h0YXIgbmVhbWhjaGVhZGFpdGhlIHRvc2FpZ2giCisKKyMuIE92ZXJ3cml0aW5nIGEgZmlsZSB0aGF0IGlzIGxvYWRlZCBpbiBhbm90aGVyIGJ1ZmZlciBpcyBub3QgYQorIy4gKiBnb29kIGlkZWEuCisjOiBleF9jbWRzLmM6MjE2MgorbXNnaWQgIkUxMzk6IEZpbGUgaXMgbG9hZGVkIGluIGFub3RoZXIgYnVmZmVyIgorbXNnc3RyICJFMTM5OiBU4SBhbiBjb21oYWQgbHVjaHRhaXRoZSBpIG1hb2zhbiBlaWxlIgorCisjOiBleF9jbWRzLmM6MjE5NgorbXNnaWQgIldyaXRlIHBhcnRpYWwgZmlsZT8iCittc2dzdHIgIlNjcu1vYmggY29taGFkIG5lYW1oaW9tbOFuPyIKKworIzogZXhfY21kcy5jOjIyMDMKK21zZ2lkICJFMTQwOiBVc2UgISB0byB3cml0ZSBwYXJ0aWFsIGJ1ZmZlciIKK21zZ3N0ciAiRTE0MDogQmFpbiD6c+FpZCBhcyAhIGNodW4gbWFvbOFuIG5lYW1oaW9tbOFuIGEgc2Ny7W9iaCIKKworIzogZXhfY21kcy5jOjIzMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiT3ZlcndyaXRlIGV4aXN0aW5nIGZpbGUgXCIlLipzXCI/IgorbXNnc3RyICJGb3JzY3Ltb2JoIGNvbWhhZCBcIiUuKnNcIiBhdOEgYW5uIGNoZWFuYT8iCisKKyM6IGV4X2NtZHMuYzoyMzkxCisjLCBjLWZvcm1hdAorbXNnaWQgIkUxNDE6IE5vIGZpbGUgbmFtZSBmb3IgYnVmZmVyICVsZCIKK21zZ3N0ciAiRTE0MTogTu1sIGFvbiBhaW5tIGFyIG1oYW9s4W4gJWxkIgorCisjOiBleF9jbWRzLmM6MjQzMAorbXNnaWQgIkUxNDI6IEZpbGUgbm90IHdyaXR0ZW46IFdyaXRpbmcgaXMgZGlzYWJsZWQgYnkgJ3dyaXRlJyBvcHRpb24iCittc2dzdHIgIkUxNDI6IE7tb3Igc2Ny7W9iaGFkaCBhbiBjb21oYWQ6IGTtY2h1bWFzYWl0aGUgbGVpcyBhbiByb2doYSAnd3JpdGUnIgorCisjOiBleF9jbWRzLmM6MjQ1MAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiJ3JlYWRvbmx5JyBvcHRpb24gaXMgc2V0IGZvciBcIiUuKnNcIi5cbiIKKyJEbyB5b3Ugd2lzaCB0byB3cml0ZSBhbnl3YXk/IgorbXNnc3RyICIiCisidOEgYW4gcm9naGEgJ3JlYWRvbmx5JyBzb2NyYWl0aGUgZG8gXCIlLipzXCIuXG4iCisiQXIgbWhhaXRoIGxlYXQg6SBhIHNjcu1vYmggbWFyIHNpbiBm6WluPyIKKworIzogZXhfY21kcy5jOjI2MjMKK21zZ2lkICJFZGl0IEZpbGUiCittc2dzdHIgIkN1aXIgQ29taGFkIGluIEVhZ2FyIgorCisjOiBleF9jbWRzLmM6MzIzNgorIywgYy1mb3JtYXQKK21zZ2lkICJFMTQzOiBBdXRvY29tbWFuZHMgdW5leHBlY3RlZGx5IGRlbGV0ZWQgbmV3IGJ1ZmZlciAlcyIKK21zZ3N0ciAiRTE0MzogU2NyaW9zIG5hIGh1YXRob3JkdWl0aGUgbWFvbOFuIG51YSAlcyBnbyB0b2Jhbm4iCisKKyM6IGV4X2NtZHMuYzozNDEyCittc2dpZCAiRTE0NDogbm9uLW51bWVyaWMgYXJndW1lbnQgdG8gOnoiCittc2dzdHIgIkUxNDQ6IGFyZ/NpbnQgbmVhbWh1aW1ocmn6aWwgY2h1biA6eiIKKworIzogZXhfY21kcy5jOjM1MDcKK21zZ2lkICJFMTQ1OiBTaGVsbCBjb21tYW5kcyBub3QgYWxsb3dlZCBpbiBydmltIgorbXNnc3RyICJFMTQ1OiBO7SBjaGVhZGHtdGVhciBvcmR1aXRoZSBibGFvaXNjZSBpIHJ2aW0iCisKKyM6IGV4X2NtZHMuYzozNjE1Cittc2dpZCAiRTE0NjogUmVndWxhciBleHByZXNzaW9ucyBjYW4ndCBiZSBkZWxpbWl0ZWQgYnkgbGV0dGVycyIKK21zZ3N0ciAiIgorIkUxNDY6IE7tIGNoZWFkYe10ZWFyIGxpdHJlYWNoYSBtYXIgdGhlb3JtaGFyY/Npcu0gYXIgc2hsb2lubiBpb25hZGHtb2NodGEiCisKKyM6IGV4X2NtZHMuYzozOTY2CisjLCBjLWZvcm1hdAorbXNnaWQgInJlcGxhY2Ugd2l0aCAlcyAoeS9uL2EvcS9sL15FL15ZKT8iCittc2dzdHIgImN1aXIgJXMgaW5hIGlvbmFkICh5L24vYS9xL2wvXkUvXlkpPyIKKworIzogZXhfY21kcy5jOjQzNjUKK21zZ2lkICIoSW50ZXJydXB0ZWQpICIKK21zZ3N0ciAiKElkaXJiaHJpc3RlKSAiCisKKyM6IGV4X2NtZHMuYzo0MzY5Cittc2dpZCAiMSBzdWJzdGl0dXRpb24iCittc2dzdHIgIjEgaW9uYWRh7W9jaHQiCisKKyM6IGV4X2NtZHMuYzo0MzcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVsZCBzdWJzdGl0dXRpb25zIgorbXNnc3RyICIlbGQgaW9uYWRh7W9jaHQiCisKKyM6IGV4X2NtZHMuYzo0Mzc0Cittc2dpZCAiIG9uIDEgbGluZSIKK21zZ3N0ciAiIGFyIDEgbO1uZSIKKworIzogZXhfY21kcy5jOjQzNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIG9uICVsZCBsaW5lcyIKK21zZ3N0ciAiIGFyICVsZCBs7W5lIgorCisjOiBleF9jbWRzLmM6NDQyNworbXNnaWQgIkUxNDc6IENhbm5vdCBkbyA6Z2xvYmFsIHJlY3Vyc2l2ZSIKK21zZ3N0ciAiRTE0NzogTu0gY2hlYWRh7XRlYXIgOmdsb2JhbCBnbyBoYXRoY2j6cnNhY2giCisKKyM6IGV4X2NtZHMuYzo0NDYyCittc2dpZCAiRTE0ODogUmVndWxhciBleHByZXNzaW9uIG1pc3NpbmcgZnJvbSBnbG9iYWwiCittc2dzdHIgIkUxNDg6IFNsb25uIGlvbmFkYe1vY2h0YSBhciBpYXJyYWlkaCDzbiBkb21oYWluIgorCisjOiBleF9jbWRzLmM6NDUxMQorIywgYy1mb3JtYXQKK21zZ2lkICJQYXR0ZXJuIGZvdW5kIGluIGV2ZXJ5IGxpbmU6ICVzIgorbXNnc3RyICJBaW1z7W9kaCBhbiBwYXRy+m4gaSBuZ2FjaCBs7W5lOiAlcyIKKworIzogZXhfY21kcy5jOjQ1OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIiMgTGFzdCBTdWJzdGl0dXRlIFN0cmluZzpcbiIKKyIkIgorbXNnc3RyICIiCisiXG4iCisiIyBUZWFnaHLhbiBJb25hZGFjaCBJcyBE6WFuYe06XG4iCisiJCIKKworIzogZXhfY21kcy5jOjQ2OTcKK21zZ2lkICJFNDc4OiBEb24ndCBwYW5pYyEiCittc2dzdHIgIkU0Nzg6IE7hIHTpaWdoIGkgc2Nhb2xsISIKKworIzogZXhfY21kcy5jOjQ3NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTY2MTogU29ycnksIG5vICclcycgaGVscCBmb3IgJXMiCittc2dzdHIgIkU2NjE6IFThIGJy824gb3JtLCBu7SBhb24gY2hhYmhhaXIgJyVzJyBkbyAlcyIKKworIzogZXhfY21kcy5jOjQ3NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTE0OTogU29ycnksIG5vIGhlbHAgZm9yICVzIgorbXNnc3RyICJFMTQ5OiBU4SBicvNuIG9ybSwgbu1sIGFvbiBjaGFiaGFpciBkbyAlcyIKKworIzogZXhfY21kcy5jOjQ3ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiU29ycnksIGhlbHAgZmlsZSBcIiVzXCIgbm90IGZvdW5kIgorbXNnc3RyICJU4SBicvNuIG9ybSwgY29taGFkIGNhYmhyYWNoIFwiJXNcIiBnYW4gYWltc2n6IgorCisjOiBleF9jbWRzLmM6NTMzMAorIywgYy1mb3JtYXQKK21zZ2lkICJFMTUwOiBOb3QgYSBkaXJlY3Rvcnk6ICVzIgorbXNnc3RyICJFMTUwOiBO7SBjb21oYWRsYW5uIOk6ICVzIgorCisjOiBleF9jbWRzLmM6NTQ3MAorIywgYy1mb3JtYXQKK21zZ2lkICJFMTUyOiBDYW5ub3Qgb3BlbiAlcyBmb3Igd3JpdGluZyIKK21zZ3N0ciAiRTE1MjogTu0gZulpZGlyICVzIGEgb3NjYWlsdCBjaHVuIHNjcu1vYmggYW5uIgorCisjOiBleF9jbWRzLmM6NTUwNQorIywgYy1mb3JtYXQKK21zZ2lkICJFMTUzOiBVbmFibGUgdG8gb3BlbiAlcyBmb3IgcmVhZGluZyIKK21zZ3N0ciAiRTE1MzogTu0gZulpZGlyICVzIGEgb3NjYWlsdCBjaHVuIOkgYSBs6WFtaCIKKworIzogZXhfY21kcy5jOjU1NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTY3MDogTWl4IG9mIGhlbHAgZmlsZSBlbmNvZGluZ3Mgd2l0aGluIGEgbGFuZ3VhZ2U6ICVzIgorbXNnc3RyICJFNjcwOiBJb25jaPNkdWl0aGUg6WFnc/psYSBkbyBjaG9taGFpZCBjaGFiaHJhY2hhIGkgZHRlYW5nYSBhb25haXI6ICVzIgorCisjOiBleF9jbWRzLmM6NTYxOQorIywgYy1mb3JtYXQKK21zZ2lkICJFMTU0OiBEdXBsaWNhdGUgdGFnIFwiJXNcIiBpbiBmaWxlICVzLyVzIgorbXNnc3RyICJFMTU0OiBDbGliIGRo+mJsYWNoIFwiJXNcIiBpIGdjb21oYWQgJXMvJXMiCisKKyM6IGV4X2NtZHMuYzo1NzM1CisjLCBjLWZvcm1hdAorbXNnaWQgIkUxNjA6IFVua25vd24gc2lnbiBjb21tYW5kOiAlcyIKK21zZ3N0ciAiRTE2MDogT3Jk+iBhbmFpdGhuaWQgY29taGFydGhhOiAlcyIKKworIzogZXhfY21kcy5jOjU3NTUKK21zZ2lkICJFMTU2OiBNaXNzaW5nIHNpZ24gbmFtZSIKK21zZ3N0ciAiRTE1NjogQWlubSBjb21oYXJ0aGEgYXIgaWFycmFpZGgiCisKKyM6IGV4X2NtZHMuYzo1ODAxCittc2dpZCAiRTYxMjogVG9vIG1hbnkgc2lnbnMgZGVmaW5lZCIKK21zZ3N0ciAiRTYxMjogQW4gaW9tYXJjYSBjb21oYXJ0aGHtIHNhaW5taO1uaXRoZSIKKworIzogZXhfY21kcy5jOjU4NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTIzOTogSW52YWxpZCBzaWduIHRleHQ6ICVzIgorbXNnc3RyICJFMjM5OiBU6WFjcyBuZWFtaGJoYWls7SBjb21oYXJ0aGE6ICVzIgorCisjOiBleF9jbWRzLmM6NTkwMCBleF9jbWRzLmM6NjA5MQorIywgYy1mb3JtYXQKK21zZ2lkICJFMTU1OiBVbmtub3duIHNpZ246ICVzIgorbXNnc3RyICJFMTU1OiBDb21oYXJ0aGEgYW5haXRobmlkOiAlcyIKKworIzogZXhfY21kcy5jOjU5NDkKK21zZ2lkICJFMTU5OiBNaXNzaW5nIHNpZ24gbnVtYmVyIgorbXNnc3RyICJFMTU5OiBVaW1oaXIgY2hvbWhhcnRoYSBhciBpYXJyYWlkaCIKKworIzogZXhfY21kcy5jOjYwMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTE1ODogSW52YWxpZCBidWZmZXIgbmFtZTogJXMiCittc2dzdHIgIkUxNTg6IEFpbm0gbWFvbOFpbiBuZWFtaGJoYWls7TogJXMiCisKKyM6IGV4X2NtZHMuYzo2MDcwCisjLCBjLWZvcm1hdAorbXNnaWQgIkUxNTc6IEludmFsaWQgc2lnbiBJRDogJWxkIgorbXNnc3RyICJFMTU3OiBJRCBuZWFtaGJoYWls7SBjb21oYXJ0aGE6ICVsZCIKKworIzogZXhfY21kcy5jOjYxNDAKK21zZ2lkICIgKE5PVCBGT1VORCkiCittc2dzdHIgIiAoQVIgSUFSUkFJREgpIgorCisjOiBleF9jbWRzLmM6NjE0MgorbXNnaWQgIiAobm90IHN1cHBvcnRlZCkiCittc2dzdHIgIiAobu1sIGFuIHJvZ2hhIHNlbyBhciBm4WlsKSIKKworIzogZXhfY21kcy5jOjYyNDEKK21zZ2lkICJbRGVsZXRlZF0iCittc2dzdHIgIltTY3Jpb3N0YV0iCisKKyM6IGV4X2RvY21kLmM6NTk0Cittc2dpZCAiRW50ZXJpbmcgRXggbW9kZS4gIFR5cGUgXCJ2aXN1YWxcIiB0byBnbyB0byBOb3JtYWwgbW9kZS4iCittc2dzdHIgIk3zZCBFeCDhIHRob3P6LiAgQ2zzc2Ny7W9iaCBcInZpc3VhbFwiIGxlIGhhZ2hhaWRoIGFuIGdobuF0aG1o82QuIgorCisjIGluIEZBUkYgLUtQUworIy4gbXVzdCBiZSBhdCBFT0YKKyM6IGV4X2RvY21kLmM6NjM4Cittc2dpZCAiRTUwMTogQXQgZW5kLW9mLWZpbGUiCittc2dzdHIgIkU1MDE6IEFnIGFuIGNob21oYWRjaHLtb2NoIgorCisjOiBleF9kb2NtZC5jOjczNworbXNnaWQgIkUxNjk6IENvbW1hbmQgdG9vIHJlY3Vyc2l2ZSIKK21zZ3N0ciAiRTE2OTogT3Jk+iBy8y1hdGhjaPpyc2FjaCIKKworIzogZXhfZG9jbWQuYzoxMjk2CisjLCBjLWZvcm1hdAorbXNnaWQgIkU2MDU6IEV4Y2VwdGlvbiBub3QgY2F1Z2h0OiAlcyIKK21zZ3N0ciAiRTYwNTogRWlzY2VhY2h0IGdhbiBs4WltaHNl4WlsOiAlcyIKKworIzogZXhfZG9jbWQuYzoxMzg0Cittc2dpZCAiRW5kIG9mIHNvdXJjZWQgZmlsZSIKK21zZ3N0ciAiQ3Ltb2NoIGNob21oYWlkIGZvaW5zaXRoZSIKKworIzogZXhfZG9jbWQuYzoxMzg1Cittc2dpZCAiRW5kIG9mIGZ1bmN0aW9uIgorbXNnc3RyICJDcu1vY2ggZmhlaWRobWUiCisKKyM6IGV4X2RvY21kLmM6MTk3NAorbXNnaWQgIkU0NjQ6IEFtYmlndW91cyB1c2Ugb2YgdXNlci1kZWZpbmVkIGNvbW1hbmQiCittc2dzdHIgIkU0NjQ6INpz4WlkIGF0aGJocu1vY2ggZCdvcmT6IHNhaW5jaGVhcHRoYSIKKworIzogZXhfZG9jbWQuYzoxOTg4Cittc2dpZCAiRTQ5MjogTm90IGFuIGVkaXRvciBjb21tYW5kIgorbXNnc3RyICJFNDkyOiBO7WwgaW5hIG9yZPogZWFnYXJ0aPNyYSIKKworIzogZXhfZG9jbWQuYzoyMDk1Cittc2dpZCAiRTQ5MzogQmFja3dhcmRzIHJhbmdlIGdpdmVuIgorbXNnc3RyICJFNDkzOiBSYW9uIGRyb2ltIGFyIGFpcyIKKworIzogZXhfZG9jbWQuYzoyMTA0Cittc2dpZCAiQmFja3dhcmRzIHJhbmdlIGdpdmVuLCBPSyB0byBzd2FwIgorbXNnc3RyICJSYW9uIGRyb2ltIGFyIGFpcywgYmFiaHThaWwiCisKKyM6IGV4X2RvY21kLmM6MjIyOQorbXNnaWQgIkU0OTQ6IFVzZSB3IG9yIHc+PiIKK21zZ3N0ciAiRTQ5NDogQmFpbiD6c+FpZCBhcyB3IG7zIHc+PiIKKworIzogZXhfZG9jbWQuYzozODY2Cittc2dpZCAiRTMxOTogU29ycnksIHRoZSBjb21tYW5kIGlzIG5vdCBhdmFpbGFibGUgaW4gdGhpcyB2ZXJzaW9uIgorbXNnc3RyICJFMzE5OiBU4SBicvNuIG9ybSwgbu1sIGFuIHQtb3Jk+iBhciBm4WlsIHNhIGxlYWdhbiBzZW8iCisKKyM6IGV4X2RvY21kLmM6NDEyMworbXNnaWQgIkUxNzI6IE9ubHkgb25lIGZpbGUgbmFtZSBhbGxvd2VkIgorbXNnc3RyICJFMTcyOiBO7SBjaGVhZGHtdGVhciBhY2ggYW9uIGFpbm0gY29taGFpZCBhbWjhaW4iCisKKyM6IGV4X2RvY21kLmM6NDcxMQorbXNnaWQgIjEgbW9yZSBmaWxlIHRvIGVkaXQuICBRdWl0IGFueXdheT8iCittc2dzdHIgIjEgY29taGFkIGxlIGN1ciBpbiBlYWdhciBm83MuICBTY29pciBtYXIgc2luIGbpaW4/IgorCisjOiBleF9kb2NtZC5jOjQ3MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWQgbW9yZSBmaWxlcyB0byBlZGl0LiAgUXVpdCBhbnl3YXk/IgorbXNnc3RyICIlZCBjb21oYWQgbGUgY3VyIGluIGVhZ2FyIGbzcy4gIFNjb2lyIG1hciBzaW4gZulpbj8iCisKKyM6IGV4X2RvY21kLmM6NDcyMQorbXNnaWQgIkUxNzM6IDEgbW9yZSBmaWxlIHRvIGVkaXQiCittc2dzdHIgIkUxNzM6IDEgY29taGFkIGxlIGhlYWdy+iIKKworIzogZXhfZG9jbWQuYzo0NzIzCisjLCBjLWZvcm1hdAorbXNnaWQgIkUxNzM6ICVsZCBtb3JlIGZpbGVzIHRvIGVkaXQiCittc2dzdHIgIkUxNzM6ICVsZCBjb21oYWQgbGUgY3VyIGluIGVhZ2FyIgorCisjOiBleF9kb2NtZC5jOjQ4MTgKK21zZ2lkICJFMTc0OiBDb21tYW5kIGFscmVhZHkgZXhpc3RzOiBhZGQgISB0byByZXBsYWNlIGl0IgorbXNnc3RyICJFMTc0OiBU4SBhbiB0LW9yZPogYW5uIGNoZWFuYTogY3VpciAhIGxlaXMgY2h1biBz4XL6IgorCisjOiBleF9kb2NtZC5jOjQ5MjgKK21zZ2lkICIiCisiXG4iCisiICAgIE5hbWUgICAgICAgIEFyZ3MgUmFuZ2UgQ29tcGxldGUgIERlZmluaXRpb24iCittc2dzdHIgIiIKKyJcbiIKKyIgICAgQWlubSAgICAgICAgQXJnICBSYW9uICBJb21s4W4gICAgU2Fpbm1o7W5p+iIKKworIzogZXhfZG9jbWQuYzo1MDE3Cittc2dpZCAiTm8gdXNlci1kZWZpbmVkIGNvbW1hbmRzIGZvdW5kIgorbXNnc3RyICJO7WwgYW9uIG9yZPogYWltc2l0aGUgYXThIHNhaW5pdGhlIGFnIGFuIPpz4WlkZW9pciIKKworIzogZXhfZG9jbWQuYzo1MDQ5Cittc2dpZCAiRTE3NTogTm8gYXR0cmlidXRlIHNwZWNpZmllZCIKK21zZ3N0ciAiRTE3NTogTu1sIGFvbiBhaXRyZWFi+mlkIHNhaW5pdGhlIgorCisjOiBleF9kb2NtZC5jOjUxMDEKK21zZ2lkICJFMTc2OiBJbnZhbGlkIG51bWJlciBvZiBhcmd1bWVudHMiCittc2dzdHIgIkUxNzY6IFThIGztb24gbmEgbi1hcmfzaW507SBt7WNoZWFydCIKKworIzogZXhfZG9jbWQuYzo1MTE2Cittc2dpZCAiRTE3NzogQ291bnQgY2Fubm90IGJlIHNwZWNpZmllZCB0d2ljZSIKK21zZ3N0ciAiRTE3NzogTu0gY2hlYWRh7XRlYXIgYW4gdC3haXJlYW1oIGEgYmhlaXRoIHR1Z3RoYSBmYW9pIGRo8yIKKworIzogZXhfZG9jbWQuYzo1MTI2Cittc2dpZCAiRTE3ODogSW52YWxpZCBkZWZhdWx0IHZhbHVlIGZvciBjb3VudCIKK21zZ3N0ciAiRTE3ODogTHVhY2ggculhbWhzaG9jcmFpdGhlIG5lYW1oYmhhaWztIGFyIOFpcmVhbWgiCisKKyM6IGV4X2RvY21kLmM6NTE1NworbXNnaWQgIkUxNzk6IGFyZ3VtZW50IHJlcXVpcmVkIGZvciBjb21wbGV0ZSIKK21zZ3N0ciAiRTE3OTogbu0gZm9s4WlyIGFyZ/NpbnQgbGUgaGFnaGFpZGggY29taGzhbmFpdGhlIgorCisjOiBleF9kb2NtZC5jOjUxODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTE4MDogSW52YWxpZCBjb21wbGV0ZSB2YWx1ZTogJXMiCittc2dzdHIgIkUxODA6IEx1YWNoIGlvbWzhbiBuZWFtaGJoYWls7TogJXMiCisKKyM6IGV4X2RvY21kLmM6NTE5OAorbXNnaWQgIkU0Njg6IENvbXBsZXRpb24gYXJndW1lbnQgb25seSBhbGxvd2VkIGZvciBjdXN0b20gY29tcGxldGlvbiIKK21zZ3N0ciAiIgorIkU0Njg6IE7tIGNoZWFkYe10ZWFyIGFyZ/NpbnQgY2hvbWhs4W5haXRoZSBhY2ggbGUgY29taGzhbvogc2FpbmNoZWFwdGhhIgorCisjOiBleF9kb2NtZC5jOjUyMDQKK21zZ2lkICJFNDY3OiBDdXN0b20gY29tcGxldGlvbiByZXF1aXJlcyBhIGZ1bmN0aW9uIGFyZ3VtZW50IgorbXNnc3RyICJFNDY3OiBU4SBn4SBsZSBoYXJn82ludCBmaGVpZGhtZSBsZSBjb21obOFu+iBzYWluY2hlYXB0aGEiCisKKyM6IGV4X2RvY21kLmM6NTIxNQorIywgYy1mb3JtYXQKK21zZ2lkICJFMTgxOiBJbnZhbGlkIGF0dHJpYnV0ZTogJXMiCittc2dzdHIgIkUxODE6IEFpdHJlYWL6aWQgbmVhbWhiaGFpbO06ICVzIgorCisjOiBleF9kb2NtZC5jOjUyNTgKK21zZ2lkICJFMTgyOiBJbnZhbGlkIGNvbW1hbmQgbmFtZSIKK21zZ3N0ciAiRTE4MjogQWlubSBuZWFtaGJoYWls7SBvcmRhaXRoZSIKKworIzogZXhfZG9jbWQuYzo1MjczCittc2dpZCAiRTE4MzogVXNlciBkZWZpbmVkIGNvbW1hbmRzIG11c3Qgc3RhcnQgd2l0aCBhbiB1cHBlcmNhc2UgbGV0dGVyIgorbXNnc3RyICIiCisiRTE4MzogTu0gZm9s4WlyIGNlYW5ubGl0aXIgYSBiaGVpdGggYXIgZHT6cyBvcmR1aXRoZSBhdOEgc2Fpbml0aGUgYWcgYW4gIgorIvpz4WlkZW9pciIKKworIzogZXhfZG9jbWQuYzo1MzQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIkUxODQ6IE5vIHN1Y2ggdXNlci1kZWZpbmVkIGNvbW1hbmQ6ICVzIgorbXNnc3RyICJFMTg0OiBO7WwgYSBsZWl0aOlpZCBkJ29yZPogc2FpbmNoZWFwdGhhOiAlcyIKKworIzogZXhfZG9jbWQuYzo1ODA0CisjLCBjLWZvcm1hdAorbXNnaWQgIkUxODU6IENhbm5vdCBmaW5kIGNvbG9yIHNjaGVtZSAlcyIKK21zZ3N0ciAiRTE4NTogU2PpaW0gZGF0aGFubmEgJXMgZ2FuIGFpbXNp+iIKKworIzogZXhfZG9jbWQuYzo1ODEyCittc2dpZCAiR3JlZXRpbmdzLCBWaW0gdXNlciEiCittc2dzdHIgIkRpYSBkdWl0LCBhIPpz4WlkZW9pciBWaW0hIgorCisjOiBleF9kb2NtZC5jOjY1NTgKK21zZ2lkICJFZGl0IEZpbGUgaW4gbmV3IHdpbmRvdyIKK21zZ3N0ciAiQ3VpciBjb21oYWQgaW4gZWFnYXIgaSBiaGZ1aW5uZW9nIG51YSIKKworIzogZXhfZG9jbWQuYzo2ODc0Cittc2dpZCAiTm8gc3dhcCBmaWxlIgorbXNnc3RyICJO7WwgYW9uIGNob21oYWQgYmFiaHThbGEgYW5uIgorCisjOiBleF9kb2NtZC5jOjY5NzgKK21zZ2lkICJBcHBlbmQgRmlsZSIKK21zZ3N0ciAiQ3VpciBDb21oYWQgaSBuRGVpcmVhZGgiCisKKyM6IGV4X2RvY21kLmM6NzA0MgorbXNnaWQgIkUxODY6IE5vIHByZXZpb3VzIGRpcmVjdG9yeSIKK21zZ3N0ciAiRTE4NjogTu1sIGFvbiBjaG9taGFkbGFubiByb2ltaGUgc2VvIgorCisjOiBleF9kb2NtZC5jOjcxMjQKK21zZ2lkICJFMTg3OiBVbmtub3duIgorbXNnc3RyICJFMTg3OiBBbmFpdGhuaWQiCisKKyM6IGV4X2RvY21kLmM6NzIwOQorbXNnaWQgIkU0NjU6IDp3aW5zaXplIHJlcXVpcmVzIHR3byBudW1iZXIgYXJndW1lbnRzIgorbXNnc3RyICJFNDY1OiBu7SBmb2zhaXIgZGjhIGFyZ/NpbnQgdWltaHJp+mlsIGxlIDp3aW5zaXplIgorCisjOiBleF9kb2NtZC5jOjcyNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2luZG93IHBvc2l0aW9uOiBYICVkLCBZICVkIgorbXNnc3RyICJTde1vbWggZnVpbm5lb2lnZTogWCAlZCwgWSAlZCIKKworIzogZXhfZG9jbWQuYzo3Mjc0Cittc2dpZCAiRTE4ODogT2J0YWluaW5nIHdpbmRvdyBwb3NpdGlvbiBub3QgaW1wbGVtZW50ZWQgZm9yIHRoaXMgcGxhdGZvcm0iCittc2dzdHIgIkUxODg6IE7tIGbpaWRpciBzde1vbWggZnVpbm5lb2lnZSBhIGZo4WlsIGFtYWNoIGFyIGFuIGNo83JhcyBzZW8iCisKKyM6IGV4X2RvY21kLmM6NzI4NAorbXNnaWQgIkU0NjY6IDp3aW5wb3MgcmVxdWlyZXMgdHdvIG51bWJlciBhcmd1bWVudHMiCittc2dzdHIgIkU0NjY6IG7tIGZvbOFpciBkaOEgYXJn82ludCB1aW1ocmn6aWwgbGUgOndpbnBvcyIKKworIzogZXhfZG9jbWQuYzo3NTY4Cittc2dpZCAiU2F2ZSBSZWRpcmVjdGlvbiIKK21zZ3N0ciAiU+FiaOFpbCBBdHJlb3L6IgorCisjOiBleF9kb2NtZC5jOjc3NjIKK21zZ2lkICJTYXZlIFZpZXciCittc2dzdHIgIlPhYmjhaWwgYW4gdEFtaGFyYyIKKworIzogZXhfZG9jbWQuYzo3NzYzCittc2dpZCAiU2F2ZSBTZXNzaW9uIgorbXNnc3RyICJT4WJo4WlsIGFuIFNlaXNp+m4iCisKKyM6IGV4X2RvY21kLmM6Nzc2NQorbXNnaWQgIlNhdmUgU2V0dXAiCittc2dzdHIgIlPhYmjhaWwgYW4gU29jcvoiCisKKyM6IGV4X2RvY21kLmM6Nzc3OAorIywgYy1mb3JtYXQKK21zZ2lkICJFNzM5OiBDYW5ub3QgY3JlYXRlIGRpcmVjdG9yeTogJXMiCittc2dzdHIgIkU3Mzk6IE7tIGbpaWRpciBjb21oYWRsYW5uIGEgY2hydXRo+jogJXMiCisKKyM6IGV4X2RvY21kLmM6NzkxOAorIywgYy1mb3JtYXQKK21zZ2lkICJFMTg5OiBcIiVzXCIgZXhpc3RzIChhZGQgISB0byBvdmVycmlkZSkiCittc2dzdHIgIkUxODk6IFThIFwiJXNcIiBhbm4gY2hlYW5hIChjdWlyICEgbGVpcyBhbiBvcmT6IGNodW4gc+Fy+ikiCisKKyM6IGV4X2RvY21kLmM6NzkyMworIywgYy1mb3JtYXQKK21zZ2lkICJFMTkwOiBDYW5ub3Qgb3BlbiBcIiVzXCIgZm9yIHdyaXRpbmciCittc2dzdHIgIkUxOTA6IE7tIGbpaWRpciBcIiVzXCIgYSBvc2NhaWx0IGNodW4gbOlhbWgiCisKKyMuIHNldCBtYXJrCisjOiBleF9kb2NtZC5jOjc5NDcKK21zZ2lkICJFMTkxOiBBcmd1bWVudCBtdXN0IGJlIGEgbGV0dGVyIG9yIGZvcndhcmQvYmFja3dhcmQgcXVvdGUiCittc2dzdHIgIkUxOTE6IENhaXRoZmlkaCBhbiBhcmfzaW50IGEgYmhlaXRoIGxpdGlyIG7zIGNvbWhhcnRoYSBhdGhmaHJpb3RhbCIKKworIzogZXhfZG9jbWQuYzo3OTg4Cittc2dpZCAiRTE5MjogUmVjdXJzaXZlIHVzZSBvZiA6bm9ybWFsIHRvbyBkZWVwIgorbXNnc3RyICJFMTkyOiBhdGhjaPpyc+FpbCA6bm9ybWFsIHLzZGhvbWhhaW4iCisKKyM6IGV4X2RvY21kLmM6ODUzNworbXNnaWQgIkUxOTQ6IE5vIGFsdGVybmF0ZSBmaWxlIG5hbWUgdG8gc3Vic3RpdHV0ZSBmb3IgJyMnIgorbXNnc3RyICJFMTk0OiBO7WwgYW9uIGFpbm0gY29taGFpZCBhIGNodXIgaW4gaW9uYWQgJyMnIgorCisjOiBleF9kb2NtZC5jOjg1NjgKK21zZ2lkICJFNDk1OiBubyBhdXRvY29tbWFuZCBmaWxlIG5hbWUgdG8gc3Vic3RpdHV0ZSBmb3IgXCI8YWZpbGU+XCIiCittc2dzdHIgIkU0OTU6IG7tbCBhb24gYWlubSBjb21oYWlkIHVhdGhvcmRhaXRoZSBsZSBjdXIgaW4gaW9uYWQgXCI8YWZpbGU+XCIiCisKKyM6IGV4X2RvY21kLmM6ODU3NgorbXNnaWQgIkU0OTY6IG5vIGF1dG9jb21tYW5kIGJ1ZmZlciBudW1iZXIgdG8gc3Vic3RpdHV0ZSBmb3IgXCI8YWJ1Zj5cIiIKK21zZ3N0ciAiRTQ5Njogbu1sIGFvbiB1aW1oaXIgbWhhb2zhbiB1YXRob3JkYWl0aGUgbGUgY3VyIGluIGlvbmFkIFwiPGFidWY+XCIiCisKKyM6IGV4X2RvY21kLmM6ODU4NworbXNnaWQgIkU0OTc6IG5vIGF1dG9jb21tYW5kIG1hdGNoIG5hbWUgdG8gc3Vic3RpdHV0ZSBmb3IgXCI8YW1hdGNoPlwiIgorbXNnc3RyICIiCisiRTQ5Nzogbu1sIGFvbiBhaW5tIG1lYWl0c2XhbGEgdWF0aG9yZGFpdGhlIGxlIGN1ciBpbiBpb25hZCBcIjxhbWF0Y2g+XCIiCisKKyM6IGV4X2RvY21kLmM6ODU5NworbXNnaWQgIkU0OTg6IG5vIDpzb3VyY2UgZmlsZSBuYW1lIHRvIHN1YnN0aXR1dGUgZm9yIFwiPHNmaWxlPlwiIgorbXNnc3RyICJFNDk4OiBu7WwgYW9uIGFpbm0gY29taGFpZCA6c291cmNlIGxlIGN1ciBpbiBpb25hZCBcIjxzZmlsZT5cIiIKKworIzogZXhfZG9jbWQuYzo4NjM4CisjLCBuby1jLWZvcm1hdAorbXNnaWQgIkU0OTk6IEVtcHR5IGZpbGUgbmFtZSBmb3IgJyUnIG9yICcjJywgb25seSB3b3JrcyB3aXRoIFwiOnA6aFwiIgorbXNnc3RyICIiCisiRTQ5OTogQWlubSBjb21oYWlkIGZvbGFtaCBsZSBoYWdoYWlkaCAnJScgbvMgJyMnLCBvaWJyZW9pZGggc+kgbGUgXCI6cDpoXCIgIgorImFtaOFpbiIKKworIzogZXhfZG9jbWQuYzo4NjQwCittc2dpZCAiRTUwMDogRXZhbHVhdGVzIHRvIGFuIGVtcHR5IHN0cmluZyIKK21zZ3N0ciAiRTUwMDogTWVhc3RhciDpIHNlbyBtYXIgdGhlYWdocuFuIGZvbGFtaCIKKworIzogZXhfZG9jbWQuYzo5NjM0Cittc2dpZCAiRTE5NTogQ2Fubm90IG9wZW4gdmltaW5mbyBmaWxlIGZvciByZWFkaW5nIgorbXNnc3RyICJFMTk1OiBO7SBm6WlkaXIgYW4gY29taGFkIHZpbWluZm8gYSBvc2NhaWx0IGNodW4gbOlhbWgiCisKKyM6IGV4X2RvY21kLmM6OTgwNworbXNnaWQgIkUxOTY6IE5vIGRpZ3JhcGhzIGluIHRoaXMgdmVyc2lvbiIKK21zZ3N0ciAiRTE5NjogTu0gY2hlYWRh7XRlYXIgZOlnaHJhaWYgc2EgbGVhZ2FuIHNlbyIKKworIzogZXhfZXZhbC5jOjQzOQorbXNnaWQgIkU2MDg6IENhbm5vdCA6dGhyb3cgZXhjZXB0aW9ucyB3aXRoICdWaW0nIHByZWZpeCIKK21zZ3N0ciAiRTYwODogTu0gZulpZGlyIGVpc2NlYWNodGHtIGEgOnRocm93IGxlIHLpaW3tciAnVmltJyIKKworIy4gYWx3YXlzIHNjcm9sbCB1cCwgZG9uJ3Qgb3ZlcndyaXRlCisjOiBleF9ldmFsLmM6NTI4CisjLCBjLWZvcm1hdAorbXNnaWQgIkV4Y2VwdGlvbiB0aHJvd246ICVzIgorbXNnc3RyICJFaXNjZWFjaHQgZ2ludGU6ICVzIgorCisjOiBleF9ldmFsLmM6NTc1CisjLCBjLWZvcm1hdAorbXNnaWQgIkV4Y2VwdGlvbiBmaW5pc2hlZDogJXMiCittc2dzdHIgIkVpc2NlYWNodCBjdXJ0aGEgaSBnY3LtY2g6ICVzIgorCisjOiBleF9ldmFsLmM6NTc2CisjLCBjLWZvcm1hdAorbXNnaWQgIkV4Y2VwdGlvbiBkaXNjYXJkZWQ6ICVzIgorbXNnc3RyICJFaXNjZWFjaHQgY3VydGhhIGkgbGVhdGFvYmg6ICVzIgorCisjOiBleF9ldmFsLmM6NjE5IGV4X2V2YWwuYzo2NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMsIGxpbmUgJWxkIgorbXNnc3RyICIlcywgbO1uZSAlbGQiCisKKyMuIGFsd2F5cyBzY3JvbGwgdXAsIGRvbid0IG92ZXJ3cml0ZQorIzogZXhfZXZhbC5jOjYzNworIywgYy1mb3JtYXQKK21zZ2lkICJFeGNlcHRpb24gY2F1Z2h0OiAlcyIKK21zZ3N0ciAiTOFpbWhzZeFsYWRoIGVpc2NlYWNodDogJXMiCisKKyM6IGV4X2V2YWwuYzo3MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgbWFkZSBwZW5kaW5nIgorbXNnc3RyICIlcyBhciBmZWl0aGVhbWggYW5vaXMiCisKKyM6IGV4X2V2YWwuYzo3MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgcmVzdW1lZCIKK21zZ3N0ciAiYXRvc2Htb2RoICVzIgorCisjOiBleF9ldmFsLmM6NzE5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGRpc2NhcmRlZCIKK21zZ3N0ciAiJXMgY3VydGhhIGkgbGVhdGFvYmgiCisKKyM6IGV4X2V2YWwuYzo3NDUKK21zZ2lkICJFeGNlcHRpb24iCittc2dzdHIgIkVpc2NlYWNodCIKKworIzogZXhfZXZhbC5jOjc1MQorbXNnaWQgIkVycm9yIGFuZCBpbnRlcnJ1cHQiCittc2dzdHIgIkVhcnLhaWQgYWd1cyBpZGlyYmhyaXNlYWRoIgorCisjOiBleF9ldmFsLmM6NzUzIGd1aS5jOjQzODkgZ3VpX3htZGxnLmM6Njg3IGd1aV94bWRsZy5jOjgwOSBvc19tc3dpbi5jOjYwMQorbXNnaWQgIkVycm9yIgorbXNnc3RyICJFYXJy4WlkIgorCisjLiBpZiAocGVuZGluZyAmIENTVFBfSU5URVJSVVBUKQorIzogZXhfZXZhbC5jOjc1NQorbXNnaWQgIkludGVycnVwdCIKK21zZ3N0ciAiSWRpcmJocmlzZWFkaCIKKworIzogZXhfZXZhbC5jOjgyOQorbXNnaWQgIkU1Nzk6IDppZiBuZXN0aW5nIHRvbyBkZWVwIgorbXNnc3RyICJFNTc5OiA6aWYgbmVhZGFpdGhlIHLzZGhvbWhhaW4iCisKKyM6IGV4X2V2YWwuYzo4NjYKK21zZ2lkICJFNTgwOiA6ZW5kaWYgd2l0aG91dCA6aWYiCittc2dzdHIgIkU1ODA6IDplbmRpZiBnYW4gOmlmIgorCisjOiBleF9ldmFsLmM6OTExCittc2dpZCAiRTU4MTogOmVsc2Ugd2l0aG91dCA6aWYiCittc2dzdHIgIkU1ODE6IDplbHNlIGdhbiA6aWYiCisKKyM6IGV4X2V2YWwuYzo5MTQKK21zZ2lkICJFNTgyOiA6ZWxzZWlmIHdpdGhvdXQgOmlmIgorbXNnc3RyICJFNTgyOiA6ZWxzZWlmIGdhbiA6aWYiCisKKyM6IGV4X2V2YWwuYzo5MjEKK21zZ2lkICJFNTgzOiBtdWx0aXBsZSA6ZWxzZSIKK21zZ3N0ciAiRTU4MzogOmVsc2UgaW9tYWT6bGEiCisKKyM6IGV4X2V2YWwuYzo5MjQKK21zZ2lkICJFNTg0OiA6ZWxzZWlmIGFmdGVyIDplbHNlIgorbXNnc3RyICJFNTg0OiA6ZWxzZWlmIGkgbmRpYWlkaCA6ZWxzZSIKKworIzogZXhfZXZhbC5jOjk5MQorbXNnaWQgIkU1ODU6IDp3aGlsZS86Zm9yIG5lc3RpbmcgdG9vIGRlZXAiCittc2dzdHIgIkU1ODU6IDp3aGlsZS86Zm9yIG5lYWRhaXRoZSBy82Rob21oYWluIgorCisjOiBleF9ldmFsLmM6MTA4OQorbXNnaWQgIkU1ODY6IDpjb250aW51ZSB3aXRob3V0IDp3aGlsZSBvciA6Zm9yIgorbXNnc3RyICJFNTg2OiA6Y29udGludWUgZ2FuIDp3aGlsZSBu4SA6Zm9yIgorCisjOiBleF9ldmFsLmM6MTEyOAorbXNnaWQgIkU1ODc6IDpicmVhayB3aXRob3V0IDp3aGlsZSBvciA6Zm9yIgorbXNnc3RyICJFNTg3OiA6YnJlYWsgZ2FuIDp3aGlsZSBu4SA6Zm9yIgorCisjOiBleF9ldmFsLmM6MTE3OAorbXNnaWQgIkU3MzI6IFVzaW5nIDplbmRmb3Igd2l0aCA6d2hpbGUiCittc2dzdHIgIkU3MzI6IDplbmRmb3Ig4SD6c+FpZCBsZSA6d2hpbGUiCisKKyM6IGV4X2V2YWwuYzoxMTgwCittc2dpZCAiRTczMzogVXNpbmcgOmVuZHdoaWxlIHdpdGggOmZvciIKK21zZ3N0ciAiRTczMzogOmVuZHdoaWxlIOEg+nPhaWQgbGUgOmZvciIKKworIzogZXhfZXZhbC5jOjEzNTEKK21zZ2lkICJFNjAxOiA6dHJ5IG5lc3RpbmcgdG9vIGRlZXAiCittc2dzdHIgIkU2MDE6IDp0cnkgbmVhZGFpdGhlIHLzZGhvbWhhaW4iCisKKyM6IGV4X2V2YWwuYzoxNDMxCittc2dpZCAiRTYwMzogOmNhdGNoIHdpdGhvdXQgOnRyeSIKK21zZ3N0ciAiRTYwMzogOmNhdGNoIGdhbiA6dHJ5IgorCisjLiBHaXZlIHVwIGZvciBhICI6Y2F0Y2giIGFmdGVyICI6ZmluYWxseSIgYW5kIGlnbm9yZSBpdC4KKyMuICogSnVzdCBwYXJzZS4KKyM6IGV4X2V2YWwuYzoxNDUwCittc2dpZCAiRTYwNDogOmNhdGNoIGFmdGVyIDpmaW5hbGx5IgorbXNnc3RyICJFNjA0OiA6Y2F0Y2ggaSBuZGlhaWRoIDpmaW5hbGx5IgorCisjOiBleF9ldmFsLmM6MTU4NAorbXNnaWQgIkU2MDY6IDpmaW5hbGx5IHdpdGhvdXQgOnRyeSIKK21zZ3N0ciAiRTYwNjogOmZpbmFsbHkgZ2FuIDp0cnkiCisKKyMuIEdpdmUgdXAgZm9yIGEgbXVsdGlwbGUgIjpmaW5hbGx5IiBhbmQgaWdub3JlIGl0LgorIzogZXhfZXZhbC5jOjE2MDQKK21zZ2lkICJFNjA3OiBtdWx0aXBsZSA6ZmluYWxseSIKK21zZ3N0ciAiRTYwNzogOmZpbmFsbHkgaW9tYWT6bGEiCisKKyM6IGV4X2V2YWwuYzoxNzE0Cittc2dpZCAiRTYwMjogOmVuZHRyeSB3aXRob3V0IDp0cnkiCittc2dzdHIgIkU2MDI6IDplbmR0cnkgZ2FuIDp0cnkiCisKKyM6IGV4X2V2YWwuYzoyMjE4Cittc2dpZCAiRTE5MzogOmVuZGZ1bmN0aW9uIG5vdCBpbnNpZGUgYSBmdW5jdGlvbiIKK21zZ3N0ciAiRTE5MzogTu0gZm9s4WlyIGRvIDplbmRmdW5jdGlvbiBhIGJoZWl0aCBpc3RlYWNoIGkgYmhmZWlkaG0iCisKKyM6IGV4X2dldGxuLmM6MzUxMgorbXNnaWQgInRhZ25hbWUiCittc2dzdHIgImNsaWJhaW5tIgorCisjOiBleF9nZXRsbi5jOjM1MTUKK21zZ2lkICIga2luZCBmaWxlXG4iCittc2dzdHIgIiBjaW5l4WwgY29taGFpZFxuIgorCisjOiBleF9nZXRsbi5jOjUwMDYKK21zZ2lkICInaGlzdG9yeScgb3B0aW9uIGlzIHplcm8iCittc2dzdHIgInThIGFuIHJvZ2hhICdoaXN0b3J5JyBuaWFsYXMiCisKKyM6IGV4X2dldGxuLmM6NTI3NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiIyAlcyBIaXN0b3J5IChuZXdlc3QgdG8gb2xkZXN0KTpcbiIKK21zZ3N0ciAiIgorIlxuIgorIiMgJXMgU3RhaXIgKGlzIG51Ye0gZ28gZHTtIGlzIHNpbmUpOlxuIgorCisjOiBleF9nZXRsbi5jOjUyNzgKK21zZ2lkICJDb21tYW5kIExpbmUiCittc2dzdHIgIkFpbm0gT3JkdWl0aGUiCisKKyM6IGV4X2dldGxuLmM6NTI3OQorbXNnaWQgIlNlYXJjaCBTdHJpbmciCittc2dzdHIgIlRlYWdocuFuIEN1YXJkYWlnaCIKKworIzogZXhfZ2V0bG4uYzo1MjgwCittc2dpZCAiRXhwcmVzc2lvbiIKK21zZ3N0ciAiU2xvbm4iCisKKyM6IGV4X2dldGxuLmM6NTI4MQorbXNnaWQgIklucHV0IExpbmUiCittc2dzdHIgIkztbmUgYW4gSW9uY2h1aXIiCisKKyM6IGV4X2dldGxuLmM6NTMxOQorbXNnaWQgIkUxOTg6IGNtZF9wY2hhciBiZXlvbmQgdGhlIGNvbW1hbmQgbGVuZ3RoIgorbXNnc3RyICJFMTk4OiBjbWRfcGNoYXIgb3MgY2lvbm4gZmFkIGFuIG9yZGFpdGhlIgorCisjOiBleF9nZXRsbi5jOjU1MDAKK21zZ2lkICJFMTk5OiBBY3RpdmUgd2luZG93IG9yIGJ1ZmZlciBkZWxldGVkIgorbXNnc3RyICJFMTk5OiBTY3Jpb3NhZGggYW4gZmh1aW5uZW9nIHJlYXRoYSBu8yBhbiBtYW9s4W4gcmVhdGhhIgorCisjOiBmaWxlaW8uYzozNzYKK21zZ2lkICJJbGxlZ2FsIGZpbGUgbmFtZSIKK21zZ3N0ciAiQWlubSBjb21oYWlkIG5lYW1oY2hlYWRhaXRoZSIKKworIzogZmlsZWlvLmM6NDAxIGZpbGVpby5jOjU0MSBmaWxlaW8uYzoyOTI5IGZpbGVpby5jOjI5NzAKK21zZ2lkICJpcyBhIGRpcmVjdG9yeSIKK21zZ3N0ciAiaXMgY29taGFkbGFubiDpIgorCisjOiBmaWxlaW8uYzo0MDMKK21zZ2lkICJpcyBub3QgYSBmaWxlIgorbXNnc3RyICJu7SBjb21oYWQg6SIKKworIzogZmlsZWlvLmM6NTYzIGZpbGVpby5jOjQxNjEKK21zZ2lkICJbTmV3IEZpbGVdIgorbXNnc3RyICJbQ29taGFkIE51YV0iCisKKyM6IGZpbGVpby5jOjU5NgorbXNnaWQgIltQZXJtaXNzaW9uIERlbmllZF0iCittc2dzdHIgIltDZWFkIERp+mx0YWl0aGVdIgorCisjOiBmaWxlaW8uYzo3MDcKK21zZ2lkICJFMjAwOiAqUmVhZFByZSBhdXRvY29tbWFuZHMgbWFkZSB0aGUgZmlsZSB1bnJlYWRhYmxlIgorbXNnc3RyICJFMjAwOiBSaW5uZSB1YXRob3JkdWl0aGUgKlJlYWRQcmUgcHJhaXNlYWNoIGFzIGFuIGNob21oYWQiCisKKyM6IGZpbGVpby5jOjcwOQorbXNnaWQgIkUyMDE6ICpSZWFkUHJlIGF1dG9jb21tYW5kcyBtdXN0IG5vdCBjaGFuZ2UgY3VycmVudCBidWZmZXIiCittc2dzdHIgIiIKKyJFMjAxOiBO7SBjaGVhZGHtdGVhciB1YXRob3JkdWl0aGUgKlJlYWRQcmUgY2h1biBhbiBtYW9s4W4gcmVhdGhhIGEgYXRocvoiCisKKyM6IGZpbGVpby5jOjczMAorbXNnaWQgIlZpbTogUmVhZGluZyBmcm9tIHN0ZGluLi4uXG4iCittc2dzdHIgIlZpbTogQWcgbOlhbWgg824gaW9uY2h1ciBjYWlnaGRl4W5hY2guLi5cbiIKKworIzogZmlsZWlvLmM6NzM2Cittc2dpZCAiUmVhZGluZyBmcm9tIHN0ZGluLi4uIgorbXNnc3RyICJBZyBs6WFtaCDzbiBpb25jaHVyIGNhaWdoZGXhbmFjaC4uLiIKKworIy4gUmUtb3BlbmluZyB0aGUgb3JpZ2luYWwgZmlsZSBmYWlsZWQhCisjOiBmaWxlaW8uYzoxMDEzCittc2dpZCAiRTIwMjogQ29udmVyc2lvbiBtYWRlIGZpbGUgdW5yZWFkYWJsZSEiCittc2dzdHIgIkUyMDI6IENvbWhhZCBkb2zpaXRlIGkgbmRpYWlkaCBhbiB0aW9udGFpdGhlISIKKworIzogZmlsZWlvLmM6MjA3NworbXNnaWQgIltmaWZvL3NvY2tldF0iCittc2dzdHIgIltmaWZvL3NvaWPpYWRdIgorCisjIGBUSVRBJyA/ISAtS1BTCisjOiBmaWxlaW8uYzoyMDg0Cittc2dpZCAiW2ZpZm9dIgorbXNnc3RyICJbZmlmb10iCisKKyM6IGZpbGVpby5jOjIwOTEKK21zZ2lkICJbc29ja2V0XSIKK21zZ3N0ciAiW3NvaWPpYWRdIgorCisjOiBmaWxlaW8uYzoyMDk5IG5ldGJlYW5zLmM6MzQxNgorbXNnaWQgIltST10iCittc2dzdHIgIltMLUFdIgorCisjOiBmaWxlaW8uYzoyMTA5Cittc2dpZCAiW0NSIG1pc3NpbmddIgorbXNnc3RyICJbQ1IgYXIgaWFycmFpZGhdIgorCisjOiBmaWxlaW8uYzoyMTE0Cittc2dpZCAiW05MIGZvdW5kXSIKK21zZ3N0ciAiW05MIGFpbXNpdGhlXSIKKworIzogZmlsZWlvLmM6MjExOQorbXNnaWQgIltsb25nIGxpbmVzIHNwbGl0XSIKK21zZ3N0ciAiW2ztbnRlIGZhZGEgZGVpZ2hpbHRlXSIKKworIzogZmlsZWlvLmM6MjEyNSBmaWxlaW8uYzo0MTQ1Cittc2dpZCAiW05PVCBjb252ZXJ0ZWRdIgorbXNnc3RyICJbTs0gdGlvbnRhaXRoZV0iCisKKyM6IGZpbGVpby5jOjIxMzAgZmlsZWlvLmM6NDE1MAorbXNnaWQgIltjb252ZXJ0ZWRdIgorbXNnc3RyICJbdGlvbnRhaXRoZV0iCisKKyM6IGZpbGVpby5jOjIxMzcgZmlsZWlvLmM6NDE3NQorbXNnaWQgIltjcnlwdGVkXSIKK21zZ3N0ciAiW2NyaXB0aXRoZV0iCisKKyM6IGZpbGVpby5jOjIxNDQKK21zZ2lkICJbQ09OVkVSU0lPTiBFUlJPUl0iCittc2dzdHIgIltFQVJSwUlEIFRJT05UQUlUSEVdIgorCisjOiBmaWxlaW8uYzoyMTUwCisjLCBjLWZvcm1hdAorbXNnaWQgIltJTExFR0FMIEJZVEUgaW4gbGluZSAlbGRdIgorbXNnc3RyICJbQkVBUlQgTkVBTUhDSEVBREFJVEhFIGkgbO1uZSAlbGRdIgorCisjOiBmaWxlaW8uYzoyMTU3Cittc2dpZCAiW1JFQUQgRVJST1JTXSIKK21zZ3N0ciAiW0VBUlLBSUTNIEzJSU1IXSIKKworIzogZmlsZWlvLmM6MjM3MworbXNnaWQgIkNhbid0IGZpbmQgdGVtcCBmaWxlIGZvciBjb252ZXJzaW9uIgorbXNnc3RyICJO7SBm6WlkaXIgY29taGFkIHNlYWxhZGFjaCBhIGFpbXNp+iBsZSBoYWdoYWlkaCB0aW9udGFpdGhlIgorCisjOiBmaWxlaW8uYzoyMzgwCittc2dpZCAiQ29udmVyc2lvbiB3aXRoICdjaGFyY29udmVydCcgZmFpbGVkIgorbXNnc3RyICJUaGVpcCBhciB0aGlvbnT6IGxlICdjaGFyY29udmVydCciCisKKyM6IGZpbGVpby5jOjIzODMKK21zZ2lkICJjYW4ndCByZWFkIG91dHB1dCBvZiAnY2hhcmNvbnZlcnQnIgorbXNnc3RyICJu7SBm6WlkaXIgYW4gdC1hc2NodXIg8yAnY2hhcmNvbnZlcnQnIGEgbOlhbWgiCisKKyM6IGZpbGVpby5jOjI3ODIKK21zZ2lkICJFNjc2OiBObyBtYXRjaGluZyBhdXRvY29tbWFuZHMgZm9yIGFjd3JpdGUgYnVmZmVyIgorbXNnc3RyICJFNjc2OiBO7WwgYW9uIHVhdGhvcmT6IGNvbWhvaXJp+m5haXRoZSBsZSBoYWdoYWlkaCBtYW9s4WluIGFjd3JpdGUiCisKKyM6IGZpbGVpby5jOjI4MTAKK21zZ2lkICJFMjAzOiBBdXRvY29tbWFuZHMgZGVsZXRlZCBvciB1bmxvYWRlZCBidWZmZXIgdG8gYmUgd3JpdHRlbiIKK21zZ3N0ciAiRTIwMzogU2NyaW9zIG7zIGRo7Wx1Y2h0YWlnaCB1YXRob3JkdWl0aGUgYW4gbWFvbOFuIGxlIHNjcu1vYmgiCisKKyM6IGZpbGVpby5jOjI4MzMKK21zZ2lkICJFMjA0OiBBdXRvY29tbWFuZCBjaGFuZ2VkIG51bWJlciBvZiBsaW5lcyBpbiB1bmV4cGVjdGVkIHdheSIKK21zZ3N0ciAiRTIwNDogRCdhdGhyYWlnaCB1YXRob3Jk+iBs7W9uIG5hIGztbnRlIGdhbiBjaG9pbm5lIgorCisjOiBmaWxlaW8uYzoyODczCittc2dpZCAiTmV0QmVhbnMgZGlzc2FsbG93cyB3cml0ZXMgb2YgdW5tb2RpZmllZCBidWZmZXJzIgorbXNnc3RyICJO7SBjaGVhZGHtb25uIE5ldEJlYW5zIG1hb2zhaW4gZ2FuIGF0aHL6IGEgYmhlaXRoIHNjcu1vZmEiCisKKyM6IGZpbGVpby5jOjI4ODEKK21zZ2lkICJQYXJ0aWFsIHdyaXRlcyBkaXNhbGxvd2VkIGZvciBOZXRCZWFucyBidWZmZXJzIgorbXNnc3RyICJO7SBjaGVhZGHtdGVhciBtYW9s4WluIE5ldEJlYW5zIGEgYmhlaXRoIHNjcu1vZmEgZ28gbmVhbWhpb21s4W4iCisKKyM6IGZpbGVpby5jOjI5MzUgZmlsZWlvLmM6Mjk1MworbXNnaWQgImlzIG5vdCBhIGZpbGUgb3Igd3JpdGFibGUgZGV2aWNlIgorbXNnc3RyICJu7SBjb21oYWQgbuEgZ2zpYXMgaW5zY3Ltb2ZhIOEiCisKKyM6IGZpbGVpby5jOjMwMDUgbmV0YmVhbnMuYzozNDc5Cittc2dpZCAiaXMgcmVhZC1vbmx5IChhZGQgISB0byBvdmVycmlkZSkiCittc2dzdHIgImlzIGzpaW1oLWFtaOFpbiDpIChjdWlyICEgbGVpcyBhbiBvcmT6IGNodW4gc+Fy+ikiCisKKyM6IGZpbGVpby5jOjMzNTEKK21zZ2lkICJFNTA2OiBDYW4ndCB3cml0ZSB0byBiYWNrdXAgZmlsZSAoYWRkICEgdG8gb3ZlcnJpZGUpIgorbXNnc3RyICIiCisiRTUwNjogTu0gZulpZGlyIHNjcu1vYmggYSBkaOlhbmFtaCBzYSBjaG9taGFkIGP6bHRhY2EgKPpz4WlkICEgY2h1biBz4XL6KSIKKworIzogZmlsZWlvLmM6MzM2MworbXNnaWQgIkU1MDc6IENsb3NlIGVycm9yIGZvciBiYWNrdXAgZmlsZSAoYWRkICEgdG8gb3ZlcnJpZGUpIgorbXNnc3RyICIiCisiRTUwNzogRWFycuFpZCBhZ3VzIGNvbWhhZCBj+mx0YWNhIOEgZGj6bmFkaCAoY3VpciAhIGxlaXMgYW4gb3Jk+iBjaHVuIHPhcvopIgorCisjOiBmaWxlaW8uYzozMzY1Cittc2dpZCAiRTUwODogQ2FuJ3QgcmVhZCBmaWxlIGZvciBiYWNrdXAgKGFkZCAhIHRvIG92ZXJyaWRlKSIKK21zZ3N0ciAiIgorIkU1MDg6IE7tIGbpaWRpciBhbiBjb21oYWQgY/psdGFjYSBhIGzpYW1oIChjdWlyICEgbGVpcyBhbiBvcmT6IGNodW4gc+Fy+ikiCisKKyM6IGZpbGVpby5jOjMzODEKK21zZ2lkICJFNTA5OiBDYW5ub3QgY3JlYXRlIGJhY2t1cCBmaWxlIChhZGQgISB0byBvdmVycmlkZSkiCittc2dzdHIgIiIKKyJFNTA5OiBO7SBm6WlkaXIgY29taGFkIGP6bHRhY2EgYSBjaHJ1dGj6IChjdWlyICEgbGVpcyBhbiBvcmT6IGNodW4gc+Fy+ikiCisKKyM6IGZpbGVpby5jOjM0ODQKK21zZ2lkICJFNTEwOiBDYW4ndCBtYWtlIGJhY2t1cCBmaWxlIChhZGQgISB0byBvdmVycmlkZSkiCittc2dzdHIgIiIKKyJFNTEwOiBO7SBm6WlkaXIgY29taGFkIGP6bHRhY2EgYSBjaHJ1dGj6IChjdWlyICEgbGVpcyBhbiBvcmT6IGNodW4gc+Fy+ikiCisKKyM6IGZpbGVpby5jOjM1NDYKK21zZ2lkICJFNDYwOiBUaGUgcmVzb3VyY2UgZm9yayB3b3VsZCBiZSBsb3N0IChhZGQgISB0byBvdmVycmlkZSkiCittc2dzdHIgIkU0NjA6IENoYWlsbGbtIGFuIGZvcmMgYWNtaGFpbm5lIChjdWlyICEgbGVpcyBhbiBvcmT6IGNodW4gc+Fy+ikiCisKKyM6IGZpbGVpby5jOjM2NTYKK21zZ2lkICJFMjE0OiBDYW4ndCBmaW5kIHRlbXAgZmlsZSBmb3Igd3JpdGluZyIKK21zZ3N0ciAiRTIxNDogTu0gZulpZGlyIGNvbWhhZCBzZWFsYWRhY2ggYSBhaW1zafogY2h1biBzY3Ltb2JoIGFubiIKKworIzogZmlsZWlvLmM6MzY3NAorbXNnaWQgIkUyMTM6IENhbm5vdCBjb252ZXJ0IChhZGQgISB0byB3cml0ZSB3aXRob3V0IGNvbnZlcnNpb24pIgorbXNnc3RyICJFMjEzOiBO7SBm6WlkaXIgdGlvbnT6IChjdWlyICEgbGVpcyBhbiBvcmT6IGNodW4gc2Ny7W9iaCBnYW4gdGlvbnT6KSIKKworIzogZmlsZWlvLmM6MzcwOQorbXNnaWQgIkUxNjY6IENhbid0IG9wZW4gbGlua2VkIGZpbGUgZm9yIHdyaXRpbmciCittc2dzdHIgIkUxNjY6IE7tIGbpaWRpciBjb21oYWQgbmFzY3RoYSBhIG9zY2FpbHQgY2h1biBzY3Ltb2JoIGFubiIKKworIzogZmlsZWlvLmM6MzcxMworbXNnaWQgIkUyMTI6IENhbid0IG9wZW4gZmlsZSBmb3Igd3JpdGluZyIKK21zZ3N0ciAiRTIxMjogTu0gZulpZGlyIGNvbWhhZCBhIG9zY2FpbHQgY2h1biBzY3Ltb2JoIGFubiIKKworIzogZmlsZWlvLmM6Mzk4OQorbXNnaWQgIkU2Njc6IEZzeW5jIGZhaWxlZCIKK21zZ3N0ciAiRTY2NzogVGhlaXAgYXIgZnN5bmMiCisKKyM6IGZpbGVpby5jOjM5OTYKK21zZ2lkICJFNTEyOiBDbG9zZSBmYWlsZWQiCittc2dzdHIgIkU1MTI6IFRoZWlwIGFyIGT6bmFkaCIKKworIzogZmlsZWlvLmM6NDA2NworbXNnaWQgIkU1MTM6IHdyaXRlIGVycm9yLCBjb252ZXJzaW9uIGZhaWxlZCAobWFrZSAnZmVuYycgZW1wdHkgdG8gb3ZlcnJpZGUpIgorbXNnc3RyICIiCisiRTUxMzogZWFycuFpZCBsZSBsaW5uIHNjcu1vYmgsIHRoZWlwIGFyIHRoaW9udPogKPpz4WlkICdmZW5jJyBmb2xhbWggY2h1biAiCisic+Fy+ikiCisKKyM6IGZpbGVpby5jOjQwNzMKK21zZ2lkICJFNTE0OiB3cml0ZSBlcnJvciAoZmlsZSBzeXN0ZW0gZnVsbD8pIgorbXNnc3RyICJFNTE0OiBlYXJy4WlkIGxlIGxpbm4gc2Ny7W9mYSAoYW4gYmhmdWlsIGFuIGPzcmFzIGNvbWhhaWQgbOFuPykiCisKKyM6IGZpbGVpby5jOjQxNDAKK21zZ2lkICIgQ09OVkVSU0lPTiBFUlJPUiIKK21zZ3N0ciAiIEVBUlLBSUQgVElPTlRBSVRIRSIKKworIzogZmlsZWlvLmM6NDE1NgorbXNnaWQgIltEZXZpY2VdIgorbXNnc3RyICJbR2zpYXNdIgorCisjOiBmaWxlaW8uYzo0MTYxCittc2dpZCAiW05ld10iCittc2dzdHIgIltOdWFdIgorCisjOiBmaWxlaW8uYzo0MTgzCittc2dpZCAiIFthXSIKK21zZ3N0ciAiIFthXSIKKworIzogZmlsZWlvLmM6NDE4MworbXNnaWQgIiBhcHBlbmRlZCIKK21zZ3N0ciAiIGN1cnRoYSBsZWlzIgorCisjOiBmaWxlaW8uYzo0MTg1Cittc2dpZCAiIFt3XSIKK21zZ3N0ciAiIFt3XSIKKworIzogZmlsZWlvLmM6NDE4NQorbXNnaWQgIiB3cml0dGVuIgorbXNnc3RyICIgc2Ny7W9mYSIKKworIzogZmlsZWlvLmM6NDIzOAorbXNnaWQgIkUyMDU6IFBhdGNobW9kZTogY2FuJ3Qgc2F2ZSBvcmlnaW5hbCBmaWxlIgorbXNnc3RyICJFMjA1OiBQYXRjaG1vZGU6IG7tIGbpaWRpciBhbiBjb21oYWQgYnVu+nNhY2ggYSBzaOFiaOFpbCIKKworIzogZmlsZWlvLmM6NDI2MAorbXNnaWQgIkUyMDY6IHBhdGNobW9kZTogY2FuJ3QgdG91Y2ggZW1wdHkgb3JpZ2luYWwgZmlsZSIKK21zZ3N0ciAiRTIwNjogcGF0Y2htb2RlOiBu7SBm6WlkaXIgYW4gY29taGFkIGJ1bvpzYWNoIGZvbGFtaCBhIHRoZWFnbWjhaWwiCisKKyM6IGZpbGVpby5jOjQyNzUKK21zZ2lkICJFMjA3OiBDYW4ndCBkZWxldGUgYmFja3VwIGZpbGUiCittc2dzdHIgIkUyMDc6IE7tIGbpaWRpciBhbiBjb21oYWQgY/psdGFjYSBhIHNjcmlvc2FkaCIKKworIzogZmlsZWlvLmM6NDMzOQorbXNnaWQgIiIKKyJcbiIKKyJXQVJOSU5HOiBPcmlnaW5hbCBmaWxlIG1heSBiZSBsb3N0IG9yIGRhbWFnZWRcbiIKK21zZ3N0ciAiIgorIlxuIgorIlJBQkhBREg6IElzIGbpaWRpciBndXIgY2FpbGx0ZSBu8yBsb2l0ZSBhbiBjb21oYWQgYnVu+nNhY2hcbiIKKworIzogZmlsZWlvLmM6NDM0MQorbXNnaWQgImRvbid0IHF1aXQgdGhlIGVkaXRvciB1bnRpbCB0aGUgZmlsZSBpcyBzdWNjZXNzZnVsbHkgd3JpdHRlbiEiCittc2dzdHIgIm7hIHNjb2lyIGdvIGR07SBnbyBzY3Ltb2JoZmHtIGFuIGNvbWhhZCEiCisKKyM6IGZpbGVpby5jOjQ0MzAKK21zZ2lkICJbZG9zXSIKK21zZ3N0ciAiW2Rvc10iCisKKyM6IGZpbGVpby5jOjQ0MzAKK21zZ2lkICJbZG9zIGZvcm1hdF0iCittc2dzdHIgIltmb3Jt4WlkIGRvc10iCisKKyM6IGZpbGVpby5jOjQ0MzcKK21zZ2lkICJbbWFjXSIKK21zZ3N0ciAiW21hY10iCisKKyM6IGZpbGVpby5jOjQ0MzcKK21zZ2lkICJbbWFjIGZvcm1hdF0iCittc2dzdHIgIltmb3Jt4WlkIG1hY10iCisKKyM6IGZpbGVpby5jOjQ0NDQKK21zZ2lkICJbdW5peF0iCittc2dzdHIgIlt1bml4XSIKKworIzogZmlsZWlvLmM6NDQ0NAorbXNnaWQgIlt1bml4IGZvcm1hdF0iCittc2dzdHIgIltmb3Jt4WlkIHVuaXhdIgorCisjOiBmaWxlaW8uYzo0NDcxCittc2dpZCAiMSBsaW5lLCAiCittc2dzdHIgIjEgbO1uZSwgIgorCisjOiBmaWxlaW8uYzo0NDczCisjLCBjLWZvcm1hdAorbXNnaWQgIiVsZCBsaW5lcywgIgorbXNnc3RyICIlbGQgbO1uZSwgIgorCisjOiBmaWxlaW8uYzo0NDc2Cittc2dpZCAiMSBjaGFyYWN0ZXIiCittc2dzdHIgIjEgY2FyYWNodGFyIgorCisjOiBmaWxlaW8uYzo0NDc4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVsZCBjaGFyYWN0ZXJzIgorbXNnc3RyICIlbGQgY2FyYWNodGFyIgorCisjOiBmaWxlaW8uYzo0NDg4IG5ldGJlYW5zLmM6MzQyMQorbXNnaWQgIltub2VvbF0iCittc2dzdHIgIltnYW5FT0xdIgorCisjOiBmaWxlaW8uYzo0NDg4IG5ldGJlYW5zLmM6MzQyMQorbXNnaWQgIltJbmNvbXBsZXRlIGxhc3QgbGluZV0iCittc2dzdHIgIltJcyBuZWFtaGlvbWzhbiBhbiBs7W5lIGRoZWlyZWFuYWNoXSIKKworIy4gZG9uJ3Qgb3ZlcndyaXRlIG1lc3NhZ2VzIGhlcmUKKyMuIG11c3QgZ2l2ZSB0aGlzIHByb21wdAorIy4gZG9uJ3QgdXNlIGVtc2coKSBoZXJlLCBkb24ndCB3YW50IHRvIGZsdXNoIHRoZSBidWZmZXJzCisjOiBmaWxlaW8uYzo0NTA3Cittc2dpZCAiV0FSTklORzogVGhlIGZpbGUgaGFzIGJlZW4gY2hhbmdlZCBzaW5jZSByZWFkaW5nIGl0ISEhIgorbXNnc3RyICJSQUJIQURIOiBBdGhyYe1vZGggYW4gY29taGFkIPMgbOlhZGgg6SEhISIKKworIzogZmlsZWlvLmM6NDUwOQorbXNnaWQgIkRvIHlvdSByZWFsbHkgd2FudCB0byB3cml0ZSB0byBpdCIKK21zZ3N0ciAiQW4gYmhmdWlsIHT6IGNpbm50ZSBndXIgbWhhaXRoIGxlYXQg6SBhIHNjcu1vYmgiCisKKyM6IGZpbGVpby5jOjU3MzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTIwODogRXJyb3Igd3JpdGluZyB0byBcIiVzXCIiCittc2dzdHIgIkUyMDg6IEVhcnLhaWQgYWd1cyBcIiVzXCIg4SBzY3Ltb2JoIgorCisjOiBmaWxlaW8uYzo1NzQyCisjLCBjLWZvcm1hdAorbXNnaWQgIkUyMDk6IEVycm9yIGNsb3NpbmcgXCIlc1wiIgorbXNnc3RyICJFMjA5OiBFYXJy4WlkIGFndXMgXCIlc1wiIOEgZGj6bmFkaCIKKworIzogZmlsZWlvLmM6NTc0NQorIywgYy1mb3JtYXQKK21zZ2lkICJFMjEwOiBFcnJvciByZWFkaW5nIFwiJXNcIiIKK21zZ3N0ciAiRTIxMDogRWFycuFpZCBhZ3VzIFwiJXNcIiDhIGzpYW1oIgorCisjOiBmaWxlaW8uYzo1OTgyCittc2dpZCAiRTI0NjogRmlsZUNoYW5nZWRTaGVsbCBhdXRvY29tbWFuZCBkZWxldGVkIGJ1ZmZlciIKK21zZ3N0ciAiRTI0NjogU2NyaW9zIHVhdGhvcmT6IEZpbGVDaGFuZ2VkU2hlbGwgYW4gbWFvbOFuIgorCisjOiBmaWxlaW8uYzo1OTg5CisjLCBjLWZvcm1hdAorbXNnaWQgIkUyMTE6IFdhcm5pbmc6IEZpbGUgXCIlc1wiIG5vIGxvbmdlciBhdmFpbGFibGUiCittc2dzdHIgIkUyMTE6IFJhYmhhZGg6IE7tbCBjb21oYWQgXCIlc1wiIGFyIGbhaWwgZmVhc3RhIgorCisjOiBmaWxlaW8uYzo2MDAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJXMTI6IFdhcm5pbmc6IEZpbGUgXCIlc1wiIGhhcyBjaGFuZ2VkIGFuZCB0aGUgYnVmZmVyIHdhcyBjaGFuZ2VkIGluIFZpbSBhcyAiCisid2VsbCIKK21zZ3N0ciAiIgorIlcxMjogUmFiaGFkaDogQXRocmHtb2RoIGNvbWhhZCBcIiVzXCIgYWd1cyBhdGhyYe1vZGggYW4gbWFvbOFuIGkgVmltIGZvc3RhIgorCisjOiBmaWxlaW8uYzo2MDA2CisjLCBjLWZvcm1hdAorbXNnaWQgIlcxMTogV2FybmluZzogRmlsZSBcIiVzXCIgaGFzIGNoYW5nZWQgc2luY2UgZWRpdGluZyBzdGFydGVkIgorbXNnc3RyICJXMTE6IFJhYmhhZGg6IEF0aHJh7W9kaCBjb21oYWQgXCIlc1wiIPMgdG9zYe1vZGgg6SBhIGNodXIgaW4gZWFnYXIiCisKKyM6IGZpbGVpby5jOjYwMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiVzE2OiBXYXJuaW5nOiBNb2RlIG9mIGZpbGUgXCIlc1wiIGhhcyBjaGFuZ2VkIHNpbmNlIGVkaXRpbmcgc3RhcnRlZCIKK21zZ3N0ciAiIgorIlcxNjogUmFiaGFkaDogQXRocmHtb2RoIG3zZCBhbiBjaG9taGFpZCBcIiVzXCIg8yB0b3Nh7W9kaCDpIGEgY2h1ciBpbiBlYWdhciIKKworIzogZmlsZWlvLmM6NjAxOAorIywgYy1mb3JtYXQKK21zZ2lkICJXMTM6IFdhcm5pbmc6IEZpbGUgXCIlc1wiIGhhcyBiZWVuIGNyZWF0ZWQgYWZ0ZXIgZWRpdGluZyBzdGFydGVkIgorbXNnc3RyICJXMTM6IFJhYmhhZGg6IENydXRoYe1vZGggY29taGFkIFwiJXNcIiDzIHRvc2Htb2RoIOkgYSBjaHVyIGluIGVhZ2FyIgorCisjOiBmaWxlaW8uYzo2MDMxCittc2dpZCAiU2VlIFwiOmhlbHAgVzExXCIgZm9yIG1vcmUgaW5mby4iCittc2dzdHIgIkJhaW4gdHJpYWlsIGFzIFwiOmhlbHAgVzExXCIgY2h1biB0dWlsbGVhZGggZW9sYWlzIGEgZmjhaWwuIgorCisjOiBmaWxlaW8uYzo2MDQ1Cittc2dpZCAiV2FybmluZyIKK21zZ3N0ciAiUmFiaGFkaCIKKworIzogZmlsZWlvLmM6NjA0NgorbXNnaWQgIiIKKyImT0tcbiIKKyImTG9hZCBGaWxlIgorbXNnc3RyICIiCisiJk9LXG4iCisiJkx1Y2h0YWlnaCBDb21oYWQiCisKKyM6IGZpbGVpby5jOjYxNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTQ2MjogQ291bGQgbm90IHByZXBhcmUgZm9yIHJlbG9hZGluZyBcIiVzXCIiCittc2dzdHIgIkU0NjI6IE7tIGbpaWRpciBcIiVzXCIgYSB1bGxtaPogbGUgaGFnaGFpZGggYXRobHVjaHRhaXRoZSIKKworIzogZmlsZWlvLmM6NjE2NworIywgYy1mb3JtYXQKK21zZ2lkICJFMzIxOiBDb3VsZCBub3QgcmVsb2FkIFwiJXNcIiIKK21zZ3N0ciAiRTMyMTogTu0gZulpZGlyIFwiJXNcIiBhIGF0aGx1Y2h0+iIKKworIzogZmlsZWlvLmM6Njc2MgorbXNnaWQgIi0tRGVsZXRlZC0tIgorbXNnc3RyICItLVNjcmlvc3RhLS0iCisKKyM6IGZpbGVpby5jOjY5MDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiYXV0by1yZW1vdmluZyBhdXRvY29tbWFuZDogJXMgPGJ1ZmZlcj0lZD4iCittc2dzdHIgImFnIGJhaW50IHVhdGhvcmT6IGdvIGh1YXRob2licu1vY2g6ICVzIDxtYW9s4W49JWQ+IgorCisjLiB0aGUgZ3JvdXAgZG9lc24ndCBleGlzdAorIzogZmlsZWlvLmM6Njk1MworIywgYy1mb3JtYXQKK21zZ2lkICJFMzY3OiBObyBzdWNoIGdyb3VwOiBcIiVzXCIiCittc2dzdHIgIkUzNjc6IE7tbCBhIGxlaXRo6WlkIGRlIGdocvpwYTogXCIlc1wiIgorCisjOiBmaWxlaW8uYzo3MDc5CisjLCBjLWZvcm1hdAorbXNnaWQgIkUyMTU6IElsbGVnYWwgY2hhcmFjdGVyIGFmdGVyICo6ICVzIgorbXNnc3RyICJFMjE1OiBDYXJhY2h0YXIgbmVhbWhjaGVhZGFpdGhlIGkgbmRpYWlkaCAqOiAlcyIKKworIzogZmlsZWlvLmM6NzA5MQorIywgYy1mb3JtYXQKK21zZ2lkICJFMjE2OiBObyBzdWNoIGV2ZW50OiAlcyIKK21zZ3N0ciAiRTIxNjogTu1sIGEgbGVpdGjpaWQgZGUgdGhlYWdtaGFzOiAlcyIKKworIzogZmlsZWlvLmM6NzA5MworIywgYy1mb3JtYXQKK21zZ2lkICJFMjE2OiBObyBzdWNoIGdyb3VwIG9yIGV2ZW50OiAlcyIKK21zZ3N0ciAiRTIxNjogTu1sIGEgbGVpdGjpaWQgZGUgZ2hy+nBhIG7zIHRoZWFnbWhhczogJXMiCisKKyMuIEhpZ2hsaWdodCB0aXRsZQorIzogZmlsZWlvLmM6NzI5MQorbXNnaWQgIiIKKyJcbiIKKyItLS0gQXV0by1Db21tYW5kcyAtLS0iCittc2dzdHIgIiIKKyJcbiIKKyItLS0gVWF0aG9yZHVpdGhlIC0tLSIKKworIzogZmlsZWlvLmM6NzUyNworIywgYy1mb3JtYXQKK21zZ2lkICJFNjgwOiA8YnVmZmVyPSVkPjogaW52YWxpZCBidWZmZXIgbnVtYmVyICIKK21zZ3N0ciAiRTY4MDogPG1hb2zhbj0lZD46IHVpbWhpciBuZWFtaGJoYWls7SBtaGFvbOFpbiAiCisKKyM6IGZpbGVpby5jOjc2MjQKK21zZ2lkICJFMjE3OiBDYW4ndCBleGVjdXRlIGF1dG9jb21tYW5kcyBmb3IgQUxMIGV2ZW50cyIKK21zZ3N0ciAiRTIxNzogTu0gZulpZGlyIHVhdGhvcmR1aXRoZSBhIHJpdGggaSBnY29taGFpciB0ZWFnbWhhcyBVSUxFIgorCisjOiBmaWxlaW8uYzo3NjQ3Cittc2dpZCAiTm8gbWF0Y2hpbmcgYXV0b2NvbW1hbmRzIgorbXNnc3RyICJO7WwgYW9uIHVhdGhvcmT6IGNvbWhvaXJp+m5haXRoZSIKKworIzogZmlsZWlvLmM6Nzk2OAorbXNnaWQgIkUyMTg6IGF1dG9jb21tYW5kIG5lc3RpbmcgdG9vIGRlZXAiCittc2dzdHIgIkUyMTg6IHVhdGhvcmT6IG5lYWRhaXRoZSBy82Rob21oYWluIgorCisjOiBmaWxlaW8uYzo4MjY3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIEF1dG8gY29tbWFuZHMgZm9yIFwiJXNcIiIKK21zZ3N0ciAiJXMgVWF0aG9yZHVpdGhlIGRvIFwiJXNcIiIKKworIzogZmlsZWlvLmM6ODI3NQorIywgYy1mb3JtYXQKK21zZ2lkICJFeGVjdXRpbmcgJXMiCittc2dzdHIgIiVzIOEgcml0aCIKKworIy4gYWx3YXlzIHNjcm9sbCB1cCwgZG9uJ3Qgb3ZlcndyaXRlCisjOiBmaWxlaW8uYzo4MzQzCisjLCBjLWZvcm1hdAorbXNnaWQgImF1dG9jb21tYW5kICVzIgorbXNnc3RyICJ1YXRob3Jk+iAlcyIKKworIzogZmlsZWlvLmM6ODkzOAorbXNnaWQgIkUyMTk6IE1pc3Npbmcgey4iCittc2dzdHIgIkUyMTk6IHsgYXIgaWFycmFpZGguIgorCisjOiBmaWxlaW8uYzo4OTQwCittc2dpZCAiRTIyMDogTWlzc2luZyB9LiIKK21zZ3N0ciAiRTIyMDogfSBhciBpYXJyYWlkaC4iCisKKyM6IGZvbGQuYzo2OAorbXNnaWQgIkU0OTA6IE5vIGZvbGQgZm91bmQiCittc2dzdHIgIkU0OTA6IE7tb3IgYWltc+1vZGggYW9uIGZoaWxsZWFkaCIKKworIzogZm9sZC5jOjU5MworbXNnaWQgIkUzNTA6IENhbm5vdCBjcmVhdGUgZm9sZCB3aXRoIGN1cnJlbnQgJ2ZvbGRtZXRob2QnIgorbXNnc3RyICJFMzUwOiBO7SBm6WlkaXIgZmlsbGVhZGggYSBjaHJ1dGj6IGxlaXMgYW4gJ2ZvbGRtZXRob2QnIHJlYXRoYSIKKworIzogZm9sZC5jOjU5NQorbXNnaWQgIkUzNTE6IENhbm5vdCBkZWxldGUgZm9sZCB3aXRoIGN1cnJlbnQgJ2ZvbGRtZXRob2QnIgorbXNnc3RyICJFMzUxOiBO7SBm6WlkaXIgZmlsbGVhZGggYSBzY3Jpb3NhZGggbGVpcyBhbiAnZm9sZG1ldGhvZCcgcmVhdGhhIgorCisjOiBmb2xkLmM6MTk4NAorIywgYy1mb3JtYXQKK21zZ2lkICIrLS0lM2xkIGxpbmVzIGZvbGRlZCAiCittc2dzdHIgIistLSUzbGQgbO1uZSBmaWxsdGUgIgorCisjOiBnZXRjaGFyLmM6MjQ5Cittc2dpZCAiRTIyMjogQWRkIHRvIHJlYWQgYnVmZmVyIgorbXNnc3RyICJFMjIyOiBDdWlyIGxlaXMgYW4gbWFvbOFuIGzpaXRlIgorCisjOiBnZXRjaGFyLmM6MjIzNAorbXNnaWQgIkUyMjM6IHJlY3Vyc2l2ZSBtYXBwaW5nIgorbXNnc3RyICJFMjIzOiBtYXDhaWwgYXRoY2j6cnNhY2giCisKKyM6IGdldGNoYXIuYzozMTE0CisjLCBjLWZvcm1hdAorbXNnaWQgIkUyMjQ6IGdsb2JhbCBhYmJyZXZpYXRpb24gYWxyZWFkeSBleGlzdHMgZm9yICVzIgorbXNnc3RyICJFMjI0OiB04SBnaW9ycvpjaOFuIGNvbWhjaG9pdGVhbm4gYW5uIGNoZWFuYSBsZSBoYWdoYWlkaCAlcyIKKworIzogZ2V0Y2hhci5jOjMxMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTIyNTogZ2xvYmFsIG1hcHBpbmcgYWxyZWFkeSBleGlzdHMgZm9yICVzIgorbXNnc3RyICJFMjI1OiB04SBtYXDhaWwgY2hvbWhjaG9pdGVhbm4gYW5uIGNoZWFuYSBsZSBoYWdoYWlkaCAlcyIKKworIzogZ2V0Y2hhci5jOjMyNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTIyNjogYWJicmV2aWF0aW9uIGFscmVhZHkgZXhpc3RzIGZvciAlcyIKK21zZ3N0ciAiRTIyNjogdOEgZ2lvcnL6Y2jhbiBhbm4gY2hlYW5hIGxlIGhhZ2hhaWRoICVzIgorCisjOiBnZXRjaGFyLmM6MzI1MgorIywgYy1mb3JtYXQKK21zZ2lkICJFMjI3OiBtYXBwaW5nIGFscmVhZHkgZXhpc3RzIGZvciAlcyIKK21zZ3N0ciAiRTIyNzogdOEgbWFw4WlsIGFubiBjaGVhbmEgbGUgaGFnaGFpZGggJXMiCisKKyM6IGdldGNoYXIuYzozMzE2Cittc2dpZCAiTm8gYWJicmV2aWF0aW9uIGZvdW5kIgorbXNnc3RyICJO7W9yIGFpbXPtb2RoIGFvbiBnaGlvcnL6Y2jhbiIKKworIzogZ2V0Y2hhci5jOjMzMTgKK21zZ2lkICJObyBtYXBwaW5nIGZvdW5kIgorbXNnc3RyICJO7W9yIGFpbXPtb2RoIGFvbiBtaGFw4WlsIgorCisjOiBnZXRjaGFyLmM6NDIxMAorbXNnaWQgIkUyMjg6IG1ha2VtYXA6IElsbGVnYWwgbW9kZSIKK21zZ3N0ciAiRTIyODogbWFrZW1hcDogTfNkIG5lYW1oY2hlYWRhaXRoZSIKKworIzogZ3VpX2F0X2ZzLmM6MzAwCittc2dpZCAiPGNhbm5vdCBvcGVuPiAiCittc2dzdHIgIjxu7SBm6WlkaXIgYSBvc2NhaWx0PiAiCisKKyM6IGd1aV9hdF9mcy5jOjExMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTYxNjogdmltX1NlbEZpbGU6IGNhbid0IGdldCBmb250ICVzIgorbXNnc3RyICJFNjE2OiB2aW1fU2VsRmlsZTogbu1sIGFvbiBmaOFpbCBhciBhbiBjaGzzZmhvaXJlYW5uICVzIgorCisjOiBndWlfYXRfZnMuYzoyNzgxCittc2dpZCAiRTYxNDogdmltX1NlbEZpbGU6IGNhbid0IHJldHVybiB0byBjdXJyZW50IGRpcmVjdG9yeSIKK21zZ3N0ciAiRTYxNDogdmltX1NlbEZpbGU6IG7tIGbpaWRpciBkdWwgYXIgYWlzIGdvIGR07SBhbiBjaG9taGFkbGFubiByZWF0aGEiCisKKyM6IGd1aV9hdF9mcy5jOjI4MDEKK21zZ2lkICJQYXRobmFtZToiCittc2dzdHIgIkNvbmFpcjoiCisKKyM6IGd1aV9hdF9mcy5jOjI4MDcKK21zZ2lkICJFNjE1OiB2aW1fU2VsRmlsZTogY2FuJ3QgZ2V0IGN1cnJlbnQgZGlyZWN0b3J5IgorbXNnc3RyICJFNjE1OiB2aW1fU2VsRmlsZTogbu1sIGFuIGNob21oYWRsYW5uIHJlYXRoYSBhciBm4WlsIgorCisjOiBndWlfYXRfZnMuYzoyODE1IGd1aV94bWRsZy5jOjkzMgorbXNnaWQgIk9LIgorbXNnc3RyICJPSyIKKworIzogZ3VpX2F0X2ZzLmM6MjgxNSBndWlfZ3RrLmM6MjgwOSBndWlfeG1kbGcuYzo5NDEKK21zZ2lkICJDYW5jZWwiCittc2dzdHIgIkNlYWxhaWdoIgorCisjOiBndWlfYXRoZW5hLmM6MjE3NSBndWlfbW90aWYuYzoyMjkyCittc2dpZCAiVmltIGRpYWxvZyIKK21zZ3N0ciAiRGlhbPNnIFZpbSIKKworIzogZ3VpX2F0X3NiLmM6NDg2Cittc2dpZCAiU2Nyb2xsYmFyIFdpZGdldDogQ291bGQgbm90IGdldCBnZW9tZXRyeSBvZiB0aHVtYiBwaXhtYXAuIgorbXNnc3RyICIiCisiR2l1aXJs6WlkIFNjcm9sbGJoYXJyYTogTu0gZulpZGlyIGPpaW1zZWF0YSBhbiBtaGFwYSBwaWN0ZWls7W7tIGEgZmjhaWwuIgorCisjOiBndWlfYmV2YWwuYzoxMDEgZ3VpX3czMi5jOjQwOTIKK21zZ2lkICJFMjMyOiBDYW5ub3QgY3JlYXRlIEJhbGxvb25FdmFsIHdpdGggYm90aCBtZXNzYWdlIGFuZCBjYWxsYmFjayIKK21zZ3N0ciAiIgorIkUyMzI6IE7tIGbpaWRpciBCYWxsb29uRXZhbCBhIGNocnV0aPogbGUgdGVhY2h0YWlyZWFjaHQgYWd1cyBhaXNnaGxhb2NoIGFyYW9uIgorCisjOiBndWkuYzoyMjAKK21zZ2lkICJFMjI5OiBDYW5ub3Qgc3RhcnQgdGhlIEdVSSIKK21zZ3N0ciAiRTIyOTogTu0gZulpZGlyIGFuIEdVSSBhIGNodXIgYWcgb2JhaXIiCisKKyM6IGd1aS5jOjM1NQorIywgYy1mb3JtYXQKK21zZ2lkICJFMjMwOiBDYW5ub3QgcmVhZCBmcm9tIFwiJXNcIiIKK21zZ3N0ciAiRTIzMDogTu0gZulpZGlyIGzpYW1oIPMgXCIlc1wiIgorCisjOiBndWkuYzo0NzgKK21zZ2lkICJFNjY1OiBDYW5ub3Qgc3RhcnQgR1VJLCBubyB2YWxpZCBmb250IGZvdW5kIgorbXNnc3RyICIiCisiRTY2NTogTu0gZulpZGlyIGFuIEdVSSBhIGNodXIgYWcgb2JhaXIsIG7tbCBhb24gY2hs82Zob2lyZWFubiBiaGFpbO0gYW5uIgorCisjOiBndWkuYzo0ODMKK21zZ2lkICJFMjMxOiAnZ3VpZm9udHdpZGUnIGludmFsaWQiCittc2dzdHIgIkUyMzE6ICdndWlmb250d2lkZScgbmVhbWhiaGFpbO0iCisKKyM6IGd1aS5jOjU1MworbXNnaWQgIkU1OTk6IFZhbHVlIG9mICdpbWFjdGl2YXRla2V5JyBpcyBpbnZhbGlkIgorbXNnc3RyICJFNTk5OiBMdWFjaCBuZWFtaGJoYWls7SBhciAnaW1hY3RpdmF0ZWtleSciCisKKyM6IGd1aS5jOjQwNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTI1NDogQ2Fubm90IGFsbG9jYXRlIGNvbG9yICVzIgorbXNnc3RyICJFMjU0OiBO7SBm6WlkaXIgZGF0aCAlcyBhIHJpYXIiCisKKyM6IGd1aS5jOjQ1OTgKK21zZ2lkICJObyBtYXRjaCBhdCBjdXJzb3IsIGZpbmRpbmcgbmV4dCIKK21zZ3N0ciAiTu1sIGEgbGVpdGjpaWQgYWcgYW4gY2j6cnPzaXIsIGFnIGN1YXJkYWNoIGFyIGFuIGNo6WFkIGNoZWFubiBlaWxlIgorCisjOiBndWlfZ3RrLmM6MTY4NworbXNnaWQgIlZpbSBkaWFsb2cuLi4iCittc2dzdHIgIkRpYWzzZyBWaW0uLi4iCisKKyM6IGd1aV9ndGsuYzoyMTM4IG1lc3NhZ2UuYzozMDAwCittc2dpZCAiIgorIiZZZXNcbiIKKyImTm9cbiIKKyImQ2FuY2VsIgorbXNnc3RyICIiCisiJlThXG4iCisiJk7tbFxuIgorIiZDZWFsYWlnaCIKKworIzogZ3VpX2d0ay5jOjIzNDYKK21zZ2lkICJJbnB1dCBfTWV0aG9kcyIKK21zZ3N0ciAiX01vZGhhbm5hIGlvbmNodWlyIgorCisjIGluIE9MVCAtLUtQUworIzogZ3VpX2d0ay5jOjI2MTIgZ3VpX21vdGlmLmM6MzI0MworbXNnaWQgIlZJTSAtIFNlYXJjaCBhbmQgUmVwbGFjZS4uLiIKK21zZ3N0ciAiVklNIC0gQ3VhcmRhaWdoIGFndXMgQXRoY2h1aXIuLi4iCisKKyM6IGd1aV9ndGsuYzoyNjIwIGd1aV9tb3RpZi5jOjMyNDUKK21zZ2lkICJWSU0gLSBTZWFyY2guLi4iCittc2dzdHIgIlZJTSAtIEN1YXJkYWlnaC4uLiIKKworIzogZ3VpX2d0ay5jOjI2NTIgZ3VpX21vdGlmLmM6MzM1NAorbXNnaWQgIkZpbmQgd2hhdDoiCittc2dzdHIgIkFpbXNpZ2g6IgorCisjOiBndWlfZ3RrLmM6MjY3MCBndWlfbW90aWYuYzozMzg3Cittc2dpZCAiUmVwbGFjZSB3aXRoOiIKK21zZ3N0ciAiTGUgY3VyIGluIGlvbmFkOiIKKworIy4gd2hvbGUgd29yZCBvbmx5IGJ1dHRvbgorIzogZ3VpX2d0ay5jOjI3MDIgZ3VpX21vdGlmLmM6MzUwOAorbXNnaWQgIk1hdGNoIHdob2xlIHdvcmQgb25seSIKK21zZ3N0ciAiRm9jYWwgaW9tbOFuIGFtaOFpbiIKKworIy4gbWF0Y2ggY2FzZSBidXR0b24KKyM6IGd1aV9ndGsuYzoyNzEzIGd1aV9tb3RpZi5jOjM1MjAKK21zZ2lkICJNYXRjaCBjYXNlIgorbXNnc3RyICJNZWFpdHNl4WlsIGFuIGPhcyIKKworIzogZ3VpX2d0ay5jOjI3MjMgZ3VpX21vdGlmLmM6MzQ1OQorbXNnaWQgIkRpcmVjdGlvbiIKK21zZ3N0ciAiVHJlbyIKKworIy4gJ1VwJyBhbmQgJ0Rvd24nIGJ1dHRvbnMKKyM6IGd1aV9ndGsuYzoyNzM1IGd1aV9tb3RpZi5jOjM0NzIKK21zZ2lkICJVcCIKK21zZ3N0ciAiU3VhcyIKKworIzogZ3VpX2d0ay5jOjI3MzkgZ3VpX21vdGlmLmM6MzQ4MQorbXNnaWQgIkRvd24iCittc2dzdHIgIlPtb3MiCisKKyM6IGd1aV9ndGsuYzoyNzYxIGd1aV9ndGsuYzoyNzYzCittc2dpZCAiRmluZCBOZXh0IgorbXNnc3RyICJBbiBDaOlhZCBDaGVhbm4gRWlsZSIKKworIzogZ3VpX2d0ay5jOjI3ODAgZ3VpX2d0ay5jOjI3ODIKK21zZ2lkICJSZXBsYWNlIgorbXNnc3RyICJJb25hZGFpZ2giCisKKyM6IGd1aV9ndGsuYzoyNzkzIGd1aV9ndGsuYzoyNzk1Cittc2dpZCAiUmVwbGFjZSBBbGwiCittc2dzdHIgIklvbmFkYWlnaCBVaWxlIgorCisjOiBndWlfZ3RrX3gxMS5jOjIzMjcKK21zZ2lkICJWaW06IFJlY2VpdmVkIFwiZGllXCIgcmVxdWVzdCBmcm9tIHNlc3Npb24gbWFuYWdlclxuIgorbXNnc3RyICJWaW06IEZ1YXJ0aGFzIGlhcnJhdGFzIFwiZGllXCIg8yBiaGFpbmlzdGVvaXIgYW4gdHNlaXNp+mluXG4iCisKKyM6IGd1aV9ndGtfeDExLmM6MzUyNworbXNnaWQgIlZpbTogTWFpbiB3aW5kb3cgdW5leHBlY3RlZGx5IGRlc3Ryb3llZFxuIgorbXNnc3RyICJWaW06IE1pbGxlYWRoIGFuIHBy7W9taGZodWlubmVvZyBnYW4gY2hvaW5uZVxuIgorCisjOiBndWlfZ3RrX3gxMS5jOjQxNDcKK21zZ2lkICJGb250IFNlbGVjdGlvbiIKK21zZ3N0ciAiUm9naG76IENs8yIKKworIzogZ3VpX2d0a194MTEuYzo2MTA0IHVpLmM6MjEyOQorbXNnaWQgIlVzZWQgQ1VUX0JVRkZFUjAgaW5zdGVhZCBvZiBlbXB0eSBzZWxlY3Rpb24iCittc2dzdHIgItpz4WlkZWFkaCBDVVRfQlVGRkVSMCBpbiBpb25hZCByb2dobvpjaOFpbiBmb2xhaW1oIgorCisjOiBndWlfbW90aWYuYzoyMDU0Cittc2dpZCAiJkZpbHRlciIKK21zZ3N0ciAiJlNjYWdhaXJlIgorCisjOiBndWlfbW90aWYuYzoyMDU1IGd1aV9tb3RpZi5jOjMzMjIKK21zZ2lkICImQ2FuY2VsIgorbXNnc3RyICImQ2VhbGFpZ2giCisKKyM6IGd1aV9tb3RpZi5jOjIwNTYKK21zZ2lkICJEaXJlY3RvcmllcyIKK21zZ3N0ciAiQ29taGFkbGFubmEiCisKKyM6IGd1aV9tb3RpZi5jOjIwNTcKK21zZ2lkICJGaWx0ZXIiCittc2dzdHIgIlNjYWdhaXJlIgorCisjOiBndWlfbW90aWYuYzoyMDU4Cittc2dpZCAiJkhlbHAiCittc2dzdHIgIiZDYWJoYWlyIgorCisjOiBndWlfbW90aWYuYzoyMDU5Cittc2dpZCAiRmlsZXMiCittc2dzdHIgIkNvbWhhaWQiCisKKyM6IGd1aV9tb3RpZi5jOjIwNjAKK21zZ2lkICImT0siCittc2dzdHIgIiZPSyIKKworIzogZ3VpX21vdGlmLmM6MjA2MQorbXNnaWQgIlNlbGVjdGlvbiIKK21zZ3N0ciAiUm9naG76IgorCisjOiBndWlfbW90aWYuYzozMjc0Cittc2dpZCAiRmluZCAmTmV4dCIKK21zZ3N0ciAiQW4gQ2jpYWQgQ2hlYSZubiBFaWxlIgorCisjOiBndWlfbW90aWYuYzozMjg5Cittc2dpZCAiJlJlcGxhY2UiCittc2dzdHIgIiZJb25hZGFpZ2giCisKKyM6IGd1aV9tb3RpZi5jOjMzMDAKK21zZ2lkICJSZXBsYWNlICZBbGwiCittc2dzdHIgIklvbmFkYWlnaCAmVWlsZSIKKworIzogZ3VpX21vdGlmLmM6MzMxMQorbXNnaWQgIiZVbmRvIgorbXNnc3RyICImQ2VhbGFpZ2giCisKKyM6IGd1aV9yaXNjb3MuYzo5NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTYxMDogQ2FuJ3QgbG9hZCBaYXAgZm9udCAnJXMnIgorbXNnc3RyICJFNjEwOiBO7SBm6WlkaXIgYW4gY2hs82Zob2lyZWFubiBaYXAgJyVzJyBhIGx1Y2h0+iIKKworIzogZ3VpX3Jpc2Nvcy5jOjEwNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTYxMTogQ2FuJ3QgdXNlIGZvbnQgJXMiCittc2dzdHIgIkU2MTE6IE7tIGbpaWRpciBhbiBjaGzzZmhvaXJlYW5uICVzIGEg+nPhaWQiCisKKyM6IGd1aV9yaXNjb3MuYzozMjcyCittc2dpZCAiIgorIlxuIgorIlNlbmRpbmcgbWVzc2FnZSB0byB0ZXJtaW5hdGUgY2hpbGQgcHJvY2Vzcy5cbiIKK21zZ3N0ciAiIgorIlxuIgorIkFnIHNlb2xhZGggdGVhY2h0YWlyZWFjaHRhIGNodW4gYW4gbWFjcGhy82lzZWFzIGEgc3RvcGFkaC5cbiIKKworIzogZ3VpX3czMi5jOjg0MAorIywgYy1mb3JtYXQKK21zZ2lkICJFNjcxOiBDYW5ub3QgZmluZCB3aW5kb3cgdGl0bGUgXCIlc1wiIgorbXNnc3RyICJFNjcxOiBO7SBm6WlkaXIgdGVpZGVhbCBuYSBmdWlubmVvaWdlIFwiJXNcIiBhIGFpbXNp+iIKKworIzogZ3VpX3czMi5jOjg0OAorIywgYy1mb3JtYXQKK21zZ2lkICJFMjQzOiBBcmd1bWVudCBub3Qgc3VwcG9ydGVkOiBcIi0lc1wiOyBVc2UgdGhlIE9MRSB2ZXJzaW9uLiIKK21zZ3N0ciAiRTI0MzogQXJn82ludCBnYW4gdGFjYe1vY2h0OiBcIi0lc1wiOyBCYWluIPpz4WlkIGFzIGFuIGxlYWdhbiBPTEUuIgorCisjOiBndWlfdzMyLmM6MTA5OAorbXNnaWQgIkU2NzI6IFVuYWJsZSB0byBvcGVuIHdpbmRvdyBpbnNpZGUgTURJIGFwcGxpY2F0aW9uIgorbXNnc3RyICJFNjcyOiBO7SBm6WlkaXIgZnVpbm5lb2cgYSBvc2NhaWx0IGlzdGVhY2ggaSBiaGZlaWRobWNobOFyIE1ESSIKKworIzogZ3VpX3c0OC5jOjIyMTMKK21zZ2lkICJGaW5kIHN0cmluZyAodXNlICdcXFxcJyB0byBmaW5kICBhICdcXCcpIgorbXNnc3RyICJBaW1zaWdoIHRlYWdocuFuIChiYWluIPpz4WlkIGFzICdcXFxcJyBjaHVuICdcXCcgYSBhaW1zafopIgorCisjOiBndWlfdzQ4LmM6MjIzOAorbXNnaWQgIkZpbmQgJiBSZXBsYWNlICh1c2UgJ1xcXFwnIHRvIGZpbmQgIGEgJ1xcJykiCittc2dzdHIgIkFpbXNpZ2ggJiBBdGhjaHVpciAo+nPhaWQgJ1xcXFwnIGNodW4gJ1xcJyBhIGFpbXNp+ikiCisKKyMuIFdlIGZha2UgdGhpczogVXNlIGEgZmlsdGVyIHRoYXQgZG9lc24ndCBzZWxlY3QgYW55dGhpbmcgYW5kIGEgZGVmYXVsdAorIy4gKiBmaWxlIG5hbWUgdGhhdCB3b24ndCBiZSB1c2VkLgorIzogZ3VpX3c0OC5jOjMwNDQKK21zZ2lkICJOb3QgVXNlZCIKK21zZ3N0ciAiR2FuINpz4WlkIgorCisjOiBndWlfdzQ4LmM6MzA0NQorbXNnaWQgIkRpcmVjdG9yeVx0Ki5ub3RoaW5nXG4iCittc2dzdHIgIkNvbWhhZGxhbm5cdCoubmVhbWhu7VxuIgorCisjOiBndWlfeDExLmM6MTUzNworbXNnaWQgIlZpbSBFNDU4OiBDYW5ub3QgYWxsb2NhdGUgY29sb3JtYXAgZW50cnksIHNvbWUgY29sb3JzIG1heSBiZSBpbmNvcnJlY3QiCittc2dzdHIgIiIKKyJWaW0gRTQ1ODogTu0gZulpZGlyIGlvbnRy4WlsIGRhdGhtaGFw4WxhIGEgZGjhaWxlYWRoLCBpcyBm6WlkaXIgZ28gbWJlaWRoICIKKyJkYXRoYW5uYSBt7WNoZWFydGEgYW5uIgorCisjOiBndWlfeDExLmM6MjE0MQorIywgYy1mb3JtYXQKK21zZ2lkICJFMjUwOiBGb250cyBmb3IgdGhlIGZvbGxvd2luZyBjaGFyc2V0cyBhcmUgbWlzc2luZyBpbiBmb250c2V0ICVzOiIKK21zZ3N0ciAiIgorIkUyNTA6IENs825uYSBhciBpYXJyYWlkaCBsZSBoYWdoYWlkaCBuYSBkdGFjYXIgY2FyYWNodGFyIGkgZHRhY2FyIGNs8yAlczoiCisKKyM6IGd1aV94MTEuYzoyMTg0CisjLCBjLWZvcm1hdAorbXNnaWQgIkUyNTI6IEZvbnRzZXQgbmFtZTogJXMiCittc2dzdHIgIkUyNTI6IEFpbm0gYW4gdGFjYXIgY2zzOiAlcyIKKworIzogZ3VpX3gxMS5jOjIxODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRm9udCAnJXMnIGlzIG5vdCBmaXhlZC13aWR0aCIKK21zZ3N0ciAiTu0gY2zzIGFvbmxlaXRoaWQg6SAnJXMnIgorCisjOiBndWlfeDExLmM6MjIwNAorIywgYy1mb3JtYXQKK21zZ2lkICJFMjUzOiBGb250c2V0IG5hbWU6ICVzXG4iCittc2dzdHIgIkUyNTM6IEFpbm0gYW4gdGFjYXIgY2zzOiAlc1xuIgorCisjOiBndWlfeDExLmM6MjIwNQorIywgYy1mb3JtYXQKK21zZ2lkICJGb250MDogJXNcbiIKK21zZ3N0ciAiQ2zzMDogJXNcbiIKKworIzogZ3VpX3gxMS5jOjIyMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiRm9udDE6ICVzXG4iCittc2dzdHIgIkNs8zE6ICVzXG4iCisKKyM6IGd1aV94MTEuYzoyMjA3CisjLCBjLWZvcm1hdAorbXNnaWQgIkZvbnQlbGQgd2lkdGggaXMgbm90IHR3aWNlIHRoYXQgb2YgZm9udDBcbiIKK21zZ3N0ciAiTu1sIENs8yVsZCBu7W9zIGxlaXRobmUgZmFvaSBkaPMgbuEgY2zzMFxuIgorCisjOiBndWlfeDExLmM6MjIwOAorIywgYy1mb3JtYXQKK21zZ2lkICJGb250MCB3aWR0aDogJWxkXG4iCittc2dzdHIgIkxlaXRoZWFkIENs8zA6ICVsZFxuIgorCisjOiBndWlfeDExLmM6MjIwOQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiRm9udDEgd2lkdGg6ICVsZFxuIgorIlxuIgorbXNnc3RyICIiCisiTGVpdGhlYWQgQ2zzMTogJWxkXG4iCisiXG4iCisKKyM6IGd1aV94bWRsZy5jOjY4OCBndWlfeG1kbGcuYzo4MTAKK21zZ2lkICJJbnZhbGlkIGZvbnQgc3BlY2lmaWNhdGlvbiIKK21zZ3N0ciAiU29ucvogbmVhbWhiaGFpbO0gY2zzIgorCisjOiBndWlfeG1kbGcuYzo2ODkgZ3VpX3htZGxnLmM6ODExCittc2dpZCAiJkRpc21pc3MiCittc2dzdHIgIiZSdWFpZyIKKworIzogZ3VpX3htZGxnLmM6Njk4Cittc2dpZCAibm8gc3BlY2lmaWMgbWF0Y2giCittc2dzdHIgIm7tbCBhIGxlaXRo6WlkIGFubiIKKworIzogZ3VpX3htZGxnLmM6OTEwCittc2dpZCAiVmltIC0gRm9udCBTZWxlY3RvciIKK21zZ3N0ciAiVmltIC0gUm9naG76IENs8yIKKworIzogZ3VpX3htZGxnLmM6OTc5Cittc2dpZCAiTmFtZToiCittc2dzdHIgIkFpbm06IgorCisjLiBjcmVhdGUgdG9nZ2xlIGJ1dHRvbgorIzogZ3VpX3htZGxnLmM6MTAxOQorbXNnaWQgIlNob3cgc2l6ZSBpbiBQb2ludHMiCittc2dzdHIgIlRhaXNwZeFpbiBt6WlkIChQb2ludO0pIgorCisjOiBndWlfeG1kbGcuYzoxMDM4Cittc2dpZCAiRW5jb2Rpbmc6IgorbXNnc3RyICJJb25jaPNk+joiCisKKyM6IGd1aV94bWRsZy5jOjEwODQKK21zZ2lkICJGb250OiIKK21zZ3N0ciAiQ2zzOiIKKworIzogZ3VpX3htZGxnLmM6MTExNworbXNnaWQgIlN0eWxlOiIKK21zZ3N0ciAiU3TtbDoiCisKKyM6IGd1aV94bWRsZy5jOjExNDkKK21zZ2lkICJTaXplOiIKK21zZ3N0ciAiTelpZDoiCisKKyM6IGhhbmd1bGluLmM6NjEwCittc2dpZCAiRTI1NjogSGFuZ3VsIGF1dG9tYXRhIEVSUk9SIgorbXNnc3RyICJFMjU2OiBFQVJSwUlEIGxlaXMgbmEgaHVhdGhvaWJyZeFpbiBIYW5ndWwiCisKKyM6IGlmX2NzY29wZS5jOjc3Cittc2dpZCAiQWRkIGEgbmV3IGRhdGFiYXNlIgorbXNnc3RyICJCdW5hY2hhciBzb25yYe0gbnVhIgorCisjOiBpZl9jc2NvcGUuYzo3OQorbXNnaWQgIlF1ZXJ5IGZvciBhIHBhdHRlcm4iCittc2dzdHIgIklhcnJhdGFzIGFyIHBoYXRy+m4iCisKKyM6IGlmX2NzY29wZS5jOjgxCittc2dpZCAiU2hvdyB0aGlzIG1lc3NhZ2UiCittc2dzdHIgIlRhaXNwZeFpbiBhbiB0ZWFjaHRhaXJlYWNodCBzZW8iCisKKyM6IGlmX2NzY29wZS5jOjgzCittc2dpZCAiS2lsbCBhIGNvbm5lY3Rpb24iCittc2dzdHIgIk1hcmFpZ2ggbmFzYyIKKworIzogaWZfY3Njb3BlLmM6ODUKK21zZ2lkICJSZWluaXQgYWxsIGNvbm5lY3Rpb25zIgorbXNnc3RyICJBdPpzYWlnaCBnYWNoIG5hc2MiCisKKyM6IGlmX2NzY29wZS5jOjg3Cittc2dpZCAiU2hvdyBjb25uZWN0aW9ucyIKK21zZ3N0ciAiVGFpc3Bl4WluIG5haXNjIgorCisjOiBpZl9jc2NvcGUuYzo5NQorIywgYy1mb3JtYXQKK21zZ2lkICJFNTYwOiBVc2FnZTogY3NbY29wZV0gJXMiCittc2dzdHIgIkU1NjA6INpz4WlkOiBjc1tjb3BlXSAlcyIKKworIzogaWZfY3Njb3BlLmM6MTI0Cittc2dpZCAiVGhpcyBjc2NvcGUgY29tbWFuZCBkb2VzIG5vdCBzdXBwb3J0IHNwbGl0dGluZyB0aGUgd2luZG93LlxuIgorbXNnc3RyICJO7SBm6WlkaXIgZnVpbm5lb2dhIGEgc2NvaWx0ZWFkaCBsZWlzIGFuIG9yZPogc2VvIGBjc2NvcGUnLlxuIgorCisjOiBpZl9jc2NvcGUuYzoxNzUKK21zZ2lkICJFNTYyOiBVc2FnZTogY3N0YWcgPGlkZW50PiIKK21zZ3N0ciAiRTU2Mjog2nPhaWQ6IGNzdGFnIDxpZGVudD4iCisKKyM6IGlmX2NzY29wZS5jOjIzMQorbXNnaWQgIkUyNTc6IGNzdGFnOiB0YWcgbm90IGZvdW5kIgorbXNnc3RyICJFMjU3OiBjc3RhZzogY2xpYiBnYW4gYWltc2n6IgorCisjOiBpZl9jc2NvcGUuYzo0MDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTU2Mzogc3RhdCglcykgZXJyb3I6ICVkIgorbXNnc3RyICJFNTYzOiBlYXJy4WlkIHN0YXQoJXMpOiAlZCIKKworIzogaWZfY3Njb3BlLmM6NDE5Cittc2dpZCAiRTU2Mzogc3RhdCBlcnJvciIKK21zZ3N0ciAiRTU2MzogZWFycuFpZCBzdGF0IgorCisjOiBpZl9jc2NvcGUuYzo1MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTU2NDogJXMgaXMgbm90IGEgZGlyZWN0b3J5IG9yIGEgdmFsaWQgY3Njb3BlIGRhdGFiYXNlIgorbXNnc3RyICJFNTY0OiBO7WwgJXMgaW5hIGNvbWhhZGxhbm4gbvMgYnVuYWNoYXIgc29ucmHtIGNzY29wZSBiYWls7SIKKworIzogaWZfY3Njb3BlLmM6NTM0CisjLCBjLWZvcm1hdAorbXNnaWQgIkFkZGVkIGNzY29wZSBkYXRhYmFzZSAlcyIKK21zZ3N0ciAiQnVuYWNoYXIgc29ucmHtIG51YSBjc2NvcGU6ICVzIgorCisjOiBpZl9jc2NvcGUuYzo1ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTI2MjogZXJyb3IgcmVhZGluZyBjc2NvcGUgY29ubmVjdGlvbiAlbGQiCittc2dzdHIgIkUyNjI6IGVhcnLhaWQgYWd1cyBhbiBuYXNjIGNzY29wZSAlbGQg4SBs6WFtaCIKKworIzogaWZfY3Njb3BlLmM6Njk0Cittc2dpZCAiRTU2MTogdW5rbm93biBjc2NvcGUgc2VhcmNoIHR5cGUiCittc2dzdHIgIkU1NjE6IGNpbmXhbCBhbmFpdGhuaWQgY3VhcmRhaWdoIGNzY29wZSIKKworIzogaWZfY3Njb3BlLmM6NzM2Cittc2dpZCAiRTU2NjogQ291bGQgbm90IGNyZWF0ZSBjc2NvcGUgcGlwZXMiCittc2dzdHIgIkU1NjY6IE7tb3JiaCBmaOlpZGlyIHDtb3Bh7SBjc2NvcGUgYSBjaHJ1dGj6IgorCisjOiBpZl9jc2NvcGUuYzo3NTMKK21zZ2lkICJFNjIyOiBDb3VsZCBub3QgZm9yayBmb3IgY3Njb3BlIgorbXNnc3RyICJFNjIyOiBO7W9yYmggZmjpaWRpciBmb3JjIGEgZGjpYW5hbWggbGUgaGFnaGFpZGggY3Njb3BlIgorCisjOiBpZl9jc2NvcGUuYzo4NDcgaWZfY3Njb3BlLmM6ODk3Cittc2dpZCAiY3NfY3JlYXRlX2Nvbm5lY3Rpb24gZXhlYyBmYWlsZWQiCittc2dzdHIgInRoZWlwIGFyIHJpdGggY3NfY3JlYXRlX2Nvbm5lY3Rpb24iCisKKyM6IGlmX2NzY29wZS5jOjg5OAorbXNnaWQgIkU2MjM6IENvdWxkIG5vdCBzcGF3biBjc2NvcGUgcHJvY2VzcyIKK21zZ3N0ciAiRTYyMzogTu1vcmJoIGZo6WlkaXIgcHLzaXNlYXMgY3Njb3BlIGEgc2NlaXRoZWFkaCIKKworIzogaWZfY3Njb3BlLmM6OTExCittc2dpZCAiY3NfY3JlYXRlX2Nvbm5lY3Rpb246IGZkb3BlbiBmb3IgdG9fZnAgZmFpbGVkIgorbXNnc3RyICJjc19jcmVhdGVfY29ubmVjdGlvbjogdGhlaXAgYXIgZmRvcGVuIGxlIGhhZ2hhaWRoIHRvX2ZwIgorCisjOiBpZl9jc2NvcGUuYzo5MTMKK21zZ2lkICJjc19jcmVhdGVfY29ubmVjdGlvbjogZmRvcGVuIGZvciBmcl9mcCBmYWlsZWQiCittc2dzdHIgImNzX2NyZWF0ZV9jb25uZWN0aW9uOiB0aGVpcCBhciBmZG9wZW4gbGUgaGFnaGFpZGggZnJfZnAiCisKKyM6IGlmX2NzY29wZS5jOjk1MQorbXNnaWQgIkU1Njc6IG5vIGNzY29wZSBjb25uZWN0aW9ucyIKK21zZ3N0ciAiRTU2Nzogbu1sIGFvbiBuYXNjIGNzY29wZSBhbm4iCisKKyM6IGlmX2NzY29wZS5jOjEwMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTI1OTogbm8gbWF0Y2hlcyBmb3VuZCBmb3IgY3Njb3BlIHF1ZXJ5ICVzIG9mICVzIgorbXNnc3RyICIiCisiRTI1OTogbu1vciBhaW1z7W9kaCBhb24gcnVkIGNvbWhvaXJp+m5hY2ggbGVpcyBhbiBpYXJyYXRhcyBjc2NvcGUgJXMgZGUgJXMiCisKKyM6IGlmX2NzY29wZS5jOjEwODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTQ2OTogaW52YWxpZCBjc2NvcGVxdWlja2ZpeCBmbGFnICVjIGZvciAlYyIKK21zZ3N0ciAiRTQ2OTogYnJhdCBuZWFtaGJoYWls7SBjc2NvcGVxdWlja2ZpeCAlYyBsZSBoYWdoYWlkaCAlYyIKKworIzogaWZfY3Njb3BlLmM6MTE1MgorbXNnaWQgImNzY29wZSBjb21tYW5kczpcbiIKK21zZ3N0ciAiT3JkdWl0aGUgY3Njb3BlOlxuIgorCisjOiBpZl9jc2NvcGUuYzoxMTU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiUtNXM6ICUtMzBzIChVc2FnZTogJXMpIgorbXNnc3RyICIlLTVzOiAlLTMwcyAo2nPhaWQ6ICVzKSIKKworIzogaWZfY3Njb3BlLmM6MTI1MworIywgYy1mb3JtYXQKK21zZ2lkICJFNjI1OiBjYW5ub3Qgb3BlbiBjc2NvcGUgZGF0YWJhc2U6ICVzIgorbXNnc3RyICJFNjI1OiBu7SBm6WlkaXIgYnVuYWNoYXIgc29ucmHtIGNzY29wZSBhIG9zY2FpbHQ6ICVzIgorCisjOiBpZl9jc2NvcGUuYzoxMjcxCittc2dpZCAiRTYyNjogY2Fubm90IGdldCBjc2NvcGUgZGF0YWJhc2UgaW5mb3JtYXRpb24iCittc2dzdHIgIkU2MjY6IG7tIGbpaWRpciBlb2xhcyBhIGZo4WlsIGZhb2luIGJodW5hY2hhciBzb25yYe0gY3Njb3BlIgorCisjOiBpZl9jc2NvcGUuYzoxMjk2Cittc2dpZCAiRTU2ODogZHVwbGljYXRlIGNzY29wZSBkYXRhYmFzZSBub3QgYWRkZWQiCittc2dzdHIgIkU1Njg6IG7tb3IgY3VpcmVhZGggYnVuYWNoYXIgc29ucmHtIGT6YmxhY2ggY3Njb3BlIGxlaXMiCisKKyM6IGlmX2NzY29wZS5jOjEzMDcKK21zZ2lkICJFNTY5OiBtYXhpbXVtIG51bWJlciBvZiBjc2NvcGUgY29ubmVjdGlvbnMgcmVhY2hlZCIKK21zZ3N0ciAiRTU2OTogbu0gY2hlYWRh7XRlYXIgbu1vcyBt8yBu4SB1YXNtaOlpZCBuYSBuYXNjIGNzY29wZSIKKworIzogaWZfY3Njb3BlLmM6MTQyNAorIywgYy1mb3JtYXQKK21zZ2lkICJFMjYxOiBjc2NvcGUgY29ubmVjdGlvbiAlcyBub3QgZm91bmQiCittc2dzdHIgIkUyNjE6IG5hc2MgY3Njb3BlICVzIGdhbiBhaW1zafoiCisKKyM6IGlmX2NzY29wZS5jOjE0NTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY3Njb3BlIGNvbm5lY3Rpb24gJXMgY2xvc2VkIgorbXNnc3RyICJE+m5hZGggbmFzYyBjc2NvcGUgJXMiCisKKyMuIHNob3VsZCBub3QgcmVhY2ggaGVyZQorIzogaWZfY3Njb3BlLmM6MTU5OAorbXNnaWQgIkU1NzA6IGZhdGFsIGVycm9yIGluIGNzX21hbmFnZV9tYXRjaGVzIgorbXNnc3RyICJFNTcwOiBlYXJy4WlkIG1oYXJmYWNoIGkgY3NfbWFuYWdlX21hdGNoZXMiCisKKyM6IGlmX2NzY29wZS5jOjE4NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ3Njb3BlIHRhZzogJXMiCittc2dzdHIgIkNsaWIgY3Njb3BlOiAlcyIKKworIzogaWZfY3Njb3BlLmM6MTg3MAorbXNnaWQgIiIKKyJcbiIKKyIgICAjICAgbGluZSIKK21zZ3N0ciAiIgorIlxuIgorIiAgICMgICBs7W5lIgorCisjOiBpZl9jc2NvcGUuYzoxODcyCittc2dpZCAiZmlsZW5hbWUgLyBjb250ZXh0IC8gbGluZVxuIgorbXNnc3RyICJhaW5tIGNvbWhhaWQgLyBjb21odGjpYWNzIC8gbO1uZVxuIgorCisjOiBpZl9jc2NvcGUuYzoxOTkwCisjLCBjLWZvcm1hdAorbXNnaWQgIkU2MDk6IENzY29wZSBlcnJvcjogJXMiCittc2dzdHIgIkU2MDk6IEVhcnLhaWQgY3Njb3BlOiAlcyIKKworIzogaWZfY3Njb3BlLmM6MjE3NgorbXNnaWQgIkFsbCBjc2NvcGUgZGF0YWJhc2VzIHJlc2V0IgorbXNnc3RyICJBdGhzaG9jcmHtb2RoIGdhY2ggYnVuYWNoYXIgc29ucmHtIGNzY29wZSIKKworIzogaWZfY3Njb3BlLmM6MjI0NAorbXNnaWQgIm5vIGNzY29wZSBjb25uZWN0aW9uc1xuIgorbXNnc3RyICJu7WwgYW9uIG5hc2MgY3Njb3BlXG4iCisKKyM6IGlmX2NzY29wZS5jOjIyNDgKK21zZ2lkICIgIyBwaWQgICAgZGF0YWJhc2UgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgcHJlcGVuZCBwYXRoXG4iCittc2dzdHIgIiAjIHBpZCAgICBhaW5tIGJ1bmFjaGFpciAgICAgICAgICAgICAgICAgICAgICAgY29uYWlyIHRob3NhaWdoXG4iCisKKyM6IGlmX216c2NoLmM6Nzg1Cittc2dpZCAiIgorIj8/PzogU29ycnksIHRoaXMgY29tbWFuZCBpcyBkaXNhYmxlZCwgdGhlIE16U2NoZW1lIGxpYnJhcnkgY291bGQgbm90IGJlICIKKyJsb2FkZWQuIgorbXNnc3RyICIiCisiPz8/OiBU4SBicvNuIG9ybSwgbu1sIGFuIHQtb3Jk+iBzZW8gbGUgZuFpbCwgbu1vcmJoIGZo6WlkaXIgYW4gbGVhYmhhcmxhbm4gIgorIk16U2NoZW1lIGEgbHVjaHT6LiIKKworIzogaWZfbXpzY2guYzoxMjIyIGlmX3B5dGhvbi5jOjEwODQgaWZfdGNsLmM6MTQwNgorbXNnaWQgImludmFsaWQgZXhwcmVzc2lvbiIKK21zZ3N0ciAic2xvbm4gbmVhbWhiaGFpbO0iCisKKyM6IGlmX216c2NoLmM6MTIzMCBpZl9weXRob24uYzoxMDk4IGlmX3RjbC5jOjE0MTEKK21zZ2lkICJleHByZXNzaW9ucyBkaXNhYmxlZCBhdCBjb21waWxlIHRpbWUiCittc2dzdHIgImTtY2h1bWFzYe1vZGggc2xvaW5uIGFnIGFtIGFuIHRpb21zYWl0aGUiCisKKyM6IGlmX216c2NoLmM6MTMxNworbXNnaWQgImhpZGRlbiBvcHRpb24iCittc2dzdHIgInJvZ2hhIGZob2xhaXRoZSIKKworIzogaWZfbXpzY2guYzoxMzE5IGlmX3RjbC5jOjUwNQorbXNnaWQgInVua25vd24gb3B0aW9uIgorbXNnc3RyICJyb2doYSBhbmFpdGhuaWQiCisKKyM6IGlmX216c2NoLmM6MTQ2OAorbXNnaWQgIndpbmRvdyBpbmRleCBpcyBvdXQgb2YgcmFuZ2UiCittc2dzdHIgImlubulhY3MgZnVpbm5lb2lnZSBhcyByYW9uIgorCisjOiBpZl9tenNjaC5jOjE2MjMKK21zZ2lkICJjb3VsZG4ndCBvcGVuIGJ1ZmZlciIKK21zZ3N0ciAibu0gZulpZGlyIG1hb2zhbiBhIG9zY2FpbHQiCisKKyM6IGlmX216c2NoLmM6MTg4OCBpZl9tenNjaC5jOjE5MTQgaWZfbXpzY2guYzoxOTg5IGlmX216c2NoLmM6MjAzOAorIzogaWZfbXpzY2guYzoyMTQ3IGlmX216c2NoLmM6MjE5MCBpZl9weXRob24uYzoyMzExIGlmX3B5dGhvbi5jOjIzNDUKKyM6IGlmX3B5dGhvbi5jOjI0MDAgaWZfcHl0aG9uLmM6MjQ2OCBpZl9weXRob24uYzoyNTkwIGlmX3B5dGhvbi5jOjI2NDIKKyM6IGlmX3RjbC5jOjY4OCBpZl90Y2wuYzo3MzMgaWZfdGNsLmM6ODA3IGlmX3RjbC5jOjg3NyBpZl90Y2wuYzoyMDAzCittc2dpZCAiY2Fubm90IHNhdmUgdW5kbyBpbmZvcm1hdGlvbiIKK21zZ3N0ciAibu0gZulpZGlyIGVvbGFzIGNlYWxhaXRoZSBhIHNo4WJo4WlsIgorCisjOiBpZl9tenNjaC5jOjE4OTMgaWZfbXpzY2guYzoxOTk3IGlmX216c2NoLmM6MjA1MSBpZl9weXRob24uYzoyMzEzCisjOiBpZl9weXRob24uYzoyNDA3IGlmX3B5dGhvbi5jOjI0NzkKK21zZ2lkICJjYW5ub3QgZGVsZXRlIGxpbmUiCittc2dzdHIgIm7tIGbpaWRpciBhbiBs7W5lIGEgc2NyaW9zYWRoIgorCisjOiBpZl9tenNjaC5jOjE5MTkgaWZfbXpzY2guYzoyMDY1IGlmX3B5dGhvbi5jOjIzNTAgaWZfcHl0aG9uLmM6MjQ5NQorIzogaWZfdGNsLmM6Njk0IGlmX3RjbC5jOjIwMjUKK21zZ2lkICJjYW5ub3QgcmVwbGFjZSBsaW5lIgorbXNnc3RyICJu7SBm6WlkaXIgYW4gbO1uZSBhIGF0aGNodXIiCisKKyM6IGlmX216c2NoLmM6MjA3OSBpZl9tenNjaC5jOjIxNTIgaWZfbXpzY2guYzoyMTk5IGlmX3B5dGhvbi5jOjI1MTMKKyM6IGlmX3B5dGhvbi5jOjI1OTIgaWZfcHl0aG9uLmM6MjY1MAorbXNnaWQgImNhbm5vdCBpbnNlcnQgbGluZSIKK21zZ3N0ciAibu0gZulpZGlyIGztbmUgYSBpb25z4SIKKworIzogaWZfbXpzY2guYzoyMjk1IGlmX3B5dGhvbi5jOjI3NjIKK21zZ2lkICJzdHJpbmcgY2Fubm90IGNvbnRhaW4gbmV3bGluZXMiCittc2dzdHIgIm7tIGNoZWFkYe10ZWFyIGNhcmFjaHRhaXIgbO1uZSBudWEgc2EgdGVhZ2hy4W4iCisKKyM6IGlmX216c2NoLmM6MjM3OAorbXNnaWQgIlZpbSBlcnJvcjogfmEiCittc2dzdHIgImVhcnLhaWQgVmltOiB+YSIKKworIzogaWZfbXpzY2guYzoyMzg3Cittc2dpZCAiVmltIGVycm9yIgorbXNnc3RyICJlYXJy4WlkIFZpbSIKKworIzogaWZfbXpzY2guYzoyNDQzCittc2dpZCAiYnVmZmVyIGlzIGludmFsaWQiCittc2dzdHIgIm1hb2zhbiBuZWFtaGJoYWls7SIKKworIzogaWZfbXpzY2guYzoyNDUyCittc2dpZCAid2luZG93IGlzIGludmFsaWQiCittc2dzdHIgImZ1aW5uZW9nIG5lYW1oYmhhaWztIgorCisjOiBpZl9tenNjaC5jOjI0NzIKK21zZ2lkICJsaW5lbnIgb3V0IG9mIHJhbmdlIgorbXNnc3RyICJs7W5lLXVpbWhpciBhcyByYW9uIgorCisjOiBpZl9weXRob24uYzo0MzgKK21zZ2lkICIiCisiRTI2MzogU29ycnksIHRoaXMgY29tbWFuZCBpcyBkaXNhYmxlZCwgdGhlIFB5dGhvbiBsaWJyYXJ5IGNvdWxkIG5vdCBiZSAiCisibG9hZGVkLiIKK21zZ3N0ciAiIgorIkUyNjM6IFThIGJy824gb3JtLCBu7WwgYW4gdC1vcmT6IHNlbyBsZSBm4WlsLCBu7W9yYmggZmjpaWRpciBhbiBsZWFiaGFybGFubiAiCisiUHl0aG9uIGEgbHVjaHT6LiIKKworIzogaWZfcHl0aG9uLmM6NTA0Cittc2dpZCAiRTY1OTogQ2Fubm90IGludm9rZSBQeXRob24gcmVjdXJzaXZlbHkiCittc2dzdHIgIkU2NTk6IE7tIGbpaWRpciBQeXRob24gYSByaXRoIGdvIGhhdGhjaPpyc2FjaCIKKworIzogaWZfcHl0aG9uLmM6NzA1Cittc2dpZCAiY2FuJ3QgZGVsZXRlIE91dHB1dE9iamVjdCBhdHRyaWJ1dGVzIgorbXNnc3RyICJu7SBm6WlkaXIgdHLpaXRoZSBPdXRwdXRPYmplY3QgYSBzY3Jpb3NhZGgiCisKKyM6IGlmX3B5dGhvbi5jOjcxMgorbXNnaWQgInNvZnRzcGFjZSBtdXN0IGJlIGFuIGludGVnZXIiCittc2dzdHIgIm7tIGZvbOFpciBzb2Z0c3BhY2UgYSBiaGVpdGggaW5hIHNobOFudWltaGlyIgorCisjOiBpZl9weXRob24uYzo3MjAKK21zZ2lkICJpbnZhbGlkIGF0dHJpYnV0ZSIKK21zZ3N0ciAiYWl0cmVhYvppZCBuZWFtaGJoYWls7SIKKworIzogaWZfcHl0aG9uLmM6NzU5IGlmX3B5dGhvbi5jOjc3MworbXNnaWQgIndyaXRlbGluZXMoKSByZXF1aXJlcyBsaXN0IG9mIHN0cmluZ3MiCittc2dzdHIgImxpb3N0YSB0ZWFnaHLhbiBhZyB0ZWFzdOFpbCDzIHdyaXRlbGluZXMoKSIKKworIzogaWZfcHl0aG9uLmM6ODk5Cittc2dpZCAiRTI2NDogUHl0aG9uOiBFcnJvciBpbml0aWFsaXNpbmcgSS9PIG9iamVjdHMiCittc2dzdHIgIkUyNjQ6IFB5dGhvbjogRWFycuFpZCBhZ3VzIHLpYWRhIEkvQSDhIGR0+nP6IgorCisjOiBpZl9weXRob24uYzoxMTExCittc2dpZCAiYXR0ZW1wdCB0byByZWZlciB0byBkZWxldGVkIGJ1ZmZlciIKK21zZ3N0ciAicmlubmVhZGggaWFycmFjaHQgYXIgbWhhb2zhbiBzY3Jpb3N0YSBhIHJvY2h0YWluIgorCisjOiBpZl9weXRob24uYzoxMTI2IGlmX3B5dGhvbi5jOjExNjcgaWZfcHl0aG9uLmM6MTIzMSBpZl90Y2wuYzoxMjE4Cittc2dpZCAibGluZSBudW1iZXIgb3V0IG9mIHJhbmdlIgorbXNnc3RyICJs7W5lLXVpbWhpciBhcyByYW9uIgorCisjOiBpZl9weXRob24uYzoxMzY2CisjLCBjLWZvcm1hdAorbXNnaWQgIjxidWZmZXIgb2JqZWN0IChkZWxldGVkKSBhdCAlOGxYPiIKK21zZ3N0ciAiPG1hb2zhbiAoc2NyaW9zdGEpIGFnICU4bFg+IgorCisjOiBpZl9weXRob24uYzoxNDU3IGlmX3RjbC5jOjg0MAorbXNnaWQgImludmFsaWQgbWFyayBuYW1lIgorbXNnc3RyICJhaW5tIG5lYW1oYmhhaWztIG1haXJjIgorCisjOiBpZl9weXRob24uYzoxNzM3Cittc2dpZCAibm8gc3VjaCBidWZmZXIiCittc2dzdHIgIm7tbCBhIGxlaXRo6WlkIGRlIG1oYW9s4W4gYW5uIgorCisjOiBpZl9weXRob24uYzoxODI1Cittc2dpZCAiYXR0ZW1wdCB0byByZWZlciB0byBkZWxldGVkIHdpbmRvdyIKK21zZ3N0ciAicmlubmVhZGggaWFycmFjaHQgYXIgZmh1aW5uZW9nIHNjcmlvc3RhIGEgcm9jaHRhaW4iCisKKyM6IGlmX3B5dGhvbi5jOjE4NzAKK21zZ2lkICJyZWFkb25seSBhdHRyaWJ1dGUiCittc2dzdHIgInRy6Wl0aCBs6WltaC1hbWjhaW4iCisKKyM6IGlmX3B5dGhvbi5jOjE4ODMKK21zZ2lkICJjdXJzb3IgcG9zaXRpb24gb3V0c2lkZSBidWZmZXIiCittc2dzdHIgImP6cnPzaXIgdGFvYmggYW11aWdoIGRlbiBtaGFvbOFuIgorCisjOiBpZl9weXRob24uYzoxOTYwCisjLCBjLWZvcm1hdAorbXNnaWQgIjx3aW5kb3cgb2JqZWN0IChkZWxldGVkKSBhdCAlLjhsWD4iCittc2dzdHIgIjxmdWlubmVvZyAoc2NyaW9zdGEpIGFnICUuOGxYPiIKKworIzogaWZfcHl0aG9uLmM6MTk3MgorIywgYy1mb3JtYXQKK21zZ2lkICI8d2luZG93IG9iamVjdCAodW5rbm93bikgYXQgJS44bFg+IgorbXNnc3RyICI8ZnVpbm5lb2cgKGFuYWl0aG5pZCkgYWcgJS44bFg+IgorCisjOiBpZl9weXRob24uYzoxOTc0CisjLCBjLWZvcm1hdAorbXNnaWQgIjx3aW5kb3cgJWQ+IgorbXNnc3RyICI8ZnVpbm5lb2cgJWQ+IgorCisjOiBpZl9weXRob24uYzoyMDUwCittc2dpZCAibm8gc3VjaCB3aW5kb3ciCittc2dzdHIgIm7tbCBhIGxlaXRo6WlkIGQnZmh1aW5uZW9nIGFubiIKKworIzogaWZfcnVieS5jOjQyMgorbXNnaWQgIiIKKyJFMjY2OiBTb3JyeSwgdGhpcyBjb21tYW5kIGlzIGRpc2FibGVkLCB0aGUgUnVieSBsaWJyYXJ5IGNvdWxkIG5vdCBiZSBsb2FkZWQuIgorbXNnc3RyICIiCisiRTI2NjogVOEgYnLzbiBvcm0sIG7tbCBhbiB0LW9yZPogc2VvIGxlIGbhaWwsIG7tb3JiaCBmaOlpZGlyIGFuIGxlYWJoYXJsYW5uICIKKyJSdWJ5IGEgbHVjaHT6LiIKKworIzogaWZfcnVieS5jOjQ4NQorIywgYy1mb3JtYXQKK21zZ2lkICJFMjczOiB1bmtub3duIGxvbmdqbXAgc3RhdHVzICVkIgorbXNnc3RyICJFMjczOiBzdOFkYXMgYW5haXRobmlkIGxvbmdqbXAgJWQiCisKKyM6IGlmX3NuaWZmLmM6NjcKK21zZ2lkICJUb2dnbGUgaW1wbGVtZW50YXRpb24vZGVmaW5pdGlvbiIKK21zZ3N0ciAiU2NvcuFuYWlnaCBmZWlkaG1p+i9zYWlubWjtbmn6IgorCisjOiBpZl9zbmlmZi5jOjY4Cittc2dpZCAiU2hvdyBiYXNlIGNsYXNzIG9mIgorbXNnc3RyICJUYWlzcGXhaW4gYW4gYnVuYWljbWUgZGUiCisKKyM6IGlmX3NuaWZmLmM6NjkKK21zZ2lkICJTaG93IG92ZXJyaWRkZW4gbWVtYmVyIGZ1bmN0aW9uIgorbXNnc3RyICJUYWlzcGXhaW4gYmFsbGZoZWlkaG0gc+FyYWl0aGUiCisKKyM6IGlmX3NuaWZmLmM6NzAKK21zZ2lkICJSZXRyaWV2ZSBmcm9tIGZpbGUiCittc2dzdHIgIkFpc2doYWJoIPMgY2hvbWhhZCIKKworIzogaWZfc25pZmYuYzo3MQorbXNnaWQgIlJldHJpZXZlIGZyb20gcHJvamVjdCIKK21zZ3N0ciAiQWlzZ2hhYmgg8yB0aGlvbnNjYWRhbCIKKworIzogaWZfc25pZmYuYzo3MworbXNnaWQgIlJldHJpZXZlIGZyb20gYWxsIHByb2plY3RzIgorbXNnc3RyICJBaXNnaGFiaCDzIGdhY2ggdGlvbnNjYWRhbCIKKworIzogaWZfc25pZmYuYzo3NAorbXNnaWQgIlJldHJpZXZlIgorbXNnc3RyICJBaXNnaGFiaCIKKworIzogaWZfc25pZmYuYzo3NQorbXNnaWQgIlNob3cgc291cmNlIG9mIgorbXNnc3RyICJUYWlzcGXhaW4gZm9pbnNlIgorCisjOiBpZl9zbmlmZi5jOjc2Cittc2dpZCAiRmluZCBzeW1ib2wiCittc2dzdHIgIkFpbXNpZ2ggc2lvbWJhaWwiCisKKyM6IGlmX3NuaWZmLmM6NzcKK21zZ2lkICJCcm93c2UgY2xhc3MiCittc2dzdHIgIkJyYWJoc+FpbCBhaWNtZSIKKworIzogaWZfc25pZmYuYzo3OAorbXNnaWQgIlNob3cgY2xhc3MgaW4gaGllcmFyY2h5IgorbXNnc3RyICJUYWlzcGXhaW4gYW4gYWljbWUgaW4gb3JkbGF0aGFzIgorCisjOiBpZl9zbmlmZi5jOjc5Cittc2dpZCAiU2hvdyBjbGFzcyBpbiByZXN0cmljdGVkIGhpZXJhcmNoeSIKK21zZ3N0ciAiVGFpc3Bl4WluIGFuIGFpY21lIGluIG9yZGxhdGhhcyBzcmlhbnRhIgorCisjOiBpZl9zbmlmZi5jOjgwCittc2dpZCAiWHJlZiByZWZlcnMgdG8iCittc2dzdHIgIlRhZ3Jh7W9ubiBYcmVmIGRvIgorCisjOiBpZl9zbmlmZi5jOjgxCittc2dpZCAiWHJlZiByZWZlcnJlZCBieSIKK21zZ3N0ciAiWHJlZiB0YWdhcnRoYSBhZyIKKworIzogaWZfc25pZmYuYzo4MgorbXNnaWQgIlhyZWYgaGFzIGEiCittc2dzdHIgIlJ1ZCBhdOEgYWcgWHJlZjoiCisKKyM6IGlmX3NuaWZmLmM6ODMKK21zZ2lkICJYcmVmIHVzZWQgYnkiCittc2dzdHIgIlhyZWYg4SD6c+FpZCBhZyIKKworIzogaWZfc25pZmYuYzo4NAorbXNnaWQgIlNob3cgZG9jdSBvZiIKK21zZ3N0ciAiVGFpc3Bl4WluIGVvbGFzIGZhb2kiCisKKyM6IGlmX3NuaWZmLmM6ODUKK21zZ2lkICJHZW5lcmF0ZSBkb2N1IGZvciIKK21zZ3N0ciAiR2luIGVvbGFzIGZhb2kiCisKKyM6IGlmX3NuaWZmLmM6OTcKK21zZ2lkICIiCisiQ2Fubm90IGNvbm5lY3QgdG8gU05pRkYrLiBDaGVjayBlbnZpcm9ubWVudCAoc25pZmZlbWFjcyBtdXN0IGJlIGZvdW5kIGluICIKKyIkUEFUSCkuXG4iCittc2dzdHIgIiIKKyJO7SBm6WlkaXIgbmFzYyBhIGRo6WFuYW1oIGxlIFNOaUZGKy4gU2VpY2XhaWwgZG8gY2h1aWQgYXRocvNnYSAiCisidGhpbXBlYWxsYWNodGEgKG7tIGZvbOFpciBzbmlmZmVtYWNzIGEgY2h1ciBpICRQQVRIKS5cbiIKKworIzogaWZfc25pZmYuYzo0MjUKK21zZ2lkICJFMjc0OiBTbmlmZjogRXJyb3IgZHVyaW5nIHJlYWQuIERpc2Nvbm5lY3RlZCIKK21zZ3N0ciAiRTI3NDogU25pZmY6IEVhcnLhaWQgc2EgbOlhbWguIETtbmFzY3RoYSIKKworIzogaWZfc25pZmYuYzo1NTMKK21zZ2lkICJTTmlGRisgaXMgY3VycmVudGx5ICIKK21zZ3N0ciAiU05pRkYrIHN04WRhcyBmYW9pIGzhdGhhaXI6ICIKKworIzogaWZfc25pZmYuYzo1NTUKK21zZ2lkICJub3QgIgorbXNnc3RyICJu7SAiCisKKyM6IGlmX3NuaWZmLmM6NTU2Cittc2dpZCAiY29ubmVjdGVkIgorbXNnc3RyICJuYXNjdGhhIgorCisjOiBpZl9zbmlmZi5jOjU5MgorIywgYy1mb3JtYXQKK21zZ2lkICJFMjc1OiBVbmtub3duIFNOaUZGKyByZXF1ZXN0OiAlcyIKK21zZ3N0ciAiRTI3NTogSWFycmF0YXMgYW5haXRobmlkIFNOaUZGKzogJXMiCisKKyM6IGlmX3NuaWZmLmM6NjA1Cittc2dpZCAiRTI3NjogRXJyb3IgY29ubmVjdGluZyB0byBTTmlGRisiCittc2dzdHIgIkUyNzY6IEVhcnLhaWQgYWcgbmFzY2FkaCBsZSBTTmlGRisiCisKKyM6IGlmX3NuaWZmLmM6MTAwOQorbXNnaWQgIkUyNzg6IFNOaUZGKyBub3QgY29ubmVjdGVkIgorbXNnc3RyICJFMjc4OiBTTmlGRisgZ2FuIG5hc2MiCisKKyM6IGlmX3NuaWZmLmM6MTAxOAorbXNnaWQgIkUyNzk6IE5vdCBhIFNOaUZGKyBidWZmZXIiCittc2dzdHIgIkUyNzk6IE7tIG1hb2zhbiBTTmlGRisg6SIKKworIzogaWZfc25pZmYuYzoxMDgzCittc2dpZCAiU25pZmY6IEVycm9yIGR1cmluZyB3cml0ZS4gRGlzY29ubmVjdGVkIgorbXNnc3RyICJTbmlmZjogRWFycuFpZCBzYSBzY3Ltb2JoLiBE7W5hc2N0aGEiCisKKyM6IGlmX3RjbC5jOjQyMgorbXNnaWQgImludmFsaWQgYnVmZmVyIG51bWJlciIKK21zZ3N0ciAidWltaGlyIG1oYW9s4WluIG5lYW1oYmhhaWztIgorCisjOiBpZl90Y2wuYzo0NjggaWZfdGNsLmM6OTM1IGlmX3RjbC5jOjExMTQKK21zZ2lkICJub3QgaW1wbGVtZW50ZWQgeWV0IgorbXNnc3RyICJu7WwgYXIgZuFpbCIKKworIy4gPz8/CisjOiBpZl90Y2wuYzo3NzgKK21zZ2lkICJjYW5ub3Qgc2V0IGxpbmUocykiCittc2dzdHIgIm7tIGbpaWRpciBs7W4odCllIGEgc2hvY3L6IgorCisjOiBpZl90Y2wuYzo4NDkKK21zZ2lkICJtYXJrIG5vdCBzZXQiCittc2dzdHIgIm1hcmMgZ2FuIHNvY3L6IgorCisjOiBpZl90Y2wuYzo4NTUgaWZfdGNsLmM6MTA3MAorIywgYy1mb3JtYXQKK21zZ2lkICJyb3cgJWQgY29sdW1uICVkIgorbXNnc3RyICJs7W5lICVkIGNvbPpuICVkIgorCisjOiBpZl90Y2wuYzo4ODUKK21zZ2lkICJjYW5ub3QgaW5zZXJ0L2FwcGVuZCBsaW5lIgorbXNnc3RyICJu7SBm6WlkaXIgbO1uZSBhIGNodXIgYW5uL2xlaXMiCisKKyM6IGlmX3RjbC5jOjEyNzIKK21zZ2lkICJ1bmtub3duIGZsYWc6ICIKK21zZ3N0ciAiYnJhdGFjaCBhbmFpdGhuaWQ6ICIKKworIzogaWZfdGNsLmM6MTM0MgorbXNnaWQgInVua25vd24gdmltT3B0aW9uIgorbXNnc3RyICJ2aW1PcHRpb24gYW5haXRobmlkIgorCisjOiBpZl90Y2wuYzoxNDI3Cittc2dpZCAia2V5Ym9hcmQgaW50ZXJydXB0IgorbXNnc3RyICJpZGlyYmhyaXNlYWRoIG3pYXJjaGzhaXIiCisKKyM6IGlmX3RjbC5jOjE0MzIKK21zZ2lkICJ2aW0gZXJyb3IiCittc2dzdHIgImVhcnLhaWQgdmltIgorCisjOiBpZl90Y2wuYzoxNDc1Cittc2dpZCAiY2Fubm90IGNyZWF0ZSBidWZmZXIvd2luZG93IGNvbW1hbmQ6IG9iamVjdCBpcyBiZWluZyBkZWxldGVkIgorbXNnc3RyICJu7SBm6WlkaXIgb3Jk+iBtYW9s4WluL2Z1aW5uZW9pZ2UgYSBjaHJ1dGj6OiBy6WFkIOEgc2NyaW9zYWRoIgorCisjOiBpZl90Y2wuYzoxNTQ5Cittc2dpZCAiIgorImNhbm5vdCByZWdpc3RlciBjYWxsYmFjayBjb21tYW5kOiBidWZmZXIvd2luZG93IGlzIGFscmVhZHkgYmVpbmcgZGVsZXRlZCIKK21zZ3N0ciAibu0gZulpZGlyIG9yZPogYWlzZ2hsYW9jaCBhIGNobOFy+jogbWFvbOFuL2Z1aW5uZW9nIOEgc2NyaW9zYWRoIGNoZWFuYSIKKworIy4gVGhpcyBzaG91bGQgbmV2ZXIgaGFwcGVuLiAgRmFtb3VzIGxhc3Qgd29yZD8KKyM6IGlmX3RjbC5jOjE1NjYKK21zZ2lkICIiCisiRTI4MDogVENMIEZBVEFMIEVSUk9SOiByZWZsaXN0IGNvcnJ1cHQhPyBQbGVhc2UgcmVwb3J0IHRoaXMgdG8gdmltLWRldkB2aW0uIgorIm9yZyIKK21zZ3N0ciAiIgorIkUyODA6IEVBUlLBSUQgTUhBUkZBQ0ggVENMOiBsaW9zdGEgdHJ1YWlsbGl0aGUgdGFnYXJ0aGEhPyBTZW9sIHR1YWlyaXNjICIKKyJmaGFiaHQgY2h1aWcgPHZpbS1kZXZAdmltLm9yZz4gbGUgZG8gdGhvaWwiCisKKyM6IGlmX3RjbC5jOjE1NjcKK21zZ2lkICJjYW5ub3QgcmVnaXN0ZXIgY2FsbGJhY2sgY29tbWFuZDogYnVmZmVyL3dpbmRvdyByZWZlcmVuY2Ugbm90IGZvdW5kIgorbXNnc3RyICIiCisibu0gZulpZGlyIG9yZPogYWlzZ2hsYW9jaCBhIGNobOFy+jogdGFnYWlydCBtaGFvbOFuL2ZodWlubmVvaWdlIGdhbiBhaW1zafoiCisKKyM6IGlmX3RjbC5jOjE3MjgKK21zZ2lkICIiCisiRTU3MTogU29ycnksIHRoaXMgY29tbWFuZCBpcyBkaXNhYmxlZDogdGhlIFRjbCBsaWJyYXJ5IGNvdWxkIG5vdCBiZSBsb2FkZWQuIgorbXNnc3RyICIiCisiRTU3MTogVOEgYnLzbiBvcm0sIG7tbCBhbiB0LW9yZPogc2VvIGxlIGbhaWwsIG7tb3JiaCBmaOlpZGlyIGFuIGxlYWJoYXJsYW5uICIKKyJUY2wgYSBsdWNodPouIgorCisjOiBpZl90Y2wuYzoxODkwCittc2dpZCAiIgorIkUyODE6IFRDTCBFUlJPUjogZXhpdCBjb2RlIGlzIG5vdCBpbnQhPyBQbGVhc2UgcmVwb3J0IHRoaXMgdG8gdmltLWRldkB2aW0ub3JnIgorbXNnc3RyICIiCisiRTI4MTogRUFSUsFJRCBUQ0w6IG7tbCBhbiBj82Qgc2NvcnRoYSBpbmEgc2hs4W51aW1oaXIhPyBTZW9sIHR1YWlyaXNjIGZoYWJodCAiCisiY2h1aWcgPHZpbS1kZXZAdmltLm9yZz4gbGUgZG8gdGhvaWwiCisKKyM6IGlmX3RjbC5jOjIwMTEKK21zZ2lkICJjYW5ub3QgZ2V0IGxpbmUiCittc2dzdHIgIm7tIGbpaWRpciBhbiBs7W5lIGEgZmjhaWwiCisKKyM6IGlmX3hjbWRzcnYuYzoyMzMKK21zZ2lkICJVbmFibGUgdG8gcmVnaXN0ZXIgYSBjb21tYW5kIHNlcnZlciBuYW1lIgorbXNnc3RyICJO7SBm6WlkaXIgYWlubSBmaHJlYXN0YWxh7SBvcmRhaXRoZSBhIGNobOFy+iIKKworIzogaWZfeGNtZHNydi5jOjQ4OQorbXNnaWQgIkUyNDg6IEZhaWxlZCB0byBzZW5kIGNvbW1hbmQgdG8gdGhlIGRlc3RpbmF0aW9uIHByb2dyYW0iCittc2dzdHIgIkUyNDg6IFRoZWlwIGFyIHNoZW9sYWRoIG9yZPogY2h1aWcgYW4gc3ByaW9jLWNobOFyIgorCisjOiBpZl94Y21kc3J2LmM6NzYyCisjLCBjLWZvcm1hdAorbXNnaWQgIkU1NzM6IEludmFsaWQgc2VydmVyIGlkIHVzZWQ6ICVzIgorbXNnc3RyICJFNTczOiBBaXRoZWFudGFzIG5lYW1oYmhhaWztIGZyZWFzdGFsYe0gaW4g+nPhaWQ6ICVzIgorCisjOiBpZl94Y21kc3J2LmM6MTEzMgorbXNnaWQgIkUyNTE6IFZJTSBpbnN0YW5jZSByZWdpc3RyeSBwcm9wZXJ0eSBpcyBiYWRseSBmb3JtZWQuICBEZWxldGVkISIKK21zZ3N0ciAiRTI1MTogQWly7SBt7WNodW10aGEgc2EgY2hs4XJsYW5uIOFpc2MgVklNLiAgU2NyaW9zdGEhIgorCisjOiBtYWluLmM6NjAKK21zZ2lkICJVbmtub3duIG9wdGlvbiIKK21zZ3N0ciAiUm9naGEgYW5haXRobmlkIgorCisjOiBtYWluLmM6NjIKK21zZ2lkICJUb28gbWFueSBlZGl0IGFyZ3VtZW50cyIKK21zZ3N0ciAiQW4gaW9tYXJjYSBhcmfzaW507SBlYWdyYWl0aGUiCisKKyM6IG1haW4uYzo2NAorbXNnaWQgIkFyZ3VtZW50IG1pc3NpbmcgYWZ0ZXIiCittc2dzdHIgIkFyZ/NpbnQgYXIgaWFycmFpZGggaSBuZGlhaWRoIgorCisjOiBtYWluLmM6NjYKK21zZ2lkICJHYXJiYWdlIGFmdGVyIG9wdGlvbiIKK21zZ3N0ciAiRHJhbWhh7WwgaSBuZGlhaWRoIHJvZ2hhIgorCisjOiBtYWluLmM6NjgKK21zZ2lkICJUb28gbWFueSBcIitjb21tYW5kXCIsIFwiLWMgY29tbWFuZFwiIG9yIFwiLS1jbWQgY29tbWFuZFwiIGFyZ3VtZW50cyIKK21zZ3N0ciAiIgorIkFuIGlvbWFyY2EgYXJn82ludO0gZGVuIGNoaW5l4WwgXCIrb3Jk+lwiLCBcIi1jIG9yZPpcIiBu8yBcIi0tY21kIG9yZPpcIiIKKworIzogbWFpbi5jOjcwCittc2dpZCAiSW52YWxpZCBhcmd1bWVudCBmb3IiCittc2dzdHIgIkFyZ/NpbnQgbmVhbWhiaGFpbO0gZG8iCisKKyM6IG1haW4uYzo0ODEKK21zZ2lkICJUaGlzIFZpbSB3YXMgbm90IGNvbXBpbGVkIHdpdGggdGhlIGRpZmYgZmVhdHVyZS4iCittc2dzdHIgIk7tb3IgdGlvbXNh7W9kaCBhbiBsZWFnYW4gVmltIHNlbyBsZSBgZGlmZicgYXIgZuFpbC4iCisKKyM6IG1haW4uYzo5NTgKK21zZ2lkICJBdHRlbXB0IHRvIG9wZW4gc2NyaXB0IGZpbGUgYWdhaW46IFwiIgorbXNnc3RyICJE6WFuIGlhcnJhY2h0IGFyIG9zY2FpbHQgbmEgc2NyaXB0ZSBhcu1zOiBcIiIKKworIzogbWFpbi5jOjk2NworbXNnaWQgIkNhbm5vdCBvcGVuIGZvciByZWFkaW5nOiBcIiIKK21zZ3N0ciAiTu0gZulpZGlyIOkgYSBvc2NhaWx0IGNodW4gbOlhbWg6IFwiIgorCisjOiBtYWluLmM6MTAyMQorbXNnaWQgIkNhbm5vdCBvcGVuIGZvciBzY3JpcHQgb3V0cHV0OiBcIiIKK21zZ3N0ciAiTu0gZulpZGlyIGEgb3NjYWlsdCBsZSBoYWdoYWlkaCBhbiBhc2NodWlyIHNjcmlwdGU6IFwiIgorCisjOiBtYWluLmM6MTE4OQorIywgYy1mb3JtYXQKK21zZ2lkICIlZCBmaWxlcyB0byBlZGl0XG4iCittc2dzdHIgIiVkIGNvbWhhZCBsZSBoZWFncvpcbiIKKworIzogbWFpbi5jOjEyOTkKK21zZ2lkICJWaW06IEVycm9yOiBGYWlsdXJlIHRvIHN0YXJ0IGd2aW0gZnJvbSBOZXRCZWFuc1xuIgorbXNnc3RyICJWaW06IEVhcnLhaWQ6IFRoZWlwIGFyIHRob3P6IGd2aW0g8yBOZXRCZWFuc1xuIgorCisjOiBtYWluLmM6MTMwNAorbXNnaWQgIlZpbTogV2FybmluZzogT3V0cHV0IGlzIG5vdCB0byBhIHRlcm1pbmFsXG4iCittc2dzdHIgIlZpbTogUmFiaGFkaDogTu1sIGFuIHQtYXNjaHVyIGFnIGR1bCBjaHVpZyB0ZWlybWlu6WFsXG4iCisKKyM6IG1haW4uYzoxMzA2Cittc2dpZCAiVmltOiBXYXJuaW5nOiBJbnB1dCBpcyBub3QgZnJvbSBhIHRlcm1pbmFsXG4iCittc2dzdHIgIlZpbTogUmFiaGFkaDogTu1sIGFuIHQtaW9uY2h1ciBhZyB0ZWFjaHQg8yB0aGVpcm1pbulhbFxuIgorCisjLiBqdXN0IGluIGNhc2UuLgorIzogbWFpbi5jOjEzNzQKK21zZ2lkICJwcmUtdmltcmMgY29tbWFuZCBsaW5lIgorbXNnc3RyICJs7W5lIG5hIG4tb3JkdWl0aGUgcHJlLXZpbXJjIgorCisjOiBtYWluLmM6MTQxNQorIywgYy1mb3JtYXQKK21zZ2lkICJFMjgyOiBDYW5ub3QgcmVhZCBmcm9tIFwiJXNcIiIKK21zZ3N0ciAiRTI4MjogTu0gZulpZGlyIGzpYW1oIPMgXCIlc1wiIgorCisjOiBtYWluLmM6MjUwMQorbXNnaWQgIiIKKyJcbiIKKyJNb3JlIGluZm8gd2l0aDogXCJ2aW0gLWhcIlxuIgorbXNnc3RyICIiCisiXG4iCisiVHVpbGxlYWRoIGVvbGFpczogXCJ2aW0gLWhcIlxuIgorCisjOiBtYWluLmM6MjUzNAorbXNnaWQgIltmaWxlIC4uXSAgICAgICBlZGl0IHNwZWNpZmllZCBmaWxlKHMpIgorbXNnc3RyICJbY29taGFkIC4uXSAgICAgICBjdWlyIG5hIGNvbWhhaWQgY2VhcHRoYSBpbiBlYWdhciIKKworIzogbWFpbi5jOjI1MzUKK21zZ2lkICItICAgICAgICAgICAgICAgcmVhZCB0ZXh0IGZyb20gc3RkaW4iCittc2dzdHIgIi0gICAgICAgICAgICAgICBzY3Ltb2JoIHTpYWNzIPMgc3RkaW4iCisKKyM6IG1haW4uYzoyNTM2Cittc2dpZCAiLXQgdGFnICAgICAgICAgIGVkaXQgZmlsZSB3aGVyZSB0YWcgaXMgZGVmaW5lZCIKK21zZ3N0ciAiLXQgdGFnICAgICAgICAgIGN1aXIgYW4gY29taGFkIGluYSBiaGZ1aWwgYW4gY2hsaWIgaW4gZWFnYXIiCisKKyM6IG1haW4uYzoyNTM4Cittc2dpZCAiLXEgW2Vycm9yZmlsZV0gIGVkaXQgZmlsZSB3aXRoIGZpcnN0IGVycm9yIgorbXNnc3RyICItcSBbY29taGFkZWFycl0gY3VpciBjb21oYWQgbGVpcyBhbiBjaOlhZCBlYXJy4WlkIGluIGVhZ2FyIgorCisjOiBtYWluLmM6MjU0NworbXNnaWQgIiIKKyJcbiIKKyJcbiIKKyJ1c2FnZToiCittc2dzdHIgIiIKKyJcbiIKKyJcbiIKKyL6c+FpZDoiCisKKyM6IG1haW4uYzoyNTUwCittc2dpZCAiIHZpbSBbYXJndW1lbnRzXSAiCittc2dzdHIgIiB2aW0gW2FyZ/NpbnTtXSAiCisKKyM6IG1haW4uYzoyNTU0Cittc2dpZCAiIgorIlxuIgorIiAgIG9yOiIKK21zZ3N0ciAiIgorIlxuIgorIiAgIG7zOiIKKworIzogbWFpbi5jOjI1NTcKK21zZ2lkICJ3aGVyZSBjYXNlIGlzIGlnbm9yZWQgcHJlcGVuZCAvIHRvIG1ha2UgZmxhZyB1cHBlciBjYXNlIgorbXNnc3RyICIiCisibnVhaXIgbmFjaCBj4XPtb2dhaXIg6SwgY3VpciAvIGFyIHRvc2FjaCBicmFpdCBjaHVuIGPhcyB1YWNodGFpciBhIPpz4WlkIgorCisjOiBtYWluLmM6MjU2MAorbXNnaWQgIiIKKyJcbiIKKyJcbiIKKyJBcmd1bWVudHM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJcbiIKKyJBcmfzaW507TpcbiIKKworIzogbWFpbi5jOjI1NjEKK21zZ2lkICItLVx0XHRcdE9ubHkgZmlsZSBuYW1lcyBhZnRlciB0aGlzIgorbXNnc3RyICItLVx0XHRcdE7tIGNoZWFkYe10ZWFyIGFjaCBhaW5tbmVhY2hhIGNvbWhhaWQgaSBuZGlhaWRoIOkgc2VvIgorCisjOiBtYWluLmM6MjU2MworbXNnaWQgIi0tbGl0ZXJhbFx0XHREb24ndCBleHBhbmQgd2lsZGNhcmRzIgorbXNnc3RyICItLWxpdGVyYWxcdFx0TuEgbGVhdGhuYWlnaCBzYW9y82dhIgorCisjOiBtYWluLmM6MjU2NgorbXNnaWQgIi1yZWdpc3Rlclx0XHRSZWdpc3RlciB0aGlzIGd2aW0gZm9yIE9MRSIKK21zZ3N0ciAiLXJlZ2lzdGVyXHRcdENs4XJhaWdoIGFuIGd2aW0gc2VvIGxlIGhhZ2hhaWRoIE9MRSIKKworIzogbWFpbi5jOjI1NjcKK21zZ2lkICItdW5yZWdpc3Rlclx0XHRVbnJlZ2lzdGVyIGd2aW0gZm9yIE9MRSIKK21zZ3N0ciAiLXVucmVnaXN0ZXJcdFx0RO1jaGzhcmFpZ2ggYW4gZ3ZpbSBzZW8gbGUgaGFnaGFpZGggT0xFIgorCisjOiBtYWluLmM6MjU3MAorbXNnaWQgIi1nXHRcdFx0UnVuIHVzaW5nIEdVSSAobGlrZSBcImd2aW1cIikiCittc2dzdHIgIi1nXHRcdFx0Uml0aCBhZ3VzIPpz4WlkIGFuIEdVSSAobWFyIFwiZ3ZpbVwiKSIKKworIzogbWFpbi5jOjI1NzEKK21zZ2lkICItZiAgb3IgIC0tbm9mb3JrXHRGb3JlZ3JvdW5kOiBEb24ndCBmb3JrIHdoZW4gc3RhcnRpbmcgR1VJIgorbXNnc3RyICItZiAgbvMgIC0tbm9mb3JrXHRUdWxyYTogTuEgZOlhbiBmb3JjIGFndXMgYW4gR1VJIOEgdGhvc/oiCisKKyM6IG1haW4uYzoyNTczCittc2dpZCAiLXZcdFx0XHRWaSBtb2RlIChsaWtlIFwidmlcIikiCittc2dzdHIgIi12XHRcdFx0TfNkIFZpIChtYXIgXCJ2aVwiKSIKKworIzogbWFpbi5jOjI1NzQKK21zZ2lkICItZVx0XHRcdEV4IG1vZGUgKGxpa2UgXCJleFwiKSIKK21zZ3N0ciAiLWVcdFx0XHRN82QgRXggKG1hciBcImV4XCIpIgorCisjOiBtYWluLmM6MjU3NQorbXNnaWQgIi1zXHRcdFx0U2lsZW50IChiYXRjaCkgbW9kZSAob25seSBmb3IgXCJleFwiKSIKK21zZ3N0ciAiLXNcdFx0XHRN82QgY2n6aW4gKGJhaXNjcGhy82lzZeFsYSkgKGRvIFwiZXhcIiBhbWjhaW4pIgorCisjOiBtYWluLmM6MjU3NworbXNnaWQgIi1kXHRcdFx0RGlmZiBtb2RlIChsaWtlIFwidmltZGlmZlwiKSIKK21zZ3N0ciAiLWRcdFx0XHRN82QgZGlmZiAobWFyIFwidmltZGlmZlwiKSIKKworIzogbWFpbi5jOjI1NzkKK21zZ2lkICIteVx0XHRcdEVhc3kgbW9kZSAobGlrZSBcImV2aW1cIiwgbW9kZWxlc3MpIgorbXNnc3RyICIteVx0XHRcdE3zZCDpYXNjYSAobWFyIFwiZXZpbVwiLCBnYW4gbWjzaWQpIgorCisjOiBtYWluLmM6MjU4MAorbXNnaWQgIi1SXHRcdFx0UmVhZG9ubHkgbW9kZSAobGlrZSBcInZpZXdcIikiCittc2dzdHIgIi1SXHRcdFx0TfNkIGzpaW1oIGFtaOFpbiAobWFyIFwidmlld1wiKSIKKworIzogbWFpbi5jOjI1ODEKK21zZ2lkICItWlx0XHRcdFJlc3RyaWN0ZWQgbW9kZSAobGlrZSBcInJ2aW1cIikiCittc2dzdHIgIi1aXHRcdFx0TfNkIHNyaWFudGEgKG1hciBcInJ2aW1cIikiCisKKyM6IG1haW4uYzoyNTgyCittc2dpZCAiLW1cdFx0XHRNb2RpZmljYXRpb25zICh3cml0aW5nIGZpbGVzKSBub3QgYWxsb3dlZCIKK21zZ3N0ciAiLW1cdFx0XHRO7SBjaGVhZGHtdGVhciBhdGhydWl0aGUgKC5pLiBzY3Ltb2JoIG5hIGdjb21oYWQpIgorCisjOiBtYWluLmM6MjU4MworbXNnaWQgIi1NXHRcdFx0TW9kaWZpY2F0aW9ucyBpbiB0ZXh0IG5vdCBhbGxvd2VkIgorbXNnc3RyICItTVx0XHRcdE7tIGNoZWFkYe10ZWFyIGF0aHJ1aXRoZSBzYSB06WFjcyIKKworIzogbWFpbi5jOjI1ODQKK21zZ2lkICItYlx0XHRcdEJpbmFyeSBtb2RlIgorbXNnc3RyICItYlx0XHRcdE3zZCBk6W7hcnRoYSIKKworIzogbWFpbi5jOjI1ODYKK21zZ2lkICItbFx0XHRcdExpc3AgbW9kZSIKK21zZ3N0ciAiLWxcdFx0XHRN82QgTGlzcCIKKworIzogbWFpbi5jOjI1ODgKK21zZ2lkICItQ1x0XHRcdENvbXBhdGlibGUgd2l0aCBWaTogJ2NvbXBhdGlibGUnIgorbXNnc3RyICItQ1x0XHRcdENvbWhvaXJp+m5hY2ggbGUgVmk6ICdjb21wYXRpYmxlJyIKKworIzogbWFpbi5jOjI1ODkKK21zZ2lkICItTlx0XHRcdE5vdCBmdWxseSBWaSBjb21wYXRpYmxlOiAnbm9jb21wYXRpYmxlJyIKK21zZ3N0ciAiLU5cdFx0XHRO7SBjb21ob2lyafpuYWl0aGUgbGUgVmkgZ28gaGlvbWzhbjogJ25vY29tcGF0aWJsZSciCisKKyM6IG1haW4uYzoyNTkwCittc2dpZCAiLVZbTl1cdFx0VmVyYm9zZSBsZXZlbCIKK21zZ3N0ciAiLVZbTl1cdFx0Rm9jbGFjaGFzIgorCisjOiBtYWluLmM6MjU5MQorbXNnaWQgIi1EXHRcdFx0RGVidWdnaW5nIG1vZGUiCittc2dzdHIgIi1EXHRcdFx0TfNkIGTtZmhhYmh0YWl0aGUiCisKKyM6IG1haW4uYzoyNTkyCittc2dpZCAiLW5cdFx0XHRObyBzd2FwIGZpbGUsIHVzZSBtZW1vcnkgb25seSIKK21zZ3N0ciAiLW5cdFx0XHRO4SBo+nPhaWQgY29taGFkIGJhYmh04WxhIC5pLiBu4SBo+nPhaWQgYWNoIGFuIGNodWltaG5lIgorCisjOiBtYWluLmM6MjU5MworbXNnaWQgIi1yXHRcdFx0TGlzdCBzd2FwIGZpbGVzIGFuZCBleGl0IgorbXNnc3RyICItclx0XHRcdFRhaXNwZeFpbiBjb21oYWlkIGJoYWJodOFsYSBhZ3VzIHNjb2lyIgorCisjOiBtYWluLmM6MjU5NAorbXNnaWQgIi1yICh3aXRoIGZpbGUgbmFtZSlcdFJlY292ZXIgY3Jhc2hlZCBzZXNzaW9uIgorbXNnc3RyICItciAobGUgaGFpbm0gY29taGFpZClcdEF0aHNobOFuYWlnaCDzIGNobGlzZWFkaCIKKworIzogbWFpbi5jOjI1OTUKK21zZ2lkICItTFx0XHRcdFNhbWUgYXMgLXIiCittc2dzdHIgIi1MXHRcdFx0QXIgY29taGJocu0gbGUgLXIiCisKKyM6IG1haW4uYzoyNTk3Cittc2dpZCAiLWZcdFx0XHREb24ndCB1c2UgbmV3Y2xpIHRvIG9wZW4gd2luZG93IgorbXNnc3RyICItZlx0XHRcdE7hIGj6c+FpZCBuZXdjbGkgY2h1biBmdWlubmVvZyBhIG9zY2FpbHQiCisKKyM6IG1haW4uYzoyNTk4Cittc2dpZCAiLWRldiA8ZGV2aWNlPlx0XHRVc2UgPGRldmljZT4gZm9yIEkvTyIKK21zZ3N0ciAiLWRldiA8Z2zpYXM+XHRcdEJhaW4g+nPhaWQgYXMgPGds6WFzPiBkbyBJL0EiCisKKyM6IG1haW4uYzoyNjAxCittc2dpZCAiLUFcdFx0XHRzdGFydCBpbiBBcmFiaWMgbW9kZSIKK21zZ3N0ciAiLUFcdFx0XHR0b3NhaWdoIHNhIG1o82QgQXJhaWJpc2UiCisKKyM6IG1haW4uYzoyNjA0Cittc2dpZCAiLUhcdFx0XHRTdGFydCBpbiBIZWJyZXcgbW9kZSIKK21zZ3N0ciAiLUhcdFx0XHRUb3NhaWdoIHNhIG1o82QgRWFiaHJhaXNlIgorCisjOiBtYWluLmM6MjYwNworbXNnaWQgIi1GXHRcdFx0U3RhcnQgaW4gRmFyc2kgbW9kZSIKK21zZ3N0ciAiLUZcdFx0XHRUb3NhaWdoIHNhIG1o82QgUGhlaXJzaXNlIgorCisjOiBtYWluLmM6MjYwOQorbXNnaWQgIi1UIDx0ZXJtaW5hbD5cdFNldCB0ZXJtaW5hbCB0eXBlIHRvIDx0ZXJtaW5hbD4iCittc2dzdHIgIi1UIDx0ZWlybWlu6WFsPlx0U29jcmFpZ2ggY2luZeFsIHRlaXJtaW7pYWwiCisKKyM6IG1haW4uYzoyNjEwCittc2dpZCAiLXUgPHZpbXJjPlx0XHRVc2UgPHZpbXJjPiBpbnN0ZWFkIG9mIGFueSAudmltcmMiCittc2dzdHIgIi11IDx2aW1yYz5cdFx02nPhaWQgPHZpbXJjPiBpbiBpb25hZCBhb24gLnZpbXJjIgorCisjOiBtYWluLmM6MjYxMgorbXNnaWQgIi1VIDxndmltcmM+XHRcdFVzZSA8Z3ZpbXJjPiBpbnN0ZWFkIG9mIGFueSAuZ3ZpbXJjIgorbXNnc3RyICItVSA8Z3ZpbXJjPlx0XHRCYWluIPpz4WlkIGFzIDxndmltcmM+IGluIGlvbmFkIGFvbiAuZ3ZpbXJjIgorCisjOiBtYWluLmM6MjYxNAorbXNnaWQgIi0tbm9wbHVnaW5cdFx0RG9uJ3QgbG9hZCBwbHVnaW4gc2NyaXB0cyIKK21zZ3N0ciAiLS1ub3BsdWdpblx0XHRO4SBsdWNodGFpZ2ggYnJlaXNl4WluIgorCisjOiBtYWluLmM6MjYxNQorbXNnaWQgIi1vW05dXHRcdE9wZW4gTiB3aW5kb3dzIChkZWZhdWx0OiBvbmUgZm9yIGVhY2ggZmlsZSkiCittc2dzdHIgIi1vW05dXHRcdE9zY2FpbCBOIGZ1aW5uZW9nIChy6WFtaHNob2Ny+jogY2Vhbm4gZG8gZ2FjaCBjb21oYWQpIgorCisjOiBtYWluLmM6MjYxNgorbXNnaWQgIi1PW05dXHRcdExpa2UgLW8gYnV0IHNwbGl0IHZlcnRpY2FsbHkiCittc2dzdHIgIi1PW05dXHRcdE1hciAtbywgYWNoIHJvaW5uIGdvIGhpbmdlYXJhY2giCisKKyM6IG1haW4uYzoyNjE3Cittc2dpZCAiK1x0XHRcdFN0YXJ0IGF0IGVuZCBvZiBmaWxlIgorbXNnc3RyICIrXHRcdFx0VG9zYWlnaCBhZyBhbiBjaG9taGFkY2hy7W9jaCIKKworIzogbWFpbi5jOjI2MTgKK21zZ2lkICIrPGxudW0+XHRcdFN0YXJ0IGF0IGxpbmUgPGxudW0+IgorbXNnc3RyICIrPGxudW0+XHRcdFRvc2FpZ2ggYXIgbO1uZSA8bG51bT4iCisKKyM6IG1haW4uYzoyNjIwCittc2dpZCAiLS1jbWQgPGNvbW1hbmQ+XHRFeGVjdXRlIDxjb21tYW5kPiBiZWZvcmUgbG9hZGluZyBhbnkgdmltcmMgZmlsZSIKK21zZ3N0ciAiLS1jbWQgPG9yZPo+XHRSaXRoIDxvcmT6PiByb2ltaCBhb24gY2hvbWhhZCB2aW1yYyBhIGx1Y2h0+iIKKworIzogbWFpbi5jOjI2MjIKK21zZ2lkICItYyA8Y29tbWFuZD5cdFx0RXhlY3V0ZSA8Y29tbWFuZD4gYWZ0ZXIgbG9hZGluZyB0aGUgZmlyc3QgZmlsZSIKK21zZ3N0ciAiLWMgPG9yZPo+XHRcdFJpdGggPG9yZPo+IGkgbmRpYWlkaCBsdWNodPogYW4gY2jpYWQgY2hvbWhhZCIKKworIzogbWFpbi5jOjI2MjMKK21zZ2lkICItUyA8c2Vzc2lvbj5cdFx0U291cmNlIGZpbGUgPHNlc3Npb24+IGFmdGVyIGxvYWRpbmcgdGhlIGZpcnN0IGZpbGUiCittc2dzdHIgIiIKKyItUyA8c2Vpc2n6bj5cdFx0TOlpZ2ggY29taGFkIDxzZWlzafpuPiBpIG5kaWFpZGggYW4gY2jpYWQgY2hvbWhhZCDhIGzpYW1oIgorCisjOiBtYWluLmM6MjYyNAorbXNnaWQgIi1zIDxzY3JpcHRpbj5cdFJlYWQgTm9ybWFsIG1vZGUgY29tbWFuZHMgZnJvbSBmaWxlIDxzY3JpcHRpbj4iCittc2dzdHIgIi1zIDxzY3JpcHQ+XHRM6WlnIG9yZHVpdGhlIGdu4XRobWjzaWQg824gY2hvbWhhZCA8c2NyaXB0PiIKKworIzogbWFpbi5jOjI2MjUKK21zZ2lkICItdyA8c2NyaXB0b3V0Plx0QXBwZW5kIGFsbCB0eXBlZCBjb21tYW5kcyB0byBmaWxlIDxzY3JpcHRvdXQ+IgorbXNnc3RyICItdyA8c2NyaXB0Plx0Q3VpciBnYWNoIG9yZPogaW9udHLhaWx0ZSBsZWlzIGFuIGdjb21oYWQgPHNjcmlwdD4iCisKKyM6IG1haW4uYzoyNjI2Cittc2dpZCAiLVcgPHNjcmlwdG91dD5cdFdyaXRlIGFsbCB0eXBlZCBjb21tYW5kcyB0byBmaWxlIDxzY3JpcHRvdXQ+IgorbXNnc3RyICItVyA8YXNjaHVyPlx0U2Ny7W9iaCBnYWNoIG9yZPogY2zzc2Ny7W9mYSBzYSBjaG9taGFkIDxhc2NodXI+IgorCisjOiBtYWluLmM6MjYyOAorbXNnaWQgIi14XHRcdFx0RWRpdCBlbmNyeXB0ZWQgZmlsZXMiCittc2dzdHIgIi14XHRcdFx0Q3VpciBjb21oYWlkIGNocmlwdGl0aGUgaW4gZWFnYXIiCisKKyM6IG1haW4uYzoyNjMyCittc2dpZCAiLWRpc3BsYXkgPGRpc3BsYXk+XHRDb25uZWN0IHZpbSB0byB0aGlzIHBhcnRpY3VsYXIgWC1zZXJ2ZXIiCittc2dzdHIgIi1kaXNwbGF5IDxmcmVhc3RhbGHtPlx0Q2VhbmdhaWwgdmltIGxlaXMgYW4gYmhmcmVhc3RhbGHtLVggc2VvIgorCisjOiBtYWluLmM6MjYzNAorbXNnaWQgIi1YXHRcdFx0RG8gbm90IGNvbm5lY3QgdG8gWCBzZXJ2ZXIiCittc2dzdHIgIi1YXHRcdFx0TuEgbmFpc2MgbGVpcyBhbiBiaGZyZWFzdGFsYe0gWCIKKworIzogbWFpbi5jOjI2MzcKK21zZ2lkICItLXJlbW90ZSA8ZmlsZXM+XHRFZGl0IDxmaWxlcz4gaW4gYSBWaW0gc2VydmVyIGlmIHBvc3NpYmxlIgorbXNnc3RyICIiCisiLS1yZW1vdGUgPGNvbWhhaWQ+XHRDdWlyIDxjb21oYWlkPiBpbiBlYWdhciBsZSBmcmVhc3RhbGHtIFZpbSBt4XMgZulpZGlyIgorCisjOiBtYWluLmM6MjYzOAorbXNnaWQgIi0tcmVtb3RlLXNpbGVudCA8ZmlsZXM+ICBTYW1lLCBkb24ndCBjb21wbGFpbiBpZiB0aGVyZSBpcyBubyBzZXJ2ZXIiCittc2dzdHIgIiIKKyItLXJlbW90ZS1zaWxlbnQgPGNvbWhhaWQ+IE1hciBhbiBnY+lhbm5hLCBu4SBk6WFuIGdlYXLhbiBtdXJhIGJoZnVpbCAiCisiZnJlYXN0YWxh7SBhbm4iCisKKyM6IG1haW4uYzoyNjM5Cittc2dpZCAiIgorIi0tcmVtb3RlLXdhaXQgPGZpbGVzPiAgQXMgLS1yZW1vdGUgYnV0IHdhaXQgZm9yIGZpbGVzIHRvIGhhdmUgYmVlbiBlZGl0ZWQiCittc2dzdHIgIiIKKyItLXJlbW90ZS13YWl0IDxjb21oYWlkPiAgTWFyIC0tcmVtb3RlIGFjaCBmYW4gbGVpcyBuYSBjb21oYWlkIGEgYmhlaXRoICIKKyJjdXJ0aGEgaW4gZWFnYXIiCisKKyM6IG1haW4uYzoyNjQwCittc2dpZCAiIgorIi0tcmVtb3RlLXdhaXQtc2lsZW50IDxmaWxlcz4gIFNhbWUsIGRvbid0IGNvbXBsYWluIGlmIHRoZXJlIGlzIG5vIHNlcnZlciIKK21zZ3N0ciAiIgorIi0tcmVtb3RlLXdhaXQtc2lsZW50IDxjb21oYWlkPiAgTWFyIGFuIGdj6WFubmEsIG7hIGTpYW4gZ2VhcuFuIG11cmEgYmhmdWlsICIKKyJmcmVhc3RhbGHtIGFubiIKKworIzogbWFpbi5jOjI2NDEKK21zZ2lkICItLXJlbW90ZS1zZW5kIDxrZXlzPlx0U2VuZCA8a2V5cz4gdG8gYSBWaW0gc2VydmVyIGFuZCBleGl0IgorbXNnc3RyICIiCisiLS1yZW1vdGUtc2VuZCA8ZW9jaHJhY2hhPlx0U2VvbCA8ZW9jaHJhY2hhPiBjaHVpZyBmcmVhc3RhbGHtIFZpbSBhZ3VzIHNjb2lyIgorCisjOiBtYWluLmM6MjY0MgorbXNnaWQgIi0tcmVtb3RlLWV4cHIgPGV4cHI+XHRFdmFsdWF0ZSA8ZXhwcj4gaW4gYSBWaW0gc2VydmVyIGFuZCBwcmludCByZXN1bHQiCittc2dzdHIgIiIKKyItLXJlbW90ZS1leHByIDxzbG9ubj5cdE1lYXMgPHNsb25uPiBsZSBmcmVhc3RhbGHtIFZpbSBhZ3VzIHRhaXNwZeFpbiBhbiAiCisidG9yYWRoIgorCisjOiBtYWluLmM6MjY0MworbXNnaWQgIi0tc2VydmVybGlzdFx0XHRMaXN0IGF2YWlsYWJsZSBWaW0gc2VydmVyIG5hbWVzIGFuZCBleGl0IgorbXNnc3RyICItLXNlcnZlcmxpc3RcdFx0VGFpc3Bl4WluIGZyZWFzdGFsYWl0aGUgbGUgZuFpbCBhZ3VzIHNjb2lyIgorCisjOiBtYWluLmM6MjY0NAorbXNnaWQgIi0tc2VydmVybmFtZSA8bmFtZT5cdFNlbmQgdG8vYmVjb21lIHRoZSBWaW0gc2VydmVyIDxuYW1lPiIKK21zZ3N0ciAiLS1zZXJ2ZXJuYW1lIDxhaW5tPlx0U2VvbCBjaHVpZy9U6WlnaCBpIGRvIGZocmVhc3RhbGHtIFZpbSA8YWlubT4iCisKKyM6IG1haW4uYzoyNjQ3Cittc2dpZCAiLWkgPHZpbWluZm8+XHRcdFVzZSA8dmltaW5mbz4gaW5zdGVhZCBvZiAudmltaW5mbyIKK21zZ3N0ciAiLWkgPHZpbWluZm8+XHRcdNpz4WlkIDx2aW1pbmZvPiBpbiBpb25hZCAudmltaW5mbyIKKworIzogbWFpbi5jOjI2NDkKK21zZ2lkICItaCAgb3IgIC0taGVscFx0UHJpbnQgSGVscCAodGhpcyBtZXNzYWdlKSBhbmQgZXhpdCIKK21zZ3N0ciAiLWggIG7zICAtLWhlbHBcdFRhaXNwZeFpbiBhbiBjaGFiaGFpciBzZW8gYWd1cyBzY29pciIKKworIzogbWFpbi5jOjI2NTAKK21zZ2lkICItLXZlcnNpb25cdFx0UHJpbnQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdCIKK21zZ3N0ciAiLS12ZXJzaW9uXHRcdFRhaXNwZeFpbiBlb2xhcyBmYW9pbiBsZWFnYW4gYWd1cyBzY29pciIKKworIzogbWFpbi5jOjI2NTQKK21zZ2lkICIiCisiXG4iCisiQXJndW1lbnRzIHJlY29nbmlzZWQgYnkgZ3ZpbSAoTW90aWYgdmVyc2lvbik6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJBcmfzaW507SBhciBlb2xhcyBkbyBndmltIChsZWFnYW4gTW90aWYpOlxuIgorCisjOiBtYWluLmM6MjY1OAorbXNnaWQgIiIKKyJcbiIKKyJBcmd1bWVudHMgcmVjb2duaXNlZCBieSBndmltIChuZVh0YXcgdmVyc2lvbik6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJBcmfzaW507SBhciBlb2xhcyBkbyBndmltIChsZWFnYW4gbmVYdGF3KTpcbiIKKworIzogbWFpbi5jOjI2NjAKK21zZ2lkICIiCisiXG4iCisiQXJndW1lbnRzIHJlY29nbmlzZWQgYnkgZ3ZpbSAoQXRoZW5hIHZlcnNpb24pOlxuIgorbXNnc3RyICIiCisiXG4iCisiQXJn82ludO0gYXIgZW9sYXMgZG8gZ3ZpbSAobGVhZ2FuIEF0aGVuYSk6XG4iCisKKyM6IG1haW4uYzoyNjY0Cittc2dpZCAiLWRpc3BsYXkgPGRpc3BsYXk+XHRSdW4gdmltIG9uIDxkaXNwbGF5PiIKK21zZ3N0ciAiLWRpc3BsYXkgPHNj4WlsZeFuPlx0Uml0aCB2aW0gYXIgPHNj4WlsZeFuPiIKKworIzogbWFpbi5jOjI2NjUKK21zZ2lkICItaWNvbmljXHRcdFN0YXJ0IHZpbSBpY29uaWZpZWQiCittc2dzdHIgIi1pY29uaWNcdFx0VG9zYWlnaCB2aW0gc2EgbWjzZCDtb3NsYWdoZGFpdGhlIgorCisjOiBtYWluLmM6MjY2NworbXNnaWQgIi1uYW1lIDxuYW1lPlx0XHRVc2UgcmVzb3VyY2UgYXMgaWYgdmltIHdhcyA8bmFtZT4iCittc2dzdHIgIi1uYW1lIDxhaW5tPlx0XHTac+FpZCBhY21oYWlubiBtYXIgYSBiaGVhZGggdmltIDxhaW5tPiIKKworIzogbWFpbi5jOjI2NjgKK21zZ2lkICJcdFx0XHQgIChVbmltcGxlbWVudGVkKVxuIgorbXNnc3RyICJcdFx0XHQgIChO7WwgYXIgZuFpbClcbiIKKworIzogbWFpbi5jOjI2NzAKK21zZ2lkICItYmFja2dyb3VuZCA8Y29sb3I+XHRVc2UgPGNvbG9yPiBmb3IgdGhlIGJhY2tncm91bmQgKGFsc286IC1iZykiCittc2dzdHIgIi1iYWNrZ3JvdW5kIDxkYXRoPlx0QmFpbiD6c+FpZCBhcyA8ZGF0aD4gZG9uIGNo+mxyYSAoLWJnIGZvc3RhKSIKKworIzogbWFpbi5jOjI2NzEKK21zZ2lkICItZm9yZWdyb3VuZCA8Y29sb3I+XHRVc2UgPGNvbG9yPiBmb3Igbm9ybWFsIHRleHQgKGFsc286IC1mZykiCittc2dzdHIgIi1mb3JlZ3JvdW5kIDxkYXRoPlx02nPhaWQgPGRhdGg+IGxlIGhhZ2hhaWRoIGdu4XRodGjpYWNzIChmb3N0YTogLWZnKSIKKworIzogbWFpbi5jOjI2NzIgbWFpbi5jOjI2OTIgbWFpbi5jOjI3MDgKK21zZ2lkICItZm9udCA8Zm9udD5cdFx0VXNlIDxmb250PiBmb3Igbm9ybWFsIHRleHQgKGFsc286IC1mbikiCittc2dzdHIgIi1mb250IDxjbPM+XHRcdNpz4WlkIDxjbPM+IGxlIGhhZ2hhaWRoIGdu4XRodGjpYWNzIChmb3N0YTogLWZuKSIKKworIzogbWFpbi5jOjI2NzMKK21zZ2lkICItYm9sZGZvbnQgPGZvbnQ+XHRVc2UgPGZvbnQ+IGZvciBib2xkIHRleHQiCittc2dzdHIgIi1ib2xkZm9udCA8Y2zzPlx0QmFpbiD6c+FpZCBhcyA8Y2zzPiBkbyBjaGzzIHRyb20iCisKKyM6IG1haW4uYzoyNjc0Cittc2dpZCAiLWl0YWxpY2ZvbnQgPGZvbnQ+XHRVc2UgPGZvbnQ+IGZvciBpdGFsaWMgdGV4dCIKK21zZ3N0ciAiLWl0YWxpY2ZvbnQgPGNs8z5cdNpz4WlkIDxjbPM+IGxlIGhhZ2hhaWRoIHTpYWNzIGlvZOFsYWNoIgorCisjOiBtYWluLmM6MjY3NSBtYWluLmM6MjY5MyBtYWluLmM6MjcwOQorbXNnaWQgIi1nZW9tZXRyeSA8Z2VvbT5cdFVzZSA8Z2VvbT4gZm9yIGluaXRpYWwgZ2VvbWV0cnkgKGFsc286IC1nZW9tKSIKK21zZ3N0ciAiIgorIi1nZW9tZXRyeSA8Z2VvaW0+XHTac+FpZCA8Z2VvaW0+IGxlIGhhZ2hhaWRoIG5hIGPpaW1zZWF0YW4gdG9zYWlnaCAoZm9zdGE6IC0iCisiZ2VvbSkiCisKKyM6IG1haW4uYzoyNjc2Cittc2dpZCAiLWJvcmRlcndpZHRoIDx3aWR0aD5cdFVzZSBhIGJvcmRlciB3aWR0aCBvZiA8d2lkdGg+IChhbHNvOiAtYncpIgorbXNnc3RyICItYm9yZGVyd2lkdGggPGxlaXRoZWFkPlx0U29jcmFpZ2ggPGxlaXRoZWFkPiBuYSBoaW1s7W5lICgtYncgZm9zdGEpIgorCisjOiBtYWluLmM6MjY3NworbXNnaWQgIi1zY3JvbGxiYXJ3aWR0aCA8d2lkdGg+ICBVc2UgYSBzY3JvbGxiYXIgd2lkdGggb2YgPHdpZHRoPiAoYWxzbzogLXN3KSIKK21zZ3N0ciAiIgorIi1zY3JvbGxiYXJ3aWR0aCA8bGVpdGhlYWQ+IFNvY3JhaWdoIGxlaXRoZWFkIG5hIHNjcm9sbGJoYXJyYe0gYSBiaGVpdGggIgorIjxsZWl0aGVhZD4gKGZvc3RhOiAtc3cpIgorCisjOiBtYWluLmM6MjY3OQorbXNnaWQgIi1tZW51aGVpZ2h0IDxoZWlnaHQ+XHRVc2UgYSBtZW51IGJhciBoZWlnaHQgb2YgPGhlaWdodD4gKGFsc286IC1taCkiCittc2dzdHIgIiIKKyItbWVudWhlaWdodCA8YWlyZGU+XHRTb2NyYWlnaCBhaXJkZSBhbiBiaGFycmEgcm9naGNobOFpciBhIGJoZWl0aCA8YWlyZGU+ICIKKyIoZm9zdGE6IC1taCkiCisKKyM6IG1haW4uYzoyNjgxIG1haW4uYzoyNjk0Cittc2dpZCAiLXJldmVyc2VcdFx0VXNlIHJldmVyc2UgdmlkZW8gKGFsc286IC1ydikiCittc2dzdHIgIi1yZXZlcnNlXHRcdNpz4WlkIGbtcyBhaXNpb21wYWl0aGUgKGZvc3RhOiAtcnYpIgorCisjOiBtYWluLmM6MjY4MgorbXNnaWQgIityZXZlcnNlXHRcdERvbid0IHVzZSByZXZlcnNlIHZpZGVvIChhbHNvOiArcnYpIgorbXNnc3RyICIrcmV2ZXJzZVx0XHRO4SBo+nPhaWQgZu1zIGFpc2lvbXBhaXRoZSAoZm9zdGE6ICtydikiCisKKyM6IG1haW4uYzoyNjgzCittc2dpZCAiLXhybSA8cmVzb3VyY2U+XHRTZXQgdGhlIHNwZWNpZmllZCByZXNvdXJjZSIKK21zZ3N0ciAiLXhybSA8YWNtaGFpbm4+XHRTb2NyYWlnaCBhbiBhY21oYWlubiBzYWluaXRoZSIKKworIzogbWFpbi5jOjI2ODYKK21zZ2lkICIiCisiXG4iCisiQXJndW1lbnRzIHJlY29nbmlzZWQgYnkgZ3ZpbSAoUklTQyBPUyB2ZXJzaW9uKTpcbiIKK21zZ3N0ciAiIgorIlxuIgorIkFyZ/NpbnTtIGFyIGVvbGFzIGRvIGd2aW0gKGxlYWdhbiBSSVNDIE9TKTpcbiIKKworIzogbWFpbi5jOjI2ODcKK21zZ2lkICItLWNvbHVtbnMgPG51bWJlcj5cdEluaXRpYWwgd2lkdGggb2Ygd2luZG93IGluIGNvbHVtbnMiCittc2dzdHIgIi0tY29sdW1ucyA8dWltaGlyPlx0TGVpdGhlYWQgZnVpbm5lb2lnZSBpIGR0b3NhY2ggKGNvbPppbikiCisKKyM6IG1haW4uYzoyNjg4Cittc2dpZCAiLS1yb3dzIDxudW1iZXI+XHRJbml0aWFsIGhlaWdodCBvZiB3aW5kb3cgaW4gcm93cyIKK21zZ3N0ciAiLS1yb3dzIDx1aW1oaXI+XHRBaXJkZSBmaHVpbm5lb2lnZSBpIGR0b3NhY2ggKHLzbm5hKSIKKworIzogbWFpbi5jOjI2OTEKK21zZ2lkICIiCisiXG4iCisiQXJndW1lbnRzIHJlY29nbmlzZWQgYnkgZ3ZpbSAoR1RLKyB2ZXJzaW9uKTpcbiIKK21zZ3N0ciAiIgorIlxuIgorIkFyZ/NpbnTtIGFyIGVvbGFzIGRvIGd2aW0gKGxlYWdhbiBHVEsrKTpcbiIKKworIzogbWFpbi5jOjI2OTUKK21zZ2lkICItZGlzcGxheSA8ZGlzcGxheT5cdFJ1biB2aW0gb24gPGRpc3BsYXk+IChhbHNvOiAtLWRpc3BsYXkpIgorbXNnc3RyICItZGlzcGxheSA8c2PhaWxl4W4+XHRSaXRoIHZpbSBhciA8c2PhaWxl4W4+IChmb3N0YTogLS1kaXNwbGF5KSIKKworIzogbWFpbi5jOjI2OTcKK21zZ2lkICItLXJvbGUgPHJvbGU+XHRTZXQgYSB1bmlxdWUgcm9sZSB0byBpZGVudGlmeSB0aGUgbWFpbiB3aW5kb3ciCittc2dzdHIgIi0tcm9sZSA8cvNsPlx0U29jcmFpZ2ggcvNsIHNhaW5p+mlsIGNodW4gYW4gcGhy7W9taGZodWlubmVvZyBhIGFpdGhpbnQiCisKKyM6IG1haW4uYzoyNjk5Cittc2dpZCAiLS1zb2NrZXRpZCA8eGlkPlx0T3BlbiBWaW0gaW5zaWRlIGFub3RoZXIgR1RLIHdpZGdldCIKK21zZ3N0ciAiLS1zb2NrZXRpZCA8eGlkPlx0T3NjYWlsIFZpbSBpc3RlYWNoIGkgbmd1aXJs6WlkIEdUSyBlaWxlIgorCisjOiBtYWluLmM6MjcwMgorbXNnaWQgIiIKKyJcbiIKKyJBcmd1bWVudHMgcmVjb2duaXNlZCBieSBrdmltIChLREUgdmVyc2lvbik6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJBcmfzaW507SBhciBlb2xhcyBkbyBrdmltIChsZWFnYW4gS0RFKTpcbiIKKworIzogbWFpbi5jOjI3MDMKK21zZ2lkICItYmxhY2tcdFx0VXNlIHJldmVyc2UgdmlkZW8iCittc2dzdHIgIi1ibGFja1x0XHTac+FpZCBm7XMgYWlzaW9tcGFpdGhlIgorCisjOiBtYWluLmM6MjcwNQorbXNnaWQgIi10aXBcdFx0XHREaXNwbGF5IHRoZSB0aXAgZGlhbG9nIG9uIHN0YXJ0dXAiCittc2dzdHIgIi10aXBcdFx0XHRUYWlzcGXhaW4gYW4gZGlhbPNnIGxlaWRlIGFyIHRvc2FjaCIKKworIzogbWFpbi5jOjI3MDYKK21zZ2lkICItbm90aXBcdFx0RGlzYWJsZSB0aGUgdGlwIGRpYWxvZyIKK21zZ3N0ciAiLW5vdGlwXHRcdETtY2h1bWFzYWlnaCBhbiBkaWFs82cgbGVpZGUiCisKKyM6IG1haW4uYzoyNzEwCittc2dpZCAiLS1kaXNwbGF5IDxkaXNwbGF5Plx0UnVuIHZpbSBvbiA8ZGlzcGxheT4iCittc2dzdHIgIi0tZGlzcGxheSA8c2PhaWxl4W4+XHRSaXRoIHZpbSBhciA8c2PhaWxl4W4+IgorCisjOiBtYWluLmM6MjcxMworbXNnaWQgIi1QIDxwYXJlbnQgdGl0bGU+XHRPcGVuIFZpbSBpbnNpZGUgcGFyZW50IGFwcGxpY2F0aW9uIgorbXNnc3RyICItUCA8beF0aGFpcmNobOFyPlx0T3NjYWlsIFZpbSBpc3RlYWNoIHNhIG1o4XRoYWlyY2hs4XIiCisKKyM6IG1haW4uYzoyOTUxCittc2dpZCAiTm8gZGlzcGxheSIKK21zZ3N0ciAiR2FuIHRhaXNwZeFpbnQiCisKKyMuIEZhaWxlZCB0byBzZW5kLCBhYm9ydC4KKyM6IG1haW4uYzoyOTY2Cittc2dpZCAiOiBTZW5kIGZhaWxlZC5cbiIKK21zZ3N0ciAiOiBUaGVpcCBhciBzZW9sYWRoLlxuIgorCisjLiBMZXQgdmltIHN0YXJ0IG5vcm1hbGx5LgorIzogbWFpbi5jOjI5NzIKK21zZ2lkICI6IFNlbmQgZmFpbGVkLiBUcnlpbmcgdG8gZXhlY3V0ZSBsb2NhbGx5XG4iCittc2dzdHIgIjogVGhlaXAgYXIgc2VvbGFkaC4gQWcgYmFpbnQgdHJpYWlsIGFzIGdvIGxvZ+FudGFcbiIKKworIzogbWFpbi5jOjMwMTAgbWFpbi5jOjMwMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWQgb2YgJWQgZWRpdGVkIgorbXNnc3RyICIlZCBhcyAlZCBk6WFudGEiCisKKyM6IG1haW4uYzozMDUzCittc2dpZCAiTm8gZGlzcGxheTogU2VuZCBleHByZXNzaW9uIGZhaWxlZC5cbiIKK21zZ3N0ciAiR2FuIHRhaXNwZeFpbnQ6IFRoZWlwIGFyIHNoZW9sYWRoIHNsb2lubi5cbiIKKworIzogbWFpbi5jOjMwNjUKK21zZ2lkICI6IFNlbmQgZXhwcmVzc2lvbiBmYWlsZWQuXG4iCittc2dzdHIgIjogVGhlaXAgYXIgc2hlb2xhZGggc2xvaW5uLlxuIgorCisjOiBtYXJrLmM6NzA1Cittc2dpZCAiTm8gbWFya3Mgc2V0IgorbXNnc3RyICJO7WwgYW9uIG1oYXJjIHNvY3JhaXRoZSIKKworIzogbWFyay5jOjcwNworIywgYy1mb3JtYXQKK21zZ2lkICJFMjgzOiBObyBtYXJrcyBtYXRjaGluZyBcIiVzXCIiCittc2dzdHIgIkUyODM6IE7tbCBhb24gbWhhcmMgY29taG9pcmn6bmFpdGhlIGxlIFwiJXNcIiIKKworIy4gSGlnaGxpZ2h0IHRpdGxlCisjOiBtYXJrLmM6NzE4Cittc2dpZCAiIgorIlxuIgorIm1hcmsgbGluZSAgY29sIGZpbGUvdGV4dCIKK21zZ3N0ciAiIgorIlxuIgorIm1hcmMgbO1uZSAgY29sIGNvbWhhZC906WFjcyIKKworIy4gSGlnaGxpZ2h0IHRpdGxlCisjOiBtYXJrLmM6ODQxCittc2dpZCAiIgorIlxuIgorIiBqdW1wIGxpbmUgIGNvbCBmaWxlL3RleHQiCittc2dzdHIgIiIKKyJcbiIKKyIgbOlpbSBs7W5lICBjb2wgY29taGFkL3TpYWNzIgorCisjLiBIaWdobGlnaHQgdGl0bGUKKyM6IG1hcmsuYzo4ODYKK21zZ2lkICIiCisiXG4iCisiY2hhbmdlIGxpbmUgIGNvbCB0ZXh0IgorbXNnc3RyICIiCisiXG4iCisiYXRocvogIGztbmUgIGNvbCB06WFjcyIKKworIzogbWFyay5jOjEzNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIiMgRmlsZSBtYXJrczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIiMgTWFyY2FubmEgY29taGFpZDpcbiIKKworIy4gV3JpdGUgdGhlIGp1bXBsaXN0IHdpdGggLScKKyM6IG1hcmsuYzoxMzk3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIjIEp1bXBsaXN0IChuZXdlc3QgZmlyc3QpOlxuIgorbXNnc3RyICIiCisiXG4iCisiIyBMaW9zdGEgbOlpbWVhbm5hIChpcyBudWHtIGkgZHRvc2FjaCk6XG4iCisKKyM6IG1hcmsuYzoxNDkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIjIEhpc3Rvcnkgb2YgbWFya3Mgd2l0aGluIGZpbGVzIChuZXdlc3QgdG8gb2xkZXN0KTpcbiIKK21zZ3N0ciAiIgorIlxuIgorIiMgU3RhaXIgbmEgbWFyY2FubmEgaSBnY29taGFpZCAoaXMgbnVh7SBhciBkdPpzKTpcbiIKKworIzogbWFyay5jOjE1ODIKK21zZ2lkICJNaXNzaW5nICc+JyIKK21zZ3N0ciAiYD4nIGFyIGlhcnJhaWRoIgorCisjOiBtYnl0ZS5jOjQ3MAorbXNnaWQgIkU1NDM6IE5vdCBhIHZhbGlkIGNvZGVwYWdlIgorbXNnc3RyICJFNTQzOiBO7SBj82RsZWF0aGFuYWNoIGJhaWztIOkiCisKKyM6IG1ieXRlLmM6NDUwOQorbXNnaWQgIkUyODQ6IENhbm5vdCBzZXQgSUMgdmFsdWVzIgorbXNnc3RyICJFMjg0OiBO7SBm6WlkaXIgbHVhY2hhbm5hIElDIGEgc2hvY3L6IgorCisjOiBtYnl0ZS5jOjQ2NjUKK21zZ2lkICJFMjg1OiBGYWlsZWQgdG8gY3JlYXRlIGlucHV0IGNvbnRleHQiCittc2dzdHIgIkUyODU6IFRoZWlwIGFyIGNocnV0aPogY29taHRo6WFjcyBpb25jaHVpciIKKworIzogbWJ5dGUuYzo0ODIzCittc2dpZCAiRTI4NjogRmFpbGVkIHRvIG9wZW4gaW5wdXQgbWV0aG9kIgorbXNnc3RyICJFMjg2OiBUaGVpcCBhciBvc2NhaWx0IG1ob2RoIGlvbmNodWlyIgorCisjOiBtYnl0ZS5jOjQ4MzQKK21zZ2lkICJFMjg3OiBXYXJuaW5nOiBDb3VsZCBub3Qgc2V0IGRlc3Ryb3kgY2FsbGJhY2sgdG8gSU0iCittc2dzdHIgIkUyODc6IFJhYmhhZGg6IE7tb3JiaCBmaOlpZGlyIGFpc2dobGFvY2ggc2NyaW9zdGEgYSBzaG9jcvogbGUgSU0iCisKKyM6IG1ieXRlLmM6NDg0MAorbXNnaWQgIkUyODg6IGlucHV0IG1ldGhvZCBkb2Vzbid0IHN1cHBvcnQgYW55IHN0eWxlIgorbXNnc3RyICJFMjg4OiBO7SB0aGFjYe1vbm4gYW4gbW9kaCBpb25jaHVpciBhb24gc3TtbCIKKworIzogbWJ5dGUuYzo0ODk3Cittc2dpZCAiRTI4OTogaW5wdXQgbWV0aG9kIGRvZXNuJ3Qgc3VwcG9ydCBteSBwcmVlZGl0IHR5cGUiCittc2dzdHIgIkUyODk6IG7tIHRoYWNh7W9ubiBhbiBtb2RoIGlvbmNodWlyIG1vIGNoaW5l4WwgculhbWhlYWdhaXIiCisKKyM6IG1ieXRlLmM6NDk3MQorbXNnaWQgIkUyOTA6IG92ZXItdGhlLXNwb3Qgc3R5bGUgcmVxdWlyZXMgZm9udHNldCIKK21zZ3N0ciAiRTI5MDogdGFjYXIgY2zzIGFnIHRlYXN04WlsIPMgc3TtbCB0aGFyLWFuLXNwb3RhIgorCisjOiBtYnl0ZS5jOjUwMDcKK21zZ2lkICJFMjkxOiBZb3VyIEdUSysgaXMgb2xkZXIgdGhhbiAxLjIuMy4gU3RhdHVzIGFyZWEgZGlzYWJsZWQiCittc2dzdHIgIiIKKyJFMjkxOiBU4SBhbiBHVEsrIGF04SBhZ2F0IG7tb3Mgc2luZSBu4SBsZWFnYW4gMS4yLjMuIETtY2h1bWFzYe10ZWFyIGFuICIKKyJsaW1pc3TpYXIgc3ThZGFpcyIKKworIzogbWJ5dGUuYzo1MzE0Cittc2dpZCAiRTI5MjogSW5wdXQgTWV0aG9kIFNlcnZlciBpcyBub3QgcnVubmluZyIKK21zZ3N0ciAiRTI5MjogTu1sIGFuIEZyZWFzdGFsYe0gTWhvZGggSW9uY2h1aXIgYWcgcml0aCIKKworIzogbWVtZmlsZS5jOjQ4OAorbXNnaWQgIkUyOTM6IGJsb2NrIHdhcyBub3QgbG9ja2VkIgorbXNnc3RyICJFMjkzOiBu7SByYWliaCBhbiBibG9jIGZhb2kgZ2hsYXMiCisKKyM6IG1lbWZpbGUuYzoxMDEwCittc2dpZCAiRTI5NDogU2VlayBlcnJvciBpbiBzd2FwIGZpbGUgcmVhZCIKK21zZ3N0ciAiRTI5NDogRWFycuFpZCBjaHVhcmRhaWdoIGFndXMgY29taGFkIGJhYmh04WxhIOEgbOlhbWgiCisKKyM6IG1lbWZpbGUuYzoxMDE1Cittc2dpZCAiRTI5NTogUmVhZCBlcnJvciBpbiBzd2FwIGZpbGUiCittc2dzdHIgIkUyOTU6IEVhcnLhaWQgc2EgbOlhbWggaSBnY29taGFkIGJhYmh04WxhIgorCisjOiBtZW1maWxlLmM6MTA2NworbXNnaWQgIkUyOTY6IFNlZWsgZXJyb3IgaW4gc3dhcCBmaWxlIHdyaXRlIgorbXNnc3RyICJFMjk2OiBFYXJy4WlkIGNodWFyZGFpZ2ggYWd1cyBjb21oYWQgYmFiaHThbGEg4SBzY3Ltb2JoIgorCisjOiBtZW1maWxlLmM6MTA4NQorbXNnaWQgIkUyOTc6IFdyaXRlIGVycm9yIGluIHN3YXAgZmlsZSIKK21zZ3N0ciAiRTI5NzogRWFycuFpZCBzYSBzY3Ltb2JoIGkgZ2NvbWhhZCBiYWJodOFsYSIKKworIzogbWVtZmlsZS5jOjEyODIKK21zZ2lkICJFMzAwOiBTd2FwIGZpbGUgYWxyZWFkeSBleGlzdHMgKHN5bWxpbmsgYXR0YWNrPykiCittc2dzdHIgIkUzMDA6IFThIGNvbWhhZCBiYWJodOFsYSBhbm4gY2hlYW5hIChpb25zYe0gbGUgbmFpc2Mgc2hpb21iYWxhY2hhPykiCisKKyM6IG1lbWxpbmUuYzozMTAKK21zZ2lkICJFMjk4OiBEaWRuJ3QgZ2V0IGJsb2NrIG5yIDA/IgorbXNnc3RyICJFMjk4OiBO7SBiaGZ1YXJ0aGFzIGJsb2MgMD8iCisKKyM6IG1lbWxpbmUuYzozNTEKK21zZ2lkICJFMjk4OiBEaWRuJ3QgZ2V0IGJsb2NrIG5yIDE/IgorbXNnc3RyICJFMjk4OiBO7SBiaGZ1YXJ0aGFzIGJsb2MgYSBoYW9uPyIKKworIzogbWVtbGluZS5jOjM2OQorbXNnaWQgIkUyOTg6IERpZG4ndCBnZXQgYmxvY2sgbnIgMj8iCittc2dzdHIgIkUyOTg6IE7tIGJoZnVhcnRoYXMgYmxvYyBhIGTzPyIKKworIy4gY291bGQgbm90IChyZSlvcGVuIHRoZSBzd2FwIGZpbGUsIHdoYXQgY2FuIHdlIGRvPz8/PworIzogbWVtbGluZS5jOjQ4MgorbXNnaWQgIkUzMDE6IE9vcHMsIGxvc3QgdGhlIHN3YXAgZmlsZSEhISIKK21zZ3N0ciAiRTMwMTog2nBzLCBjYWlsbGVhZGggYW4gY29taGFkIGJhYmh04WxhISEhIgorCisjOiBtZW1saW5lLmM6NDg3Cittc2dpZCAiRTMwMjogQ291bGQgbm90IHJlbmFtZSBzd2FwIGZpbGUiCittc2dzdHIgIkUzMDI6IE7tb3JiaCBmaOlpZGlyIGFuIGNvbWhhZCBiYWJodOFsYSBhIGF0aGFpbm1uafoiCisKKyM6IG1lbWxpbmUuYzo1NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTMwMzogVW5hYmxlIHRvIG9wZW4gc3dhcCBmaWxlIGZvciBcIiVzXCIsIHJlY292ZXJ5IGltcG9zc2libGUiCittc2dzdHIgIiIKKyJFMzAzOiBO7SBm6WlkaXIgY29taGFkIGJhYmh04WxhIGxlIGhhZ2hhaWRoIFwiJXNcIiBhIG9zY2FpbHQsIG7tIGbpaWRpciAiCisiYXRoc2hs4W76IgorCisjOiBtZW1saW5lLmM6NjcwCittc2dpZCAiRTMwNDogbWxfdXBkX2Jsb2NrMCgpOiBEaWRuJ3QgZ2V0IGJsb2NrIDA/PyIKK21zZ3N0ciAiRTMwNDogbWxfdXBkX2Jsb2NrMCgpOiBO7SBiaGZ1YXJ0aGFzIGJsb2MgMD8/IgorCisjOiBtZW1saW5lLmM6ODcyCisjLCBjLWZvcm1hdAorbXNnaWQgIkUzMDU6IE5vIHN3YXAgZmlsZSBmb3VuZCBmb3IgJXMiCittc2dzdHIgIkUzMDU6IE7tb3IgYWltc+1vZGggY29taGFkIGJhYmh04WxhIGxlIGhhZ2hhaWRoICVzIgorCisjOiBtZW1saW5lLmM6ODgyCittc2dpZCAiRW50ZXIgbnVtYmVyIG9mIHN3YXAgZmlsZSB0byB1c2UgKDAgdG8gcXVpdCk6ICIKK21zZ3N0ciAiSW9udHLhaWwgdWltaGlyIGFuIGNob21oYWlkIGJhYmh04WxhIGxlIGj6c+FpZCAoMCA9IHNjb2lyKTogIgorCisjOiBtZW1saW5lLmM6OTI3CisjLCBjLWZvcm1hdAorbXNnaWQgIkUzMDY6IENhbm5vdCBvcGVuICVzIgorbXNnc3RyICJFMzA2OiBO7SBm6WlkaXIgJXMgYSBvc2NhaWx0IgorCisjOiBtZW1saW5lLmM6OTQ5Cittc2dpZCAiVW5hYmxlIHRvIHJlYWQgYmxvY2sgMCBmcm9tICIKK21zZ3N0ciAiTu0gZulpZGlyIGJsb2MgMCBhIGzpYW1oIPMgIgorCisjOiBtZW1saW5lLmM6OTUyCittc2dpZCAiIgorIlxuIgorIk1heWJlIG5vIGNoYW5nZXMgd2VyZSBtYWRlIG9yIFZpbSBkaWQgbm90IHVwZGF0ZSB0aGUgc3dhcCBmaWxlLiIKK21zZ3N0ciAiIgorIlxuIgorIkInZmjpaWRpciBuYWNoIHJhaWJoIGFvbiBhdGhy+iDhIGRo6WFuYW1oLCBu8yB04SBhbiBjb21oYWRcbiIKKyJiYWJodOFsYSBhcyBk4XRhLiIKKworIzogbWVtbGluZS5jOjk2MiBtZW1saW5lLmM6OTc5Cittc2dpZCAiIGNhbm5vdCBiZSB1c2VkIHdpdGggdGhpcyB2ZXJzaW9uIG9mIFZpbS5cbiIKK21zZ3N0ciAiIG7tbCBhciBm4WlsIGxlaXMgYW4gbGVhZ2FuIHNlbyBkZSBWaW0uXG4iCisKKyM6IG1lbWxpbmUuYzo5NjQKK21zZ2lkICJVc2UgVmltIHZlcnNpb24gMy4wLlxuIgorbXNnc3RyICJCYWluIPpz4WlkIGFzIFZpbSwgbGVhZ2FuIDMuMC5cbiIKKworIzogbWVtbGluZS5jOjk3MAorIywgYy1mb3JtYXQKK21zZ2lkICJFMzA3OiAlcyBkb2VzIG5vdCBsb29rIGxpa2UgYSBWaW0gc3dhcCBmaWxlIgorbXNnc3RyICJFMzA3OiBO7WwgJXMgY29z+mlsIGxlIGNvbWhhZCBiYWJodOFsYSBWaW0iCisKKyM6IG1lbWxpbmUuYzo5ODMKK21zZ2lkICIgY2Fubm90IGJlIHVzZWQgb24gdGhpcyBjb21wdXRlci5cbiIKK21zZ3N0ciAiIG7tbCBhciBm4WlsIGFyIGFuIHLtb21oYWlyZSBzZW8uXG4iCisKKyM6IG1lbWxpbmUuYzo5ODUKK21zZ2lkICJUaGUgZmlsZSB3YXMgY3JlYXRlZCBvbiAiCittc2dzdHIgIkNydXRoYe1vZGggYW4gY29taGFkIHNlbyBhciAiCisKKyM6IG1lbWxpbmUuYzo5ODkKK21zZ2lkICIiCisiLFxuIgorIm9yIHRoZSBmaWxlIGhhcyBiZWVuIGRhbWFnZWQuIgorbXNnc3RyICIiCisiLFxuIgorImlzIOkgc2luIG7zIHJpbm5lYWRoIGRhbeFpc3RlIGRvbiBjaG9taGFkLiIKKworIzogbWVtbGluZS5jOjEwMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNpbmcgc3dhcCBmaWxlIFwiJXNcIiIKK21zZ3N0ciAiQ29taGFkIGJhYmh04WxhIFwiJXNcIiDhIPpz4WlkIgorCisjOiBtZW1saW5lLmM6MTAyNAorIywgYy1mb3JtYXQKK21zZ2lkICJPcmlnaW5hbCBmaWxlIFwiJXNcIiIKK21zZ3N0ciAiQ29taGFkIGJ1bvpzYWNoIFwiJXNcIiIKKworIzogbWVtbGluZS5jOjEwMzcKK21zZ2lkICJFMzA4OiBXYXJuaW5nOiBPcmlnaW5hbCBmaWxlIG1heSBoYXZlIGJlZW4gY2hhbmdlZCIKK21zZ3N0ciAiRTMwODogUmFiaGFkaDogSXMgZulpZGlyIGd1ciBhdGhyYe1vZGggYW4gY29taGFkIGJ1bvpzYWNoIgorCisjOiBtZW1saW5lLmM6MTExMQorIywgYy1mb3JtYXQKK21zZ2lkICJFMzA5OiBVbmFibGUgdG8gcmVhZCBibG9jayAxIGZyb20gJXMiCittc2dzdHIgIkUzMDk6IE7tIGbpaWRpciBibG9jIGEgaGFvbiBhIGzpYW1oIPMgJXMiCisKKyM6IG1lbWxpbmUuYzoxMTE1Cittc2dpZCAiPz8/TUFOWSBMSU5FUyBNSVNTSU5HIgorbXNnc3RyICI/Pz9HTyBMRU9SIEzNTlRFIEFSIElBUlJBSURIIgorCisjOiBtZW1saW5lLmM6MTEzMQorbXNnaWQgIj8/P0xJTkUgQ09VTlQgV1JPTkciCittc2dzdHIgIj8/P0zNT04gTc1DSEVBUlQgTkEgTM1OVEUiCisKKyM6IG1lbWxpbmUuYzoxMTM4Cittc2dpZCAiPz8/RU1QVFkgQkxPQ0siCittc2dzdHIgIj8/P0JMT0MgRk9MQU1IIgorCisjOiBtZW1saW5lLmM6MTE2NAorbXNnaWQgIj8/P0xJTkVTIE1JU1NJTkciCittc2dzdHIgIj8/P0zNTlRFIEFSIElBUlJBSURIIgorCisjOiBtZW1saW5lLmM6MTE5NgorIywgYy1mb3JtYXQKK21zZ2lkICJFMzEwOiBCbG9jayAxIElEIHdyb25nICglcyBub3QgYSAuc3dwIGZpbGU/KSIKK21zZ3N0ciAiRTMxMDogQWl0aGVhbnRhcyBt7WNoZWFydCBhciBiaGxvYyBhIGhhb24gKG7tbCAlcyBpbmEgY2hvbWhhZCAuc3dwPykiCisKKyM6IG1lbWxpbmUuYzoxMjAxCittc2dpZCAiPz8/QkxPQ0sgTUlTU0lORyIKK21zZ3N0ciAiPz8/QkxPQyBBUiBJQVJSQUlESCIKKworIzogbWVtbGluZS5jOjEyMTcKK21zZ2lkICI/Pz8gZnJvbSBoZXJlIHVudGlsID8/P0VORCBsaW5lcyBtYXkgYmUgbWVzc2VkIHVwIgorbXNnc3RyICI/Pz8gaXMgZulpZGlyIGdvIG5kZWFybmFkaCBwcmFpc2VhY2ggZGUgbO1udGUg8yBhbnNlbyBnbyA/Pz9FTkQiCisKKyM6IG1lbWxpbmUuYzoxMjMzCittc2dpZCAiPz8/IGZyb20gaGVyZSB1bnRpbCA/Pz9FTkQgbGluZXMgbWF5IGhhdmUgYmVlbiBpbnNlcnRlZC9kZWxldGVkIgorbXNnc3RyICI/Pz8gaXMgZulpZGlyIGdvIGJoZnVpbCBs7W50ZSBpb25z4Wl0ZS9zY3Jpb3N0YSDzIGFuc2VvIGdvID8/P0VORCIKKworIzogbWVtbGluZS5jOjEyNTMKK21zZ2lkICI/Pz9FTkQiCittc2dzdHIgIj8/P0RFSVJFQURIIgorCisjOiBtZW1saW5lLmM6MTI3OQorbXNnaWQgIkUzMTE6IFJlY292ZXJ5IEludGVycnVwdGVkIgorbXNnc3RyICJFMzExOiBJZGlyYmhyaXNlYWRoIGFuIHQtYXRoc2hs4W76IgorCisjOiBtZW1saW5lLmM6MTI4NAorbXNnaWQgIiIKKyJFMzEyOiBFcnJvcnMgZGV0ZWN0ZWQgd2hpbGUgcmVjb3ZlcmluZzsgbG9vayBmb3IgbGluZXMgc3RhcnRpbmcgd2l0aCA/Pz8iCittc2dzdHIgIiIKKyJFMzEyOiBCcmFpdGhlYWRoIGVhcnLhaWTtIGxlIGxpbm4gYXRoc2hs4W5haXRoZTsgZulhY2ggYXIgbmEgbO1udGUgbGUgPz8/IGFyICIKKyJ0b3NhY2giCisKKyM6IG1lbWxpbmUuYzoxMjg2Cittc2dpZCAiU2VlIFwiOmhlbHAgRTMxMlwiIGZvciBtb3JlIGluZm9ybWF0aW9uLiIKK21zZ3N0ciAiQmFpbiB0cmlhaWwgYXMgXCI6aGVscCBFMzEyXCIgY2h1biB0dWlsbGVhZGggZW9sYWlzIGEgZmjhaWwuIgorCisjOiBtZW1saW5lLmM6MTI5MQorbXNnaWQgIlJlY292ZXJ5IGNvbXBsZXRlZC4gWW91IHNob3VsZCBjaGVjayBpZiBldmVyeXRoaW5nIGlzIE9LLiIKK21zZ3N0ciAiQXRoc2hs4W5h7W9kaC4gQmEgY2jzaXIgZHVpdCBnYWNoIHJ1ZCBhIHNoZWljZeFpbCB1YWlyIGFtaOFpbiBlaWxlLiIKKworIzogbWVtbGluZS5jOjEyOTIKK21zZ2lkICIiCisiXG4iCisiKFlvdSBtaWdodCB3YW50IHRvIHdyaXRlIG91dCB0aGlzIGZpbGUgdW5kZXIgYW5vdGhlciBuYW1lXG4iCittc2dzdHIgIiIKKyJcbiIKKyIoQidmaOlpZGlyIGd1ciBtaWFuIGxlYXQgYW4gY29taGFkIHNlbyBhIHNo4WJo4WlsIGRlIHLpaXIgYWlubSBlaWxlXG4iCisKKyM6IG1lbWxpbmUuYzoxMjkzCittc2dpZCAiYW5kIHJ1biBkaWZmIHdpdGggdGhlIG9yaWdpbmFsIGZpbGUgdG8gY2hlY2sgZm9yIGNoYW5nZXMpXG4iCittc2dzdHIgIiIKKyJhZ3VzIGTpYW4gY29tcGFy4WlkIGxlaXMgYW4gY2hvbWhhZCBidW76c2FjaCAobS5zaC4gbGUgYGRpZmYnKSBjaHVuICIKKyJhdGhydWl0aGUgYSBzY3L6ZPopXG4iCisKKyM6IG1lbWxpbmUuYzoxMjk0Cittc2dpZCAiIgorIkRlbGV0ZSB0aGUgLnN3cCBmaWxlIGFmdGVyd2FyZHMuXG4iCisiXG4iCittc2dzdHIgIiIKKyJTY3Jpb3MgYW4gY29taGFkIC5zd3AgdGFyIOlpcyBzaW4uXG4iCisiXG4iCisKKyMuIHVzZSBtc2coKSB0byBzdGFydCB0aGUgc2Nyb2xsaW5nIHByb3Blcmx5CisjOiBtZW1saW5lLmM6MTM1MAorbXNnaWQgIlN3YXAgZmlsZXMgZm91bmQ6IgorbXNnc3RyICJDb21oYWlkIGJoYWJodOFsYSBhaW1zaXRoZToiCisKKyM6IG1lbWxpbmUuYzoxNTI4Cittc2dpZCAiICAgSW4gY3VycmVudCBkaXJlY3Rvcnk6XG4iCittc2dzdHIgIiAgIFNhIGNob21oYWRsYW5uIHJlYXRoYTpcbiIKKworIzogbWVtbGluZS5jOjE1MzAKK21zZ2lkICIgICBVc2luZyBzcGVjaWZpZWQgbmFtZTpcbiIKK21zZ3N0ciAiICAgQWcgYmFpbnQg+nPhaWQgYXMgYWlubSBzb2NyYWl0aGU6XG4iCisKKyM6IG1lbWxpbmUuYzoxNTM0Cittc2dpZCAiICAgSW4gZGlyZWN0b3J5ICIKK21zZ3N0ciAiICAgU2EgY2hvbWhhZGxhbm4gIgorCisjOiBtZW1saW5lLmM6MTU1MgorbXNnaWQgIiAgICAgIC0tIG5vbmUgLS1cbiIKK21zZ3N0ciAiICAgICAgLS0gbmVhbWhu7SAtLVxuIgorCisjOiBtZW1saW5lLmM6MTYyNQorbXNnaWQgIiAgICAgICAgICBvd25lZCBieTogIgorbXNnc3RyICIgICAgICAgICAg+mlu6WlyOiAiCisKKyM6IG1lbWxpbmUuYzoxNjI3Cittc2dpZCAiICAgZGF0ZWQ6ICIKK21zZ3N0ciAiICAgZOF0YWl0aGU6ICIKKworIzogbWVtbGluZS5jOjE2MzEgbWVtbGluZS5jOjM4MzcKK21zZ2lkICIgICAgICAgICAgICAgZGF0ZWQ6ICIKK21zZ3N0ciAiICAgICAgICAgICAgIGThdGFpdGhlOiAiCisKKyM6IG1lbWxpbmUuYzoxNjQ3Cittc2dpZCAiICAgICAgICAgW2Zyb20gVmltIHZlcnNpb24gMy4wXSIKK21zZ3N0ciAiICAgICAgICAgW/MgbGVhZ2FuIDMuMCBWaW1dIgorCisjOiBtZW1saW5lLmM6MTY1MQorbXNnaWQgIiAgICAgICAgIFtkb2VzIG5vdCBsb29rIGxpa2UgYSBWaW0gc3dhcCBmaWxlXSIKK21zZ3N0ciAiICAgICAgICAgW27tIGNvc/ppbCBsZSBjb21oYWQgYmFiaHThbGEgVmltXSIKKworIzogbWVtbGluZS5jOjE2NTUKK21zZ2lkICIgICAgICAgICBmaWxlIG5hbWU6ICIKK21zZ3N0ciAiICAgICAgICAgYWlubSBjb21oYWlkOiAiCisKKyM6IG1lbWxpbmUuYzoxNjYxCittc2dpZCAiIgorIlxuIgorIiAgICAgICAgICBtb2RpZmllZDogIgorbXNnc3RyICIiCisiXG4iCisiICAgICAgICAgIG1vZGhuYWl0aGU6ICIKKworIzogbWVtbGluZS5jOjE2NjIKK21zZ2lkICJZRVMiCittc2dzdHIgIklTIFNFQSIKKworIzogbWVtbGluZS5jOjE2NjIKK21zZ2lkICJubyIKK21zZ3N0ciAibu0gaGVhIgorCisjOiBtZW1saW5lLmM6MTY2NgorbXNnaWQgIiIKKyJcbiIKKyIgICAgICAgICB1c2VyIG5hbWU6ICIKK21zZ3N0ciAiIgorIlxuIgorIiAgICAgICAgIPpz4WlkZW9pcjogIgorCisjOiBtZW1saW5lLmM6MTY3MworbXNnaWQgIiAgIGhvc3QgbmFtZTogIgorbXNnc3RyICIgICBhaW5tIGFuIPNzdHLtb21oYWlyZTogIgorCisjOiBtZW1saW5lLmM6MTY3NQorbXNnaWQgIiIKKyJcbiIKKyIgICAgICAgICBob3N0IG5hbWU6ICIKK21zZ3N0ciAiIgorIlxuIgorIiAgICAgICAgIPNzdGFpbm06ICIKKworIzogbWVtbGluZS5jOjE2ODEKK21zZ2lkICIiCisiXG4iCisiICAgICAgICBwcm9jZXNzIElEOiAiCittc2dzdHIgIiIKKyJcbiIKKyIgICAgICAgIFBJRDogIgorCisjOiBtZW1saW5lLmM6MTY4NworbXNnaWQgIiAoc3RpbGwgcnVubmluZykiCittc2dzdHIgIiAoYWcgcml0aCBm83MpIgorCisjOiBtZW1saW5lLmM6MTY5OQorbXNnaWQgIiIKKyJcbiIKKyIgICAgICAgICBbbm90IHVzYWJsZSB3aXRoIHRoaXMgdmVyc2lvbiBvZiBWaW1dIgorbXNnc3RyICIiCisiXG4iCisiICAgICAgICAgW27tIGlu+nPhaWR0ZSBsZWlzIGFuIGxlYWdhbiBzZW8gVmltXSIKKworIzogbWVtbGluZS5jOjE3MDIKK21zZ2lkICIiCisiXG4iCisiICAgICAgICAgW25vdCB1c2FibGUgb24gdGhpcyBjb21wdXRlcl0iCittc2dzdHIgIiIKKyJcbiIKKyIgICAgICAgICBbbu0gaW76c+FpZHRlIGFyIGFuIHLtb21oYWlyZSBzZW9dIgorCisjOiBtZW1saW5lLmM6MTcwNworbXNnaWQgIiAgICAgICAgIFtjYW5ub3QgYmUgcmVhZF0iCittc2dzdHIgIiAgICAgICAgIFtu7SBm6WlkaXIgYSBs6WFtaF0iCisKKyM6IG1lbWxpbmUuYzoxNzExCittc2dpZCAiICAgICAgICAgW2Nhbm5vdCBiZSBvcGVuZWRdIgorbXNnc3RyICIgICAgICAgICBbbu0gZulpZGlyIG9zY2FpbHRdIgorCisjOiBtZW1saW5lLmM6MTkwMQorbXNnaWQgIkUzMTM6IENhbm5vdCBwcmVzZXJ2ZSwgdGhlcmUgaXMgbm8gc3dhcCBmaWxlIgorbXNnc3RyICJFMzEzOiBO7SBm6WlkaXIg6SBhIGNoYW9taG76LCBu7WwgYW9uIGNob21oYWQgYmFiaHThbGEgYW5uIgorCisjOiBtZW1saW5lLmM6MTk1NAorbXNnaWQgIkZpbGUgcHJlc2VydmVkIgorbXNnc3RyICJDYW9taG5h7W9kaCBhbiBjb21oYWQiCisKKyM6IG1lbWxpbmUuYzoxOTU2Cittc2dpZCAiRTMxNDogUHJlc2VydmUgZmFpbGVkIgorbXNnc3RyICJFMzE0OiBUaGVpcCBhciBjaGFvbWhu+iIKKworIzogbWVtbGluZS5jOjIwMjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTMxNTogbWxfZ2V0OiBpbnZhbGlkIGxudW06ICVsZCIKK21zZ3N0ciAiRTMxNTogbWxfZ2V0OiBsbnVtIG5lYW1oYmhhaWztOiAlbGQiCisKKyM6IG1lbWxpbmUuYzoyMDUzCisjLCBjLWZvcm1hdAorbXNnaWQgIkUzMTY6IG1sX2dldDogY2Fubm90IGZpbmQgbGluZSAlbGQiCittc2dzdHIgIkUzMTY6IG1sX2dldDogbO1uZSAlbGQgZ2FuIGFpbXNp+iIKKworIzogbWVtbGluZS5jOjI0NDMKK21zZ2lkICJFMzE3OiBwb2ludGVyIGJsb2NrIGlkIHdyb25nIDMiCittc2dzdHIgIkUzMTc6IGFpdGhlYW50YXMgbe1jaGVhcnQgYXIgYW4gbWJsb2MgcG9pbnRlb3JhIDMiCisKKyM6IG1lbWxpbmUuYzoyNTIzCittc2dpZCAic3RhY2tfaWR4IHNob3VsZCBiZSAwIgorbXNnc3RyICJiYSBjaPNpciBkbyBzdGFja19pZHggYSBiaGVpdGggMCIKKworIzogbWVtbGluZS5jOjI1ODUKK21zZ2lkICJFMzE4OiBVcGRhdGVkIHRvbyBtYW55IGJsb2Nrcz8iCittc2dzdHIgIkUzMTg6IEFuIGlvbWFyY2EgYmxvaWMgbnVhc2hvbnJhaXRoZT8iCisKKyM6IG1lbWxpbmUuYzoyNzY3Cittc2dpZCAiRTMxNzogcG9pbnRlciBibG9jayBpZCB3cm9uZyA0IgorbXNnc3RyICJFMzE3OiBhaXRoZWFudGFzIG3tY2hlYXJ0IGFyIGFuIG1ibG9jIHBvaW50ZW9yYSA0IgorCisjOiBtZW1saW5lLmM6Mjc5NAorbXNnaWQgImRlbGV0ZWQgYmxvY2sgMT8iCittc2dzdHIgImJsb2MgYSBoYW9uIHNjcmlvc3RhPyIKKworIzogbWVtbGluZS5jOjI5OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTMyMDogQ2Fubm90IGZpbmQgbGluZSAlbGQiCittc2dzdHIgIkUzMjA6IEztbmUgJWxkIGdhbiBhaW1zafoiCisKKyM6IG1lbWxpbmUuYzozMjM3Cittc2dpZCAiRTMxNzogcG9pbnRlciBibG9jayBpZCB3cm9uZyIKK21zZ3N0ciAiRTMxNzogYWl0aGVhbnRhcyBt7WNoZWFydCBhciBhbiBtYmxvYyBwb2ludGVvcmEiCisKKyM6IG1lbWxpbmUuYzozMjUzCittc2dpZCAicGVfbGluZV9jb3VudCBpcyB6ZXJvIgorbXNnc3RyICJpcyAwIHBlX2xpbmVfY291bnRcIiIKKworIzogbWVtbGluZS5jOjMyODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTMyMjogbGluZSBudW1iZXIgb3V0IG9mIHJhbmdlOiAlbGQgcGFzdCB0aGUgZW5kIgorbXNnc3RyICJFMzIyOiBs7W5lLXVpbWhpciBhcyByYW9uOiAlbGQgdGhhciBkaGVpcmVhZGgiCisKKyM6IG1lbWxpbmUuYzozMjg2CisjLCBjLWZvcm1hdAorbXNnaWQgIkUzMjM6IGxpbmUgY291bnQgd3JvbmcgaW4gYmxvY2sgJWxkIgorbXNnc3RyICJFMzIzOiBs7W9uIG3tY2hlYXJ0IG5hIGztbnRlIGkgbWJsb2MgJWxkIgorCisjOiBtZW1saW5lLmM6MzMzNQorbXNnaWQgIlN0YWNrIHNpemUgaW5jcmVhc2VzIgorbXNnc3RyICJN6WFkYe1vbm4gYW4gY2hydWFjaCIKKworIzogbWVtbGluZS5jOjMzODEKK21zZ2lkICJFMzE3OiBwb2ludGVyIGJsb2NrIGlkIHdyb25nIDIiCittc2dzdHIgIkUzMTc6IGFpdGhlYW50YXMgbe1jaGVhcnQgYXIgYW4gbWJsb2MgcG9pbnRlb3JhIDIiCisKKyM6IG1lbWxpbmUuYzozODI3Cittc2dpZCAiRTMyNTogQVRURU5USU9OIgorbXNnc3RyICJFMzI1OiBBSVJFIgorCisjOiBtZW1saW5lLmM6MzgyOAorbXNnaWQgIiIKKyJcbiIKKyJGb3VuZCBhIHN3YXAgZmlsZSBieSB0aGUgbmFtZSBcIiIKK21zZ3N0ciAiIgorIlxuIgorIkZ1YXJ0aGFzIGNvbWhhZCBiYWJodOFsYSBkYXJiaCBhaW5tIFwiIgorCisjOiBtZW1saW5lLmM6MzgzMgorbXNnaWQgIldoaWxlIG9wZW5pbmcgZmlsZSBcIiIKK21zZ3N0ciAiQWd1cyBhbiBjb21oYWQgc2VvIOEgb3NjYWlsdDogXCIiCisKKyM6IG1lbWxpbmUuYzozODQxCittc2dpZCAiICAgICAgTkVXRVIgdGhhbiBzd2FwIGZpbGUhXG4iCittc2dzdHIgIiAgICAgIE7NT1MgTlVBzSBu4SBjb21oYWQgYmFiaHThbGEhXG4iCisKKyMuIFNvbWUgb2YgdGhlc2UgbWVzc2FnZXMgYXJlIGxvbmcgdG8gYWxsb3cgdHJhbnNsYXRpb24gdG8KKyMuICogb3RoZXIgbGFuZ3VhZ2VzLgorIzogbWVtbGluZS5jOjM4NDUKK21zZ2lkICIiCisiXG4iCisiKDEpIEFub3RoZXIgcHJvZ3JhbSBtYXkgYmUgZWRpdGluZyB0aGUgc2FtZSBmaWxlLlxuIgorIiAgICBJZiB0aGlzIGlzIHRoZSBjYXNlLCBiZSBjYXJlZnVsIG5vdCB0byBlbmQgdXAgd2l0aCB0d29cbiIKKyIgICAgZGlmZmVyZW50IGluc3RhbmNlcyBvZiB0aGUgc2FtZSBmaWxlIHdoZW4gbWFraW5nIGNoYW5nZXMuXG4iCittc2dzdHIgIiIKKyJcbiIKKyIoMSkgSXMgZulpZGlyIGdvIGJoZnVpbCBjbOFyIGVpbGUgYWcgcm9jaHRhaW4gYW4gY29taGFkIHNlby5cbiIKKyIgICAgTeFzIGVhLCBi7SBj+nJhbWFjaCBuYWNoIGJoZnVpbCBkaOEgbGVhZ2FuIGRlbiBjaG9taGFkXG4iCisiICAgIGPpYW5uYS5cbiIKKworIzogbWVtbGluZS5jOjM4NDYKK21zZ2lkICIgICAgUXVpdCwgb3IgY29udGludWUgd2l0aCBjYXV0aW9uLlxuIgorbXNnc3RyICIgICAgU2NvaXIsIG7zIGxlYW4gYXIgYWdoYWlkaCBnbyBoYWlyZGVhbGxhY2guXG4iCisKKyM6IG1lbWxpbmUuYzozODQ3Cittc2dpZCAiIgorIlxuIgorIigyKSBBbiBlZGl0IHNlc3Npb24gZm9yIHRoaXMgZmlsZSBjcmFzaGVkLlxuIgorbXNnc3RyICIiCisiXG4iCisiKDIpIFJpbm5lIFZpbSB0aG9ic2NvciBhZ3VzIGFuIGNvbWhhZCBzZW9cbiIKKyIgICAgaWRpciBs4W1oYSBhZ2F0LlxuIgorCisjOiBtZW1saW5lLmM6Mzg0OAorbXNnaWQgIiAgICBJZiB0aGlzIGlzIHRoZSBjYXNlLCB1c2UgXCI6cmVjb3ZlclwiIG9yIFwidmltIC1yICIKK21zZ3N0ciAiICAgIE3hcyBhbWhsYWlkaCwgYmFpbiD6c+FpZCBhcyBcIjpyZWNvdmVyXCIgbvMgXCJ2aW0gLXIgIgorCisjOiBtZW1saW5lLmM6Mzg1MAorbXNnaWQgIiIKKyJcIlxuIgorIiAgICB0byByZWNvdmVyIHRoZSBjaGFuZ2VzIChzZWUgXCI6aGVscCByZWNvdmVyeVwiKS5cbiIKK21zZ3N0ciAiIgorIlwiXG4iCisiICAgIGNodW4gbmEgaGF0aHJ1aXRoZSBhIGZo4WlsIGFyIGFpcyAoZulhY2ggXCI6aGVscCByZWNvdmVyeVwiKS5cbiIKKworIzogbWVtbGluZS5jOjM4NTEKK21zZ2lkICIgICAgSWYgeW91IGRpZCB0aGlzIGFscmVhZHksIGRlbGV0ZSB0aGUgc3dhcCBmaWxlIFwiIgorbXNnc3RyICIgICAgTeEgdOEgc+kgc2VvIGTpYW50YSBjaGVhbmEgYWdhdCwgc2NyaW9zIGFuIGNvbWhhZCBiYWJodOFsYSBcIiIKKworIzogbWVtbGluZS5jOjM4NTMKK21zZ2lkICIiCisiXCJcbiIKKyIgICAgdG8gYXZvaWQgdGhpcyBtZXNzYWdlLlxuIgorbXNnc3RyICIiCisiXCJcbiIKKyIgICBjaHVuIGFuIHRlYWNodGFpcmVhY2h0IHNlbyBhIHNoZWFjaGFpbnQuXG4iCisKKyM6IG1lbWxpbmUuYzozODY3IG1lbWxpbmUuYzozODcxCittc2dpZCAiU3dhcCBmaWxlIFwiIgorbXNnc3RyICJDb21oYWQgYmFiaHThbGEgXCIiCisKKyM6IG1lbWxpbmUuYzozODY4IG1lbWxpbmUuYzozODc0Cittc2dpZCAiXCIgYWxyZWFkeSBleGlzdHMhIgorbXNnc3RyICJcIiB04SBz6SBhbm4gY2hlYW5hISIKKworIzogbWVtbGluZS5jOjM4NzcKK21zZ2lkICJWSU0gLSBBVFRFTlRJT04iCittc2dzdHIgIlZJTSAtIEFJUkUiCisKKyM6IG1lbWxpbmUuYzozODc5Cittc2dpZCAiU3dhcCBmaWxlIGFscmVhZHkgZXhpc3RzISIKK21zZ3N0ciAiVOEgY29taGFkIGJhYmh04WxhIGFubiBjaGVhbmEhIgorCisjOiBtZW1saW5lLmM6Mzg4MworbXNnaWQgIiIKKyImT3BlbiBSZWFkLU9ubHlcbiIKKyImRWRpdCBhbnl3YXlcbiIKKyImUmVjb3ZlclxuIgorIiZRdWl0XG4iCisiJkFib3J0IgorbXNnc3RyICIiCisiJk9zY2FpbCBM6WltaC1BbWjhaW5cbiIKKyImRWFncmFpZ2ggbWFyIHNpbiBm6WluXG4iCisiJkF0aHNobOFuYWlnaFxuIgorIiZTY29pclxuIgorIiZUb2JzY29pciIKKworIzogbWVtbGluZS5jOjM4ODUKK21zZ2lkICIiCisiJk9wZW4gUmVhZC1Pbmx5XG4iCisiJkVkaXQgYW55d2F5XG4iCisiJlJlY292ZXJcbiIKKyImUXVpdFxuIgorIiZBYm9ydFxuIgorIiZEZWxldGUgaXQiCittc2dzdHIgIiIKKyImT3NjYWlsIEzpaW1oLUFtaOFpblxuIgorIiZFYWdyYWlnaCBtYXIgc2luIGbpaW5cbiIKKyImQXRoc2hs4W5haWdoXG4iCisiUyZjb2lyXG4iCisiJlRvYnNjb2lyXG4iCisiJlNjcmlvcyDpIgorCisjOiBtZW1saW5lLmM6Mzk0MgorbXNnaWQgIkUzMjY6IFRvbyBtYW55IHN3YXAgZmlsZXMgZm91bmQiCittc2dzdHIgIkUzMjY6IEFpbXPtb2RoIGFuIGlvbWFyY2EgY29taGFpZCBiaGFiaHThbGEiCisKKyM6IG1lbnUuYzo2NAorbXNnaWQgIkUzMjc6IFBhcnQgb2YgbWVudS1pdGVtIHBhdGggaXMgbm90IHN1Yi1tZW51IgorbXNnc3RyICJFMzI3OiBO7SBmby1yb2doY2hs4XIg7SBw4WlydCBkZSBjaG9uYWlyIHJvZ2hjaGzhaXIiCisKKyM6IG1lbnUuYzo2NQorbXNnaWQgIkUzMjg6IE1lbnUgb25seSBleGlzdHMgaW4gYW5vdGhlciBtb2RlIgorbXNnc3RyICJFMzI4OiBO7WwgYW4gcm9naGNobOFyIGFyIGbhaWwgc2EgbWjzZCBzZW8iCisKKyM6IG1lbnUuYzo2NgorbXNnaWQgIkUzMjk6IE5vIG1lbnUgb2YgdGhhdCBuYW1lIgorbXNnc3RyICJFMzI5OiBO7WwgYW9uIHJvZ2hjaGzhciBhbm4gbGVpcyBhbiBhaW5tIHNpbiIKKworIzogbWVudS5jOjUyMgorbXNnaWQgIkUzMzA6IE1lbnUgcGF0aCBtdXN0IG5vdCBsZWFkIHRvIGEgc3ViLW1lbnUiCittc2dzdHIgIkUzMzA6IE7tIGNoZWFkYe10ZWFyIGNvbmFpciByb2doY2hs4WlyIGEgdGhyZW9yYe1vbm4gZ28gZm8tcm9naGNobOFyIgorCisjOiBtZW51LmM6NTYxCittc2dpZCAiRTMzMTogTXVzdCBub3QgYWRkIG1lbnUgaXRlbXMgZGlyZWN0bHkgdG8gbWVudSBiYXIiCittc2dzdHIgIiIKKyJFMzMxOiBO7SBjaGVhZGHtdGVhciBt7XJlYW5uYSByb2doY2hs4WlyIGEgY2h1ciBsZSBiYXJyYSByb2doY2hs4WlyIGdvICIKKyJk7XJlYWNoIgorCisjOiBtZW51LmM6NTY3Cittc2dpZCAiRTMzMjogU2VwYXJhdG9yIGNhbm5vdCBiZSBwYXJ0IG9mIGEgbWVudSBwYXRoIgorbXNnc3RyICJFMzMyOiBO7SBjaGVhZGHtdGVhciBkZWlnaGlsdGVvaXIgbWFyIHBo4WlydCBkZSBjaG9uYWlyIHJvZ2hjaGzhaXIiCisKKyMuIE5vdyB3ZSBoYXZlIGZvdW5kIHRoZSBtYXRjaGluZyBtZW51LCBhbmQgd2UgbGlzdCB0aGUgbWFwcGluZ3MKKyMuIEhpZ2hsaWdodCB0aXRsZQorIzogbWVudS5jOjEwOTMKK21zZ2lkICIiCisiXG4iCisiLS0tIE1lbnVzIC0tLSIKK21zZ3N0ciAiIgorIlxuIgorIi0tLSBSb2doY2hs4WlyIC0tLSIKKworIzogbWVudS5jOjIwMTEKK21zZ2lkICJUZWFyIG9mZiB0aGlzIG1lbnUiCittc2dzdHIgIkJhaW4gYW4gcm9naGNobOFyIHNlbyIKKworIzogbWVudS5jOjIwNzYKK21zZ2lkICJFMzMzOiBNZW51IHBhdGggbXVzdCBsZWFkIHRvIGEgbWVudSBpdGVtIgorbXNnc3RyICJFMzMzOiBO7SBt83IgY29uYWlyIHJvZ2hjaGzhaXIgYSB0aHJlb3L6IGNodW4gbe1yIHJvZ2hjaGzhaXIiCisKKyM6IG1lbnUuYzoyMDk2CisjLCBjLWZvcm1hdAorbXNnaWQgIkUzMzQ6IE1lbnUgbm90IGZvdW5kOiAlcyIKK21zZ3N0ciAiRTMzNDogUm9naGNobOFyIGdhbiBhaW1zafo6ICVzIgorCisjOiBtZW51LmM6MjE2OQorIywgYy1mb3JtYXQKK21zZ2lkICJFMzM1OiBNZW51IG5vdCBkZWZpbmVkIGZvciAlcyBtb2RlIgorbXNnc3RyICJFMzM1OiBO7WwgYW4gcm9naGNobOFyIGFyIGbhaWwgc2EgbWjzZCAlcyIKKworIzogbWVudS5jOjIyMDgKK21zZ2lkICJFMzM2OiBNZW51IHBhdGggbXVzdCBsZWFkIHRvIGEgc3ViLW1lbnUiCittc2dzdHIgIkUzMzY6IE7tIG3zciBjb25haXIgcm9naGNobOFpciBhIHRocmVvcvogY2h1biBmby1yb2doY2hs4XIiCisKKyM6IG1lbnUuYzoyMjI5Cittc2dpZCAiRTMzNzogTWVudSBub3QgZm91bmQgLSBjaGVjayBtZW51IG5hbWVzIgorbXNnc3RyICJFMzM3OiBSb2doY2hs4XIgZ2FuIGFpbXNp+iAtIGRlaW1obmlnaCBhaW5tbmVhY2hhIG5hIHJvZ2hjaGzhciIKKworIzogbWVzc2FnZS5jOjQyOQorIywgYy1mb3JtYXQKK21zZ2lkICJFcnJvciBkZXRlY3RlZCB3aGlsZSBwcm9jZXNzaW5nICVzOiIKK21zZ3N0ciAiRWFycuFpZCBhZ3VzICVzIOEgcGhy82lzZeFpbDoiCisKKyM6IG1lc3NhZ2UuYzo0NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAibGluZSAlNGxkOiIKK21zZ3N0ciAibO1uZSAlNGxkOiIKKworIzogbWVzc2FnZS5jOjY1NgorbXNnaWQgIltzdHJpbmcgdG9vIGxvbmddIgorbXNnc3RyICJbdGVhZ2hy4W4gcvNmaGFkYV0iCisKKyM6IG1lc3NhZ2UuYzo4MDYKK21zZ2lkICJNZXNzYWdlcyBtYWludGFpbmVyOiBCcmFtIE1vb2xlbmFhciA8QnJhbUB2aW0ub3JnPiIKK21zZ3N0ciAiIgorIkNvdGhhaXRoZW9pciBuYSBkdGVhY2h0YWlyZWFjaHRh7TogS2V2aW4gUC4gU2Nhbm5lbGwgPHNjYW5uZWxsQHNsdS5lZHU+IgorCisjOiBtZXNzYWdlLmM6MTAzMgorbXNnaWQgIkludGVycnVwdDogIgorbXNnc3RyICJJZGlyYmhyaXNlYWRoOiAiCisKKyM6IG1lc3NhZ2UuYzoxMDM1Cittc2dpZCAiSGl0IEVOVEVSIHRvIGNvbnRpbnVlIgorbXNnc3RyICJCcvppZ2ggRU5URVIgbGUgbGVhbvppbnQiCisKKyM6IG1lc3NhZ2UuYzoxMDM3Cittc2dpZCAiSGl0IEVOVEVSIG9yIHR5cGUgY29tbWFuZCB0byBjb250aW51ZSIKK21zZ3N0ciAiQnL6aWdoIEVOVEVSIG7zIGlvbnRy4WlsIG9yZPogbGUgbGVhbvppbnQiCisKKyM6IG1lc3NhZ2UuYzoyMzU4Cittc2dpZCAiLS0gTW9yZSAtLSIKK21zZ3N0ciAiLS0gVHVpbGxlYWRoIC0tIgorCisjOiBtZXNzYWdlLmM6MjM2MQorbXNnaWQgIiAoUkVUL0JTOiBsaW5lLCBTUEFDRS9iOiBwYWdlLCBkL3U6IGhhbGYgcGFnZSwgcTogcXVpdCkiCittc2dzdHIgIiAoUkVUL0JTOiBs7W5lLCBTUMFTL2I6IGxjaCwgZC91OiBsZWF0aGxjaCwgcTogc2NvaXIpIgorCisjOiBtZXNzYWdlLmM6MjM2MgorbXNnaWQgIiAoUkVUOiBsaW5lLCBTUEFDRTogcGFnZSwgZDogaGFsZiBwYWdlLCBxOiBxdWl0KSIKK21zZ3N0ciAiIChSRVQ6IGztbmUsIFNQwVM6IGxjaCwgZDogbGVhdGhsY2gsIHE6IHNjb2lyKSIKKworIzogbWVzc2FnZS5jOjI5ODMgbWVzc2FnZS5jOjI5OTgKK21zZ2lkICJRdWVzdGlvbiIKK21zZ3N0ciAiQ2Vpc3QiCisKKyM6IG1lc3NhZ2UuYzoyOTg1Cittc2dpZCAiIgorIiZZZXNcbiIKKyImTm8iCittc2dzdHIgIiIKKyImVOFcbiIKKyImTu1sIgorCisjOiBtZXNzYWdlLmM6MzAxOAorbXNnaWQgIiIKKyImWWVzXG4iCisiJk5vXG4iCisiU2F2ZSAmQWxsXG4iCisiJkRpc2NhcmQgQWxsXG4iCisiJkNhbmNlbCIKK21zZ3N0ciAiIgorIiZU4VxuIgorIiZO7WxcbiIKKyJT4WJo4WlsICZVaWxlXG4iCisiJkRlYWxhaWdoIFVpbGVcbiIKKyImQ2VhbGFpZ2giCisKKyM6IG1lc3NhZ2UuYzozMDU5Cittc2dpZCAiU2VsZWN0IERpcmVjdG9yeSBkaWFsb2ciCittc2dzdHIgIkRpYWzzZyBgUm9naG5haWdoIENvbWhhZGxhbm4nIgorCisjOiBtZXNzYWdlLmM6MzA2MQorbXNnaWQgIlNhdmUgRmlsZSBkaWFsb2ciCittc2dzdHIgIkRpYWzzZyBgU+FiaOFpbCBDb21oYWQnIgorCisjOiBtZXNzYWdlLmM6MzA2MworbXNnaWQgIk9wZW4gRmlsZSBkaWFsb2ciCittc2dzdHIgIkRpYWzzZyBgT3NjYWlsIENvbWhhZCciCisKKyMuIFRPRE86IG5vbi1HVUkgZmlsZSBzZWxlY3RvciBoZXJlCisjOiBtZXNzYWdlLmM6MzE2MworbXNnaWQgIkUzMzg6IFNvcnJ5LCBubyBmaWxlIGJyb3dzZXIgaW4gY29uc29sZSBtb2RlIgorbXNnc3RyICJFMzM4OiBO7WwgYnJhYmhz4Wxh7SBjb21oYWlkIGFyIGbhaWwgc2EgbWjzZCBjb25z82lsIgorCisjOiBtaXNjMS5jOjI4NjAKK21zZ2lkICJXMTA6IFdhcm5pbmc6IENoYW5naW5nIGEgcmVhZG9ubHkgZmlsZSIKK21zZ3N0ciAiVzEwOiBSYWJoYWRoOiBDb21oYWQgbOlpbWgtYW1o4WluIOEgYXRocvoiCisKKyM6IG1pc2MxLmM6MzExMworbXNnaWQgIjEgbW9yZSBsaW5lIgorbXNnc3RyICIxIGztbmUgZWlsZSIKKworIzogbWlzYzEuYzozMTE1Cittc2dpZCAiMSBsaW5lIGxlc3MiCittc2dzdHIgIjEgbO1uZSBu7W9zIGz6IgorCisjOiBtaXNjMS5jOjMxMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWxkIG1vcmUgbGluZXMiCittc2dzdHIgIiVsZCBs7W5lIGVpbGUiCisKKyM6IG1pc2MxLmM6MzEyMgorIywgYy1mb3JtYXQKK21zZ2lkICIlbGQgZmV3ZXIgbGluZXMiCittc2dzdHIgIiVsZCBs7W5lIG7tb3MgbPoiCisKKyM6IG1pc2MxLmM6MzEyNQorbXNnaWQgIiAoSW50ZXJydXB0ZWQpIgorbXNnc3RyICIgKElkaXJiaHJpc3RlKSIKKworIzogbWlzYzEuYzo3NzQ2Cittc2dpZCAiVmltOiBwcmVzZXJ2aW5nIGZpbGVzLi4uXG4iCittc2dzdHIgIlZpbTogY29taGFpZCDhIGdjYW9taG76Li4uXG4iCisKKyMuIGNsb3NlIGFsbCBtZW1maWxlcywgd2l0aG91dCBkZWxldGluZworIzogbWlzYzEuYzo3NzU2Cittc2dpZCAiVmltOiBGaW5pc2hlZC5cbiIKK21zZ3N0ciAiVmltOiBDcu1vY2huYWl0aGUuXG4iCisKKyM6IG1pc2MyLmM6NjkwIG1pc2MyLmM6NzA2CisjLCBjLWZvcm1hdAorbXNnaWQgIkVSUk9SOiAiCittc2dzdHIgIkVBUlLBSUQ6ICIKKworIzogbWlzYzIuYzo3MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIltieXRlc10gdG90YWwgYWxsb2MtZnJlZWQgJWx1LSVsdSwgaW4gdXNlICVsdSwgcGVhayB1c2UgJWx1XG4iCittc2dzdHIgIiIKKyJcbiIKKyJbYmVhcnRdIGlvbWzhbiBk4WlsdGUtc2FvciAlbHUtJWx1LCBpbiD6c+FpZCAlbHUsIGJ1YWljICVsdVxuIgorCisjOiBtaXNjMi5jOjcxMgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiW2NhbGxzXSB0b3RhbCByZS9tYWxsb2MoKSdzICVsdSwgdG90YWwgZnJlZSgpJ3MgJWx1XG4iCisiXG4iCittc2dzdHIgIiIKKyJbZ2xhb25uYV0gcmUvbWFsbG9jKCk6ICVsdSwgZnJlZSgpOiAlbHVcbiIKKyJcbiIKKworIzogbWlzYzIuYzo3NjcKK21zZ2lkICJFMzQwOiBMaW5lIGlzIGJlY29taW5nIHRvbyBsb25nIgorbXNnc3RyICJFMzQwOiBU4SBhbiBs7W5lIGFnIOlpcu0gcvNmaGFkYSIKKworIzogbWlzYzIuYzo4MTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTM0MTogSW50ZXJuYWwgZXJyb3I6IGxhbGxvYyglbGQsICkiCittc2dzdHIgIkUzNDE6IEVhcnLhaWQgaW5taGXhbmFjaDogbGFsbG9jKCVsZCwgKSIKKworIzogbWlzYzIuYzo5MTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTM0MjogT3V0IG9mIG1lbW9yeSEgIChhbGxvY2F0aW5nICVsdSBieXRlcykiCittc2dzdHIgIkUzNDI6IEN1aW1obmUg7WRpdGhlISAgKCVsdSBiZWFydCDhIG5k4WlsZWFkaCkiCisKKyM6IG1pc2MyLmM6MjU1NQorIywgYy1mb3JtYXQKK21zZ2lkICJDYWxsaW5nIHNoZWxsIHRvIGV4ZWN1dGU6IFwiJXNcIiIKK21zZ3N0ciAiQW4gdC1vcmT6IHNlbyDhIHJpdGggbGVpcyBhbiBiaGxhb3NjOiBcIiVzXCIiCisKKyM6IG1pc2MyLmM6MjgxMQorbXNnaWQgIkU1NDU6IE1pc3NpbmcgY29sb24iCittc2dzdHIgIkU1NDU6IElkaXJzdGFkIGFyIGlhcnJhaWRoIgorCisjOiBtaXNjMi5jOjI4MTMgbWlzYzIuYzoyODQwCittc2dpZCAiRTU0NjogSWxsZWdhbCBtb2RlIgorbXNnc3RyICJFNTQ2OiBN82QgbmVhbWhjaGVhZGFpdGhlIgorCisjOiBtaXNjMi5jOjI4NzkKK21zZ2lkICJFNTQ3OiBJbGxlZ2FsIG1vdXNlc2hhcGUiCittc2dzdHIgIkU1NDc6IENydXRoIG5lYW1oY2hlYWRhaXRoZSBsdWljaGUiCisKKyM6IG1pc2MyLmM6MjkxOQorbXNnaWQgIkU1NDg6IGRpZ2l0IGV4cGVjdGVkIgorbXNnc3RyICJFNTQ4OiBhZyBz+mlsIGxlIGRpZ2l0IgorCisjOiBtaXNjMi5jOjI5MjQKK21zZ2lkICJFNTQ5OiBJbGxlZ2FsIHBlcmNlbnRhZ2UiCittc2dzdHIgIkU1NDk6IEPpYXRhZOFuIG5lYW1oY2hlYWRhaXRoZSIKKworIzogbWlzYzIuYzozMjM2Cittc2dpZCAiRW50ZXIgZW5jcnlwdGlvbiBrZXk6ICIKK21zZ3N0ciAiSW9udHLhaWwgZW9jaGFpciBjaHJpcHRp+mNo4WluOiAiCisKKyM6IG1pc2MyLmM6MzIzNworbXNnaWQgIkVudGVyIHNhbWUga2V5IGFnYWluOiAiCittc2dzdHIgIklvbnRy4WlsIGFuIGVvY2hhaXIgYXLtczogIgorCisjOiBtaXNjMi5jOjMyNDcKK21zZ2lkICJLZXlzIGRvbid0IG1hdGNoISIKK21zZ3N0ciAiTu1sIG5hIGhlb2NocmFjaGEgY29taG9pcmn6bmFjaCBsZSBjaOlpbGUhIgorCisjOiBtaXNjMi5jOjM3OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkUzNDM6IEludmFsaWQgcGF0aDogJyoqW251bWJlcl0nIG11c3QgYmUgYXQgdGhlIGVuZCBvZiB0aGUgcGF0aCBvciBiZSAiCisiZm9sbG93ZWQgYnkgJyVzJy4iCittc2dzdHIgIiIKKyJFMzQzOiBDb25haXIgbmVhbWhiaGFpbO06IG7tIG3zciAnKipbdWltaGlyXScgYSBiaGVpdGggYWcgZGVpcmVhZGggbmEgIgorImNvbmFpcmUsIG7zIGxlICclcycgaW5hIGRoaWFpZGguIgorCisjOiBtaXNjMi5jOjUwNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTM0NDogQ2FuJ3QgZmluZCBkaXJlY3RvcnkgXCIlc1wiIGluIGNkcGF0aCIKK21zZ3N0ciAiRTM0NDogTu0gZulpZGlyIGNvbWhhZGxhbm4gXCIlc1wiIGEgYWltc2n6IHNhIGNkcGF0aCIKKworIzogbWlzYzIuYzo1MDczCisjLCBjLWZvcm1hdAorbXNnaWQgIkUzNDU6IENhbid0IGZpbmQgZmlsZSBcIiVzXCIgaW4gcGF0aCIKK21zZ3N0ciAiRTM0NTogTu0gZulpZGlyIGNvbWhhZCBcIiVzXCIgYSBhaW1zafogc2EgY2hvbmFpciIKKworIzogbWlzYzIuYzo1MDc5CisjLCBjLWZvcm1hdAorbXNnaWQgIkUzNDY6IE5vIG1vcmUgZGlyZWN0b3J5IFwiJXNcIiBmb3VuZCBpbiBjZHBhdGgiCittc2dzdHIgIkUzNDY6IE7tbCBjb21oYWRsYW5uIFwiJXNcIiBzYSBjZHBhdGggYSB0aHVpbGxlYWRoIgorCisjOiBtaXNjMi5jOjUwODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTM0NzogTm8gbW9yZSBmaWxlIFwiJXNcIiBmb3VuZCBpbiBwYXRoIgorbXNnc3RyICJFMzQ3OiBO7WwgY29taGFkIFwiJXNcIiBzYSBjaG9uYWlyIGEgdGh1aWxsZWFkaCIKKworIzogbWlzYzIuYzo1MzIyCittc2dpZCAiRTU1MDogTWlzc2luZyBjb2xvbiIKK21zZ3N0ciAiRTU1MDogSWRpcnN0YWQgYXIgaWFycmFpZGgiCisKKyM6IG1pc2MyLmM6NTMzNAorbXNnaWQgIkU1NTE6IElsbGVnYWwgY29tcG9uZW50IgorbXNnc3RyICJFNTUxOiBDb21ocGjhaXJ0IG5lYW1oY2hlYWRhaXRoZSIKKworIzogbWlzYzIuYzo1MzQyCittc2dpZCAiRTU1MjogZGlnaXQgZXhwZWN0ZWQiCittc2dzdHIgIkU1NTI6IGFnIHP6aWwgbGUgZGlnaXQiCisKKyMuIEdldCBoZXJlIHdoZW4gdGhlIHNlcnZlciBjYW4ndCBiZSBmb3VuZC4KKyM6IG5ldGJlYW5zLmM6NDExCittc2dpZCAiQ2Fubm90IGNvbm5lY3QgdG8gTmV0YmVhbnMgIzIiCittc2dzdHIgIk7tIGbpaWRpciBuYXNjYWRoIGxlIE5ldGJlYW5zICMyIgorCisjOiBuZXRiZWFucy5jOjQxOQorbXNnaWQgIkNhbm5vdCBjb25uZWN0IHRvIE5ldGJlYW5zIgorbXNnc3RyICJO7SBm6WlkaXIgbmFzY2FkaCBsZSBOZXRiZWFucyIKKworIzogbmV0YmVhbnMuYzo0NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTY2ODogV3JvbmcgYWNjZXNzIG1vZGUgZm9yIE5ldEJlYW5zIGNvbm5lY3Rpb24gaW5mbyBmaWxlOiBcIiVzXCIiCittc2dzdHIgIkU2Njg6IE3zZCBt7WNoZWFydCByb2NodGFuYSBhciBhbiBjaG9taGFkIGVvbGFzIG5haXNjIE5ldEJlYW5zOiBcIiVzXCIiCisKKyM6IG5ldGJlYW5zLmM6NzYyCittc2dpZCAicmVhZCBmcm9tIE5ldGJlYW5zIHNvY2tldCIKK21zZ3N0ciAibOlhZGgg8yBzaG9pY+lhZCBOZXRiZWFucyIKKworIzogbmV0YmVhbnMuYzoxNjgyCisjLCBjLWZvcm1hdAorbXNnaWQgIkU2NTg6IE5ldEJlYW5zIGNvbm5lY3Rpb24gbG9zdCBmb3IgYnVmZmVyICVsZCIKK21zZ3N0ciAiRTY1ODogQ2FpbGxlYWRoIG5hc2MgTmV0QmVhbnMgbGUgaGFnaGFpZGggbWFvbOFpbiAlbGQiCisKKyM6IG5ldGJlYW5zLmM6MzQ3NworbXNnaWQgIkU1MDU6ICIKK21zZ3N0ciAiRTUwNTogIgorCisjOiBub3JtYWwuYzoyOTkzCittc2dpZCAiV2FybmluZzogdGVybWluYWwgY2Fubm90IGhpZ2hsaWdodCIKK21zZ3N0ciAiUmFiaGFkaDogbu0gZulpZGlyIGxlaXMgYW4gdGVpcm1pbulhbCBhaWJoc2n6IgorCisjOiBub3JtYWwuYzozMjg5Cittc2dpZCAiRTM0ODogTm8gc3RyaW5nIHVuZGVyIGN1cnNvciIKK21zZ3N0ciAiRTM0ODogTu1sIHRlYWdocuFuIGZhb2luIGNo+nJz82lyIgorCisjOiBub3JtYWwuYzozMjkxCittc2dpZCAiRTM0OTogTm8gaWRlbnRpZmllciB1bmRlciBjdXJzb3IiCittc2dzdHIgIkUzNDk6IE7tbCBhaXRoZWFudPNpciBmYW9pbiBjaPpyc/NpciIKKworIzogbm9ybWFsLmM6NDUzMworbXNnaWQgIkUzNTI6IENhbm5vdCBlcmFzZSBmb2xkcyB3aXRoIGN1cnJlbnQgJ2ZvbGRtZXRob2QnIgorbXNnc3RyICJFMzUyOiBO7SBm6WlkaXIgZmlsbHRlYWNoYSBhIGzpaXJzY3Jpb3NhZGggbGVpcyBhbiAnZm9sZG1ldGhvZCcgcmVhdGhhIgorCisjOiBub3JtYWwuYzo2ODA0Cittc2dpZCAiRTY2NDogY2hhbmdlbGlzdCBpcyBlbXB0eSIKK21zZ3N0ciAiRTY2NDogdOEgbGlvc3RhIG5hIG4tYXRocnVpdGhlIGZvbGFtaCIKKworIzogbm9ybWFsLmM6NjgwNgorbXNnaWQgIkU2NjI6IEF0IHN0YXJ0IG9mIGNoYW5nZWxpc3QiCittc2dzdHIgIkU2NjI6IEFnIHRvc2FjaCBsaW9zdGEgbmEgbi1hdGhydWl0aGUiCisKKyM6IG5vcm1hbC5jOjY4MDgKK21zZ2lkICJFNjYzOiBBdCBlbmQgb2YgY2hhbmdlbGlzdCIKK21zZ3N0ciAiRTY2MzogQWcgZGVpcmVhZGggbGlvc3RhIG5hIG4tYXRocnVpdGhlIgorCisjOiBub3JtYWwuYzo4MDc3Cittc2dpZCAiVHlwZSAgOnF1aXQ8RW50ZXI+ICB0byBleGl0IFZpbSIKK21zZ3N0ciAiQ2zzc2Ny7W9iaCAgOnF1aXQ8RW50ZXI+ICBjaHVuIFZpbSBhIHNjb3IiCisKKyM6IG9wcy5jOjI5MQorIywgYy1mb3JtYXQKK21zZ2lkICIxIGxpbmUgJXNlZCAxIHRpbWUiCittc2dzdHIgIjEgbO1uZSAlcyB1YWlyIGFtaOFpbiIKKworIzogb3BzLmM6MjkzCisjLCBjLWZvcm1hdAorbXNnaWQgIjEgbGluZSAlc2VkICVkIHRpbWVzIgorbXNnc3RyICIxIGztbmUgJXMgJWQgdWFpciIKKworIzogb3BzLmM6Mjk4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVsZCBsaW5lcyAlc2VkIDEgdGltZSIKK21zZ3N0ciAiJWxkIGztbmUgJXNlZCB1YWlyIGFtaOFpbiIKKworIzogb3BzLmM6MzAxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVsZCBsaW5lcyAlc2VkICVkIHRpbWVzIgorbXNnc3RyICIlbGQgbO1uZSAlc2VkICVkIHVhaXIiCisKKyM6IG9wcy5jOjY1OQorIywgYy1mb3JtYXQKK21zZ2lkICIlbGQgbGluZXMgdG8gaW5kZW50Li4uICIKK21zZ3N0ciAiJWxkIGztbmUgbGUgaGVhbmf6Li4uICIKKworIzogb3BzLmM6NzA5Cittc2dpZCAiMSBsaW5lIGluZGVudGVkICIKK21zZ3N0ciAiZWFuZ2Htb2RoIDEgbO1uZSAiCisKKyM6IG9wcy5jOjcxMQorIywgYy1mb3JtYXQKK21zZ2lkICIlbGQgbGluZXMgaW5kZW50ZWQgIgorbXNnc3RyICIlbGQgbO1uZSBlYW5nYWl0aGUgIgorCisjLiBtdXN0IGRpc3BsYXkgdGhlIHByb21wdAorIzogb3BzLmM6MTYyMworbXNnaWQgImNhbm5vdCB5YW5rOyBkZWxldGUgYW55d2F5IgorbXNnc3RyICJu7SBm6WlkaXIgYSBzcmFjYWRoOyBzY3Jpb3MgbWFyIHNpbiBm6WluIgorCisjOiBvcHMuYzoyMjEzCittc2dpZCAiMSBsaW5lIGNoYW5nZWQiCittc2dzdHIgImF0aHJh7W9kaCAxIGztbmUiCisKKyM6IG9wcy5jOjIyMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWxkIGxpbmVzIGNoYW5nZWQiCittc2dzdHIgIiVsZCBs7W5lIGF0aHJhaXRoZSIKKworIzogb3BzLmM6MjU5OQorIywgYy1mb3JtYXQKK21zZ2lkICJmcmVlaW5nICVsZCBsaW5lcyIKK21zZ3N0ciAiJWxkIGztbmUg4SBzYW9yYWRoIgorCisjOiBvcHMuYzoyODgxCittc2dpZCAiMSBsaW5lIHlhbmtlZCIKK21zZ3N0ciAic3JhY2FkaCAxIGztbmUiCisKKyM6IG9wcy5jOjI4ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWxkIGxpbmVzIHlhbmtlZCIKK21zZ3N0ciAiJWxkIGztbmUgc3JhY3RoYSIKKworIzogb3BzLmM6MzE3OAorIywgYy1mb3JtYXQKK21zZ2lkICJFMzUzOiBOb3RoaW5nIGluIHJlZ2lzdGVyICVzIgorbXNnc3RyICJFMzUzOiBUYWJoYWxsIGZvbGFtaCAlcyIKKworIy4gSGlnaGxpZ2h0IHRpdGxlCisjOiBvcHMuYzozNzM1Cittc2dpZCAiIgorIlxuIgorIi0tLSBSZWdpc3RlcnMgLS0tIgorbXNnc3RyICIiCisiXG4iCisiLS0tIFRhYmhhaWxsIC0tLSIKKworIzogb3BzLmM6NTA1MAorbXNnaWQgIklsbGVnYWwgcmVnaXN0ZXIgbmFtZSIKK21zZ3N0ciAiQWlubSBuZWFtaGNoZWFkYWl0aGUgdGFiaGFpbGwiCisKKyM6IG9wcy5jOjUxMzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIiMgUmVnaXN0ZXJzOlxuIgorbXNnc3RyICIiCisiXG4iCisiIyBUYWJoYWlsbDpcbiIKKworIzogb3BzLmM6NTE5NAorIywgYy1mb3JtYXQKK21zZ2lkICJFNTc0OiBVbmtub3duIHJlZ2lzdGVyIHR5cGUgJWQiCittc2dzdHIgIkU1NzQ6IENpbmXhbCBhbmFpdGhuaWQgdGFiaGFpbGwgJWQiCisKKyM6IG9wcy5jOjU2NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTM1NDogSW52YWxpZCByZWdpc3RlciBuYW1lOiAnJXMnIgorbXNnc3RyICJFMzU0OiBBaW5tIG5lYW1oYmhhaWztIHRhYmhhaWxsOiAnJXMnIgorCisjOiBvcHMuYzo2MDY4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVsZCBDb2xzOyAiCittc2dzdHIgIiVsZCBDb2z6bjsgIgorCisjOiBvcHMuYzo2MDc2CisjLCBjLWZvcm1hdAorbXNnaWQgIlNlbGVjdGVkICVzJWxkIG9mICVsZCBMaW5lczsgJWxkIG9mICVsZCBXb3JkczsgJWxkIG9mICVsZCBCeXRlcyIKK21zZ3N0ciAiUm9naG5h7W9kaCAlcyVsZCBhcyAlbGQgTO1uZTsgJWxkIGFzICVsZCBGb2NhbDsgJWxkIGFzICVsZCBCZWFydCIKKworIzogb3BzLmM6NjA4MgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiU2VsZWN0ZWQgJXMlbGQgb2YgJWxkIExpbmVzOyAlbGQgb2YgJWxkIFdvcmRzOyAlbGQgb2YgJWxkIENoYXJzOyAlbGQgb2YgJWxkICIKKyJCeXRlcyIKK21zZ3N0ciAiIgorIlJvZ2huYe1vZGggJXMlbGQgYXMgJWxkIEztbmU7ICVsZCBhcyAlbGQgRm9jYWw7ICVsZCBhcyAlbGQgQ2FyYWNodGFyOyAlbGQgYXMgIgorIiVsZCBCZWFydCIKKworIzogb3BzLmM6NjEwMAorIywgYy1mb3JtYXQKK21zZ2lkICJDb2wgJXMgb2YgJXM7IExpbmUgJWxkIG9mICVsZDsgV29yZCAlbGQgb2YgJWxkOyBCeXRlICVsZCBvZiAlbGQiCittc2dzdHIgIkNvbCAlcyBhcyAlczsgTO1uZSAlbGQgYXMgJWxkOyBGb2NhbCAlbGQgYXMgJWxkOyBCZWFydCAlbGQgYXMgJWxkIgorCisjOiBvcHMuYzo2MTA3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJDb2wgJXMgb2YgJXM7IExpbmUgJWxkIG9mICVsZDsgV29yZCAlbGQgb2YgJWxkOyBDaGFyICVsZCBvZiAlbGQ7IEJ5dGUgJWxkIG9mICIKKyIlbGQiCittc2dzdHIgIiIKKyJDb2wgJXMgYXMgJXM7IEztbmUgJWxkIGFzICVsZDsgRm9jYWwgJWxkIGFzICVsZDsgQ2FyYWNodGFyICVsZCBhcyAlbGQ7IEJlYXJ0ICIKKyIlbGQgYXMgJWxkIgorCisjOiBvcHMuYzo2MTE5CisjLCBjLWZvcm1hdAorbXNnaWQgIigrJWxkIGZvciBCT00pIgorbXNnc3RyICIoKyVsZCBkbyBCT00pIgorCisjOiBvcHRpb24uYzoxNjkyCittc2dpZCAiJTwlZiVoJW0lPVBhZ2UgJU4iCittc2dzdHIgIiU8JWYlaCVtJT1MZWF0aGFuYWNoICVOIgorCisjOiBvcHRpb24uYzoyMTY4Cittc2dpZCAiVGhhbmtzIGZvciBmbHlpbmcgVmltIgorbXNnc3RyICJHbyByYWliaCBt7WxlIG1haXRoIGFnYXQgYXMgVmltIGEg+nPhaWQiCisKKyM6IG9wdGlvbi5jOjM1NDkgb3B0aW9uLmM6MzY3MQorbXNnaWQgIkU1MTg6IFVua25vd24gb3B0aW9uIgorbXNnc3RyICJFNTE4OiBSb2doYSBhbmFpdGhuaWQiCisKKyM6IG9wdGlvbi5jOjM1NjIKK21zZ2lkICJFNTE5OiBPcHRpb24gbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAiRTUxOTogTu1sIGFuIHJvZ2hhIHNlbyBhciBm4WlsIgorCisjOiBvcHRpb24uYzozNTg3Cittc2dpZCAiRTUyMDogTm90IGFsbG93ZWQgaW4gYSBtb2RlbGluZSIKK21zZ3N0ciAiRTUyMDogTu0gY2hlYWRhaXRoZSBpIG3zZGztbmUiCisKKyM6IG9wdGlvbi5jOjM2NTgKK21zZ2lkICIiCisiXG4iCisiXHRMYXN0IHNldCBmcm9tICIKK21zZ3N0ciAiIgorIlxuIgorIlx0U29jcmFpdGhlIGlzIGTpYW5h7SDzICIKKworIzogb3B0aW9uLmM6Mzc5NworbXNnaWQgIkU1MjE6IE51bWJlciByZXF1aXJlZCBhZnRlciA9IgorbXNnc3RyICJFNTIxOiBO7SBmb2zhaXIgdWltaGlyIGkgbmRpYWlkaCA9IgorCisjOiBvcHRpb24uYzo0MTI1IG9wdGlvbi5jOjQ3NzMKK21zZ2lkICJFNTIyOiBOb3QgZm91bmQgaW4gdGVybWNhcCIKK21zZ3N0ciAiRTUyMjogR2FuIGFpbXNp+iBzYSB0ZXJtY2FwIgorCisjOiBvcHRpb24uYzo0MjAwCisjLCBjLWZvcm1hdAorbXNnaWQgIkU1Mzk6IElsbGVnYWwgY2hhcmFjdGVyIDwlcz4iCittc2dzdHIgIkU1Mzk6IENhcmFjaHRhciBuZWFtaGNoZWFkYWl0aGUgPCVzPiIKKworIzogb3B0aW9uLmM6NDc2NQorbXNnaWQgIkU1Mjk6IENhbm5vdCBzZXQgJ3Rlcm0nIHRvIGVtcHR5IHN0cmluZyIKK21zZ3N0ciAiRTUyOTogTu0gZulpZGlyICd0ZXJtJyBhIHNob2Ny+iBtYXIgdGhlYWdocuFuIGZvbGFtaCIKKworIzogb3B0aW9uLmM6NDc2OAorbXNnaWQgIkU1MzA6IENhbm5vdCBjaGFuZ2UgdGVybSBpbiBHVUkiCittc2dzdHIgIkU1MzA6IE7tIGbpaWRpciAndGVybScgYSBhdGhy+iBzYSBHVUkiCisKKyM6IG9wdGlvbi5jOjQ3NzAKK21zZ2lkICJFNTMxOiBVc2UgXCI6Z3VpXCIgdG8gc3RhcnQgdGhlIEdVSSIKK21zZ3N0ciAiRTUzMTog2nPhaWQgXCI6Z3VpXCIgY2h1biBhbiBHVUkgYSBjaHVyIGFnIG9iYWlyIgorCisjOiBvcHRpb24uYzo0Nzk5Cittc2dpZCAiRTU4OTogJ2JhY2t1cGV4dCcgYW5kICdwYXRjaG1vZGUnIGFyZSBlcXVhbCIKK21zZ3N0ciAiRTU4OTogaXMgaW9uYW5uIGlhZCAnYmFja3VwZXh0JyBhZ3VzICdwYXRjaG1vZGUnIgorCisjOiBvcHRpb24uYzo1MDI3Cittc2dpZCAiRTYxNzogQ2Fubm90IGJlIGNoYW5nZWQgaW4gdGhlIEdUSysgMiBHVUkiCittc2dzdHIgIkU2MTc6IE7tIGbpaWRpciDpIGEgYXRocvogc2EgR1VJIEdUSysgMiIKKworIzogb3B0aW9uLmM6NTE4NQorbXNnaWQgIkU1MjQ6IE1pc3NpbmcgY29sb24iCittc2dzdHIgIkU1MjQ6IElkaXJzdGFkIGFyIGlhcnJhaWRoIgorCisjOiBvcHRpb24uYzo1MTg3Cittc2dpZCAiRTUyNTogWmVybyBsZW5ndGggc3RyaW5nIgorbXNnc3RyICJFNTI1OiBUZWFnaHLhbiBmb2xhbWgiCisKKyM6IG9wdGlvbi5jOjUyNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTUyNjogTWlzc2luZyBudW1iZXIgYWZ0ZXIgPCVzPiIKK21zZ3N0ciAiRTUyNjogVWltaGlyIGFyIGlhcnJhaWRoIGkgbmRpYWlkaCA8JXM+IgorCisjOiBvcHRpb24uYzo1Mjc2Cittc2dpZCAiRTUyNzogTWlzc2luZyBjb21tYSIKK21zZ3N0ciAiRTUyNzogQ2Ft82cgYXIgaWFycmFpZGgiCisKKyM6IG9wdGlvbi5jOjUyODMKK21zZ2lkICJFNTI4OiBNdXN0IHNwZWNpZnkgYSAnIHZhbHVlIgorbXNnc3RyICJFNTI4OiBDYWl0aGZpZGggbHVhY2ggJyBhIHNob25y+iIKKworIzogb3B0aW9uLmM6NTMyNAorbXNnaWQgIkU1OTU6IGNvbnRhaW5zIHVucHJpbnRhYmxlIG9yIHdpZGUgY2hhcmFjdGVyIgorbXNnc3RyICJFNTk1OiB04SBjYXJhY2h0YXIgbmVhbWhnaHJhZmFjaCBu8yBsZWF0aGFuIGFubiIKKworIzogb3B0aW9uLmM6NTM2OAorbXNnaWQgIkU1OTY6IEludmFsaWQgZm9udChzKSIKK21zZ3N0ciAiRTU5NjogQ2zzKG5uYSkgbmVhbWhiaGFpbO0iCisKKyM6IG9wdGlvbi5jOjUzNzYKK21zZ2lkICJFNTk3OiBjYW4ndCBzZWxlY3QgZm9udHNldCIKK21zZ3N0ciAiRTU5Nzogbu0gZulpZGlyIHRhY2FyIGNs8yBhIHJvZ2hu+iIKKworIzogb3B0aW9uLmM6NTM3OAorbXNnaWQgIkU1OTg6IEludmFsaWQgZm9udHNldCIKK21zZ3N0ciAiRTU5ODogVGFjYXIgY2zzIG5lYW1oYmhhaWztIgorCisjOiBvcHRpb24uYzo1Mzg1Cittc2dpZCAiRTUzMzogY2FuJ3Qgc2VsZWN0IHdpZGUgZm9udCIKK21zZ3N0ciAiRTUzMzogbu0gZulpZGlyIGNs8yBsZWF0aGFuIGEgcm9naG76IgorCisjOiBvcHRpb24uYzo1Mzg3Cittc2dpZCAiRTUzNDogSW52YWxpZCB3aWRlIGZvbnQiCittc2dzdHIgIkU1MzQ6IENs8yBsZWF0aGFuIG5lYW1oYmhhaWztIgorCisjOiBvcHRpb24uYzo1NjY0CisjLCBjLWZvcm1hdAorbXNnaWQgIkU1MzU6IElsbGVnYWwgY2hhcmFjdGVyIGFmdGVyIDwlYz4iCittc2dzdHIgIkU1MzU6IENhcmFjaHRhciBuZWFtaGJoYWls7SBpIG5kaWFpZGggPCVjPiIKKworIzogb3B0aW9uLmM6NTc3NQorbXNnaWQgIkU1MzY6IGNvbW1hIHJlcXVpcmVkIgorbXNnc3RyICJFNTM2OiBu7SBmb2zhaXIgY2Ft82ciCisKKyM6IG9wdGlvbi5jOjU3ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTUzNzogJ2NvbW1lbnRzdHJpbmcnIG11c3QgYmUgZW1wdHkgb3IgY29udGFpbiAlcyIKK21zZ3N0ciAiRTUzNzogTu0gY2hlYWRh7XRlYXIgaSAnY29tbWVudHN0cmluZycgdGVhZ2hy4W4gbmVhbWhmaG9sYW1oIGdhbiAlcyIKKworIzogb3B0aW9uLmM6NTg2MAorbXNnaWQgIkU1Mzg6IE5vIG1vdXNlIHN1cHBvcnQiCittc2dzdHIgIkU1Mzg6IEdhbiB0YWNh7W9jaHQgbHVpY2hlIgorCisjOiBvcHRpb24uYzo2MTMxCittc2dpZCAiRTU0MDogVW5jbG9zZWQgZXhwcmVzc2lvbiBzZXF1ZW5jZSIKK21zZ3N0ciAiRTU0MDogU2VpY2hlYW1oIGdhbiBk+m5hZGgiCisKKyM6IG9wdGlvbi5jOjYxMzUKK21zZ2lkICJFNTQxOiB0b28gbWFueSBpdGVtcyIKK21zZ3N0ciAiRTU0MTogYW4gaW9tYXJjYSBt7XJlYW5uYSIKKworIzogb3B0aW9uLmM6NjEzNworbXNnaWQgIkU1NDI6IHVuYmFsYW5jZWQgZ3JvdXBzIgorbXNnc3RyICJFNTQyOiBncvpwYe0gbmVhbWhjaG90aHJvbWFpdGhlIgorCisjOiBvcHRpb24uYzo2Mzc3Cittc2dpZCAiRTU5MDogQSBwcmV2aWV3IHdpbmRvdyBhbHJlYWR5IGV4aXN0cyIKK21zZ3N0ciAiRTU5MDogVOEgZnVpbm5lb2cgculhbWhhbWhhaXJjIGFubiBjaGVhbmEiCisKKyM6IG9wdGlvbi5jOjY2MjQKK21zZ2lkICJXMTc6IEFyYWJpYyByZXF1aXJlcyBVVEYtOCwgZG8gJzpzZXQgZW5jb2Rpbmc9dXRmLTgnIgorbXNnc3RyICIiCisiVzE3OiBU4SBVVEYtOCBhZyB0ZWFzdOFpbCBsZSBoYWdoYWlkaCBBcmFpYmlzZSwgc29jcmFpZ2gg6SBsZSAnOnNldCAiCisiZW5jb2Rpbmc9dXRmLTgnIgorCisjOiBvcHRpb24uYzo2OTg4CisjLCBjLWZvcm1hdAorbXNnaWQgIkU1OTM6IE5lZWQgYXQgbGVhc3QgJWQgbGluZXMiCittc2dzdHIgIkU1OTM6IFThIGfhIGxlICVkIGztbmUgYXIgYSBsYWdoYWQiCisKKyM6IG9wdGlvbi5jOjY5OTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTU5NDogTmVlZCBhdCBsZWFzdCAlZCBjb2x1bW5zIgorbXNnc3RyICJFNTk0OiBU4SBn4SBsZSAlZCBjb2z6biBhciBhIGxhZ2hhZCIKKworIzogb3B0aW9uLmM6NzMwNworIywgYy1mb3JtYXQKK21zZ2lkICJFMzU1OiBVbmtub3duIG9wdGlvbjogJXMiCittc2dzdHIgIkUzNTU6IFJvZ2hhIGFuYWl0aG5pZDogJXMiCisKKyM6IG9wdGlvbi5jOjc0NDAKK21zZ2lkICIiCisiXG4iCisiLS0tIFRlcm1pbmFsIGNvZGVzIC0tLSIKK21zZ3N0ciAiIgorIlxuIgorIi0tLSBD82lkIHRlaXJtaW7paWwgLS0tIgorCisjOiBvcHRpb24uYzo3NDQyCittc2dpZCAiIgorIlxuIgorIi0tLSBHbG9iYWwgb3B0aW9uIHZhbHVlcyAtLS0iCittc2dzdHIgIiIKKyJcbiIKKyItLS0gTHVhY2hhbm5hIG5hIHJvZ2hhbm5hIGNvbWhjaG9pdGVhbm4gLS0tIgorCisjOiBvcHRpb24uYzo3NDQ0Cittc2dpZCAiIgorIlxuIgorIi0tLSBMb2NhbCBvcHRpb24gdmFsdWVzIC0tLSIKK21zZ3N0ciAiIgorIlxuIgorIi0tLSBMdWFjaGFubmEgbmEgcm9naGFubmEgbG9n4W50YSAtLS0iCisKKyM6IG9wdGlvbi5jOjc0NDYKK21zZ2lkICIiCisiXG4iCisiLS0tIE9wdGlvbnMgLS0tIgorbXNnc3RyICIiCisiXG4iCisiLS0tIFJvZ2hhbm5hIC0tLSIKKworIzogb3B0aW9uLmM6ODE2OQorbXNnaWQgIkUzNTY6IGdldF92YXJwIEVSUk9SIgorbXNnc3RyICJFMzU2OiBFQVJSwUlEIGdldF92YXJwIgorCisjOiBvcHRpb24uYzo5MTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIkUzNTc6ICdsYW5nbWFwJzogTWF0Y2hpbmcgY2hhcmFjdGVyIG1pc3NpbmcgZm9yICVzIgorbXNnc3RyICJFMzU3OiAnbGFuZ21hcCc6IENhcmFjaHRhciBjb21ob2lyafpuYWNoIGFyIGlhcnJhaWRoIGxlIGhhZ2hhaWRoICVzIgorCisjOiBvcHRpb24uYzo5MTcyCisjLCBjLWZvcm1hdAorbXNnaWQgIkUzNTg6ICdsYW5nbWFwJzogRXh0cmEgY2hhcmFjdGVycyBhZnRlciBzZW1pY29sb246ICVzIgorbXNnc3RyICJFMzU4OiAnbGFuZ21hcCc6IENhcmFjaHRhaXIgYnJlaXNlIGkgbmRpYWlkaCBhbiBpZGlyc3RhZDogJXMiCisKKyM6IG9zX2FtaWdhLmM6MjgwCittc2dpZCAiY2Fubm90IG9wZW4gIgorbXNnc3RyICJu7SBm6WlkaXIgYSBvc2NhaWx0OiAiCisKKyM6IG9zX2FtaWdhLmM6MzE0Cittc2dpZCAiVklNOiBDYW4ndCBvcGVuIHdpbmRvdyFcbiIKK21zZ3N0ciAiVklNOiBO7SBm6WlkaXIgZnVpbm5lb2cgYSBvc2NhaWx0IVxuIgorCisjOiBvc19hbWlnYS5jOjMzOAorbXNnaWQgIk5lZWQgQW1pZ2Fkb3MgdmVyc2lvbiAyLjA0IG9yIGxhdGVyXG4iCittc2dzdHIgIlThIGfhIGxlIEFtaWdhZG9zIGxlYWdhbiAyLjA0IG7zIG7tb3MgZOlhbmHtXG4iCisKKyM6IG9zX2FtaWdhLmM6MzQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIk5lZWQgJXMgdmVyc2lvbiAlbGRcbiIKK21zZ3N0ciAiVOEgZ+EgbGUgJXMsIGxlYWdhbiAlbGRcbiIKKworIzogb3NfYW1pZ2EuYzo0MTYKK21zZ2lkICJDYW5ub3Qgb3BlbiBOSUw6XG4iCittc2dzdHIgIk7tIGbpaWRpciBOSUwgYSBvc2NhaWx0OlxuIgorCisjOiBvc19hbWlnYS5jOjQyNworbXNnaWQgIkNhbm5vdCBjcmVhdGUgIgorbXNnc3RyICJO7SBm6WlkaXIgYSBjaHJ1dGj6OiAiCisKKyM6IG9zX2FtaWdhLmM6OTA1CisjLCBjLWZvcm1hdAorbXNnaWQgIlZpbSBleGl0aW5nIHdpdGggJWRcbiIKK21zZ3N0ciAiVmltIOEgc2NvciBsZSBzdOFkYXMgJWRcbiIKKworIzogb3NfYW1pZ2EuYzo5NDEKK21zZ2lkICJjYW5ub3QgY2hhbmdlIGNvbnNvbGUgbW9kZSA/IVxuIgorbXNnc3RyICJu7SBm6WlkaXIgbfNkIGNvbnPzaWwgYSBhdGhy+iA/IVxuIgorCisjOiBvc19hbWlnYS5jOjEwMTIKK21zZ2lkICJtY2hfZ2V0X3NoZWxsc2l6ZTogbm90IGEgY29uc29sZT8/XG4iCittc2dzdHIgIm1jaF9nZXRfc2hlbGxzaXplOiBu7SBjb25z82wg6SBzZW8/P1xuIgorCisjLiBpZiBWaW0gb3BlbmVkIGEgd2luZG93OiBFeGVjdXRpbmcgYSBzaGVsbCBtYXkgY2F1c2UgY3Jhc2hlcworIzogb3NfYW1pZ2EuYzoxMTYxCittc2dpZCAiRTM2MDogQ2Fubm90IGV4ZWN1dGUgc2hlbGwgd2l0aCAtZiBvcHRpb24iCittc2dzdHIgIkUzNjA6IE7tIGbpaWRpciBibGFvc2MgYSByaXRoIGxlIHJvZ2hhIC1mIgorCisjOiBvc19hbWlnYS5jOjEyMDIgb3NfYW1pZ2EuYzoxMjkyCittc2dpZCAiQ2Fubm90IGV4ZWN1dGUgIgorbXNnc3RyICJO7SBm6WlkaXIgYmxhb3NjIGEgcml0aDogIgorCisjOiBvc19hbWlnYS5jOjEyMDUgb3NfYW1pZ2EuYzoxMzAyCittc2dpZCAic2hlbGwgIgorbXNnc3RyICJibGFvc2MgIgorCisjOiBvc19hbWlnYS5jOjEyMjUgb3NfYW1pZ2EuYzoxMzI3Cittc2dpZCAiIHJldHVybmVkXG4iCittc2dzdHIgIiBhaXNmaGlsbGVhZGhcbiIKKworIzogb3NfYW1pZ2EuYzoxNDY4Cittc2dpZCAiQU5DSE9SX0JVRl9TSVpFIHRvbyBzbWFsbC4iCittc2dzdHIgIkFOQ0hPUl9CVUZfU0laRSBy82JoZWFnLiIKKworIzogb3NfYW1pZ2EuYzoxNDcyCittc2dpZCAiSS9PIEVSUk9SIgorbXNnc3RyICJFQVJSwUlEIEkvQSIKKworIzogb3NfbXN3aW4uYzo1OTcKK21zZ2lkICIuLi4odHJ1bmNhdGVkKSIKK21zZ3N0ciAiLi4uKHRlYXNjdGhhKSIKKworIzogb3NfbXN3aW4uYzo3MTQKK21zZ2lkICInY29sdW1ucycgaXMgbm90IDgwLCBjYW5ub3QgZXhlY3V0ZSBleHRlcm5hbCBjb21tYW5kcyIKK21zZ3N0ciAibu0gODAg6SAnY29sdW1ucycsIG7tIGbpaWRpciBvcmR1aXRoZSBzZWFjaHRyYWNoYSBhIHJpdGgiCisKKyM6IG9zX21zd2luLmM6MjA3MgorbXNnaWQgIkUyMzc6IFByaW50ZXIgc2VsZWN0aW9uIGZhaWxlZCIKK21zZ3N0ciAiRTIzNzogVGhlaXAgYXIgcm9naG76IHByaW506WFyYSIKKworIzogb3NfbXN3aW4uYzoyMTEyCisjLCBjLWZvcm1hdAorbXNnaWQgInRvICVzIG9uICVzIgorbXNnc3RyICJnbyAlcyBhciAlcyIKKworIzogb3NfbXN3aW4uYzoyMTI3CisjLCBjLWZvcm1hdAorbXNnaWQgIkU2MTM6IFVua25vd24gcHJpbnRlciBmb250OiAlcyIKK21zZ3N0ciAiRTYxMzogQ2zzZmhvaXJlYW5uIGFuYWl0aG5pZCBwcmludOlhcmE6ICVzIgorCisjOiBvc19tc3dpbi5jOjIxNzYgb3NfbXN3aW4uYzoyMTg2CisjLCBjLWZvcm1hdAorbXNnaWQgIkUyMzg6IFByaW50IGVycm9yOiAlcyIKK21zZ3N0ciAiRTIzODogRWFycuFpZCBwaHJpb2504WxhOiAlcyIKKworIzogb3NfbXN3aW4uYzoyMjE0CisjLCBjLWZvcm1hdAorbXNnaWQgIlByaW50aW5nICclcyciCittc2dzdHIgIiclcycg4SBwaHJpb2504WlsIgorCisjOiBvc19tc3dpbi5jOjMzNTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTI0NDogSWxsZWdhbCBjaGFyc2V0IG5hbWUgXCIlc1wiIGluIGZvbnQgbmFtZSBcIiVzXCIiCittc2dzdHIgIiIKKyJFMjQ0OiBBaW5tIG5lYW1oY2hlYWRhaXRoZSBhciB0aGFjYXIgY2FyYWNodGFyIFwiJXNcIiBtYXIgcGjhaXJ0IGQnYWlubSBjbPMgIgorIlwiJXNcIiIKKworIzogb3NfbXN3aW4uYzozMzYzCisjLCBjLWZvcm1hdAorbXNnaWQgIkUyNDU6IElsbGVnYWwgY2hhciAnJWMnIGluIGZvbnQgbmFtZSBcIiVzXCIiCittc2dzdHIgIkUyNDU6IENhcmFjaHRhciBuZWFtaGNoZWFkYWl0aGUgJyVjJyBtYXIgcGjhaXJ0IGQnYWlubSBjbPMgXCIlc1wiIgorCisjOiBvc19yaXNjb3MuYzoxMjU5Cittc2dpZCAiRTM2NjogSW52YWxpZCAnb3NmaWxldHlwZScgb3B0aW9uIC0gdXNpbmcgVGV4dCIKK21zZ3N0ciAiRTM2NjogUm9naGEgbmVhbWhiaGFpbO0gJ29zZmlsZXR5cGUnIC0gYWcgYmFpbnQg+nPhaWQgYXMgYFRleHQnIgorCisjOiBvc191bml4LmM6OTgwCittc2dpZCAiVmltOiBEb3VibGUgc2lnbmFsLCBleGl0aW5nXG4iCittc2dzdHIgIlZpbTogQ29taGFydGhhIGT6YmFpbHRlLCBhZyBzY29yXG4iCisKKyM6IG9zX3VuaXguYzo5ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVmltOiBDYXVnaHQgZGVhZGx5IHNpZ25hbCAlc1xuIgorbXNnc3RyICJWaW06IEZ1YXJ0aGFzIGNvbWhhcnRoYSBtYXJmYWNoICVzXG4iCisKKyM6IG9zX3VuaXguYzo5ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiVmltOiBDYXVnaHQgZGVhZGx5IHNpZ25hbFxuIgorbXNnc3RyICJWaW06IEZ1YXJ0aGFzIGNvbWhhcnRoYSBtYXJmYWNoXG4iCisKKyM6IG9zX3VuaXguYzoxMjk3CisjLCBjLWZvcm1hdAorbXNnaWQgIk9wZW5pbmcgdGhlIFggZGlzcGxheSB0b29rICVsZCBtc2VjIgorbXNnc3RyICJUaPNnICVsZCBtcyBjaHVuIGFuIHNj4WlsZeFuIFggYSBvc2NhaWx0IgorCisjLiBLREUgc29tZXRpbWVzIHByb2R1Y2VzIFggZXJyb3IgdGhhdCB3ZSB3YW50IHRvIGlnbm9yZQorIzogb3NfdW5peC5jOjEzMjYKK21zZ2lkICIiCisiXG4iCisiVmltOiBHb3QgWCBlcnJvciBidXQgd2UgY29udGludWUuLi5cbiIKK21zZ3N0ciAiIgorIlxuIgorIlZpbTogRnVhcnRoYXMgZWFycuFpZCBYIGFjaCBhciBhZ2hhaWRoIGxpbm4uLi5cbiIKKworIzogb3NfdW5peC5jOjEzMzAKK21zZ2lkICIiCisiXG4iCisiVmltOiBHb3QgWCBlcnJvclxuIgorbXNnc3RyICIiCisiXG4iCisiVmltOiBGdWFydGhhcyBlYXJy4WlkIPMgWFxuIgorCisjOiBvc191bml4LmM6MTQ0MworbXNnaWQgIlRlc3RpbmcgdGhlIFggZGlzcGxheSBmYWlsZWQiCittc2dzdHIgIlRoZWlwIGFyIHRo4XN04WlsIGFuIHNj4WlsZeFpbiBYIgorCisjOiBvc191bml4LmM6MTU4MgorbXNnaWQgIk9wZW5pbmcgdGhlIFggZGlzcGxheSB0aW1lZCBvdXQiCittc2dzdHIgIk9zY2FpbHQgYW4gc2PhaWxl4WluIFggdGhhciBhbSIKKworIzogb3NfdW5peC5jOjMzMzUgb3NfdW5peC5jOjQwMTYKK21zZ2lkICIiCisiXG4iCisiQ2Fubm90IGV4ZWN1dGUgc2hlbGwgIgorbXNnc3RyICIiCisiXG4iCisiTu0gZulpZGlyIGJsYW9zYyBhIHJpdGggIgorCisjOiBvc191bml4LmM6MzM4MworbXNnaWQgIiIKKyJcbiIKKyJDYW5ub3QgZXhlY3V0ZSBzaGVsbCBzaFxuIgorbXNnc3RyICIiCisiXG4iCisiTu0gZulpZGlyIGFuIGJobGFvc2Mgc2ggYSByaXRoXG4iCisKKyM6IG9zX3VuaXguYzozMzg3IG9zX3VuaXguYzo0MDIyCittc2dpZCAiIgorIlxuIgorInNoZWxsIHJldHVybmVkICIKK21zZ3N0ciAiIgorIlxuIgorImQnYWlzZmhpbGwgYW4gYmhsYW9zYyAiCisKKyM6IG9zX3VuaXguYzozNTIyCittc2dpZCAiIgorIlxuIgorIkNhbm5vdCBjcmVhdGUgcGlwZXNcbiIKK21zZ3N0ciAiIgorIlxuIgorIk7tIGbpaWRpciBw7W9wYe0gYSBjaHJ1dGj6XG4iCisKKyMgImZvcmsiIG5vdCBpbiBzdGFuZGFyZCByZWZzL2NvcnB1cy4gIE1heWJlIHdhbnQgYSAiZ2FiaGwqIiB3b3JkIGluc3RlYWQ/IC1LUFMKKyM6IG9zX3VuaXguYzozNTM3Cittc2dpZCAiIgorIlxuIgorIkNhbm5vdCBmb3JrXG4iCittc2dzdHIgIiIKKyJcbiIKKyJO7SBm6WlkaXIgZm9yYyBhIGRo6WFuYW1oXG4iCisKKyM6IG9zX3VuaXguYzo0MDI5Cittc2dpZCAiIgorIlxuIgorIkNvbW1hbmQgdGVybWluYXRlZFxuIgorbXNnc3RyICIiCisiXG4iCisiT3Jk+iBjcu1vY2huYWl0aGVcbiIKKworIzogb3NfdW5peC5jOjQzMTYgb3NfdW5peC5jOjQ0NTggb3NfdW5peC5jOjYxNzYKK21zZ2lkICJYU01QIGxvc3QgSUNFIGNvbm5lY3Rpb24iCittc2dzdHIgIkNoYWlsbCBYU01QIGFuIG5hc2MgSUNFIgorCisjOiBvc191bml4LmM6NTU3NiBvc191bml4LmM6NTY3NworIywgYy1mb3JtYXQKK21zZ2lkICJkbGVycm9yID0gXCIlc1wiIgorbXNnc3RyICJkbGVycm9yID0gXCIlc1wiIgorCisjOiBvc191bml4LmM6NTc1OQorbXNnaWQgIk9wZW5pbmcgdGhlIFggZGlzcGxheSBmYWlsZWQiCittc2dzdHIgIlRoZWlwIGFyIG9zY2FpbHQgYW4gc2PhaWxl4WluIFgiCisKKyM6IG9zX3VuaXguYzo2MDgxCittc2dpZCAiWFNNUCBoYW5kbGluZyBzYXZlLXlvdXJzZWxmIHJlcXVlc3QiCittc2dzdHIgIklhcnJhdGFzIHPhYmjhaWwtZG8tZulpbiDhIGzhaW1oc2XhaWwgYWcgWFNNUCIKKworIzogb3NfdW5peC5jOjYyMDAKK21zZ2lkICJYU01QIG9wZW5pbmcgY29ubmVjdGlvbiIKK21zZ3N0ciAiTmFzYyDhIG9zY2FpbHQgYWcgWFNNUCIKKworIzogb3NfdW5peC5jOjYyMTkKK21zZ2lkICJYU01QIElDRSBjb25uZWN0aW9uIHdhdGNoIGZhaWxlZCIKK21zZ3N0ciAiVGhlaXAgYXIgZmhhaXJlIG5hc2MgSUNFIFhTTVAiCisKKyM6IG9zX3VuaXguYzo2MjM5CisjLCBjLWZvcm1hdAorbXNnaWQgIlhTTVAgU21jT3BlbkNvbm5lY3Rpb24gZmFpbGVkOiAlcyIKK21zZ3N0ciAiVGhlaXAgYXIgWFNNUCBTbWNPcGVuQ29ubmVjdGlvbjogJXMiCisKKyM6IG9zX3Ztc19tbXMuYzo1OQorbXNnaWQgIkF0IGxpbmUiCittc2dzdHIgIkFnIGztbmUiCisKKyM6IG9zX3czMmV4ZS5jOjg4Cittc2dpZCAiQ291bGQgbm90IGxvYWQgdmltMzIuZGxsISIKK21zZ3N0ciAiTu1vcmJoIGZo6WlkaXIgdmltMzIuZGxsIGEgbHVjaHT6ISIKKworIzogb3NfdzMyZXhlLmM6ODggb3NfdzMyZXhlLmM6OTkKK21zZ2lkICJWSU0gRXJyb3IiCittc2dzdHIgIkVhcnLhaWQgVklNIgorCisjOiBvc193MzJleGUuYzo5OAorbXNnaWQgIkNvdWxkIG5vdCBmaXggdXAgZnVuY3Rpb24gcG9pbnRlcnMgdG8gdGhlIERMTCEiCittc2dzdHIgIk7tb3JiaCBmaOlpZGlyIHBvaW50ZW9pcu0gZmVpZGhtZSBhIGNo82lyafogaSBnY29taGFpciBhbiBETEwhIgorCisjOiBvc193aW4xNi5jOjM0MiBvc193aW4zMi5jOjMzMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAic2hlbGwgcmV0dXJuZWQgJWQiCittc2dzdHIgImQnYWlzZmhpbGwgYW4gYmhsYW9zYyAlZCIKKworIzogb3Nfd2luMzIuYzoyNzc2CisjLCBjLWZvcm1hdAorbXNnaWQgIlZpbTogQ2F1Z2h0ICVzIGV2ZW50XG4iCittc2dzdHIgIlZpbTogRnVhcnRoYXMgdGVhZ21oYXMgJXNcbiIKKworIzogb3Nfd2luMzIuYzoyNzc4Cittc2dpZCAiY2xvc2UiCittc2dzdHIgImT6biIKKworIzogb3Nfd2luMzIuYzoyNzgwCittc2dpZCAibG9nb2ZmIgorbXNnc3RyICJsb2fhaWwgYW1hY2giCisKKyM6IG9zX3dpbjMyLmM6Mjc4MQorbXNnaWQgInNodXRkb3duIgorbXNnc3RyICJt+mNoYWRoIgorCisjOiBvc193aW4zMi5jOjMyNzAKK21zZ2lkICJFMzcxOiBDb21tYW5kIG5vdCBmb3VuZCIKK21zZ3N0ciAiRTM3MTogTu0gYmhmdWFydGhhcyBhbiB0LW9yZPoiCisKKyM6IG9zX3dpbjMyLmM6MzI4MworbXNnaWQgIiIKKyJWSU1SVU4uRVhFIG5vdCBmb3VuZCBpbiB5b3VyICRQQVRILlxuIgorIkV4dGVybmFsIGNvbW1hbmRzIHdpbGwgbm90IHBhdXNlIGFmdGVyIGNvbXBsZXRpb24uXG4iCisiU2VlICA6aGVscCB3aW4zMi12aW1ydW4gIGZvciBtb3JlIGluZm9ybWF0aW9uLiIKK21zZ3N0ciAiIgorIk7tb3IgYWltc+1vZGggVklNUlVOLkVYRSBpIGRvICRQQVRILlxuIgorIk7tIG1ob2lsbGVvaWRoIG9yZHVpdGhlIHNlYWNodHJhY2hhIGFndXMgaWFkIGN1cnRoYSBpIGdjcu1jaC5cbiIKKyJG6WFjaCBhciAgOmhlbHAgd2luMzItdmltcnVuICBjaHVuIG7tb3MgbfMgZW9sYXMgYSBmaOFpbC4iCisKKyM6IG9zX3dpbjMyLmM6MzI4NgorbXNnaWQgIlZpbSBXYXJuaW5nIgorbXNnc3RyICJSYWJoYWRoIFZpbSIKKworIzogcXVpY2tmaXguYzoyODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTM3MjogVG9vIG1hbnkgJSUlYyBpbiBmb3JtYXQgc3RyaW5nIgorbXNnc3RyICJFMzcyOiBBbiBpb21hcmNhICUlJWMgaSBkdGVhZ2hy4W4gZm9ybeFpZGUiCisKKyM6IHF1aWNrZml4LmM6Mjk3CisjLCBjLWZvcm1hdAorbXNnaWQgIkUzNzM6IFVuZXhwZWN0ZWQgJSUlYyBpbiBmb3JtYXQgc3RyaW5nIgorbXNnc3RyICJFMzczOiAlJSVjIGdhbiBjaG9pbm5lIGkgZHRlYWdocuFuIGZvcm3haWRlIgorCisjOiBxdWlja2ZpeC5jOjM1MQorbXNnaWQgIkUzNzQ6IE1pc3NpbmcgXSBpbiBmb3JtYXQgc3RyaW5nIgorbXNnc3RyICJFMzc0OiBdIGFyIGlhcnJhaWRoIGkgZHRlYWdocuFuIGZvcm3haWRlIgorCisjOiBxdWlja2ZpeC5jOjM2NQorIywgYy1mb3JtYXQKK21zZ2lkICJFMzc1OiBVbnN1cHBvcnRlZCAlJSVjIGluIGZvcm1hdCBzdHJpbmciCittc2dzdHIgIkUzNzU6ICUlJWMgZ2FuIHRhY2Htb2NodCBpIGR0ZWFnaHLhbiBmb3Jt4WlkZSIKKworIzogcXVpY2tmaXguYzozODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTM3NjogSW52YWxpZCAlJSVjIGluIGZvcm1hdCBzdHJpbmcgcHJlZml4IgorbXNnc3RyICJFMzc2OiAlJSVjIG5lYW1oYmhhaWztIGkgculpbe1yIGFuIHRlYWdocuFpbiBmb3Jt4WlkZSIKKworIzogcXVpY2tmaXguYzozOTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTM3NzogSW52YWxpZCAlJSVjIGluIGZvcm1hdCBzdHJpbmciCittc2dzdHIgIkUzNzc6ICUlJWMgbmVhbWhiaGFpbO0gaSBkdGVhZ2hy4W4gZm9ybeFpZGUiCisKKyM6IHF1aWNrZml4LmM6NDE3Cittc2dpZCAiRTM3ODogJ2Vycm9yZm9ybWF0JyBjb250YWlucyBubyBwYXR0ZXJuIgorbXNnc3RyICJFMzc4OiBO7WwgYW9uIHBoYXRy+m4gaSAnZXJyb3Jmb3JtYXQnIgorCisjOiBxdWlja2ZpeC5jOjUzNworbXNnaWQgIkUzNzk6IE1pc3Npbmcgb3IgZW1wdHkgZGlyZWN0b3J5IG5hbWUiCittc2dzdHIgIkUzNzk6IEFpbm0gY29taGFkbGFpbm5lIGFyIGlhcnJhaWRoLCBu8yBmb2xhbWgiCisKKyM6IHF1aWNrZml4LmM6MTAyNworbXNnaWQgIkU1NTM6IE5vIG1vcmUgaXRlbXMiCittc2dzdHIgIkU1NTM6IE7tbCBhb24gbWjtciBlaWxlIgorCisjOiBxdWlja2ZpeC5jOjEzMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiKCVkIG9mICVkKSVzJXM6ICIKK21zZ3N0ciAiKCVkIGFzICVkKSVzJXM6ICIKKworIzogcXVpY2tmaXguYzoxMzI2Cittc2dpZCAiIChsaW5lIGRlbGV0ZWQpIgorbXNnc3RyICIgKGztbmUgc2NyaW9zdGEpIgorCisjOiBxdWlja2ZpeC5jOjE1MzkKK21zZ2lkICJFMzgwOiBBdCBib3R0b20gb2YgcXVpY2tmaXggc3RhY2siCittc2dzdHIgIkUzODA6IEluIO1vY2h0YXIgbmEgY3J1YWljaGUgcXVpY2tmaXgiCisKKyM6IHF1aWNrZml4LmM6MTU0OAorbXNnaWQgIkUzODE6IEF0IHRvcCBvZiBxdWlja2ZpeCBzdGFjayIKK21zZ3N0ciAiRTM4MTogSW4gdWFjaHRhciBuYSBjcnVhaWNoZSBxdWlja2ZpeCIKKworIzogcXVpY2tmaXguYzoxNTYwCisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yIGxpc3QgJWQgb2YgJWQ7ICVkIGVycm9ycyIKK21zZ3N0ciAibGlvc3RhIGVhcnLhaWTtICVkIGFzICVkOyAlZCBlYXJy4WlkIgorCisjOiBxdWlja2ZpeC5jOjIwNDIKK21zZ2lkICJFMzgyOiBDYW5ub3Qgd3JpdGUsICdidWZ0eXBlJyBvcHRpb24gaXMgc2V0IgorbXNnc3RyICJFMzgyOiBO7SBm6WlkaXIgc2Ny7W9iaCwgcm9naGEgJ2J1ZnR5cGUnIHNvY3JhaXRoZSIKKworIzogcXVpY2tmaXguYzoyMzI5Cittc2dpZCAiRTY4MjogSW52YWxpZCBzZWFyY2ggcGF0dGVybiBvciBkZWxpbWl0ZXIiCittc2dzdHIgIkU2ODI6IFBhdHL6biBu8yB0ZW9ybWhhcmPzaXIgbmVhbWhiaGFpbO0gY3VhcmRhaWdoIgorCisjOiBxdWlja2ZpeC5jOjIzNDIKK21zZ2lkICJFNjgzOiBGaWxlIG5hbWUgbWlzc2luZyBvciBpbnZhbGlkIHBhdHRlcm4iCittc2dzdHIgIkU2ODM6IEFpbm0gY29taGFpZCBhciBpYXJyYWlkaCwgbvMgcGF0cvpuIG5lYW1oYmhhaWztIgorCisjOiBxdWlja2ZpeC5jOjI0MjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IG9wZW4gZmlsZSBcIiVzXCIiCittc2dzdHIgIk7tIGbpaWRpciBjb21oYWQgXCIlc1wiIGEgb3NjYWlsdCIKKworIzogcXVpY2tmaXguYzoyNjk3Cittc2dpZCAiRTY4MTogQnVmZmVyIGlzIG5vdCBsb2FkZWQiCittc2dzdHIgIkU2ODE6IE7tbCBhbiBtYW9s4W4gbHVjaHRhaXRoZSIKKworIzogcmVnZXhwLmM6MzE5CisjLCBjLWZvcm1hdAorbXNnaWQgIkUzNjk6IGludmFsaWQgaXRlbSBpbiAlcyUlW10iCittc2dzdHIgIkUzNjk6IG3tciBuZWFtaGJoYWls7SBpICVzJSVbXSIKKworIzogcmVnZXhwLmM6ODM3Cittc2dpZCAiRTMzOTogUGF0dGVybiB0b28gbG9uZyIKK21zZ3N0ciAiRTMzOTogU2xvbm4gcvNmaGFkYSIKKworIzogcmVnZXhwLmM6MTAwOAorbXNnaWQgIkU1MDogVG9vIG1hbnkgXFx6KCIKK21zZ3N0ciAiRTUwOiBhbiBpb21hcmNhIFxceigiCisKKyM6IHJlZ2V4cC5jOjEwMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTUxOiBUb28gbWFueSAlcygiCittc2dzdHIgIkU1MTogYW4gaW9tYXJjYSAlcygiCisKKyM6IHJlZ2V4cC5jOjEwNzYKK21zZ2lkICJFNTI6IFVubWF0Y2hlZCBcXHooIgorbXNnc3RyICJFNTI6IFxceiggY29yciIKKworIzogcmVnZXhwLmM6MTA4MAorIywgYy1mb3JtYXQKK21zZ2lkICJFNTM6IFVubWF0Y2hlZCAlcyUlKCIKK21zZ3N0ciAiRTUzOiAlcyUlKCBjb3JyIgorCisjOiByZWdleHAuYzoxMDgyCisjLCBjLWZvcm1hdAorbXNnaWQgIkU1NDogVW5tYXRjaGVkICVzKCIKK21zZ3N0ciAiRTU0OiAlcyggY29yciIKKworIzogcmVnZXhwLmM6MTA4NworIywgYy1mb3JtYXQKK21zZ2lkICJFNTU6IFVubWF0Y2hlZCAlcykiCittc2dzdHIgIkU1NTogJXMpIGNvcnIiCisKKyM6IHJlZ2V4cC5jOjEyNTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTU2OiAlcyogb3BlcmFuZCBjb3VsZCBiZSBlbXB0eSIKK21zZ3N0ciAiRTU2OiBpcyBm6WlkaXIgZ28gYmhmdWlsIGFuIHQtb2licmVhbm4gJXMqIGZvbGFtaCIKKworIzogcmVnZXhwLmM6MTI2MAorIywgYy1mb3JtYXQKK21zZ2lkICJFNTc6ICVzKyBvcGVyYW5kIGNvdWxkIGJlIGVtcHR5IgorbXNnc3RyICJFNTc6IGlzIGbpaWRpciBnbyBiaGZ1aWwgYW4gdC1vaWJyZWFubiAlcysgZm9sYW1oIgorCisjOiByZWdleHAuYzoxMzE1CisjLCBjLWZvcm1hdAorbXNnaWQgIkU1OTogaW52YWxpZCBjaGFyYWN0ZXIgYWZ0ZXIgJXNAIgorbXNnc3RyICJFNTk6IGNhcmFjaHRhciBuZWFtaGJoYWls7SBpIG5kaWFpZGggJXNAIgorCisjOiByZWdleHAuYzoxMzQzCisjLCBjLWZvcm1hdAorbXNnaWQgIkU1ODogJXN7IG9wZXJhbmQgY291bGQgYmUgZW1wdHkiCittc2dzdHIgIkU1ODogaXMgZulpZGlyIGdvIGJoZnVpbCBhbiB0LW9pYnJlYW5uICVzKCBmb2xhbWgiCisKKyM6IHJlZ2V4cC5jOjEzNTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTYwOiBUb28gbWFueSBjb21wbGV4ICVzey4uLn1zIgorbXNnc3RyICJFNjA6IEFuIGlvbWFyY2EgJXN7Li4ufSBjb2ltcGzpYXNjYWNoIgorCisjOiByZWdleHAuYzoxMzY5CisjLCBjLWZvcm1hdAorbXNnaWQgIkU2MTogTmVzdGVkICVzKiIKK21zZ3N0ciAiRTYxOiAlcyogbmVhZGFpdGhlIgorCisjOiByZWdleHAuYzoxMzcyCisjLCBjLWZvcm1hdAorbXNnaWQgIkU2MjogTmVzdGVkICVzJWMiCittc2dzdHIgIkU2MjogJXMlYyBuZWFkYWl0aGUiCisKKyM6IHJlZ2V4cC5jOjE0OTAKK21zZ2lkICJFNjM6IGludmFsaWQgdXNlIG9mIFxcXyIKK21zZ3N0ciAiRTYzOiD6c+FpZCBuZWFtaGJoYWls7SBkZSBcXF8iCisKKyM6IHJlZ2V4cC5jOjE1MzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTY0OiAlcyVjIGZvbGxvd3Mgbm90aGluZyIKK21zZ3N0ciAiRTY0OiBu7WwgYW9uIHJ1ZCByb2ltaCAlcyVjIgorCisjOiByZWdleHAuYzoxNTkxCittc2dpZCAiRTY1OiBJbGxlZ2FsIGJhY2sgcmVmZXJlbmNlIgorbXNnc3RyICJFNjU6IEP6bHRhZ2FpcnQgbmVhbWhiaGFpbO0iCisKKyM6IHJlZ2V4cC5jOjE2MDQKK21zZ2lkICJFNjY6IFxceiggbm90IGFsbG93ZWQgaGVyZSIKK21zZ3N0ciAiRTY2OiBu7SBjaGVhZGHtdGVhciBcXHooIGFuc2VvIgorCisjOiByZWdleHAuYzoxNjIzCittc2dpZCAiRTY3OiBcXHoxIGV0IGFsLiBub3QgYWxsb3dlZCBoZXJlIgorbXNnc3RyICJFNjc6IG7tIGNoZWFkYe10ZWFyIFxcejEgZXQgYWwuIGFuc2VvIgorCisjOiByZWdleHAuYzoxNjM0Cittc2dpZCAiRTY4OiBJbnZhbGlkIGNoYXJhY3RlciBhZnRlciBcXHoiCittc2dzdHIgIkU2ODogQ2FyYWNodGFyIG5lYW1oYmhhaWztIGkgbmRpYWlkaCBcXHoiCisKKyM6IHJlZ2V4cC5jOjE2ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTY5OiBNaXNzaW5nIF0gYWZ0ZXIgJXMlJVsiCittc2dzdHIgIkU2OTogXSBhciBpYXJyYWlkaCBpIG5kaWFpZGggJXMlJVsiCisKKyM6IHJlZ2V4cC5jOjE2OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTcwOiBFbXB0eSAlcyUlW10iCittc2dzdHIgIkU3MDogJXMlJVtdIGZvbGFtaCIKKworIzogcmVnZXhwLmM6MTc0NAorIywgYy1mb3JtYXQKK21zZ2lkICJFNjc4OiBJbnZhbGlkIGNoYXJhY3RlciBhZnRlciAlcyUlW2R4b3VVXSIKK21zZ3N0ciAiRTY3ODogQ2FyYWNodGFyIG5lYW1oYmhhaWztIGkgbmRpYWlkaCAlcyUlW2R4b3VVXSIKKworIzogcmVnZXhwLmM6MTc5NQorIywgYy1mb3JtYXQKK21zZ2lkICJFNzE6IEludmFsaWQgY2hhcmFjdGVyIGFmdGVyICVzJSUiCittc2dzdHIgIkU3MTogQ2FyYWNodGFyIG5lYW1oYmhhaWztIGkgbmRpYWlkaCAlcyUlIgorCisjOiByZWdleHAuYzoyNzI4CisjLCBjLWZvcm1hdAorbXNnaWQgIkU1NTQ6IFN5bnRheCBlcnJvciBpbiAlc3suLi59IgorbXNnc3RyICJFNTU0OiBFYXJy4WlkIGNob21oculpcmUgaSAlc3suLi59IgorCisjOiByZWdleHAuYzozNDI0Cittc2dpZCAiRXh0ZXJuYWwgc3VibWF0Y2hlczpcbiIKK21zZ3N0ciAiRm8tbWhlYWl0c2XhaWwgc2hlYWNodHJhY2g6XG4iCisKKyM6IHNjcmVlbi5jOjc5ODEKK21zZ2lkICIgVlJFUExBQ0UiCittc2dzdHIgIiBWLUlPTkFEQUlHSCIKKworIzogc2NyZWVuLmM6Nzk4NQorbXNnaWQgIiBSRVBMQUNFIgorbXNnc3RyICIgQVRIQ0hVUiIKKworIzogc2NyZWVuLmM6Nzk5MAorbXNnaWQgIiBSRVZFUlNFIgorbXNnc3RyICIgVElPTlTaIgorCisjOiBzY3JlZW4uYzo3OTkyCittc2dpZCAiIElOU0VSVCIKK21zZ3N0ciAiIElPTlPBIgorCisjOiBzY3JlZW4uYzo3OTk1Cittc2dpZCAiIChpbnNlcnQpIgorbXNnc3RyICIgKGlvbnPhaWdoKSIKKworIzogc2NyZWVuLmM6Nzk5NworbXNnaWQgIiAocmVwbGFjZSkiCittc2dzdHIgIiAoaW9uYWRhaWdoKSIKKworIzogc2NyZWVuLmM6Nzk5OQorbXNnaWQgIiAodnJlcGxhY2UpIgorbXNnc3RyICIgKHYtaW9uYWRhaWdoKSIKKworIzogc2NyZWVuLmM6ODAwMgorbXNnaWQgIiBIZWJyZXciCittc2dzdHIgIiBFYWJocmFpcyIKKworIzogc2NyZWVuLmM6ODAxMworbXNnaWQgIiBBcmFiaWMiCittc2dzdHIgIiBBcmFpYmlzIgorCisjOiBzY3JlZW4uYzo4MDE2Cittc2dpZCAiIChsYW5nKSIKK21zZ3N0ciAiICh0ZWFuZ2EpIgorCisjOiBzY3JlZW4uYzo4MDIwCittc2dpZCAiIChwYXN0ZSkiCittc2dzdHIgIiAoZ3JlYW1haWdoKSIKKworIzogc2NyZWVuLmM6ODAzMworbXNnaWQgIiBWSVNVQUwiCittc2dzdHIgIiBSQURIQVJDQUNIIgorCisjOiBzY3JlZW4uYzo4MDM0Cittc2dpZCAiIFZJU1VBTCBMSU5FIgorbXNnc3RyICIgTM1ORSBSQURIQVJDQUNIIgorCisjOiBzY3JlZW4uYzo4MDM1Cittc2dpZCAiIFZJU1VBTCBCTE9DSyIKK21zZ3N0ciAiIEJMT0MgUkFESEFSQ0FDSCIKKworIzogc2NyZWVuLmM6ODAzNgorbXNnaWQgIiBTRUxFQ1QiCittc2dzdHIgIiBST0dITtoiCisKKyM6IHNjcmVlbi5jOjgwMzcKK21zZ2lkICIgU0VMRUNUIExJTkUiCittc2dzdHIgIiBTRUxFQ1QgTElORSIKKworIzogc2NyZWVuLmM6ODAzOAorbXNnaWQgIiBTRUxFQ1QgQkxPQ0siCittc2dzdHIgIiBTRUxFQ1QgQkxPQ0siCisKKyM6IHNjcmVlbi5jOjgwNTMgc2NyZWVuLmM6ODExNgorbXNnaWQgInJlY29yZGluZyIKK21zZ3N0ciAiYWcgdGFpZmVhZGFkaCIKKworIzogc2VhcmNoLmM6MzcKK21zZ2lkICJzZWFyY2ggaGl0IFRPUCwgY29udGludWluZyBhdCBCT1RUT00iCittc2dzdHIgIkJ1YWlsZWFkaCBhbiBCQVJSIGxlIGxpbm4gYW4gY2h1YXJkYWlnaCwgYWcgbGVhbvppbnQgYWcgYW4gQ0hSzU9DSCIKKworIzogc2VhcmNoLmM6MzgKK21zZ2lkICJzZWFyY2ggaGl0IEJPVFRPTSwgY29udGludWluZyBhdCBUT1AiCittc2dzdHIgIkJ1YWlsZWFkaCBhbiBCVU4gbGUgbGlubiBhbiBjaHVhcmRhaWdoLCBhZyBsZWFu+mludCBhZyBhbiBCSEFSUiIKKworIzogc2VhcmNoLmM6NTI1CisjLCBjLWZvcm1hdAorbXNnaWQgIkUzODM6IEludmFsaWQgc2VhcmNoIHN0cmluZzogJXMiCittc2dzdHIgIkUzODM6IFRlYWdocuFuIGN1YXJkYWlnaCBuZWFtaGJoYWls7TogJXMiCisKKyM6IHNlYXJjaC5jOjg2OAorIywgYy1mb3JtYXQKK21zZ2lkICJFMzg0OiBzZWFyY2ggaGl0IFRPUCB3aXRob3V0IG1hdGNoIGZvcjogJXMiCittc2dzdHIgIkUzODQ6IGJodWFpbCBhbiBjdWFyZGFjaCBhbiBCQVJSIGdhbiB0ZWFnaHLhbiBjb21ob2lyafpuYWNoIGxlICVzIgorCisjOiBzZWFyY2guYzo4NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTM4NTogc2VhcmNoIGhpdCBCT1RUT00gd2l0aG91dCBtYXRjaCBmb3I6ICVzIgorbXNnc3RyICJFMzg1OiBiaHVhaWwgYW4gY3VhcmRhY2ggYW4gQlVOIGdhbiB0ZWFnaHLhbiBjb21ob2lyafpuYWNoIGxlICVzIgorCisjOiBzZWFyY2guYzoxMjY1Cittc2dpZCAiRTM4NjogRXhwZWN0ZWQgJz8nIG9yICcvJyAgYWZ0ZXIgJzsnIgorbXNnc3RyICJFMzg2OiBBZyBz+mlsIGxlICc/JyBu8yAnLycgIGkgbmRpYWlkaCAnOyciCisKKyM6IHNlYXJjaC5jOjQxNDcKK21zZ2lkICIgKGluY2x1ZGVzIHByZXZpb3VzbHkgbGlzdGVkIG1hdGNoKSIKK21zZ3N0ciAiICh04SBhbiB0ZWFnaHLhbiBjb21ob2lyafpuYWl0aGUgcm9pbWhlIHNlbyBzYW4g4WlyZWFtaCkiCisKKyMuIGN1cnNvciBhdCBzdGF0dXMgbGluZQorIzogc2VhcmNoLmM6NDE2NworbXNnaWQgIi0tLSBJbmNsdWRlZCBmaWxlcyAiCittc2dzdHIgIi0tLSBDb21oYWlkIGNoZWFubnThaXNjICIKKworIzogc2VhcmNoLmM6NDE2OQorbXNnaWQgIm5vdCBmb3VuZCAiCittc2dzdHIgImdhbiBhaW1zafoiCisKKyM6IHNlYXJjaC5jOjQxNzAKK21zZ2lkICJpbiBwYXRoIC0tLVxuIgorbXNnc3RyICJpIGdjb25haXIgLS0tXG4iCisKKyM6IHNlYXJjaC5jOjQyMjcKK21zZ2lkICIgIChBbHJlYWR5IGxpc3RlZCkiCittc2dzdHIgIiAgKExpb3N0YWl0aGUgY2hlYW5hIGbpaW4pIgorCisjOiBzZWFyY2guYzo0MjI5Cittc2dpZCAiICBOT1QgRk9VTkQiCittc2dzdHIgIiAgQVIgSUFSUkFJREgiCisKKyM6IHNlYXJjaC5jOjQyODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2Nhbm5pbmcgaW5jbHVkZWQgZmlsZTogJXMiCittc2dzdHIgIkNvbWhhZCBjZWFubnThaXNjIOEgc2NhbmFkaDogJXMiCisKKyM6IHNlYXJjaC5jOjQ0OTkKK21zZ2lkICJFMzg3OiBNYXRjaCBpcyBvbiBjdXJyZW50IGxpbmUiCittc2dzdHIgIkUzODc6IFThIGFuIHRlYWdocuFuIGNvbWhvaXJp+m5haXRoZSBhciBhbiBs7W5lIHJlYXRoYSIKKworIzogc2VhcmNoLmM6NDY0MgorbXNnaWQgIkFsbCBpbmNsdWRlZCBmaWxlcyB3ZXJlIGZvdW5kIgorbXNnc3RyICJBaW1z7W9kaCBnYWNoIGNvbWhhZCBjZWFubnThaXNjIgorCisjOiBzZWFyY2guYzo0NjQ0Cittc2dpZCAiTm8gaW5jbHVkZWQgZmlsZXMiCittc2dzdHIgIkdhbiBjb21oYWlkIGNoZWFubnThaXNjIgorCisjOiBzZWFyY2guYzo0NjYwCittc2dpZCAiRTM4ODogQ291bGRuJ3QgZmluZCBkZWZpbml0aW9uIgorbXNnc3RyICJFMzg4OiBTYWlubWjtbmn6IGdhbiBhaW1zafoiCisKKyM6IHNlYXJjaC5jOjQ2NjIKK21zZ2lkICJFMzg5OiBDb3VsZG4ndCBmaW5kIHBhdHRlcm4iCittc2dzdHIgIkUzODk6IFBhdHL6biBnYW4gYWltc2n6IgorCisjOiBzeW50YXguYzozMDcwCisjLCBjLWZvcm1hdAorbXNnaWQgIkUzOTA6IElsbGVnYWwgYXJndW1lbnQ6ICVzIgorbXNnc3RyICJFMzkwOiBBcmfzaW50IG5lYW1oY2hlYWRhaXRoZTogJXMiCisKKyM6IHN5bnRheC5jOjMyNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTM5MTogTm8gc3VjaCBzeW50YXggY2x1c3RlcjogJXMiCittc2dzdHIgIkUzOTE6IE7tbCBhIGxlaXRo6WlkIGRlIG1ob2dhbGwgY29taHLpaXJlOiAlcyIKKworIzogc3ludGF4LmM6MzQxMQorbXNnaWQgIk5vIFN5bnRheCBpdGVtcyBkZWZpbmVkIGZvciB0aGlzIGJ1ZmZlciIKK21zZ3N0ciAiTu1sIGFvbiBtaO1yIGNob21oculpcmUgc2Fpbm1o7W5pdGhlIGxlIGhhZ2hhaWRoIGFuIG1oYW9s4WluIHNlbyIKKworIzogc3ludGF4LmM6MzQxOQorbXNnaWQgInN5bmNpbmcgb24gQy1zdHlsZSBjb21tZW50cyIKK21zZ3N0ciAiYWcgc2lvbmNy8276IGFyIG7zdGEgZGVuIG7zcyBDIgorCisjOiBzeW50YXguYzozNDI3Cittc2dpZCAibm8gc3luY2luZyIKK21zZ3N0ciAiZ2FuIHNpb25jcvNu+iIKKworIzogc3ludGF4LmM6MzQzMAorbXNnaWQgInN5bmNpbmcgc3RhcnRzICIKK21zZ3N0ciAidG9zYe1vbm4gYW4gc2lvbmNy8276ICIKKworIzogc3ludGF4LmM6MzQzMiBzeW50YXguYzozNTA3Cittc2dpZCAiIGxpbmVzIGJlZm9yZSB0b3AgbGluZSIKK21zZ3N0ciAiIGztbnRlIHJvaW1oIGFuIGJoYXJyIgorCisjOiBzeW50YXguYzozNDM3Cittc2dpZCAiIgorIlxuIgorIi0tLSBTeW50YXggc3luYyBpdGVtcyAtLS0iCittc2dzdHIgIiIKKyJcbiIKKyItLS0gTe1yZWFubmEgQ29taHLpaXJlIFNpb25jIC0tLSIKKworIzogc3ludGF4LmM6MzQ0MgorbXNnaWQgIiIKKyJcbiIKKyJzeW5jaW5nIG9uIGl0ZW1zIgorbXNnc3RyICIiCisiXG4iCisiYWcgc2lvbmNy8276IGFyIG1o7XJlYW5uYSIKKworIzogc3ludGF4LmM6MzQ0OAorbXNnaWQgIiIKKyJcbiIKKyItLS0gU3ludGF4IGl0ZW1zIC0tLSIKK21zZ3N0ciAiIgorIlxuIgorIi0tLSBN7XJlYW5uYSBjb21oculpcmUgLS0tIgorCisjOiBzeW50YXguYzozNDcxCisjLCBjLWZvcm1hdAorbXNnaWQgIkUzOTI6IE5vIHN1Y2ggc3ludGF4IGNsdXN0ZXI6ICVzIgorbXNnc3RyICJFMzkyOiBO7WwgYSBsZWl0aOlpZCBkZSBtaG9nYWxsIGNvbWhy6WlyZTogJXMiCisKKyM6IHN5bnRheC5jOjM0OTcKK21zZ2lkICJtaW5pbWFsICIKK21zZ3N0ciAi7W9zdGEgIgorCisjOiBzeW50YXguYzozNTA0Cittc2dpZCAibWF4aW1hbCAiCittc2dzdHIgInVhc3RhICIKKworIzogc3ludGF4LmM6MzUxNgorbXNnaWQgIjsgbWF0Y2ggIgorbXNnc3RyICI7IG1lYWl0c2XhaWwgIgorCisjOiBzeW50YXguYzozNTE4Cittc2dpZCAiIGxpbmUgYnJlYWtzIgorbXNnc3RyICIgc2NvaWx0IGlkaXIgbO1udGUiCisKKyM6IHN5bnRheC5jOjQxNDYKK21zZ2lkICJFMzk1OiBjb250YWlucyBhcmd1bWVudCBub3QgYWNjZXB0ZWQgaGVyZSIKK21zZ3N0ciAiRTM5NTogdOEgYXJn82ludCBhbm4gbmFjaCBuZ2xhY3RhciBsZWlzIGFuc2VvIgorCisjOiBzeW50YXguYzo0MTU3Cittc2dpZCAiRTM5NjogY29udGFpbmVkaW4gYXJndW1lbnQgbm90IGFjY2VwdGVkIGhlcmUiCittc2dzdHIgIkUzOTY6IG7tIGdobGFjdGFyIGxlaXMgYW4gYXJn82ludCBjb250YWluZWRpbiBhbnNlbyIKKworIzogc3ludGF4LmM6NDE3OQorbXNnaWQgIkUzOTM6IGdyb3VwW3RdaGVyZSBub3QgYWNjZXB0ZWQgaGVyZSIKK21zZ3N0ciAiRTM5Mzogbu0gZ2hsYWN0YXIgbGUgZ3JvdXBbdF1oZXJlIGFuc2VvIgorCisjOiBzeW50YXguYzo0MjAzCisjLCBjLWZvcm1hdAorbXNnaWQgIkUzOTQ6IERpZG4ndCBmaW5kIHJlZ2lvbiBpdGVtIGZvciAlcyIKK21zZ3N0ciAiRTM5NDogTu1vciBhaW1z7W9kaCBt7XIgculpZ2n6aW4gbGUgaGFnaGFpZGggJXMiCisKKyM6IHN5bnRheC5jOjQyODEKK21zZ2lkICJFMzk3OiBGaWxlbmFtZSByZXF1aXJlZCIKK21zZ3N0ciAiRTM5NzogTu0gZm9s4WlyIGFpbm0gY29taGFpZCBhIHRoYWJoYWlydCIKKworIzogc3ludGF4LmM6NDYzMworIywgYy1mb3JtYXQKK21zZ2lkICJFMzk4OiBNaXNzaW5nICc9JzogJXMiCittc2dzdHIgIkUzOTg6ICc9JyBhciBpYXJyYWlkaDogJXMiCisKKyM6IHN5bnRheC5jOjQ3OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTM5OTogTm90IGVub3VnaCBhcmd1bWVudHM6IHN5bnRheCByZWdpb24gJXMiCittc2dzdHIgIkUzOTk6IE7tbCBnbyBsZW9yIGFyZ/NpbnTtIGFubjogculpZ2n6biBjb21oculpcmUgJXMiCisKKyM6IHN5bnRheC5jOjUxMjIKK21zZ2lkICJFNDAwOiBObyBjbHVzdGVyIHNwZWNpZmllZCIKK21zZ3N0ciAiRTQwMDogTu1vciBzb25yYe1vZGggbW9nYWxsIgorCisjOiBzeW50YXguYzo1MTU5CisjLCBjLWZvcm1hdAorbXNnaWQgIkU0MDE6IFBhdHRlcm4gZGVsaW1pdGVyIG5vdCBmb3VuZDogJXMiCittc2dzdHIgIkU0MDE6IFRlb3JtaGFyY/NpciBwYXRy+mluIGdhbiBhaW1zafo6ICVzIgorCisjOiBzeW50YXguYzo1MjM0CisjLCBjLWZvcm1hdAorbXNnaWQgIkU0MDI6IEdhcmJhZ2UgYWZ0ZXIgcGF0dGVybjogJXMiCittc2dzdHIgIkU0MDI6IERyYW1oYe1sIGkgbmRpYWlkaCBwYXRy+mluOiAlcyIKKworIzogc3ludGF4LmM6NTMyNAorbXNnaWQgIkU0MDM6IHN5bnRheCBzeW5jOiBsaW5lIGNvbnRpbnVhdGlvbnMgcGF0dGVybiBzcGVjaWZpZWQgdHdpY2UiCittc2dzdHIgIkU0MDM6IGNvbWhy6WlyIHNpb25jOiB0dWdhZGggcGF0cvpuIGxlYW76aW50IGztbmUgZmFvaSBkaPMiCisKKyM6IHN5bnRheC5jOjUzODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTQwNDogSWxsZWdhbCBhcmd1bWVudHM6ICVzIgorbXNnc3RyICJBcmfzaW507SBuZWFtaGNoZWFkYWl0aGU6ICVzIgorCisjOiBzeW50YXguYzo1NDMxCisjLCBjLWZvcm1hdAorbXNnaWQgIkU0MDU6IE1pc3NpbmcgZXF1YWwgc2lnbjogJXMiCittc2dzdHIgIkU0MDU6IFPtbiBjaG90aHJvaW1lIGFyIGlhcnJhaWRoOiAlcyIKKworIzogc3ludGF4LmM6NTQzNworIywgYy1mb3JtYXQKK21zZ2lkICJFNDA2OiBFbXB0eSBhcmd1bWVudDogJXMiCittc2dzdHIgIkU0MDY6IEFyZ/NpbnQgZmhvbGFtaDogJXMiCisKKyM6IHN5bnRheC5jOjU0NjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTQwNzogJXMgbm90IGFsbG93ZWQgaGVyZSIKK21zZ3N0ciAiRTQwNzogbu0gY2hlYWRh7XRlYXIgJXMgYW5zZW8iCisKKyM6IHN5bnRheC5jOjU0NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTQwODogJXMgbXVzdCBiZSBmaXJzdCBpbiBjb250YWlucyBsaXN0IgorbXNnc3RyICJFNDA4OiBu7SBmb2zhaXIgJXMgYSB0aGFiaGFpcnQgYXIgZHT6cyBzYSBsaW9zdGEgYGNvbnRhaW5zJyIKKworIzogc3ludGF4LmM6NTU0MQorIywgYy1mb3JtYXQKK21zZ2lkICJFNDA5OiBVbmtub3duIGdyb3VwIG5hbWU6ICVzIgorbXNnc3RyICJFNDA5OiBBaW5tIGFuYWl0aG5pZCBncvpwYTogJXMiCisKKyM6IHN5bnRheC5jOjU3NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTQxMDogSW52YWxpZCA6c3ludGF4IHN1YmNvbW1hbmQ6ICVzIgorbXNnc3RyICJFNDEwOiBGby1vcmT6IG5lYW1oYmhhaWztIDpzeW50YXg6ICVzIgorCisjOiBzeW50YXguYzo2MDQzCittc2dpZCAiRTY3OTogcmVjdXJzaXZlIGxvb3AgbG9hZGluZyBzeW5jb2xvci52aW0iCittc2dzdHIgIkU2Nzk6IGz6YiBhdGhjaPpyc2FjaCBhZ3VzIHN5bmNvbG9yLnZpbSDhIGx1Y2h0+iIKKworIzogc3ludGF4LmM6NjE3MAorIywgYy1mb3JtYXQKK21zZ2lkICJFNDExOiBoaWdobGlnaHQgZ3JvdXAgbm90IGZvdW5kOiAlcyIKK21zZ3N0ciAiRTQxMTogR3L6cGEgYWliaHNpdGhlIGdhbiBhaW1zafo6ICVzIgorCisjOiBzeW50YXguYzo2MTk0CisjLCBjLWZvcm1hdAorbXNnaWQgIkU0MTI6IE5vdCBlbm91Z2ggYXJndW1lbnRzOiBcIjpoaWdobGlnaHQgbGluayAlc1wiIgorbXNnc3RyICJFNDEyOiBFYXNwYSBhcmfzaW507TogXCI6aGlnaGxpZ2h0IGxpbmsgJXNcIiIKKworIzogc3ludGF4LmM6NjIwMQorIywgYy1mb3JtYXQKK21zZ2lkICJFNDEzOiBUb28gbWFueSBhcmd1bWVudHM6IFwiOmhpZ2hsaWdodCBsaW5rICVzXCIiCittc2dzdHIgIkU0MTM6IEFuIGlvbWFyY2EgYXJn82ludO06IFwiOmhpZ2hsaWdodCBsaW5rICVzXCIiCisKKyM6IHN5bnRheC5jOjYyMjEKK21zZ2lkICJFNDE0OiBncm91cCBoYXMgc2V0dGluZ3MsIGhpZ2hsaWdodCBsaW5rIGlnbm9yZWQiCittc2dzdHIgIiIKKyJFNDE0OiB04SBzb2NydWl0aGUgYWcgYW4gZ2hy+nBhLCBhZyBk6WFuYW1oIG5lYW1oc2h1aW0gYXIgbmFzYyBhaWJoc2l0aGUiCisKKyM6IHN5bnRheC5jOjYzNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTQxNTogdW5leHBlY3RlZCBlcXVhbCBzaWduOiAlcyIKK21zZ3N0ciAiRTQxNTogc+1uIGNob3Rocm9pbWUgZ2FuIGNob2lubmU6ICVzIgorCisjOiBzeW50YXguYzo2Mzg2CisjLCBjLWZvcm1hdAorbXNnaWQgIkU0MTY6IG1pc3NpbmcgZXF1YWwgc2lnbjogJXMiCittc2dzdHIgIkU0MTY6IHPtbiBjaG90aHJvaW1lIGFyIGlhcnJhaWRoOiAlcyIKKworIzogc3ludGF4LmM6NjQxNAorIywgYy1mb3JtYXQKK21zZ2lkICJFNDE3OiBtaXNzaW5nIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAiRTQxNzogYXJn82ludCBhciBpYXJyYWlkaDogJXMiCisKKyM6IHN5bnRheC5jOjY0NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTQxODogSWxsZWdhbCB2YWx1ZTogJXMiCittc2dzdHIgIkU0MTg6IEx1YWNoIG5lYW1oY2hlYWRhaXRoZTogJXMiCisKKyM6IHN5bnRheC5jOjY1NzAKK21zZ2lkICJFNDE5OiBGRyBjb2xvciB1bmtub3duIgorbXNnc3RyICJFNDE5OiBEYXRoIGFuYWl0aG5pZCBhbiBjaPpscmEiCisKKyM6IHN5bnRheC5jOjY1ODEKK21zZ2lkICJFNDIwOiBCRyBjb2xvciB1bmtub3duIgorbXNnc3RyICJFNDIwOiBEYXRoIGFuYWl0aG5pZCBhbiB0dWxyYSIKKworIzogc3ludGF4LmM6NjY0MgorIywgYy1mb3JtYXQKK21zZ2lkICJFNDIxOiBDb2xvciBuYW1lIG9yIG51bWJlciBub3QgcmVjb2duaXplZDogJXMiCittc2dzdHIgIkU0MjE6IE7tb3IgYWl0aG7tb2RoIGFpbm0vdWltaGlyIGFuIGRhdGhhOiAlcyIKKworIzogc3ludGF4LmM6Njg0OAorIywgYy1mb3JtYXQKK21zZ2lkICJFNDIyOiB0ZXJtaW5hbCBjb2RlIHRvbyBsb25nOiAlcyIKK21zZ3N0ciAiRTQyMjogY/NkIHRlaXJtaW7paWwgcvNmaGFkYTogJXMiCisKKyM6IHN5bnRheC5jOjY4OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTQyMzogSWxsZWdhbCBhcmd1bWVudDogJXMiCittc2dzdHIgIkU0MjM6IEFyZ/NpbnQgbmVhbWhjaGVhZGFpdGhlOiAlcyIKKworIzogc3ludGF4LmM6NzQyNAorbXNnaWQgIkU0MjQ6IFRvbyBtYW55IGRpZmZlcmVudCBoaWdobGlnaHRpbmcgYXR0cmlidXRlcyBpbiB1c2UiCittc2dzdHIgIkU0MjQ6IEFuIGlvbWFyY2EgdHLpaXRoZSBhaWJoc2l0aGUgaW4g+nPhaWQiCisKKyM6IHN5bnRheC5jOjc5NDQKK21zZ2lkICJFNjY5OiBVbnByaW50YWJsZSBjaGFyYWN0ZXIgaW4gZ3JvdXAgbmFtZSIKK21zZ3N0ciAiRTY2OTogQ2FyYWNodGFyIG5lYW1oZ2hyYWZhY2ggaW4gYWlubSBncvpwYSIKKworIzogc3ludGF4LmM6Nzk1MgorbXNnaWQgIlcxODogSW52YWxpZCBjaGFyYWN0ZXIgaW4gZ3JvdXAgbmFtZSIKK21zZ3N0ciAiVzE4OiBDYXJhY2h0YXIgbmVhbWhiaGFpbO0gaW4gYWlubSBncvpwYSIKKworIzogdGFnLmM6OTAKK21zZ2lkICJFNTU1OiBhdCBib3R0b20gb2YgdGFnIHN0YWNrIgorbXNnc3RyICJFNTU1OiBpbiDtb2NodGFyIG5hIGNydWFpY2hlIGNsaWJlYW5uYSIKKworIzogdGFnLmM6OTEKK21zZ2lkICJFNTU2OiBhdCB0b3Agb2YgdGFnIHN0YWNrIgorbXNnc3RyICJFNTU2OiBpbiB1YWNodGFyIG5hIGNydWFpY2hlIGNsaWJlYW5uYSIKKworIzogdGFnLmM6NDEyCittc2dpZCAiRTQyNTogQ2Fubm90IGdvIGJlZm9yZSBmaXJzdCBtYXRjaGluZyB0YWciCittc2dzdHIgIkU0MjU6IE7tIGbpaWRpciBhIGRodWwgcm9pbWggYW4gY2jpYWQgY2hsaWIgY2hvbWhvaXJp+m5hY2giCisKKyM6IHRhZy5jOjU1MAorIywgYy1mb3JtYXQKK21zZ2lkICJFNDI2OiB0YWcgbm90IGZvdW5kOiAlcyIKK21zZ3N0ciAiRTQyNjogY2xpYiBnYW4gYWltc2n6OiAlcyIKKworIzogdGFnLmM6NTgzCittc2dpZCAiICAjIHByaSBraW5kIHRhZyIKK21zZ3N0ciAiICAjIHRvcyBjaW4gY2xpYiIKKworIzogdGFnLmM6NTg2Cittc2dpZCAiZmlsZVxuIgorbXNnc3RyICJjb21oYWRcbiIKKworIy4gKiBBc2sgdG8gc2VsZWN0IGEgdGFnIGZyb20gdGhlIGxpc3QuCisjLiAqIFdoZW4gdXNpbmcgIjpzaWxlbnQiIGFzc3VtZSB0aGF0IDxDUj4gd2FzIGVudGVyZWQuCisjOiB0YWcuYzo3NDQKK21zZ2lkICJFbnRlciBuciBvZiBjaG9pY2UgKDxDUj4gdG8gYWJvcnQpOiAiCittc2dzdHIgIklvbnRy4WlsIHVpbWhpciBkbyByb2doYSAoPEVudGVyPj10b2JzY29yKTogIgorCisjOiB0YWcuYzo3ODQKK21zZ2lkICJFNDI3OiBUaGVyZSBpcyBvbmx5IG9uZSBtYXRjaGluZyB0YWciCittc2dzdHIgIkU0Mjc6IFThIGFvbiBjaGxpYiBjaG9taG9pcmn6bmFjaCBhbWjhaW4iCisKKyM6IHRhZy5jOjc4NgorbXNnaWQgIkU0Mjg6IENhbm5vdCBnbyBiZXlvbmQgbGFzdCBtYXRjaGluZyB0YWciCittc2dzdHIgIkU0Mjg6IE7tIGbpaWRpciBhIGRodWwgdGhhciBhbiBjaGxpYiBjaG9taG9pcmn6bmFjaCBkZWlyZWFuYWNoIgorCisjOiB0YWcuYzo4MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmlsZSBcIiVzXCIgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIk7tbCBhIGxlaXRo6WlkIGRlIGNob21oYWQgXCIlc1wiIGFubiIKKworIy4gR2l2ZSBhbiBpbmRpY2F0aW9uIG9mIHRoZSBudW1iZXIgb2YgbWF0Y2hpbmcgdGFncworIzogdGFnLmM6ODIzCisjLCBjLWZvcm1hdAorbXNnaWQgInRhZyAlZCBvZiAlZCVzIgorbXNnc3RyICJjbGliICVkIGFzICVkJXMiCisKKyM6IHRhZy5jOjgyNgorbXNnaWQgIiBvciBtb3JlIgorbXNnc3RyICIgbvMgb3MgYSBjaGlvbm4iCisKKyM6IHRhZy5jOjgyOAorbXNnaWQgIiAgVXNpbmcgdGFnIHdpdGggZGlmZmVyZW50IGNhc2UhIgorbXNnc3RyICIgIEFnIPpz4WlkIGNsaWIgbGUgY+FzIGVpbGUhIgorCisjOiB0YWcuYzo4NzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTQyOTogRmlsZSBcIiVzXCIgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIkU0Mjk6IE7tbCBhIGxlaXRo6WlkIGRlIGNob21oYWQgXCIlc1wiIgorCisjLiBIaWdobGlnaHQgdGl0bGUKKyM6IHRhZy5jOjk0MQorbXNnaWQgIiIKKyJcbiIKKyIgICMgVE8gdGFnICAgICAgICAgRlJPTSBsaW5lICBpbiBmaWxlL3RleHQiCittc2dzdHIgIiIKKyJcbiIKKyIgICMgR28gY2xpYiAgICAgICAg0yAgICBs7W5lICBpICBnY29taGFkL3TpYWNzIgorCisjOiB0YWcuYzoxMzYzCisjLCBjLWZvcm1hdAorbXNnaWQgIlNlYXJjaGluZyB0YWdzIGZpbGUgJXMiCittc2dzdHIgIkNvbWhhZCBjbGliZWFubmEgJXMg4SBjaHVhcmRhY2giCisKKyM6IHRhZy5jOjE1NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTQzMDogVGFnIGZpbGUgcGF0aCB0cnVuY2F0ZWQgZm9yICVzXG4iCittc2dzdHIgIkU0MzA6IFRlYXNjYWRoIGNvbmFpciBhbiBjaG9taGFpZCBjbGliZWFubmEgbGUgaGFnaGFpZGggJXNcbiIKKworIzogdGFnLmM6MjIwMgorIywgYy1mb3JtYXQKK21zZ2lkICJFNDMxOiBGb3JtYXQgZXJyb3IgaW4gdGFncyBmaWxlIFwiJXNcIiIKK21zZ3N0ciAiRTQzMTogRWFycuFpZCBmaG9ybeFpZGUgaSBnY29taGFkIGNsaWJlYW5uYSBcIiVzXCIiCisKKyM6IHRhZy5jOjIyMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmVmb3JlIGJ5dGUgJWxkIgorbXNnc3RyICJSb2ltaCBiaGVhcnQgJWxkIgorCisjOiB0YWcuYzoyMjM5CisjLCBjLWZvcm1hdAorbXNnaWQgIkU0MzI6IFRhZ3MgZmlsZSBub3Qgc29ydGVkOiAlcyIKK21zZ3N0ciAiRTQzMjogQ29taGFkIGNsaWJlYW5uYSBnYW4gc/NydOFpbDogJXMiCisKKyMuIG5ldmVyIG9wZW5lZCBhbnkgdGFncyBmaWxlCisjOiB0YWcuYzoyMjc5Cittc2dpZCAiRTQzMzogTm8gdGFncyBmaWxlIgorbXNnc3RyICJFNDMzOiBO7WwgYW9uIGNob21oYWQgY2xpYmVhbm5hIgorCisjOiB0YWcuYzozMDIwCittc2dpZCAiRTQzNDogQ2FuJ3QgZmluZCB0YWcgcGF0dGVybiIKK21zZ3N0ciAiRTQzNDogUGF0cvpuIGNsaWJlIGdhbiBhaW1zafoiCisKKyM6IHRhZy5jOjMwMzEKK21zZ2lkICJFNDM1OiBDb3VsZG4ndCBmaW5kIHRhZywganVzdCBndWVzc2luZyEiCittc2dzdHIgIkU0MzU6IENsaWIgZ2FuIGFpbXNp+iwgYWcgdGFiaGFpcnQgYnVpbGxlIGZhb2kgdGh1YWlyaW0hIgorCisjOiB0ZXJtLmM6MTc3MgorbXNnaWQgIicgbm90IGtub3duLiBBdmFpbGFibGUgYnVpbHRpbiB0ZXJtaW5hbHMgYXJlOiIKK21zZ3N0ciAiJyBhbmFpdGhuaWQuIElzIGlhZCBzZW8gbmEgdGVpcm1pbulpbCBpbnN1aXRlOiIKKworIzogdGVybS5jOjE3OTYKK21zZ2lkICJkZWZhdWx0aW5nIHRvICciCittc2dzdHIgInLpYW1oc2hvY3L6ID0gJyIKKworIzogdGVybS5jOjIxNTQKK21zZ2lkICJFNTU3OiBDYW5ub3Qgb3BlbiB0ZXJtY2FwIGZpbGUiCittc2dzdHIgIkU1NTc6IE7tIGbpaWRpciBhbiBjb21oYWQgdGVybWNhcCBhIG9zY2FpbHQiCisKKyM6IHRlcm0uYzoyMTU4Cittc2dpZCAiRTU1ODogVGVybWluYWwgZW50cnkgbm90IGZvdW5kIGluIHRlcm1pbmZvIgorbXNnc3RyICJFNTU4OiBJb250cuFpbCB0ZWlybWlu6WlsIGdhbiBhaW1zafogc2EgdGVybWluZm8iCisKKyM6IHRlcm0uYzoyMTYwCittc2dpZCAiRTU1OTogVGVybWluYWwgZW50cnkgbm90IGZvdW5kIGluIHRlcm1jYXAiCittc2dzdHIgIkU1NTk6IElvbnRy4WlsIHRlaXJtaW7paWwgZ2FuIGFpbXNp+iBzYSB0ZXJtY2FwIgorCisjOiB0ZXJtLmM6MjMxOQorIywgYy1mb3JtYXQKK21zZ2lkICJFNDM2OiBObyBcIiVzXCIgZW50cnkgaW4gdGVybWNhcCIKK21zZ3N0ciAiRTQzNjogTu1sIGFvbiBpb250cuFpbCBcIiVzXCIgc2EgdGVybWNhcCIKKworIzogdGVybS5jOjI3OTMKK21zZ2lkICJFNDM3OiB0ZXJtaW5hbCBjYXBhYmlsaXR5IFwiY21cIiByZXF1aXJlZCIKK21zZ3N0ciAiRTQzNzogdOEgZ+EgbGVpcyBhbiBjaHVtYXMgdGVpcm1pbulpbCBcImNtXCIiCisKKyMuIEhpZ2hsaWdodCB0aXRsZQorIzogdGVybS5jOjUwMzkKK21zZ2lkICIiCisiXG4iCisiLS0tIFRlcm1pbmFsIGtleXMgLS0tIgorbXNnc3RyICIiCisiXG4iCisiLS0tIEVvY2hyYWNoYSB0ZWlybWlu6WlsIC0tLSIKKworIzogdWkuYzoyNjQKK21zZ2lkICJuZXcgc2hlbGwgc3RhcnRlZFxuIgorbXNnc3RyICJ0b3Nh7W9kaCBibGFvc2MgbnVhXG4iCisKKyM6IHVpLmM6MTg0NworbXNnaWQgIlZpbTogRXJyb3IgcmVhZGluZyBpbnB1dCwgZXhpdGluZy4uLlxuIgorbXNnc3RyICJWaW06IEVhcnLhaWQgYWd1cyBhbiB0LWluY2hvbWhhZCDhIGzpYW1oOyBhZyBzY29yLi4uXG4iCisKKyMuIG11c3QgZGlzcGxheSB0aGUgcHJvbXB0CisjOiB1bmRvLmM6NDEzCittc2dpZCAiTm8gdW5kbyBwb3NzaWJsZTsgY29udGludWUgYW55d2F5IgorbXNnc3RyICJO7SBm6WlkaXIgYSBjaGVhbPo7IGxlYW4gYXIgYWdoYWlkaCBtYXIgc2luIGbpaW4iCisKKyM6IHVuZG8uYzo1NjkKK21zZ2lkICJFNDM4OiB1X3VuZG86IGxpbmUgbnVtYmVycyB3cm9uZyIKK21zZ3N0ciAiRTQzODogdV91bmRvOiBs7W5lLXVpbWhyZWFjaGEgbe1jaGVhcnRhIgorCisjOiB1bmRvLmM6NzY5Cittc2dpZCAiMSBjaGFuZ2UiCittc2dzdHIgIjEgYXRocvoiCisKKyM6IHVuZG8uYzo3NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWxkIGNoYW5nZXMiCittc2dzdHIgIiVsZCBhdGhy+iIKKworIzogdW5kby5jOjgyNAorbXNnaWQgIkU0Mzk6IHVuZG8gbGlzdCBjb3JydXB0IgorbXNnc3RyICJFNDM5OiB04SBhbiBsaW9zdGEgY2VhbGFpdGhlIHRydWFpbGxpdGhlIgorCisjOiB1bmRvLmM6ODU2Cittc2dpZCAiRTQ0MDogdW5kbyBsaW5lIG1pc3NpbmciCittc2dzdHIgIkU0NDA6IGztbmUgY2hlYWxhaXRoZSBhciBpYXJyYWlkaCIKKworIy4gT25seSBNUyBWQyA0LjEgYW5kIGVhcmxpZXIgY2FuIGRvIFdpbjMycworIzogdmVyc2lvbi5jOjcxNworbXNnaWQgIiIKKyJcbiIKKyJNUy1XaW5kb3dzIDE2LzMyIGJpdCBHVUkgdmVyc2lvbiIKK21zZ3N0ciAiIgorIlxuIgorIkxlYWdhbiBHVUkgMTYvMzIgZ2lvdOFuIE1TLUZ1aW5uZW9nYSIKKworIzogdmVyc2lvbi5jOjcxOQorbXNnaWQgIiIKKyJcbiIKKyJNUy1XaW5kb3dzIDMyIGJpdCBHVUkgdmVyc2lvbiIKK21zZ3N0ciAiIgorIlxuIgorIkxlYWdhbiBHVUkgMzIgZ2lvdOFuIE1TLUZ1aW5uZW9nYSIKKworIzogdmVyc2lvbi5jOjcyMgorbXNnaWQgIiBpbiBXaW4zMnMgbW9kZSIKK21zZ3N0ciAiIGkgbfNkIFdpbjMycyIKKworIzogdmVyc2lvbi5jOjcyNAorbXNnaWQgIiB3aXRoIE9MRSBzdXBwb3J0IgorbXNnc3RyICIgbGUgdGFjYe1vY2h0IE9MRSIKKworIzogdmVyc2lvbi5jOjcyNworbXNnaWQgIiIKKyJcbiIKKyJNUy1XaW5kb3dzIDMyIGJpdCBjb25zb2xlIHZlcnNpb24iCittc2dzdHIgIiIKKyJcbiIKKyJMZWFnYW4gY29uc/NpbCAzMiBnaW904W4gTVMtRnVpbm5lb2dhIgorCisjOiB2ZXJzaW9uLmM6NzMxCittc2dpZCAiIgorIlxuIgorIk1TLVdpbmRvd3MgMTYgYml0IHZlcnNpb24iCittc2dzdHIgIiIKKyJcbiIKKyJMZWFnYW4gMTYgZ2lvdOFuIE1TLUZ1aW5uZW9nYSIKKworIzogdmVyc2lvbi5jOjczNQorbXNnaWQgIiIKKyJcbiIKKyIzMiBiaXQgTVMtRE9TIHZlcnNpb24iCittc2dzdHIgIiIKKyJcbiIKKyJMZWFnYW4gMzIgZ2lvdOFuIE1TLURPUyIKKworIzogdmVyc2lvbi5jOjczNworbXNnaWQgIiIKKyJcbiIKKyIxNiBiaXQgTVMtRE9TIHZlcnNpb24iCittc2dzdHIgIiIKKyJcbiIKKyJMZWFnYW4gMTYgZ2lvdOFuIE1TLURPUyIKKworIzogdmVyc2lvbi5jOjc0MworbXNnaWQgIiIKKyJcbiIKKyJNYWNPUyBYICh1bml4KSB2ZXJzaW9uIgorbXNnc3RyICIiCisiXG4iCisiTGVhZ2FuIE1hY09TIFggKHVuaXgpIgorCisjOiB2ZXJzaW9uLmM6NzQ1Cittc2dpZCAiIgorIlxuIgorIk1hY09TIFggdmVyc2lvbiIKK21zZ3N0ciAiIgorIlxuIgorIkxlYWdhbiBNYWNPUyBYIgorCisjOiB2ZXJzaW9uLmM6NzQ4Cittc2dpZCAiIgorIlxuIgorIk1hY09TIHZlcnNpb24iCittc2dzdHIgIiIKKyJcbiIKKyJMZWFnYW4gTWFjT1MiCisKKyM6IHZlcnNpb24uYzo3NTMKK21zZ2lkICIiCisiXG4iCisiUklTQyBPUyB2ZXJzaW9uIgorbXNnc3RyICIiCisiXG4iCisiTGVhZ2FuIFJJU0MgT1MiCisKKyM6IHZlcnNpb24uYzo3NjMKK21zZ2lkICIiCisiXG4iCisiSW5jbHVkZWQgcGF0Y2hlczogIgorbXNnc3RyICIiCisiXG4iCisiUGFpc3TtIHNhbiDhaXJlYW1oOiAiCisKKyM6IHZlcnNpb24uYzo3ODkgdmVyc2lvbi5jOjExNTcKK21zZ2lkICJNb2RpZmllZCBieSAiCittc2dzdHIgIkF0aHJhaXRoZSBhZyAiCisKKyM6IHZlcnNpb24uYzo3OTYKK21zZ2lkICIiCisiXG4iCisiQ29tcGlsZWQgIgorbXNnc3RyICIiCisiXG4iCisiVGlvbXNhaXRoZSAiCisKKyM6IHZlcnNpb24uYzo3OTkKK21zZ2lkICJieSAiCittc2dzdHIgImxlICIKKworIzogdmVyc2lvbi5jOjgxMQorbXNnaWQgIiIKKyJcbiIKKyJIdWdlIHZlcnNpb24gIgorbXNnc3RyICIiCisiXG4iCisiTGVhZ2FuIG9sbG1o83IgIgorCisjOiB2ZXJzaW9uLmM6ODE0Cittc2dpZCAiIgorIlxuIgorIkJpZyB2ZXJzaW9uICIKK21zZ3N0ciAiIgorIlxuIgorIkxlYWdhbiBt83IgIgorCisjOiB2ZXJzaW9uLmM6ODE3Cittc2dpZCAiIgorIlxuIgorIk5vcm1hbCB2ZXJzaW9uICIKK21zZ3N0ciAiIgorIlxuIgorIkxlYWdhbiBjb2l0aWFudGEgIgorCisjOiB2ZXJzaW9uLmM6ODIwCittc2dpZCAiIgorIlxuIgorIlNtYWxsIHZlcnNpb24gIgorbXNnc3RyICIiCisiXG4iCisiTGVhZ2FuIGJlYWcgIgorCisjOiB2ZXJzaW9uLmM6ODIyCittc2dpZCAiIgorIlxuIgorIlRpbnkgdmVyc2lvbiAiCittc2dzdHIgIiIKKyJcbiIKKyJMZWFnYW4gYmVhZyBi7WRlYWNoICIKKworIzogdmVyc2lvbi5jOjgyOAorbXNnaWQgIndpdGhvdXQgR1VJLiIKK21zZ3N0ciAiZ2FuIEdVSS4iCisKKyM6IHZlcnNpb24uYzo4MzMKK21zZ2lkICJ3aXRoIEdUSzItR05PTUUgR1VJLiIKK21zZ3N0ciAibGUgR1VJIEdUSzItR05PTUUuIgorCisjOiB2ZXJzaW9uLmM6ODM1Cittc2dpZCAid2l0aCBHVEstR05PTUUgR1VJLiIKK21zZ3N0ciAibGUgR1VJIEdUSy1HTk9NRS4iCisKKyM6IHZlcnNpb24uYzo4MzkKK21zZ2lkICJ3aXRoIEdUSzIgR1VJLiIKK21zZ3N0ciAibGUgR1VJIEdUSzIuIgorCisjOiB2ZXJzaW9uLmM6ODQxCittc2dpZCAid2l0aCBHVEsgR1VJLiIKK21zZ3N0ciAibGUgR1VJIEdUSy4iCisKKyM6IHZlcnNpb24uYzo4NDYKK21zZ2lkICJ3aXRoIFgxMS1Nb3RpZiBHVUkuIgorbXNnc3RyICJsZSBHVUkgWDExLU1vdGlmLiIKKworIzogdmVyc2lvbi5jOjg1MAorbXNnaWQgIndpdGggWDExLW5lWHRhdyBHVUkuIgorbXNnc3RyICJsZSBHVUkgWDExLW5lWHRhdy4iCisKKyM6IHZlcnNpb24uYzo4NTIKK21zZ2lkICJ3aXRoIFgxMS1BdGhlbmEgR1VJLiIKK21zZ3N0ciAibGUgR1VJIFgxMS1BdGhlbmEuIgorCisjOiB2ZXJzaW9uLmM6ODU2Cittc2dpZCAid2l0aCBQaG90b24gR1VJLiIKK21zZ3N0ciAibGUgR1VJIFBob3Rvbi4iCisKKyM6IHZlcnNpb24uYzo4NTkKK21zZ2lkICJ3aXRoIEdVSS4iCittc2dzdHIgImxlIEdVSS4iCisKKyM6IHZlcnNpb24uYzo4NjIKK21zZ2lkICJ3aXRoIENhcmJvbiBHVUkuIgorbXNnc3RyICJsZSBHVUkgQ2FyYm9uLiIKKworIzogdmVyc2lvbi5jOjg2NQorbXNnaWQgIndpdGggQ29jb2EgR1VJLiIKK21zZ3N0ciAibGUgR1VJIENvY29hLiIKKworIzogdmVyc2lvbi5jOjg2OAorbXNnaWQgIndpdGggKGNsYXNzaWMpIEdVSS4iCittc2dzdHIgImxlIEdVSSAoY2xhc2FpY2VhY2gpLiIKKworIzogdmVyc2lvbi5jOjg3MQorbXNnaWQgIndpdGggS0RFIEdVSS4iCittc2dzdHIgImxlIEdVSSBLREUuIgorCisjOiB2ZXJzaW9uLmM6ODgyCittc2dpZCAiICBGZWF0dXJlcyBpbmNsdWRlZCAoKykgb3Igbm90ICgtKTpcbiIKK21zZ3N0ciAiICBHbulpdGhlIHNhbiDhaXJlYW1oICgrKSBu8yBuYWNoIGJoZnVpbCAoLSk6XG4iCisKKyM6IHZlcnNpb24uYzo4OTQKK21zZ2lkICIgICBzeXN0ZW0gdmltcmMgZmlsZTogXCIiCittc2dzdHIgIiAgIGNvbWhhZCB2aW1yYyBhbiBjaPNyYWlzOiBcIiIKKworIzogdmVyc2lvbi5jOjg5OQorbXNnaWQgIiAgICAgdXNlciB2aW1yYyBmaWxlOiBcIiIKK21zZ3N0ciAiICAgICBjb21oYWQgdmltcmMg+nPhaWRlb3JhOiBcIiIKKworIzogdmVyc2lvbi5jOjkwNAorbXNnaWQgIiAybmQgdXNlciB2aW1yYyBmaWxlOiBcIiIKK21zZ3N0ciAiIGRhcmEgY29taGFkIHZpbXJjIPpz4WlkZW9yYTogXCIiCisKKyM6IHZlcnNpb24uYzo5MDkKK21zZ2lkICIgM3JkIHVzZXIgdmltcmMgZmlsZTogXCIiCittc2dzdHIgIiB0cu36IGNvbWhhZCB2aW1yYyD6c+FpZGVvcmE6IFwiIgorCisjOiB2ZXJzaW9uLmM6OTE0Cittc2dpZCAiICAgICAgdXNlciBleHJjIGZpbGU6IFwiIgorbXNnc3RyICIgICAgICBjb21oYWQgZXhyYyD6c+FpZGVvcmE6IFwiIgorCisjOiB2ZXJzaW9uLmM6OTE5Cittc2dpZCAiICAybmQgdXNlciBleHJjIGZpbGU6IFwiIgorbXNnc3RyICIgIGRhcmEgY29taGFkIPpz4WlkZW9yYSBleHJjOiBcIiIKKworIzogdmVyc2lvbi5jOjkyNQorbXNnaWQgIiAgc3lzdGVtIGd2aW1yYyBmaWxlOiBcIiIKK21zZ3N0ciAiICBjb21oYWQgZ3ZpbXJjIGPzcmFpczogXCIiCisKKyM6IHZlcnNpb24uYzo5MjkKK21zZ2lkICIgICAgdXNlciBndmltcmMgZmlsZTogXCIiCittc2dzdHIgIiAgICBjb21oYWQgZ3ZpbXJjIPpz4WlkZW9yYTogXCIiCisKKyM6IHZlcnNpb24uYzo5MzMKK21zZ2lkICIybmQgdXNlciBndmltcmMgZmlsZTogXCIiCittc2dzdHIgImRhcmEgY29taGFkIGd2aW1yYyD6c+FpZGVvcmE6IFwiIgorCisjOiB2ZXJzaW9uLmM6OTM4Cittc2dpZCAiM3JkIHVzZXIgZ3ZpbXJjIGZpbGU6IFwiIgorbXNnc3RyICJ0cu36IGNvbWhhZCBndmltcmMg+nPhaWRlb3JhOiBcIiIKKworIzogdmVyc2lvbi5jOjk0NQorbXNnaWQgIiAgICBzeXN0ZW0gbWVudSBmaWxlOiBcIiIKK21zZ3N0ciAiICAgIGNvbWhhZCByb2doY2hs4WlyIGFuIGNo83JhaXM6IFwiIgorCisjOiB2ZXJzaW9uLmM6OTUzCittc2dpZCAiICBmYWxsLWJhY2sgZm9yICRWSU06IFwiIgorbXNnc3RyICIgIHJvZ2hhIHRo4W5haXN0ZWFjaCBkbyAkVklNOiBcIiIKKworIzogdmVyc2lvbi5jOjk1OQorbXNnaWQgIiBmLWIgZm9yICRWSU1SVU5USU1FOiBcIiIKK21zZ3N0ciAiIGYtYiBkbyAkVklNUlVOVElNRTogXCIiCisKKyM6IHZlcnNpb24uYzo5NjMKK21zZ2lkICJDb21waWxhdGlvbjogIgorbXNnc3RyICJUaW9tc/o6ICIKKworIzogdmVyc2lvbi5jOjk2OQorbXNnaWQgIkNvbXBpbGVyOiAiCittc2dzdHIgIlRpb21zYWl0aGVvaXI6ICIKKworIzogdmVyc2lvbi5jOjk3NAorbXNnaWQgIkxpbmtpbmc6ICIKK21zZ3N0ciAiTmFzY+FpbDogIgorCisjOiB2ZXJzaW9uLmM6OTc5Cittc2dpZCAiICBERUJVRyBCVUlMRCIKK21zZ3N0ciAiICBMRUFHQU4gRM1GSEFCSFRBSVRIRSIKKworIzogdmVyc2lvbi5jOjEwMTgKK21zZ2lkICJWSU0gLSBWaSBJTXByb3ZlZCIKK21zZ3N0ciAiVklNIC0gVmkgSU1wcm92ZWQiCisKKyM6IHZlcnNpb24uYzoxMDIwCittc2dpZCAidmVyc2lvbiAiCittc2dzdHIgImxlYWdhbiAiCisKKyM6IHZlcnNpb24uYzoxMDIxCittc2dpZCAiYnkgQnJhbSBNb29sZW5hYXIgZXQgYWwuIgorbXNnc3RyICJsZSBCcmFtIE1vb2xlbmFhciBldCBhbC4iCisKKyM6IHZlcnNpb24uYzoxMDI1Cittc2dpZCAiVmltIGlzIG9wZW4gc291cmNlIGFuZCBmcmVlbHkgZGlzdHJpYnV0YWJsZSIKK21zZ3N0ciAiSXMgc2FvcmJob2dlYXJyYe0gVmltIgorCisjOiB2ZXJzaW9uLmM6MTAyNworbXNnaWQgIkhlbHAgcG9vciBjaGlsZHJlbiBpbiBVZ2FuZGEhIgorbXNnc3RyICJUYWJoYWlyIGNhYmhhaXIgZG8gcGjhaXN07SBib2NodGEgaW4gVWdhbmRhISIKKworIzogdmVyc2lvbi5jOjEwMjgKK21zZ2lkICJ0eXBlICA6aGVscCBpY2NmPEVudGVyPiAgICAgICBmb3IgaW5mb3JtYXRpb24gIgorbXNnc3RyICJjbPNzY3Ltb2JoICA6aGVscCBpY2NmPEVudGVyPiAgICAgICBjaHVuIGVvbGFzIGEgZmjhaWwgIgorCisjOiB2ZXJzaW9uLmM6MTAzMAorbXNnaWQgInR5cGUgIDpxPEVudGVyPiAgICAgICAgICAgICAgIHRvIGV4aXQgICAgICAgICAiCittc2dzdHIgImNs83Njcu1vYmggIDpxPEVudGVyPiAgICAgICAgICAgICAgIGNodW4gc2NvaXIgICAgICAiCisKKyM6IHZlcnNpb24uYzoxMDMxCittc2dpZCAidHlwZSAgOmhlbHA8RW50ZXI+ICBvciAgPEYxPiAgZm9yIG9uLWxpbmUgaGVscCIKK21zZ3N0ciAiY2zzc2Ny7W9iaCAgOmhlbHA8RW50ZXI+ICBu8yAgPEYxPiAgbGUgaGFnaGFpZGggY2FiaHJhY2ggYXIgbO1uZSIKKworIzogdmVyc2lvbi5jOjEwMzIKK21zZ2lkICJ0eXBlICA6aGVscCB2ZXJzaW9uNzxFbnRlcj4gICBmb3IgdmVyc2lvbiBpbmZvIgorbXNnc3RyICJjbPNzY3Ltb2JoICA6aGVscCB2ZXJzaW9uNzxFbnRlcj4gICBsZSBoYWdoYWlkaCBlb2xhaXMgZmFvaW4gbGVhZ2FuIgorCisjOiB2ZXJzaW9uLmM6MTAzNQorbXNnaWQgIlJ1bm5pbmcgaW4gVmkgY29tcGF0aWJsZSBtb2RlIgorbXNnc3RyICJTYSBtaPNkIGNvbWhvaXJp+m5hY2h0YSBWaSIKKworIzogdmVyc2lvbi5jOjEwMzYKK21zZ2lkICJ0eXBlICA6c2V0IG5vY3A8RW50ZXI+ICAgICAgICBmb3IgVmltIGRlZmF1bHRzIgorbXNnc3RyICIiCisiY2zzc2Ny7W9iaCAgOnNldCBub2NwPEVudGVyPiAgICAgICAgY2h1biBuYSBy6WFtaHNob2NydWl0aGUgVmltIGEgdGhhaXNwZeFpbnQiCisKKyM6IHZlcnNpb24uYzoxMDM3Cittc2dpZCAidHlwZSAgOmhlbHAgY3AtZGVmYXVsdDxFbnRlcj4gZm9yIGluZm8gb24gdGhpcyIKK21zZ3N0ciAiIgorImNs83Njcu1vYmggIDpoZWxwIGNwLWRlZmF1bHQ8RW50ZXI+IGNodW4gbu1vcyBt8yBlb2xhcyBmYW9pIHNlbyBhIGZo4WlsIgorCisjIGRvbid0IHNlZSB3aGVyZSB0byBsb2NhbGl6ZSAiSGVscC0+T3JwaGFucyI/IC0ta3BzCisjOiB2ZXJzaW9uLmM6MTA1MgorbXNnaWQgIm1lbnUgIEhlbHAtPk9ycGhhbnMgICAgICAgICAgIGZvciBpbmZvcm1hdGlvbiAgICAiCittc2dzdHIgInJvZ2hjaGzhciAgSGVscC0+T3JwaGFucyAgICAgIGNodW4gZW9sYXMgYSBmaOFpbCAiCisKKyM6IHZlcnNpb24uYzoxMDU0Cittc2dpZCAiUnVubmluZyBtb2RlbGVzcywgdHlwZWQgdGV4dCBpcyBpbnNlcnRlZCIKK21zZ3N0ciAiQWcgcml0aCBnYW4gbWjzaWQsIGFnIGlvbnPhIGFuIHTpYWNzIGF04SBpb250cuFpbHRlIgorCisjIHNhbWUgcHJvYmxlbSAtLWtwcworIzogdmVyc2lvbi5jOjEwNTUKK21zZ2lkICJtZW51ICBFZGl0LT5HbG9iYWwgU2V0dGluZ3MtPlRvZ2dsZSBJbnNlcnQgTW9kZSAgIgorbXNnc3RyICJyb2doY2hs4XIgIEVkaXQtPkdsb2JhbCBTZXR0aW5ncy0+VG9nZ2xlIEluc2VydCBNb2RlICAiCisKKyM6IHZlcnNpb24uYzoxMDU2Cittc2dpZCAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIHR3byBtb2RlcyAgICAgICIKK21zZ3N0ciAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG8gZGjhIG1o82QgICAgICAgIgorCisjIHNhbWUgcHJvYmxlbSAtLWtwcworIzogdmVyc2lvbi5jOjEwNjAKK21zZ2lkICJtZW51ICBFZGl0LT5HbG9iYWwgU2V0dGluZ3MtPlRvZ2dsZSBWaSBDb21wYXRpYmxlIgorbXNnc3RyICJyb2doY2hs4XIgIEVkaXQtPkdsb2JhbCBTZXR0aW5ncy0+VG9nZ2xlIFZpIENvbXBhdGlibGUiCisKKyM6IHZlcnNpb24uYzoxMDYxCittc2dpZCAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIFZpbSBkZWZhdWx0cyAgICIKK21zZ3N0ciAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGUgaGFnaGFpZGggculhbWhzaG9jcnVpdGhlIFZpbSAgICIKKworIzogdmVyc2lvbi5jOjExMDgKK21zZ2lkICJTcG9uc29yIFZpbSBkZXZlbG9wbWVudCEiCittc2dzdHIgIkLtIGkgZCd1cnJhaXRoZW9pciBWaW0hIgorCisjOiB2ZXJzaW9uLmM6MTEwOQorbXNnaWQgIkJlY29tZSBhIHJlZ2lzdGVyZWQgVmltIHVzZXIhIgorbXNnc3RyICJC7SBpIGQn+nPhaWRlb2lyIGNs4XJhaXRoZSBWaW0hIgorCisjOiB2ZXJzaW9uLmM6MTExMgorbXNnaWQgInR5cGUgIDpoZWxwIHNwb25zb3I8RW50ZXI+ICAgIGZvciBpbmZvcm1hdGlvbiAiCittc2dzdHIgImNs83Njcu1vYmggIDpoZWxwIHNwb25zb3I8RW50ZXI+ICAgICAgICBjaHVuIGVvbGFzIGEgZmjhaWwgIgorCisjOiB2ZXJzaW9uLmM6MTExMworbXNnaWQgInR5cGUgIDpoZWxwIHJlZ2lzdGVyPEVudGVyPiAgIGZvciBpbmZvcm1hdGlvbiAiCittc2dzdHIgImNs83Njcu1vYmggIDpoZWxwIHJlZ2lzdGVyPEVudGVyPiAgICAgICBjaHVuIGVvbGFzIGEgZmjhaWwgIgorCisjOiB2ZXJzaW9uLmM6MTExNQorbXNnaWQgIm1lbnUgIEhlbHAtPlNwb25zb3IvUmVnaXN0ZXIgIGZvciBpbmZvcm1hdGlvbiAgICAiCittc2dzdHIgInJvZ2hjaGzhciAgSGVscC0+U3BvbnNvci9SZWdpc3RlciAgICAgICBjaHVuIGVvbGFzIGEgZmjhaWwgIgorCisjOiB2ZXJzaW9uLmM6MTEyNQorbXNnaWQgIldBUk5JTkc6IFdpbmRvd3MgOTUvOTgvTUUgZGV0ZWN0ZWQiCittc2dzdHIgIlJBQkhBREg6IEJyYWl0aGVhZGggV2luZG93cyA5NS85OC9NRSIKKworIzogdmVyc2lvbi5jOjExMjgKK21zZ2lkICJ0eXBlICA6aGVscCB3aW5kb3dzOTU8RW50ZXI+ICBmb3IgaW5mbyBvbiB0aGlzIgorbXNnc3RyICJjbPNzY3Ltb2JoICA6aGVscCB3aW5kb3dzOTU8RW50ZXI+ICAgICAgY2h1biBlb2xhcyBhIGZo4WlsICIKKworIzogd2luZG93LmM6MjAzCittc2dpZCAiRTQ0MTogVGhlcmUgaXMgbm8gcHJldmlldyB3aW5kb3ciCittc2dzdHIgIkU0NDE6IE7tbCBhb24gZmh1aW5uZW9nIHLpYW1oYW1oYWlyYyBhbm4iCisKKyM6IHdpbmRvdy5jOjU4MQorbXNnaWQgIkU0NDI6IENhbid0IHNwbGl0IHRvcGxlZnQgYW5kIGJvdHJpZ2h0IGF0IHRoZSBzYW1lIHRpbWUiCittc2dzdHIgIkU0NDI6IE7tIGbpaWRpciBhIHNjb2lsdGVhZGggdG9wbGVmdCBhZ3VzIGJvdHJpZ2h0IHNhbiBhbSBj6WFubmEiCisKKyM6IHdpbmRvdy5jOjEzNDAKK21zZ2lkICJFNDQzOiBDYW5ub3Qgcm90YXRlIHdoZW4gYW5vdGhlciB3aW5kb3cgaXMgc3BsaXQiCittc2dzdHIgIkU0NDM6IE7tIGbpaWRpciByb3RobPogbnVhaXIgYXThIGZ1aW5uZW9nIGVpbGUgc2NvaWx0ZSIKKworIzogd2luZG93LmM6MTgzNgorbXNnaWQgIkU0NDQ6IENhbm5vdCBjbG9zZSBsYXN0IHdpbmRvdyIKK21zZ3N0ciAiRTQ0NDogTu0gZulpZGlyIGFuIGZodWlubmVvZyBkaGVpcmlkaCBhIGRo+m5hZGgiCisKKyM6IHdpbmRvdy5jOjI1NzEKK21zZ2lkICJBbHJlYWR5IG9ubHkgb25lIHdpbmRvdyIKK21zZ3N0ciAiTu1sIGFjaCBhb24gZmh1aW5uZW9nIGFtaOFpbiBhbm4gY2hlYW5hIgorCisjOiB3aW5kb3cuYzoyNjE4Cittc2dpZCAiRTQ0NTogT3RoZXIgd2luZG93IGNvbnRhaW5zIGNoYW5nZXMiCittc2dzdHIgIkU0NDU6IFThIGF0aHJ1aXRoZSBhbm4gc2FuIGZodWlubmVvZyBlaWxlIgorCisjOiB3aW5kb3cuYzo0NTI4Cittc2dpZCAiRTQ0NjogTm8gZmlsZSBuYW1lIHVuZGVyIGN1cnNvciIKK21zZ3N0ciAiRTQ0NjogTu1sIGFpbm0gY29taGFpZCBmYW9pbiBjaPpyc/NpciIKKworIzogd2luZG93LmM6NDY0NworIywgYy1mb3JtYXQKK21zZ2lkICJFNDQ3OiBDYW4ndCBmaW5kIGZpbGUgXCIlc1wiIGluIHBhdGgiCittc2dzdHIgIkU0NDc6IE7tbCBhb24gZmjhaWwgYXIgY2hvbWhhZCBcIiVzXCIgc2EgY2hvbmFpciIKKworIzogaWZfcGVybC54czozMjYgZ2xvYmFscy5oOjEyODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTM3MDogQ291bGQgbm90IGxvYWQgbGlicmFyeSAlcyIKK21zZ3N0ciAiRTM3MDogTu1vcmJoIGZo6WlkaXIgYW4gbGVhYmhhcmxhbm4gJXMgYSBvc2NhaWx0IgorCisjOiBpZl9wZXJsLnhzOjU1NgorbXNnaWQgIlNvcnJ5LCB0aGlzIGNvbW1hbmQgaXMgZGlzYWJsZWQ6IHRoZSBQZXJsIGxpYnJhcnkgY291bGQgbm90IGJlIGxvYWRlZC4iCittc2dzdHIgIiIKKyJU4SBicvNuIG9ybSwgbu1sIGFuIHQtb3Jk+iBzZW8gbGUgZuFpbCwgbu1vcmJoIGZo6WlkaXIgYW4gbGVhYmhhcmxhbm4gUGVybCBhICIKKyJsdWNodPouIgorCisjOiBpZl9wZXJsLnhzOjYwOQorbXNnaWQgIkUyOTk6IFBlcmwgZXZhbHVhdGlvbiBmb3JiaWRkZW4gaW4gc2FuZGJveCB3aXRob3V0IHRoZSBTYWZlIG1vZHVsZSIKK21zZ3N0ciAiRTI5OTogTu0gY2hlYWRh7XRlYXIgbWVhcyBQZXJsIGkgbWJvc2NhIGdhaW5pbWggZ2FuIGFuIG1vZPpsIFNhZmUiCisKKyM6IEd2aW1FeHQvZ3ZpbWV4dC5jcHA6NTgzCittc2dpZCAiRWRpdCB3aXRoICZtdWx0aXBsZSBWaW1zIgorbXNnc3RyICJDdWlyIGluIGVhZ2FyIGxlIFZpbWVhbm5hIGlvJm1hZPpsYSIKKworIzogR3ZpbUV4dC9ndmltZXh0LmNwcDo1ODkKK21zZ2lkICJFZGl0IHdpdGggc2luZ2xlICZWaW0iCittc2dzdHIgIkN1aXIgaW4gZWFnYXIgbGUgJlZpbSBhb25haXIiCisKKyM6IEd2aW1FeHQvZ3ZpbWV4dC5jcHA6NTk4Cittc2dpZCAiRGlmZiB3aXRoIFZpbSIKK21zZ3N0ciAiRGlmZiBsZSBWaW0iCisKKyM6IEd2aW1FeHQvZ3ZpbWV4dC5jcHA6NjExCittc2dpZCAiRWRpdCB3aXRoICZWaW0iCittc2dzdHIgIkN1aXIgaW4gRWFnYXIgbGUgJlZpbSIKKworIy4gTm93IGNvbmNhdGVuYXRlCisjOiBHdmltRXh0L2d2aW1leHQuY3BwOjYzMworbXNnaWQgIkVkaXQgd2l0aCBleGlzdGluZyBWaW0gLSAiCittc2dzdHIgIkN1aXIgaW4gRWFnYXIgbGUgVmltIGJlbyAtICIKKworIzogR3ZpbUV4dC9ndmltZXh0LmNwcDo3NDYKK21zZ2lkICJFZGl0cyB0aGUgc2VsZWN0ZWQgZmlsZShzKSB3aXRoIFZpbSIKK21zZ3N0ciAiQ3VpciBhbiBjb21oYWQgcm9naG5haXRoZSBpbiBlYWdhciBsZSBWaW0iCisKKyM6IEd2aW1FeHQvZ3ZpbWV4dC5jcHA6ODg1IEd2aW1FeHQvZ3ZpbWV4dC5jcHA6OTY2Cittc2dpZCAiRXJyb3IgY3JlYXRpbmcgcHJvY2VzczogQ2hlY2sgaWYgZ3ZpbSBpcyBpbiB5b3VyIHBhdGghIgorbXNnc3RyICIiCisiRWFycuFpZCBhZ3VzIHBy82lzZWFzIOEgY2hydXRo+jogRGVpbWhuaWdoIGdvIGJoZnVpbCBndmltIGkgZG8gY2hvbmFpciEiCisKKyM6IEd2aW1FeHQvZ3ZpbWV4dC5jcHA6ODg2IEd2aW1FeHQvZ3ZpbWV4dC5jcHA6OTAwIEd2aW1FeHQvZ3ZpbWV4dC5jcHA6OTY3Cittc2dpZCAiZ3ZpbWV4dC5kbGwgZXJyb3IiCittc2dzdHIgImVhcnLhaWQgZ3ZpbWV4dC5kbGwiCisKKyM6IEd2aW1FeHQvZ3ZpbWV4dC5jcHA6ODk5Cittc2dpZCAiUGF0aCBsZW5ndGggdG9vIGxvbmchIgorbXNnc3RyICJDb25haXIgcvNmaGFkYSEiCisKKyM6IGdsb2JhbHMuaDoxMDQ2Cittc2dpZCAiLS1ObyBsaW5lcyBpbiBidWZmZXItLSIKK21zZ3N0ciAiLS1U4SBhbiBtYW9s4W4gZm9sYW1oLS0iCisKKyMuICogVGhlIGVycm9yIG1lc3NhZ2VzIHRoYXQgY2FuIGJlIHNoYXJlZCBhcmUgaW5jbHVkZWQgaGVyZS4KKyMuICogRXhjbHVkZWQgYXJlIGVycm9ycyB0aGF0IGFyZSBvbmx5IHVzZWQgb25jZSBhbmQgZGVidWdnaW5nIG1lc3NhZ2VzLgorIzogZ2xvYmFscy5oOjEyMzcKK21zZ2lkICJFNDcwOiBDb21tYW5kIGFib3J0ZWQiCittc2dzdHIgIkU0NzA6IE9yZPogdG9ic2NvcnRoYSIKKworIzogZ2xvYmFscy5oOjEyMzgKK21zZ2lkICJFNDcxOiBBcmd1bWVudCByZXF1aXJlZCIKK21zZ3N0ciAiRTQ3MTogTu0gZm9s4WlyIGFyZ/NpbnQiCisKKyM6IGdsb2JhbHMuaDoxMjM5Cittc2dpZCAiRTEwOiBcXCBzaG91bGQgYmUgZm9sbG93ZWQgYnkgLywgPyBvciAmIgorbXNnc3RyICJFMTA6IEJhIGNo82lyIC8sID8gbvMgJiBhIGNodXIgaSBuZGlhaWRoIFxcIgorCisjOiBnbG9iYWxzLmg6MTI0MQorbXNnaWQgIkUxMTogSW52YWxpZCBpbiBjb21tYW5kLWxpbmUgd2luZG93OyA8Q1I+IGV4ZWN1dGVzLCBDVFJMLUMgcXVpdHMiCittc2dzdHIgIiIKKyJFMTE6IE5lYW1oYmhhaWztIGkgYmhmdWlubmVvZyBs7W5lIG5hIG4tb3JkdWl0aGU7IDxDUj49cml0aCwgQ1RSTC1DPXNjb2lyIgorCisjOiBnbG9iYWxzLmg6MTI0MworbXNnaWQgIkUxMjogQ29tbWFuZCBub3QgYWxsb3dlZCBmcm9tIGV4cmMvdmltcmMgaW4gY3VycmVudCBkaXIgb3IgdGFnIHNlYXJjaCIKK21zZ3N0ciAiIgorIkUxMjogTu0gY2hlYWRh7XRlYXIgb3Jk+iDzIGV4cmMvdmltcmMgc2EgY2hvbWhhZGxhbm4gcmVhdGhhIG7hIPMgY2h1YXJkYWNoICIKKyJjbGliZSIKKworIzogZ2xvYmFscy5oOjEyNDUKK21zZ2lkICJFMTcxOiBNaXNzaW5nIDplbmRpZiIKK21zZ3N0ciAiRTE3MTogOmVuZGlmIGFyIGlhcnJhaWRoIgorCisjOiBnbG9iYWxzLmg6MTI0NgorbXNnaWQgIkU2MDA6IE1pc3NpbmcgOmVuZHRyeSIKK21zZ3N0ciAiRTYwMDogOmVuZHRyeSBhciBpYXJyYWlkaCIKKworIzogZ2xvYmFscy5oOjEyNDcKK21zZ2lkICJFMTcwOiBNaXNzaW5nIDplbmR3aGlsZSIKK21zZ3N0ciAiRTE3MDogOmVuZHdoaWxlIGFyIGlhcnJhaWRoIgorCisjOiBnbG9iYWxzLmg6MTI0OAorbXNnaWQgIkUxNzA6IE1pc3NpbmcgOmVuZGZvciIKK21zZ3N0ciAiRTE3MDogOmVuZGZvciBhciBpYXJyYWlkaCIKKworIzogZ2xvYmFscy5oOjEyNDkKK21zZ2lkICJFNTg4OiA6ZW5kd2hpbGUgd2l0aG91dCA6d2hpbGUiCittc2dzdHIgIkU1ODg6IDplbmR3aGlsZSBnYW4gOndoaWxlIgorCisjOiBnbG9iYWxzLmg6MTI1MAorbXNnaWQgIkU1ODg6IDplbmRmb3Igd2l0aG91dCA6Zm9yIgorbXNnc3RyICJFNTg4OiA6ZW5kZm9yIGdhbiA6Zm9yIgorCisjOiBnbG9iYWxzLmg6MTI1MgorbXNnaWQgIkUxMzogRmlsZSBleGlzdHMgKGFkZCAhIHRvIG92ZXJyaWRlKSIKK21zZ3N0ciAiRTEzOiBU4SBjb21oYWQgYW5uIGNoZWFuYSAoY3VpciAhIGxlaXMgYW4gb3Jk+iBjaHVuIGZvcnNjcu1vYmgpIgorCisjOiBnbG9iYWxzLmg6MTI1MworbXNnaWQgIkU0NzI6IENvbW1hbmQgZmFpbGVkIgorbXNnc3RyICJFNDcyOiBUaGVpcCBhciBvcmT6IgorCisjOiBnbG9iYWxzLmg6MTI1NQorIywgYy1mb3JtYXQKK21zZ2lkICJFMjM0OiBVbmtub3duIGZvbnRzZXQ6ICVzIgorbXNnc3RyICJFMjM0OiBUYWNhciBjbPMgYW5haXRobmlkOiAlcyIKKworIzogZ2xvYmFscy5oOjEyNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTIzNTogVW5rbm93biBmb250OiAlcyIKK21zZ3N0ciAiRTIzNTogQ2zzZmhvaXJlYW5uIGFuYWl0aG5pZDogJXMiCisKKyM6IGdsb2JhbHMuaDoxMjYyCisjLCBjLWZvcm1hdAorbXNnaWQgIkUyMzY6IEZvbnQgXCIlc1wiIGlzIG5vdCBmaXhlZC13aWR0aCIKK21zZ3N0ciAiRTIzNjogTu0gY2zzIGFvbmxlaXRoaWQg6SBcIiVzXCIiCisKKyM6IGdsb2JhbHMuaDoxMjY0Cittc2dpZCAiRTQ3MzogSW50ZXJuYWwgZXJyb3IiCittc2dzdHIgIkU0NzM6IEVhcnLhaWQgaW5taGXhbmFjaCIKKworIzogZ2xvYmFscy5oOjEyNjUKK21zZ2lkICJJbnRlcnJ1cHRlZCIKK21zZ3N0ciAiSWRpcmJocmlzdGUiCisKKyM6IGdsb2JhbHMuaDoxMjY2Cittc2dpZCAiRTE0OiBJbnZhbGlkIGFkZHJlc3MiCittc2dzdHIgIkUxNDogRHJvY2hzaGVvbGFkaCIKKworIzogZ2xvYmFscy5oOjEyNjcKK21zZ2lkICJFNDc0OiBJbnZhbGlkIGFyZ3VtZW50IgorbXNnc3RyICJFNDc0OiBBcmfzaW50IG5lYW1oYmhhaWztIgorCisjOiBnbG9iYWxzLmg6MTI2OAorIywgYy1mb3JtYXQKK21zZ2lkICJFNDc1OiBJbnZhbGlkIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAiRTQ3NTogQXJn82ludCBuZWFtaGJoYWls7TogJXMiCisKKyM6IGdsb2JhbHMuaDoxMjcwCisjLCBjLWZvcm1hdAorbXNnaWQgIkUxNTogSW52YWxpZCBleHByZXNzaW9uOiAlcyIKK21zZ3N0ciAiRTE1OiBTbG9ubiBuZWFtaGJoYWls7TogJXMiCisKKyM6IGdsb2JhbHMuaDoxMjcyCittc2dpZCAiRTE2OiBJbnZhbGlkIHJhbmdlIgorbXNnc3RyICJFMTY6IFJhb24gbmVhbWhiaGFpbO0iCisKKyM6IGdsb2JhbHMuaDoxMjczCittc2dpZCAiRTQ3NjogSW52YWxpZCBjb21tYW5kIgorbXNnc3RyICJFNDc2OiBPcmT6IG5lYW1oYmhhaWztIgorCisjOiBnbG9iYWxzLmg6MTI3NQorIywgYy1mb3JtYXQKK21zZ2lkICJFMTc6IFwiJXNcIiBpcyBhIGRpcmVjdG9yeSIKK21zZ3N0ciAiRTE3OiBpcyBjb21oYWRsYW5uIFwiJXNcIiIKKworIzogZ2xvYmFscy5oOjEyNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTM2NDogTGlicmFyeSBjYWxsIGZhaWxlZCBmb3IgXCIlcygpXCIiCittc2dzdHIgIkUzNjQ6IFRoZWlwIGFyIGdobGFvIGxlYWJoYXJsYWlubmUgXCIlcygpXCIiCisKKyM6IGdsb2JhbHMuaDoxMjg0CisjLCBjLWZvcm1hdAorbXNnaWQgIkU0NDg6IENvdWxkIG5vdCBsb2FkIGxpYnJhcnkgZnVuY3Rpb24gJXMiCittc2dzdHIgIkU0NDg6IE7tIGbpaWRpciBmZWlkaG0gJXMgbGVhYmhhcmxhaW5uZSBhIGx1Y2h0+iIKKworIzogZ2xvYmFscy5oOjEyODYKK21zZ2lkICJFMTk6IE1hcmsgaGFzIGludmFsaWQgbGluZSBudW1iZXIiCittc2dzdHIgIkUxOTogVOEgbO1uZS11aW1oaXIgbmVhbWhiaGFpbO0gYWcgYW4gbWhhcmMiCisKKyM6IGdsb2JhbHMuaDoxMjg3Cittc2dpZCAiRTIwOiBNYXJrIG5vdCBzZXQiCittc2dzdHIgIkUyMDogTWFyYyBnYW4gc29jcvoiCisKKyM6IGdsb2JhbHMuaDoxMjg4Cittc2dpZCAiRTIxOiBDYW5ub3QgbWFrZSBjaGFuZ2VzLCAnbW9kaWZpYWJsZScgaXMgb2ZmIgorbXNnc3RyICIiCisiRTIxOiBO7SBm6WlkaXIgYXRocnVpdGhlIGEgY2h1ciBpIGJoZmVpZGhtLCBu7WwgYW4gYnJhdCAnbW9kaWZpYWJsZScgIgorInNvY3JhaXRoZSIKKworIzogZ2xvYmFscy5oOjEyODkKK21zZ2lkICJFMjI6IFNjcmlwdHMgbmVzdGVkIHRvbyBkZWVwIgorbXNnc3RyICJFMjI6IHNjcmlwdGVhbm5hIG5lYWRhaXRoZSBy82Rob21oYWluIgorCisjOiBnbG9iYWxzLmg6MTI5MAorbXNnaWQgIkUyMzogTm8gYWx0ZXJuYXRlIGZpbGUiCittc2dzdHIgIkUyMzogTu1sIGFvbiBjaG9taGFkIG1hbGFydGFjaCIKKworIzogZ2xvYmFscy5oOjEyOTEKK21zZ2lkICJFMjQ6IE5vIHN1Y2ggYWJicmV2aWF0aW9uIgorbXNnc3RyICJFMjQ6IE7tbCBhIGxlaXRo6WlkIGRlIGdoaW9ycvpjaOFuIGFubiIKKworIzogZ2xvYmFscy5oOjEyOTIKK21zZ2lkICJFNDc3OiBObyAhIGFsbG93ZWQiCittc2dzdHIgIkU0Nzc6IE7tIGNoZWFkYe10ZWFyICEiCisKKyM6IGdsb2JhbHMuaDoxMjk0Cittc2dpZCAiRTI1OiBHVUkgY2Fubm90IGJlIHVzZWQ6IE5vdCBlbmFibGVkIGF0IGNvbXBpbGUgdGltZSIKK21zZ3N0ciAiRTI1OiBO7SBm6WlkaXIgYW4gR1VJIGEg+nPhaWQ6IE7tb3IgY3VtYXNh7W9kaCDpIGFndXMgVmltIOEgdGhpb21z+iIKKworIzogZ2xvYmFscy5oOjEyOTcKK21zZ2lkICJFMjY6IEhlYnJldyBjYW5ub3QgYmUgdXNlZDogTm90IGVuYWJsZWQgYXQgY29tcGlsZSB0aW1lXG4iCittc2dzdHIgIiIKKyJFMjY6IE7tbCB0YWNh7W9jaHQgRWFiaHJhaXNlIGFyIGbhaWw6IE7tb3IgY3VtYXNh7W9kaCDpIGFndXMgVmltIOEgdGhpb21z+lxuIgorCisjOiBnbG9iYWxzLmg6MTMwMAorbXNnaWQgIkUyNzogRmFyc2kgY2Fubm90IGJlIHVzZWQ6IE5vdCBlbmFibGVkIGF0IGNvbXBpbGUgdGltZVxuIgorbXNnc3RyICIiCisiRTI3OiBO7WwgdGFjYe1vY2h0IFBoZWlyc2lzZSBhciBm4WlsOiBO7W9yIGN1bWFzYe1vZGgg6SBhZ3VzIFZpbSDhIHRoaW9tc/pcbiIKKworIzogZ2xvYmFscy5oOjEzMDMKK21zZ2lkICJFODAwOiBBcmFiaWMgY2Fubm90IGJlIHVzZWQ6IE5vdCBlbmFibGVkIGF0IGNvbXBpbGUgdGltZVxuIgorbXNnc3RyICIiCisiRTgwMDogTu1sIHRhY2Htb2NodCBBcmFpYmlzZSBhciBm4WlsOiBO7W9yIGN1bWFzYe1vZGgg6SBhZ3VzIFZpbSDhIHRoaW9tc/pcbiIKKworIzogZ2xvYmFscy5oOjEzMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTI4OiBObyBzdWNoIGhpZ2hsaWdodCBncm91cCBuYW1lOiAlcyIKK21zZ3N0ciAiRTI4OiBO7WwgYSBsZWl0aOlpZCBkJ2Fpbm0gZ3L6cGEgYWliaHNpdGhlOiAlcyIKKworIzogZ2xvYmFscy5oOjEzMDgKK21zZ2lkICJFMjk6IE5vIGluc2VydGVkIHRleHQgeWV0IgorbXNnc3RyICJFMjk6IE7tbCBhb24gdOlhY3MgaW9uc+FpdGUgZ28gZHTtIHNlbyIKKworIzogZ2xvYmFscy5oOjEzMDkKK21zZ2lkICJFMzA6IE5vIHByZXZpb3VzIGNvbW1hbmQgbGluZSIKK21zZ3N0ciAiRTMwOiBO7WwgYW9uIGztbmUgbmEgbi1vcmR1aXRoZSByb2ltaGUgc2VvIgorCisjOiBnbG9iYWxzLmg6MTMxMAorbXNnaWQgIkUzMTogTm8gc3VjaCBtYXBwaW5nIgorbXNnc3RyICJFMzE6IE7tbCBhIGxlaXRo6WlkIGRlIG1oYXDhaWwiCisKKyM6IGdsb2JhbHMuaDoxMzExCittc2dpZCAiRTQ3OTogTm8gbWF0Y2giCittc2dzdHIgIkU0Nzk6IE7tbCBhb24gcnVkIGNvbWhvaXJp+m5hY2ggYW5uIgorCisjOiBnbG9iYWxzLmg6MTMxMgorIywgYy1mb3JtYXQKK21zZ2lkICJFNDgwOiBObyBtYXRjaDogJXMiCittc2dzdHIgIkU0ODA6IE7tbCBhb24gcnVkIGNvbWhvaXJp+m5hY2ggYW5uOiAlcyIKKworIzogZ2xvYmFscy5oOjEzMTMKK21zZ2lkICJFMzI6IE5vIGZpbGUgbmFtZSIKK21zZ3N0ciAiRTMyOiBO7WwgYW9uIGFpbm0gY29taGFpZCIKKworIzogZ2xvYmFscy5oOjEzMTQKK21zZ2lkICJFMzM6IE5vIHByZXZpb3VzIHN1YnN0aXR1dGUgcmVndWxhciBleHByZXNzaW9uIgorbXNnc3RyICJFMzM6IE7tbCBhb24gc2xvbm4gaW9uYWRh7W9jaHRhIHJvaW1oZSBzZW8iCisKKyM6IGdsb2JhbHMuaDoxMzE1Cittc2dpZCAiRTM0OiBObyBwcmV2aW91cyBjb21tYW5kIgorbXNnc3RyICJFMzQ6IE7tbCBhb24gb3Jk+iByb2ltaGUgc2VvIgorCisjOiBnbG9iYWxzLmg6MTMxNgorbXNnaWQgIkUzNTogTm8gcHJldmlvdXMgcmVndWxhciBleHByZXNzaW9uIgorbXNnc3RyICJFMzU6IE7tbCBhb24gc2xvbm4gaW9uYWRh7W9jaHRhIHJvaW1oZSBzZW8iCisKKyM6IGdsb2JhbHMuaDoxMzE3Cittc2dpZCAiRTQ4MTogTm8gcmFuZ2UgYWxsb3dlZCIKK21zZ3N0ciAiRTQ4MTogTu0gY2hlYWRh7XRlYXIgcmFvbiIKKworIzogZ2xvYmFscy5oOjEzMTkKK21zZ2lkICJFMzY6IE5vdCBlbm91Z2ggcm9vbSIKK21zZ3N0ciAiRTM2OiBO7Wwgc2ztIGEgZGjzdGhhaW4gYW5uIgorCisjOiBnbG9iYWxzLmg6MTMyMgorIywgYy1mb3JtYXQKK21zZ2lkICJFMjQ3OiBubyByZWdpc3RlcmVkIHNlcnZlciBuYW1lZCBcIiVzXCIiCittc2dzdHIgIkUyNDc6IG7tbCBhb24gZmhyZWFzdGFsYe0gY2zhcmFpdGhlIGxlaXMgYW4gYWlubSBcIiVzXCIiCisKKyM6IGdsb2JhbHMuaDoxMzI0CisjLCBjLWZvcm1hdAorbXNnaWQgIkU0ODI6IENhbid0IGNyZWF0ZSBmaWxlICVzIgorbXNnc3RyICJFNDgyOiBO7SBm6WlkaXIgY29taGFkICVzIGEgY2hydXRo+iIKKworIzogZ2xvYmFscy5oOjEzMjUKK21zZ2lkICJFNDgzOiBDYW4ndCBnZXQgdGVtcCBmaWxlIG5hbWUiCittc2dzdHIgIkU0ODM6IE7tbCBhb24gZmjhaWwgYXIgYWlubSBjb21oYWlkIHNlYWxhZGFjaCIKKworIzogZ2xvYmFscy5oOjEzMjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTQ4NDogQ2FuJ3Qgb3BlbiBmaWxlICVzIgorbXNnc3RyICJFNDg0OiBO7SBm6WlkaXIgY29taGFkICVzIGEgb3NjYWlsdCIKKworIzogZ2xvYmFscy5oOjEzMjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTQ4NTogQ2FuJ3QgcmVhZCBmaWxlICVzIgorbXNnc3RyICJFNDg1OiBO7SBm6WlkaXIgY29taGFkICVzIGEgbOlhbWgiCisKKyM6IGdsb2JhbHMuaDoxMzI4Cittc2dpZCAiRTM3OiBObyB3cml0ZSBzaW5jZSBsYXN0IGNoYW5nZSAoYWRkICEgdG8gb3ZlcnJpZGUpIgorbXNnc3RyICJFMzc6IFThIGF0aHJ1aXRoZSBhbm4gZ2FuIHPhYmjhaWwgKGN1aXIgISBsZWlzIGFuIG9yZPogY2h1biBz4XL6KSIKKworIzogZ2xvYmFscy5oOjEzMjkKK21zZ2lkICJFMzg6IE51bGwgYXJndW1lbnQiCittc2dzdHIgIkUzODogQXJn82ludCBuaWFsYXNhY2giCisKKyM6IGdsb2JhbHMuaDoxMzMxCittc2dpZCAiRTM5OiBOdW1iZXIgZXhwZWN0ZWQiCittc2dzdHIgIkUzOTogQWcgc/ppbCBsZSBodWltaGlyIgorCisjOiBnbG9iYWxzLmg6MTMzNAorIywgYy1mb3JtYXQKK21zZ2lkICJFNDA6IENhbid0IG9wZW4gZXJyb3JmaWxlICVzIgorbXNnc3RyICJFNDA6IE7tIGbpaWRpciBhbiBjb21oYWQgZWFycuFpZGUgJXMgYSBvc2NhaWx0IgorCisjOiBnbG9iYWxzLmg6MTMzNworbXNnaWQgIkUyMzM6IGNhbm5vdCBvcGVuIGRpc3BsYXkiCittc2dzdHIgIkUyMzM6IG7tIGbpaWRpciBhbiBzY+FpbGXhbiBhIG9zY2FpbHQiCisKKyM6IGdsb2JhbHMuaDoxMzM5Cittc2dpZCAiRTQxOiBPdXQgb2YgbWVtb3J5ISIKK21zZ3N0ciAiRTQxOiBDdWltaG5lIO1kaXRoZSEiCisKKyM6IGdsb2JhbHMuaDoxMzQxCittc2dpZCAiUGF0dGVybiBub3QgZm91bmQiCittc2dzdHIgIlBhdHL6biBnYW4gYWltc2n6IgorCisjOiBnbG9iYWxzLmg6MTM0MworIywgYy1mb3JtYXQKK21zZ2lkICJFNDg2OiBQYXR0ZXJuIG5vdCBmb3VuZDogJXMiCittc2dzdHIgIkU0ODY6IFBhdHL6biBnYW4gYWltc2n6OiAlcyIKKworIzogZ2xvYmFscy5oOjEzNDQKK21zZ2lkICJFNDg3OiBBcmd1bWVudCBtdXN0IGJlIHBvc2l0aXZlIgorbXNnc3RyICJFNDg3OiBO7SBmb2zhaXIgYXJn82ludCBkaGVpbWhuZWFjaCIKKworIzogZ2xvYmFscy5oOjEzNDYKK21zZ2lkICJFNDU5OiBDYW5ub3QgZ28gYmFjayB0byBwcmV2aW91cyBkaXJlY3RvcnkiCittc2dzdHIgIkU0NTk6IE7tIGbpaWRpciBhIGZoaWxsZWFkaCBhciBhbiBjaG9taGFkbGFubiByb2ltaGUgc2VvIgorCisjOiBnbG9iYWxzLmg6MTM1MAorbXNnaWQgIkU0MjogTm8gRXJyb3JzIgorbXNnc3RyICJFNDI6IE7tbCBBb24gRWFycuFpZCBBbm4iCisKKyM6IGdsb2JhbHMuaDoxMzUyCittc2dpZCAiRTQzOiBEYW1hZ2VkIG1hdGNoIHN0cmluZyIKK21zZ3N0ciAiRTQzOiBUZWFnaHLhbiBjdWFyZGFpZ2ggbG9pdGUiCisKKyM6IGdsb2JhbHMuaDoxMzUzCittc2dpZCAiRTQ0OiBDb3JydXB0ZWQgcmVnZXhwIHByb2dyYW0iCittc2dzdHIgIkU0NDogQ2zhciBuYSBzbG9pbm4gaW9uYWRh7W9jaHRhIHRydWFpbGxpdGhlIgorCisjOiBnbG9iYWxzLmg6MTM1NAorbXNnaWQgIkU0NTogJ3JlYWRvbmx5JyBvcHRpb24gaXMgc2V0IChhZGQgISB0byBvdmVycmlkZSkiCittc2dzdHIgIkU0NTogdOEgYW4gcm9naGEgJ3JlYWRvbmx5JyBzb2NyYWl0aGUgKGN1aXIgISBsZWlzIGFuIG9yZPogY2h1biBz4XL6KSIKKworIzogZ2xvYmFscy5oOjEzNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTQ2OiBDYW5ub3QgY2hhbmdlIHJlYWQtb25seSB2YXJpYWJsZSBcIiVzXCIiCittc2dzdHIgIkU0NjogTu0gZulpZGlyIGF0aHLzZyBs6WltaC1hbWjhaW4gXCIlc1wiIGEgYXRocvoiCisKKyM6IGdsb2JhbHMuaDoxMzU3CisjLCBjLWZvcm1hdAorbXNnaWQgIkU0NjogQ2Fubm90IHNldCB2YXJpYWJsZSBpbiB0aGUgc2FuZGJveDogXCIlc1wiIgorbXNnc3RyICJFNDY6IE7tIGbpaWRpciBhdGhy82cgYSBzaG9jcvogc2EgYmhvc2NhIGdhaW5pbWg6IFwiJXNcIiIKKworIzogZ2xvYmFscy5oOjEzNjAKK21zZ2lkICJFNDc6IEVycm9yIHdoaWxlIHJlYWRpbmcgZXJyb3JmaWxlIgorbXNnc3RyICJFNDc6IEVhcnLhaWQgYWd1cyBjb21oYWQgZWFycuFpZGUg4SBs6WFtaCIKKworIzogZ2xvYmFscy5oOjEzNjMKK21zZ2lkICJFNDg6IE5vdCBhbGxvd2VkIGluIHNhbmRib3giCittc2dzdHIgIkU0ODogTu0gY2hlYWRh7XRlYXIg6SBzZW8gaSBtYm9zY2EgZ2FpbmltaCIKKworIzogZ2xvYmFscy5oOjEzNjUKK21zZ2lkICJFNTIzOiBOb3QgYWxsb3dlZCBoZXJlIgorbXNnc3RyICJFNTIzOiBO7SBjaGVhZGHtdGVhciDpIGFuc2VvIgorCisjOiBnbG9iYWxzLmg6MTM2OAorbXNnaWQgIkUzNTk6IFNjcmVlbiBtb2RlIHNldHRpbmcgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAiRTM1OTogTu0gZulpZGlyIGFuIG3zZCBzY+FpbGXhaW4gYSBzaG9jcvoiCisKKyM6IGdsb2JhbHMuaDoxMzcwCittc2dpZCAiRTQ5OiBJbnZhbGlkIHNjcm9sbCBzaXplIgorbXNnc3RyICJFNDk6IE3paWQgbmVhbWhiaGFpbO0gc2Nyb2xsYWl0aGUiCisKKyM6IGdsb2JhbHMuaDoxMzcxCittc2dpZCAiRTkxOiAnc2hlbGwnIG9wdGlvbiBpcyBlbXB0eSIKK21zZ3N0ciAiRTkxOiByb2doYSAnc2hlbGwnIGZvbGFtaCIKKworIzogZ2xvYmFscy5oOjEzNzMKK21zZ2lkICJFMjU1OiBDb3VsZG4ndCByZWFkIGluIHNpZ24gZGF0YSEiCittc2dzdHIgIkUyNTU6IE7tb3JiaCBmaOlpZGlyIG5hIHNvbnJh7SBjb21oYXJ0aGEgYSBs6WFtaCEiCisKKyM6IGdsb2JhbHMuaDoxMzc1Cittc2dpZCAiRTcyOiBDbG9zZSBlcnJvciBvbiBzd2FwIGZpbGUiCittc2dzdHIgIkU3MjogRWFycuFpZCBhZ3VzIGNvbWhhZCBiYWJodOFsYSDhIGRo+m5hZGgiCisKKyM6IGdsb2JhbHMuaDoxMzc2Cittc2dpZCAiRTczOiB0YWcgc3RhY2sgZW1wdHkiCittc2dzdHIgIkU3MzogdOEgY3J1YWNoIG5hIGdjbGliZWFubmEgZm9sYW1oIgorCisjOiBnbG9iYWxzLmg6MTM3NworbXNnaWQgIkU3NDogQ29tbWFuZCB0b28gY29tcGxleCIKK21zZ3N0ciAiRTc0OiBPcmT6IHLzY2hhc3RhIgorCisjOiBnbG9iYWxzLmg6MTM3OAorbXNnaWQgIkU3NTogTmFtZSB0b28gbG9uZyIKK21zZ3N0ciAiRTc1OiBBaW5tIHLzZmhhZGEiCisKKyM6IGdsb2JhbHMuaDoxMzc5Cittc2dpZCAiRTc2OiBUb28gbWFueSBbIgorbXNnc3RyICJFNzY6IGFuIGlvbWFyY2EgWyIKKworIzogZ2xvYmFscy5oOjEzODAKK21zZ2lkICJFNzc6IFRvbyBtYW55IGZpbGUgbmFtZXMiCittc2dzdHIgIkU3NzogQW4gaW9tYXJjYSBhaW5tbmVhY2hhIGNvbWhhaWQiCisKKyM6IGdsb2JhbHMuaDoxMzgxCittc2dpZCAiRTQ4ODogVHJhaWxpbmcgY2hhcmFjdGVycyIKK21zZ3N0ciAiRTQ4ODogQ2FyYWNodGFpciBjaHVuIGRlaXJpZGgiCisKKyM6IGdsb2JhbHMuaDoxMzgyCittc2dpZCAiRTc4OiBVbmtub3duIG1hcmsiCittc2dzdHIgIkU3ODogTWFyYyBhbmFpdGhuaWQiCisKKyM6IGdsb2JhbHMuaDoxMzgzCittc2dpZCAiRTc5OiBDYW5ub3QgZXhwYW5kIHdpbGRjYXJkcyIKK21zZ3N0ciAiRTc5OiBO7SBm6WlkaXIgc2FvcvNnYSBhIGxlYXRobvoiCisKKyM6IGdsb2JhbHMuaDoxMzg1Cittc2dpZCAiRTU5MTogJ3dpbmhlaWdodCcgY2Fubm90IGJlIHNtYWxsZXIgdGhhbiAnd2lubWluaGVpZ2h0JyIKK21zZ3N0ciAiRTU5MTogbu0gY2hlYWRh7XRlYXIgJ3dpbmhlaWdodCcgYSBiaGVpdGggbu1vcyBs+iBu4SAnd2lubWluaGVpZ2h0JyIKKworIzogZ2xvYmFscy5oOjEzODcKK21zZ2lkICJFNTkyOiAnd2lud2lkdGgnIGNhbm5vdCBiZSBzbWFsbGVyIHRoYW4gJ3dpbm1pbndpZHRoJyIKK21zZ3N0ciAiRTU5Mjogbu0gY2hlYWRh7XRlYXIgJ3dpbndpZHRoJyBhIGJoZWl0aCBu7W9zIGz6IG7hICd3aW5taW53aWR0aCciCisKKyM6IGdsb2JhbHMuaDoxMzkwCittc2dpZCAiRTgwOiBFcnJvciB3aGlsZSB3cml0aW5nIgorbXNnc3RyICJFODA6IEVhcnLhaWQgYWd1cyDhIHNjcu1vYmgiCisKKyM6IGdsb2JhbHMuaDoxMzkxCittc2dpZCAiWmVybyBjb3VudCIKK21zZ3N0ciAiTmlhbGFzIgorCisjOiBnbG9iYWxzLmg6MTM5MworbXNnaWQgIkU4MTogVXNpbmcgPFNJRD4gbm90IGluIGEgc2NyaXB0IGNvbnRleHQiCittc2dzdHIgIkU4MTogPFNJRD4g4SD6c+FpZCBuYWNoIGkgZ2NvbWh0aOlhY3Mgc2NyaXB0ZSIKKworIzogZ2xvYmFscy5oOjEzOTYKK21zZ2lkICJFNDQ5OiBJbnZhbGlkIGV4cHJlc3Npb24gcmVjZWl2ZWQiCittc2dzdHIgIkU0NDk6IEZ1YXJ0aGFzIHNsb25uIG5lYW1oYmhhaWztIgorCisjOiBnbG9iYWxzLmg6MTM5OQorbXNnaWQgIkU0NjM6IFJlZ2lvbiBpcyBndWFyZGVkLCBjYW5ub3QgbW9kaWZ5IgorbXNnc3RyICJFNDYzOiBS6WlnafpuIGNvc2FudGEsIG7tIGbpaWRpciDpIGEgYXRocvoiCisKKyM6IGdsb2JhbHMuaDoxNDAwCittc2dpZCAiRTc0NDogTmV0QmVhbnMgZG9lcyBub3QgYWxsb3cgY2hhbmdlcyBpbiByZWFkLW9ubHkgZmlsZXMiCittc2dzdHIgIkU3NDQ6IE7tIGNoZWFkYe1vbm4gTmV0QmVhbnMgYW9uIGF0aHL6IGkgZ2NvbWhhaWQgbOlpbWgtYW1o4WluIgorCisjOiBnbG9iYWxzLmg6MTQwMworIywgYy1mb3JtYXQKK21zZ2lkICJFNjg1OiBJbnRlcm5hbCBlcnJvcjogJXMiCittc2dzdHIgIkU2ODU6IEVhcnLhaWQgaW5taGXhbmFjaDogJXMiCisKKyM6IGdsb2JhbHMuaDoxNDA2Cittc2dpZCAiRTM2MTogQ3Jhc2ggaW50ZXJjZXB0ZWQ7IHJlZ2V4cCB0b28gY29tcGxleD8iCittc2dzdHIgIkUzNjE6IENlYXBhZGggdHVhaXJ0OyBzbG9ubiBpb25hZGHtb2NodGEgcvNjaGFzdGE/IgorCisjOiBnbG9iYWxzLmg6MTQwOAorbXNnaWQgIkUzNjM6IHBhdHRlcm4gY2F1c2VkIG91dC1vZi1zdGFjayBlcnJvciIKK21zZ3N0ciAiRTM2MzogZ2hpbiBhbiBwYXRy+m4gZWFycuFpZCBhcy1hbi1jaHJ1YWNoIgpkaWZmIC0tZ2l0IGEvc3JjL3Byb3RvL2V4X2NtZHMucHJvIGIvc3JjL3Byb3RvL2V4X2NtZHMucHJvCmluZGV4IDgxNTA2M2EuLjUwMjM4YmIgMTAwNjQ0Ci0tLSBhL3NyYy9wcm90by9leF9jbWRzLnBybworKysgYi9zcmMvcHJvdG8vZXhfY21kcy5wcm8KQEAgLTE1LDggKzE1LDggQEAKIGNoYXJfdSAqdmltaW5mb19yZWFkc3RyaW5nIF9fQVJHUygodmlyX1QgKnZpcnAsIGludCBvZmYsIGludCBjb252ZXJ0KSk7CiB2b2lkIHZpbWluZm9fd3JpdGVzdHJpbmcgX19BUkdTKChGSUxFICpmZCwgY2hhcl91ICpwKSk7CiB2b2lkIGRvX2ZpeGRlbCBfX0FSR1MoKGV4YXJnX1QgKmVhcCkpOwotdm9pZCBwcmludF9saW5lX25vX3ByZWZpeCBfX0FSR1MoKGxpbmVucl9UIGxudW0sIGludCB1c2VfbnVtYmVyKSk7Ci12b2lkIHByaW50X2xpbmUgX19BUkdTKChsaW5lbnJfVCBsbnVtLCBpbnQgdXNlX251bWJlcikpOwordm9pZCBwcmludF9saW5lX25vX3ByZWZpeCBfX0FSR1MoKGxpbmVucl9UIGxudW0sIGludCB1c2VfbnVtYmVyLCBpbnQgbGlzdCkpOwordm9pZCBwcmludF9saW5lIF9fQVJHUygobGluZW5yX1QgbG51bSwgaW50IHVzZV9udW1iZXIsIGludCBsaXN0KSk7CiB2b2lkIGV4X2ZpbGUgX19BUkdTKChleGFyZ19UICplYXApKTsKIHZvaWQgZXhfdXBkYXRlIF9fQVJHUygoZXhhcmdfVCAqZWFwKSk7CiB2b2lkIGV4X3dyaXRlIF9fQVJHUygoZXhhcmdfVCAqZWFwKSk7CmRpZmYgLS1naXQgYS9zcmMvdGVzdGRpci9NYWtlZmlsZSBiL3NyYy90ZXN0ZGlyL01ha2VmaWxlCmluZGV4IDkxZTIyOWEuLjczNmRiMDQgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0ZGlyL01ha2VmaWxlCisrKyBiL3NyYy90ZXN0ZGlyL01ha2VmaWxlCkBAIC01MCwxMCArNTAsMTMgQEAKIAljcCAkKi5vayB0ZXN0Lm9rCiAJIyBTbGVlcCBhIG1vbWVudCB0byBhdm9pZCB0aGF0IHRoZSB4dGVybSB0aXRsZSBpcyBtZXNzZWQgdXAKIAlALXNsZWVwIC4yCi0JJChWSU1QUk9HKSAtdSB1bml4LnZpbSAtVSBOT05FIC0tbm9wbHVnaW4gLXMgZG90ZXN0LmluICQqLmluCi0JQC9iaW4vc2ggLWMgImlmIGRpZmYgdGVzdC5vdXQgJCoub2s7IFwKLQkJdGhlbiBtdiAtZiB0ZXN0Lm91dCAkKi5vdXQ7IFwKLQkJZWxzZSBlY2hvICQqIEZBSUxFRCA+PnRlc3QubG9nOyBtdiAtZiB0ZXN0Lm91dCAkKi5mYWlsZWQ7IFwKKwktJChWSU1QUk9HKSAtdSB1bml4LnZpbSAtVSBOT05FIC0tbm9wbHVnaW4gLXMgZG90ZXN0LmluICQqLmluCisJQC9iaW4vc2ggLWMgImlmIHRlc3QgLWYgdGVzdC5vdXQ7IHRoZW5cCisJCSAgaWYgZGlmZiB0ZXN0Lm91dCAkKi5vazsgXAorCQkgIHRoZW4gbXYgLWYgdGVzdC5vdXQgJCoub3V0OyBcCisJCSAgZWxzZSBlY2hvICQqIEZBSUxFRCA+PnRlc3QubG9nOyBtdiAtZiB0ZXN0Lm91dCAkKi5mYWlsZWQ7IFwKKwkJICBmaSBcCisJCWVsc2UgZWNobyAkKiBOTyBPVVRQVVQgPj50ZXN0LmxvZzsgXAogCQlmaSIKIAktcm0gLXJmIFgqIHRlc3Qub2sgdmltaW5mbwogCmRpZmYgLS1naXQgYS9zcmMvdWkuYyBiL3NyYy91aS5jCmluZGV4IGRkNDEwYzUuLjZkMTAwZGMgMTAwNjQ0Ci0tLSBhL3NyYy91aS5jCisrKyBiL3NyYy91aS5jCkBAIC01OCw4ICs1OCw3IEBACiAjZW5kaWYKIH0KIAotI2lmIChkZWZpbmVkKEZFQVRfR1VJKSAmJiAoZGVmaW5lZChVTklYKSB8fCBkZWZpbmVkKFZNUykpKSBcCi0JfHwgZGVmaW5lZChNQUNPU19YX1VOSVgpIHx8IGRlZmluZWQoUFJPVE8pCisjaWYgZGVmaW5lZChVTklYKSB8fCBkZWZpbmVkKFZNUykgfHwgZGVmaW5lZChQUk9UTykKIC8qCiAgKiBXaGVuIGV4ZWN1dGluZyBhbiBleHRlcm5hbCBwcm9ncmFtLCB0aGVyZSBtYXkgYmUgc29tZSB0eXBlZCBjaGFyYWN0ZXJzIHRoYXQKICAqIGFyZSBub3QgY29uc3VtZWQgYnkgaXQuICBHaXZlIHRoZW0gYmFjayB0byB1aV9pbmNoYXIoKSBhbmQgdGhleSBhcmUgc3RvcmVkCkBAIC0xNzYxLDYgKzE3NjAsNyBAQAogIyAgaWYgMAogCQkpCS8qIGF2b2lkIHN5bnRheCBoaWdobGlnaHQgZXJyb3IgKi8KICMgIGVuZGlmCisKIAlpZiAobGVuID4gMCB8fCBnb3RfaW50KQogCSAgICBicmVhazsKIAkvKgo=