LyoKICogIFRhc2sgTWFuYWdlcgogKiAgRHV0Y2ggTGFuZ3VhZ2UgU3VwcG9ydAogKgogKiAgQ29weXJpZ2h0IDIwMDUgSGFucyBMZWlkZWtrZXIKICoKICoKICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgogKiB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICoKICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCiAqIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiAqCiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBCiAqLwoKTEFOR1VBR0UgTEFOR19EVVRDSCwgU1VCTEFOR19ORVVUUkFMCgovKgogTWVudQoqLwoKSURSX1RBU0tNQU5BR0VSIE1FTlUgRElTQ0FSREFCTEUKQkVHSU4KICAgIFBPUFVQICImQmVzdGFuZCIKICAgIEJFR0lOCiAgICAgICAgTUVOVUlURU0gIiZOaWV1d2UgdGFhayAoVWl0dm9lcmVuLi4uKSIsICAgICBJRF9GSUxFX05FVwogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJCJmXraW5kaWcgVGFzayBNYW5hZ2VyIiwgICAgICAgICAgSURfRklMRV9FWElUCiAgICBFTkQKICAgIFBPUFVQICImT3B0aWVzIgogICAgQkVHSU4KICAgICAgICBNRU5VSVRFTSAiJkFsdGlqZCBvcCBkZSB2b29yZ3JvbmQiLCAgICAgICAgICAgICAgSURfT1BUSU9OU19BTFdBWVNPTlRPUAogICAgICAgICwgQ0hFQ0tFRAogICAgICAgIE1FTlVJVEVNICImTWluaW1hbGlzZXJlbiBiaWogZGUgc3RhcnQiLCAgICAgICAgICBJRF9PUFRJT05TX01JTklNSVpFT05VU0UKICAgICAgICAsIENIRUNLRUQKICAgICAgICBNRU5VSVRFTSAiJlZlcmJlcmdlbiwgaW5kaWVuIGdlbWluaW1hbGlzZWVyZCIsICAgSURfT1BUSU9OU19ISURFV0hFTk1JTklNSVpFRAogICAgICAgICwgQ0hFQ0tFRAogICAgICAgIE1FTlVJVEVNICImVG9vbiAxNi1iaXQgdGFrZW4iLCAgICAgICAgICAgICAgICAgICBJRF9PUFRJT05TX1NIT1cxNkJJVFRBU0tTCiAgICAgICAgLCBDSEVDS0VECiAgICBFTkQKICAgIFBPUFVQICImQmVlbGQiCiAgICBCRUdJTgogICAgICAgIE1FTlVJVEVNICJWZXJ2ZXJzICZudSIsICAgICAgICAgICAgICAgICAgICAgSURfVklFV19SRUZSRVNICiAgICAgICAgUE9QVVAgIiZWZXJ2ZXJzaW5nc3RlbXBvIgogICAgICAgIEJFR0lOCiAgICAgICAgICAgIE1FTlVJVEVNICImSG9vZyIsICAgICAgICAgICAgICAgICAgICAgICBJRF9WSUVXX1VQREFURVNQRUVEX0hJR0gKICAgICAgICAgICAgTUVOVUlURU0gIiZOb3JtYWFsIiwgICAgICAgICAgICAgICAgICAgIElEX1ZJRVdfVVBEQVRFU1BFRURfTk9STUFMCiAgICAgICAgICAgICwgQ0hFQ0tFRAogICAgICAgICAgICBNRU5VSVRFTSAiJkxhYWciLCAgICAgICAgICAgICAgICAgICAgICAgSURfVklFV19VUERBVEVTUEVFRF9MT1cKICAgICAgICAgICAgTUVOVUlURU0gIiZQYXVzZSIsICAgICAgICAgICAgICAgICAgICAgIElEX1ZJRVdfVVBEQVRFU1BFRURfUEFVU0VECgogICAgICAgIEVORAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICImR3JvdGUgc3ltYm9sZW4iLCAgICAgICAgIElEX1ZJRVdfTEFSR0UKICAgICAgICBNRU5VSVRFTSAiJktsZWluZSBzeW1ib2xlbiIsICAgICAgICBJRF9WSUVXX1NNQUxMCiAgICAgICAgTUVOVUlURU0gIiZEZXRhaWxzIiwgICAgICAgICAgICAgICAgSURfVklFV19ERVRBSUxTLCBDSEVDS0VECiAgICAgICAgTUVOVUlURU0gIiZTZWxlY3RlZXIgcmlqZW4uLi4iLCAgICAgSURfVklFV19TRUxFQ1RDT0xVTU5TCiAgICAgICAgUE9QVVAgIiZDUFUgaGlzdG9yaWUiCiAgICAgICAgQkVHSU4KICAgICAgICAgICAgTUVOVUlURU0gIiZF6W4gZ3JhZmllaywgYWxsZSBDUFVzIiwgICAgIElEX1ZJRVdfQ1BVSElTVE9SWV9PTkVHUkFQSEFMTAoKICAgICAgICAgICAgTUVOVUlURU0gIkXpbiBncmFmaWVrICZwZXIgQ1BVIiwgICAgICAgIElEX1ZJRVdfQ1BVSElTVE9SWV9PTkVHUkFQSFBFUkNQVQogICAgICAgICAgICAsIENIRUNLRUQKICAgICAgICBFTkQKICAgICAgICBNRU5VSVRFTSAiJlRvb24ga2VybmVsdGlqZGVuIiwgICAgICAgICAgICAgIElEX1ZJRVdfU0hPV0tFUk5FTFRJTUVTCiAgICBFTkQKICAgIFBPUFVQICImVmVuc3RlciIKICAgIEJFR0lOCiAgICAgICAgTUVOVUlURU0gIiZCb3ZlbiBlbGthYXIiLCAgICAgICAgICAgICAgIElEX1dJTkRPV1NfVElMRUhPUklaT05UQUxMWQogICAgICAgIE1FTlVJVEVNICImTmFhc3QgZWxrYWFyIiwgICAgICAgICAgICAgICBJRF9XSU5ET1dTX1RJTEVWRVJUSUNBTExZCiAgICAgICAgTUVOVUlURU0gIiZNaW5pbWFsaXNlcmVuIiwgICAgICAgICAgICAgIElEX1dJTkRPV1NfTUlOSU1JWkUKICAgICAgICBNRU5VSVRFTSAiTWEmeG1pbWFsaXNlcmVuIiwgICAgICAgICAgICAgSURfV0lORE9XU19NQVhJTUlaRQogICAgICAgIE1FTlVJVEVNICImQWNodGVyIGVsa2FhciIsICAgICAgICAgICAgICBJRF9XSU5ET1dTX0NBU0NBREUKICAgICAgICBNRU5VSVRFTSAiTmFhciBkZSAmdm9vcmdyb25kIGhhbGVuIiwgICAgSURfV0lORE9XU19CUklOR1RPRlJPTlQKICAgIEVORAogICAgUE9QVVAgIiZIZWxwIgogICAgQkVHSU4KICAgICAgICBNRU5VSVRFTSAiVGFzayBNYW5hZ2VyICZoZWxwb25kZXJ3ZXJwZW4iLCAgIElEX0hFTFBfVE9QSUNTCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIiZPdmVyIFRhc2sgTWFuYWdlciIsICAgICAgICAgICAgICBJRF9IRUxQX0FCT1VUCiAgICBFTkQKRU5ECgpJRFJfV0lORE9XU01FTlUgTUVOVSBESVNDQVJEQUJMRQpCRUdJTgogICAgTUVOVUlURU0gIiZCb3ZlbiBlbGthYXIiLCAgICAgICAgICAgICAgIElEX1dJTkRPV1NfVElMRUhPUklaT05UQUxMWQogICAgTUVOVUlURU0gIiZOYWFzdCBlbGthYXIiLCAgICAgICAgICAgICAgIElEX1dJTkRPV1NfVElMRVZFUlRJQ0FMTFkKICAgIE1FTlVJVEVNICImTWluaW1hbGlzZXJlbiIsICAgICAgICAgICAgICBJRF9XSU5ET1dTX01JTklNSVpFCiAgICBNRU5VSVRFTSAiTWEmeGltYWxpc2VyZW4iLCAgICAgICAgICAgICAgSURfV0lORE9XU19NQVhJTUlaRQogICAgTUVOVUlURU0gIiZBY2h0ZXIgZWxrYWFyIiwgICAgICAgICAgICAgIElEX1dJTkRPV1NfQ0FTQ0FERQogICAgTUVOVUlURU0gIk5hYXIgZGUgJnZvb3Jncm9uZCBoYWxlbiIsICAgIElEX1dJTkRPV1NfQlJJTkdUT0ZST05UCkVORAoKSURSX0FQUExJQ0FUSU9OX1BBR0VfQ09OVEVYVDEgTUVOVSBESVNDQVJEQUJMRQpCRUdJTgogICAgUE9QVVAgIkRVTU1ZIgogICAgQkVHSU4KICAgICAgICBNRU5VSVRFTSAiJk5pZXV3ZSB0YWFrICh1aXR2b2VyZW4uLi4pIiwgSURfRklMRV9ORVcKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJkdyb3RlIHN5bWJvbGVuIiwgICAgICAgICAgICAgSURfVklFV19MQVJHRQogICAgICAgIE1FTlVJVEVNICImS2xlaW5lIHN5bWJvbGVuIiwgICAgICAgICAgICBJRF9WSUVXX1NNQUxMCiAgICAgICAgTUVOVUlURU0gIiZEZXRhaWxzIiwgICAgICAgICAgICAgICAgICAgIElEX1ZJRVdfREVUQUlMUywgQ0hFQ0tFRAogICAgRU5ECkVORAoKSURSX0FQUExJQ0FUSU9OX1BBR0VfQ09OVEVYVDIgTUVOVSBESVNDQVJEQUJMRQpCRUdJTgogICAgUE9QVVAgIkRVTU1ZIgogICAgQkVHSU4KICAgICAgICBNRU5VSVRFTSAiJldpc3NlbCBuYWFyIiwgICAgICAgICAgICAgICAgSURfQVBQTElDQVRJT05fUEFHRV9TV0lUQ0hUTwogICAgICAgIE1FTlVJVEVNICJOYWFyIGRlICZ2b29yZ3JvbmQgYnJlbmdlbiIsICBJRF9XSU5ET1dTX0JSSU5HVE9GUk9OVAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICImQm92ZW4gZWxrYWFyIiwgICAgICAgICAgICAgICBJRF9XSU5ET1dTX1RJTEVIT1JJWk9OVEFMTFkKICAgICAgICBNRU5VSVRFTSAiJk5hYXN0IGVsa2FhciIsICAgICAgICAgICAgICAgSURfV0lORE9XU19USUxFVkVSVElDQUxMWQogICAgICAgIE1FTlVJVEVNICImTWluaW1hbGlzZXJlbiIsICAgICAgICAgICAgICBJRF9XSU5ET1dTX01JTklNSVpFCiAgICAgICAgTUVOVUlURU0gIk1hJnhpbWFsaXNlcmVuIiwgICAgICAgICAgICAgIElEX1dJTkRPV1NfTUFYSU1JWkUKICAgICAgICBNRU5VSVRFTSAiJkFjaHRlciBlbGthYXIiLCAgICAgICAgICAgICAgSURfV0lORE9XU19DQVNDQURFCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIlRhYWsgJmJl62luZGlnZW4iLCAgICAgICAgICAgIElEX0FQUExJQ0FUSU9OX1BBR0VfRU5EVEFTSwogICAgICAgIE1FTlVJVEVNICImR2EgbmFhciBwcm9jZXMiLCAgICAgICAgICAgICBJRF9BUFBMSUNBVElPTl9QQUdFX0dPVE9QUk9DRVNTCiAgICBFTkQKRU5ECgpJRFJfVFJBWV9QT1BVUCBNRU5VIERJU0NBUkRBQkxFCkJFR0lOCiAgICBQT1BVUCAiRFVNTVkiCiAgICBCRUdJTgogICAgICAgIE1FTlVJVEVNICImSGVyc3RlbGxlbiIsICAgICAgICAgICAgICAgICBJRF9SRVNUT1JFCiAgICAgICAgTUVOVUlURU0gIiZTbHVpdGVuIiwgICAgICAgICAgICAgICAgICAgIElEX0ZJTEVfRVhJVAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICImQWx0aWpkIG9wIGRlIHZvb3Jncm9uZCIsICAgICBJRF9PUFRJT05TX0FMV0FZU09OVE9QLCBDSEVDS0VECiAgICBFTkQKRU5ECgpJRFJfUFJPQ0VTU19QQUdFX0NPTlRFWFQgTUVOVSBESVNDQVJEQUJMRQpCRUdJTgogICAgUE9QVVAgIkRVTU1ZIgogICAgQkVHSU4KICAgICAgICBNRU5VSVRFTSAiUHJvY2VzICZiZetpbmRpZ2VuIiwgICAgICAgICAgICAgIElEX1BST0NFU1NfUEFHRV9FTkRQUk9DRVNTCiAgICAgICAgTUVOVUlURU0gIiZCZetpbmRpZyBwcm9jZXNib29tIiwgICAgICAgICAgICBJRF9QUk9DRVNTX1BBR0VfRU5EUFJPQ0VTU1RSRUUKCiAgICAgICAgTUVOVUlURU0gIiZEZWJ1Z2dlbiIsICAgICAgICAgICAgICAgICAgICAgICBJRF9QUk9DRVNTX1BBR0VfREVCVUcKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBQT1BVUCAiJlByaW9yaXRlaXQgemV0dGVuIgogICAgICAgIEJFR0lOCiAgICAgICAgICAgIE1FTlVJVEVNICImUmVhbHRpbWUiLCAgICAgICAgICAgICAgICAgICBJRF9QUk9DRVNTX1BBR0VfU0VUUFJJT1JJVFlfUkVBTFRJTUUKICAgICAgICAgICAgTUVOVUlURU0gIiZIb29nIiwgICAgICAgICAgICAgICAgICAgICAgIElEX1BST0NFU1NfUEFHRV9TRVRQUklPUklUWV9ISUdICiAgICAgICAgICAgIE1FTlVJVEVNICJIJm9nZXIgZGFuIG5vcm1hYWwiLCAgICAgICAgICBJRF9QUk9DRVNTX1BBR0VfU0VUUFJJT1JJVFlfQUJPVkVOT1JNQUwKICAgICAgICAgICAgTUVOVUlURU0gIiZOb3JtYWFsIiwgICAgICAgICAgICAgICAgICAgIElEX1BST0NFU1NfUEFHRV9TRVRQUklPUklUWV9OT1JNQUwKICAgICAgICAgICAgTUVOVUlURU0gIiZMYWdlciBkYW4gbm9ybWFhbCIsICAgICAgICAgIElEX1BST0NFU1NfUEFHRV9TRVRQUklPUklUWV9CRUxPV05PUk1BTAogICAgICAgICAgICBNRU5VSVRFTSAiTCZhYWciLCAgICAgICAgICAgICAgICAgICAgICAgSURfUFJPQ0VTU19QQUdFX1NFVFBSSU9SSVRZX0xPVwogICAgICAgIEVORAogICAgICAgIE1FTlVJVEVNICImQWZmaW5pdGVpdCBpbnN0ZWxsZW4uLi4iLCAgICAgICAgSURfUFJPQ0VTU19QQUdFX1NFVEFGRklOSVRZCgkgICAgICBNRU5VSVRFTSAiRGVidWcma2FuYWxlbiBpbnN0ZWxsZW4uLi4iLAlJRF9QUk9DRVNTX1BBR0VfREVCVUdDSEFOTkVMUwogICAgRU5ECkVORAoKLyoKIERpYWxvZwoqLwoKSUREX0FCT1VUQk9YIERJQUxPRyBESVNDQVJEQUJMRSAgMjIsIDE3LCAyNTksIDIxMApTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiT3ZlciBUYXNrIE1hbmFnZXIiCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKQkVHSU4KICAgIENPTlRST0wgICAgICAgICAiVGFzayBNYW5hZ2VyIHYxLjBcbkNvcHlyaWdodCAoQykgMTk5OSAtIDIwMDFcbmJ5IEJyaWFuIFBhbG1lciAoYnJpYW5wQHJlYWN0b3Mub3JnKSIsCiAgICAgICAgICAgICAgICAgICAgSURDX1NUQVRJQywiU3RhdGljIixTU19MRUZUTk9XT1JEV1JBUCB8IFdTX0dST1VQLDUzLDI4LAogICAgICAgICAgICAgICAgICAgIDEyMiwyNgogICAgREVGUFVTSEJVVFRPTiAgICJPSyIsSURPSywxODMsMTg5LDQ0LDE0LFdTX0dST1VQCiAgICBJQ09OICAgICAgICAgICAgSURJX1RBU0tNQU5BR0VSLElEQ19TVEFUSUMsMTksMzAsMjAsMjAKICAgIEVESVRURVhUICAgICAgICBJRENfTElDRU5TRV9FRElULDUzLDYzLDE3NCwxMDcsRVNfTVVMVElMSU5FIHwKICAgICAgICAgICAgICAgICAgICBFU19SRUFET05MWSB8IFdTX1ZTQ1JPTEwKRU5ECgpJRERfVEFTS01HUl9ESUFMT0cgRElBTE9HIERJU0NBUkRBQkxFICAwLCAwLCAyNjQsIDI0NgpTVFlMRSBEU19DRU5URVIgfCBXU19NSU5JTUlaRUJPWCB8IFdTX01BWElNSVpFQk9YIHwgV1NfUE9QVVAgfAogICAgV1NfQ0xJUFNJQkxJTkdTIHwgV1NfQ0xJUENISUxEUkVOIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUgfAogICAgV1NfVEhJQ0tGUkFNRQpDQVBUSU9OICJUYXNrIE1hbmFnZXIiCk1FTlUgSURSX1RBU0tNQU5BR0VSCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKQkVHSU4KICAgIENPTlRST0wgICAgICAgICAiVGFiMSIsSURDX1RBQiwiU3lzVGFiQ29udHJvbDMyIixXU19UQUJTVE9QLDMsMywyNTcsMjI4CkVORAoKSUREX0FQUExJQ0FUSU9OX1BBR0UgRElBTE9HIERJU0NBUkRBQkxFICAwLCAwLCAyNDcsIDIxMApTVFlMRSBEU19DT05UUk9MIHwgV1NfQ0hJTEQgfCBXU19DTElQQ0hJTERSRU4KRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogICAgQ09OVFJPTCAgICAgICAgICJMaXN0MiIsSURDX0FQUExJU1QsIlN5c0xpc3RWaWV3MzIiLExWU19SRVBPUlQgfAogICAgICAgICAgICAgICAgICAgIExWU19TSE9XU0VMQUxXQVlTIHwgV1NfQk9SREVSIHwgV1NfVEFCU1RPUCw3LDcsMjMzLDE3NwogICAgUFVTSEJVVFRPTiAgICAgICImTmlldXdlIHRhYWsuLi4iLElEQ19ORVdUQVNLLDE4NywxODksNTMsMTQKICAgIFBVU0hCVVRUT04gICAgICAiJldpc3NlbCBuYWFyIixJRENfU1dJVENIVE8sMTMxLDE4OSw1MywxNCxXU19ESVNBQkxFRAogICAgUFVTSEJVVFRPTiAgICAgICImQmXraW5kaWcgdGFhayIsSURDX0VORFRBU0ssNzUsMTg5LDUzLDE0LFdTX0RJU0FCTEVECkVORAoKSUREX1BST0NFU1NfUEFHRSBESUFMT0cgRElTQ0FSREFCTEUgIDAsIDAsIDI0NywgMjEwClNUWUxFIERTX0NPTlRST0wgfCBXU19DSElMRCB8IFdTX0NMSVBDSElMRFJFTgpGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBDT05UUk9MICAgICAgICAgIkxpc3QyIixJRENfUFJPQ0VTU0xJU1QsIlN5c0xpc3RWaWV3MzIiLExWU19SRVBPUlQgfAogICAgICAgICAgICAgICAgICAgIExWU19TSU5HTEVTRUwgfCBMVlNfU0hPV1NFTEFMV0FZUyB8IExWU19PV05FUkRBVEEgfAogICAgICAgICAgICAgICAgICAgIFdTX0JPUkRFUiB8IFdTX1RBQlNUT1AsNyw3LDIzMywxNzcKICAgIFBVU0hCVVRUT04gICAgICAiJkJl62luZGlnIHByb2NlcyIsSURDX0VORFBST0NFU1MsMTcxLDE4OSw2OSwxNAogICAgQ09OVFJPTCAgICAgICAgICImVG9vbiBwcm9jZXNzZW4gdmFuIGFsbGUgZ2VicnVpa2VycyIsSURDX1NIT1dBTExQUk9DRVNTRVMsCiAgICAgICAgICAgICAgICAgICAgIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUCw3LDE5MSwxMjEsMTAKRU5ECgovKklERF9QRVJGT1JNQU5DRV9QQUdFIERJQUxPR0VYIDAsIDAsIDI0NywgMjEwKi8KSUREX1BFUkZPUk1BTkNFX1BBR0UgRElBTE9HRVggRElTQ0FSREFCTEUgIDAsIDAsIDI0NywgMjEwClNUWUxFIERTX0NPTlRST0wgfCBXU19DSElMRCB8IFdTX0NMSVBDSElMRFJFTgpGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBHUk9VUEJPWCAgICAgICAgIkNQVS1nZWJydWlrIixJRENfQ1BVX1VTQUdFX0ZSQU1FLDUsNSw2MCw1NCxXU19UQUJTVE9QLCBXU19FWF9UUkFOU1BBUkVOVAogICAgR1JPVVBCT1ggICAgICAgICJHZWhldWdlbmdlYnJ1aWsiLElEQ19NRU1fVVNBR0VfRlJBTUUsNSw2Myw2MCw1NCxCU19MRUZUVEVYVCwgV1NfRVhfVFJBTlNQQVJFTlQKICAgIEdST1VQQk9YICAgICAgICAiVG90YWFsIixJRENfVE9UQUxTX0ZSQU1FLDUsMTIyLDExMSwzOSwwLFdTX0VYX1RSQU5TUEFSRU5UCiAgICBHUk9VUEJPWCAgICAgICAgIkNvbW1pdCBDaGFyZ2UgKEspIixJRENfQ09NTUlUX0NIQVJHRV9GUkFNRSw1LDE2NiwxMTEsMzksMCxXU19FWF9UUkFOU1BBUkVOVAogICAgR1JPVVBCT1ggICAgICAgICJGeXNpZWsgZ2VoZXVnZW4gKEspIixJRENfUEhZU0lDQUxfTUVNT1JZX0ZSQU1FLDEzMSwxMjIsMTExLDM5LDAsV1NfRVhfVFJBTlNQQVJFTlQKICAgIEdST1VQQk9YICAgICAgICAiS2VybmVsIGdlaGV1Z2VuIChLKSIsSURDX0tFUk5FTF9NRU1PUllfRlJBTUUsMTMxLDE2NiwxMTEsMzksMCxXU19FWF9UUkFOU1BBUkVOVAogICAgTFRFWFQgICAgICAgICAgICJIYW5kbGVzIixJRFNfVE9UQUxTX0hBTkRMRV9DT1VOVCwxMiwxMzEsMjcsOAogICAgTFRFWFQgICAgICAgICAgICJUaHJlYWRzIixJRFNfVE9UQUxTX1RIUkVBRF9DT1VOVCwxMiwxNDAsMjcsOAogICAgTFRFWFQgICAgICAgICAgICJQcm9jZXNzZW4iLElEU19UT1RBTFNfUFJPQ0VTU19DT1VOVCwxMiwxNDksMzQsOAogICAgRURJVFRFWFQgICAgICAgIElEQ19UT1RBTFNfSEFORExFX0NPVU5ULDY1LDEzMSw0NSw4LEVTX1JJR0hUIHwKICAgICAgICAgICAgICAgICAgICBFU19SRUFET05MWSB8IEVTX05VTUJFUiB8IE5PVCBXU19CT1JERVIKICAgIEVESVRURVhUICAgICAgICBJRENfVE9UQUxTX1RIUkVBRF9DT1VOVCw2NSwxNDAsNDUsOCxFU19SSUdIVCB8CiAgICAgICAgICAgICAgICAgICAgRVNfUkVBRE9OTFkgfCBFU19OVU1CRVIgfCBOT1QgV1NfQk9SREVSCiAgICBFRElUVEVYVCAgICAgICAgSURDX1RPVEFMU19QUk9DRVNTX0NPVU5ULDY1LDE0OSw0NSw4LEVTX1JJR0hUIHwKICAgICAgICAgICAgICAgICAgICBFU19SRUFET05MWSB8IEVTX05VTUJFUiB8IE5PVCBXU19CT1JERVIKICAgIExURVhUICAgICAgICAgICAiVG90YWFsIixJRFNfQ09NTUlUX0NIQVJHRV9UT1RBTCwxMiwxNzUsMzcsOAogICAgTFRFWFQgICAgICAgICAgICJMaW1pZXQiLElEU19DT01NSVRfQ0hBUkdFX0xJTUlULDEyLDE4NCwxNSw4CiAgICBMVEVYVCAgICAgICAgICAgIlBpZWsiLElEU19DT01NSVRfQ0hBUkdFX1BFQUssMTIsMTkzLDM0LDgKICAgIEVESVRURVhUICAgICAgICBJRENfQ09NTUlUX0NIQVJHRV9UT1RBTCw2NSwxNzQsNDUsOCxFU19SSUdIVCB8CiAgICAgICAgICAgICAgICAgICAgRVNfUkVBRE9OTFkgfCBFU19OVU1CRVIgfCBOT1QgV1NfQk9SREVSCiAgICBFRElUVEVYVCAgICAgICAgSURDX0NPTU1JVF9DSEFSR0VfTElNSVQsNjUsMTg0LDQ1LDgsRVNfUklHSFQgfAogICAgICAgICAgICAgICAgICAgIEVTX1JFQURPTkxZIHwgRVNfTlVNQkVSIHwgTk9UIFdTX0JPUkRFUgogICAgRURJVFRFWFQgICAgICAgIElEQ19DT01NSVRfQ0hBUkdFX1BFQUssNjUsMTkzLDQ1LDgsRVNfUklHSFQgfAogICAgICAgICAgICAgICAgICAgIEVTX1JFQURPTkxZIHwgRVNfTlVNQkVSIHwgTk9UIFdTX0JPUkRFUgogICAgTFRFWFQgICAgICAgICAgICJUb3RhYWwiLElEU19QSFlTSUNBTF9NRU1PUllfVE9UQUwsMTM3LDEzMSwzNyw4CiAgICBMVEVYVCAgICAgICAgICAgIkdlbWlkZGVsZCIsSURTX1BIWVNJQ0FMX01FTU9SWV9BVkFJTEFCTEUsMTM3LDE0MCw2MCw4CiAgICBMVEVYVCAgICAgICAgICAgIlN5c3RlZW1jYWNoZSIsSURTX1BIWVNJQ0FMX01FTU9SWV9TWVNURU1fQ0FDSEUsMTM3LDE0OSw0Niw4CiAgICBFRElUVEVYVCAgICAgICAgSURDX1BIWVNJQ0FMX01FTU9SWV9UT1RBTCwxODUsMTMxLDQ4LDgsRVNfUklHSFQgfAogICAgICAgICAgICAgICAgICAgIEVTX1JFQURPTkxZIHwgRVNfTlVNQkVSIHwgTk9UIFdTX0JPUkRFUgogICAgRURJVFRFWFQgICAgICAgIElEQ19QSFlTSUNBTF9NRU1PUllfQVZBSUxBQkxFLDIwNSwxNDAsMjgsOCxFU19SSUdIVCB8CiAgICAgICAgICAgICAgICAgICAgRVNfUkVBRE9OTFkgfCBFU19OVU1CRVIgfCBOT1QgV1NfQk9SREVSCiAgICBFRElUVEVYVCAgICAgICAgSURDX1BIWVNJQ0FMX01FTU9SWV9TWVNURU1fQ0FDSEUsMTg1LDE0OSw0OCw4LEVTX1JJR0hUIHwKICAgICAgICAgICAgICAgICAgICBFU19SRUFET05MWSB8IEVTX05VTUJFUiB8IE5PVCBXU19CT1JERVIKICAgIExURVhUICAgICAgICAgICAiVG90YWFsIixJRFNfS0VSTkVMX01FTU9SWV9UT1RBTCwxMzcsMTc0LDM3LDgKICAgIExURVhUICAgICAgICAgICAiSW4gc3dhcCIsSURTX0tFUk5FTF9NRU1PUllfUEFHRUQsMTM3LDE4NCwyMSw4CiAgICBMVEVYVCAgICAgICAgICAgIk5pZXQgaW4gc3dhcCIsSURTX0tFUk5FTF9NRU1PUllfTk9OUEFHRUQsMTM3LDE5Myw2NCw4CiAgICBFRElUVEVYVCAgICAgICAgSURDX0tFUk5FTF9NRU1PUllfVE9UQUwsMTg1LDE3NCw0OCw4LEVTX1JJR0hUIHwKICAgICAgICAgICAgICAgICAgICBFU19SRUFET05MWSB8IEVTX05VTUJFUiB8IE5PVCBXU19CT1JERVIKICAgIEVESVRURVhUICAgICAgICBJRENfS0VSTkVMX01FTU9SWV9QQUdFRCwxODUsMTg0LDQ4LDgsRVNfUklHSFQgfAogICAgICAgICAgICAgICAgICAgIEVTX1JFQURPTkxZIHwgRVNfTlVNQkVSIHwgTk9UIFdTX0JPUkRFUgogICAgRURJVFRFWFQgICAgICAgIElEQ19LRVJORUxfTUVNT1JZX05PTlBBR0VELDE5NSwxOTMsMzgsOCxFU19SSUdIVCB8CiAgICAgICAgICAgICAgICAgICAgRVNfUkVBRE9OTFkgfCBFU19OVU1CRVIgfCBOT1QgV1NfQk9SREVSCiAgICBHUk9VUEJPWCAgICAgICAgIkhpc3RvcmllIHZhbiBoZXQgQ1BVLWdlYnJ1aWsiLElEQ19DUFVfVVNBR0VfSElTVE9SWV9GUkFNRSw3NCw1LDE2OCw1NCwwLFdTX0VYX1RSQU5TUEFSRU5UCiAgICBHUk9VUEJPWCAgICAgICAgIkhpc3RvcmllIHZhbiBoZXQgZ2VoZXVnZW5nZWJydWlrIixJRENfTUVNT1JZX1VTQUdFX0hJU1RPUllfRlJBTUUsNzQsNjMsMTY4LDU0LDAsV1NfRVhfVFJBTlNQQVJFTlQKICAgIFBVU0hCVVRUT04gICAgICAiQ1BVLWdlYnJ1aWsiLElEQ19DUFVfVVNBR0VfR1JBUEgsMTIsMTcsNDcsMzcsMCwKCQkgICAgV1NfRVhfQ0xJRU5URURHRQogICAgUFVTSEJVVFRPTiAgICAgICJHZWhldWdlbmdlYnJ1aWsiLElEQ19NRU1fVVNBR0VfR1JBUEgsMTIsNzUsNDcsMzcsMCwKICAgICAgICAgICAgICAgICAgICBXU19FWF9DTElFTlRFREdFCiAgICBQVVNIQlVUVE9OICAgICAgIkhpc3RvcmllIHZhbiBoZXQgQ1BVLWdlYnJ1aWsiLElEQ19DUFVfVVNBR0VfSElTVE9SWV9HUkFQSCw4MSwxNywKICAgICAgICAgICAgICAgICAgICAxNTMsMzcsMCxXU19FWF9DTElFTlRFREdFCiAgICBQVVNIQlVUVE9OICAgICAgIkhpc3RvcmllIHZhbiBoZXQgZ2VoZXVnZW5nZWJydWlrIixJRENfTUVNX1VTQUdFX0hJU1RPUllfR1JBUEgsODEsNzUsCiAgICAgICAgICAgICAgICAgICAgMTUzLDM3LDAsV1NfRVhfQ0xJRU5URURHRQpFTkQKCklERF9ERUJVR19DSEFOTkVMU19ESUFMT0cgRElBTE9HIERJU0NBUkRBQkxFICAwLCAwLCAyNDcsIDIxMApTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJEZWJ1Z2thbmFsZW4iCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKQkVHSU4KICAgIENPTlRST0wgICAgICAgICAiTGlzdDIiLElEQ19ERUJVR19DSEFOTkVMU19MSVNULCJTeXNMaXN0VmlldzMyIixMVlNfUkVQT1JUIHwKICAgICAgICAgICAgICAgICAgICBMVlNfU0lOR0xFU0VMIHwgTFZTX1NIT1dTRUxBTFdBWVMgfCBXU19CT1JERVIgfCBXU19UQUJTVE9QIHwKCQkgICAgTFZTX1NPUlRBU0NFTkRJTkcsNyw3LDIzMywxNzcKICAgIFBVU0hCVVRUT04gICAgICAiU2x1aXRlbiIsSURPSywxNzEsMTg5LDY5LDE0CkVORAoKSUREX0FGRklOSVRZX0RJQUxPRyBESUFMT0cgRElTQ0FSREFCTEUgIDAsIDAsIDIzMSwgMTU0ClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIlByb2Nlc3NvcmFmZmluaXRlaXQiCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKQkVHSU4KICAgIERFRlBVU0hCVVRUT04gICAiT0siLElET0ssMTIwLDEzMyw1MCwxNAogICAgUFVTSEJVVFRPTiAgICAgICJBbm51bGVyZW4iLElEQ0FOQ0VMLDE3NCwxMzMsNTAsMTQKICAgIExURVhUICAgICAgICAgICAiRGUgcHJvY2Vzc29yYWZmaW5pdGVpdCByZWdlbHQgb3Agd2Vsa2UgQ1BVJ3MgaGV0IHByb2NlcyB1aXRnZXZvZXJkIG1hZyB3b3JkZW4uIiwKICAgICAgICAgICAgICAgICAgICBJRENfU1RBVElDLDUsNSwyMjAsMTYKICAgIENPTlRST0wgICAgICAgICAiQ1BVIDAiLElEQ19DUFUwLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AsCiAgICAgICAgICAgICAgICAgICAgMTEsMjgsMzcsMTAKICAgIENPTlRST0wgICAgICAgICAiQ1BVIDEiLElEQ19DUFUxLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IFdTX0RJU0FCTEVEIHwKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDExLDQxLDM3LDEwCiAgICBDT05UUk9MICAgICAgICAgIkNQVSAyIixJRENfQ1BVMiwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19ESVNBQkxFRCB8CiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCwxMSw1NCwzNywxMAogICAgQ09OVFJPTCAgICAgICAgICJDUFUgMyIsSURDX0NQVTMsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfRElTQUJMRUQgfAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsMTEsNjcsMzcsMTAKICAgIENPTlRST0wgICAgICAgICAiQ1BVIDQiLElEQ19DUFU0LCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IFdTX0RJU0FCTEVEIHwKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDExLDgwLDM3LDEwCiAgICBDT05UUk9MICAgICAgICAgIkNQVSA1IixJRENfQ1BVNSwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19ESVNBQkxFRCB8CiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCwxMSw5MywzNywxMAogICAgQ09OVFJPTCAgICAgICAgICJDUFUgNiIsSURDX0NQVTYsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfRElTQUJMRUQgfAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsMTEsMTA2LDM3LDEwCiAgICBDT05UUk9MICAgICAgICAgIkNQVSA3IixJRENfQ1BVNywiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19ESVNBQkxFRCB8CiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCwxMSwxMTksMzcsMTAKICAgIENPTlRST0wgICAgICAgICAiQ1BVIDgiLElEQ19DUFU4LCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IFdTX0RJU0FCTEVEIHwKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDYxLDI4LDM3LDEwCiAgICBDT05UUk9MICAgICAgICAgIkNQVSA5IixJRENfQ1BVOSwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19ESVNBQkxFRCB8CiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCw2MSw0MSwzNywxMAogICAgQ09OVFJPTCAgICAgICAgICJDUFUgMTAiLElEQ19DUFUxMCwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX0RJU0FCTEVEIHwgV1NfVEFCU1RPUCw2MSw1NCw0MSwxMAogICAgQ09OVFJPTCAgICAgICAgICJDUFUgMTEiLElEQ19DUFUxMSwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX0RJU0FCTEVEIHwgV1NfVEFCU1RPUCw2MSw2Nyw0MSwxMAogICAgQ09OVFJPTCAgICAgICAgICJDUFUgMTIiLElEQ19DUFUxMiwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX0RJU0FCTEVEIHwgV1NfVEFCU1RPUCw2MSw4MCw0MSwxMAogICAgQ09OVFJPTCAgICAgICAgICJDUFUgMTMiLElEQ19DUFUxMywiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX0RJU0FCTEVEIHwgV1NfVEFCU1RPUCw2MSw5Myw0MSwxMAogICAgQ09OVFJPTCAgICAgICAgICJDUFUgMTQiLElEQ19DUFUxNCwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX0RJU0FCTEVEIHwgV1NfVEFCU1RPUCw2MSwxMDYsNDEsMTAKICAgIENPTlRST0wgICAgICAgICAiQ1BVIDE1IixJRENfQ1BVMTUsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19ESVNBQkxFRCB8IFdTX1RBQlNUT1AsNjEsMTE5LDQxLDEwCiAgICBDT05UUk9MICAgICAgICAgIkNQVSAxNiIsSURDX0NQVTE2LCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfRElTQUJMRUQgfCBXU19UQUJTVE9QLDExNiwyOCw0MSwxMAogICAgQ09OVFJPTCAgICAgICAgICJDUFUgMTciLElEQ19DUFUxNywiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX0RJU0FCTEVEIHwgV1NfVEFCU1RPUCwxMTYsNDEsNDEsMTAKICAgIENPTlRST0wgICAgICAgICAiQ1BVIDE4IixJRENfQ1BVMTgsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19ESVNBQkxFRCB8IFdTX1RBQlNUT1AsMTE2LDU0LDQxLDEwCiAgICBDT05UUk9MICAgICAgICAgIkNQVSAxOSIsSURDX0NQVTE5LCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfRElTQUJMRUQgfCBXU19UQUJTVE9QLDExNiw2Nyw0MSwxMAogICAgQ09OVFJPTCAgICAgICAgICJDUFUgMjAiLElEQ19DUFUyMCwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX0RJU0FCTEVEIHwgV1NfVEFCU1RPUCwxMTYsODAsNDEsMTAKICAgIENPTlRST0wgICAgICAgICAiQ1BVIDIxIixJRENfQ1BVMjEsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19ESVNBQkxFRCB8IFdTX1RBQlNUT1AsMTE2LDkzLDQxLDEwCiAgICBDT05UUk9MICAgICAgICAgIkNQVSAyMiIsSURDX0NQVTIyLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfRElTQUJMRUQgfCBXU19UQUJTVE9QLDExNiwxMDYsNDEsMTAKICAgIENPTlRST0wgICAgICAgICAiQ1BVIDIzIixJRENfQ1BVMjMsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19ESVNBQkxFRCB8IFdTX1RBQlNUT1AsMTE2LDExOSw0MSwxMAogICAgQ09OVFJPTCAgICAgICAgICJDUFUgMjQiLElEQ19DUFUyNCwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX0RJU0FCTEVEIHwgV1NfVEFCU1RPUCwxNzUsMjgsNDEsMTAKICAgIENPTlRST0wgICAgICAgICAiQ1BVIDI1IixJRENfQ1BVMjUsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19ESVNBQkxFRCB8IFdTX1RBQlNUT1AsMTc1LDQxLDQxLDEwCiAgICBDT05UUk9MICAgICAgICAgIkNQVSAyNiIsSURDX0NQVTI2LCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfRElTQUJMRUQgfCBXU19UQUJTVE9QLDE3NSw1NCw0MSwxMAogICAgQ09OVFJPTCAgICAgICAgICJDUFUgMjciLElEQ19DUFUyNywiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX0RJU0FCTEVEIHwgV1NfVEFCU1RPUCwxNzUsNjcsNDEsMTAKICAgIENPTlRST0wgICAgICAgICAiQ1BVIDI4IixJRENfQ1BVMjgsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19ESVNBQkxFRCB8IFdTX1RBQlNUT1AsMTc1LDgwLDQxLDEwCiAgICBDT05UUk9MICAgICAgICAgIkNQVSAyOSIsSURDX0NQVTI5LCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfRElTQUJMRUQgfCBXU19UQUJTVE9QLDE3NSw5Myw0MSwxMAogICAgQ09OVFJPTCAgICAgICAgICJDUFUgMzAiLElEQ19DUFUzMCwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX0RJU0FCTEVEIHwgV1NfVEFCU1RPUCwxNzUsMTA2LDQxLDEwCiAgICBDT05UUk9MICAgICAgICAgIkNQVSAzMSIsSURDX0NQVTMxLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfRElTQUJMRUQgfCBXU19UQUJTVE9QLDE3NSwxMTksNDEsMTAKRU5ECgpJRERfQ09MVU1OU19ESUFMT0cgRElBTE9HIERJU0NBUkRBQkxFICAwLCAwLCAyNDUsIDE5OQpTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJTZWxlY3RlZXIga29sb21tZW4iCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKQkVHSU4KICAgIERFRlBVU0hCVVRUT04gICAiT0siLElET0ssODQsMTc4LDUwLDE0CiAgICBQVVNIQlVUVE9OICAgICAgIkFubnVsZXJlbiIsSURDQU5DRUwsMTM4LDE3OCw1MCwxNAogICAgTFRFWFQgICAgICAgICAgICJTZWxlY3RlZXIgZGUga29sb21tZW4gZGllIG9wIGRlIHByb2Nlc3BhZ2luYSB2YW4gZGUgVGFzayBNYW5hZ2VyIG1vZXRlbiB2ZXJzY2hpam5lbiIsICAgICAKICAgICAgICAgICAgICAgICAgICBJRENfU1RBVElDLDcsNywxODEsMTcKICAgIENPTlRST0wgICAgICAgICAiJk5hYW0iLElEQ19JTUFHRU5BTUUsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19ESVNBQkxFRCB8IFdTX1RBQlNUT1AsNywyOCw1NiwxMAogICAgQ09OVFJPTCAgICAgICAgICImUElEIChQcm9jZXMtSUQpIixJRENfUElELCJCdXR0b24iLAogICAgICAgICAgICAgICAgICAgIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AsNywzOSw4OCwxMAogICAgQ09OVFJPTCAgICAgICAgICImQ1BVLWdlYnJ1aWsiLElEQ19DUFVVU0FHRSwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsNyw1MCw5MCwxMAogICAgQ09OVFJPTCAgICAgICAgICJDUFUtJnRpamQiLElEQ19DUFVUSU1FLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCw3LDYxLDQ4LDEwCiAgICBDT05UUk9MICAgICAgICAgIiZHZWhldWdlbmdlYnJ1aWsiLElEQ19NRU1PUllVU0FHRSwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsNyw3Miw5NSwxMAogICAgQ09OVFJPTCAgICAgICAgICImRGVsdGEgdmFuIGhldCBnZWhldWdlbmdlYnJ1aWsiLElEQ19NRU1PUllVU0FHRURFTFRBLCJCdXR0b24iLAogICAgICAgICAgICAgICAgICAgIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AsNyw4MywxMTUsMTAKICAgIENPTlRST0wgICAgICAgICAiJk1heGltYWxlIGdlaGV1Z2VuZ2VicnVpayIsSURDX1BFQUtNRU1PUllVU0FHRSwiQnV0dG9uIiwKICAgICAgICAgICAgICAgICAgICBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QLDcsOTQsMTE1LDEwCiAgICBDT05UUk9MICAgICAgICAgIlBhZ2UgJmZhdWx0cyIsSURDX1BBR0VGQVVMVFMsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDcsMTA1LDUzLDEwCiAgICBDT05UUk9MICAgICAgICAgIiZVU0VSLW9iamVjdGVuIixJRENfVVNFUk9CSkVDVFMsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDcsMTE2LDkwLDEwCiAgICBDT05UUk9MICAgICAgICAgIkkvTyAoTGV6ZW4pIixJRENfSU9SRUFEUywiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsNywxMjcsNDksMTAKICAgIENPTlRST0wgICAgICAgICAiSS9PIC0gQnl0ZXMgKExlemVuKSIsSURDX0lPUkVBREJZVEVTLCJCdXR0b24iLAogICAgICAgICAgICAgICAgICAgIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AsNywxMzgsNzUsMTAKICAgIENPTlRST0wgICAgICAgICAiJlNlc3Npb24tSUQiLElEQ19TRVNTSU9OSUQsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDcsMTQ5LDUwLDEwCiAgICBDT05UUk9MICAgICAgICAgIkdlYnJ1aWtlcnMmbmFhbSIsSURDX1VTRVJOQU1FLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCw3LDE2MCw4MCwxMAogICAgQ09OVFJPTCAgICAgICAgICJEZWx0YSB2YW4gZGUgJnBhZ2UgZmF1bHRzIixJRENfUEFHRUZBVUxUU0RFTFRBLCJCdXR0b24iLAogICAgICAgICAgICAgICAgICAgIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AsMTMyLDI4LDcyLDEwCiAgICBDT05UUk9MICAgICAgICAgIiZHcm9vdHRlIHZhbiBoZXQgdmlydHVlbGUgZ2VoZXVnZW4iLElEQ19WSVJUVUFMTUVNT1JZU0laRSwiQnV0dG9uIiwKICAgICAgICAgICAgICAgICAgICBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QLDEzMiwzOSwxMDUsMTAKICAgIENPTlRST0wgICAgICAgICAiJlBhZ2VkIFBvb2wiLElEQ19QQUdFRFBPT0wsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDEzMiw1MCw5MCwxMAogICAgQ09OVFJPTCAgICAgICAgICJOb24mcGFnZWQgUG9vbCIsSURDX05PTlBBR0VEUE9PTCwiQnV0dG9uIiwKICAgICAgICAgICAgICAgICAgICBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QLDEzMiw2MSwxMDUsMTAKICAgIENPTlRST0wgICAgICAgICAiQmFzaXNwJnJpb3JpdGVpdCIsSURDX0JBU0VQUklPUklUWSwiQnV0dG9uIiwKICAgICAgICAgICAgICAgICAgICBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QLDEzMiw3Miw1NSwxMAogICAgQ09OVFJPTCAgICAgICAgICJBYW50YWwgJmhhbmRsZXMiLElEQ19IQU5ETEVDT1VOVCwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsMTMyLDgzLDU5LDEwCiAgICBDT05UUk9MICAgICAgICAgIkFhbnRhbCAmdGhyZWFkcyIsSURDX1RIUkVBRENPVU5ULCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCwxMzIsOTQsNTksMTAKICAgIENPTlRST0wgICAgICAgICAiR0RJLW9iamVjdGVuIixJRENfR0RJT0JKRUNUUywiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsMTMyLDEwNSw5MCwxMAogICAgQ09OVFJPTCAgICAgICAgICJJL08gKFNjaHJpanZlbikiLElEQ19JT1dSSVRFUywiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsMTMyLDExNiw5MCwxMAogICAgQ09OVFJPTCAgICAgICAgICJJL08gLSBCeXRlcyAoU2NocmlqdmVuKSIsSURDX0lPV1JJVEVCWVRFUywiQnV0dG9uIiwKICAgICAgICAgICAgICAgICAgICBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QLDEzMiwxMjcsMTA1LDEwCiAgICBDT05UUk9MICAgICAgICAgIkkvTyAoQW5kZXJzKSIsSURDX0lPT1RIRVIsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDEzMiwxMzgsOTAsMTAKICAgIENPTlRST0wgICAgICAgICAiSS9PIC0gQnl0ZXMgKEFuZGVycykiLElEQ19JT09USEVSQllURVMsIkJ1dHRvbiIsCiAgICAgICAgICAgICAgICAgICAgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUCwxMzIsMTQ5LDEwNSwxMApFTkQKCi8qCiBTdHJpbmcgVGFibGUKKi8KClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCkJFR0lOCiAgICBJRFNfQVBQX1RJVExFICAgICAgICAgICAiVGFzayBNYW5hZ2VyIgogICAgSURDX1RBU0tNR1IgICAgICAgICAgICAgIlRhc2sgTWFuYWdlciIKRU5ECgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQpCRUdJTgogICAgSURfRklMRV9ORVcgICAgICAgICAgICAgICAgICAgIlN0YXJ0IGVlbiBuaWV1dyBwcm9ncmFtbWEiCiAgICBJRF9PUFRJT05TX0FMV0FZU09OVE9QICAgICAgICAiRGUgVGFzayBNYW5hZ2VyIGJsaWpmdCBhbHRpamQgbWV0IGFsbGUgdmVuc3RlcnMgb3AgZGUgdm9vcmdyb25kLCB0b3RkYXQgaGlqIGdlbWluaW1hbGlzZWVyZCB3b3JkdCIKICAgIElEX09QVElPTlNfTUlOSU1JWkVPTlVTRSAgICAgICJEZSBUYXNrIE1hbmFnZXIgbWluaW1hbGlzZWVyZCB6aWNoIGFscyBlZW4gJ1dpc3NlbCBuYWFyJyBvcGVyYXRpZSB1aXRnZXZvZXJkIHdvcmR0IgogICAgSURfT1BUSU9OU19ISURFV0hFTk1JTklNSVpFRCAgIlZlcmJlcmcgZGUgVGFzayBNYW5hZ2VyIGFscyBoaWogZ2VtaW5pbWFsaXNlZXJkIGlzIgogICAgSURfVklFV19SRUZSRVNIICAgICAgICAgICAgICAgIkZvcmNlZXIgZWVuIHZlcnZlcnNpbmcsIG9uYWZoYW5rZWxpamsgdmFuIGhldCB2ZXJ2ZXJzaW5nc3RlbXBvIgogICAgSURfVklFV19MQVJHRSAgICAgICAgICAgICAgICAgIlRvb24gdGFrZW4gbWV0IGdyb3RlIHN5bWJvbGVuIgogICAgSURfVklFV19TTUFMTCAgICAgICAgICAgICAgICAgIlRvb24gdGFrZW4gbWV0IGtsZWluZSBzeW1ib2xlbiIKICAgIElEX1ZJRVdfREVUQUlMUyAgICAgICAgICAgICAgICJUb29uIGdlZGV0YWlsbGVlcmRlIGluZm9ybWF0aWUgb3ZlciBpZWRlcmUgdGFhayIKICAgIElEX1ZJRVdfVVBEQVRFU1BFRURfSElHSCAgICAgICJWZXJ2ZXJzIGRlIHdlZXJnYXZlIHR3ZWVtYWFsIHBlciBzZWNvbmRlIgogICAgSURfVklFV19VUERBVEVTUEVFRF9OT1JNQUwgICAgIlZlcnZlcnMgZGUgd2VlcmdhdmUgZWxrZSAyIHNlY29uZGVuIgogICAgSURfVklFV19VUERBVEVTUEVFRF9MT1cgICAgICAgIlZlcnZlcnMgZGUgd2VlcmdhdmUgZWxrZSA0IHNlY29uZGVuIgpFTkQKClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCkJFR0lOCiAgICBJRF9WSUVXX1VQREFURVNQRUVEX1BBVVNFRCAgICAgICAgIk5pZXQgYXV0b21hdGlzY2ggdmVydmVyc2VuIgogICAgSURfV0lORE9XU19USUxFSE9SSVpPTlRBTExZICAgICAgICJQbGFhdHMgZGUgdmVuc3RlcnMgYm92ZW4gZWxrYWFyIG9wIGRlIGRlc2t0b3AiCiAgICBJRF9XSU5ET1dTX1RJTEVWRVJUSUNBTExZICAgICAgICAgIlBsYWF0cyBkZSB2ZW5zdGVycyBuYWFzdCBlbGthYXIgb3AgZGUgZGVza3RvcCIKICAgIElEX1dJTkRPV1NfTUlOSU1JWkUgICAgICAgICAgICAgICAiTWluaW1hbGlzZWVyIGRlIHZlbnN0ZXJzIgogICAgSURfV0lORE9XU19NQVhJTUlaRSAgICAgICAgICAgICAgICJNYXhpbWFsaXNlZXIgZGUgdmVuc3RlcnMiCiAgICBJRF9XSU5ET1dTX0NBU0NBREUgICAgICAgICAgICAgICAgIlBsYWF0cyBkZSB2ZW5zdGVycyBhY2h0ZXIgZWxrYWFyIG9wIGRlIGRlc2t0b3AiCiAgICBJRF9XSU5ET1dTX0JSSU5HVE9GUk9OVCAgICAgICAgICAgIkhhYWwgaGV0IHZlbnN0ZXIgbmFhciBkZSB2b29yZ3JvbmQsIG1hYXIgd2lzc2VsIGVyIG5pZXQgbmFhcnRvZSIKICAgIElEX0hFTFBfVE9QSUNTICAgICAgICAgICAgICAgICAgICAiVG9vbiBkZSBoZWxwb25kZXJ3ZXJwZW4gdmFuIGRlIFRhc2sgTWFuYWdlciIKICAgIElEX0hFTFBfQUJPVVQgICAgICAgICAgICAgICAgICAgICAiVG9vbiBwcm9ncmFtbWFpbmZvcm1hdGllLCB2ZXJzaWVudW1tZXIgZW4gY29weXJpZ2h0IgogICAgSURfRklMRV9FWElUICAgICAgICAgICAgICAgICAgICAgICJCZetpbmRpZyBkZSBUYXNrIE1hbmFnZXIgYXBwbGljYXRpZSIKICAgIElEX09QVElPTlNfU0hPVzE2QklUVEFTS1MgICAgICAgICAiVG9vbiAxNi1iaXQgdGFrZW4gb25kZXIgZGUgYmlqYmVob3JlbmRlIG50dmRtLmV4ZSIKICAgIElEX1ZJRVdfU0VMRUNUQ09MVU1OUyAgICAgICAgICAgICAiU2VsZWN0ZWVyIGRlIGtvbG9tbWVuIGRpZSBvcCBkZSBwcm9jZXNwYWdpbmEgemljaHRiYWFyIG1vZXRlbiB6aWpuIgogICAgSURfVklFV19TSE9XS0VSTkVMVElNRVMgICAgICAgICAgICJUb29uIGRlIGtlcm5lbHRpamRlbiBpbiBwcmVzdGF0aWVncmFmaWVrZW4iCiAgICBJRF9WSUVXX0NQVUhJU1RPUllfT05FR1JBUEhBTEwgICAgIkVlbiBlbmtlbGUgaGlzdG9yaWVncmFmaWVrIHRvb250IGhldCB0b3RhbGUgQ1BVLWdlYnJ1aWsiCiAgICBJRF9WSUVXX0NQVUhJU1RPUllfT05FR1JBUEhQRVJDUFUgIkVsa2UgQ1BVIGhlZWZ0IHppam4gZWlnZW4gaGlzdG9yaWVncmFmaWVrIgogICAgSURfQVBQTElDQVRJT05fUEFHRV9TV0lUQ0hUTyAgICAgICJCcmVuZ3QgZGUgdGFhayBuYWFyIGRlIHZvb3Jncm9uZCBlbiB3aXNzZWx0IGZvY3VzIG5hYXIgZGUgdGFhayIKRU5ECgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQpCRUdJTgogICAgSURfRU5EVEFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJaZWcgZGUgZ2VzZWxlY3RlZXJkZSB0YWtlbiB6aWNoIHRlIGJl62luZGlnZW4iCiAgICBJRF9HT1RPUFJPQ0VTUyAgICAgICAgICAgICAgICAgICAgICAgICAgIldpc3NlbCBkZSBmb2N1cyBuYWFyIGhldCBwcm9jZXMgdmFuIGRlIGdlc2VsZWN0ZWVyZGUgdGFhayIKICAgIElEX1JFU1RPUkUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiSGVyc3RlbCBkZSBUYXNrIE1hbmFnZXIgdmFudWl0IHppam4gdmVyYm9yZ2VuIHN0YXR1cyIKICAgIElEX1BST0NFU1NfUEFHRV9FTkRQUk9DRVNTICAgICAgICAgICAgICAiVmVyd2lqZGVyIGhldCBwcm9jZXMgdmFuIGhldCBzeXN0ZWVtIgogICAgSURfUFJPQ0VTU19QQUdFX0VORFBST0NFU1NUUkVFICAgICAgICAgICJWZXJ3aWpkZXIgaGV0IHByb2NlcyBlbiBhbCB6aWpuIGtpbmRwcm9jZXNzZW4gdmFuIGhldCBzeXN0ZWVtIgogICAgSURfUFJPQ0VTU19QQUdFX0RFQlVHICAgICAgICAgICAgICAgICAgICJWZXJiaW5kIGRlIGRlYnVnZ2VyIG1ldCBkaXQgcHJvY2VzIgogICAgSURfUFJPQ0VTU19QQUdFX1NFVEFGRklOSVRZICAgICAgICAgICAgICJCZXBhYWwgb3Agd2Vsa2UgcHJvY2Vzc29yZW4gZWVuIHByb2NlcyB1aXRnZXZvZXJkIG1hZyB3b3JkZW4iCiAgICBJRF9QUk9DRVNTX1BBR0VfU0VUUFJJT1JJVFlfUkVBTFRJTUUgICAgIlpldCBoZXQgcHJvY2VzIGluIGRlIFJFQUxUSU1FLXByaW9yaXRlaXRza2xhc3NlIgogICAgSURfUFJPQ0VTU19QQUdFX1NFVFBSSU9SSVRZX0hJR0ggICAgICAgICJaZXQgaGV0IHByb2NlcyBpbiBkZSBIT0dFLXByaW9yaXRlaXRza2xhc3NlIgogICAgSURfUFJPQ0VTU19QQUdFX1NFVFBSSU9SSVRZX0FCT1ZFTk9STUFMICJaZXQgaGV0IHByb2NlcyBpbiBkZSBIT0dFUiBEQU4gTk9STUFBTC1wcmlvcml0ZWl0c2tsYXNzZSIKICAgIElEX1BST0NFU1NfUEFHRV9TRVRQUklPUklUWV9OT1JNQUwgICAgICAiWmV0IGhldCBwcm9jZXMgaW4gZGUgTk9STUFBTC1wcmlvcml0ZWl0c2tsYXNzZSIKICAgIElEX1BST0NFU1NfUEFHRV9TRVRQUklPUklUWV9CRUxPV05PUk1BTCAiWmV0IGhldCBwcm9jZXMgaW4gZGUgTEFHRVIgREFOIE5PUk1BQUwtcHJpb3JpdGVpdHNrbGFzc2UiCiAgICBJRF9QUk9DRVNTX1BBR0VfU0VUUFJJT1JJVFlfTE9XICAgICAgICAgIlpldCBoZXQgcHJvY2VzIGluIGRlIExBR0UtcHJpb3JpdGVpdHNrbGFzc2UiCiAgICBJRFNfTElDRU5TRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXHJcblxyXG5UaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cclxuXHJcbllvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLiIKRU5ECg==