LyoKICogV2luZUNmZyByZXNvdXJjZXMKICogU3BhbmlzaCBMYW5ndWFnZSBTdXBwb3J0CiAqCiAqIENvcHlyaWdodCAyMDAzLTIwMDcgSm9z6SBNYW51ZWwgRmVycmVyIE9ydGl6CiAqCiAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKICogdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAqCiAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQogKiBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgogKgogKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAqIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3QsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQQogKgogKi8KCkxBTkdVQUdFIExBTkdfU1BBTklTSCwgU1VCTEFOR19ORVVUUkFMCgpJRFJfV0lORUNGRyBNRU5VIERJU0NBUkRBQkxFCkJFR0lOCiAgICBQT1BVUCAiIgogICAgQkVHSU4KICAgICAgICBNRU5VSVRFTSAiQ29uZmlndXJlIiwgSURDX0FVRElPX0NPTkZJR1VSRQogICAgRU5ECkVORAoKSUREX0FCT1VUQ0ZHIERJQUxPR0VYIDAsIDAsIDI2MCwgMjcwClNUWUxFIFdTX0NISUxECkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKQkVHSU4KICAgIExURVhUICAgICAgICAgICBQQUNLQUdFX1NUUklORyxJRENfU1RBVElDLDExOSwxNywxMjAsOAogICAgQ09OVFJPTCAgICAgICAgIElEQl9XSU5FLElEQ19TVEFUSUMsIlN0YXRpYyIsU1NfQklUTUFQICwxNSwxNywxNTcsMTExCiAgICBMVEVYVCAgICAgICAgICAgImh0dHA6Ly93d3cud2luZWhxLm9yZy8iLElEQ19TVEFUSUMsMTE5LDMxLDEwNiw4CiAgICBMVEVYVCAgICAgICAgICAgIlRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uIiwKICAgICAgICAgICAgICAgICAgICBJRENfU1RBVElDLDExOSw0NCwxMjQsNzIKRU5ECgpJRERfQVBQQ0ZHIERJQUxPRyBESVNDQVJEQUJMRSAgMCwgMCwgMjYwLCAyNTAKU1RZTEUgV1NfQ0hJTEQgfCBXU19ESVNBQkxFRApGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBHUk9VUEJPWCAgICAgICAgIiBDb25maWd1cmFjafNuIGRlIGFwbGljYWNpb25lcyAiLElEQ19TVEFUSUMsIDgsNCwyNDQsMjQwCiAgICBMVEVYVCAgICAgICAgICAgIldpbmUgcHVlZGUgaW1pdGFyIGRpc3RpbnRhcyB2ZXJzaW9uZXMgZGUgV2luZG93cyBwYXJhIGNhZGEgYXBsaWNhY2nzbi4gRXN0YSBwZXN0YfFhIGVzdOEgZW5sYXphZGEgYSBsYXMgZGUgTGlicmVy7WFzIHkgR3LhZmljb3MgcGFyYSBwb2RlciBjYW1iaWFyIGVuIGVsbGFzIGxhIGNvbmZpZ3VyYWNp824gZ2xvYmFsIHkvbyBsYSBkZSBwb3IgYXBsaWNhY2nzbi4iLAogICAgICAgICAgICAgICAgICAgIElEQ19TVEFUSUMsMTUsMjAsMjI3LDMwCiAgICBDT05UUk9MICAgICAgICAgIkFwbGljYWNpb25lcyIsSURDX0FQUF9MSVNUVklFVywiU3lzTGlzdFZpZXczMiIsV1NfQk9SREVSIHwgV1NfVEFCU1RPUCB8IExWU19MSVNUIHwgTFZTX1NJTkdMRVNFTCB8IExWU19TSE9XU0VMQUxXQVlTLAogICAgICAgICAgICAgICAgICAgIDE1LDUwLDIzMCwxNTAKICAgIFBVU0hCVVRUT04gICAgICAiJkHxYWRpciBhcGxpY2FjafNuLi4uIixJRENfQVBQX0FEREFQUCwgOTAsMjA0LDc1LDE0CiAgICBQVVNIQlVUVE9OICAgICAgIiZFbGltaW5hciBhcGxpY2FjafNuLi4uIixJRENfQVBQX1JFTU9WRUFQUCwgMTcwLDIwNCw3NSwxNAogICAgTFRFWFQgICAgICAgICAgICImVmVyc2nzbiBhIGltaXRhcjoiLElEQ19TVEFUSUMsMTcsMjI2LDU4LDE2CiAgICBDT01CT0JPWCAgICAgICAgSURDX1dJTlZFUiw4MywyMjQsMTYzLDU2LENCU19EUk9QRE9XTkxJU1QgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUCAgICAKRU5ECgpJRERfR1JBUEhDRkcgRElBTE9HIERJU0NBUkRBQkxFICAwLCAwLCAyNjAsIDI1MApTVFlMRSBXU19DSElMRCB8IFdTX0RJU0FCTEVECkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKQkVHSU4KICAgIEdST1VQQk9YICAgICAgICAiIENvbmZpZ3VyYWNp824gZGUgdmVudGFuYXMgIixJRENfU1RBVElDLDgsNCwyNDQsMTgwCgogICAgQ09OVFJPTCAgICAgICAgIlBlcm1pdGlyIGEgbG9zIHByb2dyYW1hcyBEaXJlY3RYIHJldGVuZXIgZWwgcmF0824gZW4gc3VzIHZlbnRhbmFzIixJRENfRFhfTU9VU0VfR1JBQiwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QLDE1LDE0LDIzMCw4CiAgICBMVEVYVCAgICAgICAgICAiU2kgbGFzIHZlbnRhbmFzIHNvbiBnZXN0aW9uYWRhcyBwb3Igc3UgZ2VzdG9yIGRlIHZlbnRhbmFzLCB0ZW5kcuFuIGxvcyBib3JkZXMgZXN04W5kYXIsIHJlc3BldGFy4W4gc3UgZXNjcml0b3JpbyB2aXJ0dWFsIHkgYXBhcmVjZXLhbiBlbiBzdSBsaXN0YSBkZSB2ZW50YW5hcy5cblxuU2kgbGFzIHZlbnRhbmFzIG5vIHNvbiBnZXN0aW9uYWRhcywgZXN0YXLhbiBkZXNjb25lY3RhZGFzIGRlIHN1IGdlc3RvciBkZSB2ZW50YW5hcy4gRXN0byBzaWduaWZpY2EgcXVlIGxhcyB2ZW50YW5hcyBubyBzZSBpbnRlZ3JhcuFuIHRhbnRvIGNvbiBzdSBlc2NyaXRvcmlvLCBwZXJvIGxhIGVtdWxhY2nzbiBzZXLhIG3hcyBwcmVjaXNhIHBvciBsbyBxdWUgcHVlZGUgaGFjZXIgcXVlIGFsZ3Vub3MgcHJvZ3JhbWFzIGZ1bmNpb25lbiBtZWpvci4iLAoJCSAgICBJRENfU1RBVElDLDE1LDM3LDIyOCw4MAogICAgQ09OVFJPTCAgICAgICAgIlBlcm1pdGlyIGFsIGdlc3RvciBkZSB2ZW50YW5hcyBjb250cm9sYXIgbGFzIHZlbnRhbmFzIixJRENfRU5BQkxFX01BTkFHRUQsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUCwxNSwxMTEsMjMwLDgKCiAgICBMVEVYVCAgICAgICAgICAgIlB1ZWRlIGVsZWdpciBlbnRyZSB0ZW5lciB0b2RhcyBsYXMgYXBsaWNhY2lvbmVzIGRlIFdpbmRvd3MgY29uZmluYWRhcyBhIPpuaWNhIHZlbnRhbmEgcXVlIGFjdPplIGNvbW8gdW4gZXNjcml0b3JpbyB2aXJ0dWFsLCBvIGJpZW4gaGFjZXIgcXVlIHNlIGNvbXBvcnRlbiBjb21vIHN1cyBvdHJhcyBhcGxpY2FjaW9uZXMuIiwKICAgICAgICAgICAgICAgICAgICBJRENfU1RBVElDLDE1LDEyNSwyMjgsMjgKICAgIExURVhUICAgICAgICAgICAiRGltZW5zaW9uZXM6IixJRENfREVTS1RPUF9TSVpFLDE1LDE2Nyw0NCw4LFdTX0RJU0FCTEVECiAgICBMVEVYVCAgICAgICAgICAgIlgiLElEQ19ERVNLVE9QX0JZLDEwOCwxNjcsOCw4LFdTX0RJU0FCTEVECiAgICBDT05UUk9MICAgICAgICAgIkVtdWxhciB1biBlc2NyaXRvcmlvIHZpcnR1YWwiLElEQ19FTkFCTEVfREVTS1RPUCwiQnV0dG9uIiwKICAgICAgICAgICAgICAgICAgICBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QLDE1LDE1MiwyMzAsMTAKCiAgICBFRElUVEVYVCAgICAgICAgSURDX0RFU0tUT1BfV0lEVEgsNjQsMTY3LDQwLDEyLEVTX0FVVE9IU0NST0xMIHwgRVNfTlVNQkVSIHwgV1NfRElTQUJMRUQKICAgIEVESVRURVhUICAgICAgICBJRENfREVTS1RPUF9IRUlHSFQsMTE3LDE2Nyw0MCwxMixFU19BVVRPSFNDUk9MTCB8IEVTX05VTUJFUiB8IFdTX0RJU0FCTEVECgogICAgR1JPVVBCT1ggICAgICAgICIgRGlyZWN0M0QgIixJRENfU1RBVElDLDgsMTg5LDI0NCw1MAoKICAgIExURVhUICAgICAgICAgICAiU29wb3J0ZSBWZXJ0ZXggU2hhZGVyOiAiLElEQ19TVEFUSUMsMTUsMTk5LDgwLDMwCiAgICBDT01CT0JPWCAgICAgICAgSURDX0QzRF9WU0hBREVSX01PREUsMTAwLDE5NywxNDUsNzAsQ0JTX0RST1BET1dOTElTVCB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCgogICAgQ09OVFJPTCAgICAgICAgICJQZXJtaXRpciBQaXhlbCBTaGFkZXIgKHNpIGhheSBzb3BvcnRlIHBvciBoYXJkd2FyZSkiLElEQ19EM0RfUFNIQURFUl9NT0RFLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AsMTUsMjE2LDIzMCwxMAogICAgR1JPVVBCT1ggICAgICAgICIgU2NyZWVuIFJlc29sdXRpb24gIixJRENfU1RBVElDLDgsMjQyLDI0NCwyNQogICAgQ09OVFJPTCAgICAgICAgICIiLCBJRENfUkVTX1RSQUNLQkFSLCAibXNjdGxzX3RyYWNrYmFyMzIiLFdTX1RBQlNUT1AsMTIsMjUwLDE4NywxNQogICAgRURJVFRFWFQgICAgICAgIElEQ19SRVNfRFBJRURJVCwyMDQsMjUwLDIzLDEzLEVTX05VTUJFUnxXU19UQUJTVE9QCiAgICBMVEVYVCAgICAgICAgICAgImRwaSIsSURDX1NUQVRJQywyMzUsMjUyLDEwLDgKRU5ECgpJRERfRExMQ0ZHIERJQUxPRyBESVNDQVJEQUJMRSAgMCwgMCwgMjYwLCAyNTAKU1RZTEUgV1NfQ0hJTEQgfCBXU19ESVNBQkxFRApGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBHUk9VUEJPWCAgICAgICAgIiBSZWVtcGxhem9zIGRlIERMTCAiLElEQ19TVEFUSUMsOCw0LDI0NCwyNDAKICAgIExURVhUICAgICAgICAgICAiQ2FkYSBsaWJyZXLtYSBkZSBlbmxhY2UgZGlu4W1pY28gc2UgcHVlZGUgZXNwZWNpZmljYXIgcGFyYSBxdWUgc2VhIGxhIGludGVybmEgKHByb3BvcmNpb25hZGEgcG9yIFdpbmUpIG8gbGEgbmF0aXZhIChvYnRlbmlkYSBkZSBXaW5kb3dzIG8gcHJvcG9yY2lvbmFkYSBwb3IgbGEgYXBsaWNhY2nzbikuIgogICAgICAgICAgICAgICAgICAgICxJRENfU1RBVElDLDE2LDE2LDIyMCwzMgogICAgTFRFWFQgICAgICAgICAgICJOdWV2byByZWVtcGxhem8gcGFyYSBsaWJyZXLtYToiLElEQ19TVEFUSUMsMTYsNTgsMTAwLDgKICAgIENPTUJPQk9YICAgICAgICBJRENfRExMQ09NQk8sMTYsNjgsMTQwLDE0LENCU19EUk9QRE9XTiB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QIHwgQ0JTX1NPUlQgfCBDQlNfTE9XRVJDQVNFCiAgICBQVVNIQlVUVE9OICAgICAgIiZB8WFkaXIiLElEQ19ETExTX0FERERMTCwgMTY0LDY4LDgyLDEzLEJTX0RFRlBVU0hCVVRUT04KICAgIExURVhUICAgICAgICAgICAiUmVlbXBsYXpvcyBleGlzdGVudGVzOiIsSURDX1NUQVRJQywxNiw4NiwxMDAsOAogICAgTElTVEJPWCAgICAgICAgIElEQ19ETExTX0xJU1QsMTYsOTYsMTQwLDE0MCxXU19CT1JERVIgfCBXU19UQUJTVE9QIHwgV1NfVlNDUk9MTAogICAgUFVTSEJVVFRPTiAgICAgICImRWRpdGFyIixJRENfRExMU19FRElURExMLDE2NCw5Niw4MiwxNAogICAgUFVTSEJVVFRPTiAgICAgICJFJmxpbWluYXIiLElEQ19ETExTX1JFTU9WRURMTCwxNjQsMTE0LDgyLDE0CkVORAoKSUREX0xPQURPUkRFUiBESUFMT0cgRElTQ0FSREFCTEUgODAsIDkwLCAxMjAsIDkyClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJFZGl0YXIgcmVlbXBsYXpvIgpGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBHUk9VUEJPWCAgICAgICAgIiBPcmRlbiBkZSBjYXJnYSAiLElEQ19TVEFUSUMsOCw0LDEwNCw2NgogICAgQ09OVFJPTCAgICAgICAgICImSW50ZXJuYSAoV2luZSkiLElEQ19SQURfQlVJTFRJTiwiQnV0dG9uIiwgQlNfQVVUT1JBRElPQlVUVE9OIHwgV1NfR1JPVVAsMTYsMTQsODUsMTAKICAgIENPTlRST0wgICAgICAgICAiJk5hdGl2YSAoV2luZG93cykiLElEQ19SQURfTkFUSVZFLCJCdXR0b24iLCBCU19BVVRPUkFESU9CVVRUT04sMTYsMjQsODUsMTAKICAgIENPTlRST0wgICAgICAgICAiSSZudGVybmEgeSBsdWVnbyBuYXRpdmEiLElEQ19SQURfQlVJTFRJTl9OQVRJVkUsIkJ1dHRvbiIsIEJTX0FVVE9SQURJT0JVVFRPTiwxNiwzNCw4NSwxMAogICAgQ09OVFJPTCAgICAgICAgICJOYXRpJnZhIHkgbHVlZ28gaW50ZXJuYSIsSURDX1JBRF9OQVRJVkVfQlVJTFRJTiwiQnV0dG9uIiwgQlNfQVVUT1JBRElPQlVUVE9OLDE2LDQ0LDg1LDEwCiAgICBDT05UUk9MICAgICAgICAgIiZEZXNoYWJpbGl0YXIiLElEQ19SQURfRElTQUJMRSwiQnV0dG9uIiwgQlNfQVVUT1JBRElPQlVUVE9OLDE2LDU0LDg1LDEwCiAgICBERUZQVVNIQlVUVE9OICAgIkFjZXB0YXIiLElET0ssOCw3NCw1MCwxNCxXU19HUk9VUAogICAgUFVTSEJVVFRPTiAgICAgICJDYW5jZWxhciIsSURDQU5DRUwsNjIsNzQsNTAsMTQsV1NfR1JPVVAKRU5ECgpJRERfRFJJVkVDRkcgRElBTE9HIERJU0NBUkRBQkxFICAwLCAwLCAyNjAsIDI1MApTVFlMRSBXU19DSElMRCB8IFdTX0RJU0FCTEVECkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKQkVHSU4KICAgIEdST1VQQk9YICAgICAgICAiIE1hcGVvcyBkZSB1bmlkYWQgIixJRENfU1RBVElDLDgsNCwyNDQsMjQwCiAgICBDT05UUk9MICAgICAgICAgIkxpc3R2aWV3IixJRENfTElTVF9EUklWRVMsIlN5c0xpc3RWaWV3MzIiLExWU19SRVBPUlQgfCBMVlNfQVVUT0FSUkFOR0UgfCBMVlNfQUxJR05MRUZUIHwKICAgICAgICAgICAgICAgICAgICBMVlNfU0lOR0xFU0VMIHwgV1NfQk9SREVSIHwgV1NfVEFCU1RPUCwgMTUsMTgsMjMyLDc2CiAgICBQVVNIQlVUVE9OICAgICAgIiZB8WFkaXIuLi4iLElEQ19CVVRUT05fQURELDE1LDk4LDM3LDE0CiAgICBQVVNIQlVUVE9OICAgICAgIiZFbGltaW5hciIsSURDX0JVVFRPTl9SRU1PVkUsNTYsOTgsMzcsMTQKICAgIFBVU0hCVVRUT04gICAgICAiQXV0byZkZXRlY3Rhci4uLiIsSURDX0JVVFRPTl9BVVRPREVURUNULDE5Nyw5OCw0OSwxNAoKICAgIC8qIGVkaXRpbmcgZHJpdmUgZGV0YWlscyAqLwogICAgTFRFWFQgICAgICAgICAgICImUnV0YToiLElEQ19TVEFUSUMsMTUsMTIzLDIwLDkKICAgIEVESVRURVhUICAgICAgICBJRENfRURJVF9QQVRILDQxLDEyMCwxNjAsMTMsRVNfQVVUT0hTQ1JPTEwgfCBXU19UQUJTVE9QCiAgICBQVVNIQlVUVE9OICAgICAgIiZFeGFtaW5hci4uLiIsSURDX0JVVFRPTl9CUk9XU0VfUEFUSCwyMDYsMTIwLDQwLDEzCgogICAgTFRFWFQgICAgICAgICAgICImVGlwbzoiLElEQ19TVEFUSUNfVFlQRSwxNSwxMzgsMjEsMTAKICAgIENPTUJPQk9YICAgICAgICBJRENfQ09NQk9fVFlQRSw0MSwxMzUsNzcsNjAsQ0JTX0RST1BET1dOTElTVCB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCgogICAgTFRFWFQgICAgICAgICAgICJFdGlxdWV0YSB5IG76bS4gZGUgc2VyaWUiLElEQ19MQUJFTFNFUklBTF9TVEFUSUMsMTUsMTU1LDk1LDEwCgogICAgUFVTSEJVVFRPTiAgICAgICImTW9zdHJhciBhdmFuemFkbyIsSURDX0JVVFRPTl9TSE9XX0hJREVfQURWQU5DRUQsMTg2LDEzNiw2MCwxMwogICAgQ09OVFJPTCAgICAgICAgICJBdXRvZGV0ZWN0YXIgJmRlc2RlIGRpc3Bvc2l0aXZvOiIsSURDX1JBRElPX0FVVE9ERVRFQ1QsIkJ1dHRvbiIsCiAgICAgICAgICAgICAgICAgICAgQlNfQVVUT1JBRElPQlVUVE9OLDE1LDE2Niw5MywxMAogICAgRURJVFRFWFQgICAgICAgIElEQ19FRElUX0RFVklDRSwyNywxNzYsMTc0LDEzLEVTX0FVVE9IU0NST0xMCiAgICBQVVNIQlVUVE9OICAgICAgIkUmeGFtaW5hci4uLiIsSURDX0JVVFRPTl9CUk9XU0VfREVWSUNFLDIwNiwxNzYsNDAsMTMKICAgIENPTlRST0wgICAgICAgICAiQSZzaWduYXIgbWFudWFsbWVudGU6IixJRENfUkFESU9fQVNTSUdOLCJCdXR0b24iLAogICAgICAgICAgICAgICAgICAgIEJTX0FVVE9SQURJT0JVVFRPTiwxNSwxOTUsNjksMTAKCiAgICBMVEVYVCAgICAgICAgICAgIiZFdGlxdWV0YToiLElEQ19TVEFUSUNfTEFCRUwsMzMsMjA4LDI5LDEyCiAgICBFRElUVEVYVCAgICAgICAgSURDX0VESVRfTEFCRUwsNjMsMjA1LDc4LDEzLEVTX0FVVE9IU0NST0xMIHwgV1NfVEFCU1RPUAogICAgTFRFWFQgICAgICAgICAgICImTrogc2VyaWU6IixJRENfU1RBVElDX1NFUklBTCwzMywyMjUsMjksMTIKICAgIEVESVRURVhUICAgICAgICBJRENfRURJVF9TRVJJQUwsNjMsMjIxLDc4LDEzLEVTX0FVVE9IU0NST0xMIHwgV1NfVEFCU1RPUAoKICAgIENPTlRST0wgICAgICAgICAiTW9zdHJhciBmaWNoZXJvcyBwdW50byIsSURDX1NIT1dfRE9UX0ZJTEVTLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AsOCwyNjAsMjMwLDgKRU5ECgpJRERfQVVESU9DRkcgRElBTE9HIERJU0NBUkRBQkxFICAwLCAwLCAyNjAsIDI1MApTVFlMRSBXU19DSElMRCB8IFdTX0RJU0FCTEVECkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKQkVHSU4KICAgIEdST1VQQk9YICAgICAgICAiIFNlbGVjY2nzbiBkZSBtYW5lamFkb3IgIixJRENfU1RBVElDLDgsNCwyNDQsMTk1CiAgICBMVEVYVCAgICAgICAgICAgIlNlbGVjY2lvbmUgdW4gbWFuZWphZG9yIGRlIHNvbmlkbyBtYXJjYW5kbyBsYSBjYXNpbGxhIGRlbCBkZXNlYWRvLiBQYXJhIGRlc2hhYmlsaXRhciBlbCBzb25pZG8gbm8gc2VsZWNjaW9uZSBuaW5ndW5vLiBObyBzZSByZWNvbWllbmRhIGxhIHNlbGVjY2nzbiBkZSBt4XMgZGUgdW4gbWFuZWphZG9yLiBQYXJhIGNvbmZpZ3VyYXIgdW4gbWFuZWphZG9yIGhhZ2EgZG9ibGUgY2xpY2sgc29icmUg6WwuIixJRENfU1RBVElDLDE1LDE1LDIyNywzNQogICAgQ09OVFJPTCAgICAgICAgICJEaXNwb3NpdGl2b3MiLElEQ19BVURJT19UUkVFLCJTeXNUcmVlVmlldzMyIixXU19CT1JERVIgfCBXU19UQUJTVE9QLDE1LDUwLDE0MCwxNDAKICAgIFBVU0hCVVRUT04gICAgICAiUHJvYmFyIHNvbmlkbyIsSURDX0FVRElPX1RFU1QsMTcwLDUwLDU5LDE0CiAgICBQVVNIQlVUVE9OICAgICAgIlBhbmVsIGRlIGNvbnRyb2wiLElEQ19BVURJT19DT05UUk9MX1BBTkVMLDE3MCw3MCw1OSwxNAogICAgR1JPVVBCT1ggICAgICAgICIgRGlyZWN0U291bmQgIixJRENfU1RBVElDLDgsMjA1LDI0NCw2MAogICAgTFRFWFQgICAgICAgICAgICJBY2VsZXJhY2nzbiBIYXJkd2FyZTogIixJRENfU1RBVElDLDE1LDIxNSw5MCwxMAogICAgQ09NQk9CT1gJICAgIElEQ19EU09VTkRfSFdfQUNDRUwsMTAwLDIxMywxNTAsNzAsQ0JTX0RST1BET1dOTElTVCB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiAgICBMVEVYVCAgICAgICAgICAgIkZyZWN1ZW5jaWEgbXVlc3RyZW86IixJRENfU1RBVElDLDE1LDIzMiw3MCw4CiAgICBDT01CT0JPWCAgICAgICAgSURDX0RTT1VORF9SQVRFUyw5MCwyMzAsNDIsNzYsQ0JTX0RST1BET1dOTElTVCB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiAgICBMVEVYVCAgICAgICAgICAgIkJpdHMgcG9yIG11ZXN0cmE6IixJRENfU1RBVElDLDEzNywyMzIsODAsOAogICAgQ09NQk9CT1ggICAgICAgIElEQ19EU09VTkRfQklUUywyMjAsMjMwLDMwLDU2LENCU19EUk9QRE9XTkxJU1QgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogICAgQ09OVFJPTCAgICAgICAgICJFbXVsYWNp824gZGVsIG1hbmVqYWRvciIsSURDX0RTT1VORF9EUlZfRU1VTCwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QLDE1LDI1MCwyMzAsMTAKRU5ECgpJRERfREVTS1RPUF9JTlRFR1JBVElPTiBESUFMT0cgRElTQ0FSREFCTEUgIDAsIDAsIDI2MCwgMjUwClNUWUxFIFdTX0NISUxEIHwgV1NfRElTQUJMRUQKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogICAgR1JPVVBCT1ggICAgICAgICIgQXBhcmllbmNpYSAiLElEQ19TVEFUSUMsOCw0LDI0NCwxMDYKICAgIExURVhUICAgICAgICAgICAiVGVtYToiLElEQ19TVEFUSUMsMTUsMTYsMTMwLDgKICAgIENPTUJPQk9YICAgICAgICBJRENfVEhFTUVfVEhFTUVDT01CTywxNSwyNCwxMzAsMTQsQ0JTX0RST1BET1dOTElTVCB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiAgICBQVVNIQlVUVE9OICAgICAgIkluc3RhbGFyIHRlbWEuLi4iLElEQ19USEVNRV9JTlNUQUxMLDE1MiwyMyw5MywxNAogICAgTFRFWFQgICAgICAgICAgICJDb2xvcjoiLElEQ19USEVNRV9DT0xPUlRFWFQsMTUsNDAsMTEyLDgKICAgIENPTUJPQk9YICAgICAgICBJRENfVEhFTUVfQ09MT1JDT01CTywxNSw0OCwxMTIsMTQsQ0JTX0RST1BET1dOTElTVCB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiAgICBMVEVYVCAgICAgICAgICAgIlRhbWHxbzoiLElEQ19USEVNRV9TSVpFVEVYVCwxMzUsNDAsMTEwLDgKICAgIENPTUJPQk9YICAgICAgICBJRENfVEhFTUVfU0laRUNPTUJPLDEzNSw0OCwxMTAsMTQsQ0JTX0RST1BET1dOTElTVCB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiAgICBMVEVYVCAgICAgICAgICAgIkVsZW1lbnRvOiIsSURDX1NUQVRJQywxNSw2NCwxMTIsOAogICAgQ09NQk9CT1ggICAgICAgIElEQ19TWVNQQVJBTV9DT01CTywxNSw3NCwxMTIsMTIwLENCU19EUk9QRE9XTkxJU1QgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUCB8IENCU19TT1JUCiAgICBMVEVYVCAgICAgICAgICAgIkNvbG9yOiIsSURDX1NZU1BBUkFNX0NPTE9SX1RFWFQsMTM1LDY0LDI1LDgsV1NfRElTQUJMRUQKICAgIFBVU0hCVVRUT04gICAgICAiIixJRENfU1lTUEFSQU1fQ09MT1IsMTM1LDc0LDI1LDEzLFdTX0RJU0FCTEVEIHwgQlNfT1dORVJEUkFXCiAgICBMVEVYVCAgICAgICAgICAgIlRhbWHxbzoiLElEQ19TWVNQQVJBTV9TSVpFX1RFWFQsMTY2LDY0LDMwLDgsV1NfRElTQUJMRUQKICAgIEVESVRURVhUICAgICAgICBJRENfU1lTUEFSQU1fU0laRSwxNjYsNzQsMjMsMTMsRVNfQVVUT0hTQ1JPTEwgfCBXU19UQUJTVE9QIHwgV1NfRElTQUJMRUQKICAgIENPTlRST0wgICAgICAgICAiIixJRENfU1lTUEFSQU1fU0laRV9VRCxVUERPV05fQ0xBU1MsVURTX1NFVEJVRERZSU5UIHwgV1NfRElTQUJMRUQsMTg3LDc0LDE1LDEzCiAgICBQVVNIQlVUVE9OICAgICAgIkZ1ZW50ZSIsSURDX1NZU1BBUkFNX0ZPTlQsMjA4LDc0LDM3LDEzLFdTX0RJU0FCTEVECiAgICBHUk9VUEJPWCAgICAgICAgIiBDYXJwZXRhcyBkZWwgc2lzdGVtYSAiLElEQ19TVEFUSUMsOCwxMTQsMjQ0LDEwMAogICAgQ09OVFJPTCAgICAgICAgICJMaXN0dmlldyIsSURDX0xJU1RfU0ZQQVRIUywiU3lzTGlzdFZpZXczMiIsTFZTX1JFUE9SVCB8IExWU19BVVRPQVJSQU5HRSB8IExWU19BTElHTkxFRlQgfAogICAgICAgICAgICAgICAgICAgICBMVlNfU0lOR0xFU0VMIHwgV1NfQk9SREVSIHwgV1NfVEFCU1RPUCwgMTUsMTI2LDIzMCw2NAogICAgQ09OVFJPTCAgICAgICAgICJFbmxhY2UgYToiLElEQ19MSU5LX1NGUEFUSCwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1h8V1NfVEFCU1RPUHxXU19ESVNBQkxFRCwxNSwxOTUsNTAsMTMKICAgIEVESVRURVhUICAgICAgICAgSURDX0VESVRfU0ZQQVRILDY1LDE5NSwxNDUsMTMsRVNfQVVUT0hTQ1JPTEx8V1NfVEFCU1RPUHxXU19ESVNBQkxFRAogICAgUFVTSEJVVFRPTiAgICAgICJFeHBsb3JhciIsSURDX0JST1dTRV9TRlBBVEgsMjE1LDE5NSwzMCwxMyxXU19ESVNBQkxFRApFTkQKClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCkJFR0lOCiAgICBJRFNfV0lORV9WRVJTSU9OICAgICAgICAiQ1ZTIgogICAgSURTX1RBQl9BUFBMSUNBVElPTlMgICAgIkFwbGljYWNpb25lcyIKICAgIElEU19UQUJfRExMUyAgICAgICAgICAgICJMaWJyZXLtYXMiCiAgICBJRFNfVEFCX0RSSVZFUyAgICAgICAgICAiVW5pZGFkZXMiCiAgICBJRFNfQ0hPT1NFX1BBVEggICAgICAgICAiUG9yIGZhdm9yLCBzZWxlY2Npb25lIGVsIGRpcmVjdG9yaW8gdW5peC4iCiAgICBJRFNfSElERV9BRFZBTkNFRCAgICAgICAiT2N1bHRhciBhdmFuemFkbyIKICAgIElEU19TSE9XX0FEVkFOQ0VEICAgICAgICJNb3N0cmFyIGF2YW56YWRvIgogICAgSURTX05PVEhFTUUgICAgICAgICAgICAgIihOaW5n+m4gdGVtYSkiCiAgICBJRFNfVEFCX0dSQVBISUNTICAgICAgICAiR3LhZmljb3MiCiAgICBJRFNfVEFCX0RFU0tUT1BfSU5URUdSQVRJT04gIkludGVncmFjafNuIGRlIGVzY3JpdG9yaW8iCiAgICBJRFNfVEFCX0FVRElPICAgICAgICAgICAiQXVkaW8iCiAgICBJRFNfVEFCX0FCT1VUICAgICAgICAgICAiQWNlcmNhIGRlIgogICAgSURTX1dJTkVDRkdfVElUTEUgICAgICAgIkNvbmZpZ3VyYWNp824gZGUgV2luZSIKICAgIElEU19XSU5FQ0ZHX1RJVExFX0FQUCAgICJDb25maWd1cmFjafNuIGRlIFdpbmUgcGFyYSAlcyIKICAgIElEU19USEVNRUZJTEUgICAgICAgICAgICJGaWNoZXJvcyBkZSB0ZW1hIgogICAgSURTX1RIRU1FRklMRV9TRUxFQ1QgICAgIlNlbGVjY2lvbmUgdW4gZmljaGVybyBkZSB0ZW1hIgogICAgSURTX0FVRElPX01JU1NJTkcgICAgICAgIkFjdHVhbG1lbnRlIG5vIGhheSBuaW5n+m4gbWFuZWphZG9yIGRlIGF1ZGlvIGVzcGVjaWZpY2FkbyBlbiBlbCByZWdpc3Ryby5cblxuU2UgaGEgc2VsZWNjaW9uYWRvIHBhcmEgdXN0ZWQgdW4gbWFuZWphZG9yIHJlY29tZW5kYWRvLiBQdWVkZSB1c2FyIOlzdGUgbyBzZWxlY2Npb25hciBvdHJvIG1hbmVqYWRvciBkaXNwb25pYmxlLlxuXG5EZWJlIHB1bHNhciBBcGxpY2FyIHBhcmEgcXVlIGxhIHNlbGVjY2nzbiBzdXJqYSBlZmVjdG8uIgogICAgSURTX1NIRUxMX0ZPTERFUiAgICAgICAgIkNhcnBldGEgZGVsIHNpc3RlbWEiCiAgICBJRFNfTElOS1NfVE8gICAgICAgICAgICAiRW5sYXphIGEiCkVORAoKU1RSSU5HVEFCTEUgRElTQ0FSREFCTEUKQkVHSU4KICAgIElEU19ETExfV0FSTklORyAgICAgICAgICJObyBzZSByZWNvbWllbmRhIGNhbWJpYXIgZWwgb3JkZW4gZGUgY2FyZ2EgZGUgZXN0YSBsaWJyZXLtYS5cbr9Fc3ThIHNlZ3VybyBxdWUgZGVzZWEgaGFjZXIgZXN0bz8iCiAgICBJRFNfRExMX1dBUk5JTkdfQ0FQVElPTiAiQWR2ZXJ0ZW5jaWE6IGxpYnJlcu1hIGRlbCBzaXN0ZW1hIgogICAgSURTX0RMTF9OQVRJVkUgICAgICAgICAgIm5hdGl2YSIKICAgIElEU19ETExfQlVJTFRJTiAgICAgICAgICJpbnRlcm5hIgogICAgSURTX0RMTF9OQVRJVkVfQlVJTFRJTiAgIm5hdGl2YSwgaW50ZXJuYSIKICAgIElEU19ETExfQlVJTFRJTl9OQVRJVkUgICJpbnRlcm5hLCBuYXRpdmEiCiAgICBJRFNfRExMX0RJU0FCTEVEICAgICAgICAiZGVzaGFiaWxpdGFkYSIKICAgIElEU19ERUZBVUxUX1NFVFRJTkdTICAgICJDb25maWd1cmFjafNuIHBvciBkZWZlY3RvIgogICAgSURTX0VYRUNVVEFCTEVfRklMVEVSICAgIlByb2dyYW1hcyBXaW5lICgqLmV4ZSwqLmV4ZS5zbylcMCouZXhlOyouZXhlLnNvXDAiCiAgICBJRFNfVVNFX0dMT0JBTF9TRVRUSU5HUyAiVXNhciBsYSBjb25maWd1cmFjafNuIGdsb2JhbCIKICAgIElEU19TRUxFQ1RfRVhFQ1VUQUJMRSAgICJTZWxlY2Npb25lIHVuIGZpY2hlcm8gZWplY3V0YWJsZSIKRU5ECgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQpCRUdJTgogICAgSURTX1NIQURFUl9NT0RFX0hBUkRXQVJFICAgICJIYXJkd2FyZSIKICAgIElEU19TSEFERVJfTU9ERV9OT05FICAgICAgICAiTmluZ3VubyIKRU5ECgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQpCRUdJTgogICAgSURTX0RSSVZFX1VOS05PV04gICAgICAgICAgICJBdXRvZGV0ZWN0YXIiCiAgICBJRFNfRFJJVkVfRklYRUQgICAgICAgICAgICAgIkRpc2NvIGR1cm8gbG9jYWwiCiAgICBJRFNfRFJJVkVfUkVNT1RFICAgICAgICAgICAgIkNvbXBhcnRpY2nzbiBkZSByZWQiCiAgICBJRFNfRFJJVkVfUkVNT1ZBQkxFICAgICAgICAgIkRpc2NvIGZsZXhpYmxlIgogICAgSURTX0RSSVZFX0NEUk9NICAgICAgICAgICAgICJDRC1ST00iCiAgICBJRFNfRFJJVkVfTEVUVEVSU19FWENFRURFRCAgIk5vIHB1ZWRlIGHxYWRpciBt4XMgdW5pZGFkZXMuXG5cbkNhZGEgdW5pZGFkIGRlYmUgdGVuZXIgdW5hIGxldHJhLCBkZSBsYSBBIGEgbGEgWiwgcG9yIGxvIHF1ZSBubyBwdWVkZSB0ZW5lciBt4XMgZGUgMjYiCiAgICBJRFNfU1lTVEVNX0RSSVZFX0xBQkVMICAgICAgIlVuaWRhZCBkZWwgc2lzdGVtYSIKICAgIElEU19DT05GSVJNX0RFTEVURV9DICAgICAgICAiv1NlZ3VybyBxdWUgZGVzZWEgZWxpbWluYXIgbGEgdW5pZGFkIEM/XG5cbkxhIG1heW9y7WEgZGUgbGFzIGFwbGljYWNpb25lcyBXaW5kb3dzIGVzcGVyYW4gcXVlIGxhIHVuaWRhZCBDIGV4aXN0YSwgeSBmYWxsYXLhbiBzaSBubyBleGlzdGUuIKFTaSBsbyBoYWNlIHJlY3VlcmRlIHZvbHZlciBhIGNyZWFybGEhIgogICAgSURTX0NPTF9EUklWRUxFVFRFUiAgICAgICAgICJMZXRyYSIKICAgIElEU19DT0xfRFJJVkVNQVBQSU5HICAgICAgICAiTWFwZW8gZGUgdW5pZGFkIgogICAgSURTX05PX0RSSVZFX0MgICAgICAgICAgICAgICJObyB0aWVuZSB1bmEgdW5pZGFkIEMuIEVzdG8gbm8gZXMgbXV5IGJ1ZW5vLlxuXG6hUmVjdWVyZGUgcHVsc2FyICdB8WFkaXInIGVuIGxhIHBlc3Rh8WEgZGUgVW5pZGFkZXMgcGFyYSBjcmVhciB1bmEhXG4iCkVORAoKU1RSSU5HVEFCTEUgRElTQ0FSREFCTEUKQkVHSU4KICAgIElEU19BQ0NFTF9GVUxMICAgICAgICAgICAgICAiQ29tcGxldGEiCiAgICBJRFNfQUNDRUxfU1RBTkRBUkQgICAgICAgICAgIkVzdOFuZGFyIgogICAgSURTX0FDQ0VMX0JBU0lDICAgICAgICAgICAgICJC4XNpY2EiCiAgICBJRFNfQUNDRUxfRU1VTEFUSU9OICAgICAgICAgIkVtdWxhY2nzbiIKICAgIElEU19EUklWRVJfQUxTQSAgICAgICAgICAgICAiTWFuZWphZG9yIEFMU0EiCiAgICBJRFNfRFJJVkVSX0VTT1VORCAgICAgICAgICAgIk1hbmVqYWRvciBFc291bkQiCiAgICBJRFNfRFJJVkVSX09TUyAgICAgICAgICAgICAgIk1hbmVqYWRvciBPU1MiCiAgICBJRFNfRFJJVkVSX0pBQ0sgICAgICAgICAgICAgIk1hbmVqYWRvciBKQUNLIgogICAgSURTX0RSSVZFUl9OQVMgICAgICAgICAgICAgICJNYW5lamFkb3IgTkFTIgogICAgSURTX0RSSVZFUl9BVURJT0lPICAgICAgICAgICJNYW5lamFkb3IgQXVkaW8gSU8gKFNvbGFyaXMpIgogICAgSURTX0RSSVZFUl9DT1JFQVVESU8gICAgICAgICJNYW5lamFkb3IgQ29yZUF1ZGlvIgogICAgSURTX09QRU5fRFJJVkVSX0VSUk9SICAgICAgICKhTm8gc2UgaGEgcG9kaWRvIGFicmlyICVzISIKICAgIElEU19TT1VORERSSVZFUlMgICAgICAgICAgICAiTWFuZWphZG9yZXMgZGUgc29uaWRvIgogICAgSURTX0RFVklDRVNfV0FWRU9VVCAgICAgICAgICJEaXNwb3NpdGl2b3MgZGUgc2FsaWRhIGRlIG9uZGEiCiAgICBJRFNfREVWSUNFU19XQVZFSU4gICAgICAgICAgIkRpc3Bvc2l0aXZvcyBkZSBlbnRyYWRhIGRlIG9uZGEiCiAgICBJRFNfREVWSUNFU19NSURJT1VUICAgICAgICAgIkRpc3Bvc2l0aXZvcyBkZSBzYWxpZGEgTUlESSIKICAgIElEU19ERVZJQ0VTX01JRElJTiAgICAgICAgICAiRGlzcG9zaXRpdm9zIGRlIGVudHJhZGEgTUlESSIKICAgIElEU19ERVZJQ0VTX0FVWCAgICAgICAgICAgICAiRGlzcG9zaXRpdm9zIGF1eGlsaWFyZXMiCiAgICBJRFNfREVWSUNFU19NSVhFUiAgICAgICAgICAgIkRpc3Bvc2l0aXZvcyBtZXpjbGFkb3JlcyIKICAgIElEU19VTkFWQUlMQUJMRV9EUklWRVIgICAgICAioVNlIGhhIGVuY29udHJhZG8gZW4gZWwgcmVnaXN0cm8gdW4gbWFuZWphZG9yIHF1ZSBubyBlc3ThIGRpc3BvbmlibGUhXG5cbr9FbGltaW5hciBcIiVzXCIgZGVsIHJlZ2lzdHJvPyIKICAgIElEU19XQVJOSU5HICAgICAgICAgICAgICAgICAiQWR2ZXJ0ZW5jaWEiCkVORAoKU1RSSU5HVEFCTEUgRElTQ0FSREFCTEUKQkVHSU4KICAgIElEQ19TWVNQQVJBTVNfQlVUVE9OICAgICAgICAgICAgIkZvbmRvIGRlbCBjb250cm9sIgogICAgSURDX1NZU1BBUkFNU19CVVRUT05fVEVYVCAgICAgICAiVGV4dG8gZGVsIGNvbnRyb2wiCiAgICBJRENfU1lTUEFSQU1TX0RFU0tUT1AgICAgICAgICAgICJFc2NyaXRvcmlvIgogICAgSURDX1NZU1BBUkFNU19NRU5VICAgICAgICAgICAgICAiRm9uZG8gZGVsIG1lbvoiCiAgICBJRENfU1lTUEFSQU1TX01FTlVfVEVYVCAgICAgICAgICJUZXh0byBkZWwgbWVu+iIKICAgIElEQ19TWVNQQVJBTVNfU0NST0xMQkFSICAgICAgICAgIkJhcnJhIGRlIGRlc3BsYXphbWllbnRvIgogICAgSURDX1NZU1BBUkFNU19TRUxFQ1RJT04gICAgICAgICAiRm9uZG8gZGUgbGEgc2VsZWNjafNuIgogICAgSURDX1NZU1BBUkFNU19TRUxFQ1RJT05fVEVYVCAgICAiVGV4dG8gZGUgbGEgc2VsZWNjafNuIgogICAgSURDX1NZU1BBUkFNU19UT09MVElQICAgICAgICAgICAiRm9uZG8gZGVsIGNvbnNlam8iCiAgICBJRENfU1lTUEFSQU1TX1RPT0xUSVBfVEVYVCAgICAgICJUZXh0byBkZWwgY29uc2VqbyIKICAgIElEQ19TWVNQQVJBTVNfV0lORE9XICAgICAgICAgICAgIkZvbmRvIGRlIGxhIHZlbnRhbmEiCiAgICBJRENfU1lTUEFSQU1TX1dJTkRPV19URVhUICAgICAgICJUZXh0byBkZSBsYSB2ZW50YW5hIgogICAgSURDX1NZU1BBUkFNU19BQ1RJVkVfVElUTEUgICAgICAiQmFycmEgZGUgdO10dWxvIGFjdGl2YSIKICAgIElEQ19TWVNQQVJBTVNfQUNUSVZFX1RJVExFX1RFWFQgIlRleHRvIGRlIGJhcnJhIGRlIHTtdHVsbyBhY3RpdmEiCiAgICBJRENfU1lTUEFSQU1TX0lOQUNUSVZFX1RJVExFICAgICJCYXJyYSBkZSB07XR1bG8gaW5hY3RpdmEiCiAgICBJRENfU1lTUEFSQU1TX0lOQUNUSVZFX1RJVExFX1RFWFQgIlRleHRvIGRlIGJhcnJhIGRlIHTtdHVsbyBpbmFjdGl2YSIKICAgIElEQ19TWVNQQVJBTVNfTVNHQk9YX1RFWFQgICAgICAgIk1lc3NhZ2UgQm94IFRleHQiCkVORAo=