All of lore.kernel.org
 help / color / mirror / Atom feed
diff for duplicates of <1494434821.4764.1.camel@primarydata.com>

diff --git a/a/1.txt b/N1/1.txt
index 532b593..0ea1e9a 100644
--- a/a/1.txt
+++ b/N1/1.txt
@@ -1,187 +1,226 @@
-SGkgTGludXMsDQoNClRoZSBmb2xsb3dpbmcgY2hhbmdlcyBzaW5jZSBjb21taXQgNGY3ZDAyOWI5
-YmYwMDlmYmVlNzZiYjEwYzBjNDM1MWExODcwZDJmMzoNCg0KICBMaW51eCA0LjExLXJjNyAoMjAx
-Ny0wNC0xNiAxMzowMDoxOCAtMDcwMCkNCg0KYXJlIGF2YWlsYWJsZSBpbiB0aGUgZ2l0IHJlcG9z
-aXRvcnkgYXQ6DQoNCiAgZ2l0Oi8vZ2l0LmxpbnV4LW5mcy5vcmcvcHJvamVjdHMvdHJvbmRteS9s
-aW51eC1uZnMuZ2l0IHRhZ3MvbmZzLWZvci00LjEyLTENCg0KZm9yIHlvdSB0byBmZXRjaCBjaGFu
-Z2VzIHVwIHRvIDc2YjJhMzAzMzg0ZTFkNjI5OWMzYTAyNDlmMGYwY2UyZjhmOTYwMTc6DQoNCiAg
-cE5GUy9mbGV4ZmlsZXM6IEFsd2F5cyBhdHRlbXB0IHRvIGNhbGwgbGF5b3V0c3RhdHMgd2hlbiBm
-bGV4ZmlsZXMgaXMgZW5hYmxlZCAoMjAxNy0wNS0wOSAxNjowMjo1NyAtMDQwMCkNCg0KLS0tLS0t
-LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
-LQ0KTkZTIGNsaWVudCB1cGRhdGVzIGZvciBMaW51eCA0LjEyDQoNCkhpZ2hsaWdodHMgaW5jbHVk
-ZToNCg0KU3RhYmxlIGJ1Z2ZpeGVzOg0KLSBGaXggdXNlIGFmdGVyIGZyZWUgaW4gd3JpdGUgZXJy
-b3IgcGF0aA0KLSBVc2UgR0ZQX05PSU8gZm9yIHR3byBhbGxvY2F0aW9ucyBpbiB3cml0ZWJhY2sN
-Ci0gRml4IGEgaGFuZyBpbiBPUEVOIHJlbGF0ZWQgdG8gc2VydmVyIHJlYm9vdA0KLSBDaGVjayB0
-aGUgcmVzdWx0IG9mIG5mczRfcG5mc19kc19jb25uZWN0DQotIEZpeCBhbiByY3UgbG9jayBsZWFr
-DQoNCkZlYXR1cmVzOg0KLSBSZW1vdmFsIG9mIHRoZSB1bm1haW50YWluZWQgYW5kIHVudXNlZCBP
-U0QgcE5GUyBsYXlvdXQNCi0gQ2xlYW51cCBhbmQgcmVtb3ZhbCBvZiBsb3RzIG9mIHVubmVjZXNz
-YXJ5IGRwcmludGsoKXMNCi0gQ2xlYW51cCBhbmQgcmVtb3ZhbCBvZiBzb21lIG1lbW9yeSBmYWls
-dXJlIHBhdGhzIG5vdyB0aGF0DQogIEdGUF9OT0ZTIGlzIGd1YXJhbnRlZWQgdG8gbmV2ZXIgZmFp
-bC4NCi0gUmVtb3ZlIHRoZSB2My1vbmx5IGRhdGEgc2VydmVyIGxpbWl0YXRpb24gb24gcE5GUy9m
-bGV4ZmlsZXMNCg0KQnVnZml4ZXM6DQotIFJQQy9SRE1BIGNvbm5lY3Rpb24gaGFuZGxpbmcgYnVn
-Zml4ZXMNCi0gQ29weSBvZmZsb2FkOiBmaXhlcyB0byBlbnN1cmUgdGhlIGNvcGllZCBkYXRhIGlz
-IENPTU1JVGVkIHRvIGRpc2suDQotIFJlYWRkaXI6IHN3aXRjaCBiYWNrIHRvIHVzaW5nIHRoZSAt
-Pml0ZXJhdGUgVkZTIGludGVyZmFjZQ0KLSBGaWxlIGxvY2tpbmcgZml4ZXMgZnJvbSBCZW4gQ29k
-ZGluZ3Rvbg0KLSBWYXJpb3VzIHVzZS1hZnRlci1mcmVlIGFuZCBkZWFkbG9jayBpc3N1ZXMgaW4g
-cE5GUw0KLSBXcml0ZSBwYXRoIGJ1Z2ZpeGVzDQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
-LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCkFubmEgU2NodW1ha2VyICgy
-OSk6DQogICAgICBORlM6IENsZWFuIHVwIGRvX2NhbGxiYWNrX2xheW91dHJlY2FsbCgpDQogICAg
-ICBORlM6IENsZWFuIHVwIG5mczRfY2FsbGJhY2tfbGF5b3V0cmVjYWxsKCkNCiAgICAgIE5GUzog
-UmVtb3ZlIGV4dHJhIGRwcmludGsoKXMgZnJvbSBjYWxsYmFja19wcm9jLmMNCiAgICAgIE5GUzog
-Q2xlYW4gdXAgZGVjb2RlX2dldGF0dHJfYXJncygpDQogICAgICBORlM6IENsZWFuIHVwIGRlY29k
-ZV9yZWNhbGxfYXJncygpDQogICAgICBORlM6IENsZWFuIHVwIGRlY29kZV9sYXlvdXRyZWNhbGxf
-YXJncygpDQogICAgICBORlM6IENsZWFuIHVwIGRlY29kZV9jYl9zZXF1ZW5jZV9hcmdzKCkNCiAg
-ICAgIE5GUzogQ2xlYW4gdXAgZGVjb2RlX25vdGlmeV9sb2NrX2FyZ3MoKQ0KICAgICAgTkZTOiBD
-bGVhbiB1cCBlbmNvZGVfY2Jfc2VxdWVuY2VfcmVzKCkNCiAgICAgIE5GUzogUmVtb3ZlIGV4dHJh
-IGRwcmludGsoKXMgZnJvbSBjYWxsYmFja194ZHIuYw0KICAgICAgTkZTOiBDbGVhbiB1cCBuZnNf
-aW5pdF9jbGllbnQoKQ0KICAgICAgTkZTOiBDbGVhbiB1cCBleHRyYSBkcHJpbnRrKClzIGluIGNs
-aWVudC5jDQogICAgICBORlM6IFJlbW92ZSBuZnNfZGlyZWN0X3JlYWRwYWdlX3JlbGVhc2UoKQ0K
-ICAgICAgTkZTOiBDbGVhbiB1cCBuZnNfZGlyZWN0X2NvbW1pdF9jb21wbGV0ZSgpDQogICAgICBO
-RlM6IFJlbW92ZSBleHRyYSBkcHJpbnRrKClzIGZyb20gbmFtZXNwYWNlLmMNCiAgICAgIE5GUzog
-Q2xlYW4gdXAgbmZzNDJfbGF5b3V0c3RhdF9kb25lKCkNCiAgICAgIE5GUzogQ2xlYW4gdXAgbmZz
-NF9tYXRjaF9jbGllbnRpZHMoKQ0KICAgICAgTkZTOiBDbGVhbiB1cCBuZnM0X2NoZWNrX3NlcnZl
-cm93bmVyX21pbm9yX2lkKCkNCiAgICAgIE5GUzogQ3JlYXRlIGEgY29tbW9uIG5mczRfbWF0Y2hf
-Y2xpZW50KCkgZnVuY3Rpb24NCiAgICAgIE5GUzogQ2xlYW4gdXAgbmZzNF9jaGVja19zZXJ2ZXJv
-d25lcl9tYWpvcl9pZCgpDQogICAgICBORlM6IENsZWFuIHVwIG5mczRfY2hlY2tfc2VydmVyX3Nj
-b3BlKCkNCiAgICAgIE5GUzogQ2xlYW4gdXAgbmZzNF9zZXRfY2xpZW50KCkNCiAgICAgIE5GUzog
-Q2xlYW4gdXAgbmZzNF9pbml0X3NlcnZlcigpDQogICAgICBORlM6IFJlbW92ZSBleHRyYSBkcHJp
-bnRrKClzIGZyb20gbmZzNGNsaWVudC5jDQogICAgICBORlM6IENsZWFuIHVwIG5mczRfZ2V0X3Jv
-b3RmaCgpDQogICAgICBORlM6IFJlbW92ZSBleHRyYSBkcHJpbnRrKClzIGZyb20gbmZzNG5hbWVz
-cGFjZS5jDQogICAgICBORlM6IENsZWFuIHVwIG5mczRfcHJvY19iaW5kX29uZV9jb25uX3RvX3Nl
-c3Npb24oKQ0KICAgICAgTkZTOiBDbGVhbiB1cCBfbmZzNF9wcm9jX2V4Y2hhbmdlX2lkKCkNCiAg
-ICAgIE5GUzogQ2xlYW4gdXAgbmZzNF9wcm9jX2dldF9sZWFzZV90aW1lKCkNCg0KQXJ0ZW0gU2F2
-a292ICgxKToNCiAgICAgIG5mcy9maWxlbGF5b3V0OiBmaXggTlVMTCBwb2ludGVyIGRlcmVmZXJl
-bmNlIGluIGZsX3BuZnNfdXBkYXRlX2xheW91dCgpDQoNCkJlbmphbWluIENvZGRpbmd0b24gKDEx
-KToNCiAgICAgIE5GUzogc3dpdGNoIGJhY2sgdG8gdG8gLT5pdGVyYXRlKCkNCiAgICAgIE5GUzog
-Rml4IG1pc3NpbmcgcGdfY2xlYW51cCBhZnRlciBuZnNfcGFnZWlvX2NvbmRfY29tcGxldGUoKQ0K
-ICAgICAgTkZTOiBVc2UgR0ZQX05PSU8gZm9yIHR3byBhbGxvY2F0aW9ucyBpbiB3cml0ZWJhY2sN
-CiAgICAgIE5GUzogbW92ZSBuZnNfcGdhcnJheV9zZXQoKSB0byBvcGVuIGNvZGUNCiAgICAgIE5G
-UzogbW92ZSByd19tb2RlIHRvIG5mc19wYWdlaW9faGVhZGVyDQogICAgICBORlM0OiByZW1vdmUg
-YSByZWR1bmRhbnQgbG9jayByYW5nZSBjaGVjaw0KICAgICAgTkZTOiBNb3ZlIHRoZSBmbG9jayBv
-cGVuIG1vZGUgY2hlY2sgaW50byBuZnNfZmxvY2soKQ0KICAgICAgbG9ja3M6IFNldCBGTF9DTE9T
-RSB3aGVuIHJlbW92aW5nIGZsb2NrIGxvY2tzIG9uIGNsb3NlKCkNCiAgICAgIE5GUzogQWRkIGFu
-IGlvY291bnRlciB3YWl0IGZ1bmN0aW9uIGZvciBhc3luYyBSUEMgdGFza3MNCiAgICAgIGxvY2tk
-OiBJbnRyb2R1Y2UgbmxtY2xudF9vcGVyYXRpb25zDQogICAgICBORlM6IEFsd2F5cyB3YWl0IGZv
-ciBJL08gY29tcGxldGlvbiBiZWZvcmUgdW5sb2NrDQoNCkNocmlzdG9waCBIZWxsd2lnICgxKToN
-CiAgICAgIG5mczogcmVtb3ZlIHRoZSBvYmpsYXlvdXQgZHJpdmVyDQoNCkNodWNrIExldmVyICgx
-Myk6DQogICAgICB4cHJ0cmRtYTogQ2FuY2VsIHJlZnJlc2ggd29ya2VyIGR1cmluZyBidWZmZXIg
-c2h1dGRvd24NCiAgICAgIHN1bnJwYzogRXhwb3J0IHhwcnRfZm9yY2VfZGlzY29ubmVjdCgpDQog
-ICAgICB4cHJ0cmRtYTogRGV0ZWN0IHVucmVhY2hhYmxlIE5GUy9SRE1BIHNlcnZlcnMgbW9yZSBy
-ZWxpYWJseQ0KICAgICAgeHBydHJkbWE6IFJlZmFjdG9yIHJwY3JkbWFfaWFfb3BlbigpDQogICAg
-ICB4cHJ0cmRtYTogVXNlIHNhbWUgZGV2aWNlIHdoZW4gbWFwcGluZyBvciBzeW5jaW5nIERNQSBi
-dWZmZXJzDQogICAgICB4cHJ0cmRtYTogU3VwcG9ydCB1bnBsdWdnaW5nIGFuIEhDQSBmcm9tIHVu
-ZGVyIGFuIE5GUyBtb3VudA0KICAgICAgeHBydHJkbWE6IFJlZmFjdG9yIHJwY3JkbWFfZXBfY29u
-bmVjdA0KICAgICAgeHBydHJkbWE6IFJlc3RvcmUgdHJhbnNwb3J0IGFmdGVyIGRldmljZSByZW1v
-dmFsDQogICAgICB4cHJ0cmRtYTogUmV2ZXJ0IGNvbW1pdCBkMGYzNmM0NmRlZWENCiAgICAgIHhw
-cnRyZG1hOiBBbm5vdGF0ZSByZWNlaXZlIHdvcmtxdWV1ZQ0KICAgICAgeHBydHJkbWE6IFNxdWVs
-Y2ggRU5PQlVGUyB3YXJuaW5ncw0KICAgICAgc3VucnBjOiBGaXggeGRyX2luaXRfZGVjb2RlX3Bh
-Z2VzKCkgZG9jdW1lbnRpbmcgY29tbWVudA0KICAgICAgeHBydHJkbWE6IFJlbW92ZSBycGNyZG1h
-X2J1ZmZlcjo6cmJfcG9vbA0KDQpEYXZlIFd5c29jaGFuc2tpICgxKToNCiAgICAgIEZpeCBuZnNf
-Y2xpZW50IHJlZmNvdW50aW5nIGlmIGttYWxsb2MgZmFpbHMgaW4gbmZzNF9wcm9jX2V4Y2hhbmdl
-X2lkIGFuZCBuZnM0X3Byb2NfYXN5bmNfcmVuZXcNCg0KRmFiaWFuIEZyZWRlcmljayAoMSk6DQog
-ICAgICBuZnM6IHVzZSBrbWFwL2t1bm1hcCBkaXJlY3RseQ0KDQpGcmVkIElzYW1hbiAoMik6DQog
-ICAgICBORlM6IEZpeCB1c2UgYWZ0ZXIgZnJlZSBpbiB3cml0ZSBlcnJvciBwYXRoDQogICAgICBw
-TkZTOiBGaXggTlVMTCBkZXJlZmVyZW5jZSBpbiBwbmZzX2dlbmVyaWNfYWxsb2NfZHNfY29tbWl0
-cw0KDQpIb3UgVGFvICgxKToNCiAgICAgIE5GUzogYWx3YXlzIHRyZWF0IHRoZSBpbnZvY2F0aW9u
-IG9mIG5mc19nZXRhdHRyIGFzIGNhY2hlIGhpdCB3aGVuIG5vYWMgaXMgb24NCg0KTmVpbEJyb3du
-ICgyKToNCiAgICAgIE5GUzogZml4IHVzYWdlIG9mIG1lbXBvb2xzLg0KICAgICAgc3VucnBjOiBk
-b24ndCBjaGVjayBmb3IgZmFpbHVyZSBmcm9tIG1lbXBvb2xfYWxsb2MoKQ0KDQpPbGdhIEtvcm5p
-ZXZza2FpYSAoMik6DQogICAgICBORlM0LjEgaGFuZGxlIGludGVycnVwdGVkIHNsb3QgcmV1c2Ug
-ZnJvbSBFUlJfREVMQVkNCiAgICAgIE5GUyBhcHBlbmQgQ09NTUlUIGFmdGVyIHN5bmNocm9ub3Vz
-IENPUFkNCg0KUGFuIEJpYW4gKDEpOg0KICAgICAgTkZTdjQ6IGNoZWNrIHJldHVybiB2YWx1ZSBv
-ZiB4ZHJfaW5saW5lX2RlY29kZQ0KDQpUaWdyYW4gTWtydGNoeWFuICgxKToNCiAgICAgIG5mczog
-ZmxleGZpbGVsYXlvdXQ6IHJlbW92ZSB2My1vbmx5IGRhdGEgc2VydmVyIGxpbWl0YXRpb24NCg0K
-VHJvbmQgTXlrbGVidXN0ICgyNCk6DQogICAgICBORlN2NDogRml4IGEgaGFuZyBpbiBPUEVOIHJl
-bGF0ZWQgdG8gc2VydmVyIHJlYm9vdA0KICAgICAgcE5GUy9mbGV4ZmlsZXM6IENoZWNrIHRoZSBy
-ZXN1bHQgb2YgbmZzNF9wbmZzX2RzX2Nvbm5lY3QNCiAgICAgIHBORlM6IFJlbW92ZSB1bnVzZWQg
-bGF5b3V0IGRyaXZlciBjYWxsYmFja3MNCiAgICAgIHBORlM6IFVuZXhwb3J0IHBuZnNfcHV0X2xz
-ZWdfbG9ja2VkIGFuZCBfcG5mc19yZXR1cm5fbGF5b3V0DQogICAgICBwTkZTOiB1bmV4cG9ydCBu
-ZnM0X3BuZnNfdjNfZHNfY29ubmVjdF91bmxvYWQNCiAgICAgIHBORlM6IEVuc3VyZSB3ZSBjaGVj
-ayBsYXlvdXQgc2VnbWVudCB2YWxpZGl0eSBpbiB0aGUgcGdfaW5pdCgpIGNhbGxiYWNrDQogICAg
-ICBwTkZTOiBGaXggdXNlIGFmdGVyIGZyZWUgaXNzdWVzIGluIHBuZnNfZG9fcmVhZCgpDQogICAg
-ICBORlM6IERvbid0IHdyaXRlIGJhY2sgZnVydGhlciByZXF1ZXN0cyBpZiB0aGVyZSBpcyBhIHBl
-bmRpbmcgd3JpdGUgZXJyb3INCiAgICAgIE5GU3YzOiBuZnMzX25sbV9hbGxvY19jYWxsIHNob3Vs
-ZCBiZSBkZWNsYXJlZCBzdGF0aWMNCiAgICAgIE1lcmdlIHRhZyAnbmZzLXJkbWEtNC4xMi0xJyBv
-ZiBnaXQ6Ly9naXQubGludXgtbmZzLm9yZy9wcm9qZWN0cy9hbm5hL25mcy1yZG1hDQogICAgICBO
-RlM6IEFkZCBhIGZldyBtb3JlIGZhdGFsIEkvTyBlcnJvcnMgdG8gbmZzX2Vycm9yX2lzX2ZhdGFs
-KCkNCiAgICAgIE5GU3Y0OiBEb24ndCBzcGVjaWFsIGNhc2UgImxhdW5kZXIiDQogICAgICBwTkZT
-OiBFbnN1cmUgd2UgY2hlY2sgbGF5b3V0IHZhbGlkaXR5IGJlZm9yZSBtYXJraW5nIGl0IGZvciBy
-ZXR1cm4NCiAgICAgIHBORlMvZmxleGZpbGVzOiBGaXggdXAgdGhlIGZmX2xheW91dF93cml0ZV9w
-YWdlbGlzdCBmYWlsdXJlIHBhdGgNCiAgICAgIHBORlM6IERvbid0IHNlbmQgQ09NTUlUcyB0byB0
-aGUgRFNlcyBpZiB0aGUgc2VydmVyIGludmFsaWRhdGVkIG91ciBsYXlvdXQNCiAgICAgIHBORlM6
-IEVuc3VyZSB3ZSBjb21taXQgdGhlIGxheW91dCBpZiBpdCBoYXMgYmVlbiBpbnZhbGlkYXRlZA0K
-ICAgICAgcE5GUzogRG9uJ3QgY2xlYXIgdGhlIGxheW91dCByZXR1cm4gaW5mbyBpZiB0aGVyZSBh
-cmUgc2VnbWVudHMgdG8gcmV0dXJuDQogICAgICBwTkZTOiBGaXggYSBkZWFkbG9jayB3aGVuIGNv
-YWxlc2Npbmcgd3JpdGVzIGFuZCByZXR1cm5pbmcgdGhlIGxheW91dA0KICAgICAgcE5GUzogRml4
-IGEgdHlwbyBpbiBwbmZzX2dlbmVyaWNfYWxsb2NfZHNfY29tbWl0cw0KICAgICAgTkZTdjQuMTog
-UkVDTEFJTV9DT01QTEVURSBtdXN0IGhhbmRsZSBORlM0RVJSX0NPTk5fTk9UX0JPVU5EX1RPX1NF
-U1NJT04NCiAgICAgIE5GU3Y0OiBGaXggYW4gcmN1IGxvY2sgbGVhaw0KICAgICAgTkZTdjQ6IEZp
-eCBleGNsdXNpdmUgY3JlYXRlIGF0dHJpYnV0ZXMgZW5jb2RpbmcNCiAgICAgIE5GU3Y0LjE6IFdv
-cmsgYXJvdW5kIGEgTGludXggc2VydmVyIGJ1Zy4uLg0KICAgICAgcE5GUy9mbGV4ZmlsZXM6IEFs
-d2F5cyBhdHRlbXB0IHRvIGNhbGwgbGF5b3V0c3RhdHMgd2hlbiBmbGV4ZmlsZXMgaXMgZW5hYmxl
-ZA0KDQogRG9jdW1lbnRhdGlvbi9hZG1pbi1ndWlkZS9rZXJuZWwtcGFyYW1ldGVycy50eHQgfCAg
-IDYgLQ0KIERvY3VtZW50YXRpb24vZmlsZXN5c3RlbXMvbmZzL3BuZnMudHh0ICAgICAgICAgIHwg
-IDM3IC0tDQogZnMvZnVzZS9maWxlLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
-fCAgIDIgKy0NCiBmcy9sb2NrZC9jbG50bG9jay5jICAgICAgICAgICAgICAgICAgICAgICAgICAg
-ICB8ICAgMSArDQogZnMvbG9ja2QvY2xudHByb2MuYyAgICAgICAgICAgICAgICAgICAgICAgICAg
-ICAgfCAgMjYgKy0NCiBmcy9sb2Nrcy5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
-ICAgICB8ICAgMiArLQ0KIGZzL25mcy9LY29uZmlnICAgICAgICAgICAgICAgICAgICAgICAgICAg
-ICAgICAgIHwgICA1IC0NCiBmcy9uZnMvTWFrZWZpbGUgICAgICAgICAgICAgICAgICAgICAgICAg
-ICAgICAgICB8ICAgMSAtDQogZnMvbmZzL2NhbGxiYWNrX3Byb2MuYyAgICAgICAgICAgICAgICAg
-ICAgICAgICAgfCAgNDcgKy0NCiBmcy9uZnMvY2FsbGJhY2tfeGRyLmMgICAgICAgICAgICAgICAg
-ICAgICAgICAgICB8IDEwOSArLS0tDQogZnMvbmZzL2NsaWVudC5jICAgICAgICAgICAgICAgICAg
-ICAgICAgICAgICAgICAgfCAgNjcgKy0tDQogZnMvbmZzL2Rpci5jICAgICAgICAgICAgICAgICAg
-ICAgICAgICAgICAgICAgICAgfCAxMDQgKy0tLQ0KIGZzL25mcy9kaXJlY3QuYyAgICAgICAgICAg
-ICAgICAgICAgICAgICAgICAgICAgIHwgIDIxICstDQogZnMvbmZzL2ZpbGUuYyAgICAgICAgICAg
-ICAgICAgICAgICAgICAgICAgICAgICAgfCAgMzAgKy0NCiBmcy9uZnMvZmlsZWxheW91dC9maWxl
-bGF5b3V0LmMgICAgICAgICAgICAgICAgICB8ICAgOCArLQ0KIGZzL25mcy9mbGV4ZmlsZWxheW91
-dC9mbGV4ZmlsZWxheW91dC5jICAgICAgICAgIHwgIDI0ICstDQogZnMvbmZzL2ZsZXhmaWxlbGF5
-b3V0L2ZsZXhmaWxlbGF5b3V0ZGV2LmMgICAgICAgfCAgMTAgKy0NCiBmcy9uZnMvaW5vZGUuYyAg
-ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgNSArLQ0KIGZzL25mcy9pbnRlcm5h
-bC5oICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICA1ICstDQogZnMvbmZzL25hbWVz
-cGFjZS5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMzQgKy0NCiBmcy9uZnMvbmZz
-M3Byb2MuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA1NCArLQ0KIGZzL25mcy9u
-ZnM0MnByb2MuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDI0ICstDQogZnMvbmZz
-L25mczQyeGRyLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMjIgKy0NCiBmcy9u
-ZnMvbmZzNGNsaWVudC5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDI4MyArKystLS0t
-LS0tDQogZnMvbmZzL25mczRnZXRyb290LmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAg
-IDMgLQ0KIGZzL25mcy9uZnM0bmFtZXNwYWNlLmMgICAgICAgICAgICAgICAgICAgICAgICAgIHwg
-ICA3ICstDQogZnMvbmZzL25mczRwcm9jLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
-fCAgOTkgKystLQ0KIGZzL25mcy9uZnM0c3RhdGUuYyAgICAgICAgICAgICAgICAgICAgICAgICAg
-ICAgIHwgIDEwICstDQogZnMvbmZzL25mczR4ZHIuYyAgICAgICAgICAgICAgICAgICAgICAgICAg
-ICAgICAgfCAgOTQgKystLQ0KIGZzL25mcy9vYmpsYXlvdXQvS2J1aWxkICAgICAgICAgICAgICAg
-ICAgICAgICAgIHwgICA1IC0NCiBmcy9uZnMvb2JqbGF5b3V0L29iamlvX29zZC5jICAgICAgICAg
-ICAgICAgICAgICB8IDY3NSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQogZnMvbmZzL29iamxheW91
-dC9vYmpsYXlvdXQuYyAgICAgICAgICAgICAgICAgICAgfCA3MDYgLS0tLS0tLS0tLS0tLS0tLS0t
-LS0tLS0tDQogZnMvbmZzL29iamxheW91dC9vYmpsYXlvdXQuaCAgICAgICAgICAgICAgICAgICAg
-fCAxODMgLS0tLS0tDQogZnMvbmZzL29iamxheW91dC9wbmZzX29zZF94ZHJfY2xpLmMgICAgICAg
-ICAgICAgfCA0MTUgLS0tLS0tLS0tLS0tLS0NCiBmcy9uZnMvcGFnZWxpc3QuYyAgICAgICAgICAg
-ICAgICAgICAgICAgICAgICAgICB8ICA3NyArKy0NCiBmcy9uZnMvcG5mcy5jICAgICAgICAgICAg
-ICAgICAgICAgICAgICAgICAgICAgICB8ICA2MiArKy0NCiBmcy9uZnMvcG5mcy5oICAgICAgICAg
-ICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgNiArLQ0KIGZzL25mcy9wbmZzX25mcy5jICAg
-ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDI0ICstDQogZnMvbmZzL3Byb2MuYyAgICAg
-ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDIgKy0NCiBmcy9uZnMvcmVhZC5jICAg
-ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgOSArLQ0KIGZzL25mcy93cml0ZS5j
-ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMTIxICsrLS0NCiBpbmNsdWRlL2xp
-bnV4L2ZzLmggICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMiArDQogaW5jbHVkZS9s
-aW51eC9sb2NrZC9iaW5kLmggICAgICAgICAgICAgICAgICAgICAgfCAgMjQgKy0NCiBpbmNsdWRl
-L2xpbnV4L2xvY2tkL2xvY2tkLmggICAgICAgICAgICAgICAgICAgICB8ICAgMiArDQogaW5jbHVk
-ZS9saW51eC9uZnNfZnMuaCAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMTcgKy0NCiBpbmNs
-dWRlL2xpbnV4L25mc19mc19zYi5oICAgICAgICAgICAgICAgICAgICAgICB8ICAgMSArDQogaW5j
-bHVkZS9saW51eC9uZnNfcGFnZS5oICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDUgKy0NCiBp
-bmNsdWRlL2xpbnV4L25mc194ZHIuaCAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMyArDQog
-bmV0L3N1bnJwYy9jbG50LmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDggLQ0K
-IG5ldC9zdW5ycGMvc2NoZWQuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICA1IC0N
-CiBuZXQvc3VucnBjL3hkci5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMiAr
-LQ0KIG5ldC9zdW5ycGMveHBydC5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAx
-ICsNCiBuZXQvc3VucnBjL3hwcnRyZG1hL3JwY19yZG1hLmMgICAgICAgICAgICAgICAgICB8ICAx
-MiArLQ0KIG5ldC9zdW5ycGMveHBydHJkbWEvdHJhbnNwb3J0LmMgICAgICAgICAgICAgICAgIHwg
-IDU3ICstDQogbmV0L3N1bnJwYy94cHJ0cmRtYS92ZXJicy5jICAgICAgICAgICAgICAgICAgICAg
-fCAzMjMgKysrKysrKy0tLS0NCiBuZXQvc3VucnBjL3hwcnRyZG1hL3hwcnRfcmRtYS5oICAgICAg
-ICAgICAgICAgICB8ICAyMiArLQ0KIDU2IGZpbGVzIGNoYW5nZWQsIDk0OSBpbnNlcnRpb25zKCsp
-LCAyOTYwIGRlbGV0aW9ucygtKQ0KIGRlbGV0ZSBtb2RlIDEwMDY0NCBmcy9uZnMvb2JqbGF5b3V0
-L0tidWlsZA0KIGRlbGV0ZSBtb2RlIDEwMDY0NCBmcy9uZnMvb2JqbGF5b3V0L29iamlvX29zZC5j
-DQogZGVsZXRlIG1vZGUgMTAwNjQ0IGZzL25mcy9vYmpsYXlvdXQvb2JqbGF5b3V0LmMNCiBkZWxl
-dGUgbW9kZSAxMDA2NDQgZnMvbmZzL29iamxheW91dC9vYmpsYXlvdXQuaA0KIGRlbGV0ZSBtb2Rl
-IDEwMDY0NCBmcy9uZnMvb2JqbGF5b3V0L3BuZnNfb3NkX3hkcl9jbGkuYw0KLS0gDQpUcm9uZCBN
-eWtsZWJ1c3QNCkxpbnV4IE5GUyBjbGllbnQgbWFpbnRhaW5lciwgUHJpbWFyeURhdGENCnRyb25k
-Lm15a2xlYnVzdEBwcmltYXJ5ZGF0YS5jb20NCg==
+Hi Linus,
+
+The following changes since commit 4f7d029b9bf009fbee76bb10c0c4351a1870d2f3:
+
+  Linux 4.11-rc7 (2017-04-16 13:00:18 -0700)
+
+are available in the git repository at:
+
+  git://git.linux-nfs.org/projects/trondmy/linux-nfs.git tags/nfs-for-4.12-1
+
+for you to fetch changes up to 76b2a303384e1d6299c3a0249f0f0ce2f8f96017:
+
+  pNFS/flexfiles: Always attempt to call layoutstats when flexfiles is enabled (2017-05-09 16:02:57 -0400)
+
+----------------------------------------------------------------
+NFS client updates for Linux 4.12
+
+Highlights include:
+
+Stable bugfixes:
+- Fix use after free in write error path
+- Use GFP_NOIO for two allocations in writeback
+- Fix a hang in OPEN related to server reboot
+- Check the result of nfs4_pnfs_ds_connect
+- Fix an rcu lock leak
+
+Features:
+- Removal of the unmaintained and unused OSD pNFS layout
+- Cleanup and removal of lots of unnecessary dprintk()s
+- Cleanup and removal of some memory failure paths now that
+  GFP_NOFS is guaranteed to never fail.
+- Remove the v3-only data server limitation on pNFS/flexfiles
+
+Bugfixes:
+- RPC/RDMA connection handling bugfixes
+- Copy offload: fixes to ensure the copied data is COMMITed to disk.
+- Readdir: switch back to using the ->iterate VFS interface
+- File locking fixes from Ben Coddington
+- Various use-after-free and deadlock issues in pNFS
+- Write path bugfixes
+
+----------------------------------------------------------------
+Anna Schumaker (29):
+      NFS: Clean up do_callback_layoutrecall()
+      NFS: Clean up nfs4_callback_layoutrecall()
+      NFS: Remove extra dprintk()s from callback_proc.c
+      NFS: Clean up decode_getattr_args()
+      NFS: Clean up decode_recall_args()
+      NFS: Clean up decode_layoutrecall_args()
+      NFS: Clean up decode_cb_sequence_args()
+      NFS: Clean up decode_notify_lock_args()
+      NFS: Clean up encode_cb_sequence_res()
+      NFS: Remove extra dprintk()s from callback_xdr.c
+      NFS: Clean up nfs_init_client()
+      NFS: Clean up extra dprintk()s in client.c
+      NFS: Remove nfs_direct_readpage_release()
+      NFS: Clean up nfs_direct_commit_complete()
+      NFS: Remove extra dprintk()s from namespace.c
+      NFS: Clean up nfs42_layoutstat_done()
+      NFS: Clean up nfs4_match_clientids()
+      NFS: Clean up nfs4_check_serverowner_minor_id()
+      NFS: Create a common nfs4_match_client() function
+      NFS: Clean up nfs4_check_serverowner_major_id()
+      NFS: Clean up nfs4_check_server_scope()
+      NFS: Clean up nfs4_set_client()
+      NFS: Clean up nfs4_init_server()
+      NFS: Remove extra dprintk()s from nfs4client.c
+      NFS: Clean up nfs4_get_rootfh()
+      NFS: Remove extra dprintk()s from nfs4namespace.c
+      NFS: Clean up nfs4_proc_bind_one_conn_to_session()
+      NFS: Clean up _nfs4_proc_exchange_id()
+      NFS: Clean up nfs4_proc_get_lease_time()
+
+Artem Savkov (1):
+      nfs/filelayout: fix NULL pointer dereference in fl_pnfs_update_layout()
+
+Benjamin Coddington (11):
+      NFS: switch back to to ->iterate()
+      NFS: Fix missing pg_cleanup after nfs_pageio_cond_complete()
+      NFS: Use GFP_NOIO for two allocations in writeback
+      NFS: move nfs_pgarray_set() to open code
+      NFS: move rw_mode to nfs_pageio_header
+      NFS4: remove a redundant lock range check
+      NFS: Move the flock open mode check into nfs_flock()
+      locks: Set FL_CLOSE when removing flock locks on close()
+      NFS: Add an iocounter wait function for async RPC tasks
+      lockd: Introduce nlmclnt_operations
+      NFS: Always wait for I/O completion before unlock
+
+Christoph Hellwig (1):
+      nfs: remove the objlayout driver
+
+Chuck Lever (13):
+      xprtrdma: Cancel refresh worker during buffer shutdown
+      sunrpc: Export xprt_force_disconnect()
+      xprtrdma: Detect unreachable NFS/RDMA servers more reliably
+      xprtrdma: Refactor rpcrdma_ia_open()
+      xprtrdma: Use same device when mapping or syncing DMA buffers
+      xprtrdma: Support unplugging an HCA from under an NFS mount
+      xprtrdma: Refactor rpcrdma_ep_connect
+      xprtrdma: Restore transport after device removal
+      xprtrdma: Revert commit d0f36c46deea
+      xprtrdma: Annotate receive workqueue
+      xprtrdma: Squelch ENOBUFS warnings
+      sunrpc: Fix xdr_init_decode_pages() documenting comment
+      xprtrdma: Remove rpcrdma_buffer::rb_pool
+
+Dave Wysochanski (1):
+      Fix nfs_client refcounting if kmalloc fails in nfs4_proc_exchange_id and nfs4_proc_async_renew
+
+Fabian Frederick (1):
+      nfs: use kmap/kunmap directly
+
+Fred Isaman (2):
+      NFS: Fix use after free in write error path
+      pNFS: Fix NULL dereference in pnfs_generic_alloc_ds_commits
+
+Hou Tao (1):
+      NFS: always treat the invocation of nfs_getattr as cache hit when noac is on
+
+NeilBrown (2):
+      NFS: fix usage of mempools.
+      sunrpc: don't check for failure from mempool_alloc()
+
+Olga Kornievskaia (2):
+      NFS4.1 handle interrupted slot reuse from ERR_DELAY
+      NFS append COMMIT after synchronous COPY
+
+Pan Bian (1):
+      NFSv4: check return value of xdr_inline_decode
+
+Tigran Mkrtchyan (1):
+      nfs: flexfilelayout: remove v3-only data server limitation
+
+Trond Myklebust (24):
+      NFSv4: Fix a hang in OPEN related to server reboot
+      pNFS/flexfiles: Check the result of nfs4_pnfs_ds_connect
+      pNFS: Remove unused layout driver callbacks
+      pNFS: Unexport pnfs_put_lseg_locked and _pnfs_return_layout
+      pNFS: unexport nfs4_pnfs_v3_ds_connect_unload
+      pNFS: Ensure we check layout segment validity in the pg_init() callback
+      pNFS: Fix use after free issues in pnfs_do_read()
+      NFS: Don't write back further requests if there is a pending write error
+      NFSv3: nfs3_nlm_alloc_call should be declared static
+      Merge tag 'nfs-rdma-4.12-1' of git://git.linux-nfs.org/projects/anna/nfs-rdma
+      NFS: Add a few more fatal I/O errors to nfs_error_is_fatal()
+      NFSv4: Don't special case "launder"
+      pNFS: Ensure we check layout validity before marking it for return
+      pNFS/flexfiles: Fix up the ff_layout_write_pagelist failure path
+      pNFS: Don't send COMMITs to the DSes if the server invalidated our layout
+      pNFS: Ensure we commit the layout if it has been invalidated
+      pNFS: Don't clear the layout return info if there are segments to return
+      pNFS: Fix a deadlock when coalescing writes and returning the layout
+      pNFS: Fix a typo in pnfs_generic_alloc_ds_commits
+      NFSv4.1: RECLAIM_COMPLETE must handle NFS4ERR_CONN_NOT_BOUND_TO_SESSION
+      NFSv4: Fix an rcu lock leak
+      NFSv4: Fix exclusive create attributes encoding
+      NFSv4.1: Work around a Linux server bug...
+      pNFS/flexfiles: Always attempt to call layoutstats when flexfiles is enabled
+
+ Documentation/admin-guide/kernel-parameters.txt |   6 -
+ Documentation/filesystems/nfs/pnfs.txt          |  37 --
+ fs/fuse/file.c                                  |   2 +-
+ fs/lockd/clntlock.c                             |   1 +
+ fs/lockd/clntproc.c                             |  26 +-
+ fs/locks.c                                      |   2 +-
+ fs/nfs/Kconfig                                  |   5 -
+ fs/nfs/Makefile                                 |   1 -
+ fs/nfs/callback_proc.c                          |  47 +-
+ fs/nfs/callback_xdr.c                           | 109 +---
+ fs/nfs/client.c                                 |  67 +--
+ fs/nfs/dir.c                                    | 104 +---
+ fs/nfs/direct.c                                 |  21 +-
+ fs/nfs/file.c                                   |  30 +-
+ fs/nfs/filelayout/filelayout.c                  |   8 +-
+ fs/nfs/flexfilelayout/flexfilelayout.c          |  24 +-
+ fs/nfs/flexfilelayout/flexfilelayoutdev.c       |  10 +-
+ fs/nfs/inode.c                                  |   5 +-
+ fs/nfs/internal.h                               |   5 +-
+ fs/nfs/namespace.c                              |  34 +-
+ fs/nfs/nfs3proc.c                               |  54 +-
+ fs/nfs/nfs42proc.c                              |  24 +-
+ fs/nfs/nfs42xdr.c                               |  22 +-
+ fs/nfs/nfs4client.c                             | 283 +++-------
+ fs/nfs/nfs4getroot.c                            |   3 -
+ fs/nfs/nfs4namespace.c                          |   7 +-
+ fs/nfs/nfs4proc.c                               |  99 ++--
+ fs/nfs/nfs4state.c                              |  10 +-
+ fs/nfs/nfs4xdr.c                                |  94 ++--
+ fs/nfs/objlayout/Kbuild                         |   5 -
+ fs/nfs/objlayout/objio_osd.c                    | 675 ----------------------
+ fs/nfs/objlayout/objlayout.c                    | 706 ------------------------
+ fs/nfs/objlayout/objlayout.h                    | 183 ------
+ fs/nfs/objlayout/pnfs_osd_xdr_cli.c             | 415 --------------
+ fs/nfs/pagelist.c                               |  77 ++-
+ fs/nfs/pnfs.c                                   |  62 ++-
+ fs/nfs/pnfs.h                                   |   6 +-
+ fs/nfs/pnfs_nfs.c                               |  24 +-
+ fs/nfs/proc.c                                   |   2 +-
+ fs/nfs/read.c                                   |   9 +-
+ fs/nfs/write.c                                  | 121 ++--
+ include/linux/fs.h                              |   2 +
+ include/linux/lockd/bind.h                      |  24 +-
+ include/linux/lockd/lockd.h                     |   2 +
+ include/linux/nfs_fs.h                          |  17 +-
+ include/linux/nfs_fs_sb.h                       |   1 +
+ include/linux/nfs_page.h                        |   5 +-
+ include/linux/nfs_xdr.h                         |   3 +
+ net/sunrpc/clnt.c                               |   8 -
+ net/sunrpc/sched.c                              |   5 -
+ net/sunrpc/xdr.c                                |   2 +-
+ net/sunrpc/xprt.c                               |   1 +
+ net/sunrpc/xprtrdma/rpc_rdma.c                  |  12 +-
+ net/sunrpc/xprtrdma/transport.c                 |  57 +-
+ net/sunrpc/xprtrdma/verbs.c                     | 323 +++++++----
+ net/sunrpc/xprtrdma/xprt_rdma.h                 |  22 +-
+ 56 files changed, 949 insertions(+), 2960 deletions(-)
+ delete mode 100644 fs/nfs/objlayout/Kbuild
+ delete mode 100644 fs/nfs/objlayout/objio_osd.c
+ delete mode 100644 fs/nfs/objlayout/objlayout.c
+ delete mode 100644 fs/nfs/objlayout/objlayout.h
+ delete mode 100644 fs/nfs/objlayout/pnfs_osd_xdr_cli.c
+-- 
+Trond Myklebust
+Linux NFS client maintainer, PrimaryData
+trond.myklebust@primarydata.com
diff --git a/a/content_digest b/N1/content_digest
index 7fd982e..3008a14 100644
--- a/a/content_digest
+++ b/N1/content_digest
@@ -6,192 +6,231 @@
  " linux-nfs@vger.kernel.org <linux-nfs@vger.kernel.org>\0"
  "\00:1\0"
  "b\0"
- "SGkgTGludXMsDQoNClRoZSBmb2xsb3dpbmcgY2hhbmdlcyBzaW5jZSBjb21taXQgNGY3ZDAyOWI5\n"
- "YmYwMDlmYmVlNzZiYjEwYzBjNDM1MWExODcwZDJmMzoNCg0KICBMaW51eCA0LjExLXJjNyAoMjAx\n"
- "Ny0wNC0xNiAxMzowMDoxOCAtMDcwMCkNCg0KYXJlIGF2YWlsYWJsZSBpbiB0aGUgZ2l0IHJlcG9z\n"
- "aXRvcnkgYXQ6DQoNCiAgZ2l0Oi8vZ2l0LmxpbnV4LW5mcy5vcmcvcHJvamVjdHMvdHJvbmRteS9s\n"
- "aW51eC1uZnMuZ2l0IHRhZ3MvbmZzLWZvci00LjEyLTENCg0KZm9yIHlvdSB0byBmZXRjaCBjaGFu\n"
- "Z2VzIHVwIHRvIDc2YjJhMzAzMzg0ZTFkNjI5OWMzYTAyNDlmMGYwY2UyZjhmOTYwMTc6DQoNCiAg\n"
- "cE5GUy9mbGV4ZmlsZXM6IEFsd2F5cyBhdHRlbXB0IHRvIGNhbGwgbGF5b3V0c3RhdHMgd2hlbiBm\n"
- "bGV4ZmlsZXMgaXMgZW5hYmxlZCAoMjAxNy0wNS0wOSAxNjowMjo1NyAtMDQwMCkNCg0KLS0tLS0t\n"
- "LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t\n"
- "LQ0KTkZTIGNsaWVudCB1cGRhdGVzIGZvciBMaW51eCA0LjEyDQoNCkhpZ2hsaWdodHMgaW5jbHVk\n"
- "ZToNCg0KU3RhYmxlIGJ1Z2ZpeGVzOg0KLSBGaXggdXNlIGFmdGVyIGZyZWUgaW4gd3JpdGUgZXJy\n"
- "b3IgcGF0aA0KLSBVc2UgR0ZQX05PSU8gZm9yIHR3byBhbGxvY2F0aW9ucyBpbiB3cml0ZWJhY2sN\n"
- "Ci0gRml4IGEgaGFuZyBpbiBPUEVOIHJlbGF0ZWQgdG8gc2VydmVyIHJlYm9vdA0KLSBDaGVjayB0\n"
- "aGUgcmVzdWx0IG9mIG5mczRfcG5mc19kc19jb25uZWN0DQotIEZpeCBhbiByY3UgbG9jayBsZWFr\n"
- "DQoNCkZlYXR1cmVzOg0KLSBSZW1vdmFsIG9mIHRoZSB1bm1haW50YWluZWQgYW5kIHVudXNlZCBP\n"
- "U0QgcE5GUyBsYXlvdXQNCi0gQ2xlYW51cCBhbmQgcmVtb3ZhbCBvZiBsb3RzIG9mIHVubmVjZXNz\n"
- "YXJ5IGRwcmludGsoKXMNCi0gQ2xlYW51cCBhbmQgcmVtb3ZhbCBvZiBzb21lIG1lbW9yeSBmYWls\n"
- "dXJlIHBhdGhzIG5vdyB0aGF0DQogIEdGUF9OT0ZTIGlzIGd1YXJhbnRlZWQgdG8gbmV2ZXIgZmFp\n"
- "bC4NCi0gUmVtb3ZlIHRoZSB2My1vbmx5IGRhdGEgc2VydmVyIGxpbWl0YXRpb24gb24gcE5GUy9m\n"
- "bGV4ZmlsZXMNCg0KQnVnZml4ZXM6DQotIFJQQy9SRE1BIGNvbm5lY3Rpb24gaGFuZGxpbmcgYnVn\n"
- "Zml4ZXMNCi0gQ29weSBvZmZsb2FkOiBmaXhlcyB0byBlbnN1cmUgdGhlIGNvcGllZCBkYXRhIGlz\n"
- "IENPTU1JVGVkIHRvIGRpc2suDQotIFJlYWRkaXI6IHN3aXRjaCBiYWNrIHRvIHVzaW5nIHRoZSAt\n"
- "Pml0ZXJhdGUgVkZTIGludGVyZmFjZQ0KLSBGaWxlIGxvY2tpbmcgZml4ZXMgZnJvbSBCZW4gQ29k\n"
- "ZGluZ3Rvbg0KLSBWYXJpb3VzIHVzZS1hZnRlci1mcmVlIGFuZCBkZWFkbG9jayBpc3N1ZXMgaW4g\n"
- "cE5GUw0KLSBXcml0ZSBwYXRoIGJ1Z2ZpeGVzDQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t\n"
- "LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCkFubmEgU2NodW1ha2VyICgy\n"
- "OSk6DQogICAgICBORlM6IENsZWFuIHVwIGRvX2NhbGxiYWNrX2xheW91dHJlY2FsbCgpDQogICAg\n"
- "ICBORlM6IENsZWFuIHVwIG5mczRfY2FsbGJhY2tfbGF5b3V0cmVjYWxsKCkNCiAgICAgIE5GUzog\n"
- "UmVtb3ZlIGV4dHJhIGRwcmludGsoKXMgZnJvbSBjYWxsYmFja19wcm9jLmMNCiAgICAgIE5GUzog\n"
- "Q2xlYW4gdXAgZGVjb2RlX2dldGF0dHJfYXJncygpDQogICAgICBORlM6IENsZWFuIHVwIGRlY29k\n"
- "ZV9yZWNhbGxfYXJncygpDQogICAgICBORlM6IENsZWFuIHVwIGRlY29kZV9sYXlvdXRyZWNhbGxf\n"
- "YXJncygpDQogICAgICBORlM6IENsZWFuIHVwIGRlY29kZV9jYl9zZXF1ZW5jZV9hcmdzKCkNCiAg\n"
- "ICAgIE5GUzogQ2xlYW4gdXAgZGVjb2RlX25vdGlmeV9sb2NrX2FyZ3MoKQ0KICAgICAgTkZTOiBD\n"
- "bGVhbiB1cCBlbmNvZGVfY2Jfc2VxdWVuY2VfcmVzKCkNCiAgICAgIE5GUzogUmVtb3ZlIGV4dHJh\n"
- "IGRwcmludGsoKXMgZnJvbSBjYWxsYmFja194ZHIuYw0KICAgICAgTkZTOiBDbGVhbiB1cCBuZnNf\n"
- "aW5pdF9jbGllbnQoKQ0KICAgICAgTkZTOiBDbGVhbiB1cCBleHRyYSBkcHJpbnRrKClzIGluIGNs\n"
- "aWVudC5jDQogICAgICBORlM6IFJlbW92ZSBuZnNfZGlyZWN0X3JlYWRwYWdlX3JlbGVhc2UoKQ0K\n"
- "ICAgICAgTkZTOiBDbGVhbiB1cCBuZnNfZGlyZWN0X2NvbW1pdF9jb21wbGV0ZSgpDQogICAgICBO\n"
- "RlM6IFJlbW92ZSBleHRyYSBkcHJpbnRrKClzIGZyb20gbmFtZXNwYWNlLmMNCiAgICAgIE5GUzog\n"
- "Q2xlYW4gdXAgbmZzNDJfbGF5b3V0c3RhdF9kb25lKCkNCiAgICAgIE5GUzogQ2xlYW4gdXAgbmZz\n"
- "NF9tYXRjaF9jbGllbnRpZHMoKQ0KICAgICAgTkZTOiBDbGVhbiB1cCBuZnM0X2NoZWNrX3NlcnZl\n"
- "cm93bmVyX21pbm9yX2lkKCkNCiAgICAgIE5GUzogQ3JlYXRlIGEgY29tbW9uIG5mczRfbWF0Y2hf\n"
- "Y2xpZW50KCkgZnVuY3Rpb24NCiAgICAgIE5GUzogQ2xlYW4gdXAgbmZzNF9jaGVja19zZXJ2ZXJv\n"
- "d25lcl9tYWpvcl9pZCgpDQogICAgICBORlM6IENsZWFuIHVwIG5mczRfY2hlY2tfc2VydmVyX3Nj\n"
- "b3BlKCkNCiAgICAgIE5GUzogQ2xlYW4gdXAgbmZzNF9zZXRfY2xpZW50KCkNCiAgICAgIE5GUzog\n"
- "Q2xlYW4gdXAgbmZzNF9pbml0X3NlcnZlcigpDQogICAgICBORlM6IFJlbW92ZSBleHRyYSBkcHJp\n"
- "bnRrKClzIGZyb20gbmZzNGNsaWVudC5jDQogICAgICBORlM6IENsZWFuIHVwIG5mczRfZ2V0X3Jv\n"
- "b3RmaCgpDQogICAgICBORlM6IFJlbW92ZSBleHRyYSBkcHJpbnRrKClzIGZyb20gbmZzNG5hbWVz\n"
- "cGFjZS5jDQogICAgICBORlM6IENsZWFuIHVwIG5mczRfcHJvY19iaW5kX29uZV9jb25uX3RvX3Nl\n"
- "c3Npb24oKQ0KICAgICAgTkZTOiBDbGVhbiB1cCBfbmZzNF9wcm9jX2V4Y2hhbmdlX2lkKCkNCiAg\n"
- "ICAgIE5GUzogQ2xlYW4gdXAgbmZzNF9wcm9jX2dldF9sZWFzZV90aW1lKCkNCg0KQXJ0ZW0gU2F2\n"
- "a292ICgxKToNCiAgICAgIG5mcy9maWxlbGF5b3V0OiBmaXggTlVMTCBwb2ludGVyIGRlcmVmZXJl\n"
- "bmNlIGluIGZsX3BuZnNfdXBkYXRlX2xheW91dCgpDQoNCkJlbmphbWluIENvZGRpbmd0b24gKDEx\n"
- "KToNCiAgICAgIE5GUzogc3dpdGNoIGJhY2sgdG8gdG8gLT5pdGVyYXRlKCkNCiAgICAgIE5GUzog\n"
- "Rml4IG1pc3NpbmcgcGdfY2xlYW51cCBhZnRlciBuZnNfcGFnZWlvX2NvbmRfY29tcGxldGUoKQ0K\n"
- "ICAgICAgTkZTOiBVc2UgR0ZQX05PSU8gZm9yIHR3byBhbGxvY2F0aW9ucyBpbiB3cml0ZWJhY2sN\n"
- "CiAgICAgIE5GUzogbW92ZSBuZnNfcGdhcnJheV9zZXQoKSB0byBvcGVuIGNvZGUNCiAgICAgIE5G\n"
- "UzogbW92ZSByd19tb2RlIHRvIG5mc19wYWdlaW9faGVhZGVyDQogICAgICBORlM0OiByZW1vdmUg\n"
- "YSByZWR1bmRhbnQgbG9jayByYW5nZSBjaGVjaw0KICAgICAgTkZTOiBNb3ZlIHRoZSBmbG9jayBv\n"
- "cGVuIG1vZGUgY2hlY2sgaW50byBuZnNfZmxvY2soKQ0KICAgICAgbG9ja3M6IFNldCBGTF9DTE9T\n"
- "RSB3aGVuIHJlbW92aW5nIGZsb2NrIGxvY2tzIG9uIGNsb3NlKCkNCiAgICAgIE5GUzogQWRkIGFu\n"
- "IGlvY291bnRlciB3YWl0IGZ1bmN0aW9uIGZvciBhc3luYyBSUEMgdGFza3MNCiAgICAgIGxvY2tk\n"
- "OiBJbnRyb2R1Y2UgbmxtY2xudF9vcGVyYXRpb25zDQogICAgICBORlM6IEFsd2F5cyB3YWl0IGZv\n"
- "ciBJL08gY29tcGxldGlvbiBiZWZvcmUgdW5sb2NrDQoNCkNocmlzdG9waCBIZWxsd2lnICgxKToN\n"
- "CiAgICAgIG5mczogcmVtb3ZlIHRoZSBvYmpsYXlvdXQgZHJpdmVyDQoNCkNodWNrIExldmVyICgx\n"
- "Myk6DQogICAgICB4cHJ0cmRtYTogQ2FuY2VsIHJlZnJlc2ggd29ya2VyIGR1cmluZyBidWZmZXIg\n"
- "c2h1dGRvd24NCiAgICAgIHN1bnJwYzogRXhwb3J0IHhwcnRfZm9yY2VfZGlzY29ubmVjdCgpDQog\n"
- "ICAgICB4cHJ0cmRtYTogRGV0ZWN0IHVucmVhY2hhYmxlIE5GUy9SRE1BIHNlcnZlcnMgbW9yZSBy\n"
- "ZWxpYWJseQ0KICAgICAgeHBydHJkbWE6IFJlZmFjdG9yIHJwY3JkbWFfaWFfb3BlbigpDQogICAg\n"
- "ICB4cHJ0cmRtYTogVXNlIHNhbWUgZGV2aWNlIHdoZW4gbWFwcGluZyBvciBzeW5jaW5nIERNQSBi\n"
- "dWZmZXJzDQogICAgICB4cHJ0cmRtYTogU3VwcG9ydCB1bnBsdWdnaW5nIGFuIEhDQSBmcm9tIHVu\n"
- "ZGVyIGFuIE5GUyBtb3VudA0KICAgICAgeHBydHJkbWE6IFJlZmFjdG9yIHJwY3JkbWFfZXBfY29u\n"
- "bmVjdA0KICAgICAgeHBydHJkbWE6IFJlc3RvcmUgdHJhbnNwb3J0IGFmdGVyIGRldmljZSByZW1v\n"
- "dmFsDQogICAgICB4cHJ0cmRtYTogUmV2ZXJ0IGNvbW1pdCBkMGYzNmM0NmRlZWENCiAgICAgIHhw\n"
- "cnRyZG1hOiBBbm5vdGF0ZSByZWNlaXZlIHdvcmtxdWV1ZQ0KICAgICAgeHBydHJkbWE6IFNxdWVs\n"
- "Y2ggRU5PQlVGUyB3YXJuaW5ncw0KICAgICAgc3VucnBjOiBGaXggeGRyX2luaXRfZGVjb2RlX3Bh\n"
- "Z2VzKCkgZG9jdW1lbnRpbmcgY29tbWVudA0KICAgICAgeHBydHJkbWE6IFJlbW92ZSBycGNyZG1h\n"
- "X2J1ZmZlcjo6cmJfcG9vbA0KDQpEYXZlIFd5c29jaGFuc2tpICgxKToNCiAgICAgIEZpeCBuZnNf\n"
- "Y2xpZW50IHJlZmNvdW50aW5nIGlmIGttYWxsb2MgZmFpbHMgaW4gbmZzNF9wcm9jX2V4Y2hhbmdl\n"
- "X2lkIGFuZCBuZnM0X3Byb2NfYXN5bmNfcmVuZXcNCg0KRmFiaWFuIEZyZWRlcmljayAoMSk6DQog\n"
- "ICAgICBuZnM6IHVzZSBrbWFwL2t1bm1hcCBkaXJlY3RseQ0KDQpGcmVkIElzYW1hbiAoMik6DQog\n"
- "ICAgICBORlM6IEZpeCB1c2UgYWZ0ZXIgZnJlZSBpbiB3cml0ZSBlcnJvciBwYXRoDQogICAgICBw\n"
- "TkZTOiBGaXggTlVMTCBkZXJlZmVyZW5jZSBpbiBwbmZzX2dlbmVyaWNfYWxsb2NfZHNfY29tbWl0\n"
- "cw0KDQpIb3UgVGFvICgxKToNCiAgICAgIE5GUzogYWx3YXlzIHRyZWF0IHRoZSBpbnZvY2F0aW9u\n"
- "IG9mIG5mc19nZXRhdHRyIGFzIGNhY2hlIGhpdCB3aGVuIG5vYWMgaXMgb24NCg0KTmVpbEJyb3du\n"
- "ICgyKToNCiAgICAgIE5GUzogZml4IHVzYWdlIG9mIG1lbXBvb2xzLg0KICAgICAgc3VucnBjOiBk\n"
- "b24ndCBjaGVjayBmb3IgZmFpbHVyZSBmcm9tIG1lbXBvb2xfYWxsb2MoKQ0KDQpPbGdhIEtvcm5p\n"
- "ZXZza2FpYSAoMik6DQogICAgICBORlM0LjEgaGFuZGxlIGludGVycnVwdGVkIHNsb3QgcmV1c2Ug\n"
- "ZnJvbSBFUlJfREVMQVkNCiAgICAgIE5GUyBhcHBlbmQgQ09NTUlUIGFmdGVyIHN5bmNocm9ub3Vz\n"
- "IENPUFkNCg0KUGFuIEJpYW4gKDEpOg0KICAgICAgTkZTdjQ6IGNoZWNrIHJldHVybiB2YWx1ZSBv\n"
- "ZiB4ZHJfaW5saW5lX2RlY29kZQ0KDQpUaWdyYW4gTWtydGNoeWFuICgxKToNCiAgICAgIG5mczog\n"
- "ZmxleGZpbGVsYXlvdXQ6IHJlbW92ZSB2My1vbmx5IGRhdGEgc2VydmVyIGxpbWl0YXRpb24NCg0K\n"
- "VHJvbmQgTXlrbGVidXN0ICgyNCk6DQogICAgICBORlN2NDogRml4IGEgaGFuZyBpbiBPUEVOIHJl\n"
- "bGF0ZWQgdG8gc2VydmVyIHJlYm9vdA0KICAgICAgcE5GUy9mbGV4ZmlsZXM6IENoZWNrIHRoZSBy\n"
- "ZXN1bHQgb2YgbmZzNF9wbmZzX2RzX2Nvbm5lY3QNCiAgICAgIHBORlM6IFJlbW92ZSB1bnVzZWQg\n"
- "bGF5b3V0IGRyaXZlciBjYWxsYmFja3MNCiAgICAgIHBORlM6IFVuZXhwb3J0IHBuZnNfcHV0X2xz\n"
- "ZWdfbG9ja2VkIGFuZCBfcG5mc19yZXR1cm5fbGF5b3V0DQogICAgICBwTkZTOiB1bmV4cG9ydCBu\n"
- "ZnM0X3BuZnNfdjNfZHNfY29ubmVjdF91bmxvYWQNCiAgICAgIHBORlM6IEVuc3VyZSB3ZSBjaGVj\n"
- "ayBsYXlvdXQgc2VnbWVudCB2YWxpZGl0eSBpbiB0aGUgcGdfaW5pdCgpIGNhbGxiYWNrDQogICAg\n"
- "ICBwTkZTOiBGaXggdXNlIGFmdGVyIGZyZWUgaXNzdWVzIGluIHBuZnNfZG9fcmVhZCgpDQogICAg\n"
- "ICBORlM6IERvbid0IHdyaXRlIGJhY2sgZnVydGhlciByZXF1ZXN0cyBpZiB0aGVyZSBpcyBhIHBl\n"
- "bmRpbmcgd3JpdGUgZXJyb3INCiAgICAgIE5GU3YzOiBuZnMzX25sbV9hbGxvY19jYWxsIHNob3Vs\n"
- "ZCBiZSBkZWNsYXJlZCBzdGF0aWMNCiAgICAgIE1lcmdlIHRhZyAnbmZzLXJkbWEtNC4xMi0xJyBv\n"
- "ZiBnaXQ6Ly9naXQubGludXgtbmZzLm9yZy9wcm9qZWN0cy9hbm5hL25mcy1yZG1hDQogICAgICBO\n"
- "RlM6IEFkZCBhIGZldyBtb3JlIGZhdGFsIEkvTyBlcnJvcnMgdG8gbmZzX2Vycm9yX2lzX2ZhdGFs\n"
- "KCkNCiAgICAgIE5GU3Y0OiBEb24ndCBzcGVjaWFsIGNhc2UgImxhdW5kZXIiDQogICAgICBwTkZT\n"
- "OiBFbnN1cmUgd2UgY2hlY2sgbGF5b3V0IHZhbGlkaXR5IGJlZm9yZSBtYXJraW5nIGl0IGZvciBy\n"
- "ZXR1cm4NCiAgICAgIHBORlMvZmxleGZpbGVzOiBGaXggdXAgdGhlIGZmX2xheW91dF93cml0ZV9w\n"
- "YWdlbGlzdCBmYWlsdXJlIHBhdGgNCiAgICAgIHBORlM6IERvbid0IHNlbmQgQ09NTUlUcyB0byB0\n"
- "aGUgRFNlcyBpZiB0aGUgc2VydmVyIGludmFsaWRhdGVkIG91ciBsYXlvdXQNCiAgICAgIHBORlM6\n"
- "IEVuc3VyZSB3ZSBjb21taXQgdGhlIGxheW91dCBpZiBpdCBoYXMgYmVlbiBpbnZhbGlkYXRlZA0K\n"
- "ICAgICAgcE5GUzogRG9uJ3QgY2xlYXIgdGhlIGxheW91dCByZXR1cm4gaW5mbyBpZiB0aGVyZSBh\n"
- "cmUgc2VnbWVudHMgdG8gcmV0dXJuDQogICAgICBwTkZTOiBGaXggYSBkZWFkbG9jayB3aGVuIGNv\n"
- "YWxlc2Npbmcgd3JpdGVzIGFuZCByZXR1cm5pbmcgdGhlIGxheW91dA0KICAgICAgcE5GUzogRml4\n"
- "IGEgdHlwbyBpbiBwbmZzX2dlbmVyaWNfYWxsb2NfZHNfY29tbWl0cw0KICAgICAgTkZTdjQuMTog\n"
- "UkVDTEFJTV9DT01QTEVURSBtdXN0IGhhbmRsZSBORlM0RVJSX0NPTk5fTk9UX0JPVU5EX1RPX1NF\n"
- "U1NJT04NCiAgICAgIE5GU3Y0OiBGaXggYW4gcmN1IGxvY2sgbGVhaw0KICAgICAgTkZTdjQ6IEZp\n"
- "eCBleGNsdXNpdmUgY3JlYXRlIGF0dHJpYnV0ZXMgZW5jb2RpbmcNCiAgICAgIE5GU3Y0LjE6IFdv\n"
- "cmsgYXJvdW5kIGEgTGludXggc2VydmVyIGJ1Zy4uLg0KICAgICAgcE5GUy9mbGV4ZmlsZXM6IEFs\n"
- "d2F5cyBhdHRlbXB0IHRvIGNhbGwgbGF5b3V0c3RhdHMgd2hlbiBmbGV4ZmlsZXMgaXMgZW5hYmxl\n"
- "ZA0KDQogRG9jdW1lbnRhdGlvbi9hZG1pbi1ndWlkZS9rZXJuZWwtcGFyYW1ldGVycy50eHQgfCAg\n"
- "IDYgLQ0KIERvY3VtZW50YXRpb24vZmlsZXN5c3RlbXMvbmZzL3BuZnMudHh0ICAgICAgICAgIHwg\n"
- "IDM3IC0tDQogZnMvZnVzZS9maWxlLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\n"
- "fCAgIDIgKy0NCiBmcy9sb2NrZC9jbG50bG9jay5jICAgICAgICAgICAgICAgICAgICAgICAgICAg\n"
- "ICB8ICAgMSArDQogZnMvbG9ja2QvY2xudHByb2MuYyAgICAgICAgICAgICAgICAgICAgICAgICAg\n"
- "ICAgfCAgMjYgKy0NCiBmcy9sb2Nrcy5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\n"
- "ICAgICB8ICAgMiArLQ0KIGZzL25mcy9LY29uZmlnICAgICAgICAgICAgICAgICAgICAgICAgICAg\n"
- "ICAgICAgIHwgICA1IC0NCiBmcy9uZnMvTWFrZWZpbGUgICAgICAgICAgICAgICAgICAgICAgICAg\n"
- "ICAgICAgICB8ICAgMSAtDQogZnMvbmZzL2NhbGxiYWNrX3Byb2MuYyAgICAgICAgICAgICAgICAg\n"
- "ICAgICAgICAgfCAgNDcgKy0NCiBmcy9uZnMvY2FsbGJhY2tfeGRyLmMgICAgICAgICAgICAgICAg\n"
- "ICAgICAgICAgICB8IDEwOSArLS0tDQogZnMvbmZzL2NsaWVudC5jICAgICAgICAgICAgICAgICAg\n"
- "ICAgICAgICAgICAgICAgfCAgNjcgKy0tDQogZnMvbmZzL2Rpci5jICAgICAgICAgICAgICAgICAg\n"
- "ICAgICAgICAgICAgICAgICAgfCAxMDQgKy0tLQ0KIGZzL25mcy9kaXJlY3QuYyAgICAgICAgICAg\n"
- "ICAgICAgICAgICAgICAgICAgICAgIHwgIDIxICstDQogZnMvbmZzL2ZpbGUuYyAgICAgICAgICAg\n"
- "ICAgICAgICAgICAgICAgICAgICAgICAgfCAgMzAgKy0NCiBmcy9uZnMvZmlsZWxheW91dC9maWxl\n"
- "bGF5b3V0LmMgICAgICAgICAgICAgICAgICB8ICAgOCArLQ0KIGZzL25mcy9mbGV4ZmlsZWxheW91\n"
- "dC9mbGV4ZmlsZWxheW91dC5jICAgICAgICAgIHwgIDI0ICstDQogZnMvbmZzL2ZsZXhmaWxlbGF5\n"
- "b3V0L2ZsZXhmaWxlbGF5b3V0ZGV2LmMgICAgICAgfCAgMTAgKy0NCiBmcy9uZnMvaW5vZGUuYyAg\n"
- "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgNSArLQ0KIGZzL25mcy9pbnRlcm5h\n"
- "bC5oICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICA1ICstDQogZnMvbmZzL25hbWVz\n"
- "cGFjZS5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMzQgKy0NCiBmcy9uZnMvbmZz\n"
- "M3Byb2MuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA1NCArLQ0KIGZzL25mcy9u\n"
- "ZnM0MnByb2MuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDI0ICstDQogZnMvbmZz\n"
- "L25mczQyeGRyLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMjIgKy0NCiBmcy9u\n"
- "ZnMvbmZzNGNsaWVudC5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDI4MyArKystLS0t\n"
- "LS0tDQogZnMvbmZzL25mczRnZXRyb290LmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAg\n"
- "IDMgLQ0KIGZzL25mcy9uZnM0bmFtZXNwYWNlLmMgICAgICAgICAgICAgICAgICAgICAgICAgIHwg\n"
- "ICA3ICstDQogZnMvbmZzL25mczRwcm9jLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\n"
- "fCAgOTkgKystLQ0KIGZzL25mcy9uZnM0c3RhdGUuYyAgICAgICAgICAgICAgICAgICAgICAgICAg\n"
- "ICAgIHwgIDEwICstDQogZnMvbmZzL25mczR4ZHIuYyAgICAgICAgICAgICAgICAgICAgICAgICAg\n"
- "ICAgICAgfCAgOTQgKystLQ0KIGZzL25mcy9vYmpsYXlvdXQvS2J1aWxkICAgICAgICAgICAgICAg\n"
- "ICAgICAgICAgIHwgICA1IC0NCiBmcy9uZnMvb2JqbGF5b3V0L29iamlvX29zZC5jICAgICAgICAg\n"
- "ICAgICAgICAgICB8IDY3NSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQogZnMvbmZzL29iamxheW91\n"
- "dC9vYmpsYXlvdXQuYyAgICAgICAgICAgICAgICAgICAgfCA3MDYgLS0tLS0tLS0tLS0tLS0tLS0t\n"
- "LS0tLS0tDQogZnMvbmZzL29iamxheW91dC9vYmpsYXlvdXQuaCAgICAgICAgICAgICAgICAgICAg\n"
- "fCAxODMgLS0tLS0tDQogZnMvbmZzL29iamxheW91dC9wbmZzX29zZF94ZHJfY2xpLmMgICAgICAg\n"
- "ICAgICAgfCA0MTUgLS0tLS0tLS0tLS0tLS0NCiBmcy9uZnMvcGFnZWxpc3QuYyAgICAgICAgICAg\n"
- "ICAgICAgICAgICAgICAgICAgICB8ICA3NyArKy0NCiBmcy9uZnMvcG5mcy5jICAgICAgICAgICAg\n"
- "ICAgICAgICAgICAgICAgICAgICAgICB8ICA2MiArKy0NCiBmcy9uZnMvcG5mcy5oICAgICAgICAg\n"
- "ICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgNiArLQ0KIGZzL25mcy9wbmZzX25mcy5jICAg\n"
- "ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDI0ICstDQogZnMvbmZzL3Byb2MuYyAgICAg\n"
- "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDIgKy0NCiBmcy9uZnMvcmVhZC5jICAg\n"
- "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgOSArLQ0KIGZzL25mcy93cml0ZS5j\n"
- "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMTIxICsrLS0NCiBpbmNsdWRlL2xp\n"
- "bnV4L2ZzLmggICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMiArDQogaW5jbHVkZS9s\n"
- "aW51eC9sb2NrZC9iaW5kLmggICAgICAgICAgICAgICAgICAgICAgfCAgMjQgKy0NCiBpbmNsdWRl\n"
- "L2xpbnV4L2xvY2tkL2xvY2tkLmggICAgICAgICAgICAgICAgICAgICB8ICAgMiArDQogaW5jbHVk\n"
- "ZS9saW51eC9uZnNfZnMuaCAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMTcgKy0NCiBpbmNs\n"
- "dWRlL2xpbnV4L25mc19mc19zYi5oICAgICAgICAgICAgICAgICAgICAgICB8ICAgMSArDQogaW5j\n"
- "bHVkZS9saW51eC9uZnNfcGFnZS5oICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDUgKy0NCiBp\n"
- "bmNsdWRlL2xpbnV4L25mc194ZHIuaCAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMyArDQog\n"
- "bmV0L3N1bnJwYy9jbG50LmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDggLQ0K\n"
- "IG5ldC9zdW5ycGMvc2NoZWQuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICA1IC0N\n"
- "CiBuZXQvc3VucnBjL3hkci5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMiAr\n"
- "LQ0KIG5ldC9zdW5ycGMveHBydC5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAx\n"
- "ICsNCiBuZXQvc3VucnBjL3hwcnRyZG1hL3JwY19yZG1hLmMgICAgICAgICAgICAgICAgICB8ICAx\n"
- "MiArLQ0KIG5ldC9zdW5ycGMveHBydHJkbWEvdHJhbnNwb3J0LmMgICAgICAgICAgICAgICAgIHwg\n"
- "IDU3ICstDQogbmV0L3N1bnJwYy94cHJ0cmRtYS92ZXJicy5jICAgICAgICAgICAgICAgICAgICAg\n"
- "fCAzMjMgKysrKysrKy0tLS0NCiBuZXQvc3VucnBjL3hwcnRyZG1hL3hwcnRfcmRtYS5oICAgICAg\n"
- "ICAgICAgICAgICB8ICAyMiArLQ0KIDU2IGZpbGVzIGNoYW5nZWQsIDk0OSBpbnNlcnRpb25zKCsp\n"
- "LCAyOTYwIGRlbGV0aW9ucygtKQ0KIGRlbGV0ZSBtb2RlIDEwMDY0NCBmcy9uZnMvb2JqbGF5b3V0\n"
- "L0tidWlsZA0KIGRlbGV0ZSBtb2RlIDEwMDY0NCBmcy9uZnMvb2JqbGF5b3V0L29iamlvX29zZC5j\n"
- "DQogZGVsZXRlIG1vZGUgMTAwNjQ0IGZzL25mcy9vYmpsYXlvdXQvb2JqbGF5b3V0LmMNCiBkZWxl\n"
- "dGUgbW9kZSAxMDA2NDQgZnMvbmZzL29iamxheW91dC9vYmpsYXlvdXQuaA0KIGRlbGV0ZSBtb2Rl\n"
- "IDEwMDY0NCBmcy9uZnMvb2JqbGF5b3V0L3BuZnNfb3NkX3hkcl9jbGkuYw0KLS0gDQpUcm9uZCBN\n"
- "eWtsZWJ1c3QNCkxpbnV4IE5GUyBjbGllbnQgbWFpbnRhaW5lciwgUHJpbWFyeURhdGENCnRyb25k\n"
- Lm15a2xlYnVzdEBwcmltYXJ5ZGF0YS5jb20NCg==
+ "Hi Linus,\n"
+ "\n"
+ "The following changes since commit 4f7d029b9bf009fbee76bb10c0c4351a1870d2f3:\n"
+ "\n"
+ "  Linux 4.11-rc7 (2017-04-16 13:00:18 -0700)\n"
+ "\n"
+ "are available in the git repository at:\n"
+ "\n"
+ "  git://git.linux-nfs.org/projects/trondmy/linux-nfs.git tags/nfs-for-4.12-1\n"
+ "\n"
+ "for you to fetch changes up to 76b2a303384e1d6299c3a0249f0f0ce2f8f96017:\n"
+ "\n"
+ "  pNFS/flexfiles: Always attempt to call layoutstats when flexfiles is enabled (2017-05-09 16:02:57 -0400)\n"
+ "\n"
+ "----------------------------------------------------------------\n"
+ "NFS client updates for Linux 4.12\n"
+ "\n"
+ "Highlights include:\n"
+ "\n"
+ "Stable bugfixes:\n"
+ "- Fix use after free in write error path\n"
+ "- Use GFP_NOIO for two allocations in writeback\n"
+ "- Fix a hang in OPEN related to server reboot\n"
+ "- Check the result of nfs4_pnfs_ds_connect\n"
+ "- Fix an rcu lock leak\n"
+ "\n"
+ "Features:\n"
+ "- Removal of the unmaintained and unused OSD pNFS layout\n"
+ "- Cleanup and removal of lots of unnecessary dprintk()s\n"
+ "- Cleanup and removal of some memory failure paths now that\n"
+ "  GFP_NOFS is guaranteed to never fail.\n"
+ "- Remove the v3-only data server limitation on pNFS/flexfiles\n"
+ "\n"
+ "Bugfixes:\n"
+ "- RPC/RDMA connection handling bugfixes\n"
+ "- Copy offload: fixes to ensure the copied data is COMMITed to disk.\n"
+ "- Readdir: switch back to using the ->iterate VFS interface\n"
+ "- File locking fixes from Ben Coddington\n"
+ "- Various use-after-free and deadlock issues in pNFS\n"
+ "- Write path bugfixes\n"
+ "\n"
+ "----------------------------------------------------------------\n"
+ "Anna Schumaker (29):\n"
+ "      NFS: Clean up do_callback_layoutrecall()\n"
+ "      NFS: Clean up nfs4_callback_layoutrecall()\n"
+ "      NFS: Remove extra dprintk()s from callback_proc.c\n"
+ "      NFS: Clean up decode_getattr_args()\n"
+ "      NFS: Clean up decode_recall_args()\n"
+ "      NFS: Clean up decode_layoutrecall_args()\n"
+ "      NFS: Clean up decode_cb_sequence_args()\n"
+ "      NFS: Clean up decode_notify_lock_args()\n"
+ "      NFS: Clean up encode_cb_sequence_res()\n"
+ "      NFS: Remove extra dprintk()s from callback_xdr.c\n"
+ "      NFS: Clean up nfs_init_client()\n"
+ "      NFS: Clean up extra dprintk()s in client.c\n"
+ "      NFS: Remove nfs_direct_readpage_release()\n"
+ "      NFS: Clean up nfs_direct_commit_complete()\n"
+ "      NFS: Remove extra dprintk()s from namespace.c\n"
+ "      NFS: Clean up nfs42_layoutstat_done()\n"
+ "      NFS: Clean up nfs4_match_clientids()\n"
+ "      NFS: Clean up nfs4_check_serverowner_minor_id()\n"
+ "      NFS: Create a common nfs4_match_client() function\n"
+ "      NFS: Clean up nfs4_check_serverowner_major_id()\n"
+ "      NFS: Clean up nfs4_check_server_scope()\n"
+ "      NFS: Clean up nfs4_set_client()\n"
+ "      NFS: Clean up nfs4_init_server()\n"
+ "      NFS: Remove extra dprintk()s from nfs4client.c\n"
+ "      NFS: Clean up nfs4_get_rootfh()\n"
+ "      NFS: Remove extra dprintk()s from nfs4namespace.c\n"
+ "      NFS: Clean up nfs4_proc_bind_one_conn_to_session()\n"
+ "      NFS: Clean up _nfs4_proc_exchange_id()\n"
+ "      NFS: Clean up nfs4_proc_get_lease_time()\n"
+ "\n"
+ "Artem Savkov (1):\n"
+ "      nfs/filelayout: fix NULL pointer dereference in fl_pnfs_update_layout()\n"
+ "\n"
+ "Benjamin Coddington (11):\n"
+ "      NFS: switch back to to ->iterate()\n"
+ "      NFS: Fix missing pg_cleanup after nfs_pageio_cond_complete()\n"
+ "      NFS: Use GFP_NOIO for two allocations in writeback\n"
+ "      NFS: move nfs_pgarray_set() to open code\n"
+ "      NFS: move rw_mode to nfs_pageio_header\n"
+ "      NFS4: remove a redundant lock range check\n"
+ "      NFS: Move the flock open mode check into nfs_flock()\n"
+ "      locks: Set FL_CLOSE when removing flock locks on close()\n"
+ "      NFS: Add an iocounter wait function for async RPC tasks\n"
+ "      lockd: Introduce nlmclnt_operations\n"
+ "      NFS: Always wait for I/O completion before unlock\n"
+ "\n"
+ "Christoph Hellwig (1):\n"
+ "      nfs: remove the objlayout driver\n"
+ "\n"
+ "Chuck Lever (13):\n"
+ "      xprtrdma: Cancel refresh worker during buffer shutdown\n"
+ "      sunrpc: Export xprt_force_disconnect()\n"
+ "      xprtrdma: Detect unreachable NFS/RDMA servers more reliably\n"
+ "      xprtrdma: Refactor rpcrdma_ia_open()\n"
+ "      xprtrdma: Use same device when mapping or syncing DMA buffers\n"
+ "      xprtrdma: Support unplugging an HCA from under an NFS mount\n"
+ "      xprtrdma: Refactor rpcrdma_ep_connect\n"
+ "      xprtrdma: Restore transport after device removal\n"
+ "      xprtrdma: Revert commit d0f36c46deea\n"
+ "      xprtrdma: Annotate receive workqueue\n"
+ "      xprtrdma: Squelch ENOBUFS warnings\n"
+ "      sunrpc: Fix xdr_init_decode_pages() documenting comment\n"
+ "      xprtrdma: Remove rpcrdma_buffer::rb_pool\n"
+ "\n"
+ "Dave Wysochanski (1):\n"
+ "      Fix nfs_client refcounting if kmalloc fails in nfs4_proc_exchange_id and nfs4_proc_async_renew\n"
+ "\n"
+ "Fabian Frederick (1):\n"
+ "      nfs: use kmap/kunmap directly\n"
+ "\n"
+ "Fred Isaman (2):\n"
+ "      NFS: Fix use after free in write error path\n"
+ "      pNFS: Fix NULL dereference in pnfs_generic_alloc_ds_commits\n"
+ "\n"
+ "Hou Tao (1):\n"
+ "      NFS: always treat the invocation of nfs_getattr as cache hit when noac is on\n"
+ "\n"
+ "NeilBrown (2):\n"
+ "      NFS: fix usage of mempools.\n"
+ "      sunrpc: don't check for failure from mempool_alloc()\n"
+ "\n"
+ "Olga Kornievskaia (2):\n"
+ "      NFS4.1 handle interrupted slot reuse from ERR_DELAY\n"
+ "      NFS append COMMIT after synchronous COPY\n"
+ "\n"
+ "Pan Bian (1):\n"
+ "      NFSv4: check return value of xdr_inline_decode\n"
+ "\n"
+ "Tigran Mkrtchyan (1):\n"
+ "      nfs: flexfilelayout: remove v3-only data server limitation\n"
+ "\n"
+ "Trond Myklebust (24):\n"
+ "      NFSv4: Fix a hang in OPEN related to server reboot\n"
+ "      pNFS/flexfiles: Check the result of nfs4_pnfs_ds_connect\n"
+ "      pNFS: Remove unused layout driver callbacks\n"
+ "      pNFS: Unexport pnfs_put_lseg_locked and _pnfs_return_layout\n"
+ "      pNFS: unexport nfs4_pnfs_v3_ds_connect_unload\n"
+ "      pNFS: Ensure we check layout segment validity in the pg_init() callback\n"
+ "      pNFS: Fix use after free issues in pnfs_do_read()\n"
+ "      NFS: Don't write back further requests if there is a pending write error\n"
+ "      NFSv3: nfs3_nlm_alloc_call should be declared static\n"
+ "      Merge tag 'nfs-rdma-4.12-1' of git://git.linux-nfs.org/projects/anna/nfs-rdma\n"
+ "      NFS: Add a few more fatal I/O errors to nfs_error_is_fatal()\n"
+ "      NFSv4: Don't special case \"launder\"\n"
+ "      pNFS: Ensure we check layout validity before marking it for return\n"
+ "      pNFS/flexfiles: Fix up the ff_layout_write_pagelist failure path\n"
+ "      pNFS: Don't send COMMITs to the DSes if the server invalidated our layout\n"
+ "      pNFS: Ensure we commit the layout if it has been invalidated\n"
+ "      pNFS: Don't clear the layout return info if there are segments to return\n"
+ "      pNFS: Fix a deadlock when coalescing writes and returning the layout\n"
+ "      pNFS: Fix a typo in pnfs_generic_alloc_ds_commits\n"
+ "      NFSv4.1: RECLAIM_COMPLETE must handle NFS4ERR_CONN_NOT_BOUND_TO_SESSION\n"
+ "      NFSv4: Fix an rcu lock leak\n"
+ "      NFSv4: Fix exclusive create attributes encoding\n"
+ "      NFSv4.1: Work around a Linux server bug...\n"
+ "      pNFS/flexfiles: Always attempt to call layoutstats when flexfiles is enabled\n"
+ "\n"
+ " Documentation/admin-guide/kernel-parameters.txt |   6 -\n"
+ " Documentation/filesystems/nfs/pnfs.txt          |  37 --\n"
+ " fs/fuse/file.c                                  |   2 +-\n"
+ " fs/lockd/clntlock.c                             |   1 +\n"
+ " fs/lockd/clntproc.c                             |  26 +-\n"
+ " fs/locks.c                                      |   2 +-\n"
+ " fs/nfs/Kconfig                                  |   5 -\n"
+ " fs/nfs/Makefile                                 |   1 -\n"
+ " fs/nfs/callback_proc.c                          |  47 +-\n"
+ " fs/nfs/callback_xdr.c                           | 109 +---\n"
+ " fs/nfs/client.c                                 |  67 +--\n"
+ " fs/nfs/dir.c                                    | 104 +---\n"
+ " fs/nfs/direct.c                                 |  21 +-\n"
+ " fs/nfs/file.c                                   |  30 +-\n"
+ " fs/nfs/filelayout/filelayout.c                  |   8 +-\n"
+ " fs/nfs/flexfilelayout/flexfilelayout.c          |  24 +-\n"
+ " fs/nfs/flexfilelayout/flexfilelayoutdev.c       |  10 +-\n"
+ " fs/nfs/inode.c                                  |   5 +-\n"
+ " fs/nfs/internal.h                               |   5 +-\n"
+ " fs/nfs/namespace.c                              |  34 +-\n"
+ " fs/nfs/nfs3proc.c                               |  54 +-\n"
+ " fs/nfs/nfs42proc.c                              |  24 +-\n"
+ " fs/nfs/nfs42xdr.c                               |  22 +-\n"
+ " fs/nfs/nfs4client.c                             | 283 +++-------\n"
+ " fs/nfs/nfs4getroot.c                            |   3 -\n"
+ " fs/nfs/nfs4namespace.c                          |   7 +-\n"
+ " fs/nfs/nfs4proc.c                               |  99 ++--\n"
+ " fs/nfs/nfs4state.c                              |  10 +-\n"
+ " fs/nfs/nfs4xdr.c                                |  94 ++--\n"
+ " fs/nfs/objlayout/Kbuild                         |   5 -\n"
+ " fs/nfs/objlayout/objio_osd.c                    | 675 ----------------------\n"
+ " fs/nfs/objlayout/objlayout.c                    | 706 ------------------------\n"
+ " fs/nfs/objlayout/objlayout.h                    | 183 ------\n"
+ " fs/nfs/objlayout/pnfs_osd_xdr_cli.c             | 415 --------------\n"
+ " fs/nfs/pagelist.c                               |  77 ++-\n"
+ " fs/nfs/pnfs.c                                   |  62 ++-\n"
+ " fs/nfs/pnfs.h                                   |   6 +-\n"
+ " fs/nfs/pnfs_nfs.c                               |  24 +-\n"
+ " fs/nfs/proc.c                                   |   2 +-\n"
+ " fs/nfs/read.c                                   |   9 +-\n"
+ " fs/nfs/write.c                                  | 121 ++--\n"
+ " include/linux/fs.h                              |   2 +\n"
+ " include/linux/lockd/bind.h                      |  24 +-\n"
+ " include/linux/lockd/lockd.h                     |   2 +\n"
+ " include/linux/nfs_fs.h                          |  17 +-\n"
+ " include/linux/nfs_fs_sb.h                       |   1 +\n"
+ " include/linux/nfs_page.h                        |   5 +-\n"
+ " include/linux/nfs_xdr.h                         |   3 +\n"
+ " net/sunrpc/clnt.c                               |   8 -\n"
+ " net/sunrpc/sched.c                              |   5 -\n"
+ " net/sunrpc/xdr.c                                |   2 +-\n"
+ " net/sunrpc/xprt.c                               |   1 +\n"
+ " net/sunrpc/xprtrdma/rpc_rdma.c                  |  12 +-\n"
+ " net/sunrpc/xprtrdma/transport.c                 |  57 +-\n"
+ " net/sunrpc/xprtrdma/verbs.c                     | 323 +++++++----\n"
+ " net/sunrpc/xprtrdma/xprt_rdma.h                 |  22 +-\n"
+ " 56 files changed, 949 insertions(+), 2960 deletions(-)\n"
+ " delete mode 100644 fs/nfs/objlayout/Kbuild\n"
+ " delete mode 100644 fs/nfs/objlayout/objio_osd.c\n"
+ " delete mode 100644 fs/nfs/objlayout/objlayout.c\n"
+ " delete mode 100644 fs/nfs/objlayout/objlayout.h\n"
+ " delete mode 100644 fs/nfs/objlayout/pnfs_osd_xdr_cli.c\n"
+ "-- \n"
+ "Trond Myklebust\n"
+ "Linux NFS client maintainer, PrimaryData\n"
+ trond.myklebust@primarydata.com
 
-3e79e49ab23c7ebfcbce416dbae18063d7b0d442c02b0d7ce49f5d0daf692baf
+9d7e36e0bb2fb7f005e68abe208bbb0b35c6dc496bc71defdc5553353777adea

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.