ZGlmZiAtLWdpdCBhL2RlZmF1bHQucHJvcGVydGllcyBiL2RlZmF1bHQucHJvcGVydGllcwppbmRleCA2ODI3ODY5Li41ZDVkYzBlIDEwMDY0NAotLS0gYS9kZWZhdWx0LnByb3BlcnRpZXMKKysrIGIvZGVmYXVsdC5wcm9wZXJ0aWVzCkBAIC00Miw3ICs0Miw3IEBACiBjb21wb25lbnQudGl0bGUgPSBDb3JlIExhbmd1YWdlIFV0aWxpdGllcwogCiAjIFRoZSBjdXJyZW50IHZlcnNpb24gbnVtYmVyIG9mIHRoaXMgY29tcG9uZW50Ci1jb21wb25lbnQudmVyc2lvbiA9IDMuMi4xLVNOQVBTSE9UCitjb21wb25lbnQudmVyc2lvbiA9IDMuMi4xCiAKICMgVGhlIG5hbWUgdGhhdCBpcyB1c2VkIHRvIGNyZWF0ZSB0aGUgamFyIGZpbGUKIGZpbmFsLm5hbWUgPSAke2NvbXBvbmVudC5uYW1lfS0ke2NvbXBvbmVudC52ZXJzaW9ufQpkaWZmIC0tZ2l0IGEvcG9tLnhtbCBiL3BvbS54bWwKaW5kZXggYWU3ZDk2My4uYzVlMzhhYyAxMDA2NDQKLS0tIGEvcG9tLnhtbAorKysgYi9wb20ueG1sCkBAIC0yNyw3ICsyNyw3IEBACiAgIDxtb2RlbFZlcnNpb24+NC4wLjA8L21vZGVsVmVyc2lvbj4KICAgPGdyb3VwSWQ+b3JnLmFwYWNoZS5jb21tb25zPC9ncm91cElkPgogICA8YXJ0aWZhY3RJZD5jb21tb25zLWxhbmczPC9hcnRpZmFjdElkPgotICA8dmVyc2lvbj4zLjIuMS1TTkFQU0hPVDwvdmVyc2lvbj4KKyAgPHZlcnNpb24+My4yLjE8L3ZlcnNpb24+CiAgIDxuYW1lPkFwYWNoZSBDb21tb25zIExhbmc8L25hbWU+CiAKICAgPGluY2VwdGlvblllYXI+MjAwMTwvaW5jZXB0aW9uWWVhcj4KZGlmZiAtLWdpdCBhL3NyYy9jaGFuZ2VzL2NoYW5nZXMueG1sIGIvc3JjL2NoYW5nZXMvY2hhbmdlcy54bWwKaW5kZXggZDY2MzI3Zi4uYWVhZjVlMyAxMDA2NDQKLS0tIGEvc3JjL2NoYW5nZXMvY2hhbmdlcy54bWwKKysrIGIvc3JjL2NoYW5nZXMvY2hhbmdlcy54bWwKQEAgLTIxLDcgKzIxLDcgQEAKICAgPC9wcm9wZXJ0aWVzPgogICA8Ym9keT4KIAotICA8cmVsZWFzZSB2ZXJzaW9uPSIzLjIuMSIgZGF0ZT0iVEJBIiBkZXNjcmlwdGlvbj0iQnVnIGZpeCBmb3IgMy4yIj4KKyAgPHJlbGVhc2UgdmVyc2lvbj0iMy4yLjEiIGRhdGU9IjIwMTQtMDEtMDUiIGRlc2NyaXB0aW9uPSJCdWcgZml4IGZvciAzLjIiPgogICAgIDxhY3Rpb24gaXNzdWU9IkxBTkctOTM3IiB0eXBlPSJmaXgiIGRldj0iYnJpdHRlciI+Rml4IG1pc3NpbmcgSGFtY3Jlc3QgZGVwZW5kZW5jeSBpbiBBbnQgQnVpbGQ8L2FjdGlvbj4KICAgICA8YWN0aW9uIGlzc3VlPSJMQU5HLTk0MSIgdHlwZT0iZml4IiBkZXY9ImJyaXR0ZXIiPlRlc3QgZmFpbHVyZSBpbiBMb2NhbGVVdGlsc1Rlc3Qgd2hlbiBidWlsZGluZyB3aXRoIEpESyA4PC9hY3Rpb24+CiAgICAgPGFjdGlvbiBpc3N1ZT0iTEFORy05NDIiIHR5cGU9ImZpeCIgZGV2PSJicml0dGVyIiBkdWUtdG89IkJydW5vIFAuIEtpbm9zaGl0YSwgSGVucmkgWWFuZGVsbCI+VGVzdCBmYWlsdXJlIGluIEZhc3REYXRlUGFyc2VyVGVzdCBhbmQgRmFzdERhdGVGb3JtYXRfUGFyc2VyVGVzdCB3aGVuIGJ1aWxkaW5nIHdpdGggSkRLODwvYWN0aW9uPgpkaWZmIC0tZ2l0IGEvc3JjL3NpdGUvcmVzb3VyY2VzL3JlbGVhc2Utbm90ZXMvUkVMRUFTRS1OT1RFUy0zLjIuMS50eHQgYi9zcmMvc2l0ZS9yZXNvdXJjZXMvcmVsZWFzZS1ub3Rlcy9SRUxFQVNFLU5PVEVTLTMuMi4xLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZTM1NDA4Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjL3NpdGUvcmVzb3VyY2VzL3JlbGVhc2Utbm90ZXMvUkVMRUFTRS1OT1RFUy0zLjIuMS50eHQKQEAgLTAsMCArMSw0MTggQEAKKyRJZDogUkVMRUFTRS1OT1RFUy50eHQgMTU1NTUyNCAyMDE0LTAxLTA1IDE1OjI0OjQ5WiBicml0dGVyICQKKworICAgTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlCisgICBjb250cmlidXRvciBsaWNlbnNlIGFncmVlbWVudHMuICBTZWUgdGhlIE5PVElDRSBmaWxlIGRpc3RyaWJ1dGVkIHdpdGgKKyAgIHRoaXMgd29yayBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiByZWdhcmRpbmcgY29weXJpZ2h0IG93bmVyc2hpcC4KKyAgIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wCisgICAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aAorICAgdGhlIExpY2Vuc2UuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKworICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorCisgICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKworCisgICAgICAgICAgICAgICAgICAgICAgICAgICBBcGFjaGUgQ29tbW9ucyBMYW5nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmVyc2lvbiAzLjIuMQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVsZWFzZSBOb3RlcworCisKK0lOVFJPRFVDVElPTjoKKworVGhpcyBkb2N1bWVudCBjb250YWlucyB0aGUgcmVsZWFzZSBub3RlcyBmb3IgdGhlIDMuMi4xIHZlcnNpb24gb2YgCitBcGFjaGUgQ29tbW9ucyBMYW5nLiBDb21tb25zIExhbmcgaXMgYSBzZXQgb2YgdXRpbGl0eSBmdW5jdGlvbnMgYW5kIHJldXNhYmxlIAorY29tcG9uZW50cyB0aGF0IHNob3VsZCBiZSBvZiB1c2UgaW4gYW55IEphdmEgZW52aXJvbm1lbnQuIENvbW1vbnMgTGFuZyAzLjIuMQorYXQgbGVhc3QgcmVxdWlyZXMgSmF2YSA2LjAuCisKK0ZvciB0aGUgYWR2aWNlIG9uIHVwZ3JhZGluZyBmcm9tIDIueCB0byAzLngsIHNlZSB0aGUgZm9sbG93aW5nIHBhZ2U6IAorCisgICAgaHR0cDovL2NvbW1vbnMuYXBhY2hlLm9yZy9sYW5nL2FydGljbGUzXzAuaHRtbAorCitCVUcgRklYRVMKKz09PT09PT09PT09CisKK28gTEFORy05Mzc6ICBGaXggbWlzc2luZyBIYW1jcmVzdCBkZXBlbmRlbmN5IGluIEFudCBCdWlsZAorbyBMQU5HLTk0MTogIFRlc3QgZmFpbHVyZSBpbiBMb2NhbGVVdGlsc1Rlc3Qgd2hlbiBidWlsZGluZyB3aXRoIEpESyA4CitvIExBTkctOTQyOiAgVGVzdCBmYWlsdXJlIGluIEZhc3REYXRlUGFyc2VyVGVzdCBhbmQgRmFzdERhdGVGb3JtYXRfUGFyc2VyVGVzdAorICAgICAgICAgICAgIHdoZW4gYnVpbGRpbmcgd2l0aCBKREs4LiBUaGFua3MgdG8gQnJ1bm8gUC4gS2lub3NoaXRhLAorICAgICAgICAgICAgIEhlbnJpIFlhbmRlbGwuCitvIExBTkctOTM4OiAgQnVpbGQgZmFpbHMgd2l0aCB0ZXN0IGZhaWx1cmVzIHdoZW4gYnVpbGRpbmcgd2l0aCBKREsgOCAKKworICAgICAgICAgICAgICAgICAgICAgICAgUmVsZWFzZSBOb3RlcyBmb3IgdmVyc2lvbiAzLjIKKworQ09NUEFUSUJJTElUWSBXSVRIIDMuMQorPT09PT09PT09PT09PT09PT09PT09PT09CisKK1RoaXMgcmVsZWFzZSBpbnRyb2R1Y2VzIGJhY2t3YXJkcyBpbmNvbXBhdGlibGUgY2hhbmdlcyBpbiAKK29yZy5hcGFjaGUuY29tbW9ucy5sYW5nMy50aW1lLkZhc3REYXRlRm9ybWF0OgorbyBNZXRob2QgJ3Byb3RlY3RlZCBqYXZhLnV0aWwuTGlzdCBwYXJzZVBhdHRlcm4oKScgaGFzIGJlZW4gcmVtb3ZlZAorbyBNZXRob2QgJ3Byb3RlY3RlZCBqYXZhLmxhbmcuU3RyaW5nIHBhcnNlVG9rZW4oamF2YS5sYW5nLlN0cmluZywgaW50W10pJyBoYXMKKyAgYmVlbiByZW1vdmVkCitvIE1ldGhvZCAncHJvdGVjdGVkIG9yZy5hcGFjaGUuY29tbW9ucy5sYW5nMy50aW1lLkZhc3REYXRlRm9ybWF0JE51bWJlclJ1bGUKKyAgc2VsZWN0TnVtYmVyUnVsZShpbnQsIGludCknIGhhcyBiZWVuIHJlbW92ZWQKKworVGhlc2UgY2hhbmdlcyB3ZXJlIHRoZSByZXN1bHQgb2YgW0xBTkctNDYyXS4gSXQgaXMgYXNzdW1lZCB0aGF0IHRoaXMgY2hhbmdlIAord2lsbCBub3QgYnJlYWsgY2xpZW50cyBhcyBDaGFybGVzIEhvbnRvbiBwb2ludGVkIG91dCBvbiAyNS9KYW4vMTI6CisiCisgMS4gTWV0aG9kcyAiRmFzdERhdGVGb3JtYXQkTnVtYmVyUnVsZSBzZWxlY3ROdW1iZXJSdWxlKGludCwgaW50KSIgYW5kIAorICAgICJMaXN0PFJ1bGU+IHBhcnNlUGF0dGVybigpIiBjb3VsZG4ndCBoYXZlIGJlZW4gb3ZlcnJpZGRlbiBiZWNhdXNlCisgICAgTnVtYmVyUnVsZSBhbmQgUnVsZSB3ZXJlIHByaXZhdGUgdG8gRmFzdERhdGVGb3JtYXQuCisgMi4gRHVlIHRvIHRoZSBmYWN0b3J5IHBhdHRlcm4gdXNlZCwgaXQncyB1bmxpa2VseSBvdGhlciB0d28gbWV0aG9kcyB3b3VsZCBoYXZlIAorICAgIGJlZW4gb3ZlcnJpZGRlbi4KKyAzLiBUaGUgZm91ciBtZXRob2RzIGFyZSBoaWdobHkgaW1wbGVtZW50YXRpb24gc3BlY2lmaWMuIEkgY29uc2lkZXIgaXQgYSAKKyAgICBtaXN0YWtlIHRoYXQgdGhlIG1ldGhvZHMgd2VyZSBleHBvc2VkLgorIgorRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIGh0dHBzOi8vaXNzdWVzLmFwYWNoZS5vcmcvamlyYS9icm93c2UvTEFORy00NjIuCisKK05FVyBGRUFUVVJFUworPT09PT09PT09PT09PT0KKworbyBMQU5HLTkzNDogIEFkZCByZW1vdmVGaW5hbE1vZGlmaWVyIHRvIEZpZWxkVXRpbHMKK28gTEFORy04NjM6ICBNZXRob2QgcmV0dXJucyBudW1iZXIgb2YgaW5oZXJpdGFuY2UgaG9wcyBiZXR3ZWVuIHBhcmVudCBhbmQKKyAgICAgICAgICAgICBzdWJjbGFzcy4gVGhhbmtzIHRvIERhbmVlbCBTLiBZYWl0c2tvdi4KK28gTEFORy03NzQ6ICBBZGRlZCBpc1N0YXJ0ZWQsIGlzU3VzcGVuZGVkIGFuZCBpc1N0b3BwZWQgdG8gU3RvcFdhdGNoLgorICAgICAgICAgICAgIFRoYW5rcyB0byBFcmhhbiBCYWdkZW1pci4KK28gTEFORy04NDg6ICBBZGRlZCBTdHJpbmdVdGlscy5pc0JsYW5rL2lzRW1wdHkgQ2hhclNlcXVlbmNlLi4uIG1ldGhvZHMuCisgICAgICAgICAgICAgVGhhbmtzIHRvIEFsZXhhbmRlciBNdXRobWFubi4KK28gTEFORy05MjY6ICBBZGRlZCBBcnJheVV0aWxzLnJldmVyc2UoYXJyYXksIGZyb20sIHRvKSBtZXRob2RzLgorbyBMQU5HLTc5NTogIFN0cmluZ1V0aWxzLnRvU3RyaW5nKGJ5dGVbXSwgU3RyaW5nKSBkZXByZWNhdGVkIGluIGZhdm91ciBvZiBhIG5ldworICAgICAgICAgICAgIFN0cmluZ1V0aWxzLnRvU3RyaW5nKGJ5dGVbXSwgQ2hhclNldCkuIFRoYW5rcyB0byBBYXJvbiBEaWd1bGxhLgorbyBMQU5HLTg5MzogIFN0clN1YnN0aXR1dG9yIG5vdyBzdXBwb3J0cyBkZWZhdWx0IHZhbHVlcyBmb3IgdmFyaWFibGVzLgorICAgICAgICAgICAgIFRoYW5rcyB0byBXb29uc2FuIEtvLgorbyBMQU5HLTkxMzogIEFkZGluZyAuZ2l0aWdub3JlIHRvIGNvbW1vbnMtbGFuZy4gVGhhbmtzIHRvIEFsbG9uIE11cmVpbmlrLgorbyBMQU5HLTgzNzogIEFkZCBPYmplY3RVdGlscy50b0lkZW50aXR5U3RyaW5nIG1ldGhvZHMgdGhhdCBzdXBwb3J0CisgICAgICAgICAgICAgU3RyaW5nQnVpbGRlciwgU3RyQnVpbGRlciwgYW5kIEFwcGVuZGFibGUuCitvIExBTkctODg2OiAgQWRkZWQgQ2hhclNldFV0aWxzLmNvbnRhaW5zQW55KFN0cmluZywgU3RyaW5nKS4KK28gTEFORy03OTc6ICBBZGRlZCBlc2NhcGUvdW5lc2NhcGVKc29uIHRvIFN0cmluZ0VzY2FwZVV0aWxzLgorbyBMQU5HLTg3NTogIEFkZGVkIGFwcGVuZElmTWlzc2luZyBhbmQgcHJlcGVuZElmTWlzc2luZyBtZXRob2RzIHRvIFN0cmluZ1V0aWxzLgorbyBMQU5HLTg3MDogIEFkZCBTdHJpbmdVdGlscy5MRiBhbmQgU3RyaW5nVXRpbHMuQ1IgdmFsdWVzLgorbyBMQU5HLTg3MzogIEFkZCBGaWVsZFV0aWxzIGdldEFsbEZpZWxkcygpIHRvIHJldHVybiBhbGwgdGhlIGZpZWxkcyBkZWZpbmVkIGluCisgICAgICAgICAgICAgdGhlIGdpdmVuIGNsYXNzIGFuZCBzdXBlciBjbGFzc2VzLgorbyBMQU5HLTgzNTogIFN0ckJ1aWxkZXIgc2hvdWxkIHN1cHBvcnQgU3RyaW5nQnVpbGRlciBhcyBhbiBpbnB1dCBwYXJhbWV0ZXIuCitvIExBTkctODU3OiAgU3RyaW5nSW5kZXhPdXRPZkJvdW5kc0V4Y2VwdGlvbiBpbiBDaGFyU2VxdWVuY2VUcmFuc2xhdG9yLgorbyBMQU5HLTg1NjogIENvZGUgcmVmYWN0b3JpbmcgaW4gTnVtYmVyVXRpbHMuCitvIExBTkctODU1OiAgTnVtYmVyVXRpbHMjY3JlYXRlQmlnSW50ZWdlciBkb2VzIG5vdCBhbGxvdyBmb3IgaGV4IGFuZCBvY3RhbAorICAgICAgICAgICAgIG51bWJlcnMuCitvIExBTkctODU0OiAgTnVtYmVyVXRpbHMjY3JlYXRlTnVtYmVyIC0gZG9lcyBub3QgYWxsb3cgZm9yIGhleCBudW1iZXJzIHRvIGJlCisgICAgICAgICAgICAgbGFyZ2VyIHRoYW4gTG9uZy4gCitvIExBTkctODUzOiAgU3RyaW5nVXRpbHMgam9pbiBBUElzIGZvciBwcmltaXRpdmVzLiAKK28gTEFORy04NDE6ICBBZGQgU3RyaW5nVXRpbHMgQVBJIHRvIGNhbGwgU3RyaW5nLnJlcGxhY2VBbGwgaW4gRE9UQUxMIGEuay5hLgorICAgICAgICAgICAgIHNpbmdsZS1saW5lIG1vZGUuIAorbyBMQU5HLTgyNTogIENyZWF0ZSBTdHJCdWlsZGVyIEFQSXMgc2ltaWxhciB0bworICAgICAgICAgICAgIFN0cmluZy5mb3JtYXQoU3RyaW5nLCBPYmplY3QuLi4pLgorbyBMQU5HLTY3NTogIEFkZCBUcmlwbGUgY2xhc3MgKHRlcm5hcnkgdmVyc2lvbiBvZiBQYWlyKS4KK28gTEFORy00NjI6ICBGYXN0RGF0ZUZvcm1hdCBzdXBwb3J0cyBwYXJzZSBtZXRob2RzLgorCitCVUcgRklYRVMKKz09PT09PT09PT09CisKK28gTEFORy05MzI6ICBTcGVsbGluZyBmaXhlcy4gVGhhbmtzIHRvIFZpbGxlIFNreXR05C4KK28gTEFORy05Mjk6ICBPY3RhbFVuZXNjYXBlciB0cmllZCB0byBwYXJzZSBhbGwgb2YgXDI3OS4KK28gTEFORy05Mjg6ICBPY3RhbFVuZXNjYXBlciBoYWQgYnVncyB3aGVuIHBhcnNpbmcgb2N0YWxzIHN0YXJ0aW5nIHdpdGggYSB6ZXJvLgorbyBMQU5HLTkwNTogIEVxdWFsc0J1aWxkZXIgcmV0dXJuZWQgdHJ1ZSB3aGVuIGNvbXBhcmluZyBhcnJheXMsIGV2ZW4gd2hlbiB0aGUKKyAgICAgICAgICAgICBlbGVtZW50cyBhcmUgZGlmZmVyZW50LgorbyBMQU5HLTkxNzogIEZpeGVkIGV4Y2VwdGlvbiB3aGVuIGNvbWJpbmluZyBjdXN0b20gYW5kIGNob2ljZSBmb3JtYXQgaW4KKyAgICAgICAgICAgICBFeHRlbmRlZE1lc3NhZ2VGb3JtYXQuIFRoYW5rcyB0byBBcm5lIEJ1cm1laXN0ZXIuCitvIExBTkctOTAyOiAgUmFuZG9tU3RyaW5nVXRpbHMucmFuZG9tIGphdmFkb2Mgd2FzIGluY29ycmVjdGx5IHByb21pc2luZyBsZXR0ZXJzCisgICAgICAgICAgICAgYW5kIG51bWJlcnMgd291bGQsIGFzIG9wcG9zZWQgdG8gbWF5LCBhcHBlYXIgIElzc3VlOi4gVGhhbmtzIHRvCisgICAgICAgICAgICAgQW5kcnplaiBXaW5uaWNraS4KK28gTEFORy05MjE6ICBCb29sZWFuVXRpbHMueG9yKGJvb2xlYW4uLi4pIHByb2R1Y2VzIHdyb25nIHJlc3VsdHMuCitvIExBTkctODk2OiAgQm9vbGVhblV0aWxzLnRvQm9vbGVhbihTdHJpbmcgc3RyKSBqYXZhZG9jIGlzIG5vdCB1cGRhdGVkLiBUaGFua3MKKyAgICAgICAgICAgICB0byBNYXJrIEJyeWFuIFl1LgorbyBMQU5HLTg3OTogIExvY2FsZVV0aWxzIHRlc3QgZmFpbHMgd2l0aCBuZXcgTG9jYWxlICJqYV9KUF9KUF8jdS1jYS1qYXBhbmVzZSIKKyAgICAgICAgICAgICBvZiBKREs3LgorbyBMQU5HLTgzNjogIFN0clN1YnN0aXR1dG9yIGRvZXMgbm90IHN1cHBvcnQgU3RyaW5nQnVpbGRlciBvciBDaGFyU2VxdWVuY2UuCisgICAgICAgICAgICAgVGhhbmtzIHRvIEFybmF1ZCBCcnVuZXQuCitvIExBTkctNjkzOiAgTWV0aG9kIGNyZWF0ZU51bWJlciBmcm9tIE51bWJlclV0aWxzIGRvZXNuJ3Qgd29yayBmb3IgZmxvYXRpbmcKKyAgICAgICAgICAgICBwb2ludCBudW1iZXJzIG90aGVyIHRoYW4gRmxvYXQgIElzc3VlOiBMQU5HLTY5My4gVGhhbmtzIHRvCisgICAgICAgICAgICAgQ2FsdmluIEVjaG9scy4KK28gTEFORy04ODc6ICBGYXN0RGF0ZUZvcm1hdCBkb2VzIG5vdCB1c2UgdGhlIGxvY2FsZSBzcGVjaWZpYyBjYWNoZSBjb3JyZWN0bHkuCitvIExBTkctNzU0OiAgQ2xhc3NVdGlscy5nZXRTaG9ydE5hbWUoU3RyaW5nKSB3aWxsIG5vdyBvbmx5IGRvIGEgcmV2ZXJzZSBsb29rdXAKKyAgICAgICAgICAgICBmb3IgYXJyYXkgdHlwZXMuCitvIExBTkctODgxOiAgTnVtYmVyVXRpbHMuY3JlYXRlTnVtYmVyKCkgSmF2YWRvYyBzYXlzIGl0IGRvZXMgbm90IHdvcmsgZm9yIG9jdGFsCisgICAgICAgICAgICAgbnVtYmVycy4KK28gTEFORy04NjU6ICBMb2NhbGVVdGlscy50b0xvY2FsZSBkb2VzIG5vdCBwYXJzZSBzdHJpbmdzIHN0YXJ0aW5nIHdpdGggYW4KKyAgICAgICAgICAgICB1bmRlcnNjb3JlLgorbyBMQU5HLTg1ODogIFN0cmluZ0VzY2FwZVV0aWxzLmVzY2FwZUphdmEoKSBhbmQgZXNjYXBlRWNtYVNjcmlwdCgpIGRvIG5vdAorICAgICAgICAgICAgIG91dHB1dCB0aGUgZXNjYXBlZCBzdXJyb2dhdGUgcGFpcnMgdGhhdCBhcmUgSmF2YSBwYXJzYWJsZS4KK28gTEFORy04NDk6ICBGYXN0RGF0ZUZvcm1hdCBhbmQgRmFzdERhdGVQcmludGVyIGdlbmVyYXRlcyBEYXRlIG9iamVjdHMgCisgICAgICAgICAgICAgd2FzdGVmdWxseS4KK28gTEFORy04NDU6ICBTcGVsbGluZyBmaXhlcy4KK28gTEFORy04NDQ6ICBGaXggZXhhbXBsZXMgY29udGFpbmVkIGluIGphdmFkb2Mgb2YgU3RyaW5nVXRpbHMuY2VudGVyIG1ldGhvZHMuCitvIExBTkctODMyOiAgRmFzdERhdGVQYXJzZXIgZG9lcyBub3QgaGFuZGxlIHVudGVybWluYXRlZCBxdW90ZXMgY29ycmVjdGx5LgorbyBMQU5HLTgzMTogIEZhc3REYXRlUGFyc2VyIGRvZXMgbm90IGhhbmRsZSB3aGl0ZS1zcGFjZSBwcm9wZXJseS4KK28gTEFORy04MzA6ICBGYXN0RGF0ZVBhcnNlciBjb3VsZCB1c2UgXFEgXEUgdG8gcXVvdGUgcmVnZXhlcy4KK28gTEFORy04Mjg6ICBGYXN0RGF0ZVBhcnNlciBkb2VzIG5vdCBoYW5kbGUgbm9uLUdyZWdvcmlhbiBjYWxlbmRhcnMgcHJvcGVybHkuCitvIExBTkctODI2OiAgRmFzdERhdGVQYXJzZXIgZG9lcyBub3QgaGFuZGxlIG5vbi1BU0NJSSBkaWdpdHMgY29ycmVjdGx5LgorbyBMQU5HLTgyMjogIE51bWJlclV0aWxzI2NyZWF0ZU51bWJlciAtIGJhZCBiZWhhdmlvdXIgZm9yIGxlYWRpbmcgIi0tIi4KK28gTEFORy04MTg6ICBGYXN0RGF0ZUZvcm1hdCdzICJ6IiBwYXR0ZXJuIGRvZXMgbm90IHJlc3BlY3QgdGltZXpvbmUgb2YgQ2FsZW5kYXIKKyAgICAgICAgICAgICBpbnN0YW5jZXMgcGFzc2VkIHRvIGZvcm1hdCgpLgorbyBMQU5HLTgxNzogIEFkZCBvcmcuYXBhY2hlLmNvbW1vbnMubGFuZzMuU3lzdGVtVXRpbHMuSVNfT1NfV0lORE9XU184LgorbyBMQU5HLTgxMzogIFN0cmluZ1V0aWxzLmVxdWFsc0lnbm9yZUNhc2UgZG9lc24ndCBjaGVjayBzdHJpbmcgcmVmZXJlbmNlCisgICAgICAgICAgICAgZXF1YWxpdHkuCitvIExBTkctODEwOiAgU3RyaW5nVXRpbHMuam9pbigpIGVuZEluZGV4LCBidWdnZWQgZm9yIGxvb3AuCitvIExBTkctODA3OiAgUmFuZG9tU3RyaW5nVXRpbHMgdGhyb3dzIGNvbmZ1c2luZyBJQUUgd2hlbiBlbmQgPD0gc3RhcnQuCitvIExBTkctODA1OiAgUmFuZG9tU3RyaW5nVXRpbHMucmFuZG9tKGNvdW50LCAwLCAwLCBmYWxzZSwgZmFsc2UsIHVuaXZlcnNlLAorICAgICAgICAgICAgIHJhbmRvbSkgYWx3YXlzIHRocm93cyBqYXZhLmxhbmcuQXJyYXlJbmRleE91dE9mQm91bmRzRXhjZXB0aW9uLgorbyBMQU5HLTgwMjogIExvY2FsZVV0aWxzIC0gdW5uZWNlc3NhcnkgcmVjdXJzaXZlIGNhbGwgaW4gU3luY0F2b2lkIGNsYXNzLgorbyBMQU5HLTgwMDogIEphdmFkb2MgYnVnIGluIERhdGVVdGlscyNjZWlsaW5nIGZvciBDYWxlbmRhciBhbmQgT2JqZWN0IHZlcnNpb25zLgorbyBMQU5HLTc4ODogIFNlcmlhbGl6YXRpb25VdGlscyB0aHJvd3MgQ2xhc3NOb3RGb3VuZEV4Y2VwdGlvbiB3aGVuIGNsb25pbmcgCisgICAgICAgICAgICAgcHJpbWl0aXZlIGNsYXNzZXMuCitvIExBTkctNzg2OiAgU3RyaW5nVXRpbHMgZXF1YWxzKCkgcmVsaWVzIG9uIHVuZGVmaW5lZCBiZWhhdmlvci4KK28gTEFORy03ODM6ICBEb2N1bWVudGF0aW9uIGJ1ZzogU3RyaW5nVXRpbHMuc3BsaXQuCitvIExBTkctNzc3OiAgamFyIGNvbnRhaW5zIHZlbG9jaXR5IHRlbXBsYXRlIG9mIHJlbGVhc2Ugbm90ZXMuCitvIExBTkctNzc2OiAgVHlwZVV0aWxzVGVzdCBjb250YWlucyBpbmNvcnJlY3QgdHlwZSBhc3NpZ25hYmlsaXR5IGFzc2VydGlvbi4KK28gTEFORy03NzU6ICBUeXBlVXRpbHMuZ2V0VHlwZUFyZ3VtZW50cygpIG1pc3NlcyB0eXBlIGFyZ3VtZW50cyBmb3IKKyAgICAgICAgICAgICBwYXJ0aWFsbHktYXNzaWduZWQgY2xhc3Nlcy4KK28gTEFORy03NzM6ICBJbW11dGFibGVQYWlyIGRvYyBjb250YWlucyBub25zZW5zZSB0ZXh0LgorbyBMQU5HLTc3MjogIENsYXNzVXRpbHMuUEFDS0FHRV9TRVBBUkFUT1IgSmF2YWRvYyBjb250YWlucyBnYXJiYWdlIHRleHQuCitvIExBTkctNzY1OiAgRXZlbnRMaXN0ZW5lclN1cHBvcnQuUHJveHlJbnZvY2F0aW9uSGFuZGxlciBubyBsb25nZXIgZGVmaW5lcyAKKyAgICAgICAgICAgICBzZXJpYWxWZXJzaW9uVUlELgorbyBMQU5HLTc2NDogIFN0ckJ1aWxkZXIgaXMgbm93IHNlcmlhbGl6YWJsZS4KK28gTEFORy03NjE6ICBGaXggSmF2YWRvYyBBbnQgd2FybmluZ3MuCitvIExBTkctNzQ3OiAgTnVtYmVyVXRpbHMgZG9lcyBub3QgaGFuZGxlIExvbmcgSGV4IG51bWJlcnMuCitvIExBTkctNzQzOiAgSmF2YWRvYyBidWcgaW4gc3RhdGljIGlubmVyIGNsYXNzIERhdGVJdGVyYXRvci4KKworQ0hBTkdFUworPT09PT09PT09CisKK28gTEFORy05MzE6ICBNaXNsZWFkaW5nIEphdmFkb2MgY29tbWVudCBpbiBTdHJCdWlsZGVyUmVhZGVyIGNsYXNzLiBUaGFua3MKKyAgICAgICAgICAgICB0byBDaHJpc3RvcGggU2NobmVlZ2Fucy4KK28gTEFORy05MTA6ICBTdHJpbmdVdGlscy5ub3JtYWxpemVTcGFjZSBub3cgaGFuZGxlcyBub24tYnJlYWtpbmcgc3BhY2VzCisgICAgICAgICAgICAgKFVuaWNvZGUgMDBBMCkuIFRoYW5rcyB0byBUaW11ciBZYXJvc2guCitvIExBTkctODA0OiAgUmVkdW5kYW50IGNoZWNrIGZvciB6ZXJvIGluIEhhc2hDb2RlQnVpbGRlciBjdG9yLiBUaGFua3MgdG8gCisgICAgICAgICAgICAgQWxsb24gTXVyZWluaWsuCitvIExBTkctODg0OiAgU2ltcGxpZnkgRmFzdERhdGVGb3JtYXQ7IGVsaW1pbmF0ZSBib3hpbmcuCitvIExBTkctODgyOiAgTG9va3VwVHJhbnNsYXRvciBub3cgd29ya3Mgd2l0aCBpbXBsZW1lbnRhdGlvbnMgb2YgQ2hhclNlcXVlbmNlCisgICAgICAgICAgICAgb3RoZXIgdGhhbiBTdHJpbmcuCitvIExBTkctODQ2OiAgUHJvdmlkZSBDaGFyU2VxdWVuY2VVdGlscy5yZWdpb25NYXRjaGVzIHdpdGggYSBwcm9wZXIgZ3JlZW4KKyAgICAgICAgICAgICBpbXBsZW1lbnRhdGlvbiBpbnN0ZWFkIG9mIGluZWZmaWNpZW50bHkgY29udmVydGluZyB0byBTdHJpbmdzLgorbyBMQU5HLTgzOTogIEFycmF5VXRpbHMgcmVtb3ZlRWxlbWVudHMgbWV0aG9kcyB1c2UgdW5uZWNlc3NhcnkgSGFzaFNldC4KK28gTEFORy04Mzg6ICBBcnJheVV0aWxzIHJlbW92ZUVsZW1lbnRzIG1ldGhvZHMgY2xvbmUgdGVtcG9yYXJ5IGluZGV4IGFycmF5cworICAgICAgICAgICAgIHVubmVjZXNzYXJpbHkuCitvIExBTkctNzk5OiAgRGF0ZVV0aWxzI3BhcnNlRGF0ZSB1c2VzIGRlZmF1bHQgbG9jYWxlOyBhZGQgTG9jYWxlIHN1cHBvcnQuCitvIExBTkctNzk4OiAgVXNlIGdlbmVyaWNzIGluIFNlcmlhbGl6YXRpb25VdGlscy4KKworQ0hBTkdFUyBXSVRIT1VUIFRJQ0tFVAorPT09PT09PT09PT09PT09PT09PT09PT09CisKK28gRml4ZWQgVVJMcyBpbiBqYXZhZG9jIHRvIHBvaW50IHRvIG5ldyBvcmFjbGUuY29tIHBhZ2VzCisKKworICAgICAgICAgICAgICAgICAgICAgICAgUmVsZWFzZSBOb3RlcyBmb3IgdmVyc2lvbiAzLjEKKworTkVXIEZFQVRVUkVTCis9PT09PT09PT09PT09PQorCitvIExBTkctODAxOiAgQWRkIENvbnZlcnNpb24gdXRpbGl0eSB0byBjb252ZXJ0IGJldHdlZW4gZGF0YSB0eXBlcyBvbiBieXRlIGxldmVsCitvIExBTkctNzYwOiAgQWRkIEFQSSBTdHJpbmdVdGlscy50b1N0cmluZyhieXRlW10gaW50cHV0LCBTdHJpbmcgY2hhcnNldE5hbWUpCitvIExBTkctNzU2OiAgQWRkIEFQSXMgQ2xhc3NVdGlscy5pc1ByaW1pdGl2ZVdyYXBwZXIoQ2xhc3M8Pz4pIGFuZCAKKyAgICAgICAgICAgICBpc1ByaW1pdGl2ZU9yV3JhcHBlcihDbGFzczw/PikKK28gTEFORy02OTU6ICBTeXN0ZW1VdGlscy5JU19PU19VTklYIGRvZXNuJ3QgcmVjb2duaXplIEZyZWVCU0QgYXMgYSBVbml4IHN5c3RlbQorCitCVUcgRklYRVMKKz09PT09PT09PT09CisKK28gTEFORy03NDk6ICBJbmNvcnJlY3QgQnVuZGxlLVN5bWJvbGljTmFtZSBpbiBNYW5pZmVzdAorbyBMQU5HLTc0NjogIE51bWJlclV0aWxzIGRvZXMgbm90IGhhbmRsZSB1cHBlci1jYXNlIGhleDogMFggYW5kIC0wWAorbyBMQU5HLTc0NDogIFN0cmluZ1V0aWxzIHRocm93cyBqYXZhLnNlY3VyaXR5LkFjY2Vzc0NvbnRyb2xFeGNlcHRpb24gb24gR29vZ2xlCisgICAgICAgICAgICAgQXBwIEVuZ2luZQorbyBMQU5HLTc0MTogIEFudCBidWlsZCBoYXMgd3JvbmcgY29tcG9uZW50Lm5hbWUKK28gTEFORy02OTg6ICBEb2N1bWVudCB0aGF0IHRoZSBNdXRhYmxlIG51bWJlcnMgZG9uJ3Qgd29yayBhcyBleHBlY3RlZCB3aXRoCisgICAgICAgICAgICAgU3RyaW5nLmZvcm1hdAorCitDSEFOR0VTCis9PT09PT09PT0KKworbyBMQU5HLTc1ODogIEFkZCBhbiBleGFtcGxlIHdpdGggd2hpdGVzcGFjZSBpbiBTdHJpbmdVdGlscy5kZWZhdWx0SWZFbXB0eQorbyBMQU5HLTc1MjogIEZpeCBjcmVhdGVMb25nKCkgc28gaXQgYmVoYXZlcyBsaWtlIGNyZWF0ZUludGVnZXIoKQorbyBMQU5HLTc1MTogIEluY2x1ZGUgdGhlIGFjdHVhbCB0eXBlIGluIHRoZSBWYWxpZGF0ZS5pc0luc3RhbmNlIGFuZAorICAgICAgICAgICAgIGlzQXNzaWduYWJsZUZyb20gZXhjZXB0aW9uIG1lc3NhZ2VzCitvIExBTkctNzQ4OiAgRGVwcmVjYXRpbmcgY2hvbXAoU3RyaW5nLCBTdHJpbmcpCitvIExBTkctNzM2OiAgQ2hhclV0aWxzIHN0YXRpYyBmaW5hbCBhcnJheSBDSEFSX1NUUklORyBpcyBub3QgbmVlZGVkIHRvIGNvbXB1dGUKKyAgICAgICAgICAgICBDSEFSX1NUUklOR19BUlJBWQorCisKKyAgICAgICAgICAgICAgICAgICAgICAgIFJlbGVhc2UgTm90ZXMgZm9yIHZlcnNpb24gMy4wCisKK0FERElUSU9OUworPT09PT09PT09PT0KKworbyBMQU5HLTI3NjogIE11dGFibGVCaWdEZWNpbWFsIGFuZCBNdXRhYmxlQmlnSW50ZWdlci4KK28gTEFORy0yODU6ICBXaXNoIDogbWV0aG9kIHVuYWNjZW50LgorbyBMQU5HLTM1ODogIE9iamVjdFV0aWxzLmNvYWxlc2NlLgorbyBMQU5HLTM4NjogIExlZnRPZi9SaWdodE9mTnVtYmVyIGluIFJhbmdlIGNvbnZlbmllbmNlIG1ldGhvZHMgbmVjZXNzYXJ5LgorbyBMQU5HLTQzNTogIEFkZCBDbGFzc1V0aWxzLmlzQXNzaWduYWJsZSgpIHZhcmlhbnRzIHdpdGggYXV0b2JveGluZy4KK28gTEFORy00NDQ6ICBTdHJpbmdVdGlscy5lbXB0eVRvTnVsbC4KK28gTEFORy00ODI6ICBFbmhhbmNlIFN0clN1YnN0aXR1dG9yIHRvIHN1cHBvcnQgbmVzdGVkICR7dmFyLSR7c3VidnJ9fSBleHBhbnNpb24KK28gTEFORy00ODI6ICBTdHJTdWJzdGl0dXRvciBub3cgc3VwcG9ydHMgc3Vic3RpdHV0aW9uIGluIHZhcmlhYmxlIG5hbWVzLgorbyBMQU5HLTQ5NjogIEEgZ2VuZXJpYyBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgTGF6eSBpbml0aWFsaXphdGlvbiBwYXR0ZXJuLgorbyBMQU5HLTQ5NzogIEFkZGl0aW9uIG9mIENvbnRleHRlZEV4Y2VwdGlvbiBhbmQgQ29udGV4dGVkUnVudGltZUV4Y2VwdGlvbi4KK28gTEFORy00OTg6ICBBZGQgU3RyaW5nRXNjYXBlVXRpbHMuZXNjYXBlVGV4dCgpIG1ldGhvZHMuCitvIExBTkctNDk5OiAgQWRkIHN1cHBvcnQgZm9yIHRoZSBoYW5kbGluZyBvZiBFeGVjdXRpb25FeGNlcHRpb25zLgorbyBMQU5HLTUwMTogIEFkZCBzdXBwb3J0IGZvciBiYWNrZ3JvdW5kIGluaXRpYWxpemF0aW9uLgorbyBMQU5HLTUyOTogIEFkZCBhIGNvbmN1cnJlbnQgcGFja2FnZS4KK28gTEFORy01MzM6ICBWYWxpZGF0ZTogc3VwcG9ydCBmb3IgdmFsaWRhdGluZyBibGFuayBzdHJpbmdzLgorbyBMQU5HLTUzNzogIEFkZCBBcnJheVV0aWxzLnRvQXJyYXkgdG8gY3JlYXRlIGdlbmVyaWMgYXJyYXlzLgorbyBMQU5HLTU0NTogIEFkZCBhYmlsaXR5IHRvIGNyZWF0ZSBhIEZ1dHVyZSBmb3IgYSBjb25zdGFudC4KK28gTEFORy01NDY6ICBBZGQgbWV0aG9kcyB0byBWYWxpZGF0ZSB0byBjaGVjayB3aGV0aGVyIHRoZSBpbmRleCBpcyB2YWxpZCBmb3IKKyAgICAgICAgICAgICB0aGUgYXJyYXkvbGlzdC9zdHJpbmcuCitvIExBTkctNTUzOiAgQWRkIFR5cGVVdGlscyBjbGFzcyB0byBwcm92aWRlIHV0aWxpdHkgY29kZSBmb3Igd29ya2luZyB3aXRoIGdlbmVyaWMKKyAgICAgICAgICAgICB0eXBlcy4KK28gTEFORy01NTk6ICBBZGRlZCBpc0Fzc2lnbmFibGVGcm9tIGFuZCBpc0luc3RhbmNlT2YgdmFsaWRhdGlvbiBtZXRob2RzLgorbyBMQU5HLTU1OTogIEFkZGVkIHZhbGlkU3RhdGUgdmFsaWRhdGlvbiBtZXRob2QuCitvIExBTkctNTYwOiAgTmV3IFRpbWVkU2VtYXBob3JlIGNsYXNzLgorbyBMQU5HLTU4MjogIFByb3ZpZGUgYW4gaW1wbGVtZW50YXRpb24gb2YgdGhlIFRocmVhZEZhY3RvcnkgaW50ZXJmYWNlLgorbyBMQU5HLTU4ODogIENyZWF0ZSBhIGJhc2ljIFBhaXI8TCwgUj4gY2xhc3MuCitvIExBTkctNTk0OiAgRGF0ZVV0aWxzIGVxdWFsICYgY29tcGFyZSBmdW5jdGlvbnMgdXAgdG8gbW9zdCBzaWduaWZpY2FudCBmaWVsZC4KK28gTEFORy02MDE6ICBBZGQgQnVpbGRlciBJbnRlcmZhY2UgLyBVcGRhdGUgQnVpbGRlcnMgdG8gSW1wbGVtZW50IEl0LgorbyBMQU5HLTYwOTogIFN1cHBvcnQgbGF6eSBpbml0aWFsaXphdGlvbiB1c2luZyBhdG9taWMgdmFyaWFibGVzCitvIExBTkctNjEwOiAgRXh0ZW5kIGV4Y2VwdGlvbiBoYW5kbGluZyBpbiBDb25jdXJyZW50VXRpbHMgdG8gcnVudGltZSBleGNlcHRpb25zLgorbyBMQU5HLTYxNDogIFN0cmluZ1V0aWxzLmVuZHNXaXRoQW55IG1ldGhvZAorbyBMQU5HLTY0MDogIEFkZCBub3JtYWxpemVTcGFjZSB0byBTdHJpbmdVdGlscworbyBMQU5HLTY0NDogIFByb3ZpZGUgZG9jdW1lbnRhdGlvbiBhYm91dCB0aGUgbmV3IGNvbmN1cnJlbnQgcGFja2FnZQorbyBMQU5HLTY0OTogIEJvb2xlYW5VdGlscy50b0Jvb2xlYW5PYmplY3QgdG8gc3VwcG9ydCBzaW5nbGUgY2hhcmFjdGVyIGlucHV0CitvIExBTkctNjUxOiAgQWRkIEFubm90YXRpb25VdGlscworbyBMQU5HLTY1MzogIFByb3ZpZGUgYSB2ZXJ5IGJhc2ljIENvbmN1cnJlbnRJbml0aWFsaXplciBpbXBsZW1lbnRhdGlvbgorbyBMQU5HLTY1NTogIEFkZCBTdHJpbmdVdGlscy5kZWZhdWx0SWZCbGFuaygpCitvIExBTkctNjY3OiAgQWRkIGEgTnVsbC1zYWZlIGNvbXBhcmUoKSBtZXRob2QgdG8gT2JqZWN0VXRpbHMKK28gTEFORy02NzY6ICBEb2N1bWVudGVkIHBvdGVudGlhbCBOUEUgaWYgYXV0by1ib3hpbmcgb2NjdXJzIGZvciBzb21lIEJvb2xlYW5VdGlscworICAgICAgICAgICAgIG1ldGhvZHMKK28gTEFORy02Nzg6ICBBZGQgc3VwcG9ydCBmb3IgQ29uY3VycmVudE1hcC5wdXRJZkFic2VudCgpCitvIExBTkctNjkyOiAgQWRkIGhhc2hDb2RlTXVsdGkgdmFyYXJncyBtZXRob2QKK28gTEFORy02OTc6ICBBZGQgRm9ybWF0dGFibGVVdGlscyBjbGFzcworbyBMQU5HLTY4NDogIExldmVuc2h0ZWluIERpc3RhbmNlIFdpdGhpbiBhIEdpdmVuIFRocmVzaG9sZAorCitSRU1PVkFMUworPT09PT09PT09PQorCitvIExBTkctNDM4OiAgUmVtb3ZlIEBkZXByZWNhdGVkcy4KK28gTEFORy00OTI6ICBSZW1vdmUgY29kZSBoYW5kbGVkIG5vdyBieSB0aGUgSkRLLgorbyBMQU5HLTQ5MzogIFJlbW92ZSBjb2RlIHRoYXQgZG9lcyBub3QgaG9sZCBlbm91Z2ggdmFsdWUgdG8gcmVtYWluLgorbyBMQU5HLTU5MDogIFJlbW92ZSBKREsgMS4yLzEuMyBidWcgaGFuZGxpbmcgaW4gCisgICAgICAgICAgICAgU3RyaW5nVXRpbHMuaW5kZXhPZihTdHJpbmcsIFN0cmluZywgaW50KS4KK28gTEFORy02NzM6ICBXb3JkVXRpbHMuYWJicmV2aWF0ZSgpIHJlbW92ZWQKK28gTEFORy02OTE6ICBSZW1vdmVkIERhdGVVdGlscy5VVENfVElNRV9aT05FCisKK0lNUFJPVkVNRU5UUworPT09PT09PT09PT09PT0KKworbyBMQU5HLTI5MDogIEVudW1VdGlscyBmb3IgSkRLIDUuMC4KK28gTEFORy0zMzY6ICBGaW5hbGx5IHN0YXJ0IHVzaW5nIGdlbmVyaWNzLgorbyBMQU5HLTM1NTogIFN0ckJ1aWxkZXIgc2hvdWxkIGltcGxlbWVudCBDaGFyU2VxdWVuY2UgYW5kIEFwcGVuZGFibGUuCitvIExBTkctMzk2OiAgSW52ZXN0aWdhdGUgZm9yIHZhcmFyZyB1c2FnZXMuCitvIExBTkctNDI0OiAgSW1wcm92ZSBKYXZhZG9jIGZvciBTdHJpbmdVdGlscyBjbGFzcy4KK28gTEFORy00NTg6ICBSZWZhY3RvciBWYWxpZGF0ZS5qYXZhIHRvIGVsaW1pbmF0ZSBjb2RlIHJlZHVuZGFuY3kuCitvIExBTkctNDc5OiAgRG9jdW1lbnQgd2hlcmUgaW4gU1ZOIHRydW5rIGlzLgorbyBMQU5HLTUwNDogIGJyaW5nIEFycmF5VXRpbHMuaXNFbXB0eSB0byB0aGUgZ2VuZXJpY3Mgd29ybGQuCitvIExBTkctNTA1OiAgUmV3cml0ZSBTdHJpbmdFc2NhcGVVdGlscy4KK28gTEFORy01MDc6ICBTdHJpbmdFc2NhcGVVdGlscy51bmVzY2FwZUphdmEgc2hvdWxkIHN1cHBvcnQgXHUrIG5vdGF0aW9uLgorbyBMQU5HLTUxMDogIENvbnZlcnQgU3RyaW5nVXRpbHMgQVBJIHRvIHRha2UgQ2hhclNlcXVlbmNlLgorbyBMQU5HLTUxMzogIEJldHRlciBFbnVtVXRpbHMuCitvIExBTkctNTI4OiAgTXV0YWJsZSBjbGFzc2VzIHNob3VsZCBpbXBsZW1lbnQgYW4gYXBwcm9wcmlhdGVseSB0eXBlZCBNdXRhYmxlCisgICAgICAgICAgICAgaW50ZXJmYWNlLgorbyBMQU5HLTUzOTogIENvbXBpbGUgY29tbW9ucy5sYW5nIGZvciBDREMgMS4xL0ZvdW5kYXRpb24gMS4xLgorbyBMQU5HLTU0MDogIE1ha2UgTnVtZXJpY0VudGl0eUVzY2FwZXIgaW1tdXRhYmxlLgorbyBMQU5HLTU0MTogIFJlcGxhY2UgU3RyaW5nQnVmZmVyIHdpdGggU3RyaW5nQnVpbGRlci4KK28gTEFORy01NDg6ICBVc2UgSXRlcmFibGUgb24gQVBJIGluc3RlYWQgb2YgQ29sbGVjdGlvbi4KK28gTEFORy01NTE6ICBSZXBsYWNlIFJhbmdlIGNsYXNzZXMgd2l0aCBnZW5lcmljIHZlcnNpb24uCitvIExBTkctNTYyOiAgQ2hhbmdlIE1hdmVuIGdyb3VwSWQuCitvIExBTkctNTYzOiAgQ2hhbmdlIEphdmEgcGFja2FnZSBuYW1lLgorbyBMQU5HLTU3MDogIERvIHRoZSB0ZXN0IGNhc2VzIHJlYWxseSBzdGlsbCByZXF1aXJlIG1haW4oKSBhbmQgc3VpdGUoKSBtZXRob2RzPworbyBMQU5HLTU3OTogIEFkZCBuZXcgVmFsaWRhdGUgbWV0aG9kcy4KK28gTEFORy01OTk6ICBDbGFzc1V0aWxzLmdldENsYXNzKCk6IEFsbG93IERvdHMgYXMgSW5uZXIgQ2xhc3MgU2VwYXJhdG9ycy4KK28gTEFORy02MDU6ICBEZWZhdWx0RXhjZXB0aW9uQ29udGV4dCBvdmVyd3JpdGVzIHZhbHVlcyBpbiByZWN1cnNpdmUgc2l0dWF0aW9ucy4KK28gTEFORy02Njg6ICBDaGFuZ2UgT2JqZWN0VXRpbHMgbWluKCkgJiBtYXgoKSBmdW5jdGlvbnMgdG8gdXNlIHZhcmFyZ3MgcmF0aGVyCisgICAgICAgICAgICAgdGhhbiBqdXN0IHR3byBwYXJhbWV0ZXJzCitvIExBTkctNjgxOiAgUHVzaCBkb3duIFdvcmRVdGlscyB0byAidGV4dCIgc3ViLXBhY2thZ2UuCitvIExBTkctNzExOiAgQWRkIGluY2x1ZGVhbnRydW50aW1lPWZhbHNlIHRvIGphdmFjIHRhcmdldHMgdG8gcXVlbGwgd2FybmluZ3MgaW4KKyAgICAgICAgICAgICBhbnQgMS44LjEgYW5kIGJldHRlciAoYW5kIG1vZGVzdCBwZXJmb3JtYW5jZSBnYWluKS4KK28gTEFORy03MTM6ICBJbmNyZWFzZSB0ZXN0IGNvdmVyYWdlIG9mIEZpZWxkVXRpbHMgcmVhZCBtZXRob2RzIGFuZCB0d2VhaworICAgICAgICAgICAgIGphdmFkb2MuCitvIExBTkctNzE4OiAgYnVpbGQueG1sIEphdmEgMS41KyB1cGRhdGVzLgorCitCVUcgRklYRVMKKz09PT09PT09PT09CisKK28gTEFORy0xMTogICBEZXBlbmQgb24gSkRLIDEuNSsuCitvIExBTkctMzAyOiAgU3RyQnVpbGRlciBkb2VzIG5vdCBpbXBsZW1lbnQgY2xvbmUoKS4KK28gTEFORy0zMzk6ICBTdHJpbmdFc2NhcGVVdGlscy5lc2NhcGVIdG1sKCkgZXNjYXBlcyBtdWx0aWJ5dGUgY2hhcmFjdGVycyBsaWtlCisgICAgICAgICAgICAgQ2hpbmVzZSwgSmFwYW5lc2UsIGV0Yy4KK28gTEFORy0zNjk6ICBFeGNlcHRpb25VdGlscyBub3QgdGhyZWFkLXNhZmUuCitvIExBTkctNDE4OiAgSmF2YWRvYyBpbmNvcnJlY3QgZm9yIFN0cmluZ1V0aWxzLmVuZHNXaXRoSWdub3JlQ2FzZS4KK28gTEFORy00Mjg6ICBTdHJpbmdVdGlscy5pc0FscGhhLCBpc0FscGhhbnVtZXJpYyBhbmQgaXNOdW1lcmljIG5vdyByZXR1cm4gZmFsc2UKKyAgICAgICAgICAgICBmb3IgIiIKK28gTEFORy00Mzk6ICBTdHJpbmdFc2NhcGVVdGlscy5lc2NhcGVIVE1MKCkgZG9lcyBub3QgZXNjYXBlIGNoYXJzICgweDAwLTB4MjApLgorbyBMQU5HLTQ0ODogIExvd2VyIEFzY2lpIENoYXJhY3RlcnMgZG9uJ3QgZ2V0IGVuY29kZWQgYnkgRW50aXRpZXMuamF2YS4KK28gTEFORy00Njg6ICBKREsgMS41IGJ1aWxkL3J1bnRpbWUgZmFpbHVyZSBvbiBMQU5HLTM5MyAoRXF1YWxzQnVpbGRlcikuCitvIExBTkctNDc0OiAgRml4ZXMgZm9yIHRocmVhZCBzYWZldHkuCitvIExBTkctNDc4OiAgU3RvcFdhdGNoIGRvZXMgbm90IHJlc2lzdCB0byBzeXN0ZW0gdGltZSBjaGFuZ2VzLgorbyBMQU5HLTQ4MDogIFN0cmluZ0VzY2FwZVV0aWxzLmVzY2FwZUh0bWwgaW5jb3JyZWN0bHkgY29udmVydHMgdW5pY29kZQorICAgICAgICAgICAgIGNoYXJhY3RlcnMgYWJvdmUgVSswMEZGRkYgaW50byAyIGNoYXJhY3RlcnMuCitvIExBTkctNDgxOiAgUG9zc2libGUgcmFjZS1jb25kaXRpb25zIGluIGhhc2hDb2RlIG9mIHRoZSByYW5nZSBjbGFzc2VzLgorbyBMQU5HLTU2NDogIEltcHJvdmUgU3RyTG9va3VwIEFQSSBkb2N1bWVudGF0aW9uLgorbyBMQU5HLTU2ODogIEBTdXBwcmVzc1dhcm5pbmdzKCJ1bmNoZWNrZWQiKSBpcyB1c2VkIHRvbyBnZW5lcmFsbHkuCitvIExBTkctNTcxOiAgQXJyYXlVdGlscy5hZGQoVFs6ICBhcnJheSwgVCBlbGVtZW50KSBjYW4gY3JlYXRlIHVuZXhwZWN0ZWQKKyAgICAgICAgICAgICBDbGFzc0Nhc3RFeGNlcHRpb24uCitvIExBTkctNTg1OiAgZXhjZXB0aW9uLkRlZmF1bHRFeGNlcHRpb25Db250ZXh0LmdldEZvcm1hdHRlZEV4Y2VwdGlvbk1lc3NhZ2UKKyAgICAgICAgICAgICBjYXRjaGVzIFRocm93YWJsZS4KK28gTEFORy01OTY6ICBTdHJTdWJzdGl0dXRvciBzaG91bGQgYWxzbyBoYW5kbGUgdGhlIGRlZmF1bHQgcHJvcGVydGllcyBvZiBhCisgICAgICAgICAgICAgamF2YS51dGlsLlByb3BlcnRpZXMgY2xhc3MKK28gTEFORy02MDA6ICBKYXZhZG9jIGlzIGluY29ycmVjdCBmb3IgcHVibGljIHN0YXRpYyBpbnQgCisgICAgICAgICAgICAgbGFzdEluZGV4T2YoU3RyaW5nIHN0ciwgU3RyaW5nIHNlYXJjaFN0cikuCitvIExBTkctNjAyOiAgQ29udGV4dGVkUnVudGltZUV4Y2VwdGlvbiBubyBsb25nZXIgYW4gJ3VuY2hlY2tlZCcgZXhjZXB0aW9uLgorbyBMQU5HLTYwNjogIEVxdWFsc0J1aWxkZXIgY2F1c2VzIFN0YWNrT3ZlcmZsb3dFeGNlcHRpb24uCitvIExBTkctNjA4OiAgU29tZSBTdHJpbmdVdGlscyBtZXRob2RzIHNob3VsZCB0YWtlIGFuIGludCBjaGFyYWN0ZXIgaW5zdGVhZCBvZgorICAgICAgICAgICAgIGNoYXIgdG8gdXNlIFN0cmluZyBBUEkgZmVhdHVyZXMuCitvIExBTkctNjE3OiAgU3RyaW5nRXNjYXBlVXRpbHMuZXNjYXBlWE1MKCkgY2FuJ3QgcHJvY2VzcyBVVEYtMTYgc3VwcGxlbWVudGFyeQorICAgICAgICAgICAgIGNoYXJhY3RlcnMKK28gTEFORy02MjQ6ICBTeXN0ZW1VdGlscy5nZXRKYXZhVmVyc2lvbkFzRmxvYXQgdGhyb3dzIAorICAgICAgICAgICAgIFN0cmluZ0luZGV4T3V0T2ZCb3VuZHNFeGNlcHRpb24gb24gQW5kcm9pZCBydW50aW1lL0RhbHZpayBWTQorbyBMQU5HLTYyOTogIENoYXJzZXQgbWF5IG5vdCBiZSB0aHJlYWRzYWZlLCBiZWNhdXNlIHRoZSBIYXNoU2V0IGlzIG5vdCBzeW5jaC4KK28gTEFORy02Mzg6ICBOdW1iZXJVdGlscyBjcmVhdGVOdW1iZXIgdGhyb3dzIGEgU3RyaW5nSW5kZXhPdXRPZkJvdW5kc0V4Y2VwdGlvbgorICAgICAgICAgICAgIHdoZW4gYXJndW1lbnQgY29udGFpbmluZyAiZSIgYW5kICJFIiBpcyBwYXNzZWQgaW4KK28gTEFORy02NDM6ICBKYXZhZG9jIFN0cmluZ1V0aWxzLmxlZnQoKSBjbGFpbXMgdG8gdGhyb3cgb24gbmVnYXRpdmUgbGVuLCBidXQKKyAgICAgICAgICAgICBkb2Vzbid0CitvIExBTkctNjQ1OiAgRmFzdERhdGVGb3JtYXQuZm9ybWF0KCkgb3V0cHV0cyBpbmNvcnJlY3Qgd2VlayBvZiB5ZWFyIGJlY2F1c2UKKyAgICAgICAgICAgICBsb2NhbGUgaXNuJ3QgcmVzcGVjdGVkCitvIExBTkctNjQ2OiAgU3RyaW5nRXNjYXBlVXRpbHMudW5lc2NhcGVKYXZhIGRvZXNuJ3QgaGFuZGxlIG9jdGFsIGVzY2FwZXMgYW5kCisgICAgICAgICAgICAgVW5pY29kZSB3aXRoIGV4dHJhIHUKK28gTEFORy02NTY6ICBFeGFtcGxlIFN0cmluZ1V0aWxzLmluZGV4T2ZBbnlCdXQoInp6YWJ5eWNkeHgiLCAnJykgPSAwIGluY29ycmVjdAorbyBMQU5HLTY1ODogIFNvbWUgRW50aXR5cyBsaWtlICZPdW1sOyBhcmUgbm90IG1hdGNoZWQgcHJvcGVybHkgYWdhaW5zdCBpdHMKKyAgICAgICAgICAgICBJU084ODU5LTEgcmVwcmVzZW50YXRpb24KK28gTEFORy02NTk6ICBFbnRpdHlBcnJheXMgdHlwbzogeyJcdTIxMjIiLCAiJm1pbnVzOyJ9LCAvLyBtaW51cyBzaWduLCBVKzIyMTIKKyAgICAgICAgICAgICBJU090ZWNoCitvIExBTkctNjY6ICAgU3RyaW5nRXNjYXBlci5lc2NhcGVYbWwoKSBlc2NhcGVzIGNoYXJhY3RlcnMgPiAweDdmLgorbyBMQU5HLTY2MjogIG9yZy5hcGFjaGUuY29tbW9ucy5sYW5nMy5tYXRoLkZyYWN0aW9uIGRvZXMgbm90IHJlZHVjZQorICAgICAgICAgICAgIChJbnRlZ2VyLk1JTl9WQUxVRSwgMl5rKQorbyBMQU5HLTY2MzogIG9yZy5hcGFjaGUuY29tbW9ucy5sYW5nMy5tYXRoLkZyYWN0aW9uIGRvZXMgbm90IGFsd2F5cyBzdWNjZWVkIGluCisgICAgICAgICAgICAgbXVsdGlwbHlCeSBhbmQgZGl2aWRlQnkKK28gTEFORy02NjQ6ICBOdW1iZXJVdGlscy5pc051bWJlcihTdHJpbmcpIGlzIG5vdCByaWdodCB3aGVuIHRoZSBTdHJpbmcgaXMKKyAgICAgICAgICAgICAiMS4xTCIKK28gTEFORy02NzI6ICBEb2MgYnVnIGluIERhdGVVdGlscyNjZWlsaW5nCitvIExBTkctNjc3OiAgRGF0ZVV0aWxzLmlzU2FtZUxvY2FsVGltZSBjb21wYXJlcyB1c2luZyAxMiBob3VyIGNsb2NrIGFuZCBub3QKKyAgICAgICAgICAgICAyNCBob3VyCitvIExBTkctNjg1OiAgRXF1YWxzQnVpbGRlciBzeW5jaHJvbml6ZXMgb24gSGFzaENvZGVCdWlsZGVyLgorbyBMQU5HLTcwMzogIFN0cmluZ1V0aWxzLmpvaW4gdGhyb3dzIE5QRSB3aGVuIHRvU3RyaW5nIHJldHVybnMgbnVsbCBmb3Igb25lIG9mCisgICAgICAgICAgICAgb2JqZWN0cyBpbiBjb2xsZWN0aW9uCitvIExBTkctNzEwOiAgU3RyaW5nSW5kZXhPdXRPZkJvdW5kc0V4Y2VwdGlvbiB3aGVuIGNhbGxpbmcgdW5lc2NhcGVIdG1sNCgiJiMwMyIpCitvIExBTkctNzE0OiAgU3RyaW5nVXRpbHMgZG9jL2NvbW1lbnQgc3BlbGxpbmcgZml4ZXMuCitvIExBTkctNzE1OiAgQ2hhclNldFV0aWxzLnNxdWVlemUoKSBzcGVlZHVwLgorbyBMQU5HLTcxNjogIHN3YXBDYXNlIGFuZCAqY2FwaXRhbGl6ZSBzcGVlZHVwcy4KKworCitIaXN0b3JpY2FsIGxpc3Qgb2YgY2hhbmdlczogaHR0cDovL2NvbW1vbnMuYXBhY2hlLm9yZy9sYW5nL2NoYW5nZXMtcmVwb3J0Lmh0bWwKKworRm9yIGNvbXBsZXRlIGluZm9ybWF0aW9uIG9uIENvbW1vbnMgTGFuZywgaW5jbHVkaW5nIGluc3RydWN0aW9ucyBvbiBob3cgdG8KK3N1Ym1pdCBidWcgcmVwb3J0cywgcGF0Y2hlcywgb3Igc3VnZ2VzdGlvbnMgZm9yIGltcHJvdmVtZW50LCBzZWUgdGhlIAorQXBhY2hlIENvbW1vbnMgTGFuZyB3ZWJzaXRlOgorCitodHRwOi8vY29tbW9ucy5hcGFjaGUub3JnL2xhbmcvCisKK0hhdmUgZnVuIQorLUFwYWNoZSBDb21tb25zIExhbmcgdGVhbQorCmRpZmYgLS1naXQgYS9zcmMvc2l0ZS94ZG9jL2luZGV4LnhtbCBiL3NyYy9zaXRlL3hkb2MvaW5kZXgueG1sCmluZGV4IGYyMWQ2MzQuLjIyYTg4NjggMTAwNjQ0Ci0tLSBhL3NyYy9zaXRlL3hkb2MvaW5kZXgueG1sCisrKyBiL3NyYy9zaXRlL3hkb2MvaW5kZXgueG1sCkBAIC01MCw3ICs1MCw3IEBACiBUaGUgSmF2YURvYyBBUEkgZG9jdW1lbnRzIGFyZSBhdmFpbGFibGUgb25saW5lOgogPC9wPgogPHVsPgotPGxpPlRoZSA8YSBocmVmPSJqYXZhZG9jcy9hcGktMy4yL2luZGV4Lmh0bWwiPmN1cnJlbnQgc3RhYmxlIHJlbGVhc2UgMy4yPC9hPiBbSmF2YSA2LjArXTwvbGk+Cis8bGk+VGhlIDxhIGhyZWY9ImphdmFkb2NzL2FwaS0zLjIuMS9pbmRleC5odG1sIj5jdXJyZW50IHN0YWJsZSByZWxlYXNlIDMuMi4xPC9hPiBbSmF2YSA2LjArXTwvbGk+CiA8bGk+VGhlIDxhIGhyZWY9ImphdmFkb2NzL2FwaS0yLjYvaW5kZXguaHRtbCI+bGVnYWN5IHJlbGVhc2UgMi42PC9hPiBbSmF2YSAxLjIrXTwvbGk+CiA8bGk+T2xkZXIgcmVsZWFzZXMgLSBzZWUgdGhlIDxhIGhyZWY9InJlbGVhc2UtaGlzdG9yeS5odG1sIj5SZWxlYXNlIEhpc3Rvcnk8L2E+IHBhZ2U8L2xpPgogPC91bD4KQEAgLTY0LDIzICs2NCwyMyBAQAogPC9zZWN0aW9uPgogPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4KIDxzZWN0aW9uIG5hbWU9IlJlbGVhc2UgSW5mb3JtYXRpb24iPgotPHA+VGhlIGxhdGVzdCBzdGFibGUgcmVsZWFzZSBvZiBMYW5nIGlzIDMuMi4gWW91IG1heTogPC9wPgorPHA+VGhlIGxhdGVzdCBzdGFibGUgcmVsZWFzZSBvZiBMYW5nIGlzIDMuMi4xLiBZb3UgbWF5OiA8L3A+CiA8dWw+Ci08bGk+RG93bmxvYWQgPGEgaHJlZj0iaHR0cDovL2NvbW1vbnMuYXBhY2hlLm9yZy9sYW5nL2Rvd25sb2FkX2xhbmcuY2dpIj4zLjI8L2E+PC9saT4KLTxsaT5SZWFkIHRoZSA8YSBocmVmPSJyZWxlYXNlLW5vdGVzL1JFTEVBU0UtTk9URVMtMy4yLnR4dCI+My4yIHJlbGVhc2Ugbm90ZXM8L2E+PC9saT4KKzxsaT5Eb3dubG9hZCA8YSBocmVmPSJodHRwOi8vY29tbW9ucy5hcGFjaGUub3JnL2xhbmcvZG93bmxvYWRfbGFuZy5jZ2kiPjMuMi4xPC9hPjwvbGk+Cis8bGk+UmVhZCB0aGUgPGEgaHJlZj0icmVsZWFzZS1ub3Rlcy9SRUxFQVNFLU5PVEVTLTMuMi4xLnR4dCI+My4yLjEgcmVsZWFzZSBub3RlczwvYT48L2xpPgogPGxpPkV4YW1pbmUgdGhlIDxhIGhyZWY9ImFydGljbGUzXzAuaHRtbCI+Mi54IHRvIDMuMCB1cGdyYWRlIG5vdGVzPC9hPjwvbGk+CiA8bGk+Q29tcGFyZSBtYWpvciB2ZXJzaW9ucyB2aWEgdGhlIDxhIGhyZWY9ImxhbmcyLWxhbmczLWNsaXJyLXJlcG9ydC5odG1sIj5MYW5nMiB0byBMYW5nMyBDbGlyciByZXBvcnQ8L2E+PC9saT4KIDwvdWw+CiAKLTxwPlRoZSA8YSBocmVmPSJjbGlyci1yZXBvcnQuaHRtbCI+Q2xpcnIgcmVwb3J0PC9hPiBmb3IgcmVsZWFzZSAzLjIgc2hvd3MgdGhyZWUgZXJyb3JzIGluIDxjb2RlPm9yZy5hcGFjaGUuY29tbW9ucy5sYW5nMy50aW1lLkZhc3REYXRlRm9ybWF0PC9jb2RlPi4gVGhlc2UgYXJlIGFzc3VtZWQgbm90IHRvIGFmZmVjdCBjbGllbnQgY29kZS4gRm9yIG1vcmUgaW5mb3JtYXRpb24gcGxlYXNlIHNlZSB0aGUKLTxhIGhyZWY9InJlbGVhc2Utbm90ZXMvUkVMRUFTRS1OT1RFUy0zLjIudHh0Ij5yZWxlYXNlIG5vdGVzPC9hPi48L3A+Cis8cD5UaGUgPGEgaHJlZj0iY2xpcnItcmVwb3J0Lmh0bWwiPkNsaXJyIHJlcG9ydDwvYT4gZm9yIHJlbGVhc2UgMy4yLjEgc2hvd3MgdGhyZWUgZXJyb3JzIGluIDxjb2RlPm9yZy5hcGFjaGUuY29tbW9ucy5sYW5nMy50aW1lLkZhc3REYXRlRm9ybWF0PC9jb2RlPi4gVGhlc2Ugd2VyZSBpbnRyb2R1Y2VkIGluIHJlbGVhc2UgMy4yIGFuZCBhcmUgYXNzdW1lZCBub3QgdG8gYWZmZWN0IGNsaWVudCBjb2RlLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiBwbGVhc2Ugc2VlIHRoZQorPGEgaHJlZj0icmVsZWFzZS1ub3Rlcy9SRUxFQVNFLU5PVEVTLTMuMi4xLnR4dCI+cmVsZWFzZSBub3RlczwvYT4uPC9wPgogCiA8cD4KIEFsdGVybmF0aXZlbHkgeW91IGNhbiBwdWxsIGl0IGZyb20gdGhlIGNlbnRyYWwgTWF2ZW4gcmVwb3NpdG9yaWVzOgogPHByZT4KICAgJmx0O2dyb3VwSWQmZ3Q7b3JnLmFwYWNoZS5jb21tb25zJmx0Oy9ncm91cElkJmd0OwogICAmbHQ7YXJ0aWZhY3RJZCZndDtjb21tb25zLWxhbmczJmx0Oy9hcnRpZmFjdElkJmd0OwotICAmbHQ7dmVyc2lvbiZndDszLjImbHQ7L3ZlcnNpb24mZ3Q7CisgICZsdDt2ZXJzaW9uJmd0OzMuMi4xJmx0Oy92ZXJzaW9uJmd0OwogPC9wcmU+CiA8L3A+CiAKZGlmZiAtLWdpdCBhL3NyYy9zaXRlL3hkb2MvcmVsZWFzZS1oaXN0b3J5LnhtbCBiL3NyYy9zaXRlL3hkb2MvcmVsZWFzZS1oaXN0b3J5LnhtbAppbmRleCAyYjAxNTNhLi5hODVkMjkwIDEwMDY0NAotLS0gYS9zcmMvc2l0ZS94ZG9jL3JlbGVhc2UtaGlzdG9yeS54bWwKKysrIGIvc3JjL3NpdGUveGRvYy9yZWxlYXNlLWhpc3RvcnkueG1sCkBAIC0yOCw2ICsyOCw3IEBACiAKIDx0YWJsZT4KIDx0cj48dGg+VmVyc2lvbjwvdGg+PHRoPlJlbGVhc2UgZGF0ZTwvdGg+PHRoPkphdmFkb2M8L3RoPjx0aD5SZWxlYXNlIG5vdGVzPC90aD48L3RyPgorPHRyPjx0ZD4zLjIuMTwvdGQ+PHRkPjA1L0phbi8xNDwvdGQ+PHRkPjxhIGhyZWY9ImphdmFkb2NzL2FwaS0zLjIuMS8iPmFwaS0zLjIuMTwvYT48L3RkPjx0ZD48YSBocmVmPSJyZWxlYXNlLW5vdGVzL1JFTEVBU0UtTk9URVMtMy4yLjEudHh0Ij5yZWxlYXNlIG5vdGVzIGZvciAzLjIuMTwvYT48L3RkPjwvdHI+CiA8dHI+PHRkPjMuMjwvdGQ+PHRkPjAxL0phbi8xNDwvdGQ+PHRkPjxhIGhyZWY9ImphdmFkb2NzL2FwaS0zLjIvIj5hcGktMy4yPC9hPjwvdGQ+PHRkPjxhIGhyZWY9InJlbGVhc2Utbm90ZXMvUkVMRUFTRS1OT1RFUy0zLjIudHh0Ij5yZWxlYXNlIG5vdGVzIGZvciAzLjI8L2E+PC90ZD48L3RyPgogPHRyPjx0ZD4zLjE8L3RkPjx0ZD4xNC9Ob3YvMTE8L3RkPjx0ZD48YSBocmVmPSJqYXZhZG9jcy9hcGktMy4xLyI+YXBpLTMuMTwvYT48L3RkPjx0ZD48YSBocmVmPSJyZWxlYXNlLW5vdGVzL1JFTEVBU0UtTk9URVMtMy4xLnR4dCI+cmVsZWFzZSBub3RlcyBmb3IgMy4xPC9hPjwvdGQ+PC90cj4KIDx0cj48dGQ+My4wLjE8L3RkPjx0ZD45L0F1Zy8xMTwvdGQ+PHRkPjxhIGhyZWY9ImphdmFkb2NzL2FwaS0zLjAuMS8iPmFwaS0zLjAuMTwvYT48L3RkPjx0ZD48YSBocmVmPSJyZWxlYXNlLW5vdGVzL1JFTEVBU0UtTk9URVMtMy4wLjEudHh0Ij5yZWxlYXNlIG5vdGVzIGZvciAzLjAuMTwvYT48L3RkPjwvdHI+Cg==