Re: Proposal: Enhancing Bacula Secret Management - file:, dynfile:, syscred:, and credstore:
Eric Bollengier via Bacula-devel <[email protected]> Thu, 26 Jun 2025 08:42:28 +0200
| Newsgroups | gmane.comp.sysutils.backup.bacula.devel |
|---|---|
| Message-ID | <[email protected]> |
SGVsbG8sCgpUaGlzIGlzIGEgdmVyeSBnb29kIHRvcGljLiBJdCdzIG5vdCBzbyBlbGVnYW50LCBi dXQgSSB0aGluayB5b3UgY2FuIGNvdmVyIHlvdXIKbmVlZCB0b2RheSB3aXRoIHRoZSBAIG1hY3Jv IGluIHRoZSBjb25maWd1cmF0aW9uIGZpbGUuCgpZb3UgY2FuIGV4ZWN1dGUgYSBjb21tYW5kIHRo YXQgd2lsbCBnZW5lcmF0ZSB0aGUgcGFzc3dvcmQgKHJlYWRpbmcgZnJvbSBhIGZpbGUKZm9yIGV4 YW1wbGUsIG9yIGRvaW5nIHNvbWUgcXVlcnkgaW4gYSBkYXRhYmFzZSksIG9yIHJlYWQgYSBmaWxl LgoKSWYgeW91IHdhbnQgdG8ganVzdCByZWFkIGZyb20gYSBmaWxlOgoKQ2xpZW50IHsKICBOYW1l ID0gbXljbGllbnQtZmQKICBAL29wdC9iYWN1bGEvZXRjL215Y2xpZW50LnBhc3N3b3JkCiAgQWRk cmVzcyA9IG15Y2xpZW50LmxhbgogIEZpbGUgUmV0ZW50aW9uID0gNSB5ZWFycwogIEpvYiBSZXRl bnRpb24gPSA1IHllYXJzCiAgLi4KfQoKYW5kIGluIC9vcHQvYmFjdWxhL2V0Yy9teWNsaWVudC5w YXNzd29yZAp5b3UgaGF2ZQoKIyBjYXQgL29wdC9iYWN1bGEvZXRjL215Y2xpZW50LnBhc3N3b3Jk ClBhc3N3b3JkID0gInRoaXMgaXMgYSBzZWNyZXQiCgpUbyBnZW5lcmF0ZSB0aGUgY29uZmlndXJh dGlvbiBvbiB0aGUgZmx5IHdpdGggYSBzY3JpcHQsIHlvdSBjYW4gdXNlIEB8CmFuZCB0aGUgcGF0 aCB0byBhIHByb2dyYW0gYW5kIGFyZ3VtZW50cy4KCkknbSBub3Qgb3Bwb3NlZCB0byBoYXZlIHRo YXQga2luZCBvZiBtZWNoYW5pc20gYnVpbHQtaW4gd2l0aCBhIG5pY2VyIHN5bnRheCwKYW5kIGl0 J3MgZ29vZCB0byBkaXNjdXNzIHRoaXMgcG9pbnQuIEkgd291bGQgbGlrZSBmb3IgZXhhbXBsZSB0 byBiZSBhYmxlIHRvIHVzZQphIHBhc3N3b3JkIG1hbmFnZXIgYXMgd2VsbC4KCkJlc3QgUmVnYXJk cywKRXJpYwoKT24gNi8yNS8yNSAyMDo0OSwgQ2xpbnRvbiBCdW5jaCB3cm90ZToKPiBIZWxsbyBC YWN1bGEgRGV2ZWxvcGVycyBhbmQgQ29tbXVuaXR5LAo+IAo+IEknZCBsaWtlIHRvIGluaXRpYXRl IGEgZGlzY3Vzc2lvbiBhcm91bmQgZW5oYW5jaW5nIGhvdyBCYWN1bGEgbWFuYWdlcyBzZW5zaXRp dmUgCj4gaW5mb3JtYXRpb24gbGlrZSBwYXNzd29yZHMgYW5kIHBvdGVudGlhbGx5IFRMUyBrZXkg cGFzc3BocmFzZXMsIG1vdmluZyB0aGVtIG91dCAKPiBvZiB0aGUgbWFpbiBjb25maWd1cmF0aW9u IGZpbGVzLiBUaGlzIGFpbXMgdG8gaW1wcm92ZSBzZWN1cml0eSwgc2ltcGxpZnkgc2VjcmV0IAo+ IHJvdGF0aW9uLCBhbmQgbWFrZSBCYWN1bGEgY29uZmlndXJhdGlvbnMgbW9yZSBmcmllbmRseSBm b3IgdmVyc2lvbiBjb250cm9sIGFuZCAKPiBtb2Rlcm4gZGVwbG95bWVudCBwcmFjdGljZXMgKGUu Zy4sIHdpdGggQW5zaWJsZSwgUHVwcGV0LCBzeXN0ZW1kKS4gSW1wb3J0YW50bHksIAo+IHRoZXNl IHByb3Bvc2VkIGVuaGFuY2VtZW50cyB3b3VsZCBiZSBlbnRpcmVseSBvcHRpb25hbCwgZW5zdXJp bmcgbm8gYnJlYWthZ2UgZm9yIAo+IGV4aXN0aW5nIGNvbmZpZ3VyYXRpb25zLgo+IAo+IEN1cnJl bnRseSwgcGFzc3dvcmRzIGFyZSBvZnRlbiBlbWJlZGRlZCBkaXJlY3RseSBpbiBiYWN1bGEtKi5j b25mZmlsZXMuIFRoaXMgaGFzIAo+IHNldmVyYWwgZHJhd2JhY2tzOgo+IAo+ICDCoCoKPiAKPiAg wqDCoCBFeHBvc2VzIHNlY3JldHMgaWYgdGhlIG1haW4gY29uZmlnIGZpbGVzIGFyZSBpbmFkdmVy dGVudGx5IHNoYXJlZCBvcgo+ICDCoMKgIGNoZWNrZWQgaW50byB2ZXJzaW9uIGNvbnRyb2wgd2l0 aG91dCBwcm90ZWN0aW9uLgo+IAo+ICDCoCoKPiAKPiAgwqDCoCBNYWtlcyBzZWNyZXQgcm90YXRp b24gbW9yZSBlcnJvci1wcm9uZSBhcyBpdCByZXF1aXJlcyBlZGl0aW5nIHRoZQo+ICDCoMKgIG1h aW4gY29uZmlnLgo+IAo+ICDCoCoKPiAKPiAgwqDCoCBDb21wbGljYXRlcyBtYW5hZ2VtZW50IHdp dGggY29uZmlndXJhdGlvbiBhdXRvbWF0aW9uIHRvb2xzIHRoYXQKPiAgwqDCoCBtaWdodCBoYW5k bGUgc2VjcmV0cyBzZXBhcmF0ZWx5Lgo+IAo+IEkgcHJvcG9zZSBhIGZldyBsYXllcmVkIGFwcHJv YWNoZXMgdG8gYWRkcmVzcyB0aGlzLCByYW5naW5nIGZyb20gc2ltcGxlciB0byBtb3JlIAo+IGNv bXByZWhlbnNpdmU6Cj4gCj4gKjEuIFRoZSBmaWxlOkRpcmVjdGl2ZSoKPiAKPiBNYW55IHVzZXJz IG1pZ2h0IHdhbnQgdG8gc2VwYXJhdGUgZmlsZXMgZm9yIHNlY3JldHMgYW5kIHBvaW50aW5nIHRv IHRoZW0gd2l0aCAKPiByZXN0cmljdGl2ZSBwZXJtaXNzaW9ucywgd2hpY2ggaXMgZ29vZCBwcmFj dGljZS4gQSBQYXNzd29yZCA9ICJmaWxlOi9wYXRoL3RvLyAKPiBzZWNyZXQiZGlyZWN0aXZlIHRo YXQgc2ltcGx5IHJlYWRzIHRoZSBmaXJzdCBsaW5lIG9mIGEgZmlsZSAoc3RyaXBwaW5nIGFueSAK PiB0cmFpbGluZyBuZXdsaW5lKSB3b3VsZCBiZSBhIGZvdW5kYXRpb25hbCBpbXByb3ZlbWVudC4K PiAKPiAgwqAqCj4gCj4gIMKgwqAgKkFkdmFudGFnZXMqOgo+IAo+ICDCoMKgwqDCoCBvCj4gCj4g IMKgwqDCoMKgwqDCoCBBbGxvd3Mgc2VwYXJhdGlvbiBvZiBzZWNyZXRzIGZyb20gbWFpbiBjb25m aWd1cmF0aW9uLgo+IAo+ICDCoMKgwqDCoCBvCj4gCj4gIMKgwqDCoMKgwqDCoCBFYXNpZXIgc2Vj cmV0IHJvdGF0aW9uICh1cGRhdGUgZmlsZSwgcmVsb2FkIEJhY3VsYSkuCj4gCj4gIMKgwqDCoMKg IG8KPiAKPiAgwqDCoMKgwqDCoMKgIENvbmZpZ3VyYXRpb24gZmlsZXMgYmVjb21lIHNhZmVyIGZv ciB2ZXJzaW9uIGNvbnRyb2wgKHNlY3JldAo+ICDCoMKgwqDCoMKgwqAgZmlsZXMgYXJlIGdpdGln bm9yZWQvbWFuYWdlZCBzZXBhcmF0ZWx5KS4KPiAKPiAgwqDCoMKgwqAgbwo+IAo+ICDCoMKgwqDC oMKgwqAgQWxpZ25zIHdlbGwgd2l0aCBjb25maWd1cmF0aW9uIG1hbmFnZW1lbnQgdG9vbHMgKGUu Zy4sIEFuc2libGUKPiAgwqDCoMKgwqDCoMKgIGNhbiBkZXBsb3kgdGhlIG1haW4gY29uZmlnIGFu ZCB0aGVuIGRlcGxveSB0aGUgc2VjcmV0IGZpbGUgd2l0aAo+ICDCoMKgwqDCoMKgwqAgc3RyaWN0 IHBlcm1pc3Npb25zIGFuZCBjb250ZW50IGZyb20gYSB2YXVsdCkuCj4gCj4gKjIuIFRoZSBkeW5m aWxlOkRpcmVjdGl2ZSAoRHluYW1pYy9EZWZlcnJlZCBGaWxlIExvYWRpbmcpKgo+IAo+IEJ1aWxk aW5nIG9uIGZpbGU6LCB0aGUgZHluZmlsZTpwcmVmaXggd291bGQgYWRkcmVzcyBzY2VuYXJpb3Mg d2hlcmUgdGhlIHNlY3JldCAKPiBmaWxlIGlzIHByb3Zpc2lvbmVkIGF0IHNlcnZpY2Ugc3RhcnR1 cCBhbmQgbWlnaHQgbm90IGV4aXN0IHdoZW4gYSBjb25maWd1cmF0aW9uIAo+IGNoZWNrIChiYWN1 bGEtKiAtdCkgaXMgcnVuLiBUaGlzIGlzIHBhcnRpY3VsYXJseSByZWxldmFudCBmb3IgaW50ZWdy YXRpb24gd2l0aCAKPiBzeXN0ZW1kLWNyZWRlbnRpYWxzLgo+IAo+ICDCoCoKPiAKPiAgwqDCoCAq U3ludGF4KjogUGFzc3dvcmQgPSAiZHluZmlsZTovcGF0aC90by9ydW50aW1lX3NlY3JldF9maWxl Igo+IAo+ICDCoCoKPiAKPiAgwqDCoCAqS2V5IEJlaGF2aW9yKjoKPiAKPiAgwqDCoMKgwqAgbwo+ IAo+ICDCoMKgwqDCoMKgwqAgRHVyaW5nIGEgY29uZmlndXJhdGlvbiB0ZXN0IChiYWN1bGEtKiAt dCksIGlmIGEgZHluZmlsZTpwYXRoCj4gIMKgwqDCoMKgwqDCoCBkb2VzIG5vdCBleGlzdCwgQmFj dWxhIHNob3VsZCBpc3N1ZSBhIHdhcm5pbmcgb3IgaW5mb3JtYXRpb25hbAo+ICDCoMKgwqDCoMKg wqAgbWVzc2FnZSBidXQgKm5vdCBmYWlsIHRoZSBjb25maWd1cmF0aW9uIGNoZWNrKi4gVGhlIHZh bGlkaXR5IG9mCj4gIMKgwqDCoMKgwqDCoCB0aGUgcmVzdCBvZiB0aGUgY29uZmlndXJhdGlvbiBj YW4gc3RpbGwgYmUgYXNzZXNzZWQuCj4gCj4gIMKgwqDCoMKgIG8KPiAKPiAgwqDCoMKgwqDCoMKg IEF0IGFjdHVhbCBydW50aW1lLCBpZiB0aGUgZHluZmlsZTpwYXRoIGRvZXNuJ3QgZXhpc3Qgd2hl biB0aGUKPiAgwqDCoMKgwqDCoMKgIHNlY3JldCBpcyBuZWVkZWQsIGl0IHdvdWxkIGJlIGEgZmF0 YWwgZXJyb3IuCj4gCj4gIMKgKgo+IAo+ICDCoMKgICpBZHZhbnRhZ2VzKjoKPiAKPiAgwqDCoMKg wqAgbwo+IAo+ICDCoMKgwqDCoMKgwqAgQWxsIGJlbmVmaXRzIG9mIGZpbGU6Lgo+IAo+ICDCoMKg wqDCoCBvCj4gCj4gIMKgwqDCoMKgwqDCoCBDcnVjaWFsbHkgZW5hYmxlcyBzZWFtbGVzcyBpbnRl Z3JhdGlvbiB3aXRoIHRvb2xzIGxpa2UKPiAgwqDCoMKgwqDCoMKgIHN5c3RlbWQtY3JlZGVudGlh bHMoZS5nLiwgTG9hZENyZWRlbnRpYWw9KSwgd2hpY2ggbWFrZSBzZWNyZXRzCj4gIMKgwqDCoMKg wqDCoCBhdmFpbGFibGUgb25seSBhZnRlciB0aGUgc2VydmljZSB1bml0IHN0YXJ0cyBwcm9jZXNz aW5nIGJ1dAo+ICDCoMKgwqDCoMKgwqAgYmVmb3JlIHRoZSBtYWluIGRhZW1vbiBmdWxseSBpbml0 aWFsaXplcy4KPiAKPiAgwqDCoMKgwqAgbwo+IAo+ICDCoMKgwqDCoMKgwqAgVXNlZnVsIGZvciBh bnkgY3VzdG9tIHN0YXJ0dXAgc2NyaXB0IHRoYXQgZ2VuZXJhdGVzL3BsYWNlcyBhCj4gIMKgwqDC oMKgwqDCoCB0ZW1wb3Jhcnkgc2VjcmV0IGZpbGUuCj4gCj4gKjMuIFRoZSBzeXNjcmVkOkRpcmVj dGl2ZSAoRGlyZWN0IHN5c3RlbWQtY3JlZGVudGlhbHMgSW50ZWdyYXRpb24pKgo+IAo+IEZvciBh IG1vcmUgc3RyZWFtbGluZWQgc3lzdGVtZCBpbnRlZ3JhdGlvbiwgYSBkZWRpY2F0ZWQgcHJlZml4 IGNvdWxkIHNpbXBsaWZ5IAo+IGNvbmZpZ3VyYXRpb24gc2luY2UgdGhlIHBhdGggdXNlZCBieSBz eXN0ZW1kIGZvciAkQ1JFREVOVElBTFNfRElSRUNUT1JZaXMgbm90IAo+IGd1YXJhbnRlZWQgdG8g cmVtYWluIHRoZSBzYW1lIGJldHdlZW4gc3lzdGVtcyBvciBzeXN0ZW1kIHZlcnNpb25zLldoaWxl IHRoZXJlIAo+IG1pZ2h0IGJlIGEgbmF0dXJhbCByZWx1Y3RhbmNlIHRvIGFkZCBjb2RlIHNwZWNp ZmljIHRvIG9uZSBPUydzIGluaXQgc3lzdGVtLyAKPiBjcmVkZW50aWFsIG1hbmFnZXIsIHRoZSBw cmV2YWxlbmNlIG9mIHN5c3RlbWQgb24gTGludXggcGxhdGZvcm1zIGFuZCB0aGUgCj4gcmVsYXRp dmUgZWFzZSBvZiBpbXBsZW1lbnRpbmcgdGhpcyBzcGVjaWZpYyBpbnRlZ3JhdGlvbiBjb3VsZCBv ZmZlciBhIAo+IHNpZ25pZmljYW50ICJiYW5nIGZvciB0aGUgYnVjayIgZm9yIGEgbGFyZ2UgcG9y dGlvbiBvZiB0aGUgdXNlciBiYXNlLgo+IAo+ICDCoCoKPiAKPiAgwqDCoCAqU3ludGF4KjogUGFz c3dvcmQgPSAic3lzY3JlZDpjcmVkZW50aWFsX25hbWUiKGUuZy4sCj4gIMKgwqAgc3lzY3JlZDpi YWN1bGFfZGJfcGFzc3dvcmQpCj4gCj4gIMKgKgo+IAo+ICDCoMKgICpCZWhhdmlvcio6Cj4gCj4g IMKgwqDCoMKgIG8KPiAKPiAgwqDCoMKgwqDCoMKgIEJhY3VsYSByZWFkcyB0aGUgJENSRURFTlRJ QUxTX0RJUkVDVE9SWWVudmlyb25tZW50IHZhcmlhYmxlIChzZXQKPiAgwqDCoMKgwqDCoMKgIGJ5 IHN5c3RlbWQpLgo+IAo+ICDCoMKgwqDCoCBvCj4gCj4gIMKgwqDCoMKgwqDCoCBJdCBjb25zdHJ1 Y3RzIHRoZSBmdWxsIHBhdGg6ICRDUkVERU5USUFMU19ESVJFQ1RPUlkvY3JlZGVudGlhbF9uYW1l Lgo+IAo+ICDCoMKgwqDCoCBvCj4gCj4gIMKgwqDCoMKgwqDCoCBJdCBhdHRlbXB0cyB0byByZWFk IHRoZSBzZWNyZXQgZnJvbSB0aGlzIHBhdGguCj4gCj4gIMKgwqDCoMKgIG8KPiAKPiAgwqDCoMKg wqDCoMKgIEl0IGluaGVyaXRzIHRoZSAiZG9uJ3QgZmFpbCBlYXJseSIgbG9naWMgZnJvbSBkeW5m aWxlOmZvcgo+ICDCoMKgwqDCoMKgwqAgY29uZmlndXJhdGlvbiBjaGVja3MgKGlmICRDUkVERU5U SUFMU19ESVJFQ1RPUllpc24ndCBzZXQgb3IgdGhlCj4gIMKgwqDCoMKgwqDCoCBwYXRoIGRvZXNu J3QgeWV0IGV4aXN0IGR1cmluZyAtdCkuCj4gCj4gIMKgKgo+IAo+ICDCoMKgICpBZHZhbnRhZ2Vz KjoKPiAKPiAgwqDCoMKgwqAgbwo+IAo+ICDCoMKgwqDCoMKgwqAgU2ltcGxpZmllcyBjb25maWd1 cmF0aW9uIGZvciB1c2VycyBvbiBzeXN0ZW1kOiB0aGV5IG9ubHkgbmVlZAo+ICDCoMKgwqDCoMKg wqAgdGhlIGNyZWRlbnRpYWwgbmFtZSwgbm90IHRoZSBmdWxsIHJ1bnRpbWUgcGF0aC4KPiAKPiAg wqDCoMKgwqAgbwo+IAo+ICDCoMKgwqDCoMKgwqAgTW9yZSByb2J1c3QgYXMgaXQgYWRhcHRzIHRv IHRoZSBhY3R1YWwgcGF0aCBwcm92aWRlZCBieSBzeXN0ZW1kCj4gIMKgwqDCoMKgwqDCoCB2aWEg JENSRURFTlRJQUxTX0RJUkVDVE9SWS4KPiAKPiAgwqDCoMKgwqAgbwo+IAo+ICDCoMKgwqDCoMKg wqAgUmVwcmVzZW50cyBhIHJlbGF0aXZlbHkgInNpbXBsZSB3aW4iIGZvciBhIGxhcmdlIGFuZCBn cm93aW5nCj4gIMKgwqDCoMKgwqDCoCBwb3J0aW9uIG9mIHRoZSBMaW51eCB1c2VyIGJhc2UsIG9m ZmVyaW5nIGEgY2xlYW4sIHNlY3VyZSwgYW5kCj4gIMKgwqDCoMKgwqDCoCBtb2Rlcm4gd2F5IHRv IGhhbmRsZSBzZWNyZXRzLgo+IAo+ICDCoMKgwqDCoCBvCj4gCj4gIMKgwqDCoMKgwqDCoCBJbXBs ZW1lbnRhdGlvbiBjb3VsZCBsZXZlcmFnZSB0aGUgdW5kZXJseWluZyBsb2dpYyBkZXZlbG9wZWQg Zm9yCj4gIMKgwqDCoMKgwqDCoCBkeW5maWxlOiwgbWFraW5nIGl0IGEgY29tcGFyYXRpdmVseSBz dHJhaWdodGZvcndhcmQgYWRkaXRpb24uCj4gCj4gKkFwcGxpY2FiaWxpdHkgdG8gVExTIEtleXMv UGFzc3BocmFzZXM6Kgo+IAo+IFRoZXNlIGZpbGU6LCBkeW5maWxlOiwgYW5kIHN5c2NyZWQ6bWVj aGFuaXNtcyBjb3VsZCBhbHNvIGJlIGV4dGVuZGVkIHRvIAo+IGRpcmVjdGl2ZXMgbGlrZSBhIG5l dyBUTFMgS2V5IFBhc3NwaHJhc2VpZiBCYWN1bGEgd2VyZSB0byBzdXBwb3J0IGVuY3J5cHRlZCBU TFMgCj4gcHJpdmF0ZSBrZXlzIChsZXZlcmFnaW5nIHRoZSBsaW5rZWQgT3BlblNTTCBsaWJyYXJ5 IHdoaWNoIGNhbiBoYW5kbGUgZGVjcnlwdGlvbiAKPiBnaXZlbiBhIHBhc3NwaHJhc2UpLiBUaGlz IHdvdWxkIGJlIGEgc2lnbmlmaWNhbnQgc2VjdXJpdHkgaGFyZGVuaW5nIHN0ZXAgZm9yIFRMUyAK PiBrZXlzLiBUTFMgS2V5ID0gImR5bmZpbGU6L3BhdGgvdG8va2V5X3Byb3ZpZGVkX2J5X3N5c3Rl bWQiaXMgYWxzbyBhbiBvcHRpb24gaWYgCj4gc3lzdGVtZCBwcm92aWRlcyB0aGUgZGVjcnlwdGVk IGtleSBkaXJlY3RseS4KPiAKPiAqNC4gVGhlIGNyZWRzdG9yZTpuYW1lOnNlY3JldF9pZGVudGlm aWVyRGlyZWN0aXZlIChFeHRlcm5hbCBDcmVkZW50aWFsIFN0b3JlIAo+IEhlbHBlcikqCj4gCj4g Rm9yIG1heGltdW0gZmxleGliaWxpdHkgYW5kIGludGVncmF0aW9uIHdpdGggdmFyaW91cyBzZWNy ZXQgbWFuYWdlcnMgKFZhdWx0LCBBV1MgCj4gU2VjcmV0cyBNYW5hZ2VyLCBBenVyZSBLZXkgVmF1 bHQsIGV0Yy4pIGFuZCBwbGF0Zm9ybXM6Cj4gCj4gIMKgKgo+IAo+ICDCoMKgICpTeW50YXgqOgo+ IAo+ICDCoMKgwqDCoCAqCj4gCj4gIMKgwqDCoMKgwqDCoCBJbiByZXNvdXJjZTogUGFzc3dvcmQg PQo+ICDCoMKgwqDCoMKgwqAgImNyZWRzdG9yZTpteXZhdWx0OmRhdGFiYXNlL3Byb2R1Y3Rpb24v ZGJfcGFzc3dvcmQiCj4gCj4gIMKgwqDCoMKgICoKPiAKPiAgwqDCoMKgwqDCoMKgIE5ldyBTdGFu emE6Cj4gCj4gIMKgwqDCoMKgwqDCoCB8Q3JlZHN0b3JlIHsgTmFtZSA9ICJteXZhdWx0IiBFeGVj ID0KPiAgwqDCoMKgwqDCoMKgICIvdXNyL2xvY2FsL2Jpbi9iYWN1bGEtc2VjcmV0LWhlbHBlciAt LXN0b3JlIHZhdWx0IC0tc2VjcmV0ICVzIgo+ICDCoMKgwqDCoMKgwqAgIyBPcjogRXhlYyA9ICIv dXNyL2xvY2FsL2Jpbi9mZXRjaC1mcm9tLWF3cyAtLXNlY3JldCAlcyIgVGltZW91dAo+ICDCoMKg wqDCoMKgwqAgPSA1ICMgT3B0aW9uYWwgdGltZW91dCBmb3IgdGhlIGhlbHBlciB9fAo+IAo+IAo+ ICDCoCAqCj4gIMKgICoKPiAKPiAgwqDCoCAqQmVoYXZpb3IqOgo+IAo+ICDCoMKgwqDCoCBvCj4g Cj4gIMKgwqDCoMKgwqDCoCBCYWN1bGEgZm9ya3MgYW5kIGV4ZWN1dGVzIHRoZSBzcGVjaWZpZWQg RXhlY2NvbW1hbmQsCj4gIMKgwqDCoMKgwqDCoCBzdWJzdGl0dXRpbmcgJXMob3Igb3RoZXIgcGxh Y2Vob2xkZXJzKSB3aXRoIHRoZSBzZWNyZXRfaWRlbnRpZmllci4KPiAKPiAgwqDCoMKgwqAgbwo+ IAo+ICDCoMKgwqDCoMKgwqAgVGhlIGhlbHBlciBzY3JpcHQvcHJvZ3JhbSBpcyByZXNwb25zaWJs ZSBmb3IgZmV0Y2hpbmcgdGhlIHNlY3JldAo+ICDCoMKgwqDCoMKgwqAgZnJvbSB0aGUgZXh0ZXJu YWwgc3RvcmUgYW5kIHByaW50aW5nIGl0IHRvIGl0cyBzdGFuZGFyZCBvdXRwdXQuCj4gCj4gIMKg wqDCoMKgIG8KPiAKPiAgwqDCoMKgwqDCoMKgIEJhY3VsYSByZWFkcyB0aGUgc2VjcmV0IGZyb20g dGhlIGhlbHBlcidzIHN0ZG91dC4KPiAKPiAgwqAqCj4gCj4gIMKgwqAgKkFkdmFudGFnZXMqOgo+ IAo+ICDCoMKgwqDCoCBvCj4gCj4gIMKgwqDCoMKgwqDCoCBFeHRyZW1lbHkgZmxleGlibGU6IHN1 cHBvcnRzIGFueSBzZWNyZXQgbWFuYWdlciB2aWEgY3VzdG9tCj4gIMKgwqDCoMKgwqDCoCBoZWxw ZXIgc2NyaXB0cy4KPiAKPiAgwqDCoMKgwqAgbwo+IAo+ICDCoMKgwqDCoMKgwqAgUGxhdGZvcm0t YWdub3N0aWMgY29yZSBtZWNoYW5pc20gKGV4ZWMpLgo+IAo+ICDCoMKgwqDCoCBvCj4gCj4gIMKg wqDCoMKgwqDCoCBBbGlnbnMgd2l0aCBob3cgbWFueSBvdGhlciBlbnRlcnByaXNlIHRvb2xzIG1h bmFnZSBleHRlcm5hbGl6ZWQKPiAgwqDCoMKgwqDCoMKgIHNlY3JldHMuCj4gCj4gIMKgKgo+IAo+ ICDCoMKgICpDb25zaWRlcmF0aW9ucyo6Cj4gCj4gIMKgwqDCoMKgIG8KPiAKPiAgwqDCoMKgwqDC oMKgIFNpZ25pZmljYW50bHkgbW9yZSBpbnZvbHZlZCB0byBpbXBsZW1lbnQgaW4gQmFjdWxhIChw cm9jZXNzCj4gIMKgwqDCoMKgwqDCoCBtYW5hZ2VtZW50LCBJUEMsIHRpbWVvdXQgaGFuZGxpbmcs IGVycm9yIGNoZWNraW5nIGZyb20gaGVscGVyLAo+ICDCoMKgwqDCoMKgwqAgYXJndW1lbnQgc3Vi c3RpdHV0aW9uKS4KPiAKPiAgwqDCoMKgwqAgbwo+IAo+ICDCoMKgwqDCoMKgwqAgUG90ZW50aWFs IHBlcmZvcm1hbmNlIGltcGxpY2F0aW9ucyBpZiBzZWNyZXRzIGFyZSBmZXRjaGVkIHZlcnkKPiAg wqDCoMKgwqDCoMKgIGZyZXF1ZW50bHkgKHRob3VnaCBjYWNoaW5nIHdpdGhpbiBCYWN1bGEgY291 bGQgbWl0aWdhdGUgdGhpcykuCj4gCj4gIMKgwqDCoMKgIG8KPiAKPiAgwqDCoMKgwqDCoMKgIENh cmVmdWwgZGVzaWduIG5lZWRlZCBmb3IgY29uZmlnIGNoZWNrIG1vZGUgKGUuZy4sIHNob3VsZAo+ ICDCoMKgwqDCoMKgwqAgaGVscGVycyBiZSBleGVjdXRlZD8pLgo+IAo+ICpEaXNjdXNzaW9uIFBv aW50czoqCj4gCj4gIMKgKgo+IAo+ICDCoMKgIElzIHRoZXJlIGdlbmVyYWwgaW50ZXJlc3QgaW4g dGhlc2UgdHlwZXMgb2YgZW5oYW5jZW1lbnRzLAo+ICDCoMKgIHVuZGVyc3RhbmRpbmcgdGhleSB3 b3VsZCBiZSBvcHRpb25hbCBhZGRpdGlvbnM/Cj4gCj4gIMKgKgo+IAo+ICDCoCoKPiAKPiAgwqDC oCBXb3VsZCB0aGUgcHJvcG9zZWQgZmlsZTpkaXJlY3RpdmUgYmUgYSB3ZWxjb21lIGZvdW5kYXRp b25hbCBmZWF0dXJlPwo+IAo+ICDCoCoKPiAKPiAgwqDCoCBGb2xsb3dpbmcgdGhhdCwgd291bGQg ZHluZmlsZTood2l0aCBpdHMgc3BlY2lmaWMgY29uZmlnLWNoZWNrCj4gIMKgwqAgYmVoYXZpb3Ip IGJlIGEgZ29vZCBuZXh0IHN0ZXA/Cj4gCj4gIMKgKgo+IAo+ICDCoMKgIEdpdmVuIGl0cyBwb3Rl bnRpYWwgZWFzZSBvZiBpbXBsZW1lbnRhdGlvbiBhbmQgd2lkZSB1c2VyIGJhc2Ugb24KPiAgwqDC oCBzeXN0ZW1kLCBpcyBzeXNjcmVkOmEgZGVzaXJhYmxlIHNpbXBsaWZpY2F0aW9uLCBkZXNwaXRl IGJlaW5nCj4gIMKgwqAgT1Mtc3BlY2lmaWM/Cj4gCj4gIMKgKgo+IAo+ICDCoMKgIElzIHRoZSBt b3JlIGNvbXByZWhlbnNpdmUgY3JlZHN0b3JlOmV4ZWM6bW9kZWwgc29tZXRoaW5nIHRoZQo+ICDC oMKgIGNvbW11bml0eSBzZWVzIGEgbG9uZy10ZXJtIG5lZWQgZm9yLCBkZXNwaXRlIHRoZSBpbXBs ZW1lbnRhdGlvbiBlZmZvcnQ/Cj4gCj4gIMKgKgo+IAo+ICDCoMKgIEFyZSB0aGVyZSBvdGhlciBh cHByb2FjaGVzIG9yIGNvbnNpZGVyYXRpb25zIEkgbWlnaHQgaGF2ZSBtaXNzZWQ/Cj4gCj4gSSBi ZWxpZXZlIGV2ZW4gdGhlIHNpbXBsZXIgZHluZmlsZTphbmQgc3lzY3JlZDpvcHRpb25zIHdvdWxk IG9mZmVyIHN1YnN0YW50aWFsIAo+IGJlbmVmaXRzIHRvIG1hbnkgQmFjdWxhIHVzZXJzIGJ5IGlt cHJvdmluZyBzZWN1cml0eSBhbmQgbWFuYWdlYWJpbGl0eSB3aXRob3V0IAo+IGltcGFjdGluZyBl eGlzdGluZyBzZXR1cHMuIFRoZSBjcmVkc3RvcmU6YXBwcm9hY2ggcHJvdmlkZXMgYSBwYXRoIGZv ciBldmVuIG1vcmUgCj4gYWR2YW5jZWQgaW50ZWdyYXRpb25zLgo+IAo+IExvb2tpbmcgZm9yd2Fy ZCB0byB5b3VyIHRob3VnaHRzIGFuZCBmZWVkYmFjay4KPiAKPiBUaGFua3MsCj4gCj4gQ2xpbnRv biBCdW5jaAo+IAo+IAo+IAo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCj4gQmFjdWxhLWRldmVsIG1haWxpbmcgbGlzdAo+IEJhY3VsYS1kZXZlbEBsaXN0 cy5zb3VyY2Vmb3JnZS5uZXQKPiBodHRwczovL2xpc3RzLnNvdXJjZWZvcmdlLm5ldC9saXN0cy9s aXN0aW5mby9iYWN1bGEtZGV2ZWwKCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KQmFjdWxhLWRldmVsIG1haWxpbmcgbGlzdApCYWN1bGEtZGV2ZWxAbGlz dHMuc291cmNlZm9yZ2UubmV0Cmh0dHBzOi8vbGlzdHMuc291cmNlZm9yZ2UubmV0L2xpc3RzL2xp c3RpbmZvL2JhY3VsYS1kZXZlbAo=