LyoKICogIFRhc2sgTWFuYWdlcgogKgogKiAgUG9ydHVndWVzZSBMYW5ndWFnZSBzdXBwb3J0CiAqCiAqICBDb3B5cmlnaHQgMjAwOCBSaWNhcmRvIEZpbGlwZQogKgogKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCiAqIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogKgogKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKICogTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICoKICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogKiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EKICovCgojaW5jbHVkZSAicmVzb3VyY2UuaCIKCkxBTkdVQUdFIExBTkdfUE9SVFVHVUVTRSwgU1VCTEFOR19ORVVUUkFMCgovKgogTWVudQoqLwoKSURSX1RBU0tNQU5BR0VSIE1FTlUgRElTQ0FSREFCTEUKQkVHSU4KICAgIFBPUFVQICImRmljaGVpcm8iCiAgICBCRUdJTgogICAgICAgIE1FTlVJVEVNICImTm92YSBUYXJlZmEgKEV4ZWN1dGFyLi4uKSIsICAgICAgICAgIElEX0ZJTEVfTkVXCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIiZTYWlyIiwgICAgICAgICAgSURfRklMRV9FWElUCiAgICBFTkQKICAgIFBPUFVQICImT3Dn9WVzIgogICAgQkVHSU4KICAgICAgICBNRU5VSVRFTSAiJlNlbXByZSBWaXPtdmVsIiwgICAgICAgICAgICAgIElEX09QVElPTlNfQUxXQVlTT05UT1AKICAgICAgICAsIENIRUNLRUQKICAgICAgICBNRU5VSVRFTSAiJkV4ZWN1dGFyIG1pbmltaXphZG8iLCAgICAgICAgICAgIElEX09QVElPTlNfTUlOSU1JWkVPTlVTRQogICAgICAgICwgQ0hFQ0tFRAogICAgICAgIE1FTlVJVEVNICImT2N1bHRhciBxdWFuZG8gbWluaW1pemFkbyIsICAgICAgICBJRF9PUFRJT05TX0hJREVXSEVOTUlOSU1JWkVECiAgICAgICAgLCBDSEVDS0VECiAgICAgICAgTUVOVUlURU0gIiZNb3N0cmFyIHRhcmVmYXMgZGUgMTYtYml0cyIsICAgICAgICAgIElEX09QVElPTlNfU0hPVzE2QklUVEFTS1MKICAgICAgICAsIENIRUNLRUQKICAgIEVORAogICAgUE9QVVAgIiZWZXIiCiAgICBCRUdJTgogICAgICAgIE1FTlVJVEVNICImQWN0dWFsaXphciBhZ29yYSIsICAgICAgICAgICAgICAgIElEX1ZJRVdfUkVGUkVTSAogICAgICAgIFBPUFVQICImRnJlcXXqbmNpYSBkZSBhY3R1YWxpemHn428iCiAgICAgICAgQkVHSU4KICAgICAgICAgICAgTUVOVUlURU0gIiZBbHRhIiwgICAgICAgICAgICAgICAgICAgICAgIElEX1ZJRVdfVVBEQVRFU1BFRURfSElHSAogICAgICAgICAgICBNRU5VSVRFTSAiJk5vcm1hbCIsICAgICAgICAgICAgICAgICAgICAgSURfVklFV19VUERBVEVTUEVFRF9OT1JNQUwKICAgICAgICAgICAgLCBDSEVDS0VECiAgICAgICAgICAgIE1FTlVJVEVNICImQmFpeGEiLCAgICAgICAgICAgICAgICAgICAgICAgIElEX1ZJRVdfVVBEQVRFU1BFRURfTE9XCiAgICAgICAgICAgIE1FTlVJVEVNICImUGF1c2EiLCAgICAgICAgICAgICAgICAgICAgIElEX1ZJRVdfVVBEQVRFU1BFRURfUEFVU0VECgogICAgICAgIEVORAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICImSWNvbmVzIGdyYW5kZXMiLCAgICAgICAgICAgICAgICBJRF9WSUVXX0xBUkdFCiAgICAgICAgTUVOVUlURU0gIkljb25lcyAmcGVxdWVub3MiLCAgICAgICAgICAgICAgICBJRF9WSUVXX1NNQUxMCiAgICAgICAgTUVOVUlURU0gIiZEZXRhbGhlcyIsICAgICAgICAgICAgICAgICAgICBJRF9WSUVXX0RFVEFJTFMsIENIRUNLRUQKICAgICAgICBNRU5VSVRFTSAiJlNlbGVjY2lvbmFyIGNvbHVuYXMuLi4iLCAgICAgICAgICBJRF9WSUVXX1NFTEVDVENPTFVNTlMKICAgICAgICBQT1BVUCAiJkhpc3TzcmljbyBkbyBDUFUiCiAgICAgICAgQkVHSU4KICAgICAgICAgICAgTUVOVUlURU0gIiZVbSBncuFmaWNvLCB0b2RvcyBvcyBDUFVzIiwgICAgICAgIElEX1ZJRVdfQ1BVSElTVE9SWV9PTkVHUkFQSEFMTAoKICAgICAgICAgICAgTUVOVUlURU0gIlVtICZncuFmaWNvIHBvciBDUFUiLCAgICAgICAgICBJRF9WSUVXX0NQVUhJU1RPUllfT05FR1JBUEhQRVJDUFUKICAgICAgICAgICAgLCBDSEVDS0VECiAgICAgICAgRU5ECiAgICAgICAgTUVOVUlURU0gIiZNb3N0cmFyIHRlbXBvcyBkbyBrZXJuZWwiLCAgICAgICAgICBJRF9WSUVXX1NIT1dLRVJORUxUSU1FUwogICAgRU5ECiAgICBQT1BVUCAiJkphbmVsYXMiCiAgICBCRUdJTgogICAgICAgIE1FTlVJVEVNICJFbSBtb3NhaWNvIG5hICZIb3Jpem9udGFsIiwgICAgICAgICAgSURfV0lORE9XU19USUxFSE9SSVpPTlRBTExZCiAgICAgICAgTUVOVUlURU0gIkVtIG1vc2FpY28gbmEgJlZlcnRpY2FsIiwgICAgICAgICAgICBJRF9XSU5ET1dTX1RJTEVWRVJUSUNBTExZCiAgICAgICAgTUVOVUlURU0gIiZNaW5pbWl6YXIiLCAgICAgICAgICAgICAgICAgICBJRF9XSU5ET1dTX01JTklNSVpFCiAgICAgICAgTUVOVUlURU0gIk1hJnhpbWl6YXIiLCAgICAgICAgICAgICAgICAgICBJRF9XSU5ET1dTX01BWElNSVpFCiAgICAgICAgTUVOVUlURU0gIiZFbSBjYXNjYXRhIiwgICAgICAgICAgICAgICAgICAgIElEX1dJTkRPV1NfQ0FTQ0FERQogICAgICAgIE1FTlVJVEVNICImVHJhemVyIHBhcmEgYSBmcmVudGUiLCAgICAgICAgICAgICBJRF9XSU5ET1dTX0JSSU5HVE9GUk9OVAogICAgRU5ECiAgICBQT1BVUCAiJkFqdWRhIgogICAgQkVHSU4KICAgICAgICBNRU5VSVRFTSAiJlTzcGljb3MgZGUgYWp1ZGEgZG8gR2VzdG9yIGRlIFRhcmVmYXMiLCAgIElEX0hFTFBfVE9QSUNTCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIiZTb2JyZSBvIEdlc3RvciBkZSBUYXJlZmFzIiwgICAgICAgICBJRF9IRUxQX0FCT1VUCiAgICBFTkQKRU5ECgpJRFJfV0lORE9XU01FTlUgTUVOVSBESVNDQVJEQUJMRQpCRUdJTgoJTUVOVUlURU0gIkVtIG1vc2FpY28gbmEgJkhvcml6b250YWwiLCAgICAgICAgICBJRF9XSU5ET1dTX1RJTEVIT1JJWk9OVEFMTFkKCU1FTlVJVEVNICJFbSBtb3NhaWNvIG5hICZWZXJ0aWNhbCIsICAgICAgICAgICAgSURfV0lORE9XU19USUxFVkVSVElDQUxMWQoJTUVOVUlURU0gIiZNaW5pbWl6YXIiLCAgICAgICAgICAgICAgICAgICBJRF9XSU5ET1dTX01JTklNSVpFCglNRU5VSVRFTSAiTWEmeGltaXphciIsICAgICAgICAgICAgICAgICAgIElEX1dJTkRPV1NfTUFYSU1JWkUKCU1FTlVJVEVNICImRW0gY2FzY2F0YSIsICAgICAgICAgICAgICAgICAgICBJRF9XSU5ET1dTX0NBU0NBREUKCU1FTlVJVEVNICImVHJhemVyIHBhcmEgYSBmcmVudGUiLCAgICAgICAgICAgICBJRF9XSU5ET1dTX0JSSU5HVE9GUk9OVApFTkQKCklEUl9BUFBMSUNBVElPTl9QQUdFX0NPTlRFWFQxIE1FTlUgRElTQ0FSREFCTEUKQkVHSU4KICAgIFBPUFVQICJEVU1NWSIKICAgIEJFR0lOCiAgICAgICAgTUVOVUlURU0gIiZOb3ZhIFRhcmVmYSAoRXhlY3V0YXIuLi4pIiwgICAgICAgICAgSURfRklMRV9ORVcKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJkljb25lcyBHcmFuZGVzIiwgICAgICAgICAgICAgICAgSURfVklFV19MQVJHRQogICAgICAgIE1FTlVJVEVNICJJY29uZXMgJlBlcXVlbm9zIiwgICAgICAgICAgICAgICAgSURfVklFV19TTUFMTAogICAgICAgIE1FTlVJVEVNICImRGV0YWxoZXMiLCAgICAgICAgICAgICAgICAgICAgSURfVklFV19ERVRBSUxTLCBDSEVDS0VECiAgICBFTkQKRU5ECgpJRFJfQVBQTElDQVRJT05fUEFHRV9DT05URVhUMiBNRU5VIERJU0NBUkRBQkxFCkJFR0lOCiAgICBQT1BVUCAiRFVNTVkiCiAgICBCRUdJTgogICAgICAgIE1FTlVJVEVNICImTXVkYXIgcGFyYSIsICAgICAgICAgICAgICAgICAgSURfQVBQTElDQVRJT05fUEFHRV9TV0lUQ0hUTwogICAgICAgIE1FTlVJVEVNICImVHJhemVyIHBhcmEgYSBmcmVudGUiLCAgICAgICAgICAgICBJRF9XSU5ET1dTX0JSSU5HVE9GUk9OVAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgoJTUVOVUlURU0gIkVtIG1vc2FpY28gbmEgJkhvcml6b250YWwiLCAgICAgICAgICBJRF9XSU5ET1dTX1RJTEVIT1JJWk9OVEFMTFkKCU1FTlVJVEVNICJFbSBtb3NhaWNvIG5hICZWZXJ0aWNhbCIsICAgICAgICAgICAgSURfV0lORE9XU19USUxFVkVSVElDQUxMWQoJTUVOVUlURU0gIiZNaW5pbWl6YXIiLCAgICAgICAgICAgICAgICAgICBJRF9XSU5ET1dTX01JTklNSVpFCglNRU5VSVRFTSAiTWEmeGltaXphciIsICAgICAgICAgICAgICAgICAgIElEX1dJTkRPV1NfTUFYSU1JWkUKCU1FTlVJVEVNICImRW0gY2FzY2F0YSIsICAgICAgICAgICAgICAgICAgICBJRF9XSU5ET1dTX0NBU0NBREUKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJlRlcm1pbmFyIFRhcmVmYSIsICAgICAgICAgICAgICAgICAgIElEX0FQUExJQ0FUSU9OX1BBR0VfRU5EVEFTSwogICAgICAgIE1FTlVJVEVNICImSXIgcGFyYSBQcm9jZXNzbyIsICAgICAgICAgICAgICBJRF9BUFBMSUNBVElPTl9QQUdFX0dPVE9QUk9DRVNTCiAgICBFTkQKRU5ECgpJRFJfVFJBWV9QT1BVUCBNRU5VIERJU0NBUkRBQkxFCkJFR0lOCiAgICBQT1BVUCAiRFVNTVkiCiAgICBCRUdJTgogICAgICAgIE1FTlVJVEVNICImUmVzdGF1cmFyIiwgICAgICAgICAgICAgICAgICAgIElEX1JFU1RPUkUKICAgICAgICBNRU5VSVRFTSAiJkZlY2hhciIsICAgICAgICAgICAgICAgICAgICAgIElEX0ZJTEVfRVhJVAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICImU2VtcHJlIFZpc+12ZWwiLCAgICAgICAgICAgICAgSURfT1BUSU9OU19BTFdBWVNPTlRPUAogICAgRU5ECkVORAoKSURSX1BST0NFU1NfUEFHRV9DT05URVhUIE1FTlUgRElTQ0FSREFCTEUKQkVHSU4KICAgIFBPUFVQICJEVU1NWSIKICAgIEJFR0lOCiAgICAgICAgTUVOVUlURU0gIiZUZXJtaW5hciBQcm9jZXNzbyIsICAgICAgICAgICAgICAgIElEX1BST0NFU1NfUEFHRV9FTkRQUk9DRVNTCiAgICAgICAgTUVOVUlURU0gIlRlcm1pbmFyIMFydm9yZSBkZSAmUHJvY2Vzc28iLCAgICAgICAgICAgSURfUFJPQ0VTU19QQUdFX0VORFBST0NFU1NUUkVFCgogICAgICAgIE1FTlVJVEVNICImRGVwdXJhciIsICAgICAgICAgICAgICAgICAgICAgIElEX1BST0NFU1NfUEFHRV9ERUJVRwogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIFBPUFVQICJEJmVmaW5pciBQcmlvcmlkYWRlIgogICAgICAgIEJFR0lOCiAgICAgICAgICAgIE1FTlVJVEVNICImVGVtcG8gUmVhbCIsICAgICAgICAgICAgICAgICAgIElEX1BST0NFU1NfUEFHRV9TRVRQUklPUklUWV9SRUFMVElNRQoKICAgICAgICAgICAgTUVOVUlURU0gIiZBbHRhIiwgICAgICAgICAgICAgICAgICAgICAgIElEX1BST0NFU1NfUEFHRV9TRVRQUklPUklUWV9ISUdICgogICAgICAgICAgICBNRU5VSVRFTSAiQSZjaW1hIGRvIE5vcm1hbCIsICAgICAgICAgICAgIElEX1BST0NFU1NfUEFHRV9TRVRQUklPUklUWV9BQk9WRU5PUk1BTAoKICAgICAgICAgICAgTUVOVUlURU0gIiZOb3JtYWwiLCAgICAgICAgICAgICAgICAgICAgIElEX1BST0NFU1NfUEFHRV9TRVRQUklPUklUWV9OT1JNQUwKCiAgICAgICAgICAgIE1FTlVJVEVNICJBYmEmaXhvIGRvIE5vcm1hbCIsICAgICAgICAgICAgSURfUFJPQ0VTU19QQUdFX1NFVFBSSU9SSVRZX0JFTE9XTk9STUFMCgogICAgICAgICAgICBNRU5VSVRFTSAiJkJhaXhhIiwgICAgICAgICAgICAgICAgICAgICAgICBJRF9QUk9DRVNTX1BBR0VfU0VUUFJJT1JJVFlfTE9XCgogICAgICAgIEVORAogICAgICAgIE1FTlVJVEVNICJEZWZpbmlyICZBZmluaWRhZGUuLi4iLCAgICAgICAgICAgIElEX1BST0NFU1NfUEFHRV9TRVRBRkZJTklUWQoJTUVOVUlURU0gIkVkaSZ0YXIgY2FuYWlzIGRlIGRlcHVyYefjby4uLiIsCUlEX1BST0NFU1NfUEFHRV9ERUJVR0NIQU5ORUxTCiAgICBFTkQKRU5ECgovKgogRGlhbG9nCiovCgpJRERfVEFTS01HUl9ESUFMT0cgRElBTE9HIERJU0NBUkRBQkxFICAwLCAwLCAyNjQsIDI0NgpTVFlMRSBEU19DRU5URVIgfCBXU19NSU5JTUlaRUJPWCB8IFdTX01BWElNSVpFQk9YIHwgV1NfUE9QVVAgfAogICAgV1NfQ0xJUFNJQkxJTkdTIHwgV1NfQ0xJUENISUxEUkVOIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUgfAogICAgV1NfVEhJQ0tGUkFNRQpDQVBUSU9OICJHZXN0b3IgZGUgVGFyZWZhcyIKTUVOVSBJRFJfVEFTS01BTkFHRVIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogICAgQ09OVFJPTCAgICAgICAgICJUYWIxIixJRENfVEFCLCJTeXNUYWJDb250cm9sMzIiLFdTX1RBQlNUT1AsMywzLDI1NywyMjgKRU5ECgpJRERfQVBQTElDQVRJT05fUEFHRSBESUFMT0cgRElTQ0FSREFCTEUgIDAsIDAsIDI0NywgMjEwClNUWUxFIERTX0NPTlRST0wgfCBXU19DSElMRCB8IFdTX0NMSVBDSElMRFJFTgpGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBDT05UUk9MICAgICAgICAgIkxpc3QyIixJRENfQVBQTElTVCwiU3lzTGlzdFZpZXczMiIsTFZTX1JFUE9SVCB8CiAgICAgICAgICAgICAgICAgICAgTFZTX1NIT1dTRUxBTFdBWVMgfCBXU19CT1JERVIgfCBXU19UQUJTVE9QLDcsNywyMzMsMTc3CiAgICBQVVNIQlVUVE9OICAgICAgIiZOb3ZhIFRhcmVmYS4uLiIsSURDX05FV1RBU0ssMTg3LDE4OSw1MywxNAogICAgUFVTSEJVVFRPTiAgICAgICImTXVkYXIgUGFyYSIsSURDX1NXSVRDSFRPLDEzMSwxODksNTMsMTQsV1NfRElTQUJMRUQKICAgIFBVU0hCVVRUT04gICAgICAiJlRlcm1pbmFyIFRhcmVmYSIsSURDX0VORFRBU0ssNzUsMTg5LDUzLDE0LFdTX0RJU0FCTEVECkVORAoKSUREX1BST0NFU1NfUEFHRSBESUFMT0cgRElTQ0FSREFCTEUgIDAsIDAsIDI0NywgMjEwClNUWUxFIERTX0NPTlRST0wgfCBXU19DSElMRCB8IFdTX0NMSVBDSElMRFJFTgpGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBDT05UUk9MICAgICAgICAgIkxpc3QyIixJRENfUFJPQ0VTU0xJU1QsIlN5c0xpc3RWaWV3MzIiLExWU19SRVBPUlQgfAogICAgICAgICAgICAgICAgICAgIExWU19TSU5HTEVTRUwgfCBMVlNfU0hPV1NFTEFMV0FZUyB8IExWU19PV05FUkRBVEEgfAogICAgICAgICAgICAgICAgICAgIFdTX0JPUkRFUiB8IFdTX1RBQlNUT1AsNyw3LDIzMywxNzcKICAgIFBVU0hCVVRUT04gICAgICAiJlRlcm1pbmFyIFByb2Nlc3NvIixJRENfRU5EUFJPQ0VTUywxNzEsMTg5LDY5LDE0CiAgICBDT05UUk9MICAgICAgICAgIiZNb3N0cmFyIFByb2Nlc3NvcyBkZSB0b2RvcyBvcyB1dGlsaXphZG9yZXMiLElEQ19TSE9XQUxMUFJPQ0VTU0VTLAogICAgICAgICAgICAgICAgICAgICJCb3TjbyIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUCw3LDE5MSwxMTEsMTAKRU5ECgovKklERF9QRVJGT1JNQU5DRV9QQUdFIERJQUxPR0VYIDAsIDAsIDI0NywgMjEwKi8KSUREX1BFUkZPUk1BTkNFX1BBR0UgRElBTE9HRVggRElTQ0FSREFCTEUgIDAsIDAsIDI0NywgMjEwClNUWUxFIERTX0NPTlRST0wgfCBXU19DSElMRCB8IFdTX0NMSVBDSElMRFJFTgpGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBHUk9VUEJPWCAgICAgICAgIlV0aWxpemHn428gQ1BVIixJRENfQ1BVX1VTQUdFX0ZSQU1FLDUsNSw2MCw1NCxXU19UQUJTVE9QLCBXU19FWF9UUkFOU1BBUkVOVAogICAgR1JPVVBCT1ggICAgICAgICJNZW3zcmlhIixJRENfTUVNX1VTQUdFX0ZSQU1FLDUsNjMsNjAsNTQsQlNfTEVGVFRFWFQsIFdTX0VYX1RSQU5TUEFSRU5UCiAgICBHUk9VUEJPWCAgICAgICAgIlRvdGFpcyIsSURDX1RPVEFMU19GUkFNRSw1LDEyMiwxMTEsMzksMCxXU19FWF9UUkFOU1BBUkVOVAogICAgR1JPVVBCT1ggICAgICAgICJDb21taXQgQ2hhcmdlIChLKSIsSURDX0NPTU1JVF9DSEFSR0VfRlJBTUUsNSwxNjYsMTExLDM5LDAsV1NfRVhfVFJBTlNQQVJFTlQKICAgIEdST1VQQk9YICAgICAgICAiTWVt83JpYSBG7XNpY2EgKEspIixJRENfUEhZU0lDQUxfTUVNT1JZX0ZSQU1FLDEzMSwxMjIsMTExLDM5LDAsV1NfRVhfVFJBTlNQQVJFTlQKICAgIEdST1VQQk9YICAgICAgICAiTWVt83JpYSBrZXJuZWwgKEspIixJRENfS0VSTkVMX01FTU9SWV9GUkFNRSwxMzEsMTY2LDExMSwzOSwwLFdTX0VYX1RSQU5TUEFSRU5UCiAgICBMVEVYVCAgICAgICAgICAgIklkZW50aWZpY2Fkb3JlcyIsSURTX1RPVEFMU19IQU5ETEVfQ09VTlQsMTIsMTMxLDQwLDgKICAgIExURVhUICAgICAgICAgICAiVGhyZWFkcyIsSURTX1RPVEFMU19USFJFQURfQ09VTlQsMTIsMTQwLDI3LDgKICAgIExURVhUICAgICAgICAgICAiUHJvY2Vzc29zIixJRFNfVE9UQUxTX1BST0NFU1NfQ09VTlQsMTIsMTQ5LDM0LDgKICAgIEVESVRURVhUICAgICAgICBJRENfVE9UQUxTX0hBTkRMRV9DT1VOVCw2NSwxMzEsNDUsOCxFU19SSUdIVCB8CiAgICAgICAgICAgICAgICAgICAgRVNfUkVBRE9OTFkgfCBFU19OVU1CRVIgfCBOT1QgV1NfQk9SREVSCiAgICBFRElUVEVYVCAgICAgICAgSURDX1RPVEFMU19USFJFQURfQ09VTlQsNjUsMTQwLDQ1LDgsRVNfUklHSFQgfAogICAgICAgICAgICAgICAgICAgIEVTX1JFQURPTkxZIHwgRVNfTlVNQkVSIHwgTk9UIFdTX0JPUkRFUgogICAgRURJVFRFWFQgICAgICAgIElEQ19UT1RBTFNfUFJPQ0VTU19DT1VOVCw2NSwxNDksNDUsOCxFU19SSUdIVCB8CiAgICAgICAgICAgICAgICAgICAgRVNfUkVBRE9OTFkgfCBFU19OVU1CRVIgfCBOT1QgV1NfQk9SREVSCiAgICBMVEVYVCAgICAgICAgICAgIlRvdGFsIixJRFNfQ09NTUlUX0NIQVJHRV9UT1RBTCwxMiwxNzUsMjcsOAogICAgTFRFWFQgICAgICAgICAgICJMaW1pdCIsSURTX0NPTU1JVF9DSEFSR0VfTElNSVQsMTIsMTg0LDE1LDgKICAgIExURVhUICAgICAgICAgICAiUGVhayIsSURTX0NPTU1JVF9DSEFSR0VfUEVBSywxMiwxOTMsMzQsOAogICAgRURJVFRFWFQgICAgICAgIElEQ19DT01NSVRfQ0hBUkdFX1RPVEFMLDY1LDE3NCw0NSw4LEVTX1JJR0hUIHwKICAgICAgICAgICAgICAgICAgICBFU19SRUFET05MWSB8IEVTX05VTUJFUiB8IE5PVCBXU19CT1JERVIKICAgIEVESVRURVhUICAgICAgICBJRENfQ09NTUlUX0NIQVJHRV9MSU1JVCw2NSwxODQsNDUsOCxFU19SSUdIVCB8CiAgICAgICAgICAgICAgICAgICAgRVNfUkVBRE9OTFkgfCBFU19OVU1CRVIgfCBOT1QgV1NfQk9SREVSCiAgICBFRElUVEVYVCAgICAgICAgSURDX0NPTU1JVF9DSEFSR0VfUEVBSyw2NSwxOTMsNDUsOCxFU19SSUdIVCB8CiAgICAgICAgICAgICAgICAgICAgRVNfUkVBRE9OTFkgfCBFU19OVU1CRVIgfCBOT1QgV1NfQk9SREVSCiAgICBMVEVYVCAgICAgICAgICAgIlRvdGFsIixJRFNfUEhZU0lDQUxfTUVNT1JZX1RPVEFMLDEzNywxMzEsMjcsOAogICAgTFRFWFQgICAgICAgICAgICJMaXZyZSIsSURTX1BIWVNJQ0FMX01FTU9SWV9BVkFJTEFCTEUsMTM3LDE0MCwzMCw4CiAgICBMVEVYVCAgICAgICAgICAgIkVtIENhY2hlIixJRFNfUEhZU0lDQUxfTUVNT1JZX1NZU1RFTV9DQUNIRSwxMzcsMTQ5LDQ2LDgKICAgIEVESVRURVhUICAgICAgICBJRENfUEhZU0lDQUxfTUVNT1JZX1RPVEFMLDE4NSwxMzEsNDgsOCxFU19SSUdIVCB8CiAgICAgICAgICAgICAgICAgICAgRVNfUkVBRE9OTFkgfCBFU19OVU1CRVIgfCBOT1QgV1NfQk9SREVSCiAgICBFRElUVEVYVCAgICAgICAgSURDX1BIWVNJQ0FMX01FTU9SWV9BVkFJTEFCTEUsMTg1LDE0MCw0OCw4LEVTX1JJR0hUIHwKICAgICAgICAgICAgICAgICAgICBFU19SRUFET05MWSB8IEVTX05VTUJFUiB8IE5PVCBXU19CT1JERVIKICAgIEVESVRURVhUICAgICAgICBJRENfUEhZU0lDQUxfTUVNT1JZX1NZU1RFTV9DQUNIRSwxODUsMTQ5LDQ4LDgsRVNfUklHSFQgfAogICAgICAgICAgICAgICAgICAgIEVTX1JFQURPTkxZIHwgRVNfTlVNQkVSIHwgTk9UIFdTX0JPUkRFUgogICAgTFRFWFQgICAgICAgICAgICJUb3RhbCIsSURTX0tFUk5FTF9NRU1PUllfVE9UQUwsMTM3LDE3NCwyNyw4CiAgICBMVEVYVCAgICAgICAgICAgIlBhZ2luYWRhIixJRFNfS0VSTkVMX01FTU9SWV9QQUdFRCwxMzcsMTg0LDIxLDgKICAgIExURVhUICAgICAgICAgICAiTuNvIHBhZ2luYWRhIixJRFNfS0VSTkVMX01FTU9SWV9OT05QQUdFRCwxMzcsMTkzLDM0LDgKICAgIEVESVRURVhUICAgICAgICBJRENfS0VSTkVMX01FTU9SWV9UT1RBTCwxODUsMTc0LDQ4LDgsRVNfUklHSFQgfAogICAgICAgICAgICAgICAgICAgIEVTX1JFQURPTkxZIHwgRVNfTlVNQkVSIHwgTk9UIFdTX0JPUkRFUgogICAgRURJVFRFWFQgICAgICAgIElEQ19LRVJORUxfTUVNT1JZX1BBR0VELDE4NSwxODQsNDgsOCxFU19SSUdIVCB8CiAgICAgICAgICAgICAgICAgICAgRVNfUkVBRE9OTFkgfCBFU19OVU1CRVIgfCBOT1QgV1NfQk9SREVSCiAgICBFRElUVEVYVCAgICAgICAgSURDX0tFUk5FTF9NRU1PUllfTk9OUEFHRUQsMTg1LDE5Myw0OCw4LEVTX1JJR0hUIHwKICAgICAgICAgICAgICAgICAgICBFU19SRUFET05MWSB8IEVTX05VTUJFUiB8IE5PVCBXU19CT1JERVIKICAgIEdST1VQQk9YICAgICAgICAiSGlzdPNyaWNvIGRhIHV0aWxpemHn428gZG8gQ1BVIiwgSURDX0NQVV9VU0FHRV9ISVNUT1JZX0ZSQU1FLCA3NCw1LDE2OCw1NCwwLCBXU19FWF9UUkFOU1BBUkVOVAogICAgR1JPVVBCT1ggICAgICAgICJIaXN083JpY28gZGEgVXRpbGl6YefjbyBkZSBNZW3zcmlhIEbtc2ljYSIsIElEQ19NRU1PUllfVVNBR0VfSElTVE9SWV9GUkFNRSw3NCw2MywxNjgsNTQsMCxXU19FWF9UUkFOU1BBUkVOVAogICAgUFVTSEJVVFRPTiAgICAgICJDUFUgVXNhZ2UgRGlzcGxheSIsSURDX0NQVV9VU0FHRV9HUkFQSCwxMiwxNyw0NywzNywwLAoJCSAgICBXU19FWF9DTElFTlRFREdFCiAgICBQVVNIQlVUVE9OICAgICAgIk1FTSBVc2FnZSBEaXNwbGF5IixJRENfTUVNX1VTQUdFX0dSQVBILDEyLDc1LDQ3LDM3LDAsCiAgICAgICAgICAgICAgICAgICAgV1NfRVhfQ0xJRU5URURHRQogICAgUFVTSEJVVFRPTiAgICAgICJDUFUgVXNhZ2UgSGlzdG9yeSIsSURDX0NQVV9VU0FHRV9ISVNUT1JZX0dSQVBILDgxLDE3LAogICAgICAgICAgICAgICAgICAgIDE1MywzNywwLFdTX0VYX0NMSUVOVEVER0UKICAgIFBVU0hCVVRUT04gICAgICAiTUVNIFVzYWdlIEhpc3RvcnkiLElEQ19NRU1fVVNBR0VfSElTVE9SWV9HUkFQSCw4MSw3NSwKICAgICAgICAgICAgICAgICAgICAxNTMsMzcsMCxXU19FWF9DTElFTlRFREdFCkVORAoKSUREX0RFQlVHX0NIQU5ORUxTX0RJQUxPRyBESUFMT0cgRElTQ0FSREFCTEUgIDAsIDAsIDI0NywgMjEwClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIkNhbmFpcyBkZSBkZXB1cmHn428iCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKQkVHSU4KICAgIENPTlRST0wgICAgICAgICAiTGlzdDIiLElEQ19ERUJVR19DSEFOTkVMU19MSVNULCJTeXNMaXN0VmlldzMyIixMVlNfUkVQT1JUIHwKICAgICAgICAgICAgICAgICAgICBMVlNfU0lOR0xFU0VMIHwgTFZTX1NIT1dTRUxBTFdBWVMgfCBXU19CT1JERVIgfCBXU19UQUJTVE9QIHwKCQkgICAgTFZTX1NPUlRBU0NFTkRJTkcsNyw3LDIzMywxNzcKICAgIFBVU0hCVVRUT04gICAgICAiRmVjaGFyIixJRE9LLDE3MSwxODksNjksMTQKRU5ECgpJRERfQUZGSU5JVFlfRElBTE9HIERJQUxPRyBESVNDQVJEQUJMRSAgMCwgMCwgMjMxLCAxNTQKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiQWZpbmlkYWRlIGRvIHByb2Nlc3NhZG9yIgpGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBERUZQVVNIQlVUVE9OICAgIk9LIixJRE9LLDEyMCwxMzMsNTAsMTQKICAgIFBVU0hCVVRUT04gICAgICAiQ2FuY2VsYXIiLElEQ0FOQ0VMLDE3NCwxMzMsNTAsMTQKICAgIExURVhUICAgICAgICAgICAiQSBBZmluaWRhZGUgZG8gUHJvY2Vzc2Fkb3IgY29udHJvbGEgZW0gcXVlIENQVXMgbyBwcm9jZXNzbyDpIHBlcm1pdGlkbyBkZSBleGVjdXRhci4iLAogICAgICAgICAgICAgICAgICAgIElEQ19TVEFUSUMsNSw1LDIyMCwxNgogICAgQ09OVFJPTCAgICAgICAgICJDUFUgMCIsSURDX0NQVTAsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUCwKICAgICAgICAgICAgICAgICAgICAxMSwyOCwzNywxMAogICAgQ09OVFJPTCAgICAgICAgICJDUFUgMSIsSURDX0NQVTEsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfRElTQUJMRUQgfAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsMTEsNDEsMzcsMTAKICAgIENPTlRST0wgICAgICAgICAiQ1BVIDIiLElEQ19DUFUyLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IFdTX0RJU0FCTEVEIHwKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDExLDU0LDM3LDEwCiAgICBDT05UUk9MICAgICAgICAgIkNQVSAzIixJRENfQ1BVMywiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19ESVNBQkxFRCB8CiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCwxMSw2NywzNywxMAogICAgQ09OVFJPTCAgICAgICAgICJDUFUgNCIsSURDX0NQVTQsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfRElTQUJMRUQgfAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsMTEsODAsMzcsMTAKICAgIENPTlRST0wgICAgICAgICAiQ1BVIDUiLElEQ19DUFU1LCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IFdTX0RJU0FCTEVEIHwKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDExLDkzLDM3LDEwCiAgICBDT05UUk9MICAgICAgICAgIkNQVSA2IixJRENfQ1BVNiwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19ESVNBQkxFRCB8CiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCwxMSwxMDYsMzcsMTAKICAgIENPTlRST0wgICAgICAgICAiQ1BVIDciLElEQ19DUFU3LCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IFdTX0RJU0FCTEVEIHwKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDExLDExOSwzNywxMAogICAgQ09OVFJPTCAgICAgICAgICJDUFUgOCIsSURDX0NQVTgsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfRElTQUJMRUQgfAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsNjEsMjgsMzcsMTAKICAgIENPTlRST0wgICAgICAgICAiQ1BVIDkiLElEQ19DUFU5LCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IFdTX0RJU0FCTEVEIHwKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDYxLDQxLDM3LDEwCiAgICBDT05UUk9MICAgICAgICAgIkNQVSAxMCIsSURDX0NQVTEwLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfRElTQUJMRUQgfCBXU19UQUJTVE9QLDYxLDU0LDQxLDEwCiAgICBDT05UUk9MICAgICAgICAgIkNQVSAxMSIsSURDX0NQVTExLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfRElTQUJMRUQgfCBXU19UQUJTVE9QLDYxLDY3LDQxLDEwCiAgICBDT05UUk9MICAgICAgICAgIkNQVSAxMiIsSURDX0NQVTEyLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfRElTQUJMRUQgfCBXU19UQUJTVE9QLDYxLDgwLDQxLDEwCiAgICBDT05UUk9MICAgICAgICAgIkNQVSAxMyIsSURDX0NQVTEzLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfRElTQUJMRUQgfCBXU19UQUJTVE9QLDYxLDkzLDQxLDEwCiAgICBDT05UUk9MICAgICAgICAgIkNQVSAxNCIsSURDX0NQVTE0LCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfRElTQUJMRUQgfCBXU19UQUJTVE9QLDYxLDEwNiw0MSwxMAogICAgQ09OVFJPTCAgICAgICAgICJDUFUgMTUiLElEQ19DUFUxNSwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX0RJU0FCTEVEIHwgV1NfVEFCU1RPUCw2MSwxMTksNDEsMTAKICAgIENPTlRST0wgICAgICAgICAiQ1BVIDE2IixJRENfQ1BVMTYsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19ESVNBQkxFRCB8IFdTX1RBQlNUT1AsMTE2LDI4LDQxLDEwCiAgICBDT05UUk9MICAgICAgICAgIkNQVSAxNyIsSURDX0NQVTE3LCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfRElTQUJMRUQgfCBXU19UQUJTVE9QLDExNiw0MSw0MSwxMAogICAgQ09OVFJPTCAgICAgICAgICJDUFUgMTgiLElEQ19DUFUxOCwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX0RJU0FCTEVEIHwgV1NfVEFCU1RPUCwxMTYsNTQsNDEsMTAKICAgIENPTlRST0wgICAgICAgICAiQ1BVIDE5IixJRENfQ1BVMTksIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19ESVNBQkxFRCB8IFdTX1RBQlNUT1AsMTE2LDY3LDQxLDEwCiAgICBDT05UUk9MICAgICAgICAgIkNQVSAyMCIsSURDX0NQVTIwLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfRElTQUJMRUQgfCBXU19UQUJTVE9QLDExNiw4MCw0MSwxMAogICAgQ09OVFJPTCAgICAgICAgICJDUFUgMjEiLElEQ19DUFUyMSwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX0RJU0FCTEVEIHwgV1NfVEFCU1RPUCwxMTYsOTMsNDEsMTAKICAgIENPTlRST0wgICAgICAgICAiQ1BVIDIyIixJRENfQ1BVMjIsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19ESVNBQkxFRCB8IFdTX1RBQlNUT1AsMTE2LDEwNiw0MSwxMAogICAgQ09OVFJPTCAgICAgICAgICJDUFUgMjMiLElEQ19DUFUyMywiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX0RJU0FCTEVEIHwgV1NfVEFCU1RPUCwxMTYsMTE5LDQxLDEwCiAgICBDT05UUk9MICAgICAgICAgIkNQVSAyNCIsSURDX0NQVTI0LCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfRElTQUJMRUQgfCBXU19UQUJTVE9QLDE3NSwyOCw0MSwxMAogICAgQ09OVFJPTCAgICAgICAgICJDUFUgMjUiLElEQ19DUFUyNSwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX0RJU0FCTEVEIHwgV1NfVEFCU1RPUCwxNzUsNDEsNDEsMTAKICAgIENPTlRST0wgICAgICAgICAiQ1BVIDI2IixJRENfQ1BVMjYsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19ESVNBQkxFRCB8IFdTX1RBQlNUT1AsMTc1LDU0LDQxLDEwCiAgICBDT05UUk9MICAgICAgICAgIkNQVSAyNyIsSURDX0NQVTI3LCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfRElTQUJMRUQgfCBXU19UQUJTVE9QLDE3NSw2Nyw0MSwxMAogICAgQ09OVFJPTCAgICAgICAgICJDUFUgMjgiLElEQ19DUFUyOCwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX0RJU0FCTEVEIHwgV1NfVEFCU1RPUCwxNzUsODAsNDEsMTAKICAgIENPTlRST0wgICAgICAgICAiQ1BVIDI5IixJRENfQ1BVMjksIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19ESVNBQkxFRCB8IFdTX1RBQlNUT1AsMTc1LDkzLDQxLDEwCiAgICBDT05UUk9MICAgICAgICAgIkNQVSAzMCIsSURDX0NQVTMwLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfRElTQUJMRUQgfCBXU19UQUJTVE9QLDE3NSwxMDYsNDEsMTAKICAgIENPTlRST0wgICAgICAgICAiQ1BVIDMxIixJRENfQ1BVMzEsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19ESVNBQkxFRCB8IFdTX1RBQlNUT1AsMTc1LDExOSw0MSwxMApFTkQKCklERF9DT0xVTU5TX0RJQUxPRyBESUFMT0cgRElTQ0FSREFCTEUgIDAsIDAsIDE5NSwgMTk5ClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIlNlbGVjY2lvbmFyIENvbHVuYXMiCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKQkVHSU4KICAgIERFRlBVU0hCVVRUT04gICAiT0siLElET0ssODQsMTc4LDUwLDE0CiAgICBQVVNIQlVUVE9OICAgICAgIkNhbmNlbGFyIixJRENBTkNFTCwxMzgsMTc4LDUwLDE0CiAgICBMVEVYVCAgICAgICAgICAgIlNlbGVjY2lvbmUgYXMgY29sdW5hcyBxdWUgduNvIGFwYXJlY2VyIG5hIHDhZ2luYSBkZSBQcm9jZXNzb3MgZG8gR2VzdG9yIGRlIFRhcmVmYXMuIiwKICAgICAgICAgICAgICAgICAgICBJRENfU1RBVElDLDcsNywxODEsMTcKICAgIENPTlRST0wgICAgICAgICAiJk5vbWUgZGEgSW1hZ2VtIixJRENfSU1BR0VOQU1FLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfRElTQUJMRUQgfCBXU19UQUJTVE9QLDcsMjgsNTYsMTAKICAgIENPTlRST0wgICAgICAgICAiJlBJRCAoSWRlbnRpZmljYWRvciBkbyBQcm9jZXNzbykiLElEQ19QSUQsIkJ1dHRvbiIsCiAgICAgICAgICAgICAgICAgICAgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUCw3LDM5LDg4LDEwCiAgICBDT05UUk9MICAgICAgICAgIiZVdGlsaXph5+NvIGRvIENQVSIsSURDX0NQVVVTQUdFLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCw3LDUwLDUzLDEwCiAgICBDT05UUk9MICAgICAgICAgIiZUZW1wbyBkZSBDUFUiLElEQ19DUFVUSU1FLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCw3LDYxLDQ4LDEwCiAgICBDT05UUk9MICAgICAgICAgIlUmc28gZGUgTWVt83JpYSIsSURDX01FTU9SWVVTQUdFLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCw3LDcyLDYzLDEwCiAgICBDT05UUk9MICAgICAgICAgIiZEZWx0YSBkbyB1c28gZGUgTWVt83JpYSIsSURDX01FTU9SWVVTQUdFREVMVEEsIkJ1dHRvbiIsCiAgICAgICAgICAgICAgICAgICAgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUCw3LDgzLDgyLDEwCiAgICBDT05UUk9MICAgICAgICAgIlAmaWNvIGRvIHVzbyBkZSBNZW3zcmlhIixJRENfUEVBS01FTU9SWVVTQUdFLCJCdXR0b24iLAogICAgICAgICAgICAgICAgICAgIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AsNyw5NCw4MiwxMAogICAgQ09OVFJPTCAgICAgICAgICImRmFsaGFzIGRlIHBhZ2luYefjbyIsSURDX1BBR0VGQVVMVFMsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDcsMTA1LDUzLDEwCiAgICBDT05UUk9MICAgICAgICAgIiZPYmplY3RvcyBkZSBVVElMSVpBRE9SIixJRENfVVNFUk9CSkVDVFMsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDcsMTE2LDYyLDEwCiAgICBDT05UUk9MICAgICAgICAgIiZMZWl0dXJhcyBkZSBFL1MiLElEQ19JT1JFQURTLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCw3LDEyNyw0OSwxMAogICAgQ09OVFJPTCAgICAgICAgICImQnl0ZXMgZGUgTGVpdHVyYSBkZSBFL1MiLElEQ19JT1JFQURCWVRFUywiQnV0dG9uIiwKICAgICAgICAgICAgICAgICAgICBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QLDcsMTM4LDY1LDEwCiAgICBDT05UUk9MICAgICAgICAgIiZJRCBkYSBzZXNz428iLElEQ19TRVNTSU9OSUQsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDcsMTQ5LDUwLDEwCiAgICBDT05UUk9MICAgICAgICAgIiZOb21lIGRlIHV0aWxpemFkb3IiLElEQ19VU0VSTkFNRSwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsNywxNjAsNTEsMTAKICAgIENPTlRST0wgICAgICAgICAiRCZlbHRhIGRlIEZhbGhhcyBkZSBQYWdpbmHn428iLElEQ19QQUdFRkFVTFRTREVMVEEsIkJ1dHRvbiIsCiAgICAgICAgICAgICAgICAgICAgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUCwxMDcsMjgsNzIsMTAKICAgIENPTlRST0wgICAgICAgICAiJlRhbWFuaG8gZGUgTWVt83JpYSBWaXJ0dWFsIixJRENfVklSVFVBTE1FTU9SWVNJWkUsIkJ1dHRvbiIsCiAgICAgICAgICAgICAgICAgICAgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUCwxMDcsMzksNzcsMTAKICAgIENPTlRST0wgICAgICAgICAiJkNvbmp1bnRvIFBhZ2luYWRvIixJRENfUEFHRURQT09MLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCwxMDcsNTAsNTMsMTAKICAgIENPTlRST0wgICAgICAgICAiQ29uanVudG8gTuNvIFBhZ2luYWRvIixJRENfTk9OUEFHRURQT09MLCJCdXR0b24iLAogICAgICAgICAgICAgICAgICAgIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AsMTA3LDYxLDY3LDEwCiAgICBDT05UUk9MICAgICAgICAgIlByaW9yaWRhZGUgJkJhc2UiLElEQ19CQVNFUFJJT1JJVFksIkJ1dHRvbiIsCiAgICAgICAgICAgICAgICAgICAgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUCwxMDcsNzIsNTUsMTAKICAgIENPTlRST0wgICAgICAgICAiJkhhbmRsZSBDb3VudCIsSURDX0hBTkRMRUNPVU5ULCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCwxMDcsODMsNTksMTAKICAgIENPTlRST0wgICAgICAgICAiJlRocmVhZCBDb3VudCIsSURDX1RIUkVBRENPVU5ULCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCwxMDcsOTQsNTksMTAKICAgIENPTlRST0wgICAgICAgICAiT2JqZWN0b3MgR0RJIixJRENfR0RJT0JKRUNUUywiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsMTA3LDEwNSw1NSwxMAogICAgQ09OVFJPTCAgICAgICAgICJFc2NyaXRhcyBkZSBFL1MiLElEQ19JT1dSSVRFUywiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsMTA3LDExNiw0OSwxMAogICAgQ09OVFJPTCAgICAgICAgICJCeXRlcyBkZSBlc2NyaXRhIGRlIEUvUyIsSURDX0lPV1JJVEVCWVRFUywiQnV0dG9uIiwKICAgICAgICAgICAgICAgICAgICBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QLDEwNywxMjcsNjUsMTAKICAgIENPTlRST0wgICAgICAgICAiT3V0cm9zIEUvUyIsSURDX0lPT1RIRVIsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDEwNywxMzgsNDYsMTAKICAgIENPTlRST0wgICAgICAgICAiQnl0ZXMgZGUgb3V0cm9zIEUvUyIsSURDX0lPT1RIRVJCWVRFUywiQnV0dG9uIiwKICAgICAgICAgICAgICAgICAgICBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QLDEwNywxNDksNjUsMTAKRU5ECgovKgogU3RyaW5nIFRhYmxlCiovCgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQpCRUdJTgogICAgSURTX0FQUF9USVRMRSAgICAgICAgICAgIkdlc3RvciBkZSBUYXJlZmFzIgogICAgSURDX1RBU0tNR1IgICAgICAgICAgICAgIkdlc3RvciBkZSBUYXJlZmFzIgogICAgSURTX1JVTkRMR19DQVBUSU9OICAgICAgIkNyaWFyIE5vdmEgVGFyZWZhIgpFTkQKClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCkJFR0lOCiAgICBJRF9GSUxFX05FVyAgICAgICAgICAgICAiRXhlY3V0YSB1bSBub3ZvIHByb2dyYW1hIgogICAgSURfT1BUSU9OU19BTFdBWVNPTlRPUCAgIk8gR2VzdG9yIGRlIFRhcmVmYXMgcGVybWFuZWNlIOAgZnJlbnRlIGRlIHRvZGFzIGFzIG91dHJhcyBqYW5lbGFzIGEgbuNvIHNlciBxdWUgZXN0ZWphIG1pbmltaXphZG8iCiAgICBJRF9PUFRJT05TX01JTklNSVpFT05VU0UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJPIEdlc3RvciBkZSBUYXJlZmFzIOkgbWluaW1pemFkbyBxdWFuZG8gc2UgZWZlY3R1YSB1bWEgb3BlcmHn428gZGUgTXVkYXIgUGFyYSIKICAgIElEX09QVElPTlNfSElERVdIRU5NSU5JTUlaRUQgIkVzY29uZGVyIG8gR2VzdG9yIGRlIFRhcmVmYXMgcXVhbmRvIGVzdOEgbWluaW1pemFkbyIKICAgIElEX1ZJRVdfUkVGUkVTSCAgICAgICAgICJGb3LnYXIgbyBHZXN0b3IgZGUgVGFyZWZhcyBhIGFjdHVhbGl6YXIgYWdvcmEsIGluZGVwZW5kZW50ZW1lbnRlIGRhIHZlbG9jaWRhZGUgZGUgYWN0dWFsaXph5+NvIGRlZmluaWRhLiIKICAgIElEX1ZJRVdfTEFSR0UgICAgICAgICAgICJNb3N0cmEgYXMgdGFyZWZhcyB1c2FuZG8gaWNvbmVzIGdyYW5kZXMiCiAgICBJRF9WSUVXX1NNQUxMICAgICAgICAgICAiTW9zdHJhIGFzIHRhcmVmYXMgdXNhbmRvIGljb25lcyBwZXF1ZW5vcyIKICAgIElEX1ZJRVdfREVUQUlMUyAgICAgICAgICJNb3N0cmEgaW5mb3JtYefjbyBzb2JyZSBjYWRhIHRhcmVmYSIKICAgIElEX1ZJRVdfVVBEQVRFU1BFRURfSElHSCAiQWN0dWFsaXphIG8gZGlzcGxheSBkdWFzIHZlemVzIHBvciBzZWd1bmRvIgogICAgSURfVklFV19VUERBVEVTUEVFRF9OT1JNQUwgIkFjdHVhbGl6YSBvIGRpc3BsYXkgYSBjYWRhIGRvaXMgc2VndW5kb3MiCiAgICBJRF9WSUVXX1VQREFURVNQRUVEX0xPVyAiQWN0dWFsaXphIG8gZGlzcGxheSBhIGNhZGEgcXVhdHJvIHNlZ3VuZG9zIgpFTkQKClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCkJFR0lOCiAgICBJRF9WSUVXX1VQREFURVNQRUVEX1BBVVNFRCAiTuNvIGFjdHVhbGl6YSBhdXRvbWF0aWNhbWVudGUiCiAgICBJRF9XSU5ET1dTX1RJTEVIT1JJWk9OVEFMTFkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJEaXNw9WUgYXMgamFuZWxhcyBlbSBtb3NhaWNvIGhvcml6b250YWwgcGVsbyBkZXNrdG9wIgogICAgSURfV0lORE9XU19USUxFVkVSVElDQUxMWSAiRGlzcPVlIGFzIGphbmVsYXMgZW0gbW9zYWljbyB2ZXJ0aWNhbCBwZWxvIGRlc2t0b3AiCiAgICBJRF9XSU5ET1dTX01JTklNSVpFICAgICAiTWluaW1pemEgYXMgamFuZWxhcyIKICAgIElEX1dJTkRPV1NfTUFYSU1JWkUgICAgICJNYXhpbWl6YSBhcyBqYW5lbGFzIgogICAgSURfV0lORE9XU19DQVNDQURFICAgICAgIkRpc3D1ZSBhcyBqYW5lbGFzIGVtIGNhc2NhdGEgZGlhZ29uYWwgcGVsbyBkZXNrdG9wIgogICAgSURfV0lORE9XU19CUklOR1RPRlJPTlQgIlRyYXogYSBqYW5lbGEgcGFyYSBhIGZyZW50ZSwgbWFzIHNlbSBtdWRhciBwYXJhIGVsYSIKICAgIElEX0hFTFBfVE9QSUNTICAgICAgICAgICJNb3N0cmEgb3MgdPNwaWNvcyBkZSBhanVkYSBkbyBHZXN0b3IgZGUgVGFyZWZhcyIKICAgIElEX0hFTFBfQUJPVVQgICAgICAgICAgICJNb3N0cmEgaW5mb3JtYefjbyBzb2JyZSBvIHByb2dyYW1hLCB2ZXJz428gZSBkaXJlaXRvcyBkZSBhdXRvciIKICAgIElEX0ZJTEVfRVhJVCAgICAgICAgICAgICJTYWkgZG8gR2VzdG9yIGRlIFRhcmVmYXMiCiAgICBJRF9PUFRJT05TX1NIT1cxNkJJVFRBU0tTCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTW9zdHJhIGFzIHRhcmVmYXMgZGUgMTYtYml0cyBubyBudHZkbS5leGUgYXNzb2NpYWRvIgogICAgSURfVklFV19TRUxFQ1RDT0xVTU5TICAgIlNlbGVjY2lvbmEgYXMgY29sdW5hcyBxdWUgc2Vy428gdmlz7XZlaXMgbmEgcOFnaW5hIGRlIHByb2Nlc3NvcyIKICAgIElEX1ZJRVdfU0hPV0tFUk5FTFRJTUVTICJNb3N0cmEgbyB0ZW1wbyBkbyBrZXJuZWwgbm9zIGdy4WZpY29zIGRlIHBlcmZvcm1hbmNlIgogICAgSURfVklFV19DUFVISVNUT1JZX09ORUdSQVBIQUxMCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiVW0g+m5pY28gZ3LhZmljbyBkZSBoaXN083JpY28gbW9zdHJhIG8gdXNvIHRvdGFsIGRvIENQVSIKICAgIElEX1ZJRVdfQ1BVSElTVE9SWV9PTkVHUkFQSFBFUkNQVSAiQ2FkYSBDUFUgdGVtIG8gc2V1IGdy4WZpY28gZGUgaGlzdPNyaWNvIgogICAgSURfQVBQTElDQVRJT05fUEFHRV9TV0lUQ0hUTwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIkNvbG9jYSBhIHRhcmVmYSBubyBmdW5kbyBlIG11ZGEgbyBmb2NvIHBhcmEgZWxhIgpFTkQKClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCkJFR0lOCiAgICBJRF9FTkRUQVNLICAgICAgICAgICAgICAiRGl6IOBzIHRhcmVmYXMgc2VsZWNjaW9uYWRhcyBwYXJhIGZlY2hhciIKICAgIElEX0dPVE9QUk9DRVNTICAgICAgICAgICJNdWRhIG8gZm9jbyBwYXJhIG8gcHJvY2Vzc28gZGEgdGFyZWZhIHNlbGVjY2lvbmFkYSIKICAgIElEX1JFU1RPUkUgICAgICAgICAgICAgICJSZXN0YXVyYSBvIEdlc3RvciBkZSBUYXJlZmFzIGRvIHNldSBlc3RhZG8gb2N1bHRvIgogICAgSURfUFJPQ0VTU19QQUdFX0VORFBST0NFU1MgIlJlbW92ZSBvIHByb2Nlc3NvIGRvIHNpc3RlbWEiCiAgICBJRF9QUk9DRVNTX1BBR0VfRU5EUFJPQ0VTU1RSRUUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJSZW1vdmUgbyBwcm9jZXNzbyBlIG9zIHNldXMgZGVzY2VuZGVudGVzIGRvIHNpc3RlbWEiCiAgICBJRF9QUk9DRVNTX1BBR0VfREVCVUcgICAiSnVudGEgbyBkZXB1cmFkb3IgYSBlc3RlIHByb2Nlc3NvIgogICAgSURfUFJPQ0VTU19QQUdFX1NFVEFGRklOSVRZCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQ29udHJvbGEgZW0gcXVlIHByb2Nlc3NhZG9yZXMgbyBwcm9jZXNzbyBmaWNhcuEgYXV0b3JpemFkbyBhIGNvcnJlciIKICAgIElEX1BST0NFU1NfUEFHRV9TRVRQUklPUklUWV9SRUFMVElNRSAiQ29sb2NhIG8gcHJvY2Vzc28gbmEgY2xhc3NlIGRlIHByaW9yaWRhZGUgZW0gVGVtcG8gUmVhbCIKICAgIElEX1BST0NFU1NfUEFHRV9TRVRQUklPUklUWV9ISUdIICJDb2xvY2EgbyBwcm9jZXNzbyBuYSBjbGFzc2UgZGUgcHJpb3JpZGFkZSBBbHRhIgogICAgSURfUFJPQ0VTU19QQUdFX1NFVFBSSU9SSVRZX0FCT1ZFTk9STUFMCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQ29sb2NhIG8gcHJvY2Vzc28gbmEgY2xhc3NlIGRlIHByaW9yaWRhZGUgQWNpbWEgZG8gTm9ybWFsIgogICAgSURfUFJPQ0VTU19QQUdFX1NFVFBSSU9SSVRZX05PUk1BTAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIkNvbG9jYSBvIHByb2Nlc3NvIG5hIGNsYXNzZSBkZSBwcmlvcmlkYWRlIE5vcm1hbCIKICAgIElEX1BST0NFU1NfUEFHRV9TRVRQUklPUklUWV9CRUxPV05PUk1BTAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIkNvbG9jYSBvIHByb2Nlc3NvIG5hIGNsYXNzZSBkZSBwcmlvcmlkYWRlIEFiYWl4byBkbyBOb3JtYWwiCiAgICBJRF9QUk9DRVNTX1BBR0VfU0VUUFJJT1JJVFlfTE9XICJDb2xvY2EgbyBwcm9jZXNzbyBuYSBjbGFzc2UgZGUgcHJpb3JpZGFkZSBCYWl4YSIKRU5ECg==