Skip to content

Instantly share code, notes, and snippets.

@RandomInsano
Last active May 29, 2023 09:18
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save RandomInsano/36fe3d1e79726b4c8f2c205498fea12a to your computer and use it in GitHub Desktop.
Save RandomInsano/36fe3d1e79726b4c8f2c205498fea12a to your computer and use it in GitHub Desktop.
Reverse Engineering an Airoha AB1127-based Bluetooth Selfie button
AAEAAElGAxAHAQBPAA0AXAA3AJMAYQD0ACUBGQAIASEAAgF7AAABIwEJAiwAawKXApoFMQCHBbgA6AagABEGsQACBrMABwa6AAcGwQAAN1cAAkUCAAAAAAAAAB5XAfnRLT9oEFb2aLEcn0FIo7WrrAMByR8EAVL6UenPKMtXW5xHbzFVi7Ge1DcKipEEAf8CAAFRVy8ZntSD/AwAAAAAAFRaVU1JIFNFTEZJRSBTVElDSwAAQCUAIDRWBJQAMiL8AgQ4GBgZgwEAAAAAAAAAAQAYAAATCVRaVU1JIFNFTEZJRSBTVElDSwMDJBEAAAAAAAAAG1YEAgSdBgE6CgEhEAHUCQYIZGQU8dQUAbsnAS4CBiz//y3/xXRWAgFBZQEKq1aJVhYC/v4CBAJYADwWAz6AUAEBUA0CBgYgAQANAQABAQMDAQAPAQMFAw8PFgEBAwQB8TYBAwUCBQUCAQMEAfIJAYEEDgJfAqECSQABAjMCdQK2ZgENAQP/AA0DAQ0BEv8ADQH/AA0C/wANA/8ADQT/ABaWgV2fg2kokTEjkTFtgUl6g2rtg2sJAAAAgU0bgoFxg2uFg2u1g2u6AAAAgpMKg2vTg2v3g2wLg2vfgv2EgpJXg2vrg2ymg2y9g2K4g097g2zMg2zog2ujgd9bg2OUgeIDgeESgeGFgeHBg2n2g2mIg2Lkgdv6g2w/gd3Yg2o3g172gd/6g17KgS+sg2z+g20Dg20IgTGIsVYRAQMFAQICDQQAAAEAAAEAAAEAAAEhAQMYAxvJUQEBgAEPLwC7qwFgrVsArgNsLf/FEzaDYcmDbQ2BX6GCZaeDYpWCGXAAAAAAAACCP9IAAAAAAACRMzyCdkWCdkaDXfeDZHaC/WWBNp62VwABAAAAAACVAosxAAASAW5cEgAN3JAABKXgRAjwAgDUW5AADZp0BPACAVKgAgDeDn4BfzcSAA7t72A7fgF/NxIADUyQADAY7vCj7/D1go6DdZMAo6Oj4JAAMBi0Ywvg/qPg/xIADJmADeD8o+D9fgF/NxIADmQCAWB0EgJvU5AAEyjg/8OUBVADATLD79OUBkADATLDkAAwFuBgBOTwgB8RMykRMyl1wUCv+5AAMBfv8NURBKIHkq/VEQSiB5KvfgF/qhIADu3vw5QDQAMBMmp+AX8QEgANFu/TlApQAwEyapAAMBPgYEG0BAXk/f+AGpAAMBPgtAMGfQt/BIAMkAAwE+C0Agrk/X8BEgJv9YAQkAAwE+C0AQh9BH8BEgB1SJAAMBPgFPCATpAAMBfg/5AAMBLgb2BA72AWJPhgCCQEcCt9C4ACfQx/BBICb/WAHZAAMBLgJP5wC+R/BhEzMnQE8IAJ5H8BETMydAHwkAAwF+CQADAS8JAAEzDgZAFgE5AAMBfgVA5gBH8EgAJ//xICB8OQADAU4HAtkAADpOAl4P+QAAOj4C//kAADpeAl4C//o+Av/6PgL/+j4C9kiGAGfwMSADEBkAAwFHQB8IAJkAAwFOBgAuTwkAATKuDTlARARJAAEyjgtAYXkAATYeD+o+D/EgBg1+9gB5AAMBV0AfCQADAV4HAskAATLeD/ZAJgCe9kAWAE77QEGZAAEyjgZANgEIAIkAATLeC0BAZ/AxIAMQEiwq/Cr8KvBREi/RICb/WQADATIpAAMBTgYEeQABNP4FQPkAAwGvDDlARQNn0E5P8SAHVIkAAwFnQB8JAAMBrgJP5gDxRgFCQCcBeQADAXdALwIpAAMBd0BPAikAAwF3QI8CKLVwAAFMAlIQP/AAAAAAAAAAD/AAAAAAABEB4qCAAqBAJYAAAABwBV1AAAMRACUgEUMRAH3gAfMRDw/z/w/z/w/z/w/z/w/z/w/z/w/z/w/z/w/z/w/z/w/z/w/z/w/z/w/z/w/z/w/z/w/z/w/z/w/z/w/z/w/z/w/z/w/z/w/z/w/z/w/z8BVwEAAQAABAEAABQlEkFpcm9oYSBCVCBLZXlib2FyZAEBAA4lDEJsdWV0b290aCBLQgECAAglBkFpcm9oYQIGAIs1iTWHCCIlgwUBCQahAYUBdQGVCAUHGeAp5xUAJQGBApUBdQiBA5UFdQEFCBkBKQWRApUBdQORA5UGdQgVACb/AAUHGQAp/4EAwAUMCQGhAYUDFQAlAXUBlRAKlAEKkgEKgwEKIwIKigEKKgIKIQIKJAIJ6gnpCbgJ6QnqCbcJzQnigQKVAXUIgQPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgFYGAQAUAUIBBDEBIAAMAZurVtJWBgMFBQW7VwAAAAAA/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wAAAQAASUYDEAcBAE8ADQBcADcAkwBhAPQAJQEZAAgBIQACAXsAAAEjAQkCLABrApcCmgUxAIcFuADoBqAAEQaxAAIGswAHBroABwbBAAA3VwACRQIAAAAAAAAAHlcB+dEtP2gQVvZosRyfQUijtausAwHJHwQBUvpR6c8oy1dbnEdvMVWLsZ7UNwqKkQQB/wIAAVFXLxme1IP8DAAAAAAAVFpVTUkgU0VMRklFIFNUSUNLAABAJQAgNFYElAAyIvwCBDgYGBmDAQAAAAAAAAABABgAABMJVFpVTUkgU0VMRklFIFNUSUNLAwMkEQAAAAAAAAAbVgQCBJ0GAToKASEQAdQJBghkZBTx1BQBuycBLgIGLP//Lf/FdFYCAUFlAQqrVolWFgL+/gIEAlgAPBYDPoBQAQFQDQIGBiABAA0BAAEBAwMBAA8BAwUDDw8WAQEDBAHxNgEDBQIFBQIBAwQB8gkBgQQOAl8CoQJJAAECMwJ1ArZmAQ0BA/8ADQMBDQES/wANAf8ADQL/AA0D/wANBP8AFpaBXZ+DaSiRMSORMW2BSXqDau2DawkAAACBTRuCgXGDa4WDa7WDa7oAAACCkwqDa9ODa/eDbAuDa9+C/YSCkleDa+uDbKaDbL2DYriDT3uDbMyDbOiDa6OB31uDY5SB4gOB4RKB4YWB4cGDafaDaYiDYuSB2/qDbD+B3diDajeDXvaB3/qDXsqBL6yDbP6DbQODbQiBMYixVhEBAwUBAgINBAAAAQAAAQAAAQAAASEBAxgDG8lRAQGAAQ8vALurAWCtWwCuA2wt/8UTNoNhyYNtDYFfoYJlp4NilYIZcAAAAAAAAII/0gAAAAAAAJEzPIJ2RYJ2RoNd94NkdoL9ZYE2nrZXAAEAAAAAAJUCizEAABIBblwSAA3ckAAEpeBECPACANRbkAANmnQE8AIBUqACAN4OfgF/NxIADu3vYDt+AX83EgANTJAAMBju8KPv8PWCjoN1kwCjo6PgkAAwGLRjC+D+o+D/EgAMmYAN4Pyj4P1+AX83EgAOZAIBYHQSAm9TkAATKOD/w5QFUAMBMsPv05QGQAMBMsOQADAW4GAE5PCAHxEzKREzKXXBQK/7kAAwF+/w1REEogeSr9URBKIHkq9+AX+qEgAO7e/DlANAAwEyan4BfxASAA0W79OUClADATJqkAAwE+BgQbQEBeT9/4AakAAwE+C0AwZ9C38EgAyQADAT4LQCCuT9fwESAm/1gBCQADAT4LQBCH0EfwESAHVIkAAwE+AU8IBOkAAwF+D/kAAwEuBvYEDvYBYk+GAIJARwK30LgAJ9DH8EEgJv9YAdkAAwEuAk/nAL5H8GETMydATwgAnkfwERMzJ0AfCQADAX4JAAMBLwkAATMOBkAWATkAAwF+BUDmAEfwSAAn//EgIHw5AAMBTgcC2QAAOk4CXg/5AAA6PgL/+QAAOl4CXgL/+j4C//o+Av/6PgL2SIYAZ/AxIAMQGQADAUdAHwgAmQADAU4GAC5PCQABMq4NOUBEBEkAATKOC0BheQABNh4P6j4P8SAGDX72AHkAAwFXQB8JAAMBXgcCyQABMt4P9kAmAJ72QBYATvtAQZkAATKOBkA2AQgAiQABMt4LQEBn8DEgAxASLCr8Kvwq8FESL9EgJv9ZAAMBMikAAwFOBgR5AAE0/gVA+QADAa8MOUBFA2fQTk/xIAdUiQADAWdAHwkAAwGuAk/mAPFGAUJAJwF5AAMBd0AvAikAAwF3QE8CKQADAXdAjwIotXAAAUwCUhA/8AAAAAAAAAAP8AAAAAAAEQHioIACoEAlgAAAAHAFXUAAAxEAJSARQxEAfeAB8xEPD/P/D/P/D/P/D/P/D/P/D/P/D/P/D/P/D/P/D/P/D/P/D/P/D/P/D/P/D/P/D/P/D/P/D/P/D/P/D/P/D/P/D/P/D/P/D/P/D/P/D/PwFXAQABAAAEAQAAFCUSQWlyb2hhIEJUIEtleWJvYXJkAQEADiUMQmx1ZXRvb3RoIEtCAQIACCUGQWlyb2hhAgYAizWJNYcIIiWDBQEJBqEBhQF1AZUIBQcZ4CnnFQAlAYEClQF1CIEDlQV1AQUIGQEpBZEClQF1A5EDlQZ1CBUAJv8ABQcZACn/gQDABQwJAaEBhQMVACUBdQGVEAqUAQqSAQqDAQojAgqKAQoqAgohAgokAgnqCekJuAnpCeoJtwnNCeKBApUBdQiBA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAVgYBABQBQgEEMQEgAAwBm6tW0lYGAwUFBbtXAAAAAAD/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAABAABJRgMQBwEATwANAFwANwCTAGEA9AAlARkACAEhAAIBewAAASMBCQIsAGsClwKaBTEAhwW4AOgGoAARBrEAAgazAAcGugAHBsEAADdXAAJFAgAAAAAAAAAeVwH50S0/aBBW9mixHJ9BSKO1q6wDAckfBAFS+lHpzyjLV1ucR28xVYuxntQ3CoqRBAH/AgABUVcvGZ7Ug/wMAAAAAABUWlVNSSBTRUxGSUUgU1RJQ0sAAEAlACA0VgSUADIi/AIEOBgYGYMBAAAAAAAAAAEAGAAAEwlUWlVNSSBTRUxGSUUgU1RJQ0sDAyQRAAAAAAAAABtWBAIEnQYBOgoBIRAB1AkGCGRkFPHUFAG7JwEuAgYs//8t/8V0VgIBQWUBCqtWiVYWAv7+AgQCWAA8FgM+gFABAVANAgYGIAEADQEAAQEDAwEADwEDBQMPDxYBAQMEAfE2AQMFAgUFAgEDBAHyCQGBBA4CXwKhAkkAAQIzAnUCtmYBDQED/wANAwENARL/AA0B/wANAv8ADQP/AA0E/wAWloFdn4NpKJExI5ExbYFJeoNq7YNrCQAAAIFNG4KBcYNrhYNrtYNrugAAAIKTCoNr04Nr94NsC4Nr34L9hIKSV4Nr64NspoNsvYNiuINPe4NszINs6INro4HfW4NjlIHiA4HhEoHhhYHhwYNp9oNpiINi5IHb+oNsP4Hd2INqN4Ne9oHf+oNeyoEvrINs/oNtA4NtCIExiLFWEQEDBQECAg0EAAABAAABAAABAAABIQEDGAMbyVEBAYABDy8Au6sBYK1bAK4DbC3/xRM2g2HJg20NgV+hgmWng2KVghlwAAAAAAAAgj/SAAAAAAAAkTM8gnZFgnZGg133g2R2gv1lgTaetlcAAQAAAAAAlQKLMQAAEgFuXBIADdyQAASl4EQI8AIA1FuQAA2adATwAgFSoAIA3g5+AX83EgAO7e9gO34BfzcSAA1MkAAwGO7wo+/w9YKOg3WTAKOjo+CQADAYtGML4P6j4P8SAAyZgA3g/KPg/X4BfzcSAA5kAgFgdBICb1OQABMo4P/DlAVQAwEyw+/TlAZAAwEyw5AAMBbgYATk8IAfETMpETMpdcFAr/uQADAX7/DVEQSiB5Kv1REEogeSr34Bf6oSAA7t78OUA0ADATJqfgF/EBIADRbv05QKUAMBMmqQADAT4GBBtAQF5P3/gBqQADAT4LQDBn0LfwSADJAAMBPgtAIK5P1/ARICb/WAEJAAMBPgtAEIfQR/ARIAdUiQADAT4BTwgE6QADAX4P+QADAS4G9gQO9gFiT4YAgkBHArfQuAAn0MfwQSAm/1gB2QADAS4CT+cAvkfwYRMzJ0BPCACeR/AREzMnQB8JAAMBfgkAAwEvCQABMw4GQBYBOQADAX4FQOYAR/BIACf/8SAgfDkAAwFOBwLZAAA6TgJeD/kAADo+Av/5AAA6XgJeAv/6PgL/+j4C//o+AvZIhgBn8DEgAxAZAAMBR0AfCACZAAMBTgYALk8JAAEyrg05QEQESQABMo4LQGF5AAE2Hg/qPg/xIAYNfvYAeQADAVdAHwkAAwFeBwLJAAEy3g/2QCYAnvZAFgBO+0BBmQABMo4GQDYBCACJAAEy3gtAQGfwMSADEBIsKvwq/CrwURIv0SAm/1kAAwEyKQADAU4GBHkAATT+BUD5AAMBrww5QEUDZ9BOT/EgB1SJAAMBZ0AfCQADAa4CT+YA8UYBQkAnAXkAAwF3QC8CKQADAXdATwIpAAMBd0CPAii1cAABTAJSED/wAAAAAAAAAA/wAAAAAAARAeKggAKgQCWAAAAAcAVdQAADEQAlIBFDEQB94AHzEQ8P8/8P8/8P8/8P8/8P8/8P8/8P8/8P8/8P8/8P8/8P8/8P8/8P8/8P8/8P8/8P8/8P8/8P8/8P8/8P8/8P8/8P8/8P8/8P8/8P8/8P8/AVcBAAEAAAQBAAAUJRJBaXJvaGEgQlQgS2V5Ym9hcmQBAQAOJQxCbHVldG9vdGggS0IBAgAIJQZBaXJvaGECBgCLNYk1hwgiJYMFAQkGoQGFAXUBlQgFBxngKecVACUBgQKVAXUIgQOVBXUBBQgZASkFkQKVAXUDkQOVBnUIFQAm/wAFBxkAKf+BAMAFDAkBoQGFAxUAJQF1AZUQCpQBCpIBCoMBCiMCCooBCioCCiECCiQCCeoJ6Qm4CekJ6gm3Cc0J4oEClQF1CIEDwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIBWBgEAFAFCAQQxASAADAGbq1bSVgYDBQUFu1cAAAAAAP////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAAEAAElGAxAHAQBPAA0AXAA3AJMAYQD0ACUBGQAIASEAAgF7AAABIwEJAiwAawKXApoFMQCHBbgA6AagABEGsQACBrMABwa6AAcGwQAAN1cAAkUCAAAAAAAAAB5XAfnRLT9oEFb2aLEcn0FIo7WrrAMByR8EAVL6UenPKMtXW5xHbzFVi7Ge1DcKipEEAf8CAAFRVy8ZntSD/AwAAAAAAFRaVU1JIFNFTEZJRSBTVElDSwAAQCUAIDRWBJQAMiL8AgQ4GBgZgwEAAAAAAAAAAQAYAAATCVRaVU1JIFNFTEZJRSBTVElDSwMDJBEAAAAAAAAAG1YEAgSdBgE6CgEhEAHUCQYIZGQU8dQUAbsnAS4CBiz//y3/xXRWAgFBZQEKq1aJVhYC/v4CBAJYADwWAz6AUAEBUA0CBgYgAQANAQABAQMDAQAPAQMFAw8PFgEBAwQB8TYBAwUCBQUCAQMEAfIJAYEEDgJfAqECSQABAjMCdQK2ZgENAQP/AA0DAQ0BEv8ADQH/AA0C/wANA/8ADQT/ABaWgV2fg2kokTEjkTFtgUl6g2rtg2sJAAAAgU0bgoFxg2uFg2u1g2u6AAAAgpMKg2vTg2v3g2wLg2vfgv2EgpJXg2vrg2ymg2y9g2K4g097g2zMg2zog2ujgd9bg2OUgeIDgeESgeGFgeHBg2n2g2mIg2Lkgdv6g2w/gd3Yg2o3g172gd/6g17KgS+sg2z+g20Dg20IgTGIsVYRAQMFAQICDQQAAAEAAAEAAAEAAAEhAQMYAxvJUQEBgAEPLwC7qwFgrVsArgNsLf/FEzaDYcmDbQ2BX6GCZaeDYpWCGXAAAAAAAACCP9IAAAAAAACRMzyCdkWCdkaDXfeDZHaC/WWBNp62VwABAAAAAACVAosxAAASAW5cEgAN3JAABKXgRAjwAgDUW5AADZp0BPACAVKgAgDeDn4BfzcSAA7t72A7fgF/NxIADUyQADAY7vCj7/D1go6DdZMAo6Oj4JAAMBi0Ywvg/qPg/xIADJmADeD8o+D9fgF/NxIADmQCAWB0EgJvU5AAEyjg/8OUBVADATLD79OUBkADATLDkAAwFuBgBOTwgB8RMykRMyl1wUCv+5AAMBfv8NURBKIHkq/VEQSiB5KvfgF/qhIADu3vw5QDQAMBMmp+AX8QEgANFu/TlApQAwEyapAAMBPgYEG0BAXk/f+AGpAAMBPgtAMGfQt/BIAMkAAwE+C0Agrk/X8BEgJv9YAQkAAwE+C0AQh9BH8BEgB1SJAAMBPgFPCATpAAMBfg/5AAMBLgb2BA72AWJPhgCCQEcCt9C4ACfQx/BBICb/WAHZAAMBLgJP5wC+R/BhEzMnQE8IAJ5H8BETMydAHwkAAwF+CQADAS8JAAEzDgZAFgE5AAMBfgVA5gBH8EgAJ//xICB8OQADAU4HAtkAADpOAl4P+QAAOj4C//kAADpeAl4C//o+Av/6PgL/+j4C9kiGAGfwMSADEBkAAwFHQB8IAJkAAwFOBgAuTwkAATKuDTlARARJAAEyjgtAYXkAATYeD+o+D/EgBg1+9gB5AAMBV0AfCQADAV4HAskAATLeD/ZAJgCe9kAWAE77QEGZAAEyjgZANgEIAIkAATLeC0BAZ/AxIAMQEiwq/Cr8KvBREi/RICb/WQADATIpAAMBTgYEeQABNP4FQPkAAwGvDDlARQNn0E5P8SAHVIkAAwFnQB8JAAMBrgJP5gDxRgFCQCcBeQADAXdALwIpAAMBd0BPAikAAwF3QI8CKLVwAAFMAlIQP/AAAAAAAAAAD/AAAAAAABEB4qCAAqBAJYAAAABwBV1AAAMRACUgEUMRAH3gAfMRDw/z/w/z/w/z/w/z/w/z/w/z/w/z/w/z/w/z/w/z/w/z/w/z/w/z/w/z/w/z/w/z/w/z/w/z/w/z/w/z/w/z/w/z/w/z/w/z/w/z/w/z8BVwEAAQAABAEAABQlEkFpcm9oYSBCVCBLZXlib2FyZAEBAA4lDEJsdWV0b290aCBLQgECAAglBkFpcm9oYQIGAIs1iTWHCCIlgwUBCQahAYUBdQGVCAUHGeAp5xUAJQGBApUBdQiBA5UFdQEFCBkBKQWRApUBdQORA5UGdQgVACb/AAUHGQAp/4EAwAUMCQGhAYUDFQAlAXUBlRAKlAEKkgEKgwEKIwIKigEKKgIKIQIKJAIJ6gnpCbgJ6QnqCbcJzQnigQKVAXUIgQPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgFYGAQAUAUIBBDEBIAAMAZurVtJWBgMFBQW7VwAAAAAA/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wA=
c1gGBBQCABsyAADq//////////////////////////////////////////////////////////////////////////////////8CgGgEAgAUAAAAkPQCABQAAACg8AIA/LMAAJQCAQAUAAAAqAIBABQAAAC8AgEAFAAAAEA9AAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAAA//8FgLRzAIAcAgADeGwAgAABBA6IcgCA6AQAAJhyAIAhcAAAjGgAgKgJAIBIaACAbAoAgHBoAICYDACAdGgAgIwQAICAaACATBEAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////////////////8GvJhtAIAFAQkGoQGFAXUBlQgFBxngKecVACUBgQKVAXUIgQOVBXUBBQgZASkFkQKVAXUDkQOVBnUIFQAm/wAFBxkAKf+BAMAFDAkBoQGFAhUAJQF1AZUVCpQBCpIBCoMBCiMCCooBCrEBCiECCiQCCiUCCioCCicCCbYJtQlACbAJ6QnqCeIJzQkwCbiBApUBdQOBA8AFDAkBoQGFBQUBCQahAgYA/yUBdQGVAgoD/goE/oEClQaBA8DAwMDA//8miCEAAAABAP8A31MLABAKDgBjLA8AgYcRACQMEwAkBRUAqDkaAF+9HAC1Uh0AvzweAO/uJABCACsAmWNDADfNRwAgBE8ANE9kAKANawAgoFQAIKBVAG8gTQABAD8ArwQAAL8IAQA/KQIAx/kDAP93BAD/ewUA/z8GAP9/BwAAAD8AKQEwACsBMAAAAAAA//////////////////////////////////////////8E8B/llEoAAATwH+WIDgIABPAf5aw+AAAE8B/lMDwBAATwH+XEWwAABPAf5bxZAAAE8B/l+HgAAATwH+X0BAAABPAf5UACAAAE8B/llAsCAATwH+U02QIABPAf5cj0AgAE8B/lnAgDAATwH+WI8wAABPAf5Vh0AwAE8B/loD8AAATwH+U8SQAABPAf5ThHAAAE8B/lIJQAAATwH+XglAAABPAf5aDnAQAE8B/lEEoAAATwH+WkAQAA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WAAAGr4C1OEBAIDiQAvA474CxOEUENTlAFCg4wAAUeMnAAAKARDU5QAAUeMCAAAKZABQ40sAAJoBAADqZABQ4xMAAJpIAZ/lAADQ5f8AUOMFAAAKPBGf5Twxn+UBIKDjAwCR6GP8/+sTAADqfw2g46AwoOMBIKDjBBCN4pn6/+sEAN3l/wBQ4wAAoAOa/v8LCQAA6gIQ1OUAAZ/lgQGA4AgAQOKR+v/rAACg45L+/+sAEKDjCgCg46z6/+sBUMTlFFDE5QBQxOUMAJblFQDE5SYQ1OUlEMTlFQDU5SYAxOUBAFDhBgAACgMg1OUAAFLjAwAAGioAAOsBAKDjIQDE5QIAAOohANTlAABQ4wwAAAoAIKDjARCg4wEAoOND+v/rIgDU5QEAgOL/AADiIgDE5QIAUOMLAACaIVDE5SJQxOUMAADqAwDU5QAAUOMFAAAaJADU5QIAUOMDAAAaARCg4wEAoOOB+v/rfIC96CQA1OUAAFDj+///GgAgoOMCEKDjAQCg4yn6/+v2///qAAAgQHAZAICacwCAhFcAgGwSAIA4GQCA/kMt6QEgoOEAEKDhBACN4s/7/+sAQKDjqHCf5QCQoOOkgJ/lpFCf5QFgoOMhAADqBACN4gQAgOABENDlAQBR4wkAAAoCAFHjFwAAGgMA0OUBAFDjEAAAGhCQxeUoEKDjAACg46P+/+sOAADqAwDQ5QEAUOMDAAAaDwCg43P+/+sPYMXlCAAA6g9gxeUEEKDjBwCg4Sj6/+sDAADqCBCg4wgAoOEk+v/rDmDF5dD+/+sBAITi/0AA4gQA3eUEAFDh2v//iv6DveilGQCAxxkAgHAZAIBYcQAAAAEAAFhxAAIAAgAAWHEAAwADAABYcQAEAAQAAFhxAAUABQAAQUIgU2h1dHRlciAzAAAAAP//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////WHEzM3FY/////////////00AAQFrP7V7xcsag2lR5x74HZKEUvpR6c8o//////////////////////////////////////////////////8=
c1gGBBQCABsyAADq//////////////////////////////////////////////////////////////////////////////////8CgGgEAgAUAAAAkPQCABQAAACg8AIA/LMAAJQCAQAUAAAAqAIBABQAAAC8AgEAFAAAAEA9AAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAAA//8FgLRzAIAcAgADeGwAgAABBA6IcgCA6AQAAJhyAIAhcAAAjGgAgKgJAIBIaACAbAoAgHBoAICYDACAdGgAgIwQAICAaACATBEAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////////////////8GvJhtAIAFAQkGoQGFAXUBlQgFBxngKecVACUBgQKVAXUIgQOVBXUBBQgZASkFkQKVAXUDkQOVBnUIFQAm/wAFBxkAKf+BAMAFDAkBoQGFAhUAJQF1AZUVCpQBCpIBCoMBCiMCCooBCrEBCiECCiQCCiUCCioCCicCCbYJtQlACbAJ6QnqCeIJzQkwCbiBApUBdQOBA8AFDAkBoQGFBQUBCQahAgYA/yUBdQGVAgoD/goE/oEClQaBA8DAwMDA//8miCEAAAABAP8A31MLABAKDgBjLA8AgYcRACQMEwAkBRUAqDkaAF+9HAC1Uh0AvzweAO/uJABCACsAmWNDADfNRwAgBE8ANE9kAKANawAgoFQAIKBVAG8gTQABAD8ArwQAAL8IAQA/KQIAx/kDAP93BAD/ewUA/z8GAP9/BwAAAD8AKQEwACsBMAAAAAAA//////////////////////////////////////////8E8B/llEoAAATwH+WIDgIABPAf5aw+AAAE8B/lMDwBAATwH+XEWwAABPAf5bxZAAAE8B/l+HgAAATwH+X0BAAABPAf5UACAAAE8B/llAsCAATwH+U02QIABPAf5cj0AgAE8B/lnAgDAATwH+WI8wAABPAf5Vh0AwAE8B/loD8AAATwH+U8SQAABPAf5ThHAAAE8B/lIJQAAATwH+XglAAABPAf5aDnAQAE8B/lEEoAAATwH+WkAQAA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WAAAGr4C1OEBAIDiQAvA474CxOEUENTlAFCg4wAAUeMnAAAKARDU5QAAUeMCAAAKZABQ40sAAJoBAADqZABQ4xMAAJpIAZ/lAADQ5f8AUOMFAAAKPBGf5Twxn+UBIKDjAwCR6GP8/+sTAADqfw2g46AwoOMBIKDjBBCN4pn6/+sEAN3l/wBQ4wAAoAOa/v8LCQAA6gIQ1OUAAZ/lgQGA4AgAQOKR+v/rAACg45L+/+sAEKDjCgCg46z6/+sBUMTlFFDE5QBQxOUMAJblFQDE5SYQ1OUlEMTlFQDU5SYAxOUBAFDhBgAACgMg1OUAAFLjAwAAGioAAOsBAKDjIQDE5QIAAOohANTlAABQ4wwAAAoAIKDjARCg4wEAoOND+v/rIgDU5QEAgOL/AADiIgDE5QIAUOMLAACaIVDE5SJQxOUMAADqAwDU5QAAUOMFAAAaJADU5QIAUOMDAAAaARCg4wEAoOOB+v/rfIC96CQA1OUAAFDj+///GgAgoOMCEKDjAQCg4yn6/+v2///qAAAgQHAZAICacwCAhFcAgGwSAIA4GQCA/kMt6QEgoOEAEKDhBACN4s/7/+sAQKDjqHCf5QCQoOOkgJ/lpFCf5QFgoOMhAADqBACN4gQAgOABENDlAQBR4wkAAAoCAFHjFwAAGgMA0OUBAFDjEAAAGhCQxeUoEKDjAACg46P+/+sOAADqAwDQ5QEAUOMDAAAaDwCg43P+/+sPYMXlCAAA6g9gxeUEEKDjBwCg4Sj6/+sDAADqCBCg4wgAoOEk+v/rDmDF5dD+/+sBAITi/0AA4gQA3eUEAFDh2v//iv6DveilGQCAxxkAgHAZAIBYcQAAAAEAAFhxAAIAAgAAWHEAAwADAABYcQAEAAQAAFhxAAUABQAAQUIgU2h1dHRlciAzAAAAAP//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////WHEzM3FY/////////////00AAQD/////////////////////ZscHgxUA//////////////////////////////////////////////////8=
AAEAAEnZAxAHAQBPAA0AXAA3AJMAYQD0ACIBFgAIAR4AAgF3AAABIAEIAigAawKTAtMFZgCHBe0A6AbVABEG5gACBugABwbvAAcG9gAAN1cAAkUCAAAAAAAAAGlXAfnRLT9oEGfGIvOcNni0/ZQ+EKy5gGsEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAHaVy8SACQRFCAAAAAAAFR6dW1pIFNlbGZpZXNodXR0ZXIAQCUAIDRWBJQAMiL8AgQ4GBgZgwEAAAAAAAAAAQAZAAAUCVR6dW1pIFNlbGZpZXNodXR0ZXIDAyQRAAAAAAAAMVYEAgSdBgE6CgEhGgYIZGQU8dQUAbsnAS4CBiz//y3/FXRWAgFBZQEKq1YpVhkDCgJYAQE8FgI+gCACGRkCAQMEAfAEAQMDAQEBBQUFAAADBAH2FAIZGQIBAwUDDw88AQEDBQIBATQBAxgBgQQOAeMCDgG2AAEBSgEsAQRoAv8ABAENARb/AA0B/wANAv8ADQP/AA0E/wANBf8AEpaRM62DaSiRMUyRMZaBSXqDau2DawkAAACBTRuCgXGDa4WDa7WDa7oAAACCkwqDa9ODa/eDbAuDa9+C/YSCkleDa+uDbKaDbL2DYriDT3uDbMyDbOiDa6OB31uDY5SB4gOB4RKB4YWB4cGDafaDaYiDYuSB2/qDbD+B3diDajeDXvaB3/qDXsqBL6yDbP6DbQODbQiBMYjsVhEBBAMBAwEQAgQABAUACAAAAQAAAQAAASEBBBgDG8lRAQGAAQwvALurAWCtWwCuA2wWNoNhyYNtDYFfoYJlp4NilYIZcAAAAAAAAII/0gAAAAAAAJEzU4J2RYJ2RoNd94NkdoL9ZYE2ns1XAAEAAAAAACACxDEAABIBblwSAA3ckAAEpeBECPACANRbkAANmnQE8AIBUqACAN4OJLtgCCQDcAgCAZRqEgE0YyKrEs0071areCZxMDArK4OD2dng4JiY2dl+AX83EgAO7e9gO34BfzcSAA1MkAAwIO7wo+/w9YKOg3WTAKOjo+CQADAgtGML4P6j4P8SAAyZgA3g/KPg/X4BfzcSAA3cAgFgdBEzSnXBQK/7kAAwFO/w1REEogeSrxEzoVADATLh79OUBkADATLhkBAxP+STw5Qe/5AAA6Pg/sPvnmAPkAAwH3Sq8H0KfwMSAl0UfgF/qhIADu3vw5QBQAMBMuF+AX8QEgANFu/TlBJQAwEy4ZAAMB/gZKpwAwEyrBEzHlQ4YEeQADAW4GSqYEt0qvARM0IRMx7/MOMJkAAwHXQF8IAY7zDkCZAAMB10CPCAC+8w5QeQADAddAnwkAAwHeD9ETM6kAAwHPCADZAAMBbgtKoF5PARMysRMx4w4RuQADAV4GSqYDQRM0KQADAVdKrw5JAAMBzwgCKQADAV4LSqGpAAMBfgcBOQABNW4JAAMBdgBXQE8IADdALwkAAwF+C0AhDk8H0JETM6ETMr5JAAMBXwkAAwF+C0BBXk8P1/BhICb/Xk/f8RMy7kkAAwFfARMx5UOXAZkAAwHOBgAhTwkAAwHOC0AQh9BH8BEgB1SJAAMBjgYBLk8BEzSnXBUXX7/9URBKIHkq8CAm9TkAAwFOD/kAAwGOBPIv1/ARICb/WQADAcdFjwIn8EEgJv9eQifQF/CAICXRTCr8Kvwq8FESIRM6FASO/TlAZQQpAAE0/gVA//w5QEQAXvZAxwMJAAEyjgtAYZETNKdcFVr/uQADAY7/DVEQSiB5KvEgJtx30E5P8SAHVIkAAwHHT/8CKQABMo4P/DlAUigKYSAF2fETNKdcFRdfv/1REEogeSryKA6fdXAAAUwKUhA/8AAAAAAAAAAP8AAAAAAAEQHioIACoEAlgAAAAPAFXUAAAxEAJSARQxEAfeAB8xEGhyAiMxEPD/P/D/P/D/P/D/P/D/P/D/P/D/P/D/P/D/P/D/P/D/P/D/P/D/P/D/P/D/P/D/P/D/P/D/P/D/P/D/P/D/P/D/P/D/P/D/P7RXAQABAAAEAQAAFCUSQWlyb2hhIEJUIEtleWJvYXJkAQEADiUMQmx1ZXRvb3RoIEtCAQIACCUGQWlyb2hhAgYAiDWGNYQIIiWABQEJBqEBhQF1AZUIBQcZ4CnnFQAlAYEClQF1CIEDlQV1AQUIGQEpBZEClQF1A5EDlQZ1CBUAJv8ABQcZACn/gQDABQwJAaEBhQMVACUBdQGVDwojAgohAgqxAQm4CbYJzQm1CeIJ6gnpCTAKBwMKCAMKngEKlgGBApUBdQmBA8CBA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAVgYBABQBQgEEMQEgAAwBm6tW0lYGAwUFBbtXAAAAAAD//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wAAAQAASdkDEAcBAE8ADQBcADcAkwBhAPQAIgEWAAgBHgACAXcAAAEgAQgCKABrApMC0wVmAIcF7QDoBtUAEQbmAAIG6AAHBu8ABwb2AAA3VwACRQIAAAAAAAAAaVcB+dEtP2gQZ8Yi85w2eLT9lD4QrLmAawQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAdpXLxIAJBEUIAAAAAAAVHp1bWkgU2VsZmllc2h1dHRlcgBAJQAgNFYElAAyIvwCBDgYGBmDAQAAAAAAAAABABkAABQJVHp1bWkgU2VsZmllc2h1dHRlcgMDJBEAAAAAAAAxVgQCBJ0GAToKASEaBghkZBTx1BQBuycBLgIGLP//Lf8VdFYCAUFlAQqrVilWGQMKAlgBATwWAj6AIAIZGQIBAwQB8AQBAwMBAQEFBQUAAAMEAfYUAhkZAgEDBQMPDzwBAQMFAgEBNAEDGAGBBA4B4wIOAbYAAQFKASwBBGgC/wAEAQ0BFv8ADQH/AA0C/wANA/8ADQT/AA0F/wASlpEzrYNpKJExTJExloFJeoNq7YNrCQAAAIFNG4KBcYNrhYNrtYNrugAAAIKTCoNr04Nr94NsC4Nr34L9hIKSV4Nr64NspoNsvYNiuINPe4NszINs6INro4HfW4NjlIHiA4HhEoHhhYHhwYNp9oNpiINi5IHb+oNsP4Hd2INqN4Ne9oHf+oNeyoEvrINs/oNtA4NtCIExiOxWEQEEAwEDARACBAAEBQAIAAABAAABAAABIQEEGAMbyVEBAYABDC8Au6sBYK1bAK4DbBY2g2HJg20NgV+hgmWng2KVghlwAAAAAAAAgj/SAAAAAAAAkTNTgnZFgnZGg133g2R2gv1lgTaezVcAAQAAAAAAIALEMQAAEgFuXBIADdyQAASl4EQI8AIA1FuQAA2adATwAgFSoAIA3g4ku2AIJANwCAIBlGoSATRjIqsSzTTvVqt4JnEwMCsrg4PZ2eDgmJjZ2X4BfzcSAA7t72A7fgF/NxIADUyQADAg7vCj7/D1go6DdZMAo6Oj4JAAMCC0Ywvg/qPg/xIADJmADeD8o+D9fgF/NxIADdwCAWB0ETNKdcFAr/uQADAU7/DVEQSiB5KvETOhUAMBMuHv05QGQAMBMuGQEDE/5JPDlB7/kAADo+D+w++eYA+QADAfdKrwfQp/AxICXRR+AX+qEgAO7e/DlAFAAwEy4X4BfxASAA0W79OUElADATLhkAAwH+BkqnADATKsETMeVDhgR5AAMBbgZKpgS3Sq8BEzQhEzHv8w4wmQADAddAXwgBjvMOQJkAAwHXQI8IAL7zDlB5AAMB10CfCQADAd4P0RMzqQADAc8IANkAAwFuC0qgXk8BEzKxEzHjDhG5AAMBXgZKpgNBEzQpAAMBV0qvDkkAAwHPCAIpAAMBXgtKoakAAwF+BwE5AAE1bgkAAwF2AFdATwgAN0AvCQADAX4LQCEOTwfQkRMzoRMyvkkAAwFfCQADAX4LQEFeTw/X8GEgJv9eT9/xEzLuSQADAV8BEzHlQ5cBmQADAc4GACFPCQADAc4LQBCH0EfwESAHVIkAAwGOBgEuTwETNKdcFRdfv/1REEogeSrwICb1OQADAU4P+QADAY4E8i/X8BEgJv9ZAAMBx0WPAifwQSAm/15CJ9AX8IAgJdFMKvwq/CrwURIhEzoUBI79OUBlBCkAATT+BUD//DlARABe9kDHAwkAATKOC0BhkRM0p1wVWv+5AAMBjv8NURBKIHkq8SAm3HfQTk/xIAdUiQADAcdP/wIpAAEyjg/8OUBSKAphIAXZ8RM0p1wVF1+//VEQSiB5KvIoDp91cAABTApSED/wAAAAAAAAAA/wAAAAAAARAeKggAKgQCWAAAAA8AVdQAADEQAlIBFDEQB94AHzEQaHICIzEQ8P8/8P8/8P8/8P8/8P8/8P8/8P8/8P8/8P8/8P8/8P8/8P8/8P8/8P8/8P8/8P8/8P8/8P8/8P8/8P8/8P8/8P8/8P8/8P8/tFcBAAEAAAQBAAAUJRJBaXJvaGEgQlQgS2V5Ym9hcmQBAQAOJQxCbHVldG9vdGggS0IBAgAIJQZBaXJvaGECBgCINYY1hAgiJYAFAQkGoQGFAXUBlQgFBxngKecVACUBgQKVAXUIgQOVBXUBBQgZASkFkQKVAXUDkQOVBnUIFQAm/wAFBxkAKf+BAMAFDAkBoQGFAxUAJQF1AZUPCiMCCiECCrEBCbgJtgnNCbUJ4gnqCekJMAoHAwoIAwqeAQqWAYEClQF1CYEDwIEDwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIBWBgEAFAFCAQQxASAADAGbq1bSVgYDBQUFu1cAAAAAAP//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAABAABJ2QMQBwEATwANAFwANwCTAGEA9AAiARYACAEeAAIBdwAAASABCAIoAGsCkwLTBWYAhwXtAOgG1QARBuYAAgboAAcG7wAHBvYAADdXAAJFAgAAAAAAAABpVwH50S0/aBBnxiLznDZ4tP2UPhCsuYBrBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAB2lcvEgAkERQgAAAAAABUenVtaSBTZWxmaWVzaHV0dGVyAEAlACA0VgSUADIi/AIEOBgYGYMBAAAAAAAAAAEAGQAAFAlUenVtaSBTZWxmaWVzaHV0dGVyAwMkEQAAAAAAADFWBAIEnQYBOgoBIRoGCGRkFPHUFAG7JwEuAgYs//8t/xV0VgIBQWUBCqtWKVYZAwoCWAEBPBYCPoAgAhkZAgEDBAHwBAEDAwEBAQUFBQAAAwQB9hQCGRkCAQMFAw8PPAEBAwUCAQE0AQMYAYEEDgHjAg4BtgABAUoBLAEEaAL/AAQBDQEW/wANAf8ADQL/AA0D/wANBP8ADQX/ABKWkTOtg2kokTFMkTGWgUl6g2rtg2sJAAAAgU0bgoFxg2uFg2u1g2u6AAAAgpMKg2vTg2v3g2wLg2vfgv2EgpJXg2vrg2ymg2y9g2K4g097g2zMg2zog2ujgd9bg2OUgeIDgeESgeGFgeHBg2n2g2mIg2Lkgdv6g2w/gd3Yg2o3g172gd/6g17KgS+sg2z+g20Dg20IgTGI7FYRAQQDAQMBEAIEAAQFAAgAAAEAAAEAAAEhAQQYAxvJUQEBgAEMLwC7qwFgrVsArgNsFjaDYcmDbQ2BX6GCZaeDYpWCGXAAAAAAAACCP9IAAAAAAACRM1OCdkWCdkaDXfeDZHaC/WWBNp7NVwABAAAAAAAgAsQxAAASAW5cEgAN3JAABKXgRAjwAgDUW5AADZp0BPACAVKgAgDeDiS7YAgkA3AIAgGUahIBNGMiqxLNNO9Wq3gmcTAwKyuDg9nZ4OCYmNnZfgF/NxIADu3vYDt+AX83EgANTJAAMCDu8KPv8PWCjoN1kwCjo6PgkAAwILRjC+D+o+D/EgAMmYAN4Pyj4P1+AX83EgAN3AIBYHQRM0p1wUCv+5AAMBTv8NURBKIHkq8RM6FQAwEy4e/TlAZAAwEy4ZAQMT/kk8OUHv+QAAOj4P7D755gD5AAMB90qvB9Cn8DEgJdFH4Bf6oSAA7t78OUAUADATLhfgF/EBIADRbv05QSUAMBMuGQADAf4GSqcAMBMqwRMx5UOGBHkAAwFuBkqmBLdKrwETNCETMe/zDjCZAAMB10BfCAGO8w5AmQADAddAjwgAvvMOUHkAAwHXQJ8JAAMB3g/REzOpAAMBzwgA2QADAW4LSqBeTwETMrETMeMOEbkAAwFeBkqmA0ETNCkAAwFXSq8OSQADAc8IAikAAwFeC0qhqQADAX4HATkAATVuCQADAXYAV0BPCAA3QC8JAAMBfgtAIQ5PB9CREzOhEzK+SQADAV8JAAMBfgtAQV5PD9fwYSAm/15P3/ETMu5JAAMBXwETMeVDlwGZAAMBzgYAIU8JAAMBzgtAEIfQR/ARIAdUiQADAY4GAS5PARM0p1wVF1+//VEQSiB5KvAgJvU5AAMBTg/5AAMBjgTyL9fwESAm/1kAAwHHRY8CJ/BBICb/XkIn0BfwgCAl0Uwq/Cr8KvBREiETOhQEjv05QGUEKQABNP4FQP/8OUBEAF72QMcDCQABMo4LQGGREzSnXBVa/7kAAwGO/w1REEogeSrxICbcd9BOT/EgB1SJAAMBx0//AikAATKOD/w5QFIoCmEgBdnxEzSnXBUXX7/9URBKIHkq8igOn3VwAAFMClIQP/AAAAAAAAAAD/AAAAAAABEB4qCAAqBAJYAAAADwBV1AAAMRACUgEUMRAH3gAfMRBocgIjMRDw/z/w/z/w/z/w/z/w/z/w/z/w/z/w/z/w/z/w/z/w/z/w/z/w/z/w/z/w/z/w/z/w/z/w/z/w/z/w/z/w/z/w/z/w/z/w/z+0VwEAAQAABAEAABQlEkFpcm9oYSBCVCBLZXlib2FyZAEBAA4lDEJsdWV0b290aCBLQgECAAglBkFpcm9oYQIGAIg1hjWECCIlgAUBCQahAYUBdQGVCAUHGeAp5xUAJQGBApUBdQiBA5UFdQEFCBkBKQWRApUBdQORA5UGdQgVACb/AAUHGQAp/4EAwAUMCQGhAYUDFQAlAXUBlQ8KIwIKIQIKsQEJuAm2Cc0JtQniCeoJ6QkwCgcDCggDCp4BCpYBgQKVAXUJgQPAgQPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgFYGAQAUAUIBBDEBIAAMAZurVtJWBgMFBQW7VwAAAAAA//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAAEAAEnZAxAHAQBPAA0AXAA3AJMAYQD0ACIBFgAIAR4AAgF3AAABIAEIAigAawKTAtMFZgCHBe0A6AbVABEG5gACBugABwbvAAcG9gAAN1cAAkUCAAAAAAAAAGlXAfnRLT9oEGfGIvOcNni0/ZQ+EKy5gGsEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAHaVy8SACQRFCAAAAAAAFR6dW1pIFNlbGZpZXNodXR0ZXIAQCUAIDRWBJQAMiL8AgQ4GBgZgwEAAAAAAAAAAQAZAAAUCVR6dW1pIFNlbGZpZXNodXR0ZXIDAyQRAAAAAAAAMVYEAgSdBgE6CgEhGgYIZGQU8dQUAbsnAS4CBiz//y3/FXRWAgFBZQEKq1YpVhkDCgJYAQE8FgI+gCACGRkCAQMEAfAEAQMDAQEBBQUFAAADBAH2FAIZGQIBAwUDDw88AQEDBQIBATQBAxgBgQQOAeMCDgG2AAEBSgEsAQRoAv8ABAENARb/AA0B/wANAv8ADQP/AA0E/wANBf8AEpaRM62DaSiRMUyRMZaBSXqDau2DawkAAACBTRuCgXGDa4WDa7WDa7oAAACCkwqDa9ODa/eDbAuDa9+C/YSCkleDa+uDbKaDbL2DYriDT3uDbMyDbOiDa6OB31uDY5SB4gOB4RKB4YWB4cGDafaDaYiDYuSB2/qDbD+B3diDajeDXvaB3/qDXsqBL6yDbP6DbQODbQiBMYjsVhEBBAMBAwEQAgQABAUACAAAAQAAAQAAASEBBBgDG8lRAQGAAQwvALurAWCtWwCuA2wWNoNhyYNtDYFfoYJlp4NilYIZcAAAAAAAAII/0gAAAAAAAJEzU4J2RYJ2RoNd94NkdoL9ZYE2ns1XAAEAAAAAACACxDEAABIBblwSAA3ckAAEpeBECPACANRbkAANmnQE8AIBUqACAN4OJLtgCCQDcAgCAZRqEgE0YyKrEs0071areCZxMDArK4OD2dng4JiY2dl+AX83EgAO7e9gO34BfzcSAA1MkAAwIO7wo+/w9YKOg3WTAKOjo+CQADAgtGML4P6j4P8SAAyZgA3g/KPg/X4BfzcSAA3cAgFgdBEzSnXBQK/7kAAwFO/w1REEogeSrxEzoVADATLh79OUBkADATLhkBAxP+STw5Qe/5AAA6Pg/sPvnmAPkAAwH3Sq8H0KfwMSAl0UfgF/qhIADu3vw5QBQAMBMuF+AX8QEgANFu/TlBJQAwEy4ZAAMB/gZKpwAwEyrBEzHlQ4YEeQADAW4GSqYEt0qvARM0IRMx7/MOMJkAAwHXQF8IAY7zDkCZAAMB10CPCAC+8w5QeQADAddAnwkAAwHeD9ETM6kAAwHPCADZAAMBbgtKoF5PARMysRMx4w4RuQADAV4GSqYDQRM0KQADAVdKrw5JAAMBzwgCKQADAV4LSqGpAAMBfgcBOQABNW4JAAMBdgBXQE8IADdALwkAAwF+C0AhDk8H0JETM6ETMr5JAAMBXwkAAwF+C0BBXk8P1/BhICb/Xk/f8RMy7kkAAwFfARMx5UOXAZkAAwHOBgAhTwkAAwHOC0AQh9BH8BEgB1SJAAMBjgYBLk8BEzSnXBUXX7/9URBKIHkq8CAm9TkAAwFOD/kAAwGOBPIv1/ARICb/WQADAcdFjwIn8EEgJv9eQifQF/CAICXRTCr8Kvwq8FESIRM6FASO/TlAZQQpAAE0/gVA//w5QEQAXvZAxwMJAAEyjgtAYZETNKdcFVr/uQADAY7/DVEQSiB5KvEgJtx30E5P8SAHVIkAAwHHT/8CKQABMo4P/DlAUigKYSAF2fETNKdcFRdfv/1REEogeSryKA6fdXAAAUwKUhA/8AAAAAAAAAAP8AAAAAAAEQHioIACoEAlgAAAAPAFXUAAAxEAJSARQxEAfeAB8xEGhyAiMxEPD/P/D/P/D/P/D/P/D/P/D/P/D/P/D/P/D/P/D/P/D/P/D/P/D/P/D/P/D/P/D/P/D/P/D/P/D/P/D/P/D/P/D/P/D/P/D/P7RXAQABAAAEAQAAFCUSQWlyb2hhIEJUIEtleWJvYXJkAQEADiUMQmx1ZXRvb3RoIEtCAQIACCUGQWlyb2hhAgYAiDWGNYQIIiWABQEJBqEBhQF1AZUIBQcZ4CnnFQAlAYEClQF1CIEDlQV1AQUIGQEpBZEClQF1A5EDlQZ1CBUAJv8ABQcZACn/gQDABQwJAaEBhQMVACUBdQGVDwojAgohAgqxAQm4CbYJzQm1CeIJ6gnpCTAKBwMKCAMKngEKlgGBApUBdQmBA8CBA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAVgYBABQBQgEEMQEgAAwBm6tW0lYGAwUFBbtXAAAAAAD//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wA=
// Attempt to walk the datastructures layed out in the programmer's guide
#include <stdio.h>
#define FILE_LENGTH 0x2000
#define PS_OFFSET 0x48
typedef struct {
unsigned short id;
unsigned char version_major;
unsigned char version_minor;
unsigned short pskey_length;
unsigned short data_length;
unsigned char eeprom_flag;
} Header;
typedef struct {
unsigned char id;
unsigned char length;
unsigned int* data;
} Envelope;
void fill_buffer(char* buffer, char* filename) {
FILE *fd;
fd = fopen(filename, "r");
if (fd == NULL) {
perror("File open errror");
}
// Read in the whole dump
if (fread(buffer, FILE_LENGTH, 1, fd) != 1) {
perror("File wasn't read properly, or wasn't the right size");
}
}
int print_envelope(char* buffer, int offset) {
Envelope* ps = (Envelope*)(buffer + offset);
printf("PS Key (id: 0x%X)\n", ps->id);
printf("---------------------------\n");
printf(" Length: %hhu\n", ps->length);
printf(" Data: \n ");
//if (ps->length == 0)
// return -1;
unsigned char* data = (unsigned char*)ps + 2;
for (int i = 0; i < ps->length; i++)
printf("%04X ", data[i]);
printf("\n\n");
return offset + (ps->length * 2) + 2;
}
int main(int count, char** args) {
Header* head;
char buffer[FILE_LENGTH];
fill_buffer(buffer, args[1]);
int offset = PS_OFFSET + atoi(args[2]);
// Lay the header overtop of or binary dumpage
head = (Header*)buffer;
// Print header infos:
printf("\nMemory Dump Information:\n");
printf("===========================\n");
printf(" Chip ID: %2X\n", head->id);
printf(" Version: %hhu.%hhu\n", head->version_major, head->version_minor);
printf(" Key Length: %u\n", head->pskey_length);
printf(" Data Length: %u\n", head->data_length);
printf(" EEPROM: %02X\n", head->eeprom_flag);
printf("\n");
while (offset < head->pskey_length) {
offset = print_envelope(buffer, offset);
if (offset == -1) {
printf("Lost pointer\n\n");
return -1;
}
}
printf("\n\n");
}
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/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wA=

