LyoKICogQ29weXJpZ2h0IChDKSAyMDExIFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CiAqCiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCiAqCiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCiAqLwovKioKICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogKiBAZmlsZSAgIE00Q29tbW9uX1R5cGVzLmgKICogQGJyaWVmICBkZWZpbmVzIGNvbW1vbiBzdHJ1Y3R1cmVzCiAqIEBub3RlCiAqCiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKi8KI2lmbmRlZiBNNENPTU1PTl9UWVBFU19ICiNkZWZpbmUgTTRDT01NT05fVFlQRVNfSAoKI2luY2x1ZGUgIk00T1NBX1R5cGVzLmgiCiNpbmNsdWRlICJNNE9TQV9NZW1vcnkuaCIKCi8qKgogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAqIHN0cnVjdHVyZSBNNENPTU1PTl9NZXRhZGF0YVR5cGUKICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgoqLwp0eXBlZGVmIGVudW0KewogICAgTTRDT01NT05fa1Vua25vd25NZXRhRGF0YVR5cGUsCiAgICAvKiBMb2NhbCBmaWxlcyAqLwogICAgTTRDT01NT05fa1RhZ0lEM3YxLCAgICAgICAgICAgICAgICAvKio8ICBNZXRhZGF0YSBmcm9tIFRBRyBJRDMgVjEgKi8KICAgIE00Q09NTU9OX2tUYWdJRDN2MiwgICAgICAgICAgICAgICAgLyoqPCAgTWV0YWRhdGEgZnJvbSBUQUcgSUQzIFYyICovCiAgICBNNENPTU1PTl9rQVNGQ29udGVudERlc2MsICAgICAgICAvKio8ICBNZXRhZGF0YSBmcm9tIEFTRiBjb250ZW50IGRlc2NyaXB0aW9uICAqLwoKICAgIE00Q09NTU9OX2szR3BwQXNzZXRNb3ZpZUJveCwgICAgLyoqPCAgTWV0YWRhdGEgZnJvbSBhIDNncHAgZmlsZSAobW92aWUgYm94KSAqLwogICAgTTRDT01NT05fazNHcHBBc3NldFRyYWNrQm94LCAgICAvKio8ICBNZXRhZGF0YSBmcm9tIGEgM2dwcCBmaWxlICh0cmFjayBib3gpICovCgogICAgLyogU3RyZWFtaW5nICovCiAgICBNNENPTU1PTl9rTWV0YURhdGFTZHBTZXNzaW9uLCAgICAvKio8ICBNZXRhZGF0YSBmcm9tIGFuIFNEUCBmaWxlIChTZXNzaW9uIGxldmVsKSAqLwogICAgTTRDT01NT05fa01ldGFEYXRhU2RwQXVkaW8sICAgICAgICAvKio8ICBNZXRhZGF0YSBmcm9tIGFuIFNEUCBmaWxlIChtZWRpYSBhdWRpbyBsZXZlbCkgKi8KICAgIE00Q09NTU9OX2tNZXRhRGF0YVNkcFZpZGVvLCAgICAgICAgLyoqPCAgTWV0YWRhdGEgZnJvbSBhbiBTRFAgZmlsZSAobWVkaWEgdmlkZW8gbGV2ZWwpICovCgogICAgTTRDT01NT05fa0pwZWdFeGlmICAgICAgICAgICAgICAgIC8qKjwgRVhJRiBpbiBKUEVHICovCn0gTTRDT01NT05fTWV0YWRhdGFUeXBlOwoKLyoqCiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICogZW51bWVyYXRpb24gICAgTTRWUFNfRW5jb2RpbmdGb3JtYXQKICogQGJyaWVmICAgICAgICBUZXh0IGVuY29kaW5nIGZvcm1hdAogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiovCnR5cGVkZWYgZW51bQp7CiAgICBNNENPTU1PTl9rRW5jRm9ybWF0VW5rbm93biAgICA9IDAsICAgICAgLyoqPCBVbmtub3duIGZvcm1hdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCiAgICBNNENPTU1PTl9rRW5jRm9ybWF0QVNDSUkgICAgPSAxLCAgICAgICAgLyoqPCBJU08tODg1OS0xLiBUZXJtaW5hdGVkIHdpdGggJDAwICAgICAgICAgICAgICAgICovCiAgICBNNENPTU1PTl9rRW5jRm9ybWF0VVRGOCAgICAgICAgPSAyLCAgICAgLyoqPCBVVEYtOCBlbmNvZGVkIFVuaWNvZGUgLiBUZXJtaW5hdGVkIHdpdGggJDAwICAgICovCiAgICBNNENPTU1PTl9rRW5jRm9ybWF0VVRGMTYgICAgPSAzICAgICAgICAgLyoqPCBVVEYtMTYgZW5jb2RlZCBVbmljb2RlLiBUZXJtaW5hdGVkIHdpdGggJDAwIDAwICovCn0gIE00Q09NTU9OX0VuY29kaW5nRm9ybWF0OwoKLyoqCiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICogc3RydWN0dXJlICAgIE00VlBTX1N0cmluZwogKiBAYnJpZWYgICAgICAgIFRoaXMgc3RydWN0dXJlIGRlZmluZXMgc3RyaW5nIGF0dHJpYnV0ZQogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiovCnR5cGVkZWYgc3RydWN0CnsKICAgIE00T1NBX1ZvaWQqICAgICAgICAgICAgbV9wU3RyaW5nOyAgICAgICAgICAgICAgICAvKio8IFBvaW50ZXIgdG8gdGV4dCAgICAgICAgKi8KICAgIE00T1NBX1VJbnQzMiAgICAgICAgbV91aVNpemU7ICAgICAgICAgICAgICAgIC8qKjwgVGV4dCBzaXplIGluIGJ5dGVzICAgICAgICAqLwogICAgTTRDT01NT05fRW5jb2RpbmdGb3JtYXQgICAgbV9FbmNvZGluZ0Zvcm1hdDsgICAgLyoqPCBUZXh0IGVuY29kaW5nIGZvcm1hdCAgICAqLwoKfSBNNENPTU1PTl9TdHJpbmc7CgovKioKICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogKiBzdHJ1Y3R1cmUgICAgTTRDT01NT05fQnVmZmVyCiAqIEBicmllZiAgICAgICAgVGhpcyBzdHJ1Y3R1cmUgZGVmaW5lcyBnZW5lcmljIGJ1ZmZlciBhdHRyaWJ1dGUKICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgoqLwp0eXBlZGVmIHN0cnVjdAp7CiAgICBNNE9TQV9NZW1BZGRyOCAgICAgICAgIG1fcEJ1ZmZlcjsgICAgICAgIC8qKjwgUG9pbnRlciB0byBidWZmZXIgICAgICAgICovCiAgICBNNE9TQV9VSW50MzIgICAgICAgIG1fc2l6ZTsgICAgICAgICAgICAvKio8IHNpemUgb2YgYnVmZmVyIGluIGJ5dGVzICAgICovCn0gTTRDT01NT05fQnVmZmVyOwoKdHlwZWRlZiBlbnVtCnsKICAgIE00Q09NTU9OX2tNaW1lVHlwZV9OT05FLAogICAgTTRDT01NT05fa01pbWVUeXBlX0pQRywKICAgIE00Q09NTU9OX2tNaW1lVHlwZV9QTkcsCiAgICBNNENPTU1PTl9rTWltZVR5cGVfQk1QLCAgIC8qIGJpdG1hcCwgd2l0aCBoZWFkZXIgKi8KICAgIE00Q09NTU9OX2tNaW1lVHlwZV9SR0IyNCwgLyogcmF3IFJHQiAyNCBiaXRzICovCiAgICBNNENPTU1PTl9rTWltZVR5cGVfUkdCNTY1LCAvKiByYXcsIFJHQiAxNiBiaXRzICovCiAgICBNNENPTU1PTl9rTWltZVR5cGVfWVVWNDIwLAogICAgTTRDT01NT05fa01pbWVUeXBlX01QRUc0X0lGcmFtZSAvKiBSQzogdG8gc3VwcG9ydCBQViBhcnQgKi8KCn0gTTRDT01NT05fTWltZVR5cGU7CgovKiBwaWN0dXJlIHR5cGUgZGVmaW5pdGlvbiBmcm9tIGlkM3YyIHRhZyovCnR5cGVkZWYgZW51bQp7CiAgICBNNENPTU1PTl9rUGljVHlwZV9PdGhlciAgICAgICAgICAgICAgICA9IDB4MDAsCiAgICBNNENPTU1PTl9rUGljVHlwZV8zMl8zMl9JY29uICAgICAgICAgICAgPSAweDAxLAogICAgTTRDT01NT05fa1BpY1R5cGVfT3RoZXJfSWNvbiAgICAgICAgICAgID0gMHgwMiwKICAgIE00Q09NTU9OX2tQaWNUeXBlX0Zyb250Q292ZXIgICAgICAgICAgICA9IDB4MDMsCiAgICBNNENPTU1PTl9rUGljVHlwZV9CYWNrQ292ZXIgICAgICAgICAgICA9IDB4MDQsCiAgICBNNENPTU1PTl9rUGljVHlwZV9MZWFmbGV0UGFnZSAgICAgICAgICAgID0gMHgwNSwKICAgIE00Q09NTU9OX2tQaWNUeXBlX01lZGlhICAgICAgICAgICAgICAgID0gMHgwNiwKICAgIE00Q09NTU9OX2tQaWNUeXBlX0xlYWRBcnRpc3QgICAgICAgICAgICA9IDB4MDcsCiAgICBNNENPTU1PTl9rUGljVHlwZV9BcnRpc3QgICAgICAgICAgICAgICAgPSAweDA4LAogICAgTTRDT01NT05fa1BpY1R5cGVfQ29uZHVjdG9yICAgICAgICAgICAgPSAweDA5LAogICAgTTRDT01NT05fa1BpY1R5cGVfT3JjaGVzdHJhICAgICAgICAgICAgPSAweDBBLAogICAgTTRDT01NT05fa1BpY1R5cGVfQ29tcG9zZXIgICAgICAgICAgICA9IDB4MEIsCiAgICBNNENPTU1PTl9rUGljVHlwZV9MeXJpY2lzdCAgICAgICAgICAgID0gMHgwQywKICAgIE00Q09NTU9OX2tQaWNUeXBlX1JlY29yZGluZ0xvY2F0aW9uICAgID0gMHgwRCwKICAgIE00Q09NTU9OX2tQaWNUeXBlX0R1cmluZ1JlY29yZGluZyAgICAgICAgPSAweDBFLAogICAgTTRDT01NT05fa1BpY1R5cGVfRHVyaW5nUGVyZm9ybWFuY2UgICAgPSAweDBGLAogICAgTTRDT01NT05fa1BpY1R5cGVfTW92aWVTY3JlZW5DYXB0dXJlICAgID0gMHgxMCwKICAgIE00Q09NTU9OX2tQaWNUeXBlX0JyaWdodENvbG91cmVkRmlzaCAgICA9IDB4MTEsCiAgICBNNENPTU1PTl9rUGljVHlwZV9JbGx1c3RyYXRpb24gICAgICAgID0gMHgxMiwKICAgIE00Q09NTU9OX2tQaWNUeXBlX0FydGlzdExvZ28gICAgICAgICAgICA9IDB4MTMsCiAgICBNNENPTU1PTl9rUGljVHlwZV9TdHVkaW9Mb2dvICAgICAgICAgICAgPSAweDE0Cn0gTTRDT01NT05fUGljdHVyZVR5cGU7CgovKioKICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogKiBlbnVtICAgICAgICBNNENPTU1PTl9PcmllbnRhdGlvbgogKiBAYnJpZWYgICAgICAgIFRoaXMgZW51bSBkZWZpbmVzIHRoZSBwb3NzaWJsZSBvcmllbnRhdGlvbiBvZiBhIGZyYW1lIGFzIGRlc2NyaWJlZAogKiAgICAgICAgICAgIGluIHRoZSBFWElGIHN0YW5kYXJkLgogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiovCnR5cGVkZWYgZW51bQp7CiAgICBNNENPTU1PTl9rT3JpZW50YXRpb25Vbmtub3duID0gMCwKICAgIE00Q09NTU9OX2tPcmllbnRhdGlvblRvcExlZnQsCiAgICBNNENPTU1PTl9rT3JpZW50YXRpb25Ub3BSaWdodCwKICAgIE00Q09NTU9OX2tPcmllbnRhdGlvbkJvdHRvbVJpZ2h0LAogICAgTTRDT01NT05fa09yaWVudGF0aW9uQm90dG9tTGVmdCwKICAgIE00Q09NTU9OX2tPcmllbnRhdGlvbkxlZnRUb3AsCiAgICBNNENPTU1PTl9rT3JpZW50YXRpb25SaWdodFRvcCwKICAgIE00Q09NTU9OX2tPcmllbnRhdGlvblJpZ2h0Qm90dG9tLAogICAgTTRDT01NT05fa09yaWVudGF0aW9uTGVmdEJvdHRvbQp9TTRDT01NT05fT3JpZW50YXRpb24gOwoKLyoqCiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICogc3RydWN0dXJlICAgIE00RVhJRkNfTG9jYXRpb24KICogQGJyaWVmICAgICAgICBUaGUgSW1hZ2UgR1BTIGxvY2F0aW9uIChleGFtcGxlIDogNDiwNTIuMjEnICkKICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgoqLwp0eXBlZGVmIHN0cnVjdAp7CiAgICBNNE9TQV9GbG9hdCAgICBkZWdyZWVzOwogICAgTTRPU0FfRmxvYXQgICAgbWluc2VjOwp9IE00Q09NTU9OX0xvY2F0aW9uOwoKLyoqCiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICogc3RydWN0dXJlICAgIE00Q09NTU9OX01ldGFEYXRhQWxidW1BcnQKICogQGJyaWVmICAgICAgICBUaGlzIHN0cnVjdHVyZSBkZWZpbmVzIGZpZWxkcyBvZiBhIGFsYnVtIGFydAogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiovCnR5cGVkZWYgc3RydWN0CnsKICAgIE00Q09NTU9OX01pbWVUeXBlICAgIG1fbWltZVR5cGU7CiAgICBNNE9TQV9VSW50MzIgICAgICAgIG1fdWlTaXplOwogICAgTTRPU0FfVm9pZCogICAgICAgICAgICBtX3BEYXRhOwoKICAgIE00Q09NTU9OX1N0cmluZyAgICAgICAgbV9wRGVzY3JpcHRpb247Cgp9IE00Q09NTU9OX01ldGFEYXRhQWxidW1BcnQ7CgovKioKICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogKiBzdHJ1Y3R1cmUgICAgTTRDT01NT05fTWV0YURhdGFGaWVsZHMKICogQGJyaWVmICAgICAgICBUaGlzIHN0cnVjdHVyZSBkZWZpbmVzIGZpZWxkcyBvZiBtZXRhZGF0YSBpbmZvcm1hdGlvbgogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiovCnR5cGVkZWYgc3RydWN0CnsKICAgIE00Q09NTU9OX01ldGFkYXRhVHlwZSAgICBtX01ldGFkYXRhVHlwZTsKCiAgICAvKiBNZXRhIGRhdGEgZmllbGRzICovCiAgICBNNENPTU1PTl9TdHJpbmcgICAgbV9wVGl0bGU7ICAgICAgICAgICAgLyoqPCBUaXRsZSBmb3IgdGhlIG1lZGlhICAqLwogICAgTTRDT01NT05fU3RyaW5nICAgIG1fcEFydGlzdDsgICAgICAgICAgICAvKio8IFBlcmZvcm1lciBvciBhcnRpc3QgKi8KICAgIE00Q09NTU9OX1N0cmluZyAgICBtX3BBbGJ1bTsgICAgICAgICAgICAvKio8IEFsYnVtIHRpdGxlIGZvciB0aGUgbWVkaWEgKi8KICAgIE00Q09NTU9OX1N0cmluZyAgICBtX3BBdXRob3I7ICAgICAgICAgICAgLyoqPCBBdXRob3Igb2YgdGhlIG1lZGlhICovCiAgICBNNENPTU1PTl9TdHJpbmcgICAgbV9wR2VucmU7ICAgICAgICAgICAgLyoqPCBHZW5yZSAoY2F0ZWdvcnkgYW5kIHN0eWxlKSBvZiB0aGUgbWVkaWEgKi8KICAgIE00Q09NTU9OX1N0cmluZyAgICBtX3BEZXNjcmlwdGlvbjsgICAgICAgIC8qKjwgQ2FwdGlvbiBvciBkZXNjcmlwdGlvbiBmb3IgdGhlIG1lZGlhICovCiAgICBNNENPTU1PTl9TdHJpbmcgICAgbV9wQ29weVJpZ2h0czsgICAgICAgIC8qKjwgTm90aWNlIGFib3V0IG9yZ2FuaXphdGlvbiBob2xkaW5nIGNvcHlyaWdodAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciB0aGUgbWVkaWEgZmlsZSAqLwogICAgTTRDT01NT05fU3RyaW5nICAgIG1fcFJlY29yZGluZ1llYXI7ICAgIC8qKjwgUmVjb3JkaW5nIHllYXIgZm9yIHRoZSBtZWRpYSAqLwogICAgTTRDT01NT05fU3RyaW5nICAgIG1fcFJhdGluZzsgICAgICAgICAgICAvKio8IE1lZGlhIHJhdGluZyAqLwoKICAgIE00Q09NTU9OX1N0cmluZyAgICBtX3BDbGFzc2lmaWNhdGlvbjsgICAgLyoqPCBDbGFzc2lmaWNhdGlvbiBvZiB0aGUgbWVkaWEgKi8KICAgIE00Q09NTU9OX1N0cmluZyAgICBtX3BLZXlXb3JkczsgICAgICAgIC8qKjwgTWVkaWEga2V5d29yZHMgKi8KICAgIE00Q09NTU9OX1N0cmluZyAgICBtX3BMb2NhdGlvbjsgICAgICAgIC8qKjwgTG9jYXRpb24gaW5mb3JtYXRpb24gKi8KICAgIE00Q09NTU9OX1N0cmluZyAgICBtX3BVcmw7ICAgICAgICAgICAgICAgIC8qKjwgUmVmZXJlbmNlIG9mIHRoZSByZXNvdXJjZSAqLwoKICAgIE00T1NBX1VJbnQ4ICAgICAgICBtX3VpVHJhY2tOdW1iZXI7ICAgIC8qKjwgVHJhY2sgbnVtYmVyIGZvciB0aGUgbWVkaWEqLwogICAgTTRPU0FfVUludDMyICAgIG1fdWlEdXJhdGlvbjsgICAgICAgIC8qKjwgVGhlIHRyYWNrIGR1cmF0aW9uIGluIG1pbGxpc2Vjb25kcyAqLwoKICAgIE00Q09NTU9OX01ldGFEYXRhQWxidW1BcnQgICAgbV9hbGJ1bUFydDsgICAgLyoqPCBBbGJ1bUFydCBkZXNjcmlwdGlvbiAqLwogICAgTTRDT01NT05fU3RyaW5nICAgICAgICAgICAgICAgIG1fcE1vb2Q7ICAgIC8qKjwgTW9vZCBvZiB0aGUgbWVkaWEgKi8KCiAgICAvKio8IE1vZGlmcyBBQ08gNC8xMi8wNyA6IGFkZCBFeGlmIHNwZWNpZmljIGluZm9zICovCiAgICBNNENPTU1PTl9TdHJpbmcgICAgbV9wQ3JlYXRpb25EYXRlVGltZTsgICAgLyoqPCBkYXRlIGFuZCB0aW1lIG9yaWdpbmFsIGltYWdlIHdhcyBnZW5lcmF0ZWQgKi8KICAgIE00Q09NTU9OX1N0cmluZyAgICBtX3BMYXN0Q2hhbmdlRGF0ZVRpbWU7ICAgIC8qKjwgZmlsZSBjaGFuZ2UgZGF0ZSBhbmQgdGltZSAqLwogICAgTTRDT01NT05fU3RyaW5nICAgIG1fcE1hbnVmYWN0dXJlcjsgICAgICAgIC8qKjwgbWFudWZhY3R1cmVyIG9mIGltYWdlIGlucHV0IGVxdWlwbWVudCAqLwogICAgTTRDT01NT05fU3RyaW5nICAgIG1fcE1vZGVsOyAgICAgICAgICAgICAgICAvKio8IG1vZGVsIG9mIGltYWdlIGlucHV0IGVxdWlwbWVudCAqLwogICAgTTRDT01NT05fU3RyaW5nICAgIG1fcFNvZnR3YXJlOyAgICAgICAgICAgIC8qKjwgc29mdHdhcmUgdXNlZCAqLwogICAgTTRDT01NT05fT3JpZW50YXRpb24gbV9PcmllbnRhdGlvbjsgICAgICAgIC8qKjwgT3JpZW50YXRpb24gb2YgdGhlIHBpY3R1cmUgKi8KCiAgICAvKio8IE1vZGlmcyBGUyAyOS8wOC8wOCA6IGFkZGl0aW9ubmFsIEV4aWYgaW5mb3MgKi8KICAgIE00T1NBX1VJbnQzMiAgICBtX3dpZHRoOyAgICAgICAgICAgIC8qKjwgaW1hZ2Ugd2lkdGggaW4gcGl4ZWxzICovCiAgICBNNE9TQV9VSW50MzIgICAgbV9oZWlnaHQ7ICAgICAgICAgICAgLyoqPCBpbWFnZSBoZWlnaHQgaW4gcGl4ZWxzICovCiAgICBNNE9TQV9VSW50MzIgICAgbV90aHVtYm5haWxTaXplOyAgICAvKio8IHNpemUgb2YgdGhlIHRodW1ibmFpbCAqLwogICAgTTRDT01NT05fU3RyaW5nICAgIG1fcExhdGl0dWRlUmVmOyAgICAgICAgLyoqPCBMYXRpdHVkZSByZWZlcmVuY2UgKi8KICAgIE00Q09NTU9OX0xvY2F0aW9uIG1fbGF0aXR1ZGU7ICAgICAgICAvKio8IExhdGl0dWRlICovCiAgICBNNENPTU1PTl9TdHJpbmcgICAgbV9wTG9uZ2l0dWRlUmVmOyAgICAvKio8IExvbmdpdHVkZSByZWZlcmVuY2UgKi8KICAgIE00Q09NTU9OX0xvY2F0aW9uIG1fbG9uZ2l0dWRlOyAgICAgICAgLyoqPCBMb25naXR1ZGUgICovCgp9IE00Q09NTU9OX01ldGFEYXRhRmllbGRzOwoKCiNlbmRpZiAvKk00Q09NTU9OX1RZUEVTX0gqLwoK