LyoKICogIFRhc2sgTWFuYWdlcgogKgogKiAgQ29weXJpZ2h0IDE5OTktMjAwMSBCcmlhbiBQYWxtZXIKICogIENvcHlyaWdodCAyMDA2IE1pa29sYWogWmFsZXdza2kKICoKICoKICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgogKiB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICoKICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCiAqIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiAqCiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBCiAqLwoKTEFOR1VBR0UgTEFOR19QT0xJU0gsIFNVQkxBTkdfREVGQVVMVAoKLyoKIE1lbnUKKi8KCklEUl9UQVNLTUFOQUdFUiBNRU5VIERJU0NBUkRBQkxFCkJFR0lOCiAgICBQT1BVUCAiJlBsaWsiCiAgICBCRUdJTgogICAgICAgIE1FTlVJVEVNICImTm93ZSB6YWRhbmllIChVcnVjaG9tLi4uKSIsICAgICAgICAgIElEX0ZJTEVfTkVXCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIiZaYWtv8WN6IE1lbmVkv2VyYSB6YWRh8SIsICAgICAgICAgIElEX0ZJTEVfRVhJVAogICAgRU5ECiAgICBQT1BVUCAiJk9wY2plIgogICAgQkVHSU4KICAgICAgICBNRU5VSVRFTSAiJlphd3N6ZSBuYSB3aWVyemNodSIsICAgICAgICAgICAgICBJRF9PUFRJT05TX0FMV0FZU09OVE9QCiAgICAgICAgLCBDSEVDS0VECiAgICAgICAgTUVOVUlURU0gIiZNaW5pbWFsaXp1aiBwb2RjemFzIHW/eXRrb3dhbmlhIiwgICAgICAgICAgICBJRF9PUFRJT05TX01JTklNSVpFT05VU0UKICAgICAgICAsIENIRUNLRUQKICAgICAgICBNRU5VSVRFTSAiJlVrcnlqIGtpZWR5IGplc3Qgem1pbmltYWxpem93YW55IiwgICAgICAgIElEX09QVElPTlNfSElERVdIRU5NSU5JTUlaRUQKICAgICAgICAsIENIRUNLRUQKICAgICAgICBNRU5VSVRFTSAiJlBva2F6dWogemFkYW5pYSAxNi1iaXRvd2UiLCAgICAgICAgICBJRF9PUFRJT05TX1NIT1cxNkJJVFRBU0tTCiAgICAgICAgLCBDSEVDS0VECiAgICBFTkQKICAgIFBPUFVQICImV2lkb2siCiAgICBCRUdJTgogICAgICAgIE1FTlVJVEVNICImT2Scd2llvyB0ZXJheiIsICAgICAgICAgICAgICAgIElEX1ZJRVdfUkVGUkVTSAogICAgICAgIFBPUFVQICImQ3rqc3RvdGxpd2+c5iBvZJx3aWW/YW5pYSIKICAgICAgICBCRUdJTgogICAgICAgICAgICBNRU5VSVRFTSAiJld5c29rYSIsICAgICAgICAgICAgICAgICAgICAgICBJRF9WSUVXX1VQREFURVNQRUVEX0hJR0gKICAgICAgICAgICAgTUVOVUlURU0gIiZOb3JtYWxuYSIsICAgICAgICAgICAgICAgICAgICAgSURfVklFV19VUERBVEVTUEVFRF9OT1JNQUwKICAgICAgICAgICAgLCBDSEVDS0VECiAgICAgICAgICAgIE1FTlVJVEVNICJOJmlza2EiLCAgICAgICAgICAgICAgICAgICAgICAgIElEX1ZJRVdfVVBEQVRFU1BFRURfTE9XCiAgICAgICAgICAgIE1FTlVJVEVNICImWmFwYXV6b3dhbmUiLCAgICAgICAgICAgICAgICAgICAgIElEX1ZJRVdfVVBEQVRFU1BFRURfUEFVU0VECgogICAgICAgIEVORAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICImRHW/ZSBpa29ueSIsICAgICAgICAgICAgICAgIElEX1ZJRVdfTEFSR0UKICAgICAgICBNRU5VSVRFTSAiJk1hs2UgaWtvbnkiLCAgICAgICAgICAgICAgICBJRF9WSUVXX1NNQUxMCiAgICAgICAgTUVOVUlURU0gIiZTemN6ZWfzs3kiLCAgICAgICAgICAgICAgICAgICAgSURfVklFV19ERVRBSUxTLCBDSEVDS0VECiAgICAgICAgTUVOVUlURU0gIiZXeWJpZXJ6IGtvbHVtbnkuLi4iLCAgICAgICAgICBJRF9WSUVXX1NFTEVDVENPTFVNTlMKICAgICAgICBQT1BVUCAiJkhpc3RvcmlhIHW/eWNpYSBwcm9jZXNvcmEiCiAgICAgICAgQkVHSU4KICAgICAgICAgICAgTUVOVUlURU0gIiZKZWRlbiB3eWtyZXMgZGxhIHdzenlzdGtpY2ggcHJvY2Vzb3LzdyIsICAgICAgICBJRF9WSUVXX0NQVUhJU1RPUllfT05FR1JBUEhBTEwKCiAgICAgICAgICAgIE1FTlVJVEVNICImT3NvYm55IHd5a3JlcyBkbGEga2G/ZGVnbyBwcm9jZXNvcmEiLCAgICAgICAgICBJRF9WSUVXX0NQVUhJU1RPUllfT05FR1JBUEhQRVJDUFUKICAgICAgICAgICAgLCBDSEVDS0VECiAgICAgICAgRU5ECiAgICAgICAgTUVOVUlURU0gIiZQb2thenVqIGN6YXN5IGq5ZHJhIiwgICAgICAgICAgSURfVklFV19TSE9XS0VSTkVMVElNRVMKICAgIEVORAogICAgUE9QVVAgIiZPa25hIgogICAgQkVHSU4KICAgICAgICBNRU5VSVRFTSAiJlO5c2lhZHVquWNvIHcgcG96aW9taWUiLCAgICAgICAgICBJRF9XSU5ET1dTX1RJTEVIT1JJWk9OVEFMTFkKICAgICAgICBNRU5VSVRFTSAiU7lzJmlhZHVquWNvIHcgcG96aW9taWUiLCAgICAgICAgICAgIElEX1dJTkRPV1NfVElMRVZFUlRJQ0FMTFkKICAgICAgICBNRU5VSVRFTSAiJk1pbmltYWxpenVqIiwgICAgICAgICAgICAgICAgICAgSURfV0lORE9XU19NSU5JTUlaRQogICAgICAgIE1FTlVJVEVNICJNJmFrc3ltYWxpenVqIiwgICAgICAgICAgICAgICAgICAgSURfV0lORE9XU19NQVhJTUlaRQogICAgICAgIE1FTlVJVEVNICImS2Fza2FkYSIsICAgICAgICAgICAgICAgICAgICBJRF9XSU5ET1dTX0NBU0NBREUKICAgICAgICBNRU5VSVRFTSAiJlByemVzdfEgbmEgd2llcnpjaCIsICAgICAgICAgICAgIElEX1dJTkRPV1NfQlJJTkdUT0ZST05UCiAgICBFTkQKICAgIFBPUFVQICImUG9tb2MiCiAgICBCRUdJTgogICAgICAgIE1FTlVJVEVNICJNZW5lZL9lciB6YWRh8SAtICZ0ZW1hdHkgcG9tb2N5IiwgICBJRF9IRUxQX1RPUElDUwogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJNZW5lZL9lciB6YWRh8SAtICZpbmZvcm1hY2plIiwgICAgICAgICBJRF9IRUxQX0FCT1VUCiAgICBFTkQKRU5ECgpJRFJfV0lORE9XU01FTlUgTUVOVSBESVNDQVJEQUJMRQpCRUdJTgogICAgTUVOVUlURU0gIiZTuXNpYWR1arljbyB3IHBvemlvbWllIiwgICAgICAgICAgSURfV0lORE9XU19USUxFSE9SSVpPTlRBTExZCiAgICBNRU5VSVRFTSAiU7lzJmlhZHVquWNvIHcgcG96aW9taWUiLCAgICAgICAgICAgIElEX1dJTkRPV1NfVElMRVZFUlRJQ0FMTFkKICAgIE1FTlVJVEVNICImTWluaW1hbGl6dWoiLCAgICAgICAgICAgICAgICAgICBJRF9XSU5ET1dTX01JTklNSVpFCiAgICBNRU5VSVRFTSAiTSZha3N5bWFsaXp1aiIsICAgICAgICAgICAgICAgICAgIElEX1dJTkRPV1NfTUFYSU1JWkUKICAgIE1FTlVJVEVNICImS2Fza2FkYSIsICAgICAgICAgICAgICAgICAgICBJRF9XSU5ET1dTX0NBU0NBREUKICAgIE1FTlVJVEVNICImUHJ6ZXN18SBuYSB3aWVyemNoIiwgICAgICAgICAgICAgSURfV0lORE9XU19CUklOR1RPRlJPTlQKRU5ECgpJRFJfQVBQTElDQVRJT05fUEFHRV9DT05URVhUMSBNRU5VIERJU0NBUkRBQkxFCkJFR0lOCiAgICBQT1BVUCAiRFVNTVkiCiAgICBCRUdJTgogICAgICAgIE1FTlVJVEVNICImTm93ZSB6YWRhbmllIChVcnVjaG9tLi4uKSIsICAgICAgICAgIElEX0ZJTEVfTkVXCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIiZEdb9lIGlrb255IiwgICAgICAgICAgICAgICAgSURfVklFV19MQVJHRQogICAgICAgIE1FTlVJVEVNICImTWGzZSBpa29ueSIsICAgICAgICAgICAgICAgIElEX1ZJRVdfU01BTEwKICAgICAgICBNRU5VSVRFTSAiJlN6Y3plZ/OzeSIsICAgICAgICAgICAgICAgICAgICBJRF9WSUVXX0RFVEFJTFMsIENIRUNLRUQKICAgIEVORApFTkQKCklEUl9BUFBMSUNBVElPTl9QQUdFX0NPTlRFWFQyIE1FTlUgRElTQ0FSREFCTEUKQkVHSU4KICAgIFBPUFVQICJEVU1NWSIKICAgIEJFR0lOCiAgICAgICAgTUVOVUlURU0gIiZQcnpls7ljeiBuYSIsICAgICAgICAgICAgICAgICAgSURfQVBQTElDQVRJT05fUEFHRV9TV0lUQ0hUTwogICAgICAgIE1FTlVJVEVNICJQJnJ6ZXN18SBuYSB3aWVyemNoIiwgICAgICAgICAgICAgSURfV0lORE9XU19CUklOR1RPRlJPTlQKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJlO5c2lhZHVquWNvIHcgcG96aW9taWUiLCAgICAgICAgICBJRF9XSU5ET1dTX1RJTEVIT1JJWk9OVEFMTFkKICAgICAgICBNRU5VSVRFTSAiU7lzJmlhZHVquWNvIHcgcGlvbmllIiwgICAgICAgICAgICBJRF9XSU5ET1dTX1RJTEVWRVJUSUNBTExZCiAgICAgICAgTUVOVUlURU0gIiZNaW5pbWFsaXp1aiIsICAgICAgICAgICAgICAgICAgIElEX1dJTkRPV1NfTUlOSU1JWkUKICAgICAgICBNRU5VSVRFTSAiTSZha3N5bWFsaXp1aiIsICAgICAgICAgICAgICAgICAgIElEX1dJTkRPV1NfTUFYSU1JWkUKICAgICAgICBNRU5VSVRFTSAiJkthc2thZGEiLCAgICAgICAgICAgICAgICAgICAgSURfV0lORE9XU19DQVNDQURFCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIiZaYWtv8WN6eSB6YWRhbmllIiwgICAgICAgICAgICAgICAgICAgSURfQVBQTElDQVRJT05fUEFHRV9FTkRUQVNLCiAgICAgICAgTUVOVUlURU0gIiZJZJ8gZG8gcHJvY2VzdSIsICAgICAgICAgICAgICBJRF9BUFBMSUNBVElPTl9QQUdFX0dPVE9QUk9DRVNTCiAgICBFTkQKRU5ECgpJRFJfVFJBWV9QT1BVUCBNRU5VIERJU0NBUkRBQkxFCkJFR0lOCiAgICBQT1BVUCAiRFVNTVkiCiAgICBCRUdJTgogICAgICAgIE1FTlVJVEVNICImUHJ6eXdy8+YiLCAgICAgICAgICAgICAgICAgICAgSURfUkVTVE9SRQogICAgICAgIE1FTlVJVEVNICImWmFta25paiIsICAgICAgICAgICAgICAgICAgICAgIElEX0ZJTEVfRVhJVAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJaJmF3c3plIG5hIHdpZXJ6Y2h1IiwgICAgICAgICAgICAgIElEX09QVElPTlNfQUxXQVlTT05UT1AKICAgIEVORApFTkQKCklEUl9QUk9DRVNTX1BBR0VfQ09OVEVYVCBNRU5VIERJU0NBUkRBQkxFCkJFR0lOCiAgICBQT1BVUCAiRFVNTVkiCiAgICBCRUdJTgogICAgICAgIE1FTlVJVEVNICImWmFrb/FjeiBwcm9jZXMiLCAgICAgICAgICAgICAgICBJRF9QUk9DRVNTX1BBR0VfRU5EUFJPQ0VTUwogICAgICAgIE1FTlVJVEVNICJaYW1rbmlqICZkcnpld28gcHJvY2Vz83ciLCAgICAgICAgICAgSURfUFJPQ0VTU19QQUdFX0VORFBST0NFU1NUUkVFCgogICAgICAgIE1FTlVJVEVNICImRGVidWd1aiIsICAgICAgICAgICAgICAgICAgICAgIElEX1BST0NFU1NfUEFHRV9ERUJVRwogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIFBPUFVQICJVc3RhbCAmcHJpb3J5dGV0IgogICAgICAgIEJFR0lOCiAgICAgICAgICAgIE1FTlVJVEVNICImQ3phc3UgcnplY3p5d2lzdGVnbyIsICAgICAgICAgICAgICAgICAgIElEX1BST0NFU1NfUEFHRV9TRVRQUklPUklUWV9SRUFMVElNRQoKICAgICAgICAgICAgTUVOVUlURU0gIiZXeXNva2kiLCAgICAgICAgICAgICAgICAgICAgICAgSURfUFJPQ0VTU19QQUdFX1NFVFBSSU9SSVRZX0hJR0gKCiAgICAgICAgICAgIE1FTlVJVEVNICImUG93eb9laiBub3JtYWxuZWdvIiwgICAgICAgICAgICAgICAgSURfUFJPQ0VTU19QQUdFX1NFVFBSSU9SSVRZX0FCT1ZFTk9STUFMCgogICAgICAgICAgICBNRU5VSVRFTSAiJk5vcm1hbG55IiwgICAgICAgICAgICAgICAgICAgICBJRF9QUk9DRVNTX1BBR0VfU0VUUFJJT1JJVFlfTk9STUFMCgogICAgICAgICAgICBNRU5VSVRFTSAiUG9uJmm/ZWogbm9ybWFsbmVnbyIsICAgICAgICAgICAgICAgIElEX1BST0NFU1NfUEFHRV9TRVRQUklPUklUWV9CRUxPV05PUk1BTAoKICAgICAgICAgICAgTUVOVUlURU0gIiZOaXNraSIsICAgICAgICAgICAgICAgICAgICAgICAgSURfUFJPQ0VTU19QQUdFX1NFVFBSSU9SSVRZX0xPVwoKICAgICAgICBFTkQKICAgICAgICBNRU5VSVRFTSAiVXN0YWwgJmtvbGlnYWNq6i4uLiIsICAgICAgICAgICAgSURfUFJPQ0VTU19QQUdFX1NFVEFGRklOSVRZCiAgICAgICAgTUVOVUlURU0gIktvbmZpZ3VydWoga2FuYbN5ICZkZWJ1Z293YW5pYS4uLiIsCUlEX1BST0NFU1NfUEFHRV9ERUJVR0NIQU5ORUxTCiAgICBFTkQKRU5ECgovKgogRGlhbG9nCiovCgpJRERfVEFTS01HUl9ESUFMT0cgRElBTE9HIERJU0NBUkRBQkxFICAwLCAwLCAyNjQsIDI0NgpTVFlMRSBEU19DRU5URVIgfCBXU19NSU5JTUlaRUJPWCB8IFdTX01BWElNSVpFQk9YIHwgV1NfUE9QVVAgfAogICAgV1NfQ0xJUFNJQkxJTkdTIHwgV1NfQ0xJUENISUxEUkVOIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUgfAogICAgV1NfVEhJQ0tGUkFNRQpDQVBUSU9OICJNZW5lZL9lciB6YWRh8SIKTUVOVSBJRFJfVEFTS01BTkFHRVIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogICAgQ09OVFJPTCAgICAgICAgICJUYWIxIixJRENfVEFCLCJTeXNUYWJDb250cm9sMzIiLFdTX1RBQlNUT1AsMywzLDI1NywyMjgKRU5ECgpJRERfQVBQTElDQVRJT05fUEFHRSBESUFMT0cgRElTQ0FSREFCTEUgIDAsIDAsIDI0NywgMjEwClNUWUxFIERTX0NPTlRST0wgfCBXU19DSElMRCB8IFdTX0NMSVBDSElMRFJFTgpGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBDT05UUk9MICAgICAgICAgIkxpc3QyIixJRENfQVBQTElTVCwiU3lzTGlzdFZpZXczMiIsTFZTX1JFUE9SVCB8CiAgICAgICAgICAgICAgICAgICAgTFZTX1NIT1dTRUxBTFdBWVMgfCBXU19CT1JERVIgfCBXU19UQUJTVE9QLDcsNywyMzMsMTc3CiAgICBQVVNIQlVUVE9OICAgICAgIiZOb3dlIHphZGFuaWUuLi4iLElEQ19ORVdUQVNLLDE3MiwxODksNjgsMTQKICAgIFBVU0hCVVRUT04gICAgICAiJlByemWzuWN6IG5hIixJRENfU1dJVENIVE8sMTAxLDE4OSw2OCwxNCxXU19ESVNBQkxFRAogICAgUFVTSEJVVFRPTiAgICAgICImWmFrb/FjeiB6YWRhbmllIixJRENfRU5EVEFTSywzMCwxODksNjgsMTQsV1NfRElTQUJMRUQKRU5ECgpJRERfUFJPQ0VTU19QQUdFIERJQUxPRyBESVNDQVJEQUJMRSAgMCwgMCwgMjQ3LCAyMTAKU1RZTEUgRFNfQ09OVFJPTCB8IFdTX0NISUxEIHwgV1NfQ0xJUENISUxEUkVOCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKQkVHSU4KICAgIENPTlRST0wgICAgICAgICAiTGlzdDIiLElEQ19QUk9DRVNTTElTVCwiU3lzTGlzdFZpZXczMiIsTFZTX1JFUE9SVCB8CiAgICAgICAgICAgICAgICAgICAgTFZTX1NJTkdMRVNFTCB8IExWU19TSE9XU0VMQUxXQVlTIHwgTFZTX09XTkVSREFUQSB8CiAgICAgICAgICAgICAgICAgICAgV1NfQk9SREVSIHwgV1NfVEFCU1RPUCw3LDcsMjMzLDE3NwogICAgUFVTSEJVVFRPTiAgICAgICImWmFrb/FjeiBwcm9jZXMiLElEQ19FTkRQUk9DRVNTLDE3MSwxODksNjksMTQKICAgIENPTlRST0wgICAgICAgICAiJlBva2F6dWogcHJvY2VzeSB3c3p5c3RraWNoIHW/eXRrb3duaWvzdyIsSURDX1NIT1dBTExQUk9DRVNTRVMsCiAgICAgICAgICAgICAgICAgICAgIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUCw3LDE5MSwxNjEsMTAKRU5ECgpJRERfUEVSRk9STUFOQ0VfUEFHRSBESUFMT0dFWCBESVNDQVJEQUJMRSAgMCwgMCwgMjQ3LCAyMTAKU1RZTEUgRFNfQ09OVFJPTCB8IFdTX0NISUxEIHwgV1NfQ0xJUENISUxEUkVOCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKQkVHSU4KICAgIEdST1VQQk9YICAgICAgICAiVb95Y2llIHByb2Nlc29yYSIsSURDX0NQVV9VU0FHRV9GUkFNRSw1LDUsNjAsNTQsV1NfVEFCU1RPUCwgV1NfRVhfVFJBTlNQQVJFTlQKICAgIEdST1VQQk9YICAgICAgICAiVb95Y2llIHBhbWnqY2kiLElEQ19NRU1fVVNBR0VfRlJBTUUsNSw2Myw2MCw1NCxCU19MRUZUVEVYVCwgV1NfRVhfVFJBTlNQQVJFTlQKICAgIEdST1VQQk9YICAgICAgICAiU3VteSIsSURDX1RPVEFMU19GUkFNRSw1LDEyMiwxMTEsMzksMCxXU19FWF9UUkFOU1BBUkVOVAogICAgR1JPVVBCT1ggICAgICAgICJQYW1p6mMgemFkZWtsYXJvd2FuYSAoS0IpIixJRENfQ09NTUlUX0NIQVJHRV9GUkFNRSw1LDE2NiwxMTEsMzksMCxXU19FWF9UUkFOU1BBUkVOVAogICAgR1JPVVBCT1ggICAgICAgICJQYW1p6uYgZml6eWN6bmEgKEtCKSIsSURDX1BIWVNJQ0FMX01FTU9SWV9GUkFNRSwxMzEsMTIyLDExMSwzOSwwLFdTX0VYX1RSQU5TUEFSRU5UCiAgICBHUk9VUEJPWCAgICAgICAgIlBhbWnq5iBquWRyYSAoS0IpIixJRENfS0VSTkVMX01FTU9SWV9GUkFNRSwxMzEsMTY2LDExMSwzOSwwLFdTX0VYX1RSQU5TUEFSRU5UCiAgICBMVEVYVCAgICAgICAgICAgIlVjaHd5dHkiLElEU19UT1RBTFNfSEFORExFX0NPVU5ULDEyLDEzMSwyNyw4CiAgICBMVEVYVCAgICAgICAgICAgIle5dGtpIixJRFNfVE9UQUxTX1RIUkVBRF9DT1VOVCwxMiwxNDAsMjcsOAogICAgTFRFWFQgICAgICAgICAgICJQcm9jZXN5IixJRFNfVE9UQUxTX1BST0NFU1NfQ09VTlQsMTIsMTQ5LDM0LDgKICAgIEVESVRURVhUICAgICAgICBJRENfVE9UQUxTX0hBTkRMRV9DT1VOVCw2NSwxMzEsNDUsOCxFU19SSUdIVCB8CiAgICAgICAgICAgICAgICAgICAgRVNfUkVBRE9OTFkgfCBFU19OVU1CRVIgfCBOT1QgV1NfQk9SREVSCiAgICBFRElUVEVYVCAgICAgICAgSURDX1RPVEFMU19USFJFQURfQ09VTlQsNjUsMTQwLDQ1LDgsRVNfUklHSFQgfAogICAgICAgICAgICAgICAgICAgIEVTX1JFQURPTkxZIHwgRVNfTlVNQkVSIHwgTk9UIFdTX0JPUkRFUgogICAgRURJVFRFWFQgICAgICAgIElEQ19UT1RBTFNfUFJPQ0VTU19DT1VOVCw2NSwxNDksNDUsOCxFU19SSUdIVCB8CiAgICAgICAgICAgICAgICAgICAgRVNfUkVBRE9OTFkgfCBFU19OVU1CRVIgfCBOT1QgV1NfQk9SREVSCiAgICBMVEVYVCAgICAgICAgICAgIlJhemVtIixJRFNfQ09NTUlUX0NIQVJHRV9UT1RBTCwxMiwxNzUsMjcsOAogICAgTFRFWFQgICAgICAgICAgICJMaW1pdCIsSURTX0NPTU1JVF9DSEFSR0VfTElNSVQsMTIsMTg0LDE1LDgKICAgIExURVhUICAgICAgICAgICAiU3pjenl0IixJRFNfQ09NTUlUX0NIQVJHRV9QRUFLLDEyLDE5MywzNCw4CiAgICBFRElUVEVYVCAgICAgICAgSURDX0NPTU1JVF9DSEFSR0VfVE9UQUwsNjUsMTc0LDQ1LDgsRVNfUklHSFQgfAogICAgICAgICAgICAgICAgICAgIEVTX1JFQURPTkxZIHwgRVNfTlVNQkVSIHwgTk9UIFdTX0JPUkRFUgogICAgRURJVFRFWFQgICAgICAgIElEQ19DT01NSVRfQ0hBUkdFX0xJTUlULDY1LDE4NCw0NSw4LEVTX1JJR0hUIHwKICAgICAgICAgICAgICAgICAgICBFU19SRUFET05MWSB8IEVTX05VTUJFUiB8IE5PVCBXU19CT1JERVIKICAgIEVESVRURVhUICAgICAgICBJRENfQ09NTUlUX0NIQVJHRV9QRUFLLDY1LDE5Myw0NSw4LEVTX1JJR0hUIHwKICAgICAgICAgICAgICAgICAgICBFU19SRUFET05MWSB8IEVTX05VTUJFUiB8IE5PVCBXU19CT1JERVIKICAgIExURVhUICAgICAgICAgICAiUmF6ZW0iLElEU19QSFlTSUNBTF9NRU1PUllfVE9UQUwsMTM3LDEzMSw0NSw4CiAgICBMVEVYVCAgICAgICAgICAgIkRvc3TqcG5hIixJRFNfUEhZU0lDQUxfTUVNT1JZX0FWQUlMQUJMRSwxMzcsMTQwLDQ1LDgKICAgIExURVhUICAgICAgICAgICAiQnVmb3Igc3lzdGVtdSIsSURTX1BIWVNJQ0FMX01FTU9SWV9TWVNURU1fQ0FDSEUsMTM3LDE0OSw0Niw4CiAgICBFRElUVEVYVCAgICAgICAgSURDX1BIWVNJQ0FMX01FTU9SWV9UT1RBTCwxODUsMTMxLDQ4LDgsRVNfUklHSFQgfAogICAgICAgICAgICAgICAgICAgIEVTX1JFQURPTkxZIHwgRVNfTlVNQkVSIHwgTk9UIFdTX0JPUkRFUgogICAgRURJVFRFWFQgICAgICAgIElEQ19QSFlTSUNBTF9NRU1PUllfQVZBSUxBQkxFLDE4NSwxNDAsNDgsOCxFU19SSUdIVCB8CiAgICAgICAgICAgICAgICAgICAgRVNfUkVBRE9OTFkgfCBFU19OVU1CRVIgfCBOT1QgV1NfQk9SREVSCiAgICBFRElUVEVYVCAgICAgICAgSURDX1BIWVNJQ0FMX01FTU9SWV9TWVNURU1fQ0FDSEUsMTg1LDE0OSw0OCw4LEVTX1JJR0hUIHwKICAgICAgICAgICAgICAgICAgICBFU19SRUFET05MWSB8IEVTX05VTUJFUiB8IE5PVCBXU19CT1JERVIKICAgIExURVhUICAgICAgICAgICAiUmF6ZW0iLElEU19LRVJORUxfTUVNT1JZX1RPVEFMLDEzNywxNzQsNDUsOAogICAgTFRFWFQgICAgICAgICAgICJTdHJvbmljb3dhbmEiLElEU19LRVJORUxfTUVNT1JZX1BBR0VELDEzNywxODQsNDUsOAogICAgTFRFWFQgICAgICAgICAgICJOaWVzdHJvbmljb3dhbmEiLElEU19LRVJORUxfTUVNT1JZX05PTlBBR0VELDEzNywxOTMsNDUsOAogICAgRURJVFRFWFQgICAgICAgIElEQ19LRVJORUxfTUVNT1JZX1RPVEFMLDE4NSwxNzQsNDgsOCxFU19SSUdIVCB8CiAgICAgICAgICAgICAgICAgICAgRVNfUkVBRE9OTFkgfCBFU19OVU1CRVIgfCBOT1QgV1NfQk9SREVSCiAgICBFRElUVEVYVCAgICAgICAgSURDX0tFUk5FTF9NRU1PUllfUEFHRUQsMTg1LDE4NCw0OCw4LEVTX1JJR0hUIHwKICAgICAgICAgICAgICAgICAgICBFU19SRUFET05MWSB8IEVTX05VTUJFUiB8IE5PVCBXU19CT1JERVIKICAgIEVESVRURVhUICAgICAgICBJRENfS0VSTkVMX01FTU9SWV9OT05QQUdFRCwxODUsMTkzLDQ4LDgsRVNfUklHSFQgfAogICAgICAgICAgICAgICAgICAgIEVTX1JFQURPTkxZIHwgRVNfTlVNQkVSIHwgTk9UIFdTX0JPUkRFUgogICAgR1JPVVBCT1ggICAgICAgICJIaXN0b3JpYSB1v3ljaWEgcHJvY2Vzb3JhIixJRENfQ1BVX1VTQUdFX0hJU1RPUllfRlJBTUUsNzQsNSwxNjgsNTQsMCxXU19FWF9UUkFOU1BBUkVOVAogICAgR1JPVVBCT1ggICAgICAgICJIaXN0b3JpYSB1v3ljaWEgcGFtaepjaSIsSURDX01FTU9SWV9VU0FHRV9ISVNUT1JZX0ZSQU1FLDc0LDYzLDE2OCw1NCwwLFdTX0VYX1RSQU5TUEFSRU5UCiAgICBQVVNIQlVUVE9OICAgICAgIlW/eWNpZSBwcm9jZXNvcmEiLElEQ19DUFVfVVNBR0VfR1JBUEgsMTIsMTcsNDcsMzcsMCwKCQkgICAgV1NfRVhfQ0xJRU5URURHRQogICAgUFVTSEJVVFRPTiAgICAgICJVv3ljaWUgcGFtaepjaSIsSURDX01FTV9VU0FHRV9HUkFQSCwxMiw3NSw0NywzNywwLAogICAgICAgICAgICAgICAgICAgIFdTX0VYX0NMSUVOVEVER0UKICAgIFBVU0hCVVRUT04gICAgICAiSGlzdG9yaWEgdb95Y2lhIHByb2Nlc29yYSIsSURDX0NQVV9VU0FHRV9ISVNUT1JZX0dSQVBILDgxLDE3LAogICAgICAgICAgICAgICAgICAgIDE1MywzNywwLFdTX0VYX0NMSUVOVEVER0UKICAgIFBVU0hCVVRUT04gICAgICAiSGlzdG9yaWEgdb95Y2lhIHBhbWnqY2kiLElEQ19NRU1fVVNBR0VfSElTVE9SWV9HUkFQSCw4MSw3NSwKICAgICAgICAgICAgICAgICAgICAxNTMsMzcsMCxXU19FWF9DTElFTlRFREdFCkVORAoKSUREX0RFQlVHX0NIQU5ORUxTX0RJQUxPRyBESUFMT0cgRElTQ0FSREFCTEUgIDAsIDAsIDI0NywgMjEwClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIkthbmGzeSBkZWJ1Z293YW5pYSIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogICAgQ09OVFJPTCAgICAgICAgICJMaXN0MiIsSURDX0RFQlVHX0NIQU5ORUxTX0xJU1QsIlN5c0xpc3RWaWV3MzIiLExWU19SRVBPUlQgfAogICAgICAgICAgICAgICAgICAgIExWU19TSU5HTEVTRUwgfCBMVlNfU0hPV1NFTEFMV0FZUyB8IFdTX0JPUkRFUiB8IFdTX1RBQlNUT1AgfAoJCSAgICBMVlNfU09SVEFTQ0VORElORyw3LDcsMjMzLDE3NwogICAgUFVTSEJVVFRPTiAgICAgICJaYW1rbmlqIixJRE9LLDE3MSwxODksNjksMTQKRU5ECgpJRERfQUZGSU5JVFlfRElBTE9HIERJQUxPRyBESVNDQVJEQUJMRSAgMCwgMCwgMjMxLCAxNTQKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiS29saWdhY2phIHByb2Nlc29yYSIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogICAgREVGUFVTSEJVVFRPTiAgICJPSyIsSURPSywxMjAsMTMzLDUwLDE0CiAgICBQVVNIQlVUVE9OICAgICAgIkFudWx1aiIsSURDQU5DRUwsMTc0LDEzMyw1MCwxNAogICAgTFRFWFQgICAgICAgICAgICJLb2xpZ2FjamEgUHJvY2Vzb3JhIHBvendhbGEgdXN0YWxp5iBuYSBrdPNyeWNoIHByb2Nlc29yYWNoIG1vv25hIHVydWNoYW1pYeYgdGVuIHByb2NlcyIsCiAgICAgICAgICAgICAgICAgICAgSURDX1NUQVRJQyw1LDUsMjIwLDE2CiAgICBDT05UUk9MICAgICAgICAgIlByb2Nlc29yIDAiLElEQ19DUFUwLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AsCiAgICAgICAgICAgICAgICAgICAgMTEsMjgsMzcsMTAKICAgIENPTlRST0wgICAgICAgICAiUHJvY2Vzb3IgMSIsSURDX0NQVTEsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfRElTQUJMRUQgfAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsMTEsNDEsMzcsMTAKICAgIENPTlRST0wgICAgICAgICAiUHJvY2Vzb3IgMiIsSURDX0NQVTIsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfRElTQUJMRUQgfAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsMTEsNTQsMzcsMTAKICAgIENPTlRST0wgICAgICAgICAiUHJvY2Vzb3IgMyIsSURDX0NQVTMsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfRElTQUJMRUQgfAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsMTEsNjcsMzcsMTAKICAgIENPTlRST0wgICAgICAgICAiUHJvY2Vzb3IgNCIsSURDX0NQVTQsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfRElTQUJMRUQgfAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsMTEsODAsMzcsMTAKICAgIENPTlRST0wgICAgICAgICAiUHJvY2Vzb3IgNSIsSURDX0NQVTUsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfRElTQUJMRUQgfAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsMTEsOTMsMzcsMTAKICAgIENPTlRST0wgICAgICAgICAiUHJvY2Vzb3IgNiIsSURDX0NQVTYsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfRElTQUJMRUQgfAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsMTEsMTA2LDM3LDEwCiAgICBDT05UUk9MICAgICAgICAgIlByb2Nlc29yIDciLElEQ19DUFU3LCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IFdTX0RJU0FCTEVEIHwKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDExLDExOSwzNywxMAogICAgQ09OVFJPTCAgICAgICAgICJQcm9jZXNvciA4IixJRENfQ1BVOCwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19ESVNBQkxFRCB8CiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCw2MSwyOCwzNywxMAogICAgQ09OVFJPTCAgICAgICAgICJQcm9jZXNvciA5IixJRENfQ1BVOSwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19ESVNBQkxFRCB8CiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCw2MSw0MSwzNywxMAogICAgQ09OVFJPTCAgICAgICAgICJQcm9jZXNvciAxMCIsSURDX0NQVTEwLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfRElTQUJMRUQgfCBXU19UQUJTVE9QLDYxLDU0LDQxLDEwCiAgICBDT05UUk9MICAgICAgICAgIlByb2Nlc29yIDExIixJRENfQ1BVMTEsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19ESVNBQkxFRCB8IFdTX1RBQlNUT1AsNjEsNjcsNDEsMTAKICAgIENPTlRST0wgICAgICAgICAiUHJvY2Vzb3IgMTIiLElEQ19DUFUxMiwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX0RJU0FCTEVEIHwgV1NfVEFCU1RPUCw2MSw4MCw0MSwxMAogICAgQ09OVFJPTCAgICAgICAgICJQcm9jZXNvciAxMyIsSURDX0NQVTEzLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfRElTQUJMRUQgfCBXU19UQUJTVE9QLDYxLDkzLDQxLDEwCiAgICBDT05UUk9MICAgICAgICAgIlByb2Nlc29yIDE0IixJRENfQ1BVMTQsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19ESVNBQkxFRCB8IFdTX1RBQlNUT1AsNjEsMTA2LDQxLDEwCiAgICBDT05UUk9MICAgICAgICAgIlByb2Nlc29yIDE1IixJRENfQ1BVMTUsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19ESVNBQkxFRCB8IFdTX1RBQlNUT1AsNjEsMTE5LDQxLDEwCiAgICBDT05UUk9MICAgICAgICAgIlByb2Nlc29yIDE2IixJRENfQ1BVMTYsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19ESVNBQkxFRCB8IFdTX1RBQlNUT1AsMTE2LDI4LDQxLDEwCiAgICBDT05UUk9MICAgICAgICAgIlByb2Nlc29yIDE3IixJRENfQ1BVMTcsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19ESVNBQkxFRCB8IFdTX1RBQlNUT1AsMTE2LDQxLDQxLDEwCiAgICBDT05UUk9MICAgICAgICAgIlByb2Nlc29yIDE4IixJRENfQ1BVMTgsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19ESVNBQkxFRCB8IFdTX1RBQlNUT1AsMTE2LDU0LDQxLDEwCiAgICBDT05UUk9MICAgICAgICAgIlByb2Nlc29yIDE5IixJRENfQ1BVMTksIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19ESVNBQkxFRCB8IFdTX1RBQlNUT1AsMTE2LDY3LDQxLDEwCiAgICBDT05UUk9MICAgICAgICAgIlByb2Nlc29yIDIwIixJRENfQ1BVMjAsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19ESVNBQkxFRCB8IFdTX1RBQlNUT1AsMTE2LDgwLDQxLDEwCiAgICBDT05UUk9MICAgICAgICAgIlByb2Nlc29yIDIxIixJRENfQ1BVMjEsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19ESVNBQkxFRCB8IFdTX1RBQlNUT1AsMTE2LDkzLDQxLDEwCiAgICBDT05UUk9MICAgICAgICAgIlByb2Nlc29yIDIyIixJRENfQ1BVMjIsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19ESVNBQkxFRCB8IFdTX1RBQlNUT1AsMTE2LDEwNiw0MSwxMAogICAgQ09OVFJPTCAgICAgICAgICJQcm9jZXNvciAyMyIsSURDX0NQVTIzLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfRElTQUJMRUQgfCBXU19UQUJTVE9QLDExNiwxMTksNDEsMTAKICAgIENPTlRST0wgICAgICAgICAiUHJvY2Vzb3IgMjQiLElEQ19DUFUyNCwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX0RJU0FCTEVEIHwgV1NfVEFCU1RPUCwxNzUsMjgsNDEsMTAKICAgIENPTlRST0wgICAgICAgICAiUHJvY2Vzb3IgMjUiLElEQ19DUFUyNSwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX0RJU0FCTEVEIHwgV1NfVEFCU1RPUCwxNzUsNDEsNDEsMTAKICAgIENPTlRST0wgICAgICAgICAiUHJvY2Vzb3IgMjYiLElEQ19DUFUyNiwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX0RJU0FCTEVEIHwgV1NfVEFCU1RPUCwxNzUsNTQsNDEsMTAKICAgIENPTlRST0wgICAgICAgICAiUHJvY2Vzb3IgMjciLElEQ19DUFUyNywiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX0RJU0FCTEVEIHwgV1NfVEFCU1RPUCwxNzUsNjcsNDEsMTAKICAgIENPTlRST0wgICAgICAgICAiUHJvY2Vzb3IgMjgiLElEQ19DUFUyOCwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX0RJU0FCTEVEIHwgV1NfVEFCU1RPUCwxNzUsODAsNDEsMTAKICAgIENPTlRST0wgICAgICAgICAiUHJvY2Vzb3IgMjkiLElEQ19DUFUyOSwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX0RJU0FCTEVEIHwgV1NfVEFCU1RPUCwxNzUsOTMsNDEsMTAKICAgIENPTlRST0wgICAgICAgICAiUHJvY2Vzb3IgMzAiLElEQ19DUFUzMCwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX0RJU0FCTEVEIHwgV1NfVEFCU1RPUCwxNzUsMTA2LDQxLDEwCiAgICBDT05UUk9MICAgICAgICAgIlByb2Nlc29yIDMxIixJRENfQ1BVMzEsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19ESVNBQkxFRCB8IFdTX1RBQlNUT1AsMTc1LDExOSw0MSwxMApFTkQKCklERF9DT0xVTU5TX0RJQUxPRyBESUFMT0cgRElTQ0FSREFCTEUgIDAsIDAsIDI2MCwgMTk5ClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIld5Ymllcnoga29sdW1ueSIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogICAgREVGUFVTSEJVVFRPTiAgICJPSyIsSURPSywxNDQsMTc4LDUwLDE0CiAgICBQVVNIQlVUVE9OICAgICAgIkFudWx1aiIsSURDQU5DRUwsMTk4LDE3OCw1MCwxNAogICAgTFRFWFQgICAgICAgICAgICJXeWJpZXJ6IGtvbHVtbnksIGt083JlIGLqZLkgd2lkb2N6bmUgbmEgemFrs2FkY2UgUHJvY2VzeSBNZW5lZL9lcmEgUHJvY2Vz83ciLAogICAgICAgICAgICAgICAgICAgIElEQ19TVEFUSUMsNyw3LDE4MSwxNwogICAgQ09OVFJPTCAgICAgICAgICImTmF6d2Egb2JyYXp1IixJRENfSU1BR0VOQU1FLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfRElTQUJMRUQgfCBXU19UQUJTVE9QLDcsMjgsNTYsMTAKICAgIENPTlRST0wgICAgICAgICAiJlBJRCAoSWRlbnR5ZmlrYXRvciBwcm9jZXN1KSIsSURDX1BJRCwiQnV0dG9uIiwKICAgICAgICAgICAgICAgICAgICBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QLDcsMzksMTIwLDEwCiAgICBDT05UUk9MICAgICAgICAgIiZVv3ljaWUgcHJvY2Vzb3JhIixJRENfQ1BVVVNBR0UsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDcsNTAsMTIwLDEwCiAgICBDT05UUk9MICAgICAgICAgIiZDemFzIHByb2Nlc29yYSIsSURDX0NQVVRJTUUsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDcsNjEsMTIwLDEwCiAgICBDT05UUk9MICAgICAgICAgIiZVv3ljaWUgcGFtaepjaSIsSURDX01FTU9SWVVTQUdFLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCw3LDcyLDEyMCwxMAogICAgQ09OVFJPTCAgICAgICAgICImUvO/bmljYSB1v3ljaWEgcGFtaepjaSIsSURDX01FTU9SWVVTQUdFREVMVEEsIkJ1dHRvbiIsCiAgICAgICAgICAgICAgICAgICAgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUCw3LDgzLDEyMCwxMAogICAgQ09OVFJPTCAgICAgICAgICJTJnpjenl0b3dlIHW/eWNpZSBwYW1p6mNpIixJRENfUEVBS01FTU9SWVVTQUdFLCJCdXR0b24iLAogICAgICAgICAgICAgICAgICAgIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AsNyw5NCwxMjAsMTAKICAgIENPTlRST0wgICAgICAgICAiJkKz6mR5IHN0cm9ueSIsSURDX1BBR0VGQVVMVFMsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDcsMTA1LDEyMCwxMAogICAgQ09OVFJPTCAgICAgICAgICJPYmlla3R5IFVTJkVSIixJRENfVVNFUk9CSkVDVFMsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDcsMTE2LDEyMCwxMAogICAgQ09OVFJPTCAgICAgICAgICJJL08gLSBvZGN6eXR5IixJRENfSU9SRUFEUywiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsNywxMjcsMTIwLDEwCiAgICBDT05UUk9MICAgICAgICAgIkkvTyAtIG9kY3p5dGFuZSBiYWp0eSIsSURDX0lPUkVBREJZVEVTLCJCdXR0b24iLAogICAgICAgICAgICAgICAgICAgIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AsNywxMzgsNjUsMTAKICAgIENPTlRST0wgICAgICAgICAiSUQgU2VzJmppIixJRENfU0VTU0lPTklELCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCw3LDE0OSwxMjAsMTAKICAgIENPTlRST0wgICAgICAgICAiTmEmendhIHW/eXRvd25pa2EiLElEQ19VU0VSTkFNRSwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsNywxNjAsMTIwLDEwCiAgICBDT05UUk9MICAgICAgICAgIlLzv25pY2EgYrPqJmTzdyBzdHJvbnkiLElEQ19QQUdFRkFVTFRTREVMVEEsIkJ1dHRvbiIsCiAgICAgICAgICAgICAgICAgICAgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUCwxMzAsMjgsMTIwLDEwCiAgICBDT05UUk9MICAgICAgICAgIlJvem1pYXIgcGFtaepjaSAmd2lydHVhbG5laiIsSURDX1ZJUlRVQUxNRU1PUllTSVpFLCJCdXR0b24iLAogICAgICAgICAgICAgICAgICAgIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AsMTMwLDM5LDEyMCwxMAogICAgQ09OVFJPTCAgICAgICAgICJQYSZtaermIHN0cm9uaWNvd2FuYSIsSURDX1BBR0VEUE9PTCwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsMTMwLDUwLDEyMCwxMAogICAgQ09OVFJPTCAgICAgICAgICJQYW1p6uYgbmkmZXN0cm9uaWNvd2FuYSIsSURDX05PTlBBR0VEUE9PTCwiQnV0dG9uIiwKICAgICAgICAgICAgICAgICAgICBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QLDEzMCw2MSwxMjAsMTAKICAgIENPTlRST0wgICAgICAgICAiUHJpb3J5dGV0ICZiYXpvd3kiLElEQ19CQVNFUFJJT1JJVFksIkJ1dHRvbiIsCiAgICAgICAgICAgICAgICAgICAgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUCwxMzAsNzIsMTIwLDEwCiAgICBDT05UUk9MICAgICAgICAgIkxpY3piYSAmdWNod3l083ciLElEQ19IQU5ETEVDT1VOVCwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsMTMwLDgzLDEyMCwxMAogICAgQ09OVFJPTCAgICAgICAgICJMaWMmemJhIHe5dGvzdyIsSURDX1RIUkVBRENPVU5ULCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCwxMzAsOTQsMTIwLDEwCiAgICBDT05UUk9MICAgICAgICAgIk9iaWVrdHkgJkdESSIsSURDX0dESU9CSkVDVFMsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDEzMCwxMDUsMTIwLDEwCiAgICBDT05UUk9MICAgICAgICAgIkkvTyAtIHphcGlzeSIsSURDX0lPV1JJVEVTLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCwxMzAsMTE2LDEyMCwxMAogICAgQ09OVFJPTCAgICAgICAgICJJL08gLSB6YXBpc2FuZSBiYWp0eSIsSURDX0lPV1JJVEVCWVRFUywiQnV0dG9uIiwKICAgICAgICAgICAgICAgICAgICBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QLDEzMCwxMjcsMTIwLDEwCiAgICBDT05UUk9MICAgICAgICAgIkkvTyAtIGlubmUiLElEQ19JT09USEVSLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCwxMzAsMTM4LDEyMCwxMAogICAgQ09OVFJPTCAgICAgICAgICJJL08gLSBpbm5lIC0gYmFqdHkiLElEQ19JT09USEVSQllURVMsIkJ1dHRvbiIsCiAgICAgICAgICAgICAgICAgICAgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUCwxMzAsMTQ5LDEyMCwxMApFTkQKCi8qCiBTdHJpbmcgVGFibGUKKi8KClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCkJFR0lOCiAgICBJRFNfQVBQX1RJVExFICAgICAgICAgICAiTWVuZWS/ZXIgemFkYfEiCiAgICBJRENfVEFTS01HUiAgICAgICAgICAgICAiTWVuZWS/ZXIgemFkYfEiCiAgICBJRFNfUlVORExHX0NBUFRJT04gICAgICAiVXR383J6IG5vd2UgemFkYW5pZSIKRU5ECgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQpCRUdJTgogICAgSURfRklMRV9ORVcgICAgICAgICAgICAgIlVydWNoYW1pYSBub3d5IHByb2dyYW0iCiAgICBJRF9PUFRJT05TX0FMV0FZU09OVE9QICAiTWVuZWS/ZXIgemFkYfEgYupkemllIHBvbmFkIGlubnltaSBva25hbWkgKGNoeWJhLCC/ZSB6bWluaW1hbGl6b3dhbnkpIgogICAgSURfT1BUSU9OU19NSU5JTUlaRU9OVVNFCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTWVuZWS/ZXIgemFkYfEgYupkemllIG1pbmltYWxpem93YW55IHBvIHd5YnJhbml1ICdQcnpls7ljeiBuYSciCiAgICBJRF9PUFRJT05TX0hJREVXSEVOTUlOSU1JWkVEICJVa3J5aiBNZW5lZL9lcmEgemFkYfEga2llZHkgamVzdCB6bWluaW1hbGl6b3dhbnkiCiAgICBJRF9WSUVXX1JFRlJFU0ggICAgICAgICAiV3ltdZwsIG9knHdpZb9lbmllIGxpc3R5IHRlcmF6LCBuaWV6YWxlv25pZSBvZCBDeupzdG90bGl3b5xjaSBvZJx3aWW/YW5pYSIKICAgIElEX1ZJRVdfTEFSR0UgICAgICAgICAgICJXeZx3aWV0bCB6YWRhbmlhIHW/eXdharljIGR1v3ljaCBpa29uIgogICAgSURfVklFV19TTUFMTCAgICAgICAgICAgIld5nHdpZXRsIHphZGFuaWEgdb95d2FquWMgbWGzeWNoIGlrb24iCiAgICBJRF9WSUVXX0RFVEFJTFMgICAgICAgICAiV3mcd2lldGxhIHN6Y3plZ/OzeSBrYb9kZWdvIHphZGFuaWEiCiAgICBJRF9WSUVXX1VQREFURVNQRUVEX0hJR0ggIk9kv3dpZb9hIGxpc3TqIGR3YSByYXp5IG5hIHNla3VuZOoiCiAgICBJRF9WSUVXX1VQREFURVNQRUVEX05PUk1BTCAiT2Scd2llv2EgbGlzdOogY28gZHdpZSBzZWt1bmR5IgogICAgSURfVklFV19VUERBVEVTUEVFRF9MT1cgIk9knHdpZb9hIGxpc3TqIGNvIGN6dGVyeSBzZWt1bmR5IgpFTkQKClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCkJFR0lOCiAgICBJRF9WSUVXX1VQREFURVNQRUVEX1BBVVNFRCAiQmV6IGF1dG9tYXR5Y3puZWdvIG9knHdpZb9hbmlhIGxpc3R5IgogICAgSURfV0lORE9XU19USUxFSE9SSVpPTlRBTExZCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUm96bWllnOYgd3N6eXN0a2llIG9rbmEgc7lzaWFkdWq5Y28gdyBwb3ppb21pZSIKICAgIElEX1dJTkRPV1NfVElMRVZFUlRJQ0FMTFkgIlJvem1pZZzmIHdzenlzdGtpZSBva25hIHO5c2lhZHVquWNvIHcgcGlvbmllIgogICAgSURfV0lORE9XU19NSU5JTUlaRSAgICAgIk1pbmltYWxpenVqZSB3eWJyYW5lIG9rbm8iCiAgICBJRF9XSU5ET1dTX01BWElNSVpFICAgICAiTWFrc3ltYWxpenVqZSB3eWJyYW5lIG9rbm8iCiAgICBJRF9XSU5ET1dTX0NBU0NBREUgICAgICAiUm96bWllnOYgb2tuYSBza2+cbmllIHcga2Fza2Fk6iIKICAgIElEX1dJTkRPV1NfQlJJTkdUT0ZST05UICJQcnplc3XxIG9rbm8gbmEgd2llcnpjaCBiZXogcHJ6ZbO5Y3plbmllIG5hIG5pZWdvIgogICAgSURfSEVMUF9UT1BJQ1MgICAgICAgICAgIld5nHdpZXRsIHRlbWF0eSBwb21vY3kgTWVuZWS/ZXJhIHphZGHxIgogICAgSURfSEVMUF9BQk9VVCAgICAgICAgICAgIld5nHdpZXRsIGluZm9ybWFjamUgbyBwcm9ncmFtaWUsIHdlcnNqaSBpIHByYXdhY2ggYXV0b3Jza2ljaCIKICAgIElEX0ZJTEVfRVhJVCAgICAgICAgICAgICJaYWtv8WN6IGFwbGlrYWNq6iBNZW5lZL9lcmEgemFkYfEiCiAgICBJRF9PUFRJT05TX1NIT1cxNkJJVFRBU0tTCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiV3mcd2l0ZWxzIDE2LWJpdG93ZSB6YWRhbmlhIHBvZCBvZHBvd2llZG5pbSBudHZkbS5leGUiCiAgICBJRF9WSUVXX1NFTEVDVENPTFVNTlMgICAiV3liaWVyeiBrb2x1bW55LCBrdPNyZSBi6mS5IHdpZG9jem5lIG5hIHpha7NhZGNlIFByb2Nlc3kiCiAgICBJRF9WSUVXX1NIT1dLRVJORUxUSU1FUyAiUG9rYXp1amUgY3phc3kgarlkcmEgbmEgd3lrcmVzYWNoIHd5ZGFqbm+cY2kiCiAgICBJRF9WSUVXX0NQVUhJU1RPUllfT05FR1JBUEhBTEwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJKZWRlbiB3eWtyZXMgcG9rYXp1amUgY2Gza293aXRlIHW/eWNpZSBwcm9jZXNvcvN3IgogICAgSURfVklFV19DUFVISVNUT1JZX09ORUdSQVBIUEVSQ1BVICJLYb9keSBwcm9jZXNvciBtYSBzd/NqIHezYXNueSB3eWtyZXMgdb95Y2lhIgogICAgSURfQVBQTElDQVRJT05fUEFHRV9TV0lUQ0hUTwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIlByemVzdXdhIHphZGFuaWUgbmEgd2llcnpjaCBpIHByemWzuWN6YSBuYSBuaWUiCkVORAoKU1RSSU5HVEFCTEUgRElTQ0FSREFCTEUKQkVHSU4KICAgIElEX0VORFRBU0sgICAgICAgICAgICAgICJQb2xl5iB3eWJyYW55bSB6YWRhbmlvbSB6YWtv8WN6ZW5pZSBkemlhs2FuaWEiCiAgICBJRF9HT1RPUFJPQ0VTUyAgICAgICAgICAiUHJ6ZbO5Y3phIG5hIHByb2NlcyB3eWJyYW5lZ28gemFkYW5pYSIKICAgIElEX1JFU1RPUkUgICAgICAgICAgICAgICJQcnp5d3Lz5iBNZW5lZL9lcmEgemFkYfEgeiBqZWdvIHVrcnl0ZWdvIHN0YW51IgogICAgSURfUFJPQ0VTU19QQUdFX0VORFBST0NFU1MgIlVzdXdhIGRhbmUgemFkYW5pZSB6IHN5c3RlbXUiCiAgICBJRF9QUk9DRVNTX1BBR0VfRU5EUFJPQ0VTU1RSRUUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJVc3V3YSBkYW55IHByb2NlcyBpIHdzenlzdGtpY2ggamVnbyBwb3RvbWvzdyB6IHN5c3RlbXUiCiAgICBJRF9QUk9DRVNTX1BBR0VfREVCVUcgICAiUG9ks7ljemEgZGVidWdlciBkbyB0ZWdvIHphZGFuaWEiCiAgICBJRF9QUk9DRVNTX1BBR0VfU0VUQUZGSU5JVFkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJVc3RhbGEgbmEgamFraWNoIHByb2Nlc29yYWNoIHRlbiBwcm9jZXMgbW+/ZSBzaeogd3lrb255d2HmIgogICAgSURfUFJPQ0VTU19QQUdFX1NFVFBSSU9SSVRZX1JFQUxUSU1FCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiVXN0YWxhIHByaW9yeXRldCBwcm9jZXN1IG5hIGN6YXMgcnplY3p5d2lzdHkiCiAgICBJRF9QUk9DRVNTX1BBR0VfU0VUUFJJT1JJVFlfSElHSCAiVXN0YWxhIHByaW9yeXRldCBwcm9jZXN1IG5hIHd5c29raSIKICAgIElEX1BST0NFU1NfUEFHRV9TRVRQUklPUklUWV9BQk9WRU5PUk1BTAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIlVzdGFsYSBwcmlvcnl0ZXQgcHJvY2VzdSBwb3d5v2VqIG5vcm1hbG5lZ28iCiAgICBJRF9QUk9DRVNTX1BBR0VfU0VUUFJJT1JJVFlfTk9STUFMCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiVXN0YWxhIHByaW9yeXRldCBwcm9jZXN1IG5hIG5vcm1hbG55IgogICAgSURfUFJPQ0VTU19QQUdFX1NFVFBSSU9SSVRZX0JFTE9XTk9STUFMCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiVXN0YWxhIHByaW9yeXRldCBwcm9jZXN1IG5hIHBvbmm/ZWogbm9ybWFsbmVnbyIKICAgIElEX1BST0NFU1NfUEFHRV9TRVRQUklPUklUWV9MT1cgIlVzdGFsYSBwcmlvcnl0ZXQgcHJvY2VzdSBuYSBuaXNraSIKRU5ECg==