ZGlmZiAtLWdpdCBhL0NSRURJVFMgYi9DUkVESVRTCmluZGV4IDk5NTY2YjEuLmVlOTA5ZjIgMTAwNjQ0Ci0tLSBhL0NSRURJVFMKKysrIGIvQ1JFRElUUwpAQCAtOTU5LDcgKzk1OSw3IEBACiBTOiBCb3VsZGVyLCBDb2xvcmFkbyA4MDMwMgogUzogVVNBCiAKLU46IEhlaWtvIEVpc3NmZWxkdAorTjogSGVpa28gRWnDn2ZlbGR0CiBFOiBoZWlrb0Bjb2xvc3N1cy5lc2NhcGUuZGUgaGVpa29AdW5pZml4LmRlCiBEOiB2ZXJpZnlfYXJlYSBzdHVmZiwgZ2VuZXJpYyBTQ1NJIGZpeGVzCiBEOiBTQ1NJIFByb2dyYW1taW5nIEhPV1RPCkBAIC0xOTg4LDggKzE5ODgsOCBAQAogRTogdmxAa2tpLm9yZwogRDogS2VybmVsIHNtYmZzICh0byBtb3VudCBXZlcsIE5UIGFuZCBPUy8yIG5ldHdvcmsgZHJpdmVzLikKIEQ6IE5DUCBmaWxlc3lzdGVtIHN1cHBvcnQgKHRvIG1vdW50IE5ldFdhcmUgdm9sdW1lcykKLVM6IFZvbiBPc3NpZXR6a3kgU3RyLiAxMgotUzogMzcwODUgR29ldHRpbmdlbgorUzogVm9uLU9zc2lldHpreS1TdHIuIDEyCitTOiAzNzA4NSBHw7Z0dGluZ2VuCiBTOiBHZXJtYW55CiAKIE46IEtldmluIExlbnRpbgpAQCAtMjQzMSwxMSArMjQzMSwxMSBAQAogUzogQmVhdmVydG9uLCBPcmVnb24gOTcwMDUKIFM6IFVTQQogCi1OOiBFYmVyaGFyZCBNb2Vua2ViZXJnCitOOiBFYmVyaGFyZCBNw7Zua2ViZXJnCiBFOiBlbW9lbmtlQGd3ZGcuZGUKIEQ6IENEUk9NIGRyaXZlciAic2JwY2QiIChNYXRzdXNoaXRhL1BhbmFzb25pYy9Tb3VuZGJsYXN0ZXIpCi1TOiBSdWhzdHJhdGhvZWhlIDIgYi4KLVM6IEQtMzcwODUgR29ldHRpbmdlbgorUzogUnVoc3RyYXRow7ZoZSAyIGIuCitTOiBELTM3MDg1IEfDtnR0aW5nZW4KIFM6IEdlcm1hbnkKIAogTjogVGhvbWFzIE1vbGluYQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9jZHJvbS9jZHJvbS1zdGFuZGFyZC50ZXggYi9Eb2N1bWVudGF0aW9uL2Nkcm9tL2Nkcm9tLXN0YW5kYXJkLnRleAppbmRleCA5MmY5NGU1Li5jNzEzYWViIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2Nkcm9tL2Nkcm9tLXN0YW5kYXJkLnRleAorKysgYi9Eb2N1bWVudGF0aW9uL2Nkcm9tL2Nkcm9tLXN0YW5kYXJkLnRleApAQCAtMTAwOSw3ICsxMDA5LDcgQEAKIFxjZHJvbS1yZWxhdGVkIGNvZGUgaW4gdGhlIDIuMS1rZXJuZWwuICBUaGFua3MgdG8gU2NvdHQgU255ZGVyIGFuZAogR2VyZCBLbm9yciwgd2hvIHdlcmUgdGhlIGZpcnN0IHRvIGltcGxlbWVudCB0aGlzIGludGVyZmFjZSBmb3IgU0NTSQogYW5kIElERS1DRCBkcml2ZXJzIGFuZCBhZGRlZCBtYW55IGlkZWFzIGZvciBleHRlbnNpb24gb2YgdGhlIGRhdGEKLXN0cnVjdHVyZXMgcmVsYXRpdmUgdG8ga2VybmVsfjIuMC4gIEZ1cnRoZXIgdGhhbmtzIHRvIEhlaWtvIEVpc3NmZWxkdCwKK3N0cnVjdHVyZXMgcmVsYXRpdmUgdG8ga2VybmVsfjIuMC4gIEZ1cnRoZXIgdGhhbmtzIHRvIEhlaWtvIEVpe1xzen1mZWxkdCwKIFRob21hcyBRdWlub3QsIEpvbiBUb21icywgS2VuIFBpenppbmksIEViZXJoYXJkIE1cIm9ua2ViZXJnIGFuZCBBbmRyZXcKIEtyb2xsLCB0aGUgXGxpbnV4XCBcY2Ryb21cIGRldmljZSBkcml2ZXIgZGV2ZWxvcGVycyB3aG8gd2VyZSBraW5kCiBlbm91Z2ggdG8gZ2l2ZSBzdWdnZXN0aW9ucyBhbmQgY3JpdGljaXNtcyBkdXJpbmcgdGhlIHdyaXRpbmcuIEZpbmFsbHkKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vaXNkbi9DUkVESVRTIGIvRG9jdW1lbnRhdGlvbi9pc2RuL0NSRURJVFMKaW5kZXggN2MxN2M4My4uOGNhYzZjMiAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9pc2RuL0NSRURJVFMKKysrIGIvRG9jdW1lbnRhdGlvbi9pc2RuL0NSRURJVFMKQEAgLTQwLDcgKzQwLDcgQEAKIFBlZHJvIFJvcXVlIE1hcnF1ZXMgKHJvcXVlQGRpLmZjLnVsLnB0KQogICBGb3IgbG90IG9mIG5ldyBpZGVhcyBhbmQgdGhlIHBjYml0IGRyaXZlci4KIAotRWJlcmhhcmQgTW9lbmtlYmVyZyAoZW1vZW5rZUBnd2RnLmRlKQorRWJlcmhhcmQgTcO2bmtlYmVyZyAoZW1vZW5rZUBnd2RnLmRlKQogICBGb3IgdGVzdGluZyBhbmQgaGVscCB0byBnZXQgaW50byBrZXJuZWwuCiAKIFRob21hcyBOZXVtYW5uICh0bkBydWhyLmRlKQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9zcGkvcHhhMnh4IGIvRG9jdW1lbnRhdGlvbi9zcGkvcHhhMnh4CmluZGV4IDIxNWUzYjguLmYzODUzY2MgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vc3BpL3B4YTJ4eAorKysgYi9Eb2N1bWVudGF0aW9uL3NwaS9weGEyeHgKQEAgLTEsNCArMSw0IEBACi3vu79QWEEyeHggU1BJIG9uIFNTUCBkcml2ZXIgSE9XVE8KK1BYQTJ4eCBTUEkgb24gU1NQIGRyaXZlciBIT1dUTwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiBUaGlzIGEgbWluaSBob3d0byBvbiB0aGUgcHhhMnh4X3NwaSBkcml2ZXIuICBUaGUgZHJpdmVyIHR1cm5zIGEgUFhBMnh4CiBzeW5jaHJvbm91cyBzZXJpYWwgcG9ydCBpbnRvIGEgU1BJIG1hc3RlciBjb250cm9sbGVyCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9tYXAxL2lycS5jIGIvYXJjaC9hcm0vbWFjaC1vbWFwMS9pcnEuYwppbmRleCAwNzMzMDc4Li4xZGE5ZDU5IDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLW9tYXAxL2lycS5jCisrKyBiL2FyY2gvYXJtL21hY2gtb21hcDEvaXJxLmMKQEAgLTUsNyArNSw3IEBACiAgKgogICogQ29weXJpZ2h0IChDKSAyMDA0IE5va2lhIENvcnBvcmF0aW9uCiAgKiBXcml0dGVuIGJ5IFRvbnkgTGluZGdyZW4gPHRvbnlAYXRvbWlkZS5jb20+Ci0gKiBNYWpvciBjbGVhbnVwcyBieSBKdWhhIFlyavZs5CA8anVoYS55cmpvbGFAbm9raWEuY29tPgorICogTWFqb3IgY2xlYW51cHMgYnkgSnVoYSBZcmrDtmzDpCA8anVoYS55cmpvbGFAbm9raWEuY29tPgogICoKICAqIENvbXBsZXRlbHkgcmUtd3JpdHRlbiB0byBzdXBwb3J0IHZhcmlvdXMgT01BUCBjaGlwcyB3aXRoIGJhbmsgc3BlY2lmaWMKICAqIGludGVycnVwdCBoYW5kbGVycy4KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb21hcDIvdGltZXItZ3AuYyBiL2FyY2gvYXJtL21hY2gtb21hcDIvdGltZXItZ3AuYwppbmRleCA2MmU4MDFlLi44ZDMyMmMyIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLW9tYXAyL3RpbWVyLWdwLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi90aW1lci1ncC5jCkBAIC01LDcgKzUsNyBAQAogICoKICAqIENvcHlyaWdodCAoQykgMjAwNSBOb2tpYSBDb3Jwb3JhdGlvbgogICogQXV0aG9yOiBQYXVsIE11bmR0IDxwYXVsLm11bmR0QG5va2lhLmNvbT4KLSAqICAgICAgICAgSnVoYSBZcmr2bOQgPGp1aGEueXJqb2xhQG5va2lhLmNvbT4KKyAqICAgICAgICAgSnVoYSBZcmrDtmzDpCA8anVoYS55cmpvbGFAbm9raWEuY29tPgogICogT01BUCBEdWFsLW1vZGUgdGltZXIgZnJhbWV3b3JrIHN1cHBvcnQgYnkgVGltbyBUZXJhcwogICoKICAqIFNvbWUgcGFydHMgYmFzZWQgb2ZmIG9mIFRJJ3MgMjR4eCBjb2RlOgpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbndmcGUvZnBvcGNvZGUuaCBiL2FyY2gvYXJtL253ZnBlL2Zwb3Bjb2RlLmgKaW5kZXggMDA5MGIxOS4uNzg2ZTRjOSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbndmcGUvZnBvcGNvZGUuaAorKysgYi9hcmNoL2FybS9ud2ZwZS9mcG9wY29kZS5oCkBAIC03OCwxMSArNzgsMTEgQEAKICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLSstLS0rLS0tLS0tLS0tKy0tLS0tLS0tLSsKIHwgIFByZWNpc2lvbiAgICAgICAgICAgICAgfCB1IHwgdiB8IEZQU1IuRVAgfCBsZW5ndGggIHwKICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLSstLS0rLS0tLS0tLS0tKy0tLS0tLS0tLSsKLXwgU2luZ2xlICAgICAgICAgICAgICAgICAgfCAwIPwgMCB8ICAgIHggICAgfCAxIHdvcmRzIHwKLXwgRG91YmxlICAgICAgICAgICAgICAgICAgfCAxIPwgMSB8ICAgIHggICAgfCAyIHdvcmRzIHwKLXwgRXh0ZW5kZWQgICAgICAgICAgICAgICAgfCAxIPwgMSB8ICAgIHggICAgfCAzIHdvcmRzIHwKLXwgUGFja2VkIGRlY2ltYWwgICAgICAgICAgfCAxIPwgMSB8ICAgIDAgICAgfCAzIHdvcmRzIHwKLXwgRXhwYW5kZWQgcGFja2VkIGRlY2ltYWwgfCAxIPwgMSB8ICAgIDEgICAgfCA0IHdvcmRzIHwKK3wgU2luZ2xlICAgICAgICAgICAgICAgICAgfCAwIHwgMCB8ICAgIHggICAgfCAxIHdvcmRzIHwKK3wgRG91YmxlICAgICAgICAgICAgICAgICAgfCAxIHwgMSB8ICAgIHggICAgfCAyIHdvcmRzIHwKK3wgRXh0ZW5kZWQgICAgICAgICAgICAgICAgfCAxIHwgMSB8ICAgIHggICAgfCAzIHdvcmRzIHwKK3wgUGFja2VkIGRlY2ltYWwgICAgICAgICAgfCAxIHwgMSB8ICAgIDAgICAgfCAzIHdvcmRzIHwKK3wgRXhwYW5kZWQgcGFja2VkIGRlY2ltYWwgfCAxIHwgMSB8ICAgIDEgICAgfCA0IHdvcmRzIHwKICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLSstLS0rLS0tLS0tLS0tKy0tLS0tLS0tLSsKIE5vdGU6IHggPSBkb24ndCBjYXJlCiAqLwpAQCAtOTIsMTAgKzkyLDEwIEBACiArLS0tKy0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCiB8IHcgfCB4IHwgTnVtYmVyIG9mIHJlZ2lzdGVycyB0byB0cmFuc2ZlciB8CiArLS0tKy0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCi18IDAg/CAxIHwgIDEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18IDEg/CAwIHwgIDIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18IDEg/CAxIHwgIDMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18IDAg/CAwIHwgIDQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Cit8IDAgfCAxIHwgIDEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Cit8IDEgfCAwIHwgIDIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Cit8IDEgfCAxIHwgIDMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Cit8IDAgfCAwIHwgIDQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CiArLS0tKy0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCiAqLwogCkBAIC0xNTYsMTAgKzE1NiwxMCBAQAogKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tKy0tLSsKIHwgIFJvdW5kaW5nIFByZWNpc2lvbiAgICAgfCBlIHwgZiB8CiArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0rLS0tKwotfCBJRUVFIFNpbmdsZSBwcmVjaXNpb24gICB8IDAg/CAwIHwKLXwgSUVFRSBEb3VibGUgcHJlY2lzaW9uICAgfCAwIPwgMSB8Ci18IElFRUUgRXh0ZW5kZWQgcHJlY2lzaW9uIHwgMSD8IDAgfAotfCB1bmRlZmluZWQgKHRyYXApICAgICAgICB8IDEg/CAxIHwKK3wgSUVFRSBTaW5nbGUgcHJlY2lzaW9uICAgfCAwIHwgMCB8Cit8IElFRUUgRG91YmxlIHByZWNpc2lvbiAgIHwgMCB8IDEgfAorfCBJRUVFIEV4dGVuZGVkIHByZWNpc2lvbiB8IDEgfCAwIHwKK3wgdW5kZWZpbmVkICh0cmFwKSAgICAgICAgfCAxIHwgMSB8CiArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0rLS0tKwogKi8KIApAQCAtMTY4LDEwICsxNjgsMTAgQEAKICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tKy0tLSsKIHwgIFJvdW5kaW5nIE1vZGUgICAgICAgICAgICAgICAgICB8IGcgfCBoIHwKICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tKy0tLSsKLXwgUm91bmQgdG8gbmVhcmVzdCAoZGVmYXVsdCkgICAgICB8IDAg/CAwIHwKLXwgUm91bmQgdG93YXJkIHBsdXMgaW5maW5pdHkgICAgICB8IDAg/CAxIHwKLXwgUm91bmQgdG93YXJkIG5lZ2F0aXZlIGluZmluaXR5ICB8IDEg/CAwIHwKLXwgUm91bmQgdG93YXJkIHplcm8gICAgICAgICAgICAgICB8IDEg/CAxIHwKK3wgUm91bmQgdG8gbmVhcmVzdCAoZGVmYXVsdCkgICAgICB8IDAgfCAwIHwKK3wgUm91bmQgdG93YXJkIHBsdXMgaW5maW5pdHkgICAgICB8IDAgfCAxIHwKK3wgUm91bmQgdG93YXJkIG5lZ2F0aXZlIGluZmluaXR5ICB8IDEgfCAwIHwKK3wgUm91bmQgdG93YXJkIHplcm8gICAgICAgICAgICAgICB8IDEgfCAxIHwKICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tKy0tLSsKICovCiAKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL3BsYXQtb21hcC9kbWEuYyBiL2FyY2gvYXJtL3BsYXQtb21hcC9kbWEuYwppbmRleCAwNWEzODQ5Li5kY2JiYTA3IDEwMDY0NAotLS0gYS9hcmNoL2FybS9wbGF0LW9tYXAvZG1hLmMKKysrIGIvYXJjaC9hcm0vcGxhdC1vbWFwL2RtYS5jCkBAIC0yLDcgKzIsNyBAQAogICogbGludXgvYXJjaC9hcm0vcGxhdC1vbWFwL2RtYS5jCiAgKgogICogQ29weXJpZ2h0IChDKSAyMDAzIE5va2lhIENvcnBvcmF0aW9uCi0gKiBBdXRob3I6IEp1aGEgWXJq9mzkIDxqdWhhLnlyam9sYUBub2tpYS5jb20+CisgKiBBdXRob3I6IEp1aGEgWXJqw7Zsw6QgPGp1aGEueXJqb2xhQG5va2lhLmNvbT4KICAqIERNQSBjaGFubmVsIGxpbmtpbmcgZm9yIDE2MTAgYnkgU2FtdWVsIE9ydGl6IDxzYW11ZWwub3J0aXpAbm9raWEuY29tPgogICogR3JhcGhpY3MgRE1BIGFuZCBMQ0QgRE1BIGdyYXBoaWNzIHRyYW5mb3JtYXRpb25zCiAgKiBieSBJbXJlIERlYWsgPGltcmUuZGVha0Bub2tpYS5jb20+CmRpZmYgLS1naXQgYS9hcmNoL2FybS9wbGF0LW9tYXAvZ3Bpby5jIGIvYXJjaC9hcm0vcGxhdC1vbWFwL2dwaW8uYwppbmRleCAzMzc0NTVkLi42MDk3NzUzIDEwMDY0NAotLS0gYS9hcmNoL2FybS9wbGF0LW9tYXAvZ3Bpby5jCisrKyBiL2FyY2gvYXJtL3BsYXQtb21hcC9ncGlvLmMKQEAgLTQsNyArNCw3IEBACiAgKiBTdXBwb3J0IGZ1bmN0aW9ucyBmb3IgT01BUCBHUElPCiAgKgogICogQ29weXJpZ2h0IChDKSAyMDAzLTIwMDUgTm9raWEgQ29ycG9yYXRpb24KLSAqIFdyaXR0ZW4gYnkgSnVoYSBZcmr2bOQgPGp1aGEueXJqb2xhQG5va2lhLmNvbT4KKyAqIFdyaXR0ZW4gYnkgSnVoYSBZcmrDtmzDpCA8anVoYS55cmpvbGFAbm9raWEuY29tPgogICoKICAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiAgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcwpkaWZmIC0tZ2l0IGEvYXJjaC9tNjhrL2lmcHNwMDYwL0NIQU5HRVMgYi9hcmNoL202OGsvaWZwc3AwNjAvQ0hBTkdFUwppbmRleCBjMWU3MTJkLi5iYTk2NTk2IDEwMDY0NAotLS0gYS9hcmNoL202OGsvaWZwc3AwNjAvQ0hBTkdFUworKysgYi9hcmNoL202OGsvaWZwc3AwNjAvQ0hBTkdFUwpAQCAtNCw3ICs0LDcgQEAKIE02ODA2MCBTb2Z0d2FyZSBQYWNrYWdlCiBQcm9kdWN0aW9uIFJlbGVhc2UgUDEuMDAgLS0gT2N0b2JlciAxMCwgMTk5NAogCi1NNjgwNjAgU29mdHdhcmUgUGFja2FnZSBDb3B5cmlnaHQgqSAxOTkzLCAxOTk0IE1vdG9yb2xhIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCitNNjgwNjAgU29mdHdhcmUgUGFja2FnZSBDb3B5cmlnaHQgwqkgMTk5MywgMTk5NCBNb3Rvcm9sYSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogCiBUSEUgU09GVFdBUkUgaXMgcHJvdmlkZWQgb24gYW4gIkFTIElTIiBiYXNpcyBhbmQgd2l0aG91dCB3YXJyYW50eS4KIFRvIHRoZSBtYXhpbXVtIGV4dGVudCBwZXJtaXR0ZWQgYnkgYXBwbGljYWJsZSBsYXcsCmRpZmYgLS1naXQgYS9hcmNoL202OGsvaWZwc3AwNjAvTUlTQyBiL2FyY2gvbTY4ay9pZnBzcDA2MC9NSVNDCmluZGV4IGI3ZTY0NGIuLjFhNjM5MTMgMTAwNjQ0Ci0tLSBhL2FyY2gvbTY4ay9pZnBzcDA2MC9NSVNDCisrKyBiL2FyY2gvbTY4ay9pZnBzcDA2MC9NSVNDCkBAIC00LDcgKzQsNyBAQAogTTY4MDYwIFNvZnR3YXJlIFBhY2thZ2UKIFByb2R1Y3Rpb24gUmVsZWFzZSBQMS4wMCAtLSBPY3RvYmVyIDEwLCAxOTk0CiAKLU02ODA2MCBTb2Z0d2FyZSBQYWNrYWdlIENvcHlyaWdodCCpIDE5OTMsIDE5OTQgTW90b3JvbGEgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KK002ODA2MCBTb2Z0d2FyZSBQYWNrYWdlIENvcHlyaWdodCDCqSAxOTkzLCAxOTk0IE1vdG9yb2xhIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAKIFRIRSBTT0ZUV0FSRSBpcyBwcm92aWRlZCBvbiBhbiAiQVMgSVMiIGJhc2lzIGFuZCB3aXRob3V0IHdhcnJhbnR5LgogVG8gdGhlIG1heGltdW0gZXh0ZW50IHBlcm1pdHRlZCBieSBhcHBsaWNhYmxlIGxhdywKZGlmZiAtLWdpdCBhL2FyY2gvbTY4ay9pZnBzcDA2MC9SRUFETUUgYi9hcmNoL202OGsvaWZwc3AwNjAvUkVBRE1FCmluZGV4IGUzYmNlZDQuLmY2ZjhmNWMgMTAwNjQ0Ci0tLSBhL2FyY2gvbTY4ay9pZnBzcDA2MC9SRUFETUUKKysrIGIvYXJjaC9tNjhrL2lmcHNwMDYwL1JFQURNRQpAQCAtNCw3ICs0LDcgQEAKIE02ODA2MCBTb2Z0d2FyZSBQYWNrYWdlCiBQcm9kdWN0aW9uIFJlbGVhc2UgUDEuMDAgLS0gT2N0b2JlciAxMCwgMTk5NAogCi1NNjgwNjAgU29mdHdhcmUgUGFja2FnZSBDb3B5cmlnaHQgqSAxOTkzLCAxOTk0IE1vdG9yb2xhIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCitNNjgwNjAgU29mdHdhcmUgUGFja2FnZSBDb3B5cmlnaHQgwqkgMTk5MywgMTk5NCBNb3Rvcm9sYSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogCiBUSEUgU09GVFdBUkUgaXMgcHJvdmlkZWQgb24gYW4gIkFTIElTIiBiYXNpcyBhbmQgd2l0aG91dCB3YXJyYW50eS4KIFRvIHRoZSBtYXhpbXVtIGV4dGVudCBwZXJtaXR0ZWQgYnkgYXBwbGljYWJsZSBsYXcsCmRpZmYgLS1naXQgYS9hcmNoL202OGsvaWZwc3AwNjAvVEVTVC5ET0MgYi9hcmNoL202OGsvaWZwc3AwNjAvVEVTVC5ET0MKaW5kZXggNWU1OTAwYy4uMWJhM2FlZiAxMDA2NDQKLS0tIGEvYXJjaC9tNjhrL2lmcHNwMDYwL1RFU1QuRE9DCisrKyBiL2FyY2gvbTY4ay9pZnBzcDA2MC9URVNULkRPQwpAQCAtNCw3ICs0LDcgQEAKIE02ODA2MCBTb2Z0d2FyZSBQYWNrYWdlCiBQcm9kdWN0aW9uIFJlbGVhc2UgUDEuMDAgLS0gT2N0b2JlciAxMCwgMTk5NAogCi1NNjgwNjAgU29mdHdhcmUgUGFja2FnZSBDb3B5cmlnaHQgqSAxOTkzLCAxOTk0IE1vdG9yb2xhIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCitNNjgwNjAgU29mdHdhcmUgUGFja2FnZSBDb3B5cmlnaHQgwqkgMTk5MywgMTk5NCBNb3Rvcm9sYSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogCiBUSEUgU09GVFdBUkUgaXMgcHJvdmlkZWQgb24gYW4gIkFTIElTIiBiYXNpcyBhbmQgd2l0aG91dCB3YXJyYW50eS4KIFRvIHRoZSBtYXhpbXVtIGV4dGVudCBwZXJtaXR0ZWQgYnkgYXBwbGljYWJsZSBsYXcsCmRpZmYgLS1naXQgYS9hcmNoL202OGsvaWZwc3AwNjAvZnBsc3AuZG9jIGIvYXJjaC9tNjhrL2lmcHNwMDYwL2ZwbHNwLmRvYwppbmRleCBmYjYzN2M0Li44OTczMGE5IDEwMDY0NAotLS0gYS9hcmNoL202OGsvaWZwc3AwNjAvZnBsc3AuZG9jCisrKyBiL2FyY2gvbTY4ay9pZnBzcDA2MC9mcGxzcC5kb2MKQEAgLTQsNyArNCw3IEBACiBNNjgwNjAgU29mdHdhcmUgUGFja2FnZQogUHJvZHVjdGlvbiBSZWxlYXNlIFAxLjAwIC0tIE9jdG9iZXIgMTAsIDE5OTQKIAotTTY4MDYwIFNvZnR3YXJlIFBhY2thZ2UgQ29weXJpZ2h0IKkgMTk5MywgMTk5NCBNb3Rvcm9sYSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorTTY4MDYwIFNvZnR3YXJlIFBhY2thZ2UgQ29weXJpZ2h0IMKpIDE5OTMsIDE5OTQgTW90b3JvbGEgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KIAogVEhFIFNPRlRXQVJFIGlzIHByb3ZpZGVkIG9uIGFuICJBUyBJUyIgYmFzaXMgYW5kIHdpdGhvdXQgd2FycmFudHkuCiBUbyB0aGUgbWF4aW11bSBleHRlbnQgcGVybWl0dGVkIGJ5IGFwcGxpY2FibGUgbGF3LApkaWZmIC0tZ2l0IGEvYXJjaC9tNjhrL2lmcHNwMDYwL2Zwc3AuZG9jIGIvYXJjaC9tNjhrL2lmcHNwMDYwL2Zwc3AuZG9jCmluZGV4IDQwODMxNTIuLjIzZDUxM2YgMTAwNjQ0Ci0tLSBhL2FyY2gvbTY4ay9pZnBzcDA2MC9mcHNwLmRvYworKysgYi9hcmNoL202OGsvaWZwc3AwNjAvZnBzcC5kb2MKQEAgLTQsNyArNCw3IEBACiBNNjgwNjAgU29mdHdhcmUgUGFja2FnZQogUHJvZHVjdGlvbiBSZWxlYXNlIFAxLjAwIC0tIE9jdG9iZXIgMTAsIDE5OTQKIAotTTY4MDYwIFNvZnR3YXJlIFBhY2thZ2UgQ29weXJpZ2h0IKkgMTk5MywgMTk5NCBNb3Rvcm9sYSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorTTY4MDYwIFNvZnR3YXJlIFBhY2thZ2UgQ29weXJpZ2h0IMKpIDE5OTMsIDE5OTQgTW90b3JvbGEgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KIAogVEhFIFNPRlRXQVJFIGlzIHByb3ZpZGVkIG9uIGFuICJBUyBJUyIgYmFzaXMgYW5kIHdpdGhvdXQgd2FycmFudHkuCiBUbyB0aGUgbWF4aW11bSBleHRlbnQgcGVybWl0dGVkIGJ5IGFwcGxpY2FibGUgbGF3LApkaWZmIC0tZ2l0IGEvYXJjaC9tNjhrL2lmcHNwMDYwL2Zza2VsZXRvbi5TIGIvYXJjaC9tNjhrL2lmcHNwMDYwL2Zza2VsZXRvbi5TCmluZGV4IGE0NWE0ZmYuLjBhMWFlNGYgMTAwNjQ0Ci0tLSBhL2FyY2gvbTY4ay9pZnBzcDA2MC9mc2tlbGV0b24uUworKysgYi9hcmNoL202OGsvaWZwc3AwNjAvZnNrZWxldG9uLlMKQEAgLTQsNyArNCw3IEBACiB8TTY4MDYwIFNvZnR3YXJlIFBhY2thZ2UKIHxQcm9kdWN0aW9uIFJlbGVhc2UgUDEuMDAgLS0gT2N0b2JlciAxMCwgMTk5NAogfAotfE02ODA2MCBTb2Z0d2FyZSBQYWNrYWdlIENvcHlyaWdodCCpIDE5OTMsIDE5OTQgTW90b3JvbGEgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KK3xNNjgwNjAgU29mdHdhcmUgUGFja2FnZSBDb3B5cmlnaHQgwqkgMTk5MywgMTk5NCBNb3Rvcm9sYSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogfAogfFRIRSBTT0ZUV0FSRSBpcyBwcm92aWRlZCBvbiBhbiAiQVMgSVMiIGJhc2lzIGFuZCB3aXRob3V0IHdhcnJhbnR5LgogfFRvIHRoZSBtYXhpbXVtIGV4dGVudCBwZXJtaXR0ZWQgYnkgYXBwbGljYWJsZSBsYXcsCmRpZmYgLS1naXQgYS9hcmNoL202OGsvaWZwc3AwNjAvaWxzcC5kb2MgYi9hcmNoL202OGsvaWZwc3AwNjAvaWxzcC5kb2MKaW5kZXggZjZmYWU2ZC4uNGU2MjkyZiAxMDA2NDQKLS0tIGEvYXJjaC9tNjhrL2lmcHNwMDYwL2lsc3AuZG9jCisrKyBiL2FyY2gvbTY4ay9pZnBzcDA2MC9pbHNwLmRvYwpAQCAtNCw3ICs0LDcgQEAKIE02ODA2MCBTb2Z0d2FyZSBQYWNrYWdlCiBQcm9kdWN0aW9uIFJlbGVhc2UgUDEuMDAgLS0gT2N0b2JlciAxMCwgMTk5NAogCi1NNjgwNjAgU29mdHdhcmUgUGFja2FnZSBDb3B5cmlnaHQgqSAxOTkzLCAxOTk0IE1vdG9yb2xhIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCitNNjgwNjAgU29mdHdhcmUgUGFja2FnZSBDb3B5cmlnaHQgwqkgMTk5MywgMTk5NCBNb3Rvcm9sYSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogCiBUSEUgU09GVFdBUkUgaXMgcHJvdmlkZWQgb24gYW4gIkFTIElTIiBiYXNpcyBhbmQgd2l0aG91dCB3YXJyYW50eS4KIFRvIHRoZSBtYXhpbXVtIGV4dGVudCBwZXJtaXR0ZWQgYnkgYXBwbGljYWJsZSBsYXcsCmRpZmYgLS1naXQgYS9hcmNoL202OGsvaWZwc3AwNjAvaXNrZWxldG9uLlMgYi9hcmNoL202OGsvaWZwc3AwNjAvaXNrZWxldG9uLlMKaW5kZXggYjJkYmRmNS4uOTFhOWM2NSAxMDA2NDQKLS0tIGEvYXJjaC9tNjhrL2lmcHNwMDYwL2lza2VsZXRvbi5TCisrKyBiL2FyY2gvbTY4ay9pZnBzcDA2MC9pc2tlbGV0b24uUwpAQCAtNCw3ICs0LDcgQEAKIHxNNjgwNjAgU29mdHdhcmUgUGFja2FnZQogfFByb2R1Y3Rpb24gUmVsZWFzZSBQMS4wMCAtLSBPY3RvYmVyIDEwLCAxOTk0CiB8Ci18TTY4MDYwIFNvZnR3YXJlIFBhY2thZ2UgQ29weXJpZ2h0IKkgMTk5MywgMTk5NCBNb3Rvcm9sYSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorfE02ODA2MCBTb2Z0d2FyZSBQYWNrYWdlIENvcHlyaWdodCDCqSAxOTkzLCAxOTk0IE1vdG9yb2xhIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiB8CiB8VEhFIFNPRlRXQVJFIGlzIHByb3ZpZGVkIG9uIGFuICJBUyBJUyIgYmFzaXMgYW5kIHdpdGhvdXQgd2FycmFudHkuCiB8VG8gdGhlIG1heGltdW0gZXh0ZW50IHBlcm1pdHRlZCBieSBhcHBsaWNhYmxlIGxhdywKZGlmZiAtLWdpdCBhL2FyY2gvbTY4ay9pZnBzcDA2MC9pc3AuZG9jIGIvYXJjaC9tNjhrL2lmcHNwMDYwL2lzcC5kb2MKaW5kZXggNWE5MGZkZS4uOWRhZGQ3MiAxMDA2NDQKLS0tIGEvYXJjaC9tNjhrL2lmcHNwMDYwL2lzcC5kb2MKKysrIGIvYXJjaC9tNjhrL2lmcHNwMDYwL2lzcC5kb2MKQEAgLTQsNyArNCw3IEBACiBNNjgwNjAgU29mdHdhcmUgUGFja2FnZQogUHJvZHVjdGlvbiBSZWxlYXNlIFAxLjAwIC0tIE9jdG9iZXIgMTAsIDE5OTQKIAotTTY4MDYwIFNvZnR3YXJlIFBhY2thZ2UgQ29weXJpZ2h0IKkgMTk5MywgMTk5NCBNb3Rvcm9sYSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorTTY4MDYwIFNvZnR3YXJlIFBhY2thZ2UgQ29weXJpZ2h0IMKpIDE5OTMsIDE5OTQgTW90b3JvbGEgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KIAogVEhFIFNPRlRXQVJFIGlzIHByb3ZpZGVkIG9uIGFuICJBUyBJUyIgYmFzaXMgYW5kIHdpdGhvdXQgd2FycmFudHkuCiBUbyB0aGUgbWF4aW11bSBleHRlbnQgcGVybWl0dGVkIGJ5IGFwcGxpY2FibGUgbGF3LApkaWZmIC0tZ2l0IGEvYXJjaC9tNjhrL2lmcHNwMDYwL29zLlMgYi9hcmNoL202OGsvaWZwc3AwNjAvb3MuUwppbmRleCBhYTRkZjg3Li43YTBkNmU0IDEwMDY0NAotLS0gYS9hcmNoL202OGsvaWZwc3AwNjAvb3MuUworKysgYi9hcmNoL202OGsvaWZwc3AwNjAvb3MuUwpAQCAtNCw3ICs0LDcgQEAKIHxNNjgwNjAgU29mdHdhcmUgUGFja2FnZQogfFByb2R1Y3Rpb24gUmVsZWFzZSBQMS4wMCAtLSBPY3RvYmVyIDEwLCAxOTk0CiB8Ci18TTY4MDYwIFNvZnR3YXJlIFBhY2thZ2UgQ29weXJpZ2h0IKkgMTk5MywgMTk5NCBNb3Rvcm9sYSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorfE02ODA2MCBTb2Z0d2FyZSBQYWNrYWdlIENvcHlyaWdodCDCqSAxOTkzLCAxOTk0IE1vdG9yb2xhIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiB8CiB8VEhFIFNPRlRXQVJFIGlzIHByb3ZpZGVkIG9uIGFuICJBUyBJUyIgYmFzaXMgYW5kIHdpdGhvdXQgd2FycmFudHkuCiB8VG8gdGhlIG1heGltdW0gZXh0ZW50IHBlcm1pdHRlZCBieSBhcHBsaWNhYmxlIGxhdywKZGlmZiAtLWdpdCBhL2FyY2gvbTY4ay9pZnBzcDA2MC9zcmMvZnBsc3AuUyBiL2FyY2gvbTY4ay9pZnBzcDA2MC9zcmMvZnBsc3AuUwppbmRleCBmZGI3OWI5Li4zYjdlYTJkIDEwMDY0NAotLS0gYS9hcmNoL202OGsvaWZwc3AwNjAvc3JjL2ZwbHNwLlMKKysrIGIvYXJjaC9tNjhrL2lmcHNwMDYwL3NyYy9mcGxzcC5TCkBAIC00LDcgKzQsNyBAQAogTTY4MDYwIFNvZnR3YXJlIFBhY2thZ2UKIFByb2R1Y3Rpb24gUmVsZWFzZSBQMS4wMCAtLSBPY3RvYmVyIDEwLCAxOTk0CiAKLU02ODA2MCBTb2Z0d2FyZSBQYWNrYWdlIENvcHlyaWdodCCpIDE5OTMsIDE5OTQgTW90b3JvbGEgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KK002ODA2MCBTb2Z0d2FyZSBQYWNrYWdlIENvcHlyaWdodCDCqSAxOTkzLCAxOTk0IE1vdG9yb2xhIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAKIFRIRSBTT0ZUV0FSRSBpcyBwcm92aWRlZCBvbiBhbiAiQVMgSVMiIGJhc2lzIGFuZCB3aXRob3V0IHdhcnJhbnR5LgogVG8gdGhlIG1heGltdW0gZXh0ZW50IHBlcm1pdHRlZCBieSBhcHBsaWNhYmxlIGxhdywKZGlmZiAtLWdpdCBhL2FyY2gvbTY4ay9pZnBzcDA2MC9zcmMvZnBzcC5TIGIvYXJjaC9tNjhrL2lmcHNwMDYwL3NyYy9mcHNwLlMKaW5kZXggM2I1OTdhOS4uNmMxYTlhMiAxMDA2NDQKLS0tIGEvYXJjaC9tNjhrL2lmcHNwMDYwL3NyYy9mcHNwLlMKKysrIGIvYXJjaC9tNjhrL2lmcHNwMDYwL3NyYy9mcHNwLlMKQEAgLTQsNyArNCw3IEBACiBNNjgwNjAgU29mdHdhcmUgUGFja2FnZQogUHJvZHVjdGlvbiBSZWxlYXNlIFAxLjAwIC0tIE9jdG9iZXIgMTAsIDE5OTQKIAotTTY4MDYwIFNvZnR3YXJlIFBhY2thZ2UgQ29weXJpZ2h0IKkgMTk5MywgMTk5NCBNb3Rvcm9sYSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorTTY4MDYwIFNvZnR3YXJlIFBhY2thZ2UgQ29weXJpZ2h0IMKpIDE5OTMsIDE5OTQgTW90b3JvbGEgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KIAogVEhFIFNPRlRXQVJFIGlzIHByb3ZpZGVkIG9uIGFuICJBUyBJUyIgYmFzaXMgYW5kIHdpdGhvdXQgd2FycmFudHkuCiBUbyB0aGUgbWF4aW11bSBleHRlbnQgcGVybWl0dGVkIGJ5IGFwcGxpY2FibGUgbGF3LApkaWZmIC0tZ2l0IGEvYXJjaC9tNjhrL2lmcHNwMDYwL3NyYy9mdGVzdC5TIGIvYXJjaC9tNjhrL2lmcHNwMDYwL3NyYy9mdGVzdC5TCmluZGV4IDJlZGNiYWUuLjFmOTQ3OTEgMTAwNjQ0Ci0tLSBhL2FyY2gvbTY4ay9pZnBzcDA2MC9zcmMvZnRlc3QuUworKysgYi9hcmNoL202OGsvaWZwc3AwNjAvc3JjL2Z0ZXN0LlMKQEAgLTQsNyArNCw3IEBACiBNNjgwNjAgU29mdHdhcmUgUGFja2FnZQogUHJvZHVjdGlvbiBSZWxlYXNlIFAxLjAwIC0tIE9jdG9iZXIgMTAsIDE5OTQKIAotTTY4MDYwIFNvZnR3YXJlIFBhY2thZ2UgQ29weXJpZ2h0IKkgMTk5MywgMTk5NCBNb3Rvcm9sYSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorTTY4MDYwIFNvZnR3YXJlIFBhY2thZ2UgQ29weXJpZ2h0IMKpIDE5OTMsIDE5OTQgTW90b3JvbGEgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KIAogVEhFIFNPRlRXQVJFIGlzIHByb3ZpZGVkIG9uIGFuICJBUyBJUyIgYmFzaXMgYW5kIHdpdGhvdXQgd2FycmFudHkuCiBUbyB0aGUgbWF4aW11bSBleHRlbnQgcGVybWl0dGVkIGJ5IGFwcGxpY2FibGUgbGF3LApkaWZmIC0tZ2l0IGEvYXJjaC9tNjhrL2lmcHNwMDYwL3NyYy9pbHNwLlMgYi9hcmNoL202OGsvaWZwc3AwNjAvc3JjL2lsc3AuUwppbmRleCBhZmE3NDIyLi45NzBhYmFmIDEwMDY0NAotLS0gYS9hcmNoL202OGsvaWZwc3AwNjAvc3JjL2lsc3AuUworKysgYi9hcmNoL202OGsvaWZwc3AwNjAvc3JjL2lsc3AuUwpAQCAtNCw3ICs0LDcgQEAKIE02ODA2MCBTb2Z0d2FyZSBQYWNrYWdlCiBQcm9kdWN0aW9uIFJlbGVhc2UgUDEuMDAgLS0gT2N0b2JlciAxMCwgMTk5NAogCi1NNjgwNjAgU29mdHdhcmUgUGFja2FnZSBDb3B5cmlnaHQgqSAxOTkzLCAxOTk0IE1vdG9yb2xhIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCitNNjgwNjAgU29mdHdhcmUgUGFja2FnZSBDb3B5cmlnaHQgwqkgMTk5MywgMTk5NCBNb3Rvcm9sYSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogCiBUSEUgU09GVFdBUkUgaXMgcHJvdmlkZWQgb24gYW4gIkFTIElTIiBiYXNpcyBhbmQgd2l0aG91dCB3YXJyYW50eS4KIFRvIHRoZSBtYXhpbXVtIGV4dGVudCBwZXJtaXR0ZWQgYnkgYXBwbGljYWJsZSBsYXcsCmRpZmYgLS1naXQgYS9hcmNoL202OGsvaWZwc3AwNjAvc3JjL2lzcC5TIGIvYXJjaC9tNjhrL2lmcHNwMDYwL3NyYy9pc3AuUwppbmRleCBiMjY5MDkxLi42ZGNjZGE3IDEwMDY0NAotLS0gYS9hcmNoL202OGsvaWZwc3AwNjAvc3JjL2lzcC5TCisrKyBiL2FyY2gvbTY4ay9pZnBzcDA2MC9zcmMvaXNwLlMKQEAgLTQsNyArNCw3IEBACiBNNjgwNjAgU29mdHdhcmUgUGFja2FnZQogUHJvZHVjdGlvbiBSZWxlYXNlIFAxLjAwIC0tIE9jdG9iZXIgMTAsIDE5OTQKIAotTTY4MDYwIFNvZnR3YXJlIFBhY2thZ2UgQ29weXJpZ2h0IKkgMTk5MywgMTk5NCBNb3Rvcm9sYSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorTTY4MDYwIFNvZnR3YXJlIFBhY2thZ2UgQ29weXJpZ2h0IMKpIDE5OTMsIDE5OTQgTW90b3JvbGEgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KIAogVEhFIFNPRlRXQVJFIGlzIHByb3ZpZGVkIG9uIGFuICJBUyBJUyIgYmFzaXMgYW5kIHdpdGhvdXQgd2FycmFudHkuCiBUbyB0aGUgbWF4aW11bSBleHRlbnQgcGVybWl0dGVkIGJ5IGFwcGxpY2FibGUgbGF3LApkaWZmIC0tZ2l0IGEvYXJjaC9tNjhrL2lmcHNwMDYwL3NyYy9pdGVzdC5TIGIvYXJjaC9tNjhrL2lmcHNwMDYwL3NyYy9pdGVzdC5TCmluZGV4IGJhNGEzMGMuLmJlY2E0N2UgMTAwNjQ0Ci0tLSBhL2FyY2gvbTY4ay9pZnBzcDA2MC9zcmMvaXRlc3QuUworKysgYi9hcmNoL202OGsvaWZwc3AwNjAvc3JjL2l0ZXN0LlMKQEAgLTQsNyArNCw3IEBACiBNNjgwNjAgU29mdHdhcmUgUGFja2FnZQogUHJvZHVjdGlvbiBSZWxlYXNlIFAxLjAwIC0tIE9jdG9iZXIgMTAsIDE5OTQKIAotTTY4MDYwIFNvZnR3YXJlIFBhY2thZ2UgQ29weXJpZ2h0IKkgMTk5MywgMTk5NCBNb3Rvcm9sYSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorTTY4MDYwIFNvZnR3YXJlIFBhY2thZ2UgQ29weXJpZ2h0IMKpIDE5OTMsIDE5OTQgTW90b3JvbGEgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KIAogVEhFIFNPRlRXQVJFIGlzIHByb3ZpZGVkIG9uIGFuICJBUyBJUyIgYmFzaXMgYW5kIHdpdGhvdXQgd2FycmFudHkuCiBUbyB0aGUgbWF4aW11bSBleHRlbnQgcGVybWl0dGVkIGJ5IGFwcGxpY2FibGUgbGF3LApkaWZmIC0tZ2l0IGEvYXJjaC9tNjhrL2lmcHNwMDYwL3NyYy9wZnBzcC5TIGIvYXJjaC9tNjhrL2lmcHNwMDYwL3NyYy9wZnBzcC5TCmluZGV4IDBjOTk3YzQuLjUxYjlmN2QgMTAwNjQ0Ci0tLSBhL2FyY2gvbTY4ay9pZnBzcDA2MC9zcmMvcGZwc3AuUworKysgYi9hcmNoL202OGsvaWZwc3AwNjAvc3JjL3BmcHNwLlMKQEAgLTQsNyArNCw3IEBACiBNNjgwNjAgU29mdHdhcmUgUGFja2FnZQogUHJvZHVjdGlvbiBSZWxlYXNlIFAxLjAwIC0tIE9jdG9iZXIgMTAsIDE5OTQKIAotTTY4MDYwIFNvZnR3YXJlIFBhY2thZ2UgQ29weXJpZ2h0IKkgMTk5MywgMTk5NCBNb3Rvcm9sYSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorTTY4MDYwIFNvZnR3YXJlIFBhY2thZ2UgQ29weXJpZ2h0IMKpIDE5OTMsIDE5OTQgTW90b3JvbGEgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KIAogVEhFIFNPRlRXQVJFIGlzIHByb3ZpZGVkIG9uIGFuICJBUyBJUyIgYmFzaXMgYW5kIHdpdGhvdXQgd2FycmFudHkuCiBUbyB0aGUgbWF4aW11bSBleHRlbnQgcGVybWl0dGVkIGJ5IGFwcGxpY2FibGUgbGF3LApkaWZmIC0tZ2l0IGEvYXJjaC9tNjhrL3Rvb2xzL2FtaWdhL2RtZXNnLmMgYi9hcmNoL202OGsvdG9vbHMvYW1pZ2EvZG1lc2cuYwppbmRleCBlODkyNzQ4Li43MzQwZjViIDEwMDY0NAotLS0gYS9hcmNoL202OGsvdG9vbHMvYW1pZ2EvZG1lc2cuYworKysgYi9hcmNoL202OGsvdG9vbHMvYW1pZ2EvZG1lc2cuYwpAQCAtMyw3ICszLDcgQEAKICAqCQkJCQkgICBpbiBDaGlwIFJBTSB3aXRoIHRoZSBrZXJuZWwgY29tbWFuZAogICoJCQkJCSAgIGxpbmUgb3B0aW9uIGBkZWJ1Zz1tZW0nLgogICoKLSAqICCpIENvcHlyaWdodCAxOTk2IGJ5IEdlZXJ0IFV5dHRlcmhvZXZlbiA8Z2VlcnRAbGludXgtbTY4ay5vcmc+CisgKiAgwqkgQ29weXJpZ2h0IDE5OTYgYnkgR2VlcnQgVXl0dGVyaG9ldmVuIDxnZWVydEBsaW51eC1tNjhrLm9yZz4KICAqCiAgKgogICogIFVzYWdlOgpkaWZmIC0tZ2l0IGEvYXJjaC9wb3dlcnBjL2tlcm5lbC9sMmNyXzZ4eC5TIGIvYXJjaC9wb3dlcnBjL2tlcm5lbC9sMmNyXzZ4eC5TCmluZGV4IDg1OGYyOGEuLjJhMmYzYzMgMTAwNjQ0Ci0tLSBhL2FyY2gvcG93ZXJwYy9rZXJuZWwvbDJjcl82eHguUworKysgYi9hcmNoL3Bvd2VycGMva2VybmVsL2wyY3JfNnh4LlMKQEAgLTEsNiArMSw2IEBACiAvKgogCUwyQ1IgZnVuY3Rpb25zCi0JQ29weXJpZ2h0IKkgMTk5Ny0xOTk4IGJ5IFBvd2VyTG9naXggUiAmIEQsIEluYy4KKwlDb3B5cmlnaHQgwqkgMTk5Ny0xOTk4IGJ5IFBvd2VyTG9naXggUiAmIEQsIEluYy4KIAogCVRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiAJaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKZGlmZiAtLWdpdCBhL2FyY2gvcG93ZXJwYy9wbGF0Zm9ybXMvY2VsbC9zcHVmcy9maWxlLmMgYi9hcmNoL3Bvd2VycGMvcGxhdGZvcm1zL2NlbGwvc3B1ZnMvZmlsZS5jCmluZGV4IGQ3MmIxNmQ2Li5kOWU1NmE1IDEwMDY0NAotLS0gYS9hcmNoL3Bvd2VycGMvcGxhdGZvcm1zL2NlbGwvc3B1ZnMvZmlsZS5jCisrKyBiL2FyY2gvcG93ZXJwYy9wbGF0Zm9ybXMvY2VsbC9zcHVmcy9maWxlLmMKQEAgLTc0OCw3ICs3NDgsNyBAQAogCWlmIChjb3VudCkKIAkJZ290byBvdXQ7CiAKLQkvKiB3cml0ZSBh0ZUgbXVjaCBhcyBwb3NzaWJsZSAqLworCS8qIHdyaXRlIGFzIG11Y2ggYXMgcG9zc2libGUgKi8KIAlmb3IgKGNvdW50ID0gNCwgdWRhdGErKzsgKGNvdW50ICsgNCkgPD0gbGVuOyBjb3VudCArPSA0LCB1ZGF0YSsrKSB7CiAJCWludCByZXQ7CiAJCXJldCA9IF9fZ2V0X3VzZXIod2JveF9kYXRhLCB1ZGF0YSk7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvY3B1L2NwdWZyZXEvcG93ZXJub3ctazYuYyBiL2FyY2gveDg2L2tlcm5lbC9jcHUvY3B1ZnJlcS9wb3dlcm5vdy1rNi5jCmluZGV4IDZkMDI4NTMuLmEwN2Y2ZDggMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9jcHUvY3B1ZnJlcS9wb3dlcm5vdy1rNi5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9jcHUvY3B1ZnJlcS9wb3dlcm5vdy1rNi5jCkBAIC0xLDYgKzEsNiBAQAogLyoKICAqICBUaGlzIGZpbGUgd2FzIGJhc2VkIHVwb24gY29kZSBpbiBQb3dlcnR3ZWFrIExpbnV4IChodHRwOi8vcG93ZXJ0d2Vhay5zZi5uZXQpCi0gKiAgKEMpIDIwMDAtMjAwMyAgRGF2ZSBKb25lcywgQXJqYW4gdmFuIGRlIFZlbiwgSmFubmUgUORua+Rs5CwgRG9taW5payBCcm9kb3dza2kuCisgKiAgKEMpIDIwMDAtMjAwMyAgRGF2ZSBKb25lcywgQXJqYW4gdmFuIGRlIFZlbiwgSmFubmUgUMOkbmvDpGzDpCwgRG9taW5payBCcm9kb3dza2kuCiAgKgogICogIExpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdQTCBMaWNlbnNlIHZlcnNpb24gMi4KICAqCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvY3B1L2N5cml4LmMgYi9hcmNoL3g4Ni9rZXJuZWwvY3B1L2N5cml4LmMKaW5kZXggMTIyZDJkNy4uNjVmYTYzNiAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL2NwdS9jeXJpeC5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9jcHUvY3lyaXguYwpAQCAtMTE1LDkgKzExNSw5IEBACiAKIAlwcmludGsoS0VSTl9JTkZPICJFbmFibGUgTWVtb3J5IGFjY2VzcyByZW9yZGVyIG9uIEN5cml4L05TQyBwcm9jZXNzb3IuXG4iKTsKIAljY3IzID0gZ2V0Q3g4NihDWDg2X0NDUjMpOwotCXNldEN4ODYoQ1g4Nl9DQ1IzLCAoY2NyMyAmIDB4MGYpIHwgMHgxMCk7IC8qIGVuYWJsZSBNQVBFTqAgKi8KKwlzZXRDeDg2KENYODZfQ0NSMywgKGNjcjMgJiAweDBmKSB8IDB4MTApOyAvKiBlbmFibGUgTUFQRU4gKi8KIAotCS8qIExvYWQvU3RvcmUgU2VyaWFsaXplIHRvIG1lbSBhY2Nlc3MgZGlzYWJsZSAoPXJlb3JkZXIgaXQpoCAqLworCS8qIExvYWQvU3RvcmUgU2VyaWFsaXplIHRvIG1lbSBhY2Nlc3MgZGlzYWJsZSAoPXJlb3JkZXIgaXQpICovCiAJc2V0Q3g4NihDWDg2X1BDUjAsIGdldEN4ODYoQ1g4Nl9QQ1IwKSAmIH4weDgwKTsKIAkvKiBzZXQgbG9hZC9zdG9yZSBzZXJpYWxpemUgZnJvbSAxR0IgdG8gNEdCICovCiAJY2NyMyB8PSAweGUwOwpAQCAtMTQ2LDcgKzE0Niw3IEBACiAJcHJpbnRrKEtFUk5fSU5GTyAiRW5hYmxlIEluY3JlbWVudG9yIG9uIEN5cml4L05TQyBwcm9jZXNzb3IuXG4iKTsKIAogCWNjcjMgPSBnZXRDeDg2KENYODZfQ0NSMyk7Ci0Jc2V0Q3g4NihDWDg2X0NDUjMsIChjY3IzICYgMHgwZikgfCAweDEwKTsgLyogZW5hYmxlIE1BUEVOoCAqLworCXNldEN4ODYoQ1g4Nl9DQ1IzLCAoY2NyMyAmIDB4MGYpIHwgMHgxMCk7IC8qIGVuYWJsZSBNQVBFTiAqLwogCS8qIFBDUjEgLS0gUGVyZm9ybWFuY2UgQ29udHJvbCAqLwogCS8qIEluY3JlbWVudG9yIG9uLCB3aGF0ZXZlciB0aGF0IGlzICovCiAJc2V0Q3g4NihDWDg2X1BDUjEsIGdldEN4ODYoQ1g4Nl9QQ1IxKSB8IDB4MDIpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ibG9jay9sb29wLmMgYi9kcml2ZXJzL2Jsb2NrL2xvb3AuYwppbmRleCA1ODljYmJkLi41NmUyMzA0MiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ibG9jay9sb29wLmMKKysrIGIvZHJpdmVycy9ibG9jay9sb29wLmMKQEAgLTI5LDcgKzI5LDcgQEAKICAqCiAgKiBNYXhpbXVtIG51bWJlciBvZiBsb29wIGRldmljZXMgd2hlbiBjb21waWxlZC1pbiBub3cgc2VsZWN0YWJsZSBieSBwYXNzaW5nCiAgKiBtYXhfbG9vcD08MS0yNTU+IHRvIHRoZSBrZXJuZWwgb24gYm9vdC4KLSAqIEVyaWsgSS4gQm9sc/gsIDxlcmlraUBoaW1vbGRlLm5vPiwgT2N0IDMxLCAxOTk5CisgKiBFcmlrIEkuIEJvbHPDuCwgPGVyaWtpQGhpbW9sZGUubm8+LCBPY3QgMzEsIDE5OTkKICAqCiAgKiBDb21wbGV0ZWx5IHJld3JpdGUgcmVxdWVzdCBoYW5kbGluZyB0byBiZSBtYWtlX3JlcXVlc3RfZm4gc3R5bGUgYW5kCiAgKiBub24gYmxvY2tpbmcsIHB1c2hpbmcgd29yayB0byBhIGhlbHBlciB0aHJlYWQuIExvdHMgb2YgZml4ZXMgZnJvbQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2N5Y2xhZGVzLmMgYi9kcml2ZXJzL2NoYXIvY3ljbGFkZXMuYwppbmRleCBkMTUyMzRjLi41MjNhNmI0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2NoYXIvY3ljbGFkZXMuYworKysgYi9kcml2ZXJzL2NoYXIvY3ljbGFkZXMuYwpAQCAtMzU5LDcgKzM1OSw3IEBACiAgKgogICogUmV2aXNpb24gMS4zNi4zLjggIDE5OTYvMDYvMDcgMTY6Mjk6MDAgIGJlbnRzb24KICAqIHN0YXJ0aW5nIG1pbm9yIG51bWJlciBhdCB6ZXJvOyBhZGRlZCBtaXNzaW5nIHZlcmlmeV9hcmVhCi0gKiBhcyBub3RlZCBieSBIZWlrbyBFaXNzZmVsZHQgPGhlaWtvQGNvbG9zc3VzLmVzY2FwZS5kZT4KKyAqIGFzIG5vdGVkIGJ5IEhlaWtvIEVpw59mZWxkdCA8aGVpa29AY29sb3NzdXMuZXNjYXBlLmRlPgogICoKICAqIFJldmlzaW9uIDEuMzYuMy43ICAxOTk2LzA0LzE5IDIxOjA2OjE4ICBiZW50c29uCiAgKiByZW1vdmUgdW5uZWVkZWQgYm9vdCBtZXNzYWdlICYgZml4IENMT0NBTCBoYXJkd2FyZSBmbG93CmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL2RybV9oYXNodGFiLmMgYi9kcml2ZXJzL2NoYXIvZHJtL2RybV9oYXNodGFiLmMKaW5kZXggM2FkMzE5MC4uNGI4ZTdkYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL2RybS9kcm1faGFzaHRhYi5jCisrKyBiL2RyaXZlcnMvY2hhci9kcm0vZHJtX2hhc2h0YWIuYwpAQCAtMjksNyArMjksNyBAQAogICogU2ltcGxlIG9wZW4gaGFzaCB0YWIgaW1wbGVtZW50YXRpb24uCiAgKgogICogQXV0aG9yczoKLSAqIFRob21hcyBIZWxsc3Ry9m0gPHRob21hcy1hdC10dW5nc3RlbmdyYXBoaWNzLWRvdC1jb20+CisgKiBUaG9tYXMgSGVsbHN0csO2bSA8dGhvbWFzLWF0LXR1bmdzdGVuZ3JhcGhpY3MtZG90LWNvbT4KICAqLwogCiAjaW5jbHVkZSAiZHJtUC5oIgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9kcm1faGFzaHRhYi5oIGIvZHJpdmVycy9jaGFyL2RybS9kcm1faGFzaHRhYi5oCmluZGV4IDBmMTM3NjcuLjU3M2UzMzMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY2hhci9kcm0vZHJtX2hhc2h0YWIuaAorKysgYi9kcml2ZXJzL2NoYXIvZHJtL2RybV9oYXNodGFiLmgKQEAgLTI5LDcgKzI5LDcgQEAKICAqIFNpbXBsZSBvcGVuIGhhc2ggdGFiIGltcGxlbWVudGF0aW9uLgogICoKICAqIEF1dGhvcnM6Ci0gKiBUaG9tYXMgSGVsbHN0cvZtIDx0aG9tYXMtYXQtdHVuZ3N0ZW5ncmFwaGljcy1kb3QtY29tPgorICogVGhvbWFzIEhlbGxzdHLDtm0gPHRob21hcy1hdC10dW5nc3RlbmdyYXBoaWNzLWRvdC1jb20+CiAgKi8KIAogI2lmbmRlZiBEUk1fSEFTSFRBQl9ICmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL2RybV9tbS5jIGIvZHJpdmVycy9jaGFyL2RybS9kcm1fbW0uYwppbmRleCAzZTZiYzE0Li44NmY0ZWI2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2NoYXIvZHJtL2RybV9tbS5jCisrKyBiL2RyaXZlcnMvY2hhci9kcm0vZHJtX21tLmMKQEAgLTM4LDcgKzM4LDcgQEAKICAqIEFsaWduZWQgYWxsb2NhdGlvbnMgY2FuIGFsc28gc2VlIGltcHJvdmVtZW50LgogICoKICAqIEF1dGhvcnM6Ci0gKiBUaG9tYXMgSGVsbHN0cvZtIDx0aG9tYXMtYXQtdHVuZ3N0ZW5ncmFwaGljcy1kb3QtY29tPgorICogVGhvbWFzIEhlbGxzdHLDtm0gPHRob21hcy1hdC10dW5nc3RlbmdyYXBoaWNzLWRvdC1jb20+CiAgKi8KIAogI2luY2x1ZGUgImRybVAuaCIKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vZHJtX3BjaS5jIGIvZHJpdmVycy9jaGFyL2RybS9kcm1fcGNpLmMKaW5kZXggZTI5MmJiMC4uYjU1ZDViYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL2RybS9kcm1fcGNpLmMKKysrIGIvZHJpdmVycy9jaGFyL2RybS9kcm1fcGNpLmMKQEAgLTgsMTIgKzgsMTIgQEAKICAqIFx0b2RvIEltcGxlbWVudCB0aGUgcmVtYWluaW5nIGlvY3RsJ3MgZm9yIHRoZSBQQ0kgcG9vbHMuCiAgKiBcdG9kbyBUaGUgd3JhcHBlcnMgaGVyZSBhcmUgc28gdGhpbiB0aGF0IHRoZXkgd291bGQgYmUgYmV0dGVyIG9mZiBpbmxpbmVkLi4KICAqCi0gKiBcYXV0aG9yIEpvc2UgRm9uc2VjYSA8anJmb25zZWNhQHR1bmdzdGVuZ3JhcGhpY3MuY29tPgorICogXGF1dGhvciBKb3PDqSBGb25zZWNhIDxqcmZvbnNlY2FAdHVuZ3N0ZW5ncmFwaGljcy5jb20+CiAgKiBcYXV0aG9yIExlaWYgRGVsZ2FzcyA8bGRlbGdhc3NAcmV0aW5hbGJ1cm4ubmV0PgogICovCiAKIC8qCi0gKiBDb3B5cmlnaHQgMjAwMyBKb3Pvv71Gb25zZWNhLgorICogQ29weXJpZ2h0IDIwMDMgSm9zw6kgRm9uc2VjYS4KICAqIENvcHlyaWdodCAyMDAzIExlaWYgRGVsZ2Fzcy4KICAqIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgKgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9kcm1fc2FyZWEuaCBiL2RyaXZlcnMvY2hhci9kcm0vZHJtX3NhcmVhLmgKaW5kZXggZjU0NjY5Ni4uZTA0MGY0NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL2RybS9kcm1fc2FyZWEuaAorKysgYi9kcml2ZXJzL2NoYXIvZHJtL2RybV9zYXJlYS5oCkBAIC0yLDcgKzIsNyBAQAogICogXGZpbGUgZHJtX3NhcmVhLmgKICAqIFxicmllZiBTQVJFQSBkZWZpbml0aW9ucwogICoKLSAqIFxhdXRob3IgTWljaGVsIETkbnplciA8bWljaGVsQGRhZW56ZXIubmV0PgorICogXGF1dGhvciBNaWNoZWwgRMOkbnplciA8bWljaGVsQGRhZW56ZXIubmV0PgogICovCiAKIC8qCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL2RybV9zbWFuLmMgYi9kcml2ZXJzL2NoYXIvZHJtL2RybV9zbWFuLmMKaW5kZXggODQyMWE5My4uOTI2ZjE0NiAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL2RybS9kcm1fc21hbi5jCisrKyBiL2RyaXZlcnMvY2hhci9kcm0vZHJtX3NtYW4uYwpAQCAtMzMsNyArMzMsNyBAQAogICogc3RydWN0IG9yIGEgY29udGV4dCBpZGVudGlmaWVyLgogICoKICAqIEF1dGhvcnM6Ci0gKiBUaG9tYXMgSGVsbHN0cvZtIDx0aG9tYXMtYXQtdHVuZ3N0ZW5ncmFwaGljcy1kb3QtY29tPgorICogVGhvbWFzIEhlbGxzdHLDtm0gPHRob21hcy1hdC10dW5nc3RlbmdyYXBoaWNzLWRvdC1jb20+CiAgKi8KIAogI2luY2x1ZGUgImRybV9zbWFuLmgiCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL2RybV9zbWFuLmggYi9kcml2ZXJzL2NoYXIvZHJtL2RybV9zbWFuLmgKaW5kZXggMzlhMzlmZS4uMDhlY2Y4MyAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL2RybS9kcm1fc21hbi5oCisrKyBiL2RyaXZlcnMvY2hhci9kcm0vZHJtX3NtYW4uaApAQCAtMzMsNyArMzMsNyBAQAogICogc3RydWN0IG9yIGEgY29udGV4dCBpZGVudGlmaWVyLgogICoKICAqIEF1dGhvcnM6Ci0gKiBUaG9tYXMgSGVsbHN0cvZtIDx0aG9tYXMtYXQtdHVuZ3N0ZW5ncmFwaGljcy1kb3QtY29tPgorICogVGhvbWFzIEhlbGxzdHLDtm0gPHRob21hcy1hdC10dW5nc3RlbmdyYXBoaWNzLWRvdC1jb20+CiAgKi8KIAogI2lmbmRlZiBEUk1fU01BTl9ICmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL3IxMjhfZHJ2LmggYi9kcml2ZXJzL2NoYXIvZHJtL3IxMjhfZHJ2LmgKaW5kZXggMjUwZDJhYS4uNTA0MWJkOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL2RybS9yMTI4X2Rydi5oCisrKyBiL2RyaXZlcnMvY2hhci9kcm0vcjEyOF9kcnYuaApAQCAtMjksNyArMjksNyBAQAogICogICAgUmlja2FyZCBFLiAoUmlrKSBGYWl0aCA8ZmFpdGhAdmFsaW51eC5jb20+CiAgKiAgICBLZXZpbiBFLiBNYXJ0aW4gPG1hcnRpbkB2YWxpbnV4LmNvbT4KICAqICAgIEdhcmV0aCBIdWdoZXMgPGdhcmV0aEB2YWxpbnV4LmNvbT4KLSAqICAgIE1pY2hlbCBE77+9emVyIDxkYWVuemVybUBzdHVkZW50LmV0aHouY2g+CisgKiAgICBNaWNoZWwgRMOkbnplciA8ZGFlbnplcm1Ac3R1ZGVudC5ldGh6LmNoPgogICovCiAKICNpZm5kZWYgX19SMTI4X0RSVl9IX18KZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vcmFkZW9uX2lycS5jIGIvZHJpdmVycy9jaGFyL2RybS9yYWRlb25faXJxLmMKaW5kZXggMmIyNDA3ZS4uODRmNWJjMyAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL2RybS9yYWRlb25faXJxLmMKKysrIGIvZHJpdmVycy9jaGFyL2RybS9yYWRlb25faXJxLmMKQEAgLTI3LDcgKzI3LDcgQEAKICAqCiAgKiBBdXRob3JzOgogICogICAgS2VpdGggV2hpdHdlbGwgPGtlaXRoQHR1bmdzdGVuZ3JhcGhpY3MuY29tPgotICogICAgTWljaGVsIETvv716ZXIgPG1pY2hlbEBkYWVuemVyLm5ldD4KKyAqICAgIE1pY2hlbCBEw6RuemVyIDxtaWNoZWxAZGFlbnplci5uZXQ+CiAgKi8KIAogI2luY2x1ZGUgImRybVAuaCIKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vcmFkZW9uX3N0YXRlLmMgYi9kcml2ZXJzL2NoYXIvZHJtL3JhZGVvbl9zdGF0ZS5jCmluZGV4IDY5YzlmMmZlLi5mODI0ZjJmNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL2RybS9yYWRlb25fc3RhdGUuYworKysgYi9kcml2ZXJzL2NoYXIvZHJtL3JhZGVvbl9zdGF0ZS5jCkBAIC0zMDA1LDcgKzMwMDUsNyBAQAogCQkvKgogCQkgKiBUaGlzIGlvY3RsKCkgZG9lc24ndCB3b3JrIG9uIDY0LWJpdCBwbGF0Zm9ybXMgYmVjYXVzZSBod19sb2NrIGlzIGEKIAkJICogcG9pbnRlciB3aGljaCBjYW4ndCBmaXQgaW50byBhbiBpbnQtc2l6ZWQgdmFyaWFibGUuICBBY2NvcmRpbmcgdG8KLQkJICogTWljaGVsIETkbnplciwgdGhlIGlvY3RsKCkgaXMgb25seSB1c2VkIG9uIGVtYmVkZGVkIHBsYXRmb3Jtcywgc28KKwkJICogTWljaGVsIETDpG56ZXIsIHRoZSBpb2N0bCgpIGlzIG9ubHkgdXNlZCBvbiBlbWJlZGRlZCBwbGF0Zm9ybXMsIHNvCiAJCSAqIG5vdCBzdXBwb3J0aW5nIGl0IHNob3VsZG4ndCBiZSBhIHByb2JsZW0uICBJZiB0aGUgc2FtZSBmdW5jdGlvbmFsaXR5CiAJCSAqIGlzIG5lZWRlZCBvbiA2NC1iaXQgcGxhdGZvcm1zLCBhIG5ldyBpb2N0bCgpIHdvdWxkIGhhdmUgdG8gYmUgYWRkZWQsCiAJCSAqIHNvIGJhY2t3YXJkcy1jb21wYXRpYmlsaXR5IGZvciB0aGUgZW1iZWRkZWQgcGxhdGZvcm1zIGNhbiBiZQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9zaXNfbW0uYyBiL2RyaXZlcnMvY2hhci9kcm0vc2lzX21tLmMKaW5kZXggOGM2NjgzOC4uNmJlMWM1NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL2RybS9zaXNfbW0uYworKysgYi9kcml2ZXJzL2NoYXIvZHJtL3Npc19tbS5jCkBAIC0yOCw3ICsyOCw3IEBACiAKIC8qCiAgKiBBdXRob3JzOgotICogICAgVGhvbWFzIEhlbGxzdHL2bSA8dGhvbWFzLWF0LXR1bmdzdGVuZ3JhcGhpY3MtZG90LWNvbT4KKyAqICAgIFRob21hcyBIZWxsc3Ryw7ZtIDx0aG9tYXMtYXQtdHVuZ3N0ZW5ncmFwaGljcy1kb3QtY29tPgogICovCiAKICNpbmNsdWRlICJkcm1QLmgiCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL3ZpYV9tbS5jIGIvZHJpdmVycy9jaGFyL2RybS92aWFfbW0uYwppbmRleCA5YWZjMTY4Li4zZmZiZjg2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2NoYXIvZHJtL3ZpYV9tbS5jCisrKyBiL2RyaXZlcnMvY2hhci9kcm0vdmlhX21tLmMKQEAgLTIyLDcgKzIyLDcgQEAKICAqIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS4KICAqLwogLyoKLSAqIEF1dGhvcnM6IFRob21hcyBIZWxsc3Ry9m0gPHRob21hcy1hdC10dW5nc3RlbmdyYXBoaWNzLWRvdC1jb20+CisgKiBBdXRob3JzOiBUaG9tYXMgSGVsbHN0csO2bSA8dGhvbWFzLWF0LXR1bmdzdGVuZ3JhcGhpY3MtZG90LWNvbT4KICAqLwogCiAjaW5jbHVkZSAiZHJtUC5oIgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS92aWFfdmVyaWZpZXIuaCBiL2RyaXZlcnMvY2hhci9kcm0vdmlhX3ZlcmlmaWVyLmgKaW5kZXggMjhiNTAyOS4uZDZmODIxNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL2RybS92aWFfdmVyaWZpZXIuaAorKysgYi9kcml2ZXJzL2NoYXIvZHJtL3ZpYV92ZXJpZmllci5oCkBAIC0yMCw3ICsyMCw3IEBACiAgKiBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIKICAqIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS4KICAqCi0gKiBBdXRob3I6IFRob21hcyBIZWxsc3Ry9m0gMjAwNC4KKyAqIEF1dGhvcjogVGhvbWFzIEhlbGxzdHLDtm0gMjAwNC4KICAqLwogCiAjaWZuZGVmIF9WSUFfVkVSSUZJRVJfSF8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9lc3AuYyBiL2RyaXZlcnMvY2hhci9lc3AuYwppbmRleCAwZjhmYjEzLi4yODYwNzc2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2NoYXIvZXNwLmMKKysrIGIvZHJpdmVycy9jaGFyL2VzcC5jCkBAIC0xOSw3ICsxOSw3IEBACiAgKgogICogIHJzX3NldF90ZXJtaW9zIGZpeGVkIHRvIGxvb2sgYWxzbyBmb3IgY2hhbmdlcyBvZiB0aGUgaW5wdXQKICAqICAgICAgZmxhZ3MgSU5QQ0ssIEJSS0lOVCwgUEFSTVJLLCBJR05QQVIgYW5kIElHTkJSSy4KLSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCZXJuZCBBbmjvv71wbCAwNS8xNy85Ni4KKyAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCZXJuZCBBbmjDpHVwbCAwNS8xNy85Ni4KICAqCiAgKiAtLS0gRW5kIG9mIG5vdGljZXMgZnJvbSBzZXJpYWwuYyAtLS0KICAqCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvaHdfcmFuZG9tL29tYXAtcm5nLmMgYi9kcml2ZXJzL2NoYXIvaHdfcmFuZG9tL29tYXAtcm5nLmMKaW5kZXggZTEzZGQxOC4uM2YzNWExYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL2h3X3JhbmRvbS9vbWFwLXJuZy5jCisrKyBiL2RyaXZlcnMvY2hhci9od19yYW5kb20vb21hcC1ybmcuYwpAQCAtMTAsNyArMTAsNyBAQAogICogTW9zdGx5IGJhc2VkIG9uIG9yaWdpbmFsIGRyaXZlcjoKICAqCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDUgTm9raWEgQ29ycG9yYXRpb24KLSAqIEF1dGhvcjogSnVoYSBZcmrvv73vv708anVoYS55cmpvbGFAbm9raWEuY29tPgorICogQXV0aG9yOiBKdWhhIFlyasO2bMOkIDxqdWhhLnlyam9sYUBub2tpYS5jb20+CiAgKgogICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHVuZGVyICB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYwogICogTGljZW5zZSB2ZXJzaW9uIDIuIFRoaXMgcHJvZ3JhbSBpcyBsaWNlbnNlZCAiYXMgaXMiIHdpdGhvdXQgYW55CmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvaThrLmMgYi9kcml2ZXJzL2NoYXIvaThrLmMKaW5kZXggY2Q0MDY0MS4uMzBlNTY0NSAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL2k4ay5jCisrKyBiL2RyaXZlcnMvY2hhci9pOGsuYwpAQCAtMzcxLDE0ICszNzEsMTQgQEAKIAlpbnQgZm5fa2V5LCBjcHVfdGVtcCwgYWNfcG93ZXI7CiAJaW50IGxlZnRfZmFuLCByaWdodF9mYW4sIGxlZnRfc3BlZWQsIHJpZ2h0X3NwZWVkOwogCi0JY3B1X3RlbXAJPSBpOGtfZ2V0X3RlbXAoMCk7CQkJLyogMTExMDAgtXMgKi8KLQlsZWZ0X2Zhbgk9IGk4a19nZXRfZmFuX3N0YXR1cyhJOEtfRkFOX0xFRlQpOwkvKiAgIDU4MCC1cyAqLwotCXJpZ2h0X2Zhbgk9IGk4a19nZXRfZmFuX3N0YXR1cyhJOEtfRkFOX1JJR0hUKTsJLyogICA1ODAgtXMgKi8KLQlsZWZ0X3NwZWVkCT0gaThrX2dldF9mYW5fc3BlZWQoSThLX0ZBTl9MRUZUKTsJLyogICA1ODAgtXMgKi8KLQlyaWdodF9zcGVlZAk9IGk4a19nZXRfZmFuX3NwZWVkKEk4S19GQU5fUklHSFQpOwkvKiAgIDU4MCC1cyAqLwotCWZuX2tleQkJPSBpOGtfZ2V0X2ZuX3N0YXR1cygpOwkJCS8qICAgNzUwILVzICovCisJY3B1X3RlbXAJPSBpOGtfZ2V0X3RlbXAoMCk7CQkJLyogMTExMDAgwrVzICovCisJbGVmdF9mYW4JPSBpOGtfZ2V0X2Zhbl9zdGF0dXMoSThLX0ZBTl9MRUZUKTsJLyogICA1ODAgwrVzICovCisJcmlnaHRfZmFuCT0gaThrX2dldF9mYW5fc3RhdHVzKEk4S19GQU5fUklHSFQpOwkvKiAgIDU4MCDCtXMgKi8KKwlsZWZ0X3NwZWVkCT0gaThrX2dldF9mYW5fc3BlZWQoSThLX0ZBTl9MRUZUKTsJLyogICA1ODAgwrVzICovCisJcmlnaHRfc3BlZWQJPSBpOGtfZ2V0X2Zhbl9zcGVlZChJOEtfRkFOX1JJR0hUKTsJLyogICA1ODAgwrVzICovCisJZm5fa2V5CQk9IGk4a19nZXRfZm5fc3RhdHVzKCk7CQkJLyogICA3NTAgwrVzICovCiAJaWYgKHBvd2VyX3N0YXR1cykKLQkJYWNfcG93ZXIgPSBpOGtfZ2V0X3Bvd2VyX3N0YXR1cygpOwkJLyogMTQ3MDAgtXMgKi8KKwkJYWNfcG93ZXIgPSBpOGtfZ2V0X3Bvd2VyX3N0YXR1cygpOwkJLyogMTQ3MDAgwrVzICovCiAJZWxzZQogCQlhY19wb3dlciA9IC0xOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvc29ueXBpLmMgYi9kcml2ZXJzL2NoYXIvc29ueXBpLmMKaW5kZXggOTc4MmNiNC4uODc3ZTUzZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL3NvbnlwaS5jCisrKyBiL2RyaXZlcnMvY2hhci9zb255cGkuYwpAQCAtNyw3ICs3LDcgQEAKICAqCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDUgTmFyYXlhbmFuIFIgUyA8bmFyc0BrYWRhbWJhLm9yZz4KICAqCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDEtMjAwMiBBbGP0dmUgPHd3dy5hbGNvdmUuY29tPgorICogQ29weXJpZ2h0IChDKSAyMDAxLTIwMDIgQWxjw7R2ZSA8d3d3LmFsY292ZS5jb20+CiAgKgogICogQ29weXJpZ2h0IChDKSAyMDAxIE1pY2hhZWwgQXNobGV5IDxtLmFzaGxleUB1bnN3LmVkdS5hdT4KICAqCmRpZmYgLS1naXQgYS9kcml2ZXJzL2h3bW9uL2dsNTIwc20uYyBiL2RyaXZlcnMvaHdtb24vZ2w1MjBzbS5jCmluZGV4IGEzYjU2YzguLjJkMzlkOGYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaHdtb24vZ2w1MjBzbS5jCisrKyBiL2RyaXZlcnMvaHdtb24vZ2w1MjBzbS5jCkBAIC0yLDcgKzIsNyBAQAogICAgIGdsNTIwc20uYyAtIFBhcnQgb2YgbG1fc2Vuc29ycywgTGludXgga2VybmVsIG1vZHVsZXMgZm9yIGhhcmR3YXJlCiAgICAgICAgICAgICAgICAgbW9uaXRvcmluZwogICAgIENvcHlyaWdodCAoYykgMTk5OCwgMTk5OSAgRnJvZG8gTG9vaWphYXJkIDxmcm9kb2xAZGRzLm5sPiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEt59nN0aSBN5Gxra2kgPGttYWxra2lAY2MuaHV0LmZpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgS3nDtnN0aSBNw6Rsa2tpIDxrbWFsa2tpQGNjLmh1dC5maT4KICAgICBDb3B5cmlnaHQgKGMpIDIwMDUgICAgICAgIE1hYXJ0ZW4gRGVwcmV6IDxtYWFydGVuZGVwcmV6QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KIAogICAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CkBAIC04MDUsNyArODA1LDcgQEAKIAogCiBNT0RVTEVfQVVUSE9SKCJGcm9kbyBMb29pamFhcmQgPGZyb2RvbEBkZHMubmw+LCAiCi0JIkt59nN0aSBN5Gxra2kgPGttYWxra2lAY2MuaHV0LmZpPiwgIgorCSJLecO2c3RpIE3DpGxra2kgPGttYWxra2lAY2MuaHV0LmZpPiwgIgogCSJNYWFydGVuIERlcHJleiA8bWFhcnRlbmRlcHJlekB1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+Iik7CiBNT0RVTEVfREVTQ1JJUFRJT04oIkdMNTIwU00gZHJpdmVyIik7CiBNT0RVTEVfTElDRU5TRSgiR1BMIik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2h3bW9uL3NpczU1OTUuYyBiL2RyaXZlcnMvaHdtb24vc2lzNTU5NS5jCmluZGV4IDg2MGI3MWMuLjdlMmQ5NzggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaHdtb24vc2lzNTU5NS5jCisrKyBiL2RyaXZlcnMvaHdtb24vc2lzNTU5NS5jCkBAIC0zLDcgKzMsNyBAQAogCQlmb3IgaGFyZHdhcmUgbW9uaXRvcmluZwogCiAgICAgQ29weXJpZ2h0IChDKSAxOTk4IC0gMjAwMSBGcm9kbyBMb29pamFhcmQgPGZyb2RvbEBkZHMubmw+LAotCQkJS3n2c3RpIE3kbGtraSA8a21hbGtraUBjYy5odXQuZmk+LCBhbmQKKwkJCUt5w7ZzdGkgTcOkbGtraSA8a21hbGtraUBjYy5odXQuZmk+LCBhbmQKIAkJCU1hcmsgRC4gU3R1ZGViYWtlciA8bWRzeHl6MTIzQHlhaG9vLmNvbT4KICAgICBQb3J0ZWQgdG8gTGludXggMi42IGJ5IEF1cmVsaWVuIEphcm5vIDxhdXJlbGllbkBhdXJlbDMyLm5ldD4gd2l0aAogICAgIHRoZSBoZWxwIG9mIEplYW4gRGVsdmFyZSA8a2hhbGlAbGludXgtZnIub3JnPgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9od21vbi92aWE2ODZhLmMgYi9kcml2ZXJzL2h3bW9uL3ZpYTY4NmEuYwppbmRleCA4ZjYzZGFkLi4yNjM1YmJhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2h3bW9uL3ZpYTY4NmEuYworKysgYi9kcml2ZXJzL2h3bW9uL3ZpYTY4NmEuYwpAQCAtMyw3ICszLDcgQEAKIAkJZm9yIGhhcmR3YXJlIG1vbml0b3JpbmcKIAogICAgIENvcHlyaWdodCAoYykgMTk5OCAtIDIwMDIgIEZyb2RvIExvb2lqYWFyZCA8ZnJvZG9sQGRkcy5ubD4sCi0JCQlLefZzdGkgTeRsa2tpIDxrbWFsa2tpQGNjLmh1dC5maT4sCisJCQlLecO2c3RpIE3DpGxra2kgPGttYWxra2lAY2MuaHV0LmZpPiwKIAkJCU1hcmsgU3R1ZGViYWtlciA8bWRzeHl6MTIzQHlhaG9vLmNvbT4sCiAJCQlhbmQgQm9iIERvdWdoZXJ0eSA8Ym9iZEBzdGFuZm9yZC5lZHU+CiAgICAgKFNvbWUgY29udmVyc2lvbi1mYWN0b3IgZGF0YSB3ZXJlIGNvbnRyaWJ1dGVkIGJ5IEpvbmF0aGFuIFRlaCBTb29uIFlldwpAQCAtODY2LDcgKzg2Niw3IEBACiAJfQogfQogCi1NT0RVTEVfQVVUSE9SKCJLefZzdGkgTeRsa2tpIDxrbWFsa2tpQGNjLmh1dC5maT4sICIKK01PRFVMRV9BVVRIT1IoIkt5w7ZzdGkgTcOkbGtraSA8a21hbGtraUBjYy5odXQuZmk+LCAiCiAJICAgICAgIk1hcmsgU3R1ZGViYWtlciA8bWRzeHl6MTIzQHlhaG9vLmNvbT4gIgogCSAgICAgICJhbmQgQm9iIERvdWdoZXJ0eSA8Ym9iZEBzdGFuZm9yZC5lZHU+Iik7CiBNT0RVTEVfREVTQ1JJUFRJT04oIlZJQSA2ODZBIFNlbnNvciBkZXZpY2UiKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2FsZ29zL2kyYy1hbGdvLWJpdC5jIGIvZHJpdmVycy9pMmMvYWxnb3MvaTJjLWFsZ28tYml0LmMKaW5kZXggN2YwYTBhNi4uYTM3Y2I2YiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pMmMvYWxnb3MvaTJjLWFsZ28tYml0LmMKKysrIGIvZHJpdmVycy9pMmMvYWxnb3MvaTJjLWFsZ28tYml0LmMKQEAgLTE4LDcgKzE4LDcgQEAKICAgICBGb3VuZGF0aW9uLCBJbmMuLCA2NzUgTWFzcyBBdmUsIENhbWJyaWRnZSwgTUEgMDIxMzksIFVTQS4JCSAgICAgKi8KIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KIAotLyogV2l0aCBzb21lIGNoYW5nZXMgZnJvbSBGcm9kbyBMb29pamFhcmQgPGZyb2RvbEBkZHMubmw+LCBLefZzdGkgTeRsa2tpCisvKiBXaXRoIHNvbWUgY2hhbmdlcyBmcm9tIEZyb2RvIExvb2lqYWFyZCA8ZnJvZG9sQGRkcy5ubD4sIEt5w7ZzdGkgTcOkbGtraQogICAgPGttYWxra2lAY2MuaHV0LmZpPiBhbmQgSmVhbiBEZWx2YXJlIDxraGFsaUBsaW51eC1mci5vcmc+ICovCiAKICNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2FsZ29zL2kyYy1hbGdvLXBjYS5jIGIvZHJpdmVycy9pMmMvYWxnb3MvaTJjLWFsZ28tcGNhLmMKaW5kZXggMzZmZGY5Ny4uMmExNjIxMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pMmMvYWxnb3MvaTJjLWFsZ28tcGNhLmMKKysrIGIvZHJpdmVycy9pMmMvYWxnb3MvaTJjLWFsZ28tcGNhLmMKQEAgLTM1MCw3ICszNTAsNyBAQAogCXBjYV9vdXR3KGFkYXAsIEkyQ19QQ0FfQURSLCBvd24gPDwgMSk7CiAKIAlwY2Ffc2V0X2NvbihhZGFwLCBJMkNfUENBX0NPTl9FTlNJTyB8IGNsb2NrKTsKLQl1ZGVsYXkoNTAwKTsgLyogNTAwILVzIGZvciBvc2NpbGF0b3IgdG8gc3RhYmlsaXNlICovCisJdWRlbGF5KDUwMCk7IC8qIDUwMCDCtXMgZm9yIG9zY2lsYXRvciB0byBzdGFiaWxpc2UgKi8KIAogCXJldHVybiAwOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvYWxnb3MvaTJjLWFsZ28tcGNmLmMgYi9kcml2ZXJzL2kyYy9hbGdvcy9pMmMtYWxnby1wY2YuYwppbmRleCBlY2IyYzJkLi5hYjJlNmYzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2kyYy9hbGdvcy9pMmMtYWxnby1wY2YuYworKysgYi9kcml2ZXJzL2kyYy9hbGdvcy9pMmMtYWxnby1wY2YuYwpAQCAtMTksNyArMTksNyBAQAogICAgIEZvdW5kYXRpb24sIEluYy4sIDY3NSBNYXNzIEF2ZSwgQ2FtYnJpZGdlLCBNQSAwMjEzOSwgVVNBLgkJICAgICAqLwogLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwogCi0vKiBXaXRoIHNvbWUgY2hhbmdlcyBmcm9tIEt59nN0aSBN5Gxra2kgPGttYWxra2lAY2MuaHV0LmZpPiBhbmQgCisvKiBXaXRoIHNvbWUgY2hhbmdlcyBmcm9tIEt5w7ZzdGkgTcOkbGtraSA8a21hbGtraUBjYy5odXQuZmk+IGFuZAogICAgRnJvZG8gTG9vaWphYXJkIDxmcm9kb2xAZGRzLm5sPiAsYW5kIGFsc28gZnJvbSBNYXJ0aW4gQmFpbGV5CiAgICA8bWJhaWxleUBsaXR0bGVmZWV0LWluYy5jb20+ICovCiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtZWxla3Rvci5jIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1lbGVrdG9yLmMKaW5kZXggODA0ZjBhNS4uYjdhOTk3NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1lbGVrdG9yLmMKKysrIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1lbGVrdG9yLmMKQEAgLTE5LDcgKzE5LDcgQEAKICAgICBGb3VuZGF0aW9uLCBJbmMuLCA2NzUgTWFzcyBBdmUsIENhbWJyaWRnZSwgTUEgMDIxMzksIFVTQS4JCSAgICAgKi8KIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KIAotLyogV2l0aCBzb21lIGNoYW5nZXMgZnJvbSBLefZzdGkgTeRsa2tpIDxrbWFsa2tpQGNjLmh1dC5maT4gYW5kIGV2ZW4KKy8qIFdpdGggc29tZSBjaGFuZ2VzIGZyb20gS3nDtnN0aSBNw6Rsa2tpIDxrbWFsa2tpQGNjLmh1dC5maT4gYW5kIGV2ZW4KICAgIEZyb2RvIExvb2lqYWFyZCA8ZnJvZG9sQGRkcy5ubD4gKi8KIAogLyogUGFydGlhbHkgcmV3cml0ZW4gYnkgT2xlZyBJLiBWZG92aWtpbiBmb3IgbW1hcHBlZCBzdXBwb3J0IG9mCmRpZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWh5ZHJhLmMgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWh5ZHJhLmMKaW5kZXggOTgzMmY3Ny4uZjk5NzJmOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1oeWRyYS5jCisrKyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtaHlkcmEuYwpAQCAtNyw3ICs3LDcgQEAKICAgICBDb3B5cmlnaHQgKGMpIDE5OTktMjAwNCBHZWVydCBVeXR0ZXJob2V2ZW4gPGdlZXJ0QGxpbnV4LW02OGsub3JnPgogCiAgICAgQmFzZWQgb24gaTJjIFN1cHBvcnQgZm9yIFZpYSBUZWNobm9sb2dpZXMgODJDNTg2QiBTb3V0aCBCcmlkZ2UKLSAgICBDb3B5cmlnaHQgKGMpIDE5OTgsIDE5OTkgS3n2c3RpIE3kbGtraSA8a21hbGtraUBjYy5odXQuZmk+CisgICAgQ29weXJpZ2h0IChjKSAxOTk4LCAxOTk5IEt5w7ZzdGkgTcOkbGtraSA8a21hbGtraUBjYy5odXQuZmk+CiAKICAgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQogICAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CmRpZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWlibV9paWMuYyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtaWJtX2lpYy5jCmluZGV4IGUwOGJhY2EuLjliNDNmZjcyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWlibV9paWMuYworKysgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWlibV9paWMuYwpAQCAtMTgsNyArMTgsNyBAQAogICogICAJQ29weXJpZ2h0IDE5OTUtOTcgU2ltb24gRy4gVm9nbAogICogICAgICAgICAgICAgICAgMTk5OC05OSBIYW5zIEJlcmdsdW5kCiAgKgotICogICAJV2l0aCBzb21lIGNoYW5nZXMgZnJvbSBLefZzdGkgTeRsa2tpIDxrbWFsa2tpQGNjLmh1dC5maT4gCisgKiAgIAlXaXRoIHNvbWUgY2hhbmdlcyBmcm9tIEt5w7ZzdGkgTcOkbGtraSA8a21hbGtraUBjYy5odXQuZmk+CiAgKglhbmQgZXZlbiBGcm9kbyBMb29pamFhcmQgPGZyb2RvbEBkZHMubmw+CiAgKgogICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlICBpdCBhbmQvb3IgbW9kaWZ5IGl0CmRpZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLW9tYXAuYyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtb21hcC5jCmluZGV4IGU0NzFlM2IuLjg5YTMwMDIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtb21hcC5jCisrKyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtb21hcC5jCkBAIC04LDcgKzgsNyBAQAogICogVG9ueSBMaW5kZ3JlbiA8dG9ueUBhdG9taWRlLmNvbT4gYW5kIEltcmUgRGVhayA8aW1yZS5kZWFrQG5va2lhLmNvbT4KICAqIENvcHlyaWdodCAoQykgMjAwNSBOb2tpYSBDb3Jwb3JhdGlvbgogICoKLSAqIENsZWFuZWQgdXAgYnkgSnVoYSBZcmr2bOQgPGp1aGEueXJqb2xhQG5va2lhLmNvbT4KKyAqIENsZWFuZWQgdXAgYnkgSnVoYSBZcmrDtmzDpCA8anVoYS55cmpvbGFAbm9raWEuY29tPgogICoKICAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiAgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1wYXJwb3J0LWxpZ2h0LmMgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXBhcnBvcnQtbGlnaHQuYwppbmRleCA0OWE5NWUyLi5jNmZhZjliIDEwMDY0NAotLS0gYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXBhcnBvcnQtbGlnaHQuYworKysgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXBhcnBvcnQtbGlnaHQuYwpAQCAtNyw3ICs3LDcgQEAKICAgIENvcHlyaWdodCAoQykgMTk5NS0yMDAwIFNpbW9uIEcuIFZvZ2wKICAgIFdpdGggc29tZSBjaGFuZ2VzIGZyb206CiAgICBGcm9kbyBMb29pamFhcmQgPGZyb2RvbEBkZHMubmw+Ci0gICBLefZzdGkgTeRsa2tpIDxrbWFsa2tpQGNjLmh1dC5maT4KKyAgIEt5w7ZzdGkgTcOkbGtraSA8a21hbGtraUBjYy5odXQuZmk+CiAgICAKICAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiAgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1wYXJwb3J0LmMgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXBhcnBvcnQuYwppbmRleCAwMzlhMDdmLi41OWJhMjA4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXBhcnBvcnQuYworKysgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXBhcnBvcnQuYwpAQCAtNyw3ICs3LDcgQEAKICAgIENvcHlyaWdodCAoQykgMTk5NS0yMDAwIFNpbW9uIEcuIFZvZ2wKICAgIFdpdGggc29tZSBjaGFuZ2VzIGZyb206CiAgICBGcm9kbyBMb29pamFhcmQgPGZyb2RvbEBkZHMubmw+Ci0gICBLefZzdGkgTeRsa2tpIDxrbWFsa2tpQGNjLmh1dC5maT4KKyAgIEt5w7ZzdGkgTcOkbGtraSA8a21hbGtraUBjYy5odXQuZmk+CiAgICAKICAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiAgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy12aWEuYyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtdmlhLmMKaW5kZXggODE1MjA4Ni4uNjE3MTZmNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy12aWEuYworKysgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXZpYS5jCkBAIC00LDcgKzQsNyBAQAogCiAgICAgaTJjIFN1cHBvcnQgZm9yIFZpYSBUZWNobm9sb2dpZXMgODJDNTg2QiBTb3V0aCBCcmlkZ2UKIAotICAgIENvcHlyaWdodCAoYykgMTk5OCwgMTk5OSBLefZzdGkgTeRsa2tpIDxrbWFsa2tpQGNjLmh1dC5maT4KKyAgICBDb3B5cmlnaHQgKGMpIDE5OTgsIDE5OTkgS3nDtnN0aSBNw6Rsa2tpIDxrbWFsa2tpQGNjLmh1dC5maT4KIAogICAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiAgICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKQEAgLTE3Niw3ICsxNzYsNyBAQAogfQogCiAKLU1PRFVMRV9BVVRIT1IoIkt59nN0aSBN5Gxra2kgPGttYWxra2lAY2MuaHV0LmZpPiIpOworTU9EVUxFX0FVVEhPUigiS3nDtnN0aSBNw6Rsa2tpIDxrbWFsa2tpQGNjLmh1dC5maT4iKTsKIE1PRFVMRV9ERVNDUklQVElPTigiaTJjIGZvciBWaWEgdnQ4MmM1ODZiIHNvdXRoYnJpZGdlIik7CiBNT0RVTEVfTElDRU5TRSgiR1BMIik7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtdmlhcHJvLmMgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXZpYXByby5jCmluZGV4IGVkYzI3NTAuLmM5Y2U3N2YgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtdmlhcHJvLmMKKysrIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy12aWFwcm8uYwpAQCAtMiw3ICsyLDcgQEAKICAgICBpMmMtdmlhcHJvLmMgLSBQYXJ0IG9mIGxtX3NlbnNvcnMsIExpbnV4IGtlcm5lbCBtb2R1bGVzIGZvciBoYXJkd2FyZQogICAgICAgICAgICAgICBtb25pdG9yaW5nCiAgICAgQ29weXJpZ2h0IChjKSAxOTk4IC0gMjAwMiAgRnJvZG8gTG9vaWphYXJkIDxmcm9kb2xAZGRzLm5sPiwKLSAgICBQaGlsaXAgRWRlbGJyb2NrIDxwaGlsQG5ldHJvZWRnZS5jb20+LCBLefZzdGkgTeRsa2tpIDxrbWFsa2tpQGNjLmh1dC5maT4sCisgICAgUGhpbGlwIEVkZWxicm9jayA8cGhpbEBuZXRyb2VkZ2UuY29tPiwgS3nDtnN0aSBNw6Rsa2tpIDxrbWFsa2tpQGNjLmh1dC5maT4sCiAgICAgTWFyayBELiBTdHVkZWJha2VyIDxtZHN4eXoxMjNAeWFob28uY29tPgogICAgIENvcHlyaWdodCAoQykgMjAwNSAtIDIwMDcgIEplYW4gRGVsdmFyZSA8a2hhbGlAbGludXgtZnIub3JnPgogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9pMmMtY29yZS5jIGIvZHJpdmVycy9pMmMvaTJjLWNvcmUuYwppbmRleCBlNzNkNThjLi4xYTRlOGRjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2kyYy9pMmMtY29yZS5jCisrKyBiL2RyaXZlcnMvaTJjL2kyYy1jb3JlLmMKQEAgLTE3LDcgKzE3LDcgQEAKICAgICBGb3VuZGF0aW9uLCBJbmMuLCA2NzUgTWFzcyBBdmUsIENhbWJyaWRnZSwgTUEgMDIxMzksIFVTQS4JCSAgICAgKi8KIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KIAotLyogV2l0aCBzb21lIGNoYW5nZXMgZnJvbSBLefZzdGkgTeRsa2tpIDxrbWFsa2tpQGNjLmh1dC5maT4uCisvKiBXaXRoIHNvbWUgY2hhbmdlcyBmcm9tIEt5w7ZzdGkgTcOkbGtraSA8a21hbGtraUBjYy5odXQuZmk+LgogICAgQWxsIFNNQnVzLXJlbGF0ZWQgdGhpbmdzIGFyZSB3cml0dGVuIGJ5IEZyb2RvIExvb2lqYWFyZCA8ZnJvZG9sQGRkcy5ubD4KICAgIFNNQnVzIDIuMCBzdXBwb3J0IGJ5IE1hcmsgU3R1ZGViYWtlciA8bWRzeHl6MTIzQHlhaG9vLmNvbT4gYW5kCiAgICBKZWFuIERlbHZhcmUgPGtoYWxpQGxpbnV4LWZyLm9yZz4gKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWRlL2lkZS1jZC5jIGIvZHJpdmVycy9pZGUvaWRlLWNkLmMKaW5kZXggY2E4NDM1Mi4uNTdhNWY2MyAxMDA2NDQKLS0tIGEvZHJpdmVycy9pZGUvaWRlLWNkLmMKKysrIGIvZHJpdmVycy9pZGUvaWRlLWNkLmMKQEAgLTEyMCw3ICsxMjAsNyBAQAogICogICAgICAgICAgICAgICAgICAgICAgIFJlZm9ybWF0IHRvIG1hdGNoIGtlcm5lbCB0YWJiaW5nIHN0eWxlLgogICogICAgICAgICAgICAgICAgICAgICAgIEFkZCBDRFJPTV9HRVRfVVBDIGlvY3RsLgogICogMy4xMCAgQXByIDEwLCAxOTk2IC0tIEZpeCBjb21waWxhdGlvbiBlcnJvciB3aXRoIFNUQU5EQVJEX0FUQVBJLgotICogMy4xMSAgQXByIDI5LCAxOTk2IC0tIFBhdGNoIGZyb20gSGVpa28gRWlzc2ZlbGR0IDxoZWlrb0Bjb2xvc3N1cy5lc2NhcGUuZGU+CisgKiAzLjExICBBcHIgMjksIDE5OTYgLS0gUGF0Y2ggZnJvbSBIZWlrbyBFacOfZmVsZHQgPGhlaWtvQGNvbG9zc3VzLmVzY2FwZS5kZT4KICAqICAgICAgICAgICAgICAgICAgICAgICB0byByZW1vdmUgcmVkdW5kYW50IHZlcmlmeV9hcmVhIGNhbGxzLgogICogMy4xMiAgTWF5ICA3LCAxOTk2IC0tIFJ1ZGltZW50YXJ5IGNoYW5nZXIgc3VwcG9ydC4gIEJhc2VkIG9uIHBhdGNoZXMKICAqICAgICAgICAgICAgICAgICAgICAgICAgZnJvbSBHZXJoYXJkIFp1YmVyIDx6dWJlckBiZXJsaW4uc25hZnUuZGU+LgpAQCAtMjU2LDcgKzI1Niw3IEBACiAgKgkJCS0gTWluaW1pemUgdGhlIFRPQyByZWFkaW5nIC0gb25seSBkbyBpdCB3aGVuIHdlCiAgKgkJCSAga25vdyBhIG1lZGlhIGNoYW5nZSBoYXMgb2NjdXJyZWQuCiAgKgkJCS0gTW92ZWQgYWxsIHRoZSBDRFJPTVJFQUR4IGlvY3RscyB0byB0aGUgVW5pZm9ybSBsYXllci4KLSAqCQkJLSBIZWlrbyBFaXNzZmVsZHQgPGhlaWtvQGNvbG9zc3VzLmVzY2FwZS5kZT4gc3VwcGxpZWQKKyAqCQkJLSBIZWlrbyBFacOfZmVsZHQgPGhlaWtvQGNvbG9zc3VzLmVzY2FwZS5kZT4gc3VwcGxpZWQKICAqCQkJICBzb21lIGZpeGVzIGZvciBDREkuCiAgKgkJCS0gQ0QtUk9NIGxlYXZpbmcgZG9vciBsb2NrZWQgZml4IGZyb20gQW5kcmllcwogICoJCQkgIEJyb3V3ZXIgPEFuZHJpZXMuQnJvdXdlckBjd2kubmw+CkBAIC0yMzQxLDcgKzIzNDEsNyBAQAogCQkgICBJZiB3ZSBnZXQgYW4gZXJyb3IgZm9yIHRoZSByZWd1bGFyIGNhc2UsIHdlIGFzc3VtZQogCQkgICBhIENESSB3aXRob3V0IGFkZGl0aW9uYWwgYXVkaW8gdHJhY2tzLiBJbiB0aGlzIGNhc2UKIAkJICAgdGhlIHJlYWRhYmxlIFRPQyBpcyBlbXB0eSAoQ0RJIHRyYWNrcyBhcmUgbm90IGluY2x1ZGVkKQotCQkgICBhbmQgb25seSBob2xkcyB0aGUgTGVhZG91dCBlbnRyeS4gSGVpa28gRWnfZmVsZHQgKi8KKwkJICAgYW5kIG9ubHkgaG9sZHMgdGhlIExlYWRvdXQgZW50cnkuIEhlaWtvIEVpw59mZWxkdCAqLwogCQludHJhY2tzID0gMDsKIAkJc3RhdCA9IGNkcm9tX3JlYWRfdG9jZW50cnkoZHJpdmUsIENEUk9NX0xFQURPVVQsIDEsIDAsCiAJCQkJCSAgIChjaGFyICopJnRvYy0+aGRyLApkaWZmIC0tZ2l0IGEvZHJpdmVycy9pZGUvbGVnYWN5L3E0MGlkZS5jIGIvZHJpdmVycy9pZGUvbGVnYWN5L3E0MGlkZS5jCmluZGV4IGU2MjhhOTguLjE2YmE3MGI0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2lkZS9sZWdhY3kvcTQwaWRlLmMKKysrIGIvZHJpdmVycy9pZGUvbGVnYWN5L3E0MGlkZS5jCkBAIC0xMDIsNyArMTAyLDcgQEAKIAogLyogCiAgKiB0aGUgc3RhdGljIGFycmF5IGlzIG5lZWRlZCB0byBoYXZlIHRoZSBuYW1lIHJlcG9ydGVkIGluIC9wcm9jL2lvcG9ydHMsCi0gKiBod2lmLT5uYW1lIHVuZm9ydHVuYXRlbHkgaXNutHQgYXZhaWxhYmxlIHlldAorICogaHdpZi0+bmFtZSB1bmZvcnR1bmF0ZWx5IGlzbid0IGF2YWlsYWJsZSB5ZXQKICAqLwogc3RhdGljIGNvbnN0IGNoYXIgKnE0MF9pZGVfbmFtZXNbUTQwSURFX05VTV9IV0lGU109ewogCSJpZGUwIiwgImlkZTEiCmRpZmYgLS1naXQgYS9kcml2ZXJzL2lucHV0L2pveXN0aWNrL2RiOS5jIGIvZHJpdmVycy9pbnB1dC9qb3lzdGljay9kYjkuYwppbmRleCAyN2ZjNDc1Li5hNmNhOWQ1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2lucHV0L2pveXN0aWNrL2RiOS5jCisrKyBiL2RyaXZlcnMvaW5wdXQvam95c3RpY2svZGI5LmMKQEAgLTQsNyArNCw3IEBACiAgKiAgQ29weXJpZ2h0IChjKSAxOTk5LTIwMDEgVm9qdGVjaCBQYXZsaWsKICAqCiAgKiAgQmFzZWQgb24gdGhlIHdvcmsgb2Y6Ci0gKglBbmRyZWUgQm9ycm1hbm4JCU1hdHMgU2r2dmFsbAorICoJQW5kcmVlIEJvcnJtYW5uCQlNYXRzIFNqw7Z2YWxsCiAgKi8KIAogLyoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5wdXQva2V5Ym9hcmQvb21hcC1rZXlwYWQuYyBiL2RyaXZlcnMvaW5wdXQva2V5Ym9hcmQvb21hcC1rZXlwYWQuYwppbmRleCA3NmYxOTY5Li5iYWJjOTEzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2lucHV0L2tleWJvYXJkL29tYXAta2V5cGFkLmMKKysrIGIvZHJpdmVycy9pbnB1dC9rZXlib2FyZC9vbWFwLWtleXBhZC5jCkBAIC00LDcgKzQsNyBAQAogICogT01BUCBLZXlwYWQgRHJpdmVyCiAgKgogICogQ29weXJpZ2h0IChDKSAyMDAzIE5va2lhIENvcnBvcmF0aW9uCi0gKiBXcml0dGVuIGJ5IFRpbW8gVGVy5HMgPGV4dC10aW1vLnRlcmFzQG5va2lhLmNvbT4KKyAqIFdyaXR0ZW4gYnkgVGltbyBUZXLDpHMgPGV4dC10aW1vLnRlcmFzQG5va2lhLmNvbT4KICAqCiAgKiBBZGRlZCBzdXBwb3J0IGZvciBIMiAmIEgzIEtleXBhZAogICogQ29weXJpZ2h0IChDKSAyMDA0IFRleGFzIEluc3RydW1lbnRzCkBAIC00ODEsNiArNDgxLDYgQEAKIG1vZHVsZV9pbml0KG9tYXBfa3BfaW5pdCk7CiBtb2R1bGVfZXhpdChvbWFwX2twX2V4aXQpOwogCi1NT0RVTEVfQVVUSE9SKCJUaW1vIFRlcuRzIik7CitNT0RVTEVfQVVUSE9SKCJUaW1vIFRlcsOkcyIpOwogTU9EVUxFX0RFU0NSSVBUSU9OKCJPTUFQIEtleXBhZCBEcml2ZXIiKTsKIE1PRFVMRV9MSUNFTlNFKCJHUEwiKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaXNkbi9oaXNheC9hbWQ3OTMwX2ZuLmMgYi9kcml2ZXJzL2lzZG4vaGlzYXgvYW1kNzkzMF9mbi5jCmluZGV4IDNiMTljYWUuLmMwZDcwMzYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaXNkbi9oaXNheC9hbWQ3OTMwX2ZuLmMKKysrIGIvZHJpdmVycy9pc2RuL2hpc2F4L2FtZDc5MzBfZm4uYwpAQCAtNzY3LDcgKzc2Nyw3IEBACiAgICAgICAgICAgICAgICAgLyogcmVhZCAqLwogICAgICAgICAgICAgICAgIGlmICgqcHRyKysgPj0gMHgxMDApIHsKIAkJCWlmIChjbWQgPCA4KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBzZXR6dCBSZWdpc3RlciB6dXL8Y2sgKi8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogcmVzZXQgcmVnaXN0ZXIgKi8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgckJ5dGVBTUQoY3MsIGNtZCk7CiAJCQllbHNlIHsKIAkJCQl3Qnl0ZUFNRChjcywgMHgwMCwgY21kKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaXNkbi9oaXNheC9lbnRlcm5vd19wY2kuYyBiL2RyaXZlcnMvaXNkbi9oaXNheC9lbnRlcm5vd19wY2kuYwppbmRleCBiNzMwMjdmLi4zOWY0MjFlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2lzZG4vaGlzYXgvZW50ZXJub3dfcGNpLmMKKysrIGIvZHJpdmVycy9pc2RuL2hpc2F4L2VudGVybm93X3BjaS5jCkBAIC03NSwxNiArNzUsMTYgQEAKIHN0YXRpYyBjb25zdCBjaGFyICplbnRlcm5vd19wY2lfcmV2ID0gIiRSZXZpc2lvbjogMS4xLjQuNSAkIjsKIAogCi0vKiBm/HIgUG93ZXJJU0ROIFBDSSAqLworLyogZm9yIFBvd2VySVNETiBQQ0kgKi8KICNkZWZpbmUgVEpfQU1EX0lSUSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDIwCiAjZGVmaW5lIFRKX0xFRDEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg0MAogI2RlZmluZSBUSl9MRUQyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4ODAKIAogCi0vKiBEYXMgRmVuc3RlciB6dW0gQU1ELi4uCi0gKiBBYiBBZHJlc3NlIGh3Lm5qZXQuYmFzZSArIFRKX0FNRF9QT1JUIHdlcmRlbiB2b20gQU1EIGpld2VpbHMgOCBCaXQgaW4KLSAqIGRlbiBUaWdlckpldCBpL28tUmF1bSBnZW1hcHB0Ci0gKiAtPiAweDAxIGRlcyBBTUQgYmVpIGh3Lm5qZXQuYmFzZSArIDBDNCAqLworLyogVGhlIHdpbmRvdyB0byBbdGhlXSBBTUQgW2NoaXBdLi4uCisgKiBGcm9tIGFkZHJlc3MgaHcubmpldC5iYXNlICsgVEpfQU1EX1BPUlQgb253YXJkcywgdGhlIEFNRAorICogbWFwcyBbY29uc2VjdXRpdmUvbXVsdGlwbGVdIDggYml0cyBpbnRvIHRoZSBUaWdlckpldCBJL08gc3BhY2UKKyAqIC0+IDB4MDEgb2YgdGhlIEFNRCBhdCBody5uamV0LmJhc2UgKyAwQzQgKi8KICNkZWZpbmUgVEpfQU1EX1BPUlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweEMwCiAKIApAQCAtOTYsMTEgKzk2LDExIEBACiBzdGF0aWMgdW5zaWduZWQgY2hhcgogUmVhZEJ5dGVBbWQ3OTMwKHN0cnVjdCBJc2RuQ2FyZFN0YXRlICpjcywgdW5zaWduZWQgY2hhciBvZmZzZXQpCiB7Ci0JLyogZGlyZWt0ZXMgUmVnaXN0ZXIgKi8KKwkvKiBkaXJlY3QgcmVnaXN0ZXIgKi8KIAlpZihvZmZzZXQgPCA4KQogCQlyZXR1cm4gKGluYihjcy0+aHcubmpldC5pc2FjICsgNCpvZmZzZXQpKTsKIAotCS8qIGluZGlyZWt0ZXMgUmVnaXN0ZXIgKi8KKwkvKiBpbmRpcmVjdCByZWdpc3RlciAqLwogCWVsc2UgewogCQlvdXRiKG9mZnNldCwgY3MtPmh3Lm5qZXQuaXNhYyArIDQqQU1EX0NSKTsKIAkJcmV0dXJuKGluYihjcy0+aHcubmpldC5pc2FjICsgNCpBTURfRFIpKTsKQEAgLTExMSwxMSArMTExLDExIEBACiBzdGF0aWMgdm9pZAogV3JpdGVCeXRlQW1kNzkzMChzdHJ1Y3QgSXNkbkNhcmRTdGF0ZSAqY3MsIHVuc2lnbmVkIGNoYXIgb2Zmc2V0LCB1bnNpZ25lZCBjaGFyIHZhbHVlKQogewotCS8qIGRpcmVrdGVzIFJlZ2lzdGVyICovCisJLyogZGlyZWN0IHJlZ2lzdGVyICovCiAJaWYob2Zmc2V0IDwgOCkKIAkJb3V0Yih2YWx1ZSwgY3MtPmh3Lm5qZXQuaXNhYyArIDQqb2Zmc2V0KTsKIAotCS8qIGluZGlyZWt0ZXMgUmVnaXN0ZXIgKi8KKwkvKiBpbmRpcmVjdCByZWdpc3RlciAqLwogCWVsc2UgewogCQlvdXRiKG9mZnNldCwgY3MtPmh3Lm5qZXQuaXNhYyArIDQqQU1EX0NSKTsKIAkJb3V0Yih2YWx1ZSwgY3MtPmh3Lm5qZXQuaXNhYyArIDQqQU1EX0RSKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaXNkbi9oaXNheC9oZmNfcGNpLmMgYi9kcml2ZXJzL2lzZG4vaGlzYXgvaGZjX3BjaS5jCmluZGV4IDA3NzA4MGEuLmZiYThiNjIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaXNkbi9oaXNheC9oZmNfcGNpLmMKKysrIGIvZHJpdmVycy9pc2RuL2hpc2F4L2hmY19wY2kuYwpAQCAtMSw2ICsxLDYgQEAKIC8qICRJZDogaGZjX3BjaS5jLHYgMS40OC4yLjQgMjAwNC8wMi8xMSAxMzoyMTozMyBrZWlsIEV4cCAkCiAgKgotICogbG93IGxldmVsIGRyaXZlciBmb3IgQ0NEtHMgaGZjLXBjaSBiYXNlZCBjYXJkcworICogbG93IGxldmVsIGRyaXZlciBmb3IgQ0NEJ3MgaGZjLXBjaSBiYXNlZCBjYXJkcwogICoKICAqIEF1dGhvciAgICAgICBXZXJuZXIgQ29ybmVsaXVzCiAgKiAgICAgICAgICAgICAgYmFzZWQgb24gZXhpc3RpbmcgZHJpdmVyIGZvciBDQ0QgaGZjIElTQSBjYXJkcwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pc2RuL2hpc2F4L2lzZG5oZGxjLmMgYi9kcml2ZXJzL2lzZG4vaGlzYXgvaXNkbmhkbGMuYwppbmRleCAyNjhkY2VkLi5jNjlhNzdhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2lzZG4vaGlzYXgvaXNkbmhkbGMuYworKysgYi9kcml2ZXJzL2lzZG4vaGlzYXgvaXNkbmhkbGMuYwpAQCAtMSw3ICsxLDcgQEAKIC8qCiAgKiBpc2RuaGRsYy5jICAtLSAgR2VuZXJhbCBwdXJwb3NlIElTRE4gSERMQyBkZWNvZGVyLgogICoKLSAqQ29weXJpZ2h0IChDKSAyMDAyCVdvbGZnYW5nIE38ZXMgICAgICA8d29sZmdhbmdAaWtzdy1tdWVlcy5kZT4KKyAqQ29weXJpZ2h0IChDKSAyMDAyCVdvbGZnYW5nIE3DvGVzICAgICAgPHdvbGZnYW5nQGlrc3ctbXVlZXMuZGU+CiAgKgkJMjAwMSAJRnJvZGUgSXNha3NlbiAgICAgIDxmaXNha3NlbkBiZXdhbi5jb20+CiAgKiAgICAgICAgICAgICAgMjAwMSAJS2FpIEdlcm1hc2NoZXdza2kgIDxrYWkuZ2VybWFzY2hld3NraUBnbXguZGU+CiAgKgpAQCAtMjcsNyArMjcsNyBAQAogCiAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogCi1NT0RVTEVfQVVUSE9SKCJXb2xmZ2FuZyBN/GVzIDx3b2xmZ2FuZ0Bpa3N3LW11ZWVzLmRlPiwgIgorTU9EVUxFX0FVVEhPUigiV29sZmdhbmcgTcO8ZXMgPHdvbGZnYW5nQGlrc3ctbXVlZXMuZGU+LCAiCiAJICAgICAgIkZyb2RlIElzYWtzZW4gPGZpc2Frc2VuQGJld2FuLmNvbT4sICIKIAkgICAgICAiS2FpIEdlcm1hc2NoZXdza2kgPGthaS5nZXJtYXNjaGV3c2tpQGdteC5kZT4iKTsKIE1PRFVMRV9ERVNDUklQVElPTigiR2VuZXJhbCBwdXJwb3NlIElTRE4gSERMQyBkZWNvZGVyIik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2lzZG4vaGlzYXgvaXNkbmhkbGMuaCBiL2RyaXZlcnMvaXNkbi9oaXNheC9pc2RuaGRsYy5oCmluZGV4IDQ1MTY3ZDIuLmNmMGE5NWEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaXNkbi9oaXNheC9pc2RuaGRsYy5oCisrKyBiL2RyaXZlcnMvaXNkbi9oaXNheC9pc2RuaGRsYy5oCkBAIC01LDcgKzUsNyBAQAogICogTmVjY2Vzc2FyeSBiZWNhdXNlIHNvbWUgSVNETiBkZXZpY2VzIGRvbid0IGhhdmUgSERMQwogICogY29udHJvbGxlcnMuIEFsc28gaW5jbHVkZWQ6IGEgYml0IHJldmVyc2FsIHRhYmxlLgogICoKLSAqQ29weXJpZ2h0IChDKSAyMDAyICAgIFdvbGZnYW5nIE38ZXMgICAgICA8d29sZmdhbmdAaWtzdy1tdWVlcy5kZT4KKyAqQ29weXJpZ2h0IChDKSAyMDAyICAgIFdvbGZnYW5nIE3DvGVzICAgICAgPHdvbGZnYW5nQGlrc3ctbXVlZXMuZGU+CiAgKgkJMjAwMSAJRnJvZGUgSXNha3NlbiAgICAgIDxmaXNha3NlbkBiZXdhbi5jb20+CiAgKiAgICAgICAgICAgICAgMjAwMSAJS2FpIEdlcm1hc2NoZXdza2kgIDxrYWkuZ2VybWFzY2hld3NraUBnbXguZGU+CiAgKgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pc2RuL2hpc2F4L2phZGUuYyBiL2RyaXZlcnMvaXNkbi9oaXNheC9qYWRlLmMKaW5kZXggNDNkNjFkMS4uNzA4NDBhNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9pc2RuL2hpc2F4L2phZGUuYworKysgYi9kcml2ZXJzL2lzZG4vaGlzYXgvamFkZS5jCkBAIC0zMDQsNyArMzA0LDcgQEAKIAljcy0+QkNfV3JpdGVfUmVnKGNzLCAxLCBqYWRlX0hETENfSU1SLCAgMHgwMCk7CiAJLyogU2V0dXAgaG9zdCBhY2Nlc3MgdG8gaGRsYyBjb250cm9sbGVyICovCiAJamFkZV93cml0ZV9pbmRpcmVjdChjcywgamFkZV9IRExDQ05UUkFDQ0VTUywgKGphZGVJTkRJUkVDVF9IQUgxfGphZGVJTkRJUkVDVF9IQUgyKSk7Ci0JLyogVW5tYXNrIEhETEMgaW50IChkb260dCBmb3JnZXQgRFNQIGludCBsYXRlciBvbikqLworCS8qIFVubWFzayBIRExDIGludCAoZG9uJ3QgZm9yZ2V0IERTUCBpbnQgbGF0ZXIgb24pKi8KIAljcy0+QkNfV3JpdGVfUmVnKGNzLCAtMSxqYWRlX0lOVCwgKGphZGVJTlRfSERMQzF8amFkZUlOVF9IRExDMikpOwogCiAJLyogb25jZSBhZ2FpbiBUUkFOU1BBUkVOVCAqLwkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaXNkbi9wY2JpdC9jYXBpLmMgYi9kcml2ZXJzL2lzZG4vcGNiaXQvY2FwaS5jCmluZGV4IDdiNTVlMTUuLmFjNWE5MWMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaXNkbi9wY2JpdC9jYXBpLmMKKysrIGIvZHJpdmVycy9pc2RuL3BjYml0L2NhcGkuYwpAQCAtMTUsOSArMTUsOSBAQAogCiAvKgogICogICAgICAgIERvY3VtZW50YXRpb246Ci0gKiAgICAgICAgLSAiQ29tbW9uIElTRE4gQVBJIC0gUGVyZmlsIFBvcnR1Z3XqcyAtIFZlcnPjbyAyLjEiLAorICogICAgICAgIC0gIkNvbW1vbiBJU0ROIEFQSSAtIFBlcmZpbCBQb3J0dWd1w6pzIC0gVmVyc8OjbyAyLjEiLAogICogICAgICAgICAgIFRlbGVjb20gUG9ydHVnYWwsIEZldiAxOTkyLgotICogICAgICAgIC0gIkNvbW1vbiBJU0ROIEFQSSAtIEVzcGVjaWZpY2Hn428gZGUgcHJvdG9jb2xvcyBwYXJhIAorICogICAgICAgIC0gIkNvbW1vbiBJU0ROIEFQSSAtIEVzcGVjaWZpY2HDp8OjbyBkZSBwcm90b2NvbG9zIHBhcmEKICAqICAgICAgICAgICBhY2Vzc28gYW9zIGNhbmFpcyBCIiwgSW5lc2MsIEphbiAxOTk0LgogICovCiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWQvcmFpZDEuYyBiL2RyaXZlcnMvbWQvcmFpZDEuYwppbmRleCAxNjc3NWEwLi44NTQ3OGQ2IDEwMDY0NAotLS0gYS9kcml2ZXJzL21kL3JhaWQxLmMKKysrIGIvZHJpdmVycy9tZC9yYWlkMS5jCkBAIC05LDcgKzksNyBAQAogICoKICAqIEJldHRlciByZWFkLWJhbGFuY2luZyBjb2RlIHdyaXR0ZW4gYnkgTWlrYSBLdW9wcGFsYSA8bWlrdUBpa2kuZmk+LCAyMDAwCiAgKgotICogRml4ZXMgdG8gcmVjb25zdHJ1Y3Rpb24gYnkgSmFrb2Ig2HN0ZXJnYWFyZCIgPGpha29iQG9zdGVuZmVsZC5kaz4KKyAqIEZpeGVzIHRvIHJlY29uc3RydWN0aW9uIGJ5IEpha29iIMOYc3RlcmdhYXJkIiA8amFrb2JAb3N0ZW5mZWxkLmRrPgogICogVmFyaW91cyBmaXhlcyBieSBOZWlsIEJyb3duIDxuZWlsYkBjc2UudW5zdy5lZHUuYXU+CiAgKgogICogQ2hhbmdlcyBieSBQZXRlciBULiBCcmV1ZXIgPHB0YkBpdC51YzNtLmVzPiAzMS8xLzIwMDMgdG8gc3VwcG9ydApkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9jb21tb24vc2FhNzE0Nl9obHAuYyBiL2RyaXZlcnMvbWVkaWEvY29tbW9uL3NhYTcxNDZfaGxwLmMKaW5kZXggZDI5MDU3Mi4uOWM5MDUzOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9tZWRpYS9jb21tb24vc2FhNzE0Nl9obHAuYworKysgYi9kcml2ZXJzL21lZGlhL2NvbW1vbi9zYWE3MTQ2X2hscC5jCkBAIC0zMTIsNyArMzEyLDcgQEAKIAkJcmV0dXJuIC1FSU5WQUw7CiAJfQogCi0JLyogYnViYmxlIHNvcnQgdGhlIGZpcnN0ILRjb3VudLQgaXRlbXMgb2YgdGhlIGFycmF5ILR2YWx1ZXO0ICovCisJLyogYnViYmxlIHNvcnQgdGhlIGZpcnN0IEBjb3VudCBpdGVtcyBvZiB0aGUgYXJyYXkgQHZhbHVlcyAqLwogCWZvciggdG9wID0gKmNvdW50OyB0b3AgPiAwOyB0b3AtLSkgewogCQlmb3IoIGxvdyA9IDAsIGhpZ2ggPSAxOyBoaWdoIDwgdG9wOyBsb3crKywgaGlnaCsrKSB7CiAJCQlpZiggdmFsdWVzW2xvd10gPiB2YWx1ZXNbaGlnaF0gKSB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL2R2Yi9jaW5lcmd5VDIvY2luZXJneVQyLmMgYi9kcml2ZXJzL21lZGlhL2R2Yi9jaW5lcmd5VDIvY2luZXJneVQyLmMKaW5kZXggMTU0YTdjZS4uYTA1ZTVjMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9tZWRpYS9kdmIvY2luZXJneVQyL2NpbmVyZ3lUMi5jCisrKyBiL2RyaXZlcnMvbWVkaWEvZHZiL2NpbmVyZ3lUMi9jaW5lcmd5VDIuYwpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBUZXJyYVRlYyBDaW5lcmd5IFSyL3FhbnUgVVNCMiBEVkItVCBhZGFwdGVyLgorICogVGVycmFUZWMgQ2luZXJneSBUwrIvcWFudSBVU0IyIERWQi1UIGFkYXB0ZXIuCiAgKgogICogQ29weXJpZ2h0IChDKSAyMDA0IERhbmllbCBNYWNrIDxkYW5pZWxAcWFudS5kZT4gYW5kCiAgKgkJICAgIEhvbGdlciBXYWVjaHRsZXIgPGhvbGdlckBxYW51LmRlPgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS92aWRlby9idDh4eC9idHR2LWNhcmRzLmMgYi9kcml2ZXJzL21lZGlhL3ZpZGVvL2J0OHh4L2J0dHYtY2FyZHMuYwppbmRleCAzMTYyMjIzLi4zYWJkOWZhIDEwMDY0NAotLS0gYS9kcml2ZXJzL21lZGlhL3ZpZGVvL2J0OHh4L2J0dHYtY2FyZHMuYworKysgYi9kcml2ZXJzL21lZGlhL3ZpZGVvL2J0OHh4L2J0dHYtY2FyZHMuYwpAQCAtMTI1OSw3ICsxMjU5LDcgQEAKIAkJLmhhc19yYWRpbwk9IDEsCiAJfSwKIAlbQlRUVl9CT0FSRF9MSUZFVEVDXzk0MTVdID0gewotCQkvKiBUaW0gUvZzdGVybXVuZHQgPHJvc3Rlcm1AdW5pLW11ZW5zdGVyLmRlPgorCQkvKiBUaW0gUsO2c3Rlcm11bmR0IDxyb3N0ZXJtQHVuaS1tdWVuc3Rlci5kZT4KIAkJaW4gZGUuY29tcC5vcy51bml4LmxpbnV4LmhhcmR3YXJlOgogCQkJb3B0aW9ucyBidHR2IGNhcmQ9MCBwbGw9MSByYWRpbz0xIGdwaW9tYXNrPTB4MThlMAogCQkJZ3Bpb211eCA9MHg0NGM3MWYsMHg0NGQ3MWYsMCwweDQ0ZDcxZiwweDQ0ZGZmZgpAQCAtMjgyNCw3ICsyODI0LDcgQEAKIAl9LAogCQkvKiAtLS0tIGNhcmQgMHg4YiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCiAJW0JUVFZfQk9BUkRfUFZfTTQ5MDBdID0gewotCQkvKiBT6XJnaW8gRm9ydGllciA8c2VyZ2lvZm9ydGllckB5YWhvby5jb20uYnI+ICovCisJCS8qIFPDqXJnaW8gRm9ydGllciA8c2VyZ2lvZm9ydGllckB5YWhvby5jb20uYnI+ICovCiAJCS5uYW1lICAgICAgICAgICA9ICJQcm9saW5rIFBpeGVsVmlldyBQbGF5VFYgTVBFRzIgUFYtTTQ5MDAiLAogCQkudmlkZW9faW5wdXRzICAgPSAzLAogCQkuYXVkaW9faW5wdXRzICAgPSAxLApkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS92aWRlby9tZXllLmMgYi9kcml2ZXJzL21lZGlhL3ZpZGVvL21leWUuYwppbmRleCA3NTMzZmMyLi42OTI4MzkyIDEwMDY0NAotLS0gYS9kcml2ZXJzL21lZGlhL3ZpZGVvL21leWUuYworKysgYi9kcml2ZXJzL21lZGlhL3ZpZGVvL21leWUuYwpAQCAtMyw3ICszLDcgQEAKICAqCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDEtMjAwNCBTdGVsaWFuIFBvcCA8c3RlbGlhbkBwb3BpZXMubmV0PgogICoKLSAqIENvcHlyaWdodCAoQykgMjAwMS0yMDAyIEFsY/R2ZSA8d3d3LmFsY292ZS5jb20+CisgKiBDb3B5cmlnaHQgKEMpIDIwMDEtMjAwMiBBbGPDtHZlIDx3d3cuYWxjb3ZlLmNvbT4KICAqCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDAgQW5kcmV3IFRyaWRnZWxsIDx0cmlkZ2VAdmFsaW51eC5jb20+CiAgKgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS92aWRlby9tZXllLmggYi9kcml2ZXJzL21lZGlhL3ZpZGVvL21leWUuaAppbmRleCAzMjNkMDA3Li5kNTM1NzQ4IDEwMDY0NAotLS0gYS9kcml2ZXJzL21lZGlhL3ZpZGVvL21leWUuaAorKysgYi9kcml2ZXJzL21lZGlhL3ZpZGVvL21leWUuaApAQCAtMyw3ICszLDcgQEAKICAqCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDEtMjAwNCBTdGVsaWFuIFBvcCA8c3RlbGlhbkBwb3BpZXMubmV0PgogICoKLSAqIENvcHlyaWdodCAoQykgMjAwMS0yMDAyIEFsY/R2ZSA8d3d3LmFsY292ZS5jb20+CisgKiBDb3B5cmlnaHQgKEMpIDIwMDEtMjAwMiBBbGPDtHZlIDx3d3cuYWxjb3ZlLmNvbT4KICAqCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDAgQW5kcmV3IFRyaWRnZWxsIDx0cmlkZ2VAdmFsaW51eC5jb20+CiAgKgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS92aWRlby91c2J2aWRlby92aWNhbS5jIGIvZHJpdmVycy9tZWRpYS92aWRlby91c2J2aWRlby92aWNhbS5jCmluZGV4IGZmNTU1MTIuLmRiM2M5ZTMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbWVkaWEvdmlkZW8vdXNidmlkZW8vdmljYW0uYworKysgYi9kcml2ZXJzL21lZGlhL3ZpZGVvL3VzYnZpZGVvL3ZpY2FtLmMKQEAgLTk1NSw3ICs5NTUsNyBAQAogCQlyZXF1ZXN0WzddID0gcmVhbFNodXR0ZXIgPj4gODsKIAl9CiAKLQkvLyBQZXIgSm9obiBNYXJrdXMgQmr4cm5kYWxlbiwgYnl0ZSBhdCBpbmRleCA4IGNhdXNlcyBwcm9ibGVtcyBpZiBpdCBpc24ndCAwCisJLy8gUGVyIEpvaG4gTWFya3VzIEJqw7hybmRhbGVuLCBieXRlIGF0IGluZGV4IDggY2F1c2VzIHByb2JsZW1zIGlmIGl0IGlzbid0IDAKIAlyZXF1ZXN0WzhdID0gMDsKIAkvLyBieXRlcyA5LTE1IGRvIG5vdCBzZWVtIHRvIGFmZmVjdCBleHBvc3VyZSBvciBpbWFnZSBxdWFsaXR5CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvdmlkZW8vdjRsMi1jb21tb24uYyBiL2RyaXZlcnMvbWVkaWEvdmlkZW8vdjRsMi1jb21tb24uYwppbmRleCBjMzQ0MGIyLi4zMjEyNDkyIDEwMDY0NAotLS0gYS9kcml2ZXJzL21lZGlhL3ZpZGVvL3Y0bDItY29tbW9uLmMKKysrIGIvZHJpdmVycy9tZWRpYS92aWRlby92NGwyLWNvbW1vbi5jCkBAIC0zNyw3ICszNyw3IEBACiAgKiBWaWRlbzRsaW51eCAxLzIgaW50ZWdyYXRpb24gYnkgSnVzdGluIFNjaG9lbWFuCiAgKiA8anVzdGluQHN1bnRpZ2VyLmVlLnVwLmFjLnphPgogICogMi40IFBST0NGUyBzdXBwb3J0IHBvcnRlZCBmcm9tIDIuNCBrZXJuZWxzIGJ5Ci0gKiAgSfFha2kgR2FyY+1hIEV0eGViYXJyaWEgPGdhcmV0eGVAZXVza2FsbmV0Lm5ldD4KKyAqICBJw7Fha2kgR2FyY8OtYSBFdHhlYmFycmlhIDxnYXJldHhlQGV1c2thbG5ldC5uZXQ+CiAgKiBNYWtlZmlsZSBmaXggYnkgIlcuIE1pY2hhZWwgUGV0dWxsbyIgPG1pa2VAZmx5bi5vcmc+CiAgKiAyLjQgZGV2ZnMgc3VwcG9ydCBwb3J0ZWQgZnJvbSAyLjQga2VybmVscyBieQogICogIERhbiBNZXJpbGxhdCA8ZGFuQG1lcmlsbGF0Lm9yZz4KZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVzc2FnZS9pMm8vUkVBRE1FIGIvZHJpdmVycy9tZXNzYWdlL2kyby9SRUFETUUKaW5kZXggYTgxZjg1MS4uOTExZmMzMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9tZXNzYWdlL2kyby9SRUFETUUKKysrIGIvZHJpdmVycy9tZXNzYWdlL2kyby9SRUFETUUKQEAgLTMwLDEzICszMCwxMyBAQAogCUJ1ZyBmaXhlcwogCUNvcmUgY29kZSBleHRlbnNpb25zCiAKLUF1dm8gSORra2luZW4sIFVuaXZlcnNpdHkgb2YgSGVsc2lua2kgRmlubGFuZAorQXV2byBIw6Rra2luZW4sIFVuaXZlcnNpdHkgb2YgSGVsc2lua2kgRmlubGFuZAogCUxBTiBPU00gY29kZQogCS9Qcm9jIGludGVyZmFjZSB0byBMQU4gY2xhc3MKIAlCdWcgZml4ZXMKIAlDb3JlIGNvZGUgZXh0ZW5zaW9ucwogCi1UYW5lbGkgVuRo5GthbmdhcywgVW5pdmVyc2l0eSBvZiBIZWxzaW5raSBGaW5sYW5kCitUYW5lbGkgVsOkaMOka2FuZ2FzLCBVbml2ZXJzaXR5IG9mIEhlbHNpbmtpIEZpbmxhbmQKIAlGaXhlcyB0byBpMm9fY29uZmlnCiAKIENSRURJVFMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVzc2FnZS9pMm8vZXhlYy1vc20uYyBiL2RyaXZlcnMvbWVzc2FnZS9pMm8vZXhlYy1vc20uYwppbmRleCBjZThmMWEzLi42Y2JjYzIxIDEwMDY0NAotLS0gYS9kcml2ZXJzL21lc3NhZ2UvaTJvL2V4ZWMtb3NtLmMKKysrIGIvZHJpdmVycy9tZXNzYWdlL2kyby9leGVjLW9zbS5jCkBAIC0xNSw4ICsxNSw4IEBACiAgKgogICoJRml4ZXMvYWRkaXRpb25zOgogICoJCVBoaWxpcHAgUnVtcGYKLSAqCQlKdWhhIFNpZXbkbmVuIDxKdWhhLlNpZXZhbmVuQGNzLkhlbHNpbmtpLkZJPgotICoJCUF1dm8gSORra2luZW4gPEF1dm8uSGFra2luZW5AY3MuSGVsc2lua2kuRkk+CisgKgkJSnVoYSBTaWV2w6RuZW4gPEp1aGEuU2lldmFuZW5AY3MuSGVsc2lua2kuRkk+CisgKgkJQXV2byBIw6Rra2luZW4gPEF1dm8uSGFra2luZW5AY3MuSGVsc2lua2kuRkk+CiAgKgkJRGVlcGFrIFNheGVuYSA8ZGVlcGFrQHBsZXhpdHkubmV0PgogICoJCUJvamkgVCBLYW5uYW50aGFuYW0gPGJvamkudC5rYW5uYW50aGFuYW1AaW50ZWwuY29tPgogICoJCUFsYW4gQ294IDxhbGFuQHJlZGhhdC5jb20+OgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZXNzYWdlL2kyby9pMm9fY29uZmlnLmMgYi9kcml2ZXJzL21lc3NhZ2UvaTJvL2kyb19jb25maWcuYwppbmRleCA4NGUwNDZlLi5jMGZiNzdkIDEwMDY0NAotLS0gYS9kcml2ZXJzL21lc3NhZ2UvaTJvL2kyb19jb25maWcuYworKysgYi9kcml2ZXJzL21lc3NhZ2UvaTJvL2kyb19jb25maWcuYwpAQCAtMTAsMTIgKzEwLDEyIEBACiAgKgkJQWRkZWQgYmFzaWMgaW9jdGwoKSBzdXBwb3J0CiAgKglEZWVwYWsgU2F4ZW5hICgwNi8wNy8xOTk5KToKICAqCQlBZGRlZCBzb2Z0d2FyZSBkb3dubG9hZCBpb2N0bCAoc3RpbGwgdGVzdGluZykKLSAqCUF1dm8gSORra2luZW4gKDA5LzEwLzE5OTkpOgorICoJQXV2byBIw6Rra2luZW4gKDA5LzEwLzE5OTkpOgogICoJCUNoYW5nZXMgdG8gaTJvX2NmZ19yZXBseSgpLCBpb2N0bF9wYXJtcygpCiAgKgkJQWRkZWQgaW9jdF92YWxpZGF0ZSgpCi0gKglUYW5lbGkgVuRo5GthbmdhcyAoMDkvMzAvMTk5OSk6CisgKglUYW5lbGkgVsOkaMOka2FuZ2FzICgwOS8zMC8xOTk5KToKICAqCQlGaXhlZCBpb2N0bF9zd2RsKCkKLSAqCVRhbmVsaSBW5Gjka2FuZ2FzICgxMC8wNC8xOTk5KToKKyAqCVRhbmVsaSBWw6Row6RrYW5nYXMgKDEwLzA0LzE5OTkpOgogICoJCUNoYW5nZWQgaW9jdGxfc3dkbCgpLCBpbXBsZW1lbnRlZCBpb2N0bF9zd3VsKCkgYW5kIGlvY3RsX3N3ZGVsKCkKICAqCURlZXBhayBTYXhlbmEgKDExLzE4LzE5OTkpOgogICoJCUFkZGVkIGV2ZW50IG1hbmFnbWVuZXQgc3VwcG9ydApkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZXNzYWdlL2kyby9pMm9fcHJvYy5jIGIvZHJpdmVycy9tZXNzYWdlL2kyby9pMm9fcHJvYy5jCmluZGV4IDA2ODkyYWMuLjZmZGQwNzIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbWVzc2FnZS9pMm8vaTJvX3Byb2MuYworKysgYi9kcml2ZXJzL21lc3NhZ2UvaTJvL2kyb19wcm9jLmMKQEAgLTE5LDggKzE5LDggQEAKICAqCiAgKgogICoJRml4ZXMvYWRkaXRpb25zOgotICoJCUp1aGEgU2llduRuZW4gKEp1aGEuU2lldmFuZW5AY3MuSGVsc2lua2kuRkkpLAotICoJCUF1dm8gSORra2luZW4gKEF1dm8uSGFra2luZW5AY3MuSGVsc2lua2kuRkkpCisgKgkJSnVoYSBTaWV2w6RuZW4gKEp1aGEuU2lldmFuZW5AY3MuSGVsc2lua2kuRkkpLAorICoJCUF1dm8gSMOka2tpbmVuIChBdXZvLkhha2tpbmVuQGNzLkhlbHNpbmtpLkZJKQogICoJCVVuaXZlcnNpdHkgb2YgSGVsc2lua2ksIERlcGFydG1lbnQgb2YgQ29tcHV0ZXIgU2NpZW5jZQogICoJCQlMQU4gZW50cmllcwogICoJCU1hcmt1cyBMaWRlbCA8TWFya3VzLkxpZGVsQHNoYWRvd2Nvbm5lY3QuY29tPgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZXNzYWdlL2kyby9pb3AuYyBiL2RyaXZlcnMvbWVzc2FnZS9pMm8vaW9wLmMKaW5kZXggYTFlYzE2YTA3Li43ODE0YTA2IDEwMDY0NAotLS0gYS9kcml2ZXJzL21lc3NhZ2UvaTJvL2lvcC5jCisrKyBiL2RyaXZlcnMvbWVzc2FnZS9pMm8vaW9wLmMKQEAgLTE1LDggKzE1LDggQEAKICAqCiAgKglGaXhlcy9hZGRpdGlvbnM6CiAgKgkJUGhpbGlwcCBSdW1wZgotICoJCUp1aGEgU2llduRuZW4gPEp1aGEuU2lldmFuZW5AY3MuSGVsc2lua2kuRkk+Ci0gKgkJQXV2byBI5GtraW5lbiA8QXV2by5IYWtraW5lbkBjcy5IZWxzaW5raS5GST4KKyAqCQlKdWhhIFNpZXbDpG5lbiA8SnVoYS5TaWV2YW5lbkBjcy5IZWxzaW5raS5GST4KKyAqCQlBdXZvIEjDpGtraW5lbiA8QXV2by5IYWtraW5lbkBjcy5IZWxzaW5raS5GST4KICAqCQlEZWVwYWsgU2F4ZW5hIDxkZWVwYWtAcGxleGl0eS5uZXQ+CiAgKgkJQm9qaSBUIEthbm5hbnRoYW5hbSA8Ym9qaS50Lmthbm5hbnRoYW5hbUBpbnRlbC5jb20+CiAgKgkJQWxhbiBDb3ggPGFsYW5AcmVkaGF0LmNvbT46CmRpZmYgLS1naXQgYS9kcml2ZXJzL21lc3NhZ2UvaTJvL3BjaS5jIGIvZHJpdmVycy9tZXNzYWdlL2kyby9wY2kuYwppbmRleCAzNjYxZTZlLi42ODVhODk1IDEwMDY0NAotLS0gYS9kcml2ZXJzL21lc3NhZ2UvaTJvL3BjaS5jCisrKyBiL2RyaXZlcnMvbWVzc2FnZS9pMm8vcGNpLmMKQEAgLTE1LDggKzE1LDggQEAKICAqCiAgKglGaXhlcy9hZGRpdGlvbnM6CiAgKgkJUGhpbGlwcCBSdW1wZgotICoJCUp1aGEgU2llduRuZW4gPEp1aGEuU2lldmFuZW5AY3MuSGVsc2lua2kuRkk+Ci0gKgkJQXV2byBI5GtraW5lbiA8QXV2by5IYWtraW5lbkBjcy5IZWxzaW5raS5GST4KKyAqCQlKdWhhIFNpZXbDpG5lbiA8SnVoYS5TaWV2YW5lbkBjcy5IZWxzaW5raS5GST4KKyAqCQlBdXZvIEjDpGtraW5lbiA8QXV2by5IYWtraW5lbkBjcy5IZWxzaW5raS5GST4KICAqCQlEZWVwYWsgU2F4ZW5hIDxkZWVwYWtAcGxleGl0eS5uZXQ+CiAgKgkJQm9qaSBUIEthbm5hbnRoYW5hbSA8Ym9qaS50Lmthbm5hbnRoYW5hbUBpbnRlbC5jb20+CiAgKgkJQWxhbiBDb3ggPGFsYW5AcmVkaGF0LmNvbT46CmRpZmYgLS1naXQgYS9kcml2ZXJzL21pc2MvaWJtYXNtL3JlbW90ZS5jIGIvZHJpdmVycy9taXNjL2libWFzbS9yZW1vdGUuYwppbmRleCAxZDlkZWZiLi40NzdiYjQzIDEwMDY0NAotLS0gYS9kcml2ZXJzL21pc2MvaWJtYXNtL3JlbW90ZS5jCisrKyBiL2RyaXZlcnMvbWlzYy9pYm1hc20vcmVtb3RlLmMKQEAgLTE3LDcgKzE3LDcgQEAKICAqCiAgKiBDb3B5cmlnaHQgKEMpIElCTSBDb3Jwb3JhdGlvbiwgMjAwNAogICoKLSAqIEF1dGhvcnM6IE1heCBBc2L2Y2sgPGFtYXhAdXMuaWJtLmNvbT4KKyAqIEF1dGhvcnM6IE1heCBBc2LDtmNrIDxhbWF4QHVzLmlibS5jb20+CiAgKiAgICAgICAgICBWZXJub24gTWF1ZXJ5IDx2ZXJudXhAdXMuaWJtLmNvbT4KICAqCiAgKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0LzgxMzl0b28uYyBiL2RyaXZlcnMvbmV0LzgxMzl0b28uYwppbmRleCA5NzNiNjg0Li5lZWY2ZmVjIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC84MTM5dG9vLmMKKysrIGIvZHJpdmVycy9uZXQvODEzOXRvby5jCkBAIC03Myw3ICs3Myw3IEBACiAKIAkJSmVhbi1KYWNxdWVzIE1pY2hlbCAtIGJ1ZyBmaXgKIAotCQlUb2JpYXMgUmluZ3N0cvZtIC0gUnggaW50ZXJydXB0IHN0YXR1cyBjaGVja2luZyBzdWdnZXN0aW9uCisJCVRvYmlhcyBSaW5nc3Ryw7ZtIC0gUnggaW50ZXJydXB0IHN0YXR1cyBjaGVja2luZyBzdWdnZXN0aW9uCiAKIAkJQW5kcmV3IE1vcnRvbiAtIENsZWFyIGJsb2NrZWQgc2lnbmFscywgYXZvaWQKIAkJYnVmZmVyIG92ZXJydW4gc2V0dGluZyBjdXJyZW50LT5jb21tLgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvYXJpYWRuZS5jIGIvZHJpdmVycy9uZXQvYXJpYWRuZS5jCmluZGV4IDNmYTNiY2MuLjEwZjNhMTkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2FyaWFkbmUuYworKysgYi9kcml2ZXJzL25ldC9hcmlhZG5lLmMKQEAgLTEsNyArMSw3IEBACiAvKgogICogIEFtaWdhIExpbnV4L202OGsgQXJpYWRuZSBFdGhlcm5ldCBEcml2ZXIKICAqCi0gKiAgqSBDb3B5cmlnaHQgMTk5NS0yMDAzIGJ5IEdlZXJ0IFV5dHRlcmhvZXZlbiAoZ2VlcnRAbGludXgtbTY4ay5vcmcpCisgKiAgwqkgQ29weXJpZ2h0IDE5OTUtMjAwMyBieSBHZWVydCBVeXR0ZXJob2V2ZW4gKGdlZXJ0QGxpbnV4LW02OGsub3JnKQogICoJCQkgICAgIFBldGVyIERlIFNjaHJpanZlciAocDJAbWluZC5iZSkKICAqCiAgKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9hcmlhZG5lLmggYi9kcml2ZXJzL25ldC9hcmlhZG5lLmgKaW5kZXggZjc5MTNkNS4uYmI2MTNmMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvYXJpYWRuZS5oCisrKyBiL2RyaXZlcnMvbmV0L2FyaWFkbmUuaApAQCAtMSw3ICsxLDcgQEAKIC8qCiAgKiAgQW1pZ2EgTGludXgvbTY4ayBBcmlhZG5lIEV0aGVybmV0IERyaXZlcgogICoKLSAqICCpIENvcHlyaWdodCAxOTk1IGJ5IEdlZXJ0IFV5dHRlcmhvZXZlbiAoZ2VlcnRAbGludXgtbTY4ay5vcmcpCisgKiAgwqkgQ29weXJpZ2h0IDE5OTUgYnkgR2VlcnQgVXl0dGVyaG9ldmVuIChnZWVydEBsaW51eC1tNjhrLm9yZykKICAqCQkJUGV0ZXIgRGUgU2NocmlqdmVyCiAgKgkJICAgICAgIChQZXRlci5EZVNjaHJpanZlckBsaW51eC5jYy5rdWxldXZlbi5hYy5iZSkKICAqCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9oYW1yYWRpby82cGFjay5jIGIvZHJpdmVycy9uZXQvaGFtcmFkaW8vNnBhY2suYwppbmRleCBhZDllMzI3Li5lMDExOWY2IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9oYW1yYWRpby82cGFjay5jCisrKyBiL2RyaXZlcnMvbmV0L2hhbXJhZGlvLzZwYWNrLmMKQEAgLTMsNyArMyw3IEBACiAgKgkJZGV2aWNlcyBsaWtlIFRUWS4gSXQgaW50ZXJmYWNlcyBiZXR3ZWVuIGEgcmF3IFRUWSBhbmQgdGhlCiAgKgkJa2VybmVsJ3MgQVguMjUgcHJvdG9jb2wgbGF5ZXJzLgogICoKLSAqIEF1dGhvcnM6CUFuZHJlYXMgS/Zuc2dlbiA8YWprQGllaGsucnd0aC1hYWNoZW4uZGU+CisgKiBBdXRob3JzOglBbmRyZWFzIEvDtm5zZ2VuIDxhamtAaWVoay5yd3RoLWFhY2hlbi5kZT4KICAqICAgICAgICAgICAgICBSYWxmIEJhZWNobGUgREw1UkIgPHJhbGZAbGludXgtbWlwcy5vcmc+CiAgKgogICogUXVpdGUgYSBsb3Qgb2Ygc3R1ZmYgInN0b2xlbiIgYnkgSm9lcmcgUmV1dGVyIGZyb20gc2xpcC5jLCB3cml0dGVuIGJ5CmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9pcmRhL2FjdGlzeXMtc2lyLmMgYi9kcml2ZXJzL25ldC9pcmRhL2FjdGlzeXMtc2lyLmMKaW5kZXggY2NmNmVjNS4uNzM2ZDI0NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvaXJkYS9hY3Rpc3lzLXNpci5jCisrKyBiL2RyaXZlcnMvbmV0L2lyZGEvYWN0aXN5cy1zaXIuYwpAQCAtMjEsNyArMjEsNyBAQAogICogICAgIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIAogICogICAgIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogICogIAotICogICAgIE5laXRoZXIgRGFnIEJyYXR0bGkgbm9yIFVuaXZlcnNpdHkgb2YgVHJvbXP4IGFkbWl0IGxpYWJpbGl0eSBub3IKKyAqICAgICBOZWl0aGVyIERhZyBCcmF0dGxpIG5vciBVbml2ZXJzaXR5IG9mIFRyb21zw7ggYWRtaXQgbGlhYmlsaXR5IG5vcgogICogICAgIHByb3ZpZGUgd2FycmFudHkgZm9yIGFueSBvZiB0aGlzIHNvZnR3YXJlLiBUaGlzIG1hdGVyaWFsIGlzIAogICogICAgIHByb3ZpZGVkICJBUy1JUyIgYW5kIGF0IG5vIGNoYXJnZS4KICAqICAgICAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2lyZGEvYWN0aXN5cy5jIGIvZHJpdmVycy9uZXQvaXJkYS9hY3Rpc3lzLmMKaW5kZXggYjJlMzFmNC4uYWUwYjgwYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvaXJkYS9hY3Rpc3lzLmMKKysrIGIvZHJpdmVycy9uZXQvaXJkYS9hY3Rpc3lzLmMKQEAgLTE5LDcgKzE5LDcgQEAKICAqICAgICBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiAKICAqICAgICB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICAqICAKLSAqICAgICBOZWl0aGVyIERhZyBCcmF0dGxpIG5vciBVbml2ZXJzaXR5IG9mIFRyb21z+CBhZG1pdCBsaWFiaWxpdHkgbm9yCisgKiAgICAgTmVpdGhlciBEYWcgQnJhdHRsaSBub3IgVW5pdmVyc2l0eSBvZiBUcm9tc8O4IGFkbWl0IGxpYWJpbGl0eSBub3IKICAqICAgICBwcm92aWRlIHdhcnJhbnR5IGZvciBhbnkgb2YgdGhpcyBzb2Z0d2FyZS4gVGhpcyBtYXRlcmlhbCBpcyAKICAqICAgICBwcm92aWRlZCAiQVMtSVMiIGFuZCBhdCBubyBjaGFyZ2UuCiAgKiAgICAgCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9pcmRhL2dpcmJpbC1zaXIuYyBiL2RyaXZlcnMvbmV0L2lyZGEvZ2lyYmlsLXNpci5jCmluZGV4IDBkMmZlODdmLi43Mzg1MzFiIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9pcmRhL2dpcmJpbC1zaXIuYworKysgYi9kcml2ZXJzL25ldC9pcmRhL2dpcmJpbC1zaXIuYwpAQCAtMTYsNyArMTYsNyBAQAogICogICAgIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mCiAgKiAgICAgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAgKiAKLSAqICAgICBOZWl0aGVyIERhZyBCcmF0dGxpIG5vciBVbml2ZXJzaXR5IG9mIFRyb21z+CBhZG1pdCBsaWFiaWxpdHkgbm9yCisgKiAgICAgTmVpdGhlciBEYWcgQnJhdHRsaSBub3IgVW5pdmVyc2l0eSBvZiBUcm9tc8O4IGFkbWl0IGxpYWJpbGl0eSBub3IKICAqICAgICBwcm92aWRlIHdhcnJhbnR5IGZvciBhbnkgb2YgdGhpcyBzb2Z0d2FyZS4gVGhpcyBtYXRlcmlhbCBpcwogICogICAgIHByb3ZpZGVkICJBUy1JUyIgYW5kIGF0IG5vIGNoYXJnZS4KICAqCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9pcmRhL2dpcmJpbC5jIGIvZHJpdmVycy9uZXQvaXJkYS9naXJiaWwuYwppbmRleCAyNDhhZWIwYy4uMWY1NzM5MSAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvaXJkYS9naXJiaWwuYworKysgYi9kcml2ZXJzL25ldC9pcmRhL2dpcmJpbC5jCkBAIC0xNiw3ICsxNiw3IEBACiAgKiAgICAgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgCiAgKiAgICAgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAgKiAgCi0gKiAgICAgTmVpdGhlciBEYWcgQnJhdHRsaSBub3IgVW5pdmVyc2l0eSBvZiBUcm9tc/ggYWRtaXQgbGlhYmlsaXR5IG5vcgorICogICAgIE5laXRoZXIgRGFnIEJyYXR0bGkgbm9yIFVuaXZlcnNpdHkgb2YgVHJvbXPDuCBhZG1pdCBsaWFiaWxpdHkgbm9yCiAgKiAgICAgcHJvdmlkZSB3YXJyYW50eSBmb3IgYW55IG9mIHRoaXMgc29mdHdhcmUuIFRoaXMgbWF0ZXJpYWwgaXMgCiAgKiAgICAgcHJvdmlkZWQgIkFTLUlTIiBhbmQgYXQgbm8gY2hhcmdlLgogICogICAgIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvaXJkYS9pcnBvcnQuaCBiL2RyaXZlcnMvbmV0L2lyZGEvaXJwb3J0LmgKaW5kZXggM2Y0NmI4NC4uNjZmYzI0MyAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvaXJkYS9pcnBvcnQuaAorKysgYi9kcml2ZXJzL25ldC9pcmRhL2lycG9ydC5oCkBAIC0xNyw3ICsxNyw3IEBACiAgKiAgICAgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgCiAgKiAgICAgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAgKgotICogICAgIE5laXRoZXIgRGFnIEJyYXR0bGkgbm9yIFVuaXZlcnNpdHkgb2YgVHJvbXP4IGFkbWl0IGxpYWJpbGl0eSBub3IKKyAqICAgICBOZWl0aGVyIERhZyBCcmF0dGxpIG5vciBVbml2ZXJzaXR5IG9mIFRyb21zw7ggYWRtaXQgbGlhYmlsaXR5IG5vcgogICogICAgIHByb3ZpZGUgd2FycmFudHkgZm9yIGFueSBvZiB0aGlzIHNvZnR3YXJlLiBUaGlzIG1hdGVyaWFsIGlzIAogICogICAgIHByb3ZpZGVkICJBUy1JUyIgYW5kIGF0IG5vIGNoYXJnZS4KICAqCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9pcmRhL2lydHR5LXNpci5jIGIvZHJpdmVycy9uZXQvaXJkYS9pcnR0eS1zaXIuYwppbmRleCA2ZjVmNjk3Li4yYzZmN2JlIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9pcmRhL2lydHR5LXNpci5jCisrKyBiL2RyaXZlcnMvbmV0L2lyZGEvaXJ0dHktc2lyLmMKQEAgLTIwLDcgKzIwLDcgQEAKICAqICAgICBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiAKICAqICAgICB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICAqICAKLSAqICAgICBOZWl0aGVyIERhZyBCcmF0dGxpIG5vciBVbml2ZXJzaXR5IG9mIFRyb21z+CBhZG1pdCBsaWFiaWxpdHkgbm9yCisgKiAgICAgTmVpdGhlciBEYWcgQnJhdHRsaSBub3IgVW5pdmVyc2l0eSBvZiBUcm9tc8O4IGFkbWl0IGxpYWJpbGl0eSBub3IKICAqICAgICBwcm92aWRlIHdhcnJhbnR5IGZvciBhbnkgb2YgdGhpcyBzb2Z0d2FyZS4gVGhpcyBtYXRlcmlhbCBpcyAKICAqICAgICBwcm92aWRlZCAiQVMtSVMiIGFuZCBhdCBubyBjaGFyZ2UuCiAgKiAgICAgCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9pcmRhL25zYy1pcmNjLmMgYi9kcml2ZXJzL25ldC9pcmRhL25zYy1pcmNjLmMKaW5kZXggMTJiOTM3OC4uYTg3M2QyYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvaXJkYS9uc2MtaXJjYy5jCisrKyBiL2RyaXZlcnMvbmV0L2lyZGEvbnNjLWlyY2MuYwpAQCAtMjAsNyArMjAsNyBAQAogICogICAgIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIAogICogICAgIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogICogIAotICogICAgIE5laXRoZXIgRGFnIEJyYXR0bGkgbm9yIFVuaXZlcnNpdHkgb2YgVHJvbXP4IGFkbWl0IGxpYWJpbGl0eSBub3IKKyAqICAgICBOZWl0aGVyIERhZyBCcmF0dGxpIG5vciBVbml2ZXJzaXR5IG9mIFRyb21zw7ggYWRtaXQgbGlhYmlsaXR5IG5vcgogICogICAgIHByb3ZpZGUgd2FycmFudHkgZm9yIGFueSBvZiB0aGlzIHNvZnR3YXJlLiBUaGlzIG1hdGVyaWFsIGlzIAogICogICAgIHByb3ZpZGVkICJBUy1JUyIgYW5kIGF0IG5vIGNoYXJnZS4KICAqCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9pcmRhL25zYy1pcmNjLmggYi9kcml2ZXJzL25ldC9pcmRhL25zYy1pcmNjLmgKaW5kZXggZGFjZjY3MS4uYmJkYzk3ZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvaXJkYS9uc2MtaXJjYy5oCisrKyBiL2RyaXZlcnMvbmV0L2lyZGEvbnNjLWlyY2MuaApAQCAtMTksNyArMTksNyBAQAogICogICAgIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIAogICogICAgIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogICogIAotICogICAgIE5laXRoZXIgRGFnIEJyYXR0bGkgbm9yIFVuaXZlcnNpdHkgb2YgVHJvbXP4IGFkbWl0IGxpYWJpbGl0eSBub3IKKyAqICAgICBOZWl0aGVyIERhZyBCcmF0dGxpIG5vciBVbml2ZXJzaXR5IG9mIFRyb21zw7ggYWRtaXQgbGlhYmlsaXR5IG5vcgogICogICAgIHByb3ZpZGUgd2FycmFudHkgZm9yIGFueSBvZiB0aGlzIHNvZnR3YXJlLiBUaGlzIG1hdGVyaWFsIGlzIAogICogICAgIHByb3ZpZGVkICJBUy1JUyIgYW5kIGF0IG5vIGNoYXJnZS4KICAqICAgICAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2lyZGEvdGVrcmFtLXNpci5jIGIvZHJpdmVycy9uZXQvaXJkYS90ZWtyYW0tc2lyLmMKaW5kZXggMGRkNmJjNy4uZDFjZTVhZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvaXJkYS90ZWtyYW0tc2lyLmMKKysrIGIvZHJpdmVycy9uZXQvaXJkYS90ZWtyYW0tc2lyLmMKQEAgLTE4LDcgKzE4LDcgQEAKICAqICAgICBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiAKICAqICAgICB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICAqICAKLSAqICAgICBOZWl0aGVyIERhZyBCcmF0dGxpIG5vciBVbml2ZXJzaXR5IG9mIFRyb21z+CBhZG1pdCBsaWFiaWxpdHkgbm9yCisgKiAgICAgTmVpdGhlciBEYWcgQnJhdHRsaSBub3IgVW5pdmVyc2l0eSBvZiBUcm9tc8O4IGFkbWl0IGxpYWJpbGl0eSBub3IKICAqICAgICBwcm92aWRlIHdhcnJhbnR5IGZvciBhbnkgb2YgdGhpcyBzb2Z0d2FyZS4gVGhpcyBtYXRlcmlhbCBpcyAKICAqICAgICBwcm92aWRlZCAiQVMtSVMiIGFuZCBhdCBubyBjaGFyZ2UuCiAgKiAgICAgCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9pcmRhL3Rla3JhbS5jIGIvZHJpdmVycy9uZXQvaXJkYS90ZWtyYW0uYwppbmRleCA4ZjYyNTgyLi45YmZkMjQ0IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9pcmRhL3Rla3JhbS5jCisrKyBiL2RyaXZlcnMvbmV0L2lyZGEvdGVrcmFtLmMKQEAgLTE2LDcgKzE2LDcgQEAKICAqICAgICBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiAKICAqICAgICB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICAqICAKLSAqICAgICBOZWl0aGVyIERhZyBCcmF0dGxpIG5vciBVbml2ZXJzaXR5IG9mIFRyb21z+CBhZG1pdCBsaWFiaWxpdHkgbm9yCisgKiAgICAgTmVpdGhlciBEYWcgQnJhdHRsaSBub3IgVW5pdmVyc2l0eSBvZiBUcm9tc8O4IGFkbWl0IGxpYWJpbGl0eSBub3IKICAqICAgICBwcm92aWRlIHdhcnJhbnR5IGZvciBhbnkgb2YgdGhpcyBzb2Z0d2FyZS4gVGhpcyBtYXRlcmlhbCBpcyAKICAqICAgICBwcm92aWRlZCAiQVMtSVMiIGFuZCBhdCBubyBjaGFyZ2UuCiAgKiAgICAgCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9pcmRhL3c4Mzk3N2FmX2lyLmggYi9kcml2ZXJzL25ldC9pcmRhL3c4Mzk3N2FmX2lyLmgKaW5kZXggMGI3NjYxZC4uODdjMzk3NSAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvaXJkYS93ODM5NzdhZl9pci5oCisrKyBiL2RyaXZlcnMvbmV0L2lyZGEvdzgzOTc3YWZfaXIuaApAQCAtMTYsNyArMTYsNyBAQAogICogICAgIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIAogICogICAgIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogICogIAotICogICAgIE5laXRoZXIgRGFnIEJyYXR0bGkgbm9yIFVuaXZlcnNpdHkgb2YgVHJvbXP4IGFkbWl0IGxpYWJpbGl0eSBub3IKKyAqICAgICBOZWl0aGVyIERhZyBCcmF0dGxpIG5vciBVbml2ZXJzaXR5IG9mIFRyb21zw7ggYWRtaXQgbGlhYmlsaXR5IG5vcgogICogICAgIHByb3ZpZGUgd2FycmFudHkgZm9yIGFueSBvZiB0aGlzIHNvZnR3YXJlLiBUaGlzIG1hdGVyaWFsIGlzIAogICogICAgIHByb3ZpZGVkICJBUy1JUyIgYW5kIGF0IG5vIGNoYXJnZS4KICAqICAgICAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL25ldHdhdmVfY3MuYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL25ldHdhdmVfY3MuYwppbmRleCBjMmQ3MWFmLi4yNDAyY2I4IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9uZXR3YXZlX2NzLmMKKysrIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvbmV0d2F2ZV9jcy5jCkBAIC00LDE4ICs0LDE4IEBACiAgKiBWZXJzaW9uOiAgICAgICAwLjQuMQogICogRGVzY3JpcHRpb246ICAgTmV0d2F2ZSBBaXJTdXJmZXIgV2lyZWxlc3MgTEFOIFBDIENhcmQgZHJpdmVyCiAgKiBTdGF0dXM6ICAgICAgICBFeHBlcmltZW50YWwuCi0gKiBBdXRob3JzOiAgICAgICBKb2huIE1hcmt1cyBCavhybmRhbGVuIDxqb2hubUBjcy51aXQubm8+CisgKiBBdXRob3JzOiAgICAgICBKb2huIE1hcmt1cyBCasO4cm5kYWxlbiA8am9obm1AY3MudWl0Lm5vPgogICogICAgICAgICAgICAgICAgRGFnIEJyYXR0bGkgPGRhZ2JAY3MudWl0Lm5vPgogICogICAgICAgICAgICAgICAgRGF2aWQgSGluZHMgPGRhaGluZHNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgogICogQ3JlYXRlZCBhdDogICAgQSBsb25nIHRpbWUgYWdvIQogICogTW9kaWZpZWQgYXQ6ICAgTW9uIE5vdiAxMCAxMTo1NDozNyAxOTk3CiAgKiBNb2RpZmllZCBieTogICBEYWcgQnJhdHRsaSA8ZGFnYkBjcy51aXQubm8+CiAgKiAKLSAqICAgICBDb3B5cmlnaHQgKGMpIDE5OTcgVW5pdmVyc2l0eSBvZiBUcm9tc/gsIE5vcndheQorICogICAgIENvcHlyaWdodCAoYykgMTk5NyBVbml2ZXJzaXR5IG9mIFRyb21zw7gsIE5vcndheQogICoKICAqIFJldmlzaW9uIEhpc3Rvcnk6CiAgKgotICogICAwOC1Ob3YtOTcgMTU6MTQ6NDcgICBKb2huIE1hcmt1cyBCavhybmRhbGVuIDxqb2hubUBjcy51aXQubm8+CisgKiAgIDA4LU5vdi05NyAxNToxNDo0NyAgIEpvaG4gTWFya3VzIEJqw7hybmRhbGVuIDxqb2hubUBjcy51aXQubm8+CiAgKiAgICAtIEZpeGVkIHNvbWUgYnVncyBpbiBuZXR3YXZlX3J4IGFuZCBjbGVhbmVkIGl0IHVwIGEgYml0LiAKICAqICAgICAgKE9uZSBvZiB0aGUgYnVncyB3b3VsZCBoYXZlIGRlc3Ryb3llZCBwYWNrZXRzIHdoZW4gcmVjZWl2aW5nCiAgKiAgICAgIG11bHRpcGxlIHBhY2tldHMgcGVyIGludGVycnVwdCkuIApAQCAtMTU4LDcgKzE1OCw3IEBACiBtb2R1bGVfcGFyYW0ocGNfZGVidWcsIGludCwgMCk7CiAjZGVmaW5lIERFQlVHKG4sIGFyZ3MuLi4pIGlmIChwY19kZWJ1Zz4obikpIHByaW50ayhLRVJOX0RFQlVHIGFyZ3MpCiBzdGF0aWMgY2hhciAqdmVyc2lvbiA9Ci0ibmV0d2F2ZV9jcy5jIDAuMy4wIFRodSBKdWwgMTcgMTQ6MzY6MDIgMTk5NyAoSm9obiBNYXJrdXMgQmr4cm5kYWxlbilcbiI7CisibmV0d2F2ZV9jcy5jIDAuMy4wIFRodSBKdWwgMTcgMTQ6MzY6MDIgMTk5NyAoSm9obiBNYXJrdXMgQmrDuHJuZGFsZW4pXG4iOwogI2Vsc2UKICNkZWZpbmUgREVCVUcobiwgYXJncy4uLikKICNlbmRpZgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2Jsb2NrL2Rhc2RfMzk5MF9lcnAuYyBiL2RyaXZlcnMvczM5MC9ibG9jay9kYXNkXzM5OTBfZXJwLmMKaW5kZXggNjk0MDJmMy4uNWI3Mzg1ZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2Jsb2NrL2Rhc2RfMzk5MF9lcnAuYworKysgYi9kcml2ZXJzL3MzOTAvYmxvY2svZGFzZF8zOTkwX2VycC5jCkBAIC00MCw3ICs0MCw3IEBACiAgKgogICogICBFYWNoIGJpdCBjb25maWd1cmF0aW9uIGxlYWRpbmcgdG8gYW4gYWN0aW9uIGNvZGUgMiAoRXhpdCB3aXRoCiAgKiAgIHByb2dyYW1taW5nIGVycm9yIG9yIHVudXN1YWwgY29uZGl0aW9uIGluZGljYXRpb24pCi0gKiAgIGFyZSBoYW5kbGVkIGFzIGZhdGFsIGVycm9ytHMuCisgKiAgIGFyZSBoYW5kbGVkIGFzIGZhdGFsIGVycm9ycy4KICAqCiAgKiAgIEFsbCBvdGhlciBjb25maWd1cmF0aW9ucyBhcmUgaGFuZGxlZCBhcyByZWNvdmVyYWJsZSBlcnJvcnMuCiAgKgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2Npby9jbWYuYyBiL2RyaXZlcnMvczM5MC9jaW8vY21mLmMKaW5kZXggYjk2MGY2Ni4uNzI1YjBkZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2Npby9jbWYuYworKysgYi9kcml2ZXJzL3MzOTAvY2lvL2NtZi5jCkBAIC0xNTgsNyArMTU4LDcgQEAKIAlpZiAoY291bnQgPT0gMCkKIAkJcmV0dXJuIDA7CiAKLQkvKiB2YWx1ZSBjb21lcyBpbiB1bml0cyBvZiAxMjggtXNlYyAqLworCS8qIHZhbHVlIGNvbWVzIGluIHVuaXRzIG9mIDEyOCDCtXNlYyAqLwogCXJldCA9IHRpbWVfdG9fbnNlYyh2YWx1ZSk7CiAJZG9fZGl2KHJldCwgY291bnQpOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvbmV0L2N0Y21haW4uYyBiL2RyaXZlcnMvczM5MC9uZXQvY3RjbWFpbi5jCmluZGV4IDQ0OTkzNzIuLjZiZjNlYmIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9uZXQvY3RjbWFpbi5jCisrKyBiL2RyaXZlcnMvczM5MC9uZXQvY3RjbWFpbi5jCkBAIC0zLDcgKzMsNyBAQAogICoKICAqIENvcHlyaWdodCAoQykgMjAwMSBJQk0gRGV1dHNjaGxhbmQgRW50d2lja2x1bmcgR21iSCwgSUJNIENvcnBvcmF0aW9uCiAgKiBBdXRob3Iocyk6IEZyaXR6IEVsZmVydCAoZWxmZXJ0QGRlLmlibS5jb20sIGZlbGZlcnRAbWlsbGVudXguY29tKQotICogRml4ZXMgYnkgOiBKb2NoZW4gUvZocmlnIChyb2VocmlnQGRlLmlibS5jb20pCisgKiBGaXhlcyBieSA6IEpvY2hlbiBSw7ZocmlnIChyb2VocmlnQGRlLmlibS5jb20pCiAgKiAgICAgICAgICAgIEFybmFsZG8gQ2FydmFsaG8gZGUgTWVsbyA8YWNtZUBjb25lY3RpdmEuY29tLmJyPgogCSAgICAgIFBldGVyIFRpZWRlbWFubiAocHRpZWRlbUBkZS5pYm0uY29tKQogICogRHJpdmVyIE1vZGVsIHN0dWZmIGJ5IDogQ29ybmVsaWEgSHVjayA8Y29ybmVsaWEuaHVja0BkZS5pYm0uY29tPgpAQCAtMTksNyArMTksNyBAQAogICogIERpZXRlciBXZWxsZXJkaWVrICh3ZWxAZGUuaWJtLmNvbSkKICAqICBNYXJ0aW4gU2Nod2lkZWZza3kgKHNjaHdpZGVmc2t5QGRlLmlibS5jb20pCiAgKiAgRGVuaXMgSm9zZXBoIEJhcnJvdyAoZGpiYXJyb3dAZGUuaWJtLmNvbSxiYXJyb3dfZGpAeWFob28uY29tKQotICogIEpvY2hlbiBS9mhyaWcgKHJvZWhyaWdAZGUuaWJtLmNvbSkKKyAqICBKb2NoZW4gUsO2aHJpZyAocm9laHJpZ0BkZS5pYm0uY29tKQogICoKICAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiAgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQpAQCAtODg1LDcgKzg4NSw3IEBACiAJfQogCiAJLyoqCi0JICogRG9utHQgc2V0dXAgYSB0aW1lciBmb3IgcmVjZWl2aW5nIHRoZSBpbml0aWFsIFJYIGZyYW1lCisJICogRG9uJ3Qgc2V0dXAgYSB0aW1lciBmb3IgcmVjZWl2aW5nIHRoZSBpbml0aWFsIFJYIGZyYW1lCiAJICogaWYgaW4gY29tcGF0aWJpbGl0eSBtb2RlLCBzaW5jZSBWTSBUQ1AgZGVsYXlzIHRoZSBpbml0aWFsCiAJICogZnJhbWUgdW50aWwgaXQgaGFzIHNvbWUgZGF0YSB0byBzZW5kLgogCSAqLwpAQCAtOTA1LDEwICs5MDUsMTAgQEAKIAkJY2N3X2NoZWNrX3JldHVybl9jb2RlKGNoLCByYywgImluaXQgSU8iKTsKIAl9CiAJLyoqCi0JICogSWYgaW4gY29tcGF0aWJpbGl0eSBtb2RlIHNpbmNlIHdlIGRvbrR0IHNldHVwIGEgdGltZXIsIHdlCisJICogSWYgaW4gY29tcGF0aWJpbGl0eSBtb2RlIHNpbmNlIHdlIGRvbid0IHNldHVwIGEgdGltZXIsIHdlCiAJICogYWxzbyBzaWduYWwgUlggY2hhbm5lbCB1cCBpbW1lZGlhdGVseS4gVGhpcyBlbmFibGVzIHVzCiAJICogdG8gc2VuZCBwYWNrZXRzIGVhcmx5IHdoaWNoIGluIHR1cm4gdXN1YWxseSB0cmlnZ2VycyBzb21lCi0JICogcmVwbHkgZnJvbSBWTSBUQ1Agd2hpY2ggYnJpbmdzIHVwIHRoZSBSWCBjaGFubmVsIHRvIGl0tHMKKwkgKiByZXBseSBmcm9tIFZNIFRDUCB3aGljaCBicmluZ3MgdXAgdGhlIFJYIGNoYW5uZWwgdG8gaXQncwogCSAqIGZpbmFsIHN0YXRlLgogCSAqLwogCWlmICgoQ0hBTk5FTF9ESVJFQ1RJT04oY2gtPmZsYWdzKSA9PSBSRUFEKSAmJgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zY3NpL2FoYTE1MnguYyBiL2RyaXZlcnMvc2NzaS9haGExNTJ4LmMKaW5kZXggZjA4ZTcxZS4uYTU4YzI2NSAxMDA2NDQKLS0tIGEvZHJpdmVycy9zY3NpL2FoYTE1MnguYworKysgYi9kcml2ZXJzL3Njc2kvYWhhMTUyeC5jCkBAIC0xLDYgKzEsNiBAQAogLyogYWhhMTUyeC5jIC0tIEFkYXB0ZWMgQUhBLTE1MnggZHJpdmVyCi0gKiBBdXRob3I6IEr8cmdlbiBFLiBGaXNjaGVyLCBmaXNjaGVyQG5vcmJpdC5kZQotICogQ29weXJpZ2h0IDE5OTMtMjAwNCBK/HJnZW4gRS4gRmlzY2hlcgorICogQXV0aG9yOiBKw7xyZ2VuIEUuIEZpc2NoZXIsIGZpc2NoZXJAbm9yYml0LmRlCisgKiBDb3B5cmlnaHQgMTk5My0yMDA0IErDvHJnZW4gRS4gRmlzY2hlcgogICoKICAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0CiAgKiB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUKQEAgLTM1Nyw3ICszNTcsNyBAQAogCWNoZWNrX2NvbmRpdGlvbiA9IDB4MDgwMCwJLyogcmVxdWVzdGluZyBzZW5zZSBhZnRlciBDSEVDSyBDT05ESVRJT04gKi8KIH07CiAKLU1PRFVMRV9BVVRIT1IoIkr8cmdlbiBGaXNjaGVyIik7CitNT0RVTEVfQVVUSE9SKCJKw7xyZ2VuIEZpc2NoZXIiKTsKIE1PRFVMRV9ERVNDUklQVElPTihBSEExNTJYX1JFVklEKTsKIE1PRFVMRV9MSUNFTlNFKCJHUEwiKTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9zY3NpL3N1bjNfTkNSNTM4MC5jIGIvZHJpdmVycy9zY3NpL3N1bjNfTkNSNTM4MC5jCmluZGV4IGRjMTVhMjIuLjRhYWZlODkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvc2NzaS9zdW4zX05DUjUzODAuYworKysgYi9kcml2ZXJzL3Njc2kvc3VuM19OQ1I1MzgwLmMKQEAgLTE1OTYsNyArMTU5Niw3IEBACiAgICAgICogSU8gd2hpbGUgU0VMIGlzIHRydWUuIEJ1dCBhZ2FpbiwgdGhlcmUgYXJlIHNvbWUgZGlza3Mgb3V0IHRoZSBpbiB0aGUKICAgICAgKiB3b3JsZCB0aGF0IGRvIHRoYXQgbmV2ZXJ0aGVsZXNzLiAoU29tZWJvZHkgY2xhaW1lZCB0aGF0IHRoaXMgYW5ub3VuY2VzCiAgICAgICogcmVzZWxlY3Rpb24gY2FwYWJpbGl0eSBvZiB0aGUgdGFyZ2V0LikgU28gd2UgYmV0dGVyIHNraXAgdGhhdCB0ZXN0IGFuZAotICAgICAqIG9ubHkgd2FpdCBmb3IgQlNZLi4uIChGYW1vdXMgZ2VybWFuIHdvcmRzOiBEZXIgS2z8Z2VyZSBnaWJ0IG5hY2ggOi0pCisgICAgICogb25seSB3YWl0IGZvciBCU1kuLi4gKEZhbW91cyBnZXJtYW4gd29yZHM6IERlciBLbMO8Z2VyZSBnaWJ0IG5hY2ggOi0pCiAgICAgICovCiAKICAgICB3aGlsZSAodGltZV9iZWZvcmUoamlmZmllcywgdGltZW91dCkgJiYgIShOQ1I1MzgwX3JlYWQoU1RBVFVTX1JFRykgJiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvc2VyaWFsL3MzYzI0MTAuYyBiL2RyaXZlcnMvc2VyaWFsL3MzYzI0MTAuYwppbmRleCAzZjI2YzRiLi5lNzczYzhlIDEwMDY0NAotLS0gYS9kcml2ZXJzL3NlcmlhbC9zM2MyNDEwLmMKKysrIGIvZHJpdmVycy9zZXJpYWwvczNjMjQxMC5jCkBAIC0yMCw4ICsyMCw4IEBACiAgKgkJICAgICAtIFMzQzI0MTAgYW5kIFMzQzI0NDAgc2VyaWFsIHN1cHBvcnQKICAqCQkgICAgIC0gUG93ZXIgTWFuYWdlbWVudCBzdXBwb3J0CiAgKgkJICAgICAtIEZpeCBjb25zb2xlIHZpYSBJckRBIGRldmljZXMKLSAqCQkgICAgIC0gU3lzUmVxIChIZXJiZXJ0IFD2dHpsKQotICoJCSAgICAgLSBCcmVhayBjaGFyYWN0ZXIgaGFuZGxpbmcgKEhlcmJlcnQgUPZ0emwpCisgKgkJICAgICAtIFN5c1JlcSAoSGVyYmVydCBQw7Z0emwpCisgKgkJICAgICAtIEJyZWFrIGNoYXJhY3RlciBoYW5kbGluZyAoSGVyYmVydCBQw7Z0emwpCiAgKgkJICAgICAtIHNwaW4tbG9jayBpbml0aWFsaXNhdGlvbiAoRGltaXRyeSBBbmRyaWMpCiAgKgkJICAgICAtIGFkZGVkIGNsb2NrIGNvbnRyb2wKICAqCQkgICAgIC0gdXBkYXRlZCBpbml0IGNvZGUgdG8gdXNlIHBsYXRmb3JtX2RldmljZSBpbmZvCmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9nYWRnZXQvbGg3YTQweF91ZGMuYyBiL2RyaXZlcnMvdXNiL2dhZGdldC9saDdhNDB4X3VkYy5jCmluZGV4IGU3OGMyZGQuLjM2N2I3NWMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdXNiL2dhZGdldC9saDdhNDB4X3VkYy5jCisrKyBiL2RyaXZlcnMvdXNiL2dhZGdldC9saDdhNDB4X3VkYy5jCkBAIC0xMjcyLDcgKzEyNzIsNyBAQAogCQkJLyoKIAkJCSAqIEF0dGVtcHRzIHRvIGhhbHQgSU4gZW5kcG9pbnRzIHdpbGwgZmFpbCAocmV0dXJuaW5nIC1FQUdBSU4pCiAJCQkgKiBpZiBhbnkgdHJhbnNmZXIgcmVxdWVzdHMgYXJlIHN0aWxsIHF1ZXVlZCwgb3IgaWYgdGhlIGNvbnRyb2xsZXIKLQkJCSAqIEZJRk8gc3RpbGwgaG9sZHMgYnl0ZXMgdGhhdCB0aGUgaG9zdCBoYXNuknQgY29sbGVjdGVkLgorCQkJICogRklGTyBzdGlsbCBob2xkcyBieXRlcyB0aGF0IHRoZSBob3N0IGhhc24ndCBjb2xsZWN0ZWQuCiAJCQkgKi8KIAkJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmVwLT5kZXYtPmxvY2ssIGZsYWdzKTsKIAkJCURFQlVHCmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9taXNjL2N5dGhlcm0uYyBiL2RyaXZlcnMvdXNiL21pc2MvY3l0aGVybS5jCmluZGV4IDA0ZTg3YWMuLjI2NzdmZWEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdXNiL21pc2MvY3l0aGVybS5jCisrKyBiL2RyaXZlcnMvdXNiL21pc2MvY3l0aGVybS5jCkBAIC0xMTgsNyArMTE4LDcgQEAKIAkJCQljeXRoZXJtLT5icmlnaHRuZXNzLCBidWZmZXIsIDgpOwogCWlmIChyZXR2YWwpCiAJCWRldl9kYmcoJmN5dGhlcm0tPnVkZXYtPmRldiwgInJldHZhbCA9ICVkXG4iLCByZXR2YWwpOwotCS8qIEluZm9ybSC1QyB0aGF0IHdlIGhhdmUgY2hhbmdlZCB0aGUgYnJpZ2h0bmVzcyBzZXR0aW5nICovCisJLyogSW5mb3JtIMK1QyB0aGF0IHdlIGhhdmUgY2hhbmdlZCB0aGUgYnJpZ2h0bmVzcyBzZXR0aW5nICovCiAJcmV0dmFsID0gdmVuZG9yX2NvbW1hbmQoY3l0aGVybS0+dWRldiwgV1JJVEVfUkFNLCBCUklHSFRORVNTX1NFTSwKIAkJCQkweDAxLCBidWZmZXIsIDgpOwogCWlmIChyZXR2YWwpCmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9taXNjL2VtaTI2LmMgYi9kcml2ZXJzL3VzYi9taXNjL2VtaTI2LmMKaW5kZXggNWMwYTI2Yy4uY2QxMzc1NyAxMDA2NDQKLS0tIGEvZHJpdmVycy91c2IvbWlzYy9lbWkyNi5jCisrKyBiL2RyaXZlcnMvdXNiL21pc2MvZW1pMjYuYwpAQCAtMSw3ICsxLDcgQEAKIC8qIAogICogRW1hZ2ljIEVNSSAyfDYgdXNiIGF1ZGlvIGludGVyZmFjZSBmaXJtd2FyZSBsb2FkZXIuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDIKLSAqIAlUYXBpbyBMYXhzdHL2bSAodGFwaW8ubGF4c3Ryb21AaXB0aW1lLmZpKQorICogCVRhcGlvIExheHN0csO2bSAodGFwaW8ubGF4c3Ryb21AaXB0aW1lLmZpKQogICoKICAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiAgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLCBhcyBwdWJsaXNoZWQgYnkKQEAgLTI0OSw3ICsyNDksNyBAQAogbW9kdWxlX2luaXQoZW1pMjZfaW5pdCk7CiBtb2R1bGVfZXhpdChlbWkyNl9leGl0KTsKIAotTU9EVUxFX0FVVEhPUigidGFwaW8gbGF4c3Ry9m0iKTsKK01PRFVMRV9BVVRIT1IoIlRhcGlvIExheHN0csO2bSIpOwogTU9EVUxFX0RFU0NSSVBUSU9OKCJFbWFnaWMgRU1JIDJ8NiBmaXJtd2FyZSBsb2FkZXIuIik7CiBNT0RVTEVfTElDRU5TRSgiR1BMIik7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL21pc2MvZW1pNjIuYyBiL2RyaXZlcnMvdXNiL21pc2MvZW1pNjIuYwppbmRleCAyMzE1M2VhLi40NzU4Y2M1IDEwMDY0NAotLS0gYS9kcml2ZXJzL3VzYi9taXNjL2VtaTYyLmMKKysrIGIvZHJpdmVycy91c2IvbWlzYy9lbWk2Mi5jCkBAIC0xLDcgKzEsNyBAQAogLyogCiAgKiBFbWFnaWMgRU1JIDJ8NiB1c2IgYXVkaW8gaW50ZXJmYWNlIGZpcm13YXJlIGxvYWRlci4KICAqIENvcHlyaWdodCAoQykgMjAwMgotICogCVRhcGlvIExheHN0cvZtICh0YXBpby5sYXhzdHJvbUBpcHRpbWUuZmkpCisgKiAJVGFwaW8gTGF4c3Ryw7ZtICh0YXBpby5sYXhzdHJvbUBpcHRpbWUuZmkpCiAgKgogICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKICAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsIGFzIHB1Ymxpc2hlZCBieQpAQCAtMjkyLDcgKzI5Miw3IEBACiBtb2R1bGVfaW5pdChlbWk2Ml9pbml0KTsKIG1vZHVsZV9leGl0KGVtaTYyX2V4aXQpOwogCi1NT0RVTEVfQVVUSE9SKCJ0YXBpbyBsYXhzdHL2bSIpOworTU9EVUxFX0FVVEhPUigiVGFwaW8gTGF4c3Ryw7ZtIik7CiBNT0RVTEVfREVTQ1JJUFRJT04oIkVtYWdpYyBFTUkgNnwybSBmaXJtd2FyZSBsb2FkZXIuIik7CiBNT0RVTEVfTElDRU5TRSgiR1BMIik7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL3NlcmlhbC9DaGFuZ2VMb2cuaGlzdG9yeSBiL2RyaXZlcnMvdXNiL3NlcmlhbC9DaGFuZ2VMb2cuaGlzdG9yeQppbmRleCA1MmM0ZjdiLi5jMWIyNzk5IDEwMDY0NAotLS0gYS9kcml2ZXJzL3VzYi9zZXJpYWwvQ2hhbmdlTG9nLmhpc3RvcnkKKysrIGIvZHJpdmVycy91c2Ivc2VyaWFsL0NoYW5nZUxvZy5oaXN0b3J5CkBAIC00MDAsNyArNDAwLDcgQEAKIAogICgxMS8xMS8yMDAxKSBna2gKIAlBZGRlZCBzdXBwb3J0IGZvciB0aGUgbTEyNSBkZXZpY2VzLCBhbmQgYWRkZWQgY2hlY2sgdG8gcHJldmVudCBvb3BzZXMKLQlmb3IgQ2xp6SBkZXZpY2VzIHRoYXQgbGllIGFib3V0IHRoZSBudW1iZXIgb2YgcG9ydHMgdGhleSBoYXZlLgorCWZvciBDbGnDqSBkZXZpY2VzIHRoYXQgbGllIGFib3V0IHRoZSBudW1iZXIgb2YgcG9ydHMgdGhleSBoYXZlLgogCiAgKDA4LzMwLzIwMDEpIGdraAogCUFkZGVkIHN1cHBvcnQgZm9yIHRoZSBDbGllIGRldmljZXMsIGJvdGggdGhlIDMuNSBhbmQgNC4wIG9zIHZlcnNpb25zLgpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2Ivc2VyaWFsL2Z0ZGlfc2lvLmMgYi9kcml2ZXJzL3VzYi9zZXJpYWwvZnRkaV9zaW8uYwppbmRleCA2NTI1Nzg2Li44YThhNmI5IDEwMDY0NAotLS0gYS9kcml2ZXJzL3VzYi9zZXJpYWwvZnRkaV9zaW8uYworKysgYi9kcml2ZXJzL3VzYi9zZXJpYWwvZnRkaV9zaW8uYwpAQCAtODMsNyArODMsNyBAQAogICoKICAqICgxOC9KdW4vMjAwMykgSWFuIEFiYm90dAogICogICAgICBBZGRlZCBEZXZpY2UgSUQgb2YgdGhlIFVTQiByZWxhaXMgZnJvbSBSdWRvbGYgR3VnbGVyIChiYWNrcG9ydGVkIGZyb20KLSAqICAgICAgUGhpbGlwcCBH/GhyaW5nJ3MgcGF0Y2ggZm9yIDIuNS54IGtlcm5lbCkuCisgKiAgICAgIFBoaWxpcHAgR8O8aHJpbmcncyBwYXRjaCBmb3IgMi41Lngga2VybmVsKS4KICAqICAgICAgTW92ZWQgcmVhZCB0cmFuc2ZlciBidWZmZXIgcmVhbGxvY2F0aW9uIGludG8gc3RhcnR1cCBmdW5jdGlvbi4KICAqICAgICAgRnJlZSBleGlzdGluZyB3cml0ZSB1cmIgYW5kIHRyYW5zZmVyIGJ1ZmZlciBpbiBzdGFydHVwIGZ1bmN0aW9uLgogICogICAgICBPbmx5IHVzZSB1cmJzIGluIHdyaXRlIHVyYiBwb29sIHRoYXQgd2VyZSBzdWNjZXNzZnVsbHkgYWxsb2NhdGVkLgpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2Ivc2VyaWFsL2Z0ZGlfc2lvLmggYi9kcml2ZXJzL3VzYi9zZXJpYWwvZnRkaV9zaW8uaAppbmRleCBiNTdiOTBhLi5iNTFjYmIwIDEwMDY0NAotLS0gYS9kcml2ZXJzL3VzYi9zZXJpYWwvZnRkaV9zaW8uaAorKysgYi9kcml2ZXJzL3VzYi9zZXJpYWwvZnRkaV9zaW8uaApAQCAtMTcsNyArMTcsNyBAQAogICogQmlsbCBSeWRlciAtIGJyeWRlckBzZ2kuY29tIGZvcm1lcmx5IG9mIFNpbGljb24gR3JhcGhpY3MsIEluYy4tIHdyb3RlIHRoZSAKICAqIEZURElfU0lPIGltcGxlbWVudGF0aW9uLgogICoKLSAqIFBoaWxpcHAgR/xocmluZyAtIHBnQGZ1dHVyZXdhcmUuYXQgLSBhZGRlZCB0aGUgRGV2aWNlIElEIG9mIHRoZSBVU0IgcmVsYWlzCisgKiBQaGlsaXBwIEfDvGhyaW5nIC0gcGdAZnV0dXJld2FyZS5hdCAtIGFkZGVkIHRoZSBEZXZpY2UgSUQgb2YgdGhlIFVTQiByZWxhaXMKICAqIGZyb20gUnVkb2xmIEd1Z2xlcgogICoKICAqLwpAQCAtNDQsNyArNDQsNyBAQAogI2RlZmluZSBGVERJX0FDVFpXQVZFX1BJRAkweEYyRDAKIAogCi0vKiB3d3cuc3RhcnRpbmctcG9pbnQtc3lzdGVtcy5jb20gtUNoYW1lbGVvbiBkZXZpY2UgKi8KKy8qIHd3dy5zdGFydGluZy1wb2ludC1zeXN0ZW1zLmNvbSDCtUNoYW1lbGVvbiBkZXZpY2UgKi8KICNkZWZpbmUgRlRESV9NSUNST19DSEFNRUxFT05fUElECTB4Q0FBMAkvKiBQcm9kdWN0IElkICovCiAKIC8qIHd3dy5pcnRyYW5zLmRlIGRldmljZSAqLwpAQCAtNDE5LDcgKzQxOSw3IEBACiAKIC8qCiAgKiBUZXJhdHJvbmlrIHByb2R1Y3QgaWRzLgotICogU3VibWl0dGVkIGJ5IE8uIFf2bGZlbHNjaG5laWRlci4KKyAqIFN1Ym1pdHRlZCBieSBPLiBXw7ZsZmVsc2NobmVpZGVyLgogICovCiAjZGVmaW5lIEZURElfVEVSQVRST05JS19WQ1BfUElECSAweEVDODgJLyogVGVyYXRyb25payBkZXZpY2UgKHByZWZlcnJpbmcgVkNQIGRyaXZlciBvbiB3aW5kb3dzKSAqLwogI2RlZmluZSBGVERJX1RFUkFUUk9OSUtfRDJYWF9QSUQgMHhFQzg5CS8qIFRlcmF0cm9uaWsgZGV2aWNlIChwcmVmZXJyaW5nIEQyWFggZHJpdmVyIG9uIHdpbmRvd3MpICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9zZXJpYWwvaXBhcS5jIGIvZHJpdmVycy91c2Ivc2VyaWFsL2lwYXEuYwppbmRleCBlODM2YWQwLi45YjM4YTA4IDEwMDY0NAotLS0gYS9kcml2ZXJzL3VzYi9zZXJpYWwvaXBhcS5jCisrKyBiL2RyaXZlcnMvdXNiL3NlcmlhbC9pcGFxLmMKQEAgLTMwNiw3ICszMDYsNyBAQAogCXsgVVNCX0RFVklDRSgweDA5MzAsIDB4MDcwNSkgfSwgLyogVE9TSElCQSBQb2NrZXQgUEMgZTMxMCAqLwogCXsgVVNCX0RFVklDRSgweDA5MzAsIDB4MDcwNikgfSwgLyogVE9TSElCQSBQb2NrZXQgUEMgZTc0MCAqLwogCXsgVVNCX0RFVklDRSgweDA5MzAsIDB4MDcwNykgfSwgLyogVE9TSElCQSBQb2NrZXQgUEMgZTMzMCBTZXJpZXMgKi8KLQl7IFVTQl9ERVZJQ0UoMHgwOTMwLCAweDA3MDgpIH0sIC8qIFRPU0hJQkEgUG9ja2V0IFBDIGUzNTCgU2VyaWVzICovCisJeyBVU0JfREVWSUNFKDB4MDkzMCwgMHgwNzA4KSB9LCAvKiBUT1NISUJBIFBvY2tldCBQQyBlMzUwIFNlcmllcyAqLwogCXsgVVNCX0RFVklDRSgweDA5MzAsIDB4MDcwOSkgfSwgLyogVE9TSElCQSBQb2NrZXQgUEMgZTc1MCBTZXJpZXMgKi8KIAl7IFVTQl9ERVZJQ0UoMHgwOTMwLCAweDA3MEEpIH0sIC8qIFRPU0hJQkEgUG9ja2V0IFBDIGU0MDAgU2VyaWVzICovCiAJeyBVU0JfREVWSUNFKDB4MDkzMCwgMHgwNzBCKSB9LCAvKiBUT1NISUJBIFBvY2tldCBQQyBlODAwIFNlcmllcyAqLwpAQCAtNDg4LDcgKzQ4OCw3IEBACiAJeyBVU0JfREVWSUNFKDB4MEJGOCwgMHgxMDAxKSB9LCAvKiBGdWppdHN1IFNpZW1lbnMgQ29tcHV0ZXJzIFVTQiBTeW5jICovCiAJeyBVU0JfREVWSUNFKDB4MEM0NCwgMHgwM0EyKSB9LCAvKiBNb3Rvcm9sYSBpREVOIFNtYXJ0cGhvbmUgKi8KIAl7IFVTQl9ERVZJQ0UoMHgwQzhFLCAweDYwMDApIH0sIC8qIENlc3Njb20gTHV4aWFuIFNlcmllcyAqLwotCXsgVVNCX0RFVklDRSgweDBDQUQsIDB4OTAwMSkgfSwgLyogTW90b3JvbGEgUG93ZXJQYWQgUG9ja2V0IFBDoERldmljZSAqLworCXsgVVNCX0RFVklDRSgweDBDQUQsIDB4OTAwMSkgfSwgLyogTW90b3JvbGEgUG93ZXJQYWQgUG9ja2V0IFBDIERldmljZSAqLwogCXsgVVNCX0RFVklDRSgweDBGNEUsIDB4MDIwMCkgfSwgLyogRnJlZWRvbSBTY2llbnRpZmljIFVTQiBTeW5jICovCiAJeyBVU0JfREVWSUNFKDB4MEY5OCwgMHgwMjAxKSB9LCAvKiBDeWJlcmJhbmsgVVNCIFN5bmMgKi8KIAl7IFVTQl9ERVZJQ0UoMHgwRkI4LCAweDMwMDEpIH0sIC8qIFdpc3Ryb24gVVNCIFN5bmMgKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL3N0b3JhZ2UvaXNkMjAwLmMgYi9kcml2ZXJzL3VzYi9zdG9yYWdlL2lzZDIwMC5jCmluZGV4IDY4MzFkY2EuLjkzYTc3MjQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdXNiL3N0b3JhZ2UvaXNkMjAwLmMKKysrIGIvZHJpdmVycy91c2Ivc3RvcmFnZS9pc2QyMDAuYwpAQCAtMyw3ICszLDcgQEAKICAqICRJZDogaXNkMjAwLmMsdiAxLjE2IDIwMDIvMDQvMjIgMDM6Mzk6NDMgbWRoYXJtIEV4cCAkCiAgKgogICogQ3VycmVudCBkZXZlbG9wbWVudCBhbmQgbWFpbnRlbmFuY2U6Ci0gKiAgIChDKSAyMDAxLTIwMDIgQmr2cm4gU3RlbmJlcmcgKGJqb3JuQGhheHguc2UpCisgKiAgIChDKSAyMDAxLTIwMDIgQmrDtnJuIFN0ZW5iZXJnIChiam9ybkBoYXh4LnNlKQogICoKICAqIERldmVsb3BlZCB3aXRoIHRoZSBhc3Npc3RhbmNlIG9mOgogICogICAoQykgMjAwMiBBbGFuIFN0ZXJuIDxzdGVybkByb3dsYW5kLm9yZz4KZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL3N0b3JhZ2UvdW51c3VhbF9kZXZzLmggYi9kcml2ZXJzL3VzYi9zdG9yYWdlL3VudXN1YWxfZGV2cy5oCmluZGV4IDliNjU2ZWMuLjIyYWIyMzggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdXNiL3N0b3JhZ2UvdW51c3VhbF9kZXZzLmgKKysrIGIvZHJpdmVycy91c2Ivc3RvcmFnZS91bnVzdWFsX2RldnMuaApAQCAtNDA3LDcgKzQwNyw3IEBACiAJCSJGaW5lUGl4IDE0MDBab29tIiwKIAkJVVNfU0NfVUZJLCBVU19QUl9ERVZJQ0UsIE5VTEwsIFVTX0ZMX0ZJWF9JTlFVSVJZIHwgVVNfRkxfU0lOR0xFX0xVTiksCiAKLS8qIFJlcG9ydGVkIGJ5IFBldGVyIFfkY2h0bGVyIDxwd2FlY2h0bGVyQGxvZXdlLWtvbXAuZGU+CisvKiBSZXBvcnRlZCBieSBQZXRlciBXw6RjaHRsZXIgPHB3YWVjaHRsZXJAbG9ld2Uta29tcC5kZT4KICAqIFRoZSBkZXZpY2UgbmVlZHMgdGhlIGZsYWdzIG9ubHkuCiAgKi8KIFVOVVNVQUxfREVWKCAgMHgwNGNlLCAweDAwMDIsIDB4MDA3NCwgMHgwMDc0LApAQCAtMTU1MSw3ICsxNTUxLDcgQEAKIAkJVVNfRkxfR09fU0xPVyApLAogCiAvKgotICogRGF2aWQgSORyZGVtYW4gPGRhdmlkQDJnZW4uY29tPgorICogRGF2aWQgSMOkcmRlbWFuIDxkYXZpZEAyZ2VuLmNvbT4KICAqIFRoZSBrZXkgbWFrZXMgdGhlIFNDU0kgc3RhY2sgcHJpbnQgY29uZnVzaW5nIChidXQgaGFybWxlc3MpIG1lc3NhZ2VzCiAgKi8KIFVOVVNVQUxfREVWKCAgMHg0MTQ2LCAweGJhMDEsIDB4MDEwMCwgMHgwMTAwLApkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9hbWlmYi5jIGIvZHJpdmVycy92aWRlby9hbWlmYi5jCmluZGV4IGYyZTI0M2MuLjRjOWVjM2YgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmlkZW8vYW1pZmIuYworKysgYi9kcml2ZXJzL3ZpZGVvL2FtaWZiLmMKQEAgLTExMiw3ICsxMTIsNyBAQAogICAgKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLSsKICAgIHwgICAgICAgICAgfCAgICAgICAgICAgICAgICBeICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgfCAgICAgICB8CiAgICB8ICAgICAgICAgIHwgICAgICAgICAgICAgICAgfHVwcGVyX21hcmdpbiAgICAgICAgICAgICAgICB8ICAgICAgICAgIHwgICAgICAgfAotICAgfCAgICAgICAgICB8ICAgICAgICAgICAgICAgIKUgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICB8ICAgICAgIHwKKyAgIHwgICAgICAgICAgfCAgICAgICAgICAgICAgICB2ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgfCAgICAgICB8CiAgICArLS0tLS0tLS0tLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjLS0tLS0tLS0tLSstLS0tLS0tKwogICAgfCAgICAgICAgICAjICAgICAgICAgICAgICAgIF4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICB8ICAgICAgIHwKICAgIHwgICAgICAgICAgIyAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgfCAgICAgICB8CkBAIC0xMzMsMTUgKzEzMywxNSBAQAogICAgfCAgICAgICAgICAjICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICB8ICAgICAgIHwKICAgIHwgICAgICAgICAgIyAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgfCAgICAgICB8CiAgICB8ICAgICAgICAgICMgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgIHwgICAgICAgfAotICAgfCAgICAgICAgICAjICAgICAgICAgICAgICAgIKUgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICB8ICAgICAgIHwKKyAgIHwgICAgICAgICAgIyAgICAgICAgICAgICAgICB2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgfCAgICAgICB8CiAgICArLS0tLS0tLS0tLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjLS0tLS0tLS0tLSstLS0tLS0tKwogICAgfCAgICAgICAgICB8ICAgICAgICAgICAgICAgIF4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICB8ICAgICAgIHwKICAgIHwgICAgICAgICAgfCAgICAgICAgICAgICAgICB8bG93ZXJfbWFyZ2luICAgICAgICAgICAgICAgIHwgICAgICAgICAgfCAgICAgICB8Ci0gICB8ICAgICAgICAgIHwgICAgICAgICAgICAgICAgpSAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgIHwgICAgICAgfAorICAgfCAgICAgICAgICB8ICAgICAgICAgICAgICAgIHYgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICB8ICAgICAgIHwKICAgICstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0rCiAgICB8ICAgICAgICAgIHwgICAgICAgICAgICAgICAgXiAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgIHwgICAgICAgfAogICAgfCAgICAgICAgICB8ICAgICAgICAgICAgICAgIHx2c3luY19sZW4gICAgICAgICAgICAgICAgICAgfCAgICAgICAgICB8ICAgICAgIHwKLSAgIHwgICAgICAgICAgfCAgICAgICAgICAgICAgICClICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgfCAgICAgICB8CisgICB8ICAgICAgICAgIHwgICAgICAgICAgICAgICAgdiAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgIHwgICAgICAgfAogICAgKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLSsKIAogCkBAIC0zMjUsNyArMzI1LDcgQEAKICAgIENDSVIgLT4gUEFMCiAgICAtLS0tLS0tLS0tLQogCi0gICAgICAtIGEgc2NhbmxpbmUgaXMgNjQgtXMgbG9uZywgb2Ygd2hpY2ggNTIuNDggtXMgYXJlIHZpc2libGUuIFRoaXMgaXMgYWJvdXQKKyAgICAgIC0gYSBzY2FubGluZSBpcyA2NCDCtXMgbG9uZywgb2Ygd2hpY2ggNTIuNDggwrVzIGFyZSB2aXNpYmxlLiBUaGlzIGlzIGFib3V0CiAgICAgICAgIDczNiB2aXNpYmxlIDcwIG5zIHBpeGVscyBwZXIgbGluZS4KICAgICAgIC0gd2UgaGF2ZSA2MjUgc2NhbmxpbmVzLCBvZiB3aGljaCA1NzUgYXJlIHZpc2libGUgKGludGVybGFjZWQpOyBhZnRlcgogICAgICAgICByb3VuZGluZyB0aGlzIGJlY29tZXMgNTc2LgpAQCAtMzMzLDcgKzMzMyw3IEBACiAgICBSRVRNQSAtPiBOVFNDCiAgICAtLS0tLS0tLS0tLS0tCiAKLSAgICAgIC0gYSBzY2FubGluZSBpcyA2My41ILVzIGxvbmcsIG9mIHdoaWNoIDUzLjUgtXMgYXJlIHZpc2libGUuICBUaGlzIGlzIGFib3V0CisgICAgICAtIGEgc2NhbmxpbmUgaXMgNjMuNSDCtXMgbG9uZywgb2Ygd2hpY2ggNTMuNSDCtXMgYXJlIHZpc2libGUuICBUaGlzIGlzIGFib3V0CiAgICAgICAgIDczNiB2aXNpYmxlIDcwIG5zIHBpeGVscyBwZXIgbGluZS4KICAgICAgIC0gd2UgaGF2ZSA1MjUgc2NhbmxpbmVzLCBvZiB3aGljaCA0ODUgYXJlIHZpc2libGUgKGludGVybGFjZWQpOyBhZnRlcgogICAgICAgICByb3VuZGluZyB0aGlzIGJlY29tZXMgNDg0LgpAQCAtODAyLDcgKzgwMiw3IEBACiAKIHN0YXRpYyB1X3Nob3J0IGRvX3Ztb2RlX2Z1bGwgPSAwOwkvKiBDaGFuZ2UgdGhlIFZpZGVvIE1vZGUgKi8KIHN0YXRpYyB1X3Nob3J0IGRvX3Ztb2RlX3BhbiA9IDA7CS8qIFVwZGF0ZSB0aGUgVmlkZW8gTW9kZSAqLwotc3RhdGljIHNob3J0IGRvX2JsYW5rID0gMDsJCS8qIChVbilCbGFuayB0aGUgU2NyZWVuICixMSkgKi8KK3N0YXRpYyBzaG9ydCBkb19ibGFuayA9IDA7CQkvKiAoVW4pQmxhbmsgdGhlIFNjcmVlbiAowrExKSAqLwogc3RhdGljIHVfc2hvcnQgZG9fY3Vyc29yID0gMDsJCS8qIE1vdmUgdGhlIEN1cnNvciAqLwogCiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vYXR5L2F0eWZiX2Jhc2UuYyBiL2RyaXZlcnMvdmlkZW8vYXR5L2F0eWZiX2Jhc2UuYwppbmRleCBhYmUwYzQzLi5kNzc1ZWI2IDEwMDY0NAotLS0gYS9kcml2ZXJzL3ZpZGVvL2F0eS9hdHlmYl9iYXNlLmMKKysrIGIvZHJpdmVycy92aWRlby9hdHkvYXR5ZmJfYmFzZS5jCkBAIC0yNiw3ICsyNiw3IEBACiAgKgkJCSAgIEFudGhvbnkgVG9uZyA8YXRvbmdAdWl1Yy5lZHU+CiAgKgogICogIEdlbmVyaWMgTENEIHN1cHBvcnQgd3JpdHRlbiBieSBEYW5pZWwgTWFudGlvbmUsIHBvcnRlZCBmcm9tIDIuNC4yMCBieSBBbGV4IEtlcm4KLSAqICBNYW55IFRoYW5rcyB0byBWaWxsZSBTeXJq5GzkIGZvciBwYXRjaGVzIGFuZCBmaXhpbmcgbmFzdGluZyAxNiBiaXQgY29sb3IgYnVnLgorICogIE1hbnkgVGhhbmtzIHRvIFZpbGxlIFN5cmrDpGzDpCBmb3IgcGF0Y2hlcyBhbmQgZml4aW5nIG5hc3RpbmcgMTYgYml0IGNvbG9yIGJ1Zy4KICAqCiAgKiAgVGhpcyBmaWxlIGlzIHN1YmplY3QgdG8gdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKICAqICBMaWNlbnNlLiBTZWUgdGhlIGZpbGUgQ09QWUlORyBpbiB0aGUgbWFpbiBkaXJlY3Rvcnkgb2YgdGhpcyBhcmNoaXZlIGZvcgpkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9pbnRlbGZiL2ludGVsZmJkcnYuYyBiL2RyaXZlcnMvdmlkZW8vaW50ZWxmYi9pbnRlbGZiZHJ2LmMKaW5kZXggZThlMzhlZC4uNDgxZDU4ZjcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmlkZW8vaW50ZWxmYi9pbnRlbGZiZHJ2LmMKKysrIGIvZHJpdmVycy92aWRlby9pbnRlbGZiL2ludGVsZmJkcnYuYwpAQCAtNCw3ICs0LDcgQEAKICAqIExpbnV4IGZyYW1lYnVmZmVyIGRyaXZlciBmb3IgSW50ZWwoUikgODMwTS84NDVHLzg1MkdNLzg1NUdNLzg2NUcvOTE1Ry85MTVHTS8KICAqIDk0NUcvOTQ1R00gaW50ZWdyYXRlZCBncmFwaGljcyBjaGlwcy4KICAqCi0gKiBDb3B5cmlnaHQgqSAyMDAyLCAyMDAzIERhdmlkIERhd2VzIDxkYXdlc0B4ZnJlZTg2Lm9yZz4KKyAqIENvcHlyaWdodCDCqSAyMDAyLCAyMDAzIERhdmlkIERhd2VzIDxkYXdlc0B4ZnJlZTg2Lm9yZz4KICAqICAgICAgICAgICAgICAgICAgIDIwMDQgU3lsdmFpbiBNZXllcgogICogICAgICAgICAgICAgICAgICAgMjAwNiBEYXZpZCBBaXJsaWUKICAqCmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2ludGVsZmIvaW50ZWxmYmh3LmMgYi9kcml2ZXJzL3ZpZGVvL2ludGVsZmIvaW50ZWxmYmh3LmMKaW5kZXggMmEwZTMyMC4uNWY2ZmI3ZCAxMDA2NDQKLS0tIGEvZHJpdmVycy92aWRlby9pbnRlbGZiL2ludGVsZmJody5jCisrKyBiL2RyaXZlcnMvdmlkZW8vaW50ZWxmYi9pbnRlbGZiaHcuYwpAQCAtMyw3ICszLDcgQEAKICAqCiAgKiBMaW51eCBmcmFtZWJ1ZmZlciBkcml2ZXIgZm9yIEludGVsKFIpIDg2NUcgaW50ZWdyYXRlZCBncmFwaGljcyBjaGlwcy4KICAqCi0gKiBDb3B5cmlnaHQgqSAyMDAyLCAyMDAzIERhdmlkIERhd2VzIDxkYXdlc0B4ZnJlZTg2Lm9yZz4KKyAqIENvcHlyaWdodCDCqSAyMDAyLCAyMDAzIERhdmlkIERhd2VzIDxkYXdlc0B4ZnJlZTg2Lm9yZz4KICAqICAgICAgICAgICAgICAgICAgIDIwMDQgU3lsdmFpbiBNZXllcgogICoKICAqIFRoaXMgZHJpdmVyIGNvbnNpc3RzIG9mIHR3byBwYXJ0cy4gIFRoZSBmaXJzdCBwYXJ0IChpbnRlbGZiZHJ2LmMpIHByb3ZpZGVzCmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL3MzYzI0MTBmYi5jIGIvZHJpdmVycy92aWRlby9zM2MyNDEwZmIuYwppbmRleCBhZTA4ZDQ1Li41ODU3Y2NmIDEwMDY0NAotLS0gYS9kcml2ZXJzL3ZpZGVvL3MzYzI0MTBmYi5jCisrKyBiL2RyaXZlcnMvdmlkZW8vczNjMjQxMGZiLmMKQEAgLTU2LDcgKzU2LDcgQEAKICAqCS0gQWRkIHN1cHBvcnQgZm9yIGRpZmZlcmVudCBkZXZpY2VzCiAgKgktIEJhY2tsaWdodCBzdXBwb3J0CiAgKgotICogMjAwNC0wOS0wNTogSGVyYmVydCBQ9nR6bCA8aGVyYmVydEAxM3RoZmxvb3IuYXQ+CisgKiAyMDA0LTA5LTA1OiBIZXJiZXJ0IFDDtnR6bCA8aGVyYmVydEAxM3RoZmxvb3IuYXQ+CiAgKgktIGFkZGVkIGNsb2NrIChkZS0pYWxsb2NhdGlvbiBjb2RlCiAgKgktIGFkZGVkIGZpeGVtIGZibWVtIG9wdGlvbgogICoKQEAgLTY0LDcgKzY0LDcgQEAKICAqCS0gY29kZSBjbGVhbnVwCiAgKgktIGFkZGVkIGEgZm9yZ290dGVuIHJldHVybiBpbiBoMTk0MGZiX2luaXQKICAqCi0gKiAyMDA0LTA3LTE5OiBIZXJiZXJ0IFD2dHpsIDxoZXJiZXJ0QDEzdGhmbG9vci5hdD4KKyAqIDIwMDQtMDctMTk6IEhlcmJlcnQgUMO2dHpsIDxoZXJiZXJ0QDEzdGhmbG9vci5hdD4KICAqCS0gY29kZSBjbGVhbnVwIGFuZCBleHRlbmRlZCBkZWJ1Z2dpbmcKICAqCiAgKiAyMDA0LTA3LTE1OiBBcm5hdWQgUGF0YXJkIDxhcm5hdWQucGF0YXJkQHJ0cC1uZXQub3JnPgpkaWZmIC0tZ2l0IGEvZHJpdmVycy93YXRjaGRvZy9pNjMwMGVzYi5jIGIvZHJpdmVycy93YXRjaGRvZy9pNjMwMGVzYi5jCmluZGV4IGM1OTgyNTAuLmYyMzY5NTQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvd2F0Y2hkb2cvaTYzMDBlc2IuYworKysgYi9kcml2ZXJzL3dhdGNoZG9nL2k2MzAwZXNiLmMKQEAgLTIsNyArMiw3IEBACiAgKglpNjMwMGVzYjoJV2F0Y2hkb2cgdGltZXIgZHJpdmVyIGZvciBJbnRlbCA2MzAwRVNCIGNoaXBzZXQKICAqCiAgKgkoYykgQ29weXJpZ2h0IDIwMDQgR29vZ2xlIEluYy4KLSAqCShjKSBDb3B5cmlnaHQgMjAwNSBEYXZpZCBI5HJkZW1hbiA8ZGF2aWRAMmdlbi5jb20+CisgKgkoYykgQ29weXJpZ2h0IDIwMDUgRGF2aWQgSMOkcmRlbWFuIDxkYXZpZEAyZ2VuLmNvbT4KICAqCiAgKglUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKgltb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQpAQCAtMTksNyArMTksNyBAQAogICoJSW5pdGlhbCB2ZXJzaW9uIDAuMDEKICAqICAyMDA0WVlaWiBSb3NzIEJpcm8KICAqICAJVmVyc2lvbiAwLjAyCi0gKiAgMjAwNTAyMTAgRGF2aWQgSORyZGVtYW4gPGRhdmlkQDJnZW4uY29tPgorICogIDIwMDUwMjEwIERhdmlkIEjDpHJkZW1hbiA8ZGF2aWRAMmdlbi5jb20+CiAgKiAgICAgIFBvcnRlZCBkcml2ZXIgdG8ga2VybmVsIDIuNgogICovCiAKQEAgLTUyMSw3ICs1MjEsNyBAQAogbW9kdWxlX2luaXQod2F0Y2hkb2dfaW5pdCk7CiBtb2R1bGVfZXhpdCh3YXRjaGRvZ19jbGVhbnVwKTsKIAotTU9EVUxFX0FVVEhPUigiUm9zcyBCaXJvIGFuZCBEYXZpZCBI5HJkZW1hbiIpOworTU9EVUxFX0FVVEhPUigiUm9zcyBCaXJvIGFuZCBEYXZpZCBIw6RyZGVtYW4iKTsKIE1PRFVMRV9ERVNDUklQVElPTigiV2F0Y2hkb2cgZHJpdmVyIGZvciBJbnRlbCA2MzAwRVNCIGNoaXBzZXRzIik7CiBNT0RVTEVfTElDRU5TRSgiR1BMIik7CiBNT0RVTEVfQUxJQVNfTUlTQ0RFVihXQVRDSERPR19NSU5PUik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3dhdGNoZG9nL2lUQ09fdmVuZG9yX3N1cHBvcnQuYyBiL2RyaXZlcnMvd2F0Y2hkb2cvaVRDT192ZW5kb3Jfc3VwcG9ydC5jCmluZGV4IDQxNTA4MzkuLmNhZmM0NjUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvd2F0Y2hkb2cvaVRDT192ZW5kb3Jfc3VwcG9ydC5jCisrKyBiL2RyaXZlcnMvd2F0Y2hkb2cvaVRDT192ZW5kb3Jfc3VwcG9ydC5jCkBAIC0xMTUsNyArMTE1LDcgQEAKICAqCSAgRm9yIFA0RFB4OgogICoJICBCSU9TIHNldHVwIC0+IEFkdmFuY2VkIC0+IEkvTyBEZXZpY2UgQ29uZmlndXJhdGlvbiAtPiBXYXRjaCBEb2cKICAqCSBUaGlzIHNldHRpbmcgZW5hYmxlcyBvciBkaXNhYmxlcyBXYXRjaGRvZyBmdW5jdGlvbi4gV2hlbiBlbmFibGVkLCB0aGUKLSAqCSBkZWZhdWx0IHdhdGNoZG9nIHRpbWVyIGlzIHNldCB0byBiZSA1IG1pbnV0ZXMgKGFib3V0IDTigJkzNeKAnSkuIEl0IGlzCisgKgkgZGVmYXVsdCB3YXRjaGRvZyB0aW1lciBpcyBzZXQgdG8gYmUgNSBtaW51dGVzIChhYm91dCA0bTM1cykuIEl0IGlzCiAgKgkgZW5vdWdoIHRvIGxvYWQgYW5kIHJ1biB0aGUgT1MuIFRoZSBhcHBsaWNhdGlvbiAoc2VydmljZSBvciBkcml2ZXIpIGhhcwogICoJIHRvIHRha2Ugb3ZlciB0aGUgY29udHJvbCBvbmNlIE9TIGlzIHJ1bm5pbmcgdXAgYW5kIGJlZm9yZSB3YXRjaGRvZwogICoJIGV4cGlyZXMuCmRpZmYgLS1naXQgYS9kcml2ZXJzL3dhdGNoZG9nL3c4MzY5N2hmX3dkdC5jIGIvZHJpdmVycy93YXRjaGRvZy93ODM2OTdoZl93ZHQuYwppbmRleCBkOWU4MjFkLi41MTgyNmMyIDEwMDY0NAotLS0gYS9kcml2ZXJzL3dhdGNoZG9nL3c4MzY5N2hmX3dkdC5jCisrKyBiL2RyaXZlcnMvd2F0Y2hkb2cvdzgzNjk3aGZfd2R0LmMKQEAgLTgsNyArOCw3IEBACiAgKgl3aGljaCBpcyBiYXNlZCBvbiB3ZHQuYy4KICAqCU9yaWdpbmFsIGNvcHlyaWdodCBtZXNzYWdlczoKICAqCi0gKgkoYykgQ29weXJpZ2h0IDIwMDMgUOFkcmFpZyBCcmFkeSA8UEBkcmFpZ0JyYWR5LmNvbT4KKyAqCShjKSBDb3B5cmlnaHQgMjAwMyBQw6FkcmFpZyBCcmFkeSA8UEBkcmFpZ0JyYWR5LmNvbT4KICAqCiAgKgkoYykgQ29weXJpZ2h0IDIwMDAtMjAwMSBNYXJlayBNaWNoYWxraWV3aWN6IDxtYXJla21AbGludXgub3JnLnBsPgogICoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvem9ycm8vem9ycm8uaWRzIGIvZHJpdmVycy96b3Jyby96b3Jyby5pZHMKaW5kZXggNWJkNGIwNWQuLjU2MGZlZjIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvem9ycm8vem9ycm8uaWRzCisrKyBiL2RyaXZlcnMvem9ycm8vem9ycm8uaWRzCkBAIC0yOTUsNyArMjk1LDcgQEAKIAkwMTAwICBSSCA4MDBDIFtIRCBDb250cm9sbGVyXQogCTAyMDAgIFJIIDgwMEMgW1JBTSBFeHBhbnNpb25dCiAwODYxICBLYXRvCi0jIFRoZSBSYWluYm93IElJIGFuZCBJSUkgYXJlIGFjdHVhbGx5IG1hZGUgYnkgSW5nZW5pZXVyYvxybyBIZWxmcmljaAorIyBUaGUgUmFpbmJvdyBJSSBhbmQgSUlJIGFyZSBhY3R1YWxseSBtYWRlIGJ5IEluZ2VuaWV1cmLDvHJvIEhlbGZyaWNoCiAJMjAwMCAgUmFpbmJvdyBJSSBbR3JhcGhpY3MgQ2FyZF0KIAkyMTAwICBSYWluYm93IElJSSBbR3JhcGhpY3MgQ2FyZF0KIAk4MDAwICBNZWxvZHkgTVBFRyBbQXVkaW8gQ2FyZF0KZGlmZiAtLWdpdCBhL2ZzL2JpbmZtdF9lbTg2LmMgYi9mcy9iaW5mbXRfZW04Ni5jCmluZGV4IDU3NmRkN2QuLmY5NWFlOTcgMTAwNjQ0Ci0tLSBhL2ZzL2JpbmZtdF9lbTg2LmMKKysrIGIvZnMvYmluZm10X2VtODYuYwpAQCAtMiw3ICsyLDcgQEAKICAqICBsaW51eC9mcy9iaW5mbXRfZW04Ni5jCiAgKgogICogIEJhc2VkIG9uIGxpbnV4L2ZzL2JpbmZtdF9zY3JpcHQuYwotICogIENvcHlyaWdodCAoQykgMTk5NiAgTWFydGluIHZvbiBM9ndpcworICogIENvcHlyaWdodCAoQykgMTk5NiAgTWFydGluIHZvbiBMw7Z3aXMKICAqICBvcmlnaW5hbCAjIS1jaGVja2luZyBpbXBsZW1lbnRlZCBieSB0eXRzby4KICAqCiAgKiAgZW04NiBjaGFuZ2VzIENvcHlyaWdodCAoQykgMTk5NyAgSmltIFBhcmFkaXMKZGlmZiAtLWdpdCBhL2ZzL2JpbmZtdF9taXNjLmMgYi9mcy9iaW5mbXRfbWlzYy5jCmluZGV4IDQyZTk0YjMuLmI1M2M3ZTUgMTAwNjQ0Ci0tLSBhL2ZzL2JpbmZtdF9taXNjLmMKKysrIGIvZnMvYmluZm10X21pc2MuYwpAQCAtMSw3ICsxLDcgQEAKIC8qCiAgKiAgYmluZm10X21pc2MuYwogICoKLSAqICBDb3B5cmlnaHQgKEMpIDE5OTcgUmljaGFyZCBH/G50aGVyCisgKiAgQ29weXJpZ2h0IChDKSAxOTk3IFJpY2hhcmQgR8O8bnRoZXIKICAqCiAgKiAgYmluZm10X21pc2MgZGV0ZWN0cyBiaW5hcmllcyB2aWEgYSBtYWdpYyBvciBmaWxlbmFtZSBleHRlbnNpb24gYW5kIGludm9rZXMKICAqICBhIHNwZWNpZmllZCB3cmFwcGVyLiBUaGlzIHNob3VsZCBvYnNvbGV0ZSBiaW5mbXRfamF2YSwgYmluZm10X2VtODYgYW5kCmRpZmYgLS1naXQgYS9mcy9iaW5mbXRfc2NyaXB0LmMgYi9mcy9iaW5mbXRfc2NyaXB0LmMKaW5kZXggNGQwZTBmNi4uYWIzMzkzOSAxMDA2NDQKLS0tIGEvZnMvYmluZm10X3NjcmlwdC5jCisrKyBiL2ZzL2JpbmZtdF9zY3JpcHQuYwpAQCAtMSw3ICsxLDcgQEAKIC8qCiAgKiAgbGludXgvZnMvYmluZm10X3NjcmlwdC5jCiAgKgotICogIENvcHlyaWdodCAoQykgMTk5NiAgTWFydGluIHZvbiBM9ndpcworICogIENvcHlyaWdodCAoQykgMTk5NiAgTWFydGluIHZvbiBMw7Z3aXMKICAqICBvcmlnaW5hbCAjIS1jaGVja2luZyBpbXBsZW1lbnRlZCBieSB0eXRzby4KICAqLwogCmRpZmYgLS1naXQgYS9mcy9pc29mcy9pbm9kZS5jIGIvZnMvaXNvZnMvaW5vZGUuYwppbmRleCBhYTM1OWEyLi4wOWUzZDMwIDEwMDY0NAotLS0gYS9mcy9pc29mcy9pbm9kZS5jCisrKyBiL2ZzL2lzb2ZzL2lub2RlLmMKQEAgLTMsNyArMyw3IEBACiAgKgogICogIChDKSAxOTkxICBMaW51cyBUb3J2YWxkcyAtIG1pbml4IGZpbGVzeXN0ZW0KICAqICAgICAgMTk5MiwgMTk5MywgMTk5NCAgRXJpYyBZb3VuZ2RhbGUgTW9kaWZpZWQgZm9yIElTTyA5NjYwIGZpbGVzeXN0ZW0uCi0gKiAgICAgIDE5OTQgIEViZXJoYXJkIE1vZW5rZWJlcmcgLSBtdWx0aSBzZXNzaW9uIGhhbmRsaW5nLgorICogICAgICAxOTk0ICBFYmVyaGFyZCBNw7Zua2ViZXJnIC0gbXVsdGkgc2Vzc2lvbiBoYW5kbGluZy4KICAqICAgICAgMTk5NSAgTWFyayBEb2JpZSAtIGFsbG93IG1vdW50aW5nIG9mIHNvbWUgd2VpcmQgVmlkZW9DRHMgYW5kIFBob3RvQ0RzLgogICoJMTk5NyAgR29yZG9uIENoYWZmZWUgLSBKb2xpZXQgQ0RzCiAgKgkxOTk4ICBFcmljIExhbW1lcnRzIC0gSVNPIDk2NjAgTGV2ZWwgMwpkaWZmIC0tZ2l0IGEvZnMvbmZzL25mc3Jvb3QuYyBiL2ZzL25mcy9uZnNyb290LmMKaW5kZXggZTg3YjQ0ZS4uNGIwMzM0NSAxMDA2NDQKLS0tIGEvZnMvbmZzL25mc3Jvb3QuYworKysgYi9mcy9uZnMvbmZzcm9vdC5jCkBAIC00Myw3ICs0Myw3IEBACiAgKgkJCQlmcm9tIGJlaW5nIHVzZWQgKHRoYW5rcyB0byBMZW8gU3BpZWttYW4pCiAgKglBbmR5IFdhbGtlcgk6CUFsbG93IHRvIHNwZWNpZnkgdGhlIE5GUyBzZXJ2ZXIgaW4gbmZzX3Jvb3QKICAqCQkJCXdpdGhvdXQgZ2l2aW5nIGEgcGF0aCBuYW1lCi0gKglTd2VuIFRo/G1tbGVyCToJQWxsb3cgdG8gc3BlY2lmeSB0aGUgTkZTIG9wdGlvbnMgaW4gbmZzX3Jvb3QKKyAqCVN3ZW4gVGjDvG1tbGVyCToJQWxsb3cgdG8gc3BlY2lmeSB0aGUgTkZTIG9wdGlvbnMgaW4gbmZzX3Jvb3QKICAqCQkJCXdpdGhvdXQgZ2l2aW5nIGEgcGF0aCBuYW1lLiBGaXggQk9PVFAgcmVxdWVzdAogICoJCQkJZm9yIGRvbWFpbm5hbWUgKGRvbWFpbm5hbWUgaXMgTklTIGRvbWFpbiwgbm90CiAgKgkJCQlETlMgZG9tYWluISkuIFNraXAgZHVtbXkgZGV2aWNlcyBmb3IgQk9PVFAuCmRpZmYgLS1naXQgYS9mcy9udGZzL0NoYW5nZUxvZyBiL2ZzL250ZnMvQ2hhbmdlTG9nCmluZGV4IDM0NTc5OGUuLmZmMmM3OWMgMTAwNjQ0Ci0tLSBhL2ZzL250ZnMvQ2hhbmdlTG9nCisrKyBiL2ZzL250ZnMvQ2hhbmdlTG9nCkBAIC0zODIsNyArMzgyLDcgQEAKIAkgIG93biBsb2NraW5nIHNvIGl0IGRvZXMgbm90IG1hdHRlciBpZiB0aGUgdmZzIGlub2RlIGlzIGxvY2tlZC4KIAktIEZpeCBidWcgaW4gbWZ0IHJlY29yZCB3cml0aW5nIHdoZXJlIHdlIGZvcmdvdCB0byBzZXQgdGhlIGRldmljZSBpbgogCSAgdGhlIGJ1ZmZlcnMgd2hlbiBtYXBwaW5nIHRoZW0gYWZ0ZXIgdGhlIFZNIGhhZCBkaXNjYXJkZWQgdGhlbS4KLQkgIFRoYW5rcyB0byBNYXJ0aW4gTU9LUkVKxaAgZm9yIHRoZSBidWcgcmVwb3J0LgorCSAgVGhhbmtzIHRvIE1hcnRpbiBNT0tSRUrDhSBmb3IgdGhlIGJ1ZyByZXBvcnQuCiAKIDIuMS4yMiAtIE1hbnkgYnVnIGFuZCByYWNlIGZpeGVzIGFuZCBlcnJvciBoYW5kbGluZyBpbXByb3ZlbWVudHMuCiAKZGlmZiAtLWdpdCBhL2ZzL250ZnMvc3lzY3RsLmMgYi9mcy9udGZzL3N5c2N0bC5jCmluZGV4IDQ4NDdmYmYuLjllZjg1ZTYgMTAwNjQ0Ci0tLSBhL2ZzL250ZnMvc3lzY3RsLmMKKysrIGIvZnMvbnRmcy9zeXNjdGwuYwpAQCAtMSw3ICsxLDcgQEAKIC8qCiAgKiBzeXNjdGwuYyAtIENvZGUgZm9yIHN5c2N0bCBoYW5kbGluZyBpbiBOVEZTIExpbnV4IGtlcm5lbCBkcml2ZXIuIFBhcnQgb2YKICAqCSAgICAgIHRoZSBMaW51eC1OVEZTIHByb2plY3QuIEFkYXB0ZWQgZnJvbSB0aGUgb2xkIE5URlMgZHJpdmVyLAotICoJICAgICAgQ29weXJpZ2h0IChDKSAxOTk3IE1hcnRpbiB2b24gTPZ3aXMsIFLpZ2lzIER1Y2hlc25lCisgKgkgICAgICBDb3B5cmlnaHQgKEMpIDE5OTcgTWFydGluIHZvbiBMw7Z3aXMsIFLDqWdpcyBEdWNoZXNuZQogICoKICAqIENvcHlyaWdodCAoYykgMjAwMi0yMDA1IEFudG9uIEFsdGFwYXJtYWtvdgogICoKZGlmZiAtLWdpdCBhL2ZzL250ZnMvc3lzY3RsLmggYi9mcy9udGZzL3N5c2N0bC5oCmluZGV4IGJlZGE1YmY5Li5kNGY4Y2U5IDEwMDY0NAotLS0gYS9mcy9udGZzL3N5c2N0bC5oCisrKyBiL2ZzL250ZnMvc3lzY3RsLmgKQEAgLTEsNyArMSw3IEBACiAvKgogICogc3lzY3RsLmggLSBEZWZpbmVzIGZvciBzeXNjdGwgaGFuZGxpbmcgaW4gTlRGUyBMaW51eCBrZXJuZWwgZHJpdmVyLiBQYXJ0IG9mCiAgKgkgICAgICB0aGUgTGludXgtTlRGUyBwcm9qZWN0LiBBZGFwdGVkIGZyb20gdGhlIG9sZCBOVEZTIGRyaXZlciwKLSAqCSAgICAgIENvcHlyaWdodCAoQykgMTk5NyBNYXJ0aW4gdm9uIEz2d2lzLCBS6WdpcyBEdWNoZXNuZQorICoJICAgICAgQ29weXJpZ2h0IChDKSAxOTk3IE1hcnRpbiB2b24gTMO2d2lzLCBSw6lnaXMgRHVjaGVzbmUKICAqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMDItMjAwNCBBbnRvbiBBbHRhcGFybWFrb3YKICAqCmRpZmYgLS1naXQgYS9mcy9zdXBlci5jIGIvZnMvc3VwZXIuYwppbmRleCBlZDFiOTNjLi5jZWFmMmUzIDEwMDY0NAotLS0gYS9mcy9zdXBlci5jCisrKyBiL2ZzL3N1cGVyLmMKQEAgLTE1LDcgKzE1LDcgQEAKICAqICBBZGRlZCBrZXJuZWxkIHN1cHBvcnQ6IEphY3F1ZXMgR2VsaW5hcyBhbmQgQmpvcm4gRWt3YWxsCiAgKiAgQWRkZWQgY2hhbmdlX3Jvb3Q6IFdlcm5lciBBbG1lc2JlcmdlciAmIEhhbnMgTGVybWVuLCBGZWIgJzk2CiAgKiAgQWRkZWQgb3B0aW9ucyB0byAvcHJvYy9tb3VudHM6Ci0gKiAgICBUb3JiavZybiBMaW5kaCAodG9yYmpvcm4ubGluZGhAZ29wdGEuc2UpLCBBcHJpbCAxNCwgMTk5Ni4KKyAqICAgIFRvcmJqw7ZybiBMaW5kaCAodG9yYmpvcm4ubGluZGhAZ29wdGEuc2UpLCBBcHJpbCAxNCwgMTk5Ni4KICAqICBBZGRlZCBkZXZmcyBzdXBwb3J0OiBSaWNoYXJkIEdvb2NoIDxyZ29vY2hAYXRuZi5jc2lyby5hdT4sIDEzLUpBTi0xOTk4CiAgKiAgSGVhdmlseSByZXdyaXR0ZW4gZm9yICdvbmUgZnMgLSBvbmUgdHJlZScgZGNhY2hlIGFyY2hpdGVjdHVyZS4gQVYsIE1hciAyMDAwCiAgKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWFhZWMyMDAwL2FhZWMyMDAwLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1hYWVjMjAwMC9hYWVjMjAwMC5oCmluZGV4IDAwMjIyNzkuLmE2ZDFlZTAgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWFhZWMyMDAwL2FhZWMyMDAwLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtYWFlYzIwMDAvYWFlYzIwMDAuaApAQCAtMTQwLDExICsxNDAsMTEgQEAKICNkZWZpbmUgVElNRVIzX0NMRUFSCV9fUkVHKDB4ODAwMDBlMGMpCS8qIFRpbWVyIDMgQ2xlYXIgUmVnaXN0ZXIgKi8KIAogLyogVGltZXIgQ29udHJvbCByZWdpc3RlciBiaXRzICovCi0jZGVmaW5lIFRJTUVSX0NUUkxfRU5BQkxFCSgxIDw8IDcpIC8qIEVuYWJsZSAoU3RhcnTCsCBUaW1lciAqLworI2RlZmluZSBUSU1FUl9DVFJMX0VOQUJMRQkoMSA8PCA3KSAvKiBFbmFibGUgKFN0YXJ0IFRpbWVyKSAqLwogI2RlZmluZSBUSU1FUl9DVFJMX1BFUklPRElDCSgxIDw8IDYpIC8qIFBlcmlvZGljIFJ1bm5pbmcgTW9kZSAqLwogI2RlZmluZSBUSU1FUl9DVFJMX0ZSRUVfUlVOTklORyAoMCA8PCA2KSAvKiBOb3JtYWwgUnVubmluZyBNb2RlICovCiAjZGVmaW5lIFRJTUVSX0NUUkxfQ0xLU0VMXzUwOEsJKDEgPDwgMykgLyogNTA4S0h6IENsb2NrIHNlbGVjdCAoVGltZXIgMSwgMikgKi8KLSNkZWZpbmUgVElNRVJfQ1RSTF9DTEtTRUxfMksJKDAgPDwgMykgLyogMktIeiBDbG9jayBTZWxlY3QgKFRpbWVyIDEsIDIpKi8KKyNkZWZpbmUgVElNRVJfQ1RSTF9DTEtTRUxfMksJKDAgPDwgMykgLyogMktIeiBDbG9jayBTZWxlY3QgKFRpbWVyIDEsIDIpICovCiAKIC8qIFBvd2VyIGFuZCBTdGF0ZSBDb250cm9sICovCiAjZGVmaW5lIFBPV0VSX0JBU0UJX19SRUcoMHg4MDAwMDQwMCkKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvY2Ryb20uaCBiL2luY2x1ZGUvbGludXgvY2Ryb20uaAppbmRleCAyYjY0MWIxLi5iNmU0YjUyIDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L2Nkcm9tLmgKKysrIGIvaW5jbHVkZS9saW51eC9jZHJvbS5oCkBAIC0yLDcgKzIsNyBAQAogICogLS0gPGxpbnV4L2Nkcm9tLmg+CiAgKiBHZW5lcmFsIGhlYWRlciBmaWxlIGZvciBsaW51eCBDRC1ST00gZHJpdmVycyAKICAqIENvcHlyaWdodCAoQykgMTk5MiAgICAgICAgIERhdmlkIEdpbGxlciwgcmFmZXRtYWRAb3h5LmVkdQotICogICAgICAgICAgICAgICAxOTk0LCAxOTk1ICAgRWJlcmhhcmQgTW9lbmtlYmVyZywgZW1vZW5rZUBnd2RnLmRlCisgKiAgICAgICAgICAgICAgIDE5OTQsIDE5OTUgICBFYmVyaGFyZCBNw7Zua2ViZXJnLCBlbW9lbmtlQGd3ZGcuZGUKICAqICAgICAgICAgICAgICAgMTk5NiAgICAgICAgIERhdmlkIHZhbiBMZWV1d2VuLCBkYXZpZEB0bS50bm8ubmwKICAqICAgICAgICAgICAgICAgMTk5NywgMTk5OCAgIEVyaWsgQW5kZXJzZW4sIGFuZGVyc2VlQGRlYmlhbi5vcmcKICAqICAgICAgICAgICAgICAgMTk5OC0yMDAyICAgIEplbnMgQXhib2UsIGF4Ym9lQHN1c2UuZGUKZGlmZiAtLWdpdCBhL25ldC9heDI1L2F4MjVfZHNfaW4uYyBiL25ldC9heDI1L2F4MjVfZHNfaW4uYwppbmRleCBlMzdkMjE3Li44MjczYjEyIDEwMDY0NAotLS0gYS9uZXQvYXgyNS9heDI1X2RzX2luLmMKKysrIGIvbmV0L2F4MjUvYXgyNV9kc19pbi5jCkBAIC03NSw3ICs3NSw3IEBACiAJCX0KIAkJYXgyNV9kYW1hX29uKGF4MjUpOwogCi0JCS8qIGFjY29yZGluZyB0byBESzRFR7RzIHNwZWMgd2UgYXJlIHJlcXVpcmVkIHRvCisJCS8qIGFjY29yZGluZyB0byBESzRFRydzIHNwZWMgd2UgYXJlIHJlcXVpcmVkIHRvCiAJCSAqIHNlbmQgYSBSUiBSRVNQT05TRSBGSU5BTCBOUj0wLgogCQkgKi8KIApkaWZmIC0tZ2l0IGEvbmV0L2F4MjUvYXgyNV9kc19zdWJyLmMgYi9uZXQvYXgyNS9heDI1X2RzX3N1YnIuYwppbmRleCBhNDk3NzNmLi5iNWU1OTc4IDEwMDY0NAotLS0gYS9uZXQvYXgyNS9heDI1X2RzX3N1YnIuYworKysgYi9uZXQvYXgyNS9heDI1X2RzX3N1YnIuYwpAQCAtNDEsNyArNDEsNyBAQAogCWF4MjVfY2IgKmF4MjVvOwogCXN0cnVjdCBobGlzdF9ub2RlICpub2RlOwogCi0JLyogUGxlYXNlIG5vdGUgdGhhdCBuZWl0aGVyIERLNEVHtHMgbm9yIERHMkZFRrRzCisJLyogUGxlYXNlIG5vdGUgdGhhdCBuZWl0aGVyIERLNEVHJ3Mgbm9yIERHMkZFRidzCiAJICogREFNQSBzcGVjIG1lbnRpb24gdGhlIGZvbGxvd2luZyBiZWhhdmlvdXIgYXMgc2VlbgogCSAqIHdpdGggVGhlRmlybXdhcmU6CiAJICoKZGlmZiAtLWdpdCBhL25ldC9ibHVldG9vdGgvYm5lcC9jb3JlLmMgYi9uZXQvYmx1ZXRvb3RoL2JuZXAvY29yZS5jCmluZGV4IDFmNzhjM2UuLjM0N2U5MzUgMTAwNjQ0Ci0tLSBhL25ldC9ibHVldG9vdGgvYm5lcC9jb3JlLmMKKysrIGIvbmV0L2JsdWV0b290aC9ibmVwL2NvcmUuYwpAQCAtMiw3ICsyLDcgQEAKICAgIEJORVAgaW1wbGVtZW50YXRpb24gZm9yIExpbnV4IEJsdWV0b290aCBzdGFjayAoQmx1ZVopLgogICAgQ29weXJpZ2h0IChDKSAyMDAxLTIwMDIgSW52ZW50ZWwgU3lzdGVtZXMKICAgIFdyaXR0ZW4gMjAwMS0yMDAyIGJ5Ci0JQ2zpbWVudCBNb3JlYXUgPGNsZW1lbnQubW9yZWF1QGludmVudGVsLmZyPgorCUNsw6ltZW50IE1vcmVhdSA8Y2xlbWVudC5tb3JlYXVAaW52ZW50ZWwuZnI+CiAJRGF2aWQgTGliYXVsdCAgPGRhdmlkLmxpYmF1bHRAaW52ZW50ZWwuZnI+CiAKICAgIENvcHlyaWdodCAoQykgMjAwMiBNYXhpbSBLcmFzbnlhbnNreSA8bWF4a0BxdWFsY29tbS5jb20+CmRpZmYgLS1naXQgYS9uZXQvYmx1ZXRvb3RoL2JuZXAvbmV0ZGV2LmMgYi9uZXQvYmx1ZXRvb3RoL2JuZXAvbmV0ZGV2LmMKaW5kZXggOTA5MjgxNi4uOTVlMzgzNyAxMDA2NDQKLS0tIGEvbmV0L2JsdWV0b290aC9ibmVwL25ldGRldi5jCisrKyBiL25ldC9ibHVldG9vdGgvYm5lcC9uZXRkZXYuYwpAQCAtMiw3ICsyLDcgQEAKICAgIEJORVAgaW1wbGVtZW50YXRpb24gZm9yIExpbnV4IEJsdWV0b290aCBzdGFjayAoQmx1ZVopLgogICAgQ29weXJpZ2h0IChDKSAyMDAxLTIwMDIgSW52ZW50ZWwgU3lzdGVtZXMKICAgIFdyaXR0ZW4gMjAwMS0yMDAyIGJ5Ci0JQ2zpbWVudCBNb3JlYXUgPGNsZW1lbnQubW9yZWF1QGludmVudGVsLmZyPgorCUNsw6ltZW50IE1vcmVhdSA8Y2xlbWVudC5tb3JlYXVAaW52ZW50ZWwuZnI+CiAJRGF2aWQgTGliYXVsdCAgPGRhdmlkLmxpYmF1bHRAaW52ZW50ZWwuZnI+CiAKICAgIENvcHlyaWdodCAoQykgMjAwMiBNYXhpbSBLcmFzbnlhbnNreSA8bWF4a0BxdWFsY29tbS5jb20+CmRpZmYgLS1naXQgYS9uZXQvYnJpZGdlL25ldGZpbHRlci9lYnRhYmxlcy5jIGIvbmV0L2JyaWRnZS9uZXRmaWx0ZXIvZWJ0YWJsZXMuYwppbmRleCBkNWEwOWVhLi44MTcxNjllIDEwMDY0NAotLS0gYS9uZXQvYnJpZGdlL25ldGZpbHRlci9lYnRhYmxlcy5jCisrKyBiL25ldC9icmlkZ2UvbmV0ZmlsdGVyL2VidGFibGVzLmMKQEAgLTg3MSw3ICs4NzEsNyBAQAogCQkJCXJldHVybiAtRUlOVkFMOwogCQkJfQogCi0JLyogd2Ugbm93IGtub3cgdGhlIGZvbGxvd2luZyAoYWxvbmcgd2l0aCBFPW1jsik6CisJLyogd2Ugbm93IGtub3cgdGhlIGZvbGxvd2luZyAoYWxvbmcgd2l0aCBFPW1jwrIpOgogCSAgIC0gdGhlIG5yIG9mIGVudHJpZXMgaW4gZWFjaCBjaGFpbiBpcyByaWdodAogCSAgIC0gdGhlIHNpemUgb2YgdGhlIGFsbG9jYXRlZCBzcGFjZSBpcyByaWdodAogCSAgIC0gYWxsIHZhbGlkIGhvb2tzIGhhdmUgYSBjb3JyZXNwb25kaW5nIGNoYWluCmRpZmYgLS1naXQgYS9uZXQvY29yZS9wa3RnZW4uYyBiL25ldC9jb3JlL3BrdGdlbi5jCmluZGV4IDdhYzcwMzEuLmM0NzE5ZWQgMTAwNjQ0Ci0tLSBhL25ldC9jb3JlL3BrdGdlbi5jCisrKyBiL25ldC9jb3JlL3BrdGdlbi5jCkBAIC02LDcgKzYsNyBAQAogICoKICAqIEFsZXhleSBLdXpuZXRzb3YgIDxrdXpuZXRAbXMyLmluci5hYy5ydT4KICAqIEJlbiBHcmVlYXIgPGdyZWVhcmJAY2FuZGVsYXRlY2guY29tPgotICogSmVucyBM5eVzIDxqZW5zLmxhYXNAZGF0YS5zbHUuc2U+CisgKiBKZW5zIEzDpcOlcyA8amVucy5sYWFzQGRhdGEuc2x1LnNlPgogICoKICAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCmRpZmYgLS1naXQgYS9uZXQvaXJkYS9pcmlhcC5jIGIvbmV0L2lyZGEvaXJpYXAuYwppbmRleCBlZTM4ODlmLi5kYzVlMzRhIDEwMDY0NAotLS0gYS9uZXQvaXJkYS9pcmlhcC5jCisrKyBiL25ldC9pcmRhL2lyaWFwLmMKQEAgLTE4LDcgKzE4LDcgQEAKICAqICAgICBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZgogICogICAgIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogICoKLSAqICAgICBOZWl0aGVyIERhZyBCcmF0dGxpIG5vciBVbml2ZXJzaXR5IG9mIFRyb21z+CBhZG1pdCBsaWFiaWxpdHkgbm9yCisgKiAgICAgTmVpdGhlciBEYWcgQnJhdHRsaSBub3IgVW5pdmVyc2l0eSBvZiBUcm9tc8O4IGFkbWl0IGxpYWJpbGl0eSBub3IKICAqICAgICBwcm92aWRlIHdhcnJhbnR5IGZvciBhbnkgb2YgdGhpcyBzb2Z0d2FyZS4gVGhpcyBtYXRlcmlhbCBpcwogICogICAgIHByb3ZpZGVkICJBUy1JUyIgYW5kIGF0IG5vIGNoYXJnZS4KICAqCmRpZmYgLS1naXQgYS9uZXQvaXJkYS9pcmlhcF9ldmVudC5jIGIvbmV0L2lyZGEvaXJpYXBfZXZlbnQuYwppbmRleCA5OWIxOGRjLi44ZmI5ZDcyIDEwMDY0NAotLS0gYS9uZXQvaXJkYS9pcmlhcF9ldmVudC5jCisrKyBiL25ldC9pcmRhL2lyaWFwX2V2ZW50LmMKQEAgLTE4LDcgKzE4LDcgQEAKICAqICAgICBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZgogICogICAgIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogICoKLSAqICAgICBOZWl0aGVyIERhZyBCcmF0dGxpIG5vciBVbml2ZXJzaXR5IG9mIFRyb21z+CBhZG1pdCBsaWFiaWxpdHkgbm9yCisgKiAgICAgTmVpdGhlciBEYWcgQnJhdHRsaSBub3IgVW5pdmVyc2l0eSBvZiBUcm9tc8O4IGFkbWl0IGxpYWJpbGl0eSBub3IKICAqICAgICBwcm92aWRlIHdhcnJhbnR5IGZvciBhbnkgb2YgdGhpcyBzb2Z0d2FyZS4gVGhpcyBtYXRlcmlhbCBpcwogICogICAgIHByb3ZpZGVkICJBUy1JUyIgYW5kIGF0IG5vIGNoYXJnZS4KICAqCmRpZmYgLS1naXQgYS9uZXQvaXJkYS9pcmlhc19vYmplY3QuYyBiL25ldC9pcmRhL2lyaWFzX29iamVjdC5jCmluZGV4IGNmMzAyNDUuLmNiY2YwNDMgMTAwNjQ0Ci0tLSBhL25ldC9pcmRhL2lyaWFzX29iamVjdC5jCisrKyBiL25ldC9pcmRhL2lyaWFzX29iamVjdC5jCkBAIC0xNiw3ICsxNiw3IEBACiAgKiAgICAgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YKICAqICAgICB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICAqCi0gKiAgICAgTmVpdGhlciBEYWcgQnJhdHRsaSBub3IgVW5pdmVyc2l0eSBvZiBUcm9tc/ggYWRtaXQgbGlhYmlsaXR5IG5vcgorICogICAgIE5laXRoZXIgRGFnIEJyYXR0bGkgbm9yIFVuaXZlcnNpdHkgb2YgVHJvbXPDuCBhZG1pdCBsaWFiaWxpdHkgbm9yCiAgKiAgICAgcHJvdmlkZSB3YXJyYW50eSBmb3IgYW55IG9mIHRoaXMgc29mdHdhcmUuIFRoaXMgbWF0ZXJpYWwgaXMKICAqICAgICBwcm92aWRlZCAiQVMtSVMiIGFuZCBhdCBubyBjaGFyZ2UuCiAgKgpkaWZmIC0tZ2l0IGEvbmV0L2lyZGEvaXJsYW4vaXJsYW5fY2xpZW50LmMgYi9uZXQvaXJkYS9pcmxhbi9pcmxhbl9jbGllbnQuYwppbmRleCA4NzAzOWMyLi5mZmY1MmQ1IDEwMDY0NAotLS0gYS9uZXQvaXJkYS9pcmxhbi9pcmxhbl9jbGllbnQuYworKysgYi9uZXQvaXJkYS9pcmxhbi9pcmxhbl9jbGllbnQuYwpAQCAtMjAsNyArMjAsNyBAQAogICogICAgIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mCiAgKiAgICAgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAgKgotICogICAgIE5laXRoZXIgRGFnIEJyYXR0bGkgbm9yIFVuaXZlcnNpdHkgb2YgVHJvbXP4IGFkbWl0IGxpYWJpbGl0eSBub3IKKyAqICAgICBOZWl0aGVyIERhZyBCcmF0dGxpIG5vciBVbml2ZXJzaXR5IG9mIFRyb21zw7ggYWRtaXQgbGlhYmlsaXR5IG5vcgogICogICAgIHByb3ZpZGUgd2FycmFudHkgZm9yIGFueSBvZiB0aGlzIHNvZnR3YXJlLiBUaGlzIG1hdGVyaWFsIGlzCiAgKiAgICAgcHJvdmlkZWQgIkFTLUlTIiBhbmQgYXQgbm8gY2hhcmdlLgogICoKZGlmZiAtLWdpdCBhL25ldC9pcmRhL2lybGFuL2lybGFuX2NvbW1vbi5jIGIvbmV0L2lyZGEvaXJsYW4vaXJsYW5fY29tbW9uLmMKaW5kZXggZjU3NzhlZi4uYTRiNTZlMiAxMDA2NDQKLS0tIGEvbmV0L2lyZGEvaXJsYW4vaXJsYW5fY29tbW9uLmMKKysrIGIvbmV0L2lyZGEvaXJsYW4vaXJsYW5fY29tbW9uLmMKQEAgLTE3LDcgKzE3LDcgQEAKICAqICAgICBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZgogICogICAgIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogICoKLSAqICAgICBOZWl0aGVyIERhZyBCcmF0dGxpIG5vciBVbml2ZXJzaXR5IG9mIFRyb21z+CBhZG1pdCBsaWFiaWxpdHkgbm9yCisgKiAgICAgTmVpdGhlciBEYWcgQnJhdHRsaSBub3IgVW5pdmVyc2l0eSBvZiBUcm9tc8O4IGFkbWl0IGxpYWJpbGl0eSBub3IKICAqICAgICBwcm92aWRlIHdhcnJhbnR5IGZvciBhbnkgb2YgdGhpcyBzb2Z0d2FyZS4gVGhpcyBtYXRlcmlhbCBpcwogICogICAgIHByb3ZpZGVkICJBUy1JUyIgYW5kIGF0IG5vIGNoYXJnZS4KICAqCmRpZmYgLS1naXQgYS9uZXQvaXJkYS9pcmxhbi9pcmxhbl9ldGguYyBiL25ldC9pcmRhL2lybGFuL2lybGFuX2V0aC5jCmluZGV4IDM0MGYwNGEuLjdmOWM4NTQgMTAwNjQ0Ci0tLSBhL25ldC9pcmRhL2lybGFuL2lybGFuX2V0aC5jCisrKyBiL25ldC9pcmRhL2lybGFuL2lybGFuX2V0aC5jCkBAIC0xOSw3ICsxOSw3IEBACiAgKiAgICAgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YKICAqICAgICB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICAqCi0gKiAgICAgTmVpdGhlciBEYWcgQnJhdHRsaSBub3IgVW5pdmVyc2l0eSBvZiBUcm9tc/ggYWRtaXQgbGlhYmlsaXR5IG5vcgorICogICAgIE5laXRoZXIgRGFnIEJyYXR0bGkgbm9yIFVuaXZlcnNpdHkgb2YgVHJvbXPDuCBhZG1pdCBsaWFiaWxpdHkgbm9yCiAgKiAgICAgcHJvdmlkZSB3YXJyYW50eSBmb3IgYW55IG9mIHRoaXMgc29mdHdhcmUuIFRoaXMgbWF0ZXJpYWwgaXMKICAqICAgICBwcm92aWRlZCAiQVMtSVMiIGFuZCBhdCBubyBjaGFyZ2UuCiAgKgpkaWZmIC0tZ2l0IGEvbmV0L2lyZGEvaXJsYW4vaXJsYW5fZXZlbnQuYyBiL25ldC9pcmRhL2lybGFuL2lybGFuX2V2ZW50LmMKaW5kZXggNjIzZTBmZC4uYTk3NTBhOCAxMDA2NDQKLS0tIGEvbmV0L2lyZGEvaXJsYW4vaXJsYW5fZXZlbnQuYworKysgYi9uZXQvaXJkYS9pcmxhbi9pcmxhbl9ldmVudC5jCkBAIC0xNiw3ICsxNiw3IEBACiAgKiAgICAgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YKICAqICAgICB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICAqCi0gKiAgICAgTmVpdGhlciBEYWcgQnJhdHRsaSBub3IgVW5pdmVyc2l0eSBvZiBUcm9tc/ggYWRtaXQgbGlhYmlsaXR5IG5vcgorICogICAgIE5laXRoZXIgRGFnIEJyYXR0bGkgbm9yIFVuaXZlcnNpdHkgb2YgVHJvbXPDuCBhZG1pdCBsaWFiaWxpdHkgbm9yCiAgKiAgICAgcHJvdmlkZSB3YXJyYW50eSBmb3IgYW55IG9mIHRoaXMgc29mdHdhcmUuIFRoaXMgbWF0ZXJpYWwgaXMKICAqICAgICBwcm92aWRlZCAiQVMtSVMiIGFuZCBhdCBubyBjaGFyZ2UuCiAgKgpkaWZmIC0tZ2l0IGEvbmV0L2lyZGEvaXJsYW4vaXJsYW5fcHJvdmlkZXIuYyBiL25ldC9pcmRhL2lybGFuL2lybGFuX3Byb3ZpZGVyLmMKaW5kZXggYWFjNjY0My4uMTNkYjk0MiAxMDA2NDQKLS0tIGEvbmV0L2lyZGEvaXJsYW4vaXJsYW5fcHJvdmlkZXIuYworKysgYi9uZXQvaXJkYS9pcmxhbi9pcmxhbl9wcm92aWRlci5jCkBAIC0yMCw3ICsyMCw3IEBACiAgKiAgICAgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YKICAqICAgICB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICAqCi0gKiAgICAgTmVpdGhlciBEYWcgQnJhdHRsaSBub3IgVW5pdmVyc2l0eSBvZiBUcm9tc/ggYWRtaXQgbGlhYmlsaXR5IG5vcgorICogICAgIE5laXRoZXIgRGFnIEJyYXR0bGkgbm9yIFVuaXZlcnNpdHkgb2YgVHJvbXPDuCBhZG1pdCBsaWFiaWxpdHkgbm9yCiAgKiAgICAgcHJvdmlkZSB3YXJyYW50eSBmb3IgYW55IG9mIHRoaXMgc29mdHdhcmUuIFRoaXMgbWF0ZXJpYWwgaXMKICAqICAgICBwcm92aWRlZCAiQVMtSVMiIGFuZCBhdCBubyBjaGFyZ2UuCiAgKgpkaWZmIC0tZ2l0IGEvbmV0L2lyZGEvaXJsYW4vaXJsYW5fcHJvdmlkZXJfZXZlbnQuYyBiL25ldC9pcmRhL2lybGFuL2lybGFuX3Byb3ZpZGVyX2V2ZW50LmMKaW5kZXggZWY0MDFiZC4uMTBlY2U1YSAxMDA2NDQKLS0tIGEvbmV0L2lyZGEvaXJsYW4vaXJsYW5fcHJvdmlkZXJfZXZlbnQuYworKysgYi9uZXQvaXJkYS9pcmxhbi9pcmxhbl9wcm92aWRlcl9ldmVudC5jCkBAIC0xNiw3ICsxNiw3IEBACiAgKiAgICAgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YKICAqICAgICB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICAqCi0gKiAgICAgTmVpdGhlciBEYWcgQnJhdHRsaSBub3IgVW5pdmVyc2l0eSBvZiBUcm9tc/ggYWRtaXQgbGlhYmlsaXR5IG5vcgorICogICAgIE5laXRoZXIgRGFnIEJyYXR0bGkgbm9yIFVuaXZlcnNpdHkgb2YgVHJvbXPDuCBhZG1pdCBsaWFiaWxpdHkgbm9yCiAgKiAgICAgcHJvdmlkZSB3YXJyYW50eSBmb3IgYW55IG9mIHRoaXMgc29mdHdhcmUuIFRoaXMgbWF0ZXJpYWwgaXMKICAqICAgICBwcm92aWRlZCAiQVMtSVMiIGFuZCBhdCBubyBjaGFyZ2UuCiAgKgpkaWZmIC0tZ2l0IGEvbmV0L2lyZGEvaXJsYXBfZXZlbnQuYyBiL25ldC9pcmRhL2lybGFwX2V2ZW50LmMKaW5kZXggYThiODg3My4uNGMzM2JmNSAxMDA2NDQKLS0tIGEvbmV0L2lyZGEvaXJsYXBfZXZlbnQuYworKysgYi9uZXQvaXJkYS9pcmxhcF9ldmVudC5jCkBAIC0xOSw3ICsxOSw3IEBACiAgKiAgICAgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YKICAqICAgICB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICAqCi0gKiAgICAgTmVpdGhlciBEYWcgQnJhdHRsaSBub3IgVW5pdmVyc2l0eSBvZiBUcm9tc/ggYWRtaXQgbGlhYmlsaXR5IG5vcgorICogICAgIE5laXRoZXIgRGFnIEJyYXR0bGkgbm9yIFVuaXZlcnNpdHkgb2YgVHJvbXPDuCBhZG1pdCBsaWFiaWxpdHkgbm9yCiAgKiAgICAgcHJvdmlkZSB3YXJyYW50eSBmb3IgYW55IG9mIHRoaXMgc29mdHdhcmUuIFRoaXMgbWF0ZXJpYWwgaXMKICAqICAgICBwcm92aWRlZCAiQVMtSVMiIGFuZCBhdCBubyBjaGFyZ2UuCiAgKgpkaWZmIC0tZ2l0IGEvbmV0L2lyZGEvaXJsYXBfZnJhbWUuYyBiL25ldC9pcmRhL2lybGFwX2ZyYW1lLmMKaW5kZXggNzdhYzI3ZS4uNGYzNzY0NSAxMDA2NDQKLS0tIGEvbmV0L2lyZGEvaXJsYXBfZnJhbWUuYworKysgYi9uZXQvaXJkYS9pcmxhcF9mcmFtZS5jCkBAIC0xOCw3ICsxOCw3IEBACiAgKiAgICAgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YKICAqICAgICB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICAqCi0gKiAgICAgTmVpdGhlciBEYWcgQnJhdHRsaSBub3IgVW5pdmVyc2l0eSBvZiBUcm9tc/ggYWRtaXQgbGlhYmlsaXR5IG5vcgorICogICAgIE5laXRoZXIgRGFnIEJyYXR0bGkgbm9yIFVuaXZlcnNpdHkgb2YgVHJvbXPDuCBhZG1pdCBsaWFiaWxpdHkgbm9yCiAgKiAgICAgcHJvdmlkZSB3YXJyYW50eSBmb3IgYW55IG9mIHRoaXMgc29mdHdhcmUuIFRoaXMgbWF0ZXJpYWwgaXMKICAqICAgICBwcm92aWRlZCAiQVMtSVMiIGFuZCBhdCBubyBjaGFyZ2UuCiAgKgpkaWZmIC0tZ2l0IGEvbmV0L2lyZGEvaXJsbXAuYyBiL25ldC9pcmRhL2lybG1wLmMKaW5kZXggN2RiOTJjZS4uY2VkZmY4MCAxMDA2NDQKLS0tIGEvbmV0L2lyZGEvaXJsbXAuYworKysgYi9uZXQvaXJkYS9pcmxtcC5jCkBAIC0xOCw3ICsxOCw3IEBACiAgKiAgICAgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YKICAqICAgICB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICAqCi0gKiAgICAgTmVpdGhlciBEYWcgQnJhdHRsaSBub3IgVW5pdmVyc2l0eSBvZiBUcm9tc/ggYWRtaXQgbGlhYmlsaXR5IG5vcgorICogICAgIE5laXRoZXIgRGFnIEJyYXR0bGkgbm9yIFVuaXZlcnNpdHkgb2YgVHJvbXPDuCBhZG1pdCBsaWFiaWxpdHkgbm9yCiAgKiAgICAgcHJvdmlkZSB3YXJyYW50eSBmb3IgYW55IG9mIHRoaXMgc29mdHdhcmUuIFRoaXMgbWF0ZXJpYWwgaXMKICAqICAgICBwcm92aWRlZCAiQVMtSVMiIGFuZCBhdCBubyBjaGFyZ2UuCiAgKgpkaWZmIC0tZ2l0IGEvbmV0L2lyZGEvaXJsbXBfZXZlbnQuYyBiL25ldC9pcmRhL2lybG1wX2V2ZW50LmMKaW5kZXggNjVmZmE5OC4uMWJiYTg3ZTcgMTAwNjQ0Ci0tLSBhL25ldC9pcmRhL2lybG1wX2V2ZW50LmMKKysrIGIvbmV0L2lyZGEvaXJsbXBfZXZlbnQuYwpAQCAtMTgsNyArMTgsNyBAQAogICogICAgIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mCiAgKiAgICAgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAgKgotICogICAgIE5laXRoZXIgRGFnIEJyYXR0bGkgbm9yIFVuaXZlcnNpdHkgb2YgVHJvbXP4IGFkbWl0IGxpYWJpbGl0eSBub3IKKyAqICAgICBOZWl0aGVyIERhZyBCcmF0dGxpIG5vciBVbml2ZXJzaXR5IG9mIFRyb21zw7ggYWRtaXQgbGlhYmlsaXR5IG5vcgogICogICAgIHByb3ZpZGUgd2FycmFudHkgZm9yIGFueSBvZiB0aGlzIHNvZnR3YXJlLiBUaGlzIG1hdGVyaWFsIGlzCiAgKiAgICAgcHJvdmlkZWQgIkFTLUlTIiBhbmQgYXQgbm8gY2hhcmdlLgogICoKZGlmZiAtLWdpdCBhL25ldC9pcmRhL2lybG1wX2ZyYW1lLmMgYi9uZXQvaXJkYS9pcmxtcF9mcmFtZS5jCmluZGV4IDU1OTMwMmQuLjBhNzlkOWEgMTAwNjQ0Ci0tLSBhL25ldC9pcmRhL2lybG1wX2ZyYW1lLmMKKysrIGIvbmV0L2lyZGEvaXJsbXBfZnJhbWUuYwpAQCAtMTgsNyArMTgsNyBAQAogICogICAgIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mCiAgKiAgICAgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAgKgotICogICAgIE5laXRoZXIgRGFnIEJyYXR0bGkgbm9yIFVuaXZlcnNpdHkgb2YgVHJvbXP4IGFkbWl0IGxpYWJpbGl0eSBub3IKKyAqICAgICBOZWl0aGVyIERhZyBCcmF0dGxpIG5vciBVbml2ZXJzaXR5IG9mIFRyb21zw7ggYWRtaXQgbGlhYmlsaXR5IG5vcgogICogICAgIHByb3ZpZGUgd2FycmFudHkgZm9yIGFueSBvZiB0aGlzIHNvZnR3YXJlLiBUaGlzIG1hdGVyaWFsIGlzCiAgKiAgICAgcHJvdmlkZWQgIkFTLUlTIiBhbmQgYXQgbm8gY2hhcmdlLgogICoKZGlmZiAtLWdpdCBhL25ldC9pcmRhL2lybW9kLmMgYi9uZXQvaXJkYS9pcm1vZC5jCmluZGV4IDhiYTcwM2QuLjAxNTU0YjkgMTAwNjQ0Ci0tLSBhL25ldC9pcmRhL2lybW9kLmMKKysrIGIvbmV0L2lyZGEvaXJtb2QuYwpAQCAtMTcsNyArMTcsNyBAQAogICogICAgIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mCiAgKiAgICAgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAgKgotICogICAgIE5laXRoZXIgRGFnIEJyYXR0bGkgbm9yIFVuaXZlcnNpdHkgb2YgVHJvbXP4IGFkbWl0IGxpYWJpbGl0eSBub3IKKyAqICAgICBOZWl0aGVyIERhZyBCcmF0dGxpIG5vciBVbml2ZXJzaXR5IG9mIFRyb21zw7ggYWRtaXQgbGlhYmlsaXR5IG5vcgogICogICAgIHByb3ZpZGUgd2FycmFudHkgZm9yIGFueSBvZiB0aGlzIHNvZnR3YXJlLiBUaGlzIG1hdGVyaWFsIGlzCiAgKiAgICAgcHJvdmlkZWQgIkFTLUlTIiBhbmQgYXQgbm8gY2hhcmdlLgogICoKZGlmZiAtLWdpdCBhL25ldC9pcmRhL2lycXVldWUuYyBiL25ldC9pcmRhL2lycXVldWUuYwppbmRleCBkMDU4YjQ2Li40MGMyOGVmIDEwMDY0NAotLS0gYS9uZXQvaXJkYS9pcnF1ZXVlLmMKKysrIGIvbmV0L2lyZGEvaXJxdWV1ZS5jCkBAIC0yOCw3ICsyOCw3IEBACiAgKiAgICAgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YKICAqICAgICB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICAqCi0gKiAgICAgTmVpdGhlciBEYWcgQnJhdHRsaSBub3IgVW5pdmVyc2l0eSBvZiBUcm9tc/ggYWRtaXQgbGlhYmlsaXR5IG5vcgorICogICAgIE5laXRoZXIgRGFnIEJyYXR0bGkgbm9yIFVuaXZlcnNpdHkgb2YgVHJvbXPDuCBhZG1pdCBsaWFiaWxpdHkgbm9yCiAgKiAgICAgcHJvdmlkZSB3YXJyYW50eSBmb3IgYW55IG9mIHRoaXMgc29mdHdhcmUuIFRoaXMgbWF0ZXJpYWwgaXMKICAqICAgICBwcm92aWRlZCAiQVMtSVMiIGFuZCBhdCBubyBjaGFyZ2UuCiAgKgpkaWZmIC0tZ2l0IGEvbmV0L2lyZGEvaXJzeXNjdGwuYyBiL25ldC9pcmRhL2lyc3lzY3RsLmMKaW5kZXggNTI1MzQzYTEuLjU2NWNiZjAgMTAwNjQ0Ci0tLSBhL25ldC9pcmRhL2lyc3lzY3RsLmMKKysrIGIvbmV0L2lyZGEvaXJzeXNjdGwuYwpAQCAtMTcsNyArMTcsNyBAQAogICogICAgIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mCiAgKiAgICAgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAgKgotICogICAgIE5laXRoZXIgRGFnIEJyYXR0bGkgbm9yIFVuaXZlcnNpdHkgb2YgVHJvbXP4IGFkbWl0IGxpYWJpbGl0eSBub3IKKyAqICAgICBOZWl0aGVyIERhZyBCcmF0dGxpIG5vciBVbml2ZXJzaXR5IG9mIFRyb21zw7ggYWRtaXQgbGlhYmlsaXR5IG5vcgogICogICAgIHByb3ZpZGUgd2FycmFudHkgZm9yIGFueSBvZiB0aGlzIHNvZnR3YXJlLiBUaGlzIG1hdGVyaWFsIGlzCiAgKiAgICAgcHJvdmlkZWQgIkFTLUlTIiBhbmQgYXQgbm8gY2hhcmdlLgogICoKZGlmZiAtLWdpdCBhL25ldC9pcmRhL2lydHRwLmMgYi9uZXQvaXJkYS9pcnR0cC5jCmluZGV4IDEzMTE5NzYuLjk3ZGIxNTggMTAwNjQ0Ci0tLSBhL25ldC9pcmRhL2lydHRwLmMKKysrIGIvbmV0L2lyZGEvaXJ0dHAuYwpAQCAtMTgsNyArMTgsNyBAQAogICogICAgIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mCiAgKiAgICAgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAgKgotICogICAgIE5laXRoZXIgRGFnIEJyYXR0bGkgbm9yIFVuaXZlcnNpdHkgb2YgVHJvbXP4IGFkbWl0IGxpYWJpbGl0eSBub3IKKyAqICAgICBOZWl0aGVyIERhZyBCcmF0dGxpIG5vciBVbml2ZXJzaXR5IG9mIFRyb21zw7ggYWRtaXQgbGlhYmlsaXR5IG5vcgogICogICAgIHByb3ZpZGUgd2FycmFudHkgZm9yIGFueSBvZiB0aGlzIHNvZnR3YXJlLiBUaGlzIG1hdGVyaWFsIGlzCiAgKiAgICAgcHJvdmlkZWQgIkFTLUlTIiBhbmQgYXQgbm8gY2hhcmdlLgogICoK