LyoKICogRHV0Y2ggcmVzb3VyY2VzIGZvciBtc2h0bWwKICoKICogQ29weXJpZ2h0IDIwMDUgSGFucyBMZWlkZWtrZXIKICoKICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgogKiB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICoKICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCiAqIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiAqCiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogKiBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAgMDIxMTEtMTMwNyAgVVNBCiAqLwoKCkxBTkdVQUdFIExBTkdfRFVUQ0gsIFNVQkxBTkdfREVGQVVMVAoKU1RSSU5HVEFCTEUgRElTQ0FSREFCTEUKewogICAgSURTX0hUTUxESVNBQkxFRCAgIkRlIEhUTUwgd2VlcmdhdmUgaXMgb3AgZGl0IG1vbWVudCB1aXRnZXNjaGFrZWxkLiIKICAgIElEU19IVE1MRE9DVU1FTlQgICJIVE1MIGRvY3VtZW50Igp9CgovKiBGSVhNRTogVGhpcyBzaG91bGQgYmUgaW4gc2hkb2NsYy5kbGwgKi8KCklEUl9CUk9XU0VfQ09OVEVYVF9NRU5VIE1FTlUKewogICAgUE9QVVAgIlN0YW5kYWFyZCIKICAgIHsKICAgICAgICBNRU5VSVRFTSAiJlRlcnVnIiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElETV9CQUNLCiAgICAgICAgTUVOVUlURU0gIlYmb29ydWl0IiwgICAgICAgICAgICAgICAgICAgICAgICAgICBJRE1fRk9SV0FSRAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICImQWNodGVyZ3JvbmQgb3BzbGFhbiBhbHMuLi4iLCAgICAgICAgSURNX1NBVkVCQUNLR1JPVU5EQVMKICAgICAgICBNRU5VSVRFTSAiQWxzIGFjaHRlcmdyb25kIGluc3RlbGxlbiIsICAgICAgICAgIElETV9TRVRBU0JBQ0tHUk9VTkQKICAgICAgICBNRU5VSVRFTSAiQWNodGVyZ3JvbmQgJmtvcGnrcmVuIiwgICAgICAgICAgICAgIElETV9DT1BZQkFDS0dST1VORAogICAgICAgIE1FTlVJVEVNICJBbHMgZGVza3RvcGVsZW1lbnQgaW5zdGVsbGVuLi4uIiwgICAgSURNX1NFVEFTREVTS1RPUElURU0KICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiQWxsZXMgJnNlbGVjdGVyZW4iLCAgICAgICAgICAgICAgICAgIElETV9TRUxFQ1RBTEwKICAgICAgICBNRU5VSVRFTSAiJlBsYWtrZW4iLCAgICAgICAgICAgICAgICAgICAgICAgICAgIElETV9QQVNURQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICImU25lbGtvcHBlbGluZyBhYW5tYWtlbiIsICAgICAgICAgICAgSURNX0NSRUFURVNIT1JUQ1VUCiAgICAgICAgTUVOVUlURU0gIkFscyAmZmF2b3JpZXQgdG9ldm9lZ2VuIiwgICAgICAgICAgICBJRE1fQUREVE9GQVZPVVJJVEVTCiAgICAgICAgTUVOVUlURU0gIiZCcm9ud2VlcmdhdmUiLCAgICAgICAgICAgICAgICAgICAgICBJRE1fVklFV1NPVVJDRQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICImVGVrc3Rjb2RlcmluZyIsICAgICAgICAgICAgICAgICAgICAgSURNX0VOQ09ESU5HIAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICImQWZkcnVra2VuIiwgICAgICAgICAgICAgICAgICAgICAgICAgSURNX1BSSU5UCiAgICAgICAgTUVOVUlURU0gIkEmY3R1YWxpc2VyZW4iLCAgICAgICAgICAgICAgICAgICAgICBJRE1fUkVGUkVTSCAKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJkVpZ2Vuc2NoYXBwZW4iLCAgICAgICAgICAgICAgICAgICAgIElETV9QUk9QRVJUSUVTCiAgICB9CgogICAgUE9QVVAgIkJlZWxkIgogICAgewogICAgICAgIE1FTlVJVEVNICImT3BlbiBsaW5rIiwgICAgICAgICAgICAgICAgICAgICAgICAgSURNX09QRU5MSU5LCiAgICAgICAgTUVOVUlURU0gIk9wZW4gbGluayBpbiBuaWV1dyB2ZW5zdGVyIiwgICAgICAgICBJRE1fT1BFTklOTkVXV0lORE9XCiAgICAgICAgTUVOVUlURU0gIiZEb2VsIG9wc2xhYW4gYWxzLi4uIiwgICAgICAgICAgICAgICBJRE1fU0FWRVRBUkdFVEFTCiAgICAgICAgTUVOVUlURU0gIkRvZWwgJmFmZHJ1a2tlbiIsICAgICAgICAgICAgICAgICAgICBJRE1fUFJJTlRUQVJHRVQKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiVG9vbiBiJmVlbGQiLCAgICAgICAgICAgICAgICAgICAgICAgIElETV9TSE9XUElDVFVSRQogICAgICAgIE1FTlVJVEVNICImQmVlbGQgb3BzbGFhbiBhbHMuLi4iLCAgICAgICAgICAgICAgSURNX1NBVkVQSUNUVVJFQVMKICAgICAgICBNRU5VSVRFTSAiQmVlbGQgJnZlcnN0dXJlbi4uLiIsICAgICAgICAgICAgICAgIElETV9FTUFJTFBJQ1RVUkUKICAgICAgICBNRU5VSVRFTSAiQmVlbGQgQWYmZHJ1a2tlbi4uLiIsICAgICAgICAgICAgICAgIElETV9QUklOVFBJQ1RVUkUKICAgICAgICBNRU5VSVRFTSAiJkdhIG5hYXIgTWlqbiBBZmJlZWxkaW5nZW4iLCAgICAgICAgIElETV9HT1RPTVlQSUNUVVJFUwogICAgICAgIE1FTlVJVEVNICJBbHMgYWNodGVyZ3JvbmQgaW5zdGVsbGVuIiwgICAgICAgICAgSURNX1NFVEFTQkFDS0dST1VORAogICAgICAgIE1FTlVJVEVNICJBbHMgZGVza3RvcGVsZW1lbnQgaW5zdGVsbGVuLi4uIiwgICAgSURNX1NFVEFTREVTS1RPUElURU0KICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiSyZuaXBwZW4iLCAgICAgICAgICAgICAgICAgICAgICAgICAgIElETV9DVVQKICAgICAgICBNRU5VSVRFTSAiJktvcGnrcmVuIiwgICAgICAgICAgICAgICAgICAgICAgICAgIElETV9DT1BZCiAgICAgICAgTUVOVUlURU0gIiZTbmVsa29wcGVsaW5nIGtvcGnrcmVuIiwgICAgICAgICAgICBJRE1fQ09QWVNIT1JUQ1VUCiAgICAgICAgTUVOVUlURU0gIiZQbGFra2VuIiwgICAgICAgICAgICAgICAgICAgICAgICAgICBJRE1fUEFTVEUgCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIkFhbiAmZmF2b3JpZXRlbiB0b2V2b2VnZW4uLi4iLCAgICAgICBJRE1fQUREVE9GQVZPVVJJVEVTCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIiZFaWdlbnNjaGFwcGVuIiwgICAgICAgICAgICAgICAgICAgICBJRE1fUFJPUEVSVElFUwogICAgfQoKICAgIFBPUFVQICJCZXN0dXJpbmciCiAgICB7CiAgICAgICAgTUVOVUlURU0gIiZPbmdlZGFhbiBtYWtlbiIsICAgSURNX1VORE8gCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIiZLbmlwcGVuIiwgICAgICAgICAgSURNX0NVVAogICAgICAgIE1FTlVJVEVNICJLJm9waetyZW4iLCAgICAgICAgIElETV9DT1BZCiAgICAgICAgTUVOVUlURU0gIiZQbGFra2VuIiwgICAgICAgICAgSURNX1BBU1RFCiAgICAgICAgTUVOVUlURU0gIiZWZXJ3aWpkZXJlbiIsICAgICAgSURNX0RFTEVURQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJBbGxlcyAmc2VsZWN0ZXJlbiIsIElETV9TRUxFQ1RBTEwKICAgIH0KCiAgICBQT1BVUCAiVGFiZWxsZW4iCiAgICB7CiAgICAgICAgUE9QVVAgIiZTZWxlY3RlcmVuIgogICAgICAgIHsKICAgICAgICAgICAgTUVOVUlURU0gIiZDZWwiLCAgICAgICAgICAgICAgICAgSURNX0NFTEwgCiAgICAgICAgICAgIE1FTlVJVEVNICImUmVnZWwiLCAgICAgICAgICAgICAgIElETV9ST1cKICAgICAgICAgICAgTUVOVUlURU0gIiZLb2xvbSIsICAgICAgICAgICAgICAgSURNX0NPTFVNTgogICAgICAgICAgICBNRU5VSVRFTSAiJlRhYmVsIiwgICAgICAgICAgICAgICBJRE1fVEFCTEUKICAgICAgICB9CiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIiZDZWxlaWdlbnNjaGFwcGVuIiwgICAgICAgSURNX0NFTExQUk9QRVJUSUVTCiAgICAgICAgTUVOVUlURU0gIiZUYWJlbGVpZ2Vuc2NoYXBwZW4iLCAgICAgSURNX1RBQkxFUFJPUEVSVElFUwogICAgfQoKICAgIFBPUFVQICIxRFBhZ2luYWtldXplIgogICAgewogICAgICAgIE1FTlVJVEVNICJLJm5pcHBlbiIsICAgICAgICAgIElETV9DVVQKICAgICAgICBNRU5VSVRFTSAiJktvcGnrcmVuIiwgICAgICAgICBJRE1fQ09QWQogICAgICAgIE1FTlVJVEVNICImUGxha2tlbiIsICAgICAgICAgIElETV9QQVNURQogICAgICAgIE1FTlVJVEVNICJBbGxlcyAmc2VsZWN0ZXJlbiIsIElETV9TRUxFQ1RBTEwgCiAgICAgICAgTUVOVUlURU0gIiZBZmRydWtrZW4iLCAgICAgICAgSURNX1BSSU5UCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICB9CgogICAgUE9QVVAgIkFua2VyIgogICAgewogICAgICAgIE1FTlVJVEVNICImT3BlbmVuIiwgICAgICAgICAgICAgICAgICAgICAgSURNX09QRU5MSU5LCiAgICAgICAgTUVOVUlURU0gIkluICZuaWV1dyB2ZW5zdGVyIG9wZW5lbiIsICAgICBJRE1fT1BFTklOTkVXV0lORE9XCiAgICAgICAgTUVOVUlURU0gIkRvZWwgb3Amc2xhYW4gYWxzLi4uIiwgICAgICAgICBJRE1fU0FWRVRBUkdFVEFTCiAgICAgICAgTUVOVUlURU0gIkRvZWwgJmFmZHJ1a2tlbiIsICAgICAgICAgICAgICBJRE1fUFJJTlRUQVJHRVQKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiSyZuaXBwZW4iLCAgICAgICAgICAgICAgICAgICAgIElETV9DVVQKICAgICAgICBNRU5VSVRFTSAiJktvcGnrcmVuIiwgICAgICAgICAgICAgICAgICAgIElETV9DT1BZCiAgICAgICAgTUVOVUlURU0gIiZTbmVsa29wcGVsaW5nIGtvcGnrcmVuIiwgICAgICBJRE1fQ09QWVNIT1JUQ1VUCiAgICAgICAgTUVOVUlURU0gIiZQbGFra2VuIiwgICAgICAgICAgICAgICAgICAgICBJRE1fUEFTVEUKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiQWFuICZmYXZvcmlldGVuIHRvZXZvZWdlbi4uLiIsIElETV9BRERUT0ZBVk9VUklURVMKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJkVpZ2Vuc2NoYXBwZW4iLCAgICAgICAgICAgICAgIElETV9QUk9QRVJUSUVTCiAgICB9CgogICAgUE9QVVAgIkNvbnRleHQgVW5rbm93biIKICAgIHsKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgIH0KCiAgICBQT1BVUCAiRFlOU1JDIEJlZWxkIgogICAgewogICAgICAgIE1FTlVJVEVNICImT3BlbiBsaW5rIiwgICAgICAgICAgICAgICAgICAgICAgICBJRE1fT1BFTkxJTksKICAgICAgICBNRU5VSVRFTSAiT3BlbiBsaW5rIGluICZuaWV1dyB2ZW5zdGVyIiwgICAgICAgSURNX09QRU5JTk5FV1dJTkRPVwogICAgICAgIE1FTlVJVEVNICJEb2VsICZvcHNsYWFuIGFscy4uLiIsICAgICAgICAgICAgICBJRE1fU0FWRVRBUkdFVEFTCiAgICAgICAgTUVOVUlURU0gIiZEb2VsIGFmZHJ1a2tlbiIsICAgICAgICAgICAgICAgICAgIElETV9QUklOVFRBUkdFVAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJUb29uIGImZWVsZCIsICAgICAgICAgICAgICAgICAgICAgICBJRE1fU0hPV1BJQ1RVUkUKICAgICAgICBNRU5VSVRFTSAiJkJlZWxkIG9wc2xhYW4gYWxzLi4uIiwgICAgICAgICAgICAgSURNX1NBVkVQSUNUVVJFQVMKICAgICAgICBNRU5VSVRFTSAiQWxzIGFjaHRlcmdyb25kIGluc3RlbGxlbiIsICAgICAgICAgSURNX1NFVEFTQkFDS0dST1VORAogICAgICAgIE1FTlVJVEVNICJBbHMgZGVza3RvcGVsZW1lbnQgaW5zdGVsbGVuLi4uIiwgICBJRE1fU0VUQVNERVNLVE9QSVRFTQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJLJm5pcHBlbiIsICAgICAgICAgICAgICAgICAgICAgICAgICBJRE1fQ1VUCiAgICAgICAgTUVOVUlURU0gIiZLb3Bp63JlbiIsICAgICAgICAgICAgICAgICAgICAgICAgIElETV9DT1BZCiAgICAgICAgTUVOVUlURU0gIiZTbmVsa29wcGVsaW5nIGtvcGnrcmVuIiwgICAgICAgICAgIElETV9DT1BZU0hPUlRDVVQKICAgICAgICBNRU5VSVRFTSAiJlBsYWtrZW4iLCAgICAgICAgICAgICAgICAgICAgICAgICAgSURNX1BBU1RFCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIkFhbiAmZmF2b3JpZXRlbiB0b2V2b2VnZW4uLi4iLCAgICAgIElETV9BRERUT0ZBVk9VUklURVMKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiQWZzcGVsZW4iLCAgICAgICAgICAgICAgICAgICAgICAgICAgSURNX1BMQVkKICAgICAgICBNRU5VSVRFTSAiU3RvcCIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSURNX1NUT1AKICAgICAgICBNRU5VSVRFTSAiJkVpZ2Vuc2NoYXBwZW4iLCAgICAgICAgICAgICAgICAgICAgSURNX1BST1BFUlRJRVMKICAgIH0KCiAgICBQT1BVUCAiQVJUIEJlZWxkIgogICAgewogICAgICAgIE1FTlVJVEVNICImT3BlbiBsaW5rIiwgICAgICAgICAgICAgICAgICAgICAgICBJRE1fT1BFTkxJTksKICAgICAgICBNRU5VSVRFTSAiT3BlbiBsaW5rIGluICZuaWV1dyB2ZW5zdGVyIiwgICAgICAgSURNX09QRU5JTk5FV1dJTkRPVwogICAgICAgIE1FTlVJVEVNICJEb2VsICZvcHNsYWFuIGFscy4uLiIsICAgICAgICAgICAgICBJRE1fU0FWRVRBUkdFVEFTCiAgICAgICAgTUVOVUlURU0gIiZEb2VsIGFmZHJ1a2tlbiIsICAgICAgICAgICAgICAgICAgIElETV9QUklOVFRBUkdFVAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJUb29uIGImZWVsZCIsICAgICAgICAgICAgICAgICAgICAgICBJRE1fU0hPV1BJQ1RVUkUKICAgICAgICBNRU5VSVRFTSAiJkJlZWxkIG9wc2xhYW4gYWxzLi4uIiwgICAgICAgICAgICAgSURNX1NBVkVQSUNUVVJFQVMKICAgICAgICBNRU5VSVRFTSAiQWxzIGFjaHRlcmdyb25kIGluc3RlbGxlbiIsICAgICAgICAgSURNX1NFVEFTQkFDS0dST1VORAogICAgICAgIE1FTlVJVEVNICJBbHMgZGVza3RvcGVsZW1lbnQgaW5zdGVsbGVuLi4uIiwgICBJRE1fU0VUQVNERVNLVE9QSVRFTQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJLJm5pcHBlbiIsICAgICAgICAgICAgICAgICAgICAgICAgICBJRE1fQ1VUCiAgICAgICAgTUVOVUlURU0gIiZLb3Bp63JlbiIsICAgICAgICAgICAgICAgICAgICAgICAgIElETV9DT1BZCiAgICAgICAgTUVOVUlURU0gIiZTbmVsa29wcGVsaW5nIGtvcGnrcmVuIiwgICAgICAgICAgIElETV9DT1BZU0hPUlRDVVQKICAgICAgICBNRU5VSVRFTSAiJlBsYWtrZW4iLCAgICAgICAgICAgICAgICAgICAgICAgICAgSURNX1BBU1RFCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIkFhbiAmZmF2b3JpZXRlbiB0b2V2b2VnZW4uLi4iLCAgICAgIElETV9BRERUT0ZBVk9VUklURVMKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiQWZzcGVsZW4iLCAgICAgICAgICAgICAgICAgICAgICAgICAgSURNX1BMQVkKICAgICAgICBNRU5VSVRFTSAiU3RvcCIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSURNX1NUT1AKICAgICAgICBNRU5VSVRFTSAiVGVydWdzcG9lbGVuIiwgICAgICAgICAgICAgICAgICAgICAgSURNX1JFV0lORAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICImRWlnZW5zY2hhcHBlbiIsICAgICAgICAgICAgICAgICAgICBJRE1fUFJPUEVSVElFUwogICAgfQoKICAgIFBPUFVQICJEZWJ1ZyIKICAgIHsKICAgICAgICBNRU5VSVRFTSAiVHJhY2UgVGFncyIsICAgICAgICAgSURNX1RSQUNFVEFHUyAKICAgICAgICBNRU5VSVRFTSAiUmVzb3VyY2UgRmFpbHVyZXMiLCAgSURNX1JFU09VUkNFRkFJTFVSRVMKICAgICAgICBNRU5VSVRFTSAiRHVtcCBUcmFja2luZyBJbmZvIiwgSURNX0RVTVBUUkFDS0lOR0lORk8KICAgICAgICBNRU5VSVRFTSAiRGVidWcgQnJlYWsiLCAgICAgICAgSURNX0RFQlVHQlJFQUsKICAgICAgICBNRU5VSVRFTSAiRGVidWcgVmlldyIsICAgICAgICAgSURNX0RFQlVHVklFVwogICAgICAgIE1FTlVJVEVNICJEdW1wIFRyZWUiLCAgICAgICAgICBJRE1fRFVNUFRSRUUKICAgICAgICBNRU5VSVRFTSAiRHVtcCBMaW5lcyIsICAgICAgICAgSURNX0RVTVBMSU5FUwogICAgICAgIE1FTlVJVEVNICJEdW1wIERpc3BsYXl0cmVlIiwgICBJRE1fRFVNUERJU1BMQVlUUkVFCiAgICAgICAgTUVOVUlURU0gIkR1bXAgRm9ybWF0Q2FjaGVzIiwgIElETV9EVU1QRk9STUFUQ0FDSEVTCiAgICAgICAgTUVOVUlURU0gIkR1bXAgTGF5b3V0UmVjdHMiLCAgIElETV9EVU1QTEFZT1VUUkVDVFMKICAgICAgICBNRU5VSVRFTSAiTWVtb3J5IE1vbml0b3IiLCAgICAgSURNX01FTU9SWU1PTklUT1IKICAgICAgICBNRU5VSVRFTSAiUGVyZm9ybWFuY2UgTWV0ZXJzIiwgSURNX1BFUkZPUk1BTkNFTUVURVJTCiAgICAgICAgTUVOVUlURU0gIlNhdmUgSFRNTCIsICAgICAgICAgIElETV9TQVZFSFRNTAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICImQnJvd3NlIFZpZXciLCAgICAgICBJRE1fQlJPV1NFVklFVwogICAgICAgIE1FTlVJVEVNICImRWRpdCBWaWV3IiwgICAgICAgICBJRE1fRURJVFZJRVcKICAgIH0KCiAgICBQT1BVUCAiVmVydGlrYWxlIHNjcm9sbGJhbGsiCiAgICB7CiAgICAgICAgTUVOVUlURU0gIlNjcm9sbCBoaWVyIiwgICAgIElETV9TQ1JPTExIRVJFCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIkJvdmVuIiwgICAgICAgICAgIElETV9UT1AKICAgICAgICBNRU5VSVRFTSAiT25kZXIiLCAgICAgICAgICAgSURNX0JPVFRPTQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJQYWdpbmEgYm92ZW4iLCAgICBJRE1fUEFHRVVQCiAgICAgICAgTUVOVUlURU0gIlBhZ2luYSBvbmRlciIsICAgIElETV9QQUdFRE9XTgogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJTY3JvbGwgb21ob29nIiwgICBJRE1fU0NST0xMVVAKICAgICAgICBNRU5VSVRFTSAiU2Nyb2xsIG9tbGFhZyIsICAgSURNX1NDUk9MTERPV04KICAgIH0KCiAgICBQT1BVUCAiSG9yaXpvbnRhbGUgc2Nyb2xsYmFsayIKICAgIHsKICAgICAgICBNRU5VSVRFTSAiU2Nyb2xsIGhpZXIiLCAgICAgSURNX1NDUk9MTEhFUkUKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiTGlua2VyIGhvZWsiLCAgICAgSURNX0xFRlRFREdFCiAgICAgICAgTUVOVUlURU0gIlJlY2h0ZXIgaG9layIsICAgIElETV9SSUdIVEVER0UKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiUGFnaW5hIGxpbmtzIiwgICAgSURNX1BBR0VMRUZUCiAgICAgICAgTUVOVUlURU0gIlBhZ2luYSByZWNodHMiLCAgIElETV9QQUdFUklHSFQKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiU2Nyb2xsIGxpbmtzIiwgICAgSURNX1NDUk9MTExFRlQKICAgICAgICBNRU5VSVRFTSAiU2Nyb2xsIHJlY2h0cyIsICAgSURNX1NDUk9MTFJJR0hUCiAgICB9Cn0K