LyoKICogQ29weXJpZ2h0IDIwMDUtMjAwNyBBbGV4YW5kZXIgTi4gU/hybmVzIDxhbGV4QHRoZWhhbmRvZmFnb255LmNvbT4KICoKICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgogKiB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICoKICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCiAqIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiAqCiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBCiAqLwoKCkxBTkdVQUdFIExBTkdfTk9SV0VHSUFOLCBTVUJMQU5HX05PUldFR0lBTl9CT0tNQUwKClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCnsKICAgIElEU19NRVNTQUdFX0JPWF9USVRMRSwgIldpbmUgSW50ZXJuZXQgRXhwbG9yZXIiCn0KClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCnsKICAgIElEU19QUklOVF9IRUFERVJfVEVNUExBVEUgIiZ3JmJTaWRlICZwIiAvKiBGSVhNRTogc2hvdWxkIGJlICImdyZiUGFnZSAmcCBvZiAmUCIgKi8KICAgIElEU19QUklOVF9GT09URVJfVEVNUExBVEUgIiZ1JmImZCIKfQoKSURSX0JST1dTRV9DT05URVhUX01FTlUgTUVOVQp7CiAgICBQT1BVUCAiU3RhbmRhcmQiCiAgICB7CiAgICAgICAgTUVOVUlURU0gIlRpbCZiYWtlIiwgICAgICAgICAgICAgICAgICBJRE1fR09CQUNLV0FSRAogICAgICAgIE1FTlVJVEVNICImRnJhbSIsICAgICAgICAgICAgICAgSURNX0dPRk9SV0FSRAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJMYWdyZSBiYWtncnVubiAmc29tIC4gLiAuIiwgSURNX1NBVkVCQUNLR1JPVU5ECiAgICAgICAgTUVOVUlURU0gIkJydWsgc29tIGJhayZncnVubiIsICAgICBJRE1fU0VUV0FMTFBBUEVSCiAgICAgICAgTUVOVUlURU0gIiZLb3BpZXIgYmFrZ3J1bm4iLCAgICAgICBJRE1fQ09QWUJBQ0tHUk9VTkQKICAgICAgICBNRU5VSVRFTSAiQnJ1ayBzb20gc2tyaXZlYm9yJmRzb2JqZWt0IiwgICBJRE1fU0VUREVTS1RPUElURU0KICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiTWVyayAmYWx0IiwgICAgICAgICAgICBJRE1fU0VMRUNUQUxMCiAgICAgICAgTUVOVUlURU0gIiZMaW0gaW5uIiwgICAgICAgICAgICAgICAgIElETV9QQVNURQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJMYWcgcyZuYXJ2ZWkiLCAgICAgICBJRE1fQ1JFQVRFU0hPUlRDVVQKICAgICAgICBNRU5VSVRFTSAiTGVnZyB0aWwgaSAmZmF2b3JpdHRlciIsICAgICBJRE1fQURERkFWT1JJVEVTCiAgICAgICAgTUVOVUlURU0gIiZWaXMga2lsZGVrb2RlIiwgICAgICAgICAgIElETV9WSUVXU09VUkNFCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIksmb2RpbmciLCAgICAgICAgICAgICAgSURNX0xBTkdVQUdFCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIlNrciZpdiB1dCIsICAgICAgICAgICAgICAgICBJRE1fUFJJTlQKICAgICAgICBNRU5VSVRFTSAiT3BwZGF0ZSZyIiwgICAgICAgICAgICAgICBfSURNX1JFRlJFU0gKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiRWdlbnNrYSZwZXIiLCAgICAgICAgICAgIElETV9QUk9QRVJUSUVTCiAgICB9CgogICAgUE9QVVAgIkJpbGRlIgogICAgewogICAgICAgIE1FTlVJVEVNICLFcG5lIGsmb2JsaW5nIiwgICAgICAgICAgICAgICBJRE1fRk9MTE9XTElOS0MKICAgICAgICBNRU5VSVRFTSAixXBuZSBrb2JsaW5nIGkgJm55dHQgdmluZHUiLCBJRE1fRk9MTE9XTElOS04KICAgICAgICBNRU5VSVRFTSAiTCZhZ3JlIG3lbCBzb20gLiAuIC4iLCAgICAgICBJRE1fU0FWRVRBUkdFVAogICAgICAgIE1FTlVJVEVNICJTa3JpdiAmdXQgbeVsIiwgICAgICAgICAgICBJRE1fUFJJTlRUQVJHRVQKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJlZpcyBiaWxkZSIsICAgICAgICAgICAgSURNX1NIT1dQSUNUVVJFCiAgICAgICAgTUVOVUlURU0gIkxhZ3JlIGJpbGRlICZzb20gLiAuIC4iLCAgICAgIElETV9TQVZFUElDVFVSRQogICAgICAgIE1FTlVJVEVNICJTZW5kIGJpbGRlIHZpYSAmZS1wb3N0IC4gLiAuIiwgICAgICAgSURNX01QX0VNQUlMUElDVFVSRQogICAgICAgIE1FTlVJVEVNICJTa3ImaXYgdXQgYmlsZGUgLiAuIC4iLCAgICAgICAgSURNX01QX1BSSU5UUElDVFVSRQogICAgICAgIE1FTlVJVEVNICImR+UgdGlsIG1pbmUgYmlsZGVyIiwgICAgICAgSURNX01QX01ZUElDUwogICAgICAgIE1FTlVJVEVNICJCcnVrIHNvbSBiYWsmZ3J1bm4iLCAgICAgICBJRE1fU0VUV0FMTFBBUEVSCiAgICAgICAgTUVOVUlURU0gIkJydWsgc29tIHNrcml2ZWJvciZkc29iamVrdCAuIC4gLiIsICBJRE1fU0VUREVTS1RPUElURU0KICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiS2xpcHAgdSZ0IiwgICAgICAgICAgICAgICAgICAgICBJRE1fQ1VUCiAgICAgICAgTUVOVUlURU0gIiZLb3BpZXIiLCAgICAgICAgICAgICAgICAgICAgSURNX0NPUFkKICAgICAgICBNRU5VSVRFTSAiS29waWVyIHNuYXImdmVpQ29weSBTaG9yJnRjdXQiLCAgICAgICAgICAgSURNX0NPUFlTSE9SVENVVAogICAgICAgIE1FTlVJVEVNICImTGltIGlubiIsICAgICAgICAgICAgICAgICAgIElETV9QQVNURQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJMZWdnIHRpbCBpICZmYXZvcml0dGVyIC4gLiAuIiwgICAgIElETV9BRERGQVZPUklURVMKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiRWdlbnNrYXBlJnIiLCAgICAgICAgICAgICAgSURNX1BST1BFUlRJRVMKICAgIH0KCiAgICBQT1BVUCAiS29udHJvbGxlciIKICAgIHsKICAgICAgICBNRU5VSVRFTSAiQW4mZ3JlIiwgICAgICAgSURNX1VORE8KICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiS2xpcHAgdSZ0IiwgICAgICAgIElETV9DVVQKICAgICAgICBNRU5VSVRFTSAiJktvcGllciIsICAgICAgIElETV9DT1BZCiAgICAgICAgTUVOVUlURU0gIiZMaW0gaW5uIiwgICAgICBJRE1fUEFTVEUKICAgICAgICBNRU5VSVRFTSAiJlNsZXR0IiwgICAgIElETV9ERUxFVEUKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiTWVyayAmYWx0IiwgSURNX1NFTEVDVEFMTAogICAgfQoKICAgIFBPUFVQICJUYWJlbGwiCiAgICB7CiAgICAgICAgUE9QVVAgIiZNZXJrIgogICAgICAgIHsKICAgICAgICAgICAgTUVOVUlURU0gIiZDZWxsZSIsICAgICAgICAgSURNX0NFTExTRUxFQ1QKICAgICAgICAgICAgTUVOVUlURU0gIiZSYWQiLCAgICAgICAgICBJRE1fUk9XU0VMRUNUCiAgICAgICAgICAgIE1FTlVJVEVNICImS29sb25uZSIsICAgICAgIElETV9DT0xVTU5TRUxFQ1QKICAgICAgICAgICAgTUVOVUlURU0gIiZUYWJlbGwiLCAgICAgICAgSURNX1RBQkxFU0VMRUNUCiAgICAgICAgfQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJFZ2Vuc2thcGVyIGZvciAmY2VsbGUiLCAgSURNX0NFTExQUk9QRVJUSUVTCiAgICAgICAgTUVOVUlURU0gIkVnZW5za2FwZXIgZm9yICZ0YWJlbGwiLCBJRE1fVEFCTEVQUk9QRVJUSUVTCiAgICB9CgogICAgUE9QVVAgIjFEU2lkZXZlbGdpbmciCiAgICB7CiAgICAgICAgTUVOVUlURU0gIktsaXBwIHUmdCIsICAgICAgICBJRE1fQ1VUCiAgICAgICAgTUVOVUlURU0gIiZLb3BpZXIiLCAgICAgICBJRE1fQ09QWQogICAgICAgIE1FTlVJVEVNICJMaW0gaW5uIiwgICAgICAgSURNX1BBU1RFCiAgICAgICAgTUVOVUlURU0gIk1lcmsgJmFsdCIsIElETV9TRUxFQ1RBTEwKICAgICAgICBNRU5VSVRFTSAiJlNrcml2IHV0IiwgICAgICBJRE1fUFJJTlQKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgIH0KCiAgICBQT1BVUCAiQW5rZXIiCiAgICB7CiAgICAgICAgTUVOVUlURU0gIibFcG5lIiwgICAgICAgICAgICAgICAgSURNX0ZPTExPV0xJTktDCiAgICAgICAgTUVOVUlURU0gIsVwbmUgaSAmbnl0dCB2aW5kdSIsICBJRE1fRk9MTE9XTElOS04KICAgICAgICBNRU5VSVRFTSAiTCZhZ3JlIG3lbCBzb20gLiAuIC4iLCAgIElETV9TQVZFVEFSR0VUCiAgICAgICAgTUVOVUlURU0gIiZTa3JpdiB1dCBt5WwiLCAgICAgICAgSURNX1BSSU5UVEFSR0VUCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIktsaXBwIHV0IiwgICAgICAgICAgICAgICAgICBJRE1fQ1VUCiAgICAgICAgTUVOVUlURU0gIiZLb3BpZXIiLCAgICAgICAgICAgICAgICBJRE1fQ09QWQogICAgICAgIE1FTlVJVEVNICJLb3BpZXIgc25hcnZlJmkiLCAgICAgICBJRE1fQ09QWVNIT1JUQ1VUCiAgICAgICAgTUVOVUlURU0gIiZMaW0gaW5uIiwgICAgICAgICAgICAgICBJRE1fUEFTVEUKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiTGVnZyB0aWwgaSAmZmF2b3JpdHRlciAuIC4gLiIsIElETV9BRERGQVZPUklURVMKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiRWdlbnNrYXBlJnIiLCAgICAgICAgICBJRE1fUFJPUEVSVElFUwogICAgfQoKICAgIFBPUFVQICJVa2plbnQgc2FtbWVuaGVuZyIKICAgIHsKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgIH0KCiAgICBQT1BVUCAiRFlOU1JDLWJpbGRlIgogICAgewogICAgICAgIE1FTlVJVEVNICLFcG5lIGsmb2JsaW5nIiwgICAgICAgICAgICAgICBJRE1fRk9MTE9XTElOS0MKICAgICAgICBNRU5VSVRFTSAixXBuZSBrb2JsaW5nIGkgJm55dHQgdmluZHUiLCBJRE1fRk9MTE9XTElOS04KICAgICAgICBNRU5VSVRFTSAiTCZhZ3JlIG3lbCBzb20gLiAuIC4iLCAgICAgICBJRE1fU0FWRVRBUkdFVAogICAgICAgIE1FTlVJVEVNICJTa3JpdiAmdXQgbeVsIiwgICAgICAgICAgICBJRE1fUFJJTlRUQVJHRVQKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJlZpcyBiaWxkZSIsICAgICAgICAgICAgSURNX1NIT1dQSUNUVVJFCiAgICAgICAgTUVOVUlURU0gIkxhZ3JlIHZpZGVvICZzb20gLiAuIC4iLCAgICAgICAgSURNX1NBVkVQSUNUVVJFCiAgICAgICAgTUVOVUlURU0gIkJydWsgc29tIGJha2dydW5uIiwgICAgICAgSURNX1NFVFdBTExQQVBFUgogICAgICAgIE1FTlVJVEVNICJCcnVrIHNvbSBza3JpdmVib3ImZHNlbGVtZW50IC4gLiAuIiwgIElETV9TRVRERVNLVE9QSVRFTQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJLbGlwcCB1JnQiLCAgICAgICAgICAgICAgICAgICAgIElETV9DVVQKICAgICAgICBNRU5VSVRFTSAiJktvcGllciIsICAgICAgICAgICAgICAgICAgICBJRE1fQ09QWQogICAgICAgIE1FTlVJVEVNICJLb3BpZXIgc25hciZ2ZWkiLCAgICAgICAgICAgSURNX0NPUFlTSE9SVENVVAogICAgICAgIE1FTlVJVEVNICImTGltIGlubiIsICAgICAgICAgICAgICAgICAgIElETV9QQVNURQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJMZWdnIHRpbCBpICZmYXZvcml0dGVyIC4gLiAuIiwgICAgIElETV9BRERGQVZPUklURVMKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiU3BpbGwgYXYiLCAgICAgICAgICAgICAgICAgICAgIElETV9EWU5TUkNQTEFZCiAgICAgICAgTUVOVUlURU0gIlN0b3BwIiwgICAgICAgICAgICAgICAgICAgICBJRE1fRFlOU1JDU1RPUAogICAgICAgIE1FTlVJVEVNICJFZ2Vuc2thcGUmciIsICAgICAgICAgICAgICBJRE1fUFJPUEVSVElFUwogICAgfQoKICAgIFBPUFVQICJBUlQtYmlsZGUiCiAgICB7CiAgICAgICAgTUVOVUlURU0gIibFcG5lIGtvYmxpbmciLCAgICAgICAgICAgICAgIElETV9GT0xMT1dMSU5LQwogICAgICAgIE1FTlVJVEVNICLFcG5lIGtvYmxpbmcgaSAmbnl0dCB2aW5kdSIsIElETV9GT0xMT1dMSU5LTgogICAgICAgIE1FTlVJVEVNICJMJmFncmUgbeVsIHNvbSAuIC4gLiIsICAgICAgIElETV9TQVZFVEFSR0VUCiAgICAgICAgTUVOVUlURU0gIlNrcml2ICZ1dCBt5WwiLCAgICAgICAgICAgIElETV9QUklOVFRBUkdFVAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICImVmlzIGJpbGRlIiwgICAgICAgICAgICBJRE1fU0hPV1BJQ1RVUkUKICAgICAgICBNRU5VSVRFTSAiTGFncmUgYmlsZGUgJnNvbSAuIC4gLiIsICAgICAgSURNX1NBVkVQSUNUVVJFCiAgICAgICAgTUVOVUlURU0gIkJydWsgc29tIGJhayZncnVubiIsICAgICAgIElETV9TRVRXQUxMUEFQRVIKICAgICAgICBNRU5VSVRFTSAiQnJ1ayBzb20gc2tyaXZlYm9yJmRvYmpla3QgLiAuIC4iLCAgSURNX1NFVERFU0tUT1BJVEVNCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIktsaXBwIHUmdCIsICAgICAgICAgICAgICAgICAgICAgSURNX0NVVAogICAgICAgIE1FTlVJVEVNICImS29waWVyIiwgICAgICAgICAgICAgICAgICAgIElETV9DT1BZCiAgICAgICAgTUVOVUlURU0gIktvcGllciBzJm5hcnZlaSIsICAgICAgICAgICBJRE1fQ09QWVNIT1JUQ1VUCiAgICAgICAgTUVOVUlURU0gIiZMaW0gaW5uIiwgICAgICAgICAgICAgICAgICAgSURNX1BBU1RFCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIkxlZ2cgdGlsIGkgJkZhdm9yaXR0ZXIgLiAuIC4iLCAgICAgSURNX0FEREZBVk9SSVRFUwogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJTcGlsbCBhdiIsICAgICAgICAgICAgICAgICAgICAgSURNX0lNR0FSVFBMQVkKICAgICAgICBNRU5VSVRFTSAiU3RvcHAiLCAgICAgICAgICAgICAgICAgICAgIElETV9JTUdBUlRTVE9QCiAgICAgICAgTUVOVUlURU0gIlNwb2wgdGlsYmFrZSIsICAgICAgICAgICAgICAgICAgIElETV9JTUdBUlRSRVdJTkQKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiRWdlbnNrYXBlJnIiLCAgICAgICAgICAgICAgSURNX1BST1BFUlRJRVMKICAgIH0KCiAgICBQT1BVUCAiRmVpbHP4a2luZyIKICAgIHsKICAgICAgICBNRU5VSVRFTSAiU3BvcmluZ3NtZXJrZWxhcHBlciIsICAgICAgICAgSURNX1RSQUNFVEFHUwogICAgICAgIE1FTlVJVEVNICJSZXNzdXJzZmVpbCIsICBJRE1fUkVTT1VSQ0VGQUlMVVJFUwogICAgICAgIE1FTlVJVEVNICJEdW1wIHNwb3JpbmdzaW5mb3JtYXNqb24iLCBJRE1fRFVNUFRSQUNLSU5HSU5GTwogICAgICAgIE1FTlVJVEVNICJGZWlsc/hraW5nc3BhdXNlIiwgICAgICAgIElETV9ERUJVR0JSRUFLCiAgICAgICAgTUVOVUlURU0gIkZlaWxz+GtpbmdzdmlzbmluZyIsICAgICAgICAgSURNX0RFQlVHVklFVwogICAgICAgIE1FTlVJVEVNICJEdW1wIKtUcmVluyIsICAgICAgICAgIElETV9EVU1QVFJFRQogICAgICAgIE1FTlVJVEVNICJEdW1wIKtMaW5lc7siLCAgICAgICAgIElETV9EVU1QTElORVMKICAgICAgICBNRU5VSVRFTSAiRHVtcCCrRGlzcGxheVRyZWW7IiwgICBJRE1fRFVNUERJU1BMQVlUUkVFCiAgICAgICAgTUVOVUlURU0gIkR1bXAgq0Zvcm1hdENhY2hlc7siLCAgSURNX0RVTVBGT1JNQVRDQUNIRVMKICAgICAgICBNRU5VSVRFTSAiRHVtcCCrTGF5b3V0UmVjdHO7IiwgICBJRE1fRFVNUExBWU9VVFJFQ1RTCiAgICAgICAgTUVOVUlURU0gIk1pbm5lb3Zlcnbla2VyIiwgICAgIElETV9NRU1PUllNT05JVE9SCiAgICAgICAgTUVOVUlURU0gIll0ZWxzZXNt5WxlcmUiLCBJRE1fUEVSRk9STUFOQ0VNRVRFUlMKICAgICAgICBNRU5VSVRFTSAiTGFncmUgSFRNTCIsICAgICAgICAgIElETV9TQVZFSFRNTAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICImQmxhLXZpc25pbmciLCAgICAgICBJRE1fQlJPV1NFTU9ERQogICAgICAgIE1FTlVJVEVNICJSJmVkaWdlcmluZ3MtdmlzbmluZyIsICAgICAgICAgSURNX0VESVRNT0RFCiAgICB9CgogICAgUE9QVVAgIkxvZGRyZXR0IHJ1bGxlZmVsdCIKICAgIHsKICAgICAgICBNRU5VSVRFTSAiUnVsbCBoZXIiLCAgSURNX1NDUk9MTF9IRVJFCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIlRvcHAiLCAgICAgICAgICBJRE1fU0NST0xMX1RPUAogICAgICAgIE1FTlVJVEVNICJCdW5uIiwgICAgICAgSURNX1NDUk9MTF9CT1RUT00KICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiU2lkZSBvcHAiLCAgICAgIElETV9TQ1JPTExfUEFHRVVQCiAgICAgICAgTUVOVUlURU0gIlNpZGUgbmVkIiwgICAgSURNX1NDUk9MTF9QQUdFRE9XTgogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJSdWxsIG9wcCIsICAgIElETV9TQ1JPTExfVVAKICAgICAgICBNRU5VSVRFTSAiUnVsbCBuZWQiLCAgSURNX1NDUk9MTF9ET1dOCiAgICB9CgogICAgUE9QVVAgIlZhbm5yZXR0IHJ1bGxlZmVsdCIKICAgIHsKICAgICAgICBNRU5VSVRFTSAiUnVsbCBoZXIiLCAgSURNX1NDUk9MTF9IRVJFCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIlZlbnN0cmUga2FudCIsICAgIElETV9TQ1JPTExfTEVGVEVER0UKICAgICAgICBNRU5VSVRFTSAiSPh5cmUga2FudCIsICAgSURNX1NDUk9MTF9SSUdIVEVER0UKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiU2lkZSB2ZW5zdHJlIiwgICAgSURNX1NDUk9MTF9QQUdFTEVGVAogICAgICAgIE1FTlVJVEVNICJTaWRlIGj4eXJlIiwgICBJRE1fU0NST0xMX1BBR0VSSUdIVAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJSdWxsIHRpbCB2ZW5zdHJlIiwgIElETV9TQ1JPTExfTEVGVAogICAgICAgIE1FTlVJVEVNICJSdWxsIHRpbCBo+HlyZSIsIElETV9TQ1JPTExfUklHSFQKICAgIH0KfQo=