LyoKICogQ29tbW9uIERpYWxvZyBUZXN0IEppZyBFeGVyY2lzZXIKICogUG9ydHVndWVzZSBMYW5ndWFnZSBTdXBwb3J0CiAqCiAqIENvcHlyaWdodCAyMDAzIE1hcmNlbG8gRHVhcnRlCiAqCiAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKICogdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAqCiAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQogKiBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgogKgogKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAqIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKICogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQogKi8KCkxBTkdVQUdFIExBTkdfUE9SVFVHVUVTRSwgU1VCTEFOR19ERUZBVUxUCgpDbWRsZ3RzdE1lbnUgTUVOVQp7CiBQT1BVUCAiJkFycXVpdm8iCiB7CiAgTUVOVUlURU0gIlNhaSZyIiwgQ01fVV9FWElUCiB9CgogUE9QVVAgIiZDb21tZGxnIgogewogIE1FTlVJVEVNICImQWJyaXIiLCBDTV9VX09QRU4KICBNRU5VSVRFTSAiJlNhbHZhciIsIENNX1VfU0FWRQogIE1FTlVJVEVNIFNFUEFSQVRPUgogIE1FTlVJVEVNICImQ29yZXMiLCBDTV9VX0NPTE9SCiAgTUVOVUlURU0gIiZGb250ZSIsIENNX1VfRk9OVAogIE1FTlVJVEVNIFNFUEFSQVRPUgogIE1FTlVJVEVNICImTG9jYWxpemFyIHRleHRvIiwgQ01fVV9GSU5ECiAgTUVOVUlURU0gIiZTdWJzdGl0dWlyIHRleHRvIiwgQ01fVV9SRVBMQUNFCiAgTUVOVUlURU0gU0VQQVJBVE9SCiAgTUVOVUlURU0gIiZJbXByaW1pciIsIENNX1VfUFJJTlQKIH0KCiBQT1BVUCAiRiZsYWdzIgogewogIE1FTlVJVEVNICImQXJxdWl2byIsIENNX0ZfRklMRQogIE1FTlVJVEVNIFNFUEFSQVRPUgogIE1FTlVJVEVNICImQ29yZXMiLCBDTV9GX0NPTE9SCiAgTUVOVUlURU0gIiZGb250ZSIsIENNX0ZfRk9OVAogIE1FTlVJVEVNIFNFUEFSQVRPUgogIE1FTlVJVEVNICImTG9jYWxpemFyL1N1YnN0aXR1aXIiLCBDTV9GX0ZJTkRSRVBMQUNFCiAgTUVOVUlURU0gU0VQQVJBVE9SCiAgTUVOVUlURU0gIiZJbXByaW1pciIsIENNX0ZfUFJJTlQKIH0KCiBQT1BVUCAiQWomdWRhIgogewogIE1FTlVJVEVNICImVXNvIiwgQ01fSF9VU0FHRQogIE1FTlVJVEVNICImU29icmUiLCBDTV9IX0FCT1VUCiB9Cgp9CgoKQ29sb3JfRmxhZ3NfRGlhbG9nIERJQUxPRyAxMSwgMjAsIDIwNywgMTA3ClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX1ZJU0lCTEUgfCBXU19DQVBUSU9OCkNBUFRJT04gIkZsYWdzIGRvIGRp4WxvZGUgZGUgY29yZXMiCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKewogREVGUFVTSEJVVFRPTiAiT0siLCBJRE9LLCAxNDgsIDYsIDUwLCAxNCwgQlNfREVGUFVTSEJVVFRPTiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiQ2FuY2VsYXIiLCBJRENBTkNFTCwgMTQ4LCAyNCwgNTAsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIkFqdWRhIiwgQ01fUl9IRUxQLCAxNDgsIDQyLCA1MCwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIkNDX0VOQUJMRUhPT0siLCBJX0NDX0VOQUJMRUhPT0ssIDEyLCAxMiwgMTIyLCAxMCwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIkNDX0VOQUJMRVRFTVBMQVRFIiwgSV9DQ19FTkFCTEVURU1QTEFURSwgMTIsIDI0LCAxMjIsIDEwLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiQ0NfRU5BQkxFVEVNUExBVEVIQU5ETEUiLCBJX0NDX0VOQUJMRVRFTVBMQVRFSEFORExFLCAxMiwgMzYsIDEyMiwgMTAsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJDQ19GVUxMT1BFTiIsIElfQ0NfRlVMTE9QRU4sIDEyLCA0OCwgMTIyLCAxMCwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIkNDX1BSRVZFTlRGVUxMT1BFTiIsIElfQ0NfUFJFVkVOVEZVTExPUEVOLCAxMiwgNjAsIDEyMiwgMTAsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJDQ19SR0JJTklUIiwgSV9DQ19SR0JJTklULCAxMiwgNzIsIDEyMiwgMTAsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJDQ19TSE9XSEVMUCIsIElfQ0NfU0hPV0hFTFAsIDEyLCA4NCwgMTIyLCAxMCwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUAp9CgoKRm9udF9GbGFnc19EaWFsb2cgRElBTE9HIDksIDIwLCAyMDcsIDMxMwpTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19WSVNJQkxFIHwgV1NfQ0FQVElPTgpDQVBUSU9OICJGbGFncyBkbyBkaeFsb2dvIGRlIGZvbnRlcyIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgp7CiBERUZQVVNIQlVUVE9OICJPSyIsIElET0ssIDE0OCwgNiwgNTAsIDE0CiBQVVNIQlVUVE9OICJDYW5jZWxhciIsIElEQ0FOQ0VMLCAxNDgsIDI0LCA1MCwgMTQKIFBVU0hCVVRUT04gIkFqdWRhIiwgQ01fUl9IRUxQLCAxNDgsIDQyLCA1MCwgMTQKIENIRUNLQk9YICJDRl9BUFBMWSIsIElfQ0ZfQVBQTFksIDEyLCAxMiwgMTIwLCAxMCwgQlNfQVVUT0NIRUNLQk9YICB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJDRl9BTlNJT05MWSIsIElfQ0ZfQU5TSU9OTFksIDEyLCAyNCwgMTIwLCAxMCwgQlNfQVVUT0NIRUNLQk9YICB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJDRl9CT1RIIiwgSV9DRl9CT1RILCAxMiwgMzYsIDEyMCwgMTAsIEJTX0FVVE9DSEVDS0JPWCAgfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiQ0ZfVFRPTkxZIiwgSV9DRl9UVE9OTFksIDEyLCA0OCwgMTIwLCAxMCwgQlNfQVVUT0NIRUNLQk9YICB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJDRl9FRkZFQ1RTIiwgSV9DRl9FRkZFQ1RTLCAxMiwgNjAsIDEyMCwgMTAsIEJTX0FVVE9DSEVDS0JPWCAgfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiQ0ZfRU5BQkxFSE9PSyIsIElfQ0ZfRU5BQkxFSE9PSywgMTIsIDcyLCAxMjAsIDEwLCBCU19BVVRPQ0hFQ0tCT1ggIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIkNGX0VOQUJMRVRFTVBMQVRFIiwgSV9DRl9FTkFCTEVURU1QTEFURSwgMTIsIDg0LCAxMjAsIDEwLCBCU19BVVRPQ0hFQ0tCT1ggIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIkNGX0VOQUJMRVRFTVBMQVRFSEFORExFIiwgSV9DRl9FTkFCTEVURU1QTEFURUhBTkRMRSwgMTIsIDk2LCAxMjAsIDEwLCBCU19BVVRPQ0hFQ0tCT1ggIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIkNGX0ZJWEVEUElUQ0hPTkxZIiwgSV9DRl9GSVhFRFBJVENIT05MWSwgMTIsIDEwOCwgMTIwLCAxMCwgQlNfQVVUT0NIRUNLQk9YICB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJDRl9GT1JDRUZPTlRFWElTVCIsIElfQ0ZfRk9SQ0VGT05URVhJU1QsIDEyLCAxMjAsIDEyMCwgMTAsIEJTX0FVVE9DSEVDS0JPWCAgfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiQ0ZfSU5JVFRPTE9HRk9OVFNUUlVDVCIsIElfQ0ZfSU5JVFRPTE9HRk9OVFNUUlVDVCwgMTIsIDEzMiwgMTIwLCAxMCwgQlNfQVVUT0NIRUNLQk9YICB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJDRl9MSU1JVFNJWkUiLCBJX0NGX0xJTUlUU0laRSwgMTIsIDE0NCwgMTIwLCAxMCwgQlNfQVVUT0NIRUNLQk9YICB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJDRl9OT0ZBQ0VTRUwiLCBJX0NGX05PRkFDRVNFTCwgMTIsIDE1NiwgMTIwLCAxMCwgQlNfQVVUT0NIRUNLQk9YICB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJDRl9OT09FTUZPTlRTIiwgSV9DRl9OT09FTUZPTlRTLCAxMiwgMTY4LCAxMjAsIDEwLCBCU19BVVRPQ0hFQ0tCT1ggIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIkNGX05PU0lNVUxBVElPTlMiLCBJX0NGX05PU0lNVUxBVElPTlMsIDEyLCAxODAsIDEyMCwgMTAsIEJTX0FVVE9DSEVDS0JPWCAgfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiQ0ZfTk9TSVpFU0VMIiwgSV9DRl9OT1NJWkVTRUwsIDEyLCAxOTIsIDEyMCwgMTAsIEJTX0FVVE9DSEVDS0JPWCAgfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiQ0ZfTk9TVFlMRVNFTCIsIElfQ0ZfTk9TVFlMRVNFTCwgMTIsIDIwNCwgMTIwLCAxMCwgQlNfQVVUT0NIRUNLQk9YICB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJDRl9OT1ZFQ1RPUkZPTlRTIiwgSV9DRl9OT1ZFQ1RPUkZPTlRTLCAxMiwgMjE2LCAxMjAsIDEwLCBCU19BVVRPQ0hFQ0tCT1ggIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIkNGX1BSSU5URVJGT05UUyIsIElfQ0ZfUFJJTlRFUkZPTlRTLCAxMiwgMjI4LCAxMjAsIDEwLCBCU19BVVRPQ0hFQ0tCT1ggIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIkNGX1NDQUxBQkxFT05MWSIsIElfQ0ZfU0NBTEFCTEVPTkxZLCAxMiwgMjQwLCAxMjAsIDEwLCBCU19BVVRPQ0hFQ0tCT1ggIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIkNGX1NIT1dIRUxQIiwgSV9DRl9TSE9XSEVMUCwgMTIsIDI2NCwgMTIwLCAxMCwgQlNfQVVUT0NIRUNLQk9YICB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJDRl9TQ1JFRU5GT05UUyIsIElfQ0ZfU0NSRUVORk9OVFMsIDEyLCAyNTIsIDEyMCwgMTAsIEJTX0FVVE9DSEVDS0JPWCAgfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiQ0ZfVVNFU1RZTEUiLCBJX0NGX1VTRVNUWUxFLCAxMiwgMjc2LCAxMjAsIDEwLCBCU19BVVRPQ0hFQ0tCT1ggIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIkNGX1dZU0lXWUciLCBJX0NGX1dZU0lXWUcsIDEyLCAyODgsIDEyMCwgMTAsIEJTX0FVVE9DSEVDS0JPWCAgfCBXU19UQUJTVE9QCn0KCgpGaW5kX0ZsYWdzX0RpYWxvZyBESUFMT0cgOCwgMjQsIDIwNywgMzA2ClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX1ZJU0lCTEUgfCBXU19DQVBUSU9OCkNBUFRJT04gIkZsYWdzIGRvIGRp4WxvZ28gTG9jYWxpemFyL1N1YnN0aXR1aXIiCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKewogREVGUFVTSEJVVFRPTiAiT0siLCBJRE9LLCAxNDgsIDYsIDUwLCAxNAogUFVTSEJVVFRPTiAiQ2FuY2VsYXIiLCBJRENBTkNFTCwgMTQ4LCAyNCwgNTAsIDE0CiBQVVNIQlVUVE9OICJBanVkYSIsIElESEVMUCwgMTQ4LCA0MiwgNTAsIDE0CiBDSEVDS0JPWCAiRlJfRElBTE9HVEVSTSIsIElfRlJfRElBTE9HVEVSTSwgMjQsIDEyLCAxMjAsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiRlJfRE9XTiIsIElfRlJfRE9XTiwgMjQsIDI0LCAxMjAsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiRlJfRU5BQkxFSE9PSyIsIElfRlJfRU5BQkxFSE9PSywgMjQsIDM2LCAxMjAsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiRlJfRU5BQkxFVEVNUExBVEUiLCBJX0ZSX0VOQUJMRVRFTVBMQVRFLCAyNCwgNDgsIDEyMCwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJGUl9FTkFCTEVURU1QTEFURUhBTkRMRSIsIElfRlJfRU5BQkxFVEVNUExBVEVIQU5ETEUsIDI0LCA2MCwgMTIwLCAxMiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIkZSX0ZJTkRORVhUIiwgSV9GUl9GSU5ETkVYVCwgMjQsIDcyLCAxMjAsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiRlJfSElERU1BVENIQ0FTRSIsIElfRlJfSElERU1BVENIQ0FTRSwgMjQsIDg0LCAxMjAsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiRlJfSElERVdIT0xFV09SRCIsIElfRlJfSElERVdIT0xFV09SRCwgMjQsIDk2LCAxMjAsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiRlJfSElERVVQRE9XTiIsIElfRlJfSElERVVQRE9XTiwgMjQsIDEwOCwgMTIwLCAxMiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIkZSX01BVENIQ0FTRSIsIElfRlJfTUFUQ0hDQVNFLCAyNCwgMTIwLCAxMjAsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiRlJfTk9NQVRDSENBU0UiLCBJX0ZSX05PTUFUQ0hDQVNFLCAyNCwgMTMyLCAxMjAsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiRlJfTk9VUERPV04iLCBJX0ZSX05PVVBET1dOLCAyNCwgMTQ0LCAxMjAsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiRlJfTk9XSE9MRVdPUkQiLCBJX0ZSX05PV0hPTEVXT1JELCAyNCwgMTU2LCAxMjAsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiRlJfUkVQTEFDRSIsIElfRlJfUkVQTEFDRSwgMjQsIDE2OCwgMTIwLCAxMiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIkZSX1JFUExBQ0VBTEwiLCBJX0ZSX1JFUExBQ0VBTEwsIDI0LCAxODAsIDEyMCwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJGUl9TSE9XSEVMUCIsIElfRlJfU0hPV0hFTFAsIDI0LCAxOTIsIDEyMCwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJGUl9XSE9MRVdPUkQiLCBJX0ZSX1dIT0xFV09SRCwgMjQsIDIwNCwgMTIwLCAxMiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUAogQ09OVFJPTCAiIiwgLTEsICJzdGF0aWMiLCBTU19CTEFDS1JFQ1QgfCBXU19DSElMRCB8IFdTX1ZJU0lCTEUsIDEyLCAxMiwgMTEsIDEzCiBDT05UUk9MICIiLCAtMSwgInN0YXRpYyIsIFNTX0JMQUNLUkVDVCB8IFdTX0NISUxEIHwgV1NfVklTSUJMRSwgMTIsIDcyLCAxMSwgMTMKIENPTlRST0wgIiIsIC0xLCAic3RhdGljIiwgU1NfQkxBQ0tSRUNUIHwgV1NfQ0hJTEQgfCBXU19WSVNJQkxFLCAxMiwgMTY4LCAxMSwgMTMKIENPTlRST0wgIiIsIC0xLCAic3RhdGljIiwgU1NfQkxBQ0tSRUNUIHwgV1NfQ0hJTEQgfCBXU19WSVNJQkxFLCAxMiwgMTgwLCAxMSwgMTMKIENPTlRST0wgIiIsIC0xLCAic3RhdGljIiwgU1NfQkxBQ0tSRUNUIHwgV1NfQ0hJTEQgfCBXU19WSVNJQkxFLCAyNCwgMjI4LCAxMSwgMTMKIENPTlRST0wgIk1hcmNhcyBmbGFncyBxdWUgc+NvIGNvbmZpZ3VyYWRvcyBwZWxvIHNpc3RlbWEgZSBkZXZlbSBzZXIgbGltcG9zIHBlbG8gdXN14XJpby4iLCAtMSwgInN0YXRpYyIsIFNTX0xFRlQgfCBXU19DSElMRCB8IFdTX1ZJU0lCTEUsIDQ4LCAyMjgsIDk4LCAzNgp9CgoKUHJpbnRfRmxhZ3NfRGlhbG9nIERJQUxPRyA0LCAxNywgMjM5LCAyODcKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfVklTSUJMRSB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIkZsYWdzIGRvIGRp4WxvZ28gSW1wcmltaXIvQ29uZmlndXJhciBJbXByZXNz428iCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKewogREVGUFVTSEJVVFRPTiAiT0siLCBJRE9LLCAxODAsIDYsIDUwLCAxNAogUFVTSEJVVFRPTiAiQ2FuY2VsYXIiLCBJRENBTkNFTCwgMTgwLCAyNCwgNTAsIDE0CiBQVVNIQlVUVE9OICJBanVkYSIsIENNX1JfSEVMUCwgMTgwLCA0MiwgNTAsIDE0CiBDSEVDS0JPWCAiUERfQUxMUEFHRVMiLCBJX1BEX0FMTFBBR0VTLCAxMiwgMTIsIDE0NCwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJQRF9DT0xMQVRFIiwgSV9QRF9DT0xMQVRFLCAxMiwgMjQsIDE0NCwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJQRF9ESVNBQkxFUFJJTlRUT0ZJTEUiLCBJX1BEX0RJU0FCTEVQUklOVFRPRklMRSwgMTIsIDM2LCAxNDQsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiUERfRU5BQkxFUFJJTlRIT09LIiwgSV9QRF9FTkFCTEVQUklOVEhPT0ssIDEyLCA0OCwgMTQ0LCAxMiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIlBEX0VOQUJMRVBSSU5UVEVNUExBVEUiLCBJX1BEX0VOQUJMRVBSSU5UVEVNUExBVEUsIDEyLCA2MCwgMTQ0LCAxMiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIlBEX0VOQUJMRVBSSU5UVEVNUExBVEVIQU5ETEUiLCBJX1BEX0VOQUJMRVBSSU5UVEVNUExBVEVIQU5ETEUsIDEyLCA3MiwgMTQ0LCAxMiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIlBEX0VOQUJMRVNFVFVQSE9PSyIsIElfUERfRU5BQkxFU0VUVVBIT09LLCAxMiwgODQsIDE0NCwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJQRF9FTkFCTEVTRVRVUFRFTVBMQVRFIiwgSV9QRF9FTkFCTEVTRVRVUFRFTVBMQVRFLCAxMiwgOTYsIDE0NCwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJQRF9FTkFCTEVTRVRVUFRFTVBMQVRFSEFORExFIiwgSV9QRF9FTkFCTEVTRVRVUFRFTVBMQVRFSEFORExFLCAxMiwgMTA4LCAxNDQsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiUERfSElERVBSSU5UVE9GSUxFIiwgSV9QRF9ISURFUFJJTlRUT0ZJTEUsIDEyLCAxMjAsIDE0NCwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJQRF9OT1BBR0VOVU1TIiwgSV9QRF9OT1BBR0VOVU1TLCAxMiwgMTMyLCAxNDQsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiUERfTk9TRUxFQ1RJT04iLCBJX1BEX05PU0VMRUNUSU9OLCAxMiwgMTQ0LCAxNDQsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiUERfTk9XQVJOSU5HIiwgSV9QRF9OT1dBUk5JTkcsIDEyLCAxNTYsIDE0NCwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJQRF9QQUdFTlVNUyIsIElfUERfUEFHRU5VTVMsIDEyLCAxNjgsIDE0NCwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJQRF9QUklOVFNFVFVQIiwgSV9QRF9QUklOVFNFVFVQLCAxMiwgMTgwLCAxNDQsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiUERfUFJJTlRUT0ZJTEUiLCBJX1BEX1BSSU5UVE9GSUxFLCAxMiwgMTkyLCAxNDQsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiUERfUkVUVVJOREMiLCBJX1BEX1JFVFVSTkRDLCAxMiwgMjA0LCAxNDQsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiUERfUkVUVVJOREVGQVVMVCIsIElfUERfUkVUVVJOREVGQVVMVCwgMTIsIDIxNiwgMTQ0LCAxMiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIlBEX1JFVFVSTklDIiwgSV9QRF9SRVRVUk5JQywgMTIsIDIyOCwgMTQ0LCAxMiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIlBEX1NFTEVDVElPTiIsIElfUERfU0VMRUNUSU9OLCAxMiwgMjQwLCAxNDQsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiUERfU0hPV0hFTFAiLCBJX1BEX1NIT1dIRUxQLCAxMiwgMjUyLCAxNDQsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiUERfVVNFREVWTU9ERUNPUElFUyIsIElfUERfVVNFREVWTU9ERUNPUElFUywgMTIsIDI2NCwgMTQ0LCAxMiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUAp9CgpGaWxlX0ZsYWdzX0RpYWxvZyBESUFMT0cgNiwgMTUsIDIwNywgMjI3ClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX1ZJU0lCTEUgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJGbGFncyBkbyBBYnJpci9TYWx2YXIgYXJxdWl2byIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgp7CiBERUZQVVNIQlVUVE9OICJPSyIsIElET0ssIDE0OCwgNiwgNTAsIDE0CiBQVVNIQlVUVE9OICJDYW5jZWxhciIsIElEQ0FOQ0VMLCAxNDgsIDI0LCA1MCwgMTQKIFBVU0hCVVRUT04gIkFqdWRhIiwgQ01fUl9IRUxQLCAxNDgsIDQyLCA1MCwgMTQKIENIRUNLQk9YICJPRk5fQUxMT1dNVUxUSVNFTEVDVCIsIElfT0ZOX0FMTE9XTVVMVElTRUxFQ1QsIDEyLCAxMiwgMTMyLCAxMiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIk9GTl9DUkVBVEVQUk9NUFQiLCBJX09GTl9DUkVBVEVQUk9NUFQsIDEyLCAyNCwgMTMyLCAxMiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIk9GTl9FTkFCTEVIT09LIiwgSV9PRk5fRU5BQkxFSE9PSywgMTIsIDM2LCAxMzIsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiT0ZOX0VOQUJMRVRFTVBMQVRFIiwgSV9PRk5fRU5BQkxFVEVNUExBVEUsIDEyLCA0OCwgMTMyLCAxMiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIk9GTl9FTkFCTEVURU1QTEFURUhBTkRMRSIsIElfT0ZOX0VOQUJMRVRFTVBMQVRFSEFORExFLCAxMiwgNjAsIDEzMiwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJPRk5fRVhURU5TSU9ORElGRkVSRU5UIiwgSV9PRk5fRVhURU5TSU9ORElGRkVSRU5ULCAxMiwgNzIsIDEzMiwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJPRk5fRklMRU1VU1RFWElTVCIsIElfT0ZOX0ZJTEVNVVNURVhJU1QsIDEyLCA4NCwgMTMyLCAxMiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIk9GTl9ISURFUkVBRE9OTFkiLCBJX09GTl9ISURFUkVBRE9OTFksIDEyLCA5NiwgMTMyLCAxMiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIk9GTl9OT0NIQU5HRURJUiIsIElfT0ZOX05PQ0hBTkdFRElSLCAxMiwgMTA4LCAxMzIsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiT0ZOX05PUkVBRE9OTFlSRVRVUk4iLCBJX09GTl9OT1JFQURPTkxZUkVUVVJOLCAxMiwgMTIwLCAxMzIsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiT0ZOX05PVEVTVEZJTEVDUkVBVEUiLCBJX09GTl9OT1RFU1RGSUxFQ1JFQVRFLCAxMiwgMTMyLCAxMzIsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiT0ZOX05PVkFMSURBVEUiLCBJX09GTl9OT1ZBTElEQVRFLCAxMiwgMTQ0LCAxMzIsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiT0ZOX09WRVJXUklURVBST01QVCIsIElfT0ZOX09WRVJXUklURVBST01QVCwgMTIsIDE1NiwgMTMyLCAxMiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIk9GTl9QQVRITVVTVEVYSVNUIiwgSV9PRk5fUEFUSE1VU1RFWElTVCwgMTIsIDE2OCwgMTMyLCAxMiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIk9GTl9SRUFET05MWSIsIElfT0ZOX1JFQURPTkxZLCAxMiwgMTgwLCAxMzIsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiT0ZOX1NIQVJFQVdBUkUiLCBJX09GTl9TSEFSRUFXQVJFLCAxMiwgMTkyLCAxMzIsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiT0ZOX1NIT1dIRUxQIiwgSV9PRk5fU0hPV0hFTFAsIDEyLCAyMDQsIDEzMiwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AKfQoKQWJvdXREaWFsb2cgRElBTE9HIDYsIDE1LCAxOTQsIDExOQpTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19WSVNJQkxFIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiU29icmUiCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKewogREVGUFVTSEJVVFRPTiAiT0siLCBJRE9LLCA3MiwgOTYsIDUwLCAxNAogTFRFWFQgIkNvbW1vbiBEaWFsb2cgVGVzdCBKaWcgRXhlcmNpc2VyLCB2ZXJz428gMS4yMCIsIC0xLCAxMywgMzYsIDE2OCwgMTIKIExURVhUICIoYykgMTk5OS0yMDAwLCBFcmljIFdpbGxpYW1zLiAgRGlyZWl0b3MgZ2FyYW50aWRvcyBwZWxvIGxpY2Vu52EgZG8gV0lORS4gIERvbid0IGhvYXJkIGNvZGUuLi5zaGFyZSBpdCIsIC0xLCAxOCwgNjAsIDE1NywgMjQKIElDT04gIkFib3V0SWNvbiIsIC0xLCA4NCwgMTIsIDE4LCAyMAp9CgpVc2FnZURpYWxvZyBESUFMT0cgMTgzLCAyMiwgMTkwLCAzMDAKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfVklTSUJMRSB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIlVzbyIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgp7CiBERUZQVVNIQlVUVE9OICJPSyIsIElET0ssIDcwLCAyNzYsIDUwLCAxNAogTFRFWFQgIkNvbW1vbiBEaWFsb2cgVGVzdCBKaWcgRXhlcmNpc2VyLCB2ZXJz428gMS4yMCIsIC0xLCAxMywgNDgsIDE2OCwgMTIKIExURVhUICJFc3RhIGZlcnJhbWVudGEgdGVzdGEgQ09NTURMRyBwYXJhIG8gV2luZS4iLCAtMSwgMTIsIDcyLCAxNjgsIDEyCiBMVEVYVCAiRmxhZ3Mgc+NvIGVzcGVjaWZpY2Fkb3Mgbm8gbWVudSBGbGFncy4iLCAtMSwgMTIsIDk2LCAxNjgsIDEyCiBMVEVYVCAiRGnhbG9nbyBkZSBjb3JlcyBtdWRhIGEgY29yIGRlIGZ1bmRvLiIsIC0xLCAxMiwgMTIwLCAxNjgsIDEyCiBMVEVYVCAiRGnhbG9nbyBkZSBmb250ZXMgbXVkYSB0b2RhcyBhcyBmb250ZXMsIGNvcmVzIGRhcyBmb250ZXMgc2UgQ0ZfRUZGRUNUUyBlc3ThIHNlbGVjaW9uYWRvLiIsIC0xLCAxMiwgMTQ0LCAxNjgsIDI0CiBMVEVYVCAiTyBjYW50byBzdXBlcmlvciBlc3F1ZXJkbyBpbmRpY2EgbyBjYW1pbmhvIGNvbXBsZXRvIGUgbyB07XR1bG8gZG9zIPpsdGltbyBzdWNlc3NvIGRlIEFicmlyIG91IFNhbHZhci4iLCAtMSwgMTIsIDE4MCwgMTY4LCAyNAogTFRFWFQgIihjKSAxOTk5LTIwMDAsIEVyaWMgV2lsbGlhbXMuICBEaXJlaXRvcyBnYXJhbnRpZG9zIHBlbG8gbGljZW7nYSBkbyBXSU5FLiAgRG9uJ3QgaG9hcmQgY29kZS4uLnNoYXJlIGl0IiwgLTEsIDE4LCA2MCwgMTU3LCAyNAogSUNPTiAiQWJvdXRJY29uIiwgLTEsIDg2LCAxMiwgMTgsIDIwCiBDT05UUk9MICIiLCAtMSwgInN0YXRpYyIsIFNTX0JMQUNLUkVDVCB8IFdTX0NISUxEIHwgV1NfVklTSUJMRSwgMTIsIDIxNiwgMTY4LCAyCn0K