ZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3F1b3Rlcy50eHQgYi9ydW50aW1lL2RvYy9xdW90ZXMudHh0CmluZGV4IDNjNWMzYTMuLjljYzk0ZmYgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3F1b3Rlcy50eHQKKysrIGIvcnVudGltZS9kb2MvcXVvdGVzLnR4dApAQCAtMSw0ICsxLDQgQEAKLSpxdW90ZXMudHh0KiAgICBGb3IgVmltIHZlcnNpb24gNy4wYWEuICBMYXN0IGNoYW5nZTogMjAwNCBNYXkgMDYKKypxdW90ZXMudHh0KiAgICBGb3IgVmltIHZlcnNpb24gNy4wYWEuICBMYXN0IGNoYW5nZTogMjAwNSBBcHIgMDQKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwgICAgYnkgQnJhbSBNb29sZW5hYXIKQEAgLTE4LDcgKzE4LDcgQEAKIFZpIGFzIHNvbWUga2luZCBvZiBvdXRlciBzcGFjZSBhbGllbiBpbiBodW1hbiBjbG90aGVzLiAgT25jZSBJIHRyaWVkIEkgcmVhbGx5CiBnb3QgYWRkaWN0ZWQgYnkgaXRzIHBvd2VyIGFuZCBub3cgSSBmb3VuZCBteXNlbGYgdHlwaW5nIFZpbSBrZXlwcmVzc2VzIGluIHRoZQogb2RkZXN0IHBsYWNlcyEgVGhhdCdzIHdoeSBJIHdvdWxkIGxpa2UgdG8gc2VlIFZpbSBlbWJlZGRlZCBpbiBldmVyeQotYXBwbGljYXRpb24gd2hpY2ggZGVhbHMgd2l0aCB0ZXh0IGVkaXRpbmcuIChKb3PpIEZvbnNlY2EpCithcHBsaWNhdGlvbiB3aGljaCBkZWFscyB3aXRoIHRleHQgZWRpdGluZy4gIChKb3PpIEZvbnNlY2EpCiAKIEkgd2FzIGEgMTIteWVhciBlbWFjcyB1c2VyIHdobyBzd2l0Y2hlZCB0byBWaW0gYWJvdXQgYSB5ZWFyIGFnbyBhZnRlciBmaW5hbGx5CiBnaXZpbmcgdXAgb24gdGhlIG11bHRpcGxlIGluY29tcGF0aWJsZSB2ZXJzaW9ucywgZmxha3kgY29udHJpYnV0ZWQgcGFja2FnZXMsCkBAIC0zMiwxNyArMzIsMTcgQEAKIAogT3V0IG9mIGFsbCB0aGUgb3BlbiBzb2Z0d2FyZSBpJ3ZlIGV2ZXIgc2VlbiBhbmQgdXNlZCwgYW5kIGkndmUgc2VlbiBhIGxvdCwgVmltCiBpcyB0aGUgYmVzdCwgbW9zdCB1c2VmdWwgYW5kIGhpZ2hlc3QgcXVhbGl0eSB0byB3b3JrIHdpdGgsIHNlY29uZCBvbmx5IHRvIHRoZQotbGludXgga2VybmVsIGl0c2VsZi4gKFBldGVyIEpheSBTYWx6bWFuKQorbGludXgga2VybmVsIGl0c2VsZi4gIChQZXRlciBKYXkgU2Fsem1hbikKIAogSXQncyB3ZWxsIHdvcnRoIG5vdGluZyB0aGF0IHRoZSBfZW50aXJldHlfIG9mIFNvdXJjZUZvcmdlIHdhcyB3cml0dGVuIHVzaW5nCi1WaW0gYW5kIGl0cyBuaWZ0eSBQSFAgc3ludGF4IGhpZ2hsaWdodGluZy4gSSB0aGluayB0aGUgZW50aXJlIFNGLm5ldCB0ZWNoCitWaW0gYW5kIGl0cyBuaWZ0eSBQSFAgc3ludGF4IGhpZ2hsaWdodGluZy4gIEkgdGhpbmsgdGhlIGVudGlyZSBTRi5uZXQgdGVjaAogc3RhZmYgdXNlcyBWaW0gYW5kIHdlJ3JlIGFsbCBleGNpdGVkIHRvIGhhdmUgeW91IGFib2FyZCEgKFRpbSBQZXJkdWUpCiAKIFZpbSBpcyBvbmUgb2YgYSBzZWxlY3QgYnVuY2ggb2YgdG9vbHMgZm9yIHdoaWNoIEkgaGF2ZSBubyBzdWJzdGl0dXRlLiAgSXQgaXMKIGEgYnJpbGxpYW50IHBpZWNlIG9mIHdvcmshIChCaWp1IENoYWNrbykKIAogQSBwcmV2aW91cyBnaXJsZnJpZW5kIG9mIG1pbmUgc3dpdGNoZWQgdG8gZW1hY3MuICBOZWVkbGVzcyB0byBzYXksIHRoZQotcmVsYXRpb25zaGlwIHdlbnQgbm93aGVyZS4gKEdlb2ZmcmV5IE1hbm4pCityZWxhdGlvbnNoaXAgd2VudCBub3doZXJlLiAgKEdlb2ZmcmV5IE1hbm4pCiAKIEkgcmFyZWx5IHRoaW5rIGFib3V0IFZpbSwgaW4gdGhlIHNhbWUgd2F5IHRoYXQgSSBndWVzcyBhIGZpc2ggcmFyZWx5IHRoaW5rcwogYWJvdXQgd2F0ZXIuICBJdCdzIHRoZSBlbnZpcm9ubWVudCBpbiB3aGljaCBldmVyeXRoaW5nIGVsc2UgaGFwcGVucy4gIEknbSBhCkBAIC01MSw3ICs1MSw3IEBACiB0aGUgb25seSB0aGluZyB0aGF0IGRvZXNuJ3QgYnJlYWsgZnJvbSB0aW1lIHRvIHRpbWUuICBXaGVuIGEgbmV3IHN5c3RlbSBjb21lcwogaW4gdGhlIGRvb3Igd2l0aG91dCBWaW0sIEkgaW5zdGFsbCBpdCByaWdodCBhd2F5LiAgR3JlYXQgdG8gaGF2ZSBhIHRvb2wgdGhhdCdzCiB0aGUgc2FtZSBldmVyeXdoZXJlLCB0aGF0J3MgY29tcGxldGVseSByZWxpYWJsZSwgc28gSSBjYW4gaWdub3JlIGl0IGFuZCB0aGluawotYWJvdXQgb3RoZXIgdGhpbmdzLiAoUGV0ZSBTY2hhZWZmZXIpCithYm91dCBvdGhlciB0aGluZ3MuICAoUGV0ZSBTY2hhZWZmZXIpCiAKIEhhdmluZyByZWNlbnRseSBzdWNjZWVkZWQgaW4gcnVubmluZyBWaW0gdmlhIHRlbG5ldCB0aHJvdWdoIGEgTm9raWEKIENvbW11bmljYXRvciwgSSBjYW4gbm93IHJlcG9ydCB0aGF0IGl0IHdvcmtzIG5pY2VseSBvbiBhIFBhbG0gUGlsb3QgdG9vLgpAQCAtNjMsMTAgKzYzLDEwIEBACiBmaXJzdCBVTklYIEkgY2FtZSBhY3Jvc3MgaW4gMTk4MykuICBJbiBteSBvcGluaW9uLCBpdCdzIGFib3V0IHRpbWUgJ1ZJTScKIHJlcGxhY2UgJ2VtYWNzJyBhcyB0aGUgc3RhbmRhcmQgZm9yIHRvcCBlZGl0b3JzLiAgKEJvIFRoaWRlJywgU3dlZGVuKQogCi1JIGxvdmUgYW5kIHVzZSBWSU0gaGVhdmlseSB0b28uIChMYXJyeSBXYWxsKQorSSBsb3ZlIGFuZCB1c2UgVklNIGhlYXZpbHkgdG9vLiAgKExhcnJ5IFdhbGwpCiAKIFZpIGlzIGxpa2UgYSBGZXJyYXJpLCBpZiB5b3UncmUgYSBiZWdpbm5lciwgaXQgaGFuZGxlcyBsaWtlIGEgYml0Y2gsIGJ1dCBvbmNlCi15b3UgZ2V0IHRoZSBoYW5nIG9mIGl0LCBpdHMgc21hbGwsIHBvd2VyZnVsIGFuZCBGQVNUISAoVW5rbm93bikKK3lvdSBnZXQgdGhlIGhhbmcgb2YgaXQsIGl0J3Mgc21hbGwsIHBvd2VyZnVsIGFuZCBGQVNUISAoVW5rbm93bikKIFZJTSBpcyBsaWtlIGEgbmV3IG1vZGVsIEZlcnJhcmksIGFuZCBzb3VuZHMgbGlrZSBvbmUgdG9vIC0gIlZJSUlJSUlNTU0hIgogKFN0ZXBoZW4gUmllaG0sIEdlcm1hbnkpCiAKQEAgLTc3LDEyICs3NywxMiBAQAogR2xlbmRvd24sIGNvbmNsdXNpb24gb2YgYW4gYXJ0aWNsZSBvbiBWSU0gaW4gaVggbWFnYXppbmUgOS8xOTk4KQogCiBJJ3ZlIHJlY2VudGx5IGFjcXVpcmVkIHRoZSBPJ1JlaWxseSBib29rIG9uIFZJIChpdCBhbHNvIGRpc2N1c3NlcyBWSU0KLWluLWRlcHRoKSwgYW5kIEknbSBhbWF6ZWQgYXQganVzdCBob3cgcG93ZXJmdWwgdGhpcyBhcHBsaWNhdGlvbiBpcy4gKEplZmZyZXkKK2luLWRlcHRoKSwgYW5kIEknbSBhbWF6ZWQgYXQganVzdCBob3cgcG93ZXJmdWwgdGhpcyBhcHBsaWNhdGlvbiBpcy4gIChKZWZmcmV5CiBSYW5raW4pCiAKIFRoaXMgZ3VpZGUgd2FzIHdyaXR0ZW4gdXNpbmcgdGhlIFdpbmRvd3MgOS54IGRpc3RyaWJ1dGlvbiBvZiBHVklNLCB3aGljaCBpcwogcXVpdGUgcG9zc2libHkgdGhlIGdyZWF0ZXN0IHRoaW5nIHRvIGNvbWUgYWxvbmcgc2luY2UgR29kIGNyZWF0ZWQgdGhlIG5ha2VkCi1naXJsLiAoTWljaGFlbCBEaUJlcm5hcmRvKQorZ2lybC4gIChNaWNoYWVsIERpQmVybmFyZG8pCiAKIEJveSwgSSB0aG91Z2h0IEkga25ldyBhbG1vc3QgZXZlcnl0aGluZyBhYm91dCBWSU0sIGJ1dCBldmVyeSB0aW1lIEkgYnJvd3NlIHRoZQogb25saW5lIGRvY3VtZW50YXRpb24sIEkgaGl0IHVwb24gYSBtaW5vciBidXQgY29vbCBhc3BlY3Qgb2YgYSBWSU0gZmVhdHVyZSB0aGF0CkBAIC0xMDMsNyArMTAzLDcgQEAKIHRoYXQgVklNIGFscmVhZHkgc3VwcG9ydHMgaXQuICAoQnJlbmRhbiBNYWNtaWxsYW4sIEF1c3RyYWxpYSkKIAogSSBqdXN0IGRpc2NvdmVyZWQgVklNICg1LjApIGFuZCBJJ20gdGVsbGluZyBldmVyeW9uZSBJIGtub3cgYWJvdXQgaXQhCi1JIHRlbGwgdGhlbSBWSU0gc3RhbmRzIGZvciBWSSBmb3IgdGhlIG5ldyAoTSlpbGxlbml1bS4gVGhhbmtzIHNvIG11Y2ghCitJIHRlbGwgdGhlbSBWSU0gc3RhbmRzIGZvciBWSSBmb3IgdGhlIG5ldyAoTSlpbGxlbml1bS4gIFRoYW5rcyBzbyBtdWNoIQogKE1hdHQgRi4gVmFsZW50aW5lKQogCiBJIHRoaW5rIGZyb20gbm93IG9uICJ2aSIgc2hvdWxkIGJlIGNhbGxlZCAiVmltIEltaXRhdGlvbiIsIG5vdCB0aGUgb3RoZXIgd2F5CkBAIC0xMjEsMTIgKzEyMSwxMiBAQAogVklNLiAgTGF0ZWx5LCBJIGFtIHNpbXBseSBzdHVubmVkIGJ5IGl0cyBlYXNlIG9mIGNvbXBpbGF0aW9uIHVzaW5nIHRoZQogY29uZmlndXJlIGZhY2lsaXR5LiAgKEEuTS4gU2FidW5jdSwgVHVya2V5KQogCi1UaGUgb3B0aW9ucyBhcmUgcmVhbGx5IGV4Y2VsbGVudCBhbmQgdmVyeSBwb3dlcmZ1bC4gKEFuaXNoIE1haGFyYWopCitUaGUgb3B0aW9ucyBhcmUgcmVhbGx5IGV4Y2VsbGVudCBhbmQgdmVyeSBwb3dlcmZ1bC4gIChBbmlzaCBNYWhhcmFqKQogCiBUaGUgU3ByaW5nIHVzZXItaW50ZXJmYWNlIGRlc2lnbnMgYXJlIGluLCBhbmQgd29yZCBmcm9tIHRoZSBib3V0aXF1ZXMgaXMgdGhhdAogODB4MjQgdGV4dC1vbmx5IG1vZGUgaXMgYmFjayB3aXRoIGEgKnZlbmdlYW5jZSEgVmkgZWRpdG9yIGNsb25lIFZJTSBidXJzdCBvbnRvCiBNYXJjaCBkZXNrLXRvcHMgd2l0aCBhIGRhenpsaW5nIHNob3cgb2YgcGFzdGVsIHN5bnRheCBoaWdobGlnaHRzIGZvciBpdHMgNS4wCi1sb29rLiBTdHJpZGVudCBhbmQgY3VzdG9taXphYmxlLCBWSU0gcmFpc2VzIGV5ZWJyb3dzIHdpdGggaXRzIGludGVycHJldGF0aW9uCitsb29rLiAgU3RyaWRlbnQgYW5kIGN1c3RvbWl6YWJsZSwgVklNIHJhaXNlcyBleWVicm93cyB3aXRoIGl0cyBpbnRlcnByZXRhdGlvbgogb2YgdGhlIGNsYXNzaWMgVmkgc2luZ2xlLWtleSBtYWNybyBjb2xsZWN0aW9uLgogaHR0cDovL3d3dy5udGsubmV0L2luZGV4LmNnaT9iYWNrPWFyY2hpdmU5OC9ub3cwMzI3LnR4dCZsaW5lPTE3OSNsCiAKQEAgLTEzNCw3ICsxMzQsNyBAQAogU3ludGF4IGhpZ2hsaWdodGluZzogaG93IGRpZCBJIHN1cnZpdmUgd2l0aG91dCBpdD8hICBUaGFuayB5b3UgZm9yIGNyZWF0aW5nCiBtYW5raW5kJ3MgYmVzdCBlZGl0b3IhICAoTXVuIEpvaGwsIFVTQSkKIAotVGhhbmtzIGFnYWluIGZvciBWSU0uICBJIHVzZSBpdCBldmVyeSBkYXkgb24gTGludXguIChFcmljIEZvc3Rlci1Kb2huc29uLAorVGhhbmtzIGFnYWluIGZvciBWSU0uICBJIHVzZSBpdCBldmVyeSBkYXkgb24gTGludXguICAoRXJpYyBGb3N0ZXItSm9obnNvbiwKIGF1dGhvciBvZiB0aGUgYm9vayAiVU5JWCBQcm9ncmFtbWluZyBUb29scyIpCiAKIFRoZSBCRVNUIEVESVRPUiBFVkVSIChTdHVhcnQgV29vbGZvcmQpCkBAIC0xNzIsMTcgKzE3MiwxNyBAQAogYWxtb3N0IGFueSBleHBlbnNpdmUsIG9mZiB0aGUgc2hlbGYgcHJvZ3JhbS4gIChKZWZmIFdhbGtlcikKIAogV2hlbmV2ZXIgSSByZXJlYWQgdGhlIFZJTSBkb2N1bWVudGF0aW9uIEknbSBvdmVyY29tZSB3aXRoIGV4Y2l0ZW1lbnQgYXQgdGhlCi1wb3dlciBvZiB0aGUgZWRpdG9yLiAoV2lsbGlhbSBFZHdhcmQgV2ViYmVyLCBBdXN0cmFsaWEpCitwb3dlciBvZiB0aGUgZWRpdG9yLiAgKFdpbGxpYW0gRWR3YXJkIFdlYmJlciwgQXVzdHJhbGlhKQogCiBIdXJyYWggZm9yIFZJTSEhIEl0IGlzICJhdCB5b3VyIGZpbmdlcnRpcHMiIGxpa2UgdmksIGFuZCBoYXMgdGhlIGV4dGVuc2lvbnMKIHRoYXQgdmkgc29yZWx5IG5lZWRzOiBoaWdobGlnaHRpbmcgZm9yIGV4ZWN1dGluZyBjb21tYW5kcyBvbiBibG9ja3MsIGFuIGVhc2lseQotbmF2aWdhYmxlIGFuZCBkaWdlc3RpYmxlIGhlbHAgc2NyZWVuLCBhbmQgbW9yZS4gKFBhdWwgUGF4KQorbmF2aWdhYmxlIGFuZCBkaWdlc3RpYmxlIGhlbHAgc2NyZWVuLCBhbmQgbW9yZS4gIChQYXVsIFBheCkKIAogVGhlIHJlYXNvbiBXSFkgSSBkb24ndCBoYXZlIHRoaXMgYW1hemluZ2x5IHVzZWZ1bCBtYWNybyBhbnkgbW9yZSwgaXMgdGhhdCBJCiBub3cgdXNlIFZJTSAtIGFuZCB0aGlzIGlzIGJ1aWx0IGluISEgKFN0ZXBoZW4gUmllaG0sIEdlcm1hbnkpCiAKLUkgYW0gYSB1c2VyIG9mIFZJTSBhbmQgSSBsb3ZlIGl0LiBJIHVzZSBpdCB0byBkbyBhbGwgbXkgcHJvZ3JhbW1pbmcsIEMsCi1DKyssIEhUTUwgd2hhdCBldmVyLiAoVGltIEFsbHdpbmUpCitJIGFtIGEgdXNlciBvZiBWSU0gYW5kIEkgbG92ZSBpdC4gIEkgdXNlIGl0IHRvIGRvIGFsbCBteSBwcm9ncmFtbWluZywgQywKK0MrKywgSFRNTCB3aGF0IGV2ZXIuICAoVGltIEFsbHdpbmUpCiAKIEkgZGlzY292ZXJlZCBWSU0gYWZ0ZXIgeWVhcnMgb2Ygc3RydWdnbGluZyB3aXRoIHRoZSBvcmlnaW5hbCB2aSwgYW5kIEkganVzdAogY2FuJ3QgbGl2ZSB3aXRob3V0IGl0IGFueSBtb3JlLiAgKEVtbWFudWVsIE1vZ2VuZXQsIFVTQSkKQEAgLTE5NCwxMSArMTk0LDExIEBACiBUaGlzIHZlcnNpb24gb2YgVklNIHdpbGwganVzdCBibG93IHBlb3BsZSBhcGFydCB3aGVuIHRoZXkgZGlzY292ZXIganVzdCBob3cKIGZhbnRhc3RpYyBpdCBpcyEgKFRvbnkgTnVnZW50LCBBdXN0cmFsaWEpCiAKLUkgdG9vayB5b3VyIGFkdmljZSAmIGZpbmFsbHkgZ290IFZJTSAmIEknbSByZWFsbHkgaW1wcmVzc2VkLiBJbnN0YW50IGNvbnZlcnQuCitJIHRvb2sgeW91ciBhZHZpY2UgJiBmaW5hbGx5IGdvdCBWSU0gJiBJJ20gcmVhbGx5IGltcHJlc3NlZC4gIEluc3RhbnQgY29udmVydC4KIChQYXRyaWNrIEtpbGxlbGVhLCBVU0EpCiAKIFZJTSBpcyBieSBmYXIgbXkgZmF2b3JpdGUgcGllY2Ugb2Ygc2hhcmV3YXJlIGFuZCBJIGhhdmUgYmVlbiBwYXJ0aWN1bGFybHkKLXBsZWFzZWQgd2l0aCB2ZXJzaW9uIDMuMC4gIFRoaXMgaXMgcmVhbGx5IGEgc29saWQgcGllY2Ugb2Ygd29yay4gKFJvYmVydAorcGxlYXNlZCB3aXRoIHZlcnNpb24gMy4wLiAgVGhpcyBpcyByZWFsbHkgYSBzb2xpZCBwaWVjZSBvZiB3b3JrLiAgKFJvYmVydAogQ29sb24sIFVTQSkKIAogVklNIGlzIGEgam95IHRvIHVzZSwgaXQgaXMgc28gd2VsbCB0aG91Z2h0IGFuZCBwcmFjdGljYWwgdGhhdCBJIHdvbmRlciB3aHkKQEAgLTI0NCw3ICsyNDQsNyBAQAogCiBJIHdvdWxkIGxpa2UgdG8gc2F5IHRoYXQgd2l0aCBWSU0gSSBhbSBmaW5hbGx5IG1ha2luZyB0aGUgJ2VtYWNzIHRvIHZpJwogdHJhbnNpdGlvbiAtIGFzIGFuIEVkaXRvciBpdCBpcyBzbyBtdWNoIGJldHRlciBpbiBtYW55IHdheXM6IGtleWJvYXJkIGxheW91dCwKLW1lbW9yeSB1c2FnZSwgdGV4dCBhbHRlcmF0aW9uIHRvIG5hbWUgMy4gKE1hcmsgQWRhbSkKK21lbW9yeSB1c2FnZSwgdGV4dCBhbHRlcmF0aW9uIHRvIG5hbWUgMy4gIChNYXJrIEFkYW0pCiAKIEluIGZhY3QsIG5vdyBpZiBJIHdhbnQgdG8ga25vdyB3aGF0IGEgcGFydGljdWxhciBzZXR0aW5nIGRvZXMgaW4gdmksIEkgZmlyZSB1cAogVklNIGFuZCBjaGVjayBvdXQgaXQncyBoZWxwISAgKE5pa2hpbCBQYXRlbCwgVVNBKQpAQCAtMjU1LDcgKzI1NSw3IEBACiBJIHVzZSBWSU0gc2luY2UgdmVyc2lvbiAzLjAuICBTaW5jZSB0aGF0IHRpbWUsIGl0IGlzIHRoZSBPTkxZIGVkaXRvciBJIHVzZSwKIHdpdGggU29sYXJpcywgTGludXggYW5kIE9TLzIgV2FycC4gIEkgc3VnZ2VzdCBhbGwgbXkgZnJpZW5kcyB0byB1c2UgVklNLCB0aGV5CiB0cnksIGFuZCB0aGV5IGNvbnRpbnVlIHVzaW5nIGl0LiAgVklNIGlzIHJlYWxseSB0aGUgYmVzdCBzb2Z0d2FyZSBJIGhhdmUgZXZlcgotZG93bmxvYWRlZCBmcm9tIHRoZSBJbnRlcm5ldCwgYW5kIHRoZSBiZXN0IGVkaXRvciBJIGtub3cgb2YuIChNYXJjbworZG93bmxvYWRlZCBmcm9tIHRoZSBJbnRlcm5ldCwgYW5kIHRoZSBiZXN0IGVkaXRvciBJIGtub3cgb2YuICAoTWFyY28KIEVjY2V0dHVhdG8sIEl0YWx5KQogCiAK