LyoKICogQ29tbW9uIERpYWxvZyBUZXN0IEppZyBFeGVyY2lzZXIKICogVHVya2lzaCBMYW5ndWFnZSBTdXBwb3J0CiAqCiAqIENvcHlyaWdodCAoYykgMjAwNiBGYXRpaCBB/v1j/S4KICoKICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgogKiB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICoKICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCiAqIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiAqCiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBCiAqLwoKI2luY2x1ZGUgImNtZGxndHN0LmgiCgovKiBGSVhNRTogdG8gYmUgY29tcGxldGVkICovCgpMQU5HVUFHRSBMQU5HX1RVUktJU0gsIFNVQkxBTkdfREVGQVVMVAoKQ21kbGd0c3RNZW51IE1FTlUKewogUE9QVVAgIiZEb3N5YSIKIHsKICBNRU5VSVRFTSAiJsf9ayIsIENNX1VfRVhJVAogfQoKIFBPUFVQICImQ29tbWRsZyIKIHsKICBNRU5VSVRFTSAiJkHnIiwgQ01fVV9PUEVOCiAgTUVOVUlURU0gIiZLYXlkZXQiLCBDTV9VX1NBVkUKICBNRU5VSVRFTSBTRVBBUkFUT1IKICBNRU5VSVRFTSAiJlJlbmsiLCBDTV9VX0NPTE9SCiAgTUVOVUlURU0gIiZZYXr9IFRpcGkiLCBDTV9VX0ZPTlQKICBNRU5VSVRFTSBTRVBBUkFUT1IKICBNRU5VSVRFTSAiJlNvbnJha2luaSBCdWwiLCBDTV9VX0ZJTkQKICBNRU5VSVRFTSAiJkRl8Gn+dGlyIiwgQ01fVV9SRVBMQUNFCiAgTUVOVUlURU0gU0VQQVJBVE9SCiAgTUVOVUlURU0gIllhJnpk/XIiLCBDTV9VX1BSSU5UCiAgTUVOVUlURU0gIlNhJnlmYSBBeWFybGFy/SIsIENNX1VfUEFHRVNFVFVQCiB9CgogUE9QVVAgIiZCYXlyYWtsYXIiCiB7CiAgTUVOVUlURU0gIiZEb3N5YSIsIENNX0ZfRklMRQogIE1FTlVJVEVNIFNFUEFSQVRPUgogIE1FTlVJVEVNICImUmVuayIsIENNX0ZfQ09MT1IKICBNRU5VSVRFTSAiJllhev0gVGlwaSIsIENNX0ZfRk9OVAogIE1FTlVJVEVNIFNFUEFSQVRPUgogIE1FTlVJVEVNICJCJnVsL0Rl8Gn+dGlyIiwgQ01fRl9GSU5EUkVQTEFDRQogIE1FTlVJVEVNIFNFUEFSQVRPUgogIE1FTlVJVEVNICJZYSZ6ZP1yIiwgQ01fRl9QUklOVAogIE1FTlVJVEVNICJTYXlmYSAmQXlhcmxhcv0iLCBDTV9GX1BBR0VTRVRVUAogfQoKIFBPUFVQICImWWFyZP1tIgogewogIE1FTlVJVEVNICImS3VsbGFu/W0iLCBDTV9IX1VTQUdFCiAgTUVOVUlURU0gIiZIYWtr/W5kYSIsIENNX0hfQUJPVVQKIH0KCn0KCkNvbG9yX0ZsYWdzX0RpYWxvZyBESUFMT0cgMTEsIDIwLCAyMDcsIDEwNwpTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19WSVNJQkxFIHwgV1NfQ0FQVElPTgpDQVBUSU9OICJSZW5rIN1sZXRp/mltIEt1dHVzdSBCYXlyYWtsYXL9IgpGT05UIDgsICJNUyBTaGVsbCBEbGciCnsKIERFRlBVU0hCVVRUT04gIlRhbWFtIiwgSURPSywgMTQ4LCA2LCA1MCwgMTQsIEJTX0RFRlBVU0hCVVRUT04gfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIt1wdGFsIiwgSURDQU5DRUwsIDE0OCwgMjQsIDUwLCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICJZYXJk/W0iLCBDTV9SX0hFTFAsIDE0OCwgNDIsIDUwLCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiQ0NfRU5BQkxFSE9PSyIsIElfQ0NfRU5BQkxFSE9PSywgMTIsIDEyLCAxMjIsIDEwLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiQ0NfRU5BQkxFVEVNUExBVEUiLCBJX0NDX0VOQUJMRVRFTVBMQVRFLCAxMiwgMjQsIDEyMiwgMTAsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJDQ19FTkFCTEVURU1QTEFURUhBTkRMRSIsIElfQ0NfRU5BQkxFVEVNUExBVEVIQU5ETEUsIDEyLCAzNiwgMTIyLCAxMCwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIkNDX0ZVTExPUEVOIiwgSV9DQ19GVUxMT1BFTiwgMTIsIDQ4LCAxMjIsIDEwLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiQ0NfUFJFVkVOVEZVTExPUEVOIiwgSV9DQ19QUkVWRU5URlVMTE9QRU4sIDEyLCA2MCwgMTIyLCAxMCwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIkNDX1JHQklOSVQiLCBJX0NDX1JHQklOSVQsIDEyLCA3MiwgMTIyLCAxMCwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIkNDX1NIT1dIRUxQIiwgSV9DQ19TSE9XSEVMUCwgMTIsIDg0LCAxMjIsIDEwLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCn0KCkZvbnRfRmxhZ3NfRGlhbG9nIERJQUxPRyA5LCAyMCwgMjA3LCAzMTMKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfVklTSUJMRSB8IFdTX0NBUFRJT04KQ0FQVElPTiAiWWF6/SBUaXBpIN1sZXRp/mltIEt1dHVzdSBCYXlyYWtsYXL9IgpGT05UIDgsICJNUyBTaGVsbCBEbGciCnsKIERFRlBVU0hCVVRUT04gIlRhbWFtIiwgSURPSywgMTQ4LCA2LCA1MCwgMTQKIFBVU0hCVVRUT04gIt1wdGFsIiwgSURDQU5DRUwsIDE0OCwgMjQsIDUwLCAxNAogUFVTSEJVVFRPTiAiWWFyZP1tIiwgQ01fUl9IRUxQLCAxNDgsIDQyLCA1MCwgMTQKIENIRUNLQk9YICJDRl9BUFBMWSIsIElfQ0ZfQVBQTFksIDEyLCAxMiwgMTIwLCAxMCwgQlNfQVVUT0NIRUNLQk9YICB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJDRl9BTlNJT05MWSIsIElfQ0ZfQU5TSU9OTFksIDEyLCAyNCwgMTIwLCAxMCwgQlNfQVVUT0NIRUNLQk9YICB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJDRl9CT1RIIiwgSV9DRl9CT1RILCAxMiwgMzYsIDEyMCwgMTAsIEJTX0FVVE9DSEVDS0JPWCAgfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiQ0ZfVFRPTkxZIiwgSV9DRl9UVE9OTFksIDEyLCA0OCwgMTIwLCAxMCwgQlNfQVVUT0NIRUNLQk9YICB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJDRl9FRkZFQ1RTIiwgSV9DRl9FRkZFQ1RTLCAxMiwgNjAsIDEyMCwgMTAsIEJTX0FVVE9DSEVDS0JPWCAgfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiQ0ZfRU5BQkxFSE9PSyIsIElfQ0ZfRU5BQkxFSE9PSywgMTIsIDcyLCAxMjAsIDEwLCBCU19BVVRPQ0hFQ0tCT1ggIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIkNGX0VOQUJMRVRFTVBMQVRFIiwgSV9DRl9FTkFCTEVURU1QTEFURSwgMTIsIDg0LCAxMjAsIDEwLCBCU19BVVRPQ0hFQ0tCT1ggIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIkNGX0VOQUJMRVRFTVBMQVRFSEFORExFIiwgSV9DRl9FTkFCTEVURU1QTEFURUhBTkRMRSwgMTIsIDk2LCAxMjAsIDEwLCBCU19BVVRPQ0hFQ0tCT1ggIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIkNGX0ZJWEVEUElUQ0hPTkxZIiwgSV9DRl9GSVhFRFBJVENIT05MWSwgMTIsIDEwOCwgMTIwLCAxMCwgQlNfQVVUT0NIRUNLQk9YICB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJDRl9GT1JDRUZPTlRFWElTVCIsIElfQ0ZfRk9SQ0VGT05URVhJU1QsIDEyLCAxMjAsIDEyMCwgMTAsIEJTX0FVVE9DSEVDS0JPWCAgfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiQ0ZfSU5JVFRPTE9HRk9OVFNUUlVDVCIsIElfQ0ZfSU5JVFRPTE9HRk9OVFNUUlVDVCwgMTIsIDEzMiwgMTIwLCAxMCwgQlNfQVVUT0NIRUNLQk9YICB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJDRl9MSU1JVFNJWkUiLCBJX0NGX0xJTUlUU0laRSwgMTIsIDE0NCwgMTIwLCAxMCwgQlNfQVVUT0NIRUNLQk9YICB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJDRl9OT0ZBQ0VTRUwiLCBJX0NGX05PRkFDRVNFTCwgMTIsIDE1NiwgMTIwLCAxMCwgQlNfQVVUT0NIRUNLQk9YICB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJDRl9OT09FTUZPTlRTIiwgSV9DRl9OT09FTUZPTlRTLCAxMiwgMTY4LCAxMjAsIDEwLCBCU19BVVRPQ0hFQ0tCT1ggIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIkNGX05PU0lNVUxBVElPTlMiLCBJX0NGX05PU0lNVUxBVElPTlMsIDEyLCAxODAsIDEyMCwgMTAsIEJTX0FVVE9DSEVDS0JPWCAgfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiQ0ZfTk9TSVpFU0VMIiwgSV9DRl9OT1NJWkVTRUwsIDEyLCAxOTIsIDEyMCwgMTAsIEJTX0FVVE9DSEVDS0JPWCAgfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiQ0ZfTk9TVFlMRVNFTCIsIElfQ0ZfTk9TVFlMRVNFTCwgMTIsIDIwNCwgMTIwLCAxMCwgQlNfQVVUT0NIRUNLQk9YICB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJDRl9OT1ZFQ1RPUkZPTlRTIiwgSV9DRl9OT1ZFQ1RPUkZPTlRTLCAxMiwgMjE2LCAxMjAsIDEwLCBCU19BVVRPQ0hFQ0tCT1ggIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIkNGX1BSSU5URVJGT05UUyIsIElfQ0ZfUFJJTlRFUkZPTlRTLCAxMiwgMjI4LCAxMjAsIDEwLCBCU19BVVRPQ0hFQ0tCT1ggIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIkNGX1NDQUxBQkxFT05MWSIsIElfQ0ZfU0NBTEFCTEVPTkxZLCAxMiwgMjQwLCAxMjAsIDEwLCBCU19BVVRPQ0hFQ0tCT1ggIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIkNGX1NIT1dIRUxQIiwgSV9DRl9TSE9XSEVMUCwgMTIsIDI2NCwgMTIwLCAxMCwgQlNfQVVUT0NIRUNLQk9YICB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJDRl9TQ1JFRU5GT05UUyIsIElfQ0ZfU0NSRUVORk9OVFMsIDEyLCAyNTIsIDEyMCwgMTAsIEJTX0FVVE9DSEVDS0JPWCAgfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiQ0ZfVVNFU1RZTEUiLCBJX0NGX1VTRVNUWUxFLCAxMiwgMjc2LCAxMjAsIDEwLCBCU19BVVRPQ0hFQ0tCT1ggIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIkNGX1dZU0lXWUciLCBJX0NGX1dZU0lXWUcsIDEyLCAyODgsIDEyMCwgMTAsIEJTX0FVVE9DSEVDS0JPWCAgfCBXU19UQUJTVE9QCn0KCkZpbmRfRmxhZ3NfRGlhbG9nIERJQUxPRyA4LCAyNCwgMjA3LCAzMDYKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfVklTSUJMRSB8IFdTX0NBUFRJT04KQ0FQVElPTiAiQnVsL0Rl8Gn+dGlyIN1sZXRp/mltIEt1dHVzdSBCYXlyYWtsYXL9IgpGT05UIDgsICJNUyBTaGVsbCBEbGciCnsKIERFRlBVU0hCVVRUT04gIlRhbWFtIiwgSURPSywgMTQ4LCA2LCA1MCwgMTQKIFBVU0hCVVRUT04gIt1wdGFsIiwgSURDQU5DRUwsIDE0OCwgMjQsIDUwLCAxNAogUFVTSEJVVFRPTiAiWWFyZP1tIiwgSURIRUxQLCAxNDgsIDQyLCA1MCwgMTQKIENIRUNLQk9YICJGUl9ESUFMT0dURVJNIiwgSV9GUl9ESUFMT0dURVJNLCAyNCwgMTIsIDEyMCwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJGUl9ET1dOIiwgSV9GUl9ET1dOLCAyNCwgMjQsIDEyMCwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJGUl9FTkFCTEVIT09LIiwgSV9GUl9FTkFCTEVIT09LLCAyNCwgMzYsIDEyMCwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJGUl9FTkFCTEVURU1QTEFURSIsIElfRlJfRU5BQkxFVEVNUExBVEUsIDI0LCA0OCwgMTIwLCAxMiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIkZSX0VOQUJMRVRFTVBMQVRFSEFORExFIiwgSV9GUl9FTkFCTEVURU1QTEFURUhBTkRMRSwgMjQsIDYwLCAxMjAsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiRlJfRklORE5FWFQiLCBJX0ZSX0ZJTkRORVhULCAyNCwgNzIsIDEyMCwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJGUl9ISURFTUFUQ0hDQVNFIiwgSV9GUl9ISURFTUFUQ0hDQVNFLCAyNCwgODQsIDEyMCwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJGUl9ISURFV0hPTEVXT1JEIiwgSV9GUl9ISURFV0hPTEVXT1JELCAyNCwgOTYsIDEyMCwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJGUl9ISURFVVBET1dOIiwgSV9GUl9ISURFVVBET1dOLCAyNCwgMTA4LCAxMjAsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiRlJfTUFUQ0hDQVNFIiwgSV9GUl9NQVRDSENBU0UsIDI0LCAxMjAsIDEyMCwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJGUl9OT01BVENIQ0FTRSIsIElfRlJfTk9NQVRDSENBU0UsIDI0LCAxMzIsIDEyMCwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJGUl9OT1VQRE9XTiIsIElfRlJfTk9VUERPV04sIDI0LCAxNDQsIDEyMCwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJGUl9OT1dIT0xFV09SRCIsIElfRlJfTk9XSE9MRVdPUkQsIDI0LCAxNTYsIDEyMCwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJGUl9SRVBMQUNFIiwgSV9GUl9SRVBMQUNFLCAyNCwgMTY4LCAxMjAsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiRlJfUkVQTEFDRUFMTCIsIElfRlJfUkVQTEFDRUFMTCwgMjQsIDE4MCwgMTIwLCAxMiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIkZSX1NIT1dIRUxQIiwgSV9GUl9TSE9XSEVMUCwgMjQsIDE5MiwgMTIwLCAxMiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIkZSX1dIT0xFV09SRCIsIElfRlJfV0hPTEVXT1JELCAyNCwgMjA0LCAxMjAsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCiBDT05UUk9MICIiLCAtMSwgInN0YXRpYyIsIFNTX0JMQUNLUkVDVCB8IFdTX0NISUxEIHwgV1NfVklTSUJMRSwgMTIsIDEyLCAxMSwgMTMKIENPTlRST0wgIiIsIC0xLCAic3RhdGljIiwgU1NfQkxBQ0tSRUNUIHwgV1NfQ0hJTEQgfCBXU19WSVNJQkxFLCAxMiwgNzIsIDExLCAxMwogQ09OVFJPTCAiIiwgLTEsICJzdGF0aWMiLCBTU19CTEFDS1JFQ1QgfCBXU19DSElMRCB8IFdTX1ZJU0lCTEUsIDEyLCAxNjgsIDExLCAxMwogQ09OVFJPTCAiIiwgLTEsICJzdGF0aWMiLCBTU19CTEFDS1JFQ1QgfCBXU19DSElMRCB8IFdTX1ZJU0lCTEUsIDEyLCAxODAsIDExLCAxMwogQ09OVFJPTCAiIiwgLTEsICJzdGF0aWMiLCBTU19CTEFDS1JFQ1QgfCBXU19DSElMRCB8IFdTX1ZJU0lCTEUsIDI0LCAyMjgsIDExLCAxMwogQ09OVFJPTCAiTWFya3MgZmxhZ3MgdGhhdCBhcmUgc2V0IGJ5IHRoZSBzeXN0ZW0gYW5kIG11c3QgYmUgY2xlYXJlZCBieSB0aGUgdXNlci4iLCAtMSwgInN0YXRpYyIsIFNTX0xFRlQgfCBXU19DSElMRCB8IFdTX1ZJU0lCTEUsIDQ4LCAyMjgsIDk4LCAzNgp9CgpQcmludF9GbGFnc19EaWFsb2cgRElBTE9HIDQsIDE3LCAyMzksIDI4NwpTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19WSVNJQkxFIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiUHJpbnQgLyBQcmludFNldHVwIEZsYWdzIgpGT05UIDgsICJNUyBTaGVsbCBEbGciCnsKIERFRlBVU0hCVVRUT04gIlRhbWFtIiwgSURPSywgMTgwLCA2LCA1MCwgMTQKIFBVU0hCVVRUT04gIt1wdGFsIiwgSURDQU5DRUwsIDE4MCwgMjQsIDUwLCAxNAogUFVTSEJVVFRPTiAiWWFyZP1tIiwgQ01fUl9IRUxQLCAxODAsIDQyLCA1MCwgMTQKIENIRUNLQk9YICJQRF9BTExQQUdFUyIsIElfUERfQUxMUEFHRVMsIDEyLCAxMiwgMTQ0LCAxMiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIlBEX0NPTExBVEUiLCBJX1BEX0NPTExBVEUsIDEyLCAyNCwgMTQ0LCAxMiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIlBEX0RJU0FCTEVQUklOVFRPRklMRSIsIElfUERfRElTQUJMRVBSSU5UVE9GSUxFLCAxMiwgMzYsIDE0NCwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJQRF9FTkFCTEVQUklOVEhPT0siLCBJX1BEX0VOQUJMRVBSSU5USE9PSywgMTIsIDQ4LCAxNDQsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiUERfRU5BQkxFUFJJTlRURU1QTEFURSIsIElfUERfRU5BQkxFUFJJTlRURU1QTEFURSwgMTIsIDYwLCAxNDQsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiUERfRU5BQkxFUFJJTlRURU1QTEFURUhBTkRMRSIsIElfUERfRU5BQkxFUFJJTlRURU1QTEFURUhBTkRMRSwgMTIsIDcyLCAxNDQsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiUERfRU5BQkxFU0VUVVBIT09LIiwgSV9QRF9FTkFCTEVTRVRVUEhPT0ssIDEyLCA4NCwgMTQ0LCAxMiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIlBEX0VOQUJMRVNFVFVQVEVNUExBVEUiLCBJX1BEX0VOQUJMRVNFVFVQVEVNUExBVEUsIDEyLCA5NiwgMTQ0LCAxMiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIlBEX0VOQUJMRVNFVFVQVEVNUExBVEVIQU5ETEUiLCBJX1BEX0VOQUJMRVNFVFVQVEVNUExBVEVIQU5ETEUsIDEyLCAxMDgsIDE0NCwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJQRF9ISURFUFJJTlRUT0ZJTEUiLCBJX1BEX0hJREVQUklOVFRPRklMRSwgMTIsIDEyMCwgMTQ0LCAxMiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIlBEX05PUEFHRU5VTVMiLCBJX1BEX05PUEFHRU5VTVMsIDEyLCAxMzIsIDE0NCwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJQRF9OT1NFTEVDVElPTiIsIElfUERfTk9TRUxFQ1RJT04sIDEyLCAxNDQsIDE0NCwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJQRF9OT1dBUk5JTkciLCBJX1BEX05PV0FSTklORywgMTIsIDE1NiwgMTQ0LCAxMiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIlBEX1BBR0VOVU1TIiwgSV9QRF9QQUdFTlVNUywgMTIsIDE2OCwgMTQ0LCAxMiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIlBEX1BSSU5UU0VUVVAiLCBJX1BEX1BSSU5UU0VUVVAsIDEyLCAxODAsIDE0NCwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJQRF9QUklOVFRPRklMRSIsIElfUERfUFJJTlRUT0ZJTEUsIDEyLCAxOTIsIDE0NCwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJQRF9SRVRVUk5EQyIsIElfUERfUkVUVVJOREMsIDEyLCAyMDQsIDE0NCwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJQRF9SRVRVUk5ERUZBVUxUIiwgSV9QRF9SRVRVUk5ERUZBVUxULCAxMiwgMjE2LCAxNDQsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiUERfUkVUVVJOSUMiLCBJX1BEX1JFVFVSTklDLCAxMiwgMjI4LCAxNDQsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiUERfU0VMRUNUSU9OIiwgSV9QRF9TRUxFQ1RJT04sIDEyLCAyNDAsIDE0NCwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJQRF9TSE9XSEVMUCIsIElfUERfU0hPV0hFTFAsIDEyLCAyNTIsIDE0NCwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJQRF9VU0VERVZNT0RFQ09QSUVTIiwgSV9QRF9VU0VERVZNT0RFQ09QSUVTLCAxMiwgMjY0LCAxNDQsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCn0KCkZpbGVfRmxhZ3NfRGlhbG9nIERJQUxPRyA2LCAxNSwgMjA3LCAyMjcKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfVklTSUJMRSB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIk9wZW4gRmlsZS9TYXZlIEZpbGUgRmxhZ3MiCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKewogREVGUFVTSEJVVFRPTiAiVGFtYW0iLCBJRE9LLCAxNDgsIDYsIDUwLCAxNAogUFVTSEJVVFRPTiAi3XB0YWwiLCBJRENBTkNFTCwgMTQ4LCAyNCwgNTAsIDE0CiBQVVNIQlVUVE9OICJZYXJk/W0iLCBDTV9SX0hFTFAsIDE0OCwgNDIsIDUwLCAxNAogQ0hFQ0tCT1ggIk9GTl9BTExPV01VTFRJU0VMRUNUIiwgSV9PRk5fQUxMT1dNVUxUSVNFTEVDVCwgMTIsIDEyLCAxMzIsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiT0ZOX0NSRUFURVBST01QVCIsIElfT0ZOX0NSRUFURVBST01QVCwgMTIsIDI0LCAxMzIsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiT0ZOX0VOQUJMRUhPT0siLCBJX09GTl9FTkFCTEVIT09LLCAxMiwgMzYsIDEzMiwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJPRk5fRU5BQkxFVEVNUExBVEUiLCBJX09GTl9FTkFCTEVURU1QTEFURSwgMTIsIDQ4LCAxMzIsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiT0ZOX0VOQUJMRVRFTVBMQVRFSEFORExFIiwgSV9PRk5fRU5BQkxFVEVNUExBVEVIQU5ETEUsIDEyLCA2MCwgMTMyLCAxMiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIk9GTl9FWFRFTlNJT05ESUZGRVJFTlQiLCBJX09GTl9FWFRFTlNJT05ESUZGRVJFTlQsIDEyLCA3MiwgMTMyLCAxMiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIk9GTl9GSUxFTVVTVEVYSVNUIiwgSV9PRk5fRklMRU1VU1RFWElTVCwgMTIsIDg0LCAxMzIsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiT0ZOX0hJREVSRUFET05MWSIsIElfT0ZOX0hJREVSRUFET05MWSwgMTIsIDk2LCAxMzIsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiT0ZOX05PQ0hBTkdFRElSIiwgSV9PRk5fTk9DSEFOR0VESVIsIDEyLCAxMDgsIDEzMiwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJPRk5fTk9SRUFET05MWVJFVFVSTiIsIElfT0ZOX05PUkVBRE9OTFlSRVRVUk4sIDEyLCAxMjAsIDEzMiwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJPRk5fTk9URVNURklMRUNSRUFURSIsIElfT0ZOX05PVEVTVEZJTEVDUkVBVEUsIDEyLCAxMzIsIDEzMiwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJPRk5fTk9WQUxJREFURSIsIElfT0ZOX05PVkFMSURBVEUsIDEyLCAxNDQsIDEzMiwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJPRk5fT1ZFUldSSVRFUFJPTVBUIiwgSV9PRk5fT1ZFUldSSVRFUFJPTVBULCAxMiwgMTU2LCAxMzIsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiT0ZOX1BBVEhNVVNURVhJU1QiLCBJX09GTl9QQVRITVVTVEVYSVNULCAxMiwgMTY4LCAxMzIsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiT0ZOX1JFQURPTkxZIiwgSV9PRk5fUkVBRE9OTFksIDEyLCAxODAsIDEzMiwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJPRk5fU0hBUkVBV0FSRSIsIElfT0ZOX1NIQVJFQVdBUkUsIDEyLCAxOTIsIDEzMiwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJPRk5fU0hPV0hFTFAiLCBJX09GTl9TSE9XSEVMUCwgMTIsIDIwNCwgMTMyLCAxMiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUAp9CgpBYm91dERpYWxvZyBESUFMT0cgNiwgMTUsIDE5NCwgMTE5ClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX1ZJU0lCTEUgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJIYWtr/W5kYSIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgp7CiBERUZQVVNIQlVUVE9OICJUYW1hbSIsIElET0ssIDcyLCA5NiwgNTAsIDE0CiBMVEVYVCAiQ29tbW9uIERpYWxvZyBUZXN0IEppZyBFeGVyY2lzZXIsIHZlcnNpb24gMS4yMCIsIC0xLCAxMywgMzYsIDE2OCwgMTIKIExURVhUICIoYykgMTk5OS0yMDAwLCBFcmljIFdpbGxpYW1zLiAgUmlnaHRzIGFyZSBhcyBncmFudGVkIHVuZGVyIHRoZSBXSU5FIGxpY2Vuc2UuICBEb24ndCBob2FyZCBjb2RlLi4uIHNoYXJlIGl0ISIsIC0xLCAxOCwgNjAsIDE1NywgMjQKIElDT04gIkFib3V0SWNvbiIsIC0xLCA4NCwgMTIsIDE4LCAyMAp9CgpVc2FnZURpYWxvZyBESUFMT0cgMTgzLCAyMiwgMTkwLCAzMDAKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfVklTSUJMRSB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIkt1bGxhbv1tIgpGT05UIDgsICJNUyBTaGVsbCBEbGciCnsKIERFRlBVU0hCVVRUT04gIlRhbWFtIiwgSURPSywgNzAsIDI3NiwgNTAsIDE0CiBMVEVYVCAiQ29tbW9uIERpYWxvZyBUZXN0IEppZyBFeGVyY2lzZXIsIHZlcnNpb24gMS4yMCIsIC0xLCAxMywgNDgsIDE2OCwgMTIKIExURVhUICJUaGlzIHRvb2wgdGVzdHMgQ09NTURMRyBmb3IgV2luZS4iLCAtMSwgMTIsIDcyLCAxNjgsIDEyCiBMVEVYVCAiRmxhZ3MgYXJlIHNwZWNpZmllZCBpbiB0aGUgRmxhZ3MgbWVudS4iLCAtMSwgMTIsIDk2LCAxNjgsIDEyCiBMVEVYVCAiQ29sb3IgZGlhbG9nIGNoYW5nZXMgYmFja2dyb3VuZCBjb2xvci4iLCAtMSwgMTIsIDEyMCwgMTY4LCAxMgogTFRFWFQgIkZvbnQgZGlhbG9nIGNoYW5nZXMgYWxsIGZvbnRzLCBhbmQgZm9udCBjb2xvciBpZiBDRl9FRkZFQ1RTIGlzIHNlbGVjdGVkLiIsIC0xLCAxMiwgMTQ0LCAxNjgsIDI0CiBMVEVYVCAiVXBwZXIgbGVmdCBoYW5kIGNvcm5lciBpbmRpY2F0ZSBmdWxsIHBhdGhuYW1lIGFuZCB0aXRsZSBvZiB0aGUgbGFzdCBzdWNjZXNzZnVsIE9wZW4gb3IgU2F2ZS4iLCAtMSwgMTIsIDE4MCwgMTY4LCAyNAogTFRFWFQgIihjKSAxOTk5LTIwMDAsIEVyaWMgV2lsbGlhbXMuICBSaWdodHMgYXJlIGFzIGdyYW50ZWQgdW5kZXIgdGhlIFdJTkUgbGljZW5zZS4gIERvbid0IGhvYXJkIGNvZGUuLi4gc2hhcmUgaXQhIiwgLTEsIDEyLCAyMjgsIDE2OCwgMzYKIElDT04gIkFib3V0SWNvbiIsIC0xLCA4NiwgMTIsIDE4LCAyMAogQ09OVFJPTCAiIiwgLTEsICJzdGF0aWMiLCBTU19CTEFDS1JFQ1QgfCBXU19DSElMRCB8IFdTX1ZJU0lCTEUsIDEyLCAyMTYsIDE2OCwgMgp9CgpQQUdFU0VUVVBETEdPUkRfQ1NUTSBESUFMT0cgMzIsIDMyLCAyNDAsIDI0MApTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19WSVNJQkxFIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiVEZUIHRlc3QgZGlhbG9nIgpGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgQ09OVFJPTCAiIiwgcmN0MSwgIlN0YXRpYyIsIFNTX1dISVRFUkVDVCwgODAsIDgsIDgwLCA4MAogIENPTlRST0wgIiIsIHJjdDIsICJTdGF0aWMiLCBTU19HUkFZUkVDVCwgMTYwLCAxMiwgNCwgODAKICBDT05UUk9MICIiLCByY3QzLCAiU3RhdGljIiwgU1NfR1JBWVJFQ1QsICA4NCwgODgsIDgwLCA0CiAgR1JPVVBCT1ggIkth8P10IiwgZ3JwMiwgOCwgOTYsIDIyNCwgNTYsIEJTX0dST1VQQk9YCiAgTFRFWFQgIiZCb3l1dDoiLCBzdGMyLCAxNiwgMTEyLCAzNiwgOAogIENPTUJPQk9YIGNtYjIsIDY0LCAxMTAsIDgwLCAxNjAsIENCU19TSU1QTEV8Q0JTX0RST1BET1dOfENCU19TT1JUfFdTX0dST1VQfFdTX1RBQlNUT1B8V1NfVlNDUk9MTAogIENPTUJPQk9YIGNtYjEsIDE1MCwgMTEwLCA4MCwgMTYwLCBDQlNfU0lNUExFfENCU19EUk9QRE9XTnxDQlNfU09SVHxXU19HUk9VUHxXU19UQUJTVE9QfFdTX1ZTQ1JPTEwKICBMVEVYVCAiJlRlcHNpOiIsIHN0YzMsIDE2LCAxMzIsIDM2LCA4CiAgQ09NQk9CT1ggY21iMywgNjQsIDEzMCwgMTYwLCAxNjAsIENCU19TSU1QTEV8Q0JTX0RST1BET1dOfENCU19TT1JUfFdTX0dST1VQfFdTX1RBQlNUT1B8V1NfVlNDUk9MTAogIEdST1VQQk9YICJIaXphbGFtYSIsIGdycDEsIDgsIDE1NiwgNjQsIDU2LCBCU19HUk9VUEJPWAogIEFVVE9SQURJT0JVVFRPTiAiJkT8/mV5IiwgcmFkMSwgMTYsIDE3MCwgNTIsIDEyLCBCU19BVVRPUkFESU9CVVRUT04KICBBVVRPUkFESU9CVVRUT04gIiZZYXRheSIsIHJhZDIsIDE2LCAxOTAsIDUyLCAxMiwgQlNfQVVUT1JBRElPQlVUVE9OCiAgR1JPVVBCT1ggIktlbmFybP1rbGFyIiwgZ3JwNCwgODAsIDE1NiwgMTUyLCA1NiwgQlNfR1JPVVBCT1gKICBMVEVYVCAiUyZvbDoiLCBzdGMxNSwgODgsIDE3MiwgMjEsIDgKICBFRElUVEVYVCBlZHQ0LCAxMTEsIDE3MCwgMzksIDEyLCBXU19UQUJTVE9QfFdTX0dST1VQfFdTX0JPUkRFUgogIExURVhUICJTJmHwOiIsIHN0YzE2LCAxNTksIDE3MiwgMjcsIDgKICBFRElUVEVYVCBlZHQ2LCAxODcsIDE3MCwgMzksIDEyLCBXU19UQUJTVE9QfFdTX0dST1VQfFdTX0JPUkRFUgogIExURVhUICIm3HN0OiIsIHN0YzE3LCA4OCwgMTkyLCAyMSwgOAogIEVESVRURVhUIGVkdDUsIDExMSwgMTkwLCAzOSwgMTIsIFdTX1RBQlNUT1B8V1NfR1JPVVB8V1NfQk9SREVSCiAgTFRFWFQgIiZBbHQ6Iiwgc3RjMTgsIDE1OSwgMTkyLCAyMywgOAogIEVESVRURVhUIGVkdDcsIDE4NywgMTkwLCAzOSwgMTIsIFdTX1RBQlNUT1B8V1NfR1JPVVB8V1NfQk9SREVSCiAgREVGUFVTSEJVVFRPTiAiVGFtYW0iLCBJRE9LLCA3MSwgMjIwLCA1MCwgMTQsIEJTX1BVU0hCVVRUT04KICBQVVNIQlVUVE9OICLdcHRhbCIsIElEQ0FOQ0VMLCAxMjYsIDIyMCwgNTAsIDE0CiAgUFVTSEJVVFRPTiAiJllhev1j/S4uLiIsIHBzaDMsIDE4NCwgMjIwLCA0OCwgMTQKRU5ECg==