ZGlmZiAtLWdpdCBhL3J1bnRpbWUvYXV0b2xvYWQvdmltYmFsbC52aW0gYi9ydW50aW1lL2F1dG9sb2FkL3ZpbWJhbGwudmltCmluZGV4IDVlZDM0ZjIuLmQ2OWM2NDUgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvYXV0b2xvYWQvdmltYmFsbC52aW0KKysrIGIvcnVudGltZS9hdXRvbG9hZC92aW1iYWxsLnZpbQpAQCAtMSw5ICsxLDkgQEAKICIgdmltYmFsbC52aW0gOiBjb25zdHJ1Y3QgYSBmaWxlIGNvbnRhaW5pbmcgYm90aCBwYXRocyBhbmQgZmlsZXMKICIgQXV0aG9yOglDaGFybGVzIEUuIENhbXBiZWxsLCBKci4KLSIgRGF0ZToJCU1heSAwNywgMjAwNwotIiBWZXJzaW9uOgkyMgorIiBEYXRlOgkJSnVuIDA1LCAyMDA4CisiIFZlcnNpb246CTI3CiAiIEdldExhdGVzdFZpbVNjcmlwdHM6IDE1MDIgMSA6QXV0b0luc3RhbGw6IHZpbWJhbGwudmltCi0iIENvcHlyaWdodDogKGMpIDIwMDQtMjAwNiBieSBDaGFybGVzIEUuIENhbXBiZWxsLCBKci4KKyIgQ29weXJpZ2h0OiAoYykgMjAwNC0yMDA4IGJ5IENoYXJsZXMgRS4gQ2FtcGJlbGwsIEpyLgogIiAgICAgICAgICAgIFRoZSBWSU0gTElDRU5TRSBhcHBsaWVzIHRvIFZpbWJhbGwudmltLCBhbmQgVmltYmFsbC50eHQKICIgICAgICAgICAgICAoc2VlIHxjb3B5cmlnaHR8KSBleGNlcHQgdXNlICJWaW1iYWxsIiBpbnN0ZWFkIG9mICJWaW0iLgogIiAgICAgICAgICAgIE5vIHdhcnJhbnR5LCBleHByZXNzIG9yIGltcGxpZWQuCkBAIC0xNSw4ICsxNSw5IEBACiAgZmluaXNoCiBlbmRpZgogbGV0IHM6a2VlcGNwbyAgICAgICAgPSAmY3BvCi1sZXQgZzpsb2FkZWRfdmltYmFsbCA9ICJ2MjIiCitsZXQgZzpsb2FkZWRfdmltYmFsbCA9ICJ2MjciCiBzZXQgY3BvJnZpbQorIkRlY2hvVGFiT24KIAogIiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICIgQ29uc3RhbnRzOiB7e3sxCkBAIC0yNCw2ICsyNSw1NyBAQAogIGxldCBzOlVTQUdFICAgPSAwCiAgbGV0IHM6V0FSTklORyA9IDEKICBsZXQgczpFUlJPUiAgID0gMgorCisgIiBkZXRlcm1pbmUgaWYgY3lnd2luIGlzIGluIHVzZSBvciBub3QKKyBpZiAhZXhpc3RzKCJnOm5ldHJ3X2N5Z3dpbiIpCisgIGlmIGhhcygid2luMzIiKSB8fCBoYXMoIndpbjk1IikgfHwgaGFzKCJ3aW42NCIpIHx8IGhhcygid2luMTYiKQorICAgaWYgJnNoZWxsID1+ICdcJShcPGJhc2hcPlx8XDx6c2hcPlwpXCUoXC5leGVcKVw9JCcKKyAgICBsZXQgZzpuZXRyd19jeWd3aW49IDEKKyAgIGVsc2UKKyAgICBsZXQgZzpuZXRyd19jeWd3aW49IDAKKyAgIGVuZGlmCisgIGVsc2UKKyAgIGxldCBnOm5ldHJ3X2N5Z3dpbj0gMAorICBlbmRpZgorIGVuZGlmCisKKyAiIHNldCB1cCBnOnZpbWJhbGxfbWtkaXIgaWYgdGhlIG1rZGlyKCkgY2FsbCBpc24ndCBkZWZpbmVkCisgaWYgIWV4aXN0cygiKm1rZGlyIikKKyAgaWYgZXhpc3RzKCJnOm5ldHJ3X2xvY2FsX21rZGlyIikKKyAgIGxldCBnOnZpbWJhbGxfbWtkaXI9IGc6bmV0cndfbG9jYWxfbWtkaXIKKyAgZWxzZWlmIGV4ZWN1dGFibGUoIm1rZGlyIikKKyAgIGxldCBnOnZpbWJhbGxfbWtkaXI9ICJta2RpciIKKyAgZWxzZWlmIGV4ZWN1dGFibGUoIm1ha2VkaXIiKQorICAgbGV0IGc6dmltYmFsbF9ta2Rpcj0gIm1ha2VkaXIiCisgIGVuZGlmCisgIGlmICFleGlzdHMoZzp2aW1iYWxsX21rZGlyKQorICAgY2FsbCB2aW1iYWxsI1Nob3dNZXNnKHM6V0FSTklORywiKHZpbWJhbGwpIGc6dmltYmFsbF9ta2RpciB1bmRlZmluZWQiKQorICBlbmRpZgorIGVuZGlmCisKKyAiIHNldCB1cCBzaGVsbCBxdW90aW5nIGNoYXJhY3RlcgorIGlmIGV4aXN0cygiZzp2aW1iYWxsX3NocSIpICYmICFleGlzdHMoImc6bmV0cndfc2hxIikKKyAgbGV0IGc6bmV0cndfc2hxPSBnOnZpbWJhbGxfc2hxCisgZW5kaWYKKyBpZiAhZXhpc3RzKCJnOm5ldHJ3X3NocSIpCisgIGlmIGV4aXN0cygiJnNocSIpICYmICZzaHEgIT0gIiIKKyAgIGxldCBnOm5ldHJ3X3NocT0gJnNocQorICBlbHNlaWYgaGFzKCJ3aW4zMiIpIHx8IGhhcygid2luOTUiKSB8fCBoYXMoIndpbjY0IikgfHwgaGFzKCJ3aW4xNiIpCisgICBpZiBnOm5ldHJ3X2N5Z3dpbgorICAgIGxldCBnOm5ldHJ3X3NocT0gIiciCisgICBlbHNlCisgICAgbGV0IGc6bmV0cndfc2hxPSAnIicKKyAgIGVuZGlmCisgIGVsc2UKKyAgIGxldCBnOm5ldHJ3X3NocT0gIiciCisgIGVuZGlmCisiIGNhbGwgRGVjaG8oImc6bmV0cndfc2hxPCIuZzpuZXRyd19zaHEuIj4iKQorIGVuZGlmCisKKyAiIHNldCB1cCBlc2NhcGUgc3RyaW5nICh1c2VkIHRvIHByb3RlY3QgcGF0aHMpCisgaWYgIWV4aXN0cygiZzp2aW1iYWxsX3BhdGhfZXNjYXBlIikKKyAgbGV0IGc6dmltYmFsbF9wYXRoX2VzY2FwZT0gJyA7IyUnCisgZW5kaWYKIGVuZGlmCiAKICIgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkBAIC0zMSw3ICs4MywxMiBAQAogCiAiIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogIiB2aW1iYWxsI01rVmltYmFsbDogY3JlYXRlcyBhIHZpbWJhbGwgZ2l2ZW4gYSBsaXN0IG9mIHBhdGhzIHRvIGZpbGVzIHt7ezIKLSIgVmltYmFsbCBGb3JtYXQ6CisiIElucHV0OgorIiAgICAgbGluZTEsbGluZTI6IGEgcmFuZ2Ugb2YgbGluZXMgY29udGFpbmluZyBwYXRocyB0byBmaWxlcyB0byBiZSBpbmNsdWRlZCBpbiB0aGUgdmltYmFsbAorIiAgICAgd3JpdGVsZXZlbCA6IGlmIHRydWUsIGZvcmNlIGEgd3JpdGUgdG8gZmlsZW5hbWUudmJhLCBldmVuIGlmIGl0IGV4aXN0cworIiAgICAgICAgICAgICAgICAgICh1c3VhbGx5IGFjY29tcGxpc2hlZCB3aXRoIDpNa1ZpbWJhbGwhIC4uLgorIiAgICAgZmlsZW5hbWUgICA6IGJhc2UgbmFtZSBvZiBmaWxlIHRvIGJlIGNyZWF0ZWQgKGllLiBmaWxlbmFtZS52YmEpCisiIE91dHB1dDogYSBmaWxlbmFtZS52YmEgdXNpbmcgdmltYmFsbCBmb3JtYXQ6CiAiICAgICBwYXRoCiAiICAgICBmaWxlc2l6ZQogIiAgICAgW2ZpbGVdCkBAIC00MCw3ICs5Nyw3IEBACiAiICAgICBbZmlsZV0KIGZ1biEgdmltYmFsbCNNa1ZpbWJhbGwobGluZTEsbGluZTIsd3JpdGVsZXZlbCwuLi4pIHJhbmdlCiAiICBjYWxsIERmdW5jKCJNa1ZpbWJhbGwobGluZTE9Ii5hOmxpbmUxLiIgbGluZTI9Ii5hOmxpbmUyLiIgd3JpdGVsZXZlbD0iLmE6d3JpdGVsZXZlbC4iIHZpbWJhbGxuYW1lPCIuYToxLiI+KSBhOjA9Ii5hOjApCi0gIGlmIGE6MSA9fiAnLnZpbScgfHwgYToxID1+ICcudHh0JworICBpZiBhOjEgPX4gJ1wudmltJCcgfHwgYToxID1+ICdcLnR4dCQnCiAgICBsZXQgdmJuYW1lPSBzdWJzdGl0dXRlKGE6MSwnXC5cYVx7M30kJywnLnZiYScsJycpCiAgIGVsc2UKICAgIGxldCB2Ym5hbWU9IGE6MQpAQCAtNjEsNyArMTE4LDcgQEAKICAgZW5kaWYKIAogICAiIHVzZXIgb3B0aW9uIGJ5cGFzcwotICBjYWxsIHM6U2F2ZVNldHRpbmdzKCkKKyAgY2FsbCB2aW1iYWxsI1NhdmVTZXR0aW5ncygpCiAKICAgaWYgYTowID49IDIKICAgICIgYWxsb3cgdXNlciB0byBzcGVjaWZ5IHdoZXJlIHRvIGdldCB0aGUgZmlsZXMKQEAgLTg3LDcgKzE0NCw3IEBACiAgICBpZiAhZmlsZXJlYWRhYmxlKHN2ZmlsZSkKICAgICBjYWxsIHZpbWJhbGwjU2hvd01lc2coczpFUlJPUiwidW5hYmxlIHRvIHJlYWQgZmlsZTwiLnN2ZmlsZS4iPiIpCiAJY2FsbCBzOkNoZ0RpcihjdXJkaXIpCi0JY2FsbCBzOlJlc3RvcmVTZXR0aW5ncygpCisJY2FsbCB2aW1iYWxsI1Jlc3RvcmVTZXR0aW5ncygpCiAiICAgIGNhbGwgRHJldCgiTWtWaW1iYWxsIikKICAgICByZXR1cm4KICAgIGVuZGlmCkBAIC0xMTMsOCArMTcwLDggQEAKIAogICAgIiB3cml0ZSB0aGUgZmlsZSBmcm9tIHRoZSB0YWIKICAgIGxldCBzdmZpbGVwYXRoPSBzOlBhdGgoc3ZmaWxlLCcnKQotIiAgIGNhbGwgRGVjaG8oImV4ZSAkciAiLnN2ZmlsZXBhdGgpCi0gICBleGUgIiRyICIuc3ZmaWxlcGF0aAorIiAgIGNhbGwgRGVjaG8oImV4ZSAkciAiLmZuYW1lZXNjYXBlKHN2ZmlsZXBhdGgpKQorICAgZXhlICIkciAiLmZuYW1lZXNjYXBlKHN2ZmlsZXBhdGgpCiAKICAgIGNhbGwgc2V0bGluZShsYXN0bGluZSsxLGxpbmUoIiQiKSAtIGxhc3RsaW5lIC0gMSkKICIgICBjYWxsIERlY2hvKCJsYXN0bGluZT0iLmxhc3RsaW5lLiIgbGluZSQ9Ii5saW5lKCIkIikpCkBAIC0xMjcsMTQgKzE4NCwxNSBAQAogICAiIHdyaXRlIHRoZSB2aW1iYWxsCiAgIGV4ZSAidGFibiAiLnZidGFibnIKICAgY2FsbCBzOkNoZ0RpcihjdXJkaXIpCisgIHNldGxvY2FsIGZmPXVuaXgKICAgaWYgYTp3cml0ZWxldmVsCiAgICBsZXQgdmJuYW1lcGF0aD0gczpQYXRoKHZibmFtZSwnJykKLSIgICBjYWxsIERlY2hvKCJleGUgdyEgIi52Ym5hbWVwYXRoKQotICAgZXhlICJ3ISAiLnZibmFtZXBhdGgKKyIgICBjYWxsIERlY2hvKCJleGUgdyEgIi5mbmFtZWVzY2FwZSh2Ym5hbWVwYXRoKSkKKyAgIGV4ZSAidyEgIi5mbmFtZWVzY2FwZSh2Ym5hbWVwYXRoKQogICBlbHNlCiAgICBsZXQgdmJuYW1lcGF0aD0gczpQYXRoKHZibmFtZSwnJykKLSIgICBjYWxsIERlY2hvKCJleGUgdyAiLnZibmFtZXBhdGgpCi0gICBleGUgIncgIi52Ym5hbWVwYXRoCisiICAgY2FsbCBEZWNobygiZXhlIHcgIi5mbmFtZWVzY2FwZSh2Ym5hbWVwYXRoKSkKKyAgIGV4ZSAidyAiLmZuYW1lZXNjYXBlKHZibmFtZXBhdGgpCiAgIGVuZGlmCiAiICBjYWxsIERlY2hvKCJWaW1iYWxsPCIudmJuYW1lLiI+IGNyZWF0ZWQiKQogICBlY2hvICJWaW1iYWxsPCIudmJuYW1lLiI+IGNyZWF0ZWQiCkBAIC0xNDUsMTYgKzIwMywyNCBAQAogICBleGUgInRhYmMgIi52YnRhYm5yCiAKICAgIiByZXN0b3JlIG9wdGlvbnMKLSAgY2FsbCBzOlJlc3RvcmVTZXR0aW5ncygpCisgIGNhbGwgdmltYmFsbCNSZXN0b3JlU2V0dGluZ3MoKQogCiAiICBjYWxsIERyZXQoIk1rVmltYmFsbCIpCiBlbmRmdW4KIAogIiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICIgdmltYmFsbCNWaW1iYWxsOiBleHRyYWN0IGFuZCBkaXN0cmlidXRlIGNvbnRlbnRzIGZyb20gYSB2aW1iYWxsIHt7ezIKKyIgICAgICAgICAgICAgICAgICAoaW52b2tlZCB0aGUgdGhlIFVzZVZpbWJhbGwgY29tbWFuZCBlbWJlZGRlZCBpbiAKKyIgICAgICAgICAgICAgICAgICB2aW1iYWxscycgcHJvbG9ndWUpCiBmdW4hIHZpbWJhbGwjVmltYmFsbChyZWFsbHksLi4uKQogIiAgY2FsbCBEZnVuYygidmltYmFsbCNWaW1iYWxsKHJlYWxseT0iLmE6cmVhbGx5LiIpIGE6MD0iLmE6MCkKIAorICBpZiB2OnZlcnNpb24gPCA3MDEgfHwgKHY6dmVyc2lvbiA9PSA3MDEgJiYgIWhhcygicGF0Y2gyOTkiKSkKKyAgIGVjaG9lcnIgIlRoaXMgdmVyc2lvbiBvZiB2aW1iYWxsIHJlcXVpcmVzIHZpbSA3LjEgd2l0aCBwYXRjaCAyOTkiCisiICAgY2FsbCBEcmV0KCJ2aW1iYWxsI1ZpbWJhbGwgOiBuZWVkcyA3LjEgd2l0aCBwYXRjaCAyOTkiKQorICAgcmV0dXJuCisgIGVuZGlmCisKICAgaWYgZ2V0bGluZSgxKSAhfiAnXiIgVmltYmFsbCBBcmNoaXZlciBieSBDaGFybGVzIEUuIENhbXBiZWxsLCBKci4sIFBoLkQuJCcKICAgIGVjaG9lcnIgIihWaW1iYWxsKSBUaGUgY3VycmVudCBmaWxlIGRvZXMgbm90IGFwcGVhciB0byBiZSBhIFZpbWJhbGwhIgogIiAgIGNhbGwgRHJldCgidmltYmFsbCNWaW1iYWxsIikKQEAgLTE2Miw4ICsyMjgsOSBAQAogICBlbmRpZgogCiAgICIgc2V0IHVwIHN0YW5kYXJkIHNldHRpbmdzCi0gIGNhbGwgczpTYXZlU2V0dGluZ3MoKQotICBsZXQgY3VydGFibnIgPSB0YWJwYWdlbnIoKQorICBjYWxsIHZpbWJhbGwjU2F2ZVNldHRpbmdzKCkKKyAgbGV0IGN1cnRhYm5yICAgID0gdGFicGFnZW5yKCkKKyAgbGV0IHZpbWJhbGxmaWxlID0gZXhwYW5kKCIlOnRyIikKIAogICAiIHNldCB1cCB2aW1iYWxsIHRhYgogIiAgY2FsbCBEZWNobygic2V0dGluZyB1cCB2aW1iYWxsIHRhYiIpCkBAIC0xODYsMTYgKzI1MywxOCBAQAogIiAgY2FsbCBEZWNobygiY3VyZGlyPCIuY3VyZGlyLiI+IikKIAogICBjYWxsIHM6Q2hnRGlyKGhvbWUpCi0gIGNhbGwgdmltYmFsbCNSbVZpbWJhbGwoKQorICBsZXQgczpva191bmFibGVmaW5kPSAxCisgIGNhbGwgdmltYmFsbCNSbVZpbWJhbGwodmltYmFsbGZpbGUpCisgIHVubGV0IHM6b2tfdW5hYmxlZmluZAogCiAgIGxldCBsaW5lbnIgID0gNAogICBsZXQgZmlsZWNudCA9IDAKIAogICAiIGdpdmUgdGl0bGUgdG8gbGlzdGluZyBvZiAoZXh0cmFjdGVkKSBmaWxlcyBmcm9tIFZpbWJhbGwgQXJjaGl2ZQogICBpZiBhOnJlYWxseQotICAgZWNob2hsIFRpdGxlIHwgZWNob21zZyAiVmltYmFsbCBBcmNoaXZlIiB8IGVjaG9obCBOb25lCi0gIGVsc2UKLSAgIGVjaG9obCBUaXRsZSB8IGVjaG9tc2cgIlZpbWJhbGwgQXJjaGl2ZSBMaXN0aW5nIiB8IGVjaG9obCBOb25lCisgICBlY2hvaGwgVGl0bGUgICAgIHwgZWNob21zZyAiVmltYmFsbCBBcmNoaXZlIiAgICAgICAgIHwgZWNob2hsIE5vbmUKKyAgZWxzZSAgICAgICAgICAgICAKKyAgIGVjaG9obCBUaXRsZSAgICAgfCBlY2hvbXNnICJWaW1iYWxsIEFyY2hpdmUgTGlzdGluZyIgfCBlY2hvaGwgTm9uZQogICAgZWNob2hsIFN0YXRlbWVudCB8IGVjaG9tc2cgImZpbGVzIHdvdWxkIGJlIHBsYWNlZCB1bmRlcjogIi5ob21lIHwgZWNob2hsIE5vbmUKICAgZW5kaWYKIApAQCAtMjA2LDcgKzI3NSw3IEBACiAgIHdoaWxlIDEgPCBsaW5lbnIgJiYgbGluZW5yIDwgbGluZSgiJCIpCiAgICBsZXQgZm5hbWUgICA9IHN1YnN0aXR1dGUoZ2V0bGluZShsaW5lbnIpLCdcdFxbXFtcWzEkJywnJywnJykKICAgIGxldCBmbmFtZSAgID0gc3Vic3RpdHV0ZShmbmFtZSwnXFwnLCcvJywnZycpCi0gICBsZXQgZnNpemUgICA9IGdldGxpbmUobGluZW5yKzEpCisgICBsZXQgZnNpemUgICA9IGdldGxpbmUobGluZW5yKzEpKzAKICAgIGxldCBmaWxlY250ID0gZmlsZWNudCArIDEKICIgICBjYWxsIERlY2hvKCJmbmFtZTwiLmZuYW1lLiI+IGZzaXplPSIuZnNpemUuIiBmaWxlY250PSIuZmlsZWNudCkKIApAQCAtMjE5LDEwICsyODgsMTAgQEAKICIgICBjYWxsIERlY2hvKCJ1c2luZyBMIyIuKGxpbmVucisxKS4iOiBmc2l6ZT0iLmZzaXplKQogCiAgICAiIEFsbG93IEFzTmVlZGVkLyBkaXJlY3RvcnkgdG8gdGFrZSBwbGFjZSBvZiBwbHVnaW4vIGRpcmVjdG9yeQotICAgIiB3aGVuIEFzTmVlZGVkL2ZpbGVuYW1lIGlzIGZpbGVyZWFkYWJsZQorICAgIiB3aGVuIEFzTmVlZGVkL2ZpbGVuYW1lIGlzIGZpbGVyZWFkYWJsZSBvciB3YXMgcHJlc2VudCBpbiBWaW1iYWxsUmVjb3JkCiAgICBpZiBmbmFtZSA9fiAnXDxwbHVnaW4vJwogICAgCWxldCBhbmZuYW1lPSBzdWJzdGl0dXRlKGZuYW1lLCdcPHBsdWdpbi8nLCdBc05lZWRlZC8nLCcnKQotCWlmIGZpbGVyZWFkYWJsZShhbmZuYW1lKQorCWlmIGZpbGVyZWFkYWJsZShhbmZuYW1lKSB8fCAoZXhpc3RzKCJzOlZCUnN0cmluZyIpICYmIHM6VkJSc3RyaW5nID1+IGFuZm5hbWUpCiAiCSBjYWxsIERlY2hvKCJ1c2luZyBhbmZuYW1lPCIuYW5mbmFtZS4iPiBpbnN0ZWFkIG9mIDwiLmZuYW1lLiI+IikKIAkgbGV0IGZuYW1lPSBhbmZuYW1lCiAJZW5kaWYKQEAgLTI0MCw3ICszMDksMTEgQEAKICIJIGNhbGwgRGVjaG8oImRpcm5hbWU8Ii5kaXJuYW1lLiI+IikKICAgICAgaWYgIWlzZGlyZWN0b3J5KGRpcm5hbWUpCiAiICAgICAgY2FsbCBEZWNobygibWFraW5nIDwiLmRpcm5hbWUuIj4iKQotICAgICAgY2FsbCBta2RpcihkaXJuYW1lKQorICAgICAgaWYgZXhpc3RzKCJnOnZpbWJhbGxfbWtkaXIiKQorCSAgIGNhbGwgc3lzdGVtKGc6dmltYmFsbF9ta2Rpci4iICIuczpFc2NhcGUoZGlybmFtZSkpCisgICAgICBlbHNlCisgICAgICAgY2FsbCBta2RpcihkaXJuYW1lKQorICAgICAgZW5kaWYKIAkgIGNhbGwgczpSZWNvcmRJblZhcihob21lLCJybWRpcignIi5kaXJuYW1lLiInKSIpCiAgICAgIGVuZGlmCiAgICAgZW5kd2hpbGUKQEAgLTI1Nyw2ICszMzAsNyBAQAogICAgIiBjb3B5ICJhIiBidWZmZXIgaW50byB0YWIKICIgICBjYWxsIERlY2hvKCdjb3B5ICJhIGJ1ZmZlciBpbnRvIHRhYiMnLnZidGFibnIpCiAgICBleGUgInRhYm4gIi52YnRhYm5yCisgICBzZXRsb2NhbCBtYQogICAgc2lsZW50ISAlZAogICAgc2lsZW50IHB1dCBhCiAgICAxCkBAIC0yNjUsMTAgKzMzOSwxMCBAQAogICAgIiB3cml0ZSB0YWIgdG8gZmlsZQogICAgaWYgYTpyZWFsbHkKICAgICBsZXQgZm5hbWVwYXRoPSBzOlBhdGgoaG9tZS4iLyIuZm5hbWUsJycpCi0iICAgIGNhbGwgRGVjaG8oImV4ZSB3ISAiLmZuYW1lcGF0aCkKLSAgICBleGUgInNpbGVudCB3ISAiLmZuYW1lcGF0aAorIiAgICBjYWxsIERlY2hvKCJleGUgdyEgIi5mbmFtZWVzY2FwZShmbmFtZXBhdGgpKQorCWV4ZSAic2lsZW50IHchICIuZm5hbWVlc2NhcGUoZm5hbWVwYXRoKQogICAgIGVjaG8gIndyb3RlICIuZm5hbWVwYXRoCi0JY2FsbCBzOlJlY29yZEluVmFyKGhvbWUsImNhbGwgZGVsZXRlKCciLmZuYW1lcGF0aC4iJykiKQorCWNhbGwgczpSZWNvcmRJblZhcihob21lLCJjYWxsIGRlbGV0ZSgnIi5mbmFtZWVzY2FwZShmbmFtZXBhdGgpLiInKSIpCiAgICBlbmRpZgogCiAgICAiIHJldHVybiB0byB0YWIgd2l0aCB2aW1iYWxsCkBAIC0yNzcsMjEgKzM1MSwyMCBAQAogCiAgICAiIHNldCB1cCBoZWxwIGlmIGl0cyBhIGRvYy8qLnR4dCBmaWxlCiAiICAgY2FsbCBEZWNobygiZGlkaGVscDwiLmRpZGhlbHAuIj4gZm5hbWU8Ii5mbmFtZS4iPiIpCi0gICBpZiBhOnJlYWxseSAmJiBkaWRoZWxwID09ICIiICYmIGZuYW1lID1+ICdkb2MvW14vXVwrXC50eHQkJwotICAgCWxldCBkaWRoZWxwPSBzdWJzdGl0dXRlKGZuYW1lLCdeXCguKlw8ZG9jXClbL1xcXVteLl0qXC50eHQkJywnXDEnLCcnKQorICAgaWYgYTpyZWFsbHkgJiYgZGlkaGVscCA9PSAiIiAmJiBmbmFtZSA9fiAnZG9jL1teL11cK1wuXCh0eHRcfC4ueFwpJCcKKyAgIAlsZXQgZGlkaGVscD0gc3Vic3RpdHV0ZShmbmFtZSwnXlwoLipcPGRvY1wpWy9cXF1bXi5dKlwuXCh0eHRcfC4ueFwpJCcsJ1wxJywnJykKICIJY2FsbCBEZWNobygiZGlkaGVscDwiLmRpZGhlbHAuIj4iKQogICAgZW5kaWYKIAogICAgIiB1cGRhdGUgZm9yIG5leHQgZmlsZQotIiAgIGxldCBvbGRsaW5lbnIgPSBsaW5lbnIgIiBEZWNobwotICAgbGV0IGxpbmVuciAgICA9IGxpbmVuciArIGZzaXplCi0iICAgY2FsbCBEZWNobygidXBkYXRlIGxpbmVucj0gW2xpbmVucj0iLm9sZGxpbmVuci4iXSArIFtmc2l6ZT0iLmZzaXplLiJdID0gIi5saW5lbnIpCisiICAgY2FsbCBEZWNobygidXBkYXRlIGxpbmVucj0gW2xpbmVucj0iLmxpbmVuci4iXSArIFtmc2l6ZT0iLmZzaXplLiJdID0gIi4obGluZW5yK2ZzaXplKSkKKyAgIGxldCBsaW5lbnI9IGxpbmVuciArIGZzaXplCiAgIGVuZHdoaWxlCiAKICAgIiBzZXQgdXAgaGVscAogIiAgY2FsbCBEZWNobygiYWJvdXQgdG8gc2V0IHVwIGhlbHA6IGRpZGhlbHA8Ii5kaWRoZWxwLiI+IikKICAgaWYgZGlkaGVscCAhPSAiIgotICAgbGV0IGh0cGF0aD0gZXNjYXBlKHN1YnN0aXR1dGUoczpQYXRoKGhvbWUuIi8iLmRpZGhlbHAsJyInKSwnIicsJycsJ2cnKSwnICcpCisgICBsZXQgaHRwYXRoPSBzOlBhdGgoaG9tZS4iLyIuZGlkaGVscCwiIikKICIgICBjYWxsIERlY2hvKCJleGUgaGVscHRhZ3MgIi5odHBhdGgpCiAgICBleGUgImhlbHB0YWdzICIuaHRwYXRoCiAgICBlY2hvICJkaWQgaGVscHRhZ3MiCkBAIC0zMTEsNyArMzg0LDcgQEAKICAgc2V0bG9jYWwgbm9tb2QgYmg9d2lwZQogICBleGUgInRhYm4gIi5jdXJ0YWJucgogICBleGUgInRhYmMgIi52YnRhYm5yCi0gIGNhbGwgczpSZXN0b3JlU2V0dGluZ3MoKQorICBjYWxsIHZpbWJhbGwjUmVzdG9yZVNldHRpbmdzKCkKICAgY2FsbCBzOkNoZ0RpcihjdXJkaXIpCiAKICIgIGNhbGwgRHJldCgidmltYmFsbCNWaW1iYWxsIikKQEAgLTMyOSwxMiArNDAyLDEwIEBACiAiICAgY2FsbCBEcmV0KCJ2aW1iYWxsI1JtVmltYmFsbCA6IChnOnZpbWJhbGxfbm9yZWNvcmQpIikKICAgIHJldHVybgogICBlbmRpZgotICBsZXQgZWlrZWVwPSAmZWkKLSAgc2V0IGVpPWFsbAotIiAgY2FsbCBEZWNobygidHVybmVkIG9mZiBhbGwgZXZlbnRzIikKIAogICBpZiBhOjAgPT0gMAotICAgbGV0IGN1cmZpbGU9ICdeJy5leHBhbmQoIiU6dHIiKQorICAgbGV0IGN1cmZpbGU9IGV4cGFuZCgiJTp0ciIpCisiICAgY2FsbCBEZWNobygiY2FzZSBhOjA9MDogY3VyZmlsZTwiLmN1cmZpbGUuIj4gKHVzZWQgZXhwYW5kKCU6dHIpKSIpCiAgIGVsc2UKICAgIGlmIGE6MSA9fiAnW1wvXScKICAgICBjYWxsIHZpbWJhbGwjU2hvd01lc2coczpVU0FHRSwiUm1WaW1iYWxsIHZpbWJhbGxuYW1lIFtwYXRoXSIpCkBAIC0zNDIsMTEgKzQxMywxMCBAQAogICAgIHJldHVybgogICAgZW5kaWYKICAgIGxldCBjdXJmaWxlPSBhOjEKKyIgICBjYWxsIERlY2hvKCJjYXNlIGE6MD0iLmE6MC4iOiBjdXJmaWxlPCIuY3VyZmlsZS4iPiIpCiAgIGVuZGlmCi0gIGlmIGN1cmZpbGUgIX4gJy52YmEkJwotICAgbGV0IGN1cmZpbGU9IGN1cmZpbGUuIi52YmE6ICIKLSAgZWxzZQotICAgbGV0IGN1cmZpbGU9IGN1cmZpbGUuIjogIgorICBpZiBjdXJmaWxlID1+ICdcLnZiYSQnCisgICBsZXQgY3VyZmlsZT0gc3Vic3RpdHV0ZShjdXJmaWxlLCdcLnZiYScsJycsJycpCiAgIGVuZGlmCiAgIGlmIGE6MCA+PSAyCiAgICBsZXQgaG9tZT0gZXhwYW5kKGE6MikKQEAgLTM2NSwxMyArNDM1LDM0IEBACiAgICBrZWVwYWx0IGtlZXBqdW1wcyAxc3BsaXQgCiAgICBzaWxlbnQhIGtlZXBhbHQga2VlcGp1bXBzIGUgLlZpbWJhbGxSZWNvcmQKICAgIGxldCBrZWVwc3JjaD0gQC8KLSAgIGlmIHNlYXJjaChjdXJmaWxlLCdjdycpCi0gICAJbGV0IGV4ZXN0cmluZz0gc3Vic3RpdHV0ZShnZXRsaW5lKCIuIiksY3VyZmlsZSwnJywnJykKKyIgICBjYWxsIERlY2hvKCJzZWFyY2ggZm9yIF4iLmN1cmZpbGUuIi52YmE6IikKKyIgICBjYWxsIERlY2hvKCJzZWFyY2ggZm9yIF4iLmN1cmZpbGUuIlstMC05Ll0qLnZiYToiKQorICAgaWYgc2VhcmNoKCdeJy5jdXJmaWxlLiI6ICIuJ2N3JykKKwlsZXQgZm91bmRpdD0gMQorICAgZWxzZWlmIHNlYXJjaCgnXicuY3VyZmlsZS4iLnZiYTogIiwnY3cnKQorCWxldCBmb3VuZGl0PSAxCisgICBlbHNlaWYgc2VhcmNoKCdeJy5jdXJmaWxlLidbLTAtOS5dKi52YmE6ICcsJ2N3JykKKwlsZXQgZm91bmRpdD0gMQorICAgZWxzZQorICAgIGxldCBmb3VuZGl0ID0gMAorICAgZW5kaWYKKyAgIGlmIGZvdW5kaXQKKwlsZXQgZXhlc3RyaW5nICA9IHN1YnN0aXR1dGUoZ2V0bGluZSgiLiIpLCdeJy5jdXJmaWxlLidcU1x7LX1cLnZiYTogJywnJywnJykKKyAgICBsZXQgczpWQlJzdHJpbmc9IHN1YnN0aXR1dGUoZXhlc3RyaW5nLCdjYWxsIGRlbGV0ZSgnLCcnLCdnJykKKyAgICBsZXQgczpWQlJzdHJpbmc9IHN1YnN0aXR1dGUoczpWQlJzdHJpbmcsIlsnKV0iLCcnLCdnJykKICIJY2FsbCBEZWNobygiZXhlICIuZXhlc3RyaW5nKQogCXNpbGVudCEga2VlcGFsdCBrZWVwanVtcHMgZXhlIGV4ZXN0cmluZwogCXNpbGVudCEga2VlcGFsdCBrZWVwanVtcHMgZAorCWxldCBleGVzdHJpbmc9IHN0cmxlbihzdWJzdGl0dXRlKGV4ZXN0cmluZywnY2FsbCBkZWxldGUoLlx7LX0pfFw9JywiRCIsImciKSkKKyIJY2FsbCBEZWNobygiZXhlc3RyaW5nPCIuZXhlc3RyaW5nLiI+IikKKwllY2hvbXNnICJyZW1vdmVkICIuZXhlc3RyaW5nLiIgZmlsZXMiCiAgICBlbHNlCi0iICAgCWNhbGwgRGVjaG8oInVuYWJsZSB0byBmaW5kIDwiLmN1cmZpbGUuIj4gaW4gLlZpbWJhbGxSZWNvcmQiKQorICAgIGxldCBzOlZCUnN0cmluZz0gJycKKwlsZXQgY3VyZmlsZSAgICA9IHN1YnN0aXR1dGUoY3VyZmlsZSwnXC52YmEnLCcnLCcnKQorIiAgICBjYWxsIERlY2hvKCJ1bmFibGUgdG8gZmluZCA8Ii5jdXJmaWxlLiI+IGluIC5WaW1iYWxsUmVjb3JkIikKKwlpZiAhZXhpc3RzKCJzOm9rX3VuYWJsZWZpbmQiKQorICAgICBjYWxsIHZpbWJhbGwjU2hvd01lc2coczpXQVJOSU5HLCIoUm1WaW1iYWxsKSB1bmFibGUgdG8gZmluZCA8Ii5jdXJmaWxlLiI+IGluIC5WaW1iYWxsUmVjb3JkIikKKwllbmRpZgogICAgZW5kaWYKICAgIHNpbGVudCEga2VlcGFsdCBrZWVwanVtcHMgZy9eXHMqJC9kCiAgICBzaWxlbnQhIGtlZXBhbHQga2VlcGp1bXBzIHdxIQpAQCAtMzc5LDEwICs0NzAsNiBAQAogICBlbmRpZgogICBjYWxsIHM6Q2hnRGlyKGN1cmRpcikKIAotICAiIHJlc3RvcmluZyBldmVudHMKLSIgIGNhbGwgRGVjaG8oInJlc3RvcmluZyBldmVudHMiKQotICBsZXQgJmVpPSBlaWtlZXAKLQogIiAgY2FsbCBEcmV0KCJ2aW1iYWxsI1JtVmltYmFsbCIpCiBlbmRmdW4KIApAQCAtMzkzLDIxICs0ODAsNTYgQEAKIAogICAiIGRlY29tcHJlc3Npb246CiAgIGlmICAgICBleHBhbmQoIiUiKSA9fiAnLipcLmd6JyAgJiYgZXhlY3V0YWJsZSgiZ3VuemlwIikKLSAgIGV4ZSAiIWd1bnppcCAiLmE6Zm5hbWUKKyAgICIgaGFuZGxlICouZ3ogd2l0aCBndW56aXAKKyAgIHNpbGVudCBleGUgIiFndW56aXAgIi5zOkVzY2FwZShhOmZuYW1lKQorICAgaWYgdjpzaGVsbF9lcnJvciAhPSAwCisJY2FsbCB2aW1iYWxsI1Nob3dNZXNnKHM6V0FSTklORywiKHZpbWJhbGwjRGVjb21wcmVzcykgZ3VuemlwIG1heSBoYXZlIGZhaWxlZCB3aXRoIDwiLmE6Zm5hbWUuIj4iKQorICAgZW5kaWYKICAgIGxldCBmbmFtZT0gc3Vic3RpdHV0ZShhOmZuYW1lLCdcLmd6JCcsJycsJycpCiAgICBleGUgImUgIi5lc2NhcGUoZm5hbWUsJyBcJykKICAgIGNhbGwgdmltYmFsbCNTaG93TWVzZyhzOlVTQUdFLCJTb3VyY2UgdGhpcyBmaWxlIHRvIGV4dHJhY3QgaXQhICg6c28gJSkiKQorCisgIGVsc2VpZiBleHBhbmQoIiUiKSA9fiAnLipcLmd6JyAmJiBleGVjdXRhYmxlKCJnemlwIikKKyAgICIgaGFuZGxlICouZ3ogd2l0aCBnemlwIC1kCisgICBzaWxlbnQgZXhlICIhZ3ppcCAtZCAiLnM6RXNjYXBlKGE6Zm5hbWUpCisgICBpZiB2OnNoZWxsX2Vycm9yICE9IDAKKwljYWxsIHZpbWJhbGwjU2hvd01lc2coczpXQVJOSU5HLCcodmltYmFsbCNEZWNvbXByZXNzKSAiZ3ppcCAtZCIgbWF5IGhhdmUgZmFpbGVkIHdpdGggPCcuYTpmbmFtZS4iPiIpCisgICBlbmRpZgorICAgbGV0IGZuYW1lPSBzdWJzdGl0dXRlKGE6Zm5hbWUsJ1wuZ3okJywnJywnJykKKyAgIGV4ZSAiZSAiLmVzY2FwZShmbmFtZSwnIFwnKQorICAgY2FsbCB2aW1iYWxsI1Nob3dNZXNnKHM6VVNBR0UsIlNvdXJjZSB0aGlzIGZpbGUgdG8gZXh0cmFjdCBpdCEgKDpzbyAlKSIpCisKICAgZWxzZWlmIGV4cGFuZCgiJSIpID1+ICcuKlwuYnoyJyAmJiBleGVjdXRhYmxlKCJidW56aXAyIikKLSAgIGV4ZSAiIWJ1bnppcDIgIi5hOmZuYW1lCisgICAiIGhhbmRsZSAqLmJ6MiB3aXRoIGJ1bnppcDIKKyAgIHNpbGVudCBleGUgIiFidW56aXAyICIuczpFc2NhcGUoYTpmbmFtZSkKKyAgIGlmIHY6c2hlbGxfZXJyb3IgIT0gMAorCWNhbGwgdmltYmFsbCNTaG93TWVzZyhzOldBUk5JTkcsIih2aW1iYWxsI0RlY29tcHJlc3MpIGJ1bnppcDIgbWF5IGhhdmUgZmFpbGVkIHdpdGggPCIuYTpmbmFtZS4iPiIpCisgICBlbmRpZgogICAgbGV0IGZuYW1lPSBzdWJzdGl0dXRlKGE6Zm5hbWUsJ1wuYnoyJCcsJycsJycpCiAgICBleGUgImUgIi5lc2NhcGUoZm5hbWUsJyBcJykKICAgIGNhbGwgdmltYmFsbCNTaG93TWVzZyhzOlVTQUdFLCJTb3VyY2UgdGhpcyBmaWxlIHRvIGV4dHJhY3QgaXQhICg6c28gJSkiKQorCisgIGVsc2VpZiBleHBhbmQoIiUiKSA9fiAnLipcLmJ6MicgJiYgZXhlY3V0YWJsZSgiYnppcDIiKQorICAgIiBoYW5kbGUgKi5iejIgd2l0aCBiemlwMiAtZAorICAgc2lsZW50IGV4ZSAiIWJ6aXAyIC1kICIuczpFc2NhcGUoYTpmbmFtZSkKKyAgIGlmIHY6c2hlbGxfZXJyb3IgIT0gMAorCWNhbGwgdmltYmFsbCNTaG93TWVzZyhzOldBUk5JTkcsJyh2aW1iYWxsI0RlY29tcHJlc3MpICJiemlwMiAtZCIgbWF5IGhhdmUgZmFpbGVkIHdpdGggPCcuYTpmbmFtZS4iPiIpCisgICBlbmRpZgorICAgbGV0IGZuYW1lPSBzdWJzdGl0dXRlKGE6Zm5hbWUsJ1wuYnoyJCcsJycsJycpCisgICBleGUgImUgIi5lc2NhcGUoZm5hbWUsJyBcJykKKyAgIGNhbGwgdmltYmFsbCNTaG93TWVzZyhzOlVTQUdFLCJTb3VyY2UgdGhpcyBmaWxlIHRvIGV4dHJhY3QgaXQhICg6c28gJSkiKQorCiAgIGVsc2VpZiBleHBhbmQoIiUiKSA9fiAnLipcLnppcCcgJiYgZXhlY3V0YWJsZSgidW56aXAiKQotICAgZXhlICIhdW56aXAgIi5hOmZuYW1lCisgICAiIGhhbmRsZSAqLnppcCB3aXRoIHVuemlwCisgICBzaWxlbnQgZXhlICIhdW56aXAgIi5zOkVzY2FwZShhOmZuYW1lKQorICAgaWYgdjpzaGVsbF9lcnJvciAhPSAwCisJY2FsbCB2aW1iYWxsI1Nob3dNZXNnKHM6V0FSTklORywiKHZpbWJhbGwjRGVjb21wcmVzcykgdW56aXAgbWF5IGhhdmUgZmFpbGVkIHdpdGggPCIuYTpmbmFtZS4iPiIpCisgICBlbmRpZgogICAgbGV0IGZuYW1lPSBzdWJzdGl0dXRlKGE6Zm5hbWUsJ1wuemlwJCcsJycsJycpCiAgICBleGUgImUgIi5lc2NhcGUoZm5hbWUsJyBcJykKICAgIGNhbGwgdmltYmFsbCNTaG93TWVzZyhzOlVTQUdFLCJTb3VyY2UgdGhpcyBmaWxlIHRvIGV4dHJhY3QgaXQhICg6c28gJSkiKQogICBlbmRpZgorCiAgIHNldCBub21hIGJ0PW5vZmlsZSBmbXI9W1tbLF1dXSBmZG09bWFya2VyCiAKICIgIGNhbGwgRHJldCgiRGVjb21wcmVzcyIpCkBAIC00NDMsMzQgKzU2NSwzNSBAQAogCiAiICBjYWxsIERyZXQoInZpbWJhbGwjU2hvd01lc2ciKQogZW5kZnVuCi0KLSIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1sZXQgJmNwbz0gczprZWVwY3BvCi11bmxldCBzOmtlZXBjcG8KICIgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAiIHM6Q2hnRGlyOiBjaGFuZ2UgZGlyZWN0b3J5IChpbiBzcGl0ZSBvZiBXaW5kb3plKSB7e3syCiBmdW4hIHM6Q2hnRGlyKG5ld2RpcikKICIgIGNhbGwgRGZ1bmMoIkNoZ0RpcihuZXdkaXI8Ii5hOm5ld2Rpci4iPikiKQogICBpZiAoaGFzKCJ3aW4zMiIpIHx8IGhhcygid2luOTUiKSB8fCBoYXMoIndpbjY0IikgfHwgaGFzKCJ3aW4xNiIpKQotICAgIGV4ZSAnc2lsZW50IGNkICcuZXNjYXBlKHN1YnN0aXR1dGUoYTpuZXdkaXIsJy8nLCdcXCcsJ2cnKSwnICcpCisgICBleGUgJ3NpbGVudCBjZCAnLmZuYW1lZXNjYXBlKHN1YnN0aXR1dGUoYTpuZXdkaXIsJy8nLCdcXCcsJ2cnKSkKICAgZWxzZQotICAgZXhlICdzaWxlbnQgY2QgJy5lc2NhcGUoYTpuZXdkaXIsJyAnKQorICAgZXhlICdzaWxlbnQgY2QgJy5mbmFtZWVzY2FwZShhOm5ld2RpcikKICAgZW5kaWYKLSIgIGNhbGwgRHJldCgiQ2hnRGlyIikKKyIgIGNhbGwgRHJldCgiQ2hnRGlyIDogY3VyZGlyPCIuZ2V0Y3dkKCkuIj4iKQogZW5kZnVuCiAKICIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0iIHM6UGF0aDogcHJlcGVuZCBhbmQgYXBwZW5kIHF1b3RlcywgZG8gZXNjYXBpbmcsIGFzIG5lY2Vzc2FyeSB7e3syCisiIHM6UGF0aDogcHJlcGVuZCBhbmQgYXBwZW5kIHF1b3RlcyBhbmQgZG8gZXNjYXBpbmcge3t7MgogZnVuISBzOlBhdGgoY21kLHF1b3RlKQotIiAgY2FsbCBEZnVuYygiUGF0aChjbWQ8Ii5hOmNtZC4iPiBxdW90ZTwiLmE6cXVvdGUuIj4pIikKKyIgIGNhbGwgRGZ1bmMoIlBhdGgoY21kPCIuYTpjbWQuIj4gcXVvdGU8Ii5hOnF1b3RlLiI+KSB2aW1iYWxsX3BhdGhfZXNjYXBlPCIuZzp2aW1iYWxsX3BhdGhfZXNjYXBlLiI+IikKICAgaWYgKGhhcygid2luMzIiKSB8fCBoYXMoIndpbjk1IikgfHwgaGFzKCJ3aW42NCIpIHx8IGhhcygid2luMTYiKSkKLSAgIGxldCBjbWRwYXRoPSBhOnF1b3RlLnN1YnN0aXR1dGUoYTpjbWQsJy8nLCdcXCcsJ2cnKS5hOnF1b3RlCisiICAgbGV0IGNtZHBhdGg9IGE6cXVvdGUuc3Vic3RpdHV0ZShhOmNtZCwnLycsJ1xcJywnZycpLmE6cXVvdGUKKyAgIGxldCBjbWRwYXRoPSBhOnF1b3RlLnN1YnN0aXR1dGUoYTpjbWQsJ1xcJywnLycsJ2cnKS5hOnF1b3RlCisiICAgY2FsbCBEZWNobygiY21kcGF0aDwiLmNtZHBhdGguIj4gKHdpbjMyIG1vZCkiKQogICBlbHNlCiAgICBsZXQgY21kcGF0aD0gYTpxdW90ZS5hOmNtZC5hOnF1b3RlCisiICAgY2FsbCBEZWNobygiY21kcGF0aDwiLmNtZHBhdGguIj4gKG5vdC13aW4zMiBtb2QpIikKICAgZW5kaWYKLSAgaWYgYTpxdW90ZSA9PSAiIgorICBpZiBhOnF1b3RlID09ICIiICYmIGc6dmltYmFsbF9wYXRoX2VzY2FwZSAhfiAnICcKICAgIGxldCBjbWRwYXRoPSBlc2NhcGUoY21kcGF0aCwnICcpCisiICAgY2FsbCBEZWNobygiY21kcGF0aDwiLmNtZHBhdGguIj4gKGVtcHR5IHF1b3RlIGNhc2UpIikKICAgZW5kaWYKKyAgbGV0IGNtZHBhdGg9IGVzY2FwZShjbWRwYXRoLGc6dmltYmFsbF9wYXRoX2VzY2FwZSkKICIgIGNhbGwgRHJldCgiUGF0aCA8Ii5jbWRwYXRoLiI+IikKICAgcmV0dXJuIGNtZHBhdGgKIGVuZGZ1bgpAQCAtNDg1LDIzICs2MDgsMjAgQEAKICIgICBlbHNlCiAiICAgIGxldCBzOnJlY29yZGRpcj0gczpyZWNvcmRkaXIuInwiLnN1YnN0aXR1dGUoYTpjbWQsJ15ybWRpcicsImNhbGwgczpSbWRpciIsJycpCiAiICAgZW5kaWYKLSIgICBjYWxsIERlY2hvKCJyZWNvcmRkaXI9Ii5zOnJlY29yZGRpcikKICAgZWxzZWlmICFleGlzdHMoInM6cmVjb3JkZmlsZSIpCiAgICBsZXQgczpyZWNvcmRmaWxlPSBhOmNtZAotIiAgIGNhbGwgRGVjaG8oInJlY29yZGZpbGU9Ii5zOnJlY29yZGZpbGUpCiAgIGVsc2UKICAgIGxldCBzOnJlY29yZGZpbGU9IHM6cmVjb3JkZmlsZS4ifCIuYTpjbWQKLSIgICBjYWxsIERlY2hvKCJyZWNvcmRmaWxlPSIuczpyZWNvcmRmaWxlKQogICBlbmRpZgotIiAgY2FsbCBEcmV0KCJSZWNvcmRJblZhciIpCisiICBjYWxsIERyZXQoIlJlY29yZEluVmFyIDogczpyZWNvcmRmaWxlPCIuKGV4aXN0cygiczpyZWNvcmRmaWxlIik/IHM6cmVjb3JkZmlsZSA6ICIiKS4iPiBzOnJlY29yZGRpcjwiLihleGlzdHMoInM6cmVjb3JkZGlyIik/IHM6cmVjb3JkZGlyIDogIiIpLiI+IikKIGVuZGZ1bgogCiAiIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogIiBzOlJlY29yZEluRmlsZToge3t7MgogZnVuISBzOlJlY29yZEluRmlsZShob21lKQotIiAgY2FsbCBEZnVuYygiUmVjb3JkSW5GaWxlKCkiKQorIiAgY2FsbCBEZnVuYygiczpSZWNvcmRJbkZpbGUoKSIpCiAgIGlmIGV4aXN0cygiZzp2aW1iYWxsX25vcmVjb3JkIikKLSIgICBjYWxsIERyZXQoIlJlY29yZEluRmlsZSA6IChnOnZpbWJhbGxfbm9yZWNvcmQpIikKKyIgICBjYWxsIERyZXQoInM6UmVjb3JkSW5GaWxlIDogZzp2aW1iYWxsX25vcmVjb3JkIikKICAgIHJldHVybgogICBlbmRpZgogCkBAIC01MDksOCArNjI5LDEyIEBACiAgICBsZXQgY3VyZGlyPSBnZXRjd2QoKQogICAgY2FsbCBzOkNoZ0RpcihhOmhvbWUpCiAgICBrZWVwYWx0IGtlZXBqdW1wcyAxc3BsaXQgCisKICAgIGxldCBjbWQ9IGV4cGFuZCgiJTp0ciIpLiI6ICIKKyIgICBjYWxsIERlY2hvKCJjbWQ8Ii5jbWQuIj4iKQorCiAgICBzaWxlbnQhIGtlZXBhbHQga2VlcGp1bXBzIGUgLlZpbWJhbGxSZWNvcmQKKyAgIHNldGxvY2FsIG1hCiAgICAkCiAgICBpZiBleGlzdHMoInM6cmVjb3JkZmlsZSIpICYmIGV4aXN0cygiczpyZWNvcmRkaXIiKQogICAgCWxldCBjbWQ9IGNtZC5zOnJlY29yZGZpbGUuInwiLnM6cmVjb3JkZGlyCkBAIC01MTksMzUgKzY0MywzMyBAQAogICAgZWxzZWlmIGV4aXN0cygiczpyZWNvcmRmaWxlIikKICAgIAlsZXQgY21kPSBjbWQuczpyZWNvcmRmaWxlCiAgICBlbHNlCi0iICAgIGNhbGwgRHJldCgiUmVjb3JkSW5GaWxlIikKKyIgICAgY2FsbCBEcmV0KCJzOlJlY29yZEluRmlsZSA6IG5laXRoZXIgcmVjb3JkZmlsZSBub3IgcmVjb3JkZGlyIGV4aXN0IikKIAlyZXR1cm4KICAgIGVuZGlmCisiICAgY2FsbCBEZWNobygiY21kPCIuY21kLiI+IikKKworICAgIiBwdXQgY29tbWFuZCBpbnRvIGJ1ZmZlciwgd3JpdGUgLlZpbWJhbGxSZWNvcmQgYGZpbGUKICAgIGtlZXBhbHQga2VlcGp1bXBzIHB1dD1jbWQKICAgIHNpbGVudCEga2VlcGFsdCBrZWVwanVtcHMgZy9eXHMqJC9kCiAgICBzaWxlbnQhIGtlZXBhbHQga2VlcGp1bXBzIHdxIQogICAgY2FsbCBzOkNoZ0RpcihjdXJkaXIpCi0gICBpZiBleGlzdHMoInM6cmVjb3JkZGlyIikgfHVubGV0IHM6cmVjb3JkZGlyIHxlbmRpZgotICAgaWYgZXhpc3RzKCJzOnJlY29yZGZpbGUiKXx1bmxldCBzOnJlY29yZGZpbGV8ZW5kaWYKKworICAgaWYgZXhpc3RzKCJzOnJlY29yZGRpciIpCisiCWNhbGwgRGVjaG8oInVubGV0IHM6cmVjb3JkZGlyPCIuczpyZWNvcmRkaXIuIj4iKQorICAgCXVubGV0IHM6cmVjb3JkZGlyCisgICBlbmRpZgorICAgaWYgZXhpc3RzKCJzOnJlY29yZGZpbGUiKQorIgljYWxsIERlY2hvKCJ1bmxldCBzOnJlY29yZGZpbGU8Ii5zOnJlY29yZGZpbGUuIj4iKQorICAgCXVubGV0IHM6cmVjb3JkZmlsZQorICAgZW5kaWYKICAgZWxzZQogIiAgIGNhbGwgRGVjaG8oInM6cmVjb3JkW2ZpbGV8ZGlyXSBkb2Vzbid0IGV4aXN0IikKICAgZW5kaWYKIAotIiAgY2FsbCBEcmV0KCJSZWNvcmRJbkZpbGUiKQorIiAgY2FsbCBEcmV0KCJzOlJlY29yZEluRmlsZSIpCiBlbmRmdW4KIAogIiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSIgczpSbWRpcjoge3t7MgotImZ1biEgczpSbWRpcihkaXJuYW1lKQotIiIgIGNhbGwgRGZ1bmMoInM6Um1kaXIoZGlybmFtZTwiLmE6ZGlybmFtZS4iPikiKQotIiAgaWYgKGhhcygid2luMzIiKSB8fCBoYXMoIndpbjk1IikgfHwgaGFzKCJ3aW42NCIpIHx8IGhhcygid2luMTYiKSkgJiYgJnNoZWxsICF+PyAnc2gkJwotIiAgICBjYWxsIHN5c3RlbSgiZGVsICIuYTpkaXJuYW1lKQotIiAgZWxzZQotIiAgIGNhbGwgc3lzdGVtKCJybWRpciAiLmE6ZGlybmFtZSkKLSIgIGVuZGlmCi0iIiAgY2FsbCBEcmV0KCJzOlJtZGlyIikKLSJlbmRmdW4KLQotIiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICIgczpWaW1iYWxsSG9tZTogZGV0ZXJtaW5lL2dldCBob21lIGRpcmVjdG9yeSBwYXRoICh1c3VhbGx5IGZyb20gcnRwKSB7e3syCiBmdW4hIHM6VmltYmFsbEhvbWUoKQogIiAgY2FsbCBEZnVuYygiVmltYmFsbEhvbWUoKSIpCkBAIC01NTcsNiArNjc5LDExIEBACiAgICAiIGdvIHRvIHZpbSBwbHVnaW4gaG9tZQogICAgZm9yIGhvbWUgaW4gc3BsaXQoJnJ0cCwnLCcpICsgWycnXQogICAgIGlmIGlzZGlyZWN0b3J5KGhvbWUpICYmIGZpbGV3cml0YWJsZShob21lKSB8IGJyZWFrIHwgZW5kaWYKKwlsZXQgYmFzZWhvbWU9IHN1YnN0aXR1dGUoaG9tZSwnWy9cXF1cLnZpbSQnLCcnLCcnKQorICAgIGlmIGlzZGlyZWN0b3J5KGJhc2Vob21lKSAmJiBmaWxld3JpdGFibGUoYmFzZWhvbWUpCisJIGxldCBob21lPSBiYXNlaG9tZS4iLy52aW0iCisJIGJyZWFrCisJZW5kaWYKICAgIGVuZGZvcgogICAgaWYgaG9tZSA9PSAiIgogICAgICIganVzdCBwaWNrIHRoZSBmaXJzdCBkaXJlY3RvcnkKQEAgLTU2NiwxMyArNjkzLDI1IEBACiAgICAgbGV0IGhvbWU9IHN1YnN0aXR1dGUoaG9tZSwnLycsJ1xcJywnZycpCiAgICBlbmRpZgogICBlbmRpZgorICAiIGluc3VyZSB0aGF0IHRoZSBob21lIGRpcmVjdG9yeSBleGlzdHMKKyIgIGNhbGwgRGVjaG8oInBpY2tlZCBob21lPCIuaG9tZS4iPiIpCisgIGlmICFpc2RpcmVjdG9yeShob21lKQorICAgaWYgZXhpc3RzKCJnOnZpbWJhbGxfbWtkaXIiKQorIgljYWxsIERlY2hvKCJob21lPCIuaG9tZS4iPiBpc24ndCBhIGRpcmVjdG9yeSAtLSBtYWtpbmcgaXQgbm93IHdpdGggZzp2aW1iYWxsX21rZGlyPCIuZzp2aW1iYWxsX21rZGlyLiI+IikKKyIgICAgY2FsbCBEZWNobygic3lzdGVtKCIuZzp2aW1iYWxsX21rZGlyLiIgIi5zOkVzY2FwZShob21lKS4iKSIpCisgICAgY2FsbCBzeXN0ZW0oZzp2aW1iYWxsX21rZGlyLiIgIi5zOkVzY2FwZShob21lKSkKKyAgIGVsc2UKKyIJY2FsbCBEZWNobygiaG9tZTwiLmhvbWUuIj4gaXNuJ3QgYSBkaXJlY3RvcnkgLS0gbWFraW5nIGl0IG5vdyB3aXRoIG1rZGlyKCkiKQorICAgIGNhbGwgbWtkaXIoaG9tZSkKKyAgIGVuZGlmCisgIGVuZGlmCiAiICBjYWxsIERyZXQoIlZpbWJhbGxIb21lIDwiLmhvbWUuIj4iKQogICByZXR1cm4gaG9tZQogZW5kZnVuCiAKICIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0iIHM6U2F2ZVNldHRpbmdzOiB7e3syCi1mdW4hIHM6U2F2ZVNldHRpbmdzKCkKKyIgdmltYmFsbCNTYXZlU2V0dGluZ3M6IHt7ezIKK2Z1biEgdmltYmFsbCNTYXZlU2V0dGluZ3MoKQogIiAgY2FsbCBEZnVuYygiU2F2ZVNldHRpbmdzKCkiKQogICBsZXQgczptYWtlZXAgID0gZ2V0cG9zKCInYSIpCiAgIGxldCBzOnJlZ2FrZWVwPSBAYQpAQCAtNTg3LDE3ICs3MjYsMjAgQEAKICAgbGV0IHM6cG1rZWVwICA9ICZwbQogICBsZXQgczpyZXBrZWVwID0gJnJlcG9ydAogICBsZXQgczp2ZWtlZXAgID0gJnZlCisgIGxldCBzOmZma2VlcCAgPSAmZmYKICAgaWYgZXhpc3RzKCImYWNkIikKLSAgIHNldCBlaT1hbGwgdmU9YWxsIG5vYWNkIG5vZmVuIG5vaWMgcmVwb3J0PTk5OSBub2hpZCBidD0gbWEgbHogcG09CisgICBzZXRsb2NhbCBlaT1hbGwgdmU9YWxsIG5vYWNkIG5vZmVuIG5vaWMgcmVwb3J0PTk5OSBub2hpZCBidD0gbWEgbHogcG09IGZmPXVuaXgKICAgZWxzZQotICAgc2V0IGVpPWFsbCB2ZT1hbGwgbm9mZW4gbm9pYyByZXBvcnQ9OTk5IG5vaGlkIGJ0PSBtYSBseiBwbT0KKyAgIHNldGxvY2FsIGVpPWFsbCB2ZT1hbGwgICAgICAgbm9mZW4gbm9pYyByZXBvcnQ9OTk5IG5vaGlkIGJ0PSBtYSBseiBwbT0gZmY9dW5peAogICBlbmRpZgorICAiIHZpbWJhbGxzIHNob3VsZCBiZSBpbiB1bml4IGZvcm1hdAorICBzZXRsb2NhbCBmZj11bml4CiAiICBjYWxsIERyZXQoIlNhdmVTZXR0aW5ncyIpCiBlbmRmdW4KIAogIiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSIgczpSZXN0b3JlU2V0dGluZ3M6IHt7ezIKLWZ1biEgczpSZXN0b3JlU2V0dGluZ3MoKQorIiB2aW1iYWxsI1Jlc3RvcmVTZXR0aW5nczoge3t7MgorZnVuISB2aW1iYWxsI1Jlc3RvcmVTZXR0aW5ncygpCiAiICBjYWxsIERmdW5jKCJSZXN0b3JlU2V0dGluZ3MoKSIpCiAgIGxldCBAYSAgICAgID0gczpyZWdha2VlcAogICBpZiBleGlzdHMoIiZhY2QiKQpAQCAtNjExLDIwICs3NTMsMzQgQEAKICAgbGV0ICZyZXBvcnQgPSBzOnJlcGtlZXAKICAgbGV0ICZ2ZSAgICAgPSBzOnZla2VlcAogICBsZXQgJmVpICAgICA9IHM6ZWlrZWVwCisgIGxldCAmZmYgICAgID0gczpmZmtlZXAKICAgaWYgczptYWtlZXBbMF0gIT0gMAogICAgIiByZXN0b3JlIG1hcmsgYQogIiAgIGNhbGwgRGVjaG8oInJlc3RvcmUgbWFyay1hOiBtYWtlZXA9Ii5zdHJpbmcobWFrZWVwKSkKICAgIGNhbGwgc2V0cG9zKCInYSIsczptYWtlZXApCiAgIGVuZGlmCiAgIGlmIGV4aXN0cygiJmFjZCIpCi0gICB1bmxldCBzOnJlZ2FrZWVwIHM6YWNka2VlcCBzOmVpa2VlcCBzOmZlbmtlZXAgczpoaWRrZWVwIHM6aWNrZWVwIHM6cmVwa2VlcCBzOnZla2VlcCBzOm1ha2VlcCBzOmx6a2VlcCBzOnBta2VlcAotICBlbHNlCi0gICB1bmxldCBzOnJlZ2FrZWVwIHM6ZWlrZWVwIHM6ZmVua2VlcCBzOmhpZGtlZXAgczppY2tlZXAgczpyZXBrZWVwIHM6dmVrZWVwIHM6bWFrZWVwIHM6bHprZWVwIHM6cG1rZWVwCisgICB1bmxldCBzOmFjZGtlZXAKICAgZW5kaWYKLSAgc2V0IGJ0PW5vZmlsZSBub21hCisgIHVubGV0IHM6cmVnYWtlZXAgczplaWtlZXAgczpmZW5rZWVwIHM6aGlka2VlcCBzOmlja2VlcCBzOnJlcGtlZXAgczp2ZWtlZXAgczptYWtlZXAgczpsemtlZXAgczpwbWtlZXAgczpmZmtlZXAKICIgIGNhbGwgRHJldCgiUmVzdG9yZVNldHRpbmdzIikKIGVuZGZ1bgogCiAiIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIiBzOkVzY2FwZToge3t7MgorZnVuIHM6RXNjYXBlKG5hbWUpCisgICIgc2hlbGxlc2NhcGUoKSB3YXMgYWRkZWQgYnkgcGF0Y2ggNy4wLjExMQorICBpZiBleGlzdHMoIipzaGVsbGVzY2FwZSIpCisgICAgcmV0dXJuIHNoZWxsZXNjYXBlKGE6bmFtZSkKKyAgZW5kaWYKKyAgcmV0dXJuIGc6bmV0cndfc2hxIC4gYTpuYW1lIC4gZzpuZXRyd19zaHEKK2VuZGZ1bgorCisiIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIiAgUmVzdG9yZToKK2xldCAmY3BvPSBzOmtlZXBjcG8KK3VubGV0IHM6a2VlcGNwbworCisiIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogIiBNb2RlbGluZXM6IHt7ezEKICIgdmltOiBmZG09bWFya2VyCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy9pbmRleC50eHQgYi9ydW50aW1lL2RvYy9pbmRleC50eHQKaW5kZXggZjU4N2NjOS4uZjQ5NDMyOCAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvaW5kZXgudHh0CisrKyBiL3J1bnRpbWUvZG9jL2luZGV4LnR4dApAQCAtMSw0ICsxLDQgQEAKLSppbmRleC50eHQqICAgICBGb3IgVmltIHZlcnNpb24gNy4xLiAgTGFzdCBjaGFuZ2U6IDIwMDcgTWF5IDA1CisqaW5kZXgudHh0KiAgICAgRm9yIFZpbSB2ZXJzaW9uIDcuMmEuICBMYXN0IGNoYW5nZTogMjAwOCBNYXkgMDQKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwgICAgYnkgQnJhbSBNb29sZW5hYXIKQEAgLTQ2Nyw2ICs0NjcsNyBAQAogfHZfYWJ8CQlhYgkJICAgImEgYmxvY2siIGZyb20gIlsoIiB0byAiXSkiICh3aXRoIGJyYWNlcykKIHx2X2FwfAkJYXAJCSAgICJhIHBhcmFncmFwaCIgKHdpdGggd2hpdGUgc3BhY2UpCiB8dl9hc3wJCWFzCQkgICAiYSBzZW50ZW5jZSIgKHdpdGggd2hpdGUgc3BhY2UpCit8dl9hdHwJCWF0CQkgICAiYSB0YWcgYmxvY2siICh3aXRoIHdoaXRlIHNwYWNlKQogfHZfYXd8CQlhdwkJICAgImEgd29yZCIgKHdpdGggd2hpdGUgc3BhY2UpCiB8dl9he3wJCWF7CQkgICBzYW1lIGFzIGFCCiB8dl9hfXwJCWF9CQkgICBzYW1lIGFzIGFCCkBAIC00ODQsNiArNDg1LDcgQEAKIHx2X2lifAkJaWIJCSAgICJpbm5lciBibG9jayIgZnJvbSAiWygiIHRvICJdKSIKIHx2X2lwfAkJaXAJCSAgICJpbm5lciBwYXJhZ3JhcGgiCiB8dl9pc3wJCWlzCQkgICAiaW5uZXIgc2VudGVuY2UiCit8dl9pdHwJCWl0CQkgICAiaW5uZXIgdGFnIGJsb2NrIgogfHZfaXd8CQlpdwkJICAgImlubmVyIHdvcmQiCiB8dl9pe3wJCWl7CQkgICBzYW1lIGFzIGlCCiB8dl9pfXwJCWl9CQkgICBzYW1lIGFzIGlCCkBAIC04NzQsNiArODc2LDEwIEBACiAJCQkJICAgbW9kZQogfHZfWHwJCVgJCTIgIGRlbGV0ZSB0aGUgaGlnaGxpZ2h0ZWQgbGluZXMKIHx2X1l8CQlZCQkgICB5YW5rIHRoZSBoaWdobGlnaHRlZCBsaW5lcworfHZfYXF1b3RlfAlhIgkJICAgZXh0ZW5kIGhpZ2hsaWdodGVkIGFyZWEgd2l0aCBhIGRvdWJsZQorCQkJCSAgIHF1b3RlZCBzdHJpbmcKK3x2X2EnfAkJYScJCSAgIGV4dGVuZCBoaWdobGlnaHRlZCBhcmVhIHdpdGggYSBzaW5nbGUKKwkJCQkgICBxdW90ZWQgc3RyaW5nCiB8dl9hKHwJCWEoCQkgICBzYW1lIGFzIGFiCiB8dl9hKXwJCWEpCQkgICBzYW1lIGFzIGFiCiB8dl9hPHwJCWE8CQkgICBleHRlbmQgaGlnaGxpZ2h0ZWQgYXJlYSB3aXRoIGEgPD4gYmxvY2sKQEAgLTg4Miw5ICs4ODgsMTIgQEAKIHx2X2FXfAkJYVcJCSAgIGV4dGVuZCBoaWdobGlnaHRlZCBhcmVhIHdpdGggImEgV09SRCIKIHx2X2FbfAkJYVsJCSAgIGV4dGVuZCBoaWdobGlnaHRlZCBhcmVhIHdpdGggYSBbXSBibG9jawogfHZfYV18CQlhXQkJICAgc2FtZSBhcyBhWworfHZfYWB8CQlhYAkJICAgZXh0ZW5kIGhpZ2hsaWdodGVkIGFyZWEgd2l0aCBhIGJhY2t0aWNrCisJCQkJICAgcXVvdGVkIHN0cmluZwogfHZfYWJ8CQlhYgkJICAgZXh0ZW5kIGhpZ2hsaWdodGVkIGFyZWEgd2l0aCBhICgpIGJsb2NrCiB8dl9hcHwJCWFwCQkgICBleHRlbmQgaGlnaGxpZ2h0ZWQgYXJlYSB3aXRoIGEgcGFyYWdyYXBoCiB8dl9hc3wJCWFzCQkgICBleHRlbmQgaGlnaGxpZ2h0ZWQgYXJlYSB3aXRoIGEgc2VudGVuY2UKK3x2X2F0fAkJYXQJCSAgIGV4dGVuZCBoaWdobGlnaHRlZCBhcmVhIHdpdGggYSB0YWcgYmxvY2sKIHx2X2F3fAkJYXcJCSAgIGV4dGVuZCBoaWdobGlnaHRlZCBhcmVhIHdpdGggImEgd29yZCIKIHx2X2F7fAkJYXsJCSAgIHNhbWUgYXMgYUIKIHx2X2F9fAkJYX0JCSAgIHNhbWUgYXMgYUIKQEAgLTg5NSw2ICs5MDQsMTAgQEAKIHx2X2dxfAkJZ3EJCTIgIGZvcm1hdCB0aGUgaGlnaGxpZ2h0ZWQgbGluZXMKIHx2X2d2fAkJZ3YJCSAgIGV4Y2hhbmdlIGN1cnJlbnQgYW5kIHByZXZpb3VzIGhpZ2hsaWdodGVkCiAJCQkJICAgYXJlYQorfHZfaXF1b3RlfAlpIgkJICAgZXh0ZW5kIGhpZ2hsaWdodGVkIGFyZWEgd2l0aCBhIGRvdWJsZQorCQkJCSAgIHF1b3RlZCBzdHJpbmcgKHdpdGhvdXQgcXVvdGVzKQorfHZfaSd8CQlpJwkJICAgZXh0ZW5kIGhpZ2hsaWdodGVkIGFyZWEgd2l0aCBhIHNpbmdsZQorCQkJCSAgIHF1b3RlZCBzdHJpbmcgKHdpdGhvdXQgcXVvdGVzKQogfHZfaSh8CQlpKAkJICAgc2FtZSBhcyBpYgogfHZfaSl8CQlpKQkJICAgc2FtZSBhcyBpYgogfHZfaTx8CQlpPAkJICAgZXh0ZW5kIGhpZ2hsaWdodGVkIGFyZWEgd2l0aCBpbm5lciA8PiBibG9jawpAQCAtOTAzLDkgKzkxNiwxMiBAQAogfHZfaVd8CQlpVwkJICAgZXh0ZW5kIGhpZ2hsaWdodGVkIGFyZWEgd2l0aCAiaW5uZXIgV09SRCIKIHx2X2lbfAkJaVsJCSAgIGV4dGVuZCBoaWdobGlnaHRlZCBhcmVhIHdpdGggaW5uZXIgW10gYmxvY2sKIHx2X2ldfAkJaV0JCSAgIHNhbWUgYXMgaVsKK3x2X2lgfAkJaWAJCSAgIGV4dGVuZCBoaWdobGlnaHRlZCBhcmVhIHdpdGggYSBiYWNrdGljaworCQkJCSAgIHF1b3RlZCBzdHJpbmcgKHdpdGhvdXQgdGhlIGJhY2t0aWNrcykKIHx2X2lifAkJaWIJCSAgIGV4dGVuZCBoaWdobGlnaHRlZCBhcmVhIHdpdGggaW5uZXIgKCkgYmxvY2sKIHx2X2lwfAkJaXAJCSAgIGV4dGVuZCBoaWdobGlnaHRlZCBhcmVhIHdpdGggaW5uZXIgcGFyYWdyYXBoCiB8dl9pc3wJCWlzCQkgICBleHRlbmQgaGlnaGxpZ2h0ZWQgYXJlYSB3aXRoIGlubmVyIHNlbnRlbmNlCit8dl9pdHwJCWl0CQkgICBleHRlbmQgaGlnaGxpZ2h0ZWQgYXJlYSB3aXRoIGlubmVyIHRhZyBibG9jawogfHZfaXd8CQlpdwkJICAgZXh0ZW5kIGhpZ2hsaWdodGVkIGFyZWEgd2l0aCAiaW5uZXIgd29yZCIKIHx2X2l7fAkJaXsJCSAgIHNhbWUgYXMgaUIKIHx2X2l9fAkJaX0JCSAgIHNhbWUgYXMgaUIKQEAgLTEzMzksMTYgKzEzNTUsMTQgQEAKIHw6cHJpbnR8CTpwW3JpbnRdCXByaW50IGxpbmVzCiB8OnByb2ZkZWx8CTpwcm9mZFtlbF0Jc3RvcCBwcm9maWxpbmcgYSBmdW5jdGlvbiBvciBzY3JpcHQKIHw6cHJvZmlsZXwJOnByb2ZbaWxlXQlwcm9maWxpbmcgZnVuY3Rpb25zIGFuZCBzY3JpcHRzCi18OnByb21wdGZpbmR8CTpwcm9bbXRmaW5kXQlvcGVuIEdVSSBkaWFsb2cgZm9yIHNlYXJjaGluZwotfDpwcm9tcHRyZXBsfAk6cHJvbXRyW2VwbF0Jb3BlbiBHVUkgZGlhbG9nIGZvciBzZWFyY2gvcmVwbGFjZQorfDpwcm9tcHRmaW5kfAk6cHJvW21wdGZpbmRdCW9wZW4gR1VJIGRpYWxvZyBmb3Igc2VhcmNoaW5nCit8OnByb21wdHJlcGx8CTpwcm9tcHRyW2VwbF0Jb3BlbiBHVUkgZGlhbG9nIGZvciBzZWFyY2gvcmVwbGFjZQogfDpwZXJsZG98CTpwZXJsZFtvXQlleGVjdXRlIFBlcmwgY29tbWFuZCBmb3IgZWFjaCBsaW5lCiB8OnBvcHwJCTpwb1twXQkJanVtcCB0byBvbGRlciBlbnRyeSBpbiB0YWcgc3RhY2sKIHw6cG9wdXB8CTpwb3BbdXBdCXBvcHVwIGEgbWVudSBieSBuYW1lCiB8OnBwb3B8CQk6cHBbb3BdCQkiOnBvcCIgaW4gcHJldmlldyB3aW5kb3cKIHw6cHJlc2VydmV8CTpwcmVbc2VydmVdCXdyaXRlIGFsbCB0ZXh0IHRvIHN3YXAgZmlsZQogfDpwcmV2aW91c3wJOnByZXZbaW91c10JZ28gdG8gcHJldmlvdXMgZmlsZSBpbiBhcmd1bWVudCBsaXN0Ci18OnByb21wdGZpbmR8CTpwcm9bbXB0ZmluZF0JU2VhcmNoIGRpYWxvZwotfDpwcm9tcHRyZXBsfAk6cHJvbXB0cltlcGxdCVNlYXJjaC9SZXBsYWNlIGRpYWxvZwogfDpwc2VhcmNofAk6cHNbZWFyY2hdCWxpa2UgIjppanVtcCIgYnV0IHNob3dzIG1hdGNoIGluIHByZXZpZXcgd2luZG93CiB8OnB0YWd8CQk6cHRbYWddCQlzaG93IHRhZyBpbiBwcmV2aWV3IHdpbmRvdwogfDpwdE5leHR8CTpwdE5bZXh0XQl8OnROZXh0fCBpbiBwcmV2aWV3IHdpbmRvdwpAQCAtMTQ1NCw3ICsxNDY4LDcgQEAKIHw6c3RhcnRpbnNlcnR8CTpzdGFyW3RpbnNlcnRdCXN0YXJ0IEluc2VydCBtb2RlCiB8OnN0YXJ0Z3JlcGxhY2V8IDpzdGFydGdbcmVwbGFjZV0gc3RhcnQgVmlydHVhbCBSZXBsYWNlIG1vZGUKIHw6c3RhcnRyZXBsYWNlfAk6c3RhcnRyW2VwbGFjZV0Jc3RhcnQgUmVwbGFjZSBtb2RlCi18OnN0b3BpbnNlcnR8fAk6c3RvcGlbbnNlcnRdCXN0b3AgSW5zZXJ0IG1vZGUKK3w6c3RvcGluc2VydHwJOnN0b3BpW25zZXJ0XQlzdG9wIEluc2VydCBtb2RlCiB8OnN0anVtcHwJOnN0alt1bXBdCWRvICI6dGp1bXAiIGFuZCBzcGxpdCB3aW5kb3cKIHw6c3RzZWxlY3R8CTpzdHNbZWxlY3RdCWRvICI6dHNlbGVjdCIgYW5kIHNwbGl0IHdpbmRvdwogfDpzdW5oaWRlfAk6c3VuW2hpZGVdCXNhbWUgYXMgIjp1bmhpZGUiCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy9tZXNzYWdlLnR4dCBiL3J1bnRpbWUvZG9jL21lc3NhZ2UudHh0CmluZGV4IDg4NWQxZWUuLjlmOGJiZmIgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL21lc3NhZ2UudHh0CisrKyBiL3J1bnRpbWUvZG9jL21lc3NhZ2UudHh0CkBAIC0xLDQgKzEsNCBAQAotKm1lc3NhZ2UudHh0KiAgIEZvciBWaW0gdmVyc2lvbiA3LjEuICBMYXN0IGNoYW5nZTogMjAwNyBNYXIgMjAKKyptZXNzYWdlLnR4dCogICBGb3IgVmltIHZlcnNpb24gNy4yYS4gIExhc3QgY2hhbmdlOiAyMDA3IEF1ZyAxOQogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBCcmFtIE1vb2xlbmFhcgpAQCAtNTMsNyArNTMsNyBAQAogCTpoZWxwIGU3MgogCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLTIuIEVycm9yIG1lc3NhZ2VzCQkJCQkqZXJyb3ItbWVzc2FnZXMqCisyLiBFcnJvciBtZXNzYWdlcwkJCQkqZXJyb3ItbWVzc2FnZXMqICplcnJvcnMqCiAKIFdoZW4gYW4gZXJyb3IgbWVzc2FnZSBpcyBkaXNwbGF5ZWQsIGJ1dCBpdCBpcyByZW1vdmVkIGJlZm9yZSB5b3UgY291bGQgcmVhZAogaXQsIHlvdSBjYW4gc2VlIGl0IGFnYWluIHdpdGg6ID4KZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL29zX21pbnQudHh0IGIvcnVudGltZS9kb2Mvb3NfbWludC50eHQKaW5kZXggZTIzOTlmNS4uYmRhMzU4NiAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2Mvb3NfbWludC50eHQKKysrIGIvcnVudGltZS9kb2Mvb3NfbWludC50eHQKQEAgLTEsNCArMSw0IEBACi0qb3NfbWludC50eHQqICAgRm9yIFZpbSB2ZXJzaW9uIDcuMS4gIExhc3QgY2hhbmdlOiAyMDA1IE1hciAyOQorKm9zX21pbnQudHh0KiAgIEZvciBWaW0gdmVyc2lvbiA3LjJhLiAgTGFzdCBjaGFuZ2U6IDIwMDUgTWFyIDI5CiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMICAgIGJ5IEplbnMgTS4gRmVsZGVyaG9mZgpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2Mvb3Nfb3MyLnR4dCBiL3J1bnRpbWUvZG9jL29zX29zMi50eHQKaW5kZXggYzI5N2JmYy4uMTM3NDM0NiAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2Mvb3Nfb3MyLnR4dAorKysgYi9ydW50aW1lL2RvYy9vc19vczIudHh0CkBAIC0xLDQgKzEsNCBAQAotKm9zX29zMi50eHQqICAgIEZvciBWaW0gdmVyc2lvbiA3LjEuICBMYXN0IGNoYW5nZTogMjAwNyBBcHIgMjIKKypvc19vczIudHh0KiAgICBGb3IgVmltIHZlcnNpb24gNy4yYS4gIExhc3QgY2hhbmdlOiAyMDA3IEFwciAyMgogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBQYXVsIFNsb290bWFuCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy90YWJwYWdlLnR4dCBiL3J1bnRpbWUvZG9jL3RhYnBhZ2UudHh0CmluZGV4IDU4MjZjZjYuLjY0MTBiMTEgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3RhYnBhZ2UudHh0CisrKyBiL3J1bnRpbWUvZG9jL3RhYnBhZ2UudHh0CkBAIC0xLDQgKzEsNCBAQAotKnRhYnBhZ2UudHh0KiAgIEZvciBWaW0gdmVyc2lvbiA3LjEuICBMYXN0IGNoYW5nZTogMjAwNyBNYXIgMTEKKyp0YWJwYWdlLnR4dCogICBGb3IgVmltIHZlcnNpb24gNy4yYS4gIExhc3QgY2hhbmdlOiAyMDA3IE1hciAxMQogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBCcmFtIE1vb2xlbmFhcgpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvdXNyXzIyLnR4dCBiL3J1bnRpbWUvZG9jL3Vzcl8yMi50eHQKaW5kZXggZjg3MjMzMS4uNWExM2I4NyAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvdXNyXzIyLnR4dAorKysgYi9ydW50aW1lL2RvYy91c3JfMjIudHh0CkBAIC0xLDQgKzEsNCBAQAotKnVzcl8yMi50eHQqCUZvciBWaW0gdmVyc2lvbiA3LjEuICBMYXN0IGNoYW5nZTogMjAwNiBBcHIgMjQKKyp1c3JfMjIudHh0KglGb3IgVmltIHZlcnNpb24gNy4yYS4gIExhc3QgY2hhbmdlOiAyMDA3IEF1ZyAxNAogCiAJCSAgICAgVklNIFVTRVIgTUFOVUFMIC0gYnkgQnJhbSBNb29sZW5hYXIKIApAQCAtMTAsNyArMTAsNyBAQAogaXMgbWVudGlvbmVkIGluIGFub3RoZXIuICBBbmQgVmltIHJlbWVtYmVycyB3aGljaCBmaWxlcyBoYXZlIGJlZW4gZWRpdGVkCiBiZWZvcmUuCiAKLXwyMi4xfAlUaGUgZmlsZSBleHBsb3JlcgorfDIyLjF8CVRoZSBmaWxlIGJyb3dzZXIKIHwyMi4yfAlUaGUgY3VycmVudCBkaXJlY3RvcnkKIHwyMi4zfAlGaW5kaW5nIGEgZmlsZQogfDIyLjR8CVRoZSBidWZmZXIgbGlzdApAQCAtMjAsNyArMjAsNyBAQAogVGFibGUgb2YgY29udGVudHM6IHx1c3JfdG9jLnR4dHwKIAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0qMjIuMSoJVGhlIGZpbGUgZXhwbG9yZXIKKyoyMi4xKglUaGUgZmlsZSBicm93c2VyCiAKIFZpbSBoYXMgYSBwbHVnaW4gdGhhdCBtYWtlcyBpdCBwb3NzaWJsZSB0byBlZGl0IGEgZGlyZWN0b3J5LiAgVHJ5IHRoaXM6ID4KIApAQCAtMjksODUgKzI5LDEyMSBAQAogVGhyb3VnaCB0aGUgbWFnaWMgb2YgYXV0b2NvbW1hbmRzIGFuZCBWaW0gc2NyaXB0cywgdGhlIHdpbmRvdyB3aWxsIGJlIGZpbGxlZAogd2l0aCB0aGUgY29udGVudHMgb2YgdGhlIGRpcmVjdG9yeS4gIEl0IGxvb2tzIGxpa2UgdGhpczoKIAotCSIgUHJlc3MgPyBmb3Iga2V5Ym9hcmQgc2hvcnRjdXRzIH4KLQkiIFNvcnRlZCBieSBuYW1lICguYmFrLH4sLm8sLmgsLmluZm8sLnN3cCwub2JqLC5vcmlnLC5yZWogYXQgZW5kIG9mIGxpc3QpIH4KLQkiPSAvaG9tZS9tb29sL3ZpbS92aW02L3J1bnRpbWUvZG9jLyB+Ci0JLi4vIH4KLQljaGVjay8gfgotCU1ha2VmaWxlIH4KLQlhdXRvY21kLnR4dCB+Ci0JY2hhbmdlLnR4dCB+Ci0JZXZhbC50eHR+IH4KLQlmaWxldHlwZS50eHR+IH4KLQloZWxwLnR4dC5pbmZvIH4KKyIgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSB+CisiIE5ldHJ3IERpcmVjdG9yeSBMaXN0aW5nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChuZXRydyB2MTA5KSB+CisiICAgU29ydGVkIGJ5ICAgICAgbmFtZSB+CisiICAgU29ydCBzZXF1ZW5jZTogW1wvXSQsXC5oJCxcLmMkLFwuY3BwJCwqLFwuaW5mbyQsXC5zd3AkLFwubyRcLm9iaiQsXC5iYWskIH4KKyIgICBRdWljayBIZWxwOiA8RjE+OmhlbHAgIC06Z28gdXAgZGlyICBEOmRlbGV0ZSAgUjpyZW5hbWUgIHM6c29ydC1ieSAgeDpleGVjIH4KKyIgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSB+CisuLi8gfgorLi8gfgorY2hlY2svIH4KK01ha2VmaWxlIH4KK2F1dG9jbWQudHh0IH4KK2NoYW5nZS50eHQgfgorZXZhbC50eHR+IH4KK2ZpbGV0eXBlLnR4dH4gfgoraGVscC50eHQuaW5mbyB+CiAKIFlvdSBjYW4gc2VlIHRoZXNlIGl0ZW1zOgotMS4gIEEgY29tbWVudCBhYm91dCB1c2luZyA/IHRvIGdldCBoZWxwIGZvciB0aGUgZnVuY3Rpb25hbGl0eSBvZiB0aGUgZmlsZQotICAgIGV4cGxvcmVyLgotMi4gIFRoZSBzZWNvbmQgbGluZSBtZW50aW9ucyBob3cgdGhlIGl0ZW1zIGluIHRoZSBkaXJlY3RvcnkgYXJlIGxpc3RlZC4gIFRoZXkKLSAgICBjYW4gYmUgc29ydGVkIGluIHNldmVyYWwgd2F5cy4KLTMuICBUaGUgdGhpcmQgbGluZSBpcyB0aGUgbmFtZSBvZiB0aGUgY3VycmVudCBkaXJlY3RvcnkuCi00LiAgVGhlICIuLi8iIGRpcmVjdG9yeSBpdGVtLiAgVGhpcyBpcyB0aGUgcGFyZW50IGRpcmVjdG9yeS4KLTUuICBUaGUgZGlyZWN0b3J5IG5hbWVzLgotNi4gIFRoZSBvcmRpbmFyeSBmaWxlIG5hbWVzLiAgQXMgbWVudGlvbmVkIGluIHRoZSBzZWNvbmQgbGluZSwgc29tZSBhcmUgbm90Ci0gICAgaGVyZSBidXQgImF0IHRoZSBlbmQgb2YgdGhlIGxpc3QiLgotNy4gIFRoZSBsZXNzIG9yZGluYXJ5IGZpbGUgbmFtZXMuICBZb3UgYXJlIGV4cGVjdGVkIHRvIHVzZSB0aGVzZSBsZXNzIG9mdGVuLAotICAgIHRoZXJlZm9yZSB0aGV5IGhhdmUgYmVlbiBtb3ZlZCB0byB0aGUgZW5kLgorCisxLiAgVGhlIG5hbWUgb2YgdGhlIGJyb3dzaW5nIHRvb2wgYW5kIGl0cyB2ZXJzaW9uIG51bWJlcgorMi4gIFRoZSBuYW1lIG9mIHRoZSBicm93c2luZyBkaXJlY3RvcnkKKzMuICBUaGUgbWV0aG9kIG9mIHNvcnRpbmcgKG1heSBiZSBieSBuYW1lLCB0aW1lLCBvciBzaXplKQorNC4gIEhvdyBuYW1lcyBhcmUgdG8gYmUgc29ydGVkIChkaXJlY3RvcmllcyBmaXJzdCwgdGhlbiAqLmggZmlsZXMsCisgICAgKi5jIGZpbGVzLCBldGMpCis1LiAgSG93IHRvIGdldCBoZWxwICh1c2UgdGhlIDxGMT4ga2V5KSwgYW5kIGFuIGFiYnJldmlhdGVkIGxpc3RpbmcKKyAgICBvZiBhdmFpbGFibGUgY29tbWFuZHMKKzYuICBBIGxpc3Rpbmcgb2YgZmlsZXMsIGluY2x1ZGluZyAiLi4vIiwgd2hpY2ggYWxsb3dzIG9uZSB0byB0byBsaXN0CisgICAgdGhlIHBhcmVudCBkaXJlY3RvcnkuCiAKIElmIHlvdSBoYXZlIHN5bnRheCBoaWdobGlnaHRpbmcgZW5hYmxlZCwgdGhlIGRpZmZlcmVudCBwYXJ0cyBhcmUgaGlnaGxpZ2h0ZWQKLXRvIG1ha2UgaXQgZWFzaWVyIHRvIHNwb3QgdGhlbS4KK3NvIGFzIHRvIG1ha2UgaXQgZWFzaWVyIHRvIHNwb3QgdGhlbS4KIAogWW91IGNhbiB1c2UgTm9ybWFsIG1vZGUgVmltIGNvbW1hbmRzIHRvIG1vdmUgYXJvdW5kIGluIHRoZSB0ZXh0LiAgRm9yIGV4YW1wbGUsCi1tb3ZlIHRvIGEgZmlsZSBhbmQgcHJlc3MgPEVudGVyPi4gIE5vdyB5b3UgYXJlIGVkaXRpbmcgdGhhdCBmaWxlLiAgVG8gZ28gYmFjawotdG8gdGhlIGV4cGxvcmVyIHVzZSAiOmVkaXQgLiIgYWdhaW4uICBDVFJMLU8gYWxzbyB3b3Jrcy4KLSAgIFRyeSB1c2luZyA8RW50ZXI+IHdoaWxlIHRoZSBjdXJzb3IgaXMgb24gYSBkaXJlY3RvcnkgbmFtZS4gIFRoZSByZXN1bHQgaXMKLXRoYXQgdGhlIGV4cGxvcmVyIG1vdmVzIGludG8gdGhhdCBkaXJlY3RvcnkgYW5kIGRpc3BsYXlzIHRoZSBpdGVtcyBmb3VuZAorbW92ZSB0aGUgY3Vyc29yIGF0b3AgYSBmaWxlIGFuZCBwcmVzcyA8RW50ZXI+OyB5b3Ugd2lsbCB0aGVuIGJlIGVkaXRpbmcgdGhhdAorZmlsZS4gIFRvIGdvIGJhY2sgdG8gdGhlIGJyb3dzZXIgdXNlICI6ZWRpdCAuIiBhZ2Fpbiwgb3IgdXNlICI6RXhwbG9yZSIuCitDVFJMLU8gYWxzbyB3b3Jrcy4KKworVHJ5IHVzaW5nIDxFbnRlcj4gd2hpbGUgdGhlIGN1cnNvciBpcyBhdG9wIGEgZGlyZWN0b3J5IG5hbWUuICBUaGUgcmVzdWx0IGlzCit0aGF0IHRoZSBmaWxlIGJyb3dzZXIgbW92ZXMgaW50byB0aGF0IGRpcmVjdG9yeSBhbmQgZGlzcGxheXMgdGhlIGl0ZW1zIGZvdW5kCiB0aGVyZS4gIFByZXNzaW5nIDxFbnRlcj4gb24gdGhlIGZpcnN0IGRpcmVjdG9yeSAiLi4vIiBtb3ZlcyB5b3Ugb25lIGxldmVsCiBoaWdoZXIuICBQcmVzc2luZyAiLSIgZG9lcyB0aGUgc2FtZSB0aGluZywgd2l0aG91dCB0aGUgbmVlZCB0byBtb3ZlIHRvIHRoZQogIi4uLyIgaXRlbSBmaXJzdC4KIAotWW91IGNhbiBwcmVzcyA/IHRvIGdldCBzaG9ydCBoZWxwIG9uIHRoZSB0aGluZ3MgeW91IGNhbiBkbyBpbiB0aGUgZXhwbG9yZXIuCi1UaGlzIGlzIHdoYXQgeW91IGdldDoKK1lvdSBjYW4gcHJlc3MgPEYxPiB0byBnZXQgaGVscCBvbiB0aGUgdGhpbmdzIHlvdSBjYW4gZG8gaW4gdGhlIG5ldHJ3IGZpbGUKK2Jyb3dzZXIuICBUaGlzIGlzIHdoYXQgeW91IGdldDogPgogCi0JIiA8ZW50ZXI+IDogb3BlbiBmaWxlIG9yIGRpcmVjdG9yeSB+Ci0JIiBvIDogb3BlbiBuZXcgd2luZG93IGZvciBmaWxlL2RpcmVjdG9yeSB+Ci0JIiBPIDogb3BlbiBmaWxlIGluIHByZXZpb3VzbHkgdmlzaXRlZCB3aW5kb3cgfgotCSIgcCA6IHByZXZpZXcgdGhlIGZpbGUgfgotCSIgaSA6IHRvZ2dsZSBzaXplL2RhdGUgbGlzdGluZyB+Ci0JIiBzIDogc2VsZWN0IHNvcnQgZmllbGQgICAgciA6IHJldmVyc2Ugc29ydCB+Ci0JIiAtIDogZ28gdXAgb25lIGxldmVsICAgICAgYyA6IGNkIHRvIHRoaXMgZGlyIH4KLQkiIFIgOiByZW5hbWUgZmlsZQkgICBEIDogZGVsZXRlIGZpbGUgfgotCSIgOmhlbHAgZmlsZS1leHBsb3JlciBmb3IgZGV0YWlsZWQgaGVscCB+CisgICAgOS4gRGlyZWN0b3J5IEJyb3dzaW5nCSBuZXRydy1icm93c2UgICBuZXRydy1kaXIgICBuZXRydy1saXN0ICAgbmV0cnctaGVscCAKIAotVGhlIGZpcnN0IGZldyBjb21tYW5kcyBhcmUgZm9yIHNlbGVjdGluZyBhIGZpbGUgdG8gZGlzcGxheS4gIERlcGVuZGluZyBvbiB3aGF0Ci1jb21tYW5kIHlvdSB1c2UsIHRoZSBmaWxlIGFwcGVhcnMgc29tZXdoZXJlOgorICAgIE1BUFMJCQkJCQkJCSBuZXRydy1tYXBzIAorICAgICAJIDxGMT4uLi4uLi4uLi4uLi4uSGVscC4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLnxuZXRydy1oZWxwfAorICAgICAJIDxjcj4uLi4uLi4uLi4uLi4uQnJvd3NpbmcuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLnxuZXRydy1jcnwKKyAgICAgCSA8ZGVsPi4uLi4uLi4uLi4uLkRlbGV0aW5nIEZpbGVzIG9yIERpcmVjdG9yaWVzLi4uLi4uLi4uLi4uLi58bmV0cnctZGVsZXRlfAorICAgICAJIC0uLi4uLi4uLi4uLi4uLi4uR29pbmcgVXAuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLnxuZXRydy0tfAorICAgICAJIGEuLi4uLi4uLi4uLi4uLi4uSGlkaW5nIEZpbGVzIG9yIERpcmVjdG9yaWVzLi4uLi4uLi4uLi4uLi4uLnxuZXRydy1hfAorICAgICAJIG1iLi4uLi4uLi4uLi4uLi4uQm9va21hcmtpbmcgYSBEaXJlY3RvcnkuLi4uLi4uLi4uLi4uLi4uLi4uLnxuZXRydy1tYnwKKyAgICAgCSBnYi4uLi4uLi4uLi4uLi4uLkNoYW5naW5nIHRvIGEgQm9va21hcmtlZCBEaXJlY3RvcnkuLi4uLi4uLi58bmV0cnctZ2J8CisgICAgIAkgYy4uLi4uLi4uLi4uLi4uLi5NYWtlIEJyb3dzaW5nIERpcmVjdG9yeSBUaGUgQ3VycmVudCBEaXIuLi4ufG5ldHJ3LWN8CisgICAgIAkgZC4uLi4uLi4uLi4uLi4uLi5NYWtlIEEgTmV3IERpcmVjdG9yeS4uLi4uLi4uLi4uLi4uLi4uLi4uLi4ufG5ldHJ3LWR8CisgICAgIAkgRC4uLi4uLi4uLi4uLi4uLi5EZWxldGluZyBGaWxlcyBvciBEaXJlY3Rvcmllcy4uLi4uLi4uLi4uLi4ufG5ldHJ3LUR8CisgICAgIAkgPGMtaD4uLi4uLi4uLi4uLi5FZGl0IEZpbGUvRGlyZWN0b3J5IEhpZGluZyBMaXN0Li4uLi4uLi4uLi4ufG5ldHJ3LWN0cmwtaHwKKyAgICAgCSBpLi4uLi4uLi4uLi4uLi4uLkNoYW5nZSBMaXN0aW5nIFN0eWxlLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi58bmV0cnctaXwKKyAgICAgCSA8Yy1sPi4uLi4uLi4uLi4uLlJlZnJlc2hpbmcgdGhlIExpc3RpbmcuLi4uLi4uLi4uLi4uLi4uLi4uLi58bmV0cnctY3RybC1sfAorICAgICAJIG8uLi4uLi4uLi4uLi4uLi4uQnJvd3Npbmcgd2l0aCBhIEhvcml6b250YWwgU3BsaXQuLi4uLi4uLi4uLnxuZXRydy1vfAorICAgICAJIHAuLi4uLi4uLi4uLi4uLi4uVXNlIFByZXZpZXcgV2luZG93Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLnxuZXRydy1wfAorICAgICAJIFAuLi4uLi4uLi4uLi4uLi4uRWRpdCBpbiBQcmV2aW91cyBXaW5kb3cuLi4uLi4uLi4uLi4uLi4uLi4uLnxuZXRydy1wfAorICAgICAJIHEuLi4uLi4uLi4uLi4uLi4uTGlzdGluZyBCb29rbWFya3MgYW5kIEhpc3RvcnkuLi4uLi4uLi4uLi4uLnxuZXRydy1xfAorICAgICAJIHIuLi4uLi4uLi4uLi4uLi4uUmV2ZXJzaW5nIFNvcnRpbmcgT3JkZXIuLi4uLi4uLi4uLi4uLi4uLi4uLnxuZXRydy1yfAorPCAgICAJKGV0YykKIAotCTxFbnRlcj4JCVVzZXMgdGhlIGN1cnJlbnQgd2luZG93LgotCW8JCU9wZW5zIGEgbmV3IHdpbmRvdy4KLQlPCQlVc2VzIHRoZSBwcmV2aW91c2x5IHZpc2l0ZWQgd2luZG93LgotCXAJCVVzZXMgdGhlIHByZXZpZXcgd2luZG93LCBhbmQgbW92ZXMgdGhlIGN1cnNvciBiYWNrCi0JCQlpbnRvIHRoZSBleHBsb3JlciB3aW5kb3cuIHxwcmV2aWV3LXdpbmRvd3wKK1RoZSA8RjE+IGtleSB0aHVzIGJyaW5ncyB5b3UgdG8gYSBuZXRydyBkaXJlY3RvcnkgYnJvd3NpbmcgY29udGVudHMgaGVscCBwYWdlLgorSXRzIGEgcmVndWxhciBoZWxwIHBhZ2U7IHVzZSB0aGUgdXN1YWwgfENUUkwtXXwgdG8ganVtcCB0byB0YWdnZWQgaGVscCBpdGVtcworYW5kIHxDVFJMLU98IHRvIGp1bXAgYmFjay4KIAotVGhlIGZvbGxvd2luZyBjb21tYW5kcyBhcmUgdXNlZCB0byBkaXNwbGF5IG90aGVyIGluZm9ybWF0aW9uOgorVG8gc2VsZWN0IGZpbGVzIGZvciBkaXNwbGF5IGFuZCBlZGl0aW5nOiAod2l0aCB0aGUgY3Vyc29yIGlzIGF0b3AgYSBmaWxlbmFtZSkKIAotCWkJCURpc3BsYXkgdGhlIHNpemUgYW5kIGRhdGUgZm9yIHRoZSBmaWxlLiAgVXNpbmcgaSBhZ2FpbgotCQkJd2lsbCBoaWRlIHRoZSBpbmZvcm1hdGlvbi4KLQlzCQlVc2UgdGhlIGZpZWxkIHRoZSBjdXJzb3IgaXMgaW4gdG8gc29ydCBvbi4gIEZpcnN0Ci0JCQlkaXNwbGF5IHRoZSBzaXplIGFuZCBkYXRlIHdpdGggaS4gIFRoZW4gTW92ZSB0aGUKLQkJCWN1cnNvciB0byB0aGUgc2l6ZSBvZiBhbnkgZmlsZSBhbmQgcHJlc3Mgcy4gIFRoZSBmaWxlcwotCQkJd2lsbCBub3cgYmUgc29ydGVkIG9uIHNpemUuICBQcmVzcyBzIHdoaWxlIHRoZSBjdXJzb3IKLQkJCWlzIG9uIGEgZGF0ZSBhbmQgdGhlIGl0ZW1zIHdpbGwgYmUgc29ydGVkIG9uIGRhdGUuCi0JcgkJcmV2ZXJzZSB0aGUgc29ydGluZyBvcmRlciAoZWl0aGVyIHNpemUgb3IgZGF0ZSkKKwk8ZW50ZXI+CQlPcGVuIHRoZSBmaWxlIGluIHRoZSBjdXJyZW50IHdpbmRvdy4JICAgfG5ldHJ3LWNyfAorCW8JCUhvcml6b250YWxseSBzcGxpdCB3aW5kb3cgYW5kIGRpc3BsYXkgZmlsZSB8bmV0cnctb3wKKwl2CQlWZXJ0aWNhbGx5IHNwbGl0IHdpbmRvdyBhbmQgZGlzcGxheSBmaWxlICAgfG5ldHJ3LXZ8CisJcAkJVXNlIHRoZSB8cHJldmlldy13aW5kb3d8IAkJICAgfG5ldHJ3LXB8CisJUAkJRWRpdCBpbiB0aGUgcHJldmlvdXMgd2luZG93CQkgICB8bmV0cnctUHwKKwl0CQlPcGVuIGZpbGUgaW4gYSBuZXcgdGFiCQkJICAgfG5ldHJ3LXR8CiAKLVRoZXJlIGFyZSBhIGZldyBleHRyYSBjb21tYW5kczoKK1RoZSBmb2xsb3dpbmcgbm9ybWFsLW1vZGUgY29tbWFuZHMgbWF5IGJlIHVzZWQgdG8gY29udHJvbCB0aGUgYnJvd3NlciBkaXNwbGF5OgogCi0JYwkJQ2hhbmdlIHRoZSBjdXJyZW50IGRpcmVjdG9yeSB0byB0aGUgZGlzcGxheWVkCi0JCQlkaXJlY3RvcnkuICBZb3UgY2FuIHRoZW4gdHlwZSBhbiAiOmVkaXQiIGNvbW1hbmQgZm9yCi0JCQlvbmUgb2YgdGhlIGZpbGVzIHdpdGhvdXQgcHJlcGVuZGluZyB0aGUgcGF0aC4KLQlSCQlSZW5hbWUgdGhlIGZpbGUgdW5kZXIgdGhlIGN1cnNvci4gIFlvdSB3aWxsIGJlCi0JCQlwcm9tcHRlZCBmb3IgdGhlIG5ldyBuYW1lLgotCUQJCURlbGV0ZSB0aGUgZmlsZSB1bmRlciB0aGUgY3Vyc29yLiAgWW91IHdpbGwgZ2V0IGEKLQkJCXByb21wdCB0byBjb25maXJtIHRoaXMuCisJaQkJQ29udHJvbHMgbGlzdGluZyBzdHlsZSAodGhpbiwgbG9uZywgd2lkZSwgYW5kIHRyZWUpLgorCQkJVGhlIGxvbmcgbGlzdGluZyBpbmNsdWRlcyBzaXplIGFuZCBkYXRlIGluZm9ybWF0aW9uLgorCXMJCVJlcGVhdGVkbHkgcHJlc3NpbmcgcyB3aWxsIGNoYW5nZSB0aGUgd2F5IHRoZSBmaWxlcworCQkJYXJlIHNvcnRlZDsgb25lIG1heSBzb3J0IG9uIG5hbWUsIG1vZGlmaWNhdGlvbiB0aW1lLAorCQkJb3Igc2l6ZS4KKwlyCQlSZXZlcnNlIHRoZSBzb3J0aW5nIG9yZGVyLgorCitBcyBhIHNhbXBsaW5nIG9mIGV4dHJhIG5vcm1hbC1tb2RlIGNvbW1hbmRzOgorCisJYwkJQ2hhbmdlIFZpbSdzIG5vdGlvbiBvZiB0aGUgY3VycmVudCBkaXJlY3RvcnkgdG8gYmUKKwkJCXRoZSBzYW1lIGFzIHRoZSBicm93c2VyIGRpcmVjdG9yeS4gIChzZWUKKwkJCXxnOm5ldHJ3X2tlZXBkaXJ8IHRvIGNvbnRyb2wgdGhpcywgdG9vKQorCVIJCVJlbmFtZSB0aGUgZmlsZSBvciBkaXJlY3RvcnkgdW5kZXIgdGhlIGN1cnNvcjsgYQorCQkJcHJvbXB0IHdpbGwgYmUgaXNzdWVkIGZvciB0aGUgbmV3IG5hbWUuCisJRAkJRGVsZXRlIHRoZSBmaWxlIG9yIGRpcmVjdG9yeSB1bmRlciB0aGUgY3Vyc29yOyBhCisJCQljb25maXJtYXRpb24gcmVxdWVzdCB3aWxsIGJlIGlzc3VlZC4KKwltYiBnYgkJTWFrZSBib29rbWFyay9nb3RvIGJvb2ttYXJrCisKKworT25lIG1heSBhbHNvIHVzZSBjb21tYW5kIG1vZGU7IGFnYWluLCBqdXN0IGEgc2FtcGxpbmc6CisKKwk6RXhwbG9yZSBbZGlyZWN0b3J5XQlCcm93c2Ugc3BlY2lmaWVkL2N1cnJlbnQgZGlyZWN0b3J5CisJOk5ldHJ3U2V0dGluZ3MJCUEgY29tcHJlaGVuc2l2ZSBsaXN0IG9mIHlvdXIgY3VycmVudCBuZXRydworCQkJCXNldHRpbmdzIHdpdGggaGVscCBsaW5rYWdlLgorCitUaGUgbmV0cncgYnJvd3NlciBpcyBub3QgbGltaXRlZCB0byBqdXN0IHlvdXIgbG9jYWwgbWFjaGluZTsgb25lIG1heSB1c2UKK3VybHMgc3VjaCBhczogICAgKHRoYXQgdHJhaWxpbmcgLyBpcyBpbXBvcnRhbnQpCisKKwk6RXhwbG9yZSBmdHA6Ly9zb21laG9zdC9wYXRoL3RvL2Rpci8KKwk6ZSBzY3A6Ly9zb21laG9zdC9wYXRoL3RvL2Rpci8KKworU2VlIHxuZXRydy1icm93c2V8IGZvciBtb3JlLgogCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICoyMi4yKglUaGUgY3VycmVudCBkaXJlY3RvcnkKQEAgLTI1NSw4ICsyOTEsOCBAQAogVGhlIGJ1ZmZlciAib25lLnR4dCIgZGlzYXBwZWFycyBmcm9tIHRoZSBzY3JlZW4sIGJ1dCBWaW0gc3RpbGwga25vd3MgdGhhdCB5b3UKIGFyZSBlZGl0aW5nIHRoaXMgYnVmZmVyLCBzbyBpdCBrZWVwcyB0aGUgbW9kaWZpZWQgdGV4dC4gIFRoaXMgaXMgY2FsbGVkIGEKIGhpZGRlbiBidWZmZXI6IFRoZSBidWZmZXIgY29udGFpbnMgdGV4dCwgYnV0IHlvdSBjYW4ndCBzZWUgaXQuCi0gICBUaGUgIjpoaWRlIiBjb21tYW5kIGFyZ3VtZW50IGlzIGFub3RoZXIgY29tbWFuZC4gIEl0IG1ha2VzIHRoYXQgY29tbWFuZAotYmVoYXZlIGxpa2UgdGhlICdoaWRkZW4nIG9wdGlvbiB3YXMgc2V0LiAgWW91IGNvdWxkIGFsc28gc2V0IHRoaXMgb3B0aW9uCisgICBUaGUgYXJndW1lbnQgb2YgIjpoaWRlIiBpcyBhbm90aGVyIGNvbW1hbmQuICAiOmhpZGUiIG1ha2VzIHRoYXQgY29tbWFuZAorYmVoYXZlIGFzIGlmIHRoZSAnaGlkZGVuJyBvcHRpb24gd2FzIHNldC4gIFlvdSBjb3VsZCBhbHNvIHNldCB0aGlzIG9wdGlvbgogeW91cnNlbGYuICBUaGUgZWZmZWN0IGlzIHRoYXQgd2hlbiBhbnkgYnVmZmVyIGlzIGFiYW5kb25lZCwgaXQgYmVjb21lcyBoaWRkZW4uCiAgICBCZSBjYXJlZnVsISAgV2hlbiB5b3UgaGF2ZSBoaWRkZW4gYnVmZmVycyB3aXRoIGNoYW5nZXMsIGRvbid0IGV4aXQgVmltCiB3aXRob3V0IG1ha2luZyBzdXJlIHlvdSBoYXZlIHNhdmVkIGFsbCB0aGUgYnVmZmVycy4KZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3Vzcl80NS50eHQgYi9ydW50aW1lL2RvYy91c3JfNDUudHh0CmluZGV4IGFiNzZhZTguLjVjODNkMWMgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3Vzcl80NS50eHQKKysrIGIvcnVudGltZS9kb2MvdXNyXzQ1LnR4dApAQCAtMSw0ICsxLDQgQEAKLSp1c3JfNDUudHh0KglGb3IgVmltIHZlcnNpb24gNy4xLiAgTGFzdCBjaGFuZ2U6IDIwMDYgQXByIDI0CisqdXNyXzQ1LnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuMmEuICBMYXN0IGNoYW5nZTogMjAwOCBBcHIgMzAKIAogCQkgICAgIFZJTSBVU0VSIE1BTlVBTCAtIGJ5IEJyYW0gTW9vbGVuYWFyCiAKQEAgLTE5NSw3ICsxOTUsNyBAQAogSWYgaXQgZG9lc24ndCB3b3JrIHdlbGwsIHRyeSBnZXR0aW5nIGEgZm9udHBhY2suICBJZiBNaWNyb3NvZnQgZGlkbid0IG1vdmUgaXQsCiB5b3UgY2FuIGZpbmQgaXQgaGVyZToKIAotCWh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS90eXBvZ3JhcGh5L2ZvbnRwYWNrL2RlZmF1bHQuaHRtIH4KKwlodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vdHlwb2dyYXBoeS9mb250cy9kZWZhdWx0LmFzcHggfgogCiBOb3cgeW91IGhhdmUgdG9sZCBWaW0gdG8gdXNlIFVuaWNvZGUgaW50ZXJuYWxseSBhbmQgZGlzcGxheSB0ZXh0IHdpdGggYQogVW5pY29kZSBmb250LiAgVHlwZWQgY2hhcmFjdGVycyBzdGlsbCBhcnJpdmUgaW4gdGhlIGVuY29kaW5nIG9mIHlvdXIgb3JpZ2luYWwKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3ZlcnNpb240LnR4dCBiL3J1bnRpbWUvZG9jL3ZlcnNpb240LnR4dAppbmRleCBiYWQ1ZmVjLi44MjExYThkIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy92ZXJzaW9uNC50eHQKKysrIGIvcnVudGltZS9kb2MvdmVyc2lvbjQudHh0CkBAIC0xLDQgKzEsNCBAQAotKnZlcnNpb240LnR4dCogIEZvciBWaW0gdmVyc2lvbiA3LjEuICBMYXN0IGNoYW5nZTogMjAwNiBBcHIgMjQKKyp2ZXJzaW9uNC50eHQqICBGb3IgVmltIHZlcnNpb24gNy4yYS4gIExhc3QgY2hhbmdlOiAyMDA2IEFwciAyNAogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBCcmFtIE1vb2xlbmFhcgpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvdmlfZGlmZi50eHQgYi9ydW50aW1lL2RvYy92aV9kaWZmLnR4dAppbmRleCA5M2JhMmY1Li5kZjE0NTJkIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy92aV9kaWZmLnR4dAorKysgYi9ydW50aW1lL2RvYy92aV9kaWZmLnR4dApAQCAtMSw0ICsxLDQgQEAKLSp2aV9kaWZmLnR4dCogICBGb3IgVmltIHZlcnNpb24gNy4xLiAgTGFzdCBjaGFuZ2U6IDIwMDcgQXVnIDE0CisqdmlfZGlmZi50eHQqICAgRm9yIFZpbSB2ZXJzaW9uIDcuMmEuICBMYXN0IGNoYW5nZTogMjAwOCBNYXkgMDUKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwgICAgYnkgQnJhbSBNb29sZW5hYXIKQEAgLTE5Miw3ICsxOTIsNyBAQAogU3BlbGwgY2hlY2tpbmcuCQkJCQkJfHNwZWxsfAogCVdoZW4gdGhlICdzcGVsbCcgb3B0aW9uIGlzIHNldCBWaW0gd2lsbCBoaWdobGlnaHQgc3BlbGxpbmcgbWlzdGFrZXMuCiAJQWJvdXQgNDAgbGFuZ3VhZ2VzIGFyZSBjdXJyZW50bHkgc3VwcG9ydGVkLCBzZWxlY3RlZCB3aXRoIHRoZQotCSdzcGVsbGFuZycgb3B0aW9uLiAgSW4gc291cmNlIGNvZGUgb25seSBjb21tZW50cyBhbmQgc3RyaW5ncyBhcmUKKwknc3BlbGxsYW5nJyBvcHRpb24uICBJbiBzb3VyY2UgY29kZSBvbmx5IGNvbW1lbnRzIGFuZCBzdHJpbmdzIGFyZQogCWNoZWNrZWQgZm9yIHNwZWxsaW5nLgogCiBGb2xkaW5nLgkJCQkJCXxmb2xkaW5nfApAQCAtNDI3LDggKzQyNyw5IEBACiAKIE1vdXNlIHN1cHBvcnQuCQkJCQkJfG1vdXNlLXVzaW5nfAogCVRoZSBtb3VzZSBpcyBzdXBwb3J0ZWQgaW4gdGhlIEdVSSB2ZXJzaW9uLCBpbiBhbiB4dGVybSBmb3IgVW5peCwgZm9yCi0JTGludXggd2l0aCBncG0sIGZvciBNUy1ET1MsIGFuZCBXaW4zMi4gIEl0IGNhbiBiZSB1c2VkIHRvIHBvc2l0aW9uIHRoZQotCWN1cnNvciwgc2VsZWN0IHRoZSB2aXN1YWwgYXJlYSwgcGFzdGUgYSByZWdpc3RlciwgZXRjLgorCUJTRHMgd2l0aCBzeXNtb3VzZSwgZm9yIExpbnV4IHdpdGggZ3BtLCBmb3IgTVMtRE9TLCBhbmQgV2luMzIuICBJdAorCWNhbiBiZSB1c2VkIHRvIHBvc2l0aW9uIHRoZSBjdXJzb3IsIHNlbGVjdCB0aGUgdmlzdWFsIGFyZWEsIHBhc3RlIGEKKwlyZWdpc3RlciwgZXRjLgogCiBVc2FnZSBvZiBrZXkgbmFtZXMuCQkJCQl8PD58IHxrZXktbm90YXRpb258CiAJU3BlY2lhbCBrZXlzIG5vdyBhbGwgaGF2ZSBhIG5hbWUgbGlrZSA8VXA+LCA8RW5kPiwgZXRjLgpkaWZmIC0tZ2l0IGEvcnVudGltZS9tYWNyb3MvbGlmZS9saWZlLnZpbSBiL3J1bnRpbWUvbWFjcm9zL2xpZmUvbGlmZS52aW0KaW5kZXggYWRmNGUyMC4uNTUyYTQ5MyAxMDA2NDQKLS0tIGEvcnVudGltZS9tYWNyb3MvbGlmZS9saWZlLnZpbQorKysgYi9ydW50aW1lL21hY3Jvcy9saWZlL2xpZmUudmltCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvcGx1Z2luL25ldHJ3UGx1Z2luLnZpbSBiL3J1bnRpbWUvcGx1Z2luL25ldHJ3UGx1Z2luLnZpbQppbmRleCAxNTJlYjMyLi5iMGEyOWFkIDEwMDY0NAotLS0gYS9ydW50aW1lL3BsdWdpbi9uZXRyd1BsdWdpbi52aW0KKysrIGIvcnVudGltZS9wbHVnaW4vbmV0cndQbHVnaW4udmltCkBAIC0xLDYgKzEsNiBAQAogIiBuZXRyd1BsdWdpbi52aW06IEhhbmRsZXMgZmlsZSB0cmFuc2ZlciBhbmQgcmVtb3RlIGRpcmVjdG9yeSBsaXN0aW5nIGFjcm9zcyBhIG5ldHdvcmsKICIgICAgICAgICAgICBQTFVHSU4gU0VDVElPTgotIiBEYXRlOgkJSmFuIDA1LCAyMDA3CisiIERhdGU6CQlBcHIgMDcsIDIwMDgKICIgTWFpbnRhaW5lcjoJQ2hhcmxlcyBFIENhbXBiZWxsLCBKciA8TmRyT2NoaXBAU2NhbXBiZWxsUGZhbWlseS5BYml6TS1OT1NQQU0+CiAiIEdldExhdGVzdFZpbVNjcmlwdHM6IDEwNzUgMSA6QXV0b0luc3RhbGw6IG5ldHJ3LnZpbQogIiBDb3B5cmlnaHQ6ICAgIENvcHlyaWdodCAoQykgMTk5OS0yMDA1IENoYXJsZXMgRS4gQ2FtcGJlbGwsIEpyLiB7e3sxCkBAIC0yMiw3ICsyMiw3IEBACiBpZiAmY3AgfHwgZXhpc3RzKCJnOmxvYWRlZF9uZXRyd1BsdWdpbiIpCiAgZmluaXNoCiBlbmRpZgotbGV0IGc6bG9hZGVkX25ldHJ3UGx1Z2luID0gMQorbGV0IGc6bG9hZGVkX25ldHJ3UGx1Z2luID0gInYxMjUiCiBsZXQgczprZWVwY3BvICAgICAgICAgICAgPSAmY3BvCiBpZiB2OnZlcnNpb24gPCA3MDAKICBlY2hvaGwgV2FybmluZ01zZyB8IGVjaG8gIioqKm5ldHJ3KioqIHlvdSBuZWVkIHZpbSB2ZXJzaW9uIDcuMCBmb3IgdGhpcyB2ZXJzaW9uIG9mIG5ldHJ3IiB8IGVjaG9obCBOb25lCkBAIC00NywyOCArNDcsMjcgQEAKIGF1Z3JvdXAgTmV0d29yawogIGF1IQogIGlmIGhhcygid2luMzIiKSB8fCBoYXMoIndpbjk1IikgfHwgaGFzKCJ3aW42NCIpIHx8IGhhcygid2luMTYiKQotICBhdSBCdWZSZWFkQ21kICBmaWxlOi8vKgkJZXhlICJzaWxlbnQgZG9hdSBCdWZSZWFkUHJlICIubmV0cncjUkZDMjM5NihleHBhbmQoIjxhbWF0Y2g+IikpfGV4ZSAnZSAnLnN1YnN0aXR1dGUobmV0cncjUkZDMjM5NihleHBhbmQoIjxhbWF0Y2g+IikpLCdmaWxlOi8vXCguKlwpJywnXDEnLCIiKXxleGUgInNpbGVudCBkb2F1IEJ1ZlJlYWRQb3N0ICIubmV0cncjUkZDMjM5NihleHBhbmQoIjxhbWF0Y2g+IikpCisgIGF1IEJ1ZlJlYWRDbWQgIGZpbGU6Ly8qCQlleGUgInNpbGVudCBkb2F1IEJ1ZlJlYWRQcmUgIi5uZXRydyNSRkMyMzk2KGV4cGFuZCgiPGFtYXRjaD4iKSl8ZXhlICdlICcuc3Vic3RpdHV0ZShuZXRydyNSRkMyMzk2KGV4cGFuZCgiPGFtYXRjaD4iKSksJ2ZpbGU6Ly9cKC4qXCknLCdcMScsIiIpfGV4ZSAiYndpcGUgIi5leHBhbmQoIjxhbWF0Y2g+Iil8ZXhlICJzaWxlbnQgZG9hdSBCdWZSZWFkUG9zdCAiLm5ldHJ3I1JGQzIzOTYoZXhwYW5kKCI8YW1hdGNoPiIpKQogIGVsc2UKLSAgYXUgQnVmUmVhZENtZCAgZmlsZTovLyoJCWV4ZSAic2lsZW50IGRvYXUgQnVmUmVhZFByZSAiLm5ldHJ3I1JGQzIzOTYoZXhwYW5kKCI8YW1hdGNoPiIpKXxleGUgJ2UgJy5zdWJzdGl0dXRlKG5ldHJ3I1JGQzIzOTYoZXhwYW5kKCI8YW1hdGNoPiIpKSwnZmlsZTovL1woLipcKScsJ1wxJywiIil8ZXhlICJzaWxlbnQgZG9hdSBCdWZSZWFkUG9zdCAiLm5ldHJ3I1JGQzIzOTYoZXhwYW5kKCI8YW1hdGNoPiIpKQotICBhdSBCdWZSZWFkQ21kICBmaWxlOi8vbG9jYWxob3N0LyoJZXhlICJzaWxlbnQgZG9hdSBCdWZSZWFkUHJlICIubmV0cncjUkZDMjM5NihleHBhbmQoIjxhbWF0Y2g+IikpfGV4ZSAnZSAnLnN1YnN0aXR1dGUobmV0cncjUkZDMjM5NihleHBhbmQoIjxhbWF0Y2g+IikpLCdmaWxlOi8vbG9jYWxob3N0L1woLipcKScsJ1wxJywiIil8ZXhlICJzaWxlbnQgZG9hdSBCdWZSZWFkUG9zdCAiLm5ldHJ3I1JGQzIzOTYoZXhwYW5kKCI8YW1hdGNoPiIpKQorICBhdSBCdWZSZWFkQ21kICBmaWxlOi8vKgkJZXhlICJzaWxlbnQgZG9hdSBCdWZSZWFkUHJlICIubmV0cncjUkZDMjM5NihleHBhbmQoIjxhbWF0Y2g+IikpfGV4ZSAnZSAnLnN1YnN0aXR1dGUobmV0cncjUkZDMjM5NihleHBhbmQoIjxhbWF0Y2g+IikpLCdmaWxlOi8vXCguKlwpJywnXDEnLCIiKXxleGUgImJ3aXBlICIuZXhwYW5kKCI8YW1hdGNoPiIpfGV4ZSAic2lsZW50IGRvYXUgQnVmUmVhZFBvc3QgIi5uZXRydyNSRkMyMzk2KGV4cGFuZCgiPGFtYXRjaD4iKSkKKyAgYXUgQnVmUmVhZENtZCAgZmlsZTovL2xvY2FsaG9zdC8qCWV4ZSAic2lsZW50IGRvYXUgQnVmUmVhZFByZSAiLm5ldHJ3I1JGQzIzOTYoZXhwYW5kKCI8YW1hdGNoPiIpKXxleGUgJ2UgJy5zdWJzdGl0dXRlKG5ldHJ3I1JGQzIzOTYoZXhwYW5kKCI8YW1hdGNoPiIpKSwnZmlsZTovL2xvY2FsaG9zdC9cKC4qXCknLCdcMScsIiIpfGV4ZSAiYndpcGUgIi5zdWJzdGl0dXRlKGV4cGFuZCgiPGFtYXRjaD4iKSwnZmlsZTovL1woXGtcK0BcKVw9JywnJywnJyl8ZXhlICJzaWxlbnQgZG9hdSBCdWZSZWFkUG9zdCAiLm5ldHJ3I1JGQzIzOTYoZXhwYW5kKCI8YW1hdGNoPiIpKQogIGVuZGlmCi0gYXUgQnVmUmVhZENtZCAgIGZ0cDovLyoscmNwOi8vKixzY3A6Ly8qLGh0dHA6Ly8qLGRhdjovLyoscnN5bmM6Ly8qLHNmdHA6Ly8qCWV4ZSAic2lsZW50IGRvYXUgQnVmUmVhZFByZSAiLmV4cGFuZCgiPGFtYXRjaD4iKXxleGUgJzJOcmVhZCAiJy5leHBhbmQoIjxhbWF0Y2g+IikuJyInfGV4ZSAic2lsZW50IGRvYXUgQnVmUmVhZFBvc3QgIi5leHBhbmQoIjxhbWF0Y2g+IikKLSBhdSBGaWxlUmVhZENtZCAgZnRwOi8vKixyY3A6Ly8qLHNjcDovLyosaHR0cDovLyosZGF2Oi8vKixyc3luYzovLyosc2Z0cDovLyoJZXhlICJzaWxlbnQgZG9hdSBGaWxlUmVhZFByZSAiLmV4cGFuZCgiPGFtYXRjaD4iKXxleGUgJ05yZWFkICInICAgLmV4cGFuZCgiPGFtYXRjaD4iKS4nIid8ZXhlICJzaWxlbnQgZG9hdSBGaWxlUmVhZFBvc3QgIi5leHBhbmQoIjxhbWF0Y2g+IikKLSBhdSBCdWZXcml0ZUNtZCAgZnRwOi8vKixyY3A6Ly8qLHNjcDovLyosZGF2Oi8vKixyc3luYzovLyosc2Z0cDovLyoJCWV4ZSAic2lsZW50IGRvYXUgQnVmV3JpdGVQcmUgIi5leHBhbmQoIjxhbWF0Y2g+Iil8ZXhlICdOd3JpdGUgIicgLmV4cGFuZCgiPGFtYXRjaD4iKS4nIid8ZXhlICJzaWxlbnQgZG9hdSBCdWZXcml0ZVBvc3QgIi5leHBhbmQoIjxhbWF0Y2g+IikKLSBhdSBGaWxlV3JpdGVDbWQgZnRwOi8vKixyY3A6Ly8qLHNjcDovLyosZGF2Oi8vKixyc3luYzovLyosc2Z0cDovLyoJCWV4ZSAic2lsZW50IGRvYXUgRmlsZVdyaXRlUHJlICIuZXhwYW5kKCI8YW1hdGNoPiIpfGV4ZSAiJ1ssJ10iLidOd3JpdGUgIicgLmV4cGFuZCgiPGFtYXRjaD4iKS4nIid8ZXhlICJzaWxlbnQgZG9hdSBGaWxlV3JpdGVQb3N0ICIuZXhwYW5kKCI8YW1hdGNoPiIpCisgYXUgQnVmUmVhZENtZCAgIGZ0cDovLyoscmNwOi8vKixzY3A6Ly8qLGh0dHA6Ly8qLGRhdjovLyosZGF2czovLyoscnN5bmM6Ly8qLHNmdHA6Ly8qCWV4ZSAic2lsZW50IGRvYXUgQnVmUmVhZFByZSAiLmV4cGFuZCgiPGFtYXRjaD4iKXxleGUgJzJOcmVhZCAiJy5leHBhbmQoIjxhbWF0Y2g+IikuJyInfGV4ZSAic2lsZW50IGRvYXUgQnVmUmVhZFBvc3QgIi5leHBhbmQoIjxhbWF0Y2g+IikKKyBhdSBGaWxlUmVhZENtZCAgZnRwOi8vKixyY3A6Ly8qLHNjcDovLyosaHR0cDovLyosZGF2Oi8vKixkYXZzOi8vKixyc3luYzovLyosc2Z0cDovLyoJZXhlICJzaWxlbnQgZG9hdSBGaWxlUmVhZFByZSAiLmV4cGFuZCgiPGFtYXRjaD4iKXxleGUgJ05yZWFkICInICAgLmV4cGFuZCgiPGFtYXRjaD4iKS4nIid8ZXhlICJzaWxlbnQgZG9hdSBGaWxlUmVhZFBvc3QgIi5leHBhbmQoIjxhbWF0Y2g+IikKKyBhdSBCdWZXcml0ZUNtZCAgZnRwOi8vKixyY3A6Ly8qLHNjcDovLyosZGF2Oi8vKixkYXZzOi8vKixyc3luYzovLyosc2Z0cDovLyoJCWV4ZSAic2lsZW50IGRvYXUgQnVmV3JpdGVQcmUgIi5leHBhbmQoIjxhbWF0Y2g+Iil8ZXhlICdOd3JpdGUgIicgLmV4cGFuZCgiPGFtYXRjaD4iKS4nIid8ZXhlICJzaWxlbnQgZG9hdSBCdWZXcml0ZVBvc3QgIi5leHBhbmQoIjxhbWF0Y2g+IikKKyBhdSBGaWxlV3JpdGVDbWQgZnRwOi8vKixyY3A6Ly8qLHNjcDovLyosZGF2Oi8vKixkYXZzOi8vKixyc3luYzovLyosc2Z0cDovLyoJCWV4ZSAic2lsZW50IGRvYXUgRmlsZVdyaXRlUHJlICIuZXhwYW5kKCI8YW1hdGNoPiIpfGV4ZSAiJ1ssJ10iLidOd3JpdGUgIicgLmV4cGFuZCgiPGFtYXRjaD4iKS4nIid8ZXhlICJzaWxlbnQgZG9hdSBGaWxlV3JpdGVQb3N0ICIuZXhwYW5kKCI8YW1hdGNoPiIpCiAgdHJ5Ci0gIGF1IFNvdXJjZUNtZCAgICBmdHA6Ly8qLHJjcDovLyosc2NwOi8vKixodHRwOi8vKixkYXY6Ly8qLHJzeW5jOi8vKixzZnRwOi8vKglleGUgJ05zb3VyY2UgIicuZXhwYW5kKCI8YW1hdGNoPiIpLiciJworICBhdSBTb3VyY2VDbWQgICAgZnRwOi8vKixyY3A6Ly8qLHNjcDovLyosaHR0cDovLyosZGF2Oi8vKixkYXZzOi8vKixyc3luYzovLyosc2Z0cDovLyoJZXhlICdOc291cmNlICInLmV4cGFuZCgiPGFtYXRjaD4iKS4nIicKICBjYXRjaCAvXlZpbVwlKChcYVwrKVwpXD06RTIxNi8KLSAgYXUgU291cmNlUHJlICAgIGZ0cDovLyoscmNwOi8vKixzY3A6Ly8qLGh0dHA6Ly8qLGRhdjovLyoscnN5bmM6Ly8qLHNmdHA6Ly8qCWV4ZSAnTnNvdXJjZSAiJy5leHBhbmQoIjxhbWF0Y2g+IikuJyInCisgIGF1IFNvdXJjZVByZSAgICBmdHA6Ly8qLHJjcDovLyosc2NwOi8vKixodHRwOi8vKixkYXY6Ly8qLGRhdnM6Ly8qLHJzeW5jOi8vKixzZnRwOi8vKglleGUgJ05zb3VyY2UgIicuZXhwYW5kKCI8YW1hdGNoPiIpLiciJwogIGVuZHRyeQogYXVncm91cCBFTkQKIAogIiBDb21tYW5kczogOk5yZWFkLCA6TndyaXRlLCA6TmV0VXNlclBhc3Mge3t7MgotY29tISAtY291bnQ9MSAtbmFyZ3M9KglOcmVhZAkJY2FsbCBuZXRydyNOZXRTYXZlUG9zbigpPGJhcj5jYWxsIG5ldHJ3I05ldFJlYWQoPGNvdW50Piw8Zi1hcmdzPik8YmFyPmNhbGwgbmV0cncjTmV0UmVzdG9yZVBvc24oKQotY29tISAtcmFuZ2U9JSAtbmFyZ3M9KglOd3JpdGUJCWNhbGwgbmV0cncjTmV0U2F2ZVBvc24oKTxiYXI+PGxpbmUxPiw8bGluZTI+Y2FsbCBuZXRydyNOZXRXcml0ZSg8Zi1hcmdzPik8YmFyPmNhbGwgbmV0cncjTmV0UmVzdG9yZVBvc24oKQorY29tISAtY291bnQ9MSAtbmFyZ3M9KglOcmVhZAkJY2FsbCBuZXRydyNOZXRyd1NhdmVQb3NuKCk8YmFyPmNhbGwgbmV0cncjTmV0UmVhZCg8Y291bnQ+LDxmLWFyZ3M+KTxiYXI+Y2FsbCBuZXRydyNOZXRyd1Jlc3RvcmVQb3NuKCkKK2NvbSEgLXJhbmdlPSUgLW5hcmdzPSoJTndyaXRlCQljYWxsIG5ldHJ3I05ldHJ3U2F2ZVBvc24oKTxiYXI+PGxpbmUxPiw8bGluZTI+Y2FsbCBuZXRydyNOZXRXcml0ZSg8Zi1hcmdzPik8YmFyPmNhbGwgbmV0cncjTmV0cndSZXN0b3JlUG9zbigpCiBjb20hIC1uYXJncz0qCQlOZXRVc2VyUGFzcwljYWxsIE5ldFVzZXJQYXNzKDxmLWFyZ3M+KQotY29tISAtbmFyZ3M9KyAgICAgICAgICAgTmNvcHkgICAgICAgICAgIGNhbGwgbmV0cncjTmV0T2J0YWluKDxmLWFyZ3M+KQotY29tISAtbmFyZ3M9KgkgICAgICAgIE5zb3VyY2UJCWNhbGwgbmV0cncjTmV0U2F2ZVBvc24oKTxiYXI+Y2FsbCBuZXRydyNOZXRTb3VyY2UoPGYtYXJncz4pPGJhcj5jYWxsIG5ldHJ3I05ldFJlc3RvcmVQb3NuKCkKK2NvbSEgLW5hcmdzPSoJICAgICAgICBOc291cmNlCQljYWxsIG5ldHJ3I05ldHJ3U2F2ZVBvc24oKTxiYXI+Y2FsbCBuZXRydyNOZXRTb3VyY2UoPGYtYXJncz4pPGJhcj5jYWxsIG5ldHJ3I05ldHJ3UmVzdG9yZVBvc24oKQogCiAiIENvbW1hbmRzOiA6RXhwbG9yZSwgOlNleHBsb3JlLCBIZXhwbG9yZSwgVmV4cGxvcmUge3t7MgogY29tISAtbmFyZ3M9KiAtYmFyIC1iYW5nIC1jb3VudD0wIC1jb21wbGV0ZT1kaXIJRXhwbG9yZQkJY2FsbCBuZXRydyNFeHBsb3JlKDxjb3VudD4sMCwwKzxiYW5nPjAsPHEtYXJncz4pCkBAIC04MCwxNCArNzksMTUgQEAKIGNvbSEgLW5hcmdzPSogLWJhciAtYmFuZwkJCVBleHBsb3JlCWNhbGwgbmV0cncjRXhwbG9yZSgtMiwwLDAsPHEtYXJncz4pCiAKICIgQ29tbWFuZHM6IE5ldHJ3U2V0dGluZ3Mge3t7MgotY29tISAtbmFyZ3M9MCBOZXRyd1NldHRpbmdzIDpjYWxsIG5ldHJ3U2V0dGluZ3MjTmV0cndTZXR0aW5ncygpCitjb20hIC1uYXJncz0wCU5ldHJ3U2V0dGluZ3MJY2FsbCBuZXRyd1NldHRpbmdzI05ldHJ3U2V0dGluZ3MoKQorY29tISAtYmFuZwlOZXRyd0NsZWFuCWNhbGwgbmV0cncjTmV0cndDbGVhbig8YmFuZz4wKQogCiAiIE1hcHM6CiBpZiAhZXhpc3RzKCJnOm5ldHJ3X25vZ3giKSAmJiBtYXBhcmcoJ2cnLCduJykgPT0gIiIKICBpZiAhaGFzbWFwdG8oJzxQbHVnPk5ldHJ3QnJvd3NlWCcpCiAgIG5tYXAgPHVuaXF1ZT4gZ3ggPFBsdWc+TmV0cndCcm93c2VYCiAgZW5kaWYKLSBubm8gPHNpbGVudD4gPFBsdWc+TmV0cndCcm93c2VYIDpjYWxsIG5ldHJ3I05ldEJyb3dzZVgoZXhwYW5kKCI8Y1dPUkQ+IiksMCk8Y3I+Cisgbm5vIDxzaWxlbnQ+IDxQbHVnPk5ldHJ3QnJvd3NlWCA6Y2FsbCBuZXRydyNOZXRyd0Jyb3dzZVgoZXhwYW5kKCI8Y1dPUkQ+IiksMCk8Y3I+CiBlbmRpZgogCiAiIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpkaWZmIC0tZ2l0IGEvcnVudGltZS9zcGVsbC9mci9tYWluLmFhcCBiL3J1bnRpbWUvc3BlbGwvZnIvbWFpbi5hYXAKaW5kZXggZmFmM2UwMS4uYjIwN2I2ZSAxMDA2NDQKLS0tIGEvcnVudGltZS9zcGVsbC9mci9tYWluLmFhcAorKysgYi9ydW50aW1lL3NwZWxsL2ZyL21haW4uYWFwCkBAIC0xMSwxMSArMTEsMjYgQEAKIAogYWxsOiAkU1BFTExESVIvZnIubGF0aW4xLnNwbCAkU1BFTExESVIvZnIudXRmLTguc3BsIC4uL1JFQURNRV9mci50eHQKIAorIyBUaGUgc3BlbGwgZmlsZSBpcyBpc28tODg1OS0xNSwgYnV0IFZpbSBub3JtYWxseSB1c2VzICJsYXRpbjEiIGZvciB0aGlzLgorIyBUaGlzIGlzIE9LIGZvciB0aGUgdXRmLTggZmlsZXMsIGJ1dCBmb3IgbGF0aW4xIHdlIG5lZWQgdG8gYXZvaWQgdGhlICJvZSIKKyMgY2hhcmFjdGVyLiAgV2hlbiB1bnBhY2tpbmcgd2UgY3JlYXRlIGZvdXIgZmlsZXM6CisjICAgIGZyX0ZSX2xhdGluMS5hZmYgICAgbW9kaWZpZWQgZmlsZQorIyAgICBmcl9GUl9sYXRpbjEuZGljICAgIG1vZGlmaWVkIGZpbGUKKyMgICAgZnJfRlJfaXNvMTUuYWZmICAgICBvcmlnaW5hbCBmaWxlIChhZnRlciBhcHBseWluZyBkaWZmKQorIyAgICBmcl9GUl9pc28xNS5kaWMgICAgIG9yaWdpbmFsIGZpbGUgKGFmdGVyIGFwcGx5aW5nIGRpZmYpCisjIEp1c3QgYmVmb3JlIHVzaW5nIHRoZSBkaWN0aW9uYXJ5IGZpbGVzLCB0aGUgcmlnaHQgb25lcyBhcmUgY29waWVkIHRvCisjICAgIGZyX0ZSLmFmZgorIyAgICBmcl9GUi5kaWMKKwogJFNQRUxMRElSL2ZyLmxhdGluMS5zcGwgOiAkRklMRVMKLSAgICAgICAgOnN5cyBlbnYgTEFORz1mcl9GUi5JU084ODU5LTEKKyAgICAgICAgOmNvcHkge2ZvcmNlfSBmcl9GUl9sYXRpbjEuYWZmIGZyX0ZSLmFmZgorICAgICAgICA6Y29weSB7Zm9yY2V9IGZyX0ZSX2xhdGluMS5kaWMgZnJfRlIuZGljCisgICAgICAgIDpzeXMgZW52IExBTkc9ZnJfRlIuSVNPODg1OS0xNQogCQkkVklNIC11IE5PTkUgLWUgLWMgIm1rc3BlbGwhICRTUEVMTERJUi9mciBmcl9GUiIgLWMgcQogCiAkU1BFTExESVIvZnIudXRmLTguc3BsIDogJEZJTEVTCisgICAgICAgIDpjb3B5IHtmb3JjZX0gZnJfRlJfaXNvMTUuYWZmIGZyX0ZSLmFmZgorICAgICAgICA6Y29weSB7Zm9yY2V9IGZyX0ZSX2lzbzE1LmRpYyBmcl9GUi5kaWMKICAgICAgICAgOnN5cyBlbnYgTEFORz1mcl9GUi5VVEYtOAogCQkkVklNIC11IE5PTkUgLWUgLWMgIm1rc3BlbGwhICRTUEVMTERJUi9mciBmcl9GUiIgLWMgcQogCkBAIC0yMywxMCArMzgsMTMgQEAKICAgICAgICAgOmNhdCAkc291cmNlID4hJHRhcmdldAogCiAjCi0jIEZldGNoaW5nIHRoZSBmaWxlcyBmcm9tIE9wZW5PZmZpY2Uub3JnLgorIyBVc2VkIHRvIGZldGNoIHRoZSBmaWxlcyBmcm9tIE9wZW5PZmZpY2Uub3JnLiAgVGhvc2UgYXJlIG9sZC4KKyMgTGF0ZXIgdmVyc2lvbnMgYXJlIGVsc2V3aGVyZS4KICMKLU9PRElSID0gaHR0cDovL2Z0cC5zZXJ2aWNlcy5vcGVub2ZmaWNlLm9yZy9wdWIvT3Blbk9mZmljZS5vcmcvY29udHJpYi9kaWN0aW9uYXJpZXMKLTphdHRyIHtmZXRjaCA9ICRPT0RJUi8lZmlsZSV9IGZyX0ZSLnppcAorI09PRElSID0gaHR0cDovL2Z0cC5zZXJ2aWNlcy5vcGVub2ZmaWNlLm9yZy9wdWIvT3Blbk9mZmljZS5vcmcvY29udHJpYi9kaWN0aW9uYXJpZXMKK1pJUEZJTEUgPSBodHRwOi8vZGljby5zYXZhbnQuZnJlZS5mci9fZG93bmxvYWQvZnJfRlJfMS0xLTYuemlwCisKKzphdHRyIHtmZXRjaCA9ICRaSVBGSUxFfSBmcl9GUi56aXAKIAogIyBUaGUgZmlsZXMgZG9uJ3QgZGVwZW5kIG9uIHRoZSAuemlwIGZpbGUgc28gdGhhdCB3ZSBjYW4gZGVsZXRlIGl0LgogIyBPbmx5IGRvd25sb2FkIHRoZSB6aXAgZmlsZSBpZiB0aGUgdGFyZ2V0cyBkb24ndCBleGlzdC4KQEAgLTQyLDE1ICs2MCw0NSBAQAogICAgICAgICBAaWYgb3MucGF0aC5leGlzdHMoJ2ZyX0ZSLmRpZmYnKToKICAgICAgICAgICAgIDpzeXMgcGF0Y2ggPGZyX0ZSLmRpZmYKIAorICAgICAgICAjIEtlZXAgdGhlIHVubW9kaWZpZWQgZmlsZXMgKGFmdGVyIGRpZmYpIGZvciBJU08tODg1OS0xNS4KKyAgICAgICAgOmNvcHkgZnJfRlIuYWZmIGZyX0ZSX2lzbzE1LmFmZgorICAgICAgICA6Y29weSBmcl9GUi5kaWMgZnJfRlJfaXNvMTUuZGljCisgICAgICAgICMgRm9yIHRoZSBsYXRpbjEgLmRpYyBmaWxlIGNoYW5nZSBhbGwgdGhlICJvZSIgY2hhcmFjdGVycyB0byB0aGUgdHdvCisgICAgICAgICMgY2hhcmFjdGVycyAib2UiLgorICAgICAgICA6c3lzICRWSU0gLXUgTk9ORSAtZSAtYyAic2V0IGVuYz1sYXRpbjEiCisgICAgICAgICAgICAgICAgICAgIC1jICJlIGZyX0ZSLmRpYyIKKyAgICAgICAgICAgICAgICAgICAgLWMgIiVzL70vb2UvZyIKKyAgICAgICAgICAgICAgICAgICAgLWMgInchIGZyX0ZSX2xhdGluMS5kaWMiCisgICAgICAgICAgICAgICAgICAgIC1jIHEKKyAgICAgICAgIyBGb3IgdGhlIGxhdGluMSAuYWZmIGZpbGUgZGVsZXRlIGFsbCB0aGUgIm9lIiBhbmQgIk9FIiBjaGFyYWN0ZXJzIGFuZAorICAgICAgICAjIGRlbGV0ZSB0aGUgUkVQIGxpbmVzIHdpdGggdGhvc2UgY2hhcmFjdGVycy4KKyAgICAgICAgOnN5cyAkVklNIC11IE5PTkUgLWUgLWMgInNldCBlbmM9bGF0aW4xIgorICAgICAgICAgICAgICAgICAgICAtYyAiZSBmcl9GUi5hZmYiCisgICAgICAgICAgICAgICAgICAgIC1jICIlcy+9Ly9nIgorICAgICAgICAgICAgICAgICAgICAtYyAiJXMvvC8vZyIKKyAgICAgICAgICAgICAgICAgICAgLWMgIiVnL1JFUC4qb2UvZCIKKyAgICAgICAgICAgICAgICAgICAgLWMgInchIGZyX0ZSX2xhdGluMS5hZmYiCisgICAgICAgICAgICAgICAgICAgIC1jIHEKKwogCiAjIEdlbmVyYXRlIGRpZmYgZmlsZXMsIHNvIHRoYXQgb3RoZXJzIGNhbiBnZXQgdGhlIE9wZW5PZmZpY2UgZmlsZXMgYW5kIGFwcGx5CiAjIHRoZSBkaWZmcyB0byBnZXQgdGhlIFZpbSB2ZXJzaW9ucy4KLQorIyBUaGlzIHVzZXMgdGhlIGlzby04ODU5LTE1IGZpbGVzLgogZGlmZjoKICAgICAgICAgOmFzc2VydHBrZyBkaWZmCisgICAgICAgIDpjb3B5IHtmb3JjZX0gZnJfRlJfaXNvMTUuYWZmIGZyX0ZSLmFmZgorICAgICAgICA6Y29weSB7Zm9yY2V9IGZyX0ZSX2lzbzE1LmRpYyBmcl9GUi5kaWMKICAgICAgICAgOnN5cyB7Zm9yY2V9IGRpZmYgLWEgLUMgMSBmcl9GUi5vcmlnLmFmZiBmcl9GUi5hZmYgPmZyX0ZSLmRpZmYKICAgICAgICAgOnN5cyB7Zm9yY2V9IGRpZmYgLWEgLUMgMSBmcl9GUi5vcmlnLmRpYyBmcl9GUi5kaWMgPj5mcl9GUi5kaWZmCiAKKyMgRGVsZXRlIGFsbCB0aGUgdW5wYWNrZWQgYW5kIGdlbmVyYXRlZCBmaWxlcywgaW5jbHVkaW5nIHRoZSAib3JpZyIgZmlsZXMuCitjbGVhbjoKKyAgICAgICAgOmRlbGV0ZSB7Zm9yY2V9IGZyX0ZSLnppcCBmcl9GUi5hZmYgZnJfRlIuZGljCisgICAgICAgICAgICAgICAgICAgICAgICBmcl9GUi5hZmYub3JpZyBmcl9GUi5kaWMub3JpZworICAgICAgICAgICAgICAgICAgICAgICAgZnJfRlIub3JpZy5hZmYgZnJfRlIub3JpZy5kaWMKKyAgICAgICAgICAgICAgICAgICAgICAgIGZyX0ZSX2xhdGluMS5hZmYgZnJfRlJfbGF0aW4xLmRpYworICAgICAgICAgICAgICAgICAgICAgICAgZnJfRlJfaXNvMTUuYWZmIGZyX0ZSX2lzbzE1LmRpYworICAgICAgICAgICAgICAgICAgICAgICAgUkVBRE1FX2ZyX0ZSLnR4dAogCiAjIENoZWNrIGZvciB1cGRhdGVkIE9wZW5PZmZpY2Ugc3BlbGwgZmlsZXMuICBXaGVuIHRoZXJlIGFyZSBjaGFuZ2VzIHRoZQogIyAiLm5ldy5hZmYiIGFuZCAiLm5ldy5kaWMiIGZpbGVzIGFyZSBsZWZ0IGJlaGluZCBmb3IgbWFudWFsIGluc3BlY3Rpb24uCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9hdXRvaG90a2V5LnZpbSBiL3J1bnRpbWUvc3ludGF4L2F1dG9ob3RrZXkudmltCmluZGV4IDc4Y2I5ZTcuLmJiZWZkNmYgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L2F1dG9ob3RrZXkudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L2F1dG9ob3RrZXkudmltCkBAIC0xLDcgKzEsNyBAQAogIiBWaW0gc3ludGF4IGZpbGUKICIgTGFuZ3VhZ2U6ICAgICAgICAgQXV0b0hvdGtleSBzY3JpcHQgZmlsZQogIiBNYWludGFpbmVyOiAgICAgICBOaWtvbGFpIFdlaWJ1bGwgPG5vd0BiaXR3aS5zZT4KLSIgTGF0ZXN0IFJldmlzaW9uOiAgMjAwNy0wNS0wOQorIiBMYXRlc3QgUmV2aXNpb246ICAyMDA3LTA2LTAxCiAKIGlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaApAQCAtMjQyLDYgKzI0MiwxMCBAQAogICAgICAgXCBsb2NhbAogICAgICAgXCBnbG9iYWwKIAorc3luIGtleXdvcmQgYXV0b2hvdGtleUJvb2xlYW4KKyAgICAgIFwgdHJ1ZQorICAgICAgXCBmYWxzZQorCiBoaSBkZWYgbGluayBhdXRvaG90a2V5VG9kbyAgICAgICAgICAgICAgICBUb2RvCiBoaSBkZWYgbGluayBhdXRvaG90a2V5Q29tbWVudCAgICAgICAgICAgICBDb21tZW50CiBoaSBkZWYgbGluayBhdXRvaG90a2V5Q29tbWVudFN0YXJ0ICAgICAgICBhdXRvaG90a2V5Q29tbWVudApAQCAtMjcxLDYgKzI3NSw3IEBACiBoaSBkZWYgbGluayBhdXRvaG90a2V5SW50ZWdlciAgICAgICAgICAgICBhdXRvaG90a2V5TnVtYmVyCiBoaSBkZWYgbGluayBhdXRvaG90a2V5RmxvYXQgICAgICAgICAgICAgICBhdXRvaG90a2V5TnVtYmVyCiBoaSBkZWYgbGluayBhdXRvaG90a2V5VHlwZSAgICAgICAgICAgICAgICBUeXBlCitoaSBkZWYgbGluayBhdXRvaG90a2V5Qm9vbGVhbiAgICAgICAgICAgICBCb29sZWFuCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gImF1dG9ob3RrZXkiCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2ZzdGFiLnZpbSBiL3J1bnRpbWUvc3ludGF4L2ZzdGFiLnZpbQppbmRleCA5Y2I3NmNiLi44MzBiOGQwIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9mc3RhYi52aW0KKysrIGIvcnVudGltZS9zeW50YXgvZnN0YWIudmltCkBAIC0yLDEzICsyLDE0IEBACiAiIExhbmd1YWdlOiBmc3RhYiBmaWxlCiAiIE1haW50YW5lcjogUmFkdSBEaW5laXUgPHJhZHUuZGluZWl1QGdtYWlsLmNvbT4KICIgVVJMOiBodHRwOi8vbGQueWkub3JnL3ZpbS9mc3RhYi52aW0KLSIgTGFzdCBDaGFuZ2U6IDIwMDcgQXByIDI0Ci0iIFZlcnNpb246IDAuOTEKKyIgTGFzdCBDaGFuZ2U6IDIwMDggSmFuIDE2CisiIFZlcnNpb246IDAuOTIKICIKICIgQ3JlZGl0czoKICIgICBEYXZpZCBOZWNhcyAoWWV0aSkgPHlldGlAcGh5c2ljcy5tdW5pLmN6PgogIiAgIFN0ZWZhbm8gWmFjY2hpcm9saSA8emFja0BkZWJpYW4ub3JnPgogIiAgIEdlb3JnaSBHZW9yZ2lldiA8Y2h1dHpAZ2czLm5ldD4KKyIgICBKYW1lcyBWZWdhIDxqYW1lc3NhbkBkZWJpYW4ub3JnPgogIgogIiBPcHRpb25zOgogIiAgIGxldCBmc3RhYl91bmtub3duX2ZzX2Vycm9ycyA9IDEKQEAgLTIzLDcgKzI0LDcgQEAKICIgR2VuZXJhbAogc3luIGNsdXN0ZXIgZnNHZW5lcmFsQ2x1c3RlciBjb250YWlucz1mc0NvbW1lbnQKIHN5biBtYXRjaCBmc0NvbW1lbnQgL1xzKiMuKi8KLXN5biBtYXRjaCBmc09wZXJhdG9yIC9bLD06XS8KK3N5biBtYXRjaCBmc09wZXJhdG9yIC9bLD06I10vCiAKICIgRGV2aWNlCiBzeW4gY2x1c3RlciBmc0RldmljZUNsdXN0ZXIgY29udGFpbnM9ZnNPcGVyYXRvcixmc0RldmljZUtleXdvcmQsZnNEZXZpY2VFcnJvcgpAQCAtMzEsOSArMzIsMTEgQEAKIHN5biBrZXl3b3JkIGZzRGV2aWNlS2V5d29yZCBjb250YWluZWQgbm9uZSBwcm9jIGxpbnByb2MgdG1wZnMgZGV2cHRzIHN5c2ZzIHVzYmZzCiBzeW4ga2V5d29yZCBmc0RldmljZUtleXdvcmQgY29udGFpbmVkIExBQkVMIG5leHRncm91cD1mc0RldmljZUxhYmVsCiBzeW4ga2V5d29yZCBmc0RldmljZUtleXdvcmQgY29udGFpbmVkIFVVSUQgbmV4dGdyb3VwPWZzRGV2aWNlVVVJRAorc3luIGtleXdvcmQgZnNEZXZpY2VLZXl3b3JkIGNvbnRhaW5lZCBzc2hmcyBuZXh0Z3JvdXA9ZnNEZXZpY2VTc2hmcwogc3luIG1hdGNoIGZzRGV2aWNlS2V5d29yZCBjb250YWluZWQgL15bYS16QS1aMC05LlwtXVwrXHplOi8KIHN5biBtYXRjaCBmc0RldmljZUxhYmVsIGNvbnRhaW5lZCAvPVteIFx0XVwrL2hzPXMrMSBjb250YWlucz1mc09wZXJhdG9yCiBzeW4gbWF0Y2ggZnNEZXZpY2VVVUlEIGNvbnRhaW5lZCAvPVteIFx0XVwrL2hzPXMrMSBjb250YWlucz1mc09wZXJhdG9yCitzeW4gbWF0Y2ggZnNEZXZpY2VTc2hmcyBjb250YWluZWQgLyNbXz1bOmFsbnVtOl1cLlwvKy1dXCtAW2EtejAtOS5fLV1cK1xhXHsyfTpbXiBcdF1cKy9ocz1zKzEgY29udGFpbnM9ZnNPcGVyYXRvcgogCiAiIE1vdW50IFBvaW50CiBzeW4gY2x1c3RlciBmc01vdW50UG9pbnRDbHVzdGVyIGNvbnRhaW5zPWZzTW91bnRQb2ludEtleXdvcmQsZnNNb3VudFBvaW50RXJyb3IKQEAgLTQzLDcgKzQ2LDcgQEAKICIgVHlwZQogc3luIGNsdXN0ZXIgZnNUeXBlQ2x1c3RlciBjb250YWlucz1mc1R5cGVLZXl3b3JkLGZzVHlwZVVua25vd24KIHN5biBtYXRjaCBmc1R5cGVVbmtub3duIC9cc1wrXHpzXHdcKy8gY29udGFpbmVkCi1zeW4ga2V5d29yZCBmc1R5cGVLZXl3b3JkIGNvbnRhaW5lZCBhZGZzIGFkb3MgYWZmcyBhdGZzIGF1ZGlvZnMgYXV0byBhdXRvZnMgYmVmcyBiZnMgY2Q5NjYwIGNmcyBjaWZzIGNvZGEgY3JhbWZzIGRldmZzIGRldnB0cyBlMmNvbXByIGVmcyBleHQyIGV4dDJmcyBleHQzIGZkZXNjIGZmcyBmaWxlY29yZSBoZnMgaHBmcyBpc285NjYwIGpmZnMgamZmczIgamZzIGtlcm5mcyBsZnMgbGlucHJvY2ZzIG1mcyBtaW5peCBtc2RvcyBuY3BmcyBuZnMgbm9uZSBudGZzIG51bGwgbndmcyBvdmVybGF5IG92bGZzIHBvcnRhbCBwcm9jIHByb2NmcyBwdHlmcyBxbng0IHJlaXNlcmZzIHJvbWZzIHNobSBzbWJmcyBzdGQgc3ViZnMgc3dhcCBzeXNmcyBzeXN2IHRjZnMgdG1wZnMgdWRmIHVmcyB1bWFwIHVtc2RvcyB1bmlvbiB1c2JmcyB1c2VyZnMgdmZhdCB2czNmcyB2eGZzIHdyYXBmcyB3dmZzIHhmcyB6aXNvZnMKK3N5biBrZXl3b3JkIGZzVHlwZUtleXdvcmQgY29udGFpbmVkIGFkZnMgYWRvcyBhZmZzIGF0ZnMgYXVkaW9mcyBhdXRvIGF1dG9mcyBiZWZzIGJmcyBjZDk2NjAgY2ZzIGNpZnMgY29kYSBjcmFtZnMgZGV2ZnMgZGV2cHRzIGUyY29tcHIgZWZzIGV4dDIgZXh0MmZzIGV4dDMgZmRlc2MgZmZzIGZpbGVjb3JlIGZ1c2UgaGZzIGhwZnMgaXNvOTY2MCBqZmZzIGpmZnMyIGpmcyBrZXJuZnMgbGZzIGxpbnByb2NmcyBtZnMgbWluaXggbXNkb3MgbmNwZnMgbmZzIG5vbmUgbnRmcyBudWxsIG53ZnMgb3ZlcmxheSBvdmxmcyBwb3J0YWwgcHJvYyBwcm9jZnMgcHR5ZnMgcW54NCByZWlzZXJmcyByb21mcyBzaG0gc21iZnMgc3NoZnMgc3RkIHN1YmZzIHN3YXAgc3lzZnMgc3lzdiB0Y2ZzIHRtcGZzIHVkZiB1ZnMgdW1hcCB1bXNkb3MgdW5pb24gdXNiZnMgdXNlcmZzIHZmYXQgdnMzZnMgdnhmcyB3cmFwZnMgd3ZmcyB4ZnMgemlzb2ZzCiAKICIgT3B0aW9ucwogIiAtLS0tLS0tCkBAIC0xNDMsNiArMTQ2LDE0IEBACiBzeW4ga2V5d29yZCBmc09wdGlvbnNSZWlzZXJIYXNoIGNvbnRhaW5lZCBydXBhc292IHRlYSByNSBkZXRlY3QKIHN5biBrZXl3b3JkIGZzT3B0aW9uc0tleXdvcmRzIGNvbnRhaW5lZCBoYXNoZWRfcmVsb2NhdGlvbiBub2JvcmRlciBub2xvZyBub3RhaWwgbm9fdW5oYXNoZWRfcmVsb2NhdGlvbiByZXBsYXlvbmx5CiAKKyIgT3B0aW9uczogc3NoZnMKK3N5biBtYXRjaCBmc09wdGlvbnNLZXl3b3JkcyBjb250YWluZWQgL1w8XCUoQmF0Y2hNb2RlXHxDaGFsbGVuZ2VSZXNwb25zZUF1dGhlbnRpY2F0aW9uXHxDaGVja0hvc3RJUFx8Q2xlYXJBbGxGb3J3YXJkaW5nc1x8Q29tcHJlc3Npb25cfEVuYWJsZVNTSEtleXNpZ25cfEZvcndhcmRBZ2VudFx8Rm9yd2FyZFgxMVx8Rm9yd2FyZFgxMVRydXN0ZWRcfEdhdGV3YXlQb3J0c1x8R1NTQVBJQXV0aGVudGljYXRpb25cfEdTU0FQSURlbGVnYXRlQ3JlZGVudGlhbHNcfEhhc2hLbm93bkhvc3RzXHxIb3N0YmFzZWRBdXRoZW50aWNhdGlvblx8SWRlbnRpdGllc09ubHlcfE5vSG9zdEF1dGhlbnRpY2F0aW9uRm9yTG9jYWxob3N0XHxQYXNzd29yZEF1dGhlbnRpY2F0aW9uXHxQdWJrZXlBdXRoZW50aWNhdGlvblx8Umhvc3RzUlNBQXV0aGVudGljYXRpb25cfFJTQUF1dGhlbnRpY2F0aW9uXHxUQ1BLZWVwQWxpdmVcfFVzZVByaXZpbGVnZWRQb3J0XHxjYWNoZVwpPS8gbmV4dGdyb3VwPWZzT3B0aW9uc1llc05vCitzeW4gbWF0Y2ggZnNPcHRpb25zS2V5d29yZHMgY29udGFpbmVkIC9cPFwlKENvbnRyb2xNYXN0ZXJcfFN0cmljdEhvc3RLZXlDaGVja2luZ1x8VmVyaWZ5SG9zdEtleUROU1wpPS8gbmV4dGdyb3VwPWZzT3B0aW9uc1NzaFllc05vQXNrCitzeW4gbWF0Y2ggZnNPcHRpb25zS2V5d29yZHMgY29udGFpbmVkIC9cPFwlKEFkZHJlc3NGYW1pbHlcfEJpbmRBZGRyZXNzXHxDaXBoZXJcfENpcGhlcnNcfENvbnRyb2xQYXRoXHxEeW5hbWljRm9yd2FyZFx8RXNjYXBlQ2hhclx8R2xvYmFsS25vd25Ib3N0c0ZpbGVcfEhvc3RLZXlBbGdvcml0aG1zXHxIb3N0S2V5QWxpYXNcfEhvc3ROYW1lXHxJZGVudGl0eUZpbGVcfEtiZEludGVyYWN0aXZlRGV2aWNlc1x8TG9jYWxGb3J3YXJkXHxMb2dMZXZlbFx8TUFDc1x8UHJlZmVycmVkQXV0aGVudGljYXRpb25zXHxQcm90b2NvbFx8UHJveHlDb21tYW5kXHxSZW1vdGVGb3J3YXJkXHxSaG9zdHNBdXRoZW50aWNhdGlvblx8U2VuZEVudlx8U21hcnRjYXJkRGV2aWNlXHxVc2VyXHxVc2VyS25vd25Ib3N0c0ZpbGVcfFhBdXRoTG9jYXRpb25cfGNvbW1lbnRcfHdvcmthcm91bmRcfGlkbWFwXHxzc2hfY29tbWFuZFx8c2Z0cF9zZXJ2ZXJcfGZzbmFtZVwpPS8gbmV4dGdyb3VwPWZzT3B0aW9uc1N0cmluZworc3luIG1hdGNoIGZzT3B0aW9uc0tleXdvcmRzIGNvbnRhaW5lZCAvXDxcJShDb21wcmVzc2lvbkxldmVsXHxDb25uZWN0aW9uQXR0ZW1wdHNcfENvbm5lY3RUaW1lb3V0XHxOdW1iZXJPZlBhc3N3b3JkUHJvbXB0c1x8UG9ydFx8U2VydmVyQWxpdmVDb3VudE1heFx8U2VydmVyQWxpdmVJbnRlcnZhbFx8Y2FjaGVfdGltZW91dFx8Y2FjaGVfWF90aW1lb3V0XHxzc2hfcHJvdG9jb2xcfGRpcmVjdHBvcnRcfG1heF9yZWFkXHx1bWFza1x8dWlkXHxnaWRcfGVudHJ5X3RpbWVvdXRcfG5lZ2F0aXZlX3RpbWVvdXRcfGF0dHJfdGltZW91dFwpPS8gbmV4dGdyb3VwPWZzT3B0aW9uc051bWJlcgorc3luIGtleXdvcmQgZnNPcHRpb25zS2V5d29yZHMgY29udGFpbmVkIHJlY29ubmVjdCBzc2hmc19zeW5jIG5vX3JlYWRhaGVhZCBzc2hmc19kZWJ1ZyB0cmFuc2Zvcm1fc3ltbGlua3MgYWxsb3dfb3RoZXIgYWxsb3dfcm9vdCBub25lbXB0eSBkZWZhdWx0X3Blcm1pc3Npb25zIGxhcmdlX3JlYWQgaGFyZF9yZW1vdmUgdXNlX2lubyByZWFkZGlyX2lubyBkaXJlY3RfaW8ga2VybmVsX2NhY2hlCitzeW4ga2V5d29yZCBmc09wdGlvbnNTc2hZZXNOb0FzayBjb250YWluZWQgeWVzIG5vIGFzaworCiAiIE9wdGlvbnM6IHN1YmZzCiBzeW4gbWF0Y2ggZnNPcHRpb25zS2V5d29yZHMgY29udGFpbmVkIC9cPGZzPS8gbmV4dGdyb3VwPWZzT3B0aW9uc1N0cmluZwogc3luIGtleXdvcmQgZnNPcHRpb25zS2V5d29yZHMgY29udGFpbmVkIHByb2N1aWQKQEAgLTIwOCwxMSArMjE5LDEzIEBACiAJSGlMaW5rIGZzRGV2aWNlS2V5d29yZCBJZGVudGlmaWVyCiAJSGlMaW5rIGZzRGV2aWNlTGFiZWwgU3RyaW5nCiAJSGlMaW5rIGZzRGV2aWNlVVVJRCBTdHJpbmcKKwlIaUxpbmsgZnNEZXZpY2VTc2hmcyBTdHJpbmcKIAlIaUxpbmsgZnNGcmVxUGFzc051bWJlciBOdW1iZXIKIAogCWlmIGV4aXN0cygnZnN0YWJfdW5rbm93bl9mc19lcnJvcnMnKSAmJiBmc3RhYl91bmtub3duX2ZzX2Vycm9ycyA9PSAxCiAJCUhpTGluayBmc1R5cGVVbmtub3duIEVycm9yCiAJZW5kaWYKKwogCUhpTGluayBmc0RldmljZUVycm9yIEVycm9yCiAJSGlMaW5rIGZzTW91bnRQb2ludEVycm9yIEVycm9yCiAJSGlMaW5rIGZzTW91bnRQb2ludEtleXdvcmQgS2V5d29yZApAQCAtMjM1LDYgKzI0OCw3IEBACiAJSGlMaW5rIGZzT3B0aW9uc0hwZnNDYXNlIFN0cmluZwogCUhpTGluayBmc09wdGlvbnNJc29NYXAgU3RyaW5nCiAJSGlMaW5rIGZzT3B0aW9uc1JlaXNlckhhc2ggU3RyaW5nCisJSGlMaW5rIGZzT3B0aW9uc1NzaFllc05vQXNrIFN0cmluZwogCUhpTGluayBmc09wdGlvbnNVZnNUeXBlIFN0cmluZwogCUhpTGluayBmc09wdGlvbnNVZnNFcnJvciBTdHJpbmcKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvc2lzdS52aW0gYi9ydW50aW1lL3N5bnRheC9zaXN1LnZpbQppbmRleCBmZTQ3MmM5Li5mMjliYzI2IDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9zaXN1LnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9zaXN1LnZpbQpAQCAtMSw4ICsxLDcgQEAKLSIlJSBTaVNVIFZpbSBzeW50YXggZmlsZQotIiBTaVNVIE1haW50YWluZXI6IFJhbHBoIEFtaXNzYWggPHJhbHBoQGFtaXNzYWguY29tPgotIiBTaVNVIE1hcmt1cDogICAgIFNpU1UgKHNpc3UtMC4zOCkKLSIgKG9yaWdpbmFsbHkgbG9va2VkIGF0IFJ1YnkgVmltIGJ5IE1pcmtvIE5hc2F0bykKLSIgTGFzdCBVcGRhdGU6CSAgIDIwMDYgSnVsIDIyCisiU2lTVSBWaW0gc3ludGF4IGZpbGUKKyJTaVNVIE1haW50YWluZXI6IFJhbHBoIEFtaXNzYWggPHJhbHBoQGFtaXNzYWguY29tPgorIlNpU1UgTWFya3VwOiAgICAgU2lTVSAoc2lzdS0wLjY2LjAsIDIwMDgtMDItMjQpCisiKG9yaWdpbmFsbHkgbG9va2VkIGF0IFJ1YnkgVmltIGJ5IE1pcmtvIE5hc2F0bykKIAogaWYgdmVyc2lvbiA8IDYwMAogICBzeW50YXggY2xlYXIKQEAgLTEwLDYzICs5LDc4IEBACiAgIGZpbmlzaAogZWxzZQogZW5kaWYKLSIlIDExIEVycm9ycz8KKworIiBFcnJvcnM6CiBzeW4gbWF0Y2ggc2lzdV9lcnJvciBjb250YWlucz1zaXN1X2xpbmssc2lzdV9lcnJvcl93c3BhY2UgIjwhW15laV1cU1wrIT4iCi0iJSAxMCBNYXJrZXJzOiBFbmRub3RlIElkZW50aWZpZXJzLCBQYWdlYnJlYWtzIGV0Yy46IAorCisiIE1hcmtlcnMgSWRlbnRpZmllcnM6CiBpZiAhZXhpc3RzKCJzaXN1X25vX2lkZW50aWZpZXJzIikKLSAgc3luIG1hdGNoICAgc2lzdV9tYXJrX2VuZG5vdGUgICAgICAgICAgICAgICAgICAgICAgIlx+XiIKLSAgc3luIG1hdGNoICAgc2lzdV9jb250YWluICAgICAgIGNvbnRhaW5zPUBOb1NwZWxsICAgIjwvXD9zdWI+IgotICBzeW4gbWF0Y2ggICBzaXN1X2JyZWFrICAgICAgICAgY29udGFpbnM9QE5vU3BlbGwgICAiPGJyPlx8PGJyIC8+IgotICBzeW4gbWF0Y2ggICBzaXN1X2NvbnRyb2wgICAgICAgY29udGFpbnM9QE5vU3BlbGwgICAiPHA+XHw8L3A+XHw8cCAvPlx8PDpwW2JuXT4iCi0gIHN5biBtYXRjaCAgIHNpc3VfaHRtbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICI8Y2VudGVyPlx8PC9jZW50ZXI+IgotICBzeW4gbWF0Y2ggICBzaXN1X21hcmt0YWlsICAgICAgICAgICAgICAgICAgICAgICAgICAiW34tXSMiCi0gIHN5biBtYXRjaCAgIHNpc3VfaHRtbCAgICAgICAgICBjb250YWlucz1ATm9TcGVsbCAgICI8dGQ+XHw8dGQgXHw8dHI+XHw8L3RkPlx8PC90cj5cfDx0YWJsZT5cfDx0YWJsZSBcfDwvdGFibGU+IgotICBzeW4gbWF0Y2ggICBzaXN1X2NvbnRyb2wgICAgICAgICAgICAgICAgICAgICAgICAgICAiXCIiCi0gIHN5biBtYXRjaCAgIHNpc3VfdW5kZXJsaW5lICAgICAgICAgICAgICAgICAgICAgICAgICJcKF5cfCBcKV9bYS16QS1aMC05XVwrX1woWyAuLF1cfCRcKSIKLSAgc3luIG1hdGNoICAgc2lzdV9udW1iZXIgICAgICAgIGNvbnRhaW5zPUBOb1NwZWxsICAgIlswLTlhLWZdXHszMlx9XHxbMC05YS1mXVx7NjRcfSIKLSAgc3luIG1hdGNoICAgc2lzdV9saW5rICAgICAgICAgIGNvbnRhaW5zPUBOb1NwZWxsICAgIlwoaHR0cHNcPzovL1x8XC5cLlwvXClcU1wrIgorICBzeW4gbWF0Y2ggICBzaXN1X21hcmtfZW5kbm90ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiXH5eIgorICBzeW4gbWF0Y2ggICBzaXN1X2NvbnRhaW4gICAgICAgICAgICAgY29udGFpbnM9QE5vU3BlbGwgICAgICAgICAgICAgICAgICAiPC9cP3N1Yj4iCisgIHN5biBtYXRjaCAgIHNpc3VfYnJlYWsgICAgICAgICAgICAgICBjb250YWlucz1ATm9TcGVsbCAgICAgICAgICAgICAgICAgICI8YnI+XHw8YnIgLz4iCisgIHN5biBtYXRjaCAgIHNpc3VfY29udHJvbCAgICAgICAgICAgICBjb250YWlucz1ATm9TcGVsbCAgICAgICAgICAgICAgICAgICI8cD5cfDwvcD5cfDxwIC8+XHw8OnBbYm5dPiIKKyAgc3luIG1hdGNoICAgc2lzdV9odG1sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjxjZW50ZXI+XHw8L2NlbnRlcj4iCisgIHN5biBtYXRjaCAgIHNpc3VfbWFya3RhaWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJbfi1dIyIKKyAgc3luIG1hdGNoICAgc2lzdV9odG1sICAgICAgICAgICAgICAgIGNvbnRhaW5zPUBOb1NwZWxsICAgICAgICAgICAgICAgICAgIjx0ZD5cfDx0ZCBcfDx0cj5cfDwvdGQ+XHw8L3RyPlx8PHRhYmxlPlx8PHRhYmxlIFx8PC90YWJsZT4iCisgIHN5biBtYXRjaCAgIHNpc3VfY29udHJvbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJcIiIKKyAgc3luIG1hdGNoICAgc2lzdV91bmRlcmxpbmUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlwoXlx8IFwpX1thLXpBLVowLTldXCtfXChbIC4sXVx8JFwpIgorICBzeW4gbWF0Y2ggICBzaXN1X251bWJlciAgICAgICAgICAgICAgY29udGFpbnM9QE5vU3BlbGwgICAgICAgICAgICAgICAgICAiWzAtOWEtZl1cezMyXH1cfFswLTlhLWZdXHs2NFx9IgorICBzeW4gbWF0Y2ggICBzaXN1X2xpbmsgICAgICAgICAgICAgICAgY29udGFpbnM9QE5vU3BlbGwgICAgICAgICAgICAgICAgICAiXChfXD9odHRwc1w/Oi8vXHxcLlwuXC9cKVxTXCsiCiAgICJtZXRhdmVyc2Ugc3BlY2lmaWMKLSAgc3luIG1hdGNoICAgc2lzdV9vY24gICAgICAgICAgIGNvbnRhaW5zPUBOb1NwZWxsICAgIjxcflxkXCs7XHdcZFwrO1x3XGRcKz4iCi0gIHN5biBtYXRjaCAgIHNpc3VfbWFya3RhaWwgICAgICAgICAgICAgICAgICAgICAgICAgICI8XH4jPiIKLSAgc3luIG1hdGNoICAgc2lzdV9tYXJrcGFyYSAgICAgIGNvbnRhaW5zPUBOb1NwZWxsICAgIjw6aVsxMl0+IgotICBzeW4gbWF0Y2ggICBzaXN1X2xpbmsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiIFwqXH5cU1wrIgotICBzeW4gbWF0Y2ggICBzaXN1X2FjdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiXjw6aW5zZXJ0XGRcKz4iCi0gIHN5biBtYXRjaCAgIHNpc3VfY29udGFpbiAgICAgICAgICAgICAgICAgICAgICAgICAgICI8OmU+IgorICBzeW4gbWF0Y2ggICBzaXN1X29jbiAgICAgICAgICAgICAgICAgY29udGFpbnM9QE5vU3BlbGwgICAgICAgICAgICAgICAgICAiPFx+XGRcKztcd1xkXCs7XHdcZFwrPiIKKyAgc3luIG1hdGNoICAgc2lzdV9tYXJrdGFpbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjxcfiM+IgorICBzeW4gbWF0Y2ggICBzaXN1X21hcmtwYXJhICAgICAgICAgICAgY29udGFpbnM9QE5vU3BlbGwgICAgICAgICAgICAgICAgICAiPDppWzEtOV0+IgorICBzeW4gbWF0Y2ggICBzaXN1X2xpbmsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiIFwqXH5cU1wrIgorICBzeW4gbWF0Y2ggICBzaXN1X2FjdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiXjw6aW5zZXJ0XGRcKz4iCisgIHN5biBtYXRjaCAgIHNpc3VfcmVxdWlyZSAgICAgICAgICAgICBjb250YWlucz1ATm9TcGVsbCAgICAgICAgICAgICAgICAgICJePDxccypbYS16QS1aMC05Xi5fLV1cK1wuc3NbaXRdJCIKKyAgc3luIG1hdGNoICAgc2lzdV9yZXF1aXJlICAgICAgICAgICAgIGNvbnRhaW5zPUBOb1NwZWxsICAgICAgICAgICAgICAgICAgIl48PHtbYS16QS1aMC05Xi5fLV1cK1wuc3NbaXRdfSQiCisgIHN5biBtYXRjaCAgIHNpc3VfY29udGFpbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICI8OmU+IgorICBzeW4gbWF0Y2ggICBzaXN1X3NlbV9tYXJrZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiO3tcfH07W2Etei5fXSpbYS16XSIKKyAgc3luIG1hdGNoICAgc2lzdV9zZW1fbWFya2VyX2Jsb2NrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlwoW2Etel1bYS16Ll9dKlx8XCk6e1x8fTpbYS16Ll9dKlthLXpdIgorICBzeW4gbWF0Y2ggICBzaXN1X3NlbV9leF9tYXJrZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiO1xbXHxcXTtbYS16Ll9dKlthLXpdIgorICBzeW4gbWF0Y2ggICBzaXN1X3NlbV9leF9tYXJrZXJfYmxvY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiXChbYS16XVthLXouX10qXHxcKTpcW1x8XF06W2Etei5fXSpbYS16XSIKKyAgc3luIG1hdGNoICAgc2lzdV9zZW1fYmxvY2sgY29udGFpbnM9c2lzdV9lcnJvcixzaXN1X2Vycm9yX3dzcGFjZSxzaXN1X2NvbnRlbnRfYWx0LHNpc3VfbGluayxzaXN1X2xpbmtlZCxzaXN1X2JyZWFrLHNpc3Vfc2VtX2Jsb2NrLHNpc3Vfc2VtX2NvbnRlbnQsc2lzdV9zZW1fbWFya2VyX2Jsb2NrLHNpc3Vfc2VtX21hcmtlcixzaXN1X3NlbV9leF9tYXJrZXJfYmxvY2ssc2lzdV9zZW1fZXhfbWFya2VyLHNpc3VfbWFya19lbmRub3RlLHNpc3VfY29udGVudF9lbmRub3RlICJcKFthLXpdKlwpOntbXn1dLlx7LX19OlwxIgorICBzeW4gbWF0Y2ggICBzaXN1X3NlbV9jb250ZW50IGNvbnRhaW5zPXNpc3VfZXJyb3Isc2lzdV9lcnJvcl93c3BhY2Usc2lzdV9jb250ZW50X2FsdCxzaXN1X2xpbmssc2lzdV9saW5rZWQsc2lzdV9icmVhayxzaXN1X3NlbV9tYXJrZXJfYmxvY2ssc2lzdV9zZW1fbWFya2VyLHNpc3Vfc2VtX2V4X21hcmtlcl9ibG9jayxzaXN1X3NlbV9leF9tYXJrZXIgIjt7W159XS5cey19fTtbYS16XVwrIgorICBzeW4gbWF0Y2ggICBzaXN1X3NlbV9leF9ibG9jayBjb250YWlucz1zaXN1X2Vycm9yLHNpc3VfZXJyb3Jfd3NwYWNlLHNpc3VfY29udGVudF9hbHQsc2lzdV9saW5rLHNpc3VfbGlua2VkLHNpc3VfYnJlYWssc2lzdV9zZW1fYmxvY2ssc2lzdV9zZW1fY29udGVudCxzaXN1X3NlbV9tYXJrZXJfYmxvY2ssc2lzdV9zZW1fbWFya2VyLHNpc3Vfc2VtX2V4X21hcmtlcl9ibG9jayxzaXN1X3NlbV9leF9tYXJrZXIsc2lzdV9tYXJrX2VuZG5vdGUsc2lzdV9jb250ZW50X2VuZG5vdGUgIlwoW2Etel0qXCk6XFtbXn1dLlx7LX1cXTpcMSIKKyAgc3luIG1hdGNoICAgc2lzdV9zZW1fZXhfY29udGVudCBjb250YWlucz1zaXN1X2Vycm9yLHNpc3VfZXJyb3Jfd3NwYWNlLHNpc3VfY29udGVudF9hbHQsc2lzdV9saW5rLHNpc3VfbGlua2VkLHNpc3VfYnJlYWssc2lzdV9zZW1fbWFya2VyX2Jsb2NrLHNpc3Vfc2VtX21hcmtlcixzaXN1X3NlbV9leF9tYXJrZXJfYmxvY2ssc2lzdV9zZW1fZXhfbWFya2VyICI7XFtbXn1dLlx7LX1cXTtbYS16XVwrIgogZW5kaWYKLSIlIDkgVVJMcyBOdW1iZXJzOiBhbmQgQVNDSUkgQ29kZXMKKworIlVSTHMgTnVtYmVycyBBbmQgQVNDSUkgQ29kZXM6CiBzeW4gbWF0Y2ggICBzaXN1X251bWJlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJcPFwoMHhceFwrXHwwYlswMV1cK1x8MFxvXCtcfDBcLlxkXCtcfDBcfFsxLTldW1wuMC05X10qXClcPiIKIHN5biBtYXRjaCAgIHNpc3VfbnVtYmVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIj9cKFxcTS1cXEMtXHxcXGNcfFxcQy1cfFxcTS1cKVw9XChcXFxvXHszfVx8XFx4XHhcezJ9XHxcXFw9XHdcKSIKLSIlIDggVHVuZWQgRXJyb3IgLSBpcyBlcnJvciBpZiBub3QgYWxyZWFkeSBtYXRjaGVkCisKKyJUdW5lZCBFcnJvcjogKGlzIGVycm9yIGlmIG5vdCBhbHJlYWR5IG1hdGNoZWQpCiBzeW4gbWF0Y2ggc2lzdV9lcnJvciAgICAgICAgICAgICBjb250YWlucz1zaXN1X2Vycm9yICJbXH4vXCohX117XHx9W1x+L1wqIV9dIgogc3luIG1hdGNoIHNpc3VfZXJyb3IgICAgICAgICAgICAgY29udGFpbnM9c2lzdV9lcnJvciAiPGEgaHJlZlx8PC9hPl0iCi0iJSA3IFNpbXBsZSBFbmNsb3NlZCBNYXJrdXA6Ci0iIFNpbXBsZSBNYXJrdXA6Ci0iJSAgIHVybC9saW5rCisKKyJTaW1wbGUgUGFpcmVkIEVuY2xvc2VkIE1hcmt1cDoKKyJ1cmwvbGluawogc3luIHJlZ2lvbiBzaXN1X2xpbmsgY29udGFpbnM9c2lzdV9lcnJvcixzaXN1X2Vycm9yX3dzcGFjZSBtYXRjaGdyb3VwPXNpc3VfYWN0aW9uIHN0YXJ0PSJePDxccyp8W2EtekEtWjAtOV4uXy1dXCt8QHxbYS16QS1aMC05Xi5fLV1cK3wicnM9cysyIGVuZD0iJCIKLSIlICAgaGVhZGVyCi1zeW4gcmVnaW9uIHNpc3VfaGVhZGVyX2NvbnRlbnQgY29udGFpbnM9c2lzdV9lcnJvcixzaXN1X2Vycm9yX3dzcGFjZSxzaXN1X2NvbnRlbnRfYWx0LHNpc3VfbGluayxzaXN1X2xpbmtlZCxzaXN1X2JyZWFrIG1hdGNoZ3JvdXA9c2lzdV9oZWFkZXIgc3RhcnQ9Il4wXH5cKFxTXCtcfFteLV1cKSIgZW5kPSIkIgotc3luIHJlZ2lvbiBzaXN1X2hlYWRlcl9jb250ZW50IGNvbnRhaW5zPXNpc3VfZXJyb3Isc2lzdV9lcnJvcl93c3BhY2Usc2lzdV9jb250ZW50X2FsdCxzaXN1X2xpbmssc2lzdV9saW5rZWQsc2lzdV9icmVhayBtYXRjaGdyb3VwPXNpc3VfaGVhZGVyIHN0YXJ0PSJeMFx+XCh0YWdzXD9cfGRhdGVcKVxzXCsicnM9ZS0xIGVuZD0iXG4kIgotc3luIHJlZ2lvbiBzaXN1X2hlYWRlcl9jb250ZW50IGNvbnRhaW5zPXNpc3VfZXJyb3Isc2lzdV9lcnJvcl93c3BhY2Usc2lzdV9jb250ZW50X2FsdCxzaXN1X2xpbmssc2lzdV9saW5rZWQsc2lzdV9icmVhayBtYXRjaGdyb3VwPXNpc3VfaGVhZGVyIHN0YXJ0PSJeQFxTXCs6WystXVw/XHMicnM9ZS0xIGVuZD0iJCIKLXN5biByZWdpb24gc2lzdV9oZWFkZXJfY29udGVudCBjb250YWlucz1zaXN1X2Vycm9yLHNpc3VfZXJyb3Jfd3NwYWNlLHNpc3VfY29udGVudF9hbHQsc2lzdV9saW5rLHNpc3VfbGlua2VkLHNpc3VfYnJlYWsgbWF0Y2hncm91cD1zaXN1X2hlYWRlciBzdGFydD0iXkBcKHRhZ3NcP1x8ZGF0ZVwpOlxzXCsicnM9ZS0xIGVuZD0iXG4kIgotIiUgICBoZWFkaW5ncworImhlYWRlcgorc3luIHJlZ2lvbiBzaXN1X2hlYWRlcl9jb250ZW50IGNvbnRhaW5zPXNpc3VfZXJyb3Isc2lzdV9lcnJvcl93c3BhY2Usc2lzdV9jb250ZW50X2FsdCxzaXN1X2xpbmssc2lzdV9saW5rZWQsc2lzdV9icmVhayBtYXRjaGdyb3VwPXNpc3VfaGVhZGVyIHN0YXJ0PSJeMFx+XChcU1wrXHxbXi1dXCkiIGVuZD0iXG4kIgorc3luIHJlZ2lvbiBzaXN1X2hlYWRlcl9jb250ZW50IGNvbnRhaW5zPXNpc3VfZXJyb3Isc2lzdV9lcnJvcl93c3BhY2Usc2lzdV9jb250ZW50X2FsdCxzaXN1X2xpbmssc2lzdV9saW5rZWQsc2lzdV9icmVhayBtYXRjaGdyb3VwPXNpc3VfaGVhZGVyIHN0YXJ0PSJeW0AlXVxTXCs6WystXVw/XHMicnM9ZS0xIGVuZD0iXG4kIgorImhlYWRpbmdzCiBzeW4gcmVnaW9uIHNpc3VfaGVhZGluZyBjb250YWlucz1zaXN1X21hcmtfZW5kbm90ZSxzaXN1X2NvbnRlbnRfZW5kbm90ZSxzaXN1X21hcmt0YWlsLHNpc3Vfc3RyaWtlb3V0LHNpc3VfbnVtYmVyLHNpc3VfY29udHJvbCxzaXN1X2lkZW50aWZpZXIsc2lzdV9vY24sc2lzdV9lcnJvcixzaXN1X2Vycm9yX3dzcGFjZSBtYXRjaGdyb3VwPXNpc3Vfc3RydWN0dXJlIHN0YXJ0PSJeXChbMS04XVx8Olw/W0EtQ11cKVx+XChcU1wrXHxbXi1dXCkiIGVuZD0iJCIKLSIlICAgZ3JvdXBlZCB0ZXh0Ci1zeW4gcmVnaW9uIHNpc3VfY29udGVudF9hbHQgY29udGFpbnM9c2lzdV9zdHJpa2VvdXQsc2lzdV9udW1iZXIsc2lzdV9jb250cm9sLHNpc3VfaWRlbnRpZmllcixzaXN1X2Vycm9yIG1hdGNoZ3JvdXA9c2lzdV9jb250YWluIHN0YXJ0PSJ0YWJsZXsuXCsiIGVuZD0ifXRhYmxlIgotc3luIHJlZ2lvbiBzaXN1X2NvbnRlbnRfYWx0IGNvbnRhaW5zPXNpc3Vfc3RyaWtlb3V0LHNpc3VfbnVtYmVyLHNpc3VfY29udHJvbCxzaXN1X2lkZW50aWZpZXIsc2lzdV9lcnJvciBtYXRjaGdyb3VwPXNpc3VfY29udGFpbiBzdGFydD0ie3Rcfmh9IiBlbmQ9IiQkIgorImdyb3VwZWQgdGV4dAorc3luIHJlZ2lvbiBzaXN1X2NvbnRlbnRfYWx0IGNvbnRhaW5zPXNpc3Vfc3RyaWtlb3V0LHNpc3VfbnVtYmVyLHNpc3VfY29udHJvbCxzaXN1X2lkZW50aWZpZXIsc2lzdV9lcnJvciBtYXRjaGdyb3VwPXNpc3VfY29udGFpbiBzdGFydD0iXnRhYmxley5cKyIgZW5kPSJ9dGFibGUiCitzeW4gcmVnaW9uIHNpc3VfY29udGVudF9hbHQgY29udGFpbnM9c2lzdV9zdHJpa2VvdXQsc2lzdV9udW1iZXIsc2lzdV9jb250cm9sLHNpc3VfaWRlbnRpZmllcixzaXN1X2Vycm9yIG1hdGNoZ3JvdXA9c2lzdV9jb250YWluIHN0YXJ0PSJee1wodFx8dGFibGVcKVwoXH5oXClcP1woXHNjWzAtOV1cKztcKVw/WzAtOTsgXSp9IiBlbmQ9IlxuXG4iCiBzeW4gcmVnaW9uIHNpc3VfY29udGVudF9hbHQgY29udGFpbnM9c2lzdV9tYXJrX2VuZG5vdGUsc2lzdV9jb250ZW50X2VuZG5vdGUsc2lzdV9saW5rLHNpc3VfbWFyayxzaXN1X3N0cmlrZW91dCxzaXN1X251bWJlcixzaXN1X2NvbnRyb2wsc2lzdV9pZGVudGlmaWVyLHNpc3VfZXJyb3IgbWF0Y2hncm91cD1zaXN1X2NvbnRhaW4gc3RhcnQ9Il5cKGFsdFx8Z3JvdXBcfHBvZW1cKXsiIGVuZD0iXn1cKGFsdFx8Z3JvdXBcfHBvZW1cKSIKIHN5biByZWdpb24gc2lzdV9jb250ZW50X2FsdCBjb250YWlucz1zaXN1X2Vycm9yIG1hdGNoZ3JvdXA9c2lzdV9jb250YWluIHN0YXJ0PSJeY29kZXsiIGVuZD0iXn1jb2RlIgotIiUgICBlbmRub3Rlcwotc3luIHJlZ2lvbiBzaXN1X2NvbnRlbnRfZW5kbm90ZSBjb250YWlucz1zaXN1X2xpbmssc2lzdV9zdHJpa2VvdXQsc2lzdV91bmRlcmxpbmUsc2lzdV9udW1iZXIsc2lzdV9jb250cm9sLHNpc3VfaWRlbnRpZmllcixzaXN1X2Vycm9yLHNpc3VfZXJyb3Jfd3NwYWNlLHNpc3VfbWFyayxzaXN1X2JyZWFrIG1hdGNoZ3JvdXA9c2lzdV9tYXJrX2VuZG5vdGUgc3RhcnQ9Ilx+e1sqK10qIiBlbmQ9In1cfiIgc2tpcD0iXG4iCi1zeW4gcmVnaW9uIHNpc3VfY29udGVudF9lbmRub3RlIGNvbnRhaW5zPXNpc3VfbGluayxzaXN1X3N0cmlrZW91dCxzaXN1X3VuZGVybGluZSxzaXN1X251bWJlcixzaXN1X2NvbnRyb2wsc2lzdV9pZGVudGlmaWVyLHNpc3VfZXJyb3Isc2lzdV9lcnJvcl93c3BhY2Usc2lzdV9tYXJrLHNpc3VfYnJlYWsgbWF0Y2hncm91cD1zaXN1X21hcmtfZW5kbm90ZSBzdGFydD0iXH5cW1sqK10qIiBlbmQ9IlxdXH4iIHNraXA9IlxuIgorImVuZG5vdGVzCitzeW4gcmVnaW9uIHNpc3VfY29udGVudF9lbmRub3RlIGNvbnRhaW5zPXNpc3VfbGluayxzaXN1X3N0cmlrZW91dCxzaXN1X3VuZGVybGluZSxzaXN1X251bWJlcixzaXN1X2NvbnRyb2wsc2lzdV9pZGVudGlmaWVyLHNpc3VfZXJyb3Isc2lzdV9lcnJvcl93c3BhY2Usc2lzdV9tYXJrLHNpc3VfYnJlYWssc2lzdV9zZW1fYmxvY2ssc2lzdV9zZW1fY29udGVudCxzaXN1X3NlbV9tYXJrZXJfYmxvY2ssc2lzdV9zZW1fbWFya2VyLHNpc3Vfc2VtX2V4X21hcmtlcl9ibG9jayxzaXN1X3NlbV9leF9tYXJrZXIgbWF0Y2hncm91cD1zaXN1X21hcmtfZW5kbm90ZSBzdGFydD0iXH57WyorXSoiIGVuZD0ifVx+IiBza2lwPSJcbiIKK3N5biByZWdpb24gc2lzdV9jb250ZW50X2VuZG5vdGUgY29udGFpbnM9c2lzdV9saW5rLHNpc3Vfc3RyaWtlb3V0LHNpc3VfdW5kZXJsaW5lLHNpc3VfbnVtYmVyLHNpc3VfY29udHJvbCxzaXN1X2lkZW50aWZpZXIsc2lzdV9lcnJvcixzaXN1X2Vycm9yX3dzcGFjZSxzaXN1X21hcmssc2lzdV9icmVhayxzaXN1X3NlbV9ibG9jayxzaXN1X3NlbV9jb250ZW50LHNpc3Vfc2VtX21hcmtlciBtYXRjaGdyb3VwPXNpc3VfbWFya19lbmRub3RlIHN0YXJ0PSJcflxbWyorXSoiIGVuZD0iXF1cfiIgc2tpcD0iXG4iCiBzeW4gcmVnaW9uIHNpc3VfY29udGVudF9lbmRub3RlIGNvbnRhaW5zPXNpc3Vfc3RyaWtlb3V0LHNpc3VfbnVtYmVyLHNpc3VfY29udHJvbCxzaXN1X2xpbmssc2lzdV9pZGVudGlmaWVyLHNpc3VfZXJyb3Isc2lzdV9lcnJvcl93c3BhY2Usc2lzdV9tYXJrLHNpc3VfYnJlYWsgbWF0Y2hncm91cD1zaXN1X21hcmtfZW5kbm90ZSBzdGFydD0iXF5cfiIgZW5kPSJcblxuIgotIiUgICBpbWFnZXMKLXN5biByZWdpb24gc2lzdV9saW5rZWQgY29udGFpbnM9c2lzdV9mb250ZmFjZSxzaXN1X3N0cmlrZW91dCxzaXN1X251bWJlcixzaXN1X2NvbnRyb2wsc2lzdV9pZGVudGlmaWVyLHNpc3VfZXJyb3IgbWF0Y2hncm91cD1zaXN1X2xpbmsgc3RhcnQ9InsiIGVuZD0ifVwoXChodHRwc1w/Oi8vXHxcLlwuL1wpXFNcK1x8aW1hZ2VcKSIgb25lbGluZQotIiUgICBzb21lIGxpbmUgb3BlcmF0aW9ucworImxpbmtzIGFuZCBpbWFnZXMKK3N5biByZWdpb24gc2lzdV9saW5rZWQgY29udGFpbnM9c2lzdV9mb250ZmFjZSxzaXN1X3N0cmlrZW91dCxzaXN1X251bWJlcixzaXN1X2NvbnRyb2wsc2lzdV9pZGVudGlmaWVyLHNpc3Vfc2VtX2Jsb2NrLHNpc3Vfc2VtX2NvbnRlbnQsc2lzdV9zZW1fbWFya2VyX2Jsb2NrLHNpc3Vfc2VtX21hcmtlcixzaXN1X3NlbV9leF9tYXJrZXJfYmxvY2ssc2lzdV9zZW1fZXhfbWFya2VyLHNpc3Vfc2VtX2Jsb2NrLHNpc3VfZXJyb3IgbWF0Y2hncm91cD1zaXN1X2xpbmsgc3RhcnQ9IntcKFx+XlxzXClcPyIgZW5kPSJ9XChodHRwc1w/Oi9cL1x8XC5cLi9cKVxTXCsiIG9uZWxpbmUKK3N5biByZWdpb24gc2lzdV9saW5rZWQgY29udGFpbnM9c2lzdV9mb250ZmFjZSxzaXN1X3N0cmlrZW91dCxzaXN1X251bWJlcixzaXN1X2NvbnRyb2wsc2lzdV9pZGVudGlmaWVyLHNpc3Vfc2VtX2Jsb2NrLHNpc3Vfc2VtX2NvbnRlbnQsc2lzdV9zZW1fbWFya2VyX2Jsb2NrLHNpc3Vfc2VtX21hcmtlcixzaXN1X3NlbV9leF9tYXJrZXJfYmxvY2ssc2lzdV9zZW1fZXhfbWFya2VyLHNpc3Vfc2VtX2Jsb2NrLHNpc3VfZXJyb3IgbWF0Y2hncm91cD1zaXN1X2xpbmsgc3RhcnQ9IntcKFx+XlxzXClcPyIgZW5kPSJcW1sxLTVdW3NTXSpcXX1cU1wrXC5zc1t0bV0iIG9uZWxpbmUKK3N5biByZWdpb24gc2lzdV9saW5rZWQgY29udGFpbnM9c2lzdV9mb250ZmFjZSxzaXN1X3N0cmlrZW91dCxzaXN1X251bWJlcixzaXN1X2NvbnRyb2wsc2lzdV9pZGVudGlmaWVyLHNpc3VfZXJyb3IgbWF0Y2hncm91cD1zaXN1X2xpbmsgc3RhcnQ9InsiIGVuZD0ifWltYWdlIiBvbmVsaW5lCisic29tZSBsaW5lIG9wZXJhdGlvbnMKIHN5biByZWdpb24gc2lzdV9jb250cm9sIGNvbnRhaW5zPXNpc3Vfc3RyaWtlb3V0LHNpc3VfaWRlbnRpZmllcixzaXN1X2NvbnRlbnRfZW5kbm90ZSxzaXN1X21hcmtfZW5kbm90ZSxzaXN1X2Vycm9yLHNpc3VfZXJyb3Jfd3NwYWNlIG1hdGNoZ3JvdXA9c2lzdV9jb250cm9sIHN0YXJ0PSJcKFwoXlx8IFwpIV8gXHw8OmI+XCkiIGVuZD0iJCIKLXN5biByZWdpb24gc2lzdV9ub3JtYWwgY29udGFpbnM9c2lzdV9zdHJpa2VvdXQsc2lzdV9pZGVudGlmaWVyLHNpc3VfY29udGVudF9lbmRub3RlLHNpc3VfbWFya19lbmRub3RlLHNpc3VfbGluayxzaXN1X2xpbmtlZCxzaXN1X2Vycm9yLHNpc3VfZXJyb3Jfd3NwYWNlIG1hdGNoZ3JvdXA9c2lzdV9tYXJrcGFyYSBzdGFydD0iXl9cKFsxMipdXHxbMTJdXCpcKSAiIGVuZD0iJCIKK3N5biByZWdpb24gc2lzdV9ub3JtYWwgY29udGFpbnM9c2lzdV9zdHJpa2VvdXQsc2lzdV9pZGVudGlmaWVyLHNpc3VfY29udGVudF9lbmRub3RlLHNpc3VfbWFya19lbmRub3RlLHNpc3VfbGluayxzaXN1X3NlbV9ibG9jayxzaXN1X3NlbV9jb250ZW50LHNpc3Vfc2VtX21hcmtlcl9ibG9jayxzaXN1X3NlbV9tYXJrZXIsc2lzdV9zZW1fZXhfbWFya2VyX2Jsb2NrLHNpc3Vfc2VtX2V4X21hcmtlcixzaXN1X2xpbmtlZCxzaXN1X2Vycm9yLHNpc3VfZXJyb3Jfd3NwYWNlIG1hdGNoZ3JvdXA9c2lzdV9tYXJrcGFyYSBzdGFydD0iXl9cKFsxLTkqXVx8WzEtOV1cKlwpICIgZW5kPSIkIgogc3luIHJlZ2lvbiBzaXN1X25vcm1hbCBjb250YWlucz1zaXN1X3N0cmlrZW91dCxzaXN1X2lkZW50aWZpZXIsc2lzdV9jb250ZW50X2VuZG5vdGUsc2lzdV9tYXJrX2VuZG5vdGUsc2lzdV9saW5rLHNpc3VfbGlua2VkLHNpc3VfZXJyb3Isc2lzdV9lcnJvcl93c3BhY2UgbWF0Y2hncm91cD1zaXN1X21hcmtwYXJhIHN0YXJ0PSJeXCgjWyAxXVx8XyMgXCkiIGVuZD0iJCIKIHN5biByZWdpb24gc2lzdV9jb21tZW50IG1hdGNoZ3JvdXA9c2lzdV9jb21tZW50IHN0YXJ0PSJeJVx7MSwyXH0gIiBlbmQ9IiQiCi0iJSAgIGZvbnQgZmFjZSBjdXJseSBicmFja2V0cworImZvbnQgZmFjZSBjdXJseSBicmFja2V0cworInN5biByZWdpb24gc2lzdV9pZGVudGlmaWVyIGNvbnRhaW5zPXNpc3Vfc3RyaWtlb3V0LHNpc3VfbnVtYmVyLHNpc3VfY29udHJvbCxzaXN1X2lkZW50aWZpZXIsc2lzdV9lcnJvciBtYXRjaGdyb3VwPXNpc3Vfc2VtIHN0YXJ0PSJcU1wrOnsiIGVuZD0ifTpbXjw+LC4hPzo7IF1cKyIgb25lbGluZQogc3luIHJlZ2lvbiBzaXN1X2NvbnRyb2wgY29udGFpbnM9c2lzdV9zdHJpa2VvdXQsc2lzdV9udW1iZXIsc2lzdV9jb250cm9sLHNpc3VfaWRlbnRpZmllcixzaXN1X2Vycm9yIG1hdGNoZ3JvdXA9c2lzdV9mb250ZmFjZSBzdGFydD0iXCp7IiBlbmQ9In1cKiIKIHN5biByZWdpb24gc2lzdV9jb250cm9sIGNvbnRhaW5zPXNpc3Vfc3RyaWtlb3V0LHNpc3VfbnVtYmVyLHNpc3VfY29udHJvbCxzaXN1X2lkZW50aWZpZXIsc2lzdV9lcnJvciBtYXRjaGdyb3VwPXNpc3VfZm9udGZhY2Ugc3RhcnQ9IiF7IiBlbmQ9In0hIgogc3luIHJlZ2lvbiBzaXN1X3VuZGVybGluZSBjb250YWlucz1zaXN1X3N0cmlrZW91dCxzaXN1X251bWJlcixzaXN1X2NvbnRyb2wsc2lzdV9pZGVudGlmaWVyLHNpc3VfZXJyb3IgbWF0Y2hncm91cD1zaXN1X2ZvbnRmYWNlIHN0YXJ0PSJfeyIgZW5kPSJ9XyIKQEAgLTc0LDQzICs4OCw0NSBAQAogc3luIHJlZ2lvbiBzaXN1X3VuZGVybGluZSBjb250YWlucz1zaXN1X3N0cmlrZW91dCxzaXN1X251bWJlcixzaXN1X2NvbnRyb2wsc2lzdV9pZGVudGlmaWVyLHNpc3VfZXJyb3IgbWF0Y2hncm91cD1zaXN1X2ZvbnRmYWNlIHN0YXJ0PSIreyIgZW5kPSJ9KyIKIHN5biByZWdpb24gc2lzdV9pZGVudGlmaWVyIGNvbnRhaW5zPXNpc3Vfc3RyaWtlb3V0LHNpc3VfbnVtYmVyLHNpc3VfY29udHJvbCxzaXN1X2lkZW50aWZpZXIsc2lzdV9lcnJvciBtYXRjaGdyb3VwPXNpc3VfZm9udGZhY2Ugc3RhcnQ9IlxeeyIgZW5kPSJ9XF4iCiBzeW4gcmVnaW9uIHNpc3VfaWRlbnRpZmllciBjb250YWlucz1zaXN1X3N0cmlrZW91dCxzaXN1X251bWJlcixzaXN1X2NvbnRyb2wsc2lzdV9pZGVudGlmaWVyLHNpc3VfZXJyb3IgbWF0Y2hncm91cD1zaXN1X2ZvbnRmYWNlIHN0YXJ0PSIseyIgZW5kPSJ9LCIKLXN5biByZWdpb24gc2lzdV9zdHJpa2VvdXQgY29udGFpbnM9c2lzdV9lcnJvciBtYXRjaGdyb3VwPXNpc3VfZm9udGZhY2Ugc3RhcnQ9Ii17IiBlbmQ9In0tIiAKK3N5biByZWdpb24gc2lzdV9zdHJpa2VvdXQgY29udGFpbnM9c2lzdV9lcnJvciBtYXRjaGdyb3VwPXNpc3VfZm9udGZhY2Ugc3RhcnQ9Ii17IiBlbmQ9In0tIgogc3luIHJlZ2lvbiBzaXN1X2h0bWwgY29udGFpbnM9c2lzdV9lcnJvciBjb250YWlucz1zaXN1X3N0cmlrZW91dCBtYXRjaGdyb3VwPXNpc3VfY29udGFpbiBzdGFydD0iPGEgaHJlZj1cIi5cey19XCI+IiBlbmQ9IjwvYT4iIG9uZWxpbmUKLSIlICAgc2luZ2xlIHdvcmRzIGJvbGQgaXRhbGljaXNlIGV0Yy4gIndvcmtvbgorInNpbmdsZSB3b3JkcyBib2xkIGl0YWxpY2lzZSBldGMuICJ3b3Jrb24KIHN5biByZWdpb24gc2lzdV9jb250cm9sIGNvbnRhaW5zPXNpc3VfZXJyb3IgbWF0Y2hncm91cD1zaXN1X2NvbnRyb2wgc3RhcnQ9IlwoWyAoXVx8XlwpXCpbXlx8e1xuXH5cXF0iaHM9ZS0xIGVuZD0iXCoiaGU9ZS0wIHNraXA9IlthLXpBLVowLTknXSIgb25lbGluZQogc3luIHJlZ2lvbiBzaXN1X2lkZW50aWZpZXIgY29udGFpbnM9c2lzdV9lcnJvciBtYXRjaGdyb3VwPXNpc3VfY29udGVudF9hbHQgc3RhcnQ9IlwoWyBdXHxeXCkvW157IFx8XG5cXF0iaHM9ZS0xIGVuZD0iL1xbIFwuXF0iIHNraXA9IlthLXpBLVowLTknXSIgb25lbGluZQotIiUgICBtaXNjCisibWlzYwogc3luIHJlZ2lvbiBzaXN1X2lkZW50aWZpZXIgY29udGFpbnM9c2lzdV9lcnJvciBtYXRjaGdyb3VwPXNpc3VfZm9udGZhY2Ugc3RhcnQ9IlxeW14ge1x8XG5cXF0icnM9cysxIGVuZD0iXF5bICwuOzonfSlcXFxuXSIgc2tpcD0iW2EtekEtWjAtOSddIiBvbmVsaW5lCi0iJSAgIG1ldGF2ZXJzZSBodG1sIChmbGFnZ2VkIGFzIGVycm9ycyBmb3IgZmlsZXR5cGUgc2lzdSkKKyJtZXRhdmVyc2UgaHRtbCAoZmxhZ2dlZCBhcyBlcnJvcnMgZm9yIGZpbGV0eXBlIHNpc3UpCiBzeW4gcmVnaW9uIHNpc3VfY29udHJvbCBjb250YWlucz1zaXN1X3N0cmlrZW91dCxzaXN1X251bWJlcixzaXN1X2NvbnRyb2wsc2lzdV9pZGVudGlmaWVyLHNpc3VfZXJyb3Isc2lzdV9tYXJrIG1hdGNoZ3JvdXA9c2lzdV9odG1sIHN0YXJ0PSI8Yj4iIGVuZD0iPC9iPiIgc2tpcD0iXG4iIG9uZWxpbmUKIHN5biByZWdpb24gc2lzdV9jb250cm9sIGNvbnRhaW5zPXNpc3Vfc3RyaWtlb3V0LHNpc3VfbnVtYmVyLHNpc3VfY29udHJvbCxzaXN1X2lkZW50aWZpZXIsc2lzdV9lcnJvcixzaXN1X21hcmsgbWF0Y2hncm91cD1zaXN1X2h0bWwgc3RhcnQ9IjxlbT4iIGVuZD0iPC9lbT4iIHNraXA9IlxuIiBvbmVsaW5lCiBzeW4gcmVnaW9uIHNpc3VfY29udGVudF9hbHQgY29udGFpbnM9c2lzdV9zdHJpa2VvdXQsc2lzdV9udW1iZXIsc2lzdV9jb250cm9sLHNpc3VfaWRlbnRpZmllcixzaXN1X2Vycm9yLHNpc3VfbWFyayBtYXRjaGdyb3VwPXNpc3VfaHRtbCBzdGFydD0iPGk+IiBlbmQ9IjwvaT4iIHNraXA9IlxuIiBvbmVsaW5lCiBzeW4gcmVnaW9uIHNpc3VfY29udGVudF9hbHQgY29udGFpbnM9c2lzdV9zdHJpa2VvdXQsc2lzdV9udW1iZXIsc2lzdV9jb250cm9sLHNpc3VfaWRlbnRpZmllcixzaXN1X2Vycm9yLHNpc3VfbWFyayBtYXRjaGdyb3VwPXNpc3VfaHRtbCBzdGFydD0iPHU+IiBlbmQ9IjwvdT4iIHNraXA9IlxuIiBvbmVsaW5lCiBzeW4gcmVnaW9uIHNpc3VfaWRlbnRpZmllciBjb250YWlucz1zaXN1X3N0cmlrZW91dCxzaXN1X251bWJlcixzaXN1X2NvbnRyb2wsc2lzdV9pZGVudGlmaWVyLHNpc3VfZXJyb3Isc2lzdV9tYXJrIG1hdGNoZ3JvdXA9c2lzdV9odG1sIHN0YXJ0PSI8aW5zPiIgZW5kPSI8L2lucz4iIHNraXA9IlxcXFxcfFxcJyIgb25lbGluZQogc3luIHJlZ2lvbiBzaXN1X2lkZW50aWZpZXIgY29udGFpbnM9c2lzdV9lcnJvciBtYXRjaGdyb3VwPXNpc3VfaHRtbCBzdGFydD0iPGRlbD4iIGVuZD0iPC9kZWw+IiBvbmVsaW5lCi0iJSAgIG1ldGF2ZXJzZSA8Oj4KKyJtZXRhdmVyc2UKIHN5biByZWdpb24gc2lzdV9jb250ZW50X2FsdCBjb250YWlucz1zaXN1X3N0cmlrZW91dCxzaXN1X251bWJlcixzaXN1X2NvbnRyb2wsc2lzdV9pZGVudGlmaWVyLHNpc3VfZXJyb3IgbWF0Y2hncm91cD1zaXN1X2NvbnRhaW4gc3RhcnQ9Ijw6VGFibGUuXHstfT4iIGVuZD0iPDpUYWJsZVstX11lbmQ+Igogc3luIHJlZ2lvbiBzaXN1X2NvbnRlbnRfYWx0IGNvbnRhaW5zPXNpc3VfZXJyb3IgbWF0Y2hncm91cD1zaXN1X2NvbnRhaW4gc3RhcnQ9Ijw6Y29kZT4iIGVuZD0iPDpjb2RlWy1fXWVuZD4iCiBzeW4gcmVnaW9uIHNpc3VfY29udGVudF9hbHQgY29udGFpbnM9c2lzdV9tYXJrX2VuZG5vdGUsc2lzdV9jb250ZW50X2VuZG5vdGUsc2lzdV9saW5rLHNpc3VfbWFyayxzaXN1X3N0cmlrZW91dCxzaXN1X251bWJlcixzaXN1X2NvbnRyb2wsc2lzdV9pZGVudGlmaWVyLHNpc3VfZXJyb3IgbWF0Y2hncm91cD1zaXN1X2NvbnRhaW4gc3RhcnQ9Ijw6YWx0PiIgZW5kPSI8OmFsdFstX11lbmQ+Igogc3luIHJlZ2lvbiBzaXN1X2NvbnRlbnRfYWx0IGNvbnRhaW5zPXNpc3VfbWFya19lbmRub3RlLHNpc3VfY29udGVudF9lbmRub3RlLHNpc3VfbGluayxzaXN1X21hcmssc2lzdV9zdHJpa2VvdXQsc2lzdV9udW1iZXIsc2lzdV9jb250cm9sLHNpc3VfaWRlbnRpZmllcixzaXN1X2Vycm9yIG1hdGNoZ3JvdXA9c2lzdV9jb250YWluIHN0YXJ0PSI8OnBvZW0+IiBlbmQ9Ijw6cG9lbVstX11lbmQ+IgotIiUgNiBFeHBlbnNpdmUgTW9kZQotIiBFeHBlbnNpdmUgTW9kZToKKworIkV4cGVuc2l2ZSBNb2RlOgogaWYgIWV4aXN0cygic2lzdV9ub19leHBlbnNpdmUiKQogZWxzZSAiIG5vdCBFeHBlbnNpdmUKICAgc3luIHJlZ2lvbiAgc2lzdV9jb250ZW50X2FsdCAgbWF0Y2hncm91cD1zaXN1X2NvbnRyb2wgc3RhcnQ9Il5ccypkZWZccyIgbWF0Y2hncm91cD1OT05FIGVuZD0iWz8hXVx8XD4iIHNraXA9IlwuXHxcKDo6XCkiIG9uZWxpbmUKIGVuZGlmICIgRXhwZW5zaXZlPwotIiUgNSBIZWFkZXJzOiBhbmQgSGVhZGluZ3MgKERvY3VtZW50IEluc3RydWN0aW9ucykKKworIkhlYWRlcnMgQW5kIEhlYWRpbmdzOiAoRG9jdW1lbnQgSW5zdHJ1Y3Rpb25zKQogc3luIG1hdGNoIHNpc3VfY29udHJvbCBjb250YWlucz1zaXN1X2Vycm9yLHNpc3VfZXJyb3Jfd3NwYWNlICI0XH4hIFxTXCsiCiBzeW4gcmVnaW9uICBzaXN1X21hcmtwYXJhIGNvbnRhaW5zPXNpc3VfZXJyb3Isc2lzdV9lcnJvcl93c3BhY2Ugc3RhcnQ9Il49YmVnaW4iIGVuZD0iXj1lbmQuKiQiCi0iJSA0IEVycm9ycz8KKworIkVycm9yczoKIHN5biBtYXRjaCBzaXN1X2Vycm9yX3dzcGFjZSBjb250YWlucz1zaXN1X2Vycm9yX3dzcGFjZSAiXlxzXCsiCiBzeW4gbWF0Y2ggc2lzdV9lcnJvcl93c3BhY2UgY29udGFpbnM9c2lzdV9lcnJvcl93c3BhY2UgIlxzXHNcKyIKIHN5biBtYXRjaCBzaXN1X2Vycm9yX3dzcGFjZSBjb250YWlucz1zaXN1X2Vycm9yX3dzcGFjZSAgIiBccyokIgotc3luIG1hdGNoIHNpc3VfZXJyb3IgY29udGFpbnM9c2lzdV9lcnJvcixzaXN1X2Vycm9yX3dzcGFjZSAiW14gKH1daHR0cHNcPzpcU1wrIgogc3luIG1hdGNoIHNpc3VfZXJyb3IgY29udGFpbnM9c2lzdV9lcnJvcl93c3BhY2UgIlx0XCsiCi1zeW4gbWF0Y2ggc2lzdV9lcnJvciBjb250YWlucz1zaXN1X2Vycm9yICJodHRwc1w/OlxTXCtbfT48XSIKK3N5biBtYXRjaCBzaXN1X2Vycm9yIGNvbnRhaW5zPXNpc3VfZXJyb3Isc2lzdV9lcnJvcl93c3BhY2UgIlwoW14gKF1bX1xcXVx8fFteICh9XVwpaHR0cHNcPzpcU1wrIgorc3luIG1hdGNoIHNpc3VfZXJyb3IgY29udGFpbnM9c2lzdV9lcnJvciAiX1w/aHR0cHNcPzpcU1wrW30+PF0iCiBzeW4gbWF0Y2ggc2lzdV9lcnJvciBjb250YWlucz1zaXN1X2Vycm9yICJcKFshKi9fXCssXl1cKXtcKFteKFx9XDEpXVwpXHstfVxuXG4iCi1zeW4gbWF0Y2ggc2lzdV9lcnJvciBjb250YWlucz1zaXN1X2Vycm9yICJeW1wtXH5de1tee11cey19XG5cbiIKK3N5biBtYXRjaCBzaXN1X2Vycm9yIGNvbnRhaW5zPXNpc3VfZXJyb3IgIl5bXH5de1tee11cey19XG5cbiIKIHN5biBtYXRjaCBzaXN1X2Vycm9yIGNvbnRhaW5zPXNpc3VfZXJyb3IgIlxzXCsue3siCiBzeW4gbWF0Y2ggc2lzdV9lcnJvciBjb250YWlucz1zaXN1X2Vycm9yICJeXH5ccyokIgogc3luIG1hdGNoIHNpc3VfZXJyb3IgY29udGFpbnM9c2lzdV9lcnJvciAiXlswLTldXH5ccyokIgpAQCAtMTI0LDQ4ICsxNDAsNTMgQEAKICJlcnJvcnMgZm9yIGZpbGV0eXBlIHNpc3UsIHRob3VnaCBub3QgZXJyb3IgaW4gJ21ldGF2ZXJzZSc6CiBzeW4gbWF0Y2ggc2lzdV9lcnJvciBjb250YWlucz1zaXN1X2Vycm9yLHNpc3VfbWF0Y2gsc2lzdV9zdHJpa2VvdXQsc2lzdV9jb250YWluLHNpc3VfY29udGVudF9hbHQsc2lzdV9tYXJrLHNpc3VfYnJlYWssc2lzdV9udW1iZXIgIjxbYS16QS1aXC9dXCs+Igogc3luIG1hdGNoIHNpc3VfZXJyb3IgICIvXD88XChbYml1XVwpPlteKDwvXDE+KV1cey19XG5cbiIKLSIlIDMgRXJyb3IgRXhjZXB0aW9ucz8KKworIkVycm9yIEV4Y2VwdGlvbnM6CiBzeW4gbWF0Y2ggc2lzdV9jb250cm9sICJcblxuIiAiY29udGFpbnM9QUxMCiBzeW4gbWF0Y2ggc2lzdV9jb250cm9sICIgLy8iCiBzeW4gbWF0Y2ggc2lzdV9lcnJvciAgIiV7Igotc3luIG1hdGNoIHNpc3VfZXJyb3IgIjxicj5odHRwc1w/OlxTXCtcfGh0dHBzXD86XFNcKzxicj4iCi1zeW4gbWF0Y2ggc2lzdV9lcnJvciAiWz48XWh0dHBzXD86XFNcK1x8aHR0cHNcPzpcU1wrWz48XSIKLSIlIDIgRGVmaW5pdGlvbnMgLSBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX3Npc3Vfc3ludGF4X2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfc2lzdV9zeW50YXhfaW5pdHMgPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgotIiUgMSBEZWZpbmVkCi0gIEhpTGluayBzaXN1X25vcm1hbCAgICAgICAgICBOb3JtYWwKLSAgSGlMaW5rIHNpc3VfaGVhZGVyICAgICAgICAgIFByZVByb2MKLSAgSGlMaW5rIHNpc3VfaGVhZGVyX2NvbnRlbnQgIFN0YXRlbWVudAotICBIaUxpbmsgc2lzdV9oZWFkaW5nICAgICAgICAgVGl0bGUKLSAgSGlMaW5rIHNpc3Vfc3RydWN0dXJlICAgICAgIE9wZXJhdG9yCi0gIEhpTGluayBzaXN1X2NvbnRhaW4gICAgICAgICBJbmNsdWRlCi0gIEhpTGluayBzaXN1X21hcmtfZW5kbm90ZSAgICBJbmNsdWRlCi0gIEhpTGluayBzaXN1X2xpbmsgICAgICAgICAgICBOb25UZXh0Ci0gIEhpTGluayBzaXN1X2xpbmtlZCAgICAgICAgICBTdHJpbmcKLSAgSGlMaW5rIHNpc3VfZm9udGZhY2UgICAgICAgIEluY2x1ZGUKLSAgSGlMaW5rIHNpc3Vfc3RyaWtlb3V0ICAgICAgIERpZmZEZWxldGUKLSAgSGlMaW5rIHNpc3VfY29udGVudF9hbHQgICAgIFNwZWNpYWwKLSAgSGlMaW5rIHNpc3VfY29udGVudF9lbmRub3RlIFNwZWNpYWwKLSAgSGlMaW5rIHNpc3VfY29udHJvbCAgICAgICAgIERlZmluZQotICBIaUxpbmsgc2lzdV9vY24gICAgICAgICAgICAgSW5jbHVkZQotICBIaUxpbmsgc2lzdV9udW1iZXIgICAgICAgICAgTnVtYmVyCi0gIEhpTGluayBzaXN1X2lkZW50aWZpZXIgICAgICBGdW5jdGlvbgotICBIaUxpbmsgc2lzdV91bmRlcmxpbmUgICAgICAgVW5kZXJsaW5lZAotICBIaUxpbmsgc2lzdV9tYXJrcGFyYSAgICAgICAgSW5jbHVkZQotICBIaUxpbmsgc2lzdV9tYXJrdGFpbCAgICAgICAgSW5jbHVkZQotICBIaUxpbmsgc2lzdV9tYXJrICAgICAgICAgICAgSWRlbnRpZmllcgotICBIaUxpbmsgc2lzdV9icmVhayAgICAgICAgICAgU3RydWN0dXJlCi0gIEhpTGluayBzaXN1X2h0bWwgICAgICAgICAgICBUeXBlCi0gIEhpTGluayBzaXN1X2FjdGlvbiAgICAgICAgICBJZGVudGlmaWVyCi0gIEhpTGluayBzaXN1X2NvbW1lbnQgICAgICAgICBDb21tZW50Ci0gIEhpTGluayBzaXN1X2Vycm9yX3dzcGFjZSAgICBFcnJvcgotICBIaUxpbmsgc2lzdV9lcnJvciAgICAgICAgICAgRXJyb3IKLSAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitzeW4gbWF0Y2ggc2lzdV9lcnJvciAiPGJyPl9cP2h0dHBzXD86XFNcK1x8X1w/aHR0cHNcPzpcU1wrPGJyPiIKK3N5biBtYXRjaCBzaXN1X2Vycm9yICJbPjxdX1w/aHR0cHNcPzpcU1wrXHxfXD9odHRwc1w/OlxTXCtbPjxdIgorCisiRGVmaW5pdGlvbnMgRGVmYXVsdCBIaWdobGlnaHRpbmc6CitoaSBkZWYgbGluayBzaXN1X25vcm1hbCAgICAgICAgICAgTm9ybWFsCitoaSBkZWYgbGluayBzaXN1X2hlYWRlciAgICAgICAgICAgUHJlUHJvYworaGkgZGVmIGxpbmsgc2lzdV9oZWFkZXJfY29udGVudCAgIFN0YXRlbWVudAoraGkgZGVmIGxpbmsgc2lzdV9oZWFkaW5nICAgICAgICAgIFRpdGxlCitoaSBkZWYgbGluayBzaXN1X3N0cnVjdHVyZSAgICAgICAgT3BlcmF0b3IKK2hpIGRlZiBsaW5rIHNpc3VfY29udGFpbiAgICAgICAgICBJbmNsdWRlCitoaSBkZWYgbGluayBzaXN1X21hcmtfZW5kbm90ZSAgICAgSW5jbHVkZQoraGkgZGVmIGxpbmsgc2lzdV9yZXF1aXJlICAgICAgICAgIE5vblRleHQKK2hpIGRlZiBsaW5rIHNpc3VfbGluayAgICAgICAgICAgICBOb25UZXh0CitoaSBkZWYgbGluayBzaXN1X2xpbmtlZCAgICAgICAgICAgU3RyaW5nCitoaSBkZWYgbGluayBzaXN1X2ZvbnRmYWNlICAgICAgICAgSW5jbHVkZQoraGkgZGVmIGxpbmsgc2lzdV9zdHJpa2VvdXQgICAgICAgIERpZmZEZWxldGUKK2hpIGRlZiBsaW5rIHNpc3VfY29udGVudF9hbHQgICAgICBTcGVjaWFsCitoaSBkZWYgbGluayBzaXN1X3NlbV9jb250ZW50ICAgICAgU3RyaW5nCitoaSBkZWYgbGluayBzaXN1X3NlbV9jb250ZW50ICAgICAgU3BlY2lhbEtleQoraGkgZGVmIGxpbmsgc2lzdV9zZW1fYmxvY2sgICAgICAgIFNwZWNpYWwKK2hpIGRlZiBsaW5rIHNpc3Vfc2VtX21hcmtlciAgICAgICBWaXN1YWwKKyJoaSBkZWYgbGluayBzaXN1X3NlbV9tYXJrZXIgICAgICAgU3RydWN0dXJlCitoaSBkZWYgbGluayBzaXN1X3NlbV9tYXJrZXJfYmxvY2sgTWF0Y2hQYXJlbgoraGkgZGVmIGxpbmsgc2lzdV9zZW1fZXhfbWFya2VyICAgIEZvbGRDb2x1bW4KK2hpIGRlZiBsaW5rIHNpc3Vfc2VtX2V4X21hcmtlcl9ibG9jayBGb2xkZWQKK2hpIGRlZiBsaW5rIHNpc3Vfc2VtX2V4X2NvbnRlbnQgICBDb21tZW50CisiaGkgZGVmIGxpbmsgc2lzdV9zZW1fZXhfY29udGVudCAgIFNwZWNpYWxLZXkKK2hpIGRlZiBsaW5rIHNpc3Vfc2VtX2V4X2Jsb2NrICAgICBDb21tZW50CitoaSBkZWYgbGluayBzaXN1X2NvbnRlbnRfZW5kbm90ZSAgU3BlY2lhbAoraGkgZGVmIGxpbmsgc2lzdV9jb250cm9sICAgICAgICAgIERlZmluZQoraGkgZGVmIGxpbmsgc2lzdV9vY24gICAgICAgICAgICAgIEluY2x1ZGUKK2hpIGRlZiBsaW5rIHNpc3VfbnVtYmVyICAgICAgICAgICBOdW1iZXIKK2hpIGRlZiBsaW5rIHNpc3VfaWRlbnRpZmllciAgICAgICBGdW5jdGlvbgoraGkgZGVmIGxpbmsgc2lzdV91bmRlcmxpbmUgICAgICAgIFVuZGVybGluZWQKK2hpIGRlZiBsaW5rIHNpc3VfbWFya3BhcmEgICAgICAgICBJbmNsdWRlCitoaSBkZWYgbGluayBzaXN1X21hcmt0YWlsICAgICAgICAgSW5jbHVkZQoraGkgZGVmIGxpbmsgc2lzdV9tYXJrICAgICAgICAgICAgIElkZW50aWZpZXIKK2hpIGRlZiBsaW5rIHNpc3VfYnJlYWsgICAgICAgICAgICBTdHJ1Y3R1cmUKK2hpIGRlZiBsaW5rIHNpc3VfaHRtbCAgICAgICAgICAgICBUeXBlCitoaSBkZWYgbGluayBzaXN1X2FjdGlvbiAgICAgICAgICAgSWRlbnRpZmllcgoraGkgZGVmIGxpbmsgc2lzdV9jb21tZW50ICAgICAgICAgIENvbW1lbnQKK2hpIGRlZiBsaW5rIHNpc3VfZXJyb3Jfc2VtX21hcmtlciBFcnJvcgoraGkgZGVmIGxpbmsgc2lzdV9lcnJvcl93c3BhY2UgICAgIEVycm9yCitoaSBkZWYgbGluayBzaXN1X2Vycm9yICAgICAgICAgICAgRXJyb3IKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gInNpc3UiCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC95YW1sLnZpbSBiL3J1bnRpbWUvc3ludGF4L3lhbWwudmltCmluZGV4IDllYmFiNzAuLmFiZGEzZjggMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L3lhbWwudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L3lhbWwudmltCkBAIC0xLDcgKzEsNyBAQAogIiBWaW0gc3ludGF4IGZpbGUKICIgTGFuZ3VhZ2U6ICAgICAgICAgWUFNTCAoWUFNTCBBaW4ndCBNYXJrdXAgTGFuZ3VhZ2UpCiAiIE1haW50YWluZXI6ICAgICAgIE5pa29sYWkgV2VpYnVsbCA8bm93QGJpdHdpLnNlPgotIiBMYXRlc3QgUmV2aXNpb246ICAyMDA2LTA0LTE5CisiIExhdGVzdCBSZXZpc2lvbjogIDIwMDctMDYtMjcKIAogaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCkBAIC0xMCw1MyArMTAsMTQwIEBACiBsZXQgczpjcG9fc2F2ZSA9ICZjcG8KIHNldCBjcG8mdmltCiAKLXN5biBrZXl3b3JkIHlhbWxUb2RvICAgICAgICAgICAgY29udGFpbmVkIFRPRE8gRklYTUUgWFhYIE5PVEUKK3N5biBrZXl3b3JkIHlhbWxUb2RvCisgICAgICBcIGNvbnRhaW5lZAorICAgICAgXCBUT0RPCisgICAgICBcIEZJWE1FCisgICAgICBcIFhYWAorICAgICAgXCBOT1RFCiAKLXN5biByZWdpb24gIHlhbWxDb21tZW50ICAgICAgICAgZGlzcGxheSBvbmVsaW5lIHN0YXJ0PSdcJSheXHxcc1wpIycgZW5kPSckJwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGNvbnRhaW5zPXlhbWxUb2RvLEBTcGVsbAorc3luIHJlZ2lvbiAgeWFtbENvbW1lbnQKKyAgICAgIFwgZGlzcGxheQorICAgICAgXCBvbmVsaW5lCisgICAgICBcIHN0YXJ0PSclKF58cykjJworICAgICAgXCBlbmQ9JyQnCisgICAgICBcIGNvbnRhaW5zPXlhbWxUb2RvLEBTcGVsbAogCi1zeW4gbWF0Y2ggICB5YW1sTm9kZVByb3BlcnR5ICAgICchXCUoIVteXFxeJSAgICAgXVwrXHxbXiFdW146LyAgIF0qXCknCitzeW4gbWF0Y2ggICB5YW1sTm9kZVByb3BlcnR5CisgICAgICBcICchXCUoIVteXFxeJSBcdF1cK1x8W14hXVteOi8gXHRdKlwpJwogCi1zeW4gbWF0Y2ggICB5YW1sQW5jaG9yICAgICAgICAgICcmLlwrJworc3luIG1hdGNoICAgeWFtbEFuY2hvcgorICAgICAgXCAnJi4rJwogCi1zeW4gbWF0Y2ggICB5YW1sQWxpYXMgICAgICAgICAgICdcKi5cKycKK3N5biBtYXRjaCAgIHlhbWxBbGlhcworICAgICAgXCAnKi4rJwogCi1zeW4gbWF0Y2ggICB5YW1sRGVsaW1pdGVyICAgICAgICdbLSw6XScKLXN5biBtYXRjaCAgIHlhbWxCbG9jayAgICAgICAgICAgJ1tcW1xde30+fF0nCi1zeW4gbWF0Y2ggICB5YW1sT3BlcmF0b3IgICAgICAgICdbPystXScKLXN5biBtYXRjaCAgIHlhbWxLZXkgICAgICAgICAgICAgJ1x3XCtcKFxzXCtcd1wrXCkqXHplXHMqOicKK3N5biBtYXRjaCAgIHlhbWxEZWxpbWl0ZXIKKyAgICAgIFwgJ1stLDpdJworc3luIG1hdGNoICAgeWFtbEJsb2NrCisgICAgICBcICdbW117fT58XScKK3N5biBtYXRjaCAgIHlhbWxPcGVyYXRvcgorICAgICAgXCAnWz8rLV0nCitzeW4gbWF0Y2ggICB5YW1sS2V5CisgICAgICBcICd3KyhzK3crKSp6ZXMqOicKIAotc3luIHJlZ2lvbiAgeWFtbFN0cmluZyAgICAgICAgICBzdGFydD0rIisgc2tpcD0rXFwiKyBlbmQ9KyIrCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgY29udGFpbnM9eWFtbEVzY2FwZQotc3luIHJlZ2lvbiAgeWFtbFN0cmluZyAgICAgICAgICBzdGFydD0rJysgc2tpcD0rJycrIGVuZD0rJysKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBjb250YWlucz15YW1sU2luZ2xlRXNjYXBlCi1zeW4gbWF0Y2ggICB5YW1sRXNjYXBlICAgICAgICAgIGNvbnRhaW5lZCBkaXNwbGF5ICtcXFtcXCJhYmVmbnJ0dl4wXyBOTFBdKwotc3luIG1hdGNoICAgeWFtbEVzY2FwZSAgICAgICAgICBjb250YWluZWQgZGlzcGxheSAnXFx4XHhcezJ9Jwotc3luIG1hdGNoICAgeWFtbEVzY2FwZSAgICAgICAgICBjb250YWluZWQgZGlzcGxheSAnXFx1XHhcezR9Jwotc3luIG1hdGNoICAgeWFtbEVzY2FwZSAgICAgICAgICBjb250YWluZWQgZGlzcGxheSAnXFxVXHhcezh9Jworc3luIHJlZ2lvbiAgeWFtbFN0cmluZworICAgICAgXCBzdGFydD0rIisKKyAgICAgIFwgc2tpcD0rXCIrCisgICAgICBcIGVuZD0rIisKKyAgICAgIFwgY29udGFpbnM9eWFtbEVzY2FwZQorc3luIHJlZ2lvbiAgeWFtbFN0cmluZworICAgICAgXCBzdGFydD0rJysKKyAgICAgIFwgc2tpcD0rJycrCisgICAgICBcIGVuZD0rJysKKyAgICAgIFwgY29udGFpbnM9eWFtbFNpbmdsZUVzY2FwZQorc3luIG1hdGNoICAgeWFtbEVzY2FwZQorICAgICAgXCBjb250YWluZWQKKyAgICAgIFwgZGlzcGxheQorICAgICAgXCArXFtcImFiZWZucnR2XjBfIE5MUF0rCitzeW4gbWF0Y2ggICB5YW1sRXNjYXBlCisgICAgICBcIGNvbnRhaW5lZAorICAgICAgXCBkaXNwbGF5CisgICAgICBcICdceHh7Mn0nCitzeW4gbWF0Y2ggICB5YW1sRXNjYXBlCisgICAgICBcIGNvbnRhaW5lZAorICAgICAgXCBkaXNwbGF5CisgICAgICBcICdcdXh7NH0nCitzeW4gbWF0Y2ggICB5YW1sRXNjYXBlCisgICAgICBcIGNvbnRhaW5lZAorICAgICAgXCBkaXNwbGF5CisgICAgICBcICdcVXh7OH0nCisKICIgVE9ETzogaG93IGRvIHdlIGdldCAweDg1LCAweDIwMjgsIGFuZCAweDIwMjkgaW50byB0aGlzPwotc3luIG1hdGNoICAgeWFtbEVzY2FwZSAgICAgICAgICBkaXNwbGF5ICdcXFwlKFxyXG5cfFtcclxuXVwpJwotc3luIG1hdGNoICAgeWFtbFNpbmdsZUVzY2FwZSAgICBjb250YWluZWQgZGlzcGxheSArJycrCisiIFhYWDogRW0sIHdoYXQgaXMgZ29pbmcgb24gaGVyZT8gIFRoaXMgY2FuJ3QgYmUgcmlnaHQuICBMZWF2ZSBvdXQgdW50aWwgd2UKKyIgZmlndXJlIG91dCB3aGF0IHRoaXMgaXMgbWVhbnQgdG8gZG8uCisic3luIG1hdGNoICAgeWFtbEVzY2FwZQorIiAgICAgIFwgY29udGFpbmVkCisiICAgICAgXCBkaXNwbGF5CisiICAgICAgXCAnXCUocm58W3JuXSknCitzeW4gbWF0Y2ggICB5YW1sU2luZ2xlRXNjYXBlCisgICAgICBcIGNvbnRhaW5lZAorICAgICAgXCBkaXNwbGF5CisgICAgICBcICsnJysKIAogIiBUT0RPOiBzZXhhZ2VjaW1hbCBhbmQgZml4ZWQgKDIwOjMwLjE1IGFuZCAxLDIzMC4xNSkKLXN5biBtYXRjaCAgIHlhbWxOdW1iZXIgICAgICAgICAgZGlzcGxheQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcICdcPFsrLV1cPVxkXCtcJShcLlxkXCtcJShbZUVdWystXVw9XGRcK1wpXD1cKVw9Jwotc3luIG1hdGNoICAgeWFtbE51bWJlciAgICAgICAgICBkaXNwbGF5ICcwXG9cKycKLXN5biBtYXRjaCAgIHlhbWxOdW1iZXIgICAgICAgICAgZGlzcGxheSAnMHhceFwrJwotc3luIG1hdGNoICAgeWFtbE51bWJlciAgICAgICAgICBkaXNwbGF5ICcoWystXVw9W2lJXW5mKScKLXN5biBtYXRjaCAgIHlhbWxOdW1iZXIgICAgICAgICAgZGlzcGxheSAnKE5hTiknCitzeW4gbWF0Y2ggICB5YW1sTnVtYmVyCisgICAgICBcIGRpc3BsYXkKKyAgICAgIFwgJ1w8WystXVw9XGRcK1wlKFwuXGRcK1wlKFtlRV1bKy1dXD1cZFwrXClcPVwpXD0nCitzeW4gbWF0Y2ggICB5YW1sTnVtYmVyCisgICAgICBcIGRpc3BsYXkKKyAgICAgIFwgJzBvKycKK3N5biBtYXRjaCAgIHlhbWxOdW1iZXIKKyAgICAgIFwgZGlzcGxheQorICAgICAgXCAnMHh4KycKK3N5biBtYXRjaCAgIHlhbWxOdW1iZXIKKyAgICAgIFwgZGlzcGxheQorICAgICAgXCAnKFsrLV09W2lJXW5mKScKK3N5biBtYXRjaCAgIHlhbWxOdW1iZXIKKyAgICAgIFwgZGlzcGxheQorICAgICAgXCAnKE5hTiknCiAKLXN5biBtYXRjaCAgIHlhbWxDb25zdGFudCAgICAgICAgJ1w8W355bl1cPicKLXN5biBrZXl3b3JkIHlhbWxDb25zdGFudCAgICAgICAgdHJ1ZSBUcnVlIFRSVUUgZmFsc2UgRmFsc2UgRkFMU0UKLXN5biBrZXl3b3JkIHlhbWxDb25zdGFudCAgICAgICAgeWVzIFllcyBvbiBPTiBubyBObyBvZmYgT0ZGCi1zeW4ga2V5d29yZCB5YW1sQ29uc3RhbnQgICAgICAgIG51bGwgTnVsbCBOVUxMIG5pbCBOaWwgTklMCitzeW4gbWF0Y2ggICB5YW1sQ29uc3RhbnQKKyAgICAgIFwgJzxbfnluXT4nCitzeW4ga2V5d29yZCB5YW1sQ29uc3RhbnQKKyAgICAgIFwgdHJ1ZQorICAgICAgXCBUcnVlCisgICAgICBcIFRSVUUKKyAgICAgIFwgZmFsc2UKKyAgICAgIFwgRmFsc2UKKyAgICAgIFwgRkFMU0UKK3N5biBrZXl3b3JkIHlhbWxDb25zdGFudAorICAgICAgXCB5ZXMKKyAgICAgIFwgWWVzCisgICAgICBcIG9uCisgICAgICBcIE9OCisgICAgICBcIG5vCisgICAgICBcIE5vCisgICAgICBcIG9mZgorICAgICAgXCBPRkYKK3N5biBrZXl3b3JkIHlhbWxDb25zdGFudAorICAgICAgXCBudWxsCisgICAgICBcIE51bGwKKyAgICAgIFwgTlVMTAorICAgICAgXCBuaWwKKyAgICAgIFwgTmlsCisgICAgICBcIE5JTAogCi1zeW4gbWF0Y2ggICB5YW1sVGltZXN0YW1wICAgICAgICdcZFxkXGRcZC1cJSgxWzAtMl1cfFxkXCktXCUoM1swLTJdXHwyXGRcfDFcZFx8XGRcKVwlKCBcJShbMDFdXGRcfDJbMC0zXVwpOlswLTVdXGQ6WzAtNV1cZC5cZFxkIFsrLV1cJShbMDFdXGRcfDJbMC0zXVwpOlswLTVdXGRcfHRcJShbMDFdXGRcfDJbMC0zXVwpOlswLTVdXGQ6WzAtNV1cZC5cZFxkWystXVwlKFswMV1cZFx8MlswLTNdXCk6WzAtNV1cZFx8VFwlKFswMV1cZFx8MlswLTNdXCk6WzAtNV1cZDpbMC01XVxkLlxkWlwpXD0nCitzeW4gbWF0Y2ggICB5YW1sVGltZXN0YW1wCisgICAgICBcICdcZFxkXGRcZC1cJSgxWzAtMl1cfFxkXCktXCUoM1swLTJdXHwyXGRcfDFcZFx8XGRcKVwlKCBcJShbMDFdXGRcfDJbMC0zXVwpOlswLTVdXGQ6WzAtNV1cZC5cZFxkIFsrLV1cJShbMDFdXGRcfDJbMC0zXVwpOlswLTVdXGRcfHRcJShbMDFdXGRcfDJbMC0zXVwpOlswLTVdXGQ6WzAtNV1cZC5cZFxkWystXVwlKFswMV1cZFx8MlswLTNdXCk6WzAtNV1cZFx8VFwlKFswMV1cZFx8MlswLTNdXCk6WzAtNV1cZDpbMC01XVxkLlxkWlwpXD0nCiAKLXN5biByZWdpb24gIHlhbWxEb2N1bWVudEhlYWRlciAgc3RhcnQ9Jy0tLScgZW5kPSckJyBjb250YWlucz15YW1sRGlyZWN0aXZlCi1zeW4gbWF0Y2ggICB5YW1sRG9jdW1lbnRFbmQgICAgICdcLlwuXC4nCitzeW4gcmVnaW9uICB5YW1sRG9jdW1lbnRIZWFkZXIKKyAgICAgIFwgc3RhcnQ9Jy0tLScKKyAgICAgIFwgZW5kPSckJworICAgICAgXCBjb250YWlucz15YW1sRGlyZWN0aXZlCitzeW4gbWF0Y2ggICB5YW1sRG9jdW1lbnRFbmQKKyAgICAgIFwgJ1wuXC5cLicKIAotc3luIG1hdGNoICAgeWFtbERpcmVjdGl2ZSAgICAgICBjb250YWluZWQgJyVbXjpdXCs6LlwrJworc3luIG1hdGNoICAgeWFtbERpcmVjdGl2ZQorICAgICAgXCBjb250YWluZWQKKyAgICAgIFwgJyVbXjpdKzouKycKKworc3luIG1hdGNoICAgeWFtbEluZGVudGF0aW9uCisgICAgICBcICdecyonCisgICAgICBcIGNvbnRhaW5zPXlhbWxJbmRlbnRhdGlvbkVycm9yCisKK3N5biBtYXRjaCAgIHlhbWxJbmRlbnRhdGlvbkVycm9yCisgICAgICBcICd0JwogCiBoaSBkZWYgbGluayB5YW1sVG9kbyAgICAgICAgICAgIFRvZG8KIGhpIGRlZiBsaW5rIHlhbWxDb21tZW50ICAgICAgICAgQ29tbWVudApAQCAtNzYsNiArMTYzLDcgQEAKIGhpIGRlZiBsaW5rIHlhbWxOdW1iZXIgICAgICAgICAgTnVtYmVyCiBoaSBkZWYgbGluayB5YW1sQ29uc3RhbnQgICAgICAgIENvbnN0YW50CiBoaSBkZWYgbGluayB5YW1sVGltZXN0YW1wICAgICAgIE51bWJlcgoraGkgZGVmIGxpbmsgeWFtbEluZGVudGF0aW9uRXJyb3IgIEVycm9yCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gInlhbWwiCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvdHV0b3IvQ29udGVudHMuaW5mbyBiL3J1bnRpbWUvdHV0b3IvQ29udGVudHMuaW5mbwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45ZTg1NWM3Ci0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS90dXRvci9Db250ZW50cy5pbmZvCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvdHV0b3IvTWFrZWZpbGUgYi9ydW50aW1lL3R1dG9yL01ha2VmaWxlCmluZGV4IDE4OGM5ODkuLjQ1NTY4YTkgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvdHV0b3IvTWFrZWZpbGUKKysrIGIvcnVudGltZS90dXRvci9NYWtlZmlsZQpAQCAtMSwzNiArMSw2MDIgQEAKLSMgTWFrZWZpbGUgZm9yIHRoZSBWaW0gdHV0b3IuCisjIFRoaXMgTWFrZWZpbGUgaGFzIHR3byBwdXJwb3NlczoKKyMgMS4gU3RhcnRpbmcgdGhlIGNvbXBpbGF0aW9uIG9mIFZpbSBmb3IgVW5peC4KKyMgMi4gQ3JlYXRpbmcgdGhlIHZhcmlvdXMgZGlzdHJpYnV0aW9uIGZpbGVzLgorCisKKyMgMS4gVXNpbmcgdGhpcyBNYWtlZmlsZSB3aXRob3V0IGFuIGFyZ3VtZW50IHdpbGwgY29tcGlsZSBWaW0gZm9yIFVuaXguCiAjCi0jIFRoZSBKYXBhbmVzZSB0dXRvciBleGlzdHMgaW4gdGhyZWUgZW5jb2RpbmdzLiAgVXNlIHRoZSBVVEYtOCB2ZXJzaW9uIGFzIHRoZQotIyBvcmlnaW5hbCBhbmQgY3JlYXRlIHRoZSBvdGhlcnMgd2l0aCBjb252ZXJzaW9uLgorIyAibWFrZSBpbnN0YWxsIiBpcyBhbHNvIHBvc3NpYmxlLgogIwotIyBTaW1pbGFybHkgZm9yIFJ1c3NpYW4gYW5kIEtvcmVhbgorIyBOT1RFOiBJZiB0aGlzIGRvZXNuJ3Qgd29yayBwcm9wZXJseSwgZmlyc3QgY2hhbmdlIGRpcmVjdG9yeSB0byAic3JjIiBhbmQgdXNlCisjIHRoZSBNYWtlZmlsZSB0aGVyZToKKyMJY2Qgc3JjCisjCW1ha2UgW2FyZ3VtZW50c10KKyMgTm90aWNlZCBvbiBBSVggc3lzdGVtcyB3aGVuIHVzaW5nIHRoaXMgTWFrZWZpbGU6IFRyeWluZyB0byBydW4gImNwcm90byIgb3IKKyMgc29tZXRoaW5nIGVsc2UgYWZ0ZXIgVmltIGhhcyBiZWVuIGNvbXBpbGVkLiAgRG9uJ3Qga25vdyB3aHkuLi4KKyMgTm90aWNlZCBvbiBPUy8zOTAgVW5peDogUmVzdGFydHMgY29uZmlndXJlLgorIworIyBUaGUgZmlyc3QgKGRlZmF1bHQpIHRhcmdldCBpcyAiZmlyc3QiLiAgVGhpcyB3aWxsIHJlc3VsdCBpbiBydW5uaW5nCisjICJtYWtlIGZpcnN0Iiwgc28gdGhhdCB0aGUgdGFyZ2V0IGZyb20gInNyYy9hdXRvL2NvbmZpZy5tayIgaXMgcGlja2VkCisjIHVwIHByb3Blcmx5IHdoZW4gY29uZmlnIGRpZG4ndCBydW4geWV0LiAgRG9pbmcgIm1ha2UgYWxsIiBiZWZvcmUgY29uZmlndXJlCisjIGhhcyBydW4gY2FuIHJlc3VsdCBpbiBjb21waWxpbmcgd2l0aCAkKENDKSBlbXB0eS4KIAotYWxsOiB0dXRvci5qYS5zamlzIHR1dG9yLmphLmV1YyBcCi0JdHV0b3Iua28uZXVjIFwKLQl0dXRvci5ydSB0dXRvci5ydS5jcDEyNTEgXAotCXR1dG9yLmdyIHR1dG9yLmdyLmNwNzM3IFwKLQl0dXRvci5odQorZmlyc3Q6CisJQGVjaG8gIlN0YXJ0aW5nIG1ha2UgaW4gdGhlIHNyYyBkaXJlY3RvcnkuIgorCUBlY2hvICJJZiB0aGVyZSBhcmUgcHJvYmxlbXMsIGNkIHRvIHRoZSBzcmMgZGlyZWN0b3J5IGFuZCBydW4gbWFrZSB0aGVyZSIKKwljZCBzcmMgJiYgJChNQUtFKSAkQAogCi10dXRvci5qYS5zamlzOiB0dXRvci5qYS51dGYtOAotCW5rZiAtV1hzIHR1dG9yLmphLnV0Zi04ID4gdHV0b3IuamEuc2ppcworIyBTb21lIG1ha2UgcHJvZ3JhbXMgdXNlIHRoZSBsYXN0IHRhcmdldCBmb3IgdGhlICRAIGRlZmF1bHQ7IHB1dCB0aGUgb3RoZXIKKyMgdGFyZ2V0cyBzZXBhcmF0ZWx5IHRvIGFsd2F5cyBsZXQgJEAgZXhwYW5kIHRvICJmaXJzdCIgYnkgZGVmYXVsdC4KK2FsbCBpbnN0YWxsIHVuaW5zdGFsbCB0b29scyBjb25maWcgY29uZmlndXJlIHJlY29uZmlnIHByb3RvIGRlcGVuZCBsaW50IHRhZ3MgdHlwZXMgdGVzdCB0ZXN0Y2xlYW4gY2xlYW4gZGlzdGNsZWFuOgorCUBlY2hvICJTdGFydGluZyBtYWtlIGluIHRoZSBzcmMgZGlyZWN0b3J5LiIKKwlAZWNobyAiSWYgdGhlcmUgYXJlIHByb2JsZW1zLCBjZCB0byB0aGUgc3JjIGRpcmVjdG9yeSBhbmQgcnVuIG1ha2UgdGhlcmUiCisJY2Qgc3JjICYmICQoTUFLRSkgJEAKIAotdHV0b3IuamEuZXVjOiB0dXRvci5qYS51dGYtOAotCW5rZiAtV1hlIHR1dG9yLmphLnV0Zi04ID4gdHV0b3IuamEuZXVjCiAKLXR1dG9yLmtvLmV1YzogdHV0b3Iua28udXRmLTgKLQlpY29udiAtZiBVVEYtOCAtdCBFVUMtS1IgdHV0b3Iua28udXRmLTggPiB0dXRvci5rby5ldWMKKyMgMi4gQ3JlYXRlIHRoZSB2YXJpb3VzIGRpc3RyaWJ1dGlvbnM6CisjCisjIFRBUkdFVAlQUk9EVUNFUwkJQ09OVEFJTlMKKyMgdW5peGFsbAl2aW0tIy4jLnRhci5iejIJCVJ1bnRpbWUgZmlsZXMgYW5kIFNvdXJjZXMgZm9yIFVuaXgKKyMKKyMgZXh0cmEJCXZpbS0jLiMtZXh0cmEudGFyLmd6CUV4dHJhIHNvdXJjZSBhbmQgcnVudGltZSBmaWxlcworIyBsYW5nCQl2aW0tIy4jLWxhbmcudGFyLmd6CW11bHRpLWxhbmd1YWdlIGZpbGVzCisjCisjIGh0bWwJCXZpbSMjaHRtbC56aXAJCUhUTUwgZG9jcworIworIyBhbWlzcmMJdmltIyNzcmMudGd6CQlzb3VyY2VzIGZvciBBbWlnYQorIyBhbWlydAkJdmltIyNydC50Z3oJCXJ1bnRpbWUgZm9yIEFtaWdhCisjIGFtaWJpbgl2aW0jI2Jpbi50Z3oJCWJpbmFyeSBmb3IgQW1pZ2EKKyMKKyMgZG9zc3JjCXZpbSMjc3JjLnppcAkJc291cmNlcyBmb3IgTVMtRE9TCisjIGRvc3J0CQl2aW0jI3J0LnppcAkJcnVudGltZSBmb3IgTVMtRE9TCisjIGRvc2Jpbgl2aW0jI2QxNi56aXAJCWJpbmFyeSBmb3IgTVMtRE9TIDE2IGJpdHMKKyMJCXZpbSMjZDMyLnppcAkJYmluYXJ5IGZvciBNUy1ET1MgMzIgYml0cworIwkJdmltIyN3MzIuemlwCQliaW5hcnkgZm9yIFdpbjMyCisjCQlndmltIyMuemlwCQliaW5hcnkgZm9yIEdVSSBXaW4zMgorIwkJZ3ZpbSMjb2xlLnppcAkJT0xFIGV4ZSBmb3IgV2luMzIgR1VJCisjCQlndmltIyNfcy56aXAJCWV4ZSBmb3IgV2luMzJzIEdVSQorIyBkb3NsYW5nCXZpbSMjbGFuZy56aXAJCWxhbmd1YWdlIGZpbGVzIGZvciBXaW4zMgorIworIyBvczJiaW4JdmltIyNvczIuemlwCQliaW5hcnkgZm9yIE9TLzIKKyMJCQkJCSh1c2UgUlQgZnJvbSBkb3NydCkKKyMKKyMgZmFyc2kJCWZhcnNpIyMuemlwCQlGYXJzaSBmb250cworIworIyAgICBBbGwgb3V0cHV0IGZpbGVzIGFyZSBjcmVhdGVkIGluIHRoZSAiZGlzdCIgZGlyZWN0b3J5LiAgRXhpc3RpbmcgZmlsZXMgYXJlCisjICAgIG92ZXJ3cml0dGVuIQorIyAgICBUbyBkbyBhbGwgdGhpcyB5b3UgbmVlZCB0aGUgdW5peCwgZXh0cmEgYW5kIGxhbmcgYXJjaGl2ZXMsIGFuZAorIyAgICBjb21waWxlZCBiaW5hcmllcy4KKyMgICAgQmVmb3JlIGNyZWF0aW5nIGFuIGFyY2hpdmUgZmlyc3QgZGVsZXRlIGFsbCBiYWNrdXAgZmlsZXMsICoub3JpZywgZXRjLgogCi10dXRvci5ydTogdHV0b3IucnUudXRmLTgKLQlpY29udiAtZiBVVEYtOCAtdCBLT0k4LVIgdHV0b3IucnUudXRmLTggPiB0dXRvci5ydQorTUFKT1IgPSA3CitNSU5PUiA9IDJhCiAKLXR1dG9yLnJ1LmNwMTI1MTogdHV0b3IucnUudXRmLTgKLQlpY29udiAtZiBVVEYtOCAtdCBjcDEyNTEgdHV0b3IucnUudXRmLTggPiB0dXRvci5ydS5jcDEyNTEKKyMgVW5jb21tZW50IHRoaXMgbGluZSBpZiB0aGUgV2luMzJzIHZlcnNpb24gaXMgdG8gYmUgaW5jbHVkZWQuCitET1NCSU5fUyA9ICBkb3NiaW5fcwogCi10dXRvci5ncjogdHV0b3IuZ3IudXRmLTgKLQlpY29udiAtZiBVVEYtOCAtdCBJU08tODg1OS03IHR1dG9yLmdyLnV0Zi04ID4gdHV0b3IuZ3IKKyMgQ0hFQ0tMSVNUIGZvciBjcmVhdGluZyBhIG5ldyB2ZXJzaW9uOgorIworIyAtIFVwZGF0ZSBWaW0gdmVyc2lvbiBudW1iZXIuICBGb3IgYSB0ZXN0IHZlcnNpb24gaW46IHNyYy92ZXJzaW9uLmgsIENvbnRlbnRzLAorIyAgIE1BSk9SL01JTk9SIGFib3ZlLCBWSU1NQUpPUiBhbmQgVklNTUlOT1IgaW4gc3JjL01ha2VmaWxlLCBSRUFETUUqLnR4dCwKKyMgICBydW50aW1lL2RvYy8qLnR4dCBhbmQgbnNpcy9ndmltLm5zaS4gT3RoZXIgdGhpbmdzIGluIFJFQURNRV9vczIudHh0LiAgRm9yIGEKKyMgICBtaW5vci9tYWpvciB2ZXJzaW9uOiBzcmMvR3ZpbUV4dC9HdmltRXh0LnJlZywgc3JjL3ZpbS5kZWYsIHNyYy92aW0xNi5kZWYuCisjIC0gQ29ycmVjdCBpbmNsdWRlZF9wYXRjaGVzW10gaW4gc3JjL3ZlcnNpb24uYy4KKyMgLSBDb21waWxlIFZpbSB3aXRoIEdUSywgUGVybCwgUHl0aG9uLCBUQ0wsIFJ1YnksIE1ac2NoZW1lIChpZiB5b3UgY2FuIG1ha2UgaXQKKyMgICB3b3JrKSwgQ3Njb3BlIGFuZCAiaHVnZSIgZmVhdHVyZXMuICBFeGNsdWRlIHdvcmtzaG9wIGFuZCBTTmlGRi4KKyMgLSBXaXRoIHRoZXNlIGZlYXR1cmVzOiAibWFrZSBwcm90byIgKHJlcXVpcmVzIGNwcm90byBhbmQgTW90aWYgaW5zdGFsbGVkOworIyAgIGlnbm9yZSB3YXJuaW5ncyBmb3IgbWlzc2luZyBpbmNsdWRlIGZpbGVzLCBmaXggcHJvYmxlbXMgZm9yIHN5bnRheCBlcnJvcnMpLgorIyAtIFdpdGggdGhlc2UgZmVhdHVyZXM6ICJtYWtlIGRlcGVuZCIgKHdvcmtzIGJlc3Qgd2l0aCBnY2MpLgorIyAtICJtYWtlIGxpbnQiIGFuZCBjaGVjayB0aGUgb3V0cHV0IChpZ25vcmUgR1RLIHdhcm5pbmdzKS4KKyMgLSBFbmFibGUgdGhlIGVmZW5jZSBsaWJyYXJ5IGluICJzcmMvTWFrZWZpbGUiIGFuZCBydW4gIm1ha2UgdGVzdCIuICBEaXNhYmxlCisjICAgUHl0aG9uIGFuZCBSdWJ5IHRvIGF2b2lkIHRyb3VibGUgd2l0aCB0aHJlYWRzIChlZmVuY2UgaXMgbm90IHRocmVhZHNhZmUpLgorIyAtIENoZWNrIGZvciBtaXNzaW5nIGVudHJpZXMgaW4gcnVudGltZS9tYWtlbWVudS52aW0gKHdpdGggY2hlY2ttZW51IHNjcmlwdCkuCisjIC0gQ2hlY2sgZm9yIG1pc3Npbmcgb3B0aW9ucyBpbiBydW50aW1lL29wdHdpbi52aW0gZXQgYWwuICh3aXRoIGNoZWNrLnZpbSkuCisjIC0gRG8gIm1ha2UgbWVudSIgdG8gdXBkYXRlIHRoZSBydW50aW1lL3N5bm1lbnUudmltIGZpbGUuCisjIC0gQWRkIHJlbWFya3MgZm9yIGNoYW5nZXMgdG8gcnVudGltZS9kb2MvdmVyc2lvbjcudHh0LgorIyAtIENoZWNrIHRoYXQgcnVudGltZS9kb2MvaGVscC50eHQgZG9lc24ndCBjb250YWluIGVudHJpZXMgaW4gIkxPQ0FMCisjICAgQURESVRJT05TIi4KKyMgLSBJbiBydW50aW1lL2RvYyBydW4gIm1ha2UiIGFuZCAibWFrZSBodG1sIiB0byBjaGVjayBmb3IgZXJyb3JzLgorIyAtIENoZWNrIGlmIHNyYy9NYWtlZmlsZSBhbmQgc3JjL2ZlYXR1cmUuaCBkb24ndCBjb250YWluIGFueSBwZXJzb25hbAorIyAgIHByZWZlcmVuY2VzIG9yIHRoZSBHVEssIFBlcmwsIGV0Yy4gbWVudGlvbmVkIGFib3ZlLgorIyAtIENoZWNrIGZpbGUgcHJvdGVjdGlvbnMgdG8gYmUgIjY0NCIgZm9yIHRleHQgYW5kICI3NTUiIGZvciBleGVjdXRhYmxlcyAocnVuCisjICAgdGhlICJjaGVjayIgc2NyaXB0KS4KKyMgLSBDaGVjayBjb21waWxpbmcgb24gQW1pZ2EsIE1TLURPUyBhbmQgTVMtV2luZG93cy4KKyMgLSBEZWxldGUgYWxsICp+LCAqLnN3PywgKi5vcmlnLCAqLnJlaiBmaWxlcworIyAtICJtYWtlIHVuaXhhbGwiLCAibWFrZSBleHRyYSIsICJtYWtlIGxhbmciLCAibWFrZSBodG1sIgorIyAtIE1ha2UgZGlmZiBmaWxlcyBhZ2FpbnN0IHRoZSBwcmV2aW91cyByZWxlYXNlOiAibWFrZWRpZmY3IDcuMSA3LjIiCisjCisjIEFtaWdhOgorIyAtICJtYWtlIGFtaXNyYyIsIG1vdmUgdGhlIGFyY2hpdmUgdG8gdGhlIEFtaWdhIGFuZCBjb21waWxlOgorIyAgICJtYWtlIC1mIE1ha2VfbWFueC5tYWsiICh3aWxsIHVzZSAiYmlnIiBmZWF0dXJlcyBieSBkZWZhdWx0KS4KKyMgLSBSdW4gdGhlIHRlc3RzOiAibWFrZSAtZiBNYWtlX21hbngubWFrIHRlc3QiCisjIC0gUGxhY2UgdGhlIGV4ZWN1dGFibGVzIFZpbSBhbmQgWHhkIGluIHRoaXMgZGlyZWN0b3J5IChzZXQgdGhlIGV4ZWN1dGFibGUKKyMgICBmbGFnKS4KKyMgLSAibWFrZSBhbWlydCIsICJtYWtlIGFtaWJpbiIuCisjCisjIFBDOgorIyAtICJtYWtlIGRvc3NyYyIgYW5kICJtYWtlIGRvc3J0Ii4gIFVucGFjayB0aGUgYXJjaGl2ZXMgb24gYSBQQy4KKyMgMTYgYml0IERPUyB2ZXJzaW9uOgorIyAtIFNldCBlbnZpcm9ubWVudCBmb3IgY29tcGlsaW5nIHdpdGggQm9ybGFuZCBDKysgMy4xLgorIyAtICJibWFrZSAtZiBNYWtlX2JjMy5tYWsgQk9SPUU6XGJvcmxhbmRjIiAoY29tcGlsaW5nIHh4ZCBtaWdodCBmYWlsLCBpbiB0aGF0CisjICAgY2FzZSBzZXQgZW52aXJvbm1lbnQgZm9yIGNvbXBpbGluZyB3aXRoIEJvcmxhbmQgQysrIDQuMCBhbmQgZG8KKyMgICAibWFrZSAtZiBtYWtlX2JjMy5tYWsgQk9SPUU6XEJDNCB4eGQveHhkLmV4ZSIpLgorIyAgIE5PVEU6IHRoaXMgY3VycmVudGx5IGZhaWxzIGJlY2F1c2UgVmltIGlzIHRvbyBiaWcuCisjIC0gIm1ha2UgdGVzdCIgYW5kIGNoZWNrIHRoZSBvdXRwdXQuCisjIC0gUmVuYW1lIHRoZSBleGVjdXRhYmxlcyB0byAidmltZDE2LmV4ZSIsICJ4eGRkMTYuZXhlIiwgImluc3RhbGxkMTYuZXhlIiBhbmQKKyMgICAidW5pbnN0YWxkMTYuZXhlIi4KKyMgMzIgYml0IERPUyB2ZXJzaW9uOgorIyAtIFNldCBlbnZpcm9ubWVudCBmb3IgY29tcGlsaW5nIHdpdGggREpHUFA7ICJnbWFrZSAtZiBNYWtlX2RqZy5tYWsiLgorIyAtICJybSB0ZXN0ZGlyLyoub3V0IiwgImdtYWtlIC1mIE1ha2VfZGpnLm1hayB0ZXN0IiBhbmQgY2hlY2sgdGhlIG91dHB1dCBmb3IKKyMgICAiQUxMIERPTkUiLgorIyAtIFJlbmFtZSB0aGUgZXhlY3V0YWJsZXMgdG8gInZpbWQzMi5leGUiLCAieHhkZDMyLmV4ZSIsICJpbnN0YWxsZDMyLmV4ZSIgYW5kCisjICAgInVuaW5zdGFsZDMyLmV4ZSIuCisjIFdpbjMyIGNvbnNvbGUgdmVyc2lvbjoKKyMgLSBTZXQgZW52aXJvbm1lbnQgZm9yIFZpc3VhbCBDKysgMjAwOCBFeHByZXNzIEVkaXRpb246ICJtc3ZjMjAwOC5iYXQiLiAgT3IsCisjICAgd2hlbiB1c2luZyB0aGUgVmlzdWFsIEMrKyBUb29sa2l0IDIwMDM6ICJtc3Zjc2V0dXAuYmF0IiAoYWRqdXN0IHRoZSBwYXRocworIyAgIHdoZW4gbmVjZXNzYXJ5KS4KKyMgLSAibm1ha2UgLWYgTWFrZV9tdmMubWFrIgorIyAtICJybSB0ZXN0ZGlyLyoub3V0IiwgIm5tYWtlIC1mIE1ha2VfbXZjLm1hayB0ZXN0IiBhbmQgY2hlY2sgdGhlIG91dHB1dC4KKyMgLSBSZW5hbWUgdGhlIGV4ZWN1dGFibGVzIHRvICJ2aW13MzIuZXhlIiwgInh4ZHczMi5leGUiLgorIyAtIFJlbmFtZSB2aW0ucGRiIHRvIHZpbXczMi5wZGIuCisjIC0gV2hlbiBidWlsZGluZyB0aGUgV2luMzJzIHZlcnNpb24gbGF0ZXIsIGRlbGV0ZSB2aW1ydW4uZXhlLCBpbnN0YWxsLmV4ZSBhbmQKKyMgICB1bmluc3RhbC5leGUuICBPdGhlcndpc2UgcmVuYW1lIGV4ZWN1dGFibGVzIHRvIGluc3RhbGx3MzIuZXhlIGFuZAorIyAgIHVuaW5zdGFsdzMyLmV4ZS4KKyMgV2luMzIgR1VJIHZlcnNpb246CisjIC0gIm5tYWtlIC1mIE1ha2VfbXZjLm1hayBHVUk9eWVzLgorIyAtIG1vdmUgImd2aW0uZXhlIiB0byBoZXJlIChvdGhlcndpc2UgdGhlIE9MRSB2ZXJzaW9uIHdpbGwgb3ZlcndyaXRlIGl0KS4KKyMgLSBNb3ZlIGd2aW0ucGRiIHRvIGhlcmUuCisjIC0gRGVsZXRlIHZpbXJ1bi5leGUsIGluc3RhbGwuZXhlIGFuZCB1bmluc3RhbC5leGUuCisjIC0gQ29weSAiR3ZpbUV4dC9ndmltZXh0LmRsbCIgdG8gaGVyZS4KKyMgV2luMzIgR1VJIHZlcnNpb24gd2l0aCBPTEUsIFBFUkwsIFRDTCwgUFlUSE9OIGFuZCBkeW5hbWljIElNRToKKyMgLSBSdW4gc3JjL2JpZ3ZpbS5iYXQgKCJubWFrZSAtZiBNYWtlX212Yy5tYWsgR1VJPXllcyBPTEU9eWVzIElNRT15ZXMgLi4uKQorIyAtIFJlbmFtZSAiZ3ZpbS5leGUiIHRvICJndmltX29sZS5leGUiLgorIyAtIFJlbmFtZSBndmltLnBkYiB0byAiZ3ZpbV9vbGUucGRiIi4KKyMgLSBEZWxldGUgaW5zdGFsbC5leGUgYW5kIHVuaW5zdGFsLmV4ZS4KKyMgLSBJZiBidWlsZGluZyB0aGUgV2luMzJzIHZlcnNpb24gZGVsZXRlIHZpbXJ1bi5leGUuCisjIFdpbjMycyBHVUkgdmVyc2lvbjoKKyMgLSBTZXQgZW52aXJvbm1lbnQgZm9yIFZpc3VhbCBDKysgNC4xIChyZXF1aXJlcyBhIG5ldyBjb25zb2xlIHdpbmRvdykKKyMgLSAidmN2YXJzMzIiICh1c2UgdGhlIHBhdGggZm9yIFZDIDQuMSBlOlxtc2RldlxiaW4pCisjIC0gIm5tYWtlIC1mIE1ha2VfbXZjLm1hayBHVUk9eWVzIElOVEw9bm8gY2xlYW4iICh1c2UgdGhlIHBhdGggZm9yIFZDIDQuMSkKKyMgLSAibm1ha2UgLWYgTWFrZV9tdmMubWFrIEdVST15ZXMgSU5UTD1ubyIgKHVzZSB0aGUgcGF0aCBmb3IgVkMgNC4xKQorIyAtIFJlbmFtZSAiZ3ZpbS5leGUiIHRvICJndmltX3czMnMuZXhlIi4KKyMgLSBSZW5hbWUgImluc3RhbGwuZXhlIiB0byAiaW5zdGFsbHczMi5leGUiCisjIC0gUmVuYW1lICJ1bmluc3RhbC5leGUiIHRvICJ1bmluc3RhbHczMi5leGUiCisjIC0gVGhlIHByb2R1Y2VkIHVuaW5zdGFsdzMyLmV4ZSBhbmQgdmltcnVuLmV4ZSBhcmUgdXNlZC4KKyMgQ3JlYXRlIHRoZSBhcmNoaXZlczoKKyMgLSBDb3B5IGFsbCB0aGUgIiouZXhlIiBmaWxlcyB0byB3aGVyZSB0aGlzIE1ha2VmaWxlIGlzLgorIyAtIENvcHkgYWxsIHRoZSAiKi5wZGIiIGZpbGVzIHRvIHdoZXJlIHRoaXMgTWFrZWZpbGUgaXMuCisjIC0gIm1ha2UgZG9zYmluIi4KKyMgLSBSdW4gbWFrZSBvbiBVbml4IHRvIHVwZGF0ZSB0aGUgIi5tbyIgZmlsZXMuCisjIC0gIm1ha2UgZG9zbGFuZyIuCisjIE5TSVMgc2VsZiBpbnN0YWxsaW5nIGV4ZToKKyMgLSBVbnBhY2sgdGhlIGRvc2xhbmcgYXJjaGl2ZSBvbiB0aGUgUEMuCisjIC0gTWFrZSBzdXJlIGd2aW1fb2xlLmV4ZSwgdmltZDMyLmV4ZSwgdmltdzMyLmV4ZSwgaW5zdGFsbHczMi5leGUsCisjICAgdW5pbnN0YWx3MzIuZXhlIGFuZCB4eGR3MzIuZXhlIGhhdmUgYmVlbiBidWlsZCBhcyBtZW50aW9uZWQgYWJvdmUuCisjIC0gcHV0IGd2aW1leHQuZGxsIGluIHNyYy9HdmltRXh0IGFuZCBWaXNWaW0uZGxsIGluIHNyYy9WaXNWaW0gKGdldCB0aGVtCisjICAgZnJvbSBhIGJpbmFyeSBhcmNoaXZlIG9yIGJ1aWxkIHRoZW0pCisjICAgTm90ZTogVmlzVmltIG5lZWRzIHRvIGJlIGJ1aWxkIHdpdGggTVNWQyA1LCBuZXdlciB2ZXJzaW9ucyBkb24ndCB3b3JrLgorIyAtIG1ha2Ugc3VyZSB0aGVyZSBpcyBhIGRpZmYuZXhlIHR3byBsZXZlbHMgdXAKKyMgLSBnbyB0byAuLi9uc2lzIGFuZCBkbyAibWFrZW5zaXMgZ3ZpbS5uc2kiLgorIyAtIENvcHkgZ3ZpbSMjLmV4ZSB0byB0aGUgZGlzdCBkaXJlY3RvcnkuCisjCisjIE9TLzI6CisjIC0gVW5wYWNrIHRoZSBVbml4ICJzcmMiLCAiZXh0cmEiIGFuZCAicnQiIGFyY2hpdmVzLgorIyAtICJtYWtlIC1mIE1ha2Vfb3MyLm1hayIuCisjIC0gUmVuYW1lIHRoZSBleGVjdXRhYmxlcyB0byB2aW1vczIuZXhlLCB4eGRvczIuZXhlIGFuZCB0ZWVvczIuZXhlIGFuZCBjb3B5CisjICAgdGhlbSB0byBoZXJlLgorIyAtICJtYWtlIG9zMmJpbiIuCiAKLXR1dG9yLmdyLmNwNzM3OiB0dXRvci5nci51dGYtOAotCWljb252IC1mIFVURi04IC10IGNwNzM3IHR1dG9yLmdyLnV0Zi04ID4gdHV0b3IuZ3IuY3A3MzcKK1ZJTVZFUgk9IHZpbS0kKE1BSk9SKS4kKE1JTk9SKQorVkVSU0lPTiA9ICQoTUFKT1IpJChNSU5PUikKK1ZET1QJPSAkKE1BSk9SKS4kKE1JTk9SKQorVklNUlRESVIgPSB2aW0kKFZFUlNJT04pCiAKLXR1dG9yLmh1OiB0dXRvci5odS51dGYtOAotCWljb252IC1mIFVURi04IC10IElTTy04ODU5LTIgdHV0b3IuaHUudXRmLTggPiB0dXRvci5odQorIyBWaW0gdXNlZCBmb3IgY29udmVyc2lvbiBmcm9tICJ1bml4IiB0byAiZG9zIgorVklNCT0gdmltCisKKyMgSG93IHRvIGluY2x1ZGUgRmlsZWxpc3QgZGVwZW5kcyBvbiB0aGUgdmVyc2lvbiBvZiAibWFrZSIgeW91IGhhdmUuCisjIElmIHRoZSBjdXJyZW50IGNob2ljZSBkb2Vzbid0IHdvcmssIHRyeSB0aGUgb3RoZXIgb25lLgorCitpbmNsdWRlIEZpbGVsaXN0CisjLmluY2x1ZGUgIkZpbGVsaXN0IgorCisKKyMgQWxsIG91dHB1dCBpcyBwdXQgaW4gdGhlICJkaXN0IiBkaXJlY3RvcnkuCitkaXN0OgorCW1rZGlyIGRpc3QKKworIyBDbGVhbiB1cCBzb21lIGZpbGVzIHRvIGF2b2lkIHRoZXkgYXJlIGluY2x1ZGVkLgorcHJlcGFyZToKKwlpZiB0ZXN0IC1mIHJ1bnRpbWUvZG9jL3VnYW5kYS5uc2lzLnR4dDsgdGhlbiBcCisJCXJtIHJ1bnRpbWUvZG9jL3VnYW5kYS5uc2lzLnR4dDsgZmkKKworIyBGb3IgdGhlIHppcCBmaWxlcyB3ZSBuZWVkIHRvIGNyZWF0ZSBhIGZpbGUgd2l0aCB0aGUgY29tbWVudCBsaW5lCitkaXN0L2NvbW1lbnQ6CisJbWtkaXIgZGlzdC9jb21tZW50CisKK0NPTU1FTlRfUlQgPSBjb21tZW50LyQoVkVSU0lPTiktcnQKK0NPTU1FTlRfUlQxID0gY29tbWVudC8kKFZFUlNJT04pLXJ0MQorQ09NTUVOVF9SVDIgPSBjb21tZW50LyQoVkVSU0lPTiktcnQyCitDT01NRU5UX0QxNiA9IGNvbW1lbnQvJChWRVJTSU9OKS1iaW4tZDE2CitDT01NRU5UX0QzMiA9IGNvbW1lbnQvJChWRVJTSU9OKS1iaW4tZDMyCitDT01NRU5UX1czMiA9IGNvbW1lbnQvJChWRVJTSU9OKS1iaW4tdzMyCitDT01NRU5UX0dWSU0gPSBjb21tZW50LyQoVkVSU0lPTiktYmluLWd2aW0KK0NPTU1FTlRfT0xFID0gY29tbWVudC8kKFZFUlNJT04pLWJpbi1vbGUKK0NPTU1FTlRfVzMyUyA9IGNvbW1lbnQvJChWRVJTSU9OKS1iaW4tdzMycworQ09NTUVOVF9TUkMgPSBjb21tZW50LyQoVkVSU0lPTiktc3JjCitDT01NRU5UX09TMiA9IGNvbW1lbnQvJChWRVJTSU9OKS1iaW4tb3MyCitDT01NRU5UX0hUTUwgPSBjb21tZW50LyQoVkVSU0lPTiktaHRtbAorQ09NTUVOVF9GQVJTSSA9IGNvbW1lbnQvJChWRVJTSU9OKS1mYXJzaQorQ09NTUVOVF9MQU5HID0gY29tbWVudC8kKFZFUlNJT04pLWxhbmcKKworZGlzdC8kKENPTU1FTlRfUlQpOiBkaXN0L2NvbW1lbnQKKwllY2hvICJWaW0gLSBWaSBJTXByb3ZlZCAtIHYkKFZET1QpIHJ1bnRpbWUgZmlsZXMgZm9yIE1TLURPUyBhbmQgTVMtV2luZG93cyIgPiBkaXN0LyQoQ09NTUVOVF9SVCkKKworZGlzdC8kKENPTU1FTlRfUlQxKTogZGlzdC9jb21tZW50CisJZWNobyAiVmltIC0gVmkgSU1wcm92ZWQgLSB2JChWRE9UKSBydW50aW1lIGZpbGVzIChQQVJUIDEpIGZvciBNUy1ET1MgYW5kIE1TLVdpbmRvd3MiID4gZGlzdC8kKENPTU1FTlRfUlQxKQorCitkaXN0LyQoQ09NTUVOVF9SVDIpOiBkaXN0L2NvbW1lbnQKKwllY2hvICJWaW0gLSBWaSBJTXByb3ZlZCAtIHYkKFZET1QpIHJ1bnRpbWUgZmlsZXMgKFBBUlQgMikgZm9yIE1TLURPUyBhbmQgTVMtV2luZG93cyIgPiBkaXN0LyQoQ09NTUVOVF9SVDIpCisKK2Rpc3QvJChDT01NRU5UX0QxNik6IGRpc3QvY29tbWVudAorCWVjaG8gIlZpbSAtIFZpIElNcHJvdmVkIC0gdiQoVkRPVCkgYmluYXJpZXMgZm9yIE1TLURPUyAxNiBiaXQgcmVhbCBtb2RlIiA+IGRpc3QvJChDT01NRU5UX0QxNikKKworZGlzdC8kKENPTU1FTlRfRDMyKTogZGlzdC9jb21tZW50CisJZWNobyAiVmltIC0gVmkgSU1wcm92ZWQgLSB2JChWRE9UKSBiaW5hcmllcyBmb3IgTVMtRE9TIDMyIGJpdCBwcm90ZWN0ZWQgbW9kZSIgPiBkaXN0LyQoQ09NTUVOVF9EMzIpCisKK2Rpc3QvJChDT01NRU5UX1czMik6IGRpc3QvY29tbWVudAorCWVjaG8gIlZpbSAtIFZpIElNcHJvdmVkIC0gdiQoVkRPVCkgYmluYXJpZXMgZm9yIE1TLVdpbmRvd3MgTlQvOTUiID4gZGlzdC8kKENPTU1FTlRfVzMyKQorCitkaXN0LyQoQ09NTUVOVF9HVklNKTogZGlzdC9jb21tZW50CisJZWNobyAiVmltIC0gVmkgSU1wcm92ZWQgLSB2JChWRE9UKSBHVUkgYmluYXJpZXMgZm9yIE1TLVdpbmRvd3MgTlQvOTUiID4gZGlzdC8kKENPTU1FTlRfR1ZJTSkKKworZGlzdC8kKENPTU1FTlRfT0xFKTogZGlzdC9jb21tZW50CisJZWNobyAiVmltIC0gVmkgSU1wcm92ZWQgLSB2JChWRE9UKSBNUy1XaW5kb3dzIEdVSSBiaW5hcmllcyB3aXRoIE9MRSBzdXBwb3J0IiA+IGRpc3QvJChDT01NRU5UX09MRSkKKworZGlzdC8kKENPTU1FTlRfVzMyUyk6IGRpc3QvY29tbWVudAorCWVjaG8gIlZpbSAtIFZpIElNcHJvdmVkIC0gdiQoVkRPVCkgR1VJIGJpbmFyaWVzIGZvciBNUy1XaW5kb3dzIDMuMS8zLjExIiA+IGRpc3QvJChDT01NRU5UX1czMlMpCisKK2Rpc3QvJChDT01NRU5UX1NSQyk6IGRpc3QvY29tbWVudAorCWVjaG8gIlZpbSAtIFZpIElNcHJvdmVkIC0gdiQoVkRPVCkgc291cmNlcyBmb3IgTVMtRE9TIGFuZCBNUy1XaW5kb3dzIiA+IGRpc3QvJChDT01NRU5UX1NSQykKKworZGlzdC8kKENPTU1FTlRfT1MyKTogZGlzdC9jb21tZW50CisJZWNobyAiVmltIC0gVmkgSU1wcm92ZWQgLSB2JChWRE9UKSBiaW5hcmllcyArIHJ1bnRpbWUgZmlsZXMgZm9yIE9TLzIiID4gZGlzdC8kKENPTU1FTlRfT1MyKQorCitkaXN0LyQoQ09NTUVOVF9IVE1MKTogZGlzdC9jb21tZW50CisJZWNobyAiVmltIC0gVmkgSU1wcm92ZWQgLSB2JChWRE9UKSBkb2N1bWVudGF0aW9uIGluIEhUTUwiID4gZGlzdC8kKENPTU1FTlRfSFRNTCkKKworZGlzdC8kKENPTU1FTlRfRkFSU0kpOiBkaXN0L2NvbW1lbnQKKwllY2hvICJWaW0gLSBWaSBJTXByb3ZlZCAtIHYkKFZET1QpIEZhcnNpIGxhbmd1YWdlIGZpbGVzIiA+IGRpc3QvJChDT01NRU5UX0ZBUlNJKQorCitkaXN0LyQoQ09NTUVOVF9MQU5HKTogZGlzdC9jb21tZW50CisJZWNobyAiVmltIC0gVmkgSU1wcm92ZWQgLSB2JChWRE9UKSBNUy1XaW5kb3dzIGxhbmd1YWdlIGZpbGVzIiA+IGRpc3QvJChDT01NRU5UX0xBTkcpCisKK3VuaXhhbGw6IGRpc3QgcHJlcGFyZQorCS1ybSAtZiBkaXN0LyQoVklNVkVSKS50YXIuYnoyCisJLXJtIC1yZiBkaXN0LyQoVklNUlRESVIpCisJbWtkaXIgZGlzdC8kKFZJTVJURElSKQorCXRhciBjZiAtIFwKKwkJJChSVF9BTEwpIFwKKwkJJChSVF9BTExfQklOKSBcCisJCSQoUlRfVU5JWCkgXAorCQkkKFJUX1VOSVhfRE9TX0JJTikgXAorCQkkKFJUX1NDUklQVFMpIFwKKwkJJChMQU5HX0dFTikgXAorCQkkKExBTkdfR0VOX0JJTikgXAorCQkkKFNSQ19BTEwpIFwKKwkJJChTUkNfVU5JWCkgXAorCQkkKFNSQ19ET1NfVU5JWCkgXAorCQl8IChjZCBkaXN0LyQoVklNUlRESVIpOyB0YXIgeGYgLSkKKyMgTmVlZCB0byB1c2UgYSAiZGlzdGNsZWFuIiBjb25maWcubWsgZmlsZQorCWNwIC1mIHNyYy9jb25maWcubWsuZGlzdCBkaXN0LyQoVklNUlRESVIpL3NyYy9hdXRvL2NvbmZpZy5taworIyBDcmVhdGUgYW4gZW1wdHkgY29uZmlnLmggZmlsZSwgbWFrZSBkZXBlbmRlbmNpZXMgcmVxdWlyZSBpdAorCXRvdWNoIGRpc3QvJChWSU1SVERJUikvc3JjL2F1dG8vY29uZmlnLmgKKyMgTWFrZSBzdXJlIGNvbmZpZ3VyZSBpcyBuZXdlciB0aGFuIGNvbmZpZy5tayB0byBmb3JjZSBpdCB0byBiZSBnZW5lcmF0ZWQKKwl0b3VjaCBkaXN0LyQoVklNUlRESVIpL3NyYy9jb25maWd1cmUKKwljZCBkaXN0ICYmIHRhciBjZiAkKFZJTVZFUikudGFyICQoVklNUlRESVIpCisJYnppcDIgZGlzdC8kKFZJTVZFUikudGFyCisKK2V4dHJhOiBkaXN0IHByZXBhcmUKKwktcm0gLWYgZGlzdC8kKFZJTVZFUiktZXh0cmEudGFyLmd6CisJLXJtIC1yZiBkaXN0LyQoVklNUlRESVIpCisJbWtkaXIgZGlzdC8kKFZJTVJURElSKQorCXRhciBjZiAtIFwKKwkJJChFWFRSQSkgXAorCQl8IChjZCBkaXN0LyQoVklNUlRESVIpOyB0YXIgeGYgLSkKKwljZCBkaXN0ICYmIHRhciBjZiAkKFZJTVZFUiktZXh0cmEudGFyICQoVklNUlRESVIpCisJZ3ppcCAtOSBkaXN0LyQoVklNVkVSKS1leHRyYS50YXIKKworbGFuZzogZGlzdCBwcmVwYXJlCisJLXJtIC1mIGRpc3QvJChWSU1WRVIpLWxhbmcudGFyLmd6CisJLXJtIC1yZiBkaXN0LyQoVklNUlRESVIpCisJbWtkaXIgZGlzdC8kKFZJTVJURElSKQorCXRhciBjZiAtIFwKKwkJJChMQU5HX1NSQykgXAorCQl8IChjZCBkaXN0LyQoVklNUlRESVIpOyB0YXIgeGYgLSkKKyMgTWFrZSBzdXJlIGphLnNqaXMucG8gaXMgbmV3ZXIgdGhhbiBqYS5wbyB0byBhdm9pZCBpdCBiZWluZyByZWdlbmVyYXRlZC4KKyMgU2FtZSBmb3IgY3MuY3AxMjUwLnBvLCBwbC5jcDEyNTAucG8gYW5kIHNrLmNwMTI1MC5wby4KKwl0b3VjaCBkaXN0LyQoVklNUlRESVIpL3NyYy9wby9qYS5zamlzLnBvCisJdG91Y2ggZGlzdC8kKFZJTVJURElSKS9zcmMvcG8vY3MuY3AxMjUwLnBvCisJdG91Y2ggZGlzdC8kKFZJTVJURElSKS9zcmMvcG8vcGwuY3AxMjUwLnBvCisJdG91Y2ggZGlzdC8kKFZJTVJURElSKS9zcmMvcG8vc2suY3AxMjUwLnBvCisJdG91Y2ggZGlzdC8kKFZJTVJURElSKS9zcmMvcG8vemhfQ04uY3A5MzYucG8KKwl0b3VjaCBkaXN0LyQoVklNUlRESVIpL3NyYy9wby9ydS5jcDEyNTEucG8KKwl0b3VjaCBkaXN0LyQoVklNUlRESVIpL3NyYy9wby91ay5jcDEyNTEucG8KKwljZCBkaXN0ICYmIHRhciBjZiAkKFZJTVZFUiktbGFuZy50YXIgJChWSU1SVERJUikKKwlnemlwIC05IGRpc3QvJChWSU1WRVIpLWxhbmcudGFyCisKK2FtaXJ0OiBkaXN0IHByZXBhcmUKKwktcm0gLWYgZGlzdC92aW0kKFZFUlNJT04pcnQudGFyLmd6CisJLXJtIC1yZiBkaXN0L1ZpbQorCW1rZGlyIGRpc3QvVmltCisJbWtkaXIgZGlzdC9WaW0vJChWSU1SVERJUikKKwl0YXIgY2YgLSBcCisJCSQoUk9PVF9BTUkpIFwKKwkJJChSVF9BTEwpIFwKKwkJJChSVF9BTExfQklOKSBcCisJCSQoUlRfU0NSSVBUUykgXAorCQkkKFJUX0FNSSkgXAorCQkkKFJUX05PX1VOSVgpIFwKKwkJJChSVF9BTUlfRE9TKSBcCisJCXwgKGNkIGRpc3QvVmltLyQoVklNUlRESVIpOyB0YXIgeGYgLSkKKwltdiBkaXN0L1ZpbS8kKFZJTVJURElSKS92aW1kaXIuaW5mbyBkaXN0L1ZpbS5pbmZvCisJbXYgZGlzdC9WaW0vJChWSU1SVERJUikvcnVudGltZS5pbmZvIGRpc3QvVmltLyQoVklNUlRESVIpLmluZm8KKwltdiBkaXN0L1ZpbS8kKFZJTVJURElSKS9ydW50aW1lLyogZGlzdC9WaW0vJChWSU1SVERJUikKKwlybWRpciBkaXN0L1ZpbS8kKFZJTVJURElSKS9ydW50aW1lCisJY2QgZGlzdCAmJiB0YXIgY2YgdmltJChWRVJTSU9OKXJ0LnRhciBWaW0gVmltLmluZm8KKwlnemlwIC05IGRpc3QvdmltJChWRVJTSU9OKXJ0LnRhcgorCW12IGRpc3QvdmltJChWRVJTSU9OKXJ0LnRhci5neiBkaXN0L3ZpbSQoVkVSU0lPTilydC50Z3oKKworYW1pYmluOiBkaXN0IHByZXBhcmUKKwktcm0gLWYgZGlzdC92aW0kKFZFUlNJT04pYmluLnRhci5negorCS1ybSAtcmYgZGlzdC9WaW0KKwlta2RpciBkaXN0L1ZpbQorCW1rZGlyIGRpc3QvVmltLyQoVklNUlRESVIpCisJdGFyIGNmIC0gXAorCQkkKFJPT1RfQU1JKSBcCisJCSQoQklOX0FNSSkgXAorCQlWaW0gXAorCQlYeGQgXAorCQl8IChjZCBkaXN0L1ZpbS8kKFZJTVJURElSKTsgdGFyIHhmIC0pCisJbXYgZGlzdC9WaW0vJChWSU1SVERJUikvdmltZGlyLmluZm8gZGlzdC9WaW0uaW5mbworCW12IGRpc3QvVmltLyQoVklNUlRESVIpL3J1bnRpbWUuaW5mbyBkaXN0L1ZpbS8kKFZJTVJURElSKS5pbmZvCisJY2QgZGlzdCAmJiB0YXIgY2YgdmltJChWRVJTSU9OKWJpbi50YXIgVmltIFZpbS5pbmZvCisJZ3ppcCAtOSBkaXN0L3ZpbSQoVkVSU0lPTiliaW4udGFyCisJbXYgZGlzdC92aW0kKFZFUlNJT04pYmluLnRhci5neiBkaXN0L3ZpbSQoVkVSU0lPTiliaW4udGd6CisKK2FtaXNyYzogZGlzdCBwcmVwYXJlCisJLXJtIC1mIGRpc3QvdmltJChWRVJTSU9OKXNyYy50YXIuZ3oKKwktcm0gLXJmIGRpc3QvVmltCisJbWtkaXIgZGlzdC9WaW0KKwlta2RpciBkaXN0L1ZpbS8kKFZJTVJURElSKQorCXRhciBjZiAtIFwKKwkJJChST09UX0FNSSkgXAorCQkkKFNSQ19BTEwpIFwKKwkJJChTUkNfQU1JKSBcCisJCSQoU1JDX0FNSV9ET1MpIFwKKwkJfCAoY2QgZGlzdC9WaW0vJChWSU1SVERJUik7IHRhciB4ZiAtKQorCW12IGRpc3QvVmltLyQoVklNUlRESVIpL3ZpbWRpci5pbmZvIGRpc3QvVmltLmluZm8KKwltdiBkaXN0L1ZpbS8kKFZJTVJURElSKS9ydW50aW1lLmluZm8gZGlzdC9WaW0vJChWSU1SVERJUikuaW5mbworCWNkIGRpc3QgJiYgdGFyIGNmIHZpbSQoVkVSU0lPTilzcmMudGFyIFZpbSBWaW0uaW5mbworCWd6aXAgLTkgZGlzdC92aW0kKFZFUlNJT04pc3JjLnRhcgorCW12IGRpc3QvdmltJChWRVJTSU9OKXNyYy50YXIuZ3ogZGlzdC92aW0kKFZFUlNJT04pc3JjLnRnegorCitub190aXRsZS52aW06IE1ha2VmaWxlCisJZWNobyAic2V0IG5vdGl0bGUgbm9pY29uIG5vY3Agbm9tb2RlbGluZSB2aW1pbmZvPSIgPm5vX3RpdGxlLnZpbQorCitkb3NydDogZGlzdCBkaXN0LyQoQ09NTUVOVF9SVCkgZG9zcnRfdW5peDJkb3MKKwktcm0gLXJmIGRpc3QvdmltJChWRVJTSU9OKXJ0LnppcAorCWNkIGRpc3QgJiYgemlwIC05IC1yRCAteiB2aW0kKFZFUlNJT04pcnQuemlwIHZpbSA8JChDT01NRU5UX1JUKQorCisjIFNwbGl0IGluIHR3byBwYXJ0cyB0byBhdm9pZCBhICJhcmd1bWVudCBsaXN0IHRvbyBsb25nIiBlcnJvci4KK2Rvc3J0X3VuaXgyZG9zOiBkaXN0IHByZXBhcmUgbm9fdGl0bGUudmltCisJLXJtIC1yZiBkaXN0L3ZpbQorCW1rZGlyIGRpc3QvdmltCisJbWtkaXIgZGlzdC92aW0vJChWSU1SVERJUikKKwl0YXIgY2YgLSBcCisJCSQoUlRfQUxMKSBcCisJCXwgKGNkIGRpc3QvdmltLyQoVklNUlRESVIpOyB0YXIgeGYgLSkKKwl0YXIgY2YgLSBcCisJCSQoUlRfU0NSSVBUUykgXAorCQkkKFJUX0RPUykgXAorCQkkKFJUX05PX1VOSVgpIFwKKwkJJChSVF9BTUlfRE9TKSBcCisJCSQoTEFOR19HRU4pIFwKKwkJfCAoY2QgZGlzdC92aW0vJChWSU1SVERJUik7IHRhciB4ZiAtKQorCWZpbmQgZGlzdC92aW0vJChWSU1SVERJUikgLXR5cGUgZiAtZXhlYyAkKFZJTSkgLWUgLXUgbm9fdGl0bGUudmltIC1jICI6c2V0IHR4fHdxIiB7fSBcOworCXRhciBjZiAtIFwKKwkJJChSVF9VTklYX0RPU19CSU4pIFwKKwkJJChSVF9BTExfQklOKSBcCisJCSQoUlRfRE9TX0JJTikgXAorCQkkKExBTkdfR0VOX0JJTikgXAorCQl8IChjZCBkaXN0L3ZpbS8kKFZJTVJURElSKTsgdGFyIHhmIC0pCisJbXYgZGlzdC92aW0vJChWSU1SVERJUikvcnVudGltZS8qIGRpc3QvdmltLyQoVklNUlRESVIpCisJcm1kaXIgZGlzdC92aW0vJChWSU1SVERJUikvcnVudGltZQorCisKKyMgQ29udmVydCBydW50aW1lIGZpbGVzIGZyb20gVW5peCBmaWxlZm9ybWF0IHRvIGRvcyBmaWxlZm9ybWF0LgorIyBVc2VkIGJlZm9yZSB1cGxvYWRpbmcuICBEb24ndCBkZWxldGUgdGhlIEFBUERJUi9zaWduIGZpbGVzIQorcnVudGltZV91bml4MmRvczogZG9zcnRfdW5peDJkb3MKKwktcm0gLXJmIGBmaW5kIHJ1bnRpbWUvZG9zIC10eXBlIGYgLXByaW50IHwgc2VkIC1lIC9BQVBESVIvZGAKKwljZCBkaXN0L3ZpbS8kKFZJTVJURElSKTsgdGFyIGNmIC0gKiBcCisJCXwgKGNkIC4uLy4uLy4uL3J1bnRpbWUvZG9zOyB0YXIgeGYgLSkKKworZG9zYmluOiBwcmVwYXJlIGRvc2Jpbl9ndmltIGRvc2Jpbl93MzIgZG9zYmluX2QzMiBkb3NiaW5fZDE2IGRvc2Jpbl9vbGUgJChET1NCSU5fUykKKworIyBtYWtlIFdpbjMyIGd2aW0KK2Rvc2Jpbl9ndmltOiBkaXN0IG5vX3RpdGxlLnZpbSBkaXN0LyQoQ09NTUVOVF9HVklNKQorCS1ybSAtcmYgZGlzdC9ndmltJChWRVJTSU9OKS56aXAKKwktcm0gLXJmIGRpc3QvdmltCisJbWtkaXIgZGlzdC92aW0KKwlta2RpciBkaXN0L3ZpbS8kKFZJTVJURElSKQorCXRhciBjZiAtIFwKKwkJJChCSU5fRE9TKSBcCisJCXwgKGNkIGRpc3QvdmltLyQoVklNUlRESVIpOyB0YXIgeGYgLSkKKwlmaW5kIGRpc3QvdmltLyQoVklNUlRESVIpIC10eXBlIGYgLWV4ZWMgJChWSU0pIC1lIC11IG5vX3RpdGxlLnZpbSAtYyAiOnNldCB0eHx3cSIge30gXDsKKwljcCBndmltLmV4ZSBkaXN0L3ZpbS8kKFZJTVJURElSKS9ndmltLmV4ZQorCWNwIHh4ZHczMi5leGUgZGlzdC92aW0vJChWSU1SVERJUikveHhkLmV4ZQorCWNwIHZpbXJ1bi5leGUgZGlzdC92aW0vJChWSU1SVERJUikvdmltcnVuLmV4ZQorCWNwIGluc3RhbGx3MzIuZXhlIGRpc3QvdmltLyQoVklNUlRESVIpL2luc3RhbGwuZXhlCisJY3AgdW5pbnN0YWx3MzIuZXhlIGRpc3QvdmltLyQoVklNUlRESVIpL3VuaW5zdGFsLmV4ZQorCWNwIGd2aW1leHQuZGxsIGRpc3QvdmltLyQoVklNUlRESVIpL2d2aW1leHQuZGxsCisJY2QgZGlzdCAmJiB6aXAgLTkgLXJEIC16IGd2aW0kKFZFUlNJT04pLnppcCB2aW0gPCQoQ09NTUVOVF9HVklNKQorCWNwIGd2aW0ucGRiIGRpc3QvZ3ZpbSQoVkVSU0lPTikucGRiCisKKyMgbWFrZSBXaW4zMiBjb25zb2xlCitkb3NiaW5fdzMyOiBkaXN0IG5vX3RpdGxlLnZpbSBkaXN0LyQoQ09NTUVOVF9XMzIpCisJLXJtIC1yZiBkaXN0L3ZpbSQoVkVSU0lPTil3MzIuemlwCisJLXJtIC1yZiBkaXN0L3ZpbQorCW1rZGlyIGRpc3QvdmltCisJbWtkaXIgZGlzdC92aW0vJChWSU1SVERJUikKKwl0YXIgY2YgLSBcCisJCSQoQklOX0RPUykgXAorCQl8IChjZCBkaXN0L3ZpbS8kKFZJTVJURElSKTsgdGFyIHhmIC0pCisJZmluZCBkaXN0L3ZpbS8kKFZJTVJURElSKSAtdHlwZSBmIC1leGVjICQoVklNKSAtZSAtdSBub190aXRsZS52aW0gLWMgIjpzZXQgdHh8d3EiIHt9IFw7CisJY3AgdmltdzMyLmV4ZSBkaXN0L3ZpbS8kKFZJTVJURElSKS92aW0uZXhlCisJY3AgeHhkdzMyLmV4ZSBkaXN0L3ZpbS8kKFZJTVJURElSKS94eGQuZXhlCisJY3AgaW5zdGFsbHczMi5leGUgZGlzdC92aW0vJChWSU1SVERJUikvaW5zdGFsbC5leGUKKwljcCB1bmluc3RhbHczMi5leGUgZGlzdC92aW0vJChWSU1SVERJUikvdW5pbnN0YWwuZXhlCisJY2QgZGlzdCAmJiB6aXAgLTkgLXJEIC16IHZpbSQoVkVSU0lPTil3MzIuemlwIHZpbSA8JChDT01NRU5UX1czMikKKwljcCB2aW13MzIucGRiIGRpc3QvdmltJChWRVJTSU9OKXczMi5wZGIKKworIyBtYWtlIDMyYml0IERPUworZG9zYmluX2QzMjogZGlzdCBub190aXRsZS52aW0gZGlzdC8kKENPTU1FTlRfRDMyKQorCS1ybSAtcmYgZGlzdC92aW0kKFZFUlNJT04pZDMyLnppcAorCS1ybSAtcmYgZGlzdC92aW0KKwlta2RpciBkaXN0L3ZpbQorCW1rZGlyIGRpc3QvdmltLyQoVklNUlRESVIpCisJdGFyIGNmIC0gXAorCQkkKEJJTl9ET1MpIFwKKwkJfCAoY2QgZGlzdC92aW0vJChWSU1SVERJUik7IHRhciB4ZiAtKQorCWZpbmQgZGlzdC92aW0vJChWSU1SVERJUikgLXR5cGUgZiAtZXhlYyAkKFZJTSkgLWUgLXUgbm9fdGl0bGUudmltIC1jICI6c2V0IHR4fHdxIiB7fSBcOworCWNwIHZpbWQzMi5leGUgZGlzdC92aW0vJChWSU1SVERJUikvdmltLmV4ZQorCWNwIHh4ZGQzMi5leGUgZGlzdC92aW0vJChWSU1SVERJUikveHhkLmV4ZQorCWNwIGluc3RhbGxkMzIuZXhlIGRpc3QvdmltLyQoVklNUlRESVIpL2luc3RhbGwuZXhlCisJY3AgdW5pbnN0YWxkMzIuZXhlIGRpc3QvdmltLyQoVklNUlRESVIpL3VuaW5zdGFsLmV4ZQorCWNwIGNzZHBtaTRiLnppcCBkaXN0L3ZpbS8kKFZJTVJURElSKQorCWNkIGRpc3QgJiYgemlwIC05IC1yRCAteiB2aW0kKFZFUlNJT04pZDMyLnppcCB2aW0gPCQoQ09NTUVOVF9EMzIpCisKKyMgbWFrZSAxNmJpdCBET1MKK2Rvc2Jpbl9kMTY6IGRpc3Qgbm9fdGl0bGUudmltIGRpc3QvJChDT01NRU5UX0QxNikKKwktcm0gLXJmIGRpc3QvdmltJChWRVJTSU9OKWQxNi56aXAKKwktcm0gLXJmIGRpc3QvdmltCisJbWtkaXIgZGlzdC92aW0KKwlta2RpciBkaXN0L3ZpbS8kKFZJTVJURElSKQorCXRhciBjZiAtIFwKKwkJJChCSU5fRE9TKSBcCisJCXwgKGNkIGRpc3QvdmltLyQoVklNUlRESVIpOyB0YXIgeGYgLSkKKwlmaW5kIGRpc3QvdmltLyQoVklNUlRESVIpIC10eXBlIGYgLWV4ZWMgJChWSU0pIC1lIC11IG5vX3RpdGxlLnZpbSAtYyAiOnNldCB0eHx3cSIge30gXDsKKwljcCB2aW1kMTYuZXhlIGRpc3QvdmltLyQoVklNUlRESVIpL3ZpbS5leGUKKwljcCB4eGRkMTYuZXhlIGRpc3QvdmltLyQoVklNUlRESVIpL3h4ZC5leGUKKwljcCBpbnN0YWxsZDE2LmV4ZSBkaXN0L3ZpbS8kKFZJTVJURElSKS9pbnN0YWxsLmV4ZQorCWNwIHVuaW5zdGFsZDE2LmV4ZSBkaXN0L3ZpbS8kKFZJTVJURElSKS91bmluc3RhbC5leGUKKwljZCBkaXN0ICYmIHppcCAtOSAtckQgLXogdmltJChWRVJTSU9OKWQxNi56aXAgdmltIDwkKENPTU1FTlRfRDE2KQorCisjIG1ha2UgV2luMzIgZ3ZpbSB3aXRoIE9MRQorZG9zYmluX29sZTogZGlzdCBub190aXRsZS52aW0gZGlzdC8kKENPTU1FTlRfT0xFKQorCS1ybSAtcmYgZGlzdC9ndmltJChWRVJTSU9OKW9sZS56aXAKKwktcm0gLXJmIGRpc3QvdmltCisJbWtkaXIgZGlzdC92aW0KKwlta2RpciBkaXN0L3ZpbS8kKFZJTVJURElSKQorCXRhciBjZiAtIFwKKwkJJChCSU5fRE9TKSBcCisJCXwgKGNkIGRpc3QvdmltLyQoVklNUlRESVIpOyB0YXIgeGYgLSkKKwlmaW5kIGRpc3QvdmltLyQoVklNUlRESVIpIC10eXBlIGYgLWV4ZWMgJChWSU0pIC1lIC11IG5vX3RpdGxlLnZpbSAtYyAiOnNldCB0eHx3cSIge30gXDsKKwljcCBndmltX29sZS5leGUgZGlzdC92aW0vJChWSU1SVERJUikvZ3ZpbS5leGUKKwljcCB4eGR3MzIuZXhlIGRpc3QvdmltLyQoVklNUlRESVIpL3h4ZC5leGUKKwljcCB2aW1ydW4uZXhlIGRpc3QvdmltLyQoVklNUlRESVIpL3ZpbXJ1bi5leGUKKwljcCBpbnN0YWxsdzMyLmV4ZSBkaXN0L3ZpbS8kKFZJTVJURElSKS9pbnN0YWxsLmV4ZQorCWNwIHVuaW5zdGFsdzMyLmV4ZSBkaXN0L3ZpbS8kKFZJTVJURElSKS91bmluc3RhbC5leGUKKwljcCBndmltZXh0LmRsbCBkaXN0L3ZpbS8kKFZJTVJURElSKS9ndmltZXh0LmRsbAorCWNwIFJFQURNRV9vbGUudHh0IGRpc3QvdmltLyQoVklNUlRESVIpCisJY3Agc3JjL1Zpc1ZpbS9WaXNWaW0uZGxsIGRpc3QvdmltLyQoVklNUlRESVIpL1Zpc1ZpbS5kbGwKKwljcCBzcmMvVmlzVmltL1JFQURNRV9WaXNWaW0udHh0IGRpc3QvdmltLyQoVklNUlRESVIpCisJY2QgZGlzdCAmJiB6aXAgLTkgLXJEIC16IGd2aW0kKFZFUlNJT04pb2xlLnppcCB2aW0gPCQoQ09NTUVOVF9PTEUpCisJY3AgZ3ZpbV9vbGUucGRiIGRpc3QvZ3ZpbSQoVkVSU0lPTilvbGUucGRiCisKKyMgbWFrZSBXaW4zMnMgZ3ZpbQorZG9zYmluX3M6IGRpc3Qgbm9fdGl0bGUudmltIGRpc3QvJChDT01NRU5UX1czMlMpCisJLXJtIC1yZiBkaXN0L2d2aW0kKFZFUlNJT04pX3MuemlwCisJLXJtIC1yZiBkaXN0L3ZpbQorCW1rZGlyIGRpc3QvdmltCisJbWtkaXIgZGlzdC92aW0vJChWSU1SVERJUikKKwl0YXIgY2YgLSBcCisJCSQoQklOX0RPUykgXAorCQl8IChjZCBkaXN0L3ZpbS8kKFZJTVJURElSKTsgdGFyIHhmIC0pCisJZmluZCBkaXN0L3ZpbS8kKFZJTVJURElSKSAtdHlwZSBmIC1leGVjICQoVklNKSAtZSAtdSBub190aXRsZS52aW0gLWMgIjpzZXQgdHh8d3EiIHt9IFw7CisJY3AgZ3ZpbV93MzJzLmV4ZSBkaXN0L3ZpbS8kKFZJTVJURElSKS9ndmltLmV4ZQorCWNwIHh4ZGQzMi5leGUgZGlzdC92aW0vJChWSU1SVERJUikveHhkLmV4ZQorCWNwIFJFQURNRV93MzJzLnR4dCBkaXN0L3ZpbS8kKFZJTVJURElSKQorCWNwIGluc3RhbGx3MzIuZXhlIGRpc3QvdmltLyQoVklNUlRESVIpL2luc3RhbGwuZXhlCisJY3AgdW5pbnN0YWx3MzIuZXhlIGRpc3QvdmltLyQoVklNUlRESVIpL3VuaW5zdGFsLmV4ZQorCWNkIGRpc3QgJiYgemlwIC05IC1yRCAteiBndmltJChWRVJTSU9OKV9zLnppcCB2aW0gPCQoQ09NTUVOVF9XMzJTKQorCisjIG1ha2UgV2luMzIgbGFuZyBhcmNoaXZlCitkb3NsYW5nOiBkaXN0IHByZXBhcmUgbm9fdGl0bGUudmltIGRpc3QvJChDT01NRU5UX0xBTkcpCisJLXJtIC1yZiBkaXN0L3ZpbSQoVkVSU0lPTilsYW5nLnppcAorCS1ybSAtcmYgZGlzdC92aW0KKwlta2RpciBkaXN0L3ZpbQorCW1rZGlyIGRpc3QvdmltLyQoVklNUlRESVIpCisJbWtkaXIgZGlzdC92aW0vJChWSU1SVERJUikvbGFuZworCWNkIHNyYyAmJiBNQUtFTU89eWVzICQoTUFLRSkgbGFuZ3VhZ2VzCisJZmluZCBkaXN0L3ZpbS8kKFZJTVJURElSKSAtdHlwZSBmIC1leGVjICQoVklNKSAtZSAtdSBub190aXRsZS52aW0gLWMgIjpzZXQgdHh8d3EiIHt9IFw7CisjIEFkZCB0aGUgbWVzc2FnZSB0cmFuc2xhdGlvbnMuICBUcmljazogc2tpcCBqYS5tbyBhbmQgdXNlIGphLnNqaXMubW8gaW5zdGVhZC4KKyMgU2FtZSBmb3IgY3MubW8gLyBjcy5jcDEyNTAubW8sIHBsLm1vIC8gcGwuY3AxMjUwLm1vLCBzay5tbyAvIHNrLmNwMTI1MC5tbywKKyMgemhfQ04ubW8gLyB6aF9DTi5jcDkzNi5tbywgdWsubW8gLyB1ay5jcDEyNTEubW8gYW5kIHJ1Lm1vIC8gcnUuY3AxMjUxLm1vLgorCWZvciBpIGluICQoTEFOR19ET1MpOyBkbyBcCisJICAgICAgaWYgdGVzdCAiJCRpIiAhPSAic3JjL3BvL2phLm1vIiAtYSAiJCRpIiAhPSAic3JjL3BvL3BsLm1vIiAtYSAiJCRpIiAhPSAic3JjL3BvL2NzLm1vIiAtYSAiJCRpIiAhPSAic3JjL3BvL3NrLm1vIiAtYSAiJCRpIiAhPSAic3JjL3BvL3poX0NOLm1vIiAtYSAiJCRpIiAhPSAic3JjL3BvL3J1Lm1vIiAtYSAiJCRpIiAhPSAic3JjL3BvL3VrLm1vIjsgdGhlbiBcCisJCW49YGVjaG8gJCRpIHwgc2VkIC1lICJzK3NyYy9wby9cKFstYS16QS1aMC05X10qXCguVVRGLThcKSpcKVwoLnNqaXNcKSpcKC5jcDEyNTBcKSpcKC5jcDEyNTFcKSpcKC5jcDkzNlwpKi5tbytcMSsiYDsgXAorCQlta2RpciBkaXN0L3ZpbS8kKFZJTVJURElSKS9sYW5nLyQkbjsgXAorCQlta2RpciBkaXN0L3ZpbS8kKFZJTVJURElSKS9sYW5nLyQkbi9MQ19NRVNTQUdFUzsgXAorCQljcCAkJGkgZGlzdC92aW0vJChWSU1SVERJUikvbGFuZy8kJG4vTENfTUVTU0FHRVMvdmltLm1vOyBcCisJICAgICAgZmkgXAorCSAgICBkb25lCisJY3AgbGliaW50bC5kbGwgZGlzdC92aW0vJChWSU1SVERJUikvCisJY2QgZGlzdCAmJiB6aXAgLTkgLXJEIC16IHZpbSQoVkVSU0lPTilsYW5nLnppcCB2aW0gPCQoQ09NTUVOVF9MQU5HKQorCisjIE1TLURPUyBzb3VyY2VzCitkb3NzcmM6IGRpc3Qgbm9fdGl0bGUudmltIGRpc3QvJChDT01NRU5UX1NSQykgcnVudGltZS9kb2MvdWdhbmRhLm5zaXMudHh0CisJLXJtIC1yZiBkaXN0L3ZpbSQoVkVSU0lPTilzcmMuemlwCisJLXJtIC1yZiBkaXN0L3ZpbQorCW1rZGlyIGRpc3QvdmltCisJbWtkaXIgZGlzdC92aW0vJChWSU1SVERJUikKKwl0YXIgY2YgLSBcCisJCSQoU1JDX0FMTCkgXAorCQkkKFNSQ19ET1MpIFwKKwkJJChTUkNfQU1JX0RPUykgXAorCQkkKFNSQ19ET1NfVU5JWCkgXAorCQlydW50aW1lL2RvYy91Z2FuZGEubnNpcy50eHQgXAorCQl8IChjZCBkaXN0L3ZpbS8kKFZJTVJURElSKTsgdGFyIHhmIC0pCisJbXYgZGlzdC92aW0vJChWSU1SVERJUikvcnVudGltZS8qIGRpc3QvdmltLyQoVklNUlRESVIpCisJcm1kaXIgZGlzdC92aW0vJChWSU1SVERJUikvcnVudGltZQorCWZpbmQgZGlzdC92aW0vJChWSU1SVERJUikgLXR5cGUgZiAtZXhlYyAkKFZJTSkgLWUgLXUgbm9fdGl0bGUudmltIC1jICI6c2V0IHR4fHdxIiB7fSBcOworCXRhciBjZiAtIFwKKwkJJChTUkNfRE9TX0JJTikgXAorCQl8IChjZCBkaXN0L3ZpbS8kKFZJTVJURElSKTsgdGFyIHhmIC0pCisJY2QgZGlzdCAmJiB6aXAgLTkgLXJEIC16IHZpbSQoVkVSU0lPTilzcmMuemlwIHZpbSA8JChDT01NRU5UX1NSQykKKworcnVudGltZS9kb2MvdWdhbmRhLm5zaXMudHh0OiBydW50aW1lL2RvYy91Z2FuZGEudHh0CisJY2QgcnVudGltZS9kb2MgJiYgJChNQUtFKSB1Z2FuZGEubnNpcy50eHQKKworb3MyYmluOiBkaXN0IG5vX3RpdGxlLnZpbSBkaXN0LyQoQ09NTUVOVF9PUzIpCisJLXJtIC1yZiBkaXN0L3ZpbSQoVkVSU0lPTilvczIuemlwCisJLXJtIC1yZiBkaXN0L3ZpbQorCW1rZGlyIGRpc3QvdmltCisJbWtkaXIgZGlzdC92aW0vJChWSU1SVERJUikKKwl0YXIgY2YgLSBcCisJCSQoQklOX09TMikgXAorCQl8IChjZCBkaXN0L3ZpbS8kKFZJTVJURElSKTsgdGFyIHhmIC0pCisJZmluZCBkaXN0L3ZpbS8kKFZJTVJURElSKSAtdHlwZSBmIC1leGVjICQoVklNKSAtZSAtdSBub190aXRsZS52aW0gLWMgIjpzZXQgdHh8d3EiIHt9IFw7CisJY3Agdmltb3MyLmV4ZSBkaXN0L3ZpbS8kKFZJTVJURElSKS92aW0uZXhlCisJY3AgeHhkb3MyLmV4ZSBkaXN0L3ZpbS8kKFZJTVJURElSKS94eGQuZXhlCisJY3AgdGVlb3MyLmV4ZSBkaXN0L3ZpbS8kKFZJTVJURElSKS90ZWUuZXhlCisJY3AgZW14LmRsbCBlbXhsaWJjcy5kbGwgZGlzdC92aW0vJChWSU1SVERJUikKKwljZCBkaXN0ICYmIHppcCAtOSAtckQgLXogdmltJChWRVJTSU9OKW9zMi56aXAgdmltIDwkKENPTU1FTlRfT1MyKQorCitodG1sOiBkaXN0IGRpc3QvJChDT01NRU5UX0hUTUwpCisJLXJtIC1yZiBkaXN0L3ZpbSQoVkVSU0lPTilodG1sLnppcAorCWNkIHJ1bnRpbWUvZG9jICYmIHppcCAtOSAteiAuLi8uLi9kaXN0L3ZpbSQoVkVSU0lPTilodG1sLnppcCAqLmh0bWwgPC4uLy4uL2Rpc3QvJChDT01NRU5UX0hUTUwpCisKK2ZhcnNpOiBkaXN0IGRpc3QvJChDT01NRU5UX0ZBUlNJKQorCS1ybSAtZiBkaXN0L2ZhcnNpJChWRVJTSU9OKS56aXAKKwl6aXAgLTkgLXJEIC16IGRpc3QvZmFyc2kkKFZFUlNJT04pLnppcCBmYXJzaSA8IGRpc3QvJChDT01NRU5UX0ZBUlNJKQpkaWZmIC0tZ2l0IGEvcnVudGltZS90dXRvci9SRUFETUVfb3MzOTAudHh0IGIvcnVudGltZS90dXRvci9SRUFETUVfb3MzOTAudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBjZTlkZDgKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3R1dG9yL1JFQURNRV9vczM5MC50eHQKQEAgLTAsMCArMSwxMzAgQEAKK1JFQURNRV9vc18zOTAudHh0IGZvciB2ZXJzaW9uIDcuMmEgb2YgVmltOiBWaSBJTXByb3ZlZC4KKworV2VsY29tZSB0byB0aGUgT1MvMzkwIFVuaXggcG9ydCBvZiBWSU0uCisKK0FUVEVOVElPTjogVEhJUyBJUyBBTiBfQUxQSEFfIFZFUlNJT04hISEKK0kgZXhwZWN0IHlvdSB0byBrbm93IGhvdyB0byBoYW5kbGUgYWxwaGEgc29mdHdhcmUhCisKK1RoaXMgcG9ydCB3YXMgZG9uZSBieSBSYWxmIFNjaGFuZGwgPHNjaGFuZGxAZGUuaWJtLmNvbT4uCitUaGlzIHBvcnQgaXMgbm90IG1haW50YWluZWQgb3Igc3VwcG9ydGVkIGJ5IElCTSEhCisKKworRm9yIHRoZSBsaXN0IG9mIGNoYW5nZXMgc2VlIHJ1bnRpbWUvZG9jL29zXzM5MC50eHQuCisKKworQ29tcGlsaW5nOgorLS0tLS0tLS0tLQorCitOb3RlOiBBZnRlciB0aGUgZmlsZSBjb25maWd1cmUgd2FzIGNyZWF0ZWQgdmlhIGF1dG9jb25mLCBpdCBoYWQgYmVlbgorICAgICAgaGFuZGVkaXRlZCwgdG8gbWFrZSB0aGUgdGVzdCBmb3IgSUNFQ29ubmVjdGlvbk51bWJlciB3b3JrLgorICAgICAgRE8gTk9UIHJ1biBhdXRvY29uZiBhZ2FpbiEKKworV2l0aG91dCBYMTE6CisKK0lmIHlvdSBidWlsZCBWSU0gd2l0aG91dCBYMTEgc3VwcG9ydCwgY29tcGlsaW5nIGFuZCBidWlsZGluZyBpcyBuZWFybHkKK3N0cmFpZ2h0Zm9yd2FyZC4gVGhlIG9ubHkgcmVzdHJpY3Rpb24gaXMsIHRoYXQgeW91IGNhbid0IGNhbGwgbWFrZSBmcm9tIHRoZQorVklNIHRvcGxldmVsIGRpcmVjdG9yeS4gQ2hhbmdlIHRvIHRoZSBzcmMgZGlyZWN0b3J5IGZpcnN0IGFuZCBjYWxsIG1ha2UgZnJvbQordGhlcmUuIEhlcmUgaXMgYSB3aGF0IHRvIGRvOgorCisgICAgIyBEb24ndCB1c2UgYzg5IQorICAgICMgTWFrZSBhZGRpdGlvbmFsIHN5bWJvbHMgdmlzaWJsZS4KKyAgICAjIEFsbG93IGludGVybWl4aW5nIG9mIGNvbXBpbGVyIG9wdGlvbnMgYW5kIGZpbGVzLgorCisgICAgJCBleHBvcnQgQ0M9Y2MKKyAgICAkIGV4cG9ydCBDRkxBR1M9LURfQUxMX1NPVVJDRQorICAgICQgZXhwb3J0IF9DQ19DQ01PREU9MQorICAgICQuL2NvbmZpZ3VyZSAtLWVuYWJsZS1tYXgtZmVhdHVyZXMgLS13aXRob3V0LXggLS1lbmFibGUtZ3VpPW5vCisgICAgJCBjZCBzcmMKKyAgICAkIG1ha2UKKyAgICAkIG1ha2UgdGVzdAorCisgICAgICBOb3RlOiBUZXN0IDI4IHdpbGwgYmUgcmVwb3J0ZWQgYXMgZmFpbGVkLiBUaGlzIGlzIGJlY2F1c2UgZGlmZiBjYW4ndAorCSAgICBjb21wYXJlIGZpbGVzIGNvbnRhaW5pbmcgJ1wwJyBjaGFyYWN0ZXJzLiBUZXN0IDExIHdpbGwgZmFpbCBpZiB5b3UKKwkgICAgZG9uJ3QgaGF2ZSBnemlwLgorCisgICAgJCBtYWtlIGluc3RhbGwKKworCitXaXRoIFgxMToKKworVGhlcmUgYXJlIHR3byB3YXlzIGZvciBidWlsZGluZyBWSU0gd2l0aCBYMTEgc3VwcG9ydC4gVGhlIGZpcnN0IHdheSBpcyBzaW1wbGUKK2FuZCByZXN1bHRzIGluIGEgYmlnIGV4ZWN1dGFibGUgKH4xMyBNYiksIHRoZSBzZWNvbmQgbmVlZHMgYSBmZXcgYWRkaXRpb25hbAorc3RlcHMgYW5kIHJlc3VsdHMgaW4gYSBtdWNoIHNtYWxsZXIgZXhlY3V0YWJsZSAofjQuNSBNYikuIFRoaXMgZXhhbXBsZXMgYXNzdW1lCit5b3Ugd2FudCBNb3RpZi4KKworICBUaGUgZWFzeSB3YXk6CisgICAgJCBleHBvcnQgQ0M9Y2MKKyAgICAkIGV4cG9ydCBDRkxBR1M9Ii1EX0FMTF9TT1VSQ0UgLVcgYyxkbGwiCisgICAgJCBleHBvcnQgTERGTEFHUz0iLVcgbCxkbGwiCisgICAgJCBleHBvcnQgX0NDX0NDTU9ERT0xCisgICAgJCAuL2NvbmZpZ3VyZSAtLWVuYWJsZS1tYXgtZmVhdHVyZXMgLS1lbmFibGUtZ3VpPW1vdGlmCisgICAgJCBjZCBzcmMKKyAgICAkIG1ha2UKKworICAgIFdpdGggdGhpcyBWSU0gaXMgbGlua2VkIHN0YXRpY2FsbHkgd2l0aCB0aGUgWDExIGxpYnJhcmllcy4KKworICBUaGUgc21hcnRlciB3YXk6CisgICAgTWFrZSBWSU0gYXMgZGVzY3JpYmVkIGFib3ZlLiBUaGVuIGNyZWF0ZSBhIGZpbGUgbmFtZWQgJ2xpbmsuc2VkJyB3aXRoIHRoZQorICAgIGZvbGxvd2luZyBjb250ZW5zZToKKworCXMvLWxYZXh0ICAqLy9nCisJcy8tbFhtdSAgKi8vZworCXMvLWxYbQkqL1wvdXNyXC9saWJcL1htLnggL2cKKwlzLy1sWDExICAqL1wvdXNyXC9saWJcL1gxMS54IC9nCisJcy8tbFh0CSovL2cKKwlzLy1sU00JKi9cL3VzclwvbGliXC9TTS54IC9nCisJcy8tbElDRSAgKi9cL3VzclwvbGliXC9JQ0UueCAvZworCisgICAgVGhlbiBkbzoKKyAgICAkIHJtIHZpbQorICAgICQgbWFrZQorCisgICAgTm93IFZpbSBpcyBsaW5rZWQgd2l0aCB0aGUgWDExLURMTHMuCisKKyAgICBTZWUgdGhlIE1ha2VmaWxlIGFuZCB0aGUgZmlsZSBsaW5rLnNoIG9uIGhvdyBsaW5rLnNlZCBpcyB1c2VkLgorCisKK0hpbnQ6CistLS0tLQorVXNlIHRoZSBvbmxpbmUgaGVscCEgKFNlZSB3ZWFrbmVzc2VzIGJlbG93LikKKworRXhhbXBsZToKK0VudGVyICc6aGVscCBzeW50YXgnIGFuZCB0aGVuIHByZXNzIDxUQUI+IHNldmVyYWwgdGltZXMsIHlvdSB3aWxsIHN3aXRjaAordGhyb3VnaCBhbGwgaGVscCBpdGVtcyBjb250YWluaW5nICdzeW50YXgnLiBQcmVzcyA8RU5URVI+IG9uIHRoZSBvbmUgeW91IGFyZQoraW50ZXJlc3RlZCBhdC4gT3IgcHJlc3MgPEN0cmwtRD4gYW5kIHlvdSB3aWxsIGdldCBhIGxpc3Qgb2YgYWxsIGl0ZW1zIHByaW50ZWQKK3RoYXQgY29udGFpbiAnc3ludGF4Jy4KKworVGhlIGhlbHBmaWxlcyBjb250YWlucyBjcm9zcy1yZWZlcmVuY2VzLiBMaW5rcyBhcmUgYmV0d2VlbiAnfCcuIFBvc2l0aW9uIHRoZQorY3Vyc29yIG9uIHRoZW0gYW5kIHByZXNzIDxDdHJsLV0+IHRvIGZvbGxvdyB0aGlzIGxpbmsuIFVzZSA8Q3RybC1UPiB0byBqdW1wCitiYWNrLgorCitLbm93biB3ZWFrbmVzc2VzOgorLS0tLS0tLS0tLS0tLS0tLS0KKworLSBZb3UgY2FuJ3QgY2FsbCBtYWtlIGZyb20gdGhlIHRvcGxldmVsIGRpcmVjdG9yeSwgeW91IGhhdmUgdG8gZG8gYSAnY2Qgc3JjJworICBmaXJzdC4gIElmIHlvdSBkbyBpdCwgbWFrZSB3aWxsIGNhbGwgY29uZmlndXJlIGFnYWluLiBJIGRvbid0IGtub3cgd2h5IGFuZAorICBkaWRuJ3QgaW52ZXN0aWdhdGUgaXQsIHRoZXJlIHdlcmUgbW9yZSBpbXBvcnRhbnQgdGhpbmdzIHRvIGRvLiBJZiB5b3UgY2FuCisgIG1ha2UgaXQgd29yayBkcm9wIG1lIGEgbm90ZS4KKworLSBUaGUgZG9jdW1lbnRhdGlvbiB3YXMgbm90IHVwZGF0ZWQgZm9yIHRoaXMgYWxwaGEgcmVsZWFzZS4gSXQgY29udGFpbnMgbG90IG9mCisgIEFTQ0lJIGRlcGVuZGVuY2llcywgZXNwZWNpYWxseSBpbiBleGFtcGxlcy4KKworLSBEaWdyYXBocyBhcmUgZGVwZW5kZW50IG9uIGNvZGUgcGFnZSAxMDQ3LiBEaWdyYXBocyBhcmUgdXNlZCB0byBlbnRlcgorICBjaGFyYWN0ZXJzIHRoYXQgbm9ybWFsbHkgY2Fubm90IGJlIGVudGVyZWQgYnkgYW4gb3JkaW5hcnkga2V5Ym9hcmQuCisgIFNlZSAiOmhlbHAgZGlncmFwaHMiLgorCistIFVzaW5nICdnYScgdG8gc2hvdyB0aGUgY29kZSBvZiB0aGUgY2hhcmFjdGVyIHVuZGVyIHRoZSBjdXJzb3Igc2hvd3MgdGhlCisgIGNvcnJlY3QgZGVjL2hleC9vY3QgdmFsdWVzLCBidXQgdGhlIG90aGVyIGluZm9ybWF0aW9ucyBtaWdodCBiZSBtaXNzaW5nIG9yCisgIHdyb25nLgorCistIFRoZSBzZWQgc3ludGF4IGZpbGUgZG9lc24ndCB3b3JrLCBpdCBpcyBBU0NJSSBkZXBlbmRlbnQuCisKK0J1Z3M6CistLS0tLQorSWYgeW91IGZpbmQgYSBidWcgcGxlYXNlIGluZm9ybSBtZSAoc2NoYW5kbEBkZS5pYm0uY29tKSwgZG9uJ3QgZGlzdHVyYiBCcmFtCitNb29sZW5hYXIuIEl0J3MgbW9zdCBsaWtlbHkgYSBidWcgSSBpbnRyb2R1Y2VkIGR1cmluZyBwb3J0aW5nIG9yIHNvbWUgQVNDSUkKK2RlcGVuZGVuY3kgSSBkaWRuJ3Qgbm90aWNlLgorCitGZWVkYmFjazoKKy0tLS0tLS0tLQorRmVlZGJhY2sgd2VsY29tZSEgSnVzdCBkcm9wIG1lIGEgbm90ZS4KZGlmZiAtLWdpdCBhL3J1bnRpbWUvdHV0b3IvcnVudGltZS9tYWtlbWVudS52aW0gYi9ydW50aW1lL3R1dG9yL3J1bnRpbWUvbWFrZW1lbnUudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZmYTM0ZTUKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3R1dG9yL3J1bnRpbWUvbWFrZW1lbnUudmltCkBAIC0wLDAgKzEsNTgwIEBACisiIFNjcmlwdCB0byBkZWZpbmUgdGhlIHN5bnRheCBtZW51IGluIHN5bm1lbnUudmltCisiIE1haW50YWluZXI6CUJyYW0gTW9vbGVuYWFyIDxCcmFtQHZpbS5vcmc+CisiIExhc3QgQ2hhbmdlOgkyMDA4IEp1biAyNAorCisiIFRoaXMgaXMgdXNlZCBieSAibWFrZSBtZW51IiBpbiB0aGUgc3JjIGRpcmVjdG9yeS4KK2VkaXQgPHNmaWxlPjpwOmgvc3lubWVudS52aW0KKworL1RoZSBTdGFydCBPZiBUaGUgU3ludGF4IE1lbnUvKzEsL1RoZSBFbmQgT2YgVGhlIFN5bnRheCBNZW51Ly0xZAorbGV0IHM6bG51bSA9IGxpbmUoIi4iKSAtIDEKK2NhbGwgYXBwZW5kKHM6bG51bSwgIiIpCitsZXQgczpsbnVtID0gczpsbnVtICsgMQorCisiIFVzZSB0aGUgU3luTWVudSBjb21tYW5kIGFuZCBmdW5jdGlvbiB0byBkZWZpbmUgYWxsIG1lbnUgZW50cmllcworY29tbWFuZCEgLW5hcmdzPSogU3luTWVudSBjYWxsIDxTSUQ+U3luKDxxLWFyZ3M+KQorCitsZXQgczpjdXJfbWVudV9uYW1lID0gIiIKK2xldCBzOmN1cl9tZW51X25yID0gMAorbGV0IHM6Y3VyX21lbnVfaXRlbSA9IDAKK2xldCBzOmN1cl9tZW51X2NoYXIgPSAiIgorCitmdW4hIDxTSUQ+U3luKGFyZykKKyAgIiBpc29sYXRlIG1lbnUgbmFtZTogdW50aWwgdGhlIGZpcnN0IGRvdAorICBsZXQgaSA9IG1hdGNoKGE6YXJnLCAnXC4nKQorICBsZXQgbWVudV9uYW1lID0gc3RycGFydChhOmFyZywgMCwgaSkKKyAgbGV0IHIgPSBzdHJwYXJ0KGE6YXJnLCBpICsgMSwgOTk5KQorICAiIGlzb2xhdGUgc3VibWVudSBuYW1lOiB1bnRpbCB0aGUgY29sb24KKyAgbGV0IGkgPSBtYXRjaChyLCAiOiIpCisgIGxldCBzdWJtZW51X25hbWUgPSBzdHJwYXJ0KHIsIDAsIGkpCisgICIgYWZ0ZXIgdGhlIGNvbG9uIGlzIHRoZSBzeW50YXggbmFtZQorICBsZXQgc3ludGF4X25hbWUgPSBzdHJwYXJ0KHIsIGkgKyAxLCA5OTkpCisKKyAgaWYgczpjdXJfbWVudV9uYW1lICE9IG1lbnVfbmFtZQorICAgIGxldCBzOmN1cl9tZW51X25hbWUgPSBtZW51X25hbWUKKyAgICBsZXQgczpjdXJfbWVudV9uciA9IHM6Y3VyX21lbnVfbnIgKyAxMAorICAgIGxldCBzOmN1cl9tZW51X2l0ZW0gPSAxMDAKKyAgICBsZXQgczpjdXJfbWVudV9jaGFyID0gc3VibWVudV9uYW1lWzBdCisgIGVsc2UKKyAgICAiIFdoZW4gc3RhcnRpbmcgYSBuZXcgbGV0dGVyLCBpbnNlcnQgYSBtZW51IHNlcGFyYXRvci4KKyAgICBsZXQgYyA9IHN1Ym1lbnVfbmFtZVswXQorICAgIGlmIGMgIT0gczpjdXJfbWVudV9jaGFyCisgICAgICBleGUgJ2FuIDUwLicgLiBzOmN1cl9tZW51X25yIC4gJy4nIC4gczpjdXJfbWVudV9pdGVtIC4gJyAmU3ludGF4LicgLiBtZW51X25hbWUgLiAiLi0iIC4gYyAuICctIDxudWw+JworICAgICAgbGV0IHM6Y3VyX21lbnVfaXRlbSA9IHM6Y3VyX21lbnVfaXRlbSArIDEwCisgICAgICBsZXQgczpjdXJfbWVudV9jaGFyID0gYworICAgIGVuZGlmCisgIGVuZGlmCisgIGNhbGwgYXBwZW5kKHM6bG51bSwgJ2FuIDUwLicgLiBzOmN1cl9tZW51X25yIC4gJy4nIC4gczpjdXJfbWVudV9pdGVtIC4gJyAmU3ludGF4LicgLiBtZW51X25hbWUgLiAiLiIgLiBzdWJtZW51X25hbWUgLiAnIDpjYWwgU2V0U3luKCInIC4gc3ludGF4X25hbWUgLiAnIik8Q1I+JykKKyAgbGV0IHM6Y3VyX21lbnVfaXRlbSA9IHM6Y3VyX21lbnVfaXRlbSArIDEwCisgIGxldCBzOmxudW0gPSBzOmxudW0gKyAxCitlbmRmdW4KKworU3luTWVudSBBQi5BMnBzXCBjb25maWc6YTJwcworU3luTWVudSBBQi5BYXA6YWFwCitTeW5NZW51IEFCLkFCQVAvNDphYmFwCitTeW5NZW51IEFCLkFiYXF1czphYmFxdXMKK1N5bk1lbnUgQUIuQUJDXCBtdXNpY1wgbm90YXRpb246YWJjCitTeW5NZW51IEFCLkFCRUw6YWJlbAorU3luTWVudSBBQi5BY2VEQlwgbW9kZWw6YWNlZGIKK1N5bk1lbnUgQUIuQWRhOmFkYQorU3luTWVudSBBQi5BZkxleDphZmxleAorU3luTWVudSBBQi5BTFNBXCBjb25maWc6YWxzYWNvbmYKK1N5bk1lbnUgQUIuQWx0ZXJhXCBBSERMOmFoZGwKK1N5bk1lbnUgQUIuQW1pZ2FcIERPUzphbWlnYQorU3luTWVudSBBQi5BTVBMOmFtcGwKK1N5bk1lbnUgQUIuQW50XCBidWlsZFwgZmlsZTphbnQKK1N5bk1lbnUgQUIuQU5UTFI6YW50bHIKK1N5bk1lbnUgQUIuQXBhY2hlXCBjb25maWc6YXBhY2hlCitTeW5NZW51IEFCLkFwYWNoZS1zdHlsZVwgY29uZmlnOmFwYWNoZXN0eWxlCitTeW5NZW51IEFCLkFwcGxpeFwgRUxGOmVsZgorU3luTWVudSBBQi5BcmNcIE1hY3JvXCBMYW5ndWFnZTphbWwKK1N5bk1lbnUgQUIuQXJjaFwgaW52ZW50b3J5OmFyY2gKK1N5bk1lbnUgQUIuQVJUOmFydAorU3luTWVudSBBQi5BU1BcIHdpdGhcIFZCU2NyaXB0OmFzcHZicworU3luTWVudSBBQi5BU1BcIHdpdGhcIFBlcmw6YXNwcGVybAorU3luTWVudSBBQi5Bc3NlbWJseS42ODB4MDphc202OGsKK1N5bk1lbnUgQUIuQXNzZW1ibHkuRmxhdDpmYXNtCitTeW5NZW51IEFCLkFzc2VtYmx5LkdOVTphc20KK1N5bk1lbnUgQUIuQXNzZW1ibHkuR05VXCBILTgzMDA6YXNtaDgzMDAKK1N5bk1lbnUgQUIuQXNzZW1ibHkuSW50ZWxcIElBLTY0OmlhNjQKK1N5bk1lbnUgQUIuQXNzZW1ibHkuTWljcm9zb2Z0Om1hc20KK1N5bk1lbnUgQUIuQXNzZW1ibHkuTmV0d2lkZTpuYXNtCitTeW5NZW51IEFCLkFzc2VtYmx5LlBJQzpwaWMKK1N5bk1lbnUgQUIuQXNzZW1ibHkuVHVyYm86dGFzbQorU3luTWVudSBBQi5Bc3NlbWJseS5WQVhcIE1hY3JvXCBBc3NlbWJseTp2bWFzbQorU3luTWVudSBBQi5Bc3NlbWJseS5aLTgwOno4YQorU3luTWVudSBBQi5Bc3NlbWJseS54YVwgNjUwMlwgY3Jvc3NcIGFzc2VtYmVyOmE2NQorU3luTWVudSBBQi5BU05cLjE6YXNuCitTeW5NZW51IEFCLkFzdGVyaXNrXCBjb25maWc6YXN0ZXJpc2sKK1N5bk1lbnUgQUIuQXN0ZXJpc2tcIHZvaWNlbWFpbFwgY29uZmlnOmFzdGVyaXNrdm0KK1N5bk1lbnUgQUIuQXRsYXM6YXRsYXMKK1N5bk1lbnUgQUIuQXV0b0hvdEtleTphdXRvaG90a2V5CitTeW5NZW51IEFCLkF1dG9JdDphdXRvaXQKK1N5bk1lbnUgQUIuQXV0b21ha2U6YXV0b21ha2UKK1N5bk1lbnUgQUIuQXZlbnVlOmF2ZQorU3luTWVudSBBQi5Bd2s6YXdrCitTeW5NZW51IEFCLkFZYWNjOmF5YWNjCisKK1N5bk1lbnUgQUIuQjpiCitTeW5NZW51IEFCLkJhYW46YmFhbgorU3luTWVudSBBQi5CYXNpYy5GcmVlQmFzaWM6ZnJlZWJhc2ljCitTeW5NZW51IEFCLkJhc2ljLklCYXNpYzppYmFzaWMKK1N5bk1lbnUgQUIuQmFzaWMuUUJhc2ljOmJhc2ljCitTeW5NZW51IEFCLkJhc2ljLlZpc3VhbFwgQmFzaWM6dmIKK1N5bk1lbnUgQUIuQmF6YWFyXCBjb21taXRcIGZpbGU6YnpyCitTeW5NZW51IEFCLkJDXCBjYWxjdWxhdG9yOmJjCitTeW5NZW51IEFCLkJERlwgZm9udDpiZGYKK1N5bk1lbnUgQUIuQmliVGVYLkJpYmxpb2dyYXBoeVwgZGF0YWJhc2U6YmliCitTeW5NZW51IEFCLkJpYlRlWC5CaWJsaW9ncmFwaHlcIFN0eWxlOmJzdAorU3luTWVudSBBQi5CSU5ELkJJTkRcIGNvbmZpZzpuYW1lZAorU3luTWVudSBBQi5CSU5ELkJJTkRcIHpvbmU6YmluZHpvbmUKK1N5bk1lbnUgQUIuQmxhbms6YmxhbmsKKworU3luTWVudSBDLkM6YworU3luTWVudSBDLkMrKzpjcHAKK1N5bk1lbnUgQy5DIzpjcworU3luTWVudSBDLkNhbGVuZGFyOmNhbGVuZGFyCitTeW5NZW51IEMuQ2FzY2FkaW5nXCBTdHlsZVwgU2hlZXRzOmNzcworU3luTWVudSBDLkNETDpjZGwKK1N5bk1lbnUgQy5DZHJkYW9cIFRPQzpjZHJ0b2MKK1N5bk1lbnUgQy5DZHJkYW9cIGNvbmZpZzpjZHJkYW9jb25mCitTeW5NZW51IEMuQ2VudHVyeVwgVGVybTpjdGVybQorU3luTWVudSBDLkNIXCBzY3JpcHQ6Y2gKK1N5bk1lbnUgQy5DaGFuZ2VMb2c6Y2hhbmdlbG9nCitTeW5NZW51IEMuQ2hlZXRhaFwgdGVtcGxhdGU6Y2hlZXRhaAorU3luTWVudSBDLkNISUxMOmNoaWxsCitTeW5NZW51IEMuQ2hvcmRQcm86Y2hvcmRwcm8KK1N5bk1lbnUgQy5DbGVhbjpjbGVhbgorU3luTWVudSBDLkNsZXZlcjpjbAorU3luTWVudSBDLkNsaXBwZXI6Y2xpcHBlcgorU3luTWVudSBDLkNtYWtlOmNtYWtlCitTeW5NZW51IEMuQ211c3JjOmNtdXNyYworU3luTWVudSBDLkNvYm9sOmNvYm9sCitTeW5NZW51IEMuQ29jby9SOmNvY28KK1N5bk1lbnUgQy5Db2xkXCBGdXNpb246Y2YKK1N5bk1lbnUgQy5Db25hcnlcIFJlY2lwZTpjb25hcnlyZWNpcGUKK1N5bk1lbnUgQy5Db25maWcuQ2ZnXCBDb25maWdcIGZpbGU6Y2ZnCitTeW5NZW51IEMuQ29uZmlnLkNvbmZpZ3VyZVwuaW46Y29uZmlnCitTeW5NZW51IEMuQ29uZmlnLkdlbmVyaWNcIENvbmZpZ1wgZmlsZTpjb25mCitTeW5NZW51IEMuQ1JNMTE0OmNybQorU3luTWVudSBDLkNyb250YWI6Y3JvbnRhYgorU3luTWVudSBDLkNTUDpjc3AKK1N5bk1lbnUgQy5DdHJsLUg6Y3RybGgKK1N5bk1lbnUgQy5DVURBOmN1ZGEKK1N5bk1lbnUgQy5DVVBMLkNVUEw6Y3VwbAorU3luTWVudSBDLkNVUEwuU2ltdWxhdGlvbjpjdXBsc2ltCitTeW5NZW51IEMuQ1ZTLmNvbW1pdFwgZmlsZTpjdnMKK1N5bk1lbnUgQy5DVlMuY3ZzcmM6Y3ZzcmMKK1N5bk1lbnUgQy5DeW4rKzpjeW5wcAorU3luTWVudSBDLkN5bmxpYjpjeW5saWIKKworU3luTWVudSBERS5EOmQKK1N5bk1lbnUgREUuRGViaWFuLkRlYmlhblwgQ2hhbmdlTG9nOmRlYmNoYW5nZWxvZworU3luTWVudSBERS5EZWJpYW4uRGViaWFuXCBDb250cm9sOmRlYmNvbnRyb2wKK1N5bk1lbnUgREUuRGViaWFuLkRlYmlhblwgU291cmNlc1wubGlzdDpkZWJzb3VyY2VzCitTeW5NZW51IERFLkRlbnlob3N0czpkZW55aG9zdHMKK1N5bk1lbnUgREUuRGVza3RvcDpkZXNrdG9wCitTeW5NZW51IERFLkRpY3RcIGNvbmZpZzpkaWN0Y29uZgorU3luTWVudSBERS5EaWN0ZFwgY29uZmlnOmRpY3RkY29uZgorU3luTWVudSBERS5EaWZmOmRpZmYKK1N5bk1lbnUgREUuRGlnaXRhbFwgQ29tbWFuZFwgTGFuZzpkY2wKK1N5bk1lbnUgREUuRGlyY29sb3JzOmRpcmNvbG9ycworU3luTWVudSBERS5EamFuZ29cIHRlbXBsYXRlOmRqYW5nbworU3luTWVudSBERS5ETlMvQklORFwgem9uZTpiaW5kem9uZQorU3luTWVudSBERS5Eb2NCb29rLmF1dG8tZGV0ZWN0OmRvY2JrCitTeW5NZW51IERFLkRvY0Jvb2suU0dNTDpkb2Nia3NnbWwKK1N5bk1lbnUgREUuRG9jQm9vay5YTUw6ZG9jYmt4bWwKK1N5bk1lbnUgREUuRG90OmRvdAorU3luTWVudSBERS5Eb3h5Z2VuLkNcIHdpdGhcIGRveHlnZW46Yy5kb3h5Z2VuCitTeW5NZW51IERFLkRveHlnZW4uQysrXCB3aXRoXCBkb3h5Z2VuOmNwcC5kb3h5Z2VuCitTeW5NZW51IERFLkRveHlnZW4uSURMXCB3aXRoXCBkb3h5Z2VuOmlkbC5kb3h5Z2VuCitTeW5NZW51IERFLkRveHlnZW4uSmF2YVwgd2l0aFwgZG94eWdlbjpqYXZhLmRveHlnZW4KK1N5bk1lbnUgREUuRHJhY3VsYTpkcmFjdWxhCitTeW5NZW51IERFLkRTU1NMOmRzbAorU3luTWVudSBERS5EVEQ6ZHRkCitTeW5NZW51IERFLkRUTUxcIChab3BlKTpkdG1sCitTeW5NZW51IERFLkRUcmFjZTpkdHJhY2UKK1N5bk1lbnUgREUuRHlsYW4uRHlsYW46ZHlsYW4KK1N5bk1lbnUgREUuRHlsYW4uRHlsYW5cIGludGVyZmFjZTpkeWxhbmludHIKK1N5bk1lbnUgREUuRHlsYW4uRHlsYW5cIGxpZDpkeWxhbmxpZAorCitTeW5NZW51IERFLkVESUY6ZWRpZgorU3luTWVudSBERS5FaWZmZWw6ZWlmZmVsCitTeW5NZW51IERFLkVsaW5rc1wgY29uZmlnOmVsaW5rcworU3luTWVudSBERS5FbG1cIGZpbHRlclwgcnVsZXM6ZWxtZmlsdAorU3luTWVudSBERS5FbWJlZGl4XCBDb21wb25lbnRcIERlc2NyaXB0aW9uOmVjZAorU3luTWVudSBERS5FUmljc3NvblwgTEFOR3VhZ2U6ZXJsYW5nCitTeW5NZW51IERFLkVTTVRQXCByYzplc210cHJjCitTeW5NZW51IERFLkVTUUwtQzplc3FsYworU3luTWVudSBERS5Fc3NiYXNlXCBzY3JpcHQ6Y3NjCitTeW5NZW51IERFLkVzdGVyZWw6ZXN0ZXJlbAorU3luTWVudSBERS5FdGVybVwgY29uZmlnOmV0ZXJtCitTeW5NZW51IERFLkV2aWV3czpldmlld3MKK1N5bk1lbnUgREUuRXhpbVwgY29uZjpleGltCitTeW5NZW51IERFLkV4cGVjdDpleHBlY3QKK1N5bk1lbnUgREUuRXhwb3J0czpleHBvcnRzCisKK1N5bk1lbnUgRkcuRmV0Y2htYWlsOmZldGNobWFpbAorU3luTWVudSBGRy5GbGV4V2lraTpmbGV4d2lraQorU3luTWVudSBGRy5Gb2N1c1wgRXhlY3V0YWJsZTpmb2NleGVjCitTeW5NZW51IEZHLkZvY3VzXCBNYXN0ZXI6bWFzdGVyCitTeW5NZW51IEZHLkZPUk06Zm9ybQorU3luTWVudSBGRy5Gb3J0aDpmb3J0aAorU3luTWVudSBGRy5Gb3J0cmFuOmZvcnRyYW4KK1N5bk1lbnUgRkcuRm94UHJvOmZveHBybworU3luTWVudSBGRy5GcmFtZVNjcmlwdDpmcmFtZXNjcmlwdAorU3luTWVudSBGRy5Gc3RhYjpmc3RhYgorU3luTWVudSBGRy5GdndtLkZ2d21cIGNvbmZpZ3VyYXRpb246ZnZ3bTEKK1N5bk1lbnUgRkcuRnZ3bS5GdndtMlwgY29uZmlndXJhdGlvbjpmdndtMgorU3luTWVudSBGRy5GdndtLkZ2d20yXCBjb25maWd1cmF0aW9uXCB3aXRoXCBNNDpmdndtMm00CisKK1N5bk1lbnUgRkcuR0RCXCBjb21tYW5kXCBmaWxlOmdkYgorU3luTWVudSBGRy5HRE1POmdkbW8KK1N5bk1lbnUgRkcuR2VkY29tOmdlZGNvbQorU3luTWVudSBGRy5HaXQuT3V0cHV0OmdpdAorU3luTWVudSBGRy5HaXQuQ29tbWl0OmdpdGNvbW1pdAorU3luTWVudSBGRy5HaXQuQ29uZmlnOmdpdGNvbmZpZworU3luTWVudSBGRy5HaXQuUmViYXNlOmdpdHJlYmFzZQorU3luTWVudSBGRy5HaXQuU2VuZFwgRW1haWw6Z2l0c2VuZGVtYWlsCitTeW5NZW51IEZHLkdrcmVsbG1yYzpna3JlbGxtcmMKK1N5bk1lbnUgRkcuR1A6Z3AKK1N5bk1lbnUgRkcuR1BHOmdwZworU3luTWVudSBGRy5Hcm91cFwgZmlsZTpncm91cAorU3luTWVudSBGRy5HcnViOmdydWIKK1N5bk1lbnUgRkcuR05VXCBTZXJ2ZXJcIFBhZ2VzOmdzcAorU3luTWVudSBGRy5HTlVwbG90OmdudXBsb3QKK1N5bk1lbnUgRkcuR3JBRFNcIHNjcmlwdHM6Z3JhZHMKK1N5bk1lbnUgRkcuR3JldGw6Z3JldGwKK1N5bk1lbnUgRkcuR3JvZmY6Z3JvZmYKK1N5bk1lbnUgRkcuR3Jvb3Z5Omdyb292eQorU3luTWVudSBGRy5HVEtyYzpndGtyYworCitTeW5NZW51IEhJSksuSGFtc3RlcjpoYW1zdGVyCitTeW5NZW51IEhJSksuSGFza2VsbC5IYXNrZWxsOmhhc2tlbGwKK1N5bk1lbnUgSElKSy5IYXNrZWxsLkhhc2tlbGwtYzJoczpjaGFza2VsbAorU3luTWVudSBISUpLLkhhc2tlbGwuSGFza2VsbC1saXRlcmF0ZTpsaGFza2VsbAorU3luTWVudSBISUpLLkhBU1RFOmhhc3RlCitTeW5NZW51IEhJSksuSGVyY3VsZXM6aGVyY3VsZXMKK1N5bk1lbnUgSElKSy5IZXhcIGR1bXAuWFhEOnh4ZAorU3luTWVudSBISUpLLkhleFwgZHVtcC5JbnRlbFwgTUNTNTE6aGV4CitTeW5NZW51IEhJSksuSFRNTC5IVE1MOmh0bWwKK1N5bk1lbnUgSElKSy5IVE1MLkhUTUxcIHdpdGhcIE00Omh0bWxtNAorU3luTWVudSBISUpLLkhUTUwuSFRNTFwgd2l0aFwgUnVieVwgKGVSdWJ5KTplcnVieQorU3luTWVudSBISUpLLkhUTUwuQ2hlZXRhaFwgSFRNTFwgdGVtcGxhdGU6aHRtbGNoZWV0YWgKK1N5bk1lbnUgSElKSy5IVE1MLkRqYW5nb1wgSFRNTFwgdGVtcGxhdGU6aHRtbGRqYW5nbworU3luTWVudSBISUpLLkhUTUwuSFRNTC9PUzpodG1sb3MKK1N5bk1lbnUgSElKSy5IVE1MLlhIVE1MOnhodG1sCitTeW5NZW51IEhJSksuSG9zdFwuY29uZjpob3N0Y29uZgorU3luTWVudSBISUpLLkh5cGVyXCBCdWlsZGVyOmhiCitTeW5NZW51IEhJSksuSWNld21cIG1lbnU6aWNlbWVudQorU3luTWVudSBISUpLLkljb246aWNvbgorU3luTWVudSBISUpLLklETFxHZW5lcmljXCBJREw6aWRsCitTeW5NZW51IEhJSksuSURMXE1pY3Jvc29mdFwgSURMOm1zaWRsCitTeW5NZW51IEhJSksuSW5kZW50XCBwcm9maWxlOmluZGVudAorU3luTWVudSBISUpLLkluZm9ybTppbmZvcm0KK1N5bk1lbnUgSElKSy5JbmZvcm1peFwgNEdMOmZnbAorU3luTWVudSBISUpLLkluaXRuZzppbml0bmcKK1N5bk1lbnUgSElKSy5Jbml0dGFiOmluaXR0YWIKK1N5bk1lbnUgSElKSy5Jbm5vXCBzZXR1cDppc3MKK1N5bk1lbnUgSElKSy5JbnN0YWxsU2hpZWxkXCBzY3JpcHQ6aXNoZAorU3luTWVudSBISUpLLkludGVyYWN0aXZlXCBEYXRhXCBMYW5nOmlkbGFuZworU3luTWVudSBISUpLLklQZmlsdGVyOmlwZmlsdGVyCitTeW5NZW51IEhJSksuSkFMOmphbAorU3luTWVudSBISUpLLkpBTTpqYW0KK1N5bk1lbnUgSElKSy5KYXJnb246amFyZ29uCitTeW5NZW51IEhJSksuSmF2YS5KYXZhOmphdmEKK1N5bk1lbnUgSElKSy5KYXZhLkphdmFDQzpqYXZhY2MKK1N5bk1lbnUgSElKSy5KYXZhLkphdmFcIFNlcnZlclwgUGFnZXM6anNwCitTeW5NZW51IEhJSksuSmF2YS5KYXZhXCBQcm9wZXJ0aWVzOmpwcm9wZXJ0aWVzCitTeW5NZW51IEhJSksuSmF2YVNjcmlwdDpqYXZhc2NyaXB0CitTeW5NZW51IEhJSksuSmVzczpqZXNzCitTeW5NZW51IEhJSksuSmdyYXBoOmpncmFwaAorU3luTWVudSBISUpLLktjb25maWc6a2NvbmZpZworU3luTWVudSBISUpLLktERVwgc2NyaXB0OmtzY3JpcHQKK1N5bk1lbnUgSElKSy5LaW13aXR1Kys6a3d0CitTeW5NZW51IEhJSksuS2l4VGFydDpraXgKKworU3luTWVudSBMLU1hLkxhY2U6bGFjZQorU3luTWVudSBMLU1hLkxhbWRhUHJvbG9nOmxwcm9sb2cKK1N5bk1lbnUgTC1NYS5MYXR0ZTpsYXR0ZQorU3luTWVudSBMLU1hLkxkXCBzY3JpcHQ6bGQKK1N5bk1lbnUgTC1NYS5MREFQLkxESUY6bGRpZgorU3luTWVudSBMLU1hLkxEQVAuQ29uZmlndXJhdGlvbjpsZGFwY29uZgorU3luTWVudSBMLU1hLkxleDpsZXgKK1N5bk1lbnUgTC1NYS5MRlRQXCBjb25maWc6bGZ0cAorU3luTWVudSBMLU1hLkxpYmFvOmxpYmFvCitTeW5NZW51IEwtTWEuTGlmZUxpbmVzXCBzY3JpcHQ6bGlmZWxpbmVzCitTeW5NZW51IEwtTWEuTGlsbzpsaWxvCitTeW5NZW51IEwtTWEuTGltaXRzXCBjb25maWc6bGltaXRzCitTeW5NZW51IEwtTWEuTGluZGVuXCBzY3JpcHRpbmc6bHNsCitTeW5NZW51IEwtTWEuTGlzcDpsaXNwCitTeW5NZW51IEwtTWEuTGl0ZTpsaXRlCitTeW5NZW51IEwtTWEuTGl0ZVN0ZXBcIFJDOmxpdGVzdGVwCitTeW5NZW51IEwtTWEuTG9jYWxlXCBJbnB1dDpmZGNjCitTeW5NZW51IEwtTWEuTG9naW5cLmFjY2Vzczpsb2dpbmFjY2VzcworU3luTWVudSBMLU1hLkxvZ2luXC5kZWZzOmxvZ2luZGVmcworU3luTWVudSBMLU1hLkxvZ3RhbGs6bG9ndGFsaworU3luTWVudSBMLU1hLkxPVE9TOmxvdG9zCitTeW5NZW51IEwtTWEuTG90dXNTY3JpcHQ6bHNjcmlwdAorU3luTWVudSBMLU1hLkxvdXQ6bG91dAorU3luTWVudSBMLU1hLkxQQzpscGMKK1N5bk1lbnUgTC1NYS5MdWE6bHVhCitTeW5NZW51IEwtTWEuTHlueFwgU3R5bGU6bHNzCitTeW5NZW51IEwtTWEuTHlueFwgY29uZmlnOmx5bngKK1N5bk1lbnUgTC1NYS5NNDptNAorU3luTWVudSBMLU1hLk1hR2ljXCBQb2ludDptZ3AKK1N5bk1lbnUgTC1NYS5NYWlsOm1haWwKK1N5bk1lbnUgTC1NYS5NYWlsXCBhbGlhc2VzOm1haWxhbGlhc2VzCitTeW5NZW51IEwtTWEuTWFpbGNhcDptYWlsY2FwCitTeW5NZW51IEwtTWEuTWFrZWZpbGU6bWFrZQorU3luTWVudSBMLU1hLk1ha2VJbmRleDppc3QKK1N5bk1lbnUgTC1NYS5NYW5cIHBhZ2U6bWFuCitTeW5NZW51IEwtTWEuTWFuXC5jb25mOm1hbmNvbmYKK1N5bk1lbnUgTC1NYS5NYXBsZVwgVjptYXBsZQorU3luTWVudSBMLU1hLk1hc29uOm1hc29uCitTeW5NZW51IEwtTWEuTWF0aGVtYXRpY2E6bW1hCitTeW5NZW51IEwtTWEuTWF0bGFiOm1hdGxhYgorU3luTWVudSBMLU1hLk1heGltYTptYXhpbWEKKworU3luTWVudSBNZS1OTy5NRUxcIChmb3JcIE1heWEpOm1lbAorU3luTWVudSBNZS1OTy5NZXNzYWdlc1wgKC92YXIvbG9nKTptZXNzYWdlcworU3luTWVudSBNZS1OTy5NZXRhZm9udDptZgorU3luTWVudSBNZS1OTy5NZXRhUG9zdDptcAorU3luTWVudSBNZS1OTy5NR0w6bWdsCitTeW5NZW51IE1lLU5PLk1NSVg6bW1peAorU3luTWVudSBNZS1OTy5Nb2Rjb25mOm1vZGNvbmYKK1N5bk1lbnUgTWUtTk8uTW9kZWw6bW9kZWwKK1N5bk1lbnUgTWUtTk8uTW9kc2ltXCBJSUk6bW9kc2ltMworU3luTWVudSBNZS1OTy5Nb2R1bGFcIDI6bW9kdWxhMgorU3luTWVudSBNZS1OTy5Nb2R1bGFcIDM6bW9kdWxhMworU3luTWVudSBNZS1OTy5Nb25rOm1vbmsKK1N5bk1lbnUgTWUtTk8uTXBsYXllclwgY29uZmlnOm1wbGF5ZXJjb25mCitTeW5NZW51IE1lLU5PLk1PTzptb28KK1N5bk1lbnUgTWUtTk8uTXJ4dnRyYzptcnh2dHJjCitTeW5NZW51IE1lLU5PLk1TLURPUy9XaW5kb3dzLjRET1NcIFwuYmF0XCBmaWxlOmJ0bQorU3luTWVudSBNZS1OTy5NUy1ET1MvV2luZG93cy5cLmJhdFwvXC5jbWRcIGZpbGU6ZG9zYmF0Y2gKK1N5bk1lbnUgTWUtTk8uTVMtRE9TL1dpbmRvd3MuXC5pbmlcIGZpbGU6ZG9zaW5pCitTeW5NZW51IE1lLU5PLk1TLURPUy9XaW5kb3dzLk1lc3NhZ2VcIHRleHQ6bXNtZXNzYWdlcworU3luTWVudSBNZS1OTy5NUy1ET1MvV2luZG93cy5Nb2R1bGVcIERlZmluaXRpb246ZGVmCitTeW5NZW51IE1lLU5PLk1TLURPUy9XaW5kb3dzLlJlZ2lzdHJ5OnJlZ2lzdHJ5CitTeW5NZW51IE1lLU5PLk1TLURPUy9XaW5kb3dzLlJlc291cmNlXCBmaWxlOnJjCitTeW5NZW51IE1lLU5PLk1zcWw6bXNxbAorU3luTWVudSBNZS1OTy5NdVBBRDptdXBhZAorU3luTWVudSBNZS1OTy5NVVNIY29kZTptdXNoCitTeW5NZW51IE1lLU5PLk11dHRyYzptdXR0cmMKK1N5bk1lbnUgTWUtTk8uTmFub3JjOm5hbm9yYworU3luTWVudSBNZS1OTy5OYXN0cmFuXCBpbnB1dC9ETUFQOm5hc3RyYW4KK1N5bk1lbnUgTWUtTk8uTmF0dXJhbDpuYXR1cmFsCitTeW5NZW51IE1lLU5PLk5ldHJjOm5ldHJjCitTeW5NZW51IE1lLU5PLk5vdmVsbFwgTkNGXCBiYXRjaDpuY2YKK1N5bk1lbnUgTWUtTk8uTm90XCBRdWl0ZVwgQ1wgKExFR08pOm5xYworU3luTWVudSBNZS1OTy5Ocm9mZjpucm9mZgorU3luTWVudSBNZS1OTy5OU0lTXCBzY3JpcHQ6bnNpcworU3luTWVudSBNZS1OTy5PYmplY3RpdmVcIEM6b2JqYworU3luTWVudSBNZS1OTy5PYmplY3RpdmVcIEMrKzpvYmpjcHAKK1N5bk1lbnUgTWUtTk8uT0NBTUw6b2NhbWwKK1N5bk1lbnUgTWUtTk8uT2NjYW06b2NjYW0KK1N5bk1lbnUgTWUtTk8uT21uaW1hcms6b21uaW1hcmsKK1N5bk1lbnUgTWUtTk8uT3BlblJPQUQ6b3BlbnJvYWQKK1N5bk1lbnUgTWUtTk8uT3BlblwgUHNpb25cIExhbmc6b3BsCitTeW5NZW51IE1lLU5PLk9yYWNsZVwgY29uZmlnOm9yYQorCitTeW5NZW51IFBRLlBhY2tldFwgZmlsdGVyXCBjb25mOnBmCitTeW5NZW51IFBRLlBhbG1cIHJlc291cmNlXCBjb21waWxlcjpwaWxyYworU3luTWVudSBQUS5QYW1cIGNvbmZpZzpwYW1jb25mCitTeW5NZW51IFBRLlBBcHA6cGFwcAorU3luTWVudSBQUS5QYXNjYWw6cGFzY2FsCitTeW5NZW51IFBRLlBhc3N3b3JkXCBmaWxlOnBhc3N3ZAorU3luTWVudSBQUS5QQ0NUUzpwY2N0cworU3luTWVudSBQUS5QREY6cGRmCitTeW5NZW51IFBRLlBlcmwuUGVybDpwZXJsCitTeW5NZW51IFBRLlBlcmwuUGVybFwgUE9EOnBvZAorU3luTWVudSBQUS5QZXJsLlBlcmxcIFhTOnhzCitTeW5NZW51IFBRLlBIUC5QSFBcIDMtNDpwaHAKK1N5bk1lbnUgUFEuUEhQLlBodG1sXCAoUEhQXCAyKTpwaHRtbAorU3luTWVudSBQUS5QaWtlOnBpa2UKK1N5bk1lbnUgUFEuUGluZVwgUkM6cGluZQorU3luTWVudSBQUS5QaW5mb1wgUkM6cGluZm8KK1N5bk1lbnUgUFEuUEwvTTpwbG0KK1N5bk1lbnUgUFEuUEwvU1FMOnBsc3FsCitTeW5NZW51IFBRLlBMUDpwbHAKK1N5bk1lbnUgUFEuUE9cIChHTlVcIGdldHRleHQpOnBvCitTeW5NZW51IFBRLlBvc3RmaXhcIG1haW5cIGNvbmZpZzpwZm1haW4KK1N5bk1lbnUgUFEuUG9zdFNjcmlwdC5Qb3N0U2NyaXB0OnBvc3RzY3IKK1N5bk1lbnUgUFEuUG9zdFNjcmlwdC5Qb3N0U2NyaXB0XCBQcmludGVyXCBEZXNjcmlwdGlvbjpwcGQKK1N5bk1lbnUgUFEuUG92cmF5LlBvdnJheVwgc2NlbmVcIGRlc2NyOnBvdgorU3luTWVudSBQUS5Qb3ZyYXkuUG92cmF5XCBjb25maWd1cmF0aW9uOnBvdmluaQorU3luTWVudSBQUS5QUFdpemFyZDpwcHdpegorU3luTWVudSBQUS5QcmVzY3JpYmVcIChLeW9jZXJhKTpwcmVzY3JpYmUKK1N5bk1lbnUgUFEuUHJpbnRjYXA6cGNhcAorU3luTWVudSBQUS5Qcml2b3h5OnByaXZveHkKK1N5bk1lbnUgUFEuUHJvY21haWw6cHJvY21haWwKK1N5bk1lbnUgUFEuUHJvZHVjdFwgU3BlY1wgRmlsZTpwc2YKK1N5bk1lbnUgUFEuUHJvZ3Jlc3M6cHJvZ3Jlc3MKK1N5bk1lbnUgUFEuUHJvbG9nOnByb2xvZworU3luTWVudSBQUS5Qcm9NZUxhOnByb21lbGEKK1N5bk1lbnUgUFEuUHJvdG9jb2xzOnByb3RvY29scworU3luTWVudSBQUS5QdXJpZnlcIGxvZzpwdXJpZnlsb2cKK1N5bk1lbnUgUFEuUHlyZXg6cHlyZXgKK1N5bk1lbnUgUFEuUHl0aG9uOnB5dGhvbgorU3luTWVudSBQUS5RdWFrZTpxdWFrZQorU3luTWVudSBQUS5RdWlja2ZpeFwgd2luZG93OnFmCisKK1N5bk1lbnUgUi1TZy5SLlI6cgorU3luTWVudSBSLVNnLlIuUlwgaGVscDpyaGVscAorU3luTWVudSBSLVNnLlIuUlwgbm93ZWI6cm5vd2ViCitTeW5NZW51IFItU2cuUmFjY1wgaW5wdXQ6cmFjYworU3luTWVudSBSLVNnLlJhZGlhbmNlOnJhZGlhbmNlCitTeW5NZW51IFItU2cuUmF0cG9pc29uOnJhdHBvaXNvbgorU3luTWVudSBSLVNnLlJDUy5SQ1NcIGxvZ1wgb3V0cHV0OnJjc2xvZworU3luTWVudSBSLVNnLlJDUy5SQ1NcIGZpbGU6cmNzCitTeW5NZW51IFItU2cuUmVhZGxpbmVcIGNvbmZpZzpyZWFkbGluZQorU3luTWVudSBSLVNnLlJlYm9sOnJlYm9sCitTeW5NZW51IFItU2cuUmVtaW5kOnJlbWluZAorU3luTWVudSBSLVNnLlJlbGF4XCBOR1wgY29tcGFjdDpybmMKK1N5bk1lbnUgUi1TZy5SZW5kZXJtYW4uUmVuZGVybWFuXCBTaGFkZXJcIExhbmc6c2wKK1N5bk1lbnUgUi1TZy5SZW5kZXJtYW4uUmVuZGVybWFuXCBJbnRlcmZhY2VcIEJ5dGVzdHJlYW06cmliCitTeW5NZW51IFItU2cuUmVzb2x2XC5jb25mOnJlc29sdgorU3luTWVudSBSLVNnLlJldmFcIEZvcnRoOnJldmEKK1N5bk1lbnUgUi1TZy5SZXh4OnJleHgKK1N5bk1lbnUgUi1TZy5Sb2JvdHNcLnR4dDpyb2JvdHMKK1N5bk1lbnUgUi1TZy5Sb2NrTGludXhcIHBhY2thZ2VcIGRlc2NcLjpkZXNjCitTeW5NZW51IFItU2cuUnBjZ2VuOnJwY2dlbgorU3luTWVudSBSLVNnLlJQTC8yOnJwbAorU3luTWVudSBSLVNnLlJlU3RydWN0dXJlZFRleHQ6cnN0CitTeW5NZW51IFItU2cuUlRGOnJ0ZgorU3luTWVudSBSLVNnLlJ1Ynk6cnVieQorU3luTWVudSBSLVNnLlMtTGFuZzpzbGFuZworU3luTWVudSBSLVNnLlNhbWJhXCBjb25maWc6c2FtYmEKK1N5bk1lbnUgUi1TZy5TQVM6c2FzCitTeW5NZW51IFItU2cuU2F0aGVyOnNhdGhlcgorU3luTWVudSBSLVNnLlNjaGVtZTpzY2hlbWUKK1N5bk1lbnUgUi1TZy5TY2lsYWI6c2NpbGFiCitTeW5NZW51IFItU2cuU2NyZWVuXCBSQzpzY3JlZW4KK1N5bk1lbnUgUi1TZy5TREw6c2RsCitTeW5NZW51IFItU2cuU2VkOnNlZAorU3luTWVudSBSLVNnLlNlbmRtYWlsXC5jZjpzbQorU3luTWVudSBSLVNnLlNlbmQtcHI6c2VuZHByCitTeW5NZW51IFItU2cuU2Vuc29yc1wuY29uZjpzZW5zb3JzCitTeW5NZW51IFItU2cuU2VydmljZVwgTG9jYXRpb25cIGNvbmZpZzpzbHBjb25mCitTeW5NZW51IFItU2cuU2VydmljZVwgTG9jYXRpb25cIHJlZ2lzdHJhdGlvbjpzbHByZWcKK1N5bk1lbnUgUi1TZy5TZXJ2aWNlXCBMb2NhdGlvblwgU1BJOnNscHNwaQorU3luTWVudSBSLVNnLlNlcnZpY2VzOnNlcnZpY2VzCitTeW5NZW51IFItU2cuU2V0c2VyaWFsXCBjb25maWc6c2V0c2VyaWFsCitTeW5NZW51IFItU2cuU0dNTC5TR01MXCBjYXRhbG9nOmNhdGFsb2cKK1N5bk1lbnUgUi1TZy5TR01MLlNHTUxcIERURDpzZ21sCitTeW5NZW51IFItU2cuU0dNTC5TR01MXCBEZWNsYXJhdGlvbjpzZ21sZGVjbAorU3luTWVudSBSLVNnLlNHTUwuU0dNTC1saW51eGRvYzpzZ21sbG54CisKK1N5bk1lbnUgU2gtUy5TaGVsbFwgc2NyaXB0LnNoXCBhbmRcIGtzaDpzaAorU3luTWVudSBTaC1TLlNoZWxsXCBzY3JpcHQuY3NoOmNzaAorU3luTWVudSBTaC1TLlNoZWxsXCBzY3JpcHQudGNzaDp0Y3NoCitTeW5NZW51IFNoLVMuU2hlbGxcIHNjcmlwdC56c2g6enNoCitTeW5NZW51IFNoLVMuU2lDQUQ6c2ljYWQKK1N5bk1lbnUgU2gtUy5TaWV2ZTpzaWV2ZQorU3luTWVudSBTaC1TLlNpbXVsYTpzaW11bGEKK1N5bk1lbnUgU2gtUy5TaW5kYS5TaW5kYVwgY29tcGFyZTpzaW5kYWNtcAorU3luTWVudSBTaC1TLlNpbmRhLlNpbmRhXCBpbnB1dDpzaW5kYQorU3luTWVudSBTaC1TLlNpbmRhLlNpbmRhXCBvdXRwdXQ6c2luZGFvdXQKK1N5bk1lbnUgU2gtUy5TaVNVOnNpc3UKK1N5bk1lbnUgU2gtUy5TS0lMTC5TS0lMTDpza2lsbAorU3luTWVudSBTaC1TLlNLSUxMLlNLSUxMXCBmb3JcIERpdmE6ZGl2YQorU3luTWVudSBTaC1TLlNsaWNlOnNsaWNlCitTeW5NZW51IFNoLVMuU0xSTi5TbHJuXCByYzpzbHJucmMKK1N5bk1lbnUgU2gtUy5TTFJOLlNscm5cIHNjb3JlOnNscm5zYworU3luTWVudSBTaC1TLlNtYWxsVGFsazpzdAorU3luTWVudSBTaC1TLlNtYXJ0eVwgVGVtcGxhdGVzOnNtYXJ0eQorU3luTWVudSBTaC1TLlNNSUw6c21pbAorU3luTWVudSBTaC1TLlNNSVRIOnNtaXRoCitTeW5NZW51IFNoLVMuU05NUFwgTUlCOm1pYgorU3luTWVudSBTaC1TLlNOTlMuU05OU1wgbmV0d29yazpzbm5zbmV0CitTeW5NZW51IFNoLVMuU05OUy5TTk5TXCBwYXR0ZXJuOnNubnNwYXQKK1N5bk1lbnUgU2gtUy5TTk5TLlNOTlNcIHJlc3VsdDpzbm5zcmVzCitTeW5NZW51IFNoLVMuU25vYm9sNDpzbm9ib2w0CitTeW5NZW51IFNoLVMuU25vcnRcIENvbmZpZ3VyYXRpb246aG9nCitTeW5NZW51IFNoLVMuU1BFQ1wgKExpbnV4XCBSUE0pOnNwZWMKK1N5bk1lbnUgU2gtUy5TcGVjbWFuOnNwZWNtYW4KK1N5bk1lbnUgU2gtUy5TcGljZTpzcGljZQorU3luTWVudSBTaC1TLlNweWNlOnNweWNlCitTeW5NZW51IFNoLVMuU3BlZWR1cDpzcHVwCitTeW5NZW51IFNoLVMuU3BsaW50OnNwbGludAorU3luTWVudSBTaC1TLlNxdWlkXCBjb25maWc6c3F1aWQKK1N5bk1lbnUgU2gtUy5TUUwuRVNRTC1DOmVzcWxjCitTeW5NZW51IFNoLVMuU1FMLk15U1FMOm15c3FsCitTeW5NZW51IFNoLVMuU1FMLlBML1NRTDpwbHNxbAorU3luTWVudSBTaC1TLlNRTC5TUUxcIEFueXdoZXJlOnNxbGFueXdoZXJlCitTeW5NZW51IFNoLVMuU1FMLlNRTFwgKGF1dG9tYXRpYyk6c3FsCitTeW5NZW51IFNoLVMuU1FMLlNRTFwgKE9yYWNsZSk6c3Fsb3JhY2xlCitTeW5NZW51IFNoLVMuU1FMLlNRTFwgRm9ybXM6c3FsZm9ybXMKK1N5bk1lbnUgU2gtUy5TUUwuU1FMSjpzcWxqCitTeW5NZW51IFNoLVMuU1FMLlNRTC1JbmZvcm1peDpzcWxpbmZvcm1peAorU3luTWVudSBTaC1TLlNRUjpzcXIKK1N5bk1lbnUgU2gtUy5Tc2guc3NoX2NvbmZpZzpzc2hjb25maWcKK1N5bk1lbnUgU2gtUy5Tc2guc3NoZF9jb25maWc6c3NoZGNvbmZpZworU3luTWVudSBTaC1TLlN0YW5kYXJkXCBNTDpzbWwKK1N5bk1lbnUgU2gtUy5TdGF0YS5TTUNMOnNtY2wKK1N5bk1lbnUgU2gtUy5TdGF0YS5TdGF0YTpzdGF0YQorU3luTWVudSBTaC1TLlN0b3JlZFwgUHJvY2VkdXJlczpzdHAKK1N5bk1lbnUgU2gtUy5TdHJhY2U6c3RyYWNlCitTeW5NZW51IFNoLVMuU3RyZWFtaW5nXCBkZXNjcmlwdG9yXCBmaWxlOnNkCitTeW5NZW51IFNoLVMuU3VidmVyc2lvblwgY29tbWl0OnN2bgorU3luTWVudSBTaC1TLlN1ZG9lcnM6c3Vkb2VycworU3luTWVudSBTaC1TLlN5bWJpYW5cIG1ldGEtbWFrZWZpbGU6bW1wCitTeW5NZW51IFNoLVMuU3lzY3RsXC5jb25mOnN5c2N0bAorCitTeW5NZW51IFRVVi5UQURTOnRhZHMKK1N5bk1lbnUgVFVWLlRhZ3M6dGFncworU3luTWVudSBUVVYuVEFLLlRBS1wgY29tcGFyZTp0YWtjbXAKK1N5bk1lbnUgVFVWLlRBSy5UQUtcIGlucHV0OnRhaworU3luTWVudSBUVVYuVEFLLlRBS1wgb3V0cHV0OnRha291dAorU3luTWVudSBUVVYuVGNsL1RrOnRjbAorU3luTWVudSBUVVYuVGVhbEluZm86dGxpCitTeW5NZW51IFRVVi5UZWxpeFwgU2FsdDp0c2FsdAorU3luTWVudSBUVVYuVGVybWNhcC9QcmludGNhcDpwdGNhcAorU3luTWVudSBUVVYuVGVybWluZm86dGVybWluZm8KK1N5bk1lbnUgVFVWLlRlWC5UZVgvTGFUZVg6dGV4CitTeW5NZW51IFRVVi5UZVgucGxhaW5cIFRlWDpwbGFpbnRleAorU3luTWVudSBUVVYuVGVYLkNvblRlWHQ6Y29udGV4dAorU3luTWVudSBUVVYuVGVYLlRlWFwgY29uZmlndXJhdGlvbjp0ZXhtZgorU3luTWVudSBUVVYuVGVYLlRleGluZm86dGV4aW5mbworU3luTWVudSBUVVYuVEZcIG11ZFwgY2xpZW50OnRmCitTeW5NZW51IFRVVi5UaWR5XCBjb25maWd1cmF0aW9uOnRpZHkKK1N5bk1lbnUgVFVWLlRpbGRlOnRpbGRlCitTeW5NZW51IFRVVi5UUFA6dHBwCitTeW5NZW51IFRVVi5UcmFzeXNcIGlucHV0OnRyYXN5cworU3luTWVudSBUVVYuVHJ1c3RlZXM6dHJ1c3RlZXMKK1N5bk1lbnUgVFVWLlRTUy5Db21tYW5kXCBMaW5lOnRzc2NsCitTeW5NZW51IFRVVi5UU1MuR2VvbWV0cnk6dHNzZ20KK1N5bk1lbnUgVFVWLlRTUy5PcHRpY3M6dHNzb3AKK1N5bk1lbnUgVFVWLlVkZXZcIGNvbmZpZzp1ZGV2Y29uZgorU3luTWVudSBUVVYuVWRldlwgcGVybWlzc2lvbnM6dWRldnBlcm0KK1N5bk1lbnUgVFVWLlVkZXZcIHJ1bGVzOnVkZXZydWxlcworU3luTWVudSBUVVYuVUlUL1VJTDp1aWwKK1N5bk1lbnUgVFVWLlVucmVhbFNjcmlwdDp1YworU3luTWVudSBUVVYuVXBkYXRlZGJcLmNvbmY6dXBkYXRlZGIKK1N5bk1lbnUgVFVWLlZhbGdyaW5kOnZhbGdyaW5kCitTeW5NZW51IFRVVi5WZXJhOnZlcmEKK1N5bk1lbnUgVFVWLlZlcmlsb2ctQU1TXCBIREw6dmVyaWxvZ2FtcworU3luTWVudSBUVVYuVmVyaWxvZ1wgSERMOnZlcmlsb2cKK1N5bk1lbnUgVFVWLlZncmluZGVmczp2Z3JpbmRlZnMKK1N5bk1lbnUgVFVWLlZIREw6dmhkbAorU3luTWVudSBUVVYuVmltLlZpbVwgaGVscFwgZmlsZTpoZWxwCitTeW5NZW51IFRVVi5WaW0uVmltXCBzY3JpcHQ6dmltCitTeW5NZW51IFRVVi5WaW0uVmltaW5mb1wgZmlsZTp2aW1pbmZvCitTeW5NZW51IFRVVi5WaXJhdGFcIGNvbmZpZzp2aXJhdGEKK1N5bk1lbnUgVFVWLlZpc3VhbFwgQmFzaWM6dmIKK1N5bk1lbnUgVFVWLlZPU1wgQ01cIG1hY3JvOnZvc2NtCitTeW5NZW51IFRVVi5WUk1MOnZybWwKK1N5bk1lbnUgVFVWLlZTRVwgSkNMOnZzZWpjbAorCitTeW5NZW51IFdYWVouV0VCLkNXRUI6Y3dlYgorU3luTWVudSBXWFlaLldFQi5XRUI6d2ViCitTeW5NZW51IFdYWVouV0VCLldFQlwgQ2hhbmdlczpjaGFuZ2UKK1N5bk1lbnUgV1hZWi5XZWJtYWNybzp3ZWJtYWNybworU3luTWVudSBXWFlaLldlYnNpdGVcIE1ldGFMYW5ndWFnZTp3bWwKK1N5bk1lbnUgV1hZWi53RGlmZjp3ZGlmZgorU3luTWVudSBXWFlaLldnZXRcIGNvbmZpZzp3Z2V0CitTeW5NZW51IFdYWVouV2hpdGVzcGFjZVwgKGFkZCk6d2hpdGVzcGFjZQorU3luTWVudSBXWFlaLldpbGRQYWNrZXRzXCBFdGhlclBlZWtcIERlY29kZXI6ZGNkCitTeW5NZW51IFdYWVouV2luQmF0Y2gvV2ViYmF0Y2g6d2luYmF0Y2gKK1N5bk1lbnUgV1hZWi5XaW5kb3dzXCBTY3JpcHRpbmdcIEhvc3Q6d3NoCitTeW5NZW51IFdYWVouV1NNTDp3c21sCitTeW5NZW51IFdYWVouV3ZEaWFsOnd2ZGlhbAorU3luTWVudSBXWFlaLlhcIEtleWJvYXJkXCBFeHRlbnNpb246eGtiCitTeW5NZW51IFdYWVouWFwgUGl4bWFwOnhwbQorU3luTWVudSBXWFlaLlhcIFBpeG1hcFwgKDIpOnhwbTIKK1N5bk1lbnUgV1hZWi5YXCByZXNvdXJjZXM6eGRlZmF1bHRzCitTeW5NZW51IFdYWVouWEJMOnhibAorU3luTWVudSBXWFlaLlhpbmV0ZFwuY29uZjp4aW5ldGQKK1N5bk1lbnUgV1hZWi5YbW9kbWFwOnhtb2RtYXAKK1N5bk1lbnUgV1hZWi5YbWF0aDp4bWF0aAorU3luTWVudSBXWFlaLlhNTDp4bWwKK1N5bk1lbnUgV1hZWi5YTUxcIFNjaGVtYVwgKFhTRCk6eHNkCitTeW5NZW51IFdYWVouWFF1ZXJ5OnhxdWVyeQorU3luTWVudSBXWFlaLlhzbHQ6eHNsdAorU3luTWVudSBXWFlaLlhGcmVlODZcIENvbmZpZzp4Zjg2Y29uZgorU3luTWVudSBXWFlaLllBTUw6eWFtbAorU3luTWVudSBXWFlaLllhY2M6eWFjYworCitjYWxsIGFwcGVuZChzOmxudW0sICIiKQorCit3cQpkaWZmIC0tZ2l0IGEvcnVudGltZS90dXRvci9ydW50aW1lL3ZpbTQ4eDQ4LmdpZiBiL3J1bnRpbWUvdHV0b3IvcnVudGltZS92aW00OHg0OC5naWYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmJlMTgyZQotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvdHV0b3IvcnVudGltZS92aW00OHg0OC5naWYKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvcnVudGltZS90dXRvci9zcmMuaW5mbyBiL3J1bnRpbWUvdHV0b3Ivc3JjLmluZm8KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMWFiN2M2YwotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvdHV0b3Ivc3JjLmluZm8KQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvcnVudGltZS90dXRvci90dXRvci5lbC51dGYtOCBiL3J1bnRpbWUvdHV0b3IvdHV0b3IuZWwudXRmLTgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjZjMDhlMQotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvdHV0b3IvdHV0b3IuZWwudXRmLTgKQEAgLTAsMCArMSw4MTUgQEAKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKz0gICAgzpogzrHOuyDPiSDPgyDOriDPgSDOuCDOsSDPhCDOtSAgICDPgyDPhCDOvyAgIFYgSSBNICAgVCB1IHQgbyByICAgIC0gICAgzojOus60zr/Pg863IDEuNSAgICAgPQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCisgICAgIM6fIFZpbSDOtc6vzr3Osc65IM6tzr3Osc+CIM+AzrHOvc6vz4PPh8+Fz4HOv8+CIM+Dz4XOvc+EzqzOus+EzrfPgiDPgM6/z4Ugzq3Ph861zrkgz4DOv867zrvOrc+CIM61zr3PhM6/zrvOrc+CLCDPgM6sz4HOsQorICAgICDPgM6/zrvOu86tz4IgzrPOuc6xIM69zrEgzrXOvs63zrPOrs+Dzr/Phc68zrUgz4POtSDOvM6vzrEgz4DOtc+BzrnOrs6zzrfPg863IM+Mz4DPic+CIM6xz4XPhM6uLiDOkc+Fz4TOriDOtyDPgM61z4HOuc6uzrPOt8+DzrcKKyAgICAgz4PPh861zrTOuc6sz4PPhM63zrrOtSDOs865zrEgzr3OsSDPgM61z4HOuc6zz4HOrM+IzrXOuSDOuc66zrHOvc6/z4DOv865zrfPhM65zrrOrCDPhM65z4IgzrXOvc+Ezr/Ou86tz4Igz4DOv8+FIM64zrEgz4POsc+CCisgICAgIM66zqzOvc6/z4XOvSDOvc6xIM+Hz4HOt8+DzrnOvM6/z4DOv865zrXOr8+EzrUgzrXPjc66zr/Ou86xIM+Ezr/OvSBWaW0gz4POsc69IM6tzr3Osc69IM6zzrXOvc65zrrOrs+CIM+Hz4HOrs+DzrfPgiDPg8+Fzr3PhM6szrrPhM63LgorCisgICAgIM6fIM66zrHPhM6sIM+Az4HOv8+Dzq3Os86zzrnPg863IM+Hz4HPjM69zr/PgiDPgM6/z4UgzrHPgM6xzrnPhM61zq/PhM6xzrkgzrPOuc6xIM69zrEgzr/Ou86/zrrOu863z4HPjs+DzrXPhM61IM+EzrfOvSDPgM61z4HOuc6uzrPOt8+DzrcKKyAgICAgzrXOr869zrHOuSAyNS0zMCDOu861z4DPhM6sLCDOtc6+zrHPgc+Ez47Ovc+EzrHPgiDOsc+Az4wgz4TOvyDPgM+Mz4POvyDPh8+Bz4zOvc6/IM64zrEgzr7Ov860zq3PiM61z4TOtSDOs865zrEKKyAgICAgz4DOtc65z4HOsc68zrHPhM65z4POvM6/z43Pgi4KKworICAgICDOn865IM61zr3PhM6/zrvOrc+CIM+Dz4TOsSDOvM6xzrjOrs68zrHPhM6xIM64zrEgz4TPgc6/z4DOv8+Azr/Ouc6uz4POv8+Fzr0gz4TOvyDOus61zq/OvM61zr3Ovy4gzpTOt868zrnOv8+Fz4HOs86uz4PPhM61IM6tzr3OsQorICAgICDOsc69z4TOr86zz4HOsc+Gzr8gzrHPhc+Ezr/PjSDPhM6/z4UgzrHPgc+HzrXOr86/z4UgzrPOuc6xIM69zrEgzrXOvs6xz4POus63zrjOtc6vz4TOtSAozrHOvSDOvs61zrrOuc69zq7Pg86xz4TOtSDPhM6/CisgICAgICJWaW10dXRvciIgzrHPhc+Ez4wgzrXOr869zrHOuSDOrs60zrcgzq3Ovc6xIM6xzr3PhM6vzrPPgc6xz4bOvykuCisKKyAgICAgzpXOr869zrHOuSDPg863zrzOsc69z4TOuc66z4wgzr3OsSDOuM+FzrzOrM+Dz4TOtSDPjM+EzrkgzrHPhc+Ezq4gzrcgz4DOtc+BzrnOrs6zzrfPg863IM61zq/Ovc6xzrkgzr/Pgc6zzrHOvc+JzrzOrc69zrcgzq3PhM+DzrkKKyAgICAgz47Pg8+EzrUgzr3OsSDOtM65zrTOrM+DzrrOtc65IM68zq3Pg8+JIM+EzrfPgiDPh8+Bzq7Pg863z4IuIM6Rz4XPhM+MIM+DzrfOvM6xzq/Ovc61zrkgz4zPhM65IM+Hz4HOtc65zqzOts61z4TOsc65IM69zrEKKyAgICAgzrXOus+EzrXOu861zq/PhM61IM+EzrnPgiDOtc69z4TOv867zq3PgiDOs865zrEgzr3OsSDPhM65z4IgzrzOrM64zrXPhM61IM+Dz4nPg8+EzqwuIM6Rzr0gzrTOuc6xzrLOrM62zrXPhM61IM68z4zOvc6/IM+Ezr8KKyAgICAgzrrOtc6vzrzOtc69zr8sIM64zrEgz4TOuc+CIM6+zrXPh86sz4POtc+EzrUhCisKKyAgICAgzqTPjs+BzrEsIM6yzrXOss6xzrnPic64zrXOr8+EzrUgz4zPhM65IM+Ezr8gz4DOu86uzrrPhM+Bzr8gU2hpZnQtTG9jayDOlM6Vzp0gzrXOr869zrHOuSDPgM6xz4TOt868zq3Ovc6/IM66zrHOuQorICAgICDPgM6xz4TOrs+Dz4TOtSDPhM6/IM+AzrvOrs66z4TPgc6/IGogzrHPgc66zrXPhM6tz4Igz4bOv8+Bzq3PgiDOs865zrEgzr3OsSDOvM61z4TOsc66zrnOvc6uz4POtc+EzrUgz4TOv869IM60z4HOv868zq3OsSDOrc+Ez4POuQorICAgICDPjs+Dz4TOtSDPhM6/IM6czqzOuM63zrzOsSAxLjEgzr3OsSDOs861zrzOr8+DzrXOuSDPgM67zq7Pgc+Jz4Igz4TOt869IM6/zrjPjM69zrcuCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJICAgICAgzpzOrM64zrfOvM6xIDEuMTogIM6czpXOpM6RzprOmc6dzp/Onc6kzpHOoyDOpM6fzp0gzpTOoc6fzpzOlc6RCisKKyAgKiogzpPOuc6xIM69zrEgzrrOuc69zq7Pg861z4TOtSDPhM6/zr0gzrTPgc6/zrzOrc6xLCDPgM6xz4TOrs+Dz4TOtSDPhM6xIM+AzrvOrs66z4TPgc6xIGgsaixrLGwgz4zPgM+Jz4IgzrTOtc6vz4fOvc61z4TOsc65LiAqKgorCSAgICAgXgorCSAgICAgawkgICAgICBIaW50OiDOpM6/IM+AzrvOrs66z4TPgc6/IGggzrXOr869zrHOuSDOsc+BzrnPg8+EzrXPgc6sIM66zrHOuSDOus65zr3Otc6vIM+Dz4QnIM6xz4HOuc+Dz4TOtc+BzqwuCisgICAgICAgPCBoCSBsID4JICAgIM6kzr8gz4DOu86uzrrPhM+Bzr8gbCDOtc6vzr3Osc65IM60zrXOvs65zqwgzrrOsc65IM66zrnOvc61zq8gz4PPhM6xIM60zrXOvs65zqwuCisJICAgICBqCQkgICAgzqTOvyDPgM67zq7Ous+Ez4HOvyBqIM68zr/Ouc6szrbOtc65IM68zrUgzrLOtc67zqzOus65IM+Az4HOv8+CIM+EzrEgzrrOrM+Ez4kuCisJICAgICB2CisKKyAgMS4gzpzOtc+EzrHOus65zr3Otc6vz4PPhM61IM+Ezr/OvSDOtM+Bzr/OvM6tzrEgz4TPgc65zrPPjc+Bz4kgz4PPhM63zr0gzr/OuM+Mzr3OtyDOvM6tz4fPgc65IM69zrEgzr3Ov865z47OuM61z4TOtSDOrM69zrXPhM6xLgorCisgIDIuIM6az4HOsc+Ezq7Pg8+EzrUgz4DOsc+EzrfOvM6tzr3OvyDPhM6/IM66zqzPhM+JIM+AzrvOrs66z4TPgc6/IChqKSDOvM6tz4fPgc65IM69zrEgzrXPgM6xzr3Osc67zrfPhs64zrXOry4KKy0tLT4gzqTPjs+BzrEgzr7Orc+BzrXPhM61IM+Az47PgiDOvc6xIM68zrXPhM6xzrrOuc69zrfOuM61zq/PhM61IM+Dz4TOvyDOtc+Az4zOvM61zr3OvyDOvM6szrjOt868zrEuCisKKyAgMy4gzqfPgc63z4POuc68zr/PgM6/zrnPjs69z4TOsc+CIM+Ezr8gzrrOrM+Ez4kgz4DOu86uzrrPhM+Bzr8sIM68zrXPhM6xzrrOuc69zrfOuM61zq/PhM61IM+Dz4TOvyDOnM6szrjOt868zrEgMS4yLgorCivOo863zrzOtc6vz4nPg863OiDOkc69IM6xzrzPhs65zrLOrM67zrvOtc+EzrUgzrPOuc6xIM66zqzPhM65IM+Azr/PhSDPgM6xz4TOrs+DzrHPhM61LCDPgM6xz4TOrs+Dz4TOtSA8RVNDPiDOs865zrEgzr3OsSDOss+BzrXOuM61zq/PhM61CisJICDPg8+EzrfOvSDOms6xzr3Ov869zrnOus6uIM6azrHPhM6sz4PPhM6xz4POty4gzpzOtc+Ezqwgz4DOsc+Ezq7Pg8+EzrUgzr7Osc69zqwgz4TOt869IM61zr3PhM6/zrvOriDPgM6/z4UgzrjOrc67zrHPhM61LgorCivOo863zrzOtc6vz4nPg863OiDOpM6xIM+AzrvOrs66z4TPgc6xIM+Ezr/PhSDOtM+Bzr/OvM6tzrEgzrjOsSDPgM+Bzq3PgM61zrkgzrXPgM6vz4POt8+CIM69zrEgzrTOv8+FzrvOtc+Nzr/Phc69LiDOkc67zrvOrCDOvM61IM+EzrEgaGprbAorCSAgzrjOsSDOvM+Azr/Pgc61zq/PhM61IM69zrEgzrrOuc69zrfOuM61zq/PhM61IM+Azr/Ou8+NIM6zz4HOt86zzr/Pgc+Mz4TOtc+BzrEsIM68z4zOu865z4Igz4TOsSDPg8+Fzr3Ot864zq/Pg861z4TOtS4KKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQnOnM6szrjOt868zrEgMS4yOiAgzpzOoM6RzpnOnc6fzp3OpM6RzqMgzprOkc6ZIM6SzpPOkc6Zzp3On86dzqTOkc6jIM6jzqTOn86dIFZJTQorCisgICEhIM6jzpfOnM6VzpnOqc6jzpc6IM6gz4HOuc69IM61zrrPhM61zrvOrc+DzrXPhM61IM66zqzPgM6/zrnOvyDOsc+Az4wgz4TOsSDOss6uzrzOsc+EzrEsIM60zrnOsc6yzqzPg8+EzrUgz4zOu86/IM+Ezr8gzrzOrM64zrfOvM6xISEKKworICAxLiDOoM6xz4TOrs+Dz4TOtSDPhM6/IM+AzrvOrs66z4TPgc6/IDxFU0M+ICjOs865zrEgzr3OsSDOtc6vz4PPhM61IM+Dzq/Os86/z4XPgc6xIM+Dz4TOt869IM6azrHOvc6/zr3Ouc66zq4gzprOsc+EzqzPg8+EzrHPg863KS4KKworICAyLiDOoM67zrfOus+Ez4HOv867zr/Os86uz4PPhM61OgkJOnEhIDxFTlRFUj4uCisKKy0tLT4gzpHPhc+Ez4wgzrXOvs6tz4HPh861z4TOsc65IM6xz4DPjCDPhM6/zr0gz4PPhc69z4TOrM66z4TOtyDOp86pzqHOmc6jIM69zrEgz4PPjs+DzrXOuSDPjM+Azr/Ouc61z4IgzrHOu867zrHOs86tz4Igzq3Ph861z4TOtSDOus6szr3Otc65LgorICAgICDOkc69IM64zq3Ou861z4TOtSDOvc6xIM+Dz47Pg861z4TOtSDPhM65z4IgzrHOu867zrHOs86tz4IgzrrOsc65IM69zrEgzrXOvs6tz4HOuM61z4TOtSDPgM67zrfOus+Ez4HOv867zr/Os86uz4PPhM61OgorCSAgICAgIDp3cSA8RU5URVI+CisKKyAgMy4gzozPhM6xzr0gzrTOtc6vz4TOtSDPhM63zr0gz4DPgc6/z4TPgc6/z4DOriDPhM6/z4Ugz4bOu86/zrnOv8+NLCDPgM67zrfOus+Ez4HOv867zr/Os86uz4PPhM61IM+EzrfOvSDOtc69z4TOv867zq4gzrzOtSDPhM63zr0gzr/PgM6/zq/OsQorICAgICDOvM+Azq7Ous6xz4TOtSDPg861IM6xz4XPhM6uzr0gz4TOt869IM+AzrXPgc65zq7Os863z4POty4gzpzPgM6/z4HOtc6vIM69zrEgzrXOr869zrHOuToJdmltdHV0b3IgPEVOVEVSPgorICAgICDOms6xzr3Ov869zrnOus6sIM64zrEgz4fPgc63z4POuc68zr/PgM6/zrnOv8+Nz4POsc+EzrU6CQkJdmltIHR1dG9yIDxFTlRFUj4KKworLS0tPiAndmltJyDPg863zrzOsc6vzr3Otc65IM61zrnPg86xzrPPic6zzq4gz4PPhM6/zr0gz4PPhc69z4TOrM66z4TOtyB2aW0sICd0dXRvcicgzrXOr869zrHOuSDPhM6/IM6xz4HPh861zq/OvyDPgM6/z4UKKyAgICAgzrjOrc67zr/Phc68zrUgzr3OsSDOtM65zr/Pgc64z47Pg86/z4XOvM61LgorCisgIDQuIM6Rzr0gzq3Ph861z4TOtSDOsc+Azr/OvM69zrfOvM6/zr3Otc+Nz4POtc65IM6xz4XPhM6sIM+EzrEgzrLOrs68zrHPhM6xIM66zrHOuSDOrc+HzrXPhM61IM6xz4XPhM6/z4DOtc+Azr/Or864zrfPg863LCDOtc66z4TOtc67zq3Pg8+EzrUKKyAgICAgz4TOsSDOss6uzrzOsc+EzrEgMSDOrc+Jz4IgMyDOs865zrEgzr3OsSDOss6zzrXOr8+EzrUgzrrOsc65IM69zrEgzrzPgM61zq/PhM61IM6+zrHOvc6sIM+Dz4TOv869IM+Dz4XOvc+EzqzOus+EzrcuIM6czrXPhM6sCisgICAgIM68zrXPhM6xzrrOuc69zq7Pg8+EzrUgz4TOv869IM60z4HOv868zq3OsSDOus6sz4TPiSDPg8+Ezr8gzpzOrM64zrfOvM6xIDEuMy4KK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJICAgzpzOrM64zrfOvM6xIDEuMzogIM6UzpnOn86hzpjOqc6jzpcgzprOlc6ZzpzOlc6dzp/OpSAtIM6UzpnOkc6TzqHOkc6mzpcKKworICAgKiogzozPg86/IM61zq/Pg8+EzrUgz4PPhM63zr0gzprOsc69zr/Ovc65zrrOriDOms6xz4TOrM+Dz4TOsc+Dzrcgz4DOsc+Ezq7Pg8+EzrUgIHggIM6zzrnOsSDOvc6xIM60zrnOsc6zz4HOrM+IzrXPhM61IM+Ezr/OvQorICAgICAgz4fOsc+BzrHOus+Ezq7Pgc6xIM66zqzPhM+JIM6xz4DPjCDPhM6/zr0gzrTPgc6/zrzOrc6xLiAqKgorCisgIDEuIM6czrXPhM6xzrrOuc69zrXOr8+Dz4TOtSDPhM6/zr0gzrTPgc6/zrzOrc6xIM+Dz4TOt869IM+AzrHPgc6xzrrOrM+Ez4kgzrPPgc6xzrzOvM6uIM+DzrfOvM61zrnPic68zq3Ovc63IM68zrUgLS0tPi4KKworICAyLiDOk865zrEgzr3OsSDOtM65zr/Pgc64z47Pg861z4TOtSDPhM6xIM67zqzOuM63LCDOus65zr3Otc6vz4PPhM61IM+Ezr/OvSDOtM+Bzr/OvM6tzrEgzrzOrc+Hz4HOuSDOvc6xIM61zq/Ovc6xzrkgz4DOrM69z4kgzrHPgM+MCisgICAgIM+Ezr/OvSDPh86xz4HOsc66z4TOrs+BzrEgz4DOv8+FIM64zrEgzrTOuc6xzrPPgc6xz4bOtc6vLgorCisgIDMuIM6gzrHPhM6uz4PPhM61IM+Ezr8gz4DOu86uzrrPhM+Bzr8geCDOs865zrEgzr3OsSDOtM65zrHOs8+BzqzPiM61z4TOtSDPhM6/zr0gzrHOvc61z4DOuc64z43OvM63z4TOvyDPh86xz4HOsc66z4TOrs+BzrEuCisKKyAgNC4gzpXPgM6xzr3Osc67zqzOss61z4TOtSDPhM6xIM6yzq7OvM6xz4TOsSAyIM68zq3Ph8+BzrkgNCDOvM6tz4fPgc65IM63IM+Az4HPjM+EzrHPg863IM69zrEgzrXOr869zrHOuSDPg8+Jz4PPhM6uLgorCistLS0+IFRoZSBjY293IGp1bXBlZGQgb3Z2ZXJyIHRoaGUgbW9vb24uCisKKyAgNS4gzqTPjs+BzrEgz4DOv8+FIM63IM6zz4HOsc68zrzOriDOtc6vzr3Osc65IM+Dz4nPg8+Ezq4sIM+AzrfOs86xzq/Ovc+EzrUgz4PPhM6/IM6czqzOuM63zrzOsSAxLjQuCisKK86jzpfOnM6VzpnOqc6jzpc6IM6azrHOuM+Oz4IgzrTOuc6xz4TPgc6tz4fOtc+EzrUgzrHPhc+Ezq7OvSDPhM63zr0gz4DOtc+BzrnOrs6zzrfPg863LCDPgM+Bzr/Pg8+AzrHOuM6uz4PPhM61IM69zrEgzrzOt869CisJICDOsc+Azr/OvM69zrfOvM6/zr3Otc+NzrXPhM61LCDOvM6xzrjOsc6vzr3Otc+EzrUgzrzOtSDPhM63IM+Hz4HOrs+DzrcuCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJICAgzpzOrM64zrfOvM6xIDEuNDogzpTOmc6fzqHOmM6pzqPOlyDOms6VzpnOnM6Vzp3On86lIC0gzqDOkc6hzpXOnM6Szp/Om86XCisKKyAqKiDOjM+Dzr8gzrXOr8+Dz4TOtSDPg861IM6azrHOvc6/zr3Ouc66zq4gzprOsc+EzqzPg8+EzrHPg863IM+AzrHPhM6uz4PPhM61ICBpICDOs865zrEgzr3OsSDPgM6xz4HOtc68zrLOrM67zrvOtc+EzrUgzrrOtc6vzrzOtc69zr8uICoqCisKKyAgMS4gzpzOtc+EzrHOus65zr3Otc6vz4PPhM61IM+Ezr/OvSDOtM+Bzr/OvM6tzrEgzrzOrc+Hz4HOuSDPhM63zr0gz4DPgc+Oz4TOtyDOs8+BzrHOvM68zq4gz4DOsc+BzrHOus6sz4TPiSDPg863zrzOtc65z4nOvM6tzr3OtyDOvM61IC0tLT4uCisKKyAgMi4gzpPOuc6xIM69zrEgzrrOrM69zrXPhM61IM+EzrfOvSDPgM+Bz47PhM63IM6zz4HOsc68zrzOriDOr860zrnOsSDOvM61IM+EzrfOvSDOtM61z43PhM61z4HOtywgzrzOtc+EzrHOus65zr3Otc6vz4PPhM61IM+Ezr/OvQorICAgICDOtM+Bzr/OvM6tzrEgz4DOrM69z4kgz4PPhM6/zr0gz4DPgc+Oz4TOvyDPh86xz4HOsc66z4TOrs+BzrEgzpzOlc6kzpEgzrHPgM+MIM+Mz4DOv8+FIM64zrEgz4DOsc+BzrXOvM6yzrvOt864zrXOryDPhM6/IM66zrXOr868zrXOvc6/LgorCisgIDMuIM6gzrHPhM6uz4PPhM61IM+Ezr8gIGkgIM66zrHOuSDPgM67zrfOus+Ez4HOv867zr/Os86uz4PPhM61IM+EzrnPgiDOsc+AzrHPgc6xzq/PhM63z4TOtc+CIM+Az4HOv8+DzrjOrs66zrXPgi4KKworICA0LiDOms6xzrjPjs+CIM60zrnOv8+BzrjPjs69zrXPhM61IM66zqzOuM61IM67zqzOuM6/z4Igz4DOsc+Ezq7Pg8+EzrUgPEVTQz4gzrPOuc6xIM69zrEgzrXPgM65z4PPhM+Bzq3PiM61z4TOtSDPg8+EzrfOvQorICAgICDOms6xzr3Ov869zrnOus6uIM6azrHPhM6sz4PPhM6xz4POty4gzpXPgM6xzr3Osc67zqzOss61z4TOtSDPhM6xIM6yzq7OvM6xz4TOsSAyIM68zq3Ph8+BzrkgNCDOs865zrEgzr3OsSDOtM65zr/Pgc64z47Pg861z4TOtQorICAgICDPhM63zr0gz4DPgc+Mz4TOsc+DzrcuCisKKy0tLT4gVGhlcmUgaXMgdGV4dCBtaXNuZyB0aGlzIC4KKy0tLT4gVGhlcmUgaXMgc29tZSB0ZXh0IG1pc3NpbmcgZnJvbSB0aGlzIGxpbmUuCisKKyAgNS4gzozPhM6xzr0gzrXOr8+Dz4TOtSDOrM69zrXPhM6/zrkgzrzOtSDPhM63zr0gz4DOsc+BzrXOvM6yzr/Ou86uIM66zrXOuc68zq3Ovc6/z4UgzrzOtc+EzrHOus65zr3Ot864zrXOr8+EzrUgz4PPhM63zr0KKyAgICAgz4DOsc+BzrHOus6sz4TPiSDPgM61z4HOr867zrfPiM63LgorCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCQkgICAgICAgzpzOkc6YzpfOnM6RIDEgzqDOlc6hzpnOm86XzqjOlworCisKKyAgMS4gzp8gzrTPgc6/zrzOrc6xz4IgzrrOuc69zrXOr8+EzrHOuSDPh8+BzrfPg865zrzOv8+Azr/Ouc+Ozr3PhM6xz4IgzrXOr8+EzrUgz4TOsSDPgM67zq7Ous+Ez4HOsSDOtM+Bzr/OvM6tzrEgzq4gz4TOsSBoamtsLgorCSBoICjOsc+BzrnPg8+Ezq3Pgc6xKQlqICjOus6sz4TPiSkJayAoz4DOrM69z4kpCWwgKM60zrXOvs65zqwpCisKKyAgMi4gzpPOuc6xIM69zrEgzrzPgM61zq/PhM61IM+Dz4TOv869IFZpbSAozrHPgM+MIM+EzrfOvSDPgM+Bzr/PhM+Bzr/PgM6uICUpIM6zz4HOrM+Iz4TOtTogIHZpbSDOkc6hzqfOlc6Zzp8gPEVOVEVSPgorCisgIDMuIM6TzrnOsSDOvc6xIM6yzrPOtc6vz4TOtSDOs8+BzqzPiM+EzrU6ICA8RVNDPiAgIDpxISAgIDxFTlRFUj4gICDOs865zrEgzrHPgM+Mz4HPgc65z4jOtyDPhM+Jzr0gzrHOu867zrHOs8+Ozr0uCisJCSDOiSDOs8+BzqzPiM+EzrU6ICA8RVNDPiAgIDp3cSAgIDxFTlRFUj4gICDOs865zrEgzrHPgM6/zrjOrs66zrXPhc+Dzrcgz4TPic69IM6xzrvOu86xzrPPjs69LgorCisgIDQuIM6TzrnOsSDOvc6xIM60zrnOsc6zz4HOrM+IzrXPhM61IM6tzr3Osc69IM+HzrHPgc6xzrrPhM6uz4HOsSDOus6sz4TPiSDOsc+Az4wgz4TOv869IM60z4HOv868zq3OsSDPg861CisgICAgIM6azrHOvc6/zr3Ouc66zq4gzprOsc+EzqzPg8+EzrHPg863IM+AzrHPhM6uz4PPhM61OiAgeAorCisgIDUuIM6TzrnOsSDOvc6xIM61zrnPg86szrPOtc+EzrUgzrrOtc6vzrzOtc69zr8gz4PPhM6/zr0gzrTPgc6/zrzOrc6xIM+Mz4POvyDOtc6vz4PPhM61IM+DzrUgzprOsc69zr/Ovc65zrrOriDOms6xz4TOrM+Dz4TOsc+DzrcgzrPPgc6sz4jPhM61OgorCSBpICAgICDPgM67zrfOus+Ez4HOv867zr/Os86uz4PPhM61IM+Ezr8gzrrOtc6vzrzOtc69zr8JPEVTQz4KKworzqPOl86czpXOmc6pzqPOlzogzqDOsc+Ez47Ovc+EzrHPgiA8RVNDPiDOuM6xIM+Ezr/PgM6/zrjOtc+EzrfOuM61zq/PhM61IM+Dz4TOt869IM6azrHOvc6/zr3Ouc66zq4gzprOsc+EzqzPg8+EzrHPg863IM6uIM64zrEKKwkgIM6xzrrPhc+Bz47Pg861z4TOtSDOvM6vzrEgzrHOvc61z4DOuc64z43OvM63z4TOtyDOus6xzrkgzrzOtc+BzrnOus+Oz4Igzr/Ou86/zrrOu863z4HPic68zq3Ovc63IM61zr3PhM6/zrvOri4KKworzqTPjs+BzrEgz4PPhc69zrXPh86vz4PPhM61IM68zrUgz4TOvyDOnM6szrjOt868zrEgMi4KKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkJIM6czqzOuM63zrzOsSAyLjE6IM6Vzp3OpM6fzpvOlc6jIM6UzpnOkc6TzqHOkc6mzpfOoworCisJICoqIM6Tz4HOrM+Iz4TOtSAgZHcgIM6zzrnOsSDOvc6xIM60zrnOsc6zz4HOrM+IzrXPhM61IM68zq3Ph8+Bzrkgz4TOvyDPhM6tzrvOv8+CIM68zq/Osc+CIM67zq3Ovs63z4IuICoqCisKKyAgMS4gzqDOsc+Ezq7Pg8+EzrUgIDxFU0M+ICDOs865zrEgzr3OsSDOss61zrLOsc65z4nOuM61zq/PhM61IM+Mz4TOuSDOtc6vz4PPhM61IM+Dz4TOt869IM6azrHOvc6/zr3Ouc66zq4gzprOsc+EzqzPg8+EzrHPg863LgorCisgIDIuIM6czrXPhM6xzrrOuc69zrXOr8+Dz4TOtSDPhM6/zr0gzrTPgc6/zrzOrc6xIM+Dz4TOt869IM+AzrHPgc6xzrrOrM+Ez4kgzrPPgc6xzrzOvM6uIM+DzrfOvM61zrnPic68zq3Ovc63IM68zrUgLS0tPi4KKworICAzLiDOoM63zrPOsc6vzr3Otc+EzrUgz4TOv869IM60z4HOv868zq3OsSDPg8+EzrfOvSDOsc+Bz4fOriDPhM63z4IgzrvOrc6+zrfPgiDPgM6/z4Ugz4DPgc6tz4DOtc65IM69zrEgzrTOuc6xzrPPgc6xz4bOtc6vLgorCisgIDQuIM6Tz4HOrM+Iz4TOtSAgZHcgIM6zzrnOsSDOvc6xIM66zqzOvc61z4TOtSDPhM63zr0gzrvOrc6+zrcgzr3OsSDOtc6+zrHPhs6xzr3Ouc+Dz4TOtc6vLgorCivOo86XzpzOlc6ZzqnOo86XOiDOpM6xIM6zz4HOrM68zrzOsc+EzrEgZHcgzrjOsSDOtc68z4bOsc69zrnPg8+Ezr/Pjc69IM+Dz4TOt869IM+EzrXOu861z4XPhM6xzq/OsSDOs8+BzrHOvM68zq4gz4TOt8+CIM6/zrjPjM69zrfPgiDPjM+Dzr8KKwkgIM+EzrEgz4DOu863zrrPhM+Bzr/Ou86/zrPOtc6vz4TOtS4gzpHOvSDOs8+BzqzPiM6xz4TOtSDOus6sz4TOuSDOu86szrjOv8+CLCDPgM6xz4TOrs+Dz4TOtSAgPEVTQz4gIM66zrHOuQorCSAgzr7Otc66zrnOvc6uz4PPhM61IM6xz4DPjCDPhM63zr0gzrHPgc+Hzq4uCisKKy0tLT4gVGhlcmUgYXJlIGEgc29tZSB3b3JkcyBmdW4gdGhhdCBkb24ndCBiZWxvbmcgcGFwZXIgaW4gdGhpcyBzZW50ZW5jZS4KKworICA1LiDOlc+AzrHOvc6xzrvOrM6yzrXPhM61IM+EzrEgzrLOrs68zrHPhM6xIDMgzrrOsc65IDQgzrzOrc+Hz4HOuSDOtyDPgM+Bz4zPhM6xz4POtyDOvc6xIM61zq/Ovc6xzrkgz4PPic+Dz4TOriDOus6xzrkKKyAgICAgz4DOt86zzrHOr869zrXPhM61IM+Dz4TOvyDOnM6szrjOt868zrEgMi4yLgorCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCSAgIM6czqzOuM63zrzOsSAyLjI6IM6gzpXOoc6ZzqPOo86fzqTOlc6hzpXOoyDOlc6dzqTOn86bzpXOoyDOlM6ZzpHOk86hzpHOps6XzqMKKworICAgICoqIM6gzrvOt866z4TPgc6/zrvOv86zzq7Pg8+EzrUgIGQkICDOs865zrEgzr3OsSDOtM65zrHOs8+BzqzPiM61z4TOtSDOvM6tz4fPgc65IM+Ezr8gz4TOrc67zr/PgiDPhM63z4IgzrPPgc6xzrzOvM6uz4IuICoqCisKKyAgMS4gzqDOsc+Ezq7Pg8+EzrUgIDxFU0M+ICDOs865zrEgzr3OsSDOss61zrLOsc65z4nOuM61zq/PhM61IM+Mz4TOuSDOtc6vz4PPhM61IM+Dz4TOt869IM6azrHOvc6/zr3Ouc66zq4gzprOsc+EzqzPg8+EzrHPg863LgorCisgIDIuIM6czrXPhM6xzrrOuc69zrXOr8+Dz4TOtSDPhM6/zr0gzrTPgc6/zrzOrc6xIM+Dz4TOt869IM+AzrHPgc6xzrrOrM+Ez4kgzrPPgc6xzrzOvM6uIM+DzrfOvM61zrnPic68zq3Ovc63IM68zrUgLS0tPi4KKworICAzLiDOnM61z4TOsc66zrnOvc61zq/Pg8+EzrUgz4TOv869IM60z4HOv868zq3OsSDPg8+Ezr8gz4TOrc67zr/PgiDPhM63z4Igz4PPic+Dz4TOrs+CIM6zz4HOsc68zrzOrs+CICjOnM6VzqTOkSDPhM63zr0gz4DPgc+Oz4TOtyAuICkuCisKKyAgNC4gzqDOsc+Ezq7Pg8+EzrUgICBkJCAgIM6zzrnOsSDOvc6xIM60zrnOsc6zz4HOrM+IzrXPhM61IM68zq3Ph8+Bzrkgz4TOvyDPhM6tzrvOv8+CIM+EzrfPgiDOs8+BzrHOvM68zq7Pgi4KKworLS0tPiBTb21lYm9keSB0eXBlZCB0aGUgZW5kIG9mIHRoaXMgbGluZSB0d2ljZS4gZW5kIG9mIHRoaXMgbGluZSB0d2ljZS4KKworICA1LiDOoM63zrPOsc6vzr3Otc+EzrUgz4PPhM6/IM6czqzOuM63zrzOsSAyLjMgzrPOuc6xIM69zrEgzrrOsc+EzrHOu86szrLOtc+EzrUgz4TOuSDPg8+FzrzOss6xzq/Ovc61zrkuCisKKworCisKKworCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJICAgzpzOrM64zrfOvM6xIDIuMzogzqDOlc6hzpkgzpXOnc6kzp/Om86pzp0gzprOkc6ZIM6Rzp3OpM6ZzprOlc6ZzpzOlc6dzqnOnQorCisKK86XIM68zr/Pgc+Gzq4gz4TOt8+CIM61zr3PhM6/zrvOrs+CIM60zrnOsc6zz4HOsc+Gzq7PgiAgZCAgzrXOr869zrHOuSDPic+CIM61zr7Ors+COgorCisJIFvOsc+BzrnOuM68z4zPgl0gICBkICAgzrHOvc+EzrnOus61zq/OvM61zr3OvwnOiQlkICAgW86xz4HOuc64zrzPjM+CXSAgIM6xzr3PhM65zrrOtc6vzrzOtc69zr8KKyAgzozPgM6/z4U6CisgICAgzrHPgc65zrjOvM+Mz4IgLSDPgM+Mz4POtc+CIM+Gzr/Pgc6tz4IgzrjOsSDOtc66z4TOtc67zrXPg8+EzrXOryDOtyDOtc69z4TOv867zq4gKM+Az4HOv86xzrnPgc61z4TOuc66z4wsIM61zr4nIM6/z4HOuc+DzrzOv8+NPTEpLgorICAgIGQgLSDOtyDOtc69z4TOv867zq4gz4TOt8+CIM60zrnOsc6zz4HOsc+Gzq7Pgi4KKyAgICDOsc69z4TOuc66zrXOr868zrXOvc6/IC0gz4DOrM69z4kgz4POtSDPhM65IM64zrEgzrvOtc65z4TOv8+Fz4HOs86uz4POtc65IM63IM61zr3PhM6/zrvOriAoz4DOsc+BzrHOus6sz4TPiSDOu86vz4PPhM6xKS4KKworICDOnM6vzrEgzrzOuc66z4HOriDOu86vz4PPhM6xIM6xz4DPjCDOsc69z4TOuc66zrXOr868zrXOvc6xOgorICAgIHcgLSDOsc+Az4wgz4TOv869IM60z4HOv868zq3OsSDOvM6tz4fPgc65IM+Ezr8gz4TOrc67zr/PgiDPhM63z4IgzrvOrc6+zrfPgiwgz4DOtc+BzrnOu86xzrzOss6szr3Ov869z4TOsc+CIM+Ezr8gzrTOuc6sz4PPhM63zrzOsS4KKyAgICBlIC0gzrHPgM+MIM+Ezr/OvSDOtM+Bzr/OvM6tzrEgzrzOrc+Hz4HOuSDPhM6/IM+Ezq3Ou86/z4Igz4TOt8+CIM67zq3Ovs63z4IsIM6nzqnOoc6ZzqMgz4TOvyDOtM65zqzPg8+EzrfOvM6xLgorICAgICQgLSDOsc+Az4wgz4TOv869IM60z4HOv868zq3OsSDOvM6tz4fPgc65IM+Ezr8gz4TOrc67zr/PgiDPhM63z4IgzrPPgc6xzrzOvM6uz4IuCisKK86jzpfOnM6VzpnOqc6jzpc6ICDOk865zrEgz4TOv8+Fz4Igz4TPjc+Azr/Phc+CIM+EzrfPgiDPgM61z4HOuc+Azq3PhM61zrnOsc+CLCDPgM6xz4TPjs69z4TOsc+CIM6xz4DOu8+Oz4Igz4TOvyDOsc69z4TOuc66zrXOr868zrXOvc6/IM+Mz4POvworCSAgIM61zq/Pg8+EzrUgz4PPhM63zr0gzprOsc69zr/Ovc65zrrOriDOms6xz4TOrM+Dz4TOsc+Dzrcgz4fPic+Bzq/PgiDOus6sz4DOv865zrEgzrXOvc+Ezr/Ou86uIM64zrEgzrzOtc+EzrHOus65zr3Ors+DzrXPhM61CisJICAgz4TOv869IM60z4HOv868zq3OsSDPjM+Az4nPgiDOus6xzrjOv8+Bzq/Ots61z4TOsc65IM+Dz4TOt869IM67zq/Pg8+EzrEgzrHOvc+EzrnOus61zrnOvM6tzr3Pic69LgorCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCSAgICAgICDOnM6szrjOt868zrEgMi40OiDOnM6ZzpEgzpXOns6RzpnOoc6VzqPOlyDOo86kzpfOnSAnzpXOnc6kzp/Om86XLc6Rzp3OpM6ZzprOlc6ZzpzOlc6dzp8nCisKKwkgICAqKiDOoM67zrfOus+Ez4HOv867zr/Os86uz4PPhM61ICBkZCAgzrPOuc6xIM69zrEgzrTOuc6xzrPPgc6sz4jOtc+EzrUgz4zOu863IM+EzrcgzrPPgc6xzrzOvM6uLiAqKgorCisgIM6Vzr7Osc65z4TOr86xz4Igz4TOt8+CIM+Dz4XPh869z4zPhM63z4TOsc+CIM+EzrfPgiDOtM65zrHOs8+BzrHPhs6uz4Igzr/Ou8+MzrrOu863z4HOt8+CIM6zz4HOsc68zrzOrs+CLCDOv865IM+Dz4fOtc60zrnOsc+Dz4TOrc+CCisgIM+Ezr/PhSBWaW0gzrHPgM6/z4bOrM+DzrnPg86xzr0gz4zPhM65IM64zrEgzq7PhM6xzr0gzrXPhc66zr/Ou8+Mz4TOtc+Bzr8gzr3OsSDOs8+BzqzPhs61z4TOtSDOsc+AzrvPjs+CIM60z43OvyBkIM+Dz4TOtworICDPg861zrnPgc6sIM6zzrnOsSDOvc6xIM60zrnOsc6zz4HOrM+IzrXPhM61IM68zq/OsSDOs8+BzrHOvM68zq4uCisKKyAgMS4gzpzOtc+EzrHOus65zr3Otc6vz4PPhM61IM+Ezr/OvSDOtM+Bzr/OvM6tzrEgz4PPhM63IM60zrXPjc+EzrXPgc63IM6zz4HOsc68zrzOriDPhM63z4Igz4DOsc+BzrHOus6sz4TPiSDPhs+BzqzPg863z4IuCisgIDIuIM6Tz4HOrM+Iz4TOtSAgZGQgIM6zzrnOsSDOvc6xIM60zrnOsc6zz4HOrM+IzrXPhM61IM+EzrcgzrPPgc6xzrzOvM6uLgorICAzLiDOpM+Oz4HOsSDOvM61z4TOsc66zrnOvc63zrjOtc6vz4TOtSDPg8+EzrfOvSDPhM6tz4TOsc+Bz4TOtyDOs8+BzrHOvM68zq4uCisgIDQuIM6Tz4HOrM+Iz4TOtSAgMmRkICAozrjPhc68zrfOuM61zq/PhM61ICDOsc+BzrnOuM68z4zPgi3Otc69z4TOv867zq4tzrHOvc+EzrnOus61zq/OvM61zr3OvykgzrPOuc6xIM69zrEKKyAgICAgzrTOuc6xzrPPgc6sz4jOtc+EzrUgzrTPjc6/IM6zz4HOsc68zrzOrc+CLgorCisgICAgICAxKSAgUm9zZXMgYXJlIHJlZCwKKyAgICAgIDIpICBNdWQgaXMgZnVuLAorICAgICAgMykgIFZpb2xldHMgYXJlIGJsdWUsCisgICAgICA0KSAgSSBoYXZlIGEgY2FyLAorICAgICAgNSkgIENsb2NrcyB0ZWxsIHRpbWUsCisgICAgICA2KSAgU3VnYXIgaXMgc3dlZXQKKyAgICAgIDcpICBBbmQgc28gYXJlIHlvdS4KKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkJIM6czqzOuM63zrzOsSAyLjU6IM6XIM6Vzp3OpM6fzpvOlyDOkc6dzpHOmc6hzpXOo86XzqMKKworCSAgICAqKiDOoM6xz4TOrs+Dz4TOtSAgdSAgzrPOuc6xIM69zrEgzrHOvc6xzrnPgc6tz4POtc+EzrUgz4TOuc+CIM+EzrXOu861z4XPhM6xzq/Otc+CIM61zr3PhM6/zrvOrc+CLAorCSAgICAgICBVIM6zzrnOsSDOvc6xIM60zrnOv8+BzrjPjs+DzrXPhM61IM+MzrvOtyDPhM63IM6zz4HOsc68zrzOri4gKioKKworICAxLiDOnM61z4TOsc66zrnOvc61zq/Pg8+EzrUgz4TOv869IM60z4HOv868zq3OsSDPg8+EzrfOvSDPgM6xz4HOsc66zqzPhM+JIM6zz4HOsc68zrzOriDPg863zrzOtc65z4nOvM6tzr3OtyDOvM61IC0tLT4gzrrOsc65CisgICAgIM+Ezr/PgM6/zrjOtc+Ezq7Pg8+EzrUgz4TOv869IM+AzqzOvc+JIM+Dz4TOvyDPgM+Bz47PhM6/IM67zqzOuM6/z4IuCisgIDIuIM6gzrHPhM6uz4PPhM61ICB4ICDOs865zrEgzr3OsSDOtM65zrHOs8+BzqzPiM61z4TOtSDPhM6/zr0gz4DPgc+Oz4TOvyDOsc69zrXPgM65zrjPjc68zrfPhM6/IM+HzrHPgc6xzrrPhM6uz4HOsS4KKyAgMy4gzqTPjs+BzrEgz4DOsc+Ezq7Pg8+EzrUgIHUgIM6zzrnOsSDOvc6xIM6xzr3Osc65z4HOrc+DzrXPhM61IM+EzrfOvSDPhM61zrvOtc+Fz4TOsc6vzrEgzrXOus+EzrXOu861z4POvM6tzr3OtyDOtc69z4TOv867zq4uCisgIDQuIM6Rz4XPhM6uIM+Ezrcgz4bOv8+BzqwgzrTOuc6/z4HOuM+Oz4PPhM61IM+MzrvOsSDPhM6xIM67zqzOuM63IM+Dz4TOtyDOs8+BzrHOvM68zq4gz4fPgc63z4POuc68zr/PgM6/zrnPjs69z4TOsc+CIM+EzrfOvSDOtc69z4TOv867zq4geC4KKyAgNS4gzqTPjs+BzrEgz4DOsc+Ezq7Pg8+EzrUgzq3Ovc6xIM66zrXPhs6xzrvOsc6vzr8gIFUgIM6zzrnOsSDOvc6xIM61z4DOuc+Dz4TPgc6tz4jOtc+EzrUgz4TOtyDOs8+BzrHOvM68zq4gz4PPhM63zr0gzrHPgc+HzrnOus6uCisgICAgIM+EzrfPgiDOus6xz4TOrM+Dz4TOsc+DzrcuCisgIDYuIM6kz47Pgc6xIM+AzrHPhM6uz4PPhM61ICB1ICDOvM61z4HOuc66zq3PgiDPhs6/z4HOrc+CIM6zzrnOsSDOvc6xIM6xzr3Osc65z4HOrc+DzrXPhM61IM+EzrfOvSAgVSAgzrrOsc65CisgICAgIM+Az4HOv863zrPOv8+NzrzOtc69zrXPgiDOtc69z4TOv867zq3Pgi4KKyAgNy4gzqTPjs+BzrEgz4DOsc+Ezq7Pg8+EzrUgQ1RSTC1SICjOus+BzrHPhM+Ozr3PhM6xz4Igz4DOsc+EzrfOvM6tzr3OvyDPhM6/IM+AzrvOrs66z4TPgc6/IENUUkwgzrrOsc64z47PgiDPgM6xz4TOrM+EzrUgz4TOvyBSKQorICAgICDOvM61z4HOuc66zq3PgiDPhs6/z4HOrc+CIM6zzrnOsSDOvc6xIM61z4DOsc69zrHPhs6tz4HOtc+EzrUgz4TOuc+CIM61zr3PhM6/zrvOrc+CICjOsc69zrHOr8+BzrXPg863IM+Ez4nOvSDOsc69zrHOuc+Bzq3Pg861z4nOvSkuCisKKy0tLT4gRmlpeCB0aGUgZXJyb3JzIG9vbiB0aGhpcyBsaW5lIGFuZCByZWVwbGFjZSB0aGVtIHdpdHRoIHVuZG8uCisKKyAgOC4gzpHPhc+Ezq3PgiDOtc6vzr3Osc65IM+Azr/Ou8+NIM+Hz4HOrs+DzrnOvM61z4IgzrXOvc+Ezr/Ou86tz4IuICDOpM+Oz4HOsSDPgM63zrPOsc6vzr3Otc+EzrUgz4PPhM63zr0KKyAgICAgzqDOtc+Bzq/Ou863z4jOtyDPhM6/z4UgzpzOsc64zq7OvM6xz4TOv8+CIDIuCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJCSAgICAgICDOnM6RzpjOl86czpEgMiDOoM6VzqHOmc6bzpfOqM6XCisKKworICAxLiDOk865zrEgzr3OsSDOtM65zrHOs8+BzqzPiM61z4TOtSDOsc+Az4wgz4TOv869IM60z4HOv868zq3OsSDOvM6tz4fPgc65IM+Ezr8gz4TOrc67zr/PgiDOu86tzr7Ot8+CIM6zz4HOrM+Iz4TOtTogICAgICBkdworCisgIDIuIM6TzrnOsSDOvc6xIM60zrnOsc6zz4HOrM+IzrXPhM61IM6xz4DPjCDPhM6/zr0gzrTPgc6/zrzOrc6xIM68zq3Ph8+Bzrkgz4TOvyDPhM6tzrvOv8+CIM6zz4HOsc68zrzOrs+CIM6zz4HOrM+Iz4TOtTogICAgZCQKKworICAzLiDOk865zrEgzr3OsSDOtM65zrHOs8+BzqzPiM61z4TOtSDOv867z4zOus67zrfPgc63IM+EzrcgzrPPgc6xzrzOvM6uIM6zz4HOrM+Iz4TOtTogICAgZGQKKworICA0LiDOlyDOvM6/z4HPhs6uIM6zzrnOsSDOvM6vzrEgzrXOvc+Ezr/Ou86uIM+Dz4TOt869IM6azrHOvc6/zr3Ouc66zq4gzprOsc+EzqzPg8+EzrHPg863IM61zq/Ovc6xzrk6CisKKyAgICAgIFvOsc+BzrnOuM68z4zPgl0gICDOtc69z4TOv867zq4gICDOsc69z4TOuc66zrXOr868zrXOvc6/ICAgIM6JICAgIM61zr3PhM6/zrvOriAgIFvOsc+BzrnOuM68z4zPgl0gICDOsc69z4TOuc66zrXOr868zrXOvc6/CisgICAgIM+Mz4DOv8+FOgorICAgICAgIM6xz4HOuc64zrzPjM+CIC0gz4DPjM+DzrXPgiDPhs6/z4HOrc+CIM69zrEgzrXPgM6xzr3Osc67zrfPhs64zrXOryDOtyDOtc69z4TOv867zq4KKyAgICAgICDOtc69z4TOv867zq4gLSDPhM65IM69zrEgzrPOr869zrXOuSwgz4zPgM+Jz4IgzrcgIGQgIM6zzrnOsSDOtM65zrHOs8+BzrHPhs6uCisgICAgICAgzrHOvc+EzrnOus61zq/OvM61zr3OvyAtIM+AzqzOvc+JIM+DzrUgz4TOuSDOvc6xIM61zr3Otc+BzrPOrs+DzrXOuSDOtyDOtc69z4TOv867zq4sIM+Mz4DPic+CICB3ICAozrvOrc6+zrcpLAorCQkgICAgICQgKM+Ezq3Ou86/z4Igz4TOt8+CIM6zz4HOsc68zrzOrs+CKSwgzrrPhM67LgorCisgIDUuIM6TzrnOsSDOvc6xIM6xzr3Osc65z4HOrc+DzrXPhM61IM+Az4HOv863zrPOv8+NzrzOtc69zrXPgiDOtc69zq3Pgc6zzrXOuc61z4IsIM+AzrHPhM6uz4PPhM61OiAgICAgICAgdSAgICjPgM61zrbPjCB1KQorICAgICDOk865zrEgzr3OsSDOsc69zrHOuc+Bzq3Pg861z4TOtSDPjM67zrXPgiDPhM65z4IgzrHOu867zrHOs86tz4Igz4PPhM63IM6zz4HOsc68zrzOriwgz4DOsc+Ezq7Pg8+EzrU6ICBVICAozrrOtc+GzrHOu86xzq/OvyBVKQorICAgICDOk865zrEgzr3OsSDOsc69zrHOuc+Bzq3Pg861z4TOtSDPhM65z4IgzrHOvc6xzrnPgc6tz4POtc65z4IsIM+AzrHPhM6uz4PPhM61OiAgICAgICAgICAgICAgIENUUkwtUgorCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCQnOnM6szrjOt868zrEgMy4xOiDOlyDOlc6dzqTOn86bzpcgzqTOn86gzp/OmM6VzqTOl86jzpfOoworCisKKyAgKiogzqDOsc+Ezq7Pg8+EzrUgIHAgIM6zzrnOsSDOvc6xIM+Ezr/PgM6/zrjOtc+Ezq7Pg861z4TOtSDPhM63zr0gz4TOtc67zrXPhc+EzrHOr86xIM60zrnOsc6zz4HOsc+Gzq4gzrzOtc+Ezqwgz4TOv869IM60z4HOv868zq3OsS4gICoqCisKKyAgMS4gzpzOtc+EzrHOus65zr3Otc6vz4PPhM61IM+Ezr/OvSDOtM+Bzr/OvM6tzrEgz4PPhM63zr0gz4DPgc+Oz4TOtyDOs8+BzrHOvM68zq4gz4TOt8+CIM+AzrHPgc6xzrrOrM+Ez4kgzr/OvM6szrTOsc+CLgorCisgIDIuIM6gzrHPhM6uz4PPhM61ICBkZCAgzrPOuc6xIM69zrEgzrTOuc6xzrPPgc6sz4jOtc+EzrUgz4TOtyDOs8+BzrHOvM68zq4gzrrOsc65IM69zrEgz4TOt869IM6xz4DOv864zrfOus61z43Pg861z4TOtSDPg861CisgICAgIM+Az4HOv8+Dz4nPgc65zr3OriDOvM69zq7OvM63IM+Ezr/PhSBWaW0uCisKKyAgMy4gzpzOtc+EzrHOus65zr3Otc6vz4PPhM61IM+Ezr/OvSDOtM+Bzr/OvM6tzrEgz4PPhM63IM6zz4HOsc68zrzOriDOoM6Rzp3OqSDOsc+Az4wgzrXOus61zq8gz4DOv8+FIM64zrEgz4DPgc6tz4DOtc65IM69zrEgz4DOrM61zrkKKyAgICAgzrcgzrTOuc6xzrPPgc6xzrzOvM6tzr3OtyDOs8+BzrHOvM68zq4uCisKKyAgNC4gzozPg86/IM61zq/Pg8+EzrUgz4POtSDOms6xzr3Ov869zrnOus6uIM6azrHPhM6sz4PPhM6xz4POtywgz4DOsc+Ezq7Pg8+EzrUgIHAgIM6zzrnOsSDOvc6xIM6yzqzOu861z4TOtSDPhM63IM6zz4HOsc68zrzOri4KKworICA1LiDOlc+AzrHOvc6xzrvOrM6yzrXPhM61IM+EzrEgzrLOrs68zrHPhM6xIDIgzq3Pic+CIDQgzrPOuc6xIM69zrEgzrLOrM67zrXPhM61IM+MzrvOtc+CIM+EzrnPgiDOs8+BzrHOvM68zq3PgiDPg8+EzrcKKyAgICAgz4PPic+Dz4TOriDPg861zrnPgc6sLgorCisgICAgIGQpIENhbiB5b3UgbGVhcm4gdG9vPworICAgICBiKSBWaW9sZXRzIGFyZSBibHVlLAorICAgICBjKSBJbnRlbGxpZ2VuY2UgaXMgbGVhcm5lZCwKKyAgICAgYSkgUm9zZXMgYXJlIHJlZCwKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkgICAgICDOnM6szrjOt868zrEgMy4yOiDOlyDOlc6dzqTOn86bzpcgzpHOnc6kzpnOms6RzqTOkc6jzqTOkc6jzpfOoworCisKKyAgICAqKiDOoM6xz4TOrs+Dz4TOtSAgciAgzrrOsc65IM+HzrHPgc6xzrrPhM6uz4HOsSDOs865zrEgzr3OsSDOsc67zrvOrM6+zrXPhM61IM6xz4XPhM+Mzr0gz4DOv8+FIM61zq/Ovc6xzrkKKyAgICAgICDOus6sz4TPiSDOsc+Az4wgz4TOv869IM60z4HOv868zq3OsS4gKioKKworICAxLiDOnM61z4TOsc66zrnOvc61zq/Pg8+EzrUgz4TOv869IM60z4HOv868zq3OsSDPg8+EzrfOvSDPgM+Bz47PhM63IM6zz4HOsc68zrzOriDPgM6xz4HOsc66zqzPhM+JIM+DzrfOvM61zrnPic68zq3Ovc63IM68zrUgLS0tPi4KKworICAyLiDOnM61z4TOsc66zrnOvc61zq/Pg8+EzrUgz4TOv869IM60z4HOv868zq3OsSDOrc+Ez4POuSDPjs+Dz4TOtSDOvc6xIM61zq/Ovc6xzrkgz4DOrM69z4kgz4PPhM6/IM+Az4HPjs+Ezr8gzrvOrM64zr/Pgi4KKworICAzLiDOoM6xz4TOrs+Dz4TOtSAgciAgzrrOsc65IM68zrXPhM6sIM+Ezr/OvSDPh86xz4HOsc66z4TOrs+BzrEgzr8gzr/PgM6/zq/Ov8+CIM60zrnOv8+BzrjPjs69zrXOuSDPhM6/IM67zqzOuM6/z4IuCisKKyAgNC4gzpXPgM6xzr3Osc67zqzOss61z4TOtSDPhM6xIM6yzq7OvM6xz4TOsSAyIM66zrHOuSAzIM68zq3Ph8+Bzrkgzr3OsSDOtc6vzr3Osc65IM+Dz4nPg8+Ezq4gzrcgz4DPgc+Oz4TOtyDOs8+BzrHOvM68zq4uCisKKy0tLT4gIFdoYW4gdGhpcyBsaW1lIHdhcyB0dW9lZCBpbiwgc29tZW9uZSBwcmVzc3dkIHNvbWUgd3Jvamcga2V5cyEKKy0tLT4gIFdoZW4gdGhpcyBsaW5lIHdhcyB0eXBlZCBpbiwgc29tZW9uZSBwcmVzc2VkIHNvbWUgd3Jvbmcga2V5cyEKKworICA1LiDOpM+Oz4HOsSDPgM63zrPOsc6vzr3Otc+EzrUgz4PPhM6/IM6czqzOuM63zrzOsSAzLjIuCisKK86jzpfOnM6VzpnOqc6jzpc6IM6dzrEgzrjPhc68zqzPg8+EzrUgz4zPhM65IM+Az4HOrc+AzrXOuSDOvc6xIM68zrHOuM6xzq/Ovc61z4TOtSDOvM61IM+Ezrcgz4fPgc6uz4POtywgzrrOsc65IM+Mz4fOuSDOvM61CisJICDPhM63zr0gzrHPgM6/zrzOvc63zrzPjM69zrXPhc+DzrcuCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJCSAgzpzOrM64zrfOvM6xIDMuMzogzpcgzpXOnc6kzp/Om86XIM6RzpvOm86RzpPOl86jCisKKwkgICAqKiDOk865zrEgzr3OsSDOsc67zrvOrM6+zrXPhM61IM+EzrzOrs68zrEgzq4gz4zOu863IM+EzrcgzrvOrc6+zrcsIM+AzrHPhM6uz4PPhM61ICBjdyAgLiAqKgorCisgIDEuIM6czrXPhM6xzrrOuc69zrXOr8+Dz4TOtSDPhM6/zr0gzrTPgc6/zrzOrc6xIM+Dz4TOt869IM+Az4HPjs+EzrcgzrPPgc6xzrzOvM6uIM+AzrHPgc6xzrrOrM+Ez4kgz4POt868zrXOuc+JzrzOrc69zrcgzrzOtSAtLS0+LgorCisgIDIuIM6kzr/PgM6/zrjOtc+Ezq7Pg8+EzrUgz4TOv869IM60z4HOv868zq3OsSDPgM6szr3PiSDPg8+Ezr8gdSDPhM63z4IgzrvOrc6+zrfPgiBsdWJ3LgorCisgIDMuIM6gzrHPhM6uz4PPhM61ICBjdyAgzrrOsc65IM+Ezrcgz4PPic+Dz4TOriDOu86tzr7OtyAoz4PPhM63zr0gz4DOtc+Bzq/PgM+Ez4nPg863IM6xz4XPhM6uLCDOs8+BzqzPiM+EzrUgICdpbmUnLikKKworICA0LiDOoM6xz4TOrs+Dz4TOtSA8RVNDPiDOus6xzrkgz4DOt86zzrHOr869zrXPhM61IM+Dz4TOvyDOtc+Az4zOvM61zr3OvyDOu86szrjOv8+CICjPg8+Ezr/OvSDPgM+Bz47PhM6/CisgICAgIM+HzrHPgc6xzrrPhM6uz4HOsSDPgM+Bzr/PgiDOsc67zrvOsc6zzq4pLgorCisgIDUuIM6Vz4DOsc69zrHOu86szrLOtc+EzrUgz4TOsSDOss6uzrzOsc+EzrEgMyDOus6xzrkgNCDOvM6tz4fPgc65z4Igz4zPhM6/z4Ugzrcgz4DPgc+Oz4TOtyDPgM+Bz4zPhM6xz4POtyDOvc6xIM61zq/Ovc6xzrkKKyAgICAgzq/OtM65zrEgzrzOtSDPhM63IM60zrXPjc+EzrXPgc63LgorCistLS0+IFRoaXMgbHVidyBoYXMgYSBmZXcgd3B0ZmQgdGhhdCBtcnJmIGNoYW5naW5nIHVzZiB0aGUgY2hhbmdlIGNvbW1hbmQuCistLS0+IFRoaXMgbGluZSBoYXMgYSBmZXcgd29yZHMgdGhhdCBuZWVkIGNoYW5naW5nIHVzaW5nIHRoZSBjaGFuZ2UgY29tbWFuZC4KKworzqDOsc+BzrHPhM63z4HOtc6vz4PPhM61IM+Mz4TOuSDOtyAgY3cgIM+Mz4fOuSDOvM+Mzr3OvyDOsc69z4TOuc66zrHOuM65z4PPhM6szrXOuSDPhM63IM67zq3Ovs63LCDOsc67zrvOrCDPg86xz4IgzrXOuc+DzqzOs861zrkKK861z4DOr8+DzrfPgiDPg861IM+AzrHPgc61zrzOss6/zrvOri4KKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkgICAgIM6czqzOuM63zrzOsSAzLjQ6IM6gzpXOoc6ZzqPOo86fzqTOlc6hzpXOoyDOkc6bzpvOkc6TzpXOoyDOnM6VIGMKKworCisgICoqIM6XIM61zr3PhM6/zrvOriDOsc67zrvOsc6zzq7PgiDPh8+BzrfPg865zrzOv8+Azr/Ouc61zq/PhM6xzrkgzrzOtSDPhM6xIM6vzrTOuc6xIM6xzr3PhM65zrrOtc6vzrzOtc69zrEgz4TOt8+CIM60zrnOsc6zz4HOsc+Gzq7Pgi4gKioKKworCisgIDEuIM6XIM61zr3PhM6/zrvOriDOsc67zrvOsc6zzq7PgiDOtM6/z4XOu861z43Otc65IM68zrUgz4TOv869IM6vzrTOuc6/IM+Ez4HPjM+Azr8gz4zPgM+Jz4IgzrcgzrTOuc6xzrPPgc6xz4bOri4gzpcgzrzOv8+Bz4bOriDOtc6vzr3Osc65OgorCisgICAgICAgW86xz4HOuc64zrzPjM+CXSAgIGMgICDOsc69z4TOuc66zrXOr868zrXOvc6/ICAgICDOiSAgICAgYyAgIFvOsc+BzrnOuM68z4zPgl0gICDOsc69z4TOuc66zrXOr868zrXOvc6/CisKKyAgMi4gzqTOsSDOsc69z4TOuc66zrXOr868zrXOvc6xIM61zq/Ovc6xzrkgz4DOrM67zrkgz4TOsSDOr860zrnOsSwgz4zPgM+Jz4IgdyAozrvOrc6+zrcpLCAkICjPhM6tzrvOv8+CIM6zz4HOsc68zrzOrs+CKSwgzrrPhM67LgorCisgIDMuIM6czrXPhM6xzrrOuc69zrfOuM61zq/PhM61IM+Dz4TOt869IM+Az4HPjs+EzrcgzrPPgc6xzrzOvM6uIM+AzrHPgc6xzrrOrM+Ez4kgz4POt868zrXOuc+JzrzOrc69zrcgzrzOtSAtLS0+LgorCisgIDQuIM6czrXPhM6xzrrOuc69zrXOr8+Dz4TOtSDPhM6/zr0gzrTPgc6/zrzOrc6xIM+Dz4TOvyDPgM+Bz47PhM6/IM67zqzOuM6/z4IuCisKKyAgNS4gzpPPgc6sz4jPhM61ICBjJCAgzrPOuc6xIM69zrEgzrrOrM69zrXPhM61IM+Ezr8gz4XPgM+MzrvOv865z4DOvyDPhM63z4IgzrPPgc6xzrzOvM6uz4Igzq/OtM65zr8gzrzOtSDPhM63IM60zrXPjc+EzrXPgc63CisgICAgIM66zrHOuSDPgM6xz4TOrs+Dz4TOtSA8RVNDPi4KKworLS0tPiBUaGUgZW5kIG9mIHRoaXMgbGluZSBuZWVkcyBzb21lIGhlbHAgdG8gbWFrZSBpdCBsaWtlIHRoZSBzZWNvbmQuCistLS0+IFRoZSBlbmQgb2YgdGhpcyBsaW5lIG5lZWRzIHRvIGJlIGNvcnJlY3RlZCB1c2luZyB0aGUgIGMkICBjb21tYW5kLgorCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJCSAgICAgICDOnM6RzpjOl86czpEgMyDOoM6VzqHOmc6bzpfOqM6XCisKKworICAxLiDOk865zrEgzr3OsSDPhM6/z4DOv864zrXPhM6uz4POtc+EzrUgzrrOtc6vzrzOtc69zr8gz4DOv8+FIM68z4zOu865z4Igzq3Ph861zrkgzrTOuc6xzrPPgc6xz4bOtc6vLCDPgM6xz4TOrs+Dz4TOtSAgcCAuCisgICAgIM6Rz4XPhM+MIM+Ezr/PgM6/zrjOtc+EzrXOryDPhM6/IM60zrnOsc6zz4HOsc68zrzOrc69zr8gzrrOtc6vzrzOtc69zr8gzpzOlc6kzpEgz4TOv869IM60z4HOv868zq3OsSAozrHOvSDOtM65zrHOs8+BzqzPhs+EzrfOus61CisgICAgIM6zz4HOsc68zrzOriDOuM6xIM+AzqzOtc65IM68zrXPhM6sIM+Dz4TOtyDOs8+BzrHOvM68zq4gzrrOrM+Ez4kgzrHPgM+MIM+Ezr/OvSDOtM+Bzr/OvM6tzrEuCisKKyAgMi4gzpPOuc6xIM69zrEgzrHOvc+EzrnOus6xz4TOsc+Dz4TOrs+DzrXPhM61IM+Ezr/OvSDPh86xz4HOsc66z4TOrs+BzrEgzrrOrM+Ez4kgzrHPgM+MIM+Ezr/OvSDOtM+Bzr/OvM6tzrEsIM+AzrHPhM6uz4PPhM61ICByCisgICAgIM66zrHOuSDOvM61z4TOrCDPhM6/zr0gz4fOsc+BzrHOus+Ezq7Pgc6xIM+Azr/PhSDOuM6xIM6xzr3PhM65zrrOsc+EzrHPg8+Ezq7Pg861zrkgz4TOv869IM6xz4HPh865zrrPjC4KKworICAzLiDOlyDOtc69z4TOv867zq4gzrHOu867zrHOs86uz4Igz4POsc+CIM61z4DOuc+Ez4HOrc+AzrXOuSDOvc6xIM6xzrvOu86szr7Otc+EzrUgz4TOvyDOus6xzrjOv8+BzrnPg868zq3Ovc6/IM6xzr3PhM65zrrOtc6vzrzOtc69zr8KKyAgICAgzrHPgM+MIM+Ezr/OvSDOtM+Bzr/OvM6tzrEgzrzOrc+Hz4HOuSDPhM6/IM+Ezq3Ou86/z4Igz4TOv8+FIM6xzr3PhM65zrrOtc6vzrzOtc69zr8uIM6gLs+HLiDOs8+BzqzPiM+EzrUgIGN3ICDOs865zrEgzr3OsQorICAgICDOsc67zrvOrM6+zrXPhM61IM6xz4DPjCDPhM6/zr0gzrTPgc6/zrzOrc6xIM68zq3Ph8+Bzrkgz4TOvyDPhM6tzrvOv8+CIM+EzrfPgiDOu86tzr7Ot8+CLCBjJCDOs865zrEgzr3OsSDOsc67zrvOrM6+zrXPhM61CisgICAgIM68zq3Ph8+Bzrkgz4TOvyDPhM6tzrvOv8+CIM6zz4HOsc68zrzOrs+CLgorCisgIDQuIM6XIM68zr/Pgc+Gzq4gzrPOuc6xIM+EzrfOvSDOsc67zrvOsc6zzq4gzrXOr869zrHOuToKKworCSBbzrHPgc65zrjOvM+Mz4JdICAgYyAgIM6xzr3PhM65zrrOtc6vzrzOtc69zr8gICAgIM6JICAgICBjICAgW86xz4HOuc64zrzPjM+CXSAgIM6xzr3PhM65zrrOtc6vzrzOtc69zr8KKworzqTPjs+BzrEgz4PPhc69zrXPh86vz4PPhM61IM68zrUgz4TOvyDOtc+Az4zOvM61zr3OvyDOvM6szrjOt868zrEuCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkgICAgIM6czqzOuM63zrzOsSA0LjE6IM6YzpXOo86XIM6azpHOmSDOms6RzqTOkc6jzqTOkc6jzpcgzpHOoc6nzpXOmc6fzqUKKworCisgKiogzqDOsc+Ezq7Pg8+EzrUgQ1RSTC1nIM6zzrnOsSDOvc6xIM61zrzPhs6xzr3Ouc+Dz4TOtc6vIM63IM64zq3Pg863IM+DzrHPgiDPg8+Ezr8gzrHPgc+HzrXOr86/IM66zrHOuSDOtyDOus6xz4TOrM+Dz4TOsc+Dzq4gz4TOv8+FLgorICAgIM6gzrHPhM6uz4PPhM61IFNISUZULUcgzrPOuc6xIM69zrEgz4DOrM+EzrUgz4POtSDOvM6vzrEgzrPPgc6xzrzOvM6uIM+Dz4TOvyDOsc+Bz4fOtc6vzr8uICoqCisKKyAgzqPOt868zrXOr8+Jz4POtzogzpTOuc6xzrLOrM+Dz4TOtSDOv867z4zOus67zrfPgc6/IM+Ezr8gzrzOrM64zrfOvM6xIM+Az4HOuc69IM61zrrPhM61zrvOrc+DzrXPhM61IM66zqzPgM6/zrnOvyDOsc+Az4wgz4TOsSDOss6uzrzOsc+EzrEhIQorCisgIDEuIM6az4HOsc+Ezq7Pg8+EzrUgz4DOsc+EzrfOvM6tzr3OvyDPhM6/IM+AzrvOrs66z4TPgc6/IEN0cmwgzrrOsc65IM+AzrHPhM6uz4PPhM61ICBnIC4gzpzOr86xIM6zz4HOsc68zrzOriDOus6xz4TOrM+Dz4TOsc+DzrfPggorICAgICDOuM6xIM61zrzPhs6xzr3Ouc+Dz4TOtc6vIM+Dz4TOvyDOus6sz4TPiSDOvM6tz4HOv8+CIM+EzrfPgiDPg861zrvOr860zrHPgiDOvM61IM+Ezr8gz4zOvc6/zrzOsSDOsc+Bz4fOtc6vzr/PhSDOus6xzrkgz4TOtworICAgICDOs8+BzrHOvM68zq4gz4DOv8+FIM61zq/Pg8+EzrUuIM6Yz4XOvM63zrjOtc6vz4TOtSDPhM6/zr0gzrHPgc65zrjOvM+MIM6zz4HOsc68zrzOrs+CIM6zzrnOsSDPhM6/IM6Szq7OvM6xIDMuCisKKyAgMi4gzqDOsc+Ezq7Pg8+EzrUgc2hpZnQtRyDOs865zrEgzr3OsSDOvM61z4TOsc66zrnOvc63zrjOtc6vz4TOtSDPg8+Ezr8gz4TOrc67zr/PgiDPhM6/z4UgzrHPgc+HzrXOr86/z4UuCisKKyAgMy4gzqDOsc+Ezq7Pg8+EzrUgz4TOv869IM6xz4HOuc64zrzPjCDPhM63z4IgzrPPgc6xzrzOvM6uz4Igz4DOv8+FIM6uz4POsc+Dz4TOsc69IM66zrHOuSDOvM61z4TOrCBzaGlmdC1HLiDOkc+Fz4TPjCDOuM6xCisgICAgIM+DzrHPgiDOtc+AzrnPg8+Ez4HOrc+IzrXOuSDPg8+EzrcgzrPPgc6xzrzOvM6uIM+Azr/PhSDOrs+DzrHPg8+EzrHOvSDPgM+BzrnOvSDPgM6xz4TOrs+DzrXPhM61IM6zzrnOsSDPgM+Bz47PhM63IM+Gzr/Pgc6sIEN0cmwtZy4KKyAgICAgKM6Mz4TOsc69IM+AzrvOt866z4TPgc6/zrvOv86zzrXOr8+EzrUgz4TOv8+Fz4IgzrHPgc65zrjOvM6/z43PgiwgzpTOlc6dIM64zrEgzrXOvM+GzrHOvc6vzrbOv869z4TOsc65IM+Dz4TOt869IM6/zrjPjM69zrcpLgorCisgIDQuIM6Rzr0gzr3Ov865z47OuM61z4TOtSDPg86vzrPOv8+Fz4HOv8+CIM6zzrnOsSDOsc+Fz4TPjCwgzrXOus+EzrXOu86tz4PPhM61IM+EzrEgzrLOrs68zrHPhM6xIDEgzq3Pic+CIDMuCisKKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCQnOnM6szrjOt868zrEgNC4yOiDOlyDOlc6dzqTOn86bzpcgzpHOnc6RzpbOl86kzpfOo86XzqMKKworCisJICAqKiDOoM6xz4TOrs+Dz4TOtSAgIC8gICDOsc66zr/Ou86/z4XOuM6/z43OvM61zr3OvyDOsc+Az4wgz4TOtyDPhs+BzqzPg863IM+Azr/PhSDPiM6sz4fOvc61z4TOtS4gKioKKworICAxLiDOo861IM6azrHOvc6/zr3Ouc66zq4gzprOsc+EzqzPg8+EzrHPg863IM+AzrHPhM6uz4PPhM61IM+Ezr/OvSDPh86xz4HOsc66z4TOrs+BzrEgIC8gLiDOoM6xz4HOsc+EzrfPgc6uz4PPhM61IM+Mz4TOuSDOsc+Fz4TPjM+CIM66zrHOuQorICAgICDOvyDOtM+Bzr/OvM6tzrHPgiDOtc68z4bOsc69zq/Ots6/zr3PhM6xzrkgz4PPhM6/IM66zqzPhM+JIM68zq3Pgc6/z4Igz4TOt8+CIM6/zrjPjM69zrfPgiDPjM+Az4nPgiDOvM61IM+EzrfOvSDOtc69z4TOv867zq4gIDogLgorCisgIDIuIM6kz47Pgc6xIM6zz4HOrM+Iz4TOtSAnZXJycm9vcicgPEVOVEVSPi4gzpHPhc+Ezq4gzrXOr869zrHOuSDOtyDOu86tzr7OtyDPgM6/z4UgzrjOrc67zrXPhM61IM69zrEgz4jOrM6+zrXPhM61LgorCisgIDMuIM6TzrnOsSDOvc6xIM+IzqzOvs61z4TOtSDOvs6xzr3OrCDOs865zrEgz4TOt869IM6vzrTOuc6xIM+Gz4HOrM+DzrcsIM+AzrHPhM6uz4PPhM61IM6xz4DOu8+Oz4IgIG4gLgorICAgICDOk865zrEgzr3OsSDPiM6szr7Otc+EzrUgz4TOt869IM6vzrTOuc6xIM+Gz4HOrM+Dzrcgz4PPhM63zr0gzrHOvc+Ezq/OuM61z4TOtyDOus6xz4TOtc+NzrjPhc69z4POtywgz4DOsc+Ezq7Pg8+EzrUgIFNoaWZ0LU4gLgorCisgIDQuIM6Rzr0gzrjOrc67zrXPhM61IM69zrEgz4jOrM6+zrXPhM61IM6zzrnOsSDOvM6vzrEgz4bPgc6sz4POtyDPgM+Bzr/PgiDPhM6xIM+Azq/Pg8+JLCDPh8+BzrfPg865zrzOv8+Azr/Ouc6uz4PPhM61IM+EzrfOvSDOtc69z4TOv867zq4gID8gIM6xzr3PhM6vIM+EzrfPgiAgLyAuCisKKy0tLT4gzozPhM6xzr0gzrcgzrHOvc6xzrbOrs+EzrfPg863IM+Gz4TOrM+DzrXOuSDPg8+Ezr8gz4TOrc67zr/PgiDPhM6/z4UgzrHPgc+HzrXOr86/z4UgzrjOsSDPg8+Fzr3Otc+Hzq/Pg861zrkgzrHPgM+MIM+EzrfOvSDOsc+Bz4fOri4KKworICAiZXJycm9vciIgaXMgbm90IHRoZSB3YXkgdG8gc3BlbGwgZXJyb3I7ICBlcnJyb29yIGlzIGFuIGVycm9yLgorCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkgICDOnM6szrjOt868zrEgNC4zOiDOlc6lzqHOlc6jzpcgzqTOkc6ZzqHOmc6RzqPOpM6pzp0gzqDOkc6hzpXOnc6YzpXOo86VzqnOnQorCisKKwkgICoqIM6gzrHPhM6uz4PPhM61ICAgJSAgIM6zzrnOsSDOvc6xIM6yz4HOtc6vz4TOtSDPhM63zr0gzrHOvc+Ezq/Pg8+Ezr/Ouc+HzrcgKSwgXSwgzq4gfSAuICoqCisKKyAgMS4gzqTOv8+Azr/OuM61z4TOrs+Dz4TOtSDPhM6/zr0gzrTPgc6/zrzOrc6xIM+DzrUgzrrOrM+Azr/Ouc6xICgsIFssIM6uIHsgz4PPhM63zr0gz4DOsc+BzrHOus6sz4TPiSDOs8+BzrHOvM68zq4KKyAgICAgz4POt868zrXOuc+JzrzOrc69zrcgzrzOtSAtLS0+LgorCisgIDIuIM6kz47Pgc6xIM+AzrHPhM6uz4PPhM61IM+Ezr/OvSDPh86xz4HOsc66z4TOrs+BzrEgICUgLgorCisgIDMuIM6fIM60z4HOv868zq3Osc+CIM64zrEgz4DPgc6tz4DOtc65IM69zrEgzrXOr869zrHOuSDPg8+EzrfOvSDOsc69z4TOr8+Dz4TOv865z4fOtyDPgM6xz4HOrc69zrjOtc+Dzrcgzq4gzrHOs866z43Ou863LgorCisgIDQuIM6gzrHPhM6uz4PPhM61ICAlICDOs865zrEgzr3OsSDOvM61z4TOsc66zrnOvc6uz4POtc+EzrUgz4TOv869IM60z4HOv868zq3OsSDPgM6vz4PPiSDPg8+EzrfOvSDPgM+Bz47PhM63IM6xzrPOus+NzrvOtworICAgICjPhM6/z4UgzrbOtc+FzrPOsc+BzrnOv8+NKS4KKworLS0tPiBUaGlzICggaXMgYSB0ZXN0IGxpbmUgd2l0aCAoJ3MsIFsncyBdIGFuZCB7J3MgfSBpbiBpdC4gKSkKKworzqPOl86czpXOmc6pzqPOlzogzpHPhc+Ez4wgzrXOr869zrHOuSDPgM6/zrvPjSDPh8+Bzq7Pg865zrzOvyDPg8+EzrfOvSDOsc+Azr/Pg8+GzrHOu868zqzPhM+Jz4POtyDOtc69z4zPgiDPgM+Bzr/Os8+BzqzOvM68zrHPhM6/z4IKKwkgIM68zrUgzrzOtyDPhM6xzrnPgc65zrHPg8+Ezq3PgiDPgM6xz4HOtc69zrjOrc+DzrXOuc+CIQorCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkgICAgzpzOrM64zrfOvM6xIDQuNDogzpXOnc6RzqMgzqTOoc6fzqDOn86jIM6TzpnOkSDOkc6bzpvOkc6TzpcgzpvOkc6YzqnOnQorCisKKyAgICAgICAqKiDOk8+BzqzPiM+EzrUgIDpzL29sZC9uZXcvZyAgzrPOuc6xIM69zrEgzrHOu867zqzOvs61z4TOtSDPhM6/ICduZXcnIM68zrUgz4TOvyAnb2xkJy4gKioKKworICAxLiDOnM61z4TOsc66zrnOvc61zq/Pg8+EzrUgz4TOv869IM60z4HOv868zq3OsSDPg8+EzrfOvSDPgM6xz4HOsc66zqzPhM+JIM6zz4HOsc68zrzOriDPg863zrzOtc65z4nOvM6tzr3OtyDOvM61IC0tLT4uCisKKyAgMi4gzpPPgc6sz4jPhM61ICA6cy90aGVlL3RoZSA8RU5URVI+IC4gzqPOt868zrXOuc+Oz4PPhM61IM+Mz4TOuSDOsc+Fz4TOriDOtyDOtc69z4TOv867zq4gzrHOu867zqzOts61zrkgzrzPjM69zr8KKyAgICAgz4TOt869IM+Az4HPjs+EzrcgzrXOvM+GzqzOvc65z4POtyDPg8+EzrcgzrPPgc6xzrzOvM6uLgorCisgIDMuIM6kz47Pgc6xIM6zz4HOrM+Iz4TOtSAgIDpzL3RoZWUvdGhlL2cgICAgzrXOvc69zr/Pjs69z4TOsc+CIM6zzrXOvc65zrrOriDOsc69z4TOuc66zrHPhM6sz4PPhM6xz4POtyDPg8+EzrcKKyAgICAgzrPPgc6xzrzOvM6uLiDOkc+Fz4TPjCDOsc67zrvOrM62zrXOuSDPjM67zrXPgiDPhM65z4IgzrXOvM+GzrHOvc6vz4POtc65z4IgzrXPgM6vIM+EzrfPgiDOs8+BzrHOvM68zq7Pgi4KKworLS0tPiB0aGVlIGJlc3QgdGltZSB0byBzZWUgdGhlZSBmbG93ZXJzIGlzIGluIHRoZWUgc3ByaW5nLgorCisgIDQuIM6TzrnOsSDOvc6xIM6xzrvOu86szr7Otc+EzrUgzrrOrM64zrUgzrXOvM+GzqzOvc65z4POtyDOvM6vzrHPgiDPg8+FzrzOss6/zrvOv8+DzrXOuc+BzqzPgiDOvM61z4TOsc6+z40gzrTPjc6/IM6zz4HOsc68zrzPjs69LAorICAgICDOs8+BzqzPiM+EzrUgICA6Iywjcy9vbGQvbmV3L2cgICDPjM+Azr/PhSAjLCMgzr/OuSDOsc+BzrnOuM68zr/OryDPhM+Jzr0gzrTPjc6/IM6zz4HOsc68zrzPjs69LgorICAgICDOk8+BzqzPiM+EzrUgICA6JXMvb2xkL25ldy9nICAgICDOs865zrEgzr3OsSDOsc67zrvOrM6+zrXPhM61IM66zqzOuM61IM61zrzPhs6szr3Ouc+Dzrcgz4POtSDPjM67zr8gz4TOvyDOsc+Bz4fOtc6vzr8uCisKKworCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJCSAgICAgICDOnM6RzpjOl86czpEgNCDOoM6VzqHOmc6bzpfOqM6XCisKKworICAxLiDOpM6/ICBDdHJsLWcgIM61zrzPhs6xzr3Or862zrXOuSDPhM63IM64zq3Pg863IM+DzrHPgiDPg8+Ezr8gzrHPgc+HzrXOr86/IM66zrHOuSDPhM63zr0gzrrOsc+EzqzPg8+EzrHPg86uIM+Ezr/PhS4KKyAgICAgzqTOvyAgU2hpZnQtRyAgz4DOt86zzrHOr869zrXOuSDPg8+Ezr8gz4TOrc67zr/PgiDPhM6/z4UgzrHPgc+HzrXOr86/z4UuIM6Izr3Osc+CIM6xz4HOuc64zrzPjM+CIM6zz4HOsc68zrzOrs+CCisgICAgIM6xzrrOv867zr/Phc64zr/Pjc68zrXOvc6/z4IgzrHPgM+MICBTaGlmdC1HICDPgM63zrPOsc6vzr3Otc65IM+DzrUgzrXOus61zq/Ovc63IM+EzrcgzrPPgc6xzrzOvM6uLgorCisgIDIuIM6Tz4HOrM+Gzr/Ovc+EzrHPgiAgLyAgzrHOus6/zrvOv8+FzrjOv8+NzrzOtc69zr8gzrHPgM+MIM68zq/OsSDPhs+BzqzPg863IM+IzqzPh869zrXOuSDPgM+Bzr/PgiDPhM6xIM6czqDOoc6fzqPOpM6RIM6zzrnOsQorICAgICDPhM63IM+Gz4HOrM+DzrcuIM6Tz4HOrM+Gzr/Ovc+EzrHPgiAgPyAgzrHOus6/zrvOv8+FzrjOv8+NzrzOtc69zr8gzrHPgM+MIM68zq/OsSDPhs+BzqzPg863IM+IzqzPh869zrXOuSDPgM+Bzr/PgiDPhM6xIM6gzpnOo86pCisgICAgIM6zzrnOsSDPhM63IM+Gz4HOrM+DzrcuIM6czrXPhM6sIM6xz4DPjCDOvM6vzrEgzrHOvc6xzrbOrs+EzrfPg863IM+AzrHPhM6uz4PPhM61ICBuICDOs865zrEgzr3OsSDOss+BzrXOr8+EzrUgz4TOt869CisgICAgIM61z4DPjM68zrXOvc63IM61zrzPhs6szr3Ouc+Dzrcgz4DPgc6/z4Igz4TOt869IM6vzrTOuc6xIM66zrHPhM61z43OuM+Fzr3Pg863IM6uICBTaGlmdC1OICDOs865zrEgzr3OsSDPiM6szr7Otc+EzrUKKyAgICAgz4DPgc6/z4Igz4TOt869IM6xzr3PhM6vzrjOtc+EzrcgzrrOsc+EzrXPjc64z4XOvc+DzrcuCisKKyAgMy4gzqDOsc+Ez47Ovc+EzrHPgiAgJSAgz4zPg86/IM6/IM60z4HOv868zq3Osc+CIM61zq/Ovc6xzrkgz4DOrM69z4kgz4POtSDOvM6vzrEgKCwpLFssXSx7LCDOriB9ICDOtc69z4TOv8+Azq/Ots61zrkKKyAgICAgz4TOvyDOsc69z4TOr8+Dz4TOv865z4fOvyDPhM6xzq/Pgc65IM+Ezr/PhSDOts61z4XOs86xz4HOuc6/z40uCisKKyAgNC4gzpPOuc6xIM6xzr3PhM65zrrOsc+EzqzPg8+EzrHPg863IM68zrUgbmV3IM+Ezr/PhSDPgM+Bz47PhM6/z4Ugb2xkIM+Dz4TOtyDOs8+BzrHOvM68zq4gzrPPgc6sz4jPhM61ICA6cy9vbGQvbmV3CisgICAgIM6TzrnOsSDOsc69z4TOuc66zrHPhM6sz4PPhM6xz4POtyDOvM61IG5ldyDPjM67z4nOvSDPhM+Jzr0gJ29sZCcgz4PPhM63IM6zz4HOsc68zrzOriDOs8+BzqzPiM+EzrUgIDpzL29sZC9uZXcvZworICAgICDOk865zrEgzrHOvc+EzrnOus6xz4TOrM+Dz4TOsc+Dzrcgz4bPgc6sz4POtc+Jzr0gzrzOtc+EzrHOvs+NIM60z43OvyAjIM6zz4HOsc68zrzPjs69IM6zz4HOrM+Iz4TOtSAgICAgIDojLCNzL29sZC9uZXcvZworICAgICDOk865zrEgzrHOvc+EzrnOus6xz4TOrM+Dz4TOsc+Dzrcgz4zOu8+Jzr0gz4TPic69IM61zrzPhs6xzr3Or8+DzrXPic69IM+Dz4TOvyDOsc+Bz4fOtc6vzr8gzrPPgc6sz4jPhM61ICAgIDolcy9vbGQvbmV3L2cKKyAgICAgzpPOuc6xIM61z4HPjs+EzrfPg863IM61z4DOuc6yzrXOss6xzq/Pic+DzrfPgiDOus6szrjOtSDPhs6/z4HOrCDPgM+Bzr/Pg864zq3Pg8+EzrUgzq3Ovc6xICdjJyAgICAgICAiJXMvb2xkL25ldy9nYworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCSAgzpzOrM64zrfOvM6xIDUuMTogzqDOqc6jIM6VzprOpM6VzpvOqSDOnM6ZzpEgzpXOns6pzqTOlc6hzpnOms6XIM6Vzp3OpM6fzpvOlworCisKKyoqIM6Tz4HOrM+Iz4TOtSAgOiEgIM6xzrrOv867zr/Phc64zr/Pjc68zrXOvc6/IM6xz4DPjCDOvM6vzrEgzrXOvs+Jz4TOtc+BzrnOus6uIM61zr3PhM6/zrvOriDOs865zrEgzr3OsSDPhM63zr0gzrXOus+EzrXOu86tz4POtc+EzrUuICoqCisKKyAgMS4gzqDOsc+Ezq7Pg8+EzrUgz4TOt869IM6/zrnOus61zq/OsSDOtc69z4TOv867zq4gIDogIM6zzrnOsSDOvc6xIM64zq3Pg861z4TOtSDPhM6/zr0gzrTPgc6/zrzOrc6xIM+Dz4TOvyDOus6sz4TPiSDOvM6tz4HOv8+CCisgICAgIM+EzrfPgiDOv864z4zOvc63z4IuIM6Rz4XPhM+MIM+DzrHPgiDOtc+AzrnPhM+Bzq3PgM61zrkgzr3OsSDOtM+Oz4POtc+EzrUgzrzOr86xIM61zr3PhM6/zrvOri4KKworICAyLiDOpM+Oz4HOsSDPgM6xz4TOrs+Dz4TOtSAgz4TOvyAgISAgKM64zrHPhc68zrHPg8+EzrnOus+MKS4gzpHPhc+Ez4wgz4POsc+CIM61z4DOuc+Ez4HOrc+AzrXOuSDOvc6xIM61zrrPhM61zrvOrc+DzrXPhM61CisgICAgIM6/z4DOv865zrHOtM6uz4DOv8+EzrUgzrXOvs+Jz4TOtc+BzrnOus6uIM61zr3PhM6/zrvOriDPhM6/z4Ugz4bOu86/zrnOv8+NLgorCisgIDMuIM6jzrHOvSDPgM6xz4HOrM60zrXOuc6zzrzOsSDOs8+BzqzPiM+EzrUgIGxzICDOvM61z4TOrCDOsc+Az4wgz4TOvyAhIM66zrHOuSDPgM6xz4TOrs+Dz4TOtSA8RU5URVI+LiDOkc+Fz4TPjCDOuM6xCisgICAgIM+DzrHPgiDOtc68z4bOsc69zq/Pg861zrkgzrzOr86xIM67zq/Pg8+EzrEgz4TOv8+FIM66zrHPhM6xzrvPjM6zzr/PhSDPg86xz4IsIM6xzrrPgc65zrLPjs+CIM+DzrHOvSDOvc6xIM6uz4POsc+Dz4TOsc69IM+Dz4TOt869CisgICAgIM+Az4HOv8+Ez4HOv8+Azq4gz4TOv8+FIM+GzrvOv865zr/PjS4gzokgz4fPgc63z4POuc68zr/PgM6/zrnOrs+Dz4TOtSAgOiFkaXIgIM6xzr0gz4TOvyBscyDOtM61zr0gzrTOv8+FzrvOtc+NzrXOuS4KKworLS0tPiDOo863zrzOtc6vz4nPg863OiDOlc6vzr3Osc65IM60z4XOvc6xz4TPjM69IM69zrEgzrXOus+EzrXOu86tz4POtc+EzrUgzr/PgM6/zrnOsc60zq7PgM6/z4TOtSDOtc6+z4nPhM61z4HOuc66zq4gzrXOvc+Ezr/Ou86uCisgICAgIM68zrUgzrHPhc+Ez4zOvSDPhM6/zr0gz4TPgc+Mz4DOvy4KKworLS0tPiDOo863zrzOtc6vz4nPg863OiDOjM67zrXPgiDOv865IM61zr3PhM6/zrvOrc+CICA6ICDPgM+Bzq3PgM61zrkgzr3OsSDPhM61z4HOvM6xz4TOr862zr/Ovc+EzrHOuSDPgM6xz4TPjs69z4TOsc+CIM+Ezr8gPEVOVEVSPi4KKworCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJIM6czqzOuM63zrzOsSA1LjI6IM6gzpXOoc6ZzqPOo86fzqTOlc6hzpEgzqDOlc6hzpkgzpXOk86TzqHOkc6mzpfOoyDOkc6hzqfOlc6ZzqnOnQorCisKKyAgICoqIM6TzrnOsSDOvc6xIM+Dz47Pg861z4TOtSDPhM65z4IgzrHOu867zqzOs861z4Igz4DOv8+FIM66zqzOvc6xz4TOtSDPg8+Ezr8gzrHPgc+HzrXOr86/LCDOs8+BzqzPiM+EzrUgIDp3IM6RzqHOp86VzpnOny4gICoqCisKKyAgMS4gzpPPgc6sz4jPhM61ICA6IWRpciAgzq4gIDohbHMgIM6zzrnOsSDOvc6xIM+AzqzPgc61z4TOtSDOvM6vzrEgzrvOr8+Dz4TOsSDPhM6/z4UgzrrOsc+EzrHOu8+MzrPOv8+FIM+DzrHPgi4KKyAgICAgzonOtM63IM6+zq3Pgc61z4TOtSDPjM+Ezrkgz4DPgc6tz4DOtc65IM69zrEgz4DOsc+Ezq7Pg861z4TOtSA8RU5URVI+IM68zrXPhM6sIM6xz4DPjCDOsc+Fz4TPjC4KKworICAyLiDOlM65zrHOu86tzr7PhM61IM6tzr3OsSDPjM69zr/OvM6xIM6xz4HPh861zq/Ov8+FIM+Azr/PhSDOtM61zr0gz4XPgM6sz4HPh861zrkgzrHOus+MzrzOsSwgz4zPgM+Jz4Igz4TOvyBURVNULgorCisgIDMuIM6kz47Pgc6xIM6zz4HOrM+Iz4TOtTogIDp3IFRFU1QgICjPjM+Azr/PhSBURVNUIM61zq/Ovc6xzrkgz4TOvyDPjM69zr/OvM6xIM6xz4HPh861zq/Ov8+FIM+Azr/PhSDOtM65zrHOu86tzr7Osc+EzrUpLgorCisgIDQuIM6Rz4XPhM+MIM+Dz47Ots61zrkgz4zOu86/IM+Ezr8gzrHPgc+HzrXOr86/ICh2aW0gVHV0b3IpIM68zrUgz4TOvyDPjM69zr/OvM6xIFRFU1QuIM6TzrnOsSDOvc6xIM+Ezr8KKyAgICAgzrXPgM6xzrvOt864zrXPjc+DzrXPhM61LCDOs8+BzqzPiM+EzrUgzr7Osc69zqwgIDohZGlyIM6zzrnOsSDOvc6xIM60zrXOr8+EzrUgz4TOv869IM66zrHPhM6szrvOv86zz4wgz4POsc+CLgorCistLS0+IM6jzrfOvM61zrnPjs+Dz4TOtSDPjM+EzrkgzrHOvSDOss6zzrHOr869zrHPhM61IM6xz4DPjCDPhM6/zr0gVmltIM66zrHOuSDOvM+AzrHOr869zrHPhM61IM6+zrHOvc6sIM68zrUgz4TOvyDPjM69zr/OvM6xCisgICAgIM6xz4HPh861zq/Ov8+FIFRFU1QsIM+Ezr8gzrHPgc+HzrXOr86/IM64zrEgzq7PhM6xzr0gzrHOus+BzrnOss6tz4IgzrHOvc+Ezq/Os8+BzrHPhs6/IM+Ezr/PhSB0dXRvciDPjM+EzrHOvSDPhM6/IM+Dz47Pg86xz4TOtS4KKworICA1LiDOpM+Oz4HOsSDOtM65zrHOs8+BzqzPiM+EzrUgz4TOvyDOsc+Bz4fOtc6vzr8gzrPPgc6sz4bOv869z4TOsc+CIChNUy1ET1MpOiAgICAgIDohZGVsIFRFU1QKKworCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJICAgICDOnM6szrjOt868zrEgNS4zOiDOlc6gzpnOm86VzprOpM6ZzprOlyDOlc6dzqTOn86bzpcgzpXOk86TzqHOkc6mzpfOoworCisKKwkgICoqIM6TzrnOsSDOvc6xIM+Dz47Pg861z4TOtSDPhM68zq7OvM6xIM+Ezr/PhSDOsc+Bz4fOtc6vzr/PhSwgzrPPgc6sz4jPhM61ICA6IywjIHcgzpHOoc6nzpXOmc6fICoqCisKKyAgMS4gzobOu867zrcgzrzOuc6xIM+Gzr/Pgc6sLCDOs8+BzqzPiM+EzrUgIDohZGlyICDOriAgOiFscyAgzrPOuc6xIM69zrEgz4DOrM+BzrXPhM61IM68zq/OsSDOu86vz4PPhM6xIM6xz4DPjCDPhM6/zr0KKyAgICAgzrrOsc+EzqzOu86/zrPPjCDPg86xz4IgzrrOsc65IM60zrnOsc67zq3Ovs+EzrUgzq3Ovc6xIM66zrHPhM6szrvOu863zrvOvyDPjM69zr/OvM6xIM6xz4HPh861zq/Ov8+FIM+Mz4DPic+CIM+Ezr8gVEVTVC4KKworICAyLiDOnM61z4TOsc66zrnOvc61zq/Pg8+EzrUgz4TOv869IM60z4HOv868zq3OsSDPg8+Ezr8gz4DOrM69z4kgzrzOrc+Bzr/PgiDOsc+Fz4TOrs+CIM+EzrfPgiDPg861zrvOr860zrHPgiDOus6xzrkgz4DOsc+Ezq7Pg8+EzrUKKyAgICAgQ3RybC1nICDOs865zrEgzr3OsSDOss+BzrXOr8+EzrUgz4TOv869IM6xz4HOuc64zrzPjCDOsc+Fz4TOrs+CIM+EzrfPgiDOs8+BzrHOvM68zq7Pgi4KKyAgICAgzp3OkSDOmM6lzpzOkc6jzqTOlSDOkc6lzqTOn86dIM6kzp/OnSDOkc6hzpnOmM6czp8hCisKKyAgMy4gzqTPjs+BzrEgz4DOt86zzrHOr869zrXPhM61IM+Dz4TOvyDOus6sz4TPiSDOvM6tz4HOv8+CIM+EzrfPgiDPg861zrvOr860zrHPgiDOus6xzrkgz4DOsc+Ezq7Pg8+EzrUgIEN0cmwtZyAgzr7Osc69zqwuCisgICAgIM6dzpEgzpjOpc6czpHOo86kzpUgzprOkc6ZIM6RzqXOpM6fzp0gzqTOn86dIM6RzqHOmc6YzpzOnyEKKworICA0LiDOk865zrEgzr3OsSDPg8+Oz4POtc+EzrUgzpzOn86dzp8gzq3Ovc6xIM+EzrzOrs68zrEgz4POtSDOsc+Bz4fOtc6vzr8sIM6zz4HOrM+Iz4TOtSAgIDojLCMgdyBURVNUCisgICAgIM+Mz4DOv8+FICMsIyDOv865IM60z43OvyDOsc+BzrnOuM68zr/OryDPgM6/z4UgzrHPgM6/zrzOvc63zrzOv869zrXPjc+DzrHPhM61ICjPgM6szr3PiSzOus6sz4TPiSkgzrrOsc65IFRFU1Qgz4TOvworICAgICDPjM69zr/OvM6xIM+Ezr/PhSDOsc+Bz4fOtc6vzr/PhSDPg86xz4IuCisKKyAgNS4gzp7Osc69zqwsIM60zrXOr8+EzrUgz4zPhM65IM+Ezr8gzrHPgc+HzrXOr86/IM61zq/Ovc6xzrkgzrXOus61zq8gzrzOtSDPhM63zr0gIDohZGlyIM6xzrvOu86sIM6czpfOnSDPhM6/IM60zrnOsc6zz4HOrM+IzrXPhM61LgorCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJICDOnM6szrjOt868zrEgNS40OiDOkc6dzpHOms6kzqnOnc6kzpHOoyDOms6RzpkgzpXOnc6pzp3On86dzqTOkc6jIM6RzqHOp86VzpnOkQorCisKKyAgICAgKiogzpPOuc6xIM69zrEgzrXOuc+DzqzOs861z4TOtSDPhM6xIM+AzrXPgc65zrXPh8+MzrzOtc69zrEgzrXOvc+Mz4IgzrHPgc+HzrXOr86/z4UsIM6zz4HOrM+Iz4TOtSAgIDpyIM6RzqHOp86VzpnOnyAqKgorCisgIDEuIM6Tz4HOrM+Iz4TOtSAgOiFkaXIgIM6zzrnOsSDOvc6xIM6yzrXOss6xzrnPic64zrXOr8+EzrUgz4zPhM65IM+Ezr8gVEVTVCDPhc+AzqzPgc+HzrXOuSDOsc+Az4wgz4DPgc65zr0uCisKKyAgMi4gzqTOv8+Azr/OuM61z4TOrs+Dz4TOtSDPhM6/zr0gzrTPgc6/zrzOrc6xIM+Dz4TOvyDPgM6szr3PiSDOvM6tz4HOv8+CIM+EzrfPgiDPg861zrvOr860zrHPgi4KKworzqPOl86czpXOmc6pzqPOlzogIM6Rz4bPjM+Ezr/PhSDOtc66z4TOtc67zq3Pg861z4TOtSDPhM6/IM6Szq7OvM6xIDMgzrjOsSDOtM61zq/PhM61IM+Ezr8gzpzOrM64zrfOvM6xIDUuMy4KKwkgICDOnM61z4TOrCDOus65zr3Ot864zrXOr8+EzrUgzprOkc6kzqkgzr7Osc69zqwgz4DPgc6/z4Igz4TOvyDOvM6szrjOt868zrEgzrHPhc+Ez4wuCisKKyAgMy4gzqTPjs+BzrEgzrHOvc6xzrrPhM6uz4PPhM61IM+Ezr8gzrHPgc+HzrXOr86/IM+DzrHPgiBURVNUIM+Hz4HOt8+DzrnOvM6/z4DOv865z47Ovc+EzrHPgiDPhM63zr0gzrXOvc+Ezr/Ou86uICA6ciBURVNUCisgICAgIM+Mz4DOv8+FIFRFU1QgzrXOr869zrHOuSDPhM6/IM+Mzr3Ov868zrEgz4TOv8+FIM6xz4HPh861zq/Ov8+FLgorCivOo86XzpzOlc6ZzqnOo86XOiAgzqTOvyDOsc+Bz4fOtc6vzr8gz4DOv8+FIM6xzr3Osc66z4TOrM+EzrUgz4TOv8+Azr/OuM61z4TOtc6vz4TOsc65IM6+zrXOus65zr3Pjs69z4TOsc+CIM61zrrOtc6vIM+Azr/PhSDOss+Bzq/Pg866zrXPhM6xzrkKKwkgICDOvyDOtM+Bzr/OvM6tzrHPgi4KKworICA0LiDOk865zrEgzr3OsSDOtc+AzrHOu863zrjOtc+Nz4POtc+EzrUgz4zPhM65IM+Ezr8gzrHPgc+HzrXOr86/IM6xzr3Osc66z4TOrs64zrfOus61LCDPgM6vz4PPiSDPhM6/zr0gzrTPgc6/zrzOrc6xIM66zrHOuQorICAgICDPgM6xz4HOsc+EzrfPgc6uz4PPhM61IM+Mz4TOuSDPhc+AzqzPgc+Hzr/Phc69IM+Ez47Pgc6xIM60z43OvyDOsc69z4TOr86zz4HOsc+GzrEgz4TOv8+FIM6czrHOuM6uzrzOsc+Ezr/PgiA1LjMsIM+Ezr8KKyAgICAgzrHPgc+HzrnOus+MIM66zrHOuSDOtyDOrc66zrTOv8+Dzrcgz4TOv8+FIM6xz4HPh861zq/Ov8+FLgorCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCQkgICAgICAgzpzOkc6YzpfOnM6RIDUgzqDOlc6hzpnOm86XzqjOlworCisKKyAgMS4gIDohzrXOvc+Ezr/Ou86uICDOtc66z4TOtc67zrXOryDOvM6vzrEgzrXOvs+Jz4TOtc+BzrnOus6uIM61zr3PhM6/zrvOri4KKworICAgICAgzpzOtc+BzrnOus6sIM+Hz4HOrs+DzrnOvM6xIM+AzrHPgc6xzrTOtc6vzrPOvM6xz4TOsSDOtc6vzr3Osc65IChNUy1ET1MpOgorICAgICAgOiFkaXIgICAgICAgICAgICAtIM61zrzPhs6szr3Ouc+DzrcgzrvOr8+Dz4TOsc+CIM61zr3PjM+CIM66zrHPhM6xzrvPjM6zzr/PhS4KKyAgICAgIDohZGVsIM6RzqHOp86VzpnOnyAgICAgLSDOtM65zrHOs8+BzqzPhs61zrkgz4TOvyDOkc6hzqfOlc6Zzp8uCisKKyAgMi4gIDp3IM6RzqHOp86VzpnOnyAgIM6zz4HOrM+GzrXOuSDPhM6/IM+Ez4HOrc+Hz4nOvSDOsc+Bz4fOtc6vzr8gz4TOv8+FIFZpbSDPg8+Ezr8gzrTOr8+DzrrOvyDOvM61IM+Mzr3Ov868zrEgzpHOoc6nzpXOmc6fLgorCisgIDMuICA6IywjdyDOkc6hzqfOlc6Zzp8gICDPg8+OzrbOtc65IM+EzrnPgiDOs8+BzrHOvM68zq3PgiDOsc+Az4wgIyDOvM6tz4fPgc65ICMgz4PPhM6/IM6RzqHOp86VzpnOny4KKworICA0LiAgOnIgzpHOoc6nzpXOmc6fICDOsc69zrHOus+EzrXOryDPhM6/IM6xz4HPh861zq/OvyDOtM6vz4POus6/z4UgzpHOoc6nzpXOmc6fIM66zrHOuSDPhM6/IM+AzrHPgc61zrzOss6szrvOu861zrkgzrzOrc+DzrEKKyAgICAgIM+Dz4TOvyDPhM+Bzq3Ph86/zr0gzrHPgc+HzrXOr86/IM68zrXPhM6sIM6xz4DPjCDPhM63IM64zq3Pg863IM+Ezr/PhSDOtM+Bzr/OvM6tzrEuCisKKworCisKKworCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJCc6czqzOuM63zrzOsSA2LjE6IM6XIM6Vzp3OpM6fzpvOlyDOkc6dzp/Omc6TzpzOkc6kzp/OoworCisKKyAgICAgICoqIM6gzrHPhM6uz4PPhM61ICBvICDOs865zrEgzr3OsSDOsc69zr/Or86+zrXPhM61IM68zq/OsSDOs8+BzrHOvM68zq4gzrrOrM+Ez4kgzrHPgM+MIM+Ezr/OvSDOtM+Bzr/OvM6tzrEgzrrOsc65IM69zrEKKwkgzrLPgc61zrjOtc6vz4TOtSDPg861IM6azrHPhM6sz4PPhM6xz4POtyDOms61zrnOvM6tzr3Ov8+FLiAqKgorCisgIDEuIM6czrXPhM6xzrrOuc69zrXOr8+Dz4TOtSDPhM6/zr0gzrTPgc6/zrzOrc6xIM+Dz4TOt869IM+AzrHPgc6xzrrOrM+Ez4kgzrPPgc6xzrzOvM6uIM+DzrfOvM61zrnPic68zq3Ovc63IM68zrUgLS0tPi4KKworICAyLiDOoM6xz4TOrs+Dz4TOtSAgbyAoz4DOtc62z4wpIM6zzrnOsSDOvc6xIM6xzr3Ov86vzr7Otc+EzrUgzrzOr86xIM6zz4HOsc68zrzOriDOms6RzqTOqSDOsc+Az4wgz4TOv869IM60z4HOv868zq3OsSDOus6xzrkgzr3OsQorICAgICDOss+BzrXOuM61zq/PhM61IM+DzrUgzprOsc+EzqzPg8+EzrHPg863IM6azrXOuc68zq3Ovc6/z4UuCisKKyAgMy4gzqTPjs+BzrEgzrHOvc+EzrnOs8+BzqzPiM+EzrUgz4TOtyDPg863zrzOtc65z4nOvM6tzr3OtyDOvM61IC0tLT4gzrPPgc6xzrzOvM6uICDOus6xzrkgz4DOsc+Ezq7Pg8+EzrUgPEVTQz4gzrPOuc6xIM69zrEKKyAgICAgzrLOs861zq/PhM61IM6xz4DPjCDPhM63zr0gzprOsc+EzqzPg8+EzrHPg863IM6azrXOuc68zq3Ovc6/z4UuCisKKy0tLT4gQWZ0ZXIgdHlwaW5nICBvICB0aGUgY3Vyc29yIGlzIHBsYWNlZCBvbiB0aGUgb3BlbiBsaW5lIGluIEluc2VydCBtb2RlLgorCisgIDQuIM6TzrnOsSDOvc6xIM6xzr3Ov86vzr7Otc+EzrUgzrzOr86xIM6zz4HOsc68zrzOriDOoM6Rzp3OqSDOsc+Az4wgz4TOv869IM60z4HOv868zq3OsSwgz4DOsc+Ezq7Pg8+EzrUgzrHPgM67zqwgzq3Ovc6xIM66zrXPhs6xzrvOsc6vzr8KKyAgICAgTywgzrHOvc+Ezq8gzrPOuc6xIM6tzr3OsSDPgM61zrbPjCAgby4gIM6Uzr/Ous65zrzOrM+Dz4TOtSDPhM6/IM+Dz4TOt869IM+AzrHPgc6xzrrOrM+Ez4kgzrPPgc6xzrzOvM6uLgorzpHOvc6/zq/Os861z4TOtSDOs8+BzrHOvM68zq4gz4DOrM69z4kgzrHPgM+MIM6xz4XPhM6uzr0gz4DOsc+Ez47Ovc+EzrHPgiBTaGlmdC1PIM+Mz4POvyDOvyDOtM+Bzr/OvM6tzrHPgiDOtc6vzr3Osc65IM+Dz4TOtyDOs8+BzrHOvM68zq4KKworCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJCSDOnM6szrjOt868zrEgNi4yOiDOlyDOlc6dzqTOn86bzpcgzqDOoc6fzqPOmM6XzprOl86jCisKKwkgICoqIM6gzrHPhM6uz4PPhM61ICAgYSAgIM6zzrnOsSDOvc6xIM61zrnPg86szrPOtc+EzrUgzrrOtc6vzrzOtc69zr8gzpzOlc6kzpEgz4TOv869IM60z4HOv868zq3OsS4gKioKKworICAxLiDOnM61z4TOsc66zrnOvc61zq/Pg8+EzrUgz4TOv869IM60z4HOv868zq3OsSDPg8+Ezr8gz4TOrc67zr/PgiDPhM63z4Igz4DPgc+Oz4TOt8+CIM6zz4HOsc68zrzOrs+CIM+AzrHPgc6xzrrOrM+Ez4kKKyAgICAgz4POt868zrXOuc+JzrzOrc69zrcgzrzOtSAtLS0+IM+AzrHPhM+Ozr3PhM6xz4IgICQgIM+Dz4TOt869IM6azrHOvc6/zr3Ouc66zq4gzprOsc+EzqzPg8+EzrHPg863LgorCisgIDIuIM6gzrHPhM6uz4PPhM61IM6tzr3OsSAgYSAgKM+AzrXOts+MKSDOs865zrEgzr3OsSDPgM+Bzr/Pg864zq3Pg861z4TOtSDOus61zq/OvM61zr3OvyDOnM6VzqTOkSDOsc+Az4wgz4TOv869IM+HzrHPgc6xzrrPhM6uz4HOsQorICAgICDPgM6/z4UgzrXOr869zrHOuSDOus6sz4TPiSDOsc+Az4wgz4TOv869IM60z4HOv868zq3OsS4gICjOpM6/IM66zrXPhs6xzrvOsc6vzr8gIEEgIM+Az4HOv8+DzrjOrc+EzrXOuSDPg8+Ezr8gz4TOrc67zr/PggorICAgICDPhM63z4IgzrPPgc6xzrzOvM6uz4IpLgorCivOo863zrzOtc6vz4nPg863OiDOkc+Fz4TPjCDOsc+Azr/Phs61z43Os861zrkgz4TOvyDPgM6sz4TOt868zrEgz4TOv8+FICBpICwgz4TOv869IM+EzrXOu861z4XPhM6xzq/OvyDPh86xz4HOsc66z4TOrs+BzrEsIM+Ezr8KKwkgIM66zrXOr868zrXOvc6/IM+EzrfPgiDOtc65z4POsc6zz4nOs86uz4IsIDxFU0M+LCDOtM+Bzr/OvM6tzrEtzrTOtc6+zrnOrCwgzrrOsc65IM+Ezq3Ou86/z4IsIHgsIM68z4zOvc6/IM66zrHOuQorCSAgzrzPjM69zr8gzrPOuc6xIM69zrEgz4DPgc6/z4POuM6tz4POtc+EzrUgz4PPhM6/IM+Ezq3Ou86/z4Igz4TOt8+CIM6zz4HOsc68zrzOrs+CIQorCisgIDMuIM6jz4XOvM+AzrvOt8+Bz47Pg8+EzrUgz4TPjs+BzrEgz4TOt869IM+Az4HPjs+EzrcgzrPPgc6xzrzOvM6uLiDOo863zrzOtc65z47Pg8+EzrUgzrXPgM6vz4POt8+CIM+Mz4TOuSDOtyDPgM+Bzr/Pg864zq7Ous63IM61zq/Ovc6xzrkKKyAgICAgzrHOus+BzrnOss+Oz4Igzq/OtM65zrEgz4PPhM63zr0gzprOsc+EzqzPg8+EzrHPg863IM6azrXOuc68zq3Ovc6/z4UgzrzOtSDPhM63zr0gzprOsc+EzqzPg8+EzrHPg863IM6VzrnPg86xzrPPic6zzq7PgiwgzrXOus+Ez4zPggorICAgICDOsc+Az4wgz4TOtyDOuM6tz4POtyDPgM6/z4UgzrXOuc+DzqzOs861z4TOsc65IM+Ezr8gzrrOtc6vzrzOtc69zr8uCisKKy0tLT4gVGhpcyBsaW5lIHdpbGwgYWxsb3cgeW91IHRvIHByYWN0aWNlCistLS0+IFRoaXMgbGluZSB3aWxsIGFsbG93IHlvdSB0byBwcmFjdGljZSBhcHBlbmRpbmcgdGV4dCB0byB0aGUgZW5kIG9mIGEgbGluZS4KKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkgICDOnM6szrjOt868zrEgNi4zOiDOkc6bzpvOlyDOlc6azpTOn86jzpcgzqTOl86jIM6Rzp3OpM6ZzprOkc6kzpHOo86kzpHOo86XzqMKKworCisgKiogzqDOsc+Ezq7Pg8+EzrUgzrrOtc+GzrHOu86xzq/OvyAgUiAgzrPOuc6xIM69zrEgzrHOu867zqzOvs61z4TOtSDPgM61z4HOuc+Dz4PPjM+EzrXPgc6/z4XPgiDOsc+Az4wgzq3Ovc6xzr0gz4fOsc+BzrHOus+Ezq7Pgc61z4IuICoqCisKKyAgMS4gzpzOtc+EzrHOus65zr3Otc6vz4PPhM61IM+Ezr/OvSDOtM+Bzr/OvM6tzrEgz4PPhM63zr0gz4DPgc+Oz4TOtyDOs8+BzrHOvM68zq4gz4DOsc+BzrHOus6sz4TPiSDPg863zrzOtc65z4nOvM6tzr3OtyDOvM61IC0tLT4uCisKKyAgMi4gzqTOv8+Azr/OuM61z4TOrs+Dz4TOtSDPhM6/zr0gzrTPgc6/zrzOrc6xIM+Dz4TOt869IM6xz4HPh86uIM+EzrfPgiDPgM+Bz47PhM63z4IgzrvOrc6+zrfPgiDPgM6/z4UgzrXOr869zrHOuSDOtM65zrHPhs6/z4HOtc+EzrnOus6uCisgICAgIM6xz4DPjCDPhM63IM60zrXPjc+EzrXPgc63IM6zz4HOsc68zrzOriDPg863zrzOtc65z4nOvM6tzr3OtyDOvM61IC0tLT4gKM63IM67zq3Ovs63ICdsYXN0JykuCisKKyAgMy4gzqDOsc+Ezq7Pg8+EzrUgz4TPjs+BzrEgIFIgICDOus6xzrkgzrHOu867zqzOvs+EzrUgz4TOvyDPhc+Az4zOu86/zrnPgM6/IM+Ezr/PhSDOus61zrnOvM6tzr3Ov8+FIM+Dz4TOt869IM+Az4HPjs+EzrcgzrPPgc6xzrzOvM6uCisgICAgIM6zz4HOrM+Gzr/Ovc+EzrHPgiDPgM6szr3PiSDOsc+Az4wgz4TOvyDPgM6xzrvOuc+MIM66zrXOr868zrXOvc6/IM+Oz4PPhM61IM69zrEgzrrOrM69zrXPhM61IM+EzrfOvSDPgM+Bz47PhM63IM6zz4HOsc68zrzOriDOr860zrnOsQorICAgICDOvM61IM+EzrcgzrTOtc+Nz4TOtc+BzrcuCisKKy0tLT4gVG8gbWFrZSB0aGUgZmlyc3QgbGluZSB0aGUgc2FtZSBhcyB0aGUgbGFzdCBvbiB0aGlzIHBhZ2UgdXNlIHRoZSBrZXlzLgorLS0tPiBUbyBtYWtlIHRoZSBmaXJzdCBsaW5lIHRoZSBzYW1lIGFzIHRoZSBzZWNvbmQsIHR5cGUgUiBhbmQgdGhlIG5ldyB0ZXh0LgorCisgIDQuIM6jzrfOvM61zrnPjs+Dz4TOtSDPjM+Ezrkgz4zPhM6xzr0gz4DOsc+EzqzPhM61IDxFU0M+IM6zzrnOsSDOvc6xIM6yzrPOtc6vz4TOtSwgz4DOsc+BzrHOvM6tzr3Otc65IM6/z4DOv865zr/OtM6uz4DOv8+EzrUKKyAgICAgzrHOvc6xzrvOu86/zq/Pic+Ezr8gzrrOtc6vzrzOtc69zr8uCisKKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCQkgIM6czqzOuM63zrzOsSA2LjQ6IM6hzqXOmM6czpnOo86XIM6VzqDOmc6bzp/Ok86XzqMKKworCisgICAqKiDOoc+FzrjOvM6vz4PPhM61IM68zq/OsSDOtc+AzrnOu86/zrPOriDOrc+Ez4POuSDPjs+Dz4TOtSDOtyDOsc69zrHOts6uz4TOt8+Dzrcgzq4gzrcgzrHOvc+EzrnOus6xz4TOrM+Dz4TOsc+Dzrcgzr3OsSDOsc6zzr3Ov861zq8KKyAgICAgIM+EzrcgzrTOuc6xz4bOv8+Bzqwgz4DOtc62z47OvS3Ous61z4bOsc67zrHOr8+Jzr0gKioKKworICAxLiDOqM6szr7PhM61IM6zzrnOsSAnaWdub3JlJyDOtc65z4POrM6zzr/Ovc+EzrHPgjoKKyAgICAgL2lnbm9yZQorICAgICDOo8+Fzr3Otc+Hzq/Pg8+EzrUgzrHPgc66zrXPhM6tz4Igz4bOv8+Bzq3PgiDPgM6xz4TPjs69z4TOsc+CIM+Ezr8gz4DOu86uzrrPhM+Bzr8gbi4KKworICAyLiDOmM6tz4PPhM61IM+EzrfOvSDOtc+AzrnOu86/zrPOriAnaWMnIChJZ25vcmUgY2FzZSkgzrPPgc6sz4bOv869z4TOsc+COgorICAgICA6c2V0IGljCisKKyAgMy4gzqjOrM6+z4TOtSDPhM+Oz4HOsSDOvs6xzr3OrCDOs865zrEgJ2lnbm9yZScgz4DOsc+Ez47Ovc+EzrHPgjogbgorICAgICDOo8+Fzr3Otc+Hzq/Pg8+EzrUgz4TOt869IM6xzr3Osc62zq7PhM63z4POtyDOvM61z4HOuc66zq3PgiDOsc66z4zOvM6xIM+Gzr/Pgc6tz4Igz4DOsc+Ez47Ovc+EzrHPgiDPhM6/IM+AzrvOrs66z4TPgc6/IG4KKworICA0LiDOmM6tz4PPhM61IM+EzrnPgiDOtc+AzrnOu86/zrPOrc+CICdobHNlYXJjaCcgzrrOsc65ICdpbmNzZWFyY2gnOgorICAgICA6c2V0IGhscyBpcworCisgIDUuIM6VzrnPg86szrPOtc+EzrUgz4TPjs+BzrEgzr7Osc69zqwgz4TOt869IM61zr3PhM6/zrvOriDOsc69zrHOts6uz4TOt8+DzrfPgiwgzrrOsc65IM60zrXOr8+EzrUgz4TOuSDPg8+FzrzOss6xzq/Ovc61zrkKKyAgICAgL2lnbm9yZQorCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCQkgICAgICAgzpzOkc6YzpfOnM6RIDYgzqDOlc6hzpnOm86XzqjOlworCisKKyAgMS4gzqDOsc+Ez47Ovc+EzrHPgiAgbyAgzrHOvc6/zq/Os861zrkgzrzOr86xIM6zz4HOsc68zrzOriDOms6RzqTOqSDOsc+Az4wgz4TOv869IM60z4HOv868zq3OsSDOus6xzrkgz4TOv8+Azr/OuM61z4TOtc6vIM+Ezr/OvQorICAgICDOtM+Bzr/OvM6tzrEgz4PPhM63zr0gzrHOvc6/zrnPh8+Ezq4gzrPPgc6xzrzOvM6uIM+DzrUgzprOsc+EzqzPg8+EzrHPg863IM6azrXOuc68zq3Ovc6/z4UuCisKKyAgMi4gzqDOsc+Ezq7Pg8+EzrUgIGEgIM6zzrnOsSDOvc6xIM61zrnPg86szrPOtc+EzrUgzrrOtc6vzrzOtc69zr8gzpzOlc6kzpEgz4TOv869IM+HzrHPgc6xzrrPhM6uz4HOsSDPg8+Ezr/OvSDOv8+Azr/Or86/IM61zq/Ovc6xzrkKKyAgICAgzr8gzrTPgc6/zrzOrc6xz4IuIM6gzrHPhM+Ozr3PhM6xz4IgzrrOtc+GzrHOu86xzq/OvyAgQSAgzrHPhc+Ez4zOvM6xz4TOsSDPgM+Bzr/Pg864zq3PhM61zrkgzrrOtc6vzrzOtc69zr8gz4PPhM6/IM+Ezq3Ou86/z4IKKyAgICAgz4TOt8+CIM6zz4HOsc68zrzOrs+CLgorCisgIDMuIM6gzrHPhM+Ozr3PhM6xz4IgzrrOtc+GzrHOu86xzq/OvyAgUiAgzrXOuc+Dzq3Pgc+HzrXPhM6xzrkgz4PPhM63zr0gzprOsc+EzqzPg8+EzrHOtyDOkc69z4TOuc66zrHPhM6sz4PPhM6xz4POt8+CIM68zq3Ph8+Bzrkgzr3OsQorICAgICDPgM6xz4TOt864zrXOryDPhM6/IDxFU0M+IM66zrHOuSDOvc6xIM61zr7Orc67zrjOtc65LgorCisgIDQuIM6Tz4HOrM+Gzr/Ovc+EzrHPgiAiOnNldCB4eHgiIM+Bz4XOuM68zq/Ots61zrkgz4TOt869IM61z4DOuc67zr/Os86uICJ4eHgiLgorCisKKworCisKKworCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJICAgICAgIM6czpHOmM6XzpzOkSA3OiBPTi1MSU5FIM6Vzp3OpM6fzpvOlc6jIM6Szp/Ol86YzpXOmc6RzqMKKworCisJCSoqIM6nz4HOt8+DzrnOvM6/z4DOv865zq7Pg8+EzrUgz4TOvyBvbi1saW5lIM+Dz43Pg8+EzrfOvM6xIM6yzr/Ors64zrXOuc6xz4IgKioKKworICDOnyBWaW0gzq3Ph861zrkgzq3Ovc6xIM+AzrXPgc65zrXOus+EzrnOus+MIG9uLWxpbmUgz4PPjc+Dz4TOt868zrEgzrLOv86uzrjOtc65zrHPgi4gzpPOuc6xIM69zrEgzr7Otc66zrnOvc6uz4POtc65LAorICDOtM6/zrrOuc68zqzPg8+EzrUgzrrOrM+Azr/Ouc6/IM6xz4DPjCDPhM6xIM+Ez4HOr86xOgorCS0gz4DOsc+Ezq7Pg8+EzrUgz4TOvyDPgM67zq7Ous+Ez4HOvyA8SEVMUD4gKM6xzr0gzq3Ph861z4TOtSDOus6sz4DOv865zr8pCisJLSDPgM6xz4TOrs+Dz4TOtSDPhM6/IM+AzrvOrs66z4TPgc6/IDxGMT4gKM6xzr0gzq3Ph861z4TOtSDOus6sz4DOv865zr8pCisJLSDOs8+BzqzPiM+EzrUgICA6aGVscCA8RU5URVI+CisKKyAgzpPPgc6sz4jPhM61ICA6cSA8RU5URVI+ICAgzrPOuc6xIM69zrEgzrrOu861zq/Pg861z4TOtSDPhM6/IM+AzrHPgc6szrjPhc+Bzr8gz4TOt8+CIM6yzr/Ors64zrXOuc6xz4IuCisKKyAgzpzPgM6/z4HOtc6vz4TOtSDOvc6xIM6yz4HOtc6vz4TOtSDOss6/zq7OuM61zrnOsSDPgM6szr3PiSDPg861IM66zqzOuM61IM6xzr3PhM65zrrOtc6vzrzOtc69zr8sIM60zq/Ovc6/zr3PhM6xz4IgzrzOr86xIM+AzrHPgc6szrzOtc+Ez4HOvworICDPg8+EzrfOvSDOtc69z4TOv867zq4gIjpoZWxwIi4gIM6Uzr/Ous65zrzOrM+Dz4TOtSDOsc+Fz4TOrCAozrzOt869IM6+zrXPh869zqzPhM61IM69zrEgz4DOsc+EzqzPhM61IDxFTlRFUj4pOgorCisJOmhlbHAgdworCTpoZWxwIGNfPFQKKwk6aGVscCBpbnNlcnQtaW5kZXgKKwk6aGVscCB1c2VyLW1hbnVhbAorCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJICDOnM6RzpjOl86czpEgODogzpTOl86czpnOn86lzqHOk86XzqPOpM6VIM6Vzp3OkSBTQ1JJUFQgzpXOms6azpnOnc6XzqPOl86jCisKKwkJICAgKiogzpXOvc61z4HOs86/z4DOv865zq7Pg8+EzrUgz4fOsc+BzrHOus+EzrfPgc65z4PPhM65zrrOrCDPhM6/z4UgVmltICoqCisKKyAgzp8gVmltIM6tz4fOtc65IM+Azr/Ou867zqwgz4DOtc+BzrnPg8+Dz4zPhM61z4HOsSDPh86xz4HOsc66z4TOt8+BzrnPg8+EzrnOus6sIM6xz4AnIM+MLM+Ezrkgzr8gVmksIM6xzrvOu86sIM+EzrEKKyAgz4DOtc+BzrnPg8+Dz4zPhM61z4HOsSDOtc6vzr3Osc65IM6xz4HPh865zrrOrCDOsc+AzrXOvc61z4HOs86/z4DOv865zrfOvM6tzr3OsS4gzpPOuc6xIM69zrEgzrHPgc+Hzq/Pg861z4TOtSDOvc6xIM+Hz4HOt8+DzrnOvM6/z4DOv865zrXOr8+EzrUKKyAgz4DOtc+BzrnPg8+Dz4zPhM61z4HOsSDPh86xz4HOsc66z4TOt8+BzrnPg8+EzrnOus6sIM+Az4HOrc+AzrXOuSDOvc6xIM+Gz4TOuc6szr7Otc+EzrUgzq3Ovc6xIM6xz4HPh861zq/OvyAidmltcmMiLgorCisgIDEuIM6Rz4HPh86vz4PPhM61IM60zrnOv8+BzrjPjs69zr/Ovc+EzrHPgiDPhM6/IM6xz4HPh861zq/OvyAidmltcmMiLCDOsc+Fz4TPjCDOtc6+zrHPgc+EzqzPhM6xzrkgzrHPgM+MIM+Ezr8gz4PPjc+Dz4TOt868zqwgz4POsc+COgorCTplZGl0IH4vLnZpbXJjICAgICAgICAgICAgICAgzrPOuc6xIFVuaXgKKwk6ZWRpdCAkVklNL192aW1yYyAgICAgICAgICAgIM6zzrnOsSBNUy1XaW5kb3dzCisKKyAgMi4gzqTPjs+BzrEgzrXOuc+DzqzOs861z4TOtSDPhM6/IM66zrXOr868zrXOvc6/IM+AzrHPgc6xzrTOtc6vzrPOvM6xz4TOv8+CIM6zzrnOsSDOsc+Bz4fOtc6vzr8gInZpbXJjIjoKKwk6cmVhZCAkVklNUlVOVElNRS92aW1yY19leGFtcGxlLnZpbQorCisgIDMuIM6Tz4HOrM+Iz4TOtSDPhM6/IM6xz4HPh861zq/OvyDOvM61IM+EzrfOvToKKwk6d3JpdGUKKworICDOpM63zr0gzrXPgM+MzrzOtc69zrcgz4bOv8+Bzqwgz4DOv8+FIM64zrEgzr7Otc66zrnOvc6uz4POtc+EzrUgz4TOv869IFZpbSDOuM6xIM+Hz4HOt8+DzrnOvM6/z4DOv865zq7Pg861zrkgz4bPic+EzrnPg868z4wKKyAgz4PPjc69z4TOsc6+zrfPgi4gIM6cz4DOv8+BzrXOr8+EzrUgzr3OsSDPgM+Bzr/Pg864zq3Pg861z4TOtSDPjM67zrXPgiDPhM65z4Igz4DPgc6/z4TOuc68z47OvM61zr3Otc+CIM61z4DOuc67zr/Os86tz4Igz4MnIM6xz4XPhM+MCisgIM+Ezr8gzrHPgc+HzrXOr86/ICJ2aW1yYyIuCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKworICDOlc60z44gzr/Ou86/zrrOu863z4HPjs69zrXPhM6xzrkgz4TOvyBWaW0gVHV0b3IuIM6jzrrOv8+Az4zPgiDPhM6/z4Ugzq7PhM6xzr0gzr3OsSDOtM+Oz4POtc65IM68zq/OsSDPg8+Nzr3PhM6/zrzOtworICDPgM61z4HOr867zrfPiM63IM+Ezr/PhSDPg8+Fzr3PhM6szrrPhM63IFZpbSwgz4TOv8+FzrvOrM+HzrnPg8+Ezr/OvSDPhM+Mz4POtyDPjs+Dz4TOtSDOvc6xIM+DzrHPgiDOtc+AzrnPhM+Bzq3PiM61zrkgzr3OsQorICDPh8+BzrfPg865zrzOv8+Azr/Ouc6uz4POtc+EzrUgz4TOv869IM+Dz4XOvc+EzqzOus+EzrcgzrHPgc66zrXPhM6sIM61z43Ous6/zrvOsS4gzpHPgM6tz4fOtc65IM+Azr/Ou8+NIM6xz4DPjCDOvM6vzrEKKyAgzr/Ou86/zrrOu863z4HPic68zq3Ovc63IM+AzrHPgc6/z4XPg86vzrHPg863IM66zrHOuM+Oz4Igzr8gVmltIM6tz4fOtc65IM+AzqzPgc6xIM+Azr/Ou867zq3PgiDOtc69z4TOv867zq3Pgi4gzpTOuc6xzrLOrM+Dz4TOtQorICDOus6xz4TPjM+AzrnOvSDPhM6/IM61zrPPh861zrnPgc6vzrTOuc6/IM+Hz4HOrs+DzrfPgjoKKwkiOmhlbHAgdXNlci1tYW51YWwiLgorCisgIM6TzrnOsSDPgM61z4HOsc65z4TOrc+Bz4kgzrTOuc6szrLOsc+DzrzOsSDOus6xzrkgzrzOtc67zq3PhM63LCDPg8+Fz4PPhM6uzr3Otc+EzrHOuSDOsc+Fz4TPjCDPhM6/IM6yzrnOss67zq/OvzoKKwlWaW0gLSBWaSBJbXByb3ZlZCAtIGJ5IFN0ZXZlIE91YWxsaW5lCisJUHVibGlzaGVyOiBOZXcgUmlkZXJzCisJzqTOvyDPgM+Bz47PhM6/IM6yzrnOss67zq/OvyDPgM67zq7Pgc+Jz4IgzrHPhs65zrXPgc+JzrzOrc69zr8gz4PPhM6/zr0gVmltLgorCc6ZzrTOuc6xzq/PhM61z4HOsSDPh8+Bzq7Pg865zrzOvyDOs865zrEgzrHPgc+HzqzPgc65zr/Phc+CLgorCc6lz4DOrM+Bz4fOv8+Fzr0gz4DOv867zrvOrCDPgM6xz4HOsc60zrXOr86zzrzOsc+EzrEgzrrOsc65IM61zrnOus+Mzr3Otc+CLgorCc6UzrXOr8+EzrUgz4TOt869IGh0dHA6Ly9pY2NmLWhvbGxhbmQub3JnL2NsaWNrNS5odG1sCisKKyAgzpHPhc+Ez4wgz4TOvyDOss65zrLOu86vzr8gzrXOr869zrHOuSDPgM6xzrvOuc+Mz4TOtc+Bzr8gzrrOsc65IM+AzrXPgc65z4PPg8+Mz4TOtc+Bzr8gzrPOuc6xIM+Ezr/OvSBWaSDPgM6xz4HOrCDOs865zrEgz4TOv869IFZpbSwKKyAgzrHOu867zqwgzrXPgM6vz4POt8+CIM+Dz4XOvc65z4PPhM+OzrzOtc69zr86CisJTGVhcm5pbmcgdGhlIFZpIEVkaXRvciAtIGJ5IExpbmRhIExhbWIKKwlQdWJsaXNoZXI6IE8nUmVpbGx5ICYgQXNzb2NpYXRlcyBJbmMuCisJzpXOr869zrHOuSDOrc69zrEgzrrOsc67z4wgzrLOuc6yzrvOr86/IM6zzrnOsSDOvc6xIM68zqzOuM61z4TOtSDPg8+HzrXOtM+Mzr0gz4TOsSDPgM6szr3PhM6xIM+Azr/PhSDOuM6tzrvOtc+EzrUKKwnOvc6xIM66zqzOvc61z4TOtSDOvM61IM+Ezr/OvSBWaS4KKwnOlyDOrc66z4TOtyDOrc66zrTOv8+Dzrcgz4DOtc+BzrnOrc+HzrXOuSDOsc66z4zOvM6xIM+AzrvOt8+Bzr/Phs6/z4HOr861z4IgzrPOuc6xIM+Ezr/OvSBWaW0uCisKKyAgzpHPhc+Ezq4gzrcgz4DOtc+BzrnOrs6zzrfPg863IM6zz4HOrM+Gz4TOt866zrUgzrHPgM+MIM+Ezr/Phc+CIE1pY2hhZWwgQy4gUGllcmNlIM66zrHOuSBSb2JlcnQgSy4gV2FyZSwKKyAgQ29sb3JhZG8gU2Nob29sIG9mIE1pbmVzIM+Hz4HOt8+DzrnOvM6/z4DOv865z47Ovc+EzrHPgiDOuc60zq3Otc+CIM6xz4DPjCDPhM6/zr0gQ2hhcmxlcyBTbWl0aCwKKyAgQ29sb3JhZG8gU3RhdGUgVW5pdmVyc2l0eS4gIEUtbWFpbDogYndhcmVAbWluZXMuY29sb3JhZG8uZWR1LgorCisgIM6gz4HOv8+DzrHPgc68zr/Os86uIM6zzrnOsSDPhM6/zr0gVmltIM6xz4DPjCDPhM6/zr0gQnJhbSBNb29sZW5hYXIuCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KZGlmZiAtLWdpdCBhL3J1bnRpbWUvdHV0b3IvdHV0b3IuaHUuY3AxMjUwIGIvcnVudGltZS90dXRvci90dXRvci5odS5jcDEyNTAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODRlNmJkNAotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvdHV0b3IvdHV0b3IuaHUuY3AxMjUwCkBAIC0wLDAgKzEsODIzIEBACis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cis9ICAgINwgZCB2IPYgeiD2IGwgaiD8IGsgICBhICAgViBJIE0gICBUIHUgdCBvIHIgYiBhIG4gIC0gICAgMS41LfZzICB2ZXJ6afMgPT09Cis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKKyAgICAgQSBWaW0gZWd5IG5hZ3lvbiBoYXTpa29ueSBzemVya2VzenT1LCBhbWVsbnllayByZW5nZXRlZyB1dGFz7XThc2EKKyAgICAgdmFuLCB0+mwgc29rLCBob2d5IGVneSBpbHllbiBva3RhdPNiYW4gKHR1dG9yYmFuKSwgbWludCBheiBpdHRlbmkKKyAgICAgbWluZGV0IGVsbWFneWFy4Xp6dWsuIEV6IGF6IG9rdGF08yBhcnJhIHT2cmVrc3ppaywgaG9neSBhbm55aXQKKyAgICAgZWxtYWd5YXLhenpvbiwgYW1lbm55aSBlbOlnLCBob2d5IGv2bm55ZWTpbiBoYXN6buFsanVrIGEgVmltLWV0LCBhegorICAgICDhbHRhbOFub3MgY+ls+iBzevZ2ZWdzemVya2VzenT1dC4KKworICAgICBBIGZlbGFkYXRvayBtZWdvbGThc+Fob3ogMjUtMzAgcGVyYyBzevxrc+lnZXMgYXR082wgZvxnZ/VlbiwKKyAgICAgbWVubnlpdCB09mx0/G5rIGEga2lz6XJsZXRleulzc2VsLgorCisgICAgIEEgbGVja+liZW4gc3plcmVwbPUgdXRhc+104XNvayBt82Rvc+10YW5pIGZvZ2rhayBhIHN69nZlZ2VrLgorICAgICBL6XN67XRzZW4gbeFzb2xhdG90IGVycvVsIGEgZuFqbHLzbCwgaGEgZ3lha29yb2xuaSBha2FyLgorICAgICAoSGEgInZpbXR1dG9yIi1yYWwgaW5k7XRvdHRhLCBha2tvciBleiBt4XIgZWd5IG3hc29sYXQuKQorCisgICAgIEZvbnRvcyBtZWfpcnRlbmksIGhvZ3kgZXogYXogb2t0YXTzIGNzZWxla2VkdmUgdGFu7XR0YXQuCisgICAgIEV6IGF6dCBqZWxlbnRpLCBob2d5INZubmVrIGFq4W5sb3R0IHbpZ3JlaGFqdGFuaWEgYXogdXRhc+104XNva2F0LAorICAgICBob2d5IG1lZ2ZlbGVs9WVuIG1lZ3RhbnVsamEgYXpva2F0LiBIYSBjc2FrIG9sdmFzc2EsIGVsZmVsZWp0aSEKKworICAgICBNb3N0IGJpem9ueW9zb2Rqb24sIG1lZywgaG9neSBhIENhcHMtTG9jayBnb21iamEgTklOQ1MgbGVueW9tdmEsIOlzCisgICAgIE55b21qYSBtZWcgbWVnZmVsZWz1IHN64W36c3pvciBhICAgaiAgIGdvbWJvdCwgaG9neSBheiAxLjEtZXMKKyAgICAgbGVja2UgdGVsamVzZW4gYSBr6XBlcm559W4gbGVneWVuIQorCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJCTEuMS4gIGxlY2tlOiAgQSBLVVJaT1IgTU9aR0FUwVNBCisKKworICAgKiogQSBrdXJ6b3IgbW96Z2F04XPhaG96IG55b21qYSBtZWcgYSBoLGosayxsIGdvbWJva2F0IGF6IGFs4WJiaSBzemVyaW50LiAqKgorCSAgICAgXgorCSAgICAgawkJICAgIFRpcHA6ICBBIGggYmlsbGVudHn7IHZhbiBiYWxyYSwg6XMgYmFscmEgbW96Z2F0CisgICAgICAgPCBoCSBsID4JCSAgIEEgbCBiaWxsZW50efsgdmFuIGpvYmJyYSwg6XMgam9iYnJhIG1vemdhdAorCSAgICAgagkJCSAgIEEgaiBiaWxsZW50efsgb2x5YW4sIG1pbnQgZWd5IGxlZmVsZSBuee1sCisJICAgICB2CisgIDEuIE1vemdhc3NhIGEga3Vyem9ydCBr9nJiZSBheiBhYmxha2JhbiwgYW3tZyBob3p64SBuZW0gc3pva2lrIQorCisgIDIuIFRhcnRzYSBsZW55b212YSBhIGxlZmVs6XQgKGopLCBha2tvciBpc23pdGz1ZGlrIQorLS0tPiBNb3N0IHR1ZGphLCBob2d5YW4gbWVoZXQgYSBr9nZldGtlevUgbGVja+lyZS4KKworICAzLiBBIGxlZmVs6SBmb21iIGhhc3pu4WxhdOF2YWwgbWVuamVuIGEgMS4yLiBsZWNr6XJlIQorCitNZWdqOiBIYSBuZW0gYml6dG9zIGJlbm5lLCBtaXQgbnlvbW90dCBtZWcsIG55b21qYSBtZWcgYXogPEVTQz4tZXQsIGhvZ3kKKyAgICAgIG5vcm3hbCBt82RiYSBrZXL8bGr2biwg6XMgaXNt6XRlbGplIG1lZyBhIHBhcmFuY3NvdCEKKworTWVnajogQSBrdXJ6b3IgZ29tYm9rbmFrIGlzIG37a/Zkbmn8ayBrZWxsLCBkZSBhIGhqa2wgaGFzem7hbGF04XZhbAorICAgICAgc29ra2FsIGd5b3JzYWJiYW4gdHVkLCBtb3pvZ25pLCBoYSBob3p64XN6b2tpay4KKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCSAgICAgMS4yLiAgbGVja2U6IEJFIMlTIEtJTMlQyVMgQSBWSU1C1UwKKworCisgICEhIE1FR0o6IE1pZWz1dHQgdulncmVoYWp0amEgYXogYWzhYmJpIGzpcOlzZWtldCwgb2x2YXNzYSB26WdpZyBhIGxlY2vpdCAhIQorCisgIDEuIE55b21qYSBtZWcgYXogIDxFU0M+IGdvbWJvdCAoaG9neSBiaXp0b3NhbiBub3Jt4WwgbfNkYmFuIGxlZ3llbikuCisKKyAgMi4gzXJqYToJCQk6cSEgPEVOVEVSPi4KKworLS0tPiBFenplbCBraWzpcCBhIHN6ZXJrZXN6dPVi9WwgYSB24Wx0b3rhc29rIE1FTlTJU0UgTslMS9xMLgorICAgICBIYSBtZW50ZW5pIHN6ZXJldG7pIGEgduFsdG964XNva2F0IOlzIGtpbOlwbmksIO1yamE6CisJCQkJOndxICA8RU5URVI+CisKKyAgMy4gQW1pa29yIGEgc2hlbGwgcHJvbXB0b3QgbOF0amEsIO1yamEgYmUgYSBwYXJhbmNzb3QsIGFtZWx5IGViYmUgYQorICAgICB0dXRvcmJhIGhvenphOgorICAgICBFeiB2YWzzc3rtbvtsZWc6CXZpbXR1dG9yIDxFTlRFUj4KKyAgICAgTm9ybeFsaXMgZXNldGJlbiBlenQg7XJu4ToJdmltIHR1dG9yLmh1IDxFTlRFUj4KKworLS0tPiAndmltJyBqZWxlbnRpIGEgdmltYmUgYmVs6XDpc3QsICd0dXRvci5odScgYSBm4WpsLCBhbWl0IHN6ZXJrZXN6dGVuaSBr7Xbhbi4KKworICA0LiBIYSBtZWdqZWd5ZXp0ZSBhIGzpcOlzZWtldCDpcyBiaXp0b3MgbWFn4WJhbiwgaGFqdHNhIHbpZ3JlIGEgbOlw6XNla2V0CisgICAgIDEtdPVsIDMtaWcsIGhvZ3kga2ls6XBqZW4g6XMgdmlzc3phdOlyamVuIGEgc3plcmtlc3p09WJlLiBBenV04W4KKyAgICAgbWVuamVuIGF6IDEuMy4gIGxlY2vpcmUuCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJICAgICAxLjMuICBsZWNrZTogU1rWVkVHIFNaRVJLRVNaVMlTRSAtIFTWUkzJUworCisKKyoqIE5vcm3hbCBt82RiYW4gbnlvbWpvbiAgeC1ldCwgaG9neSBhIGt1cnpvciBhbGF0dGkga2FyYWt0ZXJ0IHT2cvZsamUuICoqCisKKyAgMS4gTW96Z2Fzc2EgYSBrdXJ6b3J0IGEgLS0tPiBrZXpkZXT7IHNvcnJhIQorCisgIDIuIEEgaGli4Wsga2lqYXbtdOFz4WhveiBtb3pnYXNzYSBhIGt1cnpvcnQgYW3tZyBhIHT2cmxlbmT1IGthcmFrdGVyCisgICAgIGb2bOkgbmVtIOlyLgorCisgIDMuIE55b21qYSBtZWcgYXogIHggIGdvbWJvdCwgaG9neSB09nL2bGplIGEgbmVta+124W50IGthcmFrdGVydC4KKworICA0LiBJc23pdGVsamUgYSAyLCAzLCA0LWVzIGzpcOlzZWtldCwgaG9neSBraWphdu10c2EgYSBtb25kYXRvdC4KKworLS0tPiDV1XN6aSDpampqZWxsIGl6emlpayBhYSBnYWxhZ2dvbnlhIHJydXVo4WphLgorCisgIDUuIEhhIGEgc29yIGhlbHllcywgdWdvcmpvbiBhIDEuNC4gbGVja+lyZS4KKworTUVHSjogQSB0YW51bOFzIHNvcuFuIG5lIG1lbW9yaXrhbG5pIHBy82LhbGpvbiwgaGFuZW0gaGFzem7hbGF0IHNvcuFuIHRhbnVsam9uLgorCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkgICAgIDEuNC4gIGxlY2tlOiBTWtZWRUcgU1pFUktFU1pUyVNFIC0gQkVTWtpSwVMKKworCisJICoqIE5vcm3hbCBt82RiYW4gIGkgIG1lZ255b23hc+F2YWwgbGVoZXQgYmVpbGxlc3p0ZW5pLiAqKgorCisgIDEuIEF6IGFs4WJiaSBlbHP1IC0tLT4ga2V6ZGV0+yBzb3JyYSBtZW5qZW4uCisKKyAgMi4gQWhob3osIGhvZ3kgYXogZWxz9XQgYXpvbm9zc+EgdGVneWUgYSBt4XNvZGlra2FsLCBtb3pnYXNzYSBhIGt1cnpvcnQKKyAgICAgYXogZWxz9SBrYXJha3RlcnJlLCBhbWVseSBVVMFOIHN69nZlZ2V0IGtlbGwgYmVzevpybmkuCisKKyAgMy4gTnlvbWpvbiAgaS10IOlzIO1yamEgYmUgYSBtZWdmZWxlbPUgc3r2dmVnZXQuCisKKyAgNC4gQW1pa29yIG1pbmRlbnQgYmXtcnQsIG55b21qb24gPEVTQz4tZXQsIGhvZ3kgTm9ybeFsIG3zZGJhIHZpc3N6YXTpcmplbi4KKyAgICAgSXNt6XRlbGplIGEgMiDpcyA0IGv2evZ0dGkgbOlw6XNla2V0LCBob2d5IGtpamF27XRzYSBhIG1vbmRhdG90LgorCistLS0+IEF6IOF0aGF08yBzb/NsIGhpemlrIHDhciDpc3ouCistLS0+IEF6IGl0dCBs4XRoYXTzIHNvcmLzbCBoaeFueXppayBw4XIgculzei4KKworICA1LiBIYSBt4XIgYmVneWFrb3JvbHRhIGEgYmVzevpy4XN0LCBtZW5qZW4gYXogYWzhYmJpIPZzc3plZm9nbGFs83JhLgorCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCQkgICAgICAgMS4gTEVDS0Ug1lNTWkVGT0dMQUzTSkEKKworCisgIDEuIEEga3Vyem9ydCB2YWd5IGEgbnlpbGFra2FsIHZhZ3kgYSBoamtsIGdvbWJva2thbCBtb3pnYXRoYXRqYS4KKwkgaCAoYmFscmEpCWogKGxlKSAgICAgICBrIChmZWwpCSAgICBsIChqb2JicmEpCisKKyAgMi4gQSBWaW1iZSAoYSAkIHByb21wdHTzbCkg7Wd5IGzpcGhldCBiZTogIHZpbSBGSUxFTkFNRSA8RU5URVI+CisKKyAgMy4gQSBWaW1i9Wwg7Wd5IGzpcGhldCBraTogIDxFU0M+ICAgOnEhICA8RU5URVI+ICBhIHbhbHRvenRhdOFzb2sgZWxkb2Lhc+F2YWwuCisJICAgICB2YWd5IO1neToJICAgICAgPEVTQz4gICA6d3EgIDxFTlRFUj4gIGEgduFsdG964XNvayBtZW506XPpdmVsLgorCisgIDQuIEEga3Vyem9yIGFsYXR0aSBrYXJha3RlciB09nJs6XNlIG5vcm3hbCBt82RiYW46ICB4CisKKyAgNS4gU3r2dmVnIGJlc3r6cuFzYSBhIGt1cnpvciB1dOFuIG5vcm3hbCBt82RiYW46CisJIGkgICAgIGfpcGVsamUgYmUgYSBzevZ2ZWdldAk8RVNDPgorCitNRUdKOiBBeiA8RVNDPiBtZWdueW9t4XNhIG5vcm3hbCBt82RiYSB2aXN6aSwgdmFneSBtZWdzemFr7XQgZWd5IG5lbSBiZWZlamV6ZXR0CisgICAgICBy6XN6YmVuIGJlZmVqZXpldHQgcGFyYW5jc290LgorCitNb3N0IGZvbHl0YXNzdWsgYSAyLiBsZWNr6XZlbCEKKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJCTIuMS4gIGxlY2tlOiBU1lJM1SBVVEFTzVTBU09LCisKKworCSAgICAqKiBkdyAgdPZy9mwgYSBzevMgduln6WlnLiAqKgorCisgIDEuIE55b21qb24gPEVTQz4tZXQsIGhvZ3kgbWVnYml6b255b3NvZGpvbiwgaG9neSBub3Jt4WwgbfNkYmFuIHZhbiEKKworICAyLiBNb3pnYXNzYSBhIGt1cnpvcnQgYSAtLS0+IGtlemRldPsgc29ycmEhCisKKyAgMy4gTW96Z2Fzc2EgYSBrdXJ6b3J0IGFycmEgYW5uYWsgYSBzevNuYWsgYXogZWxlaulyZSwgYW1pdCB09nL2bG5pIHN6ZXJldG5lLgorICAgICBU9nL2bGplIGF6IOFsbGF0b2thdCBhIG1vbmRhdGLzbC4KKworICA0LiBBIHN68yB09nJs6XPpaGV6IO1yamE6ICAgZHcKKworICBNRUdKOiBIYSByb3NzenVsIGtlemR0ZSBheiB1dGFz7XThc3QgY3NhayBueW9tam9uIDxFU0M+IGdvbWJvdAorICAgICAgICBhIG1lZ3N6YWvtdOFz4Whvei4KKworLS0tPiBQ4XIgc3rzIGt1dHlhIG5lbSB1aHUgaWxsaWsgcGluZ3ZpbiBhIG1vbmRhdGJhIHRlaOluLgorCisgIDUuIElzbel0ZWxqZSBhIDMg6XMgNCBr9nr2dHRpIHV0YXPtdOFzb2thdCBhbe1nIGtlbGwg6XMgdWdvcmpvbiBhIDIuMiBsZWNr6XJlIQorCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJICAgICAgMi4yLiAgbGVja2U6IE3JRyBU1kJCIFTWUkzVIFVUQVPNVMFTCisKKworCSAgICoqIGQkIGJl7XLhc+F2YWwgYSBzb3Igduln6WlnIHT2cvZsaGV0LiAqKgorCisgIDEuIE55b21qb24gPEVTQz4tZXQsIGhvZ3kgbWVnYml6b255b3NvZGpvbiwgaG9neSBub3Jt4WwgbfNkYmFuIHZhbiEKKworICAyLiBNb3pnYXNzYSBhIGt1cnpvcnQgYSAtLS0+IGtlemRldPsgc29ycmEhCisKKyAgMy4gTW96Z2Fzc2EgYSBrdXJ6b3J0IGEgaGVseWVzIHNvciB26WfpcmUgKGF6IGVsc/UgLiBVVMFOKSEKKworICA0LiBkJCAgYmVn6XBlbOlz6XZlbHT2cvZsamUgYSBzb3Igduln6XQhCisKKy0tLT4gVmFsYWtpIGEgc29yIHbpZ+l0IGvpdHN6ZXIgZ+lwZWx0ZSBiZS4ga+l0c3plciBn6XBlbHRlIGJlLgorCisKKyAgNS4gTWVuamVuIGEgMi4zLiBsZWNr6XJlLCBob2d5IG1lZ+lydHNlIG1pIHT2cnTpbnQhCisKKworCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCSAgICAgMi4zLiAgbGVja2U6IFVUQVPNVMFTT0tS00wgyVMgT0JKRUtUVU1PS1LTTAorCisKKyAgQSAgZCAgKGRlbGV0ZT109nJs6XMpIHV0YXPtdOFzIGZvcm3hamEgYSBr9nZldGtlevU6CisKKwkgW3N64W1dICAgZAlvYmpla3R1bQkgICBWQUdZCSAgICAgZAkgW3N64W1dIG9iamVrdHVtCisgIEFob2w6CisgICAgc3rhbSAtIGjhbnlzem9yIGhhanTzZGpvbiB26WdyZSBhIHBhcmFuY3MgKGVsaGFneWhhdPMsIGFsYXDpcnTpaz0xKS4KKyAgICBkIC0gYSB09nJs6XMgKGRlbGV0ZSkgdXRhc+104XMuCisgICAgb2JqZWt0dW0gLSBhbWluIGEgcGFyYW5jc25hayB0ZWxqZXP8bG5pZSBrZWxsIChhbOFiYiBsaXN04Xp2YSkuCisKKyAgT2JqZWt0dW1vayBy9nZpZCBsaXN04WphOgorICAgIHcgLSBhIGt1cnpvcnTzbCBhIHN68yB26WfpaWcsIGJlbGXpcnR2ZSBhIHN682v2enQuCisgICAgZSAtIGEga3Vyem9ydPNsIGEgc3rzIHbpZ+lpZywgTkVNIGJlbGXpcnR2ZSBhIHN682v2enQuCisgICAgJCAtIGEga3Vyem9ydPNsIGEgc29yIHbpZ+lpZy4KKworTUVHSjogIFbhbGxhbGtvevNiYmFrIGtlZHbp6XJ0LCBjc3Vw4W4gYXogb2JqZWt0dW0gYmVn6XBlbOlz6XZlbCBwYXJhbmNzIG7pbGv8bAorICAgICAgIGEga3Vyem9yIG9kYSBrZXL8bCwgYW1pdCBheiBvYmpla3R1bWxpc3RhIG1lZ2FkLgorCisKKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJMi40LiAgbGVja2U6IEVHWSBLSVbJVEVMIEEgICdQQVJBTkNTT0JKRUtUVU0nIEFM00wKKworCisJICAgICAgICoqIGRkIGJl7XLhc+F2YWwgdPZy9mxoZXRpIGF6IGVn6XN6IHNvcnQuICoqCisKKyAgQSB0ZWxqZXMgc29yIHT2cmzpc+luZWsgZ3lha29yaXPhZ2EgbWlhdHQgYSBWaSB0ZXJ2ZXr1aSBlbGhhdOFyb3p04WssCisgIGhvZ3kga/ZubnllYmIgbGVubmUgY3N1cOFuIGEgZC10IGvpdHN6ZXIgbWVnbnlvbW5pLCBob2d5IGVneSBzb3J0IHT2cvZsavxuay4KKworICAxLiBNb3pnYXNzYSBhIGt1cnpvcnQgYXogYWzhYmJpIGtpZmVqZXrpc2VrIG3hc29kaWsgc29y4XJhIQorICAyLiBkZCBiZWfpcGVs6XPpdmVsIHT2cvZsamUgYSBzb3J0IQorICAzLiBNZW5qZW4gYSA0LiAoZXJlZGV0aWxlZyA1Likgc29ycmEhCisgIDQuIDJkZCAgICh1Z3llYuFyIHN64W0tdXRhc+104XMtb2JqZWt0dW0pIGJlZ+lwZWzpc+l2ZWwgdPZy9mxq9m4ga+l0IHNvcnQhCisKKyAgICAgIDEpICBBbHbzIHN6ZWdlayBhIGrpZ2hpZGVnIGhvbW9rYmFuLAorICAgICAgMikgIC0ga2V6ZGkgYSBr9mx09SAtCisgICAgICAzKSAgUGxha+F0bWFn4W55YmFuIOF68yDpamplbGVrLgorICAgICAgNCkgIFBpbmd2aW5layBuZSBm6WxqZXRlaywKKyAgICAgIDUpICBU4XZvbHLzbCBlZ3kgdmFrdSB2aWxsYW50LAorICAgICAgNikgIMlndmUgaGFneXRhZCBhIGZvbHlvc/NuIGEgdmlsbGFueXQuCisgICAgICA3KSAgTWEgb250auFrIHbpcmVtZXQuCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCQkgMi41LiAgbGVja2U6IEEgVklTU1pBVk9OwVMgKFVORE8pIFBBUkFOQ1MKKworCisqKiB1IGfpcGVs6XPpdmVsIHZpc3N6YXZvbmhhdPMgYXogdXRvbHPzIHBhcmFuY3MsIFUgYXogZWfpc3ogc29ydCBoZWx5cmXhbGztdGphLiAqKgorCisgIDEuIE1lbmr8bmsgYXogYWzhYmJpIC0tLT4ga2V6ZGV0+yBzb3IgZWxz9SBoaWLhauFyYSEKKyAgMi4geCAgbGVueW9t4XPhdmFsIHT2cvZsamUgYXogZWxz9SBmZWxlc2xlZ2VzIGthcmFrdGVydCEKKyAgMy4gdSBtZWdueW9t4XPhdmFsIHZvbmphIHZpc3N6YSBheiB1dG9sc/NuYWsgdulncmVoYWp0b3R0IHV0YXPtdOFzdCEKKyAgNC4gTeFzb2Rq4XJhIGphdu10c29uIGtpIG1pbmRlbiBoaWLhdCBhIHNvcmJlbiBheiB4IHV0YXPtdOFzc2FsIQorICA1LiBNb3N0IG5hZ3kgIFUgIC12YWwg4Wxs7XRzYSB2aXNzemEgYSBzb3IgZXJlZGV0aSDhbGxhcG904XQhCisgIDYuIE55b21qYSBtZWcgYXogdSBnb21ib3QgcOFyc3pvciwgaG9neSBheiBVIOlzIHN6IGVs9Xr1IHV0YXPtdOFzb2thdAorICAgICB2aXNzemHhbGztdHNhIQorICA3LiBDVFJMLVIgKENUUkwgZ29tYiBsZW55b23hc2EgbWVsbGV0dCD8c3P2biBSLXQpIHDhcnN6b3IgY3NpbuFsamEg+mpyYSBhCisgICAgIHZpc3N6YXZvbnQgcGFyYW5jc29rYXQgKHJlZG8pIQorCistLS0+IEphdu3tdHNkIGEgaGhpYuFrYWF0IGViYmJlbiBhIHNvb29yYmFuIG1hamQg4Wxs7XRzYSB2aXNzemFhYSBheiBlcmVkZXRpdC4KKworICA4LiBFemVrIG5hZ3lvbiBoYXN6bm9zIHBhcmFuY3Nvay4gTW9zdCB1Z2Fyam9uIGEgMi4gbGVja2Ug9nNzemVmb2dsYWzzauFyYS4KKworCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkJICAgICAgIDIuIExFQ0tFINZTU1pFRk9HTEFM00pBCisKKworICAxLiBU9nJs6XMgYSBrdXJ6b3J082wgYSBzevMgduln6WlnOiAgICBkdworCisgIDIuIFT2cmzpcyBhIGt1cnpvcnTzbCBhIHN68yB26WfpaWc6ICAgIGQkCisKKyAgMy4gRWfpc3ogc29yIHT2cmzpc2U6ICAgIGRkCisKKyAgNC4gRWd5IHV0YXPtdOFzIGFsYWtqYSBub3Jt4WwgbfNkYmFuOgorCisgICAgICAgW3N64W1dICAgdXRhc+104XMgICBvYmpla3R1bSAgIFZBR1kgICB1dGFz7XThcwlbc3rhbV0gb2JqZWt0dW0KKyAgICAgYWhvbDoKKyAgICAgICBzeuFtIC0gaOFueXN6b3IgaXNt6XRlbGr8ayBhIHBhcmFuY3NvdAorICAgICAgIHV0YXPtdOFzIC0gbWl0IHRlZ3n8bmssIHBsLiBkICBhIHT2cmzpc2tvcgorICAgICAgIG9iamVrdHVtIC0gbWlyZSBoYXNzb24gYXogdXRhc+104XMsIHDpbGThdWwgdyAoc3rzPXdvcmQpLAorCQkkIChhIHNvciB26WfpaWcpLCBzdGIuCisKKyAgNS4gQXogZWz1evUgdGV0dCB2aXNzemF2b27hc2EgKHVuZG8pOgkgICAgIHUJIChraXMgdSkKKyAgICAgQSBzb3Ig9nNzemVzIHbhbHRveuFz4W5hayB2aXNzemF2b27hc2E6IFUJIChuYWd5IFUpCisgICAgIFZpc3N6YXZvbuFzb2sgdmlzc3phdm9u4XNhOgkgICAgIENUUkwtUgorCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJCSAzLjEuICBsZWNrZTogQSBQVVQgUEFSQU5DUworCisKKyAgKiogcCAgbGX8dOlz6XZlbCBheiB1dG9sc/NuYWsgdPZy9mx0ZXQgYSBrdXJ6b3IgdXThbiBpbGxlc3poZXRq/GsuICoqCisKKyAgMS4gTW96Z2Fzc3VrIGEga3Vyem9ydCBheiBhbOFiYmkgc29yb2sgZWxz9SBzb3LhcmEuCisKKyAgMi4gZGQgbGX8dOlz6XZlbCB09nL2bGr8ayBhIHNvcnQg6XMgZWx06XJvbPNkaWsgYSBWaW0gcHVmZmVy6WJlbi4KKworICAzLiBNb3pnYXNzdWsgYSBrdXJ6b3J0IEFG1kzJIGEgc29yIGb2bOksIGFob3bhIG1vemdhdG5pIHN6ZXJldG7pbmsgYQorICAgICB09nL2bHQgc29ydC4KKworICA0LiBOb3Jt4WwgbfNkYmFuIO1yanVuayAgcCAgIGJldPt0IGEgdPZy9mx0IHNvciBiZWlsbGVzenTpc+loZXouCisKKyAgNS4gRm9seXRhc3N1ayBhIDItNC4gdXRhc+104XNva2thbCBob2d5IGEgaGVseWVzIHNvcnJlbmRldCBrYXBqdWsuCisKKyAgICAgZCkgQ2FuIHlvdSBsZWFybiB0b28/CisgICAgIGIpIFZpb2xldHMgYXJlIGJsdWUsCisgICAgIGMpIEludGVsbGlnZW5jZSBpcyBsZWFybmVkLAorICAgICBhKSBSb3NlcyBhcmUgcmVkLAorCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCSAgICAgICAzLjIuICBsZWNrZTogQSBSRVBMQUNFIFBBUkFOQ1MKKworCisqKiByICDpcyAgYSBrYXJha3RlcmVrIGxl/HTpc+l2ZWwgYSBrdXJ6b3IgYWxhdHRpIGthcmFrdGVydCBtZWd24Wx0b3p0YXRqdWsuICoqCisKKyAgMS4gTW96Z2Fzc3VrIGEga3Vyem9ydCBheiBlbHP1IC0tLT4ga2V6ZGV0+yBzb3JyYSEKKworICAyLiBNb3pnYXNzdWsgYSBrdXJ6b3J0IGF6IGVsc/UgaGliYSBm9mzpIQorCisgIDMuIHIJbWFqZCBhIGvtduFudCBrYXJha3RlciBsZfx06XPpdmVsIHbhbHRvenRhc3N1ayBtZWcgYSBoaWLhc2F0IQorCisgIDQuIEEgMi4g6XMgMy4gbOlw6XNla2tlbCBqYXbtdHN1ayBheiD2c3N6ZXMgaGli4XQhCisKKy0tLT4gIFdoYW4gdGhpcyBsaW1lIHdhcyB0dW9lZCBpbiwgc29tZW9uZSBwcmVzc3dkIHNvbWUgd3Jvamcga2V5cyEKKy0tLT4gIFdoZW4gdGhpcyBsaW5lIHdhcyB0eXBlZCBpbiwgc29tZW9uZSBwcmVzc2VkIHNvbWUgd3Jvbmcga2V5cyEKKworICA1LiBNZW5q/G5rIGEgMy4yLiBsZWNr6XJlIQorCitNRUdKOiBFbWzpa2V6emVuLCBob2d5IG5lbSBtZW1vcml64Wzhc3NhbCwgaGFuZW0gZ3lha29ybOFzc2FsIHRhbnVsam9uLgorCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkJMy4zLiAgbGVja2U6IEEgQ0hBTkdFIFBBUkFOQ1MKKworCisJICAgKiogQSBzevMgZWd5IHLpc3rpbmVrIG1lZ3bhbHRvenRhdOFz4WhveiDtcmp1azogIGN3IC4gKioKKworICAxLiBNb3pnYXNzdWsgYSBrdXJ6b3J0IGF6IGVsc/UgLS0tPiBrZXpkZXT7IHNvcnJhIQorCisgIDIuIFZpZ3llIGEga3Vyem9ydCBhIEV6ZW4gc3rzIHogYmV0+2plIGb2bOkhCisKKyAgMy4gY3cg6XMgYSBoZWx5ZXMgc3rzculzeiAoaXR0ICdiYmVuJykgYmXtcuFz4XZhbCBqYXbtdHNhIGEgc3rzdCEKKworICA0LiA8RVNDPiBsZW55b23hc2EgdXThbiBhIGv2dmV0a2V69SBoaWLhcmEgdWdvcmpvbiAoYXogZWxz9SBjc2Vy6WxlbmT1CisgICAgIGthcmFrdGVycmUpIQorCisgIDUuIEEgMy4g6XMgNC4gbOlw6XNlayBpc23pdGzpc+l2ZWwgYXogZWxz9SBtb25kYXRvdCB0ZWd5ZSBhIG3hc29kaWtrYWwKKyAgICAgYXpvbm9zc+EhCisKKy0tLT4gRXplbiBhIHNvcnJycnIgcOFyIHN683JhIG1lZyBrZWxsIHbhbHRvenphbmFrIGEgY2hhbmdlIHV0YXNr7XLpc/UuCistLS0+IEViYmVuIGEgc29yYmFuIHDhciBzevN0IG1lZyBrZWxsIHbhbHRvenRhdG5pIGEgY2hhbmdlIHV0YXPtdOFzc2FsLgorCitWZWd5/Gsg6XN6cmUsIGhvZ3kgYSAgY3cgIG5lbSBjc2FrIGEgc3rzdCDtcmphIOF0LCBoYW5lbSBiZXN6+nLzCisoaW5zZXJ0KSBt82RiYSB24Wx0LgorCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCSAgICAgICAzLjQuICBsZWNrZTogVNZCQkbJTEUgVsFMVE9aVEFUwVMgYy1WRUwKKworCisgKiogQSBjIHV0YXPtdOFzIGhhc3pu4WxoYXTzIHVneWFuYXpva2thbCBheiBvYmpla3R1bW9ra2FsIG1pbnQgYSB09nJs6XMgKioKKworICAxLiBBIGNoYW5nZSB1dGFz7XThcyBhIHT2cmzpc3NlbCBhem9ub3NhbiB2aXNlbGtlZGlrLiAgQSBmb3JtYToKKworICAgICAgIFtzeuFtXSAgIGMgICBvYmpla3R1bQkgICBPUgkgICAgYwlbc3rhbV0gICBvYmpla3R1bQorCisgIDIuIEF6IG9iamVrdHVtb2sgaXMgYXpvbm9zYWssIHBsLiAgIHcgKHN68yksICQgKHNvcnbpZyksIHN0Yi4KKworICAzLiBNb3pnYXNzdWsgYSBrdXJ6b3J0IGF6IGVsc/UgLS0tPiBrZXpkZXT7IHNvcnJhIQorCisgIDQuIE1lbmr8bmsgYXogZWxz9SBoaWLhcmEhCisKKyAgNS4gYyQgYmVn6XBlbOlz6XZlbCBhIHNvcnbpZ2VrZXQgdGVnefxrIGF6b25vc3PhIOlzIG55b21qdW5rIDxFU0M+LWV0IQorCistLS0+IEVubmVrIGEgc29ybmFrIGEgdulnZSBraWlnYXrtdOFzcmEgc3pvcnVsLCBob2d5IG1lZ2VneWV6emVuIGEgbeFzb2Rpa2thbC4KKy0tLT4gRW5uZWsgYSBzb3JuYWsgYSB26WdlIGEgYyQgcGFyYW5jY3NhbCB24Wx0b3p0YXRoYXTzIG1lZy4KKworCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkJICAgICAgIDMuIExFQ0tFINZTU1pFRk9HTEFM00pBCisKKworICAxLiBBIG3hciB09nL2bHQgc29ydCBiZWlsbGVzenTpc+loZXogbnlvbWp1bmsgcC10LiBFeiBhIHT2cvZsdCBzevZ2ZWdldAorICAgICBhIGt1cnpvciBVVMFOIGhlbHllemkgKGhhIHNvciBrZXL8bHQgdPZybOlzcmUsIGEga3Vyem9yIGFsbGF0dGkgc29yYmEpLgorCisgIDIuIEEga3Vyem9yIGFsYXR0aSBrYXJha3RlciDhdO1y4XPhaG96IGF6IHItZXQg6XMgYXp0IGEga2FyYWt0ZXJ0CisgICAgIG55b21qdWssIGFtZWxseWVsIGF6IGVyZWRldGl0IGZlbPxsIHN6ZXJldG7pbmsg7XJuaS4KKworICAzLiBBIHbhbHRvenRhdOFzIChjKSB1dGFz7XThcyBhIGthcmFrdGVydPVsIGF6IG9iamVrdHVtIHbpZ+lpZworICAgICB24Wx0b3p0YXRqYSBtZWcgYXogb2JqZWt0dW1vdC4gUOlsZOF1bCBhIGN3IGEga3Vyem9ydPNsIGEgc3rzIHbpZ+lpZywKKyAgICAgYSBjJCBhIHNvciB26WfpaWcuCisKKyAgNC4gQSB24Wx0b3p0YXThcyBmb3Jt4XR1bWE6CisKKwkgW3N64W1dICAgYwlvYmpla3R1bQlWQUdZCWMgICBbc3rhbV0gICBvYmpla3R1bQorCitVZ29yanVuayBhIGv2dmV0a2V69SBsZWNr6XJlIQorCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCSAgICAgNC4xLiAgbGVja2U6IEhFTFkgyVMgRsFKTMFMTEFQT1QKKworCisgKiogQ1RSTC1nIG1lZ255b23hc+F2YWwgbWVnbul6aGV0avxrIGEgaGVsefxua2V0IGEgZuFqbGJhbiDpcyBhIGbhamwg4WxsYXBvdOF0LgorICAgICBTSElGVC1HIGxl/HTpc+l2ZWwgYSBm4WpsIGFkb3R0IHNvcuFyYSB1Z29yaGF0dW5rLiAqKgorCisgIE1lZ2o6IE9sdmFzc3VrIGVsIGF6IGVn6XN6IGxlY2vpdCBhIGzpcOlzZWsgdulncmVoYWp04XNhIGVs9XR0ISEKKworICAxLiBUYXJ0c3VrIG55b212YSBhIEN0cmwgZ29tYm90IOlzIG55b21qdW5rICBnLXQuICBBeiDhbGxhcG90c29yCisgICAgIG1lZ2plbGVuaWsgYSBsYXAgYWxq4W4gYSBm4Wpsbul2dmVsIOlzIGF6IGFrdHXhbGlzIHNvciBzb3JzeuFt4XZhbC4KKyAgICAgSmVneWV6evxrIG1lZyBhIHNvcnN64W1vdCBhIDMuIGzpcOlzaGV6IQorCisgIDIuIE55b21qdW5rIFNoaWZ0LUctdCBhIGxhcCBhbGrhcmEgdWdy4XNob3ohCisKKyAgMy4g3HNz/GsgYmUgYXogZXJlZGV0aSBzb3Igc3rhbeF0LCBtYWpkIPxzc/xuayBzaGlmdC1HLXQhIEV6emVsCisgICAgIHZpc3N6YWp1dHVuayBheiBlcmVkZXRpIHNvcnJhIGFob2wgQ3RybC1nLXQgbnlvbXR1bmsuCisgICAgIChBIGJl7XJ0IHN64W0gTkVNIGZvZyBtZWdqZWxlbm5pIGEga+lwZXJuefVuLikKKworICA0LiBIYSBtZWdqZWd5ZXp0ZSBhIGZlbGFkYXRvdCwgaGFqdHNhIHbpZ3JlIGF6IDEtMy4gbOlw6XNla2V0IQorCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCQk0LjIuICBsZWNrZTogQSBTRUFSQ0ggUEFSQU5DUworCisKKyAgKiogLyBtYWpkIGEga+124W50IGtpZmVqZXrpcyBiZe1y4XPhdmFsIGtlcmVzaGV0avxrIG1lZyBhIGtpZmVqZXrpc3QuICoqCisKKyAgMS4gTm9ybeFsIG3zZGJhbiD8c3P8bmsgIC8gIGthcmFrdGVydCEgIEV6IOlzIGEga3Vyem9yIG1lZ2plbGVuaWsKKyAgICAgYSBr6XBlcm559SBhbGrhbiwgYWhvZ3kgYSA6IHV0YXPtdOFzIGlzLgorCisgIDIuIM1yanVrIGJlOiAnaGlpYmFhJyA8RU5URVI+ISAgRXogYXogYSBzevMgYW1pdCBrZXJlc/xuay4KKworICAzLiBBIGtpZmVqZXrpcyD6amFiYiBrZXJlc+lz6WhleiD8c3P8ayBsZSBlZ3lzemVy+2VuOiAgbiAuCisgICAgIEEga2lmZWpleulzIGVsbGVua2V69SBpcuFueWJhbiB09nJ06W71IGtlcmVz6XPpaGV6IGV6dCD8c3P8ayBiZTogU2hpZnQtTiAuCisKKyAgNC4gSGEgdmlzc3phZmVs6SBzemVyZXRuZSBrZXJlc25pLCBha2tvciA/IGtlbGwgYSAhIGhlbHlldHQuCisKKy0tLT4gImhpaWJhYSIgbmVtIGEgaGVseWVzIG3zZGphIGEgaGliYSBsZe1y4XPhbmFrOyBhIGhpaWJhYSBlZ3kgaGliYS4KKworTWVnajogSGEgYSBrZXJlc+lzIGVs6XJpIGEgZuFqbCB26WfpdCwgYWtrb3IgYXogZWxlauluIGtlemRpLgorCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkgICA0LjMuICBsZWNrZTogWsFS00pFTEVLIFDBUkrBTkFLIEtFUkVTyVNFCisKKworCSAgICoqICUgbGX8dOlz6XZlbCBtZWd0YWzhbGp1ayBhICksXSwgdmFneSB9ICBw4XJq4XQuICoqCisKKyAgMS4gSGVseWV6emUgYSBrdXJ6b3J0IHZhbGFtZWx5aWsgKCwgWywgdmFneSB7IHrhcvNqZWxyZSBhIC0tLT4ga2V6ZGV0+worICAgICBzb3JiYW4hCisKKyAgMi4g3HNz9m4gICUgIGthcmFrdGVydCEKKworICAzLiBBIGt1cnpvciBhIHrhcvNqZWwgcOFyauFyYSBmb2cgdWdyYW5pLgorCisgIDQuICUgbGX8dOlz6XZlbCB2aXNzemF1Z3JpayBheiBlcmVkZXRpIHrhcvNqZWxyZS4KKworLS0tPiBFeiAoIGVneSB0ZXN6dHNvciAoLWVra2VsLCBbLWVra2VsIF0g6XMgey1la2tlbCB9IGEgc29yYmFuLiApKQorCitNZWdqOiBFeiBuYWd5b24gaGFzem5vcywgaGEgb2x5YW4gcHJvZ3JhbW90IGRlYnVnb2x1bmssIGFtZWx5YmVuIGEKKyAgICAgIHrhcvNqZWxlayBuZW0gcOFyb3NhayEKKworCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCSAgICAgIDQuNC4gIGxlY2tlOiBBIEhJQsFLIEtJSkFWzVTBU8FOQUsgRUdZIE3TREpBCisKKworICAgICoqIDpzL/pqL3LpZ2kvZyBiZWfpcGVs6XPpdmVsIGF6ICf6aictcmEgY3NlculsavxrIGEgJ3LpZ2knLXQuICoqCisKKyAgMS4gTWVuavxuayBhIC0tLT4ga2V6ZGV0+yBzb3JyYSEKKworICAyLiDNcmp1ayBiZTogIDpzL2VnZ3kvZWd5IDxFTlRFUj4gLiAgRWtrb3IgY3NhayBheiBlbHP1IHbhbHRvemlrIG1lZyBhCisgICAgIHNvcmJhbi4KKworICAzLiBNb3N0IGV6dCDtcmp1azoJIDpzL2VnZ3kvZWdnL2cJICAgYW1lbHkgZ2xvYuFsaXNhbiBoZWx5ZXR0ZXPtdAorICAgICBhIHNvcmJhbi4KKyAgICAgRXogYSBzb3JiYW4gbWluZGVuIGVs9WZvcmR1bOFzdCBoZWx5ZXR0ZXPtdC4KKworLS0tPiBlZ2d5IGhlZ3kgbWVnZ3ksIHN6ZW1iZSBq9m4gZWdneSBt4XNpayBoZWdneS4KKworICA0LiBL6XQgc29yIGv2evZ0dCBhIGthcmFrdGVyc29yIG1pbmRlbiBlbPVmb3JkdWzhc+FuYWsgaGVseWV0dGVz7XTpc2U6CisgICAgIDojLCNzL3LpZ2kv+movZyAgICBhaG9sICMsIyBhIGvpdCBzb3Igc29yc3rhbWEuCisgICAgIDolcy9y6WdpL/pqL2cgICAgICBhIGbhamxiZWxpIPZzc3plcyBlbPVmb3JkdWzhcyBoZWx5ZXR0ZXPtdOlzZS4KKworCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCQkgICAgICAgNC4gTEVDS0Ug1lNTWkVGT0dMQUzTSkEKKworCisgIDEuIEN0cmwtZyAga2ntcmphIGF6IGt1cnpvciBoZWx56XQgYSBm4WpsYmFuIOlzIGEgZuFqbCDhbGxhcG904XQuCisgICAgIFNoaWZ0LUcgYSBm4WpsIHbpZ+lyZSBtZWd5LCBnZyBheiBlbGVq6XJlLiBFZ3kgc3rhbSB1dOFuCisgICAgIFNoaWZ0LUcgIGF6IGFkb3R0IHN64W36IHNvcnJhIHVncmlrLgorCisgIDIuIC8JdXThbiBlZ3kga2lmZWpleulzIEVM1VJFRkVMRSBrZXJlc2kgYSBraWZlamV66XN0LgorICAyLiA/CXV04W4gZWd5IGtpZmVqZXrpcyBWSVNTWkFGRUxFIGtlcmVzaSBhIGtpZmVqZXrpc3QuCisgICAgIEVneSBrZXJlc+lzIHV04W4gYXogIG4gIGEga/Z2ZXRrZXr1IGVs9WZvcmR1bOFzdCBrZXJlc2kgYXpvbm9zIGly4W55YmFuCisgICAgIFNoaWZ0LU4gIGF6IGVsbGVua2V69SBpcuFueWJhbiBrZXJlcy4KKworICAzLiAlCWJlZ+lwZWzpc+l2ZWwsIGhhICAoLCksWyxdLHssIHZhZ3kgfSBrYXJha3RlcmVuIHZhZ3l1bmsgYSB64XLzamVsCisgICAgIHDhcmrhcmEgdWdyaWsuCisKKyAgNC4gYXogZWxz9SBy6WdpIGhlbHlldHRlc+106XNlIPpqamFsIGEgc29yYmFuICAgIDpzL3LpZ2kv+moKKyAgICAgYXog9nNzemVzIHLpZ2kgaGVseWV0dGVz7XTpc2Ug+mpqYWwgYSBzb3JiYW4gIDpzL3LpZ2kv+movZworICAgICBr6XQgc29yIGv2evZ0dGkga2lmZWpleulzZWtyZQkJICAgOiMsI3MvculnaS/6ai9nCisgICAgICMgaGVseeluIGF6IGFrdHXhbGlzIHNvciAoLikg6XMgYXogdXRvbHPzICgkKSBpcyDhbGxoYXQgOi4sJC9y6WdpL/pqL2cKKyAgICAgQSBm4WpsYmVsaSD2c3N6ZXMgZWz1Zm9yZHVs4XMgaGVseWV0dGVz7XTpc2UgIDolcy9y6WdpL/pqL2cKKyAgICAgTWluZGVua29yaSBtZWdlcvVz7XTpc3JlIHbhciAnYycgaGF04XPhcmEJICAgOiVzL3LpZ2kv+movZ2MKKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJNS4xLiAgbGVja2U6IEvcTFPVIFBBUkFOQ1MgVslHUkVIQUpUwVNBCisKKworICAgKiogOiEgIHV04W4ga/xsc/UgcGFyYW5jc290IO1ydmEgdulncmVoYWp082RpayBhIHBhcmFuY3MuICoqCisKKyAgMS4gzXJqdWsgYmUgYXogaXNtZXL1cyA6IHBhcmFuY3NvdCwgaG9neSBhIGt1cnpvcnQgYSAga+lwZXJuefUgYWxq4XJhCisgICAgIGhlbHllenr8ay4gRXogbGVoZXT1dukgdGVzemkgZWd5IHBhcmFuY3MgYmXtcuFz4XQuCisKKyAgMi4gISAoZmVsa2nhbHTzamVsKSBiZe1y4XPhdmFsIHRlZ3n8ayBsZWhldPV26SBr/Gxz9SBo6WogKHNoZWxsKS1wYXJhbmNzCisgICAgIHbpZ3JlaGFqdOFz4XQuCisKKyAgMy4gzXJqdW5rIHDpbGThdWwgbHMgcGFyYW5jc290IGEgISB1dOFuIG1hamQg/HNz/G5rIDxFTlRFUj4tdC4gIEV6IGtpCisgICAgIGZvZ2phIGxpc3Them5pIGEga/ZueXZ04XJ1bmthdCB1Z3lhbvpneSwgbWludGhhIGEgc2hlbGwgcHJvbXB0buFsCisgICAgIGxlbm7pbmsuICBWYWd5IO1yamEgZXp0ICA6IWRpciAgaGEgYXogbHMgbmVtIG37a/ZkaWsuCisKK01lZ2o6ICBJbHlt82RvbiBi4XJtZWx5IGv8bHP1IHV0YXPtdOFzIHbpZ3JlaGFqdGhhdPMuCisKK01lZ2o6ICBNaW5kZW4gIDogIHBhcmFuY3MgdXThbiA8RU5URVI+LXQga2VsbCD8dG5pLgorCisKKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJICAgICAgNS4yLiAgbGVja2U6IELVVkVCQkVOIEEgRsFKTE9LIM1SwVPBUtNMCisKKworICAgICAqKiBBIGbhamxvayB24Wx0b3rhc2FpdCDtZ3kg7XJoYXRqdWsga2kgIDp3IEbBSkxOyVYuICoqCisKKyAgMS4gOiFkaXIgIHZhZ3kgIDohbHMgIGJl7XLhc+F2YWwgbGlzdOF6enVrIGEga/ZueXZ04XJ1bmthdCEKKyAgICAg1m4gbeFyIHR1ZGphLCBob2d5IDxFTlRFUj4tdCBrZWxsIPx0bmllIHV04W5hLgorCisgIDIuIFbhbGFzc3pvbiBlZ3kgZuFqbG5ldmV0LCBhbWVseSBt6WcgbmVtIGzpdGV6aWsgcGwuIFRFU1pUIQorCisgIDMuIM1yamE6CTp3IFRFU1pUICAgKGFob2wgVEVTWlQgYSB24Wxhc3p0b3R0IGbhamxu6XYpIQorCisgIDQuIEV6IGVsbWVudGkgYSB0ZWxqZXMgZuFqbHQgKGEgVmltIFR1dG9ydCkgVEVTWlQgbul2ZW4uCisgICAgIEVsbGVu9XJ66XNr6XBwIO1yanVrIGlzbel0ICAgIDohZGlyICAgaG9neSBs4XNzdWsgYSBr9m55dnThcmF0IQorICAgICAoRmVsZmVs6SBnb21iYmFsIDogdXThbiBheiBlbPV69SB1dGFz7XThc29rIHZpc3N6YWhvemhhdPNhay4pCisKK01lZ2o6IEhhINZuIGtpbOlwbmUgYSBWaW1i9Wwg6XMg6XMgdmlzc3phdOlybmUgYSBURVNaVCBm4Wpsbul2dmVsLCBha2tvciBhCisgICAgICBm4WpsIGEgdHV0b3IgbWVudOlza29yaSBwb250b3MgbeFzb2xhdGEgbGVubmUuCisKKyAgNS4gVOF2b2ztdHNhIGVsIGEgZuFqbHQgIChNUy1ET1MpOgk6IWRlbCBURVNaVAorCQkJdmFneSAoVW5peCk6CTohcm0gVEVTWlQKKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJICAgIDUuMy4gIGxlY2tlOiBFR1kgS0lWwUxBU1pUT1RUIFLJU1ogS0nNUsFTQQorCisKKwkqKiBBIGbhamwgZWd5IHLpc3rpbmVrIGtp7XLhc+Fob3og7XJqYSA6IywjIHcgRsFKTE7JViAqKgorCisgIDEuIDohZGlyICB2YWd5IDohbHMgIGJl7XLhc+F2YWwgbGlzdOF6emEgYSBr9m55dnThcmF0LCDpcyB24Wxhc3N6b24gZWd5CisgICAgIG1lZ2ZlbGVs9SBm4WpsbmV2ZXQsIHBsLiBURVNaVC4KKworICAyLiBNb3pnYXNzYSBhIGt1cnpvcnQgZW5uZWsgYXogb2xkYWxuYWsgYSB0ZXRlaulyZSwg6XMgbnlvbWpvbgorICAgICBDdHJsLWctdCwgaG9neSBtZWd0dWRqYSBhIHNvcnN64W1vdC4gIEpFR1lFWlpFIE1FRyBBIFNawU1PVCEKKworICAzLiBNb3N0IG1lbmplbiBhIGxhcCBhbGrhcmEsIOlzIPxzc2UgYmUgaXNt6XQ6IEN0cmwtZy4gIEVaVCBBIFNawU1PVAorICAgICBJUyBKRUdZRVpaRSBNRUchCisKKyAgNC4gSGEgY3NhayBlenQgYSBy6XN66XQgc3plcmV0bukgbWVudGVuaSBhIGbhamxuYWssIO1yamEgICA6IywjIHcgVEVTWlQKKyAgICAgYWhvbCAjLCMgYSBr6XQgc29yc3rhbSwgYW1pdCBtZWdqZWd5emV0dCwgVEVTWlQgYXog1m4gZuFqbG5ldmUuCisKKyAgNS4gSXNt6XQgbul6emUgbWVnLCBob2d5IGEgZuFqbCBvdHQgdmFuICg6IWRpcikgZGUgTkUgdPZy9mxqZS4KKworICA2LiBWaW1iZW4gbOl0ZXppayBlZ3kgbeFzaWsgbGVoZXT1c+lnOiBueW9tamEgbWVnIGEgU2hpZnQtViBnb21icOFydAorICAgICBheiBlbHP1IG1lbnRlbmkga+124W50IHNvcm9uLCBtYWpkIG1lbmplbiBsZSBheiB1dG9sc/NyYSwgZXp1dOFuCisgICAgIO1yamEgOncgVEVTWlQyICAgRWtrb3IgYSBURVNaVDIgZuFqbGJhIGtlcvxsIGEga2lqZWz2bHQgculzei4KKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJICAgNS40LiAgbGVja2U6IFJFVFJJRVZJTkcgQU5EIE1FUkdJTkcgRklMRVMKKworCisgICAgICAgKiogRWd5IGbhamwgdGFydGFsbeFuYWsgYmVpbGxlc3p06XPpaGV6IO1yamEgICA6ciBGwUpMTslWICoqCisKKyAgMS4gOiFkaXIgYmXtcuFz4XZhbCBu6Xp6ZSBtZWcsIGhvZ3kgYXog1m4gVEVTWlQgZuFqbGphIGzpdGV6aWsgbelnLgorCisgIDIuIEhlbHllenplIGEga3Vyem9ydCBlbm5layBheiBvbGRhbG5hayBhIHRldGVq6XJlLgorCitNRUdKOiAgQSAzLiBs6XDpcyB1dOFuIGF6IDUuMy4gbGVja+l0IGZvZ2phIGzhdG5pLiBBenV04W4gTEVGRUzJIGluZHVsdmEKKyAgICAgICBrZXJlc3NlIG1lZyBpc23pdCBlenQgYSBsZWNr6XQuCisKKyAgMy4gTW9zdCBzevpyamEgYmUgYSBURVNaVCBuZXb7IGbhamx0IGEgICA6ciBURVNaVCAgIHBhcmFuY2NzYWwsIGFob2wKKyAgICAgVEVTWlQgYXog1m4gZuFqbGrpbmFrIGEgbmV2ZS4KKworTUVHSjogIEEgZuFqbCwgYW1pdCBiZWlsbGVzenRldHQgYSBrdXJ6b3JhIGFsYXR0IGhlbHllemtlZGlrIGVsLgorCisgIDQuIEhvZ3kgZWxsZW71cml6evxrLCBob2d5IGEgZuFqbHQgdOlueWxlZyBiZWlsbHN6dGV0dPxrLCBtZW5qZW4KKyAgICAgdmlzc3phLCDpcyBu6Xp6ZSBtZWcsIGhvZ3kga+l0c3plciBzemVyZXBlbCBheiA1LjMuIGxlY2tlISBBeiBlcmVkZXRpCisgICAgIG1lbGxldHQgYSBm4WpsYvNsIGJlbeFzb2x0IGlzIG90dCB2YW4uCisKKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJCSAgICAgICA1LiBMRUNLRSDWU1NaRUZPR0xBTNNKQQorCisKKyAgMS4gIDohcGFyYW5jcyB26WdyZWhhanQgZWd5IGv8bHP1IHV0YXPtdOFzdC4KKworICAgICAgUOFyIGhhc3pub3MgcOlsZGE6CisJIChNUy1ET1MpCSAgKFVuaXgpCisJICA6IWRpcgkJICAgOiFscwkJICAgLSAga/ZueXZ04XJsaXN0YSBrae1y4XNhLgorCSAgOiFkZWwgRsFKTE7JViAgICA6IXJtIEbBSkxOyVYgICAgLSAgRsFKTE7JViBuZXb7IGbhamwgdPZybOlzZS4KKworICAyLiAgOncgRsFKTE7JViAga2ntcmphIGEgamVsZW5sZWdpIFZpbS1m4WpsdCBhIGxlbWV6cmUgRsFKTslWIG7pdmVuLgorCisgIDMuICA6IywjdyBGwUpMTslWICBrae1yamEgYSBr6XQgc29yc3rhbSAoIykga/Z69nR0aSBzb3Jva2F0IEbBSkxOyVYtYmUKKyAgICAgIE3hc2lrIGxlaGV09XPpZywgaG9neSBhIGtlemT1c29ybuFsIEN0cmwtdi10IG55b20gbGVtZWd5IGF6IHV0b2xz8worICAgICAgc29ycmEsIG1hamQgZXp0IPx0aSBiZSAgOncgRsFKTE7JVgorCisgIDQuICA6ciBGwUpMTslWICBiZW9sdmFzc2EgYSBGwUpMTslWIGbhamx0IOlzIGJlaGVseWV6aSBhIGplbGVubGVnaSBm4WpsYmEKKyAgICAgIGEga3Vyem9ycG96aWNp8yB1dOFuaSBzb3JiYS4KKworCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCQkgNi4xLiAgbGVja2U6IEEgT1BFTiBQQVJBTkNTCisKKworKiogbyAgYmXtcuFz4XZhbCBueWl0aGF0IGVneSD6aiBzb3J0IGEga3Vyem9yIGFsYXR0IOlzIHbhbHRoYXQgYmVzevpy8yBt82RiYSAqKgorCisgIDEuIE1vemdhc3N1ayBhIGt1cnpvcnQgYSAtLS0+IGtlemRldPsgc29ycmEuCisKKyAgMi4gbyAoa2ljc2kpICBiZe1y4XPhdmFsIG55aXNzb24gZWd5IHNvcnQgYSBrdXJ6b3IgQUxBVFQhIEVra29yCisgICAgIGF1dG9tYXRpa3VzYW4gYmVzevpy8yAoaW5zZXJ0KSBt82RiYSBrZXL8bC4KKworICAzLiBN4XNvbGphIGxlIGEgIC0tLT4gamVs+yBzb3J0IOlzIDxFU0M+IG1lZ255b23hc+F2YWwgbOlwamVuIGtpCisgICAgIGEgYmVzevpy8yBt82Ri82wuCisKKy0tLT4gQXogbyBsZW55b23hc2EgdXThbiBhIGt1cnpvciBhIGv2dmV0a2V69SBzb3IgZWxlauluIOFsbCBiZXN6+nLzIG3zZGJhbi4KKworICA0LiBBIGt1cnpvciBGRUxFVFRJIGZvciBtZWdueWl04XPhaG96IGVneXpzZXL7ZW4gYSBuYWd5IE8gYmV0+3Qg7XJqb24KK2tpY3NpIGhlbHlldHQuIFBy82LhbGphIGtpIGEga/Z2ZXRrZXr1IHNvcm9uIQorTnlpc3NvbiBlZ3kg+mogc29ydCBlZmVsZXR0IFNoaWZ0LU8gbWVnbnlvbeFz4XZhbCwgbWlhbGF0dCBhIGt1cnpvcgorZXplbiBhIHNvcm9uIOFsbC4KKworCisKKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJCTYuMi4gIGxlY2tlOiBBWiBBUFBFTkQgUEFSQU5DUworCisKKwkgKiogYSAgbGVueW9t4XPhdmFsIGEga3Vyb3IgVVTBTiBzevpyaGF0dW5rIHN69nZlZ2V0LiAqKgorCisgIDEuIE1vemdhc3N1ayBhIGt1cnpvcnQgYSBr9nZldGtlevUgLS0tPiBrZXpkZXT7IHNvciB26WfpcmUg+md5LAorICAgICBob2d5IG5vcm3hbCBt82RiYW4gICQgIO1yIGJlLgorCisgIDIuIGEgIChraWNzaSkgbGX8dOlz6XZlbCBzevZ2ZWdldCBzevpyaGF0IGJlIEFN9kfJIGEga2FyYWt0ZXIgbfZn6SwKKyAgICAgYW1lbHllbiBhIGt1cnpvciDhbGwuCisgICAgIChBIG5hZ3kgIEEgIGF6IGVn6XN6IHNvciB26WfpcmUg7XJqYSBhIHN69nZlZ2V0LikKKworTWVnajogQSBWaW1iZW4gYSBzb3IgbGVnduln6XJlIGlzIGxlaGV0IOFsbG5pLCBhem9uYmEgZXogZWz1ZGrpYmVuCisgICAgICBhIFZpLWJhbiBuZW0gbGVoZXRz6WdlcywgZXrpcnQgYWJiYW4gYXogYSBu6Wxr/GwgZWzpZyBr9nL8bG3pbnllcworICAgICAgYSBzb3Igduln6WhleiBzevZ2ZWdldCDtcm5pLgorCisgIDMuIEVn6XN67XRzZSBraSBheiBlbHP1IHNvcnQuIFZlZ3llIOlzenJlLCBob2d5IGF6IGEgdXRhc+104XMgKGFwcGVuZCkKKyAgICAgdGVsamVzZW4gZWd5ZXppayBheiBpLXZlbCAoaW5zZXJ0KSBjc3Vw4W4gYSBiZXN6+nJ0IHN69nZlZyBoZWx5ZQorICAgICBr/Gz2bmL2emlrLgorCistLS0+IEV6IGEgc29yIGxlaGV09XbpIHRlc3ppINZubmVrLCBob2d5IGd5YWtvcm9samEKKy0tLT4gRXogYSBzb3IgbGVoZXT1dukgdGVzemkg1m5uZWssIGhvZ3kgZ3lha29yb2xqYSBhIHNvciB26WfpcmUgYmVpbGxlc3p06XN0LgorCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCSAgICA2LjMuICBsZWNrZTogQVogwVTNUsFTIE3BU0lLIFbBTFRPWkFUQQorCisKKyAgICAgICoqIE5hZ3kgUiAgYmXtcuFz4XZhbCDtcmhhdCBmZWz8bCB09mJiIG1pbnQgZWd5IGthcmFrdGVydC4gKioKKworICAxLiBNb3pnYXNzdWsgYSBrdXJ6b3J0IGF6IGVsc/UgLS0tPiBrZXpkZXT7IHNvcnJhIQorCisgIDIuIFBsYWNlIHRoZSBjdXJzb3IgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgZmlyc3Qgd29yZCB0aGF0IGlzIGRpZmZlcmVudAorICAgICBmcm9tIHRoZSBzZWNvbmQgbGluZSBtYXJrZWQgLS0tPiAodGhlIHdvcmQgJ2xhc3QnKS4KKworICAzLiBOb3cgdHlwZSAgUiAgYW5kIHJlcGxhY2UgdGhlIHJlbWFpbmRlciBvZiB0aGUgdGV4dCBvbiB0aGUgZmlyc3QgbGluZSBieQorICAgICB0eXBpbmcgb3ZlciB0aGUgb2xkIHRleHQgdG8gbWFrZSB0aGUgZmlyc3QgbGluZSB0aGUgc2FtZSBhcyB0aGUgc2Vjb25kLgorCistLS0+IFRvIG1ha2UgdGhlIGZpcnN0IGxpbmUgdGhlIHNhbWUgYXMgdGhlIGxhc3Qgb24gdGhpcyBwYWdlIHVzZSB0aGUga2V5cy4KKy0tLT4gVG8gbWFrZSB0aGUgZmlyc3QgbGluZSB0aGUgc2FtZSBhcyB0aGUgc2Vjb25kLCB0eXBlIFIgYW5kIHRoZSBuZXcgdGV4dC4KKworICA0LiBOb3RlIHRoYXQgd2hlbiB5b3UgcHJlc3MgPEVTQz4gdG8gZXhpdCwgYW55IHVuYWx0ZXJlZCB0ZXh0IHJlbWFpbnMuCisKKworCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCQkgICAgNi40LiAgbGVja2U6IEJFwUxMzVTBU09LCisKKyoqIMFsbO10c3VrIGJlLCBob2d5IGEga2VyZXPpcyDpcyBhIGhlbHlldHRlc+106XMgbmUgZvxnZ2r2biBraXMvTkFHWWJldPtrdPVsICoqCisKKyAgMS4gS2VyZXNz/GsgbWVnIGF6ICdpZ25vcmUnLXQgYXogYmXtcnZhOgorICAgICAvaWdub3JlCisgICAgIEV6dCBpc23pdGVsavxrIHT2YmJzevZyIGF6IG4gYmlsbGVudHn7dmVsCisKKyAgMi4gwWxs7XRzdWsgYmUgYXogJ2ljJyAoSWdub3JlIGNhc2UpIGxlaGV09XPpZ2V0IO1neToKKyAgICAgOnNldCBpYworCisgIDMuIE1vc3Qga2VyZXNz/G5rIGlzbel0IGF6ICdpZ25vcmUnLXJhIG4tbmVsCisgICAgIElzbel0ZWxq/GsgbWVnIHT2YmJzevZyIGEga2VyZXPpc3Q6IG4KKworICA0LiDBbGztdHN1ayBiZSBhICdobHNlYXJjaCcg6XMgJ2luY3NlYXJjaCcgbGVoZXT1c+lnZWtldDoKKyAgICAgOnNldCBobHMgaXMKKworICA1LiBNb3N0IGlzbel0IO1yanVrIGJlIGEga2VyZXP1cGFyYW5jc290LCDpcyBs4XNzdWsgbWkgdPZydOluaWs6CisgICAgIC9pZ25vcmUKKworICA2LiBBIGtpZW1lbOlzdCBzevxudGVzc/xrIG1lZyBhbOFiYmkgdXRhc+104XNvayBlZ3lpa+l2ZWw6CisgICAgIDpzZXQgbm9obHMgICAgIHZhZ3kJIDpub2hsc2VhcmNoCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJCSAgICAgICA2LiBMRUNLRSDWU1NaRUZPR0xBTNNKQQorCisKKyAgMS4gVHlwaW5nICBvCW9wZW5zIGEgbGluZSBCRUxPVyB0aGUgY3Vyc29yIGFuZCBwbGFjZXMgdGhlIGN1cnNvciBvbiB0aGUgb3BlbgorICAgICBsaW5lIGluIEluc2VydCBtb2RlLgorICAgICBUeXBpbmcgYSBjYXBpdGFsICBPICBvcGVucyB0aGUgbGluZSBBQk9WRSB0aGUgbGluZSB0aGUgY3Vyc29yIGlzIG9uLgorCisgIDIuIFR5cGUgYW4gIGEgIHRvIGluc2VydCB0ZXh0IEFGVEVSIHRoZSBjaGFyYWN0ZXIgdGhlIGN1cnNvciBpcyBvbi4KKyAgICAgVHlwaW5nIGEgY2FwaXRhbCAgQSAgYXV0b21hdGljYWxseSBhcHBlbmRzIHRleHQgdG8gdGhlIGVuZCBvZiB0aGUgbGluZS4KKworICAzLiBUeXBpbmcgYSBjYXBpdGFsICBSICBlbnRlcnMgUmVwbGFjZSBtb2RlIHVudGlsICA8RVNDPiAgaXMgcHJlc3NlZCB0byBleGl0LgorCisgIDQuIFR5cGluZyAiOnNldCB4eHgiIHNldHMgdGhlIG9wdGlvbiAieHh4IgorCisKKworCisKKworCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCSAgICAgICA3LiBsZWNrZTogT04tTElORSBIRUxQIFBBUkFOQ1NPSworCisKKwkJICAgICoqIEF6IG9ubGluZSBz+mfzcmVuZHN6ZXIgaGFzem7hbGF0YSAqKgorCisgIEEgVmltIHLpc3psZXRlcyBz+mfzdmFsIHJlbmRlbGtlemlrLiAgSW5kdWzhc2hveiBhIGv2dmV0a2V69WsgZWd5aWvpdAorICB0ZWd5ZToKKwktIG55b21qYSBtZWcgYSA8SEVMUD4gZ29tYm90IChoYSB2YW4gaWx5ZW4pCisJLSBueW9tamEgbWVnIGF6IDxGMT4gZ29tYm90IChoYSB2YW4gaWx5ZW4pCisJLSDtcmphIGJlOiAgIDpoZWxwIDxFTlRFUj4KKworICA6cSA8RU5URVI+ICAgYmXtcuFz4XZhbCB64XJoYXRqYSBiZSBhIHP6Z/NhYmxha290LgorCisgIE1hamRuZW0gbWluZGVuIHTpbWFr9nJy9WwgdGFs4WxoYXQgc/pn83QsIGFyZ3VtZW50dW0gbWVnYWThc+F2YWwKKyAgIjpoZWxwIiB1dGFz7XThcyAuICBQcvNi4WxqYSBheiBhbOFiYmlha2F0IGtpICg8RU5URVI+LXQgbmUgZmVsZWp0c/xrKToKKworCTpoZWxwIHcKKwk6aGVscCBjXzxUCisJOmhlbHAgaW5zZXJ0LWluZGV4CisJOmhlbHAgdXNlci1tYW51YWwKKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJICAgICAgIDguIGxlY2tlOiBJTkTNVNNTWktSSVBUIM1SwVNBCisKKwkJICAgICAqKiBBIFZpbSBsZWhldPVz6WdlaW5layBiZeFsbO104XNhICoqCisKKyAgQSBWaW0gcmVuZ2V0ZWcgbGVoZXT1c+lnZ2VsIHJlbmRlbGtlemlrIGEgVmktaG96IGvpcGVzdCwgZGUgYSBsZWd09mJiCisgIGFsYXBi82wgZWzpcmhldGV0bGVuLiBBaGhveiwgaG9neSBhbGFwYvNsIHT2YmIgbGVoZXT1c+ln/G5rIGxlZ3llbiBr6XN67XRlbvxuaworICBrZWxsIGVneSAidmltcmMiIGbhamx0LgorCisgIDEuIEtlemRq/GsgZWwgc3plcmtlc3p0ZW5pIGEgInZpbXJjIiBm4WpsdCwgZW5uZWsgbfNkamE6CisJOmVkaXQgfi8udmltcmMJCQlVbml4b24sIExpbnV4b24KKwk6ZWRpdCAkVklNL192aW1yYwkJTVMtV2luZG93c29uCisKKyAgMi4gTW9zdCBzevpyanVrIGJlIGEgcOlsZGEgInZpbXJjIiBm4WpsIHN69nZlZ+l0OgorCisJOnJlYWQgJFZJTVJVTlRJTUUvdmltcmNfZXhhbXBsZS52aW0KKworICAzLiDNcmp1ayBraSBhIGbhamx0OgorCisJOndyaXRlCisKKyAgTGVna/Z6ZWxlYmIgYSBWaW0gc3ppbnRheGlza2llbWVs6XNzZWwgaW5kdWwuCisgIEhvenrhYWRoYXRqYSBrZWR2ZW5jIGJl4Wxs7XThc2FpdCBlaGhleiBhICJ2aW1yYyIgZuFqbGhvei4KKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisKKyAgSXR0IHbpZ3r1ZGlrIGEgVmltIG9rdGF08ywgbWVseW5layBhIHN64W5k6WthIGVneSBy9nZpZCDhdHRla2ludOlzIGEKKyAgVmltcvVsLCBhbWVseSBlbOlnIGFoaG96LCBob2d5IGVs6Wcga/ZubnllZOluIGtlemVsavxrIGEgc3plcmtlc3p09XQuCisgIFThdm9sIHZhbiBhIHRlbGplc3PpZ3T1bCwgbWl2ZWwgYSBWaW1uZWsgc3rhbXRhbGFuIHRvduFiYmkgdXRhc+104XNhCisgIHZhbi4gRXp1dOFuIGEgZmVsaGFzem7hbPNpIGvpemlr9m55dmV0IOlyZGVtZXMgZWxvbHZhc25pIGF6IGFuZ29sdWwKKyAgdHVk82tuYWs6ICI6aGVscCB1c2VyLW1hbnVhbCIuIChlZ3llbPVyZSBuZW0gdHVkIG1hZ3lhcnVsKQorCisgIFRvduFiYmkgbWFneWFyIG9sdmFzbml2YWzzayDpcmhldPVlayBlbCBheiBhbOFiYmkgb2xkYWxy82wuCisgIGh0dHA6Ly91YnVudHUuaHUvaW5kZXgucGhwP3RpdGxlPVZpbQorCisgIEZvciBmdXJ0aGVyIHJlYWRpbmcgYW5kIHN0dWR5aW5nLCB0aGlzIGJvb2sgaXMgcmVjb21tZW5kZWQ6CisJVmltIC0gVmkgSW1wcm92ZWQgLSBieSBTdGV2ZSBPdWFsbGluZQorCVB1Ymxpc2hlcjogTmV3IFJpZGVycworICBUaGUgZmlyc3QgYm9vayBjb21wbGV0ZWx5IGRlZGljYXRlZCB0byBWaW0uICBFc3BlY2lhbGx5IHVzZWZ1bCBmb3IgYmVnaW5uZXJzLgorICBUaGVyZSBhcmUgbWFueSBleGFtcGxlcyBhbmQgcGljdHVyZXMuCisgIFNlZSBodHRwOi8vaWNjZi1ob2xsYW5kLm9yZy9jbGljazUuaHRtbAorCisgIFRoaXMgYm9vayBpcyBvbGRlciBhbmQgbW9yZSBhYm91dCBWaSB0aGFuIFZpbSwgYnV0IGFsc28gcmVjb21tZW5kZWQ6CisJTGVhcm5pbmcgdGhlIFZpIEVkaXRvciAtIGJ5IExpbmRhIExhbWIKKwlQdWJsaXNoZXI6IE8nUmVpbGx5ICYgQXNzb2NpYXRlcyBJbmMuCisgIEl0IGlzIGEgZ29vZCBib29rIHRvIGdldCB0byBrbm93IGFsbW9zdCBhbnl0aGluZyB5b3Ugd2FudCB0byBkbyB3aXRoIFZpLgorICBUaGUgc2l4dGggZWRpdGlvbiBhbHNvIGluY2x1ZGVzIGluZm9ybWF0aW9uIG9uIFZpbS4KKworICBUaGlzIHR1dG9yaWFsIHdhcyB3cml0dGVuIGJ5IE1pY2hhZWwgQy4gUGllcmNlIGFuZCBSb2JlcnQgSy4gV2FyZSwKKyAgQ29sb3JhZG8gU2Nob29sIG9mIE1pbmVzIHVzaW5nIGlkZWFzIHN1cHBsaWVkIGJ5IENoYXJsZXMgU21pdGgsCisgIENvbG9yYWRvIFN0YXRlIFVuaXZlcnNpdHkuICBFLW1haWw6IGJ3YXJlQG1pbmVzLmNvbG9yYWRvLmVkdS4KKworICBNb2RpZmllZCBmb3IgVmltIGJ5IEJyYW0gTW9vbGVuYWFyLgo=