ZGlmZiAtLWdpdCBhL0NIQU5HRVMudHh0IGIvQ0hBTkdFUy50eHQKaW5kZXggM2YzZTU4NS4uZTE0NzQwMCAxMDA2NDQKLS0tIGEvQ0hBTkdFUy50eHQKKysrIGIvQ0hBTkdFUy50eHQKQEAgLTI4LDYgKzI4LDE3OSBAQAogICAgZnJvbSB2ZXJzaW9uIDAuNiB0byAwLjcgKFRJS0EtNzE2KS4gVGhlIHBhcnNlciBhbHNvIG5vdyBhY2NlcHRzIGEKICAgIE1pbWVDb25maWcgb2JqZWN0IGluIHRoZSBQYXJzZUNvbnRleHQgYXMgY29uZmlndXJhdGlvbiAoVElLQS02NDApLgogCitUaWthIHJlbGllcyBvbiB0aGUgY3VycmVudCBzZXQgb2YgbWFqb3IgZGVwZW5kZW5jaWVzIChnZW5lcmF0ZWQgdXNpbmcgCittdm4gZGVwZW5kZW5jeTp0cmVlIGZyb20gdGhlIHRvcC1sZXZlbCB0aWthIHNyYyBkaXIpOgorCitvcmcuYXBhY2hlLnRpa2E6dGlrYS1wYXJlbnQ6cG9tOjAuMTAKK29yZy5hcGFjaGUudGlrYTp0aWthLWNvcmU6YnVuZGxlOjAuMTAKKystIG9yZy5vc2dpOm9yZy5vc2dpLmNvcmU6amFyOjQuMC4wOnByb3ZpZGVkCisrLSBiaXouYVF1dGU6Ym5kbGliOmphcjoxLjQzLjA6cHJvdmlkZWQKK1wtIGp1bml0Omp1bml0OmphcjozLjguMTp0ZXN0CitvcmcuYXBhY2hlLnRpa2E6dGlrYS1wYXJzZXJzOmJ1bmRsZTowLjEwCisrLSBvcmcuYXBhY2hlLnRpa2E6dGlrYS1jb3JlOmphcjowLjEwOmNvbXBpbGUKKystIGVkdS51Y2FyOm5ldGNkZjpqYXI6NC4yLW1pbjpjb21waWxlCit8ICBcLSBvcmcuc2xmNGo6c2xmNGotYXBpOmphcjoxLjUuNjpjb21waWxlCisrLSBvcmcuYXBhY2hlLmphbWVzOmFwYWNoZS1taW1lNGotY29yZTpqYXI6MC43OmNvbXBpbGUKKystIG9yZy5hcGFjaGUuamFtZXM6YXBhY2hlLW1pbWU0ai1kb206amFyOjAuNzpjb21waWxlCisrLSBvcmcuYXBhY2hlLmNvbW1vbnM6Y29tbW9ucy1jb21wcmVzczpqYXI6MS4xOmNvbXBpbGUKKystIGNvbW1vbnMtY29kZWM6Y29tbW9ucy1jb2RlYzpqYXI6MS40OmNvbXBpbGUKKystIG9yZy5hcGFjaGUucGRmYm94OnBkZmJveDpqYXI6MS42LjA6Y29tcGlsZQorfCAgKy0gb3JnLmFwYWNoZS5wZGZib3g6Zm9udGJveDpqYXI6MS42LjA6Y29tcGlsZQorfCAgKy0gb3JnLmFwYWNoZS5wZGZib3g6amVtcGJveDpqYXI6MS42LjA6Y29tcGlsZQorfCAgXC0gY29tbW9ucy1sb2dnaW5nOmNvbW1vbnMtbG9nZ2luZzpqYXI6MS4xLjE6Y29tcGlsZQorKy0gb3JnLmJvdW5jeWNhc3RsZTpiY21haWwtamRrMTU6amFyOjEuNDU6Y29tcGlsZQorKy0gb3JnLmJvdW5jeWNhc3RsZTpiY3Byb3YtamRrMTU6amFyOjEuNDU6Y29tcGlsZQorKy0gb3JnLmFwYWNoZS5wb2k6cG9pOmphcjozLjgtYmV0YTQ6Y29tcGlsZQorKy0gb3JnLmFwYWNoZS5wb2k6cG9pLXNjcmF0Y2hwYWQ6amFyOjMuOC1iZXRhNDpjb21waWxlCisrLSBvcmcuYXBhY2hlLnBvaTpwb2ktb294bWw6amFyOjMuOC1iZXRhNDpjb21waWxlCit8ICArLSBvcmcuYXBhY2hlLnBvaTpwb2ktb294bWwtc2NoZW1hczpqYXI6My44LWJldGE0OmNvbXBpbGUKK3wgIHwgIFwtIG9yZy5hcGFjaGUueG1sYmVhbnM6eG1sYmVhbnM6amFyOjIuMy4wOmNvbXBpbGUKK3wgIFwtIGRvbTRqOmRvbTRqOmphcjoxLjYuMTpjb21waWxlCisrLSBvcmcuYXBhY2hlLmdlcm9uaW1vLnNwZWNzOmdlcm9uaW1vLXN0YXgtYXBpXzEuMF9zcGVjOmphcjoxLjAuMTpjb21waWxlCisrLSBvcmcuY2NpbC5jb3dhbi50YWdzb3VwOnRhZ3NvdXA6amFyOjEuMi4xOmNvbXBpbGUKKystIGFzbTphc206amFyOjMuMTpjb21waWxlCisrLSBjb20uZHJld25vYWtlczptZXRhZGF0YS1leHRyYWN0b3I6amFyOjIuNC4wLWJldGEtMTpjb21waWxlCisrLSBkZS5sM3MuYm9pbGVycGlwZTpib2lsZXJwaXBlOmphcjoxLjEuMDpjb21waWxlCisrLSByb21lOnJvbWU6amFyOjAuOTpjb21waWxlCit8ICBcLSBqZG9tOmpkb206amFyOjEuMDpjb21waWxlCisrLSBqdW5pdDpqdW5pdDpqYXI6My44LjE6dGVzdAorKy0gb3JnLm1vY2tpdG86bW9ja2l0by1jb3JlOmphcjoxLjc6dGVzdAorfCAgKy0gb3JnLmhhbWNyZXN0OmhhbWNyZXN0LWNvcmU6amFyOjEuMTp0ZXN0Cit8ICBcLSBvcmcub2JqZW5lc2lzOm9iamVuZXNpczpqYXI6MS4wOnRlc3QKK1wtIG9yZy5zbGY0ajpzbGY0ai1sb2c0ajEyOmphcjoxLjUuNjp0ZXN0CisgICBcLSBsb2c0ajpsb2c0ajpqYXI6MS4yLjE0OnRlc3QKK29yZy5hcGFjaGUudGlrYTp0aWthLWFwcDpidW5kbGU6MC4xMAorKy0ganVuaXQ6anVuaXQ6amFyOjMuOC4yOnRlc3QKKystIG9yZy5hcGFjaGUudGlrYTp0aWthLXBhcnNlcnM6amFyOjAuMTA6cHJvdmlkZWQKK3wgICstIG9yZy5hcGFjaGUudGlrYTp0aWthLWNvcmU6amFyOjAuMTA6cHJvdmlkZWQKK3wgICstIGVkdS51Y2FyOm5ldGNkZjpqYXI6NC4yLW1pbjpwcm92aWRlZAorfCAgKy0gb3JnLmFwYWNoZS5qYW1lczphcGFjaGUtbWltZTRqLWNvcmU6amFyOjAuNzpwcm92aWRlZAorfCAgKy0gb3JnLmFwYWNoZS5qYW1lczphcGFjaGUtbWltZTRqLWRvbTpqYXI6MC43OnByb3ZpZGVkCit8ICArLSBvcmcuYXBhY2hlLmNvbW1vbnM6Y29tbW9ucy1jb21wcmVzczpqYXI6MS4xOnByb3ZpZGVkCit8ICArLSBjb21tb25zLWNvZGVjOmNvbW1vbnMtY29kZWM6amFyOjEuNDpwcm92aWRlZAorfCAgKy0gb3JnLmFwYWNoZS5wZGZib3g6cGRmYm94OmphcjoxLjYuMDpwcm92aWRlZAorfCAgfCAgKy0gb3JnLmFwYWNoZS5wZGZib3g6Zm9udGJveDpqYXI6MS42LjA6cHJvdmlkZWQKK3wgIHwgICstIG9yZy5hcGFjaGUucGRmYm94OmplbXBib3g6amFyOjEuNi4wOnByb3ZpZGVkCit8ICB8ICBcLSBjb21tb25zLWxvZ2dpbmc6Y29tbW9ucy1sb2dnaW5nOmphcjoxLjEuMTpwcm92aWRlZAorfCAgKy0gb3JnLmJvdW5jeWNhc3RsZTpiY21haWwtamRrMTU6amFyOjEuNDU6cHJvdmlkZWQKK3wgICstIG9yZy5ib3VuY3ljYXN0bGU6YmNwcm92LWpkazE1OmphcjoxLjQ1OnByb3ZpZGVkCit8ICArLSBvcmcuYXBhY2hlLnBvaTpwb2k6amFyOjMuOC1iZXRhNDpwcm92aWRlZAorfCAgKy0gb3JnLmFwYWNoZS5wb2k6cG9pLXNjcmF0Y2hwYWQ6amFyOjMuOC1iZXRhNDpwcm92aWRlZAorfCAgKy0gb3JnLmFwYWNoZS5wb2k6cG9pLW9veG1sOmphcjozLjgtYmV0YTQ6cHJvdmlkZWQKK3wgIHwgICstIG9yZy5hcGFjaGUucG9pOnBvaS1vb3htbC1zY2hlbWFzOmphcjozLjgtYmV0YTQ6cHJvdmlkZWQKK3wgIHwgIHwgIFwtIG9yZy5hcGFjaGUueG1sYmVhbnM6eG1sYmVhbnM6amFyOjIuMy4wOnByb3ZpZGVkCit8ICB8ICBcLSBkb200ajpkb200ajpqYXI6MS42LjE6cHJvdmlkZWQKK3wgICstIG9yZy5hcGFjaGUuZ2Vyb25pbW8uc3BlY3M6Z2Vyb25pbW8tc3RheC1hcGlfMS4wX3NwZWM6amFyOjEuMC4xOnByb3ZpZGVkCit8ICArLSBvcmcuY2NpbC5jb3dhbi50YWdzb3VwOnRhZ3NvdXA6amFyOjEuMi4xOnByb3ZpZGVkCit8ICArLSBhc206YXNtOmphcjozLjE6cHJvdmlkZWQKK3wgICstIGNvbS5kcmV3bm9ha2VzOm1ldGFkYXRhLWV4dHJhY3RvcjpqYXI6Mi40LjAtYmV0YS0xOnByb3ZpZGVkCit8ICArLSBkZS5sM3MuYm9pbGVycGlwZTpib2lsZXJwaXBlOmphcjoxLjEuMDpwcm92aWRlZAorfCAgXC0gcm9tZTpyb21lOmphcjowLjk6cHJvdmlkZWQKK3wgICAgIFwtIGpkb206amRvbTpqYXI6MS4wOnByb3ZpZGVkCisrLSBvcmcuc2xmNGo6c2xmNGotbG9nNGoxMjpqYXI6MS41LjY6cHJvdmlkZWQKK3wgICstIG9yZy5zbGY0ajpzbGY0ai1hcGk6amFyOjEuNS42OnByb3ZpZGVkCit8ICBcLSBsb2c0ajpsb2c0ajpqYXI6MS4yLjE0OnByb3ZpZGVkCitcLSBjb20uZ29vZ2xlLmNvZGUuZ3Nvbjpnc29uOmphcjoxLjcuMTpwcm92aWRlZAorb3JnLmFwYWNoZS50aWthOnRpa2EtYnVuZGxlOmJ1bmRsZTowLjEwCisrLSBvcmcuYXBhY2hlLnRpa2E6dGlrYS1jb3JlOmphcjowLjEwOnByb3ZpZGVkCitcLSBvcmcuYXBhY2hlLnRpa2E6dGlrYS1wYXJzZXJzOmphcjowLjEwOnByb3ZpZGVkCisgICArLSBlZHUudWNhcjpuZXRjZGY6amFyOjQuMi1taW46cHJvdmlkZWQKKyAgIHwgIFwtIG9yZy5zbGY0ajpzbGY0ai1hcGk6amFyOjEuNS42OnByb3ZpZGVkCisgICArLSBvcmcuYXBhY2hlLmphbWVzOmFwYWNoZS1taW1lNGotY29yZTpqYXI6MC43OnByb3ZpZGVkCisgICArLSBvcmcuYXBhY2hlLmphbWVzOmFwYWNoZS1taW1lNGotZG9tOmphcjowLjc6cHJvdmlkZWQKKyAgICstIG9yZy5hcGFjaGUuY29tbW9uczpjb21tb25zLWNvbXByZXNzOmphcjoxLjE6cHJvdmlkZWQKKyAgICstIGNvbW1vbnMtY29kZWM6Y29tbW9ucy1jb2RlYzpqYXI6MS40OnByb3ZpZGVkCisgICArLSBvcmcuYXBhY2hlLnBkZmJveDpwZGZib3g6amFyOjEuNi4wOnByb3ZpZGVkCisgICB8ICArLSBvcmcuYXBhY2hlLnBkZmJveDpmb250Ym94OmphcjoxLjYuMDpwcm92aWRlZAorICAgfCAgKy0gb3JnLmFwYWNoZS5wZGZib3g6amVtcGJveDpqYXI6MS42LjA6cHJvdmlkZWQKKyAgIHwgIFwtIGNvbW1vbnMtbG9nZ2luZzpjb21tb25zLWxvZ2dpbmc6amFyOjEuMS4xOnByb3ZpZGVkCisgICArLSBvcmcuYm91bmN5Y2FzdGxlOmJjbWFpbC1qZGsxNTpqYXI6MS40NTpwcm92aWRlZAorICAgKy0gb3JnLmJvdW5jeWNhc3RsZTpiY3Byb3YtamRrMTU6amFyOjEuNDU6cHJvdmlkZWQKKyAgICstIG9yZy5hcGFjaGUucG9pOnBvaTpqYXI6My44LWJldGE0OnByb3ZpZGVkCisgICArLSBvcmcuYXBhY2hlLnBvaTpwb2ktc2NyYXRjaHBhZDpqYXI6My44LWJldGE0OnByb3ZpZGVkCisgICArLSBvcmcuYXBhY2hlLnBvaTpwb2ktb294bWw6amFyOjMuOC1iZXRhNDpwcm92aWRlZAorICAgfCAgKy0gb3JnLmFwYWNoZS5wb2k6cG9pLW9veG1sLXNjaGVtYXM6amFyOjMuOC1iZXRhNDpwcm92aWRlZAorICAgfCAgfCAgXC0gb3JnLmFwYWNoZS54bWxiZWFuczp4bWxiZWFuczpqYXI6Mi4zLjA6cHJvdmlkZWQKKyAgIHwgIFwtIGRvbTRqOmRvbTRqOmphcjoxLjYuMTpwcm92aWRlZAorICAgKy0gb3JnLmFwYWNoZS5nZXJvbmltby5zcGVjczpnZXJvbmltby1zdGF4LWFwaV8xLjBfc3BlYzpqYXI6MS4wLjE6cHJvdmlkZWQKKyAgICstIG9yZy5jY2lsLmNvd2FuLnRhZ3NvdXA6dGFnc291cDpqYXI6MS4yLjE6cHJvdmlkZWQKKyAgICstIGFzbTphc206amFyOjMuMTpwcm92aWRlZAorICAgKy0gY29tLmRyZXdub2FrZXM6bWV0YWRhdGEtZXh0cmFjdG9yOmphcjoyLjQuMC1iZXRhLTE6cHJvdmlkZWQKKyAgICstIGRlLmwzcy5ib2lsZXJwaXBlOmJvaWxlcnBpcGU6amFyOjEuMS4wOnByb3ZpZGVkCisgICBcLSByb21lOnJvbWU6amFyOjAuOTpwcm92aWRlZAorICAgICAgXC0gamRvbTpqZG9tOmphcjoxLjA6cHJvdmlkZWQKK29yZy5hcGFjaGUudGlrYTp0aWthOnBvbTowLjEwCisKKyAgIAorICAgCitUaGUgZm9sbG93aW5nIHBlb3BsZSBoYXZlIGNvbnRyaWJ1dGVkIHRvIFRpa2EgMC4xMCBieSBzdWJtaXR0aW5nIG9yIGNvbW1lbnRpbmcKK29uIHRoZSBpc3N1ZXMgcmVzb2x2ZWQgaW4gdGhpcyByZWxlYXNlOgorCitBbGFpbiBWaXJldAorQWxleCBPdHQKK0FsZXhhbmRlciBDaG93CitBbmRyZWFzIEtlbWtlcworQW5kcmV3IEtob3VyeQorQmFiYWsgRmFyaGFuZworQmVuamFtaW4gRG91Z2xhcworQmVuc29uIE1hcmd1bGllcworQ2hyaXMgQS4gTWF0dG1hbm4KK2NocmlzIGh1ZHNvbgorQ2hyaXMgTG90dAorQ3Jpc3RpYW4gVmF0CitDdXJ0IEFybm9sZAorQ3ludGhpYSBMIFdvbmcKK0RhdmUgQnJvc2l1cworRGF2aWQgQmVuc29uCitFbnJpY28gRG9uZWxsaQorRXJpayBIZXR6bmVyCitFcm5hIGRlIEdyb290CitHYWJyaWVsZSBDb2x1bWJybworR2F2aW4KK0dlb2ZmIEphcnJhZAorR3JlZ29yeSBLYW5ldnNreSAKK0efbnRlciByb21iYXV0cworSGVubmluZyBHcm9zcworSGVucmkgQmVyZ2l1cworSW5nbyBSZW5uZXIKK0luZ28gV2lhcmRhCitJemFhayBBbHBlcnQgCitKYW4gSL95ZGFobAorSmVucyBXaWxtZXIKK0plcmVteSBBbmRlcnNvbgorSm9zZXBoIFZ5Y2h0cmxlCitKb3NodWEgVHVybmVyCitKdWtrYSBaaXR0aW5nCitKdWxpZW4gTmlvY2hlCitLYXJsIEhlaW56IE1hcmJhaXNlCitLZW4gS3J1Z2xlcgorS29zdHlhIEdyaWJvdgorTHVjaWFubyBMZWdnaWVyaQorTWFkcyBIYW5zZW4KK01hcmsgQnV0bGVyCitNYXR0IFNoZXBwYXJkCitNYXhpbSBWYWx5YW5za2l5CitNaWNoYWVsIE1jQ2FuZGxlc3MKK01pY2hhZWwgUGlzdWxhCitNdXJhZCBTaGFoaWQKK05pY2sgQnVyY2gKK09sZWcgVGlraG9ub3YgCitQYWJsbyBRdWVpeGFsb3MKK1BhdWwgSmFrdWJpaworUmFpbXVuZCBNZXJrZXJ0CitSYWppdiBLdW1hcgorUm9iZXJ0IFRyaWNrZXkKK1NhbWkgU2lyZW4KK3NhbXJhagorU2VsdmEgR2FuZXNhbgorU2pvZXJkIFNtZWV0cworU3RlcGhlbiBEdW5jYW4gSnIKK1RyYW4gTmFtIFF1YW5nCitVd2UgU2NoaW5kbGVyCitWaXRhbGl5IEZpbGlwcG92CisKK1NlZSBodHRwOi8vcy5hcGFjaGUub3JnL3ZSIGZvciBtb3JlIGRldGFpbHMgb24gdGhlc2UgY29udHJpYnV0aW9ucy4KKwogUmVsZWFzZSAwLjkgLSAwMi8xMy8yMDExCiAKIFRoZSBtb3N0IG5vdGFibGUgY2hhbmdlcyBpbiBUaWthIDAuOSBvdmVyIHByZXZpb3VzIHJlbGVhc2VzIGFyZToK