Notes for 4 Button Device (Airoha 1112AB)

It looks like we've got data on i2c when pairing and unpairing. Too quick for the Bus Pirate to pick up.

Nothing on the serial UART it seems when booting or (un)pairing. Might just not have the right baud rate here.

Host MAC Address: 28-CF-E9-??-??-??

  • Location: 0x005E
  • Notes: Written backwards?! Seems to update after pairing...

Device MAC Address: 20-14-11-24-00-12

  • Location: 0x0096

Device Name:

  • Locations: 0x00a0, 0x00d7

Device Services:

  • Location: 0x05fb

Vendor name:

  • Location: 0x0625
  • Notes: No idea where this is used...

Notes for 2 Button Device (RDA5871)

Bus pirate dump

I created the dump using the standard EEPROM protocol of setting the address to 0x00 and reading 2048 bytes out of the thing. To do that, I wrote commands like so:

Read:
[0xa0 0x00 0x00][0xa1+r:0x2000]

Write:
[0xa0 0x1b 0x3c  0x45+0x64+0x77+0x69]
[0xa0 0x1b 0x40  0x6e+0x20+0x53+0x61+0x79+0x73+0x20+0x48+0x65+0x6c+0x6c+0x6f+0x0d+0x0a+240+159+146+150]

I then took that output into Sublime Text and ran some Find+Replace RegEx magic on it to remove the debug data and access calls until I got a huge hex string. I then ran it against this handy scriptydoo:

#!/usr/bin/env python3

import base64

with open('~/Downloads/output.bin') as o:
    data = base64.b16decode("DEADBEEF1986") # Yes, I coped 4096 characters in here
    o.write(data)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment