LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLyogIGZ0Y29uZmlnLmggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLyogICAgQW1pZ2Etc3BlY2lmaWMgY29uZmlndXJhdGlvbiBmaWxlIChzcGVjaWZpY2F0aW9uIG9ubHkpLiAgICAgICAgICAgICAgKi8KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLyogIENvcHlyaWdodCAoQykgMjAwNS0yMDIyIGJ5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLyogIFdlcm5lciBMZW1iZXJnIGFuZCBEZXRsZWYgV/xya25lci4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLyogIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBGcmVlVHlwZSBwcm9qZWN0LCBhbmQgbWF5IG9ubHkgYmUgdXNlZCwgICAgICAgKi8KLyogIG1vZGlmaWVkLCBhbmQgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBGcmVlVHlwZSBwcm9qZWN0ICAgICAgKi8KLyogIGxpY2Vuc2UsIExJQ0VOU0UuVFhULiAgQnkgY29udGludWluZyB0byB1c2UsIG1vZGlmeSwgb3IgZGlzdHJpYnV0ZSAgICAgKi8KLyogIHRoaXMgZmlsZSB5b3UgaW5kaWNhdGUgdGhhdCB5b3UgaGF2ZSByZWFkIHRoZSBsaWNlbnNlIGFuZCAgICAgICAgICAgICAgKi8KLyogIHVuZGVyc3RhbmQgYW5kIGFjY2VwdCBpdCBmdWxseS4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KCi8qCiAqIFRoaXMgaXMgYW4gZXhhbXBsZSBob3cgdG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgRnJlZVR5cGUyIGhlYWRlciBmaWxlcwogKiB3aXRoIEFtaWdhLXNwZWNpZmljIGNoYW5nZXMuIFdoZW4gdGhlIGNvbXBpbGVyIHNlYXJjaGVzIHRoaXMgZGlyZWN0b3J5CiAqIGJlZm9yZSB0aGUgZGVmYXVsdCBkaXJlY3RvcnksIHdlIGNhbiBkbyBzb21lIG1vZGlmaWNhdGlvbnMuCiAqCiAqIEhlcmUgd2UgbXVzdCBjaGFuZ2UgRlRfRVhQT1JUX0RFRiBzbyB0aGF0IFNBUy9DIGRvZXMKICogZ2VuZXJhdGUgdGhlIG5lZWRlZCBYREVGcy4KICovCgojaWYgMAojZGVmaW5lIEZUX0VYUE9SVF9ERUYoIHggKSAgZXh0ZXJuICB4CiNlbmRpZgoKI3VuZGVmIEZUX0VYUE9SVF9ERUYKI2RlZmluZSBGVF9FWFBPUlRfREVGKCB4ICkgIHgKCi8qIE5vdyBpbmNsdWRlIHRoZSBvcmlnaW5hbCBmaWxlICovCiNpZm5kZWYgX19NT1JQSE9TX18KI2lmZGVmIF9fU0FTQwojaW5jbHVkZSAiRlQ6aW5jbHVkZS9mcmVldHlwZS9jb25maWcvZnRjb25maWcuaCIKI2Vsc2UKI2luY2x1ZGUgIi9GVC9pbmNsdWRlL2ZyZWV0eXBlL2NvbmZpZy9mdGNvbmZpZy5oIgojZW5kaWYKI2Vsc2UKLyogV2UgbXVzdCBkZWZpbmUgdGhhdCwgaXQgc2VlbXMgdGhhdAogKiBsaWIvZ2NjLWxpYi9wcGMtbW9ycGhvcy8yLjk1LjMvaW5jbHVkZS9zeXNsaW1pdHMuaCBpcyBtaXNzaW5nIGluCiAqIHBwYy1tb3JwaG9zLWdjYy0yLjk1LjMtYmluLnRneiAoZ2NjIGZvciA2OGsgcHJvZHVjaW5nIE1vcnBoT1MgUFBDIGVsZgogKiBiaW5hcmllcyBmcm9tIGh0dHA6Ly93d3cubW9ycGhvcy5kZSkKICovCiNkZWZpbmUgX0xJQkNfTElNSVRTX0hfCiNpbmNsdWRlICIvRlQvaW5jbHVkZS9mcmVldHlwZS9jb25maWcvZnRjb25maWcuaCIKI2VuZGlmCgovKgpMb2NhbCBWYXJpYWJsZXM6CmNvZGluZzogbGF0aW4tMQpFbmQ6CiovCg==