LyoKICogQ29weXJpZ2h0IDIwMDUtMjAwNyBBbGV4YW5kZXIgTi4gU/hybmVzIDxhbGV4QHRoZWhhbmRvZmFnb255LmNvbT4KICoKICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgogKiB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICoKICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCiAqIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiAqCiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBCiAqLwoKI2luY2x1ZGUgInNoZG9jbGMuaCIKCkxBTkdVQUdFIExBTkdfTk9SV0VHSUFOLCBTVUJMQU5HX05PUldFR0lBTl9CT0tNQUwKClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCnsKICAgIElEU19NRVNTQUdFX0JPWF9USVRMRSwgIldpbmUgSW50ZXJuZXQgRXhwbG9yZXIiCn0KClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCnsKICAgIElEU19QUklOVF9IRUFERVJfVEVNUExBVEUgIiZ3JmJTaWRlICZwIiAvKiBGSVhNRTogc2hvdWxkIGJlICImdyZiUGFnZSAmcCBvZiAmUCIgKi8KICAgIElEU19QUklOVF9GT09URVJfVEVNUExBVEUgIiZ1JmImZCIKfQoKSURSX0JST1dTRV9DT05URVhUX01FTlUgTUVOVQp7CiAgICBQT1BVUCAiU3RhbmRhcmQiCiAgICB7CiAgICAgICAgTUVOVUlURU0gIlRpbCZiYWtlIiwgICAgICAgICAgICAgICAgICBJRE1fR09CQUNLV0FSRAogICAgICAgIE1FTlVJVEVNICImRnJhbSIsICAgICAgICAgICAgICAgSURNX0dPRk9SV0FSRAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJMYWdyZSBiYWtncnVubiAmc29tLi4uIiwgSURNX1NBVkVCQUNLR1JPVU5ECiAgICAgICAgTUVOVUlURU0gIkJydWsgc29tIGJhayZncnVubiIsICAgICBJRE1fU0VUV0FMTFBBUEVSCiAgICAgICAgTUVOVUlURU0gIiZLb3BpZXIgYmFrZ3J1bm4iLCAgICAgICBJRE1fQ09QWUJBQ0tHUk9VTkQKICAgICAgICBNRU5VSVRFTSAiQnJ1ayBzb20gc2tyaXZlYm9yJmRzb2JqZWt0IiwgICBJRE1fU0VUREVTS1RPUElURU0KICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiTWVyayAmYWx0IiwgICAgICAgICAgICBJRE1fU0VMRUNUQUxMCiAgICAgICAgTUVOVUlURU0gIiZMaW0gaW5uIiwgICAgICAgICAgICAgICAgIElETV9QQVNURQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJMYWcgcyZuYXJ2ZWkiLCAgICAgICBJRE1fQ1JFQVRFU0hPUlRDVVQKICAgICAgICBNRU5VSVRFTSAiTGVnZyB0aWwgaSAmZmF2b3JpdHRlciIsICAgICBJRE1fQURERkFWT1JJVEVTCiAgICAgICAgTUVOVUlURU0gIiZWaXMga2lsZGVrb2RlIiwgICAgICAgICAgIElETV9WSUVXU09VUkNFCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIksmb2RpbmciLCAgICAgICAgICAgICAgSURNX0xBTkdVQUdFCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIlNrciZpdiB1dCIsICAgICAgICAgICAgICAgICBJRE1fUFJJTlQKICAgICAgICBNRU5VSVRFTSAiT3BwZGF0ZSZyIiwgICAgICAgICAgICAgICBfSURNX1JFRlJFU0gKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiRWdlbnNrYSZwZXIiLCAgICAgICAgICAgIElETV9QUk9QRVJUSUVTCiAgICB9CgogICAgUE9QVVAgIkJpbGRlIgogICAgewogICAgICAgIE1FTlVJVEVNICLFcG5lIGsmb2JsaW5nIiwgICAgICAgICAgICAgICBJRE1fRk9MTE9XTElOS0MKICAgICAgICBNRU5VSVRFTSAixXBuZSBrb2JsaW5nIGkgJm55dHQgdmluZHUiLCBJRE1fRk9MTE9XTElOS04KICAgICAgICBNRU5VSVRFTSAiTCZhZ3JlIG3lbCBzb20uLi4iLCAgICAgICAgICBJRE1fU0FWRVRBUkdFVAogICAgICAgIE1FTlVJVEVNICJTa3JpdiAmdXQgbeVsIiwgICAgICAgICAgICBJRE1fUFJJTlRUQVJHRVQKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJlZpcyBiaWxkZSIsICAgICAgICAgICAgSURNX1NIT1dQSUNUVVJFCiAgICAgICAgTUVOVUlURU0gIkxhZ3JlIGJpbGRlICZzb20uLi4iLCAgICAgICAgSURNX1NBVkVQSUNUVVJFCiAgICAgICAgTUVOVUlURU0gIlNlbmQgYmlsZGUgdmlhICZlLXBvc3QuLi4iLCAgSURNX01QX0VNQUlMUElDVFVSRQogICAgICAgIE1FTlVJVEVNICJTa3ImaXYgdXQgYmlsZGUuLi4iLCAgICAgICAgSURNX01QX1BSSU5UUElDVFVSRQogICAgICAgIE1FTlVJVEVNICImR+UgdGlsIG1pbmUgYmlsZGVyIiwgICAgICAgSURNX01QX01ZUElDUwogICAgICAgIE1FTlVJVEVNICJCcnVrIHNvbSBiYWsmZ3J1bm4iLCAgICAgICBJRE1fU0VUV0FMTFBBUEVSCiAgICAgICAgTUVOVUlURU0gIkJydWsgc29tIHNrcml2ZWJvciZkc29iamVrdC4uLiIsIElETV9TRVRERVNLVE9QSVRFTQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJLbGlwcCB1JnQiLCAgICAgICAgICAgICAgICAgICAgIElETV9DVVQKICAgICAgICBNRU5VSVRFTSAiJktvcGllciIsICAgICAgICAgICAgICAgICAgICBJRE1fQ09QWQogICAgICAgIE1FTlVJVEVNICJLb3BpZXIgc25hciZ2ZWlDb3B5IFNob3ImdGN1dCIsICAgICAgICAgICBJRE1fQ09QWVNIT1JUQ1VUCiAgICAgICAgTUVOVUlURU0gIiZMaW0gaW5uIiwgICAgICAgICAgICAgICAgICAgSURNX1BBU1RFCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIkxlZ2cgdGlsIGkgJmZhdm9yaXR0ZXIuLi4iLCAgSURNX0FEREZBVk9SSVRFUwogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJFZ2Vuc2thcGUmciIsICAgICAgICAgICAgICBJRE1fUFJPUEVSVElFUwogICAgfQoKICAgIFBPUFVQICJLb250cm9sbGVyIgogICAgewogICAgICAgIE1FTlVJVEVNICJBbiZncmUiLCAgICAgICBJRE1fVU5ETwogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJLbGlwcCB1JnQiLCAgICAgICAgSURNX0NVVAogICAgICAgIE1FTlVJVEVNICImS29waWVyIiwgICAgICAgSURNX0NPUFkKICAgICAgICBNRU5VSVRFTSAiJkxpbSBpbm4iLCAgICAgIElETV9QQVNURQogICAgICAgIE1FTlVJVEVNICImU2xldHQiLCAgICAgSURNX0RFTEVURQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJNZXJrICZhbHQiLCBJRE1fU0VMRUNUQUxMCiAgICB9CgogICAgUE9QVVAgIlRhYmVsbCIKICAgIHsKICAgICAgICBQT1BVUCAiJk1lcmsiCiAgICAgICAgewogICAgICAgICAgICBNRU5VSVRFTSAiJkNlbGxlIiwgICAgICAgICBJRE1fQ0VMTFNFTEVDVAogICAgICAgICAgICBNRU5VSVRFTSAiJlJhZCIsICAgICAgICAgIElETV9ST1dTRUxFQ1QKICAgICAgICAgICAgTUVOVUlURU0gIiZLb2xvbm5lIiwgICAgICAgSURNX0NPTFVNTlNFTEVDVAogICAgICAgICAgICBNRU5VSVRFTSAiJlRhYmVsbCIsICAgICAgICBJRE1fVEFCTEVTRUxFQ1QKICAgICAgICB9CiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIkVnZW5za2FwZXIgZm9yICZjZWxsZSIsICBJRE1fQ0VMTFBST1BFUlRJRVMKICAgICAgICBNRU5VSVRFTSAiRWdlbnNrYXBlciBmb3IgJnRhYmVsbCIsIElETV9UQUJMRVBST1BFUlRJRVMKICAgIH0KCiAgICBQT1BVUCAiMURTaWRldmVsZ2luZyIKICAgIHsKICAgICAgICBNRU5VSVRFTSAiS2xpcHAgdSZ0IiwgICAgICAgIElETV9DVVQKICAgICAgICBNRU5VSVRFTSAiJktvcGllciIsICAgICAgIElETV9DT1BZCiAgICAgICAgTUVOVUlURU0gIkxpbSBpbm4iLCAgICAgICBJRE1fUEFTVEUKICAgICAgICBNRU5VSVRFTSAiTWVyayAmYWx0IiwgSURNX1NFTEVDVEFMTAogICAgICAgIE1FTlVJVEVNICImU2tyaXYgdXQiLCAgICAgIElETV9QUklOVAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgfQoKICAgIFBPUFVQICJBbmtlciIKICAgIHsKICAgICAgICBNRU5VSVRFTSAiJsVwbmUiLCAgICAgICAgICAgICAgICBJRE1fRk9MTE9XTElOS0MKICAgICAgICBNRU5VSVRFTSAixXBuZSBpICZueXR0IHZpbmR1IiwgIElETV9GT0xMT1dMSU5LTgogICAgICAgIE1FTlVJVEVNICJMJmFncmUgbeVsIHNvbS4uLiIsICAgSURNX1NBVkVUQVJHRVQKICAgICAgICBNRU5VSVRFTSAiJlNrcml2IHV0IG3lbCIsICAgICAgICBJRE1fUFJJTlRUQVJHRVQKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiS2xpcHAgdXQiLCAgICAgICAgICAgICAgICAgIElETV9DVVQKICAgICAgICBNRU5VSVRFTSAiJktvcGllciIsICAgICAgICAgICAgICAgIElETV9DT1BZCiAgICAgICAgTUVOVUlURU0gIktvcGllciBzbmFydmUmaSIsICAgICAgIElETV9DT1BZU0hPUlRDVVQKICAgICAgICBNRU5VSVRFTSAiJkxpbSBpbm4iLCAgICAgICAgICAgICAgIElETV9QQVNURQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJMZWdnIHRpbCBpICZmYXZvcml0dGVyLi4uIiwgSURNX0FEREZBVk9SSVRFUwogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJFZ2Vuc2thcGUmciIsICAgICAgICAgIElETV9QUk9QRVJUSUVTCiAgICB9CgogICAgUE9QVVAgIlVramVudCBzYW1tZW5oZW5nIgogICAgewogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgfQoKICAgIFBPUFVQICJEWU5TUkMtYmlsZGUiCiAgICB7CiAgICAgICAgTUVOVUlURU0gIsVwbmUgayZvYmxpbmciLCAgICAgICAgICAgICAgIElETV9GT0xMT1dMSU5LQwogICAgICAgIE1FTlVJVEVNICLFcG5lIGtvYmxpbmcgaSAmbnl0dCB2aW5kdSIsIElETV9GT0xMT1dMSU5LTgogICAgICAgIE1FTlVJVEVNICJMJmFncmUgbeVsIHNvbS4uLiIsICAgICAgIElETV9TQVZFVEFSR0VUCiAgICAgICAgTUVOVUlURU0gIlNrcml2ICZ1dCBt5WwiLCAgICAgICAgICAgIElETV9QUklOVFRBUkdFVAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICImVmlzIGJpbGRlIiwgICAgICAgICAgICBJRE1fU0hPV1BJQ1RVUkUKICAgICAgICBNRU5VSVRFTSAiTGFncmUgdmlkZW8gJnNvbS4uLiIsICAgICAgICBJRE1fU0FWRVBJQ1RVUkUKICAgICAgICBNRU5VSVRFTSAiQnJ1ayBzb20gYmFrZ3J1bm4iLCAgICAgICBJRE1fU0VUV0FMTFBBUEVSCiAgICAgICAgTUVOVUlURU0gIkJydWsgc29tIHNrcml2ZWJvciZkc2VsZW1lbnQuLi4iLCAgSURNX1NFVERFU0tUT1BJVEVNCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIktsaXBwIHUmdCIsICAgICAgICAgICAgICAgICAgICAgSURNX0NVVAogICAgICAgIE1FTlVJVEVNICImS29waWVyIiwgICAgICAgICAgICAgICAgICAgIElETV9DT1BZCiAgICAgICAgTUVOVUlURU0gIktvcGllciBzbmFyJnZlaSIsICAgICAgICAgICBJRE1fQ09QWVNIT1JUQ1VUCiAgICAgICAgTUVOVUlURU0gIiZMaW0gaW5uIiwgICAgICAgICAgICAgICAgICAgSURNX1BBU1RFCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIkxlZ2cgdGlsIGkgJmZhdm9yaXR0ZXIuLi4iLCAgICAgSURNX0FEREZBVk9SSVRFUwogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJTcGlsbCBhdiIsICAgICAgICAgICAgICAgICAgICAgSURNX0RZTlNSQ1BMQVkKICAgICAgICBNRU5VSVRFTSAiU3RvcHAiLCAgICAgICAgICAgICAgICAgICAgIElETV9EWU5TUkNTVE9QCiAgICAgICAgTUVOVUlURU0gIkVnZW5za2FwZSZyIiwgICAgICAgICAgICAgIElETV9QUk9QRVJUSUVTCiAgICB9CgogICAgUE9QVVAgIkFSVC1iaWxkZSIKICAgIHsKICAgICAgICBNRU5VSVRFTSAiJsVwbmUga29ibGluZyIsICAgICAgICAgICAgICAgSURNX0ZPTExPV0xJTktDCiAgICAgICAgTUVOVUlURU0gIsVwbmUga29ibGluZyBpICZueXR0IHZpbmR1IiwgSURNX0ZPTExPV0xJTktOCiAgICAgICAgTUVOVUlURU0gIkwmYWdyZSBt5Wwgc29tLi4uIiwgICAgICAgSURNX1NBVkVUQVJHRVQKICAgICAgICBNRU5VSVRFTSAiU2tyaXYgJnV0IG3lbCIsICAgICAgICAgICAgSURNX1BSSU5UVEFSR0VUCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIiZWaXMgYmlsZGUiLCAgICAgICAgICAgIElETV9TSE9XUElDVFVSRQogICAgICAgIE1FTlVJVEVNICJMYWdyZSBiaWxkZSAmc29tLi4uIiwgICAgICBJRE1fU0FWRVBJQ1RVUkUKICAgICAgICBNRU5VSVRFTSAiQnJ1ayBzb20gYmFrJmdydW5uIiwgICAgICAgSURNX1NFVFdBTExQQVBFUgogICAgICAgIE1FTlVJVEVNICJCcnVrIHNvbSBza3JpdmVib3ImZG9iamVrdC4uLiIsICBJRE1fU0VUREVTS1RPUElURU0KICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiS2xpcHAgdSZ0IiwgICAgICAgICAgICAgICAgICAgICBJRE1fQ1VUCiAgICAgICAgTUVOVUlURU0gIiZLb3BpZXIiLCAgICAgICAgICAgICAgICAgICAgSURNX0NPUFkKICAgICAgICBNRU5VSVRFTSAiS29waWVyIHMmbmFydmVpIiwgICAgICAgICAgIElETV9DT1BZU0hPUlRDVVQKICAgICAgICBNRU5VSVRFTSAiJkxpbSBpbm4iLCAgICAgICAgICAgICAgICAgICBJRE1fUEFTVEUKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiTGVnZyB0aWwgaSAmRmF2b3JpdHRlci4uLiIsICAgICBJRE1fQURERkFWT1JJVEVTCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIlNwaWxsIGF2IiwgICAgICAgICAgICAgICAgICAgICBJRE1fSU1HQVJUUExBWQogICAgICAgIE1FTlVJVEVNICJTdG9wcCIsICAgICAgICAgICAgICAgICAgICAgSURNX0lNR0FSVFNUT1AKICAgICAgICBNRU5VSVRFTSAiU3BvbCB0aWxiYWtlIiwgICAgICAgICAgICAgICAgICAgSURNX0lNR0FSVFJFV0lORAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJFZ2Vuc2thcGUmciIsICAgICAgICAgICAgICBJRE1fUFJPUEVSVElFUwogICAgfQoKICAgIFBPUFVQICJGZWlsc/hraW5nIgogICAgewogICAgICAgIE1FTlVJVEVNICJTcG9yaW5nc21lcmtlbGFwcGVyIiwgICAgICAgICBJRE1fVFJBQ0VUQUdTCiAgICAgICAgTUVOVUlURU0gIlJlc3N1cnNmZWlsIiwgIElETV9SRVNPVVJDRUZBSUxVUkVTCiAgICAgICAgTUVOVUlURU0gIkR1bXAgc3BvcmluZ3NpbmZvcm1hc2pvbiIsIElETV9EVU1QVFJBQ0tJTkdJTkZPCiAgICAgICAgTUVOVUlURU0gIkZlaWxz+GtpbmdzcGF1c2UiLCAgICAgICAgSURNX0RFQlVHQlJFQUsKICAgICAgICBNRU5VSVRFTSAiRmVpbHP4a2luZ3N2aXNuaW5nIiwgICAgICAgICBJRE1fREVCVUdWSUVXCiAgICAgICAgTUVOVUlURU0gIkR1bXAgq1RyZWW7IiwgICAgICAgICAgSURNX0RVTVBUUkVFCiAgICAgICAgTUVOVUlURU0gIkR1bXAgq0xpbmVzuyIsICAgICAgICAgSURNX0RVTVBMSU5FUwogICAgICAgIE1FTlVJVEVNICJEdW1wIKtEaXNwbGF5VHJlZbsiLCAgIElETV9EVU1QRElTUExBWVRSRUUKICAgICAgICBNRU5VSVRFTSAiRHVtcCCrRm9ybWF0Q2FjaGVzuyIsICBJRE1fRFVNUEZPUk1BVENBQ0hFUwogICAgICAgIE1FTlVJVEVNICJEdW1wIKtMYXlvdXRSZWN0c7siLCAgIElETV9EVU1QTEFZT1VUUkVDVFMKICAgICAgICBNRU5VSVRFTSAiTWlubmVvdmVyduVrZXIiLCAgICAgSURNX01FTU9SWU1PTklUT1IKICAgICAgICBNRU5VSVRFTSAiWXRlbHNlc23lbGVyZSIsIElETV9QRVJGT1JNQU5DRU1FVEVSUwogICAgICAgIE1FTlVJVEVNICJMYWdyZSBIVE1MIiwgICAgICAgICAgSURNX1NBVkVIVE1MCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIiZCbGEtdmlzbmluZyIsICAgICAgIElETV9CUk9XU0VNT0RFCiAgICAgICAgTUVOVUlURU0gIlImZWRpZ2VyaW5ncy12aXNuaW5nIiwgICAgICAgICBJRE1fRURJVE1PREUKICAgIH0KCiAgICBQT1BVUCAiTG9kZHJldHQgcnVsbGVmZWx0IgogICAgewogICAgICAgIE1FTlVJVEVNICJSdWxsIGhlciIsICBJRE1fU0NST0xMX0hFUkUKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiVG9wcCIsICAgICAgICAgIElETV9TQ1JPTExfVE9QCiAgICAgICAgTUVOVUlURU0gIkJ1bm4iLCAgICAgICBJRE1fU0NST0xMX0JPVFRPTQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJTaWRlIG9wcCIsICAgICAgSURNX1NDUk9MTF9QQUdFVVAKICAgICAgICBNRU5VSVRFTSAiU2lkZSBuZWQiLCAgICBJRE1fU0NST0xMX1BBR0VET1dOCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIlJ1bGwgb3BwIiwgICAgSURNX1NDUk9MTF9VUAogICAgICAgIE1FTlVJVEVNICJSdWxsIG5lZCIsICBJRE1fU0NST0xMX0RPV04KICAgIH0KCiAgICBQT1BVUCAiVmFubnJldHQgcnVsbGVmZWx0IgogICAgewogICAgICAgIE1FTlVJVEVNICJSdWxsIGhlciIsICBJRE1fU0NST0xMX0hFUkUKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiVmVuc3RyZSBrYW50IiwgICAgSURNX1NDUk9MTF9MRUZURURHRQogICAgICAgIE1FTlVJVEVNICJI+HlyZSBrYW50IiwgICBJRE1fU0NST0xMX1JJR0hURURHRQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJTaWRlIHZlbnN0cmUiLCAgICBJRE1fU0NST0xMX1BBR0VMRUZUCiAgICAgICAgTUVOVUlURU0gIlNpZGUgaPh5cmUiLCAgIElETV9TQ1JPTExfUEFHRVJJR0hUCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIlJ1bGwgdGlsIHZlbnN0cmUiLCAgSURNX1NDUk9MTF9MRUZUCiAgICAgICAgTUVOVUlURU0gIlJ1bGwgdGlsIGj4eXJlIiwgSURNX1NDUk9MTF9SSUdIVAogICAgfQp9Cg==