ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lOWE3ZGU5Ci0tLSAvZGV2L251bGwKKysrIGIvQ2hhbmdlTG9nCkBAIC0wLDAgKzEsMTU1IEBACisNCis9IFZlcnNpb24gMC45IHJlbGVhc2VkIG9uIDIwMDgtMDMtMTYNCisNCisgICAgKiBBZGRlZCBzdXBwb3J0IGZvciBjaXBoZXJzdWl0ZTogU1NMX1JTQV9BRVNfMTI4X1NIQQ0KKyAgICAqIEVuYWJsZWQgc3VwcG9ydCBmb3IgbGFyZ2UgZmlsZXMgYnkgZGVmYXVsdCBpbiBhZXNjcnlwdDIuYw0KKyAgICAqIFByZWxpbWluYXJ5IG9wZW5zc2wgd3JhcHBlciBjb250cmlidXRlZCBieSBEYXZpZCBCYXJyZXR0DQorICAgICogRml4ZWQgYSBidWcgaW4gc3NsX3dyaXRlKCkgdGhhdCBjYXVzZWQgdGhlIHNhbWUgcGF5bG9hZCB0bw0KKyAgICAgIGJlIHNlbnQgdHdpY2UgaW4gbm9uLWJsb2NraW5nIG1vZGUgd2hlbiBzZW5kIHJldHVybnMgRUFHQUlODQorICAgICogRml4ZWQgc3NsX3BhcnNlX2NsaWVudF9oZWxsbygpOiBzZXNzaW9uIGlkIGFuZCBjaGFsbGVuZ2UgbXVzdA0KKyAgICAgIG5vdCBiZSBzd2FwcGVkIGluIHRoZSBTU0x2MiBDbGllbnRIZWxsbyAoZm91bmQgYnkgR3JlZyBSb2Jzb24pDQorICAgICogQWRkZWQgdXNlci1kZWZpbmVkIGNhbGxiYWNrIGRlYnVnIGZ1bmN0aW9uIChLcnlzdGlhbiBLb2xvZHppZWopDQorICAgICogQmVmb3JlIGZyZWVpbmcgYSBjZXJ0aWZpY2F0ZSwgcHJvcGVybHkgemVybyBvdXQgYWxsIGNlcnQuIGRhdGENCisgICAgKiBGaXhlZCB0aGUgIm1vZGUiIHBhcmFtZXRlciBzbyB0aGF0IGVuY3J5cHRpb24vZGVjcnlwdGlvbiBhcmUNCisgICAgICBub3Qgc3dhcHBlZCBvbiBQYWRMb2NrOyBhbHNvIGZpeGVkIGNvbXBpbGF0aW9uIG9uIG9sZGVyIHZlcnNpb25zDQorICAgICAgb2YgZ2NjIChidWcgcmVwb3J0ZWQgYnkgRGF2aWQgQmFycmV0dCkNCisgICAgKiBDb3JyZWN0bHkgaGFuZGxlIHRoZSBjYXNlIGluIHBhZGxvY2tfeGNyeXB0Y2JjKCkgd2hlbiBpbnB1dCBvcg0KKyAgICAgIG91cHV0IGRhdGEgaXMgbm9uLWFsaWduZWQgYnkgZmFsbGluZyBiYWNrIHRvIHRoZSBzb2Z0d2FyZQ0KKyAgICAgIGltcGxlbWVudGF0aW9uLCBhcyBWSUEgTmVoZW1pYWggY2Fubm90IGhhbmRsZSBub24tYWxpZ25lZCBidWZmZXJzDQorICAgICogRml4ZWQgYSBtZW1vcnkgbGVhayBpbiB4NTA5cGFyc2VfY3J0KCkgd2hpY2ggd2FzIHJlcG9ydGVkIGJ5IEdyZWcNCisgICAgICBSb2Jzb24tR2FydGg7IHNvbWUgeDUwOXdyaXRlLmMgZml4ZXMgYnkgUGFzY2FsIFZpemVsaSwgdGhhbmtzIHRvDQorICAgICAgTWF0dGhldyBQYWdlIHdobyByZXBvcnRlZCBzZXZlcmFsIGJ1Z3MNCisgICAgKiBGaXhlZCB4NTA5X2dldF9leHQoKSB0byBhY2NlcHQgc29tZSByYXJlIGNlcnRpZmljYXRlcyB3aGljaCBoYXZlDQorICAgICAgYW4gSU5URUdFUiBpbnN0ZWFkIG9mIGEgQk9PTEVBTiBmb3IgQmFzaWNDb25zdHJhaW50czo6Y0EuDQorICAgICogQWRkZWQgc3VwcG9ydCBvbiB0aGUgY2xpZW50IHNpZGUgZm9yIHRoZSBUTFMgImhvc3RuYW1lIiBleHRlbnNpb24NCisgICAgICAocGF0Y2ggY29udHJpYnV0ZWQgYnkgRGF2aWQgUGF0aW5vKQ0KKyAgICAqIE1ha2UgeDUwOXBhcnNlX3ZlcmlmeSgpIHJldHVybiBCQURDRVJUX0NOX01JU01BVENIIHdoZW4gYW4gZW1wdHkNCisgICAgICBzdHJpbmcgaXMgcGFzc2VkIGFzIHRoZSBDTiAoYnVnIHJlcG9ydGVkIGJ5IHNwb29meSkNCisgICAgKiBBZGRlZCBhbiBvcHRpb24gdG8gZW5hYmxlL2Rpc2FibGUgdGhlIEJOIGFzc2VtYmx5IGNvZGUNCisgICAgKiBVcGRhdGVkIHJzYV9jaGVja19wcml2a2V5KCkgdG8gdmVyaWZ5IHRoYXQgKEQqRSkgPSAxICUgKFAtMSkqKFEtMSkNCisgICAgKiBEaXNhYmxlZCBvYnNvbGV0ZSBoYXNoIGZ1bmN0aW9ucyBieSBkZWZhdWx0IChNRDIsIE1ENCk7IHVwZGF0ZWQNCisgICAgICBzZWxmdGVzdCBhbmQgYmVuY2htYXJrIHRvIG5vdCB0ZXN0IGNpcGhlcnMgdGhhdCBoYXZlIGJlZW4gZGlzYWJsZWQNCisgICAgKiBVcGRhdGVkIHg1MDlwYXJzZV9jZXJ0X2luZm8oKSB0byBjb3JyZWN0bHkgZGlzcGxheSBieXRlIDAgb2YgdGhlDQorICAgICAgc2VyaWFsIG51bWJlciwgc2V0dXAgY29ycmVjdCBzZXJ2ZXIgcG9ydCBpbiB0aGUgc3NsIGNsaWVudCBleGFtcGxlDQorICAgICogRml4ZWQgYSBjcml0aWNhbCBkZW5pYWwtb2Ytc2VydmljZSB3aXRoIFguNTA5IGNlcnQuIHZlcmlmaWNhdGlvbjoNCisgICAgICBwZWVyIG1heSBjYXVzZSB4eXNzbCB0byBsb29wIGluZGVmaW5pdGVseSBieSBzZW5kaW5nIGEgY2VydGlmaWNhdGUNCisgICAgICBmb3Igd2hpY2ggdGhlIFJTQSBzaWduYXR1cmUgY2hlY2sgZmFpbHMgKGJ1ZyByZXBvcnRlZCBieSBCZW5vaXQpDQorICAgICogQWRkZWQgdGVzdCB2ZWN0b3JzIGZvcjogQUVTLUNCQywgQUVTLUNGQiwgREVTLUNCQyBhbmQgM0RFUy1DQkMsDQorICAgICAgSE1BQy1NRDUsIEhNQUMtU0hBMSwgSE1BQy1TSEEtMjU2LCBITUFDLVNIQS0zODQsIGFuZCBITUFDLVNIQS01MTINCisgICAgKiBGaXhlZCBITUFDLVNIQS0zODQgYW5kIEhNQUMtU0hBLTUxMiAodGhhbmtzIHRvIEpvc2ggU2lueWtpbikNCisgICAgKiBNb2RpZmllZCBzc2xfcGFyc2VfY2xpZW50X2tleV9leGNoYW5nZSgpIHRvIHByb3RlY3QgYWdhaW5zdA0KKyAgICAgIERhbmllbCBCbGVpY2hlbmJhY2hlciBhdHRhY2sgb24gUEtDUyMxIHYxLjUgcGFkZGluZywgYXMgd2VsbA0KKyAgICAgIGFzIHRoZSBLbGltYS1Qb2tvcm55LVJvc2EgZXh0ZW5zaW9uIG9mIEJsZWljaGVuYmFjaGVyJ3MgYXR0YWNrDQorICAgICogVXBkYXRlZCByc2FfZ2VuX2tleSgpIHNvIHRoYXQgY3R4LT5OIGlzIGFsd2F5cyBuYml0cyBpbiBzaXplDQorICAgICogRml4ZWQgYXNzZW1ibHkgUFBDIGNvbXBpbGF0aW9uIGVycm9ycyBvbiBNYWMgT1MgWCwgdGhhbmtzIHRvDQorICAgICAgRGF2aWQgQmFycmV0dCBhbmQgRHVzYW4gU2VtZW4NCisNCis9IFZlcnNpb24gMC44IHJlbGVhc2VkIG9uIDIwMDctMTAtMjANCisNCisgICAgKiBNb2RpZmllZCB0aGUgSE1BQyBmdW5jdGlvbnMgdG8gaGFuZGxlIGtleXMgbGFyZ2VyDQorICAgICAgdGhhbiA2NCBieXRlcywgdGhhbmtzIHRvIFN0ZXBoYW5lIERlc25ldXggYW5kIGdhcnkgbmcNCisgICAgKiBGaXhlZCBzc2xfcmVhZF9yZWNvcmQoKSB0byBwcm9wZXJseSB1cGRhdGUgdGhlIGhhbmRzaGFrZQ0KKyAgICAgIG1lc3NhZ2UgZGlnZXN0cywgd2hpY2ggZml4ZXMgSUU2L0lFNyBjbGllbnQgYXV0aGVudGljYXRpb24NCisgICAgKiBDbGVhbmVkIHVwIHRoZSBYWVNTTCogI2RlZmluZXMsIHN1Z2dlc3RlZCBieSBBenJpZWwgRmFzdGVuDQorICAgICogRml4ZWQgbmV0X3JlY3YoKSwgdGhhbmtzIHRvIExvcmVueiBTY2hvcmkgYW5kIEVnb24gS29jamFuDQorICAgICogQWRkZWQgdXNlci1kZWZpbmVkIGNhbGxiYWNrcyBmb3IgaGFuZGxpbmcgSS9PIGFuZCBzZXNzaW9ucw0KKyAgICAqIEFkZGVkIGxvdHMgb2YgZGVidWdnaW5nIG91dHB1dCBpbiB0aGUgU1NML1RMUyBmdW5jdGlvbnMNCisgICAgKiBBZGRlZCBwcmVsaW1pbmFyeSBYLjUwOSBjZXJ0LiB3cml0aW5nIGJ5IFBhc2NhbCBWaXplbGkNCisgICAgKiBBZGRlZCBwcmVsaW1pbmFyeSBzdXBwb3J0IGZvciB0aGUgVklBIFBhZExvY2sgcm91dGluZXMNCisgICAgKiBBZGRlZCBBRVMtQ0ZCIG1vZGUgb2Ygb3BlcmF0aW9uLCBjb250cmlidXRlZCBieSBjaG1pa2UNCisgICAgKiBBZGRlZCBhbiBTU0wvVExTIHN0cmVzcyB0ZXN0aW5nIHByb2dyYW0gKHNzbF90ZXN0LmMpDQorICAgICogVXBkYXRlZCB0aGUgUlNBIFBLQ1MjMSBjb2RlIHRvIGFsbG93IGNob29zaW5nIGJldHdlZW4NCisgICAgICBSU0FfUFVCTElDIGFuZCBSU0FfUFJJVkFURSwgYXMgc3VnZ2VzdGVkIGJ5IERhdmlkIEJhcnJldHQNCisgICAgKiBVcGRhdGVkIHNzbF9yZWFkKCkgdG8gc2tpcCAwLWxlbmd0aCByZWNvcmRzIGZyb20gT3BlblNTTA0KKyAgICAqIEZpeGVkIHRoZSBtYWtlIGluc3RhbGwgdGFyZ2V0IHRvIGNvbXBseSB3aXRoICpCU0QgbWFrZQ0KKyAgICAqIEZpeGVkIGEgYnVnIGluIG1waV9yZWFkX2JpbmFyeSgpIG9uIDY0LWJpdCBwbGF0Zm9ybXMNCisgICAgKiBtcGlfaXNfcHJpbWUoKSBzcGVlZHVwcywgdGhhbmtzIHRvIEtldmluIE1jTGF1Z2hsaW4NCisgICAgKiBGaXhlZCBhIGxvbmcgc3RhbmRpbmcgbWVtb3J5IGxlYWsgaW4gbXBpX2lzX3ByaW1lKCkNCisgICAgKiBSZXBsYWNlZCByZWFsbG9jIHdpdGggbWFsbG9jIGluIG1waV9ncm93KCksIGFuZCBzZXQNCisgICAgICB0aGUgc2lnbiBvZiB6ZXJvIGFzIHBvc2l0aXZlIGluIG1waV9pbml0KCkgKHJlcG9ydGVkDQorICAgICAgYnkgSm9uYXRoYW4gTS4gTWNDdW5lKQ0KKw0KKz0gVmVyc2lvbiAwLjcgcmVsZWFzZWQgb24gMjAwNy0wNy0wNw0KKw0KKyAgICAqIEFkZGVkIHN1cHBvcnQgZm9yIHRoZSBNaWNyb0JsYXplIHNvZnQtY29yZSBwcm9jZXNzb3INCisgICAgKiBGaXhlZCBhIGJ1ZyBpbiBzc2xfdGxzLmMgd2hpY2ggc29tZXRpbWVzIHByZXZlbnRlZCBTU0wNCisgICAgICBjb25uZWN0aW9ucyBmcm9tIGJlaW5nIGVzdGFibGlzaGVkIHdpdGggbm9uLWJsb2NraW5nIEkvTw0KKyAgICAqIEZpeGVkIGEgY291cGxlIGJ1Z3MgaW4gdGhlIFZTNiBhbmQgVU5JWCBNYWtlZmlsZXMNCisgICAgKiBGaXhlZCB0aGUgIlBJQyByZWdpc3RlciBlYnggY2xvYmJlcmVkIGluIGFzbSIgYnVnDQorICAgICogQWRkZWQgSE1BQyBzdGFydHMvdXBkYXRlL2ZpbmlzaCBzdXBwb3J0IGZ1bmN0aW9ucw0KKyAgICAqIEFkZGVkIHRoZSBTSEEtMjI0LCBTSEEtMzg0IGFuZCBTSEEtNTEyIGhhc2ggZnVuY3Rpb25zDQorICAgICogRml4ZWQgdGhlIG5ldF9zZXRfKmJsb2NrIHJvdXRpbmVzLCB0aGFua3MgdG8gQW5kcmVhcw0KKyAgICAqIEFkZGVkIGEgZmV3IGRlbW9uc3RyYXRpb24gcHJvZ3JhbXM6IG1kNXN1bSwgc2hhMXN1bSwNCisgICAgICBkaF9jbGllbnQsIGRoX3NlcnZlciwgcnNhX2dlbmtleSwgcnNhX3NpZ24sIHJzYV92ZXJpZnkNCisgICAgKiBBZGRlZCBuZXcgYmlnbnVtIGltcG9ydCBhbmQgZXhwb3J0IGhlbHBlciBmdW5jdGlvbnMNCisgICAgKiBSZXdyb3RlIFJFQURNRS50eHQgaW4gcHJvZ3JhbS9zc2wvY2EgdG8gYmV0dGVyIGV4cGxhaW4NCisgICAgICBob3cgdG8gY3JlYXRlIGEgdGVzdCBQS0kNCisNCis9IFZlcnNpb24gMC42IHJlbGVhc2VkIG9uIDIwMDctMDQtMDENCisNCisgICAgKiBDaXBoZXJzIHVzZWQgaW4gU1NML1RMUyBjYW4gbm93IGJlIGRpc2FibGVkIGF0IGNvbXBpbGUNCisgICAgICB0aW1lLCB0byByZWR1Y2UgdGhlIG1lbW9yeSBmb290cHJpbnQgb24gZW1iZWRkZWQgc3lzdGVtcw0KKyAgICAqIEFkZGVkIG11bHRpcGx5IGFzc2VtYmx5IGNvZGUgZm9yIHRoZSBUcmlDb3JlIGFuZCBtb2RpZmllZA0KKyAgICAgIGhhdmVnZV9zdHJ1Y3QgZm9yIHRoaXMgcHJvY2Vzc29yLCB0aGFua3MgdG8gRGF2aWQgUGF0afFvDQorICAgICogQWRkZWQgbXVsdGlwbHkgYXNzZW1ibHkgY29kZSBmb3IgNjQtYml0IFBvd2VyUENzLA0KKyAgICAgIHRoYW5rcyB0byBQZWtpbmcgVW5pdmVyc2l0eSBhbmQgdGhlIE9TVSBPcGVuIFNvdXJjZSBMYWINCisgICAgKiBBZGRlZCBleHBlcmltZW50YWwgc3VwcG9ydCBvZiBRdWFudHVtIENyeXB0b2dyYXBoeQ0KKyAgICAqIEFkZGVkIHN1cHBvcnQgZm9yIGF1dG9jb25mLCBjb250cmlidXRlZCBieSBBcm5hdWQgQ29ybmV0DQorICAgICogRml4ZWQgImxvbmcgbG9uZyIgY29tcGlsYXRpb24gaXNzdWVzIG9uIElBLTY0IGFuZCBQUEM2NA0KKyAgICAqIEZpeGVkIGEgYnVnIGludHJvZHVjZWQgaW4geHlzc2wtMC41L3RpbWluZy5jOiBoYXJkY2xvY2sNCisgICAgICB3YXMgbm90IGJlaW5nIGNvcnJlY3RseSBkZWZpbmVkIG9uIEFSTSBhbmQgTUlQUw0KKw0KKz0gVmVyc2lvbiAwLjUgcmVsZWFzZWQgb24gMjAwNy0wMy0wMQ0KKw0KKyAgICAqIEFkZGVkIG11bHRpcGx5IGFzc2VtYmx5IGNvZGUgZm9yIFNQQVJDIGFuZCBBbHBoYQ0KKyAgICAqIEFkZGVkIChiZXRhKSBzdXBwb3J0IGZvciBub24tYmxvY2tpbmcgSS9PIG9wZXJhdGlvbnMNCisgICAgKiBJbXBsZW1lbnRlZCBzZXNzaW9uIHJlc3VtaW5nIGFuZCBjbGllbnQgYXV0aGVudGljYXRpb24NCisgICAgKiBGaXhlZCBzb21lIHBvcnRhYmlsaXR5IGlzc3VlcyBvbiBXaW5DRSwgTUlOSVggMywgUGxhbjkNCisgICAgICAodGhhbmtzIHRvIEJlbmphbWluIE5ld21hbiksIEhQLVVYLCBGcmVlQlNEIGFuZCBTb2xhcmlzDQorICAgICogSW1wcm92ZWQgdGhlIHBlcmZvcm1hbmNlIG9mIHRoZSBFREgga2V5IGV4Y2hhbmdlDQorICAgICogRml4ZWQgYSBidWcgdGhhdCBjYXVzZWQgdmFsaWQgcGFja2V0cyB3aXRoIGEgcGF5bG9hZA0KKyAgICAgIHNpemUgb2YgMTYzODQgYnl0ZXMgdG8gYmUgcmVqZWN0ZWQNCisNCis9IFZlcnNpb24gMC40IHJlbGVhc2VkIG9uIDIwMDctMDItMDENCisNCisgICAgKiBBZGRlZCBzdXBwb3J0IGZvciBFcGhlbWVyYWwgRGlmZmllLUhlbGxtYW4ga2V5IGV4Y2hhbmdlDQorICAgICogQWRkZWQgbXVsdGlwbHkgYXNtIGNvZGUgZm9yIFNTRTIsIEFSTSwgUFBDLCBNSVBTIGFuZCBNNjhLDQorICAgICogVmFyaW91cyBpbXByb3ZlbWVudCB0byB0aGUgbW9kdWxhciBleHBvbmVudGlhdGlvbiBjb2RlDQorICAgICogUmV3cm90ZSB0aGUgaGVhZGVycyB0byBnZW5lcmF0ZSB0aGUgQVBJIGRvY3Mgd2l0aCBkb3h5Z2VuDQorICAgICogRml4ZWQgYSBidWcgaW4gc3NsX2VuY3J5cHRfYnVmIChpbmNvcnJlY3QgcGFkZGluZyB3YXMNCisgICAgICBnZW5lcmF0ZWQpIGFuZCBpbiBzc2xfcGFyc2VfY2xpZW50X2hlbGxvIChtYXguIGNsaWVudA0KKyAgICAgIHZlcnNpb24gd2FzIG5vdCBwcm9wZXJseSBzZXQpLCB0aGFua3MgdG8gRGlkaWVyIFJlYmVpeA0KKyAgICAqIEZpeGVkIGFub3RoZXIgYnVnIGluIHNzbF9wYXJzZV9jbGllbnRfaGVsbG86IGNsaWVudHMgd2l0aA0KKyAgICAgIGNpcGhlcmxpc3RzIGxhcmdlciB0aGFuIDk2IGJ5dGVzIHdlcmUgaW5jb3JyZWN0bHkgcmVqZWN0ZWQNCisgICAgKiBGaXhlZCBhIGNvdXBsZSBtZW1vcnkgbGVhayBpbiB4NTA5X3JlYWQuYw0KKw0KKz0gVmVyc2lvbiAwLjMgcmVsZWFzZWQgb24gMjAwNy0wMS0wMQ0KKw0KKyAgICAqIEFkZGVkIHNlcnZlci1zaWRlIFNTTHYzIGFuZCBUTFN2MS4wIHN1cHBvcnQNCisgICAgKiBNdWx0aXBsZSBmaXhlcyB0byBlbmhhbmNlIHRoZSBjb21wYXRpYmlsaXR5IHdpdGggZysrLA0KKyAgICAgIHRoYW5rcyB0byBYb3PpIEFudPNuIE90ZXJvIEZlcnJlaXJhDQorICAgICogRml4ZWQgYSBidWcgaW4gdGhlIENCQyBjb2RlLCB0aGFua3MgdG8gZG93c3Q7IGFsc28sDQorICAgICAgdGhlIGJpZ251bSBjb2RlIGlzIG5vIGxvbmdlciBkZXBlbmRhbnQgb24gbG9uZyBsb25nDQorICAgICogVXBkYXRlZCByc2FfcGtjczFfc2lnbiB0byBoYW5kbGUgYXJiaXRyYXJ5IGxhcmdlIGlucHV0cw0KKyAgICAqIFVwZGF0ZWQgdGltaW5nLmMgZm9yIGltcHJvdmVkIGNvbXBhdGliaWxpdHkgd2l0aCBpMzg2DQorICAgICAgYW5kIDQ4NiBwcm9jZXNzb3JzLCB0aGFua3MgdG8gQXJuYXVkIENvcm5ldA0KKw0KKz0gVmVyc2lvbiAwLjIgcmVsZWFzZWQgb24gMjAwNi0xMi0wMQ0KKw0KKyAgICAqIFVwZGF0ZWQgdGltaW5nLmMgdG8gc3VwcG9ydCBBUk0gYW5kIE1JUFMgYXJjaA0KKyAgICAqIFVwZGF0ZWQgdGhlIE1QSSBjb2RlIHRvIHN1cHBvcnQgODA4NiBvbiBNU1ZDIDEuNQ0KKyAgICAqIEFkZGVkIHRoZSBjb3B5cmlnaHQgbm90aWNlIGF0IHRoZSB0b3Agb2YgaGF2ZWdlLmgNCisgICAgKiBGaXhlZCBhIGJ1ZyBpbiBzaGEyX2htYWMsIHRoYW5rcyB0byBuZXdzb2Z0L1dlbmZhbmcgWmhhbmcNCisgICAgKiBGaXhlZCBhIGJ1ZyByZXBvcnRlZCBieSBBZHJpYW4gUvxlZ3NlZ2dlciBpbiB4NTA5X3JlYWRfa2V5DQorICAgICogRml4ZWQgYSBidWcgcmVwb3J0ZWQgYnkgVG9yc3RlbiBMYXV0ZXIgaW4gc3NsX3JlYWRfcmVjb3JkDQorICAgICogRml4ZWQgYSBidWcgaW4gcnNhX2NoZWNrX3ByaXZrZXkgdGhhdCB3b3VsZCB3cm9uZ2x5IGNhdXNlDQorICAgICAgdmFsaWQgUlNBIGtleXMgdG8gYmUgZGlzbWlzc2VkICh0aGFua3MgdG8gb2xkd29sZikNCisgICAgKiBGaXhlZCBhIGJ1ZyBpbiBtcGlfaXNfcHJpbWUgdGhhdCBjYXVzZWQgc29tZSBwcmltZXMgdG8gZmFpbA0KKyAgICAgIHRoZSBNaWxsZXItUmFiaW4gcHJpbWFsaXR5IHRlc3QNCisNCisgICAgSSdkIGFsc28gbGlrZSB0byB0aGFuayBZb3Vu6HMgSGFmcmkgZm9yIHRoZSBDUlVYIGxpbnV4IHBvcnQsDQorICAgIEtoYWxpbCBQZXRpdCB3aG8gYWRkZWQgWHlTU0wgaW50byBwa2dzcmMgYW5kIEFybmF1ZCBDb3JuZXQNCisgICAgd2hvIG1haW50YWlucyB0aGUgRGViaWFuIHBhY2thZ2UgOi0pDQorDQorPSBWZXJzaW9uIDAuMSByZWxlYXNlZCBvbiAyMDA2LTExLTAxDQorDQo=