Avaloq Developer
Hackajob
Software Engineering
Pune, Maharashtra, India
Posted on Mar 10, 2026
hackajob is collaborating with Barclays to connect them with exceptional professionals for this role.
PHA+Sm9pbiB1cyBhcyBhbiBBdmFsb3EgSmF2YSBEZXZlbG9wZXIgYXQgQmFyY2xheXMsIHdoZXJlIHlvdSdsbCB0YWtlIHBhcnQgaW4gdGhlIGV2b2x1dGlvbiBvZiBvdXIgZGlnaXRhbCBsYW5kc2NhcGUsIGRyaXZpbmcgaW5ub3ZhdGlvbiBhbmQgZXhjZWxsZW5jZS4gWW91J2xsIGhhcm5lc3MgY3V0dGluZy1lZGdlIHRlY2hub2xvZ3kgdG8gcmV2b2x1dGlvbmlzZSBvdXIgZGlnaXRhbCBvZmZlcmluZ3MsIGVuc3VyaW5nIHVucGFyYWxsZWxlZCBjdXN0b21lciBleHBlcmllbmNlcy4gQXMgYSBwYXJ0IG9mIHRoZSB0ZWFtLCB5b3Ugd2lsbCBkZWxpdmVyIHRlY2hub2xvZ3kgc3RhY2ssIHVzaW5nIHN0cm9uZyBhbmFseXRpY2FsIGFuZCBwcm9ibGVtIHNvbHZpbmcgc2tpbGxzIHRvIHVuZGVyc3RhbmQgdGhlIGJ1c2luZXNzIHJlcXVpcmVtZW50cyBhbmQgZGVsaXZlciBxdWFsaXR5IHNvbHV0aW9ucy4gWW91J2xsIGJlIHdvcmtpbmcgb24gY29tcGxleCB0ZWNobmljYWwgcHJvYmxlbXMgdGhhdCB3aWxsIGludm9sdmUgZGV0YWlsZWQgYW5hbHl0aWNhbCBza2lsbHMgYW5kIGFuYWx5c2lzLiBUaGlzIHdpbGwgYmUgZG9uZSBpbiBjb25qdW5jdGlvbiB3aXRoIGZlbGxvdyBlbmdpbmVlcnMsIGJ1c2luZXNzIGFuYWx5c3RzIGFuZCBidXNpbmVzcyBzdGFrZWhvbGRlcnMuwqA8L3A+PHA+VG8gYmUgc3VjY2Vzc2Z1bCBhcyBhbiBBdmFsb3EgSmF2YSBEZXZlbG9wZXIgeW91IHNob3VsZCBoYXZlIGV4cGVyaWVuY2Ugd2l0aDo8L3A+PHVsPjxsaT48cD5Hb29kIGV4cGVyaWVuY2UgaW4gU3ByaW5nIE1WQywgU3ByaW5nIGJvb3QsIEFwYWNoZSBDYW1lbCwgV2Vic2VydmljZXMoU09BUCAmYW1wOyBSRVNUKSwgTWF2ZW4sIEplbmtpbnMsIE9wZW5zaGlmdCA8L3A+PC9saT48bGk+RXhwZXJ0IGtub3dsZWRnZSBvZiBzb3VyY2UgY29udHJvbCBhbmQgcmVsZWFzZSBtYW5hZ2VtZW50IHNvZnR3YXJlIGxpa2UgR2l0LCBBZ2lsZSBDZW50cmFsLCBKSVJBIGFuZCBJQ0UuIFRoaXMgaW5jbHVkZXMgdGhlIGFiaWxpdHkgdG8gcHV0IGluIHBsYWNlIHRoZXNlIHR5cGVzIG9mIHRvb2xzLCB0aGUgcmVsYXRlZCBwcm9jZXNzZXMgYW5kIGJlc3QgcHJhY3RpY2VzLjwvbGk+PGxpPktub3dsZWRnZSBvZiBTUUwgLyBTUUwrIC8gU1FMIERldmVsb3BlciBhbmQgVE9BRCwgT3JhY2xlIERCIGFkbWluaXN0cmF0aW9uLCBXaW5kb3dzIGFuZCBVTklYPC9saT48bGk+QW5hbHl0aWNhbCBTa2lsbHMgYXMgd2VsbCBhcyBzdHJvbmcgcHJvYmxlbSBzb2x2aW5nIHNraWxsczwvbGk+PGxpPkNhcGFjaXR5IHRvIHN0YW5kIGdyb3VuZCBhcyBhIGdhdGVrZWVwZXIgZm9yIHNvZnR3YXJlIHF1YWxpdHksIHdoaWxlIHJlbWFpbmluZyBzb2x1dGlvbiBvcmllbnRlZDwvbGk+PGxpPkFibGUgdG8gd29yayBib3RoIGluZGVwZW5kZW50bHkgYW5kIHdpdGhpbiBhIHRlYW0gZW52aXJvbm1lbnQgYXMgd2VsbCBhcyBsZWFkaW5nIHJlc291cmNlcyB3aXRoaW4gdGhlIHRlYW0gdG8gZXhjZWxsZW5jZTwvbGk+PGxpPkFibGUgdG8gbWFuYWdlIG93biB3b3JrbG9hZCBhbmQgdGltZSBlZmZlY3RpdmVseSBhcyB3ZWxsIGFzIHRoZSB0ZWFt4oCZcyB3b3JrbG9hZDwvbGk+PGxpPkV4cGVyaWVuY2Ugd2l0aCBBdmFsb3Egd291bGQgYmUgYSBzdHJvbmcgcGx1czwvbGk+PGxpPktub3dsZWRnZSBvZiBzY3JpcHRpbmcgbGFuZ3VhZ2VzIGtzaCwgcGVybDwvbGk+PGxpPktub3dsZWRnZSBvZiBlbnRlcnByaXNlIHNjaGVkdWxlciAoQXV0b3N5cyk8L2xpPjwvdWw+PHA+U29tZSBvdGhlciBoaWdobHkgdmFsdWVkIHNraWxscyBpbmNsdWRlOjwvcD48dWw+PGxpPlByaW9yIFJlbGVhc2UsIEJ1aWxkLCBFbnZpcm9ubWVudCBvciBDb25maWd1cmF0aW9uIE1hbmFnZW1lbnQgZXhwZXJpZW5jZS48L2xpPjxsaT5Xb3JrIGV4cGVyaWVuY2UgaW4gdGhlIGZpbmFuY2lhbCBpbmR1c3RyeSBwcmVmZXJyZWQuPC9saT48L3VsPjxwPllvdSBtYXkgYmUgYXNzZXNzZWQgb24ga2V5IGNyaXRpY2FsIHNraWxscyByZWxldmFudCBmb3Igc3VjY2VzcyBpbiByb2xlLCBzdWNoIGFzIHJpc2sgYW5kIGNvbnRyb2xzLCBjaGFuZ2UgYW5kIHRyYW5zZm9ybWF0aW9uLCBidXNpbmVzcyBhY3VtZW4sIHN0cmF0ZWdpYyB0aGlua2luZyBhbmQgZGlnaXRhbCBhbmQgdGVjaG5vbG9neSwgYXMgd2VsbCBhcyBqb2Itc3BlY2lmaWMgdGVjaG5pY2FsIHNraWxscy48L3A+PHA+VGhpcyByb2xlIGlzIGJhc2VkIGluIFB1bmUuPC9wPjx1bD48L3VsPgo8cD48Yj5QdXJwb3NlIG9mIHRoZSByb2xlPC9iPjwvcD48cD5UbyBkZXNpZ24sIGRldmVsb3AgYW5kIGltcHJvdmUgc29mdHdhcmUsIHV0aWxpc2luZyB2YXJpb3VzIGVuZ2luZWVyaW5nIG1ldGhvZG9sb2dpZXMsIHRoYXQgcHJvdmlkZXMgYnVzaW5lc3MsIHBsYXRmb3JtLCBhbmQgdGVjaG5vbG9neSBjYXBhYmlsaXRpZXMgZm9yIG91ciBjdXN0b21lcnMgYW5kIGNvbGxlYWd1ZXMuwqA8L3A+PHA+PGI+QWNjb3VudGFiaWxpdGllczwvYj48L3A+PHVsPjxsaT5EZXZlbG9wbWVudCBhbmQgZGVsaXZlcnkgb2YgaGlnaC1xdWFsaXR5IHNvZnR3YXJlIHNvbHV0aW9ucyBieSB1c2luZyBpbmR1c3RyeSBhbGlnbmVkIHByb2dyYW1taW5nIGxhbmd1YWdlcywgZnJhbWV3b3JrcywgYW5kIHRvb2xzLiBFbnN1cmluZyB0aGF0IGNvZGUgaXMgc2NhbGFibGUsIG1haW50YWluYWJsZSwgYW5kIG9wdGltaXplZCBmb3IgcGVyZm9ybWFuY2UuPC9saT48bGk+Q3Jvc3MtZnVuY3Rpb25hbCBjb2xsYWJvcmF0aW9uIHdpdGggcHJvZHVjdCBtYW5hZ2VycywgZGVzaWduZXJzLCBhbmQgb3RoZXIgZW5naW5lZXJzIHRvIGRlZmluZSBzb2Z0d2FyZSByZXF1aXJlbWVudHMsIGRldmlzZSBzb2x1dGlvbiBzdHJhdGVnaWVzLCBhbmQgZW5zdXJlIHNlYW1sZXNzIGludGVncmF0aW9uIGFuZCBhbGlnbm1lbnQgd2l0aCBidXNpbmVzcyBvYmplY3RpdmVzLjwvbGk+PGxpPkNvbGxhYm9yYXRpb24gd2l0aCBwZWVycywgcGFydGljaXBhdGUgaW4gY29kZSByZXZpZXdzLCBhbmQgcHJvbW90ZSBhIGN1bHR1cmUgb2YgY29kZSBxdWFsaXR5IGFuZCBrbm93bGVkZ2Ugc2hhcmluZy48L2xpPjxsaT5TdGF5IGluZm9ybWVkIG9mIGluZHVzdHJ5IHRlY2hub2xvZ3kgdHJlbmRzIGFuZCBpbm5vdmF0aW9ucyBhbmQgYWN0aXZlbHkgY29udHJpYnV0ZSB0byB0aGUgb3JnYW5pemF0aW9u4oCZcyB0ZWNobm9sb2d5IGNvbW11bml0aWVzIHRvIGZvc3RlciBhIGN1bHR1cmUgb2YgdGVjaG5pY2FsIGV4Y2VsbGVuY2UgYW5kIGdyb3d0aC48L2xpPjxsaT5BZGhlcmVuY2UgdG8gc2VjdXJlIGNvZGluZyBwcmFjdGljZXMgdG8gbWl0aWdhdGUgdnVsbmVyYWJpbGl0aWVzLCBwcm90ZWN0IHNlbnNpdGl2ZSBkYXRhLCBhbmQgZW5zdXJlIHNlY3VyZSBzb2Z0d2FyZSBzb2x1dGlvbnMuPC9saT48bGk+SW1wbGVtZW50YXRpb24gb2YgZWZmZWN0aXZlIHVuaXQgdGVzdGluZyBwcmFjdGljZXMgdG8gZW5zdXJlIHByb3BlciBjb2RlIGRlc2lnbiwgcmVhZGFiaWxpdHksIGFuZCByZWxpYWJpbGl0eS48L2xpPjwvdWw+PHA+PGI+QW5hbHlzdCBFeHBlY3RhdGlvbnM8L2I+PC9wPjx1bD48bGk+VG8gcGVyZm9ybSBwcmVzY3JpYmVkIGFjdGl2aXRpZXMgaW4gYSB0aW1lbHkgbWFubmVyIGFuZCB0byBhIGhpZ2ggc3RhbmRhcmQgY29uc2lzdGVudGx5IGRyaXZpbmcgY29udGludW91cyBpbXByb3ZlbWVudC48L2xpPjxsaT5SZXF1aXJlcyBpbi1kZXB0aCB0ZWNobmljYWwga25vd2xlZGdlIGFuZCBleHBlcmllbmNlIGluIHRoZWlyIGFzc2lnbmVkIGFyZWEgb2YgZXhwZXJ0aXNlPC9saT48bGk+VGhvcm91Z2ggdW5kZXJzdGFuZGluZyBvZiB0aGUgdW5kZXJseWluZyBwcmluY2lwbGVzIGFuZCBjb25jZXB0cyB3aXRoaW4gdGhlIGFyZWEgb2YgZXhwZXJ0aXNlPC9saT48bGk+VGhleSBsZWFkIGFuZCBzdXBlcnZpc2UgYSB0ZWFtLCBndWlkaW5nIGFuZCBzdXBwb3J0aW5nIHByb2Zlc3Npb25hbCBkZXZlbG9wbWVudCwgYWxsb2NhdGluZyB3b3JrIHJlcXVpcmVtZW50cyBhbmQgY29vcmRpbmF0aW5nIHRlYW0gcmVzb3VyY2VzLjwvbGk+PGxpPklmIHRoZSBwb3NpdGlvbiBoYXMgbGVhZGVyc2hpcCByZXNwb25zaWJpbGl0aWVzLCBQZW9wbGUgTGVhZGVycyBhcmUgZXhwZWN0ZWQgdG8gZGVtb25zdHJhdGUgYSBjbGVhciBzZXQgb2YgbGVhZGVyc2hpcCBiZWhhdmlvdXJzIHRvIGNyZWF0ZSBhbiBlbnZpcm9ubWVudCBmb3IgY29sbGVhZ3VlcyB0byB0aHJpdmUgYW5kIGRlbGl2ZXIgdG8gYSBjb25zaXN0ZW50bHkgZXhjZWxsZW50IHN0YW5kYXJkLiBUaGUgZm91ciBMRUFEIGJlaGF2aW91cnMgYXJlOiBMIOKAkyBMaXN0ZW4gYW5kIGJlIGF1dGhlbnRpYywgRSDigJMgRW5lcmdpc2UgYW5kIGluc3BpcmUsIEEg4oCTIEFsaWduIGFjcm9zcyB0aGUgZW50ZXJwcmlzZSwgRCDigJMgRGV2ZWxvcCBvdGhlcnMuPC9saT48bGk+T1IgZm9yIGFuIGluZGl2aWR1YWwgY29udHJpYnV0b3IsIHRoZXkgZGV2ZWxvcCB0ZWNobmljYWwgZXhwZXJ0aXNlIGluIHdvcmsgYXJlYSwgYWN0aW5nIGFzIGFuIGFkdmlzb3Igd2hlcmUgYXBwcm9wcmlhdGUuPC9saT48bGk+V2lsbCBoYXZlIGFuIGltcGFjdCBvbiB0aGUgd29yayBvZiByZWxhdGVkIHRlYW1zIHdpdGhpbiB0aGUgYXJlYS48L2xpPjxsaT5QYXJ0bmVyIHdpdGggb3RoZXIgZnVuY3Rpb25zIGFuZCBidXNpbmVzcyBhcmVhcy48L2xpPjxsaT5UYWtlcyByZXNwb25zaWJpbGl0eSBmb3IgZW5kIHJlc3VsdHMgb2YgYSB0ZWFt4oCZcyBvcGVyYXRpb25hbCBwcm9jZXNzaW5nIGFuZCBhY3Rpdml0aWVzLjwvbGk+PGxpPkVzY2FsYXRlIGJyZWFjaGVzIG9mIHBvbGljaWVzIC8gcHJvY2VkdXJlIGFwcHJvcHJpYXRlbHkuPC9saT48bGk+VGFrZSByZXNwb25zaWJpbGl0eSBmb3IgZW1iZWRkaW5nIG5ldyBwb2xpY2llcy8gcHJvY2VkdXJlcyBhZG9wdGVkIGR1ZSB0byByaXNrIG1pdGlnYXRpb24uPC9saT48bGk+QWR2aXNlIGFuZCBpbmZsdWVuY2UgZGVjaXNpb24gbWFraW5nIHdpdGhpbiBvd24gYXJlYSBvZiBleHBlcnRpc2UuPC9saT48bGk+VGFrZSBvd25lcnNoaXAgZm9yIG1hbmFnaW5nIHJpc2sgYW5kIHN0cmVuZ3RoZW5pbmcgY29udHJvbHMgaW4gcmVsYXRpb24gdG8gdGhlIHdvcmsgeW91IG93biBvciBjb250cmlidXRlIHRvLiBEZWxpdmVyIHlvdXIgd29ya8KgYW5kIGFyZWFzIG9mIHJlc3BvbnNpYmlsaXR5IGluIGxpbmUgd2l0aCByZWxldmFudCBydWxlcywgcmVndWxhdGlvbiBhbmQgY29kZXMgb2YgY29uZHVjdC48L2xpPjxsaT5NYWludGFpbiBhbmQgY29udGludWFsbHkgYnVpbGQgYW4gdW5kZXJzdGFuZGluZyBvZiBob3cgb3duIHN1Yi1mdW5jdGlvbiBpbnRlZ3JhdGVzIHdpdGggZnVuY3Rpb24sIGFsb25nc2lkZSBrbm93bGVkZ2Ugb2YgdGhlIG9yZ2FuaXNhdGlvbnMgcHJvZHVjdHMsIHNlcnZpY2VzIGFuZCBwcm9jZXNzZXMgd2l0aGluIHRoZSBmdW5jdGlvbi48L2xpPjxsaT5EZW1vbnN0cmF0ZSB1bmRlcnN0YW5kaW5nIG9mIGhvdyBhcmVhcyBjb29yZGluYXRlIGFuZCBjb250cmlidXRlIHRvIHRoZSBhY2hpZXZlbWVudCBvZiB0aGUgb2JqZWN0aXZlcyBvZiB0aGUgb3JnYW5pc2F0aW9uIHN1Yi1mdW5jdGlvbi48L2xpPjxsaT5NYWtlIGV2YWx1YXRpdmUganVkZ2VtZW50cyBiYXNlZCBvbiB0aGUgYW5hbHlzaXMgb2YgZmFjdHVhbCBpbmZvcm1hdGlvbiwgcGF5aW5nIGF0dGVudGlvbiB0byBkZXRhaWwuPC9saT48bGk+UmVzb2x2ZSBwcm9ibGVtcyBieSBpZGVudGlmeWluZyBhbmQgc2VsZWN0aW5nIHNvbHV0aW9ucyB0aHJvdWdoIHRoZSBhcHBsaWNhdGlvbiBvZiBhY3F1aXJlZCB0ZWNobmljYWwgZXhwZXJpZW5jZSBhbmQgd2lsbCBiZSBndWlkZWQgYnkgcHJlY2VkZW50cy48L2xpPjxsaT5HdWlkZSBhbmQgcGVyc3VhZGUgdGVhbSBtZW1iZXJzIGFuZCBjb21tdW5pY2F0ZSBjb21wbGV4IC8gc2Vuc2l0aXZlIGluZm9ybWF0aW9uLjwvbGk+PGxpPkFjdCBhcyBjb250YWN0IHBvaW50IGZvciBzdGFrZWhvbGRlcnMgb3V0c2lkZSBvZiB0aGUgaW1tZWRpYXRlIGZ1bmN0aW9uLCB3aGlsZSBidWlsZGluZyBhIG5ldHdvcmsgb2YgY29udGFjdHMgb3V0c2lkZSB0ZWFtIGFuZCBleHRlcm5hbCB0byB0aGUgb3JnYW5pc2F0aW9uLjwvbGk+PC91bD48cD5BbGwgY29sbGVhZ3VlcyB3aWxsIGJlIGV4cGVjdGVkIHRvIGRlbW9uc3RyYXRlIHRoZSBCYXJjbGF5cyBWYWx1ZXMgb2YgUmVzcGVjdCwgSW50ZWdyaXR5LCBTZXJ2aWNlLCBFeGNlbGxlbmNlIGFuZCBTdGV3YXJkc2hpcCDigJMgb3VyIG1vcmFsIGNvbXBhc3MsIGhlbHBpbmcgdXMgZG8gd2hhdCB3ZSBiZWxpZXZlIGlzIHJpZ2h0LiBUaGV5IHdpbGwgYWxzbyBiZSBleHBlY3RlZCB0byBkZW1vbnN0cmF0ZSB0aGUgQmFyY2xheXMgTWluZHNldCDigJMgdG8gRW1wb3dlciwgQ2hhbGxlbmdlIGFuZCBEcml2ZSDigJMgdGhlIG9wZXJhdGluZyBtYW51YWwgZm9yIGhvdyB3ZSBiZWhhdmUuPC9wPg==
PHA+Sm9pbiB1cyBhcyBhbiBBdmFsb3EgSmF2YSBEZXZlbG9wZXIgYXQgQmFyY2xheXMsIHdoZXJlIHlvdSdsbCB0YWtlIHBhcnQgaW4gdGhlIGV2b2x1dGlvbiBvZiBvdXIgZGlnaXRhbCBsYW5kc2NhcGUsIGRyaXZpbmcgaW5ub3ZhdGlvbiBhbmQgZXhjZWxsZW5jZS4gWW91J2xsIGhhcm5lc3MgY3V0dGluZy1lZGdlIHRlY2hub2xvZ3kgdG8gcmV2b2x1dGlvbmlzZSBvdXIgZGlnaXRhbCBvZmZlcmluZ3MsIGVuc3VyaW5nIHVucGFyYWxsZWxlZCBjdXN0b21lciBleHBlcmllbmNlcy4gQXMgYSBwYXJ0IG9mIHRoZSB0ZWFtLCB5b3Ugd2lsbCBkZWxpdmVyIHRlY2hub2xvZ3kgc3RhY2ssIHVzaW5nIHN0cm9uZyBhbmFseXRpY2FsIGFuZCBwcm9ibGVtIHNvbHZpbmcgc2tpbGxzIHRvIHVuZGVyc3RhbmQgdGhlIGJ1c2luZXNzIHJlcXVpcmVtZW50cyBhbmQgZGVsaXZlciBxdWFsaXR5IHNvbHV0aW9ucy4gWW91J2xsIGJlIHdvcmtpbmcgb24gY29tcGxleCB0ZWNobmljYWwgcHJvYmxlbXMgdGhhdCB3aWxsIGludm9sdmUgZGV0YWlsZWQgYW5hbHl0aWNhbCBza2lsbHMgYW5kIGFuYWx5c2lzLiBUaGlzIHdpbGwgYmUgZG9uZSBpbiBjb25qdW5jdGlvbiB3aXRoIGZlbGxvdyBlbmdpbmVlcnMsIGJ1c2luZXNzIGFuYWx5c3RzIGFuZCBidXNpbmVzcyBzdGFrZWhvbGRlcnMuwqA8L3A+PHA+VG8gYmUgc3VjY2Vzc2Z1bCBhcyBhbiBBdmFsb3EgSmF2YSBEZXZlbG9wZXIgeW91IHNob3VsZCBoYXZlIGV4cGVyaWVuY2Ugd2l0aDo8L3A+PHVsPjxsaT48cD5Hb29kIGV4cGVyaWVuY2UgaW4gU3ByaW5nIE1WQywgU3ByaW5nIGJvb3QsIEFwYWNoZSBDYW1lbCwgV2Vic2VydmljZXMoU09BUCAmYW1wOyBSRVNUKSwgTWF2ZW4sIEplbmtpbnMsIE9wZW5zaGlmdCA8L3A+PC9saT48bGk+RXhwZXJ0IGtub3dsZWRnZSBvZiBzb3VyY2UgY29udHJvbCBhbmQgcmVsZWFzZSBtYW5hZ2VtZW50IHNvZnR3YXJlIGxpa2UgR2l0LCBBZ2lsZSBDZW50cmFsLCBKSVJBIGFuZCBJQ0UuIFRoaXMgaW5jbHVkZXMgdGhlIGFiaWxpdHkgdG8gcHV0IGluIHBsYWNlIHRoZXNlIHR5cGVzIG9mIHRvb2xzLCB0aGUgcmVsYXRlZCBwcm9jZXNzZXMgYW5kIGJlc3QgcHJhY3RpY2VzLjwvbGk+PGxpPktub3dsZWRnZSBvZiBTUUwgLyBTUUwrIC8gU1FMIERldmVsb3BlciBhbmQgVE9BRCwgT3JhY2xlIERCIGFkbWluaXN0cmF0aW9uLCBXaW5kb3dzIGFuZCBVTklYPC9saT48bGk+QW5hbHl0aWNhbCBTa2lsbHMgYXMgd2VsbCBhcyBzdHJvbmcgcHJvYmxlbSBzb2x2aW5nIHNraWxsczwvbGk+PGxpPkNhcGFjaXR5IHRvIHN0YW5kIGdyb3VuZCBhcyBhIGdhdGVrZWVwZXIgZm9yIHNvZnR3YXJlIHF1YWxpdHksIHdoaWxlIHJlbWFpbmluZyBzb2x1dGlvbiBvcmllbnRlZDwvbGk+PGxpPkFibGUgdG8gd29yayBib3RoIGluZGVwZW5kZW50bHkgYW5kIHdpdGhpbiBhIHRlYW0gZW52aXJvbm1lbnQgYXMgd2VsbCBhcyBsZWFkaW5nIHJlc291cmNlcyB3aXRoaW4gdGhlIHRlYW0gdG8gZXhjZWxsZW5jZTwvbGk+PGxpPkFibGUgdG8gbWFuYWdlIG93biB3b3JrbG9hZCBhbmQgdGltZSBlZmZlY3RpdmVseSBhcyB3ZWxsIGFzIHRoZSB0ZWFt4oCZcyB3b3JrbG9hZDwvbGk+PGxpPkV4cGVyaWVuY2Ugd2l0aCBBdmFsb3Egd291bGQgYmUgYSBzdHJvbmcgcGx1czwvbGk+PGxpPktub3dsZWRnZSBvZiBzY3JpcHRpbmcgbGFuZ3VhZ2VzIGtzaCwgcGVybDwvbGk+PGxpPktub3dsZWRnZSBvZiBlbnRlcnByaXNlIHNjaGVkdWxlciAoQXV0b3N5cyk8L2xpPjwvdWw+PHA+U29tZSBvdGhlciBoaWdobHkgdmFsdWVkIHNraWxscyBpbmNsdWRlOjwvcD48dWw+PGxpPlByaW9yIFJlbGVhc2UsIEJ1aWxkLCBFbnZpcm9ubWVudCBvciBDb25maWd1cmF0aW9uIE1hbmFnZW1lbnQgZXhwZXJpZW5jZS48L2xpPjxsaT5Xb3JrIGV4cGVyaWVuY2UgaW4gdGhlIGZpbmFuY2lhbCBpbmR1c3RyeSBwcmVmZXJyZWQuPC9saT48L3VsPjxwPllvdSBtYXkgYmUgYXNzZXNzZWQgb24ga2V5IGNyaXRpY2FsIHNraWxscyByZWxldmFudCBmb3Igc3VjY2VzcyBpbiByb2xlLCBzdWNoIGFzIHJpc2sgYW5kIGNvbnRyb2xzLCBjaGFuZ2UgYW5kIHRyYW5zZm9ybWF0aW9uLCBidXNpbmVzcyBhY3VtZW4sIHN0cmF0ZWdpYyB0aGlua2luZyBhbmQgZGlnaXRhbCBhbmQgdGVjaG5vbG9neSwgYXMgd2VsbCBhcyBqb2Itc3BlY2lmaWMgdGVjaG5pY2FsIHNraWxscy48L3A+PHA+VGhpcyByb2xlIGlzIGJhc2VkIGluIFB1bmUuPC9wPjx1bD48L3VsPgo8cD48Yj5QdXJwb3NlIG9mIHRoZSByb2xlPC9iPjwvcD48cD5UbyBkZXNpZ24sIGRldmVsb3AgYW5kIGltcHJvdmUgc29mdHdhcmUsIHV0aWxpc2luZyB2YXJpb3VzIGVuZ2luZWVyaW5nIG1ldGhvZG9sb2dpZXMsIHRoYXQgcHJvdmlkZXMgYnVzaW5lc3MsIHBsYXRmb3JtLCBhbmQgdGVjaG5vbG9neSBjYXBhYmlsaXRpZXMgZm9yIG91ciBjdXN0b21lcnMgYW5kIGNvbGxlYWd1ZXMuwqA8L3A+PHA+PGI+QWNjb3VudGFiaWxpdGllczwvYj48L3A+PHVsPjxsaT5EZXZlbG9wbWVudCBhbmQgZGVsaXZlcnkgb2YgaGlnaC1xdWFsaXR5IHNvZnR3YXJlIHNvbHV0aW9ucyBieSB1c2luZyBpbmR1c3RyeSBhbGlnbmVkIHByb2dyYW1taW5nIGxhbmd1YWdlcywgZnJhbWV3b3JrcywgYW5kIHRvb2xzLiBFbnN1cmluZyB0aGF0IGNvZGUgaXMgc2NhbGFibGUsIG1haW50YWluYWJsZSwgYW5kIG9wdGltaXplZCBmb3IgcGVyZm9ybWFuY2UuPC9saT48bGk+Q3Jvc3MtZnVuY3Rpb25hbCBjb2xsYWJvcmF0aW9uIHdpdGggcHJvZHVjdCBtYW5hZ2VycywgZGVzaWduZXJzLCBhbmQgb3RoZXIgZW5naW5lZXJzIHRvIGRlZmluZSBzb2Z0d2FyZSByZXF1aXJlbWVudHMsIGRldmlzZSBzb2x1dGlvbiBzdHJhdGVnaWVzLCBhbmQgZW5zdXJlIHNlYW1sZXNzIGludGVncmF0aW9uIGFuZCBhbGlnbm1lbnQgd2l0aCBidXNpbmVzcyBvYmplY3RpdmVzLjwvbGk+PGxpPkNvbGxhYm9yYXRpb24gd2l0aCBwZWVycywgcGFydGljaXBhdGUgaW4gY29kZSByZXZpZXdzLCBhbmQgcHJvbW90ZSBhIGN1bHR1cmUgb2YgY29kZSBxdWFsaXR5IGFuZCBrbm93bGVkZ2Ugc2hhcmluZy48L2xpPjxsaT5TdGF5IGluZm9ybWVkIG9mIGluZHVzdHJ5IHRlY2hub2xvZ3kgdHJlbmRzIGFuZCBpbm5vdmF0aW9ucyBhbmQgYWN0aXZlbHkgY29udHJpYnV0ZSB0byB0aGUgb3JnYW5pemF0aW9u4oCZcyB0ZWNobm9sb2d5IGNvbW11bml0aWVzIHRvIGZvc3RlciBhIGN1bHR1cmUgb2YgdGVjaG5pY2FsIGV4Y2VsbGVuY2UgYW5kIGdyb3d0aC48L2xpPjxsaT5BZGhlcmVuY2UgdG8gc2VjdXJlIGNvZGluZyBwcmFjdGljZXMgdG8gbWl0aWdhdGUgdnVsbmVyYWJpbGl0aWVzLCBwcm90ZWN0IHNlbnNpdGl2ZSBkYXRhLCBhbmQgZW5zdXJlIHNlY3VyZSBzb2Z0d2FyZSBzb2x1dGlvbnMuPC9saT48bGk+SW1wbGVtZW50YXRpb24gb2YgZWZmZWN0aXZlIHVuaXQgdGVzdGluZyBwcmFjdGljZXMgdG8gZW5zdXJlIHByb3BlciBjb2RlIGRlc2lnbiwgcmVhZGFiaWxpdHksIGFuZCByZWxpYWJpbGl0eS48L2xpPjwvdWw+PHA+PGI+QW5hbHlzdCBFeHBlY3RhdGlvbnM8L2I+PC9wPjx1bD48bGk+VG8gcGVyZm9ybSBwcmVzY3JpYmVkIGFjdGl2aXRpZXMgaW4gYSB0aW1lbHkgbWFubmVyIGFuZCB0byBhIGhpZ2ggc3RhbmRhcmQgY29uc2lzdGVudGx5IGRyaXZpbmcgY29udGludW91cyBpbXByb3ZlbWVudC48L2xpPjxsaT5SZXF1aXJlcyBpbi1kZXB0aCB0ZWNobmljYWwga25vd2xlZGdlIGFuZCBleHBlcmllbmNlIGluIHRoZWlyIGFzc2lnbmVkIGFyZWEgb2YgZXhwZXJ0aXNlPC9saT48bGk+VGhvcm91Z2ggdW5kZXJzdGFuZGluZyBvZiB0aGUgdW5kZXJseWluZyBwcmluY2lwbGVzIGFuZCBjb25jZXB0cyB3aXRoaW4gdGhlIGFyZWEgb2YgZXhwZXJ0aXNlPC9saT48bGk+VGhleSBsZWFkIGFuZCBzdXBlcnZpc2UgYSB0ZWFtLCBndWlkaW5nIGFuZCBzdXBwb3J0aW5nIHByb2Zlc3Npb25hbCBkZXZlbG9wbWVudCwgYWxsb2NhdGluZyB3b3JrIHJlcXVpcmVtZW50cyBhbmQgY29vcmRpbmF0aW5nIHRlYW0gcmVzb3VyY2VzLjwvbGk+PGxpPklmIHRoZSBwb3NpdGlvbiBoYXMgbGVhZGVyc2hpcCByZXNwb25zaWJpbGl0aWVzLCBQZW9wbGUgTGVhZGVycyBhcmUgZXhwZWN0ZWQgdG8gZGVtb25zdHJhdGUgYSBjbGVhciBzZXQgb2YgbGVhZGVyc2hpcCBiZWhhdmlvdXJzIHRvIGNyZWF0ZSBhbiBlbnZpcm9ubWVudCBmb3IgY29sbGVhZ3VlcyB0byB0aHJpdmUgYW5kIGRlbGl2ZXIgdG8gYSBjb25zaXN0ZW50bHkgZXhjZWxsZW50IHN0YW5kYXJkLiBUaGUgZm91ciBMRUFEIGJlaGF2aW91cnMgYXJlOiBMIOKAkyBMaXN0ZW4gYW5kIGJlIGF1dGhlbnRpYywgRSDigJMgRW5lcmdpc2UgYW5kIGluc3BpcmUsIEEg4oCTIEFsaWduIGFjcm9zcyB0aGUgZW50ZXJwcmlzZSwgRCDigJMgRGV2ZWxvcCBvdGhlcnMuPC9saT48bGk+T1IgZm9yIGFuIGluZGl2aWR1YWwgY29udHJpYnV0b3IsIHRoZXkgZGV2ZWxvcCB0ZWNobmljYWwgZXhwZXJ0aXNlIGluIHdvcmsgYXJlYSwgYWN0aW5nIGFzIGFuIGFkdmlzb3Igd2hlcmUgYXBwcm9wcmlhdGUuPC9saT48bGk+V2lsbCBoYXZlIGFuIGltcGFjdCBvbiB0aGUgd29yayBvZiByZWxhdGVkIHRlYW1zIHdpdGhpbiB0aGUgYXJlYS48L2xpPjxsaT5QYXJ0bmVyIHdpdGggb3RoZXIgZnVuY3Rpb25zIGFuZCBidXNpbmVzcyBhcmVhcy48L2xpPjxsaT5UYWtlcyByZXNwb25zaWJpbGl0eSBmb3IgZW5kIHJlc3VsdHMgb2YgYSB0ZWFt4oCZcyBvcGVyYXRpb25hbCBwcm9jZXNzaW5nIGFuZCBhY3Rpdml0aWVzLjwvbGk+PGxpPkVzY2FsYXRlIGJyZWFjaGVzIG9mIHBvbGljaWVzIC8gcHJvY2VkdXJlIGFwcHJvcHJpYXRlbHkuPC9saT48bGk+VGFrZSByZXNwb25zaWJpbGl0eSBmb3IgZW1iZWRkaW5nIG5ldyBwb2xpY2llcy8gcHJvY2VkdXJlcyBhZG9wdGVkIGR1ZSB0byByaXNrIG1pdGlnYXRpb24uPC9saT48bGk+QWR2aXNlIGFuZCBpbmZsdWVuY2UgZGVjaXNpb24gbWFraW5nIHdpdGhpbiBvd24gYXJlYSBvZiBleHBlcnRpc2UuPC9saT48bGk+VGFrZSBvd25lcnNoaXAgZm9yIG1hbmFnaW5nIHJpc2sgYW5kIHN0cmVuZ3RoZW5pbmcgY29udHJvbHMgaW4gcmVsYXRpb24gdG8gdGhlIHdvcmsgeW91IG93biBvciBjb250cmlidXRlIHRvLiBEZWxpdmVyIHlvdXIgd29ya8KgYW5kIGFyZWFzIG9mIHJlc3BvbnNpYmlsaXR5IGluIGxpbmUgd2l0aCByZWxldmFudCBydWxlcywgcmVndWxhdGlvbiBhbmQgY29kZXMgb2YgY29uZHVjdC48L2xpPjxsaT5NYWludGFpbiBhbmQgY29udGludWFsbHkgYnVpbGQgYW4gdW5kZXJzdGFuZGluZyBvZiBob3cgb3duIHN1Yi1mdW5jdGlvbiBpbnRlZ3JhdGVzIHdpdGggZnVuY3Rpb24sIGFsb25nc2lkZSBrbm93bGVkZ2Ugb2YgdGhlIG9yZ2FuaXNhdGlvbnMgcHJvZHVjdHMsIHNlcnZpY2VzIGFuZCBwcm9jZXNzZXMgd2l0aGluIHRoZSBmdW5jdGlvbi48L2xpPjxsaT5EZW1vbnN0cmF0ZSB1bmRlcnN0YW5kaW5nIG9mIGhvdyBhcmVhcyBjb29yZGluYXRlIGFuZCBjb250cmlidXRlIHRvIHRoZSBhY2hpZXZlbWVudCBvZiB0aGUgb2JqZWN0aXZlcyBvZiB0aGUgb3JnYW5pc2F0aW9uIHN1Yi1mdW5jdGlvbi48L2xpPjxsaT5NYWtlIGV2YWx1YXRpdmUganVkZ2VtZW50cyBiYXNlZCBvbiB0aGUgYW5hbHlzaXMgb2YgZmFjdHVhbCBpbmZvcm1hdGlvbiwgcGF5aW5nIGF0dGVudGlvbiB0byBkZXRhaWwuPC9saT48bGk+UmVzb2x2ZSBwcm9ibGVtcyBieSBpZGVudGlmeWluZyBhbmQgc2VsZWN0aW5nIHNvbHV0aW9ucyB0aHJvdWdoIHRoZSBhcHBsaWNhdGlvbiBvZiBhY3F1aXJlZCB0ZWNobmljYWwgZXhwZXJpZW5jZSBhbmQgd2lsbCBiZSBndWlkZWQgYnkgcHJlY2VkZW50cy48L2xpPjxsaT5HdWlkZSBhbmQgcGVyc3VhZGUgdGVhbSBtZW1iZXJzIGFuZCBjb21tdW5pY2F0ZSBjb21wbGV4IC8gc2Vuc2l0aXZlIGluZm9ybWF0aW9uLjwvbGk+PGxpPkFjdCBhcyBjb250YWN0IHBvaW50IGZvciBzdGFrZWhvbGRlcnMgb3V0c2lkZSBvZiB0aGUgaW1tZWRpYXRlIGZ1bmN0aW9uLCB3aGlsZSBidWlsZGluZyBhIG5ldHdvcmsgb2YgY29udGFjdHMgb3V0c2lkZSB0ZWFtIGFuZCBleHRlcm5hbCB0byB0aGUgb3JnYW5pc2F0aW9uLjwvbGk+PC91bD48cD5BbGwgY29sbGVhZ3VlcyB3aWxsIGJlIGV4cGVjdGVkIHRvIGRlbW9uc3RyYXRlIHRoZSBCYXJjbGF5cyBWYWx1ZXMgb2YgUmVzcGVjdCwgSW50ZWdyaXR5LCBTZXJ2aWNlLCBFeGNlbGxlbmNlIGFuZCBTdGV3YXJkc2hpcCDigJMgb3VyIG1vcmFsIGNvbXBhc3MsIGhlbHBpbmcgdXMgZG8gd2hhdCB3ZSBiZWxpZXZlIGlzIHJpZ2h0LiBUaGV5IHdpbGwgYWxzbyBiZSBleHBlY3RlZCB0byBkZW1vbnN0cmF0ZSB0aGUgQmFyY2xheXMgTWluZHNldCDigJMgdG8gRW1wb3dlciwgQ2hhbGxlbmdlIGFuZCBEcml2ZSDigJMgdGhlIG9wZXJhdGluZyBtYW51YWwgZm9yIGhvdyB3ZSBiZWhhdmUuPC9wPg==