ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCAwODcyNWRkLi5lZjZjYjhlIDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC01OTMsNyArNTkzLDcgQEAKIAogVHVlIEFwciAyMiAxMDoyNzoxNyBDRVNUIDIwMDggRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgogCi0JKiBkaWN0LmM6IGltcHJvdmVtZW50IG9uIHRoZSBoYXNoaW5nIG9mIHRoZSBkaWN0aW9ubmFyeSwgd2l0aCB2aXNpYmxlCisJKiBkaWN0LmM6IGltcHJvdmVtZW50IG9uIHRoZSBoYXNoaW5nIG9mIHRoZSBkaWN0aW9uYXJ5LCB3aXRoIHZpc2libGUKIAkgIHNwZWVkIHVwIGFzIHRoZSBudW1iZXIgb2Ygc3RyaW5ncyBpbiB0aGUgaGFzaCBpbmNyZWFzZXMsIHdvcmsgZnJvbQogCSAgU3RlZmFuIEJlaG5lbAogCkBAIC01MDE3LDcgKzUwMTcsNyBAQAogU3VuIEphbiAyMyAyMzo1NDozOSBDRVQgMjAwNSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CiAKIAkqIGhhc2guYyBpbmNsdWRlL2xpYnhtbC9oYXNoLmg6IGFkZGVkIHhtbEhhc2hDcmVhdGVEaWN0IHdoZXJlCi0JICB0aGUgaGFzaCByZXVzZXMgdGhlIGRpY3Rpb25uYXJ5IGZvciBpbnRlcm5hbCBzdHJpbmdzCisJICB0aGUgaGFzaCByZXVzZXMgdGhlIGRpY3Rpb25hcnkgZm9yIGludGVybmFsIHN0cmluZ3MKIAkqIGVudGl0aWVzLmMgdmFsaWQuYyBwYXJzZXIuYzogcmV1c2UgdGhhdCBuZXcgQVBJLCBsZWFkcyB0byBhIGRlY2VudAogCSAgc3BlZWR1cCB3aGVuIHBhcnNpbmcgZm9yIGV4YW1wbGUgRG9jQm9vayBkb2N1bWVudHMuCiAKQEAgLTUzNzEsNyArNTM3MSw3IEBACiBXZWQgTm92IDI0IDEzOjQxOjUyIENFVCAyMDA0IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KIAogCSogZGljdC5jIGluY2x1ZGUvbGlieG1sL2RpY3QuaDogYWRkZWQgeG1sRGljdEV4aXN0cygpIHRvIHRoZSAKLQkgIGRpY3Rpb25uYXJ5IGludGVyZmFjZS4KKwkgIGRpY3Rpb25hcnkgaW50ZXJmYWNlLgogCSogeG1scmVhZGVyLmM6IGFwcGx5aW5nIHhtbFRleHRSZWFkZXJIYXNBdHRyaWJ1dGVzIGZpeCBmb3IgbmFtZXNwYWNlcwogCSAgZnJvbSBSb2IgUmljaGFyZHMKIApAQCAtNTY5Nyw3ICs1Njk3LDcgQEAKIFR1ZSBPY3QgMjYgMTg6MDk6NTkgQ0VTVCAyMDA0IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KIAogCSogZGVidWdYTUwuYyBpbmNsdWRlL2xpYnhtbC94bWxlcnJvci5oOiBhZGRlZCBjaGVja2luZyBmb3IgbmFtZXMKLQkgIHZhbHVlcyBhbmQgZGljdGlvbm5hcmllcyBnZW5lcmF0ZXMgYSB0b25zIG9mIGVycm9ycworCSAgdmFsdWVzIGFuZCBkaWN0aW9uYXJpZXMgZ2VuZXJhdGVzIGEgdG9ucyBvZiBlcnJvcnMKIAkqIFNBWDIuY2NhdGFsb2cuYyBwYXJzZXIuYyByZWxheG5nLmMgdHJlZS5jIHhpbmNsdWRlLmMgeG1sd3JpdGVyLmMKIAkgIGluY2x1ZGUvbGlieG1sL3RyZWUuaDogZml4aW5nIHRoZSBlcnJvcnMgaW4gdGhlIHJlZ3Jlc3Npb24gdGVzdHMKIApAQCAtNzc0NiwxNCArNzc0NiwxNCBAQAogCSAgbWFrZSB0ZXN0cwogCSogeHBhdGguYyBpbmNsdWRlL2xpYnhtbC94cGF0aC5oOiBhZGRlZCB4bWxYUGF0aEN0eHRDb21waWxlKCkgdG8KIAkgIGNvbXBpbGUgYW4gWFBhdGggZXhwcmVzc2lvbiB3aXRoaW4gYSBjb250ZXh0LCBjdXJyZW50bHkgdGhlIGdvYWwKLQkgIGlzIHRvIGJlIGFibGUgdG8gcmV1c2UgdGhlIFhTTFQgc3R5bGVzaGVldCBkaWN0aW9ubmFyeSwgYnV0IHRoaXMKKwkgIGlzIHRvIGJlIGFibGUgdG8gcmV1c2UgdGhlIFhTTFQgc3R5bGVzaGVldCBkaWN0aW9uYXJ5LCBidXQgdGhpcwogCSAgb3BlbnMgdGhlIGRvb3IgdG8gb3RoZXJzIHBvc3NpYmxlIG9wdGltaXphdGlvbnMuCiAJKiBkaWN0LmMgaW5jbHVkZS9saWJ4bWwvZGljdC5oOiBhZGRlZCB4bWxEaWN0Q3JlYXRlU3ViKCkgd2hpY2ggYWxsb3dzCi0JICB0byBidWlsZCBhIG5ldyBkaWN0aW9ubmFyeSBiYXNlZCBvbiBhbm90aGVyIHJlYWQtb25seSBkaWN0aW9ubmFyeS4KLQkgIFRoaXMgaXMgbmVlZGVkIGZvciBYU0xUIHRvIGtlZXAgdGhlIHN0eWxlc2hlZXQgZGljdGlvbm5hcnkgcmVhZC1vbmx5CisJICB0byBidWlsZCBhIG5ldyBkaWN0aW9uYXJ5IGJhc2VkIG9uIGFub3RoZXIgcmVhZC1vbmx5IGRpY3Rpb25hcnkuCisJICBUaGlzIGlzIG5lZWRlZCBmb3IgWFNMVCB0byBrZWVwIHRoZSBzdHlsZXNoZWV0IGRpY3Rpb25hcnkgcmVhZC1vbmx5CiAJICB3aGlsZSBiZWluZyBhYmxlIHRvIHJldXNlIHRoZSBzdHJpbmdzIGZvciB0aGUgdHJhbnNmb3JtYXRpb24KLQkgIGRpY3Rpb25uYXJ5LgotCSogeGluY2x1ZGUuYzogZml4ZWQgYSBkaWN0aW9ubmFyIHJlZmVyZW5jZSBjb3VudGluZyBwcm9ibGVtIG9jY3VyaW5nCisJICBkaWN0aW9uYXJ5LgorCSogeGluY2x1ZGUuYzogZml4ZWQgYSBkaWN0aW9uYXJ5IHJlZmVyZW5jZSBjb3VudGluZyBwcm9ibGVtIG9jY3VyaW5nCiAJICB3aGVuIGRvY3VtZW50IHBhcnNpbmcgZmFpbGVkLgogCSogdGVzdFNBWC5jOiBhZGRpbmcgb3B0aW9uIC0tcmVwZWF0IGZvciB0aW1pbmcgMTAwdGltZXMgdGhlIHBhcnNpbmcKIAkqIGRvYy8qIDogcmVidWlsdCBhbGwgdGhlIGRvY3MKQEAgLTc4MDYsNyArNzgwNiw3IEBACiBUaHUgSmFuICA4IDE3OjU3OjUwIENFVCAyMDA0IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KIAogCSogeG1sc2NoZW1hcy5jOiByZW1vdmVkIGEgbWVtb3J5IGxlYWsgcmVtYWluaW5nIGZyb20gdGhlIHN3aXRjaAotCSAgdG8gYSBkaWN0aW9ubmFyeSBmb3Igc3RyaW5nIGFsbG9jYXRpb25zIGMuZi4gIzEzMDg5MQorCSAgdG8gYSBkaWN0aW9uYXJ5IGZvciBzdHJpbmcgYWxsb2NhdGlvbnMgYy5mLiAjMTMwODkxCiAKIFRodSBKYW4gIDggMTc6NDg6NDYgQ0VUIDIwMDQgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgogCkBAIC03OTI4LDcgKzc5MjgsNyBAQAogRnJpIEphbiAgMiAxMTo0MDowNiBDRVQgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CiAKIAkqIFNBWDIuYzogZm91bmQgYW5kIGZpeGVkIGEgYnVnIG1pc2FsbG9jYXRpbmcgc29tZSBub24KLQkgIGJsYW5rIHRleHQgbm9kZSBzdHJpbmdzIGZyb20gdGhlIGRpY3Rpb25uYXJ5LgorCSAgYmxhbmsgdGV4dCBub2RlIHN0cmluZ3MgZnJvbSB0aGUgZGljdGlvbmFyeS4KIAkqIHhtbG1lbW9yeS5jOiBmaXhlZCBhIHByb2JsZW0gd2l0aCB0aGUgbWVtb3J5IGRlYnVnIG11dGV4CiAJICByZWxlYXNlLgogCkBAIC05Mzg2LDcgKzkzODYsNyBAQAogCiAJKiBwYXJzZXIuYzogV2lsbGlhbSdzIGNoYW5nZSBhbGxvd2VkIHRvIHNwb3QgYSBuYXN0eSBidWcgaW4geG1sRG9SZWFkCiAJICBpZiB0aGUgcmVzdWx0IGlzIG5vdCB3ZWxsIGZvcm1lZCB0aGF0IGN0eHQtPm15RG9jIGlzIG5vdCBOVUxMCi0JICBhbmQgdXNlcyB0aGUgY29udGV4dCBkaWN0aW9ubmFyeS4KKwkgIGFuZCB1c2VzIHRoZSBjb250ZXh0IGRpY3Rpb25hcnkuCiAKIEZyaSBTZXAgMjYgMjE6MDk6MzQgQ0VTVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KIApkaWZmIC0tZ2l0IGEvTWFrZWZpbGUuYW0gYi9NYWtlZmlsZS5hbQppbmRleCA3MDcyMGYzLi45Zjk4OGIwIDEwMDY0NAotLS0gYS9NYWtlZmlsZS5hbQorKysgYi9NYWtlZmlsZS5hbQpAQCAtMjE2LDYgKzIxNiwxMCBAQAogCUBlY2hvICcjIyBHbyBnZXQgYSBjdXAgb2YgY29mZmVlIGl0IGlzIGdvbm5hIHRha2UgYSB3aGlsZSAuLi4nCiAJJChNQUtFKSBDSEVDS0VSPSd2YWxncmluZCAtcScgcnVudGVzdHMKIAorYXNhbjoKKwlAZWNobyAnIyMgcmVidWlsZGluZyBmb3IgQVNBTicKKwkuL2NvbmZpZ3VyZSBDRkxBR1M9Ii1mc2FuaXRpemU9YWRkcmVzcyx1bmRlZmluZWQgLVdmb3JtYXQgLVdlcnJvcj1mb3JtYXQtc2VjdXJpdHkgLVdlcnJvcj1hcnJheS1ib3VuZHMgLWciIENYWEZMQUdTPSItZnNhbml0aXplPWFkZHJlc3MsdW5kZWZpbmVkIC1XZm9ybWF0IC1XZXJyb3I9Zm9ybWF0LXNlY3VyaXR5IC1XZXJyb3I9YXJyYXktYm91bmRzIC1nIiBMREZMQUdTPSItZnNhbml0aXplPWFkZHJlc3MsdW5kZWZpbmVkIiBDQz0iY2xhbmciIENYWD0iY2xhbmcrKyIgLS1kaXNhYmxlLXNoYXJlZCA7IE9wdGltT2ZmICA7ICQoTUFLRSkgY2xlYW4gOyAkKE1BS0UpCisKIHRlc3RhbGwgOiB0ZXN0cyBTVkd0ZXN0cyBTQVh0ZXN0cwogCiB0ZXN0czogWE1MdGVzdHMgWE1MZW50dGVzdHMgTlN0ZXN0cyBJRHRlc3RzIEVycnRlc3RzIEFQSXRlc3RzICQoUkVBREVSX1RFU1QpICQoVEVTVF9TQVgpICQoVEVTVF9QVVNIKSAkKFRFU1RfSFRNTCkgJChURVNUX1BIVE1MKSAkKFRFU1RfVkFMSUQpIFVSSXRlc3RzICQoVEVTVF9QQVRURVJOKSAkKFRFU1RfWFBBVEgpICQoVEVTVF9YUFRSKSAkKFRFU1RfWElOQ0xVREUpICQoVEVTVF9DMTROKSAkKFRFU1RfREVCVUcpICQoVEVTVF9DQVRBTE9HKSAkKFRFU1RfUkVHRVhQUykgJChURVNUX1NDSEVNQVMpICQoVEVTVF9TQ0hFTUFUUk9OKSAkKFRFU1RfVEhSRUFEUykgVGltaW5ndGVzdHMgJChURVNUX1ZUSU1FKSAkKFBZVEhPTl9URVNUUykgJChURVNUX01PRFVMRVMpCkBAIC0xMjA3LDcgKzEyMTEsNyBAQAogCSAgICAgY2hlY2steHNkZGF0YS10ZXN0LXN1aXRlLnB5IGNoZWNrLXhpbmNsdWRlLXRlc3Qtc3VpdGUucHkgXAogICAgICAgICAgICAgIGV4YW1wbGUvTWFrZWZpbGUuYW0gZXhhbXBsZS9nam9icmVhZC5jIGV4YW1wbGUvZ2pvYnMueG1sIFwKIAkgICAgICQobWFuX01BTlMpIGxpYnhtbC0yLjAucGMuaW4gbGlieG1sLTIuMC11bmluc3RhbGxlZC5wYy5pbiBcCi0JICAgICBsaWJ4bWwyLWNvbmZpZy5jbWFrZS5pbiBcCisJICAgICBsaWJ4bWwyLWNvbmZpZy5jbWFrZS5pbiBhdXRvZ2VuLnNoIFwKIAkgICAgIHRyaW9uYW4uYyB0cmlvbmFuLmggdHJpb3N0ci5jIHRyaW9zdHIuaCB0cmlvLmMgdHJpby5oIFwKIAkgICAgIHRyaW9wLmggdHJpb2RlZi5oIGxpYnhtbC5oIGVsZmdjY2hhY2suaCB4emxpYi5oIGJ1Zi5oIFwKIAkgICAgIGVuYy5oIHNhdmUuaCB0ZXN0VGhyZWFkc1dpbjMyLmMgZ2VuVW5pY29kZS5weSBUT0RPX1NDSEVNQVMgXApkaWZmIC0tZ2l0IGEvTkVXUyBiL05FV1MKaW5kZXggODAyN2Q1NS4uZDI0OGM2OSAxMDA2NDQKLS0tIGEvTkVXUworKysgYi9ORVdTCkBAIC04NDUsNyArODQ1LDcgQEAKICAgIC0gSW1wcm92ZW1lbnQ6IHN3aXRjaCBwYXJzZXIgdG8gWE1MLTEuMCA1dGggZWRpdGlvbiwgYWRkIHBhcnNpbmcgZmxhZ3MKICAgICAgIGZvciBvbGQgdmVyc2lvbnMsIHN3aXRjaCBVUkkgcGFyc2luZyB0byBSRkMgMzk4NiwKICAgICAgIGFkZCB4bWxTY2hlbWFWYWxpZEN0eHRHZXRQYXJzZXJDdHh0IChIb2xnZXIgS2FlbGJlcmVyKSwKLSAgICAgIG5ldyBoYXNoaW5nIGZ1bmN0aW9ucyBmb3IgZGljdGlvbm5hcmllcyAoYmFzZWQgb24gU3RlZmFuIEJlaG5lbCB3b3JrKSwKKyAgICAgIG5ldyBoYXNoaW5nIGZ1bmN0aW9ucyBmb3IgZGljdGlvbmFyaWVzIChiYXNlZCBvbiBTdGVmYW4gQmVobmVsIHdvcmspLAogICAgICAgaW1wcm92ZSBoYW5kbGluZyBvZiBtaXNwbGFjZWQgaHRtbC9oZWFkL2JvZHkgaW4gSFRNTCBwYXJzZXIsIGJldHRlcgogICAgICAgcmVncmVzc2lvbiB0ZXN0IHRvb2xzIGFuZCBjb2RlIGNvdmVyYWdlIGRpc3BsYXksIGJldHRlciBhbGdvcml0aG1zCiAgICAgICB0byBkZXRlY3QgdmFyaW91cyB2ZXJzaW9ucyBvZiB0aGUgYmlsbGlvbiBsYXVnaHRzIGF0dGFja3MsIG1ha2UKQEAgLTEyMzEsNyArMTIzMSw3IEBACiAgICAgQmFrZWZpbGUgc3VwcG9ydCAoRnJhbmNlc2NvIE1vbnRvcnNpKSwgV2luZG93cyBjb21waWxhdGlvbiAoSm9lbCBSZWVkKSwKICAgICBzb21lIGdjYzQgZml4ZXMsIEhQLVVYIHBvcnRhYmlsaXR5IGZpeGVzIChSaWNrIEpvbmVzKS4KICAgIC0gYnVnIGZpeGVzOiB4bWxTY2hlbWFFbGVtZW50RHVtcCBuYW1lc3BhY2UgKEthc2ltaWVyIEJ1Y2hjaWspLCBwdXNoIGFuZAotICAgIHhtbHJlYWRlciBzdG9wcGluZyBvbiBub24tZmF0YWwgZXJyb3JzLCB0aHJlYWQgc3VwcG9ydCBmb3IgZGljdGlvbm5hcmllcworICAgIHhtbHJlYWRlciBzdG9wcGluZyBvbiBub24tZmF0YWwgZXJyb3JzLCB0aHJlYWQgc3VwcG9ydCBmb3IgZGljdGlvbmFyaWVzCiAgICAgcmVmZXJlbmNlIGNvdW50aW5nIChHYXJ5IENvYWR5KSwgaW50ZXJuYWwgc3Vic2V0IGFuZCBwdXNoIHByb2JsZW0sIFVSTAogICAgIHNhdmVkIGluIHhtbENvcHlEb2MsIHZhcmlvdXMgc2NoZW1hcyBidWcgZml4ZXMgKEthc2ltaWVyKSwgUHl0aG9uIHBhdGhzCiAgICAgZml4dXAgKFN0ZXBoYW5lIEJpZG91bCksIHhtbEdldE5vZGVQYXRoIGFuZCBuYW1lc3BhY2VzLCB4bWxTZXROc1Byb3AgZml4CkBAIC0xMjQ0LDcgKzEyNDQsNyBAQAogICAgIEhlbmRyaWNrcyksIGFsaWFzaW5nIGJ1ZyBleHBvc2VkIGJ5IGdjYzQgb24gczM5MCwgeG1sVGV4dFJlYWRlck5leHQgYnVnCiAgICAgKFJvYiBSaWNoYXJkcyksIFNjaGVtYXMgZGVjaW1hbCB0eXBlIGZpeGVzIChXaWxsaWFtIEJyYWNrKSwKICAgICB4bWxCeXRlQ29uc3VtZWQgc3RhdGljIGJ1ZmZlciAoQmVuIE1hdXJlcikuCi0gICAtIGltcHJvdmVtZW50OiBzcGVlZHVwIHBhcnNpbmcgY29tbWVudHMgYW5kIERURHMsIGRpY3Rpb25uYXJ5IHN1cHBvcnQgZm9yCisgICAtIGltcHJvdmVtZW50OiBzcGVlZHVwIHBhcnNpbmcgY29tbWVudHMgYW5kIERURHMsIGRpY3Rpb25hcnkgc3VwcG9ydCBmb3IKICAgICBoYXNoIHRhYmxlcywgU2NoZW1hcyBJZGVudGl0eSBjb25zdHJhaW50cyAoS2FzaW1pZXIpLCBzdHJlYW1pbmcgWFBhdGgKICAgICBzdWJzZXQsIHhtbFRleHRSZWFkZXJSZWFkU3RyaW5nIGFkZGVkIChCam9ybiBSZWVzZSksIFNjaGVtYXMgY2Fub25pY2FsCiAgICAgdmFsdWVzIGhhbmRsaW5nIChLYXNpbWllciksIGFkZCB4bWxUZXh0UmVhZGVyQnl0ZUNvbnN1bWVkIChBcm9uCkBAIC0xNDU0LDcgKzE0NTQsNyBAQAogICAgIFVSSSBvbiBTWVNURU0gbG9va3VwIGZhaWx1cmUsIFhJbmNsdWRlIHBhcnNlIGZsYWdzIGluaGVyaXRhbmNlIChXaWxsaWFtKSwKICAgICBYSW5jbHVkZSBhbmQgWFBvaW50ZXIgZml4ZXMgZm9yIGVudGl0aWVzIChXaWxsaWFtKSwgWE1MIHBhcnNlciBidWcKICAgICByZXBvcnRlZCBieSBIb2xnZXIgUmF1Y2gsIG5hbm9odHRwIGZkIGxlYWsgKFdpbGxpYW0pLCAgcmVnZXhwcyBjaGFyCi0gICAgZ3JvdXBzICctJyBoYW5kbGluZyAoV2lsbGlhbSksIGRpY3Rpb25uYXJ5IHJlZmVyZW5jZSBjb3VudGluZyBwcm9ibGVtcywKKyAgICBncm91cHMgJy0nIGhhbmRsaW5nIChXaWxsaWFtKSwgZGljdGlvbmFyeSByZWZlcmVuY2UgY291bnRpbmcgcHJvYmxlbXMsCiAgICAgZG8gbm90IGNsb3NlIHN0ZGVyci4KICAgIC0gcGVyZm9ybWFuY2UgcGF0Y2hlcyBmcm9tIFBldHIgUGFqYXMKICAgIC0gRG9jdW1lbnRhdGlvbiBmaXhlczogWE1MX0NBVEFMT0dfRklMRVMgaW4gbWFuIHBhZ2VzIChNaWtlIEhvbW1leSkKQEAgLTE0ODIsNyArMTQ4Miw3IEBACiAgICAgV2lsbGlhbSkgcmVwb3J0ZWQgYnkgWXV1aWNoaSBUZXJhbmlzaGkKICAgIC0gYnVnZml4ZXM6IG1ha2UgdGVzdCBhbmQgcGF0aCBpc3N1ZXMsIHhtbFdyaXRlciBhdHRyaWJ1dGUgc2VyaWFsaXphdGlvbgogICAgIChXaWxsaWFtIEJyYWNrKSwgeG1sV3JpdGVyIGluZGVudGF0aW9uIChXaWxsaWFtKSwgc2NoZW1hcyB2YWxpZGF0aW9uCi0gICAgKEVyaWMgSGFzemxha2lld2ljeiksIFhJbmNsdWRlIGRpY3Rpb25uYXJpZXMgaXNzdWVzIChXaWxsaWFtIGFuZCBPbGVnCisgICAgKEVyaWMgSGFzemxha2lld2ljeiksIFhJbmNsdWRlIGRpY3Rpb25hcmllcyBpc3N1ZXMgKFdpbGxpYW0gYW5kIE9sZWcKICAgICBQYXJhc2NoZW5rbyksIFhJbmNsdWRlIGVtcHR5IGZhbGxiYWNrIChXaWxsaWFtKSwgSFRNTCB3YXJuaW5ncyAoV2lsbGlhbSksCiAgICAgWFBvaW50ZXIgaW4gWEluY2x1ZGUgKFdpbGxpYW0pLCBQeXRob24gbmFtZXNwYWNlIHNlcmlhbGl6YXRpb24sCiAgICAgaXNvbGF0MVRvVVRGOCBib3VuZCBlcnJvciAoQWxmcmVkIE1pY2thdXRzY2gpLCBvdXRwdXQgb2YgcGFyYW1ldGVyCkBAIC0xNTAzLDcgKzE1MDMsNyBAQAogCiAKIDIuNi41OiBKYW4gMjUgMjAwNDoKLSAgIC0gQnVnZml4ZXM6IGRpY3Rpb25uYXJpZXMgZm9yIHNjaGVtYXMgKFdpbGxpYW0gQnJhY2spLCByZWdleHAgc2VnZmF1bHQKKyAgIC0gQnVnZml4ZXM6IGRpY3Rpb25hcmllcyBmb3Igc2NoZW1hcyAoV2lsbGlhbSBCcmFjayksIHJlZ2V4cCBzZWdmYXVsdAogICAgIChXaWxsaWFtKSwgeHM6YWxsIHByb2JsZW0gKFdpbGxpYW0pLCBhIG51bWJlciBvZiBYUG9pbnRlciBidWdmaXhlcwogICAgIChXaWxsaWFtKSwgeG1sbGludCBlcnJvciBnbyB0byBzdGRlcnIsIERURCB2YWxpZGF0aW9uIHByb2JsZW0gd2l0aAogICAgIG5hbWVzcGFjZSwgbWVtb3J5IGxlYWsgKFdpbGxpYW0pLCBTQVgxIGNsZWFudXAgYW5kIG1pbmltYWwgb3B0aW9ucyBmaXhlcwpAQCAtMTUxNSwxNCArMTUxNSwxNCBAQAogICAgIEZsZWNrKSwgZG9jIChTdmVuIFppbW1lcm1hbiksIEkvTyBleGFtcGxlLgogICAgLSBQeXRob24gYmluZGluZ3M6IGZpeGVzIChXaWxsaWFtKSwgZW51bSBzdXBwb3J0IChTdMODwqlwaGFuZSBCaWRvdWwpLAogICAgIHN0cnVjdHVyZWQgZXJyb3IgcmVwb3J0aW5nIChTdMODwqlwaGFuZSBCaWRvdWwpCi0gICAtIFhJbmNsdWRlOiB2YXJpb3VzIGZpeGVzIGZvciBjb25mb3JtYW5jZSwgcHJvYmxlbSByZWxhdGVkIHRvIGRpY3Rpb25uYXJ5CisgICAtIFhJbmNsdWRlOiB2YXJpb3VzIGZpeGVzIGZvciBjb25mb3JtYW5jZSwgcHJvYmxlbSByZWxhdGVkIHRvIGRpY3Rpb25hcnkKICAgICByZWZlcmVuY2VzIChXaWxsaWFtICYgbWUpLCByZWN1cnNpb24gKFdpbGxpYW0pCiAgICAtIHhtbFdyaXRlcjogaW5kZW50YXRpb24gKEx1Y2FzIEJyYXNpbGlubyksIG1lbW9yeSBsZWFrcyAoQWxmcmVkCiAgICAgTWlja2F1dHNjaCksCiAgICAtIHhtbFNjaGVtYXM6IG5vcm1hbGl6ZWRTdHJpbmcgZGF0YXR5cGUgKEpvaG4gQmVsbW9udGUpCiAgICAtIGNvZGUgY2xlYW51cCBmb3Igc3RyaW5ncyBmdW5jdGlvbnMgKFdpbGxpYW0pCiAgICAtIFdpbmRvd3M6IGNvbXBpbGVyIHBhdGNoZXMgKE1hcmsgVmFrb2MpCi0gICAtIFBhcnNlciBvcHRpbWl6YXRpb25zLCBhIGZldyBuZXcgWFBhdGggYW5kIGRpY3Rpb25uYXJ5IEFQSXMgZm9yIGZ1dHVyZQorICAgLSBQYXJzZXIgb3B0aW1pemF0aW9ucywgYSBmZXcgbmV3IFhQYXRoIGFuZCBkaWN0aW9uYXJ5IEFQSXMgZm9yIGZ1dHVyZQogICAgIFhTTFQgb3B0aW1pemF0aW9ucy4KIAogCkBAIC0xNjE3LDggKzE2MTcsOCBAQAogICAgIG9mIGNoYW5nZQogICAgLSBJbmNyZWFzZWQgdGhlIGxpYnJhcnkgbW9kdWxhcml0eSwgZmFyIG1vcmUgb3B0aW9ucyBjYW4gYmUgc3RyaXBwZWQgb3V0LAogICAgIGEgLS13aXRoLW1pbmltdW0gY29uZmlndXJhdGlvbiB3aWxsIHdlaWdodCBhcm91bmQgMTYwS0J5dGVzCi0gICAtIFVzZSBwZXIgcGFyc2VyIGFuZCBwZXIgZG9jdW1lbnQgZGljdGlvbm5hcnksIGFsbG9jYXRlIG5hbWVzIGFuZCBzbWFsbAotICAgIHRleHQgbm9kZXMgZnJvbSB0aGUgZGljdGlvbm5hcnkKKyAgIC0gVXNlIHBlciBwYXJzZXIgYW5kIHBlciBkb2N1bWVudCBkaWN0aW9uYXJ5LCBhbGxvY2F0ZSBuYW1lcyBhbmQgc21hbGwKKyAgICB0ZXh0IG5vZGVzIGZyb20gdGhlIGRpY3Rpb25hcnkKICAgIC0gU3dpdGNoIHRvIGEgU0FYMiBsaWtlIHBhcnNlciByZXdyb3RlIG1vc3Qgb2YgdGhlIFhNTCBwYXJzZXIgY29yZSwKICAgICBwcm92aWRlcyBuYW1lc3BhY2UgcmVzb2x1dGlvbiBhbmQgZGVmYXVsdGVkIGF0dHJpYnV0ZXMsIG1pbmltaXplIG1lbW9yeQogICAgIGFsbG9jYXRpb25zIGFuZCBjb3BpZXMsIG5hbWVzcGFjZSBjaGVja2luZyBhbmQgc3BlY2lmaWMgZXJyb3IgaGFuZGxpbmcsCkBAIC0xNjY1LDcgKzE2NjUsNyBAQAogICAgIChXaWxsaWFtKSwgeG1sQ2xlYW51cFBhcnNlciAoTWFyYyBMaXlhbmFnZSksIENEQVRBIG91dHB1dCAoV2lsbGlhbSksIEhUVFAKICAgICBlcnJvciBoYW5kbGluZy4KICAgIC0geG1sbGludCBvcHRpb25zOiAtLWR0ZHZhbGlkZnBpIGZvciBUb2JpYXMgUmVpZiwgLS1zYXgxIGZvciBjb21wYXQKLSAgICB0ZXN0aW5nLCAgLS1ub2RpY3QgZm9yIGJ1aWxkaW5nIHdpdGhvdXQgdHJlZSBkaWN0aW9ubmFyeSwgLS1ub2NkYXRhIHRvCisgICAgdGVzdGluZywgIC0tbm9kaWN0IGZvciBidWlsZGluZyB3aXRob3V0IHRyZWUgZGljdGlvbmFyeSwgLS1ub2NkYXRhIHRvCiAgICAgcmVwbGFjZSBDREFUQSBieSB0ZXh0LCAtLW5zY2xlYW4gdG8gcmVtb3ZlIHN1cnBlcmZsdW91cyAgbmFtZXNwYWNlCiAgICAgZGVjbGFyYXRpb25zCiAgICAtIGFkZGVkIHhtbDItY29uZmlnIC0tbGlidG9vbC1saWJzIG9wdGlvbiBmcm9tIEtldmluIFAuIEZsZW1pbmcKZGlmZiAtLWdpdCBhL1NBWDIuYyBiL1NBWDIuYwppbmRleCBmZmVmM2UxLi41Y2JiNzAwIDEwMDY0NAotLS0gYS9TQVgyLmMKKysrIGIvU0FYMi5jCkBAIC01NSw3ICs1NSw3IEBACiAgKiBAY3R4dDogIGFuIFhNTCB2YWxpZGF0aW9uIHBhcnNlciBjb250ZXh0CiAgKiBAbXNnOiAgIGEgc3RyaW5nIHRvIGFjY29tcGFueSB0aGUgZXJyb3IgbWVzc2FnZQogICovCi1zdGF0aWMgdm9pZAorc3RhdGljIHZvaWQgTElCWE1MX0FUVFJfRk9STUFUKDIsMCkKIHhtbFNBWDJFcnJNZW1vcnkoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0LCBjb25zdCBjaGFyICptc2cpIHsKICAgICB4bWxTdHJ1Y3R1cmVkRXJyb3JGdW5jIHNjaGFubmVsID0gTlVMTDsKICAgICBjb25zdCBjaGFyICpzdHIxID0gIm91dCBvZiBtZW1vcnlcbiI7CkBAIC05Myw3ICs5Myw3IEBACiAgKgogICogSGFuZGxlIGEgdmFsaWRhdGlvbiBlcnJvcgogICovCi1zdGF0aWMgdm9pZAorc3RhdGljIHZvaWQgTElCWE1MX0FUVFJfRk9STUFUKDMsMCkKIHhtbEVyclZhbGlkKHhtbFBhcnNlckN0eHRQdHIgY3R4dCwgeG1sUGFyc2VyRXJyb3JzIGVycm9yLAogICAgICAgICAgICAgY29uc3QgY2hhciAqbXNnLCBjb25zdCBjaGFyICpzdHIxLCBjb25zdCBjaGFyICpzdHIyKQogewpAQCAtMTMzLDcgKzEzMyw3IEBACiAgKgogICogSGFuZGxlIGEgZmF0YWwgcGFyc2VyIGVycm9yLCBpLmUuIHZpb2xhdGluZyBXZWxsLUZvcm1lZG5lc3MgY29uc3RyYWludHMKICAqLwotc3RhdGljIHZvaWQKK3N0YXRpYyB2b2lkIExJQlhNTF9BVFRSX0ZPUk1BVCgzLDApCiB4bWxGYXRhbEVyck1zZyh4bWxQYXJzZXJDdHh0UHRyIGN0eHQsIHhtbFBhcnNlckVycm9ycyBlcnJvciwKICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKm1zZywgY29uc3QgeG1sQ2hhciAqc3RyMSwgY29uc3QgeG1sQ2hhciAqc3RyMikKIHsKQEAgLTE2NCw3ICsxNjQsNyBAQAogICoKICAqIEhhbmRsZSBhIHBhcnNlciB3YXJuaW5nCiAgKi8KLXN0YXRpYyB2b2lkCitzdGF0aWMgdm9pZCBMSUJYTUxfQVRUUl9GT1JNQVQoMywwKQogeG1sV2Fybk1zZyh4bWxQYXJzZXJDdHh0UHRyIGN0eHQsIHhtbFBhcnNlckVycm9ycyBlcnJvciwKICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKm1zZywgY29uc3QgeG1sQ2hhciAqc3RyMSkKIHsKQEAgLTE4OSw3ICsxODksNyBAQAogICoKICAqIEhhbmRsZSBhIG5hbWVzcGFjZSBlcnJvcgogICovCi1zdGF0aWMgdm9pZAorc3RhdGljIHZvaWQgTElCWE1MX0FUVFJfRk9STUFUKDMsMCkKIHhtbE5zRXJyTXNnKHhtbFBhcnNlckN0eHRQdHIgY3R4dCwgeG1sUGFyc2VyRXJyb3JzIGVycm9yLAogICAgICAgICAgICAgY29uc3QgY2hhciAqbXNnLCBjb25zdCB4bWxDaGFyICpzdHIxLCBjb25zdCB4bWxDaGFyICpzdHIyKQogewpAQCAtMjEzLDcgKzIxMyw3IEBACiAgKgogICogSGFuZGxlIGEgbmFtZXNwYWNlIHdhcm5pbmcKICAqLwotc3RhdGljIHZvaWQKK3N0YXRpYyB2b2lkIExJQlhNTF9BVFRSX0ZPUk1BVCgzLDApCiB4bWxOc1dhcm5Nc2coeG1sUGFyc2VyQ3R4dFB0ciBjdHh0LCB4bWxQYXJzZXJFcnJvcnMgZXJyb3IsCiAgICAgICAgICAgICAgY29uc3QgY2hhciAqbXNnLCBjb25zdCB4bWxDaGFyICpzdHIxLCBjb25zdCB4bWxDaGFyICpzdHIyKQogewpkaWZmIC0tZ2l0IGEvY2F0YWxvZy5jIGIvY2F0YWxvZy5jCmluZGV4IDU3NzNkYjMuLjZkZmRmYmIgMTAwNjQ0Ci0tLSBhL2NhdGFsb2cuYworKysgYi9jYXRhbG9nLmMKQEAgLTQ3LDkgKzQ3LDkgQEAKICNkZWZpbmUgTUFYX0NBVEFMX0RFUFRICTUwCiAKICNpZmRlZiBfV0lOMzIKLSMgZGVmaW5lIFBBVEhfU0VBUEFSQVRPUiAnOycKKyMgZGVmaW5lIFBBVEhfU0VQQVJBVE9SICc7JwogI2Vsc2UKLSMgZGVmaW5lIFBBVEhfU0VBUEFSQVRPUiAnOicKKyMgZGVmaW5lIFBBVEhfU0VQQVJBVE9SICc6JwogI2VuZGlmCiAKIC8qKgpAQCAtMjM4LDcgKzIzOCw3IEBACiAgKgogICogSGFuZGxlIGEgY2F0YWxvZyBlcnJvcgogICovCi1zdGF0aWMgdm9pZAorc3RhdGljIHZvaWQgTElCWE1MX0FUVFJfRk9STUFUKDQsMCkKIHhtbENhdGFsb2dFcnIoeG1sQ2F0YWxvZ0VudHJ5UHRyIGNhdGFsLCB4bWxOb2RlUHRyIG5vZGUsIGludCBlcnJvciwKICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKm1zZywgY29uc3QgeG1sQ2hhciAqc3RyMSwgY29uc3QgeG1sQ2hhciAqc3RyMiwKIAkgICAgICAgY29uc3QgeG1sQ2hhciAqc3RyMykKQEAgLTMyNDcsNyArMzI0Nyw3IEBACiAJd2hpbGUgKHhtbElzQmxhbmtfY2goKmN1cikpIGN1cisrOwogCWlmICgqY3VyICE9IDApIHsKIAkgICAgcGF0aHMgPSBjdXI7Ci0JICAgIHdoaWxlICgoKmN1ciAhPSAwKSAmJiAoKmN1ciAhPSBQQVRIX1NFQVBBUkFUT1IpICYmICgheG1sSXNCbGFua19jaCgqY3VyKSkpCisJICAgIHdoaWxlICgoKmN1ciAhPSAwKSAmJiAoKmN1ciAhPSBQQVRIX1NFUEFSQVRPUikgJiYgKCF4bWxJc0JsYW5rX2NoKCpjdXIpKSkKIAkJY3VyKys7CiAJICAgIHBhdGggPSB4bWxTdHJuZHVwKChjb25zdCB4bWxDaGFyICopcGF0aHMsIGN1ciAtIHBhdGhzKTsKICNpZmRlZiBfV0lOMzIKQEAgLTMyNjMsNyArMzI2Myw3IEBACiAJCXhtbEZyZWUocGF0aCk7CiAJICAgIH0KIAl9Ci0Jd2hpbGUgKCpjdXIgPT0gUEFUSF9TRUFQQVJBVE9SKQorCXdoaWxlICgqY3VyID09IFBBVEhfU0VQQVJBVE9SKQogCSAgICBjdXIrKzsKICAgICB9CiB9CmRpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKaW5kZXggMDI2MDI4MS4uOTExOTg0ZSAxMDA2NDQKLS0tIGEvY29uZmlndXJlLmFjCisrKyBiL2NvbmZpZ3VyZS5hYwpAQCAtMywxMiArMywxMyBAQAogQUNfSU5JVAogQUNfQ09ORklHX1NSQ0RJUihbZW50aXRpZXMuY10pCiBBQ19DT05GSUdfSEVBREVSUyhbY29uZmlnLmhdKQorQU1fTUFJTlRBSU5FUl9NT0RFKFtlbmFibGVdKQogQUNfQ09ORklHX01BQ1JPX0RJUihbbTRdKQogQUNfQ0FOT05JQ0FMX0hPU1QKIAogTElCWE1MX01BSk9SX1ZFUlNJT049MgogTElCWE1MX01JTk9SX1ZFUlNJT049OQotTElCWE1MX01JQ1JPX1ZFUlNJT049MworTElCWE1MX01JQ1JPX1ZFUlNJT049NAogTElCWE1MX01JQ1JPX1ZFUlNJT05fU1VGRklYPQogTElCWE1MX1ZFUlNJT049JExJQlhNTF9NQUpPUl9WRVJTSU9OLiRMSUJYTUxfTUlOT1JfVkVSU0lPTi4kTElCWE1MX01JQ1JPX1ZFUlNJT04kTElCWE1MX01JQ1JPX1ZFUlNJT05fU1VGRklYCiBMSUJYTUxfVkVSU0lPTl9JTkZPPWBleHByICRMSUJYTUxfTUFKT1JfVkVSU0lPTiArICRMSUJYTUxfTUlOT1JfVkVSU0lPTmA6JExJQlhNTF9NSUNST19WRVJTSU9OOiRMSUJYTUxfTUlOT1JfVkVSU0lPTgpAQCAtMTU4LDcgKzE1OSw3IEBACiAgIGlmIHRlc3QgIiR3aXRodmFsIiAhPSAibm8iIC1hICIkd2l0aHZhbCIgIT0gInllcyI7IHRoZW4KICAgICBSRExfRElSPSR3aXRodmFsCiAgICAgQ1BQRkxBR1M9IiR7Q1BQRkxBR1N9IC1JJHdpdGh2YWwvaW5jbHVkZSIKLSAgICBMSUJTPSIke0xJQlN9IC1MJHdpdGh2YWwvbGliIgorICAgIExERkxBR1M9IiR7TERGTEFHU30gLUwkd2l0aHZhbC9saWIiCiAgIGZpCiBdKQogQUNfQVJHX1dJVEgocmVnZXhwcywKQEAgLTE5NCw3ICsxOTUsNyBAQAogICBpZiB0ZXN0ICIkd2l0aHZhbCIgIT0gIm5vIiAtYSAiJHdpdGh2YWwiICE9ICJ5ZXMiOyB0aGVuCiAgICAgWl9ESVI9JHdpdGh2YWwKICAgICBDUFBGTEFHUz0iJHtDUFBGTEFHU30gLUkkd2l0aHZhbC9pbmNsdWRlIgotICAgIExJQlM9IiR7TElCU30gLUwkd2l0aHZhbC9saWIiCisgICAgTERGTEFHUz0iJHtMREZMQUdTfSAtTCR3aXRodmFsL2xpYiIKICAgZmkKIF0pCiBBQ19BUkdfV0lUSChsem1hLApAQCAtMjAyLDcgKzIwMyw3IEBACiAgIGlmIHRlc3QgIiR3aXRodmFsIiAhPSAibm8iIC1hICIkd2l0aHZhbCIgIT0gInllcyI7IHRoZW4KICAgICBMWk1BX0RJUj0kd2l0aHZhbAogICAgIENQUEZMQUdTPSIke0NQUEZMQUdTfSAtSSR3aXRodmFsL2luY2x1ZGUiCi0gICAgTElCUz0iJHtMSUJTfSAtTCR3aXRodmFsL2xpYiIKKyAgICBMREZMQUdTPSIke0xERkxBR1N9IC1MJHdpdGh2YWwvbGliIgogICBmaQogXSkKIEFDX0FSR19XSVRIKGNvdmVyYWdlLApAQCAtMzkwLDI0ICszOTEsMzkgQEAKIGlmIHRlc3QgIiR3aXRoX3psaWIiID0gIm5vIjsgdGhlbgogICAgIGVjaG8gIkRpc2FibGluZyBjb21wcmVzc2lvbiBzdXBwb3J0IgogZWxzZQotICAgIEFDX0NIRUNLX0hFQURFUlMoemxpYi5oLAotICAgICAgICBbU0FWRV9MREZMQUdTPSIke0xERkxBR1N9IgotCSBMREZMQUdTPSItTCR7Wl9ESVJ9L2xpYiIKLQlBQ19DSEVDS19MSUIoeiwgZ3pyZWFkLFsKLQkgICAgQUNfREVGSU5FKFtIQVZFX0xJQlpdLCBbMV0sIFtIYXZlIGNvbXByZXNzaW9uIGxpYnJhcnldKQotCSAgICBXSVRIX1pMSUI9MQotCSAgICBpZiB0ZXN0ICJ4JHtaX0RJUn0iICE9ICJ4IjsgdGhlbgotCQlaX0NGTEFHUz0iLUkke1pfRElSfS9pbmNsdWRlIgotCQlaX0xJQlM9Ii1MJHtaX0RJUn0vbGliIC1seiIKLQkJW2Nhc2UgJHtob3N0fSBpbgotCQkgICAgKi0qLXNvbGFyaXMqKQotCQkJWl9MSUJTPSItTCR7Wl9ESVJ9L2xpYiAtUiR7Wl9ESVJ9L2xpYiAtbHoiCi0JCQk7OwotCQllc2FjXQotCSAgICBlbHNlCi0JCVpfTElCUz0iLWx6IgotCSAgICBmaV0pCi0JIExERkxBR1M9IiR7U0FWRV9MREZMQUdTfSJdKQorICAgICMgVHJ5IHBrZy1jb25maWcgZmlyc3Qgc28gdGhhdCBzdGF0aWMgbGlua2luZyB3b3Jrcy4KKyAgICAjIElmIHRoaXMgc3VjY2VlZWRzLCB3ZSBpZ25vcmUgdGhlIFdJVEhfWkxJQiBkaXJlY3RvcnkuCisgICAgUEtHX0NIRUNLX01PRFVMRVMoW1pdLFt6bGliXSwKKyAgICAgICAgW2hhdmVfbGliej15ZXNdLAorICAgICAgICBbaGF2ZV9saWJ6PW5vXSkKKworICAgICBpZiB0ZXN0ICJ4JGhhdmVfbGlieiIgPSAieG5vIjsgdGhlbgorICAgICAgICBBQ19DSEVDS19IRUFERVJTKHpsaWIuaCwKKyAgICAgICAgICAgIEFDX0NIRUNLX0xJQih6LCBnenJlYWQsWworICAgICAgICAgICAgICAgIGhhdmVfbGliej15ZXMKKyAgICAgICAgICAgICAgICBpZiB0ZXN0ICJ4JHtaX0RJUn0iICE9ICJ4IjsgdGhlbgorICAgICAgICAgICAgICAgICAgICBaX0NGTEFHUz0iLUkke1pfRElSfS9pbmNsdWRlIgorICAgICAgICAgICAgICAgICAgICBaX0xJQlM9Ii1MJHtaX0RJUn0vbGliIC1seiIKKyAgICAgICAgICAgICAgICAgICAgW2Nhc2UgJHtob3N0fSBpbgorICAgICAgICAgICAgICAgICAgICAgICAgKi0qLXNvbGFyaXMqKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFpfTElCUz0iLUwke1pfRElSfS9saWIgLVIke1pfRElSfS9saWIgLWx6IgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDs7CisgICAgICAgICAgICAgICAgICAgIGVzYWNdCisgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICBaX0xJQlM9Ii1seiIKKyAgICAgICAgICAgICAgICBmaV0sCisgICAgICAgICAgICAgICAgW2hhdmVfbGliej1ub10pCisgICAgICAgICAgICAgKQorICAgIGVsc2UKKwkjIHdlIHN0aWxsIG5lZWQgdG8gY2hlY2sgZm9yIHpsaWIuaCBoZWFkZXIKKwlBQ19DSEVDS19IRUFERVJTKFt6bGliLmhdKQorICAgIGZpCisKKyAgICAjIEZvdW5kIHRoZSBsaWJyYXJ5IHZpYSBlaXRoZXIgbWV0aG9kPworICAgIGlmIHRlc3QgIngkaGF2ZV9saWJ6IiA9ICJ4eWVzIjsgdGhlbgorICAgICAgICBBQ19ERUZJTkUoW0hBVkVfTElCWl0sIFsxXSwgW0hhdmUgY29tcHJlc3Npb24gbGlicmFyeV0pCisgICAgICAgIFdJVEhfWkxJQj0xCisgICAgZmkKIGZpCiAKIEFDX1NVQlNUKFpfQ0ZMQUdTKQpAQCAtNDMzLDggKzQ0OSw2IEBACiAgICAgICMgcHJpdmF0ZSBkZXBlbmRlbmNpZXMsIHRob3VnaCwgc28gc3RhdGljIGxpbmtpbmcgbWF5IGZhaWwuCiAgICAgIGlmIHRlc3QgIngkaGF2ZV9saWJsem1hIiA9ICJ4bm8iOyB0aGVuCiAgICAgICAgICBBQ19DSEVDS19IRUFERVJTKGx6bWEuaCwKLQkgICAgW1NBVkVfTERGTEFHUz0iJHtMREZMQUdTfSIKLQkgICAgIExERkxBR1M9Ii1MJHtMWk1BX0RJUn0vbGliIgogICAgICAgICAgICAgQUNfQ0hFQ0tfTElCKGx6bWEsIGx6bWFfY29kZSxbCiAgICAgICAgICAgICAgICAgaGF2ZV9saWJsem1hPXllcwogICAgICAgICAgICAgICAgIGlmIHRlc3QgIngke0xaTUFfRElSfSIgIT0gIngiOyB0aGVuCkBAIC00NDQsNyArNDU4LDcgQEAKICAgICAgICAgICAgICAgICAgICAgTFpNQV9MSUJTPSItbGx6bWEiCiAgICAgICAgICAgICAgICAgZmldLAogICAgICAgICAgICAgICAgIFtoYXZlX2xpYmx6bWE9bm9dKQotCSAgICAgTERGTEFHUz0iJHtTQVZFX0xERkxBR1N9Il0pCisJICAgICApCiAgICAgZWxzZQogCSMgd2Ugc3RpbGwgbmVlZCB0byBjaGVjayBmb3IgbHptYSxoIGhlYWRlcgogCUFDX0NIRUNLX0hFQURFUlMoW2x6bWEuaF0pCkBAIC03NzcsNyArNzkxLDcgQEAKICAgICBmaQogCiAgICAgIyB3YXJuaW5ncyB3ZSdkIGxpa2UgdG8gc2VlCi0gICAgQ0ZMQUdTPSIke0NGTEFHU30gLXBlZGFudGljIC1XIC1XZm9ybWF0IC1XdW51c2VkIC1XaW1wbGljaXQgLVdyZXR1cm4tdHlwZSAtV3N3aXRjaCAtV2NvbW1lbnQgLVd0cmlncmFwaHMgLVdmb3JtYXQgLVdjaGFyLXN1YnNjcmlwdHMgLVd1bmluaXRpYWxpemVkIC1XcGFyZW50aGVzZXMgLVdzaGFkb3cgLVdwb2ludGVyLWFyaXRoIC1XY2FzdC1hbGlnbiAtV3dyaXRlLXN0cmluZ3MgLVdhZ2dyZWdhdGUtcmV0dXJuIC1Xc3RyaWN0LXByb3RvdHlwZXMgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVduZXN0ZWQtZXh0ZXJucyAtV2lubGluZSAtV3JlZHVuZGFudC1kZWNscyIKKyAgICBDRkxBR1M9IiR7Q0ZMQUdTfSAtcGVkYW50aWMgLVcgLVdmb3JtYXQgLVduby1mb3JtYXQtZXh0cmEtYXJncyAtV3VudXNlZCAtV2ltcGxpY2l0IC1XcmV0dXJuLXR5cGUgLVdzd2l0Y2ggLVdjb21tZW50IC1XdHJpZ3JhcGhzIC1XY2hhci1zdWJzY3JpcHRzIC1XdW5pbml0aWFsaXplZCAtV3BhcmVudGhlc2VzIC1Xc2hhZG93IC1XcG9pbnRlci1hcml0aCAtV2Nhc3QtYWxpZ24gLVd3cml0ZS1zdHJpbmdzIC1XYWdncmVnYXRlLXJldHVybiAtV3N0cmljdC1wcm90b3R5cGVzIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XbmVzdGVkLWV4dGVybnMgLVdpbmxpbmUgLVdyZWR1bmRhbnQtZGVjbHMiCiAgICAgIyB3YXJuaW5ncyB3ZSdkIGxpa2UgdG8gc3VwcmVzcwogICAgIENGTEFHUz0iJHtDRkxBR1N9IC1Xbm8tbG9uZy1sb25nIgogICAgIGNhc2UgIiR7aG9zdH0iIGluCkBAIC05OTYsNyArMTAxMCw3IEBACiAJZmkKICAgICBmaQogICAgIGlmIHRlc3QgIiR7R0NDfSIgPSAieWVzIiA7IHRoZW4KLSAgICBDRkxBR1M9Ii1nIC1PIC1wZWRhbnRpYyAtVyAtV2Zvcm1hdCAtV3VudXNlZCAtV2ltcGxpY2l0IC1XcmV0dXJuLXR5cGUgLVdzd2l0Y2ggLVdjb21tZW50IC1XdHJpZ3JhcGhzIC1XZm9ybWF0IC1XY2hhci1zdWJzY3JpcHRzIC1XdW5pbml0aWFsaXplZCAtV3BhcmVudGhlc2VzIC1Xc2hhZG93IC1XcG9pbnRlci1hcml0aCAtV2Nhc3QtYWxpZ24gLVd3cml0ZS1zdHJpbmdzIC1XYWdncmVnYXRlLXJldHVybiAtV3N0cmljdC1wcm90b3R5cGVzIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XbmVzdGVkLWV4dGVybnMgLVdpbmxpbmUgLVdyZWR1bmRhbnQtZGVjbHMgLVdhbGwiCisgICAgQ0ZMQUdTPSItZyAtTyAtcGVkYW50aWMgLVcgLVdmb3JtYXQgLVduby1mb3JtYXQtZXh0cmEtYXJncyAtV3VudXNlZCAtV2ltcGxpY2l0IC1XcmV0dXJuLXR5cGUgLVdzd2l0Y2ggLVdjb21tZW50IC1XdHJpZ3JhcGhzIC1XY2hhci1zdWJzY3JpcHRzIC1XdW5pbml0aWFsaXplZCAtV3BhcmVudGhlc2VzIC1Xc2hhZG93IC1XcG9pbnRlci1hcml0aCAtV2Nhc3QtYWxpZ24gLVd3cml0ZS1zdHJpbmdzIC1XYWdncmVnYXRlLXJldHVybiAtV3N0cmljdC1wcm90b3R5cGVzIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XbmVzdGVkLWV4dGVybnMgLVdpbmxpbmUgLVdyZWR1bmRhbnQtZGVjbHMgLVdhbGwiCiAgICAgZmkKICAgICBTVEFUSUNfQklOQVJJRVM9Ii1zdGF0aWMiCiBkbmwgLVdjYXN0LXF1YWwgLWFuc2kKQEAgLTE0NzksOCArMTQ5Myw2IEBACiAJKikgTV9MSUJTPSItbG0iCiAJOzsKIGVzYWMKLVhNTF9MSUJTPSItbHhtbDIgJFpfTElCUyAkVEhSRUFEX0xJQlMgJElDT05WX0xJQlMgJE1fTElCUyAkTElCUyIKLVhNTF9MSUJUT09MTElCUz0ibGlieG1sMi5sYSIKIEFDX1NVQlNUKFdJVEhfSUNPTlYpCiAKIFdJVEhfSUNVPTAKQEAgLTE0ODgsMTggKzE1MDAsNjQgQEAKIGlmIHRlc3QgIiR3aXRoX2ljdSIgIT0gInllcyIgOyB0aGVuCiAgICAgZWNobyBEaXNhYmxpbmcgSUNVIHN1cHBvcnQKIGVsc2UKLSAgICBJQ1VfQ09ORklHPWljdS1jb25maWcKLSAgICBpZiAke0lDVV9DT05GSUd9IC0tY2ZsYWdzID4vZGV2L251bGwgMj4mMQotICAgIHRoZW4KLSAgICAgICAgSUNVX0xJQlM9YCR7SUNVX0NPTkZJR30gLS1sZGZsYWdzYAorICAgICMgVHJ5IHBrZy1jb25maWcgZmlyc3Qgc28gdGhhdCBzdGF0aWMgbGlua2luZyB3b3Jrcy4KKyAgICAjIElmIHRoaXMgc3VjY2VlZWRzLCB3ZSBpZ25vcmUgdGhlIFdJVEhfSUNVIGRpcmVjdG9yeS4KKyAgICBQS0dfQ0hFQ0tfTU9EVUxFUyhbSUNVXSxbaWN1LWkxOG5dLAorICAgICAgICBbaGF2ZV9saWJpY3U9eWVzXSwKKyAgICAgICAgW2hhdmVfbGliaWN1PW5vXSkKKworICAgICMgSWYgcGtnLWNvbmZpZyBmYWlsZWQsIGZhbGwgYmFjayB0byBBQ19DSEVDS19MSUIuIFRoaXMKKyAgICAjIHdpbGwgbm90IHBpY2sgdXAgdGhlIG5lY2Vzc2FyeSBMSUJTIGZsYWdzIGZvciBsaWJsem1hJ3MKKyAgICAjIHByaXZhdGUgZGVwZW5kZW5jaWVzLCB0aG91Z2gsIHNvIHN0YXRpYyBsaW5raW5nIG1heSBmYWlsLgorICAgIGlmIHRlc3QgIngkaGF2ZV9saWJpY3UiID0gInhubyI7IHRoZW4KKyAgICAgICAgSUNVX0NPTkZJRz1pY3UtY29uZmlnCisgICAgICAgIGlmICR7SUNVX0NPTkZJR30gLS1jZmxhZ3MgPi9kZXYvbnVsbCAyPiYxCisgICAgICAgIHRoZW4KKyAgICAgICAgICAgIElDVV9MSUJTPWAke0lDVV9DT05GSUd9IC0tbGRmbGFnc2AKKyAgICAgICAgICAgIGhhdmVfbGliaWN1PXllcworICAgICAgICAgICAgZWNobyBFbmFibGluZyBJQ1Ugc3VwcG9ydAorICAgICAgICBlbHNlCisgICAgICAgICAgICBpZiB0ZXN0ICIkd2l0aF9pY3UiICE9ICJ5ZXMiIC1hICIkd2l0aF9pY29udiIgIT0gIiIgOyB0aGVuCisgICAgICAgICAgICAgICAgQ1BQRkxBR1M9IiR7Q1BQRkxBR1N9IC1JJHdpdGhfaWN1IgorICAgICAgICAgICAgICAgICMgRXhwb3J0IHRoaXMgc2luY2Ugb3VyIGhlYWRlcnMgaW5jbHVkZSBpY3UuaAorICAgICAgICAgICAgICAgIFhNTF9JTkNMVURFRElSPSIke1hNTF9JTkNMVURFRElSfSAtSSR3aXRoX2ljdSIKKyAgICAgICAgICAgIGZpCisKKyAgICAgICAgICAgIEFDX0NIRUNLX0hFQURFUih1bmljb2RlL3VjbnYuaCwKKyAgICAgICAgICAgIEFDX01TR19DSEVDS0lORyhmb3IgaWN1KQorICAgICAgICAgICAgQUNfVFJZX0xJTksoWyNpbmNsdWRlIDx1bmljb2RlL3VjbnYuaD5dLFsKKyAgICAgICAgVUNvbnZlcnRlciAqdXRmID0gdWNudl9vcGVuKCJVVEYtOCIsIE5VTEwpO10sWworICAgICAgICAgICAgICAgIEFDX01TR19SRVNVTFQoeWVzKQorICAgICAgICAgICAgICAgIGhhdmVfbGliaWN1PXllc10sWworICAgICAgICAgICAgICAgIEFDX01TR19SRVNVTFQobm8pCisgICAgICAgICAgICAgICAgQUNfTVNHX0NIRUNLSU5HKGZvciBpY3UgaW4gLWxpY3Vjb3JlKQorCisgICAgICAgICAgICAgICAgX2xkZmxhZ3M9IiR7TERGTEFHU30iCisgICAgICAgICAgICAgICAgX2xpYnM9IiR7TElCU30iCisgICAgICAgICAgICAgICAgTERGTEFHUz0iJHtMREZMQUdTfSAke0lDVV9MSUJTfSIKKyAgICAgICAgICAgICAgICBMSUJTPSIke0xJQlN9IC1saWN1Y29yZSIKKworICAgICAgICAgICAgICAgIEFDX1RSWV9MSU5LKFsjaW5jbHVkZSA8dW5pY29kZS91Y252Lmg+XSxbCisgICAgICAgIFVDb252ZXJ0ZXIgKnV0ZiA9IHVjbnZfb3BlbigiVVRGLTgiLCBOVUxMKTtdLFsKKyAgICAgICAgICAgICAgICAgICAgQUNfTVNHX1JFU1VMVCh5ZXMpCisgICAgICAgICAgICAgICAgICAgIGhhdmVfbGliaWN1PXllcworICAgICAgICAgICAgICAgICAgICBJQ1VfTElCUz0iJHtJQ1VfTElCU30gLWxpY3Vjb3JlIgorICAgICAgICAgICAgICAgICAgICBMSUJTPSIke19saWJzfSIKKyAgICAgICAgICAgICAgICAgICAgTERGTEFHUz0iJHtfbGRmbGFnc30iXSxbCisgICAgICAgICAgICAgICAgICAgIEFDX01TR19SRVNVTFQobm8pCisgICAgICAgICAgICAgICAgICAgIExJQlM9IiR7X2xpYnN9IgorICAgICAgICAgICAgICAgIExERkxBR1M9IiR7X2xkZmxhZ3N9Il0pXSkpCisgICAgICAgIGZpCisgICAgZmkKKworICAgICMgRm91bmQgdGhlIGxpYnJhcnkgdmlhIGVpdGhlciBtZXRob2Q/CisgICAgaWYgdGVzdCAieCRoYXZlX2xpYmljdSIgPSAieHllcyI7IHRoZW4KICAgICAgICAgV0lUSF9JQ1U9MQotICAgICAgICBlY2hvIEVuYWJsaW5nIElDVSBzdXBwb3J0Ci0gICAgZWxzZQotICAgICAgICBBQ19NU0dfRVJST1IoW2xpYmljdSBjb25maWcgcHJvZ3JhbSBpY3UtY29uZmlnIG5vdCBmb3VuZF0pCiAgICAgZmkKIGZpCitYTUxfTElCUz0iLWx4bWwyICRaX0xJQlMgJExaTUFfTElCUyAkVEhSRUFEX0xJQlMgJElDT05WX0xJQlMgJElDVV9MSUJTICRNX0xJQlMgJExJQlMiCitYTUxfTElCVE9PTExJQlM9ImxpYnhtbDIubGEiCiBBQ19TVUJTVChXSVRIX0lDVSkKLUFDX1NVQlNUKElDVV9MSUJTKQogCiBXSVRIX0lTTzg4NTlYPTEKIGlmIHRlc3QgIiRXSVRIX0lDT05WIiAhPSAiMSIgOyB0aGVuCkBAIC0xNjM4LDYgKzE2OTYsNyBAQAogQUNfU1VCU1QoWE1MX0xJQlMpCiBBQ19TVUJTVChYTUxfTElCVE9PTExJQlMpCiBBQ19TVUJTVChJQ09OVl9MSUJTKQorQUNfU1VCU1QoSUNVX0xJQlMpCiBBQ19TVUJTVChYTUxfSU5DTFVERURJUikKIEFDX1NVQlNUKEhUTUxfRElSKQogQUNfU1VCU1QoSEFWRV9JU05BTikKZGlmZiAtLWdpdCBhL2RlYnVnWE1MLmMgYi9kZWJ1Z1hNTC5jCmluZGV4IGIwNWZkZmYuLmExYjU1MGEgMTAwNjQ0Ci0tLSBhL2RlYnVnWE1MLmMKKysrIGIvZGVidWdYTUwuYwpAQCAtNDQsMTAgKzQ0LDEwIEBACiAgICAgaW50IGRlcHRoOyAgICAgICAgICAgICAgICAgIC8qIGN1cnJlbnQgZGVwdGggKi8KICAgICB4bWxEb2NQdHIgZG9jOyAgICAgICAgICAgICAgLyogY3VycmVudCBkb2N1bWVudCAqLwogICAgIHhtbE5vZGVQdHIgbm9kZTsJCS8qIGN1cnJlbnQgbm9kZSAqLwotICAgIHhtbERpY3RQdHIgZGljdDsJCS8qIHRoZSBkb2MgZGljdGlvbm5hcnkgKi8KKyAgICB4bWxEaWN0UHRyIGRpY3Q7CQkvKiB0aGUgZG9jIGRpY3Rpb25hcnkgKi8KICAgICBpbnQgY2hlY2s7ICAgICAgICAgICAgICAgICAgLyogZG8ganVzdCBjaGVja2luZ3MgKi8KICAgICBpbnQgZXJyb3JzOyAgICAgICAgICAgICAgICAgLyogbnVtYmVyIG9mIGVycm9ycyBmb3VuZCAqLwotICAgIGludCBub2RpY3Q7CQkJLyogaWYgdGhlIGRvY3VtZW50IGhhcyBubyBkaWN0aW9ubmFyeSAqLworICAgIGludCBub2RpY3Q7CQkJLyogaWYgdGhlIGRvY3VtZW50IGhhcyBubyBkaWN0aW9uYXJ5ICovCiAgICAgaW50IG9wdGlvbnM7CQkvKiBvcHRpb25zICovCiB9OwogCkBAIC0xNjQsNyArMTY0LDcgQEAKIAkJICAgIE5VTEwsIE5VTEwsIE5VTEwsIDAsIDAsCiAJCSAgICAiJXMiLCBtc2cpOwogfQotc3RhdGljIHZvaWQKK3N0YXRpYyB2b2lkIExJQlhNTF9BVFRSX0ZPUk1BVCgzLDApCiB4bWxEZWJ1Z0VycjIoeG1sRGVidWdDdHh0UHRyIGN0eHQsIGludCBlcnJvciwgY29uc3QgY2hhciAqbXNnLCBpbnQgZXh0cmEpCiB7CiAgICAgY3R4dC0+ZXJyb3JzKys7CkBAIC0xNzQsNyArMTc0LDcgQEAKIAkJICAgIE5VTEwsIE5VTEwsIE5VTEwsIDAsIDAsCiAJCSAgICBtc2csIGV4dHJhKTsKIH0KLXN0YXRpYyB2b2lkCitzdGF0aWMgdm9pZCBMSUJYTUxfQVRUUl9GT1JNQVQoMywwKQogeG1sRGVidWdFcnIzKHhtbERlYnVnQ3R4dFB0ciBjdHh0LCBpbnQgZXJyb3IsIGNvbnN0IGNoYXIgKm1zZywgY29uc3QgY2hhciAqZXh0cmEpCiB7CiAgICAgY3R4dC0+ZXJyb3JzKys7CkBAIC0yNDMsNyArMjQzLDcgQEAKICAqIEBjdHh0OiB0aGUgZGVidWcgY29udGV4dAogICogQG5hbWU6IHRoZSBuYW1lCiAgKgotICogRG8gZGVidWdnaW5nIG9uIHRoZSBuYW1lLCBmb3IgZXhhbXBsZSB0aGUgZGljdGlvbm5hcnkgc3RhdHVzIGFuZAorICogRG8gZGVidWdnaW5nIG9uIHRoZSBuYW1lLCBmb3IgZXhhbXBsZSB0aGUgZGljdGlvbmFyeSBzdGF0dXMgYW5kCiAgKiBjb25mb3JtYW5jZSB0byB0aGUgTmFtZSBwcm9kdWN0aW9uLgogICovCiBzdGF0aWMgdm9pZApAQCAtMjY1LDcgKzI2NSw3IEBACiAgICAgICAgICAgICAoKGN0eHQtPmRvYyA9PSBOVUxMKSB8fAogICAgICAgICAgICAgICgoY3R4dC0+ZG9jLT5wYXJzZUZsYWdzICYgKFhNTF9QQVJTRV9TQVgxIHwgWE1MX1BBUlNFX05PRElDVCkpID09IDApKSkgewogCSAgICB4bWxEZWJ1Z0VycjMoY3R4dCwgWE1MX0NIRUNLX09VVFNJREVfRElDVCwKLQkJCSAiTmFtZSBpcyBub3QgZnJvbSB0aGUgZG9jdW1lbnQgZGljdGlvbm5hcnkgJyVzJyIsCisJCQkgIk5hbWUgaXMgbm90IGZyb20gdGhlIGRvY3VtZW50IGRpY3Rpb25hcnkgJyVzJyIsCiAJCQkgKGNvbnN0IGNoYXIgKikgbmFtZSk7CiAJfQogICAgIH0KQEAgLTI5Miw3ICsyOTIsNyBAQAogICAgICAgICAgICAgLyogZGVzYWN0aXZhdGVkIHJpZ2h0IG5vdyBhcyBpdCByYWlzZXMgdG9vIG1hbnkgZXJyb3JzICovCiAJICAgIGlmIChkb2MtPnR5cGUgPT0gWE1MX0RPQ1VNRU5UX05PREUpCiAJCXhtbERlYnVnRXJyKGN0eHQsIFhNTF9DSEVDS19OT19ESUNULAotCQkJICAgICJEb2N1bWVudCBoYXMgbm8gZGljdGlvbm5hcnlcbiIpOworCQkJICAgICJEb2N1bWVudCBoYXMgbm8gZGljdGlvbmFyeVxuIik7CiAjZW5kaWYKIAkgICAgY3R4dC0+bm9kaWN0ID0gMTsKIAl9CmRpZmYgLS1naXQgYS9kaWN0LmMgYi9kaWN0LmMKaW5kZXggOGM4ZjkzMS4uYzA1ODVmZSAxMDA2NDQKLS0tIGEvZGljdC5jCisrKyBiL2RpY3QuYwpAQCAtODcsNyArODcsNyBAQAogI2VuZGlmIC8qIFdJVEhfQklHX0tFWSAqLwogCiAvKgotICogQW4gZW50cnkgaW4gdGhlIGRpY3Rpb25uYXJ5CisgKiBBbiBlbnRyeSBpbiB0aGUgZGljdGlvbmFyeQogICovCiB0eXBlZGVmIHN0cnVjdCBfeG1sRGljdEVudHJ5IHhtbERpY3RFbnRyeTsKIHR5cGVkZWYgeG1sRGljdEVudHJ5ICp4bWxEaWN0RW50cnlQdHI7CkBAIC0xMTAsNyArMTEwLDcgQEAKICAgICB4bWxDaGFyIGFycmF5WzFdOwogfTsKIC8qCi0gKiBUaGUgZW50aXJlIGRpY3Rpb25uYXJ5CisgKiBUaGUgZW50aXJlIGRpY3Rpb25hcnkKICAqLwogc3RydWN0IF94bWxEaWN0IHsKICAgICBpbnQgcmVmX2NvdW50ZXI7CkBAIC0yMjksNyArMjI5LDcgQEAKIAogLyoKICAqIHhtbERpY3RBZGRTdHJpbmc6Ci0gKiBAZGljdDogdGhlIGRpY3Rpb25uYXJ5CisgKiBAZGljdDogdGhlIGRpY3Rpb25hcnkKICAqIEBuYW1lOiB0aGUgbmFtZSBvZiB0aGUgdXNlcmRhdGEKICAqIEBsZW46IHRoZSBsZW5ndGggb2YgdGhlIG5hbWUKICAqCkBAIC0yOTEsNyArMjkxLDcgQEAKIAogLyoKICAqIHhtbERpY3RBZGRRU3RyaW5nOgotICogQGRpY3Q6IHRoZSBkaWN0aW9ubmFyeQorICogQGRpY3Q6IHRoZSBkaWN0aW9uYXJ5CiAgKiBAcHJlZml4OiB0aGUgcHJlZml4IG9mIHRoZSB1c2VyZGF0YQogICogQHBsZW46IHRoZSBwcmVmaXggbGVuZ3RoCiAgKiBAbmFtZTogdGhlIG5hbWUgb2YgdGhlIHVzZXJkYXRhCkBAIC01MzMsNyArNTMzLDcgQEAKICAqCiAgKiBDcmVhdGUgYSBuZXcgZGljdGlvbmFyeQogICoKLSAqIFJldHVybnMgdGhlIG5ld2x5IGNyZWF0ZWQgZGljdGlvbm5hcnksIG9yIE5VTEwgaWYgYW4gZXJyb3Igb2NjdXJlZC4KKyAqIFJldHVybnMgdGhlIG5ld2x5IGNyZWF0ZWQgZGljdGlvbmFyeSwgb3IgTlVMTCBpZiBhbiBlcnJvciBvY2N1cmVkLgogICovCiB4bWxEaWN0UHRyCiB4bWxEaWN0Q3JlYXRlKHZvaWQpIHsKQEAgLTU3MywxNCArNTczLDE0IEBACiAKIC8qKgogICogeG1sRGljdENyZWF0ZVN1YjoKLSAqIEBzdWI6IGFuIGV4aXN0aW5nIGRpY3Rpb25uYXJ5CisgKiBAc3ViOiBhbiBleGlzdGluZyBkaWN0aW9uYXJ5CiAgKgogICogQ3JlYXRlIGEgbmV3IGRpY3Rpb25hcnksIGluaGVyaXRpbmcgc3RyaW5ncyBmcm9tIHRoZSByZWFkLW9ubHkKLSAqIGRpY3Rpb25uYXJ5IEBzdWIuIE9uIGxvb2t1cCwgc3RyaW5ncyBhcmUgZmlyc3Qgc2VhcmNoZWQgaW4gdGhlCi0gKiBuZXcgZGljdGlvbm5hcnksIHRoZW4gaW4gQHN1YiwgYW5kIGlmIG5vdCBmb3VuZCBhcmUgY3JlYXRlZCBpbiB0aGUKLSAqIG5ldyBkaWN0aW9ubmFyeS4KKyAqIGRpY3Rpb25hcnkgQHN1Yi4gT24gbG9va3VwLCBzdHJpbmdzIGFyZSBmaXJzdCBzZWFyY2hlZCBpbiB0aGUKKyAqIG5ldyBkaWN0aW9uYXJ5LCB0aGVuIGluIEBzdWIsIGFuZCBpZiBub3QgZm91bmQgYXJlIGNyZWF0ZWQgaW4gdGhlCisgKiBuZXcgZGljdGlvbmFyeS4KICAqCi0gKiBSZXR1cm5zIHRoZSBuZXdseSBjcmVhdGVkIGRpY3Rpb25uYXJ5LCBvciBOVUxMIGlmIGFuIGVycm9yIG9jY3VyZWQuCisgKiBSZXR1cm5zIHRoZSBuZXdseSBjcmVhdGVkIGRpY3Rpb25hcnksIG9yIE5VTEwgaWYgYW4gZXJyb3Igb2NjdXJlZC4KICAqLwogeG1sRGljdFB0cgogeG1sRGljdENyZWF0ZVN1Yih4bWxEaWN0UHRyIHN1YikgewpAQCAtNTk5LDcgKzU5OSw3IEBACiAKIC8qKgogICogeG1sRGljdFJlZmVyZW5jZToKLSAqIEBkaWN0OiB0aGUgZGljdGlvbm5hcnkKKyAqIEBkaWN0OiB0aGUgZGljdGlvbmFyeQogICoKICAqIEluY3JlbWVudCB0aGUgcmVmZXJlbmNlIGNvdW50ZXIgb2YgYSBkaWN0aW9uYXJ5CiAgKgpAQCAtNjIwLDEwICs2MjAsMTAgQEAKIAogLyoqCiAgKiB4bWxEaWN0R3JvdzoKLSAqIEBkaWN0OiB0aGUgZGljdGlvbm5hcnkKLSAqIEBzaXplOiB0aGUgbmV3IHNpemUgb2YgdGhlIGRpY3Rpb25uYXJ5CisgKiBAZGljdDogdGhlIGRpY3Rpb25hcnkKKyAqIEBzaXplOiB0aGUgbmV3IHNpemUgb2YgdGhlIGRpY3Rpb25hcnkKICAqCi0gKiByZXNpemUgdGhlIGRpY3Rpb25uYXJ5CisgKiByZXNpemUgdGhlIGRpY3Rpb25hcnkKICAqCiAgKiBSZXR1cm5zIDAgaW4gY2FzZSBvZiBzdWNjZXNzLCAtMSBpbiBjYXNlIG9mIGZhaWx1cmUKICAqLwpAQCAtNzU1LDcgKzc1NSw3IEBACiAKIC8qKgogICogeG1sRGljdEZyZWU6Ci0gKiBAZGljdDogdGhlIGRpY3Rpb25uYXJ5CisgKiBAZGljdDogdGhlIGRpY3Rpb25hcnkKICAqCiAgKiBGcmVlIHRoZSBoYXNoIEBkaWN0IGFuZCBpdHMgY29udGVudHMuIFRoZSB1c2VyZGF0YSBpcwogICogZGVhbGxvY2F0ZWQgd2l0aCBAZiBpZiBwcm92aWRlZC4KQEAgLTgxNywxMSArODE3LDExIEBACiAKIC8qKgogICogeG1sRGljdExvb2t1cDoKLSAqIEBkaWN0OiB0aGUgZGljdGlvbm5hcnkKKyAqIEBkaWN0OiB0aGUgZGljdGlvbmFyeQogICogQG5hbWU6IHRoZSBuYW1lIG9mIHRoZSB1c2VyZGF0YQogICogQGxlbjogdGhlIGxlbmd0aCBvZiB0aGUgbmFtZSwgaWYgLTEgaXQgaXMgcmVjb21wdXRlZAogICoKLSAqIEFkZCB0aGUgQG5hbWUgdG8gdGhlIGRpY3Rpb25uYXJ5IEBkaWN0IGlmIG5vdCBwcmVzZW50LgorICogQWRkIHRoZSBAbmFtZSB0byB0aGUgZGljdGlvbmFyeSBAZGljdCBpZiBub3QgcHJlc2VudC4KICAqCiAgKiBSZXR1cm5zIHRoZSBpbnRlcm5hbCBjb3B5IG9mIHRoZSBuYW1lIG9yIE5VTEwgaW4gY2FzZSBvZiBpbnRlcm5hbCBlcnJvcgogICovCkBAIC05NTcsMTEgKzk1NywxMSBAQAogCiAvKioKICAqIHhtbERpY3RFeGlzdHM6Ci0gKiBAZGljdDogdGhlIGRpY3Rpb25uYXJ5CisgKiBAZGljdDogdGhlIGRpY3Rpb25hcnkKICAqIEBuYW1lOiB0aGUgbmFtZSBvZiB0aGUgdXNlcmRhdGEKICAqIEBsZW46IHRoZSBsZW5ndGggb2YgdGhlIG5hbWUsIGlmIC0xIGl0IGlzIHJlY29tcHV0ZWQKICAqCi0gKiBDaGVjayBpZiB0aGUgQG5hbWUgZXhpc3RzIGluIHRoZSBkaWN0aW9ubmFyeSBAZGljdC4KKyAqIENoZWNrIGlmIHRoZSBAbmFtZSBleGlzdHMgaW4gdGhlIGRpY3Rpb25hcnkgQGRpY3QuCiAgKgogICogUmV0dXJucyB0aGUgaW50ZXJuYWwgY29weSBvZiB0aGUgbmFtZSBvciBOVUxMIGlmIG5vdCBmb3VuZC4KICAqLwpAQCAtMTA2NSw3ICsxMDY1LDcgQEAKIAogLyoqCiAgKiB4bWxEaWN0UUxvb2t1cDoKLSAqIEBkaWN0OiB0aGUgZGljdGlvbm5hcnkKKyAqIEBkaWN0OiB0aGUgZGljdGlvbmFyeQogICogQHByZWZpeDogdGhlIHByZWZpeAogICogQG5hbWU6IHRoZSBuYW1lCiAgKgpAQCAtMTE3MCw3ICsxMTcwLDcgQEAKIAogLyoqCiAgKiB4bWxEaWN0T3duczoKLSAqIEBkaWN0OiB0aGUgZGljdGlvbm5hcnkKKyAqIEBkaWN0OiB0aGUgZGljdGlvbmFyeQogICogQHN0cjogdGhlIHN0cmluZwogICoKICAqIGNoZWNrIGlmIGEgc3RyaW5nIGlzIG93bmVkIGJ5IHRoZSBkaXNjdGlvbmFyeQpAQCAtMTE5NywxMSArMTE5NywxMSBAQAogCiAvKioKICAqIHhtbERpY3RTaXplOgotICogQGRpY3Q6IHRoZSBkaWN0aW9ubmFyeQorICogQGRpY3Q6IHRoZSBkaWN0aW9uYXJ5CiAgKgogICogUXVlcnkgdGhlIG51bWJlciBvZiBlbGVtZW50cyBpbnN0YWxsZWQgaW4gdGhlIGhhc2ggQGRpY3QuCiAgKgotICogUmV0dXJucyB0aGUgbnVtYmVyIG9mIGVsZW1lbnRzIGluIHRoZSBkaWN0aW9ubmFyeSBvcgorICogUmV0dXJucyB0aGUgbnVtYmVyIG9mIGVsZW1lbnRzIGluIHRoZSBkaWN0aW9uYXJ5IG9yCiAgKiAtMSBpbiBjYXNlIG9mIGVycm9yCiAgKi8KIGludApAQCAtMTIxNSw3ICsxMjE1LDcgQEAKIAogLyoqCiAgKiB4bWxEaWN0U2V0TGltaXQ6Ci0gKiBAZGljdDogdGhlIGRpY3Rpb25uYXJ5CisgKiBAZGljdDogdGhlIGRpY3Rpb25hcnkKICAqIEBsaW1pdDogdGhlIGxpbWl0IGluIGJ5dGVzCiAgKgogICogU2V0IGEgc2l6ZSBsaW1pdCBmb3IgdGhlIGRpY3Rpb25hcnkKQEAgLTEyMzYsNyArMTIzNiw3IEBACiAKIC8qKgogICogeG1sRGljdEdldFVzYWdlOgotICogQGRpY3Q6IHRoZSBkaWN0aW9ubmFyeQorICogQGRpY3Q6IHRoZSBkaWN0aW9uYXJ5CiAgKgogICogR2V0IGhvdyBtdWNoIG1lbW9yeSBpcyB1c2VkIGJ5IGEgZGljdGlvbmFyeSBmb3Igc3RyaW5ncwogICogQWRkZWQgaW4gMi45LjAKZGlmZiAtLWdpdCBhL2RvYy9BUEljaHVuazEzLmh0bWwgYi9kb2MvQVBJY2h1bmsxMy5odG1sCmluZGV4IGIxZjA2OWQuLmRiYTU5NTIgMTAwNjQ0Ci0tLSBhL2RvYy9BUEljaHVuazEzLmh0bWwKKysrIGIvZG9jL0FQSWNodW5rMTMuaHRtbApAQCAtMzgzLDM0ICszODMsNiBAQAogPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sUmVnZXhwSXNEZXRlcm1pbmlzdCI+eG1sUmVnZXhwSXNEZXRlcm1pbmlzdDwvYT48YnIgLz4KIDwvZGQ+PGR0PmRpY3Q8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjX3htbERvYyI+X3htbERvYzwvYT48YnIgLz4KIDwvZGQ+PGR0PmRpY3Rpb25hcmllczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI1hNTF9NQVhfTkFNRV9MRU5HVEgiPlhNTF9NQVhfTkFNRV9MRU5HVEg8L2E+PGJyIC8+Ci08L2RkPjxkdD5kaWN0aW9uYXJ5PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjWE1MX01BWF9ESUNUSU9OQVJZX0xJTUlUIj5YTUxfTUFYX0RJQ1RJT05BUllfTElNSVQ8L2E+PGJyIC8+Ci08YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNfeG1sUGFyc2VyQ3R4dCI+X3htbFBhcnNlckN0eHQ8L2E+PGJyIC8+Ci08YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI194bWxYUGF0aENvbnRleHQiPl94bWxYUGF0aENvbnRleHQ8L2E+PGJyIC8+Ci08YSBocmVmPSJodG1sL2xpYnhtbC1kaWN0Lmh0bWwjeG1sRGljdENsZWFudXAiPnhtbERpY3RDbGVhbnVwPC9hPjxiciAvPgotPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGljdC5odG1sI3htbERpY3RDcmVhdGUiPnhtbERpY3RDcmVhdGU8L2E+PGJyIC8+Ci08YSBocmVmPSJodG1sL2xpYnhtbC1kaWN0Lmh0bWwjeG1sRGljdENyZWF0ZVN1YiI+eG1sRGljdENyZWF0ZVN1YjwvYT48YnIgLz4KLTxhIGhyZWY9Imh0bWwvbGlieG1sLWRpY3QuaHRtbCN4bWxEaWN0R2V0VXNhZ2UiPnhtbERpY3RHZXRVc2FnZTwvYT48YnIgLz4KLTxhIGhyZWY9Imh0bWwvbGlieG1sLWRpY3QuaHRtbCN4bWxEaWN0UmVmZXJlbmNlIj54bWxEaWN0UmVmZXJlbmNlPC9hPjxiciAvPgotPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGljdC5odG1sI3htbERpY3RTZXRMaW1pdCI+eG1sRGljdFNldExpbWl0PC9hPjxiciAvPgotPGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hDcmVhdGVEaWN0Ij54bWxIYXNoQ3JlYXRlRGljdDwvYT48YnIgLz4KLTxhIGhyZWY9Imh0bWwvbGlieG1sLWRpY3QuaHRtbCN4bWxJbml0aWFsaXplRGljdCI+eG1sSW5pdGlhbGl6ZURpY3Q8L2E+PGJyIC8+Ci08YSBocmVmPSJodG1sL2xpYnhtbC1wYXR0ZXJuLmh0bWwjeG1sUGF0dGVybmNvbXBpbGUiPnhtbFBhdHRlcm5jb21waWxlPC9hPjxiciAvPgotPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGF0dGVybi5odG1sI3htbFN0cmVhbVB1c2giPnhtbFN0cmVhbVB1c2g8L2E+PGJyIC8+Ci08YSBocmVmPSJodG1sL2xpYnhtbC1wYXR0ZXJuLmh0bWwjeG1sU3RyZWFtUHVzaEF0dHIiPnhtbFN0cmVhbVB1c2hBdHRyPC9hPjxiciAvPgotPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGF0dGVybi5odG1sI3htbFN0cmVhbVB1c2hOb2RlIj54bWxTdHJlYW1QdXNoTm9kZTwvYT48YnIgLz4KLTwvZGQ+PGR0PmRpY3Rpb25uYXJ5PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjX3htbFBhcnNlckN0eHQiPl94bWxQYXJzZXJDdHh0PC9hPjxiciAvPgotPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGljdC5odG1sI3htbERpY3RDcmVhdGUiPnhtbERpY3RDcmVhdGU8L2E+PGJyIC8+Ci08YSBocmVmPSJodG1sL2xpYnhtbC1kaWN0Lmh0bWwjeG1sRGljdENyZWF0ZVN1YiI+eG1sRGljdENyZWF0ZVN1YjwvYT48YnIgLz4KLTxhIGhyZWY9Imh0bWwvbGlieG1sLWRpY3QuaHRtbCN4bWxEaWN0RXhpc3RzIj54bWxEaWN0RXhpc3RzPC9hPjxiciAvPgotPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGljdC5odG1sI3htbERpY3RGcmVlIj54bWxEaWN0RnJlZTwvYT48YnIgLz4KLTxhIGhyZWY9Imh0bWwvbGlieG1sLWRpY3QuaHRtbCN4bWxEaWN0R2V0VXNhZ2UiPnhtbERpY3RHZXRVc2FnZTwvYT48YnIgLz4KLTxhIGhyZWY9Imh0bWwvbGlieG1sLWRpY3QuaHRtbCN4bWxEaWN0TG9va3VwIj54bWxEaWN0TG9va3VwPC9hPjxiciAvPgotPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGljdC5odG1sI3htbERpY3RPd25zIj54bWxEaWN0T3duczwvYT48YnIgLz4KLTxhIGhyZWY9Imh0bWwvbGlieG1sLWRpY3QuaHRtbCN4bWxEaWN0UUxvb2t1cCI+eG1sRGljdFFMb29rdXA8L2E+PGJyIC8+Ci08YSBocmVmPSJodG1sL2xpYnhtbC1kaWN0Lmh0bWwjeG1sRGljdFJlZmVyZW5jZSI+eG1sRGljdFJlZmVyZW5jZTwvYT48YnIgLz4KLTxhIGhyZWY9Imh0bWwvbGlieG1sLWRpY3QuaHRtbCN4bWxEaWN0U2V0TGltaXQiPnhtbERpY3RTZXRMaW1pdDwvYT48YnIgLz4KLTxhIGhyZWY9Imh0bWwvbGlieG1sLWRpY3QuaHRtbCN4bWxEaWN0U2l6ZSI+eG1sRGljdFNpemU8L2E+PGJyIC8+Ci08YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBOZXdDdHh0Ij54bWxFeHBOZXdDdHh0PC9hPjxiciAvPgogPC9kZD48ZHQ+ZGlkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX1RZUEVfQkxPQ0tfREVGQVVMVCI+WE1MX1NDSEVNQVNfVFlQRV9CTE9DS19ERUZBVUxUPC9hPjxiciAvPgogPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckdldFJlbWFpbmRlciI+eG1sVGV4dFJlYWRlckdldFJlbWFpbmRlcjwvYT48YnIgLz4KIDxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJTdGFuZGFsb25lIj54bWxUZXh0UmVhZGVyU3RhbmRhbG9uZTwvYT48YnIgLz4KZGlmZiAtLWdpdCBhL2RvYy9BUEljaHVuazI2Lmh0bWwgYi9kb2MvQVBJY2h1bmsyNi5odG1sCmluZGV4IGM2OGFlOTIuLmFmM2IxYTUgMTAwNjQ0Ci0tLSBhL2RvYy9BUEljaHVuazI2Lmh0bWwKKysrIGIvZG9jL0FQSWNodW5rMjYuaHRtbApAQCAtMTQzLDYgKzE0Myw3IEBACiA8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUmVnaXN0ZXJWYXJpYWJsZU5TIj54bWxYUGF0aFJlZ2lzdGVyVmFyaWFibGVOUzwvYT48YnIgLz4KIDwvZGQ+PGR0PnVuc2FmZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sU3ByaW50ZkVsZW1lbnRDb250ZW50Ij54bWxTcHJpbnRmRWxlbWVudENvbnRlbnQ8L2E+PGJyIC8+CiA8L2RkPjxkdD51bnNpZ25lZDwvZHQ+PGRkPjxhIGhyZWY9IiI+YzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbE1hbGxvY0F0b21pY0xvYyI+eG1sTWFsbG9jQXRvbWljTG9jPC9hPjxiciAvPgogPGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sVVJJVW5lc2NhcGVTdHJpbmciPnhtbFVSSVVuZXNjYXBlU3RyaW5nPC9hPjxiciAvPgogPC9kZD48ZHQ+dW5zdXBwb3J0ZWQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRE9NV3JhcEFkb3B0Tm9kZSI+eG1sRE9NV3JhcEFkb3B0Tm9kZTwvYT48YnIgLz4KIDxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxET01XcmFwQ2xvbmVOb2RlIj54bWxET01XcmFwQ2xvbmVOb2RlPC9hPjxiciAvPgpkaWZmIC0tZ2l0IGEvZG9jL0FQSWZ1bmN0aW9ucy5odG1sIGIvZG9jL0FQSWZ1bmN0aW9ucy5odG1sCmluZGV4IDkwMjdhZmUuLmY5YWMyNDkgMTAwNjQ0Ci0tLSBhL2RvYy9BUElmdW5jdGlvbnMuaHRtbAorKysgYi9kb2MvQVBJZnVuY3Rpb25zLmh0bWwKQEAgLTM2OCw5ICszNjgsNyBAQAogPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFNwbGl0UU5hbWUyIj54bWxTcGxpdFFOYW1lMjwvYT48YnIgLz4KIDxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxTcGxpdFFOYW1lMyI+eG1sU3BsaXRRTmFtZTM8L2E+PGJyIC8+CiA8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxTdHJFcXVhbCI+eG1sU3RyRXF1YWw8L2E+PGJyIC8+Ci08YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxTdHJQcmludGYiPnhtbFN0clByaW50ZjwvYT48YnIgLz4KIDxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFN0clFFcXVhbCI+eG1sU3RyUUVxdWFsPC9hPjxiciAvPgotPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sU3RyVlByaW50ZiI+eG1sU3RyVlByaW50ZjwvYT48YnIgLz4KIDxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFN0cmNhc2VjbXAiPnhtbFN0cmNhc2VjbXA8L2E+PGJyIC8+CiA8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxTdHJjYXNlc3RyIj54bWxTdHJjYXNlc3RyPC9hPjxiciAvPgogPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sU3RyY2F0Ij54bWxTdHJjYXQ8L2E+PGJyIC8+CmRpZmYgLS1naXQgYS9kb2MvYXBpYnVpbGQucHkgYi9kb2MvYXBpYnVpbGQucHkKaW5kZXggYjViNjY5YS4uN2EzNjQ2NiAxMDA3NTUKLS0tIGEvZG9jL2FwaWJ1aWxkLnB5CisrKyBiL2RvYy9hcGlidWlsZC5weQpAQCAtODEsNiArODEsNyBAQAogICAiQVRUUklCVVRFX1BSSU5URiI6ICg1LCAibWFjcm8gZm9yIGdjYyBwcmludGYgYXJncyBjaGVja2luZyBleHRlbnNpb24iKSwKICAgIkxJQlhNTF9BVFRSX0ZPUk1BVCI6ICg1LCAibWFjcm8gZm9yIGdjYyBwcmludGYgYXJncyBjaGVja2luZyBleHRlbnNpb24iKSwKICAgIkxJQlhNTF9BVFRSX0FMTE9DX1NJWkUiOiAoMywgIm1hY3JvIGZvciBnY2MgY2hlY2tpbmcgZXh0ZW5zaW9uIiksCisgICJfX1hNTF9FWFRFUk5DIjogKDAsICJTcGVjaWFsIG1hY3JvIGFkZGVkIGZvciBvczQwMCIpLAogfQogCiBkZWYgZXNjYXBlKHJhdyk6CmRpZmYgLS1naXQgYS9kb2MvZGV2aGVscC9nZW5lcmFsLmh0bWwgYi9kb2MvZGV2aGVscC9nZW5lcmFsLmh0bWwKaW5kZXggNjhmOTM4MC4uOTBmMGQzOSAxMDA2NDQKLS0tIGEvZG9jL2RldmhlbHAvZ2VuZXJhbC5odG1sCisrKyBiL2RvYy9kZXZoZWxwL2dlbmVyYWwuaHRtbApAQCAtMzMsNiArMzMsNiBAQAogICAgIDxoMj4KICAgICAgIDxzcGFuIGNsYXNzPSJyZWZlbnRyeXRpdGxlIj5saWJ4bWwyIEFQSSBNb2R1bGVzPC9zcGFuPgogICAgIDwvaDI+Ci0gICAgPHA+PGEgaHJlZj0ibGlieG1sMi1ET0NCcGFyc2VyLmh0bWwiPkRPQ0JwYXJzZXI8L2E+IC0gb2xkIERvY0Jvb2sgU0dNTCBwYXJzZXI8YnIvPjxhIGhyZWY9ImxpYnhtbDItSFRNTHBhcnNlci5odG1sIj5IVE1McGFyc2VyPC9hPiAtIGludGVyZmFjZSBmb3IgYW4gSFRNTCA0LjAgbm9uLXZlcmlmeWluZyBwYXJzZXI8YnIvPjxhIGhyZWY9ImxpYnhtbDItSFRNTHRyZWUuaHRtbCI+SFRNTHRyZWU8L2E+IC0gc3BlY2lmaWMgQVBJcyB0byBwcm9jZXNzIEhUTUwgdHJlZSwgZXNwZWNpYWxseSBzZXJpYWxpemF0aW9uPGJyLz48YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sIj5TQVg8L2E+IC0gT2xkIFNBWCB2ZXJzaW9uIDEgaGFuZGxlciwgZGVwcmVjYXRlZDxici8+PGEgaHJlZj0ibGlieG1sMi1TQVgyLmh0bWwiPlNBWDI8L2E+IC0gU0FYMiBwYXJzZXIgaW50ZXJmYWNlIHVzZWQgdG8gYnVpbGQgdGhlIERPTSB0cmVlPGJyLz48YSBocmVmPSJsaWJ4bWwyLWMxNG4uaHRtbCI+YzE0bjwvYT4gLSBQcm92aWRlIENhbm9uaWNhbCBYTUwgYW5kIEV4Y2x1c2l2ZSBYTUwgQ2Fub25pY2FsaXphdGlvbjxici8+PGEgaHJlZj0ibGlieG1sMi1jYXRhbG9nLmh0bWwiPmNhdGFsb2c8L2E+IC0gaW50ZXJmYWNlcyB0byB0aGUgQ2F0YWxvZyBoYW5kbGluZyBzeXN0ZW08YnIvPjxhIGhyZWY9ImxpYnhtbDItY2h2YWxpZC5odG1sIj5jaHZhbGlkPC9hPiAtIFVuaWNvZGUgY2hhcmFjdGVyIHJhbmdlIGNoZWNraW5nPGJyLz48YSBocmVmPSJsaWJ4bWwyLWRlYnVnWE1MLmh0bWwiPmRlYnVnWE1MPC9hPiAtIFRyZWUgZGVidWdnaW5nIEFQSXM8YnIvPjxhIGhyZWY9ImxpYnhtbDItZGljdC5odG1sIj5kaWN0PC9hPiAtIHN0cmluZyBkaWN0aW9ubmFyeTxici8+PGEgaHJlZj0ibGlieG1sMi1lbmNvZGluZy5odG1sIj5lbmNvZGluZzwvYT4gLSBpbnRlcmZhY2UgZm9yIHRoZSBlbmNvZGluZyBjb252ZXJzaW9uIGZ1bmN0aW9uczxici8+PGEgaHJlZj0ibGlieG1sMi1lbnRpdGllcy5odG1sIj5lbnRpdGllczwvYT4gLSBpbnRlcmZhY2UgZm9yIHRoZSBYTUwgZW50aXRpZXMgaGFuZGxpbmc8YnIvPjxhIGhyZWY9ImxpYnhtbDItZ2xvYmFscy5odG1sIj5nbG9iYWxzPC9hPiAtIGludGVyZmFjZSBmb3IgYWxsIGdsb2JhbCB2YXJpYWJsZXMgb2YgdGhlIGxpYnJhcnk8YnIvPjxhIGhyZWY9ImxpYnhtbDItaGFzaC5odG1sIj5oYXNoPC9hPiAtIENoYWluZWQgaGFzaCB0YWJsZXM8YnIvPjxhIGhyZWY9ImxpYnhtbDItbGlzdC5odG1sIj5saXN0PC9hPiAtIGxpc3RzIGludGVyZmFjZXM8YnIvPjxhIGhyZWY9ImxpYnhtbDItbmFub2Z0cC5odG1sIj5uYW5vZnRwPC9hPiAtIG1pbmltYWwgRlRQIGltcGxlbWVudGF0aW9uPGJyLz48YSBocmVmPSJsaWJ4bWwyLW5hbm9odHRwLmh0bWwiPm5hbm9odHRwPC9hPiAtIG1pbmltYWwgSFRUUCBpbXBsZW1lbnRhdGlvbjxici8+PGEgaHJlZj0ibGlieG1sMi1wYXJzZXIuaHRtbCI+cGFyc2VyPC9hPiAtIHRoZSBjb3JlIHBhcnNlciBtb2R1bGU8YnIvPjxhIGhyZWY9ImxpYnhtbDItcGFyc2VySW50ZXJuYWxzLmh0bWwiPnBhcnNlckludGVybmFsczwvYT4gLSBpbnRlcm5hbHMgcm91dGluZXMgYW5kIGxpbWl0cyBleHBvcnRlZCBieSB0aGUgcGFyc2VyLjxici8+PGEgaHJlZj0ibGlieG1sMi1wYXR0ZXJuLmh0bWwiPnBhdHRlcm48L2E+IC0gcGF0dGVybiBleHByZXNzaW9uIGhhbmRsaW5nPGJyLz48YSBocmVmPSJsaWJ4bWwyLXJlbGF4bmcuaHRtbCI+cmVsYXhuZzwvYT4gLSBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgUmVsYXgtTkcgdmFsaWRhdGlvbjxici8+PGEgaHJlZj0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwiPnNjaGVtYXNJbnRlcm5hbHM8L2E+IC0gaW50ZXJuYWwgaW50ZXJmYWNlcyBmb3IgWE1MIFNjaGVtYXM8YnIvPjxhIGhyZWY9ImxpYnhtbDItc2NoZW1hdHJvbi5odG1sIj5zY2hlbWF0cm9uPC9hPiAtIFhNTCBTY2hlbWFzdHJvbiBpbXBsZW1lbnRhdGlvbjxici8+PGEgaHJlZj0ibGlieG1sMi10aHJlYWRzLmh0bWwiPnRocmVhZHM8L2E+IC0gaW50ZXJmYWNlcyBmb3IgdGhyZWFkIGhhbmRsaW5nPGJyLz48YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCI+dHJlZTwvYT4gLSBpbnRlcmZhY2VzIGZvciB0cmVlIG1hbmlwdWxhdGlvbjxici8+PGEgaHJlZj0ibGlieG1sMi11cmkuaHRtbCI+dXJpPC9hPiAtIGxpYnJhcnkgb2YgZ2VuZXJpYyBVUkkgcmVsYXRlZCByb3V0aW5lczxici8+PGEgaHJlZj0ibGlieG1sMi12YWxpZC5odG1sIj52YWxpZDwvYT4gLSBUaGUgRFREIHZhbGlkYXRpb248YnIvPjxhIGhyZWY9ImxpYnhtbDIteGluY2x1ZGUuaHRtbCI+eGluY2x1ZGU8L2E+IC0gaW1wbGVtZW50YXRpb24gb2YgWEluY2x1ZGU8YnIvPjxhIGhyZWY9ImxpYnhtbDIteGxpbmsuaHRtbCI+eGxpbms8L2E+IC0gdW5maW5pc2hlZCBYTGluayBkZXRlY3Rpb24gbW9kdWxlPGJyLz48YSBocmVmPSJsaWJ4bWwyLXhtbElPLmh0bWwiPnhtbElPPC9hPiAtIGludGVyZmFjZSBmb3IgdGhlIEkvTyBpbnRlcmZhY2VzIHVzZWQgYnkgdGhlIHBhcnNlcjxici8+PGEgaHJlZj0ibGlieG1sMi14bWxhdXRvbWF0YS5odG1sIj54bWxhdXRvbWF0YTwvYT4gLSBBUEkgdG8gYnVpbGQgcmVnZXhwIGF1dG9tYXRhPGJyLz48YSBocmVmPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwiPnhtbGVycm9yPC9hPiAtIGVycm9yIGhhbmRsaW5nPGJyLz48YSBocmVmPSJsaWJ4bWwyLXhtbGV4cG9ydHMuaHRtbCI+eG1sZXhwb3J0czwvYT4gLSBtYWNyb3MgZm9yIG1hcmtpbmcgc3ltYm9scyBhcyBleHBvcnRhYmxlL2ltcG9ydGFibGUuPGJyLz48YSBocmVmPSJsaWJ4bWwyLXhtbG1lbW9yeS5odG1sIj54bWxtZW1vcnk8L2E+IC0gaW50ZXJmYWNlIGZvciB0aGUgbWVtb3J5IGFsbG9jYXRvcjxici8+PGEgaHJlZj0ibGlieG1sMi14bWxtb2R1bGUuaHRtbCI+eG1sbW9kdWxlPC9hPiAtIGR5bmFtaWMgbW9kdWxlIGxvYWRpbmc8YnIvPjxhIGhyZWY9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwiPnhtbHJlYWRlcjwvYT4gLSB0aGUgWE1MUmVhZGVyIGltcGxlbWVudGF0aW9uPGJyLz48YSBocmVmPSJsaWJ4bWwyLXhtbHJlZ2V4cC5odG1sIj54bWxyZWdleHA8L2E+IC0gcmVndWxhciBleHByZXNzaW9ucyBoYW5kbGluZzxici8+PGEgaHJlZj0ibGlieG1sMi14bWxzYXZlLmh0bWwiPnhtbHNhdmU8L2E+IC0gdGhlIFhNTCBkb2N1bWVudCBzZXJpYWxpemVyPGJyLz48YSBocmVmPSJsaWJ4bWwyLXhtbHNjaGVtYXMuaHRtbCI+eG1sc2NoZW1hczwvYT4gLSBpbmNvbXBsZXRlIFhNTCBTY2hlbWFzIHN0cnVjdHVyZSBpbXBsZW1lbnRhdGlvbjxici8+PGEgaHJlZj0ibGlieG1sMi14bWxzY2hlbWFzdHlwZXMuaHRtbCI+eG1sc2NoZW1hc3R5cGVzPC9hPiAtIGltcGxlbWVudGF0aW9uIG9mIFhNTCBTY2hlbWEgRGF0YXR5cGVzPGJyLz48YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sIj54bWxzdHJpbmc8L2E+IC0gc2V0IG9mIHJvdXRpbmVzIHRvIHByb2Nlc3Mgc3RyaW5nczxici8+PGEgaHJlZj0ibGlieG1sMi14bWx1bmljb2RlLmh0bWwiPnhtbHVuaWNvZGU8L2E+IC0gVW5pY29kZSBjaGFyYWN0ZXIgQVBJczxici8+PGEgaHJlZj0ibGlieG1sMi14bWx2ZXJzaW9uLmh0bWwiPnhtbHZlcnNpb248L2E+IC0gY29tcGlsZS10aW1lIHZlcnNpb24gaW5mb3JtYXRpb25zPGJyLz48YSBocmVmPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sIj54bWx3cml0ZXI8L2E+IC0gdGV4dCB3cml0aW5nIEFQSSBmb3IgWE1MPGJyLz48YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwiPnhwYXRoPC9hPiAtIFhNTCBQYXRoIExhbmd1YWdlIGltcGxlbWVudGF0aW9uPGJyLz48YSBocmVmPSJsaWJ4bWwyLXhwYXRoSW50ZXJuYWxzLmh0bWwiPnhwYXRoSW50ZXJuYWxzPC9hPiAtIGludGVybmFsIGludGVyZmFjZXMgZm9yIFhNTCBQYXRoIExhbmd1YWdlIGltcGxlbWVudGF0aW9uPGJyLz48YSBocmVmPSJsaWJ4bWwyLXhwb2ludGVyLmh0bWwiPnhwb2ludGVyPC9hPiAtIEFQSSB0byBoYW5kbGUgWE1MIFBvaW50ZXJzPGJyLz48L3A+CisgICAgPHA+PGEgaHJlZj0ibGlieG1sMi1ET0NCcGFyc2VyLmh0bWwiPkRPQ0JwYXJzZXI8L2E+IC0gb2xkIERvY0Jvb2sgU0dNTCBwYXJzZXI8YnIvPjxhIGhyZWY9ImxpYnhtbDItSFRNTHBhcnNlci5odG1sIj5IVE1McGFyc2VyPC9hPiAtIGludGVyZmFjZSBmb3IgYW4gSFRNTCA0LjAgbm9uLXZlcmlmeWluZyBwYXJzZXI8YnIvPjxhIGhyZWY9ImxpYnhtbDItSFRNTHRyZWUuaHRtbCI+SFRNTHRyZWU8L2E+IC0gc3BlY2lmaWMgQVBJcyB0byBwcm9jZXNzIEhUTUwgdHJlZSwgZXNwZWNpYWxseSBzZXJpYWxpemF0aW9uPGJyLz48YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sIj5TQVg8L2E+IC0gT2xkIFNBWCB2ZXJzaW9uIDEgaGFuZGxlciwgZGVwcmVjYXRlZDxici8+PGEgaHJlZj0ibGlieG1sMi1TQVgyLmh0bWwiPlNBWDI8L2E+IC0gU0FYMiBwYXJzZXIgaW50ZXJmYWNlIHVzZWQgdG8gYnVpbGQgdGhlIERPTSB0cmVlPGJyLz48YSBocmVmPSJsaWJ4bWwyLWMxNG4uaHRtbCI+YzE0bjwvYT4gLSBQcm92aWRlIENhbm9uaWNhbCBYTUwgYW5kIEV4Y2x1c2l2ZSBYTUwgQ2Fub25pY2FsaXphdGlvbjxici8+PGEgaHJlZj0ibGlieG1sMi1jYXRhbG9nLmh0bWwiPmNhdGFsb2c8L2E+IC0gaW50ZXJmYWNlcyB0byB0aGUgQ2F0YWxvZyBoYW5kbGluZyBzeXN0ZW08YnIvPjxhIGhyZWY9ImxpYnhtbDItY2h2YWxpZC5odG1sIj5jaHZhbGlkPC9hPiAtIFVuaWNvZGUgY2hhcmFjdGVyIHJhbmdlIGNoZWNraW5nPGJyLz48YSBocmVmPSJsaWJ4bWwyLWRlYnVnWE1MLmh0bWwiPmRlYnVnWE1MPC9hPiAtIFRyZWUgZGVidWdnaW5nIEFQSXM8YnIvPjxhIGhyZWY9ImxpYnhtbDItZGljdC5odG1sIj5kaWN0PC9hPiAtIHN0cmluZyBkaWN0aW9uYXJ5PGJyLz48YSBocmVmPSJsaWJ4bWwyLWVuY29kaW5nLmh0bWwiPmVuY29kaW5nPC9hPiAtIGludGVyZmFjZSBmb3IgdGhlIGVuY29kaW5nIGNvbnZlcnNpb24gZnVuY3Rpb25zPGJyLz48YSBocmVmPSJsaWJ4bWwyLWVudGl0aWVzLmh0bWwiPmVudGl0aWVzPC9hPiAtIGludGVyZmFjZSBmb3IgdGhlIFhNTCBlbnRpdGllcyBoYW5kbGluZzxici8+PGEgaHJlZj0ibGlieG1sMi1nbG9iYWxzLmh0bWwiPmdsb2JhbHM8L2E+IC0gaW50ZXJmYWNlIGZvciBhbGwgZ2xvYmFsIHZhcmlhYmxlcyBvZiB0aGUgbGlicmFyeTxici8+PGEgaHJlZj0ibGlieG1sMi1oYXNoLmh0bWwiPmhhc2g8L2E+IC0gQ2hhaW5lZCBoYXNoIHRhYmxlczxici8+PGEgaHJlZj0ibGlieG1sMi1saXN0Lmh0bWwiPmxpc3Q8L2E+IC0gbGlzdHMgaW50ZXJmYWNlczxici8+PGEgaHJlZj0ibGlieG1sMi1uYW5vZnRwLmh0bWwiPm5hbm9mdHA8L2E+IC0gbWluaW1hbCBGVFAgaW1wbGVtZW50YXRpb248YnIvPjxhIGhyZWY9ImxpYnhtbDItbmFub2h0dHAuaHRtbCI+bmFub2h0dHA8L2E+IC0gbWluaW1hbCBIVFRQIGltcGxlbWVudGF0aW9uPGJyLz48YSBocmVmPSJsaWJ4bWwyLXBhcnNlci5odG1sIj5wYXJzZXI8L2E+IC0gdGhlIGNvcmUgcGFyc2VyIG1vZHVsZTxici8+PGEgaHJlZj0ibGlieG1sMi1wYXJzZXJJbnRlcm5hbHMuaHRtbCI+cGFyc2VySW50ZXJuYWxzPC9hPiAtIGludGVybmFscyByb3V0aW5lcyBhbmQgbGltaXRzIGV4cG9ydGVkIGJ5IHRoZSBwYXJzZXIuPGJyLz48YSBocmVmPSJsaWJ4bWwyLXBhdHRlcm4uaHRtbCI+cGF0dGVybjwvYT4gLSBwYXR0ZXJuIGV4cHJlc3Npb24gaGFuZGxpbmc8YnIvPjxhIGhyZWY9ImxpYnhtbDItcmVsYXhuZy5odG1sIj5yZWxheG5nPC9hPiAtIGltcGxlbWVudGF0aW9uIG9mIHRoZSBSZWxheC1ORyB2YWxpZGF0aW9uPGJyLz48YSBocmVmPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCI+c2NoZW1hc0ludGVybmFsczwvYT4gLSBpbnRlcm5hbCBpbnRlcmZhY2VzIGZvciBYTUwgU2NoZW1hczxici8+PGEgaHJlZj0ibGlieG1sMi1zY2hlbWF0cm9uLmh0bWwiPnNjaGVtYXRyb248L2E+IC0gWE1MIFNjaGVtYXN0cm9uIGltcGxlbWVudGF0aW9uPGJyLz48YSBocmVmPSJsaWJ4bWwyLXRocmVhZHMuaHRtbCI+dGhyZWFkczwvYT4gLSBpbnRlcmZhY2VzIGZvciB0aHJlYWQgaGFuZGxpbmc8YnIvPjxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sIj50cmVlPC9hPiAtIGludGVyZmFjZXMgZm9yIHRyZWUgbWFuaXB1bGF0aW9uPGJyLz48YSBocmVmPSJsaWJ4bWwyLXVyaS5odG1sIj51cmk8L2E+IC0gbGlicmFyeSBvZiBnZW5lcmljIFVSSSByZWxhdGVkIHJvdXRpbmVzPGJyLz48YSBocmVmPSJsaWJ4bWwyLXZhbGlkLmh0bWwiPnZhbGlkPC9hPiAtIFRoZSBEVEQgdmFsaWRhdGlvbjxici8+PGEgaHJlZj0ibGlieG1sMi14aW5jbHVkZS5odG1sIj54aW5jbHVkZTwvYT4gLSBpbXBsZW1lbnRhdGlvbiBvZiBYSW5jbHVkZTxici8+PGEgaHJlZj0ibGlieG1sMi14bGluay5odG1sIj54bGluazwvYT4gLSB1bmZpbmlzaGVkIFhMaW5rIGRldGVjdGlvbiBtb2R1bGU8YnIvPjxhIGhyZWY9ImxpYnhtbDIteG1sSU8uaHRtbCI+eG1sSU88L2E+IC0gaW50ZXJmYWNlIGZvciB0aGUgSS9PIGludGVyZmFjZXMgdXNlZCBieSB0aGUgcGFyc2VyPGJyLz48YSBocmVmPSJsaWJ4bWwyLXhtbGF1dG9tYXRhLmh0bWwiPnhtbGF1dG9tYXRhPC9hPiAtIEFQSSB0byBidWlsZCByZWdleHAgYXV0b21hdGE8YnIvPjxhIGhyZWY9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCI+eG1sZXJyb3I8L2E+IC0gZXJyb3IgaGFuZGxpbmc8YnIvPjxhIGhyZWY9ImxpYnhtbDIteG1sZXhwb3J0cy5odG1sIj54bWxleHBvcnRzPC9hPiAtIG1hY3JvcyBmb3IgbWFya2luZyBzeW1ib2xzIGFzIGV4cG9ydGFibGUvaW1wb3J0YWJsZS48YnIvPjxhIGhyZWY9ImxpYnhtbDIteG1sbWVtb3J5Lmh0bWwiPnhtbG1lbW9yeTwvYT4gLSBpbnRlcmZhY2UgZm9yIHRoZSBtZW1vcnkgYWxsb2NhdG9yPGJyLz48YSBocmVmPSJsaWJ4bWwyLXhtbG1vZHVsZS5odG1sIj54bWxtb2R1bGU8L2E+IC0gZHluYW1pYyBtb2R1bGUgbG9hZGluZzxici8+PGEgaHJlZj0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCI+eG1scmVhZGVyPC9hPiAtIHRoZSBYTUxSZWFkZXIgaW1wbGVtZW50YXRpb248YnIvPjxhIGhyZWY9ImxpYnhtbDIteG1scmVnZXhwLmh0bWwiPnhtbHJlZ2V4cDwvYT4gLSByZWd1bGFyIGV4cHJlc3Npb25zIGhhbmRsaW5nPGJyLz48YSBocmVmPSJsaWJ4bWwyLXhtbHNhdmUuaHRtbCI+eG1sc2F2ZTwvYT4gLSB0aGUgWE1MIGRvY3VtZW50IHNlcmlhbGl6ZXI8YnIvPjxhIGhyZWY9ImxpYnhtbDIteG1sc2NoZW1hcy5odG1sIj54bWxzY2hlbWFzPC9hPiAtIGluY29tcGxldGUgWE1MIFNjaGVtYXMgc3RydWN0dXJlIGltcGxlbWVudGF0aW9uPGJyLz48YSBocmVmPSJsaWJ4bWwyLXhtbHNjaGVtYXN0eXBlcy5odG1sIj54bWxzY2hlbWFzdHlwZXM8L2E+IC0gaW1wbGVtZW50YXRpb24gb2YgWE1MIFNjaGVtYSBEYXRhdHlwZXM8YnIvPjxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwiPnhtbHN0cmluZzwvYT4gLSBzZXQgb2Ygcm91dGluZXMgdG8gcHJvY2VzcyBzdHJpbmdzPGJyLz48YSBocmVmPSJsaWJ4bWwyLXhtbHVuaWNvZGUuaHRtbCI+eG1sdW5pY29kZTwvYT4gLSBVbmljb2RlIGNoYXJhY3RlciBBUElzPGJyLz48YSBocmVmPSJsaWJ4bWwyLXhtbHZlcnNpb24uaHRtbCI+eG1sdmVyc2lvbjwvYT4gLSBjb21waWxlLXRpbWUgdmVyc2lvbiBpbmZvcm1hdGlvbnM8YnIvPjxhIGhyZWY9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwiPnhtbHdyaXRlcjwvYT4gLSB0ZXh0IHdyaXRpbmcgQVBJIGZvciBYTUw8YnIvPjxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCI+eHBhdGg8L2E+IC0gWE1MIFBhdGggTGFuZ3VhZ2UgaW1wbGVtZW50YXRpb248YnIvPjxhIGhyZWY9ImxpYnhtbDIteHBhdGhJbnRlcm5hbHMuaHRtbCI+eHBhdGhJbnRlcm5hbHM8L2E+IC0gaW50ZXJuYWwgaW50ZXJmYWNlcyBmb3IgWE1MIFBhdGggTGFuZ3VhZ2UgaW1wbGVtZW50YXRpb248YnIvPjxhIGhyZWY9ImxpYnhtbDIteHBvaW50ZXIuaHRtbCI+eHBvaW50ZXI8L2E+IC0gQVBJIHRvIGhhbmRsZSBYTUwgUG9pbnRlcnM8YnIvPjwvcD4KICAgPC9ib2R5PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvZG9jL2RldmhlbHAvbGlieG1sMi1kaWN0Lmh0bWwgYi9kb2MvZGV2aGVscC9saWJ4bWwyLWRpY3QuaHRtbAppbmRleCBmZDVmNmI5Li4zNzc2YzViIDEwMDY0NAotLS0gYS9kb2MvZGV2aGVscC9saWJ4bWwyLWRpY3QuaHRtbAorKysgYi9kb2MvZGV2aGVscC9saWJ4bWwyLWRpY3QuaHRtbApAQCAtMiw3ICsyLDcgQEAKIDxodG1sPgogICA8aGVhZD4KICAgICA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIvPgotICAgIDx0aXRsZT5kaWN0OiBzdHJpbmcgZGljdGlvbm5hcnk8L3RpdGxlPgorICAgIDx0aXRsZT5kaWN0OiBzdHJpbmcgZGljdGlvbmFyeTwvdGl0bGU+CiAgICAgPG1ldGEgbmFtZT0iZ2VuZXJhdG9yIiBjb250ZW50PSJMaWJ4bWwyIGRldmhlbHAgc3R5bGVzaGVldCIvPgogICAgIDxsaW5rIHJlbD0ic3RhcnQiIGhyZWY9ImluZGV4Lmh0bWwiIHRpdGxlPSJsaWJ4bWwyIFJlZmVyZW5jZSBNYW51YWwiLz4KICAgICA8bGluayByZWw9InVwIiBocmVmPSJnZW5lcmFsLmh0bWwiIHRpdGxlPSJBUEkiLz4KQEAgLTM4LDcgKzM4LDcgQEAKICAgICA8aDI+CiAgICAgICA8c3BhbiBjbGFzcz0icmVmZW50cnl0aXRsZSI+ZGljdDwvc3Bhbj4KICAgICA8L2gyPgotICAgIDxwPmRpY3QgLSBzdHJpbmcgZGljdGlvbm5hcnk8L3A+CisgICAgPHA+ZGljdCAtIHN0cmluZyBkaWN0aW9uYXJ5PC9wPgogICAgIDxwPmRpY3Rpb25hcnkgb2YgcmV1c2FibGUgc3RyaW5ncywganVzdCB1c2VkIHRvIGF2b2lkIGFsbG9jYXRpb24gYW5kIGZyZWVpbmcgb3BlcmF0aW9ucy4gPC9wPgogICAgIDxwPkF1dGhvcihzKTogRGFuaWVsIFZlaWxsYXJkIDwvcD4KICAgICA8ZGl2IGNsYXNzPSJyZWZzeW5vcHNpc2RpdiI+CkBAIC04Miw0NyArODIsNDcgQEAKICAgICAgICAgPGhyLz4KICAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sRGljdENyZWF0ZSIvPnhtbERpY3RDcmVhdGUgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLWRpY3QuaHRtbCN4bWxEaWN0UHRyIj54bWxEaWN0UHRyPC9hPgl4bWxEaWN0Q3JlYXRlCQkodm9pZCk8YnIvPgogPC9wcmU+PHA+Q3JlYXRlIGEgbmV3IGRpY3Rpb25hcnk8L3A+Ci08ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXdseSBjcmVhdGVkIGRpY3Rpb25uYXJ5LCBvciBOVUxMIGlmIGFuIGVycm9yIG9jY3VyZWQuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5ld2x5IGNyZWF0ZWQgZGljdGlvbmFyeSwgb3IgTlVMTCBpZiBhbiBlcnJvciBvY2N1cmVkLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CiAgICAgICAgIDxoci8+CiAgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbERpY3RDcmVhdGVTdWIiLz54bWxEaWN0Q3JlYXRlU3ViICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi1kaWN0Lmh0bWwjeG1sRGljdFB0ciI+eG1sRGljdFB0cjwvYT4JeG1sRGljdENyZWF0ZVN1YgkoPGEgaHJlZj0ibGlieG1sMi1kaWN0Lmh0bWwjeG1sRGljdFB0ciI+eG1sRGljdFB0cjwvYT4gc3ViKTxici8+Ci08L3ByZT48cD5DcmVhdGUgYSBuZXcgZGljdGlvbmFyeSwgaW5oZXJpdGluZyBzdHJpbmdzIGZyb20gdGhlIHJlYWQtb25seSBkaWN0aW9ubmFyeSBAc3ViLiBPbiBsb29rdXAsIHN0cmluZ3MgYXJlIGZpcnN0IHNlYXJjaGVkIGluIHRoZSBuZXcgZGljdGlvbm5hcnksIHRoZW4gaW4gQHN1YiwgYW5kIGlmIG5vdCBmb3VuZCBhcmUgY3JlYXRlZCBpbiB0aGUgbmV3IGRpY3Rpb25uYXJ5LjwvcD4KLTxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3ViPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBleGlzdGluZyBkaWN0aW9ubmFyeTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5ld2x5IGNyZWF0ZWQgZGljdGlvbm5hcnksIG9yIE5VTEwgaWYgYW4gZXJyb3Igb2NjdXJlZC48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorPC9wcmU+PHA+Q3JlYXRlIGEgbmV3IGRpY3Rpb25hcnksIGluaGVyaXRpbmcgc3RyaW5ncyBmcm9tIHRoZSByZWFkLW9ubHkgZGljdGlvbmFyeSBAc3ViLiBPbiBsb29rdXAsIHN0cmluZ3MgYXJlIGZpcnN0IHNlYXJjaGVkIGluIHRoZSBuZXcgZGljdGlvbmFyeSwgdGhlbiBpbiBAc3ViLCBhbmQgaWYgbm90IGZvdW5kIGFyZSBjcmVhdGVkIGluIHRoZSBuZXcgZGljdGlvbmFyeS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnN1YjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gZXhpc3RpbmcgZGljdGlvbmFyeTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5ld2x5IGNyZWF0ZWQgZGljdGlvbmFyeSwgb3IgTlVMTCBpZiBhbiBlcnJvciBvY2N1cmVkLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CiAgICAgICAgIDxoci8+CiAgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbERpY3RFeGlzdHMiLz54bWxEaWN0RXhpc3RzICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+Y29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXhtbERpY3RFeGlzdHMJCSg8YSBocmVmPSJsaWJ4bWwyLWRpY3QuaHRtbCN4bWxEaWN0UHRyIj54bWxEaWN0UHRyPC9hPiBkaWN0LCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIvPgkJCQkJIGludCBsZW4pPGJyLz4KLTwvcHJlPjxwPkNoZWNrIGlmIHRoZSBAbmFtZSBleGlzdHMgaW4gdGhlIGRpY3Rpb25uYXJ5IEBkaWN0LjwvcD4KLTxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZGljdDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRpY3Rpb25uYXJ5PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmFtZSBvZiB0aGUgdXNlcmRhdGE8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmxlbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGxlbmd0aCBvZiB0aGUgbmFtZSwgaWYgLTEgaXQgaXMgcmVjb21wdXRlZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGludGVybmFsIGNvcHkgb2YgdGhlIG5hbWUgb3IgTlVMTCBpZiBub3QgZm91bmQuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKzwvcHJlPjxwPkNoZWNrIGlmIHRoZSBAbmFtZSBleGlzdHMgaW4gdGhlIGRpY3Rpb25hcnkgQGRpY3QuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kaWN0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZGljdGlvbmFyeTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5hbWUgb2YgdGhlIHVzZXJkYXRhPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5sZW48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBsZW5ndGggb2YgdGhlIG5hbWUsIGlmIC0xIGl0IGlzIHJlY29tcHV0ZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBpbnRlcm5hbCBjb3B5IG9mIHRoZSBuYW1lIG9yIE5VTEwgaWYgbm90IGZvdW5kLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CiAgICAgICAgIDxoci8+CiAgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbERpY3RGcmVlIi8+eG1sRGljdEZyZWUgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbERpY3RGcmVlCQkJKDxhIGhyZWY9ImxpYnhtbDItZGljdC5odG1sI3htbERpY3RQdHIiPnhtbERpY3RQdHI8L2E+IGRpY3QpPGJyLz4KIDwvcHJlPjxwPkZyZWUgdGhlIGhhc2ggQGRpY3QgYW5kIGl0cyBjb250ZW50cy4gVGhlIHVzZXJkYXRhIGlzIGRlYWxsb2NhdGVkIHdpdGggQGYgaWYgcHJvdmlkZWQuPC9wPgotPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kaWN0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZGljdGlvbm5hcnk8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kaWN0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZGljdGlvbmFyeTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CiAgICAgICAgIDxoci8+CiAgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbERpY3RHZXRVc2FnZSIvPnhtbERpY3RHZXRVc2FnZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnNpemVfdAl4bWxEaWN0R2V0VXNhZ2UJCQkoPGEgaHJlZj0ibGlieG1sMi1kaWN0Lmh0bWwjeG1sRGljdFB0ciI+eG1sRGljdFB0cjwvYT4gZGljdCk8YnIvPgogPC9wcmU+PHA+R2V0IGhvdyBtdWNoIG1lbW9yeSBpcyB1c2VkIGJ5IGEgZGljdGlvbmFyeSBmb3Igc3RyaW5ncyBBZGRlZCBpbiAyLjkuMDwvcD4KLTxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZGljdDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRpY3Rpb25uYXJ5PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYW1vdW50IG9mIHN0cmluZ3MgYWxsb2NhdGVkPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZGljdDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRpY3Rpb25hcnk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBhbW91bnQgb2Ygc3RyaW5ncyBhbGxvY2F0ZWQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgogICAgICAgICA8aHIvPgogICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxEaWN0TG9va3VwIi8+eG1sRGljdExvb2t1cCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl4bWxEaWN0TG9va3VwCQkoPGEgaHJlZj0ibGlieG1sMi1kaWN0Lmh0bWwjeG1sRGljdFB0ciI+eG1sRGljdFB0cjwvYT4gZGljdCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyLz4JCQkJCSBpbnQgbGVuKTxici8+Ci08L3ByZT48cD5BZGQgdGhlIEBuYW1lIHRvIHRoZSBkaWN0aW9ubmFyeSBAZGljdCBpZiBub3QgcHJlc2VudC48L3A+Ci08ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRpY3Q8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkaWN0aW9ubmFyeTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5hbWUgb2YgdGhlIHVzZXJkYXRhPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5sZW48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBsZW5ndGggb2YgdGhlIG5hbWUsIGlmIC0xIGl0IGlzIHJlY29tcHV0ZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBpbnRlcm5hbCBjb3B5IG9mIHRoZSBuYW1lIG9yIE5VTEwgaW4gY2FzZSBvZiBpbnRlcm5hbCBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+Cis8L3ByZT48cD5BZGQgdGhlIEBuYW1lIHRvIHRoZSBkaWN0aW9uYXJ5IEBkaWN0IGlmIG5vdCBwcmVzZW50LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZGljdDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRpY3Rpb25hcnk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuYW1lIG9mIHRoZSB1c2VyZGF0YTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bGVuPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbGVuZ3RoIG9mIHRoZSBuYW1lLCBpZiAtMSBpdCBpcyByZWNvbXB1dGVkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgaW50ZXJuYWwgY29weSBvZiB0aGUgbmFtZSBvciBOVUxMIGluIGNhc2Ugb2YgaW50ZXJuYWwgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgogICAgICAgICA8aHIvPgogICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxEaWN0T3ducyIvPnhtbERpY3RPd25zICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbERpY3RPd25zCQkJKDxhIGhyZWY9ImxpYnhtbDItZGljdC5odG1sI3htbERpY3RQdHIiPnhtbERpY3RQdHI8L2E+IGRpY3QsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN0cik8YnIvPgogPC9wcmU+PHA+Y2hlY2sgaWYgYSBzdHJpbmcgaXMgb3duZWQgYnkgdGhlIGRpc2N0aW9uYXJ5PC9wPgotPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kaWN0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZGljdGlvbm5hcnk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnN0cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHN0cmluZzwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlLCAwIGlmIGZhbHNlIGFuZCAtMSBpbiBjYXNlIG9mIGVycm9yIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kaWN0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZGljdGlvbmFyeTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3RyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc3RyaW5nPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUsIDAgaWYgZmFsc2UgYW5kIC0xIGluIGNhc2Ugb2YgZXJyb3IgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CiAgICAgICAgIDxoci8+CiAgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbERpY3RRTG9va3VwIi8+eG1sRGljdFFMb29rdXAgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5jb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJeG1sRGljdFFMb29rdXAJCSg8YSBocmVmPSJsaWJ4bWwyLWRpY3QuaHRtbCN4bWxEaWN0UHRyIj54bWxEaWN0UHRyPC9hPiBkaWN0LCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBwcmVmaXgsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUpPGJyLz4KIDwvcHJlPjxwPkFkZCB0aGUgUU5hbWUgQHByZWZpeDpAbmFtZSB0byB0aGUgaGFzaCBAZGljdCBpZiBub3QgcHJlc2VudC48L3A+Ci08ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRpY3Q8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkaWN0aW9ubmFyeTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cHJlZml4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcHJlZml4PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGludGVybmFsIGNvcHkgb2YgdGhlIFFOYW1lIG9yIE5VTEwgaW4gY2FzZSBvZiBpbnRlcm5hbCBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRpY3Q8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkaWN0aW9uYXJ5PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5wcmVmaXg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBwcmVmaXg8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgaW50ZXJuYWwgY29weSBvZiB0aGUgUU5hbWUgb3IgTlVMTCBpbiBjYXNlIG9mIGludGVybmFsIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KICAgICAgICAgPGhyLz4KICAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sRGljdFJlZmVyZW5jZSIvPnhtbERpY3RSZWZlcmVuY2UgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sRGljdFJlZmVyZW5jZQkJKDxhIGhyZWY9ImxpYnhtbDItZGljdC5odG1sI3htbERpY3RQdHIiPnhtbERpY3RQdHI8L2E+IGRpY3QpPGJyLz4KIDwvcHJlPjxwPkluY3JlbWVudCB0aGUgPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNyZWZlcmVuY2UiPnJlZmVyZW5jZTwvYT4gY291bnRlciBvZiBhIGRpY3Rpb25hcnk8L3A+Ci08ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRpY3Q8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkaWN0aW9ubmFyeTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCBpbiBjYXNlIG9mIHN1Y2Nlc3MgYW5kIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kaWN0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZGljdGlvbmFyeTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCBpbiBjYXNlIG9mIHN1Y2Nlc3MgYW5kIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgogICAgICAgICA8aHIvPgogICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxEaWN0U2V0TGltaXQiLz54bWxEaWN0U2V0TGltaXQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5zaXplX3QJeG1sRGljdFNldExpbWl0CQkJKDxhIGhyZWY9ImxpYnhtbDItZGljdC5odG1sI3htbERpY3RQdHIiPnhtbERpY3RQdHI8L2E+IGRpY3QsIDxici8+CQkJCQkgc2l6ZV90IGxpbWl0KTxici8+CiA8L3ByZT48cD5TZXQgYSBzaXplIGxpbWl0IGZvciB0aGUgZGljdGlvbmFyeSBBZGRlZCBpbiAyLjkuMDwvcD4KLTxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZGljdDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRpY3Rpb25uYXJ5PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5saW1pdDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGxpbWl0IGluIGJ5dGVzPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcHJldmlvdXMgbGltaXQgb2YgdGhlIGRpY3Rpb25hcnkgb3IgMDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRpY3Q8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkaWN0aW9uYXJ5PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5saW1pdDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGxpbWl0IGluIGJ5dGVzPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcHJldmlvdXMgbGltaXQgb2YgdGhlIGRpY3Rpb25hcnkgb3IgMDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CiAgICAgICAgIDxoci8+CiAgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbERpY3RTaXplIi8+eG1sRGljdFNpemUgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sRGljdFNpemUJCQkoPGEgaHJlZj0ibGlieG1sMi1kaWN0Lmh0bWwjeG1sRGljdFB0ciI+eG1sRGljdFB0cjwvYT4gZGljdCk8YnIvPgogPC9wcmU+PHA+UXVlcnkgdGhlIG51bWJlciBvZiBlbGVtZW50cyBpbnN0YWxsZWQgaW4gdGhlIGhhc2ggQGRpY3QuPC9wPgotPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kaWN0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZGljdGlvbm5hcnk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBudW1iZXIgb2YgZWxlbWVudHMgaW4gdGhlIGRpY3Rpb25uYXJ5IG9yIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kaWN0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZGljdGlvbmFyeTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciBvZiBlbGVtZW50cyBpbiB0aGUgZGljdGlvbmFyeSBvciAtMSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KICAgICAgICAgPGhyLz4KICAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sSW5pdGlhbGl6ZURpY3QiLz54bWxJbml0aWFsaXplRGljdCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxJbml0aWFsaXplRGljdAkJKHZvaWQpPGJyLz4KIDwvcHJlPjxwPkRvIHRoZSBkaWN0aW9uYXJ5IG11dGV4IGluaXRpYWxpemF0aW9uLiB0aGlzIGZ1bmN0aW9uIGlzIGRlcHJlY2F0ZWQ8L3A+CmRpZmYgLS1naXQgYS9kb2MvZGV2aGVscC9saWJ4bWwyLXBhcnNlci5odG1sIGIvZG9jL2RldmhlbHAvbGlieG1sMi1wYXJzZXIuaHRtbAppbmRleCAzNTdjMTRhLi5jNzQwNTU0IDEwMDY0NAotLS0gYS9kb2MvZGV2aGVscC9saWJ4bWwyLXBhcnNlci5odG1sCisrKyBiL2RvYy9kZXZoZWxwL2xpYnhtbDItcGFyc2VyLmh0bWwKQEAgLTMwMCw3ICszMDAsNyBAQAogICAgIDxhIG5hbWU9IlhNTF9QQVJTRV9TQVgxIj5YTUxfUEFSU0VfU0FYMTwvYT4gPSA1MTIgLyogdXNlIHRoZSBTQVgxIGludGVyZmFjZSBpbnRlcm5hbGx5ICovCiAgICAgPGEgbmFtZT0iWE1MX1BBUlNFX1hJTkNMVURFIj5YTUxfUEFSU0VfWElOQ0xVREU8L2E+ID0gMTAyNCAvKiBJbXBsZW1lbnQgWEluY2x1ZGUgc3Vic3RpdGl0aW9uICovCiAgICAgPGEgbmFtZT0iWE1MX1BBUlNFX05PTkVUIj5YTUxfUEFSU0VfTk9ORVQ8L2E+ID0gMjA0OCAvKiBGb3JiaWQgbmV0d29yayBhY2Nlc3MgKi8KLSAgICA8YSBuYW1lPSJYTUxfUEFSU0VfTk9ESUNUIj5YTUxfUEFSU0VfTk9ESUNUPC9hPiA9IDQwOTYgLyogRG8gbm90IHJldXNlIHRoZSBjb250ZXh0IGRpY3Rpb25uYXJ5ICovCisgICAgPGEgbmFtZT0iWE1MX1BBUlNFX05PRElDVCI+WE1MX1BBUlNFX05PRElDVDwvYT4gPSA0MDk2IC8qIERvIG5vdCByZXVzZSB0aGUgY29udGV4dCBkaWN0aW9uYXJ5ICovCiAgICAgPGEgbmFtZT0iWE1MX1BBUlNFX05TQ0xFQU4iPlhNTF9QQVJTRV9OU0NMRUFOPC9hPiA9IDgxOTIgLyogcmVtb3ZlIHJlZHVuZGFudCBuYW1lc3BhY2VzIGRlY2xhcmF0aW9ucyAqLwogICAgIDxhIG5hbWU9IlhNTF9QQVJTRV9OT0NEQVRBIj5YTUxfUEFSU0VfTk9DREFUQTwvYT4gPSAxNjM4NCAvKiBtZXJnZSBDREFUQSBhcyB0ZXh0IG5vZGVzICovCiAgICAgPGEgbmFtZT0iWE1MX1BBUlNFX05PWElOQ05PREUiPlhNTF9QQVJTRV9OT1hJTkNOT0RFPC9hPiA9IDMyNzY4IC8qIGRvIG5vdCBnZW5lcmF0ZSBYSU5DTFVERSBTVEFSVC9FTkQgbm9kZXMgKi8KZGlmZiAtLWdpdCBhL2RvYy9kZXZoZWxwL2xpYnhtbDItdHJlZS5odG1sIGIvZG9jL2RldmhlbHAvbGlieG1sMi10cmVlLmh0bWwKaW5kZXggNWY4ZDFmMi4uYWM4NWQ2MCAxMDA2NDQKLS0tIGEvZG9jL2RldmhlbHAvbGlieG1sMi10cmVlLmh0bWwKKysrIGIvZG9jL2RldmhlbHAvbGlieG1sMi10cmVlLmh0bWwKQEAgLTc4Miw3ICs3ODIsNyBAQAogICAgIHZvaWQgKgljYXRhbG9ncwk6IGRvY3VtZW50J3Mgb3duIGNhdGFsb2cKICAgICBpbnQJcmVjb3ZlcnkJOiBydW4gaW4gcmVjb3ZlcnkgbW9kZQogICAgIGludAlwcm9ncmVzc2l2ZQk6IGlzIHRoaXMgYSBwcm9ncmVzc2l2ZSBwYXJzaW5nCi0gICAgPGEgaHJlZj0ibGlieG1sMi1kaWN0Lmh0bWwjeG1sRGljdFB0ciI+eG1sRGljdFB0cjwvYT4JZGljdAk6IGRpY3Rpb25uYXJ5IGZvciB0aGUgcGFyc2VyCisgICAgPGEgaHJlZj0ibGlieG1sMi1kaWN0Lmh0bWwjeG1sRGljdFB0ciI+eG1sRGljdFB0cjwvYT4JZGljdAk6IGRpY3Rpb25hcnkgZm9yIHRoZSBwYXJzZXIKICAgICBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogKglhdHRzCTogYXJyYXkgZm9yIHRoZSBhdHRyaWJ1dGVzIGNhbGxiYWNrcwogICAgIGludAltYXhhdHRzCTogdGhlIHNpemUgb2YgdGhlIGFycmF5CiAgICAgaW50CWRvY2RpY3QJOiAqIHByZS1pbnRlcm5lZCBzdHJpbmdzICoKZGlmZiAtLWdpdCBhL2RvYy9kZXZoZWxwL2xpYnhtbDIteG1sbWVtb3J5Lmh0bWwgYi9kb2MvZGV2aGVscC9saWJ4bWwyLXhtbG1lbW9yeS5odG1sCmluZGV4IDg2MTA1MzguLmJmNDAwZDAgMTAwNjQ0Ci0tLSBhL2RvYy9kZXZoZWxwL2xpYnhtbDIteG1sbWVtb3J5Lmh0bWwKKysrIGIvZG9jL2RldmhlbHAvbGlieG1sMi14bWxtZW1vcnkuaHRtbApAQCAtMTE4LDcgKzExOCw3IEBACiAgICAgICAgIDxoci8+CiAgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbE1hbGxvY0F0b21pY0xvYyIvPnhtbE1hbGxvY0F0b21pY0xvYyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQgKgl4bWxNYWxsb2NBdG9taWNMb2MJCShzaXplX3Qgc2l6ZSwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogZmlsZSwgPGJyLz4JCQkJCSBpbnQgbGluZSk8YnIvPgogPC9wcmU+PHA+YSBtYWxsb2MoKSBlcXVpdmFsZW50LCB3aXRoIGxvZ2dpbmcgb2YgdGhlIGFsbG9jYXRpb24gaW5mby48L3A+Ci08ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnNpemU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIGludCBzcGVjaWZ5aW5nIHRoZSBzaXplIGluIGJ5dGUgdG8gYWxsb2NhdGUuPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5maWxlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZmlsZSBuYW1lIG9yIE5VTEw8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmxpbmU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBsaW5lIG51bWJlcjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBwb2ludGVyIHRvIHRoZSBhbGxvY2F0ZWQgYXJlYSBvciBOVUxMIGluIGNhc2Ugb2YgbGFjayBvZiBtZW1vcnkuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c2l6ZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gdW5zaWduZWQgaW50IHNwZWNpZnlpbmcgdGhlIHNpemUgaW4gYnl0ZSB0byBhbGxvY2F0ZS48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZpbGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBmaWxlIG5hbWUgb3IgTlVMTDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bGluZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGxpbmUgbnVtYmVyPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHBvaW50ZXIgdG8gdGhlIGFsbG9jYXRlZCBhcmVhIG9yIE5VTEwgaW4gY2FzZSBvZiBsYWNrIG9mIG1lbW9yeS48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgogICAgICAgICA8aHIvPgogICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxNYWxsb2NMb2MiLz54bWxNYWxsb2NMb2MgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkICoJeG1sTWFsbG9jTG9jCQkJKHNpemVfdCBzaXplLCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBmaWxlLCA8YnIvPgkJCQkJIGludCBsaW5lKTxici8+CiA8L3ByZT48cD5hIG1hbGxvYygpIGVxdWl2YWxlbnQsIHdpdGggbG9nZ2luZyBvZiB0aGUgYWxsb2NhdGlvbiBpbmZvLjwvcD4KZGlmZiAtLWdpdCBhL2RvYy9kZXZoZWxwL2xpYnhtbDIteG1scmVnZXhwLmh0bWwgYi9kb2MvZGV2aGVscC9saWJ4bWwyLXhtbHJlZ2V4cC5odG1sCmluZGV4IDk0MjdhMzQuLjhkNWM4MGUgMTAwNjQ0Ci0tLSBhL2RvYy9kZXZoZWxwL2xpYnhtbDIteG1scmVnZXhwLmh0bWwKKysrIGIvZG9jL2RldmhlbHAvbGlieG1sMi14bWxyZWdleHAuaHRtbApAQCAtMjAwLDcgKzIwMCw3IEBACiAgICAgICAgIDxoci8+CiAgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEV4cE5ld0N0eHQiLz54bWxFeHBOZXdDdHh0ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi14bWxyZWdleHAuaHRtbCN4bWxFeHBDdHh0UHRyIj54bWxFeHBDdHh0UHRyPC9hPgl4bWxFeHBOZXdDdHh0CQkoaW50IG1heE5vZGVzLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItZGljdC5odG1sI3htbERpY3RQdHIiPnhtbERpY3RQdHI8L2E+IGRpY3QpPGJyLz4KIDwvcHJlPjxwPkNyZWF0ZXMgYSBuZXcgY29udGV4dCBmb3IgbWFuaXB1bGF0aW5nIGV4cHJlc3Npb25zPC9wPgotPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5tYXhOb2RlczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG1heGltdW0gbnVtYmVyIG9mIG5vZGVzPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kaWN0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5vcHRpb25hbCBkaWN0aW9ubmFyeSB0byB1c2UgaW50ZXJuYWxseTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGNvbnRleHQgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bWF4Tm9kZXM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBtYXhpbXVtIG51bWJlciBvZiBub2RlczwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZGljdDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+b3B0aW9uYWwgZGljdGlvbmFyeSB0byB1c2UgaW50ZXJuYWxseTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGNvbnRleHQgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KICAgICAgICAgPGhyLz4KICAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sRXhwTmV3T3IiLz54bWxFeHBOZXdPciAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteG1scmVnZXhwLmh0bWwjeG1sRXhwTm9kZVB0ciI+eG1sRXhwTm9kZVB0cjwvYT4JeG1sRXhwTmV3T3IJCSg8YSBocmVmPSJsaWJ4bWwyLXhtbHJlZ2V4cC5odG1sI3htbEV4cEN0eHRQdHIiPnhtbEV4cEN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxyZWdleHAuaHRtbCN4bWxFeHBOb2RlUHRyIj54bWxFeHBOb2RlUHRyPC9hPiBsZWZ0LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteG1scmVnZXhwLmh0bWwjeG1sRXhwTm9kZVB0ciI+eG1sRXhwTm9kZVB0cjwvYT4gcmlnaHQpPGJyLz4KIDwvcHJlPjxwPkdldCB0aGUgYXRvbSBhc3NvY2lhdGVkIHRvIHRoZSBjaG9pY2UgQGxlZnQgfCBAcmlnaHQgTm90ZSB0aGF0IEBsZWZ0IGFuZCBAcmlnaHQgYXJlIGNvbnN1bWVkIGluIHRoZSBvcGVyYXRpb24sIHRvIGtlZXAgYW4gaGFuZGxlIG9uIHRoZW0gdXNlIHhtbEV4cFJlZigpIGFuZCB1c2UgeG1sRXhwRnJlZSgpIHRvIHJlbGVhc2UgdGhlbSwgdGhpcyBpcyB0cnVlIGV2ZW4gaW4gY2FzZSBvZiBmYWlsdXJlICh1bmxlc3MgY3R4dCA9PSBOVUxMKS48L3A+CmRpZmYgLS1naXQgYS9kb2MvZGV2aGVscC9saWJ4bWwyLXhtbHN0cmluZy5odG1sIGIvZG9jL2RldmhlbHAvbGlieG1sMi14bWxzdHJpbmcuaHRtbAppbmRleCA2ZGZjNzBiLi5jYTkwZWQ0IDEwMDY0NAotLS0gYS9kb2MvZGV2aGVscC9saWJ4bWwyLXhtbHN0cmluZy5odG1sCisrKyBiL2RvYy9kZXZoZWxwL2xpYnhtbDIteG1sc3RyaW5nLmh0bWwKQEAgLTQ5LDcgKzQ5LDcgQEAKIDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgk8YSBocmVmPSIjeG1sQ2hhclN0cm5kdXAiPnhtbENoYXJTdHJuZHVwPC9hPgkJKGNvbnN0IGNoYXIgKiBjdXIsIDxici8+CQkJCQkgaW50IGxlbik7CiBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJPGEgaHJlZj0iI3htbFN0cmNhc2VzdHIiPnhtbFN0cmNhc2VzdHI8L2E+CQkoY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN0ciwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsKTsKIDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgk8YSBocmVmPSIjeG1sU3RyY2F0Ij54bWxTdHJjYXQ8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGN1ciwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogYWRkKTsKLWludAk8YSBocmVmPSIjeG1sU3RyUHJpbnRmIj54bWxTdHJQcmludGY8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBidWYsIDxici8+CQkJCQkgaW50IGxlbiwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbXNnLCA8YnIvPgkJCQkJIC4uLiAuLi4pOworaW50CTxhIGhyZWY9IiN4bWxTdHJQcmludGYiPnhtbFN0clByaW50ZjwvYT4JCQkoPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGJ1ZiwgPGJyLz4JCQkJCSBpbnQgbGVuLCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBtc2csIDxici8+CQkJCQkgLi4uIC4uLik7CiBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJPGEgaHJlZj0iI3htbFN0cnN0ciI+eG1sU3Ryc3RyPC9hPgkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzdHIsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHZhbCk7CiBpbnQJPGEgaHJlZj0iI3htbFVURjhTaXplIj54bWxVVEY4U2l6ZTwvYT4JCQkoY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHV0Zik7CiBpbnQJPGEgaHJlZj0iI3htbFN0clFFcXVhbCI+eG1sU3RyUUVxdWFsPC9hPgkJCShjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcHJlZiwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3RyKTsKQEAgLTY1LDcgKzY1LDcgQEAKIGludAk8YSBocmVmPSIjeG1sR2V0VVRGOENoYXIiPnhtbEdldFVURjhDaGFyPC9hPgkJCShjb25zdCB1bnNpZ25lZCBjaGFyICogdXRmLCA8YnIvPgkJCQkJIGludCAqIGxlbik7CiBpbnQJPGEgaHJlZj0iI3htbFN0cmNhc2VjbXAiPnhtbFN0cmNhc2VjbXA8L2E+CQkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzdHIxLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzdHIyKTsKIDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgk8YSBocmVmPSIjeG1sU3RybmR1cCI+eG1sU3RybmR1cDwvYT4JCShjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY3VyLCA8YnIvPgkJCQkJIGludCBsZW4pOwotaW50CTxhIGhyZWY9IiN4bWxTdHJWUHJpbnRmIj54bWxTdHJWUHJpbnRmPC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogYnVmLCA8YnIvPgkJCQkJIGludCBsZW4sIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG1zZywgPGJyLz4JCQkJCSB2YV9saXN0IGFwKTsKK2ludAk8YSBocmVmPSIjeG1sU3RyVlByaW50ZiI+eG1sU3RyVlByaW50ZjwvYT4JCQkoPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGJ1ZiwgPGJyLz4JCQkJCSBpbnQgbGVuLCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBtc2csIDxici8+CQkJCQkgdmFfbGlzdCBhcCk7CiBpbnQJPGEgaHJlZj0iI3htbFVURjhTdHJzaXplIj54bWxVVEY4U3Ryc2l6ZTwvYT4JCQkoY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHV0ZiwgPGJyLz4JCQkJCSBpbnQgbGVuKTsKIGludAk8YSBocmVmPSIjeG1sQ2hlY2tVVEY4Ij54bWxDaGVja1VURjg8L2E+CQkJKGNvbnN0IHVuc2lnbmVkIGNoYXIgKiB1dGYpOwogaW50CTxhIGhyZWY9IiN4bWxTdHJuY2FzZWNtcCI+eG1sU3RybmNhc2VjbXA8L2E+CQkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzdHIxLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzdHIyLCA8YnIvPgkJCQkJIGludCBsZW4pOwpAQCAtMTExLDcgKzExMSw3IEBACiA8L3ByZT48cD5DaGVjayBpZiBib3RoIHN0cmluZ3MgYXJlIGVxdWFsIG9mIGhhdmUgc2FtZSBjb250ZW50LiBTaG91bGQgYmUgYSBiaXQgbW9yZSByZWFkYWJsZSBhbmQgZmFzdGVyIHRoYW4geG1sU3RyY21wKCk8L3A+CiA8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnN0cjE8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBmaXJzdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnN0cjI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzZWNvbmQgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRoZXkgYXJlIGVxdWFsLCAwIGlmIHRoZXkgYXJlIGRpZmZlcmVudDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CiAgICAgICAgIDxoci8+Ci0gICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFN0clByaW50ZiIvPnhtbFN0clByaW50ZiAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxTdHJQcmludGYJCQkoPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGJ1ZiwgPGJyLz4JCQkJCSBpbnQgbGVuLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBtc2csIDxici8+CQkJCQkgLi4uIC4uLik8YnIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTdHJQcmludGYiLz54bWxTdHJQcmludGYgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sU3RyUHJpbnRmCQkJKDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBidWYsIDxici8+CQkJCQkgaW50IGxlbiwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogbXNnLCA8YnIvPgkJCQkJIC4uLiAuLi4pPGJyLz4KIDwvcHJlPjxwPkZvcm1hdHMgQG1zZyBhbmQgcGxhY2VzIHJlc3VsdCBpbnRvIEBidWYuPC9wPgogPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5idWY8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSByZXN1bHQgYnVmZmVyLjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bGVuPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcmVzdWx0IGJ1ZmZlciBsZW5ndGguPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5tc2c8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBtZXNzYWdlIHdpdGggcHJpbnRmIGZvcm1hdHRpbmcuPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD4uLi48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmV4dHJhIHBhcmFtZXRlcnMgZm9yIHRoZSBtZXNzYWdlLjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciBvZiA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2NoYXJhY3RlcnMiPmNoYXJhY3RlcnM8L2E+IHdyaXR0ZW4gdG8gQGJ1ZiBvciAtMSBpZiBhbiBlcnJvciBvY2N1cnMuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KICAgICAgICAgPGhyLz4KQEAgLTExOSw3ICsxMTksNyBAQAogPC9wcmU+PHA+Q2hlY2sgaWYgYSBRTmFtZSBpcyBFcXVhbCB0byBhIGdpdmVuIHN0cmluZzwvcD4KIDxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cHJlZjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHByZWZpeCBvZiB0aGUgUU5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBsb2NhbG5hbWUgb2YgdGhlIFFOYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zdHI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzZWNvbmQgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRoZXkgYXJlIGVxdWFsLCAwIGlmIHRoZXkgYXJlIGRpZmZlcmVudDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CiAgICAgICAgIDxoci8+Ci0gICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFN0clZQcmludGYiLz54bWxTdHJWUHJpbnRmICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFN0clZQcmludGYJCQkoPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGJ1ZiwgPGJyLz4JCQkJCSBpbnQgbGVuLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBtc2csIDxici8+CQkJCQkgdmFfbGlzdCBhcCk8YnIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTdHJWUHJpbnRmIi8+eG1sU3RyVlByaW50ZiAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxTdHJWUHJpbnRmCQkJKDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBidWYsIDxici8+CQkJCQkgaW50IGxlbiwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogbXNnLCA8YnIvPgkJCQkJIHZhX2xpc3QgYXApPGJyLz4KIDwvcHJlPjxwPkZvcm1hdHMgQG1zZyBhbmQgcGxhY2VzIHJlc3VsdCBpbnRvIEBidWYuPC9wPgogPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5idWY8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSByZXN1bHQgYnVmZmVyLjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bGVuPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcmVzdWx0IGJ1ZmZlciBsZW5ndGguPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5tc2c8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBtZXNzYWdlIHdpdGggcHJpbnRmIGZvcm1hdHRpbmcuPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5hcDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+ZXh0cmEgcGFyYW1ldGVycyBmb3IgdGhlIG1lc3NhZ2UuPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIDxhIGhyZWY9ImxpYnhtbDItU0FYLmh0bWwjY2hhcmFjdGVycyI+Y2hhcmFjdGVyczwvYT4gd3JpdHRlbiB0byBAYnVmIG9yIC0xIGlmIGFuIGVycm9yIG9jY3Vycy48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgogICAgICAgICA8aHIvPgpkaWZmIC0tZ2l0IGEvZG9jL2RvY2Rlc2NyLmRvYyBiL2RvYy9kb2NkZXNjci5kb2MKaW5kZXggNDI3YTFmZi4uM2ZlYzk0YSAxMDA2NDQKLS0tIGEvZG9jL2RvY2Rlc2NyLmRvYworKysgYi9kb2MvZG9jZGVzY3IuZG9jCkBAIC0yOSw3ICsyOSw3IEBACiB3M2MucG5nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLQogCiBhcGlidWlsZC5weSAgICAgICAgUHl0aG9uIHNjcmlwdCB3aGljaCBnZW5lcmF0ZXMgdGhlIGZpbGUgbGlieG1sMi1hcGkueG1sCi1wYXJzZWRlY2wucHkgICAgICAgUHl0aG9uIHNlY2lwdCB3aGljaCBnZW5lcmF0ZXMgdGhlIGZpbGUgbGlieG1sMi1yZWZzLnhtbAorcGFyc2VkZWNsLnB5ICAgICAgIFB5dGhvbiBzY3JpcHQgd2hpY2ggZ2VuZXJhdGVzIHRoZSBmaWxlIGxpYnhtbDItcmVmcy54bWwKIAogYXBpLnhzbCAgICAgICAgICAgIHhzbHQgc2NyaXB0IHRvIGdlbmVyYXRlIEFQSSBjcm9zcy1yZWZlcmVuY2VzIEFQSWNodW5rKi5odG1sCiAgICAgICAgICAgICAgICAgICAgICB1c2luZyBpbmZvcm1hdGlvbiBmcm9tIGxpYnhtbDItYXBpLnhtbCBhbmQgbGlieG1sMi1yZWZzLnhtbApkaWZmIC0tZ2l0IGEvZG9jL2V4YW1wbGVzL2lvMS5yZXMgYi9kb2MvZXhhbXBsZXMvaW8xLnJlcwppbmRleCBhZGY2NWM3Li40YTRjMDM2IDEwMDY0NAotLS0gYS9kb2MvZXhhbXBsZXMvaW8xLnJlcworKysgYi9kb2MvZXhhbXBsZXMvaW8xLnJlcwpAQCAtMSw1ICsxLDUgQEAKIDw/eG1sIHZlcnNpb249IjEuMCI/PgogPGRvY3VtZW50IHhtbG5zOnhpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAzL1hJbmNsdWRlIj4KICAgPHA+TGlzdCBvZiBwZW9wbGU6PC9wPgotICA8bGlzdCB4bWw6YmFzZT0ic3FsOi8vc2VsZWN0X25hbWVfZnJvbV9wZW9wbGUiPjxwZW9wbGU+YTwvcGVvcGxlPjxwZW9wbGU+YjwvcGVvcGxlPjwvbGlzdD4KKyAgPGxpc3Q+PHBlb3BsZT5hPC9wZW9wbGU+PHBlb3BsZT5iPC9wZW9wbGU+PC9saXN0PgogPC9kb2N1bWVudD4KZGlmZiAtLWdpdCBhL2RvYy9odG1sL2Jvb2sxLmh0bWwgYi9kb2MvaHRtbC9ib29rMS5odG1sCmluZGV4IDFhNTgyMTAuLjQyZDcxYTYgMTAwNjQ0Ci0tLSBhL2RvYy9odG1sL2Jvb2sxLmh0bWwKKysrIGIvZG9jL2h0bWwvYm9vazEuaHRtbApAQCAtMTAsNCArMTAsNCBAQAogPC9zdHlsZT48c3R5bGUgdHlwZT0idGV4dC9jc3MiPgogICAgICAgZGl2LmRlcHJlY2F0ZWQgcHJlLnByb2dyYW1saXN0aW5nIHtib3JkZXItc3R5bGU6IGRvdWJsZTtib3JkZXItY29sb3I6cmVkfQogICAgICAgcHJlLnByb2dyYW1saXN0aW5nIHtib3JkZXItc3R5bGU6IGRvdWJsZTtiYWNrZ3JvdW5kOiAjRUVDRkExfQotICAgIDwvc3R5bGU+PHRpdGxlPlJlZmVyZW5jZSBNYW51YWwgZm9yIGxpYnhtbDI8L3RpdGxlPjwvaGVhZD48Ym9keSBiZ2NvbG9yPSIjOGI3NzY1IiB0ZXh0PSIjMDAwMDAwIiBsaW5rPSIjYTA2MDYwIiB2bGluaz0iIzAwMDAwMCI+PHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjEwMCUiIGNlbGxwYWRkaW5nPSI1IiBjZWxsc3BhY2luZz0iMCIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCB3aWR0aD0iMTIwIj48YSBocmVmPSJodHRwOi8vc3dwYXQuZmZpaS5vcmcvIj48aW1nIHNyYz0iLi4vZXBhdGVudHMucG5nIiBhbHQ9IkFjdGlvbiBhZ2FpbnN0IHNvZnR3YXJlIHBhdGVudHMiIC8+PC9hPjwvdGQ+PHRkIHdpZHRoPSIxODAiPjxhIGhyZWY9Imh0dHA6Ly93d3cuZ25vbWUub3JnLyI+PGltZyBzcmM9Ii4uL2dub21lMi5wbmciIGFsdD0iR25vbWUyIExvZ28iIC8+PC9hPjxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1N0YXR1cyI+PGltZyBzcmM9Ii4uL3czYy5wbmciIGFsdD0iVzNDIExvZ28iIC8+PC9hPjxhIGhyZWY9Imh0dHA6Ly93d3cucmVkaGF0LmNvbS8iPjxpbWcgc3JjPSIuLi9yZWRoYXQuZ2lmIiBhbHQ9IlJlZCBIYXQgTG9nbyIgLz48L2E+PGRpdiBhbGlnbj0ibGVmdCI+PGEgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnLyI+PGltZyBzcmM9Ii4uL0xpYnhtbDItTG9nby0xODB4MTY4LmdpZiIgYWx0PSJNYWRlIHdpdGggTGlieG1sMiBMb2dvIiAvPjwvYT48L2Rpdj48L3RkPjx0ZD48dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iOTAlIiBjZWxscGFkZGluZz0iMiIgY2VsbHNwYWNpbmc9IjAiIGFsaWduPSJjZW50ZXIiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyIgYmdjb2xvcj0iI2ZmZmFjZCI+PHRyPjx0ZCBhbGlnbj0iY2VudGVyIj48aDE+PC9oMT48aDI+UmVmZXJlbmNlIE1hbnVhbCBmb3IgbGlieG1sMjwvaDI+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjQiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjIiIHdpZHRoPSIxMDAlIj48dHI+PHRkIHZhbGlnbj0idG9wIiB3aWR0aD0iMjAwIiBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5BUEkgTWVudTwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48Zm9ybSBhY3Rpb249Ii4uL3NlYXJjaC5waHAiIGVuY3R5cGU9ImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCIgbWV0aG9kPSJnZXQiPjxpbnB1dCBuYW1lPSJxdWVyeSIgdHlwZT0idGV4dCIgc2l6ZT0iMjAiIHZhbHVlPSIiIC8+PGlucHV0IG5hbWU9InN1Ym1pdCIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iU2VhcmNoIC4uLiIgLz48L2Zvcm0+PHVsPjxsaT48YSBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCIgaHJlZj0iLi4vaW5kZXguaHRtbCI+TWFpbiBNZW51PC9hPjwvbGk+PGxpPjxhIHN0eWxlPSJmb250LXdlaWdodDpib2xkIiBocmVmPSIuLi9kb2NzLmh0bWwiPkRldmVsb3BlciBNZW51PC9hPjwvbGk+PGxpPjxhIHN0eWxlPSJmb250LXdlaWdodDpib2xkIiBocmVmPSIuLi9leGFtcGxlcy9pbmRleC5odG1sIj5Db2RlIEV4YW1wbGVzPC9hPjwvbGk+PGxpPjxhIHN0eWxlPSJmb250LXdlaWdodDpib2xkIiBocmVmPSJpbmRleC5odG1sIj5BUEkgTWVudTwvYT48L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtcGFyc2VyLmh0bWwiPlBhcnNlciBBUEk8L2E+PC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCI+VHJlZSBBUEk8L2E+PC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sIj5SZWFkZXIgQVBJPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL2d1aWRlbGluZXMuaHRtbCI+WE1MIEd1aWRlbGluZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQ2hhbmdlTG9nLmh0bWwiPkNoYW5nZUxvZzwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPkFQSSBJbmRleGVzPC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx1bD48bGk+PGEgaHJlZj0iLi4vQVBJY2h1bmswLmh0bWwiPkFscGhhYmV0aWM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQVBJY29uc3RydWN0b3JzLmh0bWwiPkNvbnN0cnVjdG9yczwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9BUElmdW5jdGlvbnMuaHRtbCI+RnVuY3Rpb25zL1R5cGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0FQSWZpbGVzLmh0bWwiPk1vZHVsZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQVBJc3ltYm9scy5odG1sIj5TeW1ib2xzPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+UmVsYXRlZCBsaW5rczwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48dWw+PGxpPjxhIGhyZWY9Imh0dHA6Ly9tYWlsLmdub21lLm9yZy9hcmNoaXZlcy94bWwvIj5NYWlsIGFyY2hpdmU8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnL1hTTFQvIj5YU0xUIGxpYnhzbHQ8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3BoZC5jcy51bmliby5pdC9nZG9tZTIvIj5ET00gZ2RvbWUyPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuYWxla3NleS5jb20veG1sc2VjLyI+WE1MLURTaWcgeG1sc2VjPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImZ0cDovL3htbHNvZnQub3JnLyI+RlRQPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuemxhdGtvdmljLmNvbS9wcm9qZWN0cy9saWJ4bWwvIj5XaW5kb3dzIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9vcGVuY3N3Lm9yZy9wYWNrYWdlcy9saWJ4bWwyIj5Tb2xhcmlzIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuZXhwbGFpbi5jb20uYXUvb3NzL2xpYnhtbDJ4c2x0Lmh0bWwiPk1hY09zWCBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbHhtbC5kZS8iPmx4bWwgUHl0aG9uIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9jcGFuLnV3aW5uaXBlZy5jYS9kaXN0L1hNTC1MaWJYTUwiPlBlcmwgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2xpYnhtbHBsdXNwbHVzLnNvdXJjZWZvcmdlLm5ldC8iPkMrKyBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LnplbmQuY29tL3BocDUvYXJ0aWNsZXMvcGhwNS14bWxwaHAucGhwI0hlYWRpbmc0Ij5QSFAgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9saWJ4bWwyLXBhcy8iPlBhc2NhbCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbGlieG1sLnJ1Ynlmb3JnZS5vcmcvIj5SdWJ5IGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly90Y2x4bWwuc291cmNlZm9yZ2UubmV0LyI+VGNsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9idWd6aWxsYS5nbm9tZS5vcmcvYnVnbGlzdC5jZ2k/cHJvZHVjdD1saWJ4bWwyIj5CdWcgVHJhY2tlcjwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48dGQgdmFsaWduPSJ0b3AiIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMyIgY2VsbHNwYWNpbmc9IjEiIHdpZHRoPSIxMDAlIj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjxoMj5UYWJsZSBvZiBDb250ZW50czwvaDI+PHVsPjxsaT48YSBocmVmPSJsaWJ4bWwtRE9DQnBhcnNlci5odG1sIj5ET0NCcGFyc2VyPC9hPjogb2xkIERvY0Jvb2sgU0dNTCBwYXJzZXI8L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtSFRNTHBhcnNlci5odG1sIj5IVE1McGFyc2VyPC9hPjogaW50ZXJmYWNlIGZvciBhbiBIVE1MIDQuMCBub24tdmVyaWZ5aW5nIHBhcnNlcjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC1IVE1MdHJlZS5odG1sIj5IVE1MdHJlZTwvYT46IHNwZWNpZmljIEFQSXMgdG8gcHJvY2VzcyBIVE1MIHRyZWUsIGVzcGVjaWFsbHkgc2VyaWFsaXphdGlvbjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCI+U0FYPC9hPjogT2xkIFNBWCB2ZXJzaW9uIDEgaGFuZGxlciwgZGVwcmVjYXRlZDwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC1TQVgyLmh0bWwiPlNBWDI8L2E+OiBTQVgyIHBhcnNlciBpbnRlcmZhY2UgdXNlZCB0byBidWlsZCB0aGUgRE9NIHRyZWU8L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtYzE0bi5odG1sIj5jMTRuPC9hPjogUHJvdmlkZSBDYW5vbmljYWwgWE1MIGFuZCBFeGNsdXNpdmUgWE1MIENhbm9uaWNhbGl6YXRpb248L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtY2F0YWxvZy5odG1sIj5jYXRhbG9nPC9hPjogaW50ZXJmYWNlcyB0byB0aGUgQ2F0YWxvZyBoYW5kbGluZyBzeXN0ZW08L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtY2h2YWxpZC5odG1sIj5jaHZhbGlkPC9hPjogVW5pY29kZSBjaGFyYWN0ZXIgcmFuZ2UgY2hlY2tpbmc8L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtZGVidWdYTUwuaHRtbCI+ZGVidWdYTUw8L2E+OiBUcmVlIGRlYnVnZ2luZyBBUElzPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLWRpY3QuaHRtbCI+ZGljdDwvYT46IHN0cmluZyBkaWN0aW9ubmFyeTwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC1lbmNvZGluZy5odG1sIj5lbmNvZGluZzwvYT46IGludGVyZmFjZSBmb3IgdGhlIGVuY29kaW5nIGNvbnZlcnNpb24gZnVuY3Rpb25zPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLWVudGl0aWVzLmh0bWwiPmVudGl0aWVzPC9hPjogaW50ZXJmYWNlIGZvciB0aGUgWE1MIGVudGl0aWVzIGhhbmRsaW5nPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLWdsb2JhbHMuaHRtbCI+Z2xvYmFsczwvYT46IGludGVyZmFjZSBmb3IgYWxsIGdsb2JhbCB2YXJpYWJsZXMgb2YgdGhlIGxpYnJhcnk8L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtaGFzaC5odG1sIj5oYXNoPC9hPjogQ2hhaW5lZCBoYXNoIHRhYmxlczwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC1saXN0Lmh0bWwiPmxpc3Q8L2E+OiBsaXN0cyBpbnRlcmZhY2VzPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLW5hbm9mdHAuaHRtbCI+bmFub2Z0cDwvYT46IG1pbmltYWwgRlRQIGltcGxlbWVudGF0aW9uPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLW5hbm9odHRwLmh0bWwiPm5hbm9odHRwPC9hPjogbWluaW1hbCBIVFRQIGltcGxlbWVudGF0aW9uPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXBhcnNlci5odG1sIj5wYXJzZXI8L2E+OiB0aGUgY29yZSBwYXJzZXIgbW9kdWxlPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXBhcnNlckludGVybmFscy5odG1sIj5wYXJzZXJJbnRlcm5hbHM8L2E+OiBpbnRlcm5hbHMgcm91dGluZXMgYW5kIGxpbWl0cyBleHBvcnRlZCBieSB0aGUgcGFyc2VyLjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC1wYXR0ZXJuLmh0bWwiPnBhdHRlcm48L2E+OiBwYXR0ZXJuIGV4cHJlc3Npb24gaGFuZGxpbmc8L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtcmVsYXhuZy5odG1sIj5yZWxheG5nPC9hPjogaW1wbGVtZW50YXRpb24gb2YgdGhlIFJlbGF4LU5HIHZhbGlkYXRpb248L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sIj5zY2hlbWFzSW50ZXJuYWxzPC9hPjogaW50ZXJuYWwgaW50ZXJmYWNlcyBmb3IgWE1MIFNjaGVtYXM8L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtc2NoZW1hdHJvbi5odG1sIj5zY2hlbWF0cm9uPC9hPjogWE1MIFNjaGVtYXN0cm9uIGltcGxlbWVudGF0aW9uPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXRocmVhZHMuaHRtbCI+dGhyZWFkczwvYT46IGludGVyZmFjZXMgZm9yIHRocmVhZCBoYW5kbGluZzwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwiPnRyZWU8L2E+OiBpbnRlcmZhY2VzIGZvciB0cmVlIG1hbmlwdWxhdGlvbjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC11cmkuaHRtbCI+dXJpPC9hPjogbGlicmFyeSBvZiBnZW5lcmljIFVSSSByZWxhdGVkIHJvdXRpbmVzPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXZhbGlkLmh0bWwiPnZhbGlkPC9hPjogVGhlIERURCB2YWxpZGF0aW9uPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXhpbmNsdWRlLmh0bWwiPnhpbmNsdWRlPC9hPjogaW1wbGVtZW50YXRpb24gb2YgWEluY2x1ZGU8L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwteGxpbmsuaHRtbCI+eGxpbms8L2E+OiB1bmZpbmlzaGVkIFhMaW5rIGRldGVjdGlvbiBtb2R1bGU8L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwteG1sSU8uaHRtbCI+eG1sSU88L2E+OiBpbnRlcmZhY2UgZm9yIHRoZSBJL08gaW50ZXJmYWNlcyB1c2VkIGJ5IHRoZSBwYXJzZXI8L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwteG1sYXV0b21hdGEuaHRtbCI+eG1sYXV0b21hdGE8L2E+OiBBUEkgdG8gYnVpbGQgcmVnZXhwIGF1dG9tYXRhPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXhtbGVycm9yLmh0bWwiPnhtbGVycm9yPC9hPjogZXJyb3IgaGFuZGxpbmc8L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwteG1sZXhwb3J0cy5odG1sIj54bWxleHBvcnRzPC9hPjogbWFjcm9zIGZvciBtYXJraW5nIHN5bWJvbHMgYXMgZXhwb3J0YWJsZS9pbXBvcnRhYmxlLjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC14bWxtZW1vcnkuaHRtbCI+eG1sbWVtb3J5PC9hPjogaW50ZXJmYWNlIGZvciB0aGUgbWVtb3J5IGFsbG9jYXRvcjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC14bWxtb2R1bGUuaHRtbCI+eG1sbW9kdWxlPC9hPjogZHluYW1pYyBtb2R1bGUgbG9hZGluZzwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCI+eG1scmVhZGVyPC9hPjogdGhlIFhNTFJlYWRlciBpbXBsZW1lbnRhdGlvbjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC14bWxyZWdleHAuaHRtbCI+eG1scmVnZXhwPC9hPjogcmVndWxhciBleHByZXNzaW9ucyBoYW5kbGluZzwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC14bWxzYXZlLmh0bWwiPnhtbHNhdmU8L2E+OiB0aGUgWE1MIGRvY3VtZW50IHNlcmlhbGl6ZXI8L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwteG1sc2NoZW1hcy5odG1sIj54bWxzY2hlbWFzPC9hPjogaW5jb21wbGV0ZSBYTUwgU2NoZW1hcyBzdHJ1Y3R1cmUgaW1wbGVtZW50YXRpb248L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwiPnhtbHNjaGVtYXN0eXBlczwvYT46IGltcGxlbWVudGF0aW9uIG9mIFhNTCBTY2hlbWEgRGF0YXR5cGVzPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sIj54bWxzdHJpbmc8L2E+OiBzZXQgb2Ygcm91dGluZXMgdG8gcHJvY2VzcyBzdHJpbmdzPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXhtbHVuaWNvZGUuaHRtbCI+eG1sdW5pY29kZTwvYT46IFVuaWNvZGUgY2hhcmFjdGVyIEFQSXM8L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwteG1sdmVyc2lvbi5odG1sIj54bWx2ZXJzaW9uPC9hPjogY29tcGlsZS10aW1lIHZlcnNpb24gaW5mb3JtYXRpb25zPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sIj54bWx3cml0ZXI8L2E+OiB0ZXh0IHdyaXRpbmcgQVBJIGZvciBYTUw8L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCI+eHBhdGg8L2E+OiBYTUwgUGF0aCBMYW5ndWFnZSBpbXBsZW1lbnRhdGlvbjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC14cGF0aEludGVybmFscy5odG1sIj54cGF0aEludGVybmFsczwvYT46IGludGVybmFsIGludGVyZmFjZXMgZm9yIFhNTCBQYXRoIExhbmd1YWdlIGltcGxlbWVudGF0aW9uPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXhwb2ludGVyLmh0bWwiPnhwb2ludGVyPC9hPjogQVBJIHRvIGhhbmRsZSBYTUwgUG9pbnRlcnM8L2xpPjwvdWw+PHA+PGEgaHJlZj0iLi4vYnVncy5odG1sIj5EYW5pZWwgVmVpbGxhcmQ8L2E+PC9wPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYm9keT48L2h0bWw+CisgICAgPC9zdHlsZT48dGl0bGU+UmVmZXJlbmNlIE1hbnVhbCBmb3IgbGlieG1sMjwvdGl0bGU+PC9oZWFkPjxib2R5IGJnY29sb3I9IiM4Yjc3NjUiIHRleHQ9IiMwMDAwMDAiIGxpbms9IiNhMDYwNjAiIHZsaW5rPSIjMDAwMDAwIj48dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iMTAwJSIgY2VsbHBhZGRpbmc9IjUiIGNlbGxzcGFjaW5nPSIwIiBhbGlnbj0iY2VudGVyIj48dHI+PHRkIHdpZHRoPSIxMjAiPjxhIGhyZWY9Imh0dHA6Ly9zd3BhdC5mZmlpLm9yZy8iPjxpbWcgc3JjPSIuLi9lcGF0ZW50cy5wbmciIGFsdD0iQWN0aW9uIGFnYWluc3Qgc29mdHdhcmUgcGF0ZW50cyIgLz48L2E+PC90ZD48dGQgd2lkdGg9IjE4MCI+PGEgaHJlZj0iaHR0cDovL3d3dy5nbm9tZS5vcmcvIj48aW1nIHNyYz0iLi4vZ25vbWUyLnBuZyIgYWx0PSJHbm9tZTIgTG9nbyIgLz48L2E+PGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvU3RhdHVzIj48aW1nIHNyYz0iLi4vdzNjLnBuZyIgYWx0PSJXM0MgTG9nbyIgLz48L2E+PGEgaHJlZj0iaHR0cDovL3d3dy5yZWRoYXQuY29tLyI+PGltZyBzcmM9Ii4uL3JlZGhhdC5naWYiIGFsdD0iUmVkIEhhdCBMb2dvIiAvPjwvYT48ZGl2IGFsaWduPSJsZWZ0Ij48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvIj48aW1nIHNyYz0iLi4vTGlieG1sMi1Mb2dvLTE4MHgxNjguZ2lmIiBhbHQ9Ik1hZGUgd2l0aCBMaWJ4bWwyIExvZ28iIC8+PC9hPjwvZGl2PjwvdGQ+PHRkPjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSI5MCUiIGNlbGxwYWRkaW5nPSIyIiBjZWxsc3BhY2luZz0iMCIgYWxpZ249ImNlbnRlciIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIiBiZ2NvbG9yPSIjZmZmYWNkIj48dHI+PHRkIGFsaWduPSJjZW50ZXIiPjxoMT48L2gxPjxoMj5SZWZlcmVuY2UgTWFudWFsIGZvciBsaWJ4bWwyPC9oMj48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iNCIgY2VsbHNwYWNpbmc9IjAiIHdpZHRoPSIxMDAlIiBhbGlnbj0iY2VudGVyIj48dHI+PHRkIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMiIgd2lkdGg9IjEwMCUiPjx0cj48dGQgdmFsaWduPSJ0b3AiIHdpZHRoPSIyMDAiIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPkFQSSBNZW51PC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjxmb3JtIGFjdGlvbj0iLi4vc2VhcmNoLnBocCIgZW5jdHlwZT0iYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIiBtZXRob2Q9ImdldCI+PGlucHV0IG5hbWU9InF1ZXJ5IiB0eXBlPSJ0ZXh0IiBzaXplPSIyMCIgdmFsdWU9IiIgLz48aW5wdXQgbmFtZT0ic3VibWl0IiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJTZWFyY2ggLi4uIiAvPjwvZm9ybT48dWw+PGxpPjxhIHN0eWxlPSJmb250LXdlaWdodDpib2xkIiBocmVmPSIuLi9pbmRleC5odG1sIj5NYWluIE1lbnU8L2E+PC9saT48bGk+PGEgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiIGhyZWY9Ii4uL2RvY3MuaHRtbCI+RGV2ZWxvcGVyIE1lbnU8L2E+PC9saT48bGk+PGEgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiIGhyZWY9Ii4uL2V4YW1wbGVzL2luZGV4Lmh0bWwiPkNvZGUgRXhhbXBsZXM8L2E+PC9saT48bGk+PGEgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiIGhyZWY9ImluZGV4Lmh0bWwiPkFQSSBNZW51PC9hPjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC1wYXJzZXIuaHRtbCI+UGFyc2VyIEFQSTwvYT48L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sIj5UcmVlIEFQSTwvYT48L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwiPlJlYWRlciBBUEk8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vZ3VpZGVsaW5lcy5odG1sIj5YTUwgR3VpZGVsaW5lczwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9DaGFuZ2VMb2cuaHRtbCI+Q2hhbmdlTG9nPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+QVBJIEluZGV4ZXM8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHVsPjxsaT48YSBocmVmPSIuLi9BUEljaHVuazAuaHRtbCI+QWxwaGFiZXRpYzwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9BUEljb25zdHJ1Y3RvcnMuaHRtbCI+Q29uc3RydWN0b3JzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0FQSWZ1bmN0aW9ucy5odG1sIj5GdW5jdGlvbnMvVHlwZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQVBJZmlsZXMuaHRtbCI+TW9kdWxlczwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9BUElzeW1ib2xzLmh0bWwiPlN5bWJvbHM8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5SZWxhdGVkIGxpbmtzPC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx1bD48bGk+PGEgaHJlZj0iaHR0cDovL21haWwuZ25vbWUub3JnL2FyY2hpdmVzL3htbC8iPk1haWwgYXJjaGl2ZTwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvWFNMVC8iPlhTTFQgbGlieHNsdDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vcGhkLmNzLnVuaWJvLml0L2dkb21lMi8iPkRPTSBnZG9tZTI8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5hbGVrc2V5LmNvbS94bWxzZWMvIj5YTUwtRFNpZyB4bWxzZWM8L2E+PC9saT48bGk+PGEgaHJlZj0iZnRwOi8veG1sc29mdC5vcmcvIj5GVFA8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy56bGF0a292aWMuY29tL3Byb2plY3RzL2xpYnhtbC8iPldpbmRvd3MgYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL29wZW5jc3cub3JnL3BhY2thZ2VzL2xpYnhtbDIiPlNvbGFyaXMgYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5leHBsYWluLmNvbS5hdS9vc3MvbGlieG1sMnhzbHQuaHRtbCI+TWFjT3NYIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9seG1sLmRlLyI+bHhtbCBQeXRob24gYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2NwYW4udXdpbm5pcGVnLmNhL2Rpc3QvWE1MLUxpYlhNTCI+UGVybCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbGlieG1scGx1c3BsdXMuc291cmNlZm9yZ2UubmV0LyI+QysrIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuemVuZC5jb20vcGhwNS9hcnRpY2xlcy9waHA1LXhtbHBocC5waHAjSGVhZGluZzQiPlBIUCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL2xpYnhtbDItcGFzLyI+UGFzY2FsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9saWJ4bWwucnVieWZvcmdlLm9yZy8iPlJ1YnkgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3RjbHhtbC5zb3VyY2Vmb3JnZS5uZXQvIj5UY2wgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2J1Z3ppbGxhLmdub21lLm9yZy9idWdsaXN0LmNnaT9wcm9kdWN0PWxpYnhtbDIiPkJ1ZyBUcmFja2VyPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjx0ZCB2YWxpZ249InRvcCIgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIzIiBjZWxsc3BhY2luZz0iMSIgd2lkdGg9IjEwMCUiPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PGgyPlRhYmxlIG9mIENvbnRlbnRzPC9oMj48dWw+PGxpPjxhIGhyZWY9ImxpYnhtbC1ET0NCcGFyc2VyLmh0bWwiPkRPQ0JwYXJzZXI8L2E+OiBvbGQgRG9jQm9vayBTR01MIHBhcnNlcjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC1IVE1McGFyc2VyLmh0bWwiPkhUTUxwYXJzZXI8L2E+OiBpbnRlcmZhY2UgZm9yIGFuIEhUTUwgNC4wIG5vbi12ZXJpZnlpbmcgcGFyc2VyPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLUhUTUx0cmVlLmh0bWwiPkhUTUx0cmVlPC9hPjogc3BlY2lmaWMgQVBJcyB0byBwcm9jZXNzIEhUTUwgdHJlZSwgZXNwZWNpYWxseSBzZXJpYWxpemF0aW9uPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLVNBWC5odG1sIj5TQVg8L2E+OiBPbGQgU0FYIHZlcnNpb24gMSBoYW5kbGVyLCBkZXByZWNhdGVkPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLVNBWDIuaHRtbCI+U0FYMjwvYT46IFNBWDIgcGFyc2VyIGludGVyZmFjZSB1c2VkIHRvIGJ1aWxkIHRoZSBET00gdHJlZTwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC1jMTRuLmh0bWwiPmMxNG48L2E+OiBQcm92aWRlIENhbm9uaWNhbCBYTUwgYW5kIEV4Y2x1c2l2ZSBYTUwgQ2Fub25pY2FsaXphdGlvbjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC1jYXRhbG9nLmh0bWwiPmNhdGFsb2c8L2E+OiBpbnRlcmZhY2VzIHRvIHRoZSBDYXRhbG9nIGhhbmRsaW5nIHN5c3RlbTwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC1jaHZhbGlkLmh0bWwiPmNodmFsaWQ8L2E+OiBVbmljb2RlIGNoYXJhY3RlciByYW5nZSBjaGVja2luZzwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC1kZWJ1Z1hNTC5odG1sIj5kZWJ1Z1hNTDwvYT46IFRyZWUgZGVidWdnaW5nIEFQSXM8L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtZGljdC5odG1sIj5kaWN0PC9hPjogc3RyaW5nIGRpY3Rpb25hcnk8L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtZW5jb2RpbmcuaHRtbCI+ZW5jb2Rpbmc8L2E+OiBpbnRlcmZhY2UgZm9yIHRoZSBlbmNvZGluZyBjb252ZXJzaW9uIGZ1bmN0aW9uczwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC1lbnRpdGllcy5odG1sIj5lbnRpdGllczwvYT46IGludGVyZmFjZSBmb3IgdGhlIFhNTCBlbnRpdGllcyBoYW5kbGluZzwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC1nbG9iYWxzLmh0bWwiPmdsb2JhbHM8L2E+OiBpbnRlcmZhY2UgZm9yIGFsbCBnbG9iYWwgdmFyaWFibGVzIG9mIHRoZSBsaWJyYXJ5PC9saT48bGk+PGEgaHJlZj0ibGlieG1sLWhhc2guaHRtbCI+aGFzaDwvYT46IENoYWluZWQgaGFzaCB0YWJsZXM8L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtbGlzdC5odG1sIj5saXN0PC9hPjogbGlzdHMgaW50ZXJmYWNlczwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC1uYW5vZnRwLmh0bWwiPm5hbm9mdHA8L2E+OiBtaW5pbWFsIEZUUCBpbXBsZW1lbnRhdGlvbjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC1uYW5vaHR0cC5odG1sIj5uYW5vaHR0cDwvYT46IG1pbmltYWwgSFRUUCBpbXBsZW1lbnRhdGlvbjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC1wYXJzZXIuaHRtbCI+cGFyc2VyPC9hPjogdGhlIGNvcmUgcGFyc2VyIG1vZHVsZTwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCI+cGFyc2VySW50ZXJuYWxzPC9hPjogaW50ZXJuYWxzIHJvdXRpbmVzIGFuZCBsaW1pdHMgZXhwb3J0ZWQgYnkgdGhlIHBhcnNlci48L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtcGF0dGVybi5odG1sIj5wYXR0ZXJuPC9hPjogcGF0dGVybiBleHByZXNzaW9uIGhhbmRsaW5nPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXJlbGF4bmcuaHRtbCI+cmVsYXhuZzwvYT46IGltcGxlbWVudGF0aW9uIG9mIHRoZSBSZWxheC1ORyB2YWxpZGF0aW9uPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCI+c2NoZW1hc0ludGVybmFsczwvYT46IGludGVybmFsIGludGVyZmFjZXMgZm9yIFhNTCBTY2hlbWFzPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXNjaGVtYXRyb24uaHRtbCI+c2NoZW1hdHJvbjwvYT46IFhNTCBTY2hlbWFzdHJvbiBpbXBsZW1lbnRhdGlvbjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC10aHJlYWRzLmh0bWwiPnRocmVhZHM8L2E+OiBpbnRlcmZhY2VzIGZvciB0aHJlYWQgaGFuZGxpbmc8L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sIj50cmVlPC9hPjogaW50ZXJmYWNlcyBmb3IgdHJlZSBtYW5pcHVsYXRpb248L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtdXJpLmh0bWwiPnVyaTwvYT46IGxpYnJhcnkgb2YgZ2VuZXJpYyBVUkkgcmVsYXRlZCByb3V0aW5lczwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC12YWxpZC5odG1sIj52YWxpZDwvYT46IFRoZSBEVEQgdmFsaWRhdGlvbjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC14aW5jbHVkZS5odG1sIj54aW5jbHVkZTwvYT46IGltcGxlbWVudGF0aW9uIG9mIFhJbmNsdWRlPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXhsaW5rLmh0bWwiPnhsaW5rPC9hPjogdW5maW5pc2hlZCBYTGluayBkZXRlY3Rpb24gbW9kdWxlPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXhtbElPLmh0bWwiPnhtbElPPC9hPjogaW50ZXJmYWNlIGZvciB0aGUgSS9PIGludGVyZmFjZXMgdXNlZCBieSB0aGUgcGFyc2VyPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXhtbGF1dG9tYXRhLmh0bWwiPnhtbGF1dG9tYXRhPC9hPjogQVBJIHRvIGJ1aWxkIHJlZ2V4cCBhdXRvbWF0YTwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC14bWxlcnJvci5odG1sIj54bWxlcnJvcjwvYT46IGVycm9yIGhhbmRsaW5nPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXhtbGV4cG9ydHMuaHRtbCI+eG1sZXhwb3J0czwvYT46IG1hY3JvcyBmb3IgbWFya2luZyBzeW1ib2xzIGFzIGV4cG9ydGFibGUvaW1wb3J0YWJsZS48L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwteG1sbWVtb3J5Lmh0bWwiPnhtbG1lbW9yeTwvYT46IGludGVyZmFjZSBmb3IgdGhlIG1lbW9yeSBhbGxvY2F0b3I8L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwteG1sbW9kdWxlLmh0bWwiPnhtbG1vZHVsZTwvYT46IGR5bmFtaWMgbW9kdWxlIGxvYWRpbmc8L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwiPnhtbHJlYWRlcjwvYT46IHRoZSBYTUxSZWFkZXIgaW1wbGVtZW50YXRpb248L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwteG1scmVnZXhwLmh0bWwiPnhtbHJlZ2V4cDwvYT46IHJlZ3VsYXIgZXhwcmVzc2lvbnMgaGFuZGxpbmc8L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwteG1sc2F2ZS5odG1sIj54bWxzYXZlPC9hPjogdGhlIFhNTCBkb2N1bWVudCBzZXJpYWxpemVyPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXhtbHNjaGVtYXMuaHRtbCI+eG1sc2NoZW1hczwvYT46IGluY29tcGxldGUgWE1MIFNjaGVtYXMgc3RydWN0dXJlIGltcGxlbWVudGF0aW9uPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sIj54bWxzY2hlbWFzdHlwZXM8L2E+OiBpbXBsZW1lbnRhdGlvbiBvZiBYTUwgU2NoZW1hIERhdGF0eXBlczwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCI+eG1sc3RyaW5nPC9hPjogc2V0IG9mIHJvdXRpbmVzIHRvIHByb2Nlc3Mgc3RyaW5nczwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC14bWx1bmljb2RlLmh0bWwiPnhtbHVuaWNvZGU8L2E+OiBVbmljb2RlIGNoYXJhY3RlciBBUElzPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXhtbHZlcnNpb24uaHRtbCI+eG1sdmVyc2lvbjwvYT46IGNvbXBpbGUtdGltZSB2ZXJzaW9uIGluZm9ybWF0aW9uczwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC14bWx3cml0ZXIuaHRtbCI+eG1sd3JpdGVyPC9hPjogdGV4dCB3cml0aW5nIEFQSSBmb3IgWE1MPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwiPnhwYXRoPC9hPjogWE1MIFBhdGggTGFuZ3VhZ2UgaW1wbGVtZW50YXRpb248L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCI+eHBhdGhJbnRlcm5hbHM8L2E+OiBpbnRlcm5hbCBpbnRlcmZhY2VzIGZvciBYTUwgUGF0aCBMYW5ndWFnZSBpbXBsZW1lbnRhdGlvbjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC14cG9pbnRlci5odG1sIj54cG9pbnRlcjwvYT46IEFQSSB0byBoYW5kbGUgWE1MIFBvaW50ZXJzPC9saT48L3VsPjxwPjxhIGhyZWY9Ii4uL2J1Z3MuaHRtbCI+RGFuaWVsIFZlaWxsYXJkPC9hPjwvcD48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvZG9jL2h0bWwvaW5kZXguaHRtbCBiL2RvYy9odG1sL2luZGV4Lmh0bWwKaW5kZXggMWE1ODIxMC4uNDJkNzFhNiAxMDA2NDQKLS0tIGEvZG9jL2h0bWwvaW5kZXguaHRtbAorKysgYi9kb2MvaHRtbC9pbmRleC5odG1sCkBAIC0xMCw0ICsxMCw0IEBACiA8L3N0eWxlPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CiAgICAgICBkaXYuZGVwcmVjYXRlZCBwcmUucHJvZ3JhbWxpc3Rpbmcge2JvcmRlci1zdHlsZTogZG91YmxlO2JvcmRlci1jb2xvcjpyZWR9CiAgICAgICBwcmUucHJvZ3JhbWxpc3Rpbmcge2JvcmRlci1zdHlsZTogZG91YmxlO2JhY2tncm91bmQ6ICNFRUNGQTF9Ci0gICAgPC9zdHlsZT48dGl0bGU+UmVmZXJlbmNlIE1hbnVhbCBmb3IgbGlieG1sMjwvdGl0bGU+PC9oZWFkPjxib2R5IGJnY29sb3I9IiM4Yjc3NjUiIHRleHQ9IiMwMDAwMDAiIGxpbms9IiNhMDYwNjAiIHZsaW5rPSIjMDAwMDAwIj48dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iMTAwJSIgY2VsbHBhZGRpbmc9IjUiIGNlbGxzcGFjaW5nPSIwIiBhbGlnbj0iY2VudGVyIj48dHI+PHRkIHdpZHRoPSIxMjAiPjxhIGhyZWY9Imh0dHA6Ly9zd3BhdC5mZmlpLm9yZy8iPjxpbWcgc3JjPSIuLi9lcGF0ZW50cy5wbmciIGFsdD0iQWN0aW9uIGFnYWluc3Qgc29mdHdhcmUgcGF0ZW50cyIgLz48L2E+PC90ZD48dGQgd2lkdGg9IjE4MCI+PGEgaHJlZj0iaHR0cDovL3d3dy5nbm9tZS5vcmcvIj48aW1nIHNyYz0iLi4vZ25vbWUyLnBuZyIgYWx0PSJHbm9tZTIgTG9nbyIgLz48L2E+PGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvU3RhdHVzIj48aW1nIHNyYz0iLi4vdzNjLnBuZyIgYWx0PSJXM0MgTG9nbyIgLz48L2E+PGEgaHJlZj0iaHR0cDovL3d3dy5yZWRoYXQuY29tLyI+PGltZyBzcmM9Ii4uL3JlZGhhdC5naWYiIGFsdD0iUmVkIEhhdCBMb2dvIiAvPjwvYT48ZGl2IGFsaWduPSJsZWZ0Ij48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvIj48aW1nIHNyYz0iLi4vTGlieG1sMi1Mb2dvLTE4MHgxNjguZ2lmIiBhbHQ9Ik1hZGUgd2l0aCBMaWJ4bWwyIExvZ28iIC8+PC9hPjwvZGl2PjwvdGQ+PHRkPjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSI5MCUiIGNlbGxwYWRkaW5nPSIyIiBjZWxsc3BhY2luZz0iMCIgYWxpZ249ImNlbnRlciIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIiBiZ2NvbG9yPSIjZmZmYWNkIj48dHI+PHRkIGFsaWduPSJjZW50ZXIiPjxoMT48L2gxPjxoMj5SZWZlcmVuY2UgTWFudWFsIGZvciBsaWJ4bWwyPC9oMj48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iNCIgY2VsbHNwYWNpbmc9IjAiIHdpZHRoPSIxMDAlIiBhbGlnbj0iY2VudGVyIj48dHI+PHRkIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMiIgd2lkdGg9IjEwMCUiPjx0cj48dGQgdmFsaWduPSJ0b3AiIHdpZHRoPSIyMDAiIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPkFQSSBNZW51PC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjxmb3JtIGFjdGlvbj0iLi4vc2VhcmNoLnBocCIgZW5jdHlwZT0iYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIiBtZXRob2Q9ImdldCI+PGlucHV0IG5hbWU9InF1ZXJ5IiB0eXBlPSJ0ZXh0IiBzaXplPSIyMCIgdmFsdWU9IiIgLz48aW5wdXQgbmFtZT0ic3VibWl0IiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJTZWFyY2ggLi4uIiAvPjwvZm9ybT48dWw+PGxpPjxhIHN0eWxlPSJmb250LXdlaWdodDpib2xkIiBocmVmPSIuLi9pbmRleC5odG1sIj5NYWluIE1lbnU8L2E+PC9saT48bGk+PGEgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiIGhyZWY9Ii4uL2RvY3MuaHRtbCI+RGV2ZWxvcGVyIE1lbnU8L2E+PC9saT48bGk+PGEgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiIGhyZWY9Ii4uL2V4YW1wbGVzL2luZGV4Lmh0bWwiPkNvZGUgRXhhbXBsZXM8L2E+PC9saT48bGk+PGEgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiIGhyZWY9ImluZGV4Lmh0bWwiPkFQSSBNZW51PC9hPjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC1wYXJzZXIuaHRtbCI+UGFyc2VyIEFQSTwvYT48L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sIj5UcmVlIEFQSTwvYT48L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwiPlJlYWRlciBBUEk8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vZ3VpZGVsaW5lcy5odG1sIj5YTUwgR3VpZGVsaW5lczwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9DaGFuZ2VMb2cuaHRtbCI+Q2hhbmdlTG9nPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+QVBJIEluZGV4ZXM8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHVsPjxsaT48YSBocmVmPSIuLi9BUEljaHVuazAuaHRtbCI+QWxwaGFiZXRpYzwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9BUEljb25zdHJ1Y3RvcnMuaHRtbCI+Q29uc3RydWN0b3JzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0FQSWZ1bmN0aW9ucy5odG1sIj5GdW5jdGlvbnMvVHlwZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQVBJZmlsZXMuaHRtbCI+TW9kdWxlczwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9BUElzeW1ib2xzLmh0bWwiPlN5bWJvbHM8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5SZWxhdGVkIGxpbmtzPC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx1bD48bGk+PGEgaHJlZj0iaHR0cDovL21haWwuZ25vbWUub3JnL2FyY2hpdmVzL3htbC8iPk1haWwgYXJjaGl2ZTwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvWFNMVC8iPlhTTFQgbGlieHNsdDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vcGhkLmNzLnVuaWJvLml0L2dkb21lMi8iPkRPTSBnZG9tZTI8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5hbGVrc2V5LmNvbS94bWxzZWMvIj5YTUwtRFNpZyB4bWxzZWM8L2E+PC9saT48bGk+PGEgaHJlZj0iZnRwOi8veG1sc29mdC5vcmcvIj5GVFA8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy56bGF0a292aWMuY29tL3Byb2plY3RzL2xpYnhtbC8iPldpbmRvd3MgYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL29wZW5jc3cub3JnL3BhY2thZ2VzL2xpYnhtbDIiPlNvbGFyaXMgYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5leHBsYWluLmNvbS5hdS9vc3MvbGlieG1sMnhzbHQuaHRtbCI+TWFjT3NYIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9seG1sLmRlLyI+bHhtbCBQeXRob24gYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2NwYW4udXdpbm5pcGVnLmNhL2Rpc3QvWE1MLUxpYlhNTCI+UGVybCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbGlieG1scGx1c3BsdXMuc291cmNlZm9yZ2UubmV0LyI+QysrIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuemVuZC5jb20vcGhwNS9hcnRpY2xlcy9waHA1LXhtbHBocC5waHAjSGVhZGluZzQiPlBIUCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL2xpYnhtbDItcGFzLyI+UGFzY2FsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9saWJ4bWwucnVieWZvcmdlLm9yZy8iPlJ1YnkgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3RjbHhtbC5zb3VyY2Vmb3JnZS5uZXQvIj5UY2wgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2J1Z3ppbGxhLmdub21lLm9yZy9idWdsaXN0LmNnaT9wcm9kdWN0PWxpYnhtbDIiPkJ1ZyBUcmFja2VyPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjx0ZCB2YWxpZ249InRvcCIgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIzIiBjZWxsc3BhY2luZz0iMSIgd2lkdGg9IjEwMCUiPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PGgyPlRhYmxlIG9mIENvbnRlbnRzPC9oMj48dWw+PGxpPjxhIGhyZWY9ImxpYnhtbC1ET0NCcGFyc2VyLmh0bWwiPkRPQ0JwYXJzZXI8L2E+OiBvbGQgRG9jQm9vayBTR01MIHBhcnNlcjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC1IVE1McGFyc2VyLmh0bWwiPkhUTUxwYXJzZXI8L2E+OiBpbnRlcmZhY2UgZm9yIGFuIEhUTUwgNC4wIG5vbi12ZXJpZnlpbmcgcGFyc2VyPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLUhUTUx0cmVlLmh0bWwiPkhUTUx0cmVlPC9hPjogc3BlY2lmaWMgQVBJcyB0byBwcm9jZXNzIEhUTUwgdHJlZSwgZXNwZWNpYWxseSBzZXJpYWxpemF0aW9uPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLVNBWC5odG1sIj5TQVg8L2E+OiBPbGQgU0FYIHZlcnNpb24gMSBoYW5kbGVyLCBkZXByZWNhdGVkPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLVNBWDIuaHRtbCI+U0FYMjwvYT46IFNBWDIgcGFyc2VyIGludGVyZmFjZSB1c2VkIHRvIGJ1aWxkIHRoZSBET00gdHJlZTwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC1jMTRuLmh0bWwiPmMxNG48L2E+OiBQcm92aWRlIENhbm9uaWNhbCBYTUwgYW5kIEV4Y2x1c2l2ZSBYTUwgQ2Fub25pY2FsaXphdGlvbjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC1jYXRhbG9nLmh0bWwiPmNhdGFsb2c8L2E+OiBpbnRlcmZhY2VzIHRvIHRoZSBDYXRhbG9nIGhhbmRsaW5nIHN5c3RlbTwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC1jaHZhbGlkLmh0bWwiPmNodmFsaWQ8L2E+OiBVbmljb2RlIGNoYXJhY3RlciByYW5nZSBjaGVja2luZzwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC1kZWJ1Z1hNTC5odG1sIj5kZWJ1Z1hNTDwvYT46IFRyZWUgZGVidWdnaW5nIEFQSXM8L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtZGljdC5odG1sIj5kaWN0PC9hPjogc3RyaW5nIGRpY3Rpb25uYXJ5PC9saT48bGk+PGEgaHJlZj0ibGlieG1sLWVuY29kaW5nLmh0bWwiPmVuY29kaW5nPC9hPjogaW50ZXJmYWNlIGZvciB0aGUgZW5jb2RpbmcgY29udmVyc2lvbiBmdW5jdGlvbnM8L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtZW50aXRpZXMuaHRtbCI+ZW50aXRpZXM8L2E+OiBpbnRlcmZhY2UgZm9yIHRoZSBYTUwgZW50aXRpZXMgaGFuZGxpbmc8L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtZ2xvYmFscy5odG1sIj5nbG9iYWxzPC9hPjogaW50ZXJmYWNlIGZvciBhbGwgZ2xvYmFsIHZhcmlhYmxlcyBvZiB0aGUgbGlicmFyeTwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC1oYXNoLmh0bWwiPmhhc2g8L2E+OiBDaGFpbmVkIGhhc2ggdGFibGVzPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLWxpc3QuaHRtbCI+bGlzdDwvYT46IGxpc3RzIGludGVyZmFjZXM8L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtbmFub2Z0cC5odG1sIj5uYW5vZnRwPC9hPjogbWluaW1hbCBGVFAgaW1wbGVtZW50YXRpb248L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtbmFub2h0dHAuaHRtbCI+bmFub2h0dHA8L2E+OiBtaW5pbWFsIEhUVFAgaW1wbGVtZW50YXRpb248L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtcGFyc2VyLmh0bWwiPnBhcnNlcjwvYT46IHRoZSBjb3JlIHBhcnNlciBtb2R1bGU8L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwiPnBhcnNlckludGVybmFsczwvYT46IGludGVybmFscyByb3V0aW5lcyBhbmQgbGltaXRzIGV4cG9ydGVkIGJ5IHRoZSBwYXJzZXIuPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXBhdHRlcm4uaHRtbCI+cGF0dGVybjwvYT46IHBhdHRlcm4gZXhwcmVzc2lvbiBoYW5kbGluZzwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC1yZWxheG5nLmh0bWwiPnJlbGF4bmc8L2E+OiBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgUmVsYXgtTkcgdmFsaWRhdGlvbjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwiPnNjaGVtYXNJbnRlcm5hbHM8L2E+OiBpbnRlcm5hbCBpbnRlcmZhY2VzIGZvciBYTUwgU2NoZW1hczwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC1zY2hlbWF0cm9uLmh0bWwiPnNjaGVtYXRyb248L2E+OiBYTUwgU2NoZW1hc3Ryb24gaW1wbGVtZW50YXRpb248L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtdGhyZWFkcy5odG1sIj50aHJlYWRzPC9hPjogaW50ZXJmYWNlcyBmb3IgdGhyZWFkIGhhbmRsaW5nPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCI+dHJlZTwvYT46IGludGVyZmFjZXMgZm9yIHRyZWUgbWFuaXB1bGF0aW9uPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXVyaS5odG1sIj51cmk8L2E+OiBsaWJyYXJ5IG9mIGdlbmVyaWMgVVJJIHJlbGF0ZWQgcm91dGluZXM8L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtdmFsaWQuaHRtbCI+dmFsaWQ8L2E+OiBUaGUgRFREIHZhbGlkYXRpb248L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwteGluY2x1ZGUuaHRtbCI+eGluY2x1ZGU8L2E+OiBpbXBsZW1lbnRhdGlvbiBvZiBYSW5jbHVkZTwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC14bGluay5odG1sIj54bGluazwvYT46IHVuZmluaXNoZWQgWExpbmsgZGV0ZWN0aW9uIG1vZHVsZTwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC14bWxJTy5odG1sIj54bWxJTzwvYT46IGludGVyZmFjZSBmb3IgdGhlIEkvTyBpbnRlcmZhY2VzIHVzZWQgYnkgdGhlIHBhcnNlcjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC14bWxhdXRvbWF0YS5odG1sIj54bWxhdXRvbWF0YTwvYT46IEFQSSB0byBidWlsZCByZWdleHAgYXV0b21hdGE8L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwteG1sZXJyb3IuaHRtbCI+eG1sZXJyb3I8L2E+OiBlcnJvciBoYW5kbGluZzwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC14bWxleHBvcnRzLmh0bWwiPnhtbGV4cG9ydHM8L2E+OiBtYWNyb3MgZm9yIG1hcmtpbmcgc3ltYm9scyBhcyBleHBvcnRhYmxlL2ltcG9ydGFibGUuPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXhtbG1lbW9yeS5odG1sIj54bWxtZW1vcnk8L2E+OiBpbnRlcmZhY2UgZm9yIHRoZSBtZW1vcnkgYWxsb2NhdG9yPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXhtbG1vZHVsZS5odG1sIj54bWxtb2R1bGU8L2E+OiBkeW5hbWljIG1vZHVsZSBsb2FkaW5nPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sIj54bWxyZWFkZXI8L2E+OiB0aGUgWE1MUmVhZGVyIGltcGxlbWVudGF0aW9uPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXhtbHJlZ2V4cC5odG1sIj54bWxyZWdleHA8L2E+OiByZWd1bGFyIGV4cHJlc3Npb25zIGhhbmRsaW5nPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXhtbHNhdmUuaHRtbCI+eG1sc2F2ZTwvYT46IHRoZSBYTUwgZG9jdW1lbnQgc2VyaWFsaXplcjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC14bWxzY2hlbWFzLmh0bWwiPnhtbHNjaGVtYXM8L2E+OiBpbmNvbXBsZXRlIFhNTCBTY2hlbWFzIHN0cnVjdHVyZSBpbXBsZW1lbnRhdGlvbjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCI+eG1sc2NoZW1hc3R5cGVzPC9hPjogaW1wbGVtZW50YXRpb24gb2YgWE1MIFNjaGVtYSBEYXRhdHlwZXM8L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwiPnhtbHN0cmluZzwvYT46IHNldCBvZiByb3V0aW5lcyB0byBwcm9jZXNzIHN0cmluZ3M8L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwteG1sdW5pY29kZS5odG1sIj54bWx1bmljb2RlPC9hPjogVW5pY29kZSBjaGFyYWN0ZXIgQVBJczwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC14bWx2ZXJzaW9uLmh0bWwiPnhtbHZlcnNpb248L2E+OiBjb21waWxlLXRpbWUgdmVyc2lvbiBpbmZvcm1hdGlvbnM8L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwteG1sd3JpdGVyLmh0bWwiPnhtbHdyaXRlcjwvYT46IHRleHQgd3JpdGluZyBBUEkgZm9yIFhNTDwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sIj54cGF0aDwvYT46IFhNTCBQYXRoIExhbmd1YWdlIGltcGxlbWVudGF0aW9uPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwiPnhwYXRoSW50ZXJuYWxzPC9hPjogaW50ZXJuYWwgaW50ZXJmYWNlcyBmb3IgWE1MIFBhdGggTGFuZ3VhZ2UgaW1wbGVtZW50YXRpb248L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwteHBvaW50ZXIuaHRtbCI+eHBvaW50ZXI8L2E+OiBBUEkgdG8gaGFuZGxlIFhNTCBQb2ludGVyczwvbGk+PC91bD48cD48YSBocmVmPSIuLi9idWdzLmh0bWwiPkRhbmllbCBWZWlsbGFyZDwvYT48L3A+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ib2R5PjwvaHRtbD4KKyAgICA8L3N0eWxlPjx0aXRsZT5SZWZlcmVuY2UgTWFudWFsIGZvciBsaWJ4bWwyPC90aXRsZT48L2hlYWQ+PGJvZHkgYmdjb2xvcj0iIzhiNzc2NSIgdGV4dD0iIzAwMDAwMCIgbGluaz0iI2EwNjA2MCIgdmxpbms9IiMwMDAwMDAiPjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSIxMDAlIiBjZWxscGFkZGluZz0iNSIgY2VsbHNwYWNpbmc9IjAiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQgd2lkdGg9IjEyMCI+PGEgaHJlZj0iaHR0cDovL3N3cGF0LmZmaWkub3JnLyI+PGltZyBzcmM9Ii4uL2VwYXRlbnRzLnBuZyIgYWx0PSJBY3Rpb24gYWdhaW5zdCBzb2Z0d2FyZSBwYXRlbnRzIiAvPjwvYT48L3RkPjx0ZCB3aWR0aD0iMTgwIj48YSBocmVmPSJodHRwOi8vd3d3Lmdub21lLm9yZy8iPjxpbWcgc3JjPSIuLi9nbm9tZTIucG5nIiBhbHQ9Ikdub21lMiBMb2dvIiAvPjwvYT48YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9TdGF0dXMiPjxpbWcgc3JjPSIuLi93M2MucG5nIiBhbHQ9IlczQyBMb2dvIiAvPjwvYT48YSBocmVmPSJodHRwOi8vd3d3LnJlZGhhdC5jb20vIj48aW1nIHNyYz0iLi4vcmVkaGF0LmdpZiIgYWx0PSJSZWQgSGF0IExvZ28iIC8+PC9hPjxkaXYgYWxpZ249ImxlZnQiPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy8iPjxpbWcgc3JjPSIuLi9MaWJ4bWwyLUxvZ28tMTgweDE2OC5naWYiIGFsdD0iTWFkZSB3aXRoIExpYnhtbDIgTG9nbyIgLz48L2E+PC9kaXY+PC90ZD48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjkwJSIgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIwIiBhbGlnbj0iY2VudGVyIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiIGJnY29sb3I9IiNmZmZhY2QiPjx0cj48dGQgYWxpZ249ImNlbnRlciI+PGgxPjwvaDE+PGgyPlJlZmVyZW5jZSBNYW51YWwgZm9yIGxpYnhtbDI8L2gyPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSI0IiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIyIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZCB2YWxpZ249InRvcCIgd2lkdGg9IjIwMCIgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+QVBJIE1lbnU8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PGZvcm0gYWN0aW9uPSIuLi9zZWFyY2gucGhwIiBlbmN0eXBlPSJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiIG1ldGhvZD0iZ2V0Ij48aW5wdXQgbmFtZT0icXVlcnkiIHR5cGU9InRleHQiIHNpemU9IjIwIiB2YWx1ZT0iIiAvPjxpbnB1dCBuYW1lPSJzdWJtaXQiIHR5cGU9InN1Ym1pdCIgdmFsdWU9IlNlYXJjaCAuLi4iIC8+PC9mb3JtPjx1bD48bGk+PGEgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiIGhyZWY9Ii4uL2luZGV4Lmh0bWwiPk1haW4gTWVudTwvYT48L2xpPjxsaT48YSBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCIgaHJlZj0iLi4vZG9jcy5odG1sIj5EZXZlbG9wZXIgTWVudTwvYT48L2xpPjxsaT48YSBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCIgaHJlZj0iLi4vZXhhbXBsZXMvaW5kZXguaHRtbCI+Q29kZSBFeGFtcGxlczwvYT48L2xpPjxsaT48YSBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCIgaHJlZj0iaW5kZXguaHRtbCI+QVBJIE1lbnU8L2E+PC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXBhcnNlci5odG1sIj5QYXJzZXIgQVBJPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwiPlRyZWUgQVBJPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCI+UmVhZGVyIEFQSTwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9ndWlkZWxpbmVzLmh0bWwiPlhNTCBHdWlkZWxpbmVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0NoYW5nZUxvZy5odG1sIj5DaGFuZ2VMb2c8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5BUEkgSW5kZXhlczwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48dWw+PGxpPjxhIGhyZWY9Ii4uL0FQSWNodW5rMC5odG1sIj5BbHBoYWJldGljPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0FQSWNvbnN0cnVjdG9ycy5odG1sIj5Db25zdHJ1Y3RvcnM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQVBJZnVuY3Rpb25zLmh0bWwiPkZ1bmN0aW9ucy9UeXBlczwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9BUElmaWxlcy5odG1sIj5Nb2R1bGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0FQSXN5bWJvbHMuaHRtbCI+U3ltYm9sczwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPlJlbGF0ZWQgbGlua3M8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHVsPjxsaT48YSBocmVmPSJodHRwOi8vbWFpbC5nbm9tZS5vcmcvYXJjaGl2ZXMveG1sLyI+TWFpbCBhcmNoaXZlPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy9YU0xULyI+WFNMVCBsaWJ4c2x0PC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9waGQuY3MudW5pYm8uaXQvZ2RvbWUyLyI+RE9NIGdkb21lMjwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmFsZWtzZXkuY29tL3htbHNlYy8iPlhNTC1EU2lnIHhtbHNlYzwvYT48L2xpPjxsaT48YSBocmVmPSJmdHA6Ly94bWxzb2Z0Lm9yZy8iPkZUUDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LnpsYXRrb3ZpYy5jb20vcHJvamVjdHMvbGlieG1sLyI+V2luZG93cyBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vb3BlbmNzdy5vcmcvcGFja2FnZXMvbGlieG1sMiI+U29sYXJpcyBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmV4cGxhaW4uY29tLmF1L29zcy9saWJ4bWwyeHNsdC5odG1sIj5NYWNPc1ggYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2x4bWwuZGUvIj5seG1sIFB5dGhvbiBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vY3Bhbi51d2lubmlwZWcuY2EvZGlzdC9YTUwtTGliWE1MIj5QZXJsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9saWJ4bWxwbHVzcGx1cy5zb3VyY2Vmb3JnZS5uZXQvIj5DKysgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy56ZW5kLmNvbS9waHA1L2FydGljbGVzL3BocDUteG1scGhwLnBocCNIZWFkaW5nNCI+UEhQIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvbGlieG1sMi1wYXMvIj5QYXNjYWwgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2xpYnhtbC5ydWJ5Zm9yZ2Uub3JnLyI+UnVieSBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vdGNseG1sLnNvdXJjZWZvcmdlLm5ldC8iPlRjbCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL2J1Z2xpc3QuY2dpP3Byb2R1Y3Q9bGlieG1sMiI+QnVnIFRyYWNrZXI8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PHRkIHZhbGlnbj0idG9wIiBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48aDI+VGFibGUgb2YgQ29udGVudHM8L2gyPjx1bD48bGk+PGEgaHJlZj0ibGlieG1sLURPQ0JwYXJzZXIuaHRtbCI+RE9DQnBhcnNlcjwvYT46IG9sZCBEb2NCb29rIFNHTUwgcGFyc2VyPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLUhUTUxwYXJzZXIuaHRtbCI+SFRNTHBhcnNlcjwvYT46IGludGVyZmFjZSBmb3IgYW4gSFRNTCA0LjAgbm9uLXZlcmlmeWluZyBwYXJzZXI8L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtSFRNTHRyZWUuaHRtbCI+SFRNTHRyZWU8L2E+OiBzcGVjaWZpYyBBUElzIHRvIHByb2Nlc3MgSFRNTCB0cmVlLCBlc3BlY2lhbGx5IHNlcmlhbGl6YXRpb248L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwiPlNBWDwvYT46IE9sZCBTQVggdmVyc2lvbiAxIGhhbmRsZXIsIGRlcHJlY2F0ZWQ8L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtU0FYMi5odG1sIj5TQVgyPC9hPjogU0FYMiBwYXJzZXIgaW50ZXJmYWNlIHVzZWQgdG8gYnVpbGQgdGhlIERPTSB0cmVlPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLWMxNG4uaHRtbCI+YzE0bjwvYT46IFByb3ZpZGUgQ2Fub25pY2FsIFhNTCBhbmQgRXhjbHVzaXZlIFhNTCBDYW5vbmljYWxpemF0aW9uPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLWNhdGFsb2cuaHRtbCI+Y2F0YWxvZzwvYT46IGludGVyZmFjZXMgdG8gdGhlIENhdGFsb2cgaGFuZGxpbmcgc3lzdGVtPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLWNodmFsaWQuaHRtbCI+Y2h2YWxpZDwvYT46IFVuaWNvZGUgY2hhcmFjdGVyIHJhbmdlIGNoZWNraW5nPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLWRlYnVnWE1MLmh0bWwiPmRlYnVnWE1MPC9hPjogVHJlZSBkZWJ1Z2dpbmcgQVBJczwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC1kaWN0Lmh0bWwiPmRpY3Q8L2E+OiBzdHJpbmcgZGljdGlvbmFyeTwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC1lbmNvZGluZy5odG1sIj5lbmNvZGluZzwvYT46IGludGVyZmFjZSBmb3IgdGhlIGVuY29kaW5nIGNvbnZlcnNpb24gZnVuY3Rpb25zPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLWVudGl0aWVzLmh0bWwiPmVudGl0aWVzPC9hPjogaW50ZXJmYWNlIGZvciB0aGUgWE1MIGVudGl0aWVzIGhhbmRsaW5nPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLWdsb2JhbHMuaHRtbCI+Z2xvYmFsczwvYT46IGludGVyZmFjZSBmb3IgYWxsIGdsb2JhbCB2YXJpYWJsZXMgb2YgdGhlIGxpYnJhcnk8L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtaGFzaC5odG1sIj5oYXNoPC9hPjogQ2hhaW5lZCBoYXNoIHRhYmxlczwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC1saXN0Lmh0bWwiPmxpc3Q8L2E+OiBsaXN0cyBpbnRlcmZhY2VzPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLW5hbm9mdHAuaHRtbCI+bmFub2Z0cDwvYT46IG1pbmltYWwgRlRQIGltcGxlbWVudGF0aW9uPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLW5hbm9odHRwLmh0bWwiPm5hbm9odHRwPC9hPjogbWluaW1hbCBIVFRQIGltcGxlbWVudGF0aW9uPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXBhcnNlci5odG1sIj5wYXJzZXI8L2E+OiB0aGUgY29yZSBwYXJzZXIgbW9kdWxlPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXBhcnNlckludGVybmFscy5odG1sIj5wYXJzZXJJbnRlcm5hbHM8L2E+OiBpbnRlcm5hbHMgcm91dGluZXMgYW5kIGxpbWl0cyBleHBvcnRlZCBieSB0aGUgcGFyc2VyLjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC1wYXR0ZXJuLmh0bWwiPnBhdHRlcm48L2E+OiBwYXR0ZXJuIGV4cHJlc3Npb24gaGFuZGxpbmc8L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtcmVsYXhuZy5odG1sIj5yZWxheG5nPC9hPjogaW1wbGVtZW50YXRpb24gb2YgdGhlIFJlbGF4LU5HIHZhbGlkYXRpb248L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sIj5zY2hlbWFzSW50ZXJuYWxzPC9hPjogaW50ZXJuYWwgaW50ZXJmYWNlcyBmb3IgWE1MIFNjaGVtYXM8L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtc2NoZW1hdHJvbi5odG1sIj5zY2hlbWF0cm9uPC9hPjogWE1MIFNjaGVtYXN0cm9uIGltcGxlbWVudGF0aW9uPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXRocmVhZHMuaHRtbCI+dGhyZWFkczwvYT46IGludGVyZmFjZXMgZm9yIHRocmVhZCBoYW5kbGluZzwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwiPnRyZWU8L2E+OiBpbnRlcmZhY2VzIGZvciB0cmVlIG1hbmlwdWxhdGlvbjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC11cmkuaHRtbCI+dXJpPC9hPjogbGlicmFyeSBvZiBnZW5lcmljIFVSSSByZWxhdGVkIHJvdXRpbmVzPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXZhbGlkLmh0bWwiPnZhbGlkPC9hPjogVGhlIERURCB2YWxpZGF0aW9uPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXhpbmNsdWRlLmh0bWwiPnhpbmNsdWRlPC9hPjogaW1wbGVtZW50YXRpb24gb2YgWEluY2x1ZGU8L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwteGxpbmsuaHRtbCI+eGxpbms8L2E+OiB1bmZpbmlzaGVkIFhMaW5rIGRldGVjdGlvbiBtb2R1bGU8L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwteG1sSU8uaHRtbCI+eG1sSU88L2E+OiBpbnRlcmZhY2UgZm9yIHRoZSBJL08gaW50ZXJmYWNlcyB1c2VkIGJ5IHRoZSBwYXJzZXI8L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwteG1sYXV0b21hdGEuaHRtbCI+eG1sYXV0b21hdGE8L2E+OiBBUEkgdG8gYnVpbGQgcmVnZXhwIGF1dG9tYXRhPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXhtbGVycm9yLmh0bWwiPnhtbGVycm9yPC9hPjogZXJyb3IgaGFuZGxpbmc8L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwteG1sZXhwb3J0cy5odG1sIj54bWxleHBvcnRzPC9hPjogbWFjcm9zIGZvciBtYXJraW5nIHN5bWJvbHMgYXMgZXhwb3J0YWJsZS9pbXBvcnRhYmxlLjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC14bWxtZW1vcnkuaHRtbCI+eG1sbWVtb3J5PC9hPjogaW50ZXJmYWNlIGZvciB0aGUgbWVtb3J5IGFsbG9jYXRvcjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC14bWxtb2R1bGUuaHRtbCI+eG1sbW9kdWxlPC9hPjogZHluYW1pYyBtb2R1bGUgbG9hZGluZzwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCI+eG1scmVhZGVyPC9hPjogdGhlIFhNTFJlYWRlciBpbXBsZW1lbnRhdGlvbjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC14bWxyZWdleHAuaHRtbCI+eG1scmVnZXhwPC9hPjogcmVndWxhciBleHByZXNzaW9ucyBoYW5kbGluZzwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC14bWxzYXZlLmh0bWwiPnhtbHNhdmU8L2E+OiB0aGUgWE1MIGRvY3VtZW50IHNlcmlhbGl6ZXI8L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwteG1sc2NoZW1hcy5odG1sIj54bWxzY2hlbWFzPC9hPjogaW5jb21wbGV0ZSBYTUwgU2NoZW1hcyBzdHJ1Y3R1cmUgaW1wbGVtZW50YXRpb248L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwiPnhtbHNjaGVtYXN0eXBlczwvYT46IGltcGxlbWVudGF0aW9uIG9mIFhNTCBTY2hlbWEgRGF0YXR5cGVzPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sIj54bWxzdHJpbmc8L2E+OiBzZXQgb2Ygcm91dGluZXMgdG8gcHJvY2VzcyBzdHJpbmdzPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXhtbHVuaWNvZGUuaHRtbCI+eG1sdW5pY29kZTwvYT46IFVuaWNvZGUgY2hhcmFjdGVyIEFQSXM8L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwteG1sdmVyc2lvbi5odG1sIj54bWx2ZXJzaW9uPC9hPjogY29tcGlsZS10aW1lIHZlcnNpb24gaW5mb3JtYXRpb25zPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sIj54bWx3cml0ZXI8L2E+OiB0ZXh0IHdyaXRpbmcgQVBJIGZvciBYTUw8L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCI+eHBhdGg8L2E+OiBYTUwgUGF0aCBMYW5ndWFnZSBpbXBsZW1lbnRhdGlvbjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC14cGF0aEludGVybmFscy5odG1sIj54cGF0aEludGVybmFsczwvYT46IGludGVybmFsIGludGVyZmFjZXMgZm9yIFhNTCBQYXRoIExhbmd1YWdlIGltcGxlbWVudGF0aW9uPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXhwb2ludGVyLmh0bWwiPnhwb2ludGVyPC9hPjogQVBJIHRvIGhhbmRsZSBYTUwgUG9pbnRlcnM8L2xpPjwvdWw+PHA+PGEgaHJlZj0iLi4vYnVncy5odG1sIj5EYW5pZWwgVmVpbGxhcmQ8L2E+PC9wPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9kb2MvaHRtbC9saWJ4bWwtZGljdC5odG1sIGIvZG9jL2h0bWwvbGlieG1sLWRpY3QuaHRtbAppbmRleCBiZGQyMWY0Li43NGUyNDNiIDEwMDY0NAotLS0gYS9kb2MvaHRtbC9saWJ4bWwtZGljdC5odG1sCisrKyBiL2RvYy9odG1sL2xpYnhtbC1kaWN0Lmh0bWwKQEAgLTMzLDI2ICszMywyNiBAQAogPC9wcmU+PHA+RnJlZSB0aGUgZGljdGlvbmFyeSBtdXRleC4gRG8gbm90IGNhbGwgdW5sZXNzIHN1cmUgdGhlIGxpYnJhcnkgaXMgbm90IGluIHVzZSBhbnltb3JlICE8L3A+CiA8aDM+PGEgbmFtZT0ieG1sRGljdENyZWF0ZSIgaWQ9InhtbERpY3RDcmVhdGUiPjwvYT5GdW5jdGlvbjogeG1sRGljdENyZWF0ZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC1kaWN0Lmh0bWwjeG1sRGljdFB0ciI+eG1sRGljdFB0cjwvYT4JeG1sRGljdENyZWF0ZQkJKHZvaWQpPGJyIC8+CiA8L3ByZT48cD5DcmVhdGUgYSBuZXcgZGljdGlvbmFyeTwvcD4KLTxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXdseSBjcmVhdGVkIGRpY3Rpb25uYXJ5LCBvciBOVUxMIGlmIGFuIGVycm9yIG9jY3VyZWQuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sRGljdENyZWF0ZVN1YiIgaWQ9InhtbERpY3RDcmVhdGVTdWIiPjwvYT5GdW5jdGlvbjogeG1sRGljdENyZWF0ZVN1YjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC1kaWN0Lmh0bWwjeG1sRGljdFB0ciI+eG1sRGljdFB0cjwvYT4JeG1sRGljdENyZWF0ZVN1YgkoPGEgaHJlZj0ibGlieG1sLWRpY3QuaHRtbCN4bWxEaWN0UHRyIj54bWxEaWN0UHRyPC9hPiBzdWIpPGJyIC8+Ci08L3ByZT48cD5DcmVhdGUgYSBuZXcgZGljdGlvbmFyeSwgaW5oZXJpdGluZyBzdHJpbmdzIGZyb20gdGhlIHJlYWQtb25seSBkaWN0aW9ubmFyeSBAc3ViLiBPbiBsb29rdXAsIHN0cmluZ3MgYXJlIGZpcnN0IHNlYXJjaGVkIGluIHRoZSBuZXcgZGljdGlvbm5hcnksIHRoZW4gaW4gQHN1YiwgYW5kIGlmIG5vdCBmb3VuZCBhcmUgY3JlYXRlZCBpbiB0aGUgbmV3IGRpY3Rpb25uYXJ5LjwvcD4KLTxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnN1YjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gZXhpc3RpbmcgZGljdGlvbm5hcnk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXdseSBjcmVhdGVkIGRpY3Rpb25uYXJ5LCBvciBOVUxMIGlmIGFuIGVycm9yIG9jY3VyZWQuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sRGljdEV4aXN0cyIgaWQ9InhtbERpY3RFeGlzdHMiPjwvYT5GdW5jdGlvbjogeG1sRGljdEV4aXN0czwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXhtbERpY3RFeGlzdHMJCSg8YSBocmVmPSJsaWJ4bWwtZGljdC5odG1sI3htbERpY3RQdHIiPnhtbERpY3RQdHI8L2E+IGRpY3QsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxiciAvPgkJCQkJIGludCBsZW4pPGJyIC8+Ci08L3ByZT48cD5DaGVjayBpZiB0aGUgQG5hbWUgZXhpc3RzIGluIHRoZSBkaWN0aW9ubmFyeSBAZGljdC48L3A+Ci08ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kaWN0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZGljdGlvbm5hcnk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuYW1lIG9mIHRoZSB1c2VyZGF0YTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bGVuPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbGVuZ3RoIG9mIHRoZSBuYW1lLCBpZiAtMSBpdCBpcyByZWNvbXB1dGVkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgaW50ZXJuYWwgY29weSBvZiB0aGUgbmFtZSBvciBOVUxMIGlmIG5vdCBmb3VuZC48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxEaWN0RnJlZSIgaWQ9InhtbERpY3RGcmVlIj48L2E+RnVuY3Rpb246IHhtbERpY3RGcmVlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxEaWN0RnJlZQkJCSg8YSBocmVmPSJsaWJ4bWwtZGljdC5odG1sI3htbERpY3RQdHIiPnhtbERpY3RQdHI8L2E+IGRpY3QpPGJyIC8+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3bHkgY3JlYXRlZCBkaWN0aW9uYXJ5LCBvciBOVUxMIGlmIGFuIGVycm9yIG9jY3VyZWQuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sRGljdENyZWF0ZVN1YiIgaWQ9InhtbERpY3RDcmVhdGVTdWIiPjwvYT5GdW5jdGlvbjogeG1sRGljdENyZWF0ZVN1YjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC1kaWN0Lmh0bWwjeG1sRGljdFB0ciI+eG1sRGljdFB0cjwvYT4JeG1sRGljdENyZWF0ZVN1YgkoPGEgaHJlZj0ibGlieG1sLWRpY3QuaHRtbCN4bWxEaWN0UHRyIj54bWxEaWN0UHRyPC9hPiBzdWIpPGJyIC8+Cis8L3ByZT48cD5DcmVhdGUgYSBuZXcgZGljdGlvbmFyeSwgaW5oZXJpdGluZyBzdHJpbmdzIGZyb20gdGhlIHJlYWQtb25seSBkaWN0aW9uYXJ5IEBzdWIuIE9uIGxvb2t1cCwgc3RyaW5ncyBhcmUgZmlyc3Qgc2VhcmNoZWQgaW4gdGhlIG5ldyBkaWN0aW9uYXJ5LCB0aGVuIGluIEBzdWIsIGFuZCBpZiBub3QgZm91bmQgYXJlIGNyZWF0ZWQgaW4gdGhlIG5ldyBkaWN0aW9uYXJ5LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnN1YjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gZXhpc3RpbmcgZGljdGlvbmFyeTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5ld2x5IGNyZWF0ZWQgZGljdGlvbmFyeSwgb3IgTlVMTCBpZiBhbiBlcnJvciBvY2N1cmVkLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbERpY3RFeGlzdHMiIGlkPSJ4bWxEaWN0RXhpc3RzIj48L2E+RnVuY3Rpb246IHhtbERpY3RFeGlzdHM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5jb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl4bWxEaWN0RXhpc3RzCQkoPGEgaHJlZj0ibGlieG1sLWRpY3QuaHRtbCN4bWxEaWN0UHRyIj54bWxEaWN0UHRyPC9hPiBkaWN0LCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIgLz4JCQkJCSBpbnQgbGVuKTxiciAvPgorPC9wcmU+PHA+Q2hlY2sgaWYgdGhlIEBuYW1lIGV4aXN0cyBpbiB0aGUgZGljdGlvbmFyeSBAZGljdC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kaWN0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZGljdGlvbmFyeTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5hbWUgb2YgdGhlIHVzZXJkYXRhPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5sZW48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBsZW5ndGggb2YgdGhlIG5hbWUsIGlmIC0xIGl0IGlzIHJlY29tcHV0ZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBpbnRlcm5hbCBjb3B5IG9mIHRoZSBuYW1lIG9yIE5VTEwgaWYgbm90IGZvdW5kLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbERpY3RGcmVlIiBpZD0ieG1sRGljdEZyZWUiPjwvYT5GdW5jdGlvbjogeG1sRGljdEZyZWU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbERpY3RGcmVlCQkJKDxhIGhyZWY9ImxpYnhtbC1kaWN0Lmh0bWwjeG1sRGljdFB0ciI+eG1sRGljdFB0cjwvYT4gZGljdCk8YnIgLz4KIDwvcHJlPjxwPkZyZWUgdGhlIGhhc2ggQGRpY3QgYW5kIGl0cyBjb250ZW50cy4gVGhlIHVzZXJkYXRhIGlzIGRlYWxsb2NhdGVkIHdpdGggQGYgaWYgcHJvdmlkZWQuPC9wPgotPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZGljdDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRpY3Rpb25uYXJ5PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sRGljdEdldFVzYWdlIiBpZD0ieG1sRGljdEdldFVzYWdlIj48L2E+RnVuY3Rpb246IHhtbERpY3RHZXRVc2FnZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnNpemVfdAl4bWxEaWN0R2V0VXNhZ2UJCQkoPGEgaHJlZj0ibGlieG1sLWRpY3QuaHRtbCN4bWxEaWN0UHRyIj54bWxEaWN0UHRyPC9hPiBkaWN0KTxiciAvPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZGljdDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRpY3Rpb25hcnk8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxEaWN0R2V0VXNhZ2UiIGlkPSJ4bWxEaWN0R2V0VXNhZ2UiPjwvYT5GdW5jdGlvbjogeG1sRGljdEdldFVzYWdlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+c2l6ZV90CXhtbERpY3RHZXRVc2FnZQkJCSg8YSBocmVmPSJsaWJ4bWwtZGljdC5odG1sI3htbERpY3RQdHIiPnhtbERpY3RQdHI8L2E+IGRpY3QpPGJyIC8+CiA8L3ByZT48cD5HZXQgaG93IG11Y2ggbWVtb3J5IGlzIHVzZWQgYnkgYSBkaWN0aW9uYXJ5IGZvciBzdHJpbmdzIEFkZGVkIGluIDIuOS4wPC9wPgotPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZGljdDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRpY3Rpb25uYXJ5PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYW1vdW50IG9mIHN0cmluZ3MgYWxsb2NhdGVkPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sRGljdExvb2t1cCIgaWQ9InhtbERpY3RMb29rdXAiPjwvYT5GdW5jdGlvbjogeG1sRGljdExvb2t1cDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXhtbERpY3RMb29rdXAJCSg8YSBocmVmPSJsaWJ4bWwtZGljdC5odG1sI3htbERpY3RQdHIiPnhtbERpY3RQdHI8L2E+IGRpY3QsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxiciAvPgkJCQkJIGludCBsZW4pPGJyIC8+Ci08L3ByZT48cD5BZGQgdGhlIEBuYW1lIHRvIHRoZSBkaWN0aW9ubmFyeSBAZGljdCBpZiBub3QgcHJlc2VudC48L3A+Ci08ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kaWN0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZGljdGlvbm5hcnk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuYW1lIG9mIHRoZSB1c2VyZGF0YTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bGVuPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbGVuZ3RoIG9mIHRoZSBuYW1lLCBpZiAtMSBpdCBpcyByZWNvbXB1dGVkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgaW50ZXJuYWwgY29weSBvZiB0aGUgbmFtZSBvciBOVUxMIGluIGNhc2Ugb2YgaW50ZXJuYWwgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxEaWN0T3ducyIgaWQ9InhtbERpY3RPd25zIj48L2E+RnVuY3Rpb246IHhtbERpY3RPd25zPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbERpY3RPd25zCQkJKDxhIGhyZWY9ImxpYnhtbC1kaWN0Lmh0bWwjeG1sRGljdFB0ciI+eG1sRGljdFB0cjwvYT4gZGljdCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3RyKTxiciAvPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZGljdDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRpY3Rpb25hcnk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBhbW91bnQgb2Ygc3RyaW5ncyBhbGxvY2F0ZWQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxEaWN0TG9va3VwIiBpZD0ieG1sRGljdExvb2t1cCI+PC9hPkZ1bmN0aW9uOiB4bWxEaWN0TG9va3VwPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+Y29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJeG1sRGljdExvb2t1cAkJKDxhIGhyZWY9ImxpYnhtbC1kaWN0Lmh0bWwjeG1sRGljdFB0ciI+eG1sRGljdFB0cjwvYT4gZGljdCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyIC8+CQkJCQkgaW50IGxlbik8YnIgLz4KKzwvcHJlPjxwPkFkZCB0aGUgQG5hbWUgdG8gdGhlIGRpY3Rpb25hcnkgQGRpY3QgaWYgbm90IHByZXNlbnQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZGljdDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRpY3Rpb25hcnk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuYW1lIG9mIHRoZSB1c2VyZGF0YTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bGVuPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbGVuZ3RoIG9mIHRoZSBuYW1lLCBpZiAtMSBpdCBpcyByZWNvbXB1dGVkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgaW50ZXJuYWwgY29weSBvZiB0aGUgbmFtZSBvciBOVUxMIGluIGNhc2Ugb2YgaW50ZXJuYWwgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxEaWN0T3ducyIgaWQ9InhtbERpY3RPd25zIj48L2E+RnVuY3Rpb246IHhtbERpY3RPd25zPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbERpY3RPd25zCQkJKDxhIGhyZWY9ImxpYnhtbC1kaWN0Lmh0bWwjeG1sRGljdFB0ciI+eG1sRGljdFB0cjwvYT4gZGljdCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3RyKTxiciAvPgogPC9wcmU+PHA+Y2hlY2sgaWYgYSBzdHJpbmcgaXMgb3duZWQgYnkgdGhlIGRpc2N0aW9uYXJ5PC9wPgotPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZGljdDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRpY3Rpb25uYXJ5PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zdHI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzdHJpbmc8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSwgMCBpZiBmYWxzZSBhbmQgLTEgaW4gY2FzZSBvZiBlcnJvciAtMSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sRGljdFFMb29rdXAiIGlkPSJ4bWxEaWN0UUxvb2t1cCI+PC9hPkZ1bmN0aW9uOiB4bWxEaWN0UUxvb2t1cDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXhtbERpY3RRTG9va3VwCQkoPGEgaHJlZj0ibGlieG1sLWRpY3QuaHRtbCN4bWxEaWN0UHRyIj54bWxEaWN0UHRyPC9hPiBkaWN0LCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBwcmVmaXgsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUpPGJyIC8+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kaWN0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZGljdGlvbmFyeTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3RyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc3RyaW5nPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUsIDAgaWYgZmFsc2UgYW5kIC0xIGluIGNhc2Ugb2YgZXJyb3IgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbERpY3RRTG9va3VwIiBpZD0ieG1sRGljdFFMb29rdXAiPjwvYT5GdW5jdGlvbjogeG1sRGljdFFMb29rdXA8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5jb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl4bWxEaWN0UUxvb2t1cAkJKDxhIGhyZWY9ImxpYnhtbC1kaWN0Lmh0bWwjeG1sRGljdFB0ciI+eG1sRGljdFB0cjwvYT4gZGljdCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcHJlZml4LCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lKTxiciAvPgogPC9wcmU+PHA+QWRkIHRoZSBRTmFtZSBAcHJlZml4OkBuYW1lIHRvIHRoZSBoYXNoIEBkaWN0IGlmIG5vdCBwcmVzZW50LjwvcD4KLTxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRpY3Q8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkaWN0aW9ubmFyeTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cHJlZml4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcHJlZml4PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGludGVybmFsIGNvcHkgb2YgdGhlIFFOYW1lIG9yIE5VTEwgaW4gY2FzZSBvZiBpbnRlcm5hbCBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbERpY3RSZWZlcmVuY2UiIGlkPSJ4bWxEaWN0UmVmZXJlbmNlIj48L2E+RnVuY3Rpb246IHhtbERpY3RSZWZlcmVuY2U8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sRGljdFJlZmVyZW5jZQkJKDxhIGhyZWY9ImxpYnhtbC1kaWN0Lmh0bWwjeG1sRGljdFB0ciI+eG1sRGljdFB0cjwvYT4gZGljdCk8YnIgLz4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRpY3Q8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkaWN0aW9uYXJ5PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5wcmVmaXg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBwcmVmaXg8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgaW50ZXJuYWwgY29weSBvZiB0aGUgUU5hbWUgb3IgTlVMTCBpbiBjYXNlIG9mIGludGVybmFsIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sRGljdFJlZmVyZW5jZSIgaWQ9InhtbERpY3RSZWZlcmVuY2UiPjwvYT5GdW5jdGlvbjogeG1sRGljdFJlZmVyZW5jZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxEaWN0UmVmZXJlbmNlCQkoPGEgaHJlZj0ibGlieG1sLWRpY3QuaHRtbCN4bWxEaWN0UHRyIj54bWxEaWN0UHRyPC9hPiBkaWN0KTxiciAvPgogPC9wcmU+PHA+SW5jcmVtZW50IHRoZSA8YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjcmVmZXJlbmNlIj5yZWZlcmVuY2U8L2E+IGNvdW50ZXIgb2YgYSBkaWN0aW9uYXJ5PC9wPgotPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZGljdDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRpY3Rpb25uYXJ5PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIGluIGNhc2Ugb2Ygc3VjY2VzcyBhbmQgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbERpY3RTZXRMaW1pdCIgaWQ9InhtbERpY3RTZXRMaW1pdCI+PC9hPkZ1bmN0aW9uOiB4bWxEaWN0U2V0TGltaXQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5zaXplX3QJeG1sRGljdFNldExpbWl0CQkJKDxhIGhyZWY9ImxpYnhtbC1kaWN0Lmh0bWwjeG1sRGljdFB0ciI+eG1sRGljdFB0cjwvYT4gZGljdCwgPGJyIC8+CQkJCQkgc2l6ZV90IGxpbWl0KTxiciAvPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZGljdDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRpY3Rpb25hcnk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgaW4gY2FzZSBvZiBzdWNjZXNzIGFuZCAtMSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sRGljdFNldExpbWl0IiBpZD0ieG1sRGljdFNldExpbWl0Ij48L2E+RnVuY3Rpb246IHhtbERpY3RTZXRMaW1pdDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnNpemVfdAl4bWxEaWN0U2V0TGltaXQJCQkoPGEgaHJlZj0ibGlieG1sLWRpY3QuaHRtbCN4bWxEaWN0UHRyIj54bWxEaWN0UHRyPC9hPiBkaWN0LCA8YnIgLz4JCQkJCSBzaXplX3QgbGltaXQpPGJyIC8+CiA8L3ByZT48cD5TZXQgYSBzaXplIGxpbWl0IGZvciB0aGUgZGljdGlvbmFyeSBBZGRlZCBpbiAyLjkuMDwvcD4KLTxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRpY3Q8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkaWN0aW9ubmFyeTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bGltaXQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBsaW1pdCBpbiBieXRlczwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHByZXZpb3VzIGxpbWl0IG9mIHRoZSBkaWN0aW9uYXJ5IG9yIDA8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxEaWN0U2l6ZSIgaWQ9InhtbERpY3RTaXplIj48L2E+RnVuY3Rpb246IHhtbERpY3RTaXplPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbERpY3RTaXplCQkJKDxhIGhyZWY9ImxpYnhtbC1kaWN0Lmh0bWwjeG1sRGljdFB0ciI+eG1sRGljdFB0cjwvYT4gZGljdCk8YnIgLz4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRpY3Q8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkaWN0aW9uYXJ5PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5saW1pdDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGxpbWl0IGluIGJ5dGVzPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcHJldmlvdXMgbGltaXQgb2YgdGhlIGRpY3Rpb25hcnkgb3IgMDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbERpY3RTaXplIiBpZD0ieG1sRGljdFNpemUiPjwvYT5GdW5jdGlvbjogeG1sRGljdFNpemU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sRGljdFNpemUJCQkoPGEgaHJlZj0ibGlieG1sLWRpY3QuaHRtbCN4bWxEaWN0UHRyIj54bWxEaWN0UHRyPC9hPiBkaWN0KTxiciAvPgogPC9wcmU+PHA+UXVlcnkgdGhlIG51bWJlciBvZiBlbGVtZW50cyBpbnN0YWxsZWQgaW4gdGhlIGhhc2ggQGRpY3QuPC9wPgotPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZGljdDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRpY3Rpb25uYXJ5PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIGVsZW1lbnRzIGluIHRoZSBkaWN0aW9ubmFyeSBvciAtMSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sSW5pdGlhbGl6ZURpY3QiIGlkPSJ4bWxJbml0aWFsaXplRGljdCI+PC9hPkZ1bmN0aW9uOiB4bWxJbml0aWFsaXplRGljdDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxJbml0aWFsaXplRGljdAkJKHZvaWQpPGJyIC8+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kaWN0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZGljdGlvbmFyeTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciBvZiBlbGVtZW50cyBpbiB0aGUgZGljdGlvbmFyeSBvciAtMSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sSW5pdGlhbGl6ZURpY3QiIGlkPSJ4bWxJbml0aWFsaXplRGljdCI+PC9hPkZ1bmN0aW9uOiB4bWxJbml0aWFsaXplRGljdDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxJbml0aWFsaXplRGljdAkJKHZvaWQpPGJyIC8+CiA8L3ByZT48cD5EbyB0aGUgZGljdGlvbmFyeSBtdXRleCBpbml0aWFsaXphdGlvbi4gdGhpcyBmdW5jdGlvbiBpcyBkZXByZWNhdGVkPC9wPgogPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCBpZiBpbml0aWFsaXphdGlvbiB3YXMgYWxyZWFkeSBkb25lLCBhbmQgMSBpZiB0aGF0IGNhbGwgbGVkIHRvIHRoZSBpbml0aWFsaXphdGlvbjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PHA+PGEgaHJlZj0iLi4vYnVncy5odG1sIj5EYW5pZWwgVmVpbGxhcmQ8L2E+PC9wPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9kb2MvaHRtbC9saWJ4bWwtbGliLmh0bWwgYi9kb2MvaHRtbC9saWJ4bWwtbGliLmh0bWwKaW5kZXggMWE1ODIxMC4uNDJkNzFhNiAxMDA2NDQKLS0tIGEvZG9jL2h0bWwvbGlieG1sLWxpYi5odG1sCisrKyBiL2RvYy9odG1sL2xpYnhtbC1saWIuaHRtbApAQCAtMTAsNCArMTAsNCBAQAogPC9zdHlsZT48c3R5bGUgdHlwZT0idGV4dC9jc3MiPgogICAgICAgZGl2LmRlcHJlY2F0ZWQgcHJlLnByb2dyYW1saXN0aW5nIHtib3JkZXItc3R5bGU6IGRvdWJsZTtib3JkZXItY29sb3I6cmVkfQogICAgICAgcHJlLnByb2dyYW1saXN0aW5nIHtib3JkZXItc3R5bGU6IGRvdWJsZTtiYWNrZ3JvdW5kOiAjRUVDRkExfQotICAgIDwvc3R5bGU+PHRpdGxlPlJlZmVyZW5jZSBNYW51YWwgZm9yIGxpYnhtbDI8L3RpdGxlPjwvaGVhZD48Ym9keSBiZ2NvbG9yPSIjOGI3NzY1IiB0ZXh0PSIjMDAwMDAwIiBsaW5rPSIjYTA2MDYwIiB2bGluaz0iIzAwMDAwMCI+PHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjEwMCUiIGNlbGxwYWRkaW5nPSI1IiBjZWxsc3BhY2luZz0iMCIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCB3aWR0aD0iMTIwIj48YSBocmVmPSJodHRwOi8vc3dwYXQuZmZpaS5vcmcvIj48aW1nIHNyYz0iLi4vZXBhdGVudHMucG5nIiBhbHQ9IkFjdGlvbiBhZ2FpbnN0IHNvZnR3YXJlIHBhdGVudHMiIC8+PC9hPjwvdGQ+PHRkIHdpZHRoPSIxODAiPjxhIGhyZWY9Imh0dHA6Ly93d3cuZ25vbWUub3JnLyI+PGltZyBzcmM9Ii4uL2dub21lMi5wbmciIGFsdD0iR25vbWUyIExvZ28iIC8+PC9hPjxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1N0YXR1cyI+PGltZyBzcmM9Ii4uL3czYy5wbmciIGFsdD0iVzNDIExvZ28iIC8+PC9hPjxhIGhyZWY9Imh0dHA6Ly93d3cucmVkaGF0LmNvbS8iPjxpbWcgc3JjPSIuLi9yZWRoYXQuZ2lmIiBhbHQ9IlJlZCBIYXQgTG9nbyIgLz48L2E+PGRpdiBhbGlnbj0ibGVmdCI+PGEgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnLyI+PGltZyBzcmM9Ii4uL0xpYnhtbDItTG9nby0xODB4MTY4LmdpZiIgYWx0PSJNYWRlIHdpdGggTGlieG1sMiBMb2dvIiAvPjwvYT48L2Rpdj48L3RkPjx0ZD48dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iOTAlIiBjZWxscGFkZGluZz0iMiIgY2VsbHNwYWNpbmc9IjAiIGFsaWduPSJjZW50ZXIiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyIgYmdjb2xvcj0iI2ZmZmFjZCI+PHRyPjx0ZCBhbGlnbj0iY2VudGVyIj48aDE+PC9oMT48aDI+UmVmZXJlbmNlIE1hbnVhbCBmb3IgbGlieG1sMjwvaDI+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjQiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjIiIHdpZHRoPSIxMDAlIj48dHI+PHRkIHZhbGlnbj0idG9wIiB3aWR0aD0iMjAwIiBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5BUEkgTWVudTwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48Zm9ybSBhY3Rpb249Ii4uL3NlYXJjaC5waHAiIGVuY3R5cGU9ImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCIgbWV0aG9kPSJnZXQiPjxpbnB1dCBuYW1lPSJxdWVyeSIgdHlwZT0idGV4dCIgc2l6ZT0iMjAiIHZhbHVlPSIiIC8+PGlucHV0IG5hbWU9InN1Ym1pdCIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iU2VhcmNoIC4uLiIgLz48L2Zvcm0+PHVsPjxsaT48YSBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCIgaHJlZj0iLi4vaW5kZXguaHRtbCI+TWFpbiBNZW51PC9hPjwvbGk+PGxpPjxhIHN0eWxlPSJmb250LXdlaWdodDpib2xkIiBocmVmPSIuLi9kb2NzLmh0bWwiPkRldmVsb3BlciBNZW51PC9hPjwvbGk+PGxpPjxhIHN0eWxlPSJmb250LXdlaWdodDpib2xkIiBocmVmPSIuLi9leGFtcGxlcy9pbmRleC5odG1sIj5Db2RlIEV4YW1wbGVzPC9hPjwvbGk+PGxpPjxhIHN0eWxlPSJmb250LXdlaWdodDpib2xkIiBocmVmPSJpbmRleC5odG1sIj5BUEkgTWVudTwvYT48L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtcGFyc2VyLmh0bWwiPlBhcnNlciBBUEk8L2E+PC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCI+VHJlZSBBUEk8L2E+PC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sIj5SZWFkZXIgQVBJPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL2d1aWRlbGluZXMuaHRtbCI+WE1MIEd1aWRlbGluZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQ2hhbmdlTG9nLmh0bWwiPkNoYW5nZUxvZzwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPkFQSSBJbmRleGVzPC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx1bD48bGk+PGEgaHJlZj0iLi4vQVBJY2h1bmswLmh0bWwiPkFscGhhYmV0aWM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQVBJY29uc3RydWN0b3JzLmh0bWwiPkNvbnN0cnVjdG9yczwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9BUElmdW5jdGlvbnMuaHRtbCI+RnVuY3Rpb25zL1R5cGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0FQSWZpbGVzLmh0bWwiPk1vZHVsZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQVBJc3ltYm9scy5odG1sIj5TeW1ib2xzPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+UmVsYXRlZCBsaW5rczwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48dWw+PGxpPjxhIGhyZWY9Imh0dHA6Ly9tYWlsLmdub21lLm9yZy9hcmNoaXZlcy94bWwvIj5NYWlsIGFyY2hpdmU8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnL1hTTFQvIj5YU0xUIGxpYnhzbHQ8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3BoZC5jcy51bmliby5pdC9nZG9tZTIvIj5ET00gZ2RvbWUyPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuYWxla3NleS5jb20veG1sc2VjLyI+WE1MLURTaWcgeG1sc2VjPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImZ0cDovL3htbHNvZnQub3JnLyI+RlRQPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuemxhdGtvdmljLmNvbS9wcm9qZWN0cy9saWJ4bWwvIj5XaW5kb3dzIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9vcGVuY3N3Lm9yZy9wYWNrYWdlcy9saWJ4bWwyIj5Tb2xhcmlzIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuZXhwbGFpbi5jb20uYXUvb3NzL2xpYnhtbDJ4c2x0Lmh0bWwiPk1hY09zWCBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbHhtbC5kZS8iPmx4bWwgUHl0aG9uIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9jcGFuLnV3aW5uaXBlZy5jYS9kaXN0L1hNTC1MaWJYTUwiPlBlcmwgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2xpYnhtbHBsdXNwbHVzLnNvdXJjZWZvcmdlLm5ldC8iPkMrKyBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LnplbmQuY29tL3BocDUvYXJ0aWNsZXMvcGhwNS14bWxwaHAucGhwI0hlYWRpbmc0Ij5QSFAgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9saWJ4bWwyLXBhcy8iPlBhc2NhbCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbGlieG1sLnJ1Ynlmb3JnZS5vcmcvIj5SdWJ5IGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly90Y2x4bWwuc291cmNlZm9yZ2UubmV0LyI+VGNsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9idWd6aWxsYS5nbm9tZS5vcmcvYnVnbGlzdC5jZ2k/cHJvZHVjdD1saWJ4bWwyIj5CdWcgVHJhY2tlcjwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48dGQgdmFsaWduPSJ0b3AiIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMyIgY2VsbHNwYWNpbmc9IjEiIHdpZHRoPSIxMDAlIj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjxoMj5UYWJsZSBvZiBDb250ZW50czwvaDI+PHVsPjxsaT48YSBocmVmPSJsaWJ4bWwtRE9DQnBhcnNlci5odG1sIj5ET0NCcGFyc2VyPC9hPjogb2xkIERvY0Jvb2sgU0dNTCBwYXJzZXI8L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtSFRNTHBhcnNlci5odG1sIj5IVE1McGFyc2VyPC9hPjogaW50ZXJmYWNlIGZvciBhbiBIVE1MIDQuMCBub24tdmVyaWZ5aW5nIHBhcnNlcjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC1IVE1MdHJlZS5odG1sIj5IVE1MdHJlZTwvYT46IHNwZWNpZmljIEFQSXMgdG8gcHJvY2VzcyBIVE1MIHRyZWUsIGVzcGVjaWFsbHkgc2VyaWFsaXphdGlvbjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCI+U0FYPC9hPjogT2xkIFNBWCB2ZXJzaW9uIDEgaGFuZGxlciwgZGVwcmVjYXRlZDwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC1TQVgyLmh0bWwiPlNBWDI8L2E+OiBTQVgyIHBhcnNlciBpbnRlcmZhY2UgdXNlZCB0byBidWlsZCB0aGUgRE9NIHRyZWU8L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtYzE0bi5odG1sIj5jMTRuPC9hPjogUHJvdmlkZSBDYW5vbmljYWwgWE1MIGFuZCBFeGNsdXNpdmUgWE1MIENhbm9uaWNhbGl6YXRpb248L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtY2F0YWxvZy5odG1sIj5jYXRhbG9nPC9hPjogaW50ZXJmYWNlcyB0byB0aGUgQ2F0YWxvZyBoYW5kbGluZyBzeXN0ZW08L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtY2h2YWxpZC5odG1sIj5jaHZhbGlkPC9hPjogVW5pY29kZSBjaGFyYWN0ZXIgcmFuZ2UgY2hlY2tpbmc8L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtZGVidWdYTUwuaHRtbCI+ZGVidWdYTUw8L2E+OiBUcmVlIGRlYnVnZ2luZyBBUElzPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLWRpY3QuaHRtbCI+ZGljdDwvYT46IHN0cmluZyBkaWN0aW9ubmFyeTwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC1lbmNvZGluZy5odG1sIj5lbmNvZGluZzwvYT46IGludGVyZmFjZSBmb3IgdGhlIGVuY29kaW5nIGNvbnZlcnNpb24gZnVuY3Rpb25zPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLWVudGl0aWVzLmh0bWwiPmVudGl0aWVzPC9hPjogaW50ZXJmYWNlIGZvciB0aGUgWE1MIGVudGl0aWVzIGhhbmRsaW5nPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLWdsb2JhbHMuaHRtbCI+Z2xvYmFsczwvYT46IGludGVyZmFjZSBmb3IgYWxsIGdsb2JhbCB2YXJpYWJsZXMgb2YgdGhlIGxpYnJhcnk8L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtaGFzaC5odG1sIj5oYXNoPC9hPjogQ2hhaW5lZCBoYXNoIHRhYmxlczwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC1saXN0Lmh0bWwiPmxpc3Q8L2E+OiBsaXN0cyBpbnRlcmZhY2VzPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLW5hbm9mdHAuaHRtbCI+bmFub2Z0cDwvYT46IG1pbmltYWwgRlRQIGltcGxlbWVudGF0aW9uPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLW5hbm9odHRwLmh0bWwiPm5hbm9odHRwPC9hPjogbWluaW1hbCBIVFRQIGltcGxlbWVudGF0aW9uPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXBhcnNlci5odG1sIj5wYXJzZXI8L2E+OiB0aGUgY29yZSBwYXJzZXIgbW9kdWxlPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXBhcnNlckludGVybmFscy5odG1sIj5wYXJzZXJJbnRlcm5hbHM8L2E+OiBpbnRlcm5hbHMgcm91dGluZXMgYW5kIGxpbWl0cyBleHBvcnRlZCBieSB0aGUgcGFyc2VyLjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC1wYXR0ZXJuLmh0bWwiPnBhdHRlcm48L2E+OiBwYXR0ZXJuIGV4cHJlc3Npb24gaGFuZGxpbmc8L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtcmVsYXhuZy5odG1sIj5yZWxheG5nPC9hPjogaW1wbGVtZW50YXRpb24gb2YgdGhlIFJlbGF4LU5HIHZhbGlkYXRpb248L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sIj5zY2hlbWFzSW50ZXJuYWxzPC9hPjogaW50ZXJuYWwgaW50ZXJmYWNlcyBmb3IgWE1MIFNjaGVtYXM8L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtc2NoZW1hdHJvbi5odG1sIj5zY2hlbWF0cm9uPC9hPjogWE1MIFNjaGVtYXN0cm9uIGltcGxlbWVudGF0aW9uPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXRocmVhZHMuaHRtbCI+dGhyZWFkczwvYT46IGludGVyZmFjZXMgZm9yIHRocmVhZCBoYW5kbGluZzwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwiPnRyZWU8L2E+OiBpbnRlcmZhY2VzIGZvciB0cmVlIG1hbmlwdWxhdGlvbjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC11cmkuaHRtbCI+dXJpPC9hPjogbGlicmFyeSBvZiBnZW5lcmljIFVSSSByZWxhdGVkIHJvdXRpbmVzPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXZhbGlkLmh0bWwiPnZhbGlkPC9hPjogVGhlIERURCB2YWxpZGF0aW9uPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXhpbmNsdWRlLmh0bWwiPnhpbmNsdWRlPC9hPjogaW1wbGVtZW50YXRpb24gb2YgWEluY2x1ZGU8L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwteGxpbmsuaHRtbCI+eGxpbms8L2E+OiB1bmZpbmlzaGVkIFhMaW5rIGRldGVjdGlvbiBtb2R1bGU8L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwteG1sSU8uaHRtbCI+eG1sSU88L2E+OiBpbnRlcmZhY2UgZm9yIHRoZSBJL08gaW50ZXJmYWNlcyB1c2VkIGJ5IHRoZSBwYXJzZXI8L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwteG1sYXV0b21hdGEuaHRtbCI+eG1sYXV0b21hdGE8L2E+OiBBUEkgdG8gYnVpbGQgcmVnZXhwIGF1dG9tYXRhPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXhtbGVycm9yLmh0bWwiPnhtbGVycm9yPC9hPjogZXJyb3IgaGFuZGxpbmc8L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwteG1sZXhwb3J0cy5odG1sIj54bWxleHBvcnRzPC9hPjogbWFjcm9zIGZvciBtYXJraW5nIHN5bWJvbHMgYXMgZXhwb3J0YWJsZS9pbXBvcnRhYmxlLjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC14bWxtZW1vcnkuaHRtbCI+eG1sbWVtb3J5PC9hPjogaW50ZXJmYWNlIGZvciB0aGUgbWVtb3J5IGFsbG9jYXRvcjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC14bWxtb2R1bGUuaHRtbCI+eG1sbW9kdWxlPC9hPjogZHluYW1pYyBtb2R1bGUgbG9hZGluZzwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCI+eG1scmVhZGVyPC9hPjogdGhlIFhNTFJlYWRlciBpbXBsZW1lbnRhdGlvbjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC14bWxyZWdleHAuaHRtbCI+eG1scmVnZXhwPC9hPjogcmVndWxhciBleHByZXNzaW9ucyBoYW5kbGluZzwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC14bWxzYXZlLmh0bWwiPnhtbHNhdmU8L2E+OiB0aGUgWE1MIGRvY3VtZW50IHNlcmlhbGl6ZXI8L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwteG1sc2NoZW1hcy5odG1sIj54bWxzY2hlbWFzPC9hPjogaW5jb21wbGV0ZSBYTUwgU2NoZW1hcyBzdHJ1Y3R1cmUgaW1wbGVtZW50YXRpb248L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwiPnhtbHNjaGVtYXN0eXBlczwvYT46IGltcGxlbWVudGF0aW9uIG9mIFhNTCBTY2hlbWEgRGF0YXR5cGVzPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sIj54bWxzdHJpbmc8L2E+OiBzZXQgb2Ygcm91dGluZXMgdG8gcHJvY2VzcyBzdHJpbmdzPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXhtbHVuaWNvZGUuaHRtbCI+eG1sdW5pY29kZTwvYT46IFVuaWNvZGUgY2hhcmFjdGVyIEFQSXM8L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwteG1sdmVyc2lvbi5odG1sIj54bWx2ZXJzaW9uPC9hPjogY29tcGlsZS10aW1lIHZlcnNpb24gaW5mb3JtYXRpb25zPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sIj54bWx3cml0ZXI8L2E+OiB0ZXh0IHdyaXRpbmcgQVBJIGZvciBYTUw8L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCI+eHBhdGg8L2E+OiBYTUwgUGF0aCBMYW5ndWFnZSBpbXBsZW1lbnRhdGlvbjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC14cGF0aEludGVybmFscy5odG1sIj54cGF0aEludGVybmFsczwvYT46IGludGVybmFsIGludGVyZmFjZXMgZm9yIFhNTCBQYXRoIExhbmd1YWdlIGltcGxlbWVudGF0aW9uPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXhwb2ludGVyLmh0bWwiPnhwb2ludGVyPC9hPjogQVBJIHRvIGhhbmRsZSBYTUwgUG9pbnRlcnM8L2xpPjwvdWw+PHA+PGEgaHJlZj0iLi4vYnVncy5odG1sIj5EYW5pZWwgVmVpbGxhcmQ8L2E+PC9wPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYm9keT48L2h0bWw+CisgICAgPC9zdHlsZT48dGl0bGU+UmVmZXJlbmNlIE1hbnVhbCBmb3IgbGlieG1sMjwvdGl0bGU+PC9oZWFkPjxib2R5IGJnY29sb3I9IiM4Yjc3NjUiIHRleHQ9IiMwMDAwMDAiIGxpbms9IiNhMDYwNjAiIHZsaW5rPSIjMDAwMDAwIj48dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iMTAwJSIgY2VsbHBhZGRpbmc9IjUiIGNlbGxzcGFjaW5nPSIwIiBhbGlnbj0iY2VudGVyIj48dHI+PHRkIHdpZHRoPSIxMjAiPjxhIGhyZWY9Imh0dHA6Ly9zd3BhdC5mZmlpLm9yZy8iPjxpbWcgc3JjPSIuLi9lcGF0ZW50cy5wbmciIGFsdD0iQWN0aW9uIGFnYWluc3Qgc29mdHdhcmUgcGF0ZW50cyIgLz48L2E+PC90ZD48dGQgd2lkdGg9IjE4MCI+PGEgaHJlZj0iaHR0cDovL3d3dy5nbm9tZS5vcmcvIj48aW1nIHNyYz0iLi4vZ25vbWUyLnBuZyIgYWx0PSJHbm9tZTIgTG9nbyIgLz48L2E+PGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvU3RhdHVzIj48aW1nIHNyYz0iLi4vdzNjLnBuZyIgYWx0PSJXM0MgTG9nbyIgLz48L2E+PGEgaHJlZj0iaHR0cDovL3d3dy5yZWRoYXQuY29tLyI+PGltZyBzcmM9Ii4uL3JlZGhhdC5naWYiIGFsdD0iUmVkIEhhdCBMb2dvIiAvPjwvYT48ZGl2IGFsaWduPSJsZWZ0Ij48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvIj48aW1nIHNyYz0iLi4vTGlieG1sMi1Mb2dvLTE4MHgxNjguZ2lmIiBhbHQ9Ik1hZGUgd2l0aCBMaWJ4bWwyIExvZ28iIC8+PC9hPjwvZGl2PjwvdGQ+PHRkPjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSI5MCUiIGNlbGxwYWRkaW5nPSIyIiBjZWxsc3BhY2luZz0iMCIgYWxpZ249ImNlbnRlciIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIiBiZ2NvbG9yPSIjZmZmYWNkIj48dHI+PHRkIGFsaWduPSJjZW50ZXIiPjxoMT48L2gxPjxoMj5SZWZlcmVuY2UgTWFudWFsIGZvciBsaWJ4bWwyPC9oMj48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iNCIgY2VsbHNwYWNpbmc9IjAiIHdpZHRoPSIxMDAlIiBhbGlnbj0iY2VudGVyIj48dHI+PHRkIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMiIgd2lkdGg9IjEwMCUiPjx0cj48dGQgdmFsaWduPSJ0b3AiIHdpZHRoPSIyMDAiIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPkFQSSBNZW51PC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjxmb3JtIGFjdGlvbj0iLi4vc2VhcmNoLnBocCIgZW5jdHlwZT0iYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIiBtZXRob2Q9ImdldCI+PGlucHV0IG5hbWU9InF1ZXJ5IiB0eXBlPSJ0ZXh0IiBzaXplPSIyMCIgdmFsdWU9IiIgLz48aW5wdXQgbmFtZT0ic3VibWl0IiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJTZWFyY2ggLi4uIiAvPjwvZm9ybT48dWw+PGxpPjxhIHN0eWxlPSJmb250LXdlaWdodDpib2xkIiBocmVmPSIuLi9pbmRleC5odG1sIj5NYWluIE1lbnU8L2E+PC9saT48bGk+PGEgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiIGhyZWY9Ii4uL2RvY3MuaHRtbCI+RGV2ZWxvcGVyIE1lbnU8L2E+PC9saT48bGk+PGEgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiIGhyZWY9Ii4uL2V4YW1wbGVzL2luZGV4Lmh0bWwiPkNvZGUgRXhhbXBsZXM8L2E+PC9saT48bGk+PGEgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiIGhyZWY9ImluZGV4Lmh0bWwiPkFQSSBNZW51PC9hPjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC1wYXJzZXIuaHRtbCI+UGFyc2VyIEFQSTwvYT48L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sIj5UcmVlIEFQSTwvYT48L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwiPlJlYWRlciBBUEk8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vZ3VpZGVsaW5lcy5odG1sIj5YTUwgR3VpZGVsaW5lczwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9DaGFuZ2VMb2cuaHRtbCI+Q2hhbmdlTG9nPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+QVBJIEluZGV4ZXM8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHVsPjxsaT48YSBocmVmPSIuLi9BUEljaHVuazAuaHRtbCI+QWxwaGFiZXRpYzwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9BUEljb25zdHJ1Y3RvcnMuaHRtbCI+Q29uc3RydWN0b3JzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0FQSWZ1bmN0aW9ucy5odG1sIj5GdW5jdGlvbnMvVHlwZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQVBJZmlsZXMuaHRtbCI+TW9kdWxlczwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9BUElzeW1ib2xzLmh0bWwiPlN5bWJvbHM8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5SZWxhdGVkIGxpbmtzPC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx1bD48bGk+PGEgaHJlZj0iaHR0cDovL21haWwuZ25vbWUub3JnL2FyY2hpdmVzL3htbC8iPk1haWwgYXJjaGl2ZTwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvWFNMVC8iPlhTTFQgbGlieHNsdDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vcGhkLmNzLnVuaWJvLml0L2dkb21lMi8iPkRPTSBnZG9tZTI8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5hbGVrc2V5LmNvbS94bWxzZWMvIj5YTUwtRFNpZyB4bWxzZWM8L2E+PC9saT48bGk+PGEgaHJlZj0iZnRwOi8veG1sc29mdC5vcmcvIj5GVFA8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy56bGF0a292aWMuY29tL3Byb2plY3RzL2xpYnhtbC8iPldpbmRvd3MgYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL29wZW5jc3cub3JnL3BhY2thZ2VzL2xpYnhtbDIiPlNvbGFyaXMgYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5leHBsYWluLmNvbS5hdS9vc3MvbGlieG1sMnhzbHQuaHRtbCI+TWFjT3NYIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9seG1sLmRlLyI+bHhtbCBQeXRob24gYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2NwYW4udXdpbm5pcGVnLmNhL2Rpc3QvWE1MLUxpYlhNTCI+UGVybCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbGlieG1scGx1c3BsdXMuc291cmNlZm9yZ2UubmV0LyI+QysrIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuemVuZC5jb20vcGhwNS9hcnRpY2xlcy9waHA1LXhtbHBocC5waHAjSGVhZGluZzQiPlBIUCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL2xpYnhtbDItcGFzLyI+UGFzY2FsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9saWJ4bWwucnVieWZvcmdlLm9yZy8iPlJ1YnkgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3RjbHhtbC5zb3VyY2Vmb3JnZS5uZXQvIj5UY2wgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2J1Z3ppbGxhLmdub21lLm9yZy9idWdsaXN0LmNnaT9wcm9kdWN0PWxpYnhtbDIiPkJ1ZyBUcmFja2VyPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjx0ZCB2YWxpZ249InRvcCIgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIzIiBjZWxsc3BhY2luZz0iMSIgd2lkdGg9IjEwMCUiPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PGgyPlRhYmxlIG9mIENvbnRlbnRzPC9oMj48dWw+PGxpPjxhIGhyZWY9ImxpYnhtbC1ET0NCcGFyc2VyLmh0bWwiPkRPQ0JwYXJzZXI8L2E+OiBvbGQgRG9jQm9vayBTR01MIHBhcnNlcjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC1IVE1McGFyc2VyLmh0bWwiPkhUTUxwYXJzZXI8L2E+OiBpbnRlcmZhY2UgZm9yIGFuIEhUTUwgNC4wIG5vbi12ZXJpZnlpbmcgcGFyc2VyPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLUhUTUx0cmVlLmh0bWwiPkhUTUx0cmVlPC9hPjogc3BlY2lmaWMgQVBJcyB0byBwcm9jZXNzIEhUTUwgdHJlZSwgZXNwZWNpYWxseSBzZXJpYWxpemF0aW9uPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLVNBWC5odG1sIj5TQVg8L2E+OiBPbGQgU0FYIHZlcnNpb24gMSBoYW5kbGVyLCBkZXByZWNhdGVkPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLVNBWDIuaHRtbCI+U0FYMjwvYT46IFNBWDIgcGFyc2VyIGludGVyZmFjZSB1c2VkIHRvIGJ1aWxkIHRoZSBET00gdHJlZTwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC1jMTRuLmh0bWwiPmMxNG48L2E+OiBQcm92aWRlIENhbm9uaWNhbCBYTUwgYW5kIEV4Y2x1c2l2ZSBYTUwgQ2Fub25pY2FsaXphdGlvbjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC1jYXRhbG9nLmh0bWwiPmNhdGFsb2c8L2E+OiBpbnRlcmZhY2VzIHRvIHRoZSBDYXRhbG9nIGhhbmRsaW5nIHN5c3RlbTwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC1jaHZhbGlkLmh0bWwiPmNodmFsaWQ8L2E+OiBVbmljb2RlIGNoYXJhY3RlciByYW5nZSBjaGVja2luZzwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC1kZWJ1Z1hNTC5odG1sIj5kZWJ1Z1hNTDwvYT46IFRyZWUgZGVidWdnaW5nIEFQSXM8L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtZGljdC5odG1sIj5kaWN0PC9hPjogc3RyaW5nIGRpY3Rpb25hcnk8L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtZW5jb2RpbmcuaHRtbCI+ZW5jb2Rpbmc8L2E+OiBpbnRlcmZhY2UgZm9yIHRoZSBlbmNvZGluZyBjb252ZXJzaW9uIGZ1bmN0aW9uczwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC1lbnRpdGllcy5odG1sIj5lbnRpdGllczwvYT46IGludGVyZmFjZSBmb3IgdGhlIFhNTCBlbnRpdGllcyBoYW5kbGluZzwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC1nbG9iYWxzLmh0bWwiPmdsb2JhbHM8L2E+OiBpbnRlcmZhY2UgZm9yIGFsbCBnbG9iYWwgdmFyaWFibGVzIG9mIHRoZSBsaWJyYXJ5PC9saT48bGk+PGEgaHJlZj0ibGlieG1sLWhhc2guaHRtbCI+aGFzaDwvYT46IENoYWluZWQgaGFzaCB0YWJsZXM8L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtbGlzdC5odG1sIj5saXN0PC9hPjogbGlzdHMgaW50ZXJmYWNlczwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC1uYW5vZnRwLmh0bWwiPm5hbm9mdHA8L2E+OiBtaW5pbWFsIEZUUCBpbXBsZW1lbnRhdGlvbjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC1uYW5vaHR0cC5odG1sIj5uYW5vaHR0cDwvYT46IG1pbmltYWwgSFRUUCBpbXBsZW1lbnRhdGlvbjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC1wYXJzZXIuaHRtbCI+cGFyc2VyPC9hPjogdGhlIGNvcmUgcGFyc2VyIG1vZHVsZTwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCI+cGFyc2VySW50ZXJuYWxzPC9hPjogaW50ZXJuYWxzIHJvdXRpbmVzIGFuZCBsaW1pdHMgZXhwb3J0ZWQgYnkgdGhlIHBhcnNlci48L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtcGF0dGVybi5odG1sIj5wYXR0ZXJuPC9hPjogcGF0dGVybiBleHByZXNzaW9uIGhhbmRsaW5nPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXJlbGF4bmcuaHRtbCI+cmVsYXhuZzwvYT46IGltcGxlbWVudGF0aW9uIG9mIHRoZSBSZWxheC1ORyB2YWxpZGF0aW9uPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCI+c2NoZW1hc0ludGVybmFsczwvYT46IGludGVybmFsIGludGVyZmFjZXMgZm9yIFhNTCBTY2hlbWFzPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXNjaGVtYXRyb24uaHRtbCI+c2NoZW1hdHJvbjwvYT46IFhNTCBTY2hlbWFzdHJvbiBpbXBsZW1lbnRhdGlvbjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC10aHJlYWRzLmh0bWwiPnRocmVhZHM8L2E+OiBpbnRlcmZhY2VzIGZvciB0aHJlYWQgaGFuZGxpbmc8L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sIj50cmVlPC9hPjogaW50ZXJmYWNlcyBmb3IgdHJlZSBtYW5pcHVsYXRpb248L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtdXJpLmh0bWwiPnVyaTwvYT46IGxpYnJhcnkgb2YgZ2VuZXJpYyBVUkkgcmVsYXRlZCByb3V0aW5lczwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC12YWxpZC5odG1sIj52YWxpZDwvYT46IFRoZSBEVEQgdmFsaWRhdGlvbjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC14aW5jbHVkZS5odG1sIj54aW5jbHVkZTwvYT46IGltcGxlbWVudGF0aW9uIG9mIFhJbmNsdWRlPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXhsaW5rLmh0bWwiPnhsaW5rPC9hPjogdW5maW5pc2hlZCBYTGluayBkZXRlY3Rpb24gbW9kdWxlPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXhtbElPLmh0bWwiPnhtbElPPC9hPjogaW50ZXJmYWNlIGZvciB0aGUgSS9PIGludGVyZmFjZXMgdXNlZCBieSB0aGUgcGFyc2VyPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXhtbGF1dG9tYXRhLmh0bWwiPnhtbGF1dG9tYXRhPC9hPjogQVBJIHRvIGJ1aWxkIHJlZ2V4cCBhdXRvbWF0YTwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC14bWxlcnJvci5odG1sIj54bWxlcnJvcjwvYT46IGVycm9yIGhhbmRsaW5nPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXhtbGV4cG9ydHMuaHRtbCI+eG1sZXhwb3J0czwvYT46IG1hY3JvcyBmb3IgbWFya2luZyBzeW1ib2xzIGFzIGV4cG9ydGFibGUvaW1wb3J0YWJsZS48L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwteG1sbWVtb3J5Lmh0bWwiPnhtbG1lbW9yeTwvYT46IGludGVyZmFjZSBmb3IgdGhlIG1lbW9yeSBhbGxvY2F0b3I8L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwteG1sbW9kdWxlLmh0bWwiPnhtbG1vZHVsZTwvYT46IGR5bmFtaWMgbW9kdWxlIGxvYWRpbmc8L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwiPnhtbHJlYWRlcjwvYT46IHRoZSBYTUxSZWFkZXIgaW1wbGVtZW50YXRpb248L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwteG1scmVnZXhwLmh0bWwiPnhtbHJlZ2V4cDwvYT46IHJlZ3VsYXIgZXhwcmVzc2lvbnMgaGFuZGxpbmc8L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwteG1sc2F2ZS5odG1sIj54bWxzYXZlPC9hPjogdGhlIFhNTCBkb2N1bWVudCBzZXJpYWxpemVyPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXhtbHNjaGVtYXMuaHRtbCI+eG1sc2NoZW1hczwvYT46IGluY29tcGxldGUgWE1MIFNjaGVtYXMgc3RydWN0dXJlIGltcGxlbWVudGF0aW9uPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sIj54bWxzY2hlbWFzdHlwZXM8L2E+OiBpbXBsZW1lbnRhdGlvbiBvZiBYTUwgU2NoZW1hIERhdGF0eXBlczwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCI+eG1sc3RyaW5nPC9hPjogc2V0IG9mIHJvdXRpbmVzIHRvIHByb2Nlc3Mgc3RyaW5nczwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC14bWx1bmljb2RlLmh0bWwiPnhtbHVuaWNvZGU8L2E+OiBVbmljb2RlIGNoYXJhY3RlciBBUElzPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXhtbHZlcnNpb24uaHRtbCI+eG1sdmVyc2lvbjwvYT46IGNvbXBpbGUtdGltZSB2ZXJzaW9uIGluZm9ybWF0aW9uczwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC14bWx3cml0ZXIuaHRtbCI+eG1sd3JpdGVyPC9hPjogdGV4dCB3cml0aW5nIEFQSSBmb3IgWE1MPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwiPnhwYXRoPC9hPjogWE1MIFBhdGggTGFuZ3VhZ2UgaW1wbGVtZW50YXRpb248L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCI+eHBhdGhJbnRlcm5hbHM8L2E+OiBpbnRlcm5hbCBpbnRlcmZhY2VzIGZvciBYTUwgUGF0aCBMYW5ndWFnZSBpbXBsZW1lbnRhdGlvbjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC14cG9pbnRlci5odG1sIj54cG9pbnRlcjwvYT46IEFQSSB0byBoYW5kbGUgWE1MIFBvaW50ZXJzPC9saT48L3VsPjxwPjxhIGhyZWY9Ii4uL2J1Z3MuaHRtbCI+RGFuaWVsIFZlaWxsYXJkPC9hPjwvcD48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvZG9jL2h0bWwvbGlieG1sLXBhcnNlci5odG1sIGIvZG9jL2h0bWwvbGlieG1sLXBhcnNlci5odG1sCmluZGV4IDk4MTIzZjcuLjRkODkwYzYgMTAwNjQ0Ci0tLSBhL2RvYy9odG1sL2xpYnhtbC1wYXJzZXIuaHRtbAorKysgYi9kb2MvaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwKQEAgLTI3OSw3ICsyNzksNyBAQAogICAgIDxhIG5hbWU9IlhNTF9QQVJTRV9TQVgxIiBpZD0iWE1MX1BBUlNFX1NBWDEiPlhNTF9QQVJTRV9TQVgxPC9hPiA9IDUxMiA6IHVzZSB0aGUgU0FYMSBpbnRlcmZhY2UgaW50ZXJuYWxseQogICAgIDxhIG5hbWU9IlhNTF9QQVJTRV9YSU5DTFVERSIgaWQ9IlhNTF9QQVJTRV9YSU5DTFVERSI+WE1MX1BBUlNFX1hJTkNMVURFPC9hPiA9IDEwMjQgOiBJbXBsZW1lbnQgWEluY2x1ZGUgc3Vic3RpdGl0aW9uCiAgICAgPGEgbmFtZT0iWE1MX1BBUlNFX05PTkVUIiBpZD0iWE1MX1BBUlNFX05PTkVUIj5YTUxfUEFSU0VfTk9ORVQ8L2E+ID0gMjA0OCA6IEZvcmJpZCBuZXR3b3JrIGFjY2VzcwotICAgIDxhIG5hbWU9IlhNTF9QQVJTRV9OT0RJQ1QiIGlkPSJYTUxfUEFSU0VfTk9ESUNUIj5YTUxfUEFSU0VfTk9ESUNUPC9hPiA9IDQwOTYgOiBEbyBub3QgcmV1c2UgdGhlIGNvbnRleHQgZGljdGlvbm5hcnkKKyAgICA8YSBuYW1lPSJYTUxfUEFSU0VfTk9ESUNUIiBpZD0iWE1MX1BBUlNFX05PRElDVCI+WE1MX1BBUlNFX05PRElDVDwvYT4gPSA0MDk2IDogRG8gbm90IHJldXNlIHRoZSBjb250ZXh0IGRpY3Rpb25hcnkKICAgICA8YSBuYW1lPSJYTUxfUEFSU0VfTlNDTEVBTiIgaWQ9IlhNTF9QQVJTRV9OU0NMRUFOIj5YTUxfUEFSU0VfTlNDTEVBTjwvYT4gPSA4MTkyIDogcmVtb3ZlIHJlZHVuZGFudCBuYW1lc3BhY2VzIGRlY2xhcmF0aW9ucwogICAgIDxhIG5hbWU9IlhNTF9QQVJTRV9OT0NEQVRBIiBpZD0iWE1MX1BBUlNFX05PQ0RBVEEiPlhNTF9QQVJTRV9OT0NEQVRBPC9hPiA9IDE2Mzg0IDogbWVyZ2UgQ0RBVEEgYXMgdGV4dCBub2RlcwogICAgIDxhIG5hbWU9IlhNTF9QQVJTRV9OT1hJTkNOT0RFIiBpZD0iWE1MX1BBUlNFX05PWElOQ05PREUiPlhNTF9QQVJTRV9OT1hJTkNOT0RFPC9hPiA9IDMyNzY4IDogZG8gbm90IGdlbmVyYXRlIFhJTkNMVURFIFNUQVJUL0VORCBub2RlcwpkaWZmIC0tZ2l0IGEvZG9jL2h0bWwvbGlieG1sLXRyZWUuaHRtbCBiL2RvYy9odG1sL2xpYnhtbC10cmVlLmh0bWwKaW5kZXggZDFkMDA1Zi4uZDk1ODcyZCAxMDA2NDQKLS0tIGEvZG9jL2h0bWwvbGlieG1sLXRyZWUuaHRtbAorKysgYi9kb2MvaHRtbC9saWJ4bWwtdHJlZS5odG1sCkBAIC01NTUsNyArNTU1LDcgQEAKICAgICB2b2lkICoJY2F0YWxvZ3MJOiBkb2N1bWVudCdzIG93biBjYXRhbG9nCiAgICAgaW50CXJlY292ZXJ5CTogcnVuIGluIHJlY292ZXJ5IG1vZGUKICAgICBpbnQJcHJvZ3Jlc3NpdmUJOiBpcyB0aGlzIGEgcHJvZ3Jlc3NpdmUgcGFyc2luZwotICAgIDxhIGhyZWY9ImxpYnhtbC1kaWN0Lmh0bWwjeG1sRGljdFB0ciI+eG1sRGljdFB0cjwvYT4JZGljdAk6IGRpY3Rpb25uYXJ5IGZvciB0aGUgcGFyc2VyCisgICAgPGEgaHJlZj0ibGlieG1sLWRpY3QuaHRtbCN4bWxEaWN0UHRyIj54bWxEaWN0UHRyPC9hPglkaWN0CTogZGljdGlvbmFyeSBmb3IgdGhlIHBhcnNlcgogICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqICoJYXR0cwk6IGFycmF5IGZvciB0aGUgYXR0cmlidXRlcyBjYWxsYmFja3MKICAgICBpbnQJbWF4YXR0cwk6IHRoZSBzaXplIG9mIHRoZSBhcnJheQogICAgIGludAlkb2NkaWN0CTogKiBwcmUtaW50ZXJuZWQgc3RyaW5ncyAqCmRpZmYgLS1naXQgYS9kb2MvaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwgYi9kb2MvaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwKaW5kZXggZDY1Mzc3NS4uMzQwNmUwOSAxMDA2NDQKLS0tIGEvZG9jL2h0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sCisrKyBiL2RvYy9odG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbApAQCAtNjUsNyArNjUsNyBAQAogPC9wcmU+PHA+SW5pdGlhbGl6ZSB0aGUgbWVtb3J5IGxheWVyLjwvcD4KIDxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgb24gc3VjY2VzczwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbE1hbGxvY0F0b21pY0xvYyIgaWQ9InhtbE1hbGxvY0F0b21pY0xvYyI+PC9hPkZ1bmN0aW9uOiB4bWxNYWxsb2NBdG9taWNMb2M8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkICoJeG1sTWFsbG9jQXRvbWljTG9jCQkoc2l6ZV90IHNpemUsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBmaWxlLCA8YnIgLz4JCQkJCSBpbnQgbGluZSk8YnIgLz4KIDwvcHJlPjxwPmEgbWFsbG9jKCkgZXF1aXZhbGVudCwgd2l0aCBsb2dnaW5nIG9mIHRoZSBhbGxvY2F0aW9uIGluZm8uPC9wPgotPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c2l6ZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gaW50IHNwZWNpZnlpbmcgdGhlIHNpemUgaW4gYnl0ZSB0byBhbGxvY2F0ZS48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZpbGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBmaWxlIG5hbWUgb3IgTlVMTDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bGluZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGxpbmUgbnVtYmVyPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHBvaW50ZXIgdG8gdGhlIGFsbG9jYXRlZCBhcmVhIG9yIE5VTEwgaW4gY2FzZSBvZiBsYWNrIG9mIG1lbW9yeS48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxNYWxsb2NGdW5jIiBpZD0ieG1sTWFsbG9jRnVuYyI+PC9hPkZ1bmN0aW9uIHR5cGU6IHhtbE1hbGxvY0Z1bmM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5GdW5jdGlvbiB0eXBlOiB4bWxNYWxsb2NGdW5jCis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zaXplPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiB1bnNpZ25lZCBpbnQgc3BlY2lmeWluZyB0aGUgc2l6ZSBpbiBieXRlIHRvIGFsbG9jYXRlLjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZmlsZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGZpbGUgbmFtZSBvciBOVUxMPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5saW5lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbGluZSBudW1iZXI8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9pbnRlciB0byB0aGUgYWxsb2NhdGVkIGFyZWEgb3IgTlVMTCBpbiBjYXNlIG9mIGxhY2sgb2YgbWVtb3J5LjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbE1hbGxvY0Z1bmMiIGlkPSJ4bWxNYWxsb2NGdW5jIj48L2E+RnVuY3Rpb24gdHlwZTogeG1sTWFsbG9jRnVuYzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPkZ1bmN0aW9uIHR5cGU6IHhtbE1hbGxvY0Z1bmMKIHZvaWQgKgl4bWxNYWxsb2NGdW5jCQkJKHNpemVfdCBzaXplKQogPC9wcmU+PHA+U2lnbmF0dXJlIGZvciBhIG1hbGxvYygpIGltcGxlbWVudGF0aW9uLjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zaXplPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc2l6ZSByZXF1ZXN0ZWQgaW4gYnl0ZXM8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9pbnRlciB0byB0aGUgbmV3bHkgYWxsb2NhdGVkIGJsb2NrIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxiciAvPgogPGgzPjxhIG5hbWU9InhtbE1hbGxvY0xvYyIgaWQ9InhtbE1hbGxvY0xvYyI+PC9hPkZ1bmN0aW9uOiB4bWxNYWxsb2NMb2M8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkICoJeG1sTWFsbG9jTG9jCQkJKHNpemVfdCBzaXplLCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogZmlsZSwgPGJyIC8+CQkJCQkgaW50IGxpbmUpPGJyIC8+CmRpZmYgLS1naXQgYS9kb2MvaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwgYi9kb2MvaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwKaW5kZXggOGRkYTY5OS4uNTY0ZjY1ZSAxMDA2NDQKLS0tIGEvZG9jL2h0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sCisrKyBiL2RvYy9odG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbApAQCAtMTAxLDcgKzEwMSw3IEBACiA8L3ByZT48cD5HZXQgdGhlIGF0b20gYXNzb2NpYXRlZCB0byB0aGlzIG5hbWUgZnJvbSB0aGF0IGNvbnRleHQ8L3A+CiA8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZXhwcmVzc2lvbiBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYXRvbSBuYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5sZW48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBhdG9tIG5hbWUgbGVuZ3RoIGluIGJ5dGUgKG9yIC0xKTs8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBub2RlIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbEV4cE5ld0N0eHQiIGlkPSJ4bWxFeHBOZXdDdHh0Ij48L2E+RnVuY3Rpb246IHhtbEV4cE5ld0N0eHQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwQ3R4dFB0ciI+eG1sRXhwQ3R4dFB0cjwvYT4JeG1sRXhwTmV3Q3R4dAkJKGludCBtYXhOb2RlcywgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLWRpY3QuaHRtbCN4bWxEaWN0UHRyIj54bWxEaWN0UHRyPC9hPiBkaWN0KTxiciAvPgogPC9wcmU+PHA+Q3JlYXRlcyBhIG5ldyBjb250ZXh0IGZvciBtYW5pcHVsYXRpbmcgZXhwcmVzc2lvbnM8L3A+Ci08ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5tYXhOb2RlczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG1heGltdW0gbnVtYmVyIG9mIG5vZGVzPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kaWN0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5vcHRpb25hbCBkaWN0aW9ubmFyeSB0byB1c2UgaW50ZXJuYWxseTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGNvbnRleHQgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sRXhwTmV3T3IiIGlkPSJ4bWxFeHBOZXdPciI+PC9hPkZ1bmN0aW9uOiB4bWxFeHBOZXdPcjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBOb2RlUHRyIj54bWxFeHBOb2RlUHRyPC9hPgl4bWxFeHBOZXdPcgkJKDxhIGhyZWY9ImxpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBDdHh0UHRyIj54bWxFeHBDdHh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwTm9kZVB0ciI+eG1sRXhwTm9kZVB0cjwvYT4gbGVmdCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cE5vZGVQdHIiPnhtbEV4cE5vZGVQdHI8L2E+IHJpZ2h0KTxiciAvPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bWF4Tm9kZXM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBtYXhpbXVtIG51bWJlciBvZiBub2RlczwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZGljdDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+b3B0aW9uYWwgZGljdGlvbmFyeSB0byB1c2UgaW50ZXJuYWxseTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGNvbnRleHQgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sRXhwTmV3T3IiIGlkPSJ4bWxFeHBOZXdPciI+PC9hPkZ1bmN0aW9uOiB4bWxFeHBOZXdPcjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBOb2RlUHRyIj54bWxFeHBOb2RlUHRyPC9hPgl4bWxFeHBOZXdPcgkJKDxhIGhyZWY9ImxpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBDdHh0UHRyIj54bWxFeHBDdHh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwTm9kZVB0ciI+eG1sRXhwTm9kZVB0cjwvYT4gbGVmdCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cE5vZGVQdHIiPnhtbEV4cE5vZGVQdHI8L2E+IHJpZ2h0KTxiciAvPgogPC9wcmU+PHA+R2V0IHRoZSBhdG9tIGFzc29jaWF0ZWQgdG8gdGhlIGNob2ljZSBAbGVmdCB8IEByaWdodCBOb3RlIHRoYXQgQGxlZnQgYW5kIEByaWdodCBhcmUgY29uc3VtZWQgaW4gdGhlIG9wZXJhdGlvbiwgdG8ga2VlcCBhbiBoYW5kbGUgb24gdGhlbSB1c2UgeG1sRXhwUmVmKCkgYW5kIHVzZSB4bWxFeHBGcmVlKCkgdG8gcmVsZWFzZSB0aGVtLCB0aGlzIGlzIHRydWUgZXZlbiBpbiBjYXNlIG9mIGZhaWx1cmUgKHVubGVzcyBjdHh0ID09IE5VTEwpLjwvcD4KIDxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBleHByZXNzaW9uIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmxlZnQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmxlZnQgZXhwcmVzc2lvbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cmlnaHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnJpZ2h0IGV4cHJlc3Npb248L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBub2RlIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbEV4cE5ld1JhbmdlIiBpZD0ieG1sRXhwTmV3UmFuZ2UiPjwvYT5GdW5jdGlvbjogeG1sRXhwTmV3UmFuZ2U8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwTm9kZVB0ciI+eG1sRXhwTm9kZVB0cjwvYT4JeG1sRXhwTmV3UmFuZ2UJCSg8YSBocmVmPSJsaWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwQ3R4dFB0ciI+eG1sRXhwQ3R4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cE5vZGVQdHIiPnhtbEV4cE5vZGVQdHI8L2E+IHN1YnNldCwgPGJyIC8+CQkJCQkgaW50IG1pbiwgPGJyIC8+CQkJCQkgaW50IG1heCk8YnIgLz4KIDwvcHJlPjxwPkdldCB0aGUgYXRvbSBhc3NvY2lhdGVkIHRvIHRoZSByYW5nZSAoQHN1YnNldCl7QG1pbiwgQG1heH0gTm90ZSB0aGF0IEBzdWJzZXQgaXMgY29uc3VtZWQgaW4gdGhlIG9wZXJhdGlvbiwgdG8ga2VlcCBhbiBoYW5kbGUgb24gaXQgdXNlIHhtbEV4cFJlZigpIGFuZCB1c2UgeG1sRXhwRnJlZSgpIHRvIHJlbGVhc2UgaXQsIHRoaXMgaXMgdHJ1ZSBldmVuIGluIGNhc2Ugb2YgZmFpbHVyZSAodW5sZXNzIGN0eHQgPT0gTlVMTCkuPC9wPgpkaWZmIC0tZ2l0IGEvZG9jL2h0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sIGIvZG9jL2h0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sCmluZGV4IDRmMTJjYzcuLjg5ZTk4MDkgMTAwNjQ0Ci0tLSBhL2RvYy9odG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbAorKysgYi9kb2MvaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwKQEAgLTE2LDkgKzE2LDkgQEAKIDxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbENoZWNrVVRGOCI+eG1sQ2hlY2tVVEY4PC9hPgkJCShjb25zdCB1bnNpZ25lZCBjaGFyICogdXRmKTwvcHJlPgogPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sR2V0VVRGOENoYXIiPnhtbEdldFVURjhDaGFyPC9hPgkJCShjb25zdCB1bnNpZ25lZCBjaGFyICogdXRmLCA8YnIgLz4JCQkJCSBpbnQgKiBsZW4pPC9wcmU+CiA8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxTdHJFcXVhbCI+eG1sU3RyRXF1YWw8L2E+CQkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN0cjEsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN0cjIpPC9wcmU+Ci08cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxTdHJQcmludGYiPnhtbFN0clByaW50ZjwvYT4JCQkoPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogYnVmLCA8YnIgLz4JCQkJCSBpbnQgbGVuLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBtc2csIDxiciAvPgkJCQkJIC4uLiAuLi4pPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxTdHJQcmludGYiPnhtbFN0clByaW50ZjwvYT4JCQkoPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogYnVmLCA8YnIgLz4JCQkJCSBpbnQgbGVuLCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogbXNnLCA8YnIgLz4JCQkJCSAuLi4gLi4uKTwvcHJlPgogPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sU3RyUUVxdWFsIj54bWxTdHJRRXF1YWw8L2E+CQkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHByZWYsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN0cik8L3ByZT4KLTxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFN0clZQcmludGYiPnhtbFN0clZQcmludGY8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGJ1ZiwgPGJyIC8+CQkJCQkgaW50IGxlbiwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbXNnLCA8YnIgLz4JCQkJCSB2YV9saXN0IGFwKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sU3RyVlByaW50ZiI+eG1sU3RyVlByaW50ZjwvYT4JCQkoPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogYnVmLCA8YnIgLz4JCQkJCSBpbnQgbGVuLCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogbXNnLCA8YnIgLz4JCQkJCSB2YV9saXN0IGFwKTwvcHJlPgogPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sU3RyY2FzZWNtcCI+eG1sU3RyY2FzZWNtcDwvYT4JCQkoY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3RyMSwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3RyMik8L3ByZT4KIDxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5jb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgk8YSBocmVmPSIjeG1sU3RyY2FzZXN0ciI+eG1sU3RyY2FzZXN0cjwvYT4JCShjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzdHIsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHZhbCk8L3ByZT4KIDxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgk8YSBocmVmPSIjeG1sU3RyY2F0Ij54bWxTdHJjYXQ8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY3VyLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBhZGQpPC9wcmU+CkBAIC01NSwxMSArNTUsMTEgQEAKIDwvcHJlPjxwPlJlYWQgdGhlIGZpcnN0IFVURjggY2hhcmFjdGVyIGZyb20gQHV0ZjwvcD4KIDxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnV0ZjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBzZXF1ZW5jZSBvZiBVVEYtOCBlbmNvZGVkIGJ5dGVzPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5sZW48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9pbnRlciB0byB0aGUgbWluaW11bSBudW1iZXIgb2YgYnl0ZXMgcHJlc2VudCBpbiB0aGUgc2VxdWVuY2UuIFRoaXMgaXMgdXNlZCB0byBhc3N1cmUgdGhlIG5leHQgY2hhcmFjdGVyIGlzIGNvbXBsZXRlbHkgY29udGFpbmVkIHdpdGhpbiB0aGUgc2VxdWVuY2UuPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgY2hhciB2YWx1ZSBvciAtMSBpbiBjYXNlIG9mIGVycm9yLCBhbmQgc2V0cyAqbGVuIHRvIHRoZSBhY3R1YWwgbnVtYmVyIG9mIGJ5dGVzIGNvbnN1bWVkICgwIGluIGNhc2Ugb2YgZXJyb3IpPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sU3RyRXF1YWwiIGlkPSJ4bWxTdHJFcXVhbCI+PC9hPkZ1bmN0aW9uOiB4bWxTdHJFcXVhbDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxTdHJFcXVhbAkJCShjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzdHIxLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzdHIyKTxiciAvPgogPC9wcmU+PHA+Q2hlY2sgaWYgYm90aCBzdHJpbmdzIGFyZSBlcXVhbCBvZiBoYXZlIHNhbWUgY29udGVudC4gU2hvdWxkIGJlIGEgYml0IG1vcmUgcmVhZGFibGUgYW5kIGZhc3RlciB0aGFuIHhtbFN0cmNtcCgpPC9wPgotPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3RyMTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGZpcnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zdHIyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc2Vjb25kIDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRoZXkgYXJlIGVxdWFsLCAwIGlmIHRoZXkgYXJlIGRpZmZlcmVudDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFN0clByaW50ZiIgaWQ9InhtbFN0clByaW50ZiI+PC9hPkZ1bmN0aW9uOiB4bWxTdHJQcmludGY8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sU3RyUHJpbnRmCQkJKDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGJ1ZiwgPGJyIC8+CQkJCQkgaW50IGxlbiwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbXNnLCA8YnIgLz4JCQkJCSAuLi4gLi4uKTxiciAvPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3RyMTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGZpcnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zdHIyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc2Vjb25kIDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRoZXkgYXJlIGVxdWFsLCAwIGlmIHRoZXkgYXJlIGRpZmZlcmVudDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFN0clByaW50ZiIgaWQ9InhtbFN0clByaW50ZiI+PC9hPkZ1bmN0aW9uOiB4bWxTdHJQcmludGY8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sU3RyUHJpbnRmCQkJKDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGJ1ZiwgPGJyIC8+CQkJCQkgaW50IGxlbiwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIG1zZywgPGJyIC8+CQkJCQkgLi4uIC4uLik8YnIgLz4KIDwvcHJlPjxwPkZvcm1hdHMgQG1zZyBhbmQgcGxhY2VzIHJlc3VsdCBpbnRvIEBidWYuPC9wPgogPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YnVmPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcmVzdWx0IGJ1ZmZlci48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmxlbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHJlc3VsdCBidWZmZXIgbGVuZ3RoLjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bXNnPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbWVzc2FnZSB3aXRoIHByaW50ZiBmb3JtYXR0aW5nLjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Li4uPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5leHRyYSBwYXJhbWV0ZXJzIGZvciB0aGUgbWVzc2FnZS48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBudW1iZXIgb2YgPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2NoYXJhY3RlcnMiPmNoYXJhY3RlcnM8L2E+IHdyaXR0ZW4gdG8gQGJ1ZiBvciAtMSBpZiBhbiBlcnJvciBvY2N1cnMuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sU3RyUUVxdWFsIiBpZD0ieG1sU3RyUUVxdWFsIj48L2E+RnVuY3Rpb246IHhtbFN0clFFcXVhbDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxTdHJRRXF1YWwJCQkoY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcHJlZiwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3RyKTxiciAvPgogPC9wcmU+PHA+Q2hlY2sgaWYgYSBRTmFtZSBpcyBFcXVhbCB0byBhIGdpdmVuIHN0cmluZzwvcD4KLTxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnByZWY8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBwcmVmaXggb2YgdGhlIFFOYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbG9jYWxuYW1lIG9mIHRoZSBRTmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3RyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc2Vjb25kIDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRoZXkgYXJlIGVxdWFsLCAwIGlmIHRoZXkgYXJlIGRpZmZlcmVudDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFN0clZQcmludGYiIGlkPSJ4bWxTdHJWUHJpbnRmIj48L2E+RnVuY3Rpb246IHhtbFN0clZQcmludGY8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sU3RyVlByaW50ZgkJCSg8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBidWYsIDxiciAvPgkJCQkJIGludCBsZW4sIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG1zZywgPGJyIC8+CQkJCQkgdmFfbGlzdCBhcCk8YnIgLz4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnByZWY8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBwcmVmaXggb2YgdGhlIFFOYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbG9jYWxuYW1lIG9mIHRoZSBRTmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3RyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc2Vjb25kIDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRoZXkgYXJlIGVxdWFsLCAwIGlmIHRoZXkgYXJlIGRpZmZlcmVudDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFN0clZQcmludGYiIGlkPSJ4bWxTdHJWUHJpbnRmIj48L2E+RnVuY3Rpb246IHhtbFN0clZQcmludGY8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sU3RyVlByaW50ZgkJCSg8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBidWYsIDxiciAvPgkJCQkJIGludCBsZW4sIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBtc2csIDxiciAvPgkJCQkJIHZhX2xpc3QgYXApPGJyIC8+CiA8L3ByZT48cD5Gb3JtYXRzIEBtc2cgYW5kIHBsYWNlcyByZXN1bHQgaW50byBAYnVmLjwvcD4KIDxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmJ1ZjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHJlc3VsdCBidWZmZXIuPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5sZW48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSByZXN1bHQgYnVmZmVyIGxlbmd0aC48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm1zZzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG1lc3NhZ2Ugd2l0aCBwcmludGYgZm9ybWF0dGluZy48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmFwPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5leHRyYSBwYXJhbWV0ZXJzIGZvciB0aGUgbWVzc2FnZS48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBudW1iZXIgb2YgPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2NoYXJhY3RlcnMiPmNoYXJhY3RlcnM8L2E+IHdyaXR0ZW4gdG8gQGJ1ZiBvciAtMSBpZiBhbiBlcnJvciBvY2N1cnMuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sU3RyY2FzZWNtcCIgaWQ9InhtbFN0cmNhc2VjbXAiPjwvYT5GdW5jdGlvbjogeG1sU3RyY2FzZWNtcDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxTdHJjYXNlY21wCQkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN0cjEsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN0cjIpPGJyIC8+CiA8L3ByZT48cD5hIHN0cmNhc2VjbXAgZm9yIHhtbENoYXInczwvcD4KZGlmZiAtLWdpdCBhL2RvYy9pbmRleC5weSBiL2RvYy9pbmRleC5weQppbmRleCA1NzhmMjg4Li4xODk1ZDg0IDEwMDc1NQotLS0gYS9kb2MvaW5kZXgucHkKKysrIGIvZG9jL2luZGV4LnB5CkBAIC00OSw3ICs0OSw3IEBACiBsaWJ4bWwyLnJlZ2lzdGVyRXJyb3JIYW5kbGVyKGNhbGxiYWNrLCBOb25lKQogCiAjCi0jIFRoZSBkaWN0aW9ubmFyeSBvZiB0YWJsZXMgcmVxdWlyZWQgYW5kIHRoZSBTUUwgY29tbWFuZCBuZWVkZWQKKyMgVGhlIGRpY3Rpb25hcnkgb2YgdGFibGVzIHJlcXVpcmVkIGFuZCB0aGUgU1FMIGNvbW1hbmQgbmVlZGVkCiAjIHRvIGNyZWF0ZSB0aGVtCiAjCiBUQUJMRVM9ewpAQCAtNDM4LDEyICs0MzgsMTIgQEAKIAkgICAgcHJpbnQgIiIiVVBEQVRFIHdvcmRzQXJjaGl2ZSBTRVQgcmVsZXZhbmNlPSclZCcgd2hlcmUgbmFtZT0nJXMnIGFuZCBJRD0nJWQnIiIiICUgKHJlbGV2YW5jZSwgbmFtZSwgaWQpCiAJICAgIHByaW50IHN5cy5leGNfdHlwZSwgc3lzLmV4Y192YWx1ZQogCSAgICByZXR1cm4gLTEKLQkgICAgIAorCiAgICAgcmV0dXJuIHJldAogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAjCQkJCQkJCQkJIwotIyAgICAgICAgICAgICAgICAgIFdvcmQgZGljdGlvbm5hcnkgYW5kIGFuYWx5c2lzIHJvdXRpbmVzCQkjCisjICAgICAgICAgICAgICAgICAgV29yZCBkaWN0aW9uYXJ5IGFuZCBhbmFseXNpcyByb3V0aW5lcwkJIwogIwkJCQkJCQkJCSMKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvZG9jL2xpYnhtbDItYXBpLnhtbCBiL2RvYy9saWJ4bWwyLWFwaS54bWwKaW5kZXggNTU3M2YwYy4uYTBhMDExNyAxMDA2NDQKLS0tIGEvZG9jL2xpYnhtbDItYXBpLnhtbAorKysgYi9kb2MvbGlieG1sMi1hcGkueG1sCkBAIC0zNjcsNyArMzY3LDcgQEAKICAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxTaGVsbCcgdHlwZT0nZnVuY3Rpb24nLz4KICAgICA8L2ZpbGU+CiAgICAgPGZpbGUgbmFtZT0nZGljdCc+Ci0gICAgIDxzdW1tYXJ5PnN0cmluZyBkaWN0aW9ubmFyeTwvc3VtbWFyeT4KKyAgICAgPHN1bW1hcnk+c3RyaW5nIGRpY3Rpb25hcnk8L3N1bW1hcnk+CiAgICAgIDxkZXNjcmlwdGlvbj5kaWN0aW9uYXJ5IG9mIHJldXNhYmxlIHN0cmluZ3MsIGp1c3QgdXNlZCB0byBhdm9pZCBhbGxvY2F0aW9uIGFuZCBmcmVlaW5nIG9wZXJhdGlvbnMuIDwvZGVzY3JpcHRpb24+CiAgICAgIDxhdXRob3I+RGFuaWVsIFZlaWxsYXJkIDwvYXV0aG9yPgogICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbERpY3QnIHR5cGU9J3R5cGVkZWYnLz4KQEAgLTUxNDIsNyArNTE0Miw3IEBACiAgICAgPGVudW0gbmFtZT0nWE1MX1BBUlNFX05PQkFTRUZJWCcgZmlsZT0ncGFyc2VyJyB2YWx1ZT0nMjYyMTQ0JyB0eXBlPSd4bWxQYXJzZXJPcHRpb24nIGluZm89J2RvIG5vdCBmaXh1cCBYSU5DTFVERSB4bWw6YmFzZSB1cmlzJy8+CiAgICAgPGVudW0gbmFtZT0nWE1MX1BBUlNFX05PQkxBTktTJyBmaWxlPSdwYXJzZXInIHZhbHVlPScyNTYnIHR5cGU9J3htbFBhcnNlck9wdGlvbicgaW5mbz0ncmVtb3ZlIGJsYW5rIG5vZGVzJy8+CiAgICAgPGVudW0gbmFtZT0nWE1MX1BBUlNFX05PQ0RBVEEnIGZpbGU9J3BhcnNlcicgdmFsdWU9JzE2Mzg0JyB0eXBlPSd4bWxQYXJzZXJPcHRpb24nIGluZm89J21lcmdlIENEQVRBIGFzIHRleHQgbm9kZXMnLz4KLSAgICA8ZW51bSBuYW1lPSdYTUxfUEFSU0VfTk9ESUNUJyBmaWxlPSdwYXJzZXInIHZhbHVlPSc0MDk2JyB0eXBlPSd4bWxQYXJzZXJPcHRpb24nIGluZm89J0RvIG5vdCByZXVzZSB0aGUgY29udGV4dCBkaWN0aW9ubmFyeScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9QQVJTRV9OT0RJQ1QnIGZpbGU9J3BhcnNlcicgdmFsdWU9JzQwOTYnIHR5cGU9J3htbFBhcnNlck9wdGlvbicgaW5mbz0nRG8gbm90IHJldXNlIHRoZSBjb250ZXh0IGRpY3Rpb25hcnknLz4KICAgICA8ZW51bSBuYW1lPSdYTUxfUEFSU0VfTk9FTlQnIGZpbGU9J3BhcnNlcicgdmFsdWU9JzInIHR5cGU9J3htbFBhcnNlck9wdGlvbicgaW5mbz0nc3Vic3RpdHV0ZSBlbnRpdGllcycvPgogICAgIDxlbnVtIG5hbWU9J1hNTF9QQVJTRV9OT0VSUk9SJyBmaWxlPSdwYXJzZXInIHZhbHVlPSczMicgdHlwZT0neG1sUGFyc2VyT3B0aW9uJyBpbmZvPSdzdXBwcmVzcyBlcnJvciByZXBvcnRzJy8+CiAgICAgPGVudW0gbmFtZT0nWE1MX1BBUlNFX05PTkVUJyBmaWxlPSdwYXJzZXInIHZhbHVlPScyMDQ4JyB0eXBlPSd4bWxQYXJzZXJPcHRpb24nIGluZm89J0ZvcmJpZCBuZXR3b3JrIGFjY2VzcycvPgpAQCAtNjQxMCw3ICs2NDEwLDcgQEAKICAgICAgIDxmaWVsZCBuYW1lPSdjYXRhbG9ncycgdHlwZT0ndm9pZCAqJyBpbmZvPScgZG9jdW1lbnQmYXBvcztzIG93biBjYXRhbG9nJy8+CiAgICAgICA8ZmllbGQgbmFtZT0ncmVjb3ZlcnknIHR5cGU9J2ludCcgaW5mbz0nIHJ1biBpbiByZWNvdmVyeSBtb2RlJy8+CiAgICAgICA8ZmllbGQgbmFtZT0ncHJvZ3Jlc3NpdmUnIHR5cGU9J2ludCcgaW5mbz0nIGlzIHRoaXMgYSBwcm9ncmVzc2l2ZSBwYXJzaW5nJy8+Ci0gICAgICA8ZmllbGQgbmFtZT0nZGljdCcgdHlwZT0neG1sRGljdFB0cicgaW5mbz0nIGRpY3Rpb25uYXJ5IGZvciB0aGUgcGFyc2VyJy8+CisgICAgICA8ZmllbGQgbmFtZT0nZGljdCcgdHlwZT0neG1sRGljdFB0cicgaW5mbz0nIGRpY3Rpb25hcnkgZm9yIHRoZSBwYXJzZXInLz4KICAgICAgIDxmaWVsZCBuYW1lPSdhdHRzJyB0eXBlPSdjb25zdCB4bWxDaGFyICogKicgaW5mbz0nIGFycmF5IGZvciB0aGUgYXR0cmlidXRlcyBjYWxsYmFja3MnLz4KICAgICAgIDxmaWVsZCBuYW1lPSdtYXhhdHRzJyB0eXBlPSdpbnQnIGluZm89JyB0aGUgc2l6ZSBvZiB0aGUgYXJyYXknLz4KICAgICAgIDxmaWVsZCBuYW1lPSdkb2NkaWN0JyB0eXBlPSdpbnQnIGluZm89JyogcHJlLWludGVybmVkIHN0cmluZ3MKQEAgLTk1MDQsNjUgKzk1MDQsNjUgQEAKICAgICA8L2Z1bmN0aW9uPgogICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxEaWN0Q3JlYXRlJyBmaWxlPSdkaWN0JyBtb2R1bGU9J2RpY3QnPgogICAgICAgPGluZm8+Q3JlYXRlIGEgbmV3IGRpY3Rpb25hcnk8L2luZm8+Ci0gICAgICA8cmV0dXJuIHR5cGU9J3htbERpY3RQdHInIGluZm89J3RoZSBuZXdseSBjcmVhdGVkIGRpY3Rpb25uYXJ5LCBvciBOVUxMIGlmIGFuIGVycm9yIG9jY3VyZWQuJy8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbERpY3RQdHInIGluZm89J3RoZSBuZXdseSBjcmVhdGVkIGRpY3Rpb25hcnksIG9yIE5VTEwgaWYgYW4gZXJyb3Igb2NjdXJlZC4nLz4KICAgICA8L2Z1bmN0aW9uPgogICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxEaWN0Q3JlYXRlU3ViJyBmaWxlPSdkaWN0JyBtb2R1bGU9J2RpY3QnPgotICAgICAgPGluZm8+Q3JlYXRlIGEgbmV3IGRpY3Rpb25hcnksIGluaGVyaXRpbmcgc3RyaW5ncyBmcm9tIHRoZSByZWFkLW9ubHkgZGljdGlvbm5hcnkgQHN1Yi4gT24gbG9va3VwLCBzdHJpbmdzIGFyZSBmaXJzdCBzZWFyY2hlZCBpbiB0aGUgbmV3IGRpY3Rpb25uYXJ5LCB0aGVuIGluIEBzdWIsIGFuZCBpZiBub3QgZm91bmQgYXJlIGNyZWF0ZWQgaW4gdGhlIG5ldyBkaWN0aW9ubmFyeS48L2luZm8+Ci0gICAgICA8cmV0dXJuIHR5cGU9J3htbERpY3RQdHInIGluZm89J3RoZSBuZXdseSBjcmVhdGVkIGRpY3Rpb25uYXJ5LCBvciBOVUxMIGlmIGFuIGVycm9yIG9jY3VyZWQuJy8+Ci0gICAgICA8YXJnIG5hbWU9J3N1YicgdHlwZT0neG1sRGljdFB0cicgaW5mbz0nYW4gZXhpc3RpbmcgZGljdGlvbm5hcnknLz4KKyAgICAgIDxpbmZvPkNyZWF0ZSBhIG5ldyBkaWN0aW9uYXJ5LCBpbmhlcml0aW5nIHN0cmluZ3MgZnJvbSB0aGUgcmVhZC1vbmx5IGRpY3Rpb25hcnkgQHN1Yi4gT24gbG9va3VwLCBzdHJpbmdzIGFyZSBmaXJzdCBzZWFyY2hlZCBpbiB0aGUgbmV3IGRpY3Rpb25hcnksIHRoZW4gaW4gQHN1YiwgYW5kIGlmIG5vdCBmb3VuZCBhcmUgY3JlYXRlZCBpbiB0aGUgbmV3IGRpY3Rpb25hcnkuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxEaWN0UHRyJyBpbmZvPSd0aGUgbmV3bHkgY3JlYXRlZCBkaWN0aW9uYXJ5LCBvciBOVUxMIGlmIGFuIGVycm9yIG9jY3VyZWQuJy8+CisgICAgICA8YXJnIG5hbWU9J3N1YicgdHlwZT0neG1sRGljdFB0cicgaW5mbz0nYW4gZXhpc3RpbmcgZGljdGlvbmFyeScvPgogICAgIDwvZnVuY3Rpb24+CiAgICAgPGZ1bmN0aW9uIG5hbWU9J3htbERpY3RFeGlzdHMnIGZpbGU9J2RpY3QnIG1vZHVsZT0nZGljdCc+Ci0gICAgICA8aW5mbz5DaGVjayBpZiB0aGUgQG5hbWUgZXhpc3RzIGluIHRoZSBkaWN0aW9ubmFyeSBAZGljdC48L2luZm8+CisgICAgICA8aW5mbz5DaGVjayBpZiB0aGUgQG5hbWUgZXhpc3RzIGluIHRoZSBkaWN0aW9uYXJ5IEBkaWN0LjwvaW5mbz4KICAgICAgIDxyZXR1cm4gdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgaW50ZXJuYWwgY29weSBvZiB0aGUgbmFtZSBvciBOVUxMIGlmIG5vdCBmb3VuZC4nLz4KLSAgICAgIDxhcmcgbmFtZT0nZGljdCcgdHlwZT0neG1sRGljdFB0cicgaW5mbz0ndGhlIGRpY3Rpb25uYXJ5Jy8+CisgICAgICA8YXJnIG5hbWU9J2RpY3QnIHR5cGU9J3htbERpY3RQdHInIGluZm89J3RoZSBkaWN0aW9uYXJ5Jy8+CiAgICAgICA8YXJnIG5hbWU9J25hbWUnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIG5hbWUgb2YgdGhlIHVzZXJkYXRhJy8+CiAgICAgICA8YXJnIG5hbWU9J2xlbicgdHlwZT0naW50JyBpbmZvPSd0aGUgbGVuZ3RoIG9mIHRoZSBuYW1lLCBpZiAtMSBpdCBpcyByZWNvbXB1dGVkJy8+CiAgICAgPC9mdW5jdGlvbj4KICAgICA8ZnVuY3Rpb24gbmFtZT0neG1sRGljdEZyZWUnIGZpbGU9J2RpY3QnIG1vZHVsZT0nZGljdCc+CiAgICAgICA8aW5mbz5GcmVlIHRoZSBoYXNoIEBkaWN0IGFuZCBpdHMgY29udGVudHMuIFRoZSB1c2VyZGF0YSBpcyBkZWFsbG9jYXRlZCB3aXRoIEBmIGlmIHByb3ZpZGVkLjwvaW5mbz4KICAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgotICAgICAgPGFyZyBuYW1lPSdkaWN0JyB0eXBlPSd4bWxEaWN0UHRyJyBpbmZvPSd0aGUgZGljdGlvbm5hcnknLz4KKyAgICAgIDxhcmcgbmFtZT0nZGljdCcgdHlwZT0neG1sRGljdFB0cicgaW5mbz0ndGhlIGRpY3Rpb25hcnknLz4KICAgICA8L2Z1bmN0aW9uPgogICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxEaWN0R2V0VXNhZ2UnIGZpbGU9J2RpY3QnIG1vZHVsZT0nZGljdCc+CiAgICAgICA8aW5mbz5HZXQgaG93IG11Y2ggbWVtb3J5IGlzIHVzZWQgYnkgYSBkaWN0aW9uYXJ5IGZvciBzdHJpbmdzIEFkZGVkIGluIDIuOS4wPC9pbmZvPgogICAgICAgPHJldHVybiB0eXBlPSdzaXplX3QnIGluZm89J3RoZSBhbW91bnQgb2Ygc3RyaW5ncyBhbGxvY2F0ZWQnLz4KLSAgICAgIDxhcmcgbmFtZT0nZGljdCcgdHlwZT0neG1sRGljdFB0cicgaW5mbz0ndGhlIGRpY3Rpb25uYXJ5Jy8+CisgICAgICA8YXJnIG5hbWU9J2RpY3QnIHR5cGU9J3htbERpY3RQdHInIGluZm89J3RoZSBkaWN0aW9uYXJ5Jy8+CiAgICAgPC9mdW5jdGlvbj4KICAgICA8ZnVuY3Rpb24gbmFtZT0neG1sRGljdExvb2t1cCcgZmlsZT0nZGljdCcgbW9kdWxlPSdkaWN0Jz4KLSAgICAgIDxpbmZvPkFkZCB0aGUgQG5hbWUgdG8gdGhlIGRpY3Rpb25uYXJ5IEBkaWN0IGlmIG5vdCBwcmVzZW50LjwvaW5mbz4KKyAgICAgIDxpbmZvPkFkZCB0aGUgQG5hbWUgdG8gdGhlIGRpY3Rpb25hcnkgQGRpY3QgaWYgbm90IHByZXNlbnQuPC9pbmZvPgogICAgICAgPHJldHVybiB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBpbnRlcm5hbCBjb3B5IG9mIHRoZSBuYW1lIG9yIE5VTEwgaW4gY2FzZSBvZiBpbnRlcm5hbCBlcnJvcicvPgotICAgICAgPGFyZyBuYW1lPSdkaWN0JyB0eXBlPSd4bWxEaWN0UHRyJyBpbmZvPSd0aGUgZGljdGlvbm5hcnknLz4KKyAgICAgIDxhcmcgbmFtZT0nZGljdCcgdHlwZT0neG1sRGljdFB0cicgaW5mbz0ndGhlIGRpY3Rpb25hcnknLz4KICAgICAgIDxhcmcgbmFtZT0nbmFtZScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgbmFtZSBvZiB0aGUgdXNlcmRhdGEnLz4KICAgICAgIDxhcmcgbmFtZT0nbGVuJyB0eXBlPSdpbnQnIGluZm89J3RoZSBsZW5ndGggb2YgdGhlIG5hbWUsIGlmIC0xIGl0IGlzIHJlY29tcHV0ZWQnLz4KICAgICA8L2Z1bmN0aW9uPgogICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxEaWN0T3ducycgZmlsZT0nZGljdCcgbW9kdWxlPSdkaWN0Jz4KICAgICAgIDxpbmZvPmNoZWNrIGlmIGEgc3RyaW5nIGlzIG93bmVkIGJ5IHRoZSBkaXNjdGlvbmFyeTwvaW5mbz4KICAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIHRydWUsIDAgaWYgZmFsc2UgYW5kIC0xIGluIGNhc2Ugb2YgZXJyb3IgLTEgaW4gY2FzZSBvZiBlcnJvcicvPgotICAgICAgPGFyZyBuYW1lPSdkaWN0JyB0eXBlPSd4bWxEaWN0UHRyJyBpbmZvPSd0aGUgZGljdGlvbm5hcnknLz4KKyAgICAgIDxhcmcgbmFtZT0nZGljdCcgdHlwZT0neG1sRGljdFB0cicgaW5mbz0ndGhlIGRpY3Rpb25hcnknLz4KICAgICAgIDxhcmcgbmFtZT0nc3RyJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBzdHJpbmcnLz4KICAgICA8L2Z1bmN0aW9uPgogICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxEaWN0UUxvb2t1cCcgZmlsZT0nZGljdCcgbW9kdWxlPSdkaWN0Jz4KICAgICAgIDxpbmZvPkFkZCB0aGUgUU5hbWUgQHByZWZpeDpAbmFtZSB0byB0aGUgaGFzaCBAZGljdCBpZiBub3QgcHJlc2VudC48L2luZm8+CiAgICAgICA8cmV0dXJuIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIGludGVybmFsIGNvcHkgb2YgdGhlIFFOYW1lIG9yIE5VTEwgaW4gY2FzZSBvZiBpbnRlcm5hbCBlcnJvcicvPgotICAgICAgPGFyZyBuYW1lPSdkaWN0JyB0eXBlPSd4bWxEaWN0UHRyJyBpbmZvPSd0aGUgZGljdGlvbm5hcnknLz4KKyAgICAgIDxhcmcgbmFtZT0nZGljdCcgdHlwZT0neG1sRGljdFB0cicgaW5mbz0ndGhlIGRpY3Rpb25hcnknLz4KICAgICAgIDxhcmcgbmFtZT0ncHJlZml4JyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBwcmVmaXgnLz4KICAgICAgIDxhcmcgbmFtZT0nbmFtZScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgbmFtZScvPgogICAgIDwvZnVuY3Rpb24+CiAgICAgPGZ1bmN0aW9uIG5hbWU9J3htbERpY3RSZWZlcmVuY2UnIGZpbGU9J2RpY3QnIG1vZHVsZT0nZGljdCc+CiAgICAgICA8aW5mbz5JbmNyZW1lbnQgdGhlIHJlZmVyZW5jZSBjb3VudGVyIG9mIGEgZGljdGlvbmFyeTwvaW5mbz4KICAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScwIGluIGNhc2Ugb2Ygc3VjY2VzcyBhbmQgLTEgaW4gY2FzZSBvZiBlcnJvcicvPgotICAgICAgPGFyZyBuYW1lPSdkaWN0JyB0eXBlPSd4bWxEaWN0UHRyJyBpbmZvPSd0aGUgZGljdGlvbm5hcnknLz4KKyAgICAgIDxhcmcgbmFtZT0nZGljdCcgdHlwZT0neG1sRGljdFB0cicgaW5mbz0ndGhlIGRpY3Rpb25hcnknLz4KICAgICA8L2Z1bmN0aW9uPgogICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxEaWN0U2V0TGltaXQnIGZpbGU9J2RpY3QnIG1vZHVsZT0nZGljdCc+CiAgICAgICA8aW5mbz5TZXQgYSBzaXplIGxpbWl0IGZvciB0aGUgZGljdGlvbmFyeSBBZGRlZCBpbiAyLjkuMDwvaW5mbz4KICAgICAgIDxyZXR1cm4gdHlwZT0nc2l6ZV90JyBpbmZvPSd0aGUgcHJldmlvdXMgbGltaXQgb2YgdGhlIGRpY3Rpb25hcnkgb3IgMCcvPgotICAgICAgPGFyZyBuYW1lPSdkaWN0JyB0eXBlPSd4bWxEaWN0UHRyJyBpbmZvPSd0aGUgZGljdGlvbm5hcnknLz4KKyAgICAgIDxhcmcgbmFtZT0nZGljdCcgdHlwZT0neG1sRGljdFB0cicgaW5mbz0ndGhlIGRpY3Rpb25hcnknLz4KICAgICAgIDxhcmcgbmFtZT0nbGltaXQnIHR5cGU9J3NpemVfdCcgaW5mbz0ndGhlIGxpbWl0IGluIGJ5dGVzJy8+CiAgICAgPC9mdW5jdGlvbj4KICAgICA8ZnVuY3Rpb24gbmFtZT0neG1sRGljdFNpemUnIGZpbGU9J2RpY3QnIG1vZHVsZT0nZGljdCc+CiAgICAgICA8aW5mbz5RdWVyeSB0aGUgbnVtYmVyIG9mIGVsZW1lbnRzIGluc3RhbGxlZCBpbiB0aGUgaGFzaCBAZGljdC48L2luZm8+Ci0gICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0ndGhlIG51bWJlciBvZiBlbGVtZW50cyBpbiB0aGUgZGljdGlvbm5hcnkgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcicvPgotICAgICAgPGFyZyBuYW1lPSdkaWN0JyB0eXBlPSd4bWxEaWN0UHRyJyBpbmZvPSd0aGUgZGljdGlvbm5hcnknLz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSd0aGUgbnVtYmVyIG9mIGVsZW1lbnRzIGluIHRoZSBkaWN0aW9uYXJ5IG9yIC0xIGluIGNhc2Ugb2YgZXJyb3InLz4KKyAgICAgIDxhcmcgbmFtZT0nZGljdCcgdHlwZT0neG1sRGljdFB0cicgaW5mbz0ndGhlIGRpY3Rpb25hcnknLz4KICAgICA8L2Z1bmN0aW9uPgogICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxEbGxNYWluJyBmaWxlPSd0aHJlYWRzJyBtb2R1bGU9J3RocmVhZHMnPgogICAgICAgPGluZm8+PC9pbmZvPgpAQCAtOTgyNyw3ICs5ODI3LDcgQEAKICAgICAgIDxpbmZvPkNyZWF0ZXMgYSBuZXcgY29udGV4dCBmb3IgbWFuaXB1bGF0aW5nIGV4cHJlc3Npb25zPC9pbmZvPgogICAgICAgPHJldHVybiB0eXBlPSd4bWxFeHBDdHh0UHRyJyBpbmZvPSd0aGUgY29udGV4dCBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3InLz4KICAgICAgIDxhcmcgbmFtZT0nbWF4Tm9kZXMnIHR5cGU9J2ludCcgaW5mbz0ndGhlIG1heGltdW0gbnVtYmVyIG9mIG5vZGVzJy8+Ci0gICAgICA8YXJnIG5hbWU9J2RpY3QnIHR5cGU9J3htbERpY3RQdHInIGluZm89J29wdGlvbmFsIGRpY3Rpb25uYXJ5IHRvIHVzZSBpbnRlcm5hbGx5Jy8+CisgICAgICA8YXJnIG5hbWU9J2RpY3QnIHR5cGU9J3htbERpY3RQdHInIGluZm89J29wdGlvbmFsIGRpY3Rpb25hcnkgdG8gdXNlIGludGVybmFsbHknLz4KICAgICA8L2Z1bmN0aW9uPgogICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxFeHBOZXdPcicgZmlsZT0neG1scmVnZXhwJyBtb2R1bGU9J3htbHJlZ2V4cCc+CiAgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9SRUdFWFBfRU5BQkxFRCkgJmFtcDsmYW1wOyBkZWZpbmVkKExJQlhNTF9FWFBSX0VOQUJMRUQpPC9jb25kPgpAQCAtMTA5ODUsNyArMTA5ODUsNyBAQAogICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxNYWxsb2NBdG9taWNMb2MnIGZpbGU9J3htbG1lbW9yeScgbW9kdWxlPSd4bWxtZW1vcnknPgogICAgICAgPGluZm8+YSBtYWxsb2MoKSBlcXVpdmFsZW50LCB3aXRoIGxvZ2dpbmcgb2YgdGhlIGFsbG9jYXRpb24gaW5mby48L2luZm8+CiAgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQgKicgaW5mbz0nYSBwb2ludGVyIHRvIHRoZSBhbGxvY2F0ZWQgYXJlYSBvciBOVUxMIGluIGNhc2Ugb2YgbGFjayBvZiBtZW1vcnkuJy8+Ci0gICAgICA8YXJnIG5hbWU9J3NpemUnIHR5cGU9J3NpemVfdCcgaW5mbz0nYW4gaW50IHNwZWNpZnlpbmcgdGhlIHNpemUgaW4gYnl0ZSB0byBhbGxvY2F0ZS4nLz4KKyAgICAgIDxhcmcgbmFtZT0nc2l6ZScgdHlwZT0nc2l6ZV90JyBpbmZvPSdhbiB1bnNpZ25lZCBpbnQgc3BlY2lmeWluZyB0aGUgc2l6ZSBpbiBieXRlIHRvIGFsbG9jYXRlLicvPgogICAgICAgPGFyZyBuYW1lPSdmaWxlJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J3RoZSBmaWxlIG5hbWUgb3IgTlVMTCcvPgogICAgICAgPGFyZyBuYW1lPSdsaW5lJyB0eXBlPSdpbnQnIGluZm89J3RoZSBsaW5lIG51bWJlcicvPgogICAgIDwvZnVuY3Rpb24+CkBAIC0xNDQ4Nyw3ICsxNDQ4Nyw3IEBACiAgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0ndGhlIG51bWJlciBvZiBjaGFyYWN0ZXJzIHdyaXR0ZW4gdG8gQGJ1ZiBvciAtMSBpZiBhbiBlcnJvciBvY2N1cnMuJy8+CiAgICAgICA8YXJnIG5hbWU9J2J1ZicgdHlwZT0neG1sQ2hhciAqJyBpbmZvPSd0aGUgcmVzdWx0IGJ1ZmZlci4nLz4KICAgICAgIDxhcmcgbmFtZT0nbGVuJyB0eXBlPSdpbnQnIGluZm89J3RoZSByZXN1bHQgYnVmZmVyIGxlbmd0aC4nLz4KLSAgICAgIDxhcmcgbmFtZT0nbXNnJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBtZXNzYWdlIHdpdGggcHJpbnRmIGZvcm1hdHRpbmcuJy8+CisgICAgICA8YXJnIG5hbWU9J21zZycgdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSd0aGUgbWVzc2FnZSB3aXRoIHByaW50ZiBmb3JtYXR0aW5nLicvPgogICAgICAgPGFyZyBuYW1lPScuLi4nIHR5cGU9Jy4uLicgaW5mbz0nZXh0cmEgcGFyYW1ldGVycyBmb3IgdGhlIG1lc3NhZ2UuJy8+CiAgICAgPC9mdW5jdGlvbj4KICAgICA8ZnVuY3Rpb24gbmFtZT0neG1sU3RyUUVxdWFsJyBmaWxlPSd4bWxzdHJpbmcnIG1vZHVsZT0neG1sc3RyaW5nJz4KQEAgLTE0NTAyLDcgKzE0NTAyLDcgQEAKICAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSd0aGUgbnVtYmVyIG9mIGNoYXJhY3RlcnMgd3JpdHRlbiB0byBAYnVmIG9yIC0xIGlmIGFuIGVycm9yIG9jY3Vycy4nLz4KICAgICAgIDxhcmcgbmFtZT0nYnVmJyB0eXBlPSd4bWxDaGFyIConIGluZm89J3RoZSByZXN1bHQgYnVmZmVyLicvPgogICAgICAgPGFyZyBuYW1lPSdsZW4nIHR5cGU9J2ludCcgaW5mbz0ndGhlIHJlc3VsdCBidWZmZXIgbGVuZ3RoLicvPgotICAgICAgPGFyZyBuYW1lPSdtc2cnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIG1lc3NhZ2Ugd2l0aCBwcmludGYgZm9ybWF0dGluZy4nLz4KKyAgICAgIDxhcmcgbmFtZT0nbXNnJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J3RoZSBtZXNzYWdlIHdpdGggcHJpbnRmIGZvcm1hdHRpbmcuJy8+CiAgICAgICA8YXJnIG5hbWU9J2FwJyB0eXBlPSd2YV9saXN0JyBpbmZvPSdleHRyYSBwYXJhbWV0ZXJzIGZvciB0aGUgbWVzc2FnZS4nLz4KICAgICA8L2Z1bmN0aW9uPgogICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxTdHJjYXNlY21wJyBmaWxlPSd4bWxzdHJpbmcnIG1vZHVsZT0neG1sc3RyaW5nJz4KZGlmZiAtLWdpdCBhL2RvYy9saWJ4bWwyLXJlZnMueG1sIGIvZG9jL2xpYnhtbDItcmVmcy54bWwKaW5kZXggNzE1ODYwOS4uNmRjZTM3ZiAxMDA2NDQKLS0tIGEvZG9jL2xpYnhtbDItcmVmcy54bWwKKysrIGIvZG9jL2xpYnhtbDItcmVmcy54bWwKQEAgLTg0MDYsOSArODQwNiw3IEBACiAgICAgICA8cmVmIG5hbWU9J3htbFNwbGl0UU5hbWUyJy8+CiAgICAgICA8cmVmIG5hbWU9J3htbFNwbGl0UU5hbWUzJy8+CiAgICAgICA8cmVmIG5hbWU9J3htbFN0ckVxdWFsJy8+Ci0gICAgICA8cmVmIG5hbWU9J3htbFN0clByaW50ZicvPgogICAgICAgPHJlZiBuYW1lPSd4bWxTdHJRRXF1YWwnLz4KLSAgICAgIDxyZWYgbmFtZT0neG1sU3RyVlByaW50ZicvPgogICAgICAgPHJlZiBuYW1lPSd4bWxTdHJjYXNlY21wJy8+CiAgICAgICA8cmVmIG5hbWU9J3htbFN0cmNhc2VzdHInLz4KICAgICAgIDxyZWYgbmFtZT0neG1sU3RyY2F0Jy8+CkBAIC0yMTgyMiwzOCArMjE4MjAsNiBAQAogICAgICAgICA8d29yZCBuYW1lPSdkaWN0aW9uYXJpZXMnPgogICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX01BWF9OQU1FX0xFTkdUSCcvPgogICAgICAgICA8L3dvcmQ+Ci0gICAgICAgIDx3b3JkIG5hbWU9J2RpY3Rpb25hcnknPgotICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX01BWF9ESUNUSU9OQVJZX0xJTUlUJy8+Ci0gICAgICAgICAgPHJlZiBuYW1lPSdfeG1sUGFyc2VyQ3R4dCcvPgotICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFhQYXRoQ29udGV4dCcvPgotICAgICAgICAgIDxyZWYgbmFtZT0neG1sRGljdENsZWFudXAnLz4KLSAgICAgICAgICA8cmVmIG5hbWU9J3htbERpY3RDcmVhdGUnLz4KLSAgICAgICAgICA8cmVmIG5hbWU9J3htbERpY3RDcmVhdGVTdWInLz4KLSAgICAgICAgICA8cmVmIG5hbWU9J3htbERpY3RHZXRVc2FnZScvPgotICAgICAgICAgIDxyZWYgbmFtZT0neG1sRGljdFJlZmVyZW5jZScvPgotICAgICAgICAgIDxyZWYgbmFtZT0neG1sRGljdFNldExpbWl0Jy8+Ci0gICAgICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoQ3JlYXRlRGljdCcvPgotICAgICAgICAgIDxyZWYgbmFtZT0neG1sSW5pdGlhbGl6ZURpY3QnLz4KLSAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhdHRlcm5jb21waWxlJy8+Ci0gICAgICAgICAgPHJlZiBuYW1lPSd4bWxTdHJlYW1QdXNoJy8+Ci0gICAgICAgICAgPHJlZiBuYW1lPSd4bWxTdHJlYW1QdXNoQXR0cicvPgotICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3RyZWFtUHVzaE5vZGUnLz4KLSAgICAgICAgPC93b3JkPgotICAgICAgICA8d29yZCBuYW1lPSdkaWN0aW9ubmFyeSc+Ci0gICAgICAgICAgPHJlZiBuYW1lPSdfeG1sUGFyc2VyQ3R4dCcvPgotICAgICAgICAgIDxyZWYgbmFtZT0neG1sRGljdENyZWF0ZScvPgotICAgICAgICAgIDxyZWYgbmFtZT0neG1sRGljdENyZWF0ZVN1YicvPgotICAgICAgICAgIDxyZWYgbmFtZT0neG1sRGljdEV4aXN0cycvPgotICAgICAgICAgIDxyZWYgbmFtZT0neG1sRGljdEZyZWUnLz4KLSAgICAgICAgICA8cmVmIG5hbWU9J3htbERpY3RHZXRVc2FnZScvPgotICAgICAgICAgIDxyZWYgbmFtZT0neG1sRGljdExvb2t1cCcvPgotICAgICAgICAgIDxyZWYgbmFtZT0neG1sRGljdE93bnMnLz4KLSAgICAgICAgICA8cmVmIG5hbWU9J3htbERpY3RRTG9va3VwJy8+Ci0gICAgICAgICAgPHJlZiBuYW1lPSd4bWxEaWN0UmVmZXJlbmNlJy8+Ci0gICAgICAgICAgPHJlZiBuYW1lPSd4bWxEaWN0U2V0TGltaXQnLz4KLSAgICAgICAgICA8cmVmIG5hbWU9J3htbERpY3RTaXplJy8+Ci0gICAgICAgICAgPHJlZiBuYW1lPSd4bWxFeHBOZXdDdHh0Jy8+Ci0gICAgICAgIDwvd29yZD4KICAgICAgICAgPHdvcmQgbmFtZT0nZGlkJz4KICAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX1RZUEVfQkxPQ0tfREVGQVVMVCcvPgogICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckdldFJlbWFpbmRlcicvPgpAQCAtMzAzODEsNiArMzAzNDcsNyBAQAogICAgICAgICA8L3dvcmQ+CiAgICAgICAgIDx3b3JkIG5hbWU9J3Vuc2lnbmVkJz4KICAgICAgICAgICA8cmVmIG5hbWU9J2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE1hbGxvY0F0b21pY0xvYycvPgogICAgICAgICAgIDxyZWYgbmFtZT0neG1sVVJJVW5lc2NhcGVTdHJpbmcnLz4KICAgICAgICAgPC93b3JkPgogICAgICAgICA8d29yZCBuYW1lPSd1bnN1cHBvcnRlZCc+CmRpZmYgLS1naXQgYS9kb2MvbGlieG1sMi54c2EgYi9kb2MvbGlieG1sMi54c2EKaW5kZXggMDgyNWQ1My4uMGQ0YjhmZSAxMDA2NDQKLS0tIGEvZG9jL2xpYnhtbDIueHNhCisrKyBiL2RvYy9saWJ4bWwyLnhzYQpAQCAtOCwxODIgKzgsNzMgQEAKICAgPC92ZW5kb3I+CiAgIDxwcm9kdWN0IGlkPSJsaWJ4bWwyIj4KICAgICA8bmFtZT5saWJ4bWwyPC9uYW1lPgotICAgIDx2ZXJzaW9uPjIuOS4yPC92ZXJzaW9uPgotICAgIDxsYXN0LXJlbGVhc2U+IE9jdCAxNiAyMDE0PC9sYXN0LXJlbGVhc2U+CisgICAgPHZlcnNpb24+djIuOS4zPC92ZXJzaW9uPgorICAgIDxsYXN0LXJlbGVhc2U+IE5vdiAyMCAyMDE1PC9sYXN0LXJlbGVhc2U+CiAgICAgPGluZm8tdXJsPmh0dHA6Ly94bWxzb2Z0Lm9yZy88L2luZm8tdXJsPgogICAgIDxjaGFuZ2VzPiAgIC0gU2VjdXJpdHk6Ci0gIEZpeCBmb3IgQ1ZFLTIwMTQtMzY2MCBiaWxsaW9uIGxhdWdoIHZhcmlhbnQgKERhbmllbCBWZWlsbGFyZCksCi0gIENWRS0yMDE0LTAxOTEgRG8gbm90IGZldGNoIGV4dGVybmFsIHBhcmFtZXRlciBlbnRpdGllcyAoRGFuaWVsIFZlaWxsYXJkKQotICAKLSAgIC0gQnVnIEZpeGVzOgotICBmaXggbWVtb3J5IGxlYWsgeG1sIGhlYWRlciBlbmNvZGluZyBmaWVsZCB3aXRoIFhNTF9QQVJTRV9JR05PUkVfRU5DIChCYXJ0IERlIFNjaHV5bWVyKSwKLSAgeG1sbWVtb3J5OiBoYW5kbGUgcmVhbGxvYyBwcm9wZXJseSAoWWVnb3IgWWVmcmVtb3YpLAotICBQeXRob24gZ2VuZXJhdG9yIGJ1ZyByYWlzZWQgYnkgdGhlIGNvbnN0IGNoYW5nZSAoRGFuaWVsIFZlaWxsYXJkKSwKLSAgV2luZG93cyBDcml0aWNhbCBzZWN0aW9ucyBub3QgcmVsZWFzZWQgY29ycmVjdGx5IChEYW5pZWwgVmVpbGxhcmQpLAotICBQYXJzZXIgZXJyb3Igb24gcmVwZWF0ZWQgcmVjdXJzaXZlIGVudGl0eSBleHBhbnNpb24gY29udGFpbmluZyAmYW1wO2x0OyAoRGFuaWVsIFZlaWxsYXJkKSwKLSAgeHBvaW50ZXIgOiBmaXhpbmcgTnVsbCBQb2ludGVycyAoR2F1cmF2IEd1cHRhKSwKLSAgUmVtb3ZlIFVubmVjZXNzYXJ5IE51bGwgY2hlY2sgaW4geHBvaW50ZXIuYyAoR2F1cmF2IEd1cHRhKSwKLSAgcGFyc2VyIGJ1ZyBvbiBtaXNmb3JtZWQgbmFtZXNwYWNlIGF0dHJpYnV0ZXMgKERlbm5pcyBGaWxkZXIpLAotICBQb2ludGVyIGRlcmVmZXJlbmNlZCBiZWZvcmUgbnVsbCBjaGVjayAoRGFuaWVsIFZlaWxsYXJkKSwKLSAgTGVhayBvZiBzdHJ1Y3QgYWRkcmluZm8gaW4geG1sTmFub0ZUUENvbm5lY3QoKSAoR2F1cmF2IEd1cHRhKSwKLSAgUG9zc2libGUgb3ZlcmZsb3cgaW4gSFRNTFBhcnNlci5jIChEYW5pZWwgVmVpbGxhcmQpLAotICBweXRob24vdGVzdHMvc3luYy5weSBhc3N1bWVzIFB5dGhvbiBkaWN0aW9uYXJpZXMgYXJlIG9yZGVyZWQgKEpvaG4gQmVjayksCi0gIEZpeCBFbnVtIGNoZWNrIGFuZCBtaXNzaW5nIGJyZWFrIChHYXVyYXYgR3VwdGEpLAotICB4bWxJTzogSGFuZGxlIGVycm9yIHJldHVybnMgZnJvbSBkdXAoKSAoUGhpbGlwIFdpdGhuYWxsKSwKLSAgRml4IGEgcHJvYmxlbSBwcm9wZXJseSBzYXZpbmcgVVJJcyAoRGFuaWVsIFZlaWxsYXJkKSwKLSAgd3JvbmcgZXJyb3IgY29sdW1uIGluIHN0cnVjdHVyZWQgZXJyb3Igd2hlbiBwYXJzaW5nIGF0dHJpYnV0ZSB2YWx1ZXMgKEp1ZXJnZW4gS2VpbCksCi0gIHdyb25nIGVycm9yIGNvbHVtbiBpbiBzdHJ1Y3R1cmVkIGVycm9yIHdoZW4gc2tpcHBpbmcgd2hpdGVzcGFjZSBpbiB4bWwgZGVjbCAoSnVlcmdlbiBLZWlsKSwKLSAgbm8gZXJyb3IgY29sdW1uIGluIHN0cnVjdHVyZWQgZXJyb3IgaGFuZGxlciBmb3IgeG1sIHNjaGVtYSB2YWxpZGF0aW9uIGVycm9ycyAoSnVlcmdlbiBLZWlsKSwKLSAgQ291cGxlIG9mIE1pc3NpbmcgTnVsbCBjaGVja3MgKEdhdXJhdiBHdXB0YSksCi0gIEFkZCBjb3VwbGUgb2YgbWlzc2luZyBOdWxsIGNoZWNrcyAoRGFuaWVsIFZlaWxsYXJkKSwKLSAgeG1sc2NoZW1hc3R5cGVzOiBGaXggcG90ZW50aWFsIGFycmF5IG92ZXJmbG93IChQaGlsaXAgV2l0aG5hbGwpLAotICBydW50ZXN0OiBGaXggYSBtZW1vcnkgbGVhayBvbiBwYXJzZSBmYWlsdXJlIChQaGlsaXAgV2l0aG5hbGwpLAotICB4bWxJTzogRml4IGFuIEZEIGxlYWsgb24gZ3pkb3BlbigpIGZhaWx1cmUgKFBoaWxpcCBXaXRobmFsbCksCi0gIHhtbGNhdGFsb2c6IEZpeCBhIG1lbW9yeSBsZWFrIG9uIHF1aXQgKFBoaWxpcCBXaXRobmFsbCksCi0gIEhUTUxwYXJzZXI6IENvcnJlY3RseSBpbml0aWFsaXNlIGEgc3RhY2sgYWxsb2NhdGVkIHN0cnVjdHVyZSAoUGhpbGlwIFdpdGhuYWxsKSwKLSAgQ2hlY2sgZm9yIHRtb24gaW4gX3htbFNjaGVtYURhdGVBZGQoKSBpcyBpbmNvcnJlY3QgKERhdmlkIEtpbHplciksCi0gIEF2b2lkIFBvc3NpYmxlIE51bGwgUG9pbnRlciBpbiB0cmlvLmMgKEdhdXJhdiBHdXB0YSksCi0gIEZpeCBwcm9jZXNzaW5nIGluIFNBWDIgaW4gY2FzZSBvZiBhbiBhbGxvY2F0aW9uIGZhaWx1cmUgKERhbmllbCBWZWlsbGFyZCksCi0gIFhNTCBTaGVsbCBjb21tYW5kICJjZCIgZG9lcyBub3QgaGFuZGxlICIvIiBhdCBlbmQgb2YgcGF0aCAoRGFuaWVsIFZlaWxsYXJkKSwKLSAgRml4IHZhcmlvdXMgTWlzc2luZyBOdWxsIGNoZWNrcyAoR2F1cmF2IEd1cHRhKSwKLSAgRml4IGEgcG90ZW50aWFsIE5VTEwgZGVyZWZlcmVuY2UgKERhbmllbCBWZWlsbGFyZCksCi0gIEFkZCBhIGNvdXBsZSBvZiBtaXNpc25nIGNoZWNrIGluIHhtbFJlbGF4TkdDbGVhbnVwVHJlZSAoR2F1cmF2IEd1cHRhKSwKLSAgQWRkIGEgbWlzc2luZyBhcmd1bWVudCBjaGVjayAoR2F1cmF2IEd1cHRhKSwKLSAgQWRkaW5nIGEgY2hlY2sgaW4gY2FzZSBvZiBhbGxvY2F0aW9uIGVycm9yIChHYXVyYXYgR3VwdGEpLAotICB4bWxTYXZlVXJpKCkgaW5jb3JyZWN0bHkgcmVjb21wb3NlcyBVUklzIHdpdGggcm9vdGxlc3MgcGF0aHMgKERlbm5pcyBGaWxkZXIpLAotICBBZGRpbmcgc29tZSBtaXNzaW5nIE5VTEwgY2hlY2tzIChHYXVyYXYpLAotICBGaXhlcyBmb3IgeG1sSW5pdFBhcnNlckN0eHQgKERhbmllbCBWZWlsbGFyZCksCi0gIEZpeCByZWdyZXNzaW9ucyBpbnRyb2R1Y2VkIGJ5IENWRS0yMDE0LTAxOTEgcGF0Y2ggKERhbmllbCBWZWlsbGFyZCksCi0gIGVycm9uZW91c2x5IGlnbm9yZXMgYSB2YWxpZGF0aW9uIGVycm9yIGlmIG5vIGVycm9yIGNhbGxiYWNrIHNldCAoRGFuaWVsIFZlaWxsYXJkKSwKLSAgeG1sbGludCB3YXMgbm90IHBhcnNpbmcgdGhlIC0tYzE0bjExIGZsYWcgKFPDqXJnaW8gQmF0aXN0YSksCi0gIEF2b2lkIFBvc3NpYmxlIG51bGwgcG9pbnRlciBkZXJlZmVyZW5jZSBpbiBtZW1vcnkgZGVidWcgbW9kZSAoR2F1cmF2KSwKLSAgQXZvaWQgRG91YmxlIE51bGwgQ2hlY2sgKEdhdXJhdiksCi0gIFJlc3RvcmUgY29udGV4dCBzaXplIGFuZCBwb3NpdGlvbiBhZnRlciBYUEFUSF9PUF9BUkcgKE5pY2sgV2VsbG5ob2ZlciksCi0gIEZpeCB4bWxQYXJzZUluTm9kZUNvbnRleHQoKSBpZiBub2RlIGlzIG5vdCBlbGVtZW50IChEYW5pZWwgVmVpbGxhcmQpLAotICBBdm9pZCBhIHBvc3NpYmxlIE5VTEwgcG9pbnRlciBkZXJlZmVyZW5jZSAoR2F1cmF2KSwKLSAgRml4IHhtbFRleHRXcml0ZXJXcml0ZUVsZW1lbnQgd2hlbiBhIG51bGwgY29udGVudCBpcyBnaXZlbiAoRGFuaWVsIFZlaWxsYXJkKSwKLSAgRml4IGFuIHR5cG8gJ29ucmVzdCcgaW4gaHRtbFNjcmlwdEF0dHJpYnV0ZXMgKERhbmllbCBWZWlsbGFyZCksCi0gIGZpeGluZyBhIHB0b3RlbnRpYWwgdW5pbml0aWFsaXplZCBhY2Nlc3MgKERhbmllbCBWZWlsbGFyZCksCi0gIEZpeCBhbiBmZCBsZWFrIGluIGFuIGVycm9yIGNhc2UgKERhbmllbCBWZWlsbGFyZCksCi0gIE1pc3NpbmcgaW5pdGlhbGl6YXRpb24gZm9yIHRoZSBjYXRhbG9nIG1vZHVsZSAoRGFuaWVsIFZlaWxsYXJkKSwKLSAgSGFuZGxpbmcgb2YgWFBhdGggZnVuY3Rpb24gYXJndW1lbnRzIGluIGVycm9yIGNhc2UgKE5pY2sgV2VsbG5ob2ZlciksCi0gIEZpeCBhIGNvdXBsZSBvZiBtaXNzaW5nIE5VTEwgY2hlY2tzIChHYXVyYXYpLAotICBBdm9pZCBhIHBvc3NpYmlsaXR5IG9mIGRhbmdsaW5nIGVuY29kaW5nIGhhbmRsZXIgKEdhdXJhdiksCi0gIEZpeCBIVE1MIHB1c2ggcGFyc2VyIHRvIGFjY2VwdCBIVE1MX1BBUlNFX05PREVGRFREIChBcm5vbGQgSGVuZHJpa3MpLAotICBGaXggYSBidWcgbG9hZGluZyBzb21lIGNvbXByZXNzZWQgZmlsZXMgKE1pa2UgQWxleGFuZGVyKSwKLSAgRml4IFhQYXRoIG5vZGUgY29tcGFyaXNvbiBidWcgKEdhdXJhdiksCi0gIFR5cGUgbWlzbWF0Y2ggaW4geG1sc2NoZW1hcy5jIChHYXVyYXYpLAotICBUeXBlIG1pc21hdGNoIGluIHhtbHNjaGVtYXN0eXBlcy5jIChHYXVyYXYpLAotICBBdm9pZCBhIGRlYWRjb2RlIGluIGNhdGFsb2cuYyAoRGFuaWVsIFZlaWxsYXJkKSwKLSAgcnVuIGNsb3NlIHNvY2tldCBvbiBTb2xhcmlzLCBzYW1lIGFzIHdlIGRvIG9uIG90aGVyIHBsYXRmb3JtcyAoRGVuaXMgUGF1ayksCi0gIEZpeCBwb2ludGVyIGRlcmVmZXJlbmNlZCBiZWZvcmUgbnVsbCBjaGVjayAoR2F1cmF2KSwKLSAgRml4IGEgcG90ZW50aWFsIE5VTEwgZGVyZWZlcmVuY2UgaW4gdHJlZSBjb2RlIChEYW5pZWwgVmVpbGxhcmQpLAotICBGaXggcG90ZW50aWFsIE5VTEwgcG9pbnRlciBkZXJlZmVyZW5jZXMgaW4gcmVnZXhwIGNvZGUgKEdhdXJhdiksCi0gIHhtbGxpbnQgLS1wcmV0dHkgY3Jhc2hlZCB3aXRob3V0IGZvbGxvd2luZyBudW1lcmljIGFyZ3VtZW50IChUaW0gR2FsZWNrYXMpLAotICBGaXggWFBhdGggZXhwcmVzc2lvbnMgb2YgdGhlIGZvcm0gJ0BuczoqJyAoTmljayBXZWxsbmhvZmVyKSwKLSAgRml4IFhQYXRoICcvLycgb3B0aW1pemF0aW9uIHdpdGggcHJlZGljYXRlcyAoTmljayBXZWxsbmhvZmVyKSwKLSAgQ2xlYXIgdXAgYSBwb3RlbnRpYWwgTlVMTCBkZXJlZmVyZW5jZSAoRGFuaWVsIFZlaWxsYXJkKSwKLSAgRml4IGEgcG9zc2libGUgTlVMTCBkZXJlZmVyZW5jZSAoR2F1cmF2KSwKLSAgQXZvaWQgY3Jhc2ggaWYgYWxsb2NhdGlvbiBmYWlscyAoRGFuaWVsIFZlaWxsYXJkKSwKLSAgUmVtb3ZlIG9jY2FzaW9uYWwgbGVhZGluZyBzcGFjZSBpbiBYUGF0aCBudW1iZXIgZm9ybWF0dGluZyAoRGFuaWVsIFZlaWxsYXJkKSwKLSAgRml4IGhhbmRsaW5nIG9mIG1tYXAgZXJyb3JzIChEYW5pZWwgVmVpbGxhcmQpLAotICBDYXRjaCBtYWxsb2MgZXJyb3IgYW5kIGV4aXQgYWNjb3JkaW5nbHkgKERhbmllbCBWZWlsbGFyZCksCi0gIG1pc3NpbmcgZWxzZSBpbiB4bGluay5jIChBbWkgRmlzY2htYW4pLAotICBGaXggYSBwYXJzaW5nIGJ1ZyBvbiBub24tYXNjaWkgZWxlbWVudCBhbmQgQ1IvTEYgdXNhZ2UgKERhbmllbCBWZWlsbGFyZCksCi0gIEZpeCBhIHJlZ3Jlc3Npb24gaW4geG1sR2V0RG9jQ29tcHJlc3NNb2RlKCkgKERhbmllbCBWZWlsbGFyZCksCi0gIHByb3Blcmx5IHF1b3RlIHRoZSBuYW1lc3BhY2UgdXJpcyB3cml0dGVuIG91dCBkdXJpbmcgYzE0biAoQWxla3NleSBTYW5pbiksCi0gIFJlbW92ZSBwcmVtYXR1cmUgWEluY2x1ZGUgY2hlY2sgb24gVVJJIGJlaW5nIHJlbGF0aXZlIChBbGV4ZXkgTmV5bWFuKSwKLSAgRml4IG1pc3NpbmcgYnJlYWsgb24gbGFzdCgpIGZ1bmN0aW9uIGZvciBhdHRyaWJ1dGVzIChkY2IpLAotICBEbyBub3QgVVJJIGVzY2FwZSBpbiBzZXJ2ZXIgc2lkZSBpbmNsdWRlcyAoUm9tYWluIEJvbmR1ZSksCi0gIEZpeCBhbiBlcnJvciBpbiB4bWxDbGVhbnVwUGFyc2VyIChBbGV4YW5kZXIgUGFzdHVraG92KQorICBDVkUtMjAxNS04MjQyIEJ1ZmZlciBvdmVyZWFkIHdpdGggSFRNTCBwYXJzZXIgaW4gcHVzaCBtb2RlIChIdWdoIERhdmVucG9ydCksCisgIENWRS0yMDE1LTc1MDAgRml4IG1lbW9yeSBhY2Nlc3MgZXJyb3IgZHVlIHRvIGluY29ycmVjdCBlbnRpdGllcyBib3VuZGFyaWVzIChEYW5pZWwgVmVpbGxhcmQpLAorICBDVkUtMjAxNS03NDk5LTIgRGV0ZWN0IGluY29oZXJlbmN5IG9uIEdST1cgKERhbmllbCBWZWlsbGFyZCksCisgIENWRS0yMDE1LTc0OTktMSBBZGQgeG1sSGFsdFBhcnNlcigpIHRvIHN0b3AgdGhlIHBhcnNlciAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgQ1ZFLTIwMTUtNTMxMiBBbm90aGVyIGVudGl0eSBleHBhbnNpb24gaXNzdWUgKERhdmlkIERyeXNkYWxlKSwKKyAgQ1ZFLTIwMTUtNzQ5NyBBdm9pZCBhbiBoZWFwIGJ1ZmZlciBvdmVyZmxvdyBpbiB4bWxEaWN0Q29tcHV0ZUZhc3RRS2V5IChEYXZpZCBEcnlzZGFsZSksCisgIENWRS0yMDE1LTc0OTggQXZvaWQgcHJvY2Vzc2luZyBlbnRpdGllcyBhZnRlciBlbmNvZGluZyBjb252ZXJzaW9uIGZhaWx1cmVzIChEYW5pZWwgVmVpbGxhcmQpLAorICBDVkUtMjAxNS04MDM1IEZpeCBYWiBjb21wcmVzc2lvbiBzdXBwb3J0IGxvb3AgKERhbmllbCBWZWlsbGFyZCksCisgIENWRS0yMDE1LTc5NDItMiBGaXggYW4gZXJyb3IgaW4gcHJldmlvdXMgQ29uZGl0aW9uYWwgc2VjdGlvbiBwYXRjaCAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgQ1ZFLTIwMTUtNzk0MiBBbm90aGVyIHZhcmlhdGlvbiBvZiBvdmVyZmxvdyBpbiBDb25kaXRpb25hbCBzZWN0aW9ucyAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgQ1ZFLTIwMTUtMTgxOSBFbmZvcmNlIHRoZSByZWFkZXIgdG8gcnVuIGluIGNvbnN0YW50IG1lbW9yeSAoRGFuaWVsIFZlaWxsYXJkKQorICBDVkUtMjAxNS03OTQxXzIgQ2xlYW51cCBjb25kaXRpb25hbCBzZWN0aW9uIGVycm9yIGhhbmRsaW5nIChEYW5pZWwgVmVpbGxhcmQpLAorICBDVkUtMjAxNS03OTQxXzEgU3RvcCBwYXJzaW5nIG9uIGVudGl0aWVzIGJvdW5kYXJpZXMgZXJyb3JzIChEYW5pZWwgVmVpbGxhcmQpLAogICAKICAgIC0gRG9jdW1lbnRhdGlvbjoKLSAgdHlwbyBpbiBlcnJvciBtZXNzYWdlcyAiY29sb24gYXJlIGZvcmJpZGRlbiBmcm9tLi4uIiAoRGFuaWVsIFZlaWxsYXJkKSwKLSAgRml4IGEgbGluayB0byBKYW1lcyBTQVggZG9jdW1lbnRhdGlvbiBvbGQgcGFnZSAoRGFuaWVsIFZlaWxsYXJkKSwKLSAgRml4IHR5cG9zIGluIHJlbGF4bmcuYyAoSmFuIFBva29ybsO9KSwKLSAgRml4IGEgZG9jIHR5cG8gKERhbmllbCBWZWlsbGFyZCksCi0gIEZpeCB0eXBvcyBpbiB7dHJlZSx4cGF0aH0uYyAoZXJycm9yKSAoSmFuIFBva29ybsO9KSwKLSAgQWRkIGxpbWl0YXRpb25zIGFib3V0IGVuY29kaW5nIGNvbnZlcnNpb24gKERhbmllbCBWZWlsbGFyZCksCi0gIEZpeCB0eXBvcyBpbiB4bWxzY2hlbWFzeyx0eXBlc30uYyAoSmFuIFBva29ybsO9KSwKLSAgRml4IGluY29ycmVjdCBzcGVsbGluZyBlbnRpdGVzLSZndDtlbnRpdGllcyAoSmFuIFBva29ybsO9KSwKLSAgRm9yZ290IHRvIGRvY3VtZW50IDIuOS4xIHJlbGVhc2UsIHJlZ2VuZXJhdGUgZG9jcyAoRGFuaWVsIFZlaWxsYXJkKQorICBDb3JyZWN0IHNwZWxsaW5nIG9mICJjYWxsaW5nIiAoQWxleCBIZW5yaWUpLAorICBGaXggYSBzbWFsbCBlcnJvciBpbiB4bWxsaW50IC0tZm9ybWF0IGRlc2NyaXB0aW9uIChGYWJpZW4gRGVnb21tZSksCisgIEF2b2lkIFhTUyBvbiB0aGUgc2VhcmNoIG9mIHhtbHNvZnQub3JnIChEYW5pZWwgVmVpbGxhcmQpCiAgIAogICAgLSBQb3J0YWJpbGl0eToKLSAgQUNfQ09ORklHX0ZJTEVTIGFuZCBleGVjdXRhYmxlIGJpdCAoUm91bWVuIFBldHJvdiksCi0gIHJlbW92ZSBIQVZFX0NPTkZJR19IIGRlcGVuZGVuY3kgaW4gdGVzdGxpbWl0cy5jIChSb3VtZW4gUGV0cm92KSwKLSAgZml4IHNvbWUgdGFicyBtaXhpbmcgaW5jb21wYXRpYmxlIHdpdGggcHl0aG9uMyAoUm91bWVuIFBldHJvdiksCi0gIFZpc3VhbCBTdHVkaW8gMTQgQ1RQIGRlZmluZXMgc25wcmludGYoKSAoRnJhbmNpcyBEdXBvbnQpLAotICBPUzQwMDogZG8gbm90IHRyeSB0byBjb3B5IHVuZXhpc3RpbmcgZG9jIGZpbGVzIChQYXRyaWNrIE1vbm5lcmF0KSwKLSAgT1M0MDA6IHVzZSBlaXRoZXIgY29uZmlndXJlLmFjIG9yIGNvbmZpZ3VyZS5pbi4gKFBhdHJpY2sgTW9ubmVyYXQpLAotICBvczQwMDogbWFrZS1zcmMuc2g6IGNyZWF0ZSBwaHlzaWNhbCBmaWxlIHdpdGggdGFyZ2V0IENDU0lEIChQYXRyaWNrIE1vbm5lcmF0KSwKLSAgT1M0MDA6IEFkZCBzb21lIG1vcmUgQyBtYWNyb3MgZXF1aXZhbGVudCBwcm9jZWR1cmVzLiAoUGF0cmljayBNb25uZXJhdCksCi0gIE9TNDAwOiB1c2UgQyBtYWNyb3MgdG8gaW1wbGVtZW50IGVxdWl2YWxlbnQgUlBHIHN1cHBvcnQgcHJvY2VkdXJlcy4gKFBhdHJpY2sgTW9ubmVyYXQpLAotICBPUzQwMDogaW1wbGVtZW50IFhQYXRoIG1hY3JvcyBhcyBwcm9jZWR1cmVzIGZvciBJTEUvUlBHIHN1cHBvcnQuIChQYXRyaWNrIE1vbm5lcmF0KSwKLSAgT1M0MDA6IGluY2x1ZGUgaW4gZGlzdHJpYnV0aW9uIHRhcmJhbGwuIChQYXRyaWNrIE1vbm5lcmF0KSwKLSAgT1M0MDA6IEFkZCBSRUFETUU6IGNvbXBpbGF0aW9uIGRpcmVjdGl2ZXMgYW5kIE9TLzQwMCBzcGVjaWZpYyBzdHVmZi4gKFBhdHJpY2sgTW9ubmVyYXQpLAotICBPUzQwMDogQWRkIGNvbXBpbGF0aW9uIHNjcmlwdHMuIChQYXRyaWNrIE1vbm5lcmF0KSwKLSAgT1M0MDA6IElMRSBSUEcgbGFuZ3VhZ2UgaGVhZGVyIGZpbGVzLiAoUGF0cmljayBNb25uZXJhdCksCi0gIE9TNDAwOiBpbXBsZW1lbnQgc29tZSBtYWNyb3MgYXMgZnVuY3Rpb25zIGZvciBJTEUvUlBHIGxhbmd1YWdlIHN1cHBvcnQgKHRoYXQgYXMgbm8gbWFjcm9zKS4gKFBhdHJpY2sgTW9ubmVyYXQpLAotICBPUzQwMDogVVRGOCZsdDstLSZndDtFQkNESUMgd3JhcHBlcnMgZm9yIHN5c3RlbSBhbmQgZXh0ZXJuYWwgbGlicmFyeSBjYWxscyAoUGF0cmljayBNb25uZXJhdCksCi0gIE9TNDAwOiBFYXN5IGNoYXJhY3RlciB0cmFuc2NvZGluZyBzdXBwb3J0IChQYXRyaWNrIE1vbm5lcmF0KSwKLSAgT1M0MDA6IGljb252IGZ1bmN0aW9ucyBjb21wYXRpYmlsaXR5IHdyYXBwZXJzIGFuZCB0YWJsZSBidWlsZGVyLiAoUGF0cmljayBNb25uZXJhdCksCi0gIE9TNDAwOiBjcmVhdGUgYXJjaGl0ZWN0dXJlIGRpcmVjdG9yeS4gSW1wbGVtZW50IGRsZmNuIGVtdWxhdGlvbi4gKFBhdHJpY2sgTW9ubmVyYXQpLAotICBGaXggYnVpbGRpbmcgd2hlbiBjb25maWd1cmluZyB3aXRob3V0IHhwYXRoIGFuZCB4cHRyIChEYW5pZWwgVmVpbGxhcmQpLAotICBjb25maWd1cmU6IEFkZCAtLXdpdGgtcHl0aG9uLWluc3RhbGwtZGlyIChKb25hcyBFcmlrc3NvbiksCi0gIEZpeCBjb21waWxhdGlvbiB3aXRoIG1pbmltdW0gYW5kIHhpbmNsdWRlLiAoTmljb2xhcyBMZSBDYW0pLAotICBDb21waWxlIG91dCB1c2Ugb2YgeG1sVmFsaWRhdGVOQ05hbWUoKSB3aGVuIG5vdCBhdmFpbGFibGUuIChOaWNvbGFzIExlIENhbSksCi0gIEZpeCBjb21waWxhdGlvbiB3aXRoIG1pbmltdW0gYW5kIHNjaGVtYXRyb24uIChOaWNvbGFzIExlIENhbSksCi0gIExlZ2FjeSBuZWVkcyB4bWxTQVgyU3RhcnRFbGVtZW50KCkgYW5kIHhtbFNBWDJFbmRFbGVtZW50KCkuIChOaWNvbGFzIExlIENhbSksCi0gIERvbid0IHVzZSB4bWxWYWxpZGF0ZU5hbWUoKSB3aGVuIG5vdCBhdmFpbGFibGUuIChOaWNvbGFzIExlIENhbSksCi0gIEZpeCBhIHBvcnRhYmlsaXR5IGlzc3VlIG9uIFdpbmRvd3MgKExvbmdzdHJldGggSm9uKSwKLSAgVmFyaW91cyBwb3J0YWJpbGl0eSBwYXRjaGVzIGZvciBPcGVuVk1TIChKYWNvYiAoSm91aykgSmFuc2VuKSwKLSAgVXNlIHNwZWNpZmljIG1hY3JvcyBmb3IgcG9ydGFiaWxpdHkgdG8gT1MvNDAwIChQYXRyaWNrIE1vbm5lcmF0KSwKLSAgQWRkIG1hY3JvcyBuZWVkZWQgZm9yIE9TLzQwMCBwb3J0YWJpbGl0eSAoUGF0cmljayBNb25uZXJhdCksCi0gIFBvcnRhYmlsaXR5IHBhdGNoIGZvciBmb3BlbiBvbiBPUy80MDAgKFBhdHJpY2sgTW9ubmVyYXQpLAotICBQb3J0YWJpbGl0eSBmaXhlcyBmb3IgT1MvNDAwIChQYXRyaWNrIE1vbm5lcmF0KSwKLSAgSW1wcm92ZSB2YV9saXN0IHBvcnRhYmlsaXR5IChQYXRyaWNrIE1vbm5lcmF0KSwKLSAgUG9ydGFiaWxpdHkgZml4IChQYXRyaWNrIE1vbm5lcmF0KSwKLSAgUG9ydGFiaWxpdHkgZml4IChQYXRyaWNrIE1vbm5lcmF0KSwKLSAgR2VuZXJpYyBwb3J0YWJpbGl0eSBmaXggKFBhdHJpY2sgTW9ubmVyYXQpLAotICBTaG9ydGVuaW5nIGxpbmVzIGluIGhlYWRlcnMgKFBhdHJpY2sgTW9ubmVyYXQpLAotICBidWlsZDogVXNlIHBrZy1jb25maWcgdG8gZmluZCBsaWJsem1hIGluIHByZWZlcmVuY2UgdG8gQUNfQ0hFQ0tfTElCIChQaGlsaXAgV2l0aG5hbGwpLAotICBidWlsZDogQWRkIEBMWk1BX0xJQlNAIHRvIGxpYnhtbOKAmXMgcGtnLWNvbmZpZyBmaWxlcyAoUGhpbGlwIFdpdGhuYWxsKSwKLSAgZml4IHNvbWUgdGFicyBtaXhpbmcgaW5jb21wYXRpYmxlIHdpdGggcHl0aG9uMyAoRGFuaWVsIFZlaWxsYXJkKSwKLSAgYWRkIGFkZGl0aW9uYWwgZGVmaW5lcyBjaGVja3MgZm9yIHN1cHBvcnQgIi4vY29uZmlndXJlIC0td2l0aC1taW5pbXVtIiAoRGVuaXMgUGF1ayksCi0gIEFub3RoZXIgcm91bmQgb2YgZml4ZXMgZm9yIG9sZGVyIHZlcnNpb25zIG9mIFB5dGhvbiAoQXJmcmV2ZXIgRnJlaHRlcyBUYWlmZXJzYXIgQXJhaGVzaXMpLAotICBweXRob246IGZpeCBkcnZfbGlieG1sMi5weSBmb3IgcHl0aG9uMyBjb21wYXRpYmlsaXR5IChBbGV4YW5kcmUgUm9zdG92dHNldiksCi0gIHB5dGhvbjogRml4IGNvbXBpbGVyIHdhcm5pbmdzIHdoZW4gYnVpbGRpbmcgcHl0aG9uMyBiaW5kaW5ncyAoQXJtaW4gSyksCi0gIEZpeCBmb3IgY29tcGlsYXRpb24gd2l0aCBweXRob24gMi42LjggKFBldHIgU3VtYmVyYSkKKyAgdGhyZWFkczogdXNlIGZvcndhcmQgZGVjbGFyYXRpb25zIG9ubHkgZm9yIGdsaWJjIChNaWNoYWVsIEhlaW1wb2xkKSwKKyAgVXBkYXRlIFdpbjMyIGNvbmZpZ3VyZS5qcyB0byBzZWFyY2ggZm9yIGNvbmZpZ3VyZS5hYyAoRGFuaWVsIFZlaWxsYXJkKQorICAKKyAgIC0gQnVnIEZpeGVzOgorICBCdWcgb24gY3JlYXRpbmcgbmV3IHN0cmVhbSBmcm9tIGVudGl0eSAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgRml4IHNvbWUgbG9vcCBpc3N1ZXMgZW1iZWRkaW5nIE5FWFQgKERhbmllbCBWZWlsbGFyZCksCisgIERvIG5vdCBwcmludCBlcnJvciBjb250ZXh0IHdoZW4gdGhlcmUgaXMgbm9uZSAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgQXZvaWQgZXh0cmEgcHJvY2Vzc2luZyBvZiBNYXJrdXBEZWNsIHdoZW4gRU9GIChIdWdoIERhdmVucG9ydCksCisgIEZpeCBwYXJzaW5nIHNob3J0IHVuY2xvc2VkIGNvbW1lbnQgdW5pbml0aWFsaXplZCBhY2Nlc3MgKERhbmllbCBWZWlsbGFyZCksCisgIEFkZCBtaXNzaW5nIE51bGwgY2hlY2sgaW4geG1sUGFyc2VFeHRlcm5hbEVudGl0eVByaXZhdGUgKEdhdXJhdiBHdXB0YSksCisgIEZpeCBhIGJ1ZyBpbiBDRGF0YSBlcnJvciBoYW5kbGluZyBpbiB0aGUgcHVzaCBwYXJzZXIgKERhbmllbCBWZWlsbGFyZCksCisgIEZpeCBhIGJ1ZyBvbiBuYW1lIHBhcnNpbmcgYXQgdGhlIGVuZCBvZiBjdXJyZW50IGlucHV0IGJ1ZmZlciAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgRml4IHRoZSBzcHVyaW91cyBJRCBhbHJlYWR5IGRlZmluZWQgZXJyb3IgKERhbmllbCBWZWlsbGFyZCksCisgIEZpeCBwcmV2aW91cyBjaGFuZ2UgdG8gbm9kZSBzb3J0IG9yZGVyIChOaWNrIFdlbGxuaG9mZXIpLAorICBGaXggYSBzZWxmIGFzc2lnbm1lbnQgaXNzdWUgcmFpc2VkIGJ5IGNsYW5nIChTY290dCBHcmFoYW0pLAorICBGYWlsIHBhcnNpbmcgZWFybHkgb24gaWYgZW5jb2RpbmcgY29udmVyc2lvbiBmYWlsZWQgKERhbmllbCBWZWlsbGFyZCksCisgIERvIG5vdCBwcm9jZXNzIGVuY29kaW5nIHZhbHVlcyBpZiB0aGUgZGVjbGFyYXRpb24gaWYgYnJva2VuIChEYW5pZWwgVmVpbGxhcmQpLAorICBTaWxlbmNlIGNsYW5nJ3MgLVd1bmtub3duLWF0dHJpYnV0ZSAoTWljaGFlbCBDYXRhbnphcm8pLAorICB4bWxNZW1Vc2VkIGlzIG5vdCB0aHJlYWQtc2FmZSAoTWFydGluIHZvbiBHYWdlcm4pLAorICBGaXggc3VwcG9ydCBmb3IgZXhjZXB0IGluIG5hbWVjbGFzc2VzIChEYW5pZWwgVmVpbGxhcmQpLAorICBGaXggb3JkZXIgb2Ygcm9vdCBub2RlcyAoTmljayBXZWxsbmhvZmVyKSwKKyAgQWxsb3cgYXR0cmlidXRlcyBvbiBkZXNjZW5kYW50LW9yLXNlbGYgYXhpcyAoTmljayBXZWxsbmhvZmVyKSwKKyAgRml4IHRoZSBmaXggdG8gV2luZG93cyBsb2NraW5nIChTdGV2ZSBOYWlybiksCisgIEZpeCB0aW1zb3J0IGludmFyaWFudCBsb29wIHJlOiBFbnZpc2FnZSBhcnRpY2xlIChDaHJpc3RvcGhlciBTd2Vuc29uKSwKKyAgRG9uJ3QgYWRkIElEcyBpbiB4bWxTZXRUcmVlRG9jIChOaWNrIFdlbGxuaG9mZXIpLAorICBBY2NvdW50IGZvciBJRCBhdHRyaWJ1dGVzIGluIHhtbFNldFRyZWVEb2MgKE5pY2sgV2VsbG5ob2ZlciksCisgIFJlbW92ZSB2YXJpb3VzIHVudXNlZCB2YWx1ZSBhc3NpZ25tZW50cyAoUGhpbGlwIFdpdGhuYWxsKSwKKyAgRml4IG1pc3NpbmcgZW50aXRpZXMgYWZ0ZXIgQ1ZFLTIwMTQtMzY2MCBmaXggKERhbmllbCBWZWlsbGFyZCksCisgIFJldmVydCAiTWlzc2luZyBpbml0aWFsaXphdGlvbiBmb3IgdGhlIGNhdGFsb2cgbW9kdWxlIiAoRGFuaWVsIFZlaWxsYXJkKQogICAKICAgIC0gSW1wcm92ZW1lbnRzOgotICB3aW4zMi9saWJ4bWwyLmRlZi5zcmMgYWZ0ZXIgcmVidWlsZCBpbiBkb2MgKFJvdW1lbiBQZXRyb3YpLAotICBlbGZnY2NoYWNrLmg6IG1vcmUgbGVnYWN5IG5lZWRzIHhtbFNBWDJTdGFydEVsZW1lbnQoKSBhbmQgeG1sU0FYMkVuZEVsZW1lbnQoKSAoUm91bWVuIFBldHJvdiksCi0gIGVsZmdjY2hhY2suaDogYWRkIHhtbFhQYXRoTm9kZUV2YWwgYW5kIHhtbFhQYXRoU2V0Q29udGV4dE5vZGUgKFJvdW1lbiBQZXRyb3YpLAotICBQcm92aWRlIGNtYWtlIG1vZHVsZSAoU2FtdWVsIE1hcnRpbiksCi0gIEZpeCBhIGNvdXBsZSBvZiBpc3N1ZXMgcmFpc2VkIGJ5IG1ha2UgZGlzdCAoRGFuaWVsIFZlaWxsYXJkKSwKLSAgRml4IGFuZCBhZGQgY29uc3QgcXVhbGlmaWVycyAoS3VydCBSb2Vja3gpLAotICBQcmVwYXJpbmcgZm9yIHVwY29taW5nIHJlbGVhc2Ugb2YgMi45LjIgKERhbmllbCBWZWlsbGFyZCksCi0gIEZpeCB6bGliIGFuZCBsem1hIGxpYnJhcmllcyBjaGVjayB2aWEgY29tbWFuZCBsaW5lIChEbWl0cml5KSwKLSAgd3JvbmcgZXJyb3IgY29sdW1uIGluIHN0cnVjdHVyZWQgZXJyb3Igd2hlbiBwYXJzaW5nIGVuZCB0YWcgKEp1ZXJnZW4gS2VpbCksCi0gIGRvYy9uZXdzLmh0bWw6IHNtYWxsIHVwZGF0ZSB0byBhdm9pZCBsaW5lIGpvaW4gd2hpbGUgZ2VuZXJhdGluZyBORVdTLiAoUGF0cmljayBNb25uZXJhdCksCi0gIEFkZCBtZXRob2RzIGZvciBweXRob24zIGl0ZXJhdG9yIChSb24gQW5nZWxlcyksCi0gIFN1cHBvcnQgZWxlbWVudCBub2RlIHRyYXZlcnNhbCBpbiBkb2N1bWVudCBmcmFnbWVudHMuIChLeWxlIFZhbmRlckJlZWspLAotICB4bWxOb2RlU2V0TmFtZTogQWxsb3cgc2V0dGluZyB0aGUgbmFtZSB0byBhIHN1YnN0cmluZyBvZiB0aGUgY3VycmVudGx5IHNldCBuYW1lIChUcmlzdGFuIFZhbiBCZXJrb20pLAotICBBZGRlZCBtYWNyb3MgZm9yIGFyZ3VtZW50IGNhc3RzIChFcmljIFp1cmNoZXIpLAotICBhZGRpbmcgaW5pdCBjYWxscyB0byB4bWwgYW5kIGh0bWwgUmVhZCBwYXJzaW5nIGVudHJ5IHBvaW50cyAoRGFuaWVsIFZlaWxsYXJkKSwKLSAgR2V0IHJpZCBvZiAnUkVQTEFDRU1FTlQgQ0hBUkFDVEVSJyBVbmljb2RlIGNoYXJzIGluIHhtbHNjaGVtYXMuYyAoSmFuIFBva29ybsO9KSwKLSAgSW1wbGVtZW50IGNob2ljZSBmb3IgbmFtZSBjbGFzc2VzIG9uIGF0dHJpYnV0ZXMgKFNoYXVuIE1jQ2FuY2UpLAotICBUd28gc21hbGwgbmFtZXNwYWNlIHR3ZWFrcyAoRGFuaWVsIFZlaWxsYXJkKSwKLSAgeG1sbGludCAtLW1lbW9yeSBzaG91bGQgZmFpbCBvbiBlbXB0eSBmaWxlcyAoRGFuaWVsIFZlaWxsYXJkKSwKLSAgQ2FzdCBlbmNvZGluZyBuYW1lIHRvIGNoYXIgcG9pbnRlciB0byBtYXRjaCBhcmcgdHlwZSAoTmlrb2xheSBTaXZvdikKKyAgUmV1c2UgeG1sSGFsdFBhcnNlcigpIHdoZXJlIGl0IG1ha2VzIHNlbnNlIChEYW5pZWwgVmVpbGxhcmQpLAorICB4bWxTdG9wUGFyc2VyIHJlc2V0IGVyck5vIChEYW5pZWwgVmVpbGxhcmQpLAorICBSZWVuYWJsZSB4eiBzdXBwb3J0IGJ5IGRlZmF1bHQgKERhbmllbCBWZWlsbGFyZCksCisgIFJlY292ZXIgdW5lc2NhcGVkIGxlc3MtdGhhbiBjaGFyYWN0ZXIgaW4gSFRNTCByZWNvdmVyeSBwYXJzaW5nIChEYW5pZWwgVmVpbGxhcmQpLAorICBBbGxvdyBIVE1MIHNlcmlhbGl6ZXIgdG8gb3V0cHV0IEhUTUw1IERPQ1RZUEUgKFNoYXVuIE1jQ2FuY2UpLAorICBSZWdyZXNzaW9uIHRlc3QgZm9yIGJ1ZyAjNjk1Njk5IChOaWNrIFdlbGxuaG9mZXIpLAorICBBZGQgYSBjb3VwbGUgb2YgWFBhdGggdGVzdHMgKE5pY2sgV2VsbG5ob2ZlciksCisgIEFkZCBQeXRob24gMyBycG0gc3VicGFja2FnZSAoVG9tYXMgUmFkZWopLAorICBsaWJ4bWwyLWNvbmZpZy5jbWFrZS5pbjogdXBkYXRlIGluY2x1ZGUgZGlyZWN0b3JpZXMgKFNhbXVlbCBNYXJ0aW4pLAorICBBZGRpbmcgZXhhbXBsZSBmcm9tIGJ1Z3MgNzM4ODA1IHRvIHJlZ3Jlc3Npb24gdGVzdHMgKERhbmllbCBWZWlsbGFyZCkKICAgCiAgICAtIENsZWFudXBzOgotICBSZW1vdmFsIG9mIG9sZCBjb25maWd1cmUuaW4gKERhbmllbCBWZWlsbGFyZCksCi0gIFVucmVhY2hhYmxlIGNvZGUgaW4gdHJlZS5jIChHYXVyYXYgR3VwdGEpLAotICBSZW1vdmUgYSBjb3VwbGUgb2YgZGVhZCBjb25kaXRpb25zIChHYXVyYXYgR3VwdGEpLAotICBBdm9pZCBzb21lIGRlYWQgY29kZSBhbmQgY2xlYW51cCBpbiByZWxheG5nLmMgKEdhdXJhdiksCi0gIERyb3Agbm90IG5lZWRlZCBjaGVja3MgKERlbmlzIFBhdWspLAotICBGaXggYSB3cm9uZyB0ZXN0IChEYW5pZWwgVmVpbGxhcmQpCiAgIAogCiA8L2NoYW5nZXM+CmRpZmYgLS1naXQgYS9kb2MvbmV3cy5odG1sIGIvZG9jL25ld3MuaHRtbAppbmRleCBlNzZlZjU1Li4wYzY5MmM4IDEwMDY0NAotLS0gYS9kb2MvbmV3cy5odG1sCisrKyBiL2RvYy9uZXdzLmh0bWwKQEAgLTgsNyArOCw5NyBAQAogSDMge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KIEE6bGluaywgQTp2aXNpdGVkLCBBOmFjdGl2ZSB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIH0KIDwvc3R5bGU+PHRpdGxlPlJlbGVhc2VzPC90aXRsZT48L2hlYWQ+PGJvZHkgYmdjb2xvcj0iIzhiNzc2NSIgdGV4dD0iIzAwMDAwMCIgbGluaz0iI2EwNjA2MCIgdmxpbms9IiMwMDAwMDAiPjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSIxMDAlIiBjZWxscGFkZGluZz0iNSIgY2VsbHNwYWNpbmc9IjAiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQgd2lkdGg9IjEyMCI+PGEgaHJlZj0iaHR0cDovL3N3cGF0LmZmaWkub3JnLyI+PGltZyBzcmM9ImVwYXRlbnRzLnBuZyIgYWx0PSJBY3Rpb24gYWdhaW5zdCBzb2Z0d2FyZSBwYXRlbnRzIiAvPjwvYT48L3RkPjx0ZCB3aWR0aD0iMTgwIj48YSBocmVmPSJodHRwOi8vd3d3Lmdub21lLm9yZy8iPjxpbWcgc3JjPSJnbm9tZTIucG5nIiBhbHQ9Ikdub21lMiBMb2dvIiAvPjwvYT48YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9TdGF0dXMiPjxpbWcgc3JjPSJ3M2MucG5nIiBhbHQ9IlczQyBMb2dvIiAvPjwvYT48YSBocmVmPSJodHRwOi8vd3d3LnJlZGhhdC5jb20vIj48aW1nIHNyYz0icmVkaGF0LmdpZiIgYWx0PSJSZWQgSGF0IExvZ28iIC8+PC9hPjxkaXYgYWxpZ249ImxlZnQiPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy8iPjxpbWcgc3JjPSJMaWJ4bWwyLUxvZ28tMTgweDE2OC5naWYiIGFsdD0iTWFkZSB3aXRoIExpYnhtbDIgTG9nbyIgLz48L2E+PC9kaXY+PC90ZD48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjkwJSIgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIwIiBhbGlnbj0iY2VudGVyIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiIGJnY29sb3I9IiNmZmZhY2QiPjx0cj48dGQgYWxpZ249ImNlbnRlciI+PGgxPlRoZSBYTUwgQyBwYXJzZXIgYW5kIHRvb2xraXQgb2YgR25vbWU8L2gxPjxoMj5SZWxlYXNlczwvaDI+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjQiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjIiIHdpZHRoPSIxMDAlIj48dHI+PHRkIHZhbGlnbj0idG9wIiB3aWR0aD0iMjAwIiBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5NYWluIE1lbnU8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PGZvcm0gYWN0aW9uPSJzZWFyY2gucGhwIiBlbmN0eXBlPSJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiIG1ldGhvZD0iZ2V0Ij48aW5wdXQgbmFtZT0icXVlcnkiIHR5cGU9InRleHQiIHNpemU9IjIwIiB2YWx1ZT0iIiAvPjxpbnB1dCBuYW1lPSJzdWJtaXQiIHR5cGU9InN1Ym1pdCIgdmFsdWU9IlNlYXJjaCAuLi4iIC8+PC9mb3JtPjx1bD48bGk+PGEgaHJlZj0iaW5kZXguaHRtbCI+SG9tZTwvYT48L2xpPjxsaT48YSBocmVmPSJodG1sL2luZGV4Lmh0bWwiPlJlZmVyZW5jZSBNYW51YWw8L2E+PC9saT48bGk+PGEgaHJlZj0iaW50cm8uaHRtbCI+SW50cm9kdWN0aW9uPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkZBUS5odG1sIj5GQVE8L2E+PC9saT48bGk+PGEgaHJlZj0iZG9jcy5odG1sIiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCI+RGV2ZWxvcGVyIE1lbnU8L2E+PC9saT48bGk+PGEgaHJlZj0iYnVncy5odG1sIj5SZXBvcnRpbmcgYnVncyBhbmQgZ2V0dGluZyBoZWxwPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImhlbHAuaHRtbCI+SG93IHRvIGhlbHA8L2E+PC9saT48bGk+PGEgaHJlZj0iZG93bmxvYWRzLmh0bWwiPkRvd25sb2FkczwvYT48L2xpPjxsaT48YSBocmVmPSJuZXdzLmh0bWwiPlJlbGVhc2VzPC9hPjwvbGk+PGxpPjxhIGhyZWY9IlhNTGluZm8uaHRtbCI+WE1MPC9hPjwvbGk+PGxpPjxhIGhyZWY9IlhTTFQuaHRtbCI+WFNMVDwvYT48L2xpPjxsaT48YSBocmVmPSJ4bWxkdGQuaHRtbCI+VmFsaWRhdGlvbiAmYW1wOyBEVERzPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImVuY29kaW5nLmh0bWwiPkVuY29kaW5ncyBzdXBwb3J0PC9hPjwvbGk+PGxpPjxhIGhyZWY9ImNhdGFsb2cuaHRtbCI+Q2F0YWxvZyBzdXBwb3J0PC9hPjwvbGk+PGxpPjxhIGhyZWY9Im5hbWVzcGFjZXMuaHRtbCI+TmFtZXNwYWNlczwvYT48L2xpPjxsaT48YSBocmVmPSJjb250cmlicy5odG1sIj5Db250cmlidXRpb25zPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImV4YW1wbGVzL2luZGV4Lmh0bWwiIHN0eWxlPSJmb250LXdlaWdodDpib2xkIj5Db2RlIEV4YW1wbGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0bWwvaW5kZXguaHRtbCIgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiPkFQSSBNZW51PC9hPjwvbGk+PGxpPjxhIGhyZWY9Imd1aWRlbGluZXMuaHRtbCI+WE1MIEd1aWRlbGluZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iQ2hhbmdlTG9nLmh0bWwiPlJlY2VudCBDaGFuZ2VzPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+UmVsYXRlZCBsaW5rczwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48dWw+PGxpPjxhIGhyZWY9Imh0dHA6Ly9tYWlsLmdub21lLm9yZy9hcmNoaXZlcy94bWwvIj5NYWlsIGFyY2hpdmU8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnL1hTTFQvIj5YU0xUIGxpYnhzbHQ8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3BoZC5jcy51bmliby5pdC9nZG9tZTIvIj5ET00gZ2RvbWUyPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuYWxla3NleS5jb20veG1sc2VjLyI+WE1MLURTaWcgeG1sc2VjPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImZ0cDovL3htbHNvZnQub3JnLyI+RlRQPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuemxhdGtvdmljLmNvbS9wcm9qZWN0cy9saWJ4bWwvIj5XaW5kb3dzIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9vcGVuY3N3Lm9yZy9wYWNrYWdlcy9saWJ4bWwyIj5Tb2xhcmlzIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuZXhwbGFpbi5jb20uYXUvb3NzL2xpYnhtbDJ4c2x0Lmh0bWwiPk1hY09zWCBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbHhtbC5kZS8iPmx4bWwgUHl0aG9uIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9jcGFuLnV3aW5uaXBlZy5jYS9kaXN0L1hNTC1MaWJYTUwiPlBlcmwgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2xpYnhtbHBsdXNwbHVzLnNvdXJjZWZvcmdlLm5ldC8iPkMrKyBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LnplbmQuY29tL3BocDUvYXJ0aWNsZXMvcGhwNS14bWxwaHAucGhwI0hlYWRpbmc0Ij5QSFAgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9saWJ4bWwyLXBhcy8iPlBhc2NhbCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbGlieG1sLnJ1Ynlmb3JnZS5vcmcvIj5SdWJ5IGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly90Y2x4bWwuc291cmNlZm9yZ2UubmV0LyI+VGNsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9idWd6aWxsYS5nbm9tZS5vcmcvYnVnbGlzdC5jZ2k/cHJvZHVjdD1saWJ4bWwyIj5CdWcgVHJhY2tlcjwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48dGQgdmFsaWduPSJ0b3AiIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMyIgY2VsbHNwYWNpbmc9IjEiIHdpZHRoPSIxMDAlIj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjxwPlRoZSA8YSBocmVmPSJDaGFuZ2VMb2cuaHRtbCI+Y2hhbmdlIGxvZzwvYT4gZGVzY3JpYmVzIHRoZSByZWNlbnRzIGNvbW1pdHMKLXRvIHRoZSA8YSBocmVmPSJodHRwOi8vZ2l0Lmdub21lLm9yZy9icm93c2UvbGlieG1sMi8iPkdJVDwvYT4gY29kZSBiYXNlLjwvcD48cD5IZXJlIGlzIHRoZSBsaXN0IG9mIHB1YmxpYyByZWxlYXNlczo8L3A+PGgzPnYyLjkuMzogTm92IDIwIDIwMTU8L2gzPjx1bD4KK3RvIHRoZSA8YSBocmVmPSJodHRwOi8vZ2l0Lmdub21lLm9yZy9icm93c2UvbGlieG1sMi8iPkdJVDwvYT4gY29kZSBiYXNlLjwvcD48cD5IZXJlIGlzIHRoZSBsaXN0IG9mIHB1YmxpYyByZWxlYXNlczo8L3A+PGgzPjIuOS40OiBNYXkgMjMgMjAxNjwvaDM+PHVsPgorICA8bGk+U2VjdXJpdHk6PGJyIC8+CisgIE1vcmUgZm9ybWF0IHN0cmluZyB3YXJuaW5ncyB3aXRoIHBvc3NpYmxlIGZvcm1hdCBzdHJpbmcgdnVsbmVyYWJpbGl0eSAoRGF2aWQgS2lsemVyKSw8YnIgLz4KKyAgQXZvaWQgYnVpbGRpbmcgcmVjdXJzaXZlIGVudGl0aWVzIChEYW5pZWwgVmVpbGxhcmQpLDxiciAvPgorICBIZWFwLWJhc2VkIGJ1ZmZlciBvdmVycmVhZCBpbiBodG1sQ3VycmVudENoYXIgKFByYW5qYWwgSnVtZGUpLDxiciAvPgorICBIZWFwLWJhc2VkIGJ1ZmZlci11bmRlcnJlYWRzIGR1ZSB0byB4bWxQYXJzZU5hbWUgKERhdmlkIEtpbHplciksPGJyIC8+CisgIEhlYXAgdXNlLWFmdGVyLWZyZWUgaW4geG1sU0FYMkF0dHJpYnV0ZU5zIChQcmFuamFsIEp1bWRlKSw8YnIgLz4KKyAgSGVhcCB1c2UtYWZ0ZXItZnJlZSBpbiBodG1sUGFyc2VQdWJpZExpdGVyYWwgYW5kIGh0bWxQYXJzZVN5c3RlbWl0ZXJhbCAoUHJhbmphbCBKdW1kZSksPGJyIC8+CisgIEZpeCBzb21lIGZvcm1hdCBzdHJpbmcgd2FybmluZ3Mgd2l0aCBwb3NzaWJsZSBmb3JtYXQgc3RyaW5nIHZ1bG5lcmFiaWxpdHkgKERhdmlkIEtpbHplciksPGJyIC8+CisgIERldGVjdCBjaGFuZ2Ugb2YgZW5jb2Rpbmcgd2hlbiBwYXJzaW5nIEhUTUwgbmFtZXMgKEh1Z2ggRGF2ZW5wb3J0KSw8YnIgLz4KKyAgRml4IGluYXBwcm9wcmlhdGUgZmV0Y2ggb2YgZW50aXRpZXMgY29udGVudCAoRGFuaWVsIFZlaWxsYXJkKSw8YnIgLz4KKyAgQnVnIDc1OTM5ODogSGVhcCB1c2UtYWZ0ZXItZnJlZSBpbiB4bWxEaWN0Q29tcHV0ZUZhc3RLZXkgJmx0O2h0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTkzOTgmZ3Q7IChQcmFuamFsIEp1bWRlKSw8YnIgLz4KKyAgQnVnIDc1ODYwNTogSGVhcC1iYXNlZCBidWZmZXIgb3ZlcnJlYWQgaW4geG1sRGljdEFkZFN0cmluZyAmbHQ7aHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODYwNSZndDsgKFByYW5qYWwgSnVtZGUpLDxiciAvPgorICBCdWcgNzU4NTg4OiBIZWFwLWJhc2VkIGJ1ZmZlciBvdmVycmVhZCBpbiB4bWxQYXJzZXJQcmludEZpbGVDb250ZXh0SW50ZXJuYWwgJmx0O2h0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTg1ODgmZ3Q7IChEYXZpZCBLaWx6ZXIpLDxiciAvPgorICBCdWcgNzU3NzExOiBoZWFwLWJ1ZmZlci1vdmVyZmxvdyBpbiB4bWxGQVBhcnNlUG9zQ2hhckdyb3VwICZsdDtodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3NzExJmd0OyAoUHJhbmphbCBKdW1kZSksPGJyIC8+CisgIEFkZCBtaXNzaW5nIGluY3JlbWVudHMgb2YgcmVjdXJzaW9uIGRlcHRoIGNvdW50ZXIgdG8gWE1MIHBhcnNlci4gKFBldGVyIFNpbW9ucyk8YnIgLz4KKyAgPC9saT4KKworICA8bGk+RG9jdW1lbnRhdGlvbjo8YnIgLz4KKyAgRml4IHR5cG86IHN7IGVjIC0mZ3Q7IGNyIH1jaXB0IChKYW4gUG9rb3Juw70pLDxiciAvPgorICBGaXggdHlwb3M6IGRpY3Rpb3sgbm4gLSZndDsgbiB9YXJ7eSxpZXN9IChKYW4gUG9rb3Juw70pLDxiciAvPgorICBGaXggdHlwb3M6IFBBVEhfeyBTRUFQQVJBVE9SIC0mZ3Q7IFNFUEFSQVRPUiB9IChKYW4gUG9rb3Juw70pLDxiciAvPgorICBDb3JyZWN0IGEgdHlwby4gKFNobG9taSBGaXNoKTxiciAvPgorICA8L2xpPgorCisgIDxsaT5Qb3J0YWJpbGl0eTo8YnIgLz4KKyAgQ29ycmVjdCB0aGUgdXNhZ2Ugb2YgTERGTEFHUyAoTWF0dGlhcyBIYW5zc29uKSw8YnIgLz4KKyAgUmV2ZXJ0IHRoZSB1c2Ugb2YgU0FWRV9MREZMQUdTIGluIGNvbmZpZ3VyZS5hYyAoTWF0dGlhcyBIYW5zc29uKSw8YnIgLz4KKyAgbGlieG1sMiBoYXJkY29kZXMgLUwvbGliIGluIHpsaWIvbHptYSB0ZXN0cyB3aGljaCBicmVha3MgY3Jvc3MtY29tcGlsZXMgKE1pa2UgRnJ5c2luZ2VyKSw8YnIgLz4KKyAgRml4IGFwaWJ1aWxkIGZvciBhIHJlY2VudGx5IGFkZGVkIGNvbnN0cnVjdCAoRGFuaWVsIFZlaWxsYXJkKSw8YnIgLz4KKyAgVXNlIHBrZy1jb25maWcgdG8gbG9jYXRlIHpsaWIgd2hlbiBwb3NzaWJsZSAoU3Rld2FydCBCcm9kaWUpLDxiciAvPgorICBVc2UgcGtnLWNvbmZpZyB0byBsb2NhdGUgSUNVIHdoZW4gcG9zc2libGUgKFN0ZXdhcnQgQnJvZGllKSw8YnIgLz4KKyAgUG9ydGFiaWxpdHkgdG8gbm9uIEM5OSBjb21wbGlhbnQgY29tcGlsZXJzIChQYXRyaWNrIE1vbm5lcmF0KSw8YnIgLz4KKyAgZGljdC5oOiBNb3ZlIHhtbERpY3RQdHIgZGVmaW5pdGlvbiBiZWZvcmUgaW5jbHVkZXMgdG8gYWxsb3cgZGlyZWN0IGluY2x1c2lvbi4gKFBhdHJpY2sgTW9ubmVyYXQpLDxiciAvPgorICBvczQwMDogdGVsbCBhYm91dCB4bWxsaW50IGFuZCB4bWxjYXRhbG9nIGluIFJFQURNRTQwMC4gKFBhdHJpY2sgTW9ubmVyYXQpLDxiciAvPgorICBvczQwMDogcHJvcGVybHkgcHJvY2VzcyBTR01MIGFkZCBpbiBYTUxDQVRBTE9HIGNvbW1hbmQuIChQYXRyaWNrIE1vbm5lcmF0KSw8YnIgLz4KKyAgb3M0MDA6IGltcGxlbWVudCBDTCBjb21tYW5kIFhNTENBVEFMT0cuIChQYXRyaWNrIE1vbm5lcmF0KSw8YnIgLz4KKyAgb3M0MDA6IGNvbXBpbGUgYW5kIGluc3RhbGwgcHJvZ3JhbSB4bWxjYXRhbG9nIChxc2hlbGwtb25seSkuIChQYXRyaWNrIE1vbm5lcmF0KSw8YnIgLz4KKyAgb3M0MDA6IGV4cGFuZCB0YWJzIGluIHNvdXJjZXMsIHN0cmlwIHRyYWlsaW5nIGJsYW5rcy4gKFBhdHJpY2sgTW9ubmVyYXQpLDxiciAvPgorICBvczQwMDogaW1wbGVtZW50IENMIGNvbW1hbmQgWE1MTElOVC4gKFBhdHJpY2sgTW9ubmVyYXQpLDxiciAvPgorICBvczQwMDogY29tcGlsZSBhbmQgaW5zdGFsbCBwcm9ncmFtIHhtbGxpbnQgKHFzaGVsbC1vbmx5KS4gKFBhdHJpY2sgTW9ubmVyYXQpLDxiciAvPgorICBvczQwMDogaW5pdHNjcmlwdCBtYWtlX21vZHVsZSgpOiBVc2Ugb3B0aW9ucyBpbnN0ZWFkIG9mIHBvc2l0aW9uYWwgcGFyYW1ldGVycy4gKFBhdHJpY2sgTW9ubmVyYXQpLDxiciAvPgorICBvczQwMDogYzE0bi5ycGdsZTogYWxsb3cgKm9taXQgZm9yIG51bGxhYmxlIHJlZmVyZW5jZSBwYXJhbWV0ZXJzLiAoUGF0cmljayBNb25uZXJhdCksPGJyIC8+CisgIG9zNDAwOiB1c2UgbGlrZSgpIGZvciBkb3VibGUgdHlwZS4gKFBhdHJpY2sgTW9ubmVyYXQpLDxiciAvPgorICBvczQwMDogdXNlIGxpa2UoKSBmb3IgaW50IHR5cGUuIChQYXRyaWNrIE1vbm5lcmF0KSw8YnIgLz4KKyAgb3M0MDA6IHVzZSBsaWtlKCkgZm9yIHVuc2lnbmVkIGludCB0eXBlLiAoUGF0cmljayBNb25uZXJhdCksPGJyIC8+CisgIG9zNDAwOiB1c2UgbGlrZSgpIGZvciBlbnVtIHR5cGVzLiAoUGF0cmljayBNb25uZXJhdCksPGJyIC8+CisgIEFkZCB4eiB0byB4bWwyLWNvbmZpZyAtLWxpYnMgb3V0cHV0IChCYXJ1Y2ggU2lhY2gpLDxiciAvPgorICBCdWcgNzYwMTkwOiBjb25maWd1cmUuYWMgc2hvdWxkIGJlIGFibGUgdG8gYnVpbGQgLS13aXRoLWljdSB3aXRob3V0IGljdS1jb25maWcgdG9vbCAmbHQ7aHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDE5MCZndDsgKERhdmlkIEtpbHplciksPGJyIC8+CisgIHdpbjMyXFZDMTBcY29uZmlnLmggYW5kIFZTIDIwMTUgKEJydWNlIERhd3NvbiksPGJyIC8+CisgIEFkZCBjb25maWd1cmUgbWFpbnRhaW5lciBtb2RlIChvcnplbik8YnIgLz4KKyAgPC9saT4KKworICA8bGk+QnVnIEZpeGVzOjxiciAvPgorICBBdm9pZCBhbiBvdXQgb2YgYm91bmQgYWNjZXNzIHdoZW4gc2VyaWFsaXppbmcgbWFsZm9ybWVkIHN0cmluZ3MgKERhbmllbCBWZWlsbGFyZCksPGJyIC8+CisgIFVuc2lnbmVkIGFkZGl0aW9uIG1heSBvdmVyZmxvdyBpbiB4bWxNYWxsb2NBdG9taWNMb2MoKSAoRGF2aWQgS2lsemVyKSw8YnIgLz4KKyAgSW50ZWdlciBzaWduZWQvdW5zaWduZWQgdHlwZSBtaXNtYXRjaCBpbiB4bWxQYXJzZXJJbnB1dEdyb3coKSAoRGF2aWQgS2lsemVyKSw8YnIgLz4KKyAgQnVnIDc2MzA3MTogaGVhcC1idWZmZXItb3ZlcmZsb3cgaW4geG1sU3RybmNhdCAmbHQ7aHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MzA3MSZndDsgKFByYW5qYWwgSnVtZGUpLDxiciAvPgorICBJbnRlZ2VyIG92ZXJmbG93IHBhcnNpbmcgcG9ydCBudW1iZXIgaW4gVVJJIChNaWNoYWVsIFBhZGRvbiksPGJyIC8+CisgIEZpeCBhbiBlcnJvciB3aXRoIHJlZ2V4cCBvbiBudWxsYWJsZSBjb3VudGVkIGNoYXIgdHJhbnNpdGlvbiAoRGFuaWVsIFZlaWxsYXJkKSw8YnIgLz4KKyAgRml4IG1lbW9yeSBsZWFrIHdpdGggWFBhdGggbmFtZXNwYWNlIG5vZGVzIChOaWNrIFdlbGxuaG9mZXIpLDxiciAvPgorICBGaXggbmFtZXNwYWNlIGF4aXMgdHJhdmVyc2FsIChOaWNrIFdlbGxuaG9mZXIpLDxiciAvPgorICAgICAgRml4IG51bGwgcG9pbnRlciBkZXJlZiBpbiBkb2NzIHdpdGggbm8gcm9vdCBlbGVtZW50IChIdWdoIERhdmVucG9ydCksPGJyIC8+CisgIEZpeCBYU0QgdmFsaWRhdGlvbiBvZiBVUklzIHdpdGggYW1wZXJzYW5kcyAoQWxleCBIZW5yaWUpLDxiciAvPgorICB4bWxzY2hlbWFzdHlwZXMuYzogYWNjZXB0IGVuZE9mRGF5RnJhZyBUaW1lcyBzZXQgdG8gIjI0OjAwOjAwIiBtZWFuICJlbmQgb2YgZGF5IiBhbmQgc2hvdWxkIG5vdCBjYXVzZSBhbiBlcnJvci4gKFBhdHJpY2sgTW9ubmVyYXQpLDxiciAvPgorICB4bWxjYXRhbG9nOiBmbHVzaCBzdGRvdXQgYmVmb3JlIGludGVyYWN0aXZlIHNoZWxsIGlucHV0LiAoUGF0cmljayBNb25uZXJhdCksPGJyIC8+CisgIHhtbGxpbnQ6IGZsdXNoIHN0ZG91dCBiZWZvcmUgaW50ZXJhY3RpdmUgc2hlbGwgaW5wdXQuIChQYXRyaWNrIE1vbm5lcmF0KSw8YnIgLz4KKyAgRG9uJ3QgcmVjdXJzZSBpbnRvIE9QX1ZBTFVFcyBpbiB4bWxYUGF0aE9wdGltaXplRXhwcmVzc2lvbiAoTmljayBXZWxsbmhvZmVyKSw8YnIgLz4KKyAgRml4IG5hbWVzcGFjZTo6bm9kZSgpIFhQYXRoIGV4cHJlc3Npb24gKE5pY2sgV2VsbG5ob2ZlciksPGJyIC8+CisgIEZpeCBPT0Igd3JpdGUgaW4geG1sWFBhdGhFbXB0eU5vZGVTZXQgKE5pY2sgV2VsbG5ob2ZlciksPGJyIC8+CisgIEZpeCBwYXJzaW5nIG9mIE5DTmFtZXMgaW4gWFBhdGggKE5pY2sgV2VsbG5ob2ZlciksPGJyIC8+CisgIEZpeCBPT0IgcmVhZCB3aXRoIGludmFsaWQgVVRGLTggaW4geG1sVVRGOFN0cnNpemUgKE5pY2sgV2VsbG5ob2ZlciksPGJyIC8+CisgIERvIG5vcm1hbGl6ZSBzdHJpbmctYmFzZWQgZGF0YXR5cGUgdmFsdWUgaW4gUmVsYXhORyBmYWNldCBjaGVja2luZyAoQXVkcmljIFNjaGlsdGtuZWNodCksPGJyIC8+CisgIEJ1ZyA3NjA5MjE6IFJFR1JFU1NJT04gKDhlYjU1ZDc4KTogZG9jL2V4YW1wbGVzL2lvMSB0ZXN0IGZhaWxzIGFmdGVyIGZpeCBmb3IgInhtbFNhdmVVcmkoKSBpbmNvcnJlY3RseSByZWNvbXBvc2VzIFVSSXMgd2l0aCByb290bGVzcyBwYXRocyIgJmx0O2h0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjA5MjEmZ3Q7IChEYXZpZCBLaWx6ZXIpLDxiciAvPgorICBCdWcgNzYwODYxOiBSRUdSRVNTSU9OIChiZjljMWRhZCk6IE1pc3NpbmcgcmVzdWx0cyBmb3IgdGVzdC9zY2hlbWFzL3JlZ2V4cC1jaGFyLXJlZl9bMDFdLnhzZCAmbHQ7aHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDg2MSZndDsgKERhdmlkIEtpbHplciksPGJyIC8+CisgIGVycm9yLmM6ICppbnB1dC0mZ3Q7Y3VyID09IDAgZG9lcyBub3QgbWVhbiBubyBlcnJvciAoUGF2ZWwgUmFpc2t1cCksPGJyIC8+CisgIEFkZCBtaXNzaW5nIFJORyB0ZXN0IGZpbGVzIChEYXZpZCBLaWx6ZXIpLDxiciAvPgorICBCdWcgNzYwMTgzOiBSRUdSRVNTSU9OICh2Mi45LjMpOiBYTUwgcHVzaCBwYXJzZXIgZmFpbHMgd2l0aCBib2d1cyBVVEYtOCBlbmNvZGluZyBlcnJvciB3aGVuIG11bHRpLWJ5dGUgY2hhcmFjdGVyIGluIGxhcmdlIENEQVRBIHNlY3Rpb24gaXMgc3BsaXQgYWNyb3NzIGJ1ZmZlciAmbHQ7aHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDE4MyZndDsgKERhdmlkIEtpbHplciksPGJyIC8+CisgIEJ1ZyA3NTg1NzI6IEFTQU4gY3Jhc2ggaW4gbWFrZSBjaGVjayAmbHQ7aHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODU3MiZndDsgKERhdmlkIEtpbHplciksPGJyIC8+CisgIEJ1ZyA3MjExNTg6IE1pc3NpbmcgSUNVIHN0cmluZyB3aGVuIGRvaW5nIC0tdmVyc2lvbiBvbiB4bWxsaW50ICZsdDtodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIxMTU4Jmd0OyAoRGF2aWQgS2lsemVyKSw8YnIgLz4KKyAgcHl0aG9uIDM6IGxpYnhtbDIuYyB3cmFwcGVycyBjcmVhdGUgVW5pY29kZSBzdHIgYWxyZWFkeSAoTWljaGFlbCBTdGFobCksPGJyIC8+CisgIEFkZCBhdXRvZ2VuLnNoIHRvIGRpc3RyaWIgKG9yemVuKSw8YnIgLz4KKyAgSGVhcC1iYXNlZCBidWZmZXIgb3ZlcnJlYWQgaW4geG1sTmV4dENoYXIgKERhbmllbCBWZWlsbGFyZCk8YnIgLz4KKyAgPC9saT4KKworICA8bGk+SW1wcm92ZW1lbnRzOjxiciAvPgorICBBZGQgbW9yZSBkZWJ1Z2dpbmcgaW5mbyB0byBydW50ZXN0IChEYW5pZWwgVmVpbGxhcmQpLDxiciAvPgorICBJbXBsZW1lbnQgInJ1bnRlc3QgLXUiIG1vZGUgKERhdmlkIEtpbHplciksPGJyIC8+CisgIEFkZCBhIG1ha2UgcnVsZSB0byByZWJ1aWxkIGZvciBBU0FOIChEYW5pZWwgVmVpbGxhcmQpPGJyIC8+CisgIDwvbGk+Cis8L3VsPjxoMz52Mi45LjM6IE5vdiAyMCAyMDE1PC9oMz48dWw+CiAgIDxsaT5TZWN1cml0eTo8YnIgLz4KICAgQ1ZFLTIwMTUtODI0MiBCdWZmZXIgb3ZlcmVhZCB3aXRoIEhUTUwgcGFyc2VyIGluIHB1c2ggbW9kZSAoSHVnaCBEYXZlbnBvcnQpLDxiciAvPgogICBDVkUtMjAxNS03NTAwIEZpeCBtZW1vcnkgYWNjZXNzIGVycm9yIGR1ZSB0byBpbmNvcnJlY3QgZW50aXRpZXMgYm91bmRhcmllcyAoRGFuaWVsIFZlaWxsYXJkKSw8YnIgLz4KZGlmZiAtLWdpdCBhL2RvYy94bWwuaHRtbCBiL2RvYy94bWwuaHRtbAppbmRleCA1MWRjYThjLi5kMDM1OTM0IDEwMDY0NAotLS0gYS9kb2MveG1sLmh0bWwKKysrIGIvZG9jL3htbC5odG1sCkBAIC03MDksNiArNzA5LDk4IEBACiAKIDxwPkhlcmUgaXMgdGhlIGxpc3Qgb2YgcHVibGljIHJlbGVhc2VzOjwvcD4KIAorPGgzPjIuOS40OiBNYXkgMjMgMjAxNjwvaDM+Cis8dWw+CisgIDxsaT5TZWN1cml0eTo8YnIvPgorICBNb3JlIGZvcm1hdCBzdHJpbmcgd2FybmluZ3Mgd2l0aCBwb3NzaWJsZSBmb3JtYXQgc3RyaW5nIHZ1bG5lcmFiaWxpdHkgKERhdmlkIEtpbHplciksPGJyLz4KKyAgQXZvaWQgYnVpbGRpbmcgcmVjdXJzaXZlIGVudGl0aWVzIChEYW5pZWwgVmVpbGxhcmQpLDxici8+CisgIEhlYXAtYmFzZWQgYnVmZmVyIG92ZXJyZWFkIGluIGh0bWxDdXJyZW50Q2hhciAoUHJhbmphbCBKdW1kZSksPGJyLz4KKyAgSGVhcC1iYXNlZCBidWZmZXItdW5kZXJyZWFkcyBkdWUgdG8geG1sUGFyc2VOYW1lIChEYXZpZCBLaWx6ZXIpLDxici8+CisgIEhlYXAgdXNlLWFmdGVyLWZyZWUgaW4geG1sU0FYMkF0dHJpYnV0ZU5zIChQcmFuamFsIEp1bWRlKSw8YnIvPgorICBIZWFwIHVzZS1hZnRlci1mcmVlIGluIGh0bWxQYXJzZVB1YmlkTGl0ZXJhbCBhbmQgaHRtbFBhcnNlU3lzdGVtaXRlcmFsIChQcmFuamFsIEp1bWRlKSw8YnIvPgorICBGaXggc29tZSBmb3JtYXQgc3RyaW5nIHdhcm5pbmdzIHdpdGggcG9zc2libGUgZm9ybWF0IHN0cmluZyB2dWxuZXJhYmlsaXR5IChEYXZpZCBLaWx6ZXIpLDxici8+CisgIERldGVjdCBjaGFuZ2Ugb2YgZW5jb2Rpbmcgd2hlbiBwYXJzaW5nIEhUTUwgbmFtZXMgKEh1Z2ggRGF2ZW5wb3J0KSw8YnIvPgorICBGaXggaW5hcHByb3ByaWF0ZSBmZXRjaCBvZiBlbnRpdGllcyBjb250ZW50IChEYW5pZWwgVmVpbGxhcmQpLDxici8+CisgIEJ1ZyA3NTkzOTg6IEhlYXAgdXNlLWFmdGVyLWZyZWUgaW4geG1sRGljdENvbXB1dGVGYXN0S2V5ICZsdDtodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5Mzk4Jmd0OyAoUHJhbmphbCBKdW1kZSksPGJyLz4KKyAgQnVnIDc1ODYwNTogSGVhcC1iYXNlZCBidWZmZXIgb3ZlcnJlYWQgaW4geG1sRGljdEFkZFN0cmluZyAmbHQ7aHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODYwNSZndDsgKFByYW5qYWwgSnVtZGUpLDxici8+CisgIEJ1ZyA3NTg1ODg6IEhlYXAtYmFzZWQgYnVmZmVyIG92ZXJyZWFkIGluIHhtbFBhcnNlclByaW50RmlsZUNvbnRleHRJbnRlcm5hbCAmbHQ7aHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODU4OCZndDsgKERhdmlkIEtpbHplciksPGJyLz4KKyAgQnVnIDc1NzcxMTogaGVhcC1idWZmZXItb3ZlcmZsb3cgaW4geG1sRkFQYXJzZVBvc0NoYXJHcm91cCAmbHQ7aHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzcxMSZndDsgKFByYW5qYWwgSnVtZGUpLDxici8+CisgIEFkZCBtaXNzaW5nIGluY3JlbWVudHMgb2YgcmVjdXJzaW9uIGRlcHRoIGNvdW50ZXIgdG8gWE1MIHBhcnNlci4gKFBldGVyIFNpbW9ucyk8YnIvPgorICA8L2xpPgorCisgIDxsaT5Eb2N1bWVudGF0aW9uOjxici8+CisgIEZpeCB0eXBvOiBzeyBlYyAtJmd0OyBjciB9Y2lwdCAoSmFuIFBva29ybsO9KSw8YnIvPgorICBGaXggdHlwb3M6IGRpY3Rpb3sgbm4gLSZndDsgbiB9YXJ7eSxpZXN9IChKYW4gUG9rb3Juw70pLDxici8+CisgIEZpeCB0eXBvczogUEFUSF97IFNFQVBBUkFUT1IgLSZndDsgU0VQQVJBVE9SIH0gKEphbiBQb2tvcm7DvSksPGJyLz4KKyAgQ29ycmVjdCBhIHR5cG8uIChTaGxvbWkgRmlzaCk8YnIvPgorICA8L2xpPgorCisgIDxsaT5Qb3J0YWJpbGl0eTo8YnIvPgorICBDb3JyZWN0IHRoZSB1c2FnZSBvZiBMREZMQUdTIChNYXR0aWFzIEhhbnNzb24pLDxici8+CisgIFJldmVydCB0aGUgdXNlIG9mIFNBVkVfTERGTEFHUyBpbiBjb25maWd1cmUuYWMgKE1hdHRpYXMgSGFuc3NvbiksPGJyLz4KKyAgbGlieG1sMiBoYXJkY29kZXMgLUwvbGliIGluIHpsaWIvbHptYSB0ZXN0cyB3aGljaCBicmVha3MgY3Jvc3MtY29tcGlsZXMgKE1pa2UgRnJ5c2luZ2VyKSw8YnIvPgorICBGaXggYXBpYnVpbGQgZm9yIGEgcmVjZW50bHkgYWRkZWQgY29uc3RydWN0IChEYW5pZWwgVmVpbGxhcmQpLDxici8+CisgIFVzZSBwa2ctY29uZmlnIHRvIGxvY2F0ZSB6bGliIHdoZW4gcG9zc2libGUgKFN0ZXdhcnQgQnJvZGllKSw8YnIvPgorICBVc2UgcGtnLWNvbmZpZyB0byBsb2NhdGUgSUNVIHdoZW4gcG9zc2libGUgKFN0ZXdhcnQgQnJvZGllKSw8YnIvPgorICBQb3J0YWJpbGl0eSB0byBub24gQzk5IGNvbXBsaWFudCBjb21waWxlcnMgKFBhdHJpY2sgTW9ubmVyYXQpLDxici8+CisgIGRpY3QuaDogTW92ZSB4bWxEaWN0UHRyIGRlZmluaXRpb24gYmVmb3JlIGluY2x1ZGVzIHRvIGFsbG93IGRpcmVjdCBpbmNsdXNpb24uIChQYXRyaWNrIE1vbm5lcmF0KSw8YnIvPgorICBvczQwMDogdGVsbCBhYm91dCB4bWxsaW50IGFuZCB4bWxjYXRhbG9nIGluIFJFQURNRTQwMC4gKFBhdHJpY2sgTW9ubmVyYXQpLDxici8+CisgIG9zNDAwOiBwcm9wZXJseSBwcm9jZXNzIFNHTUwgYWRkIGluIFhNTENBVEFMT0cgY29tbWFuZC4gKFBhdHJpY2sgTW9ubmVyYXQpLDxici8+CisgIG9zNDAwOiBpbXBsZW1lbnQgQ0wgY29tbWFuZCBYTUxDQVRBTE9HLiAoUGF0cmljayBNb25uZXJhdCksPGJyLz4KKyAgb3M0MDA6IGNvbXBpbGUgYW5kIGluc3RhbGwgcHJvZ3JhbSB4bWxjYXRhbG9nIChxc2hlbGwtb25seSkuIChQYXRyaWNrIE1vbm5lcmF0KSw8YnIvPgorICBvczQwMDogZXhwYW5kIHRhYnMgaW4gc291cmNlcywgc3RyaXAgdHJhaWxpbmcgYmxhbmtzLiAoUGF0cmljayBNb25uZXJhdCksPGJyLz4KKyAgb3M0MDA6IGltcGxlbWVudCBDTCBjb21tYW5kIFhNTExJTlQuIChQYXRyaWNrIE1vbm5lcmF0KSw8YnIvPgorICBvczQwMDogY29tcGlsZSBhbmQgaW5zdGFsbCBwcm9ncmFtIHhtbGxpbnQgKHFzaGVsbC1vbmx5KS4gKFBhdHJpY2sgTW9ubmVyYXQpLDxici8+CisgIG9zNDAwOiBpbml0c2NyaXB0IG1ha2VfbW9kdWxlKCk6IFVzZSBvcHRpb25zIGluc3RlYWQgb2YgcG9zaXRpb25hbCBwYXJhbWV0ZXJzLiAoUGF0cmljayBNb25uZXJhdCksPGJyLz4KKyAgb3M0MDA6IGMxNG4ucnBnbGU6IGFsbG93ICpvbWl0IGZvciBudWxsYWJsZSByZWZlcmVuY2UgcGFyYW1ldGVycy4gKFBhdHJpY2sgTW9ubmVyYXQpLDxici8+CisgIG9zNDAwOiB1c2UgbGlrZSgpIGZvciBkb3VibGUgdHlwZS4gKFBhdHJpY2sgTW9ubmVyYXQpLDxici8+CisgIG9zNDAwOiB1c2UgbGlrZSgpIGZvciBpbnQgdHlwZS4gKFBhdHJpY2sgTW9ubmVyYXQpLDxici8+CisgIG9zNDAwOiB1c2UgbGlrZSgpIGZvciB1bnNpZ25lZCBpbnQgdHlwZS4gKFBhdHJpY2sgTW9ubmVyYXQpLDxici8+CisgIG9zNDAwOiB1c2UgbGlrZSgpIGZvciBlbnVtIHR5cGVzLiAoUGF0cmljayBNb25uZXJhdCksPGJyLz4KKyAgQWRkIHh6IHRvIHhtbDItY29uZmlnIC0tbGlicyBvdXRwdXQgKEJhcnVjaCBTaWFjaCksPGJyLz4KKyAgQnVnIDc2MDE5MDogY29uZmlndXJlLmFjIHNob3VsZCBiZSBhYmxlIHRvIGJ1aWxkIC0td2l0aC1pY3Ugd2l0aG91dCBpY3UtY29uZmlnIHRvb2wgJmx0O2h0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjAxOTAmZ3Q7IChEYXZpZCBLaWx6ZXIpLDxici8+CisgIHdpbjMyXFZDMTBcY29uZmlnLmggYW5kIFZTIDIwMTUgKEJydWNlIERhd3NvbiksPGJyLz4KKyAgQWRkIGNvbmZpZ3VyZSBtYWludGFpbmVyIG1vZGUgKG9yemVuKTxici8+CisgIDwvbGk+CisKKyAgPGxpPkJ1ZyBGaXhlczo8YnIvPgorICBBdm9pZCBhbiBvdXQgb2YgYm91bmQgYWNjZXNzIHdoZW4gc2VyaWFsaXppbmcgbWFsZm9ybWVkIHN0cmluZ3MgKERhbmllbCBWZWlsbGFyZCksPGJyLz4KKyAgVW5zaWduZWQgYWRkaXRpb24gbWF5IG92ZXJmbG93IGluIHhtbE1hbGxvY0F0b21pY0xvYygpIChEYXZpZCBLaWx6ZXIpLDxici8+CisgIEludGVnZXIgc2lnbmVkL3Vuc2lnbmVkIHR5cGUgbWlzbWF0Y2ggaW4geG1sUGFyc2VySW5wdXRHcm93KCkgKERhdmlkIEtpbHplciksPGJyLz4KKyAgQnVnIDc2MzA3MTogaGVhcC1idWZmZXItb3ZlcmZsb3cgaW4geG1sU3RybmNhdCAmbHQ7aHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MzA3MSZndDsgKFByYW5qYWwgSnVtZGUpLDxici8+CisgIEludGVnZXIgb3ZlcmZsb3cgcGFyc2luZyBwb3J0IG51bWJlciBpbiBVUkkgKE1pY2hhZWwgUGFkZG9uKSw8YnIvPgorICBGaXggYW4gZXJyb3Igd2l0aCByZWdleHAgb24gbnVsbGFibGUgY291bnRlZCBjaGFyIHRyYW5zaXRpb24gKERhbmllbCBWZWlsbGFyZCksPGJyLz4KKyAgRml4IG1lbW9yeSBsZWFrIHdpdGggWFBhdGggbmFtZXNwYWNlIG5vZGVzIChOaWNrIFdlbGxuaG9mZXIpLDxici8+CisgIEZpeCBuYW1lc3BhY2UgYXhpcyB0cmF2ZXJzYWwgKE5pY2sgV2VsbG5ob2ZlciksPGJyLz4KKyAgICAgIEZpeCBudWxsIHBvaW50ZXIgZGVyZWYgaW4gZG9jcyB3aXRoIG5vIHJvb3QgZWxlbWVudCAoSHVnaCBEYXZlbnBvcnQpLDxici8+CisgIEZpeCBYU0QgdmFsaWRhdGlvbiBvZiBVUklzIHdpdGggYW1wZXJzYW5kcyAoQWxleCBIZW5yaWUpLDxici8+CisgIHhtbHNjaGVtYXN0eXBlcy5jOiBhY2NlcHQgZW5kT2ZEYXlGcmFnIFRpbWVzIHNldCB0byAiMjQ6MDA6MDAiIG1lYW4gImVuZCBvZiBkYXkiIGFuZCBzaG91bGQgbm90IGNhdXNlIGFuIGVycm9yLiAoUGF0cmljayBNb25uZXJhdCksPGJyLz4KKyAgeG1sY2F0YWxvZzogZmx1c2ggc3Rkb3V0IGJlZm9yZSBpbnRlcmFjdGl2ZSBzaGVsbCBpbnB1dC4gKFBhdHJpY2sgTW9ubmVyYXQpLDxici8+CisgIHhtbGxpbnQ6IGZsdXNoIHN0ZG91dCBiZWZvcmUgaW50ZXJhY3RpdmUgc2hlbGwgaW5wdXQuIChQYXRyaWNrIE1vbm5lcmF0KSw8YnIvPgorICBEb24ndCByZWN1cnNlIGludG8gT1BfVkFMVUVzIGluIHhtbFhQYXRoT3B0aW1pemVFeHByZXNzaW9uIChOaWNrIFdlbGxuaG9mZXIpLDxici8+CisgIEZpeCBuYW1lc3BhY2U6Om5vZGUoKSBYUGF0aCBleHByZXNzaW9uIChOaWNrIFdlbGxuaG9mZXIpLDxici8+CisgIEZpeCBPT0Igd3JpdGUgaW4geG1sWFBhdGhFbXB0eU5vZGVTZXQgKE5pY2sgV2VsbG5ob2ZlciksPGJyLz4KKyAgRml4IHBhcnNpbmcgb2YgTkNOYW1lcyBpbiBYUGF0aCAoTmljayBXZWxsbmhvZmVyKSw8YnIvPgorICBGaXggT09CIHJlYWQgd2l0aCBpbnZhbGlkIFVURi04IGluIHhtbFVURjhTdHJzaXplIChOaWNrIFdlbGxuaG9mZXIpLDxici8+CisgIERvIG5vcm1hbGl6ZSBzdHJpbmctYmFzZWQgZGF0YXR5cGUgdmFsdWUgaW4gUmVsYXhORyBmYWNldCBjaGVja2luZyAoQXVkcmljIFNjaGlsdGtuZWNodCksPGJyLz4KKyAgQnVnIDc2MDkyMTogUkVHUkVTU0lPTiAoOGViNTVkNzgpOiBkb2MvZXhhbXBsZXMvaW8xIHRlc3QgZmFpbHMgYWZ0ZXIgZml4IGZvciAieG1sU2F2ZVVyaSgpIGluY29ycmVjdGx5IHJlY29tcG9zZXMgVVJJcyB3aXRoIHJvb3RsZXNzIHBhdGhzIiAmbHQ7aHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDkyMSZndDsgKERhdmlkIEtpbHplciksPGJyLz4KKyAgQnVnIDc2MDg2MTogUkVHUkVTU0lPTiAoYmY5YzFkYWQpOiBNaXNzaW5nIHJlc3VsdHMgZm9yIHRlc3Qvc2NoZW1hcy9yZWdleHAtY2hhci1yZWZfWzAxXS54c2QgJmx0O2h0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjA4NjEmZ3Q7IChEYXZpZCBLaWx6ZXIpLDxici8+CisgIGVycm9yLmM6ICppbnB1dC0mZ3Q7Y3VyID09IDAgZG9lcyBub3QgbWVhbiBubyBlcnJvciAoUGF2ZWwgUmFpc2t1cCksPGJyLz4KKyAgQWRkIG1pc3NpbmcgUk5HIHRlc3QgZmlsZXMgKERhdmlkIEtpbHplciksPGJyLz4KKyAgQnVnIDc2MDE4MzogUkVHUkVTU0lPTiAodjIuOS4zKTogWE1MIHB1c2ggcGFyc2VyIGZhaWxzIHdpdGggYm9ndXMgVVRGLTggZW5jb2RpbmcgZXJyb3Igd2hlbiBtdWx0aS1ieXRlIGNoYXJhY3RlciBpbiBsYXJnZSBDREFUQSBzZWN0aW9uIGlzIHNwbGl0IGFjcm9zcyBidWZmZXIgJmx0O2h0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjAxODMmZ3Q7IChEYXZpZCBLaWx6ZXIpLDxici8+CisgIEJ1ZyA3NTg1NzI6IEFTQU4gY3Jhc2ggaW4gbWFrZSBjaGVjayAmbHQ7aHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODU3MiZndDsgKERhdmlkIEtpbHplciksPGJyLz4KKyAgQnVnIDcyMTE1ODogTWlzc2luZyBJQ1Ugc3RyaW5nIHdoZW4gZG9pbmcgLS12ZXJzaW9uIG9uIHhtbGxpbnQgJmx0O2h0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjExNTgmZ3Q7IChEYXZpZCBLaWx6ZXIpLDxici8+CisgIHB5dGhvbiAzOiBsaWJ4bWwyLmMgd3JhcHBlcnMgY3JlYXRlIFVuaWNvZGUgc3RyIGFscmVhZHkgKE1pY2hhZWwgU3RhaGwpLDxici8+CisgIEFkZCBhdXRvZ2VuLnNoIHRvIGRpc3RyaWIgKG9yemVuKSw8YnIvPgorICBIZWFwLWJhc2VkIGJ1ZmZlciBvdmVycmVhZCBpbiB4bWxOZXh0Q2hhciAoRGFuaWVsIFZlaWxsYXJkKTxici8+CisgIDwvbGk+CisKKyAgPGxpPkltcHJvdmVtZW50czo8YnIvPgorICBBZGQgbW9yZSBkZWJ1Z2dpbmcgaW5mbyB0byBydW50ZXN0IChEYW5pZWwgVmVpbGxhcmQpLDxici8+CisgIEltcGxlbWVudCAicnVudGVzdCAtdSIgbW9kZSAoRGF2aWQgS2lsemVyKSw8YnIvPgorICBBZGQgYSBtYWtlIHJ1bGUgdG8gcmVidWlsZCBmb3IgQVNBTiAoRGFuaWVsIFZlaWxsYXJkKTxici8+CisgIDwvbGk+Cis8L3VsPgogPGgzPnYyLjkuMzogTm92IDIwIDIwMTU8L2gzPgogPHVsPgogICA8bGk+U2VjdXJpdHk6PGJyLz4KZGlmZiAtLWdpdCBhL2VuY29kaW5nLmMgYi9lbmNvZGluZy5jCmluZGV4IDU3NGUxYWUuLmU0OWM3ZjggMTAwNjQ0Ci0tLSBhL2VuY29kaW5nLmMKKysrIGIvZW5jb2RpbmcuYwpAQCAtOTMsNyArOTMsNyBAQAogICoKICAqIG4gZW5jb2RpbmcgZXJyb3IKICAqLwotc3RhdGljIHZvaWQKK3N0YXRpYyB2b2lkIExJQlhNTF9BVFRSX0ZPUk1BVCgyLDApCiB4bWxFbmNvZGluZ0Vycih4bWxQYXJzZXJFcnJvcnMgZXJyb3IsIGNvbnN0IGNoYXIgKm1zZywgY29uc3QgY2hhciAqdmFsKQogewogICAgIF9feG1sUmFpc2VFcnJvcihOVUxMLCBOVUxMLCBOVUxMLCBOVUxMLCBOVUxMLApkaWZmIC0tZ2l0IGEvZW50aXRpZXMuYyBiL2VudGl0aWVzLmMKaW5kZXggYTcyYWZiMy4uNjQ4MDhmZiAxMDA2NDQKLS0tIGEvZW50aXRpZXMuYworKysgYi9lbnRpdGllcy5jCkBAIC04Myw3ICs4Myw3IEBACiAgKgogICogSGFuZGxlIGFuIG91dCBvZiBtZW1vcnkgY29uZGl0aW9uCiAgKi8KLXN0YXRpYyB2b2lkCitzdGF0aWMgdm9pZCBMSUJYTUxfQVRUUl9GT1JNQVQoMiwwKQogeG1sRW50aXRpZXNFcnIoeG1sUGFyc2VyRXJyb3JzIGNvZGUsIGNvbnN0IGNoYXIgKm1zZykKIHsKICAgICBfX3htbFNpbXBsZUVycm9yKFhNTF9GUk9NX1RSRUUsIGNvZGUsIE5VTEwsIG1zZywgTlVMTCk7CmRpZmYgLS1naXQgYS9lcnJvci5jIGIvZXJyb3IuYwppbmRleCA5YzQ1MDQwLi45NjA2ZjEzIDEwMDY0NAotLS0gYS9lcnJvci5jCisrKyBiL2Vycm9yLmMKQEAgLTE4LDcgKzE4LDcgQEAKIAogdm9pZCBYTUxDREVDTCB4bWxHZW5lcmljRXJyb3JEZWZhdWx0RnVuYwkodm9pZCAqY3R4IEFUVFJJQlVURV9VTlVTRUQsCiAJCQkJIGNvbnN0IGNoYXIgKm1zZywKLQkJCQkgLi4uKTsKKwkJCQkgLi4uKSBMSUJYTUxfQVRUUl9GT1JNQVQoMiwzKTsKIAogI2RlZmluZSBYTUxfR0VUX1ZBUl9TVFIobXNnLCBzdHIpIHsJCQkJXAogICAgIGludCAgICAgICBzaXplLCBwcmV2X3NpemUgPSAtMTsJCQkJXApAQCAtMTc3LDggKzE3Nyw4IEBACiAgICAgeG1sQ2hhciAgY29udGVudFs4MV07IC8qIHNwYWNlIGZvciA4MCBjaGFycyArIGxpbmUgdGVybWluYXRvciAqLwogICAgIHhtbENoYXIgKmN0bnQ7CiAKLSAgICBpZiAoKGlucHV0ID09IE5VTEwpIHx8IChpbnB1dC0+Y3VyID09IE5VTEwpIHx8Ci0gICAgICAgICgqaW5wdXQtPmN1ciA9PSAwKSkgcmV0dXJuOworICAgIGlmICgoaW5wdXQgPT0gTlVMTCkgfHwgKGlucHV0LT5jdXIgPT0gTlVMTCkpCisgICAgICAgIHJldHVybjsKIAogICAgIGN1ciA9IGlucHV0LT5jdXI7CiAgICAgYmFzZSA9IGlucHV0LT5iYXNlOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saWJ4bWwvZGljdC5oIGIvaW5jbHVkZS9saWJ4bWwvZGljdC5oCmluZGV4IDcwMjJlYzguLmI4M2RiNTkgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGlieG1sL2RpY3QuaAorKysgYi9pbmNsdWRlL2xpYnhtbC9kaWN0LmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogU3VtbWFyeTogc3RyaW5nIGRpY3Rpb25uYXJ5CisgKiBTdW1tYXJ5OiBzdHJpbmcgZGljdGlvbmFyeQogICogRGVzY3JpcHRpb246IGRpY3Rpb25hcnkgb2YgcmV1c2FibGUgc3RyaW5ncywganVzdCB1c2VkIHRvIGF2b2lkIGFsbG9jYXRpb24KICAqICAgICAgICAgYW5kIGZyZWVpbmcgb3BlcmF0aW9ucy4KICAqCkBAIC0xMSw2ICsxMSwxOCBAQAogI2lmbmRlZiBfX1hNTF9ESUNUX0hfXwogI2RlZmluZSBfX1hNTF9ESUNUX0hfXwogCisjaWZkZWYgX19jcGx1c3BsdXMKKyNkZWZpbmUgX19YTUxfRVhURVJOQwlleHRlcm4gIkMiCisjZWxzZQorI2RlZmluZSBfX1hNTF9FWFRFUk5DCisjZW5kaWYKKworLyoKKyAqIFRoZSBkaWN0aW9uYXJ5LgorICovCitfX1hNTF9FWFRFUk5DIHR5cGVkZWYgc3RydWN0IF94bWxEaWN0IHhtbERpY3Q7CitfX1hNTF9FWFRFUk5DIHR5cGVkZWYgeG1sRGljdCAqeG1sRGljdFB0cjsKKwogI2luY2x1ZGUgPGxpbWl0cy5oPgogI2luY2x1ZGUgPGxpYnhtbC94bWx2ZXJzaW9uLmg+CiAjaW5jbHVkZSA8bGlieG1sL3RyZWUuaD4KQEAgLTIwLDEyICszMiw2IEBACiAjZW5kaWYKIAogLyoKLSAqIFRoZSBkaWN0aW9ubmFyeS4KLSAqLwotdHlwZWRlZiBzdHJ1Y3QgX3htbERpY3QgeG1sRGljdDsKLXR5cGVkZWYgeG1sRGljdCAqeG1sRGljdFB0cjsKLQotLyoKICAqIEluaXRpYWxpemVyCiAgKi8KIFhNTFBVQkZVTiBpbnQgWE1MQ0FMTCAgeG1sSW5pdGlhbGl6ZURpY3Qodm9pZCk7CkBAIC00OCw3ICs1NCw3IEBACiAJCQl4bWxEaWN0RnJlZQkoeG1sRGljdFB0ciBkaWN0KTsKIAogLyoKLSAqIExvb2t1cCBvZiBlbnRyeSBpbiB0aGUgZGljdGlvbm5hcnkuCisgKiBMb29rdXAgb2YgZW50cnkgaW4gdGhlIGRpY3Rpb25hcnkuCiAgKi8KIFhNTFBVQkZVTiBjb25zdCB4bWxDaGFyICogWE1MQ0FMTAogCQkJeG1sRGljdExvb2t1cAkoeG1sRGljdFB0ciBkaWN0LApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saWJ4bWwvcGFyc2VyLmggYi9pbmNsdWRlL2xpYnhtbC9wYXJzZXIuaAppbmRleCAzZjU3MzBkLi40N2ZiZWMwIDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpYnhtbC9wYXJzZXIuaAorKysgYi9pbmNsdWRlL2xpYnhtbC9wYXJzZXIuaApAQCAtMjYwLDcgKzI2MCw3IEBACiAgICAgdm9pZCAgICAgICAgICAgICAgKmNhdGFsb2dzOyAgICAgIC8qIGRvY3VtZW50J3Mgb3duIGNhdGFsb2cgKi8KICAgICBpbnQgICAgICAgICAgICAgICAgcmVjb3Zlcnk7ICAgICAgLyogcnVuIGluIHJlY292ZXJ5IG1vZGUgKi8KICAgICBpbnQgICAgICAgICAgICAgICAgcHJvZ3Jlc3NpdmU7ICAgLyogaXMgdGhpcyBhIHByb2dyZXNzaXZlIHBhcnNpbmcgKi8KLSAgICB4bWxEaWN0UHRyICAgICAgICAgZGljdDsgICAgICAgICAgLyogZGljdGlvbm5hcnkgZm9yIHRoZSBwYXJzZXIgKi8KKyAgICB4bWxEaWN0UHRyICAgICAgICAgZGljdDsgICAgICAgICAgLyogZGljdGlvbmFyeSBmb3IgdGhlIHBhcnNlciAqLwogICAgIGNvbnN0IHhtbENoYXIgKiAgICphdHRzOyAgICAgICAgICAvKiBhcnJheSBmb3IgdGhlIGF0dHJpYnV0ZXMgY2FsbGJhY2tzICovCiAgICAgaW50ICAgICAgICAgICAgICAgIG1heGF0dHM7ICAgICAgIC8qIHRoZSBzaXplIG9mIHRoZSBhcnJheSAqLwogICAgIGludCAgICAgICAgICAgICAgICBkb2NkaWN0OyAgICAgICAvKiB1c2Ugc3RyaW5ncyBmcm9tIGRpY3QgdG8gYnVpbGQgdHJlZSAqLwpAQCAtMTA5OSw3ICsxMDk5LDcgQEAKICAgICBYTUxfUEFSU0VfU0FYMQk9IDE8PDksCS8qIHVzZSB0aGUgU0FYMSBpbnRlcmZhY2UgaW50ZXJuYWxseSAqLwogICAgIFhNTF9QQVJTRV9YSU5DTFVERQk9IDE8PDEwLC8qIEltcGxlbWVudCBYSW5jbHVkZSBzdWJzdGl0aXRpb24gICovCiAgICAgWE1MX1BBUlNFX05PTkVUCT0gMTw8MTEsLyogRm9yYmlkIG5ldHdvcmsgYWNjZXNzICovCi0gICAgWE1MX1BBUlNFX05PRElDVAk9IDE8PDEyLC8qIERvIG5vdCByZXVzZSB0aGUgY29udGV4dCBkaWN0aW9ubmFyeSAqLworICAgIFhNTF9QQVJTRV9OT0RJQ1QJPSAxPDwxMiwvKiBEbyBub3QgcmV1c2UgdGhlIGNvbnRleHQgZGljdGlvbmFyeSAqLwogICAgIFhNTF9QQVJTRV9OU0NMRUFOCT0gMTw8MTMsLyogcmVtb3ZlIHJlZHVuZGFudCBuYW1lc3BhY2VzIGRlY2xhcmF0aW9ucyAqLwogICAgIFhNTF9QQVJTRV9OT0NEQVRBCT0gMTw8MTQsLyogbWVyZ2UgQ0RBVEEgYXMgdGV4dCBub2RlcyAqLwogICAgIFhNTF9QQVJTRV9OT1hJTkNOT0RFPSAxPDwxNSwvKiBkbyBub3QgZ2VuZXJhdGUgWElOQ0xVREUgU1RBUlQvRU5EIG5vZGVzICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpYnhtbC9wYXJzZXJJbnRlcm5hbHMuaCBiL2luY2x1ZGUvbGlieG1sL3BhcnNlckludGVybmFscy5oCmluZGV4IDYwNjUzMjAuLmYzMGZjNjggMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGlieG1sL3BhcnNlckludGVybmFscy5oCisrKyBiL2luY2x1ZGUvbGlieG1sL3BhcnNlckludGVybmFscy5oCkBAIC0zNTEsNyArMzUxLDcgQEAKIAkJCQkJCSB4bWxQYXJzZXJFcnJvcnMgeG1sZXJyLAogCQkJCQkJIGNvbnN0IGNoYXIgKm1zZywKIAkJCQkJCSBjb25zdCB4bWxDaGFyICogc3RyMSwKLQkJCQkJCSBjb25zdCB4bWxDaGFyICogc3RyMik7CisJCQkJCQkgY29uc3QgeG1sQ2hhciAqIHN0cjIpIExJQlhNTF9BVFRSX0ZPUk1BVCgzLDApOwogI2VuZGlmCiAKIC8qKgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saWJ4bWwvc2NoZW1hc0ludGVybmFscy5oIGIvaW5jbHVkZS9saWJ4bWwvc2NoZW1hc0ludGVybmFscy5oCmluZGV4IDRmMGNhOWEuLmM3Y2Y1NTIgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGlieG1sL3NjaGVtYXNJbnRlcm5hbHMuaAorKysgYi9pbmNsdWRlL2xpYnhtbC9zY2hlbWFzSW50ZXJuYWxzLmgKQEAgLTI4LDUyICsyOCw1MiBAQAogCiB0eXBlZGVmIGVudW0gewogICAgIFhNTF9TQ0hFTUFTX1VOS05PV04gPSAwLAotICAgIFhNTF9TQ0hFTUFTX1NUUklORywKLSAgICBYTUxfU0NIRU1BU19OT1JNU1RSSU5HLAotICAgIFhNTF9TQ0hFTUFTX0RFQ0lNQUwsCi0gICAgWE1MX1NDSEVNQVNfVElNRSwKLSAgICBYTUxfU0NIRU1BU19HREFZLAotICAgIFhNTF9TQ0hFTUFTX0dNT05USCwKLSAgICBYTUxfU0NIRU1BU19HTU9OVEhEQVksCi0gICAgWE1MX1NDSEVNQVNfR1lFQVIsCi0gICAgWE1MX1NDSEVNQVNfR1lFQVJNT05USCwKLSAgICBYTUxfU0NIRU1BU19EQVRFLAotICAgIFhNTF9TQ0hFTUFTX0RBVEVUSU1FLAotICAgIFhNTF9TQ0hFTUFTX0RVUkFUSU9OLAotICAgIFhNTF9TQ0hFTUFTX0ZMT0FULAotICAgIFhNTF9TQ0hFTUFTX0RPVUJMRSwKLSAgICBYTUxfU0NIRU1BU19CT09MRUFOLAotICAgIFhNTF9TQ0hFTUFTX1RPS0VOLAotICAgIFhNTF9TQ0hFTUFTX0xBTkdVQUdFLAotICAgIFhNTF9TQ0hFTUFTX05NVE9LRU4sCi0gICAgWE1MX1NDSEVNQVNfTk1UT0tFTlMsCi0gICAgWE1MX1NDSEVNQVNfTkFNRSwKLSAgICBYTUxfU0NIRU1BU19RTkFNRSwKLSAgICBYTUxfU0NIRU1BU19OQ05BTUUsCi0gICAgWE1MX1NDSEVNQVNfSUQsCi0gICAgWE1MX1NDSEVNQVNfSURSRUYsCi0gICAgWE1MX1NDSEVNQVNfSURSRUZTLAotICAgIFhNTF9TQ0hFTUFTX0VOVElUWSwKLSAgICBYTUxfU0NIRU1BU19FTlRJVElFUywKLSAgICBYTUxfU0NIRU1BU19OT1RBVElPTiwKLSAgICBYTUxfU0NIRU1BU19BTllVUkksCi0gICAgWE1MX1NDSEVNQVNfSU5URUdFUiwKLSAgICBYTUxfU0NIRU1BU19OUElOVEVHRVIsCi0gICAgWE1MX1NDSEVNQVNfTklOVEVHRVIsCi0gICAgWE1MX1NDSEVNQVNfTk5JTlRFR0VSLAotICAgIFhNTF9TQ0hFTUFTX1BJTlRFR0VSLAotICAgIFhNTF9TQ0hFTUFTX0lOVCwKLSAgICBYTUxfU0NIRU1BU19VSU5ULAotICAgIFhNTF9TQ0hFTUFTX0xPTkcsCi0gICAgWE1MX1NDSEVNQVNfVUxPTkcsCi0gICAgWE1MX1NDSEVNQVNfU0hPUlQsCi0gICAgWE1MX1NDSEVNQVNfVVNIT1JULAotICAgIFhNTF9TQ0hFTUFTX0JZVEUsCi0gICAgWE1MX1NDSEVNQVNfVUJZVEUsCi0gICAgWE1MX1NDSEVNQVNfSEVYQklOQVJZLAotICAgIFhNTF9TQ0hFTUFTX0JBU0U2NEJJTkFSWSwKLSAgICBYTUxfU0NIRU1BU19BTllUWVBFLAotICAgIFhNTF9TQ0hFTUFTX0FOWVNJTVBMRVRZUEUKKyAgICBYTUxfU0NIRU1BU19TVFJJTkcgPSAxLAorICAgIFhNTF9TQ0hFTUFTX05PUk1TVFJJTkcgPSAyLAorICAgIFhNTF9TQ0hFTUFTX0RFQ0lNQUwgPSAzLAorICAgIFhNTF9TQ0hFTUFTX1RJTUUgPSA0LAorICAgIFhNTF9TQ0hFTUFTX0dEQVkgPSA1LAorICAgIFhNTF9TQ0hFTUFTX0dNT05USCA9IDYsCisgICAgWE1MX1NDSEVNQVNfR01PTlRIREFZID0gNywKKyAgICBYTUxfU0NIRU1BU19HWUVBUiA9IDgsCisgICAgWE1MX1NDSEVNQVNfR1lFQVJNT05USCA9IDksCisgICAgWE1MX1NDSEVNQVNfREFURSA9IDEwLAorICAgIFhNTF9TQ0hFTUFTX0RBVEVUSU1FID0gMTEsCisgICAgWE1MX1NDSEVNQVNfRFVSQVRJT04gPSAxMiwKKyAgICBYTUxfU0NIRU1BU19GTE9BVCA9IDEzLAorICAgIFhNTF9TQ0hFTUFTX0RPVUJMRSA9IDE0LAorICAgIFhNTF9TQ0hFTUFTX0JPT0xFQU4gPSAxNSwKKyAgICBYTUxfU0NIRU1BU19UT0tFTiA9IDE2LAorICAgIFhNTF9TQ0hFTUFTX0xBTkdVQUdFID0gMTcsCisgICAgWE1MX1NDSEVNQVNfTk1UT0tFTiA9IDE4LAorICAgIFhNTF9TQ0hFTUFTX05NVE9LRU5TID0gMTksCisgICAgWE1MX1NDSEVNQVNfTkFNRSA9IDIwLAorICAgIFhNTF9TQ0hFTUFTX1FOQU1FID0gMjEsCisgICAgWE1MX1NDSEVNQVNfTkNOQU1FID0gMjIsCisgICAgWE1MX1NDSEVNQVNfSUQgPSAyMywKKyAgICBYTUxfU0NIRU1BU19JRFJFRiA9IDI0LAorICAgIFhNTF9TQ0hFTUFTX0lEUkVGUyA9IDI1LAorICAgIFhNTF9TQ0hFTUFTX0VOVElUWSA9IDI2LAorICAgIFhNTF9TQ0hFTUFTX0VOVElUSUVTID0gMjcsCisgICAgWE1MX1NDSEVNQVNfTk9UQVRJT04gPSAyOCwKKyAgICBYTUxfU0NIRU1BU19BTllVUkkgPSAyOSwKKyAgICBYTUxfU0NIRU1BU19JTlRFR0VSID0gMzAsCisgICAgWE1MX1NDSEVNQVNfTlBJTlRFR0VSID0gMzEsCisgICAgWE1MX1NDSEVNQVNfTklOVEVHRVIgPSAzMiwKKyAgICBYTUxfU0NIRU1BU19OTklOVEVHRVIgPSAzMywKKyAgICBYTUxfU0NIRU1BU19QSU5URUdFUiA9IDM0LAorICAgIFhNTF9TQ0hFTUFTX0lOVCA9IDM1LAorICAgIFhNTF9TQ0hFTUFTX1VJTlQgPSAzNiwKKyAgICBYTUxfU0NIRU1BU19MT05HID0gMzcsCisgICAgWE1MX1NDSEVNQVNfVUxPTkcgPSAzOCwKKyAgICBYTUxfU0NIRU1BU19TSE9SVCA9IDM5LAorICAgIFhNTF9TQ0hFTUFTX1VTSE9SVCA9IDQwLAorICAgIFhNTF9TQ0hFTUFTX0JZVEUgPSA0MSwKKyAgICBYTUxfU0NIRU1BU19VQllURSA9IDQyLAorICAgIFhNTF9TQ0hFTUFTX0hFWEJJTkFSWSA9IDQzLAorICAgIFhNTF9TQ0hFTUFTX0JBU0U2NEJJTkFSWSA9IDQ0LAorICAgIFhNTF9TQ0hFTUFTX0FOWVRZUEUgPSA0NSwKKyAgICBYTUxfU0NIRU1BU19BTllTSU1QTEVUWVBFID0gNDYKIH0geG1sU2NoZW1hVmFsVHlwZTsKIAogLyoKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGlieG1sL3htbGVycm9yLmggYi9pbmNsdWRlL2xpYnhtbC94bWxlcnJvci5oCmluZGV4IDQzZTY4Y2EuLjAzN2MxNmQgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGlieG1sL3htbGVycm9yLmgKKysrIGIvaW5jbHVkZS9saWJ4bWwveG1sZXJyb3IuaApAQCAtOTM3LDcgKzkzNyw3IEBACiAJCQkJIGludCBjb2RlLAogCQkJCSB4bWxOb2RlUHRyIG5vZGUsCiAJCQkJIGNvbnN0IGNoYXIgKm1zZywKLQkJCQkgY29uc3QgY2hhciAqZXh0cmEpOworCQkJCSBjb25zdCBjaGFyICpleHRyYSkgTElCWE1MX0FUVFJfRk9STUFUKDQsMCk7CiAjZW5kaWYKICNpZmRlZiBfX2NwbHVzcGx1cwogfQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saWJ4bWwveG1sc3RyaW5nLmggYi9pbmNsdWRlL2xpYnhtbC94bWxzdHJpbmcuaAppbmRleCAyMDM2MjM2Li4yZDBiMmQxIDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpYnhtbC94bWxzdHJpbmcuaAorKysgYi9pbmNsdWRlL2xpYnhtbC94bWxzdHJpbmcuaApAQCAtOTcsMTMgKzk3LDEzIEBACiBYTUxQVUJGVU4gaW50IFhNTENBTEwKICAgICAgICAgICAgICAgICB4bWxTdHJQcmludGYgICAgICAgICAgICAgKHhtbENoYXIgKmJ1ZiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGxlbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqbXNnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi4pOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICptc2csCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLikgTElCWE1MX0FUVFJfRk9STUFUKDMsNCk7CiBYTUxQVUJGVU4gaW50IFhNTENBTEwKICAgICAgICAgICAgICAgICB4bWxTdHJWUHJpbnRmICAgICAgICAgICAgICAgICh4bWxDaGFyICpidWYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBsZW4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKm1zZywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFfbGlzdCBhcCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKm1zZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFfbGlzdCBhcCkgTElCWE1MX0FUVFJfRk9STUFUKDMsMCk7CiAKIFhNTFBVQkZVTiBpbnQgWE1MQ0FMTAogICAgICAgICB4bWxHZXRVVEY4Q2hhciAgICAgICAgICAgICAgICAgICAoY29uc3QgdW5zaWduZWQgY2hhciAqdXRmLApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saWJ4bWwveHBhdGhJbnRlcm5hbHMuaCBiL2luY2x1ZGUvbGlieG1sL3hwYXRoSW50ZXJuYWxzLmgKaW5kZXggNzBjOWRiOS4uNzZhNmI0OCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saWJ4bWwveHBhdGhJbnRlcm5hbHMuaAorKysgYi9pbmNsdWRlL2xpYnhtbC94cGF0aEludGVybmFscy5oCkBAIC0yMjksNyArMjI5LDcgQEAKICAqIEVtcHRpZXMgYSBub2RlLXNldC4KICAqLwogI2RlZmluZSB4bWxYUGF0aEVtcHR5Tm9kZVNldChucykJCQkJCVwKLSAgICB7IHdoaWxlICgobnMpLT5ub2RlTnIgPiAwKSAobnMpLT5ub2RlVGFiWyhucyktPm5vZGVOci0tXSA9IE5VTEw7IH0KKyAgICB7IHdoaWxlICgobnMpLT5ub2RlTnIgPiAwKSAobnMpLT5ub2RlVGFiWy0tKG5zKS0+bm9kZU5yXSA9IE5VTEw7IH0KIAogLyoqCiAgKiBDSEVDS19FUlJPUjoKZGlmZiAtLWdpdCBhL2xpYnhtbC5oIGIvbGlieG1sLmgKaW5kZXggMmRhOTA0NC4uODhlNTE1ZiAxMDA2NDQKLS0tIGEvbGlieG1sLmgKKysrIGIvbGlieG1sLmgKQEAgLTksNiArOSw4IEBACiAjaWZuZGVmIF9fWE1MX0xJQlhNTF9IX18KICNkZWZpbmUgX19YTUxfTElCWE1MX0hfXwogCisjaW5jbHVkZSA8bGlieG1sL3htbHN0cmluZy5oPgorCiAjaWZuZGVmIE5PX0xBUkdFRklMRV9TT1VSQ0UKICNpZm5kZWYgX0xBUkdFRklMRV9TT1VSQ0UKICNkZWZpbmUgX0xBUkdFRklMRV9TT1VSQ0UKQEAgLTY4LDcgKzcwLDcgQEAKICAqIGludGVybmFsIGVycm9yIHJlcG9ydGluZyByb3V0aW5lcywgc2hhcmVkIGJ1dCBub3QgcGFydG9mIHRoZSBBUEkuCiAgKi8KIHZvaWQgX194bWxJT0VycihpbnQgZG9tYWluLCBpbnQgY29kZSwgY29uc3QgY2hhciAqZXh0cmEpOwotdm9pZCBfX3htbExvYWRlckVycih2b2lkICpjdHgsIGNvbnN0IGNoYXIgKm1zZywgY29uc3QgY2hhciAqZmlsZW5hbWUpOwordm9pZCBfX3htbExvYWRlckVycih2b2lkICpjdHgsIGNvbnN0IGNoYXIgKm1zZywgY29uc3QgY2hhciAqZmlsZW5hbWUpIExJQlhNTF9BVFRSX0ZPUk1BVCgyLDApOwogI2lmZGVmIExJQlhNTF9IVE1MX0VOQUJMRUQKIC8qCiAgKiBpbnRlcm5hbCBmdW5jdGlvbiBvZiBIVE1MIHBhcnNlciBuZWVkZWQgZm9yIHhtbFBhcnNlSW5Ob2RlQ29udGV4dApAQCAtOTMsNiArOTUsNyBAQAogaW50IF9feG1sUmFuZG9tKHZvaWQpOwogI2VuZGlmCiAKK1hNTFBVQkZVTiB4bWxDaGFyICogWE1MQ0FMTCB4bWxFc2NhcGVGb3JtYXRTdHJpbmcoeG1sQ2hhciAqKm1zZyk7CiBpbnQgeG1sTm9wKHZvaWQpOwogCiAjaWZkZWYgSU5fTElCWE1MCmRpZmYgLS1naXQgYS9vcHRpbS9oYXNoX2RpY3QudHh0IGIvb3B0aW0vaGFzaF9kaWN0LnR4dAppbmRleCBmNjU1ZGViLi5hNDQ3YjdlIDEwMDY0NAotLS0gYS9vcHRpbS9oYXNoX2RpY3QudHh0CisrKyBiL29wdGltL2hhc2hfZGljdC50eHQKQEAgLTEsNCArMSw0IEBACi1SZXVzZXMgYSBkaWN0aW9ubmFyeSBmb3IgdGhlIGhhc2ggdGFibGUgdG8gcmVkdWNlIHRoZSBzdHJpbmcgY29tcGFyZQorUmV1c2VzIGEgZGljdGlvbmFyeSBmb3IgdGhlIGhhc2ggdGFibGUgdG8gcmVkdWNlIHRoZSBzdHJpbmcgY29tcGFyZQogY29zdHMuIE5vdCB3b3J0aCBpdCB1bmxlc3MgdmFsaWRhdGluZyBiaWcgRFREcwogCiAJCXdpdGhvdXQJCXdpdGgKZGlmZiAtLWdpdCBhL29zNDAwL1JFQURNRTQwMCBiL29zNDAwL1JFQURNRTQwMAppbmRleCA2YzE2ZGU5Li5mZmY5MjNjIDEwMDY0NAotLS0gYS9vczQwMC9SRUFETUU0MDAKKysrIGIvb3M0MDAvUkVBRE1FNDAwCkBAIC0xODUsMTUgKzE4NSwyNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YV9saXN0IGFyZ3MpOwogCiAKK3htbGxpbnQgYW5kIHhtbGNhdGFsb2cgcHJvZ3JhbXM6CisKKyAgVGhlc2UgcHJvZ3JhbXMgYXJlIGZ1bGx5IGltcGxlbWVudGVkIGF0IHRoZSBxc2hlbGwgbGV2ZWwsIHdpdGggc3RhbmRhcmQKK2NvbW1hbmQgbGluZSBvcHRpb25zLiBMaW5rcyB0byB0aGVzZSBhcmUgaW5zdGFsbGVkIGluIHN1Yi1kaXJlY3RvcnkgYmluIG9mCit0aGUgSUZTIGluc3RhbGxhdGlvbiBkaXJlY3RvcnkuCisgIENMIGNvbW1hbmQgaW50ZXJmYWNlcyB0byB0aGVzZSBwcm9ncmFtcyBhcmUgYWxzbyBwcm92aWRlZCB3aXRoIGxpbWl0ZWQKK3N1cHBvcnQuIEluIHBhcnRpY3VsYXIsIGludGVyYWN0aXZlIG1vZGUgaXMgbm90IHN1cHBvcnRlZCBhbmQgYXJndW1lbnQgY291bnQKK2FuZCBsZW5ndGhzIGFyZSBsaW1pdGVkIGJ5IHRoZSBDTCBjb21tYW5kIHN5bnRheC4KKwogCiBJTEUvUlBHIGJpbmRpbmc6CiAKICAgQWxsIHN0YW5kYXJkIHR5cGVzIGFuZCBwcm9jZWR1cmVzIGFyZSBwcm92aWRlZC4gU2luY2UgSUxFL1JQRyBkb2VzIG5vdAotc3VwcG9ydCBtYWNyb3MsIHRoZXkgaGF2ZSBub3QgYmVlbiBwb3J0ZWQsIHdpdGggdGhlIGV4Y2VwdGlvbnMgb2YgdGhlIG1vcmUKLXVzZWZ1bCBvbmVzIGFuZCB0aGUgZ2xvYmFsL3RocmVhZGVkIHZhcmlhYmxlcyBhY2Nlc3MgbWFjcm9zLiBUaGVzZSB2YXJpYWJsZXMKLWNhbiBiZSByZWFkIHdpdGggZnVuY3Rpb24gZ2V0X3h4eCh2b2lkKSwgd2hlcmUgeHh4eCBpcyB0aGUgbmFtZSBvZiB0aGUKLXZhcmlhYmxlOyB0aGV5IG1heSBiZSBzZXQgYnkgY2FsbGluZyBmdW5jdGlvbiBzZXRfeHh4eCh2YWx1ZSksIHdoZXJlIHZhbHVlIGlzCi1vZiB0aGUgc2FtZSB0eXBlIGFzIHRoZSB2YXJpYWJsZS4KK3N1cHBvcnQgbWFjcm9zLCB0aGV5IGhhdmUgbm90IGJlZW4gcG9ydGVkLiBIb3dldmVyIHNvbWUgb2YgdGhlbSBhcmUgZW11bGF0ZWQKK2FzIGZ1bmN0aW9uczogdGhlc2UgYXJlIHRoZSBtb3JlIHVzZWZ1bCBvbmVzICh4bWxYUGF0aE5vZGVTZXRHZXRMZW5ndGgsCit4bWxYUGF0aE5vZGVTZXRJdGVtLCB4bWxYUGF0aE5vZGVTZXRJc0VtcHR5LCBodG1sRGVmYXVsdFN1YmVsZW1lbnQsCitodG1sRWxlbWVudEFsbG93ZWRIZXJlRGVzYywgaHRtbFJlcXVpcmVkQXR0cnMpIGFuZCB0aGUgZ2xvYmFsL3RocmVhZGVkCit2YXJpYWJsZXMgYWNjZXNzIG1hY3Jvcy4gVGhlc2UgdmFyaWFibGVzIGNhbiBiZSByZWFkIHdpdGggZnVuY3Rpb24KK2dldF94eHgodm9pZCksIHdoZXJlIHh4eHggaXMgdGhlIG5hbWUgb2YgdGhlIHZhcmlhYmxlOyB0aGV5IG1heSBiZSBzZXQgYnkKK2NhbGxpbmcgZnVuY3Rpb24gc2V0X3h4eHgodmFsdWUpLCB3aGVyZSB2YWx1ZSBpcyBvZiB0aGUgc2FtZSB0eXBlIGFzIHRoZQordmFyaWFibGUuCiAKICAgVGhlIEMgdmFfbGlzdCBpcyBub3QgaW1wbGVtZW50ZWQgYXMgc3VjaCBpbiBJTEUvUlBHLiBGdW5jdGlvbnMgaW1wbGVtZW50aW5nCiB2YV9saXN0IGFuZCBhc3NvY2lhdGVkIG1ldGhvZHMgYXJlIHByb3ZpZGVkOgpkaWZmIC0tZ2l0IGEvb3M0MDAvZGxmY24vZGxmY24uYyBiL29zNDAwL2RsZmNuL2RsZmNuLmMKaW5kZXggMTQ4OGUxMi4uNzcxOTBiMyAxMDA2NDQKLS0tIGEvb3M0MDAvZGxmY24vZGxmY24uYworKysgYi9vczQwMC9kbGZjbi9kbGZjbi5jCkBAIC0zNzUsNyArMzc1LDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRhaWxbMV0gIT0gJy4nKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGhsZW4gPSBkbHBhcmVudHBhdGgocGF0aCwgcGF0aGxlbik7CiAKICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMToKZGlmZiAtLWdpdCBhL29zNDAwL2luaXRzY3JpcHQuc2ggYi9vczQwMC9pbml0c2NyaXB0LnNoCmluZGV4IGZiODA1MDcuLmNjNTJlNDUgMTAwNjQ0Ci0tLSBhL29zNDAwL2luaXRzY3JpcHQuc2gKKysrIGIvb3M0MDAvaW5pdHNjcmlwdC5zaApAQCAtMTY1LDE1ICsxNjUsMzggQEAKIH0KIAogCi0jICAgICAgIG1ha2VfbW9kdWxlIG1vZHVsZV9uYW1lIHNvdXJjZV9uYW1lIFthZGRpdGlvbmFsX2RlZmluaXRpb25zXQorIyAgICAgICBtYWtlX21vZHVsZSBbb3B0aW9uXSBtb2R1bGVfbmFtZSBzb3VyY2VfbmFtZQogIwogIyAgICAgICBDb21waWxlIHNvdXJjZSBuYW1lIGludG8gQVNDSUkgbW9kdWxlIGlmIG5lZWRlZC4KICMgICAgICAgQXMgc2lkZSBlZmZlY3QsIGFwcGVuZCB0aGUgbW9kdWxlIG5hbWUgdG8gdmFyaWFibGUgTU9EVUxFUy4KICMgICAgICAgU2V0IExJTksgdG8gIllFUyIgaWYgdGhlIG1vZHVsZSBoYXMgYmVlbiBjb21waWxlZC4KKyMgICAgICAgT3B0aW9ucyBhcmU6CisjICAgICAgICAgLS1kZWZpbmUgPGFkZGl0aW9uYWwgZGVmaW5pdGlvbnM+CisjICAgICAgICAgLS1lYmNkaWMKKyMgICAgICAgICAtLXN5c2ljb252CiAKIG1ha2VfbW9kdWxlKCkKIAogeworICAgICAgICBERUZOPQorICAgICAgICBFQkNESUM9CisgICAgICAgIFNZU0lDT05WPQorICAgICAgICB3aGlsZSB0cnVlCisgICAgICAgIGRvICAgICAgY2FzZSAiJHsxfSIgaW4KKyAgICAgICAgICAgICAgICAtLWRlZmluZSkKKyAgICAgICAgICAgICAgICAgICAgICAgIERFRk49IiR7Mn0iCisgICAgICAgICAgICAgICAgICAgICAgICBzaGlmdAorICAgICAgICAgICAgICAgICAgICAgICAgOzsKKyAgICAgICAgICAgICAgICAtLWViY2RpYykKKyAgICAgICAgICAgICAgICAgICAgICAgIEVCQ0RJQz15ZXMKKyAgICAgICAgICAgICAgICAgICAgICAgIDs7CisgICAgICAgICAgICAgICAgLS1zeXNpY29udikKKyAgICAgICAgICAgICAgICAgICAgICAgIFNZU0lDT05WPXllcworICAgICAgICAgICAgICAgICAgICAgICAgOzsKKyAgICAgICAgICAgICAgICAqKSAgICAgIGJyZWFrCisgICAgICAgICAgICAgICAgZXNhYworICAgICAgICAgICAgICAgIHNoaWZ0CisgICAgICAgIGRvbmUKICAgICAgICAgTU9EVUxFUz0iJHtNT0RVTEVTfSAkezF9IgogICAgICAgICBNT0RJRlNOQU1FPSIke0xJQklGU05BTUV9LyR7MX0uTU9EVUxFIgogICAgICAgICBhY3Rpb25fbmVlZGVkICIke01PRElGU05BTUV9IiAiJHsyfSIgfHwgcmV0dXJuIDA7CkBAIC0xODUsNyArMjA4LDcgQEAKICAgICAgICAgIyAgICAgICAgICAgICAgIHRoZSBzb3VyY2UgZmlsZSBhbmQgd2UgY29tcGlsZSB0aGF0IHRlbXBvcmFyeSBmaWxlLgogCiAgICAgICAgIHJtIC1mIF9fdG1wc3JjZi5jCi0gICAgICAgIGlmIFsgIiR7NH0iICE9ICdlYmNkaWMnIF0KKyAgICAgICAgaWYgWyAteiAiJHtFQkNESUN9IiBdCiAgICAgICAgIHRoZW4gICAgZWNobyAiI2xpbmUgMSBcIiR7Mn1cIiIgPj4gX190bXBzcmNmLmMKICAgICAgICAgICAgICAgICBlY2hvICIjcHJhZ21hIGNvbnZlcnQoODE5KSIgPj4gX190bXBzcmNmLmMKICAgICAgICAgICAgICAgICBlY2hvICcjaW5jbHVkZSAid3JhcHBlcnMuaCInID4+IF9fdG1wc3JjZi5jCkBAIC0xOTcsOCArMjIwLDEwIEBACiAgICAgICAgIENNRD0iJHtDTUR9IE9QVElPTigqSU5DRElSRklSU1QpIgogICAgICAgICBDTUQ9IiR7Q01EfSBTWVNJRkNPUFQoKklGUzY0SU8pIExBTkdMVkwoKkVYVEVOREVEKSBMT0NBTEVUWVBFKCpMT0NBTEUpIgogICAgICAgICBDTUQ9IiR7Q01EfSBJTkNESVIoIgotICAgICAgICBDTUQ9IiR7Q01EfSAnJHtUT1BESVJ9L29zNDAwL2ljb252JyIKLSAgICAgICAgaWYgWyAiJHs0fSIgIT0gJ2ViY2RpYycgXQorICAgICAgICBpZiBbICAteiAiJHtTWVNJQ09OVn0iIF0KKyAgICAgICAgdGhlbiAgICBDTUQ9IiR7Q01EfSAnJHtUT1BESVJ9L29zNDAwL2ljb252JyIKKyAgICAgICAgZmkKKyAgICAgICAgaWYgWyAteiAiJHtFQkNESUN9IiBdCiAgICAgICAgIHRoZW4gICAgQ01EPSIke0NNRH0gJy9xaWJtL3Byb2RkYXRhL3FhZHJ0L2luY2x1ZGUnIgogICAgICAgICBmaQogICAgICAgICBDTUQ9IiR7Q01EfSAnJHtUT1BESVJ9L29zNDAwJyAnJHtUT1BESVJ9L29zNDAwL2RsZmNuJyIKQEAgLTIxMSw3ICsyMzYsNyBAQAogICAgICAgICBDTUQ9IiR7Q01EfSBPVVRQVVQoJHtPVVRQVVR9KSIKICAgICAgICAgQ01EPSIke0NNRH0gT1BUSU1JWkUoJHtPUFRJTUlaRX0pIgogICAgICAgICBDTUQ9IiR7Q01EfSBEQkdWSUVXKCR7REVCVUd9KSIKLSAgICAgICAgQ01EPSIke0NNRH0gREVGSU5FKCdfUkVFTlRSQU5UJyAnVFJJT19IQVZFX0NPTkZJR19IJyAnTkRFQlVHJyAkezN9KSIKKyAgICAgICAgQ01EPSIke0NNRH0gREVGSU5FKCdfUkVFTlRSQU5UJyAnVFJJT19IQVZFX0NPTkZJR19IJyAnTkRFQlVHJyAke0RFRk59KSIKIAogICAgICAgICBzeXN0ZW0gIiR7Q01EfSIKICAgICAgICAgcm0gLWYgX190bXBzcmNmLmMKZGlmZiAtLWdpdCBhL29zNDAwL2xpYnhtbG1haW4uYyBiL29zNDAwL2xpYnhtbG1haW4uYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MWM4NDhhCi0tLSAvZGV2L251bGwKKysrIGIvb3M0MDAvbGlieG1sbWFpbi5jCkBAIC0wLDAgKzEsMTAyIEBACisvKioKKyoqKiAgICAgUUFEUlQvUUFEUlRNQUlOMiBzdWJzdGl0dXRpb24gcHJvZ3JhbS4KKyoqKiAgICAgVGhpcyBpcyBuZWVkZWQgYmVjYXVzZSB0aGUgSUJNLXByb3ZpZGVkIFFBRFJUTUFJTjIgZG9lcyBub3QKKyoqKiAgICAgcHJvcGVybHkgdHJhbnNsYXRlIGFyZ3VtZW50cyBieSBkZWZhdWx0IG9yIGlmIG5vIGxvY2FsZSBpcyBwcm92aWRlZC4KKyoqKgorKioqICAgICBTZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCisqKioKKyoqKiAgICAgQXV0aG9yOiBQYXRyaWNrIE1vbm5lcmF0IDxwbUBkYXRhc3BoZXJlLmNoPiwgREFUQVNQSEVSRSBTLkEuCisqKi8KKworI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPGljb252Lmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxsb2NhbGUuaD4KKworLyogRG8gbm90IHVzZSBxYWRydC5oIHNpbmNlIGl0IGRlZmluZXMgdW5uZWVkZWQgc3RhdGljIHByb2NlZHVyZXMuICovCitleHRlcm4gdm9pZCAgICAgUWFkcnRJbml0KHZvaWQpOworZXh0ZXJuIGludCAgICAgIFFhZHJ0RnJlZUNvbnZlcnNpb25UYWJsZSh2b2lkKTsKK2V4dGVybiBpbnQgICAgICBRYWRydEZyZWVFbnZpcm9uKHZvaWQpOworZXh0ZXJuIGNoYXIgKiAgIHNldGxvY2FsZV9hKGludCwgY29uc3QgY2hhciAqKTsKKworCisvKiBUaGUgQVNDSUkgbWFpbiBwcm9ncmFtLiAqLworZXh0ZXJuIGludCAgICAgIG1haW5fYShpbnQgYXJnYywgY2hhciAqICogYXJndik7CisKKy8qIEdsb2JhbCB2YWx1ZXMgb2Ygb3JpZ2luYWwgRUJDRElDIGFyZ3VtZW50cy4gKi8KK2ludCAgICAgICAgICAgICBlYmNkaWNfYXJnYzsKK2NoYXIgKiAqICAgICAgICBlYmNkaWNfYXJndjsKKworCitpbnQKK21haW4oaW50IGFyZ2MsIGNoYXIgKiAqIGFyZ3YpCisKK3sKKyAgICAgICAgaW50IGk7CisgICAgICAgIGludCBqOworICAgICAgICBpY29udl90IGNkOworICAgICAgICBzaXplX3QgYnl0ZWNvdW50ID0gMDsKKyAgICAgICAgY2hhciAqIGluYnVmOworICAgICAgICBjaGFyICogb3V0YnVmOworICAgICAgICBzaXplX3QgaW5ieXRlc2xlZnQ7CisgICAgICAgIHNpemVfdCBvdXRieXRlc2xlZnQ7CisgICAgICAgIGNoYXIgZHVtbXlidWZbMTI4XTsKKyAgICAgICAgY2hhciB0b2NvZGVbMzJdOworICAgICAgICBjaGFyIGZyb21jb2RlWzMyXTsKKworICAgICAgICBlYmNkaWNfYXJnYyA9IGFyZ2M7CisgICAgICAgIGViY2RpY19hcmd2ID0gYXJndjsKKworICAgICAgICAvKiBCdWlsZCB0aGUgZW5jb2RpbmcgY29udmVydGVyLiAqLworICAgICAgICBzdHJuY3B5KHRvY29kZSwgIklCTUNDU0lEMDEyMDgiLCBzaXplb2YgdG9jb2RlKTsKKyAgICAgICAgc3RybmNweShmcm9tY29kZSwgIklCTUNDU0lEMDAwMDAwMDAwMDEwIiwgc2l6ZW9mIGZyb21jb2RlKTsKKyAgICAgICAgY2QgPSBpY29udl9vcGVuKHRvY29kZSwgZnJvbWNvZGUpOworCisgICAgICAgIC8qIE1lYXN1cmUgdGhlIGFyZ3VtZW50cy4gKi8KKyAgICAgICAgZm9yIChpID0gMDsgaSA8IGFyZ2M7IGkrKykgeworICAgICAgICAgICAgICAgIGluYnVmID0gYXJndltpXTsKKyAgICAgICAgICAgICAgICBkbyB7CisgICAgICAgICAgICAgICAgICAgICAgICBpbmJ5dGVzbGVmdCA9IDA7CisgICAgICAgICAgICAgICAgICAgICAgICBvdXRidWYgPSBkdW1teWJ1ZjsKKyAgICAgICAgICAgICAgICAgICAgICAgIG91dGJ5dGVzbGVmdCA9IHNpemVvZiBkdW1teWJ1ZjsKKyAgICAgICAgICAgICAgICAgICAgICAgIGogPSBpY29udihjZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmaW5idWYsICZpbmJ5dGVzbGVmdCwgJm91dGJ1ZiwgJm91dGJ5dGVzbGVmdCk7CisgICAgICAgICAgICAgICAgICAgICAgICBieXRlY291bnQgKz0gb3V0YnVmIC0gZHVtbXlidWY7CisgICAgICAgICAgICAgICAgfSB3aGlsZSAoaiA9PSAtMSAmJiBlcnJubyA9PSBFMkJJRyk7CisgICAgICAgICAgICAgICAgLyogUmVzZXQgdGhlIHNoaWZ0IHN0YXRlLiAqLworICAgICAgICAgICAgICAgIGljb252KGNkLCBOVUxMLCAmaW5ieXRlc2xlZnQsICZvdXRidWYsICZvdXRieXRlc2xlZnQpOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAvKiBBbGxvY2F0ZSBtZW1vcnkgZm9yIHRoZSBBU0NJSSBhcmd1bWVudHMgYW5kIHZlY3Rvci4gKi8KKyAgICAgICAgYXJndiA9IChjaGFyICogKikgbWFsbG9jKChhcmdjICsgMSkgKiBzaXplb2YgKmFyZ3YgKyBieXRlY291bnQpOworCisgICAgICAgIC8qIEJ1aWxkIHRoZSB2ZWN0b3IgYW5kIGNvbnZlcnQgYXJndW1lbnQgZW5jb2RpbmcuICovCisgICAgICAgIG91dGJ1ZiA9IChjaGFyICopIChhcmd2ICsgYXJnYyArIDEpOworICAgICAgICBvdXRieXRlc2xlZnQgPSBieXRlY291bnQ7CisKKyAgICAgICAgZm9yIChpID0gMDsgaSA8IGFyZ2M7IGkrKykgeworICAgICAgICAgICAgICAgIGFyZ3ZbaV0gPSBvdXRidWY7CisgICAgICAgICAgICAgICAgaW5idWYgPSBlYmNkaWNfYXJndltpXTsKKyAgICAgICAgICAgICAgICBpbmJ5dGVzbGVmdCA9IDA7CisgICAgICAgICAgICAgICAgaWNvbnYoY2QsICZpbmJ1ZiwgJmluYnl0ZXNsZWZ0LCAmb3V0YnVmLCAmb3V0Ynl0ZXNsZWZ0KTsKKyAgICAgICAgICAgICAgICBpY29udihjZCwgTlVMTCwgJmluYnl0ZXNsZWZ0LCAmb3V0YnVmLCAmb3V0Ynl0ZXNsZWZ0KTsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgaWNvbnZfY2xvc2UoY2QpOworICAgICAgICBhcmd2W2FyZ2NdID0gTlVMTDsKKworICAgICAgICAvKiBUcnkgc2V0dGluZyB0aGUgbG9jYWxlIHJlZ2FyZGxlc3Mgb2YgUUFEUlRfRU5WX0xPQ0FMRS4gKi8KKyAgICAgICAgc2V0bG9jYWxlX2EoTENfQUxMLCAiIik7CisKKyAgICAgICAgLyogQ2FsbCB0aGUgcHJvZ3JhbS4gKi8KKyAgICAgICAgaSA9IG1haW5fYShhcmdjLCBhcmd2KTsKKworICAgICAgICAvKiBDbGVhbi11cCBhbGxvY2F0ZWQgaXRlbXMuICovCisgICAgICAgIGZyZWUoKGNoYXIgKikgYXJndik7CisgICAgICAgIFFhZHJ0RnJlZUNvbnZlcnNpb25UYWJsZSgpOworICAgICAgICBRYWRydEZyZWVFbnZpcm9uKCk7CisKKyAgICAgICAgLyogVGVybWluYXRlLiAqLworICAgICAgICByZXR1cm4gaTsKK30KZGlmZiAtLWdpdCBhL29zNDAwL2xpYnhtbHJwZy9ET0NCcGFyc2VyLnJwZ2xlIGIvb3M0MDAvbGlieG1scnBnL0RPQ0JwYXJzZXIucnBnbGUKaW5kZXggYmY1YWFhMi4uMDhhNmI4YyAxMDA2NDQKLS0tIGEvb3M0MDAvbGlieG1scnBnL0RPQ0JwYXJzZXIucnBnbGUKKysrIGIvb3M0MDAvbGlieG1scnBnL0RPQ0JwYXJzZXIucnBnbGUKQEAgLTEzLDYgKzEzLDcgQEAKIAogICAgICAgL2lmIGRlZmluZWQoTElCWE1MX0RPQ0JfRU5BQkxFRCkKIAorICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWxUeXBlc0MiCiAgICAgICAvaW5jbHVkZSAibGlieG1scnBnL3BhcnNlciIKICAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcvcGFyc2VySW50ZXJuYWxzIgogCkBAIC00NiwxMyArNDcsMTQgQEAKICAgICAgICogVGhlcmUgaXMgb25seSBmZXcgcHVibGljIGZ1bmN0aW9ucy4KIAogICAgICBkIGRvY2JFbmNvZGVFbnRpdGllcy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ2RvY2JFbmNvZGVFbnRpdGllcycpCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnZG9jYkVuY29kZUVudGl0aWVzJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIG91dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIgKgogICAgICBkICBvdXRsZW4gICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgKgogICAgICBkICBpbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoKICAgICAgZCAgaW5sZW4gICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ICoKLSAgICAgZCAgcXVvdGVDaGFyICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBxdW90ZUNoYXIgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIGRvY2JTQVhQYXJzZURvYy4uLgogICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ2RvY2JTQVhQYXJzZURvYycpCkBAIC05MiwxNSArOTQsMTYgQEAKICAgICAgZCAgc2F4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKGRvY2JTQVhIYW5kbGVyUHRyKQogICAgICBkICB1c2VyX2RhdGEgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKICAgICAgZCAgY2h1bmsgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIHNpemUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGZpbGVuYW1lICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgogICAgICBkICBlbmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2hhckVuY29kaW5nKQogCi0gICAgIGQgZG9jYlBhcnNlQ2h1bmsgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygnZG9jYlBhcnNlQ2h1bmsnKQorICAgICBkIGRvY2JQYXJzZUNodW5rICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ2RvY2JQYXJzZUNodW5rJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZShkb2NiUGFyc2VyQ3R4dFB0cikKICAgICAgZCAgY2h1bmsgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIHNpemUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKLSAgICAgZCAgdGVybWluYXRlICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBzaXplICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKKyAgICAgZCAgdGVybWluYXRlICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCBkb2NiQ3JlYXRlRmlsZVBhcnNlckN0eHQuLi4KICAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdkb2NiQ3JlYXRlRmlsZVBhcnNlckN0eHQnKQpAQCAtMTA5LDcgKzExMiw4IEBACiAgICAgIGQgIGVuY29kaW5nICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgogCiAgICAgIGQgZG9jYlBhcnNlRG9jdW1lbnQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCdkb2NiUGFyc2VEb2N1bWVudCcpCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnZG9jYlBhcnNlRG9jdW1lbnQnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKGRvY2JQYXJzZXJDdHh0UHRyKQogCiAgICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhNTF9ET0NCX0VOQUJMRUQKZGlmZiAtLWdpdCBhL29zNDAwL2xpYnhtbHJwZy9IVE1McGFyc2VyLnJwZ2xlIGIvb3M0MDAvbGlieG1scnBnL0hUTUxwYXJzZXIucnBnbGUKaW5kZXggZDRjNWY4ZC4uYzI3ZDhlNSAxMDA2NDQKLS0tIGEvb3M0MDAvbGlieG1scnBnL0hUTUxwYXJzZXIucnBnbGUKKysrIGIvb3M0MDAvbGlieG1scnBnL0hUTUxwYXJzZXIucnBnbGUKQEAgLTEyLDExICsxMiwxMiBAQAogICAgICAgL2RlZmluZSBIVE1MX1BBUlNFUl9IX18KIAogICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWx2ZXJzaW9uIgotICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWxUeXBlc0MiCi0gICAgICAvaW5jbHVkZSAibGlieG1scnBnL3BhcnNlciIKIAogICAgICAgL2lmIGRlZmluZWQoTElCWE1MX0hUTUxfRU5BQkxFRCkKIAorICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWxUeXBlc0MiCisgICAgICAvaW5jbHVkZSAibGlieG1scnBnL3BhcnNlciIKKwogICAgICAgKiBNb3N0IG9mIHRoZSBiYWNrLWVuZCBzdHJ1Y3R1cmVzIGZyb20gWE1MIGFuZCBIVE1MIGFyZSBzaGFyZWQuCiAKICAgICAgZCBodG1sUGFyc2VyQ3R4dFB0ci4uLgpAQCAtOTYsNyArOTcsNyBAQAogICAgICBkIGh0bWxFbnRpdHlEZXNjLi4uCiAgICAgIGQgICAgICAgICAgICAgICAgIGRzICAgICAgICAgICAgICAgICAgYmFzZWQoaHRtbEVudGl0eURlc2NQdHIpCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24gcXVhbGlmaWVkCi0gICAgIGQgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgMTB1IDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVuaWNvZGUgY2hhciB2YWx1ZQorICAgICBkICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ3VpbnQpCiAgICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgogICAgICBkICBkZXNjICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKIApAQCAtMTE0LDE1ICsxMTUsMTcgQEAKICAgICAgZCBodG1sRW50aXR5VmFsdWVMb29rdXAuLi4KICAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdodG1sRW50aXR5VmFsdWVMb29rdXAnKQogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoaHRtbEVudGl0eURlc2NQdHIpICAgICAgICAgICAgICBjb25zdAotICAgICBkICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgIDEwdSAwIHZhbHVlCisgICAgIGQgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDdWludCkKIAogICAgICBkIGh0bWxJc0F1dG9DbG9zZWQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCdodG1sSXNBdXRvQ2xvc2VkJykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdodG1sSXNBdXRvQ2xvc2VkJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZShodG1sRG9jUHRyKQogICAgICBkICBlbGVtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoaHRtbE5vZGVQdHIpCiAKICAgICAgZCBodG1sQXV0b0Nsb3NlVGFnLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygnaHRtbEF1dG9DbG9zZVRhZycpCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnaHRtbEF1dG9DbG9zZVRhZycpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoaHRtbERvY1B0cikKICAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCiAgICAgIGQgIGVsZW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZShodG1sTm9kZVB0cikKQEAgLTEzNCw3ICsxMzcsOCBAQAogICAgICBkICBzdHIgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICooKikKIAogICAgICBkIGh0bWxQYXJzZUNoYXJSZWYuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCdodG1sUGFyc2VDaGFyUmVmJykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdodG1sUGFyc2VDaGFyUmVmJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZShodG1sUGFyc2VyQ3R4dFB0cikKIAogICAgICBkIGh0bWxQYXJzZUVsZW1lbnQuLi4KQEAgLTE0OSwxMCArMTUzLDExIEBACiAgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnaHRtbENyZWF0ZU1lbW9yeVBhcnNlckN0eHQnKQogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoaHRtbFBhcnNlckN0eHRQdHIpCiAgICAgIGQgIGJ1ZmZlciAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBzaXplICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIHNpemUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgaHRtbFBhcnNlRG9jdW1lbnQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCdodG1sUGFyc2VEb2N1bWVudCcpCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnaHRtbFBhcnNlRG9jdW1lbnQnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKGh0bWxQYXJzZXJDdHh0UHRyKQogCiAgICAgIGQgaHRtbFNBWFBhcnNlRG9jLi4uCkBAIC0xODEsMjcgKzE4NiwzMSBAQAogICAgICBkICBmaWxlbmFtZSAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKICAgICAgZCAgZW5jb2RpbmcgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCiAKLSAgICAgZCBVVEY4VG9IdG1sICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCdVVEY4VG9IdG1sJykKKyAgICAgZCBVVEY4VG9IdG1sICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdVVEY4VG9IdG1sJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIG91dCAgICAgICAgICAgICAgICAgICAgICAgNjU1MzUgICAgb3B0aW9ucygqdmFyc2l6ZSkgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIgW10KLSAgICAgZCAgb3V0bGVuICAgICAgICAgICAgICAgICAgICAgICAxMGkgMAorICAgICBkICBvdXRsZW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgdW5zaWduZWQgY2hhcioKLSAgICAgZCAgaW5sZW4gICAgICAgICAgICAgICAgICAgICAgICAxMGkgMAorICAgICBkICBpbmxlbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIGh0bWxFbmNvZGVFbnRpdGllcy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ2h0bWxFbmNvZGVFbnRpdGllcycpCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnaHRtbEVuY29kZUVudGl0aWVzJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIG91dCAgICAgICAgICAgICAgICAgICAgICAgNjU1MzUgICAgb3B0aW9ucygqdmFyc2l6ZSkgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIgW10KLSAgICAgZCAgb3V0bGVuICAgICAgICAgICAgICAgICAgICAgICAxMGkgMAorICAgICBkICBvdXRsZW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgdW5zaWduZWQgY2hhcioKLSAgICAgZCAgaW5sZW4gICAgICAgICAgICAgICAgICAgICAgICAxMGkgMAotICAgICBkICBxdW90ZUNoYXIgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIGlubGVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQorICAgICBkICBxdW90ZUNoYXIgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIGh0bWxJc1NjcmlwdEF0dHJpYnV0ZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ2h0bWxJc1NjcmlwdEF0dHJpYnV0ZScpCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnaHRtbElzU2NyaXB0QXR0cmlidXRlJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgogCiAgICAgIGQgaHRtbEhhbmRsZU9taXR0ZWRFbGVtLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygnaHRtbEhhbmRsZU9taXR0ZWRFbGVtJykKLSAgICAgZCAgdmFsICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ2h0bWxIYW5kbGVPbWl0dGVkRWxlbScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQorICAgICBkICB2YWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICAgL2lmIGRlZmluZWQoTElCWE1MX1BVU0hfRU5BQkxFRCkKIApAQCAtMjEzLDE1ICsyMjIsMTYgQEAKICAgICAgZCAgc2F4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKGh0bWxTQVhIYW5kbGVyUHRyKQogICAgICBkICB1c2VyX2RhdGEgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKICAgICAgZCAgY2h1bmsgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIHNpemUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGZpbGVuYW1lICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgogICAgICBkICBlbmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2hhckVuY29kaW5nKQogCi0gICAgIGQgaHRtbFBhcnNlQ2h1bmsgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygnaHRtbFBhcnNlQ2h1bmsnKQorICAgICBkIGh0bWxQYXJzZUNodW5rICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ2h0bWxQYXJzZUNodW5rJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZShodG1sUGFyc2VyQ3R4dFB0cikKICAgICAgZCAgY2h1bmsgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIHNpemUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKLSAgICAgZCAgdGVybWluYXRlICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBzaXplICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKKyAgICAgZCAgdGVybWluYXRlICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAgICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhNTF9QVVNIX0VOQUJMRUQKIAogICAgICBkIGh0bWxGcmVlUGFyc2VyQ3R4dC4uLgpAQCAtMjM2LDcgKzI0Niw4IEBACiAgICAgICAqIHRvIHRoZSB4bWxSZWFkRG9jKCkgYW5kIHNpbWlsYXIgY2FsbHMuCiAKICAgICAgZCBodG1sUGFyc2VyT3B0aW9uLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgMTBpIDAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykgICAgICAgICAgIGVudW0KKyAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICAgICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2VudW0pCiAgICAgIGQgIEhUTUxfUEFSU0VfUkVDT1ZFUi4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlbGF4ZWQgcGFyc2luZwogICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAwMDAwMDEnCiAgICAgIGQgIEhUTUxfUEFSU0VfTk9ERUZEVEQuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5vIGRlZmF1bHQgZG9jdHlwZQpAQCAtMjYyLDM3ICsyNzMsMzggQEAKICAgICAgZCBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKGh0bWxQYXJzZXJDdHh0UHRyKQogCiAgICAgIGQgaHRtbEN0eHRVc2VPcHRpb25zLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygnaHRtbEN0eHRVc2VPcHRpb25zJykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdodG1sQ3R4dFVzZU9wdGlvbnMnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKGh0bWxQYXJzZXJDdHh0UHRyKQotICAgICBkIG9wdGlvbnMgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgb3B0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgaHRtbFJlYWREb2MgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnaHRtbFJlYWREb2MnKQogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoaHRtbERvY1B0cikKICAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCiAgICAgIGQgIFVSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgogICAgICBkICBlbmNvZGluZyAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgb3B0aW9ucyAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBvcHRpb25zICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIGh0bWxSZWFkRmlsZSAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ2h0bWxSZWFkRmlsZScpCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZShodG1sRG9jUHRyKQogICAgICBkICBVUkwgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKICAgICAgZCAgZW5jb2RpbmcgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIG9wdGlvbnMgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgb3B0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCBodG1sUmVhZE1lbW9yeSAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdodG1sUmVhZE1lbW9yeScpCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZShodG1sRG9jUHRyKQogICAgICBkICBidWZmZXIgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBzaXplICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgVVJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCiAgICAgIGQgIGVuY29kaW5nICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBvcHRpb25zICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIG9wdGlvbnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgaHRtbFJlYWRGZCAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnaHRtbFJlYWRGZCcpCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZShodG1sRG9jUHRyKQotICAgICBkICBmZCAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIGZkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogICAgICBkICBVUkwgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKICAgICAgZCAgZW5jb2RpbmcgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIG9wdGlvbnMgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgb3B0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCBodG1sUmVhZElPICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdodG1sUmVhZElPJykKICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKGh0bWxEb2NQdHIpCkBAIC0zMDEsNyArMzEzLDcgQEAKICAgICAgZCAgaW9jdHggICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCiAgICAgIGQgIFVSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgogICAgICBkICBlbmNvZGluZyAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgb3B0aW9ucyAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBvcHRpb25zICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIGh0bWxDdHh0UmVhZERvYy4uLgogICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ2h0bWxDdHh0UmVhZERvYycpCkBAIC0zMTAsNyArMzIyLDcgQEAKICAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCiAgICAgIGQgIFVSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgogICAgICBkICBlbmNvZGluZyAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgb3B0aW9ucyAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBvcHRpb25zICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIGh0bWxDdHh0UmVhZEZpbGUuLi4KICAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdodG1sQ3R4dFJlYWRGaWxlJykKQEAgLTMxOCwyNSArMzMwLDI1IEBACiAgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQogICAgICBkICBmaWxlbmFtZSAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKICAgICAgZCAgZW5jb2RpbmcgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIG9wdGlvbnMgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgb3B0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCBodG1sQ3R4dFJlYWRNZW1vcnkuLi4KICAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdodG1sQ3R4dFJlYWRNZW1vcnknKQogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoaHRtbERvY1B0cikKICAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCiAgICAgIGQgIGJ1ZmZlciAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBzaXplICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIHNpemUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogICAgICBkICBVUkwgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKICAgICAgZCAgZW5jb2RpbmcgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIG9wdGlvbnMgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgb3B0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCBodG1sQ3R4dFJlYWRGZCAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdodG1sQ3R4dFJlYWRGZCcpCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZShodG1sRG9jUHRyKQogICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKLSAgICAgZCAgZmQgICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBmZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgVVJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCiAgICAgIGQgIGVuY29kaW5nICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBvcHRpb25zICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIG9wdGlvbnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgaHRtbEN0eHRSZWFkSU8gIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnaHRtbEN0eHRSZWFkSU8nKQogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoaHRtbERvY1B0cikKQEAgLTM0NiwxMSArMzU4LDEyIEBACiAgICAgIGQgIGlvY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgogICAgICBkICBVUkwgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKICAgICAgZCAgZW5jb2RpbmcgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIG9wdGlvbnMgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgb3B0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgICogRnVydGhlciBrbm93bGVkZ2Ugb2YgSFRNTCBzdHJ1Y3R1cmUKIAotICAgICBkIGh0bWxTdGF0dXMgICAgICBzICAgICAgICAgICAgIDEwaSAwIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpICAgICAgICAgICBlbnVtCisgICAgIGQgaHRtbFN0YXR1cyAgICAgIHMgICAgICAgICAgICAgICAgICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENlbnVtKQogICAgICBkICBIVE1MX05BICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAwMCcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBObyBjaGVjayBhdCBhbGwKICAgICAgZCAgSFRNTF9JTlZBTElEICAgYyAgICAgICAgICAgICAgICAgICBYJzAwMDEnCiAgICAgIGQgIEhUTUxfREVQUkVDQVRFRC4uLgpAQCAtMzY2LDEwICszNzksMTEgQEAKICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKGh0bWxTdGF0dXMpCiAgICAgIGQgICNwYXJhbTEgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZShodG1sRWxlbURlc2NQdHIpICAgICAgICAgIGNvbnN0CiAgICAgIGQgICNwYXJhbTIgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICAjcGFyYW0zICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgICNwYXJhbTMgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgaHRtbEVsZW1lbnRBbGxvd2VkSGVyZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ2h0bWxFbGVtZW50QWxsb3dlZEhlcmUnKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ2h0bWxFbGVtZW50QWxsb3dlZEhlcmUnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgI3BhcmFtMSAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKGh0bWxFbGVtRGVzY1B0cikgICAgICAgICAgY29uc3QKICAgICAgZCAgI3BhcmFtMiAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCiAKQEAgLTM4Miw3ICszOTYsNyBAQAogICAgICBkIGh0bWxOb2RlU3RhdHVzICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ2h0bWxOb2RlU3RhdHVzJykKICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKGh0bWxTdGF0dXMpCiAgICAgIGQgICNwYXJhbTEgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZShodG1sTm9kZVB0cikKLSAgICAgZCAgI3BhcmFtMiAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICAjcGFyYW0yICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICAgKiBDIG1hY3JvcyBpbXBsZW1lbnRlZCBhcyBwcm9jZWR1cmVzIGZvciBJTEUvUlBHIHN1cHBvcnQuCiAKQEAgLTM5MSw4ICs0MDUsOSBAQAogICAgICBkICBlbHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBodG1sRWxlbURlc2MgKgogCiAgICAgIGQgaHRtbEVsZW1lbnRBbGxvd2VkSGVyZURlc2MuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ19faHRtbEVsZW1lbnRBbGxvd2VkSGVyZURlc2MnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgcGFyZW50ICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaHRtbEVsZW1EZXNjICoKICAgICAgZCAgZWx0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaHRtbEVsZW1EZXNjICoKIApkaWZmIC0tZ2l0IGEvb3M0MDAvbGlieG1scnBnL0hUTUx0cmVlLnJwZ2xlIGIvb3M0MDAvbGlieG1scnBnL0hUTUx0cmVlLnJwZ2xlCmluZGV4IDgyYTExY2EuLjk5YzM4YTAgMTAwNjQ0Ci0tLSBhL29zNDAwL2xpYnhtbHJwZy9IVE1MdHJlZS5ycGdsZQorKysgYi9vczQwMC9saWJ4bWxycGcvSFRNTHRyZWUucnBnbGUKQEAgLTEwLDExICsxMCwxMyBAQAogICAgICAgL2RlZmluZSBIVE1MX1RSRUVfSF9fCiAKICAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveG1sdmVyc2lvbiIKLSAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcvdHJlZSIKLSAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcvSFRNTHBhcnNlciIKIAogICAgICAgL2lmIGRlZmluZWQoTElCWE1MX0hUTUxfRU5BQkxFRCkKIAorICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWxUeXBlc0MiCisgICAgICAvaW5jbHVkZSAibGlieG1scnBnL3RyZWUiCisgICAgICAvaW5jbHVkZSAibGlieG1scnBnL0hUTUxwYXJzZXIiCisKICAgICAgICogSFRNTF9URVhUX05PREU6CiAgICAgICAqCiAgICAgICAqIE1hY3JvLiBBIHRleHQgbm9kZSBpbiBhIEhUTUwgZG9jdW1lbnQgaXMgcmVhbGx5IGltcGxlbWVudGVkCkBAIC02OSw3ICs3MSw4IEBACiAgICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZShodG1sRG9jUHRyKQogCiAgICAgIGQgaHRtbFNldE1ldGFFbmNvZGluZy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ2h0bWxTZXRNZXRhRW5jb2RpbmcnKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ2h0bWxTZXRNZXRhRW5jb2RpbmcnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKGh0bWxEb2NQdHIpCiAgICAgIGQgIGVuY29kaW5nICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgogCkBAIC03OCwyNCArODEsMjcgQEAKICAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdodG1sRG9jRHVtcE1lbW9yeScpCiAgICAgIGQgIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCiAgICAgIGQgIG1lbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbENoYXIgKiAqCi0gICAgIGQgIHNpemUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAKKyAgICAgZCAgc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAKICAgICAgZCBodG1sRG9jRHVtcE1lbW9yeUZvcm1hdC4uLgogICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ2h0bWxEb2NEdW1wTWVtb3J5Rm9ybWF0JykKICAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKICAgICAgZCAgbWVtICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sQ2hhciAqICoKLSAgICAgZCAgc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMAotICAgICBkICBmb3JtYXQgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIHNpemUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQorICAgICBkICBmb3JtYXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAotICAgICBkIGh0bWxEb2NEdW1wICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ2h0bWxEb2NEdW1wJykKKyAgICAgZCBodG1sRG9jRHVtcCAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdodG1sRG9jRHVtcCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGSUxFICoKICAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKIAotICAgICBkIGh0bWxTYXZlRmlsZSAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ2h0bWxTYXZlRmlsZScpCisgICAgIGQgaHRtbFNhdmVGaWxlICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnaHRtbFNhdmVGaWxlJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGZpbGVuYW1lICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgogICAgICBkICBjdXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQogCi0gICAgIGQgaHRtbE5vZGVEdW1wICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygnaHRtbE5vZGVEdW1wJykKKyAgICAgZCBodG1sTm9kZUR1bXAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdodG1sTm9kZUR1bXAnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgYnVmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEJ1ZmZlclB0cikKICAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKICAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCkBAIC0xMDcsMjUgKzExMywyOCBAQAogICAgICBkICBjdXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKIAogICAgICBkIGh0bWxOb2RlRHVtcEZpbGVGb3JtYXQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCdodG1sTm9kZUR1bXBGaWxlRm9ybWF0JykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdodG1sTm9kZUR1bXBGaWxlRm9ybWF0JykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIG91dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZJTEUgKgogICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQogICAgICBkICBjdXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKICAgICAgZCAgZW5jb2RpbmcgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIGZvcm1hdCAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgZm9ybWF0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCBodG1sU2F2ZUZpbGVFbmMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCdodG1sU2F2ZUZpbGVFbmMnKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ2h0bWxTYXZlRmlsZUVuYycpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBmaWxlbmFtZSAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKICAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKICAgICAgZCAgZW5jb2RpbmcgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCiAKICAgICAgZCBodG1sU2F2ZUZpbGVGb3JtYXQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCdodG1sU2F2ZUZpbGVGb3JtYXQnKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ2h0bWxTYXZlRmlsZUZvcm1hdCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBmaWxlbmFtZSAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKICAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKICAgICAgZCAgZW5jb2RpbmcgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIGZvcm1hdCAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgZm9ybWF0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCBodG1sTm9kZUR1bXBGb3JtYXRPdXRwdXQuLi4KICAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdodG1sTm9kZUR1bXBGb3JtYXRPdXRwdXQnKQpAQCAtMTMzLDcgKzE0Miw3IEBACiAgICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCiAgICAgIGQgIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQogICAgICBkICBlbmNvZGluZyAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgZm9ybWF0ICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBmb3JtYXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIGh0bWxEb2NDb250ZW50RHVtcE91dHB1dC4uLgogICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ2h0bWxEb2NDb250ZW50RHVtcE91dHB1dCcpCkBAIC0xNDcsNyArMTU2LDcgQEAKICAgICAgZCAgYnVmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE91dHB1dEJ1ZmZlclB0cikKICAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKICAgICAgZCAgZW5jb2RpbmcgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIGZvcm1hdCAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgZm9ybWF0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCBodG1sTm9kZUR1bXBPdXRwdXQuLi4KICAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdodG1sTm9kZUR1bXBPdXRwdXQnKQpAQCAtMTU5LDcgKzE2OCw4IEBACiAgICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhNTF9PVVRQVVRfRU5BQkxECiAKICAgICAgZCBodG1sSXNCb29sZWFuQXR0ci4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ2h0bWxJc0Jvb2xlYW5BdHRyJykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdodG1sSXNCb29sZWFuQXR0cicpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKIAogICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMSUJYTUxfSFRNTF9FTkFCTEVECmRpZmYgLS1naXQgYS9vczQwMC9saWJ4bWxycGcvU0FYLnJwZ2xlIGIvb3M0MDAvbGlieG1scnBnL1NBWC5ycGdsZQppbmRleCA4NWYxNWNjLi5hMjJkNDlhIDEwMDY0NAotLS0gYS9vczQwMC9saWJ4bWxycGcvU0FYLnJwZ2xlCisrKyBiL29zNDAwL2xpYnhtbHJwZy9TQVgucnBnbGUKQEAgLTI2LDIyICsyNiwyNyBAQAogICAgICBkICBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKICAgICAgZCAgbG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNBWExvY2F0b3JQdHIpCiAKLSAgICAgZCBnZXRMaW5lTnVtYmVyICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCdnZXRMaW5lTnVtYmVyJykKKyAgICAgZCBnZXRMaW5lTnVtYmVyICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdnZXRMaW5lTnVtYmVyJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgogCiAgICAgIGQgZ2V0Q29sdW1uTnVtYmVyLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygnZ2V0Q29sdW1uTnVtYmVyJykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdnZXRDb2x1bW5OdW1iZXInKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCiAKLSAgICAgZCBpc1N0YW5kYWxvbmUgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCdpc1N0YW5kYWxvbmUnKQorICAgICBkIGlzU3RhbmRhbG9uZSAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ2lzU3RhbmRhbG9uZScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKIAogICAgICBkIGhhc0ludGVybmFsU3Vic2V0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygnaGFzSW50ZXJuYWxTdWJzZXQnKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ2hhc0ludGVybmFsU3Vic2V0JykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgogCiAgICAgIGQgaGFzRXh0ZXJuYWxTdWJzZXQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCdoYXNFeHRlcm5hbFN1YnNldCcpCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnaGFzRXh0ZXJuYWxTdWJzZXQnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCiAKICAgICAgZCBpbnRlcm5hbFN1YnNldCAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdpbnRlcm5hbFN1YnNldCcpCkBAIC03Niw3ICs4MSw3IEBACiAgICAgIGQgZW50aXR5RGVjbCAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnZW50aXR5RGVjbCcpCiAgICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgogICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgdHlwZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICB0eXBlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgcHVibGljSWQgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCiAgICAgIGQgIHN5c3RlbUlkICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgogICAgICBkICBjb250ZW50ICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICB4bWxDaGFyICoKQEAgLTg1LDE1ICs5MCwxNSBAQAogICAgICBkICBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKICAgICAgZCAgZWxlbSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCiAgICAgIGQgIGZ1bGxuYW1lICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICB0eXBlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCi0gICAgIGQgIGRlZiAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgdHlwZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCisgICAgIGQgIGRlZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogICAgICBkICBkZWZhdWx0VmFsdWUgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKICAgICAgZCAgdHJlZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEVudW1lcmF0aW9uUHRyKQogCiAgICAgIGQgZWxlbWVudERlY2wgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnZWxlbWVudERlY2wnKQogICAgICBkICBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKICAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIHR5cGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgdHlwZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGNvbnRlbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxFbGVtZW50Q29udGVudFB0cikKIAogICAgICBkIG5vdGF0aW9uRGVjbCAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ25vdGF0aW9uRGVjbCcpCkBAIC0xMzcsMTMgKzE0MiwxMyBAQAogICAgICBkIGNoYXJhY3RlcnMgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ2NoYXJhY3RlcnMnKQogICAgICBkICBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKICAgICAgZCAgY2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIGxlbiAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgbGVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCBpZ25vcmFibGVXaGl0ZXNwYWNlLi4uCiAgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnaWdub3JhYmxlV2hpdGVzcGFjZScpCiAgICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgogICAgICBkICBjaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgbGVuICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIHByb2Nlc3NpbmdJbnN0cnVjdGlvbi4uLgogICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3Byb2Nlc3NpbmdJbnN0cnVjdGlvbicpCkBAIC0xNjUsNyArMTcwLDggQEAKICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5zUHRyKQogICAgICBkICBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKIAotICAgICBkIGNoZWNrTmFtZXNwYWNlICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ2NoZWNrTmFtZXNwYWNlJykKKyAgICAgZCBjaGVja05hbWVzcGFjZSAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdjaGVja05hbWVzcGFjZScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKICAgICAgZCAgbmFtZVNwYWNlICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgeG1sQ2hhciAqCiAKQEAgLTE4MSwxMyArMTg3LDEzIEBACiAgICAgIGQgY2RhdGFCbG9jayAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnY2RhdGFCbG9jaycpCiAgICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgogICAgICBkICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgbGVuICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICAgL2lmIGRlZmluZWQoTElCWE1MX1NBWDFfRU5BQkxFRCkKICAgICAgZCBpbml0eG1sRGVmYXVsdFNBWEhhbmRsZXIuLi4KICAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdpbml0eG1sRGVmYXVsdFNBWEhhbmRsZXInKQogICAgICBkICBoZGxyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2Vkcyh4bWxTQVhIYW5kbGVyVjEpCi0gICAgIGQgIHdhcm5pbmcgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgd2FybmluZyAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpCiAgICAgIGQgaW5pdGh0bWxEZWZhdWx0U0FYSGFuZGxlci4uLgpkaWZmIC0tZ2l0IGEvb3M0MDAvbGlieG1scnBnL1NBWDIucnBnbGUgYi9vczQwMC9saWJ4bWxycGcvU0FYMi5ycGdsZQppbmRleCBmYjY4N2U5Li5jNzJiZTI1IDEwMDY0NAotLS0gYS9vczQwMC9saWJ4bWxycGcvU0FYMi5ycGdsZQorKysgYi9vczQwMC9saWJ4bWxycGcvU0FYMi5ycGdsZQpAQCAtMTAsNiArMTAsNyBAQAogICAgICAgL2RlZmluZSBYTUxfU0FYMl9IX18KIAogICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWx2ZXJzaW9uIgorICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWxUeXBlc0MiCiAgICAgICAvaW5jbHVkZSAibGlieG1scnBnL3BhcnNlciIKICAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveGxpbmsiCiAKQEAgLTI3LDIzICsyOCwyOCBAQAogICAgICBkICBsb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU0FYTG9jYXRvclB0cikKIAogICAgICBkIHhtbFNBWDJHZXRMaW5lTnVtYmVyLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sU0FYMkdldExpbmVOdW1iZXInKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNBWDJHZXRMaW5lTnVtYmVyJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgogCiAgICAgIGQgeG1sU0FYMkdldENvbHVtbk51bWJlci4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFNBWDJHZXRDb2x1bW5OdW1iZXInKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNBWDJHZXRDb2x1bW5OdW1iZXInKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCiAKICAgICAgZCB4bWxTQVgySXNTdGFuZGFsb25lLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sU0FYMklzU3RhbmRhbG9uZScpCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU0FYMklzU3RhbmRhbG9uZScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKIAogICAgICBkIHhtbFNBWDJIYXNJbnRlcm5hbFN1YnNldC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFNBWDJIYXNJbnRlcm5hbFN1YnNldCcpCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU0FYMkhhc0ludGVybmFsU3Vic2V0JykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgogCiAgICAgIGQgeG1sU0FYMkhhc0V4dGVybmFsU3Vic2V0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sU0FYMkhhc0V4dGVybmFsU3Vic2V0JykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTQVgySGFzRXh0ZXJuYWxTdWJzZXQnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCiAKICAgICAgZCB4bWxTQVgySW50ZXJuYWxTdWJzZXQuLi4KQEAgLTgzLDcgKzg5LDcgQEAKICAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTQVgyRW50aXR5RGVjbCcpCiAgICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgogICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgdHlwZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICB0eXBlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgcHVibGljSWQgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCiAgICAgIGQgIHN5c3RlbUlkICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgogICAgICBkICBjb250ZW50ICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICB4bWxDaGFyICoKQEAgLTkzLDggKzk5LDggQEAKICAgICAgZCAgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCiAgICAgIGQgIGVsZW0gICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgogICAgICBkICBmdWxsbmFtZSAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgdHlwZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQotICAgICBkICBkZWYgICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIHR5cGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQorICAgICBkICBkZWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgZGVmYXVsdFZhbHVlICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCiAgICAgIGQgIHRyZWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxFbnVtZXJhdGlvblB0cikKIApAQCAtMTAyLDcgKzEwOCw3IEBACiAgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU0FYMkVsZW1lbnREZWNsJykKICAgICAgZCAgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCiAgICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICB0eXBlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIHR5cGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogICAgICBkICBjb250ZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRWxlbWVudENvbnRlbnRQdHIpCiAKICAgICAgZCB4bWxTQVgyTm90YXRpb25EZWNsLi4uCkBAIC0xNTgsMTAgKzE2NCwxMCBAQAogICAgICBkICBsb2NhbG5hbWUgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKICAgICAgZCAgcHJlZml4ICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCiAgICAgIGQgIFVSSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBuYl9uYW1lc3BhY2VzICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIG5iX25hbWVzcGFjZXMgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogICAgICBkICBuYW1lc3BhY2VzICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICooKikKLSAgICAgZCAgbmJfYXR0cmlidXRlcyAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQotICAgICBkICBuYl9kZWZhdWx0ZWQgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIG5iX2F0dHJpYnV0ZXMgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQorICAgICBkICBuYl9kZWZhdWx0ZWQgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgYXR0cmlidXRlcyAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqKCopCiAKICAgICAgZCB4bWxTQVgyRW5kRWxlbWVudE5zLi4uCkBAIC0xODAsMTMgKzE4NiwxMyBAQAogICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNBWDJDaGFyYWN0ZXJzJykKICAgICAgZCAgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCiAgICAgIGQgIGNoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIGxlbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sU0FYMklnbm9yYWJsZVdoaXRlc3BhY2UuLi4KICAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTQVgySWdub3JhYmxlV2hpdGVzcGFjZScpCiAgICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgogICAgICBkICBjaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgbGVuICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIHhtbFNBWDJQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24uLi4KICAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKApAQCAtMjA0LDIzICsyMTAsMjUgQEAKICAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTQVgyQ0RhdGFCbG9jaycpCiAgICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgogICAgICBkICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgbGVuICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICAgL2lmIGRlZmluZWQoTElCWE1MX1NBWDFfRU5BQkxFRCkKICAgICAgZCB4bWxTQVhEZWZhdWx0VmVyc2lvbi4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFNBWERlZmF1bHRWZXJzaW9uJykKLSAgICAgZCAgdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNBWERlZmF1bHRWZXJzaW9uJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCisgICAgIGQgIHZlcnNpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMSUJYTUxfU0FYMV9FTkFCTEVECiAKLSAgICAgZCB4bWxTQVhWZXJzaW9uICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxTQVhWZXJzaW9uJykKKyAgICAgZCB4bWxTQVhWZXJzaW9uICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTQVhWZXJzaW9uJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGhkbHIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZWRzKHhtbFNBWEhhbmRsZXIpCi0gICAgIGQgIHZlcnNpb24gICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxTQVgySW5pdERlZmF1bHRTQVhIYW5kbGVyLi4uCiAgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFNBWDJJbml0RGVmYXVsdFNBWEhhbmRsZXInKQogICAgICBkICBoZGxyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2Vkcyh4bWxTQVhIYW5kbGVyKQotICAgICBkICB3YXJuaW5nICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIHdhcm5pbmcgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgICAvaWYgZGVmaW5lZChMSUJYTUxfSFRNTF9FTkFCTEVEKQogICAgICBkIHhtbFNBWDJJbml0SHRtbERlZmF1bHRTQVhIYW5kbGVyLi4uCmRpZmYgLS1naXQgYS9vczQwMC9saWJ4bWxycGcvYzE0bi5ycGdsZSBiL29zNDAwL2xpYnhtbHJwZy9jMTRuLnJwZ2xlCmluZGV4IGI2NGVmYjIuLjk2M2VkMzcgMTAwNjQ0Ci0tLSBhL29zNDAwL2xpYnhtbHJwZy9jMTRuLnJwZ2xlCisrKyBiL29zNDAwL2xpYnhtbHJwZy9jMTRuLnJwZ2xlCkBAIC0yMSw2ICsyMSw3IEBACiAgICAgICAvaWYgZGVmaW5lZChMSUJYTUxfQzE0Tl9FTkFCTEVEKQogICAgICAgL2lmIGRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKQogCisgICAgICAvaW5jbHVkZSAibGlieG1scnBnL3htbFR5cGVzQyIKICAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcvdHJlZSIKICAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveHBhdGgiCiAKQEAgLTUyLDQxICs1Myw0NSBAQAogICAgICAgKiBQcmVkZWZpbmVkIHZhbHVlcyBmb3IgQzE0TiBtb2RlcwogCiAgICAgIGQgeG1sQnVmZmVyQWxsb2NhdGlvblNjaGVtZS4uLgotICAgICBkIHhtbEMxNE5Nb2RlICAgICBzICAgICAgICAgICAgIDEwaSAwIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpICAgICAgICAgICBlbnVtCisgICAgIGQgeG1sQzE0Tk1vZGUgICAgIHMgICAgICAgICAgICAgICAgICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENlbnVtKQogICAgICBkICBYTUxfQzE0Tl8xXzAgICBjICAgICAgICAgICAgICAgICAgIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPcmlnaW5hbCBDMTROIDEuMAogICAgICBkICBYTUxfQzE0Tl9FWENMVVNJVkVfMV8wLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFeGNsdXNpdmUgQzE0TiAxLjAKICAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxCiAgICAgIGQgIFhNTF9DMTROXzFfMSAgIGMgICAgICAgICAgICAgICAgICAgMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEMxNE4gMS4xIHNwZWMKIAogICAgICBkIHhtbEMxNE5Eb2NTYXZlVG8uLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxDMTRORG9jU2F2ZVRvJykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxDMTRORG9jU2F2ZVRvJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCiAgICAgIGQgIG5vZGVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlU2V0UHRyKQotICAgICBkICBtb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIG1vZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogICAgICBkICBpbmNsdXNpdmVfbnNfcHJlZml4ZXMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sQ2hhciAqKCopCi0gICAgIGQgIHdpdGhfY29tbWVudHMgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICBvcHRpb25zKCpvbWl0KSAgICAgICAgICAgICAgICAgICAgICAgeG1sQ2hhciAqKCopCisgICAgIGQgIHdpdGhfY29tbWVudHMgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogICAgICBkICBidWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sT3V0cHV0QnVmZmVyUHRyKQogCiAgICAgIGQgeG1sQzE0TkRvY0R1bXBNZW1vcnkuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxDMTRORG9jRHVtcE1lbW9yeScpCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQzE0TkRvY0R1bXBNZW1vcnknKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKICAgICAgZCAgbm9kZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVTZXRQdHIpCi0gICAgIGQgIG1vZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgbW9kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGluY2x1c2l2ZV9uc19wcmVmaXhlcy4uLgotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxDaGFyICooKikKLSAgICAgZCAgd2l0aF9jb21tZW50cyAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIG9wdGlvbnMoKm9taXQpICAgICAgICAgICAgICAgICAgICAgICB4bWxDaGFyICooKikKKyAgICAgZCAgd2l0aF9jb21tZW50cyAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGRvY190eHRfcHRyICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbENoYXIgKigqKQogCi0gICAgIGQgeG1sQzE0TkRvY1NhdmUgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sQzE0TkRvY1NhdmUnKQorICAgICBkIHhtbEMxNE5Eb2NTYXZlICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEMxNE5Eb2NTYXZlJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCiAgICAgIGQgIG5vZGVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlU2V0UHRyKQotICAgICBkICBtb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIG1vZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogICAgICBkICBpbmNsdXNpdmVfbnNfcHJlZml4ZXMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sQ2hhciAqKCopCi0gICAgIGQgIHdpdGhfY29tbWVudHMgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICBvcHRpb25zKCpvbWl0KSAgICAgICAgICAgICAgICAgICAgICAgeG1sQ2hhciAqKCopCisgICAgIGQgIHdpdGhfY29tbWVudHMgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogICAgICBkICBmaWxlbmFtZSAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgY29tcHJlc3Npb24gICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBjb21wcmVzc2lvbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICAgKiBUaGlzIGlzIHRoZSBjb3JlIEMxNE4gZnVuY3Rpb24KIApAQCAtMTAzLDE1ICsxMDgsMTYgQEAKICAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2NwdHIKIAotICAgICBkIHhtbEMxNE5FeGVjdXRlICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbEMxNE5FeGVjdXRlJykKKyAgICAgZCB4bWxDMTRORXhlY3V0ZSAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxDMTRORXhlY3V0ZScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQogICAgICBkICBpc192aXNpYmxlX2NhbGxiYWNrLi4uCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDMTROSXNWaXNpYmxlQ2FsbGJhY2spCiAgICAgIGQgIHVzZXJfZGF0YSAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgotICAgICBkICBtb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIG1vZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogICAgICBkICBpbmNsdXNpdmVfbnNfcHJlZml4ZXMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sQ2hhciAqKCopCi0gICAgIGQgIHdpdGhfY29tbWVudHMgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICBvcHRpb25zKCpvbWl0KSAgICAgICAgICAgICAgICAgICAgICAgeG1sQ2hhciAqKCopCisgICAgIGQgIHdpdGhfY29tbWVudHMgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogICAgICBkICBidWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sT3V0cHV0QnVmZmVyUHRyKQogCiAgICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhNTF9PVVRQVVRfRU5BQkxECmRpZmYgLS1naXQgYS9vczQwMC9saWJ4bWxycGcvY2F0YWxvZy5ycGdsZSBiL29zNDAwL2xpYnhtbHJwZy9jYXRhbG9nLnJwZ2xlCmluZGV4IDUyYmFmNGUuLjFkYWI4MTkgMTAwNjQ0Ci0tLSBhL29zNDAwL2xpYnhtbHJwZy9jYXRhbG9nLnJwZ2xlCisrKyBiL29zNDAwL2xpYnhtbHJwZy9jYXRhbG9nLnJwZ2xlCkBAIC0xNiwxMSArMTYsMTMgQEAKICAgICAgIC9kZWZpbmUgWE1MX0NBVEFMT0dfSF9fCiAKICAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveG1sdmVyc2lvbiIKLSAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveG1sc3RyaW5nIgotICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy90cmVlIgogCiAgICAgICAvaWYgZGVmaW5lZChMSUJYTUxfQ0FUQUxPR19FTkFCTEVEKQogCisgICAgICAvaW5jbHVkZSAibGlieG1scnBnL3htbFR5cGVzQyIKKyAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveG1sc3RyaW5nIgorICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy90cmVlIgorCiAgICAgICAqIFhNTF9DQVRBTE9HU19OQU1FU1BBQ0U6CiAgICAgICAqCiAgICAgICAqIFRoZSBuYW1lc3BhY2UgZm9yIHRoZSBYTUwgQ2F0YWxvZ3MgZWxlbWVudHMuCkBAIC0zOCw3ICs0MCw4IEBACiAgICAgICAqIFRoZSBBUEkgaXMgdm9sdW50YXJpbHkgbGltaXRlZCB0byBnZW5lcmFsIGNhdGFsb2dpbmcuCiAKICAgICAgZCB4bWxDYXRhbG9nUHJlZmVyLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgMTB1IDAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykgICAgICAgICAgIGVudW0gdHlwZQorICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgICAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDZW51bSkKICAgICAgZCBYTUxfQ0FUQV9QUkVGRVJfTk9ORS4uLgogICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDAKICAgICAgZCBYTUxfQ0FUQV9QUkVGRVJfUFVCTElDLi4uCkBAIC00Nyw3ICs1MCw4IEBACiAgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMgogCiAgICAgIGQgeG1sQ2F0YWxvZ0FsbG93Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgMTB1IDAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykgICAgICAgICAgIGVudW0gdHlwZQorICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgICAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDZW51bSkKICAgICAgZCBYTUxfQ0FUQV9BTExPV19OT05FLi4uCiAgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMAogICAgICBkIFhNTF9DQVRBX0FMTE9XX0dMT0JBTC4uLgpAQCAtNjMsNyArNjcsNyBAQAogCiAgICAgIGQgeG1sTmV3Q2F0YWxvZyAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sTmV3Q2F0YWxvZycpCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDYXRhbG9nUHRyKQotICAgICBkICBzZ21sICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIHNnbWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sTG9hZEFDYXRhbG9nLi4uCiAgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sTG9hZEFDYXRhbG9nJykKQEAgLTc2LDE3ICs4MCwyMCBAQAogICAgICBkICBmaWxlbmFtZSAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKIAogICAgICBkIHhtbENvbnZlcnRTR01MQ2F0YWxvZy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbENvbnZlcnRTR01MQ2F0YWxvZycpCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQ29udmVydFNHTUxDYXRhbG9nJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGNhdGFsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDYXRhbG9nUHRyKQogCi0gICAgIGQgeG1sQUNhdGFsb2dBZGQgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sQUNhdGFsb2dBZGQnKQorICAgICBkIHhtbEFDYXRhbG9nQWRkICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEFDYXRhbG9nQWRkJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGNhdGFsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDYXRhbG9nUHRyKQogICAgICBkICB0eXBlICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKICAgICAgZCAgb3JpZyAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCiAgICAgIGQgIHJlcGxhY2UgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgogCiAgICAgIGQgeG1sQUNhdGFsb2dSZW1vdmUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxBQ2F0YWxvZ1JlbW92ZScpCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQUNhdGFsb2dSZW1vdmUnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgY2F0YWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENhdGFsb2dQdHIpCiAgICAgIGQgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgogCkBAIC0xMjIsNyArMTI5LDggQEAKICAgICAgZCAgY2F0YWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENhdGFsb2dQdHIpCiAKICAgICAgZCB4bWxDYXRhbG9nSXNFbXB0eS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbENhdGFsb2dJc0VtcHR5JykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxDYXRhbG9nSXNFbXB0eScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBjYXRhbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2F0YWxvZ1B0cikKIAogICAgICAgKiBHbG9iYWwgb3BlcmF0aW9ucy4KQEAgLTEzMCw3ICsxMzgsOCBAQAogICAgICBkIHhtbEluaXRpYWxpemVDYXRhbG9nLi4uCiAgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sSW5pdGlhbGl6ZUNhdGFsb2cnKQogCi0gICAgIGQgeG1sTG9hZENhdGFsb2cgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sTG9hZENhdGFsb2cnKQorICAgICBkIHhtbExvYWRDYXRhbG9nICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbExvYWRDYXRhbG9nJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGZpbGVuYW1lICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgogCiAgICAgIGQgeG1sTG9hZENhdGFsb2dzLi4uCkBAIC0xNjIsMTMgKzE3MSwxNSBAQAogICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbENhdGFsb2dSZXNvbHZlVVJJJykgICAgICB4bWxDaGFyICoKICAgICAgZCAgVVJJICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCiAKLSAgICAgZCB4bWxDYXRhbG9nQWRkICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxDYXRhbG9nQWRkJykKKyAgICAgZCB4bWxDYXRhbG9nQWRkICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxDYXRhbG9nQWRkJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIHR5cGUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgogICAgICBkICBvcmlnICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKICAgICAgZCAgcmVwbGFjZSAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCiAKICAgICAgZCB4bWxDYXRhbG9nUmVtb3ZlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sQ2F0YWxvZ1JlbW92ZScpCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQ2F0YWxvZ1JlbW92ZScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKIAogICAgICBkIHhtbFBhcnNlQ2F0YWxvZ0ZpbGUuLi4KQEAgLTE3Nyw3ICsxODgsOCBAQAogICAgICBkICBmaWxlbmFtZSAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKIAogICAgICBkIHhtbENhdGFsb2dDb252ZXJ0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sQ2F0YWxvZ0NvbnZlcnQnKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbENhdGFsb2dDb252ZXJ0JykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAKICAgICAgICogU3RyaWN0bHkgbWluaW1hbCBpbnRlcmZhY2VzIGZvciBwZXItZG9jdW1lbnQgY2F0YWxvZ3MgdXNlZAogICAgICAgKiBieSB0aGUgcGFyc2VyLgpAQCAtMjA1LDggKzIxNyw5IEBACiAgICAgICAqIFByZWZlcmVuY2Ugc2V0dGluZ3MuCiAKICAgICAgZCB4bWxDYXRhbG9nU2V0RGVidWcuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxDYXRhbG9nU2V0RGVidWcnKQotICAgICBkICBsZXZlbCAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQ2F0YWxvZ1NldERlYnVnJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCisgICAgIGQgIGxldmVsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sQ2F0YWxvZ1NldERlZmF1bHRQcmVmZXIuLi4KICAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxDYXRhbG9nU2V0RGVmYXVsdFByZWZlcicpCmRpZmYgLS1naXQgYS9vczQwMC9saWJ4bWxycGcvY2h2YWxpZC5ycGdsZSBiL29zNDAwL2xpYnhtbHJwZy9jaHZhbGlkLnJwZ2xlCmluZGV4IDQ0NGQxY2IuLmM2MDE0NDIgMTAwNjQ0Ci0tLSBhL29zNDAwL2xpYnhtbHJwZy9jaHZhbGlkLnJwZ2xlCisrKyBiL29zNDAwL2xpYnhtbHJwZy9jaHZhbGlkLnJwZ2xlCkBAIC0yNiw4ICsyNiw4IEBACiAKICAgICAgZCB4bWxDaExSYW5nZSAgICAgZHMgICAgICAgICAgICAgICAgICBiYXNlZCh4bWxDaExSYW5nZVB0cikKICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGlnbiBxdWFsaWZpZWQKLSAgICAgZCAgbG93ICAgICAgICAgICAgICAgICAgICAgICAgICAxMHUgMAotICAgICBkICBoaWdoICAgICAgICAgICAgICAgICAgICAgICAgIDEwdSAwCisgICAgIGQgIGxvdyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDdWludCkKKyAgICAgZCAgaGlnaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEN1aW50KQogCiAgICAgIGQgeG1sQ2hSYW5nZUdyb3VwUHRyLi4uCiAgICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKQEAgLTM1LDE1ICszNSwxNiBAQAogICAgICBkIHhtbENoUmFuZ2VHcm91cC4uLgogICAgICBkICAgICAgICAgICAgICAgICBkcyAgICAgICAgICAgICAgICAgIGJhc2VkKHhtbENoUmFuZ2VHcm91cFB0cikKICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGlnbiBxdWFsaWZpZWQKLSAgICAgZCAgbmJTaG9ydFJhbmdlICAgICAgICAgICAgICAgICAxMGkgMAotICAgICBkICBuYkxvbmdSYW5nZSAgICAgICAgICAgICAgICAgIDEwaSAwCisgICAgIGQgIG5iU2hvcnRSYW5nZSAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQorICAgICBkICBuYkxvbmdSYW5nZSAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgc2hvcnRSYW5nZSAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENoU1JhbmdlUHRyKQogICAgICBkICBsb25nUmFuZ2UgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2hMUmFuZ2VQdHIpCiAKICAgICAgICogUmFuZ2UgY2hlY2tpbmcgcm91dGluZQogCi0gICAgIGQgeG1sQ2hhckluUmFuZ2UgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sQ2hhckluUmFuZ2UnKQotICAgICBkIHZhbCAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwdSAwIHZhbHVlCisgICAgIGQgeG1sQ2hhckluUmFuZ2UgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQ2hhckluUmFuZ2UnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKKyAgICAgZCB2YWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEN1aW50KQogICAgICBkIGdyb3VwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2hSYW5nZUdyb3VwUHRyKSAgICAgICAgICAgICBjb25zdAogCiAgICAgIGQgeG1sSXNCYXNlQ2hhckdyb3VwLi4uCkBAIC03MCwyOSArNzEsMzcgQEAKICAgICAgZCAgICAgICAgICAgICAgICAgZHMgICAgICAgICAgICAgICAgICBpbXBvcnQoJ3htbElzSWRlb2dyYXBoaWNHcm91cCcpCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZWRzKHhtbENoUmFuZ2VHcm91cCkgICAgICAgICAgICAgIGNvbnN0CiAKLSAgICAgZCB4bWxJc0Jhc2VDaGFyICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxJc0Jhc2VDaGFyJykKLSAgICAgZCBjaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMHUgMCB2YWx1ZQorICAgICBkIHhtbElzQmFzZUNoYXIgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbElzQmFzZUNoYXInKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKKyAgICAgZCBjaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEN1aW50KQogCi0gICAgIGQgeG1sSXNCbGFuayAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sSXNCbGFuaycpCi0gICAgIGQgY2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgMTB1IDAgdmFsdWUKKyAgICAgZCB4bWxJc0JsYW5rICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxJc0JsYW5rJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCisgICAgIGQgY2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDdWludCkKIAotICAgICBkIHhtbElzQ2hhciAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbElzQ2hhcicpCi0gICAgIGQgY2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgMTB1IDAgdmFsdWUKKyAgICAgZCB4bWxJc0NoYXIgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxJc0NoYXInKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKKyAgICAgZCBjaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEN1aW50KQogCi0gICAgIGQgeG1sSXNDb21iaW5pbmcgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sSXNDb21iaW5pbmcnKQotICAgICBkIGNoICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwdSAwIHZhbHVlCisgICAgIGQgeG1sSXNDb21iaW5pbmcgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sSXNDb21iaW5pbmcnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKKyAgICAgZCBjaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEN1aW50KQogCi0gICAgIGQgeG1sSXNEaWdpdCAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sSXNEaWdpdCcpCi0gICAgIGQgY2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgMTB1IDAgdmFsdWUKKyAgICAgZCB4bWxJc0RpZ2l0ICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxJc0RpZ2l0JykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCisgICAgIGQgY2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDdWludCkKIAotICAgICBkIHhtbElzRXh0ZW5kZXIgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbElzRXh0ZW5kZXInKQotICAgICBkIGNoICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwdSAwIHZhbHVlCisgICAgIGQgeG1sSXNFeHRlbmRlciAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sSXNFeHRlbmRlcicpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQorICAgICBkIGNoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ3VpbnQpCiAKICAgICAgZCB4bWxJc0lkZW9ncmFwaGljLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sSXNJZGVvZ3JhcGhpYycpCi0gICAgIGQgY2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgMTB1IDAgdmFsdWUKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxJc0lkZW9ncmFwaGljJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCisgICAgIGQgY2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDdWludCkKIAotICAgICBkIHhtbElzUHViaWRDaGFyICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbElzUHViaWRDaGFyJykKLSAgICAgZCBjaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMHUgMCB2YWx1ZQorICAgICBkIHhtbElzUHViaWRDaGFyICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbElzUHViaWRDaGFyJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCisgICAgIGQgY2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDdWludCkKIAogICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYTUxfQ0hWQUxJRF9IX18KZGlmZiAtLWdpdCBhL29zNDAwL2xpYnhtbHJwZy9kZWJ1Z1hNTC5ycGdsZSBiL29zNDAwL2xpYnhtbHJwZy9kZWJ1Z1hNTC5ycGdsZQppbmRleCA1MDA1YTJkLi44MTgyNmJjIDEwMDY0NAotLS0gYS9vczQwMC9saWJ4bWxycGcvZGVidWdYTUwucnBnbGUKKysrIGIvb3M0MDAvbGlieG1scnBnL2RlYnVnWE1MLnJwZ2xlCkBAIC0xMCwxMCArMTAsMTEgQEAKICAgICAgIC9kZWZpbmUgREVCVUdfWE1MX18KIAogICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWx2ZXJzaW9uIgotICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy90cmVlIgogCiAgICAgICAvaWYgZGVmaW5lZChMSUJYTUxfREVCVUdfRU5BQkxFRCkKIAorICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWxUeXBlc0MiCisgICAgICAvaW5jbHVkZSAibGlieG1scnBnL3RyZWUiCiAgICAgICAvaW5jbHVkZSAibGlieG1scnBnL3hwYXRoIgogCiAgICAgICAqIFRoZSBzdGFuZGFyZCBEdW1wIHJvdXRpbmVzLgpAQCAtMjcsMzEgKzI4LDMxIEBACiAgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sRGVidWdEdW1wQXR0cicpCiAgICAgIGQgIG91dHB1dCAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZJTEUgKgogICAgICBkICBhdHRyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQXR0clB0cikKLSAgICAgZCAgZGVwdGggICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBkZXB0aCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIHhtbERlYnVnRHVtcEF0dHJMaXN0Li4uCiAgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sRGVidWdEdW1wQXR0ckxpc3QnKQogICAgICBkICBvdXRwdXQgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGSUxFICoKICAgICAgZCAgYXR0ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEF0dHJQdHIpCi0gICAgIGQgIGRlcHRoICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgZGVwdGggICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxEZWJ1Z0R1bXBPbmVOb2RlLi4uCiAgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sRGVidWdEdW1wT25lTm9kZScpCiAgICAgIGQgIG91dHB1dCAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZJTEUgKgogICAgICBkICBub2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKLSAgICAgZCAgZGVwdGggICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBkZXB0aCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIHhtbERlYnVnRHVtcE5vZGUuLi4KICAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxEZWJ1Z0R1bXBOb2RlJykKICAgICAgZCAgb3V0cHV0ICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRklMRSAqCiAgICAgIGQgIG5vZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQotICAgICBkICBkZXB0aCAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIGRlcHRoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sRGVidWdEdW1wTm9kZUxpc3QuLi4KICAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxEZWJ1Z0R1bXBOb2RlTGlzdCcpCiAgICAgIGQgIG91dHB1dCAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZJTEUgKgogICAgICBkICBub2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKLSAgICAgZCAgZGVwdGggICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBkZXB0aCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIHhtbERlYnVnRHVtcERvY3VtZW50SGVhZC4uLgogICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbERlYnVnRHVtcERvY3VtZW50SGVhZCcpCkBAIC04MCw3ICs4MSw4IEBACiAgICAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAKICAgICAgZCB4bWxEZWJ1Z0NoZWNrRG9jdW1lbnQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxEZWJ1Z0NoZWNrRG9jdW1lbnQnKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbERlYnVnQ2hlY2tEb2N1bWVudCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBvdXRwdXQgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGSUxFICoKICAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKIApAQCAtOTQsMTEgKzk2LDEyIEBACiAgICAgIGQgIG91dHB1dCAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZJTEUgKgogICAgICBkICBub2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKIAotICAgICBkIHhtbExzQ291bnROb2RlICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbExzQ291bnROb2RlJykKKyAgICAgZCB4bWxMc0NvdW50Tm9kZSAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxMc0NvdW50Tm9kZScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBub2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKIAogICAgICBkIHhtbEJvb2xUb1RleHQgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbEJvb2xUb1RleHQnKSAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgYm9vbHZhbCAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBib29sdmFsICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKgpAQCAtMTMzLDcgKzEzNiw3IEBACiAgICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxEb2NQdHIpCiAgICAgIGQgIG5vZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOb2RlUHRyKQogICAgICBkICBwY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sWFBhdGhDb250ZXh0UHRyKQotICAgICBkICBsb2FkZWQgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwCisgICAgIGQgIGxvYWRlZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBvdXRwdXQgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGSUxFICoKICAgICAgZCAgaW5wdXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNoZWxsUmVhZGxpbmVGdW5jKQogCkBAIC0xNTIsMzIgKzE1NSwzNiBAQAogCiAgICAgIGQgeG1sU2hlbGxQcmludFhQYXRoRXJyb3IuLi4KICAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTaGVsbFByaW50WFBhdGhFcnJvcicpCi0gICAgIGQgIGVycm9yVHlwZSAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgZXJyb3JUeXBlICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGFyZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgogCiAgICAgIGQgeG1sU2hlbGxQcmludFhQYXRoUmVzdWx0Li4uCiAgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU2hlbGxQcmludFhQYXRoUmVzdWx0JykKICAgICAgZCAgbGlzdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoT2JqZWN0UHRyKQogCi0gICAgIGQgeG1sU2hlbGxMaXN0ICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sU2hlbGxMaXN0JykKKyAgICAgZCB4bWxTaGVsbExpc3QgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTaGVsbExpc3QnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNoZWxsQ3R4dFB0cikKICAgICAgZCAgYXJnICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY2hhciAqCiAgICAgIGQgIG5vZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQogICAgICBkICBub2RlMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKIAotICAgICBkIHhtbFNoZWxsQmFzZSAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFNoZWxsQmFzZScpCisgICAgIGQgeG1sU2hlbGxCYXNlICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU2hlbGxCYXNlJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTaGVsbEN0eHRQdHIpCiAgICAgIGQgIGFyZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNoYXIgKgogICAgICBkICBub2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKICAgICAgZCAgbm9kZTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCiAKLSAgICAgZCB4bWxTaGVsbERpciAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxTaGVsbERpcicpCisgICAgIGQgeG1sU2hlbGxEaXIgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU2hlbGxEaXInKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNoZWxsQ3R4dFB0cikKICAgICAgZCAgYXJnICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY2hhciAqCiAgICAgIGQgIG5vZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQogICAgICBkICBub2RlMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKIAotICAgICBkIHhtbFNoZWxsTG9hZCAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFNoZWxsTG9hZCcpCisgICAgIGQgeG1sU2hlbGxMb2FkICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU2hlbGxMb2FkJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTaGVsbEN0eHRQdHIpCiAgICAgIGQgIGZpbGVuYW1lICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNoYXIgKgogICAgICBkICBub2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKQEAgLTE4OCwxOSArMTk1LDIyIEBACiAgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU2hlbGxQcmludE5vZGUnKQogICAgICBkICBub2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKIAotICAgICBkIHhtbFNoZWxsQ2F0ICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFNoZWxsQ2F0JykKKyAgICAgZCB4bWxTaGVsbENhdCAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTaGVsbENhdCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU2hlbGxDdHh0UHRyKQogICAgICBkICBhcmcgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjaGFyICoKICAgICAgZCAgbm9kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCiAgICAgIGQgIG5vZGUyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQogCi0gICAgIGQgeG1sU2hlbGxXcml0ZSAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sU2hlbGxXcml0ZScpCisgICAgIGQgeG1sU2hlbGxXcml0ZSAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU2hlbGxXcml0ZScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU2hlbGxDdHh0UHRyKQogICAgICBkICBmaWxlbmFtZSAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjaGFyICoKICAgICAgZCAgbm9kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCiAgICAgIGQgIG5vZGUyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQogCi0gICAgIGQgeG1sU2hlbGxTYXZlICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sU2hlbGxTYXZlJykKKyAgICAgZCB4bWxTaGVsbFNhdmUgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTaGVsbFNhdmUnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNoZWxsQ3R4dFB0cikKICAgICAgZCAgZmlsZW5hbWUgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY2hhciAqCiAgICAgIGQgIG5vZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQpAQCAtMjA5LDIwICsyMTksMjMgQEAKIAogICAgICAgL2lmIGRlZmluZWQoTElCWE1MX1ZBTElEX0VOQUJMRUQpCiAgICAgIGQgeG1sU2hlbGxWYWxpZGF0ZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFNoZWxsVmFsaWRhdGUnKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNoZWxsVmFsaWRhdGUnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNoZWxsQ3R4dFB0cikKICAgICAgZCAgZHRkICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY2hhciAqCiAgICAgIGQgIG5vZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQogICAgICBkICBub2RlMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKICAgICAgIC9lbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTElCWE1MX1ZBTElEX0VOQUJMRUQKIAotICAgICBkIHhtbFNoZWxsRHUgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFNoZWxsRHUnKQorICAgICBkIHhtbFNoZWxsRHUgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNoZWxsRHUnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNoZWxsQ3R4dFB0cikKICAgICAgZCAgYXJnICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY2hhciAqCiAgICAgIGQgIHRyZWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQogICAgICBkICBub2RlMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKIAotICAgICBkIHhtbFNoZWxsUHdkICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFNoZWxsUHdkJykKKyAgICAgZCB4bWxTaGVsbFB3ZCAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTaGVsbFB3ZCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU2hlbGxDdHh0UHRyKQogICAgICBkICBidWZmZXIgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjaGFyICoKICAgICAgZCAgbm9kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCmRpZmYgLS1naXQgYS9vczQwMC9saWJ4bWxycGcvZGljdC5ycGdsZSBiL29zNDAwL2xpYnhtbHJwZy9kaWN0LnJwZ2xlCmluZGV4IGJjYjY1NzYuLmMwNjFlNGMgMTAwNjQ0Ci0tLSBhL29zNDAwL2xpYnhtbHJwZy9kaWN0LnJwZ2xlCisrKyBiL29zNDAwL2xpYnhtbHJwZy9kaWN0LnJwZ2xlCkBAIC05LDE4ICs5LDE5IEBACiAgICAgICAvaWYgbm90IGRlZmluZWQoWE1MX0RJQ1RfSF9fKQogICAgICAgL2RlZmluZSBYTUxfRElDVF9IX18KIAotICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWx2ZXJzaW9uIgotICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWxUeXBlc0MiCi0gICAgICAvaW5jbHVkZSAibGlieG1scnBnL3RyZWUiCi0KICAgICAgICogVGhlIGRpY3Rpb25hcnkuCiAKICAgICAgZCB4bWxEaWN0UHRyICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQogCisgICAgICAvaW5jbHVkZSAibGlieG1scnBnL3htbHZlcnNpb24iCisgICAgICAvaW5jbHVkZSAibGlieG1scnBnL3htbFR5cGVzQyIKKyAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcvdHJlZSIKKwogICAgICAgKiBJbml0aWFsaXplcgogCiAgICAgIGQgeG1sSW5pdGlhbGl6ZURpY3QuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxJbml0aWFsaXplRGljdCcpCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sSW5pdGlhbGl6ZURpY3QnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKIAogICAgICAgKiBDb25zdHJ1Y3RvciBhbmQgZGVzdHJ1Y3Rvci4KIApAQCAtNDQsNyArNDUsOCBAQAogICAgICBkICBzdWIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRGljdFB0cikKIAogICAgICBkIHhtbERpY3RSZWZlcmVuY2UuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxEaWN0R2V0UmVmZXJlbmNlJykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxEaWN0R2V0UmVmZXJlbmNlJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGRpY3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEaWN0UHRyKQogCiAgICAgIGQgeG1sRGljdEZyZWUgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sRGljdEZyZWUnKQpAQCAtNTUsMjMgKzU3LDI1IEBACiAgICAgIGQgeG1sRGljdExvb2t1cCAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sRGljdExvb2t1cCcpICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgogICAgICBkICBkaWN0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRGljdFB0cikKICAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIGxlbiAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgbGVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxEaWN0RXhpc3RzICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxEaWN0RXhpc3RzJykgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCiAgICAgIGQgIGRpY3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEaWN0UHRyKQogICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgbGVuICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIHhtbERpY3RRTG9va3VwICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbERpY3RRTG9va3VwJykgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKICAgICAgZCAgZGljdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERpY3RQdHIpCiAgICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgogICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKIAotICAgICBkIHhtbERpY3RPd25zICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbERpY3RPd25zJykKKyAgICAgZCB4bWxEaWN0T3ducyAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxEaWN0T3ducycpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBkaWN0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRGljdFB0cikKICAgICAgZCAgc3RyICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCiAKLSAgICAgZCB4bWxEaWN0U2l6ZSAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxEaWN0U2l6ZScpCisgICAgIGQgeG1sRGljdFNpemUgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sRGljdFNpemUnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgZGljdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERpY3RQdHIpCiAKICAgICAgICogQ2xlYW51cCBmdW5jdGlvbgpkaWZmIC0tZ2l0IGEvb3M0MDAvbGlieG1scnBnL2VuY29kaW5nLnJwZ2xlIGIvb3M0MDAvbGlieG1scnBnL2VuY29kaW5nLnJwZ2xlCmluZGV4IGMwZWQ3ZTYuLjgxNTNmM2MgMTAwNjQ0Ci0tLSBhL29zNDAwL2xpYnhtbHJwZy9lbmNvZGluZy5ycGdsZQorKysgYi9vczQwMC9saWJ4bWxycGcvZW5jb2RpbmcucnBnbGUKQEAgLTIxLDYgKzIxLDcgQEAKICAgICAgIC9kZWZpbmUgWE1MX0NIQVJfRU5DT0RJTkdfSF9fCiAKICAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveG1sdmVyc2lvbiIKKyAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveG1sVHlwZXNDIgogCiAgICAgICAqIHhtbENoYXJFbmNvZGluZzoKICAgICAgICoKQEAgLTQzLDcgKzQ0LDggQEAKICAgICAgICogdGhlIHNwZWNpZmljIFVURi0xNkxFIGFuZCBVVEYtMTZCRSBhcmUgcHJlc2VudC4KIAogICAgICBkIHhtbENoYXJFbmNvZGluZy4uLgotICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgIDEwaSAwIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpICAgICAgICAgICBlbnVtCisgICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAgICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENlbnVtKQogICAgICBkICBYTUxfQ0hBUl9FTkNPRElOR19FUlJPUi4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBObyBlbmNvZGluZyBkZXRlY3RlZAogICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIC0xCiAgICAgIGQgIFhNTF9DSEFSX0VOQ09ESU5HX05PTkUuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5vIGVuY29kaW5nIGRldGVjdGVkCkBAIC0yMDAsMTIgKzIwMiwxNCBAQAogICAgICAgKiBJbnRlcmZhY2VzIGZvciBlbmNvZGluZyBuYW1lcyBhbmQgYWxpYXNlcy4KIAogICAgICBkIHhtbEFkZEVuY29kaW5nQWxpYXMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxBZGRFbmNvZGluZ0FsaWFzJykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxBZGRFbmNvZGluZ0FsaWFzJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgogICAgICBkICBhbGlhcyAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKIAogICAgICBkIHhtbERlbEVuY29kaW5nQWxpYXMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxEZWxFbmNvZGluZ0FsaWFzJykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxEZWxFbmNvZGluZ0FsaWFzJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGFsaWFzICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgogCiAgICAgIGQgeG1sR2V0RW5jb2RpbmdBbGlhcy4uLgpAQCAtMjMwLDQ1ICsyMzQsNTEgQEAKICAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxEZXRlY3RDaGFyRW5jb2RpbmcnKQogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2hhckVuY29kaW5nKQogICAgICBkICBpbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyKgotICAgICBkICBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIGxlbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sQ2hhckVuY091dEZ1bmMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxDaGFyRW5jT3V0RnVuYycpCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQ2hhckVuY091dEZ1bmMnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgaGFuZGxlciAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlZHMoeG1sQ2hhckVuY29kaW5nSGFuZGxlcikKICAgICAgZCAgb3V0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEJ1ZmZlclB0cikKICAgICAgZCAgaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEJ1ZmZlclB0cikKIAogICAgICBkIHhtbENoYXJFbmNJbkZ1bmMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxDaGFyRW5jSW5GdW5jJykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxDaGFyRW5jSW5GdW5jJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGhhbmRsZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZWRzKHhtbENoYXJFbmNvZGluZ0hhbmRsZXIpCiAgICAgIGQgIG91dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxCdWZmZXJQdHIpCiAgICAgIGQgIGluICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxCdWZmZXJQdHIpCiAKICAgICAgZCB4bWxDaGFyRW5jRmlyc3RMaW5lLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sQ2hhckVuY0ZpcnN0TGluZScpCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQ2hhckVuY0ZpcnN0TGluZScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBoYW5kbGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2Vkcyh4bWxDaGFyRW5jb2RpbmdIYW5kbGVyKQogICAgICBkICBvdXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQnVmZmVyUHRyKQogICAgICBkICBpbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQnVmZmVyUHRyKQogCiAgICAgIGQgeG1sQ2hhckVuY0Nsb3NlRnVuYy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbENoYXJFbmNDbG9zZUZ1bmMnKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbENoYXJFbmNDbG9zZUZ1bmMnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgaGFuZGxlciAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlZHMoeG1sQ2hhckVuY29kaW5nSGFuZGxlcikKIAogICAgICAgKiBFeHBvcnQgYSBmZXcgdXNlZnVsIGZ1bmN0aW9ucwogCiAgICAgICAvaWYgZGVmaW5lZChMSUJYTUxfT1VUUFVUX0VOQUJMRUQpCi0gICAgIGQgVVRGOFRvaXNvbGF0MSAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygnVVRGOFRvaXNvbGF0MScpCisgICAgIGQgVVRGOFRvaXNvbGF0MSAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnVVRGOFRvaXNvbGF0MScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBvdXQgICAgICAgICAgICAgICAgICAgICAgIDY1NTM1ICAgIG9wdGlvbnMoKnZhcnNpemUpICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyICgqKQotICAgICBkICBvdXRsZW4gICAgICAgICAgICAgICAgICAgICAgIDEwaSAwCisgICAgIGQgIG91dGxlbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBpbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyKgotICAgICBkICBpbmxlbiAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwCisgICAgIGQgIGlubGVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogCiAgICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhNTF9PVVRQVVRfRU5BQkxECiAKLSAgICAgZCBpc29sYXQxVG9VVEY4ICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCdpc29sYXQxVG9VVEY4JykKKyAgICAgZCBpc29sYXQxVG9VVEY4ICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdpc29sYXQxVG9VVEY4JykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIG91dCAgICAgICAgICAgICAgICAgICAgICAgNjU1MzUgICAgb3B0aW9ucygqdmFyc2l6ZSkgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIgKCopCi0gICAgIGQgIG91dGxlbiAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAKKyAgICAgZCAgb3V0bGVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGluICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIqCi0gICAgIGQgIGlubGVuICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAKKyAgICAgZCAgaW5sZW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAKICAgICAgIC9lbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWE1MX0NIQVJfRU5DT0RJTkdfSApkaWZmIC0tZ2l0IGEvb3M0MDAvbGlieG1scnBnL2VudGl0aWVzLnJwZ2xlIGIvb3M0MDAvbGlieG1scnBnL2VudGl0aWVzLnJwZ2xlCmluZGV4IDhkOTc5MTUuLmVlZWMxYjYgMTAwNjQ0Ci0tLSBhL29zNDAwL2xpYnhtbHJwZy9lbnRpdGllcy5ycGdsZQorKysgYi9vczQwMC9saWJ4bWxycGcvZW50aXRpZXMucnBnbGUKQEAgLTEwLDExICsxMCwxMyBAQAogICAgICAgL2RlZmluZSBYTUxfRU5USVRJRVNfSF9fCiAKICAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveG1sdmVyc2lvbiIKKyAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveG1sVHlwZXNDIgogICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy90cmVlIgogCiAgICAgICAqIFRoZSBkaWZmZXJlbnQgdmFsaWQgZW50aXR5IHR5cGVzLgogCi0gICAgIGQgeG1sRW50aXR5VHlwZSAgIHMgICAgICAgICAgICAgMTBpIDAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykgICAgICAgICAgIGVudW0KKyAgICAgZCB4bWxFbnRpdHlUeXBlICAgcyAgICAgICAgICAgICAgICAgICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2VudW0pCiAgICAgIGQgIFhNTF9JTlRFUk5BTF9HRU5FUkFMX0VOVElUWS4uLgogICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEKICAgICAgZCAgWE1MX0VYVEVSTkFMX0dFTkVSQUxfUEFSU0VEX0VOVElUWS4uLgpAQCAtNDQsMTQgKzQ2LDE0IEBACiAgICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxEb2NQdHIpICAgICAgICAgICAgICAgICAgICAgIGNvbnRhaW5pbmcgZG9jdW1lbnQKICAgICAgZCAgb3JpZyAgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sQ2hhciAqCiAgICAgIGQgIGNvbnRlbnQgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbENoYXIgKgotICAgICBkICBsZW5ndGggICAgICAgICAgICAgICAgICAgICAgIDEwaSAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50IGxlbmd0aAorICAgICBkICBsZW5ndGggICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50IGxlbmd0aAogICAgICBkICBldHlwZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRW50aXR5VHlwZSkgICAgICAgICAgICAgICAgICBUaGUgZW50aXR5IHR5cGUKICAgICAgZCAgRXh0ZXJuYWxJRCAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCiAgICAgIGQgIFN5c3RlbWxJRCAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgogICAgICBkICBuZXh0ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRW50aXR5UHRyKSAgICAgICAgICAgICAgICAgICB1bnVzZWQKICAgICAgZCAgVVJJICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIG93bmVyICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE93bnMgY2hpbGRyZW4gPwotICAgICBkICBjaGVja2VkICAgICAgICAgICAgICAgICAgICAgIDEwaSAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb250ZW50IGNoZWNrZWQgPworICAgICBkICBvd25lciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkgICAgICAgICAgICAgICAgICAgICAgICBPd25zIGNoaWxkcmVuID8KKyAgICAgZCAgY2hlY2tlZCAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpICAgICAgICAgICAgICAgICAgICAgICAgQ29udGVudCBjaGVja2VkID8KIAogICAgICAgKiBBbGwgZW50aXRpZXMgYXJlIHN0b3JlZCBpbiBhbiBoYXNoIHRhYmxlLgogICAgICAgKiBUaGVyZSBpcyAyIHNlcGFyYXRlIGhhc2ggdGFibGVzIGZvciBnbG9iYWwgYW5kIHBhcmFtZXRlciBlbnRpdGllcy4KQEAgLTcxLDcgKzczLDcgQEAKICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEVudGl0eVB0cikKICAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKICAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIHR5cGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgdHlwZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAgICAgIGQgIEV4dGVybmFsSUQgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgogICAgICBkICBTeXN0ZW1JRCAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKICAgICAgZCAgY29udGVudCAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCkBAIC04MSw3ICs4Myw3IEBACiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxFbnRpdHlQdHIpCiAgICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCiAgICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICB0eXBlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIHR5cGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogICAgICBkICBFeHRlcm5hbElEICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKICAgICAgZCAgU3lzdGVtSUQgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCiAgICAgIGQgIGNvbnRlbnQgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgpAQCAtOTEsNyArOTMsNyBAQAogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRW50aXR5UHRyKQogICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQogICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgdHlwZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICB0eXBlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgRXh0ZXJuYWxJRCAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCiAgICAgIGQgIFN5c3RlbUlEICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgogICAgICBkICBjb250ZW50ICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKZGlmZiAtLWdpdCBhL29zNDAwL2xpYnhtbHJwZy9nbG9iYWxzLnJwZ2xlIGIvb3M0MDAvbGlieG1scnBnL2dsb2JhbHMucnBnbGUKaW5kZXggZTUxMTgyZi4uM2ZlM2E5YiAxMDA2NDQKLS0tIGEvb3M0MDAvbGlieG1scnBnL2dsb2JhbHMucnBnbGUKKysrIGIvb3M0MDAvbGlieG1scnBnL2dsb2JhbHMucnBnbGUKQEAgLTEzLDYgKzEzLDcgQEAKICAgICAgIC9kZWZpbmUgWE1MX0dMT0JBTFNfSAogCiAgICAgICAvaW5jbHVkZSAibGlieG1scnBnL3htbHZlcnNpb24iCisgICAgICAvaW5jbHVkZSAibGlieG1scnBnL3htbFR5cGVzQyIKICAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcvcGFyc2VyIgogICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWxlcnJvciIKICAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcvU0FYIgpAQCAtMTEyLDMxICsxMTMsMzEgQEAKICAgICAgZCAgeG1sR2VuZXJpY0Vycm9yQ29udGV4dC4uLgogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKICAgICAgZCAgb2xkWE1MV0Rjb21wYXRpYmlsaXR5Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIHhtbEJ1ZmZlckFsbG9jU2NoZW1lLi4uCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxCdWZmZXJBbGxvY2F0aW9uU2NoZW1lKQogICAgICBkICB4bWxEZWZhdWx0QnVmZmVyU2l6ZS4uLgotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICB4bWxTdWJzdGl0dXRlRW50aXRpZXNEZWZhdWx0VmFsdWUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMAorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgeG1sRG9WYWxpZGl0eUNoZWNraW5nRGVmYXVsdFZhbHVlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIHhtbEdldFdhcm5pbmdzRGVmYXVsdFZhbHVlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIHhtbEtlZXBCbGFua3NEZWZhdWx0VmFsdWUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMAorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgeG1sTGluZU51bWJlcnNEZWZhdWx0VmFsdWUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMAorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgeG1sTG9hZEV4dER0ZERlZmF1bHRWYWx1ZS4uLgotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICB4bWxQYXJzZXJEZWJ1Z0VudGl0aWVzLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIHhtbFBlZGFudGljUGFyc2VyRGVmYXVsdFZhbHVlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIHhtbFNhdmVOb0VtcHR5VGFncy4uLgotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICB4bWxJbmRlbnRUcmVlT3V0cHV0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIHhtbFRyZWVJbmRlbnRTdHJpbmcuLi4KICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCiAgICAgIGQgIHhtbFJlZ2lzdGVyTm9kZURlZmF1bHRWYWx1ZS4uLgpAQCAtMjQ0LDEzICsyNDUsMTQgQEAKICAgICAgZCAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlZHMoeG1sRXJyb3IpCiAKICAgICAgZCBnZXRfb2xkWE1MV0Rjb21wYXRpYmlsaXR5Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ19fZ2V0X29sZFhNTFdEY29tcGF0aWJpbGl0eScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgc2V0X29sZFhNTFdEY29tcGF0aWJpbGl0eS4uLgogICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnX19zZXRfb2xkWE1MV0Rjb21wYXRpYmlsaXR5JykKLSAgICAgZCAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIGdldF94bWxCdWZmZXJBbGxvY1NjaGVtZS4uLgogICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ19fZ2V0X3htbEJ1ZmZlckFsbG9jU2NoZW1lJykKQEAgLTI2NiwxNSArMjY4LDE3IEBACiAgICAgIGQgIHYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxCdWZmZXJBbGxvY2F0aW9uU2NoZW1lKQogCiAgICAgIGQgZ2V0X3htbERlZmF1bHRCdWZmZXJTaXplLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygnX19nZXRfeG1sRGVmYXVsdEJ1ZmZlclNpemUnKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ19fZ2V0X3htbERlZmF1bHRCdWZmZXJTaXplJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAKICAgICAgZCBzZXRfeG1sRGVmYXVsdEJ1ZmZlclNpemUuLi4KICAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdfX3NldF94bWxEZWZhdWx0QnVmZmVyU2l6ZScpCi0gICAgIGQgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxUaHJEZWZEZWZhdWx0QnVmZmVyU2l6ZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFRockRlZkRlZmF1bHRCdWZmZXJTaXplJykKLSAgICAgZCAgdiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFRockRlZkRlZmF1bHRCdWZmZXJTaXplJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCisgICAgIGQgIHYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgZ2V0X3htbERlZmF1bHRTQVhIYW5kbGVyLi4uCiAgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnX19nZXRfeG1sRGVmYXVsdFNBWEhhbmRsZXInKQpAQCAtMjkzLDE4ICsyOTcsMjAgQEAKICAgICAgZCAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlZHMoeG1sU0FYTG9jYXRvcikKIAogICAgICBkIGdldF94bWxEb1ZhbGlkaXR5Q2hlY2tpbmdEZWZhdWx0VmFsdWUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCdfX2dldF94bWxEb1ZhbGlkaXR5KworICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ19fZ2V0X3htbERvVmFsaWRpdHkrCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDaGVja2luZ0RlZmF1bHRWYWx1ZScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgc2V0X3htbERvVmFsaWRpdHlDaGVja2luZ0RlZmF1bHRWYWx1ZS4uLgogICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ19fc2V0X3htbERvVmFsaWRpdHkrCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDaGVja2luZ0RlZmF1bHRWYWx1ZScpCi0gICAgIGQgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKLSAgICAKKyAgICAgZCAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCisKICAgICAgZCB4bWxUaHJEZWZEb1ZhbGlkaXR5Q2hlY2tpbmdEZWZhdWx0VmFsdWUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxUaHJEZWZEb1ZhbGlkaXR5KworICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFRockRlZkRvVmFsaWRpdHkrCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDaGVja2luZ0RlZmF1bHRWYWx1ZScpCi0gICAgIGQgIHYgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCisgICAgIGQgIHYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgZ2V0X3htbEdlbmVyaWNFcnJvci4uLgogICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ19fZ2V0X3htbEdlbmVyaWNFcnJvcicpCkBAIC0zMjUsNyArMzMxLDcgQEAKICAgICAgZCB4bWxTdHJ1Y3R1cmVkRXJyb3IuLi4KICAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdfX2NhbGxfeG1sU3RydWN0dXJlZEVycm9yJykKICAgICAgZCAgdXNlckRhdGEgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgdm9pZCAqCi0gICAgIGQgIGVycm9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxFcnJvclB0cikgCisgICAgIGQgIGVycm9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxFcnJvclB0cikKIAogICAgICBkIGdldF94bWxHZW5lcmljRXJyb3JDb250ZXh0Li4uCiAgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKQEAgLTM0OCwyOSArMzU0LDMzIEBACiAgICAgIGQgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIHZvaWQgKgogCiAgICAgIGQgZ2V0X3htbEdldFdhcm5pbmdzRGVmYXVsdFZhbHVlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ19fZ2V0X3htbEdldFdhcm5pbmdzRGVmYXVsdFZhbHVlJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAKICAgICAgZCBzZXRfeG1sR2V0V2FybmluZ3NEZWZhdWx0VmFsdWUuLi4KICAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ19fc2V0X3htbEdldFdhcm5pbmdzRGVmYXVsdFZhbHVlJykKLSAgICAgZCAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIHhtbFRockRlZkdldFdhcm5pbmdzRGVmYXVsdFZhbHVlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFRockRlZkdldFdhcm5pbmdzRGVmYXVsdFZhbHVlJykKLSAgICAgZCAgdiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKKyAgICAgZCAgdiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCBnZXRfeG1sSW5kZW50VHJlZU91dHB1dC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ19fZ2V0X3htbEluZGVudFRyZWVPdXRwdXQnKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ19fZ2V0X3htbEluZGVudFRyZWVPdXRwdXQnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIHNldF94bWxJbmRlbnRUcmVlT3V0cHV0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ19fc2V0X3htbEluZGVudFRyZWVPdXRwdXQnKQotICAgICBkICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnX19zZXRfeG1sSW5kZW50VHJlZU91dHB1dCcpCisgICAgIGQgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sVGhyRGVmSW5kZW50VHJlZU91dHB1dC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFRockRlZkluZGVudFRyZWVPdXRwdXQnKQotICAgICBkICB2ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVGhyRGVmSW5kZW50VHJlZU91dHB1dCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQorICAgICBkICB2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIGdldF94bWxUcmVlSW5kZW50U3RyaW5nLi4uCiAgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygnX19nZXRfeG1sVHJlZUluZGVudFN0cmluZycpIGNvbnN0IGNoYXIgKgpAQCAtMzc4LDY2ICszODgsNzQgQEAKICAgICAgZCBzZXRfeG1sVHJlZUluZGVudFN0cmluZy4uLgogICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ19fc2V0X3htbFRyZWVJbmRlbnRTdHJpbmcnKQogICAgICBkICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAKKwogICAgICBkIHhtbFRockRlZlRyZWVJbmRlbnRTdHJpbmcuLi4KICAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxUaHJEZWZUcmVlSW5kZW50U3RyaW5nJykgY29uc3QgY2hhciAqCiAgICAgIGQgIHYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgogCiAgICAgIGQgZ2V0X3htbEtlZXBCbGFua3NEZWZhdWx0VmFsdWUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKAotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ19fZ2V0X3htbEtlZXBCbGFua3NEZWZhdWx0VmFsdWUnKSAKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ19fZ2V0X3htbEtlZXBCbGFua3NEZWZhdWx0VmFsdWUnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIHNldF94bWxLZWVwQmxhbmtzRGVmYXVsdFZhbHVlLi4uCiAgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdfX3NldF94bWxLZWVwQmxhbmtzRGVmYXVsdFZhbHVlJykgCi0gICAgIGQgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdfX3NldF94bWxLZWVwQmxhbmtzRGVmYXVsdFZhbHVlJykKKyAgICAgZCAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxUaHJEZWZLZWVwQmxhbmtzRGVmYXVsdFZhbHVlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFRockRlZktlZXBCbGFua3NEZWZhdWx0VmFsdWUnKQotICAgICBkICB2ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQorICAgICBkICB2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIGdldF94bWxMaW5lTnVtYmVyc0RlZmF1bHRWYWx1ZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdfX2dldF94bWxMaW5lTnVtYmVyc0RlZmF1bHRWYWx1ZScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgc2V0X3htbExpbmVOdW1iZXJzRGVmYXVsdFZhbHVlLi4uCiAgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdfX3NldF94bWxMaW5lTnVtYmVyc0RlZmF1bHRWYWx1ZScpCi0gICAgIGQgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxUaHJEZWZMaW5lTnVtYmVyc0RlZmF1bHRWYWx1ZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxUaHJEZWZMaW5lTnVtYmVyc0RlZmF1bHRWYWx1ZScpCi0gICAgIGQgIHYgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCisgICAgIGQgIHYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgZ2V0X3htbExvYWRFeHREdGREZWZhdWx0VmFsdWUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnX19nZXRfeG1sTG9hZEV4dER0ZERlZmF1bHRWYWx1ZScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgc2V0X3htbExvYWRFeHREdGREZWZhdWx0VmFsdWUuLi4KICAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ19fc2V0X3htbExvYWRFeHREdGREZWZhdWx0VmFsdWUnKQotICAgICBkICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sVGhyRGVmTG9hZEV4dER0ZERlZmF1bHRWYWx1ZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxUaHJEZWZMb2FkRXh0RHRkRGVmYXVsdFZhbHVlJykKLSAgICAgZCAgdiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKKyAgICAgZCAgdiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCBnZXRfeG1sUGFyc2VyRGVidWdFbnRpdGllcy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdfX2dldF94bWxQYXJzZXJEZWJ1Z0VudGl0aWVzJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAKICAgICAgZCBzZXRfeG1sUGFyc2VyRGVidWdFbnRpdGllcy4uLgogICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnX19zZXRfeG1sUGFyc2VyRGVidWdFbnRpdGllcycpCi0gICAgIGQgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxUaHJEZWZQYXJzZXJEZWJ1Z0VudGl0aWVzLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFRockRlZlBhcnNlckRlYnVnRW50aXRpZXMnKQotICAgICBkICB2ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQorICAgICBkICB2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIGdldF94bWxQYXJzZXJWZXJzaW9uLi4uCiAgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygnX19nZXRfeG1sUGFyc2VyVmVyc2lvbicpICAgIGNvbnN0IGNoYXIgKgpAQCAtNDQ3LDQzICs0NjUsNDkgQEAKICAgICAgZCAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCiAKICAgICAgZCBnZXRfeG1sUGVkYW50aWNQYXJzZXJEZWZhdWx0VmFsdWUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCdfX2dldF94bWxQZWRhbnRpYysKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdfX2dldF94bWxQZWRhbnRpYysKICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhcnNlckRlZmF1bHRWYWx1ZScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgc2V0X3htbFBlZGFudGljUGFyc2VyRGVmYXVsdFZhbHVlLi4uCiAgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnX19zZXRfeG1sUGVkYW50aWMrCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQYXJzZXJEZWZhdWx0VmFsdWUnKQotICAgICBkICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sVGhyRGVmUGVkYW50aWNQYXJzZXJEZWZhdWx0VmFsdWUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxUaHJEZWZQZWRhbnRpYysKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxUaHJEZWZQZWRhbnRpYysKICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhcnNlckRlZmF1bHRWYWx1ZScpCi0gICAgIGQgIHYgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCisgICAgIGQgIHYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgZ2V0X3htbFNhdmVOb0VtcHR5VGFncy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ19fZ2V0X3htbFNhdmVOb0VtcHR5VGFncycpCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnX19nZXRfeG1sU2F2ZU5vRW1wdHlUYWdzJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAKICAgICAgZCBzZXRfeG1sU2F2ZU5vRW1wdHlUYWdzLi4uCiAgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnX19zZXRfeG1sU2F2ZU5vRW1wdHlUYWdzJykKLSAgICAgZCAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIHhtbFRockRlZlNhdmVOb0VtcHR5VGFncy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFRockRlZlNhdmVOb0VtcHR5VGFncycpCi0gICAgIGQgIHYgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxUaHJEZWZTYXZlTm9FbXB0eVRhZ3MnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKKyAgICAgZCAgdiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCBnZXRfeG1sU3Vic3RpdHV0ZUVudGl0aWVzRGVmYXVsdFZhbHVlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygnX19nZXRfeG1sU3Vic3RpdHV0ZSsKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdfX2dldF94bWxTdWJzdGl0dXRlKwogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRW50aXRpZXNEZWZhdWx0VmFsdWUnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIHNldF94bWxTdWJzdGl0dXRlRW50aXRpZXNEZWZhdWx0VmFsdWUuLi4KICAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdfX3NldF94bWxTdWJzdGl0dXRlKwogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRW50aXRpZXNEZWZhdWx0VmFsdWUnKQotICAgICBkICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sVGhyRGVmU3Vic3RpdHV0ZUVudGl0aWVzRGVmYXVsdFZhbHVlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVGhyRGVmU3Vic3RpdHV0ZSsKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxUaHJEZWZTdWJzdGl0dXRlKwogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRW50aXRpZXNEZWZhdWx0VmFsdWUnKQotICAgICBkICB2ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQorICAgICBkICB2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIGdldF94bWxSZWdpc3Rlck5vZGVEZWZhdWx0VmFsdWUuLi4KICAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdfX2dldF94bWxSZWdpc3Rlck5vZGUrCkBAIC01NTIsNiArNTc2LDYgQEAKICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE91dHB1dEJ1ZmZlclB0cikKICAgICAgZCAgVVJJICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCiAgICAgIGQgIGVuY29kZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyKQotICAgICBkICBjb21wcmVzc2lvbiAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIGNvbXByZXNzaW9uICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhNTF9HTE9CQUxTX0gKZGlmZiAtLWdpdCBhL29zNDAwL2xpYnhtbHJwZy9oYXNoLnJwZ2xlIGIvb3M0MDAvbGlieG1scnBnL2hhc2gucnBnbGUKaW5kZXggODY3Zjk4Zi4uYjIxNjlkZiAxMDA2NDQKLS0tIGEvb3M0MDAvbGlieG1scnBnL2hhc2gucnBnbGUKKysrIGIvb3M0MDAvbGlieG1scnBnL2hhc2gucnBnbGUKQEAgLTksNiArOSw4IEBACiAgICAgICAvaWYgbm90IGRlZmluZWQoWE1MX0hBU0hfSF9fKQogICAgICAgL2RlZmluZSBYTUxfSEFTSF9IX18KIAorICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWxUeXBlc0MiCisKICAgICAgICogVGhlIGhhc2ggdGFibGUuCiAKICAgICAgZCB4bWxIYXNoVGFibGVQdHIuLi4KQEAgLTY4LDEyICs3MCwxMiBAQAogCiAgICAgIGQgeG1sSGFzaENyZWF0ZSAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sSGFzaENyZWF0ZScpCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxIYXNoVGFibGVQdHIpCi0gICAgIGQgIHNpemUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxIYXNoQ3JlYXRlRGljdC4uLgogICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEhhc2hDcmVhdGVEaWN0JykKICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEhhc2hUYWJsZVB0cikKLSAgICAgZCAgc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBzaXplICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgZGljdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERpY3RQdHIpCiAKICAgICAgZCB4bWxIYXNoRnJlZSAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxIYXNoRnJlZScpCkBAIC04MywyNyArODUsMzEgQEAKICAgICAgICogQWRkIGEgbmV3IGVudHJ5IHRvIHRoZSBoYXNoIHRhYmxlLgogCiAgICAgIGQgeG1sSGFzaEFkZEVudHJ5Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sSGFzaEFkZEVudHJ5JykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxIYXNoQWRkRW50cnknKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgdGFibGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEhhc2hUYWJsZVB0cikKICAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCiAgICAgIGQgIHVzZXJkYXRhICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIHZvaWQgKgogCiAgICAgIGQgeG1sSGFzaFVwZGF0ZUVudHJ5Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sSGFzaFVwZGF0ZUVudHJ5JykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxIYXNoVXBkYXRlRW50cnknKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgdGFibGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEhhc2hUYWJsZVB0cikKICAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCiAgICAgIGQgIHVzZXJkYXRhICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIHZvaWQgKgogICAgICBkICBmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sSGFzaERlYWxsb2NhdG9yKQogCiAgICAgIGQgeG1sSGFzaEFkZEVudHJ5Mi4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbEhhc2hBZGRFbnRyeTInKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEhhc2hBZGRFbnRyeTInKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgdGFibGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEhhc2hUYWJsZVB0cikKICAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCiAgICAgIGQgIG5hbWUyICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgogICAgICBkICB1c2VyZGF0YSAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICB2b2lkICoKIAogICAgICBkIHhtbEhhc2hVcGRhdGVFbnRyeTIuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxIYXNoVXBkYXRlRW50cnkyJykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxIYXNoVXBkYXRlRW50cnkyJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIHRhYmxlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxIYXNoVGFibGVQdHIpCiAgICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgogICAgICBkICBuYW1lMiAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKQEAgLTExMSw3ICsxMTcsOCBAQAogICAgICBkICBmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sSGFzaERlYWxsb2NhdG9yKQogCiAgICAgIGQgeG1sSGFzaEFkZEVudHJ5My4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbEhhc2hBZGRFbnRyeTMnKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEhhc2hBZGRFbnRyeTMnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgdGFibGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEhhc2hUYWJsZVB0cikKICAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCiAgICAgIGQgIG5hbWUyICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgpAQCAtMTE5LDcgKzEyNiw4IEBACiAgICAgIGQgIHVzZXJkYXRhICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIHZvaWQgKgogCiAgICAgIGQgeG1sSGFzaFVwZGF0ZUVudHJ5My4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbEhhc2hVcGRhdGVFbnRyeTMnKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEhhc2hVcGRhdGVFbnRyeTMnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgdGFibGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEhhc2hUYWJsZVB0cikKICAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCiAgICAgIGQgIG5hbWUyICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgpAQCAtMTMwLDIwICsxMzgsMjMgQEAKICAgICAgICogUmVtb3ZlIGFuIGVudHJ5IGZyb20gdGhlIGhhc2ggdGFibGUuCiAKICAgICAgZCB4bWxIYXNoUmVtb3ZlRW50cnkuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxIYXNoUmVtb3ZlRW50cnknKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEhhc2hSZW1vdmVFbnRyeScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICB0YWJsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sSGFzaFRhYmxlUHRyKQogICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKICAgICAgZCAgZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEhhc2hEZWFsbG9jYXRvcikKIAogICAgICBkIHhtbEhhc2hSZW1vdmVFbnRyeTIuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxIYXNoUmVtb3ZlRW50cnkyJykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxIYXNoUmVtb3ZlRW50cnkyJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIHRhYmxlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxIYXNoVGFibGVQdHIpCiAgICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgogICAgICBkICBuYW1lMiAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKICAgICAgZCAgZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEhhc2hEZWFsbG9jYXRvcikKIAogICAgICBkIHhtbEhhc2hSZW1vdmVFbnRyeTMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxIYXNoUmVtb3ZlRW50cnkzJykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxIYXNoUmVtb3ZlRW50cnkzJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIHRhYmxlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxIYXNoVGFibGVQdHIpCiAgICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgogICAgICBkICBuYW1lMiAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKQEAgLTE5Nyw3ICsyMDgsOCBAQAogICAgICBkICB0YWJsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sSGFzaFRhYmxlUHRyKQogICAgICBkICBmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sSGFzaENvcGllcikKIAotICAgICBkIHhtbEhhc2hTaXplICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbEhhc2hTaXplJykKKyAgICAgZCB4bWxIYXNoU2l6ZSAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxIYXNoU2l6ZScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICB0YWJsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sSGFzaFRhYmxlUHRyKQogCiAgICAgIGQgeG1sSGFzaFNjYW4gICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sSGFzaFNjYW4nKQpkaWZmIC0tZ2l0IGEvb3M0MDAvbGlieG1scnBnL2xpc3QucnBnbGUgYi9vczQwMC9saWJ4bWxycGcvbGlzdC5ycGdsZQppbmRleCBjNjJmY2JkLi5jZTJmYTFjIDEwMDY0NAotLS0gYS9vczQwMC9saWJ4bWxycGcvbGlzdC5ycGdsZQorKysgYi9vczQwMC9saWJ4bWxycGcvbGlzdC5ycGdsZQpAQCAtMTAsNiArMTAsNyBAQAogICAgICAgL2RlZmluZSBYTUxfTElOS19JTkNMVURFX18KIAogICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWx2ZXJzaW9uIgorICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWxUeXBlc0MiCiAKICAgICAgZCB4bWxMaW5rUHRyICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQogCkBAIC02OCwzMyArNjksMzkgQEAKICAgICAgZCAgbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbExpc3RQdHIpCiAgICAgIGQgIGRhdGEgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgogCi0gICAgIGQgeG1sTGlzdEluc2VydCAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sTGlzdEluc2VydCcpCisgICAgIGQgeG1sTGlzdEluc2VydCAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sTGlzdEluc2VydCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTGlzdFB0cikKICAgICAgZCAgZGF0YSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCiAKLSAgICAgZCB4bWxMaXN0QXBwZW5kICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxMaXN0QXBwZW5kJykKKyAgICAgZCB4bWxMaXN0QXBwZW5kICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxMaXN0QXBwZW5kJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxMaXN0UHRyKQogICAgICBkICBkYXRhICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKIAogICAgICBkIHhtbExpc3RSZW1vdmVGaXJzdC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbExpc3RSZW1vdmVGaXJzdCcpCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sTGlzdFJlbW92ZUZpcnN0JykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxMaXN0UHRyKQogICAgICBkICBkYXRhICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKIAogICAgICBkIHhtbExpc3RSZW1vdmVMYXN0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sTGlzdFJlbW92ZUxhc3QnKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbExpc3RSZW1vdmVMYXN0JykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxMaXN0UHRyKQogICAgICBkICBkYXRhICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKIAogICAgICBkIHhtbExpc3RSZW1vdmVBbGwuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxMaXN0UmVtb3ZlQWxsJykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxMaXN0UmVtb3ZlQWxsJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxMaXN0UHRyKQogICAgICBkICBkYXRhICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKIAogICAgICBkIHhtbExpc3RDbGVhciAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbExpc3RDbGVhcicpCiAgICAgIGQgIGwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxMaXN0UHRyKQogCi0gICAgIGQgeG1sTGlzdEVtcHR5ICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sTGlzdEVtcHR5JykKKyAgICAgZCB4bWxMaXN0RW1wdHkgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxMaXN0RW1wdHknKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbExpc3RQdHIpCiAKICAgICAgZCB4bWxMaXN0RnJvbnQgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxMaXN0RnJvbnQnKQpAQCAtMTA1LDcgKzExMiw4IEBACiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxMaW5rUHRyKQogICAgICBkICBsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTGlzdFB0cikKIAotICAgICBkIHhtbExpc3RTaXplICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbExpc3RTaXplJykKKyAgICAgZCB4bWxMaXN0U2l6ZSAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxMaXN0U2l6ZScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTGlzdFB0cikKIAogICAgICBkIHhtbExpc3RQb3BGcm9udC4uLgpAQCAtMTE3LDEyICsxMjUsMTQgQEAKICAgICAgZCAgbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbExpc3RQdHIpCiAKICAgICAgZCB4bWxMaXN0UHVzaEZyb250Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sTGlzdFB1c2hGcm9udCcpCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sTGlzdFB1c2hGcm9udCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTGlzdFB0cikKICAgICAgZCAgZGF0YSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCiAKICAgICAgZCB4bWxMaXN0UHVzaEJhY2suLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxMaXN0UHVzaEJhY2snKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbExpc3RQdXNoQmFjaycpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTGlzdFB0cikKICAgICAgZCAgZGF0YSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCiAKQEAgLTE1Myw3ICsxNjMsOCBAQAogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTGlzdFB0cikKICAgICAgZCAgb2xkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbExpc3RQdHIpCiAKLSAgICAgZCB4bWxMaXN0Q29weSAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxMaXN0Q29weScpCisgICAgIGQgeG1sTGlzdENvcHkgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sTGlzdENvcHknKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbExpc3RQdHIpCiAgICAgIGQgIG9sZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxMaXN0UHRyKSAgICAgICAgICAgICAgIGNvbnN0CiAKZGlmZiAtLWdpdCBhL29zNDAwL2xpYnhtbHJwZy9uYW5vZnRwLnJwZ2xlIGIvb3M0MDAvbGlieG1scnBnL25hbm9mdHAucnBnbGUKaW5kZXggZDhkNWVmOS4uYWM0ZjJhYSAxMDA2NDQKLS0tIGEvb3M0MDAvbGlieG1scnBnL25hbm9mdHAucnBnbGUKKysrIGIvb3M0MDAvbGlieG1scnBnL25hbm9mdHAucnBnbGUKQEAgLTEzLDYgKzEzLDggQEAKIAogICAgICAgL2lmIGRlZmluZWQoTElCWE1MX0ZUUF9FTkFCTEVEKQogCisgICAgICAvaW5jbHVkZSAibGlieG1scnBnL3htbFR5cGVzQyIKKwogICAgICBkIElOVkFMSURfU09DS0VUICBjICAgICAgICAgICAgICAgICAgIC0xCiAKICAgICAgICogZnRwTGlzdENhbGxiYWNrOgpAQCAtNjcsNyArNjksNyBAQAogICAgICBkIHhtbE5hbm9GVFBDb25uZWN0VG8uLi4KICAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxOYW5vRlRQQ29ubmVjdFRvJykgICAgICAgdm9pZCAqCiAgICAgIGQgIHNlcnZlciAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBwb3J0ICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIHBvcnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgICAqIE9wZW5pbmcvY2xvc2luZyBzZXNzaW9uIGNvbm5lY3Rpb25zLgogCkBAIC03NSwxNCArNzcsMTcgQEAKICAgICAgZCAgVVJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCiAKICAgICAgZCB4bWxOYW5vRlRQQ29ubmVjdC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbE5hbm9GVFBDb25uZWN0JykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxOYW5vRlRQQ29ubmVjdCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKIAogICAgICBkIHhtbE5hbm9GVFBDbG9zZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbE5hbm9GVFBDbG9zZScpCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sTmFub0ZUUENsb3NlJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgogCi0gICAgIGQgeG1sTmFub0ZUUFF1aXQgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sTmFub0ZUUFF1aXQnKQorICAgICBkIHhtbE5hbm9GVFBRdWl0ICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbE5hbm9GVFBRdWl0JykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgogCiAgICAgIGQgeG1sTmFub0ZUUFNjYW5Qcm94eS4uLgpAQCAtOTIsNjUgKzk3LDc2IEBACiAgICAgIGQgeG1sTmFub0ZUUFByb3h5Li4uCiAgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sTmFub0ZUUFByb3h5JykKICAgICAgZCAgaG9zdCAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIHBvcnQgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgcG9ydCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAgICAgIGQgIHVzZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgogICAgICBkICBwYXNzd2QgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgdHlwZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICB0eXBlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIHhtbE5hbm9GVFBVcGRhdGVVUkwuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxOYW5vRlRQVXBkYXRlVVJMJykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxOYW5vRlRQVXBkYXRlVVJMJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgogICAgICBkICBVUkwgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKIAogICAgICAgKiBSYXRoZXIgaW50ZXJuYWwgY29tbWFuZHMuCiAKICAgICAgZCB4bWxOYW5vRlRQR2V0UmVzcG9uc2UuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxOYW5vRlRQR2V0UmVzcG9uc2UnKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbE5hbm9GVFBHZXRSZXNwb25zZScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKIAogICAgICBkIHhtbE5hbm9GVFBDaGVja1Jlc3BvbnNlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sTmFub0ZUUENoZWNrUmVzcG9uc2UnKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbE5hbm9GVFBDaGVja1Jlc3BvbnNlJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgogCiAgICAgICAqIENEL0RJUi9HRVQgaGFuZGxlcnMuCiAKLSAgICAgZCB4bWxOYW5vRlRQQ3dkICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxOYW5vRlRQQ3dkJykKKyAgICAgZCB4bWxOYW5vRlRQQ3dkICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxOYW5vRlRQQ3dkJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgogICAgICBkICBkaXJlY3RvcnkgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKIAotICAgICBkIHhtbE5hbm9GVFBEZWxlICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbE5hbm9GVFBEZWxlJykKKyAgICAgZCB4bWxOYW5vRlRQRGVsZSAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxOYW5vRlRQRGVsZScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKICAgICAgZCAgZmlsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCiAKICAgICAgZCB4bWxOYW5vRlRQR2V0Q29ubmVjdGlvbi4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbE5hbm9GVFBHZXRDb25uZWN0aW9uJykgICBTb2NrZXQgZGVzY3JpcHRvcgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbE5hbm9GVFBHZXRDb25uZWN0aW9uJykgICBTb2NrZXQgZGVzY3JpcHRvcgorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCiAKICAgICAgZCB4bWxOYW5vRlRQQ2xvc2VDb25uZWN0aW9uLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sTmFub0ZUUENsb3NlQ29ubmVjdGlvbicpCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sTmFub0ZUUENsb3NlQ29ubmVjdGlvbicpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKIAotICAgICBkIHhtbE5hbm9GVFBMaXN0ICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbE5hbm9GVFBMaXN0JykKKyAgICAgZCB4bWxOYW5vRlRQTGlzdCAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxOYW5vRlRQTGlzdCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKICAgICAgZCAgY2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKGZ0cExpc3RDYWxsYmFjaykKICAgICAgZCAgdXNlckRhdGEgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCiAgICAgIGQgIGZpbGVuYW1lICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgogCiAgICAgIGQgeG1sTmFub0ZUUEdldFNvY2tldC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbE5hbm9GVFBHZXRTb2NrZXQnKSAgICAgICBTb2NrZXQgZGVzY3JpcHRvcgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbE5hbm9GVFBHZXRTb2NrZXQnKSAgICAgICBTb2NrZXQgZGVzY3JpcHRvcgorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCiAgICAgIGQgIGZpbGVuYW1lICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgogCi0gICAgIGQgeG1sTmFub0ZUUEdldCAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sTmFub0ZUUEdldCcpCisgICAgIGQgeG1sTmFub0ZUUEdldCAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sTmFub0ZUUEdldCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKICAgICAgZCAgY2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKGZ0cERhdGFDYWxsYmFjaykKICAgICAgZCAgdXNlckRhdGEgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCiAgICAgIGQgIGZpbGVuYW1lICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgogCi0gICAgIGQgeG1sTmFub0ZUUFJlYWQgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sTmFub0ZUUFJlYWQnKQorICAgICBkIHhtbE5hbm9GVFBSZWFkICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbE5hbm9GVFBSZWFkJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgogICAgICBkICBkZXN0ICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKLSAgICAgZCAgbGVuICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMSUJYTUxfRlRQX0VOQUJMRUQKICAgICAgIC9lbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTkFOT19GVFBfSF9fCmRpZmYgLS1naXQgYS9vczQwMC9saWJ4bWxycGcvbmFub2h0dHAucnBnbGUgYi9vczQwMC9saWJ4bWxycGcvbmFub2h0dHAucnBnbGUKaW5kZXggNGEwNzZkMi4uZDRlNjAwOCAxMDA2NDQKLS0tIGEvb3M0MDAvbGlieG1scnBnL25hbm9odHRwLnJwZ2xlCisrKyBiL29zNDAwL2xpYnhtbHJwZy9uYW5vaHR0cC5ycGdsZQpAQCAtMTMsNiArMTMsOCBAQAogCiAgICAgICAvaWYgZGVmaW5lZChMSUJYTUxfSFRUUF9FTkFCTEVEKQogCisgICAgICAvaW5jbHVkZSAibGlieG1scnBnL3htbFR5cGVzQyIKKwogICAgICBkIHhtbE5hbm9IVFRQSW5pdC4uLgogICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbE5hbm9IVFRQSW5pdCcpCiAKQEAgLTI0LDcgKzI2LDggQEAKICAgICAgZCAgVVJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCiAKICAgICAgZCB4bWxOYW5vSFRUUEZldGNoLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sTmFub0hUVFBGZXRjaCcpCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sTmFub0hUVFBGZXRjaCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBVUkwgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKICAgICAgZCAgZmlsZW5hbWUgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCiAKQEAgLTM1LDcgKzM4LDcgQEAKICAgICAgZCAgaW5wdXQgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCiAgICAgIGQgIGNvbnRlbnRUeXBlICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXIgKiAqCiAgICAgIGQgIGhlYWRlcnMgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBpbGVuICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIGlsZW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sTmFub0hUVFBNZXRob2RSZWRpci4uLgogICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbE5hbm9IVFRQTWV0aG9kUmVkaXInKSAgICB2b2lkICoKQEAgLTQ1LDcgKzQ4LDcgQEAKICAgICAgZCAgY29udGVudFR5cGUgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhciAqICoKICAgICAgZCAgcmVkaXIgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhciAqICoKICAgICAgZCAgaGVhZGVycyAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIGlsZW4gICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgaWxlbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxOYW5vSFRUUE9wZW4uLi4KICAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxOYW5vSFRUUE9wZW4nKSAgICAgICAgICAgdm9pZCAqCkBAIC01OSw3ICs2Miw4IEBACiAgICAgIGQgIHJlZGlyICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXIgKiAqCiAKICAgICAgZCB4bWxOYW5vSFRUUFJldHVybkNvZGUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxOYW5vSFRUUFJldHVybkNvZGUnKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbE5hbm9IVFRQUmV0dXJuQ29kZScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKIAogICAgICBkIHhtbE5hbm9IVFRQQXV0aEhlYWRlci4uLgpAQCAtNzEsNyArNzUsOCBAQAogICAgICBkICBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKIAogICAgICBkIHhtbE5hbm9IVFRQQ29udGVudExlbmd0aC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbE5hbm9IVFRQQ29udGVudExlbmd0aCcpCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sTmFub0hUVFBDb250ZW50TGVuZ3RoJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgogCiAgICAgIGQgeG1sTmFub0hUVFBFbmNvZGluZy4uLgpAQCAtODMsMTQgKzg4LDE2IEBACiAgICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgogCiAgICAgIGQgeG1sTmFub0hUVFBSZWFkLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sTmFub0hUVFBSZWFkJykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxOYW5vSFRUUFJlYWQnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCiAgICAgIGQgIGRlc3QgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgotICAgICBkICBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIGxlbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgICAvaWYgZGVmaW5lZChMSUJYTUxfT1VUUFVUX0VOQUJMRUQpCiAgICAgIGQgeG1sTmFub0hUVFBTYXZlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sTmFub0hUVFBTYXZlJykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxOYW5vSFRUUFNhdmUnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCiAgICAgIGQgIGZpbGVuYW1lICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgogICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMSUJYTUxfT1VUUFVUX0VOQUJMRApkaWZmIC0tZ2l0IGEvb3M0MDAvbGlieG1scnBnL3BhcnNlci5ycGdsZSBiL29zNDAwL2xpYnhtbHJwZy9wYXJzZXIucnBnbGUKaW5kZXggZjA0YWEyZS4uZmE0OGQ0ZiAxMDA2NDQKLS0tIGEvb3M0MDAvbGlieG1scnBnL3BhcnNlci5ycGdsZQorKysgYi9vczQwMC9saWJ4bWxycGcvcGFyc2VyLnJwZ2xlCkBAIC01Myw5ICs1Myw5IEBACiAgICAgIGQgIGJhc2UgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgogICAgICBkICBjdXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKICAgICAgZCAgZW5kICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIGxlbmd0aCAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExlbmd0aCBpZiBrbm93bgotICAgICBkICBsaW5lICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDdXJyZW50IGxpbmUKLSAgICAgZCAgY29sICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3VycmVudCBjb2x1bW4KKyAgICAgZCAgbGVuZ3RoICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpICAgICAgICAgICAgICAgICAgICAgICAgTGVuZ3RoIGlmIGtub3duCisgICAgIGQgIGxpbmUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KSAgICAgICAgICAgICAgICAgICAgICAgIEN1cnJlbnQgbGluZQorICAgICBkICBjb2wgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkgICAgICAgICAgICAgICAgICAgICAgICBDdXJyZW50IGNvbHVtbgogICAgICAgKgogICAgICAgKiBOT1RFOiBjb25zdW1lZCBpcyBvbmx5IHRlc3RlZCBmb3IgZXF1YWxpdHkgaW4gdGhlIHBhcnNlciBjb2RlLAogICAgICAgKiAgICAgICBzbyBldmVuIGlmIHRoZXJlIGlzIGFuIG92ZXJmbG93IHRoaXMgc2hvdWxkIG5vdCBnaXZlIHRyb3VibGVzCkBAIC02NSw4ICs2NSw4IEBACiAgICAgIGQgIGZyZWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxQYXJzZXJJbnB1dERlYWxsb2NhdGUpICAgICAgIGJhc2UgZGVhbGxvY2F0b3IKICAgICAgZCAgZW5jb2RpbmcgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCiAgICAgIGQgIHZlcnNpb24gICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBzdGFuZGFsb25lICAgICAgICAgICAgICAgICAgIDEwaSAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdGFuZGFsb25lIGVudGl0eSA/Ci0gICAgIGQgIGlkICAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVudGl0eSB1bmlxdWUgSUQKKyAgICAgZCAgc3RhbmRhbG9uZSAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpICAgICAgICAgICAgICAgICAgICAgICAgU3RhbmRhbG9uZSBlbnRpdHkgPworICAgICBkICBpZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkgICAgICAgICAgICAgICAgICAgICAgICBFbnRpdHkgdW5pcXVlIElECiAKICAgICAgICogeG1sUGFyc2VyTm9kZUluZm86CiAgICAgICAqCkBAIC0xMDMsNyArMTAzLDggQEAKICAgICAgICogVGhlIHJlY3Vyc2l2ZSBvbmUgdXNlIHRoZSBzdGF0ZSBpbmZvIGZvciBlbnRpdGllcyBwcm9jZXNzaW5nLgogCiAgICAgIGQgeG1sUGFyc2VySW5wdXRTdGF0ZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgIDEwaSAwIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpICAgICAgICAgICBlbnVtCisgICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAgICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENlbnVtKQogICAgICBkICBYTUxfUEFSU0VSX0VPRi4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOb3RoaW5nIHRvIHBhcnNlCiAgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgLTEKICAgICAgZCAgWE1MX1BBUlNFUl9TVEFSVC4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTm90aGluZyBwYXJzZWQKQEAgLTE2OCw3ICsxNjksOCBAQAogICAgICAgKgogICAgICAgKiBBIHBhcnNlciBjYW4gb3BlcmF0ZSBpbiB2YXJpb3VzIG1vZGVzCiAKLSAgICAgZCB4bWxQYXJzZXJNb2RlICAgcyAgICAgICAgICAgICAxMGkgMCBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKSAgICAgICAgICAgZW51bQorICAgICBkIHhtbFBhcnNlck1vZGUgICBzICAgICAgICAgICAgICAgICAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDZW51bSkKICAgICAgZCAgWE1MX1BBUlNFX1VOS05PV04uLi4KICAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAwCiAgICAgIGQgIFhNTF9QQVJTRV9ET00uLi4KQEAgLTE5OSw1OSArMjAxLDU5IEBACiAgICAgIGQgIHNheCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxTQVhIYW5kbGVyUHRyKSAgICAgICAgICAgICAgIFRoZSBTQVggaGFuZGxlcgogICAgICBkICB1c2VyRGF0YSAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTQVggb25seS00IERPTSBidWlsZAogICAgICBkICBteURvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRG9jUHRyKSAgICAgICAgICAgICAgICAgICAgICBEb2N1bWVudCBiZWluZyBidWlsdAotICAgICBkICB3ZWxsRm9ybWVkICAgICAgICAgICAgICAgICAgIDEwaSAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXZWxsIGZvcm1lZCBkb2MgPworICAgICBkICB3ZWxsRm9ybWVkICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkgICAgICAgICAgICAgICAgICAgICAgICBXZWxsIGZvcm1lZCBkb2MgPwogICAgICBkICByZXBsYWNlRW50aXRpZXMuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXBsYWNlIGVudGl0aWVzID8KLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMAorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCiAgICAgIGQgIGVuY29kaW5nICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBzdGFuZGFsb25lICAgICAgICAgICAgICAgICAgIDEwaSAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdGFuZGFsb25lIGRvY3VtZW50Ci0gICAgIGQgIGh0bWwgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhUTUwgc3RhdGUvdHlwZQorICAgICBkICBzdGFuZGFsb25lICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkgICAgICAgICAgICAgICAgICAgICAgICBTdGFuZGFsb25lIGRvY3VtZW50CisgICAgIGQgIGh0bWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KSAgICAgICAgICAgICAgICAgICAgICAgIEhUTUwgc3RhdGUvdHlwZQogICAgICAgKgogICAgICAgKiBJbnB1dCBzdHJlYW0gc3RhY2sKICAgICAgICoKICAgICAgZCAgaW5wdXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFBhcnNlcklucHV0UHRyKSAgICAgICAgICAgICAgQ3VycmVudCBpbnB1dCBzdHJlYW0KLSAgICAgZCAgaW5wdXROciAgICAgICAgICAgICAgICAgICAgICAxMGkgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBjdXJyZW50IGluIHN0cmVhbXMKLSAgICAgZCAgaW5wdXRNYXggICAgICAgICAgICAgICAgICAgICAxMGkgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWF4ICMgb2YgaW4gc3RyZWFtcworICAgICBkICBpbnB1dE5yICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkgICAgICAgICAgICAgICAgICAgICAgICAjIGN1cnJlbnQgaW4gc3RyZWFtcworICAgICBkICBpbnB1dE1heCAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkgICAgICAgICAgICAgICAgICAgICAgICBNYXggIyBvZiBpbiBzdHJlYW1zCiAgICAgIGQgIGlucHV0VGFiICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbFBhcnNlcklucHV0UHRyICoKICAgICAgICoKICAgICAgICogTm9kZSBhbmFseXNpcyBzdGFjayBvbmx5IHVzZWQgZm9yIERPTSBidWlsZGluZwogICAgICAgKgogICAgICBkICBub2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVB0cikgICAgICAgICAgICAgICAgICAgICBDdXJyZW50IHBhcnNlZCBub2RlCi0gICAgIGQgIG5vZGVOciAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhcnNpbmcgc3RhY2sgZGVwdGgKLSAgICAgZCAgbm9kZU1heCAgICAgICAgICAgICAgICAgICAgICAxMGkgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWF4IHN0YWNrIGRlcHRoCisgICAgIGQgIG5vZGVOciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KSAgICAgICAgICAgICAgICAgICAgICAgIFBhcnNpbmcgc3RhY2sgZGVwdGgKKyAgICAgZCAgbm9kZU1heCAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpICAgICAgICAgICAgICAgICAgICAgICAgTWF4IHN0YWNrIGRlcHRoCiAgICAgIGQgIG5vZGVUYWIgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbE5vZGVQdHIgKgogICAgICAgKgotICAgICBkICByZWNvcmRfaW5mbyAgICAgICAgICAgICAgICAgIDEwaSAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBLZWVwIG5vZGUgaW5mbyA/CisgICAgIGQgIHJlY29yZF9pbmZvICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KSAgICAgICAgICAgICAgICAgICAgICAgIEtlZXAgbm9kZSBpbmZvID8KICAgICAgZCAgbm9kZV9zZXEgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlZHMoeG1sUGFyc2VyTm9kZUluZm9TZXEpICAgICAgICAgUGFyc2VkIG5vZGVzIGluZm8KICAgICAgICoKLSAgICAgZCAgZXJyTm8gICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRXJyb3IgY29kZQorICAgICBkICBlcnJObyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkgICAgICAgICAgICAgICAgICAgICAgICBFcnJvciBjb2RlCiAgICAgICAqCiAgICAgIGQgIGhhc0V4dGVybmFsU3Vic2V0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAKLSAgICAgZCAgaGFzUEVyZWZzICAgICAgICAgICAgICAgICAgICAxMGkgMAotICAgICBkICBleHRlcm5hbCAgICAgICAgICAgICAgICAgICAgIDEwaSAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQYXJzaW5nIGV4dC4gZW50aXR5PworICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKKyAgICAgZCAgaGFzUEVyZWZzICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCisgICAgIGQgIGV4dGVybmFsICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KSAgICAgICAgICAgICAgICAgICAgICAgIFBhcnNpbmcgZXh0LiBlbnRpdHk/CiAgICAgICAqCi0gICAgIGQgIHZhbGlkICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZhbGlkIGRvY3VtZW50ID8KLSAgICAgZCAgdmFsaWRhdGUgICAgICAgICAgICAgICAgICAgICAxMGkgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVHJ5IHRvIHZhbGlkYXRlID8KKyAgICAgZCAgdmFsaWQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpICAgICAgICAgICAgICAgICAgICAgICAgVmFsaWQgZG9jdW1lbnQgPworICAgICBkICB2YWxpZGF0ZSAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkgICAgICAgICAgICAgICAgICAgICAgICBUcnkgdG8gdmFsaWRhdGUgPwogICAgICBkICB2Y3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2Vkcyh4bWxWYWxpZEN0eHQpICAgICAgICAgICAgICAgICBWYWxpZGl0eSBjb250ZXh0CiAgICAgICAqCiAgICAgIGQgIGluc3RhdGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxQYXJzZXJJbnB1dFN0YXRlKSAgICAgICAgICAgIEN1cnJlbnQgaW5wdXQgdHlwZQotICAgICBkICB0b2tlbiAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXh0IGxvb2stYWhlYWQgY2hhcgorICAgICBkICB0b2tlbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkgICAgICAgICAgICAgICAgICAgICAgICBOZXh0IGxvb2stYWhlYWQgY2hhcgogICAgICAgKgogICAgICBkICBkaXJlY3RvcnkgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFyICoKICAgICAgICoKICAgICAgICogTm9kZSBuYW1lIHN0YWNrCiAgICAgICAqCiAgICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBuYW1lTnIgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQYXJzaW5nIHN0YWNrIGRlcHRoCi0gICAgIGQgIG5hbWVNYXggICAgICAgICAgICAgICAgICAgICAgMTBpIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1heCBzdGFjayBkZXB0aAorICAgICBkICBuYW1lTnIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkgICAgICAgICAgICAgICAgICAgICAgICBQYXJzaW5nIHN0YWNrIGRlcHRoCisgICAgIGQgIG5hbWVNYXggICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KSAgICAgICAgICAgICAgICAgICAgICAgIE1heCBzdGFjayBkZXB0aAogICAgICBkICBuYW1lVGFiICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICogKgogICAgICAgKgogICAgICBkICBuYkNoYXJzICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2xvbmcpICAgICAgICAgICAgICAgICAgICAgICAjIHhtbENoYXJzIHByb2Nlc3NlZAogICAgICBkICBjaGVja0luZGV4ICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2xvbmcpICAgICAgICAgICAgICAgICAgICAgICA0IHByb2dyZXNzaXZlIHBhcnNlCi0gICAgIGQgIGtlZXBCbGFua3MgICAgICAgICAgICAgICAgICAgMTBpIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVnbHkgYnV0IC4uLgotICAgICBkICBkaXNhYmxlU0FYICAgICAgICAgICAgICAgICAgIDEwaSAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEaXNhYmxlIFNBWCBjbGxiYWNrcwotICAgICBkICBpblN1YnNldCAgICAgICAgICAgICAgICAgICAgIDEwaSAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbiBpbnQgMS9leHQgMiBzYnNldAorICAgICBkICBrZWVwQmxhbmtzICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkgICAgICAgICAgICAgICAgICAgICAgICBVZ2x5IGJ1dCAuLi4KKyAgICAgZCAgZGlzYWJsZVNBWCAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpICAgICAgICAgICAgICAgICAgICAgICAgRGlzYWJsZSBTQVggY2xsYmFja3MKKyAgICAgZCAgaW5TdWJzZXQgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpICAgICAgICAgICAgICAgICAgICAgICAgSW4gaW50IDEvZXh0IDIgc2JzZXQKICAgICAgZCAgaW50U3ViTmFtZSAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCiAgICAgIGQgIGV4dFN1YlVSSSAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgogICAgICBkICBleHRTdWJTeXRlbSAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKQEAgLTI1OSwyNyArMjYxLDI3IEBACiAgICAgICAqIHhtbDpzcGFjZSB2YWx1ZXMKICAgICAgICoKICAgICAgZCAgc3BhY2UgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ICoKLSAgICAgZCAgc3BhY2VOciAgICAgICAgICAgICAgICAgICAgICAxMGkgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUGFyc2luZyBzdGFjayBkZXB0aAotICAgICBkICBzcGFjZU1heCAgICAgICAgICAgICAgICAgICAgIDEwaSAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYXggc3RhY2sgZGVwdGgKKyAgICAgZCAgc3BhY2VOciAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpICAgICAgICAgICAgICAgICAgICAgICAgUGFyc2luZyBzdGFjayBkZXB0aAorICAgICBkICBzcGFjZU1heCAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkgICAgICAgICAgICAgICAgICAgICAgICBNYXggc3RhY2sgZGVwdGgKICAgICAgZCAgc3BhY2VUYWIgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ICoKICAgICAgICoKLSAgICAgZCAgZGVwdGggICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG8gZGV0ZWN0IGxvb3BzCisgICAgIGQgIGRlcHRoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KSAgICAgICAgICAgICAgICAgICAgICAgIFRvIGRldGVjdCBsb29wcwogICAgICBkICBlbnRpdHkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sUGFyc2VySW5wdXRQdHIpICAgICAgICAgICAgICBUbyBjaGVjayBib3VuZGFyaWVzCi0gICAgIGQgIGNoYXJzZXQgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEluLW1lbW9yeSBjb250ZW50Ci0gICAgIGQgIG5vZGVsZW4gICAgICAgICAgICAgICAgICAgICAgMTBpIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNwZWVkIHVwIHBhcnNpbmcKLSAgICAgZCAgbm9kZW1lbSAgICAgICAgICAgICAgICAgICAgICAxMGkgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3BlZWQgdXAgcGFyc2luZwotICAgICBkICBwZWRhbnRpYyAgICAgICAgICAgICAgICAgICAgIDEwaSAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbmIuIHBlZGFudGljIHdhcm5nCisgICAgIGQgIGNoYXJzZXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KSAgICAgICAgICAgICAgICAgICAgICAgIEluLW1lbW9yeSBjb250ZW50CisgICAgIGQgIG5vZGVsZW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KSAgICAgICAgICAgICAgICAgICAgICAgIFNwZWVkIHVwIHBhcnNpbmcKKyAgICAgZCAgbm9kZW1lbSAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpICAgICAgICAgICAgICAgICAgICAgICAgU3BlZWQgdXAgcGFyc2luZworICAgICBkICBwZWRhbnRpYyAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkgICAgICAgICAgICAgICAgICAgICAgICBFbmIuIHBlZGFudGljIHdhcm5nCiAgICAgIGQgICNwcml2YXRlICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgogICAgICAgKgotICAgICBkICBsb2Fkc3Vic2V0ICAgICAgICAgICAgICAgICAgIDEwaSAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2FkIGV4dC4gc3Vic2V0ID8KLSAgICAgZCAgbGluZW51bWJlcnMgICAgICAgICAgICAgICAgICAxMGkgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2V0IGxpbmUgbnVtYmVycyA/CisgICAgIGQgIGxvYWRzdWJzZXQgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KSAgICAgICAgICAgICAgICAgICAgICAgIExvYWQgZXh0LiBzdWJzZXQgPworICAgICBkICBsaW5lbnVtYmVycyAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkgICAgICAgICAgICAgICAgICAgICAgICBTZXQgbGluZSBudW1iZXJzID8KICAgICAgZCAgY2F0YWxvZ3MgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCi0gICAgIGQgIHJlY292ZXJ5ICAgICAgICAgICAgICAgICAgICAgMTBpIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJ1biBpbiByZWNvdmVyeSBtb2RlCi0gICAgIGQgIHByb2dyZXNzaXZlICAgICAgICAgICAgICAgICAgMTBpIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFByb2dyZXNzaXZlIHBhcnNpbmc/CisgICAgIGQgIHJlY292ZXJ5ICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KSAgICAgICAgICAgICAgICAgICAgICAgIFJ1biBpbiByZWNvdmVyeSBtb2RlCisgICAgIGQgIHByb2dyZXNzaXZlICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KSAgICAgICAgICAgICAgICAgICAgICAgIFByb2dyZXNzaXZlIHBhcnNpbmc/CiAgICAgIGQgIGRpY3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxEaWN0UHRyKSAgICAgICAgICAgICAgICAgICAgIFBhcnNlciBkaWN0aW9uYXJ5CiAgICAgIGQgIGF0dHMgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBtYXhhdHRzICAgICAgICAgICAgICAgICAgICAgIDEwaSAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBYm92ZSBhcnJheSBzaXplCi0gICAgIGQgIGRvY2RpY3QgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVzZSBkaWN0aW9uYXJ5ID8KKyAgICAgZCAgbWF4YXR0cyAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpICAgICAgICAgICAgICAgICAgICAgICAgQWJvdmUgYXJyYXkgc2l6ZQorICAgICBkICBkb2NkaWN0ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkgICAgICAgICAgICAgICAgICAgICAgICBVc2UgZGljdGlvbmFyeSA/CiAgICAgICAqCiAgICAgICAqIHByZS1pbnRlcm5lZCBzdHJpbmdzCiAgICAgICAqCkBAIC0yODksMjMgKzI5MSwyMyBAQAogICAgICAgKgogICAgICAgKiBFdmVyeXRoaW5nIGJlbG93IGlzIHVzZWQgb25seSBieSB0aGUgbmV3IFNBWCBtb2RlCiAgICAgICAqCi0gICAgIGQgIHNheDIgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBTQVggbW9kZSA/Ci0gICAgIGQgIG5zTnIgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgaW5oZXJpdGVkIG5tc3BhY2VzCi0gICAgIGQgIG5zTWF4ICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFycmF5IHNpemUKKyAgICAgZCAgc2F4MiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFNBWCBtb2RlID8KKyAgICAgZCAgbnNOciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpICAgICAgICAgICAgICAgICAgICAgICAgIyBpbmhlcml0ZWQgbm1zcGFjZXMKKyAgICAgZCAgbnNNYXggICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpICAgICAgICAgICAgICAgICAgICAgICAgQXJyYXkgc2l6ZQogICAgICBkICBuc1RhYiAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKICAgICAgZCAgYXR0YWxsb2NzICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ICoKICAgICAgZCAgcHVzaFRhYiAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCiAgICAgIGQgIGF0dHNEZWZhdWx0ICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxIYXNoVGFibGVQdHIpICAgICAgICAgICAgICAgIERlZmF1bHRlZCBhdHRycwogICAgICBkICBhdHRzU3BlY2lhbCAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sSGFzaFRhYmxlUHRyKSAgICAgICAgICAgICAgICBub24tQ0RBVEEgYXR0cnMKLSAgICAgZCAgbnNXZWxsRm9ybWVkICAgICAgICAgICAgICAgICAxMGkgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRG9jIG5hbWVzcGFjZSBPSyA/Ci0gICAgIGQgIG9wdGlvbnMgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEV4dHJhIG9wdGlvbnMKKyAgICAgZCAgbnNXZWxsRm9ybWVkICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpICAgICAgICAgICAgICAgICAgICAgICAgRG9jIG5hbWVzcGFjZSBPSyA/CisgICAgIGQgIG9wdGlvbnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KSAgICAgICAgICAgICAgICAgICAgICAgIEV4dHJhIG9wdGlvbnMKICAgICAgICoKICAgICAgICogVGhvc2UgZmllbGRzIGFyZSBuZWVkZWQgb25seSBmb3IgdHJlYW1pbmcgcGFyc2luZyBzbyBmYXIKICAgICAgICoKLSAgICAgZCAgZGljdE5hbWVzICAgICAgICAgICAgICAgICAgICAxMGkgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGljdCBuYW1lcyBpbiB0cmVlID8KLSAgICAgZCAgZnJlZUVsZW1zTnIgICAgICAgICAgICAgICAgICAxMGkgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBmcmVlIGVsZW1lbnQgbm9kZXMKKyAgICAgZCAgZGljdE5hbWVzICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpICAgICAgICAgICAgICAgICAgICAgICAgRGljdCBuYW1lcyBpbiB0cmVlID8KKyAgICAgZCAgZnJlZUVsZW1zTnIgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpICAgICAgICAgICAgICAgICAgICAgICAgIyBmcmVlIGVsZW1lbnQgbm9kZXMKICAgICAgZCAgZnJlZUVsZW1zICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVQdHIpICAgICAgICAgICAgICAgICAgICAgRnJlZSBlbGVtIG5vZGVzIGxpc3QKLSAgICAgZCAgZnJlZUF0dHJzTnIgICAgICAgICAgICAgICAgICAxMGkgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBmcmVlIGF0dHIuIG5vZGVzCisgICAgIGQgIGZyZWVBdHRyc05yICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KSAgICAgICAgICAgICAgICAgICAgICAgICMgZnJlZSBhdHRyLiBub2RlcwogICAgICBkICBmcmVlQXR0cnMgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQXR0clB0cikgICAgICAgICAgICAgICAgICAgICBGcmVlIGF0dHIgbm9lcyBsaXN0CiAgICAgICAqCiAgICAgICAqIHRoZSBjb21wbGV0ZSBlcnJvciBpbmZvcm1hdGlvbnMgZm9yIHRoZSBsYXN0IGVycm9yLgpAQCAtMzE4LDExICszMjAsMTEgQEAKICAgICAgICogZm9yIHVzZSBieSBIVE1MIG5vbi1yZWN1cnNpdmUgcGFyc2VyCiAgICAgICAqCiAgICAgIGQgIG5vZGVJbmZvICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxQYXJzZXJOb2RlSW5mb1B0cikgICAgICAgICAgIEN1cnJlbnQgTm9kZUluZm8KLSAgICAgZCAgbm9kZUluZm9OciAgICAgICAgICAgICAgICAgICAxMGkgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUGFyc2luZyBzdGFjayBkZXB0aAotICAgICBkICBub2RlSW5mb01heCAgICAgICAgICAgICAgICAgIDEwaSAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYXggc3RhY2sgZGVwdGgKKyAgICAgZCAgbm9kZUluZm9OciAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpICAgICAgICAgICAgICAgICAgICAgICAgUGFyc2luZyBzdGFjayBkZXB0aAorICAgICBkICBub2RlSW5mb01heCAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkgICAgICAgICAgICAgICAgICAgICAgICBNYXggc3RhY2sgZGVwdGgKICAgICAgZCAgbm9kZUluZm9UYWIgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sUGFyc2VyTm9kZUluZm8gKgogICAgICAgKgotICAgICBkICBpbnB1dF9pZCAgICAgICAgICAgICAgICAgICAgIDEwaSAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMYWJlbCBpbnB1dHMgPworICAgICBkICBpbnB1dF9pZCAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkgICAgICAgICAgICAgICAgICAgICAgICBMYWJlbCBpbnB1dHMgPwogICAgICBkICBzaXplZW50Y29weSAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ3Vsb25nKSAgICAgICAgICAgICAgICAgICAgICBFbnRpdHkgY29weSB2b2x1bWUKIAogICAgICAgKiB4bWxTQVhMb2NhdG9yOgpAQCAtNzU2LDcgKzc1OCw3IEBACiAgICAgIGQgIGNkYXRhQmxvY2sgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZShjZGF0YUJsb2NrU0FYRnVuYykKICAgICAgZCAgZXh0ZXJuYWxTdWJzZXQuLi4KICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKGV4dGVybmFsU3Vic2V0U0FYRnVuYykKLSAgICAgZCAgaW5pdGlhbGl6ZWQgICAgICAgICAgICAgICAgICAxMHUgMAorICAgICBkICBpbml0aWFsaXplZCAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ3VpbnQpCiAgICAgICAqCiAgICAgICAqIFRoZSBmb2xsb3dpbmcgZmllbGRzIGFyZSBleHRlbnNpb25zIGF2YWlsYWJsZSBvbmx5IG9uIHZlcnNpb24gMgogICAgICAgKgpAQCAtODEwLDcgKzgxMiw3IEBACiAgICAgIGQgIGNkYXRhQmxvY2sgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZShjZGF0YUJsb2NrU0FYRnVuYykKICAgICAgZCAgZXh0ZXJuYWxTdWJzZXQuLi4KICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKGV4dGVybmFsU3Vic2V0U0FYRnVuYykKLSAgICAgZCAgaW5pdGlhbGl6ZWQgICAgICAgICAgICAgICAgICAxMHUgMAorICAgICBkICBpbml0aWFsaXplZCAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ3VpbnQpCiAKICAgICAgICogeG1sRXh0ZXJuYWxFbnRpdHlMb2FkZXI6CiAgICAgICAqIEBVUkw6IFRoZSBTeXN0ZW0gSUQgb2YgdGhlIHJlc291cmNlIHJlcXVlc3RlZApAQCAtODM5LDE0ICs4NDEsMTYgQEAKICAgICAgICogSW5wdXQgZnVuY3Rpb25zCiAKICAgICAgZCB4bWxQYXJzZXJJbnB1dFJlYWQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxQYXJzZXJJbnB1dFJlYWQnKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFBhcnNlcklucHV0UmVhZCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBpbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VySW5wdXRQdHIpCi0gICAgIGQgIGxlbiAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgbGVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxQYXJzZXJJbnB1dEdyb3cuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxQYXJzZXJJbnB1dEdyb3cnKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFBhcnNlcklucHV0R3JvdycpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBpbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VySW5wdXRQdHIpCi0gICAgIGQgIGxlbiAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgbGVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgICogQmFzaWMgcGFyc2luZyBJbnRlcmZhY2VzCiAKQEAgLTg2MiwyOCArODY2LDMyIEBACiAgICAgIGQgeG1sUGFyc2VNZW1vcnkgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUGFyc2VNZW1vcnknKQogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRG9jUHRyKQogICAgICBkICBidWZmZXIgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBzaXplICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKICAgICAgIC9lbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTElCWE1MX1NBWDFfRU5BQkxFRAogCiAgICAgIGQgeG1sU3Vic3RpdHV0ZUVudGl0aWVzRGVmYXVsdC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFN1YnN0aXR1dGVFbnRpdGllc0RlZmF1bHQnKQotICAgICBkICB2YWwgICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQorICAgICBkICB2YWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIHhtbEtlZXBCbGFua3NEZWZhdWx0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sS2VlcEJsYW5rc0RlZmF1bHQnKQotICAgICBkICB2YWwgICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sS2VlcEJsYW5rc0RlZmF1bHQnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKKyAgICAgZCAgdmFsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxTdG9wUGFyc2VyICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTdG9wUGFyc2VyJykKICAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCiAKICAgICAgZCB4bWxQZWRhbnRpY1BhcnNlckRlZmF1bHQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxQZWRhbnRpY1BhcnNlckRlZmF1bHQnKQotICAgICBkICB2YWwgICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUGVkYW50aWNQYXJzZXJEZWZhdWx0JykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCisgICAgIGQgIHZhbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sTGluZU51bWJlcnNEZWZhdWx0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sTGluZU51bWJlcnNEZWZhdWx0JykKLSAgICAgZCAgdmFsICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbExpbmVOdW1iZXJzRGVmYXVsdCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQorICAgICBkICB2YWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICAgL2lmIGRlZmluZWQoTElCWE1MX1NBWDFfRU5BQkxFRCkKICAgICAgICogUmVjb3ZlcnkgbW9kZQpAQCAtODk2LDcgKzkwNCw3IEBACiAgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUmVjb3Zlck1lbW9yeScpCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxEb2NQdHIpCiAgICAgIGQgIGJ1ZmZlciAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBzaXplICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIHNpemUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sUmVjb3ZlckZpbGUgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUmVjb3ZlckZpbGUnKQogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRG9jUHRyKQpAQCAtOTA2LDQ4ICs5MTQsNTIgQEAKICAgICAgICogTGVzcyBjb21tb24gcm91dGluZXMgYW5kIFNBWCBpbnRlcmZhY2VzCiAKICAgICAgZCB4bWxQYXJzZURvY3VtZW50Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sUGFyc2VEb2N1bWVudCcpCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUGFyc2VEb2N1bWVudCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKIAogICAgICBkIHhtbFBhcnNlRXh0UGFyc2VkRW50Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sUGFyc2VFeHRQYXJzZWRFbnQnKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFBhcnNlRXh0UGFyc2VkRW50JykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQogCiAgICAgICAvaWYgZGVmaW5lZChMSUJYTUxfU0FYMV9FTkFCTEVEKQogICAgICBkIHhtbFNBWFVzZXJQYXJzZUZpbGUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxTQVhVc2VyUGFyc2VGaWxlJykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTQVhVc2VyUGFyc2VGaWxlJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIHNheCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTQVhIYW5kbGVyUHRyKQogICAgICBkICB1c2VyX2RhdGEgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKICAgICAgZCAgZmlsZW5hbWUgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCiAKICAgICAgZCB4bWxTQVhVc2VyUGFyc2VNZW1vcnkuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxTQVhVc2VyUGFyc2VNZW1vcnknKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNBWFVzZXJQYXJzZU1lbW9yeScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBzYXggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU0FYSGFuZGxlclB0cikKICAgICAgZCAgdXNlcl9kYXRhICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCiAgICAgIGQgIGJ1ZmZlciAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBzaXplICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIHNpemUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sU0FYUGFyc2VEb2MgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU0FYUGFyc2VEb2MnKQogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRG9jUHRyKQogICAgICBkICBzYXggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU0FYSGFuZGxlclB0cikKICAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIHJlY292ZXJ5ICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgcmVjb3ZlcnkgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxTQVhQYXJzZU1lbW9yeS4uLgogICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNBWFBhcnNlTWVtb3J5JykKICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbERvY1B0cikKICAgICAgZCAgc2F4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNBWEhhbmRsZXJQdHIpCiAgICAgIGQgIGJ1ZmZlciAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBzaXplICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCi0gICAgIGQgIHJlY292ZXJ5ICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCisgICAgIGQgIHJlY292ZXJ5ICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sU0FYUGFyc2VNZW1vcnlXaXRoRGF0YS4uLgogICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNBWFBhcnNlTWVtb3J5V2l0aERhdGEnKQogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRG9jUHRyKQogICAgICBkICBzYXggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU0FYSGFuZGxlclB0cikKICAgICAgZCAgYnVmZmVyICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIHNpemUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKLSAgICAgZCAgcmVjb3ZlcnkgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBzaXplICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKKyAgICAgZCAgcmVjb3ZlcnkgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGRhdGEgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgogCiAgICAgIGQgeG1sU0FYUGFyc2VGaWxlLi4uCkBAIC05NTUsMTQgKzk2NywxNCBAQAogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRG9jUHRyKQogICAgICBkICBzYXggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU0FYSGFuZGxlclB0cikKICAgICAgZCAgZmlsZW5hbWUgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIHJlY292ZXJ5ICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgcmVjb3ZlcnkgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxTQVhQYXJzZUZpbGVXaXRoRGF0YS4uLgogICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNBWFBhcnNlRmlsZVdpdGhEYXRhJykKICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbERvY1B0cikKICAgICAgZCAgc2F4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNBWEhhbmRsZXJQdHIpCiAgICAgIGQgIGZpbGVuYW1lICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICByZWNvdmVyeSAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIHJlY292ZXJ5ICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogICAgICBkICBkYXRhICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKIAogICAgICBkIHhtbFNBWFBhcnNlRW50aXR5Li4uCkBAIC05OTgsMTIgKzEwMTAsMTMgQEAKIAogICAgICAgL2lmIGRlZmluZWQoTElCWE1MX1NBWDFfRU5BQkxFRCkKICAgICAgZCB4bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnkuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnknKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKICAgICAgZCAgc2F4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNBWEhhbmRsZXJQdHIpCiAgICAgIGQgIHVzZXJfZGF0YSAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgotICAgICBkICBkZXB0aCAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIGRlcHRoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogICAgICBkICB1c2VyX2RhdGEgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKICAgICAgZCAgc3RyaW5nICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCiAgICAgIGQgIGxzdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbE5vZGVQdHIgKgpAQCAtMTAxNCwzNSArMTAyNywzOCBAQAogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sUGFyc2VyRXJyb3JzKQogICAgICBkICBub2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKICAgICAgZCAgZGF0YSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIGRhdGFsZW4gICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKLSAgICAgZCAgb3B0aW9ucyAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBkYXRhbGVuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKKyAgICAgZCAgb3B0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGxzdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbE5vZGVQdHIgKgogCiAgICAgICAvaWYgZGVmaW5lZChMSUJYTUxfU0FYMV9FTkFCTEVEKQogICAgICBkIHhtbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeVJlY292ZXIuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeVJlY292ZXInKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKICAgICAgZCAgc2F4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNBWEhhbmRsZXJQdHIpCiAgICAgIGQgIHVzZXJfZGF0YSAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgotICAgICBkICBkZXB0aCAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIGRlcHRoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogICAgICBkICBzdHJpbmcgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKICAgICAgZCAgbHN0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sTm9kZVB0ciAqCi0gICAgIGQgIHJlY292ZXIgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgcmVjb3ZlciAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxQYXJzZUV4dGVybmFsRW50aXR5Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sUGFyc2VFeHRlcm5hbEVudGl0eScpCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUGFyc2VFeHRlcm5hbEVudGl0eScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQogICAgICBkICBzYXggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU0FYSGFuZGxlclB0cikKICAgICAgZCAgdXNlcl9kYXRhICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCi0gICAgIGQgIGRlcHRoICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgZGVwdGggICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAgICAgIGQgIFVSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgogICAgICBkICBJRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKICAgICAgZCAgbHN0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sTm9kZVB0ciAqCiAgICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhNTF9TQVgxX0VOQUJMRUQKIAogICAgICBkIHhtbFBhcnNlQ3R4dEV4dGVybmFsRW50aXR5Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sUGFyc2VDdHh0RXh0ZXJuYWxFbnRpdHknKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFBhcnNlQ3R4dEV4dGVybmFsRW50aXR5JykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIHNheCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTQVhIYW5kbGVyUHRyKQogICAgICBkICBVUkwgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKICAgICAgZCAgSUQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCkBAIC0xMDU1LDcgKzEwNzEsOCBAQAogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKIAogICAgICBkIHhtbEluaXRQYXJzZXJDdHh0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sSW5pdFBhcnNlckN0eHQnKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEluaXRQYXJzZXJDdHh0JykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQogCiAgICAgIGQgeG1sQ2xlYXJQYXJzZXJDdHh0Li4uCkBAIC0xMDgzLDE2ICsxMTAwLDE5IEBACiAgICAgICAqIFJlYWRpbmcvc2V0dGluZyBvcHRpb25hbCBwYXJzaW5nIGZlYXR1cmVzLgogCiAgICAgIGQgeG1sR2V0RmVhdHVyZXNMaXN0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sR2V0RmVhdHVyZXNMaXN0JykKLSAgICAgZCAgbGVuICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMAorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEdldEZlYXR1cmVzTGlzdCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQorICAgICBkICBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgcmVzdWx0ICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqKCopCiAKLSAgICAgZCB4bWxHZXRGZWF0dXJlICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxHZXRGZWF0dXJlJykKKyAgICAgZCB4bWxHZXRGZWF0dXJlICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxHZXRGZWF0dXJlJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQogICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKICAgICAgZCAgcmVzdWx0ICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCiAKLSAgICAgZCB4bWxTZXRGZWF0dXJlICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxTZXRGZWF0dXJlJykKKyAgICAgZCB4bWxTZXRGZWF0dXJlICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTZXRGZWF0dXJlJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQogICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKICAgICAgZCAgcmVzdWx0ICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCkBAIC0xMTA3LDE0ICsxMTI3LDE1IEBACiAgICAgIGQgIHNheCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTQVhIYW5kbGVyUHRyKQogICAgICBkICB1c2VyX2RhdGEgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKICAgICAgZCAgY2h1bmsgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIHNpemUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGZpbGVuYW1lICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgogCi0gICAgIGQgeG1sUGFyc2VDaHVuayAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sUGFyc2VDaHVuaycpCisgICAgIGQgeG1sUGFyc2VDaHVuayAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUGFyc2VDaHVuaycpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKICAgICAgZCAgY2h1bmsgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIHNpemUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKLSAgICAgZCAgdGVybWluYXRlICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBzaXplICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKKyAgICAgZCAgdGVybWluYXRlICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAgICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhNTF9QVVNIX0VOQUJMRUQKIAogICAgICAgKiBTcGVjaWFsIEkvTyBtb2RlLgpAQCAtMTE5NCw3ICsxMjE1LDggQEAKICAgICAgICogdG8gdGhlIHhtbFJlYWREb2MoKSBhbmQgc2ltaWxhciBjYWxscy4KIAogICAgICBkIHhtbFBhcnNlck9wdGlvbi4uLgotICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgIDEwaSAwIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpICAgICAgICAgICBlbnVtCisgICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAgICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENlbnVtKQogICAgICBkICBYTUxfUEFSU0VfUkVDT1ZFUi4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWNvdmVyIG9uIGVycm9ycwogICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAwMDAwMDEnCiAgICAgIGQgIFhNTF9QQVJTRV9OT0VOVC4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN1YnN0aXR1dGUgZW50aXRpZXMKQEAgLTEyNDYsNDUgKzEyNjgsNDcgQEAKICAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCiAKICAgICAgZCB4bWxDdHh0UmVzZXRQdXNoLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sQ3R4dFJlc2V0UHVzaCcpCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQ3R4dFJlc2V0UHVzaCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKICAgICAgZCAgY2h1bmsgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIHNpemUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGZpbGVuYW1lICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgogICAgICBkICBlbmNvZGluZyAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKIAogICAgICBkIHhtbEN0eHRVc2VPcHRpb25zLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sQ3R4dFVzZU9wdGlvbnMnKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEN0eHRVc2VPcHRpb25zJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQotICAgICBkICBvcHRpb25zICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIG9wdGlvbnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sUmVhZERvYyAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUmVhZERvYycpCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxEb2NQdHIpCiAgICAgIGQgIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgogICAgICBkICBVUkwgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKICAgICAgZCAgZW5jb2RpbmcgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIG9wdGlvbnMgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgb3B0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxSZWFkRmlsZSAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxSZWFkRmlsZScpCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxEb2NQdHIpCiAgICAgIGQgIFVSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgogICAgICBkICBlbmNvZGluZyAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgb3B0aW9ucyAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBvcHRpb25zICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIHhtbFJlYWRNZW1vcnkgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFJlYWRNZW1vcnknKQogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRG9jUHRyKQogICAgICBkICBidWZmZXIgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBzaXplICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgVVJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCiAgICAgIGQgIGVuY29kaW5nICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBvcHRpb25zICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIG9wdGlvbnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sUmVhZEZkICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUmVhZEZkJykKICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbERvY1B0cikKLSAgICAgZCAgZmQgICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBmZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgVVJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCiAgICAgIGQgIGVuY29kaW5nICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBvcHRpb25zICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIG9wdGlvbnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sUmVhZElPICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUmVhZElPJykKICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbERvY1B0cikKQEAgLTEyOTMsNyArMTMxNyw3IEBACiAgICAgIGQgIGlvY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgogICAgICBkICBVUkwgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKICAgICAgZCAgZW5jb2RpbmcgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIG9wdGlvbnMgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgb3B0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxDdHh0UmVhZERvYyAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxDdHh0UmVhZERvYycpCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxEb2NQdHIpCkBAIC0xMzAxLDcgKzEzMjUsNyBAQAogICAgICBkICBjdXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKICAgICAgZCAgVVJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCiAgICAgIGQgIGVuY29kaW5nICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBvcHRpb25zICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIG9wdGlvbnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sQ3R4dFJlYWRGaWxlLi4uCiAgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQ3R4dFJlYWRGaWxlJykKQEAgLTEzMDksMjUgKzEzMzMsMjUgQEAKICAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCiAgICAgIGQgIGZpbGVuYW1lICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgogICAgICBkICBlbmNvZGluZyAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgb3B0aW9ucyAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBvcHRpb25zICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIHhtbEN0eHRSZWFkTWVtb3J5Li4uCiAgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQ3R4dFJlYWRNZW1vcnknKQogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRG9jUHRyKQogICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKICAgICAgZCAgYnVmZmVyICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIHNpemUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAgICAgIGQgIFVSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgogICAgICBkICBlbmNvZGluZyAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgb3B0aW9ucyAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBvcHRpb25zICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIHhtbEN0eHRSZWFkRmQgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEN0eHRSZWFkRmQnKQogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRG9jUHRyKQogICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKLSAgICAgZCAgZmQgICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBmZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgVVJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCiAgICAgIGQgIGVuY29kaW5nICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBvcHRpb25zICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIG9wdGlvbnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sQ3R4dFJlYWRJTyAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQ3R4dFJlYWRJTycpCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxEb2NQdHIpCkBAIC0xMzM3LDcgKzEzNjEsNyBAQAogICAgICBkICBpb2N0eCAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKICAgICAgZCAgVVJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCiAgICAgIGQgIGVuY29kaW5nICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBvcHRpb25zICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIG9wdGlvbnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgICAqIExpYnJhcnkgd2lkZSBvcHRpb25zCiAKQEAgLTEzNDcsNyArMTM3MSw4IEBACiAgICAgICAqIG9yIGRpc2FibGVkIGF0IGNvbXBpbGUtdGltZS4KICAgICAgICogVGhleSB1c2VkIHRvIGJlIGNhbGxlZCBYTUxfRkVBVFVSRV94eHggYnV0IHRoaXMgY2xhc2hlZCB3aXRoIEV4cGF0CiAKLSAgICAgZCB4bWxGZWF0dXJlICAgICAgcyAgICAgICAgICAgICAxMGkgMCBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKSAgICAgICAgICAgZW51bQorICAgICBkIHhtbEZlYXR1cmUgICAgICBzICAgICAgICAgICAgICAgICAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDZW51bSkKICAgICAgZCAgWE1MX1dJVEhfVEhSRUFELi4uCiAgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMQogICAgICBkICBYTUxfV0lUSF9UUkVFICBjICAgICAgICAgICAgICAgICAgIDIKQEAgLTE0MDQsNyArMTQyOSw4IEBACiAgICAgIGQgIFhNTF9XSVRIX0xaTUEgIGMgICAgICAgICAgICAgICAgICAgMzMKICAgICAgZCAgWE1MX1dJVEhfTk9ORSAgYyAgICAgICAgICAgICAgICAgICA5OTk5OQogCi0gICAgIGQgeG1sSGFzRmVhdHVyZSAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sSGFzRmVhdHVyZScpCisgICAgIGQgeG1sSGFzRmVhdHVyZSAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sSGFzRmVhdHVyZScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBmZWF0dXJlICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRmVhdHVyZSkKIAogICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYTUxfUEFSU0VSX0hfXwpkaWZmIC0tZ2l0IGEvb3M0MDAvbGlieG1scnBnL3BhcnNlckludGVybmFscy5ycGdsZSBiL29zNDAwL2xpYnhtbHJwZy9wYXJzZXJJbnRlcm5hbHMucnBnbGUKaW5kZXggMjY5MTM5Ny4uNmM4ZjM4OCAxMDA2NDQKLS0tIGEvb3M0MDAvbGlieG1scnBnL3BhcnNlckludGVybmFscy5ycGdsZQorKysgYi9vczQwMC9saWJ4bWxycGcvcGFyc2VySW50ZXJuYWxzLnJwZ2xlCkBAIC0xMSw2ICsxMSw3IEBACiAgICAgICAvZGVmaW5lIFhNTF9QQVJTRVJfSU5URVJOQUxTX0hfXwogCiAgICAgICAvaW5jbHVkZSAibGlieG1scnBnL3htbHZlcnNpb24iCisgICAgICAvaW5jbHVkZSAibGlieG1scnBnL3htbFR5cGVzQyIKICAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcvcGFyc2VyIgogICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy9IVE1McGFyc2VyIgogICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy9jaHZhbGlkIgpAQCAtMjIsNyArMjMsOCBAQAogICAgICAgKiBib3VuZGFyeSBmZWF0dXJlLCB1c2UgWE1MX1BBUlNFX0hVR0Ugb3B0aW9uIHRvIG92ZXJyaWRlIGl0LgogCiAgICAgIGQgeG1sUGFyc2VyTWF4RGVwdGguLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAxMHUgMCBpbXBvcnQoJ3htbFBhcnNlck1heERlcHRoJykKKyAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICAgICBpbXBvcnQoJ3htbFBhcnNlck1heERlcHRoJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEN1aW50KQogCiAgICAgICAqIFhNTF9NQVhfVEVYVF9MRU5HVEg6CiAgICAgICAqCkBAIC05Myw4ICs5NSw5IEBACiAKICAgICAgICogRnVuY3Rpb24gdG8gZmluaXNoIHRoZSB3b3JrIG9mIHRoZSBtYWNyb3Mgd2hlcmUgbmVlZGVkLgogCi0gICAgIGQgeG1sSXNMZXR0ZXIgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sSXNMZXR0ZXInKQotICAgICBkIGMgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgeG1sSXNMZXR0ZXIgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sSXNMZXR0ZXInKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKKyAgICAgZCBjICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgICogUGFyc2VyIGNvbnRleHQuCiAKQEAgLTEwNywxMyArMTEwLDEzIEBACiAgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQ3JlYXRlVVJMUGFyc2VyQ3R4dCcpCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQogICAgICBkIGZpbGVuYW1lICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCBvcHRpb25zICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkIG9wdGlvbnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIHhtbENyZWF0ZU1lbW9yeVBhcnNlckN0eHQuLi4KICAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxDcmVhdGVNZW1vcnlQYXJzZXJDdHh0JykKICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCiAgICAgIGQgYnVmZmVyICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkIHNpemUgICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sQ3JlYXRlRW50aXR5UGFyc2VyQ3R4dC4uLgogICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbENyZWF0ZUVudGl0eVBhcnNlckN0eHQnKQpAQCAtMTIzLDE3ICsxMjYsMjAgQEAKICAgICAgZCBiYXNlICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCiAKICAgICAgZCB4bWxTd2l0Y2hFbmNvZGluZy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFN3aXRjaEVuY29kaW5nJykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTd2l0Y2hFbmNvZGluZycpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKICAgICAgZCBlbmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENoYXJFbmNvZGluZykKIAogICAgICBkIHhtbFN3aXRjaFRvRW5jb2RpbmcuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxTd2l0Y2hUb0VuY29kaW5nJykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTd2l0Y2hUb0VuY29kaW5nJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQogICAgICBkIGhhbmRsZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2hhckVuY29kaW5nSGFuZGxlclB0cikKIAogICAgICBkIHhtbFN3aXRjaElucHV0RW5jb2RpbmcuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxTd2l0Y2hJbnB1dEVuY29kaW5nJykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTd2l0Y2hJbnB1dEVuY29kaW5nJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQogICAgICBkIGlucHV0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VySW5wdXRQdHIpCiAgICAgIGQgaGFuZGxlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyKQpAQCAtMTUyLDcgKzE1OCw4IEBACiAgICAgIGQgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQogICAgICBkIGVudGl0eSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRW50aXR5UHRyKQogCi0gICAgIGQgeG1sUHVzaElucHV0ICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sUHVzaElucHV0JykKKyAgICAgZCB4bWxQdXNoSW5wdXQgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxQdXNoSW5wdXQnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCiAgICAgIGQgaW5wdXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJJbnB1dFB0cikKIApAQCAtMjExLDEzICsyMTgsMTMgQEAKICAgICAgZCB4bWxQYXJzZUNoYXJEYXRhLi4uCiAgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUGFyc2VDaGFyRGF0YScpCiAgICAgIGQgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQotICAgICBkIGNkYXRhICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgY2RhdGEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sUGFyc2VFeHRlcm5hbElELi4uCiAgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sUGFyc2VFeHRlcm5hbElEJykgICAgICAgIHhtbENoYXIgKgogICAgICBkIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKICAgICAgZCBwdWJsaWNJRCAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sQ2hhciAqKCopCi0gICAgIGQgc3RyaWN0ICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCBzdHJpY3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxQYXJzZUNvbW1lbnQuLi4KICAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxQYXJzZUNvbW1lbnQnKQpAQCAtMjM5LDcgKzI0Niw4IEBACiAgICAgIGQgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQogCiAgICAgIGQgeG1sUGFyc2VEZWZhdWx0RGVjbC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFBhcnNlRGVmYXVsdERlY2wnKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFBhcnNlRGVmYXVsdERlY2wnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCiAgICAgIGQgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbENoYXIgKigqKQogCkBAIC0yNTQsMTIgKzI2MiwxNCBAQAogICAgICBkIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKIAogICAgICBkIHhtbFBhcnNlRW51bWVyYXRlZFR5cGUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxQYXJzZUVudW1lcmF0ZWRUeXBlJykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxQYXJzZUVudW1lcmF0ZWRUeXBlJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQogICAgICBkIHRyZWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxFbnVtZXJhdGlvblB0ciAqCiAKICAgICAgZCB4bWxQYXJzZUF0dHJpYnV0ZVR5cGUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxQYXJzZUF0dHJpYnV0ZVR5cGUnKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFBhcnNlQXR0cmlidXRlVHlwZScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKICAgICAgZCB0cmVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sRW51bWVyYXRpb25QdHIgKgogCkBAIC0yNzIsMjQgKzI4MiwyNiBAQAogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxQYXJzZUVsZW1lbnRNaXhlZENvbnRlbnREZWNsJykKICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEVsZW1lbnRDb250ZW50UHRyKQogICAgICBkIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKLSAgICAgZCBpbnB1dGNoayAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkIGlucHV0Y2hrICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIHhtbFBhcnNlRWxlbWVudENoaWxkcmVuQ29udGVudERlY2wuLi4KICAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxQYXJzZUVsZW1lbnRDaGlsZHJlbkNvbnRlbnREZWNsJykKICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEVsZW1lbnRDb250ZW50UHRyKQogICAgICBkIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKLSAgICAgZCBpbnB1dGNoayAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkIGlucHV0Y2hrICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIHhtbFBhcnNlRWxlbWVudENvbnRlbnREZWNsLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sUGFyc2VFbGVtZW50Q29udGVudERlY2wnKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFBhcnNlRWxlbWVudENvbnRlbnREZWNsJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQogICAgICBkIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKICAgICAgZCByZXN1bHQgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sRWxlbWVudENvbnRlbnRQdHIKICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKgogCiAgICAgIGQgeG1sUGFyc2VFbGVtZW50RGVjbC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFBhcnNlRWxlbWVudERlY2wnKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFBhcnNlRWxlbWVudERlY2wnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCiAKICAgICAgZCB4bWxQYXJzZU1hcmt1cERlY2wuLi4KQEAgLTI5Nyw3ICszMDksOCBAQAogICAgICBkIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKIAogICAgICBkIHhtbFBhcnNlQ2hhclJlZi4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFBhcnNlQ2hhclJlZicpCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUGFyc2VDaGFyUmVmJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQogCiAgICAgIGQgeG1sUGFyc2VFbnRpdHlSZWYuLi4KQEAgLTM1OCw3ICszNzEsOCBAQAogICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbFBhcnNlRW5jb2RpbmdEZWNsJykgICAgICBjb25zdCB4bWxDaGFyICoKICAgICAgZCBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCiAKLSAgICAgZCB4bWxQYXJzZVNERGVjbCAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxQYXJzZVNERGVjbCcpCisgICAgIGQgeG1sUGFyc2VTRERlY2wgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUGFyc2VTRERlY2wnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCiAKICAgICAgZCB4bWxQYXJzZVhNTERlY2wuLi4KQEAgLTQxMCw3ICs0MjQsNyBAQAogICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbFN0cmluZ0RlY29kZUVudGl0aWVzJykgICB4bWxDaGFyICoKICAgICAgZCBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCiAgICAgIGQgc3RyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkIHdoYXQgICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgd2hhdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogICAgICBkIGVuZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2hhcikKICAgICAgZCBlbmQyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENoYXIpCiAgICAgIGQgZW5kMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaGFyKQpAQCAtNDE5LDE1ICs0MzMsMTYgQEAKICAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxTdHJpbmdMZW5EZWNvZGVFbnRpdGllcycpeG1sQ2hhciAqCiAgICAgIGQgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQogICAgICBkIHN0ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQotICAgICBkIHdoYXQgICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgbGVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQorICAgICBkIHdoYXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKICAgICAgZCBlbmQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENoYXIpCiAgICAgIGQgZW5kMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaGFyKQogICAgICBkIGVuZDMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2hhcikKIAogICAgICAgKiBHZW5lcmF0ZWQgYnkgTUFDUk9TIG9uIHRvcCBvZiBwYXJzZXIuYyBjLmYuIFBVU0hfQU5EX1BPUC4KIAotICAgICBkIG5vZGVQdXNoICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ25vZGVQdXNoJykKKyAgICAgZCBub2RlUHVzaCAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdub2RlUHVzaCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKICAgICAgZCB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCiAKQEAgLTQzNSw3ICs0NTAsOCBAQAogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVB0cikKICAgICAgZCBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCiAKLSAgICAgZCBpbnB1dFB1c2ggICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCdpbnB1dFB1c2gnKQorICAgICBkIGlucHV0UHVzaCAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ2lucHV0UHVzaCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKICAgICAgZCB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlcklucHV0UHRyKQogCkBAIC00NDYsMTggKzQ2MiwyMSBAQAogICAgICBkIG5hbWVQb3AgICAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ25hbWVQb3AnKSAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKICAgICAgZCBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCiAKLSAgICAgZCBuYW1lUHVzaCAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCduYW1lUHVzaCcpCisgICAgIGQgbmFtZVB1c2ggICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnbmFtZVB1c2gnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCiAgICAgIGQgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgogCiAgICAgICAqIG90aGVyIGNvbW1vZGl0aWVzIHNoYXJlZCBiZXR3ZWVuIHBhcnNlci5jIGFuZCBwYXJzZXJJbnRlcm5hbHMuCiAKICAgICAgZCB4bWxTa2lwQmxhbmtDaGFycy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFNraXBCbGFua0NoYXJzJykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTa2lwQmxhbmtDaGFycycpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKIAogICAgICBkIHhtbFN0cmluZ0N1cnJlbnRDaGFyLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sU3RyaW5nQ3VycmVudENoYXInKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFN0cmluZ0N1cnJlbnRDaGFyJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQogICAgICBkIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKICAgICAgZCBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ICoKQEAgLTQ2NywyNCArNDg2LDI4IEBACiAgICAgIGQgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQogCiAgICAgIGQgeG1sQ2hlY2tMYW5ndWFnZUlELi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sQ2hlY2tMYW5ndWFnZUlEJykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxDaGVja0xhbmd1YWdlSUQnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCBsYW5nICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCiAKICAgICAgICogUmVhbGx5IGNvcmUgZnVuY3Rpb24gc2hhcmVkIHdpdGggSFRNTCBwYXJzZXIuCiAKLSAgICAgZCB4bWxDdXJyZW50Q2hhciAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxDdXJyZW50Q2hhcicpCisgICAgIGQgeG1sQ3VycmVudENoYXIgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQ3VycmVudENoYXInKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCiAgICAgIGQgbGVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCAqCiAKICAgICAgZCB4bWxDb3B5Q2hhck11bHRpQnl0ZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbENvcHlDaGFyTXVsdGlCeXRlJykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxDb3B5Q2hhck11bHRpQnl0ZScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkIG91dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICB4bWxDaGFyICoKLSAgICAgZCB2YWwgICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkIHZhbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAotICAgICBkIHhtbENvcHlDaGFyICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbENvcHlDaGFyJykKLSAgICAgZCBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkIHhtbENvcHlDaGFyICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbENvcHlDaGFyJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCisgICAgIGQgbGVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogICAgICBkIG91dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICB4bWxDaGFyICoKLSAgICAgZCB2YWwgICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkIHZhbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIHhtbE5leHRDaGFyICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbE5leHRDaGFyJykKICAgICAgZCBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCkBAIC01NjAsOCArNTgzLDggQEAKICAgICAgZCB4bWxEZWNvZGVFbnRpdGllcy4uLgogICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbERlY29kZUVudGl0aWVzJykgICAgICAgICB4bWxDaGFyICoKICAgICAgZCBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCi0gICAgIGQgbGVuICAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKLSAgICAgZCB3aGF0ICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkIGxlbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKKyAgICAgZCB3aGF0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAgICAgIGQgZW5kICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaGFyKQogICAgICBkIGVuZDIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2hhcikKICAgICAgZCBlbmQzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENoYXIpCmRpZmYgLS1naXQgYS9vczQwMC9saWJ4bWxycGcvcGF0dGVybi5ycGdsZSBiL29zNDAwL2xpYnhtbHJwZy9wYXR0ZXJuLnJwZ2xlCmluZGV4IDJlODgxZTUuLmVmMDIzMDEgMTAwNjQ0Ci0tLSBhL29zNDAwL2xpYnhtbHJwZy9wYXR0ZXJuLnJwZ2xlCisrKyBiL29zNDAwL2xpYnhtbHJwZy9wYXR0ZXJuLnJwZ2xlCkBAIC0xMCwxMSArMTAsMTMgQEAKICAgICAgIC9kZWZpbmUgWE1MX1BBVFRFUk5fSF9fCiAKICAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveG1sdmVyc2lvbiIKLSAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcvdHJlZSIKLSAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcvZGljdCIKIAogICAgICAgL2lmIGRlZmluZWQoTElCWE1MX1BBVFRFUk5fRU5BQkxFRCkKIAorICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWxUeXBlc0MiCisgICAgICAvaW5jbHVkZSAibGlieG1scnBnL3RyZWUiCisgICAgICAvaW5jbHVkZSAibGlieG1scnBnL2RpY3QiCisKICAgICAgICogeG1sUGF0dGVybjoKICAgICAgICoKICAgICAgICogQSBjb21waWxlZCAoWFBhdGggYmFzZWQpIHBhdHRlcm4gdG8gc2VsZWN0IG5vZGVzCkBAIC0yOCw3ICszMCw4IEBACiAgICAgICAqIG1hdGNoaW5nIHdpdGggdGhpcyBtb2R1bGUKIAogICAgICBkIHhtbFBhdHRlcm5GbGFncy4uLgotICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgIDEwaSAwIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpICAgICAgICAgICBlbnVtCisgICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAgICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENlbnVtKQogICAgICBkICBYTUxfUEFUVEVSTl9ERUZBVUxULi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTaW1wbGUgcGF0dGVybiBtYXRjaAogICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAwMCcKICAgICAgZCAgWE1MX1BBVFRFUk5fWFBBVEguLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RkIFhQYXRoIHBhdHRlcm4KQEAgLTUwLDExICs1MywxMiBAQAogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sUGF0dGVyblB0cikKICAgICAgZCAgcGF0dGVybiAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCiAgICAgIGQgIGRpY3QgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbERpY3QgKgotICAgICBkICBmbGFncyAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIGZsYWdzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogICAgICBkICBuYW1lc3BhY2VzICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICooKikKIAogICAgICBkIHhtbFBhdHRlcm5NYXRjaC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFBhdHRlcm5NYXRjaCcpCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUGF0dGVybk1hdGNoJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGNvbXAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXR0ZXJuUHRyKQogICAgICBkICBub2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKIApAQCAtNjQsMTkgKzY4LDIzIEBACiAgICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKIAogICAgICBkIHhtbFBhdHRlcm5TdHJlYW1hYmxlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sUGF0dGVyblN0cmVhbWFibGUnKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFBhdHRlcm5TdHJlYW1hYmxlJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGNvbXAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXR0ZXJuUHRyKQogCiAgICAgIGQgeG1sUGF0dGVybk1heERlcHRoLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sUGF0dGVybk1heERlcHRoJykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxQYXR0ZXJuTWF4RGVwdGgnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgY29tcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhdHRlcm5QdHIpCiAKICAgICAgZCB4bWxQYXR0ZXJuTWluRGVwdGguLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxQYXR0ZXJuTWluRGVwdGgnKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFBhdHRlcm5NaW5EZXB0aCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBjb21wICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGF0dGVyblB0cikKIAogICAgICBkIHhtbFBhdHRlcm5Gcm9tUm9vdC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFBhdHRlcm5Gcm9tUm9vdCcpCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUGF0dGVybkZyb21Sb290JykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGNvbXAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXR0ZXJuUHRyKQogCiAgICAgIGQgeG1sUGF0dGVybkdldFN0cmVhbUN0eHQuLi4KQEAgLTg5LDI4ICs5NywzMyBAQAogICAgICBkICBzdHJlYW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU3RyZWFtQ3R4dFB0cikKIAogICAgICBkIHhtbFN0cmVhbVB1c2hOb2RlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sU3RyZWFtUHVzaE5vZGUnKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFN0cmVhbVB1c2hOb2RlJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIHN0cmVhbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTdHJlYW1DdHh0UHRyKQogICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKICAgICAgZCAgbnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIG5vZGVUeXBlICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgbm9kZVR5cGUgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKLSAgICAgZCB4bWxTdHJlYW1QdXNoICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxTdHJlYW1QdXNoJykKKyAgICAgZCB4bWxTdHJlYW1QdXNoICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTdHJlYW1QdXNoJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIHN0cmVhbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTdHJlYW1DdHh0UHRyKQogICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKICAgICAgZCAgbnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCiAKICAgICAgZCB4bWxTdHJlYW1QdXNoQXR0ci4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFN0cmVhbVB1c2hBdHRyJykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTdHJlYW1QdXNoQXR0cicpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBzdHJlYW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU3RyZWFtQ3R4dFB0cikKICAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCiAgICAgIGQgIG5zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgogCi0gICAgIGQgeG1sU3RyZWFtUG9wICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sU3RyZWFtUG9wJykKKyAgICAgZCB4bWxTdHJlYW1Qb3AgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTdHJlYW1Qb3AnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgc3RyZWFtICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFN0cmVhbUN0eHRQdHIpCiAKICAgICAgZCB4bWxTdHJlYW1XYW50c0FueU5vZGUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxTdHJlYW1XYW50c0FueU5vZGUnKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFN0cmVhbVdhbnRzQW55Tm9kZScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBzdHJlYW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU3RyZWFtQ3R4dFB0cikKIAogICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMSUJYTUxfUEFUVEVSTl9FTkJMRApkaWZmIC0tZ2l0IGEvb3M0MDAvbGlieG1scnBnL3JlbGF4bmcucnBnbGUgYi9vczQwMC9saWJ4bWxycGcvcmVsYXhuZy5ycGdsZQppbmRleCBhZjY2MmFhLi4xNWI4NDcxIDEwMDY0NAotLS0gYS9vczQwMC9saWJ4bWxycGcvcmVsYXhuZy5ycGdsZQorKysgYi9vczQwMC9saWJ4bWxycGcvcmVsYXhuZy5ycGdsZQpAQCAtOSwxMSArOSwxMyBAQAogICAgICAgL2RlZmluZSBYTUxfUkVMQVhfTkdfXwogCiAgICAgICAvaW5jbHVkZSAibGlieG1scnBnL3htbHZlcnNpb24iCi0gICAgICAvaW5jbHVkZSAibGlieG1scnBnL2hhc2giCi0gICAgICAvaW5jbHVkZSAibGlieG1scnBnL3htbHN0cmluZyIKIAogICAgICAgL2lmIGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkKIAorICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWxUeXBlc0MiCisgICAgICAvaW5jbHVkZSAibGlieG1scnBnL2hhc2giCisgICAgICAvaW5jbHVkZSAibGlieG1scnBnL3htbHN0cmluZyIKKwogICAgICBkIHhtbFJlbGF4TkdQdHIgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCiAKICAgICAgICogeG1sUmVsYXhOR1ZhbGlkaXR5RXJyb3JGdW5jOgpAQCAtNTEsNyArNTMsOCBAQAogICAgICAgKiBMaXN0IG9mIHBvc3NpYmxlIFJlbGF4IE5HIHZhbGlkYXRpb24gZXJyb3JzCiAKICAgICAgZCB4bWxSZWxheE5HVmFsaWRFcnIuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAxMGkgMCBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKSAgICAgICAgICAgZW51bQorICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgICAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDZW51bSkKICAgICAgZCAgWE1MX1JFTEFYTkdfT0suLi4KICAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAwCiAgICAgIGQgIFhNTF9SRUxBWE5HX0VSUl9NRU1PUlkuLi4KQEAgLTEzOCw3ICsxNDEsOCBAQAogICAgICAgKiBMaXN0IG9mIHBvc3NpYmxlIFJlbGF4IE5HIFBhcnNlciBmbGFncwogCiAgICAgIGQgeG1sUmVsYXhOR1BhcnNlckZsYWcuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAxMGkgMCBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKSAgICAgICAgICAgZW51bQorICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgICAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDZW51bSkKICAgICAgZCAgWE1MX1JFTEFYTkdQX05PTkUuLi4KICAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAwCiAgICAgIGQgIFhNTF9SRUxBWE5HUF9GUkVFX0RPQy4uLgpAQCAtMTQ3LDcgKzE1MSw4IEBACiAgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMgogCiAgICAgIGQgeG1sUmVsYXhOR0luaXRUeXBlcy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFJlbGF4TkdJbml0VHlwZXMnKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFJlbGF4TkdJbml0VHlwZXMnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIHhtbFJlbGF4TkdDbGVhbnVwVHlwZXMuLi4KICAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxSZWxheE5HQ2xlYW51cFR5cGVzJykKQEAgLTE2NCw3ICsxNjksNyBAQAogICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFJlbGF4TkdOZXdNZW1QYXJzZXJDdHh0JykKICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFJlbGF4TkdQYXJzZXJDdHh0UHRyKQogICAgICBkICBidWZmZXIgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBzaXplICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIHhtbFJlbGF4TkdOZXdEb2NQYXJzZXJDdHh0Li4uCiAgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUmVsYXhOR05ld0RvY1BhcnNlckN0eHQnKQpAQCAtMTcyLDkgKzE3NywxMCBAQAogICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQogCiAgICAgIGQgeG1sUmVsYXhQYXJzZXJTZXRGbGFnLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sUmVsYXhQYXJzZXJTZXRGbGFnJykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxSZWxheFBhcnNlclNldEZsYWcnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFJlbGF4TkdQYXJzZXJDdHh0UHRyKQotICAgICBkICBmbGFnICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIGZsYWcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sUmVsYXhOR0ZyZWVQYXJzZXJDdHh0Li4uCiAgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUmVsYXhOR0ZyZWVQYXJzZXJDdHh0JykKQEAgLTE5MCw3ICsxOTYsOCBAQAogICAgICBkICBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKIAogICAgICBkIHhtbFJlbGF4TkdHZXRQYXJzZXJFcnJvcnMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxSZWxheE5HR2V0UGFyc2VyRXJyb3JzJykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxSZWxheE5HR2V0UGFyc2VyRXJyb3JzJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxSZWxheE5HUGFyc2VyQ3R4dFB0cikKICAgICAgZCAgZXJyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFJlbGF4TkdWYWxpZGl0eUVycm9yRnVuYykKICAgICAgZCAgd2FybiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFJlbGF4TkdWYWxpZGl0eVdhcm5pbmdGdW5jKQpAQCAtMjM2LDcgKzI0Myw4IEBACiAgICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgogCiAgICAgIGQgeG1sUmVsYXhOR0dldFZhbGlkRXJyb3JzLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sUmVsYXhOR0dldFZhbGlkRXJyb3JzJykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxSZWxheE5HR2V0VmFsaWRFcnJvcnMnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFJlbGF4TkdWYWxpZEN0eHRQdHIpCiAgICAgIGQgIGVyciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxSZWxheE5HVmFsaWRpdHlFcnJvckZ1bmMpCiAgICAgIGQgIHdhcm4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxSZWxheE5HVmFsaWRpdHlXYXJuaW5nRnVuYykKQEAgLTI1OSwzNiArMjY3LDQxIEBACiAgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxSZWxheE5HVmFsaWRDdHh0UHRyKQogCiAgICAgIGQgeG1sUmVsYXhOR1ZhbGlkYXRlRG9jLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sUmVsYXhOR1ZhbGlkYXRlRG9jJykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxSZWxheE5HVmFsaWRhdGVEb2MnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFJlbGF4TkdWYWxpZEN0eHRQdHIpCiAgICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCiAKICAgICAgICogSW50ZXJmYWNlcyBmb3IgcHJvZ3Jlc3NpdmUgdmFsaWRhdGlvbiB3aGVuIHBvc3NpYmxlCiAKICAgICAgZCB4bWxSZWxheE5HVmFsaWRhdGVQdXNoRWxlbWVudC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sUmVsYXhOR1ZhbGlkYXRlUHVzaEVsZW1lbnQnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFJlbGF4TkdWYWxpZEN0eHRQdHIpCiAgICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCiAgICAgIGQgIGVsZW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQogCiAgICAgIGQgeG1sUmVsYXhOR1ZhbGlkYXRlUHVzaENEYXRhLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxSZWxheE5HVmFsaWRhdGVQdXNoQ0RhdGEnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFJlbGF4TkdWYWxpZEN0eHRQdHIpCiAgICAgIGQgIGRhdGEgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIGxlbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sUmVsYXhOR1ZhbGlkYXRlUG9wRWxlbWVudC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sUmVsYXhOR1ZhbGlkYXRlUG9wRWxlbWVudCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUmVsYXhOR1ZhbGlkQ3R4dFB0cikKICAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKICAgICAgZCAgZWxlbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCiAKICAgICAgZCB4bWxSZWxheE5HVmFsaWRhdGVGdWxsRWxlbWVudC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sUmVsYXhOR1ZhbGlkYXRlRnVsbEVsZW1lbnQnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFJlbGF4TkdWYWxpZEN0eHRQdHIpCiAgICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCiAgICAgIGQgIGVsZW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQpkaWZmIC0tZ2l0IGEvb3M0MDAvbGlieG1scnBnL3NjaGVtYXNJbnRlcm5hbHMucnBnbGUgYi9vczQwMC9saWJ4bWxycGcvc2NoZW1hc0ludGVybmFscy5ycGdsZQppbmRleCBlZGVlYTViLi44ZDMwMTNlIDEwMDY0NAotLS0gYS9vczQwMC9saWJ4bWxycGcvc2NoZW1hc0ludGVybmFscy5ycGdsZQorKysgYi9vczQwMC9saWJ4bWxycGcvc2NoZW1hc0ludGVybmFscy5ycGdsZQpAQCAtMTUsMTIgKzE1LDE1IEBACiAgICAgICAvaW5jbHVkZSAibGlieG1scnBnL3htbHZlcnNpb24iCiAKICAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpCisKKyAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveG1sVHlwZXNDIgogICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWxyZWdleHAiCiAgICAgICAvaW5jbHVkZSAibGlieG1scnBnL2hhc2giCiAgICAgICAvaW5jbHVkZSAibGlieG1scnBnL2RpY3QiCiAKICAgICAgZCB4bWxTY2hlbWFWYWxUeXBlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgMTBpIDAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykgICAgICAgICAgIGVudW0KKyAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICAgICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2VudW0pCiAgICAgIGQgIFhNTF9TQ0hFTUFTX1VOS05PV04uLi4KICAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAwCiAgICAgIGQgIFhNTF9TQ0hFTUFTX1NUUklORy4uLgpAQCAtMTE5LDcgKzEyMiw4IEBACiAgICAgICAqIFhNTCBTY2hlbWFzIGRlZmluZXMgbXVsdGlwbGUgdHlwZSBvZiB0eXBlcy4KIAogICAgICBkIHhtbFNjaGVtYVR5cGVUeXBlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgMTBpIDAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykgICAgICAgICAgIGVudW0KKyAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICAgICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2VudW0pCiAgICAgIGQgIFhNTF9TQ0hFTUFfVFlQRV9CQVNJQy4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEEgYnVpbHRpbiBkYXRhdHlwZQogICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEKICAgICAgZCAgWE1MX1NDSEVNQV9UWVBFX0FOWS4uLgpAQCAtMjAyLDcgKzIwNiw4IEBACiAgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMjAwMQogCiAgICAgIGQgeG1sU2NoZW1hQ29udGVudFR5cGUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAxMGkgMCBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKSAgICAgICAgICAgZW51bQorICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgICAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDZW51bSkKICAgICAgZCAgWE1MX1NDSEVNQV9DT05URU5UX1VOS05PV04uLi4KICAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAwCiAgICAgIGQgIFhNTF9TQ0hFTUFfQ09OVEVOVF9FTVBUWS4uLgpAQCAtMzU3LDEzICszNjIsMTMgQEAKICAgICAgZCAgYW5ub3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNjaGVtYUFubm90UHRyKQogICAgICAgKgogICAgICBkICBiYXNlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU2NoZW1hVHlwZVB0cikgICAgICAgICAgICAgICBEZXByZWNhdGVkCi0gICAgIGQgIG9jY3VycyAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERlcHJlY2F0ZWQKKyAgICAgZCAgb2NjdXJzICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpICAgICAgICAgICAgICAgICAgICAgICAgRGVwcmVjYXRlZAogICAgICBkICBkZWZWYWx1ZSAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKICAgICAgZCAgc3VidHlwZXMgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNjaGVtYVR5cGVQdHIpICAgICAgICAgICAgICAgVGhlIHR5cGUgZGVmaW5pdGlvbgogICAgICBkICBub2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVB0cikKICAgICAgZCAgdGFyZ2V0TmFtZXNwYWNlLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqCi0gICAgIGQgIGZsYWdzICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAKKyAgICAgZCAgZmxhZ3MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIHJlZlByZWZpeCAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgogICAgICBkICBkZWZWYWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU2NoZW1hVmFsUHRyKSAgICAgICAgICAgICAgICBDb21waWxlZCBjb25zdHJhaW50CiAgICAgIGQgIHJlZkRlY2wgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxTY2hlbWFBdHRyaWJ1dGVQdHIpICAgICAgICAgIERlcHJlY2F0ZWQKQEAgLTQxMywxNCArNDE4LDE0IEBACiAgICAgIGQgIGlkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgogICAgICBkICBhbm5vdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU2NoZW1hQW5ub3RQdHIpCiAgICAgIGQgIG5vZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOb2RlUHRyKQotICAgICBkICBtaW5PY2N1cnMgICAgICAgICAgICAgICAgICAgIDEwaSAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXByZWNhdGVkOyBub3QgdXNlZAotICAgICBkICBtYXhPY2N1cnMgICAgICAgICAgICAgICAgICAgIDEwaSAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXByZWNhdGVkOyBub3QgdXNlZAorICAgICBkICBtaW5PY2N1cnMgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkgICAgICAgICAgICAgICAgICAgICAgICBEZXByZWNhdGVkOyBub3QgdXNlZAorICAgICBkICBtYXhPY2N1cnMgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkgICAgICAgICAgICAgICAgICAgICAgICBEZXByZWNhdGVkOyBub3QgdXNlZAogICAgICBkICBwcm9jZXNzQ29udGVudHMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMAotICAgICBkICBhbnkgICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOcyBjb25zdHJhaW50ICMjYW55PworICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKKyAgICAgZCAgYW55ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpICAgICAgICAgICAgICAgICAgICAgICAgTnMgY29uc3RyYWludCAjI2FueT8KICAgICAgZCAgbnNTZXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNjaGVtYVdpbGRjYXJkTnNQdHIpICAgICAgICAgQWxsb3dlZCBuYW1zcGNlIGxpc3QKICAgICAgZCAgbmVnTnNTZXQgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNjaGVtYVdpbGRjYXJkTnNQdHIpICAgICAgICAgTmVnYXRlZCBuYW1lc3BhY2UKLSAgICAgZCAgZmxhZ3MgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVwcmVjYXRlZDsgbm90IHVzZWQKKyAgICAgZCAgZmxhZ3MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpICAgICAgICAgICAgICAgICAgICAgICAgRGVwcmVjYXRlZDsgbm90IHVzZWQKIAogICAgICAgKiBYTUxfU0NIRU1BU19BVFRSR1JPVVBfV0lMRENBUkRfQlVJTERFRDoKICAgICAgICoKQEAgLTQ3OCw3ICs0ODMsNyBAQAogICAgICAgKgogICAgICBkICBhdHRyaWJ1dGVzICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU2NoZW1hQXR0cmlidXRlUHRyKSAgICAgICAgICBEZXByZWNhdGVkOyBub3QgdXNlZAogICAgICBkICBub2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVB0cikKLSAgICAgZCAgZmxhZ3MgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMAorICAgICBkICBmbGFncyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgYXR0cmlidXRlV2lsZGNhcmQuLi4KICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNjaGVtYVdpbGRjYXJkUHRyKQogICAgICBkICByZWZQcmVmaXggICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKQEAgLTc1MywyMSArNzU4LDIxIEBACiAgICAgIGQgIHN1YnR5cGVzICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxTY2hlbWFUeXBlUHRyKQogICAgICBkICBhdHRyaWJ1dGVzICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU2NoZW1hQXR0cmlidXRlUHRyKSAgICAgICAgICBEZXByZWNhdGVkOyBub3QgdXNlZAogICAgICBkICBub2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVB0cikKLSAgICAgZCAgbWluT2NjdXJzICAgICAgICAgICAgICAgICAgICAxMGkgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVwcmVjYXRlZDsgbm90IHVzZWQKLSAgICAgZCAgbWF4T2NjdXJzICAgICAgICAgICAgICAgICAgICAxMGkgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVwcmVjYXRlZDsgbm90IHVzZWQKKyAgICAgZCAgbWluT2NjdXJzICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpICAgICAgICAgICAgICAgICAgICAgICAgRGVwcmVjYXRlZDsgbm90IHVzZWQKKyAgICAgZCAgbWF4T2NjdXJzICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpICAgICAgICAgICAgICAgICAgICAgICAgRGVwcmVjYXRlZDsgbm90IHVzZWQKICAgICAgICoKLSAgICAgZCAgZmxhZ3MgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMAorICAgICBkICBmbGFncyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgY29udGVudFR5cGUgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNjaGVtYUNvbnRlbnRUeXBlKQogICAgICBkICBiYXNlICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKICAgICAgZCAgYmFzZU5zICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCiAgICAgIGQgIGJhc2VUeXBlICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxTY2hlbWFUeXBlUHRyKSAgICAgICAgICAgICAgIEJhc2UgdHlwZSBjb21wb25lbnQKICAgICAgZCAgZmFjZXRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNjaGVtYUZhY2V0UHRyKSAgICAgICAgICAgICAgTG9jYWwgZmFjZXRzCiAgICAgIGQgIHJlZGVmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxTY2hlbWFUeXBlUHRyKSAgICAgICAgICAgICAgIERlcHJlY2F0ZWQ7IG5vdCB1c2VkCi0gICAgIGQgIHJlY3Vyc2UgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9ic29sZXRlCisgICAgIGQgIHJlY3Vyc2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KSAgICAgICAgICAgICAgICAgICAgICAgIE9ic29sZXRlCiAgICAgIGQgIGF0dHJpYnV0ZVVzZXMgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxTY2hlbWFBdHRyaWJ1dGVMaW5rUHRyKSAgICAgIERlcHJlY2F0ZWQ7IG5vdCB1c2VkCiAgICAgIGQgIGF0dHJpYnV0ZVdpbGRjYXJkLi4uCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxTY2hlbWFXaWxkY2FyZFB0cikKLSAgICAgZCAgYnVpbHRJblR5cGUgICAgICAgICAgICAgICAgICAxMGkgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQnVpbHQtaW4gdHlwZXMgdHlwZQorICAgICBkICBidWlsdEluVHlwZSAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkgICAgICAgICAgICAgICAgICAgICAgICBCdWlsdC1pbiB0eXBlcyB0eXBlCiAgICAgIGQgIG1lbWJlclR5cGVzICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxTY2hlbWFUeXBlTGlua1B0cikgICAgICAgICAgIFVuaW9uIG1lbWJlci10eXBlcwogICAgICBkICBmYWNldFNldCAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU2NoZW1hRmFjZXRMaW5rUHRyKSAgICAgICAgICBBbGwgZmFjZXRzCiAgICAgIGQgIHJlZlByZWZpeCAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgpAQCAtOTM3LDEwICs5NDIsMTAgQEAKICAgICAgZCAgc3VidHlwZXMgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNjaGVtYVR5cGVQdHIpCiAgICAgIGQgIGF0dHJpYnV0ZXMgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxTY2hlbWFBdHRyaWJ1dGVQdHIpICAgICAgICAgIERlcHJlY2F0ZWQ7IG5vdCB1c2VkCiAgICAgIGQgIG5vZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOb2RlUHRyKQotICAgICBkICBtaW5PY2N1cnMgICAgICAgICAgICAgICAgICAgIDEwaSAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXByZWNhdGVkOyBub3QgdXNlZAotICAgICBkICBtYXhPY2N1cnMgICAgICAgICAgICAgICAgICAgIDEwaSAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXByZWNhdGVkOyBub3QgdXNlZAorICAgICBkICBtaW5PY2N1cnMgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkgICAgICAgICAgICAgICAgICAgICAgICBEZXByZWNhdGVkOyBub3QgdXNlZAorICAgICBkICBtYXhPY2N1cnMgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkgICAgICAgICAgICAgICAgICAgICAgICBEZXByZWNhdGVkOyBub3QgdXNlZAogICAgICAgKgotICAgICBkICBmbGFncyAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwCisgICAgIGQgIGZsYWdzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICB0YXJnZXROYW1lc3BhY2UuLi4KICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCiAgICAgIGQgIG5hbWVkVHlwZSAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgpAQCAtOTk1LDggKzEwMDAsOCBAQAogICAgICBkICBpZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKICAgICAgZCAgYW5ub3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNjaGVtYUFubm90UHRyKQogICAgICBkICBub2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVB0cikKLSAgICAgZCAgZml4ZWQgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX0ZBQ0VUX1BSRVNFUlZFLCBldGMKLSAgICAgZCAgd2hpdGVzcGFjZSAgICAgICAgICAgICAgICAgICAxMGkgMAorICAgICBkICBmaXhlZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkgICAgICAgICAgICAgICAgICAgICAgICBfRkFDRVRfUFJFU0VSVkUsIGV0YworICAgICBkICB3aGl0ZXNwYWNlICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgdmFsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNjaGVtYVZhbFB0cikgICAgICAgICAgICAgICAgQ29tcGlsZWQgdmFsdWUKICAgICAgZCAgcmVnZXhwICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFJlZ2V4cFB0cikgICAgICAgICAgICAgICAgICAgUmVnZXhwIGZvciBwYXR0ZXJucwogCkBAIC0xMTA2LDcgKzExMTEsNyBAQAogICAgICBkICBpZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKICAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbERvY1B0cikKICAgICAgZCAgYW5ub3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNjaGVtYUFubm90UHRyKQotICAgICBkICBmbGFncyAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwCisgICAgIGQgIGZsYWdzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICAgKgogICAgICBkICB0eXBlRGVjbCAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sSGFzaFRhYmxlUHRyKQogICAgICBkICBhdHRyRGVjbCAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sSGFzaFRhYmxlUHRyKQpAQCAtMTEyMCw4ICsxMTI1LDggQEAKICAgICAgZCAgZ3JvdXBEZWNsICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEhhc2hUYWJsZVB0cikKICAgICAgZCAgZGljdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbERpY3RQdHIpCiAgICAgIGQgIGluY2x1ZGVzICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgotICAgICBkICBwcmVzZXJ2ZSAgICAgICAgICAgICAgICAgICAgIDEwaSAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEbyBub3QgZnJlZSBkb2MgPwotICAgICBkICBjb3VudGVyICAgICAgICAgICAgICAgICAgICAgIDEwaSAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGb3IgbmFtZSB1bmlxdWVuZXNzCisgICAgIGQgIHByZXNlcnZlICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KSAgICAgICAgICAgICAgICAgICAgICAgIERvIG5vdCBmcmVlIGRvYyA/CisgICAgIGQgIGNvdW50ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KSAgICAgICAgICAgICAgICAgICAgICAgIEZvciBuYW1lIHVuaXF1ZW5lc3MKICAgICAgZCAgaWRjRGVmICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEhhc2hUYWJsZVB0cikgICAgICAgICAgICAgICAgQWxsIGlkLWNvbnN0ci4gZGVmcwogICAgICBkICB2b2xhdGlsZXMgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKIApkaWZmIC0tZ2l0IGEvb3M0MDAvbGlieG1scnBnL3NjaGVtYXRyb24ucnBnbGUgYi9vczQwMC9saWJ4bWxycGcvc2NoZW1hdHJvbi5ycGdsZQppbmRleCBjOTg3Y2Q1Li44MjcxY2E1IDEwMDY0NAotLS0gYS9vczQwMC9saWJ4bWxycGcvc2NoZW1hdHJvbi5ycGdsZQorKysgYi9vczQwMC9saWJ4bWxycGcvc2NoZW1hdHJvbi5ycGdsZQpAQCAtMTIsMTAgKzEyLDEyIEBACiAKICAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9TQ0hFTUFUUk9OX0VOQUJMRUQpCiAKKyAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveG1sVHlwZXNDIgogICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy90cmVlIgogCiAgICAgIGQgeG1sU2NoZW1hdHJvblZhbGlkT3B0aW9ucy4uLgotICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgIDEwaSAwIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpICAgICAgICAgICBlbnVtCisgICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAgICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENlbnVtKQogICAgICBkICBYTUxfU0NIRU1BVFJPTl9PVVRfUVVJRVQuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBRdWlldCBubyByZXBvcnQKICAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICBYJzAwMDEnCiAgICAgIGQgIFhNTF9TQ0hFTUFUUk9OX09VVF9URVhULi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJ1aWxkIHRleHR1YWwgcmVwb3J0CkBAIC03OCw3ICs4MCw3IEBACiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFNjaGVtYXRyb25OZXdNZW1QYXJzZXJDdHh0JykKICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNjaGVtYXRyb25QYXJzZXJDdHh0UHRyKQogICAgICBkICBidWZmZXIgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBzaXplICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIHhtbFNjaGVtYXRyb25OZXdEb2NQYXJzZXJDdHh0Li4uCiAgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKQEAgLTEwNSw4ICsxMDcsOSBAQAogICAgICBkICBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKIAogICAgICBkIHhtbFNjaGVtYXRyb25HZXRQYXJzZXJFcnJvcnMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFNjaGVtYXRyb25HZXRQYXJzZXJFcnJvcnMnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZQogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU2NoZW1hdHJvblBhcnNlckN0eHRQdHIpCiAgICAgIGQgIGVyciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxTY2hlbWF0cm9uVmFsaWRpdHlFcnJvckZ1bmMpCkBAIC0xMTUsNyArMTE4LDggQEAKICAgICAgZCAgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqKCopCiAKICAgICAgZCB4bWxTY2hlbWF0cm9uSXNWYWxpZC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFNjaGVtYXRyb25Jc1ZhbGlkJykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTY2hlbWF0cm9uSXNWYWxpZCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU2NoZW1hdHJvblZhbGlkQ3R4dFB0cikKICAgICAgIC9lbmRpZgogCkBAIC0xNTAsOCArMTU0LDkgQEAKICAgICAgZCAgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCiAKICAgICAgZCB4bWxTY2hlbWF0cm9uR2V0VmFsaWRFcnJvcnMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFNjaGVtYXRyb25HZXRWYWxpZEVycm9ycycpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU2NoZW1hdHJvblZhbGlkQ3R4dFB0cikKICAgICAgZCAgZXJyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNjaGVtYXRyb25WYWxpZGl0eUVycm9yRnVuYykKICAgICAgZCAgd2FybiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKApAQCAtMTU5LDE5ICsxNjQsMjIgQEAKICAgICAgZCAgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqKCopCiAKICAgICAgZCB4bWxTY2hlbWF0cm9uU2V0VmFsaWRPcHRpb25zLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxTY2hlbWF0cm9uU2V0VmFsaWRPcHRpb25zJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTY2hlbWF0cm9uVmFsaWRDdHh0UHRyKQotICAgICBkICBvcHRpb25zICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIG9wdGlvbnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sU2NoZW1hdHJvblZhbGlkQ3R4dEdldE9wdGlvbnMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFNjaGVtYXRyb25WYWxpZEN0eHRHZXRPcHRpb25zJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTY2hlbWF0cm9uVmFsaWRDdHh0UHRyKQogCiAgICAgIGQgeG1sU2NoZW1hdHJvblZhbGlkYXRlT25lRWxlbWVudC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sU2NoZW1hdHJvblZhbGlkYXRlT25lRWxlbWVudCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU2NoZW1hdHJvblZhbGlkQ3R4dFB0cikKICAgICAgZCAgZWxlbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCiAgICAgICAvZW5kaWYKQEAgLTE4MCwxNCArMTg4LDE1IEBACiAgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU2NoZW1hdHJvbk5ld1ZhbGlkQ3R4dCcpCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxTY2hlbWF0cm9uVmFsaWRDdHh0UHRyKQogICAgICBkICBzY2hlbWEgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU2NoZW1hdHJvblB0cikKLSAgICAgZCAgb3B0aW9ucyAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBvcHRpb25zICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIHhtbFNjaGVtYXRyb25GcmVlVmFsaWRDdHh0Li4uCiAgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU2NoZW1hdHJvbkZyZWVWYWxpZEN0eHQnKQogICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU2NoZW1hdHJvblZhbGlkQ3R4dFB0cikKIAogICAgICBkIHhtbFNjaGVtYXRyb25WYWxpZGF0ZURvYy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFNjaGVtYXRyb25WYWxpZGF0ZURvYycpCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU2NoZW1hdHJvblZhbGlkYXRlRG9jJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTY2hlbWF0cm9uVmFsaWRDdHh0UHRyKQogICAgICBkICBpbnN0YW5jZSAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQogCmRpZmYgLS1naXQgYS9vczQwMC9saWJ4bWxycGcvdGhyZWFkcy5ycGdsZSBiL29zNDAwL2xpYnhtbHJwZy90aHJlYWRzLnJwZ2xlCmluZGV4IDA3ZDQyNzguLjEyNDc5OGIgMTAwNjQ0Ci0tLSBhL29zNDAwL2xpYnhtbHJwZy90aHJlYWRzLnJwZ2xlCisrKyBiL29zNDAwL2xpYnhtbHJwZy90aHJlYWRzLnJwZ2xlCkBAIC0xMCw2ICsxMCw3IEBACiAgICAgICAvZGVmaW5lIFhNTF9USFJFQURTX0hfXwogCiAgICAgICAvaW5jbHVkZSAibGlieG1scnBnL3htbHZlcnNpb24iCisgICAgICAvaW5jbHVkZSAibGlieG1scnBnL3htbFR5cGVzQyIKIAogICAgICAgKiB4bWxNdXRleCBhcmUgYSBzaW1wbGUgbXV0dWFsIGV4Y2VwdGlvbiBsb2Nrcy4KIApAQCAtNTUsMTAgKzU2LDEyIEBACiAgICAgIGQgeG1sVW5sb2NrTGlicmFyeS4uLgogICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVubG9ja0xpYnJhcnknKQogCi0gICAgIGQgeG1sR2V0VGhyZWFkSWQgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sR2V0VGhyZWFkSWQnKQorICAgICBkIHhtbEdldFRocmVhZElkICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEdldFRocmVhZElkJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxJc01haW5UaHJlYWQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxJc01haW5UaHJlYWQnKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbElzTWFpblRocmVhZCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sQ2xlYW51cFRocmVhZHMuLi4KICAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxDbGVhbnVwVGhyZWFkcycpCmRpZmYgLS1naXQgYS9vczQwMC9saWJ4bWxycGcvdHJlZS5ycGdsZSBiL29zNDAwL2xpYnhtbHJwZy90cmVlLnJwZ2xlCmluZGV4IDVjNjdmNGYuLjY1MTI3NzggMTAwNjQ0Ci0tLSBhL29zNDAwL2xpYnhtbHJwZy90cmVlLnJwZ2xlCisrKyBiL29zNDAwL2xpYnhtbHJwZy90cmVlLnJwZ2xlCkBAIC02Nyw3ICs2Nyw4IEBACiAgICAgICAqIG5lZWQgb3IgZG91YmxlIGl0J3MgYWxsb2NhdGVkIHNpemUgZWFjaCB0aW1lIGl0IGlzIGZvdW5kIHRvbyBzbWFsbC4KIAogICAgICBkIHhtbEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAxMGkgMCBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKSAgICAgICAgICAgZW51bQorICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgICAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDZW51bSkKICAgICAgZCAgWE1MX0JVRkZFUl9BTExPQ19ET1VCTEVJVC4uLgogICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDAKICAgICAgZCAgWE1MX0JVRkZFUl9BTExPQ19FWEFDVC4uLgpAQCAtODksOCArOTAsOCBAQAogICAgICBkIHhtbEJ1ZmZlciAgICAgICBkcyAgICAgICAgICAgICAgICAgIGJhc2VkKHhtbEJ1ZmZlclB0cikKICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGlnbiBxdWFsaWZpZWQKICAgICAgZCAgY29udGVudCAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sQ2hhciAqCi0gICAgIGQgIHVzZSAgICAgICAgICAgICAgICAgICAgICAgICAgMTB1IDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoZSBidWZmZXIgc2l6ZSB1c2VkCi0gICAgIGQgIHNpemUgICAgICAgICAgICAgICAgICAgICAgICAgMTB1IDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoZSBidWZmZXIgc2l6ZQorICAgICBkICB1c2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ3VpbnQpCisgICAgIGQgIHNpemUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDdWludCkKICAgICAgZCAgYWxsb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUpICAgICAgVGhlIHJlYWxsb2MgbWV0aG9kCiAgICAgIGQgIGNvbnRlbnRJTyAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbENoYXIgKgogCkBAIC0xNTAsNyArMTUxLDggQEAKICAgICAgICogQWN0dWFsbHkgdGhpcyBoYWQgZGl2ZXJnZWQgYSBiaXQsIGFuZCBub3cgWE1MX0RPQ1VNRU5UX1RZUEVfTk9ERSBzaG91bGQKICAgICAgICogYmUgZGVwcmVjYXRlZCB0byB1c2UgYW4gWE1MX0RURF9OT0RFLgogCi0gICAgIGQgeG1sRWxlbWVudFR5cGUgIHMgICAgICAgICAgICAgMTBpIDAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykgICAgICAgICAgIGVudW0KKyAgICAgZCB4bWxFbGVtZW50VHlwZSAgcyAgICAgICAgICAgICAgICAgICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2VudW0pCiAgICAgIGQgIFhNTF9FTEVNRU5UX05PREUuLi4KICAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxCiAgICAgIGQgIFhNTF9BVFRSSUJVVEVfTk9ERS4uLgpAQCAtMjEyLDcgKzIxNCw4IEBACiAgICAgICAqIEEgRFREIEF0dHJpYnV0ZSB0eXBlIGRlZmluaXRpb24uCiAKICAgICAgZCB4bWxBdHRyaWJ1dGVUeXBlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgMTBpIDAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykgICAgICAgICAgIGVudW0KKyAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICAgICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2VudW0pCiAgICAgIGQgIFhNTF9BVFRSSUJVVEVfQ0RBVEEuLi4KICAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxCiAgICAgIGQgIFhNTF9BVFRSSUJVVEVfSUQuLi4KQEAgLTIzOSw3ICsyNDIsOCBAQAogICAgICAgKiBBIERURCBBdHRyaWJ1dGUgZGVmYXVsdCBkZWZpbml0aW9uLgogCiAgICAgIGQgeG1sQXR0cmlidXRlRGVmYXVsdC4uLgotICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgIDEwaSAwIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpICAgICAgICAgICBlbnVtCisgICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAgICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENlbnVtKQogICAgICBkICBYTUxfQVRUUklCVVRFX05PTkUuLi4KICAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxCiAgICAgIGQgIFhNTF9BVFRSSUJVVEVfUkVRVUlSRUQuLi4KQEAgLTI5OCw3ICszMDIsOCBAQAogICAgICAgKiBQb3NzaWJsZSBkZWZpbml0aW9ucyBvZiBlbGVtZW50IGNvbnRlbnQgdHlwZXMuCiAKICAgICAgZCB4bWxFbGVtZW50Q29udGVudFR5cGUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAxMGkgMCBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKSAgICAgICAgICAgZW51bQorICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgICAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDZW51bSkKICAgICAgZCAgWE1MX0VMRU1FTlRfQ09OVEVOVF9QQ0RBVEEuLi4KICAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxCiAgICAgIGQgIFhNTF9FTEVNRU5UX0NPTlRFTlRfRUxFTUVOVC4uLgpAQCAtMzEzLDcgKzMxOCw4IEBACiAgICAgICAqIFBvc3NpYmxlIGRlZmluaXRpb25zIG9mIGVsZW1lbnQgY29udGVudCBvY2N1cnJlbmNlcy4KIAogICAgICBkIHhtbEVsZW1lbnRDb250ZW50T2NjdXIuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAxMGkgMCBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKSAgICAgICAgICAgZW51bQorICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgICAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDZW51bSkKICAgICAgZCAgWE1MX0VMRU1FTlRfQ09OVEVOVF9PTkNFLi4uCiAgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMQogICAgICBkICBYTUxfRUxFTUVOVF9DT05URU5UX09QVC4uLgpAQCAtMzQ3LDcgKzM1Myw4IEBACiAgICAgICAqIFRoZSBkaWZmZXJlbnQgcG9zc2liaWxpdGllcyBmb3IgYW4gZWxlbWVudCBjb250ZW50IHR5cGUuCiAKICAgICAgZCB4bWxFbGVtZW50VHlwZVZhbC4uLgotICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgIDEwaSAwIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpICAgICAgICAgICBlbnVtCisgICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAgICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENlbnVtKQogICAgICBkICBYTUxfRUxFTUVOVF9UWVBFX1VOREVGSU5FRC4uLgogICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDAKICAgICAgZCAgWE1MX0VMRU1FTlRfVFlQRV9FTVBUWS4uLgpAQCAtNDY5LDcgKzQ3Niw3IEBACiAgICAgIGQgIG5leHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxJZFB0cikgICAgICAgICAgICAgICAgICAgICAgIE5leHQgSUQKICAgICAgZCAgYXR0ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEF0dHJQdHIpICAgICAgICAgICAgICAgICAgICAgQXR0cmlidXRlIGhvbGRpbmcgaXQKICAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIGxpbmVubyAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpbmUgIyBpZiBub3QgYXZhaWwKKyAgICAgZCAgbGluZW5vICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpICAgICAgICAgICAgICAgICAgICAgICAgTGluZSAjIGlmIG5vdCBhdmFpbAogICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRG9jUHRyKSAgICAgICAgICAgICAgICAgICAgICBEb2MgaG9sZGluZyBJRAogCiAgICAgICAqIHhtbFJlZjoKQEAgLTQ4NCw3ICs0OTEsNyBAQAogICAgICBkICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKICAgICAgZCAgYXR0ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEF0dHJQdHIpICAgICAgICAgICAgICAgICAgICAgQXR0cmlidXRlIGhvbGRpbmcgaXQKICAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIGxpbmVubyAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpbmUgIyBpZiBub3QgYXZhaWwKKyAgICAgZCAgbGluZW5vICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpICAgICAgICAgICAgICAgICAgICAgICAgTGluZSAjIGlmIG5vdCBhdmFpbAogCiAgICAgICAqIHhtbE5vZGU6CiAgICAgICAqCkBAIC01MTUsNyArNTIyLDggQEAKICAgICAgICogU29tZSBvZiB0aGVtIGFyZSBsaW5rZWQgdG8gc2ltaWxhcnkgbmFtZWQgeG1sUGFyc2VyT3B0aW9uCiAKICAgICAgZCB4bWxEb2NQcm9wZXJ0aWVzLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgMTBpIDAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykgICAgICAgICAgIGVudW0KKyAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICAgICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2VudW0pCiAgICAgIGQgIFhNTF9ET0NfV0VMTEZPUk1FRC4uLgogICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAwMDAwMDEnCiAgICAgIGQgIFhNTF9ET0NfTlNWQUxJRC4uLgpAQCAtNTQ2LDggKzU1NCw4IEBACiAgICAgIGQgIG5leHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOb2RlUHRyKSAgICAgICAgICAgICAgICAgICAgIG5leHQgc2libGluZyBsaW5rCiAgICAgIGQgIHByZXYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOb2RlUHRyKSAgICAgICAgICAgICAgICAgICAgIHByZXZpb3VzIHNpYmxpbmcgbG5rCiAgICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxEb2NQdHIpICAgICAgICAgICAgICAgICAgICAgIFJlZmVyZW5jZSB0byBpdHNlbGYKLSAgICAgZCAgY29tcHJlc3Npb24gICAgICAgICAgICAgICAgICAxMGkgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgemxpYiBjb21wcmVzc2lvbiBsZXYKLSAgICAgZCAgc3RhbmRhbG9uZSAgICAgICAgICAgICAgICAgICAxMGkgMAorICAgICBkICBjb21wcmVzc2lvbiAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkgICAgICAgICAgICAgICAgICAgICAgICB6bGliIGNvbXByZXNzaW9uIGxldgorICAgICBkICBzdGFuZGFsb25lICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgaW50U3Vic2V0ICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbER0ZFB0cikgICAgICAgICAgICAgICAgICAgICAgSW50ZXJuYWwgc3Vic2V0CiAgICAgIGQgIGV4dFN1YnNldCAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxEdGRQdHIpICAgICAgICAgICAgICAgICAgICAgIEV4dGVybmFsIHN1YnNldAogICAgICBkICBvbGRucyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTnNQdHIpICAgICAgICAgICAgICAgICAgICAgICBHbG9iYWwgbmFtZXNwYWNlCkBAIC01NTYsMTEgKzU2NCwxMSBAQAogICAgICBkICBpZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJRHMgaGFzaCB0YWJsZQogICAgICBkICByZWZzICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJRFJFRnMgaGFzaCB0YWJsZQogICAgICBkICBVUkwgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgY2hhcnNldCAgICAgICAgICAgICAgICAgICAgICAxMGkgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW4tbWVtb3J5IGVuY29kaW5nCisgICAgIGQgIGNoYXJzZXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KSAgICAgICAgICAgICAgICAgICAgICAgIEluLW1lbW9yeSBlbmNvZGluZwogICAgICBkICBkaWN0ICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxEaWN0UHRyIGZvciBuYW1lcwogICAgICBkICBwc3ZpICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUeXBlL1BTVkkgaW5vCi0gICAgIGQgIHBhcnNlRmxhZ3MgICAgICAgICAgICAgICAgICAgMTBpIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbFBhcnNlck9wdGlvbidzCi0gICAgIGQgIHByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgMTBpIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbERvY1Byb3BlcnRpZXMKKyAgICAgZCAgcGFyc2VGbGFncyAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpICAgICAgICAgICAgICAgICAgICAgICAgeG1sUGFyc2VyT3B0aW9uJ3MKKyAgICAgZCAgcHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpICAgICAgICAgICAgICAgICAgICAgICAgeG1sRG9jUHJvcGVydGllcwogCiAgICAgICAqIHhtbERPTVdyYXBBY3F1aXJlTnNGdW5jdGlvbjoKICAgICAgICogQGN0eHQ6ICBhIERPTSB3cmFwcGVyIGNvbnRleHQKQEAgLTU4Nyw3ICs1OTUsNyBAQAogICAgICBkICAgICAgICAgICAgICAgICBkcyAgICAgICAgICAgICAgICAgIGJhc2VkKHhtbERPTVdyYXBDdHh0UHRyKQogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduIHF1YWxpZmllZAogICAgICBkICAjcHJpdmF0ZSAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKLSAgICAgZCAgdHlwZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMAorICAgICBkICB0eXBlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgbmFtZXNwYWNlTWFwICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCiAgICAgIGQgIGdldE5zRm9yTm9kZUZ1bmMuLi4KICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbERPTVdyYXBBY3F1aXJlTnNGdW5jdGlvbikKQEAgLTYxOSw5ICs2MjcsMTAgQEAKICAgICAgIC9lbmRpZgogICAgICAgL2lmIGRlZmluZWQoWE1MX1RFU1RWQUwpCiAgICAgIGQgeG1sVmFsaWRhdGVOQ05hbWUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxWYWxpZGF0ZU5DTmFtZScpCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVmFsaWRhdGVOQ05hbWUnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIHNwYWNlICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgc3BhY2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgIC91bmRlZmluZSBYTUxfVEVTVFZBTAogICAgICAgL2VuZGlmCkBAIC02MzMsMTkgKzY0MiwyMiBAQAogICAgICAgL2VuZGlmCiAgICAgICAvaWYgZGVmaW5lZChYTUxfVEVTVFZBTCkKICAgICAgZCB4bWxWYWxpZGF0ZVFOYW1lLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVmFsaWRhdGVRTmFtZScpCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVmFsaWRhdGVRTmFtZScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgc3BhY2UgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBzcGFjZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIHhtbFZhbGlkYXRlTmFtZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFZhbGlkYXRlTmFtZScpCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVmFsaWRhdGVOYW1lJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBzcGFjZSAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIHNwYWNlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sVmFsaWRhdGVOTVRva2VuLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVmFsaWRhdGVOTVRva2VuJykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxWYWxpZGF0ZU5NVG9rZW4nKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIHNwYWNlICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgc3BhY2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgIC91bmRlZmluZSBYTUxfVEVTVFZBTAogICAgICAgL2VuZGlmCkBAIC02NTQsNyArNjY2LDcgQEAKICAgICAgZCAgbmNuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCiAgICAgIGQgIHByZWZpeCAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgogICAgICBkICBtZW1vcnkgICAgICAgICAgICAgICAgICAgIDY1NTM1ICAgIG9wdGlvbnMoKnZhcnNpemU6ICpvbWl0KSAgICAgICAgICAgICB4bWxDaGFyW10KLSAgICAgZCAgbGVuICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVtb3J5IGxlbmd0aAorICAgICBkICBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkgICAgICAgICAgICAgICAgICBtZW1vcnkgbGVuZ3RoCiAKICAgICAgZCB4bWxTcGxpdFFOYW1lMiAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxTcGxpdFFOYW1lMicpICAgICAgICAgICAgeG1sQ2hhciAqCiAgICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgpAQCAtNjYyLDcgKzY3NCw3IEBACiAKICAgICAgZCB4bWxTcGxpdFFOYW1lMyAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxTcGxpdFFOYW1lMycpICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCiAgICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwCisgICAgIGQgIGxlbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogCiAgICAgICAqIEhhbmRsaW5nIEJ1ZmZlcnMsIHRoZSBvbGQgb25lcyBzZWUgQHhtbEJ1ZiBmb3IgdGhlIG5ldyBvbmVzLgogCkBAIC02OTMsNDQgKzcwNSw1MiBAQAogICAgICBkICBzaXplICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ3NpemVfdCkKIAogICAgICBkIHhtbEJ1ZmZlclJlc2l6ZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbEJ1ZmZlclJlc2l6ZScpCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQnVmZmVyUmVzaXplJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGJ1ZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxCdWZmZXJQdHIpCiAgICAgIGQgIHNpemUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDc2l6ZV90KQogCiAgICAgIGQgeG1sQnVmZmVyRnJlZSAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQnVmZmVyRnJlZScpCiAgICAgIGQgIGJ1ZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxCdWZmZXJQdHIpCiAKLSAgICAgZCB4bWxCdWZmZXJEdW1wICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxCdWZmZXJEdW1wJykKKyAgICAgZCB4bWxCdWZmZXJEdW1wICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxCdWZmZXJEdW1wJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGZpbGUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZJTEUgKgogICAgICBkICBidWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQnVmZmVyUHRyKQogCi0gICAgIGQgeG1sQnVmZmVyQWRkICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sQnVmZmVyQWRkJykKKyAgICAgZCB4bWxCdWZmZXJBZGQgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxCdWZmZXJBZGQnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgYnVmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEJ1ZmZlclB0cikKICAgICAgZCAgc3RyICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIGxlbiAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ciBsZW5ndGgKKyAgICAgZCAgbGVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpICAgICAgICAgICAgICAgICAgc3RyIGxlbmd0aAogCiAgICAgIGQgeG1sQnVmZmVyQWRkSGVhZC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbEJ1ZmZlckFkZEhlYWQnKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEJ1ZmZlckFkZEhlYWQnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgYnVmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEJ1ZmZlclB0cikKICAgICAgZCAgc3RyICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIGxlbiAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ciBsZW5ndGgKKyAgICAgZCAgbGVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpICAgICAgICAgICAgICAgICAgc3RyIGxlbmd0aAogCi0gICAgIGQgeG1sQnVmZmVyQ2F0ICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sQnVmZmVyQ2F0JykKKyAgICAgZCB4bWxCdWZmZXJDYXQgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxCdWZmZXJDYXQnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgYnVmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEJ1ZmZlclB0cikKICAgICAgZCAgc3RyICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCiAKLSAgICAgZCB4bWxCdWZmZXJDQ2F0ICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxCdWZmZXJDQ2F0JykKKyAgICAgZCB4bWxCdWZmZXJDQ2F0ICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxCdWZmZXJDQ2F0JykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGJ1ZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxCdWZmZXJQdHIpCiAgICAgIGQgIHN0ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgogCiAgICAgIGQgeG1sQnVmZmVyU2hyaW5rLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sQnVmZmVyU2hyaW5rJykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxCdWZmZXJTaHJpbmsnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgYnVmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEJ1ZmZlclB0cikKLSAgICAgZCAgbGVuICAgICAgICAgICAgICAgICAgICAgICAgICAxMHUgMCB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyIGxlbmd0aAorICAgICBkICBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ3VpbnQpCiAKLSAgICAgZCB4bWxCdWZmZXJHcm93ICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxCdWZmZXJHcm93JykKKyAgICAgZCB4bWxCdWZmZXJHcm93ICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxCdWZmZXJHcm93JykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGJ1ZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxCdWZmZXJQdHIpCi0gICAgIGQgIGxlbiAgICAgICAgICAgICAgICAgICAgICAgICAgMTB1IDAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ciBsZW5ndGgKKyAgICAgZCAgbGVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEN1aW50KQogCiAgICAgIGQgeG1sQnVmZmVyRW1wdHkgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQnVmZmVyRW1wdHknKQogICAgICBkICBidWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQnVmZmVyUHRyKQpAQCAtNzUxLDcgKzc3MSw4IEBACiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxCdWZmZXJBbGxvY2F0aW9uU2NoZW1lKQogCiAgICAgIGQgeG1sQnVmZmVyTGVuZ3RoLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sQnVmZmVyTGVuZ3RoJykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxCdWZmZXJMZW5ndGgnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgYnVmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEJ1ZmZlclB0cikKIAogICAgICAgKiBDcmVhdGluZy9mcmVlaW5nIG5ldyBzdHJ1Y3R1cmVzLgpAQCAtODc2LDcgKzg5Nyw3IEBACiAgICAgIGQgeG1sQ29weURvYyAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQ29weURvYycpCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxEb2NQdHIpCiAgICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCi0gICAgIGQgIHJlY3Vyc2l2ZSAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgcmVjdXJzaXZlICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgIC91bmRlZmluZSBYTUxfVEVTVFZBTAogICAgICAgL2VuZGlmCkBAIC05NTAsMTIgKzk3MSwxMiBAQAogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVB0cikKICAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKICAgICAgZCAgY29udGVudCAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIGxlbiAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgbGVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxOZXdUZXh0TGVuICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxOZXdUZXh0TGVuJykKICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVQdHIpCiAgICAgIGQgIGNvbnRlbnQgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIGxlbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sTmV3RG9jQ29tbWVudC4uLgogICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbE5ld0RvY0NvbW1lbnQnKQpAQCAtOTcyLDcgKzk5Myw3IEBACiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOb2RlUHRyKQogICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQogICAgICBkICBjb250ZW50ICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgbGVuICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIHhtbE5ld0NoYXJSZWYgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbE5ld0NoYXJSZWYnKQogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVB0cikKQEAgLTk4OCwxMyArMTAwOSwxMyBAQAogICAgICBkIHhtbENvcHlOb2RlICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbENvcHlOb2RlJykKICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVQdHIpCiAgICAgIGQgIG5vZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQotICAgICBkICByZWN1cnNpdmUgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIHJlY3Vyc2l2ZSAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sRG9jQ29weU5vZGUgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sRG9jQ29weU5vZGUnKQogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVB0cikKICAgICAgZCAgbm9kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCiAgICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCi0gICAgIGQgIHJlY3Vyc2l2ZSAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgcmVjdXJzaXZlICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxEb2NDb3B5Tm9kZUxpc3QuLi4KICAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxEb2NDb3B5Tm9kZUxpc3QnKQpAQCAtMTA1OSwxMCArMTA4MCwxMiBAQAogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVB0cikKICAgICAgZCAgcGFyZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCiAKLSAgICAgZCB4bWxOb2RlSXNUZXh0ICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxOb2RlSXNUZXh0JykKKyAgICAgZCB4bWxOb2RlSXNUZXh0ICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxOb2RlSXNUZXh0JykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIG5vZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQogCi0gICAgIGQgeG1sSXNCbGFua05vZGUgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sSXNCbGFua05vZGUnKQorICAgICBkIHhtbElzQmxhbmtOb2RlICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbElzQmxhbmtOb2RlJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIG5vZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQogCiAgICAgICAqIENoYW5naW5nIHRoZSBzdHJ1Y3R1cmUuCkBAIC0xMTQ5LDEwICsxMTcyLDExIEBACiAgICAgIGQgIGZpcnN0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQogICAgICBkICBzZWNvbmQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKIAotICAgICBkIHhtbFRleHRDb25jYXQgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFRleHRDb25jYXQnKQorICAgICBkIHhtbFRleHRDb25jYXQgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFRleHRDb25jYXQnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgbm9kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCiAgICAgIGQgIGNvbnRlbnQgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIGxlbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sRnJlZU5vZGVMaXN0Li4uCiAgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sRnJlZU5vZGVMaXN0JykKQEAgLTEyNzYsMjAgKzEzMDAsMjAgQEAKICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVQdHIpCiAgICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCiAgICAgIGQgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIGxlbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sTm9kZUxpc3RHZXRTdHJpbmcuLi4KICAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxOb2RlTGlzdEdldFN0cmluZycpICAgICAgeG1sQ2hhciAqCiAgICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCiAgICAgIGQgIGxpc3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQotICAgICBkICBpbkxpbmUgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIGluTGluZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgICAvaWYgZGVmaW5lZChMSUJYTUxfVFJFRV9FTkFCTEVEKQogICAgICBkIHhtbE5vZGVMaXN0R2V0UmF3U3RyaW5nLi4uCiAgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sTm9kZUxpc3RHZXRSYXdTdHJpbmcnKSAgIHhtbENoYXIgKgogICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQogICAgICBkICBsaXN0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKLSAgICAgZCAgaW5MaW5lICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBpbkxpbmUgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKICAgICAgIC9lbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTElCWE1MX1RSRUVfRU5BQkxFRAogCiAgICAgIGQgeG1sTm9kZVNldENvbnRlbnQuLi4KQEAgLTEzMDIsNyArMTMyNiw3IEBACiAgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sTm9kZVNldENvbnRlbnRMZW4nKQogICAgICBkICBjdXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKICAgICAgZCAgY29udGVudCAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIGxlbiAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgbGVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAgICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhNTF9UUkVFX0VOQUJMRUQKIAogICAgICBkIHhtbE5vZGVBZGRDb250ZW50Li4uCkBAIC0xMzE0LDE5ICsxMzM4LDIxIEBACiAgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sTm9kZUFkZENvbnRlbnRMZW4nKQogICAgICBkICBjdXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKICAgICAgZCAgY29udGVudCAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIGxlbiAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgbGVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxOb2RlR2V0Q29udGVudC4uLgogICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbE5vZGVHZXRDb250ZW50JykgICAgICAgICB4bWxDaGFyICoKICAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCiAKICAgICAgZCB4bWxOb2RlQnVmR2V0Q29udGVudC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbE5vZGVCdWZHZXRDb250ZW50JykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxOb2RlQnVmR2V0Q29udGVudCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBidWZmZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQnVmZmVyUHRyKQogICAgICBkICBjdXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKIAogICAgICBkIHhtbEJ1ZkdldE5vZGVDb250ZW50Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sQnVmR2V0Tm9kZUNvbnRlbnQnKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEJ1ZkdldE5vZGVDb250ZW50JykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGJ1ZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxCdWZQdHIpCiAgICAgIGQgIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQogCkBAIC0xMzM0LDcgKzEzNjAsOCBAQAogICAgICBkICBjdXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKIAogICAgICBkIHhtbE5vZGVHZXRTcGFjZVByZXNlcnZlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sTm9kZUdldFNwYWNlUHJlc2VydmUnKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbE5vZGVHZXRTcGFjZVByZXNlcnZlJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQogCiAgICAgICAvaWYgZGVmaW5lZChMSUJYTUxfVFJFRV9FTkFCTEVEKQpAQCAtMTM0NSw3ICsxMzcyLDcgQEAKICAgICAgZCB4bWxOb2RlU2V0U3BhY2VQcmVzZXJ2ZS4uLgogICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbE5vZGVTZXRTcGFjZVByZXNlcnZlJykKICAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCi0gICAgIGQgIHZhbCAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgdmFsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAgICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhNTF9UUkVFX0VOQUJMRUQKIAogICAgICBkIHhtbE5vZGVHZXRCYXNlICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbE5vZGVHZXRCYXNlJykgICAgICAgICAgICB4bWxDaGFyICoKQEAgLTEzNjcsNyArMTM5NCw4IEBACiAKICAgICAgICogUmVtb3ZpbmcgY29udGVudC4KIAotICAgICBkIHhtbFJlbW92ZVByb3AgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFJlbW92ZVByb3AnKQorICAgICBkIHhtbFJlbW92ZVByb3AgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFJlbW92ZVByb3AnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEF0dHJQdHIpCiAKICAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9UUkVFX0VOQUJMRUQpCkBAIC0xMzc2LDEyICsxNDA0LDE0IEBACiAgICAgICAvZGVmaW5lIFhNTF9URVNUVkFMCiAgICAgICAvZW5kaWYKICAgICAgIC9pZiBkZWZpbmVkKFhNTF9URVNUVkFMKQotICAgICBkIHhtbFVuc2V0TnNQcm9wICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVuc2V0TnNQcm9wJykKKyAgICAgZCB4bWxVbnNldE5zUHJvcCAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVbnNldE5zUHJvcCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBub2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKICAgICAgZCAgbnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5zUHRyKQogICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKIAotICAgICBkIHhtbFVuc2V0UHJvcCAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVuc2V0UHJvcCcpCisgICAgIGQgeG1sVW5zZXRQcm9wICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVW5zZXRQcm9wJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIG5vZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQogICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKIApAQCAtMTQxOCw3ICsxNDQ4LDggQEAKICAgICAgICogTmFtZXNwYWNlIGhhbmRsaW5nLgogCiAgICAgIGQgeG1sUmVjb25jaWxpYXRlTnMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxSZWNvbmNpbGlhdGVOcycpCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUmVjb25jaWxpYXRlTnMnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKICAgICAgZCAgdHJlZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCiAgICAgICAvZW5kaWYKQEAgLTE0MzEsMzcgKzE0NjIsMzkgQEAKICAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxEb2NEdW1wRm9ybWF0TWVtb3J5JykKICAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKICAgICAgZCAgbWVtICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sQ2hhciAqICgqKQotICAgICBkICBzaXplICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwCi0gICAgIGQgIGZvcm1hdCAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCisgICAgIGQgIGZvcm1hdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sRG9jRHVtcE1lbW9yeS4uLgogICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbERvY0R1bXBNZW1vcnknKQogICAgICBkICBjdXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQogICAgICBkICBtZW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxDaGFyICogKCopCi0gICAgIGQgIHNpemUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAKKyAgICAgZCAgc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxEb2NEdW1wTWVtb3J5RW5jLi4uCiAgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sRG9jRHVtcE1lbW9yeUVuYycpCiAgICAgIGQgIG91dF9kb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCiAgICAgIGQgIGRvY190eHRfcHRyICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbENoYXIgKiAoKikKLSAgICAgZCAgZG9jX3R4dF9sZW4gICAgICAgICAgICAgICAgICAxMGkgMAorICAgICBkICBkb2NfdHh0X2xlbiAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgdHh0X2VuY29kaW5nICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCiAKICAgICAgZCB4bWxEb2NEdW1wRm9ybWF0TWVtb3J5RW5jLi4uCiAgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sRG9jRHVtcEZvcm1hdE1lbW9yeUVuYycpCiAgICAgIGQgIG91dF9kb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCiAgICAgIGQgIGRvY190eHRfcHRyICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbENoYXIgKiAoKikKLSAgICAgZCAgZG9jX3R4dF9sZW4gICAgICAgICAgICAgICAgICAxMGkgMAorICAgICBkICBkb2NfdHh0X2xlbiAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgdHh0X2VuY29kaW5nICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIGZvcm1hdCAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgZm9ybWF0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxEb2NGb3JtYXREdW1wLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sRG9jRm9ybWF0RHVtcCcpCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sRG9jRm9ybWF0RHVtcCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGSUxFICoKICAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKLSAgICAgZCAgZm9ybWF0ICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBmb3JtYXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAotICAgICBkIHhtbERvY0R1bXAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbERvY0R1bXAnKQorICAgICBkIHhtbERvY0R1bXAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbERvY0R1bXAnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRklMRSAqCiAgICAgIGQgIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCiAKQEAgLTE0NzAsNjAgKzE1MDMsNjcgQEAKICAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKICAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCiAKLSAgICAgZCB4bWxTYXZlRmlsZSAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxTYXZlRmlsZScpCisgICAgIGQgeG1sU2F2ZUZpbGUgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU2F2ZUZpbGUnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgZmlsZW5hbWUgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCiAgICAgIGQgIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCiAKICAgICAgZCB4bWxTYXZlRm9ybWF0RmlsZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFNhdmVGb3JtYXRGaWxlJykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTYXZlRm9ybWF0RmlsZScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBmaWxlbmFtZSAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKICAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKLSAgICAgZCAgZm9ybWF0ICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBmb3JtYXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIHhtbEJ1Zk5vZGVEdW1wICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEJ1Zk5vZGVEdW1wJykKICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENzaXplX3QpCiAgICAgIGQgIGJ1ZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxCdWZQdHIpCiAgICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCiAgICAgIGQgIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQotICAgICBkICBsZXZlbCAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCi0gICAgIGQgIGZvcm1hdCAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgbGV2ZWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCisgICAgIGQgIGZvcm1hdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCi0gICAgIGQgeG1sTm9kZUR1bXAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sTm9kZUR1bXAnKQorICAgICBkIHhtbE5vZGVEdW1wICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbE5vZGVEdW1wJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGJ1ZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxCdWZmZXJQdHIpCiAgICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCiAgICAgIGQgIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQotICAgICBkICBsZXZlbCAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCi0gICAgIGQgIGZvcm1hdCAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgbGV2ZWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCisgICAgIGQgIGZvcm1hdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCi0gICAgIGQgeG1sU2F2ZUZpbGVUbyAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sU2F2ZUZpbGVUbycpCisgICAgIGQgeG1sU2F2ZUZpbGVUbyAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU2F2ZUZpbGVUbycpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBidWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sT3V0cHV0QnVmZmVyUHRyKQogICAgICBkICBjdXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQogICAgICBkICBlbmNvZGluZyAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKIAogICAgICBkIHhtbFNhdmVGb3JtYXRGaWxlVG8uLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxTYXZlRm9ybWF0RmlsZVRvJykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTYXZlRm9ybWF0RmlsZVRvJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGJ1ZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxPdXRwdXRCdWZmZXJQdHIpCiAgICAgIGQgIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCiAgICAgIGQgIGVuY29kaW5nICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBmb3JtYXQgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIGZvcm1hdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sTm9kZUR1bXBPdXRwdXQuLi4KICAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxOb2RlRHVtcE91dHB1dCcpCiAgICAgIGQgIGJ1ZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxPdXRwdXRCdWZmZXJQdHIpCiAgICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCiAgICAgIGQgIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQotICAgICBkICBsZXZlbCAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCi0gICAgIGQgIGZvcm1hdCAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgbGV2ZWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCisgICAgIGQgIGZvcm1hdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogICAgICBkICBlbmNvZGluZyAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKIAogICAgICBkIHhtbFNhdmVGb3JtYXRGaWxlRW5jLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sU2F2ZUZvcm1hdEZpbGVFbmMnKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNhdmVGb3JtYXRGaWxlRW5jJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGZpbGVuYW1lICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgogICAgICBkICBjdXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQogICAgICBkICBlbmNvZGluZyAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgZm9ybWF0ICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBmb3JtYXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAotICAgICBkIHhtbFNhdmVGaWxlRW5jICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFNhdmVGaWxlRW5jJykKKyAgICAgZCB4bWxTYXZlRmlsZUVuYyAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTYXZlRmlsZUVuYycpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBmaWxlbmFtZSAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKICAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKICAgICAgZCAgZW5jb2RpbmcgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCkBAIC0xNTMxLDI3ICsxNTcxLDMwIEBACiAKICAgICAgICogWEhUTUwKIAotICAgICBkIHhtbElzWEhUTUwgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbElzWEhUTUwnKQorICAgICBkIHhtbElzWEhUTUwgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbElzWEhUTUwnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgc3lzdGVtSUQgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCiAgICAgIGQgIHB1YmxpY0lEICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgogCiAgICAgICAqIENvbXByZXNzaW9uLgogCiAgICAgIGQgeG1sR2V0RG9jQ29tcHJlc3NNb2RlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sR2V0RG9jQ29tcHJlc3NNb2RlJykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxHZXREb2NDb21wcmVzc01vZGUnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKIAogICAgICBkIHhtbFNldERvY0NvbXByZXNzTW9kZS4uLgogICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNldERvY0NvbXByZXNzTW9kZScpCiAgICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCi0gICAgIGQgIG1vZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgbW9kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxHZXRDb21wcmVzc01vZGUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxHZXRDb21wcmVzc01vZGUnKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEdldENvbXByZXNzTW9kZScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sU2V0Q29tcHJlc3NNb2RlLi4uCiAgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU2V0Q29tcHJlc3NNb2RlJykKLSAgICAgZCAgbW9kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBtb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICAgKiBET00td3JhcHBlciBoZWxwZXIgZnVuY3Rpb25zLgogCkBAIC0xNTY0LDM3ICsxNjA3LDQxIEBACiAgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxET01XcmFwQ3R4dFB0cikKIAogICAgICBkIHhtbERPTVdyYXBSZWNvbmNpbGVOYW1lc3BhY2VzLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sRE9NV3JhcFJlY29uY2lsZU5hbWVzcGFjZXMnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERPTVdyYXBDdHh0UHRyKQogICAgICBkICBlbGVtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKLSAgICAgZCAgb3B0aW9ucyAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBvcHRpb25zICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIHhtbERPTVdyYXBBZG9wdE5vZGUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxET01XcmFwQWRvcHROb2RlJykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxET01XcmFwQWRvcHROb2RlJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxET01XcmFwQ3R4dFB0cikKICAgICAgZCAgc291cmNlRG9jICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKICAgICAgZCAgbm9kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCiAgICAgIGQgIGRlc3REb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCiAgICAgIGQgIGRlc3RQYXJlbnQgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQotICAgICBkICBvcHRpb25zICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIG9wdGlvbnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sRE9NV3JhcFJlbW92ZU5vZGUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxET01XcmFwUmVtb3ZlTm9kZScpCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sRE9NV3JhcFJlbW92ZU5vZGUnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERPTVdyYXBDdHh0UHRyKQogICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQogICAgICBkICBub2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKLSAgICAgZCAgb3B0aW9ucyAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBvcHRpb25zICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIHhtbERPTVdyYXBDbG9uZU5vZGUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxET01XcmFwQ2xvbmVOb2RlJykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxET01XcmFwQ2xvbmVOb2RlJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxET01XcmFwQ3R4dFB0cikKICAgICAgZCAgc291cmNlRG9jICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKICAgICAgZCAgbm9kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCiAgICAgIGQgIGNsb25lZE5vZGUgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOb2RlUHRyKQogICAgICBkICBkZXN0RG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQogICAgICBkICBkZXN0UGFyZW50ICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKLSAgICAgZCAgb3B0aW9ucyAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBvcHRpb25zICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICAgL2lmIGRlZmluZWQoTElCWE1MX1RSRUVfRU5BQkxFRCkKIApkaWZmIC0tZ2l0IGEvb3M0MDAvbGlieG1scnBnL3VyaS5ycGdsZSBiL29zNDAwL2xpYnhtbHJwZy91cmkucnBnbGUKaW5kZXggOWEyM2Q4MC4uZGUwMzM5MiAxMDA2NDQKLS0tIGEvb3M0MDAvbGlieG1scnBnL3VyaS5ycGdsZQorKysgYi9vczQwMC9saWJ4bWxycGcvdXJpLnJwZ2xlCkBAIC0xMCw2ICsxMCw3IEBACiAgICAgICAvZGVmaW5lIFhNTF9VUklfSF9fCiAKICAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveG1sdmVyc2lvbiIKKyAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveG1sVHlwZXNDIgogICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy90cmVlIgogCiAgICAgICAqIHhtbFVSSToKQEAgLTMwLDExICszMSwxMSBAQAogICAgICBkICBhdXRob3JpdHkgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFyICoKICAgICAgZCAgc2VydmVyICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhciAqCiAgICAgIGQgIHVzZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXIgKgotICAgICBkICBwb3J0ICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwCisgICAgIGQgIHBvcnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBwYXRoICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFyICoKICAgICAgZCAgcXVlcnkgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhciAqCiAgICAgIGQgIGZyYWdtZW50ICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXIgKgotICAgICBkICBjbGVhbnVwICAgICAgICAgICAgICAgICAgICAgIDEwaSAwCisgICAgIGQgIGNsZWFudXAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBxdWVyeV9yYXcgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFyICoKIAogICAgICBkIHhtbENyZWF0ZVVSSSAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbENyZWF0ZVVSSScpCkBAIC01NiwxMCArNTcsMTEgQEAKICAgICAgZCB4bWxQYXJzZVVSSVJhdyAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxQYXJzZVVSSVJhdycpCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxVUklQdHIpCiAgICAgIGQgIHN0ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICByYXcgICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIHJhdyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sUGFyc2VVUklSZWZlcmVuY2UuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxQYXJzZVVSSVJlZmVyZW5jZScpCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUGFyc2VVUklSZWZlcmVuY2UnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgdXJpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFVSSVB0cikKICAgICAgZCAgc3RyICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCiAKQEAgLTc4LDExICs4MCwxMiBAQAogICAgICBkIHhtbFVSSVVuZXNjYXBlU3RyaW5nLi4uCiAgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sVVJJVW5lc2NhcGVTdHJpbmcnKSAgICAgIGNoYXIgKgogICAgICBkICBzdHIgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgbGVuICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgdGFyZ2V0ICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY2hhciAqCiAKICAgICAgZCB4bWxOb3JtYWxpemVVUklQYXRoLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sTm9ybWFsaXplVVJJUGF0aCcpCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sTm9ybWFsaXplVVJJUGF0aCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBwYXRoICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjaGFyICoKIAogICAgICBkIHhtbFVSSUVzY2FwZSAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbFVSSUVzY2FwZScpICAgICAgICAgICAgICB4bWxDaGFyICoKZGlmZiAtLWdpdCBhL29zNDAwL2xpYnhtbHJwZy92YWxpZC5ycGdsZSBiL29zNDAwL2xpYnhtbHJwZy92YWxpZC5ycGdsZQppbmRleCA3MjJiODlkLi4zMmViYmQzIDEwMDY0NAotLS0gYS9vczQwMC9saWJ4bWxycGcvdmFsaWQucnBnbGUKKysrIGIvb3M0MDAvbGlieG1scnBnL3ZhbGlkLnJwZ2xlCkBAIC05LDYgKzksNyBAQAogICAgICAgL2RlZmluZSBYTUxfVkFMSURfSF9fCiAKICAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveG1sdmVyc2lvbiIKKyAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveG1sVHlwZXNDIgogICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWxlcnJvciIKICAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcvdHJlZSIKICAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcvbGlzdCIKQEAgLTYzLDE5ICs2NCwxOSBAQAogICAgICAgKiBOb2RlIGFuYWx5c2lzIHN0YWNrIHVzZWQgd2hlbiB2YWxpZGF0aW5nIHdpdGhpbiBlbnRpdGllcwogICAgICAgKgogICAgICBkICBub2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVB0cikgICAgICAgICAgICAgICAgICAgICBDdXJyZW50IHBhcnNlZCBOb2RlCi0gICAgIGQgIG5vZGVOciAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhcnNpbmcgc3RhY2sgZGVwdGgKLSAgICAgZCAgbm9kZU1heCAgICAgICAgICAgICAgICAgICAgICAxMGkgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWF4IHN0YWNrIGRlcHRoCisgICAgIGQgIG5vZGVOciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KSAgICAgICAgICAgICAgICAgICAgICAgIFBhcnNpbmcgc3RhY2sgZGVwdGgKKyAgICAgZCAgbm9kZU1heCAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpICAgICAgICAgICAgICAgICAgICAgICAgTWF4IHN0YWNrIGRlcHRoCiAgICAgIGQgIG5vZGVUYWIgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbE5vZGVQdHIgKgogICAgICAgKgotICAgICBkICBmaW5pc2hEdGQgICAgICAgICAgICAgICAgICAgIDEwdSAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGaW5pc2ggdmFsaWR0bmcgRFREPworICAgICBkICBmaW5pc2hEdGQgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ3VpbnQpCiAgICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxEb2NQdHIpICAgICAgICAgICAgICAgICAgICAgIFRoZSBkb2N1bWVudAotICAgICBkICB2YWxpZCAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUZW1wIGNoZWNrIHJlc3VsdAorICAgICBkICB2YWxpZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkgICAgICAgICAgICAgICAgICAgICAgICBUZW1wIGNoZWNrIHJlc3VsdAogICAgICAgKgogICAgICAgKiBzdGF0ZSBzdGF0ZSB1c2VkIGZvciBub24tZGV0ZXJtaW5pc3QgY29udGVudCB2YWxpZGF0aW9uCiAgICAgICAqCiAgICAgIGQgIHZzdGF0ZSAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbFZhbGlkU3RhdGUgKgotICAgICBkICB2c3RhdGVOciAgICAgICAgICAgICAgICAgICAgIDEwaSAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWYWxpZGF0LiBzdGFjayBkZXB0aAotICAgICBkICB2c3RhdGVNYXggICAgICAgICAgICAgICAgICAgIDEwaSAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYXggc3RhY2sgZGVwdGgKKyAgICAgZCAgdnN0YXRlTnIgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpICAgICAgICAgICAgICAgICAgICAgICAgVmFsaWRhdC4gc3RhY2sgZGVwdGgKKyAgICAgZCAgdnN0YXRlTWF4ICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpICAgICAgICAgICAgICAgICAgICAgICAgTWF4IHN0YWNrIGRlcHRoCiAgICAgIGQgIHZzdGF0ZVRhYiAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbFZhbGlkU3RhdGUgKgogICAgICAgKgogICAgICAgL2lmIGRlZmluZWQoTElCWE1MX1JFR0VYUF9FTkFCTEVEKQpAQCAtMTg5LDkgKzE5MCw5IEBACiAgICAgIGQgeG1sU25wcmludGZFbGVtZW50Q29udGVudC4uLgogICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNucHJpbnRmRWxlbWVudENvbnRlbnQnKQogICAgICBkICBidWYgICAgICAgICAgICAgICAgICAgICAgIDY1NTM1ICAgIG9wdGlvbnMoKnZhcnNpemUpCi0gICAgIGQgIHNpemUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGNvbnRlbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxFbGVtZW50Q29udGVudFB0cikKLSAgICAgZCAgZW5nbG9iICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBlbmdsb2IgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICAgL2lmIGRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKQogICAgICAgKiBERVBSRUNBVEVECkBAIC0xOTksNyArMjAwLDcgQEAKICAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTcHJpbnRmRWxlbWVudENvbnRlbnQnKQogICAgICBkICBidWYgICAgICAgICAgICAgICAgICAgICAgIDY1NTM1ICAgIG9wdGlvbnMoKnZhcnNpemUpCiAgICAgIGQgIGNvbnRlbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxFbGVtZW50Q29udGVudFB0cikKLSAgICAgZCAgZW5nbG9iICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBlbmdsb2IgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKICAgICAgIC9lbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTElCWE1MX09VVFBVVF9FTkFCTEQKIAogICAgICAgKiBERVBSRUNBVEVECkBAIC0zMTEsMTIgKzMxMiwxNCBAQAogICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQogICAgICBkICBJRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKIAotICAgICBkIHhtbElzSUQgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbElzSUQnKQorICAgICBkIHhtbElzSUQgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbElzSUQnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKICAgICAgZCAgbm9kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCiAgICAgIGQgIGF0dHIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxBdHRyUHRyKQogCi0gICAgIGQgeG1sUmVtb3ZlSUQgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sUmVtb3ZlSUQnKQorICAgICBkIHhtbFJlbW92ZUlEICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFJlbW92ZUlEJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCiAgICAgIGQgIGF0dHIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxBdHRyUHRyKQogCkBAIC0zMzMsMTIgKzMzNiwxNCBAQAogICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEZyZWVSZWZUYWJsZScpCiAgICAgIGQgIHRhYmxlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxSZWZUYWJsZVB0cikKIAotICAgICBkIHhtbElzUmVmICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbElzUmVmJykKKyAgICAgZCB4bWxJc1JlZiAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxJc1JlZicpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQogICAgICBkICBub2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKICAgICAgZCAgYXR0ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEF0dHJQdHIpCiAKLSAgICAgZCB4bWxSZW1vdmVSZWYgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxSZW1vdmVSZWYnKQorICAgICBkIHhtbFJlbW92ZVJlZiAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFJlbW92ZVJlZicpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQogICAgICBkICBhdHRyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQXR0clB0cikKIApAQCAtMzYxLDEyICszNjYsMTQgQEAKICAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFZhbGlkQ3R4dFB0cikKIAogICAgICBkIHhtbFZhbGlkYXRlUm9vdC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFZhbGlkYXRlUm9vdCcpCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVmFsaWRhdGVSb290JykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxWYWxpZEN0eHRQdHIpCiAgICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCiAKICAgICAgZCB4bWxWYWxpZGF0ZUVsZW1lbnREZWNsLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVmFsaWRhdGVFbGVtZW50RGVjbCcpCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVmFsaWRhdGVFbGVtZW50RGVjbCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVmFsaWRDdHh0UHRyKQogICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQogICAgICBkICBlbGVtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRWxlbWVudFB0cikKQEAgLTM4OSw1MSArMzk2LDYwIEBACiAgICAgIGQgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgogCiAgICAgIGQgeG1sVmFsaWRhdGVBdHRyaWJ1dGVEZWNsLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVmFsaWRhdGVBdHRyaWJ1dGVEZWNsJykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxWYWxpZGF0ZUF0dHJpYnV0ZURlY2wnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFZhbGlkQ3R4dFB0cikKICAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKICAgICAgZCAgYXR0ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEF0dHJpYnV0ZVB0cikKIAogICAgICBkIHhtbFZhbGlkYXRlQXR0cmlidXRlVmFsdWUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxWYWxpZGF0ZUF0dHJpYnV0ZVZhbHVlJykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxWYWxpZGF0ZUF0dHJpYnV0ZVZhbHVlJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIHR5cGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxBdHRyaWJ1dGVUeXBlKQogICAgICBkICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKIAogICAgICBkIHhtbFZhbGlkYXRlTm90YXRpb25EZWNsLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVmFsaWRhdGVOb3RhdGlvbkRlY2wnKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFZhbGlkYXRlTm90YXRpb25EZWNsJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxWYWxpZEN0eHRQdHIpCiAgICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCiAgICAgIGQgIG5vdGEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb3RhdGlvblB0cikKIAotICAgICBkIHhtbFZhbGlkYXRlRHRkICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFZhbGlkYXRlRHRkJykKKyAgICAgZCB4bWxWYWxpZGF0ZUR0ZCAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxWYWxpZGF0ZUR0ZCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVmFsaWRDdHh0UHRyKQogICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQogICAgICBkICBkdGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRHRkUHRyKQogCiAgICAgIGQgeG1sVmFsaWRhdGVEdGRGaW5hbC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFZhbGlkYXRlRHRkRmluYWwnKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFZhbGlkYXRlRHRkRmluYWwnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFZhbGlkQ3R4dFB0cikKICAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKIAogICAgICBkIHhtbFZhbGlkYXRlRG9jdW1lbnQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxWYWxpZGF0ZURvY3VtZW50JykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxWYWxpZGF0ZURvY3VtZW50JykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxWYWxpZEN0eHRQdHIpCiAgICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCiAKICAgICAgZCB4bWxWYWxpZGF0ZUVsZW1lbnQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxWYWxpZGF0ZUVsZW1lbnQnKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFZhbGlkYXRlRWxlbWVudCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVmFsaWRDdHh0UHRyKQogICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQogICAgICBkICBlbGVtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKIAogICAgICBkIHhtbFZhbGlkYXRlT25lRWxlbWVudC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFZhbGlkYXRlT25lRWxlbWVudCcpCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVmFsaWRhdGVPbmVFbGVtZW50JykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxWYWxpZEN0eHRQdHIpCiAgICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCiAgICAgIGQgIGVsZW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQogCiAgICAgIGQgeG1sVmFsaWRhdGVPbmVBdHRyaWJ1dGUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxWYWxpZGF0ZU9uZUF0dHJpYnV0ZScpCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVmFsaWRhdGVPbmVBdHRyaWJ1dGUnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFZhbGlkQ3R4dFB0cikKICAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKICAgICAgZCAgZWxlbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCkBAIC00NDEsNyArNDU3LDggQEAKICAgICAgZCAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCiAKICAgICAgZCB4bWxWYWxpZGF0ZU9uZU5hbWVzcGFjZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFZhbGlkYXRlT25lTmFtZXNwYWNlJykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxWYWxpZGF0ZU9uZU5hbWVzcGFjZScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVmFsaWRDdHh0UHRyKQogICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQogICAgICBkICBlbGVtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKQEAgLTQ1MCw3ICs0NjcsOCBAQAogICAgICBkICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKIAogICAgICBkIHhtbFZhbGlkYXRlRG9jdW1lbnRGaW5hbC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFZhbGlkYXRlRG9jdW1lbnRGaW5hbCcpCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVmFsaWRhdGVEb2N1bWVudEZpbmFsJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxWYWxpZEN0eHRQdHIpCiAgICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCiAgICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhNTF9WQUxJRF9FTkFCTEVECkBAIC00NjMsNyArNDgxLDggQEAKICAgICAgIC9lbmRpZgogICAgICAgL2lmIGRlZmluZWQoWE1MX1RFU1RWQUwpCiAgICAgIGQgeG1sVmFsaWRhdGVOb3RhdGlvblVzZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFZhbGlkYXRlTm90YXRpb25Vc2UnKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFZhbGlkYXRlTm90YXRpb25Vc2UnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFZhbGlkQ3R4dFB0cikKICAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKICAgICAgZCAgbm90YXRpb25OYW1lICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCkBAIC00NzIsNyArNDkxLDggQEAKICAgICAgIC9lbmRpZgogCiAgICAgIGQgeG1sSXNNaXhlZEVsZW1lbnQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxJc01peGVkRWxlbWVudCcpCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sSXNNaXhlZEVsZW1lbnQnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKICAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCiAKQEAgLTUxMiw1OSArNTMyLDY5IEBACiAKICAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9WQUxJRF9FTkFCTEVEKQogICAgICBkIHhtbFZhbGlkR2V0UG90ZW50aWFsQ2hpbGRyZW4uLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxWYWxpZEdldFBvdGVudGlhbENoaWxkcmVuJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGN0cmVlICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbEVsZW1lbnRDb250ZW50ICoKICAgICAgZCAgbmFtZXMgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqKCopCi0gICAgIGQgIGxlbiAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAKLSAgICAgZCAgbWF4ICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKKyAgICAgZCAgbWF4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxWYWxpZEdldFZhbGlkRWxlbWVudHMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxWYWxpZEdldFZhbGlkRWxlbWVudHMnKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFZhbGlkR2V0VmFsaWRFbGVtZW50cycpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBwcmV2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVB0cikKICAgICAgZCAgbmV4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVQdHIpCiAgICAgIGQgIG5hbWVzICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKigqKQotICAgICBkICBtYXggICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIG1heCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sVmFsaWRhdGVOYW1lVmFsdWUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxWYWxpZGF0ZU5hbWVWYWx1ZScpCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVmFsaWRhdGVOYW1lVmFsdWUnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCiAKICAgICAgZCB4bWxWYWxpZGF0ZU5hbWVzVmFsdWUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxWYWxpZGF0ZU5hbWVzVmFsdWUnKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFZhbGlkYXRlTmFtZXNWYWx1ZScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKIAogICAgICBkIHhtbFZhbGlkYXRlTm10b2tlblZhbHVlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVmFsaWRhdGVObXRva2VuVmFsdWUnKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFZhbGlkYXRlTm10b2tlblZhbHVlJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgogCiAgICAgIGQgeG1sVmFsaWRhdGVObXRva2Vuc1ZhbHVlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVmFsaWRhdGVObXRva2Vuc1ZhbHVlJykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxWYWxpZGF0ZU5tdG9rZW5zVmFsdWUnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCiAKICAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9SRUdFWFBfRU5BQkxFRCkKICAgICAgICogVmFsaWRhdGlvbiBiYXNlZCBvbiB0aGUgcmVnZXhwIHN1cHBvcnQKIAogICAgICBkIHhtbFZhbGlkQnVpbGRDb250ZW50TW9kZWwuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxWYWxpZEJ1aWxkQ29udGVudE1vZGVsJykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxWYWxpZEJ1aWxkQ29udGVudE1vZGVsJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxWYWxpZEN0eHRQdHIpCiAgICAgIGQgIGVsZW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxFbGVtZW50UHRyKQogCiAgICAgIGQgeG1sVmFsaWRhdGVQdXNoRWxlbWVudC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFZhbGlkYXRlUHVzaEVsZW1lbnQnKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFZhbGlkYXRlUHVzaEVsZW1lbnQnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFZhbGlkQ3R4dFB0cikKICAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKICAgICAgZCAgZWxlbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCiAgICAgIGQgIHFuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgogCiAgICAgIGQgeG1sVmFsaWRhdGVQdXNoQ0RhdGEuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxWYWxpZGF0ZVB1c2hDRGF0YScpCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVmFsaWRhdGVQdXNoQ0RhdGEnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFZhbGlkQ3R4dFB0cikKICAgICAgZCAgZGF0YSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIGxlbiAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgbGVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxWYWxpZGF0ZVBvcEVsZW1lbnQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxWYWxpZGF0ZVBvcEVsZW1lbnQnKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFZhbGlkYXRlUG9wRWxlbWVudCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVmFsaWRDdHh0UHRyKQogICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQogICAgICBkICBlbGVtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKZGlmZiAtLWdpdCBhL29zNDAwL2xpYnhtbHJwZy94aW5jbHVkZS5ycGdsZSBiL29zNDAwL2xpYnhtbHJwZy94aW5jbHVkZS5ycGdsZQppbmRleCBjMGI2OGZmLi45M2I3YzUxIDEwMDY0NAotLS0gYS9vczQwMC9saWJ4bWxycGcveGluY2x1ZGUucnBnbGUKKysrIGIvb3M0MDAvbGlieG1scnBnL3hpbmNsdWRlLnJwZ2xlCkBAIC0xMiw2ICsxMiw3IEBACiAgICAgICAvZGVmaW5lIFhNTF9YSU5DTFVERV9IX18KIAogICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWx2ZXJzaW9uIgorICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWxUeXBlc0MiCiAgICAgICAvaW5jbHVkZSAibGlieG1scnBnL3RyZWUiCiAKICAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9YSU5DTFVERV9FTkFCTEVEKQpAQCAtODksMzcgKzkwLDQzIEBACiAgICAgICAqIHN0YW5kYWxvbmUgcHJvY2Vzc2luZwogCiAgICAgIGQgeG1sWEluY2x1ZGVQcm9jZXNzLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sWEluY2x1ZGVQcm9jZXNzJykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYSW5jbHVkZVByb2Nlc3MnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKIAogICAgICBkIHhtbFhJbmNsdWRlUHJvY2Vzc0ZsYWdzLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sWEluY2x1ZGVQcm9jZXNzRmxhZ3MnKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhJbmNsdWRlUHJvY2Vzc0ZsYWdzJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCi0gICAgIGQgIGZsYWdzICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgZmxhZ3MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxYSW5jbHVkZVByb2Nlc3NGbGFnc0RhdGEuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFhJbmNsdWRlUHJvY2Vzc0ZsYWdzRGF0YScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQotICAgICBkICBmbGFncyAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIGZsYWdzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogICAgICBkICBkYXRhICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKIAogICAgICBkIHhtbFhJbmNsdWRlUHJvY2Vzc1RyZWVGbGFnc0RhdGEuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFhJbmNsdWRlUHJvY2Vzc1RyZWVGbGFnc0RhdGEnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgdHJlZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCi0gICAgIGQgIGZsYWdzICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgZmxhZ3MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGRhdGEgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgogCiAgICAgIGQgeG1sWEluY2x1ZGVQcm9jZXNzVHJlZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFhJbmNsdWRlUHJvY2Vzc1RyZWUnKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhJbmNsdWRlUHJvY2Vzc1RyZWUnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgdHJlZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCiAKICAgICAgZCB4bWxYSW5jbHVkZVByb2Nlc3NUcmVlRmxhZ3MuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFhJbmNsdWRlUHJvY2Vzc1RyZWVGbGFncycpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICB0cmVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKLSAgICAgZCAgZmxhZ3MgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBmbGFncyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogCiAgICAgICAqIGNvbnRleHR1YWwgcHJvY2Vzc2luZwpAQCAtMTMwLDE2ICsxMzcsMTggQEAKICAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKIAogICAgICBkIHhtbFhJbmNsdWRlU2V0RmxhZ3MuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxYSW5jbHVkZVNldEZsYWdzJykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYSW5jbHVkZVNldEZsYWdzJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYSW5jbHVkZUN0eHRQdHIpCi0gICAgIGQgIGZsYWdzICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgZmxhZ3MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxYSW5jbHVkZUZyZWVDb250ZXh0Li4uCiAgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWEluY2x1ZGVGcmVlQ29udGV4dCcpCiAgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYSW5jbHVkZUN0eHRQdHIpCiAKICAgICAgZCB4bWxYSW5jbHVkZVByb2Nlc3NOb2RlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sWEluY2x1ZGVQcm9jZXNzTm9kZScpCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWEluY2x1ZGVQcm9jZXNzTm9kZScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWEluY2x1ZGVDdHh0UHRyKQogICAgICBkICB0cmVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKIApkaWZmIC0tZ2l0IGEvb3M0MDAvbGlieG1scnBnL3hsaW5rLnJwZ2xlIGIvb3M0MDAvbGlieG1scnBnL3hsaW5rLnJwZ2xlCmluZGV4IDk2NGU2MDUuLmU2ZWJkYzYgMTAwNjQ0Ci0tLSBhL29zNDAwL2xpYnhtbHJwZy94bGluay5ycGdsZQorKysgYi9vczQwMC9saWJ4bWxycGcveGxpbmsucnBnbGUKQEAgLTksMTAgKzksMTIgQEAKICAgICAgIC9kZWZpbmUgWE1MX1hMSU5LX0hfXwogCiAgICAgICAvaW5jbHVkZSAibGlieG1scnBnL3htbHZlcnNpb24iCi0gICAgICAvaW5jbHVkZSAibGlieG1scnBnL3RyZWUiCiAKICAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9YUFRSX0VOQUJMRUQpCiAKKyAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveG1sVHlwZXNDIgorICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy90cmVlIgorCiAgICAgICAqIFZhcmlvdXMgZGVmaW5lcyBmb3IgdGhlIHZhcmlvdXMgTGluayBwcm9wZXJ0aWVzLgogICAgICAgKgogICAgICAgKiBOT1RFOiB0aGUgbGluayBkZXRlY3Rpb24gbGF5ZXIgd2lsbCB0cnkgdG8gcmVzb2x2ZSBRTmFtZSBleHBhbnNpb24KQEAgLTI2LDcgKzI4LDggQEAKICAgICAgZCB4bGlua1JvbGUgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKSAgICAgICAgICAgeG1sQ2hhciAqCiAgICAgIGQgeGxpbmtUaXRsZSAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykgICAgICAgICAgIHhtbENoYXIgKgogCi0gICAgIGQgeGxpbmtUeXBlICAgICAgIHMgICAgICAgICAgICAgMTBpIDAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykgICAgICAgICAgIGVudW0KKyAgICAgZCB4bGlua1R5cGUgICAgICAgcyAgICAgICAgICAgICAgICAgICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2VudW0pCiAgICAgIGQgIFhMSU5LX1RZUEVfTk9ORS4uLgogICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDAKICAgICAgZCAgWExJTktfVFlQRV9TSU1QTEUuLi4KQEAgLTM2LDcgKzM5LDggQEAKICAgICAgZCAgWExJTktfVFlQRV9FWFRFTkRFRF9TRVQuLi4KICAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzCiAKLSAgICAgZCB4bGlua1Nob3cgICAgICAgcyAgICAgICAgICAgICAxMGkgMCBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKSAgICAgICAgICAgZW51bQorICAgICBkIHhsaW5rU2hvdyAgICAgICBzICAgICAgICAgICAgICAgICAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDZW51bSkKICAgICAgZCAgWExJTktfU0hPV19OT05FLi4uCiAgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMAogICAgICBkICBYTElOS19TSE9XX05FVy4uLgpAQCAtNDYsNyArNTAsOCBAQAogICAgICBkICBYTElOS19TSE9XX1JFUExBQ0UuLi4KICAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzCiAKLSAgICAgZCB4bGlua0FjdHVhdGUgICAgcyAgICAgICAgICAgICAxMGkgMCBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKSAgICAgICAgICAgZW51bQorICAgICBkIHhsaW5rQWN0dWF0ZSAgICBzICAgICAgICAgICAgICAgICAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDZW51bSkKICAgICAgZCAgWExJTktfQUNUVUFURV9OT05FLi4uCiAgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMAogICAgICBkICBYTElOS19BQ1RVQVRFX0FVVE8uLi4KZGlmZiAtLWdpdCBhL29zNDAwL2xpYnhtbHJwZy94bWxJTy5ycGdsZSBiL29zNDAwL2xpYnhtbHJwZy94bWxJTy5ycGdsZQppbmRleCAyNjFiMGUyLi42YzBhZmNjIDEwMDY0NAotLS0gYS9vczQwMC9saWJ4bWxycGcveG1sSU8ucnBnbGUKKysrIGIvb3M0MDAvbGlieG1scnBnL3htbElPLnJwZ2xlCkBAIC0xMzAsOCArMTMwLDggQEAKICAgICAgICoKICAgICAgZCAgYnVmZmVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEJ1ZlB0cikgICAgICAgICAgICAgICAgICAgICAgVVRGLTggbG9jYWwgYnVmZmVyCiAgICAgIGQgIHJhdyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxCdWZQdHIpICAgICAgICAgICAgICAgICAgICAgIFJhdyBpbnB1dCBidWZmZXIKLSAgICAgZCAgY29tcHJlc3NlZCAgICAgICAgICAgICAgICAgICAxMGkgMAotICAgICBkICBlcnJvciAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwCisgICAgIGQgIGNvbXByZXNzZWQgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQorICAgICBkICBlcnJvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgcmF3Y29uc3VtZWQgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEN1bG9uZykKIAogICAgICAgL2lmIGRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKQpAQCAtMTQ2LDggKzE0Niw4IEBACiAgICAgICAqCiAgICAgIGQgIGJ1ZmZlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxCdWZQdHIpICAgICAgICAgICAgICAgICAgICAgIFVURi04L0lTT0xhdGluIGxvY2FsCiAgICAgIGQgIGNvbnYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxCdWZQdHIpICAgICAgICAgICAgICAgICAgICAgIEJ1ZmZlciBmb3Igb3V0cHV0Ci0gICAgIGQgIHdyaXR0ZW4gICAgICAgICAgICAgICAgICAgICAgMTBpIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRvdGFsICMgYnl0ZSB3cml0dGVuCi0gICAgIGQgIGVycm9yICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAKKyAgICAgZCAgd3JpdHRlbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpICAgICAgICAgICAgICAgICAgICAgICAgVG90YWwgIyBieXRlIHdyaXR0ZW4KKyAgICAgZCAgZXJyb3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhNTF9PVVRQVVRfRU5BQkxECiAKICAgICAgICogSW50ZXJmYWNlcyBmb3IgaW5wdXQKQEAgLTE1Niw3ICsxNTYsOCBAQAogICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbENsZWFudXBJbnB1dENhbGxiYWNrcycpCiAKICAgICAgZCB4bWxQb3BJbnB1dENhbGxiYWNrcy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFBvcElucHV0Q2FsbGJhY2tzJykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxQb3BJbnB1dENhbGxiYWNrcycpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sUmVnaXN0ZXJEZWZhdWx0SW5wdXRDYWxsYmFja3MuLi4KICAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKApAQCAtMTg1LDcgKzE4Niw3IEBACiAgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmQnKQogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIpCi0gICAgIGQgIGZkICAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgZmQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGVuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaGFyRW5jb2RpbmcpCiAKICAgICAgZCB4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZU1lbS4uLgpAQCAtMTkzLDcgKzE5NCw3IEBACiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZU1lbScpCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0cikKICAgICAgZCAgbWVtICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIHNpemUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGVuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaGFyRW5jb2RpbmcpCiAKICAgICAgZCB4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZVN0YXRpYy4uLgpAQCAtMjAxLDcgKzIwMiw3IEBACiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZVN0YXRpYycpCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0cikKICAgICAgZCAgbWVtICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIHNpemUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGVuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaGFyRW5jb2RpbmcpCiAKICAgICAgZCB4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUlPLi4uCkBAIC0yMTQsMTkgKzIxNSwyMiBAQAogICAgICBkICBlbmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2hhckVuY29kaW5nKQogCiAgICAgIGQgeG1sUGFyc2VySW5wdXRCdWZmZXJSZWFkLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sUGFyc2VySW5wdXRCdWZmZXJSZWFkJykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxQYXJzZXJJbnB1dEJ1ZmZlclJlYWQnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlcklucHV0QnVmZmVyUHRyKQotICAgICBkICBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIGxlbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sUGFyc2VySW5wdXRCdWZmZXJHcm93Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sUGFyc2VySW5wdXRCdWZmZXJHcm93JykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxQYXJzZXJJbnB1dEJ1ZmZlckdyb3cnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlcklucHV0QnVmZmVyUHRyKQotICAgICBkICBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIGxlbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sUGFyc2VySW5wdXRCdWZmZXJQdXNoLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sUGFyc2VySW5wdXRCdWZmZXJQdXNoJykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxQYXJzZXJJbnB1dEJ1ZmZlclB1c2gnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlcklucHV0QnVmZmVyUHRyKQotICAgICBkICBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIGxlbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogICAgICBkICBidWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKIAogICAgICBkIHhtbEZyZWVQYXJzZXJJbnB1dEJ1ZmZlci4uLgpAQCAtMjM4LDcgKzI0Miw4IEBACiAgICAgIGQgIGZpbGVuYW1lICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgogCiAgICAgIGQgeG1sUmVnaXN0ZXJJbnB1dENhbGxiYWNrcy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFJlZ2lzdGVySW5wdXRDYWxsYmFja3MnKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFJlZ2lzdGVySW5wdXRDYWxsYmFja3MnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgbWF0Y2hGdW5jICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbElucHV0TWF0Y2hDYWxsYmFjaykKICAgICAgZCAgb3BlbkZ1bmMgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbElucHV0T3BlbkNhbGxiYWNrKQogICAgICBkICByZWFkRnVuYyAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sSW5wdXRSZWFkQ2FsbGJhY2spCkBAIC0yNjgsNyArMjczLDcgQEAKICAgICAgZCAgVVJJICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCiAgICAgIGQgIGVuY29kZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUKICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENoYXJFbmNvZGluZ0hhbmRsZXJQdHIpCi0gICAgIGQgIGNvbXByZXNzaW9uICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgY29tcHJlc3Npb24gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlLi4uCiAgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZScpCkBAIC0yODgsNyArMjkzLDcgQEAKICAgICAgZCB4bWxPdXRwdXRCdWZmZXJDcmVhdGVGZC4uLgogICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZkJykKICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE91dHB1dEJ1ZmZlclB0cikKLSAgICAgZCAgZmQgICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBmZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgZW5jb2RlciAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZQogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2hhckVuY29kaW5nSGFuZGxlclB0cikKIApAQCAtMzEzLDMyICszMTgsMzggQEAKICAgICAgZCAgb3V0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE91dHB1dEJ1ZmZlclB0cikKIAogICAgICBkIHhtbE91dHB1dEJ1ZmZlcldyaXRlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sT3V0cHV0QnVmZmVyV3JpdGUnKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbE91dHB1dEJ1ZmZlcldyaXRlJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIG91dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxPdXRwdXRCdWZmZXJQdHIpCi0gICAgIGQgIGxlbiAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgbGVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGJ1ZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgogCiAgICAgIGQgeG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmcuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZycpCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmcnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgb3V0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE91dHB1dEJ1ZmZlclB0cikKICAgICAgZCAgc3RyICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCiAKICAgICAgZCB4bWxPdXRwdXRCdWZmZXJXcml0ZUVzY2FwZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbE91dHB1dEJ1ZmZlcldyaXRlRXNjYXBlJykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxPdXRwdXRCdWZmZXJXcml0ZUVzY2FwZScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBvdXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sT3V0cHV0QnVmZmVyUHRyKQogICAgICBkICBzdHIgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKICAgICAgZCAgZXNjYXBpbmcgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENoYXJFbmNvZGluZ091dHB1dEZ1bmMpCiAKICAgICAgZCB4bWxPdXRwdXRCdWZmZXJGbHVzaC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbE91dHB1dEJ1ZmZlckZsdXNoJykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxPdXRwdXRCdWZmZXJGbHVzaCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBvdXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sT3V0cHV0QnVmZmVyUHRyKQogCiAgICAgIGQgeG1sT3V0cHV0QnVmZmVyQ2xvc2UuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxPdXRwdXRCdWZmZXJDbG9zZScpCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sT3V0cHV0QnVmZmVyQ2xvc2UnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgb3V0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE91dHB1dEJ1ZmZlclB0cikKIAogICAgICBkIHhtbFJlZ2lzdGVyT3V0cHV0Q2FsbGJhY2tzLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sUmVnaXN0ZXJPdXRwdXRDYWxsYmFja3MnKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFJlZ2lzdGVyT3V0cHV0Q2FsbGJhY2tzJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIG1hdGNoRnVuYyAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxPdXRwdXRNYXRjaENhbGxiYWNrKQogICAgICBkICBvcGVuRnVuYyAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sT3V0cHV0T3BlbkNhbGxiYWNrKQogICAgICBkICB3cml0ZUZ1bmMgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sT3V0cHV0V3JpdGVDYWxsYmFjaykKQEAgLTM3OSwyOSArMzkwLDM0IEBACiAgICAgIGQgIHBhdGggICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgogCiAgICAgIGQgeG1sQ2hlY2tGaWxlbmFtZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbENoZWNrRmlsZW5hbWUnKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbENoZWNrRmlsZW5hbWUnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgcGF0aCAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCiAKICAgICAgICogRGVmYXVsdCAnZmlsZTovLycgcHJvdG9jb2wgY2FsbGJhY2tzCiAKLSAgICAgZCB4bWxGaWxlTWF0Y2ggICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxGaWxlTWF0Y2gnKQorICAgICBkIHhtbEZpbGVNYXRjaCAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEZpbGVNYXRjaCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBmaWxlbmFtZSAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKIAogICAgICBkIHhtbEZpbGVPcGVuICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbEZpbGVPcGVuJykgICAgICAgICAgICAgICB2b2lkICoKICAgICAgZCAgZmlsZW5hbWUgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCiAKLSAgICAgZCB4bWxGaWxlUmVhZCAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxGaWxlUmVhZCcpCisgICAgIGQgeG1sRmlsZVJlYWQgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sRmlsZVJlYWQnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgY29udGV4dCAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCiAgICAgIGQgIGJ1ZmZlciAgICAgICAgICAgICAgICAgICAgNjU1MzUgICAgb3B0aW9ucygqdmFyc2l6ZSkKLSAgICAgZCAgbGVuICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAotICAgICBkIHhtbEZpbGVDbG9zZSAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbEZpbGVDbG9zZScpCisgICAgIGQgeG1sRmlsZUNsb3NlICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sRmlsZUNsb3NlJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGNvbnRleHQgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgogCiAgICAgICAqIERlZmF1bHQgJ2h0dHA6Ly8nIHByb3RvY29sIGNhbGxiYWNrcwogCiAgICAgICAvaWYgZGVmaW5lZChMSUJYTUxfSFRUUF9FTkFCTEVEKQotICAgICBkIHhtbElPSFRUUE1hdGNoICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbElPSFRUUE1hdGNoJykKKyAgICAgZCB4bWxJT0hUVFBNYXRjaCAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxJT0hUVFBNYXRjaCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBmaWxlbmFtZSAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKIAogICAgICBkIHhtbElPSFRUUE9wZW4gICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbElPSFRUUE9wZW4nKSAgICAgICAgICAgICB2b2lkICoKQEAgLTQxMCwzMyArNDI2LDM4IEBACiAgICAgICAvaWYgZGVmaW5lZChMSUJYTUxfT1VUUFVUX0VOQUJMRUQpCiAgICAgIGQgeG1sSU9IVFRQT3BlblcgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sSU9IVFRQT3BlblcnKSAgICAgICAgICAgIHZvaWQgKgogICAgICBkICBwb3N0X3VyaSAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgY29tcHJlc3Npb24gICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBjb21wcmVzc2lvbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKICAgICAgIC9lbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTElCWE1MX09VVFBVVF9FTkFCTEQKIAotICAgICBkIHhtbElPSFRUUFJlYWQgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbElPSFRUUFJlYWQnKQorICAgICBkIHhtbElPSFRUUFJlYWQgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbElPSFRUUFJlYWQnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgY29udGV4dCAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCiAgICAgIGQgIGJ1ZmZlciAgICAgICAgICAgICAgICAgICAgNjU1MzUgICAgb3B0aW9ucygqdmFyc2l6ZSkKLSAgICAgZCAgbGVuICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAotICAgICBkIHhtbElPSFRUUENsb3NlICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbElPSFRUUENsb3NlJykKKyAgICAgZCB4bWxJT0hUVFBDbG9zZSAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxJT0hUVFBDbG9zZScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBjb250ZXh0ICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKICAgICAgIC9lbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTElCWE1MX0hUVFBfRU5BQkxFRAogCiAgICAgICAqIERlZmF1bHQgJ2Z0cDovLycgcHJvdG9jb2wgY2FsbGJhY2tzCiAKICAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9GVFBfRU5BQkxFRCkKLSAgICAgZCB4bWxJT0ZUUE1hdGNoICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxJT0ZUUE1hdGNoJykKKyAgICAgZCB4bWxJT0ZUUE1hdGNoICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxJT0ZUUE1hdGNoJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGZpbGVuYW1lICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgogCiAgICAgIGQgeG1sSU9GVFBPcGVuICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sSU9GVFBPcGVuJykgICAgICAgICAgICAgIHZvaWQgKgogICAgICBkICBmaWxlbmFtZSAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKIAotICAgICBkIHhtbElPRlRQUmVhZCAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbElPRlRQUmVhZCcpCisgICAgIGQgeG1sSU9GVFBSZWFkICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sSU9GVFBSZWFkJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGNvbnRleHQgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgogICAgICBkICBidWZmZXIgICAgICAgICAgICAgICAgICAgIDY1NTM1ICAgIG9wdGlvbnMoKnZhcnNpemUpCi0gICAgIGQgIGxlbiAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgbGVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKLSAgICAgZCB4bWxJT0ZUUENsb3NlICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxJT0ZUUENsb3NlJykKKyAgICAgZCB4bWxJT0ZUUENsb3NlICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxJT0ZUUENsb3NlJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGNvbnRleHQgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgogICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMSUJYTUxfRlRQX0VOQUJMRUQKIApkaWZmIC0tZ2l0IGEvb3M0MDAvbGlieG1scnBnL3htbFR5cGVzQy5ycGdsZSBiL29zNDAwL2xpYnhtbHJwZy94bWxUeXBlc0MucnBnbGUKaW5kZXggNzk4ZDc0ZC4uNDhhMjNiZiAxMDA2NDQKLS0tIGEvb3M0MDAvbGlieG1scnBnL3htbFR5cGVzQy5ycGdsZQorKysgYi9vczQwMC9saWJ4bWxycGcveG1sVHlwZXNDLnJwZ2xlCkBAIC0yMCw1ICsyMCw3IEBACiAgICAgIGQgeG1sQ2VudW0gICAgICAgIHMgICAgICAgICAgICAgMTBpIDAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKICAgICAgZCB4bWxDc3NpemVfdCAgICAgcyAgICAgICAgICAgICAxMGkgMCBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQogICAgICBkIHhtbENzaXplX3QgICAgICBzICAgICAgICAgICAgIDEwdSAwIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCisgICAgIGQgeG1sQ2Zsb2F0ICAgICAgIHMgICAgICAgICAgICAgIDRmICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKKyAgICAgZCB4bWxDZG91YmxlICAgICAgcyAgICAgICAgICAgICAgOGYgICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQogCiAgICAgICAvZW5kaWYKZGlmZiAtLWdpdCBhL29zNDAwL2xpYnhtbHJwZy94bWxhdXRvbWF0YS5ycGdsZSBiL29zNDAwL2xpYnhtbHJwZy94bWxhdXRvbWF0YS5ycGdsZQppbmRleCA0OTc5NzI1Li4wZTljYzIyIDEwMDY0NAotLS0gYS9vczQwMC9saWJ4bWxycGcveG1sYXV0b21hdGEucnBnbGUKKysrIGIvb3M0MDAvbGlieG1scnBnL3htbGF1dG9tYXRhLnJwZ2xlCkBAIC05LDExICs5LDEyIEBACiAgICAgICAvZGVmaW5lIFhNTF9BVVRPTUFUQV9IX18KIAogICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWx2ZXJzaW9uIgotICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy90cmVlIgogCiAgICAgICAvaWYgZGVmaW5lZChMSUJYTUxfUkVHRVhQX0VOQUJMRUQpCiAgICAgICAvaWYgZGVmaW5lZChMSUJYTUxfQVVUT01BVEFfRU5BQkxFRCkKIAorICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWxUeXBlc0MiCisgICAgICAvaW5jbHVkZSAibGlieG1scnBnL3RyZWUiCiAgICAgICAvaW5jbHVkZSAibGlieG1scnBnL3htbHJlZ2V4cCIKIAogICAgICAgKiB4bWxBdXRvbWF0YVB0cjoKQEAgLTQ0LDcgKzQ1LDggQEAKICAgICAgZCAgYW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEF1dG9tYXRhUHRyKQogCiAgICAgIGQgeG1sQXV0b21hdGFTZXRGaW5hbFN0YXRlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sQXV0b21hdGFTZXRGaW5hbFN0YXRlJykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxBdXRvbWF0YVNldEZpbmFsU3RhdGUnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgYW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEF1dG9tYXRhUHRyKQogICAgICBkICBzdGF0ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQXV0b21hdGFTdGF0ZVB0cikKIApAQCAtODksOCArOTEsOCBAQAogICAgICBkICBmcm9tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQXV0b21hdGFTdGF0ZVB0cikKICAgICAgZCAgdG8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEF1dG9tYXRhU3RhdGVQdHIpCiAgICAgIGQgIHRva2VuICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBtaW4gICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCi0gICAgIGQgIG1heCAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgbWluICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCisgICAgIGQgIG1heCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogICAgICBkICBkYXRhICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICB2b2lkICoKIAogICAgICBkIHhtbEF1dG9tYXRhTmV3Q291bnRUcmFuczIuLi4KQEAgLTEwMSw4ICsxMDMsOCBAQAogICAgICBkICB0byAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQXV0b21hdGFTdGF0ZVB0cikKICAgICAgZCAgdG9rZW4gICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCiAgICAgIGQgIHRva2VuMiAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBtaW4gICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCi0gICAgIGQgIG1heCAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgbWluICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCisgICAgIGQgIG1heCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogICAgICBkICBkYXRhICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICB2b2lkICoKIAogICAgICBkIHhtbEF1dG9tYXRhTmV3T25jZVRyYW5zLi4uCkBAIC0xMTIsOCArMTE0LDggQEAKICAgICAgZCAgZnJvbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEF1dG9tYXRhU3RhdGVQdHIpCiAgICAgIGQgIHRvICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxBdXRvbWF0YVN0YXRlUHRyKQogICAgICBkICB0b2tlbiAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgbWluICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQotICAgICBkICBtYXggICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIG1pbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQorICAgICBkICBtYXggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgZGF0YSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgdm9pZCAqCiAKICAgICAgZCB4bWxBdXRvbWF0YU5ld09uY2VUcmFuczIuLi4KQEAgLTEyNCw4ICsxMjYsOCBAQAogICAgICBkICB0byAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQXV0b21hdGFTdGF0ZVB0cikKICAgICAgZCAgdG9rZW4gICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCiAgICAgIGQgIHRva2VuMiAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBtaW4gICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCi0gICAgIGQgIG1heCAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgbWluICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCisgICAgIGQgIG1heCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogICAgICBkICBkYXRhICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICB2b2lkICoKIAogICAgICBkIHhtbEF1dG9tYXRhTmV3QWxsVHJhbnMuLi4KQEAgLTEzNCw3ICsxMzYsNyBAQAogICAgICBkICBhbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQXV0b21hdGFQdHIpCiAgICAgIGQgIGZyb20gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxBdXRvbWF0YVN0YXRlUHRyKQogICAgICBkICB0byAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQXV0b21hdGFTdGF0ZVB0cikKLSAgICAgZCAgbGF4ICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBsYXggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIHhtbEF1dG9tYXRhTmV3RXBzaWxvbi4uLgogICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEF1dG9tYXRhTmV3RXBzaWxvbicpCkBAIC0xNDksNyArMTUxLDcgQEAKICAgICAgZCAgYW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEF1dG9tYXRhUHRyKQogICAgICBkICBmcm9tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQXV0b21hdGFTdGF0ZVB0cikKICAgICAgZCAgdG8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEF1dG9tYXRhU3RhdGVQdHIpCi0gICAgIGQgIGNvdW50ZXIgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgY291bnRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxBdXRvbWF0YU5ld0NvdW50ZXJUcmFucy4uLgogICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEF1dG9tYXRhTmV3Q291bnRlclRyYW5zJykKQEAgLTE1NywxMyArMTU5LDE0IEBACiAgICAgIGQgIGFtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxBdXRvbWF0YVB0cikKICAgICAgZCAgZnJvbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEF1dG9tYXRhU3RhdGVQdHIpCiAgICAgIGQgIHRvICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxBdXRvbWF0YVN0YXRlUHRyKQotICAgICBkICBjb3VudGVyICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIGNvdW50ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sQXV0b21hdGFOZXdDb3VudGVyLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sQXV0b21hdGFOZXdDb3VudGVyJykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxBdXRvbWF0YU5ld0NvdW50ZXInKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgYW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEF1dG9tYXRhUHRyKQotICAgICBkICBtaW4gICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCi0gICAgIGQgIG1heCAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgbWluICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCisgICAgIGQgIG1heCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sQXV0b21hdGFDb21waWxlLi4uCiAgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQXV0b21hdGFDb21waWxlJykKQEAgLTE3MSw3ICsxNzQsOCBAQAogICAgICBkICBhbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQXV0b21hdGFQdHIpCiAKICAgICAgZCB4bWxBdXRvbWF0YUlzRGV0ZXJtaW5pc3QuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxBdXRvbWF0YUlzRGV0ZXJtaW5pc3QnKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEF1dG9tYXRhSXNEZXRlcm1pbmlzdCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBhbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQXV0b21hdGFQdHIpCiAKICAgICAgIC9lbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVVUT01BVEFfRU5BQkxFRApkaWZmIC0tZ2l0IGEvb3M0MDAvbGlieG1scnBnL3htbGVycm9yLnJwZ2xlIGIvb3M0MDAvbGlieG1scnBnL3htbGVycm9yLnJwZ2xlCmluZGV4IGI3N2NhYWQuLjY2ODhiMzcgMTAwNjQ0Ci0tLSBhL29zNDAwL2xpYnhtbHJwZy94bWxlcnJvci5ycGdsZQorKysgYi9vczQwMC9saWJ4bWxycGcveG1sZXJyb3IucnBnbGUKQEAgLTUsMTYgKzUsMTggQEAKICAgICAgICoKICAgICAgICogQXV0aG9yOiBQYXRyaWNrIE1vbm5lcmF0IDxwbUBkYXRhc3BoZXJlLmNoPiwgREFUQVNQSEVSRSBTLkEuCiAKLSAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcvcGFyc2VyIgotCiAgICAgICAvaWYgbm90IGRlZmluZWQoWE1MX0VSUk9SX0hfXykKICAgICAgIC9kZWZpbmUgWE1MX0VSUk9SX0hfXwogCisgICAgICAvaW5jbHVkZSAibGlieG1scnBnL3htbFR5cGVzQyIKKyAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcvcGFyc2VyIgorCiAgICAgICAqIHhtbEVycm9yTGV2ZWw6CiAgICAgICAqCiAgICAgICAqIEluZGljYXRlcyB0aGUgbGV2ZWwgb2YgYW4gZXJyb3IKIAotICAgICBkIHhtbEVycm9yTGV2ZWwgICBzICAgICAgICAgICAgIDEwaSAwIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpICAgICAgICAgICBlbnVtCisgICAgIGQgeG1sRXJyb3JMZXZlbCAgIHMgICAgICAgICAgICAgICAgICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENlbnVtKQogICAgICBkICBYTUxfRVJSX05PTkUgICBjICAgICAgICAgICAgICAgICAgIDAKICAgICAgZCAgWE1MX0VSUl9XQVJOSU5HLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQSBzaW1wbGUgd2FybmluZwogICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEKQEAgLTI1LDcgKzI3LDggQEAKICAgICAgICoKICAgICAgICogSW5kaWNhdGVzIHdoZXJlIGFuIGVycm9yIG1heSBoYXZlIGNvbWUgZnJvbQogCi0gICAgIGQgeG1sRXJyb3JEb21haW4gIHMgICAgICAgICAgICAgMTBpIDAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykgICAgICAgICAgIGVudW0KKyAgICAgZCB4bWxFcnJvckRvbWFpbiAgcyAgICAgICAgICAgICAgICAgICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2VudW0pCiAgICAgIGQgIFhNTF9GUk9NX05PTkUgIGMgICAgICAgICAgICAgICAgICAgMAogICAgICBkICBYTUxfRlJPTV9QQVJTRVIuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYTUwgcGFyc2VyCiAgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMQpAQCAtODYsMTcgKzg5LDE3IEBACiAKICAgICAgZCB4bWxFcnJvciAgICAgICAgZHMgICAgICAgICAgICAgICAgICBiYXNlZCh4bWxFcnJvclB0cikKICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGlnbiBxdWFsaWZpZWQKLSAgICAgZCAgZG9tYWluICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlicGFydCByYWlzaW5nIGVycgotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFcnJvciBjb2RlCisgICAgIGQgIGRvbWFpbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KSAgICAgICAgICAgICAgICAgICAgICAgIExpYnBhcnQgcmFpc2luZyBlcnIKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpICAgICAgICAgICAgICAgICAgICAgICAgRXJyb3IgY29kZQogICAgICBkICBtZXNzYWdlICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFyICoKICAgICAgZCAgbGV2ZWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEVycm9yTGV2ZWwpICAgICAgICAgICAgICAgICAgRXJyb3Igc2V2ZXJpdHkKICAgICAgZCAgZmlsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmlsZSBuYW1lCi0gICAgIGQgIGxpbmUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpbmUgbnVtYmVyCisgICAgIGQgIGxpbmUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KSAgICAgICAgICAgICAgICAgICAgICAgIExpbmUgbnVtYmVyCiAgICAgIGQgIHN0cjEgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXIgKgogICAgICBkICBzdHIyICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFyICoKICAgICAgZCAgc3RyMyAgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhciAqCi0gICAgIGQgIGludDEgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEV4dHJhIG51bWJlciBpbmZvCi0gICAgIGQgIGludDIgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVycm9yIGNvbHVtbgorICAgICBkICBpbnQxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkgICAgICAgICAgICAgICAgICAgICAgICBFeHRyYSBudW1iZXIgaW5mbworICAgICBkICBpbnQyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkgICAgICAgICAgICAgICAgICAgICAgICBFcnJvciBjb2x1bW4KICAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCiAgICAgIGQgIG5vZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgogCkBAIC0xMDUsNyArMTA4LDggQEAKICAgICAgICogVGhpcyBpcyBhbiBlcnJvciB0aGF0IHRoZSBYTUwgKG9yIEhUTUwpIHBhcnNlciBjYW4gZ2VuZXJhdGUKIAogICAgICBkIHhtbFBhcnNlckVycm9ycy4uLgotICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgIDEwaSAwIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpICAgICAgICAgICBlbnVtCisgICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAgICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENlbnVtKQogICAgICBkICBYTUxfRVJSX09LICAgICBjICAgICAgICAgICAgICAgICAgIDAKICAgICAgZCAgWE1MX0VSUl9JTlRFUk5BTF9FUlJPUi4uLgogICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEKQEAgLTE2NzQsNyArMTY3OCw4IEBACiAgICAgIGQgeG1sUmVzZXRFcnJvciAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUmVzZXRFcnJvcicpCiAgICAgIGQgIGVyciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxFcnJvclB0cikKIAotICAgICBkIHhtbENvcHlFcnJvciAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbENvcHlFcnJvcicpCisgICAgIGQgeG1sQ29weUVycm9yICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQ29weUVycm9yJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGZyb20gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxFcnJvclB0cikKICAgICAgZCAgdG8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEVycm9yUHRyKQogCmRpZmYgLS1naXQgYS9vczQwMC9saWJ4bWxycGcveG1sbWVtb3J5LnJwZ2xlIGIvb3M0MDAvbGlieG1scnBnL3htbG1lbW9yeS5ycGdsZQppbmRleCAzYzc5MTAzLi40NzJlOTQxIDEwMDY0NAotLS0gYS9vczQwMC9saWJ4bWxycGcveG1sbWVtb3J5LnJwZ2xlCisrKyBiL29zNDAwL2xpYnhtbHJwZy94bWxtZW1vcnkucnBnbGUKQEAgLTEzNiwxOSArMTM2LDIyIEBACiAgICAgICAqIFRoZSB4bWxHYyBmdW5jdGlvbiBoYXZlIGFuIGV4dHJhIGVudHJ5IGZvciBhdG9taWMgYmxvY2sKICAgICAgICogYWxsb2NhdGlvbnMgdXNlZnVsIGZvciBnYXJiYWdlIGNvbGxlY3RlZCBtZW1vcnkgYWxsb2NhdG9ycwogCi0gICAgIGQgeG1sTWVtU2V0dXAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sTWVtU2V0dXAnKQorICAgICBkIHhtbE1lbVNldHVwICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbE1lbVNldHVwJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGZyZWVGdW5jICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxGcmVlRnVuYykKICAgICAgZCAgbWFsbG9jRnVuYyAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE1hbGxvY0Z1bmMpCiAgICAgIGQgIHJlYWxsb2NGdW5jICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxSZWFsbG9jRnVuYykKICAgICAgZCAgc3RyZHVwRnVuYyAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFN0cmR1cEZ1bmMpCiAKLSAgICAgZCB4bWxNZW1HZXQgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxNZW1HZXQnKQorICAgICBkIHhtbE1lbUdldCAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbE1lbUdldCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBmcmVlRnVuYyAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRnJlZUZ1bmMpCiAgICAgIGQgIG1hbGxvY0Z1bmMgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxNYWxsb2NGdW5jKQogICAgICBkICByZWFsbG9jRnVuYyAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sUmVhbGxvY0Z1bmMpCiAgICAgIGQgIHN0cmR1cEZ1bmMgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxTdHJkdXBGdW5jKQogCi0gICAgIGQgeG1sR2NNZW1TZXR1cCAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sR2NNZW1TZXR1cCcpCisgICAgIGQgeG1sR2NNZW1TZXR1cCAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sR2NNZW1TZXR1cCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBmcmVlRnVuYyAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRnJlZUZ1bmMpCiAgICAgIGQgIG1hbGxvY0Z1bmMgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxNYWxsb2NGdW5jKQogICAgICBkICBtYWxsb2NBdG9taWNGdW5jLi4uCkBAIC0xNTYsNyArMTU5LDggQEAKICAgICAgZCAgcmVhbGxvY0Z1bmMgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFJlYWxsb2NGdW5jKQogICAgICBkICBzdHJkdXBGdW5jICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU3RyZHVwRnVuYykKIAotICAgICBkIHhtbEdjTWVtR2V0ICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbEdjTWVtR2V0JykKKyAgICAgZCB4bWxHY01lbUdldCAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxHY01lbUdldCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBmcmVlRnVuYyAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRnJlZUZ1bmMpCiAgICAgIGQgIG1hbGxvY0Z1bmMgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxNYWxsb2NGdW5jKQogICAgICBkICBtYWxsb2NBdG9taWNGdW5jLi4uCkBAIC0xNjYsNyArMTcwLDggQEAKIAogICAgICAgKiBJbml0aWFsaXphdGlvbiBvZiB0aGUgbWVtb3J5IGxheWVyLgogCi0gICAgIGQgeG1sSW5pdE1lbW9yeSAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sSW5pdE1lbW9yeScpCisgICAgIGQgeG1sSW5pdE1lbW9yeSAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sSW5pdE1lbW9yeScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogCiAgICAgICAqIENsZWFudXAgb2YgdGhlIG1lbW9yeSBsYXllci4KIApAQCAtMTc1LDkgKzE4MCwxMSBAQAogCiAgICAgICAqIFRoZXNlIGFyZSBzcGVjaWZpYyB0byB0aGUgWE1MIGRlYnVnIG1lbW9yeSB3cmFwcGVyLgogCi0gICAgIGQgeG1sTWVtVXNlZCAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sTWVtVXNlZCcpCisgICAgIGQgeG1sTWVtVXNlZCAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sTWVtVXNlZCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogCi0gICAgIGQgeG1sTWVtQmxvY2tzICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sTWVtQmxvY2tzJykKKyAgICAgZCB4bWxNZW1CbG9ja3MgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxNZW1CbG9ja3MnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIHhtbE1lbURpc3BsYXkgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbE1lbURpc3BsYXknKQogICAgICBkICBmcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGSUxFICoKQEAgLTE4OSw3ICsxOTYsNyBAQAogCiAgICAgIGQgeG1sTWVtU2hvdyAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sTWVtU2hvdycpCiAgICAgIGQgIGZwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZJTEUgKgotICAgICBkICBuciAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIG5yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sTWVtb3J5RHVtcCAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sTWVtb3J5RHVtcCcpCiAKQEAgLTIxMCwyNSArMjE3LDI1IEBACiAgICAgIGQgeG1sTWFsbG9jTG9jICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sTWFsbG9jTG9jJykgICAgICAgICAgICAgIHZvaWQgKgogICAgICBkICBzaXplICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ3NpemVfdCkKICAgICAgZCAgZmlsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIGxpbmUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgbGluZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxSZWFsbG9jTG9jICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxSZWFsbG9jTG9jJykgICAgICAgICAgICAgIHZvaWQgKgogICAgICBkICBwdHIgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKICAgICAgZCAgc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENzaXplX3QpCiAgICAgIGQgIGZpbGUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBsaW5lICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIGxpbmUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sTWFsbG9jQXRvbWljTG9jLi4uCiAgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sTWFsbG9jQXRvbWljTG9jJykgICAgICAgIHZvaWQgKgogICAgICBkICBzaXplICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ3NpemVfdCkKICAgICAgZCAgZmlsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIGxpbmUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgbGluZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxNZW1TdHJkdXBMb2MuLi4KICAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxNZW1TdHJkdXBMb2MnKSAgICAgICAgICAgY2hhciAqCiAgICAgIGQgIHN0ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgogICAgICBkICBmaWxlICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgbGluZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBsaW5lICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICAgL2lmIG5vdCBkZWZpbmVkKFhNTF9HTE9CQUxTX0gpCiAgICAgICAvaWYgbm90IGRlZmluZWQoWE1MX1RIUkVBRFNfSF9fKQpkaWZmIC0tZ2l0IGEvb3M0MDAvbGlieG1scnBnL3htbG1vZHVsZS5ycGdsZSBiL29zNDAwL2xpYnhtbHJwZy94bWxtb2R1bGUucnBnbGUKaW5kZXggMDk1OTJhNi4uMDM1MjU0ZCAxMDA2NDQKLS0tIGEvb3M0MDAvbGlieG1scnBnL3htbG1vZHVsZS5ycGdsZQorKysgYi9vczQwMC9saWJ4bWxycGcveG1sbW9kdWxlLnJwZ2xlCkBAIC0xMyw2ICsxMyw4IEBACiAKICAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9NT0RVTEVTX0VOQUJMRUQpCiAKKyAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveG1sVHlwZXNDIgorCiAgICAgICAqIHhtbE1vZHVsZVB0cjoKICAgICAgICoKICAgICAgICogQSBoYW5kbGUgdG8gYSBkeW5hbWljYWxseSBsb2FkZWQgbW9kdWxlCkBAIC0yNCw3ICsyNiw4IEBACiAgICAgICAqIGVudW1lcmF0aW9uIG9mIG9wdGlvbnMgdGhhdCBjYW4gYmUgcGFzc2VkIGRvd24gdG8geG1sTW9kdWxlT3BlbigpCiAKICAgICAgZCB4bWxNb2R1bGVPcHRpb24uLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAxMGkgMCBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKSAgICAgICAgICAgZW51bQorICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgICAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDZW51bSkKICAgICAgZCAgWE1MX01PRFVMRV9MQVpZLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGF6eSBiaW5kaW5nCiAgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMQogICAgICBkICBYTUxfTU9EVUxFX0xPQ0FMLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2NhbCBiaW5kaW5nCkBAIC0zMywxOCArMzYsMjEgQEAKICAgICAgZCB4bWxNb2R1bGVPcGVuICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxNb2R1bGVPcGVuJykKICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE1vZHVsZVB0cikKICAgICAgZCAgZmlsZW5hbWUgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIG9wdGlvbnMgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgb3B0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxNb2R1bGVTeW1ib2wuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxNb2R1bGVTeW1ib2wnKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbE1vZHVsZVN5bWJvbCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBtb2R1bGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTW9kdWxlUHRyKQogICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKICAgICAgZCAgcmVzdWx0ICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqKCopCiAKLSAgICAgZCB4bWxNb2R1bGVDbG9zZSAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxNb2R1bGVDbG9zZScpCisgICAgIGQgeG1sTW9kdWxlQ2xvc2UgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sTW9kdWxlQ2xvc2UnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgbW9kdWxlICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE1vZHVsZVB0cikKIAotICAgICBkIHhtbE1vZHVsZUZyZWUgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbE1vZHVsZUZyZWUnKQorICAgICBkIHhtbE1vZHVsZUZyZWUgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbE1vZHVsZUZyZWUnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgbW9kdWxlICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE1vZHVsZVB0cikKIAogICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMSUJYTUxfTU9EVUxFU19FTkJMRApkaWZmIC0tZ2l0IGEvb3M0MDAvbGlieG1scnBnL3htbHJlYWRlci5ycGdsZSBiL29zNDAwL2xpYnhtbHJwZy94bWxyZWFkZXIucnBnbGUKaW5kZXggNTA4NGZjOC4uOWVjNzZiMyAxMDA2NDQKLS0tIGEvb3M0MDAvbGlieG1scnBnL3htbHJlYWRlci5ycGdsZQorKysgYi9vczQwMC9saWJ4bWxycGcveG1scmVhZGVyLnJwZ2xlCkBAIC0yNCw3ICsyNCw4IEBACiAgICAgICAqIGlzIHVzZWQuCiAKICAgICAgZCB4bWxQYXJzZXJTZXZlcml0aWVzLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgMTBpIDAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykgICAgICAgICAgIGVudW0KKyAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICAgICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2VudW0pCiAgICAgIGQgIFhNTF9QQVJTRVJfU0VWRVJJVFlfVkFMSURJVFlfV0FSTklORy4uLgogICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEKICAgICAgZCAgWE1MX1BBUlNFUl9TRVZFUklUWV9WQUxJRElUWV9FUlJPUi4uLgpAQCAtNDEsNyArNDIsOCBAQAogICAgICAgKiBJbnRlcm5hbCBzdGF0ZSB2YWx1ZXMgZm9yIHRoZSByZWFkZXIuCiAKICAgICAgZCB4bWxUZXh0UmVhZGVyTW9kZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgIDEwaSAwIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpICAgICAgICAgICBlbnVtCisgICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAgICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENlbnVtKQogICAgICBkICBYTUxfVEVYVFJFQURFUl9NT0RFX0lOSVRJQUwuLi4KICAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAwCiAgICAgIGQgIFhNTF9URVhUUkVBREVSX01PREVfSU5URVJBQ1RJVkUuLi4KQEAgLTYyLDcgKzY0LDggQEAKICAgICAgICogeG1sUmVhZGVyRm9yeHh4IEFQSXMgbm93LgogCiAgICAgIGQgeG1sUGFyc2VyUHJvcGVydGllcy4uLgotICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgIDEwaSAwIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpICAgICAgICAgICBlbnVtCisgICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAgICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENlbnVtKQogICAgICBkICBYTUxfUEFSU0VSX0xPQUREVEQuLi4KICAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxCiAgICAgIGQgIFhNTF9QQVJTRVJfREVGQVVMVEFUVFJTLi4uCkBAIC03Niw3ICs3OSw4IEBACiAgICAgICAqCiAgICAgICAqIFByZWRlZmluZWQgY29uc3RhbnRzIGZvciB0aGUgZGlmZmVyZW50IHR5cGVzIG9mIG5vZGVzLgogCi0gICAgIGQgeG1sUmVhZGVyVHlwZXMgIHMgICAgICAgICAgICAgMTBpIDAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykgICAgICAgICAgIGVudW0KKyAgICAgZCB4bWxSZWFkZXJUeXBlcyAgcyAgICAgICAgICAgICAgICAgICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2VudW0pCiAgICAgIGQgIFhNTF9SRUFERVJfVFlQRV9OT05FLi4uCiAgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMAogICAgICBkICBYTUxfUkVBREVSX1RZUEVfRUxFTUVOVC4uLgpAQCAtMTM5LDE3ICsxNDMsMTkgQEAKICAgICAgZCAgcmVhZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRSZWFkZXJQdHIpCiAKICAgICAgZCB4bWxUZXh0UmVhZGVyU2V0dXAuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxUZXh0UmVhZGVyU2V0dXAnKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFRleHRSZWFkZXJTZXR1cCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICByZWFkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFJlYWRlclB0cikKICAgICAgZCAgaW5wdXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlcklucHV0QnVmZmVyUHRyKQogICAgICBkICBVUkwgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKICAgICAgZCAgZW5jb2RpbmcgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIG9wdGlvbnMgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgb3B0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgICogSXRlcmF0b3JzCiAKICAgICAgZCB4bWxUZXh0UmVhZGVyUmVhZC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFRleHRSZWFkZXJSZWFkJykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxUZXh0UmVhZGVyUmVhZCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICByZWFkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFJlYWRlclB0cikKIAogICAgICAgL2lmIGRlZmluZWQoTElCWE1MX1dSSVRFUl9FTkFCTEVEKQpAQCAtMTY3LDUzICsxNzMsNjQgQEAKICAgICAgZCAgcmVhZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRSZWFkZXJQdHIpCiAKICAgICAgZCB4bWxUZXh0UmVhZGVyUmVhZEF0dHJpYnV0ZVZhbHVlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxUZXh0UmVhZGVyUmVhZEF0dHJpYnV0ZVZhbHVlJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIHJlYWRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0UmVhZGVyUHRyKQogCiAgICAgICAqIEF0dHJpYnV0ZXMgb2YgdGhlIG5vZGUKIAogICAgICBkIHhtbFRleHRSZWFkZXJBdHRyaWJ1dGVDb3VudC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sVGV4dFJlYWRlckF0dHJpYnV0ZUNvdW50JykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIHJlYWRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0UmVhZGVyUHRyKQogCiAgICAgIGQgeG1sVGV4dFJlYWRlckRlcHRoLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVGV4dFJlYWRlckRlcHRoJykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxUZXh0UmVhZGVyRGVwdGgnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgcmVhZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRSZWFkZXJQdHIpCiAKICAgICAgZCB4bWxUZXh0UmVhZGVySGFzQXR0cmlidXRlcy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFRleHRSZWFkZXJIYXNBdHRyaWJ1dGVzJykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxUZXh0UmVhZGVySGFzQXR0cmlidXRlcycpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICByZWFkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFJlYWRlclB0cikKIAogICAgICBkIHhtbFRleHRSZWFkZXJIYXNWYWx1ZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFRleHRSZWFkZXJIYXNWYWx1ZScpCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVGV4dFJlYWRlckhhc1ZhbHVlJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIHJlYWRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0UmVhZGVyUHRyKQogCiAgICAgIGQgeG1sVGV4dFJlYWRlcklzRGVmYXVsdC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFRleHRSZWFkZXJJc0RlZmF1bHQnKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFRleHRSZWFkZXJJc0RlZmF1bHQnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgcmVhZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRSZWFkZXJQdHIpCiAKICAgICAgZCB4bWxUZXh0UmVhZGVySXNFbXB0eUVsZW1lbnQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFRleHRSZWFkZXJJc0VtcHR5RWxlbWVudCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICByZWFkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFJlYWRlclB0cikKIAogICAgICBkIHhtbFRleHRSZWFkZXJOb2RlVHlwZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFRleHRSZWFkZXJOb2RlVHlwZScpCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVGV4dFJlYWRlck5vZGVUeXBlJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIHJlYWRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0UmVhZGVyUHRyKQogCiAgICAgIGQgeG1sVGV4dFJlYWRlclF1b3RlQ2hhci4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFRleHRSZWFkZXJRdW90ZUNoYXInKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFRleHRSZWFkZXJRdW90ZUNoYXInKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgcmVhZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRSZWFkZXJQdHIpCiAKICAgICAgZCB4bWxUZXh0UmVhZGVyUmVhZFN0YXRlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVGV4dFJlYWRlclJlYWRTdGF0ZScpCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVGV4dFJlYWRlclJlYWRTdGF0ZScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICByZWFkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFJlYWRlclB0cikKIAogICAgICBkIHhtbFRleHRSZWFkZXJJc05hbWVzcGFjZURlY2wuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFRleHRSZWFkZXJJc05hbWVzcGFjZURlY2wnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgcmVhZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRSZWFkZXJQdHIpCiAKICAgICAgZCB4bWxUZXh0UmVhZGVyQ29uc3RCYXNlVXJpLi4uCkBAIC0yODUsMTQgKzMwMiwxNSBAQAogICAgICAgKiBNZXRob2RzIG9mIHRoZSBYbWxUZXh0UmVhZGVyCiAKICAgICAgZCB4bWxUZXh0UmVhZGVyQ2xvc2UuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxUZXh0UmVhZGVyQ2xvc2UnKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFRleHRSZWFkZXJDbG9zZScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICByZWFkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFJlYWRlclB0cikKIAogICAgICBkIHhtbFRleHRSZWFkZXJHZXRBdHRyaWJ1dGVOby4uLgogICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxDaGFyICoKICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sVGV4dFJlYWRlckdldEF0dHJpYnV0ZU5vJykKICAgICAgZCAgcmVhZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRSZWFkZXJQdHIpCi0gICAgIGQgIG5vICAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgbm8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxUZXh0UmVhZGVyR2V0QXR0cmlidXRlLi4uCiAgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sVGV4dFJlYWRlckdldEF0dHJpYnV0ZScpIHhtbENoYXIgKgpAQCAtMzE4LDQwICszMzYsNDcgQEAKICAgICAgZCAgcHJlZml4ICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCiAKICAgICAgZCB4bWxUZXh0UmVhZGVyTW92ZVRvQXR0cmlidXRlTm8uLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFRleHRSZWFkZXJNb3ZlVG9BdHRyaWJ1dGVObycpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICByZWFkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFJlYWRlclB0cikKLSAgICAgZCAgbm8gICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBubyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIHhtbFRleHRSZWFkZXJNb3ZlVG9BdHRyaWJ1dGUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFRleHRSZWFkZXJNb3ZlVG9BdHRyaWJ1dGUnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgcmVhZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRSZWFkZXJQdHIpCiAgICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgogCiAgICAgIGQgeG1sVGV4dFJlYWRlck1vdmVUb0F0dHJpYnV0ZU5zLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxUZXh0UmVhZGVyTW92ZVRvQXR0cmlidXRlTnMnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgcmVhZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRSZWFkZXJQdHIpCiAgICAgIGQgIGxvY2FsTmFtZSAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgogICAgICBkICBuYW1lc3BhY2VVUkkgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKIAogICAgICBkIHhtbFRleHRSZWFkZXJNb3ZlVG9GaXJzdEF0dHJpYnV0ZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sVGV4dFJlYWRlck1vdmVUb0ZpcnN0QXR0cmlidXRlJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIHJlYWRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0UmVhZGVyUHRyKQogCiAgICAgIGQgeG1sVGV4dFJlYWRlck1vdmVUb05leHRBdHRyaWJ1dGUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFRleHRSZWFkZXJNb3ZlVG9OZXh0QXR0cmlidXRlJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIHJlYWRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0UmVhZGVyUHRyKQogCiAgICAgIGQgeG1sVGV4dFJlYWRlck1vdmVUb0VsZW1lbnQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxUZXh0UmVhZGVyTW92ZVRvRWxlbWVudCcpCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVGV4dFJlYWRlck1vdmVUb0VsZW1lbnQnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgcmVhZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRSZWFkZXJQdHIpCiAKICAgICAgZCB4bWxUZXh0UmVhZGVyTm9ybWFsaXphdGlvbi4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFRleHRSZWFkZXJOb3JtYWxpemF0aW9uJykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxUZXh0UmVhZGVyTm9ybWFsaXphdGlvbicpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICByZWFkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFJlYWRlclB0cikKIAogICAgICBkIHhtbFRleHRSZWFkZXJDb25zdEVuY29kaW5nLi4uCkBAIC0zNjEsMTUgKzM4NiwxNyBAQAogICAgICAgKiBFeHRlbnNpb25zCiAKICAgICAgZCB4bWxUZXh0UmVhZGVyU2V0UGFyc2VyUHJvcC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFRleHRSZWFkZXJTZXRQYXJzZXJQcm9wJykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxUZXh0UmVhZGVyU2V0UGFyc2VyUHJvcCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICByZWFkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFJlYWRlclB0cikKLSAgICAgZCAgcHJvcCAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQotICAgICBkICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIHByb3AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQorICAgICBkICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIHhtbFRleHRSZWFkZXJHZXRQYXJzZXJQcm9wLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVGV4dFJlYWRlckdldFBhcnNlclByb3AnKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFRleHRSZWFkZXJHZXRQYXJzZXJQcm9wJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIHJlYWRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0UmVhZGVyUHRyKQotICAgICBkICBwcm9wICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIHByb3AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sVGV4dFJlYWRlckN1cnJlbnROb2RlLi4uCiAgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVGV4dFJlYWRlckN1cnJlbnROb2RlJykKQEAgLTM3NywxMyArNDA0LDE1IEBACiAgICAgIGQgIHJlYWRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0UmVhZGVyUHRyKQogCiAgICAgIGQgeG1sVGV4dFJlYWRlckdldFBhcnNlckxpbmVOdW1iZXIuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFRleHRSZWFkZXJHZXRQYXJzZXJMaW5lTnVtYmVyJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIHJlYWRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0UmVhZGVyUHRyKQogCiAgICAgIGQgeG1sVGV4dFJlYWRlckdldFBhcnNlckNvbHVtbk51bWJlci4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sVGV4dFJlYWRlckdldFBhcnNlckNvbHVtbk51bWJlcicpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICByZWFkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFJlYWRlclB0cikKIAogICAgICBkIHhtbFRleHRSZWFkZXJQcmVzZXJ2ZS4uLgpAQCAtMzkzLDggKzQyMiw5IEBACiAKICAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9QQVRURVJOX0VOQUJMRUQpCiAgICAgIGQgeG1sVGV4dFJlYWRlclByZXNlcnZlUGF0dGVybi4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sVGV4dFJlYWRlclByZXNlcnZlUGF0dGVybicpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICByZWFkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFJlYWRlclB0cikKICAgICAgZCAgcGF0dGVybiAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCiAgICAgIGQgIG5hbWVzcGFjZXMgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKigqKQpAQCAtNDExLDUyICs0NDEsNjEgQEAKICAgICAgZCAgcmVhZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRSZWFkZXJQdHIpCiAKICAgICAgZCB4bWxUZXh0UmVhZGVyTmV4dC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFRleHRSZWFkZXJOZXh0JykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxUZXh0UmVhZGVyTmV4dCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICByZWFkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFJlYWRlclB0cikKIAogICAgICBkIHhtbFRleHRSZWFkZXJOZXh0U2libGluZy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFRleHRSZWFkZXJOZXh0U2libGluZycpCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVGV4dFJlYWRlck5leHRTaWJsaW5nJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIHJlYWRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0UmVhZGVyUHRyKQogCiAgICAgIGQgeG1sVGV4dFJlYWRlcklzVmFsaWQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxUZXh0UmVhZGVySXNWYWxpZCcpCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVGV4dFJlYWRlcklzVmFsaWQnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgcmVhZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRSZWFkZXJQdHIpCiAKICAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpCiAgICAgIGQgeG1sVGV4dFJlYWRlclJlbGF4TkdWYWxpZGF0ZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sVGV4dFJlYWRlclJlbGF4TkdWYWxpZGF0ZScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICByZWFkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFJlYWRlclB0cikKICAgICAgZCAgcm5nICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCiAKICAgICAgZCB4bWxUZXh0UmVhZGVyUmVsYXhOR1ZhbGlkYXRlQ3R4dC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sVGV4dFJlYWRlclJlbGF4TkdWYWxpZGF0ZUN0eHQnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgcmVhZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRSZWFkZXJQdHIpCiAgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxSZWxheE5HVmFsaWRDdHh0UHRyKQotICAgICBkICBvcHRpb25zICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIG9wdGlvbnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sVGV4dFJlYWRlclJlbGF4TkdTZXRTY2hlbWEuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFRleHRSZWFkZXJSZWxheE5HU2V0U2NoZW1hJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIHJlYWRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0UmVhZGVyUHRyKQogICAgICBkICBzY2hlbWEgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUmVsYXhOR1B0cikKIAogICAgICBkIHhtbFRleHRSZWFkZXJTY2hlbWFWYWxpZGF0ZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sVGV4dFJlYWRlclNjaGVtYVZhbGlkYXRlJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIHJlYWRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0UmVhZGVyUHRyKQogICAgICBkICB4c2QgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKIAogICAgICBkIHhtbFRleHRSZWFkZXJTY2hlbWFWYWxpZGF0ZUN0eHQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFRleHRSZWFkZXJTY2hlbWFWYWxpZGF0ZUN0eHQnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgcmVhZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRSZWFkZXJQdHIpCiAgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTY2hlbWFWYWxpZEN0eHRQdHIpCi0gICAgIGQgIG9wdGlvbnMgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgb3B0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxUZXh0UmVhZGVyU2V0U2NoZW1hLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVGV4dFJlYWRlclNldFNjaGVtYScpCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVGV4dFJlYWRlclNldFNjaGVtYScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICByZWFkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFJlYWRlclB0cikKICAgICAgZCAgc2NoZW1hICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNjaGVtYVB0cikKICAgICAgIC9lbmRpZgpAQCAtNDY3LDcgKzUwNiw4IEBACiAgICAgIGQgIHJlYWRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0UmVhZGVyUHRyKQogCiAgICAgIGQgeG1sVGV4dFJlYWRlclN0YW5kYWxvbmUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxUZXh0UmVhZGVyU3RhbmRhbG9uZScpCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVGV4dFJlYWRlclN0YW5kYWxvbmUnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgcmVhZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRSZWFkZXJQdHIpCiAKICAgICAgICogSW5kZXggbG9va3VwCkBAIC00OTAsMzAgKzUzMCwzMCBAQAogICAgICBkICBjdXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKICAgICAgZCAgVVJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCiAgICAgIGQgIGVuY29kaW5nICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBvcHRpb25zICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIG9wdGlvbnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sUmVhZGVyRm9yRmlsZS4uLgogICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFJlYWRlckZvckZpbGUnKQogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sVGV4dFJlYWRlclB0cikKICAgICAgZCAgZmlsZW5hbWUgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCiAgICAgIGQgIGVuY29kaW5nICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBvcHRpb25zICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIG9wdGlvbnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sUmVhZGVyRm9yTWVtb3J5Li4uCiAgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUmVhZGVyRm9yTWVtb3J5JykKICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFRleHRSZWFkZXJQdHIpCiAgICAgIGQgIGJ1ZmZlciAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBzaXplICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIHNpemUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogICAgICBkICBVUkwgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKICAgICAgZCAgZW5jb2RpbmcgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIG9wdGlvbnMgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgb3B0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxSZWFkZXJGb3JGZCAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxSZWFkZXJGb3JGZCcpCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxUZXh0UmVhZGVyUHRyKQotICAgICBkICBmZCAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIGZkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogICAgICBkICBVUkwgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKICAgICAgZCAgZW5jb2RpbmcgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIG9wdGlvbnMgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgb3B0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxSZWFkZXJGb3JJTyAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxSZWFkZXJGb3JJTycpCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxUZXh0UmVhZGVyUHRyKQpAQCAtNTIyLDUyICs1NjIsNTggQEAKICAgICAgZCAgaW9jdHggICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCiAgICAgIGQgIFVSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgogICAgICBkICBlbmNvZGluZyAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgb3B0aW9ucyAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBvcHRpb25zICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIHhtbFJlYWRlck5ld1dhbGtlci4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFJlYWRlck5ld1dhbGtlcicpCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUmVhZGVyTmV3V2Fsa2VyJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIHJlYWRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0UmVhZGVyUHRyKQogICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQogCiAgICAgIGQgeG1sUmVhZGVyTmV3RG9jLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sUmVhZGVyTmV3RG9jJykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxSZWFkZXJOZXdEb2MnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgcmVhZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRSZWFkZXJQdHIpCiAgICAgIGQgIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgogICAgICBkICBVUkwgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKICAgICAgZCAgZW5jb2RpbmcgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIG9wdGlvbnMgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgb3B0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxSZWFkZXJOZXdGaWxlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sUmVhZGVyTmV3RmlsZScpCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUmVhZGVyTmV3RmlsZScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICByZWFkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFJlYWRlclB0cikKICAgICAgZCAgZmlsZW5hbWUgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCiAgICAgIGQgIGVuY29kaW5nICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBvcHRpb25zICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIG9wdGlvbnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sUmVhZGVyTmV3TWVtb3J5Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sUmVhZGVyTmV3TWVtb3J5JykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxSZWFkZXJOZXdNZW1vcnknKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgcmVhZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRSZWFkZXJQdHIpCiAgICAgIGQgIGJ1ZmZlciAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBzaXplICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIHNpemUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogICAgICBkICBVUkwgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKICAgICAgZCAgZW5jb2RpbmcgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIG9wdGlvbnMgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgb3B0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKLSAgICAgZCB4bWxSZWFkZXJOZXdGZCAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxSZWFkZXJOZXdGZCcpCisgICAgIGQgeG1sUmVhZGVyTmV3RmQgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUmVhZGVyTmV3RmQnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgcmVhZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRSZWFkZXJQdHIpCi0gICAgIGQgIGZkICAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgZmQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAgICAgIGQgIFVSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgogICAgICBkICBlbmNvZGluZyAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgb3B0aW9ucyAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBvcHRpb25zICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAotICAgICBkIHhtbFJlYWRlck5ld0lPICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFJlYWRlck5ld0lPJykKKyAgICAgZCB4bWxSZWFkZXJOZXdJTyAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxSZWFkZXJOZXdJTycpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICByZWFkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFJlYWRlclB0cikKICAgICAgZCAgaW9yZWFkICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbElucHV0UmVhZENhbGxiYWNrKQogICAgICBkICBpb2Nsb3NlICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sSW5wdXRDbG9zZUNhbGxiYWNrKQogICAgICBkICBpb2N0eCAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKICAgICAgZCAgVVJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCiAgICAgIGQgIGVuY29kaW5nICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBvcHRpb25zICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIG9wdGlvbnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgICAqIEVycm9yIGhhbmRsaW5nIGV4dGVuc2lvbnMKIApAQCAtNTg3LDggKzYzMyw5IEBACiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvY3B0cgogCiAgICAgIGQgeG1sVGV4dFJlYWRlckxvY2F0b3JMaW5lTnVtYmVyLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxUZXh0UmVhZGVyTG9jYXRvckxpbmVOdW1iZXInKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgbG9jYXRvciAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRSZWFkZXJMb2NhdG9yUHRyKQogCiAgICAgIGQgeG1sVGV4dFJlYWRlckxvY2F0b3JCYXNlVVJJLi4uCmRpZmYgLS1naXQgYS9vczQwMC9saWJ4bWxycGcveG1scmVnZXhwLnJwZ2xlIGIvb3M0MDAvbGlieG1scnBnL3htbHJlZ2V4cC5ycGdsZQppbmRleCA2NWMyZDA3Li4wMWQ0MTFhIDEwMDY0NAotLS0gYS9vczQwMC9saWJ4bWxycGcveG1scmVnZXhwLnJwZ2xlCisrKyBiL29zNDAwL2xpYnhtbHJwZy94bWxyZWdleHAucnBnbGUKQEAgLTEzLDYgKzEzLDggQEAKIAogICAgICAgL2lmIGRlZmluZWQoTElCWE1MX1JFR0VYUF9FTkFCTEVEKQogCisgICAgICAvaW5jbHVkZSAibGlieG1scnBnL3htbFR5cGVzQyIKKwogICAgICAgKiB4bWxSZWdleHBQdHI6CiAgICAgICAqCiAgICAgICAqIEEgbGlieG1sIHJlZ3VsYXIgZXhwcmVzc2lvbiwgdGhleSBjYW4gYWN0dWFsbHkgYmUgZmFyIG1vcmUgY29tcGxleApAQCAtNDEsNyArNDMsOCBAQAogICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFJlZ0ZyZWVSZWdleHAnKQogICAgICBkICByZWdleHAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUmVnZXhwUHRyKQogCi0gICAgIGQgeG1sUmVnZXhwRXhlYyAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sUmVnZXhwRXhlYycpCisgICAgIGQgeG1sUmVnZXhwRXhlYyAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUmVnZXhwRXhlYycpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBjb21wICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUmVnZXhwUHRyKQogICAgICBkICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKIApAQCAtNTAsNyArNTMsOCBAQAogICAgICBkICByZWdleHAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUmVnZXhwUHRyKQogCiAgICAgIGQgeG1sUmVnZXhwSXNEZXRlcm1pbmlzdC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFJlZ2V4cElzRGV0ZXJtaW5pc3QnKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFJlZ2V4cElzRGV0ZXJtaW5pc3QnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgY29tcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFJlZ2V4cFB0cikKIAogICAgICAgKiB4bWxSZWdFeGVjQ2FsbGJhY2tzOgpAQCAtNzksMzQgKzgzLDM4IEBACiAgICAgIGQgIGV4ZWMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxSZWdFeGVjQ3R4dFB0cikKIAogICAgICBkIHhtbFJlZ0V4ZWNQdXNoU3RyaW5nLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sUmVnRXhlY1B1c2hTdHJpbmcnKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFJlZ0V4ZWNQdXNoU3RyaW5nJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGV4ZWMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxSZWdFeGVjQ3R4dFB0cikKICAgICAgZCAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCiAgICAgIGQgIGRhdGEgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgogCiAgICAgIGQgeG1sUmVnRXhlY1B1c2hTdHJpbmcyLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sUmVnRXhlY1B1c2hTdHJpbmcyJykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxSZWdFeGVjUHVzaFN0cmluZzInKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgZXhlYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFJlZ0V4ZWNDdHh0UHRyKQogICAgICBkICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKICAgICAgZCAgdmFsdWUyICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCiAgICAgIGQgIGRhdGEgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgogCiAgICAgIGQgeG1sUmVnRXhlY05leHRWYWx1ZXMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxSZWdFeGVjTmV4dFZhbHVlcycpCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUmVnRXhlY05leHRWYWx1ZXMnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgZXhlYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFJlZ0V4ZWNDdHh0UHRyKQotICAgICBkICBuYnZhbCAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwCi0gICAgIGQgIG5ibmVnICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAKKyAgICAgZCAgbmJ2YWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCisgICAgIGQgIG5ibmVnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICB2YWx1ZXMgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxDaGFyICogKCopCi0gICAgIGQgIHRlcm1pbmFsICAgICAgICAgICAgICAgICAgICAgMTBpIDAKKyAgICAgZCAgdGVybWluYWwgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxSZWdFeGVjRXJySW5mby4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFJlZ0V4ZWNFcnJJbmZvJykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxSZWdFeGVjRXJySW5mbycpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBleGVjICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUmVnRXhlY0N0eHRQdHIpCiAgICAgIGQgIHN0cmluZyAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiAoKikKLSAgICAgZCAgbmJ2YWwgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMAotICAgICBkICBuYm5lZyAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwCisgICAgIGQgIG5idmFsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQorICAgICBkICBuYm5lZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgdmFsdWVzICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sQ2hhciAqICgqKQotICAgICBkICB0ZXJtaW5hbCAgICAgICAgICAgICAgICAgICAgIDEwaSAwCisgICAgIGQgIHRlcm1pbmFsICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogCiAgICAgICAvaWYgZGVmaW5lZChMSUJYTUxfRVhQUl9FTkFCTEVEKQogCkBAIC0xMjIsMjIgKzEzMCwyNSBAQAogCiAgICAgIGQgeG1sRXhwTmV3Q3R4dCAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sRXhwTmV3Q3R4dCcpCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxFeHBDdHh0UHRyKQotICAgICBkICBtYXhOb2RlcyAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIG1heE5vZGVzICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogICAgICBkICBkaWN0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRGljdFB0cikKIAogICAgICBkIHhtbEV4cEN0eHROYk5vZGVzLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sRXhwQ3R4dE5iTm9kZXMnKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEV4cEN0eHROYk5vZGVzJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxFeHBDdHh0UHRyKQogCiAgICAgIGQgeG1sRXhwQ3R4dE5iQ29ucy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbEV4cEN0eHROYkNvbnMnKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEV4cEN0eHROYkNvbnMnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEV4cEN0eHRQdHIpCiAKICAgICAgICogRXhwcmVzc2lvbnMgYXJlIHRyZWVzIGJ1dCB0aGUgdHJlZSBpcyBvcGFxdWUKIAogICAgICBkIHhtbEV4cE5vZGVQdHIgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCiAKLSAgICAgZCB4bWxFeHBOb2RlVHlwZSAgcyAgICAgICAgICAgICAxMGkgMCBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKSAgICAgICAgICAgZW51bQorICAgICBkIHhtbEV4cE5vZGVUeXBlICBzICAgICAgICAgICAgICAgICAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDZW51bSkKICAgICAgZCAgWE1MX0VYUF9FTVBUWSAgYyAgICAgICAgICAgICAgICAgICAwCiAgICAgIGQgIFhNTF9FWFBfRk9SQklELi4uCiAgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMQpAQCAtMTc1LDcgKzE4Niw3IEBACiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxFeHBOb2RlUHRyKQogICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRXhwQ3R4dFB0cikKICAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIGxlbiAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgbGVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxFeHBOZXdPciAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxFeHBOZXdPcicpCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxFeHBOb2RlUHRyKQpAQCAtMTkzLDMwICsyMDQsMzQgQEAKICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEV4cE5vZGVQdHIpCiAgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxFeHBDdHh0UHRyKQogICAgICBkICBzdWJzZXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRXhwTm9kZVB0cikKLSAgICAgZCAgbWluICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQotICAgICBkICBtYXggICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIG1pbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQorICAgICBkICBtYXggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICAgKiBUaGUgcmVhbGx5IGludGVyZXN0aW5nIEFQSXMKIAogICAgICBkIHhtbEV4cElzTmlsbGFibGUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxFeHBJc05pbGxhYmxlJykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxFeHBJc05pbGxhYmxlJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGV4cHIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxFeHBOb2RlUHRyKQogCi0gICAgIGQgeG1sRXhwTWF4VG9rZW4gIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sRXhwTWF4VG9rZW4nKQorICAgICBkIHhtbEV4cE1heFRva2VuICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEV4cE1heFRva2VuJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGV4cHIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxFeHBOb2RlUHRyKQogCiAgICAgIGQgeG1sRXhwR2V0TGFuZ3VhZ2UuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxFeHBHZXRMYW5ndWFnZScpCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sRXhwR2V0TGFuZ3VhZ2UnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEV4cEN0eHRQdHIpCiAgICAgIGQgIGV4cHIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxFeHBOb2RlUHRyKQogICAgICBkICBsYW5nTGlzdCAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICooKikKLSAgICAgZCAgbGVuICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAotICAgICBkIHhtbEV4cEdldFN0YXJ0ICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbEV4cEdldFN0YXJ0JykKKyAgICAgZCB4bWxFeHBHZXRTdGFydCAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxFeHBHZXRTdGFydCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRXhwQ3R4dFB0cikKICAgICAgZCAgZXhwciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEV4cE5vZGVQdHIpCiAgICAgIGQgIHRva0xpc3QgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKigqKQotICAgICBkICBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIGxlbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sRXhwU3RyaW5nRGVyaXZlLi4uCiAgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sRXhwU3RyaW5nRGVyaXZlJykKQEAgLTIyNCw3ICsyMzksNyBAQAogICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRXhwQ3R4dFB0cikKICAgICAgZCAgZXhwciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEV4cE5vZGVQdHIpCiAgICAgIGQgIHN0ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIGxlbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sRXhwRXhwRGVyaXZlLi4uCiAgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sRXhwRXhwRGVyaXZlJykKQEAgLTIzMyw3ICsyNDgsOCBAQAogICAgICBkICBleHByICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRXhwTm9kZVB0cikKICAgICAgZCAgc3ViICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEV4cE5vZGVQdHIpCiAKLSAgICAgZCB4bWxFeHBTdWJzdW1lICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxFeHBTdWJzdW1lJykKKyAgICAgZCB4bWxFeHBTdWJzdW1lICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxFeHBTdWJzdW1lJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxFeHBDdHh0UHRyKQogICAgICBkICBleHByICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRXhwTm9kZVB0cikKICAgICAgZCAgc3ViICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEV4cE5vZGVQdHIpCmRpZmYgLS1naXQgYS9vczQwMC9saWJ4bWxycGcveG1sc2F2ZS5ycGdsZSBiL29zNDAwL2xpYnhtbHJwZy94bWxzYXZlLnJwZ2xlCmluZGV4IDc2NGRjZWIuLmFkMGQxNWQgMTAwNjQ0Ci0tLSBhL29zNDAwL2xpYnhtbHJwZy94bWxzYXZlLnJwZ2xlCisrKyBiL29zNDAwL2xpYnhtbHJwZy94bWxzYXZlLnJwZ2xlCkBAIC05LDE5ICs5LDIxIEBACiAgICAgICAvZGVmaW5lIFhNTF9YTUxTQVZFX0hfXwogCiAgICAgICAvaW5jbHVkZSAibGlieG1scnBnL3htbHZlcnNpb24iCisKKyAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCkKKwogICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWxUeXBlc0MiCiAgICAgICAvaW5jbHVkZSAibGlieG1scnBnL3RyZWUiCiAgICAgICAvaW5jbHVkZSAibGlieG1scnBnL2VuY29kaW5nIgogICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWxJTyIKIAotICAgICAgL2lmIGRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKQotCiAgICAgICAqIHhtbFNhdmVPcHRpb246CiAgICAgICAqCiAgICAgICAqIFRoaXMgaXMgdGhlIHNldCBvZiBYTUwgc2F2ZSBvcHRpb25zIHRoYXQgY2FuIGJlIHBhc3NlZCBkb3duCiAgICAgICAqIHRvIHRoZSB4bWxTYXZlVG9GZCgpIGFuZCBzaW1pbGFyIGNhbGxzLgogCi0gICAgIGQgeG1sU2F2ZU9wdGlvbiAgIHMgICAgICAgICAgICAgMTBpIDAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykgICAgICAgICAgIGVudW0KKyAgICAgZCB4bWxTYXZlT3B0aW9uICAgcyAgICAgICAgICAgICAgICAgICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2VudW0pCiAgICAgIGQgIFhNTF9TQVZFX0ZPUk1BVC4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZvcm1hdCBzYXZlIG91dHB1dAogICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAwMScKICAgICAgZCAgWE1MX1NBVkVfTk9fREVDTC4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRHJvcCB4bWwgZGVjbGFyYXRpb24KQEAgLTQzLDIzICs0NSwyMyBAQAogCiAgICAgIGQgeG1sU2F2ZVRvRmQgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU2F2ZVRvRmQnKQogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU2F2ZUN0eHRQdHIpCi0gICAgIGQgIGZkICAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgZmQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGVuY29kaW5nICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBvcHRpb25zICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIG9wdGlvbnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sU2F2ZVRvRmlsZW5hbWUuLi4KICAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTYXZlVG9GaWxlbmFtZScpCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxTYXZlQ3R4dFB0cikKICAgICAgZCAgZmlsZW5hbWUgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCiAgICAgIGQgIGVuY29kaW5nICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBvcHRpb25zICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIG9wdGlvbnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sU2F2ZVRvQnVmZmVyLi4uCiAgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU2F2ZVRvQnVmZmVyJykKICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNhdmVDdHh0UHRyKQogICAgICBkICBidWZmZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQnVmZmVyUHRyKQogICAgICBkICBlbmNvZGluZyAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgb3B0aW9ucyAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBvcHRpb25zICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIHhtbFNhdmVUb0lPICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNhdmVUb0lPJykKICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNhdmVDdHh0UHRyKQpAQCAtNjcsNyArNjksNyBAQAogICAgICBkICBpb2Nsb3NlICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sT3V0cHV0Q2xvc2VDYWxsYmFjaykKICAgICAgZCAgaW9jdHggICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCiAgICAgIGQgIGVuY29kaW5nICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBvcHRpb25zICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIG9wdGlvbnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sU2F2ZURvYyAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU2F2ZURvYycpCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDbG9uZykKQEAgLTc5LDE5ICs4MSwyMyBAQAogICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU2F2ZUN0eHRQdHIpCiAgICAgIGQgIG5vZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQogCi0gICAgIGQgeG1sU2F2ZUZsdXNoICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sU2F2ZUZsdXNoJykKKyAgICAgZCB4bWxTYXZlRmx1c2ggICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTYXZlRmx1c2gnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNhdmVDdHh0UHRyKQogCi0gICAgIGQgeG1sU2F2ZUNsb3NlICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sU2F2ZUNsb3NlJykKKyAgICAgZCB4bWxTYXZlQ2xvc2UgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTYXZlQ2xvc2UnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNhdmVDdHh0UHRyKQogCiAgICAgIGQgeG1sU2F2ZVNldEVzY2FwZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFNhdmVTZXRFc2NhcGUnKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNhdmVTZXRFc2NhcGUnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNhdmVDdHh0UHRyKQogICAgICBkICBlc2NhcGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2hhckVuY29kaW5nT3V0cHV0RnVuYykKIAogICAgICBkIHhtbFNhdmVTZXRBdHRyRXNjYXBlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sU2F2ZVNldEF0dHJFc2NhcGUnKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNhdmVTZXRBdHRyRXNjYXBlJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTYXZlQ3R4dFB0cikKICAgICAgZCAgZXNjYXBlICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENoYXJFbmNvZGluZ091dHB1dEZ1bmMpCiAKZGlmZiAtLWdpdCBhL29zNDAwL2xpYnhtbHJwZy94bWxzY2hlbWFzLnJwZ2xlIGIvb3M0MDAvbGlieG1scnBnL3htbHNjaGVtYXMucnBnbGUKaW5kZXggODY1ZGQyNi4uZjM0ZGRjZCAxMDA2NDQKLS0tIGEvb3M0MDAvbGlieG1scnBnL3htbHNjaGVtYXMucnBnbGUKKysrIGIvb3M0MDAvbGlieG1scnBnL3htbHNjaGVtYXMucnBnbGUKQEAgLTEzLDEyICsxMywxNCBAQAogCiAgICAgICAvaWYgZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKQogCisgICAgICAvaW5jbHVkZSAibGlieG1scnBnL3htbFR5cGVzQyIKICAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcvdHJlZSIKIAogICAgICAgKiBUaGlzIGVycm9yIGNvZGVzIGFyZSBvYnNvbGV0ZTsgbm90IHVzZWQgYW55IG1vcmUuCiAKICAgICAgZCB4bWxTY2hlbWFWYWxpZEVycm9yLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgMTBpIDAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykgICAgICAgICAgIGVudW0KKyAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICAgICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2VudW0pCiAgICAgIGQgIFhNTF9TQ0hFTUFTX0VSUl9PSy4uLgogICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDAKICAgICAgZCAgWE1MX1NDSEVNQVNfRVJSX05PUk9PVC4uLgpAQCAtODEsNyArODMsOCBAQAogICAgICAgKiBUaGlzIGlzIHRoZSBzZXQgb2YgWE1MIFNjaGVtYSB2YWxpZGF0aW9uIG9wdGlvbnMuCiAKICAgICAgZCB4bWxTY2hlbWFWYWxpZE9wdGlvbi4uLgotICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgIDEwaSAwIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpICAgICAgICAgICBlbnVtCisgICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAgICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENlbnVtKQogICAgICAgKgogICAgICAgKiBEZWZhdWx0L2ZpeGVkOiBjcmVhdGUgYW4gYXR0cmlidXRlIG5vZGUKICAgICAgICogb3IgYW4gZWxlbWVudCdzIHRleHQgbm9kZSBvbiB0aGUgaW5zdGFuY2UuCkBAIC0xNTgsNyArMTYxLDcgQEAKICAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTY2hlbWFOZXdNZW1QYXJzZXJDdHh0JykKICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNjaGVtYVBhcnNlckN0eHRQdHIpCiAgICAgIGQgYnVmZmVyICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkIHNpemUgICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sU2NoZW1hTmV3RG9jUGFyc2VyQ3R4dC4uLgogICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNjaGVtYU5ld0RvY1BhcnNlckN0eHQnKQpAQCAtMTg2LDE0ICsxODksMTYgQEAKICAgICAgZCBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCiAKICAgICAgZCB4bWxTY2hlbWFHZXRQYXJzZXJFcnJvcnMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxTY2hlbWFHZXRQYXJzZXJFcnJvcnMnKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNjaGVtYUdldFBhcnNlckVycm9ycycpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU2NoZW1hUGFyc2VyQ3R4dFB0cikKICAgICAgZCBlcnIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNjaGVtYVZhbGlkaXR5RXJyb3JGdW5jKQogICAgICBkIHdhcm4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU2NoZW1hVmFsaWRpdHlXYXJuaW5nRnVuYykKICAgICAgZCBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqKCopCiAKICAgICAgZCB4bWxTY2hlbWFJc1ZhbGlkLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sU2NoZW1hSXNWYWxpZCcpCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU2NoZW1hSXNWYWxpZCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU2NoZW1hVmFsaWRDdHh0UHRyKQogCiAgICAgIGQgeG1sU2NoZW1hUGFyc2UgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU2NoZW1hUGFyc2UnKQpAQCAtMjI4LDE2ICsyMzMsMTggQEAKICAgICAgZCBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCiAKICAgICAgZCB4bWxTY2hlbWFHZXRWYWxpZEVycm9ycy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFNjaGVtYUdldFZhbGlkRXJyb3JzJykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTY2hlbWFHZXRWYWxpZEVycm9ycycpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU2NoZW1hVmFsaWRDdHh0UHRyKQogICAgICBkIGVyciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU2NoZW1hVmFsaWRpdHlFcnJvckZ1bmMpCiAgICAgIGQgd2FybiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxTY2hlbWFWYWxpZGl0eVdhcm5pbmdGdW5jKQogICAgICBkIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICooKikKIAogICAgICBkIHhtbFNjaGVtYVNldFZhbGlkT3B0aW9ucy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFNjaGVtYVNldFZhbGlkT3B0aW9ucycpCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU2NoZW1hU2V0VmFsaWRPcHRpb25zJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTY2hlbWFWYWxpZEN0eHRQdHIpCi0gICAgIGQgb3B0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCBvcHRpb25zICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxTY2hlbWFWYWxpZGF0ZVNldEZpbGVuYW1lLi4uCiAgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKQEAgLTI0Niw4ICsyNTMsOSBAQAogICAgICBkIGZpbGVuYW1lICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKIAogICAgICBkIHhtbFNjaGVtYVZhbGlkQ3R4dEdldE9wdGlvbnMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFNjaGVtYVZhbGlkQ3R4dEdldE9wdGlvbnMnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNjaGVtYVZhbGlkQ3R4dFB0cikKIAogICAgICBkIHhtbFNjaGVtYU5ld1ZhbGlkQ3R4dC4uLgpAQCAtMjYwLDE4ICsyNjgsMjEgQEAKICAgICAgZCBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNjaGVtYVZhbGlkQ3R4dFB0cikKIAogICAgICBkIHhtbFNjaGVtYVZhbGlkYXRlRG9jLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sU2NoZW1hVmFsaWRhdGVEb2MnKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNjaGVtYVZhbGlkYXRlRG9jJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTY2hlbWFWYWxpZEN0eHRQdHIpCiAgICAgIGQgaW5zdGFuY2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCiAKICAgICAgZCB4bWxTY2hlbWFWYWxpZGF0ZU9uZUVsZW1lbnQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFNjaGVtYVZhbGlkYXRlT25lRWxlbWVudCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU2NoZW1hVmFsaWRDdHh0UHRyKQogICAgICBkIGVsZW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKIAogICAgICBkIHhtbFNjaGVtYVZhbGlkYXRlU3RyZWFtLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sU2NoZW1hVmFsaWRhdGVTdHJlYW0nKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNjaGVtYVZhbGlkYXRlU3RyZWFtJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTY2hlbWFWYWxpZEN0eHRQdHIpCiAgICAgIGQgaW5wdXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0cikKICAgICAgZCBlbmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENoYXJFbmNvZGluZykKQEAgLTI3OSwxMCArMjkwLDExIEBACiAgICAgIGQgdXNlcl9kYXRhICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgogCiAgICAgIGQgeG1sU2NoZW1hVmFsaWRhdGVGaWxlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sU2NoZW1hVmFsaWRhdGVGaWxlJykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTY2hlbWFWYWxpZGF0ZUZpbGUnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNjaGVtYVZhbGlkQ3R4dFB0cikKICAgICAgZCBmaWxlbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgb3B0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCBvcHRpb25zICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxTY2hlbWFWYWxpZEN0eHRHZXRQYXJzZXJDdHh0Li4uCiAgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKQEAgLTMwMyw3ICszMTUsOCBAQAogICAgICBkIHVzZXJfZGF0YSAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICooKikKIAogICAgICBkIHhtbFNjaGVtYVNBWFVucGx1Zy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFNjaGVtYVNBWFVucGx1ZycpCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU2NoZW1hU0FYVW5wbHVnJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgcGx1ZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTY2hlbWFTQVhQbHVnUHRyKQogCiAgICAgIGQgeG1sU2NoZW1hVmFsaWRhdGVTZXRMb2NhdG9yLi4uCmRpZmYgLS1naXQgYS9vczQwMC9saWJ4bWxycGcveG1sc2NoZW1hc3R5cGVzLnJwZ2xlIGIvb3M0MDAvbGlieG1scnBnL3htbHNjaGVtYXN0eXBlcy5ycGdsZQppbmRleCAwYmYwZjcwLi5lY2Q2YWJhIDEwMDY0NAotLS0gYS9vczQwMC9saWJ4bWxycGcveG1sc2NoZW1hc3R5cGVzLnJwZ2xlCisrKyBiL29zNDAwL2xpYnhtbHJwZy94bWxzY2hlbWFzdHlwZXMucnBnbGUKQEAgLTEwLDE1ICsxMCwxNiBAQAogICAgICAgL2RlZmluZSBYTUxfU0NIRU1BX1RZUEVTX0hfXwogCiAgICAgICAvaW5jbHVkZSAibGlieG1scnBnL3htbHZlcnNpb24iCi0gICAgICAvaW5jbHVkZSAibGlieG1scnBnL3htbFR5cGVzQyIKIAogICAgICAgL2lmIGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkKIAorICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWxUeXBlc0MiCiAgICAgICAvaW5jbHVkZSAibGlieG1scnBnL3NjaGVtYXNJbnRlcm5hbHMiCiAgICAgICAvaW5jbHVkZSAibGlieG1scnBnL3htbHNjaGVtYXMiCiAKICAgICAgZCB4bWxTY2hlbWFXaGl0ZXNwYWNlVmFsdWVUeXBlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgMTBpIDAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykgICAgICAgICAgIGVudW0KKyAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICAgICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2VudW0pCiAgICAgIGQgIFhNTF9TQ0hFTUFfV0hJVEVTUEFDRV9VTktOT1dOLi4uCiAgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMAogICAgICBkICBYTUxfU0NIRU1BX1dISVRFU1BBQ0VfUFJFU0VSVkUuLi4KQEAgLTQxLDI5ICs0MiwzMyBAQAogICAgICBkICBucyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKIAogICAgICBkIHhtbFNjaGVtYVZhbGlkYXRlUHJlZGVmaW5lZFR5cGUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFNjaGVtYVZhbGlkYXRlUHJlZGVmaW5lZFR5cGUnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgdHlwZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNjaGVtYVR5cGVQdHIpCiAgICAgIGQgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgogICAgICBkICB2YWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxTY2hlbWFWYWxQdHIgKgogCiAgICAgIGQgeG1sU2NoZW1hVmFsUHJlZGVmVHlwZU5vZGUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxTY2hlbWFWYWxQcmVkZWZUeXBlTm9kZScpCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU2NoZW1hVmFsUHJlZGVmVHlwZU5vZGUnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgdHlwZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNjaGVtYVR5cGVQdHIpCiAgICAgIGQgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgogICAgICBkICB2YWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxTY2hlbWFWYWxQdHIgKgogICAgICBkICBub2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKIAogICAgICBkIHhtbFNjaGVtYVZhbGlkYXRlRmFjZXQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxTY2hlbWFWYWxpZGF0ZUZhY2V0JykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTY2hlbWFWYWxpZGF0ZUZhY2V0JykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGJhc2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTY2hlbWFUeXBlUHRyKQogICAgICBkICBmYWNldCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU2NoZW1hRmFjZXRQdHIpCiAgICAgIGQgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgogICAgICBkICB2YWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU2NoZW1hVmFsUHRyKQogCiAgICAgIGQgeG1sU2NoZW1hVmFsaWRhdGVGYWNldFdodHNwLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxTY2hlbWFWYWxpZGF0ZUZhY2V0V2h0c3AnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgZmFjZXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNjaGVtYUZhY2V0UHRyKQogICAgICBkICBmd3MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxTY2hlbWFXaGl0ZXNwYWNlVmFsdWVUeXBlKQpAQCAtODIsNyArODcsOCBAQAogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU2NoZW1hRmFjZXRQdHIpCiAKICAgICAgZCB4bWxTY2hlbWFDaGVja0ZhY2V0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sU2NoZW1hQ2hlY2tGYWNldCcpCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU2NoZW1hQ2hlY2tGYWNldCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBmYWNldCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU2NoZW1hRmFjZXRQdHIpCiAgICAgIGQgIHR5cGVEZWNsICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTY2hlbWFUeXBlUHRyKQogICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU2NoZW1hUGFyc2VyQ3R4dFB0cikKQEAgLTkzLDcgKzk5LDggQEAKICAgICAgZCAgZmFjZXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNjaGVtYUZhY2V0UHRyKQogCiAgICAgIGQgeG1sU2NoZW1hQ29tcGFyZVZhbHVlcy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFNjaGVtYUNvbXBhcmVWYWx1ZXMnKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNjaGVtYUNvbXBhcmVWYWx1ZXMnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgeCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNjaGVtYVZhbFB0cikKICAgICAgZCAgeSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNjaGVtYVZhbFB0cikKIApAQCAtMTA0LDggKzExMSw5IEBACiAgICAgIGQgIHR5cGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTY2hlbWFUeXBlUHRyKQogCiAgICAgIGQgeG1sU2NoZW1hVmFsaWRhdGVMaXN0U2ltcGxlVHlwZUZhY2V0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sU2NoZW1hVmFsaWRhdGVMaXN0U2ltcGxlLQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNjaGVtYVZhbGlkYXRlTGlzdFNpbXBsZS0KICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUeXBlRmFjZXQnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgZmFjZXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNjaGVtYUZhY2V0UHRyKQogICAgICBkICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKICAgICAgZCAgYWN0dWFsTGVuICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEN1bG9uZykKQEAgLTExNywxMCArMTI1LDExIEBACiAgICAgIGQgIHR5cGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTY2hlbWFWYWxUeXBlKQogCiAgICAgIGQgeG1sU2NoZW1hSXNCdWlsdEluVHlwZUZhY2V0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxTY2hlbWFJc0J1aWx0SW5UeXBlRmFjZXQnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgdHlwZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNjaGVtYVR5cGVQdHIpCi0gICAgIGQgIGZhY2V0VHlwZSAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgZmFjZXRUeXBlICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxTY2hlbWFDb2xsYXBzZVN0cmluZy4uLgogICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbFNjaGVtYUNvbGxhcHNlU3RyaW5nJykgICB4bWxDaGFyICoKQEAgLTEzNyw4ICsxNDYsOSBAQAogICAgICBkICBmYWNldCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU2NoZW1hRmFjZXRQdHIpCiAKICAgICAgZCB4bWxTY2hlbWFWYWxpZGF0ZUxlbmd0aEZhY2V0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxTY2hlbWFWYWxpZGF0ZUxlbmd0aEZhY2V0JykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIHR5cGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTY2hlbWFUeXBlUHRyKQogICAgICBkICBmYWNldCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU2NoZW1hRmFjZXRQdHIpCiAgICAgIGQgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgpAQCAtMTQ2LDggKzE1Niw5IEBACiAgICAgIGQgIGxlbmd0aCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDdWxvbmcpCiAKICAgICAgZCB4bWxTY2hlbWFWYWxpZGF0ZUxlbmd0aEZhY2V0V2h0c3AuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFNjaGVtYVZhbGlkYXRlTGVuZ3RoRmFjZXRXaHRzcCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBmYWNldCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU2NoZW1hRmFjZXRQdHIpCiAgICAgIGQgIHZhbFR5cGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTY2hlbWFWYWxUeXBlKQogICAgICBkICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKQEAgLTE1NywyOCArMTY4LDMyIEBACiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxTY2hlbWFXaGl0ZXNwYWNlVmFsdWVUeXBlKQogCiAgICAgIGQgeG1sU2NoZW1hVmFsUHJlZGVmVHlwZU5vZGVOb05vcm0uLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFNjaGVtYVZhbFByZWRlZlR5cGVOb2RlTm9Ob3JtJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIHR5cGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTY2hlbWFUeXBlUHRyKQogICAgICBkICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKICAgICAgZCAgdmFsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNjaGVtYVZhbFB0cikKICAgICAgZCAgbm9kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCiAKICAgICAgZCB4bWxTY2hlbWFHZXRDYW5vblZhbHVlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sU2NoZW1hR2V0Q2Fub25WYWx1ZScpCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU2NoZW1hR2V0Q2Fub25WYWx1ZScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICB2YWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU2NoZW1hVmFsUHRyKQogICAgICBkICByZXRWYWx1ZSAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICogKgogCiAgICAgIGQgeG1sU2NoZW1hR2V0Q2Fub25WYWx1ZVdodHNwLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxTY2hlbWFHZXRDYW5vblZhbHVlV2h0c3AnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgdmFsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNjaGVtYVZhbFB0cikKICAgICAgZCAgcmV0VmFsdWUgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqICoKICAgICAgZCAgd3MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZQogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU2NoZW1hV2hpdGVzcGFjZVZhbHVlVHlwZSkKIAogICAgICBkIHhtbFNjaGVtYVZhbHVlQXBwZW5kLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sU2NoZW1hVmFsdWVBcHBlbmQnKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNjaGVtYVZhbHVlQXBwZW5kJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIHByZXYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTY2hlbWFWYWxQdHIpCiAgICAgIGQgIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTY2hlbWFWYWxQdHIpCiAKQEAgLTE5Miw3ICsyMDcsOCBAQAogICAgICBkICB2YWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU2NoZW1hVmFsUHRyKQogCiAgICAgIGQgeG1sU2NoZW1hVmFsdWVHZXRBc0Jvb2xlYW4uLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxTY2hlbWFWYWx1ZUdldEFzQm9vbGVhbicpCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU2NoZW1hVmFsdWVHZXRBc0Jvb2xlYW4nKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgdmFsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNjaGVtYVZhbFB0cikKIAogICAgICBkIHhtbFNjaGVtYU5ld1N0cmluZ1ZhbHVlLi4uCkBAIC0yMTQsOCArMjMwLDkgQEAKICAgICAgZCAgbG9jYWxOYW1lICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCiAKICAgICAgZCB4bWxTY2hlbWFDb21wYXJlVmFsdWVzV2h0c3AuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFNjaGVtYUNvbXBhcmVWYWx1ZXNXaHRzcCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICB4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU2NoZW1hVmFsUHRyKQogICAgICBkICB4d3MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxTY2hlbWFXaGl0ZXNwYWNlVmFsdWVUeXBlKQpkaWZmIC0tZ2l0IGEvb3M0MDAvbGlieG1scnBnL3htbHN0ZGFyZy5ycGdsZSBiL29zNDAwL2xpYnhtbHJwZy94bWxzdGRhcmcucnBnbGUKaW5kZXggOWU0NWE0Yy4uM2M4ZTIwMCAxMDA2NDQKLS0tIGEvb3M0MDAvbGlieG1scnBnL3htbHN0ZGFyZy5ycGdsZQorKysgYi9vczQwMC9saWJ4bWxycGcveG1sc3RkYXJnLnJwZ2xlCkBAIC04LDYgKzgsNyBAQAogICAgICAgL2RlZmluZSBYTUxfU1REQVJHX0hfXwogCiAgICAgICAvaW5jbHVkZSAibGlieG1scnBnL3htbHZlcnNpb24iCisgICAgICAvaW5jbHVkZSAibGlieG1scnBnL3htbFR5cGVzQyIKIAogICAgICAgKiBUaGUgdmFfbGlzdCBvYmplY3QuCiAKQEAgLTIxLDEyICsyMiwxMiBAQAogICAgICBkIHhtbFZhU3RhcnQgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ19feG1sVmFTdGFydCcpCiAgICAgIGQgIGxpc3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZWRzKHhtbFZhTGlzdCkKICAgICAgZCAgbGFzdGFyZ2FkZHIgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZQotICAgICBkICBsYXN0YXJnc2l6ZSAgICAgICAgICAgICAgICAgIDEwdSAwIHZhbHVlCisgICAgIGQgIGxhc3RhcmdzaXplICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDc2l6ZV90KQogCiAgICAgIGQgeG1sVmFBcmcgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygnX194bWxWYUFyZycpCiAgICAgIGQgIGxpc3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZWRzKHhtbFZhTGlzdCkKICAgICAgZCAgZGVzdCAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZQotICAgICBkICBhcmdzaXplICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIGFyZ3NpemUgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDc2l6ZV90KQogCiAgICAgIGQgeG1sVmFFbmQgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnX194bWxWYUVuZCcpCiAgICAgIGQgIGxpc3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZWRzKHhtbFZhTGlzdCkKZGlmZiAtLWdpdCBhL29zNDAwL2xpYnhtbHJwZy94bWxzdHJpbmcucnBnbGUgYi9vczQwMC9saWJ4bWxycGcveG1sc3RyaW5nLnJwZ2xlCmluZGV4IDViODYzZTQuLjg5ODBmYzAgMTAwNjQ0Ci0tLSBhL29zNDAwL2xpYnhtbHJwZy94bWxzdHJpbmcucnBnbGUKKysrIGIvb3M0MDAvbGlieG1scnBnL3htbHN0cmluZy5ycGdsZQpAQCAtMjksMTkgKzI5LDE5IEBACiAKICAgICAgZCB4bWxTdHJuZHVwICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxTdHJuZHVwJykgICAgICAgICAgICAgICAgeG1sQ2hhciAqCiAgICAgIGQgIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIGxlbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sQ2hhclN0cm5kdXAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sQ2hhclN0cm5kdXAnKSAgICAgICAgICAgIHhtbENoYXIgKgogICAgICBkICBjdXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgbGVuICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIHhtbENoYXJTdHJkdXAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbENoYXJTdHJkdXAnKSAgICAgICAgICAgICB4bWxDaGFyICoKICAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCiAKICAgICAgZCB4bWxTdHJzdWIgICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxTdHJzdWInKSAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCiAgICAgIGQgIHN0ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBzdGFydCAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCi0gICAgIGQgIGxlbiAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgc3RhcnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCisgICAgIGQgIGxlbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sU3RyY2hyICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sU3RyY2hyJykgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgogICAgICBkICBzdHIgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKQEAgLTU1LDM0ICs1NSw0MSBAQAogICAgICBkICBzdHIgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKICAgICAgZCAgdmFsICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCiAKLSAgICAgZCB4bWxTdHJjbXAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxTdHJjbXAnKQorICAgICBkIHhtbFN0cmNtcCAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFN0cmNtcCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBzdHIxICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKICAgICAgZCAgc3RyMiAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCiAKLSAgICAgZCB4bWxTdHJuY21wICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxTdHJuY21wJykKKyAgICAgZCB4bWxTdHJuY21wICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTdHJuY21wJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIHN0cjEgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgogICAgICBkICBzdHIyICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgbGVuICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAotICAgICBkIHhtbFN0cmNhc2VjbXAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFN0cmNhc2VjbXAnKQorICAgICBkIHhtbFN0cmNhc2VjbXAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFN0cmNhc2VjbXAnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgc3RyMSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCiAgICAgIGQgIHN0cjIgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgogCi0gICAgIGQgeG1sU3RybmNhc2VjbXAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sU3RybmNhc2VjbXAnKQorICAgICBkIHhtbFN0cm5jYXNlY21wICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFN0cm5jYXNlY21wJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIHN0cjEgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgogICAgICBkICBzdHIyICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgbGVuICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAotICAgICBkIHhtbFN0ckVxdWFsICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFN0ckVxdWFsJykKKyAgICAgZCB4bWxTdHJFcXVhbCAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTdHJFcXVhbCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBzdHIxICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKICAgICAgZCAgc3RyMiAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCiAKLSAgICAgZCB4bWxTdHJRRXF1YWwgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxTdHJRRXF1YWwnKQorICAgICBkIHhtbFN0clFFcXVhbCAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFN0clFFcXVhbCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBwcmVmICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKICAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCiAgICAgIGQgIHN0cmUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgogCi0gICAgIGQgeG1sU3RybGVuICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sU3RybGVuJykKKyAgICAgZCB4bWxTdHJsZW4gICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTdHJsZW4nKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgc3RyICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCiAKICAgICAgZCB4bWxTdHJjYXQgICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxTdHJjYXQnKSAgICAgICAgICAgICAgICAgeG1sQ2hhciAqCkBAIC05MiwyMSArOTksMjIgQEAKICAgICAgZCB4bWxTdHJuY2F0ICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxTdHJuY2F0JykgICAgICAgICAgICAgICAgeG1sQ2hhciAqCiAgICAgIGQgIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIHhtbENoYXIgKgogICAgICBkICBhZGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgbGVuICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIHhtbFN0cm5jYXROZXcgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbFN0cm5jYXROZXcnKSAgICAgICAgICAgICB4bWxDaGFyICoKICAgICAgZCAgc3RyMSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCiAgICAgIGQgIHN0cjIgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIGxlbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgICAqIHhtbFN0clByaW50ZigpIGlzIGEgdmFyYXJnIGZ1bmN0aW9uLgogICAgICAgKiBUaGUgZm9sbG93aW5nIHByb3RvdHlwZSBzdXBwb3J0cyB1cCB0byA4IHBvaW50ZXIgYXJndW1lbnRzLgogICAgICAgKiBPdGhlciBhcmd1bWVudCBzaWduYXR1cmUgY2FuIGJlIGFjaGlldmVkIGJ5IGRlZmluaW5nIGFsdGVybmF0ZQogICAgICAgKiAgIHByb3RvdHlwZXMgcmVkaXJlY3RlZCB0byB0aGUgc2FtZSBmdW5jdGlvbi4KIAotICAgICBkIHhtbFN0clByaW50ZiAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFN0clByaW50ZicpCisgICAgIGQgeG1sU3RyUHJpbnRmICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU3RyUHJpbnRmJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGJ1ZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIHhtbENoYXIgKgotICAgICBkICBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIGxlbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogICAgICBkICBtc2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKICAgICAgZCAgYXJnMSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpCiAgICAgIGQgIGFyZzIgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKQpAQCAtMTE3LDQ3ICsxMjUsNTUgQEAKICAgICAgZCAgYXJnNyAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpCiAgICAgIGQgIGFyZzggICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKQogCi0gICAgIGQgeG1sU3RyVlByaW50ZiAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sU3RyVlByaW50ZicpCisgICAgIGQgeG1sU3RyVlByaW50ZiAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU3RyVlByaW50ZicpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBidWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICB4bWxDaGFyICoKLSAgICAgZCAgbGVuICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgbXNnICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCiAgICAgIGQgIGFwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZWRzKHhtbFZhTGlzdCkKIAotICAgICBkIHhtbEdldFVURjhDaGFyICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbEdldFVURjhDaGFyJykKKyAgICAgZCB4bWxHZXRVVEY4Q2hhciAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxHZXRVVEY4Q2hhcicpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICB1dGYgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB1bnMuIGNoYXIgKgotICAgICBkICBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwCisgICAgIGQgIGxlbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogCi0gICAgIGQgeG1sQ2hlY2tVVEY4ICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sQ2hlY2tVVEY4JykKKyAgICAgZCB4bWxDaGVja1VURjggICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxDaGVja1VURjgnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgdXRmICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgdW5zLiBjaGFyICoKIAotICAgICBkIHhtbFVURjhTdHJzaXplICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVURjhTdHJzaXplJykKKyAgICAgZCB4bWxVVEY4U3Ryc2l6ZSAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVVEY4U3Ryc2l6ZScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICB1dGYgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgbGVuICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIHhtbFVURjhTdHJuZHVwICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbFVURjhTdHJuZHVwJykgICAgICAgICAgICB4bWxDaGFyICoKICAgICAgZCAgdXRmICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIGxlbiAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgbGVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxVVEY4U3RycG9zICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxVVEY4U3RycG9zJykgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCiAgICAgIGQgIHV0ZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBwb3MgICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIHBvcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCi0gICAgIGQgeG1sVVRGOFN0cmxvYyAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVVRGOFN0cmxvYycpCisgICAgIGQgeG1sVVRGOFN0cmxvYyAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVVRGOFN0cmxvYycpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICB1dGYgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKICAgICAgZCAgdXRmY2hhciAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCiAKICAgICAgZCB4bWxVVEY4U3Ryc3ViICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxVVEY4U3Ryc3ViJykgICAgICAgICAgICAgeG1sQ2hhciAqCiAgICAgIGQgIHV0ZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBzdGFydCAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCi0gICAgIGQgIGxlbiAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgc3RhcnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCisgICAgIGQgIGxlbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCi0gICAgIGQgeG1sVVRGOFN0cmxlbiAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVVRGOFN0cmxlbicpCisgICAgIGQgeG1sVVRGOFN0cmxlbiAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVVRGOFN0cmxlbicpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICB1dGYgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKIAotICAgICBkIHhtbFVURjhTaXplICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVURjhTaXplJykKKyAgICAgZCB4bWxVVEY4U2l6ZSAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVVEY4U2l6ZScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICB1dGYgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKIAotICAgICBkIHhtbFVURjhDaGFyY21wICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVURjhDaGFyY21wJykKKyAgICAgZCB4bWxVVEY4Q2hhcmNtcCAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVVEY4Q2hhcmNtcCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICB1dGYxICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKICAgICAgZCAgdXRmMiAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCiAKZGlmZiAtLWdpdCBhL29zNDAwL2xpYnhtbHJwZy94bWx1bmljb2RlLnJwZ2xlIGIvb3M0MDAvbGlieG1scnBnL3htbHVuaWNvZGUucnBnbGUKaW5kZXggNjRmN2FiZi4uYzRjNGJhMSAxMDA2NDQKLS0tIGEvb3M0MDAvbGlieG1scnBnL3htbHVuaWNvZGUucnBnbGUKKysrIGIvb3M0MDAvbGlieG1scnBnL3htbHVuaWNvZGUucnBnbGUKQEAgLTEyLDY1NiArMTIsODI0IEBACiAKICAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpCiAKKyAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveG1sVHlwZXNDIgorCiAgICAgIGQgeG1sVUNTSXNBZWdlYW5OdW1iZXJzLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNBZWdlYW5OdW1iZXJzJykKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzQWVnZWFuTnVtYmVycycpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIHhtbFVDU0lzQWxwaGFiZXRpY1ByZXNlbnRhdGlvbkZvcm1zLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxVQ1NJc0FscGhhYmV0aWNQcmVzZW50YXRpb25Gb3JtcycKICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCi0gICAgIGQgeG1sVUNTSXNBcmFiaWMgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNBcmFiaWMnKQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgeG1sVUNTSXNBcmFiaWMgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNBcmFiaWMnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxVQ1NJc0FyYWJpY1ByZXNlbnRhdGlvbkZvcm1zQS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sVUNTSXNBcmFiaWNQcmVzZW50YXRpb25Gb3Jtc0EnKQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIHhtbFVDU0lzQXJhYmljUHJlc2VudGF0aW9uRm9ybXNCLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxVQ1NJc0FyYWJpY1ByZXNlbnRhdGlvbkZvcm1zQicpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sVUNTSXNBcm1lbmlhbi4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzQXJtZW5pYW4nKQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNBcm1lbmlhbicpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAotICAgICBkIHhtbFVDU0lzQXJyb3dzICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzQXJyb3dzJykKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkIHhtbFVDU0lzQXJyb3dzICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzQXJyb3dzJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sVUNTSXNCYXNpY0xhdGluLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNCYXNpY0xhdGluJykKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzQmFzaWNMYXRpbicpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIHhtbFVDU0lzQmVuZ2FsaS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzQmVuZ2FsaScpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVQ1NJc0JlbmdhbGknKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxVQ1NJc0Jsb2NrRWxlbWVudHMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxVQ1NJc0Jsb2NrRWxlbWVudHMnKQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNCbG9ja0VsZW1lbnRzJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sVUNTSXNCb3BvbW9mby4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzQm9wb21vZm8nKQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNCb3BvbW9mbycpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIHhtbFVDU0lzQm9wb21vZm9FeHRlbmRlZC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzQm9wb21vZm9FeHRlbmRlZCcpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVQ1NJc0JvcG9tb2ZvRXh0ZW5kZWQnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxVQ1NJc0JveERyYXdpbmcuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxVQ1NJc0JveERyYXdpbmcnKQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNCb3hEcmF3aW5nJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sVUNTSXNCcmFpbGxlUGF0dGVybnMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxVQ1NJc0JyYWlsbGVQYXR0ZXJucycpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVQ1NJc0JyYWlsbGVQYXR0ZXJucycpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAotICAgICBkIHhtbFVDU0lzQnVoaWQgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzQnVoaWQnKQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgeG1sVUNTSXNCdWhpZCAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNCdWhpZCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIHhtbFVDU0lzQnl6YW50aW5lTXVzaWNhbFN5bWJvbHMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFVDU0lzQnl6YW50aW5lTXVzaWNhbFN5bWJvbHMnKQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIHhtbFVDU0lzQ0pLQ29tcGF0aWJpbGl0eS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzQ0pLQ29tcGF0aWJpbGl0eScpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVQ1NJc0NKS0NvbXBhdGliaWxpdHknKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxVQ1NJc0NKS0NvbXBhdGliaWxpdHlGb3Jtcy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sVUNTSXNDSktDb21wYXRpYmlsaXR5Rm9ybXMnKQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIHhtbFVDU0lzQ0pLQ29tcGF0aWJpbGl0eUlkZW9ncmFwaHMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFVDU0lzQ0pLQ29tcGF0aWJpbGl0eUlkZW9ncmFwaHMnKQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIHhtbFVDU0lzQ0pLQ29tcGF0aWJpbGl0eUlkZW9ncmFwaHNTdXBwbGVtZW50Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNDSktDb21wYXRpYmlsaXR5SWRlLQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzQ0pLQ29tcGF0aWJpbGl0eUlkZS0KICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZ3JhcGhzU3VwcGxlbWVudCcpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sVUNTSXNDSktSYWRpY2Fsc1N1cHBsZW1lbnQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFVDU0lzQ0pLUmFkaWNhbHNTdXBwbGVtZW50JykKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxVQ1NJc0NKS1N5bWJvbHNhbmRQdW5jdHVhdGlvbi4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sVUNTSXNDSktTeW1ib2xzYW5kUHVuY3R1YXRpb24nKQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIHhtbFVDU0lzQ0pLVW5pZmllZElkZW9ncmFwaHMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFVDU0lzQ0pLVW5pZmllZElkZW9ncmFwaHMnKQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIHhtbFVDU0lzQ0pLVW5pZmllZElkZW9ncmFwaHNFeHRlbnNpb25BLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNDSktVbmlmaWVkSWRlb2dyYXBoLQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzQ0pLVW5pZmllZElkZW9ncmFwaC0KICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzRXh0ZW5zaW9uQScpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sVUNTSXNDSktVbmlmaWVkSWRlb2dyYXBoc0V4dGVuc2lvbkIuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxVQ1NJc0NKS1VuaWZpZWRJZGVvZ3JhcGgtCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNDSktVbmlmaWVkSWRlb2dyYXBoLQogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNFeHRlbnNpb25CJykKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxVQ1NJc0NoZXJva2VlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNDaGVyb2tlZScpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVQ1NJc0NoZXJva2VlJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sVUNTSXNDb21iaW5pbmdEaWFjcml0aWNhbE1hcmtzLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxVQ1NJc0NvbWJpbmluZ0RpYWNyaXRpY2FsTWFya3MnKQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIHhtbFVDU0lzQ29tYmluaW5nRGlhY3JpdGljYWxNYXJrc2ZvclN5bWJvbHMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxVQ1NJc0NvbWJpbmluZ0RpYWNyaXRpY2EtCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNDb21iaW5pbmdEaWFjcml0aWNhLQogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxNYXJrc2ZvclN5bWJvbHMnKQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIHhtbFVDU0lzQ29tYmluaW5nSGFsZk1hcmtzLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNDb21iaW5pbmdIYWxmTWFya3MnKQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNDb21iaW5pbmdIYWxmTWFya3MnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxVQ1NJc0NvbWJpbmluZ01hcmtzZm9yU3ltYm9scy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sVUNTSXNDb21iaW5pbmdNYXJrc2ZvclN5bWJvbHMnKQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIHhtbFVDU0lzQ29udHJvbFBpY3R1cmVzLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNDb250cm9sUGljdHVyZXMnKQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNDb250cm9sUGljdHVyZXMnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxVQ1NJc0N1cnJlbmN5U3ltYm9scy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzQ3VycmVuY3lTeW1ib2xzJykKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzQ3VycmVuY3lTeW1ib2xzJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sVUNTSXNDeXByaW90U3lsbGFiYXJ5Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNDeXByaW90U3lsbGFiYXJ5JykKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzQ3lwcmlvdFN5bGxhYmFyeScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIHhtbFVDU0lzQ3lyaWxsaWMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxVQ1NJc0N5cmlsbGljJykKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzQ3lyaWxsaWMnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxVQ1NJc0N5cmlsbGljU3VwcGxlbWVudC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzQ3lyaWxsaWNTdXBwbGVtZW50JykKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzQ3lyaWxsaWNTdXBwbGVtZW50JykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sVUNTSXNEZXNlcmV0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNEZXNlcmV0JykKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzRGVzZXJldCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIHhtbFVDU0lzRGV2YW5hZ2FyaS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzRGV2YW5hZ2FyaScpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVQ1NJc0RldmFuYWdhcmknKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxVQ1NJc0RpbmdiYXRzLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNEaW5nYmF0cycpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVQ1NJc0RpbmdiYXRzJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sVUNTSXNFbmNsb3NlZEFscGhhbnVtZXJpY3MuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFVDU0lzRW5jbG9zZWRBbHBoYW51bWVyaWNzJykKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxVQ1NJc0VuY2xvc2VkQ0pLTGV0dGVyc2FuZE1vbnRocy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sVUNTSXNFbmNsb3NlZENKS0xldHRlcnNhbmRNb250aHMnCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIHhtbFVDU0lzRXRoaW9waWMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxVQ1NJc0V0aGlvcGljJykKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzRXRoaW9waWMnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxVQ1NJc0dlbmVyYWxQdW5jdHVhdGlvbi4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzR2VuZXJhbFB1bmN0dWF0aW9uJykKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzR2VuZXJhbFB1bmN0dWF0aW9uJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sVUNTSXNHZW9tZXRyaWNTaGFwZXMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxVQ1NJc0dlb21ldHJpY1NoYXBlcycpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVQ1NJc0dlb21ldHJpY1NoYXBlcycpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIHhtbFVDU0lzR2VvcmdpYW4uLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxVQ1NJc0dlb3JnaWFuJykKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzR2VvcmdpYW4nKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKLSAgICAgZCB4bWxVQ1NJc0dvdGhpYyAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxVQ1NJc0dvdGhpYycpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCB4bWxVQ1NJc0dvdGhpYyAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVQ1NJc0dvdGhpYycpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAotICAgICBkIHhtbFVDU0lzR3JlZWsgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzR3JlZWsnKQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgeG1sVUNTSXNHcmVlayAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNHcmVlaycpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIHhtbFVDU0lzR3JlZWtFeHRlbmRlZC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzR3JlZWtFeHRlbmRlZCcpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVQ1NJc0dyZWVrRXh0ZW5kZWQnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxVQ1NJc0dyZWVrYW5kQ29wdGljLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNHcmVla2FuZENvcHRpYycpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVQ1NJc0dyZWVrYW5kQ29wdGljJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sVUNTSXNHdWphcmF0aS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzR3VqYXJhdGknKQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNHdWphcmF0aScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIHhtbFVDU0lzR3VybXVraGkuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxVQ1NJc0d1cm11a2hpJykKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzR3VybXVraGknKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxVQ1NJc0hhbGZ3aWR0aGFuZEZ1bGx3aWR0aEZvcm1zLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxVQ1NJc0hhbGZ3aWR0aGFuZEZ1bGx3aWR0aEZvcm1zJykKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxVQ1NJc0hhbmd1bENvbXBhdGliaWxpdHlKYW1vLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxVQ1NJc0hhbmd1bENvbXBhdGliaWxpdHlKYW1vJykKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxVQ1NJc0hhbmd1bEphbW8uLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxVQ1NJc0hhbmd1bEphbW8nKQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNIYW5ndWxKYW1vJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sVUNTSXNIYW5ndWxTeWxsYWJsZXMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxVQ1NJc0hhbmd1bFN5bGxhYmxlcycpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVQ1NJc0hhbmd1bFN5bGxhYmxlcycpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIHhtbFVDU0lzSGFudW5vby4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzSGFudW5vbycpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVQ1NJc0hhbnVub28nKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKLSAgICAgZCB4bWxVQ1NJc0hlYnJldyAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxVQ1NJc0hlYnJldycpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCB4bWxVQ1NJc0hlYnJldyAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVQ1NJc0hlYnJldycpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIHhtbFVDU0lzSGlnaFByaXZhdGVVc2VTdXJyb2dhdGVzLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxVQ1NJc0hpZ2hQcml2YXRlVXNlU3Vycm9nYXRlcycpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sVUNTSXNIaWdoU3Vycm9nYXRlcy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzSGlnaFN1cnJvZ2F0ZXMnKQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNIaWdoU3Vycm9nYXRlcycpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIHhtbFVDU0lzSGlyYWdhbmEuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxVQ1NJc0hpcmFnYW5hJykKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzSGlyYWdhbmEnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxVQ1NJc0lQQUV4dGVuc2lvbnMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxVQ1NJc0lQQUV4dGVuc2lvbnMnKQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNJUEFFeHRlbnNpb25zJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sVUNTSXNJZGVvZ3JhcGhpY0Rlc2NyaXB0aW9uQ2hhcmFjdGVycy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzSWRlb2dyYXBoaWNEZXNjcmlwdC0KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVQ1NJc0lkZW9ncmFwaGljRGVzY3JpcHQtCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW9uQ2hhcmFjdGVycycpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCi0gICAgIGQgeG1sVUNTSXNLYW5idW4gIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNLYW5idW4nKQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgeG1sVUNTSXNLYW5idW4gIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNLYW5idW4nKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxVQ1NJc0thbmd4aVJhZGljYWxzLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNLYW5neGlSYWRpY2FscycpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVQ1NJc0thbmd4aVJhZGljYWxzJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sVUNTSXNLYW5uYWRhLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNLYW5uYWRhJykKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzS2FubmFkYScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIHhtbFVDU0lzS2F0YWthbmEuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxVQ1NJc0thdGFrYW5hJykKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzS2F0YWthbmEnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxVQ1NJc0thdGFrYW5hUGhvbmV0aWNFeHRlbnNpb25zLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxVQ1NJc0thdGFrYW5hUGhvbmV0aWNFeHRlbnNpb25zJykKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKLSAgICAgZCB4bWxVQ1NJc0tobWVyICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxVQ1NJc0tobWVyJykKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkIHhtbFVDU0lzS2htZXIgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzS2htZXInKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxVQ1NJc0tobWVyU3ltYm9scy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzS2htZXJTeW1ib2xzJykKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzS2htZXJTeW1ib2xzJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCi0gICAgIGQgeG1sVUNTSXNMYW8gICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNMYW8nKQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgeG1sVUNTSXNMYW8gICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNMYW8nKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxVQ1NJc0xhdGluMVN1cHBsZW1lbnQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxVQ1NJc0xhdGluMVN1cHBsZW1lbnQnKQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNMYXRpbjFTdXBwbGVtZW50JykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sVUNTSXNMYXRpbkV4dGVuZGVkQS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzTGF0aW5FeHRlbmRlZEEnKQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNMYXRpbkV4dGVuZGVkQScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIHhtbFVDU0lzTGF0aW5FeHRlbmRlZEIuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxVQ1NJc0xhdGluRXh0ZW5kZWRCJykKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzTGF0aW5FeHRlbmRlZEInKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxVQ1NJc0xhdGluRXh0ZW5kZWRBZGRpdGlvbmFsLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxVQ1NJc0xhdGluRXh0ZW5kZWRBZGRpdGlvbmFsJykKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxVQ1NJc0xldHRlcmxpa2VTeW1ib2xzLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNMZXR0ZXJsaWtlU3ltYm9scycpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVQ1NJc0xldHRlcmxpa2VTeW1ib2xzJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCi0gICAgIGQgeG1sVUNTSXNMaW1idSAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNMaW1idScpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCB4bWxVQ1NJc0xpbWJ1ICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVQ1NJc0xpbWJ1JykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sVUNTSXNMaW5lYXJCSWRlb2dyYW1zLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNMaW5lYXJCSWRlb2dyYW1zJykKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzTGluZWFyQklkZW9ncmFtcycpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIHhtbFVDU0lzTGluZWFyQlN5bGxhYmFyeS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzTGluZWFyQlN5bGxhYmFyeScpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVQ1NJc0xpbmVhckJTeWxsYWJhcnknKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxVQ1NJc0xvd1N1cnJvZ2F0ZXMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxVQ1NJc0xvd1N1cnJvZ2F0ZXMnKQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNMb3dTdXJyb2dhdGVzJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sVUNTSXNNYWxheWFsYW0uLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxVQ1NJc01hbGF5YWxhbScpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVQ1NJc01hbGF5YWxhbScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIHhtbFVDU0lzTWF0aGVtYXRpY2FsQWxwaGFudW1lcmljU3ltYm9scy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzTWF0aGVtYXRpY2FsQWxwaGFudS0KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVQ1NJc01hdGhlbWF0aWNhbEFscGhhbnUtCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVyaWNTeW1ib2xzJykKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxVQ1NJc01hdGhlbWF0aWNhbE9wZXJhdG9ycy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sVUNTSXNNYXRoZW1hdGljYWxPcGVyYXRvcnMnKQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIHhtbFVDU0lzTWlzY2VsbGFuZW91c01hdGhlbWF0aWNhbFN5bWJvbHNBLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNNaXNjZWxsYW5lb3VzTWF0aGVtLQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzTWlzY2VsbGFuZW91c01hdGhlbS0KICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdGljYWxTeW1ib2xzQScpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sVUNTSXNNaXNjZWxsYW5lb3VzTWF0aGVtYXRpY2FsU3ltYm9sc0IuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxVQ1NJc01pc2NlbGxhbmVvdXNNYXRoZW0tCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNNaXNjZWxsYW5lb3VzTWF0aGVtLQogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF0aWNhbFN5bWJvbHNCJykKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxVQ1NJc01pc2NlbGxhbmVvdXNTeW1ib2xzLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxVQ1NJc01pc2NlbGxhbmVvdXNTeW1ib2xzJykKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxVQ1NJc01pc2NlbGxhbmVvdXNTeW1ib2xzYW5kQXJyb3dzLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNNaXNjZWxsYW5lb3VzU3ltYm9sLQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzTWlzY2VsbGFuZW91c1N5bWJvbC0KICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzYW5kQXJyb3dzJykKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxVQ1NJc01pc2NlbGxhbmVvdXNUZWNobmljYWwuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFVDU0lzTWlzY2VsbGFuZW91c1RlY2huaWNhbCcpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sVUNTSXNNb25nb2xpYW4uLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxVQ1NJc01vbmdvbGlhbicpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVQ1NJc01vbmdvbGlhbicpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIHhtbFVDU0lzTXVzaWNhbFN5bWJvbHMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxVQ1NJc011c2ljYWxTeW1ib2xzJykKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzTXVzaWNhbFN5bWJvbHMnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxVQ1NJc015YW5tYXIuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxVQ1NJc015YW5tYXInKQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNNeWFubWFyJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sVUNTSXNOdW1iZXJGb3Jtcy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzTnVtYmVyRm9ybXMnKQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNOdW1iZXJGb3JtcycpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAotICAgICBkIHhtbFVDU0lzT2doYW0gICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzT2doYW0nKQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgeG1sVUNTSXNPZ2hhbSAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNPZ2hhbScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIHhtbFVDU0lzT2xkSXRhbGljLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNPbGRJdGFsaWMnKQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNPbGRJdGFsaWMnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxVQ1NJc09wdGljYWxDaGFyYWN0ZXJSZWNvZ25pdGlvbi4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sVUNTSXNPcHRpY2FsQ2hhcmFjdGVyUmVjb2duaXRpb24nCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAotICAgICBkIHhtbFVDU0lzT3JpeWEgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzT3JpeWEnKQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgeG1sVUNTSXNPcml5YSAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNPcml5YScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIHhtbFVDU0lzT3NtYW55YS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzT3NtYW55YScpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVQ1NJc09zbWFueWEnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxVQ1NJc1Bob25ldGljRXh0ZW5zaW9ucy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzUGhvbmV0aWNFeHRlbnNpb25zJykKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzUGhvbmV0aWNFeHRlbnNpb25zJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sVUNTSXNQcml2YXRlVXNlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNQcml2YXRlVXNlJykKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzUHJpdmF0ZVVzZScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIHhtbFVDU0lzUHJpdmF0ZVVzZUFyZWEuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxVQ1NJc1ByaXZhdGVVc2VBcmVhJykKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzUHJpdmF0ZVVzZUFyZWEnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKLSAgICAgZCB4bWxVQ1NJc1J1bmljICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxVQ1NJc1J1bmljJykKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkIHhtbFVDU0lzUnVuaWMgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzUnVuaWMnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxVQ1NJc1NoYXZpYW4uLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxVQ1NJc1NoYXZpYW4nKQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNTaGF2aWFuJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sVUNTSXNTaW5oYWxhLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNTaW5oYWxhJykKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzU2luaGFsYScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIHhtbFVDU0lzU21hbGxGb3JtVmFyaWFudHMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxVQ1NJc1NtYWxsRm9ybVZhcmlhbnRzJykKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzU21hbGxGb3JtVmFyaWFudHMnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxVQ1NJc1NwYWNpbmdNb2RpZmllckxldHRlcnMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFVDU0lzU3BhY2luZ01vZGlmaWVyTGV0dGVycycpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sVUNTSXNTcGVjaWFscy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzU3BlY2lhbHMnKQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNTcGVjaWFscycpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIHhtbFVDU0lzU3VwZXJzY3JpcHRzYW5kU3Vic2NyaXB0cy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sVUNTSXNTdXBlcnNjcmlwdHNhbmRTdWJzY3JpcHRzJykKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxVQ1NJc1N1cHBsZW1lbnRhbEFycm93c0EuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFVDU0lzU3VwcGxlbWVudGFsQXJyb3dzQScpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sVUNTSXNTdXBwbGVtZW50YWxBcnJvd3NCLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxVQ1NJc1N1cHBsZW1lbnRhbEFycm93c0InKQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIHhtbFVDU0lzU3VwcGxlbWVudGFsTWF0aGVtYXRpY2FsT3BlcmF0b3JzLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNTdXBwbGVtZW50YWxNYXRoZW1hLQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzU3VwcGxlbWVudGFsTWF0aGVtYS0KICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aWNhbE9wZXJhdG9ycycpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sVUNTSXNTdXBwbGVtZW50YXJ5UHJpdmF0ZVVzZUFyZWFBLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNTdXBwbGVtZW50YXJ5UHJpdmF0LQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzU3VwcGxlbWVudGFyeVByaXZhdC0KICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlVXNlQXJlYUEnKQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIHhtbFVDU0lzU3VwcGxlbWVudGFyeVByaXZhdGVVc2VBcmVhQi4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzU3VwcGxlbWVudGFyeVByaXZhdC0KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVQ1NJc1N1cHBsZW1lbnRhcnlQcml2YXQtCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZVVzZUFyZWFCJykKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKLSAgICAgZCB4bWxVQ1NJc1N5cmlhYyAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxVQ1NJc1N5cmlhYycpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCB4bWxVQ1NJc1N5cmlhYyAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVQ1NJc1N5cmlhYycpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIHhtbFVDU0lzVGFnYWxvZy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzVGFnYWxvZycpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVQ1NJc1RhZ2Fsb2cnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxVQ1NJc1RhZ2JhbndhLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNUYWdiYW53YScpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVQ1NJc1RhZ2JhbndhJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCi0gICAgIGQgeG1sVUNTSXNUYWdzICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNUYWdzJykKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkIHhtbFVDU0lzVGFncyAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzVGFncycpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAotICAgICBkIHhtbFVDU0lzVGFpTGUgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzVGFpTGUnKQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgeG1sVUNTSXNUYWlMZSAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNUYWlMZScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIHhtbFVDU0lzVGFpWHVhbkppbmdTeW1ib2xzLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNUYWlYdWFuSmluZ1N5bWJvbHMnKQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNUYWlYdWFuSmluZ1N5bWJvbHMnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKLSAgICAgZCB4bWxVQ1NJc1RhbWlsICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxVQ1NJc1RhbWlsJykKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkIHhtbFVDU0lzVGFtaWwgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzVGFtaWwnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKLSAgICAgZCB4bWxVQ1NJc1RlbHVndSAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxVQ1NJc1RlbHVndScpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCB4bWxVQ1NJc1RlbHVndSAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVQ1NJc1RlbHVndScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAotICAgICBkIHhtbFVDU0lzVGhhYW5hICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzVGhhYW5hJykKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkIHhtbFVDU0lzVGhhYW5hICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzVGhhYW5hJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCi0gICAgIGQgeG1sVUNTSXNUaGFpICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNUaGFpJykKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkIHhtbFVDU0lzVGhhaSAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzVGhhaScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIHhtbFVDU0lzVGliZXRhbi4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzVGliZXRhbicpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVQ1NJc1RpYmV0YW4nKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxVQ1NJc1VnYXJpdGljLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNVZ2FyaXRpYycpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVQ1NJc1VnYXJpdGljJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sVUNTSXNVbmlmaWVkQ2FuYWRpYW5BYm9yaWdpbmFsU3lsbGFiaWNzLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNVbmlmaWVkQ2FuYWRpYW5BYm9yLQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzVW5pZmllZENhbmFkaWFuQWJvci0KICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZ2luYWxTeWxsYWJpY3MnKQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIHhtbFVDU0lzVmFyaWF0aW9uU2VsZWN0b3JzLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNWYXJpYXRpb25TZWxlY3RvcnMnKQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNWYXJpYXRpb25TZWxlY3RvcnMnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxVQ1NJc1ZhcmlhdGlvblNlbGVjdG9yc1N1cHBsZW1lbnQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxVQ1NJc1ZhcmlhdGlvblNlbGVjdG9yc1MtCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNWYXJpYXRpb25TZWxlY3RvcnNTLQogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwcGxlbWVudCcpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sVUNTSXNZaVJhZGljYWxzLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNZaVJhZGljYWxzJykKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzWWlSYWRpY2FscycpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIHhtbFVDU0lzWWlTeWxsYWJsZXMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxVQ1NJc1lpU3lsbGFibGVzJykKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzWWlTeWxsYWJsZXMnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxVQ1NJc1lpamluZ0hleGFncmFtU3ltYm9scy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sVUNTSXNZaWppbmdIZXhhZ3JhbVN5bWJvbHMnKQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAotICAgICBkIHhtbFVDU0lzQmxvY2sgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzQmxvY2snKQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgeG1sVUNTSXNCbG9jayAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNCbG9jaycpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgYmxvY2sgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCiAKLSAgICAgZCB4bWxVQ1NJc0NhdEMgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxVQ1NJc0NhdEMnKQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgeG1sVUNTSXNDYXRDICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNDYXRDJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCi0gICAgIGQgeG1sVUNTSXNDYXRDYyAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNDYXRDYycpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCB4bWxVQ1NJc0NhdENjICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVQ1NJc0NhdENjJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCi0gICAgIGQgeG1sVUNTSXNDYXRDZiAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNDYXRDZicpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCB4bWxVQ1NJc0NhdENmICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVQ1NJc0NhdENmJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCi0gICAgIGQgeG1sVUNTSXNDYXRDbyAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNDYXRDbycpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCB4bWxVQ1NJc0NhdENvICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVQ1NJc0NhdENvJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCi0gICAgIGQgeG1sVUNTSXNDYXRDcyAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNDYXRDcycpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCB4bWxVQ1NJc0NhdENzICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVQ1NJc0NhdENzJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCi0gICAgIGQgeG1sVUNTSXNDYXRMICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNDYXRMJykKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkIHhtbFVDU0lzQ2F0TCAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzQ2F0TCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAotICAgICBkIHhtbFVDU0lzQ2F0TGwgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzQ2F0TGwnKQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgeG1sVUNTSXNDYXRMbCAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNDYXRMbCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAotICAgICBkIHhtbFVDU0lzQ2F0TG0gICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzQ2F0TG0nKQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgeG1sVUNTSXNDYXRMbSAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNDYXRMbScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAotICAgICBkIHhtbFVDU0lzQ2F0TG8gICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzQ2F0TG8nKQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgeG1sVUNTSXNDYXRMbyAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNDYXRMbycpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAotICAgICBkIHhtbFVDU0lzQ2F0THQgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzQ2F0THQnKQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgeG1sVUNTSXNDYXRMdCAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNDYXRMdCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAotICAgICBkIHhtbFVDU0lzQ2F0THUgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzQ2F0THUnKQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgeG1sVUNTSXNDYXRMdSAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNDYXRMdScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAotICAgICBkIHhtbFVDU0lzQ2F0TSAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzQ2F0TScpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCB4bWxVQ1NJc0NhdE0gICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVQ1NJc0NhdE0nKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKLSAgICAgZCB4bWxVQ1NJc0NhdE1jICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxVQ1NJc0NhdE1jJykKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkIHhtbFVDU0lzQ2F0TWMgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzQ2F0TWMnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKLSAgICAgZCB4bWxVQ1NJc0NhdE1lICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxVQ1NJc0NhdE1lJykKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkIHhtbFVDU0lzQ2F0TWUgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzQ2F0TWUnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKLSAgICAgZCB4bWxVQ1NJc0NhdE1uICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxVQ1NJc0NhdE1uJykKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkIHhtbFVDU0lzQ2F0TW4gICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzQ2F0TW4nKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKLSAgICAgZCB4bWxVQ1NJc0NhdE4gICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxVQ1NJc0NhdE4nKQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgeG1sVUNTSXNDYXROICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNDYXROJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCi0gICAgIGQgeG1sVUNTSXNDYXROZCAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNDYXROZCcpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCB4bWxVQ1NJc0NhdE5kICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVQ1NJc0NhdE5kJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCi0gICAgIGQgeG1sVUNTSXNDYXRObCAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNDYXRObCcpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCB4bWxVQ1NJc0NhdE5sICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVQ1NJc0NhdE5sJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCi0gICAgIGQgeG1sVUNTSXNDYXRObyAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNDYXRObycpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCB4bWxVQ1NJc0NhdE5vICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVQ1NJc0NhdE5vJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCi0gICAgIGQgeG1sVUNTSXNDYXRQICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNDYXRQJykKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkIHhtbFVDU0lzQ2F0UCAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzQ2F0UCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAotICAgICBkIHhtbFVDU0lzQ2F0UGMgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzQ2F0UGMnKQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgeG1sVUNTSXNDYXRQYyAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNDYXRQYycpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAotICAgICBkIHhtbFVDU0lzQ2F0UGQgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzQ2F0UGQnKQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgeG1sVUNTSXNDYXRQZCAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNDYXRQZCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAotICAgICBkIHhtbFVDU0lzQ2F0UGUgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzQ2F0UGUnKQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgeG1sVUNTSXNDYXRQZSAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNDYXRQZScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAotICAgICBkIHhtbFVDU0lzQ2F0UGYgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzQ2F0UGYnKQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgeG1sVUNTSXNDYXRQZiAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNDYXRQZicpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAotICAgICBkIHhtbFVDU0lzQ2F0UGkgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzQ2F0UGknKQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgeG1sVUNTSXNDYXRQaSAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNDYXRQaScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAotICAgICBkIHhtbFVDU0lzQ2F0UG8gICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzQ2F0UG8nKQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgeG1sVUNTSXNDYXRQbyAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNDYXRQbycpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAotICAgICBkIHhtbFVDU0lzQ2F0UHMgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzQ2F0UHMnKQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgeG1sVUNTSXNDYXRQcyAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNDYXRQcycpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAotICAgICBkIHhtbFVDU0lzQ2F0UyAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzQ2F0UycpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCB4bWxVQ1NJc0NhdFMgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVQ1NJc0NhdFMnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKLSAgICAgZCB4bWxVQ1NJc0NhdFNjICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxVQ1NJc0NhdFNjJykKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkIHhtbFVDU0lzQ2F0U2MgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzQ2F0U2MnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKLSAgICAgZCB4bWxVQ1NJc0NhdFNrICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxVQ1NJc0NhdFNrJykKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkIHhtbFVDU0lzQ2F0U2sgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzQ2F0U2snKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKLSAgICAgZCB4bWxVQ1NJc0NhdFNtICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxVQ1NJc0NhdFNtJykKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkIHhtbFVDU0lzQ2F0U20gICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzQ2F0U20nKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKLSAgICAgZCB4bWxVQ1NJc0NhdFNvICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxVQ1NJc0NhdFNvJykKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkIHhtbFVDU0lzQ2F0U28gICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzQ2F0U28nKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKLSAgICAgZCB4bWxVQ1NJc0NhdFogICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxVQ1NJc0NhdFonKQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgeG1sVUNTSXNDYXRaICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNDYXRaJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCi0gICAgIGQgeG1sVUNTSXNDYXRabCAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNDYXRabCcpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCB4bWxVQ1NJc0NhdFpsICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVQ1NJc0NhdFpsJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCi0gICAgIGQgeG1sVUNTSXNDYXRacCAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNDYXRacCcpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCB4bWxVQ1NJc0NhdFpwICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVQ1NJc0NhdFpwJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCi0gICAgIGQgeG1sVUNTSXNDYXRacyAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNDYXRacycpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCB4bWxVQ1NJc0NhdFpzICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVQ1NJc0NhdFpzJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCi0gICAgIGQgeG1sVUNTSXNDYXQgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNDYXQnKQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgeG1sVUNTSXNDYXQgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNDYXQnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGNhdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgogCiAgICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhNTF9VTklDT0RFX0VOQkxECmRpZmYgLS1naXQgYS9vczQwMC9saWJ4bWxycGcveG1sdmVyc2lvbi5ycGdsZS5pbiBiL29zNDAwL2xpYnhtbHJwZy94bWx2ZXJzaW9uLnJwZ2xlLmluCmluZGV4IDgxNjc2YmUuLjk1NTU5OWUgMTAwNjQ0Ci0tLSBhL29zNDAwL2xpYnhtbHJwZy94bWx2ZXJzaW9uLnJwZ2xlLmluCisrKyBiL29zNDAwL2xpYnhtbHJwZy94bWx2ZXJzaW9uLnJwZ2xlLmluCkBAIC04LDYgKzgsNyBAQAogICAgICAgL2lmIG5vdCBkZWZpbmVkKFhNTF9WRVJTSU9OX0hfXykKICAgICAgIC9kZWZpbmUgWE1MX1ZFUlNJT05fSF9fCiAKKyAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveG1sVHlwZXNDIgogICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWxleHBvcnRzIgogCiAgICAgICAqIHVzZSB0aG9zZSB0byBiZSBzdXJlIG5vdGhpbmcgbmFzdHkgd2lsbCBoYXBwZW4gaWYKQEAgLTE2LDcgKzE3LDcgQEAKIAogICAgICBkIHhtbENoZWNrVmVyc2lvbi4uLgogICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbENoZWNrVmVyc2lvbicpCi0gICAgIGQgIHZlcnNpb24gICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgICogTElCWE1MX0RPVFRFRF9WRVJTSU9OOgogICAgICAgKgpkaWZmIC0tZ2l0IGEvb3M0MDAvbGlieG1scnBnL3htbHdyaXRlci5ycGdsZSBiL29zNDAwL2xpYnhtbHJwZy94bWx3cml0ZXIucnBnbGUKaW5kZXggZjJkM2QzMC4uYzg1MzBmOCAxMDA2NDQKLS0tIGEvb3M0MDAvbGlieG1scnBnL3htbHdyaXRlci5ycGdsZQorKysgYi9vczQwMC9saWJ4bWxycGcveG1sd3JpdGVyLnJwZ2xlCkBAIC0xMiw2ICsxMiw3IEBACiAKICAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCkKIAorICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWxUeXBlc0MiCiAgICAgICAvaW5jbHVkZSAibGlieG1scnBnL3htbHN0ZGFyZyIKICAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveG1sSU8iCiAgICAgICAvaW5jbHVkZSAibGlieG1scnBnL2xpc3QiCkBAIC0zMSwzMiArMzIsMzIgQEAKICAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxOZXdUZXh0V3JpdGVyRmlsZW5hbWUnKQogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sVGV4dFdyaXRlclB0cikKICAgICAgZCAgdXJpICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIGNvbXByZXNzaW9uICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgY29tcHJlc3Npb24gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxOZXdUZXh0V3JpdGVyTWVtb3J5Li4uCiAgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sTmV3VGV4dFdyaXRlck1lbW9yeScpCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxUZXh0V3JpdGVyUHRyKQogICAgICBkICBidWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQnVmZmVyUHRyKQotICAgICBkICBjb21wcmVzc2lvbiAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIGNvbXByZXNzaW9uICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sTmV3VGV4dFdyaXRlclB1c2hQYXJzZXIuLi4KICAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxOZXdUZXh0V3JpdGVyUHVzaFBhcnNlcicpCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxUZXh0V3JpdGVyUHRyKQogICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKLSAgICAgZCAgY29tcHJlc3Npb24gICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBjb21wcmVzc2lvbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIHhtbE5ld1RleHRXcml0ZXJEb2MuLi4KICAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxOZXdUZXh0V3JpdGVyRG9jJykKICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFRleHRXcml0ZXJQdHIpCiAgICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxEb2NQdHIpCi0gICAgIGQgIGNvbXByZXNzaW9uICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgY29tcHJlc3Npb24gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxOZXdUZXh0V3JpdGVyVHJlZS4uLgogICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbE5ld1RleHRXcml0ZXJUcmVlJykKICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFRleHRXcml0ZXJQdHIpCiAgICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCiAgICAgIGQgIG5vZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQotICAgICBkICBjb21wcmVzc2lvbiAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIGNvbXByZXNzaW9uICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sRnJlZVRleHRXcml0ZXIuLi4KICAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxGcmVlVGV4dFdyaXRlcicpCkBAIC02NywyOSArNjgsMzQgQEAKICAgICAgICogRG9jdW1lbnQKIAogICAgICBkIHhtbFRleHRXcml0ZXJTdGFydERvY3VtZW50Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVGV4dFdyaXRlclN0YXJ0RG9jdW1lbnQnKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFRleHRXcml0ZXJTdGFydERvY3VtZW50JykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIHdyaXRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0V3JpdGVyUHRyKQogICAgICBkICB2ZXJzaW9uICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKICAgICAgZCAgZW5jb2RpbmcgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCiAgICAgIGQgIHN0YW5kYWxvbmUgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgogCiAgICAgIGQgeG1sVGV4dFdyaXRlckVuZERvY3VtZW50Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVGV4dFdyaXRlckVuZERvY3VtZW50JykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxUZXh0V3JpdGVyRW5kRG9jdW1lbnQnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgd3JpdGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRXcml0ZXJQdHIpCiAKICAgICAgICogQ29tbWVudHMKIAogICAgICBkIHhtbFRleHRXcml0ZXJTdGFydENvbW1lbnQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxUZXh0V3JpdGVyU3RhcnRDb21tZW50JykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxUZXh0V3JpdGVyU3RhcnRDb21tZW50JykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIHdyaXRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0V3JpdGVyUHRyKQogCiAgICAgIGQgeG1sVGV4dFdyaXRlckVuZENvbW1lbnQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxUZXh0V3JpdGVyRW5kQ29tbWVudCcpCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVGV4dFdyaXRlckVuZENvbW1lbnQnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgd3JpdGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRXcml0ZXJQdHIpCiAKICAgICAgZCB4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRDb21tZW50Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRDb21tZW50JykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIHdyaXRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0V3JpdGVyUHRyKQogICAgICBkICBmb3JtYXQgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykgICAgICBjb25zdCBjaGFyICoKICAgICAgZCAgI3ZhcmFyZzEgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpICAgICAgdm9pZCAqCkBAIC0xMDIsNDYgKzEwOCw1MyBAQAogICAgICBkICAjdmFyYXJnOCAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykgICAgICB2b2lkICoKIAogICAgICBkIHhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRDb21tZW50Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0Q29tbWVudCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICB3cml0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFdyaXRlclB0cikKICAgICAgZCAgZm9ybWF0ICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCiAgICAgIGQgIGFyZ3B0ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZWRzKHhtbFZhTGlzdCkKIAogICAgICBkIHhtbFRleHRXcml0ZXJXcml0ZUNvbW1lbnQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxUZXh0V3JpdGVyV3JpdGVDb21tZW50JykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxUZXh0V3JpdGVyV3JpdGVDb21tZW50JykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIHdyaXRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0V3JpdGVyUHRyKQogICAgICBkICBjb250ZW50ICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKIAogICAgICAgKiBFbGVtZW50cwogCiAgICAgIGQgeG1sVGV4dFdyaXRlclN0YXJ0RWxlbWVudC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFRleHRXcml0ZXJTdGFydEVsZW1lbnQnKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFRleHRXcml0ZXJTdGFydEVsZW1lbnQnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgd3JpdGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRXcml0ZXJQdHIpCiAgICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgogCiAgICAgIGQgeG1sVGV4dFdyaXRlclN0YXJ0RWxlbWVudE5TLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxUZXh0V3JpdGVyU3RhcnRFbGVtZW50TlMnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgd3JpdGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRXcml0ZXJQdHIpCiAgICAgIGQgIHByZWZpeCAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgogICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKICAgICAgZCAgbmFtZXNwYWNlVVJJICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCiAKICAgICAgZCB4bWxUZXh0V3JpdGVyRW5kRWxlbWVudC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFRleHRXcml0ZXJFbmRFbGVtZW50JykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxUZXh0V3JpdGVyRW5kRWxlbWVudCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICB3cml0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFdyaXRlclB0cikKIAogICAgICBkIHhtbFRleHRXcml0ZXJGdWxsRW5kRWxlbWVudC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sVGV4dFdyaXRlckZ1bGxFbmRFbGVtZW50JykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIHdyaXRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0V3JpdGVyUHRyKQogCiAgICAgICAqIEVsZW1lbnRzIGNvbnZlbmllbmN5IGZ1bmN0aW9ucwogCiAgICAgIGQgeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RWxlbWVudC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RWxlbWVudCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICB3cml0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFdyaXRlclB0cikKICAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCiAgICAgIGQgIGZvcm1hdCAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgpAQCAtMTU1LDIyICsxNjgsMjUgQEAKICAgICAgZCAgI3ZhcmFyZzggICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpICAgICAgdm9pZCAqCiAKICAgICAgZCB4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RWxlbWVudC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdEVsZW1lbnQnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgd3JpdGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRXcml0ZXJQdHIpCiAgICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgogICAgICBkICBmb3JtYXQgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKICAgICAgZCAgYXJncHRyICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlZHMoeG1sVmFMaXN0KQogCiAgICAgIGQgeG1sVGV4dFdyaXRlcldyaXRlRWxlbWVudC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFRleHRXcml0ZXJXcml0ZUVsZW1lbnQnKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFRleHRXcml0ZXJXcml0ZUVsZW1lbnQnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgd3JpdGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRXcml0ZXJQdHIpCiAgICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgogICAgICBkICBjb250ZW50ICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKIAogICAgICBkIHhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdEVsZW1lbnROUy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RWxlbWVudE5TJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIHdyaXRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0V3JpdGVyUHRyKQogICAgICBkICBwcmVmaXggICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKICAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCkBAIC0xODYsOCArMjAyLDkgQEAKICAgICAgZCAgI3ZhcmFyZzggICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpICAgICAgdm9pZCAqCiAKICAgICAgZCB4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RWxlbWVudE5TLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RWxlbWVudE5TJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIHdyaXRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0V3JpdGVyUHRyKQogICAgICBkICBwcmVmaXggICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKICAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCkBAIC0xOTYsOCArMjEzLDkgQEAKICAgICAgZCAgYXJncHRyICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlZHMoeG1sVmFMaXN0KQogCiAgICAgIGQgeG1sVGV4dFdyaXRlcldyaXRlRWxlbWVudE5TLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxUZXh0V3JpdGVyV3JpdGVFbGVtZW50TlMnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgd3JpdGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRXcml0ZXJQdHIpCiAgICAgIGQgIHByZWZpeCAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgogICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKQEAgLTIwNyw4ICsyMjUsOSBAQAogICAgICAgKiBUZXh0CiAKICAgICAgZCB4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRSYXcuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdFJhdycpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICB3cml0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFdyaXRlclB0cikKICAgICAgZCAgZm9ybWF0ICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCiAgICAgIGQgICN2YXJhcmcxICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKSAgICAgIHZvaWQgKgpAQCAtMjIxLDI2ICsyNDAsMzAgQEAKICAgICAgZCAgI3ZhcmFyZzggICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpICAgICAgdm9pZCAqCiAKICAgICAgZCB4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0UmF3Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0UmF3JykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIHdyaXRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0V3JpdGVyUHRyKQogICAgICBkICBmb3JtYXQgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKICAgICAgZCAgYXJncHRyICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlZHMoeG1sVmFMaXN0KQogCiAgICAgIGQgeG1sVGV4dFdyaXRlcldyaXRlUmF3TGVuLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVGV4dFdyaXRlcldyaXRlUmF3TGVuJykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxUZXh0V3JpdGVyV3JpdGVSYXdMZW4nKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgd3JpdGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRXcml0ZXJQdHIpCiAgICAgIGQgIGNvbnRlbnQgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIGxlbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sVGV4dFdyaXRlcldyaXRlUmF3Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVGV4dFdyaXRlcldyaXRlUmF3JykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxUZXh0V3JpdGVyV3JpdGVSYXcnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgd3JpdGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRXcml0ZXJQdHIpCiAgICAgIGQgIGNvbnRlbnQgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgogCiAgICAgIGQgeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0U3RyaW5nLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRTdHJpbmcnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgd3JpdGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRXcml0ZXJQdHIpCiAgICAgIGQgIGZvcm1hdCAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgogICAgICBkICAjdmFyYXJnMSAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykgICAgICB2b2lkICoKQEAgLTI1Myw1NiArMjc2LDY0IEBACiAgICAgIGQgICN2YXJhcmc4ICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKSAgICAgIHZvaWQgKgogCiAgICAgIGQgeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdFN0cmluZy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdFN0cmluZycpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICB3cml0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFdyaXRlclB0cikKICAgICAgZCAgZm9ybWF0ICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCiAgICAgIGQgIGFyZ3B0ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZWRzKHhtbFZhTGlzdCkKIAogICAgICBkIHhtbFRleHRXcml0ZXJXcml0ZVN0cmluZy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFRleHRXcml0ZXJXcml0ZVN0cmluZycpCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVGV4dFdyaXRlcldyaXRlU3RyaW5nJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIHdyaXRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0V3JpdGVyUHRyKQogICAgICBkICBjb250ZW50ICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKIAogICAgICBkIHhtbFRleHRXcml0ZXJXcml0ZUJhc2U2NC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFRleHRXcml0ZXJXcml0ZUJhc2U2NCcpCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVGV4dFdyaXRlcldyaXRlQmFzZTY0JykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIHdyaXRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0V3JpdGVyUHRyKQogICAgICBkICBkYXRhICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgc3RhcnQgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQotICAgICBkICBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIHN0YXJ0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQorICAgICBkICBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIHhtbFRleHRXcml0ZXJXcml0ZUJpbkhleC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFRleHRXcml0ZXJXcml0ZUJpbkhleCcpCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVGV4dFdyaXRlcldyaXRlQmluSGV4JykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIHdyaXRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0V3JpdGVyUHRyKQogICAgICBkICBkYXRhICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgc3RhcnQgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQotICAgICBkICBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIHN0YXJ0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQorICAgICBkICBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICAgKiBBdHRyaWJ1dGVzCiAKICAgICAgZCB4bWxUZXh0V3JpdGVyU3RhcnRBdHRyaWJ1dGUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFRleHRXcml0ZXJTdGFydEF0dHJpYnV0ZScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICB3cml0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFdyaXRlclB0cikKICAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCiAKICAgICAgZCB4bWxUZXh0V3JpdGVyU3RhcnRBdHRyaWJ1dGVOUy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sVGV4dFdyaXRlclN0YXJ0QXR0cmlidXRlTlMnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgd3JpdGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRXcml0ZXJQdHIpCiAgICAgIGQgIHByZWZpeCAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgogICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKICAgICAgZCAgbmFtZXNwYWNlVVJJICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCiAKICAgICAgZCB4bWxUZXh0V3JpdGVyRW5kQXR0cmlidXRlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVGV4dFdyaXRlckVuZEF0dHJpYnV0ZScpCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVGV4dFdyaXRlckVuZEF0dHJpYnV0ZScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICB3cml0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFdyaXRlclB0cikKIAogICAgICAgKiBBdHRyaWJ1dGVzIGNvbnZlbmllbmN5IGZ1bmN0aW9ucwogCiAgICAgIGQgeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0QXR0cmlidXRlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRBdHRyaWJ1dGUnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgd3JpdGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRXcml0ZXJQdHIpCiAgICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgogICAgICBkICBmb3JtYXQgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKQEAgLTMxNiwyNCArMzQ3LDI3IEBACiAgICAgIGQgICN2YXJhcmc4ICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKSAgICAgIHZvaWQgKgogCiAgICAgIGQgeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdEF0dHJpYnV0ZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdEF0dHJpYnV0ZScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICB3cml0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFdyaXRlclB0cikKICAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCiAgICAgIGQgIGZvcm1hdCAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgogICAgICBkICBhcmdwdHIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2Vkcyh4bWxWYUxpc3QpCiAKICAgICAgZCB4bWxUZXh0V3JpdGVyV3JpdGVBdHRyaWJ1dGUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFRleHRXcml0ZXJXcml0ZUF0dHJpYnV0ZScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICB3cml0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFdyaXRlclB0cikKICAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCiAgICAgIGQgIGNvbnRlbnQgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgogCiAgICAgIGQgeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0QXR0cmlidXRlTlMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdEF0dHJpYnV0ZU5TJwogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIHdyaXRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0V3JpdGVyUHRyKQogICAgICBkICBwcmVmaXggICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKICAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCkBAIC0zNDksOCArMzgzLDkgQEAKICAgICAgZCAgI3ZhcmFyZzggICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpICAgICAgdm9pZCAqCiAKICAgICAgZCB4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0QXR0cmlidXRlTlMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0QXQtCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdEF0LQogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyaWJ1dGVOUycpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICB3cml0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFdyaXRlclB0cikKICAgICAgZCAgcHJlZml4ICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCiAgICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgpAQCAtMzU5LDggKzM5NCw5IEBACiAgICAgIGQgIGFyZ3B0ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZWRzKHhtbFZhTGlzdCkKIAogICAgICBkIHhtbFRleHRXcml0ZXJXcml0ZUF0dHJpYnV0ZU5TLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxUZXh0V3JpdGVyV3JpdGVBdHRyaWJ1dGVOUycpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICB3cml0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFdyaXRlclB0cikKICAgICAgZCAgcHJlZml4ICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCiAgICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgpAQCAtMzcwLDE4ICs0MDYsMjEgQEAKICAgICAgICogUEkncwogCiAgICAgIGQgeG1sVGV4dFdyaXRlclN0YXJ0UEkuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxUZXh0V3JpdGVyU3RhcnRQSScpCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVGV4dFdyaXRlclN0YXJ0UEknKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgd3JpdGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRXcml0ZXJQdHIpCiAgICAgIGQgIHRhcmdldCAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgogCiAgICAgIGQgeG1sVGV4dFdyaXRlckVuZFBJLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVGV4dFdyaXRlckVuZFBJJykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxUZXh0V3JpdGVyRW5kUEknKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgd3JpdGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRXcml0ZXJQdHIpCiAKICAgICAgICogUEkgY29udmVuaWVuY3kgZnVuY3Rpb25zCiAKICAgICAgZCB4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRQSS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdFBJJykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRQSScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICB3cml0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFdyaXRlclB0cikKICAgICAgZCAgdGFyZ2V0ICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCiAgICAgIGQgIGZvcm1hdCAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgpAQCAtMzk1LDE1ICs0MzQsMTcgQEAKICAgICAgZCAgI3ZhcmFyZzggICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpICAgICAgdm9pZCAqCiAKICAgICAgZCB4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0UEkuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRQSScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICB3cml0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFdyaXRlclB0cikKICAgICAgZCAgdGFyZ2V0ICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCiAgICAgIGQgIGZvcm1hdCAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgogICAgICBkICBhcmdwdHIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2Vkcyh4bWxWYUxpc3QpCiAKICAgICAgZCB4bWxUZXh0V3JpdGVyV3JpdGVQSS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFRleHRXcml0ZXJXcml0ZVBJJykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxUZXh0V3JpdGVyV3JpdGVQSScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICB3cml0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFdyaXRlclB0cikKICAgICAgZCAgdGFyZ2V0ICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCiAgICAgIGQgIGNvbnRlbnQgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgpAQCAtNDEzLDcgKzQ1NCw4IEBACiAgICAgICAqIFRoaXMgbWFjcm8gbWFwcyB0byB4bWxUZXh0V3JpdGVyV3JpdGVQSQogCiAgICAgIGQgeG1sVGV4dFdyaXRlcldyaXRlUHJvY2Vzc2luZ0luc3RydWN0aW9uLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVGV4dFdyaXRlcldyaXRlUEknKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFRleHRXcml0ZXJXcml0ZVBJJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIHdyaXRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0V3JpdGVyUHRyKQogICAgICBkICB0YXJnZXQgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKICAgICAgZCAgY29udGVudCAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCkBAIC00MjEsMTggKzQ2MywyMSBAQAogICAgICAgKiBDREFUQQogCiAgICAgIGQgeG1sVGV4dFdyaXRlclN0YXJ0Q0RBVEEuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxUZXh0V3JpdGVyU3RhcnRDREFUQScpCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVGV4dFdyaXRlclN0YXJ0Q0RBVEEnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgd3JpdGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRXcml0ZXJQdHIpCiAKICAgICAgZCB4bWxUZXh0V3JpdGVyRW5kQ0RBVEEuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxUZXh0V3JpdGVyRW5kQ0RBVEEnKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFRleHRXcml0ZXJFbmRDREFUQScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICB3cml0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFdyaXRlclB0cikKIAogICAgICAgKiBDREFUQSBjb252ZW5pZW5jeSBmdW5jdGlvbnMKIAogICAgICBkIHhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdENEQVRBLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRDREFUQScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICB3cml0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFdyaXRlclB0cikKICAgICAgZCAgZm9ybWF0ICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCiAgICAgIGQgICN2YXJhcmcxICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKSAgICAgIHZvaWQgKgpAQCAtNDQ1LDM1ICs0OTAsNDAgQEAKICAgICAgZCAgI3ZhcmFyZzggICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpICAgICAgdm9pZCAqCiAKICAgICAgZCB4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0Q0RBVEEuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRDREFUQScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICB3cml0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFdyaXRlclB0cikKICAgICAgZCAgZm9ybWF0ICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCiAgICAgIGQgIGFyZ3B0ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZWRzKHhtbFZhTGlzdCkKIAogICAgICBkIHhtbFRleHRXcml0ZXJXcml0ZUNEQVRBLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVGV4dFdyaXRlcldyaXRlQ0RBVEEnKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFRleHRXcml0ZXJXcml0ZUNEQVRBJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIHdyaXRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0V3JpdGVyUHRyKQogICAgICBkICBjb250ZW50ICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKIAogICAgICAgKiBEVEQKIAogICAgICBkIHhtbFRleHRXcml0ZXJTdGFydERURC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFRleHRXcml0ZXJTdGFydERURCcpCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVGV4dFdyaXRlclN0YXJ0RFREJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIHdyaXRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0V3JpdGVyUHRyKQogICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKICAgICAgZCAgcHViaWQgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCiAgICAgIGQgIHN5c2lkICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgogCiAgICAgIGQgeG1sVGV4dFdyaXRlckVuZERURC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFRleHRXcml0ZXJFbmREVEQnKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFRleHRXcml0ZXJFbmREVEQnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgd3JpdGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRXcml0ZXJQdHIpCiAKICAgICAgICogRFREIGNvbnZlbmllbmN5IGZ1bmN0aW9ucwogCiAgICAgIGQgeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFRELi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXREVEQnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgd3JpdGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRXcml0ZXJQdHIpCiAgICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgogICAgICBkICBwdWJpZCAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKQEAgLTQ4OSw4ICs1MzksOSBAQAogICAgICBkICAjdmFyYXJnOCAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykgICAgICB2b2lkICoKIAogICAgICBkIHhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXREVEQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXREVEQnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgd3JpdGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRXcml0ZXJQdHIpCiAgICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgogICAgICBkICBwdWJpZCAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKQEAgLTQ5OSw3ICs1NTAsOCBAQAogICAgICBkICBhcmdwdHIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2Vkcyh4bWxWYUxpc3QpCiAKICAgICAgZCB4bWxUZXh0V3JpdGVyV3JpdGVEVEQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxUZXh0V3JpdGVyV3JpdGVEVEQnKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFRleHRXcml0ZXJXcml0ZURURCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICB3cml0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFdyaXRlclB0cikKICAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCiAgICAgIGQgIHB1YmlkICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgpAQCAtNTExLDcgKzU2Myw4IEBACiAgICAgICAqIHRoaXMgbWFjcm8gbWFwcyB0byB4bWxUZXh0V3JpdGVyV3JpdGVEVEQKIAogICAgICBkIHhtbFRleHRXcml0ZXJXcml0ZURvY1R5cGUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxUZXh0V3JpdGVyV3JpdGVEVEQnKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFRleHRXcml0ZXJXcml0ZURURCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICB3cml0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFdyaXRlclB0cikKICAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCiAgICAgIGQgIHB1YmlkICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgpAQCAtNTIxLDIwICs1NzQsMjMgQEAKICAgICAgICogRFREIGVsZW1lbnQgZGVmaW5pdGlvbgogCiAgICAgIGQgeG1sVGV4dFdyaXRlclN0YXJ0RFRERWxlbWVudC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sVGV4dFdyaXRlclN0YXJ0RFRERWxlbWVudCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICB3cml0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFdyaXRlclB0cikKICAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCiAKICAgICAgZCB4bWxUZXh0V3JpdGVyRW5kRFRERWxlbWVudC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFRleHRXcml0ZXJFbmREVERFbGVtZW50JykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxUZXh0V3JpdGVyRW5kRFRERWxlbWVudCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICB3cml0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFdyaXRlclB0cikKIAogICAgICAgKiBEVEQgZWxlbWVudCBkZWZpbml0aW9uIGNvbnZlbmllbmN5IGZ1bmN0aW9ucwogCiAgICAgIGQgeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFRERWxlbWVudC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFRERWxlbWVudCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICB3cml0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFdyaXRlclB0cikKICAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCiAgICAgIGQgIGZvcm1hdCAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgpAQCAtNTQ4LDE3ICs2MDQsMTkgQEAKICAgICAgZCAgI3ZhcmFyZzggICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpICAgICAgdm9pZCAqCiAKICAgICAgZCB4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RFRERWxlbWVudC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERUREVsZW1lbnQnCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgd3JpdGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRXcml0ZXJQdHIpCiAgICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgogICAgICBkICBmb3JtYXQgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKICAgICAgZCAgYXJncHRyICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlZHMoeG1sVmFMaXN0KQogCiAgICAgIGQgeG1sVGV4dFdyaXRlcldyaXRlRFRERWxlbWVudC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sVGV4dFdyaXRlcldyaXRlRFRERWxlbWVudCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICB3cml0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFdyaXRlclB0cikKICAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCiAgICAgIGQgIGNvbnRlbnQgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgpAQCAtNTY2LDIwICs2MjQsMjMgQEAKICAgICAgICogRFREIGF0dHJpYnV0ZSBsaXN0IGRlZmluaXRpb24KIAogICAgICBkIHhtbFRleHRXcml0ZXJTdGFydERUREF0dGxpc3QuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFRleHRXcml0ZXJTdGFydERUREF0dGxpc3QnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgd3JpdGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRXcml0ZXJQdHIpCiAgICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgogCiAgICAgIGQgeG1sVGV4dFdyaXRlckVuZERUREF0dGxpc3QuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxUZXh0V3JpdGVyRW5kRFREQXR0bGlzdCcpCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVGV4dFdyaXRlckVuZERUREF0dGxpc3QnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgd3JpdGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRXcml0ZXJQdHIpCiAKICAgICAgICogRFREIGF0dHJpYnV0ZSBsaXN0IGRlZmluaXRpb24gY29udmVuaWVuY3kgZnVuY3Rpb25zCiAKICAgICAgZCB4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXREVERBdHRsaXN0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXREVERBdHRsaXN0JykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIHdyaXRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0V3JpdGVyUHRyKQogICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKICAgICAgZCAgZm9ybWF0ICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCkBAIC01OTMsMTcgKzY1NCwxOSBAQAogICAgICBkICAjdmFyYXJnOCAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykgICAgICB2b2lkICoKIAogICAgICBkIHhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXREVERBdHRsaXN0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RFREQXR0bGlzdCcKICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICB3cml0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFdyaXRlclB0cikKICAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCiAgICAgIGQgIGZvcm1hdCAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgogICAgICBkICBhcmdwdHIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2Vkcyh4bWxWYUxpc3QpCiAKICAgICAgZCB4bWxUZXh0V3JpdGVyV3JpdGVEVERBdHRsaXN0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxUZXh0V3JpdGVyV3JpdGVEVERBdHRsaXN0JykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIHdyaXRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0V3JpdGVyUHRyKQogICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKICAgICAgZCAgY29udGVudCAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCkBAIC02MTEsMjMgKzY3NCwyNiBAQAogICAgICAgKiBEVEQgZW50aXR5IGRlZmluaXRpb24KIAogICAgICBkIHhtbFRleHRXcml0ZXJTdGFydERUREVudGl0eS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sVGV4dFdyaXRlclN0YXJ0RFRERW50aXR5JykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIHdyaXRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0V3JpdGVyUHRyKQotICAgICBkICBwZSAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIHBlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKIAogICAgICBkIHhtbFRleHRXcml0ZXJFbmREVERFbnRpdHkuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxUZXh0V3JpdGVyRW5kRFRERW50aXR5JykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxUZXh0V3JpdGVyRW5kRFRERW50aXR5JykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIHdyaXRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0V3JpdGVyUHRyKQogCiAgICAgICAqIERURCBlbnRpdHkgZGVmaW5pdGlvbiBjb252ZW5pZW5jeSBmdW5jdGlvbnMKIAogICAgICBkIHhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdERUREludGVybmFsRW50aXR5Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFRELQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdERURC0KICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbnRlcm5hbEVudGl0eScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICB3cml0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFdyaXRlclB0cikKLSAgICAgZCAgcGUgICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBwZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCiAgICAgIGQgIGZvcm1hdCAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgogICAgICBkICAjdmFyYXJnMSAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykgICAgICB2b2lkICoKQEAgLTY0MCw0NyArNzA2LDUyIEBACiAgICAgIGQgICN2YXJhcmc4ICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKSAgICAgIHZvaWQgKgogCiAgICAgIGQgeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERUREludGVybmFsRW50aXR5Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERULQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXREVC0KICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBESW50ZXJuYWxFbnRpdHknKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgd3JpdGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRXcml0ZXJQdHIpCi0gICAgIGQgIHBlICAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgcGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAgICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgogICAgICBkICBmb3JtYXQgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKICAgICAgZCAgYXJncHRyICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlZHMoeG1sVmFMaXN0KQogCiAgICAgIGQgeG1sVGV4dFdyaXRlcldyaXRlRFRESW50ZXJuYWxFbnRpdHkuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFRleHRXcml0ZXJXcml0ZURUREludGVybmFsRW50aXR5JwogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIHdyaXRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0V3JpdGVyUHRyKQotICAgICBkICBwZSAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIHBlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKICAgICAgZCAgY29udGVudCAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCiAKICAgICAgZCB4bWxUZXh0V3JpdGVyV3JpdGVEVERFeHRlcm5hbEVudGl0eS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sVGV4dFdyaXRlcldyaXRlRFRERXh0ZXJuYWxFbnRpdHknCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgd3JpdGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRXcml0ZXJQdHIpCi0gICAgIGQgIHBlICAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgcGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAgICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgogICAgICBkICBwdWJpZCAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKICAgICAgZCAgc3lzaWQgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCiAgICAgIGQgIG5kYXRhaWQgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgogCiAgICAgIGQgeG1sVGV4dFdyaXRlcldyaXRlRFRERXh0ZXJuYWxFbnRpdHlDb250ZW50cy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFRleHRXcml0ZXJXcml0ZURUREV4dGVybi0KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxUZXh0V3JpdGVyV3JpdGVEVERFeHRlcm4tCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxFbnRpdHlDb250ZW50cycpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICB3cml0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFdyaXRlclB0cikKICAgICAgZCAgcHViaWQgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCiAgICAgIGQgIHN5c2lkICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgogICAgICBkICBuZGF0YWlkICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKIAogICAgICBkIHhtbFRleHRXcml0ZXJXcml0ZURUREVudGl0eS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sVGV4dFdyaXRlcldyaXRlRFRERW50aXR5JykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIHdyaXRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0V3JpdGVyUHRyKQotICAgICBkICBwZSAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIHBlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKICAgICAgZCAgcHViaWQgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCiAgICAgIGQgIHN5c2lkICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgpAQCAtNjkwLDggKzc2MSw5IEBACiAgICAgICAqIERURCBub3RhdGlvbiBkZWZpbml0aW9uCiAKICAgICAgZCB4bWxUZXh0V3JpdGVyV3JpdGVEVEROb3RhdGlvbi4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sVGV4dFdyaXRlcldyaXRlRFRETm90YXRpb24nKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgd3JpdGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRXcml0ZXJQdHIpCiAgICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgogICAgICBkICBwdWJpZCAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKQEAgLTcwMCwyNSArNzcyLDI5IEBACiAgICAgICAqIEluZGVudGF0aW9uCiAKICAgICAgZCB4bWxUZXh0V3JpdGVyU2V0SW5kZW50Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVGV4dFdyaXRlclNldEluZGVudCcpCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVGV4dFdyaXRlclNldEluZGVudCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICB3cml0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFdyaXRlclB0cikKLSAgICAgZCAgaW5kZW50ICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBpbmRlbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIHhtbFRleHRXcml0ZXJTZXRJbmRlbnRTdHJpbmcuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFRleHRXcml0ZXJTZXRJbmRlbnRTdHJpbmcnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgd3JpdGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRXcml0ZXJQdHIpCiAgICAgIGQgIHN0ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgogCiAgICAgIGQgeG1sVGV4dFdyaXRlclNldFF1b3RlQ2hhci4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFRleHRXcml0ZXJTZXRRdW90ZUNoYXInKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFRleHRXcml0ZXJTZXRRdW90ZUNoYXInKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgd3JpdGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRXcml0ZXJQdHIpCiAgICAgIGQgIHF1b3RlY2hhciAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaGFyKQogCiAgICAgICAqIG1pc2MKIAogICAgICBkIHhtbFRleHRXcml0ZXJGbHVzaC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFRleHRXcml0ZXJGbHVzaCcpCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVGV4dFdyaXRlckZsdXNoJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIHdyaXRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0V3JpdGVyUHRyKQogCiAgICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhNTF9XUklURVJfRU5BQkxECmRpZmYgLS1naXQgYS9vczQwMC9saWJ4bWxycGcveHBhdGgucnBnbGUgYi9vczQwMC9saWJ4bWxycGcveHBhdGgucnBnbGUKaW5kZXggMTc4NGZhZC4uNmU1OTFlZSAxMDA2NDQKLS0tIGEvb3M0MDAvbGlieG1scnBnL3hwYXRoLnJwZ2xlCisrKyBiL29zNDAwL2xpYnhtbHJwZy94cGF0aC5ycGdsZQpAQCAtMTgsMTAgKzE4LDEwIEBACiAgICAgICAvZGVmaW5lIFhNTF9YUEFUSF9IX18KIAogICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWx2ZXJzaW9uIgotICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWxUeXBlc0MiCiAKICAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQogCisgICAgICAvaW5jbHVkZSAibGlieG1scnBnL3htbFR5cGVzQyIKICAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveG1sZXJyb3IiCiAgICAgICAvaW5jbHVkZSAibGlieG1scnBnL3RyZWUiCiAgICAgICAvaW5jbHVkZSAibGlieG1scnBnL2hhc2giCkBAIC0zNyw3ICszNyw4IEBACiAKICAgICAgICogVGhlIHNldCBvZiBYUGF0aCBlcnJvciBjb2Rlcy4KIAotICAgICBkIHhtbFhQYXRoRXJyb3IgICBzICAgICAgICAgICAgIDEwaSAwIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpICAgICAgICAgICBlbnVtCisgICAgIGQgeG1sWFBhdGhFcnJvciAgIHMgICAgICAgICAgICAgICAgICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENlbnVtKQogICAgICBkICBYUEFUSF9FWFBSRVNTSU9OX09LLi4uCiAgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMAogICAgICBkICBYUEFUSF9OVU1CRVJfRVJST1IuLi4KQEAgLTk1LDggKzk2LDggQEAKIAogICAgICBkIHhtbE5vZGVTZXQgICAgICBkcyAgICAgICAgICAgICAgICAgIGJhc2VkKHhtbE5vZGVTZXRQdHIpCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24gcXVhbGlmaWVkCi0gICAgIGQgIG5vZGVOciAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNldCBub2RlIGNvdW50Ci0gICAgIGQgIG5vZGVNYXggICAgICAgICAgICAgICAgICAgICAgMTBpIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1heCAjIG5vZGVzIGluIHNldAorICAgICBkICBub2RlTnIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkgICAgICAgICAgICAgICAgICAgICAgICBTZXQgbm9kZSBjb3VudAorICAgICBkICBub2RlTWF4ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkgICAgICAgICAgICAgICAgICAgICAgICBNYXggIyBub2RlcyBpbiBzZXQKICAgICAgZCAgbm9kZVRhYiAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sTm9kZVB0ciAqCiAKICAgICAgICogQW4gZXhwcmVzc2lvbiBpcyBldmFsdWF0ZWQgdG8geWllbGQgYW4gb2JqZWN0LCB3aGljaApAQCAtMTA5LDcgKzExMCw4IEBACiAgICAgICAqIEBAIFhQb2ludGVyIHdpbGwgYWRkIG1vcmUgdHlwZXMgIQogCiAgICAgIGQgeG1sWFBhdGhPYmplY3RUeXBlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgMTBpIDAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykgICAgICAgICAgIGVudW0KKyAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICAgICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2VudW0pCiAgICAgIGQgIFhQQVRIX1VOREVGSU5FRC4uLgogICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDAKICAgICAgZCAgWFBBVEhfTk9ERVNFVCAgYyAgICAgICAgICAgICAgICAgICAxCkBAIC0xMzEsMTMgKzEzMywxMyBAQAogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduIHF1YWxpZmllZAogICAgICBkICB0eXBlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sWFBhdGhPYmplY3RUeXBlKQogICAgICBkICBub2Rlc2V0dmFsICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVNldFB0cikKLSAgICAgZCAgYm9vbHZhbCAgICAgICAgICAgICAgICAgICAgICAxMGkgMAotICAgICBkICBmbG9hdHZhbCAgICAgICAgICAgICAgICAgICAgICA4ZgorICAgICBkICBib29sdmFsICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKKyAgICAgZCAgZmxvYXR2YWwgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENkb3VibGUpCiAgICAgIGQgIHN0cmluZ3ZhbCAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbENoYXIgKgogICAgICBkICB1c2VyICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKLSAgICAgZCAgaW5kZXggICAgICAgICAgICAgICAgICAgICAgICAxMGkgMAorICAgICBkICBpbmRleCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgdXNlcjIgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCi0gICAgIGQgIGluZGV4MiAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAKKyAgICAgZCAgaW5kZXgyICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAKICAgICAgICogeG1sWFBhdGhDb252ZXJ0RnVuYzoKICAgICAgICogQG9iajogIGFuIFhQYXRoIG9iamVjdApAQCAtMjk5LDY5ICszMDEsNjkgQEAKICAgICAgZCAgbm9kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVQdHIpICAgICAgICAgICAgICAgICAgICAgQ3VycmVudCBub2RlCiAgICAgICAqCiAgICAgIGQgIG5iX3ZhcmlhYmxlc191bnVzZWQuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVudXNlZCAoaGFzaCB0YWJsZSkKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMAotICAgICBkICBtYXhfdmFyaWFibGVzX3VudXNlZC4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVW51c2VkIChoYXNoIHRhYmxlKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwCi0gICAgIGQgIHZhckhhc2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxIYXNoVGFibGVQdHIpICAgICAgICAgICAgICAgICBEZWZpbmVkIHZhcmlhYmxlcworICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKKyAgICAgZCAgbWF4X3ZhcmlhYmxlc191bnVzZWQuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVW51c2VkIChoYXNoIHRhYmxlKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKKyAgICAgZCAgdmFySGFzaCAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEhhc2hUYWJsZVB0cikgICAgICAgICAgICAgICAgRGVmaW5lZCB2YXJpYWJsZXMKICAgICAgICoKLSAgICAgZCAgbmJfdHlwZXMgICAgICAgICAgICAgICAgICAgICAxMGkgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgb2YgZGVmaW5lZCB0eXBlcwotICAgICBkICBtYXhfdHlwZXMgICAgICAgICAgICAgICAgICAgIDEwaSAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWF4IG51bWJlciBvZiB0eXBlcwotICAgICBkICB0eXBlcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sWFBhdGhUeXBlUHRyKSAgICAgICAgICAgICAgICAgRGVmaW5lZCB0eXBlcyBhcnJheQorICAgICBkICBuYl90eXBlcyAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkgICAgICAgICAgICAgICAgICAgICAgICAjIG9mIGRlZmluZWQgdHlwZXMKKyAgICAgZCAgbWF4X3R5cGVzICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpICAgICAgICAgICAgICAgICAgICAgICAgTWF4IG51bWJlciBvZiB0eXBlcworICAgICBkICB0eXBlcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sWFBhdGhUeXBlUHRyKSAgICAgICAgICAgICAgICBEZWZpbmVkIHR5cGVzIGFycmF5CiAgICAgICAqCiAgICAgIGQgIG5iX2Z1bmNzX3VudXNlZC4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVudXNlZCAoaGFzaCB0YWJsZSkKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMAotICAgICBkICBtYXhfZnVuY3NfdW51c2VkLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVW51c2VkIChoYXNoIHRhYmxlKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwCi0gICAgIGQgIGZ1bmNIYXNoICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxIYXNoVGFibGVQdHIpICAgICAgICAgICAgICAgICBEZWZpbmVkIGZ1bmN0aW9ucworICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKKyAgICAgZCAgbWF4X2Z1bmNzX3VudXNlZC4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVW51c2VkIChoYXNoIHRhYmxlKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKKyAgICAgZCAgZnVuY0hhc2ggICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEhhc2hUYWJsZVB0cikgICAgICAgICAgICAgICAgRGVmaW5lZCBmdW5jdGlvbnMKICAgICAgICoKLSAgICAgZCAgbmJfYXhpcyAgICAgICAgICAgICAgICAgICAgICAxMGkgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgb2YgZGVmaW5lZCBheGlzCi0gICAgIGQgIG1heF9heGlzICAgICAgICAgICAgICAgICAgICAgMTBpIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYXggbnVtYmVyIG9mIGF4aXMKLSAgICAgZCAgYXhpcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFhQYXRoQXhpc1B0cikgICAgICAgICAgICAgICAgIERlZmluZWQgYXhpcyBhcnJheQorICAgICBkICBuYl9heGlzICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkgICAgICAgICAgICAgICAgICAgICAgICAjIG9mIGRlZmluZWQgYXhpcworICAgICBkICBtYXhfYXhpcyAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkgICAgICAgICAgICAgICAgICAgICAgICBNYXggbnVtYmVyIG9mIGF4aXMKKyAgICAgZCAgYXhpcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFhQYXRoQXhpc1B0cikgICAgICAgICAgICAgICAgRGVmaW5lZCBheGlzIGFycmF5CiAgICAgICAqCiAgICAgICAqIHRoZSBuYW1lc3BhY2Ugbm9kZXMgb2YgdGhlIGNvbnRleHQgbm9kZQogICAgICAgKgotICAgICBkICBuYW1lc3BhY2VzICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sTnNQdHIgKgotICAgICBkICBuc05yICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBzY29wZSBuYW1lc3BhY2VzCi0gICAgIGQgIHVzZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgcHJvY3B0ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGdW5jdGlvbiB0byBmcmVlCisgICAgIGQgIG5hbWVzcGFjZXMgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbE5zUHRyICoKKyAgICAgZCAgbnNOciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpICAgICAgICAgICAgICAgICAgICAgICAgIyBzY29wZSBuYW1lc3BhY2VzCisgICAgIGQgIHVzZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgcHJvY3B0ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZ1bmN0aW9uIHRvIGZyZWUKICAgICAgICoKICAgICAgICogZXh0cmEgdmFyaWFibGVzCiAgICAgICAqCi0gICAgIGQgIGNvbnRleHRTaXplICAgICAgICAgICAgICAgICAgMTBpIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGUgY29udGV4dCBzaXplCisgICAgIGQgIGNvbnRleHRTaXplICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KSAgICAgICAgICAgICAgICAgICAgICAgIFRoZSBjb250ZXh0IHNpemUKICAgICAgZCAgcHJveGltaXR5UG9zaXRpb24uLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMAorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgICoKICAgICAgICogZXh0cmEgc3R1ZmYgZm9yIFhQb2ludGVyCiAgICAgICAqCi0gICAgIGQgIHhwdHIgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYUG9pbnRlciBjb250ZXh0ID8KLSAgICAgZCAgaGVyZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVQdHIpICAgICAgICAgICAgICAgICAgICAgIEZvciBoZXJlKCkKLSAgICAgZCAgb3JpZ2luICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVQdHIpICAgICAgICAgICAgICAgICAgICAgIEZvciBvcmlnaW4oKQorICAgICBkICB4cHRyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkgICAgICAgICAgICAgICAgICAgICAgICBYUG9pbnRlciBjb250ZXh0ID8KKyAgICAgZCAgaGVyZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVQdHIpICAgICAgICAgICAgICAgICAgICAgRm9yIGhlcmUoKQorICAgICBkICBvcmlnaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVB0cikgICAgICAgICAgICAgICAgICAgICBGb3Igb3JpZ2luKCkKICAgICAgICoKICAgICAgICogdGhlIHNldCBvZiBuYW1lc3BhY2UgZGVjbGFyYXRpb25zIGluIHNjb3BlIGZvciB0aGUgZXhwcmVzc2lvbgogICAgICAgKgotICAgICBkICBuc0hhc2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sSGFzaFRhYmxlUHRyKSAgICAgICAgICAgICAgICAgTmFtZXNwYWNlIGhhc2h0YWJsZQotICAgICBkICB2YXJMb29rdXBGdW5jICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sWFBhdGhWYXJpYWJsZUxvb2t1cEZ1bmMpICAgICAgVmFyIGxvb2t1cCBmdW5jdGlvbgotICAgICBkICB2YXJMb29rdXBEYXRhICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCisgICAgIGQgIG5zSGFzaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxIYXNoVGFibGVQdHIpICAgICAgICAgICAgICAgIE5hbWVzcGFjZSBoYXNodGFibGUKKyAgICAgZCAgdmFyTG9va3VwRnVuYyAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFhQYXRoVmFyaWFibGVMb29rdXBGdW5jKSAgICAgVmFyIGxvb2t1cCBmdW5jdGlvbgorICAgICBkICB2YXJMb29rdXBEYXRhICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKICAgICAgICoKICAgICAgICogUG9zc2liaWxpdHkgdG8gbGluayBpbiBhbiBleHRyYSBpdGVtCiAgICAgICAqCi0gICAgIGQgIGV4dHJhICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKKyAgICAgZCAgZXh0cmEgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCiAgICAgICAqCiAgICAgICAqIFRoZSBmdW5jdGlvbiBuYW1lIGFuZCBVUkkgd2hlbiBjYWxsaW5nIGEgZnVuY3Rpb24KICAgICAgICoKLSAgICAgZCAgZnVuY3Rpb24gICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBmdW5jdGlvblVSSSAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIGZ1bmN0aW9uICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBmdW5jdGlvblVSSSAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKICAgICAgICoKICAgICAgICogZnVuY3Rpb24gbG9va3VwIGZ1bmN0aW9uIGFuZCBkYXRhCiAgICAgICAqCi0gICAgIGQgIGZ1bmNMb29rdXBGdW5jLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGdW5jIGxvb2t1cCBmdW5jCisgICAgIGQgIGZ1bmNMb29rdXBGdW5jLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZ1bmMgbG9va3VwIGZ1bmMKICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFhQYXRoVmFyaWFibGVMb29rdXBGdW5jKQotICAgICBkICBmdW5jTG9va3VwRGF0YS4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCisgICAgIGQgIGZ1bmNMb29rdXBEYXRhLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKgogICAgICAgKgogICAgICAgKiB0ZW1wb3JhcnkgbmFtZXNwYWNlIGxpc3RzIGtlcHQgZm9yIHdhbGtpbmcgdGhlIG5hbWVzcGFjZSBheGlzCiAgICAgICAqCiAgICAgIGQgIHRtcE5zTGlzdCAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbE5zUHRyICoKLSAgICAgZCAgdG1wTnNOciAgICAgICAgICAgICAgICAgICAgICAxMGkgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBzY29wZSBuYW1lc3BhY2VzCisgICAgIGQgIHRtcE5zTnIgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KSAgICAgICAgICAgICAgICAgICAgICAgICMgc2NvcGUgbmFtZXNwYWNlcwogICAgICAgKgogICAgICAgKiBlcnJvciByZXBvcnRpbmcgbWVjaGFuaXNtCiAgICAgICAqCkBAIC0zNzQsNyArMzc2LDcgQEAKICAgICAgICoKICAgICAgZCAgZGljdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbERpY3RQdHIpICAgICAgICAgICAgICAgICAgICAgRGljdGlvbmFyeSBpZiBhbnkKICAgICAgICoKLSAgICAgZCAgZmxhZ3MgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29tcGlsYXRpb24gY29udHJvbAorICAgICBkICBmbGFncyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkgICAgICAgICAgICAgICAgICAgICAgICBDb21waWxhdGlvbiBjb250cm9sCiAgICAgICAqCiAgICAgICAqIENhY2hlIGZvciByZXVzYWwgb2YgWFBhdGggb2JqZWN0cwogICAgICAgKgpAQCAtMzk2LDE5ICszOTgsMTkgQEAKICAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCiAgICAgIGQgIGJhc2UgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgogICAgICAgKgotICAgICBkICBlcnJvciAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFcnJvciBjb2RlCisgICAgIGQgIGVycm9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KSAgICAgICAgICAgICAgICAgICAgICAgIEVycm9yIGNvZGUKICAgICAgICoKICAgICAgZCAgY29udGV4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFhQYXRoQ29udGV4dFB0cikgICAgICAgICAgICAgRXZhbHVhdGlvbiBjb250ZXh0CiAgICAgIGQgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxYUGF0aE9iamVjdFB0cikgICAgICAgICAgICAgIFRoZSBjdXJyZW50IHZhbHVlCi0gICAgIGQgIHZhbHVlTnIgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZhbHVlIHN0YWNrIGRlcHRoCi0gICAgIGQgIHZhbHVlTWF4ICAgICAgICAgICAgICAgICAgICAgMTBpIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1heCBzdGFjayBkZXB0aAorICAgICBkICB2YWx1ZU5yICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkgICAgICAgICAgICAgICAgICAgICAgICBWYWx1ZSBzdGFjayBkZXB0aAorICAgICBkICB2YWx1ZU1heCAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkgICAgICAgICAgICAgICAgICAgICAgICBNYXggc3RhY2sgZGVwdGgKICAgICAgZCAgdmFsdWVUYWIgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sWFBhdGhPYmplY3RQdHIgKgogICAgICAgKgogICAgICBkICBjb21wICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sWFBhdGhDb21wRXhwclB0cikgICAgICAgICAgICBQcmVjb21waWxlZCBleHByLgotICAgICBkICB4cHRyICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYUG9pbnRlciBleHByZXNzaW9uPworICAgICBkICB4cHRyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkgICAgICAgICAgICAgICAgICAgICAgICBYUG9pbnRlciBleHByZXNzaW9uPwogICAgICBkICBhbmNlc3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVB0cikgICAgICAgICAgICAgICAgICAgICBUbyB3YWxrIHByZWMuIGF4aXMKICAgICAgICoKLSAgICAgZCAgdmFsdWVGcmFtZSAgICAgICAgICAgICAgICAgICAxMGkgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGltaXQgc3RhY2sgcG9wCisgICAgIGQgIHZhbHVlRnJhbWUgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KSAgICAgICAgICAgICAgICAgICAgICAgIExpbWl0IHN0YWNrIHBvcAogCiAgICAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoKQEAgLTQxOCw5ICs0MjAsMTQgQEAKIAogICAgICAgKiBPYmplY3RzIGFuZCBOb2Rlc2V0cyBoYW5kbGluZwogCi0gICAgIGQgeG1sWFBhdGhOQU4gICAgIHMgICAgICAgICAgICAgIDhmICAgaW1wb3J0KCd4bWxYUGF0aE5BTicpCi0gICAgIGQgeG1sWFBhdGhQSU5GICAgIHMgICAgICAgICAgICAgIDhmICAgaW1wb3J0KCd4bWxYUGF0aFBJTkYnKQotICAgICBkIHhtbFhQYXRoTklORiAgICBzICAgICAgICAgICAgICA4ZiAgIGltcG9ydCgneG1sWFBhdGhOSU5GJykKKyAgICAgZCB4bWxYUGF0aE5BTiAgICAgcyAgICAgICAgICAgICAgICAgICBpbXBvcnQoJ3htbFhQYXRoTkFOJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENkb3VibGUpCisKKyAgICAgZCB4bWxYUGF0aFBJTkYgICAgcyAgICAgICAgICAgICAgICAgICBpbXBvcnQoJ3htbFhQYXRoUElORicpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDZG91YmxlKQorCisgICAgIGQgeG1sWFBhdGhOSU5GICAgIHMgICAgICAgICAgICAgICAgICAgaW1wb3J0KCd4bWxYUGF0aE5JTkYnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2RvdWJsZSkKIAogICAgICBkIHhtbFhQYXRoRnJlZU9iamVjdC4uLgogICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoRnJlZU9iamVjdCcpCkBAIC00NDUsNjIgKzQ1Miw3MSBAQAogICAgICBkIHZhbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWFBhdGhPYmplY3RQdHIpCiAKICAgICAgZCB4bWxYUGF0aENtcE5vZGVzLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sWFBhdGhDbXBOb2RlcycpCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhDbXBOb2RlcycpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkIG5vZGUxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKICAgICAgZCBub2RlMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCiAKICAgICAgICogQ29udmVyc2lvbiBmdW5jdGlvbnMgdG8gYmFzaWMgdHlwZXMuCiAKICAgICAgZCB4bWxYUGF0aENhc3ROdW1iZXJUb0Jvb2xlYW4uLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxYUGF0aENhc3ROdW1iZXJUb0Jvb2xlYW4nKQotICAgICBkIHZhbCAgICAgICAgICAgICAgICAgICAgICAgICAgICA4ZiAgIHZhbHVlCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQorICAgICBkIHZhbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2RvdWJsZSkKIAogICAgICBkIHhtbFhQYXRoQ2FzdFN0cmluZ1RvQm9vbGVhbi4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFhQYXRoQ2FzdFN0cmluZ1RvQm9vbGVhbicpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkIHZhbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKIAogICAgICBkIHhtbFhQYXRoQ2FzdE5vZGVTZXRUb0Jvb2xlYW4uLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFhQYXRoQ2FzdE5vZGVTZXRUb0Jvb2xlYW4nKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCBucyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVTZXRQdHIpCiAKICAgICAgZCB4bWxYUGF0aENhc3RUb0Jvb2xlYW4uLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxYUGF0aENhc3RUb0Jvb2xlYW4nKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoQ2FzdFRvQm9vbGVhbicpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkIHZhbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWFBhdGhPYmplY3RQdHIpCiAKICAgICAgZCB4bWxYUGF0aENhc3RCb29sZWFuVG9OdW1iZXIuLi4KICAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sWFBhdGhDYXN0Qm9vbGVhblRvTnVtYmVyJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOGYKLSAgICAgZCB2YWwgICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2RvdWJsZSkKKyAgICAgZCB2YWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxYUGF0aENhc3RTdHJpbmdUb051bWJlci4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICA4ZiAgIGV4dHByb2MoJ3htbFhQYXRoQ2FzdFN0cmluZ1RvTnVtYmVyJykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUGF0aENhc3RTdHJpbmdUb051bWJlcicpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDZG91YmxlKQogICAgICBkIHZhbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKIAogICAgICBkIHhtbFhQYXRoQ2FzdE5vZGVUb051bWJlci4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICA4ZiAgIGV4dHByb2MoJ3htbFhQYXRoQ2FzdE5vZGVUb051bWJlcicpCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhDYXN0Tm9kZVRvTnVtYmVyJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENkb3VibGUpCiAgICAgIGQgbm9kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQogCiAgICAgIGQgeG1sWFBhdGhDYXN0Tm9kZVNldFRvTnVtYmVyLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgIDhmICAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sWFBhdGhDYXN0Tm9kZVNldFRvTnVtYmVyJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENkb3VibGUpCiAgICAgIGQgbnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlU2V0UHRyKQogCiAgICAgIGQgeG1sWFBhdGhDYXN0VG9OdW1iZXIuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgOGYgICBleHRwcm9jKCd4bWxYUGF0aENhc3RUb051bWJlcicpCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhDYXN0VG9OdW1iZXInKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2RvdWJsZSkKICAgICAgZCB2YWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoT2JqZWN0UHRyKQogCiAgICAgIGQgeG1sWFBhdGhDYXN0Qm9vbGVhblRvU3RyaW5nLi4uCiAgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYyggICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbENoYXIgKgogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sWFBhdGhDYXN0Qm9vbGVhblRvU3RyaW5nJykKLSAgICAgZCB2YWwgICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkIHZhbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIHhtbFhQYXRoQ2FzdE51bWJlclRvU3RyaW5nLi4uCiAgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sWFBhdGhDYXN0TnVtYmVyVG9TdHJpbmcnKXhtbENoYXIgKgotICAgICBkIHZhbCAgICAgICAgICAgICAgICAgICAgICAgICAgICA4ZiAgIHZhbHVlCisgICAgIGQgdmFsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDZG91YmxlKQogCiAgICAgIGQgeG1sWFBhdGhDYXN0Tm9kZVRvU3RyaW5nLi4uCiAgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sWFBhdGhDYXN0Tm9kZVRvU3RyaW5nJykgIHhtbENoYXIgKgpAQCAtNTQyLDExICs1NTgsMTIgQEAKICAgICAgZCBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoQ29udGV4dFB0cikKIAogICAgICBkIHhtbFhQYXRoQ29udGV4dFNldENhY2hlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sWFBhdGhDb250ZXh0U2V0Q2FjaGUnKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoQ29udGV4dFNldENhY2hlJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aENvbnRleHRQdHIpCi0gICAgIGQgYWN0aXZlICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKLSAgICAgZCB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQotICAgICBkIG9wdGlvbnMgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgYWN0aXZlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQorICAgICBkIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKKyAgICAgZCBvcHRpb25zICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgICogRXZhbHVhdGlvbiBmdW5jdGlvbnMuCiAKQEAgLTU1Niw3ICs1NzMsOCBAQAogICAgICBkIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQogCiAgICAgIGQgeG1sWFBhdGhTZXRDb250ZXh0Tm9kZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFhQYXRoU2V0Q29udGV4dE5vZGUnKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoU2V0Q29udGV4dE5vZGUnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCBub2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCiAgICAgIGQgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aENvbnRleHRQdHIpCiAKQEAgLTU3OSw3ICs1OTcsOCBAQAogICAgICBkIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWFBhdGhDb250ZXh0UHRyKQogCiAgICAgIGQgeG1sWFBhdGhFdmFsUHJlZGljYXRlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sWFBhdGhFdmFsUHJlZGljYXRlJykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUGF0aEV2YWxQcmVkaWNhdGUnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoQ29udGV4dFB0cikKICAgICAgZCByZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoT2JqZWN0UHRyKQogCkBAIC02MDMsOCArNjIyLDkgQEAKICAgICAgZCBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoQ29udGV4dFB0cikKIAogICAgICBkIHhtbFhQYXRoQ29tcGlsZWRFdmFsVG9Cb29sZWFuLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxYUGF0aENvbXBpbGVkRXZhbFRvQm9vbGVhbicpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkIGNvbXAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWFBhdGhDb21wRXhwclB0cikKICAgICAgZCBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoQ29udGV4dFB0cikKIApAQCAtNjIyLDExICs2NDIsMTMgQEAKICAgICAgIC9pZiBkZWZpbmVkKFhNTF9URVNUVkFMKQogICAgICBkIHhtbFhQYXRoSW5pdCAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoSW5pdCcpCiAKLSAgICAgZCB4bWxYUGF0aElzTmFOICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxYUGF0aElzTmFOJykKLSAgICAgZCB2YWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgOGYgICB2YWx1ZQorICAgICBkIHhtbFhQYXRoSXNOYU4gICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoSXNOYU4nKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKKyAgICAgZCB2YWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENkb3VibGUpCiAKLSAgICAgZCB4bWxYUGF0aElzSW5mICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxYUGF0aElzSW5mJykKLSAgICAgZCB2YWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgOGYgICB2YWx1ZQorICAgICBkIHhtbFhQYXRoSXNJbmYgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoSXNJbmYnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKKyAgICAgZCB2YWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENkb3VibGUpCiAKICAgICAgIC91bmRlZmluZSBYTUxfVEVTVFZBTAogICAgICAgL2VuZGlmCkBAIC02MzUsMTcgKzY1NywxOSBAQAogCiAgICAgICAvaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKICAgICAgZCB4bWxYUGF0aE5vZGVTZXRHZXRMZW5ndGguLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCdfX3htbFhQYXRoTm9kZVNldEdldExlbmd0aCcpCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnX194bWxYUGF0aE5vZGVTZXRHZXRMZW5ndGgnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgbnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVTZXRQdHIpCiAKICAgICAgZCB4bWxYUGF0aE5vZGVTZXRJdGVtLi4uCiAgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnX194bWxYUGF0aE5vZGVTZXRJdGVtJykKICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVQdHIpCiAgICAgIGQgIG5zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlU2V0UHRyKQotICAgICBkICBpbmRleCAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIGluZGV4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sWFBhdGhOb2RlU2V0SXNFbXB0eS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ19feG1sWFBhdGhOb2RlU2V0SXNFbXB0eScpCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnX194bWxYUGF0aE5vZGVTZXRJc0VtcHR5JykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIG5zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlU2V0UHRyKQogICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMSUJYTUxfWFBBVEhfRU5BQkxFRAogICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYTUxfWFBBVEhfSF9fCmRpZmYgLS1naXQgYS9vczQwMC9saWJ4bWxycGcveHBhdGhJbnRlcm5hbHMucnBnbGUgYi9vczQwMC9saWJ4bWxycGcveHBhdGhJbnRlcm5hbHMucnBnbGUKaW5kZXggNjlmM2FlMC4uYTZkMTJlMSAxMDA2NDQKLS0tIGEvb3M0MDAvbGlieG1scnBnL3hwYXRoSW50ZXJuYWxzLnJwZ2xlCisrKyBiL29zNDAwL2xpYnhtbHJwZy94cGF0aEludGVybmFscy5ycGdsZQpAQCAtMTEsMTAgKzExLDEyIEBACiAgICAgICAvZGVmaW5lIFhNTF9YUEFUSF9JTlRFUk5BTFNfSF9fCiAKICAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveG1sdmVyc2lvbiIKLSAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveHBhdGgiCiAKICAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQogCisgICAgICAvaW5jbHVkZSAibGlieG1scnBnL3htbFR5cGVzQyIKKyAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveHBhdGgiCisKICAgICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqCiAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhlbHBlcnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoKQEAgLTI1LDExICsyNywxMyBAQAogICAgICAgKiBzaG91bGRuJ3QgYmUgdXNlZCBpbiAjaWZkZWYncyBwcmVwcm9jZXNzb3IgaW5zdHJ1Y3Rpb25zLgogCiAgICAgIGQgeG1sWFBhdGhQb3BCb29sZWFuLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sWFBhdGhQb3BCb29sZWFuJykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUGF0aFBvcEJvb2xlYW4nKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cikKIAogICAgICBkIHhtbFhQYXRoUG9wTnVtYmVyLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgIDhmICAgZXh0cHJvYygneG1sWFBhdGhQb3BOdW1iZXInKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoUG9wTnVtYmVyJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENkb3VibGUpCiAgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIpCiAKICAgICAgZCB4bWxYUGF0aFBvcFN0cmluZy4uLgpAQCAtNzEsMzEgKzc1LDMyIEBACiAgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhlcnJvcicpCiAgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIpCiAgICAgIGQgIGZpbGUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBsaW5lICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCi0gICAgIGQgIG5vICAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgbGluZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCisgICAgIGQgIG5vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sWFBhdGhFcnIgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhFcnInKQogICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyKQotICAgICBkICBlcnJvciAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIGVycm9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgICAvaWYgZGVmaW5lZChMSUJYTUxfREVCVUdfRU5BQkxFRCkKICAgICAgZCB4bWxYUGF0aERlYnVnRHVtcE9iamVjdC4uLgogICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoRGVidWdEdW1wT2JqZWN0JykKICAgICAgZCAgb3V0cHV0ICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRklMRSAqCiAgICAgIGQgIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aE9iamVjdFB0cikKLSAgICAgZCAgZGVwdGggICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBkZXB0aCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIHhtbFhQYXRoRGVidWdEdW1wQ29tcEV4cHIuLi4KICAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUGF0aERlYnVnRHVtcENvbXBFeHByJykKICAgICAgZCAgb3V0cHV0ICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRklMRSAqCiAgICAgIGQgIGNvbXAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aENvbXBFeHByUHRyKQotICAgICBkICBkZXB0aCAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIGRlcHRoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogICAgICAgL2VuZGlmCiAKICAgICAgICogTm9kZVNldCBoYW5kbGluZy4KIAogICAgICBkIHhtbFhQYXRoTm9kZVNldENvbnRhaW5zLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sWFBhdGhOb2RlU2V0Q29udGFpbnMnKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoTm9kZVNldENvbnRhaW5zJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlU2V0UHRyKQogICAgICBkICB2YWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKIApAQCAtMTIyLDcgKzEyNyw4IEBACiAgICAgIGQgIG5vZGVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlU2V0UHRyKQogCiAgICAgIGQgeG1sWFBhdGhIYXNTYW1lTm9kZXMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxYUGF0aEhhc1NhbWVOb2RlcycpCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhIYXNTYW1lTm9kZXMnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgbm9kZXMxICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVTZXRQdHIpCiAgICAgIGQgIG5vZGVzMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlU2V0UHRyKQogCkBAIC0xNzcsNyArMTgzLDggQEAKICAgICAgICogRXh0ZW5kaW5nIGEgY29udGV4dC4KIAogICAgICBkIHhtbFhQYXRoUmVnaXN0ZXJOcy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFhQYXRoUmVnaXN0ZXJOcycpCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhSZWdpc3Rlck5zJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aENvbnRleHRQdHIpCiAgICAgIGQgIHByZWZpeCAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgogICAgICBkICBuc191cmkgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKQEAgLTE5MywyNiArMjAwLDMwIEBACiAgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aENvbnRleHRQdHIpCiAKICAgICAgZCB4bWxYUGF0aFJlZ2lzdGVyRnVuYy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFhQYXRoUmVnaXN0ZXJGdW5jJykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUGF0aFJlZ2lzdGVyRnVuYycpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWFBhdGhDb250ZXh0UHRyKQogICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKICAgICAgZCAgZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoRnVuY3Rpb24pCiAKICAgICAgZCB4bWxYUGF0aFJlZ2lzdGVyRnVuY05TLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sWFBhdGhSZWdpc3RlckZ1bmNOUycpCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhSZWdpc3RlckZ1bmNOUycpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWFBhdGhDb250ZXh0UHRyKQogICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKICAgICAgZCAgbnNfdXJpICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCiAgICAgIGQgIGYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aEZ1bmN0aW9uKQogCiAgICAgIGQgeG1sWFBhdGhSZWdpc3RlclZhcmlhYmxlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sWFBhdGhSZWdpc3RlclZhcmlhYmxlJykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUGF0aFJlZ2lzdGVyVmFyaWFibGUnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoQ29udGV4dFB0cikKICAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCiAgICAgIGQgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aE9iamVjdFB0cikKIAogICAgICBkIHhtbFhQYXRoUmVnaXN0ZXJWYXJpYWJsZU5TLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sWFBhdGhSZWdpc3RlclZhcmlhYmxlTlMnKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoUmVnaXN0ZXJWYXJpYWJsZU5TJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aENvbnRleHRQdHIpCiAgICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgogICAgICBkICBuc191cmkgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKQEAgLTI3Myw3ICsyODQsOCBAQAogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sWFBhdGhPYmplY3RQdHIpCiAgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIpCiAKLSAgICAgZCB2YWx1ZVB1c2ggICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd2YWx1ZVB1c2gnKQorICAgICBkIHZhbHVlUHVzaCAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3ZhbHVlUHVzaCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyKQogICAgICBkICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWFBhdGhPYmplY3RQdHIpCiAKQEAgLTMwMCwxMiArMzEyLDEyIEBACiAgICAgIGQgeG1sWFBhdGhOZXdGbG9hdC4uLgogICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoTmV3RmxvYXQnKQogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sWFBhdGhPYmplY3RQdHIpCi0gICAgIGQgIHZhbCAgICAgICAgICAgICAgICAgICAgICAgICAgIDhmICAgdmFsdWUKKyAgICAgZCAgdmFsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENkb3VibGUpCiAKICAgICAgZCB4bWxYUGF0aE5ld0Jvb2xlYW4uLi4KICAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUGF0aE5ld0Jvb2xlYW4nKQogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sWFBhdGhPYmplY3RQdHIpCi0gICAgIGQgIHZhbCAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgdmFsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxYUGF0aE5ld05vZGVTZXQuLi4KICAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUGF0aE5ld05vZGVTZXQnKQpAQCAtMzE4LDE3ICszMzAsMjAgQEAKICAgICAgZCAgdmFsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCiAKICAgICAgZCB4bWxYUGF0aE5vZGVTZXRBZGQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxYUGF0aE5vZGVTZXRBZGQnKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoTm9kZVNldEFkZCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBjdXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVNldFB0cikKICAgICAgZCAgdmFsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCiAKICAgICAgZCB4bWxYUGF0aE5vZGVTZXRBZGRVbmlxdWUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxYUGF0aE5vZGVTZXRBZGRVbmlxdWUnKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoTm9kZVNldEFkZFVuaXF1ZScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBjdXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVNldFB0cikKICAgICAgZCAgdmFsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCiAKICAgICAgZCB4bWxYUGF0aE5vZGVTZXRBZGROcy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFhQYXRoTm9kZVNldEFkZE5zJykKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUGF0aE5vZGVTZXRBZGROcycpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBjdXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVNldFB0cikKICAgICAgZCAgbm9kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCiAgICAgIGQgIG5zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOc1B0cikKQEAgLTM1NSwxMiArMzcwLDE0IEBACiAgICAgICAqIEV4aXN0aW5nIGZ1bmN0aW9ucy4KIAogICAgICBkIHhtbFhQYXRoU3RyaW5nRXZhbE51bWJlci4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICA4ZiAgIGV4dHByb2MoJ3htbFhQYXRoU3RyaW5nRXZhbE51bWJlcicpCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhTdHJpbmdFdmFsTnVtYmVyJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENkb3VibGUpCiAgICAgIGQgIHN0ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgogCiAgICAgIGQgeG1sWFBhdGhFdmFsdWF0ZVByZWRpY2F0ZVJlc3VsdC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sWFBhdGhFdmFsdWF0ZVByZWRpY2F0ZVJlc3VsdCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyKQogICAgICBkICByZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWFBhdGhPYmplY3RQdHIpCiAKQEAgLTM4Myw3ICs0MDAsNyBAQAogICAgICBkIHhtbFhQYXRoTm9kZVNldFJlbW92ZS4uLgogICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoTm9kZVNldFJlbW92ZScpCiAgICAgIGQgIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlU2V0UHRyKQotICAgICBkICB2YWwgICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIHZhbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sWFBhdGhOZXdOb2RlU2V0TGlzdC4uLgogICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoTmV3Tm9kZVNldExpc3QnKQpAQCAtNDAxLDE4ICs0MTgsMjEgQEAKICAgICAgZCAgdmFsICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCiAKICAgICAgZCB4bWxYUGF0aEVxdWFsVmFsdWVzLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sWFBhdGhFcXVhbFZhbHVlcycpCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhFcXVhbFZhbHVlcycpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyKQogCiAgICAgIGQgeG1sWFBhdGhOb3RFcXVhbFZhbHVlcy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFhQYXRoTm90RXF1YWxWYWx1ZXMnKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoTm90RXF1YWxWYWx1ZXMnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKICAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cikKIAogICAgICBkIHhtbFhQYXRoQ29tcGFyZVZhbHVlcy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFhQYXRoQ29tcGFyZVZhbHVlcycpCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhDb21wYXJlVmFsdWVzJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCiAgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIpCi0gICAgIGQgIGluZiAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKLSAgICAgZCAgc3RyaWN0ICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBpbmYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKKyAgICAgZCAgc3RyaWN0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxYUGF0aFZhbHVlRmxpcFNpZ24uLi4KICAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUGF0aFZhbHVlRmxpcFNpZ24nKQpAQCAtNDM5LDcgKzQ1OSw4IEBACiAgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIpCiAKICAgICAgZCB4bWxYUGF0aElzTm9kZVR5cGUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxYUGF0aElzTm9kZVR5cGUnKQorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoSXNOb2RlVHlwZScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQogICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKIAogICAgICAgKiBTb21lIG9mIHRoZSBheGlzIG5hdmlnYXRpb24gcm91dGluZXMuCkBAIC01MzAsMTM3ICs1NTEsMTM3IEBACiAgICAgIGQgeG1sWFBhdGhMYXN0RnVuY3Rpb24uLi4KICAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUGF0aExhc3RGdW5jdGlvbicpCiAgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIpCi0gICAgIGQgIG5hcmdzICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgbmFyZ3MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxYUGF0aFBvc2l0aW9uRnVuY3Rpb24uLi4KICAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUGF0aFBvc2l0aW9uRnVuY3Rpb24nKQogICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyKQotICAgICBkICBuYXJncyAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIG5hcmdzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sWFBhdGhDb3VudEZ1bmN0aW9uLi4uCiAgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhDb3VudEZ1bmN0aW9uJykKICAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cikKLSAgICAgZCAgbmFyZ3MgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBuYXJncyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIHhtbFhQYXRoSWRGdW5jdGlvbi4uLgogICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoSWRGdW5jdGlvbicpCiAgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIpCi0gICAgIGQgIG5hcmdzICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgbmFyZ3MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxYUGF0aExvY2FsTmFtZUZ1bmN0aW9uLi4uCiAgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhMb2NhbE5hbWVGdW5jdGlvbicpCiAgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIpCi0gICAgIGQgIG5hcmdzICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgbmFyZ3MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxYUGF0aE5hbWVzcGFjZVVSSUZ1bmN0aW9uLi4uCiAgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sWFBhdGhOYW1lc3BhY2VVUklGdW5jdGlvbicpCiAgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIpCi0gICAgIGQgIG5hcmdzICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgbmFyZ3MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxYUGF0aFN0cmluZ0Z1bmN0aW9uLi4uCiAgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhTdHJpbmdGdW5jdGlvbicpCiAgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIpCi0gICAgIGQgIG5hcmdzICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgbmFyZ3MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxYUGF0aFN0cmluZ0xlbmd0aEZ1bmN0aW9uLi4uCiAgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sWFBhdGhTdHJpbmdMZW5ndGhGdW5jdGlvbicpCiAgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIpCi0gICAgIGQgIG5hcmdzICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgbmFyZ3MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxYUGF0aENvbmNhdEZ1bmN0aW9uLi4uCiAgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhDb25jYXRGdW5jdGlvbicpCiAgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIpCi0gICAgIGQgIG5hcmdzICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgbmFyZ3MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxYUGF0aENvbnRhaW5zRnVuY3Rpb24uLi4KICAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUGF0aENvbnRhaW5zRnVuY3Rpb24nKQogICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyKQotICAgICBkICBuYXJncyAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIG5hcmdzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sWFBhdGhTdGFydHNXaXRoRnVuY3Rpb24uLi4KICAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUGF0aFN0YXJ0c1dpdGhGdW5jdGlvbicpCiAgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIpCi0gICAgIGQgIG5hcmdzICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgbmFyZ3MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxYUGF0aFN1YnN0cmluZ0Z1bmN0aW9uLi4uCiAgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhTdWJzdHJpbmdGdW5jdGlvbicpCiAgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIpCi0gICAgIGQgIG5hcmdzICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgbmFyZ3MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxYUGF0aFN1YnN0cmluZ0JlZm9yZUZ1bmN0aW9uLi4uCiAgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sWFBhdGhTdWJzdHJpbmdCZWZvcmVGdW5jdGlvbicpCiAgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIpCi0gICAgIGQgIG5hcmdzICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgbmFyZ3MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxYUGF0aFN1YnN0cmluZ0FmdGVyRnVuY3Rpb24uLi4KICAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAogICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxYUGF0aFN1YnN0cmluZ0FmdGVyRnVuY3Rpb24nKQogICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyKQotICAgICBkICBuYXJncyAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIG5hcmdzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAKICAgICAgZCB4bWxYUGF0aE5vcm1hbGl6ZUZ1bmN0aW9uLi4uCiAgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhOb3JtYWxpemVGdW5jdGlvbicpCiAgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIpCi0gICAgIGQgIG5hcmdzICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgbmFyZ3MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxYUGF0aFRyYW5zbGF0ZUZ1bmN0aW9uLi4uCiAgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhUcmFuc2xhdGVGdW5jdGlvbicpCiAgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIpCi0gICAgIGQgIG5hcmdzICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgbmFyZ3MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxYUGF0aE5vdEZ1bmN0aW9uLi4uCiAgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhOb3RGdW5jdGlvbicpCiAgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIpCi0gICAgIGQgIG5hcmdzICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgbmFyZ3MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxYUGF0aFRydWVGdW5jdGlvbi4uLgogICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoVHJ1ZUZ1bmN0aW9uJykKICAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cikKLSAgICAgZCAgbmFyZ3MgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBuYXJncyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIHhtbFhQYXRoRmFsc2VGdW5jdGlvbi4uLgogICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoRmFsc2VGdW5jdGlvbicpCiAgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIpCi0gICAgIGQgIG5hcmdzICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgbmFyZ3MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxYUGF0aExhbmdGdW5jdGlvbi4uLgogICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoTGFuZ0Z1bmN0aW9uJykKICAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cikKLSAgICAgZCAgbmFyZ3MgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBuYXJncyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIHhtbFhQYXRoTnVtYmVyRnVuY3Rpb24uLi4KICAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUGF0aE51bWJlckZ1bmN0aW9uJykKICAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cikKLSAgICAgZCAgbmFyZ3MgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBuYXJncyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIHhtbFhQYXRoU3VtRnVuY3Rpb24uLi4KICAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUGF0aFN1bUZ1bmN0aW9uJykKICAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cikKLSAgICAgZCAgbmFyZ3MgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBuYXJncyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIHhtbFhQYXRoRmxvb3JGdW5jdGlvbi4uLgogICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoRmxvb3JGdW5jdGlvbicpCiAgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIpCi0gICAgIGQgIG5hcmdzICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgbmFyZ3MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxYUGF0aENlaWxpbmdGdW5jdGlvbi4uLgogICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoQ2VpbGluZ0Z1bmN0aW9uJykKICAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cikKLSAgICAgZCAgbmFyZ3MgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBuYXJncyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICBkIHhtbFhQYXRoUm91bmRGdW5jdGlvbi4uLgogICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoUm91bmRGdW5jdGlvbicpCiAgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIpCi0gICAgIGQgIG5hcmdzICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgbmFyZ3MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxYUGF0aEJvb2xlYW5GdW5jdGlvbi4uLgogICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoQm9vbGVhbkZ1bmN0aW9uJykKICAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cikKLSAgICAgZCAgbmFyZ3MgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBuYXJncyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKIAogICAgICAgKiBSZWFsbHkgaW50ZXJuYWwgZnVuY3Rpb25zCiAKZGlmZiAtLWdpdCBhL29zNDAwL2xpYnhtbHJwZy94cG9pbnRlci5ycGdsZSBiL29zNDAwL2xpYnhtbHJwZy94cG9pbnRlci5ycGdsZQppbmRleCA2ZjQzMzE0Li4yOWVmMGYzIDEwMDY0NAotLS0gYS9vczQwMC9saWJ4bWxycGcveHBvaW50ZXIucnBnbGUKKysrIGIvb3M0MDAvbGlieG1scnBnL3hwb2ludGVyLnJwZ2xlCkBAIC0xOSw2ICsxOSw3IEBACiAKICAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9YUFRSX0VOQUJMRUQpCiAKKyAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveG1sVHlwZXNDIgogICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy90cmVlIgogICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94cGF0aCIKIApAQCAtMjksOCArMzAsOCBAQAogCiAgICAgIGQgeG1sTG9jYXRpb25TZXQgIGRzICAgICAgICAgICAgICAgICAgYmFzZWQoeG1sTG9jYXRpb25TZXRQdHIpCiAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24gcXVhbGlmaWVkCi0gICAgIGQgIGxvY05yICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgbG9jYXRpb25zIGluIHNldAotICAgICBkICBsb2NNYXggICAgICAgICAgICAgICAgICAgICAgIDEwaSAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYXggbG9jYXRpb25zIGluIHNldAorICAgICBkICBsb2NOciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkgICAgICAgICAgICAgICAgICAgICAgICAjIGxvY2F0aW9ucyBpbiBzZXQKKyAgICAgZCAgbG9jTWF4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpICAgICAgICAgICAgICAgICAgICAgICAgTWF4IGxvY2F0aW9ucyBpbiBzZXQKICAgICAgZCAgbG9jVGFiICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sWFBhdGhPYmplY3RQdHIgKgogCiAgICAgICAqIEhhbmRsaW5nIG9mIGxvY2F0aW9uIHNldHMuCkBAIC01NCw5ICs1NSw5IEBACiAgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFB0ck5ld1JhbmdlJykKICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFhQYXRoT2JqZWN0UHRyKQogICAgICBkIHN0YXJ0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKLSAgICAgZCBzdGFydGluZGV4ICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkIHN0YXJ0aW5kZXggICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKICAgICAgZCBlbmQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCi0gICAgIGQgZW5kaW5kZXggICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCBlbmRpbmRleCAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCiAKICAgICAgZCB4bWxYUHRyTmV3UmFuZ2VQb2ludHMuLi4KICAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUHRyTmV3UmFuZ2VQb2ludHMnKQpAQCAtMTIzLDcgKzEyNCw3IEBACiAgICAgIGQgeG1sWFB0ckxvY2F0aW9uU2V0UmVtb3ZlLi4uCiAgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFB0ckxvY2F0aW9uU2V0UmVtb3ZlJykKICAgICAgZCBjdXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbExvY2F0aW9uU2V0UHRyKQotICAgICBkIHZhbCAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgdmFsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgICAqIEZ1bmN0aW9ucy4KIApAQCAtMTQyLDcgKzE0Myw3IEBACiAgICAgIGQgeG1sWFB0clJhbmdlVG9GdW5jdGlvbi4uLgogICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQdHJSYW5nZVRvRnVuY3Rpb24nKQogICAgICBkIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyKQotICAgICBkIG5hcmdzICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgbmFyZ3MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQogCiAgICAgIGQgeG1sWFB0ckJ1aWxkTm9kZUxpc3QuLi4KICAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUHRyQnVpbGROb2RlTGlzdCcpCmRpZmYgLS1naXQgYS9vczQwMC9tYWtlLXNyYy5zaCBiL29zNDAwL21ha2Utc3JjLnNoCmluZGV4IGYwNmNmYWYuLjYwOTRkZTggMTAwNjQ0Ci0tLSBhL29zNDAwL21ha2Utc3JjLnNoCisrKyBiL29zNDAwL21ha2Utc3JjLnNoCkBAIC0xNyw3ICsxNyw3IEBACiBlY2hvICcjcHJhZ21hIGNvbW1lbnQodXNlciwgImxpYnhtbDIgdmVyc2lvbiAnIiR7TElCWE1MX1ZFUlNJT059IiciKScgPiBvczQwMC5jCiBlY2hvICcjcHJhZ21hIGNvbW1lbnQodXNlciwgX19EQVRFX18pJyA+PiBvczQwMC5jCiBlY2hvICcjcHJhZ21hIGNvbW1lbnQodXNlciwgX19USU1FX18pJyA+PiBvczQwMC5jCi1lY2hvICcjcHJhZ21hIGNvbW1lbnQoY29weXJpZ2h0LCAiQ29weXJpZ2h0IChDKSAxOTk4LTIwMTQgRGFuaWVsIFZlaWxsYXJkLiBPUy80MDAgdmVyc2lvbiBieSBQLiBNb25uZXJhdC4iKScgPj4gb3M0MDAuYworZWNobyAnI3ByYWdtYSBjb21tZW50KGNvcHlyaWdodCwgIkNvcHlyaWdodCAoQykgMTk5OC0yMDE1IERhbmllbCBWZWlsbGFyZC4gT1MvNDAwIHZlcnNpb24gYnkgUC4gTW9ubmVyYXQuIiknID4+IG9zNDAwLmMKIG1ha2VfbW9kdWxlICAgICBPUzQwMCAgICAgICAgICAgb3M0MDAuYwogTElOSz0gICAgICAgICAgICAgICAgICAgICAgICAgICAjIE5vIG5lZWQgdG8gcmVidWlsZCBzZXJ2aWNlIHByb2dyYW0geWV0LgogTU9EVUxFUz0KQEAgLTYyLDExICs2MiwxMSBAQAogCiAjICAgICAgIE9TLzQwMCBzcGVjaWZpYyBtb2R1bGVzIGZpcnN0LgogCi1tYWtlX21vZHVsZSAgICAgRExGQ04gICAgICAgICAgICIke1NDUklQVERJUn0vZGxmY24vZGxmY24uYyIgICAgJycgICAgICBlYmNkaWMKLW1ha2VfbW9kdWxlICAgICBJQ09OViAgICAgICAgICAgIiR7U0NSSVBURElSfS9pY29udi9pY29udi5jIiAgICAnJyAgICAgIGViY2RpYwotbWFrZV9tb2R1bGUgICAgIFdSQVBQRVJTICAgICAgICAiJHtTQ1JJUFRESVJ9L3dyYXBwZXJzLmMiICAgICAgICcnICAgICAgZWJjZGljCi1tYWtlX21vZHVsZSAgICAgVFJBTlNDT0RFICAgICAgICIke1NDUklQVERJUn0vdHJhbnNjb2RlLmMiCi1tYWtlX21vZHVsZSAgICAgUlBHU1VQUE9SVCAgICAgICIke1NDUklQVERJUn0vcnBnc3VwcG9ydC5jIgorbWFrZV9tb2R1bGUgICAgIC0tZWJjZGljICAgICAgICBETEZDTiAgICAgICAgICAgIiR7U0NSSVBURElSfS9kbGZjbi9kbGZjbi5jIgorbWFrZV9tb2R1bGUgICAgIC0tZWJjZGljICAgICAgICBJQ09OViAgICAgICAgICAgIiR7U0NSSVBURElSfS9pY29udi9pY29udi5jIgorbWFrZV9tb2R1bGUgICAgIC0tZWJjZGljICAgICAgICBXUkFQUEVSUyAgICAgICAgIiR7U0NSSVBURElSfS93cmFwcGVycy5jIgorbWFrZV9tb2R1bGUgICAgICAgICAgICAgICAgICAgICBUUkFOU0NPREUgICAgICAgIiR7U0NSSVBURElSfS90cmFuc2NvZGUuYyIKK21ha2VfbW9kdWxlICAgICAgICAgICAgICAgICAgICAgUlBHU1VQUE9SVCAgICAgICIke1NDUklQVERJUn0vcnBnc3VwcG9ydC5jIgogCiAjICAgICAgIFJlZ3VsYXIgbGlieG1sMiBtb2R1bGVzLgogCkBAIC0yMzksMyArMjM5LDExNyBAQAogICAgICAgICBDTUQ9IiR7Q01EfSBPQkooKCpMSUJMLyR7U1JWUEdNfSAqU1JWUEdNKSkiCiAgICAgICAgIHN5c3RlbSAiJHtDTUR9IgogZmkKKworCisjICAgICAgIENvbXBpbGUgdGhlIEFTQ0lJIG1haW4oKSBzdHViLgorCittYWtlX21vZHVsZSAgICAgLS1lYmNkaWMgLS1zeXNpY29udiAgICAgTElCWE1MTUFJTiAgIiR7U0NSSVBURElSfS9saWJ4bWxtYWluLmMiCisKKworIyAgICAgICBDb21waWxlIGFuZCBsaW5rIHByb2dyYW0geG1sbGludC4KKworaWYgYWN0aW9uX25lZWRlZCAiJHtMSUJJRlNOQU1FfS9YTUxMSU5ULlBHTSIgInhtbGxpbnQuYyIgfHwKKyAgIGFjdGlvbl9uZWVkZWQgIiR7TElCSUZTTkFNRX0vWE1MTElOVC5QR00iICIke0xJQklGU05BTUV9LyR7U1JWUEdNfS5TUlZQR00iIHx8CisgICBhY3Rpb25fbmVlZGVkICIke0xJQklGU05BTUV9L1hNTExJTlQuUEdNIiAiJHtMSUJJRlNOQU1FfS9MSUJYTUxNQUlOLk1PRFVMRSIKK3RoZW4gICAgbWFrZV9tb2R1bGUgWE1MTElOVCB4bWxsaW50LmMKKyAgICAgICAgQ01EPSJDUlRQR00gUEdNKCR7VEFSR0VUTElCfS9YTUxMSU5UKSBNT0RVTEUoJHtUQVJHRVRMSUJ9L1hNTExJTlQpIgorICAgICAgICBDTUQ9IiR7Q01EfSBFTlRNT0QoJHtUQVJHRVRMSUJ9L0xJQlhNTE1BSU4pIgorICAgICAgICBDTUQ9IiR7Q01EfSBCTkRTUlZQR00oUUFEUlRUUykgQk5ERElSKCgke1RBUkdFVExJQn0vJHtTVEFUQk5ERElSfSkiCisgICAgICAgIGlmIFsgIiR7V0lUSF9aTElCfSIgLW5lIDAgXQorICAgICAgICB0aGVuICAgIENNRD0iJHtDTUR9ICgke1pMSUJfTElCfS8ke1pMSUJfQk5ERElSfSkiCisgICAgICAgIGZpCisgICAgICAgIENNRD0iJHtDTUR9KSBBQ1RHUlAoKk5FVykgVEVYVCgnWE1MIHRvb2wnKSIKKyAgICAgICAgQ01EPSIke0NNRH0gVEdUUkxTKCR7VEdUUkxTfSkiCisgICAgICAgIHN5c3RlbSAiJHtDTUR9IgorICAgICAgICBybSAtZiAiJHtMSUJJRlNOQU1FfS9YTUxMSU5ULk1PRFVMRSIKK2ZpCisKKyMgICAgICAgSW5zdGFsbCB4bWxsaW50IGluIElGUy4KKworaWYgWyAhIC1kICIke0lGU0RJUn0vYmluIiBdCit0aGVuICAgIG1rZGlyIC1wICIke0lGU0RJUn0vYmluIgorZmkKK3JtIC1mICIke0lGU0RJUn0vYmluL3htbGxpbnQiCitsbiAtcyAiJHtMSUJJRlNOQU1FfS9YTUxMSU5ULlBHTSIgIiR7SUZTRElSfS9iaW4veG1sbGludCIKKworIyAgICAgICBQcmVwYXJlIHRoZSBYTUxMSU5UIGNvbW1hbmQgYW5kIGl0cyByZXNwb25zZSBwcm9ncmFtLgorCitpZiBhY3Rpb25fbmVlZGVkICIke0xJQklGU05BTUV9L1hNTExJTlRDTC5QR00iICIke1NDUklQVERJUn0veG1sbGludGNsLmMiCit0aGVuICAgIG1ha2VfbW9kdWxlIC0tZWJjZGljIFhNTExJTlRDTCAiJHtTQ1JJUFRESVJ9L3htbGxpbnRjbC5jIgorICAgICAgICBDTUQ9IkNSVFBHTSBQR00oJHtUQVJHRVRMSUJ9L1hNTExJTlRDTCkgTU9EVUxFKCR7VEFSR0VUTElCfS9YTUxMSU5UQ0wpIgorICAgICAgICBDTUQ9IiR7Q01EfSBBQ1RHUlAoKk5FVykgVEVYVCgnWE1MTElOVCBjb21tYW5kIHJlc3BvbnNlJykiCisgICAgICAgIENNRD0iJHtDTUR9IFRHVFJMUygke1RHVFJMU30pIgorICAgICAgICBzeXN0ZW0gIiR7Q01EfSIKKyAgICAgICAgcm0gLWYgIiR7TElCSUZTTkFNRX0vWE1MTElOVENMLk1PRFVMRSIKK2ZpCisKK2lmIGFjdGlvbl9uZWVkZWQgIiR7TElCSUZTTkFNRX0vVE9PTFMuRklMRS9YTUxMSU5ULk1CUiIgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgIiR7U0NSSVBURElSfS94bWxsaW50LmNtZCIKK3RoZW4gICAgQ01EPSJDUFkgT0JKKCcke1NDUklQVERJUn0veG1sbGludC5jbWQnKSIKKyAgICAgICAgQ01EPSIke0NNRH0gVE9PQkooJyR7TElCSUZTTkFNRX0vVE9PTFMuRklMRS9YTUxMSU5ULk1CUicpIgorICAgICAgICBDTUQ9IiR7Q01EfSBUT0NDU0lEKCR7VEdUQ0NTSUR9KSBEVEFGTVQoKlRFWFQpIFJFUExBQ0UoKllFUykiCisgICAgICAgIHN5c3RlbSAiJHtDTUR9IgorZmkKKworaWYgYWN0aW9uX25lZWRlZCAiJHtMSUJJRlNOQU1FfS9YTUxMSU5ULkNNRCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICAiJHtMSUJJRlNOQU1FfS9UT09MUy5GSUxFL1hNTExJTlQuTUJSIgordGhlbiAgICBDTUQ9IkNSVENNRCBDTUQoJHtUQVJHRVRMSUJ9L1hNTExJTlQpIFBHTSgke1RBUkdFVExJQn0vWE1MTElOVENMKSIKKyAgICAgICAgQ01EPSIke0NNRH0gU1JDRklMRSgke1RBUkdFVExJQn0vVE9PTFMpIFNSQ01CUihYTUxMSU5UKSBUSERTQUZFKCpZRVMpIgorICAgICAgICBDTUQ9IiR7Q01EfSBURVhUKCdYTUwgdG9vbCcpIFJFUExBQ0UoKllFUykiCisgICAgICAgIHN5c3RlbSAiJHtDTUR9IgorZmkKKworCisjICAgICAgIENvbXBpbGUgYW5kIGxpbmsgcHJvZ3JhbSB4bWxjYXRhbG9nLgorCitpZiBhY3Rpb25fbmVlZGVkICIke0xJQklGU05BTUV9L1hNTENBVEFMT0cuUEdNIiAieG1sY2F0YWxvZy5jIiB8fAorICAgYWN0aW9uX25lZWRlZCAiJHtMSUJJRlNOQU1FfS9YTUxDQVRBTE9HLlBHTSIgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICAiJHtMSUJJRlNOQU1FfS8ke1NSVlBHTX0uU1JWUEdNIiB8fAorICAgYWN0aW9uX25lZWRlZCAiJHtMSUJJRlNOQU1FfS9YTUxDQVRBTE9HLlBHTSIgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICAiJHtMSUJJRlNOQU1FfS9MSUJYTUxNQUlOLk1PRFVMRSIKK3RoZW4gICAgbWFrZV9tb2R1bGUgWE1MQ0FUQUxPRyB4bWxjYXRhbG9nLmMKKyAgICAgICAgQ01EPSJDUlRQR00gUEdNKCR7VEFSR0VUTElCfS9YTUxDQVRBTE9HKSIKKyAgICAgICAgQ01EPSIke0NNRH0gIE1PRFVMRSgke1RBUkdFVExJQn0vWE1MQ0FUQUxPRykiCisgICAgICAgIENNRD0iJHtDTUR9IEVOVE1PRCgke1RBUkdFVExJQn0vTElCWE1MTUFJTikiCisgICAgICAgIENNRD0iJHtDTUR9IEJORFNSVlBHTShRQURSVFRTKSBCTkRESVIoKCR7VEFSR0VUTElCfS8ke1NUQVRCTkRESVJ9KSIKKyAgICAgICAgaWYgWyAiJHtXSVRIX1pMSUJ9IiAtbmUgMCBdCisgICAgICAgIHRoZW4gICAgQ01EPSIke0NNRH0gKCR7WkxJQl9MSUJ9LyR7WkxJQl9CTkRESVJ9KSIKKyAgICAgICAgZmkKKyAgICAgICAgQ01EPSIke0NNRH0pIEFDVEdSUCgqTkVXKSBURVhUKCdYTUwvU0dNTCBjYXRhbG9nIHRvb2wnKSIKKyAgICAgICAgQ01EPSIke0NNRH0gVEdUUkxTKCR7VEdUUkxTfSkiCisgICAgICAgIHN5c3RlbSAiJHtDTUR9IgorICAgICAgICBybSAtZiAiJHtMSUJJRlNOQU1FfS9YTUxDQVRBTE9HLk1PRFVMRSIKK2ZpCisKKyMgICAgICAgSW5zdGFsbCB4bWxjYXRhbG9nIGluIElGUy4KKworcm0gLWYgIiR7SUZTRElSfS9iaW4veG1sY2F0YWxvZyIKK2xuIC1zICIke0xJQklGU05BTUV9L1hNTENBVEFMT0cuUEdNIiAiJHtJRlNESVJ9L2Jpbi94bWxjYXRhbG9nIgorCisjICAgICAgIFByZXBhcmUgdGhlIFhNTENBVEFMT0cgY29tbWFuZCBhbmQgaXRzIHJlc3BvbnNlIHByb2dyYW0uCisKK2lmIGFjdGlvbl9uZWVkZWQgIiR7TElCSUZTTkFNRX0vWE1MQ0FUTEdDTC5QR00iICIke1NDUklQVERJUn0veG1sY2F0bGdjbC5jIgordGhlbiAgICBtYWtlX21vZHVsZSAtLWViY2RpYyBYTUxDQVRMR0NMICIke1NDUklQVERJUn0veG1sY2F0bGdjbC5jIgorICAgICAgICBDTUQ9IkNSVFBHTSBQR00oJHtUQVJHRVRMSUJ9L1hNTENBVExHQ0wpIgorICAgICAgICBDTUQ9IiR7Q01EfSBNT0RVTEUoJHtUQVJHRVRMSUJ9L1hNTENBVExHQ0wpIgorICAgICAgICBDTUQ9IiR7Q01EfSBBQ1RHUlAoKk5FVykgVEVYVCgnWE1MQ0FUQUxPRyBjb21tYW5kIHJlc3BvbnNlJykiCisgICAgICAgIENNRD0iJHtDTUR9IFRHVFJMUygke1RHVFJMU30pIgorICAgICAgICBzeXN0ZW0gIiR7Q01EfSIKKyAgICAgICAgcm0gLWYgIiR7TElCSUZTTkFNRX0vWE1MQ0FUTEdDTC5NT0RVTEUiCitmaQorCitpZiBhY3Rpb25fbmVlZGVkICIke0xJQklGU05BTUV9L1RPT0xTLkZJTEUvWE1MQ0FUQUxPRy5NQlIiICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgICIke1NDUklQVERJUn0veG1sY2F0YWxvZy5jbWQiCit0aGVuICAgIENNRD0iQ1BZIE9CSignJHtTQ1JJUFRESVJ9L3htbGNhdGFsb2cuY21kJykiCisgICAgICAgIENNRD0iJHtDTUR9IFRPT0JKKCcke0xJQklGU05BTUV9L1RPT0xTLkZJTEUvWE1MQ0FUQUxPRy5NQlInKSIKKyAgICAgICAgQ01EPSIke0NNRH0gVE9DQ1NJRCgke1RHVENDU0lEfSkgRFRBRk1UKCpURVhUKSBSRVBMQUNFKCpZRVMpIgorICAgICAgICBzeXN0ZW0gIiR7Q01EfSIKK2ZpCisKK2lmIGFjdGlvbl9uZWVkZWQgIiR7TElCSUZTTkFNRX0vWE1MQ0FUQUxPRy5DTUQiICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgIiR7TElCSUZTTkFNRX0vVE9PTFMuRklMRS9YTUxDQVRBTE9HLk1CUiIKK3RoZW4gICAgQ01EPSJDUlRDTUQgQ01EKCR7VEFSR0VUTElCfS9YTUxDQVRBTE9HKSBQR00oJHtUQVJHRVRMSUJ9L1hNTENBVExHQ0wpIgorICAgICAgICBDTUQ9IiR7Q01EfSBTUkNGSUxFKCR7VEFSR0VUTElCfS9UT09MUykgU1JDTUJSKFhNTENBVEFMT0cpIgorICAgICAgICBDTUQ9IiR7Q01EfSBUSERTQUZFKCpZRVMpIFRFWFQoJ1hNTC9TR01MIGNhdGFsb2cgdG9vbCcpIFJFUExBQ0UoKllFUykiCisgICAgICAgIHN5c3RlbSAiJHtDTUR9IgorZmkKZGlmZiAtLWdpdCBhL29zNDAwL3JwZ3N1cHBvcnQuYyBiL29zNDAwL3JwZ3N1cHBvcnQuYwppbmRleCBhMzYwOWMwLi5hZDRjYzVkIDEwMDY0NAotLS0gYS9vczQwMC9ycGdzdXBwb3J0LmMKKysrIGIvb3M0MDAvcnBnc3VwcG9ydC5jCkBAIC0yMTksNyArMjE5LDcgQEAKIF9feG1sWFBhdGhOb2RlU2V0R2V0TGVuZ3RoKGNvbnN0IHhtbE5vZGVTZXQgKiBucykKIAogewotCXJldHVybiB4bWxYUGF0aE5vZGVTZXRHZXRMZW5ndGgobnMpOworICAgICAgICByZXR1cm4geG1sWFBhdGhOb2RlU2V0R2V0TGVuZ3RoKG5zKTsKIH0KIAogCkBAIC0yMjcsNyArMjI3LDcgQEAKIF9feG1sWFBhdGhOb2RlU2V0SXRlbShjb25zdCB4bWxOb2RlU2V0ICogbnMsIGludCBpbmRleCkKIAogewotCXJldHVybiB4bWxYUGF0aE5vZGVTZXRJdGVtKG5zLCBpbmRleCk7CisgICAgICAgIHJldHVybiB4bWxYUGF0aE5vZGVTZXRJdGVtKG5zLCBpbmRleCk7CiB9CiAKIApAQCAtMjM1LDcgKzIzNSw3IEBACiBfX3htbFhQYXRoTm9kZVNldElzRW1wdHkoY29uc3QgeG1sTm9kZVNldCAqIG5zKQogCiB7Ci0JcmV0dXJuIHhtbFhQYXRoTm9kZVNldElzRW1wdHkobnMpOworICAgICAgICByZXR1cm4geG1sWFBhdGhOb2RlU2V0SXNFbXB0eShucyk7CiB9CiAKICNlbmRpZgpAQCAtMjQ3LDE2ICsyNDcsMTYgQEAKIF9faHRtbERlZmF1bHRTdWJlbGVtZW50KGNvbnN0IGh0bWxFbGVtRGVzYyAqIGVsdCkKIAogewotCXJldHVybiBodG1sRGVmYXVsdFN1YmVsZW1lbnQoZWx0KTsKKyAgICAgICAgcmV0dXJuIGh0bWxEZWZhdWx0U3ViZWxlbWVudChlbHQpOwogfQogCiAKIGludAogX19odG1sRWxlbWVudEFsbG93ZWRIZXJlRGVzYyhjb25zdCBodG1sRWxlbURlc2MgKiBwYXJlbnQsCi0JCQkJCQljb25zdCBodG1sRWxlbURlc2MgKiBlbHQpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBodG1sRWxlbURlc2MgKiBlbHQpCiAKIHsKLQlyZXR1cm4gaHRtbEVsZW1lbnRBbGxvd2VkSGVyZURlc2MocGFyZW50LCBlbHQpOworICAgICAgICByZXR1cm4gaHRtbEVsZW1lbnRBbGxvd2VkSGVyZURlc2MocGFyZW50LCBlbHQpOwogfQogCiAKQEAgLTI2NCw3ICsyNjQsNyBAQAogX19odG1sUmVxdWlyZWRBdHRycyhjb25zdCBodG1sRWxlbURlc2MgKiBlbHQpCiAKIHsKLQlyZXR1cm4gaHRtbFJlcXVpcmVkQXR0cnMoZWx0KTsKKyAgICAgICAgcmV0dXJuIGh0bWxSZXF1aXJlZEF0dHJzKGVsdCk7CiB9CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvb3M0MDAvcnBnc3VwcG9ydC5oIGIvb3M0MDAvcnBnc3VwcG9ydC5oCmluZGV4IDY3MjViNTkuLmQ4MDE2ZDcgMTAwNjQ0Ci0tLSBhL29zNDAwL3JwZ3N1cHBvcnQuaAorKysgYi9vczQwMC9ycGdzdXBwb3J0LmgKQEAgLTE0MSwxNyArMTQxLDE3IEBACiBYTUxQVUJGVU4gdm9pZCAgICAgICAgICBfX3htbFZhRW5kKGNoYXIgKiAqIGxpc3QpOwogCiAjaWZkZWYgTElCWE1MX1hQQVRIX0VOQUJMRUQKLVhNTFBVQkZVTiBpbnQJCV9feG1sWFBhdGhOb2RlU2V0R2V0TGVuZ3RoKHhtbE5vZGVTZXRQdHIgbnMpOwotWE1MUFVCRlVOIHhtbE5vZGVQdHIJX194bWxYUGF0aE5vZGVTZXRJdGVtKHhtbE5vZGVTZXRQdHIgbnMsIGludCBpbmRleCk7Ci1YTUxQVUJGVU4gaW50CQlfX3htbFhQYXRoTm9kZVNldElzRW1wdHkoeG1sTm9kZVNldFB0ciBucyk7CitYTUxQVUJGVU4gaW50ICAgICAgICAgICBfX3htbFhQYXRoTm9kZVNldEdldExlbmd0aCh4bWxOb2RlU2V0UHRyIG5zKTsKK1hNTFBVQkZVTiB4bWxOb2RlUHRyICAgIF9feG1sWFBhdGhOb2RlU2V0SXRlbSh4bWxOb2RlU2V0UHRyIG5zLCBpbnQgaW5kZXgpOworWE1MUFVCRlVOIGludCAgICAgICAgICAgX194bWxYUGF0aE5vZGVTZXRJc0VtcHR5KHhtbE5vZGVTZXRQdHIgbnMpOwogI2VuZGlmCiAKICNpZmRlZiBMSUJYTUxfSFRNTF9FTkFCTEVECi1YTUxQVUJGVU4gY29uc3QgY2hhciAqCV9faHRtbERlZmF1bHRTdWJlbGVtZW50KGNvbnN0IGh0bWxFbGVtRGVzYyAqIGVsdCk7Ci1YTUxQVUJGVU4gaW50CV9faHRtbEVsZW1lbnRBbGxvd2VkSGVyZURlc2MoY29uc3QgaHRtbEVsZW1EZXNjICogcGFyZW50LAotCQkJY29uc3QgaHRtbEVsZW1EZXNjICogZWx0KTsKK1hNTFBVQkZVTiBjb25zdCBjaGFyICogIF9faHRtbERlZmF1bHRTdWJlbGVtZW50KGNvbnN0IGh0bWxFbGVtRGVzYyAqIGVsdCk7CitYTUxQVUJGVU4gaW50ICAgX19odG1sRWxlbWVudEFsbG93ZWRIZXJlRGVzYyhjb25zdCBodG1sRWxlbURlc2MgKiBwYXJlbnQsCisgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBodG1sRWxlbURlc2MgKiBlbHQpOwogWE1MUFVCRlVOIGNvbnN0IGNoYXIgKiAqCi0JCQlfX2h0bWxSZXF1aXJlZEF0dHJzKGNvbnN0IGh0bWxFbGVtRGVzYyAqIGVsdCk7CisgICAgICAgICAgICAgICAgICAgICAgICBfX2h0bWxSZXF1aXJlZEF0dHJzKGNvbnN0IGh0bWxFbGVtRGVzYyAqIGVsdCk7CiAjZW5kaWYKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9vczQwMC94bWxjYXRhbG9nLmNtZCBiL29zNDAwL3htbGNhdGFsb2cuY21kCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkyZjAyNzAKLS0tIC9kZXYvbnVsbAorKysgYi9vczQwMC94bWxjYXRhbG9nLmNtZApAQCAtMCwwICsxLDExMiBAQAorLyogICAgICBYTUxDQVRBTE9HIENMIGNvbW1hbmQuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKy8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisvKiAgICAgIFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4gICAgICAgICAgICAgICAgICAgICAgICAqLworLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKy8qICAgICAgQXV0aG9yOiBQYXRyaWNrIE1vbm5lcmF0IDxwbUBkYXRhc3BoZXJlLmNoPiwgREFUQVNQSEVSRSBTLkEuICAgICAgICAgICovCisKKy8qICAgICAgSW50ZXJmYWNlIHRvIHByb2dyYW0gWE1MQ0FUTEdDTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisKKyAgICAgICAgICAgICBDTUQgICAgICAgIFBST01QVCgnWE1ML1NHTUwgY2F0YWxvZyAgdG9vbCcpCisKKyAgICAgICAgICAgICAvKiBDYXRhbG9nIGZpbGUgcGF0aC4gKi8KKworICAgICAgICAgICAgIFBBUk0gICAgICAgS1dEKElOU1RNRikgVFlQRSgqUE5BTUUpIExFTig1MDAwKSBWQVJZKCpZRVMgKklOVDIpICAgICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgQ0FTRSgqTUlYRUQpIEVYUFIoKllFUykgTUlOKDEpIFNQQ1ZBTCgoKk5FVyAnJykpICAgICArCisgICAgICAgICAgICAgICAgICAgICAgICAgIENIT0lDRSgnU3RyZWFtIGZpbGUgcGF0aCcpICAgICAgICAgICAgICAgICAgICAgICAgICAgKworICAgICAgICAgICAgICAgICAgICAgICAgICBQUk9NUFQoJ1hNTC9TR01MIGNhdGFsb2cgZmlsZScpCisKKyAgICAgICAgICAgICAvKiBDYXRhbG9nIGtpbmQ6IFhNTC9TR01MLiAqLworCisgICAgICAgICAgICAgUEFSTSAgICAgICBLV0QoS0lORCkgVFlQRSgqQ0hBUikgTEVOKDcpIFZBUlkoKllFUyAqSU5UMikgICAgICAgICAgKworICAgICAgICAgICAgICAgICAgICAgICAgICBFWFBSKCpZRVMpIFJTVEQoKllFUykgREZUKCpYTUwpICAgICAgICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgU1BDVkFMKCgqWE1MICcnKSAoKlNHTUwgJy0tc2dtbCcpKSAgICAgICAgICAgICAgICAgICArCisgICAgICAgICAgICAgICAgICAgICAgICAgIFBST01QVCgnQ2F0YWxvZyBraW5kJykKKworICAgICAgICAgICAgIC8qIE91dHB1dCBmaWxlLiAqLworCisgICAgICAgICAgICAgUEFSTSAgICAgICBLV0QoT1VUU1RNRikgVFlQRSgqUE5BTUUpIExFTig1MDAwKSBWQVJZKCpZRVMgKklOVDIpICAgKworICAgICAgICAgICAgICAgICAgICAgICAgICBDQVNFKCpNSVhFRCkgRVhQUigqWUVTKSBERlQoKlNURE9VVCkgICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgU1BDVkFMKCgqU1RET1VUICcnKSAoKklOU1RNRiBYJzAwJykpICAgICAgICAgICAgICAgICArCisgICAgICAgICAgICAgICAgICAgICAgICAgIENIT0lDRSgnKlNURE9VVCwgKklOU1RNRiBvciBmaWxlIHBhdGgnKSAgICAgICAgICAgICAgKworICAgICAgICAgICAgICAgICAgICAgICAgICBQUk9NUFQoJ091dHB1dCBzdHJlYW0gZmlsZSBwYXRoJykKKworICAgICAgICAgICAgIC8qIENvbnZlcnQgU0dNTCB0byBYTUwgY2F0YWxvZy4gKi8KKworICAgICAgICAgICAgIFBBUk0gICAgICAgS1dEKENPTlZFUlQpIFRZUEUoKkNIQVIpIExFTigxMCkgVkFSWSgqWUVTICpJTlQyKSAgICAgICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgUlNURCgqWUVTKSBTUENWQUwoKCpZRVMgJy0tY29udmVydCcpICgqTk8gJycpKSAgICAgICArCisgICAgICAgICAgICAgICAgICAgICAgICAgIEVYUFIoKllFUykgREZUKCpOTykgUE1UQ1RMKFRZUEVYTUwpICAgICAgICAgICAgICAgICAgKworICAgICAgICAgICAgICAgICAgICAgICAgICBQUk9NUFQoJ0NvbnZlcnQgU0dNTCB0byBYTUwgY2F0YWxvZycpCisKKyAgICAgICAgICAgICAvKiBTR01MIHN1cGVyIGNhdGFsb2cgdXBkYXRlLiAqLworCisgICAgICAgICAgICAgUEFSTSAgICAgICBLV0QoU1VQRVJVUEQpIFRZUEUoKkNIQVIpIExFTigxNykgVkFSWSgqWUVTICpJTlQyKSAgICAgKworICAgICAgICAgICAgICAgICAgICAgICAgICBTUENWQUwoKCpZRVMgJycpICgqTk8gJy0tbm8tc3VwZXItdXBkYXRlJykpICAgICAgICAgICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgRVhQUigqWUVTKSBERlQoKllFUykgUlNURCgqWUVTKSBQTVRDVEwoVFlQRVNHTUwpICAgICArCisgICAgICAgICAgICAgICAgICAgICAgICAgIFBST01QVCgnVXBkYXRlIHRoZSBTR01MIHN1cGVyIGNhdGFsb2cnKQorCisgICAgICAgICAgICAgLyogVmVyYm9zZS9kZWJ1ZyBvdXRwdXQuICovCisKKyAgICAgICAgICAgICBQQVJNICAgICAgIEtXRChWRVJCT1NFKSBUWVBFKCpDSEFSKSBMRU4oNCkgVkFSWSgqWUVTICpJTlQyKSAgICAgICArCisgICAgICAgICAgICAgICAgICAgICAgICAgIFJTVEQoKllFUykgU1BDVkFMKCgqWUVTICctdicpICgqTk8gJycpKSAgICAgICAgICAgICAgKworICAgICAgICAgICAgICAgICAgICAgICAgICBFWFBSKCpZRVMpIERGVCgqTk8pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgUFJPTVBUKCdPdXRwdXQgZGVidWdnaW5nIGluZm9ybWF0aW9uJykKKworICAgICAgICAgICAgIC8qIEludGVyYWN0aXZlIHNoZWxsIG5vdCBzdXBwb3J0ZWQuICovCisKKyAgICAgICAgICAgICAvKiBWYWx1ZXMgdG8gZGVsZXRlLiAqLworCisgICAgICAgICAgICAgUEFSTSAgICAgICBLV0QoREVMRVRFKSBUWVBFKCpQTkFNRSkgTEVOKDI1NikgVkFSWSgqWUVTICpJTlQyKSAgICAgKworICAgICAgICAgICAgICAgICAgICAgICAgICBDQVNFKCpNSVhFRCkgTUFYKDY0KSBFWFBSKCpZRVMpICAgICAgICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgQ0hPSUNFKCdJZGVudGlmaWVyIHZhbHVlJykgICAgICAgICAgICAgICAgICAgICAgICAgICArCisgICAgICAgICAgICAgICAgICAgICAgICAgIFBST01QVCgnRGVsZXRlIFN5c3RlbS9VUkkgaWRlbnRpZmllcicpCisKKyAgICAgICAgICAgICAvKiBWYWx1ZXMgdG8gYWRkLiAqLworCisgICAgICAgICAgICAgUEFSTSAgICAgICBLV0QoQUREKSBUWVBFKFhNTEVMRU0pIE1BWCgxMCkgUE1UQ1RMKFRZUEVYTUwpICAgICAgICAgKworICAgICAgICAgICAgICAgICAgICAgICAgICBQUk9NUFQoJ0FkZCBkZWZpbml0aW9uJykKK1hNTEVMRU06ICAgICBFTEVNICAgICAgIFRZUEUoKkNIQVIpIExFTigxNikgVkFSWSgqWUVTICpJTlQyKSBERlQoKlBVQkxJQykgICAgICArCisgICAgICAgICAgICAgICAgICAgICAgICAgIFBST01QVCgnRW50cnkgdHlwZScpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKworICAgICAgICAgICAgICAgICAgICAgICAgICBFWFBSKCpZRVMpIFJTVEQoKllFUykgU1BDVkFMKCAgICAgICAgICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKlBVQkxJQyAgICAgICAgICdwdWJsaWMnKSAgICAgICAgICAgICAgICAgICAgICAgICArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCpTWVNURU0gICAgICAgICAnc3lzdGVtJykgICAgICAgICAgICAgICAgICAgICAgICAgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICgqVVJJICAgICAgICAgICAgJ3VyaScpICAgICAgICAgICAgICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKlJFV1JJVEVTWVNURU0gICdyZXdyaXRlU3lzdGVtJykgICAgICAgICAgICAgICAgICArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCpSRVdSSVRFVVJJICAgICAncmV3cml0ZVVSSScpICAgICAgICAgICAgICAgICAgICAgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICgqREVMRUdBVEVQVUJMSUMgJ2RlbGVnYXRlUHVibGljJykgICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKkRFTEVHQVRFU1lTVEVNICdkZWxlZ2F0ZVN5c3RlbScpICAgICAgICAgICAgICAgICArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCpERUxFR0FURVVSSSAgICAnZGVsZWdhdGVVUkknKSAgICAgICAgICAgICAgICAgICAgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICgqTkVYVENBVEFMT0cgICAgJ25leHRDYXRhbG9nJykgICAgICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgIEVMRU0gICAgICAgVFlQRSgqUE5BTUUpIExFTigyNTYpIFZBUlkoKllFUyAqSU5UMikgRVhQUigqWUVTKSAgICAgICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgQ0FTRSgqTUlYRUQpIFBST01QVCgnT3JpZ2luYWwgcmVmZXJlbmNlL2ZpbGUgbmFtZScpCisgICAgICAgICAgICAgRUxFTSAgICAgICBUWVBFKCpQTkFNRSkgTEVOKDI1NikgVkFSWSgqWUVTICpJTlQyKSBFWFBSKCpZRVMpICAgICAgKworICAgICAgICAgICAgICAgICAgICAgICAgICBDQVNFKCpNSVhFRCkgUFJPTVBUKCdSZXBsYWNlbWVudCBlbnRpdHkgVVJJJykKKworICAgICAgICAgICAgIFBBUk0gICAgICAgS1dEKFNHTUxBREQpIFRZUEUoU0dNTEVMRU0pIE1BWCgxMCkgICAgICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgUE1UQ1RMKFRZUEVTR01MKSBQUk9NUFQoJ0FkZCBTR01MIGRlZmluaXRpb24nKQorU0dNTEVMRU06ICAgIEVMRU0gICAgICAgVFlQRSgqUE5BTUUpIExFTigyNTYpIFZBUlkoKllFUyAqSU5UMikgRVhQUigqWUVTKSAgICAgICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgQ0FTRSgqTUlYRUQpIFBST01QVCgnU0dNTCBjYXRhbG9nIGZpbGUgbmFtZScpCisgICAgICAgICAgICAgRUxFTSAgICAgICBUWVBFKCpQTkFNRSkgTEVOKDI1NikgVkFSWSgqWUVTICpJTlQyKSBFWFBSKCpZRVMpICAgICAgKworICAgICAgICAgICAgICAgICAgICAgICAgICBDQVNFKCpNSVhFRCkgUFJPTVBUKCdTR01MIGRlZmluaXRpb24nKQorCisgICAgICAgICAgICAgLyogRW50aXRpZXMgdG8gcmVzb2x2ZS4gKi8KKworICAgICAgICAgICAgIFBBUk0gICAgICAgS1dEKEVOVElUWSkgVFlQRSgqUE5BTUUpIExFTigyNTYpIFZBUlkoKllFUyAqSU5UMikgICAgICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgQ0FTRSgqTUlYRUQpIEVYUFIoKllFUykgTUFYKDE1MCkgICAgICAgICAgICAgICAgICAgICArCisgICAgICAgICAgICAgICAgICAgICAgICAgIFBST01QVCgnUmVzb2x2ZSBlbnRpdHknKQorCisgICAgICAgICAgICAgLyogQWRkaXRpb25hbCBjYXRhbG9nIGZpbGVzLiAqLworCisgICAgICAgICAgICAgUEFSTSAgICAgICBLV0QoQ0FUQUxPRykgVFlQRSgqUE5BTUUpIExFTig1MDAwKSBWQVJZKCpZRVMgKklOVDIpICAgKworICAgICAgICAgICAgICAgICAgICAgICAgICBDQVNFKCpNSVhFRCkgRVhQUigqWUVTKSBNQVgoMTUwKSBERlQoKkRFRkFVTFQpICAgICAgICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgQ0hPSUNFKCdDYXRhbG9nIHN0cmVhbSBmaWxlIHBhdGgnKSAgICAgICAgICAgICAgICAgICArCisgICAgICAgICAgICAgICAgICAgICAgICAgIFBST01QVCgnQWRkaXRpb25hbCBjYXRhbG9nIGZpbGUnKSBTUENWQUwoICAgICAgICAgICAgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICgqREVGQVVMVCAgICAgICAnL2V0Yy94bWwvY2F0YWxvZycpICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKk5PTkUgICAgICAgICAgJycpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICArCisgICAgICAgICAgICAgICAgICAgICAgICAgICkKKworCisgICAgICAgICAgICAgLyogQ29uZGl0aW9uYWwgcHJvbXB0aW5nLiAqLworCitUWVBFWE1MOiAgICAgUE1UQ1RMICAgICBDVEwoS0lORCkgQ09ORCgoKkVRICcnKSkKK1RZUEVTR01MOiAgICBQTVRDVEwgICAgIENUTChLSU5EKSBDT05EKCgqTkUgJycpKQpkaWZmIC0tZ2l0IGEvb3M0MDAveG1sY2F0bGdjbC5jIGIvb3M0MDAveG1sY2F0bGdjbC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZmMWU0ZmYKLS0tIC9kZXYvbnVsbAorKysgYi9vczQwMC94bWxjYXRsZ2NsLmMKQEAgLTAsMCArMSwyODggQEAKKy8qKgorKioqICAgICBYTUxDQVRBTE9HIGNvbW1hbmQgcmVzcG9uc2UgcHJvZ3JhbS4KKyoqKgorKioqICAgICBTZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCisqKioKKyoqKiAgICAgQXV0aG9yOiBQYXRyaWNrIE1vbm5lcmF0IDxwbUBkYXRhc3BoZXJlLmNoPiwgREFUQVNQSEVSRSBTLkEuCisqKi8KKworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8cXNoZWxsLmg+CisKKworLyogVmFyaWFibGUtbGVuZ3RoIHN0cmluZywgd2l0aCAxNi1iaXQgbGVuZ3RoLiAqLwordHlwZWRlZiBzdHJ1Y3QgeworICAgICAgICBzaG9ydCAgICAgICAgICAgbGVuOworICAgICAgICBjaGFyICAgICAgICAgICAgc3RyaW5nWzUwMDBdOworfSAgICAgICAgICAgICAgIHZhcnkyOworCisKKy8qIFZhcmlhYmxlLWxlbmd0aCBzdHJpbmcsIHdpdGggMzItYml0IGxlbmd0aC4gKi8KK3R5cGVkZWYgc3RydWN0IHsKKyAgICAgICAgaW50ICAgICAgICAgICAgIGxlbjsKKyAgICAgICAgY2hhciAgICAgICAgICAgIHN0cmluZ1s1MDAwXTsKK30gICAgICAgICAgICAgICB2YXJ5NDsKKworCisvKiBNdWx0aXBsZSBvY2N1cnJlbmNlIHBhcmFtZXRlciBsaXN0LiAqLworI2RlZmluZSBwYXJhbWxpc3QoaXRlbXNpemUsIGl0ZW10eXBlKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICBfUGFja2VkIHN0cnVjdCB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgIHNob3J0ICAgICAgICAgICBsZW47ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgIF9QYWNrZWQgdW5pb24geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXIgICAgICAgICAgIF9wYWRbaXRlbXNpemVdOyAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXR5cGUgICAgICAgIHBhcmFtOyAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgIH0gICAgICAgICAgICAgICBpdGVtWzFdOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICB9CisKKy8qIEFkZCBlbGVtZW50IGxpc3Qgc3RydWN0dXJlLiAqLwordHlwZWRlZiBzdHJ1Y3QgeworICAgICAgICBzaG9ydCAgICAgICAgICAgZWxjb3VudDsgICAgICAgIC8qIEVsZW1lbnQgY291bnQgKD0zKS4gKi8KKyAgICAgICAgcGFyYW1saXN0KDE2LCBjaGFyKSB0eXBlOyAgICAgICAvKiB2YXJ5MigxNikuICovCisgICAgICAgIHBhcmFtbGlzdCgyNTYsIGNoYXIpIG9yaWdpbjsgICAgLyogdmFyeTIoMjU2KS4gKi8KKyAgICAgICAgcGFyYW1saXN0KDI1NiwgY2hhcikgcmVwbGFjZTsgICAvKiB2YXJ5MigyNTYpLiAqLworfSAgICAgICAgICAgICAgIGFkZGVsZW1lbnQ7CisKKy8qIFNHTUwgYWRkIGVsZW1lbnQgbGlzdCBzdHJ1Y3R1cmUuICovCit0eXBlZGVmIHN0cnVjdCB7CisgICAgICAgIHNob3J0ICAgICAgICAgICBlbGNvdW50OyAgICAgICAgLyogRWxlbWVudCBjb3VudCAoPTMpLiAqLworICAgICAgICBwYXJhbWxpc3QoMjU2LCBjaGFyKSBjYXRhbG9nOyAgIC8qIHZhcnkyKDI1NikuICovCisgICAgICAgIHBhcmFtbGlzdCgyNTYsIGNoYXIpIGlkZW50OyAgICAgLyogdmFyeTIoMjU2KS4gKi8KK30gICAgICAgICAgICAgICBzZ21sYWRkZWxlbWVudDsKKworCisvKiBBcmd1bWVudHMgZnJvbSBDTCBjb21tYW5kLiAqLwordHlwZWRlZiBzdHJ1Y3QgeworICAgICAgICBjaGFyICogICAgICAgICAgcGdtOyAgICAgICAgICAgIC8qIFByb2dyYW0gbmFtZS4gKi8KKyAgICAgICAgdmFyeTIgKiAgICAgICAgIGluc3RtZjsgICAgICAgICAvKiBJbnB1dCBjYXRhbG9nIGZpbGUgbmFtZS4gKi8KKyAgICAgICAgdmFyeTIgKiAgICAgICAgIGtpbmQ7ICAgICAgICAgICAvKiBDYXRhbG9nIGtpbmQuICovCisgICAgICAgIHZhcnkyICogICAgICAgICBvdXRzdG1mOyAgICAgICAgLyogT3V0cHV0IGNhdGFsb2cgZmlsZSBuYW1lLiAqLworICAgICAgICB2YXJ5MiAqICAgICAgICAgY29udmVydDsgICAgICAgIC8qIENvbnZlcnQgU0dNTCB0byBYTUwuICovCisgICAgICAgIHZhcnkyICogICAgICAgICBzdXBlcnVwZDsgICAgICAgLyogLS1uby1zdXBlci11cGRhdGUuICovCisgICAgICAgIHZhcnkyICogICAgICAgICB2ZXJib3NlOyAgICAgICAgLyogVmVyYm9zZSBvdXRwdXQuICovCisgICAgICAgIHBhcmFtbGlzdCgyNTYgKyAyLCB2YXJ5MikgKiBkZWxldGU7IC8qIElkZW50aWZpZXJzIHRvIGRlbGV0ZS4gKi8KKyAgICAgICAgcGFyYW1saXN0KDIsIHVuc2lnbmVkIHNob3J0KSAqIGFkZDsgLyogSXRlbXMgdG8gYWRkLiAqLworICAgICAgICBwYXJhbWxpc3QoMiwgdW5zaWduZWQgc2hvcnQpICogc2dtbGFkZDsgLyogU0dNTCBpdGVtcyB0byBhZGQuICovCisgICAgICAgIHBhcmFtbGlzdCgyNTYgKyAyLCB2YXJ5MikgKiByZXNvbHZlOyAvKiBJZGVudGlmaWVycyB0byByZXNvbHZlLiAqLworICAgICAgICBwYXJhbWxpc3QoNTAwMCArIDIsIHZhcnkyKSAqIGNhdGFsb2c7IC8qIEFkZGl0aW9uYWwgY2F0YWxvZyBmaWxlcy4gKi8KK30gICAgICAgICAgICAgICBhcmd1bWVudHM7CisKKworLyogRGVmaW5pdGlvbiBvZiBRU0hFTEwgcHJvZ3JhbS4gKi8KK2V4dGVybiB2b2lkICAgICBxc2hlbGwodmFyeTQgKiBjbWQpOworI3ByYWdtYSBsaW5rYWdlKHFzaGVsbCwgT1MpCisjcHJhZ21hIG1hcChxc2hlbGwsICJRU0hFTEwvUVpTSFFTSEMiKQorCisvKiBNYWNybyB0byBoYW5kbGUgZGlzcGxhY2VtZW50cy4gKi8KKyNkZWZpbmUgT0ZGU0VUQlkodCwgcCwgbikgICAgICAgKCh0ICopICgoKGNoYXIgKikgKHApKSArIChuKSkpCisKKworc3RhdGljIHZvaWQKK3Zhcnk0bmFwcGVuZCh2YXJ5NCAqIGRzdCwgY29uc3QgY2hhciAqIHNyYywgc2l6ZV90IGxlbikKKworeworICAgICAgICBpZiAobGVuID4gc2l6ZW9mKGRzdC0+c3RyaW5nKSAtIGRzdC0+bGVuKQorICAgICAgICAgICAgICAgIGxlbiA9IHNpemVvZihkc3QtPnN0cmluZykgLSBkc3QtPmxlbjsKKworICAgICAgICBpZiAobGVuKSB7CisgICAgICAgICAgICAgICAgbWVtY3B5KGRzdC0+c3RyaW5nICsgZHN0LT5sZW4sIHNyYywgbGVuKTsKKyAgICAgICAgICAgICAgICBkc3QtPmxlbiArPSBsZW47CisgICAgICAgICAgICAgICAgfQorfQorCisKK3N0YXRpYyB2b2lkCit2YXJ5NGFwcGVuZCh2YXJ5NCAqIGRzdCwgY29uc3QgY2hhciAqIHNyYykKKworeworICAgICAgICB2YXJ5NG5hcHBlbmQoZHN0LCBzcmMsIHN0cmxlbihzcmMpKTsKK30KKworCitzdGF0aWMgdm9pZAordmFyeTRhcmcodmFyeTQgKiBkc3QsIGNvbnN0IGNoYXIgKiBhcmcpCisKK3sKKyAgICAgICAgdmFyeTRuYXBwZW5kKGRzdCwgIiAiLCAxKTsKKyAgICAgICAgdmFyeTRhcHBlbmQoZHN0LCBhcmcpOworfQorCisKK3N0YXRpYyB2b2lkCit2YXJ5NHZhcmcodmFyeTQgKiBkc3QsIHZhcnkyICogYXJnKQorCit7CisgICAgICAgIHZhcnk0bmFwcGVuZChkc3QsICIgIiwgMSk7CisgICAgICAgIHZhcnk0bmFwcGVuZChkc3QsIGFyZy0+c3RyaW5nLCBhcmctPmxlbik7Cit9CisKKworc3RhdGljIHZvaWQKK3Zhcnk0dmVzY2FwZSh2YXJ5NCAqIGRzdCwgdmFyeTIgKiBhcmcpCisKK3sKKyAgICAgICAgaW50IGk7CisKKyAgICAgICAgZm9yIChpID0gMDsgaSA8IGFyZy0+bGVuOyBpKyspCisgICAgICAgICAgICAgICAgaWYgKGFyZy0+c3RyaW5nW2ldID09ICdcJycpCisgICAgICAgICAgICAgICAgICAgICAgICB2YXJ5NG5hcHBlbmQoZHN0LCAiJ1wiJ1wiJyIsIDUpOworICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgICAgIHZhcnk0bmFwcGVuZChkc3QsIGFyZy0+c3RyaW5nICsgaSwgMSk7Cit9CisKKworc3RhdGljIHZvaWQKK3Zhcnk0dmFyZ3F1b3RlKHZhcnk0ICogZHN0LCB2YXJ5MiAqIGFyZykKKworeworICAgICAgICB2YXJ5NG5hcHBlbmQoZHN0LCAiICciLCAyKTsKKyAgICAgICAgdmFyeTR2ZXNjYXBlKGRzdCwgYXJnKTsKKyAgICAgICAgdmFyeTRuYXBwZW5kKGRzdCwgIiciLCAxKTsKK30KKworCitpbnQKK21haW4oaW50IGFyZ3NjLCBhcmd1bWVudHMgKiBhcmdzKQorCit7CisgICAgICAgIHZhcnk0IGNtZDsKKyAgICAgICAgaW50IGk7CisgICAgICAgIGNoYXIgYzsKKyAgICAgICAgYWRkZWxlbWVudCAqIGFlbHA7CisgICAgICAgIHNnbWxhZGRlbGVtZW50ICogc2FlbHA7CisKKyAgICAgICAgLyogU3BlY2lmeSBhZGRpdGlvbmFsIGNhdGFsb2dzLiAqLworICAgICAgICBjbWQubGVuID0gMDsKKyAgICAgICAgaWYgKGFyZ3MtPmNhdGFsb2ctPmxlbikgeworICAgICAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBhcmdzLT5jYXRhbG9nLT5sZW4gJiYKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAhYXJncy0+Y2F0YWxvZy0+aXRlbVtpXS5wYXJhbS5sZW47IGkrKykKKyAgICAgICAgICAgICAgICAgICAgICAgIDsKKworICAgICAgICAgICAgICAgIHZhcnk0YXBwZW5kKCZjbWQsICJYTUxfQ0FUQUxPR19GSUxFUz0iKTsKKyAgICAgICAgICAgICAgICBpZiAoaSA8IGFyZ3MtPmNhdGFsb2ctPmxlbikgeworICAgICAgICAgICAgICAgICAgICAgICAgYyA9ICdcJyc7CisgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgYXJncy0+Y2F0YWxvZy0+bGVuOyBpKyspIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFhcmdzLT5jYXRhbG9nLT5pdGVtW2ldLnBhcmFtLmxlbikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyeTRuYXBwZW5kKCZjbWQsICZjLCAxKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYyA9ICcgJzsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyeTR2ZXNjYXBlKCZjbWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZhcmdzLT5jYXRhbG9nLT5pdGVtW2ldLnBhcmFtKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAgICAgdmFyeTRuYXBwZW5kKCZjbWQsICInIiwgMSk7CisgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgdmFyeTRuYXBwZW5kKCZjbWQsICIgIiwgMSk7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgIC8qIGZpbmQgbGVuZ3RoIG9mIGxpYnJhcnkgbmFtZS4gKi8KKyAgICAgICAgZm9yIChpID0gMDsgaSA8IDEwICYmIGFyZ3MtPnBnbVtpXSAmJiBhcmdzLT5wZ21baV0gIT0gJy8nOyBpKyspCisgICAgICAgICAgICAgICAgOworCisgICAgICAgIC8qIFN0b3JlIHByb2dyYW0gbmFtZSBpbiBjb21tYW5kIGJ1ZmZlci4gKi8KKyAgICAgICAgdmFyeTRhcHBlbmQoJmNtZCwgIi9RU1lTLkxJQi8iKTsKKyAgICAgICAgdmFyeTRuYXBwZW5kKCZjbWQsIGFyZ3MtPnBnbSwgaSk7CisgICAgICAgIHZhcnk0YXBwZW5kKCZjbWQsICIuTElCL1hNTENBVEFMT0cuUEdNIik7CisKKyAgICAgICAgLyogTWFwIGNvbW1hbmQgYXJndW1lbnRzIHRvIHN0YW5kYXJkIHhtbGNhdGFsb2cgYXJndW1lbnQgdmVjdG9yLiAqLworICAgICAgICBpZiAoYXJncy0+a2luZCAmJiBhcmdzLT5raW5kLT5sZW4pCisgICAgICAgICAgICAgICAgdmFyeTR2YXJnKCZjbWQsIGFyZ3MtPmtpbmQpOworCisgICAgICAgIGlmIChhcmdzLT52ZXJib3NlICYmIGFyZ3MtPnZlcmJvc2UtPmxlbikKKyAgICAgICAgICAgICAgICB2YXJ5NHZhcmcoJmNtZCwgYXJncy0+dmVyYm9zZSk7CisKKyAgICAgICAgaWYgKGFyZ3MtPmRlbGV0ZSkKKyAgICAgICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgYXJncy0+ZGVsZXRlLT5sZW47IGkrKykgeworICAgICAgICAgICAgICAgICAgICAgICAgdmFyeTRhcmcoJmNtZCwgIi0tZGVsIik7CisgICAgICAgICAgICAgICAgICAgICAgICB2YXJ5NHZhcmdxdW90ZSgmY21kLCAmYXJncy0+ZGVsZXRlLT5pdGVtW2ldLnBhcmFtKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKworICAgICAgICBpZiAoYXJncy0+a2luZCAmJiBhcmdzLT5raW5kLT5sZW4pIHsKKyAgICAgICAgICAgICAgICAvKiBQcm9jZXNzIFNHTUwtc3BlY2lmaWMgcGFyYW1ldGVycy4gKi8KKyAgICAgICAgICAgICAgICBpZiAoYXJncy0+c3VwZXJ1cGQgJiYgYXJncy0+c3VwZXJ1cGQtPmxlbikKKyAgICAgICAgICAgICAgICAgICAgICAgIHZhcnk0dmFyZygmY21kLCBhcmdzLT5zdXBlcnVwZCk7CisKKyAgICAgICAgICAgICAgICBpZiAoYXJncy0+c2dtbGFkZCkKKyAgICAgICAgICAgICAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBhcmdzLT5zZ21sYWRkLT5sZW47IGkrKykgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzYWVscCA9IE9GRlNFVEJZKHNnbWxhZGRlbGVtZW50LCBhcmdzLT5zZ21sYWRkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJncy0+c2dtbGFkZC0+aXRlbVtpXS5wYXJhbSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghKCh2YXJ5MiAqKSAmc2FlbHAtPmNhdGFsb2cpLT5sZW4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcnk0YXJnKCZjbWQsICItLWFkZCIpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXJ5NHZhcmdxdW90ZSgmY21kLCAodmFyeTIgKikgJnNhZWxwLT5jYXRhbG9nKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyeTR2YXJncXVvdGUoJmNtZCwgKHZhcnkyICopICZzYWVscC0+aWRlbnQpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfQorICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgICAgICAvKiBQcm9jZXNzIFhNTC1zcGVjaWZpYyBwYXJhbWV0ZXJzLiAqLworICAgICAgICAgICAgICAgIGlmIChhcmdzLT5jb252ZXJ0ICYmIGFyZ3MtPmNvbnZlcnQtPmxlbikKKyAgICAgICAgICAgICAgICAgICAgICAgIHZhcnk0dmFyZygmY21kLCBhcmdzLT5jb252ZXJ0KTsKKworICAgICAgICAgICAgICAgIGlmIChhcmdzLT5hZGQpCisgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgYXJncy0+YWRkLT5sZW47IGkrKykgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZWxwID0gT0ZGU0VUQlkoYWRkZWxlbWVudCwgYXJncy0+YWRkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJncy0+YWRkLT5pdGVtW2ldLnBhcmFtKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCEoKHZhcnkyICopICZhZWxwLT5vcmlnaW4pLT5sZW4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcnk0YXJnKCZjbWQsICItLWFkZCIpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXJ5NHZhcmcoJmNtZCwgKHZhcnkyICopICZhZWxwLT50eXBlKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyeTR2YXJncXVvdGUoJmNtZCwgKHZhcnkyICopICZhZWxwLT5vcmlnaW4pOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXJ5NHZhcmdxdW90ZSgmY21kLCAodmFyeTIgKikgJmFlbHAtPnJlcGxhY2UpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgIC8qIEF2b2lkIElOU1RNRigqTkVXKSBhbmQgT1VUU01URigqSU5TVE1GKS4gKi8KKyAgICAgICAgaWYgKGFyZ3MtPm91dHN0bWYgJiYgYXJncy0+b3V0c3RtZi0+bGVuICYmICFhcmdzLT5vdXRzdG1mLT5zdHJpbmdbMF0pCisgICAgICAgICAgICAgICAgaWYgKGFyZ3MtPmluc3RtZiAmJiBhcmdzLT5pbnN0bWYtPmxlbikKKyAgICAgICAgICAgICAgICAgICAgICAgIGFyZ3MtPm91dHN0bWYgPSBhcmdzLT5pbnN0bWY7CisgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICAgICAgYXJncy0+b3V0c3RtZiA9IE5VTEw7CisKKyAgICAgICAgLyogSWYgSU5TVE1GKCpORVcpIGFuZCBPVVRTVE1GKHNvbWVwYXRoKSwgVXNlIC0tY3JlYXRlIC0tbm9vdXQgYW5kCisgICAgICAgICAgIHNvbWVwYXRoIGFzICh1bmV4aXN0aW5nKSBpbnB1dCBmaWxlLiAqLworICAgICAgICBpZiAoYXJncy0+b3V0c3RtZiAmJiBhcmdzLT5vdXRzdG1mLT5sZW4pCisgICAgICAgICAgICAgICAgaWYgKCFhcmdzLT5pbnN0bWYgfHwgIWFyZ3MtPmluc3RtZi0+bGVuKSB7CisgICAgICAgICAgICAgICAgICAgICAgICB2YXJ5NGFyZygmY21kLCAiLS1jcmVhdGUiKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHZhcnk0YXJnKCZjbWQsICItLW5vb3V0Iik7CisgICAgICAgICAgICAgICAgICAgICAgICBhcmdzLT5pbnN0bWYgPSBhcmdzLT5vdXRzdG1mOworICAgICAgICAgICAgICAgICAgICAgICAgYXJncy0+b3V0c3RtZiA9IE5VTEw7CisgICAgICAgICAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgLyogSWYgb3V0cHV0IHRvIGlucHV0IGZpbGUsIHVzZSAtLW5vb3V0IG9wdGlvbi4gKi8KKyAgICAgICAgaWYgKGFyZ3MtPmluc3RtZiAmJiBhcmdzLT5vdXRzdG1mICYmIGFyZ3MtPmluc3RtZi0+bGVuICYmCisgICAgICAgICAgICBhcmdzLT5pbnN0bWYtPmxlbiA9PSBhcmdzLT5vdXRzdG1mLT5sZW4gJiYKKyAgICAgICAgICAgICFzdHJuY21wKGFyZ3MtPmluc3RtZi0+c3RyaW5nLCBhcmdzLT5vdXRzdG1mLT5zdHJpbmcsCisgICAgICAgICAgICAgICAgICAgICBhcmdzLT5pbnN0bWYtPmxlbikpIHsKKyAgICAgICAgICAgICAgICB2YXJ5NGFyZygmY21kLCAiLS1ub291dCIpOworICAgICAgICAgICAgICAgIGFyZ3MtPm91dHN0bWYgPSBOVUxMOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAvKiBJZiBubyBpbnB1dCBmaWxlIGNyZWF0ZSBjYXRhbG9nLCBlbHNlIHNwZWNpZnkgdGhlIGlucHV0IGZpbGUgbmFtZS4gKi8KKyAgICAgICAgLyogU3BlY2lmeSB0aGUgaW5wdXQgZmlsZSBuYW1lOiBteSBiZSBhIGR1bW15IG9uZS4gKi8KKyAgICAgICAgaWYgKCFhcmdzLT5pbnN0bWYgfHwgIWFyZ3MtPmluc3RtZi0+bGVuKSB7CisgICAgICAgICAgICAgICAgdmFyeTRhcmcoJmNtZCwgIi0tY3JlYXRlIC0iKTsKKyAgICAgICAgICAgICAgICB2YXJ5NGFyZygmY21kLCAiLmRteXhtbGNhdGFsb2ciKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgICAgIHZhcnk0YXJnKCZjbWQsICItIik7CisgICAgICAgICAgICAgICAgdmFyeTR2YXJncXVvdGUoJmNtZCwgYXJncy0+aW5zdG1mKTsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgLyogUXVlcnkgZW50aXRpZXMuICovCisKKyAgICAgICAgaWYgKGFyZ3MtPnJlc29sdmUpCisgICAgICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IGFyZ3MtPnJlc29sdmUtPmxlbjsgaSsrKQorICAgICAgICAgICAgICAgICAgICAgICAgdmFyeTR2YXJncXVvdGUoJmNtZCwgJmFyZ3MtPnJlc29sdmUtPml0ZW1baV0ucGFyYW0pOworCisgICAgICAgIC8qIFJlZGlyZWN0IG91dHB1dCBpZiByZXF1ZXN0ZWQuICovCisgICAgICAgIGlmIChhcmdzLT5vdXRzdG1mICYmIGFyZ3MtPm91dHN0bWYtPmxlbikgeworICAgICAgICAgICAgICAgIHZhcnk0YXJnKCZjbWQsICI+Iik7CisgICAgICAgICAgICAgICAgdmFyeTR2YXJncXVvdGUoJmNtZCwgYXJncy0+b3V0c3RtZik7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgIC8qIEV4ZWN1dGUgdGhlIHNoZWxsIGNvbW1hbmQuICovCisgICAgICAgIHFzaGVsbCgmY21kKTsKKworICAgICAgICAvKiBUZXJtaW5hdGUuICovCisgICAgICAgIGV4aXQoMCk7Cit9CmRpZmYgLS1naXQgYS9vczQwMC94bWxsaW50LmNtZCBiL29zNDAwL3htbGxpbnQuY21kCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE1ODI4MzcKLS0tIC9kZXYvbnVsbAorKysgYi9vczQwMC94bWxsaW50LmNtZApAQCAtMCwwICsxLDE0NiBAQAorLyogICAgICBYTUxMSU5UIENMIGNvbW1hbmQuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKy8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisvKiAgICAgIFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4gICAgICAgICAgICAgICAgICAgICAgICAqLworLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKy8qICAgICAgQXV0aG9yOiBQYXRyaWNrIE1vbm5lcmF0IDxwbUBkYXRhc3BoZXJlLmNoPiwgREFUQVNQSEVSRSBTLkEuICAgICAgICAgICovCisKKy8qICAgICAgSW50ZXJmYWNlIHRvIHByb2dyYW0gWE1MTElOVENMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisKKyAgICAgICAgICAgICBDTUQgICAgICAgIFBST01QVCgnWE1MIHRvb2wnKQorCisgICAgICAgICAgICAgLyogWE1MIGlucHV0IGZpbGUgbG9jYXRpb24uICovCisKKyAgICAgICAgICAgICBQQVJNICAgICAgIEtXRChTVE1GKSBUWVBFKCpQTkFNRSkgTEVOKDUwMDApIFZBUlkoKllFUyAqSU5UMikgICAgICArCisgICAgICAgICAgICAgICAgICAgICAgICAgIENBU0UoKk1JWEVEKSBFWFBSKCpZRVMpIE1JTigxKSAgICAgICAgICAgICAgICAgICAgICAgKworICAgICAgICAgICAgICAgICAgICAgICAgICBDSE9JQ0UoJ1N0cmVhbSBmaWxlIHBhdGgnKSAgICAgICAgICAgICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgUFJPTVBUKCdYTUwgU3RyZWFtIGZpbGUnKQorCisgICAgICAgICAgICAgLyogRFREIGxvY2F0aW9uLiAqLworCisgICAgICAgICAgICAgUEFSTSAgICAgICBLV0QoRFREKSBUWVBFKCpQTkFNRSkgTEVOKDUwMDApIFZBUlkoKllFUyAqSU5UMikgICAgICAgKworICAgICAgICAgICAgICAgICAgICAgICAgICBDQVNFKCpNSVhFRCkgRVhQUigqWUVTKSBQQVNTVkFMKCpOVUxMKSAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgQ0hPSUNFKCdJRCwgVVJMIG9yIHN0cmVhbSBmaWxlIHBhdGgnKSAgICAgICAgICAgICAgICArCisgICAgICAgICAgICAgICAgICAgICAgICAgIFBST01QVCgnRFREIGlkLCBVUkwgb3IgZmlsZSBwYXRoJykKKworICAgICAgICAgICAgIFBBUk0gICAgICAgS1dEKERURExPQ0FUT1IpIFRZUEUoKkNIQVIpIExFTig4KSBERlQoKkRURFVSTCkgICAgICAgICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgU1BDVkFMKCpEVERVUkwgKkRUREZQSSkgRVhQUigqWUVTKSBSU1REKCpZRVMpICAgICAgICArCisgICAgICAgICAgICAgICAgICAgICAgICAgIFBST01QVCgnRFREIGxvY2F0b3IgaXMgVVJML0ZQSScpCisKKyAgICAgICAgICAgICAvKiBTY2hlbWEgbG9jYXRpb24uICovCisKKyAgICAgICAgICAgICBQQVJNICAgICAgIEtXRChTQ0hFTUEpIFRZUEUoKlBOQU1FKSBMRU4oNTAwMCkgVkFSWSgqWUVTICpJTlQyKSAgICArCisgICAgICAgICAgICAgICAgICAgICAgICAgIENBU0UoKk1JWEVEKSBFWFBSKCpZRVMpIFBBU1NWQUwoKk5VTEwpICAgICAgICAgICAgICAgKworICAgICAgICAgICAgICAgICAgICAgICAgICBDSE9JQ0UoJ1VSTCBvciBzdHJlYW0gZmlsZSBwYXRoJykgICAgICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgUFJPTVBUKCdTY2hlbWEgVVJMIG9yIHN0cmVhbSBmaWxlIHBhdGgnKQorCisgICAgICAgICAgICAgUEFSTSAgICAgICBLV0QoU0NIRU1BS0lORCkgVFlQRSgqQ0hBUikgTEVOKDEyKSBWQVJZKCpZRVMgKklOVDIpICAgKworICAgICAgICAgICAgICAgICAgICAgICAgICBSU1REKCpZRVMpIERGVCgqWFNEKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgUFJPTVBUKCdWYWxpZGF0aW5nIHNjaGVtYSBraW5kJykgICAgICAgICAgICAgICAgICAgICArCisgICAgICAgICAgICAgICAgICAgICAgICAgIENIT0lDRSgnS2V5d29yZCcpIFNQQ1ZBTCggICAgICAgICAgICAgICAgICAgICAgICAgICAgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICgqWFNEICAgICAgICAgICAgICAgJy0tc2NoZW1hJykgICAgICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKlJFTEFYTkcgICAgICAgICAgICctLXJlbGF4bmcnKSAgICAgICAgICAgICAgICAgICArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCpTQ0hFTUFUUk9OICAgICAgICAnLS1zY2hlbWF0cm9uJykgICAgICAgICAgICAgICAgKworICAgICAgICAgICAgICAgICAgICAgICAgICApCisKKyAgICAgICAgICAgICAvKiBPdXRwdXQgbG9jYXRpb24uICovCisKKyAgICAgICAgICAgICBQQVJNICAgICAgIEtXRChPVVRTVE1GKSBUWVBFKCpQTkFNRSkgTEVOKDUwMDApIFZBUlkoKllFUyAqSU5UMikgICArCisgICAgICAgICAgICAgICAgICAgICAgICAgIENBU0UoKk1JWEVEKSBFWFBSKCpZRVMpIFBBU1NWQUwoKk5VTEwpICAgICAgICAgICAgICAgKworICAgICAgICAgICAgICAgICAgICAgICAgICBDSE9JQ0UoJ1N0cmVhbSBmaWxlIHBhdGgnKSAgICAgICAgICAgICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgUFJPTVBUKCdPdXRwdXQgc3RyZWFtIGZpbGUgcGF0aCcpCisKKyAgICAgICAgICAgICAvKiBPdGhlciBwYXJhbWV0ZXJzIHdpdGggYXJndW1lbnRzLiAqLworCisgICAgICAgICAgICAgUEFSTSAgICAgICBLV0QoWFBBVEgpIFRZUEUoKkNIQVIpIExFTig1MDAwKSBWQVJZKCpZRVMgKklOVDIpICAgICAgKworICAgICAgICAgICAgICAgICAgICAgICAgICBDQVNFKCpNSVhFRCkgRVhQUigqWUVTKSBQQVNTVkFMKCpOVUxMKSAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgQ0hPSUNFKCdYUGF0aCBleHByZXNzaW9uJykgICAgICAgICAgICAgICAgICAgICAgICAgICArCisgICAgICAgICAgICAgICAgICAgICAgICAgIFBST01QVCgnWFBhdGggZmlsdGVyJykKKworICAgICAgICAgICAgIFBBUk0gICAgICAgS1dEKFBBVFRFUk4pIFRZUEUoKkNIQVIpIExFTig1MDAwKSBWQVJZKCpZRVMgKklOVDIpICAgICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgQ0FTRSgqTUlYRUQpIEVYUFIoKllFUykgUEFTU1ZBTCgqTlVMTCkgICAgICAgICAgICAgICArCisgICAgICAgICAgICAgICAgICAgICAgICAgIENIT0lDRSgnUmVhZGVyIHBhdHRlcm4nKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKworICAgICAgICAgICAgICAgICAgICAgICAgICBQUk9NUFQoJ1JlYWRlciBub2RlIGZpbHRlcicpCisKKyAgICAgICAgICAgICAvKiBQYXRocyBmb3IgcmVzb3VyY2VzLiAqLworCisgICAgICAgICAgICAgUEFSTSAgICAgICBLV0QoUEFUSCkgVFlQRSgqUE5BTUUpIExFTig1MDAwKSBWQVJZKCpZRVMgKklOVDIpICAgICAgKworICAgICAgICAgICAgICAgICAgICAgICAgICBDQVNFKCpNSVhFRCkgRVhQUigqWUVTKSBNQVgoNjQpICAgICAgICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgQ0hPSUNFKCdJRlMgZGlyZWN0b3J5IHBhdGgnKSAgICAgICAgICAgICAgICAgICAgICAgICArCisgICAgICAgICAgICAgICAgICAgICAgICAgIFBST01QVCgnUGF0aCBmb3IgcmVzb3VyY2VzJykKKworICAgICAgICAgICAgIFBBUk0gICAgICAgS1dEKFBSRVRUWSkgVFlQRSgqQ0hBUikgTEVOKDExKSBWQVJZKCpZRVMgKklOVDIpICAgICAgICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgUlNURCgqWUVTKSBERlQoKk5PTkUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICArCisgICAgICAgICAgICAgICAgICAgICAgICAgIFBST01QVCgnUHJldHR5LXByaW50IHN0eWxlJykgICAgICAgICAgICAgICAgICAgICAgICAgKworICAgICAgICAgICAgICAgICAgICAgICAgICBDSE9JQ0UoJ0tleXdvcmQnKSBTUENWQUwoICAgICAgICAgICAgICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKk5PTkUgICAgICAgICAgICAgICcwJykgICAgICAgICAgICAgICAgICAgICAgICAgICArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCpGT1JNQVQgICAgICAgICAgICAnMScpICAgICAgICAgICAgICAgICAgICAgICAgICAgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICgqV0hJVEVTUEFDRSAgICAgICAgJzInKSAgICAgICAgICAgICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgKQorCisgICAgICAgICAgICAgUEFSTSAgICAgICBLV0QoTUFYTUVNKSBUWVBFKCpVSU5UNCkgRVhQUigqWUVTKSBERlQoMCkgICAgICAgICAgICAgKworICAgICAgICAgICAgICAgICAgICAgICAgICBDSE9JQ0UoJ051bWJlciBvZiBieXRlcycpICAgICAgICAgICAgICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgUFJPTVBUKCdNYXhpbXVtIGR5bmFtaWMgbWVtb3J5JykKKworICAgICAgICAgICAgIFBBUk0gICAgICAgS1dEKEVOQ09ESU5HKSBUWVBFKCpDSEFSKSBMRU4oMzIpIFZBUlkoKllFUyAqSU5UMikgICAgICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgQ0FTRSgqTUlYRUQpIEVYUFIoKllFUykgUEFTU1ZBTCgqTlVMTCkgICAgICAgICAgICAgICArCisgICAgICAgICAgICAgICAgICAgICAgICAgIFBNVENUTChFTkNPRElORykgQ0hPSUNFKCdFbmNvZGluZyBuYW1lJykgICAgICAgICAgICAgKworICAgICAgICAgICAgICAgICAgICAgICAgICBQUk9NUFQoJ091dHB1dCBjaGFyYWN0ZXIgZW5jb2RpbmcnKQorRU5DT0RJTkc6ICAgIFBNVENUTCAgICAgQ1RMKE9VVFNUTUYpIENPTkQoKlNQQ0ZEKQorCisgICAgICAgICAgICAgLyogQm9vbGVhbiBvcHRpb25zLiAqLworICAgICAgICAgICAgIC8qIC0tc2hlbGwgaXMgbm90IHN1cHBvcnRlZCBmcm9tIGNvbW1hbmQgbW9kZS4gKi8KKworICAgICAgICAgICAgIFBBUk0gICAgICAgS1dEKE9QVElPTlMpIFRZUEUoKkNIQVIpIExFTigyMCkgVkFSWSgqWUVTICpJTlQyKSAgICAgICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgTUFYKDUwKSBSU1REKCpZRVMpIFBST01QVCgnT3B0aW9ucycpICAgICAgICAgICAgICAgICArCisgICAgICAgICAgICAgICAgICAgICAgICAgIENIT0lDRSgnS2V5d29yZCcpIFNQQ1ZBTCggICAgICAgICAgICAgICAgICAgICAgICAgICAgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICgqVkVSU0lPTiAgICAgICAgICctLXZlcnNpb24nKSAgICAgICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKkRFQlVHICAgICAgICAgICAnLS1kZWJ1ZycpICAgICAgICAgICAgICAgICAgICAgICArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCpERUJVR0VOVCAgICAgICAgJy0tZGVidWdlbnQnKSAgICAgICAgICAgICAgICAgICAgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICgqQ09QWSAgICAgICAgICAgICctLWNvcHknKSAgICAgICAgICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKlJFQ09WRVIgICAgICAgICAnLS1yZWNvdmVyJykgICAgICAgICAgICAgICAgICAgICArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCpIVUdFICAgICAgICAgICAgJy0taHVnZScpICAgICAgICAgICAgICAgICAgICAgICAgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICgqTk9FTlQgICAgICAgICAgICctLW5vZW50JykgICAgICAgICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKk5PRU5DICAgICAgICAgICAnLS1ub2VuYycpICAgICAgICAgICAgICAgICAgICAgICArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCpOT09VVCAgICAgICAgICAgJy0tbm9vdXQnKSAgICAgICAgICAgICAgICAgICAgICAgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICgqTE9BRFRSQUNFICAgICAgICctLWxvYWQtdHJhY2UnKSAgICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKk5PTkVUICAgICAgICAgICAnLS1ub25ldCcpICAgICAgICAgICAgICAgICAgICAgICArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCpOT0NPTVBBQ1QgICAgICAgJy0tbm9jb21wYWN0JykgICAgICAgICAgICAgICAgICAgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICgqSFRNTE9VVCAgICAgICAgICctLWh0bWxvdXQnKSAgICAgICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKk5PV1JBUCAgICAgICAgICAnLS1ub3dyYXAnKSAgICAgICAgICAgICAgICAgICAgICArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCpWQUxJRCAgICAgICAgICAgJy0tdmFsaWQnKSAgICAgICAgICAgICAgICAgICAgICAgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICgqUE9TVFZBTElEICAgICAgICctLXBvc3R2YWxpZCcpICAgICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKlRJTUlORyAgICAgICAgICAnLS10aW1pbmcnKSAgICAgICAgICAgICAgICAgICAgICArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCpSRVBFQVQgICAgICAgICAgJy0tcmVwZWF0JykgICAgICAgICAgICAgICAgICAgICAgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICgqSU5TRVJUICAgICAgICAgICctLWluc2VydCcpICAgICAgICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKkNPTVBSRVNTICAgICAgICAnLS1jb21wcmVzcycpICAgICAgICAgICAgICAgICAgICArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCpIVE1MICAgICAgICAgICAgJy0taHRtbCcpICAgICAgICAgICAgICAgICAgICAgICAgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICgqWE1MT1VUICAgICAgICAgICctLXhtbG91dCcpICAgICAgICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKk5PREVGRFREICAgICAgICAnLS1ub2RlZmR0ZCcpICAgICAgICAgICAgICAgICAgICArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCpQVVNIICAgICAgICAgICAgJy0tcHVzaCcpICAgICAgICAgICAgICAgICAgICAgICAgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICgqUFVTSFNNQUxMICAgICAgICctLXB1c2hzbWFsbCcpICAgICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKk1FTU9SWSAgICAgICAgICAnLS1tZW1vcnknKSAgICAgICAgICAgICAgICAgICAgICArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCpOT1dBUk5JTkcgICAgICAgJy0tbm93YXJuaW5nJykgICAgICAgICAgICAgICAgICAgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICgqTk9CTEFOS1MgICAgICAgICctLW5vYmxhbmtzJykgICAgICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKk5PQ0RBVEEgICAgICAgICAnLS1ub2NkYXRhJykgICAgICAgICAgICAgICAgICAgICArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCpGT1JNQVQgICAgICAgICAgJy0tZm9ybWF0JykgICAgICAgICAgICAgICAgICAgICAgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICgqRFJPUERURCAgICAgICAgICctLWRyb3BkdGQnKSAgICAgICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKk5TQ0xFQU4gICAgICAgICAnLS1uc2NsZWFuJykgICAgICAgICAgICAgICAgICAgICArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCpURVNUSU8gICAgICAgICAgJy0tdGVzdElPJykgICAgICAgICAgICAgICAgICAgICAgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICgqQ0FUQUxPR1MgICAgICAgICctLWNhdGFsb2dzJykgICAgICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKk5PQ0FUQUxPR1MgICAgICAnLS1ub2NhdGFsb2dzJykgICAgICAgICAgICAgICAgICArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCpBVVRPICAgICAgICAgICAgJy0tYXV0bycpICAgICAgICAgICAgICAgICAgICAgICAgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICgqWElOQ0xVREUgICAgICAgICctLXhpbmNsdWRlJykgICAgICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKk5PWElOQ0xVREVOT0RFICAnLS1ub3hpbmNsdWRlbm9kZScpICAgICAgICAgICAgICArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCpOT0ZJWFVQQkFTRVVSSVMgJy0tbm9maXh1cC1iYXNlLXVyaXMnKSAgICAgICAgICAgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICgqTE9BRERURCAgICAgICAgICctLWxvYWRkdGQnKSAgICAgICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKkRUREFUVFIgICAgICAgICAnLS1kdGRhdHRyJykgICAgICAgICAgICAgICAgICAgICArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCpTVFJFQU0gICAgICAgICAgJy0tc3RyZWFtJykgICAgICAgICAgICAgICAgICAgICAgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICgqV0FMS0VSICAgICAgICAgICctLXdhbGtlcicpICAgICAgICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKkNIS1JFR0lTVEVSICAgICAnLS1jaGtyZWdpc3RlcicpICAgICAgICAgICAgICAgICArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCpDMTROICAgICAgICAgICAgJy0tYzE0bicpICAgICAgICAgICAgICAgICAgICAgICAgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICgqQzE0TjExICAgICAgICAgICctLWMxNG4xMScpICAgICAgICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKkVYQ0MxNE4gICAgICAgICAnLS1leGMtYzE0bicpICAgICAgICAgICAgICAgICAgICArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCpTQVgxICAgICAgICAgICAgJy0tc2F4MScpICAgICAgICAgICAgICAgICAgICAgICAgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICgqU0FYICAgICAgICAgICAgICctLXNheCcpICAgICAgICAgICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKk9MRFhNTDEwICAgICAgICAnLS1vbGR4bWwxMCcpICAgICAgICAgICAgICAgICAgICArCisgICAgICAgICAgICAgICAgICAgICAgICAgICkKZGlmZiAtLWdpdCBhL29zNDAwL3htbGxpbnRjbC5jIGIvb3M0MDAveG1sbGludGNsLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTIyNjM4NQotLS0gL2Rldi9udWxsCisrKyBiL29zNDAwL3htbGxpbnRjbC5jCkBAIC0wLDAgKzEsMjE2IEBACisvKioKKyoqKiAgICAgWE1MTElOVCBjb21tYW5kIHJlc3BvbnNlIHByb2dyYW0uCisqKioKKyoqKiAgICAgU2VlIENvcHlyaWdodCBmb3IgdGhlIHN0YXR1cyBvZiB0aGlzIHNvZnR3YXJlLgorKioqCisqKiogICAgIEF1dGhvcjogUGF0cmljayBNb25uZXJhdCA8cG1AZGF0YXNwaGVyZS5jaD4sIERBVEFTUEhFUkUgUy5BLgorKiovCisKKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHFzaGVsbC5oPgorCisKKy8qIFZhcmlhYmxlLWxlbmd0aCBzdHJpbmcsIHdpdGggMTYtYml0IGxlbmd0aC4gKi8KK3R5cGVkZWYgc3RydWN0IHsKKyAgICAgICAgc2hvcnQgICAgICAgICAgIGxlbjsKKyAgICAgICAgY2hhciAgICAgICAgICAgIHN0cmluZ1s1MDAwXTsKK30gICAgICAgICAgICAgICB2YXJ5MjsKKworCisvKiBWYXJpYWJsZS1sZW5ndGggc3RyaW5nLCB3aXRoIDMyLWJpdCBsZW5ndGguICovCit0eXBlZGVmIHN0cnVjdCB7CisgICAgICAgIGludCAgICAgICAgICAgICBsZW47CisgICAgICAgIGNoYXIgICAgICAgICAgICBzdHJpbmdbNTAwMF07Cit9ICAgICAgICAgICAgICAgdmFyeTQ7CisKKworLyogTXVsdGlwbGUgb2NjdXJyZW5jZSBwYXJhbWV0ZXIgbGlzdC4gKi8KKyNkZWZpbmUgcGFyYW1saXN0KGl0ZW1zaXplLCBpdGVtdHlwZSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgX1BhY2tlZCBzdHJ1Y3QgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICBzaG9ydCAgICAgICAgICAgbGVuOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICB1bmlvbiB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICBjaGFyICAgICAgICAgICBfcGFkW2l0ZW1zaXplXTsgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW10eXBlICAgICAgICBwYXJhbTsgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICB9ICAgICAgICAgICAgICAgaXRlbVsxXTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgfQorCisKKy8qIEFyZ3VtZW50cyBmcm9tIENMIGNvbW1hbmQuICovCit0eXBlZGVmIHN0cnVjdCB7CisgICAgICAgIGNoYXIgKiAgICAgICAgICBwZ207ICAgICAgICAgICAgLyogUHJvZ3JhbSBuYW1lLiAqLworICAgICAgICB2YXJ5MiAqICAgICAgICAgc3RtZjsgICAgICAgICAgIC8qIFhNTCBmaWxlIG5hbWUgb3IgVVJMLiAqLworICAgICAgICB2YXJ5MiAqICAgICAgICAgZHRkOyAgICAgICAgICAgIC8qIERURCBsb2NhdGlvbiBvciBwdWJsaWMgaWRlbnRpZmllci4gKi8KKyAgICAgICAgY2hhciAqICAgICAgICAgIGR0ZHZhbGlkOyAgICAgICAvKiAqRFREVVJMIG9yICpEVERGUEkuICovCisgICAgICAgIHZhcnkyICogICAgICAgICBzY2hlbWE7ICAgICAgICAgLyogU2NoZW1hIGZpbGUgbmFtZSBvciBVUkwuICovCisgICAgICAgIHZhcnkyICogICAgICAgICBzY2hlbWFraW5kOyAgICAgLyogLS1zY2hlbWEvLS1yZWxheG5nLy0tc2NoZW1hdHJvbi4gKi8KKyAgICAgICAgdmFyeTIgKiAgICAgICAgIG91dHN0bWY7ICAgICAgICAvKiBPdXRwdXQgc3RyZWFtIGZpbGUgbmFtZS4gKi8KKyAgICAgICAgdmFyeTIgKiAgICAgICAgIHhwYXRoOyAgICAgICAgICAvKiBYUGF0aCBmaWx0ZXIuICovCisgICAgICAgIHZhcnkyICogICAgICAgICBwYXR0ZXJuOyAgICAgICAgLyogUmVhZGVyIGZpbHRlciBwYXR0ZXJuLiAqLworICAgICAgICBwYXJhbWxpc3QoNTAwMCArIDIsIHZhcnkyKSAqIHBhdGg7IC8qIFBhdGggZm9yIHJlc291cmNlcy4gKi8KKyAgICAgICAgdmFyeTIgKiAgICAgICAgIHByZXR0eTsgICAgICAgICAvKiBQcmV0dHktcHJpbnQgc3R5bGUuICovCisgICAgICAgIHVuc2lnbmVkIGxvbmcgKiBtYXhtZW07ICAgICAgICAgLyogTWF4aW11bSBkeW5hbWljIG1lbW9yeS4gKi8KKyAgICAgICAgdmFyeTIgKiAgICAgICAgIGVuY29kaW5nOyAgICAgICAvKiBPdXRwdXQgZW5jb2RpbmcuICovCisgICAgICAgIHBhcmFtbGlzdCgyMCArIDIsIHZhcnkyKSAqIG9wdGlvbnM7IC8qIE90aGVyIG9wdGlvbnMuICovCit9ICAgICAgICAgICAgICAgYXJndW1lbnRzOworCisKKy8qIERlZmluaXRpb24gb2YgUVNIRUxMIHByb2dyYW0uICovCitleHRlcm4gdm9pZCAgICAgcXNoZWxsKHZhcnk0ICogY21kKTsKKyNwcmFnbWEgbGlua2FnZShxc2hlbGwsIE9TKQorI3ByYWdtYSBtYXAocXNoZWxsLCAiUVNIRUxML1FaU0hRU0hDIikKKworCitzdGF0aWMgdm9pZAordmFyeTRuYXBwZW5kKHZhcnk0ICogZHN0LCBjb25zdCBjaGFyICogc3JjLCBzaXplX3QgbGVuKQorCit7CisgICAgICAgIGlmIChsZW4gPiBzaXplb2YoZHN0LT5zdHJpbmcpIC0gZHN0LT5sZW4pCisgICAgICAgICAgICAgICAgbGVuID0gc2l6ZW9mKGRzdC0+c3RyaW5nKSAtIGRzdC0+bGVuOworCisgICAgICAgIGlmIChsZW4pIHsKKyAgICAgICAgICAgICAgICBtZW1jcHkoZHN0LT5zdHJpbmcgKyBkc3QtPmxlbiwgc3JjLCBsZW4pOworICAgICAgICAgICAgICAgIGRzdC0+bGVuICs9IGxlbjsKKyAgICAgICAgICAgICAgICB9Cit9CisKKworc3RhdGljIHZvaWQKK3Zhcnk0YXBwZW5kKHZhcnk0ICogZHN0LCBjb25zdCBjaGFyICogc3JjKQorCit7CisgICAgICAgIHZhcnk0bmFwcGVuZChkc3QsIHNyYywgc3RybGVuKHNyYykpOworfQorCisKK3N0YXRpYyB2b2lkCit2YXJ5NGFyZyh2YXJ5NCAqIGRzdCwgY29uc3QgY2hhciAqIGFyZykKKworeworICAgICAgICB2YXJ5NG5hcHBlbmQoZHN0LCAiICIsIDEpOworICAgICAgICB2YXJ5NGFwcGVuZChkc3QsIGFyZyk7Cit9CisKKworc3RhdGljIHZvaWQKK3Zhcnk0dmFyZyh2YXJ5NCAqIGRzdCwgdmFyeTIgKiBhcmcpCisKK3sKKyAgICAgICAgdmFyeTRuYXBwZW5kKGRzdCwgIiAiLCAxKTsKKyAgICAgICAgdmFyeTRuYXBwZW5kKGRzdCwgYXJnLT5zdHJpbmcsIGFyZy0+bGVuKTsKK30KKworCitzdGF0aWMgdm9pZAordmFyeTR2ZXNjYXBlKHZhcnk0ICogZHN0LCB2YXJ5MiAqIGFyZykKKworeworICAgICAgICBpbnQgaTsKKworICAgICAgICBmb3IgKGkgPSAwOyBpIDwgYXJnLT5sZW47IGkrKykKKyAgICAgICAgICAgICAgICBpZiAoYXJnLT5zdHJpbmdbaV0gPT0gJ1wnJykKKyAgICAgICAgICAgICAgICAgICAgICAgIHZhcnk0bmFwcGVuZChkc3QsICInXCInXCInIiwgNSk7CisgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICAgICAgdmFyeTRuYXBwZW5kKGRzdCwgYXJnLT5zdHJpbmcgKyBpLCAxKTsKK30KKworCitzdGF0aWMgdm9pZAordmFyeTR2YXJncXVvdGUodmFyeTQgKiBkc3QsIHZhcnkyICogYXJnKQorCit7CisgICAgICAgIHZhcnk0bmFwcGVuZChkc3QsICIgJyIsIDIpOworICAgICAgICB2YXJ5NHZlc2NhcGUoZHN0LCBhcmcpOworICAgICAgICB2YXJ5NG5hcHBlbmQoZHN0LCAiJyIsIDEpOworfQorCisKK2ludAorbWFpbihpbnQgYXJnc2MsIGFyZ3VtZW50cyAqIGFyZ3MpCisKK3sKKyAgICAgICAgdmFyeTQgY21kOworICAgICAgICBpbnQgaTsKKyAgICAgICAgY2hhciB0ZXh0YnVmWzIwXTsKKyAgICAgICAgY2hhciAqIGxhbmc7CisKKyAgICAgICAgLyogZmluZCBsZW5ndGggb2YgbGlicmFyeSBuYW1lLiAqLworICAgICAgICBmb3IgKGkgPSAwOyBpIDwgMTAgJiYgYXJncy0+cGdtW2ldICYmIGFyZ3MtPnBnbVtpXSAhPSAnLyc7IGkrKykKKyAgICAgICAgICAgICAgICA7CisKKyAgICAgICAgLyogU3RvcmUgcHJvZ3JhbSBuYW1lIGluIGNvbW1hbmQgYnVmZmVyLiAqLworICAgICAgICBjbWQubGVuID0gMDsKKyAgICAgICAgdmFyeTRhcHBlbmQoJmNtZCwgIi9RU1lTLkxJQi8iKTsKKyAgICAgICAgdmFyeTRuYXBwZW5kKCZjbWQsIGFyZ3MtPnBnbSwgaSk7CisgICAgICAgIHZhcnk0YXBwZW5kKCZjbWQsICIuTElCL1hNTExJTlQuUEdNIik7CisKKyAgICAgICAgLyogTWFwIGNvbW1hbmQgYXJndW1lbnRzIHRvIHN0YW5kYXJkIHhtbGxpbnQgYXJndW1lbnQgdmVjdG9yLiAqLworCisgICAgICAgIGlmIChhcmdzLT5kdGQgJiYgYXJncy0+ZHRkLT5sZW4pIHsKKyAgICAgICAgICAgICAgICBpZiAoYXJncy0+ZHRkdmFsaWQgJiYgYXJncy0+ZHRkdmFsaWRbNF0gPT0gJ0YnKQorICAgICAgICAgICAgICAgICAgICAgICAgdmFyeTRhcmcoJmNtZCwgIi0tZHRkdmFsaWRmcGkiKTsKKyAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgICAgICB2YXJ5NGFyZygmY21kLCAiLS1kdGR2YWxpZCIpOworCisgICAgICAgICAgICAgICAgdmFyeTR2YXJncXVvdGUoJmNtZCwgYXJncy0+ZHRkKTsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgaWYgKGFyZ3MtPnNjaGVtYSAmJiBhcmdzLT5zY2hlbWEtPmxlbikgeworICAgICAgICAgICAgICAgIHZhcnk0dmFyZygmY21kLCBhcmdzLT5zY2hlbWFraW5kKTsKKyAgICAgICAgICAgICAgICB2YXJ5NHZhcmdxdW90ZSgmY21kLCBhcmdzLT5zY2hlbWEpOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICBpZiAoYXJncy0+b3V0c3RtZiAmJiBhcmdzLT5vdXRzdG1mLT5sZW4pIHsKKyAgICAgICAgICAgICAgICB2YXJ5NGFyZygmY21kLCAiLS1vdXRwdXQiKTsKKyAgICAgICAgICAgICAgICB2YXJ5NHZhcmdxdW90ZSgmY21kLCBhcmdzLT5vdXRzdG1mKTsKKworICAgICAgICAgICAgICAgIGlmIChhcmdzLT5lbmNvZGluZyAmJiBhcmdzLT5lbmNvZGluZy0+bGVuKSB7CisgICAgICAgICAgICAgICAgICAgICAgICB2YXJ5NGFyZygmY21kLCAiLS1lbmNvZGluZyIpOworICAgICAgICAgICAgICAgICAgICAgICAgdmFyeTR2YXJncXVvdGUoJmNtZCwgYXJncy0+ZW5jb2RpbmcpOworICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0KKworICAgICAgICBpZiAoYXJncy0+eHBhdGggJiYgYXJncy0+eHBhdGgtPmxlbikgeworICAgICAgICAgICAgICAgIHZhcnk0YXJnKCZjbWQsICItLXhwYXRoIik7CisgICAgICAgICAgICAgICAgdmFyeTR2YXJncXVvdGUoJmNtZCwgYXJncy0+eHBhdGgpOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICBpZiAoYXJncy0+cGF0dGVybiAmJiBhcmdzLT5wYXR0ZXJuLT5sZW4pIHsKKyAgICAgICAgICAgICAgICB2YXJ5NGFyZygmY21kLCAiLS1wYXR0ZXJuIik7CisgICAgICAgICAgICAgICAgdmFyeTR2YXJncXVvdGUoJmNtZCwgYXJncy0+cGF0dGVybik7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgIGlmIChhcmdzLT5wYXRoICYmIGFyZ3MtPnBhdGgtPmxlbikgeworICAgICAgICAgICAgICAgIHZhcnk0YXJnKCZjbWQsICItLXBhdGggJyIpOworICAgICAgICAgICAgICAgIHZhcnk0dmVzY2FwZSgmY21kLCAmYXJncy0+cGF0aC0+aXRlbVswXS5wYXJhbSk7CisgICAgICAgICAgICAgICAgZm9yIChpID0gMTsgaSA8IGFyZ3MtPnBhdGgtPmxlbjsgaSsrKSB7CisgICAgICAgICAgICAgICAgICAgICAgICB2YXJ5NG5hcHBlbmQoJmNtZCwgIjoiLCAxKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHZhcnk0dmVzY2FwZSgmY21kLCAmYXJncy0+cGF0aC0+aXRlbVtpXS5wYXJhbSk7CisgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgdmFyeTRuYXBwZW5kKCZjbWQsICInIiwgMSk7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgIGlmIChhcmdzLT5wcmV0dHkgJiYgYXJncy0+cHJldHR5LT5sZW4gJiYKKyAgICAgICAgICAgIGFyZ3MtPnByZXR0eS0+c3RyaW5nWzBdICE9ICcwJykgeworICAgICAgICAgICAgICAgIHZhcnk0YXJnKCZjbWQsICItLXByZXR0eSIpOworICAgICAgICAgICAgICAgIHZhcnk0dmFyZygmY21kLCBhcmdzLT5wcmV0dHkpOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICBpZiAoYXJncy0+bWF4bWVtICYmICphcmdzLT5tYXhtZW0pIHsKKyAgICAgICAgICAgICAgICBzbnByaW50Zih0ZXh0YnVmLCBzaXplb2YgdGV4dGJ1ZiwgIiVsdSIsICphcmdzLT5tYXhtZW0pOworICAgICAgICAgICAgICAgIHZhcnk0YXJnKCZjbWQsICItLW1heG1lbSIpOworICAgICAgICAgICAgICAgIHZhcnk0YXJnKCZjbWQsIHRleHRidWYpOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICBmb3IgKGkgPSAwOyBpIDwgYXJncy0+b3B0aW9ucy0+bGVuOyBpKyspCisgICAgICAgICAgICAgICAgdmFyeTR2YXJnKCZjbWQsICZhcmdzLT5vcHRpb25zLT5pdGVtW2ldLnBhcmFtKTsKKworICAgICAgICB2YXJ5NHZhcmdxdW90ZSgmY21kLCBhcmdzLT5zdG1mKTsKKworICAgICAgICAvKiBFeGVjdXRlIHRoZSBzaGVsbCBjb21tYW5kLiAqLworICAgICAgICBxc2hlbGwoJmNtZCk7CisKKyAgICAgICAgLyogVGVybWluYXRlLiAqLworICAgICAgICBleGl0KDApOworfQpkaWZmIC0tZ2l0IGEvcGFyc2VyLmMgYi9wYXJzZXIuYwppbmRleCBjNTc0MWUzLi41M2E2YjdmIDEwMDY0NAotLS0gYS9wYXJzZXIuYworKysgYi9wYXJzZXIuYwpAQCAtMTM4LDE0ICsxMzgsMjAgQEAKICAgICAgKiBlbnRpdGllcyBwcm9ibGVtcwogICAgICAqLwogICAgIGlmICgoZW50ICE9IE5VTEwpICYmIChlbnQtPmV0eXBlICE9IFhNTF9JTlRFUk5BTF9QUkVERUZJTkVEX0VOVElUWSkgJiYKLQkoZW50LT5jb250ZW50ICE9IE5VTEwpICYmIChlbnQtPmNoZWNrZWQgPT0gMCkpIHsKKwkoZW50LT5jb250ZW50ICE9IE5VTEwpICYmIChlbnQtPmNoZWNrZWQgPT0gMCkgJiYKKwkoY3R4dC0+ZXJyTm8gIT0gWE1MX0VSUl9FTlRJVFlfTE9PUCkpIHsKIAl1bnNpZ25lZCBsb25nIG9sZG5iZW50ID0gY3R4dC0+bmJlbnRpdGllczsKIAl4bWxDaGFyICpyZXA7CiAKIAllbnQtPmNoZWNrZWQgPSAxOwogCisgICAgICAgICsrY3R4dC0+ZGVwdGg7CiAJcmVwID0geG1sU3RyaW5nRGVjb2RlRW50aXRpZXMoY3R4dCwgZW50LT5jb250ZW50LAogCQkJCSAgWE1MX1NVQlNUSVRVVEVfUkVGLCAwLCAwLCAwKTsKKyAgICAgICAgLS1jdHh0LT5kZXB0aDsKKwlpZiAoY3R4dC0+ZXJyTm8gPT0gWE1MX0VSUl9FTlRJVFlfTE9PUCkgeworCSAgICBlbnQtPmNvbnRlbnRbMF0gPSAwOworCX0KIAogCWVudC0+Y2hlY2tlZCA9IChjdHh0LT5uYmVudGl0aWVzIC0gb2xkbmJlbnQgKyAxKSAqIDI7CiAJaWYgKHJlcCAhPSBOVUxMKSB7CkBAIC0zNDQsNyArMzUwLDYgQEAKIHhtbEZhdGFsRXJyKHhtbFBhcnNlckN0eHRQdHIgY3R4dCwgeG1sUGFyc2VyRXJyb3JzIGVycm9yLCBjb25zdCBjaGFyICppbmZvKQogewogICAgIGNvbnN0IGNoYXIgKmVycm1zZzsKLSAgICBjaGFyIGVycnN0clsxMjldID0gIiI7CiAKICAgICBpZiAoKGN0eHQgIT0gTlVMTCkgJiYgKGN0eHQtPmRpc2FibGVTQVggIT0gMCkgJiYKICAgICAgICAgKGN0eHQtPmluc3RhdGUgPT0gWE1MX1BBUlNFUl9FT0YpKQpAQCAtNTMxLDE1ICs1MzYsMTcgQEAKICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgIGVycm1zZyA9ICJVbnJlZ2lzdGVyZWQgZXJyb3IgbWVzc2FnZSI7CiAgICAgfQotICAgIGlmIChpbmZvID09IE5VTEwpCi0gICAgICAgIHNucHJpbnRmKGVycnN0ciwgMTI4LCAiJXNcbiIsIGVycm1zZyk7Ci0gICAgZWxzZQotICAgICAgICBzbnByaW50ZihlcnJzdHIsIDEyOCwgIiVzOiAlJXNcbiIsIGVycm1zZyk7CiAgICAgaWYgKGN0eHQgIT0gTlVMTCkKIAljdHh0LT5lcnJObyA9IGVycm9yOwotICAgIF9feG1sUmFpc2VFcnJvcihOVUxMLCBOVUxMLCBOVUxMLCBjdHh0LCBOVUxMLCBYTUxfRlJPTV9QQVJTRVIsIGVycm9yLAotICAgICAgICAgICAgICAgICAgICBYTUxfRVJSX0ZBVEFMLCBOVUxMLCAwLCBpbmZvLCBOVUxMLCBOVUxMLCAwLCAwLCAmZXJyc3RyWzBdLAotICAgICAgICAgICAgICAgICAgICBpbmZvKTsKKyAgICBpZiAoaW5mbyA9PSBOVUxMKSB7CisgICAgICAgIF9feG1sUmFpc2VFcnJvcihOVUxMLCBOVUxMLCBOVUxMLCBjdHh0LCBOVUxMLCBYTUxfRlJPTV9QQVJTRVIsIGVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgWE1MX0VSUl9GQVRBTCwgTlVMTCwgMCwgaW5mbywgTlVMTCwgTlVMTCwgMCwgMCwgIiVzXG4iLAorICAgICAgICAgICAgICAgICAgICAgICAgZXJybXNnKTsKKyAgICB9IGVsc2UgeworICAgICAgICBfX3htbFJhaXNlRXJyb3IoTlVMTCwgTlVMTCwgTlVMTCwgY3R4dCwgTlVMTCwgWE1MX0ZST01fUEFSU0VSLCBlcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgIFhNTF9FUlJfRkFUQUwsIE5VTEwsIDAsIGluZm8sIE5VTEwsIE5VTEwsIDAsIDAsICIlczogJXNcbiIsCisgICAgICAgICAgICAgICAgICAgICAgICBlcnJtc2csIGluZm8pOworICAgIH0KICAgICBpZiAoY3R4dCAhPSBOVUxMKSB7CiAJY3R4dC0+d2VsbEZvcm1lZCA9IDA7CiAJaWYgKGN0eHQtPnJlY292ZXJ5ID09IDApCkBAIC01NTUsNyArNTYyLDcgQEAKICAqCiAgKiBIYW5kbGUgYSBmYXRhbCBwYXJzZXIgZXJyb3IsIGkuZS4gdmlvbGF0aW5nIFdlbGwtRm9ybWVkbmVzcyBjb25zdHJhaW50cwogICovCi1zdGF0aWMgdm9pZAorc3RhdGljIHZvaWQgTElCWE1MX0FUVFJfRk9STUFUKDMsMCkKIHhtbEZhdGFsRXJyTXNnKHhtbFBhcnNlckN0eHRQdHIgY3R4dCwgeG1sUGFyc2VyRXJyb3JzIGVycm9yLAogICAgICAgICAgICAgICAgY29uc3QgY2hhciAqbXNnKQogewpAQCAtNTgzLDcgKzU5MCw3IEBACiAgKgogICogSGFuZGxlIGEgd2FybmluZy4KICAqLwotc3RhdGljIHZvaWQKK3N0YXRpYyB2b2lkIExJQlhNTF9BVFRSX0ZPUk1BVCgzLDApCiB4bWxXYXJuaW5nTXNnKHhtbFBhcnNlckN0eHRQdHIgY3R4dCwgeG1sUGFyc2VyRXJyb3JzIGVycm9yLAogICAgICAgICAgICAgICBjb25zdCBjaGFyICptc2csIGNvbnN0IHhtbENoYXIgKnN0cjEsIGNvbnN0IHhtbENoYXIgKnN0cjIpCiB7CkBAIC02MjEsNyArNjI4LDcgQEAKICAqCiAgKiBIYW5kbGUgYSB2YWxpZGl0eSBlcnJvci4KICAqLwotc3RhdGljIHZvaWQKK3N0YXRpYyB2b2lkIExJQlhNTF9BVFRSX0ZPUk1BVCgzLDApCiB4bWxWYWxpZGl0eUVycm9yKHhtbFBhcnNlckN0eHRQdHIgY3R4dCwgeG1sUGFyc2VyRXJyb3JzIGVycm9yLAogICAgICAgICAgICAgICBjb25zdCBjaGFyICptc2csIGNvbnN0IHhtbENoYXIgKnN0cjEsIGNvbnN0IHhtbENoYXIgKnN0cjIpCiB7CkBAIC02NjEsNyArNjY4LDcgQEAKICAqCiAgKiBIYW5kbGUgYSBmYXRhbCBwYXJzZXIgZXJyb3IsIGkuZS4gdmlvbGF0aW5nIFdlbGwtRm9ybWVkbmVzcyBjb25zdHJhaW50cwogICovCi1zdGF0aWMgdm9pZAorc3RhdGljIHZvaWQgTElCWE1MX0FUVFJfRk9STUFUKDMsMCkKIHhtbEZhdGFsRXJyTXNnSW50KHhtbFBhcnNlckN0eHRQdHIgY3R4dCwgeG1sUGFyc2VyRXJyb3JzIGVycm9yLAogICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqbXNnLCBpbnQgdmFsKQogewpAQCAtNjkxLDcgKzY5OCw3IEBACiAgKgogICogSGFuZGxlIGEgZmF0YWwgcGFyc2VyIGVycm9yLCBpLmUuIHZpb2xhdGluZyBXZWxsLUZvcm1lZG5lc3MgY29uc3RyYWludHMKICAqLwotc3RhdGljIHZvaWQKK3N0YXRpYyB2b2lkIExJQlhNTF9BVFRSX0ZPUk1BVCgzLDApCiB4bWxGYXRhbEVyck1zZ1N0ckludFN0cih4bWxQYXJzZXJDdHh0UHRyIGN0eHQsIHhtbFBhcnNlckVycm9ycyBlcnJvciwKICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKm1zZywgY29uc3QgeG1sQ2hhciAqc3RyMSwgaW50IHZhbCwKIAkJICBjb25zdCB4bWxDaGFyICpzdHIyKQpAQCAtNzIxLDcgKzcyOCw3IEBACiAgKgogICogSGFuZGxlIGEgZmF0YWwgcGFyc2VyIGVycm9yLCBpLmUuIHZpb2xhdGluZyBXZWxsLUZvcm1lZG5lc3MgY29uc3RyYWludHMKICAqLwotc3RhdGljIHZvaWQKK3N0YXRpYyB2b2lkIExJQlhNTF9BVFRSX0ZPUk1BVCgzLDApCiB4bWxGYXRhbEVyck1zZ1N0cih4bWxQYXJzZXJDdHh0UHRyIGN0eHQsIHhtbFBhcnNlckVycm9ycyBlcnJvciwKICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKm1zZywgY29uc3QgeG1sQ2hhciAqIHZhbCkKIHsKQEAgLTc1MCw3ICs3NTcsNyBAQAogICoKICAqIEhhbmRsZSBhIG5vbiBmYXRhbCBwYXJzZXIgZXJyb3IKICAqLwotc3RhdGljIHZvaWQKK3N0YXRpYyB2b2lkIExJQlhNTF9BVFRSX0ZPUk1BVCgzLDApCiB4bWxFcnJNc2dTdHIoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0LCB4bWxQYXJzZXJFcnJvcnMgZXJyb3IsCiAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICptc2csIGNvbnN0IHhtbENoYXIgKiB2YWwpCiB7CkBAIC03NzUsNyArNzgyLDcgQEAKICAqCiAgKiBIYW5kbGUgYSBmYXRhbCBwYXJzZXIgZXJyb3IsIGkuZS4gdmlvbGF0aW5nIFdlbGwtRm9ybWVkbmVzcyBjb25zdHJhaW50cwogICovCi1zdGF0aWMgdm9pZAorc3RhdGljIHZvaWQgTElCWE1MX0FUVFJfRk9STUFUKDMsMCkKIHhtbE5zRXJyKHhtbFBhcnNlckN0eHRQdHIgY3R4dCwgeG1sUGFyc2VyRXJyb3JzIGVycm9yLAogICAgICAgICAgY29uc3QgY2hhciAqbXNnLAogICAgICAgICAgY29uc3QgeG1sQ2hhciAqIGluZm8xLCBjb25zdCB4bWxDaGFyICogaW5mbzIsCkBAIC04MDQsNyArODExLDcgQEAKICAqCiAgKiBIYW5kbGUgYSBuYW1lc3BhY2Ugd2FybmluZyBlcnJvcgogICovCi1zdGF0aWMgdm9pZAorc3RhdGljIHZvaWQgTElCWE1MX0FUVFJfRk9STUFUKDMsMCkKIHhtbE5zV2Fybih4bWxQYXJzZXJDdHh0UHRyIGN0eHQsIHhtbFBhcnNlckVycm9ycyBlcnJvciwKICAgICAgICAgIGNvbnN0IGNoYXIgKm1zZywKICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiBpbmZvMSwgY29uc3QgeG1sQ2hhciAqIGluZm8yLApAQCAtMjAwOCw2ICsyMDE1LDcgQEAKICNkZWZpbmUgQ1VSICgqY3R4dC0+aW5wdXQtPmN1cikKICNkZWZpbmUgTlhUKHZhbCkgY3R4dC0+aW5wdXQtPmN1clsodmFsKV0KICNkZWZpbmUgQ1VSX1BUUiBjdHh0LT5pbnB1dC0+Y3VyCisjZGVmaW5lIEJBU0VfUFRSIGN0eHQtPmlucHV0LT5iYXNlCiAKICNkZWZpbmUgQ01QNCggcywgYzEsIGMyLCBjMywgYzQgKSBcCiAgICggKCh1bnNpZ25lZCBjaGFyICopIHMpWyAwIF0gPT0gYzEgJiYgKCh1bnNpZ25lZCBjaGFyICopIHMpWyAxIF0gPT0gYzIgJiYgXApAQCAtMjg1OCw3ICsyODY2LDIxIEBACiAJICAgICAgICBjdHh0LT5uYmVudGl0aWVzICs9IGVudC0+Y2hlY2tlZCAvIDI7CiAJICAgIGlmIChlbnQgIT0gTlVMTCkgewogICAgICAgICAgICAgICAgIGlmIChlbnQtPmNvbnRlbnQgPT0gTlVMTCkgewotCQkgICAgeG1sTG9hZEVudGl0eUNvbnRlbnQoY3R4dCwgZW50KTsKKwkJICAgIC8qCisJCSAgICAgKiBOb3RlOiBleHRlcm5hbCBwYXJzZWQgZW50aXRpZXMgd2lsbCBub3QgYmUgbG9hZGVkLAorCQkgICAgICogaXQgaXMgbm90IHJlcXVpcmVkIGZvciBhIG5vbi12YWxpZGF0aW5nIHBhcnNlciB0bworCQkgICAgICogY29tcGxldGUgZXh0ZXJuYWwgUEVyZWZlcmVuY2VzIGNvbWluZyBmcm9tIHRoZQorCQkgICAgICogaW50ZXJuYWwgc3Vic2V0CisJCSAgICAgKi8KKwkJICAgIGlmICgoKGN0eHQtPm9wdGlvbnMgJiBYTUxfUEFSU0VfTk9FTlQpICE9IDApIHx8CisJCQkoKGN0eHQtPm9wdGlvbnMgJiBYTUxfUEFSU0VfRFREVkFMSUQpICE9IDApIHx8CisJCQkoY3R4dC0+dmFsaWRhdGUgIT0gMCkpIHsKKwkJCXhtbExvYWRFbnRpdHlDb250ZW50KGN0eHQsIGVudCk7CisJCSAgICB9IGVsc2UgeworCQkJeG1sV2FybmluZ01zZyhjdHh0LCBYTUxfRVJSX0VOVElUWV9QUk9DRVNTSU5HLAorCQkgICJub3QgdmFsaWRhdGluZyB3aWxsIG5vdCByZWFkIGNvbnRlbnQgZm9yIFBFIGVudGl0eSAlc1xuIiwKKwkJICAgICAgICAgICAgICAgICAgICAgIGVudC0+bmFtZSwgTlVMTCk7CisJCSAgICB9CiAJCX0KIAkJY3R4dC0+ZGVwdGgrKzsKIAkJcmVwID0geG1sU3RyaW5nRGVjb2RlRW50aXRpZXMoY3R4dCwgZW50LT5jb250ZW50LCB3aGF0LApAQCAtMzQ3MCw3ICszNDkyLDcgQEAKICAgICBpbnQgbGVuID0gMCwgbDsKICAgICBpbnQgYzsKICAgICBpbnQgY291bnQgPSAwOwotICAgIGNvbnN0IHhtbENoYXIgKmVuZDsgLyogbmVlZGVkIGJlY2F1c2UgQ1VSX0NIQVIoKSBjYW4gbW92ZSBjdXIgb24gXHJcbiAqLworICAgIHNpemVfdCBzdGFydFBvc2l0aW9uID0gMDsKIAogI2lmZGVmIERFQlVHCiAgICAgbmJQYXJzZU5DTmFtZUNvbXBsZXgrKzsKQEAgLTM0ODAsNyArMzUwMiw3IEBACiAgICAgICogSGFuZGxlciBmb3IgbW9yZSBjb21wbGV4IGNhc2VzCiAgICAgICovCiAgICAgR1JPVzsKLSAgICBlbmQgPSBjdHh0LT5pbnB1dC0+Y3VyOworICAgIHN0YXJ0UG9zaXRpb24gPSBDVVJfUFRSIC0gQkFTRV9QVFI7CiAgICAgYyA9IENVUl9DSEFSKGwpOwogICAgIGlmICgoYyA9PSAnICcpIHx8IChjID09ICc+JykgfHwgKGMgPT0gJy8nKSB8fCAvKiBhY2NlbGVyYXRvcnMgKi8KIAkoIXhtbElzTmFtZVN0YXJ0Q2hhcihjdHh0LCBjKSB8fCAoYyA9PSAnOicpKSkgewpAQCAtMzUwMiw3ICszNTI0LDYgQEAKIAl9CiAJbGVuICs9IGw7CiAJTkVYVEwobCk7Ci0JZW5kID0gY3R4dC0+aW5wdXQtPmN1cjsKIAljID0gQ1VSX0NIQVIobCk7CiAJaWYgKGMgPT0gMCkgewogCSAgICBjb3VudCA9IDA7CkBAIC0zNTE2LDcgKzM1MzcsNiBAQAogCSAgICBjdHh0LT5pbnB1dC0+Y3VyICs9IGw7CiAgICAgICAgICAgICBpZiAoY3R4dC0+aW5zdGF0ZSA9PSBYTUxfUEFSU0VSX0VPRikKICAgICAgICAgICAgICAgICByZXR1cm4oTlVMTCk7Ci0JICAgIGVuZCA9IGN0eHQtPmlucHV0LT5jdXI7CiAJICAgIGMgPSBDVVJfQ0hBUihsKTsKIAl9CiAgICAgfQpAQCAtMzUyNSw3ICszNTQ1LDcgQEAKICAgICAgICAgeG1sRmF0YWxFcnIoY3R4dCwgWE1MX0VSUl9OQU1FX1RPT19MT05HLCAiTkNOYW1lIik7CiAgICAgICAgIHJldHVybihOVUxMKTsKICAgICB9Ci0gICAgcmV0dXJuKHhtbERpY3RMb29rdXAoY3R4dC0+ZGljdCwgZW5kIC0gbGVuLCBsZW4pKTsKKyAgICByZXR1cm4oeG1sRGljdExvb2t1cChjdHh0LT5kaWN0LCAoQkFTRV9QVFIgKyBzdGFydFBvc2l0aW9uKSwgbGVuKSk7CiB9CiAKIC8qKgpAQCAtMzYyNSw3ICszNjQ1LDcgQEAKICAgICB9CiAgICAgLyogZmFpbHVyZSAob3IgZW5kIG9mIGlucHV0IGJ1ZmZlciksIGNoZWNrIHdpdGggZnVsbCBmdW5jdGlvbiAqLwogICAgIHJldCA9IHhtbFBhcnNlTmFtZSAoY3R4dCk7Ci0gICAgLyogc3RyaW5ncyBjb21pbmcgZnJvbSB0aGUgZGljdGlvbm5hcnkgZGlyZWN0IGNvbXBhcmUgcG9zc2libGUgKi8KKyAgICAvKiBzdHJpbmdzIGNvbWluZyBmcm9tIHRoZSBkaWN0aW9uYXJ5IGRpcmVjdCBjb21wYXJlIHBvc3NpYmxlICovCiAgICAgaWYgKHJldCA9PSBvdGhlcikgewogCXJldHVybiAoY29uc3QgeG1sQ2hhciopIDE7CiAgICAgfQpAQCAtMzk2Niw4ICszOTg2LDEwIEBACiAJICogYW4gZW50aXR5IGRlY2xhcmF0aW9uLCBpdCBpcyBieXBhc3NlZCBhbmQgbGVmdCBhcyBpcy4KIAkgKiBzbyBYTUxfU1VCU1RJVFVURV9SRUYgaXMgbm90IHNldCBoZXJlLgogCSAqLworICAgICAgICArK2N0eHQtPmRlcHRoOwogCXJldCA9IHhtbFN0cmluZ0RlY29kZUVudGl0aWVzKGN0eHQsIGJ1ZiwgWE1MX1NVQlNUSVRVVEVfUEVSRUYsCiAJCQkJICAgICAgMCwgMCwgMCk7CisgICAgICAgIC0tY3R4dC0+ZGVwdGg7CiAJaWYgKG9yaWcgIT0gTlVMTCkKIAkgICAgKm9yaWcgPSBidWY7CiAJZWxzZQpAQCAtNDA5Miw5ICs0MTE0LDExIEBACiAJCX0gZWxzZSBpZiAoKGVudCAhPSBOVUxMKSAmJgogCQkgICAgICAgICAgIChjdHh0LT5yZXBsYWNlRW50aXRpZXMgIT0gMCkpIHsKIAkJICAgIGlmIChlbnQtPmV0eXBlICE9IFhNTF9JTlRFUk5BTF9QUkVERUZJTkVEX0VOVElUWSkgeworCQkJKytjdHh0LT5kZXB0aDsKIAkJCXJlcCA9IHhtbFN0cmluZ0RlY29kZUVudGl0aWVzKGN0eHQsIGVudC0+Y29udGVudCwKIAkJCQkJCSAgICAgIFhNTF9TVUJTVElUVVRFX1JFRiwKIAkJCQkJCSAgICAgIDAsIDAsIDApOworCQkJLS1jdHh0LT5kZXB0aDsKIAkJCWlmIChyZXAgIT0gTlVMTCkgewogCQkJICAgIGN1cnJlbnQgPSByZXA7CiAJCQkgICAgd2hpbGUgKCpjdXJyZW50ICE9IDApIHsgLyogbm9uIGlucHV0IGNvbnN1bWluZyAqLwpAQCAtNDEzMCw4ICs0MTU0LDEwIEBACiAJCQkoZW50LT5jb250ZW50ICE9IE5VTEwpICYmIChlbnQtPmNoZWNrZWQgPT0gMCkpIHsKIAkJCXVuc2lnbmVkIGxvbmcgb2xkbmJlbnQgPSBjdHh0LT5uYmVudGl0aWVzOwogCisJCQkrK2N0eHQtPmRlcHRoOwogCQkJcmVwID0geG1sU3RyaW5nRGVjb2RlRW50aXRpZXMoY3R4dCwgZW50LT5jb250ZW50LAogCQkJCQkJICBYTUxfU1VCU1RJVFVURV9SRUYsIDAsIDAsIDApOworCQkJLS1jdHh0LT5kZXB0aDsKIAogCQkJZW50LT5jaGVja2VkID0gKGN0eHQtPm5iZW50aXRpZXMgLSBvbGRuYmVudCArIDEpICogMjsKIAkJCWlmIChyZXAgIT0gTlVMTCkgewpAQCAtNTUwMSw3ICs1NTI3LDcgQEAKIAkgICAgc2tpcHBlZCA9IFNLSVBfQkxBTktTOwogCSAgICBpZiAoc2tpcHBlZCA9PSAwKSB7CiAJCXhtbEZhdGFsRXJyTXNnKGN0eHQsIFhNTF9FUlJfU1BBQ0VfUkVRVUlSRUQsCi0JCQkgICAgICAgIlNwYWNlIHJlcXVpcmVkIGFmdGVyICclJ1xuIik7CisJCQkgICAgICAgIlNwYWNlIHJlcXVpcmVkIGFmdGVyICclJSdcbiIpOwogCSAgICB9CiAJICAgIGlzUGFyYW1ldGVyID0gMTsKIAl9CkBAIC02Njg2LDYgKzY3MTIsNyBAQAogCWlmICghSVNfQkxBTktfQ0goQ1VSKSkgewogCSAgICB4bWxGYXRhbEVyck1zZyhjdHh0LCBYTUxfRVJSX1NQQUNFX1JFUVVJUkVELAogCQkgICAgICAgICAgICJTcGFjZSByZXF1aXJlZCBhZnRlciAnRUxFTUVOVCdcbiIpOworCSAgICByZXR1cm4oLTEpOwogCX0KICAgICAgICAgU0tJUF9CTEFOS1M7CiAgICAgICAgIG5hbWUgPSB4bWxQYXJzZU5hbWUoY3R4dCk7CkBAIC02ODM3LDYgKzY4NjQsNyBAQAogCiAJICAgIGlmICgoQ1VSX1BUUiA9PSBjaGVjaykgJiYgKGNvbnMgPT0gY3R4dC0+aW5wdXQtPmNvbnN1bWVkKSkgewogCQl4bWxGYXRhbEVycihjdHh0LCBYTUxfRVJSX0VYVF9TVUJTRVRfTk9UX0ZJTklTSEVELCBOVUxMKTsKKwkJeG1sSGFsdFBhcnNlcihjdHh0KTsKIAkJYnJlYWs7CiAJICAgIH0KIAl9CkBAIC04NDY4LDYgKzg0OTYsNyBAQAogICAgICAqLwogICAgIGlmIChSQVcgIT0gJz4nKSB7CiAJeG1sRmF0YWxFcnIoY3R4dCwgWE1MX0VSUl9ET0NUWVBFX05PVF9GSU5JU0hFRCwgTlVMTCk7CisJcmV0dXJuOwogICAgIH0KICAgICBORVhUOwogfQpAQCAtODgxOCw3ICs4ODQ3LDcgQEAKICAqIEBwcmVmaXg6ICB0aGUgcHJlZml4IHRvIGxvb2t1cAogICoKICAqIExvb2t1cCB0aGUgbmFtZXNwYWNlIG5hbWUgZm9yIHRoZSBAcHJlZml4ICh3aGljaCBjYSBiZSBOVUxMKQotICogVGhlIHByZWZpeCBtdXN0IGNvbWUgZnJvbSB0aGUgQGN0eHQtPmRpY3QgZGljdGlvbm5hcnkKKyAqIFRoZSBwcmVmaXggbXVzdCBjb21lIGZyb20gdGhlIEBjdHh0LT5kaWN0IGRpY3Rpb25hcnkKICAqCiAgKiBSZXR1cm5zIHRoZSBuYW1lc3BhY2UgbmFtZSBvciBOVUxMIGlmIG5vdCBib3VuZAogICovCkBAIC05NDY1LDcgKzk0OTQsMTAgQEAKIAkJZWxzZQogCQkgICAgaWYgKG5zUHVzaChjdHh0LCBOVUxMLCBVUkwpID4gMCkgbmJOcysrOwogc2tpcF9kZWZhdWx0X25zOgotCQlpZiAoYWxsb2MgIT0gMCkgeG1sRnJlZShhdHR2YWx1ZSk7CisJCWlmICgoYXR0dmFsdWUgIT0gTlVMTCkgJiYgKGFsbG9jICE9IDApKSB7CisJCSAgICB4bWxGcmVlKGF0dHZhbHVlKTsKKwkJICAgIGF0dHZhbHVlID0gTlVMTDsKKwkJfQogCQlpZiAoKFJBVyA9PSAnPicpIHx8ICgoKFJBVyA9PSAnLycpICYmIChOWFQoMSkgPT0gJz4nKSkpKQogCQkgICAgYnJlYWs7CiAJCWlmICghSVNfQkxBTktfQ0goUkFXKSkgewpAQCAtOTQ3NCw2ICs5NTA2LDggQEAKIAkJICAgIGJyZWFrOwogCQl9CiAJCVNLSVBfQkxBTktTOworCQlpZiAoKGN0eHQtPmlucHV0LT5iYXNlICE9IGJhc2UpIHx8IChpbnB1dE5yICE9IGN0eHQtPmlucHV0TnIpKQorCQkgICAgZ290byBiYXNlX2NoYW5nZWQ7CiAJCWNvbnRpbnVlOwogCSAgICB9CiAgICAgICAgICAgICBpZiAoYXByZWZpeCA9PSBjdHh0LT5zdHJfeG1sbnMpIHsKQEAgLTk1NDUsNyArOTU3OSwxMCBAQAogCQllbHNlCiAJCSAgICBpZiAobnNQdXNoKGN0eHQsIGF0dG5hbWUsIFVSTCkgPiAwKSBuYk5zKys7CiBza2lwX25zOgotCQlpZiAoYWxsb2MgIT0gMCkgeG1sRnJlZShhdHR2YWx1ZSk7CisJCWlmICgoYXR0dmFsdWUgIT0gTlVMTCkgJiYgKGFsbG9jICE9IDApKSB7CisJCSAgICB4bWxGcmVlKGF0dHZhbHVlKTsKKwkJICAgIGF0dHZhbHVlID0gTlVMTDsKKwkJfQogCQlpZiAoKFJBVyA9PSAnPicpIHx8ICgoKFJBVyA9PSAnLycpICYmIChOWFQoMSkgPT0gJz4nKSkpKQogCQkgICAgYnJlYWs7CiAJCWlmICghSVNfQkxBTktfQ0goUkFXKSkgewpAQCAtOTgxNiw2ICs5ODUzLDcgQEAKIHhtbFBhcnNlRW5kVGFnMih4bWxQYXJzZXJDdHh0UHRyIGN0eHQsIGNvbnN0IHhtbENoYXIgKnByZWZpeCwKICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICpVUkksIGludCBsaW5lLCBpbnQgbnNOciwgaW50IHRsZW4pIHsKICAgICBjb25zdCB4bWxDaGFyICpuYW1lOworICAgIHNpemVfdCBjdXJMZW5ndGg7CiAKICAgICBHUk9XOwogICAgIGlmICgoUkFXICE9ICc8JykgfHwgKE5YVCgxKSAhPSAnLycpKSB7CkBAIC05ODI0LDggKzk4NjIsMTEgQEAKICAgICB9CiAgICAgU0tJUCgyKTsKIAotICAgIGlmICgodGxlbiA+IDApICYmICh4bWxTdHJuY21wKGN0eHQtPmlucHV0LT5jdXIsIGN0eHQtPm5hbWUsIHRsZW4pID09IDApKSB7Ci0gICAgICAgIGlmIChjdHh0LT5pbnB1dC0+Y3VyW3RsZW5dID09ICc+JykgeworICAgIGN1ckxlbmd0aCA9IGN0eHQtPmlucHV0LT5lbmQgLSBjdHh0LT5pbnB1dC0+Y3VyOworICAgIGlmICgodGxlbiA+IDApICYmIChjdXJMZW5ndGggPj0gKHNpemVfdCl0bGVuKSAmJgorICAgICAgICAoeG1sU3RybmNtcChjdHh0LT5pbnB1dC0+Y3VyLCBjdHh0LT5uYW1lLCB0bGVuKSA9PSAwKSkgeworICAgICAgICBpZiAoKGN1ckxlbmd0aCA+PSAoc2l6ZV90KSh0bGVuICsgMSkpICYmCisJICAgIChjdHh0LT5pbnB1dC0+Y3VyW3RsZW5dID09ICc+JykpIHsKIAkgICAgY3R4dC0+aW5wdXQtPmN1ciArPSB0bGVuICsgMTsKIAkgICAgY3R4dC0+aW5wdXQtPmNvbCArPSB0bGVuICsgMTsKIAkgICAgZ290byBkb25lOwpAQCAtMTEyMDksOCArMTEyNTAsOSBAQAogfQogLyoqCiAgKiB4bWxDaGVja0NkYXRhUHVzaDoKLSAqIEBjdXI6IHBvaW50ZXIgdG8gdGhlIGJvY2sgb2YgY2hhcmFjdGVycworICogQGN1cjogcG9pbnRlciB0byB0aGUgYmxvY2sgb2YgY2hhcmFjdGVycwogICogQGxlbjogbGVuZ3RoIG9mIHRoZSBibG9jayBpbiBieXRlcworICogQGNvbXBsZXRlOiAxIGlmIGNvbXBsZXRlIENEQVRBIGJsb2NrIGlzIHBhc3NlZCBpbiwgMCBpZiBwYXJ0aWFsIGJsb2NrCiAgKgogICogQ2hlY2sgdGhhdCB0aGUgYmxvY2sgb2YgY2hhcmFjdGVycyBpcyBva2F5IGFzIFNDZGF0YSBjb250ZW50IFsyMF0KICAqCkBAIC0xMTIxOCw3ICsxMTI2MCw3IEBACiAgKiAgICAgICAgIFVURi04IGVycm9yIG9jY3VyZWQgb3RoZXJ3aXNlCiAgKi8KIHN0YXRpYyBpbnQKLXhtbENoZWNrQ2RhdGFQdXNoKGNvbnN0IHhtbENoYXIgKnV0ZiwgaW50IGxlbikgeworeG1sQ2hlY2tDZGF0YVB1c2goY29uc3QgeG1sQ2hhciAqdXRmLCBpbnQgbGVuLCBpbnQgY29tcGxldGUpIHsKICAgICBpbnQgaXg7CiAgICAgdW5zaWduZWQgY2hhciBjOwogICAgIGludCBjb2RlcG9pbnQ7CkBAIC0xMTIzNiw3ICsxMTI3OCw3IEBACiAJICAgIGVsc2UKIAkgICAgICAgIHJldHVybigtaXgpOwogCX0gZWxzZSBpZiAoKGMgJiAweGUwKSA9PSAweGMwKSB7LyogMi1ieXRlIGNvZGUsIHN0YXJ0cyB3aXRoIDExMCAqLwotCSAgICBpZiAoaXggKyAyID4gbGVuKSByZXR1cm4oLWl4KTsKKwkgICAgaWYgKGl4ICsgMiA+IGxlbikgcmV0dXJuKGNvbXBsZXRlID8gLWl4IDogaXgpOwogCSAgICBpZiAoKHV0ZltpeCsxXSAmIDB4YzAgKSAhPSAweDgwKQogCSAgICAgICAgcmV0dXJuKC1peCk7CiAJICAgIGNvZGVwb2ludCA9ICh1dGZbaXhdICYgMHgxZikgPDwgNjsKQEAgLTExMjQ1LDcgKzExMjg3LDcgQEAKIAkgICAgICAgIHJldHVybigtaXgpOwogCSAgICBpeCArPSAyOwogCX0gZWxzZSBpZiAoKGMgJiAweGYwKSA9PSAweGUwKSB7LyogMy1ieXRlIGNvZGUsIHN0YXJ0cyB3aXRoIDExMTAgKi8KLQkgICAgaWYgKGl4ICsgMyA+IGxlbikgcmV0dXJuKC1peCk7CisJICAgIGlmIChpeCArIDMgPiBsZW4pIHJldHVybihjb21wbGV0ZSA/IC1peCA6IGl4KTsKIAkgICAgaWYgKCgodXRmW2l4KzFdICYgMHhjMCkgIT0gMHg4MCkgfHwKIAkgICAgICAgICgodXRmW2l4KzJdICYgMHhjMCkgIT0gMHg4MCkpCiAJCSAgICByZXR1cm4oLWl4KTsKQEAgLTExMjU2LDcgKzExMjk4LDcgQEAKIAkgICAgICAgIHJldHVybigtaXgpOwogCSAgICBpeCArPSAzOwogCX0gZWxzZSBpZiAoKGMgJiAweGY4KSA9PSAweGYwKSB7LyogNC1ieXRlIGNvZGUsIHN0YXJ0cyB3aXRoIDExMTEwICovCi0JICAgIGlmIChpeCArIDQgPiBsZW4pIHJldHVybigtaXgpOworCSAgICBpZiAoaXggKyA0ID4gbGVuKSByZXR1cm4oY29tcGxldGUgPyAtaXggOiBpeCk7CiAJICAgIGlmICgoKHV0ZltpeCsxXSAmIDB4YzApICE9IDB4ODApIHx8CiAJICAgICAgICAoKHV0ZltpeCsyXSAmIDB4YzApICE9IDB4ODApIHx8CiAJCSgodXRmW2l4KzNdICYgMHhjMCkgIT0gMHg4MCkpCkBAIC0xMTc3MSw3ICsxMTgxMyw3IEBACiAJCSAgICAgICAgaW50IHRtcDsKIAogCQkJdG1wID0geG1sQ2hlY2tDZGF0YVB1c2goY3R4dC0+aW5wdXQtPmN1ciwKLQkJCSAgICAgICAgICAgICAgICAgICAgICAgIFhNTF9QQVJTRVJfQklHX0JVRkZFUl9TSVpFKTsKKwkJCSAgICAgICAgICAgICAgICAgICAgICAgIFhNTF9QQVJTRVJfQklHX0JVRkZFUl9TSVpFLCAwKTsKIAkJCWlmICh0bXAgPCAwKSB7CiAJCQkgICAgdG1wID0gLXRtcDsKIAkJCSAgICBjdHh0LT5pbnB1dC0+Y3VyICs9IHRtcDsKQEAgLTExNzk0LDcgKzExODM2LDcgQEAKIAkJfSBlbHNlIHsKIAkJICAgIGludCB0bXA7CiAKLQkJICAgIHRtcCA9IHhtbENoZWNrQ2RhdGFQdXNoKGN0eHQtPmlucHV0LT5jdXIsIGJhc2UpOworCQkgICAgdG1wID0geG1sQ2hlY2tDZGF0YVB1c2goY3R4dC0+aW5wdXQtPmN1ciwgYmFzZSwgMSk7CiAJCSAgICBpZiAoKHRtcCA8IDApIHx8ICh0bXAgIT0gYmFzZSkpIHsKIAkJCXRtcCA9IC10bXA7CiAJCQljdHh0LT5pbnB1dC0+Y3VyICs9IHRtcDsKQEAgLTE0OTg5LDcgKzE1MDMxLDcgQEAKICAqIERJQ1RfRlJFRToKICAqIEBzdHI6ICBhIHN0cmluZwogICoKLSAqIEZyZWUgYSBzdHJpbmcgaWYgaXQgaXMgbm90IG93bmVkIGJ5IHRoZSAiZGljdCIgZGljdGlvbm5hcnkgaW4gdGhlCisgKiBGcmVlIGEgc3RyaW5nIGlmIGl0IGlzIG5vdCBvd25lZCBieSB0aGUgImRpY3QiIGRpY3Rpb25hcnkgaW4gdGhlCiAgKiBjdXJyZW50IHNjb3BlCiAgKi8KICNkZWZpbmUgRElDVF9GUkVFKHN0cikJCQkJCQlcCmRpZmYgLS1naXQgYS9wYXJzZXJJbnRlcm5hbHMuYyBiL3BhcnNlckludGVybmFscy5jCmluZGV4IDJiODY0NmMuLmJmYzc3OGEgMTAwNjQ0Ci0tLSBhL3BhcnNlckludGVybmFscy5jCisrKyBiL3BhcnNlckludGVybmFscy5jCkBAIC01NSw2ICs1NSwxMCBAQAogI2luY2x1ZGUgPGxpYnhtbC9nbG9iYWxzLmg+CiAjaW5jbHVkZSA8bGlieG1sL2NodmFsaWQuaD4KIAorI2RlZmluZSBDVVIoY3R4dCkgY3R4dC0+aW5wdXQtPmN1cgorI2RlZmluZSBFTkQoY3R4dCkgY3R4dC0+aW5wdXQtPmVuZAorI2RlZmluZSBWQUxJRF9DVFhUKGN0eHQpIChDVVIoY3R4dCkgPD0gRU5EKGN0eHQpKQorCiAjaW5jbHVkZSAiYnVmLmgiCiAjaW5jbHVkZSAiZW5jLmgiCiAKQEAgLTE2NSw3ICsxNjksNyBAQAogICoKICAqIEhhbmRsZSBhbiBpbnRlcm5hbCBlcnJvcgogICovCi1zdGF0aWMgdm9pZAorc3RhdGljIHZvaWQgTElCWE1MX0FUVFJfRk9STUFUKDIsMCkKIHhtbEVyckludGVybmFsKHhtbFBhcnNlckN0eHRQdHIgY3R4dCwgY29uc3QgY2hhciAqbXNnLCBjb25zdCB4bWxDaGFyICogc3RyKQogewogICAgIGlmICgoY3R4dCAhPSBOVUxMKSAmJiAoY3R4dC0+ZGlzYWJsZVNBWCAhPSAwKSAmJgpAQCAtMTkzLDcgKzE5Nyw3IEBACiAgKgogICogbiBlbmNvZGluZyBlcnJvcgogICovCi1zdGF0aWMgdm9pZAorc3RhdGljIHZvaWQgTElCWE1MX0FUVFJfRk9STUFUKDMsMCkKIHhtbEVyckVuY29kaW5nSW50KHhtbFBhcnNlckN0eHRQdHIgY3R4dCwgeG1sUGFyc2VyRXJyb3JzIGVycm9yLAogICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqbXNnLCBpbnQgdmFsKQogewpAQCAtMjk0LDcgKzI5OCw3IEBACiAgKi8KIGludAogeG1sUGFyc2VySW5wdXRHcm93KHhtbFBhcnNlcklucHV0UHRyIGluLCBpbnQgbGVuKSB7Ci0gICAgc2l6ZV90IHJldDsKKyAgICBpbnQgcmV0OwogICAgIHNpemVfdCBpbmR4OwogICAgIGNvbnN0IHhtbENoYXIgKmNvbnRlbnQ7CiAKQEAgLTQyMiwxMDMgKzQyNiwxMDUgQEAKICAgICAgICAgKGN0eHQtPmlucHV0ID09IE5VTEwpKQogICAgICAgICByZXR1cm47CiAKLSAgICBpZiAoY3R4dC0+Y2hhcnNldCA9PSBYTUxfQ0hBUl9FTkNPRElOR19VVEY4KSB7Ci0gICAgICAgIGlmICgoKmN0eHQtPmlucHV0LT5jdXIgPT0gMCkgJiYKLSAgICAgICAgICAgICh4bWxQYXJzZXJJbnB1dEdyb3coY3R4dC0+aW5wdXQsIElOUFVUX0NIVU5LKSA8PSAwKSAmJgotICAgICAgICAgICAgKGN0eHQtPmluc3RhdGUgIT0gWE1MX1BBUlNFUl9DT01NRU5UKSkgewotICAgICAgICAgICAgLyoKLSAgICAgICAgICAgICAqIElmIHdlIGFyZSBhdCB0aGUgZW5kIG9mIHRoZSBjdXJyZW50IGVudGl0eSBhbmQKLSAgICAgICAgICAgICAqIHRoZSBjb250ZXh0IGFsbG93cyBpdCwgd2UgcG9wIGNvbnN1bWVkIGVudGl0aWVzCi0gICAgICAgICAgICAgKiBhdXRvbWF0aWNhbGx5LgotICAgICAgICAgICAgICogdGhlIGF1dG8gY2xvc2luZyBzaG91bGQgYmUgYmxvY2tlZCBpbiBvdGhlciBjYXNlcwotICAgICAgICAgICAgICovCisgICAgaWYgKCEoVkFMSURfQ1RYVChjdHh0KSkpIHsKKyAgICAgICAgeG1sRXJySW50ZXJuYWwoY3R4dCwgIlBhcnNlciBpbnB1dCBkYXRhIG1lbW9yeSBlcnJvclxuIiwgTlVMTCk7CisJY3R4dC0+ZXJyTm8gPSBYTUxfRVJSX0lOVEVSTkFMX0VSUk9SOworICAgICAgICB4bWxTdG9wUGFyc2VyKGN0eHQpOworCXJldHVybjsKKyAgICB9CisKKyAgICBpZiAoKCpjdHh0LT5pbnB1dC0+Y3VyID09IDApICYmCisgICAgICAgICh4bWxQYXJzZXJJbnB1dEdyb3coY3R4dC0+aW5wdXQsIElOUFVUX0NIVU5LKSA8PSAwKSkgeworICAgICAgICBpZiAoKGN0eHQtPmluc3RhdGUgIT0gWE1MX1BBUlNFUl9DT01NRU5UKSkKICAgICAgICAgICAgIHhtbFBvcElucHV0KGN0eHQpOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqY3VyOwotICAgICAgICAgICAgdW5zaWduZWQgY2hhciBjOworICAgICAgICByZXR1cm47CisgICAgfQogCi0gICAgICAgICAgICAvKgotICAgICAgICAgICAgICogICAyLjExIEVuZC1vZi1MaW5lIEhhbmRsaW5nCi0gICAgICAgICAgICAgKiAgIHRoZSBsaXRlcmFsIHR3by1jaGFyYWN0ZXIgc2VxdWVuY2UgIiN4RCN4QSIgb3IgYSBzdGFuZGFsb25lCi0gICAgICAgICAgICAgKiAgIGxpdGVyYWwgI3hELCBhbiBYTUwgcHJvY2Vzc29yIG11c3QgcGFzcyB0byB0aGUgYXBwbGljYXRpb24KLSAgICAgICAgICAgICAqICAgdGhlIHNpbmdsZSBjaGFyYWN0ZXIgI3hBLgotICAgICAgICAgICAgICovCi0gICAgICAgICAgICBpZiAoKihjdHh0LT5pbnB1dC0+Y3VyKSA9PSAnXG4nKSB7Ci0gICAgICAgICAgICAgICAgY3R4dC0+aW5wdXQtPmxpbmUrKzsgY3R4dC0+aW5wdXQtPmNvbCA9IDE7Ci0gICAgICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAgICBjdHh0LT5pbnB1dC0+Y29sKys7CisgICAgaWYgKGN0eHQtPmNoYXJzZXQgPT0gWE1MX0NIQVJfRU5DT0RJTkdfVVRGOCkgeworICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyICpjdXI7CisgICAgICAgIHVuc2lnbmVkIGNoYXIgYzsKIAotICAgICAgICAgICAgLyoKLSAgICAgICAgICAgICAqIFdlIGFyZSBzdXBwb3NlZCB0byBoYW5kbGUgVVRGOCwgY2hlY2sgaXQncyB2YWxpZAotICAgICAgICAgICAgICogRnJvbSByZmMyMDQ0OiBlbmNvZGluZyBvZiB0aGUgVW5pY29kZSB2YWx1ZXMgb24gVVRGLTg6Ci0gICAgICAgICAgICAgKgotICAgICAgICAgICAgICogVUNTLTQgcmFuZ2UgKGhleC4pICAgICAgICAgICBVVEYtOCBvY3RldCBzZXF1ZW5jZSAoYmluYXJ5KQotICAgICAgICAgICAgICogMDAwMCAwMDAwLTAwMDAgMDA3RiAgIDB4eHh4eHh4Ci0gICAgICAgICAgICAgKiAwMDAwIDAwODAtMDAwMCAwN0ZGICAgMTEweHh4eHggMTB4eHh4eHgKLSAgICAgICAgICAgICAqIDAwMDAgMDgwMC0wMDAwIEZGRkYgICAxMTEweHh4eCAxMHh4eHh4eCAxMHh4eHh4eAotICAgICAgICAgICAgICoKLSAgICAgICAgICAgICAqIENoZWNrIGZvciB0aGUgMHgxMTAwMDAgbGltaXQgdG9vCi0gICAgICAgICAgICAgKi8KLSAgICAgICAgICAgIGN1ciA9IGN0eHQtPmlucHV0LT5jdXI7CisgICAgICAgIC8qCisgICAgICAgICAqICAgMi4xMSBFbmQtb2YtTGluZSBIYW5kbGluZworICAgICAgICAgKiAgIHRoZSBsaXRlcmFsIHR3by1jaGFyYWN0ZXIgc2VxdWVuY2UgIiN4RCN4QSIgb3IgYSBzdGFuZGFsb25lCisgICAgICAgICAqICAgbGl0ZXJhbCAjeEQsIGFuIFhNTCBwcm9jZXNzb3IgbXVzdCBwYXNzIHRvIHRoZSBhcHBsaWNhdGlvbgorICAgICAgICAgKiAgIHRoZSBzaW5nbGUgY2hhcmFjdGVyICN4QS4KKyAgICAgICAgICovCisgICAgICAgIGlmICgqKGN0eHQtPmlucHV0LT5jdXIpID09ICdcbicpIHsKKyAgICAgICAgICAgIGN0eHQtPmlucHV0LT5saW5lKys7IGN0eHQtPmlucHV0LT5jb2wgPSAxOworICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgIGN0eHQtPmlucHV0LT5jb2wrKzsKIAotICAgICAgICAgICAgYyA9ICpjdXI7Ci0gICAgICAgICAgICBpZiAoYyAmIDB4ODApIHsKLQkgICAgICAgIGlmIChjID09IDB4QzApCi0JCSAgICBnb3RvIGVuY29kaW5nX2Vycm9yOwotICAgICAgICAgICAgICAgIGlmIChjdXJbMV0gPT0gMCkgeworICAgICAgICAvKgorICAgICAgICAgKiBXZSBhcmUgc3VwcG9zZWQgdG8gaGFuZGxlIFVURjgsIGNoZWNrIGl0J3MgdmFsaWQKKyAgICAgICAgICogRnJvbSByZmMyMDQ0OiBlbmNvZGluZyBvZiB0aGUgVW5pY29kZSB2YWx1ZXMgb24gVVRGLTg6CisgICAgICAgICAqCisgICAgICAgICAqIFVDUy00IHJhbmdlIChoZXguKSAgICAgICAgICAgVVRGLTggb2N0ZXQgc2VxdWVuY2UgKGJpbmFyeSkKKyAgICAgICAgICogMDAwMCAwMDAwLTAwMDAgMDA3RiAgIDB4eHh4eHh4CisgICAgICAgICAqIDAwMDAgMDA4MC0wMDAwIDA3RkYgICAxMTB4eHh4eCAxMHh4eHh4eAorICAgICAgICAgKiAwMDAwIDA4MDAtMDAwMCBGRkZGICAgMTExMHh4eHggMTB4eHh4eHggMTB4eHh4eHgKKyAgICAgICAgICoKKyAgICAgICAgICogQ2hlY2sgZm9yIHRoZSAweDExMDAwMCBsaW1pdCB0b28KKyAgICAgICAgICovCisgICAgICAgIGN1ciA9IGN0eHQtPmlucHV0LT5jdXI7CisKKyAgICAgICAgYyA9ICpjdXI7CisgICAgICAgIGlmIChjICYgMHg4MCkgeworICAgICAgICBpZiAoYyA9PSAweEMwKQorCSAgICBnb3RvIGVuY29kaW5nX2Vycm9yOworICAgICAgICAgICAgaWYgKGN1clsxXSA9PSAwKSB7CisgICAgICAgICAgICAgICAgeG1sUGFyc2VySW5wdXRHcm93KGN0eHQtPmlucHV0LCBJTlBVVF9DSFVOSyk7CisgICAgICAgICAgICAgICAgY3VyID0gY3R4dC0+aW5wdXQtPmN1cjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmICgoY3VyWzFdICYgMHhjMCkgIT0gMHg4MCkKKyAgICAgICAgICAgICAgICBnb3RvIGVuY29kaW5nX2Vycm9yOworICAgICAgICAgICAgaWYgKChjICYgMHhlMCkgPT0gMHhlMCkgeworICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCB2YWw7CisKKyAgICAgICAgICAgICAgICBpZiAoY3VyWzJdID09IDApIHsKICAgICAgICAgICAgICAgICAgICAgeG1sUGFyc2VySW5wdXRHcm93KGN0eHQtPmlucHV0LCBJTlBVVF9DSFVOSyk7CiAgICAgICAgICAgICAgICAgICAgIGN1ciA9IGN0eHQtPmlucHV0LT5jdXI7CiAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGlmICgoY3VyWzFdICYgMHhjMCkgIT0gMHg4MCkKKyAgICAgICAgICAgICAgICBpZiAoKGN1clsyXSAmIDB4YzApICE9IDB4ODApCiAgICAgICAgICAgICAgICAgICAgIGdvdG8gZW5jb2RpbmdfZXJyb3I7Ci0gICAgICAgICAgICAgICAgaWYgKChjICYgMHhlMCkgPT0gMHhlMCkgewotICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgdmFsOwotCi0gICAgICAgICAgICAgICAgICAgIGlmIChjdXJbMl0gPT0gMCkgeworICAgICAgICAgICAgICAgIGlmICgoYyAmIDB4ZjApID09IDB4ZjApIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGN1clszXSA9PSAwKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICB4bWxQYXJzZXJJbnB1dEdyb3coY3R4dC0+aW5wdXQsIElOUFVUX0NIVU5LKTsKICAgICAgICAgICAgICAgICAgICAgICAgIGN1ciA9IGN0eHQtPmlucHV0LT5jdXI7CiAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgaWYgKChjdXJbMl0gJiAweGMwKSAhPSAweDgwKQorICAgICAgICAgICAgICAgICAgICBpZiAoKChjICYgMHhmOCkgIT0gMHhmMCkgfHwKKyAgICAgICAgICAgICAgICAgICAgICAgICgoY3VyWzNdICYgMHhjMCkgIT0gMHg4MCkpCiAgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGVuY29kaW5nX2Vycm9yOwotICAgICAgICAgICAgICAgICAgICBpZiAoKGMgJiAweGYwKSA9PSAweGYwKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoY3VyWzNdID09IDApIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxQYXJzZXJJbnB1dEdyb3coY3R4dC0+aW5wdXQsIElOUFVUX0NIVU5LKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXIgPSBjdHh0LT5pbnB1dC0+Y3VyOwotICAgICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCgoYyAmIDB4ZjgpICE9IDB4ZjApIHx8Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgKChjdXJbM10gJiAweGMwKSAhPSAweDgwKSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGVuY29kaW5nX2Vycm9yOwotICAgICAgICAgICAgICAgICAgICAgICAgLyogNC1ieXRlIGNvZGUgKi8KLSAgICAgICAgICAgICAgICAgICAgICAgIGN0eHQtPmlucHV0LT5jdXIgKz0gNDsKLSAgICAgICAgICAgICAgICAgICAgICAgIHZhbCA9IChjdXJbMF0gJiAweDcpIDw8IDE4OwotICAgICAgICAgICAgICAgICAgICAgICAgdmFsIHw9IChjdXJbMV0gJiAweDNmKSA8PCAxMjsKLSAgICAgICAgICAgICAgICAgICAgICAgIHZhbCB8PSAoY3VyWzJdICYgMHgzZikgPDwgNjsKLSAgICAgICAgICAgICAgICAgICAgICAgIHZhbCB8PSBjdXJbM10gJiAweDNmOwotICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICAgICAgLyogMy1ieXRlIGNvZGUgKi8KLSAgICAgICAgICAgICAgICAgICAgICAgIGN0eHQtPmlucHV0LT5jdXIgKz0gMzsKLSAgICAgICAgICAgICAgICAgICAgICAgIHZhbCA9IChjdXJbMF0gJiAweGYpIDw8IDEyOwotICAgICAgICAgICAgICAgICAgICAgICAgdmFsIHw9IChjdXJbMV0gJiAweDNmKSA8PCA2OwotICAgICAgICAgICAgICAgICAgICAgICAgdmFsIHw9IGN1clsyXSAmIDB4M2Y7Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgaWYgKCgodmFsID4gMHhkN2ZmKSAmJiAodmFsIDwgMHhlMDAwKSkgfHwKLSAgICAgICAgICAgICAgICAgICAgICAgICgodmFsID4gMHhmZmZkKSAmJiAodmFsIDwgMHgxMDAwMCkpIHx8Ci0gICAgICAgICAgICAgICAgICAgICAgICAodmFsID49IDB4MTEwMDAwKSkgewotCQkJeG1sRXJyRW5jb2RpbmdJbnQoY3R4dCwgWE1MX0VSUl9JTlZBTElEX0NIQVIsCi0JCQkJCSAgIkNoYXIgMHglWCBvdXQgb2YgYWxsb3dlZCByYW5nZVxuIiwKLQkJCQkJICB2YWwpOwotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICAgICAgICAgIC8qIDItYnl0ZSBjb2RlICovCi0gICAgICAgICAgICAgICAgICAgIGN0eHQtPmlucHV0LT5jdXIgKz0gMjsKKyAgICAgICAgICAgICAgICAgICAgLyogNC1ieXRlIGNvZGUgKi8KKyAgICAgICAgICAgICAgICAgICAgY3R4dC0+aW5wdXQtPmN1ciArPSA0OworICAgICAgICAgICAgICAgICAgICB2YWwgPSAoY3VyWzBdICYgMHg3KSA8PCAxODsKKyAgICAgICAgICAgICAgICAgICAgdmFsIHw9IChjdXJbMV0gJiAweDNmKSA8PCAxMjsKKyAgICAgICAgICAgICAgICAgICAgdmFsIHw9IChjdXJbMl0gJiAweDNmKSA8PCA2OworICAgICAgICAgICAgICAgICAgICB2YWwgfD0gY3VyWzNdICYgMHgzZjsKKyAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICAvKiAzLWJ5dGUgY29kZSAqLworICAgICAgICAgICAgICAgICAgICBjdHh0LT5pbnB1dC0+Y3VyICs9IDM7CisgICAgICAgICAgICAgICAgICAgIHZhbCA9IChjdXJbMF0gJiAweGYpIDw8IDEyOworICAgICAgICAgICAgICAgICAgICB2YWwgfD0gKGN1clsxXSAmIDB4M2YpIDw8IDY7CisgICAgICAgICAgICAgICAgICAgIHZhbCB8PSBjdXJbMl0gJiAweDNmOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBpZiAoKCh2YWwgPiAweGQ3ZmYpICYmICh2YWwgPCAweGUwMDApKSB8fAorICAgICAgICAgICAgICAgICAgICAoKHZhbCA+IDB4ZmZmZCkgJiYgKHZhbCA8IDB4MTAwMDApKSB8fAorICAgICAgICAgICAgICAgICAgICAodmFsID49IDB4MTEwMDAwKSkgeworCQl4bWxFcnJFbmNvZGluZ0ludChjdHh0LCBYTUxfRVJSX0lOVkFMSURfQ0hBUiwKKwkJCQkgICJDaGFyIDB4JVggb3V0IG9mIGFsbG93ZWQgcmFuZ2VcbiIsCisJCQkJICB2YWwpOworICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgICAgIC8qIDEtYnl0ZSBjb2RlICovCi0gICAgICAgICAgICAgICAgY3R4dC0+aW5wdXQtPmN1cisrOworICAgICAgICAgICAgICAgIC8qIDItYnl0ZSBjb2RlICovCisgICAgICAgICAgICAgICAgY3R4dC0+aW5wdXQtPmN1ciArPSAyOworICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgIC8qIDEtYnl0ZSBjb2RlICovCisgICAgICAgICAgICBjdHh0LT5pbnB1dC0+Y3VyKys7CiAKLSAgICAgICAgICAgIGN0eHQtPm5iQ2hhcnMrKzsKLSAgICAgICAgICAgIGlmICgqY3R4dC0+aW5wdXQtPmN1ciA9PSAwKQotICAgICAgICAgICAgICAgIHhtbFBhcnNlcklucHV0R3JvdyhjdHh0LT5pbnB1dCwgSU5QVVRfQ0hVTkspOwotICAgICAgICB9CisgICAgICAgIGN0eHQtPm5iQ2hhcnMrKzsKKyAgICAgICAgaWYgKCpjdHh0LT5pbnB1dC0+Y3VyID09IDApCisgICAgICAgICAgICB4bWxQYXJzZXJJbnB1dEdyb3coY3R4dC0+aW5wdXQsIElOUFVUX0NIVU5LKTsKICAgICB9IGVsc2UgewogICAgICAgICAvKgogICAgICAgICAgKiBBc3N1bWUgaXQncyBhIGZpeGVkIGxlbmd0aCBlbmNvZGluZyAoMSkgd2l0aApkaWZmIC0tZ2l0IGEvcHl0aG9uL2Rydl9saWJ4bWwyLnB5IGIvcHl0aG9uL2Rydl9saWJ4bWwyLnB5CmluZGV4IGMyZWMzZTIuLjcxYjFjNjcgMTAwNjQ0Ci0tLSBhL3B5dGhvbi9kcnZfbGlieG1sMi5weQorKysgYi9weXRob24vZHJ2X2xpYnhtbDIucHkKQEAgLTQ0LDggKzQ0LDE4IEBACiAgICAgX19hdXRob3JfXyAgPSBjb2RlY3MudW5pY29kZV9lc2NhcGVfZGVjb2RlKF9fYXV0aG9yX18pWzBdCiAKICAgICBTdHJpbmdUeXBlcyA9IChzdHIsIHVuaWNvZGUpCisgICAgIyBsaWJ4bWwyIHJldHVybnMgc3RyaW5ncyBhcyBVVEY4CisgICAgX2RlY29kZXIgPSBjb2RlY3MubG9va3VwKCJ1dGY4IilbMV0KKyAgICBkZWYgX2Qocyk6CisgICAgICAgIGlmIHMgaXMgTm9uZToKKyAgICAgICAgICAgIHJldHVybiBzCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICByZXR1cm4gX2RlY29kZXIocylbMF0KIGVsc2U6CiAgICAgU3RyaW5nVHlwZXMgPSBzdHIKKyAgICAjIHMgaXMgVW5pY29kZSBgc3RyYCBhbHJlYWR5CisgICAgZGVmIF9kKHMpOgorICAgICAgICByZXR1cm4gcwogCiBmcm9tIHhtbC5zYXguX2V4Y2VwdGlvbnMgaW1wb3J0ICoKIGZyb20geG1sLnNheCBpbXBvcnQgeG1scmVhZGVyLCBzYXh1dGlscwpAQCAtNjEsMTQgKzcxLDYgQEAKICAgICAgcHJvcGVydHlfZG9tX25vZGUsIFwKICAgICAgcHJvcGVydHlfeG1sX3N0cmluZwogCi0jIGxpYnhtbDIgcmV0dXJucyBzdHJpbmdzIGFzIFVURjgKLV9kZWNvZGVyID0gY29kZWNzLmxvb2t1cCgidXRmOCIpWzFdCi1kZWYgX2Qocyk6Ci0gICAgaWYgcyBpcyBOb25lOgotICAgICAgICByZXR1cm4gcwotICAgIGVsc2U6Ci0gICAgICAgIHJldHVybiBfZGVjb2RlcihzKVswXQotCiB0cnk6CiAgICAgaW1wb3J0IGxpYnhtbDIKIGV4Y2VwdCBJbXBvcnRFcnJvcjoKZGlmZiAtLWdpdCBhL3B5dGhvbi9saWJ4bWwuYyBiL3B5dGhvbi9saWJ4bWwuYwppbmRleCAzMGI3MWYzLi41YjFmZjZlIDEwMDY0NAotLS0gYS9weXRob24vbGlieG1sLmMKKysrIGIvcHl0aG9uL2xpYnhtbC5jCkBAIC05MDYsNyArOTA2LDcgQEAKICAgICAgICAgdHlwZSA9IDI7CiAgICAgaWYgKHR5cGUgIT0gMCkgewogICAgICAgICAvKgotICAgICAgICAgKiB0aGUgeG1sbGliIGludGVyZmFjZSBhbHdheXMgZ2VuZXJhdGUgYSBkaWN0aW9ubmFyeSwKKyAgICAgICAgICogdGhlIHhtbGxpYiBpbnRlcmZhY2UgYWx3YXlzIGdlbmVyYXRlcyBhIGRpY3Rpb25hcnksCiAgICAgICAgICAqIHBvc3NpYmx5IGVtcHR5CiAgICAgICAgICAqLwogICAgICAgICBpZiAoKGF0dHJzID09IE5VTEwpICYmICh0eXBlID09IDEpKSB7CmRpZmYgLS1naXQgYS9weXRob24vc2V0dXAucHkgYi9weXRob24vc2V0dXAucHkKaW5kZXggZjEwYjljMS4uMWFjNGVhYyAxMDA3NTUKLS0tIGEvcHl0aG9uL3NldHVwLnB5CisrKyBiL3B5dGhvbi9zZXR1cC5weQpAQCAtMjI2LDcgKzIyNiw3IEBACiBzZXR1cCAobmFtZSA9ICJsaWJ4bWwyLXB5dGhvbiIsCiAgICAgICAgIyBPbiAqbml4LCB0aGUgdmVyc2lvbiBudW1iZXIgaXMgY3JlYXRlZCBmcm9tIHNldHVwLnB5LmluCiAgICAgICAgIyBPbiB3aW5kb3dzLCBpdCBpcyBzZXQgYnkgY29uZmlndXJlLmpzCi0gICAgICAgdmVyc2lvbiA9ICIyLjkuMyIsCisgICAgICAgdmVyc2lvbiA9ICIyLjkuNCIsCiAgICAgICAgZGVzY3JpcHRpb24gPSBkZXNjciwKICAgICAgICBhdXRob3IgPSAiRGFuaWVsIFZlaWxsYXJkIiwKICAgICAgICBhdXRob3JfZW1haWwgPSAidmVpbGxhcmRAcmVkaGF0LmNvbSIsCmRpZmYgLS1naXQgYS9yZWxheG5nLmMgYi9yZWxheG5nLmMKaW5kZXggNTc3OWU3Zi4uM2QzZTY5YyAxMDA2NDQKLS0tIGEvcmVsYXhuZy5jCisrKyBiL3JlbGF4bmcuYwpAQCAtNTA3LDcgKzUwNyw3IEBACiAgKgogICogSGFuZGxlIGEgUmVsYXggTkcgUGFyc2luZyBlcnJvcgogICovCi1zdGF0aWMgdm9pZAorc3RhdGljIHZvaWQgTElCWE1MX0FUVFJfRk9STUFUKDQsMCkKIHhtbFJuZ1BFcnIoeG1sUmVsYXhOR1BhcnNlckN0eHRQdHIgY3R4dCwgeG1sTm9kZVB0ciBub2RlLCBpbnQgZXJyb3IsCiAgICAgICAgICAgIGNvbnN0IGNoYXIgKm1zZywgY29uc3QgeG1sQ2hhciAqIHN0cjEsIGNvbnN0IHhtbENoYXIgKiBzdHIyKQogewpAQCAtNTQxLDcgKzU0MSw3IEBACiAgKgogICogSGFuZGxlIGEgUmVsYXggTkcgVmFsaWRhdGlvbiBlcnJvcgogICovCi1zdGF0aWMgdm9pZAorc3RhdGljIHZvaWQgTElCWE1MX0FUVFJfRk9STUFUKDQsMCkKIHhtbFJuZ1ZFcnIoeG1sUmVsYXhOR1ZhbGlkQ3R4dFB0ciBjdHh0LCB4bWxOb2RlUHRyIG5vZGUsIGludCBlcnJvciwKICAgICAgICAgICAgY29uc3QgY2hhciAqbXNnLCBjb25zdCB4bWxDaGFyICogc3RyMSwgY29uc3QgeG1sQ2hhciAqIHN0cjIpCiB7CkBAIC0yMDg4LDYgKzIwODgsNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiBhcmcyKQogewogICAgIGNoYXIgbXNnWzEwMDBdOworICAgIHhtbENoYXIgKnJlc3VsdDsKIAogICAgIGlmIChhcmcxID09IE5VTEwpCiAgICAgICAgIGFyZzEgPSBCQURfQ0FTVCAiIjsKQEAgLTIyMTUsNyArMjIxNiw4IEBACiAgICAgICAgIHNucHJpbnRmKG1zZywgMTAwMCwgIlVua25vd24gZXJyb3IgY29kZSAlZFxuIiwgZXJyKTsKICAgICB9CiAgICAgbXNnWzEwMDAgLSAxXSA9IDA7Ci0gICAgcmV0dXJuICh4bWxTdHJkdXAoKHhtbENoYXIgKikgbXNnKSk7CisgICAgcmVzdWx0ID0geG1sQ2hhclN0cmR1cChtc2cpOworICAgIHJldHVybiAoeG1sRXNjYXBlRm9ybWF0U3RyaW5nKCZyZXN1bHQpKTsKIH0KIAogLyoqCmRpZmYgLS1naXQgYS9yZXN1bHQvSFRNTC83NTg2MDUuaHRtbCBiL3Jlc3VsdC9IVE1MLzc1ODYwNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYwYjAxZDMKLS0tIC9kZXYvbnVsbAorKysgYi9yZXN1bHQvSFRNTC83NTg2MDUuaHRtbApAQCAtMCwwICsxLDMgQEAKKzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgSFRNTCA0LjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL1JFQy1odG1sNDAvbG9vc2UuZHRkIj4KKzxodG1sPjxib2R5PjxwPiZhbXA7JmVjaXJjOworPC9wPjwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9yZXN1bHQvSFRNTC83NTg2MDUuaHRtbC5lcnIgYi9yZXN1bHQvSFRNTC83NTg2MDUuaHRtbC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjA4NmY5NgotLS0gL2Rldi9udWxsCisrKyBiL3Jlc3VsdC9IVE1MLzc1ODYwNS5odG1sLmVycgpAQCAtMCwwICsxLDMgQEAKKy4vdGVzdC9IVE1MLzc1ODYwNS5odG1sOjE6IEhUTUwgcGFyc2VyIGVycm9yIDogaHRtbFBhcnNlRW50aXR5UmVmOiBleHBlY3RpbmcgJzsnCivDqgorICBeCmRpZmYgLS1naXQgYS9yZXN1bHQvSFRNTC83NTg2MDUuaHRtbC5zYXggYi9yZXN1bHQvSFRNTC83NTg2MDUuaHRtbC5zYXgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzZlMDk4NgotLS0gL2Rldi9udWxsCisrKyBiL3Jlc3VsdC9IVE1MLzc1ODYwNS5odG1sLnNheApAQCAtMCwwICsxLDE0IEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5lcnJvcjogaHRtbFBhcnNlRW50aXR5UmVmOiBleHBlY3RpbmcgJzsnCitTQVguc3RhcnRFbGVtZW50KGh0bWwpCitTQVguc3RhcnRFbGVtZW50KGJvZHkpCitTQVguc3RhcnRFbGVtZW50KHApCitTQVguY2hhcmFjdGVycygmYW1wOywgMSkKK1NBWC5jaGFyYWN0ZXJzKCZlY2lyYzssIDIpCitTQVguaWdub3JhYmxlV2hpdGVzcGFjZSgKKywgMSkKK1NBWC5lbmRFbGVtZW50KHApCitTQVguZW5kRWxlbWVudChib2R5KQorU0FYLmVuZEVsZW1lbnQoaHRtbCkKK1NBWC5lbmREb2N1bWVudCgpCmRpZmYgLS1naXQgYS9yZXN1bHQvSFRNTC83NTg2MDYuaHRtbCBiL3Jlc3VsdC9IVE1MLzc1ODYwNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRmMjFmNjIKLS0tIC9kZXYvbnVsbAorKysgYi9yZXN1bHQvSFRNTC83NTg2MDYuaHRtbApAQCAtMCwwICsxLDIgQEAKKzwhRE9DVFlQRSA+CisKZGlmZiAtLWdpdCBhL3Jlc3VsdC9IVE1MLzc1ODYwNi5odG1sLmVyciBiL3Jlc3VsdC9IVE1MLzc1ODYwNi5odG1sLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNjA0MzNhCi0tLSAvZGV2L251bGwKKysrIGIvcmVzdWx0L0hUTUwvNzU4NjA2Lmh0bWwuZXJyCkBAIC0wLDAgKzEsMTYgQEAKKy4vdGVzdC9IVE1MLzc1ODYwNi5odG1sOjE6IEhUTUwgcGFyc2VyIGVycm9yIDogQ29tbWVudCBub3QgdGVybWluYXRlZCAKKzwhLS0KKzwhLS0MPCFkb2N0eXBlCisgICAgXgorLi90ZXN0L0hUTUwvNzU4NjA2Lmh0bWw6MTogSFRNTCBwYXJzZXIgZXJyb3IgOiBJbnZhbGlkIGNoYXIgaW4gQ0RBVEEgMHhDCis8IS0tDDwhZG9jdHlwZQorICAgIF4KKy4vdGVzdC9IVE1MLzc1ODYwNi5odG1sOjE6IEhUTUwgcGFyc2VyIGVycm9yIDogTWlzcGxhY2VkIERPQ1RZUEUgZGVjbGFyYXRpb24KKzwhLS0MPCFkb2N0eXBlCisgICAgIF4KKy4vdGVzdC9IVE1MLzc1ODYwNi5odG1sOjI6IEhUTUwgcGFyc2VyIGVycm9yIDogaHRtbFBhcnNlRG9jVHlwZURlY2wgOiBubyBET0NUWVBFIG5hbWUgIQorCiteCisuL3Rlc3QvSFRNTC83NTg2MDYuaHRtbDoyOiBIVE1MIHBhcnNlciBlcnJvciA6IERPQ1RZUEUgaW1wcm9wZXJseSB0ZXJtaW5hdGVkCisKK14KZGlmZiAtLWdpdCBhL3Jlc3VsdC9IVE1MLzc1ODYwNi5odG1sLnNheCBiL3Jlc3VsdC9IVE1MLzc1ODYwNi5odG1sLnNheApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNDRhNWNmCi0tLSAvZGV2L251bGwKKysrIGIvcmVzdWx0L0hUTUwvNzU4NjA2Lmh0bWwuc2F4CkBAIC0wLDAgKzEsMTAgQEAKK1NBWC5zZXREb2N1bWVudExvY2F0b3IoKQorU0FYLnN0YXJ0RG9jdW1lbnQoKQorU0FYLmVycm9yOiBDb21tZW50IG5vdCB0ZXJtaW5hdGVkIAorPCEtLQorU0FYLmVycm9yOiBJbnZhbGlkIGNoYXIgaW4gQ0RBVEEgMHhDCitTQVguZXJyb3I6IE1pc3BsYWNlZCBET0NUWVBFIGRlY2xhcmF0aW9uCitTQVguZXJyb3I6IGh0bWxQYXJzZURvY1R5cGVEZWNsIDogbm8gRE9DVFlQRSBuYW1lICEKK1NBWC5lcnJvcjogRE9DVFlQRSBpbXByb3Blcmx5IHRlcm1pbmF0ZWQKK1NBWC5pbnRlcm5hbFN1YnNldCgobnVsbCksICwgKQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL3Jlc3VsdC9IVE1MLzc1ODYwNl8yLmh0bWwgYi9yZXN1bHQvSFRNTC83NTg2MDZfMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI3MzgxNmEKLS0tIC9kZXYvbnVsbAorKysgYi9yZXN1bHQvSFRNTC83NTg2MDZfMi5odG1sCkBAIC0wLDAgKzEsMiBAQAorPCFET0NUWVBFID4KKzxodG1sPjxib2R5PjxwPiYjMTQ1OzwvcD48L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvcmVzdWx0L0hUTUwvNzU4NjA2XzIuaHRtbC5lcnIgYi9yZXN1bHQvSFRNTC83NTg2MDZfMi5odG1sLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YmUwMzlmCi0tLSAvZGV2L251bGwKKysrIGIvcmVzdWx0L0hUTUwvNzU4NjA2XzIuaHRtbC5lcnIKQEAgLTAsMCArMSwxNiBAQAorLi90ZXN0L0hUTUwvNzU4NjA2XzIuaHRtbDoxOiBIVE1MIHBhcnNlciBlcnJvciA6IENvbW1lbnQgbm90IHRlcm1pbmF0ZWQgCis8IS0tCis8IS0tDJE8IWRPY3RZUEUKKyAgICBeCisuL3Rlc3QvSFRNTC83NTg2MDZfMi5odG1sOjE6IEhUTUwgcGFyc2VyIGVycm9yIDogSW52YWxpZCBjaGFyIGluIENEQVRBIDB4QworPCEtLQyRPCFkT2N0WVBFCisgICAgXgorLi90ZXN0L0hUTUwvNzU4NjA2XzIuaHRtbDoxOiBIVE1MIHBhcnNlciBlcnJvciA6IE1pc3BsYWNlZCBET0NUWVBFIGRlY2xhcmF0aW9uCivCkTwhZE9jdFlQRQorICBeCisuL3Rlc3QvSFRNTC83NTg2MDZfMi5odG1sOjI6IEhUTUwgcGFyc2VyIGVycm9yIDogaHRtbFBhcnNlRG9jVHlwZURlY2wgOiBubyBET0NUWVBFIG5hbWUgIQorCiteCisuL3Rlc3QvSFRNTC83NTg2MDZfMi5odG1sOjI6IEhUTUwgcGFyc2VyIGVycm9yIDogRE9DVFlQRSBpbXByb3Blcmx5IHRlcm1pbmF0ZWQKKworXgpkaWZmIC0tZ2l0IGEvcmVzdWx0L0hUTUwvNzU4NjA2XzIuaHRtbC5zYXggYi9yZXN1bHQvSFRNTC83NTg2MDZfMi5odG1sLnNheApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MGZmM2Q3Ci0tLSAvZGV2L251bGwKKysrIGIvcmVzdWx0L0hUTUwvNzU4NjA2XzIuaHRtbC5zYXgKQEAgLTAsMCArMSwxNyBAQAorU0FYLnNldERvY3VtZW50TG9jYXRvcigpCitTQVguc3RhcnREb2N1bWVudCgpCitTQVguZXJyb3I6IENvbW1lbnQgbm90IHRlcm1pbmF0ZWQgCis8IS0tCitTQVguZXJyb3I6IEludmFsaWQgY2hhciBpbiBDREFUQSAweEMKK1NBWC5zdGFydEVsZW1lbnQoaHRtbCkKK1NBWC5zdGFydEVsZW1lbnQoYm9keSkKK1NBWC5zdGFydEVsZW1lbnQocCkKK1NBWC5jaGFyYWN0ZXJzKCYjMTQ1OywgMikKK1NBWC5lcnJvcjogTWlzcGxhY2VkIERPQ1RZUEUgZGVjbGFyYXRpb24KK1NBWC5lcnJvcjogaHRtbFBhcnNlRG9jVHlwZURlY2wgOiBubyBET0NUWVBFIG5hbWUgIQorU0FYLmVycm9yOiBET0NUWVBFIGltcHJvcGVybHkgdGVybWluYXRlZAorU0FYLmludGVybmFsU3Vic2V0KChudWxsKSwgLCApCitTQVguZW5kRWxlbWVudChwKQorU0FYLmVuZEVsZW1lbnQoYm9keSkKK1NBWC5lbmRFbGVtZW50KGh0bWwpCitTQVguZW5kRG9jdW1lbnQoKQpkaWZmIC0tZ2l0IGEvcmVzdWx0L1hQYXRoL2V4cHIvYmFzZSBiL3Jlc3VsdC9YUGF0aC9leHByL2Jhc2UKaW5kZXggMzU1Mjg2Ni4uZTA0MzQ2ZiAxMDA2NDQKLS0tIGEvcmVzdWx0L1hQYXRoL2V4cHIvYmFzZQorKysgYi9yZXN1bHQvWFBhdGgvZXhwci9iYXNlCkBAIC0xOCwzICsxOCwxMSBAQAogPT09PT09PT09PT09PT09PT09PT09PT09CiBFeHByZXNzaW9uOiAoMSsyKSooMys0KQogT2JqZWN0IGlzIGEgbnVtYmVyIDogMjEKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiAxKjErMSoxKzEqMSsxKjErMSoxKzEqMSsxKjErMSoxKzEqMSsxKjErMSoxKzEqMSsxKjErMSoxKzEqMSsxKjErMSoxKzEqMSsxKjErMSoxKzEqMQorT2JqZWN0IGlzIGEgbnVtYmVyIDogMjEKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiBzZWxmOjotbmFtZQorT2JqZWN0IGlzIGVtcHR5IChOVUxMKQpkaWZmIC0tZ2l0IGEvcmVzdWx0L1hQYXRoL3Rlc3RzL25zc2ltcGxlIGIvcmVzdWx0L1hQYXRoL3Rlc3RzL25zc2ltcGxlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhmMGRkMGUKLS0tIC9kZXYvbnVsbAorKysgYi9yZXN1bHQvWFBhdGgvdGVzdHMvbnNzaW1wbGUKQEAgLTAsMCArMSwyNCBAQAorCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246IC9kb2MvZWxlbS9uYW1lc3BhY2U6Om5vZGUoKS8uLgorT2JqZWN0IGlzIGEgTm9kZSBTZXQgOgorU2V0IGNvbnRhaW5zIDEgbm9kZXM6CisxICBFTEVNRU5UIGVsZW0KKyAgICBuYW1lc3BhY2UgbnMyIGhyZWY9bnN1cmkyCisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogL2RvYy9lbGVtL25hbWVzcGFjZTo6Ki9zZWxmOjpub2RlKClbdHJ1ZSgpXQorT2JqZWN0IGlzIGEgTm9kZSBTZXQgOgorU2V0IGNvbnRhaW5zIDMgbm9kZXM6CisxICBuYW1lc3BhY2UgeG1sIGhyZWY9aHR0cDovL3d3dy53My5vcmcvWE1MLzE5OTgvbmFtZXNwYWNlCisyICBuYW1lc3BhY2UgbnMxIGhyZWY9bnN1cmkxCiszICBuYW1lc3BhY2UgbnMyIGhyZWY9bnN1cmkyCisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogLy8qW25hbWVzcGFjZTo6bnMxXQorT2JqZWN0IGlzIGEgTm9kZSBTZXQgOgorU2V0IGNvbnRhaW5zIDIgbm9kZXM6CisxICBFTEVNRU5UIGRvYworICAgIG5hbWVzcGFjZSBuczEgaHJlZj1uc3VyaTEKKzIgIEVMRU1FTlQgZWxlbQorICAgIG5hbWVzcGFjZSBuczIgaHJlZj1uc3VyaTIKZGlmZiAtLWdpdCBhL3Jlc3VsdC9YUGF0aC94cHRyL3ZpZGVycm9yIGIvcmVzdWx0L1hQYXRoL3hwdHIvdmlkZXJyb3IKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDU4OTg4MgotLS0gL2Rldi9udWxsCisrKyBiL3Jlc3VsdC9YUGF0aC94cHRyL3ZpZGVycm9yCkBAIC0wLDAgKzEsNCBAQAorCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246IHhwb2ludGVyKG5vbi1leGlzdGluZy1mbigpL3JhbmdlLXRvKGlkKCdjaGFwdGVyMicpKSkKK09iamVjdCBpcyBlbXB0eSAoTlVMTCkKZGlmZiAtLWdpdCBhL3Jlc3VsdC9jZGF0YS0yLWJ5dGUtVVRGLTgueG1sIGIvcmVzdWx0L2NkYXRhLTItYnl0ZS1VVEYtOC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODU1MmVmYwotLS0gL2Rldi9udWxsCisrKyBiL3Jlc3VsdC9jZGF0YS0yLWJ5dGUtVVRGLTgueG1sCkBAIC0wLDAgKzEsNiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzwhLS0gVGhpcyB0ZXN0cyB0aGF0IHR3by1ieXRlIFVURi04IGNoYXJhY3RlcnMgYXJlIHBhcnNlZCBwcm9wZXJseSB3aGVuIHNwbGl0IGFjcm9zcyBhIGJ1ZmZlciBib3VuZGFyeSBvZiBsZW5ndGggWE1MX1BBUlNFUl9CSUdfQlVGRkVSX1NJWkUgKDMwMCBieXRlcykuIC0tPgorPGRvYz4KKzxwPjwhW0NEQVRBW8SMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjF1dPjwvcD4KKzxwPjwhW0NEQVRBWyDEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIxdXT48L3A+Cis8L2RvYz4KZGlmZiAtLWdpdCBhL3Jlc3VsdC9jZGF0YS0yLWJ5dGUtVVRGLTgueG1sLnJkZSBiL3Jlc3VsdC9jZGF0YS0yLWJ5dGUtVVRGLTgueG1sLnJkZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZWIyOTQwCi0tLSAvZGV2L251bGwKKysrIGIvcmVzdWx0L2NkYXRhLTItYnl0ZS1VVEYtOC54bWwucmRlCkBAIC0wLDAgKzEsMTUgQEAKKzAgOCAjY29tbWVudCAwIDEgIFRoaXMgdGVzdHMgdGhhdCB0d28tYnl0ZSBVVEYtOCBjaGFyYWN0ZXJzIGFyZSBwYXJzZWQgcHJvcGVybHkgd2hlbiBzcGxpdCBhY3Jvc3MgYSBidWZmZXIgYm91bmRhcnkgb2YgbGVuZ3RoIFhNTF9QQVJTRVJfQklHX0JVRkZFUl9TSVpFICgzMDAgYnl0ZXMpLiAKKzAgMSBkb2MgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKworMSAxIHAgMCAwCisyIDQgI2NkYXRhLXNlY3Rpb24gMCAxIMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjAorMSAxNSBwIDAgMAorMSAxNCAjdGV4dCAwIDEgCisKKzEgMSBwIDAgMAorMiA0ICNjZGF0YS1zZWN0aW9uIDAgMSAgxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMCisxIDE1IHAgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKworMCAxNSBkb2MgMCAwCmRpZmYgLS1naXQgYS9yZXN1bHQvY2RhdGEtMi1ieXRlLVVURi04LnhtbC5yZHIgYi9yZXN1bHQvY2RhdGEtMi1ieXRlLVVURi04LnhtbC5yZHIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmViMjk0MAotLS0gL2Rldi9udWxsCisrKyBiL3Jlc3VsdC9jZGF0YS0yLWJ5dGUtVVRGLTgueG1sLnJkcgpAQCAtMCwwICsxLDE1IEBACiswIDggI2NvbW1lbnQgMCAxICBUaGlzIHRlc3RzIHRoYXQgdHdvLWJ5dGUgVVRGLTggY2hhcmFjdGVycyBhcmUgcGFyc2VkIHByb3Blcmx5IHdoZW4gc3BsaXQgYWNyb3NzIGEgYnVmZmVyIGJvdW5kYXJ5IG9mIGxlbmd0aCBYTUxfUEFSU0VSX0JJR19CVUZGRVJfU0laRSAoMzAwIGJ5dGVzKS4gCiswIDEgZG9jIDAgMAorMSAxNCAjdGV4dCAwIDEgCisKKzEgMSBwIDAgMAorMiA0ICNjZGF0YS1zZWN0aW9uIDAgMSDEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIwKKzEgMTUgcCAwIDAKKzEgMTQgI3RleHQgMCAxIAorCisxIDEgcCAwIDAKKzIgNCAjY2RhdGEtc2VjdGlvbiAwIDEgIMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjAorMSAxNSBwIDAgMAorMSAxNCAjdGV4dCAwIDEgCisKKzAgMTUgZG9jIDAgMApkaWZmIC0tZ2l0IGEvcmVzdWx0L2NkYXRhLTItYnl0ZS1VVEYtOC54bWwuc2F4IGIvcmVzdWx0L2NkYXRhLTItYnl0ZS1VVEYtOC54bWwuc2F4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYzOTdmNmEKLS0tIC9kZXYvbnVsbAorKysgYi9yZXN1bHQvY2RhdGEtMi1ieXRlLVVURi04LnhtbC5zYXgKQEAgLTAsMCArMSwxOCBAQAorU0FYLnNldERvY3VtZW50TG9jYXRvcigpCitTQVguc3RhcnREb2N1bWVudCgpCitTQVguY29tbWVudCggVGhpcyB0ZXN0cyB0aGF0IHR3by1ieXRlIFVURi04IGNoYXJhY3RlcnMgYXJlIHBhcnNlZCBwcm9wZXJseSB3aGVuIHNwbGl0IGFjcm9zcyBhIGJ1ZmZlciBib3VuZGFyeSBvZiBsZW5ndGggWE1MX1BBUlNFUl9CSUdfQlVGRkVSX1NJWkUgKDMwMCBieXRlcykuICkKK1NBWC5zdGFydEVsZW1lbnQoZG9jKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguc3RhcnRFbGVtZW50KHApCitTQVgucGNkYXRhKMSMxIzEjMSMxIzEjMSMxIzEjMSMLCAxMjAwKQorU0FYLmVuZEVsZW1lbnQocCkKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLnN0YXJ0RWxlbWVudChwKQorU0FYLnBjZGF0YSggxIzEjMSMxIzEjMSMxIzEjMSMxCwgMTIwMSkKK1NBWC5lbmRFbGVtZW50KHApCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5lbmRFbGVtZW50KGRvYykKK1NBWC5lbmREb2N1bWVudCgpCmRpZmYgLS1naXQgYS9yZXN1bHQvY2RhdGEtMi1ieXRlLVVURi04LnhtbC5zYXgyIGIvcmVzdWx0L2NkYXRhLTItYnl0ZS1VVEYtOC54bWwuc2F4MgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZGEyZDUwCi0tLSAvZGV2L251bGwKKysrIGIvcmVzdWx0L2NkYXRhLTItYnl0ZS1VVEYtOC54bWwuc2F4MgpAQCAtMCwwICsxLDE4IEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5jb21tZW50KCBUaGlzIHRlc3RzIHRoYXQgdHdvLWJ5dGUgVVRGLTggY2hhcmFjdGVycyBhcmUgcGFyc2VkIHByb3Blcmx5IHdoZW4gc3BsaXQgYWNyb3NzIGEgYnVmZmVyIGJvdW5kYXJ5IG9mIGxlbmd0aCBYTUxfUEFSU0VSX0JJR19CVUZGRVJfU0laRSAoMzAwIGJ5dGVzKS4gKQorU0FYLnN0YXJ0RWxlbWVudE5zKGRvYywgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLnN0YXJ0RWxlbWVudE5zKHAsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVgucGNkYXRhKMSMxIzEjMSMxIzEjMSMxIzEjMSMLCAxMjAwKQorU0FYLmVuZEVsZW1lbnROcyhwLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguc3RhcnRFbGVtZW50TnMocCwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5wY2RhdGEoIMSMxIzEjMSMxIzEjMSMxIzEjMQsIDEyMDEpCitTQVguZW5kRWxlbWVudE5zKHAsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5lbmRFbGVtZW50TnMoZG9jLCBOVUxMLCBOVUxMKQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL3Jlc3VsdC9jZGF0YS0zLWJ5dGUtVVRGLTgueG1sIGIvcmVzdWx0L2NkYXRhLTMtYnl0ZS1VVEYtOC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjk1OWExMgotLS0gL2Rldi9udWxsCisrKyBiL3Jlc3VsdC9jZGF0YS0zLWJ5dGUtVVRGLTgueG1sCkBAIC0wLDAgKzEsNyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzwhLS0gVGhpcyB0ZXN0cyB0aGF0IHRocmVlLWJ5dGUgVVRGLTggY2hhcmFjdGVycyBhcmUgcGFyc2VkIHByb3Blcmx5IHdoZW4gc3BsaXQgYWNyb3NzIGEgYnVmZmVyIGJvdW5kYXJ5IG9mIGxlbmd0aCBYTUxfUEFSU0VSX0JJR19CVUZGRVJfU0laRSAoMzAwIGJ5dGVzKS4gLS0+Cis8ZG9jPgorPHA+PCFbQ0RBVEFb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mbXV0+PC9wPgorPHA+PCFbQ0RBVEFbIOeJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm11dPjwvcD4KKzxwPjwhW0NEQVRBWyAg54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mbXV0+PC9wPgorPC9kb2M+CmRpZmYgLS1naXQgYS9yZXN1bHQvY2RhdGEtMy1ieXRlLVVURi04LnhtbC5yZGUgYi9yZXN1bHQvY2RhdGEtMy1ieXRlLVVURi04LnhtbC5yZGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2Y0ZDFjNQotLS0gL2Rldi9udWxsCisrKyBiL3Jlc3VsdC9jZGF0YS0zLWJ5dGUtVVRGLTgueG1sLnJkZQpAQCAtMCwwICsxLDIwIEBACiswIDggI2NvbW1lbnQgMCAxICBUaGlzIHRlc3RzIHRoYXQgdGhyZWUtYnl0ZSBVVEYtOCBjaGFyYWN0ZXJzIGFyZSBwYXJzZWQgcHJvcGVybHkgd2hlbiBzcGxpdCBhY3Jvc3MgYSBidWZmZXIgYm91bmRhcnkgb2YgbGVuZ3RoIFhNTF9QQVJTRVJfQklHX0JVRkZFUl9TSVpFICgzMDAgYnl0ZXMpLiAKKzAgMSBkb2MgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKworMSAxIHAgMCAwCisyIDQgI2NkYXRhLXNlY3Rpb24gMCAxIOeJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJmworMSAxNSBwIDAgMAorMSAxNCAjdGV4dCAwIDEgCisKKzEgMSBwIDAgMAorMiA0ICNjZGF0YS1zZWN0aW9uIDAgMSAg54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mbCisxIDE1IHAgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKworMSAxIHAgMCAwCisyIDQgI2NkYXRhLXNlY3Rpb24gMCAxICAg54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mbCisxIDE1IHAgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKworMCAxNSBkb2MgMCAwCmRpZmYgLS1naXQgYS9yZXN1bHQvY2RhdGEtMy1ieXRlLVVURi04LnhtbC5yZHIgYi9yZXN1bHQvY2RhdGEtMy1ieXRlLVVURi04LnhtbC5yZHIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2Y0ZDFjNQotLS0gL2Rldi9udWxsCisrKyBiL3Jlc3VsdC9jZGF0YS0zLWJ5dGUtVVRGLTgueG1sLnJkcgpAQCAtMCwwICsxLDIwIEBACiswIDggI2NvbW1lbnQgMCAxICBUaGlzIHRlc3RzIHRoYXQgdGhyZWUtYnl0ZSBVVEYtOCBjaGFyYWN0ZXJzIGFyZSBwYXJzZWQgcHJvcGVybHkgd2hlbiBzcGxpdCBhY3Jvc3MgYSBidWZmZXIgYm91bmRhcnkgb2YgbGVuZ3RoIFhNTF9QQVJTRVJfQklHX0JVRkZFUl9TSVpFICgzMDAgYnl0ZXMpLiAKKzAgMSBkb2MgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKworMSAxIHAgMCAwCisyIDQgI2NkYXRhLXNlY3Rpb24gMCAxIOeJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJmworMSAxNSBwIDAgMAorMSAxNCAjdGV4dCAwIDEgCisKKzEgMSBwIDAgMAorMiA0ICNjZGF0YS1zZWN0aW9uIDAgMSAg54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mbCisxIDE1IHAgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKworMSAxIHAgMCAwCisyIDQgI2NkYXRhLXNlY3Rpb24gMCAxICAg54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mbCisxIDE1IHAgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKworMCAxNSBkb2MgMCAwCmRpZmYgLS1naXQgYS9yZXN1bHQvY2RhdGEtMy1ieXRlLVVURi04LnhtbC5zYXggYi9yZXN1bHQvY2RhdGEtMy1ieXRlLVVURi04LnhtbC5zYXgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmY3M2U3YwotLS0gL2Rldi9udWxsCisrKyBiL3Jlc3VsdC9jZGF0YS0zLWJ5dGUtVVRGLTgueG1sLnNheApAQCAtMCwwICsxLDIzIEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5jb21tZW50KCBUaGlzIHRlc3RzIHRoYXQgdGhyZWUtYnl0ZSBVVEYtOCBjaGFyYWN0ZXJzIGFyZSBwYXJzZWQgcHJvcGVybHkgd2hlbiBzcGxpdCBhY3Jvc3MgYSBidWZmZXIgYm91bmRhcnkgb2YgbGVuZ3RoIFhNTF9QQVJTRVJfQklHX0JVRkZFUl9TSVpFICgzMDAgYnl0ZXMpLiApCitTQVguc3RhcnRFbGVtZW50KGRvYykKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLnN0YXJ0RWxlbWVudChwKQorU0FYLnBjZGF0YSjniZvniZvniZvniZvniZvniZvniSwgMTIwMCkKK1NBWC5lbmRFbGVtZW50KHApCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5zdGFydEVsZW1lbnQocCkKK1NBWC5wY2RhdGEoIOeJm+eJm+eJm+eJm+eJm+eJm+csIDEyMDEpCitTQVguZW5kRWxlbWVudChwKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguc3RhcnRFbGVtZW50KHApCitTQVgucGNkYXRhKCAg54mb54mb54mb54mb54mb54mbLCAxMjAyKQorU0FYLmVuZEVsZW1lbnQocCkKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLmVuZEVsZW1lbnQoZG9jKQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL3Jlc3VsdC9jZGF0YS0zLWJ5dGUtVVRGLTgueG1sLnNheDIgYi9yZXN1bHQvY2RhdGEtMy1ieXRlLVVURi04LnhtbC5zYXgyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM5Njk1NzkKLS0tIC9kZXYvbnVsbAorKysgYi9yZXN1bHQvY2RhdGEtMy1ieXRlLVVURi04LnhtbC5zYXgyCkBAIC0wLDAgKzEsMjMgQEAKK1NBWC5zZXREb2N1bWVudExvY2F0b3IoKQorU0FYLnN0YXJ0RG9jdW1lbnQoKQorU0FYLmNvbW1lbnQoIFRoaXMgdGVzdHMgdGhhdCB0aHJlZS1ieXRlIFVURi04IGNoYXJhY3RlcnMgYXJlIHBhcnNlZCBwcm9wZXJseSB3aGVuIHNwbGl0IGFjcm9zcyBhIGJ1ZmZlciBib3VuZGFyeSBvZiBsZW5ndGggWE1MX1BBUlNFUl9CSUdfQlVGRkVSX1NJWkUgKDMwMCBieXRlcykuICkKK1NBWC5zdGFydEVsZW1lbnROcyhkb2MsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5zdGFydEVsZW1lbnROcyhwLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLnBjZGF0YSjniZvniZvniZvniZvniZvniZvniSwgMTIwMCkKK1NBWC5lbmRFbGVtZW50TnMocCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLnN0YXJ0RWxlbWVudE5zKHAsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVgucGNkYXRhKCDniZvniZvniZvniZvniZvniZvnLCAxMjAxKQorU0FYLmVuZEVsZW1lbnROcyhwLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguc3RhcnRFbGVtZW50TnMocCwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5wY2RhdGEoICDniZvniZvniZvniZvniZvniZssIDEyMDIpCitTQVguZW5kRWxlbWVudE5zKHAsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5lbmRFbGVtZW50TnMoZG9jLCBOVUxMLCBOVUxMKQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL3Jlc3VsdC9jZGF0YS00LWJ5dGUtVVRGLTgueG1sIGIvcmVzdWx0L2NkYXRhLTQtYnl0ZS1VVEYtOC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGQxZDlhOAotLS0gL2Rldi9udWxsCisrKyBiL3Jlc3VsdC9jZGF0YS00LWJ5dGUtVVRGLTgueG1sCkBAIC0wLDAgKzEsOCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzwhLS0gVGhpcyB0ZXN0cyB0aGF0IGZvdXItYnl0ZSBVVEYtOCBjaGFyYWN0ZXJzIGFyZSBwYXJzZWQgcHJvcGVybHkgd2hlbiBzcGxpdCBhY3Jvc3MgYSBidWZmZXIgYm91bmRhcnkgb2YgbGVuZ3RoIFhNTF9QQVJTRVJfQklHX0JVRkZFUl9TSVpFICgzMDAgYnl0ZXMpLiAtLT4KKzxkb2M+Cis8cD48IVtDREFUQVvwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjaZdXT48L3A+Cis8cD48IVtDREFUQVsg8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42mXV0+PC9wPgorPHA+PCFbQ0RBVEFbICDwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjaZdXT48L3A+Cis8cD48IVtDREFUQVsgICDwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjaZdXT48L3A+Cis8L2RvYz4KZGlmZiAtLWdpdCBhL3Jlc3VsdC9jZGF0YS00LWJ5dGUtVVRGLTgueG1sLnJkZSBiL3Jlc3VsdC9jZGF0YS00LWJ5dGUtVVRGLTgueG1sLnJkZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MzdiNzllCi0tLSAvZGV2L251bGwKKysrIGIvcmVzdWx0L2NkYXRhLTQtYnl0ZS1VVEYtOC54bWwucmRlCkBAIC0wLDAgKzEsMjUgQEAKKzAgOCAjY29tbWVudCAwIDEgIFRoaXMgdGVzdHMgdGhhdCBmb3VyLWJ5dGUgVVRGLTggY2hhcmFjdGVycyBhcmUgcGFyc2VkIHByb3Blcmx5IHdoZW4gc3BsaXQgYWNyb3NzIGEgYnVmZmVyIGJvdW5kYXJ5IG9mIGxlbmd0aCBYTUxfUEFSU0VSX0JJR19CVUZGRVJfU0laRSAoMzAwIGJ5dGVzKS4gCiswIDEgZG9jIDAgMAorMSAxNCAjdGV4dCAwIDEgCisKKzEgMSBwIDAgMAorMiA0ICNjZGF0YS1zZWN0aW9uIDAgMSDwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjaYKKzEgMTUgcCAwIDAKKzEgMTQgI3RleHQgMCAxIAorCisxIDEgcCAwIDAKKzIgNCAjY2RhdGEtc2VjdGlvbiAwIDEgIPCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpgorMSAxNSBwIDAgMAorMSAxNCAjdGV4dCAwIDEgCisKKzEgMSBwIDAgMAorMiA0ICNjZGF0YS1zZWN0aW9uIDAgMSAgIPCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpgorMSAxNSBwIDAgMAorMSAxNCAjdGV4dCAwIDEgCisKKzEgMSBwIDAgMAorMiA0ICNjZGF0YS1zZWN0aW9uIDAgMSAgICDwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjaYKKzEgMTUgcCAwIDAKKzEgMTQgI3RleHQgMCAxIAorCiswIDE1IGRvYyAwIDAKZGlmZiAtLWdpdCBhL3Jlc3VsdC9jZGF0YS00LWJ5dGUtVVRGLTgueG1sLnJkciBiL3Jlc3VsdC9jZGF0YS00LWJ5dGUtVVRGLTgueG1sLnJkcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MzdiNzllCi0tLSAvZGV2L251bGwKKysrIGIvcmVzdWx0L2NkYXRhLTQtYnl0ZS1VVEYtOC54bWwucmRyCkBAIC0wLDAgKzEsMjUgQEAKKzAgOCAjY29tbWVudCAwIDEgIFRoaXMgdGVzdHMgdGhhdCBmb3VyLWJ5dGUgVVRGLTggY2hhcmFjdGVycyBhcmUgcGFyc2VkIHByb3Blcmx5IHdoZW4gc3BsaXQgYWNyb3NzIGEgYnVmZmVyIGJvdW5kYXJ5IG9mIGxlbmd0aCBYTUxfUEFSU0VSX0JJR19CVUZGRVJfU0laRSAoMzAwIGJ5dGVzKS4gCiswIDEgZG9jIDAgMAorMSAxNCAjdGV4dCAwIDEgCisKKzEgMSBwIDAgMAorMiA0ICNjZGF0YS1zZWN0aW9uIDAgMSDwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjaYKKzEgMTUgcCAwIDAKKzEgMTQgI3RleHQgMCAxIAorCisxIDEgcCAwIDAKKzIgNCAjY2RhdGEtc2VjdGlvbiAwIDEgIPCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpgorMSAxNSBwIDAgMAorMSAxNCAjdGV4dCAwIDEgCisKKzEgMSBwIDAgMAorMiA0ICNjZGF0YS1zZWN0aW9uIDAgMSAgIPCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpgorMSAxNSBwIDAgMAorMSAxNCAjdGV4dCAwIDEgCisKKzEgMSBwIDAgMAorMiA0ICNjZGF0YS1zZWN0aW9uIDAgMSAgICDwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjaYKKzEgMTUgcCAwIDAKKzEgMTQgI3RleHQgMCAxIAorCiswIDE1IGRvYyAwIDAKZGlmZiAtLWdpdCBhL3Jlc3VsdC9jZGF0YS00LWJ5dGUtVVRGLTgueG1sLnNheCBiL3Jlc3VsdC9jZGF0YS00LWJ5dGUtVVRGLTgueG1sLnNheApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kOGFiY2ZiCi0tLSAvZGV2L251bGwKKysrIGIvcmVzdWx0L2NkYXRhLTQtYnl0ZS1VVEYtOC54bWwuc2F4CkBAIC0wLDAgKzEsMjggQEAKK1NBWC5zZXREb2N1bWVudExvY2F0b3IoKQorU0FYLnN0YXJ0RG9jdW1lbnQoKQorU0FYLmNvbW1lbnQoIFRoaXMgdGVzdHMgdGhhdCBmb3VyLWJ5dGUgVVRGLTggY2hhcmFjdGVycyBhcmUgcGFyc2VkIHByb3Blcmx5IHdoZW4gc3BsaXQgYWNyb3NzIGEgYnVmZmVyIGJvdW5kYXJ5IG9mIGxlbmd0aCBYTUxfUEFSU0VSX0JJR19CVUZGRVJfU0laRSAoMzAwIGJ5dGVzKS4gKQorU0FYLnN0YXJ0RWxlbWVudChkb2MpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5zdGFydEVsZW1lbnQocCkKK1NBWC5wY2RhdGEo8J+NpvCfjabwn42m8J+NpvCfjaYsIDEyMDApCitTQVguZW5kRWxlbWVudChwKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguc3RhcnRFbGVtZW50KHApCitTQVgucGNkYXRhKCDwn42m8J+NpvCfjabwn42m8J+NLCAxMjAxKQorU0FYLmVuZEVsZW1lbnQocCkKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLnN0YXJ0RWxlbWVudChwKQorU0FYLnBjZGF0YSggIPCfjabwn42m8J+NpvCfjabwnywgMTIwMikKK1NBWC5lbmRFbGVtZW50KHApCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5zdGFydEVsZW1lbnQocCkKK1NBWC5wY2RhdGEoICAg8J+NpvCfjabwn42m8J+NpvAsIDEyMDMpCitTQVguZW5kRWxlbWVudChwKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguZW5kRWxlbWVudChkb2MpCitTQVguZW5kRG9jdW1lbnQoKQpkaWZmIC0tZ2l0IGEvcmVzdWx0L2NkYXRhLTQtYnl0ZS1VVEYtOC54bWwuc2F4MiBiL3Jlc3VsdC9jZGF0YS00LWJ5dGUtVVRGLTgueG1sLnNheDIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWUwN2Q4MwotLS0gL2Rldi9udWxsCisrKyBiL3Jlc3VsdC9jZGF0YS00LWJ5dGUtVVRGLTgueG1sLnNheDIKQEAgLTAsMCArMSwyOCBAQAorU0FYLnNldERvY3VtZW50TG9jYXRvcigpCitTQVguc3RhcnREb2N1bWVudCgpCitTQVguY29tbWVudCggVGhpcyB0ZXN0cyB0aGF0IGZvdXItYnl0ZSBVVEYtOCBjaGFyYWN0ZXJzIGFyZSBwYXJzZWQgcHJvcGVybHkgd2hlbiBzcGxpdCBhY3Jvc3MgYSBidWZmZXIgYm91bmRhcnkgb2YgbGVuZ3RoIFhNTF9QQVJTRVJfQklHX0JVRkZFUl9TSVpFICgzMDAgYnl0ZXMpLiApCitTQVguc3RhcnRFbGVtZW50TnMoZG9jLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguc3RhcnRFbGVtZW50TnMocCwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5wY2RhdGEo8J+NpvCfjabwn42m8J+NpvCfjaYsIDEyMDApCitTQVguZW5kRWxlbWVudE5zKHAsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5zdGFydEVsZW1lbnROcyhwLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLnBjZGF0YSgg8J+NpvCfjabwn42m8J+NpvCfjSwgMTIwMSkKK1NBWC5lbmRFbGVtZW50TnMocCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLnN0YXJ0RWxlbWVudE5zKHAsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVgucGNkYXRhKCAg8J+NpvCfjabwn42m8J+NpvCfLCAxMjAyKQorU0FYLmVuZEVsZW1lbnROcyhwLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguc3RhcnRFbGVtZW50TnMocCwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5wY2RhdGEoICAg8J+NpvCfjabwn42m8J+NpvAsIDEyMDMpCitTQVguZW5kRWxlbWVudE5zKHAsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5lbmRFbGVtZW50TnMoZG9jLCBOVUxMLCBOVUxMKQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL3Jlc3VsdC9lcnJvcnMvNzU0OTQ2LnhtbC5lcnIgYi9yZXN1bHQvZXJyb3JzLzc1NDk0Ni54bWwuZXJyCmluZGV4IGE3NTA4OGIuLmMwM2UzNWIgMTAwNjQ0Ci0tLSBhL3Jlc3VsdC9lcnJvcnMvNzU0OTQ2LnhtbC5lcnIKKysrIGIvcmVzdWx0L2Vycm9ycy83NTQ5NDYueG1sLmVycgpAQCAtMTEsOSArMTEsOSBAQAogRW50aXR5OiBsaW5lIDE6IAogQTxsYmJiYmJiYmJiYmJiYmJiYmJiYl8KIF4KLS4vdGVzdC9lcnJvcnMvNzU0OTQ2LnhtbDoxOiBwYXJzZXIgZXJyb3IgOiBTdGFydCB0YWcgZG9lc24ndCBzdGFydCBhbmQgc3RvcCBpbiB0aGUgc2FtZSBlbnRpdHkKLT4lU1lTVEVNOzwhWworRW50aXR5OiBsaW5lIDE6IHBhcnNlciBlcnJvciA6IFN0YXJ0IHRhZyBleHBlY3RlZCwgJzwnIG5vdCBmb3VuZAorICVTWVNURU07IAogICAgICAgICAgXgotLi90ZXN0L2Vycm9ycy83NTQ5NDYueG1sOjE6IHBhcnNlciBlcnJvciA6IEV4dHJhIGNvbnRlbnQgYXQgdGhlIGVuZCBvZiB0aGUgZG9jdW1lbnQKLT4lU1lTVEVNOzwhWwotICAgICAgICAgXgorRW50aXR5OiBsaW5lIDE6IAorQTxsYmJiYmJiYmJiYmJiYmJiYmJiYl8KK14KZGlmZiAtLWdpdCBhL3Jlc3VsdC9lcnJvcnMvNzU4NTg4LnhtbCBiL3Jlc3VsdC9lcnJvcnMvNzU4NTg4LnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvcmVzdWx0L2Vycm9ycy83NTg1ODgueG1sCmRpZmYgLS1naXQgYS9yZXN1bHQvZXJyb3JzLzc1ODU4OC54bWwuZXJyIGIvcmVzdWx0L2Vycm9ycy83NTg1ODgueG1sLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZmE1OWJjCi0tLSAvZGV2L251bGwKKysrIGIvcmVzdWx0L2Vycm9ycy83NTg1ODgueG1sLmVycgpAQCAtMCwwICsxLDkgQEAKKy4vdGVzdC9lcnJvcnMvNzU4NTg4LnhtbDoxOiBuYW1lc3BhY2UgZXJyb3IgOiBOYW1lc3BhY2UgcHJlZml4IGEtMzQwMjgyMzY2OTIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjYxZCBvbiBhIGlzIG5vdCBkZWZpbmVkCis2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzI2MWQ6YQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KKy4vdGVzdC9lcnJvcnMvNzU4NTg4LnhtbDoxOiBwYXJzZXIgZXJyb3IgOiBleHBlY3RlZCAnPicKKzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyNjFkOmE+PC9hCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgorLi90ZXN0L2Vycm9ycy83NTg1ODgueG1sOjE6IHBhcnNlciBlcnJvciA6IE9wZW5pbmcgYW5kIGVuZGluZyB0YWcgbWlzbWF0Y2g6IGEgbGluZSAxIGFuZCBhCisyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjYxZDphPjwvYQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KZGlmZiAtLWdpdCBhL3Jlc3VsdC9lcnJvcnMvNzU4NTg4LnhtbC5zdHIgYi9yZXN1bHQvZXJyb3JzLzc1ODU4OC54bWwuc3RyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMwM2VlMGMKLS0tIC9kZXYvbnVsbAorKysgYi9yZXN1bHQvZXJyb3JzLzc1ODU4OC54bWwuc3RyCkBAIC0wLDAgKzEsMTAgQEAKKy4vdGVzdC9lcnJvcnMvNzU4NTg4LnhtbDoxOiBuYW1lc3BhY2UgZXJyb3IgOiBOYW1lc3BhY2UgcHJlZml4IGEtMzQwMjgyMzY2OTIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjYxZCBvbiBhIGlzIG5vdCBkZWZpbmVkCis2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzI2MWQ6YQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KKy4vdGVzdC9lcnJvcnMvNzU4NTg4LnhtbDoxOiBwYXJzZXIgZXJyb3IgOiBleHBlY3RlZCAnPicKKzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyNjFkOmE+PC9hCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgorLi90ZXN0L2Vycm9ycy83NTg1ODgueG1sOjE6IHBhcnNlciBlcnJvciA6IE9wZW5pbmcgYW5kIGVuZGluZyB0YWcgbWlzbWF0Y2g6IGEgbGluZSAxIGFuZCBhCisyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjYxZDphPjwvYQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KKy4vdGVzdC9lcnJvcnMvNzU4NTg4LnhtbCA6IGZhaWxlZCB0byBwYXJzZQpkaWZmIC0tZ2l0IGEvcmVzdWx0L2Vycm9ycy83NTkwMjAueG1sIGIvcmVzdWx0L2Vycm9ycy83NTkwMjAueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9yZXN1bHQvZXJyb3JzLzc1OTAyMC54bWwKZGlmZiAtLWdpdCBhL3Jlc3VsdC9lcnJvcnMvNzU5MDIwLnhtbC5lcnIgYi9yZXN1bHQvZXJyb3JzLzc1OTAyMC54bWwuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEwZDMwNTEKLS0tIC9kZXYvbnVsbAorKysgYi9yZXN1bHQvZXJyb3JzLzc1OTAyMC54bWwuZXJyCkBAIC0wLDAgKzEsNiBAQAorLi90ZXN0L2Vycm9ycy83NTkwMjAueG1sOjM6IG5hbWVzcGFjZSB3YXJuaW5nIDogeG1sbnM6IFVSSSAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCBpcyBub3QgYWJzb2x1dGUKKzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAnCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgorLi90ZXN0L2Vycm9ycy83NTkwMjAueG1sOjQ2OiBwYXJzZXIgZXJyb3IgOiBDb3VsZG4ndCBmaW5kIGVuZCBvZiBTdGFydCBUYWcgczAwIGxpbmUgMgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KZGlmZiAtLWdpdCBhL3Jlc3VsdC9lcnJvcnMvNzU5MDIwLnhtbC5zdHIgYi9yZXN1bHQvZXJyb3JzLzc1OTAyMC54bWwuc3RyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk5OGQ2ZDIKLS0tIC9kZXYvbnVsbAorKysgYi9yZXN1bHQvZXJyb3JzLzc1OTAyMC54bWwuc3RyCkBAIC0wLDAgKzEsNyBAQAorLi90ZXN0L2Vycm9ycy83NTkwMjAueG1sOjM6IG5hbWVzcGFjZSB3YXJuaW5nIDogeG1sbnM6IFVSSSAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCBpcyBub3QgYWJzb2x1dGUKKzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAnCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgorLi90ZXN0L2Vycm9ycy83NTkwMjAueG1sOjQ2OiBwYXJzZXIgZXJyb3IgOiBDb3VsZG4ndCBmaW5kIGVuZCBvZiBTdGFydCBUYWcgczAwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgorLi90ZXN0L2Vycm9ycy83NTkwMjAueG1sIDogZmFpbGVkIHRvIHBhcnNlCmRpZmYgLS1naXQgYS9yZXN1bHQvZXJyb3JzLzc1OTM5OC54bWwgYi9yZXN1bHQvZXJyb3JzLzc1OTM5OC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL3Jlc3VsdC9lcnJvcnMvNzU5Mzk4LnhtbApkaWZmIC0tZ2l0IGEvcmVzdWx0L2Vycm9ycy83NTkzOTgueG1sLmVyciBiL3Jlc3VsdC9lcnJvcnMvNzU5Mzk4LnhtbC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTA4ZDliZgotLS0gL2Rldi9udWxsCisrKyBiL3Jlc3VsdC9lcnJvcnMvNzU5Mzk4LnhtbC5lcnIKQEAgLTAsMCArMSw5IEBACisuL3Rlc3QvZXJyb3JzLzc1OTM5OC54bWw6MjEwOiBwYXJzZXIgZXJyb3IgOiBTdGFydFRhZzogaW52YWxpZCBlbGVtZW50IG5hbWUKK25lZWQgdG8gd29ycnkgYWJvdXQgcGFyc2VycyB3aGk8ISBkb24ndCBleHBhbmQgUEVyZWZzIGZpbmRpbmcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgorLi90ZXN0L2Vycm9ycy83NTkzOTgueG1sOjMwOTogcGFyc2VyIGVycm9yIDogT3BlbmluZyBhbmQgZW5kaW5nIHRhZyBtaXNtYXRjaDogc3BlYyBsaW5lIDUwIGFuZCB0ZXJtZGVmCithbmQgcHJvdmlkZSBhY2Nlc3MgdG8gdGhlaXIgY29udGVudCBhbmQgc3RydWN0dXJlLjwvdGVybWRlZj4gPHRlcm1kZWYKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KKy4vdGVzdC9lcnJvcnMvNzU5Mzk4LnhtbDozMDk6IHBhcnNlciBlcnJvciA6IEV4dHJhIGNvbnRlbnQgYXQgdGhlIGVuZCBvZiB0aGUgZG9jdW1lbnQKK2FuZCBwcm92aWRlIGFjY2VzcyB0byB0aGVpciBjb250ZW50IGFuZCBzdHJ1Y3R1cmUuPC90ZXJtZGVmPiA8dGVybWRlZgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KZGlmZiAtLWdpdCBhL3Jlc3VsdC9lcnJvcnMvNzU5Mzk4LnhtbC5zdHIgYi9yZXN1bHQvZXJyb3JzLzc1OTM5OC54bWwuc3RyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRlOWEyOGMKLS0tIC9kZXYvbnVsbAorKysgYi9yZXN1bHQvZXJyb3JzLzc1OTM5OC54bWwuc3RyCkBAIC0wLDAgKzEsNSBAQAorLi90ZXN0L2Vycm9ycy83NTkzOTgueG1sOjIxMDogcGFyc2VyIGVycm9yIDogaW50ZXJuYWwgZXJyb3I6IGRldGVjdGVkIGFuIGVycm9yIGluIGVsZW1lbnQgY29udGVudAorCituZWVkIHRvIHdvcnJ5IGFib3V0IHBhcnNlcnMgd2hpPCEgZG9uJ3QgZXhwYW5kIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KKy4vdGVzdC9lcnJvcnMvNzU5Mzk4LnhtbCA6IGZhaWxlZCB0byBwYXJzZQpkaWZmIC0tZ2l0IGEvcmVzdWx0L2Vycm9ycy83NTk1NzMtMi54bWwgYi9yZXN1bHQvZXJyb3JzLzc1OTU3My0yLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvcmVzdWx0L2Vycm9ycy83NTk1NzMtMi54bWwKZGlmZiAtLWdpdCBhL3Jlc3VsdC9lcnJvcnMvNzU5NTczLTIueG1sLmVyciBiL3Jlc3VsdC9lcnJvcnMvNzU5NTczLTIueG1sLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kODc3M2Q4Ci0tLSAvZGV2L251bGwKKysrIGIvcmVzdWx0L2Vycm9ycy83NTk1NzMtMi54bWwuZXJyCkBAIC0wLDAgKzEsNTggQEAKK0VudGl0eTogbGluZSAxOiBwYXJzZXIgZXJyb3IgOiBTcGFjZSByZXF1aXJlZCBhZnRlciAnPCFFTlRJVFknCisgJXp6OyAKKyAgICAgXgorRW50aXR5OiBsaW5lIDE6IAorPCFFTlRJVFk8P3hET0NUWVBFbX4/PgorICAgICAgICBeCitFbnRpdHk6IGxpbmUgMTogcGFyc2VyIGVycm9yIDogeG1sUGFyc2VFbnRpdHlEZWNsOiBubyBuYW1lCisgJXp6OyAKKyAgICAgXgorRW50aXR5OiBsaW5lIDE6IAorPCFFTlRJVFk8P3hET0NUWVBFbX4/PgorICAgICAgICBeCitFbnRpdHk6IGxpbmUgMTogcGFyc2VyIGVycm9yIDogUGFyc2VQSTogUEkgeERPQ1RZUEVtIHNwYWNlIGV4cGVjdGVkCisgJXp6OyAKKyAgICAgXgorRW50aXR5OiBsaW5lIDE6IAorPCFFTlRJVFk8P3hET0NUWVBFbX4/PgorICAgICAgICAgICAgICAgICAgIF4KK0VudGl0eTogbGluZSAxOiBwYXJzZXIgZXJyb3IgOiBTcGFjZSByZXF1aXJlZCBhZnRlciAnPCFFTlRJVFknCisgJXp6OyAKKyAgICAgXgorRW50aXR5OiBsaW5lIDE6IAorPCFFTlRJVFk8P3hET0NUWVBFbX4/PgorICAgICAgICBeCitFbnRpdHk6IGxpbmUgMTogcGFyc2VyIGVycm9yIDogeG1sUGFyc2VFbnRpdHlEZWNsOiBubyBuYW1lCisgJXp6OyAKKyAgICAgXgorRW50aXR5OiBsaW5lIDE6IAorPCFFTlRJVFk8P3hET0NUWVBFbX4/PgorICAgICAgICBeCitFbnRpdHk6IGxpbmUgMTogcGFyc2VyIGVycm9yIDogUGFyc2VQSTogUEkgeERPQ1RZUEVtIHNwYWNlIGV4cGVjdGVkCisgJXp6OyAKKyAgICAgXgorRW50aXR5OiBsaW5lIDE6IAorPCFFTlRJVFk8P3hET0NUWVBFbX4/PgorICAgICAgICAgICAgICAgICAgIF4KK0VudGl0eTogbGluZSAxOiBwYXJzZXIgZXJyb3IgOiBTcGFjZSByZXF1aXJlZCBhZnRlciAnRUxFTUVOVCcKKyAleHg7IAorICAgICBeCitFbnRpdHk6IGxpbmUgMzogCisleno7PCFFTEVNRU5URCglTUVOVCVNRU5URMW5TUVOVEQlek5NVDlLRU5TTVlTWVNURU07TUVOVDkleno7CisgICAgICAgICAgICAgXgorRW50aXR5OiBsaW5lIDE6IHBhcnNlciBlcnJvciA6IENvbnRlbnQgZXJyb3IgaW4gdGhlIGV4dGVybmFsIHN1YnNldAorICV4eDsgCisgICAgIF4KK0VudGl0eTogbGluZSAzOiAKKyV6ejs8IUVMRU1FTlREKCVNRU5UJU1FTlRExblNRU5URCV6Tk1UOUtFTlNNWVNZU1RFTTtNRU5UOSV6ejsKKyAgICAgICAgICAgICBeCisuL3Rlc3QvZXJyb3JzLzc1OTU3My0yLnhtbDo2OiBwYXJzZXIgZXJyb3IgOiBpbnRlcm5hbCBlcnJvcjogeG1sUGFyc2VJbnRlcm5hbFN1YnNldDogZXJyb3IgZGV0ZWN0ZWQgaW4gTWFya3VwIGRlY2xhcmF0aW9uCisKKyV4eDsD/2dnS0VOU01ZTlQmIzM1O01FTlREJiMzNzJ6ejsnPgorICAgIF4KKy4vdGVzdC9lcnJvcnMvNzU5NTczLTIueG1sOjY6IHBhcnNlciBlcnJvciA6IERPQ1RZUEUgaW1wcm9wZXJseSB0ZXJtaW5hdGVkCisleHg7A/9nZ0tFTlNNWU5UJiMzNTtNRU5URCYjMzcyeno7Jz4KKyAgICBeCisuL3Rlc3QvZXJyb3JzLzc1OTU3My0yLnhtbDo2OiBwYXJzZXIgZXJyb3IgOiBTdGFydCB0YWcgZXhwZWN0ZWQsICc8JyBub3QgZm91bmQKKyV4eDsD/2dnS0VOU01ZTlQmIzM1O01FTlREJiMzNzJ6ejsnPgorICAgIF4KZGlmZiAtLWdpdCBhL3Jlc3VsdC9lcnJvcnMvNzU5NTczLTIueG1sLnN0ciBiL3Jlc3VsdC9lcnJvcnMvNzU5NTczLTIueG1sLnN0cgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYWFjMTY0Ci0tLSAvZGV2L251bGwKKysrIGIvcmVzdWx0L2Vycm9ycy83NTk1NzMtMi54bWwuc3RyCkBAIC0wLDAgKzEsNCBAQAorLi90ZXN0L2Vycm9ycy83NTk1NzMtMi54bWw6MjogcGFyc2VyIGVycm9yIDogRXh0cmEgY29udGVudCBhdCB0aGUgZW5kIG9mIHRoZSBkb2N1bWVudAorPCFET0NUWVBFIHRlc3QgWworICAgICAgICAgICAgICAgXgorLi90ZXN0L2Vycm9ycy83NTk1NzMtMi54bWwgOiBmYWlsZWQgdG8gcGFyc2UKZGlmZiAtLWdpdCBhL3Jlc3VsdC9lcnJvcnMvNzU5NTczLnhtbCBiL3Jlc3VsdC9lcnJvcnMvNzU5NTczLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvcmVzdWx0L2Vycm9ycy83NTk1NzMueG1sCmRpZmYgLS1naXQgYS9yZXN1bHQvZXJyb3JzLzc1OTU3My54bWwuZXJyIGIvcmVzdWx0L2Vycm9ycy83NTk1NzMueG1sLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYzIxZTlhCi0tLSAvZGV2L251bGwKKysrIGIvcmVzdWx0L2Vycm9ycy83NTk1NzMueG1sLmVycgpAQCAtMCwwICsxLDMxIEBACisuL3Rlc3QvZXJyb3JzLzc1OTU3My54bWw6MTogcGFyc2VyIGVycm9yIDogU3BhY2UgcmVxdWlyZWQgYWZ0ZXIgJzwhRU5USVRZJworRUxFTUVOVCB0IChBKT48IUVOVElUWSAlIHh4ICcmIzM3OzwhW0lOQ0xVREVbMDAwJiMzNzsmIzMwMDA7MDAwJiMzNzt6Oyc+PCFFTlRJVFkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCisuL3Rlc3QvZXJyb3JzLzc1OTU3My54bWw6MTogcGFyc2VyIGVycm9yIDogU3BhY2UgcmVxdWlyZWQgYWZ0ZXIgdGhlIGVudGl0eSBuYW1lCitMRU1FTlQgdCAoQSk+PCFFTlRJVFkgJSB4eCAnJiMzNzs8IVtJTkNMVURFWzAwMCYjMzc7JiMzMDAwOzAwMCYjMzc7ejsnPjwhRU5USVRZegorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KKy4vdGVzdC9lcnJvcnMvNzU5NTczLnhtbDoxOiBwYXJzZXIgZXJyb3IgOiBFbnRpdHkgdmFsdWUgcmVxdWlyZWQKK0xFTUVOVCB0IChBKT48IUVOVElUWSAlIHh4ICcmIzM3OzwhW0lOQ0xVREVbMDAwJiMzNzsmIzMwMDA7MDAwJiMzNzt6Oyc+PCFFTlRJVFl6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgorRW50aXR5OiBsaW5lIDE6IHBhcnNlciBlcnJvciA6IFBFUmVmZXJlbmNlOiBubyBuYW1lCisgJXh4OyAKKyAgICAgXgorRW50aXR5OiBsaW5lIDE6IAorJTwhW0lOQ0xVREVbMDAwJeCuuDAwMCV6OworIF4KK0VudGl0eTogbGluZSAxOiBwYXJzZXIgZXJyb3IgOiBDb250ZW50IGVycm9yIGluIHRoZSBleHRlcm5hbCBzdWJzZXQKKyAleHg7IAorICAgICBeCitFbnRpdHk6IGxpbmUgMTogCislPCFbSU5DTFVERVswMDAl4K64MDAwJXo7CisgICAgICAgICAgICBeCisuL3Rlc3QvZXJyb3JzLzc1OTU3My54bWw6MTogcGFyc2VyIGVycm9yIDogaW50ZXJuYWwgZXJyb3I6IHhtbFBhcnNlSW50ZXJuYWxTdWJzZXQ6IGVycm9yIGRldGVjdGVkIGluIE1hcmt1cCBkZWNsYXJhdGlvbgorCitUIHQgKEEpPjwhRU5USVRZICUgeHggJyYjMzc7PCFbSU5DTFVERVswMDAmIzM3OyYjMzAwMDswMDAmIzM3O3o7Jz48IUVOVElUWXo+JXh4OworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KKy4vdGVzdC9lcnJvcnMvNzU5NTczLnhtbDoxOiBwYXJzZXIgZXJyb3IgOiBET0NUWVBFIGltcHJvcGVybHkgdGVybWluYXRlZAorVCB0IChBKT48IUVOVElUWSAlIHh4ICcmIzM3OzwhW0lOQ0xVREVbMDAwJiMzNzsmIzMwMDA7MDAwJiMzNzt6Oyc+PCFFTlRJVFl6PiV4eDsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCisuL3Rlc3QvZXJyb3JzLzc1OTU3My54bWw6MTogcGFyc2VyIGVycm9yIDogU3RhcnQgdGFnIGV4cGVjdGVkLCAnPCcgbm90IGZvdW5kCitUIHQgKEEpPjwhRU5USVRZICUgeHggJyYjMzc7PCFbSU5DTFVERVswMDAmIzM3OyYjMzAwMDswMDAmIzM3O3o7Jz48IUVOVElUWXo+JXh4OworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KZGlmZiAtLWdpdCBhL3Jlc3VsdC9lcnJvcnMvNzU5NTczLnhtbC5zdHIgYi9yZXN1bHQvZXJyb3JzLzc1OTU3My54bWwuc3RyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFiNmFkZGIKLS0tIC9kZXYvbnVsbAorKysgYi9yZXN1bHQvZXJyb3JzLzc1OTU3My54bWwuc3RyCkBAIC0wLDAgKzEsNCBAQAorLi90ZXN0L2Vycm9ycy83NTk1NzMueG1sOjE6IHBhcnNlciBlcnJvciA6IEV4dHJhIGNvbnRlbnQgYXQgdGhlIGVuZCBvZiB0aGUgZG9jdW1lbnQKKzw/aD8+PCFET0NUWVBFdFs8IUVMRU1FTlQgdCAoQSk+PCFFTlRJVFkgJSB4eCAnJiMzNzs8IVtJTkNMVURFWzAwMCYjMzc7JiMzMDAwOzAwCisgICAgICAgICAgICAgICBeCisuL3Rlc3QvZXJyb3JzLzc1OTU3My54bWwgOiBmYWlsZWQgdG8gcGFyc2UKZGlmZiAtLWdpdCBhL3Jlc3VsdC9lcnJvcnMvY29udGVudDEueG1sLmVyciBiL3Jlc3VsdC9lcnJvcnMvY29udGVudDEueG1sLmVycgppbmRleCA0MjViZTM5Li45ZmNkNjAzIDEwMDY0NAotLS0gYS9yZXN1bHQvZXJyb3JzL2NvbnRlbnQxLnhtbC5lcnIKKysrIGIvcmVzdWx0L2Vycm9ycy9jb250ZW50MS54bWwuZXJyCkBAIC0xMyw0ICsxMyw0IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgXgogLi90ZXN0L2Vycm9ycy9jb250ZW50MS54bWw6NzogcGFyc2VyIGVycm9yIDogU3RhcnQgdGFnIGV4cGVjdGVkLCAnPCcgbm90IGZvdW5kCiA8IUVMRU1FTlQgYUVsZW1lbnQgKGEgfGIgKiA+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICBeCisgICAgICAgICAgICAgICAgICAgICAgICAgXgpkaWZmIC0tZ2l0IGEvcmVzdWx0L25vZW50L2NkYXRhLTItYnl0ZS1VVEYtOC54bWwgYi9yZXN1bHQvbm9lbnQvY2RhdGEtMi1ieXRlLVVURi04LnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NTUyZWZjCi0tLSAvZGV2L251bGwKKysrIGIvcmVzdWx0L25vZW50L2NkYXRhLTItYnl0ZS1VVEYtOC54bWwKQEAgLTAsMCArMSw2IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPCEtLSBUaGlzIHRlc3RzIHRoYXQgdHdvLWJ5dGUgVVRGLTggY2hhcmFjdGVycyBhcmUgcGFyc2VkIHByb3Blcmx5IHdoZW4gc3BsaXQgYWNyb3NzIGEgYnVmZmVyIGJvdW5kYXJ5IG9mIGxlbmd0aCBYTUxfUEFSU0VSX0JJR19CVUZGRVJfU0laRSAoMzAwIGJ5dGVzKS4gLS0+Cis8ZG9jPgorPHA+PCFbQ0RBVEFbxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMXV0+PC9wPgorPHA+PCFbQ0RBVEFbIMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjF1dPjwvcD4KKzwvZG9jPgpkaWZmIC0tZ2l0IGEvcmVzdWx0L25vZW50L2NkYXRhLTMtYnl0ZS1VVEYtOC54bWwgYi9yZXN1bHQvbm9lbnQvY2RhdGEtMy1ieXRlLVVURi04LnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iOTU5YTEyCi0tLSAvZGV2L251bGwKKysrIGIvcmVzdWx0L25vZW50L2NkYXRhLTMtYnl0ZS1VVEYtOC54bWwKQEAgLTAsMCArMSw3IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPCEtLSBUaGlzIHRlc3RzIHRoYXQgdGhyZWUtYnl0ZSBVVEYtOCBjaGFyYWN0ZXJzIGFyZSBwYXJzZWQgcHJvcGVybHkgd2hlbiBzcGxpdCBhY3Jvc3MgYSBidWZmZXIgYm91bmRhcnkgb2YgbGVuZ3RoIFhNTF9QQVJTRVJfQklHX0JVRkZFUl9TSVpFICgzMDAgYnl0ZXMpLiAtLT4KKzxkb2M+Cis8cD48IVtDREFUQVvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZtdXT48L3A+Cis8cD48IVtDREFUQVsg54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mb54mbXV0+PC9wPgorPHA+PCFbQ0RBVEFbICDniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZtdXT48L3A+Cis8L2RvYz4KZGlmZiAtLWdpdCBhL3Jlc3VsdC9ub2VudC9jZGF0YS00LWJ5dGUtVVRGLTgueG1sIGIvcmVzdWx0L25vZW50L2NkYXRhLTQtYnl0ZS1VVEYtOC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGQxZDlhOAotLS0gL2Rldi9udWxsCisrKyBiL3Jlc3VsdC9ub2VudC9jZGF0YS00LWJ5dGUtVVRGLTgueG1sCkBAIC0wLDAgKzEsOCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzwhLS0gVGhpcyB0ZXN0cyB0aGF0IGZvdXItYnl0ZSBVVEYtOCBjaGFyYWN0ZXJzIGFyZSBwYXJzZWQgcHJvcGVybHkgd2hlbiBzcGxpdCBhY3Jvc3MgYSBidWZmZXIgYm91bmRhcnkgb2YgbGVuZ3RoIFhNTF9QQVJTRVJfQklHX0JVRkZFUl9TSVpFICgzMDAgYnl0ZXMpLiAtLT4KKzxkb2M+Cis8cD48IVtDREFUQVvwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjaZdXT48L3A+Cis8cD48IVtDREFUQVsg8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42mXV0+PC9wPgorPHA+PCFbQ0RBVEFbICDwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjaZdXT48L3A+Cis8cD48IVtDREFUQVsgICDwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjaZdXT48L3A+Cis8L2RvYz4KZGlmZiAtLWdpdCBhL3Jlc3VsdC9yZWxheG5nLzcxMDc0NF9lcnIgYi9yZXN1bHQvcmVsYXhuZy83MTA3NDRfZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU0ZjAyMjYKLS0tIC9kZXYvbnVsbAorKysgYi9yZXN1bHQvcmVsYXhuZy83MTA3NDRfZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9yZWxheG5nLzcxMDc0NC5ybmcgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9yZXN1bHQvcmVsYXhuZy83MTA3NDRfdmFsaWQgYi9yZXN1bHQvcmVsYXhuZy83MTA3NDRfdmFsaWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL3Jlc3VsdC9yZWxheG5nLzcxMDc0NF92YWxpZApkaWZmIC0tZ2l0IGEvcmVzdWx0L3JlbGF4bmcvcGF0dGVybjNfMSBiL3Jlc3VsdC9yZWxheG5nL3BhdHRlcm4zXzEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL3Jlc3VsdC9yZWxheG5nL3BhdHRlcm4zXzEKZGlmZiAtLWdpdCBhL3Jlc3VsdC9yZWxheG5nL3BhdHRlcm4zXzEuZXJyIGIvcmVzdWx0L3JlbGF4bmcvcGF0dGVybjNfMS5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjFhOTgwMwotLS0gL2Rldi9udWxsCisrKyBiL3Jlc3VsdC9yZWxheG5nL3BhdHRlcm4zXzEuZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9yZWxheG5nL3BhdHRlcm4zXzEueG1sIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvcmVzdWx0L3NjaGVtYXMvcmVnZXhwLWNoYXItcmVmXzBfMC5lcnIgYi9yZXN1bHQvc2NoZW1hcy9yZWdleHAtY2hhci1yZWZfMF8wLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvcmVzdWx0L3NjaGVtYXMvcmVnZXhwLWNoYXItcmVmXzBfMC5lcnIKZGlmZiAtLWdpdCBhL3Jlc3VsdC9zY2hlbWFzL3JlZ2V4cC1jaGFyLXJlZl8xXzAuZXJyIGIvcmVzdWx0L3NjaGVtYXMvcmVnZXhwLWNoYXItcmVmXzFfMC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL3Jlc3VsdC9zY2hlbWFzL3JlZ2V4cC1jaGFyLXJlZl8xXzAuZXJyCmRpZmYgLS1naXQgYS9yZXN1bHQvdmFsaWQvdDgueG1sLmVyciBiL3Jlc3VsdC92YWxpZC90OC54bWwuZXJyCmluZGV4IGQ3OTU3ODguLjFhM2MwMDYgMTAwNjQ0Ci0tLSBhL3Jlc3VsdC92YWxpZC90OC54bWwuZXJyCisrKyBiL3Jlc3VsdC92YWxpZC90OC54bWwuZXJyCkBAIC0xNiw0ICsxNiw0IEBACiAgICAgICAgICAgXgogRW50aXR5OiBsaW5lIDE6IAogJmx0OyFFTEVNRU5UIHJvb3QgKG1pZGRsZSkgPgotIF4KK14KZGlmZiAtLWdpdCBhL3Jlc3VsdC92YWxpZC90OGEueG1sLmVyciBiL3Jlc3VsdC92YWxpZC90OGEueG1sLmVycgppbmRleCBkNzk1Nzg4Li4xYTNjMDA2IDEwMDY0NAotLS0gYS9yZXN1bHQvdmFsaWQvdDhhLnhtbC5lcnIKKysrIGIvcmVzdWx0L3ZhbGlkL3Q4YS54bWwuZXJyCkBAIC0xNiw0ICsxNiw0IEBACiAgICAgICAgICAgXgogRW50aXR5OiBsaW5lIDE6IAogJmx0OyFFTEVNRU5UIHJvb3QgKG1pZGRsZSkgPgotIF4KK14KZGlmZiAtLWdpdCBhL3JuZ3BhcnNlci5jIGIvcm5ncGFyc2VyLmMKaW5kZXggZTY4MWUwYy4uNzczMWQ0ZCAxMDA2NDQKLS0tIGEvcm5ncGFyc2VyLmMKKysrIGIvcm5ncGFyc2VyLmMKQEAgLTk1LDcgKzk1LDcgQEAKICAgICB4bWxIYXNoVGFibGVQdHIgZGF0YXR5cGVzOwogCiAgICAgLyoKLSAgICAgKiBkaWN0aW9ubmFyeSBhbmQga2V5d29yZHMKKyAgICAgKiBkaWN0aW9uYXJ5IGFuZCBrZXl3b3JkcwogICAgICAqLwogICAgIHhtbERpY3RQdHIgICAgIGRpY3Q7CiAgICAgY29uc3QgeG1sQ2hhciAqa2V5X2F0dHJpYnV0ZTsKZGlmZiAtLWdpdCBhL3J1bnRlc3QuYyBiL3J1bnRlc3QuYwppbmRleCAwMmZlMDlhLi4xODYxNTc3IDEwMDY0NAotLS0gYS9ydW50ZXN0LmMKKysrIGIvcnVudGVzdC5jCkBAIC04MSw4ICs4MSwxMCBAQAogICovCiAjaWZkZWYJT19CSU5BUlkKICNkZWZpbmUgUkRfRkxBR1MJT19SRE9OTFkgfCBPX0JJTkFSWQorI2RlZmluZSBXUl9GTEFHUwlPX1dST05MWSB8IE9fQ1JFQVQgfCBPX1RSVU5DIHwgT19CSU5BUlkKICNlbHNlCi0jZGVmaW5lCVJEX0ZMQUdTCU9fUkRPTkxZCisjZGVmaW5lIFJEX0ZMQUdTCU9fUkRPTkxZCisjZGVmaW5lIFdSX0ZMQUdTCU9fV1JPTkxZIHwgT19DUkVBVCB8IE9fVFJVTkMKICNlbmRpZgogCiB0eXBlZGVmIGludCAoKmZ1bmN0ZXN0KSAoY29uc3QgY2hhciAqZmlsZW5hbWUsIGNvbnN0IGNoYXIgKnJlc3VsdCwKQEAgLTEwMCw2ICsxMDIsNyBAQAogICAgIGludCAgICAgb3B0aW9uczsgIC8qIHBhcnNlciBvcHRpb25zIGZvciB0aGUgdGVzdCAqLwogfTsKIAorc3RhdGljIGludCB1cGRhdGVfcmVzdWx0cyA9IDA7CiBzdGF0aWMgaW50IGNoZWNrVGVzdEZpbGUoY29uc3QgY2hhciAqZmlsZW5hbWUpOwogCiAjaWYgZGVmaW5lZChfV0lOMzIpICYmICFkZWZpbmVkKF9fQ1lHV0lOX18pCkBAIC02MDQsMTIgKzYwNywzNCBAQAogICAgIHJldHVybigxKTsKIH0KIAotc3RhdGljIGludCBjb21wYXJlRmlsZXMoY29uc3QgY2hhciAqcjEsIGNvbnN0IGNoYXIgKnIyKSB7CitzdGF0aWMgaW50IGNvbXBhcmVGaWxlcyhjb25zdCBjaGFyICpyMSAvKiB0ZW1wICovLCBjb25zdCBjaGFyICpyMiAvKiByZXN1bHQgKi8pIHsKICAgICBpbnQgcmVzMSwgcmVzMjsKICAgICBpbnQgZmQxLCBmZDI7CiAgICAgY2hhciBieXRlczFbNDA5Nl07CiAgICAgY2hhciBieXRlczJbNDA5Nl07CiAKKyAgICBpZiAodXBkYXRlX3Jlc3VsdHMpIHsKKyAgICAgICAgZmQxID0gb3BlbihyMSwgUkRfRkxBR1MpOworICAgICAgICBpZiAoZmQxIDwgMCkKKyAgICAgICAgICAgIHJldHVybigtMSk7CisgICAgICAgIGZkMiA9IG9wZW4ocjIsIFdSX0ZMQUdTLCAwNjQ0KTsKKyAgICAgICAgaWYgKGZkMiA8IDApIHsKKyAgICAgICAgICAgIGNsb3NlKGZkMSk7CisgICAgICAgICAgICByZXR1cm4oLTEpOworICAgICAgICB9CisgICAgICAgIGRvIHsKKyAgICAgICAgICAgIHJlczEgPSByZWFkKGZkMSwgYnl0ZXMxLCA0MDk2KTsKKyAgICAgICAgICAgIGlmIChyZXMxIDw9IDApCisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICByZXMyID0gd3JpdGUoZmQyLCBieXRlczEsIHJlczEpOworICAgICAgICAgICAgaWYgKHJlczIgPD0gMCB8fCByZXMyICE9IHJlczEpCisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0gd2hpbGUgKDEpOworICAgICAgICBjbG9zZShmZDIpOworICAgICAgICBjbG9zZShmZDEpOworICAgICAgICByZXR1cm4ocmVzMSAhPSAwKTsKKyAgICB9CisKICAgICBmZDEgPSBvcGVuKHIxLCBSRF9GTEFHUyk7CiAgICAgaWYgKGZkMSA8IDApCiAgICAgICAgIHJldHVybigtMSk7CkBAIC02NDYsMTMgKzY3MSwzMSBAQAogICAgIGludCBpZHggPSAwOwogICAgIHN0cnVjdCBzdGF0IGluZm87CiAKLSAgICBpZiAoc3RhdChmaWxlbmFtZSwgJmluZm8pIDwgMCkKKyAgICBpZiAodXBkYXRlX3Jlc3VsdHMpIHsKKyAgICAgICAgZmQgPSBvcGVuKGZpbGVuYW1lLCBXUl9GTEFHUywgMDY0NCk7CisgICAgICAgIGlmIChmZCA8IDApIHsKKwkgICAgZnByaW50ZihzdGRlcnIsICJmYWlsZWQgdG8gb3BlbiAlcyBmb3Igd3JpdGluZyIsIGZpbGVuYW1lKTsKKyAgICAgICAgICAgIHJldHVybigtMSk7CisJfQorICAgICAgICByZXMgPSB3cml0ZShmZCwgbWVtLCBzaXplKTsKKyAgICAgICAgY2xvc2UoZmQpOworICAgICAgICByZXR1cm4ocmVzICE9IHNpemUpOworICAgIH0KKworICAgIGlmIChzdGF0KGZpbGVuYW1lLCAmaW5mbykgPCAwKSB7CisgICAgICAgIGZwcmludGYoc3RkZXJyLCAiZmFpbGVkIHRvIHN0YXQgJXNcbiIsIGZpbGVuYW1lKTsKIAlyZXR1cm4oLTEpOwotICAgIGlmIChpbmZvLnN0X3NpemUgIT0gc2l6ZSkKKyAgICB9CisgICAgaWYgKGluZm8uc3Rfc2l6ZSAhPSBzaXplKSB7CisgICAgICAgIGZwcmludGYoc3RkZXJyLCAiZmlsZSAlcyBpcyAlbGQgYnl0ZXMsIHJlc3VsdCBpcyAlZCBieXRlc1xuIiwKKwkgICAgICAgIGZpbGVuYW1lLCBpbmZvLnN0X3NpemUsIHNpemUpOwogICAgICAgICByZXR1cm4oLTEpOworICAgIH0KICAgICBmZCA9IG9wZW4oZmlsZW5hbWUsIFJEX0ZMQUdTKTsKLSAgICBpZiAoZmQgPCAwKQorICAgIGlmIChmZCA8IDApIHsKKwlmcHJpbnRmKHN0ZGVyciwgImZhaWxlZCB0byBvcGVuICVzIGZvciByZWFkaW5nIiwgZmlsZW5hbWUpOwogICAgICAgICByZXR1cm4oLTEpOworICAgIH0KICAgICB3aGlsZSAoaWR4IDwgc2l6ZSkgewogICAgICAgICByZXMgPSByZWFkKGZkLCBieXRlcywgNDA5Nik7CiAJaWYgKHJlcyA8PSAwKQpAQCAtNjcxLDYgKzcxNCw5IEBACiAJaWR4ICs9IHJlczsKICAgICB9CiAgICAgY2xvc2UoZmQpOworICAgIGlmIChpZHggIT0gc2l6ZSkgeworCWZwcmludGYoc3RkZXJyLCJDb21wYXJlIGVycm9yIGluZGV4ICVkLCBzaXplICVkXG4iLCBpZHgsIHNpemUpOworICAgIH0KICAgICByZXR1cm4oaWR4ICE9IHNpemUpOwogfQogCkBAIC0xODI3LDcgKzE4NzMsNyBAQAogICAgIGN0eHQgPSB4bWxDcmVhdGVQdXNoUGFyc2VyQ3R4dChOVUxMLCBOVUxMLCBiYXNlICsgY3VyLCA0LCBmaWxlbmFtZSk7CiAgICAgeG1sQ3R4dFVzZU9wdGlvbnMoY3R4dCwgb3B0aW9ucyk7CiAgICAgY3VyICs9IDQ7Ci0gICAgd2hpbGUgKGN1ciA8IHNpemUpIHsKKyAgICBkbyB7CiAgICAgICAgIGlmIChjdXIgKyAxMDI0ID49IHNpemUpIHsKICNpZmRlZiBMSUJYTUxfSFRNTF9FTkFCTEVECiAJICAgIGlmIChvcHRpb25zICYgWE1MX1BBUlNFX0hUTUwpCkBAIC0xODQ1LDcgKzE4OTEsNyBAQAogCSAgICB4bWxQYXJzZUNodW5rKGN0eHQsIGJhc2UgKyBjdXIsIDEwMjQsIDApOwogCSAgICBjdXIgKz0gMTAyNDsKIAl9Ci0gICAgfQorICAgIH0gd2hpbGUgKGN1ciA8IHNpemUpOwogICAgIGRvYyA9IGN0eHQtPm15RG9jOwogI2lmZGVmIExJQlhNTF9IVE1MX0VOQUJMRUQKICAgICBpZiAob3B0aW9ucyAmIFhNTF9QQVJTRV9IVE1MKQpAQCAtMTg3MSw3ICsxOTE3LDcgQEAKICAgICBpZiAoKGJhc2UgPT0gTlVMTCkgfHwgKHJlcyAhPSAwKSkgewogCWlmIChiYXNlICE9IE5VTEwpCiAJICAgIHhtbEZyZWUoKGNoYXIgKiliYXNlKTsKLSAgICAgICAgZnByaW50ZihzdGRlcnIsICJSZXN1bHQgZm9yICVzIGZhaWxlZFxuIiwgZmlsZW5hbWUpOworICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIlJlc3VsdCBmb3IgJXMgZmFpbGVkIGluICVzXG4iLCBmaWxlbmFtZSwgcmVzdWx0KTsKIAlyZXR1cm4oLTEpOwogICAgIH0KICAgICB4bWxGcmVlKChjaGFyICopYmFzZSk7CkBAIC0xOTI2LDcgKzE5NzIsNyBAQAogICAgIGlmICgoYmFzZSA9PSBOVUxMKSB8fCAocmVzICE9IDApKSB7CiAJaWYgKGJhc2UgIT0gTlVMTCkKIAkgICAgeG1sRnJlZSgoY2hhciAqKWJhc2UpOwotICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIlJlc3VsdCBmb3IgJXMgZmFpbGVkXG4iLCBmaWxlbmFtZSk7CisgICAgICAgIGZwcmludGYoc3RkZXJyLCAiUmVzdWx0IGZvciAlcyBmYWlsZWQgaW4gJXNcbiIsIGZpbGVuYW1lLCByZXN1bHQpOwogCXJldHVybigtMSk7CiAgICAgfQogICAgIHhtbEZyZWUoKGNoYXIgKiliYXNlKTsKQEAgLTIwMzcsMTYgKzIwODMsMTYgQEAKIAkgICAgeG1sRG9jRHVtcE1lbW9yeShkb2MsICh4bWxDaGFyICoqKSAmYmFzZSwgJnNpemUpOwogCX0KIAlyZXMgPSBjb21wYXJlRmlsZU1lbShyZXN1bHQsIGJhc2UsIHNpemUpOworCWlmIChyZXMgIT0gMCkgeworCSAgICBmcHJpbnRmKHN0ZGVyciwgIlJlc3VsdCBmb3IgJXMgZmFpbGVkIGluICVzXG4iLCBmaWxlbmFtZSwgcmVzdWx0KTsKKwkgICAgcmV0dXJuKC0xKTsKKwl9CiAgICAgfQogICAgIGlmIChkb2MgIT0gTlVMTCkgewogCWlmIChiYXNlICE9IE5VTEwpCiAJICAgIHhtbEZyZWUoKGNoYXIgKiliYXNlKTsKIAl4bWxGcmVlRG9jKGRvYyk7CiAgICAgfQotICAgIGlmIChyZXMgIT0gMCkgewotICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIlJlc3VsdCBmb3IgJXMgZmFpbGVkXG4iLCBmaWxlbmFtZSk7Ci0JcmV0dXJuKC0xKTsKLSAgICB9CiAgICAgaWYgKGVyciAhPSBOVUxMKSB7CiAJcmVzID0gY29tcGFyZUZpbGVNZW0oZXJyLCB0ZXN0RXJyb3JzLCB0ZXN0RXJyb3JzU2l6ZSk7CiAJaWYgKHJlcyAhPSAwKSB7CkBAIC0yMTU5LDcgKzIyMDUsNyBAQAogICAgICAgICAgICAgZnJlZSh0ZW1wKTsKICAgICAgICAgfQogCWlmIChyZXQpIHsKLQkgICAgZnByaW50ZihzdGRlcnIsICJSZXN1bHQgZm9yICVzIGZhaWxlZFxuIiwgZmlsZW5hbWUpOworCSAgICBmcHJpbnRmKHN0ZGVyciwgIlJlc3VsdCBmb3IgJXMgZmFpbGVkIGluICVzXG4iLCBmaWxlbmFtZSwgcmVzdWx0KTsKIAkgICAgcmV0dXJuKC0xKTsKIAl9CiAgICAgfQpAQCAtMjI3MSwxMCArMjMxNywxOSBAQAogc3RhdGljIHhtbERvY1B0ciB4cGF0aERvY3VtZW50OwogCiBzdGF0aWMgdm9pZAoraWdub3JlR2VuZXJpY0Vycm9yKHZvaWQgKmN0eCBBVFRSSUJVVEVfVU5VU0VELAorICAgICAgICBjb25zdCBjaGFyICptc2cgQVRUUklCVVRFX1VOVVNFRCwgLi4uKSB7Cit9CisKK3N0YXRpYyB2b2lkCiB0ZXN0WFBhdGgoY29uc3QgY2hhciAqc3RyLCBpbnQgeHB0ciwgaW50IGV4cHIpIHsKKyAgICB4bWxHZW5lcmljRXJyb3JGdW5jIGhhbmRsZXIgPSBpZ25vcmVHZW5lcmljRXJyb3I7CiAgICAgeG1sWFBhdGhPYmplY3RQdHIgcmVzOwogICAgIHhtbFhQYXRoQ29udGV4dFB0ciBjdHh0OwogCisgICAgLyogRG9uJ3QgcHJpbnQgZ2VuZXJpYyBlcnJvcnMgdG8gc3RkZXJyLiAqLworICAgIGluaXRHZW5lcmljRXJyb3JEZWZhdWx0RnVuYygmaGFuZGxlcik7CisKICAgICBuYl90ZXN0cysrOwogI2lmIGRlZmluZWQoTElCWE1MX1hQVFJfRU5BQkxFRCkKICAgICBpZiAoeHB0cikgewpAQCAtMjMwMyw2ICsyMzU4LDkgQEAKICAgICB4bWxYUGF0aERlYnVnRHVtcE9iamVjdCh4cGF0aE91dHB1dCwgcmVzLCAwKTsKICAgICB4bWxYUGF0aEZyZWVPYmplY3QocmVzKTsKICAgICB4bWxYUGF0aEZyZWVDb250ZXh0KGN0eHQpOworCisgICAgLyogUmVzZXQgZ2VuZXJpYyBlcnJvciBoYW5kbGVyLiAqLworICAgIGluaXRHZW5lcmljRXJyb3JEZWZhdWx0RnVuYyhOVUxMKTsKIH0KIAogLyoqCkBAIC0yMzYyLDcgKzI0MjAsNyBAQAogICAgIGlmIChyZXN1bHQgIT0gTlVMTCkgewogCXJldCA9IGNvbXBhcmVGaWxlcyh0ZW1wLCByZXN1bHQpOwogCWlmIChyZXQpIHsKLQkgICAgZnByaW50ZihzdGRlcnIsICJSZXN1bHQgZm9yICVzIGZhaWxlZFxuIiwgZmlsZW5hbWUpOworCSAgICBmcHJpbnRmKHN0ZGVyciwgIlJlc3VsdCBmb3IgJXMgZmFpbGVkIGluICVzXG4iLCBmaWxlbmFtZSwgcmVzdWx0KTsKIAl9CiAgICAgfQogCkBAIC0yNTMzLDcgKzI1OTEsNyBAQAogICAgIGlmIChyZXN1bHQgIT0gTlVMTCkgewogCXJldCA9IGNvbXBhcmVGaWxlcyh0ZW1wLCByZXN1bHQpOwogCWlmIChyZXQpIHsKLQkgICAgZnByaW50ZihzdGRlcnIsICJSZXN1bHQgZm9yICVzIGZhaWxlZFxuIiwgZmlsZW5hbWUpOworCSAgICBmcHJpbnRmKHN0ZGVyciwgIlJlc3VsdCBmb3IgJXMgZmFpbGVkIGluICVzXG4iLCBmaWxlbmFtZSwgcmVzdWx0KTsKIAkgICAgcmVzID0gMTsKIAl9CiAgICAgfQpAQCAtMjY2MSw3ICsyNzE5LDcgQEAKICAgICBpZiAocmVzdWx0ICE9IE5VTEwpIHsKIAlyZXQgPSBjb21wYXJlRmlsZXModGVtcCwgcmVzdWx0KTsKIAlpZiAocmV0KSB7Ci0JICAgIGZwcmludGYoc3RkZXJyLCAiUmVzdWx0IGZvciAlcyBmYWlsZWRcbiIsIGZpbGVuYW1lKTsKKwkgICAgZnByaW50ZihzdGRlcnIsICJSZXN1bHQgZm9yICVzIGZhaWxlZCBpbiAlc1xuIiwgZmlsZW5hbWUsIHJlc3VsdCk7CiAJICAgIHJlcyA9IDE7CiAJfQogICAgIH0KQEAgLTM0MzAsMTEgKzM0ODgsMTEgQEAKICAgICByZXN1bHRbNDk5XSA9IDA7CiAgICAgbWVtY3B5KHhtbCArIGxlbiwgIi54bWwiLCA1KTsKIAotICAgIGlmICghY2hlY2tUZXN0RmlsZSh4bWwpKSB7CisgICAgaWYgKCFjaGVja1Rlc3RGaWxlKHhtbCkgJiYgIXVwZGF0ZV9yZXN1bHRzKSB7CiAJZnByaW50ZihzdGRlcnIsICJNaXNzaW5nIHhtbCBmaWxlICVzXG4iLCB4bWwpOwogCXJldHVybigtMSk7CiAgICAgfQotICAgIGlmICghY2hlY2tUZXN0RmlsZShyZXN1bHQpKSB7CisgICAgaWYgKCFjaGVja1Rlc3RGaWxlKHJlc3VsdCkgJiYgIXVwZGF0ZV9yZXN1bHRzKSB7CiAJZnByaW50ZihzdGRlcnIsICJNaXNzaW5nIHJlc3VsdCBmaWxlICVzXG4iLCByZXN1bHQpOwogCXJldHVybigtMSk7CiAgICAgfQpAQCAtMzUzMyw3ICszNTkxLDcgQEAKIAogICAgIHJldCA9IGNvbXBhcmVGaWxlcyh0ZW1wLCByZXN1bHQpOwogICAgIGlmIChyZXQpIHsKLQlmcHJpbnRmKHN0ZGVyciwgIlJlc3VsdCBmb3IgJXMgZmFpbGVkXG4iLCBmaWxlbmFtZSk7CisJZnByaW50ZihzdGRlcnIsICJSZXN1bHQgZm9yICVzIGZhaWxlZCBpbiAlc1xuIiwgZmlsZW5hbWUsIHJlc3VsdCk7CiAJcmV0ID0gMTsKICAgICB9CiAgICAgaWYgKHRlbXAgIT0gTlVMTCkgewpAQCAtMzgwNSw3ICszODYzLDcgQEAKICAgICBwcmVmaXhbbGVuXSA9IDA7CiAKICAgICBzbnByaW50ZihidWYsIDQ5OSwgInJlc3VsdC9jMTRuLyVzLyVzIiwgc3ViZGlyLHByZWZpeCk7Ci0gICAgaWYgKCFjaGVja1Rlc3RGaWxlKGJ1ZikpIHsKKyAgICBpZiAoIWNoZWNrVGVzdEZpbGUoYnVmKSAmJiAhdXBkYXRlX3Jlc3VsdHMpIHsKICAgICAgICAgZnByaW50ZihzdGRlcnIsICJNaXNzaW5nIHJlc3VsdCBmaWxlICVzIiwgYnVmKTsKIAlyZXR1cm4oLTEpOwogICAgIH0KQEAgLTQzNTQsOSArNDQxMiw5IEBACiAJICAgIH0gZWxzZSB7CiAJICAgICAgICBlcnJvciA9IE5VTEw7CiAJICAgIH0KLQkgICAgaWYgKChyZXN1bHQpICYmKCFjaGVja1Rlc3RGaWxlKHJlc3VsdCkpKSB7CisJICAgIGlmICgocmVzdWx0KSAmJighY2hlY2tUZXN0RmlsZShyZXN1bHQpKSAmJiAhdXBkYXRlX3Jlc3VsdHMpIHsKIAkgICAgICAgIGZwcmludGYoc3RkZXJyLCAiTWlzc2luZyByZXN1bHQgZmlsZSAlc1xuIiwgcmVzdWx0KTsKLQkgICAgfSBlbHNlIGlmICgoZXJyb3IpICYmKCFjaGVja1Rlc3RGaWxlKGVycm9yKSkpIHsKKwkgICAgfSBlbHNlIGlmICgoZXJyb3IpICYmKCFjaGVja1Rlc3RGaWxlKGVycm9yKSkgJiYgIXVwZGF0ZV9yZXN1bHRzKSB7CiAJICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIk1pc3NpbmcgZXJyb3IgZmlsZSAlc1xuIiwgZXJyb3IpOwogCSAgICB9IGVsc2UgewogCQltZW0gPSB4bWxNZW1Vc2VkKCk7CkBAIC00NDQwLDYgKzQ0OTgsOCBAQAogICAgIGZvciAoYSA9IDE7IGEgPCBhcmdjO2ErKykgewogICAgICAgICBpZiAoIXN0cmNtcChhcmd2W2FdLCAiLXYiKSkKIAkgICAgdmVyYm9zZSA9IDE7CisgICAgICAgIGVsc2UgaWYgKCFzdHJjbXAoYXJndlthXSwgIi11IikpCisJICAgIHVwZGF0ZV9yZXN1bHRzID0gMTsKICAgICAgICAgZWxzZSBpZiAoIXN0cmNtcChhcmd2W2FdLCAiLXF1aWV0IikpCiAJICAgIHRlc3RzX3F1aWV0ID0gMTsKIAllbHNlIHsKZGlmZiAtLWdpdCBhL3NjaGVtYXRyb24uYyBiL3NjaGVtYXRyb24uYwppbmRleCBlYjRiZWZlLi42MjAwZjJkIDEwMDY0NAotLS0gYS9zY2hlbWF0cm9uLmMKKysrIGIvc2NoZW1hdHJvbi5jCkBAIC0xMzMsNyArMTMzLDcgQEAKICAgICBpbnQgZmxhZ3M7CQkJLyogc3BlY2lmaWMgdG8gdGhpcyBzY2hlbWF0cm9uICovCiAKICAgICB2b2lkICpfcHJpdmF0ZTsJCS8qIHVudXNlZCBieSB0aGUgbGlicmFyeSAqLwotICAgIHhtbERpY3RQdHIgZGljdDsJCS8qIHRoZSBkaWN0aW9ubmFyeSB1c2VkIGludGVybmFsbHkgKi8KKyAgICB4bWxEaWN0UHRyIGRpY3Q7CQkvKiB0aGUgZGljdGlvbmFyeSB1c2VkIGludGVybmFsbHkgKi8KIAogICAgIGNvbnN0IHhtbENoYXIgKnRpdGxlOwkvKiB0aGUgdGl0bGUgaWYgYW55ICovCiAKQEAgLTE4Niw3ICsxODYsNyBAQAogICAgIGNvbnN0IGNoYXIgKmJ1ZmZlcjsKICAgICBpbnQgc2l6ZTsKIAotICAgIHhtbERpY3RQdHIgZGljdDsgICAgICAgICAgICAvKiBkaWN0aW9ubmFyeSBmb3IgaW50ZXJuZWQgc3RyaW5nIG5hbWVzICovCisgICAgeG1sRGljdFB0ciBkaWN0OyAgICAgICAgICAgIC8qIGRpY3Rpb25hcnkgZm9yIGludGVybmVkIHN0cmluZyBuYW1lcyAqLwogCiAgICAgaW50IG5iZXJyb3JzOwogICAgIGludCBlcnI7CkBAIC0yNDUsNyArMjQ1LDcgQEAKICAqCiAgKiBIYW5kbGUgYSBwYXJzZXIgZXJyb3IKICAqLwotc3RhdGljIHZvaWQKK3N0YXRpYyB2b2lkIExJQlhNTF9BVFRSX0ZPUk1BVCg0LDApCiB4bWxTY2hlbWF0cm9uUEVycih4bWxTY2hlbWF0cm9uUGFyc2VyQ3R4dFB0ciBjdHh0LCB4bWxOb2RlUHRyIG5vZGUsIGludCBlcnJvciwKICAgICAgICAgICAgICAgY29uc3QgY2hhciAqbXNnLCBjb25zdCB4bWxDaGFyICogc3RyMSwgY29uc3QgeG1sQ2hhciAqIHN0cjIpCiB7CmRpZmYgLS1naXQgYS90ZXN0L0hUTUwvNzU4NjA1Lmh0bWwgYi90ZXN0L0hUTUwvNzU4NjA1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWIxYjNjMgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3QvSFRNTC83NTg2MDUuaHRtbApAQCAtMCwwICsxIEBACismOuoKZGlmZiAtLWdpdCBhL3Rlc3QvSFRNTC83NTg2MDYuaHRtbCBiL3Rlc3QvSFRNTC83NTg2MDYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMWEwMTNjCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdC9IVE1MLzc1ODYwNi5odG1sCkBAIC0wLDAgKzEgQEAKKzwhLS0MPCFkb2N0eXBlCmRpZmYgLS1naXQgYS90ZXN0L0hUTUwvNzU4NjA2XzIuaHRtbCBiL3Rlc3QvSFRNTC83NTg2MDZfMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRhYTE4NWIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0L0hUTUwvNzU4NjA2XzIuaHRtbApAQCAtMCwwICsxIEBACis8IS0tDJE8IWRPY3RZUEUKZGlmZiAtLWdpdCBhL3Rlc3QvWFBhdGgvZG9jcy9ucyBiL3Rlc3QvWFBhdGgvZG9jcy9ucwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44OGY0NTc1Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdC9YUGF0aC9kb2NzL25zCkBAIC0wLDAgKzEsMyBAQAorPGRvYyB4bWxuczpuczE9Im5zdXJpMSI+CisgIDxlbGVtIHhtbG5zOm5zMj0ibnN1cmkyIi8+Cis8L2RvYz4KZGlmZiAtLWdpdCBhL3Rlc3QvWFBhdGgvZXhwci9iYXNlIGIvdGVzdC9YUGF0aC9leHByL2Jhc2UKaW5kZXggOWFhZWQ0Zi4uZjU3ZTRkMCAxMDA2NDQKLS0tIGEvdGVzdC9YUGF0aC9leHByL2Jhc2UKKysrIGIvdGVzdC9YUGF0aC9leHByL2Jhc2UKQEAgLTMsMyArMyw1IEBACiAyKjMKIDErMiozKzQKICgxKzIpKigzKzQpCisxKjErMSoxKzEqMSsxKjErMSoxKzEqMSsxKjErMSoxKzEqMSsxKjErMSoxKzEqMSsxKjErMSoxKzEqMSsxKjErMSoxKzEqMSsxKjErMSoxKzEqMQorc2VsZjo6LW5hbWUKZGlmZiAtLWdpdCBhL3Rlc3QvWFBhdGgvdGVzdHMvbnNzaW1wbGUgYi90ZXN0L1hQYXRoL3Rlc3RzL25zc2ltcGxlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQyYTk1MjgKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0L1hQYXRoL3Rlc3RzL25zc2ltcGxlCkBAIC0wLDAgKzEsMyBAQAorL2RvYy9lbGVtL25hbWVzcGFjZTo6bm9kZSgpLy4uCisvZG9jL2VsZW0vbmFtZXNwYWNlOjoqL3NlbGY6Om5vZGUoKVt0cnVlKCldCisvLypbbmFtZXNwYWNlOjpuczFdCmRpZmYgLS1naXQgYS90ZXN0L1hQYXRoL3hwdHIvdmlkZXJyb3IgYi90ZXN0L1hQYXRoL3hwdHIvdmlkZXJyb3IKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGE4YzUzYgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3QvWFBhdGgveHB0ci92aWRlcnJvcgpAQCAtMCwwICsxIEBACit4cG9pbnRlcihub24tZXhpc3RpbmctZm4oKS9yYW5nZS10byhpZCgnY2hhcHRlcjInKSkpCmRpZmYgLS1naXQgYS90ZXN0L2NkYXRhLTItYnl0ZS1VVEYtOC54bWwgYi90ZXN0L2NkYXRhLTItYnl0ZS1VVEYtOC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODU1MmVmYwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3QvY2RhdGEtMi1ieXRlLVVURi04LnhtbApAQCAtMCwwICsxLDYgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8IS0tIFRoaXMgdGVzdHMgdGhhdCB0d28tYnl0ZSBVVEYtOCBjaGFyYWN0ZXJzIGFyZSBwYXJzZWQgcHJvcGVybHkgd2hlbiBzcGxpdCBhY3Jvc3MgYSBidWZmZXIgYm91bmRhcnkgb2YgbGVuZ3RoIFhNTF9QQVJTRVJfQklHX0JVRkZFUl9TSVpFICgzMDAgYnl0ZXMpLiAtLT4KKzxkb2M+Cis8cD48IVtDREFUQVvEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIxdXT48L3A+Cis8cD48IVtDREFUQVsgxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMxIzEjMSMXV0+PC9wPgorPC9kb2M+CmRpZmYgLS1naXQgYS90ZXN0L2NkYXRhLTMtYnl0ZS1VVEYtOC54bWwgYi90ZXN0L2NkYXRhLTMtYnl0ZS1VVEYtOC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjk1OWExMgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3QvY2RhdGEtMy1ieXRlLVVURi04LnhtbApAQCAtMCwwICsxLDcgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8IS0tIFRoaXMgdGVzdHMgdGhhdCB0aHJlZS1ieXRlIFVURi04IGNoYXJhY3RlcnMgYXJlIHBhcnNlZCBwcm9wZXJseSB3aGVuIHNwbGl0IGFjcm9zcyBhIGJ1ZmZlciBib3VuZGFyeSBvZiBsZW5ndGggWE1MX1BBUlNFUl9CSUdfQlVGRkVSX1NJWkUgKDMwMCBieXRlcykuIC0tPgorPGRvYz4KKzxwPjwhW0NEQVRBW+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm11dPjwvcD4KKzxwPjwhW0NEQVRBWyDniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZvniZtdXT48L3A+Cis8cD48IVtDREFUQVsgIOeJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm+eJm11dPjwvcD4KKzwvZG9jPgpkaWZmIC0tZ2l0IGEvdGVzdC9jZGF0YS00LWJ5dGUtVVRGLTgueG1sIGIvdGVzdC9jZGF0YS00LWJ5dGUtVVRGLTgueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRkMWQ5YTgKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0L2NkYXRhLTQtYnl0ZS1VVEYtOC54bWwKQEAgLTAsMCArMSw4IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPCEtLSBUaGlzIHRlc3RzIHRoYXQgZm91ci1ieXRlIFVURi04IGNoYXJhY3RlcnMgYXJlIHBhcnNlZCBwcm9wZXJseSB3aGVuIHNwbGl0IGFjcm9zcyBhIGJ1ZmZlciBib3VuZGFyeSBvZiBsZW5ndGggWE1MX1BBUlNFUl9CSUdfQlVGRkVSX1NJWkUgKDMwMCBieXRlcykuIC0tPgorPGRvYz4KKzxwPjwhW0NEQVRBW/Cfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+Npl1dPjwvcD4KKzxwPjwhW0NEQVRBWyDwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjaZdXT48L3A+Cis8cD48IVtDREFUQVsgIPCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+Npl1dPjwvcD4KKzxwPjwhW0NEQVRBWyAgIPCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+NpvCfjabwn42m8J+Npl1dPjwvcD4KKzwvZG9jPgpkaWZmIC0tZ2l0IGEvdGVzdC9lcnJvcnMvNzU4NTg4LnhtbCBiL3Rlc3QvZXJyb3JzLzc1ODU4OC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmVjN2U5MwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3QvZXJyb3JzLzc1ODU4OC54bWwKQEAgLTAsMCArMSBAQAorPGEtMzQwMjgyMzY2OTIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjA5Mzg0NjM0NzI1OTc5NDY4NjcyMDkzODQ2MzQ3MjU5Nzk0Njg2NzIwOTM4NDYzNDcyNTk3OTQ2ODY3MjYxZDphPjwvYQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3Rlc3QvZXJyb3JzLzc1OTAyMC54bWwgYi90ZXN0L2Vycm9ycy83NTkwMjAueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRiMjMyNzUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0L2Vycm9ycy83NTkwMjAueG1sCkBAIC0wLDAgKzEsNDYgQEAKKzw/bCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMD8+Cis8czAwIHcwMDAwPSIwMDAiIGgwMDAwMD0iMDAwIgorIHhtbG5zID0gJzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwJyAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3Rlc3QvZXJyb3JzLzc1OTM5OC54bWwgYi90ZXN0L2Vycm9ycy83NTkzOTgueG1sCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjEzMmUwMjkKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0L2Vycm9ycy83NTkzOTgueG1sCkBAIC0wLDAgKzEsMzI2IEBACis8P3htbCB2ZXJzaW9uPScxLjAnIGVuY29kaW5nPSdJU08tODg1OS01JyBzdGFuZGFsb25lPSdubyc/PgorPCFET0NUWVBFIHNwZWMgU1lTVEVNICJkdGRzL3NwZWMuZHRkIiBbCisKKzwhLS0gTEFTVCBUT1VDSEVEIEJZOiBUaW0gQnJheSwgOCBGZWJydWFyeSAxOTk3IC0tPgorCis8IS0tIFRoZSB3b3JkcyAnRklOQUwgRURJVCcgaW4gY29tbWVudHMgbWFyayBwbGFjZXMgd2hlcmUgY2hhbmdlcworbmVlZCB0byBiZSBtYWRlIGFmdGVyIGFwcHJvdmFsIG9mIHRoZSBkb2N1bWVudCBieSB0aGUgRVJCLCBiZWZvcmUKK3B1YmxpY2F0aW9uLiAgLS0+CisKKzwhRU5USVRZIFhNTC52ZXJzaW9uICIxLjAiPgorPCFFTlRJVFkgZG9jLmRhdGUgIjEwIEZlYnJ1YXJ5IDE5OTgiPgorPCFFTlRJVFkgaXNvNi5kb2MuZGF0ZSAiMTk5ODAyMTAiPgorPCFFTlRJVFkgdzNjLmRvYy5kYXRlICIwMi1GZWItMTk5OCI+Cis8IUVOVElUWSBkcmFmdC5kYXkgJzEwJz4KKzwhRU5USVRZIGRyYWZ0Lm1vbnRoICdGZWJydWFyeSc+Cis8IUVOVElUWSBkcmFmdC55ZWFyICcxOTk4Jz4KKworPCFFTlRJVFkgV2ViU0dNTCAKKyAnV2ViU0dNTCBBZGFwdGF0aW9ucyBBbm5leCB0byBJU08gODg3OSc+CisKKzwhRU5USVRZIGx0ICAgICAiPCI+IAorPCFFTlRJVFkgZ3QgICAgICI+Ij4gCis8IUVOVElUWSB4bWxwaW8gIicmbHQ7P3htbCciPgorPCFFTlRJVFkgcGljICAgICInPz4nIj4KKzwhRU5USVRZIGJyICAgICAiXG4iPgorPCFFTlRJVFkgY2VsbGJhY2sgJyNjMGQ5YzAnPgorPCFFTlRJVFkgbWRhc2ggICItLSI+IDwhLS0gJiN4MjAxNCwgYnV0IG5zZ21scyBkb2Vzbid0IGdyb2sgaGV4IC0tPgorPCFFTlRJVFkgY29tICAgICItLSI+Cis8IUVOVElUWSBjb21vICAgIi0tIj4KKzwhRU5USVRZIGNvbWMgICAiLS0iPgorPCFFTlRJVFkgaGNybyAgICImYW1wOyN4Ij4KKzwhLS0gPCFFTlRJVFkgbmJzcCAioCI+IC0tPgorPCFFTlRJVFkgbmJzcCAgICImIzE2MDsiPgorPCFFTlRJVFkgbWFnaWNlbnRzICI8Y29kZT5hbXA8L2NvZGU+LAorPGNvZGU+bHQ8L2NvZGU+LAorPGNvZGU+Z3Q8L2NvZGU+LAorPGNvZGU+YXBvczwvY29kZT4sCis8Y29kZT5xdW90PC9jb2RlPiI+CisgCis8IS0tIGF1ZGllbmNlIGFuZCBkaXN0cmlidXRpb24gc3RhdHVzOiAgZm9yIHVzZSBhdCBwdWJsaWNhdGlvbiB0aW1lIC0tPgorPCFFTlRJVFkgZG9jLmF1ZGllbmNlICJwdWJsaWMgcmV2aWV3IGFuZCBkaXNjdXNzaW9uIj4KKzwhRU5USVRZIGRvYy5kaXN0cmlidXRpb24gIm1heSBiZSBkaXNscmlidXRlZCBmcmVlbHksIGFzIGxvbmcgYXMKK2FsbCB0ZXh0IGFuZCBsZWdhbCBub3RpY2VzIHJlbWFpbiBpbnRhY3QiPgorCitdPgorCis8IS0tIGZvciBQYW5vcmFtYSAqLS0+Cis8P1ZFUkJBVElNICJlZyIgPz4KKworPHNwZWM+Cis8aGVhZGVyPgorPHRpdGxlPkV4dGVuc2libGUgTWFya3VwIExhbmd1YWdlIChYTUwpIDEuMDwvdGl0bGU+Cis8dmVyc2lvbj48L3ZlcnNpb24+Cis8dzNjLWRlc2lnbmF0aW9uPlJFQy14bWwtJmlzbzYuZG9jLmRhdGU7PC93M2MtZGVzaWduYXRpb24+Cis8dzNjLWRvY3R5cGU+VzNDIFJlY29tbWVuZGF0aW9uPC93M2MtZG9jdHlwZT4KKzxwdWJkYXRlPjxkYXk+JmRyYWZ0LmRheTs8L2RheT48bW9udGg+JmRyYWZ0Lm1vbnRoOzwvbW9udGg+PHllYXI+JmRyYWZ0LnllYXI7PC95ZWFyPjwvcHViZGF0ZT4KKworPHB1YmxvYz4KKzxsb2MgIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSLzE5OTgvUkVDLXhtbC0maXNvNi5kb2MuZGF0ZTsiPgoraHR0cDovL3d3dy53My5vcmcvVFIvMTk5OC9SRUMteG1sLSZpc282LmRvYy5kYXRlOzwvbG9jPgorPGxvYyAgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvMTk5OC9SRUMteG1sLSZpc282LmRvYy5kYXRlOy54bWwiPgoraHR0cDovL3d3dy53My5vcmcvVFIvMTk5OC9SRUMteG1sLSZpc282LmRvYy5kYXRlOy54bWw8L2xvYz4KKzxsb2MgIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSLzE5OTgvUkVDLXhtbC0maXNvNi5kb2MuZGF0ZTsuaHRtbCI+CitodHRwOi8vd3d3LnczLm9yZy9UUi8xOTk4L1JFQy14bWwtJmlzbzYuZG9jLmRhdGU7Lmh0bWw8L2xvYz4KKzxsb2MgIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSLzE5OTgvUkVDLXhtbC0maXNvNi5kb2MuZGF0ZTsucGRmIj4KK2h0dHA6Ly93d3cudzMub3JnL1RSLzE5OTgvUkVDLXhtbC0maXNvNi5kb2MuZGF0ZTsucGRmPC9sb2M+Cis8bG9jICBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi8xOTk4L1JFQy14bWwtJmlzbzYuZG9jLmRhdGU7LnBzIj4KK2h0dHA6Ly93d3cudzMub3JnL1RSLzE5OTgvUkVDLXhtbC0maXNvNi5kb2MuZGF0ZTsucHM8L2xvYz4KKzwvcHVibG9jPgorPGxhdGVzdGxvYz4KKzxsb2MgIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL1JFQy14bWwiPgoraHR0////gHd3dy53My5vcmcvVFIvUkVDLXhtbDwvbG9jPgorPC9sYXRlc3Rsb2M+Cis8cHJldmxvY3M+Cis8bG9jICBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9QUi14bWwtOTcxMjA4Ij4KK2h0dHA6Ly93d3cudzMub3JnL1RSL1BSLXhtbC05NzEyMDg8L2xvYz4KKzwhLS0KKzxsb2MgIGhyZWY9J2h0dHA6Ly93d3cudzMub3JnL1RSL1dELXhtbC05NjExMTQnPgoraHR0cDovL3d3dy53My5vcmcvVFIvV0QteG1sLTk2MTExNDwvbG9jPgorPGxvYyAgaHJlZj0naHR0cDovL3d3dy53My5vcmcvVFIvV0QteG1sLWxhbmctOTcwMzMxJz4KK2h0dHA6Ly93d3cudzMub3JnL1RSL1dELXhtbC1sYW5nLTk3MDMzMTwvbG9jPgorPGxvYyAgaHJlZj0naHR0cDovL3d3dy53My5vcmcvVFIvV0QteG1sLWxhbmctOTcwNjMwJz4KK2h0dHA6Ly93d3cudzMub3JnL1RSL1dELXhtbC1sYW5nLTk3MDYzMDwvbG9jPgorPGxvYyAgaHJlZj0naHR0cDovL3d3dy53My5vcmcvVFIvV0QteG1sLTk3MDgwNyc+CitodHRwOi8vd3d3LnczLm9yZy9UUi9XRC14bWwtOTcwODA3PC9sb2M+Cis8bG9jICBocmVmPSdodHRwOi8vd3d3LnczLm9yZy9UUi9XRC14bWwtOTcxMTE3Jz4KK2h0dHA6Ly93d3cudzMub3JnL1RSL1dELXhtbC05NzExMTc8L2xvYz4tLT4KKzwvcHJldmxvY3M+Cis8YXV0aGxpc3Q+Cis8YXV0aG9yPjxuYW1lPlRpbSBCcmF5PC9uYW1lPgorPGFmZmlsaWF0aW9uPlRleHR1YWxpdHkgYW5kIE5ldHNjYXBlPC9hZmZpbGlhdGlvbj4KKzxlbWFpbCAKK2hyZWY9Im1haWx0bzp0YnJheUB0ZXh0dWFsaXR5LmNvbSI+dGJyYXlAdGV4dHVhbGl0eS5jb208L2VtYWlsPjwvYXV0aG9yPgorPGF1dGhvcj48bmFtZT5KZWFuIFBhb2xpPC9uYW1lPgorPGFmZmlsaWF0aW9uPk1pY3Jvc29mdDwvYWZmaWxpYXRpb24+Cis8ZW1haWwgaHJlZj0ibWFpbHRvOmplYW5wYUBtaWNyb3NvZnQuY29tIj5qZWFucGFAbWljcm9zb2Z0LmNvbTwvZW1haWw+PC9hdXRob3I+Cis8YXV0aG9yPjxuYW1lPkMuIE0uIFNwZXJiZXJnLU1jUXVlZW48L25hbWU+Cis8YWZmaWxpYXRpb24+VW5pdmVyc2l0eSBvZiBJbGxpbm9pcyBhdCBDaGljYWdvPC9hZmZpbGlhdGlvbj4KKzxlbWFpbCBocmVmPSJtYWlsdG86Y21zbWNxQHVpYy5lZHUiPmNtc21jcUB1aWMuZWR1PC9lbWFpbD48L2F1dGhvcj4KKzwvYXV0aGxpc3Q+Cis8YWJzdHJhY3Q+Cis8cD5UaGUgRXh0ZW5zaWJsZSBNYXJrdXAgTGFuZ3VhZ2UgKFhNTCkgaXMgYSBzdWJzZXQgb2YKK1NHTUwgdGhhdCBpcyBjb21wbGV0ZWx5IGRlc2NyaWJlZCBpbiB0aGlzIGRvY3VtZW50LiBJdHMgZ29hbCBpcyB0bworZW5hYmxlIGdlbmVyaWMgU0dNTCB0byBiZSBzZXJ2ZWQsIHJlY2VpdmVkLCBhbmQgcHJvY2Vzc2VkIG9uIHRoZSBXZWIKK2luIHRoZSB3YXkgdGhhdCBpcyBub3cgcG9zc2libGUgd2l0aCBIVE1MLiBYTUwgaGFzIGJlZW4gZGVzaWduZWQgZm9yCitlYXNlIG9mIGltcGxlbWVudGF0aW9uIGFuZCBmb3IgaW50ZXJvcGVyYWJpbGl0eSB3aXRoIGJvdGggU0dNTCBhbmQKK0hUTUwuPC9wPgorPC9hYnN0cmFjdD4KKzxzdGF0dXM+Cis8cD5UaGlzIGRvY3VtZW50IGhhcyBiZWVuIHJldmlld2VkIGJ5IFczQyBNZW1iZXJzIGFuZAorb3RoZXIgaW50ZXJlc3RlZCBwYXJ0aWVzIGFuZCBoYXMgYmVlbiBlbmRvcnNlZCBieSB0aGUKK0RpcmVjdG9yIGFzIGEgVzNDIFJlY29tbWVuZGF0aW9uLiBJdCBpcyBhIHN0YWJsZQorZG9jdW1lbnQgYW5kIG1heSBiZSB1c2VkIGFzIHJlZmVyZW5jZSBtYXRlcmlhbCBvciBjaXRlZAorYXMgYSBub3JtYXRpdmUgcmVmZXJlbmNlIGZyb20gYW5vdGhlciBkb2N1bWVudC4gVzNDJ3MKK3JvbGUgaW4gbWFraW5nIHRoZSBSZWNvbW1lbmRhdGlvbiBpcyB0byBkcmF3IGF0dGVudGlvbgordG8gdGhlIHNwUGNpZmljYXRpb24gYW5kIHRvIHByb21vdGUgaXRzIHdpZGVzcHJlYWQKK2RlcGxveW1lbnQuIFRoaXMgZW5oYW5jZXMgdGhlIGZ1bmN0aW9uYWxpdHkgYW5kCitpbnRlcm9wZXJhYmlsaXR5IG9mIHRoZSBXZWIuPC9wPgorPHA+CitUaGlzIGRvY3VtZW50IHNwZWNpZmllcyBhIHN5bnRheCBjcmVhdGVkIGJ5IHN1YnNldHRpbmcgYW4gZXhpc3RpbmcsCit3aWRlbHkgdXNlZCBpbnRlcm5hdGlvbmFsIHRleHQgcHJvY2Vzc2luZyBzdGFuZGFyZCAoU3RhbmRhcmQKK0dlbmVyYWxpemVkIE1hcmt1cCBMYW5ndWFnZSwgSVNPIDg4Nzk6MTk4NihFKSBhcyBhbWVuZGVkIGFuZAorY29ycmVjdGVkKSBmb3IgdXNlIG9uIHRoZSBXb3JsZCBXaWRlIFdlYi4gIEl0IGlzIGEgcHJvZHVjdCBvZiB0aGUgVzNDCitYTUwgQWN0aXZpdHksIGRldGFpbHMgb2Ygd2hpY2ggY2FuIGJlIGZvdW5kIGF0IDxsb2MKK2hyZWY9J2h0dHA6Ly93d3cudzMub3JnL1hNTCc+aHR0cDovL3d3dy53My5vcmcvWE1MPC9sb2M+LiAgQSBsaXN0IG9mCitjdXJyZW50IFczQyBSZWNvbW1lbmRhdGlvbnMgYW5kIG90aGVyIHRlY2huaWNhbCBkb2N1bWVudHMgY2FuIGJlIGZvdW5kCithdCA8bG9jIGhyZWY9J2h0dHA6Ly93d3cudzMub3JnL1RSJz5odHRwOi8vd3d3LnczLm9yZy9UUjwvbG9jPi4KKzwvcD4KKzxwPlRoaXMgc3BlY2lmaWNhdGlvbiB1c2VzIHRoZSB0ZXJtIFVSSSwgd2hpY2ggaXMgZGVmaW5lZCBieSA8YmlicmVmCityZWY9IkJlcm5lcnMtTGVlIi8+LCBhIHdvcmsgaW4gcHJvZ3Jlc3MgZXhwZWN0ZWQgdG8gdXBkYXRlIDxiaWJyZWYKK3JlZj0iUkZDMTczOCIvPiBhbmQgPGJpYnJlZiByZWY9IlJGQzE4MDgiLz4uIAorPC9wPgorPHA+VGhlIGxpc3Qgb2Yga25vd24gZXJyb3JzIGluIHRoaXMgc3BlY2lmaWNhdGlvbiBpcyAKK2F2YWlsYWJsZSBhdCAKKzxsb2MgaHJlZj0naHR0cDovL3d3dy53My5vcmcvWE1ML3htbC0xOTk4MDIxMC1lcnJhdGEnPmh0dHA6Ly93d3cudzMub3JnL1hNTC94bWwtMTk5ODAyMTAtZXJyYXRhPC9sb2M+LjwvcD4KKzxwPlBsZWFzZSByZXBvcnQgZXJyb3JzIGluIHRoaXMgZG9jdW1lbnQgdG8gCis8bG9jIGhyZWY9J21haWx0bzp4bWwtZWRpdG9yQHczLm9yZyc+eG1sLWVkaXRvckB3My5vcmc8L2xvYz4uCis8L3A+Cis8L3N0YXR1cz4KKworCis8cHVic3RtdD4KKzxwPkNoaWNhZ28sIFZhbmNvdXZlciwgTW91bnRhaW4gVmlldywgZXQgYWwuOgorV29ybGQtV2lkZSBXZWIgQ29uc29ydGl1bSwgWE1MIFdvcmtpbmcgR3JvdXAsIDE5OTYsIDE5OTcuPC9wPgorPC9wdWJzdG10PgorPHNvdXJjZWRlc2M+Cis8cD5DcmVhdGVkIGluIGVsZWN0cm9uaWMgZm9ybS48L3A+Cis8L3NvdXJjZWRlc2M+Cis8bGFuZ3VzYWdlPgorPGxhbmd1YWdlIGlkPSdFTic+RW5nbGlzaDwvbGFuZ3VhZ2U+Cis8bGFuZ3VhZ2UgaWQ9J2VibmYnPkV4dGVuZGVkIEJhY2t1cy1OYXVyIEZvcm0gKGZvcm1hbCBncmFtbWFyKTwvbGFuZ3VhZ2U+Cis8L2xhbmd1c2FnZT4KKzxyZXZpc2lvbmRlc2M+Cis8c2xpc3Q+Cis8c2l0ZW0+MTk5Ny0xMi0wMyA6IENNU01jUSA6IHlldCBmdXJ0aGVyIGNoYW5nZXM8L3NpdGVtPgorPHNpdGVtPjE5OTctMTItMDIgOiBUQiA6IGZ1cnRoZXIgY2hhbmdlcyAoc2VlIFRCIHRvIFhNTCBXRywKKzIgRGVjZW1iZXIgMTk5Nyk8L3NpdGVtPgorPHNpdGVtPjE5OTctMTItMDIgOiBDTVNNY1EgOiBkZWFsIHdpdGggYXMgbWFueSBjb3JyZWN0aW9ucyBhbmQKK2NvbW1lbnRzIGZyb20gdGhlIHByb29mcmVhZGVycyBhcyBwb3NzaWJsZToKK2VudGlmeSBoYXJkLWNvZGVkIGRvY3VtZW50IGRhdGUgaW4gcHViZGF0ZSBlbGVtZW50LAorY2hhbmdlIGV4cGFuc2lvbiBvZiBlbnRpdHkgV2ViU0dNTCwKK3VwZGF0ZSBzdGF0dXMgZGVzY3JpcHRpb24gYXMgcGVyIERhbiBDb25ub2xseSAoYW0gbm90IHN1cmUKK2Fib3V0IHJlZmVybmVjZSB0byBCZXJuZXJzLUxlZSBldCBhbC4pLAorYWRkICdUaGUnIHRvIGFic3RyYWN0IGFzIHBlciBXRyBkZWNpc2lvbiwKK21vdmUgUmVsYXRpb25zaGlwIHRvIEV4aXN0aW5nIFN0YW5kYXJkcyB0byBiYWNrIG1hdHRlciBhbmQKK2NvbWJpbmUgd2l0aCBSZWZlcmVuY2VzLAorcmUtb3JkZXIgYmFjayBtYXR0ZXIgc28gbm9ybWF0aXZlIGFwcGVuZGljZXMgY29tZSBmaXJzdCwKK3JlLXRhZyBiYWNrIG1hdHRlciBzbyBpbmZvcm1hdGl2ZSBhcHBlbmRpY2VzIGFyZSB0YWdnZWQgaW5mb3JtZGl2MSwKK3JlbW92ZSBYWFggWFhYIGZyb20gbGlzdCBvZiAnbm9ybWF0aXZlJyBzcGVjcyBpbiBwcm9zZSwKK21vdmUgc29tZSByZWZlcmVuY2VzIGZyb20gT3RoZXIgUmVmZXJlbmNlcyB0byBOb3JtYXRpdmUgUmVmZXJlbmNlcywKK2FkZCBSRkMgMTczOCwgMTgwOCwgYW5kIDIxNDEgdG8gT3RoZXIgUmVmZXJlbmNlcyAodGhleSBhcmUgbm90Citub3JtYXRpdmUgc2luY2Ugd2UgZG8gbm90IHJlcXVpcmUgdGhlIHByb2Nlc3NvciB0byBlbmZvcmNlIGFueSAKK3J1bGVzIGJhc2VkIG9uIHRoZW0pLAorYWRkIHJlZmVyZW5jZSB0byAnRmllbGRpbmcgZHJhZnQnIChCZXJuZXJzLUxlZSBldCBhbC4pLAorbW92ZSBub3RhdGlvbiBzZWN0aW9uIHRvIGVuZCBvZiBib2R5LAorZHJvcCBVUkljaGFyIG5vbi10ZXJtaW5hbCBhbmQgdXNlIFNraXBMaXQgaW5zdGVhZCwKK2xvc2Ugc3RyYXkgcmVmZXJlbmNlIHRvIGRlZnVuY3Qgbm9udGVybWluYWwgJ21hcmt1cGRlY2xzJywKK21vdmUgcmVmZXJlbmNlIHRvIEFobyBldCBhbC4gaW50byBhcHBlbmRpeCAoVGltJ3MgcmlnaHQpLAorYWRkIHByb3NlIG5vdGUgc2F5aW5nIHRoYXQgaGFzaCBtYXJrcyBhbmQgZnJhZ21lbnQgaWRlbnRpZmllcnMgYXJlCitOT1QgcGFydCBvZiB0aGUgVVJJIGZvcm1hbGx5IHNwZWFraW5nLCBhbmQgYXJlIE5PVCBsZWdhbCBpbiAKK3N5c3RlbSBpZGVudGlmaWVycyAocHJvY2Vzc29yICdtYXknIHNpZ25hbCBhbiBlcnJvcikuCitXb3JrIHRocm91Z2g6CitUaW0gQnJheSByZWFjdGluZyB0byBKYW1lcyBDbGFyaywKK1RpbSBCcmF5IG9uIGhpcyBvd24sCitFdmUgTWFsZXIsCisKK05PVCBET05FIFlFVDoKK2NoYW5nZSBiaW5hcnkgLyB0ZXh0IHRvIHVucGFyc2VkIC8gcGFyc2VkLgoraGFuZGxlIEphbWVzJ3Mgc3VnZ2VzdGlvbiBhYm91dCAmbHQ7IGluIGF0dHJpdWJ0ZSB2YWx1ZXMKK3VwcGVyY2FzZSBoZXggY2hhcmFjdGVycywKK25hbWVjaGFyIGxpc3QsCis8L3NpdGVtPgorPHNpdGVtPjE5OTctMTItMDEgOiBKQiA6IGFkZCBzb21lIGNvbHVtbi13aWR0aCBwYXJhbWV0ZXJzPC9zaXRlbT4KKzxzaXRlbT4xOTk3LTEyLTAxIDogQ01TTWNRIDogYmVnaW4gcm91bmQgb2YgY2hhbmdlcyB0byBpbmNvcnBvcmF0ZQorcmVjZW50IFdHIGRlY2lzaW9ucyBhbmQgb3RoZXIgY29ycmVjdGlvbnM6CitiaW5kaW5nIHNvdXJjZXMgb2YgY2hhcmFjdGVyIGVuY29kaW5nIGluZm8gKDI3IEF1ZyAvIDMgU2VwdCksCitjb3JyZWN0IHdvcmRpbmcgb2YgRmF1c3QgcXVvdGF0aW9uIChyZXN0b3JlIGRyb3BwZWQgbGluZSksCitkcm9wIFNERCBmcm9tIEVuY29kaW5nRGVjbCwKK2NoYW5nZSB0ZXh0IGF0IHZlcnNpb24gbnVtYmVyIDEuMCwKK2Ryb3AgbWlzbGVhZGluZyAod3JvbmchKSBzZW50ZW5jZSBhYm91dCBpZ25vcmFibGVzIGFuZCBleHRlbmRlcnMsCittb2RpZnkgZGVmaW7Z2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2XhhbXBsZXMgd2l0aCBCeXRlIE9yZGVyIE1hcmsuCitBZGQgY29udGVudCBtb2RlbCBhcyBhIHRlcm0gYW5kIGNsYXJpZnkgdGhhdCBpdCBhcHBsaWVzIHRvIGJvdGgKK21peGVkIGFuZCBlbGVtZW50IGNvbnRlbnQuCis8L3NpdGVtPgorPHNpdGVtPjE5OTctMDYtMzAgOiBDTVNNY1EgOiBjaGFuZ2UgZGF0ZSwgc29tZSBjb3NtZXRpYyBjaGFuZ2VzLAorY2hhbmdlcyB0byBwcm9kdWN0aW9ucyBmb3IgY2hvaWNlLCBzZXEsIE1peGVkLCBOb3RhdGlvblR5cGUsCitFbnVtZXJhdGlvbi4gIEZvbGxvdyBKYW1lcyBDbGFyaydzIHN1Z2dlc3Rpb24gYW5kIHByb2hpYml0IAorY29uZGl0aW9uYWwgc2VjdGlvbnMgaW4gaW50ZXJuYWwgc3Vic2V0LiAgVE8gRE86ICBzaW1wbGlmeQorcHJvZHVjdGlvbiBmb3IgaWdub3JlZCBzZWN0aW9ucyBhcyBhIHJlc3VsdCwgc2luY2Ugd2UgZG9uJ3QgCituZWVkIHRvIHdvcnJ5IGFib3V0IHBhcnNlcnMgd2hpPCEgZG9uJ3QgZXhwYW5kIFBFcmVmcyBmaW5kaW5nCithIGNvbmRpdGlvbmFsIHNlY3Rpb24uPC9zaXRlbT4KKzxzaXRlbT4xOTk3LTA2LTI5IDogVEIgOiB2YXJpb3VzIGVkaXRzPC9zaXRlbT4KKzxzaXRlbT4xOTk3LTA2LTI5IDogQ01TTWNRIDogZnVydGhlciBjaGFuZ2VzOgorU3VwcHJlc3Mgb2xkIEZJTkFMIEVESVQgY29tbWVudHMgYW5kIHNvbWUgZGVhZCBtYXRlcmlhbC4KK1JldmlzZSBvY2N1cnJlbmNlcyBvZiAlIGluIGdyYW1tYXIgdG8gZXhwbG9pdCBIZW5yeSBUaG9tcHNvbidzIHB1biwKK2VzcGVjaWFsbHkgbWFya3VwZGVjbCBhbmQgYXR0ZGVmLgorUmVtb3ZlIFJNRCByZXF1aXJlbWVudCByZWxhdGluZyB0byBlbGVtZW50IGNvbnRlbnQgKD8pLgorPC9zaXRlbT4KKzxzaXRlbT4xOTk3LTA2LTI4IDogQ01TTWNRIDogVmFyaW91cyBjaGFuZ2VzIGZvciAxIEp1bHkgZHJhZnQ6CitBZGQgdGV4dCBmb3IgZHJhY29uaWFuIGVycm9yIGhhbmRsaW5nIChpbnRyb2R1Y2UKK3RoZSB0ZXJtIEZhdGFsIEVycm9yKS4KK1JFIGRlbGV0YSBlc3QgKGNoYW5naW5nIHdvcmRpbmcgZnJvbSAKK29yaWdpbmFsIGFubm91bmNlbWVudCB0byByZXN0cmljdCB0aGUgcmVxdWlyZW1lbnQgdG8gdmFsaWRhdGluZworcGFyc2VycykuCitUYWcgZGVmaW5pdGlvbiBvZiB2YWxpZGF3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3cgaXQgbWVhbnQgJ21heSBvciBtYXkgbm90Jy48L3NpdGVtPgorPHNpdGVtPjE5OTctMDMtMjEgOiBUQiA6IG1hc3NpdmUgY2hhbmdlcyBvbiBwbGFuZSBmbGlnaHQgZnJvbSBDaGljYWdvCit0byBWYW5jb3V2ZXI8L3NpdGVtPgorPHNpdGVtPjE5OTctMDMtMjEgOiBDTVNNY1EgOiBjb3JyZWN0IGFzIG1hbnkgcmVwb3J0ZWQgZXJyb3JzIGFzIHBvc3NpYmxlLgorPC9zaXRlbT4KKzxzaXRlbT4xOTk3LTAzLTIwIDogQ01TTWNRIDogY29ycmVjdCB0eXBvcyBsaXN0ZWQgaW4gQ01TTWNRIGhhbmQgY29weSBvZiBzcGVjLjwvc2l0ZW0+Cis8c2l0ZW0+MTk5NyBKYW1lcyBDbGFyazoKK0RlZmluZSB0aGUgc2V0IG9mIGNoYXJhY3RlcnMgZnJvbSB3aGljaCBbXmFiY10gc3VidHJhY3RzLgorQ2hhcnJlZiBzaG91bGQgdXNlIGp1c3QgWzAtOV0gbm90IERpZ2l0LgorTG9jYXRpb24gaW5mbyBuZWVkcyBjbGVhbmVyIHRyZWF0bWVudDogIHJlbW92ZT8gIChFUkIKK3F1ZXN0aW9uKS4KK09uZSBleGFtcGxlIG9mIGEgUEkgaGFzIHdyb25nIHBpYy4KK0NsYXJpZnkgZGlzY3Vzc2lvbiBvZiBlbmNvZGluZyBuYW1lcy4KK0VuY29kaW5nIGZhaWx1cmUgc2hvdWxkIGxlYWQgdG8gdW5zcGVjaWZpZWQgcmVzdWx0czsgZG9uJ3QKK3ByZXNjcmliZSBlcnJvciByZWNvdmVyeS4KK0Rvbid0IHJlcXVpcmUgZXhwb3N1cmUgb2YgZW50aXR5IGJvdW5kYXJpZXMuCitJZ25vcmUgd2hpdGUgc3BhY2UgaW4gZWxlbWVudCBjb250ZW50LgorUmVzZXJ2ZSBlbnRpdHkgbmFtZXMgb2YgdGhlIGZvcm0gdS1OTk5OLgorQ2xhcmlmeSByZWxhdGl2ZSBVUkxzLgorQW5kIHNvbWUgb2YgbXkgb3duOgorQ29ycmVjdCBwcm9kdWN0aW9ucyBmb3IgY29udGVudCBtb2RlbDogIG1vZGVsIGNhbm5vdAorY29uc2lzdCBvZiBhIG5hbWUsIHNvICJlbGVtZW50cyA6Oj0gY3AiIGlzIG5vIGdvb2QuCis8L3NpdGVtPgorPHNpdGVtPjE5OTYtMTEtMTEgOiBDTVNNY1EgOiByZXZpc2UgZm9yIHN0eWxlLgorQWRkIG5ldyByaHMgdG8gZW50aXR5IGRlY2xhcmF0aW9uLCBmb3IgcGFyYW1ldGVyIGVudGl0aWVzLjwvc2l0ZW0+Cis8c2l0ZW0+MTk5Ni0xMS0xMCA6IENNU01jUSA6IHJldmlzZSBmb3Igc3R5bGUuCitGaXggLyBjb21wbGV0ZSBzZWN0aW9uIG9uIG5hbWVzLCBjaGFyYWN0ZXJzLgorQWRkIHNlY3Rpb25zIG9uIHBhcmFtZXRlciBlbnRpdGllcywgY29uZGl0aW9uYWwgc2VjdGlvbnMuCitTdGlsbCB0byBkbzogIEFkZCBjb21wYXRpYmlsaXR5IG5vdGUgb24gZGV0ZXJtaW5pc3RpYyBjb250ZW50IG1vZGVscy4KK0ZpbmlzaCBzdHlsaXN0aWMgcmV2aXNpb24uPC9zaXRlbT4KKzxzaXRlbT4xOTk2LTEwLTMxIDogVEIgOiBBZGQgRW50aXR5IEhhbmRsaW5nIHNlY3Rpb248L3NpdGVtPgorPHNpdGVtPjE5OTYtMTAtMzAgOiBUQiA6IENsZWFuIHVwIHRlcm0gJmFtcDsgdGVybWRlZi4gIFNsaXAgaW4KK0VSQiBkZWNpc2lvbiByZSBFTVBUWS48L3NpdGVtPgorPHNpdGVtPjE5OTYtMTAtMjggOiBUQiA6IENoYW5nZSBEVEQuICBJbXBsZW1lbnQgc29tZSBvZiBNaWNoYWVsJ3MKK3N1Z2dlc3Rpb25zLiAgQ2hhbmdlIGNvbW1lbnRzIGJhY2sgdG8gLy8uICBJbnRyb2R1Y2UgbGFuZ3VhZ2UgZm9yCitYTUwgbmFtZXNwYWNlIHJlc2VydmF0aW9uLiAgQWRkIHNlY3Rpb24gb24gd2hpdGUtc3BhY2UgaGFuZGxpbmcuCitMb3RzIG1vcmUgY2xlYW51cC48L3NpdGVtPgorPHNpdGVtPjE5OTYtMTAtMjQgOiBDTVNNY1EgOiBxdWljayB0d2Vha3MsIGltcGxlbWVudCBzb21lIEVSQgorZGVjaXNpb25zLiAgQ2hhcmFjdGVycyBhcmUgbm90IGludGVnZXJzLiAgQ29tbWVudHMgYXJlIC8qICovIG5vdCAvLy4KK0FkZCBiaWJsaW9ncmFwaGljIHJlZnMgdG8gMTA2NDYsIEh5VGltZSwgVW5pY29kZS4KK1JlbmFtZSBvbGQgQ2RhdGEgYXMgTXNEYXRhIHNpbmNlIGl0J3MgPGVtcGg+b25seTwvZW1waD4gc2VlbgoraW4gbWFya2VkIHNlY3Rpb25zLiAgQ2FsbCB0aGVtIGF0dHJpYnV0ZS12YWx1ZSBwYWlycyBub3QKK25hbWUtdmFsdWUgcGFpcnMsIGV4Y2VwdCBvbmNlLiAgSW50ZXJuYWwgc3Vic2V0IGlzIG9wdGlvbmFsLCBuZWVkcworJz8nLiAgSW1wbGllZCBhdHRyaWJ1dGVzIHNob3VsZCBiZSBzaWduYWxlZCB0byB0aGUgYXBwLCBub3QKK2hhdmUgdmFsdWVzIHN1cHBsaWVkIGJ5IHByb2Nlc3Nvci48L3NpdGVtPgorPHNpdGVtPjE5OTYtMTAtMTYgOiBUQiA6IHRyYWNrIGRvd24gJmFtcDsgZXhjaXNlIGFsbCBEU0QgcmVmZXJlbmNlczsKK2ludHJvZHVjZSBzb21lIEVCTkYgZm9yIGVudGl0eSBkZWNsYXJhdGlvbnMuPC9zaXRlbT4KKzxzaXRlbT4xOTk2LTEwLT8/IG5zaXN0ZW5jeSBjaGVjaywgZml4IHVwIHNjcmFwcyBzbwordGhleSBhbGwgcGFyc2UsIGdldCBmb3JtYXR0ZXIgd29ya2luZywgY29ycmVjdCBhIGZldyBwcm9kdWN0aW9ucy48L3NpdGVtPgorPHNpdGVtPjE5OTYtMTAtMTAvMTEgOiBDTVNNY1EgOiB2YXJpb3VzIG1haW50ZW5hbmNlLCBzdHlsaXN0aWMsIGFuZAorb3JnYW5pemF0aW9uYWwgY2hhbmdlczoKK1JlcGxhY2UgYSBmZXcgbGl0ZXJhbHMgd2l0aCB4bWxwaW8gYW5kCitwaSIiZW50aXRpZXMsIHRvIG1ha2UgdGhlbSBjb25zaXN0ZW50IGFuZCBlbnN1cmUgd2UgY2FuIGNoYW5nZSBwaWMKK3JlbGlhYmx5IHdoZW4gdGhlIEVSQiB2b3Rlcy4KK0Ryb3AgcGFyYWdyYXBoIG9uIHJlY29nbml6ZXJzIGZyb20gbm90YXRpb24gc2VjdGlvbi4KK0FkZCBtYXRjaCwgZXhhY3QgbWF0Y2ggdG8gdGVybWlub2xvZ3kuCitNb3ZlIG9sZCAyLjIgWE1MIFByb2Nlc3NvcnMgYW5kIEFwcHMgaW50byBpbnRyby4KK01lbnRpb24gY29tbWVudHMsIFBJcywgYW5kIG1hcmtlZCBzZWN0aW9ucyBpbiBkaXNjdXNzaW9uIG9mCitkZWxpbWl0ZXIgZXNjYXBpbmcuCitTdHJlYW1saW5lIGRpc2N1c3Npb24gb2YgZG9jdHlwZSBkZWNsIHN5bnRheC4KK0Ryb3Agb2xkIHNlY3Rpb24gb2YgJ1BJIHN5bnRheCcgZm9yIGRvY3R5cGUgZGVjbCwgYW5kIGFkZAorc2VjdGlvbiBvbiBwYXJ0aWFsLURURCBzdW1tYXJ5IFBJcyB0byBlbmQgb2YgTG9naWNhbCBTdHJ1Y3R1cmVzCitzZWN0aW9uLgorUmV2aXNlIERTRCBzeW50YXggc2VjdGlvbiB0byB1c2UgVGltJ3Mgc3Vic2V0LWluLWEtUEkKK21lY2hhbmlzbS48L3NpdGVtPgorPHNpdGVtPjE5OTYtMTAtMTAgOiBUQiA6IGVsaW1pbmF0ZSBuYW1lIHJlY29nbml6ZXJzIChhbmQgbW9yZT8pPC9zaXRlbT4KKzxzaXRlbT4xOTk2LTEwLTA5IDogQ01TTWNRIDogcmV2aXNlIGZvciBzdHlsZSwgY29uc2lzdGVuY3kgdGhyb3VnaCAyLjMKKyhDaGFyYWN0ZXJzKTwvc2l0ZW0+Cis8c2l0ZW0+MTk5Ni0xMC0wOSA6IENNU01jUSA6IHJlLXVuaXRlIGV2ZXJ5dGhpbmcgZm9yIGNvbnZlbmllbmNlLAorYXQgbGVhc3QgdGVtcG9yYXJpbHksIGFuZCByZXZpc2UgcXVpY2tseTwvc2l0ZW0+Cis8c2l0ZW0+MTk5Ni0xMC0wOCA6IFRCIDogZmlyc3QgbWFqb3IgaG9tb2dlbml6YXRpb24gcGFzczwvc2l0ZW0+Cis8c2l0ZW0+MTk5Ni0xMC0wOCA6IFRCIDogdHVybiAiY3VycmVudCIgYXR0cmlidXRlIG9uIGRpdiB0eXBlIGludG8gCitDREFUQTwvc2l0ZW0+Cis8c2l0ZW0+MTk5Ni0xMC0wMiA6IFRCIDogcmVtb3VsZCBpbnRvIHNrZWxldG9uICsgZW50aXRpZXM8L3NpdGVtPgorPHNpdGVtPjE5OTYtMDktMzAgOiBDTVNNY1EgOiBhZGQgYSBmZXcgbW9yZSBzZWN0aW9ucyBwcmlvciB0byBleGNoYW5nZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGggVGltLjwvc2l0ZW0+Cis8c2l0ZW0+MTk5Ni0wOS0yMCA6IENNU01jUSA6IGZpbmlzaCB0cmFuc2NyaWJpbmcgbm90ZXMuPC9zaXRlbT4KKzxzaXRlbT4xOTk2LTA5LTE5IDogQ01TTWNRIDogYmVnaW4gdHJhbnNjcmliaW5nIG5vdGVzIGZvciBkcmFmdC48L3NpdGVtPgorPHNpdGVtPjE5OTYtMDktMTMgOiBDTVNNY1EgOiBtYWRlIG91dGxpbmUgZnJvbSBub3RlcyBvZiAwOS0wNiwKK2RvIHNvbWUgaG91c2VrZWVwaW5nPC9zaXRlbT4KKzwvc2xpc3Q+Cis8L3JldmlzaW9uZGVzYz4KKzwvaGVhZGVyPgorPPDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDwbT4gaXMgdXNlZCB0byByZWFkIFhNTCBkb2N1bWVudHMKK2FuZCBwcm92aWRlIGFjY2VzcyB0byB0aGVpciBjb250ZW50IGFuZCBzdHJ1Y3R1cmUuPC90ZXJtZGVmPiA8dGVybWRlZgoraWQ9ImR0LWFwcCIgdGVybT0iQXBwbGljYXRpb24iPkl0IGlzIEBzc3VtZWQgdGhhdCBhbiBYTUwgcHJvY2Vzc29yIGlzCitkb2luZyBpdHMgd29yayBvbiBiZWhhbGYgb2YgYW5vdGhlciBtb2R1bGUsIGNhbGxlZCB0aGUKKzx0ZXJtPmFwcGxpY2F0aW9uPC90ZXJtPi48L3Rlcm1kZWY+IFRoaXMgc3BlY2lmaWNhdGlvbiBkZXNjcmliZXMgdGhlCityZXF1aXJlZCBiZWhcdmlvciBvZiBhbiBYTUwgcHJvY2Vzc29yIGluIHRlcm1zIG9mIGhvdyBpdCBtdXN0IHJlYWQgWE1MCitkYXRhIGFuZCB0aGUgaW5mb3JtYXRpb24gaXQgbXVzdCBwcm92aWRlIHRvIHRoZSBhcHBsaWNhdGlvbi48L3A+CisgCis8ZGl2MiBpZD0nc2VjLW9yaWdpbi1nb2Fscyc+Cis8aGVhZD5PcmlnaW4gYW5kIEdvYWxzPC9oZWFkPgorPHA+WE1MIHdhcyBkZXZlbG9wZWQgYnkgYW4gWE1MIFdvcmtpbmcgR3JvdXAgKG9yaXNhYmxlIG92ZXIgdGhlCitJbnRlcm5ldC48L3A+PC9pdGVtPgorPGl0ZW0+PHA+WE1MIHNoYWxsIHN1cHBvcnQgYSB3aWRlIHZhcmllj3kgb2YgYXBwbGljYXRpb25zLjwvcD48L2l0ZW0+Cis8aXRlbT48cD5YTUwgc2hhbGwgYmUgY29tcGF0aWJsZSB3aXRoIFNHTUwuPC9wPjwvaXRlbT4KKzxpdGVtPjxwPkl0IHNoYWxsIGJlIGVhc3kgdG8gd3JpdGUgcHJvZ3JhbXMgd2hpY2ggcHJvY2VzcyBYTUwKK2RvY3VtZW50cy48L3A+PC9pdGVtPgorPGl0ZW0+PHA+VGhlIG51bWJlciBvZiBvcHRpb25hbCBmZWF0dXJlcyBpbiBYTUwgaXMgdG8gYmUga2VwdCB0byB0aGUKK2Fic29sdXRlIG1pbmltdW0sIGlkZWFsbHkgemVyby48L3A+PC9pdGVtPgorPGl0ZW0+PHA+WE1MIGRvY3VtZW50cyBzaG91ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvdGVzdC9lcnJvcnMvNzU5NTczLTIueG1sIGIvdGVzdC9lcnJvcnMvNzU5NTczLTIueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVhZDY1NWYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0L2Vycm9ycy83NTk1NzMtMi54bWwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdGVzdC9lcnJvcnMvNzU5NTczLnhtbCBiL3Rlc3QvZXJyb3JzLzc1OTU3My54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjllYmI1NwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3QvZXJyb3JzLzc1OTU3My54bWwKQEAgLTAsMCArMSBAQAorPD9oPz48IURPQ1RZUEV0WzwhRUxFTUVOVCB0IChBKT48IUVOVElUWSAlIHh4ICcmIzM3OzwhW0lOQ0xVREVbMDAwJiMzNzsmIzMwMDA7MDAwJiMzNzt6Oyc+PCFFTlRJVFl6PiV4eDsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS90ZXN0L3JlbGF4bmcvcGF0dGVybjMucm5nIGIvdGVzdC9yZWxheG5nL3BhdHRlcm4zLnJuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYTQ0MzRmCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdC9yZWxheG5nL3BhdHRlcm4zLnJuZwpAQCAtMCwwICsxLDExIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxncmFtbWFyIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIKK2RhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIj4KKyAgPHN0YXJ0PgorICAgIDxlbGVtZW50IG5hbWU9InRlc3QiPgorICAgIDxkYXRhIHR5cGU9InRva2VuIj4KKyAgICA8cGFyYW0gbmFtZT0icGF0dGVybiI+W2Etel0rPC9wYXJhbT4KKyAgICA8L2RhdGE+CisgICAgPC9lbGVtZW50PgorICA8L3N0YXJ0PgorPC9ncmFtbWFyPgpkaWZmIC0tZ2l0IGEvdGVzdC9yZWxheG5nL3BhdHRlcm4zXzEueG1sIGIvdGVzdC9yZWxheG5nL3BhdHRlcm4zXzEueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY1NTljZDMKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0L3JlbGF4bmcvcGF0dGVybjNfMS54bWwKQEAgLTAsMCArMSBAQAorPHRlc3Q+IG9vbyA8L3Rlc3Q+CmRpZmYgLS1naXQgYS90ZXN0TW9kdWxlLmMgYi90ZXN0TW9kdWxlLmMKaW5kZXggZTM5OWY1Yy4uNzdiN2JhMSAxMDA2NDQKLS0tIGEvdGVzdE1vZHVsZS5jCisrKyBiL3Rlc3RNb2R1bGUuYwpAQCAtNDcsNyArNDcsNyBAQAogCiAgICAgLyogYnVpbGQgdGhlIG1vZHVsZSBmaWxlbmFtZSwgYW5kIGNvbmZpcm0gdGhlIG1vZHVsZSBleGlzdHMgKi8KICAgICB4bWxTdHJQcmludGYoZmlsZW5hbWUsIHNpemVvZihmaWxlbmFtZSksCi0gICAgICAgICAgICAgICAgIChjb25zdCB4bWxDaGFyKikgIiVzL3Rlc3Rkc28lcyIsCisgICAgICAgICAgICAgICAgICIlcy90ZXN0ZHNvJXMiLAogICAgICAgICAgICAgICAgICAoY29uc3QgeG1sQ2hhciopTU9EVUxFX1BBVEgsCiAJCSAoY29uc3QgeG1sQ2hhciopTElCWE1MX01PRFVMRV9FWFRFTlNJT04pOwogCmRpZmYgLS1naXQgYS90ZXN0YXBpLmMgYi90ZXN0YXBpLmMKaW5kZXggOTIwNWU2NC4uNjBmNGJkZCAxMDA2NDQKLS0tIGEvdGVzdGFwaS5jCisrKyBiL3Rlc3RhcGkuYwpAQCAtODE3NSw3ICs4MTc1LDcgQEAKIAogICAgIGludCBtZW1fYmFzZTsKICAgICB4bWxEaWN0UHRyIHJldF92YWw7Ci0gICAgeG1sRGljdFB0ciBzdWI7IC8qIGFuIGV4aXN0aW5nIGRpY3Rpb25uYXJ5ICovCisgICAgeG1sRGljdFB0ciBzdWI7IC8qIGFuIGV4aXN0aW5nIGRpY3Rpb25hcnkgKi8KICAgICBpbnQgbl9zdWI7CiAKICAgICBmb3IgKG5fc3ViID0gMDtuX3N1YiA8IGdlbl9uYl94bWxEaWN0UHRyO25fc3ViKyspIHsKQEAgLTgyMDcsNyArODIwNyw3IEBACiAKICAgICBpbnQgbWVtX2Jhc2U7CiAgICAgY29uc3QgeG1sQ2hhciAqIHJldF92YWw7Ci0gICAgeG1sRGljdFB0ciBkaWN0OyAvKiB0aGUgZGljdGlvbm5hcnkgKi8KKyAgICB4bWxEaWN0UHRyIGRpY3Q7IC8qIHRoZSBkaWN0aW9uYXJ5ICovCiAgICAgaW50IG5fZGljdDsKICAgICB4bWxDaGFyICogbmFtZTsgLyogdGhlIG5hbWUgb2YgdGhlIHVzZXJkYXRhICovCiAgICAgaW50IG5fbmFtZTsKQEAgLTgyNjMsNyArODI2Myw3IEBACiAKICAgICBpbnQgbWVtX2Jhc2U7CiAgICAgY29uc3QgeG1sQ2hhciAqIHJldF92YWw7Ci0gICAgeG1sRGljdFB0ciBkaWN0OyAvKiB0aGUgZGljdGlvbm5hcnkgKi8KKyAgICB4bWxEaWN0UHRyIGRpY3Q7IC8qIHRoZSBkaWN0aW9uYXJ5ICovCiAgICAgaW50IG5fZGljdDsKICAgICB4bWxDaGFyICogbmFtZTsgLyogdGhlIG5hbWUgb2YgdGhlIHVzZXJkYXRhICovCiAgICAgaW50IG5fbmFtZTsKQEAgLTgzMDksNyArODMwOSw3IEBACiAKICAgICBpbnQgbWVtX2Jhc2U7CiAgICAgaW50IHJldF92YWw7Ci0gICAgeG1sRGljdFB0ciBkaWN0OyAvKiB0aGUgZGljdGlvbm5hcnkgKi8KKyAgICB4bWxEaWN0UHRyIGRpY3Q7IC8qIHRoZSBkaWN0aW9uYXJ5ICovCiAgICAgaW50IG5fZGljdDsKICAgICB4bWxDaGFyICogc3RyOyAvKiB0aGUgc3RyaW5nICovCiAgICAgaW50IG5fc3RyOwpAQCAtODM0OCw3ICs4MzQ4LDcgQEAKIAogICAgIGludCBtZW1fYmFzZTsKICAgICBjb25zdCB4bWxDaGFyICogcmV0X3ZhbDsKLSAgICB4bWxEaWN0UHRyIGRpY3Q7IC8qIHRoZSBkaWN0aW9ubmFyeSAqLworICAgIHhtbERpY3RQdHIgZGljdDsgLyogdGhlIGRpY3Rpb25hcnkgKi8KICAgICBpbnQgbl9kaWN0OwogICAgIHhtbENoYXIgKiBwcmVmaXg7IC8qIHRoZSBwcmVmaXggKi8KICAgICBpbnQgbl9wcmVmaXg7CkBAIC04Mzk0LDcgKzgzOTQsNyBAQAogCiAgICAgaW50IG1lbV9iYXNlOwogICAgIGludCByZXRfdmFsOwotICAgIHhtbERpY3RQdHIgZGljdDsgLyogdGhlIGRpY3Rpb25uYXJ5ICovCisgICAgeG1sRGljdFB0ciBkaWN0OyAvKiB0aGUgZGljdGlvbmFyeSAqLwogICAgIGludCBuX2RpY3Q7CiAKICAgICBmb3IgKG5fZGljdCA9IDA7bl9kaWN0IDwgZ2VuX25iX3htbERpY3RQdHI7bl9kaWN0KyspIHsKQEAgLTg0MzcsNyArODQzNyw3IEBACiAKICAgICBpbnQgbWVtX2Jhc2U7CiAgICAgaW50IHJldF92YWw7Ci0gICAgeG1sRGljdFB0ciBkaWN0OyAvKiB0aGUgZGljdGlvbm5hcnkgKi8KKyAgICB4bWxEaWN0UHRyIGRpY3Q7IC8qIHRoZSBkaWN0aW9uYXJ5ICovCiAgICAgaW50IG5fZGljdDsKIAogICAgIGZvciAobl9kaWN0ID0gMDtuX2RpY3QgPCBnZW5fbmJfeG1sRGljdFB0cjtuX2RpY3QrKykgewpkaWZmIC0tZ2l0IGEvdHJlZS5jIGIvdHJlZS5jCmluZGV4IDZhMTU4Y2UuLjlkMzMwYjggMTAwNjQ0Ci0tLSBhL3RyZWUuYworKysgYi90cmVlLmMKQEAgLTEwNDQsNyArMTA0NCw3IEBACiAgKiBESUNUX0ZSRUU6CiAgKiBAc3RyOiAgYSBzdHJpbmcKICAqCi0gKiBGcmVlIGEgc3RyaW5nIGlmIGl0IGlzIG5vdCBvd25lZCBieSB0aGUgImRpY3QiIGRpY3Rpb25uYXJ5IGluIHRoZQorICogRnJlZSBhIHN0cmluZyBpZiBpdCBpcyBub3Qgb3duZWQgYnkgdGhlICJkaWN0IiBkaWN0aW9uYXJ5IGluIHRoZQogICogY3VycmVudCBzY29wZQogICovCiAjZGVmaW5lIERJQ1RfRlJFRShzdHIpCQkJCQkJXApAQCAtMTA1Nyw3ICsxMDU3LDcgQEAKICAqIERJQ1RfQ09QWToKICAqIEBzdHI6ICBhIHN0cmluZwogICoKLSAqIENvcHkgYSBzdHJpbmcgdXNpbmcgYSAiZGljdCIgZGljdGlvbm5hcnkgaW4gdGhlIGN1cnJlbnQgc2NvcGUsCisgKiBDb3B5IGEgc3RyaW5nIHVzaW5nIGEgImRpY3QiIGRpY3Rpb25hcnkgaW4gdGhlIGN1cnJlbnQgc2NvcGUsCiAgKiBpZiBhdmFpbGFiZS4KICAqLwogI2RlZmluZSBESUNUX0NPUFkoc3RyLCBjcHkpIFwKQEAgLTEwNzQsNyArMTA3NCw3IEBACiAgKiBESUNUX0NPTlNUX0NPUFk6CiAgKiBAc3RyOiAgYSBzdHJpbmcKICAqCi0gKiBDb3B5IGEgc3RyaW5nIHVzaW5nIGEgImRpY3QiIGRpY3Rpb25uYXJ5IGluIHRoZSBjdXJyZW50IHNjb3BlLAorICogQ29weSBhIHN0cmluZyB1c2luZyBhICJkaWN0IiBkaWN0aW9uYXJ5IGluIHRoZSBjdXJyZW50IHNjb3BlLAogICogaWYgYXZhaWxhYmUuCiAgKi8KICNkZWZpbmUgRElDVF9DT05TVF9DT1BZKHN0ciwgY3B5KSBcCkBAIC0xNTkzLDYgKzE1OTMsNyBAQAogCQkJZWxzZSBpZiAoKGVudCAhPSBOVUxMKSAmJiAoZW50LT5jaGlsZHJlbiA9PSBOVUxMKSkgewogCQkJICAgIHhtbE5vZGVQdHIgdGVtcDsKIAorCQkJICAgIGVudC0+Y2hpbGRyZW4gPSAoeG1sTm9kZVB0cikgLTE7CiAJCQkgICAgZW50LT5jaGlsZHJlbiA9IHhtbFN0cmluZ0dldE5vZGVMaXN0KGRvYywKIAkJCQkgICAgKGNvbnN0IHhtbENoYXIqKW5vZGUtPmNvbnRlbnQpOwogCQkJICAgIGVudC0+b3duZXIgPSAxOwpAQCAtMjI3MCw3ICsyMjcxLDcgQEAKICAgICBjdXIgPSAoeG1sTm9kZVB0cikgeG1sTWFsbG9jKHNpemVvZih4bWxOb2RlKSk7CiAgICAgaWYgKGN1ciA9PSBOVUxMKSB7CiAJeG1sVHJlZUVyck1lbW9yeSgiYnVpbGRpbmcgbm9kZSIpOwotCS8qIHdlIGNhbid0IGNoZWNrIGhlcmUgdGhhdCBuYW1lIGNvbWVzIGZyb20gdGhlIGRvYyBkaWN0aW9ubmFyeSAqLworCS8qIHdlIGNhbid0IGNoZWNrIGhlcmUgdGhhdCBuYW1lIGNvbWVzIGZyb20gdGhlIGRvYyBkaWN0aW9uYXJ5ICovCiAJcmV0dXJuKE5VTEwpOwogICAgIH0KICAgICBtZW1zZXQoY3VyLCAwLCBzaXplb2YoeG1sTm9kZSkpOwpAQCAtMjM1MCw3ICsyMzUxLDcgQEAKIAkgICAgVVBEQVRFX0xBU1RfQ0hJTERfQU5EX1BBUkVOVChjdXIpCiAJfQogICAgIH0gZWxzZSB7Ci0gICAgICAgIC8qIGlmIG5hbWUgZG9uJ3QgY29tZSBmcm9tIHRoZSBkb2MgZGljdGlvbm5hcnkgZnJlZSBpdCBoZXJlICovCisgICAgICAgIC8qIGlmIG5hbWUgZG9uJ3QgY29tZSBmcm9tIHRoZSBkb2MgZGljdGlvbmFyeSBmcmVlIGl0IGhlcmUgKi8KICAgICAgICAgaWYgKChuYW1lICE9IE5VTEwpICYmIChkb2MgIT0gTlVMTCkgJiYKIAkgICAgKCEoeG1sRGljdE93bnMoZG9jLT5kaWN0LCBuYW1lKSkpKQogCSAgICB4bWxGcmVlKG5hbWUpOwpAQCAtMzcwMSw3ICszNzAyLDcgQEAKIAkgICAgICogV2hlbiBhIG5vZGUgaXMgYSB0ZXh0IG5vZGUgb3IgYSBjb21tZW50LCBpdCB1c2VzIGEgZ2xvYmFsIHN0YXRpYwogCSAgICAgKiB2YXJpYWJsZSBmb3IgdGhlIG5hbWUgb2YgdGhlIG5vZGUuCiAJICAgICAqIE90aGVyd2lzZSB0aGUgbm9kZSBuYW1lIG1pZ2h0IGNvbWUgZnJvbSB0aGUgZG9jdW1lbnQncwotCSAgICAgKiBkaWN0aW9ubmFyeQorCSAgICAgKiBkaWN0aW9uYXJ5CiAJICAgICAqLwogCSAgICBpZiAoKGN1ci0+bmFtZSAhPSBOVUxMKSAmJgogCQkoY3VyLT50eXBlICE9IFhNTF9URVhUX05PREUpICYmCkBAIC0zNzcwLDcgKzM3NzEsNyBAQAogICAgIC8qCiAgICAgICogV2hlbiBhIG5vZGUgaXMgYSB0ZXh0IG5vZGUgb3IgYSBjb21tZW50LCBpdCB1c2VzIGEgZ2xvYmFsIHN0YXRpYwogICAgICAqIHZhcmlhYmxlIGZvciB0aGUgbmFtZSBvZiB0aGUgbm9kZS4KLSAgICAgKiBPdGhlcndpc2UgdGhlIG5vZGUgbmFtZSBtaWdodCBjb21lIGZyb20gdGhlIGRvY3VtZW50J3MgZGljdGlvbm5hcnkKKyAgICAgKiBPdGhlcndpc2UgdGhlIG5vZGUgbmFtZSBtaWdodCBjb21lIGZyb20gdGhlIGRvY3VtZW50J3MgZGljdGlvbmFyeQogICAgICAqLwogICAgIGlmICgoY3VyLT5uYW1lICE9IE5VTEwpICYmCiAgICAgICAgIChjdXItPnR5cGUgIT0gWE1MX1RFWFRfTk9ERSkgJiYKZGlmZiAtLWdpdCBhL3VyaS5jIGIvdXJpLmMKaW5kZXggZmY0N2FiYi4uMmJkNTcyMCAxMDA2NDQKLS0tIGEvdXJpLmMKKysrIGIvdXJpLmMKQEAgLTMxNCw3ICszMTQsNyBAQAogICogQHVyaTogIHBvaW50ZXIgdG8gYW4gVVJJIHN0cnVjdHVyZQogICogQHN0cjogIHRoZSBzdHJpbmcgdG8gYW5hbHl6ZQogICoKLSAqIFBhcnNlIGEgcG9ydCAgcGFydCBhbmQgZmlsbHMgaW4gdGhlIGFwcHJvcHJpYXRlIGZpZWxkcworICogUGFyc2UgYSBwb3J0IHBhcnQgYW5kIGZpbGxzIGluIHRoZSBhcHByb3ByaWF0ZSBmaWVsZHMKICAqIG9mIHRoZSBAdXJpIHN0cnVjdHVyZQogICoKICAqIHBvcnQgICAgICAgICAgPSAqRElHSVQKQEAgLTMyNSwxNSArMzI1LDE2IEBACiB4bWxQYXJzZTM5ODZQb3J0KHhtbFVSSVB0ciB1cmksIGNvbnN0IGNoYXIgKipzdHIpCiB7CiAgICAgY29uc3QgY2hhciAqY3VyID0gKnN0cjsKKyAgICB1bnNpZ25lZCBwb3J0ID0gMDsgLyogdW5zaWduZWQgZm9yIGRlZmluZWQgb3ZlcmZsb3cgYmVoYXZpb3IgKi8KIAogICAgIGlmIChJU0FfRElHSVQoY3VyKSkgewotCWlmICh1cmkgIT0gTlVMTCkKLQkgICAgdXJpLT5wb3J0ID0gMDsKIAl3aGlsZSAoSVNBX0RJR0lUKGN1cikpIHsKLQkgICAgaWYgKHVyaSAhPSBOVUxMKQotCQl1cmktPnBvcnQgPSB1cmktPnBvcnQgKiAxMCArICgqY3VyIC0gJzAnKTsKKwkgICAgcG9ydCA9IHBvcnQgKiAxMCArICgqY3VyIC0gJzAnKTsKKwogCSAgICBjdXIrKzsKIAl9CisJaWYgKHVyaSAhPSBOVUxMKQorCSAgICB1cmktPnBvcnQgPSBwb3J0ICYgSU5UX01BWDsgLyogcG9ydCB2YWx1ZSBtb2R1bG8gSU5UX01BWCsxICovCiAJKnN0ciA9IGN1cjsKIAlyZXR1cm4oMCk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvdmFsaWQuYyBiL3ZhbGlkLmMKaW5kZXggNDVhM2Y3MC4uMTlmODRiOCAxMDA2NDQKLS0tIGEvdmFsaWQuYworKysgYi92YWxpZC5jCkBAIC05Myw3ICs5Myw3IEBACiAgKgogICogSGFuZGxlIGEgdmFsaWRhdGlvbiBlcnJvcgogICovCi1zdGF0aWMgdm9pZAorc3RhdGljIHZvaWQgTElCWE1MX0FUVFJfRk9STUFUKDMsMCkKIHhtbEVyclZhbGlkKHhtbFZhbGlkQ3R4dFB0ciBjdHh0LCB4bWxQYXJzZXJFcnJvcnMgZXJyb3IsCiAgICAgICAgICAgICBjb25zdCBjaGFyICptc2csIGNvbnN0IGNoYXIgKmV4dHJhKQogewpAQCAtMTM3LDcgKzEzNyw3IEBACiAgKgogICogSGFuZGxlIGEgdmFsaWRhdGlvbiBlcnJvciwgcHJvdmlkZSBjb250ZXh0dWFsIGluZm9ybWF0aW9ucwogICovCi1zdGF0aWMgdm9pZAorc3RhdGljIHZvaWQgTElCWE1MX0FUVFJfRk9STUFUKDQsMCkKIHhtbEVyclZhbGlkTm9kZSh4bWxWYWxpZEN0eHRQdHIgY3R4dCwKICAgICAgICAgICAgICAgICB4bWxOb2RlUHRyIG5vZGUsIHhtbFBhcnNlckVycm9ycyBlcnJvciwKICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICptc2csIGNvbnN0IHhtbENoYXIgKiBzdHIxLApAQCAtMTgwLDcgKzE4MCw3IEBACiAgKgogICogSGFuZGxlIGEgdmFsaWRhdGlvbiBlcnJvciwgcHJvdmlkZSBjb250ZXh0dWFsIGluZm9ybWF0aW9ucwogICovCi1zdGF0aWMgdm9pZAorc3RhdGljIHZvaWQgTElCWE1MX0FUVFJfRk9STUFUKDQsMCkKIHhtbEVyclZhbGlkTm9kZU5yKHhtbFZhbGlkQ3R4dFB0ciBjdHh0LAogICAgICAgICAgICAgICAgIHhtbE5vZGVQdHIgbm9kZSwgeG1sUGFyc2VyRXJyb3JzIGVycm9yLAogICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKm1zZywgY29uc3QgeG1sQ2hhciAqIHN0cjEsCkBAIC0yMjEsNyArMjIxLDcgQEAKICAqCiAgKiBIYW5kbGUgYSB2YWxpZGF0aW9uIGVycm9yLCBwcm92aWRlIGNvbnRleHR1YWwgaW5mb3JtYXRpb24KICAqLwotc3RhdGljIHZvaWQKK3N0YXRpYyB2b2lkIExJQlhNTF9BVFRSX0ZPUk1BVCg0LDApCiB4bWxFcnJWYWxpZFdhcm5pbmcoeG1sVmFsaWRDdHh0UHRyIGN0eHQsCiAgICAgICAgICAgICAgICAgeG1sTm9kZVB0ciBub2RlLCB4bWxQYXJzZXJFcnJvcnMgZXJyb3IsCiAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqbXNnLCBjb25zdCB4bWxDaGFyICogc3RyMSwKQEAgLTI1MzIsNyArMjUzMiw3IEBACiAgKiBESUNUX0ZSRUU6CiAgKiBAc3RyOiAgYSBzdHJpbmcKICAqCi0gKiBGcmVlIGEgc3RyaW5nIGlmIGl0IGlzIG5vdCBvd25lZCBieSB0aGUgImRpY3QiIGRpY3Rpb25uYXJ5IGluIHRoZQorICogRnJlZSBhIHN0cmluZyBpZiBpdCBpcyBub3Qgb3duZWQgYnkgdGhlICJkaWN0IiBkaWN0aW9uYXJ5IGluIHRoZQogICogY3VycmVudCBzY29wZQogICovCiAjZGVmaW5lIERJQ1RfRlJFRShzdHIpCQkJCQkJXApkaWZmIC0tZ2l0IGEvd2luMzIvVkMxMC9jb25maWcuaCBiL3dpbjMyL1ZDMTAvY29uZmlnLmgKaW5kZXggODYyOTk0NC4uODkxYjU3ZSAxMDA2NDQKLS0tIGEvd2luMzIvVkMxMC9jb25maWcuaAorKysgYi93aW4zMi9WQzEwL2NvbmZpZy5oCkBAIC05Niw3ICs5Niw5IEBACiAKICNpZiBkZWZpbmVkKF9NU0NfVkVSKQogI2RlZmluZSBta2RpcihwLG0pIF9ta2RpcihwKQorI2lmIF9NU0NfVkVSIDwgMTkwMCAvLyBDYW5ub3QgZGVmaW5lIHRoaXMgaW4gVlMgMjAxNSBhbmQgYWJvdmUhCiAjZGVmaW5lIHNucHJpbnRmIF9zbnByaW50ZgorI2VuZGlmCiAjaWYgX01TQ19WRVIgPCAxNTAwCiAjZGVmaW5lIHZzbnByaW50ZihiLGMsZixhKSBfdnNucHJpbnRmKGIsYyxmLGEpCiAjZW5kaWYKZGlmZiAtLWdpdCBhL3hpbmNsdWRlLmMgYi94aW5jbHVkZS5jCmluZGV4IGZmM2RhZmIuLmUzYmI0M2UgMTAwNjQ0Ci0tLSBhL3hpbmNsdWRlLmMKKysrIGIveGluY2x1ZGUuYwpAQCAtMTI1LDcgKzEyNSw3IEBACiAgKgogICogSGFuZGxlIGFuIFhJbmNsdWRlIGVycm9yCiAgKi8KLXN0YXRpYyB2b2lkCitzdGF0aWMgdm9pZCBMSUJYTUxfQVRUUl9GT1JNQVQoNCwwKQogeG1sWEluY2x1ZGVFcnIoeG1sWEluY2x1ZGVDdHh0UHRyIGN0eHQsIHhtbE5vZGVQdHIgbm9kZSwgaW50IGVycm9yLAogICAgICAgICAgICAgICAgY29uc3QgY2hhciAqbXNnLCBjb25zdCB4bWxDaGFyICpleHRyYSkKIHsKQEAgLTE0Nyw3ICsxNDcsNyBAQAogICoKICAqIEVtaXQgYW4gWEluY2x1ZGUgd2FybmluZy4KICAqLwotc3RhdGljIHZvaWQKK3N0YXRpYyB2b2lkIExJQlhNTF9BVFRSX0ZPUk1BVCg0LDApCiB4bWxYSW5jbHVkZVdhcm4oeG1sWEluY2x1ZGVDdHh0UHRyIGN0eHQsIHhtbE5vZGVQdHIgbm9kZSwgaW50IGVycm9yLAogICAgICAgICAgICAgICAgY29uc3QgY2hhciAqbXNnLCBjb25zdCB4bWxDaGFyICpleHRyYSkKIHsKZGlmZiAtLWdpdCBhL3htbElPLmMgYi94bWxJTy5jCmluZGV4IDhiMTMxODQuLjFhNzljMDkgMTAwNjQ0Ci0tLSBhL3htbElPLmMKKysrIGIveG1sSU8uYwpAQCAtMTYwNCw3ICsxNjA0LDcgQEAKIAl4bWxGcmVlWk1lbUJ1ZmYoIGJ1ZmYgKTsKIAlidWZmID0gTlVMTDsKIAl4bWxTdHJQcmludGYobXNnLCA1MDAsCi0JCSAgICAoY29uc3QgeG1sQ2hhciAqKSAieG1sQ3JlYXRlWk1lbUJ1ZmY6ICAlcyAlZFxuIiwKKwkJICAgICJ4bWxDcmVhdGVaTWVtQnVmZjogICVzICVkXG4iLAogCQkgICAgIkVycm9yIGluaXRpYWxpemluZyBjb21wcmVzc2lvbiBjb250ZXh0LiAgWkxJQiBlcnJvcjoiLAogCQkgICAgel9lcnIgKTsKIAl4bWxJT0VycihYTUxfSU9fV1JJVEUsIChjb25zdCBjaGFyICopIG1zZyk7CkBAIC0xNjcyLDcgKzE2NzIsNyBAQAogICAgIGVsc2UgewogCXhtbENoYXIgbXNnWzUwMF07CiAJeG1sU3RyUHJpbnRmKG1zZywgNTAwLAotCQkgICAgKGNvbnN0IHhtbENoYXIgKikgInhtbFpNZW1CdWZmRXh0ZW5kOiAgJXMgJWx1IGJ5dGVzLlxuIiwKKwkJICAgICJ4bWxaTWVtQnVmZkV4dGVuZDogICVzICVsdSBieXRlcy5cbiIsCiAJCSAgICAiQWxsb2NhdGlvbiBmYWlsdXJlIGV4dGVuZGluZyBvdXRwdXQgYnVmZmVyIHRvIiwKIAkJICAgIG5ld19zaXplICk7CiAJeG1sSU9FcnIoWE1MX0lPX1dSSVRFLCAoY29uc3QgY2hhciAqKSBtc2cpOwpAQCAtMTcxOCw3ICsxNzE4LDcgQEAKIAlpZiAoIHpfZXJyICE9IFpfT0sgKSB7CiAJICAgIHhtbENoYXIgbXNnWzUwMF07CiAJICAgIHhtbFN0clByaW50Zihtc2csIDUwMCwKLQkJCShjb25zdCB4bWxDaGFyICopICJ4bWxaTWVtQnVmZkFwcGVuZDogICVzICVkICVzIC0gJWQiLAorCQkJInhtbFpNZW1CdWZmQXBwZW5kOiAgJXMgJWQgJXMgLSAlZCIsCiAJCQkiQ29tcHJlc3Npb24gZXJyb3Igd2hpbGUgYXBwZW5kaW5nIiwKIAkJCWxlbiwgImJ5dGVzIHRvIGJ1ZmZlci4gIFpMSUIgZXJyb3IiLCB6X2VyciApOwogCSAgICB4bWxJT0VycihYTUxfSU9fV1JJVEUsIChjb25zdCBjaGFyICopIG1zZyk7CkBAIC0xNzkxLDcgKzE3OTEsNyBAQAogICAgIGVsc2UgewogCXhtbENoYXIgbXNnWzUwMF07CiAJeG1sU3RyUHJpbnRmKG1zZywgNTAwLAotCQkgICAgKGNvbnN0IHhtbENoYXIgKikgInhtbFpNZW1CdWZmR2V0Q29udGVudDogICVzIC0gJWRcbiIsCisJCSAgICAieG1sWk1lbUJ1ZmZHZXRDb250ZW50OiAgJXMgLSAlZFxuIiwKIAkJICAgICJFcnJvciBmbHVzaGluZyB6bGliIGJ1ZmZlcnMuICBFcnJvciBjb2RlIiwgel9lcnIgKTsKIAl4bWxJT0VycihYTUxfSU9fV1JJVEUsIChjb25zdCBjaGFyICopIG1zZyk7CiAgICAgfQpAQCAtMTk5Niw3ICsxOTk2LDcgQEAKIAlpZiAoIGxlbiA8IDAgKSB7CiAJICAgIHhtbENoYXIgbXNnWzUwMF07CiAJICAgIHhtbFN0clByaW50Zihtc2csIDUwMCwKLQkJCShjb25zdCB4bWxDaGFyICopICJ4bWxJT0hUVFBXcml0ZTogICVzXG4lcyAnJXMnLlxuIiwKKwkJCSJ4bWxJT0hUVFBXcml0ZTogICVzXG4lcyAnJXMnLlxuIiwKIAkJCSJFcnJvciBhcHBlbmRpbmcgdG8gaW50ZXJuYWwgYnVmZmVyLiIsCiAJCQkiRXJyb3Igc2VuZGluZyBkb2N1bWVudCB0byBVUkkiLAogCQkJY3R4dC0+dXJpICk7CkBAIC0yMDY4LDcgKzIwNjgsNyBAQAogICAgIGlmICggaHR0cF9jb250ZW50ID09IE5VTEwgKSB7CiAJeG1sQ2hhciBtc2dbNTAwXTsKIAl4bWxTdHJQcmludGYobXNnLCA1MDAsCi0JCSAgICAgKGNvbnN0IHhtbENoYXIgKikgInhtbElPSFRUUENsb3NlV3JpdGU6ICAlcyAnJXMnICVzICclcycuXG4iLAorCQkgICAgICJ4bWxJT0hUVFBDbG9zZVdyaXRlOiAgJXMgJyVzJyAlcyAnJXMnLlxuIiwKIAkJICAgICAiRXJyb3IgcmV0cmlldmluZyBjb250ZW50LlxuVW5hYmxlIHRvIiwKIAkJICAgICBodHRwX210aGQsICJkYXRhIHRvIFVSSSIsIGN0eHQtPnVyaSApOwogCXhtbElPRXJyKFhNTF9JT19XUklURSwgKGNvbnN0IGNoYXIgKikgbXNnKTsKQEAgLTIxNDAsNyArMjE0MCw3IEBACiAJICAgIGVsc2UgewogICAgICAgICAgICAgICAgIHhtbENoYXIgbXNnWzUwMF07CiAgICAgICAgICAgICAgICAgeG1sU3RyUHJpbnRmKG1zZywgNTAwLAotICAgIChjb25zdCB4bWxDaGFyICopICJ4bWxJT0hUVFBDbG9zZVdyaXRlOiBIVFRQICclcycgb2YgJWQgJXNcbiclcycgJXMgJWRcbiIsCisgICAgICAgICAgICAgICAgICAgICAgInhtbElPSFRUUENsb3NlV3JpdGU6IEhUVFAgJyVzJyBvZiAlZCAlc1xuJyVzJyAlcyAlZFxuIiwKIAkJCSAgICBodHRwX210aGQsIGNvbnRlbnRfbGd0aCwKIAkJCSAgICAiYnl0ZXMgdG8gVVJJIiwgY3R4dC0+dXJpLAogCQkJICAgICJmYWlsZWQuICBIVFRQIHJldHVybiBjb2RlOiIsIGh0dHBfcnRuICk7CmRpZmYgLS1naXQgYS94bWxjYXRhbG9nLmMgYi94bWxjYXRhbG9nLmMKaW5kZXggYjllZDZhNC4uMDA2ZjBjYyAxMDA2NDQKLS0tIGEveG1sY2F0YWxvZy5jCisrKyBiL3htbGNhdGFsb2cuYwpAQCAtODAsNiArODAsNyBAQAogCiAgICAgaWYgKHByb21wdCAhPSBOVUxMKQogCWZwcmludGYoc3Rkb3V0LCAiJXMiLCBwcm9tcHQpOworICAgIGZmbHVzaChzdGRvdXQpOwogICAgIGlmICghZmdldHMobGluZV9yZWFkLCA1MDAsIHN0ZGluKSkKICAgICAgICAgcmV0dXJuKE5VTEwpOwogICAgIGxpbmVfcmVhZFs1MDBdID0gMDsKZGlmZiAtLWdpdCBhL3htbGxpbnQuYyBiL3htbGxpbnQuYwppbmRleCAxZTJlYjRhLi42N2Y3YWRiIDEwMDY0NAotLS0gYS94bWxsaW50LmMKKysrIGIveG1sbGludC5jCkBAIC00NDksNyArNDQ5LDcgQEAKICAqICAgICAgICAgICBtZXNzYWdlIGFib3V0IHRoZSB0aW1pbmcgcGVyZm9ybWVkOyBmb3JtYXQgaXMgYSBwcmludGYKICAqICAgICAgICAgICB0eXBlIGFyZ3VtZW50CiAgKi8KLXN0YXRpYyB2b2lkIFhNTENERUNMCitzdGF0aWMgdm9pZCBYTUxDREVDTCBMSUJYTUxfQVRUUl9GT1JNQVQoMSwyKQogZW5kVGltZXIoY29uc3QgY2hhciAqZm10LCAuLi4pCiB7CiAgICAgbG9uZyBtc2VjOwpAQCAtNDg1LDcgKzQ4NSw3IEBACiB7CiAgICAgYmVnaW4gPSBjbG9jaygpOwogfQotc3RhdGljIHZvaWQgWE1MQ0RFQ0wKK3N0YXRpYyB2b2lkIFhNTENERUNMIExJQlhNTF9BVFRSX0ZPUk1BVCgxLDIpCiBlbmRUaW1lcihjb25zdCBjaGFyICpmbXQsIC4uLikKIHsKICAgICBsb25nIG1zZWM7CkBAIC01MTQsNyArNTE0LDcgQEAKICAgICAgKiBEbyBub3RoaW5nCiAgICAgICovCiB9Ci1zdGF0aWMgdm9pZCBYTUxDREVDTAorc3RhdGljIHZvaWQgWE1MQ0RFQ0wgTElCWE1MX0FUVFJfRk9STUFUKDEsMikKIGVuZFRpbWVyKGNoYXIgKmZvcm1hdCwgLi4uKQogewogICAgIC8qCkBAIC02MzQsNyArNjM0LDcgQEAKICAqIERpc3BsYXkgYW5kIGZvcm1hdCBhbiBlcnJvciBtZXNzYWdlcywgZ2l2ZXMgZmlsZSwgbGluZSwgcG9zaXRpb24gYW5kCiAgKiBleHRyYSBwYXJhbWV0ZXJzLgogICovCi1zdGF0aWMgdm9pZCBYTUxDREVDTAorc3RhdGljIHZvaWQgWE1MQ0RFQ0wgTElCWE1MX0FUVFJfRk9STUFUKDIsMykKIHhtbEhUTUxFcnJvcih2b2lkICpjdHgsIGNvbnN0IGNoYXIgKm1zZywgLi4uKQogewogICAgIHhtbFBhcnNlckN0eHRQdHIgY3R4dCA9ICh4bWxQYXJzZXJDdHh0UHRyKSBjdHg7CkBAIC02NzEsNyArNjcxLDcgQEAKICAqIERpc3BsYXkgYW5kIGZvcm1hdCBhIHdhcm5pbmcgbWVzc2FnZXMsIGdpdmVzIGZpbGUsIGxpbmUsIHBvc2l0aW9uIGFuZAogICogZXh0cmEgcGFyYW1ldGVycy4KICAqLwotc3RhdGljIHZvaWQgWE1MQ0RFQ0wKK3N0YXRpYyB2b2lkIFhNTENERUNMIExJQlhNTF9BVFRSX0ZPUk1BVCgyLDMpCiB4bWxIVE1MV2FybmluZyh2b2lkICpjdHgsIGNvbnN0IGNoYXIgKm1zZywgLi4uKQogewogICAgIHhtbFBhcnNlckN0eHRQdHIgY3R4dCA9ICh4bWxQYXJzZXJDdHh0UHRyKSBjdHg7CkBAIC03MDksNyArNzA5LDcgQEAKICAqIERpc3BsYXkgYW5kIGZvcm1hdCBhbiB2YWxpZGl0eSBlcnJvciBtZXNzYWdlcywgZ2l2ZXMgZmlsZSwKICAqIGxpbmUsIHBvc2l0aW9uIGFuZCBleHRyYSBwYXJhbWV0ZXJzLgogICovCi1zdGF0aWMgdm9pZCBYTUxDREVDTAorc3RhdGljIHZvaWQgWE1MQ0RFQ0wgTElCWE1MX0FUVFJfRk9STUFUKDIsMykKIHhtbEhUTUxWYWxpZGl0eUVycm9yKHZvaWQgKmN0eCwgY29uc3QgY2hhciAqbXNnLCAuLi4pCiB7CiAgICAgeG1sUGFyc2VyQ3R4dFB0ciBjdHh0ID0gKHhtbFBhcnNlckN0eHRQdHIpIGN0eDsKQEAgLTc0Niw3ICs3NDYsNyBAQAogICogRGlzcGxheSBhbmQgZm9ybWF0IGEgdmFsaWRpdHkgd2FybmluZyBtZXNzYWdlcywgZ2l2ZXMgZmlsZSwgbGluZSwKICAqIHBvc2l0aW9uIGFuZCBleHRyYSBwYXJhbWV0ZXJzLgogICovCi1zdGF0aWMgdm9pZCBYTUxDREVDTAorc3RhdGljIHZvaWQgWE1MQ0RFQ0wgTElCWE1MX0FUVFJfRk9STUFUKDIsMykKIHhtbEhUTUxWYWxpZGl0eVdhcm5pbmcodm9pZCAqY3R4LCBjb25zdCBjaGFyICptc2csIC4uLikKIHsKICAgICB4bWxQYXJzZXJDdHh0UHRyIGN0eHQgPSAoeG1sUGFyc2VyQ3R4dFB0cikgY3R4OwpAQCAtODA5LDYgKzgwOSw3IEBACiAKICAgICBpZiAocHJvbXB0ICE9IE5VTEwpCiAJZnByaW50ZihzdGRvdXQsICIlcyIsIHByb21wdCk7CisgICAgZmZsdXNoKHN0ZG91dCk7CiAgICAgaWYgKCFmZ2V0cyhsaW5lX3JlYWQsIDUwMCwgc3RkaW4pKQogICAgICAgICByZXR1cm4oTlVMTCk7CiAgICAgbGluZV9yZWFkWzUwMF0gPSAwOwpAQCAtMTQxMCw3ICsxNDExLDcgQEAKICAqIERpc3BsYXkgYW5kIGZvcm1hdCBhIHdhcm5pbmcgbWVzc2FnZXMsIGdpdmVzIGZpbGUsIGxpbmUsIHBvc2l0aW9uIGFuZAogICogZXh0cmEgcGFyYW1ldGVycy4KICAqLwotc3RhdGljIHZvaWQgWE1MQ0RFQ0wKK3N0YXRpYyB2b2lkIFhNTENERUNMIExJQlhNTF9BVFRSX0ZPUk1BVCgyLDMpCiB3YXJuaW5nRGVidWcodm9pZCAqY3R4IEFUVFJJQlVURV9VTlVTRUQsIGNvbnN0IGNoYXIgKm1zZywgLi4uKQogewogICAgIHZhX2xpc3QgYXJnczsKQEAgLTE0MzMsNyArMTQzNCw3IEBACiAgKiBEaXNwbGF5IGFuZCBmb3JtYXQgYSBlcnJvciBtZXNzYWdlcywgZ2l2ZXMgZmlsZSwgbGluZSwgcG9zaXRpb24gYW5kCiAgKiBleHRyYSBwYXJhbWV0ZXJzLgogICovCi1zdGF0aWMgdm9pZCBYTUxDREVDTAorc3RhdGljIHZvaWQgWE1MQ0RFQ0wgTElCWE1MX0FUVFJfRk9STUFUKDIsMykKIGVycm9yRGVidWcodm9pZCAqY3R4IEFUVFJJQlVURV9VTlVTRUQsIGNvbnN0IGNoYXIgKm1zZywgLi4uKQogewogICAgIHZhX2xpc3QgYXJnczsKQEAgLTE0NTYsNyArMTQ1Nyw3IEBACiAgKiBEaXNwbGF5IGFuZCBmb3JtYXQgYSBmYXRhbEVycm9yIG1lc3NhZ2VzLCBnaXZlcyBmaWxlLCBsaW5lLCBwb3NpdGlvbiBhbmQKICAqIGV4dHJhIHBhcmFtZXRlcnMuCiAgKi8KLXN0YXRpYyB2b2lkIFhNTENERUNMCitzdGF0aWMgdm9pZCBYTUxDREVDTCBMSUJYTUxfQVRUUl9GT1JNQVQoMiwzKQogZmF0YWxFcnJvckRlYnVnKHZvaWQgKmN0eCBBVFRSSUJVVEVfVU5VU0VELCBjb25zdCBjaGFyICptc2csIC4uLikKIHsKICAgICB2YV9saXN0IGFyZ3M7CkBAIC0yMDAxLDYgKzIwMDIsMTIgQEAKICAgICB4bWxOc1B0ciBuczsKIAogICAgIHJvb3QgPSB4bWxEb2NHZXRSb290RWxlbWVudChkb2MpOworICAgIGlmIChyb290ID09IE5VTEwgKSB7CisgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorICAgICAgICAgICAgICAgICJEb2N1bWVudCBkb2VzIG5vdCBoYXZlIGEgcm9vdCBlbGVtZW50Iik7CisgICAgICAgIHByb2dyZXN1bHQgPSBYTUxMSU5UX0VSUl9VTkNMQVNTOworICAgICAgICByZXR1cm47CisgICAgfQogICAgIGZvciAobnMgPSByb290LT5uc0RlZiwgaSA9IDA7bnMgIT0gTlVMTCAmJiBpIDwgMjA7bnM9bnMtPm5leHQpIHsKICAgICAgICAgbmFtZXNwYWNlc1tpKytdID0gbnMtPmhyZWY7CiAgICAgICAgIG5hbWVzcGFjZXNbaSsrXSA9IG5zLT5wcmVmaXg7CkBAIC0yOTY3LDYgKzI5NzQsNyBAQAogICAgIGlmICh4bWxIYXNGZWF0dXJlKFhNTF9XSVRIX1hQVFIpKSBmcHJpbnRmKHN0ZGVyciwgIlhQb2ludGVyICIpOwogICAgIGlmICh4bWxIYXNGZWF0dXJlKFhNTF9XSVRIX1hJTkNMVURFKSkgZnByaW50ZihzdGRlcnIsICJYSW5jbHVkZSAiKTsKICAgICBpZiAoeG1sSGFzRmVhdHVyZShYTUxfV0lUSF9JQ09OVikpIGZwcmludGYoc3RkZXJyLCAiSWNvbnYgIik7CisgICAgaWYgKHhtbEhhc0ZlYXR1cmUoWE1MX1dJVEhfSUNVKSkgZnByaW50ZihzdGRlcnIsICJJQ1UgIik7CiAgICAgaWYgKHhtbEhhc0ZlYXR1cmUoWE1MX1dJVEhfSVNPODg1OVgpKSBmcHJpbnRmKHN0ZGVyciwgIklTTzg4NTlYICIpOwogICAgIGlmICh4bWxIYXNGZWF0dXJlKFhNTF9XSVRIX1VOSUNPREUpKSBmcHJpbnRmKHN0ZGVyciwgIlVuaWNvZGUgIik7CiAgICAgaWYgKHhtbEhhc0ZlYXR1cmUoWE1MX1dJVEhfUkVHRVhQKSkgZnByaW50ZihzdGRlcnIsICJSZWdleHBzICIpOwpkaWZmIC0tZ2l0IGEveG1sbWVtb3J5LmMgYi94bWxtZW1vcnkuYwppbmRleCBmMjRmZDZkLi5mMDhjOGMzIDEwMDY0NAotLS0gYS94bWxtZW1vcnkuYworKysgYi94bWxtZW1vcnkuYwpAQCAtMTA5LDYgKzEwOSw3IEBACiAjZGVmaW5lIFJFU0VSVkVfU0laRSAoKChIRFJfU0laRSArIChBTElHTl9TSVpFLTEpKSBcCiAJCSAgICAgIC8gQUxJR05fU0laRSApICogQUxJR05fU0laRSkKIAorI2RlZmluZSBNQVhfU0laRV9UICgoc2l6ZV90KS0xKQogCiAjZGVmaW5lIENMSUVOVF8yX0hEUihhKSAoKE1FTUhEUiAqKSAoKChjaGFyICopIChhKSkgLSBSRVNFUlZFX1NJWkUpKQogI2RlZmluZSBIRFJfMl9DTElFTlQoYSkgICAgKCh2b2lkICopICgoKGNoYXIgKikgKGEpKSArIFJFU0VSVkVfU0laRSkpCkBAIC0yMTcsNyArMjE4LDcgQEAKIAogLyoqCiAgKiB4bWxNYWxsb2NBdG9taWNMb2M6Ci0gKiBAc2l6ZTogIGFuIGludCBzcGVjaWZ5aW5nIHRoZSBzaXplIGluIGJ5dGUgdG8gYWxsb2NhdGUuCisgKiBAc2l6ZTogIGFuIHVuc2lnbmVkIGludCBzcGVjaWZ5aW5nIHRoZSBzaXplIGluIGJ5dGUgdG8gYWxsb2NhdGUuCiAgKiBAZmlsZTogIHRoZSBmaWxlIG5hbWUgb3IgTlVMTAogICogQGxpbmU6ICB0aGUgbGluZSBudW1iZXIKICAqCkBAIC0yNDAsMTEgKzI0MSwxOCBAQAogCiAgICAgVEVTVF9QT0lOVAogCisgICAgaWYgKHNpemUgPiAoTUFYX1NJWkVfVCAtIFJFU0VSVkVfU0laRSkpIHsKKwl4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJInhtbE1hbGxvY0F0b21pY0xvYyA6IFVuc2lnbmVkIG92ZXJmbG93IHByZXZlbnRlZFxuIik7CisJeG1sTWVtb3J5RHVtcCgpOworCXJldHVybihOVUxMKTsKKyAgICB9CisKICAgICBwID0gKE1FTUhEUiAqKSBtYWxsb2MoUkVTRVJWRV9TSVpFK3NpemUpOwogCiAgICAgaWYgKCFwKSB7CiAJeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCi0JCSJ4bWxNYWxsb2NMb2MgOiBPdXQgb2YgZnJlZSBzcGFjZVxuIik7CisJCSJ4bWxNYWxsb2NBdG9taWNMb2MgOiBPdXQgb2YgZnJlZSBzcGFjZVxuIik7CiAJeG1sTWVtb3J5RHVtcCgpOwogCXJldHVybihOVUxMKTsKICAgICB9CmRpZmYgLS1naXQgYS94bWxyZWFkZXIuYyBiL3htbHJlYWRlci5jCmluZGV4IDQ3MWU3ZTIuLmYyODU3OTAgMTAwNjQ0Ci0tLSBhL3htbHJlYWRlci5jCisrKyBiL3htbHJlYWRlci5jCkBAIC0xNDIsNyArMTQyLDcgQEAKICAgICB4bWxOb2RlUHRyCQkJZmFrZXRleHQ7LyogZmFrZSB4bWxOcyBjaGxkICovCiAgICAgaW50CQkJCXByZXNlcnZlOy8qIHByZXNlcnZlIHRoZSByZXN1bHRpbmcgZG9jdW1lbnQgKi8KICAgICB4bWxCdWZQdHIJCSAgICAgICAgYnVmZmVyOyAvKiB1c2VkIHRvIHJldHVybiBjb25zdCB4bWxDaGFyICogKi8KLSAgICB4bWxEaWN0UHRyCQkJZGljdDsJLyogdGhlIGNvbnRleHQgZGljdGlvbm5hcnkgKi8KKyAgICB4bWxEaWN0UHRyCQkJZGljdDsJLyogdGhlIGNvbnRleHQgZGljdGlvbmFyeSAqLwogCiAgICAgLyogZW50aXR5IHN0YWNrIHdoZW4gdHJhdmVyc2luZyBlbnRpdGllcyBjb250ZW50ICovCiAgICAgeG1sTm9kZVB0ciAgICAgICAgIGVudDsgICAgICAgICAgLyogQ3VycmVudCBFbnRpdHkgUmVmIE5vZGUgKi8KQEAgLTIxMCw3ICsyMTAsNyBAQAogICogRElDVF9GUkVFOgogICogQHN0cjogIGEgc3RyaW5nCiAgKgotICogRnJlZSBhIHN0cmluZyBpZiBpdCBpcyBub3Qgb3duZWQgYnkgdGhlICJkaWN0IiBkaWN0aW9ubmFyeSBpbiB0aGUKKyAqIEZyZWUgYSBzdHJpbmcgaWYgaXQgaXMgbm90IG93bmVkIGJ5IHRoZSAiZGljdCIgZGljdGlvbmFyeSBpbiB0aGUKICAqIGN1cnJlbnQgc2NvcGUKICAqLwogI2RlZmluZSBESUNUX0ZSRUUoc3RyKQkJCQkJCVwKQEAgLTIxNTgsNyArMjE1OCw3IEBACiAgICAgcmV0LT5jdHh0LT5kaWN0TmFtZXMgPSAxOwogICAgIHJldC0+YWxsb2NzID0gWE1MX1RFWFRSRUFERVJfQ1RYVDsKICAgICAvKgotICAgICAqIHVzZSB0aGUgcGFyc2VyIGRpY3Rpb25uYXJ5IHRvIGFsbG9jYXRlIGFsbCBlbGVtZW50cyBhbmQgYXR0cmlidXRlcyBuYW1lcworICAgICAqIHVzZSB0aGUgcGFyc2VyIGRpY3Rpb25hcnkgdG8gYWxsb2NhdGUgYWxsIGVsZW1lbnRzIGFuZCBhdHRyaWJ1dGVzIG5hbWVzCiAgICAgICovCiAgICAgcmV0LT5jdHh0LT5kb2NkaWN0ID0gMTsKICAgICByZXQtPmRpY3QgPSByZXQtPmN0eHQtPmRpY3Q7CkBAIC00MDUwLDEzICs0MDUwLDE5IEBACiB9CiAKICNpZmRlZiBMSUJYTUxfU0NIRU1BU19FTkFCTEVECi1zdGF0aWMgY2hhciAqeG1sVGV4dFJlYWRlckJ1aWxkTWVzc2FnZShjb25zdCBjaGFyICptc2csIHZhX2xpc3QgYXApOworc3RhdGljIGNoYXIgKnhtbFRleHRSZWFkZXJCdWlsZE1lc3NhZ2UoY29uc3QgY2hhciAqbXNnLCB2YV9saXN0IGFwKSBMSUJYTUxfQVRUUl9GT1JNQVQoMSwwKTsKIAogc3RhdGljIHZvaWQgWE1MQ0RFQ0wKLXhtbFRleHRSZWFkZXJWYWxpZGl0eUVycm9yKHZvaWQgKmN0eHQsIGNvbnN0IGNoYXIgKm1zZywgLi4uKTsKK3htbFRleHRSZWFkZXJWYWxpZGl0eUVycm9yKHZvaWQgKmN0eHQsIGNvbnN0IGNoYXIgKm1zZywgLi4uKSBMSUJYTUxfQVRUUl9GT1JNQVQoMiwzKTsKIAogc3RhdGljIHZvaWQgWE1MQ0RFQ0wKLXhtbFRleHRSZWFkZXJWYWxpZGl0eVdhcm5pbmcodm9pZCAqY3R4dCwgY29uc3QgY2hhciAqbXNnLCAuLi4pOworeG1sVGV4dFJlYWRlclZhbGlkaXR5V2FybmluZyh2b2lkICpjdHh0LCBjb25zdCBjaGFyICptc2csIC4uLikgTElCWE1MX0FUVFJfRk9STUFUKDIsMyk7CisKK3N0YXRpYyB2b2lkIFhNTENERUNMCit4bWxUZXh0UmVhZGVyVmFsaWRpdHlFcnJvclJlbGF5KHZvaWQgKmN0eCwgY29uc3QgY2hhciAqbXNnLCAuLi4pIExJQlhNTF9BVFRSX0ZPUk1BVCgyLDMpOworCitzdGF0aWMgdm9pZCBYTUxDREVDTAoreG1sVGV4dFJlYWRlclZhbGlkaXR5V2FybmluZ1JlbGF5KHZvaWQgKmN0eCwgY29uc3QgY2hhciAqbXNnLCAuLi4pIExJQlhNTF9BVFRSX0ZPUk1BVCgyLDMpOwogCiBzdGF0aWMgdm9pZCBYTUxDREVDTAogeG1sVGV4dFJlYWRlclZhbGlkaXR5RXJyb3JSZWxheSh2b2lkICpjdHgsIGNvbnN0IGNoYXIgKm1zZywgLi4uKQpAQCAtNDg1MCw3ICs0ODU2LDcgQEAKICAgICB9CiB9CiAKLXN0YXRpYyB2b2lkIFhNTENERUNMCitzdGF0aWMgdm9pZCBYTUxDREVDTCBMSUJYTUxfQVRUUl9GT1JNQVQoMiwzKQogeG1sVGV4dFJlYWRlckVycm9yKHZvaWQgKmN0eHQsIGNvbnN0IGNoYXIgKm1zZywgLi4uKQogewogICAgIHZhX2xpc3QgYXA7CkBAIC00ODYzLDcgKzQ4NjksNyBAQAogCiB9CiAKLXN0YXRpYyB2b2lkIFhNTENERUNMCitzdGF0aWMgdm9pZCBYTUxDREVDTCBMSUJYTUxfQVRUUl9GT1JNQVQoMiwzKQogeG1sVGV4dFJlYWRlcldhcm5pbmcodm9pZCAqY3R4dCwgY29uc3QgY2hhciAqbXNnLCAuLi4pCiB7CiAgICAgdmFfbGlzdCBhcDsKQEAgLTUyNDksNyArNTI1NSw3IEBACiAgICAgcmVhZGVyLT5jdHh0LT5saW5lbnVtYmVycyA9IDE7CiAgICAgcmVhZGVyLT5jdHh0LT5kaWN0TmFtZXMgPSAxOwogICAgIC8qCi0gICAgICogdXNlIHRoZSBwYXJzZXIgZGljdGlvbm5hcnkgdG8gYWxsb2NhdGUgYWxsIGVsZW1lbnRzIGFuZCBhdHRyaWJ1dGVzIG5hbWVzCisgICAgICogdXNlIHRoZSBwYXJzZXIgZGljdGlvbmFyeSB0byBhbGxvY2F0ZSBhbGwgZWxlbWVudHMgYW5kIGF0dHJpYnV0ZXMgbmFtZXMKICAgICAgKi8KICAgICByZWFkZXItPmN0eHQtPmRvY2RpY3QgPSAxOwogICAgIHJlYWRlci0+Y3R4dC0+cGFyc2VNb2RlID0gWE1MX1BBUlNFX1JFQURFUjsKZGlmZiAtLWdpdCBhL3htbHJlZ2V4cC5jIGIveG1scmVnZXhwLmMKaW5kZXggM2U5MTJhYi4uY2EzYjRmNCAxMDA2NDQKLS0tIGEveG1scmVnZXhwLmMKKysrIGIveG1scmVnZXhwLmMKQEAgLTE1NDQsNiArMTU0NCw3IEBACiB4bWxGQUdlbmVyYXRlVHJhbnNpdGlvbnMoeG1sUmVnUGFyc2VyQ3R4dFB0ciBjdHh0LCB4bWxSZWdTdGF0ZVB0ciBmcm9tLAogCSAgICAgICAgICAgICAgICAgeG1sUmVnU3RhdGVQdHIgdG8sIHhtbFJlZ0F0b21QdHIgYXRvbSkgewogICAgIHhtbFJlZ1N0YXRlUHRyIGVuZDsKKyAgICBpbnQgbnVsbGFibGUgPSAwOwogCiAgICAgaWYgKGF0b20gPT0gTlVMTCkgewogCUVSUk9SKCJnZW5yYXRlIHRyYW5zaXRpb246IGF0b20gPT0gTlVMTCIpOwpAQCAtMTczMCw2ICsxNzMxLDEzIEBACiAgICAgaWYgKHhtbFJlZ0F0b21QdXNoKGN0eHQsIGF0b20pIDwgMCkgewogCXJldHVybigtMSk7CiAgICAgfQorICAgIGlmICgoYXRvbS0+cXVhbnQgPT0gWE1MX1JFR0VYUF9RVUFOVF9SQU5HRSkgJiYKKyAgICAgICAgKGF0b20tPm1pbiA9PSAwKSAmJiAoYXRvbS0+bWF4ID4gMCkpIHsKKwludWxsYWJsZSA9IDE7CisJYXRvbS0+bWluID0gMTsKKyAgICAgICAgaWYgKGF0b20tPm1heCA9PSAxKQorCSAgICBhdG9tLT5xdWFudCA9IFhNTF9SRUdFWFBfUVVBTlRfT1BUOworICAgIH0KICAgICB4bWxSZWdTdGF0ZUFkZFRyYW5zKGN0eHQsIGZyb20sIGF0b20sIHRvLCAtMSwgLTEpOwogICAgIGN0eHQtPnN0YXRlID0gZW5kOwogICAgIHN3aXRjaCAoYXRvbS0+cXVhbnQpIHsKQEAgLTE3NDcsMTEgKzE3NTUsOCBAQAogCSAgICB4bWxSZWdTdGF0ZUFkZFRyYW5zKGN0eHQsIHRvLCBhdG9tLCB0bywgLTEsIC0xKTsKIAkgICAgYnJlYWs7CiAJY2FzZSBYTUxfUkVHRVhQX1FVQU5UX1JBTkdFOgotI2lmIERWX3Rlc3QKLQkgICAgaWYgKGF0b20tPm1pbiA9PSAwKSB7CisJICAgIGlmIChudWxsYWJsZSkKIAkJeG1sRkFHZW5lcmF0ZUVwc2lsb25UcmFuc2l0aW9uKGN0eHQsIGZyb20sIHRvKTsKLQkgICAgfQotI2VuZGlmCiAJICAgIGJyZWFrOwogCWRlZmF1bHQ6CiAJICAgIGJyZWFrOwpAQCAtNTA1MiwxMSArNTA1NywxMiBAQAogCUVSUk9SKCJFeHBlY3RpbmcgdGhlIGVuZCBvZiBhIGNoYXIgcmFuZ2UiKTsKIAlyZXR1cm47CiAgICAgfQotICAgIE5FWFRMKGxlbik7CisKICAgICAvKiBUT0RPIGNoZWNrIHRoYXQgdGhlIHZhbHVlcyBhcmUgYWNjZXB0YWJsZSBjaGFyYWN0ZXIgcmFuZ2VzIGZvciBYTUwgKi8KICAgICBpZiAoZW5kIDwgc3RhcnQpIHsKIAlFUlJPUigiRW5kIG9mIHJhbmdlIGlzIGJlZm9yZSBzdGFydCBvZiByYW5nZSIpOwogICAgIH0gZWxzZSB7CisgICAgICAgIE5FWFRMKGxlbik7CiAgICAgICAgIHhtbFJlZ0F0b21BZGRSYW5nZShjdHh0LCBjdHh0LT5hdG9tLCBjdHh0LT5uZWcsCiAJCSAgICAgICAgICAgWE1MX1JFR0VYUF9DSEFSVkFMLCBzdGFydCwgZW5kLCBOVUxMKTsKICAgICB9CkBAIC02MzQ1LDcgKzYzNTEsNyBAQAogLyoqCiAgKiB4bWxFeHBOZXdDdHh0OgogICogQG1heE5vZGVzOiAgdGhlIG1heGltdW0gbnVtYmVyIG9mIG5vZGVzCi0gKiBAZGljdDogIG9wdGlvbmFsIGRpY3Rpb25uYXJ5IHRvIHVzZSBpbnRlcm5hbGx5CisgKiBAZGljdDogIG9wdGlvbmFsIGRpY3Rpb25hcnkgdG8gdXNlIGludGVybmFsbHkKICAqCiAgKiBDcmVhdGVzIGEgbmV3IGNvbnRleHQgZm9yIG1hbmlwdWxhdGluZyBleHByZXNzaW9ucwogICoKQEAgLTcyMDQsNyArNzIxMCw3IEBACiAgICAgICAgIHJldHVybihOVUxMKTsKICAgICB9CiAgICAgLyoKLSAgICAgKiBjaGVjayB0aGUgc3RyaW5nIGlzIGluIHRoZSBkaWN0aW9ubmFyeSwgaWYgeWVzIHVzZSBhbiBpbnRlcm5lZAorICAgICAqIGNoZWNrIHRoZSBzdHJpbmcgaXMgaW4gdGhlIGRpY3Rpb25hcnksIGlmIHllcyB1c2UgYW4gaW50ZXJuZWQKICAgICAgKiBjb3B5LCBvdGhlcndpc2Ugd2Uga25vdyBpdCdzIG5vdCBhbiBhY2NlcHRhYmxlIGlucHV0CiAgICAgICovCiAgICAgaW5wdXQgPSB4bWxEaWN0RXhpc3RzKGN0eHQtPmRpY3QsIHN0ciwgbGVuKTsKZGlmZiAtLWdpdCBhL3htbHNhdmUuYyBiL3htbHNhdmUuYwppbmRleCA3NzQ0MDRiLi40YThlM2YzIDEwMDY0NAotLS0gYS94bWxzYXZlLmMKKysrIGIveG1sc2F2ZS5jCkBAIC0yMDk3LDggKzIwOTcsOCBAQAogICAgICAgICAgICAgeG1sQnVmQWRkKGJ1ZiwgQkFEX0NBU1QgIiZhbXA7IiwgNSk7CiAgICAgICAgICAgICBjdXIrKzsKICAgICAgICAgICAgIGJhc2UgPSBjdXI7Ci0gICAgICAgIH0gZWxzZSBpZiAoKCpjdXIgPj0gMHg4MCkgJiYgKChkb2MgPT0gTlVMTCkgfHwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGRvYy0+ZW5jb2RpbmcgPT0gTlVMTCkpKSB7CisgICAgICAgIH0gZWxzZSBpZiAoKCpjdXIgPj0gMHg4MCkgJiYgKGN1clsxXSAhPSAwKSAmJgorCSAgICAgICAgICAgKChkb2MgPT0gTlVMTCkgfHwgKGRvYy0+ZW5jb2RpbmcgPT0gTlVMTCkpKSB7CiAgICAgICAgICAgICAvKgogICAgICAgICAgICAgICogV2UgYXNzdW1lIHdlIGhhdmUgVVRGLTggY29udGVudC4KICAgICAgICAgICAgICAqLwpAQCAtMjEyMSwxNCArMjEyMSwxNCBAQAogICAgICAgICAgICAgICAgIHZhbCA8PD0gNjsKICAgICAgICAgICAgICAgICB2YWwgfD0gKGN1clsxXSkgJiAweDNGOwogICAgICAgICAgICAgICAgIGwgPSAyOwotICAgICAgICAgICAgfSBlbHNlIGlmICgqY3VyIDwgMHhGMCkgeworICAgICAgICAgICAgfSBlbHNlIGlmICgoKmN1ciA8IDB4RjApICYmIChjdXIgWzJdICE9IDApKSB7CiAgICAgICAgICAgICAgICAgdmFsID0gKGN1clswXSkgJiAweDBGOwogICAgICAgICAgICAgICAgIHZhbCA8PD0gNjsKICAgICAgICAgICAgICAgICB2YWwgfD0gKGN1clsxXSkgJiAweDNGOwogICAgICAgICAgICAgICAgIHZhbCA8PD0gNjsKICAgICAgICAgICAgICAgICB2YWwgfD0gKGN1clsyXSkgJiAweDNGOwogICAgICAgICAgICAgICAgIGwgPSAzOwotICAgICAgICAgICAgfSBlbHNlIGlmICgqY3VyIDwgMHhGOCkgeworICAgICAgICAgICAgfSBlbHNlIGlmICgoKmN1ciA8IDB4RjgpICYmIChjdXIgWzJdICE9IDApICYmIChjdXJbM10gIT0gMCkpIHsKICAgICAgICAgICAgICAgICB2YWwgPSAoY3VyWzBdKSAmIDB4MDc7CiAgICAgICAgICAgICAgICAgdmFsIDw8PSA2OwogICAgICAgICAgICAgICAgIHZhbCB8PSAoY3VyWzFdKSAmIDB4M0Y7CmRpZmYgLS1naXQgYS94bWxzY2hlbWFzLmMgYi94bWxzY2hlbWFzLmMKaW5kZXggZmU1MzNlNi4uN2FmZTJlYiAxMDA2NDQKLS0tIGEveG1sc2NoZW1hcy5jCisrKyBiL3htbHNjaGVtYXMuYwpAQCAtNjE3LDcgKzYxNyw3IEBACiAgICAgeG1sQXV0b21hdGFTdGF0ZVB0ciBlbmQ7CiAgICAgeG1sQXV0b21hdGFTdGF0ZVB0ciBzdGF0ZTsKIAotICAgIHhtbERpY3RQdHIgZGljdDsJCS8qIGRpY3Rpb25uYXJ5IGZvciBpbnRlcm5lZCBzdHJpbmcgbmFtZXMgKi8KKyAgICB4bWxEaWN0UHRyIGRpY3Q7CQkvKiBkaWN0aW9uYXJ5IGZvciBpbnRlcm5lZCBzdHJpbmcgbmFtZXMgKi8KICAgICB4bWxTY2hlbWFUeXBlUHRyIGN0eHRUeXBlOyAvKiBUaGUgY3VycmVudCBjb250ZXh0IHNpbXBsZS9jb21wbGV4IHR5cGUgKi8KICAgICBpbnQgb3B0aW9uczsKICAgICB4bWxTY2hlbWFWYWxpZEN0eHRQdHIgdmN0eHQ7CkBAIC0xMDg1LDcgKzEwODUsNyBAQAogc3RhdGljIHZvaWQKIHhtbFNjaGVtYUludGVybmFsRXJyKHhtbFNjaGVtYUFic3RyYWN0Q3R4dFB0ciBhY3R4dCwKIAkJICAgICBjb25zdCBjaGFyICpmdW5jTmFtZSwKLQkJICAgICBjb25zdCBjaGFyICptZXNzYWdlKTsKKwkJICAgICBjb25zdCBjaGFyICptZXNzYWdlKSBMSUJYTUxfQVRUUl9GT1JNQVQoMywwKTsKIHN0YXRpYyBpbnQKIHhtbFNjaGVtYUNoZWNrQ09TU1REZXJpdmVkT0soeG1sU2NoZW1hQWJzdHJhY3RDdHh0UHRyIGN0eHQsCiAJCQkgICAgIHhtbFNjaGVtYVR5cGVQdHIgdHlwZSwKQEAgLTE3NjksNyArMTc2OSw3IEBACiAgICAgfQogICAgIEZSRUVfQU5EX05VTEwoc3RyKQogCi0gICAgcmV0dXJuICgqYnVmKTsKKyAgICByZXR1cm4gKHhtbEVzY2FwZUZvcm1hdFN0cmluZyhidWYpKTsKIH0KIAogLyoqCkBAIC0xODg5LDcgKzE4ODksNyBAQAogICoKICAqIEhhbmRsZSBhIHBhcnNlciBlcnJvcgogICovCi1zdGF0aWMgdm9pZAorc3RhdGljIHZvaWQgTElCWE1MX0FUVFJfRk9STUFUKDQsMCkKIHhtbFNjaGVtYVBFcnIoeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciBjdHh0LCB4bWxOb2RlUHRyIG5vZGUsIGludCBlcnJvciwKICAgICAgICAgICAgICAgY29uc3QgY2hhciAqbXNnLCBjb25zdCB4bWxDaGFyICogc3RyMSwgY29uc3QgeG1sQ2hhciAqIHN0cjIpCiB7CkBAIC0xOTIyLDcgKzE5MjIsNyBAQAogICoKICAqIEhhbmRsZSBhIHBhcnNlciBlcnJvcgogICovCi1zdGF0aWMgdm9pZAorc3RhdGljIHZvaWQgTElCWE1MX0FUVFJfRk9STUFUKDUsMCkKIHhtbFNjaGVtYVBFcnIyKHhtbFNjaGVtYVBhcnNlckN0eHRQdHIgY3R4dCwgeG1sTm9kZVB0ciBub2RlLAogICAgICAgICAgICAgICAgeG1sTm9kZVB0ciBjaGlsZCwgaW50IGVycm9yLAogICAgICAgICAgICAgICAgY29uc3QgY2hhciAqbXNnLCBjb25zdCB4bWxDaGFyICogc3RyMSwgY29uc3QgeG1sQ2hhciAqIHN0cjIpCkBAIC0xOTUxLDcgKzE5NTEsNyBAQAogICoKICAqIEhhbmRsZSBhIHBhcnNlciBlcnJvcgogICovCi1zdGF0aWMgdm9pZAorc3RhdGljIHZvaWQgTElCWE1MX0FUVFJfRk9STUFUKDcsMCkKIHhtbFNjaGVtYVBFcnJFeHQoeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciBjdHh0LCB4bWxOb2RlUHRyIG5vZGUsIGludCBlcnJvciwKIAkJY29uc3QgeG1sQ2hhciAqIHN0ckRhdGExLCBjb25zdCB4bWxDaGFyICogc3RyRGF0YTIsCiAJCWNvbnN0IHhtbENoYXIgKiBzdHJEYXRhMywgY29uc3QgY2hhciAqbXNnLCBjb25zdCB4bWxDaGFyICogc3RyMSwKQEAgLTIwMDIsNyArMjAwMiw3IEBACiAgICAgICAgICAgICAgICAgICAgICBleHRyYSk7CiB9CiAKLXN0YXRpYyB2b2lkCitzdGF0aWMgdm9pZCBMSUJYTUxfQVRUUl9GT1JNQVQoMiwwKQogeG1sU2NoZW1hUFNpbXBsZUludGVybmFsRXJyKHhtbE5vZGVQdHIgbm9kZSwKIAkJCSAgICBjb25zdCBjaGFyICptc2csIGNvbnN0IHhtbENoYXIgKnN0cikKIHsKQEAgLTIwMTMsMTggKzIwMTMsMjEgQEAKICNkZWZpbmUgV1hTX0VSUk9SX1RZUEVfRVJST1IgMQogI2RlZmluZSBXWFNfRVJST1JfVFlQRV9XQVJOSU5HIDIKIC8qKgotICogeG1sU2NoZW1hRXJyMzoKKyAqIHhtbFNjaGVtYUVycjRMaW5lOgogICogQGN0eHQ6IHRoZSB2YWxpZGF0aW9uIGNvbnRleHQKLSAqIEBub2RlOiB0aGUgY29udGV4dCBub2RlCisgKiBAZXJyb3JMZXZlbDogdGhlIGVycm9yIGxldmVsCiAgKiBAZXJyb3I6IHRoZSBlcnJvciBjb2RlCisgKiBAbm9kZTogdGhlIGNvbnRleHQgbm9kZQorICogQGxpbmU6IHRoZSBsaW5lIG51bWJlcgogICogQG1zZzogdGhlIGVycm9yIG1lc3NhZ2UKICAqIEBzdHIxOiBleHRyYSBkYXRhCiAgKiBAc3RyMjogZXh0cmEgZGF0YQogICogQHN0cjM6IGV4dHJhIGRhdGEKKyAqIEBzdHI0OiBleHRyYSBkYXRhCiAgKgogICogSGFuZGxlIGEgdmFsaWRhdGlvbiBlcnJvcgogICovCi1zdGF0aWMgdm9pZAorc3RhdGljIHZvaWQgTElCWE1MX0FUVFJfRk9STUFUKDYsMCkKIHhtbFNjaGVtYUVycjRMaW5lKHhtbFNjaGVtYUFic3RyYWN0Q3R4dFB0ciBjdHh0LAogCQkgIHhtbEVycm9yTGV2ZWwgZXJyb3JMZXZlbCwKIAkJICBpbnQgZXJyb3IsIHhtbE5vZGVQdHIgbm9kZSwgaW50IGxpbmUsIGNvbnN0IGNoYXIgKm1zZywKQEAgLTIxMzksNyArMjE0Miw3IEBACiAgKgogICogSGFuZGxlIGEgdmFsaWRhdGlvbiBlcnJvcgogICovCi1zdGF0aWMgdm9pZAorc3RhdGljIHZvaWQgTElCWE1MX0FUVFJfRk9STUFUKDQsMCkKIHhtbFNjaGVtYUVycjMoeG1sU2NoZW1hQWJzdHJhY3RDdHh0UHRyIGFjdHh0LAogCSAgICAgIGludCBlcnJvciwgeG1sTm9kZVB0ciBub2RlLCBjb25zdCBjaGFyICptc2csCiAJICAgICAgY29uc3QgeG1sQ2hhciAqc3RyMSwgY29uc3QgeG1sQ2hhciAqc3RyMiwgY29uc3QgeG1sQ2hhciAqc3RyMykKQEAgLTIxNDgsNyArMjE1MSw3IEBACiAJbXNnLCBzdHIxLCBzdHIyLCBzdHIzLCBOVUxMKTsKIH0KIAotc3RhdGljIHZvaWQKK3N0YXRpYyB2b2lkIExJQlhNTF9BVFRSX0ZPUk1BVCg0LDApCiB4bWxTY2hlbWFFcnI0KHhtbFNjaGVtYUFic3RyYWN0Q3R4dFB0ciBhY3R4dCwKIAkgICAgICBpbnQgZXJyb3IsIHhtbE5vZGVQdHIgbm9kZSwgY29uc3QgY2hhciAqbXNnLAogCSAgICAgIGNvbnN0IHhtbENoYXIgKnN0cjEsIGNvbnN0IHhtbENoYXIgKnN0cjIsCkBAIC0yMTU4LDcgKzIxNjEsNyBAQAogCW1zZywgc3RyMSwgc3RyMiwgc3RyMywgc3RyNCk7CiB9CiAKLXN0YXRpYyB2b2lkCitzdGF0aWMgdm9pZCBMSUJYTUxfQVRUUl9GT1JNQVQoNCwwKQogeG1sU2NoZW1hRXJyKHhtbFNjaGVtYUFic3RyYWN0Q3R4dFB0ciBhY3R4dCwKIAkgICAgIGludCBlcnJvciwgeG1sTm9kZVB0ciBub2RlLCBjb25zdCBjaGFyICptc2csCiAJICAgICBjb25zdCB4bWxDaGFyICpzdHIxLCBjb25zdCB4bWxDaGFyICpzdHIyKQpAQCAtMjE4MSw3ICsyMTg0LDcgQEAKIAkvKgogCSogRG9uJ3QgdHJ5IHRvIGZvcm1hdCBvdGhlciBub2RlcyB0aGFuIGVsZW1lbnQgYW5kCiAJKiBhdHRyaWJ1dGUgbm9kZXMuCi0JKiBQbGF5IHNhdmUgYW5kIHJldHVybiBhbiBlbXB0eSBzdHJpbmcuCisJKiBQbGF5IHNhZmUgYW5kIHJldHVybiBhbiBlbXB0eSBzdHJpbmcuCiAJKi8KIAkqbXNnID0geG1sU3RyZHVwKEJBRF9DQVNUICIiKTsKIAlyZXR1cm4oKm1zZyk7CkBAIC0yMjQ2LDYgKzIyNDksMTMgQEAKIAlUT0RPCiAJcmV0dXJuIChOVUxMKTsKICAgICB9CisKKyAgICAvKgorICAgICAqIHhtbFNjaGVtYUZvcm1hdEl0ZW1Gb3JSZXBvcnQoKSBhbHNvIHJldHVybnMgYW4gZXNjYXBlZCBmb3JtYXQKKyAgICAgKiBzdHJpbmcsIHNvIGRvIHRoaXMgYmVmb3JlIGNhbGxpbmcgaXQgYmVsb3cgKGluIHRoZSBmdXR1cmUpLgorICAgICAqLworICAgIHhtbEVzY2FwZUZvcm1hdFN0cmluZyhtc2cpOworCiAgICAgLyoKICAgICAqIFZBTCBUT0RPOiBUaGUgb3V0cHV0IG9mIHRoZSBnaXZlbiBzY2hlbWEgY29tcG9uZW50IGlzIGN1cnJlbnRseQogICAgICogZGlzYWJsZWQuCkBAIC0yMjYyLDcgKzIyNzIsNyBAQAogICAgIHJldHVybiAoKm1zZyk7CiB9CiAKLXN0YXRpYyB2b2lkCitzdGF0aWMgdm9pZCBMSUJYTUxfQVRUUl9GT1JNQVQoMywwKQogeG1sU2NoZW1hSW50ZXJuYWxFcnIyKHhtbFNjaGVtYUFic3RyYWN0Q3R4dFB0ciBhY3R4dCwKIAkJICAgICBjb25zdCBjaGFyICpmdW5jTmFtZSwKIAkJICAgICBjb25zdCBjaGFyICptZXNzYWdlLApAQCAtMjI3MywyNCArMjI4MywyMSBAQAogCiAgICAgaWYgKGFjdHh0ID09IE5VTEwpCiAgICAgICAgIHJldHVybjsKLSAgICBtc2cgPSB4bWxTdHJkdXAoQkFEX0NBU1QgIkludGVybmFsIGVycm9yOiAiKTsKLSAgICBtc2cgPSB4bWxTdHJjYXQobXNnLCBCQURfQ0FTVCBmdW5jTmFtZSk7Ci0gICAgbXNnID0geG1sU3RyY2F0KG1zZywgQkFEX0NBU1QgIiwgIik7CisgICAgbXNnID0geG1sU3RyZHVwKEJBRF9DQVNUICJJbnRlcm5hbCBlcnJvcjogJXMsICIpOwogICAgIG1zZyA9IHhtbFN0cmNhdChtc2csIEJBRF9DQVNUIG1lc3NhZ2UpOwogICAgIG1zZyA9IHhtbFN0cmNhdChtc2csIEJBRF9DQVNUICIuXG4iKTsKIAogICAgIGlmIChhY3R4dC0+dHlwZSA9PSBYTUxfU0NIRU1BX0NUWFRfVkFMSURBVE9SKQotCXhtbFNjaGVtYUVycihhY3R4dCwgWE1MX1NDSEVNQVZfSU5URVJOQUwsIE5VTEwsCi0JICAgIChjb25zdCBjaGFyICopIG1zZywgc3RyMSwgc3RyMik7Ci0KKwl4bWxTY2hlbWFFcnIzKGFjdHh0LCBYTUxfU0NIRU1BVl9JTlRFUk5BTCwgTlVMTCwKKwkgICAgKGNvbnN0IGNoYXIgKikgbXNnLCAoY29uc3QgeG1sQ2hhciAqKSBmdW5jTmFtZSwgc3RyMSwgc3RyMik7CiAgICAgZWxzZSBpZiAoYWN0eHQtPnR5cGUgPT0gWE1MX1NDSEVNQV9DVFhUX1BBUlNFUikKLQl4bWxTY2hlbWFFcnIoYWN0eHQsIFhNTF9TQ0hFTUFQX0lOVEVSTkFMLCBOVUxMLAotCSAgICAoY29uc3QgY2hhciAqKSBtc2csIHN0cjEsIHN0cjIpOworCXhtbFNjaGVtYUVycjMoYWN0eHQsIFhNTF9TQ0hFTUFQX0lOVEVSTkFMLCBOVUxMLAorCSAgICAoY29uc3QgY2hhciAqKSBtc2csIChjb25zdCB4bWxDaGFyICopIGZ1bmNOYW1lLCBzdHIxLCBzdHIyKTsKIAogICAgIEZSRUVfQU5EX05VTEwobXNnKQogfQogCi1zdGF0aWMgdm9pZAorc3RhdGljIHZvaWQgTElCWE1MX0FUVFJfRk9STUFUKDMsMCkKIHhtbFNjaGVtYUludGVybmFsRXJyKHhtbFNjaGVtYUFic3RyYWN0Q3R4dFB0ciBhY3R4dCwKIAkJICAgICBjb25zdCBjaGFyICpmdW5jTmFtZSwKIAkJICAgICBjb25zdCBjaGFyICptZXNzYWdlKQpAQCAtMjI5OSw3ICsyMzA2LDcgQEAKIH0KIAogI2lmIDAKLXN0YXRpYyB2b2lkCitzdGF0aWMgdm9pZCBMSUJYTUxfQVRUUl9GT1JNQVQoMywwKQogeG1sU2NoZW1hUEludGVybmFsRXJyKHhtbFNjaGVtYVBhcnNlckN0eHRQdHIgcGN0eHQsCiAJCSAgICAgY29uc3QgY2hhciAqZnVuY05hbWUsCiAJCSAgICAgY29uc3QgY2hhciAqbWVzc2FnZSwKQEAgLTIzMTEsNyArMjMxOCw3IEBACiB9CiAjZW5kaWYKIAotc3RhdGljIHZvaWQKK3N0YXRpYyB2b2lkIExJQlhNTF9BVFRSX0ZPUk1BVCg1LDApCiB4bWxTY2hlbWFDdXN0b21FcnI0KHhtbFNjaGVtYUFic3RyYWN0Q3R4dFB0ciBhY3R4dCwKIAkJICAgeG1sUGFyc2VyRXJyb3JzIGVycm9yLAogCQkgICB4bWxOb2RlUHRyIG5vZGUsCkBAIC0yMzM2LDcgKzIzNDMsNyBAQAogICAgIEZSRUVfQU5EX05VTEwobXNnKQogfQogCi1zdGF0aWMgdm9pZAorc3RhdGljIHZvaWQgTElCWE1MX0FUVFJfRk9STUFUKDUsMCkKIHhtbFNjaGVtYUN1c3RvbUVycih4bWxTY2hlbWFBYnN0cmFjdEN0eHRQdHIgYWN0eHQsCiAJCSAgIHhtbFBhcnNlckVycm9ycyBlcnJvciwKIAkJICAgeG1sTm9kZVB0ciBub2RlLApAQCAtMjM1MSw3ICsyMzU4LDcgQEAKIAogCiAKLXN0YXRpYyB2b2lkCitzdGF0aWMgdm9pZCBMSUJYTUxfQVRUUl9GT1JNQVQoNSwwKQogeG1sU2NoZW1hQ3VzdG9tV2FybmluZyh4bWxTY2hlbWFBYnN0cmFjdEN0eHRQdHIgYWN0eHQsCiAJCSAgIHhtbFBhcnNlckVycm9ycyBlcnJvciwKIAkJICAgeG1sTm9kZVB0ciBub2RlLApAQCAtMjM3Niw3ICsyMzgzLDcgQEAKIAogCiAKLXN0YXRpYyB2b2lkCitzdGF0aWMgdm9pZCBMSUJYTUxfQVRUUl9GT1JNQVQoNSwwKQogeG1sU2NoZW1hS2V5cmVmRXJyKHhtbFNjaGVtYVZhbGlkQ3R4dFB0ciB2Y3R4dCwKIAkJICAgeG1sUGFyc2VyRXJyb3JzIGVycm9yLAogCQkgICB4bWxTY2hlbWFQU1ZJSURDTm9kZVB0ciBpZGNOb2RlLApAQCAtMjQ3NiwxMSArMjQ4MywxMyBAQAogCW1zZyA9IHhtbFN0cmNhdChtc2csIEJBRF9DQVNUICIgJyIpOwogCWlmICh0eXBlLT5idWlsdEluVHlwZSAhPSAwKSB7CiAJICAgIG1zZyA9IHhtbFN0cmNhdChtc2csIEJBRF9DQVNUICJ4czoiKTsKLQkgICAgbXNnID0geG1sU3RyY2F0KG1zZywgdHlwZS0+bmFtZSk7Ci0JfSBlbHNlCi0JICAgIG1zZyA9IHhtbFN0cmNhdChtc2csCi0JCXhtbFNjaGVtYUZvcm1hdFFOYW1lKCZzdHIsCi0JCSAgICB0eXBlLT50YXJnZXROYW1lc3BhY2UsIHR5cGUtPm5hbWUpKTsKKwkgICAgc3RyID0geG1sU3RyZHVwKHR5cGUtPm5hbWUpOworCX0gZWxzZSB7CisJICAgIGNvbnN0IHhtbENoYXIgKnFOYW1lID0geG1sU2NoZW1hRm9ybWF0UU5hbWUoJnN0ciwgdHlwZS0+dGFyZ2V0TmFtZXNwYWNlLCB0eXBlLT5uYW1lKTsKKwkgICAgaWYgKCFzdHIpCisJCXN0ciA9IHhtbFN0cmR1cChxTmFtZSk7CisJfQorCW1zZyA9IHhtbFN0cmNhdChtc2csIHhtbEVzY2FwZUZvcm1hdFN0cmluZygmc3RyKSk7CiAJbXNnID0geG1sU3RyY2F0KG1zZywgQkFEX0NBU1QgIiciKTsKIAlGUkVFX0FORF9OVUxMKHN0cik7CiAgICAgfQpAQCAtMjUyNSw3ICsyNTM0LDcgQEAKICAgICBGUkVFX0FORF9OVUxMKG1zZykKIH0KIAotc3RhdGljIHZvaWQKK3N0YXRpYyB2b2lkIExJQlhNTF9BVFRSX0ZPUk1BVCg1LDApCiB4bWxTY2hlbWFDb21wbGV4VHlwZUVycih4bWxTY2hlbWFBYnN0cmFjdEN0eHRQdHIgYWN0eHQsCiAJCSAgICAgICAgeG1sUGFyc2VyRXJyb3JzIGVycm9yLAogCQkgICAgICAgIHhtbE5vZGVQdHIgbm9kZSwKQEAgLTI2MTcsNyArMjYyNiw3IEBACiAJCXN0ciA9IHhtbFN0cmNhdChzdHIsIEJBRF9DQVNUICIsICIpOwogCX0KIAlzdHIgPSB4bWxTdHJjYXQoc3RyLCBCQURfQ0FTVCAiICkuXG4iKTsKLQltc2cgPSB4bWxTdHJjYXQobXNnLCBCQURfQ0FTVCBzdHIpOworCW1zZyA9IHhtbFN0cmNhdChtc2csIHhtbEVzY2FwZUZvcm1hdFN0cmluZygmc3RyKSk7CiAJRlJFRV9BTkRfTlVMTChzdHIpCiAgICAgfSBlbHNlCiAgICAgICBtc2cgPSB4bWxTdHJjYXQobXNnLCBCQURfQ0FTVCAiXG4iKTsKQEAgLTI2MjUsNyArMjYzNCw3IEBACiAgICAgeG1sRnJlZShtc2cpOwogfQogCi1zdGF0aWMgdm9pZAorc3RhdGljIHZvaWQgTElCWE1MX0FUVFJfRk9STUFUKDgsMCkKIHhtbFNjaGVtYUZhY2V0RXJyKHhtbFNjaGVtYUFic3RyYWN0Q3R4dFB0ciBhY3R4dCwKIAkJICB4bWxQYXJzZXJFcnJvcnMgZXJyb3IsCiAJCSAgeG1sTm9kZVB0ciBub2RlLApAQCAtMjkxNiw3ICsyOTI1LDcgQEAKICAqCiAgKiBSZXBvcnRzIGFuIGVycm9yIGR1cmluZyBwYXJzaW5nLgogICovCi1zdGF0aWMgdm9pZAorc3RhdGljIHZvaWQgTElCWE1MX0FUVFJfRk9STUFUKDUsMCkKIHhtbFNjaGVtYVBDdXN0b21FcnJFeHQoeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciBjdHh0LAogCQkgICAgeG1sUGFyc2VyRXJyb3JzIGVycm9yLAogCQkgICAgeG1sU2NoZW1hQmFzaWNJdGVtUHRyIGl0ZW0sCkBAIC0yOTUyLDcgKzI5NjEsNyBAQAogICoKICAqIFJlcG9ydHMgYW4gZXJyb3IgZHVyaW5nIHBhcnNpbmcuCiAgKi8KLXN0YXRpYyB2b2lkCitzdGF0aWMgdm9pZCBMSUJYTUxfQVRUUl9GT1JNQVQoNSwwKQogeG1sU2NoZW1hUEN1c3RvbUVycih4bWxTY2hlbWFQYXJzZXJDdHh0UHRyIGN0eHQsCiAJCSAgICB4bWxQYXJzZXJFcnJvcnMgZXJyb3IsCiAJCSAgICB4bWxTY2hlbWFCYXNpY0l0ZW1QdHIgaXRlbSwKQEAgLTI5NzcsNyArMjk4Niw3IEBACiAgKgogICogUmVwb3J0cyBhbiBhdHRyaWJ1dGUgdXNlIGVycm9yIGR1cmluZyBwYXJzaW5nLgogICovCi1zdGF0aWMgdm9pZAorc3RhdGljIHZvaWQgTElCWE1MX0FUVFJfRk9STUFUKDYsMCkKIHhtbFNjaGVtYVBBdHRyVXNlRXJyNCh4bWxTY2hlbWFQYXJzZXJDdHh0UHRyIGN0eHQsCiAJCSAgICB4bWxQYXJzZXJFcnJvcnMgZXJyb3IsCiAJCSAgICB4bWxOb2RlUHRyIG5vZGUsCkBAIC0zMDk5LDcgKzMxMDgsNyBAQAogICogUmVwb3J0cyBhIHNpbXBsZSB0eXBlIHZhbGlkYXRpb24gZXJyb3IuCiAgKiBUT0RPOiBTaG91bGQgdGhpcyByZXBvcnQgdGhlIHZhbHVlIG9mIGFuIGVsZW1lbnQgYXMgd2VsbD8KICAqLwotc3RhdGljIHZvaWQKK3N0YXRpYyB2b2lkIExJQlhNTF9BVFRSX0ZPUk1BVCg4LDApCiB4bWxTY2hlbWFQU2ltcGxlVHlwZUVycih4bWxTY2hlbWFQYXJzZXJDdHh0UHRyIGN0eHQsCiAJCQl4bWxQYXJzZXJFcnJvcnMgZXJyb3IsCiAJCQl4bWxTY2hlbWFCYXNpY0l0ZW1QdHIgb3duZXJJdGVtIEFUVFJJQlVURV9VTlVTRUQsCkBAIC0zMTQxLDExICszMTUwLDEzIEBACiAJCW1zZyA9IHhtbFN0cmNhdChtc2csIEJBRF9DQVNUICIgJyIpOwogCQlpZiAodHlwZS0+YnVpbHRJblR5cGUgIT0gMCkgewogCQkgICAgbXNnID0geG1sU3RyY2F0KG1zZywgQkFEX0NBU1QgInhzOiIpOwotCQkgICAgbXNnID0geG1sU3RyY2F0KG1zZywgdHlwZS0+bmFtZSk7Ci0JCX0gZWxzZQotCQkgICAgbXNnID0geG1sU3RyY2F0KG1zZywKLQkJCXhtbFNjaGVtYUZvcm1hdFFOYW1lKCZzdHIsCi0JCQkgICAgdHlwZS0+dGFyZ2V0TmFtZXNwYWNlLCB0eXBlLT5uYW1lKSk7CisJCSAgICBzdHIgPSB4bWxTdHJkdXAodHlwZS0+bmFtZSk7CisJCX0gZWxzZSB7CisJCSAgICBjb25zdCB4bWxDaGFyICpxTmFtZSA9IHhtbFNjaGVtYUZvcm1hdFFOYW1lKCZzdHIsIHR5cGUtPnRhcmdldE5hbWVzcGFjZSwgdHlwZS0+bmFtZSk7CisJCSAgICBpZiAoIXN0cikKKwkJCXN0ciA9IHhtbFN0cmR1cChxTmFtZSk7CisJCX0KKwkJbXNnID0geG1sU3RyY2F0KG1zZywgeG1sRXNjYXBlRm9ybWF0U3RyaW5nKCZzdHIpKTsKIAkJbXNnID0geG1sU3RyY2F0KG1zZywgQkFEX0NBU1QgIicuIik7CiAJCUZSRUVfQU5EX05VTEwoc3RyKTsKIAkgICAgfQpAQCAtMzE1Nyw4ICszMTY4LDEwIEBACiAJCSJ2YWxpZC4iKTsKIAl9CiAJaWYgKGV4cGVjdGVkKSB7CisJICAgIHhtbENoYXIgKmV4cGVjdGVkRXNjYXBlZCA9IHhtbENoYXJTdHJkdXAoZXhwZWN0ZWQpOwogCSAgICBtc2cgPSB4bWxTdHJjYXQobXNnLCBCQURfQ0FTVCAiIEV4cGVjdGVkIGlzICciKTsKLQkgICAgbXNnID0geG1sU3RyY2F0KG1zZywgQkFEX0NBU1QgZXhwZWN0ZWQpOworCSAgICBtc2cgPSB4bWxTdHJjYXQobXNnLCB4bWxFc2NhcGVGb3JtYXRTdHJpbmcoJmV4cGVjdGVkRXNjYXBlZCkpOworCSAgICBGUkVFX0FORF9OVUxMKGV4cGVjdGVkRXNjYXBlZCk7CiAJICAgIG1zZyA9IHhtbFN0cmNhdChtc2csIEJBRF9DQVNUICInLlxuIik7CiAJfSBlbHNlCiAJICAgIG1zZyA9IHhtbFN0cmNhdChtc2csIEJBRF9DQVNUICJcbiIpOwpAQCAtMjczODIsMTAgKzI3Mzk1LDE3IEBACiAKICAgICAgICAgZm9yIChqID0gMCwgaSA9IDA7IGkgPCBuYl9hdHRyaWJ1dGVzOyBpKyssIGogKz0gNSkgewogCSAgICAvKgotCSAgICAqIER1cGxpY2F0ZSB0aGUgdmFsdWUuCisJICAgICogRHVwbGljYXRlIHRoZSB2YWx1ZSwgY2hhbmdpbmcgYW55ICYjMzg7IHRvIGEgbGl0ZXJhbCBhbXBlcnNhbmQuCisJICAgICoKKwkgICAgKiBsaWJ4bWwyIGRpZmZlcnMgZnJvbSBub3JtYWwgU0FYIGhlcmUgaW4gdGhhdCBpdCBlc2NhcGVzIGFsbCBhbXBlcnNhbmRzCisJICAgICogYXMgJiMzODsgaW5zdGVhZCBvZiBkZWxpdmVyaW5nIHRoZSByYXcgY29udmVydGVkIHN0cmluZy4gQ2hhbmdpbmcgdGhlCisJICAgICogYmVoYXZpb3IgYXQgdGhpcyBwb2ludCB3b3VsZCBicmVhayBhcHBsaWNhdGlvbnMgdGhhdCB1c2UgdGhpcyBBUEksIHNvCisJICAgICogd2UgYXJlIGZvcmNlZCB0byB3b3JrIGFyb3VuZCBpdC4gVGhlcmUgaXMgbm8gZGFuZ2VyIG9mIGFjY2lkZW50YWxseQorCSAgICAqIGRlY29kaW5nIHNvbWUgZW50aXR5IG90aGVyIHRoYW4gJiMzODsgaW4gdGhpcyBzdGVwIGJlY2F1c2Ugd2l0aG91dAorCSAgICAqIHVuZXNjYXBlZCBhbXBlcnNhbmRzIHRoZXJlIGNhbiBiZSBubyBvdGhlciBlbnRpdGllcyBpbiB0aGUgc3RyaW5nLgogCSAgICAqLwotCSAgICB2YWx1ZSA9IHhtbFN0cm5kdXAoYXR0cmlidXRlc1tqKzNdLAotCQlhdHRyaWJ1dGVzW2orNF0gLSBhdHRyaWJ1dGVzW2orM10pOworCSAgICB2YWx1ZSA9IHhtbFN0cmluZ0xlbkRlY29kZUVudGl0aWVzKHZjdHh0LT5wYXJzZXJDdHh0LCBhdHRyaWJ1dGVzW2orM10sCisJCWF0dHJpYnV0ZXNbais0XSAtIGF0dHJpYnV0ZXNbaiszXSwgWE1MX1NVQlNUSVRVVEVfUkVGLCAwLCAwLCAwKTsKIAkgICAgLyoKIAkgICAgKiBUT0RPOiBTZXQgdGhlIG5vZGUgbGluZS4KIAkgICAgKi8KZGlmZiAtLWdpdCBhL3htbHNjaGVtYXN0eXBlcy5jIGIveG1sc2NoZW1hc3R5cGVzLmMKaW5kZXggZmY2NGY1MC4uNWYzODU5OSAxMDA2NDQKLS0tIGEveG1sc2NoZW1hc3R5cGVzLmMKKysrIGIveG1sc2NoZW1hc3R5cGVzLmMKQEAgLTYyLDcgKzYyLDcgQEAKICAgICBsb25nCQl5ZWFyOwogICAgIHVuc2lnbmVkIGludAltb24JOjQ7CS8qIDEgPD0gIG1vbiAgICA8PSAxMiAgICovCiAgICAgdW5zaWduZWQgaW50CWRheQk6NTsJLyogMSA8PSAgZGF5ICAgIDw9IDMxICAgKi8KLSAgICB1bnNpZ25lZCBpbnQJaG91cgk6NTsJLyogMCA8PSAgaG91ciAgIDw9IDIzICAgKi8KKyAgICB1bnNpZ25lZCBpbnQJaG91cgk6NTsJLyogMCA8PSAgaG91ciAgIDw9IDI0ICAgKi8KICAgICB1bnNpZ25lZCBpbnQJbWluCTo2OwkvKiAwIDw9ICBtaW4gICAgPD0gNTkJKi8KICAgICBkb3VibGUJCXNlYzsKICAgICB1bnNpZ25lZCBpbnQJdHpfZmxhZwk6MTsJLyogaXMgdHpvIGV4cGxpY2l0ZWx5IHNldD8gKi8KQEAgLTExMzksOSArMTEzOSwxMyBAQAogI2RlZmluZSBWQUxJRF9EQVRFKGR0KQkJCQkJCVwKIAkoVkFMSURfWUVBUihkdC0+eWVhcikgJiYgVkFMSURfTU9OVEgoZHQtPm1vbikgJiYgVkFMSURfTURBWShkdCkpCiAKKyNkZWZpbmUgVkFMSURfRU5EX09GX0RBWShkdCkJCQkJCVwKKwkoKGR0KS0+aG91ciA9PSAyNCAmJiAoZHQpLT5taW4gPT0gMCAmJiAoZHQpLT5zZWMgPT0gMCkKKwogI2RlZmluZSBWQUxJRF9USU1FKGR0KQkJCQkJCVwKLQkoVkFMSURfSE9VUihkdC0+aG91cikgJiYgVkFMSURfTUlOKGR0LT5taW4pICYmCQlcCi0JIFZBTElEX1NFQyhkdC0+c2VjKSAmJiBWQUxJRF9UWk8oZHQtPnR6bykpCisJKCgoVkFMSURfSE9VUihkdC0+aG91cikgJiYgVkFMSURfTUlOKGR0LT5taW4pICYmCVwKKwkgIFZBTElEX1NFQyhkdC0+c2VjKSkgfHwgVkFMSURfRU5EX09GX0RBWShkdCkpICYmCVwKKwkgVkFMSURfVFpPKGR0LT50em8pKQogCiAjZGVmaW5lIFZBTElEX0RBVEVUSU1FKGR0KQkJCQkJXAogCShWQUxJRF9EQVRFKGR0KSAmJiBWQUxJRF9USU1FKGR0KSkKQEAgLTEzNTUsNyArMTM1OSw3IEBACiAJcmV0dXJuIHJldDsKICAgICBpZiAoKmN1ciAhPSAnOicpCiAJcmV0dXJuIDE7Ci0gICAgaWYgKCFWQUxJRF9IT1VSKHZhbHVlKSkKKyAgICBpZiAoIVZBTElEX0hPVVIodmFsdWUpICYmIHZhbHVlICE9IDI0IC8qIEFsbG93IGVuZC1vZi1kYXkgaG91ciAqLykKIAlyZXR1cm4gMjsKICAgICBjdXIrKzsKIApAQCAtMTM3Nyw3ICsxMzgxLDcgQEAKICAgICBpZiAocmV0ICE9IDApCiAJcmV0dXJuIHJldDsKIAotICAgIGlmICgoIVZBTElEX1NFQyhkdC0+c2VjKSkgfHwgKCFWQUxJRF9UWk8oZHQtPnR6bykpKQorICAgIGlmICghVkFMSURfVElNRShkdCkpCiAJcmV0dXJuIDI7CiAKICAgICAqc3RyID0gY3VyOwpAQCAtNTMwMyw2ICs1MzA3LDcgQEAKIAkJCSAgICAgICB4bWxTY2hlbWFXaGl0ZXNwYWNlVmFsdWVUeXBlIHdzKQogewogICAgIGludCByZXQ7CisgICAgaW50IHN0cmluZ1R5cGU7CiAKICAgICBpZiAoZmFjZXQgPT0gTlVMTCkKIAlyZXR1cm4oLTEpOwpAQCAtNTMxNSw3ICs1MzIwLDE1IEBACiAJICAgICovCiAJICAgIGlmICh2YWx1ZSA9PSBOVUxMKQogCQlyZXR1cm4oLTEpOwotCSAgICByZXQgPSB4bWxSZWdleHBFeGVjKGZhY2V0LT5yZWdleHAsIHZhbHVlKTsKKwkgICAgLyoKKwkgICAgKiBJZiBzdHJpbmctZGVyaXZlZCB0eXBlLCByZWdleHAgbXVzdCBiZSB0ZXN0ZWQgb24gdGhlIHZhbHVlIHNwYWNlIG9mCisJICAgICogdGhlIGRhdGF0eXBlLgorCSAgICAqIFNlZSBodHRwczovL3d3dy53My5vcmcvVFIveG1sc2NoZW1hLTIvI3JmLXBhdHRlcm4KKwkgICAgKi8KKwkgICAgc3RyaW5nVHlwZSA9IHZhbCAmJiAoKHZhbC0+dHlwZSA+PSBYTUxfU0NIRU1BU19TVFJJTkcgJiYgdmFsLT50eXBlIDw9IFhNTF9TQ0hFTUFTX05PUk1TVFJJTkcpCisJCQkgICAgICB8fCAodmFsLT50eXBlID49IFhNTF9TQ0hFTUFTX1RPS0VOICYmIHZhbC0+dHlwZSA8PSBYTUxfU0NIRU1BU19OQ05BTUUpKTsKKwkgICAgcmV0ID0geG1sUmVnZXhwRXhlYyhmYWNldC0+cmVnZXhwLAorCSAgICAgICAgICAgICAgICAgICAgICAgIChzdHJpbmdUeXBlICYmIHZhbC0+dmFsdWUuc3RyKSA/IHZhbC0+dmFsdWUuc3RyIDogdmFsdWUpOwogCSAgICBpZiAocmV0ID09IDEpCiAJCXJldHVybigwKTsKIAkgICAgaWYgKHJldCA9PSAwKQpkaWZmIC0tZ2l0IGEveG1sc3RyaW5nLmMgYi94bWxzdHJpbmcuYwppbmRleCBhMzcyMjBkLi5jYzg1Nzc3IDEwMDY0NAotLS0gYS94bWxzdHJpbmcuYworKysgYi94bWxzdHJpbmcuYwpAQCAtNDU3LDYgKzQ1Nyw4IEBACiAgICAgICAgIHJldHVybih4bWxTdHJuZHVwKGFkZCwgbGVuKSk7CiAKICAgICBzaXplID0geG1sU3RybGVuKGN1cik7CisgICAgaWYgKHNpemUgPCAwKQorICAgICAgICByZXR1cm4oTlVMTCk7CiAgICAgcmV0ID0gKHhtbENoYXIgKikgeG1sUmVhbGxvYyhjdXIsIChzaXplICsgbGVuICsgMSkgKiBzaXplb2YoeG1sQ2hhcikpOwogICAgIGlmIChyZXQgPT0gTlVMTCkgewogICAgICAgICB4bWxFcnJNZW1vcnkoTlVMTCwgTlVMTCk7CkBAIC00ODQsMTQgKzQ4NiwxOSBAQAogICAgIGludCBzaXplOwogICAgIHhtbENoYXIgKnJldDsKIAotICAgIGlmIChsZW4gPCAwKQorICAgIGlmIChsZW4gPCAwKSB7CiAgICAgICAgIGxlbiA9IHhtbFN0cmxlbihzdHIyKTsKKyAgICAgICAgaWYgKGxlbiA8IDApCisgICAgICAgICAgICByZXR1cm4oTlVMTCk7CisgICAgfQogICAgIGlmICgoc3RyMiA9PSBOVUxMKSB8fCAobGVuID09IDApKQogICAgICAgICByZXR1cm4oeG1sU3RyZHVwKHN0cjEpKTsKICAgICBpZiAoc3RyMSA9PSBOVUxMKQogICAgICAgICByZXR1cm4oeG1sU3RybmR1cChzdHIyLCBsZW4pKTsKIAogICAgIHNpemUgPSB4bWxTdHJsZW4oc3RyMSk7CisgICAgaWYgKHNpemUgPCAwKQorICAgICAgICByZXR1cm4oTlVMTCk7CiAgICAgcmV0ID0gKHhtbENoYXIgKikgeG1sTWFsbG9jKChzaXplICsgbGVuICsgMSkgKiBzaXplb2YoeG1sQ2hhcikpOwogICAgIGlmIChyZXQgPT0gTlVMTCkgewogICAgICAgICB4bWxFcnJNZW1vcnkoTlVMTCwgTlVMTCk7CkBAIC01MzgsNyArNTQ1LDcgQEAKICAqIFJldHVybnMgdGhlIG51bWJlciBvZiBjaGFyYWN0ZXJzIHdyaXR0ZW4gdG8gQGJ1ZiBvciAtMSBpZiBhbiBlcnJvciBvY2N1cnMuCiAgKi8KIGludCBYTUxDREVDTAoteG1sU3RyUHJpbnRmKHhtbENoYXIgKmJ1ZiwgaW50IGxlbiwgY29uc3QgeG1sQ2hhciAqbXNnLCAuLi4pIHsKK3htbFN0clByaW50Zih4bWxDaGFyICpidWYsIGludCBsZW4sIGNvbnN0IGNoYXIgKm1zZywgLi4uKSB7CiAgICAgdmFfbGlzdCBhcmdzOwogICAgIGludCByZXQ7CiAKQEAgLTU2Niw3ICs1NzMsNyBAQAogICogUmV0dXJucyB0aGUgbnVtYmVyIG9mIGNoYXJhY3RlcnMgd3JpdHRlbiB0byBAYnVmIG9yIC0xIGlmIGFuIGVycm9yIG9jY3Vycy4KICAqLwogaW50Ci14bWxTdHJWUHJpbnRmKHhtbENoYXIgKmJ1ZiwgaW50IGxlbiwgY29uc3QgeG1sQ2hhciAqbXNnLCB2YV9saXN0IGFwKSB7Cit4bWxTdHJWUHJpbnRmKHhtbENoYXIgKmJ1ZiwgaW50IGxlbiwgY29uc3QgY2hhciAqbXNnLCB2YV9saXN0IGFwKSB7CiAgICAgaW50IHJldDsKIAogICAgIGlmKChidWYgPT0gTlVMTCkgfHwgKG1zZyA9PSBOVUxMKSkgewpAQCAtODM3LDggKzg0NCw4IEBACiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgaWYgKCAoY2ggPSAqcHRyKyspICYgMHg4MCkKICAgICAgICAgICAgIHdoaWxlICgoY2g8PD0xKSAmIDB4ODAgKSB7Ci0gICAgICAgICAgICAgICAgcHRyKys7CiAJCWlmICgqcHRyID09IDApIGJyZWFrOworICAgICAgICAgICAgICAgIHB0cisrOwogCSAgICB9CiAgICAgfQogICAgIHJldHVybiAocHRyIC0gdXRmKTsKQEAgLTk4MCw1ICs5ODcsNjAgQEAKICAgICByZXR1cm4oeG1sVVRGOFN0cm5kdXAodXRmLCBsZW4pKTsKIH0KIAorLyoqCisgKiB4bWxFc2NhcGVGb3JtYXRTdHJpbmc6CisgKiBAbXNnOiAgYSBwb2ludGVyIHRvIHRoZSBzdHJpbmcgaW4gd2hpY2ggdG8gZXNjYXBlICclJyBjaGFyYWN0ZXJzLgorICogTXVzdCBiZSBhIGhlYXAtYWxsb2NhdGVkIGJ1ZmZlciBjcmVhdGVkIGJ5IGxpYnhtbDIgdGhhdCBtYXkgYmUKKyAqIHJldHVybmVkLCBvciB0aGF0IG1heSBiZSBmcmVlZCBhbmQgcmVwbGFjZWQuCisgKgorICogUmVwbGFjZXMgdGhlIHN0cmluZyBwb2ludGVkIHRvIGJ5ICdtc2cnIHdpdGggYW4gZXNjYXBlZCBzdHJpbmcuCisgKiBSZXR1cm5zIHRoZSBzYW1lIHN0cmluZyB3aXRoIGFsbCAnJScgY2hhcmFjdGVycyBlc2NhcGVkLgorICovCit4bWxDaGFyICoKK3htbEVzY2FwZUZvcm1hdFN0cmluZyh4bWxDaGFyICoqbXNnKQoreworICAgIHhtbENoYXIgKm1zZ1B0ciA9IE5VTEw7CisgICAgeG1sQ2hhciAqcmVzdWx0ID0gTlVMTDsKKyAgICB4bWxDaGFyICpyZXN1bHRQdHIgPSBOVUxMOworICAgIHNpemVfdCBjb3VudCA9IDA7CisgICAgc2l6ZV90IG1zZ0xlbiA9IDA7CisgICAgc2l6ZV90IHJlc3VsdExlbiA9IDA7CisKKyAgICBpZiAoIW1zZyB8fCAhKm1zZykKKyAgICAgICAgcmV0dXJuKE5VTEwpOworCisgICAgZm9yIChtc2dQdHIgPSAqbXNnOyAqbXNnUHRyICE9ICdcMCc7ICsrbXNnUHRyKSB7CisgICAgICAgICsrbXNnTGVuOworICAgICAgICBpZiAoKm1zZ1B0ciA9PSAnJScpCisgICAgICAgICAgICArK2NvdW50OworICAgIH0KKworICAgIGlmIChjb3VudCA9PSAwKQorICAgICAgICByZXR1cm4oKm1zZyk7CisKKyAgICByZXN1bHRMZW4gPSBtc2dMZW4gKyBjb3VudCArIDE7CisgICAgcmVzdWx0ID0gKHhtbENoYXIgKikgeG1sTWFsbG9jQXRvbWljKHJlc3VsdExlbiAqIHNpemVvZih4bWxDaGFyKSk7CisgICAgaWYgKHJlc3VsdCA9PSBOVUxMKSB7CisgICAgICAgIC8qIENsZWFyICptc2cgdG8gcHJldmVudCBmb3JtYXQgc3RyaW5nIHZ1bG5lcmFiaWxpdGllcyBpbgorICAgICAgICAgICBvdXQtb2YtbWVtb3J5IHNpdHVhdGlvbnMuICovCisgICAgICAgIHhtbEZyZWUoKm1zZyk7CisgICAgICAgICptc2cgPSBOVUxMOworICAgICAgICB4bWxFcnJNZW1vcnkoTlVMTCwgTlVMTCk7CisgICAgICAgIHJldHVybihOVUxMKTsKKyAgICB9CisKKyAgICBmb3IgKG1zZ1B0ciA9ICptc2csIHJlc3VsdFB0ciA9IHJlc3VsdDsgKm1zZ1B0ciAhPSAnXDAnOyArK21zZ1B0ciwgKytyZXN1bHRQdHIpIHsKKyAgICAgICAgKnJlc3VsdFB0ciA9ICptc2dQdHI7CisgICAgICAgIGlmICgqbXNnUHRyID09ICclJykKKyAgICAgICAgICAgICooKytyZXN1bHRQdHIpID0gJyUnOworICAgIH0KKyAgICByZXN1bHRbcmVzdWx0TGVuIC0gMV0gPSAnXDAnOworCisgICAgeG1sRnJlZSgqbXNnKTsKKyAgICAqbXNnID0gcmVzdWx0OworCisgICAgcmV0dXJuICptc2c7Cit9CisKICNkZWZpbmUgYm90dG9tX3htbHN0cmluZwogI2luY2x1ZGUgImVsZmdjY2hhY2suaCIKZGlmZiAtLWdpdCBhL3htbHdyaXRlci5jIGIveG1sd3JpdGVyLmMKaW5kZXggZmFjMjBhYy4uNjk1NDFiOCAxMDA2NDQKLS0tIGEveG1sd3JpdGVyLmMKKysrIGIveG1sd3JpdGVyLmMKQEAgLTExMyw3ICsxMTMsNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICogc3RyLCBpbnQgbGVuKTsKIHN0YXRpYyBpbnQgeG1sVGV4dFdyaXRlckNsb3NlRG9jQ2FsbGJhY2sodm9pZCAqY29udGV4dCk7CiAKLXN0YXRpYyB4bWxDaGFyICp4bWxUZXh0V3JpdGVyVlNwcmludGYoY29uc3QgY2hhciAqZm9ybWF0LCB2YV9saXN0IGFyZ3B0cik7CitzdGF0aWMgeG1sQ2hhciAqeG1sVGV4dFdyaXRlclZTcHJpbnRmKGNvbnN0IGNoYXIgKmZvcm1hdCwgdmFfbGlzdCBhcmdwdHIpIExJQlhNTF9BVFRSX0ZPUk1BVCgxLDApOwogc3RhdGljIGludCB4bWxPdXRwdXRCdWZmZXJXcml0ZUJhc2U2NCh4bWxPdXRwdXRCdWZmZXJQdHIgb3V0LCBpbnQgbGVuLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyICpkYXRhKTsKIHN0YXRpYyB2b2lkIHhtbFRleHRXcml0ZXJTdGFydERvY3VtZW50Q2FsbGJhY2sodm9pZCAqY3R4KTsKQEAgLTE1Myw3ICsxNTMsNyBAQAogICoKICAqIEhhbmRsZSBhIHdyaXRlciBlcnJvcgogICovCi1zdGF0aWMgdm9pZAorc3RhdGljIHZvaWQgTElCWE1MX0FUVFJfRk9STUFUKDMsMCkKIHhtbFdyaXRlckVyck1zZ0ludCh4bWxUZXh0V3JpdGVyUHRyIGN0eHQsIHhtbFBhcnNlckVycm9ycyBlcnJvciwKICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKm1zZywgaW50IHZhbCkKIHsKZGlmZiAtLWdpdCBhL3hwYXRoLmMgYi94cGF0aC5jCmluZGV4IDkzNWZjZmYuLjc1MTY2NWIgMTAwNjQ0Ci0tLSBhL3hwYXRoLmMKKysrIGIveHBhdGguYwpAQCAtNjM5LDcgKzYzOSw3IEBACiAgICAgICAgICAgICB4bWxDaGFyIGJ1ZlsyMDBdOwogCiAgICAgICAgICAgICB4bWxTdHJQcmludGYoYnVmLCAyMDAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgQkFEX0NBU1QgIk1lbW9yeSBhbGxvY2F0aW9uIGZhaWxlZCA6ICVzXG4iLAorICAgICAgICAgICAgICAgICAgICAgICAgICJNZW1vcnkgYWxsb2NhdGlvbiBmYWlsZWQgOiAlc1xuIiwKICAgICAgICAgICAgICAgICAgICAgICAgICBleHRyYSk7CiAgICAgICAgICAgICBjdHh0LT5sYXN0RXJyb3IubWVzc2FnZSA9IChjaGFyICopIHhtbFN0cmR1cChidWYpOwogICAgICAgICB9IGVsc2UgewpAQCAtOTQ1LDcgKzk0NSw3IEBACiAgICAgeG1sWFBhdGhTdGVwT3AgKnN0ZXBzOwkvKiBvcHMgZm9yIGNvbXB1dGF0aW9uIG9mIHRoaXMgZXhwcmVzc2lvbiAqLwogICAgIGludCBsYXN0OwkJCS8qIGluZGV4IG9mIGxhc3Qgc3RlcCBpbiBleHByZXNzaW9uICovCiAgICAgeG1sQ2hhciAqZXhwcjsJCS8qIHRoZSBleHByZXNzaW9uIGJlaW5nIGNvbXB1dGVkICovCi0gICAgeG1sRGljdFB0ciBkaWN0OwkJLyogdGhlIGRpY3Rpb25uYXJ5IHRvIHVzZSBpZiBhbnkgKi8KKyAgICB4bWxEaWN0UHRyIGRpY3Q7CQkvKiB0aGUgZGljdGlvbmFyeSB0byB1c2UgaWYgYW55ICovCiAjaWZkZWYgREVCVUdfRVZBTF9DT1VOVFMKICAgICBpbnQgbmI7CiAgICAgeG1sQ2hhciAqc3RyaW5nOwpAQCAtMzcwNiw3ICszNzA2LDcgQEAKIAogICAgIC8qIEBAIHdpdGhfbnMgdG8gY2hlY2sgd2hldGhlciBuYW1lc3BhY2Ugbm9kZXMgc2hvdWxkIGJlIGxvb2tlZCBhdCBAQCAqLwogICAgIC8qCi0gICAgICogcHJldmVudCBkdXBsY2F0ZXMKKyAgICAgKiBwcmV2ZW50IGR1cGxpY2F0ZXMKICAgICAgKi8KICAgICBmb3IgKGkgPSAwO2kgPCBjdXItPm5vZGVOcjtpKyspCiAgICAgICAgIGlmIChjdXItPm5vZGVUYWJbaV0gPT0gdmFsKSByZXR1cm4oMCk7CkBAIC04MzkwLDcgKzgzOTAsNyBAQAogeG1sWFBhdGhOZXh0TmFtZXNwYWNlKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0LCB4bWxOb2RlUHRyIGN1cikgewogICAgIGlmICgoY3R4dCA9PSBOVUxMKSB8fCAoY3R4dC0+Y29udGV4dCA9PSBOVUxMKSkgcmV0dXJuKE5VTEwpOwogICAgIGlmIChjdHh0LT5jb250ZXh0LT5ub2RlLT50eXBlICE9IFhNTF9FTEVNRU5UX05PREUpIHJldHVybihOVUxMKTsKLSAgICBpZiAoY3R4dC0+Y29udGV4dC0+dG1wTnNMaXN0ID09IE5VTEwgJiYgY3VyICE9ICh4bWxOb2RlUHRyKSB4bWxYUGF0aFhNTE5hbWVzcGFjZSkgeworICAgIGlmIChjdXIgPT0gTlVMTCkgewogICAgICAgICBpZiAoY3R4dC0+Y29udGV4dC0+dG1wTnNMaXN0ICE9IE5VTEwpCiAJICAgIHhtbEZyZWUoY3R4dC0+Y29udGV4dC0+dG1wTnNMaXN0KTsKIAljdHh0LT5jb250ZXh0LT50bXBOc0xpc3QgPQpAQCAtOTk5Niw3ICs5OTk2LDcgQEAKICAgICAgICAgKGMgPT0gJ1snKSB8fCAoYyA9PSAnXScpIHx8IChjID09ICdAJykgfHwgLyogYWNjZWxlcmF0b3JzICovCiAgICAgICAgIChjID09ICcqJykgfHwgLyogYWNjZWxlcmF0b3JzICovCiAJKCFJU19MRVRURVIoYykgJiYgKGMgIT0gJ18nKSAmJgotICAgICAgICAgKChxdWFsaWZpZWQpICYmIChjICE9ICc6JykpKSkgeworICAgICAgICAgKCghcXVhbGlmaWVkKSB8fCAoYyAhPSAnOicpKSkpIHsKIAlyZXR1cm4oTlVMTCk7CiAgICAgfQogCkBAIC0xMjM3OSwxMSArMTIzNzksNiBAQAogICAgICAgICAgICAgICAgICAgICBTVFJBTkdFCiAJCSAgICBnb3RvIGVycm9yOwogICAgICAgICAgICAgICAgIGNhc2UgTk9ERV9URVNUX1RZUEU6Ci0JCSAgICAvKgotCQkgICAgKiBUT0RPOiBEb24ndCB3ZSBuZWVkIHRvIHVzZQotCQkgICAgKiAgeG1sWFBhdGhOb2RlU2V0QWRkTnMoKSBmb3IgbmFtZXNwYWNlIG5vZGVzIGhlcmU/Ci0JCSAgICAqICBTdXJwcmlzaW5nbHksIHNvbWUgYzE0biB0ZXN0cyBmYWlsLCBpZiB3ZSBkbyB0aGlzLgotCQkgICAgKi8KIAkJICAgIGlmICh0eXBlID09IE5PREVfVFlQRV9OT0RFKSB7CiAJCQlzd2l0Y2ggKGN1ci0+dHlwZSkgewogCQkJICAgIGNhc2UgWE1MX0RPQ1VNRU5UX05PREU6CkBAIC0xMjM5Nyw5ICsxMjM5MiwxNyBAQAogCQkJICAgIGNhc2UgWE1MX0NPTU1FTlRfTk9ERToKIAkJCSAgICBjYXNlIFhNTF9DREFUQV9TRUNUSU9OX05PREU6CiAJCQkgICAgY2FzZSBYTUxfVEVYVF9OT0RFOgotCQkJICAgIGNhc2UgWE1MX05BTUVTUEFDRV9ERUNMOgogCQkJCVhQX1RFU1RfSElUCiAJCQkJYnJlYWs7CisJCQkgICAgY2FzZSBYTUxfTkFNRVNQQUNFX0RFQ0w6IHsKKwkJCQlpZiAoYXhpcyA9PSBBWElTX05BTUVTUEFDRSkgeworCQkJCSAgICBYUF9URVNUX0hJVF9OUworCQkJCX0gZWxzZSB7CisJICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhc05zTm9kZXMgPSAxOworCQkJCSAgICBYUF9URVNUX0hJVAorCQkJCX0KKwkJCQlicmVhazsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAJCQkgICAgZGVmYXVsdDoKIAkJCQlicmVhazsKIAkJCX0KQEAgLTEyNjkxLDYgKzEyNjk0LDE0IEBACiAgICAgKiBSZXNldCB0aGUgY29udGV4dCBub2RlLgogICAgICovCiAgICAgeHBjdHh0LT5ub2RlID0gb2xkQ29udGV4dE5vZGU7CisgICAgLyoKKyAgICAqIFdoZW4gdHJhdmVyc2luZyB0aGUgbmFtZXNwYWNlIGF4aXMgaW4gInRvQm9vbCIgbW9kZSwgaXQncworICAgICogcG9zc2libGUgdGhhdCB0bXBOc0xpc3Qgd2Fzbid0IGZyZWVkLgorICAgICovCisgICAgaWYgKHhwY3R4dC0+dG1wTnNMaXN0ICE9IE5VTEwpIHsKKyAgICAgICAgeG1sRnJlZSh4cGN0eHQtPnRtcE5zTGlzdCk7CisgICAgICAgIHhwY3R4dC0+dG1wTnNMaXN0ID0gTlVMTDsKKyAgICB9CiAKICNpZmRlZiBERUJVR19TVEVQCiAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCkBAIC0xMzk5NCw5ICsxNDAwNSwxNCBAQAogICAgICAgICAgICAgICAgIHhtbE5vZGVTZXRQdHIgb2xkc2V0OwogICAgICAgICAgICAgICAgIGludCBpLCBqOwogCi0gICAgICAgICAgICAgICAgaWYgKG9wLT5jaDEgIT0gLTEpCisgICAgICAgICAgICAgICAgaWYgKG9wLT5jaDEgIT0gLTEpIHsKICAgICAgICAgICAgICAgICAgICAgdG90YWwgKz0KICAgICAgICAgICAgICAgICAgICAgICAgIHhtbFhQYXRoQ29tcE9wRXZhbChjdHh0LCAmY29tcC0+c3RlcHNbb3AtPmNoMV0pOworICAgICAgICAgICAgICAgICAgICBDSEVDS19FUlJPUjA7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGlmIChjdHh0LT52YWx1ZSA9PSBOVUxMKSB7CisgICAgICAgICAgICAgICAgICAgIFhQX0VSUk9SMChYUEFUSF9JTlZBTElEX09QRVJBTkQpOworICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICBpZiAob3AtPmNoMiA9PSAtMSkKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICh0b3RhbCk7CiAKQEAgLTE0Nzg0LDYgKzE0ODAwLDEwIEBACiAJfQogICAgIH0KIAorICAgIC8qIE9QX1ZBTFVFIGhhcyBpbnZhbGlkIGNoMS4gKi8KKyAgICBpZiAob3AtPm9wID09IFhQQVRIX09QX1ZBTFVFKQorICAgICAgICByZXR1cm47CisKICAgICAvKiBSZWN1cnNlICovCiAgICAgaWYgKG9wLT5jaDEgIT0gLTEpCiAgICAgICAgIHhtbFhQYXRoT3B0aW1pemVFeHByZXNzaW9uKGNvbXAsICZjb21wLT5zdGVwc1tvcC0+Y2gxXSk7CmRpZmYgLS1naXQgYS94cG9pbnRlci5jIGIveHBvaW50ZXIuYwppbmRleCA0YjRhYzJlLi42NzZjNTEwIDEwMDY0NAotLS0gYS94cG9pbnRlci5jCisrKyBiL3hwb2ludGVyLmMKQEAgLTg1LDcgKzg1LDcgQEAKICAqCiAgKiBIYW5kbGUgYSByZWRlZmluaXRpb24gb2YgYXR0cmlidXRlIGVycm9yCiAgKi8KLXN0YXRpYyB2b2lkCitzdGF0aWMgdm9pZCBMSUJYTUxfQVRUUl9GT1JNQVQoMywwKQogeG1sWFB0ckVycih4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgY3R4dCwgaW50IGVycm9yLAogICAgICAgICAgICBjb25zdCBjaGFyICogbXNnLCBjb25zdCB4bWxDaGFyICpleHRyYSkKIHsK