LyoKICogIERhbmlzaCByZXNvdXJjZXMgZm9yIFRhc2sgTWFuYWdlcgogKgogKiAgQ29weXJpZ2h0IDIwMDggSmVucyBBbGJyZXRzZW4gPGplbnNAYWxicmV0c2VuLmRrPgogKgogKgogKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCiAqIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogKgogKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKICogTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICoKICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogKiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EKICovCgpMQU5HVUFHRSBMQU5HX0RBTklTSCwgU1VCTEFOR19ERUZBVUxUCgovKgogTWVudQoqLwoKSURSX1RBU0tNQU5BR0VSIE1FTlUgRElTQ0FSREFCTEUKQkVHSU4KICAgIFBPUFVQICImRmlsIgogICAgQkVHSU4KICAgICAgICBNRU5VSVRFTSAiJk55IG9wZ2F2ZSAoS/hyIC4uLikiLCAgICAgICAgSURfRklMRV9ORVcKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJkFmc2x1dCBvcGdhdmViZWhhbmRsZXJlbiIsICAgSURfRklMRV9FWElUCiAgICBFTkQKICAgIFBPUFVQICImSW5kc3RpbGxpbmdlciIKICAgIEJFR0lOCiAgICAgICAgTUVOVUlURU0gIiZBbHRpZCD4dmVyc3QiLCAgICAgICAgICAgICAgIElEX09QVElPTlNfQUxXQVlTT05UT1AKICAgICAgICAsIENIRUNLRUQKICAgICAgICBNRU5VSVRFTSAiJk1pbmlt6XIgdmVkIGJydWciLCAgICAgICAgICAgSURfT1BUSU9OU19NSU5JTUlaRU9OVVNFCiAgICAgICAgLCBDSEVDS0VECiAgICAgICAgTUVOVUlURU0gIlMma2p1bCBu5XIgbWluaW1lcnQiLCAgICAgICAgIElEX09QVElPTlNfSElERVdIRU5NSU5JTUlaRUQKICAgICAgICAsIENIRUNLRUQKICAgICAgICBNRU5VSVRFTSAiVmkmcyAxNi1iaXRzIGpvYiIsICAgICAgICAgICAgSURfT1BUSU9OU19TSE9XMTZCSVRUQVNLUwogICAgICAgICwgQ0hFQ0tFRAogICAgRU5ECiAgICBQT1BVUCAiJlZpcyIKICAgIEJFR0lOCiAgICAgICAgTUVOVUlURU0gIk9wZGF0ZSZyIG51IiwgICAgICAgICAgICAgICAgIElEX1ZJRVdfUkVGUkVTSAogICAgICAgIFBPUFVQICImT3BkYXRlcmluZ3NmcmVrdmVucyIKICAgICAgICBCRUdJTgogICAgICAgICAgICBNRU5VSVRFTSAiJkj4aiIsICAgICAgICAgICAgICAgICAgICBJRF9WSUVXX1VQREFURVNQRUVEX0hJR0gKICAgICAgICAgICAgTUVOVUlURU0gIiZOb3JtYWwiLCAgICAgICAgICAgICAgICAgSURfVklFV19VUERBVEVTUEVFRF9OT1JNQUwKICAgICAgICAgICAgLCBDSEVDS0VECiAgICAgICAgICAgIE1FTlVJVEVNICImTGF2IiwgICAgICAgICAgICAgICAgICAgIElEX1ZJRVdfVVBEQVRFU1BFRURfTE9XCiAgICAgICAgICAgIE1FTlVJVEVNICImUGF1c2UiLCAgICAgICAgICAgICAgICAgIElEX1ZJRVdfVVBEQVRFU1BFRURfUEFVU0VECgogICAgICAgIEVORAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJTJnRvcmUgaWtvbmVyIiwgICAgICAgICAgICAgICBJRF9WSUVXX0xBUkdFCiAgICAgICAgTUVOVUlURU0gIlMmbeUgaWtvbmVyIiwgICAgICAgICAgICAgICAgIElEX1ZJRVdfU01BTEwKICAgICAgICBNRU5VSVRFTSAiJkRldGFsamVyIiwgICAgICAgICAgICAgICAgICAgSURfVklFV19ERVRBSUxTLCBDSEVDS0VECiAgICAgICAgTUVOVUlURU0gIiZW5mxnIGtvbG9ubmVyIC4uLiIsICAgICAgICAgIElEX1ZJRVdfU0VMRUNUQ09MVU1OUwogICAgICAgIFBPUFVQICImUHJvY2Vzc29yaGlzdG9yaWsiCiAgICAgICAgQkVHSU4KICAgICAgICAgICAgTUVOVUlURU0gIkVuIGdyYWYsIGFsbGUgcHImb2Nlc3NvcmVyIixJRF9WSUVXX0NQVUhJU1RPUllfT05FR1JBUEhBTEwKCiAgICAgICAgICAgIE1FTlVJVEVNICJFbiBncmFmICZwZXIgcHJvY2Vzc29yIiwgIElEX1ZJRVdfQ1BVSElTVE9SWV9PTkVHUkFQSFBFUkNQVQogICAgICAgICAgICAsIENIRUNLRUQKICAgICAgICBFTkQKICAgICAgICBNRU5VSVRFTSAiVmkmcyBrZXJuZXRpZGVyIiwgICAgICAgICAgICAgSURfVklFV19TSE9XS0VSTkVMVElNRVMKICAgIEVORAogICAgUE9QVVAgIlZpbiZkdWVyIgogICAgQkVHSU4KICAgICAgICBNRU5VSVRFTSAiT3BzdGlsICZ2YW5kcmV0IiwgICAgICAgICAgICAgSURfV0lORE9XU19USUxFSE9SSVpPTlRBTExZCiAgICAgICAgTUVOVUlURU0gIk9wc3RpbCAmbG9kcmV0IiwgICAgICAgICAgICAgIElEX1dJTkRPV1NfVElMRVZFUlRJQ0FMTFkKICAgICAgICBNRU5VSVRFTSAiJk1pbmlt6XIiLCAgICAgICAgICAgICAgICAgICAgSURfV0lORE9XU19NSU5JTUlaRQogICAgICAgIE1FTlVJVEVNICJNYSZrc2lt6XIiLCAgICAgICAgICAgICAgICAgICBJRF9XSU5ET1dTX01BWElNSVpFCiAgICAgICAgTUVOVUlURU0gIiZLb3J0c3RhayIsICAgICAgICAgICAgICAgICAgIElEX1dJTkRPV1NfQ0FTQ0FERQogICAgICAgIE1FTlVJVEVNICImVmlzIPh2ZXJzdCIsICAgICAgICAgICAgICAgICBJRF9XSU5ET1dTX0JSSU5HVE9GUk9OVAogICAgRU5ECiAgICBQT1BVUCAiJkhq5mxwIgogICAgQkVHSU4KICAgICAgICBNRU5VSVRFTSAiRW1uZXIgaSAmaGrmbHAgZm9yIE9wZ2F2ZWJlaGFuZGxlciIsIElEX0hFTFBfVE9QSUNTCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIiZPbSBPcGdhdmViZWhhbmRsZXIiLCAgICAgICAgIElEX0hFTFBfQUJPVVQKICAgIEVORApFTkQKCklEUl9XSU5ET1dTTUVOVSBNRU5VIERJU0NBUkRBQkxFCkJFR0lOCiAgICBNRU5VSVRFTSAiT3BzdGlsICZ2YW5kcmV0IiwgICAgICAgICAgICAgICAgIElEX1dJTkRPV1NfVElMRUhPUklaT05UQUxMWQogICAgTUVOVUlURU0gIk9wc3RpbCAmbG9kcmV0IiwgICAgICAgICAgICAgICAgICBJRF9XSU5ET1dTX1RJTEVWRVJUSUNBTExZCiAgICBNRU5VSVRFTSAiJk1pbmlt6XIiLCAgICAgICAgICAgICAgICAgICAgICAgIElEX1dJTkRPV1NfTUlOSU1JWkUKICAgIE1FTlVJVEVNICJNYSZrc2lt6XIiLCAgICAgICAgICAgICAgICAgICAgICAgSURfV0lORE9XU19NQVhJTUlaRQogICAgTUVOVUlURU0gIiZLb3J0c3RhayIsICAgICAgICAgICAgICAgICAgICAgICBJRF9XSU5ET1dTX0NBU0NBREUKICAgIE1FTlVJVEVNICJWJmlzIPh2ZXJzdCIsICAgICAgICAgICAgICAgICAgICAgSURfV0lORE9XU19CUklOR1RPRlJPTlQKRU5ECgpJRFJfQVBQTElDQVRJT05fUEFHRV9DT05URVhUMSBNRU5VIERJU0NBUkRBQkxFCkJFR0lOCiAgICBQT1BVUCAiRFVNTVkiCiAgICBCRUdJTgogICAgICAgIE1FTlVJVEVNICImTnkgb3BnYXZlIChL+HIgLi4uKSIsICAgICAgICBJRF9GSUxFX05FVwogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICImU3RvcmUgaWtvbmVyIiwgICAgICAgICAgICAgICBJRF9WSUVXX0xBUkdFCiAgICAgICAgTUVOVUlURU0gIlMmbeUgaWtvbmVyIiwgICAgICAgICAgICAgICAgIElEX1ZJRVdfU01BTEwKICAgICAgICBNRU5VSVRFTSAiJkRldGFsamVyIiwgICAgICAgICAgICAgICAgICAgSURfVklFV19ERVRBSUxTLCBDSEVDS0VECiAgICBFTkQKRU5ECgpJRFJfQVBQTElDQVRJT05fUEFHRV9DT05URVhUMiBNRU5VIERJU0NBUkRBQkxFCkJFR0lOCiAgICBQT1BVUCAiRFVNTVkiCiAgICBCRUdJTgogICAgICAgIE1FTlVJVEVNICJTJmtpZnQgdGlsIiwgICAgICAgICAgICAgICAgICBJRF9BUFBMSUNBVElPTl9QQUdFX1NXSVRDSFRPCiAgICAgICAgTUVOVUlURU0gIlZpcyAm+HZlcnN0IiwgICAgICAgICAgICAgICAgIElEX1dJTkRPV1NfQlJJTkdUT0ZST05UCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIk9wc3RpbCAmdmFuZHJldCIsICAgICAgICAgICAgIElEX1dJTkRPV1NfVElMRUhPUklaT05UQUxMWQogICAgICAgIE1FTlVJVEVNICJPcHN0aWxsICZsb2RyZXQiLCAgICAgICAgICAgICBJRF9XSU5ET1dTX1RJTEVWRVJUSUNBTExZCiAgICAgICAgTUVOVUlURU0gIiZNaW5pbelyIiwgICAgICAgICAgICAgICAgICAgIElEX1dJTkRPV1NfTUlOSU1JWkUKICAgICAgICBNRU5VSVRFTSAiTWEma3NpbelyIiwgICAgICAgICAgICAgICAgICAgSURfV0lORE9XU19NQVhJTUlaRQogICAgICAgIE1FTlVJVEVNICImS29ydHN0YWsiLCAgICAgICAgICAgICAgICAgICBJRF9XSU5ET1dTX0NBU0NBREUKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiQWZzbHV0IG9wZ2F2JmUiLCAgICAgICAgICAgICAgSURfQVBQTElDQVRJT05fUEFHRV9FTkRUQVNLCiAgICAgICAgTUVOVUlURU0gIiZH5SB0aWwgcHJvY2VzcyIsICAgICAgICAgICAgIElEX0FQUExJQ0FUSU9OX1BBR0VfR09UT1BST0NFU1MKICAgIEVORApFTkQKCklEUl9UUkFZX1BPUFVQIE1FTlUgRElTQ0FSREFCTEUKQkVHSU4KICAgIFBPUFVQICJEVU1NWSIKICAgIEJFR0lOCiAgICAgICAgTUVOVUlURU0gIkdlbm9wJnJldCIsICAgICAgICAgICAgICAgICAgIElEX1JFU1RPUkUKICAgICAgICBNRU5VSVRFTSAiQWZzbHUmdCIsICAgICAgICAgICAgICAgICAgICAgSURfRklMRV9FWElUCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIiZBbHRpZCD4dmVyc3QiLCAgICAgICAgICAgICAgIElEX09QVElPTlNfQUxXQVlTT05UT1AKICAgIEVORApFTkQKCklEUl9QUk9DRVNTX1BBR0VfQ09OVEVYVCBNRU5VIERJU0NBUkRBQkxFCkJFR0lOCiAgICBQT1BVUCAiRFVNTVkiCiAgICBCRUdJTgogICAgICAgIE1FTlVJVEVNICJBZnNsdXQgcHJvYyZlc3MiLCAgICAgICAgICAgICAgICAgSURfUFJPQ0VTU19QQUdFX0VORFBST0NFU1MKICAgICAgICBNRU5VSVRFTSAiQWZzbHUmdCBwcm9jZXNzdHLmIiwgICAgICAgICAgICAgIElEX1BST0NFU1NfUEFHRV9FTkRQUk9DRVNTVFJFRQoKICAgICAgICBNRU5VSVRFTSAiJkZlamxz+GciLCAgICAgICAgICAgICAgICAgICAgICAgIElEX1BST0NFU1NfUEFHRV9ERUJVRwogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIFBPUFVQICJBbmdpICZwcmlvcml0ZXQiCiAgICAgICAgQkVHSU4KICAgICAgICAgICAgTUVOVUlURU0gIiZTYW10aWQiLCAgICAgICAgICAgICAgICAgICAgIElEX1BST0NFU1NfUEFHRV9TRVRQUklPUklUWV9SRUFMVElNRQoKICAgICAgICAgICAgTUVOVUlURU0gIiZI+GoiLCAgICAgICAgICAgICAgICAgICAgICAgIElEX1BST0NFU1NfUEFHRV9TRVRQUklPUklUWV9ISUdICgogICAgICAgICAgICBNRU5VSVRFTSAiT3ZlciBub3JtJmFsIiwgICAgICAgICAgICAgICAgSURfUFJPQ0VTU19QQUdFX1NFVFBSSU9SSVRZX0FCT1ZFTk9STUFMCgogICAgICAgICAgICBNRU5VSVRFTSAiJk5vcm1hbCIsICAgICAgICAgICAgICAgICAgICAgSURfUFJPQ0VTU19QQUdFX1NFVFBSSU9SSVRZX05PUk1BTAoKICAgICAgICAgICAgTUVOVUlURU0gIiZVbmRlciBub3JtYWwiLCAgICAgICAgICAgICAgIElEX1BST0NFU1NfUEFHRV9TRVRQUklPUklUWV9CRUxPV05PUk1BTAoKICAgICAgICAgICAgTUVOVUlURU0gIiZMYXYiLCAgICAgICAgICAgICAgICAgICAgICAgIElEX1BST0NFU1NfUEFHRV9TRVRQUklPUklUWV9MT1cKCiAgICAgICAgRU5ECiAgICAgICAgTUVOVUlURU0gIiZBbmdpdiBzbOZndHNrYWIgLi4uIiwgICAgICAgICAgICBJRF9QUk9DRVNTX1BBR0VfU0VUQUZGSU5JVFkKCU1FTlVJVEVNICImUmVkaWdlciBmZWpsc/hnbmluZ3NrYW5hbGVyIC4uLiIsSURfUFJPQ0VTU19QQUdFX0RFQlVHQ0hBTk5FTFMKICAgIEVORApFTkQKCi8qCiBEaWFsb2cKKi8KCklERF9BQk9VVEJPWCBESUFMT0cgRElTQ0FSREFCTEUgIDIyLCAxNywgMjU5LCAyMTAKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIk9tIE9wZ2F2ZWJlaGFuZGxlciIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogICAgQ09OVFJPTCAgICAgICAgICJPcGdhdmViZWhhbmRsZXIgMS4wXG5PcGhhdnNyZXQgMTk5OSAtIDIwMDEgdGlsaPhyZXJcbkJyaWFuIFBhbG1lciAoYnJpYW5wQHJlYWN0b3Mub3JnKVxuT3ZlcnNhdCBhZlxuSmVucyBBbGJyZXRzZW4gKGplbnNAYWxicmV0c2VuLmRrKSIsCiAgICAgICAgICAgICAgICAgICAgSURDX1NUQVRJQywiU3RhdGljIixTU19MRUZUTk9XT1JEV1JBUCB8IFdTX0dST1VQLDUzLDIwLAogICAgICAgICAgICAgICAgICAgIDIwMCw1MAogICAgREVGUFVTSEJVVFRPTiAgICJPSyIsSURPSywxODMsMTg5LDQ0LDE0LFdTX0dST1VQCiAgICBJQ09OICAgICAgICAgICAgSURJX1RBU0tNQU5BR0VSLElEQ19TVEFUSUMsMTksMzAsMjAsMjAKICAgIEVESVRURVhUICAgICAgICBJRENfTElDRU5TRV9FRElULDUzLDYzLDE3NCwxMDcsRVNfTVVMVElMSU5FIHwKICAgICAgICAgICAgICAgICAgICBFU19SRUFET05MWSB8IFdTX1ZTQ1JPTEwKRU5ECgpJRERfVEFTS01HUl9ESUFMT0cgRElBTE9HIERJU0NBUkRBQkxFICAwLCAwLCAyNjQsIDI0NgpTVFlMRSBEU19DRU5URVIgfCBXU19NSU5JTUlaRUJPWCB8IFdTX01BWElNSVpFQk9YIHwgV1NfUE9QVVAgfAogICAgV1NfQ0xJUFNJQkxJTkdTIHwgV1NfQ0xJUENISUxEUkVOIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUgfAogICAgV1NfVEhJQ0tGUkFNRQpDQVBUSU9OICJPcGdhdmViZWhhbmRsZXIiCk1FTlUgSURSX1RBU0tNQU5BR0VSCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKQkVHSU4KICAgIENPTlRST0wgICAgICAgICAiVGFiMSIsSURDX1RBQiwiU3lzVGFiQ29udHJvbDMyIixXU19UQUJTVE9QLDMsMywyNTcsMjI4CkVORAoKSUREX0FQUExJQ0FUSU9OX1BBR0UgRElBTE9HIERJU0NBUkRBQkxFICAwLCAwLCAyNDcsIDIxMApTVFlMRSBEU19DT05UUk9MIHwgV1NfQ0hJTEQgfCBXU19DTElQQ0hJTERSRU4KRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogICAgQ09OVFJPTCAgICAgICAgICJMaXN0MiIsSURDX0FQUExJU1QsIlN5c0xpc3RWaWV3MzIiLExWU19SRVBPUlQgfAogICAgICAgICAgICAgICAgICAgIExWU19TSE9XU0VMQUxXQVlTIHwgV1NfQk9SREVSIHwgV1NfVEFCU1RPUCw3LDcsMjMzLDE3NwogICAgUFVTSEJVVFRPTiAgICAgICImTnkgb3BnYXZlIC4uLiIsSURDX05FV1RBU0ssMTg3LDE4OSw1MywxNAogICAgUFVTSEJVVFRPTiAgICAgICImU2tpZnQgdGlsIixJRENfU1dJVENIVE8sMTMxLDE4OSw1MywxNCxXU19ESVNBQkxFRAogICAgUFVTSEJVVFRPTiAgICAgICJBZnNsdXQgb3BnYXYmZSIsSURDX0VORFRBU0ssNzUsMTg5LDUzLDE0LFdTX0RJU0FCTEVECkVORAoKSUREX1BST0NFU1NfUEFHRSBESUFMT0cgRElTQ0FSREFCTEUgIDAsIDAsIDI0NywgMjEwClNUWUxFIERTX0NPTlRST0wgfCBXU19DSElMRCB8IFdTX0NMSVBDSElMRFJFTgpGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBDT05UUk9MICAgICAgICAgIkxpc3QyIixJRENfUFJPQ0VTU0xJU1QsIlN5c0xpc3RWaWV3MzIiLExWU19SRVBPUlQgfAogICAgICAgICAgICAgICAgICAgIExWU19TSU5HTEVTRUwgfCBMVlNfU0hPV1NFTEFMV0FZUyB8IExWU19PV05FUkRBVEEgfAogICAgICAgICAgICAgICAgICAgIFdTX0JPUkRFUiB8IFdTX1RBQlNUT1AsNyw3LDIzMywxNzcKICAgIFBVU0hCVVRUT04gICAgICAiQWZzbHV0IHByb2MmZXNzIixJRENfRU5EUFJPQ0VTUywxNzEsMTg5LDY5LDE0CiAgICBDT05UUk9MICAgICAgICAgIlZpJnMgcHJvY2Vzc2VyIGZyYSBhbGxlIGJydWdlcmUiLElEQ19TSE9XQUxMUFJPQ0VTU0VTLAogICAgICAgICAgICAgICAgICAgICJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AsNywxOTEsMTExLDEwCkVORAoKLypJRERfUEVSRk9STUFOQ0VfUEFHRSBESUFMT0dFWCAwLCAwLCAyNDcsIDIxMCovCklERF9QRVJGT1JNQU5DRV9QQUdFIERJQUxPR0VYIERJU0NBUkRBQkxFICAwLCAwLCAyNDcsIDIxMApTVFlMRSBEU19DT05UUk9MIHwgV1NfQ0hJTEQgfCBXU19DTElQQ0hJTERSRU4KRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogICAgR1JPVVBCT1ggICAgICAgICJQcm9jZXNzb3JicnVnIixJRENfQ1BVX1VTQUdFX0ZSQU1FLDUsNSw2MCw1NCxXU19UQUJTVE9QLCBXU19FWF9UUkFOU1BBUkVOVAogICAgR1JPVVBCT1ggICAgICAgICJIdWtvbW1lbHNlc2JydWciLElEQ19NRU1fVVNBR0VfRlJBTUUsNSw2Myw2MCw1NCxCU19MRUZUVEVYVCwgV1NfRVhfVFJBTlNQQVJFTlQKICAgIEdST1VQQk9YICAgICAgICAiVG90YWx0IixJRENfVE9UQUxTX0ZSQU1FLDUsMTIyLDExMSwzOSwwLFdTX0VYX1RSQU5TUEFSRU5UCiAgICBHUk9VUEJPWCAgICAgICAgIlZpcnR1ZWwgaHVrb21tZWxzZSAoSykiLElEQ19DT01NSVRfQ0hBUkdFX0ZSQU1FLDUsMTY2LDExMSwzOSwwLFdTX0VYX1RSQU5TUEFSRU5UCiAgICBHUk9VUEJPWCAgICAgICAgIkZ5c2lzayBodWtvbW1lbHNlIChLKSIsSURDX1BIWVNJQ0FMX01FTU9SWV9GUkFNRSwxMzEsMTIyLDExMSwzOSwwLFdTX0VYX1RSQU5TUEFSRU5UCiAgICBHUk9VUEJPWCAgICAgICAgIktlcm5lIGh1a29tbWVsc2UgKEspIixJRENfS0VSTkVMX01FTU9SWV9GUkFNRSwxMzEsMTY2LDExMSwzOSwwLFdTX0VYX1RSQU5TUEFSRU5UCiAgICBMVEVYVCAgICAgICAgICAgIkjlbmR0YWciLElEU19UT1RBTFNfSEFORExFX0NPVU5ULDEyLDEzMSwyNyw4CiAgICBMVEVYVCAgICAgICAgICAgIlRy5WRlIixJRFNfVE9UQUxTX1RIUkVBRF9DT1VOVCwxMiwxNDAsMjcsOAogICAgTFRFWFQgICAgICAgICAgICJQcm9jZXNzZXIiLElEU19UT1RBTFNfUFJPQ0VTU19DT1VOVCwxMiwxNDksMzQsOAogICAgRURJVFRFWFQgICAgICAgIElEQ19UT1RBTFNfSEFORExFX0NPVU5ULDY1LDEzMSw0NSw4LEVTX1JJR0hUIHwKICAgICAgICAgICAgICAgICAgICBFU19SRUFET05MWSB8IEVTX05VTUJFUiB8IE5PVCBXU19CT1JERVIKICAgIEVESVRURVhUICAgICAgICBJRENfVE9UQUxTX1RIUkVBRF9DT1VOVCw2NSwxNDAsNDUsOCxFU19SSUdIVCB8CiAgICAgICAgICAgICAgICAgICAgRVNfUkVBRE9OTFkgfCBFU19OVU1CRVIgfCBOT1QgV1NfQk9SREVSCiAgICBFRElUVEVYVCAgICAgICAgSURDX1RPVEFMU19QUk9DRVNTX0NPVU5ULDY1LDE0OSw0NSw4LEVTX1JJR0hUIHwKICAgICAgICAgICAgICAgICAgICBFU19SRUFET05MWSB8IEVTX05VTUJFUiB8IE5PVCBXU19CT1JERVIKICAgIExURVhUICAgICAgICAgICAiVG90YWx0IixJRFNfQ09NTUlUX0NIQVJHRV9UT1RBTCwxMiwxNzUsMjcsOAogICAgTFRFWFQgICAgICAgICAgICJHcuZuc2UiLElEU19DT01NSVRfQ0hBUkdFX0xJTUlULDEyLDE4NCwyNSw4CiAgICBMVEVYVCAgICAgICAgICAgIlRvcCIsSURTX0NPTU1JVF9DSEFSR0VfUEVBSywxMiwxOTMsMzQsOAogICAgRURJVFRFWFQgICAgICAgIElEQ19DT01NSVRfQ0hBUkdFX1RPVEFMLDY1LDE3NCw0NSw4LEVTX1JJR0hUIHwKICAgICAgICAgICAgICAgICAgICBFU19SRUFET05MWSB8IEVTX05VTUJFUiB8IE5PVCBXU19CT1JERVIKICAgIEVESVRURVhUICAgICAgICBJRENfQ09NTUlUX0NIQVJHRV9MSU1JVCw2NSwxODQsNDUsOCxFU19SSUdIVCB8CiAgICAgICAgICAgICAgICAgICAgRVNfUkVBRE9OTFkgfCBFU19OVU1CRVIgfCBOT1QgV1NfQk9SREVSCiAgICBFRElUVEVYVCAgICAgICAgSURDX0NPTU1JVF9DSEFSR0VfUEVBSyw2NSwxOTMsNDUsOCxFU19SSUdIVCB8CiAgICAgICAgICAgICAgICAgICAgRVNfUkVBRE9OTFkgfCBFU19OVU1CRVIgfCBOT1QgV1NfQk9SREVSCiAgICBMVEVYVCAgICAgICAgICAgIlRvdGFsdCIsSURTX1BIWVNJQ0FMX01FTU9SWV9UT1RBTCwxMzcsMTMxLDI3LDgKICAgIExURVhUICAgICAgICAgICAiVGlsZ+ZuZ2VsaWciLElEU19QSFlTSUNBTF9NRU1PUllfQVZBSUxBQkxFLDEzNywxNDAsMzUsOAogICAgTFRFWFQgICAgICAgICAgICJTeXN0ZW0iLElEU19QSFlTSUNBTF9NRU1PUllfU1lTVEVNX0NBQ0hFLDEzNywxNDksMzUsOAogICAgRURJVFRFWFQgICAgICAgIElEQ19QSFlTSUNBTF9NRU1PUllfVE9UQUwsMTg1LDEzMSw0OCw4LEVTX1JJR0hUIHwKICAgICAgICAgICAgICAgICAgICBFU19SRUFET05MWSB8IEVTX05VTUJFUiB8IE5PVCBXU19CT1JERVIKICAgIEVESVRURVhUICAgICAgICBJRENfUEhZU0lDQUxfTUVNT1JZX0FWQUlMQUJMRSwxODUsMTQwLDQ4LDgsRVNfUklHSFQgfAogICAgICAgICAgICAgICAgICAgIEVTX1JFQURPTkxZIHwgRVNfTlVNQkVSIHwgTk9UIFdTX0JPUkRFUgogICAgRURJVFRFWFQgICAgICAgIElEQ19QSFlTSUNBTF9NRU1PUllfU1lTVEVNX0NBQ0hFLDE4NSwxNDksNDgsOCxFU19SSUdIVCB8CiAgICAgICAgICAgICAgICAgICAgRVNfUkVBRE9OTFkgfCBFU19OVU1CRVIgfCBOT1QgV1NfQk9SREVSCiAgICBMVEVYVCAgICAgICAgICAgIlRvdGFsdCIsSURTX0tFUk5FTF9NRU1PUllfVE9UQUwsMTM3LDE3NCwyNyw4CiAgICBMVEVYVCAgICAgICAgICAgIlBhZ2luZXJldCIsSURTX0tFUk5FTF9NRU1PUllfUEFHRUQsMTM3LDE4NCwzMCw4CiAgICBMVEVYVCAgICAgICAgICAgIklra2UgcGFnaW5lcmV0IixJRFNfS0VSTkVMX01FTU9SWV9OT05QQUdFRCwxMzcsMTkzLDQwLDgKICAgIEVESVRURVhUICAgICAgICBJRENfS0VSTkVMX01FTU9SWV9UT1RBTCwxODUsMTc0LDQ4LDgsRVNfUklHSFQgfAogICAgICAgICAgICAgICAgICAgIEVTX1JFQURPTkxZIHwgRVNfTlVNQkVSIHwgTk9UIFdTX0JPUkRFUgogICAgRURJVFRFWFQgICAgICAgIElEQ19LRVJORUxfTUVNT1JZX1BBR0VELDE4NSwxODQsNDgsOCxFU19SSUdIVCB8CiAgICAgICAgICAgICAgICAgICAgRVNfUkVBRE9OTFkgfCBFU19OVU1CRVIgfCBOT1QgV1NfQk9SREVSCiAgICBFRElUVEVYVCAgICAgICAgSURDX0tFUk5FTF9NRU1PUllfTk9OUEFHRUQsMTg1LDE5Myw0OCw4LEVTX1JJR0hUIHwKICAgICAgICAgICAgICAgICAgICBFU19SRUFET05MWSB8IEVTX05VTUJFUiB8IE5PVCBXU19CT1JERVIKICAgIEdST1VQQk9YICAgICAgICAiSGlzdG9yaWsgZm9yIHByb2Nlc3NvcmJydWciLElEQ19DUFVfVVNBR0VfSElTVE9SWV9GUkFNRSw3NCw1LDE2OCw1NCwwLFdTX0VYX1RSQU5TUEFSRU5UCiAgICBHUk9VUEJPWCAgICAgICAgIkhpc3RvcmlrIGZvciBodWtvbW1lbHNlc2JydWciLElEQ19NRU1PUllfVVNBR0VfSElTVE9SWV9GUkFNRSw3NCw2MywxNjgsNTQsMCxXU19FWF9UUkFOU1BBUkVOVAogICAgUFVTSEJVVFRPTiAgICAgICJWaXNuaW5nIGFmIHByb2Nlc3NvcmJydWciLElEQ19DUFVfVVNBR0VfR1JBUEgsMTIsMTcsNDcsMzcsMCwKCQkgICAgV1NfRVhfQ0xJRU5URURHRQogICAgUFVTSEJVVFRPTiAgICAgICJWaXNuaW5nIGFmIGh1a29tbWVsc2VzYnJ1ZyIsSURDX01FTV9VU0FHRV9HUkFQSCwxMiw3NSw0NywzNywwLAogICAgICAgICAgICAgICAgICAgIFdTX0VYX0NMSUVOVEVER0UKICAgIFBVU0hCVVRUT04gICAgICAiSGlzdG9yaWsgZm9yIHByb2Nlc3NvcmJydWciLElEQ19DUFVfVVNBR0VfSElTVE9SWV9HUkFQSCw4MSwxNywKICAgICAgICAgICAgICAgICAgICAxNTMsMzcsMCxXU19FWF9DTElFTlRFREdFCiAgICBQVVNIQlVUVE9OICAgICAgIkhpc3RvcmlrIGZvciBodWtvbW1lbHNlc2JydWciLElEQ19NRU1fVVNBR0VfSElTVE9SWV9HUkFQSCw4MSw3NSwKICAgICAgICAgICAgICAgICAgICAxNTMsMzcsMCxXU19FWF9DTElFTlRFREdFCkVORAoKSUREX0RFQlVHX0NIQU5ORUxTX0RJQUxPRyBESUFMT0cgRElTQ0FSREFCTEUgIDAsIDAsIDI0NywgMjEwClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIkZlamxz+GduaW5nc2thbmFsZXIiCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKQkVHSU4KICAgIENPTlRST0wgICAgICAgICAiTGlzdDIiLElEQ19ERUJVR19DSEFOTkVMU19MSVNULCJTeXNMaXN0VmlldzMyIixMVlNfUkVQT1JUIHwKICAgICAgICAgICAgICAgICAgICBMVlNfU0lOR0xFU0VMIHwgTFZTX1NIT1dTRUxBTFdBWVMgfCBXU19CT1JERVIgfCBXU19UQUJTVE9QIHwKCQkgICAgTFZTX1NPUlRBU0NFTkRJTkcsNyw3LDIzMywxNzcKICAgIFBVU0hCVVRUT04gICAgICAiTHVrIixJRE9LLDE3MSwxODksNjksMTQKRU5ECgpJRERfQUZGSU5JVFlfRElBTE9HIERJQUxPRyBESVNDQVJEQUJMRSAgMCwgMCwgMjMxLCAxNTQKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiUHJvY2Vzc2zmZ3Rza2FiIgpGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBERUZQVVNIQlVUVE9OICAgIk9LIixJRE9LLDEyMCwxMzMsNTAsMTQKICAgIFBVU0hCVVRUT04gICAgICAiQW5udWxsZXIiLElEQ0FOQ0VMLDE3NCwxMzMsNTAsMTQKICAgIExURVhUICAgICAgICAgICAiSW5kc3RpbGxpbmdlbiBmb3IgcHJvY2Vzc2zmZ3Rza2FiIGJlc3RlbW1lciBodmlsa2UgcHJvY2Vzc29yZXIgcHJvY2Vzc2VuIGthbiBr+HJlIHDlLiIsCiAgICAgICAgICAgICAgICAgICAgSURDX1NUQVRJQyw1LDUsMjIwLDE2CiAgICAgICAgICAgICAgICAgICAgQ09OVFJPTCAgICAgICAgICJQcm9jZXNzb3IgMCIsSURDX0NQVTAsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUCwKICAgICAgICAgICAgICAgICAgICAxMSwyOCwzNywxMAoJCSAgICBDT05UUk9MICAgICAgICAgIlByb2Nlc3NvciAxIixJRENfQ1BVMSwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19ESVNBQkxFRCB8CiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCwxMSw0MSwzNywxMAoJCSAgICBDT05UUk9MICAgICAgICAgIlByb2Nlc3NvciAyIixJRENfQ1BVMiwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19ESVNBQkxFRCB8CiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCwxMSw1NCwzNywxMAoJCSAgICBDT05UUk9MICAgICAgICAgIlByb2Nlc3NvciAzIixJRENfQ1BVMywiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19ESVNBQkxFRCB8CiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCwxMSw2NywzNywxMAoJCSAgICBDT05UUk9MICAgICAgICAgIlByb2Nlc3NvciA0IixJRENfQ1BVNCwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19ESVNBQkxFRCB8CiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCwxMSw4MCwzNywxMAoJCSAgICBDT05UUk9MICAgICAgICAgIlByb2Nlc3NvciA1IixJRENfQ1BVNSwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19ESVNBQkxFRCB8CiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCwxMSw5MywzNywxMAoJCSAgICBDT05UUk9MICAgICAgICAgIlByb2Nlc3NvciA2IixJRENfQ1BVNiwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19ESVNBQkxFRCB8CiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCwxMSwxMDYsMzcsMTAKCQkgICAgQ09OVFJPTCAgICAgICAgICJQcm9jZXNzb3IgNyIsSURDX0NQVTcsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfRElTQUJMRUQgfAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsMTEsMTE5LDM3LDEwCgkJICAgIENPTlRST0wgICAgICAgICAiUHJvY2Vzc29yIDgiLElEQ19DUFU4LCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IFdTX0RJU0FCTEVEIHwKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDYxLDI4LDM3LDEwCgkJICAgIENPTlRST0wgICAgICAgICAiUHJvY2Vzc29yIDkiLElEQ19DUFU5LCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IFdTX0RJU0FCTEVEIHwKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDYxLDQxLDM3LDEwCgkJICAgIENPTlRST0wgICAgICAgICAiUHJvY2Vzc29yIDEwIixJRENfQ1BVMTAsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19ESVNBQkxFRCB8IFdTX1RBQlNUT1AsNjEsNTQsNDEsMTAKCQkgICAgQ09OVFJPTCAgICAgICAgICJQcm9jZXNzb3IgMTEiLElEQ19DUFUxMSwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX0RJU0FCTEVEIHwgV1NfVEFCU1RPUCw2MSw2Nyw0MSwxMAoJCSAgICBDT05UUk9MICAgICAgICAgIlByb2Nlc3NvciAxMiIsSURDX0NQVTEyLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfRElTQUJMRUQgfCBXU19UQUJTVE9QLDYxLDgwLDQxLDEwCgkJICAgIENPTlRST0wgICAgICAgICAiUHJvY2Vzc29yIDEzIixJRENfQ1BVMTMsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19ESVNBQkxFRCB8IFdTX1RBQlNUT1AsNjEsOTMsNDEsMTAKCQkgICAgQ09OVFJPTCAgICAgICAgICJQcm9jZXNzb3IgMTQiLElEQ19DUFUxNCwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX0RJU0FCTEVEIHwgV1NfVEFCU1RPUCw2MSwxMDYsNDEsMTAKCQkgICAgQ09OVFJPTCAgICAgICAgICJQcm9jZXNzb3IgMTUiLElEQ19DUFUxNSwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX0RJU0FCTEVEIHwgV1NfVEFCU1RPUCw2MSwxMTksNDEsMTAKCQkgICAgQ09OVFJPTCAgICAgICAgICJQcm9jZXNzb3IgMTYiLElEQ19DUFUxNiwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX0RJU0FCTEVEIHwgV1NfVEFCU1RPUCwxMTYsMjgsNDEsMTAKCQkgICAgQ09OVFJPTCAgICAgICAgICJQcm9jZXNzb3IgMTciLElEQ19DUFUxNywiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX0RJU0FCTEVEIHwgV1NfVEFCU1RPUCwxMTYsNDEsNDEsMTAKCQkgICAgQ09OVFJPTCAgICAgICAgICJQcm9jZXNzb3IgMTgiLElEQ19DUFUxOCwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX0RJU0FCTEVEIHwgV1NfVEFCU1RPUCwxMTYsNTQsNDEsMTAKCQkgICAgQ09OVFJPTCAgICAgICAgICJQcm9jZXNzb3IgMTkiLElEQ19DUFUxOSwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX0RJU0FCTEVEIHwgV1NfVEFCU1RPUCwxMTYsNjcsNDEsMTAKCQkgICAgQ09OVFJPTCAgICAgICAgICJQcm9jZXNzb3IgMjAiLElEQ19DUFUyMCwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX0RJU0FCTEVEIHwgV1NfVEFCU1RPUCwxMTYsODAsNDEsMTAKCQkgICAgQ09OVFJPTCAgICAgICAgICJQcm9jZXNzb3IgMjEiLElEQ19DUFUyMSwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX0RJU0FCTEVEIHwgV1NfVEFCU1RPUCwxMTYsOTMsNDEsMTAKCQkgICAgQ09OVFJPTCAgICAgICAgICJQcm9jZXNzb3IgMjIiLElEQ19DUFUyMiwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX0RJU0FCTEVEIHwgV1NfVEFCU1RPUCwxMTYsMTA2LDQxLDEwCgkJICAgIENPTlRST0wgICAgICAgICAiUHJvY2Vzc29yIDIzIixJRENfQ1BVMjMsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19ESVNBQkxFRCB8IFdTX1RBQlNUT1AsMTE2LDExOSw0MSwxMAoJCSAgICBDT05UUk9MICAgICAgICAgIlByb2Nlc3NvciAyNCIsSURDX0NQVTI0LCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfRElTQUJMRUQgfCBXU19UQUJTVE9QLDE3NSwyOCw0MSwxMAoJCSAgICBDT05UUk9MICAgICAgICAgIlByb2Nlc3NvciAyNSIsSURDX0NQVTI1LCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfRElTQUJMRUQgfCBXU19UQUJTVE9QLDE3NSw0MSw0MSwxMAoJCSAgICBDT05UUk9MICAgICAgICAgIlByb2Nlc3NvciAyNiIsSURDX0NQVTI2LCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfRElTQUJMRUQgfCBXU19UQUJTVE9QLDE3NSw1NCw0MSwxMAoJCSAgICBDT05UUk9MICAgICAgICAgIlByb2Nlc3NvciAyNyIsSURDX0NQVTI3LCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfRElTQUJMRUQgfCBXU19UQUJTVE9QLDE3NSw2Nyw0MSwxMAoJCSAgICBDT05UUk9MICAgICAgICAgIlByb2Nlc3NvciAyOCIsSURDX0NQVTI4LCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfRElTQUJMRUQgfCBXU19UQUJTVE9QLDE3NSw4MCw0MSwxMAoJCSAgICBDT05UUk9MICAgICAgICAgIlByb2Nlc3NvciAyOSIsSURDX0NQVTI5LCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfRElTQUJMRUQgfCBXU19UQUJTVE9QLDE3NSw5Myw0MSwxMAoJCSAgICBDT05UUk9MICAgICAgICAgIlByb2Nlc3NvciAzMCIsSURDX0NQVTMwLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfRElTQUJMRUQgfCBXU19UQUJTVE9QLDE3NSwxMDYsNDEsMTAKCQkgICAgQ09OVFJPTCAgICAgICAgICJQcm9jZXNzb3IgMzEiLElEQ19DUFUzMSwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX0RJU0FCTEVEIHwgV1NfVEFCU1RPUCwxNzUsMTE5LDQxLDEwCkVORAoKSUREX0NPTFVNTlNfRElBTE9HIERJQUxPRyBESVNDQVJEQUJMRSAgMCwgMCwgMjQwLCAxOTkKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiVuZsZyBrb2xvbm5lciIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogICAgREVGUFVTSEJVVFRPTiAgICJPSyIsSURPSyw4NCwxNzgsNTAsMTQKICAgIFBVU0hCVVRUT04gICAgICAiQW5udWxsZXIiLElEQ0FOQ0VMLDEzOCwxNzgsNTAsMTQKICAgIExURVhUICAgICAgICAgICAiVuZsZyBrb2xvbm5lcm5lIHNvbSB2aXNlcyBw5SBwcm9jZXNzaWRlbiBpIG9wZ2F2ZWJlaGFuZGxlcmVuLiIsCiAgICAgICAgICAgICAgICAgICAgSURDX1NUQVRJQyw3LDcsMTgxLDE3CiAgICBDT05UUk9MICAgICAgICAgIiZQcm9ncmFtbmF2biIsSURDX0lNQUdFTkFNRSwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX0RJU0FCTEVEIHwgV1NfVEFCU1RPUCw3LDI4LDEwMCwxMAogICAgQ09OVFJPTCAgICAgICAgICImUElEIChQcm9jZXNzIElEKSIsSURDX1BJRCwiQnV0dG9uIiwKICAgICAgICAgICAgICAgICAgICBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QLDcsMzksMTAwLDEwCiAgICBDT05UUk9MICAgICAgICAgIiZQcm9jZXNzb3JicnVnIixJRENfQ1BVVVNBR0UsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDcsNTAsMTAwLDEwCiAgICBDT05UUk9MICAgICAgICAgIlByb2MmZXNzb3J0aWQiLElEQ19DUFVUSU1FLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCw3LDYxLDEwMCwxMAogICAgQ09OVFJPTCAgICAgICAgICImSHVrb21tZWxzZXNicnVnIixJRENfTUVNT1JZVVNBR0UsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDcsNzIsMTAwLDEwCiAgICBDT05UUk9MICAgICAgICAgIkh1a29tbWVsc2VzYnJ1Zy0mZGVsdGEiLElEQ19NRU1PUllVU0FHRURFTFRBLCJCdXR0b24iLAogICAgICAgICAgICAgICAgICAgIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AsNyw4MywxMDAsMTAKICAgIENPTlRST0wgICAgICAgICAiSPhqZXN0ZSBIdWtvbW1lbHNlc2JydSZnIixJRENfUEVBS01FTU9SWVVTQUdFLCJCdXR0b24iLAogICAgICAgICAgICAgICAgICAgIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AsNyw5NCwxMDAsMTAKICAgIENPTlRST0wgICAgICAgICAiU2lkZSZmZWpsIixJRENfUEFHRUZBVUxUUywiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsNywxMDUsMTAwLDEwCiAgICBDT05UUk9MICAgICAgICAgIkJyJnVnZXJvYmpla3RlciIsSURDX1VTRVJPQkpFQ1RTLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCw3LDExNiwxMDAsMTAKICAgIENPTlRST0wgICAgICAgICAiSW5kL1VkIGzmc2luZ2VyIixJRENfSU9SRUFEUywiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsNywxMjcsMTAwLDEwCiAgICBDT05UUk9MICAgICAgICAgIkluZC9VZCBs5nN0ZSBieXRlcyIsSURDX0lPUkVBREJZVEVTLCJCdXR0b24iLAogICAgICAgICAgICAgICAgICAgIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AsNywxMzgsMTAwLDEwCiAgICBDT05UUk9MICAgICAgICAgIiZTZXNzaW9uIElEIixJRENfU0VTU0lPTklELCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCw3LDE0OSwxMDAsMTAKICAgIENPTlRST0wgICAgICAgICAiQnJ1Z2VyJm5hdm4iLElEQ19VU0VSTkFNRSwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsNywxNjAsMTAwLDEwCiAgICBDT05UUk9MICAgICAgICAgIlNpZGVmZWpsLWRlbHQmYSIsSURDX1BBR0VGQVVMVFNERUxUQSwiQnV0dG9uIiwKICAgICAgICAgICAgICAgICAgICBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QLDExNywyOCwxMDAsMTAKICAgIENPTlRST0wgICAgICAgICAiU3T4cnJlbHNlIHDlICZ2aXJ0dWVsdCBodWtvbW1lbHNlIixJRENfVklSVFVBTE1FTU9SWVNJWkUsIkJ1dHRvbiIsCiAgICAgICAgICAgICAgICAgICAgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUCwxMTcsMzksMTIwLDEwCiAgICBDT05UUk9MICAgICAgICAgIlBhJmdpbmVyZXQgc2FtbGluZyIsSURDX1BBR0VEUE9PTCwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsMTE3LDUwLDEwMCwxMAogICAgQ09OVFJPTCAgICAgICAgICImSWtrZS1wYWdpbmVyZXQgc2FtbGluZyIsSURDX05PTlBBR0VEUE9PTCwiQnV0dG9uIiwKICAgICAgICAgICAgICAgICAgICBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QLDExNyw2MSwxMDAsMTAKICAgIENPTlRST0wgICAgICAgICAiQmFzaXNwJnJpb3JpdGV0IixJRENfQkFTRVBSSU9SSVRZLCJCdXR0b24iLAogICAgICAgICAgICAgICAgICAgIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AsMTE3LDcyLDEwMCwxMAogICAgQ09OVFJPTCAgICAgICAgICJBbnRhbCAmaOVuZHRhZyIsSURDX0hBTkRMRUNPVU5ULCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCwxMTcsODMsMTAwLDEwCiAgICBDT05UUk9MICAgICAgICAgIkFudGFsICZ0cuVkZSIsSURDX1RIUkVBRENPVU5ULCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCwxMTcsOTQsMTAwLDEwCiAgICBDT05UUk9MICAgICAgICAgIkdESS1vYmpla3RlciIsSURDX0dESU9CSkVDVFMsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDExNywxMDUsMTAwLDEwCiAgICBDT05UUk9MICAgICAgICAgIkluZC9VZC1za3Jpdm5pbmdlciIsSURDX0lPV1JJVEVTLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCwxMTcsMTE2LDEwMCwxMAogICAgQ09OVFJPTCAgICAgICAgICJJbmQvVWQgYnl0ZXMgc2tyZXZldCIsSURDX0lPV1JJVEVCWVRFUywiQnV0dG9uIiwKICAgICAgICAgICAgICAgICAgICBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QLDExNywxMjcsMTAwLDEwCiAgICBDT05UUk9MICAgICAgICAgIkluZC9VZCBhbmRldCIsSURDX0lPT1RIRVIsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDExNywxMzgsMTAwLDEwCiAgICBDT05UUk9MICAgICAgICAgIkluZC9VZCBieXRlcyBhbmRldCIsSURDX0lPT1RIRVJCWVRFUywiQnV0dG9uIiwKICAgICAgICAgICAgICAgICAgICBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QLDExNywxNDksMTAwLDEwCkVORAoKLyoKIFN0cmluZyBUYWJsZQoqLwoKU1RSSU5HVEFCTEUgRElTQ0FSREFCTEUKQkVHSU4KICAgIElEU19BUFBfVElUTEUgICAgICAgICAgICJPcGdhdmViZWhhbmRsZXIiCiAgICBJRENfVEFTS01HUiAgICAgICAgICAgICAiT3BnYXZlYmVoYW5kbGVyIgpFTkQKClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCkJFR0lOCiAgICBJRF9GSUxFX05FVyAgICAgICAgICAgICAiS/hyZXIgZXQgbnl0IHByb2dyYW0iCiAgICBJRF9PUFRJT05TX0FMV0FZU09OVE9QICAiT3BnYXZlYmVoYW5kbGVyZW4gdmlzZXMgZm9yYW4gYW5kcmUgcHJvZ3JhbW1lciBtZWQgbWluZHJlIGRlbiBtaW5pbWVy6XMiCiAgICBJRF9PUFRJT05TX01JTklNSVpFT05VU0UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJPcGdhdmViZWhhbmRsZXIgbWluaW1lculzIG7lciBkdSBza2lmdGVyIHRpbCBlbiBhbmRlbiBwcm9jZXNzIgogICAgSURfT1BUSU9OU19ISURFV0hFTk1JTklNSVpFRCAiU2tqdWwgb3BnYXZlYmVoYW5kbGVyZW4gbuVyIGRlbiBtaW5pbWVy6XMiCiAgICBJRF9WSUVXX1JFRlJFU0ggICAgICAgICAiVHZpbmcgb3BnYXZlYmVoYW5kbGVyZW4gdGlsIGF0IG9wZGF0ZXJlIG51LCB1YW5zZXQgb3BkYXRlcmluZ3NmcmVrdmVucyIKICAgIElEX1ZJRVdfTEFSR0UgICAgICAgICAgICJWaXNlciBvcGdhdmVyIG1lZCBzdG9yZSBpa29uZXIiCiAgICBJRF9WSUVXX1NNQUxMICAgICAgICAgICAiVmlzZXIgb3BnYXZlciBtZWQgc23lIGlrb25lciIKICAgIElEX1ZJRVdfREVUQUlMUyAgICAgICAgICJWaXNlciBpbmZvcm1hdGlvbiBvbSBodmVyIG9wZ2F2ZSIKICAgIElEX1ZJRVdfVVBEQVRFU1BFRURfSElHSCAiT3BkYXRlcmVyIHZpc25pbmdlbiB0byBnYW5nZXIgcGVyIHNla3VuZCIKICAgIElEX1ZJRVdfVVBEQVRFU1BFRURfTk9STUFMICJPcGRhdGVyZXIgdmlzbmluZ2VuIGh2ZXJ0IGFuZGV0IHNla3VuZCIKICAgIElEX1ZJRVdfVVBEQVRFU1BFRURfTE9XICJPcGRhdGVyZXIgdmlzbmluZ2VuIGh2ZXJ0IGZqZXJkZSBzZWt1bmQiCkVORAoKU1RSSU5HVEFCTEUgRElTQ0FSREFCTEUKQkVHSU4KICAgIElEX1ZJRVdfVVBEQVRFU1BFRURfUEFVU0VEICJPcGRhdGVyZXIgaWtrZSBhdXRvbWF0aXNrIgogICAgSURfV0lORE9XU19USUxFSE9SSVpPTlRBTExZCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiU3RpbGxlciB2aW5kdWVybmUgcOUgc2tyaXZlYm9yZGV0IG9wIHZhbmRyZXQgIgogICAgSURfV0lORE9XU19USUxFVkVSVElDQUxMWSAiU3RpbGxlciB2aW5kdWVybmUgcOUgc2tyaXZlYm9yZGV0IG9wIGxvZHJldCAiCiAgICBJRF9XSU5ET1dTX01JTklNSVpFICAgICAiTWluaW1lculyIHZpbmR1ZXJuZSIKICAgIElEX1dJTkRPV1NfTUFYSU1JWkUgICAgICJNYWtzaW1lculyIHZpbmR1ZXJuZSIKICAgIElEX1dJTkRPV1NfQ0FTQ0FERSAgICAgICJWaXNlciB2aW5kdWVybmUgb3ZlbnDlIGhpbmFuZGVuIGRpYWdvbmFsdCBoZW5vdmVyIHNrcml2ZWJvcmRldCIKICAgIElEX1dJTkRPV1NfQlJJTkdUT0ZST05UICJIZW50ZXIgdmluZHVldCBmcmVtLCBtZW4gc+Z0dGVyIGRldCBpa2tlIGkgZm9rdXMiCiAgICBJRF9IRUxQX1RPUElDUyAgICAgICAgICAiVmlzZXIgaGrmbHBlZW1uZXIgb20gb3BnYXZlYmVoYW5kbGVyZW4iCiAgICBJRF9IRUxQX0FCT1VUICAgICAgICAgICAiVmlzZXIgcHJvZ3JhbWluZm9ybWF0aW9uLCB2ZXJzaW9ubnVtbWVyIG9nIG9waGF2c3JldCIKICAgIElEX0ZJTEVfRVhJVCAgICAgICAgICAgICJBZnNsdXR0ZXIgT3BnYXZlYmVoYW5kbGVyZW4iCiAgICBJRF9PUFRJT05TX1NIT1cxNkJJVFRBU0tTCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiVmlzZXIgMTYtYml0cyBwcm9ncmFtbWVyIHVuZGVyICdudHZkbS5leGUnIgogICAgSURfVklFV19TRUxFQ1RDT0xVTU5TICAgIlbmbGdlciBodmlsa2Uga29sb25uZXIgc29tIHZpc2VzIHDlIHByb2Nlc3NpZGVuIgogICAgSURfVklFV19TSE9XS0VSTkVMVElNRVMgIlZpc2VyIGtlcm5ldGlkIGkgeWRlbHNlc2dyYWZlcm5lIgogICAgSURfVklFV19DUFVISVNUT1JZX09ORUdSQVBIQUxMCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiRW4gZW5rZWx0IGhpc3RvcmlrIHZpc2VyIHRvdGFsIHByb2Nlc3NvcmJydWciCiAgICBJRF9WSUVXX0NQVUhJU1RPUllfT05FR1JBUEhQRVJDUFUgIkh2ZXIgcHJvY2Vzc29yIGhhciBzaW4gZWdlbiBncmFmIgogICAgSURfQVBQTElDQVRJT05fUEFHRV9TV0lUQ0hUTwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIkhlbnRlciBlbiBvcGdhdmUgdGlsIGZvcmdydW5kZW4sIG9nIHPmdHRlciBkZW4gaSBmb2t1cyIKRU5ECgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQpCRUdJTgogICAgSURfRU5EVEFTSyAgICAgICAgICAgICAgIkdpdmVyIGRlbiB2YWxndGUgb3BnYXZlIGJlc2tlZCBvbSBhdCBhZnNsdXR0ZSIKICAgIElEX0dPVE9QUk9DRVNTICAgICAgICAgICJTa2lmdGVyIGZva3VzIHRpbCBkZW4gdmFsZ3RlIG9wZ2F2ZXMgcHJvY2VzcyIKICAgIElEX1JFU1RPUkUgICAgICAgICAgICAgICJHZW5vcHJldHRlciBvcGdhdmViZWhhbmRsZXJlbiBmcmEgZGVucyBza2p1bHRlIHN0YXR1cyIKICAgIElEX1BST0NFU1NfUEFHRV9FTkRQUk9DRVNTICJGamVybmVyIHByb2Nlc3NlbiBmcmEgc3lzdGVtZXQiCiAgICBJRF9QUk9DRVNTX1BBR0VfRU5EUFJPQ0VTU1RSRUUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJGamVybmVyIGRlbm5lIHByb2Nlc3Mgb2cgYWxsZSBlZnRlcmtvbW1lcmUgZnJhIHN5c3RlbWV0IgogICAgSURfUFJPQ0VTU19QQUdFX0RFQlVHICAgIlRpbHNsdXR0ZXIgZmVqbHP4Z2VyZW4gdGlsIGRlbm5lIHByb2Nlc3MiCiAgICBJRF9QUk9DRVNTX1BBR0VfU0VUQUZGSU5JVFkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJLb250cm9sbGVyZXIgaHZpbGtlIHByb2Nlc3NvcmVyIHByb2Nlc3NlbiBrYW4ga/hyZSBw5SIKICAgIElEX1BST0NFU1NfUEFHRV9TRVRQUklPUklUWV9SRUFMVElNRQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIlPmdHRlciBwcm9jZXNzZW4gdGlsIHNhbXRpZHNwcmlvcml0ZXQiCiAgICBJRF9QUk9DRVNTX1BBR0VfU0VUUFJJT1JJVFlfSElHSCAiU+Z0dGVyIHByb2Nlc3NlbiB0aWwgaPhqIHByaW9yaXRldCIKICAgIElEX1BST0NFU1NfUEFHRV9TRVRQUklPUklUWV9BQk9WRU5PUk1BTAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIlPmdHRlciBwcm9jZXNzZW4gdGlsIG92ZXIgbm9ybWFsIHByaW9yaXRldCIKICAgIElEX1BST0NFU1NfUEFHRV9TRVRQUklPUklUWV9OT1JNQUwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJT5nR0ZXIgcHJvY2Vzc2VuIHRpbCBub3JtYWwgcHJpb3JpdGV0IgogICAgSURfUFJPQ0VTU19QQUdFX1NFVFBSSU9SSVRZX0JFTE9XTk9STUFMCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiU+Z0dGVyIHByb2Nlc3NlbiB0aWwgdW5kZXIgbm9ybWFsIHByaW9yaXRldCIKICAgIElEX1BST0NFU1NfUEFHRV9TRVRQUklPUklUWV9MT1cgIlPmdHRlciBwcm9jZXNzZW4gdGlsIGxhdiBwcmlvcml0ZXQiCiAgICBJRFNfTElDRU5TRSAgICAgICAgICAgICAiRGV0dGUgcHJvZ3JhbSBlciBmcmkgcHJvZ3JhbXZhcmU7IGR1IGthbiByZWRpc3RyaWJ1ZXJlIGRldCBpIGhlbmhvbGQgdGlsIHZpbGvlcmVuZSBpICdHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UnLCB1ZGdpdmV0IGFmICd0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uJzsgZW50ZW4gdmVyc2lvbiAyLjEgYWYgbGljZW5zZW4sIGVsbGVyIChodmlzIGR1IPhuc2tlcikgZW4gbnllcmUgdmVyc2lvbi5cclxuXHJcbkRldHRlIHByb2dyYW0gZGlzdHJpYnVlcmVzIG1lZCBldCBo5WIgb20gYXQgZGV0IGVyIG55dHRpZ3QsIG1lbiBVREVOIEVOSFZFUiBGT1JNIEZPUiBHQVJBTlRJOyBpa2tlIGVuZ2FuZyBnYXJhbnRpIGZvciBIQU5ERUxTRFlHVElHSEVEIGVsbGVyIEVHTkVUSEVEIEZPUiBFVCBTUEVDSUVMVCBGT1JNxUwuIFNlICdHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UnIGZvciBkZXRhbGplci5cclxuXHJcbkR1IHNrYWwgaGF2ZSBm5WV0IGVuIGtvcGkgYWYgJ0dOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZScgc2FtbWVuIG1lZCBwcm9ncmFtbWV0OyBodmlzIGlra2UsIHNrcml2IHRpbCAndGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3QsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQScuIgpFTkQK