IwojICRYRnJlZTg2OiB4Yy9saWIvZm9udGNvbmZpZy9mYy1sYW5nL2FyLm9ydGgsdiAxLjIgMjAwMi8wNy8wNiAyMzo1OToxNSBrZWl0aHAgRXhwICQKIwojIENvcHlyaWdodCCpIDIwMDIgS2VpdGggUGFja2FyZCwgbWVtYmVyIG9mIFRoZSBYRnJlZTg2IFByb2plY3QsIEluYy4KIwojIFBlcm1pc3Npb24gdG8gdXNlLCBjb3B5LCBtb2RpZnksIGRpc3RyaWJ1dGUsIGFuZCBzZWxsIHRoaXMgc29mdHdhcmUgYW5kIGl0cwojIGRvY3VtZW50YXRpb24gZm9yIGFueSBwdXJwb3NlIGlzIGhlcmVieSBncmFudGVkIHdpdGhvdXQgZmVlLCBwcm92aWRlZCB0aGF0CiMgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYXBwZWFyIGluIGFsbCBjb3BpZXMgYW5kIHRoYXQgYm90aCB0aGF0CiMgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBhcHBlYXIgaW4gc3VwcG9ydGluZwojIGRvY3VtZW50YXRpb24sIGFuZCB0aGF0IHRoZSBuYW1lIG9mIEtlaXRoIFBhY2thcmQgbm90IGJlIHVzZWQgaW4KIyBhZHZlcnRpc2luZyBvciBwdWJsaWNpdHkgcGVydGFpbmluZyB0byBkaXN0cmlidXRpb24gb2YgdGhlIHNvZnR3YXJlIHdpdGhvdXQKIyBzcGVjaWZpYywgd3JpdHRlbiBwcmlvciBwZXJtaXNzaW9uLiAgS2VpdGggUGFja2FyZCBtYWtlcyBubwojIHJlcHJlc2VudGF0aW9ucyBhYm91dCB0aGUgc3VpdGFiaWxpdHkgb2YgdGhpcyBzb2Z0d2FyZSBmb3IgYW55IHB1cnBvc2UuICBJdAojIGlzIHByb3ZpZGVkICJhcyBpcyIgd2l0aG91dCBleHByZXNzIG9yIGltcGxpZWQgd2FycmFudHkuCiMKIyBLRUlUSCBQQUNLQVJEIERJU0NMQUlNUyBBTEwgV0FSUkFOVElFUyBXSVRIIFJFR0FSRCBUTyBUSElTIFNPRlRXQVJFLAojIElOQ0xVRElORyBBTEwgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUywgSU4gTk8KIyBFVkVOVCBTSEFMTCBLRUlUSCBQQUNLQVJEIEJFIExJQUJMRSBGT1IgQU5ZIFNQRUNJQUwsIElORElSRUNUIE9SCiMgQ09OU0VRVUVOVElBTCBEQU1BR0VTIE9SIEFOWSBEQU1BR0VTIFdIQVRTT0VWRVIgUkVTVUxUSU5HIEZST00gTE9TUyBPRiBVU0UsCiMgREFUQSBPUiBQUk9GSVRTLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgTkVHTElHRU5DRSBPUiBPVEhFUgojIFRPUlRJT1VTIEFDVElPTiwgQVJJU0lORyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBVU0UgT1IKIyBQRVJGT1JNQU5DRSBPRiBUSElTIFNPRlRXQVJFLgojCiMgQXJhYmljIChBUikKIwojIEdlbmVyYWwgZm9ybXMuICBMZWF2ZSB0aGVzZSBvdXQgZm9yIG5vdyBhcyBtb3N0IHNvZnR3YXJlCiMgZXhwZWN0cyBwcmVzZW50YXRpb24gZm9ybXMuCiMKIzA2MEMJIyBBUkFCSUMgQ09NTUEKIzA2MUIJIyBBUkFCSUMgU0VNSUNPTE9OCiMwNjFGCSMgQVJBQklDIFFVRVNUSU9OIE1BUksKIzA2MjEJIyBBUkFCSUMgTEVUVEVSIEhBTVpBCiMwNjIyCSMgQVJBQklDIExFVFRFUiBBTEVGIFdJVEggTUFEREEgQUJPVkUKIzA2MjMJIyBBUkFCSUMgTEVUVEVSIEFMRUYgV0lUSCBIQU1aQSBBQk9WRQojMDYyNAkjIEFSQUJJQyBMRVRURVIgV0FXIFdJVEggSEFNWkEgQUJPVkUKIzA2MjUJIyBBUkFCSUMgTEVUVEVSIEFMRUYgV0lUSCBIQU1aQSBCRUxPVwojMDYyNgkjIEFSQUJJQyBMRVRURVIgWUVIIFdJVEggSEFNWkEgQUJPVkUKIzA2MjcJIyBBUkFCSUMgTEVUVEVSIEFMRUYKIzA2MjgJIyBBUkFCSUMgTEVUVEVSIEJFSAojMDYyOQkjIEFSQUJJQyBMRVRURVIgVEVIIE1BUkJVVEEKIzA2MkEJIyBBUkFCSUMgTEVUVEVSIFRFSAojMDYyQgkjIEFSQUJJQyBMRVRURVIgVEhFSAojMDYyQwkjIEFSQUJJQyBMRVRURVIgSkVFTQojMDYyRAkjIEFSQUJJQyBMRVRURVIgSEFICiMwNjJFCSMgQVJBQklDIExFVFRFUiBLSEFICiMwNjJGCSMgQVJBQklDIExFVFRFUiBEQUwKIzA2MzAJIyBBUkFCSUMgTEVUVEVSIFRIQUwKIzA2MzEJIyBBUkFCSUMgTEVUVEVSIFJFSAojMDYzMgkjIEFSQUJJQyBMRVRURVIgWkFJTgojMDYzMwkjIEFSQUJJQyBMRVRURVIgU0VFTgojMDYzNAkjIEFSQUJJQyBMRVRURVIgU0hFRU4KIzA2MzUJIyBBUkFCSUMgTEVUVEVSIFNBRAojMDYzNgkjIEFSQUJJQyBMRVRURVIgREFECiMwNjM3CSMgQVJBQklDIExFVFRFUiBUQUgKIzA2MzgJIyBBUkFCSUMgTEVUVEVSIFpBSAojMDYzOQkjIEFSQUJJQyBMRVRURVIgQUlOCiMwNjNBCSMgQVJBQklDIExFVFRFUiBHSEFJTgojMDY0MAkjIEFSQUJJQyBUQVRXRUVMCiMwNjQxCSMgQVJBQklDIExFVFRFUiBGRUgKIzA2NDIJIyBBUkFCSUMgTEVUVEVSIFFBRgojMDY0MwkjIEFSQUJJQyBMRVRURVIgS0FGCiMwNjQ0CSMgQVJBQklDIExFVFRFUiBMQU0KIzA2NDUJIyBBUkFCSUMgTEVUVEVSIE1FRU0KIzA2NDYJIyBBUkFCSUMgTEVUVEVSIE5PT04KIzA2NDcJIyBBUkFCSUMgTEVUVEVSIEhFSAojMDY0OAkjIEFSQUJJQyBMRVRURVIgV0FXCiMwNjQ5CSMgQVJBQklDIExFVFRFUiBBTEVGIE1BS1NVUkEKIzA2NEEJIyBBUkFCSUMgTEVUVEVSIFlFSAojMDY0QgkjIEFSQUJJQyBGQVRIQVRBTgojMDY0QwkjIEFSQUJJQyBEQU1NQVRBTgojMDY0RAkjIEFSQUJJQyBLQVNSQVRBTgojMDY0RQkjIEFSQUJJQyBGQVRIQQojMDY0RgkjIEFSQUJJQyBEQU1NQQojMDY1MAkjIEFSQUJJQyBLQVNSQQojMDY1MQkjIEFSQUJJQyBTSEFEREEKIzA2NTIJIyBBUkFCSUMgU1VLVU4KIwojIERhdGEgZnJvbSBSb296YmVoIFBvdXJuYWRlciA8cm9vemJlaEBzaGFyaWYuZWR1PgojCiMgU2VsZWN0IGZvbnRzIGJhc2VkIG9uIHN1cHBvcnQgZm9yIHByZXNlbnRhdGlvbiBmb3JtczsgdGhpcyBtYXkKIyBleGNsdWRlIHNvbWUgT3BlblR5cGUgZm9udHMsIGJ1dCB0aGUgaG9wZSBpcyB0aG9zZSB3b3VsZCBiZQojIGxvY2F0ZWQgYnkgYSBjbGV2ZXIgc2hhcGVyIGJ5IFVuaWNvZGUgY29kZXBvaW50cyBpbiBhbnkgY2FzZS4KIwojIEdlbmVyYWwgRm9ybXM6CiMwNjIxLTA2M2EKIzA2NDEtMDY0YQojIFByZXNlbnRhdGlvbnMgRm9ybXM6CmZlODAtZmVmYwo=