LyoKICogIFN3ZWRpc2ggcmVzb3VyY2VzIGZvciBUYXNrIE1hbmFnZXIKICoKICogIENvcHlyaWdodCAyMDA5IEFuZGVycyBKb25zc29uCiAqCiAqCiAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKICogdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAqCiAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQogKiBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgogKgogKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAqIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3QsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQQogKi8KCiNpbmNsdWRlICJyZXNvdXJjZS5oIgoKTEFOR1VBR0UgTEFOR19TV0VESVNILCBTVUJMQU5HX05FVVRSQUwKCi8qCiBNZW51CiovCgpJRFJfVEFTS01BTkFHRVIgTUVOVSBESVNDQVJEQUJMRQpCRUdJTgogICAgUE9QVVAgIiZBcmtpdiIKICAgIEJFR0lOCiAgICAgICAgTUVOVUlURU0gIiZOeSBha3Rpdml0ZXQgKEv2ci4uLikiLCAgICAgICAgICAgICAgIElEX0ZJTEVfTkVXCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIiZBdnNsdXRhIEFrdGl2aXRldHNoYW50ZXJhcmVuIiwgICAgICAgIElEX0ZJTEVfRVhJVAogICAgRU5ECiAgICBQT1BVUCAiJkluc3TkbGxuaW5nYXIiCiAgICBCRUdJTgogICAgICAgIE1FTlVJVEVNICImQWxsdGlkIPZ2ZXJzdCIsICAgICAgICAgICAgICAgICAgIElEX09QVElPTlNfQUxXQVlTT05UT1AKICAgICAgICAsIENIRUNLRUQKICAgICAgICBNRU5VSVRFTSAiJk1pbmltZXJhIHZpZCBhbnbkbmRuaW5nIiwgICAgICAgICBJRF9PUFRJT05TX01JTklNSVpFT05VU0UKICAgICAgICAsIENIRUNLRUQKICAgICAgICBNRU5VSVRFTSAiJkT2bGogdmlkIG1pbmltZXJpbmciLCAgICAgICAgICAgICBJRF9PUFRJT05TX0hJREVXSEVOTUlOSU1JWkVECiAgICAgICAgLCBDSEVDS0VECiAgICAgICAgTUVOVUlURU0gIiZWaXNhIDE2LWJpdGFyc2FrdGl2aXRldGVyIiwgICAgICAgSURfT1BUSU9OU19TSE9XMTZCSVRUQVNLUwogICAgICAgICwgQ0hFQ0tFRAogICAgRU5ECiAgICBQT1BVUCAiJlZpc2EiCiAgICBCRUdJTgogICAgICAgIE1FTlVJVEVNICJVcHAmZGF0ZXJhIG51IiwgICAgICAgICAgICAgICAgSURfVklFV19SRUZSRVNICiAgICAgICAgUE9QVVAgIiZVcHBkYXRlcmluZ3NmcmVrdmVucyIKICAgICAgICBCRUdJTgogICAgICAgICAgICBNRU5VSVRFTSAiJkj2ZyIsICAgICAgICAgICAgICAgICAgICAgSURfVklFV19VUERBVEVTUEVFRF9ISUdICiAgICAgICAgICAgIE1FTlVJVEVNICImTm9ybWFsIiwgICAgICAgICAgICAgICAgICBJRF9WSUVXX1VQREFURVNQRUVEX05PUk1BTAogICAgICAgICAgICAsIENIRUNLRUQKICAgICAgICAgICAgTUVOVUlURU0gIiZM5WciLCAgICAgICAgICAgICAgICAgICAgIElEX1ZJRVdfVVBEQVRFU1BFRURfTE9XCiAgICAgICAgICAgIE1FTlVJVEVNICImUGF1c2FkIiwgICAgICAgICAgICAgICAgICBJRF9WSUVXX1VQREFURVNQRUVEX1BBVVNFRAoKICAgICAgICBFTkQKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiUyZ0b3JhIGlrb25lciIsICAgICAgICAgICAgICBJRF9WSUVXX0xBUkdFCiAgICAgICAgTUVOVUlURU0gIlMmbeUgaWtvbmVyIiwgICAgICAgICAgICAgICAgSURfVklFV19TTUFMTAogICAgICAgIE1FTlVJVEVNICImRGV0YWxqZXIiLCAgICAgICAgICAgICAgICAgIElEX1ZJRVdfREVUQUlMUywgQ0hFQ0tFRAogICAgICAgIE1FTlVJVEVNICImVuRsaiBrb2x1bW5lci4uLiIsICAgICAgICAgIElEX1ZJRVdfU0VMRUNUQ09MVU1OUwogICAgICAgIFBPUFVQICImUHJvY2Vzc29yaGlzdG9yaWsiCiAgICAgICAgQkVHSU4KICAgICAgICAgICAgTUVOVUlURU0gIkVuIGdyYWYsIGFsbGEgcHImb2Nlc3NvcmVyIiwgICAgICBJRF9WSUVXX0NQVUhJU1RPUllfT05FR1JBUEhBTEwKCiAgICAgICAgICAgIE1FTlVJVEVNICJFbiBncmFmICZwZXIgcHJvY2Vzc29yIiwgICAgICAgICAgSURfVklFV19DUFVISVNUT1JZX09ORUdSQVBIUEVSQ1BVCiAgICAgICAgICAgICwgQ0hFQ0tFRAogICAgICAgIEVORAogICAgICAgIE1FTlVJVEVNICJWaSZzYSBrZXJuZWx0aWRlciIsICAgICAgICAgIElEX1ZJRVdfU0hPV0tFUk5FTFRJTUVTCiAgICBFTkQKICAgIFBPUFVQICImRvZuc3RlciIKICAgIEJFR0lOCiAgICAgICAgTUVOVUlURU0gIk9yZG5hICZob3Jpc29udGVsbHQiLCAgICAgICAgIElEX1dJTkRPV1NfVElMRUhPUklaT05UQUxMWQogICAgICAgIE1FTlVJVEVNICJPcmRuYSAmdmVydGlrYWx0IiwgICAgICAgICAgICBJRF9XSU5ET1dTX1RJTEVWRVJUSUNBTExZCiAgICAgICAgTUVOVUlURU0gIiZNaW5pbWVyYSIsICAgICAgICAgICAgICAgICAgIElEX1dJTkRPV1NfTUlOSU1JWkUKICAgICAgICBNRU5VSVRFTSAiTWEmeGltZXJhIiwgICAgICAgICAgICAgICAgICAgSURfV0lORE9XU19NQVhJTUlaRQogICAgICAgIE1FTlVJVEVNICIm1nZlcmxhcHBhbmRlIiwgICAgICAgICAgICAgICBJRF9XSU5ET1dTX0NBU0NBREUKICAgICAgICBNRU5VSVRFTSAiViZpc2Eg9nZlcnN0IiwgICAgICAgICAgICAgICAgSURfV0lORE9XU19CUklOR1RPRlJPTlQKICAgIEVORAogICAgUE9QVVAgIiZIauRscCIKICAgIEJFR0lOCiAgICAgICAgTUVOVUlURU0gIsRtbmVuIGkgJmhq5GxwIGb2ciBBa3Rpdml0ZXRzaGFudGVyYXJlbiIsICAgSURfSEVMUF9UT1BJQ1MKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJk9tIEFrdGl2aXRldHNoYW50ZXJhcmVuIiwgICAgICAgICBJRF9IRUxQX0FCT1VUCiAgICBFTkQKRU5ECgpJRFJfV0lORE9XU01FTlUgTUVOVSBESVNDQVJEQUJMRQpCRUdJTgogICAgTUVOVUlURU0gIk9yZG5hICZob3Jpc29udGVsbHQiLCAgICAgICBJRF9XSU5ET1dTX1RJTEVIT1JJWk9OVEFMTFkKICAgIE1FTlVJVEVNICJPcmRuYSAmdmVydGlrYWx0IiwgICAgICAgICAgSURfV0lORE9XU19USUxFVkVSVElDQUxMWQogICAgTUVOVUlURU0gIiZNaW5pbWVyYSIsICAgICAgICAgICAgICAgICBJRF9XSU5ET1dTX01JTklNSVpFCiAgICBNRU5VSVRFTSAiTWEmeGltZXJhIiwgICAgICAgICAgICAgICAgIElEX1dJTkRPV1NfTUFYSU1JWkUKICAgIE1FTlVJVEVNICIm1nZlcmxhcHBhbmRlIiwgICAgICAgICAgICAgSURfV0lORE9XU19DQVNDQURFCiAgICBNRU5VSVRFTSAiViZpc2Eg9nZlcnN0IiwgICAgICAgICAgICAgIElEX1dJTkRPV1NfQlJJTkdUT0ZST05UCkVORAoKSURSX0FQUExJQ0FUSU9OX1BBR0VfQ09OVEVYVDEgTUVOVSBESVNDQVJEQUJMRQpCRUdJTgogICAgUE9QVVAgIkRVTU1ZIgogICAgQkVHSU4KICAgICAgICBNRU5VSVRFTSAiJk55IGFrdGl2aXRldCAoS/ZyLi4uKSIsICAgICAgSURfRklMRV9ORVcKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJlN0b3JhIGlrb25lciIsICAgICAgICAgICAgICAgSURfVklFV19MQVJHRQogICAgICAgIE1FTlVJVEVNICJTJm3lIGlrb25lciIsICAgICAgICAgICAgICAgICBJRF9WSUVXX1NNQUxMCiAgICAgICAgTUVOVUlURU0gIiZEZXRhbGplciIsICAgICAgICAgICAgICAgICAgIElEX1ZJRVdfREVUQUlMUywgQ0hFQ0tFRAogICAgRU5ECkVORAoKSURSX0FQUExJQ0FUSU9OX1BBR0VfQ09OVEVYVDIgTUVOVSBESVNDQVJEQUJMRQpCRUdJTgogICAgUE9QVVAgIkRVTU1ZIgogICAgQkVHSU4KICAgICAgICBNRU5VSVRFTSAiQiZ5dCB0aWxsIiwgICAgICAgICAgICAgICAgICBJRF9BUFBMSUNBVElPTl9QQUdFX1NXSVRDSFRPCiAgICAgICAgTUVOVUlURU0gIlYmaXNhIPZ2ZXJzdCIsICAgICAgICAgICAgICAgSURfV0lORE9XU19CUklOR1RPRlJPTlQKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiT3JkbmEgJmhvcmlzb250ZWxsdCIsICAgICAgICBJRF9XSU5ET1dTX1RJTEVIT1JJWk9OVEFMTFkKICAgICAgICBNRU5VSVRFTSAiT3JkbmEgJnZlcnRpa2FsdCIsICAgICAgICAgICBJRF9XSU5ET1dTX1RJTEVWRVJUSUNBTExZCiAgICAgICAgTUVOVUlURU0gIiZNaW5pbWVyYSIsICAgICAgICAgICAgICAgICAgSURfV0lORE9XU19NSU5JTUlaRQogICAgICAgIE1FTlVJVEVNICJNYSZ4aW1lcmEiLCAgICAgICAgICAgICAgICAgIElEX1dJTkRPV1NfTUFYSU1JWkUKICAgICAgICBNRU5VSVRFTSAiJtZ2ZXJsYXBwYW5kZSIsICAgICAgICAgICAgICBJRF9XSU5ET1dTX0NBU0NBREUKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiQXZzbHV0YSBha3Rpdml0JmV0IiwgICAgICAgICBJRF9BUFBMSUNBVElPTl9QQUdFX0VORFRBU0sKICAgICAgICBNRU5VSVRFTSAiJkflIHRpbGwgcHJvY2VzcyIsICAgICAgICAgICBJRF9BUFBMSUNBVElPTl9QQUdFX0dPVE9QUk9DRVNTCiAgICBFTkQKRU5ECgpJRFJfVFJBWV9QT1BVUCBNRU5VIERJU0NBUkRBQkxFCkJFR0lOCiAgICBQT1BVUCAiRFVNTVkiCiAgICBCRUdJTgogICAgICAgIE1FTlVJVEVNICImxXRlcnN05GxsIiwgICAgICAgICAgICAgICAgICBJRF9SRVNUT1JFCiAgICAgICAgTUVOVUlURU0gIiZTdORuZyIsICAgICAgICAgICAgICAgICAgICAgIElEX0ZJTEVfRVhJVAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICImQWxsdGlkIPZ2ZXJzdCIsICAgICAgICAgICAgICBJRF9PUFRJT05TX0FMV0FZU09OVE9QCiAgICBFTkQKRU5ECgpJRFJfUFJPQ0VTU19QQUdFX0NPTlRFWFQgTUVOVSBESVNDQVJEQUJMRQpCRUdJTgogICAgUE9QVVAgIkRVTU1ZIgogICAgQkVHSU4KICAgICAgICBNRU5VSVRFTSAiQXZzbHV0YSBwcm9jJmVzcyIsICAgICAgICAgICAgICBJRF9QUk9DRVNTX1BBR0VfRU5EUFJPQ0VTUwogICAgICAgIE1FTlVJVEVNICJBdnNsdSZ0YSBwcm9jZXNzdHLkZCIsICAgICAgICAgIElEX1BST0NFU1NfUEFHRV9FTkRQUk9DRVNTVFJFRQoKICAgICAgICBNRU5VSVRFTSAiJkZlbHP2ayIsICAgICAgICAgICAgICAgICAgICAgICBJRF9QUk9DRVNTX1BBR0VfREVCVUcKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBQT1BVUCAiQW5nZSAmcHJpb3JpdGV0IgogICAgICAgIEJFR0lOCiAgICAgICAgICAgIE1FTlVJVEVNICImUmVhbHRpZCIsICAgICAgICAgICAgICAgICAgIElEX1BST0NFU1NfUEFHRV9TRVRQUklPUklUWV9SRUFMVElNRQoKICAgICAgICAgICAgTUVOVUlURU0gIiZI9mciLCAgICAgICAgICAgICAgICAgICAgICAgSURfUFJPQ0VTU19QQUdFX1NFVFBSSU9SSVRZX0hJR0gKCiAgICAgICAgICAgIE1FTlVJVEVNICIm1nZlciBub3JtYWwiLCAgICAgICAgICAgICAgIElEX1BST0NFU1NfUEFHRV9TRVRQUklPUklUWV9BQk9WRU5PUk1BTAoKICAgICAgICAgICAgTUVOVUlURU0gIiZOb3JtYWwiLCAgICAgICAgICAgICAgICAgICAgSURfUFJPQ0VTU19QQUdFX1NFVFBSSU9SSVRZX05PUk1BTAoKICAgICAgICAgICAgTUVOVUlURU0gIiZVbmRlciBub3JtYWwiLCAgICAgICAgICAgICAgSURfUFJPQ0VTU19QQUdFX1NFVFBSSU9SSVRZX0JFTE9XTk9STUFMCgogICAgICAgICAgICBNRU5VSVRFTSAiJkzlZyIsICAgICAgICAgICAgICAgICAgICAgICBJRF9QUk9DRVNTX1BBR0VfU0VUUFJJT1JJVFlfTE9XCgogICAgICAgIEVORAogICAgICAgIE1FTlVJVEVNICJTZXQgJkFmZmluaXR5Li4uIiwgICAgICAgICAgICBJRF9QUk9DRVNTX1BBR0VfU0VUQUZGSU5JVFkKCU1FTlVJVEVNICImUmVkaWdlcmEgZmVsc/ZrbmluZ3NrYW5hbGVyLi4uIiwJSURfUFJPQ0VTU19QQUdFX0RFQlVHQ0hBTk5FTFMKICAgIEVORApFTkQKCi8qCiBEaWFsb2cKKi8KCklERF9UQVNLTUdSX0RJQUxPRyBESUFMT0cgRElTQ0FSREFCTEUgIDAsIDAsIDI2NCwgMjQ2ClNUWUxFIERTX0NFTlRFUiB8IFdTX01JTklNSVpFQk9YIHwgV1NfTUFYSU1JWkVCT1ggfCBXU19QT1BVUCB8CiAgICBXU19DTElQU0lCTElOR1MgfCBXU19DTElQQ0hJTERSRU4gfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVSB8CiAgICBXU19USElDS0ZSQU1FCkNBUFRJT04gIkFrdGl2aXRldHNoYW50ZXJhcmVuIgpNRU5VIElEUl9UQVNLTUFOQUdFUgpGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBDT05UUk9MICAgICAgICAgIlRhYjEiLElEQ19UQUIsIlN5c1RhYkNvbnRyb2wzMiIsV1NfVEFCU1RPUCwzLDMsMjU3LDIyOApFTkQKCklERF9BUFBMSUNBVElPTl9QQUdFIERJQUxPRyBESVNDQVJEQUJMRSAgMCwgMCwgMjQ3LCAyMTAKU1RZTEUgRFNfQ09OVFJPTCB8IFdTX0NISUxEIHwgV1NfQ0xJUENISUxEUkVOCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKQkVHSU4KICAgIENPTlRST0wgICAgICAgICAiTGlzdDIiLElEQ19BUFBMSVNULCJTeXNMaXN0VmlldzMyIixMVlNfUkVQT1JUIHwKICAgICAgICAgICAgICAgICAgICBMVlNfU0hPV1NFTEFMV0FZUyB8IFdTX0JPUkRFUiB8IFdTX1RBQlNUT1AsNyw3LDIzMywxNzcKICAgIFBVU0hCVVRUT04gICAgICAiJk55IGFrdGl2aXRldC4uLiIsSURDX05FV1RBU0ssMTg3LDE4OSw1MywxNAogICAgUFVTSEJVVFRPTiAgICAgICImQnl0IHRpbGwiLElEQ19TV0lUQ0hUTywxMzEsMTg5LDUzLDE0LFdTX0RJU0FCTEVECiAgICBQVVNIQlVUVE9OICAgICAgIiZBdnNsdXRhIGFrdGl2aXRldCIsSURDX0VORFRBU0ssNzUsMTg5LDUzLDE0LFdTX0RJU0FCTEVECkVORAoKSUREX1BST0NFU1NfUEFHRSBESUFMT0cgRElTQ0FSREFCTEUgIDAsIDAsIDI0NywgMjEwClNUWUxFIERTX0NPTlRST0wgfCBXU19DSElMRCB8IFdTX0NMSVBDSElMRFJFTgpGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBDT05UUk9MICAgICAgICAgIkxpc3QyIixJRENfUFJPQ0VTU0xJU1QsIlN5c0xpc3RWaWV3MzIiLExWU19SRVBPUlQgfAogICAgICAgICAgICAgICAgICAgIExWU19TSU5HTEVTRUwgfCBMVlNfU0hPV1NFTEFMV0FZUyB8IExWU19PV05FUkRBVEEgfAogICAgICAgICAgICAgICAgICAgIFdTX0JPUkRFUiB8IFdTX1RBQlNUT1AsNyw3LDIzMywxNzcKICAgIFBVU0hCVVRUT04gICAgICAiQXZzbHV0YSBwcm9jJmVzcyIsSURDX0VORFBST0NFU1MsMTcxLDE4OSw2OSwxNAogICAgQ09OVFJPTCAgICAgICAgICJWaSZzYSBwcm9jZXNzZXIgZnLlbiBhbGxhIGFuduRuZGFyZSIsSURDX1NIT1dBTExQUk9DRVNTRVMsCiAgICAgICAgICAgICAgICAgICAgIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUCw3LDE5MSwxMzAsMTAKRU5ECgovKklERF9QRVJGT1JNQU5DRV9QQUdFIERJQUxPR0VYIDAsIDAsIDI0NywgMjEwKi8KSUREX1BFUkZPUk1BTkNFX1BBR0UgRElBTE9HRVggRElTQ0FSREFCTEUgIDAsIDAsIDI0NywgMjEwClNUWUxFIERTX0NPTlRST0wgfCBXU19DSElMRCB8IFdTX0NMSVBDSElMRFJFTgpGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBHUk9VUEJPWCAgICAgICAgIkNQVS1hbnbkbmRuaW5nIixJRENfQ1BVX1VTQUdFX0ZSQU1FLDUsNSw2MCw1NCxXU19UQUJTVE9QLCBXU19FWF9UUkFOU1BBUkVOVAogICAgR1JPVVBCT1ggICAgICAgICJNRU0tYW525G5kbmluZyIsSURDX01FTV9VU0FHRV9GUkFNRSw1LDYzLDYwLDU0LEJTX0xFRlRURVhULCBXU19FWF9UUkFOU1BBUkVOVAogICAgR1JPVVBCT1ggICAgICAgICJUb3RhbHQiLElEQ19UT1RBTFNfRlJBTUUsNSwxMjIsMTExLDM5LDAsV1NfRVhfVFJBTlNQQVJFTlQKICAgIEdST1VQQk9YICAgICAgICAiVmlydHVlbGx0IG1pbm5lIChLKSIsSURDX0NPTU1JVF9DSEFSR0VfRlJBTUUsNSwxNjYsMTExLDM5LDAsV1NfRVhfVFJBTlNQQVJFTlQKICAgIEdST1VQQk9YICAgICAgICAiRnlzaXNrdCBtaW5uZSAoSykiLElEQ19QSFlTSUNBTF9NRU1PUllfRlJBTUUsMTMxLDEyMiwxMTEsMzksMCxXU19FWF9UUkFOU1BBUkVOVAogICAgR1JPVVBCT1ggICAgICAgICJLZXJuZWxtaW5uZSAoSykiLElEQ19LRVJORUxfTUVNT1JZX0ZSQU1FLDEzMSwxNjYsMTExLDM5LDAsV1NfRVhfVFJBTlNQQVJFTlQKICAgIExURVhUICAgICAgICAgICAiSGFuZHRhZyIsSURTX1RPVEFMU19IQU5ETEVfQ09VTlQsMTIsMTMxLDI3LDgKICAgIExURVhUICAgICAgICAgICAiVHLlZGFyIixJRFNfVE9UQUxTX1RIUkVBRF9DT1VOVCwxMiwxNDAsMjcsOAogICAgTFRFWFQgICAgICAgICAgICJQcm9jZXNzZXIiLElEU19UT1RBTFNfUFJPQ0VTU19DT1VOVCwxMiwxNDksMzQsOAogICAgRURJVFRFWFQgICAgICAgIElEQ19UT1RBTFNfSEFORExFX0NPVU5ULDY1LDEzMSw0NSw4LEVTX1JJR0hUIHwKICAgICAgICAgICAgICAgICAgICBFU19SRUFET05MWSB8IEVTX05VTUJFUiB8IE5PVCBXU19CT1JERVIKICAgIEVESVRURVhUICAgICAgICBJRENfVE9UQUxTX1RIUkVBRF9DT1VOVCw2NSwxNDAsNDUsOCxFU19SSUdIVCB8CiAgICAgICAgICAgICAgICAgICAgRVNfUkVBRE9OTFkgfCBFU19OVU1CRVIgfCBOT1QgV1NfQk9SREVSCiAgICBFRElUVEVYVCAgICAgICAgSURDX1RPVEFMU19QUk9DRVNTX0NPVU5ULDY1LDE0OSw0NSw4LEVTX1JJR0hUIHwKICAgICAgICAgICAgICAgICAgICBFU19SRUFET05MWSB8IEVTX05VTUJFUiB8IE5PVCBXU19CT1JERVIKICAgIExURVhUICAgICAgICAgICAiVG90YWx0IixJRFNfQ09NTUlUX0NIQVJHRV9UT1RBTCwxMiwxNzUsMjcsOAogICAgTFRFWFQgICAgICAgICAgICJHcuRucyIsSURTX0NPTU1JVF9DSEFSR0VfTElNSVQsMTIsMTg0LDI1LDgKICAgIExURVhUICAgICAgICAgICAiVG9wcCIsSURTX0NPTU1JVF9DSEFSR0VfUEVBSywxMiwxOTMsMzQsOAogICAgRURJVFRFWFQgICAgICAgIElEQ19DT01NSVRfQ0hBUkdFX1RPVEFMLDY1LDE3NCw0NSw4LEVTX1JJR0hUIHwKICAgICAgICAgICAgICAgICAgICBFU19SRUFET05MWSB8IEVTX05VTUJFUiB8IE5PVCBXU19CT1JERVIKICAgIEVESVRURVhUICAgICAgICBJRENfQ09NTUlUX0NIQVJHRV9MSU1JVCw2NSwxODQsNDUsOCxFU19SSUdIVCB8CiAgICAgICAgICAgICAgICAgICAgRVNfUkVBRE9OTFkgfCBFU19OVU1CRVIgfCBOT1QgV1NfQk9SREVSCiAgICBFRElUVEVYVCAgICAgICAgSURDX0NPTU1JVF9DSEFSR0VfUEVBSyw2NSwxOTMsNDUsOCxFU19SSUdIVCB8CiAgICAgICAgICAgICAgICAgICAgRVNfUkVBRE9OTFkgfCBFU19OVU1CRVIgfCBOT1QgV1NfQk9SREVSCiAgICBMVEVYVCAgICAgICAgICAgIlRvdGFsdCIsSURTX1BIWVNJQ0FMX01FTU9SWV9UT1RBTCwxMzcsMTMxLDI3LDgKICAgIExURVhUICAgICAgICAgICAiVGlsbGfkbmdsaWd0IixJRFNfUEhZU0lDQUxfTUVNT1JZX0FWQUlMQUJMRSwxMzcsMTQwLDM1LDgKICAgIExURVhUICAgICAgICAgICAiU3lzdGVtIENhY2hlIixJRFNfUEhZU0lDQUxfTUVNT1JZX1NZU1RFTV9DQUNIRSwxMzcsMTQ5LDM1LDgKICAgIEVESVRURVhUICAgICAgICBJRENfUEhZU0lDQUxfTUVNT1JZX1RPVEFMLDE4NSwxMzEsNDgsOCxFU19SSUdIVCB8CiAgICAgICAgICAgICAgICAgICAgRVNfUkVBRE9OTFkgfCBFU19OVU1CRVIgfCBOT1QgV1NfQk9SREVSCiAgICBFRElUVEVYVCAgICAgICAgSURDX1BIWVNJQ0FMX01FTU9SWV9BVkFJTEFCTEUsMTg1LDE0MCw0OCw4LEVTX1JJR0hUIHwKICAgICAgICAgICAgICAgICAgICBFU19SRUFET05MWSB8IEVTX05VTUJFUiB8IE5PVCBXU19CT1JERVIKICAgIEVESVRURVhUICAgICAgICBJRENfUEhZU0lDQUxfTUVNT1JZX1NZU1RFTV9DQUNIRSwxODUsMTQ5LDQ4LDgsRVNfUklHSFQgfAogICAgICAgICAgICAgICAgICAgIEVTX1JFQURPTkxZIHwgRVNfTlVNQkVSIHwgTk9UIFdTX0JPUkRFUgogICAgTFRFWFQgICAgICAgICAgICJUb3RhbHQiLElEU19LRVJORUxfTUVNT1JZX1RPVEFMLDEzNywxNzQsMjcsOAogICAgTFRFWFQgICAgICAgICAgICJQYWdlZCIsSURTX0tFUk5FTF9NRU1PUllfUEFHRUQsMTM3LDE4NCwzMCw4CiAgICBMVEVYVCAgICAgICAgICAgIk5vbnBhZ2VkIixJRFNfS0VSTkVMX01FTU9SWV9OT05QQUdFRCwxMzcsMTkzLDQwLDgKICAgIEVESVRURVhUICAgICAgICBJRENfS0VSTkVMX01FTU9SWV9UT1RBTCwxODUsMTc0LDQ4LDgsRVNfUklHSFQgfAogICAgICAgICAgICAgICAgICAgIEVTX1JFQURPTkxZIHwgRVNfTlVNQkVSIHwgTk9UIFdTX0JPUkRFUgogICAgRURJVFRFWFQgICAgICAgIElEQ19LRVJORUxfTUVNT1JZX1BBR0VELDE4NSwxODQsNDgsOCxFU19SSUdIVCB8CiAgICAgICAgICAgICAgICAgICAgRVNfUkVBRE9OTFkgfCBFU19OVU1CRVIgfCBOT1QgV1NfQk9SREVSCiAgICBFRElUVEVYVCAgICAgICAgSURDX0tFUk5FTF9NRU1PUllfTk9OUEFHRUQsMTg1LDE5Myw0OCw4LEVTX1JJR0hUIHwKICAgICAgICAgICAgICAgICAgICBFU19SRUFET05MWSB8IEVTX05VTUJFUiB8IE5PVCBXU19CT1JERVIKICAgIEdST1VQQk9YICAgICAgICAiSGlzdG9yaWsgZvZyIENQVS1hbnbkbmRuaW5nIixJRENfQ1BVX1VTQUdFX0hJU1RPUllfRlJBTUUsNzQsNSwxNjgsNTQsMCxXU19FWF9UUkFOU1BBUkVOVAogICAgR1JPVVBCT1ggICAgICAgICJIaXN0b3JpayBm9nIgTUVNLWFuduRuZG5pbmciLElEQ19NRU1PUllfVVNBR0VfSElTVE9SWV9GUkFNRSw3NCw2MywxNjgsNTQsMCxXU19FWF9UUkFOU1BBUkVOVAogICAgUFVTSEJVVFRPTiAgICAgICJWaXNuaW5nIGF2IENQVS1hbnbkbmRuaW5nIixJRENfQ1BVX1VTQUdFX0dSQVBILDEyLDE3LDQ3LDM3LDAsCgkJICAgIFdTX0VYX0NMSUVOVEVER0UKICAgIFBVU0hCVVRUT04gICAgICAiVmlzbmluZyBhdiBNRU0tYW525G5kbmluZyIsSURDX01FTV9VU0FHRV9HUkFQSCwxMiw3NSw0NywzNywwLAogICAgICAgICAgICAgICAgICAgIFdTX0VYX0NMSUVOVEVER0UKICAgIFBVU0hCVVRUT04gICAgICAiSGlzdG9yaWsgZvZyIENQVS1hbnbkbmRuaW5nIixJRENfQ1BVX1VTQUdFX0hJU1RPUllfR1JBUEgsODEsMTcsCiAgICAgICAgICAgICAgICAgICAgMTUzLDM3LDAsV1NfRVhfQ0xJRU5URURHRQogICAgUFVTSEJVVFRPTiAgICAgICJIaXN0b3JpayBm9nIgTUVNLWFuduRuZG5pbmciLElEQ19NRU1fVVNBR0VfSElTVE9SWV9HUkFQSCw4MSw3NSwKICAgICAgICAgICAgICAgICAgICAxNTMsMzcsMCxXU19FWF9DTElFTlRFREdFCkVORAoKSUREX0RFQlVHX0NIQU5ORUxTX0RJQUxPRyBESUFMT0cgRElTQ0FSREFCTEUgIDAsIDAsIDI0NywgMjEwClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIkZlbHP2a25pbmdza2FuYWxlciIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogICAgQ09OVFJPTCAgICAgICAgICJMaXN0MiIsSURDX0RFQlVHX0NIQU5ORUxTX0xJU1QsIlN5c0xpc3RWaWV3MzIiLExWU19SRVBPUlQgfAogICAgICAgICAgICAgICAgICAgIExWU19TSU5HTEVTRUwgfCBMVlNfU0hPV1NFTEFMV0FZUyB8IFdTX0JPUkRFUiB8IFdTX1RBQlNUT1AgfAoJCSAgICBMVlNfU09SVEFTQ0VORElORyw3LDcsMjMzLDE3NwogICAgUFVTSEJVVFRPTiAgICAgICJTdORuZyIsSURPSywxNzEsMTg5LDY5LDE0CkVORAoKSUREX0FGRklOSVRZX0RJQUxPRyBESUFMT0cgRElTQ0FSREFCTEUgIDAsIDAsIDIzMSwgMTU0ClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIlByb2Nlc3Ns5Gt0c3NrYXAiCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKQkVHSU4KICAgIERFRlBVU0hCVVRUT04gICAiT0siLElET0ssMTIwLDEzMyw1MCwxNAogICAgUFVTSEJVVFRPTiAgICAgICJBdmJyeXQiLElEQ0FOQ0VMLDE3NCwxMzMsNTAsMTQKICAgIExURVhUICAgICAgICAgICAiSW5zdORsbG5pbmdlbiBm9nIgcHJvY2Vzc2zka3Rzc2thcCBiZXN05G1tZXIgdmlsa2EgcHJvY2Vzc29yZXIgcHJvY2Vzc2VuIHRpbGzldHMga/ZyYSBw5S4iLAogICAgICAgICAgICAgICAgICAgIElEQ19TVEFUSUMsNSw1LDIyMCwxNgogICAgQ09OVFJPTCAgICAgICAgICJQcm9jZXNzb3IgMCIsSURDX0NQVTAsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUCwKICAgICAgICAgICAgICAgICAgICAxMSwyOCwzNywxMAoJCSAgICBDT05UUk9MICAgICAgICAgIkNQVSAxIixJRENfQ1BVMSwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19ESVNBQkxFRCB8CiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCwxMSw0MSwzNywxMAoJCSAgICBDT05UUk9MICAgICAgICAgIkNQVSAyIixJRENfQ1BVMiwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19ESVNBQkxFRCB8CiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCwxMSw1NCwzNywxMAoJCSAgICBDT05UUk9MICAgICAgICAgIkNQVSAzIixJRENfQ1BVMywiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19ESVNBQkxFRCB8CiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCwxMSw2NywzNywxMAoJCSAgICBDT05UUk9MICAgICAgICAgIkNQVSA0IixJRENfQ1BVNCwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19ESVNBQkxFRCB8CiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCwxMSw4MCwzNywxMAoJCSAgICBDT05UUk9MICAgICAgICAgIkNQVSA1IixJRENfQ1BVNSwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19ESVNBQkxFRCB8CiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCwxMSw5MywzNywxMAoJCSAgICBDT05UUk9MICAgICAgICAgIkNQVSA2IixJRENfQ1BVNiwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19ESVNBQkxFRCB8CiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCwxMSwxMDYsMzcsMTAKCQkgICAgQ09OVFJPTCAgICAgICAgICJDUFUgNyIsSURDX0NQVTcsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfRElTQUJMRUQgfAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsMTEsMTE5LDM3LDEwCgkJICAgIENPTlRST0wgICAgICAgICAiQ1BVIDgiLElEQ19DUFU4LCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IFdTX0RJU0FCTEVEIHwKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDYxLDI4LDM3LDEwCgkJICAgIENPTlRST0wgICAgICAgICAiQ1BVIDkiLElEQ19DUFU5LCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IFdTX0RJU0FCTEVEIHwKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDYxLDQxLDM3LDEwCgkJICAgIENPTlRST0wgICAgICAgICAiQ1BVIDEwIixJRENfQ1BVMTAsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19ESVNBQkxFRCB8IFdTX1RBQlNUT1AsNjEsNTQsNDEsMTAKCQkgICAgQ09OVFJPTCAgICAgICAgICJDUFUgMTEiLElEQ19DUFUxMSwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX0RJU0FCTEVEIHwgV1NfVEFCU1RPUCw2MSw2Nyw0MSwxMAoJCSAgICBDT05UUk9MICAgICAgICAgIkNQVSAxMiIsSURDX0NQVTEyLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfRElTQUJMRUQgfCBXU19UQUJTVE9QLDYxLDgwLDQxLDEwCgkJICAgIENPTlRST0wgICAgICAgICAiQ1BVIDEzIixJRENfQ1BVMTMsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19ESVNBQkxFRCB8IFdTX1RBQlNUT1AsNjEsOTMsNDEsMTAKCQkgICAgQ09OVFJPTCAgICAgICAgICJDUFUgMTQiLElEQ19DUFUxNCwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX0RJU0FCTEVEIHwgV1NfVEFCU1RPUCw2MSwxMDYsNDEsMTAKCQkgICAgQ09OVFJPTCAgICAgICAgICJDUFUgMTUiLElEQ19DUFUxNSwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX0RJU0FCTEVEIHwgV1NfVEFCU1RPUCw2MSwxMTksNDEsMTAKCQkgICAgQ09OVFJPTCAgICAgICAgICJDUFUgMTYiLElEQ19DUFUxNiwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX0RJU0FCTEVEIHwgV1NfVEFCU1RPUCwxMTYsMjgsNDEsMTAKCQkgICAgQ09OVFJPTCAgICAgICAgICJDUFUgMTciLElEQ19DUFUxNywiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX0RJU0FCTEVEIHwgV1NfVEFCU1RPUCwxMTYsNDEsNDEsMTAKCQkgICAgQ09OVFJPTCAgICAgICAgICJDUFUgMTgiLElEQ19DUFUxOCwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX0RJU0FCTEVEIHwgV1NfVEFCU1RPUCwxMTYsNTQsNDEsMTAKCQkgICAgQ09OVFJPTCAgICAgICAgICJDUFUgMTkiLElEQ19DUFUxOSwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX0RJU0FCTEVEIHwgV1NfVEFCU1RPUCwxMTYsNjcsNDEsMTAKCQkgICAgQ09OVFJPTCAgICAgICAgICJDUFUgMjAiLElEQ19DUFUyMCwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX0RJU0FCTEVEIHwgV1NfVEFCU1RPUCwxMTYsODAsNDEsMTAKCQkgICAgQ09OVFJPTCAgICAgICAgICJDUFUgMjEiLElEQ19DUFUyMSwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX0RJU0FCTEVEIHwgV1NfVEFCU1RPUCwxMTYsOTMsNDEsMTAKCQkgICAgQ09OVFJPTCAgICAgICAgICJDUFUgMjIiLElEQ19DUFUyMiwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX0RJU0FCTEVEIHwgV1NfVEFCU1RPUCwxMTYsMTA2LDQxLDEwCgkJICAgIENPTlRST0wgICAgICAgICAiQ1BVIDIzIixJRENfQ1BVMjMsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19ESVNBQkxFRCB8IFdTX1RBQlNUT1AsMTE2LDExOSw0MSwxMAoJCSAgICBDT05UUk9MICAgICAgICAgIkNQVSAyNCIsSURDX0NQVTI0LCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfRElTQUJMRUQgfCBXU19UQUJTVE9QLDE3NSwyOCw0MSwxMAoJCSAgICBDT05UUk9MICAgICAgICAgIkNQVSAyNSIsSURDX0NQVTI1LCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfRElTQUJMRUQgfCBXU19UQUJTVE9QLDE3NSw0MSw0MSwxMAoJCSAgICBDT05UUk9MICAgICAgICAgIkNQVSAyNiIsSURDX0NQVTI2LCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfRElTQUJMRUQgfCBXU19UQUJTVE9QLDE3NSw1NCw0MSwxMAoJCSAgICBDT05UUk9MICAgICAgICAgIkNQVSAyNyIsSURDX0NQVTI3LCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfRElTQUJMRUQgfCBXU19UQUJTVE9QLDE3NSw2Nyw0MSwxMAoJCSAgICBDT05UUk9MICAgICAgICAgIkNQVSAyOCIsSURDX0NQVTI4LCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfRElTQUJMRUQgfCBXU19UQUJTVE9QLDE3NSw4MCw0MSwxMAoJCSAgICBDT05UUk9MICAgICAgICAgIkNQVSAyOSIsSURDX0NQVTI5LCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfRElTQUJMRUQgfCBXU19UQUJTVE9QLDE3NSw5Myw0MSwxMAoJCSAgICBDT05UUk9MICAgICAgICAgIkNQVSAzMCIsSURDX0NQVTMwLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfRElTQUJMRUQgfCBXU19UQUJTVE9QLDE3NSwxMDYsNDEsMTAKCQkgICAgQ09OVFJPTCAgICAgICAgICJDUFUgMzEiLElEQ19DUFUzMSwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX0RJU0FCTEVEIHwgV1NfVEFCU1RPUCwxNzUsMTE5LDQxLDEwCkVORAoKSUREX0NPTFVNTlNfRElBTE9HIERJQUxPRyBESVNDQVJEQUJMRSAgMCwgMCwgMTk1LCAxOTkKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiVuRsaiBrb2x1bW5lciIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogICAgREVGUFVTSEJVVFRPTiAgICJPSyIsSURPSyw4NCwxNzgsNTAsMTQKICAgIFBVU0hCVVRUT04gICAgICAiQXZicnl0IixJRENBTkNFTCwxMzgsMTc4LDUwLDE0CiAgICBMVEVYVCAgICAgICAgICAgIlbkbGoga29sdW1uZXIgYXR0IHZpc2FzIHDlIHByb2Nlc3NpZGFuIGkgYWt0aXZpdGV0c2hhbnRlcmFyZW4uIiwKICAgICAgICAgICAgICAgICAgICBJRENfU1RBVElDLDcsNywxODEsMTcKICAgIENPTlRST0wgICAgICAgICAiQiZpbGRuYW1uIixJRENfSU1BR0VOQU1FLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfRElTQUJMRUQgfCBXU19UQUJTVE9QLDcsMjgsNTYsMTAKICAgIENPTlRST0wgICAgICAgICAiJlBJRCAoUHJvY2Vzc2lkZW50aWZpZXJhcmUpIixJRENfUElELCJCdXR0b24iLAogICAgICAgICAgICAgICAgICAgIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AsNywzOSw5NSwxMAogICAgQ09OVFJPTCAgICAgICAgICImQ1BVLWFuduRuZG5pbmciLElEQ19DUFVVU0FHRSwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsNyw1MCw4NSwxMAogICAgQ09OVFJPTCAgICAgICAgICJDUFUtJnRpZCIsSURDX0NQVVRJTUUsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDcsNjEsNjUsMTAKICAgIENPTlRST0wgICAgICAgICAiJk1pbm5lc2FuduRuZG5pbmciLElEQ19NRU1PUllVU0FHRSwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsNyw3Miw3NSwxMAogICAgQ09OVFJPTCAgICAgICAgICJNaW5uZXNhbnbkbmRuaW5ncy0mZGVsdGEiLElEQ19NRU1PUllVU0FHRURFTFRBLCJCdXR0b24iLAogICAgICAgICAgICAgICAgICAgIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AsNyw4Myw5NSwxMAogICAgQ09OVFJPTCAgICAgICAgICJIJvZnc3RhIG1pbm5lc2FuduRuZG5pbmciLElEQ19QRUFLTUVNT1JZVVNBR0UsIkJ1dHRvbiIsCiAgICAgICAgICAgICAgICAgICAgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUCw3LDk0LDk4LDEwCiAgICBDT05UUk9MICAgICAgICAgIlNpZCZmZWwiLElEQ19QQUdFRkFVTFRTLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCw3LDEwNSw1MywxMAogICAgQ09OVFJPTCAgICAgICAgICJBbnYm5G5kYXJvYmpla3QiLElEQ19VU0VST0JKRUNUUywiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsNywxMTYsNzUsMTAKICAgIENPTlRST0wgICAgICAgICAiSS9PLWzkc25pbmdhciIsSURDX0lPUkVBRFMsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDcsMTI3LDYwLDEwCiAgICBDT05UUk9MICAgICAgICAgIkkvTyBs5HN0YSBieXRlIixJRENfSU9SRUFEQllURVMsIkJ1dHRvbiIsCiAgICAgICAgICAgICAgICAgICAgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUCw3LDEzOCw2NSwxMAogICAgQ09OVFJPTCAgICAgICAgICImU2Vzc2lvbnMtSUQiLElEQ19TRVNTSU9OSUQsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDcsMTQ5LDUwLDEwCiAgICBDT05UUk9MICAgICAgICAgIkFuduRuZGFyJm5hbW4iLElEQ19VU0VSTkFNRSwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsNywxNjAsNjUsMTAKICAgIENPTlRST0wgICAgICAgICAiU2lkZmVscy1kZWx0JmEiLElEQ19QQUdFRkFVTFRTREVMVEEsIkJ1dHRvbiIsCiAgICAgICAgICAgICAgICAgICAgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUCwxMDcsMjgsNzIsMTAKICAgIENPTlRST0wgICAgICAgICAiJlZpcnR1ZWxsIG1pbm5lc3N0b3JsZWsiLElEQ19WSVJUVUFMTUVNT1JZU0laRSwiQnV0dG9uIiwKICAgICAgICAgICAgICAgICAgICBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QLDEwNywzOSw4MiwxMAogICAgQ09OVFJPTCAgICAgICAgICJQYSZnZWQgcG9vbCIsSURDX1BBR0VEUE9PTCwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsMTA3LDUwLDUzLDEwCiAgICBDT05UUk9MICAgICAgICAgIk4mb24tcGFnZWQgcG9vbCIsSURDX05PTlBBR0VEUE9PTCwiQnV0dG9uIiwKICAgICAgICAgICAgICAgICAgICBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QLDEwNyw2MSw2NywxMAogICAgQ09OVFJPTCAgICAgICAgICJCYXNwJnJpb3JpdGV0IixJRENfQkFTRVBSSU9SSVRZLCJCdXR0b24iLAogICAgICAgICAgICAgICAgICAgIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AsMTA3LDcyLDU1LDEwCiAgICBDT05UUk9MICAgICAgICAgIkFudGFsICZoYW5kdGFnIixJRENfSEFORExFQ09VTlQsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDEwNyw4Myw1OSwxMAogICAgQ09OVFJPTCAgICAgICAgICJBbnRhbCB0ciblZGFyIixJRENfVEhSRUFEQ09VTlQsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDEwNyw5NCw1OSwxMAogICAgQ09OVFJPTCAgICAgICAgICJHREktb2JqZWt0IixJRENfR0RJT0JKRUNUUywiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsMTA3LDEwNSw1NSwxMAogICAgQ09OVFJPTCAgICAgICAgICJJL08tc2tyaXZuaW5nYXIiLElEQ19JT1dSSVRFUywiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsMTA3LDExNiw1OSwxMAogICAgQ09OVFJPTCAgICAgICAgICJJL08gYnl0ZSBza3Jpdm5hIixJRENfSU9XUklURUJZVEVTLCJCdXR0b24iLAogICAgICAgICAgICAgICAgICAgIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AsMTA3LDEyNyw2NSwxMAogICAgQ09OVFJPTCAgICAgICAgICJJL08g9nZyaWd0IixJRENfSU9PVEhFUiwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsMTA3LDEzOCw0NiwxMAogICAgQ09OVFJPTCAgICAgICAgICJJL08gYnl0ZSD2dnJpZ3QiLElEQ19JT09USEVSQllURVMsIkJ1dHRvbiIsCiAgICAgICAgICAgICAgICAgICAgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUCwxMDcsMTQ5LDY1LDEwCkVORAoKLyoKIFN0cmluZyBUYWJsZQoqLwoKU1RSSU5HVEFCTEUgRElTQ0FSREFCTEUKQkVHSU4KICAgIElEU19BUFBfVElUTEUgICAgICAgICAgICJBa3Rpdml0ZXRzaGFudGVyYXJlbiIKICAgIElEQ19UQVNLTUdSICAgICAgICAgICAgICJBa3Rpdml0ZXRzaGFudGVyYXJlbiIKICAgIElEU19SVU5ETEdfQ0FQVElPTiAgICAgICJTa2FwYSBueSBha3Rpdml0ZXQiCkVORAoKU1RSSU5HVEFCTEUgRElTQ0FSREFCTEUKQkVHSU4KICAgIElEX0ZJTEVfTkVXICAgICAgICAgICAgICJL9nIgZXR0IG55dHQgcHJvZ3JhbSIKICAgIElEX09QVElPTlNfQUxXQVlTT05UT1AgICJBa3Rpdml0ZXRzaGFudGVyYXJlbiB2aXNhcyBmcmFtZvZyIGFuZHJhIHByb2dyYW0gb20gZGVuIGludGUgbWluaW1lcmFzIgogICAgSURfT1BUSU9OU19NSU5JTUlaRU9OVVNFCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQWt0aXZpdGV0c2hhbnRlcmFyZW4gbWluaW1lcmFzIG7kciBkdSBieXRlciB0aWxsIGVuIGFubmFuIHByb2Nlc3MiCiAgICBJRF9PUFRJT05TX0hJREVXSEVOTUlOSU1JWkVEICJBa3Rpdml0ZXRzaGFudGVyYXJlbiBk9mxqcyBk5SBkZW4gbWluaW1lcmFzIgogICAgSURfVklFV19SRUZSRVNIICAgICAgICAgIlR2aW5nYSBha3Rpdml0ZXRzaGFudGVyYXJlbiBhdHQgdXBwZGF0ZXJhIG51LCBvYXZzZXR0IHVwcGRhdGVyaW5nc2ZyZWt2ZW5zIgogICAgSURfVklFV19MQVJHRSAgICAgICAgICAgIkFuduRuZGVyIHN0b3JhIGlrb25lciBm9nIgYXR0IHZpc2EgYWt0aXZpdGV0ZXIiCiAgICBJRF9WSUVXX1NNQUxMICAgICAgICAgICAiQW525G5kZXIgc23lIGlrb25lciBm9nIgYXR0IHZpc2EgYWt0aXZpdGV0ZXIiCiAgICBJRF9WSUVXX0RFVEFJTFMgICAgICAgICAiVmlzYXIgaW5mb3JtYXRpb24gb20gdmFyamUgYWt0aXZpdGV0IgogICAgSURfVklFV19VUERBVEVTUEVFRF9ISUdIICJVcHBkYXRlcmFyIGRpc3BsYXllbiB0duUgZ+VuZ2VyIHBlciBzZWt1bmQiCiAgICBJRF9WSUVXX1VQREFURVNQRUVEX05PUk1BTCAiVXBwZGF0ZXJhciBkaXNwbGF5ZW4gdmFyYW5uYW4gc2VrdW5kIgogICAgSURfVklFV19VUERBVEVTUEVFRF9MT1cgIlVwcGRhdGVyYXIgZGlzcGxheWVuIHZhciBmauRyZGUgc2VrdW5kIgpFTkQKClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCkJFR0lOCiAgICBJRF9WSUVXX1VQREFURVNQRUVEX1BBVVNFRCAiVXBwZGF0ZXJhciBpbnRlIGF1dG9tYXRpc2t0IgogICAgSURfV0lORE9XU19USUxFSE9SSVpPTlRBTExZCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiU3TkbGxlciB1cHAgZvZuc3RyZW4gaG9yaXNvbnRlbGx0IHDlIHNrcml2Ym9yZGV0IgogICAgSURfV0lORE9XU19USUxFVkVSVElDQUxMWSAiU3TkbGxlciB1cHAgZvZuc3RyZW4gdmVydGlrYWx0IHDlIHNrcml2Ym9yZGV0IgogICAgSURfV0lORE9XU19NSU5JTUlaRSAgICAgIk1pbmltZXJhciBm9m5zdHJlbiIKICAgIElEX1dJTkRPV1NfTUFYSU1JWkUgICAgICJNYXhpbWVyYXIgZvZuc3RyZW4iCiAgICBJRF9XSU5ET1dTX0NBU0NBREUgICAgICAiVmlzYXIgZvZuc3RyZW4gcOUgdmFyYW5kcmEgZGlhZ29uYWx0IPZ2ZXIgc2tyaXZib3JkZXQiCiAgICBJRF9XSU5ET1dTX0JSSU5HVE9GUk9OVCAiVGFyIGZyYW0gZvZuc3RyZXQsIG1lbiBz5HR0ZXIgZGV0IGludGUgaSBmb2t1cyIKICAgIElEX0hFTFBfVE9QSUNTICAgICAgICAgICJWaXNhciBoauRscORtbmVuIG9tIEFrdGl2aXRldHNoYW50ZXJhcmVuIgogICAgSURfSEVMUF9BQk9VVCAgICAgICAgICAgIlZpc2FyIHByb2dyYW1pbmZvcm1hdGlvbiwgdmVyc2lvbnNudW1tZXIgc2FtdCBjb3B5cmlnaHQiCiAgICBJRF9GSUxFX0VYSVQgICAgICAgICAgICAiQXZzbHV0YXIgQWt0aXZpdGV0c2hhbnRlcmFyZW4iCiAgICBJRF9PUFRJT05TX1NIT1cxNkJJVFRBU0tTCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiVmlzYXIgMTYtYml0YXJzcHJvZ3JhbSB1bmRlciAnbnR2ZG0uZXhlJyIKICAgIElEX1ZJRVdfU0VMRUNUQ09MVU1OUyAgICJW5GxqZXIgdmlsa2Ega29sdW1uZXIgc29tIHZpc2FzIHDlIHByb2Nlc3NpZGFuIgogICAgSURfVklFV19TSE9XS0VSTkVMVElNRVMgIlZpc2FyIGtlcm5lbHRpZCBpIHByZXN0YW5kYWdyYWZlcm5hIgogICAgSURfVklFV19DUFVISVNUT1JZX09ORUdSQVBIQUxMCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiRW4gaGlzdG9yaWVncmFmIHZpc2FyIHRvdGFsIHByb2Nlc3NvcmFuduRuZG5pbmciCiAgICBJRF9WSUVXX0NQVUhJU1RPUllfT05FR1JBUEhQRVJDUFUgIlZhcmplIHByb2Nlc3NvciBoYXIgZW4gZWdlbiBncmFmIgogICAgSURfQVBQTElDQVRJT05fUEFHRV9TV0lUQ0hUTwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIlRhciBlbiBha3Rpdml0ZXQgdGlsbCBm9nJncnVuZGVuIG9jaCBz5HR0ZXIgZGVuIGkgZm9rdXMiCkVORAoKU1RSSU5HVEFCTEUgRElTQ0FSREFCTEUKQkVHSU4KICAgIElEX0VORFRBU0sgICAgICAgICAgICAgICJT5GdlciB0aWxsIGRlbiB2YWxkYSBha3Rpdml0ZXRlbiBhdHQgYXZzbHV0YSIKICAgIElEX0dPVE9QUk9DRVNTICAgICAgICAgICJCeXRlciBmb2t1cyB0aWxsIGRlbiB2YWxkYSBha3Rpdml0ZXRlbnMgcHJvY2VzcyIKICAgIElEX1JFU1RPUkUgICAgICAgICAgICAgICLFdGVyc3TkbGxlciBha3Rpdml0ZXRzaGFudGVyYXJlbiBmcuVuIGRlc3MgZG9sZGEgc3RhdHVzIgogICAgSURfUFJPQ0VTU19QQUdFX0VORFBST0NFU1MgIlRhciBib3J0IHByb2Nlc3NlbiBmcuVuIHN5c3RlbWV0IgogICAgSURfUFJPQ0VTU19QQUdFX0VORFBST0NFU1NUUkVFCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiVGFyIGJvcnQgZGVuIGjkciBwcm9jZXNzZW4gb2NoIGFsbGEg5HR0bGluZ2FyIGZy5W4gc3lzdGVtZXQiCiAgICBJRF9QUk9DRVNTX1BBR0VfREVCVUcgICAiS29wcGxhciBkZWJ1Z2dlcm4gdGlsbCBkZW5uYSBwcm9jZXNzIgogICAgSURfUFJPQ0VTU19QQUdFX1NFVEFGRklOSVRZCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiS29udHJvbGxlcmFyIHZpbGthIHByb2Nlc3NvcmVyIHByb2Nlc3NlbiB0aWxs5XRzIGv2cmEgcOUiCiAgICBJRF9QUk9DRVNTX1BBR0VfU0VUUFJJT1JJVFlfUkVBTFRJTUUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJT5HR0ZXIgcHJvY2Vzc2VuIHRpbGwgcmVhbHRpZHNwcmlvcml0ZXQiCiAgICBJRF9QUk9DRVNTX1BBR0VfU0VUUFJJT1JJVFlfSElHSCAiR2VyIHByb2Nlc3NlbiBo9mcgcHJpb3JpdGV0IgogICAgSURfUFJPQ0VTU19QQUdFX1NFVFBSSU9SSVRZX0FCT1ZFTk9STUFMCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiR2VyIHByb2Nlc3NlbiBwcmlvcml0ZXQg9nZlciBub3JtYWwiCiAgICBJRF9QUk9DRVNTX1BBR0VfU0VUUFJJT1JJVFlfTk9STUFMCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiR2VyIHByb2Nlc3NlbiBub3JtYWwgcHJpb3JpdGV0IgogICAgSURfUFJPQ0VTU19QQUdFX1NFVFBSSU9SSVRZX0JFTE9XTk9STUFMCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiR2VyIHByb2Nlc3NlbiBwcmlvcml0ZXQgdW5kZXIgbm9ybWFsIgogICAgSURfUFJPQ0VTU19QQUdFX1NFVFBSSU9SSVRZX0xPVyAiR2VyIHByb2Nlc3NlbiBs5WcgcHJpb3JpdGV0IgpFTkQK