ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCBjZWRjNTNhLi4zOWIzMTAyIDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDYgKzEsOSBAQAogCiAgICAgICAgICAgICAgICAgQ2hhbmdlTG9nIGZpbGUgZm9yIHpsaWIKIAorQ2hhbmdlcyBpbiAxLjIuNy4yICh4eCBBcHIgMjAxMykKKy0gCisKIENoYW5nZXMgaW4gMS4yLjcuMSAoMjQgTWFyIDIwMTMpCiAtIFJlcGxhY2UgdXNlIG9mIHVuc2FmZSBzdHJpbmcgZnVuY3Rpb25zIHdpdGggc25wcmludGYgaWYgYXZhaWxhYmxlCiAtIEF2b2lkIGluY2x1ZGluZyBzdGRkZWYuaCBvbiBXaW5kb3dzIGZvciBaX1NPTE8gY29tcGlsZSBbTmllc3NpbmtdCmRpZmYgLS1naXQgYS9NYWtlZmlsZS5pbiBiL01ha2VmaWxlLmluCmluZGV4IDIzYzhiNmEuLmVmNzBkMzAgMTAwNjQ0Ci0tLSBhL01ha2VmaWxlLmluCisrKyBiL01ha2VmaWxlLmluCkBAIC0zMiw3ICszMiw3IEBACiAKIFNUQVRJQ0xJQj1saWJ6LmEKIFNIQVJFRExJQj1saWJ6LnNvCi1TSEFSRURMSUJWPWxpYnouc28uMS4yLjcuMQorU0hBUkVETElCVj1saWJ6LnNvLjEuMi43LjIKIFNIQVJFRExJQk09bGliei5zby4xCiBMSUJTPSQoU1RBVElDTElCKSAkKFNIQVJFRExJQlYpCiAKZGlmZiAtLWdpdCBhL1JFQURNRSBiL1JFQURNRQppbmRleCBlYzY3MGE4Li44MDFlY2I1IDEwMDY0NAotLS0gYS9SRUFETUUKKysrIGIvUkVBRE1FCkBAIC0xLDYgKzEsNiBAQAogWkxJQiBEQVRBIENPTVBSRVNTSU9OIExJQlJBUlkKIAotemxpYiAxLjIuNy4xIGlzIGEgZ2VuZXJhbCBwdXJwb3NlIGRhdGEgY29tcHJlc3Npb24gbGlicmFyeS4gIEFsbCB0aGUgY29kZSBpcworemxpYiAxLjIuNy4yIGlzIGEgZ2VuZXJhbCBwdXJwb3NlIGRhdGEgY29tcHJlc3Npb24gbGlicmFyeS4gIEFsbCB0aGUgY29kZSBpcwogdGhyZWFkIHNhZmUuICBUaGUgZGF0YSBmb3JtYXQgdXNlZCBieSB0aGUgemxpYiBsaWJyYXJ5IGlzIGRlc2NyaWJlZCBieSBSRkNzCiAoUmVxdWVzdCBmb3IgQ29tbWVudHMpIDE5NTAgdG8gMTk1MiBpbiB0aGUgZmlsZXMKIGh0dHA6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzE5NTAgKHpsaWIgZm9ybWF0KSwgcmZjMTk1MSAoZGVmbGF0ZSBmb3JtYXQpIGFuZApAQCAtMzEsNyArMzEsNyBAQAogaXNzdWUgb2YgRHIuICBEb2JiJ3MgSm91cm5hbDsgYSBjb3B5IG9mIHRoZSBhcnRpY2xlIGlzIGF2YWlsYWJsZSBhdAogaHR0cDovL21hcmtuZWxzb24udXMvMTk5Ny8wMS8wMS96bGliLWVuZ2luZS8gLgogCi1UaGUgY2hhbmdlcyBtYWRlIGluIHZlcnNpb24gMS4yLjcuMSBhcmUgZG9jdW1lbnRlZCBpbiB0aGUgZmlsZSBDaGFuZ2VMb2cuCitUaGUgY2hhbmdlcyBtYWRlIGluIHZlcnNpb24gMS4yLjcuMiBhcmUgZG9jdW1lbnRlZCBpbiB0aGUgZmlsZSBDaGFuZ2VMb2cuCiAKIFVuc3VwcG9ydGVkIHRoaXJkIHBhcnR5IGNvbnRyaWJ1dGlvbnMgYXJlIHByb3ZpZGVkIGluIGRpcmVjdG9yeSBjb250cmliLyAuCiAKQEAgLTg0LDcgKzg0LDcgQEAKIAogQ29weXJpZ2h0IG5vdGljZToKIAotIChDKSAxOTk1LTIwMTIgSmVhbi1sb3VwIEdhaWxseSBhbmQgTWFyayBBZGxlcgorIChDKSAxOTk1LTIwMTMgSmVhbi1sb3VwIEdhaWxseSBhbmQgTWFyayBBZGxlcgogCiAgIFRoaXMgc29mdHdhcmUgaXMgcHJvdmlkZWQgJ2FzLWlzJywgd2l0aG91dCBhbnkgZXhwcmVzcyBvciBpbXBsaWVkCiAgIHdhcnJhbnR5LiAgSW4gbm8gZXZlbnQgd2lsbCB0aGUgYXV0aG9ycyBiZSBoZWxkIGxpYWJsZSBmb3IgYW55IGRhbWFnZXMKZGlmZiAtLWdpdCBhL2FzNDAwL2NvbXBpbGUuY2xwIGIvYXM0MDAvY29tcGlsZS5jbHAKaW5kZXggYzVlMzQxZC4uZjhhZjkzOCAxMDA2NDQKLS0tIGEvYXM0MDAvY29tcGlsZS5jbHAKKysrIGIvYXM0MDAvY29tcGlsZS5jbHAKQEAgLTEwNSw2ICsxMDUsNiBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJk1PRExJQi9UUkVFUyAgICAgICAmTU9ETElCL1VOQ09NUFIgICAgICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZNT0RMSUIvWlVUSUwpICAgICAgICAgICAgICAgICAgICAgICAgICArCiAgICAgICAgICAgICAgICAgICAgICAgICAgIFNSQ0ZJTEUoJlNSQ0xJQi8mQ1RMRklMRSkgU1JDTUJSKEJORFNSQykgICAgICAgKwotICAgICAgICAgICAgICAgICAgICAgICAgICBURVhUKCdaTElCIDEuMi43LjEnKSBUR1RSTFMoJlRHVFJMUykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgVEVYVCgnWkxJQiAxLjIuNy4yJykgVEdUUkxTKCZUR1RSTFMpCiAKICAgICAgICAgICAgICBFTkRQR00KZGlmZiAtLWdpdCBhL2FzNDAwL3JlYWRtZS50eHQgYi9hczQwMC9yZWFkbWUudHh0CmluZGV4IDhkZDg2N2EuLmNkY2Y4OGIgMTAwNjQ0Ci0tLSBhL2FzNDAwL3JlYWRtZS50eHQKKysrIGIvYXM0MDAvcmVhZG1lLnR4dApAQCAtMSw0ICsxLDQgQEAKLSAgICAgICAgWkxJQiB2ZXJzaW9uIDEuMi43LjEgZm9yIEFTNDAwIGluc3RhbGxhdGlvbiBpbnN0cnVjdGlvbnMKKyAgICAgICAgWkxJQiB2ZXJzaW9uIDEuMi43LjIgZm9yIEFTNDAwIGluc3RhbGxhdGlvbiBpbnN0cnVjdGlvbnMKIAogSSkgRnJvbSBhbiBBUzQwMCAqU0FWRiBmaWxlOgogCmRpZmYgLS1naXQgYS9hczQwMC96bGliLmluYyBiL2FzNDAwL3psaWIuaW5jCmluZGV4IDljOTRiZTguLmE1NTdhMDQgMTAwNjQ0Ci0tLSBhL2FzNDAwL3psaWIuaW5jCisrKyBiL2FzNDAwL3psaWIuaW5jCkBAIC0xLDcgKzEsNyBAQAogICAgICAgKiAgWkxJQi5JTkMgLSBJbnRlcmZhY2UgdG8gdGhlIGdlbmVyYWwgcHVycG9zZSBjb21wcmVzc2lvbiBsaWJyYXJ5CiAgICAgICAqCiAgICAgICAqICBJTEUgUlBHNDAwIHZlcnNpb24gYnkgUGF0cmljayBNb25uZXJhdCwgREFUQVNQSEVSRS4KLSAgICAgICogIFZlcnNpb24gMS4yLjcuMQorICAgICAgKiAgVmVyc2lvbiAxLjIuNy4yCiAgICAgICAqCiAgICAgICAqCiAgICAgICAqICBXQVJOSU5HOgpAQCAtMjIsMTQgKzIyLDE0IEBACiAgICAgICAqCiAgICAgICAqICBWZXJzaW9uaW5nIGluZm9ybWF0aW9uLgogICAgICAgKgotICAgICBEIFpMSUJfVkVSU0lPTiAgICBDICAgICAgICAgICAgICAgICAgICcxLjIuNy4xJwotICAgICBEIFpMSUJfVkVSTlVNICAgICBDICAgICAgICAgICAgICAgICAgIFgnMTI3MScKKyAgICAgRCBaTElCX1ZFUlNJT04gICAgQyAgICAgICAgICAgICAgICAgICAnMS4yLjcuMicKKyAgICAgRCBaTElCX1ZFUk5VTSAgICAgQyAgICAgICAgICAgICAgICAgICBYJzEyNzInCiAgICAgIEQgWkxJQl9WRVJfTUFKT1IgIEMgICAgICAgICAgICAgICAgICAgMQogICAgICBEIFpMSUJfVkVSX01JTk9SICBDICAgICAgICAgICAgICAgICAgIDIKICAgICAgRCBaTElCX1ZFUl9SRVZJU0lPTi4uLgogICAgICBEICAgICAgICAgICAgICAgICBDICAgICAgICAgICAgICAgICAgIDcKICAgICAgRCBaTElCX1ZFUl9TVUJSRVZJU0lPTi4uLgotICAgICBEICAgICAgICAgICAgICAgICBDICAgICAgICAgICAgICAgICAgIDEKKyAgICAgRCAgICAgICAgICAgICAgICAgQyAgICAgICAgICAgICAgICAgICAyCiAgICAgICAqCiAgICAgICAqICBPdGhlciBlcXVhdGVzLgogICAgICAgKgpkaWZmIC0tZ2l0IGEvY29udHJpYi9kZWxwaGkvWkxpYi5wYXMgYi9jb250cmliL2RlbHBoaS9aTGliLnBhcwppbmRleCBmZTkyODE5Li4wNWU0MjZmIDEwMDY0NAotLS0gYS9jb250cmliL2RlbHBoaS9aTGliLnBhcworKysgYi9jb250cmliL2RlbHBoaS9aTGliLnBhcwpAQCAtMTUyLDcgKzE1Miw3IEBACiAgIGNvbnN0IE91dEJ1ZjogUG9pbnRlcjsgQnVmU2l6ZTogSW50ZWdlcik7CiAKIGNvbnN0Ci0gIHpsaWJfdmVyc2lvbiA9ICcxLjIuNy4xJzsKKyAgemxpYl92ZXJzaW9uID0gJzEuMi43LjInOwogCiB0eXBlCiAgIEVabGliRXJyb3IgPSBjbGFzcyhFeGNlcHRpb24pOwpkaWZmIC0tZ2l0IGEvY29udHJpYi9kb3R6bGliL0RvdFpMaWIvVW5pdFRlc3RzLmNzIGIvY29udHJpYi9kb3R6bGliL0RvdFpMaWIvVW5pdFRlc3RzLmNzCmluZGV4IDNiN2RmOGYuLjUyNzczMjkgMTAwNjQ0Ci0tLSBhL2NvbnRyaWIvZG90emxpYi9Eb3RaTGliL1VuaXRUZXN0cy5jcworKysgYi9jb250cmliL2RvdHpsaWIvRG90WkxpYi9Vbml0VGVzdHMuY3MKQEAgLTEsNSArMSw1IEBACiAvLw0KLS8vIKkgQ29weXJpZ2h0IEhlbnJpayBSYXZuIDIwMDQNCisvLyDCqSBDb3B5cmlnaHQgSGVucmlrIFJhdm4gMjAwNA0KIC8vDQogLy8gVXNlLCBtb2RpZmljYXRpb24gYW5kIGRpc3RyaWJ1dGlvbiBhcmUgc3ViamVjdCB0byB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuDQogLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpDQpAQCAtMTU2LDcgKzE1Niw3IEBACiAgICAgICAgIHB1YmxpYyB2b2lkIEluZm9fVmVyc2lvbigpDQogICAgICAgICB7DQogICAgICAgICAgICAgSW5mbyBpbmZvID0gbmV3IEluZm8oKTsNCi0gICAgICAgICAgICBBc3NlcnQuQXJlRXF1YWwoIjEuMi43LjEiLCBJbmZvLlZlcnNpb24pOw0KKyAgICAgICAgICAgIEFzc2VydC5BcmVFcXVhbCgiMS4yLjcuMiIsIEluZm8uVmVyc2lvbik7DQogICAgICAgICAgICAgQXNzZXJ0LkFyZUVxdWFsKDMyLCBpbmZvLlNpemVPZlVJbnQpOw0KICAgICAgICAgICAgIEFzc2VydC5BcmVFcXVhbCgzMiwgaW5mby5TaXplT2ZVTG9uZyk7DQogICAgICAgICAgICAgQXNzZXJ0LkFyZUVxdWFsKDMyLCBpbmZvLlNpemVPZlBvaW50ZXIpOw0KZGlmZiAtLWdpdCBhL2NvbnRyaWIvaW5mYmFjazkvaW5mdHJlZTkuYyBiL2NvbnRyaWIvaW5mYmFjazkvaW5mdHJlZTkuYwppbmRleCAxNGRkZTQ5Li4yNDIyNDU2IDEwMDY0NAotLS0gYS9jb250cmliL2luZmJhY2s5L2luZnRyZWU5LmMKKysrIGIvY29udHJpYi9pbmZiYWNrOS9pbmZ0cmVlOS5jCkBAIC0xLDUgKzEsNSBAQAogLyogaW5mdHJlZTkuYyAtLSBnZW5lcmF0ZSBIdWZmbWFuIHRyZWVzIGZvciBlZmZpY2llbnQgZGVjb2RpbmcKLSAqIENvcHlyaWdodCAoQykgMTk5NS0yMDEyIE1hcmsgQWRsZXIKKyAqIENvcHlyaWdodCAoQykgMTk5NS0yMDEzIE1hcmsgQWRsZXIKICAqIEZvciBjb25kaXRpb25zIG9mIGRpc3RyaWJ1dGlvbiBhbmQgdXNlLCBzZWUgY29weXJpZ2h0IG5vdGljZSBpbiB6bGliLmgKICAqLwogCkBAIC05LDcgKzksNyBAQAogI2RlZmluZSBNQVhCSVRTIDE1CiAKIGNvbnN0IGNoYXIgaW5mbGF0ZTlfY29weXJpZ2h0W10gPQotICAgIiBpbmZsYXRlOSAxLjIuNy4xIENvcHlyaWdodCAxOTk1LTIwMTIgTWFyayBBZGxlciAiOworICAgIiBpbmZsYXRlOSAxLjIuNy4yIENvcHlyaWdodCAxOTk1LTIwMTMgTWFyayBBZGxlciAiOwogLyoKICAgSWYgeW91IHVzZSB0aGUgemxpYiBsaWJyYXJ5IGluIGEgcHJvZHVjdCwgYW4gYWNrbm93bGVkZ21lbnQgaXMgd2VsY29tZQogICBpbiB0aGUgZG9jdW1lbnRhdGlvbiBvZiB5b3VyIHByb2R1Y3QuIElmIGZvciBzb21lIHJlYXNvbiB5b3UgY2Fubm90CkBAIC02NCw3ICs2NCw3IEBACiAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIHNob3J0IGxleHRbMzFdID0geyAvKiBMZW5ndGggY29kZXMgMjU3Li4yODUgZXh0cmEgKi8KICAgICAgICAgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOSwgMTI5LCAxMjksIDEyOSwKICAgICAgICAgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMiwgMTMyLCAxMzIsIDEzMiwKLSAgICAgICAgMTMzLCAxMzMsIDEzMywgMTMzLCAxNDQsIDc5LCAyMDR9OworICAgICAgICAxMzMsIDEzMywgMTMzLCAxMzMsIDE0NCwgMTkzLCA3MH07CiAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIHNob3J0IGRiYXNlWzMyXSA9IHsgLyogRGlzdGFuY2UgY29kZXMgMC4uMzEgYmFzZSAqLwogICAgICAgICAxLCAyLCAzLCA0LCA1LCA3LCA5LCAxMywgMTcsIDI1LCAzMywgNDksCiAgICAgICAgIDY1LCA5NywgMTI5LCAxOTMsIDI1NywgMzg1LCA1MTMsIDc2OSwgMTAyNSwgMTUzNywgMjA0OSwgMzA3MywKZGlmZiAtLWdpdCBhL2NvbnRyaWIvbWluaXppcC9jb25maWd1cmUuYWMgYi9jb250cmliL21pbml6aXAvY29uZmlndXJlLmFjCmluZGV4IDIwMzZlNDEuLjI2ZmNlYTkgMTAwNjQ0Ci0tLSBhL2NvbnRyaWIvbWluaXppcC9jb25maWd1cmUuYWMKKysrIGIvY29udHJpYi9taW5pemlwL2NvbmZpZ3VyZS5hYwpAQCAtMSw3ICsxLDcgQEAKICMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0qLSBBdXRvY29uZiAtKi0KICMgUHJvY2VzcyB0aGlzIGZpbGUgd2l0aCBhdXRvY29uZiB0byBwcm9kdWNlIGEgY29uZmlndXJlIHNjcmlwdC4KIAotQUNfSU5JVChbbWluaXppcF0sIFsxLjIuNy4xXSwgW2J1Z3ppbGxhLnJlZGhhdC5jb21dKQorQUNfSU5JVChbbWluaXppcF0sIFsxLjIuNy4yXSwgW2J1Z3ppbGxhLnJlZGhhdC5jb21dKQogQUNfQ09ORklHX1NSQ0RJUihbbWluaXppcC5jXSkKIEFNX0lOSVRfQVVUT01BS0UoW2ZvcmVpZ25dKQogTFRfSU5JVApkaWZmIC0tZ2l0IGEvY29udHJpYi9wYXNjYWwvemxpYnBhcy5wYXMgYi9jb250cmliL3Bhc2NhbC96bGlicGFzLnBhcwppbmRleCAzOGQ0YjQzLi45N2EwMzFiIDEwMDY0NAotLS0gYS9jb250cmliL3Bhc2NhbC96bGlicGFzLnBhcworKysgYi9jb250cmliL3Bhc2NhbC96bGlicGFzLnBhcwpAQCAtMTAsOCArMTAsOCBAQAogaW50ZXJmYWNlCiAKIGNvbnN0Ci0gIFpMSUJfVkVSU0lPTiA9ICcxLjIuNy4xJzsKLSAgWkxJQl9WRVJOVU0gID0gJDEyNzE7CisgIFpMSUJfVkVSU0lPTiA9ICcxLjIuNy4yJzsKKyAgWkxJQl9WRVJOVU0gID0gJDEyNzI7CiAKIHR5cGUKICAgYWxsb2NfZnVuYyA9IGZ1bmN0aW9uKG9wYXF1ZTogUG9pbnRlcjsgaXRlbXMsIHNpemU6IEludGVnZXIpOiBQb2ludGVyOwpkaWZmIC0tZ2l0IGEvY29udHJpYi92c3R1ZGlvL3JlYWRtZS50eHQgYi9jb250cmliL3ZzdHVkaW8vcmVhZG1lLnR4dAppbmRleCBkN2Y1MmEwLi43OTllMzYwIDEwMDY0NAotLS0gYS9jb250cmliL3ZzdHVkaW8vcmVhZG1lLnR4dAorKysgYi9jb250cmliL3ZzdHVkaW8vcmVhZG1lLnR4dApAQCAtMSw0ICsxLDQgQEAKLUJ1aWxkaW5nIGluc3RydWN0aW9ucyBmb3IgdGhlIERMTCB2ZXJzaW9ucyBvZiBabGliIDEuMi43LjENCitCdWlsZGluZyBpbnN0cnVjdGlvbnMgZm9yIHRoZSBETEwgdmVyc2lvbnMgb2YgWmxpYiAxLjIuNy4yDQogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCiANCiBUaGlzIGRpcmVjdG9yeSBjb250YWlucyBwcm9qZWN0cyB0aGF0IGJ1aWxkIHpsaWIgYW5kIG1pbml6aXAgdXNpbmcNCmRpZmYgLS1naXQgYS9jb250cmliL3ZzdHVkaW8vdmMxMC96bGliLnJjIGIvY29udHJpYi92c3R1ZGlvL3ZjMTAvemxpYi5yYwppbmRleCAxNDNmMWQzLi5mZDQ5Y2Q2IDEwMDY0NAotLS0gYS9jb250cmliL3ZzdHVkaW8vdmMxMC96bGliLnJjCisrKyBiL2NvbnRyaWIvdnN0dWRpby92YzEwL3psaWIucmMKQEAgLTIsOCArMiw4IEBACiANCiAjZGVmaW5lIElEUl9WRVJTSU9OMSAgMQ0KIElEUl9WRVJTSU9OMQlWRVJTSU9OSU5GTwlNT1ZFQUJMRSBJTVBVUkUgTE9BRE9OQ0FMTCBESVNDQVJEQUJMRQ0KLSAgRklMRVZFUlNJT04JIDEuMi43LjEsMQ0KLSAgUFJPRFVDVFZFUlNJT04gMS4yLjcuMSwxDQorICBGSUxFVkVSU0lPTgkgMS4yLjcuMiwxDQorICBQUk9EVUNUVkVSU0lPTiAxLjIuNy4yLDENCiAgIEZJTEVGTEFHU01BU0sJVlNfRkZJX0ZJTEVGTEFHU01BU0sNCiAgIEZJTEVGTEFHUwkwDQogICBGSUxFT1MJVk9TX0RPU19XSU5ET1dTMzINCkBAIC0xNywxMiArMTcsMTIgQEAKIA0KICAgICBCRUdJTg0KICAgICAgIFZBTFVFICJGaWxlRGVzY3JpcHRpb24iLCAiemxpYiBkYXRhIGNvbXByZXNzaW9uIGFuZCBaSVAgZmlsZSBJL08gbGlicmFyeVwwIg0KLSAgICAgIFZBTFVFICJGaWxlVmVyc2lvbiIsCSIxLjIuNy4xXDAiDQorICAgICAgVkFMVUUgIkZpbGVWZXJzaW9uIiwJIjEuMi43LjJcMCINCiAgICAgICBWQUxVRSAiSW50ZXJuYWxOYW1lIiwJInpsaWJcMCINCiAgICAgICBWQUxVRSAiT3JpZ2luYWxGaWxlbmFtZSIsCSJ6bGliLmRsbFwwIg0KICAgICAgIFZBTFVFICJQcm9kdWN0TmFtZSIsCSJaTGliLkRMTFwwIg0KICAgICAgIFZBTFVFICJDb21tZW50cyIsIkRMTCBzdXBwb3J0IGJ5IEFsZXNzYW5kcm8gSWFjb3BldHRpICYgR2lsbGVzIFZvbGxhbnRcMCINCi0gICAgICBWQUxVRSAiTGVnYWxDb3B5cmlnaHQiLCAiKEMpIDE5OTUtMjAxMiBKZWFuLWxvdXAgR2FpbGx5ICYgTWFyayBBZGxlclwwIg0KKyAgICAgIFZBTFVFICJMZWdhbENvcHlyaWdodCIsICIoQykgMTk5NS0yMDEzIEplYW4tbG91cCBHYWlsbHkgJiBNYXJrIEFkbGVyXDAiDQogICAgIEVORA0KICAgRU5EDQogICBCTE9DSyAiVmFyRmlsZUluZm8iDQpkaWZmIC0tZ2l0IGEvY29udHJpYi92c3R1ZGlvL3ZjMTAvemxpYnZjLmRlZiBiL2NvbnRyaWIvdnN0dWRpby92YzEwL3psaWJ2Yy5kZWYKaW5kZXggYTM4MmFlYy4uNDJiNWFhNCAxMDA2NDQKLS0tIGEvY29udHJpYi92c3R1ZGlvL3ZjMTAvemxpYnZjLmRlZgorKysgYi9jb250cmliL3ZzdHVkaW8vdmMxMC96bGlidmMuZGVmCkBAIC0xLDcgKzEsNyBAQAogTElCUkFSWQ0KIDsgemxpYiBkYXRhIGNvbXByZXNzaW9uIGFuZCBaSVAgZmlsZSBJL08gbGlicmFyeQ0KIA0KLVZFUlNJT04JCTEuMi43LjENCitWRVJTSU9OCQkxLjIuNy4yDQogDQogRVhQT1JUUw0KICAgICAgICAgYWRsZXIzMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAMQ0KZGlmZiAtLWdpdCBhL2NvbnRyaWIvdnN0dWRpby92YzkvemxpYi5yYyBiL2NvbnRyaWIvdnN0dWRpby92YzkvemxpYi5yYwppbmRleCAxNDNmMWQzLi5mZDQ5Y2Q2IDEwMDY0NAotLS0gYS9jb250cmliL3ZzdHVkaW8vdmM5L3psaWIucmMKKysrIGIvY29udHJpYi92c3R1ZGlvL3ZjOS96bGliLnJjCkBAIC0yLDggKzIsOCBAQAogDQogI2RlZmluZSBJRFJfVkVSU0lPTjEgIDENCiBJRFJfVkVSU0lPTjEJVkVSU0lPTklORk8JTU9WRUFCTEUgSU1QVVJFIExPQURPTkNBTEwgRElTQ0FSREFCTEUNCi0gIEZJTEVWRVJTSU9OCSAxLjIuNy4xLDENCi0gIFBST0RVQ1RWRVJTSU9OIDEuMi43LjEsMQ0KKyAgRklMRVZFUlNJT04JIDEuMi43LjIsMQ0KKyAgUFJPRFVDVFZFUlNJT04gMS4yLjcuMiwxDQogICBGSUxFRkxBR1NNQVNLCVZTX0ZGSV9GSUxFRkxBR1NNQVNLDQogICBGSUxFRkxBR1MJMA0KICAgRklMRU9TCVZPU19ET1NfV0lORE9XUzMyDQpAQCAtMTcsMTIgKzE3LDEyIEBACiANCiAgICAgQkVHSU4NCiAgICAgICBWQUxVRSAiRmlsZURlc2NyaXB0aW9uIiwgInpsaWIgZGF0YSBjb21wcmVzc2lvbiBhbmQgWklQIGZpbGUgSS9PIGxpYnJhcnlcMCINCi0gICAgICBWQUxVRSAiRmlsZVZlcnNpb24iLAkiMS4yLjcuMVwwIg0KKyAgICAgIFZBTFVFICJGaWxlVmVyc2lvbiIsCSIxLjIuNy4yXDAiDQogICAgICAgVkFMVUUgIkludGVybmFsTmFtZSIsCSJ6bGliXDAiDQogICAgICAgVkFMVUUgIk9yaWdpbmFsRmlsZW5hbWUiLAkiemxpYi5kbGxcMCINCiAgICAgICBWQUxVRSAiUHJvZHVjdE5hbWUiLAkiWkxpYi5ETExcMCINCiAgICAgICBWQUxVRSAiQ29tbWVudHMiLCJETEwgc3VwcG9ydCBieSBBbGVzc2FuZHJvIElhY29wZXR0aSAmIEdpbGxlcyBWb2xsYW50XDAiDQotICAgICAgVkFMVUUgIkxlZ2FsQ29weXJpZ2h0IiwgIihDKSAxOTk1LTIwMTIgSmVhbi1sb3VwIEdhaWxseSAmIE1hcmsgQWRsZXJcMCINCisgICAgICBWQUxVRSAiTGVnYWxDb3B5cmlnaHQiLCAiKEMpIDE5OTUtMjAxMyBKZWFuLWxvdXAgR2FpbGx5ICYgTWFyayBBZGxlclwwIg0KICAgICBFTkQNCiAgIEVORA0KICAgQkxPQ0sgIlZhckZpbGVJbmZvIg0KZGlmZiAtLWdpdCBhL2NvbnRyaWIvdnN0dWRpby92YzkvemxpYnZjLmRlZiBiL2NvbnRyaWIvdnN0dWRpby92YzkvemxpYnZjLmRlZgppbmRleCA5ZGM2YWFkLi41MDBlM2YyIDEwMDY0NAotLS0gYS9jb250cmliL3ZzdHVkaW8vdmM5L3psaWJ2Yy5kZWYKKysrIGIvY29udHJpYi92c3R1ZGlvL3ZjOS96bGlidmMuZGVmCkBAIC0xLDcgKzEsNyBAQAogTElCUkFSWQ0KIDsgemxpYiBkYXRhIGNvbXByZXNzaW9uIGFuZCBaSVAgZmlsZSBJL08gbGlicmFyeQ0KIA0KLVZFUlNJT04JCTEuMi43LjENCitWRVJTSU9OCQkxLjIuNy4yDQogDQogRVhQT1JUUw0KICAgICAgICAgYWRsZXIzMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAMQ0KZGlmZiAtLWdpdCBhL2RlZmxhdGUuYyBiL2RlZmxhdGUuYwppbmRleCA2NWQ5MTAxLi40YTEwMDRiIDEwMDY0NAotLS0gYS9kZWZsYXRlLmMKKysrIGIvZGVmbGF0ZS5jCkBAIC01Miw3ICs1Miw3IEBACiAjaW5jbHVkZSAiZGVmbGF0ZS5oIgogCiBjb25zdCBjaGFyIGRlZmxhdGVfY29weXJpZ2h0W10gPQotICAgIiBkZWZsYXRlIDEuMi43LjEgQ29weXJpZ2h0IDE5OTUtMjAxMyBKZWFuLWxvdXAgR2FpbGx5IGFuZCBNYXJrIEFkbGVyICI7CisgICAiIGRlZmxhdGUgMS4yLjcuMiBDb3B5cmlnaHQgMTk5NS0yMDEzIEplYW4tbG91cCBHYWlsbHkgYW5kIE1hcmsgQWRsZXIgIjsKIC8qCiAgIElmIHlvdSB1c2UgdGhlIHpsaWIgbGlicmFyeSBpbiBhIHByb2R1Y3QsIGFuIGFja25vd2xlZGdtZW50IGlzIHdlbGNvbWUKICAgaW4gdGhlIGRvY3VtZW50YXRpb24gb2YgeW91ciBwcm9kdWN0LiBJZiBmb3Igc29tZSByZWFzb24geW91IGNhbm5vdApkaWZmIC0tZ2l0IGEvaW5mdHJlZXMuYyBiL2luZnRyZWVzLmMKaW5kZXggOWVkNTZjNy4uMzEwYTgyZiAxMDA2NDQKLS0tIGEvaW5mdHJlZXMuYworKysgYi9pbmZ0cmVlcy5jCkBAIC05LDcgKzksNyBAQAogI2RlZmluZSBNQVhCSVRTIDE1CiAKIGNvbnN0IGNoYXIgaW5mbGF0ZV9jb3B5cmlnaHRbXSA9Ci0gICAiIGluZmxhdGUgMS4yLjcuMSBDb3B5cmlnaHQgMTk5NS0yMDEzIE1hcmsgQWRsZXIgIjsKKyAgICIgaW5mbGF0ZSAxLjIuNy4yIENvcHlyaWdodCAxOTk1LTIwMTMgTWFyayBBZGxlciAiOwogLyoKICAgSWYgeW91IHVzZSB0aGUgemxpYiBsaWJyYXJ5IGluIGEgcHJvZHVjdCwgYW4gYWNrbm93bGVkZ21lbnQgaXMgd2VsY29tZQogICBpbiB0aGUgZG9jdW1lbnRhdGlvbiBvZiB5b3VyIHByb2R1Y3QuIElmIGZvciBzb21lIHJlYXNvbiB5b3UgY2Fubm90CkBAIC02Miw3ICs2Miw3IEBACiAgICAgICAgIDM1LCA0MywgNTEsIDU5LCA2NywgODMsIDk5LCAxMTUsIDEzMSwgMTYzLCAxOTUsIDIyNywgMjU4LCAwLCAwfTsKICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgc2hvcnQgbGV4dFszMV0gPSB7IC8qIExlbmd0aCBjb2RlcyAyNTcuLjI4NSBleHRyYSAqLwogICAgICAgICAxNiwgMTYsIDE2LCAxNiwgMTYsIDE2LCAxNiwgMTYsIDE3LCAxNywgMTcsIDE3LCAxOCwgMTgsIDE4LCAxOCwKLSAgICAgICAgMTksIDE5LCAxOSwgMTksIDIwLCAyMCwgMjAsIDIwLCAyMSwgMjEsIDIxLCAyMSwgMTYsIDc5LCAyMDR9OworICAgICAgICAxOSwgMTksIDE5LCAxOSwgMjAsIDIwLCAyMCwgMjAsIDIxLCAyMSwgMjEsIDIxLCAxNiwgMTkzLCA3MH07CiAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIHNob3J0IGRiYXNlWzMyXSA9IHsgLyogRGlzdGFuY2UgY29kZXMgMC4uMjkgYmFzZSAqLwogICAgICAgICAxLCAyLCAzLCA0LCA1LCA3LCA5LCAxMywgMTcsIDI1LCAzMywgNDksIDY1LCA5NywgMTI5LCAxOTMsCiAgICAgICAgIDI1NywgMzg1LCA1MTMsIDc2OSwgMTAyNSwgMTUzNywgMjA0OSwgMzA3MywgNDA5NywgNjE0NSwKZGlmZiAtLWdpdCBhL3FueC9wYWNrYWdlLnFwZyBiL3FueC9wYWNrYWdlLnFwZwppbmRleCA4YjFkNzc3Li42N2FiYzE5IDEwMDY0NAotLS0gYS9xbngvcGFja2FnZS5xcGcKKysrIGIvcW54L3BhY2thZ2UucXBnCkBAIC0yNSwxMCArMjUsMTAgQEAKICAgICAgIDxRUEc6RmlsZXM+CiAgICAgICAgICA8UVBHOkFkZCBmaWxlPSIuLi96Y29uZi5oIiBpbnN0YWxsPSIvb3B0L2luY2x1ZGUvIiB1c2VyPSJyb290OnN5cyIgcGVybWlzc2lvbj0iNjQ0Ii8+CiAgICAgICAgICA8UVBHOkFkZCBmaWxlPSIuLi96bGliLmgiIGluc3RhbGw9Ii9vcHQvaW5jbHVkZS8iIHVzZXI9InJvb3Q6c3lzIiBwZXJtaXNzaW9uPSI2NDQiLz4KLSAgICAgICAgIDxRUEc6QWRkIGZpbGU9Ii4uL2xpYnouc28uMS4yLjcuMSIgaW5zdGFsbD0iL29wdC9saWIvIiB1c2VyPSJyb290OmJpbiIgcGVybWlzc2lvbj0iNjQ0Ii8+Ci0gICAgICAgICA8UVBHOkFkZCBmaWxlPSJsaWJ6LnNvIiBpbnN0YWxsPSIvb3B0L2xpYi8iIGNvbXBvbmVudD0iZGV2IiBmaWxldHlwZT0ic3ltbGluayIgbGlua3RvPSJsaWJ6LnNvLjEuMi43LjEiLz4KLSAgICAgICAgIDxRUEc6QWRkIGZpbGU9ImxpYnouc28uMSIgaW5zdGFsbD0iL29wdC9saWIvIiBmaWxldHlwZT0ic3ltbGluayIgbGlua3RvPSJsaWJ6LnNvLjEuMi43LjEiLz4KLSAgICAgICAgIDxRUEc6QWRkIGZpbGU9Ii4uL2xpYnouc28uMS4yLjcuMSIgaW5zdGFsbD0iL29wdC9saWIvIiBjb21wb25lbnQ9InNsaWIiLz4KKyAgICAgICAgIDxRUEc6QWRkIGZpbGU9Ii4uL2xpYnouc28uMS4yLjcuMiIgaW5zdGFsbD0iL29wdC9saWIvIiB1c2VyPSJyb290OmJpbiIgcGVybWlzc2lvbj0iNjQ0Ii8+CisgICAgICAgICA8UVBHOkFkZCBmaWxlPSJsaWJ6LnNvIiBpbnN0YWxsPSIvb3B0L2xpYi8iIGNvbXBvbmVudD0iZGV2IiBmaWxldHlwZT0ic3ltbGluayIgbGlua3RvPSJsaWJ6LnNvLjEuMi43LjIiLz4KKyAgICAgICAgIDxRUEc6QWRkIGZpbGU9ImxpYnouc28uMSIgaW5zdGFsbD0iL29wdC9saWIvIiBmaWxldHlwZT0ic3ltbGluayIgbGlua3RvPSJsaWJ6LnNvLjEuMi43LjIiLz4KKyAgICAgICAgIDxRUEc6QWRkIGZpbGU9Ii4uL2xpYnouc28uMS4yLjcuMiIgaW5zdGFsbD0iL29wdC9saWIvIiBjb21wb25lbnQ9InNsaWIiLz4KICAgICAgIDwvUVBHOkZpbGVzPgogCiAgICAgICA8UVBHOlBhY2thZ2VGaWx0ZXI+CkBAIC02Myw3ICs2Myw3IEBACiAgICAgICAgICAgICA8L1FQTTpQcm9kdWN0RGVzY3JpcHRpb24+CiAKICAgICAgICAgICAgIDxRUE06UmVsZWFzZURlc2NyaXB0aW9uPgotICAgICAgICAgICAgICAgPFFQTTpSZWxlYXNlVmVyc2lvbj4xLjIuNy4xPC9RUE06UmVsZWFzZVZlcnNpb24+CisgICAgICAgICAgICAgICA8UVBNOlJlbGVhc2VWZXJzaW9uPjEuMi43LjI8L1FQTTpSZWxlYXNlVmVyc2lvbj4KICAgICAgICAgICAgICAgIDxRUE06UmVsZWFzZVVyZ2VuY3k+TWVkaXVtPC9RUE06UmVsZWFzZVVyZ2VuY3k+CiAgICAgICAgICAgICAgICA8UVBNOlJlbGVhc2VTdGFiaWxpdHk+U3RhYmxlPC9RUE06UmVsZWFzZVN0YWJpbGl0eT4KICAgICAgICAgICAgICAgIDxRUE06UmVsZWFzZU5vdGVNaW5vcj48L1FQTTpSZWxlYXNlTm90ZU1pbm9yPgpkaWZmIC0tZ2l0IGEvdHJlZWJ1aWxkLnhtbCBiL3RyZWVidWlsZC54bWwKaW5kZXggNGI4YTNkYS4uMWViZTc2YyAxMDA2NDQKLS0tIGEvdHJlZWJ1aWxkLnhtbAorKysgYi90cmVlYnVpbGQueG1sCkBAIC0xLDYgKzEsNiBAQAogPD94bWwgdmVyc2lvbj0iMS4wIiA/PgotPHBhY2thZ2UgbmFtZT0iemxpYiIgdmVyc2lvbj0iMS4yLjcuMSI+Ci0gICAgPGxpYnJhcnkgbmFtZT0iemxpYiIgZGx2ZXJzaW9uPSIxLjIuNy4xIiBkbG5hbWU9InoiPgorPHBhY2thZ2UgbmFtZT0iemxpYiIgdmVyc2lvbj0iMS4yLjcuMiI+CisgICAgPGxpYnJhcnkgbmFtZT0iemxpYiIgZGx2ZXJzaW9uPSIxLjIuNy4yIiBkbG5hbWU9InoiPgogCTxwcm9wZXJ0eSBuYW1lPSJkZXNjcmlwdGlvbiI+IHppcCBjb21wcmVzc2lvbiBsaWJyYXJ5IDwvcHJvcGVydHk+CiAJPHByb3BlcnR5IG5hbWU9ImluY2x1ZGUtdGFyZ2V0LWRpciIgdmFsdWU9IiQoQFBBQ0tBR0UvaW5zdGFsbC1pbmNsdWRlZGlyKSIgLz4KIApkaWZmIC0tZ2l0IGEvd2luMzIvUkVBRE1FLVdJTjMyLnR4dCBiL3dpbjMyL1JFQURNRS1XSU4zMi50eHQKaW5kZXggMjUwZGRiMy4uNjZmOTk4ZCAxMDA2NDQKLS0tIGEvd2luMzIvUkVBRE1FLVdJTjMyLnR4dAorKysgYi93aW4zMi9SRUFETUUtV0lOMzIudHh0CkBAIC0xLDYgKzEsNiBAQAogWkxJQiBEQVRBIENPTVBSRVNTSU9OIExJQlJBUlkKIAotemxpYiAxLjIuNy4xIGlzIGEgZ2VuZXJhbCBwdXJwb3NlIGRhdGEgY29tcHJlc3Npb24gbGlicmFyeS4gIEFsbCB0aGUgY29kZSBpcworemxpYiAxLjIuNy4yIGlzIGEgZ2VuZXJhbCBwdXJwb3NlIGRhdGEgY29tcHJlc3Npb24gbGlicmFyeS4gIEFsbCB0aGUgY29kZSBpcwogdGhyZWFkIHNhZmUuICBUaGUgZGF0YSBmb3JtYXQgdXNlZCBieSB0aGUgemxpYiBsaWJyYXJ5IGlzIGRlc2NyaWJlZCBieSBSRkNzCiAoUmVxdWVzdCBmb3IgQ29tbWVudHMpIDE5NTAgdG8gMTk1MiBpbiB0aGUgZmlsZXMKIGh0dHA6Ly93d3cuaWV0Zi5vcmcvcmZjL3JmYzE5NTAudHh0ICh6bGliIGZvcm1hdCksIHJmYzE5NTEudHh0IChkZWZsYXRlIGZvcm1hdCkKQEAgLTIyLDcgKzIyLDcgQEAKIAogTWFuaWZlc3Q6CiAKLVRoZSBwYWNrYWdlIHpsaWItMS4yLjcuMS13aW4zMi14ODYuemlwIHdpbGwgY29udGFpbiB0aGUgZm9sbG93aW5nIGZpbGVzOgorVGhlIHBhY2thZ2UgemxpYi0xLjIuNy4yLXdpbjMyLXg4Ni56aXAgd2lsbCBjb250YWluIHRoZSBmb2xsb3dpbmcgZmlsZXM6CiAKICAgUkVBRE1FLVdJTjMyLnR4dCBUaGlzIGRvY3VtZW50CiAgIENoYW5nZUxvZyAgICAgICAgQ2hhbmdlcyBzaW5jZSBwcmV2aW91cyB6bGliIHBhY2thZ2VzCmRpZmYgLS1naXQgYS96bGliLjMgYi96bGliLjMKaW5kZXggMGRmMzNkZS4uYzM5Y2NiMSAxMDA2NDQKLS0tIGEvemxpYi4zCisrKyBiL3psaWIuMwpAQCAtMSw0ICsxLDQgQEAKLS5USCBaTElCIDMgIjI0IE1hciAyMDEyIgorLlRIIFpMSUIgMyAieHggQXByIDIwMTMiCiAuU0ggTkFNRQogemxpYiBcLSBjb21wcmVzc2lvbi9kZWNvbXByZXNzaW9uIGxpYnJhcnkKIC5TSCBTWU5PUFNJUwpAQCAtMTI1LDcgKzEyNSw3IEBACiBTZW5kIHF1ZXN0aW9ucyBhbmQvb3IgY29tbWVudHMgdG8gemxpYkBnemlwLm9yZywKIG9yIChmb3IgdGhlIFdpbmRvd3MgRExMIHZlcnNpb24pIHRvIEdpbGxlcyBWb2xsYW50IChpbmZvQHdpbmltYWdlLmNvbSkuCiAuU0ggQVVUSE9SUwotVmVyc2lvbiAxLjIuNy4xCitWZXJzaW9uIDEuMi43LjIKIENvcHlyaWdodCAoQykgMTk5NS0yMDEzIEplYW4tbG91cCBHYWlsbHkgKGpsb3VwQGd6aXAub3JnKQogYW5kIE1hcmsgQWRsZXIgKG1hZGxlckBhbHVtbmkuY2FsdGVjaC5lZHUpLgogLkxQCmRpZmYgLS1naXQgYS96bGliLjMucGRmIGIvemxpYi4zLnBkZgppbmRleCAzZmM4NWI2Li41ZjAzYTBlIDEwMDY0NAotLS0gYS96bGliLjMucGRmCisrKyBiL3psaWIuMy5wZGYKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvemxpYi5oIGIvemxpYi5oCmluZGV4IGNjNTM2M2QuLjI1ZTE0YTIgMTAwNjQ0Ci0tLSBhL3psaWIuaAorKysgYi96bGliLmgKQEAgLTEsNSArMSw1IEBACiAvKiB6bGliLmggLS0gaW50ZXJmYWNlIG9mIHRoZSAnemxpYicgZ2VuZXJhbCBwdXJwb3NlIGNvbXByZXNzaW9uIGxpYnJhcnkKLSAgdmVyc2lvbiAxLjIuNy4xLCBNYXJjaCAyNHRoLCAyMDEzCisgIHZlcnNpb24gMS4yLjcuMiwgQXByaWwgeHh0aCwgMjAxMwogCiAgIENvcHlyaWdodCAoQykgMTk5NS0yMDEzIEplYW4tbG91cCBHYWlsbHkgYW5kIE1hcmsgQWRsZXIKIApAQCAtMzcsMTIgKzM3LDEyIEBACiBleHRlcm4gIkMiIHsKICNlbmRpZgogCi0jZGVmaW5lIFpMSUJfVkVSU0lPTiAiMS4yLjcuMSIKLSNkZWZpbmUgWkxJQl9WRVJOVU0gMHgxMjcxCisjZGVmaW5lIFpMSUJfVkVSU0lPTiAiMS4yLjcuMi1tb3RsZXkiCisjZGVmaW5lIFpMSUJfVkVSTlVNIDB4MTI3MgogI2RlZmluZSBaTElCX1ZFUl9NQUpPUiAxCiAjZGVmaW5lIFpMSUJfVkVSX01JTk9SIDIKICNkZWZpbmUgWkxJQl9WRVJfUkVWSVNJT04gNwotI2RlZmluZSBaTElCX1ZFUl9TVUJSRVZJU0lPTiAxCisjZGVmaW5lIFpMSUJfVkVSX1NVQlJFVklTSU9OIDIKIAogLyoKICAgICBUaGUgJ3psaWInIGNvbXByZXNzaW9uIGxpYnJhcnkgcHJvdmlkZXMgaW4tbWVtb3J5IGNvbXByZXNzaW9uIGFuZAo=