From 8c9d4db6f131f887a42aa9502e23cb14d57ad8ad Mon Sep 17 00:00:00 2001 From: viewpro-caijie Date: Tue, 14 Apr 2026 11:28:30 +0800 Subject: [PATCH 01/40] AP_Bootloader:Add VUAV-TinyV7 Board ID --- Tools/AP_Bootloader/board_types.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/Tools/AP_Bootloader/board_types.txt b/Tools/AP_Bootloader/board_types.txt index a4a15d7d71e87..8ed341b213176 100644 --- a/Tools/AP_Bootloader/board_types.txt +++ b/Tools/AP_Bootloader/board_types.txt @@ -571,6 +571,7 @@ AP_HW_CUAV-X25-EVO 7002 # IDs 7100-7109 reserved for V-UAV AP_HW_VUAV-V7pro 7100 +AP_HW_VUAV-TinyV7 7101 # IDs 7110-7119 reserved for AEROFOX AP_HW_AEROFOX_H7 7110 From 4ec9f5d4da37a150054f623f8769f05b45a77c15 Mon Sep 17 00:00:00 2001 From: viewpro-caijie Date: Tue, 14 Apr 2026 11:29:02 +0800 Subject: [PATCH 02/40] bootloaders:Add VUAV-TinyV7 bootloader --- Tools/bootloaders/VUAV-TinyV7_bl.bin | Bin 0 -> 38076 bytes Tools/bootloaders/VUAV-TinyV7_bl.hex | 2382 ++++++++++++++++++++++++++ 2 files changed, 2382 insertions(+) create mode 100755 Tools/bootloaders/VUAV-TinyV7_bl.bin create mode 100644 Tools/bootloaders/VUAV-TinyV7_bl.hex diff --git a/Tools/bootloaders/VUAV-TinyV7_bl.bin b/Tools/bootloaders/VUAV-TinyV7_bl.bin new file mode 100755 index 0000000000000000000000000000000000000000..e0665f2ed1d7671a0297f622dc35257003b025c2 GIT binary patch literal 38076 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 !5sKaoiq35hfKFTOj6TwZd!IX zu`SNa#m| zsILC-n@Dh^@$IAU96R3B{O*a9E$`*#e)!SHr%r$J>0i9wa8C2uJI;Uh`MfU*zeIM0 z|M=#c#mMu{@4ol-Uh3<=e8n#h3=R!n4FoB#P^m|U^v&odqJE_$k?$nqd6}sAAdXh+ zDWT~!gDUB4s-aFgjXnT(6}^qvxDE6XJe%-5Mjyws1sY?v;dzoiMW3eC^cg(c=?;2@ zK1Y8~cjCE;+fDb-z0|4i036dFVk1>yh;zygY-2#Z$RnhpJ*Mer-$)0;CYK4 z!SgmfO5eeAocd`qeV3k~Cus|P59R~F1P^r|92k9POh#>81U6WST-v zTpXRlsmY4894?2uiMuE57S6)u;&E_Mw3xGy4fvYH9Q&3M?rFM|tEP8xcXL1Eehvk` zrCb@egD&S*aQAR4x!>cvD!8(=)!Z+*d$~QdlKUmMm#*dR$JhOe`!%<5?xQDry=?3l*sQB8%J<2`CJd>tRlpWr!C%h&QPyvUzMtS9)V_^0_cJ|4){C^EqJ@%{W|{tEBMGr$kx zNf!)!k)TmYf{AVwZlv!Dqv>A+N}2@^F1;*OOcvOf{Otrv%G1ci=V;BurIhGJrADt* z8epfxSm0iuSCKpQ3-!zNi}ZKvm*{`4m++=iKbpL)KdS#w|B?P<{V9Ei{=8n+59qt~ zJ^DfYkiH6Ws$pti4(SDQMBk{d*T17bt*7Lq-lOM~oiJa+_pQDU|HJy*jg({gOplvJC)20hj8b?>ADd{@cRcXs9xnZ)H8%*R0`G5?Qi{vZvchX6|CS9bP^pI~r z)c%fqOIpZ#P&SI8wYL>6aj)_Cft)FY%HC1VRer z4e}Z}M&2QRBnQb+@=Wrx$=j2;PD|D$ zljOO{7syGnGQ4J1JRMmorO(oU|D&&i+2o8)y;N5&hDlRuMJh@TuGhsb{N7HK4h zNj<4auE93KSwtA@ycTFmhib{NUw~gpv1vs7BK#U|6e)@LW8fdhk0zDy$G~VNNvXh#KKbxf=okxyD{Bv1)0F;#c@SCxMh%;es zTR_A|7ZLHxBCPvx&w%*|ZWi;mkYRPh?1Om*W-rVZm~}9vFm*62-blXX*bC-AL&PHR zu``(xVyUXA!utdG!CD>+;-CF$q6k$G5({VOodB%V$UB4yf~Pod z;k?}W$*5?kVPNmQgNUO_KoiEO)qwxk05kFqQ$6%sjQ7mJ+9e(DnR}$K82+15j@)n$ z5pTjcXooolV?&&H@K>oh8{x3{WvJ0Pl!H?-iD;-|681P@62~bfDG6069^t{Hti~$I zVIL|CqOp65Uo>}OzK9{E0uGBCM>f}#BsF4T|(5iDmaXXL7P4S7?v59ZV&7#*cN!M4R|yvbN`|gz?ysc z>J@P7DuWNR`0RHqDQpwMAO(!Kh&LYkbT^`|X4plrXTTmwL!M)i#1Sj>N$b&mk);1- F{SVFj(*ytj literal 0 HcmV?d00001 diff --git a/Tools/bootloaders/VUAV-TinyV7_bl.hex b/Tools/bootloaders/VUAV-TinyV7_bl.hex new file mode 100644 index 0000000000000..173aeee05bf56 --- /dev/null +++ b/Tools/bootloaders/VUAV-TinyV7_bl.hex @@ -0,0 +1,2382 @@ +:020000040800F2 +:1000000000060020E1020008E3020008E302000805 +:10001000E3020008E3020008E3020008E30200082C +:10002000E3020008E3020008E30200081170000880 +:10003000E3020008E3020008E3020008E30200080C +:10004000E3020008E3020008E3020008E3020008FC +:10005000E3020008E30200081D7F0008497F000852 +:10006000757F0008A17F0008CD7F000815460008B5 +:100070003D4600086946000895460008C14600084C +:10008000E946000815470008E3020008E3020008FB +:10009000E3020008E3020008E3020008F97F000819 +:1000A000E3020008E3020008E3020008E30200089C +:1000B000E3020008E3020008E3020008E30200088C +:1000C000E3020008E3020008E3020008E30200087C +:1000D000E3020008E3020008E3020008E30200086C +:1000E0005D800008E3020008E3020008E302000864 +:1000F000E3020008E3020008E302000841470008A9 +:10010000E3020008D1800008E5800008E30200084F +:10011000E3020008E3020008E3020008E30200082B +:100120006D47000895470008C1470008ED470008E3 +:1001300019480008E3020008E3020008E30200088F +:10014000E3020008E3020008E3020008E3020008FB +:10015000414800086D48000899480008E30200087B +:10016000E3020008E3020008E3020008E3020008DB +:10017000E3020008FD7B0008E3020008E302000838 +:10018000E3020008E3020008E3020008E3020008BB +:10019000E3020008E3020008E3020008E3020008AB +:1001A000E3020008E3020008E3020008E30200089B +:1001B000E3020008E3020008E3020008E30200088B +:1001C000E3020008E3020008E3020008E30200087B +:1001D000E3020008E97B0008E3020008E3020008EC +:1001E000E3020008E3020008E3020008E30200085B +:1001F000E3020008E3020008E3020008E30200084B +:10020000E3020008E3020008E3020008E30200083A +:10021000E3020008E3020008E3020008E30200082A +:10022000E3020008E3020008E3020008E30200081A +:10023000E3020008E3020008E3020008E30200080A +:10024000E3020008E3020008E3020008E3020008FA +:10025000E3020008E3020008E3020008E3020008EA +:10026000E3020008E3020008E3020008E3020008DA +:10027000E3020008E3020008E3020008E3020008CA +:10028000E3020008E3020008E3020008E3020008BA +:10029000E3020008E3020008E3020008E3020008AA +:1002A000E3020008E3020008E3020008E30200089A +:1002B000E3020008E3020008E3020008E30200088A +:1002C000E3020008E3020008E3020008E30200087A +:1002D000E3020008E3020008E3020008E30200086A +:1002E00002E000F000F8FEE772B6374880F30888B5 +:1002F000364880F3098836483649086040F20000E5 +:10030000CCF200004EF63471CEF200010860BFF36B +:100310004F8FBFF36F8F40F20000C0F2F0004EF637 +:100320008851CEF200010860BFF34F8FBFF36F8F8B +:100330004FF00000E1EE100A4EF63C71CEF20001E3 +:100340000860062080F31488BFF36F8F06F0C2FEAA +:1003500006F040F84FF055301F491B4A91423CBF10 +:1003600041F8040BFAE71D49184A91423CBF41F895 +:10037000040BFAE71A491B4A1B4B9A423EBF51F83D +:10038000040B42F8040BF8E700201849184A914280 +:100390003CBF41F8040BFAE706F0DAFE06F09EF8DF +:1003A000144C154DAC4203DA54F8041B8847F9E7A6 +:1003B00000F0C4F9114C124DAC4203DA54F8041B9E +:1003C0008847F9E706F0C2BE0006002000220020A0 +:1003D0000000000808ED00E00000002000060020FA +:1003E0005894000800220020642200206822002087 +:1003F00044590020E0020008E0020008E002000882 +:10040000E00200082DE9F04F2DED108AC1F80CD064 +:10041000D0F80CD0BDEC108ABDE8F08F002383F338 +:1004200011882846A047002005F0B6FDFEE705F03C +:1004300041FD00DFFEE7000053B94AB9002908BFBB +:1004400000281CBF4FF0FF314FF0FF3000F074B9AF +:10045000ADF1080C6DE904CE00F006F8DDF804E01B +:10046000DDE9022304B070472DE9F047089D0446FA +:100470008E46002B4DD18A42944669D9B2FA82F257 +:1004800052B101FA02F3C2F1200120FA01F10CFA93 +:1004900002FC41EA030E94404FEA1C48210CBEFBCB +:1004A000F8F61FFA8CF708FB16E341EA034306FB54 +:1004B00007F199420AD91CEB030306F1FF3080F0E3 +:1004C0001F81994240F21C81023E63445B1AA4B230 +:1004D000B3FBF8F008FB103344EA034400FB07F7D2 +:1004E000A7420AD91CEB040400F1FF3380F00A8113 +:1004F000A74240F207816444023840EA0640E41B08 +:1005000000261DB1D4400023C5E900433146BDE8B3 +:10051000F0878B4209D9002D00F0EF800026C5E955 +:10052000000130463146BDE8F087B3FA83F6002E6D +:100530004AD18B4202D3824200F2F980841A61EBE5 +:10054000030301209E46002DE0D0C5E9004EDDE703 +:1005500002B9FFDEB2FA82F2002A40F09280A1EBEB +:100560000C014FEA1C471FFA8CFE0126200CB1FB40 +:10057000F7F307FB131140EA01410EFB03F0884239 +:1005800008D91CEB010103F1FF3802D2884200F2C6 +:10059000CB804346091AA4B2B1FBF7F007FB101158 +:1005A00044EA01440EFB00FEA64508D91CEB0404F6 +:1005B00000F1FF3102D2A64500F2BB800846A4EB51 +:1005C0000E0440EA03409CE7C6F12007B34022FA3C +:1005D00007FC4CEA030C20FA07F401FA06F31C436B +:1005E000F9404FEA1C4900FA06F3B1FBF9F8200C78 +:1005F0001FFA8CFE09FB181140EA014108FB0EF0BE +:10060000884202FA06F20BD91CEB010108F1FF3A0D +:1006100080F08880884240F28580A8F10208614419 +:10062000091AA4B2B1FBF9F009FB101144EA014127 +:1006300000FB0EFE8E4508D91CEB010100F1FF34D2 +:100640006CD28E456AD90238614440EA0840A0FB6A +:100650000294A1EB0E01A142C846A64656D353D040 +:100660005DB1B3EB080261EB0E0101FA07F722FA64 +:1006700006F3F1401F43C5E9007100263146BDE88D +:10068000F087C2F12003D8400CFA02FC21FA03F3F0 +:10069000914001434FEA1C471FFA8CFEB3FBF7F071 +:1006A00007FB10360B0C43EA064300FB0EF69E4296 +:1006B00004FA02F408D91CEB030300F1FF382FD22F +:1006C0009E422DD9023863449B1B89B2B3FBF7F6D7 +:1006D00007FB163341EA034106FB0EF38B4208D9B0 +:1006E0001CEB010106F1FF3816D28B4214D9023EF1 +:1006F0006144C91A46EA004638E72E46284605E70F +:100700000646E3E61846F8E64B45A9D2B9EB0208DF +:1007100064EB0C0E0138A3E74646EAE7204694E76F +:100720004046D1E7D0467BE7023B614432E73046A2 +:1007300009E76444023842E7704700BF38B501F06A +:10074000E9F901F07DFB06F06DFB054606F056FC6D +:100750000446D0B90F4B9D4219D001339D4241F25E +:10076000883504BF01240025002006F065FB0CB18C +:1007700000F078F801F038FB00F026FD08B100F039 +:1007800071F8284600F01CF9F9E70025ECE705466A +:10079000EAE700BF010007B008B501F08DF9A0F14C +:1007A00020035842584108BD07B541F21203022107 +:1007B00001A8ADF8043001F09DF903B05DF804FB29 +:1007C00038B5302383F31188174803680BB105F05F +:1007D000C7FC0023154A4FF47A71134805F0B6FCA4 +:1007E000002383F31188124C236813B12368013B63 +:1007F0002360636813B16368013B63600D4D2B7820 +:1008000033B963687BB9022001F04EFA322363608A +:100810002B78032B07D163682BB9022001F044FA2F +:100820004FF47A73636038BD68220020C107000866 +:100830008823002080220020084B187003280CD841 +:10084000DFE800F008050208022001F01DBA0220CE +:1008500001F008BA024B00225A6070478022002043 +:1008600088230020F8B5504B504A1C4619680131C6 +:1008700000F0998004339342F8D162684C4B9A425D +:1008800040F291804B4B9B6803F1006303F500330A +:100890009A4280F08880002001F056F90220FFF78C +:1008A000CBFF454B0021D3F8E820C3F8E810D3F87C +:1008B0001021C3F81011D3F81021D3F8EC20C3F89D +:1008C000EC10D3F81421C3F81411D3F81421D3F881 +:1008D000F020C3F8F010D3F81821C3F81811D3F89A +:1008E0001821D3F8802042F00062C3F88020D3F8AA +:1008F000802022F00062C3F88020D3F88020D3F853 +:10090000802042F00072C3F88020D3F8802022F0CB +:100910000072C3F88020D3F8803072B64FF0E02325 +:10092000C3F8084DD4E90004BFF34F8FBFF36F8FB6 +:10093000224AC2F88410BFF34F8F536923F48033E7 +:100940005361BFF34F8FD2F8803043F6E076C3F3A4 +:10095000C905C3F34E335B0103EA060C29464CEA92 +:1009600081770139C2F87472F9D2203B13F1200F5C +:10097000F2D1BFF34F8FBFF36F8FBFF34F8FBFF332 +:100980006F8F536923F4003353610023C2F8503250 +:10099000BFF34F8FBFF36F8F302383F311888546EA +:1009A00080F308882047F8BD0000020820000208F4 +:1009B000FFFF0108002200200044025800ED00E083 +:1009C0002DE9F04F93B0B44B2022FF2100900AA8EC +:1009D0009D6801F0B3F9B14A1378A3B90121B04879 +:1009E00011700360302383F3118803680BB105F0A5 +:1009F000B7FB0023AB4A4FF47A71A94805F0A6FB78 +:100A0000002383F31188009B13B1A74B009A1A604F +:100A1000A64A1378032B03D000231370A24A536015 +:100A20004FF0000A009CD3465646D146012001F003 +:100A30002BF924B19C4B1B68002B00F02682002070 +:100A400001F03AF80390039B002BF2DB012001F048 +:100A500009F9039B213B1F2BE8D801A252F823F090 +:100A6000E10A0008090B00089D0B00082D0A000888 +:100A70002D0A00082D0A00082F0C0008FF0D0008A1 +:100A8000190D00087B0D0008A30D0008C90D000812 +:100A90002D0A0008DB0D00082D0A00084D0E000885 +:100AA000810B00082D0A0008910E0008ED0A0008CD +:100AB000810B00082D0A00087B0D00082D0A000894 +:100AC0002D0A00082D0A00082D0A00082D0A00082A +:100AD0002D0A00082D0A00082D0A00089D0B0008A9 +:100AE0000220FFF759FE002840F0F981009B022107 +:100AF00005A8BAF1000F08BF1C4641F21233ADF849 +:100B0000143000F0F7FF91E74FF47A7000F0D4FF53 +:100B1000071EEBDB0220FFF73FFE0028E6D0013F77 +:100B2000052F00F2DE81DFE807F0030A0D1013360F +:100B30000523042105A8059300F0DCFF17E004213C +:100B40005548F9E704215A48F6E704215948F3E7E4 +:100B50004FF01C08404608F1040800F0F7FF04219C +:100B6000059005A800F0C6FFB8F12C0FF2D10120C6 +:100B70004FF0000900FA07F747EA0B0B5FFA8BFB0F +:100B800001F028F926B10BF00B030B2B08BF002452 +:100B9000FFF70AFE4AE704214748CDE7002EA5D01B +:100BA0000BF00B030B2BA1D10220FFF7F5FD07463D +:100BB00000289BD00120002600F0C6FF0220FFF78E +:100BC0003BFE1FFA86F8404600F0CEFF0446B0B167 +:100BD000039940460136A1F140025142514100F0D3 +:100BE000D3FF0028EDD1BA46044641F21213022188 +:100BF00005A83E46ADF8143000F07CFF16E7254608 +:100C00000120FFF719FE244B9B68AB4207D9284609 +:100C100000F09CFF013040F067810435F3E70025C8 +:100C2000224BBA463E461D701F4B5D60A8E7002E62 +:100C30003FF45CAF0BF00B030B2B7FF457AF02209C +:100C4000FFF7FAFD322000F037FFB0F10008FFF6A1 +:100C50004DAF18F003077FF449AF0F4A08EB0503C7 +:100C6000926893423FF642AFB8F5807F3FF73EAFC0 +:100C7000124BB845019323DD4FF47A7000F01CFF4E +:100C80000390039A002AFFF631AF039A0137019BC4 +:100C900003F8012BEDE700BF002200208423002091 +:100CA00068220020C107000888230020802200203D +:100CB00004220020082200200C2200208422002090 +:100CC000C820FFF769FD074600283FF40FAF1F2D2E +:100CD00011D8C5F120020AAB25F003008449424532 +:100CE000184428BF4246019201F002F8019AFF2100 +:100CF0007F4801F023F84FEAA803C8F387027C4934 +:100D00002846019301F022F8064600283FF46DAF13 +:100D1000019B05EB830533E70220FFF73DFD00282B +:100D20003FF4E4AE00F04EFF00283FF4DFAE0027B2 +:100D3000B846704B9B68BB4218D91F2F11D80A9B2D +:100D400001330ED027F0030312AA134453F8203CBA +:100D500005934046042205A9043701F009F98046AD +:100D6000E7E7384600F0F2FE0590F2E7CDF8148090 +:100D7000042105A800F0BEFE02E70023642104A8B8 +:100D8000049300F0ADFE00287FF4B0AE0220FFF720 +:100D900003FD00283FF4AAAE049800F009FF059077 +:100DA000E6E70023642104A8049300F099FE0028DC +:100DB0007FF49CAE0220FFF7EFFC00283FF496AED4 +:100DC000049800F0F7FEEAE70220FFF7E5FC0028B0 +:100DD0003FF48CAE00F006FFE1E70220FFF7DCFCF9 +:100DE00000283FF483AE05A9142000F001FF074658 +:100DF0000421049004A800F07DFE3946B9E73220B2 +:100E000000F05AFE071EFFF671AEBB077FF46EAE10 +:100E1000384A07EB0903926893423FF667AE022017 +:100E2000FFF7BAFC00283FF461AE27F003074F44F8 +:100E3000B9453FF4A5AE484609F1040900F086FE25 +:100E40000421059005A800F055FEF1E74FF47A70F3 +:100E5000FFF7A2FC00283FF449AE00F0B3FE0028E3 +:100E600044D00A9B01330BD008220AA9002000F0CD +:100E70006DFF00283AD02022FF210AA800F05EFF73 +:100E8000FFF792FC1C4805F08DF813B0BDE8F08F19 +:100E9000002E3FF42BAE0BF00B030B2B7FF426AE92 +:100EA0000023642105A8059300F01AFE07460028D8 +:100EB0007FF41CAE0220FFF76FFC804600283FF451 +:100EC00015AEFFF771FC41F2883005F06BF805981C +:100ED00000F0B4FF46463C4600F07CFFA6E506461F +:100EE0004EE64FF0000901E6BA467EE637467CE65C +:100EF0008422002000220020A0860100704700000C +:100F000070470000704700002DE9F04100F5803780 +:100F1000044616463B7C5BB9C0681030204400F0A4 +:100F2000E7FEE5683544B5F5004FE56002D816B137 +:100F3000BDE8F081DEB905F07F0605F11000002163 +:100F4000C6F180062044F6B232462E4400F0F6FE8A +:100F5000A06804F11008324600F10060414600F537 +:100F6000003005F0FDFC30B901233B74E0E74FF49D +:100F700000463546ECE7A26805F1100140463244D0 +:100F80002144A260E268521BE26000F0B1FE022040 +:100F9000BDE8F04100F088BE183000F0E9BC000068 +:100FA00010B5044601F000F8204610BD10B5044607 +:100FB00000F0FAFF204610BDC0B2A0F14103052B9E +:100FC00002D83738C0B27047A0F16103052B94BF37 +:100FD00057383038F6E7000070B504461546084625 +:100FE00003220C4900F08EFE014688B908346E1CBD +:100FF00015F91100FFF7E0FF024616F91100013163 +:10100000FFF7DAFF102940EA021004F8010BEFD1D4 +:1010100070BD00BF808A00082DE9F04FADF53F7D1F +:101020000746416801222AA802F0A0FE002840F0ED +:1010300087800646824681461125DFF80C81DFF85D +:101040000CB101AB4FF4805241462AA802F0EEFFEA +:10105000002875D1019AB2F5805F71D8002A65D059 +:101060000446019A9442ECD2282D0FD008DC132DAF +:101070002DD01E2D39D0112D13D00134A4B2F0E79C +:10108000322D2DD0372D2FD02D2DF6D13B68121BB0 +:1010900008EB040138461B692D259847BDF804402C +:1010A000EBE7121B022A09D9594608EB040000F0AD +:1010B00029FE18B902342825A4B2DEE718F8043056 +:1010C0003A2B3DD00A2B1CBFA1461325D5E718F8B3 +:1010D00004300A2B34D03A2B04BFA2463225CCE789 +:1010E00018F80430202BC8D0264618F804300A2BF4 +:1010F0001AD1AAEB090208EB090102A811254F2A0F +:1011000028BF4F2207F0A8FCA21B08EB060116A877 +:101110004F2A28BF4F2207F09FFC3B6816AA02A95E +:10112000DB6838469847A8E71E25A6E73B6838469F +:1011300004491B69984701200DF53F7DBDE8F08FFC +:101140000020F9E7828B000890230020848A0008A1 +:1011500000F1180110B5044686B00846019100F070 +:10116000F1FB2046FFF758FF60B1019902A800F09B +:1011700049FC102204F1080102A807F02DFCB0FA86 +:1011800080F0400906B010BD70B504460025EEB2EF +:10119000304600F0E9FC58B100213046013500F03E +:1011A000F3FC08B9002070BD022000F07DFDEEE7E1 +:1011B0002046FFF731FF0028F4D004F58034207C6E +:1011C00080F00100EFE70000F0B5C9B005F042FE85 +:1011D00000F006FF18B90025284649B0F0BD694661 +:1011E0002A4802F0E5FF00284BD1294C204603F0A5 +:1011F0000FF8284803F00CF8274803F009F82146B7 +:10120000224803F081F80028E5D1702000F0C6FEE6 +:10121000064610B1214B44600360336830469B683A +:101220009847054600282ED01A4F1948394603F032 +:101230006BF805460028CED1194800F0AFFE0446F1 +:1012400038B1184B4760036000F58033C0E90255A0 +:101250001D74236820469B689847054628B10E49AF +:101260000C4803F051F80028B5D1336830465B686C +:1012700098471CB1236820465B68984700F098FEA9 +:10128000AAE70025FAE70446EFE700BF888A0008CE +:10129000988A0008AF8A0008C58A0008E88A000812 +:1012A00014000100048B00082DE9F04FD44A8DB0E2 +:1012B0000B68D0F804A001931A440368D14E1A4475 +:1012C000D1F81C90DFF8B4C3DFF8B4B3D0E902342E +:1012D000634003EA0A03634013444A6802920AEB3C +:1012E0007363029CC84A2244C468224484688AEA20 +:1012F00004051D40654015448A68039203EB35558B +:10130000039CC24A2244846822448AEA03042C4093 +:1013100084EA0A041444CA6805EBF43404921644BF +:1013200083EA0502224056445A4032440E6905962B +:1013300004EBB222059FB64E3E441E4485EA0403E8 +:1013400013406B4033444E69069602EB7363069F6D +:10135000B04E3E442E4484EA02051D4065403544AB +:101360008E69079603EB3555079FAB4E3E442644E6 +:1013700082EA03042C4054403444A84E4E4405EB0A +:10138000F434164483EA050222405A4032440E6A7D +:10139000089604EBB222089FA14E3E441E4485EA03 +:1013A000040313406B4033444E6A099602EB7363A7 +:1013B000099F9C4ED1F830E03E44D1F83880F34488 +:1013C0002E4484EA02051D40654035448E6AA6F528 +:1013D000244703EB35550A964F3F274482EA03041E +:1013E0002C4054403C44CF6A0B9705EBF4340B9EE1 +:1013F0008D4F3744029E174483EA050222405A402B +:101400003A448A4F774404EBB2221F4485EA04032E +:1014100013406B403B444F6BBC4402EB7363654429 +:1014200084EA020C0CEA030C8CEA040C6544DFF835 +:1014300054C2C44403EB3555A44482EA03042C404F +:1014400054406444D1F83CC0794905EBF43461441C +:10145000114483EA050222405A400A44754904EBCC +:10146000B2223144079E194484EA02032B406340B0 +:101470000B44714902EBF36331440B9E0D4482EA45 +:1014800003012140514029446C4D03EBF151354497 +:10149000019E254483EA010414405C402C44684DBD +:1014A00001EBB4443544069E154481EA04021A4017 +:1014B0004A402A44634D04EB323235440A9E1D44AF +:1014C00084EA02030B4063402B445F4D02EBF3635D +:1014D0003544059E0D4482EA0301214051402944D0 +:1014E0005A4D03EBF1516544254483EA010414404D +:1014F0005C402C44564D01EBB4443544099E1544E0 +:1015000081EA04021A404A402A44524D04EB323226 +:101510003544049E1D4484EA02030B4063402B447F +:101520004D4D02EBF36345440D4482EA0301214033 +:1015300051402944494D03EBF1513544089E2C4458 +:1015400083EA010515405D402C44454D01EBB44450 +:101550003544039E2A4481EA04051D404D402A4437 +:10156000404D04EB32323D442B4484EA020593445F +:101570000D4065402B443C4D02EBF3633544069E21 +:10158000294482EA0305254055402944374D03EBA1 +:10159000F1514D442C4483EA010515405D4025443A +:1015A00001EBB54581EA050404EA03024A405A44C6 +:1015B000A6F5B82B089E05EB3232ABF2BE6B544059 +:1015C0005B4423442A4C344402EB33730B9E0C449B +:1015D00085EA020159402144264C344403EB715101 +:1015E000029E254482EA03044C402544224C444494 +:1015F00001EB3545144483EA01026A40224443E08A +:1016000078A46AD7EECEBDC156B7C7E8DB702024F8 +:10161000AF0F7CF52AC68747134630A8019546FDD3 +:10162000D8988069AFF7448BBED75C892211906B44 +:101630002108B44962251EF640B340C0515A5E26C7 +:10164000AAC7B6E95D102FD65314440281E6A1D88B +:10165000C8FBD3E7E6CDE121D60737C3870DD5F424 +:10166000ED145A4505E9E3A9F8A3EFFCD9026F6729 +:1016700081F6718722619D6D0C38E5FD937198FDAF +:101680008A4C2A8D8E4379A6934C344405EB722202 +:10169000059E1C4481EA0503534023448F4C344487 +:1016A00002EB33730A9E0C4485EA0201594021443F +:1016B0008B4C4C4403EB7151254482EA03044C40AB +:1016C0002C44884D354401EB3444019E154483EA93 +:1016D000010262402A44844D3D4404EB72221D44C1 +:1016E00081EA040353402B44804D354402EB3373AD +:1016F000049E294484EA02055D4029447C4D35441A +:1017000003EB7151079E254482EA03044C402C44AC +:10171000784D354401EB3444099E2A4483EA01059F +:1017200065401544744A324404EB7525039E134406 +:1017300081EA04026A401A44704B734405EB32722A +:101740000B4484EA0501514019446D4B634402EB9C +:1017500071511C4485EA02034B401C44694B3344DD +:1017600001EB3444019E1D4482EA010363402B4493 +:10177000654D04EB73233544069E154463EA01026C +:1017800062402A44614D03EBB2624D4462EA0409AF +:1017900029445F4D89EA0309454449442C445D4D81 +:1017A00002EBB1513544049E61EA03081D4488EA06 +:1017B0000208444401EB744464EA02034B402B44A6 +:1017C000554D04EBF323754463EA010E15448EEA8C +:1017D000040E0EEB0502514D03EBB262354462EA92 +:1017E000040E29440A9D8EEA030EA5F580164C4D81 +:1017F0007144A6F6833602EBB151264461EA030434 +:1018000054403444029E01EB7444354464EA0206B9 +:101810001D444E407319089E424D04EBF32335449A +:1018200063EA01061544664072193F4D03EBB2624C +:10183000654462EA040629443C4D5E403144079EFB +:1018400002EBB151354461EA03062C44384D564051 +:101850003D443444059E1D4401EB744464EA020394 +:101860004B402B44334D04EBF32335440B9E15447E +:1018700063EA010262402A442F4D03EBB262354411 +:10188000039E0D4462EA0401594029442B4D02EBAA +:10189000B15135442A4E254461EA030454402C4496 +:1018A000099D01EB74442E4464EA02051E4485EA56 +:1018B00001039D1903681A440AEB040303EBF523A3 +:1018C0000260436083681C44C36819448460C1603B +:1018D0000DB0BDE8F08F00BF44EABEA4A9CFDE4B37 +:1018E000604BBBF670BCBFBEC67E9B28FA27A1EA40 +:1018F0008530EFD4051D880439D0D4D9E599DBE6CD +:10190000F87CA21F6556ACC4442229F497FF2A43F1 +:10191000A72394AB39A093FCC3595B6592CC0C8F81 +:10192000D15D84854F7EA86FE0E62CFE144301A3B1 +:10193000A111084E827E53F735F23ABDBBD2D72AA9 +:1019400091D386EB094B036003F18833436003F1C5 +:101950002943A3F59613A3F68B638360A3F1883321 +:10196000C3600023C0E90433704700BF012345670B +:101970002DE9F8431446026905460E46E300C2F31A +:10198000C50800F118079B18036122BF43690133A2 +:10199000436112F4FC7F436903EB5473436114D039 +:1019A000C8F1400907EB08004C4504D22246BDE8C7 +:1019B000F84307F021B8403C4A464E4407F01CF873 +:1019C000444439462846FFF76FFCA04606EB04095D +:1019D000B8F13F0FA9EB08010AD94022384607F0B9 +:1019E0000BF839462846A8F14008FFF75DFCEFE701 +:1019F000A1096FF03F02384602FB014206EB81115C +:101A0000D5E7000070B50B6901F1180506460C46D4 +:101A1000C3F3C503EA18501C8022EA54C3F13F0205 +:101A2000072A1FD8002100F089F929462046FFF730 +:101A30003BFC38220021284600F080F92369294622 +:101A40002046236563696365FFF72EFC214610225B +:101A5000304606F0D1FF204658220021BDE87040F4 +:101A600000F06CB9C3F137020021E5E70F4B70B508 +:101A70001B780C460133DBB2012B11D80C4D4FF40F +:101A80007A732968A2FB033222460E6A0146284671 +:101A9000B047844204D1074B002201201A7070BD68 +:101AA0004FF4FA7004F07EFA0020F8E710220020CC +:101AB000683B0020BC330020002307B5024601210B +:101AC0000DF107008DF80730FFF7D0FF20B19DF82A +:101AD000070003B05DF804FB4FF0FF30F9E70000AA +:101AE0000A46042108B5FFF7C1FF80F00100C0B22B +:101AF000404208BD30B4054C0A46014623682046E2 +:101B0000DD69034BAC4630BC604700BF683B00203A +:101B1000A086010070B50A4E00240A4D04F0C4FEF0 +:101B2000308028683388834208D904F0B9FE2B68D6 +:101B300004440133B4F5003F2B60F2D370BD00BF05 +:101B4000BE3300209033002004F088BF00F1006015 +:101B500000F500300068704700F10060920000F569 +:101B6000003004F0FDBE0000054B1A68054B1B88D1 +:101B70009B1A834202D9104404F092BE00207047A1 +:101B800090330020BE33002038B50446074D29B1FC +:101B900028682044BDE8384004F09ABE28682044F4 +:101BA00004F084FE0028F3D038BD00BF903300203D +:101BB0000020704700F1FF5000F58F10D0F80008AA +:101BC00070470000064991F8243033B10023082201 +:101BD000086A81F82430FFF7BFBF0120704700BFBB +:101BE00094330020014B1868704700BF0010005C60 +:101BF000194B01380322084470B51D68174BC5F313 +:101C00000B042D0C1E88A6420BD15C680A46013CD1 +:101C1000824213460FD214F9016F4EB102F8016BE4 +:101C2000F6E7013A03F10803ECD181420B4602D2F8 +:101C30002C2203F8012B0424094A1688AE4204D151 +:101C4000984284BF967803F8016B013C02F10402CC +:101C5000F3D1581A70BD00BF0010005C14220020A0 +:101C6000448B0008022804D1054B4FF400029A610E +:101C700070470128FCD1034B4FF48012F7E700BFF7 +:101C80000000025800040258022803D1044B8022AD +:101C90009A6170470128FCD1024B1022F8E700BF7F +:101CA0000000025800040258022805D1064A536970 +:101CB00083F08003536170470128FCD1034A5369C4 +:101CC00083F01003F6E700BF00000258000402583A +:101CD00070B504464FF47A764CB1412C254628BFA6 +:101CE000412506FB05F0641B04F05CF9F4E770BDC8 +:101CF000002310B5934203D0CC5CC4540133F9E700 +:101D000010BD0000013810B510F9013F3BB191F949 +:101D100000409C4203D11AB10131013AF4E71AB1F3 +:101D200091F90020981A10BD1046FCE703460246C0 +:101D3000D01A12F9011B0029FAD170470244034658 +:101D4000934202D003F8011BFAE770472DE9F843EC +:101D50001F4D14460746884695F8242052BBDFF8ED +:101D600070909CB395F824302BB92022FF2148466F +:101D70002F62FFF7E3FF95F824004146C0F1080207 +:101D800005EB8000A24228BF2246D6B29200FFF7A0 +:101D9000AFFF95F82430A41B17441E449044E4B2CE +:101DA000F6B2082E85F82460DBD1FFF70BFF002880 +:101DB000D7D108E02B6A03EB82038342CFD0FFF731 +:101DC00001FF0028CBD10020BDE8F8830120FBE70C +:101DD00094330020024B1A78024B1A70704700BFF0 +:101DE000BC3300201022002010B5114C114803F024 +:101DF00009FC21460F4803F031FC24684FF47A7047 +:101E0000D4F89020D2F8043843F00203C2F8043822 +:101E1000FFF75EFF0849204603F02EFDD4F890201E +:101E2000D2F8043823F00203C2F8043810BD00BF12 +:101E3000F8920008683B00200093000870470000FB +:101E40002DE9F04771B6464B01201D68454BB3F8AC +:101E5000008000231A46194602F0C6FD0446802081 +:101E600004F09EFE0746002862D0002C60D03E4E53 +:101E7000ADB24FF0800A7369284643F0C0637361C6 +:101E8000D6F8143143F0C063C6F8143104F008FDED +:101E900005EB080200FB05F34FF4D06C50434FF004 +:101EA0003D0E984233D93269520144D4D6F81021FC +:101EB000510140D4216803F100628A602268D76032 +:101EC0002268C2F804A02268C2F800C0D4F80090CA +:101ED000D9F8002042F00102C9F80020D4F800909F +:101EE000D9F8002022F01E02C9F80020D4F8009092 +:101EF000D9F80020D207FBD494F80C9080336168A5 +:101F00000EFA09F20A60CCE7002004F0A7FD204693 +:101F100002F0AAFD384604F07FFE134B5A6942F0E6 +:101F2000C0625A61D3F8142142F0C062C3F8142190 +:101F300061B6BDE8F0870D4B9A6A42F400729A626E +:101F40009A6A42F400429A6261B60026012004F0C7 +:101F500085FDB045D8D9A819013604F0B9FCF8E7D9 +:101F600090330020BE3300200020005200ED00E03E +:101F700030B50A44084D91420DD011F8013B58404C +:101F8000082340F30004013B2C4013F0FF0384EAD4 +:101F90005000F6D1EFE730BD2083B8ED0121884233 +:101FA00038BF084604F034BE08B104F035BE7047AF +:101FB00010B5084C01220849002001F0B3FE237837 +:101FC0003BB1064803F05EFA044803F091FA00239F +:101FD000237010BDC0330020548B0008A0360020B1 +:101FE0001D482DE9F041036D2BB901224FF48051BA +:101FF000503004F055FF194E33780BB1FFF7D8FF7E +:102000000324174F4FF00008134D15492846C7F811 +:10201000048003F05FFA284603F098F848B1013CC9 +:10202000284603F065FA14F0FF04EED12046347020 +:102030000FE00C4901220C4801F074FE014618B172 +:10204000284603F01FFAEAE7084800F011F80120DB +:102050003070BDE8F08100BFA0360020C033002002 +:102060002C220020548B0008C4330020588B000819 +:102070000FB4002004B07047006870470346006842 +:10208000596870470B0A017043700B0C090E83707E +:10209000C1707047110A027003714170110C120E69 +:1020A0008170C2701A0A42711A0C1B0E8271C371C0 +:1020B00070470000C36A0239023B8B4283BF4389E9 +:1020C000006C01FB0300002070470000C2F30723EF +:1020D0008A76CB760378032B01BF120C0A75120A9D +:1020E0004A75704700F10B010022D30143EA520305 +:1020F00010F8012B52FA83F38842DAB2F5D1104678 +:102100007047000010B541780446002001310246B6 +:102110004901022A16BFA35C032203EBC03302F17C +:1021200001021EBF9BB203EB500398B29142F0D85C +:1021300010BD000002684AB1134613F8011B1F29A5 +:102140000DD93A29F9D1911C8B4202D04FF0FF30C2 +:1021500070471278302AF9D1036000207047014B94 +:10216000187870471036002038B50D46044618B967 +:10217000092000232B6038BD0368002BF8D01A78A3 +:10218000002AF5D08188DA889142F1D1587804F09C +:10219000A5F810F00100EBD12368EBE738B50D4648 +:1021A00040F25231144602F0B9F9FF2807D9012C48 +:1021B0000BD9030A022468702B70204638BD30B159 +:1021C000002CFAD001242870F7E70024F5E7044634 +:1021D000F3E700002DE9F8430026D0F8008005461B +:1021E0000C468E76836B002B4AD098F80030042B77 +:1021F0004BD133463546402720E0B7F5187F80F0B5 +:10220000C480F90606F1010608BF0237D05B023729 +:102210002BB900F5205292B2B2F5006F0DD305F143 +:102220001A01C5F1FF0240EA03402144FFF7B6FF5F +:10223000002800F0AA80054400200346D8F81020AA +:1022400092F82310B142D8D8002B40F09E80002D88 +:1022500000F09B8000232544AB766373D8F81020F0 +:10226000137903F03701DB0621730BD402F1380038 +:10227000FFF704FFC4E9000193896381D3892381B7 +:10228000BDE8F88300200146F4E7C36C01335ED15A +:10229000EA6B00232E26551E184615F8011F013043 +:1022A00020290CD0052908BFE521092804D10B2BD2 +:1022B0009EBFE71801337E73E718013379730B284B +:1022C000EBD1E11800204873A17E00294BD1002BEF +:1022D00040D06FF00C0604F10D000825361B3318B2 +:1022E00010F8011B002938D02E298BB24AD0A3F157 +:1022F0004101192903D8117B0D4200D0203303730B +:10230000EDE7B9F1000F05D100F520539BB2B3F50D +:10231000006F0BD307F11A01C7F1FF0240EA094031 +:102320002144FFF73BFF48B10744002002368146B5 +:10233000D8F80C30985B0028E3D13846B9F1000F8B +:102340004FF0000218BF002023189A76A0E7B1468C +:102350003746EDE73F23A3760123234400219976F6 +:10236000137B03B96373D37A02F11C0003F03F03BC +:1023700023730023FFF780FE20606360D38A6381AC +:10238000138B7CE710250B46B9E73F230125A37685 +:1023900060E7000038B50546002435F8020B08B99F +:1023A000204638BD02F0EEF86308C2B203EBC43336 +:1023B00012FA83F39AB2C0F3072303EB520303EB41 +:1023C000C2339CB2E9E7000037B5C37804461BB9B5 +:1023D0000025284603B030BD00F14C01826C01237A +:1023E0004078019103F0A0FF054680B9A36BE0702F +:1023F000A06C226BC31A9342EAD2A3780199022BF4 +:10240000E6D102440123607803F08EFFE1E7012565 +:10241000DFE7000038B5836C05460C468B4210D0D0 +:10242000FFF7D2FF60B92246012305F14C0168781D +:1024300003F056FF00281CBF4FF0FF340120AC64AE +:1024400038BD0020FCE7000038B500230446C37007 +:102450004FF0FF338364FFF7DDFF00284BD1B4F862 +:102460004A524AF655239D4207D10B22254904F1D1 +:102470004C0006F0B1FA00283FD094F84C30EB2B1A +:1024800003D01833DBB2012B2ED84AF655239D42D8 +:1024900006D108221C4904F19E0006F09DFA48B3BB +:1024A000B4F85730B3F5007F1ED194F85930DBB142 +:1024B0005A1E1A4218D1B4F85A30ABB194F85C30B5 +:1024C000013B012B10D8B4F85D306BB1B4F85F302C +:1024D0007F2B06D804F16C00FFF7CEFDB0F5803FEE +:1024E00002D3B4F8623053B94AF6552085420CBF86 +:1024F0000220032038BD0420FCE70120FAE7002079 +:10250000F8E700BF848B0008908B000802392DE9A2 +:10251000F04701F007044FF0010A466C05460AFA3D +:1025200004F41746984606EB1136C1F3C809E4B225 +:10253000314628460136FFF76DFF18B10120BDE88E +:10254000F087994605EB090292F84C30234214BFFC +:1025500001210021414513D06340013F82F84C30F6 +:1025600085F803A0EBD0640014F0FF04EAD109F170 +:10257000010301244FF00009B3F5007FE1D1D7E753 +:102580000220DCE701290246F8B50C4640F28C80B7 +:102590000668F36A8B4240F287803378013B032B55 +:1025A00000F28280DFE803F00229384B04EB540587 +:1025B000B16B304601EB5521FFF72CFF10B14FF006 +:1025C000FF30F8BD6F1CC5F30805B16B30463544CC +:1025D00001EB572195F84C50FFF71CFF0028EED176 +:1025E000C7F30807E3073E4496F84C0045EA00208D +:1025F0004CBF0009C0F30B00E3E7B16B304601EBC1 +:102600001421FFF707FF0028D9D1640004F4FF74F8 +:102610002644B6F84C00D4E7B16B304601EBD41138 +:10262000FFF7F8FE0028CAD1A40006F14C0004F41C +:10263000FE742044FFF720FD20F07040C1E7D0E990 +:102640000430D57953EA000101D0916801B95DBB2E +:102650009168022DA4EB01010DD1013B728940F17B +:10266000FF305B0A43EAC053B3FBF2F399421BD835 +:102670001CD0601CA5E7032D02D193698B42F8D8CA +:10268000D3699BB9B16B304601EBD411FFF7C2FEA1 +:10269000002894D1A0004C3600F4FE703044FFF7BF +:1026A000EBFC20F000408CE701208AE76FF000404F +:1026B00087E70000F8B5066804460D463378042B1A +:1026C0000CBF4FF080524FF400128A4201D8022012 +:1026D000F8BDCA06FBD182680163D2B9022B13D8B8 +:1026E0003389B3EB551FF2D9F36BA363A36B62631A +:1026F000002BECD003EB55234C36C5F30805002026 +:10270000A3633544E563E3E7F36BC271002BE7D0C5 +:102710001A4677897F02BD42114604D23046FFF740 +:10272000C9FCA063E2E72046FFF72CFF431C0246EA +:1027300006D00128CBD9F36A8342C8D9ED1BEAE75A +:102740000120C5E701292DE9F04706460C4617464A +:1027500008D9C36A8B4205D90378022B62D003D80B +:10276000012B22D0022552E0033B012BFAD8816BCA +:1027700001EBD411FFF74EFE0546002847D1A40017 +:1027800006F14C0304F4FE741C443378042B07D088 +:10279000204627F07047FFF76FFC00F070400743BA +:1027A00039462046FFF76EFC2FE001EB5108816BA4 +:1027B00001EB5821FFF72EFE054640BB14F0010443 +:1027C00006F14C0908F1010AC8F3080808BFFBB27A +:1027D00030461FBF19F8083003F00F023B0103F029 +:1027E000F00318BF134309F808300123B16BF370ED +:1027F00001EB5A21FFF70EFE054640B9CAF3080A5D +:1028000044B1C7F3071709F80A700123F37028468B +:10281000BDE8F08719F80A30C7F3032723F00F0348 +:102820001F43F0E7816B01EB1421FFF7F3FD054631 +:102830000028ECD1640006F14C0304F4FF741F552A +:102840001919C7F307274F70DFE70000F8B50446F2 +:102850000E461746E3690BB91846F8BD012BA6EBE7 +:102860000305206814BFAA1C3A46691CFFF76AFFDB +:102870000028F2D1E369013BE361EBE701292DE98F +:10288000F84306460C461746056802D80220BDE804 +:10289000F883EB6A8B42F9D97AB9A14621463046D2 +:1028A000A046FFF76FFE0446B0B92B78042B02D187 +:1028B000002F43D1F7710020E9E72B78042B02D1D8 +:1028C000C379022BE9D04FF0FF3239462846FFF793 +:1028D00039FF0028E1D0DAE70128D7D0421C01D126 +:1028E0000120D4E72B78042B19D1EA6AAB69023AAC +:1028F00093421CD308F10102A2420CD02B78042B86 +:1029000008D10023A2EB090249462846FFF7FEFD45 +:102910000028BCD1A146EB6AA342BFD8C5E700227C +:1029200041462846FFF70EFF0028DED0AFE701330F +:10293000AB612B7943F001032B71DBE7F3798BB9A2 +:10294000B468BC4202D10223F371B4E72146304699 +:10295000FFF718FE012899D9431CC1D001348442E5 +:10296000EFD0A8E7032BA6D1B368BB42A3D8B269C6 +:102970001344BB429FD3E6E770B5C3790446032BEB +:1029800006D181688369CD18A94203D10023E37180 +:10299000002070BD4E1C20683246FFF7D3FE002891 +:1029A000F7D13146F0E700002DE9F74305460191E4 +:1029B000FFF70AFD0446002849D105F14C090199A9 +:1029C00028464FF40072FFF775FB2146A8640746BE +:1029D0004846FFF7B3F96C896402B4F5004F28BF8D +:1029E0004FF40044B4F5007F2FD9204604F018F9C5 +:1029F000804630B122460021640A0026FFF79EF986 +:102A000009E06408EEE72346BA194146687803F006 +:102A10008BFC18B926446B899E42F4D3404604F0DF +:102A20000FF96889801B18BF012003B0BDE8F0834F +:102A300001366B899E42F4D20123BA19494668785F +:102A400003F072FC0028F3D0EBE70026F1E7012049 +:102A5000EBE70000F8B50446FFF7B6FC0546002892 +:102A600042D12378032B37D12779012F34D104F1B8 +:102A70004C0601464FF400723046FFF75FF95523CC +:102A80004122722184F84A32AA2304F50D7084F899 +:102A90004F2084F84B32522384F8301284F84C30A3 +:102AA00084F84D30612384F8311284F84E3084F874 +:102AB0003332A16984F83222FFF7E4FA616904F540 +:102AC0000E70FFF7DFFA626B3B46314601326078E9 +:102AD000A26403F029FC257100226078114603F0FE +:102AE00047FC003818BF0120F8BD000000232DE985 +:102AF000F0430B6085B00F461546FFF71BFB061E23 +:102B0000C0F2B281804B53F82640002C00F0AE8119 +:102B10003C6005F0FE0523786BB1607803F0DEFBC6 +:102B2000C70708D41DB110F0040500D00A252846B7 +:102B300005B0BDE8F0830023F0B22370607003F0AD +:102B4000B9FBC10700F194810DB14207EED4002119 +:102B50002046FFF779FC022840F099806E4604F287 +:102B6000122304F25221324618461033FFF784FA3A +:102B700042F8040B8B42F7D1002556F8041B0029BC +:102B80007DD02046FFF760FC012879D80128A26C8F +:102B900040F0C08004F1570304F18C0113F8015B8D +:102BA000002D7BD18B42F9D1B4F8B430B3F5807FDE +:102BB00074D194F8B830092B70D104F19400FFF768 +:102BC0005DFA4FF0FF33171841F10001BB4275EB7E +:102BD000010363D304F1A000FFF74EFA94F8BA3072 +:102BE0002063012BA37059D194F8B99003FA09F925 +:102BF0001FFA89F36381002B50D0444B04F1A800E5 +:102C0000FFF73AFA0646984248D8831C626304F1FB +:102C1000A400E362FFF730FA00EB020804F19C0025 +:102C2000C4F84080FFF728FA10441FFA89F2A06325 +:102C300006FB02F313EB080345EB05029F4271EB21 +:102C400002032BD32E4604F1AC00FFF715FAE06324 +:102C500065B96389B34221D9E16B2046FFF72AFAAF +:102C600081192046FFF7D6FB98B90136631993F80E +:102C70004C30812B14D02035C5F30805E8E703203C +:102C80000135042D7FF479AF042807D101E0042831 +:102C900001D101254BE701287FF678AF0D2546E7E6 +:102CA00005F1140004F14C063044FFF7E5F9012862 +:102CB0000546F3D9E36A8342F0D96189821E236C09 +:102CC00002FB01336364A16B204601EBD511FFF7D2 +:102CD000A1FB0028DDD105F07F0006EB8000FFF7A7 +:102CE000CBF9431C03D00135A842ECD0D6E704252C +:102CF000C4E90500064A257000251388E561013303 +:102D00009BB21380E38012E714360020FDFFFF7FA3 +:102D100018360020B4F85730B3F5007FBED1B4F8B0 +:102D2000626026B904F17000FFF7A6F9064694F830 +:102D30005C302663591EA3700129AFD894F859500E +:102D40006581002DAAD0691E2942A7D1B4F85D8003 +:102D500018F00F0FA4F80880A0D1B4F85F0018B9DC +:102D600004F16C00FFF788F9B4F85A10002995D0E7 +:102D700006FB03FE01EB181CF44460458ED3A0EB68 +:102D80000C00A842B0FBF5F388D33E48834285D8B7 +:102D90004FF6F57083426DD903259F1C114402EB59 +:102DA0000C03032DE7626263A16323644CD1B4F882 +:102DB000763053EA08037FF471AFBB0004F178006A +:102DC000FFF75AF9E06303F2FF13B6EB532FFFF45A +:102DD00065AF4FF0FF33032DC4E905334FF0800397 +:102DE000237187D1B4F87C30012B83D1511C20464C +:102DF000FFF710FB00287FF47DAFB4F84A224AF6B3 +:102E0000552320719A427FF475AF1F4B04F14C009B +:102E1000FFF732F998427FF46DAF03F1FF5304F5E9 +:102E20000C70FFF729F903F50053203398427FF423 +:102E300061AF04F50D70FFF71FF9A06104F50E7086 +:102E4000FFF71AF9606155E7B8F1000F3FF426AFBC +:102E50007144022D4FEA4703E1631EBFD91907F001 +:102E6000010303EB5103AEE70B2560E60C255EE69C +:102E700003255CE640F6F575AB428CBF02250125C3 +:102E80008BE700BFF5FFFF0F525261412DE9F84F6C +:102E900007460568884649B96E69C6B1EB6AB34210 +:102EA00098BF0126AB69A3B9002405E0FFF76AFBD0 +:102EB0000128044603D801242046BDE8F88F421CAF +:102EC00000F0D280EB6A8342F6D84646EAE7012654 +:102ED000E8E72A78EB6A042A40F08380A6F1020A28 +:102EE000023B4FF0010B9A4528BF4FF0000AD14634 +:102EF000696C284601EB1931FFF78CFA00283BD1A9 +:102F000009F00703EA6AC9F3C8010BFA03F3901E3C +:102F1000DBB26A184C4609F1010992F84C20814550 +:102F200002EA030233BF5B0000234FF40071DBB2FF +:102F300028BF9946B2B90234631E0333BCD80123BB +:102F4000214628461A46FFF7E1FA0228B3D00128A5 +:102F500000F08A80B8F1000F13D10223FB71002822 +:102F6000A9D130E0CA450AD0002BD2D10131B1F548 +:102F7000007FBDD20123CCE74FF0FF34DCE7002413 +:102F8000DAE7FB79022B07D1731CA342E7D0BB68B9 +:102F9000F31ABB610323FB7108F10102FB69A24232 +:102FA00005D113B10133FB61D9E70223FBE70BB96C +:102FB0000123FB61224641463846FFF747FC0028C3 +:102FC0004FD10123FB61EA6AAB69023A6C6193421B +:102FD0009CBF03F1FF33AB612B7943F001032B71ED +:102FE0006AE7464514D1741C3846A34298BF0224B0 +:102FF0002146FFF7C7FA01283FF45DAF431C33D0E9 +:10300000E0B16B69012B03D9EA6A934238BF1E46CF +:1030100034460134EB6AA34203D8012E7FF644AF55 +:10302000022421463846FFF7ADFA48B101283FF4A3 +:1030300042AF013018D0B442EBD135E7002CE7D0D5 +:103040004FF0FF3221462846FFF77CFB48B9B8F124 +:10305000000FB8D0224641462846FFF773FB0028F0 +:10306000B1D001287FF427AF4FF0FF3424E70000F0 +:103070002DE9F84306680446076B89463378203704 +:10308000042B0CBF4FF080534FF40013BB429CBF86 +:1030900000238363836B73B1C7F30808B8F1000F93 +:1030A0003CD10133416B836339B93389B3EB571F8B +:1030B00034D80023A36304200AE07389013B13EA98 +:1030C00057232BD1FFF75EFA0128054602D80220CC +:1030D000BDE8F883421C01D10120F9E7F36A83427D +:1030E00016D8B9F1000FE4D0616B2046FFF7CEFE91 +:1030F0000546C8B10128EAD0431CEDD00146304650 +:10310000FFF752FC0028E7D1E37943F00403E371B1 +:10311000294630466563FEF7CDFFA0634C3600209C +:1031200027634644E663D3E70720D1E7F8B50E46A8 +:10313000002104460768FFF7BDFA98B90546A16B60 +:103140003846FFF767F968B93A78E36B042A1B78C9 +:103150000CD11B060ED5054601212046FFF788FF3E +:103160000028ECD0042808BF072006E0E52B01D09A +:10317000002BF0D10135B542EED1F8BDC16C4B1C2E +:103180002DE9F04104460568066B1FD1E5274FF095 +:103190000108A16B2846FFF73DF998B92A78E36B3F +:1031A000042A09BF1A781F7002F07F021A7085F88E +:1031B0000380236BB3420DD200212046FFF758FF56 +:1031C0000028E6D0042808BF022003E0FFF772FAC7 +:1031D0000028DBD0BDE8F0812DE9F041054600680C +:1031E000A96B0669FFF716F9044620B9EB6B1A784C +:1031F000852A03D002242046BDE8F081324603F13F +:10320000200153F8040B8B4242F8040BF9D1777874 +:1032100001377F01A7F16003B3F5007FEAD80021F1 +:103220002846FFF725FF04280446E3D00028E2D112 +:10323000A96B2868FFF7EEF804460028DBD1EB6B9A +:103240001A78C02AD6D106F1200203F1200153F8E2 +:10325000040B8B4242F8040BF9D196F823300F226D +:103260002C33B3FBF2F3B7EB431FC3D34FF040084B +:1032700000212846FFF7FCFE04280446BAD00028A7 +:10328000B9D1A96B2868FFF7C5F804460028B2D168 +:10329000EB6B1A78C12AADD1B8F5187F09D206EBCD +:1032A000080203F1200153F8040B8B4242F8040B8F +:1032B000F9D108F120084745DAD8B8F5187F9AD82F +:1032C0003046FEF71FFF7388834294D092E70000D8 +:1032D0000B68002210B5036004460B6A83604B6ADA +:1032E000C261C37123F0FF03896AC0E90432C1647B +:1032F000FFF7E0F920B92046BDE81040FFF76CBFAA +:1033000010BD0000F8B50368054601271C6920467A +:10331000FEF7F8FEA070000A6678E0702846E96CB7 +:10332000FFF7C8F920B1022828BF0220C0B2F8BDBB +:10333000A96B2868FFF76EF80028F4D1EB6B04F155 +:10334000200254F8041B944243F8041BF9D12B6863 +:10335000DF70002EE7D000212846013EFFF788FEEF +:10336000E0E700002DE9F8434FF0FF080646076844 +:10337000042445464FF6FF79B16B11B9002C73D088 +:1033800063E03846FFF746F8044600285DD1F06B4D +:103390000378002B6ED03A78042A11D1852B4DD1B9 +:1033A000336B3046F364FFF717FF044600284CD117 +:1033B0003B691B7903F03F03B3712046BDE8F883F6 +:1033C000C27AE52B02F03F02B27143D02E2B41D0DE +:1033D00022F0200108293DD00F2A40D1590637D5C7 +:1033E00003F0BF05336B90F80D80F364437B4345D6 +:1033F00030D1428B72BB03780D21FC6823F040036F +:10340000DFF874E0013B4B4301211EF801CB30F89B +:103410000CC009B3FF2B1DD824F813C0614601333B +:1034200001320D2AF1D10278520605D521B1FF2BC8 +:1034300010D8002224F81320013DEDB200213046BF +:10344000FFF716FE0446002896D00023B363B4E7C6 +:10345000AB42CBD0FF25F1E7CC45E1D0FAE72DB95F +:10346000FEF740FE404501D10024A6E74FF0FF33B0 +:10347000F364A2E70424E8E72C8C00082DE9F04F60 +:10348000002187B00446D0F80090FFF713F980467A +:1034900070B999F80030042B33D1D9F80C00FEF73D +:1034A00079FF07462046FFF75DFF054620B18046BD +:1034B000404607B0BDE8F08FD9F810309A8CBA4278 +:1034C000F0D193F823B040265D4506D1D9F80C30F1 +:1034D00033F81530002BE5D1EAE7F106D9F81030C2 +:1034E00008BF0236985B01F04DF8D9F80C308246DF +:1034F00033F8150001F046F88245D3D10236013584 +:10350000E2E74FF0FF0A4FF0FF3B5546C4F84CB0DE +:10351000A16B4846FEF77EFF00285CD1E66B37784A +:10352000002F77D0F27AE52F02F03F03A37103D08A +:10353000120704D50F2B04D0C4F84CB04FE00F2B6A +:1035400054D194F84B3058063FD4790645D5236BB7 +:1035500007F0BF0796F80DA0E364737B53453ED197 +:10356000738B002B3BD135780121D9F80C3005F055 +:103570003F0501930D23013D5D43284B13F8012BBB +:10358000B25A71B3FF2D059329D81046049200F06A +:10359000F9FF6B1C03900293019B33F8150000F0B8 +:1035A000F1FF039981421AD1049A029D1146059BAD +:1035B0001B4A9342E2D133785A0604D519B1019BD4 +:1035C00033F815305BB97D1EEDB200212046FFF7C0 +:1035D0004FFD00289CD080466AE7BD42BDD0FF2544 +:1035E000F3E74FF6FF708242E2D0F8E72DB930469C +:1035F000FEF778FD50453FF45BAF94F84B30DB07A6 +:103600009AD40B2204F14001304605F0E5F9002878 +:1036100092D14DE74FF004084AE700BF2C8C000818 +:10362000398C00082DE9F04F90F84BB099B0044662 +:103630001BF0A00540F068810668F26832F815308A +:10364000002B4AD13378042B40F087800F230E35AE +:103650002046B5FBF3F5A91CFFF768FD814600285D +:1036600077D1236B0135A3EB4515E3795A07E56460 +:1036700035D523F004032046E371FFF77DF950BBF5 +:103680004FF0FF32616B2046FFF7E0F818BBA368EC +:103690002BB3214604A8FFF71BFEE0B970894FF455 +:1036A0000071D4E90423E0FB01233069C4E9042359 +:1036B0003830FEF7EFFC3069D4E904232830FEF7F8 +:1036C000E9FCE379326904A843F0010382F8213070 +:1036D000FFF718FE18B181463BE00135AEE7D6E9A9 +:1036E0000354402200212046FEF728FB85230121B8 +:1036F00040222370C0234FF0C10C04EB010884F872 +:10370000203000231E469E46571C04F802C0F0B22B +:10371000023204F807E021B135F8131009B1013382 +:10372000DBB20F0AA15408F802700232D706F2D1B8 +:1037300035F813700136002FE6D184F82330831C4E +:1037400028466370FEF726FE84F82400000A84F8F9 +:103750002500484619B0BDE8F08F04F140070DF18F +:10376000100A1BF0010F97E807008AE8070000F035 +:10377000D38040234FF0010884F84B30BC46F368F7 +:10378000B8F1050F9AE80700ACE803002CF8022B0B +:103790004FEA12428CF8002059D9981E424630F860 +:1037A000021F002942D10DF10F0C072102F00F0E6C +:1037B000914612090EF13000392888BF0EF137000A +:1037C00001390CF8010902D0B9F10F0FEED818AB8E +:1037D0007E205A1802F8580C38460022914206D032 +:1037E00010F801CB02F1010EBCF1200F31D104F130 +:1037F0003F0C072902F1010297BF18AB202058188F +:10380000013198BF10F8580C072A0CF80200F0D9C3 +:103810002046FFF733FE8146002878D108F10108E1 +:10382000B8F1640FAAD14FF0070992E74FF0100CDE +:1038300001F0010E49080EEB4202D30344BF82F4AB +:10384000883282F02102BCF1010CF1D1A7E7424697 +:10385000A9E77246C2E7216B2046A1EB4511FEF7AE +:1038600029FF814600287FF474AF4FF6FF78384671 +:10387000FEF738FC0190A16B3046FEF7CBFD814688 +:1038800000287FF466AFE36BE9B2019A4FF00D0CAC +:10389000D6F80CE05A734FF00F02DFF8E0A0DA72AE +:1038A0004A1E18730CFB02F284469876D87640457F +:1038B0001AF8019B0CF1010C18BF3EF8120003EB43 +:1038C000090B18BF013203F809004FEA102900283C +:1038D00008BF4046BCF10D0F8BF80190E7D1404581 +:1038E00002D03EF812200AB941F0400119700123BC +:1038F00000212046F370FFF7BBFB814600287FF4D0 +:1039000028AF013DB7D11BE04FF0060921E704289D +:103910007FF41FAF84F84BB01BF0020F20461BBF93 +:103920000C350D210125B5FBF1F518BF01352946F0 +:10393000FFF7FCFB814600287FF40BAF013D8AD1E5 +:10394000A16B3046FEF766FD814600287FF401AF8B +:1039500001462022E06BFEF7F1F9E36B03CF18601C +:103960005960BA7839889A72198194F84B30E26BB1 +:1039700003F0180313730123F370EAE62C8C00089C +:1039800010B504460A463430FEF776FB886004F131 +:103990003800FEF773FBC2E9040194F8213003F00C +:1039A0000203D3710023D36110BD000003284B8BA9 +:1039B00004BF8A8A43EA0243184670472DE9F04F54 +:1039C0000B7899B0044689462F2BD0F800B001D06F +:1039D0005C2B09D14A461378914601322F2BFAD03D +:1039E0005C2BF8D0002301E0DBF81C30A36000233F +:1039F000E3619BF80030042B1ED1A368E3B1DBF830 +:103A00002030214604A82362DBF824306362DBF80F +:103A10002830A362FFF75CFC0346002854D1DBF892 +:103A2000102002F13800FEF727FBC4E9040392F8E6 +:103A3000213003F00203E37199F800301F2B00F2EC +:103A4000358180230021204684F84B3019B0BDE831 +:103A5000F04FFEF72FBE49460B78894601312F2BD8 +:103A6000FAD05C2BF8D01F2B8CBF00250425012F2A +:103A70002FD113882E2B31D1002322F8173004F1D7 +:103A800040029F428CBF2E21202101330B2B02F8D4 +:103A9000011BF6D145F02005204684F84B50FFF776 +:103AA000EDFC94F84B30002800F0E78004280BD19F +:103AB000990603F0040240F1DC80002A00F0F68051 +:103AC0008023002084F84B3019B0BDE8F08F042526 +:103AD000CDE7022F02D153882E2BCAD0911E87BB6F +:103AE000002322F81730002F00F0118132F8130064 +:103AF000194601332028F9D009B92E2801D145F003 +:103B00000305901E30F817302E2B01D0013FF9D15C +:103B10004FF020334FF0000A6364D0462364C4F8AA +:103B200047300823481C32F811600090F6B1202E6F +:103B300003D02E2E0DD1B84210D045F003050099C8 +:103B4000F0E731F81730202B01D02E2BC8D1013FE0 +:103B5000C5E79A4505D20099B9423BD10B2B30D12C +:103B600001E00B2B27D145F003050B2394F84020EF +:103B7000E52A04BF052284F84020082B04BF4FEA41 +:103B800088085FFA88F808F00C030C2B03D008F0C3 +:103B90000303032B01D145F00205A8073FF57CAFD5 +:103BA00018F0010F18BF45F0100518F0040F18BFEA +:103BB00045F0080570E70099B94202D045F00305C9 +:103BC000D4D84FEA88080B234FF0080A00975FFA11 +:103BD00088F8B4E77F2E15D9304640F25231CDE94E +:103BE000022345F00203019300F098FC10F0800FCF +:103BF0000646DDE9022316D000F07F0646498E5DB9 +:103C0000019D46B331464548CDE9012304F00EFF3E +:103C1000DDE90123F8B9A6F1410189B219291ED8BD +:103C200048F0020810E0FF28EAD9591E8A4503D35C +:103C300045F003059A4682E704EB0A01000A0AF1FF +:103C4000010A019D81F8400004EB0A010AF1010A12 +:103C500081F8406073E745F003055F26F4E7A6F1BD +:103C6000610189B219299EBF203E48F00108B6B211 +:103C7000EAE7002A08BF052026E75A073FF524AFE8 +:103C8000A379DB0645D59BF80000042835D1A3684D +:103C90002146E27923622369DBF8100023F0FF0359 +:103CA00013436362E36CA362FFF76AFE2368002795 +:103CB000DA6819F8010B00283FF409AF40F25231DD +:103CC000009200F04BFC054608B31F28009A7FF6CF +:103CD000FEAE2F283FF4BFAE5C283FF4BCAE7F2879 +:103CE00005D801460E4804F0A1FE009A78B9FF2FCE +:103CF0000DD022F817500137DBE7216B0BF14C0395 +:103D0000C1F308011944FFF751FEA060CEE7062079 +:103D1000DAE60520D8E600BFAC8B0008A58B0008CA +:103D20009C8B00081FB5CDE9001003A81446039131 +:103D3000FEF700FA002815DB0B4A52F820300BB1D1 +:103D400000211970019B0BB10021197042F820303D +:103D50002CB1002201A96846FEF7C8FE04462046A1 +:103D600004B010BD0B24FAE7143600202DE9F0470B +:103D700098B0904605460191002800F0528102F06B +:103D80003F0603A901A83246FEF7B0FE002840F026 +:103D90004681039B4FF48C60049302F041FF074679 +:103DA000002800F04081039B00F500720199D86063 +:103DB00004A81A61FFF702FE044620B99DF95B30A2 +:103DC000002BB8BF062418F01C0F00F0CD80002C8B +:103DD0004CD0042C40D104A8FFF724FC0446002852 +:103DE0003AD146F00806039B1A78042A40F08380F3 +:103DF000186929462B60FFF7C3FD039B1E22002193 +:103E000018690230FDF79AFF039C00211A222069ED +:103E10002630FDF793FF236920221A71246902F0EE +:103E200039FF0146012208342046FEF72BF9039B97 +:103E300004A81B6983F82120FFF764FA044658B9E7 +:103E4000A96801B302462846FEF718FDAB68039A3D +:103E50000446013B5361B4B1384602F0F1FE0CB1A7 +:103E600000232B60204618B0BDE8F0879DF816307F +:103E700013F0110F40F0848018F0040F40F0C98057 +:103E800018F0080FAFD1039A31071399936C48BF0C +:103E900046F04006E964AB641078042872D1069BB2 +:103EA0009DF817102B62089B106923F0FF030B434A +:103EB00029466B62179BAB62FFF762FDDDF80CA031 +:103EC0000024002205F15008BAF806302146404689 +:103ED000C5F800A0AB80002385F8306085F831403C +:103EE0006C64C5E90E234FF40072FDF727FFB2069C +:103EF00053D40024B0E702F0CDFE014600901398A1 +:103F00000E30FEF7BFF8139800991630FEF7BAF896 +:103F1000039C13992078FFF749FD20230022804657 +:103F2000CB7220461399FEF7D1F8139B0022012192 +:103F30001A775A779A77DA77039BD970B8F1000F1E +:103F4000A1D0414604A8D3F84890FEF797FC044658 +:103F5000002881D149460398FEF75CFA039B04468A +:103F600008F1FF30586176E7002C7FF475AF9DF8BB +:103F70001630DC064FD418F0020F84D0D80782D553 +:103F8000072469E7FFF712FD0023A86001F11C0078 +:103F9000FEF772F86B61286190E7D5E9046956EA8B +:103FA0000903A6D0BAF80AA0A9684FEA4A2AC5E9C7 +:103FB0000E69B24574EB09031BD300242964002C5D +:103FC0007FF44AAFC6F30803002B92D0039C20462F +:103FD000FEF770F808B3760A0123414646EAC9564F +:103FE00082196A64607802F07BF9041E18BF01240C +:103FF00032E72846FEF7C6FAB6EB0A06014669F133 +:104000000009012803D9431CD3D10124D6E7022497 +:10401000D4E7082420E704241EE702241CE7044612 +:104020001EE709241EE711241CE700002DE9F04FCC +:10403000994685B00023884603A90446C9F8003094 +:104040001646FEF791F8054680BB94F831506DBBDB +:1040500094F8303013F00103009300F0A68004F1CF +:10406000500AD4E90432D4E90E011B1A62EB0102B2 +:10407000B34272F1000238BF1E46BEB1D4E90E1041 +:10408000C1F30803002B40F08280039B5A894B0A3E +:10409000013A43EAC0531A401BD151EA000309D147 +:1040A000A06801280DD8022584F83150284605B0B3 +:1040B000BDE8F08F216C20460192FEF763FA019A69 +:1040C000EFE7431C04D10123009D84F83130EDE774 +:1040D0002064DDF80CB0216C5846FDF7EBFF00289A +:1040E000E1D0B6F5007F02EB000731D3BBF80A1030 +:1040F00002EB5620730A88429BF8010088BF8B1A96 +:104100003A464146019302F0EBF80028DBD194F9DE +:104110003020019B002A0BDA606CC01B984207D24A +:104120004FF40072514608EB4020FDF7E1FD019B82 +:104130005F02D9F80030F61BB8443B44C9F80030A0 +:10414000D4E90E32DB1942F10002C4E90E3294E7E1 +:10415000626CBA421AD094F93030002B0DDA012388 +:1041600051469BF8010002F0DFF80028ABD194F82B +:10417000303003F07F0384F83030039801233A464F +:104180005146407802F0ACF800289CD16764A16BDE +:104190004046C1F30801C1F500775144B74228BF3A +:1041A00037463A46FDF7A4FDC3E707257EE7000042 +:1041B00070B596B00E460022019002A901A8FEF744 +:1041C00095FC0446E0B94FF48C6002F029FD0546E9 +:1041D000D8B1029B00F500720199D86002A81A615B +:1041E000FFF7ECFB044640B99DF95330002B0ADB86 +:1041F0001EB1314602A8FDF7EDFF284602F020FD72 +:10420000204616B070BD0624F7E71124F8E7000039 +:1042100070B5B8B00222019003A901A8FEF766FCB0 +:10422000044608BB039B4FF48C60109302F0F8FC2B +:104230000546002866D0039B00F500720199D860FE +:1042400010A81A61FFF7BAFB044650B99DF88B30ED +:10425000980655D4190653D49DF84630DA0706D58A +:104260000724284602F0ECFC204638B070BD039BC2 +:1042700004931878042814D104A91869FFF780FB67 +:10428000069E9DF84630DB0610D410A8FEF776FF98 +:1042900004460028E5D156BB0398FEF7DBFB044635 +:1042A000DFE71F99FFF782FB0646EAE7039BDA691F +:1042B000B242D5D024930021269624A81B78042B43 +:1042C00001BFDDE90823CDE928239DF817308DF8DB +:1042D0009730FEF7EFF904460028C2D124A8FFF773 +:1042E00041F804460028BBD00428BAD1CDE70246E5 +:1042F000314604A8FEF7C2FA04460028B1D1CBE744 +:104300000624AEE71124AFE7F0B5BDB0CDE900104B +:104310006846FDF70FFF022203A901A8FEF7E6FB9E +:104320000446002841D1039B4FF48C60149302F0A3 +:1043300077FC0546002800F0EE80039B00F5007234 +:1043400014AE0199D8601A613046FFF737FB044676 +:1043500040BB9DF89B3013F0A00F40F0D880039B2A +:10436000009F1A78042A68D11B6904AC03F1400C41 +:104370001868083353F8041C2246634503C21446E8 +:10438000F6D15022314628A8FDF7B2FC394628A8BC +:10439000FFF714FB044600284CD12A9A169B9A4238 +:1043A00006D00824284602F04BFC20463DB0F0BD64 +:1043B000349A209B9A42F4D128A8FFF733F9044697 +:1043C0000028EFD1039B04AF1B6993F801E093F839 +:1043D00023C09C8C3A46083303CAB24243F8080C07 +:1043E00043F8041C1746F5D1039B28A81B6983F8E2 +:1043F00001E0039B1A6982F823C01A6982F82440FD +:10440000240A82F825401A691379D9065CBF43F063 +:1044100020031371FEF776FF04460028C2D1304610 +:10442000FEF7ACFE04460028BCD10398FEF712FB51 +:104430000446B7E70428B5D1BEE7239A04AB02F1DE +:10444000200C1068083252F8041C1C46624503C454 +:104450002346F6D15022314628A8FDF749FC3946BB +:1044600028A8FFF7ABFA044600284CD12A9A169BDD +:104470009A4296D1349A209B9A4292D128A8FFF76B +:10448000D1F8044600288DD137990DF11D030DF1A7 +:104490002D0001F10D0253F8044B834242F8044B06 +:1044A000F9D11888012710809B7893709DF81B30F4 +:1044B000039CDA0658BF43F02003CB72E770CB7A37 +:1044C000DB06ACD5169A2A9B9A42A8D02078FFF733 +:1044D0006DFA01462046FDF7EDFD0146C8B12046C4 +:1044E000FDF798FF044600287FF45CAF039890F82E +:1044F0006D302E2B93D12A9A00F16C01FDF7E6FD69 +:10450000039BDF708BE704287FF44CAFB6E70624EB +:1045100048E7022446E7112447E700007F2810B54A +:1045200001D880B210BDB0F5803F13D240F25233B3 +:1045300099420FD10849002231F8024B93B28442CC +:1045400003D103F18000C0B2ECE70132802AF3D13D +:104550001346F6E70020E5E7EC8E00087F280DD92A +:1045600040F25233994208D1FF2806D800F10040AA +:10457000034B803833F8100070470020704700BFAD +:10458000EC8E0008B0F5803FF0B522D21F4A83B20E +:104590001F49B0F5805F28BF0A46141D34F8042C6B +:1045A0002146AAB1934213D334F8025C2E0AEFB22B +:1045B00052FA85F5A84222DA082E09D8DFE806F07B +:1045C000050A10121416181A1C00801A34F810303C +:1045D0001846F0BD981A00F001001B1A9BB2F7E7CD +:1045E000103BFBE7203BF9E7303BF7E71A3BF5E7E9 +:1045F0000833F3E7503BF1E7A3F5E353EEE7043468 +:10460000002ECBD101EB4702C7E700BF3C8C00086E +:10461000308E000808B5074B074A196801F03D01C4 +:10462000996053680BB190689847BDE8084002F064 +:1046300027BD00BF000002401C36002008B5084B13 +:104640001968890901F03D018A019A60054AD36819 +:104650000BB110699847BDE8084002F011BD00BFDA +:10466000000002401C36002008B5084B1968090CF0 +:1046700001F03D010A049A60054A53690BB1906943 +:104680009847BDE8084002F0FBBC00BF00000240B4 +:104690001C36002008B5084B1968890D01F03D0152 +:1046A0008A059A60054AD3690BB1106A9847BDE83C +:1046B000084002F0E5BC00BF000002401C360020AC +:1046C00008B5074B074A596801F03D01D960536AA4 +:1046D0000BB1906A9847BDE8084002F0D1BC00BF1A +:1046E000000002401C36002008B5084B59688909B3 +:1046F00001F03D018A01DA60054AD36A0BB1106B03 +:104700009847BDE8084002F0BBBC00BF0000024073 +:104710001C36002008B5084B5968090C01F03D0112 +:104720000A04DA60054A536B0BB1906B9847BDE8F9 +:10473000084002F0A5BC00BF000002401C3600206B +:1047400008B5084B5968890D01F03D018A05DA600A +:10475000054AD36B0BB1106C9847BDE8084002F0D6 +:104760008FBC00BF000002401C36002008B5074B7C +:10477000074A196801F03D019960536C0BB1906CC8 +:104780009847BDE8084002F07BBC00BF000402402F +:104790001C36002008B5084B1968890901F03D0155 +:1047A0008A019A60054AD36C0BB1106D9847BDE839 +:1047B000084002F065BC00BF000402401C36002027 +:1047C00008B5084B1968090C01F03D010A049A600C +:1047D000054A536D0BB1906D9847BDE8084002F053 +:1047E0004FBC00BF000402401C36002008B5084B37 +:1047F0001968890D01F03D018A059A60054AD36D5B +:104800000BB1106E9847BDE8084002F039BC00BFFC +:10481000000402401C36002008B5074B074A5968BF +:1048200001F03D01D960536E0BB1906E9847BDE821 +:10483000084002F025BC00BF000402401C360020E6 +:1048400008B5084B5968890901F03D018A01DA6011 +:10485000054AD36E0BB1106F9847BDE8084002F0CF +:104860000FBC00BF000402401C36002008B5084BF6 +:104870005968090C01F03D010A04DA60054A536FDA +:104880000BB1906F9847BDE8084002F0F9BB00BF3C +:10489000000402401C36002008B5084B5968890DF9 +:1048A00001F03D018A05DA60054AD36F13B1D2F8F1 +:1048B00080009847BDE8084002F0E2BB00040240D7 +:1048C0001C36002000230C4910B51A460B4C0B6017 +:1048D00054F82300026001EB430004334260402B94 +:1048E000F6D1074A4FF0FF339360D360C2F8083423 +:1048F000C2F80C3410BD00BF1C360020EC8F00083D +:10490000000002400F28F8B510D9102810D0112847 +:1049100011D0122808D10F240720DFF8C8E00126A3 +:10492000DEF80050A04208D9002653E00446F4E720 +:104930000F240020F1E70724FBE706FA00F73D42C9 +:104940004AD1264C4FEA001C3D4304EB00160EEB07 +:10495000C000CEF80050C0E90123FBB273B120487B +:10496000D0F8D83043F00103C0F8D830D0F8003187 +:1049700043F00103C0F80031D0F8003117F47F4F45 +:104980000ED01748D0F8D83043F00203C0F8D83022 +:10499000D0F8003143F00203C0F80031D0F8003104 +:1049A00054F80C00036823F01F030360056815F03A +:1049B0000105FBD104EB0C033D2493F80CC05F68A8 +:1049C00004FA0CF43C6021240560446112B1987B28 +:1049D00000F04EFB3046F8BD0130A3E7EC8F000835 +:1049E000004402581C36002010B5302484F311888E +:1049F000FFF788FF002383F3118810BD10B504462C +:104A0000807B00F04BFB01231549627B03FA02F225 +:104A10000B6823EA0203DAB20B6072B9114AD2F8CA +:104A2000D81021F00101C2F8D810D2F8001121F0FD +:104A30000101C2F80011D2F8002113F47F4F0ED10A +:104A4000084BD3F8D82022F00202C3F8D820D3F8BC +:104A5000002122F00202C3F80021D3F8003110BD7A +:104A60001C3600200044025808B5302383F3118817 +:104A7000FFF7C4FF002383F3118808BD836CC26A6B +:104A80008B42506810B506D95A1E4C0002EB410308 +:104A9000B3FBF4F3184410BD01F001038A0748BFCB +:104AA00043F002034A0748BF43F008030A0748BF20 +:104AB00043F00403CA0648BF43F010038A06426B62 +:104AC00048BF43F0200313434363704710B5074CBE +:104AD000204600F0F3FC064B0022C4E91023054BEE +:104AE000A364054BE363054BE36410BDA0360020CF +:104AF0000070005200B4C404F4360020F4380020E2 +:104B0000C36A0BB9104BC3620379012B11D10F4B50 +:104B100098420ED10E4BD3F8D42042F48032C3F821 +:104B2000D420D3F8FC2042F48032C3F8FC20D3F820 +:104B3000FC30436C00221A65DA621A605A605A62CD +:104B40004FF0FF329A637047EC900008A0360020C7 +:104B5000004402580379012B1BD0436C00221A65D4 +:104B6000DA621A605A605A624FF0FF329A63094B58 +:104B700098420ED1084BD3F8D42022F48032C3F8E7 +:104B8000D420D3F8FC2022F48032C3F8FC20D3F8E0 +:104B9000FC307047A03600200044025810B5446C29 +:104BA0000649FFF76BFF6060236842F2107043F024 +:104BB00003032360BDE8104001F0F4B9801A060039 +:104BC0000129F8B5466C0B4F09D175680A493D407B +:104BD000FFF754FF054345F480557560F8BD7468D0 +:104BE00006493C40FFF74AFF044344F48054746094 +:104BF000F4E700BF00ECFFFF80F0FA0240787D018F +:104C0000436C00225A601A6070470000426C012910 +:104C1000536823F4404304D0022905D001B95360FE +:104C2000704743F48043FAE743F40043F7E700009A +:104C3000436C41F480519A60D9605A6B1206FCD5DE +:104C400080229A637047000010B541F48851446C8B +:104C5000A260E160616B11F04502FBD0A26311F02C +:104C6000040203D0FFF718FF012010BD6169104650 +:104C70001960FAE710B541F48851446CA260E16014 +:104C8000616B11F04502FBD0A26311F0050203D065 +:104C9000FFF702FF012010BD616910461960FAE7B5 +:104CA00073B5134604460E46302282F31188426CD7 +:104CB000D26B32B14FF0FF314030019301F07EF9F9 +:104CC000019B606C00220265C263C262456B15F4F1 +:104CD000807504D185F31188012002B070BD4FF0BA +:104CE000FF31816382F31188012E06D90C21204601 +:104CF00002B0BDE87040FFF7BDBF1046EDE7000011 +:104D000073B5446C0E4600250192616BA163256565 +:104D1000E562FFF7C1FE012E07D9019B2A460C214F +:104D200002B0BDE87040FFF7A5BF02B070BD000043 +:104D300010B541F49851446CA260E160616B11F0D0 +:104D40004502FBD0A26311F03F0203D0FFF7A4FE9F +:104D5000012010BD216A10461960E1695960A169FE +:104D600099606169D960F4E72DE9F7430446019140 +:104D7000006D01A91746984602F0AAF806460028D9 +:104D80004AD0626C2046DDF804905568C5F30905E9 +:104D900001356B00A56CB5FBF3F54FF47A73B5FBE9 +:104DA000F3F55D43556200F04FFB50BB636C4FF071 +:104DB000FF3201254146C3F8589020461D659A638D +:104DC0004FF49572DA6342F207029F62DA62E36C93 +:104DD0000A9AFFF74FFFA0B9E26C104B11680B4025 +:104DE0007BB929462046FFF75BFF054648B92E46AA +:104DF0003A460199206D02F0A3F8304603B0BDE8B1 +:104E0000F0833A460199206D02F09AF8E26C012194 +:104E10002046FFF775FFF0E70126EEE708E0FFFD0B +:104E20002DE9F7431F46436C01924FF47A725D6897 +:104E300004468846C5F3090501356E00856CB5FB4F +:104E4000F6F5B5FBF2F555435D6200F0FDFA20B1D1 +:104E50000125284603B0BDE8F0837E0201A9206D3C +:104E6000324602F035F805460028F1D0636C019A0D +:104E7000D4F84C909A6501221A654FF0FF329A637C +:104E80004FF49572DA639E62236BDB064B4658BF84 +:104E90004FEA4828012F42461BD912212046FFF72E +:104EA000E9FEC0B9D9F80020104B13409BB9636CE0 +:104EB00042F2930239462046DA62E26CFFF7F0FED6 +:104EC000804640B932460199206D454602F038F8D7 +:104ED000BFE71121E2E732460199206D02F030F878 +:104EE000E26C39462046FFF70BFFB2E708E0FFFD12 +:104EF0002DE9F3411F46436C01924FF47A725D68CD +:104F000004468846C5F3090501356E00856CB5FB7E +:104F1000F6F5B5FBF2F555435D6200F095FA20B168 +:104F20000125284602B0BDE8F0817E0201A9206D6E +:104F3000324602F013F805460028F1D0636C019A5E +:104F40009A6501221A654FF0FF329A634FF48D7211 +:104F5000DA639E62236BE66CDB06334658BF4FEA8A +:104F60004828012F424619D919212046FFF782FE11 +:104F7000B0B932680F4B134093B9636C42F291029F +:104F800039462046DA62E26CFFF78AFE064638B9F7 +:104F900001993546206D02F01DF8C2E71821E4E7BB +:104FA0000199206D02F016F8E26C39462046FFF7B1 +:104FB000A7FEB6E708E0FFFD12F0030F2DE9F04170 +:104FC00007460C4615461E4617D00E44B44202D181 +:104FD0000020BDE8F0810123FA6B21463846FFF737 +:104FE0001FFF0028F5D128464FF40072F96B05F534 +:104FF00000750134FCF77CFEE8E7BDE8F041FFF7FF +:105000000FBF000012F0030F2DE9F04107460C46D8 +:1050100015461E4617D00E44B44202D10020BDE80A +:10502000F08129464FF40072F86B05F50075FCF726 +:105030005FFE0123FA6B21463846FFF759FF00282F +:10504000EDD10134E8E7BDE8F041FFF751BF0000C2 +:1050500000207047302310B583F311880024436C7F +:1050600040302146DC6300F0B7FF84F3118810BDA7 +:10507000090100F16043012203F56143C9B283F8DD +:10508000001300F01F039A4043099B0003F16043A3 +:1050900003F56143C3F880211A60704700F01F03D5 +:1050A00001229A40430900F160409B0000F56140F5 +:1050B00003F1604303F56143C3F88020C3F8802106 +:1050C000002380F8003370470379052B05BF836AFE +:1050D000002001204B6004BF4FF400730B60704749 +:1050E00070B55D1E866A04460D44B54205D9436B12 +:1050F00043F080034363012070BD06250571FFF76F +:105100005BFF05232371F7E770B55D1E866A0446D1 +:105110000D44B54205D9436B43F08003436301203E +:1051200070BD07250571FFF76DFF05232371F7E7B4 +:1051300038B505790446052D05D108230371FFF71D +:1051400087FF257138BD0120FCE700000323F0B57F +:10515000037185B00446FFF721FD00222046114669 +:10516000FFF766FD4FF4D57203AB08212046FFF729 +:1051700081FD0246B8B901232363039BC3F30323D4 +:10518000012B09D103AB37212046FFF773FD18B976 +:10519000A44B039A1340ABB120460125FFF730FD25 +:1051A0000223237137E103AB002237212046FFF7AA +:1051B00061FD28B99B4A039B1A40002A00F0A78092 +:1051C00002232363236B03F00F03022B40F0A9801B +:1051D0006425954E42F2107000F0E4FE03AB3246B7 +:1051E00001212046FFF730FD0028D5D1039B002B7D +:1051F00080F293805A0003D5236B43F0100323639E +:10520000002204F1080302212046FFF791FD024627 +:105210000028C1D104F1380303212046FFF72AFDFD +:105220000028B9D104F11805A26B092120462B46AC +:10523000FFF77EFD0028AFD102ABA26B072120460D +:10524000FFF718FD06460028A6D1236B03F00F03D5 +:10525000022B40F08F807E227F21284603F052F9F6 +:10526000012840F28780E76B42F2107000F09AFE4E +:1052700008234FF40072394620460096FFF774FD6C +:10528000002889D1384603F08BF9236BA06203F024 +:105290000F03022B72D103AB644A06212046FFF7AD +:1052A000E9FC002871D15F49039B1940B1FA81F1F3 +:1052B00049092046FFF784FC02AB4FF4007210212D +:1052C0002046FFF7D7FC054600287FF465AF554E12 +:1052D000029B33427FF460AF236B13F00E0F03F099 +:1052E0000F0273D0022A7FF457AFE36A19780129BD +:1052F00000F09480022900F09380002900F089805A +:105300004B4F2046FFF782FC03AB3A4676E011464E +:1053100020462263FFF78CFC54E7013D7FF45AAF2F +:105320003AE7444D6426444A3E4F012B18BF1546C8 +:1053300003AB002237212046FFF79CFC00287FF4B6 +:105340002BAF039B3B427FF427AF03AB2A462921B7 +:105350002046FFF779FC00287FF41EAF039B002B4B +:10536000FFF648AF013E3FF417AF42F2107000F075 +:1053700019FEDDE7284603F0E7F886E77E227F2165 +:105380002846E66B03F0BEF808B9002191E7002338 +:1053900040223146204600930623FFF7E5FC002813 +:1053A000F3D1B3895BBA9B07EFD5244B402231463A +:1053B000204600930623FFF7D7FC0028E5D1317C77 +:1053C00001F00F010F3918BF012172E7E36A197864 +:1053D000F9B101297FF4E0AE2046FFF717FC03ABDB +:1053E000A26B37212046FFF745FC00287FF4D4AE9E +:1053F000039B33427FF4D0AE03AB0222062120464A +:10540000FFF738FC00287FF4C7AE039B33427FF4DC +:10541000C3AE05232371284605B0F0BD084F70E7E1 +:10542000084F6EE708E0FFFD0080FFC00001B903F0 +:105430000000B7030080FF5000001080F1FFFF80E4 +:105440000001B7030002B70337B504460C4D01ABAA +:10545000A26B0D212046FFF70DFC78B9019B2B4272 +:105460000BD1C3F34323042B08D0053B022B04D8F4 +:105470004FF47A7000F096FDE9E7012003B030BDEB +:1054800008E0FFFD70B53023054683F311880379EA +:105490000024022B03D184F31188204670BD04231D +:1054A000037184F311880226FFF7CEFF04462846D5 +:1054B000FFF7A6FB2E71F0E7FFF708BB044B036074 +:1054C0000123037100234363C0E90A33704700BF1F +:1054D000F490000810B53023044683F31188C162AC +:1054E000FFF70EFB02230020237180F3118810BD0B +:1054F00010B53023044683F31188FFF72BFB0023FC +:105500000122E362227183F3118810BD02684368AF +:105510001143016003B118477047000013B5406B99 +:1055200000F58054D4F8A4381A681178042914D1ED +:10553000017C022911D11979012312898B40134270 +:105540000BD101A94C3002F00BFFD4F8A44802465D +:10555000019B2179206800F0DFF902B010BD000046 +:10556000143002F08DBE00004FF0FF33143002F013 +:1055700087BE00004C3002F05FBF00004FF0FF33E9 +:105580004C3002F059BF0000143002F05BBE000046 +:105590004FF0FF31143002F055BE00004C3002F0E5 +:1055A0002BBF00004FF0FF324C3002F025BF00004F +:1055B0000020704710B500F58054D4F8A4381A685C +:1055C0001178042917D1017C022914D159790123BA +:1055D00052898B4013420ED1143002F0EDFD024689 +:1055E00048B1D4F8A4484FF4407361792068BDE80D +:1055F000104000F07FB910BD406BFFF7DBBF00002B +:10560000704700007FB5124B012504260446036055 +:105610000023057400F1840243602946C0E9023387 +:105620000C4B0290143001934FF44073009602F03B +:105630009FFD094B04F69442294604F14C00029464 +:10564000CDE900634FF4407302F066FE04B070BD14 +:1056500018910008F95500081D5500080A68302304 +:1056600083F311880B790B3342F823004B79133302 +:1056700042F823008B7913B10B3342F8230000F575 +:105680008053C3F8A41802230374002080F3118808 +:105690007047000038B5037F044613B190F85430CA +:1056A000ABB90125201D0221FFF730FF04F11400E2 +:1056B0006FF00101257700F0B5FC04F14C0084F88F +:1056C00054506FF00101BDE8384000F0ABBC38BD6C +:1056D00010B5012104460430FFF718FF002323779B +:1056E00084F8543010BD000038B50446002514304D +:1056F00002F056FD04F14C00257702F025FE201D36 +:1057000084F854500121FFF701FF2046BDE83840DE +:10571000FFF750BF90F8803003F06003202B06D1D4 +:1057200090F881200023212A03D81F2A06D80020C0 +:105730007047222AFBD1C0E91D3303E0034A4267C8 +:1057400007228267C3670120704700BF3422002010 +:1057500037B500F58055D5F8A4381A6811780429B2 +:105760001AD1017C022917D11979012312898B40A2 +:10577000134211D100F14C04204602F0A5FE58B1AD +:1057800001A9204602F0ECFDD5F8A4480246019B91 +:105790002179206800F0C0F803B030BD01F10B039F +:1057A000F0B550F8236085B004460D46FEB13023B5 +:1057B00083F3118804EB8507301D0821FFF7A6FE4F +:1057C000FB6806F14C005B691B681BB1019002F09D +:1057D000D5FD019803A902F0C3FD024648B1039B21 +:1057E0002946204600F098F8002383F3118805B07D +:1057F000F0BDFB685A691268002AF5D01B8A013B8C +:105800001340F1D104F18002EAE70000133138B50A +:1058100050F82140ECB1302383F3118804F5805314 +:10582000D3F8A4281368527903EB8203DB689B69E1 +:105830005D6845B104216018FFF768FE294604F150 +:10584000140002F0C3FC2046FFF7B4FE002383F3EC +:10585000118838BD7047000001F010BD01234022BF +:10586000002110B5044600F8303BFCF767FA00232E +:10587000C4E9013310BD000010B53023044683F3A2 +:1058800011882422416000210C30FCF757FA204691 +:1058900001F016FD02230020237080F3118810BD53 +:1058A00070B500EB8103054650690E461446DA6078 +:1058B00018B110220021FCF741FAA06918B110229A +:1058C0000021FCF73BFA31462846BDE8704001F064 +:1058D000FDBD000083682022002103F0011310B5F4 +:1058E000044683601030FCF729FA2046BDE81040DA +:1058F00001F078BEF0B4012500EB810447898D40AA +:10590000E4683D43A469458123600023A26063608D +:10591000F0BC01F095BE0000F0B4012500EB81045D +:1059200007898D40E4683D43646905812360002355 +:10593000A2606360F0BC01F00BBF000070B50223F1 +:1059400000250446242203702946C0F888500C30F4 +:1059500040F8045CFCF7F2F9204684F8705001F03E +:1059600049FD63681B6823B129462046BDE87040A5 +:10597000184770BD0378052B10B504460AD080F88F +:105980008C300523037043681B680BB104219847D2 +:105990000023A36010BD00000178052906D190F80E +:1059A0008C20436802701B6803B1184770470000E1 +:1059B00070B590F87030044613B1002380F8703051 +:1059C00004F18002204601F031FE63689B68B3B9A0 +:1059D00094F8803013F0600535D00021204602F0A5 +:1059E00023F90021204602F013F963681B6813B104 +:1059F000062120469847062384F8703070BD204663 +:105A000098470028E4D0B4F88630A26F9A4288BF45 +:105A1000A36794F98030A56F002B4FF0300380F21C +:105A20000381002D00F0F280092284F8702083F3B6 +:105A3000118800212046D4E91D23FFF76DFF0023C4 +:105A400083F31188DAE794F8812003F07F0343EAB7 +:105A5000022340F20232934200F0C58021D8B3F510 +:105A6000807F48D00DD8012B3FD0022B00F09380CF +:105A7000002BB2D104F1880262670222A267E367B9 +:105A8000C1E7B3F5817F00F09B80B3F5407FA4D1DF +:105A900094F88230012BA0D1B4F8883043F002038F +:105AA00032E0B3F5006F4DD017D8B3F5A06F31D009 +:105AB000A3F5C063012B90D86368204694F8822038 +:105AC0005E6894F88310B4F88430B047002884D01E +:105AD000436863670368A3671AE0B3F5106F36D0B5 +:105AE00040F6024293427FF478AF5C4B6367022337 +:105AF000A3670023C3E794F88230012B7FF46DAFD6 +:105B0000B4F8883023F00203A4F88830C4E91D55A6 +:105B1000E56778E7B4F88030B3F5A06F0ED194F85C +:105B20008230204684F88A3001F0C2FC63681B682A +:105B300013B1012120469847032323700023C4E9B1 +:105B40001D339CE704F18B0363670123C3E72378CC +:105B5000042B10D1302383F311882046FFF7BAFEBF +:105B600085F311880321636884F88B5021701B68CA +:105B70000BB12046984794F88230002BDED084F891 +:105B80008B300423237063681B68002BD6D002215E +:105B900020469847D2E794F8843020461D0603F04B +:105BA0000F010AD501F034FD012804D002287FF44A +:105BB00014AF2B4B9AE72B4B98E701F01BFDF3E753 +:105BC00094F88230002B7FF408AF94F8843013F0FF +:105BD0000F01B3D01A06204602D502F03DF8ADE71A +:105BE00002F02EF8AAE794F88230002B7FF4F5AE8D +:105BF00094F8843013F00F01A0D01B06204602D584 +:105C000002F012F89AE702F003F897E7142284F8FA +:105C1000702083F311882B462A4629462046FFF739 +:105C200069FE85F31188E9E65DB1152284F87020DC +:105C300083F3118800212046D4E91D23FFF75AFE83 +:105C4000FDE60B2284F8702083F311882B462A4648 +:105C500029462046FFF760FEE3E700BF48910008B1 +:105C6000409100084491000838B590F8703004461F +:105C7000002B3ED0063BDAB20F2A34D80F2B32D895 +:105C8000DFE803F03731310822323131313131313F +:105C900031313737856FB0F886309D4214D2C368F2 +:105CA0001B8AB5FBF3F203FB12556DB9302383F366 +:105CB00011882B462A462946FFF72EFE85F31188C8 +:105CC0000A2384F870300EE0142384F870303023F7 +:105CD00083F31188002320461A461946FFF70AFE6F +:105CE000002383F3118838BDC36F03B198470023A5 +:105CF000E7E70021204601F097FF0021204601F050 +:105D000087FF63681B6813B1062120469847062366 +:105D1000D7E7000010B590F870300446142B29D056 +:105D200017D8062B05D001D81BB110BD093B022B9B +:105D3000FBD80021204601F077FF0021204601F02A +:105D400067FF63681B6813B1062120469847062346 +:105D500019E0152BE9D10B2380F87030302383F341 +:105D6000118800231A461946FFF7D6FD002383F356 +:105D70001188DAE7C3689B695B68002BD5D1C36FD4 +:105D800003B19847002384F87030CEE7002382687F +:105D9000037503691B6899689142FBD25A680360D6 +:105DA0004260106058607047002382680375036981 +:105DB0001B6899689142FBD85A6803604260106082 +:105DC0005860704708B50846302383F311880A7D70 +:105DD0000023052A06D8DFE802F00B050503120EA2 +:105DE000826913604FF0FF338361FFF7CFFF002319 +:105DF00083F3118808BD8269936801339360D0E909 +:105E0000003213605A60EDE7FFF7C0BF054BD96859 +:105E100008751868026853601A600122D86002751C +:105E2000FAF7F0BAF83800200C4B30B5DD684B1C9F +:105E300087B004460FD02B46094A684600F086F921 +:105E40002046FFF7E3FF009B13B1684600F088F996 +:105E5000A86907B030BDFFF7D9FFF9E7F83800208F +:105E6000C55D000838B50C4D04468161EB6881685A +:105E70009A68914203D8BDE83840FFF787BF1846BB +:105E8000FFF792FF01230146EC6020462375BDE831 +:105E90003840FAF7B7BA00BFF8380020044B1A6848 +:105EA000DB6890689B68984294BF0020012070478F +:105EB000F8380020084B10B51C68D8682268536079 +:105EC0001A600122DC602275FFF76EFF0146204652 +:105ED000BDE81040FAF796BAF838002038B501232B +:105EE000084C00252370656002F088FB02F0AEFBD1 +:105EF0000549064802F082FC0223237085F31188CD +:105F000038BD00BF603B002050910008F8380020E9 +:105F100000F05CB9034A516853685B1A9842FBD899 +:105F2000704700BF001000E08B6002230861084644 +:105F30008B8270478368A3F1840243F8142C0269B2 +:105F400043F8442C426943F8402C094A43F8242C76 +:105F5000C268A3F1200043F8182C022203F80C2C8D +:105F6000002203F80B2C034A43F8102C704700BFA3 +:105F70001D040008F838002008B5FFF7DBFFBDE876 +:105F80000840FFF741BF0000024BDB6898610F201B +:105F9000FFF73CBFF8380020302383F31188FFF768 +:105FA000F3BF000008B50146302383F311880820B1 +:105FB000FFF73AFF002383F3118808BD054BDB6828 +:105FC00021B1036098610320FFF72EBF4FF0FF302F +:105FD000704700BFF838002003682BB10022026030 +:105FE00018469961FFF710BF70470000064BDB6849 +:105FF00039B1426818605A60136043600420FFF7AB +:1060000013BF4FF0FF307047F83800200368984204 +:1060100006D01A680260506018469961FFF7F4BE16 +:106020007047000038B504460D462068844200D110 +:1060300038BD036823605C608561FFF7E5FEF4E727 +:10604000036810B59C68A2420CD85C688A600B603B +:106050004C602160596099688A1A9A604FF0FF334A +:10606000836010BD121B1B68ECE700000A2938BFD3 +:106070000A2170B504460D460A26601902F0B8FAE6 +:1060800002F0A0FA041BA54203D8751C04462E4654 +:10609000F3E70A2E04D90120BDE8704002F0EEBB00 +:1060A00070BD0000F8B5144B0D460A2A4FF00A07E0 +:1060B000D96103F11001826038BF0A224160196979 +:1060C0001446016048601861A81802F081FA02F0D5 +:1060D00079FA431B0646A34206D37C1C281927469F +:1060E000354602F085FAF2E70A2F04D90120BDE80F +:1060F000F84002F0C3BBF8BDF8380020F8B50646FA +:106100000D4602F05FFA0F4A134653F8107F9F4284 +:1061100006D12A4601463046BDE8F840FFF7C2BF27 +:10612000D169BB68441A2C1928BF2C46A34202D956 +:106130002946FFF79BFF224631460348BDE8F84059 +:10614000FFF77EBFF838002008390020C0E903239C +:10615000002310B45DF8044B4361FFF7CFBF00008C +:1061600010B5194C236998420DD08168D0E90032EE +:1061700013605A609A680A449A60002303604FF0E3 +:10618000FF33A36110BD0268234643F8102F53600C +:106190000022026022699A4203D1BDE8104002F059 +:1061A00021BA936881680B44936002F00BFA22696C +:1061B000E1699268441AA242E4D91144BDE8104052 +:1061C000091AFFF753BF00BFF83800202DE9F04748 +:1061D000DFF8BC8008F110072C4ED8F8105002F000 +:1061E000F1F9D8F81C40AA68031B9A423ED814441F +:1061F0004FF00009D5E90032C8F81C4013605A601E +:10620000C5F80090D8F81030B34201D102F0EAF995 +:1062100089F31188D5E9033128469847302383F361 +:1062200011886B69002BD8D002F0CCF96A69A0EB19 +:10623000040982464A450DD2022002F01FFB0022CB +:10624000D8F81030B34208D151462846BDE8F0478F +:10625000FFF728BF121A2244F2E712EB0909294678 +:10626000384638BF4A46FFF7EBFEB5E7D8F810309E +:10627000B34208D01444C8F81C00211AA960BDE834 +:10628000F047FFF7F3BEBDE8F08700BF08390020F4 +:10629000F838002038B502F095F9054AD2E90845EA +:1062A000031B181945F10001C2E9080138BD00BF00 +:1062B000F838002010B560B9074804790368053C38 +:1062C0009B6818BF0124984708B144F00404204695 +:1062D00010BD0124FBE700BFA0360020FFF7EABF96 +:1062E0002DE9F047884617469A460446B0B90D4E48 +:1062F0003579052D05D003240DE0013D15F0FF058E +:106300000ED03268534639463046D2F81490424691 +:10631000C8470028F1D12046BDE8F0870424FAE7F9 +:106320000124F8E7A03600202DE9F04788461746FB +:106330009A460446B0B90D4E3579052D05D0032493 +:106340000DE0013D15F0FF050ED032685346394689 +:106350003046D2F818904246C8470028F1D120466E +:10636000BDE8F0870424FAE70124F8E7A03600200E +:1063700037B50C46154670B951B101290BD1074804 +:10638000694603681B6A984710B9019B04462B6055 +:10639000204603B030BD0424FAE700BFA036002039 +:1063A00000207047FEE70000704700004FF0FF300C +:1063B000704700004B6843608B688360CB68C360A4 +:1063C0000B6943614B6903628B6943620B6803602D +:1063D0007047000008B53C4B40F2FF713B48D3F8D2 +:1063E00088200A43C3F88820D3F8882022F4FF626B +:1063F00022F00702C3F88820D3F88820D3F8E020E1 +:106400000A43C3F8E020D3F808210A43C3F808215F +:106410002F4AD3F808311146FFF7CCFF00F5806012 +:1064200002F11C01FFF7C6FF00F5806002F13801A0 +:10643000FFF7C0FF00F5806002F15401FFF7BAFFDB +:1064400000F5806002F17001FFF7B4FF00F5806095 +:1064500002F18C01FFF7AEFF00F5806002F1A801A8 +:10646000FFF7A8FF00F5806002F1C401FFF7A2FF6B +:1064700000F5806002F1E001FFF79CFF00F580600D +:1064800002F1FC01FFF796FF02F58C7100F58060C8 +:10649000FFF790FF01F078FC0E4BD3F8902242F00A +:1064A0000102C3F89022D3F8942242F00102C3F80B +:1064B00094220522C3F898204FF06052C3F89C2024 +:1064C000054AC3F8A02008BD004402580000025845 +:1064D0005C91000800ED00E01F00080308B501F022 +:1064E00035FEFFF7FBFC104BD3F8DC2042F04002F6 +:1064F000C3F8DC20D3F8042122F04002C3F80421C1 +:10650000D3F80431094B1A6842F008021A601A687D +:1065100042F004021A6000F065FD00F045FBBDE8A2 +:10652000084000F0B5B800BF004402580018024807 +:1065300001207047002070477047000002290CD0EE +:10654000032904D00129074818BF00207047032AF7 +:1065500005D8054800EBC20070470448704700208A +:10656000704700BF5C93000844220020109300088D +:1065700070B59AB005460846144601A900F0C2F865 +:1065800001A8FBF7D3FB431C0022C6B25B001046F8 +:10659000C5E9003423700323023404F8013C01AB45 +:1065A000D1B202348E4201D81AB070BD13F8011B6B +:1065B000013204F8010C04F8021CF1E708B530239D +:1065C00083F311880348FFF7C3F8002383F311888E +:1065D00008BD00BF683B002090F8803003F01F0228 +:1065E000012A07D190F881200B2A03D10023C0E9AA +:1065F0001D3315E003F06003202B08D1B0F8843080 +:106600002BB990F88120212A03D81F2A04D8FFF73C +:1066100081B8222AEBD0FAE7034A42670722826751 +:10662000C3670120704700BF3B22002007B5052942 +:1066300017D8DFE801F0191603191920302383F366 +:106640001188104A01210190FFF72AF901980221CF +:106650000D4AFFF725F90D48FFF746F8002383F3AD +:10666000118803B05DF804FB302383F311880748D9 +:10667000FFF710F8F2E7302383F311880348FFF7A0 +:1066800027F8EBE7B0920008D4920008683B00209E +:1066900038B50C4D0C4C2A460C4904F10800FFF7A4 +:1066A00067FF05F1CA0204F110000949FFF760FF16 +:1066B00005F5CA7204F118000649BDE83840FFF735 +:1066C00057BF00BF40540020442200209092000891 +:1066D0009A920008A592000870B5044608460D4637 +:1066E000FBF724FBC6B22046013403780BB91846E9 +:1066F00070BD32462946FBF705FB0028F3D1012087 +:10670000F6E700002DE9F84F05460C46FBF70EFBB7 +:106710002D49C6B22846FFF7DFFF08B10436F6B2AE +:106720002A492846FFF7D8FF08B11036F6B2632E83 +:106730000DD8DFF89490DFF894A0DFF89C80DFF8A4 +:106740009CB0234F2E7846B92670BDE8F88F2946B5 +:106750002046BDE8F84F02F077B9252E30D1072248 +:1067600049462846FBF7CEFA70B93B6807350B342B +:1067700044F80B3C7B6844F8073C3B8924F8033C15 +:10678000BB7A04F8013CDDE7082251462846FBF7B6 +:10679000B9FAA8B9A21C0F4B19780232090911F8ED +:1067A000081002F8041C13F8011B01F00F015B45EF +:1067B00011F8081002F8031CEED118340835C1E7AF +:1067C000013504F8016BBDE77C930008A592000831 +:1067D0008493000800E8F11F909300080CE8F11F73 +:1067E000BFF34F8F044B1A695107FCD1D3F8102126 +:1067F0005207F8D1704700BF0020005208B50D4B7A +:106800001B78ABB9FFF7ECFF0B4BDA68D10704D567 +:106810000A4A5A6002F188325A60D3F80C21D20732 +:1068200006D5064AC3F8042102F18832C3F80421D0 +:1068300008BD00BF9E56002000200052230167457E +:1068400008B5114B1B78F3B9104B1A69510703D5E2 +:10685000DA6842F04002DA60D3F81021520705D519 +:10686000D3F80C2142F04002C3F80C21FFF7B8FF27 +:10687000064BDA6842F00102DA60D3F80C2142F0EC +:106880000102C3F80C2108BD9E56002000200052D2 +:106890000F289ABF00F58060400400207047000078 +:1068A0004FF4003070470000102070470F2808B5E3 +:1068B0000BD8FFF7EDFF00F500330268013204D179 +:1068C00004308342F9D1012008BD0020FCE700001C +:1068D0000F2838B505463FD8FFF782FF1F4CFFF75A +:1068E0008DFF4FF0FF3307286361C4F814311DD8C2 +:1068F0002361FFF775FF030243F02403E360E368BD +:1069000043F08003E36023695A07FCD42846FFF76D +:1069100067FFFFF7BDFF4FF4003100F09DFA2846F6 +:10692000FFF78EFFBDE83840FFF7C0BFC4F8103155 +:10693000FFF756FFA0F108031B0243F02403C4F83D +:106940000C31D4F80C3143F08003C4F80C31D4F886 +:1069500010315B07FBD4D9E7002038BD002000527E +:106960002DE9F84F04460D46104644EA0203DE06C0 +:1069700002D00020BDE8F88F20F01F00DFF8D4B06F +:10698000DFF8D4A0FFF73AFF05EB0008454503D137 +:106990000120FFF755FFEDE720222946204602F0AF +:1069A0001BF810B920342035F0E7234604F120020B +:1069B0001F68791CDDD104339342F9D104F1784387 +:1069C0002048214EB3F5801F204B38BF184603F1F5 +:1069D000F80332BFD946D1461E46FFF701FF0760D4 +:1069E000A4EB050C336805F11C0143F0020333608E +:1069F0002B1FD9F8007017F00507FAD153F8042FB0 +:106A00008B424CF80320F4D1BFF34F8FFFF7E8FE21 +:106A10004FF0FF330360336823F002033360BFF3AA +:106A20004F8F0B4BC3F85C42BFF34F8FBFF36F8F99 +:106A300020222946204601F0CFFF0028B2D0384658 +:106A4000A7E700BF142100520C200052142000526E +:106A500000ED00E0102000521021005210B5084C4B +:106A6000237828B11BB9FFF7C9FE0123237010BD9D +:106A7000002BFCD02070BDE81040FFF7E1BE00BF46 +:106A80009E5600202DE9F04F0D4685B0814658B145 +:106A900011F00D0614BF2022082211F00803019303 +:106AA00004D0431E03426AD0002435E0002E37D0C4 +:106AB00009F11F0121F01F094FF00108324F05F0C5 +:106AC0000403DFF8D0A005EA080BBBF1000F32D0B9 +:106AD0007869C0072FD408F101080C37B8F1060F08 +:106AE000F3D19EB9294D4946A819019201F0D0FD74 +:106AF000044600283AD11836019A782EF3D1494637 +:106B000001F0C6FD0446002830D1019A49462048CC +:106B100001F0BEFD044668BB204605B0BDE8F08F1D +:106B20000029C9D101462846029201F0B1FD044670 +:106B3000E0B9029AC0E713B178694107CBD5AC0739 +:106B400002D578698007C6D5019911B17869010726 +:106B5000C1D51820494600FB08A0CDE9022301F069 +:106B600097FD0446DDE902230028B4D04A460021FF +:106B7000204601E04A460021FBF7E0F8CCE7024658 +:106B8000002E95D198E700BFA4930008D0560020AE +:106B9000A0560020B85600200021FFF773BF000068 +:106BA0000121FFF76FBF0000F8B5144D012418272D +:106BB000134E40F2FF3200210120FBF7BFF807FB24 +:106BC000046001342A6955F80C1F01F04DFD062CB4 +:106BD000F5D137254FF4C0542046FFF7E1FF0146B9 +:106BE00028B122460748BDE8F84001F03DBDC4EB9E +:106BF000C404013D4FEAD404EED1F8BDA4930008CB +:106C0000B8560020A05600200421FFF73BBF00002B +:106C10004843FFF7C1BF000008B101F0ABBD7047AA +:106C2000B0F5805F10B5044607D8FFF7EDFF28B92F +:106C30002046BDE81040FFF7AFBF002010BD0000A8 +:106C4000FFF7EABF70B5AAB140EA010313F01F03D2 +:106C50000FD1094C0144A5686D0706D52568A842E7 +:106C600003D366683544A94204D903330C34122B8C +:106C7000F1D10022104670BDA493000808B501F0C0 +:106C800041FE034AD2E90032C01842EB010108BDBF +:106C900048570020434BD3E900232DE9F341134328 +:106CA0007CD0FFF7EBFF404A00230027F9F7C4FB35 +:106CB00006460D463D4A0023F9F7BEFB0023144665 +:106CC00030462946394AF9F7B7FB4FF461613C2356 +:106CD000ADF80170B4FBF1F5B4FBF3F601FB15411F +:106CE00003FB16464624B1FBF3F1314BF6B28DF8A7 +:106CF000004098423CD84FF0640C4FF4C87EA30784 +:106D000004F26C7225D1B2FBFCF30CFB132313BB12 +:106D1000B2FBFEF30EFB1322B2FA82F35B0903F21D +:106D20006D18621C8045D2B217D90FB18DF80040A2 +:106D30000022204C4FF00C0C17460CFB0343D4B23E +:106D4000013213F804C084450CD8A0EB0C000127D5 +:106D5000F5E70023E3E70123E1E7A0EB0800144691 +:106D60000127CCE70FB18DF80140431C8DF80230AC +:106D70009DF80100431C9DF800005038400640EA91 +:106D800043509DF8023040EA034040EA560040EA92 +:106D9000C52040EA411002B0BDE8F0814FF4041074 +:106DA000F9E700BF4857002040420F008051010022 +:106DB00090230B00EC9300080244074BD2B210B5AD +:106DC000904200D110BD441C00B253F8200041F89D +:106DD000040BE0B2F4E700BF504000580E4B30B552 +:106DE0001C6F240405D41C6F1C671C6F44F4004402 +:106DF0001C670A4C02442368D2B243F480732360B8 +:106E0000074B904200D130BD441C51F8045B00B2E6 +:106E100043F82050E0B2F4E700440258004802581A +:106E20005040005807B5012201A90020FFF7C4FF18 +:106E3000019803B05DF804FB13B50446FFF7F2FFB9 +:106E4000A04205D0012201A900200194FFF7C6FF4E +:106E500002B010BD704700000144BFF34F8F064BD6 +:106E6000884204D3BFF34F8FBFF36F8F7047C3F8CF +:106E70005C022030F4E700BF00ED00E00144BFF306 +:106E80004F8F064B884204D3BFF34F8FBFF36F8FF2 +:106E90007047C3F870022030F4E700BF00ED00E057 +:106EA00070B5054616460C4601201021FFF7B0FECE +:106EB000286046733CB1204636B1FFF7A5FE2B682B +:106EC000186000B19C6070BDFFF76AFEF7E7000034 +:106ED000F8B50F461546044648B905F11F010126CD +:106EE000386821F01F01FFF7B7FF3046F8BD427B3D +:106EF00029463868FFF7A6FE06460028EDD13B6814 +:106F00006360A368AB4210D213B12068FFF784FE20 +:106F1000637B28462BB1FFF777FE206020B9A06085 +:106F2000E3E7FFF73DFEF8E7A560206805F11F01E4 +:106F3000012621F01F013860FFF78EFF2673D4E78A +:106F400010B5044640B10068884205D1606808B1B8 +:106F5000FAF7CEFE0023237310BD0000F8B50F46EC +:106F60001446054648B904F11F010126386821F08E +:106F70001F01FFF783FF3046F8BD427B214638688A +:106F8000FFF760FE06460028EDD1AB68A34210D2A1 +:106F900013B12868FFF740FE6B7B20462BB1FFF74B +:106FA00033FE286020B9A860E5E7FFF7F9FDF8E7B0 +:106FB000AC60396819B122462868FAF799FE28684A +:106FC00004F11F01012621F01F013860FFF756FF71 +:106FD0002E73D0E720B103688B4204BF00230373F4 +:106FE00070470000034B1A681AB9034AD2F8D0243C +:106FF0001A607047505700200040025808B5FFF74C +:10700000F1FF024B1868C0F3806008BD50570020A4 +:10701000EFF30983054968334A6B22F001024A63A2 +:1070200083F30988002383F31188704700EF00E0A1 +:10703000302080F3118862B60D4B0E4AD96821F4D6 +:10704000E0610904090C0A430B49DA60D3F8FC201B +:1070500042F08072C3F8FC20084AC2F8B01F1168E1 +:1070600041F0010111602022DA7783F82200704795 +:1070700000ED00E00003FA0555CEACC5001000E0BD +:10708000302310B583F311880E4B5B6813F4006353 +:1070900014D0F1EE103AEFF309844FF08073683C9E +:1070A000E361094BDB6B236684F30988FEF7F6FE88 +:1070B00010B1064BA36110BD054BFBE783F31188AC +:1070C000F9E700BF00ED00E000EF00E02F0400084A +:1070D0003204000870B5BFF34F8FBFF36F8F1A4AA9 +:1070E0000021C2F85012BFF34F8FBFF36F8F536967 +:1070F00043F400335361BFF34F8FBFF36F8FC2F878 +:107100008410BFF34F8FD2F8803043F6E074C3F39E +:10711000C900C3F34E335B0103EA0406014646EAA5 +:1071200081750139C2F86052F9D2203B13F1200F6A +:10713000F2D1BFF34F8F536943F480335361BFF3F0 +:107140004F8FBFF36F8F70BD00ED00E0FEE70000D2 +:10715000214B2248224A70B5904237D3214BC11EA1 +:10716000DA1C121A22F003028B4238BF00220021DF +:10717000FAF7E4FD1C4A0023C2F88430BFF34F8FB6 +:10718000D2F8803043F6E074C3F3C900C3F34E3342 +:107190005B0103EA0406014646EA81750139C2F83B +:1071A0006C52F9D2203B13F1200FF2D1BFF34F8F75 +:1071B000BFF36F8FBFF34F8FBFF36F8F0023C2F802 +:1071C0005032BFF34F8FBFF36F8F70BD53F8041B66 +:1071D00040F8041BC0E700BFBC94000844590020DD +:1071E000445900204459002000ED00E0074BD3F83B +:1071F000D81021EA0001C3F8D810D3F8002122EA00 +:107200000002C3F80021D3F800317047004402584F +:1072100070B5D0E9244300224FF0FF359E6804EB9F +:1072200042135101D3F80009002805DAD3F8000908 +:1072300040F08040C3F80009D3F8000B002805DABD +:10724000D3F8000B40F08040C3F8000B0132631804 +:107250009642C3F80859C3F8085BE0D24FF0011317 +:10726000C4F81C3870BD0000890141F020010161A3 +:1072700003699B06FCD41220FEF74CBE10B50A4CE5 +:107280002046FEF7EBFA094BC4F89030084BC4F8DF +:107290009430084C2046FEF7E1FA074BC4F89030D2 +:1072A000064BC4F8943010BD54570020000008402D +:1072B00028940008F057002000000440349400088F +:1072C00070B503780546012B5CD1434BD0F8904054 +:1072D000984258D1414B0E216520D3F8D82042F076 +:1072E0000062C3F8D820D3F8002142F00062C3F84E +:1072F0000021D3F80021D3F8802042F00062C3F8C7 +:107300008020D3F8802022F00062C3F88020D3F8D8 +:107310008030FDF7ADFE324BE360324BC4F80038ED +:107320000023D5F89060C4F8003EC02323604FF4DA +:107330000413A3633369002BFCDA01230C203361AF +:10734000FEF7E8FD3369DB07FCD41220FEF7E2FD0F +:107350003369002BFCDA00262846A660FFF758FFA9 +:107360006B68C4F81068DB68C4F81468C4F81C685B +:1073700083BB1D4BA3614FF0FF336361A36843F0F0 +:107380000103A36070BD194B9842C9D1134B4FF054 +:107390008060D3F8D82042F00072C3F8D820D3F828 +:1073A000002142F00072C3F80021D3F80021D3F885 +:1073B000802042F00072C3F88020D3F8802022F0B1 +:1073C0000072C3F88020D3F88030FFF70FFF0E2142 +:1073D0004D209EE7064BCDE754570020004402584D +:1073E0004014004003002002003C30C0F057002051 +:1073F000083C30C0F8B5D0F89040054600214FF069 +:1074000000662046FFF730FFD5F8941000234FF0B8 +:1074100001128F684FF0FF30C4F83438C4F81C28CC +:1074200004EB431201339F42C2F80069C2F8006BBB +:10743000C2F80809C2F8080BF2D20B68D5F8902000 +:10744000C5F89830636210231361166916F01006B0 +:10745000FBD11220FEF75EFDD4F8003823F4FE6362 +:10746000C4F80038A36943F4402343F01003A36138 +:107470000923C4F81038C4F814380B4BEB604FF0F4 +:10748000C043C4F8103B094BC4F8003BC4F8106972 +:10749000C4F80039D5F8983003F1100243F4801392 +:1074A000C5F89820A362F8BD04940008408000103D +:1074B000D0F8902090F88A10D2F8003823F4FE63B8 +:1074C00043EA0113C2F80038704700002DE9F84381 +:1074D00000EB8103D0F890500C468046DA680FFA32 +:1074E00081F94801166806F00306731E022B05EBAE +:1074F00041134FF0000194BFB604384EC3F8101B7F +:107500004FF0010104F1100398BF06F1805601FA13 +:1075100003F3916998BF06F5004600293AD0578ACF +:1075200004F15801374349016F50D5F81C180B433B +:107530000021C5F81C382B180127C3F81019A740E3 +:107540005369611E9BB3138A928B9B08012A88BFE3 +:107550005343D8F89820981842EA034301F14002B7 +:107560002146C8F89800284605EB82025360FFF7D1 +:107570007BFE08EB8900C3681B8A43EA84534834C6 +:107580001E4364012E51D5F81C381F43C5F81C78E2 +:10759000BDE8F88305EB4917D7F8001B21F400413B +:1075A000C7F8001BD5F81C1821EA0303C0E704F153 +:1075B0003F030B4A2846214605EB83035A60FFF739 +:1075C00053FE05EB4910D0F8003923F40043C0F80E +:1075D0000039D5F81C3823EA0707D7E700800010E8 +:1075E00000040002D0F894201268C0F89820FFF739 +:1075F0000FBE00005831D0F8903049015B5813F4A9 +:10760000004004D013F4001F0CBF0220012070477B +:107610004831D0F8903049015B5813F4004004D051 +:1076200013F4001F0CBF02200120704700EB810102 +:10763000CB68196A0B6813604B6853607047000091 +:1076400000EB810330B5DD68AA691368D36019B90E +:10765000402B84BF402313606B8A1468D0F89020BD +:107660001C4402EB4110013C09B2B4FBF3F4634348 +:10767000033323F0030343EAC44343F0C043C0F899 +:10768000103B2B6803F00303012B0ED1D2F808380E +:1076900002EB411013F4807FD0F8003B14BF43F09D +:1076A000805343F00053C0F8003B02EB4112D2F884 +:1076B000003B43F00443C2F8003B30BD2DE9F041EC +:1076C000D0F8906005460C4606EB4113D3F8087BD2 +:1076D0003A07C3F8087B08D5D6F814381B0704D539 +:1076E00000EB8103DB685B689847FA071FD5D6F883 +:1076F0001438DB071BD505EB8403D968CCB98B693B +:10770000488A5A68B2FBF0F600FB16228AB918685C +:10771000DA6890420DD2121AC3E90024302383F3B1 +:10772000118821462846FFF78BFF84F31188BDE8B6 +:10773000F081012303FA04F26B8923EA02036B81CF +:10774000CB68002BF3D021462846BDE8F04118470E +:1077500000EB81034A0170B5DD68D0F890306C69A8 +:107760002668E66056BB1A444FF40020C2F81009A0 +:107770002A6802F00302012A0AB20ED1D3F80808DF +:1077800003EB421410F4807FD4F8000914BF40F0DA +:10779000805040F00050C4F8000903EB4212D2F8C8 +:1077A000000940F00440C2F800090122D3F834086F +:1077B00002FA01F10143C3F8341870BD19B9402E23 +:1077C00084BF4020206020681A442E8A8419013C1E +:1077D000B4FBF6F440EAC44040F00050C6E70000B5 +:1077E0002DE9F843D0F8906005460C464F0106EBB2 +:1077F0004113D3F8088918F0010FC3F808891CD089 +:10780000D6F81038DB0718D500EB8103D3F80CC08D +:10781000DCF81430D3F800E0DA68964530D2A2EBF9 +:107820000E024FF000091A60C3F80490302383F36E +:107830001188FFF78DFF89F3118818F0800F1DD094 +:10784000D6F834380126A640334217D005EB84031E +:107850000134D5F89050D3F80CC0E4B22F44DCF8D2 +:10786000142005EB0434D2F800E05168714514D3BC +:10787000D5F8343823EA0606C5F83468BDE8F8833D +:10788000012303FA01F2038923EA02030381DCF8EE +:107890000830002BD1D09847CFE7AEEB0103BCF8FE +:1078A0001000834228BF0346D7F8180980B2B3EB13 +:1078B000800FE3D89068A0F1040959F8048FC4F848 +:1078C0000080A0EB09089844B8F1040FF5D81844DB +:1078D0000B4490605360C8E72DE9F84FD0F8905002 +:1078E00004466E69AB691E4016F480586E6103D081 +:1078F000BDE8F84FFEF722B8002E12DAD5F8003EA8 +:107900009B0705D0D5F8003E23F00303C5F8003EE1 +:10791000D5F80438204623F00103C5F80438FEF7F3 +:107920003BF8370505D52046FFF772FC2046FEF7E9 +:1079300021F8B0040CD5D5F8083813F0060FEB6821 +:1079400023F470530CBF43F4105343F4A053EB6083 +:1079500031071BD56368DB681BB9AB6923F00803EB +:10796000AB612378052B0CD1D5F8003E9A0705D0E2 +:10797000D5F8003E23F00303C5F8003E2046FEF78D +:107980000BF86368DB680BB120469847F30200F1FF +:10799000BA80B70226D5D4F8909000274FF0010A9C +:1079A00009EB4712D2F8003B03F44023B3F5802FD4 +:1079B00011D1D2F8003B002B0DDA62890AFA07F3E5 +:1079C00022EA0303638104EB8703DB68DB6813B1FE +:1079D0003946204698470137D4F89430FFB29B6867 +:1079E0009F42DDD9F00619D5D4F89000026AC2F39F +:1079F0000A1702F00F0302F4F012B2F5802F00F024 +:107A0000CA80B2F5402F09D104EB8303002200F5B0 +:107A10008050DB681B6A974240F0B0803003D5F895 +:107A2000185835D5E90303D500212046FFF746FE57 +:107A3000AA0303D501212046FFF740FE6B0303D5BF +:107A400002212046FFF73AFE2F0303D503212046EB +:107A5000FFF734FEE80203D504212046FFF72EFE8F +:107A6000A90203D505212046FFF728FE6A0203D5A7 +:107A700006212046FFF722FE2B0203D507212046D0 +:107A8000FFF71CFEEF0103D508212046FFF716FE85 +:107A9000700340F1A780E90703D500212046FFF7D6 +:107AA0009FFEAA0703D501212046FFF799FE6B0729 +:107AB00003D502212046FFF793FE2F0703D50321AC +:107AC0002046FFF78DFEEE0603D504212046FFF782 +:107AD00087FEA80603D505212046FFF781FE69062B +:107AE00003D506212046FFF77BFE2A0603D5072192 +:107AF0002046FFF775FEEB0574D520460821BDE84A +:107B0000F84FFFF76DBED4F890904FF0000B4FF098 +:107B1000010AD4F894305FFA8BF79B689F423FF6D6 +:107B200038AF09EB4713D3F8002902F44022B2F52D +:107B3000802F20D1D3F80029002A1CDAD3F800299D +:107B400042F09042C3F80029D3F80029002AFBDB59 +:107B50003946D4F89000FFF787FB22890AFA07F329 +:107B600022EA0303238104EB8703DB689B6813B1DC +:107B70003946204698470BF1010BCAE7910701D11E +:107B8000D0F80080072A02F101029CBF03F8018BA4 +:107B90004FEA18283FE704EB830300F58050DA68CA +:107BA000D2F818C0DCF80820DCE9001CA1EB0C0CB2 +:107BB00000218F4208D1DB689B699A683A449A6039 +:107BC0005A683A445A6029E711F0030F01D1D0F8FE +:107BD00000808C4501F1010184BF02F8018B4FEA5E +:107BE0001828E6E7BDE8F88F08B50348FFF774FEEC +:107BF000BDE80840FFF744BA5457002008B50348D1 +:107C0000FFF76AFEBDE80840FFF73ABAF0570020D8 +:107C1000D0F8903003EB4111D1F8003B43F400134E +:107C2000C1F8003B70470000D0F8903003EB4111E1 +:107C3000D1F8003943F40013C1F80039704700004F +:107C4000D0F8903003EB4111D1F8003B23F400133E +:107C5000C1F8003B70470000D0F8903003EB4111B1 +:107C6000D1F8003923F40013C1F80039704700003F +:107C7000064BD3F8DC200243C3F8DC20D3F8042100 +:107C80001043C3F80401D3F804317047004402588C +:107C900008B53C4B4FF0FF31D3F8802062F0004232 +:107CA000C3F88020D3F8802002F00042C3F880207F +:107CB000D3F88020D3F88420C3F88410D3F884202C +:107CC0000022C3F88420D3F88400D86F40F0FF402E +:107CD00040F4FF0040F4DF4040F07F00D867D86FE9 +:107CE00020F0FF4020F4FF0020F4DF4020F07F0070 +:107CF000D867D86FD3F888006FEA40506FEA5050C9 +:107D0000C3F88800D3F88800C0F30A00C3F88800DD +:107D1000D3F88800D3F89000C3F89010D3F89000FF +:107D2000C3F89020D3F89000D3F89400C3F89410CF +:107D3000D3F89400C3F89420D3F89400D3F89800B3 +:107D4000C3F89810D3F89800C3F89820D3F8980097 +:107D5000D3F88C00C3F88C10D3F88C00C3F88C20B7 +:107D6000D3F88C00D3F89C00C3F89C10D3F89C1077 +:107D7000C3F89C20D3F89C30FCF7A4FDBDE8084074 +:107D800000F0B8B90044025808B50122534BC3F8BB +:107D90000821534BD3F8F42042F00202C3F8F42038 +:107DA000D3F81C2142F00202C3F81C210222D3F8AE +:107DB0001C314C4BDA605A689104FCD54A4A1A606F +:107DC00001229A60494ADA6000221A614FF4404267 +:107DD0009A61444B9A699204FCD51A6842F4807205 +:107DE0001A603F4B1A6F12F4407F04D04FF4803278 +:107DF0001A6700221A671A6842F001021A60384BAB +:107E00001A685007FCD500221A611A6912F038026C +:107E1000FBD1012119604FF0804159605A67344A03 +:107E2000DA62344A1A611A6842F480321A602C4BC2 +:107E30001A689103FCD51A6842F480521A601A68D5 +:107E40009204FCD52C4A2D499A6200225A63196388 +:107E500001F57C01DA6301F2E71199635A64284A5B +:107E60001A64284ADA621A6842F0A8521A601C4B57 +:107E70001A6802F02852B2F1285FF9D148229A61BB +:107E80004FF48862DA6140221A621F4ADA641F4A9C +:107E90001A651F4A5A651F4A9A6532231E4A1360A3 +:107EA000136803F00F03022BFAD10D4A136943F054 +:107EB00003031361136903F03803182BFAD14FF051 +:107EC0000050FFF7D5FE4FF08040FFF7D1FE4FF096 +:107ED0000040BDE80840FFF7CBBE00BF0080005166 +:107EE000004402580048025800C000F0020000019F +:107EF0000000FF0100889008222040006302090171 +:107F0000470E0508DD0BBF01200000200000011016 +:107F10000910E00000010110002000524FF0B042B3 +:107F200008B5D2F8883003F00103C2F8883023B1D5 +:107F3000044A13680BB150689847BDE80840FFF742 +:107F40009FB800BFC45800204FF0B04208B5D2F827 +:107F5000883003F00203C2F8883023B1044A9368E2 +:107F60000BB1D0689847BDE80840FFF789B800BF5B +:107F7000C45800204FF0B04208B5D2F8883003F062 +:107F80000403C2F8883023B1044A13690BB1506965 +:107F90009847BDE80840FFF773B800BFC4580020F9 +:107FA0004FF0B04208B5D2F8883003F00803C2F8A9 +:107FB000883023B1044A93690BB1D0699847BDE872 +:107FC0000840FFF75DB800BFC45800204FF0B04232 +:107FD00008B5D2F8883003F01003C2F8883023B116 +:107FE000044A136A0BB1506A9847BDE80840FFF78E +:107FF00047B800BFC45800204FF0B04310B5D3F8C5 +:10800000884004F47872C3F88820A30604D5124A85 +:10801000936A0BB1D06A9847600604D50E4A136B79 +:108020000BB1506B9847210604D50B4A936B0BB1EB +:10803000D06B9847E20504D5074A136C0BB1506C1E +:108040009847A30504D5044A936C0BB1D06C9847AC +:10805000BDE81040FFF714B8C45800204FF0B043FB +:1080600010B5D3F8884004F47C42C3F88820620538 +:1080700004D5164A136D0BB1506D9847230504D5EE +:10808000124A936D0BB1D06D9847E00404D50F4AA6 +:10809000136E0BB1506E9847A10404D50B4A936E32 +:1080A0000BB1D06E9847620404D5084A136F0BB128 +:1080B000506F9847230404D5044A936F0BB1D06FD7 +:1080C0009847BDE81040FEF7DBBF00BFC458002052 +:1080D00008B50348FCF7BEFFBDE80840FEF7D0BF77 +:1080E000A036002008B500F061FCBDE80840FEF7AE +:1080F000C7BF0000062108B50846FCF7B9FF0621F6 +:108100000720FCF7B5FF06210820FCF7B1FF062188 +:108110000920FCF7ADFF06210A20FCF7A9FF062184 +:108120001720FCF7A5FF06212820FCF7A1FF092155 +:108130007A20FCF79DFF09213120FCF799FF0721E8 +:108140003220BDE80840FCF793BF000008B5FFF7F8 +:108150009FFD00F0F3FBFDF7AFF9FDF77DFBFDF7A9 +:108160004FFAFEF7E9F9BDE8084000F029BA00002F +:1081700030B50433039C0172002104FB0325C16068 +:10818000C0E90653049B0363059BC0E90000C0E9F6 +:108190000422C0E90842C0E90A11436330BD00006F +:1081A0000022416AC260C0E90411C0E90A226FF0EE +:1081B0000101FDF737BF0000D0E90432934201D13D +:1081C000C2680AB9181D704700207047036919601A +:1081D0000021C2680132C260C269134482699342BD +:1081E000036124BF436A0361FDF710BF38B504463D +:1081F0000D46E3683BB162690020131D1268A3625B +:108200001344E36207E0237A33B929462046FDF799 +:10821000EDFE0028EDDA38BD6FF00100FBE700004D +:10822000C368C269013BC3604369134482699342D6 +:10823000436124BF436A436100238362036B03B13C +:108240001847704770B53023044683F31188866A57 +:108250003EB9FFF7CBFF054618B186F311882846D3 +:1082600070BDA36AE26A13F8015B9342A36202D372 +:108270002046FFF7D5FF002383F31188EFE70000C6 +:108280002DE9F84F04460E46174698464FF0300940 +:1082900089F311880025AA46D4F828B0BBF1000F55 +:1082A00009D141462046FFF7A1FF20B18BF3118889 +:1082B0002846BDE8F88FD4E90A12A7EB050B521A3D +:1082C000934528BF9346BBF1400F1BD9334601F1BC +:1082D000400251F8040B914243F8040BF9D1A36A10 +:1082E000403640354033A362D4E90A239A4202D390 +:1082F0002046FFF795FF8AF31188BD42D8D289F353 +:108300001188C9E730465A46F9F7F2FCA36A5E4481 +:108310005D445B44A362E7E710B5029C043301723D +:1083200003FB0421C460C0E906130023C0E90A333B +:10833000039B0363049BC0E90000C0E90422C0E979 +:108340000842436310BD0000026A6FF00101C26081 +:10835000426AC0E904220022C0E90A22FDF762BE97 +:10836000D0E904239A4201D1C26822B9184650F8D4 +:10837000043B0B60704700231846FAE7C3680021EE +:10838000C2690133C3604369134482699342436104 +:1083900024BF436A4361FDF739BE000038B5044687 +:1083A0000D46E3683BB1236900201A1DA262E26911 +:1083B0001344E36207E0237A33B929462046FDF7E8 +:1083C00015FE0028EDDA38BD6FF00100FBE7000074 +:1083D00003691960C268013AC260C26913448269C4 +:1083E0009342036124BF436A036100238362036BEA +:1083F00003B118477047000070B530230D4604469E +:10840000114683F31188866A2EB9FFF7C7FF10B1B2 +:1084100086F3118870BDA36A1D70A36AE26A0133F6 +:108420009342A36204D3E16920460439FFF7D0FFE9 +:10843000002080F31188EDE72DE9F84F04460D4642 +:10844000904699464FF0300A8AF311880026B346C9 +:10845000A76A4FB949462046FFF7A0FF20B187F32E +:1084600011883046BDE8F88FD4E90A073A1AA8EB1C +:108470000607974228BF1746402F1BD905F1400336 +:1084800055F8042B9D4240F8042BF9D1A36A4036DD +:108490004033A362D4E90A239A4204D3E169204617 +:1084A0000439FFF795FF8BF311884645D9D28AF33B +:1084B0001188CDE729463A46F9F71AFCA36A3D44EC +:1084C0003E443B44A362E5E7D0E904239A4217D136 +:1084D000C3689BB1836A8BB1043B9B1A0ED01360B7 +:1084E000C368013BC360C3691A4483699A4202614D +:1084F00024BF436A03610023836201231846704747 +:108500000023FBE701F01F03F0B502F01F0456093A +:108510005A1C0123B6EB511F50F8265003FA02F300 +:108520004FEA511703F1FF333DBF50F82720C4F144 +:108530002000134003EA05003BBF03FA00F225FACE +:1085400004F0E0401043F0BD70B57E227F21054667 +:10855000FFF7D8FF18B1012819D0002070BD3E22C6 +:1085600049212846FFF7CEFF2F2204463121284615 +:10857000FFF7C8FF06460134502202365321284631 +:10858000B440FFF7BFFF093804FA00F0E6E73022F5 +:1085900045212846FFF7B6FF01308002DEE70000E4 +:1085A00090F8D63090F8D7201B0403EB026390F8C4 +:1085B000D42090F8D500134403EB0020704700004E +:1085C00000F0CAB9014B586A704700BF000C004068 +:1085D000034B002258631A610222DA60704700BF21 +:1085E000000C0040014B0022DA607047000C004094 +:1085F000014B5863704700BF000C0040024B034A18 +:108600001A60034A5A607047A45800204859002055 +:1086100000000220074B494210B55C68201A084050 +:108620001968821A8A4203D3A24201D85A6010BD47 +:108630000020FCE7A458002008B5302383F31188FC +:10864000FFF7E8FF002383F3118808BD04480121E8 +:10865000044B03600023C0E901330C3000F016B96D +:10866000AC58002039860008CB1D083A23F00703D8 +:10867000591A521A012110B4D2080024C0E900434B +:1086800084600C301C605A605DF8044B00F0FEB84A +:108690002DE9F84F364ECD1D0F46002818BF06466F +:1086A000082A4FEAD50538BF082206F10C08341D08 +:1086B0009146404600F006F909F10701C9F1000EA4 +:1086C000224624686CB9404600F006F93368CBB303 +:1086D00008224946E8009847044698B340E90267F3 +:1086E00030E004EB010CD4F804A00CEA0E0C0AF103 +:1086F0000100ACF1080304EBC0009842E0D9A0EB04 +:108700000C0CB5EBEC0F4FEAEC0BD9D89C421CD209 +:1087100004F10802AB45A3EB02024FEAE2026260F9 +:1087200009D9691CED43206803EBC1025D44556023 +:1087300043F8310022601C465F60404644F8086BF5 +:1087400000F0CAF82046BDE8F88FAA45216802D19A +:1087500011602346EFE7013504EBC50344F83510FB +:1087600003F10801401AC01058601360F1E700BF20 +:10877000AC580020F8B550F8043C044650F8085CAA +:10878000A0F1080607332F1D0C35DB0840F8043C28 +:10879000284600F097F83B469F421A6801D0B34242 +:1087A00028D20AB1964225D244F8082C54F8042C59 +:1087B0001E60013254F8081C06EBC200814206D14B +:1087C0004868024444F8042C0A6844F8082C5868A5 +:1087D000411C03EBC1018E4207D154F8042C013235 +:1087E00002445A6054F8082C1A602846BDE8F84044 +:1087F00000F072B81346CFE7FEE7000070B51B4BE0 +:108800000025044686B058600E4685620163FEF777 +:108810000FFC04F11003A560E562C4E904334FF0D6 +:10882000FF33C4E90044C4E90635FFF7CBFE2B460D +:10883000024604F134012046C4E9082380230C4A8F +:108840002565FDF771FB01230A4AE060009203757C +:10885000684672680192B268CDE90223064BCDE901 +:108860000435FDF789FB06B070BD00BF603B0020FA +:108870004094000845940008F9870008024AD36A2A +:108880001843D062704700BFF8380020C0E90000EC +:10889000816070478368013B002B10B583600CDA60 +:1088A000074BDC684368A061206063601C60446023 +:1088B0000520FDF7ABFAA06910BD0020FCE700BF62 +:1088C000F838002008B5302383F31188FFF7E2FF62 +:1088D000002383F3118808BD08B5302383F3118882 +:1088E00083680133002B836007DC036800211A686A +:1088F000026050601846FDF7B5FA002383F3118833 +:1089000008BD000038B5EFF311859DB9EFF305847C +:10891000C4F30804302334B183F31188FDF7BAFCA3 +:1089200085F3118838BD83F31188FDF7B3FC84F318 +:10893000118838BDBDE83840FDF7ACBC0023054ABE +:1089400019460133102BC2E9001102F10802F8D1D7 +:10895000704700BFC4580020114BD3F8E82042F004 +:108960000802C3F8E820D3F8102142F00802C3F847 +:1089700010210C4AD3F81031D36B43F00803D363B2 +:10898000C722094B9A624FF0FF32DA6200229A61E5 +:108990005A63DA605A6001225A611A60704700BF58 +:1089A000004402580010005C000C0040094A08B561 +:1089B0001169D3680B40D9B29B076FEA01011161BD +:1089C00007D5302383F31188FDF7A2FA002383F340 +:1089D000118808BD000C004010B5013902449042D6 +:1089E00001D1002005E0037811F8014FA34201D026 +:1089F000181B10BD0130F2E7884210B501EB0204EC +:108A000002D98442234607D8431EA14208D011F858 +:108A1000012B03F8012FF8E7024401468A4200D1F6 +:108A200010BD13F8014D02F8014DF7E7C9B2034636 +:108A300010F8012B1AB18A42F9D118467047002963 +:108A400018BF0023F9E70000034611F8012B03F8D3 +:108A5000012B002AF9D1704710B50139034632B114 +:108A600011F8014F03F8014B013A002CF7D11A44D9 +:108A70000021934200D110BD03F8011BF9E700006B +:108A80004D4435002D2D0A002F6172647570696C9C +:108A90006F742E6162696E002F6172647570696C0B +:108AA0006F742D7665726966792E6162696E002F2A +:108AB0006172647570696C6F742D666C6173682E79 +:108AC0006162696E002F6172647570696C6F742DDC +:108AD000666C61736865642E6162696E00000000F7 +:108AE0000000000000000000050F0008A10F0008B2 +:108AF00051110008D90F0008990F0008000000006C +:108B000000000000010F0008AD0F000889110008E7 +:108B1000FD0E0008090F000853544D333248373F0B +:108B20003F3F0053544D3332483733782F37327834 +:108B30000053544D3332483734332F3735332F37C2 +:108B40003530000001105A00031059000120580070 +:108B5000032056002F00000053756363657373662E +:108B6000756C6C79206D6F756E7465642053444329 +:108B70006172642028736C6F77646F776E3D257522 +:108B8000290A0000EB7690455846415420202000E9 +:108B90004641543332202020000000002A3A3C3E57 +:108BA0007C223F7F002B2C3B3D5B5D0043554541C4 +:108BB0004141414345454549494941414592924FCB +:108BC0004F4F5555594F554F9C4F9E9F41494F55BB +:108BD000A5A5A6A7A8A9AAABACADAEAFB0B1B2B3DC +:108BE000B4414141B8B9BABBBCBDBEBFC0C1C2C32C +:108BF000C4C54141C8C9CACBCCCDCECFD1D14545E2 +:108C00004549494949D9DADBDCDD49DF4FE14F4FBE +:108C10004F4FE6E8E85555555959EEEFF0F1F2F3AC +:108C2000F4F5F6F7F8F9FAFBFCFDFEFF0103050782 +:108C3000090E10121416181C1E00000061001A0301 +:108C4000E0001703F8000703FF00010078010001AE +:108C5000300132010601390110014A012E0179016A +:108C6000060180014D0043028101820182018401DD +:108C7000840186018701870189018A018B018B01AB +:108C80008D018E018F019001910191019301940159 +:108C9000F60196019701980198013D029B019C0104 +:108CA0009D0120029F01A001A001A201A201A40137 +:108CB000A401A601A701A701A901AA01AB01AC016A +:108CC000AC01AE01AF01AF01B101B201B301B3011B +:108CD000B501B501B701B801B801BA01BB01BC01CA +:108CE000BC01BE01F701C001C101C201C301C40141 +:108CF000C501C401C701C801C701CA01CB01CA012E +:108D0000CD011001DD0101008E01DE011201F30130 +:108D10000300F101F401F401F8012801220212011B +:108D20003A020900652C3B023B023D02662C3F02E1 +:108D300040024102410246020A0153024000810101 +:108D40008601550289018A0158028F015A02900159 +:108D50005C025D025E025F029301610262029401A5 +:108D60006402650266026702970196016A02622C3C +:108D70006C026D026E029C01700271029D01730211 +:108D800074029F0176027702780279027A027B02EE +:108D90007C02642C7E027F02A60181028202A9016C +:108DA0008402850286028702AE014402B101B2014B +:108DB00045028D028E028F0290029102B7017B0361 +:108DC0000300FD03FE03FF03AC03040086038803D6 +:108DD00089038A03B1031103C2030200A303A3039F +:108DE000C4030803CC0303008C038E038F03D80352 +:108DF0001801F2030A00F903F303F403F503F60381 +:108E0000F703F703F903FA03FA03300420035004CD +:108E10001007600422018A043601C1040E01CF0448 +:108E20000100C004D00444016105260400000000D4 +:108E30007D1D0100632C001E9601A01E5A01001F1B +:108E40000806101F0606201F0806301F0806401FD0 +:108E50000606511F0700591F521F5B1F541F5D1F3D +:108E6000561F5F1F601F0806701F0E00BA1FBB1F32 +:108E7000C81FC91FCA1FCB1FDA1FDB1FF81FF91F2E +:108E8000EA1FEB1FFA1FFB1F801F0806901F080632 +:108E9000A01F0806B01F0400B81FB91FB21FBC1FD7 +:108EA000CC1F0100C31FD01F0206E01F0206E51FF2 +:108EB0000100EC1FF31F0100FC1F4E2101003221B5 +:108EC00070211002842101008321D0241A05302C46 +:108ED0002F04602C0201672C0601752C0201802CE6 +:108EE0006401002D260841FF1A030000C700FC00A2 +:108EF000E900E200E400E000E500E700EA00EB0042 +:108F0000E800EF00EE00EC00C400C500C900E60078 +:108F1000C600F400F600F200FB00F900FF00D600E6 +:108F2000DC00F800A300D800D7009201E100ED00BA +:108F3000F300FA00F100D100AA00BA00BF00AE00B1 +:108F4000AC00BD00BC00A100AB00BB009125922588 +:108F5000932502252425C100C200C000A900632575 +:108F6000512557255D25A200A5001025142534257F +:108F70002C251C2500253C25E300C3005A2554253B +:108F800069256625602550256C25A400F000D000D9 +:108F9000CA00CB00C8003101CD00CE00CF0018259B +:108FA0000C2588258425A600CC008025D300DF0071 +:108FB000D400D200F500D500B500FE00DE00DA00D6 +:108FC000DB00D900FD00DD00AF00B400AD00B10052 +:108FD0001720BE00B600A700F700B800B000A80038 +:108FE000B700B900B300B200A025A00010000240F5 +:108FF000080002400008024000000B002800024068 +:10900000080002400408024006010C004000024033 +:10901000080002400808024010020D0058000240FB +:10902000080002400C08024016030E0070000240C7 +:109030000C0002401008024000040F0088000240AB +:109040000C0002401408024006051000A000024077 +:109050000C0002401808024010061100B80002403F +:109060000C0002401C08024016072F0010040240AA +:10907000080402402008024000083800280402408A +:109080000804024024080240060939004004024056 +:109090000804024028080240100A3A00580402401E +:1090A000080402402C080240160B3B0070040240EA +:1090B0000C04024030080240000C3C0088040240CE +:1090C0000C04024034080240060D4400A004024093 +:1090D0000C04024038080240100E4500B80402405B +:1090E0000C0402403C080240160F4600010000003C +:1090F0000000000000000000316500083565000830 +:109100004D51000885540008E1500008095100083D +:1091100031510008C9500008000000007D550008CA +:1091200069550008A5550008915500089D5500088F +:10913000895500087555000861550008B1550008AB +:10914000000000000100000000000000633000008B +:109150004C91000850390020603B00200040806A9C +:1091600080000000AAAAAAAA00000064FFFF000075 +:109170000000000000A00A0001050000110000002E +:10918000AAAAAAAA00040000FFFF00000000000035 +:10919000000000000400AA0200000000AAAAAAAA77 +:1091A00004005500FFFF000000000000CCCC0C00C4 +:1091B0002000000000000000AAAAAAAA10000000D7 +:1091C000FFFF0000000C0000000000001000000085 +:1091D00000000000AAAAAAAA10000000FFFF0000D9 +:1091E000000000000000000000000000000000007F +:1091F000AAAAAAAA00000000FFFF000000000000C9 +:10920000000000000000000000000000AAAAAAAAB6 +:1092100000000000FFFF0000000000000000000050 +:109220000000000000000000AAAAAAAA0000000096 +:10923000FFFF000000000000000000000000000030 +:1092400000000000AAAAAAAA00000000FFFF000078 +:10925000000000000000000000000000000000000E +:10926000AAAAAAAA00000000FFFF00000000000058 +:10927000000000000000000000000000AAAAAAAA46 +:1092800000000000FFFF00000000000000000000E0 +:109290004172647550696C6F740025424F415244AD +:1092A000252D424C002553455249414C25000000D4 +:1092B00002000000000000009D5700080D58000843 +:1092C0004000400010540020205400200200000004 +:1092D00000000000030000000000000055580008D6 +:1092E00000000000100000003054002000000000CA +:1092F000010000000000000054570020010102009E +:109300002D6600083D650008D9650008BD650008A8 +:10931000430000001893000809024300020100C046 +:1093200032090400000102020100052400100105B9 +:10933000240100010424020205240600010705821D +:10934000030800FF09040100020A000000070501EC +:1093500002400000070581024000000012000000EA +:1093600064930008120110010200004009124157E5 +:1093700000020102030100000403090425424F41D9 +:1093800052442500565541562D54696E7956370082 +:10939000303132333435363738394142434445462B +:1093A0000000000000000020000002000200000099 +:1093B000000000300000040008000000000000244D +:1093C00000000800040000000004000000FC000091 +:1093D00002000000000004300080000008000000CF +:1093E0000000003800000100010000001F1C1F1ECB +:1093F0001F1E1F1F1E1F1E1F1F1D1F1E1F1E1F1F84 +:109400001E1F1E1F00000000B1590008695C000803 +:10941000155D0008400040008C5800208C5800204A +:10942000010000009C580020800000004001000066 +:10943000080000000001000000100000080000000B +:109440006D61696E0069646C650000001C70FF7FCF +:109450000100000000000000BD1B00000000000033 +:1094600000001E0000000000FF00000000000000DF +:10947000188B000883040000238B000850040000B0 +:10948000318B000801000000000000000096000081 +:109490000000080096000000000800000400000022 +:1094A00078930008000000000000000000000000A9 +:0C94B000000000000000000000000000B0 +:00000001FF From 377409f2c5da0763df3ce355f0db8fe38fd62ac0 Mon Sep 17 00:00:00 2001 From: viewpro-caijie Date: Tue, 14 Apr 2026 11:31:07 +0800 Subject: [PATCH 03/40] AP_HAL_ChibiOS:add VUAV-TinyV7 --- .../hwdef/VUAV-TinyV7/README.md | 209 ++++++++++++++++ .../VUAV-TinyV7/VUAV-TinyV7-Connectors.png | Bin 0 -> 98504 bytes .../hwdef/VUAV-TinyV7/VUAV-TinyV7-Pinouts.png | Bin 0 -> 145430 bytes .../hwdef/VUAV-TinyV7/defaults.parm | 3 + .../hwdef/VUAV-TinyV7/hwdef-bl.dat | 63 +++++ .../hwdef/VUAV-TinyV7/hwdef.dat | 228 ++++++++++++++++++ 6 files changed, 503 insertions(+) create mode 100644 libraries/AP_HAL_ChibiOS/hwdef/VUAV-TinyV7/README.md create mode 100644 libraries/AP_HAL_ChibiOS/hwdef/VUAV-TinyV7/VUAV-TinyV7-Connectors.png create mode 100644 libraries/AP_HAL_ChibiOS/hwdef/VUAV-TinyV7/VUAV-TinyV7-Pinouts.png create mode 100644 libraries/AP_HAL_ChibiOS/hwdef/VUAV-TinyV7/defaults.parm create mode 100644 libraries/AP_HAL_ChibiOS/hwdef/VUAV-TinyV7/hwdef-bl.dat create mode 100644 libraries/AP_HAL_ChibiOS/hwdef/VUAV-TinyV7/hwdef.dat diff --git a/libraries/AP_HAL_ChibiOS/hwdef/VUAV-TinyV7/README.md b/libraries/AP_HAL_ChibiOS/hwdef/VUAV-TinyV7/README.md new file mode 100644 index 0000000000000..4816d7be93213 --- /dev/null +++ b/libraries/AP_HAL_ChibiOS/hwdef/VUAV-TinyV7/README.md @@ -0,0 +1,209 @@ +# VUAV-V7Tiny Flight Controller + +The VUAV-V7Tiny flight controller is manufactured and sold by [V-UAV](http://www.v-uav.com/). + +## Features + +- STM32H743 microcontroller +- Two IMUs: ICM45686,BMI088 +- Internal IST8310 magnetometer +- Internal ICP-20100 barometer +- Internal RGB LED +- MicroSD card slot port +- 1 ESC connector power input and current sensor input +- 5 UARTs and 1 USB ports +- 12 PWM output ports +- 1 I2C and 1 CAN ports +- Safety switch port +- Buzzer port +- RC IN port + +## Pinout + +![VUAV-TinyV7-Connectors](VUAV-TinyV7-Connectors.png) + +![VUAV-TinyV7-Pinouts](VUAV-TinyV7-Pinouts.png) + +## UART Mapping + +- SERIAL0 -> USB +- SERIAL1 -> UART2 (MAVLink2, Telem1) (DMA enabled) +- SERIAL2 -> UART5 (MAVLink2, Telem2) (DMA enabled) +- SERIAL3 -> UART1 (GPS1) (DMA enabled) +- SERIAL4 -> UART3 (GPS2) (DMA enabled) +- SERIAL5 -> UART7 (User defined, marked Telem3) (DMA enabled) +- SERIAL6 -> USB2 (virtual port on same connector) + +The Telem1 port has RTS/CTS pins, the other UARTs do not have RTS/CTS. + +## Connectors + +### TELEM1 port + +| Pin | Signal | Volt | +| :--: | :-------: | :---: | +| 1 | VCC | +5V | +| 2 | TX2 (OUT) | +3.3V | +| 3 | RX2 (IN) | +3.3V | +| 4 | CTS | +3.3V | +| 5 | RTS | +3.3V | +| 6 | GND | GND | + +### TELEM2/ADC port + +| Pin | Signal | Volt | +| :--: | :-------: | :---------: | +| 1 | VCC | +5V | +| 2 | TX5 (OUT) | +3.3V | +| 3 | RX5 (IN) | +3.3V | +| 4 | ADC_3V3 | up to +3.3V | +| 5 | ADC_6V6 | up to +3.3V | +| 6 | GND | GND | + +### TELEM3/ADC port + +NOTE: RX7 is pinned out here and on the ESC connector + +| Pin | Signal | Volt | +| :--: | :-------: | :---: | +| 1 | VCC | +5V | +| 2 | TX7 (OUT) | +3.3V | +| 3 | RX7 (IN) | +3.3V | +| 4 | GND | GND | + +### GPS1/I2C2 port + +| Pin | Signal | Volt | +| :--: | :----------: | :-------------: | +| 1 | VCC | +5V | +| 2 | TX1 (OUT) | +3.3V | +| 3 | RX1 (IN) | +3.3V | +| 4 | SCL I2C2 | +3.3V (pullups) | +| 5 | SDA I2C2 | +3.3V (pullups) | +| 6 | SafetyButton | +3.3V | +| 7 | SafetyLED | +3.3V | +| 8 | - | - | +| 9 | Buzzer | +3.3V | +| 10 | GND | GND | + +### GPS2/I2C2 port + +| Pin | Signal | Volt | +| :--: | :-------: | :-------------: | +| 1 | VCC | +5V | +| 2 | TX3 (OUT) | +3.3V | +| 3 | RX3 (IN) | +3.3V | +| 4 | SCL I2C2 | +3.3V (pullups) | +| 5 | SDA I2C2 | +3.3V (pullups) | +| 6 | GND | GND | + +### CAN1 port + +| Pin | Signal | Volt | +| :--: | :----: | :--: | +| 1 | VCC | +5V | +| 2 | CAN_H | +24V | +| 3 | CAN_L | +24V | +| 4 | GND | GND | + +### I2C port + +| Pin | Signal | Volt | +| :--: | :------: | :------------: | +| 1 | VCC | +5V | +| 2 | SCL I2C4 | +3.3 (pullups) | +| 3 | SDA I2C4 | +3.3 (pullups) | +| 4 | GND | GND | + +### POWER + +| Pin | Signal | Volt | +| :--: | :-----: | :---------: | +| 1 | VCC IN | +5V | +| 2 | VCC IN | +3.3V | +| 3 | CURRENT | up to +3.3V | +| 4 | VOLTAGE | up to +3.3V | +| 5 | GND | GND | +| 6 | GND | GND | + +### ESC + +| Pin | Signal | Volt | +| :--: | :--------: | :---------: | +| 1 | BAT VCC IN | +6V to 26V | +| 2 | CURRENT | up to +3.3V | +| 3 | UART7_RX | +3.3V | +| 4 | PWM9 | +3.3V | +| 5 | PWM10 | +3.3V | +| 6 | PWM11 | +3.3V | +| 7 | PWM12 | +3.3V | +| 8 | GND | GND | + +## RC Input + +The RC input is configured on the RCIN pin at one end of the servo rail. This pin supports all unidirectional RC protocols. For bidirectional protocols, such as CRSF/ELRS, any SERIAL port can be set to protocol "23" and the receiver can be connected to its RX and TX pins as described in [RC control systems](https://ardupilot.org/rover/docs/common-rc-systems.html). + +## PWM Output + +The VUAV-V7Tiny supports up to 12 PWM outputs and all PWM protocols. Outputs 1-8 support bidirectional Dshot protocol. All 8 PWM outputs use a three-row design: the top row is GND, the middle rows are connected together, and the bottom row is the signal line. Outputs 9-12 do not support Dshot and are located at the ESC interface. + +The 12 PWM outputs are in 4 groups: + +- PWM 1, 2, 3 and 4 in group1 +- PWM 5, 6, 7 and 8 in group2 +- PWM 9, 10 in group3 +- PWM 11, 12 in group4 + +Channels within the same group need to use the same output rate. If any channel in a group uses DShot, then all channels in that group need to use DShot. + +## GPIOs + +All 12 PWM channels can be used for GPIO functions (relays, buttons, RPM etc). + +The pin numbers for these PWM channels in ArduPilot are shown below: + +| PWM Channels | Pin | PWM Channels | Pin | +| :----------: | :--: | :----------: | :--: | +| PWM1 | 50 | PWM7 | 56 | +| PWM2 | 51 | PWM8 | 57 | +| PWM3 | 52 | PWM9 | 58 | +| PWM4 | 53 | PWM10 | 59 | +| PWM5 | 54 | PWM11 | 60 | +| PWM6 | 55 | PWM12 | 61 | + +## Analog inputs + +The VUAV-V7Tiny flight controller has 6 Analog inputs + +- ADC Pin18-> Battery Current +- ADC Pin4 -> Battery Voltage +- ADC Pin19 -> ADC 3V3 Sense +- ADC Pin5 -> ADC 6V6 Sense +- ADC Pin10 -> Battery Voltage input on ESC connector +- ADC Pin8 -> Servo Voltage + +## Battery Monitor Configuration + +The board has voltage and current inputs sensor on the POWER and ESC connector. + +The correct battery setting parameters are: + +Enable POWER monitor: + +- BATT_MONITOR 4 +- BATT_VOLT_PIN 4 +- BATT_CUR_PIN 8 +- BATT_VOLT_MULT 20 +- BATT_AMP_PERVLT 24 + +Enable ESC battery monitor (if used) : + +- BATT2_MONITOR 3 +- BATT2_VOLT_PIN 10 +- BATT2_VOLT_MULT 10.09 + +## Loading Firmware + +The firmware can be found at [ArduPilot Firmware Server](https://firmware.ardupilot.org). Click on the corresponding type, such as Plane or Copter, then select the version folder, and finally select the folder labeled "VUAV-TinyV7". + +The board comes pre-installed with an ArduPilot compatible bootloader, allowing the loading of \*.apj firmware files with any ArduPilot compatible ground station. diff --git a/libraries/AP_HAL_ChibiOS/hwdef/VUAV-TinyV7/VUAV-TinyV7-Connectors.png b/libraries/AP_HAL_ChibiOS/hwdef/VUAV-TinyV7/VUAV-TinyV7-Connectors.png new file mode 100644 index 0000000000000000000000000000000000000000..5c49eb12d60bf2796613850ef3d7d889fc33e384 GIT binary patch literal 98504 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 literal 0 HcmV?d00001 diff --git a/libraries/AP_HAL_ChibiOS/hwdef/VUAV-TinyV7/VUAV-TinyV7-Pinouts.png b/libraries/AP_HAL_ChibiOS/hwdef/VUAV-TinyV7/VUAV-TinyV7-Pinouts.png new file mode 100644 index 0000000000000000000000000000000000000000..98a4781181b7bc90372583a4b1e961c71dfb2790 GIT binary patch literal 145430 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 Z`xbqMn4DXzeH-_pt(Bu?)zN^Ye* Date: Wed, 25 Mar 2026 21:58:15 +0800 Subject: [PATCH 04/40] AP_InertialSensor: add LSM6DSV driver Add driver for the ST LSM6DSV16X 6-axis IMU with support for: - WHOAMI-based chip detection (Invensensev3-style check_whoami) - HAODR mode-1 for high-accuracy ODR (1000-8000 Hz) - continuous FIFO burst reads - fast sampling via INS_FAST_SAMPLE / INS_GYRO_RATE - accelerometer second-stage LPF2 --- Tools/scripts/decode_devid.py | 1 + .../AP_InertialSensor/AP_InertialSensor.cpp | 1 + .../AP_InertialSensor_Backend.h | 1 + .../AP_InertialSensor_LSM6DSV.cpp | 866 ++++++++++++++++++ .../AP_InertialSensor_LSM6DSV.h | 140 +++ 5 files changed, 1009 insertions(+) create mode 100644 libraries/AP_InertialSensor/AP_InertialSensor_LSM6DSV.cpp create mode 100644 libraries/AP_InertialSensor/AP_InertialSensor_LSM6DSV.h diff --git a/Tools/scripts/decode_devid.py b/Tools/scripts/decode_devid.py index 3a432403e4be5..64bf56c7d8c72 100755 --- a/Tools/scripts/decode_devid.py +++ b/Tools/scripts/decode_devid.py @@ -110,6 +110,7 @@ def num(s): 0x3B : "DEVTYPE_INS_ICM45686", 0x3C : "DEVTYPE_INS_SCHA63T", 0x3D : "DEVTYPE_INS_IIM42653", + 0x3E : "DEVTYPE_INS_LSM6DSV", } baro_types = { diff --git a/libraries/AP_InertialSensor/AP_InertialSensor.cpp b/libraries/AP_InertialSensor/AP_InertialSensor.cpp index 6c962e3b145c1..b2bcc08c98a76 100644 --- a/libraries/AP_InertialSensor/AP_InertialSensor.cpp +++ b/libraries/AP_InertialSensor/AP_InertialSensor.cpp @@ -26,6 +26,7 @@ #include "AP_InertialSensor_BMI270.h" #include "AP_InertialSensor_Backend.h" #include "AP_InertialSensor_L3G4200D.h" +#include "AP_InertialSensor_LSM6DSV.h" #include "AP_InertialSensor_LSM9DS0.h" #include "AP_InertialSensor_LSM9DS1.h" #include "AP_InertialSensor_Invensense.h" diff --git a/libraries/AP_InertialSensor/AP_InertialSensor_Backend.h b/libraries/AP_InertialSensor/AP_InertialSensor_Backend.h index 75267f6afa64d..27ba7876df117 100644 --- a/libraries/AP_InertialSensor/AP_InertialSensor_Backend.h +++ b/libraries/AP_InertialSensor/AP_InertialSensor_Backend.h @@ -152,6 +152,7 @@ class AP_InertialSensor_Backend DEVTYPE_INS_ICM45686 = 0x3B, DEVTYPE_INS_SCHA63T = 0x3C, DEVTYPE_INS_IIM42653 = 0x3D, + DEVTYPE_INS_LSM6DSV = 0x3E, }; protected: diff --git a/libraries/AP_InertialSensor/AP_InertialSensor_LSM6DSV.cpp b/libraries/AP_InertialSensor/AP_InertialSensor_LSM6DSV.cpp new file mode 100644 index 0000000000000..c589735512dfe --- /dev/null +++ b/libraries/AP_InertialSensor/AP_InertialSensor_LSM6DSV.cpp @@ -0,0 +1,866 @@ +/* + * This file is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This file is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see . + */ +/* + driver for ST LSM6DSV16X IMU + + Uses HAODR mode-1 for high-accuracy ODR (1000-8000 Hz) and + continuous FIFO for burst reads. Digital filters auto-adapt to ODR + so no per-rate AAF register reconfiguration is needed. + + fast sampling is controlled via INS_FAST_SAMPLE / INS_GYRO_RATE + with base rate 1000 Hz. + */ + +#include "AP_InertialSensor_LSM6DSV.h" + +#include +#include + +#include +#include +#include + +extern const AP_HAL::HAL& hal; + +namespace { + +#ifndef LSM6DSV_EXPERIMENTAL_PRIMARY_FIFO +#define LSM6DSV_EXPERIMENTAL_PRIMARY_FIFO 1 +#endif + +// Enable the second-stage digital low-pass filter (LPF2) on the +// accelerometer output. Bandwidth is set by LSM6DSV_ACCEL_LPF2_BW. +#ifndef LSM6DSV_ACCEL_LPF2_ENABLED +#define LSM6DSV_ACCEL_LPF2_ENABLED 1 +#endif + +// LPF2 bandwidth selection written to CTRL8 HP_LPF2_XL_BW bits [7:5]. +// When CTRL9.LPF2_XL_EN = 1 these select the second-stage cutoff: +// 0x00 = ODR/4 0x20 = ODR/10 0x40 = ODR/20 0x60 = ODR/45 +// 0x80 = ODR/100 0xA0 = ODR/200 0xC0 = ODR/400 0xE0 = ODR/800 +#ifndef LSM6DSV_ACCEL_LPF2_BW +#define LSM6DSV_ACCEL_LPF2_BW 0x20 // ODR/10 → 200 Hz @ 2 kHz ODR +#endif + +// ---- FIFO control registers (R/W) ---- +constexpr uint8_t LSM6DSV_REG_FIFO_CTRL1 = 0x07; // FIFO watermark threshold [7:0] +constexpr uint8_t LSM6DSV_REG_FIFO_CTRL2 = 0x08; // FIFO watermark threshold [8], compression +constexpr uint8_t LSM6DSV_REG_FIFO_CTRL3 = 0x09; // FIFO gyro/accel batch data rate +constexpr uint8_t LSM6DSV_REG_FIFO_CTRL4 = 0x0A; // FIFO mode selection + +constexpr uint8_t LSM6DSV_FIFO_CTRL3_BDR_DISABLED = 0x00; +constexpr uint8_t LSM6DSV_FIFO_CTRL4_MODE_BYPASS = 0x00; +constexpr uint8_t LSM6DSV_FIFO_CTRL4_MODE_CONTINUOUS = 0x06; + +// ---- WHO_AM_I register (R) ---- +constexpr uint8_t LSM6DSV_REG_WHO_AM_I = 0x0F; +constexpr uint8_t LSM6DSV_ID_LSM6DSV16X = 0x70; + +// ---- Accelerometer control register 1 (R/W) ---- +// [6:4] OP_MODE_XL: operating mode [3:0] ODR_XL: output data rate +constexpr uint8_t LSM6DSV_REG_CTRL1 = 0x10; + +// ---- Gyroscope control register 2 (R/W) ---- +// [6:4] OP_MODE_G: operating mode [3:0] ODR_G: output data rate +constexpr uint8_t LSM6DSV_REG_CTRL2 = 0x11; + +// ---- Control register 3 (R/W) ---- +constexpr uint8_t LSM6DSV_REG_CTRL3 = 0x12; +constexpr uint8_t LSM6DSV_CTRL3_BDU = 1U << 6; // block data update +constexpr uint8_t LSM6DSV_CTRL3_IF_INC = 1U << 2; // auto-increment address +constexpr uint8_t LSM6DSV_CTRL3_SW_RESET = 1U << 0; // software reset + +// [4] OP_MODE: 0=high-performance, 1=high-accuracy ODR +constexpr uint8_t LSM6DSV_CTRL_MODE_HAODR = 0x10; + +// ---- Control register 6 — gyro full-scale selection (R/W) ---- +// [3:0] FS_G: gyroscope full-scale +constexpr uint8_t LSM6DSV_REG_CTRL6 = 0x15; +constexpr uint8_t LSM6DSV_CTRL6_FS_G_125DPS = 0x00; +constexpr uint8_t LSM6DSV_CTRL6_FS_G_250DPS = 0x01; +constexpr uint8_t LSM6DSV_CTRL6_FS_G_500DPS = 0x02; +constexpr uint8_t LSM6DSV_CTRL6_FS_G_1000DPS = 0x03; +constexpr uint8_t LSM6DSV_CTRL6_FS_G_2000DPS = 0x04; +constexpr uint8_t LSM6DSV_CTRL6_FS_G_4000DPS = 0xC0; + +// ---- Control register 8 — accel full-scale & LPF2 BW (R/W) ---- +// [7:5] HP_LPF2_XL_BW [1:0] FS_XL: accelerometer full-scale +constexpr uint8_t LSM6DSV_REG_CTRL8 = 0x17; +constexpr uint8_t LSM6DSV_CTRL8_FS_XL_2G = 0x00; +constexpr uint8_t LSM6DSV_CTRL8_FS_XL_4G = 0x01; +constexpr uint8_t LSM6DSV_CTRL8_FS_XL_8G = 0x02; +constexpr uint8_t LSM6DSV_CTRL8_FS_XL_16G = 0x03; + +// ---- Control register 9 — accel LPF2 enable (R/W) ---- +constexpr uint8_t LSM6DSV_REG_CTRL9 = 0x18; +constexpr uint8_t LSM6DSV_CTRL9_LPF2_XL_EN = 1U << 3; + +// ---- FIFO status registers (R) ---- +constexpr uint8_t LSM6DSV_REG_FIFO_STATUS1 = 0x1B; // DIFF_FIFO [7:0] +constexpr uint8_t LSM6DSV_REG_FIFO_STATUS2 = 0x1C; // flags + DIFF_FIFO [8] +constexpr uint8_t LSM6DSV_FIFO_STATUS2_DIFF_FIFO_8 = 1U << 0; + +// ---- Status register (R) ---- +constexpr uint8_t LSM6DSV_REG_STATUS = 0x1E; +constexpr uint8_t LSM6DSV_STATUS_XLDA = 1U << 0; // accel data available +constexpr uint8_t LSM6DSV_STATUS_GDA = 1U << 1; // gyro data available +constexpr uint8_t LSM6DSV_STATUS_TDA = 1U << 2; // temperature data available + +// ---- Data output registers (R) ---- +constexpr uint8_t LSM6DSV_REG_OUT_TEMP_L = 0x20; // temperature output (16-bit) +constexpr uint8_t LSM6DSV_REG_OUTX_L_G = 0x22; // gyro XYZ output (6 bytes) +constexpr uint8_t LSM6DSV_REG_OUTX_L_A = 0x28; // accel XYZ output (6 bytes) + +// ---- HAODR configuration register (R/W) ---- +// [1:0] HAODR_SEL: high-accuracy ODR mode selection +constexpr uint8_t LSM6DSV_REG_HAODR_CFG = 0x62; +constexpr uint8_t LSM6DSV_HAODR_CFG_MODE1 = 0x01; + +// HAODR mode-1 ODR codes (written to CTRL1/CTRL2 ODR_XL/ODR_G [3:0]) +constexpr uint8_t LSM6DSV_MODE1_ODR_125HZ = 0x06; +constexpr uint8_t LSM6DSV_MODE1_ODR_250HZ = 0x07; +constexpr uint8_t LSM6DSV_MODE1_ODR_500HZ = 0x08; +constexpr uint8_t LSM6DSV_MODE1_ODR_1000HZ = 0x09; +constexpr uint8_t LSM6DSV_MODE1_ODR_2000HZ = 0x0A; +constexpr uint8_t LSM6DSV_MODE1_ODR_4000HZ = 0x0B; +constexpr uint8_t LSM6DSV_MODE1_ODR_8000HZ = 0x0C; + +// ---- FIFO data output registers (R) ---- +constexpr uint8_t LSM6DSV_REG_FIFO_DATA_OUT_TAG = 0x78; // FIFO tag byte +constexpr uint8_t LSM6DSV_REG_FIFO_DATA_OUT_X_L = 0x79; // FIFO data start + +// ---- SPI protocol ---- +constexpr uint8_t LSM6DSV_SPI_READ_FLAG = 0x80; + +// ---- Driver timing constants ---- +constexpr uint16_t LSM6DSV_DEFAULT_BACKEND_RATE_HZ = 1000; +constexpr uint8_t LSM6DSV_INIT_MAX_TRIES = 5; +constexpr uint8_t LSM6DSV_RESET_TIMEOUT_MS = 100; +constexpr uint8_t LSM6DSV_DATA_READY_TIMEOUT_MS = 20; +constexpr uint8_t LSM6DSV_POWERUP_DELAY_MS = 5; +constexpr uint8_t LSM6DSV_TEMPERATURE_UPDATE_INTERVAL = 100; + +// ---- FIFO sizing ---- +constexpr uint16_t LSM6DSV_PRIMARY_FIFO_WATERMARK_WORDS = 2; +constexpr uint16_t LSM6DSV_FIFO_MAX_DRAIN_WORDS = 32; +constexpr uint16_t LSM6DSV_FIFO_BURST_WORDS = 16; + +// ---- Temperature conversion ---- +constexpr float LSM6DSV_TEMPERATURE_ZERO_C = 25.0f; +constexpr float LSM6DSV_TEMPERATURE_SENSITIVITY = 256.0f; // LSB/°C + +// ---- Accelerometer sensitivity (mg/LSB → m/s²) ---- +constexpr float LSM6DSV_ACCEL_SCALE_2G = GRAVITY_MSS * 2.0f / 32768.0f; +constexpr float LSM6DSV_ACCEL_SCALE_4G = GRAVITY_MSS * 4.0f / 32768.0f; +constexpr float LSM6DSV_ACCEL_SCALE_8G = GRAVITY_MSS * 8.0f / 32768.0f; +constexpr float LSM6DSV_ACCEL_SCALE_16G = GRAVITY_MSS * 16.0f / 32768.0f; + +// ---- Gyroscope sensitivity per ST datasheet (mdps/LSB → rad/s) ---- +constexpr float LSM6DSV_GYRO_SCALE_125DPS = radians(4.375f / 1000.0f); +constexpr float LSM6DSV_GYRO_SCALE_250DPS = radians(8.75f / 1000.0f); +constexpr float LSM6DSV_GYRO_SCALE_500DPS = radians(17.50f / 1000.0f); +constexpr float LSM6DSV_GYRO_SCALE_1000DPS = radians(35.0f / 1000.0f); +constexpr float LSM6DSV_GYRO_SCALE_2000DPS = radians(70.0f / 1000.0f); +constexpr float LSM6DSV_GYRO_SCALE_4000DPS = radians(140.0f / 1000.0f); + +struct PACKED RawSample { + le16_t gyro[3]; + le16_t accel[3]; +}; + +struct PACKED RawSampleWithTemp { + le16_t temp; + le16_t gyro[3]; + le16_t accel[3]; +}; + +struct PACKED RawFifoWord { + uint8_t tag; + le16_t axis[3]; +}; + +static_assert(sizeof(RawSample) == 12, "RawSample must be 12 bytes"); +static_assert(sizeof(RawSampleWithTemp) == 14, "RawSampleWithTemp must be 14 bytes"); +static_assert(sizeof(RawFifoWord) == 7, "RawFifoWord must be 7 bytes"); +constexpr uint16_t LSM6DSV_FIFO_BURST_BUFFER_SIZE = LSM6DSV_FIFO_BURST_WORDS * sizeof(RawFifoWord) + 1; + +} + +AP_InertialSensor_LSM6DSV::AP_InertialSensor_LSM6DSV(AP_InertialSensor &imu, + AP_HAL::OwnPtr dev, + enum Rotation rotation) + : AP_InertialSensor_Backend(imu) + , _dev(std::move(dev)) + , _rotation(rotation) + , _accel_scale(LSM6DSV_ACCEL_SCALE_16G) + , _gyro_scale(LSM6DSV_GYRO_SCALE_2000DPS) + , _accel_range_g(16.0f) + , _whoami(0) + , _temperature_counter(0) + , _fifo_buffer(nullptr) +{ +} + +AP_InertialSensor_Backend *AP_InertialSensor_LSM6DSV::probe(AP_InertialSensor &imu, + AP_HAL::OwnPtr dev, + enum Rotation rotation) +{ + if (!dev) { + return nullptr; + } + + auto *sensor = NEW_NOTHROW AP_InertialSensor_LSM6DSV(imu, std::move(dev), rotation); + if (sensor == nullptr) { + return nullptr; + } + + if (!sensor->init()) { + delete sensor; + return nullptr; + } + + return sensor; +} + +void AP_InertialSensor_LSM6DSV::start() +{ + // pre-fetch instance numbers for checking fast sampling settings + if (!_imu.get_gyro_instance(gyro_instance) || !_imu.get_accel_instance(accel_instance)) { + return; + } + + // determine fast sampling rate (SPI only) + _backend_rate_hz = LSM6DSV_DEFAULT_BACKEND_RATE_HZ; + if (enable_fast_sampling(accel_instance) && get_fast_sampling_rate() > 1) { + _fast_sampling = (_dev->bus_type() == AP_HAL::Device::BUS_TYPE_SPI); + } + if (_fast_sampling) { + _backend_rate_hz = calculate_backend_rate(LSM6DSV_DEFAULT_BACKEND_RATE_HZ); + } + _backend_period_us = 1000000UL / _backend_rate_hz; + + if (!_imu.register_accel(accel_instance, _backend_rate_hz, _dev->get_bus_id_devtype(DEVTYPE_INS_LSM6DSV)) || + !_imu.register_gyro(gyro_instance, _backend_rate_hz, _dev->get_bus_id_devtype(DEVTYPE_INS_LSM6DSV))) { + return; + } + + { + WITH_SEMAPHORE(_dev->get_semaphore()); + if (!write_register(LSM6DSV_REG_FIFO_CTRL1, 0x00, true) || + !write_register(LSM6DSV_REG_FIFO_CTRL2, 0x00, true) || + !write_register(LSM6DSV_REG_FIFO_CTRL3, LSM6DSV_FIFO_CTRL3_BDR_DISABLED, true) || + !write_register(LSM6DSV_REG_FIFO_CTRL4, LSM6DSV_FIFO_CTRL4_MODE_BYPASS, true)) { + return; + } + if (!configure_primary_fifo()) { + return; + } + } + + // re-configure ODR registers for the target sampling rate + WITH_SEMAPHORE(_dev->get_semaphore()); + const uint8_t odr = odr_code_for_rate(_backend_rate_hz); + write_register(LSM6DSV_REG_CTRL1, LSM6DSV_CTRL_MODE_HAODR | odr, true); + write_register(LSM6DSV_REG_CTRL2, LSM6DSV_CTRL_MODE_HAODR | odr, true); + if (active_sample_source() == SampleSourceMode::FIFO) { + configure_primary_fifo(); + } + + set_gyro_orientation(gyro_instance, _rotation); + set_accel_orientation(accel_instance, _rotation); + + if (active_sample_source() == SampleSourceMode::FIFO) { + _fifo_buffer = static_cast(hal.util->malloc_type(LSM6DSV_FIFO_BURST_BUFFER_SIZE, + AP_HAL::Util::MEM_DMA_SAFE)); + if (_fifo_buffer == nullptr) { + return; + } + } + + periodic_handle = _dev->register_periodic_callback(_backend_period_us, + FUNCTOR_BIND_MEMBER(&AP_InertialSensor_LSM6DSV::poll_data, void)); +} + +bool AP_InertialSensor_LSM6DSV::update() +{ + update_accel(accel_instance); + update_gyro(gyro_instance); + return true; +} + +bool AP_InertialSensor_LSM6DSV::get_output_banner(char* banner, uint8_t banner_len) +{ + snprintf(banner, banner_len, "IMU%u: LSM6DSV16X%s sampling %.1fkHz", + gyro_instance, + _fast_sampling ? " fast" : " normal", + _backend_rate_hz * 0.001f); + return true; +} + +bool AP_InertialSensor_LSM6DSV::init() +{ + _dev->set_read_flag(LSM6DSV_SPI_READ_FLAG); + return hardware_init(); +} + +bool AP_InertialSensor_LSM6DSV::hardware_init() +{ + hal.scheduler->delay(LSM6DSV_POWERUP_DELAY_MS); + + WITH_SEMAPHORE(_dev->get_semaphore()); + _dev->set_speed(AP_HAL::Device::SPEED_LOW); + if (!_dev->setup_checked_registers(14, 20)) { + return false; + } + + for (uint8_t attempt = 0; attempt < LSM6DSV_INIT_MAX_TRIES; attempt++) { + if (!check_whoami()) { + continue; + } + + switch (_lsm6dsv_type) { + case LSM6DSV_Type::LSM6DSV16X: + _gyro_scale = LSM6DSV_GYRO_SCALE_2000DPS; + _accel_scale = LSM6DSV_ACCEL_SCALE_16G; + break; + } + + if (!reset_device()) { + continue; + } + + if (!configure_gyro()) { + continue; + } + + if (!configure_accel()) { + continue; + } + + if (!write_register(LSM6DSV_REG_HAODR_CFG, LSM6DSV_HAODR_CFG_MODE1, true)) { + continue; + } + + if (!write_register(LSM6DSV_REG_CTRL1, LSM6DSV_CTRL_MODE_HAODR | LSM6DSV_MODE1_ODR_1000HZ, true)) { + continue; + } + + if (!write_register(LSM6DSV_REG_CTRL2, LSM6DSV_CTRL_MODE_HAODR | LSM6DSV_MODE1_ODR_1000HZ, true)) { + continue; + } + + if (!write_register(LSM6DSV_REG_CTRL3, LSM6DSV_CTRL3_BDU | LSM6DSV_CTRL3_IF_INC, true)) { + continue; + } + + if (!write_register(LSM6DSV_REG_FIFO_CTRL4, 0x00, true)) { + continue; + } + + if (!wait_for_data_ready()) { + continue; + } + + _dev->set_speed(AP_HAL::Device::SPEED_HIGH); + return true; + } + + _dev->set_speed(AP_HAL::Device::SPEED_HIGH); + return false; +} + +bool AP_InertialSensor_LSM6DSV::check_whoami() +{ + if (!read_registers(LSM6DSV_REG_WHO_AM_I, &_whoami, 1)) { + return false; + } + + switch (_whoami) { + case LSM6DSV_ID_LSM6DSV16X: + _lsm6dsv_type = LSM6DSV_Type::LSM6DSV16X; + return true; + } + + return false; +} + +bool AP_InertialSensor_LSM6DSV::reset_device() +{ + if (!write_register(LSM6DSV_REG_CTRL3, LSM6DSV_CTRL3_SW_RESET)) { + return false; + } + + for (uint8_t i = 0; i < LSM6DSV_RESET_TIMEOUT_MS; i++) { + uint8_t ctrl3 = 0; + hal.scheduler->delay(1); + if (!read_registers(LSM6DSV_REG_CTRL3, &ctrl3, 1)) { + continue; + } + if ((ctrl3 & LSM6DSV_CTRL3_SW_RESET) == 0) { + return true; + } + } + + return false; +} + +bool AP_InertialSensor_LSM6DSV::configure_gyro() +{ + return write_register(LSM6DSV_REG_CTRL6, LSM6DSV_CTRL6_FS_G_2000DPS, true); +} + +bool AP_InertialSensor_LSM6DSV::configure_accel() +{ +#if LSM6DSV_ACCEL_LPF2_ENABLED + const uint8_t ctrl8 = LSM6DSV_CTRL8_FS_XL_16G | LSM6DSV_ACCEL_LPF2_BW; + return write_register(LSM6DSV_REG_CTRL8, ctrl8, true) && + write_register(LSM6DSV_REG_CTRL9, LSM6DSV_CTRL9_LPF2_XL_EN, true); +#else + return write_register(LSM6DSV_REG_CTRL8, LSM6DSV_CTRL8_FS_XL_16G, true); +#endif +} + +bool AP_InertialSensor_LSM6DSV::configure_primary_fifo() +{ +#if !LSM6DSV_EXPERIMENTAL_PRIMARY_FIFO + return true; +#else + const uint8_t odr = odr_code_for_rate(_backend_rate_hz); + const uint8_t fifo_ctrl3 = uint8_t((odr << 4) | odr); + + return write_register(LSM6DSV_REG_FIFO_CTRL1, + uint8_t(LSM6DSV_PRIMARY_FIFO_WATERMARK_WORDS & 0xFFU), + true) && + write_register(LSM6DSV_REG_FIFO_CTRL2, 0x00, true) && + write_register(LSM6DSV_REG_FIFO_CTRL3, fifo_ctrl3, true) && + write_register(LSM6DSV_REG_FIFO_CTRL4, LSM6DSV_FIFO_CTRL4_MODE_CONTINUOUS, true); +#endif +} + +uint8_t AP_InertialSensor_LSM6DSV::odr_code_for_rate(uint16_t rate_hz) const +{ + switch (rate_hz) { + case 8000: return LSM6DSV_MODE1_ODR_8000HZ; + case 4000: return LSM6DSV_MODE1_ODR_4000HZ; + case 2000: return LSM6DSV_MODE1_ODR_2000HZ; + case 1000: + default: return LSM6DSV_MODE1_ODR_1000HZ; + } +} + +// calculate the backend sample rate accounting for fast sampling +// multiplier and loop rate constraints +uint16_t AP_InertialSensor_LSM6DSV::calculate_backend_rate(uint16_t base_rate_hz) const +{ + // constrain the gyro rate to be at least the loop rate + uint8_t min_mult = 1; + if (get_loop_rate_hz() > base_rate_hz) { + min_mult = 2; + } + if (get_loop_rate_hz() > base_rate_hz * 2) { + min_mult = 4; + } + const uint8_t mult = constrain_int16(get_fast_sampling_rate(), min_mult, 8); + return constrain_int16(base_rate_hz * mult, base_rate_hz, 8000); +} + + +AP_InertialSensor_LSM6DSV::SampleSourceMode AP_InertialSensor_LSM6DSV::active_sample_source() const +{ +#if LSM6DSV_EXPERIMENTAL_PRIMARY_FIFO + return SampleSourceMode::FIFO; +#else + return SampleSourceMode::Polling; +#endif +} + +bool AP_InertialSensor_LSM6DSV::fifo_tag_supported_for_primary(const FifoTag tag) +{ + return tag == FifoTag::GyroNC || tag == FifoTag::AccelNC; +} + +AP_InertialSensor_LSM6DSV::FifoTag AP_InertialSensor_LSM6DSV::decode_fifo_tag(const uint8_t raw_tag) +{ + switch ((raw_tag >> 3) & 0x1FU) { + case 0x00: + return FifoTag::Empty; + case 0x01: + return FifoTag::GyroNC; + case 0x02: + return FifoTag::AccelNC; + case 0x03: + return FifoTag::Temperature; + case 0x04: + return FifoTag::Timestamp; + case 0x05: + return FifoTag::CfgChange; + case 0x06: + return FifoTag::AccelNC_T2; + case 0x07: + return FifoTag::AccelNC_T1; + case 0x08: + return FifoTag::Accel2xC; + case 0x09: + return FifoTag::Accel3xC; + case 0x0A: + return FifoTag::GyroNC_T2; + case 0x0B: + return FifoTag::GyroNC_T1; + case 0x0C: + return FifoTag::Gyro2xC; + case 0x0D: + return FifoTag::Gyro3xC; + case 0x1D: + return FifoTag::RouteExt; + default: + return FifoTag::Unsupported; + } +} + +uint8_t AP_InertialSensor_LSM6DSV::decode_fifo_tag_count(const uint8_t raw_tag) +{ + return (raw_tag >> 1) & 0x03U; +} + +bool AP_InertialSensor_LSM6DSV::wait_for_data_ready() +{ + for (uint8_t i = 0; i < LSM6DSV_DATA_READY_TIMEOUT_MS; i++) { + uint8_t status = 0; + hal.scheduler->delay(1); + if (!read_registers(LSM6DSV_REG_STATUS, &status, 1)) { + continue; + } + if ((status & LSM6DSV_STATUS_GDA) != 0 && + (status & LSM6DSV_STATUS_XLDA) != 0) { + return true; + } + } + + return false; +} + +bool AP_InertialSensor_LSM6DSV::read_registers(uint8_t reg, uint8_t *data, uint8_t len) +{ + return _dev->read_registers(reg, data, len); +} + +bool AP_InertialSensor_LSM6DSV::write_register(uint8_t reg, uint8_t value, bool checked) +{ + return _dev->write_register(reg, value, checked); +} + +bool AP_InertialSensor_LSM6DSV::fetch_primary_sample(SampleFrame &sample) +{ + // Primary mode is the planned first FIFO landing zone, so keep the current + // burst-read path isolated from the other route-specific fetch logic. + RawSampleWithTemp raw{}; + if (!read_registers(LSM6DSV_REG_OUT_TEMP_L, reinterpret_cast(&raw), sizeof(raw))) { + return false; + } + + sample.raw_temp = int16_t(le16toh(raw.temp)); + sample.has_raw_temp = true; + + sample.gyro = Vector3f{ + float(int16_t(le16toh(raw.gyro[0]))) * _gyro_scale, + float(int16_t(le16toh(raw.gyro[1]))) * _gyro_scale, + float(int16_t(le16toh(raw.gyro[2]))) * _gyro_scale, + }; + + sample.accel = Vector3f{ + float(int16_t(le16toh(raw.accel[0]))) * _accel_scale, + float(int16_t(le16toh(raw.accel[1]))) * _accel_scale, + float(int16_t(le16toh(raw.accel[2]))) * _accel_scale, + }; + + return true; +} + +bool AP_InertialSensor_LSM6DSV::read_sample(SampleFrame &sample) +{ + return fetch_primary_sample(sample); +} + +bool AP_InertialSensor_LSM6DSV::read_status_registers(uint8_t &gyro_status, uint8_t &accel_status, uint32_t now_us) +{ + gyro_status = 0; + accel_status = 0; + + if (!read_registers(LSM6DSV_REG_STATUS, &gyro_status, 1)) { + _inc_accel_error_count(accel_instance); + _inc_gyro_error_count(gyro_instance); + return false; + } + + accel_status = gyro_status; + return true; +} + +bool AP_InertialSensor_LSM6DSV::sample_ready_for_route(uint8_t gyro_status, uint8_t accel_status, uint32_t now_us) +{ + const bool gyro_ready = (gyro_status & LSM6DSV_STATUS_GDA) != 0; + const bool accel_ready = (accel_status & LSM6DSV_STATUS_XLDA) != 0; + return gyro_ready && accel_ready; +} + +bool AP_InertialSensor_LSM6DSV::fetch_current_sample(SampleFrame &sample, uint32_t now_us) +{ + if (read_sample(sample)) { + return true; + } + + _inc_accel_error_count(accel_instance); + _inc_gyro_error_count(gyro_instance); + return false; +} + +bool AP_InertialSensor_LSM6DSV::fetch_polling_frame(SampleFrame &sample, uint32_t now_us) +{ + uint8_t gyro_status = 0; + uint8_t accel_status = 0; + + if (!read_status_registers(gyro_status, accel_status, now_us)) { + return false; + } + + if (!sample_ready_for_route(gyro_status, accel_status, now_us)) { + return false; + } + + return fetch_current_sample(sample, now_us); +} + +bool AP_InertialSensor_LSM6DSV::fetch_source_frame(SourceFrame &frame, uint32_t now_us) +{ + uint8_t gyro_status = 0; + uint8_t accel_status = 0; + + if (!read_status_registers(gyro_status, accel_status, now_us)) { + return false; + } + + if (!sample_ready_for_route(gyro_status, accel_status, now_us)) { + return false; + } + + if (!fetch_current_sample(frame.sample, now_us)) { + return false; + } + + frame.gyro_status = gyro_status; + frame.accel_status = accel_status; + return true; +} + +bool AP_InertialSensor_LSM6DSV::read_fifo_status(FifoFrame &frame, uint32_t now_us) +{ + uint8_t fifo_status[2] {}; + if (!read_registers(LSM6DSV_REG_FIFO_STATUS1, fifo_status, sizeof(fifo_status))) { + _inc_accel_error_count(accel_instance); + _inc_gyro_error_count(gyro_instance); + return false; + } + + frame.unread_words = fifo_status[0] | + (((fifo_status[1] & LSM6DSV_FIFO_STATUS2_DIFF_FIFO_8) != 0U) ? 0x100U : 0U); + + return true; +} + +bool AP_InertialSensor_LSM6DSV::read_fifo_words_block(const uint16_t n_words, uint32_t now_us) +{ + if (_fifo_buffer == nullptr || n_words == 0 || n_words > LSM6DSV_FIFO_BURST_WORDS) { + return false; + } + + _fifo_buffer[0] = LSM6DSV_REG_FIFO_DATA_OUT_TAG | LSM6DSV_SPI_READ_FLAG; + memset(_fifo_buffer + 1, 0, n_words * sizeof(RawFifoWord)); + if (!_dev->transfer_fullduplex(_fifo_buffer, n_words * sizeof(RawFifoWord) + 1)) { + _inc_accel_error_count(accel_instance); + _inc_gyro_error_count(gyro_instance); + return false; + } + + return true; +} + +bool AP_InertialSensor_LSM6DSV::consume_fifo_word(FifoFrame &frame, SampleFrame &sample, const uint8_t *raw_word) +{ + RawFifoWord raw{}; + memcpy(&raw, raw_word, sizeof(raw)); + + frame.tag = decode_fifo_tag(raw.tag); + frame.tag_count = decode_fifo_tag_count(raw.tag); + + if (!fifo_tag_supported_for_primary(frame.tag)) { + return true; + } + + const Vector3f axes{ + float(int16_t(le16toh(raw.axis[0]))), + float(int16_t(le16toh(raw.axis[1]))), + float(int16_t(le16toh(raw.axis[2]))), + }; + + switch (frame.tag) { + case FifoTag::GyroNC: + sample.gyro = axes * _gyro_scale; + break; + case FifoTag::AccelNC: + sample.accel = axes * _accel_scale; + break; + default: + return false; + } + + return true; +} + +uint16_t AP_InertialSensor_LSM6DSV::drain_fifo(uint32_t now_us) +{ + FifoFrame frame{}; + frame.tag = FifoTag::Empty; + frame.unread_words = 0; + frame.tag_count = 0; + frame.source.gyro_status = 0; + frame.source.accel_status = 0; + frame.source.sample.raw_temp = 0; + frame.source.sample.has_raw_temp = false; + frame.source.sample.gyro.zero(); + frame.source.sample.accel.zero(); + + if (!read_fifo_status(frame, now_us)) { + return 0; + } + + if (frame.unread_words == 0) { + return 0; + } + + uint16_t samples_published = 0; + uint16_t drained = 0; + + while (drained < frame.unread_words && drained < LSM6DSV_FIFO_MAX_DRAIN_WORDS) { + const uint16_t remaining = MIN(uint16_t(frame.unread_words - drained), + uint16_t(LSM6DSV_FIFO_MAX_DRAIN_WORDS - drained)); + const uint16_t block_words = MIN(remaining, LSM6DSV_FIFO_BURST_WORDS); + + if (!read_fifo_words_block(block_words, now_us)) { + break; + } + + const uint8_t *raw_word = _fifo_buffer + 1; + for (uint16_t i = 0; i < block_words; i++, raw_word += sizeof(RawFifoWord)) { + if (!consume_fifo_word(frame, frame.source.sample, raw_word)) { + return samples_published; + } + drained++; + if (frame.tag == FifoTag::GyroNC) { + publish_gyro_sample(frame.source.sample); + samples_published++; + frame.source.sample.gyro.zero(); + } else if (frame.tag == FifoTag::AccelNC) { + publish_accel_sample(frame.source.sample); + frame.source.sample.accel.zero(); + } + } + } + + if (samples_published > 0) { + _dev->adjust_periodic_callback(periodic_handle, _backend_period_us); + } + + return samples_published; +} + +void AP_InertialSensor_LSM6DSV::publish_gyro_sample(SampleFrame &sample) +{ + _rotate_and_correct_gyro(gyro_instance, sample.gyro); + _notify_new_gyro_raw_sample(gyro_instance, sample.gyro); +} + +void AP_InertialSensor_LSM6DSV::publish_accel_sample(SampleFrame &sample) +{ + _rotate_and_correct_accel(accel_instance, sample.accel); + _notify_new_accel_raw_sample(accel_instance, sample.accel); + update_temperature(LSM6DSV_STATUS_GDA, nullptr); +} + +void AP_InertialSensor_LSM6DSV::publish_current_sample(SampleFrame &sample, uint8_t gyro_status) +{ + _rotate_and_correct_accel(accel_instance, sample.accel); + _rotate_and_correct_gyro(gyro_instance, sample.gyro); + _notify_new_accel_raw_sample(accel_instance, sample.accel); + _notify_new_gyro_raw_sample(gyro_instance, sample.gyro); + update_temperature(gyro_status, sample.has_raw_temp ? &sample.raw_temp : nullptr); +} + +void AP_InertialSensor_LSM6DSV::check_register_monitor() +{ + _dev->set_speed(AP_HAL::Device::SPEED_LOW); + AP_HAL::Device::checkreg reg; + if (!_dev->check_next_register(reg)) { + log_register_change(_dev->get_bus_id(), reg); + _inc_accel_error_count(accel_instance); + _inc_gyro_error_count(gyro_instance); + } + _dev->set_speed(AP_HAL::Device::SPEED_HIGH); +} + +void AP_InertialSensor_LSM6DSV::update_temperature(const uint8_t status, const int16_t *raw_temp) +{ + if (_temperature_counter++ < LSM6DSV_TEMPERATURE_UPDATE_INTERVAL) { + return; + } + _temperature_counter = 0; + + int16_t temperature_raw = 0; + if (raw_temp != nullptr) { + temperature_raw = *raw_temp; + } else { + const bool fifo_temp_poll = active_sample_source() == SampleSourceMode::FIFO; + if (!fifo_temp_poll && (status & LSM6DSV_STATUS_TDA) == 0) { + return; + } + uint8_t tbuf[2]; + if (!read_registers(LSM6DSV_REG_OUT_TEMP_L, tbuf, sizeof(tbuf))) { + _inc_accel_error_count(accel_instance); + return; + } + temperature_raw = int16_t(uint16_t(tbuf[0] | (tbuf[1] << 8))); + } + + const float temp_degc = LSM6DSV_TEMPERATURE_ZERO_C + temperature_raw / LSM6DSV_TEMPERATURE_SENSITIVITY; + _publish_temperature(accel_instance, temp_degc); +} + +void AP_InertialSensor_LSM6DSV::poll_data() +{ + const uint32_t now_us = AP_HAL::micros(); + + if (active_sample_source() == SampleSourceMode::FIFO) { + drain_fifo(now_us); + check_register_monitor(); + return; + } + + SourceFrame frame{}; + if (!fetch_source_frame(frame, now_us)) { + return; + } + + publish_current_sample(frame.sample, frame.gyro_status); + check_register_monitor(); +} diff --git a/libraries/AP_InertialSensor/AP_InertialSensor_LSM6DSV.h b/libraries/AP_InertialSensor/AP_InertialSensor_LSM6DSV.h new file mode 100644 index 0000000000000..8fdad2e1726d0 --- /dev/null +++ b/libraries/AP_InertialSensor/AP_InertialSensor_LSM6DSV.h @@ -0,0 +1,140 @@ +/* + * This file is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This file is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see . + */ +#pragma once + +#include +#include + +#include "AP_InertialSensor.h" +#include "AP_InertialSensor_Backend.h" + +#ifndef LSM6DSV_DEFAULT_ROTATION +#define LSM6DSV_DEFAULT_ROTATION ROTATION_NONE +#endif + +class AP_InertialSensor_LSM6DSV : public AP_InertialSensor_Backend { +public: + enum class LSM6DSV_Type : uint8_t { + LSM6DSV16X, + }; + + static AP_InertialSensor_Backend *probe(AP_InertialSensor &imu, + AP_HAL::OwnPtr dev, + enum Rotation rotation=LSM6DSV_DEFAULT_ROTATION); + + void start() override; + bool update() override; + bool get_output_banner(char* banner, uint8_t banner_len) override; + +private: + enum class SampleSourceMode : uint8_t { + Polling, + FIFO, + }; + + enum class FifoTag : uint8_t { + Empty = 0x00, + GyroNC = 0x01, + AccelNC = 0x02, + Temperature = 0x03, + Timestamp = 0x04, + CfgChange = 0x05, + AccelNC_T2 = 0x06, + AccelNC_T1 = 0x07, + Accel2xC = 0x08, + Accel3xC = 0x09, + GyroNC_T2 = 0x0A, + GyroNC_T1 = 0x0B, + Gyro2xC = 0x0C, + Gyro3xC = 0x0D, + RouteExt = 0x1D, + Unsupported = 0xFF, + }; + + struct SampleFrame { + Vector3f gyro; + Vector3f accel; + int16_t raw_temp; + bool has_raw_temp; + }; + + struct SourceFrame { + SampleFrame sample; + uint8_t gyro_status; + uint8_t accel_status; + }; + + struct FifoFrame { + SourceFrame source; + FifoTag tag; + uint16_t unread_words; + uint8_t tag_count; + }; + + AP_InertialSensor_LSM6DSV(AP_InertialSensor &imu, + AP_HAL::OwnPtr dev, + enum Rotation rotation); + + bool init(); + bool hardware_init(); + bool check_whoami(); + bool reset_device(); + bool configure_gyro(); + bool configure_accel(); + bool configure_primary_fifo(); + bool wait_for_data_ready(); + + bool read_registers(uint8_t reg, uint8_t *data, uint8_t len); + bool write_register(uint8_t reg, uint8_t value, bool checked=false); + bool fetch_primary_sample(SampleFrame &sample); + bool read_sample(SampleFrame &sample); + bool read_status_registers(uint8_t &gyro_status, uint8_t &accel_status, uint32_t now_us); + bool sample_ready_for_route(uint8_t gyro_status, uint8_t accel_status, uint32_t now_us); + bool fetch_current_sample(SampleFrame &sample, uint32_t now_us); + bool fetch_polling_frame(SampleFrame &sample, uint32_t now_us); + bool fetch_source_frame(SourceFrame &frame, uint32_t now_us); + bool read_fifo_status(FifoFrame &frame, uint32_t now_us); + bool read_fifo_words_block(uint16_t n_words, uint32_t now_us); + bool consume_fifo_word(FifoFrame &frame, SampleFrame &sample, const uint8_t *raw_word); + uint16_t drain_fifo(uint32_t now_us); + void publish_gyro_sample(SampleFrame &sample); + void publish_accel_sample(SampleFrame &sample); + void publish_current_sample(SampleFrame &sample, uint8_t gyro_status); + void check_register_monitor(); + void update_temperature(uint8_t status, const int16_t *raw_temp=nullptr); + uint8_t odr_code_for_rate(uint16_t rate_hz) const; + uint16_t calculate_backend_rate(uint16_t base_rate_hz) const; + + SampleSourceMode active_sample_source() const; + static bool fifo_tag_supported_for_primary(FifoTag tag); + static FifoTag decode_fifo_tag(uint8_t raw_tag); + static uint8_t decode_fifo_tag_count(uint8_t raw_tag); + + void poll_data(); + + AP_HAL::OwnPtr _dev; + AP_HAL::Device::PeriodicHandle periodic_handle; + enum Rotation _rotation; + float _accel_scale; + float _gyro_scale; + float _accel_range_g; + uint8_t _whoami; + uint8_t _temperature_counter; + uint16_t _backend_rate_hz; + uint32_t _backend_period_us; + bool _fast_sampling = false; + LSM6DSV_Type _lsm6dsv_type; + uint8_t *_fifo_buffer; +}; From 55cd6b05021e0c601a2f6aa4ab7ab1a8284d4876 Mon Sep 17 00:00:00 2001 From: Brown Date: Wed, 25 Mar 2026 21:58:29 +0800 Subject: [PATCH 05/40] Pixhawk6C: add LSM6DSV16X IMU support Add SPI device and IMU probe line for the LSM6DSV16X on Pixhawk6C. The driver auto-detects the chip via WHOAMI so both ICM42688 and LSM6DSV16X boards are supported without a board type change. --- libraries/AP_HAL_ChibiOS/hwdef/Pixhawk6C/hwdef.dat | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libraries/AP_HAL_ChibiOS/hwdef/Pixhawk6C/hwdef.dat b/libraries/AP_HAL_ChibiOS/hwdef/Pixhawk6C/hwdef.dat index d3a981edf8005..e75130c9fd2bd 100644 --- a/libraries/AP_HAL_ChibiOS/hwdef/Pixhawk6C/hwdef.dat +++ b/libraries/AP_HAL_ChibiOS/hwdef/Pixhawk6C/hwdef.dat @@ -231,10 +231,13 @@ define AP_COMPASS_IST8310_INTERNAL_BUS_PROBING_ENABLED 0 SPIDEV bmi055_g SPI1 DEVID1 BMI055_G_CS MODE3 10*MHZ 10*MHZ SPIDEV bmi055_a SPI1 DEVID2 BMI055_A_CS MODE3 10*MHZ 10*MHZ SPIDEV icm42688 SPI1 DEVID3 ICM42688_CS MODE3 2*MHZ 8*MHZ +# alternative to icm42688, using the same SPI bus and CS line +SPIDEV lsm6dsv SPI1 DEVID4 ICM42688_CS MODE3 2*MHZ 8*MHZ SPIDEV ramtron SPI2 DEVID1 FRAM_CS MODE3 8*MHZ 8*MHZ # 2 IMUs IMU Invensensev3 SPI:icm42688 ROTATION_PITCH_180_YAW_90 +IMU LSM6DSV SPI:lsm6dsv ROTATION_PITCH_180_YAW_90 IMU BMI055 SPI:bmi055_a SPI:bmi055_g ROTATION_PITCH_180 # BMI055 is replaced by BMI088 on the lastest hardware revision # They use the same CPU signal pins From caae22abcf8e69ceb4f6ceff60d40ab9e3a9ad47 Mon Sep 17 00:00:00 2001 From: Brown Date: Fri, 27 Mar 2026 10:52:28 +0800 Subject: [PATCH 06/40] AP_InertialSensor: refactor LSM6DSV register definitions - Replace file-scope constexpr definitions with #define macros for register addresses, bit masks, and scaling factors, matching the style used by other IMU drivers in this library. - Keep the register and configuration definitions to preserve a clear mapping to the datasheet, even when some are not used in the current code path. - Avoid unused-const-variable warnings under Clang. - Rename LSM6DSV_EXPERIMENTAL_PRIMARY_FIFO to LSM6DSV_USE_FIFO for clarity and consistency. - Remove the unused _accel_range_g member. No change to the default runtime behavior. --- .../AP_InertialSensor_LSM6DSV.cpp | 155 +++++++++--------- .../AP_InertialSensor_LSM6DSV.h | 1 - 2 files changed, 77 insertions(+), 79 deletions(-) diff --git a/libraries/AP_InertialSensor/AP_InertialSensor_LSM6DSV.cpp b/libraries/AP_InertialSensor/AP_InertialSensor_LSM6DSV.cpp index c589735512dfe..e68f9d3c159d3 100644 --- a/libraries/AP_InertialSensor/AP_InertialSensor_LSM6DSV.cpp +++ b/libraries/AP_InertialSensor/AP_InertialSensor_LSM6DSV.cpp @@ -36,8 +36,8 @@ extern const AP_HAL::HAL& hal; namespace { -#ifndef LSM6DSV_EXPERIMENTAL_PRIMARY_FIFO -#define LSM6DSV_EXPERIMENTAL_PRIMARY_FIFO 1 +#ifndef LSM6DSV_USE_FIFO +#define LSM6DSV_USE_FIFO 1 #endif // Enable the second-stage digital low-pass filter (LPF2) on the @@ -55,125 +55,125 @@ namespace { #endif // ---- FIFO control registers (R/W) ---- -constexpr uint8_t LSM6DSV_REG_FIFO_CTRL1 = 0x07; // FIFO watermark threshold [7:0] -constexpr uint8_t LSM6DSV_REG_FIFO_CTRL2 = 0x08; // FIFO watermark threshold [8], compression -constexpr uint8_t LSM6DSV_REG_FIFO_CTRL3 = 0x09; // FIFO gyro/accel batch data rate -constexpr uint8_t LSM6DSV_REG_FIFO_CTRL4 = 0x0A; // FIFO mode selection +#define LSM6DSV_REG_FIFO_CTRL1 0x07 // FIFO watermark threshold [7:0] +#define LSM6DSV_REG_FIFO_CTRL2 0x08 // FIFO watermark threshold [8], compression +#define LSM6DSV_REG_FIFO_CTRL3 0x09 // FIFO gyro/accel batch data rate +#define LSM6DSV_REG_FIFO_CTRL4 0x0A // FIFO mode selection -constexpr uint8_t LSM6DSV_FIFO_CTRL3_BDR_DISABLED = 0x00; -constexpr uint8_t LSM6DSV_FIFO_CTRL4_MODE_BYPASS = 0x00; -constexpr uint8_t LSM6DSV_FIFO_CTRL4_MODE_CONTINUOUS = 0x06; +#define LSM6DSV_FIFO_CTRL3_BDR_DISABLED 0x00 +#define LSM6DSV_FIFO_CTRL4_MODE_BYPASS 0x00 +#define LSM6DSV_FIFO_CTRL4_MODE_CONTINUOUS 0x06 // ---- WHO_AM_I register (R) ---- -constexpr uint8_t LSM6DSV_REG_WHO_AM_I = 0x0F; -constexpr uint8_t LSM6DSV_ID_LSM6DSV16X = 0x70; +#define LSM6DSV_REG_WHO_AM_I 0x0F +#define LSM6DSV_ID_LSM6DSV16X 0x70 // ---- Accelerometer control register 1 (R/W) ---- // [6:4] OP_MODE_XL: operating mode [3:0] ODR_XL: output data rate -constexpr uint8_t LSM6DSV_REG_CTRL1 = 0x10; +#define LSM6DSV_REG_CTRL1 0x10 // ---- Gyroscope control register 2 (R/W) ---- // [6:4] OP_MODE_G: operating mode [3:0] ODR_G: output data rate -constexpr uint8_t LSM6DSV_REG_CTRL2 = 0x11; +#define LSM6DSV_REG_CTRL2 0x11 // ---- Control register 3 (R/W) ---- -constexpr uint8_t LSM6DSV_REG_CTRL3 = 0x12; -constexpr uint8_t LSM6DSV_CTRL3_BDU = 1U << 6; // block data update -constexpr uint8_t LSM6DSV_CTRL3_IF_INC = 1U << 2; // auto-increment address -constexpr uint8_t LSM6DSV_CTRL3_SW_RESET = 1U << 0; // software reset +#define LSM6DSV_REG_CTRL3 0x12 +#define LSM6DSV_CTRL3_BDU (1U << 6) // block data update +#define LSM6DSV_CTRL3_IF_INC (1U << 2) // auto-increment address +#define LSM6DSV_CTRL3_SW_RESET (1U << 0) // software reset // [4] OP_MODE: 0=high-performance, 1=high-accuracy ODR -constexpr uint8_t LSM6DSV_CTRL_MODE_HAODR = 0x10; +#define LSM6DSV_CTRL_MODE_HAODR 0x10 // ---- Control register 6 — gyro full-scale selection (R/W) ---- // [3:0] FS_G: gyroscope full-scale -constexpr uint8_t LSM6DSV_REG_CTRL6 = 0x15; -constexpr uint8_t LSM6DSV_CTRL6_FS_G_125DPS = 0x00; -constexpr uint8_t LSM6DSV_CTRL6_FS_G_250DPS = 0x01; -constexpr uint8_t LSM6DSV_CTRL6_FS_G_500DPS = 0x02; -constexpr uint8_t LSM6DSV_CTRL6_FS_G_1000DPS = 0x03; -constexpr uint8_t LSM6DSV_CTRL6_FS_G_2000DPS = 0x04; -constexpr uint8_t LSM6DSV_CTRL6_FS_G_4000DPS = 0xC0; +#define LSM6DSV_REG_CTRL6 0x15 +#define LSM6DSV_CTRL6_FS_G_125DPS 0x00 +#define LSM6DSV_CTRL6_FS_G_250DPS 0x01 +#define LSM6DSV_CTRL6_FS_G_500DPS 0x02 +#define LSM6DSV_CTRL6_FS_G_1000DPS 0x03 +#define LSM6DSV_CTRL6_FS_G_2000DPS 0x04 +#define LSM6DSV_CTRL6_FS_G_4000DPS 0xC0 // ---- Control register 8 — accel full-scale & LPF2 BW (R/W) ---- // [7:5] HP_LPF2_XL_BW [1:0] FS_XL: accelerometer full-scale -constexpr uint8_t LSM6DSV_REG_CTRL8 = 0x17; -constexpr uint8_t LSM6DSV_CTRL8_FS_XL_2G = 0x00; -constexpr uint8_t LSM6DSV_CTRL8_FS_XL_4G = 0x01; -constexpr uint8_t LSM6DSV_CTRL8_FS_XL_8G = 0x02; -constexpr uint8_t LSM6DSV_CTRL8_FS_XL_16G = 0x03; +#define LSM6DSV_REG_CTRL8 0x17 +#define LSM6DSV_CTRL8_FS_XL_2G 0x00 +#define LSM6DSV_CTRL8_FS_XL_4G 0x01 +#define LSM6DSV_CTRL8_FS_XL_8G 0x02 +#define LSM6DSV_CTRL8_FS_XL_16G 0x03 // ---- Control register 9 — accel LPF2 enable (R/W) ---- -constexpr uint8_t LSM6DSV_REG_CTRL9 = 0x18; -constexpr uint8_t LSM6DSV_CTRL9_LPF2_XL_EN = 1U << 3; +#define LSM6DSV_REG_CTRL9 0x18 +#define LSM6DSV_CTRL9_LPF2_XL_EN (1U << 3) // ---- FIFO status registers (R) ---- -constexpr uint8_t LSM6DSV_REG_FIFO_STATUS1 = 0x1B; // DIFF_FIFO [7:0] -constexpr uint8_t LSM6DSV_REG_FIFO_STATUS2 = 0x1C; // flags + DIFF_FIFO [8] -constexpr uint8_t LSM6DSV_FIFO_STATUS2_DIFF_FIFO_8 = 1U << 0; +#define LSM6DSV_REG_FIFO_STATUS1 0x1B // DIFF_FIFO [7:0] +#define LSM6DSV_REG_FIFO_STATUS2 0x1C // flags + DIFF_FIFO [8] +#define LSM6DSV_FIFO_STATUS2_DIFF_FIFO_8 (1U << 0) // ---- Status register (R) ---- -constexpr uint8_t LSM6DSV_REG_STATUS = 0x1E; -constexpr uint8_t LSM6DSV_STATUS_XLDA = 1U << 0; // accel data available -constexpr uint8_t LSM6DSV_STATUS_GDA = 1U << 1; // gyro data available -constexpr uint8_t LSM6DSV_STATUS_TDA = 1U << 2; // temperature data available +#define LSM6DSV_REG_STATUS 0x1E +#define LSM6DSV_STATUS_XLDA (1U << 0) // accel data available +#define LSM6DSV_STATUS_GDA (1U << 1) // gyro data available +#define LSM6DSV_STATUS_TDA (1U << 2) // temperature data available // ---- Data output registers (R) ---- -constexpr uint8_t LSM6DSV_REG_OUT_TEMP_L = 0x20; // temperature output (16-bit) -constexpr uint8_t LSM6DSV_REG_OUTX_L_G = 0x22; // gyro XYZ output (6 bytes) -constexpr uint8_t LSM6DSV_REG_OUTX_L_A = 0x28; // accel XYZ output (6 bytes) +#define LSM6DSV_REG_OUT_TEMP_L 0x20 // temperature output (16-bit) +#define LSM6DSV_REG_OUTX_L_G 0x22 // gyro XYZ output (6 bytes) +#define LSM6DSV_REG_OUTX_L_A 0x28 // accel XYZ output (6 bytes) // ---- HAODR configuration register (R/W) ---- // [1:0] HAODR_SEL: high-accuracy ODR mode selection -constexpr uint8_t LSM6DSV_REG_HAODR_CFG = 0x62; -constexpr uint8_t LSM6DSV_HAODR_CFG_MODE1 = 0x01; +#define LSM6DSV_REG_HAODR_CFG 0x62 +#define LSM6DSV_HAODR_CFG_MODE1 0x01 // HAODR mode-1 ODR codes (written to CTRL1/CTRL2 ODR_XL/ODR_G [3:0]) -constexpr uint8_t LSM6DSV_MODE1_ODR_125HZ = 0x06; -constexpr uint8_t LSM6DSV_MODE1_ODR_250HZ = 0x07; -constexpr uint8_t LSM6DSV_MODE1_ODR_500HZ = 0x08; -constexpr uint8_t LSM6DSV_MODE1_ODR_1000HZ = 0x09; -constexpr uint8_t LSM6DSV_MODE1_ODR_2000HZ = 0x0A; -constexpr uint8_t LSM6DSV_MODE1_ODR_4000HZ = 0x0B; -constexpr uint8_t LSM6DSV_MODE1_ODR_8000HZ = 0x0C; +#define LSM6DSV_MODE1_ODR_125HZ 0x06 +#define LSM6DSV_MODE1_ODR_250HZ 0x07 +#define LSM6DSV_MODE1_ODR_500HZ 0x08 +#define LSM6DSV_MODE1_ODR_1000HZ 0x09 +#define LSM6DSV_MODE1_ODR_2000HZ 0x0A +#define LSM6DSV_MODE1_ODR_4000HZ 0x0B +#define LSM6DSV_MODE1_ODR_8000HZ 0x0C // ---- FIFO data output registers (R) ---- -constexpr uint8_t LSM6DSV_REG_FIFO_DATA_OUT_TAG = 0x78; // FIFO tag byte -constexpr uint8_t LSM6DSV_REG_FIFO_DATA_OUT_X_L = 0x79; // FIFO data start +#define LSM6DSV_REG_FIFO_DATA_OUT_TAG 0x78 // FIFO tag byte +#define LSM6DSV_REG_FIFO_DATA_OUT_X_L 0x79 // FIFO data start // ---- SPI protocol ---- -constexpr uint8_t LSM6DSV_SPI_READ_FLAG = 0x80; +#define LSM6DSV_SPI_READ_FLAG 0x80 // ---- Driver timing constants ---- -constexpr uint16_t LSM6DSV_DEFAULT_BACKEND_RATE_HZ = 1000; -constexpr uint8_t LSM6DSV_INIT_MAX_TRIES = 5; -constexpr uint8_t LSM6DSV_RESET_TIMEOUT_MS = 100; -constexpr uint8_t LSM6DSV_DATA_READY_TIMEOUT_MS = 20; -constexpr uint8_t LSM6DSV_POWERUP_DELAY_MS = 5; -constexpr uint8_t LSM6DSV_TEMPERATURE_UPDATE_INTERVAL = 100; +#define LSM6DSV_DEFAULT_BACKEND_RATE_HZ 1000 +#define LSM6DSV_INIT_MAX_TRIES 5 +#define LSM6DSV_RESET_TIMEOUT_MS 100 +#define LSM6DSV_DATA_READY_TIMEOUT_MS 20 +#define LSM6DSV_POWERUP_DELAY_MS 5 +#define LSM6DSV_TEMPERATURE_UPDATE_INTERVAL 100 // ---- FIFO sizing ---- -constexpr uint16_t LSM6DSV_PRIMARY_FIFO_WATERMARK_WORDS = 2; -constexpr uint16_t LSM6DSV_FIFO_MAX_DRAIN_WORDS = 32; -constexpr uint16_t LSM6DSV_FIFO_BURST_WORDS = 16; +#define LSM6DSV_PRIMARY_FIFO_WATERMARK_WORDS 2 +#define LSM6DSV_FIFO_MAX_DRAIN_WORDS 32 +#define LSM6DSV_FIFO_BURST_WORDS 16 // ---- Temperature conversion ---- -constexpr float LSM6DSV_TEMPERATURE_ZERO_C = 25.0f; -constexpr float LSM6DSV_TEMPERATURE_SENSITIVITY = 256.0f; // LSB/°C +#define LSM6DSV_TEMPERATURE_ZERO_C 25.0f +#define LSM6DSV_TEMPERATURE_SENSITIVITY 256.0f // LSB/°C // ---- Accelerometer sensitivity (mg/LSB → m/s²) ---- -constexpr float LSM6DSV_ACCEL_SCALE_2G = GRAVITY_MSS * 2.0f / 32768.0f; -constexpr float LSM6DSV_ACCEL_SCALE_4G = GRAVITY_MSS * 4.0f / 32768.0f; -constexpr float LSM6DSV_ACCEL_SCALE_8G = GRAVITY_MSS * 8.0f / 32768.0f; -constexpr float LSM6DSV_ACCEL_SCALE_16G = GRAVITY_MSS * 16.0f / 32768.0f; +#define LSM6DSV_ACCEL_SCALE_2G (GRAVITY_MSS * 2.0f / 32768.0f) +#define LSM6DSV_ACCEL_SCALE_4G (GRAVITY_MSS * 4.0f / 32768.0f) +#define LSM6DSV_ACCEL_SCALE_8G (GRAVITY_MSS * 8.0f / 32768.0f) +#define LSM6DSV_ACCEL_SCALE_16G (GRAVITY_MSS * 16.0f / 32768.0f) // ---- Gyroscope sensitivity per ST datasheet (mdps/LSB → rad/s) ---- -constexpr float LSM6DSV_GYRO_SCALE_125DPS = radians(4.375f / 1000.0f); -constexpr float LSM6DSV_GYRO_SCALE_250DPS = radians(8.75f / 1000.0f); -constexpr float LSM6DSV_GYRO_SCALE_500DPS = radians(17.50f / 1000.0f); -constexpr float LSM6DSV_GYRO_SCALE_1000DPS = radians(35.0f / 1000.0f); -constexpr float LSM6DSV_GYRO_SCALE_2000DPS = radians(70.0f / 1000.0f); -constexpr float LSM6DSV_GYRO_SCALE_4000DPS = radians(140.0f / 1000.0f); +#define LSM6DSV_GYRO_SCALE_125DPS radians(4.375f / 1000.0f) +#define LSM6DSV_GYRO_SCALE_250DPS radians(8.75f / 1000.0f) +#define LSM6DSV_GYRO_SCALE_500DPS radians(17.50f / 1000.0f) +#define LSM6DSV_GYRO_SCALE_1000DPS radians(35.0f / 1000.0f) +#define LSM6DSV_GYRO_SCALE_2000DPS radians(70.0f / 1000.0f) +#define LSM6DSV_GYRO_SCALE_4000DPS radians(140.0f / 1000.0f) struct PACKED RawSample { le16_t gyro[3]; @@ -206,7 +206,6 @@ AP_InertialSensor_LSM6DSV::AP_InertialSensor_LSM6DSV(AP_InertialSensor &imu, , _rotation(rotation) , _accel_scale(LSM6DSV_ACCEL_SCALE_16G) , _gyro_scale(LSM6DSV_GYRO_SCALE_2000DPS) - , _accel_range_g(16.0f) , _whoami(0) , _temperature_counter(0) , _fifo_buffer(nullptr) @@ -434,7 +433,7 @@ bool AP_InertialSensor_LSM6DSV::configure_accel() bool AP_InertialSensor_LSM6DSV::configure_primary_fifo() { -#if !LSM6DSV_EXPERIMENTAL_PRIMARY_FIFO +#if !LSM6DSV_USE_FIFO return true; #else const uint8_t odr = odr_code_for_rate(_backend_rate_hz); @@ -479,7 +478,7 @@ uint16_t AP_InertialSensor_LSM6DSV::calculate_backend_rate(uint16_t base_rate_hz AP_InertialSensor_LSM6DSV::SampleSourceMode AP_InertialSensor_LSM6DSV::active_sample_source() const { -#if LSM6DSV_EXPERIMENTAL_PRIMARY_FIFO +#if LSM6DSV_USE_FIFO return SampleSourceMode::FIFO; #else return SampleSourceMode::Polling; diff --git a/libraries/AP_InertialSensor/AP_InertialSensor_LSM6DSV.h b/libraries/AP_InertialSensor/AP_InertialSensor_LSM6DSV.h index 8fdad2e1726d0..ed8db66bcc6bd 100644 --- a/libraries/AP_InertialSensor/AP_InertialSensor_LSM6DSV.h +++ b/libraries/AP_InertialSensor/AP_InertialSensor_LSM6DSV.h @@ -129,7 +129,6 @@ class AP_InertialSensor_LSM6DSV : public AP_InertialSensor_Backend { enum Rotation _rotation; float _accel_scale; float _gyro_scale; - float _accel_range_g; uint8_t _whoami; uint8_t _temperature_counter; uint16_t _backend_rate_hz; From ca87d668f5ab4e1ab21b11e6b738696a6c372826 Mon Sep 17 00:00:00 2001 From: Brown Date: Sat, 28 Mar 2026 21:15:21 +0800 Subject: [PATCH 07/40] AP_InertialSensor: LSM6DSV driver review fixes Address review feedback and follow-up self-review findings. - Remove the unused polling path - Fix the FS_G_4000DPS register setting - Switch counter-based timing checks to wall-clock based logic - Tighten FIFO buffer allocation/lifetime handling - Clean up related initialization and SPI transfer documentation --- .../AP_InertialSensor_LSM6DSV.cpp | 254 +++--------------- .../AP_InertialSensor_LSM6DSV.h | 30 +-- 2 files changed, 47 insertions(+), 237 deletions(-) diff --git a/libraries/AP_InertialSensor/AP_InertialSensor_LSM6DSV.cpp b/libraries/AP_InertialSensor/AP_InertialSensor_LSM6DSV.cpp index e68f9d3c159d3..4e16a78af0b70 100644 --- a/libraries/AP_InertialSensor/AP_InertialSensor_LSM6DSV.cpp +++ b/libraries/AP_InertialSensor/AP_InertialSensor_LSM6DSV.cpp @@ -36,10 +36,6 @@ extern const AP_HAL::HAL& hal; namespace { -#ifndef LSM6DSV_USE_FIFO -#define LSM6DSV_USE_FIFO 1 -#endif - // Enable the second-stage digital low-pass filter (LPF2) on the // accelerometer output. Bandwidth is set by LSM6DSV_ACCEL_LPF2_BW. #ifndef LSM6DSV_ACCEL_LPF2_ENABLED @@ -93,7 +89,7 @@ namespace { #define LSM6DSV_CTRL6_FS_G_500DPS 0x02 #define LSM6DSV_CTRL6_FS_G_1000DPS 0x03 #define LSM6DSV_CTRL6_FS_G_2000DPS 0x04 -#define LSM6DSV_CTRL6_FS_G_4000DPS 0xC0 +#define LSM6DSV_CTRL6_FS_G_4000DPS 0x0C // ---- Control register 8 — accel full-scale & LPF2 BW (R/W) ---- // [7:5] HP_LPF2_XL_BW [1:0] FS_XL: accelerometer full-scale @@ -150,13 +146,15 @@ namespace { #define LSM6DSV_RESET_TIMEOUT_MS 100 #define LSM6DSV_DATA_READY_TIMEOUT_MS 20 #define LSM6DSV_POWERUP_DELAY_MS 5 -#define LSM6DSV_TEMPERATURE_UPDATE_INTERVAL 100 // ---- FIFO sizing ---- #define LSM6DSV_PRIMARY_FIFO_WATERMARK_WORDS 2 #define LSM6DSV_FIFO_MAX_DRAIN_WORDS 32 #define LSM6DSV_FIFO_BURST_WORDS 16 +// temperature update interval in milliseconds +#define LSM6DSV_TEMPERATURE_UPDATE_MS 100 + // ---- Temperature conversion ---- #define LSM6DSV_TEMPERATURE_ZERO_C 25.0f #define LSM6DSV_TEMPERATURE_SENSITIVITY 256.0f // LSB/°C @@ -175,24 +173,11 @@ namespace { #define LSM6DSV_GYRO_SCALE_2000DPS radians(70.0f / 1000.0f) #define LSM6DSV_GYRO_SCALE_4000DPS radians(140.0f / 1000.0f) -struct PACKED RawSample { - le16_t gyro[3]; - le16_t accel[3]; -}; - -struct PACKED RawSampleWithTemp { - le16_t temp; - le16_t gyro[3]; - le16_t accel[3]; -}; - struct PACKED RawFifoWord { uint8_t tag; le16_t axis[3]; }; -static_assert(sizeof(RawSample) == 12, "RawSample must be 12 bytes"); -static_assert(sizeof(RawSampleWithTemp) == 14, "RawSampleWithTemp must be 14 bytes"); static_assert(sizeof(RawFifoWord) == 7, "RawFifoWord must be 7 bytes"); constexpr uint16_t LSM6DSV_FIFO_BURST_BUFFER_SIZE = LSM6DSV_FIFO_BURST_WORDS * sizeof(RawFifoWord) + 1; @@ -206,12 +191,17 @@ AP_InertialSensor_LSM6DSV::AP_InertialSensor_LSM6DSV(AP_InertialSensor &imu, , _rotation(rotation) , _accel_scale(LSM6DSV_ACCEL_SCALE_16G) , _gyro_scale(LSM6DSV_GYRO_SCALE_2000DPS) - , _whoami(0) - , _temperature_counter(0) - , _fifo_buffer(nullptr) { } +AP_InertialSensor_LSM6DSV::~AP_InertialSensor_LSM6DSV() +{ + if (_fifo_buffer != nullptr) { + hal.util->free_type(_fifo_buffer, LSM6DSV_FIFO_BURST_BUFFER_SIZE, + AP_HAL::Util::MEM_DMA_SAFE); + } +} + AP_InertialSensor_Backend *AP_InertialSensor_LSM6DSV::probe(AP_InertialSensor &imu, AP_HAL::OwnPtr dev, enum Rotation rotation) @@ -266,26 +256,21 @@ void AP_InertialSensor_LSM6DSV::start() if (!configure_primary_fifo()) { return; } - } - // re-configure ODR registers for the target sampling rate - WITH_SEMAPHORE(_dev->get_semaphore()); - const uint8_t odr = odr_code_for_rate(_backend_rate_hz); - write_register(LSM6DSV_REG_CTRL1, LSM6DSV_CTRL_MODE_HAODR | odr, true); - write_register(LSM6DSV_REG_CTRL2, LSM6DSV_CTRL_MODE_HAODR | odr, true); - if (active_sample_source() == SampleSourceMode::FIFO) { + // re-configure ODR registers for the target sampling rate + const uint8_t odr = odr_code_for_rate(_backend_rate_hz); + write_register(LSM6DSV_REG_CTRL1, LSM6DSV_CTRL_MODE_HAODR | odr, true); + write_register(LSM6DSV_REG_CTRL2, LSM6DSV_CTRL_MODE_HAODR | odr, true); configure_primary_fifo(); } set_gyro_orientation(gyro_instance, _rotation); set_accel_orientation(accel_instance, _rotation); - if (active_sample_source() == SampleSourceMode::FIFO) { - _fifo_buffer = static_cast(hal.util->malloc_type(LSM6DSV_FIFO_BURST_BUFFER_SIZE, - AP_HAL::Util::MEM_DMA_SAFE)); - if (_fifo_buffer == nullptr) { - return; - } + _fifo_buffer = static_cast(hal.util->malloc_type(LSM6DSV_FIFO_BURST_BUFFER_SIZE, + AP_HAL::Util::MEM_DMA_SAFE)); + if (_fifo_buffer == nullptr) { + AP_HAL::panic("LSM6DSV: Unable to allocate FIFO buffer"); } periodic_handle = _dev->register_periodic_callback(_backend_period_us, @@ -301,9 +286,9 @@ bool AP_InertialSensor_LSM6DSV::update() bool AP_InertialSensor_LSM6DSV::get_output_banner(char* banner, uint8_t banner_len) { - snprintf(banner, banner_len, "IMU%u: LSM6DSV16X%s sampling %.1fkHz", + snprintf(banner, banner_len, "IMU%u: LSM6DSV16X %s sampling %.1fkHz", gyro_instance, - _fast_sampling ? " fast" : " normal", + _fast_sampling ? "fast" : "normal", _backend_rate_hz * 0.001f); return true; } @@ -401,7 +386,8 @@ bool AP_InertialSensor_LSM6DSV::reset_device() return false; } - for (uint8_t i = 0; i < LSM6DSV_RESET_TIMEOUT_MS; i++) { + const uint32_t start_ms = AP_HAL::millis(); + while (AP_HAL::millis() - start_ms < LSM6DSV_RESET_TIMEOUT_MS) { uint8_t ctrl3 = 0; hal.scheduler->delay(1); if (!read_registers(LSM6DSV_REG_CTRL3, &ctrl3, 1)) { @@ -433,9 +419,6 @@ bool AP_InertialSensor_LSM6DSV::configure_accel() bool AP_InertialSensor_LSM6DSV::configure_primary_fifo() { -#if !LSM6DSV_USE_FIFO - return true; -#else const uint8_t odr = odr_code_for_rate(_backend_rate_hz); const uint8_t fifo_ctrl3 = uint8_t((odr << 4) | odr); @@ -445,7 +428,6 @@ bool AP_InertialSensor_LSM6DSV::configure_primary_fifo() write_register(LSM6DSV_REG_FIFO_CTRL2, 0x00, true) && write_register(LSM6DSV_REG_FIFO_CTRL3, fifo_ctrl3, true) && write_register(LSM6DSV_REG_FIFO_CTRL4, LSM6DSV_FIFO_CTRL4_MODE_CONTINUOUS, true); -#endif } uint8_t AP_InertialSensor_LSM6DSV::odr_code_for_rate(uint16_t rate_hz) const @@ -475,16 +457,6 @@ uint16_t AP_InertialSensor_LSM6DSV::calculate_backend_rate(uint16_t base_rate_hz return constrain_int16(base_rate_hz * mult, base_rate_hz, 8000); } - -AP_InertialSensor_LSM6DSV::SampleSourceMode AP_InertialSensor_LSM6DSV::active_sample_source() const -{ -#if LSM6DSV_USE_FIFO - return SampleSourceMode::FIFO; -#else - return SampleSourceMode::Polling; -#endif -} - bool AP_InertialSensor_LSM6DSV::fifo_tag_supported_for_primary(const FifoTag tag) { return tag == FifoTag::GyroNC || tag == FifoTag::AccelNC; @@ -560,109 +532,6 @@ bool AP_InertialSensor_LSM6DSV::write_register(uint8_t reg, uint8_t value, bool return _dev->write_register(reg, value, checked); } -bool AP_InertialSensor_LSM6DSV::fetch_primary_sample(SampleFrame &sample) -{ - // Primary mode is the planned first FIFO landing zone, so keep the current - // burst-read path isolated from the other route-specific fetch logic. - RawSampleWithTemp raw{}; - if (!read_registers(LSM6DSV_REG_OUT_TEMP_L, reinterpret_cast(&raw), sizeof(raw))) { - return false; - } - - sample.raw_temp = int16_t(le16toh(raw.temp)); - sample.has_raw_temp = true; - - sample.gyro = Vector3f{ - float(int16_t(le16toh(raw.gyro[0]))) * _gyro_scale, - float(int16_t(le16toh(raw.gyro[1]))) * _gyro_scale, - float(int16_t(le16toh(raw.gyro[2]))) * _gyro_scale, - }; - - sample.accel = Vector3f{ - float(int16_t(le16toh(raw.accel[0]))) * _accel_scale, - float(int16_t(le16toh(raw.accel[1]))) * _accel_scale, - float(int16_t(le16toh(raw.accel[2]))) * _accel_scale, - }; - - return true; -} - -bool AP_InertialSensor_LSM6DSV::read_sample(SampleFrame &sample) -{ - return fetch_primary_sample(sample); -} - -bool AP_InertialSensor_LSM6DSV::read_status_registers(uint8_t &gyro_status, uint8_t &accel_status, uint32_t now_us) -{ - gyro_status = 0; - accel_status = 0; - - if (!read_registers(LSM6DSV_REG_STATUS, &gyro_status, 1)) { - _inc_accel_error_count(accel_instance); - _inc_gyro_error_count(gyro_instance); - return false; - } - - accel_status = gyro_status; - return true; -} - -bool AP_InertialSensor_LSM6DSV::sample_ready_for_route(uint8_t gyro_status, uint8_t accel_status, uint32_t now_us) -{ - const bool gyro_ready = (gyro_status & LSM6DSV_STATUS_GDA) != 0; - const bool accel_ready = (accel_status & LSM6DSV_STATUS_XLDA) != 0; - return gyro_ready && accel_ready; -} - -bool AP_InertialSensor_LSM6DSV::fetch_current_sample(SampleFrame &sample, uint32_t now_us) -{ - if (read_sample(sample)) { - return true; - } - - _inc_accel_error_count(accel_instance); - _inc_gyro_error_count(gyro_instance); - return false; -} - -bool AP_InertialSensor_LSM6DSV::fetch_polling_frame(SampleFrame &sample, uint32_t now_us) -{ - uint8_t gyro_status = 0; - uint8_t accel_status = 0; - - if (!read_status_registers(gyro_status, accel_status, now_us)) { - return false; - } - - if (!sample_ready_for_route(gyro_status, accel_status, now_us)) { - return false; - } - - return fetch_current_sample(sample, now_us); -} - -bool AP_InertialSensor_LSM6DSV::fetch_source_frame(SourceFrame &frame, uint32_t now_us) -{ - uint8_t gyro_status = 0; - uint8_t accel_status = 0; - - if (!read_status_registers(gyro_status, accel_status, now_us)) { - return false; - } - - if (!sample_ready_for_route(gyro_status, accel_status, now_us)) { - return false; - } - - if (!fetch_current_sample(frame.sample, now_us)) { - return false; - } - - frame.gyro_status = gyro_status; - frame.accel_status = accel_status; - return true; -} - bool AP_InertialSensor_LSM6DSV::read_fifo_status(FifoFrame &frame, uint32_t now_us) { uint8_t fifo_status[2] {}; @@ -685,6 +554,7 @@ bool AP_InertialSensor_LSM6DSV::read_fifo_words_block(const uint16_t n_words, ui } _fifo_buffer[0] = LSM6DSV_REG_FIFO_DATA_OUT_TAG | LSM6DSV_SPI_READ_FLAG; + // zero MOSI payload for SPI full-duplex read memset(_fifo_buffer + 1, 0, n_words * sizeof(RawFifoWord)); if (!_dev->transfer_fullduplex(_fifo_buffer, n_words * sizeof(RawFifoWord) + 1)) { _inc_accel_error_count(accel_instance); @@ -697,7 +567,7 @@ bool AP_InertialSensor_LSM6DSV::read_fifo_words_block(const uint16_t n_words, ui bool AP_InertialSensor_LSM6DSV::consume_fifo_word(FifoFrame &frame, SampleFrame &sample, const uint8_t *raw_word) { - RawFifoWord raw{}; + RawFifoWord raw; memcpy(&raw, raw_word, sizeof(raw)); frame.tag = decode_fifo_tag(raw.tag); @@ -730,15 +600,6 @@ bool AP_InertialSensor_LSM6DSV::consume_fifo_word(FifoFrame &frame, SampleFrame uint16_t AP_InertialSensor_LSM6DSV::drain_fifo(uint32_t now_us) { FifoFrame frame{}; - frame.tag = FifoTag::Empty; - frame.unread_words = 0; - frame.tag_count = 0; - frame.source.gyro_status = 0; - frame.source.accel_status = 0; - frame.source.sample.raw_temp = 0; - frame.source.sample.has_raw_temp = false; - frame.source.sample.gyro.zero(); - frame.source.sample.accel.zero(); if (!read_fifo_status(frame, now_us)) { return 0; @@ -762,17 +623,17 @@ uint16_t AP_InertialSensor_LSM6DSV::drain_fifo(uint32_t now_us) const uint8_t *raw_word = _fifo_buffer + 1; for (uint16_t i = 0; i < block_words; i++, raw_word += sizeof(RawFifoWord)) { - if (!consume_fifo_word(frame, frame.source.sample, raw_word)) { + if (!consume_fifo_word(frame, frame.sample, raw_word)) { return samples_published; } drained++; if (frame.tag == FifoTag::GyroNC) { - publish_gyro_sample(frame.source.sample); + publish_gyro_sample(frame.sample); samples_published++; - frame.source.sample.gyro.zero(); + frame.sample.gyro.zero(); } else if (frame.tag == FifoTag::AccelNC) { - publish_accel_sample(frame.source.sample); - frame.source.sample.accel.zero(); + publish_accel_sample(frame.sample); + frame.sample.accel.zero(); } } } @@ -794,16 +655,7 @@ void AP_InertialSensor_LSM6DSV::publish_accel_sample(SampleFrame &sample) { _rotate_and_correct_accel(accel_instance, sample.accel); _notify_new_accel_raw_sample(accel_instance, sample.accel); - update_temperature(LSM6DSV_STATUS_GDA, nullptr); -} - -void AP_InertialSensor_LSM6DSV::publish_current_sample(SampleFrame &sample, uint8_t gyro_status) -{ - _rotate_and_correct_accel(accel_instance, sample.accel); - _rotate_and_correct_gyro(gyro_instance, sample.gyro); - _notify_new_accel_raw_sample(accel_instance, sample.accel); - _notify_new_gyro_raw_sample(gyro_instance, sample.gyro); - update_temperature(gyro_status, sample.has_raw_temp ? &sample.raw_temp : nullptr); + update_temperature(); } void AP_InertialSensor_LSM6DSV::check_register_monitor() @@ -818,48 +670,26 @@ void AP_InertialSensor_LSM6DSV::check_register_monitor() _dev->set_speed(AP_HAL::Device::SPEED_HIGH); } -void AP_InertialSensor_LSM6DSV::update_temperature(const uint8_t status, const int16_t *raw_temp) +void AP_InertialSensor_LSM6DSV::update_temperature() { - if (_temperature_counter++ < LSM6DSV_TEMPERATURE_UPDATE_INTERVAL) { + const uint32_t now_ms = AP_HAL::millis(); + if (now_ms - _temperature_last_ms < LSM6DSV_TEMPERATURE_UPDATE_MS) { return; } - _temperature_counter = 0; + _temperature_last_ms = now_ms; - int16_t temperature_raw = 0; - if (raw_temp != nullptr) { - temperature_raw = *raw_temp; - } else { - const bool fifo_temp_poll = active_sample_source() == SampleSourceMode::FIFO; - if (!fifo_temp_poll && (status & LSM6DSV_STATUS_TDA) == 0) { - return; - } - uint8_t tbuf[2]; - if (!read_registers(LSM6DSV_REG_OUT_TEMP_L, tbuf, sizeof(tbuf))) { - _inc_accel_error_count(accel_instance); - return; - } - temperature_raw = int16_t(uint16_t(tbuf[0] | (tbuf[1] << 8))); + uint8_t tbuf[2]; + if (!read_registers(LSM6DSV_REG_OUT_TEMP_L, tbuf, sizeof(tbuf))) { + _inc_accel_error_count(accel_instance); + return; } - + const int16_t temperature_raw = int16_t(uint16_t(tbuf[0] | (tbuf[1] << 8))); const float temp_degc = LSM6DSV_TEMPERATURE_ZERO_C + temperature_raw / LSM6DSV_TEMPERATURE_SENSITIVITY; _publish_temperature(accel_instance, temp_degc); } void AP_InertialSensor_LSM6DSV::poll_data() { - const uint32_t now_us = AP_HAL::micros(); - - if (active_sample_source() == SampleSourceMode::FIFO) { - drain_fifo(now_us); - check_register_monitor(); - return; - } - - SourceFrame frame{}; - if (!fetch_source_frame(frame, now_us)) { - return; - } - - publish_current_sample(frame.sample, frame.gyro_status); + drain_fifo(AP_HAL::micros()); check_register_monitor(); } diff --git a/libraries/AP_InertialSensor/AP_InertialSensor_LSM6DSV.h b/libraries/AP_InertialSensor/AP_InertialSensor_LSM6DSV.h index ed8db66bcc6bd..e1943cfc97e9e 100644 --- a/libraries/AP_InertialSensor/AP_InertialSensor_LSM6DSV.h +++ b/libraries/AP_InertialSensor/AP_InertialSensor_LSM6DSV.h @@ -34,16 +34,13 @@ class AP_InertialSensor_LSM6DSV : public AP_InertialSensor_Backend { AP_HAL::OwnPtr dev, enum Rotation rotation=LSM6DSV_DEFAULT_ROTATION); + ~AP_InertialSensor_LSM6DSV() override; + void start() override; bool update() override; bool get_output_banner(char* banner, uint8_t banner_len) override; private: - enum class SampleSourceMode : uint8_t { - Polling, - FIFO, - }; - enum class FifoTag : uint8_t { Empty = 0x00, GyroNC = 0x01, @@ -66,18 +63,10 @@ class AP_InertialSensor_LSM6DSV : public AP_InertialSensor_Backend { struct SampleFrame { Vector3f gyro; Vector3f accel; - int16_t raw_temp; - bool has_raw_temp; - }; - - struct SourceFrame { - SampleFrame sample; - uint8_t gyro_status; - uint8_t accel_status; }; struct FifoFrame { - SourceFrame source; + SampleFrame sample; FifoTag tag; uint16_t unread_words; uint8_t tag_count; @@ -98,26 +87,17 @@ class AP_InertialSensor_LSM6DSV : public AP_InertialSensor_Backend { bool read_registers(uint8_t reg, uint8_t *data, uint8_t len); bool write_register(uint8_t reg, uint8_t value, bool checked=false); - bool fetch_primary_sample(SampleFrame &sample); - bool read_sample(SampleFrame &sample); - bool read_status_registers(uint8_t &gyro_status, uint8_t &accel_status, uint32_t now_us); - bool sample_ready_for_route(uint8_t gyro_status, uint8_t accel_status, uint32_t now_us); - bool fetch_current_sample(SampleFrame &sample, uint32_t now_us); - bool fetch_polling_frame(SampleFrame &sample, uint32_t now_us); - bool fetch_source_frame(SourceFrame &frame, uint32_t now_us); bool read_fifo_status(FifoFrame &frame, uint32_t now_us); bool read_fifo_words_block(uint16_t n_words, uint32_t now_us); bool consume_fifo_word(FifoFrame &frame, SampleFrame &sample, const uint8_t *raw_word); uint16_t drain_fifo(uint32_t now_us); void publish_gyro_sample(SampleFrame &sample); void publish_accel_sample(SampleFrame &sample); - void publish_current_sample(SampleFrame &sample, uint8_t gyro_status); void check_register_monitor(); - void update_temperature(uint8_t status, const int16_t *raw_temp=nullptr); + void update_temperature(); uint8_t odr_code_for_rate(uint16_t rate_hz) const; uint16_t calculate_backend_rate(uint16_t base_rate_hz) const; - SampleSourceMode active_sample_source() const; static bool fifo_tag_supported_for_primary(FifoTag tag); static FifoTag decode_fifo_tag(uint8_t raw_tag); static uint8_t decode_fifo_tag_count(uint8_t raw_tag); @@ -130,7 +110,7 @@ class AP_InertialSensor_LSM6DSV : public AP_InertialSensor_Backend { float _accel_scale; float _gyro_scale; uint8_t _whoami; - uint8_t _temperature_counter; + uint32_t _temperature_last_ms; uint16_t _backend_rate_hz; uint32_t _backend_period_us; bool _fast_sampling = false; From 6deeaef9d9f472439007b07af0763325e94f802a Mon Sep 17 00:00:00 2001 From: Peter Barker Date: Wed, 11 Feb 2026 18:30:22 +1100 Subject: [PATCH 08/40] AP_Baro: read data from BMP581 twice, reject if not identical reports of corruption on this device --- libraries/AP_Baro/AP_Baro_BMP581.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/libraries/AP_Baro/AP_Baro_BMP581.cpp b/libraries/AP_Baro/AP_Baro_BMP581.cpp index c8afb69ca6705..fa7e4119c3d36 100644 --- a/libraries/AP_Baro/AP_Baro_BMP581.cpp +++ b/libraries/AP_Baro/AP_Baro_BMP581.cpp @@ -146,10 +146,20 @@ bool AP_Baro_BMP581::init() void AP_Baro_BMP581::timer(void) { uint8_t buf[6]; + uint8_t buf2[6]; + // read twice, make sure results are consistent; corruption has + // been seen from data on this sensor if (!_dev->read_registers(BMP581_REG_TEMP_DATA_XLSB, buf, sizeof(buf))) { return; } + if (!_dev->read_registers(BMP581_REG_TEMP_DATA_XLSB, buf2, sizeof(buf2))) { + return; + } + if (memcmp(buf, buf2, ARRAY_SIZE(buf)) != 0) { + // we didn't get the same data twice. Reject. + return; + } WITH_SEMAPHORE(_sem); From 096f61dbf90a7dcdd07fad66302bf0e7d28607f7 Mon Sep 17 00:00:00 2001 From: Peter Barker Date: Fri, 6 Mar 2026 15:05:42 +1100 Subject: [PATCH 09/40] hwdef: add BMP581 as Barometer option on Pixhawk6X --- libraries/AP_HAL_ChibiOS/hwdef/Pixhawk6X/hwdef.dat | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/libraries/AP_HAL_ChibiOS/hwdef/Pixhawk6X/hwdef.dat b/libraries/AP_HAL_ChibiOS/hwdef/Pixhawk6X/hwdef.dat index 396599565520f..ac9ac3a80823e 100644 --- a/libraries/AP_HAL_ChibiOS/hwdef/Pixhawk6X/hwdef.dat +++ b/libraries/AP_HAL_ChibiOS/hwdef/Pixhawk6X/hwdef.dat @@ -285,6 +285,10 @@ PI5 TIM8_CH1 TIM8 RCININT PULLDOWN LOW BARO BMP388 I2C:2:0x76 BARO BMP388 I2C:0:0x77 +# barometers (Holybro 6X more recent versions) +BARO BMP581 I2C:2:0x46 +BARO BMP581 I2C:0:0x46 + # barometers (CUAV 6X) BARO ICP201XX I2C:0:0x64 BARO ICP201XX I2C:2:0x63 From 6bd77df5a80c0ea15f33bc4f548fe1fa71cb3317 Mon Sep 17 00:00:00 2001 From: ES-Alexander Date: Mon, 13 Apr 2026 20:30:10 +1000 Subject: [PATCH 10/40] Sub: Parameters.h: fix outdated default lights output config --- ArduSub/Parameters.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ArduSub/Parameters.h b/ArduSub/Parameters.h index e37bda26fb09a..ec259666dfc2a 100644 --- a/ArduSub/Parameters.h +++ b/ArduSub/Parameters.h @@ -461,7 +461,7 @@ static const struct AP_Param::defaults_table_struct defaults_table[] = { #if AP_BARO_PROBE_EXT_PARAMETER_ENABLED { "BARO_PROBE_EXT", 768}, #endif - { "SERVO9_FUNCTION", 59}, // k_rcin9, lights 1 + { "SERVO9_FUNCTION", 181}, // k_lights1 { "SERVO10_FUNCTION", 7}, // k_mount_tilt #endif }; From 840fc2d0d3bfc5c45094ecf2a09e87d7c19c92fa Mon Sep 17 00:00:00 2001 From: Peter Hall Date: Tue, 7 Apr 2026 22:29:01 +0100 Subject: [PATCH 11/40] AP_Arming: arm_check: always check for estop --- libraries/AP_Arming/AP_Arming.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/libraries/AP_Arming/AP_Arming.cpp b/libraries/AP_Arming/AP_Arming.cpp index 0ce5f86815ac2..a31ba97036815 100644 --- a/libraries/AP_Arming/AP_Arming.cpp +++ b/libraries/AP_Arming/AP_Arming.cpp @@ -1777,6 +1777,13 @@ bool AP_Arming::arm_checks(AP_Arming::Method method) } #endif + // Run estop check again, here in the arm checks there is no need + // bypass the check if arm emergency stop aux function is setup + if (SRV_Channels::get_emergency_stop()) { + check_failed(true, "Motors Emergency Stopped"); + return false; + } + // ensure the GPS drivers are ready on any final changes if (check_enabled(Check::GPS_CONFIG)) { if (!AP::gps().prepare_for_arming()) { From fd279dce54cb9a9bb616b7f6cbb854111c3686de Mon Sep 17 00:00:00 2001 From: Leonard Hall Date: Fri, 10 Apr 2026 12:42:27 +0930 Subject: [PATCH 12/40] AP_Math: add comprehensive calculate_path tests covering all code paths --- libraries/AP_Math/tests/test_scurve.cpp | 93 ++++++++++++++++++++++--- 1 file changed, 84 insertions(+), 9 deletions(-) diff --git a/libraries/AP_Math/tests/test_scurve.cpp b/libraries/AP_Math/tests/test_scurve.cpp index 22b1a0beda59f..8a6f3e1ec15dd 100644 --- a/libraries/AP_Math/tests/test_scurve.cpp +++ b/libraries/AP_Math/tests/test_scurve.cpp @@ -5,18 +5,93 @@ #include #include -TEST(LinesScurve, test_calculate_path) +// Test inputs and expected outputs for each code path in calculate_path. +// +// With Sm=62.8319, Jm=10: tj ≈ 0.25, Jm*tj ≈ 2.5 +// At = MIN(Am, (Vm-V0)/(2*tj), (L - 4*V0*tj)/(4*tj²)) +// ≈ MIN(Am, (Vm-V0)/0.5, (L-V0)/0.25) +// +// Paths exercised: +// B: V0 >= Vm +// C: At <= 0 (requires L < V0 approx, sign fix path) +// D: At0, solution=0 +// G: At0, solution=2 +// H: At>=Jm*tj, solution=5 +// I: At>=Jm*tj, solution=7 +struct PathTest { + const char *name; + float Sm, Jm, V0, Am, Vm, L; + float exp_Jm, exp_tj, exp_t2, exp_t4, exp_t6; +}; + +static const PathTest path_tests[] = { + + // ---- Path B: V0 >= Vm ---- + {"B1_exact", 62.8319, 10, 10, 5, 10, 100, 0, 0, 0, 0, 0}, + {"B2_just", 62.8319, 10, 5.1, 5, 5, 100, 0, 0, 0, 0, 0}, + {"B3_mid", 62.8319, 10, 20, 5, 10, 100, 0, 0, 0, 0, 0}, + {"B4_low", 62.8319, 10, 3, 5, 2, 100, 0, 0, 0, 0, 0}, + + // ---- Path C: At <= 0 (sign fix) ---- + {"C1_just", 62.8319, 10, 5, 5, 10, 4.9, 0, 0, 0, 0, 0}, + {"C2_deep", 62.8319, 10, 8, 5, 10, 5, 0, 0, 0, 0, 0}, + {"C3_v3", 62.8319, 10, 3, 5, 10, 2.9, 0, 0, 0, 0, 0}, + {"C4_hiV0", 62.8319, 10, 9, 5, 10, 8, 0, 0, 0, 0, 0}, + + // ---- Path D: At0, solution=0 ---- + {"F1_nearC", 62.8319, 10, 5, 5, 10, 5.1, 1.60006297f, 0.24999982f, 0, 0, 0}, + {"F2_mid", 62.8319, 10, 1, 5, 10, 1.5, 8.00002861f, 0.24999982f, 0, 0, 0}, + {"F3_v2", 62.8319, 10, 2, 5, 10, 2.3, 4.80003214f, 0.24999982f, 0, 0, 0}, + {"F4_amBind", 62.8319, 10, 0.5, 2, 10, 0.8, 4.80001593f, 0.24999982f, 0, 0, 0}, + + // ---- Path G: At0, solution=2 ---- + {"G1_deep", 62.8319, 10, 1, 2, 10, 50, 8.00000572f, 0.24999982f, 0, 4.00000000f, 0}, + {"G2_mod", 62.8319, 10, 0.5, 2, 10, 10, 8.00000572f, 0.24999982f, 0, 2.16227818f, 0}, + {"G3_nearF", 62.8319, 10, 2, 2, 10, 10, 8.00000572f, 0.24999982f, 0, 1.50000060f, 0}, + {"G4_loV0", 62.8319, 10, 0.1, 2, 10, 50, 8.00000572f, 0.24999982f, 0, 4.44999981f, 0}, + + // ---- Path H: At>=Jm*tj, solution=5 ---- + {"H1_nearI", 62.8319, 10, 0, 5, 3.7, 100, 10.0f, 0.24999982f, 0.24598742f, 0, 0.24598742f}, + {"H2_mid", 62.8319, 10, 0, 5, 3.5, 100, 10.0f, 0.24999982f, 0.22966957f, 0, 0.22966957f}, + {"H3_shortL", 62.8319, 10, 0, 5, 10, 1.5, 10.0f, 0.24999982f, 0.12905994f, 0, 0.12905994f}, + {"H4_v0p", 62.8319, 10, 2, 5, 5.5, 100, 10.0f, 0.24999982f, 0.22966957f, 0, 0.22966957f}, + + // ---- Path I: At>=Jm*tj, solution=7 ---- + {"I1_nearH", 62.8319, 10, 0, 5, 3.8, 100, 10.0f, 0.24999982f, 0.25000018f, 0.01000018f, 0.25000018f}, + {"I2_deep", 62.8319, 10, 0, 5, 10, 100, 10.0f, 0.24999982f, 0.25000018f, 1.25000024f, 0.25000018f}, + {"I3_v0p", 62.8319, 10, 2, 5, 10, 100, 10.0f, 0.24999982f, 0.25000018f, 0.85000020f, 0.25000018f}, + {"I4_lowAm", 62.8319, 10, 0, 3, 5, 100, 10.0f, 0.24999982f, 0.05000019f, 1.11666679f, 0.05000019f}, +}; + +TEST(SCurveCalcPath, coverage_and_outputs) { - // this test doesn't do much... float Jm_out, tj_out, t2_out, t4_out, t6_out; - SCurve::calculate_path(62.8319, 10, 0, 5, 10, 100, - Jm_out, tj_out, t2_out, t4_out, t6_out); - EXPECT_FLOAT_EQ(Jm_out, 10); - EXPECT_FLOAT_EQ(t2_out, 0.25000018); - EXPECT_FLOAT_EQ(t4_out, 1.2500002); - EXPECT_FLOAT_EQ(t6_out, 0.25000018); -} + for (const auto &t : path_tests) { + SCurve::calculate_path(t.Sm, t.Jm, t.V0, t.Am, t.Vm, t.L, + Jm_out, tj_out, t2_out, t4_out, t6_out); + + EXPECT_FLOAT_EQ(Jm_out, t.exp_Jm) << "Jm mismatch: " << t.name; + EXPECT_FLOAT_EQ(tj_out, t.exp_tj) << "tj mismatch: " << t.name; + EXPECT_FLOAT_EQ(t2_out, t.exp_t2) << "t2 mismatch: " << t.name; + EXPECT_FLOAT_EQ(t4_out, t.exp_t4) << "t4 mismatch: " << t.name; + EXPECT_FLOAT_EQ(t6_out, t.exp_t6) << "t6 mismatch: " << t.name; + } +} AP_GTEST_MAIN() int hal = 0; //weirdly the build will fail without this From 813018edef01547d5cef3bdb2e0260a1bae718a8 Mon Sep 17 00:00:00 2001 From: Leonard Hall Date: Fri, 10 Apr 2026 12:43:25 +0930 Subject: [PATCH 13/40] SCurve: fix path length sign, integer division, and divide-by-zero bugs --- libraries/AP_Math/SCurve.cpp | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/libraries/AP_Math/SCurve.cpp b/libraries/AP_Math/SCurve.cpp index 35234608aa103..9fe6ed13204c3 100644 --- a/libraries/AP_Math/SCurve.cpp +++ b/libraries/AP_Math/SCurve.cpp @@ -294,7 +294,7 @@ void SCurve::set_speed_max(float speed_xy, float speed_up, float speed_down) // add to constant velocity segment to end at the correct position const float dP = MAX(0.0f, Pend - segment[SEG_DECEL_END].end_pos); - const float t15 = dP / segment[SEG_CONST].end_vel; + const float t15 = is_positive(segment[SEG_CONST].end_vel) ? dP / segment[SEG_CONST].end_vel : 0.0f; for (uint8_t i = SEG_CONST; i <= SEG_DECEL_END; i++) { segment[i].end_time += t15; segment[i].end_pos += dP; @@ -321,7 +321,7 @@ void SCurve::set_speed_max(float speed_xy, float speed_up, float speed_down) float t2 = 0; float t4 = 0; float t6 = 0; - float jerk_time = MIN(powf((fabsf(vel_max - segment[SEG_ACCEL_END].end_vel) * M_PI) / (4 * snap_max), 1/3), jerk_max * M_PI / (2 * snap_max)); + float jerk_time = MIN(powf((fabsf(vel_max - segment[SEG_ACCEL_END].end_vel) * M_PI) / (4 * snap_max), 1.0f / 3.0f), jerk_max * M_PI / (2 * snap_max)); if ((vel_max < segment[SEG_ACCEL_END].end_vel) && (jerk_time*12.0f < L/segment[SEG_ACCEL_END].end_vel)) { // we have a problem here with small segments. calculate_path(snap_max, jerk_max, vel_max, accel_max, segment[SEG_ACCEL_END].end_vel, L * 0.5f, Jm, tj, t6, t4, t2); @@ -372,7 +372,7 @@ void SCurve::set_speed_max(float speed_xy, float speed_up, float speed_down) // add to constant velocity segment to end at the correct position const float dP = MAX(0.0f, Pend - segment[SEG_DECEL_END].end_pos); - const float t15 = dP / segment[SEG_CONST].end_vel; + const float t15 = is_positive(segment[SEG_CONST].end_vel) ? dP / segment[SEG_CONST].end_vel : 0.0f; for (uint8_t i = SEG_CONST; i <= SEG_DECEL_END; i++) { segment[i].end_time += t15; segment[i].end_pos += dP; @@ -454,7 +454,7 @@ float SCurve::set_origin_speed_max(float speed) // add to constant velocity segment to end at the correct position const float dP = MAX(0.0f, seg_length - segment[SEG_DECEL_END].end_pos); - const float t15 = dP / segment[SEG_CONST].end_vel; + const float t15 = is_positive(segment[SEG_CONST].end_vel) ? dP / segment[SEG_CONST].end_vel : 0.0f; for (uint8_t i = SEG_CONST; i <= SEG_DECEL_END; i++) { segment[i].end_time += t15; segment[i].end_pos += dP; @@ -509,7 +509,7 @@ void SCurve::set_destination_speed_max(float speed) // add to constant velocity segment to end at the correct position const float dP = MAX(0.0f, seg_length - segment[SEG_DECEL_END].end_pos); - const float t15 = dP / segment[SEG_CONST].end_vel; + const float t15 = is_positive(segment[SEG_CONST].end_vel) ? dP / segment[SEG_CONST].end_vel : 0.0f; for (uint8_t i = SEG_CONST; i <= SEG_DECEL_END; i++) { segment[i].end_time += t15; segment[i].end_pos += dP; @@ -912,9 +912,12 @@ void SCurve::calculate_path(float Sm, float Jm, float V0, float Am, float Vm, fl } float tj = Jm * M_PI / (2 * Sm); - float At = MIN(MIN(Am, - (Vm - V0) / (2.0f * tj) ), - (L + 4.0f * V0 * tj) / (4.0f * sq(tj)) ); + float At = MIN(MIN(Am, + (Vm - V0) / (2.0f * tj) ), + (L - 4.0f * V0 * tj) / (4.0f * sq(tj)) ); + if (!is_positive(At)) { + return; + } if (fabsf(At) < Jm * tj) { if (is_zero(V0)) { // we do not have a solution for non-zero initial velocity From 133a4eb02a2e09082248f7fea344e858255dc1eb Mon Sep 17 00:00:00 2001 From: Leonard Hall Date: Fri, 10 Apr 2026 12:45:51 +0930 Subject: [PATCH 14/40] SCurve: use consistent float literals throughout --- libraries/AP_Math/SCurve.cpp | 46 ++++++++++++++++++------------------ 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/libraries/AP_Math/SCurve.cpp b/libraries/AP_Math/SCurve.cpp index 9fe6ed13204c3..7dfea024854a4 100644 --- a/libraries/AP_Math/SCurve.cpp +++ b/libraries/AP_Math/SCurve.cpp @@ -55,7 +55,7 @@ void SCurve::init() is_arc_segment = false; seg_delta.zero(); - seg_length = 0.0; + seg_length = 0.0f; arc = {}; } @@ -84,7 +84,7 @@ void SCurve::calculate_track(const Vector3p &origin, const Vector3p &destination const Vector2f chord = seg_delta.xy(); const float chord_length = seg_delta.xy().length(); - if (!is_positive(chord_length) || fabsf(wrap_PI(arc_ang_rad)) < radians(1.0)) { + if (!is_positive(chord_length) || fabsf(wrap_PI(arc_ang_rad)) < radians(1.0f)) { // straight segment is_arc_segment = false; arc.angle_rad = 0.0f; @@ -321,7 +321,7 @@ void SCurve::set_speed_max(float speed_xy, float speed_up, float speed_down) float t2 = 0; float t4 = 0; float t6 = 0; - float jerk_time = MIN(powf((fabsf(vel_max - segment[SEG_ACCEL_END].end_vel) * M_PI) / (4 * snap_max), 1.0f / 3.0f), jerk_max * M_PI / (2 * snap_max)); + float jerk_time = MIN(powf((fabsf(vel_max - segment[SEG_ACCEL_END].end_vel) * M_PI) / (4.0f * snap_max), 1.0f / 3.0f), jerk_max * M_PI / (2.0f * snap_max)); if ((vel_max < segment[SEG_ACCEL_END].end_vel) && (jerk_time*12.0f < L/segment[SEG_ACCEL_END].end_vel)) { // we have a problem here with small segments. calculate_path(snap_max, jerk_max, vel_max, accel_max, segment[SEG_ACCEL_END].end_vel, L * 0.5f, Jm, tj, t6, t4, t2); @@ -668,7 +668,7 @@ void SCurve::project_scurve_onto_track(float scurve_A1, float scurve_V1, float s float SCurve::time_end() const { if (num_segs != segments_max) { - return 0.0; + return 0.0f; } return segment[SEG_DECEL_END].end_time; } @@ -677,7 +677,7 @@ float SCurve::time_end() const float SCurve::get_time_remaining() const { if (num_segs != segments_max) { - return 0.0; + return 0.0f; } return segment[SEG_DECEL_END].end_time - time; } @@ -686,7 +686,7 @@ float SCurve::get_time_remaining() const float SCurve::get_accel_finished_time() const { if (num_segs != segments_max) { - return 0.0; + return 0.0f; } return segment[SEG_ACCEL_END].end_time; } @@ -705,7 +705,7 @@ bool SCurve::braking() const float SCurve::time_accel_end() const { if (num_segs != segments_max) { - return 0.0; + return 0.0f; } return segment[SEG_ACCEL_END].end_time; } @@ -715,7 +715,7 @@ float SCurve::time_accel_end() const float SCurve::time_decel_start() const { if (num_segs != segments_max) { - return 0.0; + return 0.0f; } return segment[SEG_DECEL_START].end_time; } @@ -730,10 +730,10 @@ void SCurve::advance_time(float dt) void SCurve::get_jerk_accel_vel_pos_at_time(float time_now, float &Jt_out, float &At_out, float &Vt_out, float &Pt_out) const { // start with zeros as function is void and we want to guarantee all outputs are initialised - Jt_out = 0; - At_out = 0; - Vt_out = 0; - Pt_out = 0; + Jt_out = 0.0f; + At_out = 0.0f; + Vt_out = 0.0f; + Pt_out = 0.0f; if (num_segs != segments_max) { return; } @@ -801,7 +801,7 @@ void SCurve::calc_javp_for_segment_const_jerk(float time_now, float J0, float A0 void SCurve::calc_javp_for_segment_incr_jerk(float time_now, float tj, float Jm, float A0, float V0, float P0, float &Jt, float &At, float &Vt, float &Pt) const { if (!is_positive(tj)) { - Jt = 0.0; + Jt = 0.0f; At = A0; Vt = V0; Pt = P0; @@ -819,7 +819,7 @@ void SCurve::calc_javp_for_segment_incr_jerk(float time_now, float tj, float Jm, void SCurve::calc_javp_for_segment_decr_jerk(float time_now, float tj, float Jm, float A0, float V0, float P0, float &Jt, float &At, float &Vt, float &Pt) const { if (!is_positive(tj)) { - Jt = 0.0; + Jt = 0.0f; At = A0; Vt = V0; Pt = P0; @@ -911,7 +911,7 @@ void SCurve::calculate_path(float Sm, float Jm, float V0, float Am, float Vm, fl return; } - float tj = Jm * M_PI / (2 * Sm); + float tj = Jm * M_PI / (2.0f * Sm); float At = MIN(MIN(Am, (Vm - V0) / (2.0f * tj) ), (L - 4.0f * V0 * tj) / (4.0f * sq(tj)) ); @@ -922,10 +922,10 @@ void SCurve::calculate_path(float Sm, float Jm, float V0, float Am, float Vm, fl if (is_zero(V0)) { // we do not have a solution for non-zero initial velocity tj = MIN( MIN( MIN( tj, - powf((L * M_PI) / (8.0 * Sm), 1.0/4.0) ), - powf((Vm * M_PI) / (4.0 * Sm), 1.0/3.0) ), - safe_sqrt((Am * M_PI) / (2.0 * Sm)) ); - Jm = 2.0 * Sm * tj / M_PI; + powf((L * M_PI) / (8.0f * Sm), 1.0f / 4.0f) ), + powf((Vm * M_PI) / (4.0f * Sm), 1.0f / 3.0f) ), + safe_sqrt((Am * M_PI) / (2.0f * Sm)) ); + Jm = 2.0f * Sm * tj / M_PI; Am = Jm * tj; } else { // When doing speed change we use fixed tj and adjust Jm for small changes @@ -941,7 +941,7 @@ void SCurve::calculate_path(float Sm, float Jm, float V0, float Am, float Vm, fl // solution = 2 - t6 t4 t2 = 0 1 0 t2_out = 0.0f; t4_out = MIN(-(V0 - Vm + Am * tj + (Am * Am) / Jm) / Am, MAX(((Am * Am) * (-3.0f / 2.0f) + safe_sqrt((Am * Am * Am * Am) * (1.0f / 4.0f) + (Jm * Jm) * (V0 * V0) + (Am * Am) * (Jm * Jm) * (tj * tj) * (1.0f / 4.0f) + Am * (Jm * Jm) * L * 2.0f - (Am * Am) * Jm * V0 + (Am * Am * Am) * Jm * tj * (1.0f / 2.0f) - Am * (Jm * Jm) * V0 * tj) - Jm * V0 - Am * Jm * tj * (3.0f / 2.0f)) / (Am * Jm), ((Am * Am) * (-3.0f / 2.0f) - safe_sqrt((Am * Am * Am * Am) * (1.0f / 4.0f) + (Jm * Jm) * (V0 * V0) + (Am * Am) * (Jm * Jm) * (tj * tj) * (1.0f / 4.0f) + Am * (Jm * Jm) * L * 2.0f - (Am * Am) * Jm * V0 + (Am * Am * Am) * Jm * tj * (1.0f / 2.0f) - Am * (Jm * Jm) * V0 * tj) - Jm * V0 - Am * Jm * tj * (3.0f / 2.0f)) / (Am * Jm))); - t4_out = MAX(t4_out, 0.0); + t4_out = MAX(t4_out, 0.0f); t6_out = 0.0f; } } else { @@ -955,7 +955,7 @@ void SCurve::calculate_path(float Sm, float Jm, float V0, float Am, float Vm, fl // solution = 7 - t6 t4 t2 = 1 1 1 t2_out = Am / Jm - tj; t4_out = MIN(-(V0 - Vm + Am * tj + (Am * Am) / Jm) / Am, MAX(((Am * Am) * (-3.0f / 2.0f) + safe_sqrt((Am * Am * Am * Am) * (1.0f / 4.0f) + (Jm * Jm) * (V0 * V0) + (Am * Am) * (Jm * Jm) * (tj * tj) * (1.0f / 4.0f) + Am * (Jm * Jm) * L * 2.0f - (Am * Am) * Jm * V0 + (Am * Am * Am) * Jm * tj * (1.0f / 2.0f) - Am * (Jm * Jm) * V0 * tj) - Jm * V0 - Am * Jm * tj * (3.0f / 2.0f)) / (Am * Jm), ((Am * Am) * (-3.0f / 2.0f) - safe_sqrt((Am * Am * Am * Am) * (1.0f / 4.0f) + (Jm * Jm) * (V0 * V0) + (Am * Am) * (Jm * Jm) * (tj * tj) * (1.0f / 4.0f) + Am * (Jm * Jm) * L * 2.0f - (Am * Am) * Jm * V0 + (Am * Am * Am) * Jm * tj * (1.0f / 2.0f) - Am * (Jm * Jm) * V0 * tj) - Jm * V0 - Am * Jm * tj * (3.0f / 2.0f)) / (Am * Jm))); - t4_out = MAX(t4_out, 0.0); + t4_out = MAX(t4_out, 0.0f); t6_out = t2_out; } } @@ -1067,7 +1067,7 @@ void SCurve::add_segment_incr_jerk(uint8_t &index, float tj, float Jm) if (!is_positive(tj)) { add_segment(index, segment[index - 1].end_time, SegmentType::CONSTANT_JERK, - 0.0, + 0.0f, segment[index - 1].end_accel, segment[index - 1].end_vel, segment[index - 1].end_pos); @@ -1096,7 +1096,7 @@ void SCurve::add_segment_decr_jerk(uint8_t &index, float tj, float Jm) if (!is_positive(tj)) { add_segment(index, segment[index - 1].end_time, SegmentType::CONSTANT_JERK, - 0.0, + 0.0f, segment[index - 1].end_accel, segment[index - 1].end_vel, segment[index - 1].end_pos); From 375ed8256f02bca7f8a10959bded075aa5851c8f Mon Sep 17 00:00:00 2001 From: Leonard Hall Date: Fri, 10 Apr 2026 12:47:22 +0930 Subject: [PATCH 15/40] SCurve: fix comment, whitespace and operator spacing --- libraries/AP_Math/SCurve.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/libraries/AP_Math/SCurve.cpp b/libraries/AP_Math/SCurve.cpp index 7dfea024854a4..a0cb697073624 100644 --- a/libraries/AP_Math/SCurve.cpp +++ b/libraries/AP_Math/SCurve.cpp @@ -98,7 +98,7 @@ void SCurve::calculate_track(const Vector3p &origin, const Vector3p &destination arc.radius_ne = fabsf(chord_length / (2.0f * fabsf(sinf(arc.angle_rad * 0.5f)))); const float center_offset = safe_sqrt(sq(arc.radius_ne) - sq(chord_length * 0.5f)); // perpendicular offset from chord to circle center const float turn_dir = is_negative(arc.angle_rad) ? -1.0f : 1.0f; // -1 for CCW, 1 for CW - const float center_side = (is_positive(wrap_PI(fabsf(arc.angle_rad)))) ? 1.0f : -1.0f; // -1 for CCW, 1 for CW + const float center_side = (is_positive(wrap_PI(fabsf(arc.angle_rad)))) ? 1.0f : -1.0f; // 1 for |angle| < PI, -1 for |angle| > PI if (!is_zero(arc.radius_ne) && !is_zero(chord_length)) { arc.center_ne = chord * 0.5f + Vector2f(-chord.y, chord.x) * (center_side * turn_dir * center_offset / chord_length); arc.length_ne = arc.radius_ne * fabsf(arc.angle_rad); @@ -322,13 +322,13 @@ void SCurve::set_speed_max(float speed_xy, float speed_up, float speed_down) float t4 = 0; float t6 = 0; float jerk_time = MIN(powf((fabsf(vel_max - segment[SEG_ACCEL_END].end_vel) * M_PI) / (4.0f * snap_max), 1.0f / 3.0f), jerk_max * M_PI / (2.0f * snap_max)); - if ((vel_max < segment[SEG_ACCEL_END].end_vel) && (jerk_time*12.0f < L/segment[SEG_ACCEL_END].end_vel)) { + if ((vel_max < segment[SEG_ACCEL_END].end_vel) && (jerk_time * 12.0f < L / segment[SEG_ACCEL_END].end_vel)) { // we have a problem here with small segments. calculate_path(snap_max, jerk_max, vel_max, accel_max, segment[SEG_ACCEL_END].end_vel, L * 0.5f, Jm, tj, t6, t4, t2); Jm = -Jm; - } else if ((vel_max > segment[SEG_ACCEL_END].end_vel) && (L/(jerk_time*12.0f) > segment[SEG_ACCEL_END].end_vel)) { - float Vm = MIN(vel_max, L/(jerk_time*12.0f)); + } else if ((vel_max > segment[SEG_ACCEL_END].end_vel) && (L / (jerk_time * 12.0f) > segment[SEG_ACCEL_END].end_vel)) { + float Vm = MIN(vel_max, L / (jerk_time * 12.0f)); calculate_path(snap_max, jerk_max, segment[SEG_ACCEL_END].end_vel, accel_max, Vm, L * 0.5f, Jm, tj, t2, t4, t6); } @@ -723,7 +723,7 @@ float SCurve::time_decel_start() const // increment the internal time void SCurve::advance_time(float dt) { - time = MIN(time+dt, time_end()); + time = MIN(time + dt, time_end()); } // calculate the jerk, acceleration, velocity and position at the provided time @@ -888,7 +888,7 @@ void SCurve::add_segments(float L) // Vm - maximum constant velocity // L - Length of the path // tj_out, t2_out, t4_out, t6_out are the segment durations needed to achieve the kinematic path specified by the input variables -void SCurve::calculate_path(float Sm, float Jm, float V0, float Am, float Vm, float L,float &Jm_out, float &tj_out, float &t2_out, float &t4_out, float &t6_out) +void SCurve::calculate_path(float Sm, float Jm, float V0, float Am, float Vm, float L, float &Jm_out, float &tj_out, float &t2_out, float &t4_out, float &t6_out) { // init outputs Jm_out = 0.0f; From 835b8b5e78704fe1114867f63dfeb63074fec613 Mon Sep 17 00:00:00 2001 From: Leonard Hall Date: Fri, 10 Apr 2026 13:35:16 +0930 Subject: [PATCH 16/40] AP_Math: add constraint validation to calculate_path tests --- libraries/AP_Math/tests/test_scurve.cpp | 151 ++++++++++++++++++++++++ 1 file changed, 151 insertions(+) diff --git a/libraries/AP_Math/tests/test_scurve.cpp b/libraries/AP_Math/tests/test_scurve.cpp index 8a6f3e1ec15dd..73f6842f7128f 100644 --- a/libraries/AP_Math/tests/test_scurve.cpp +++ b/libraries/AP_Math/tests/test_scurve.cpp @@ -77,6 +77,63 @@ static const PathTest path_tests[] = { {"I4_lowAm", 62.8319, 10, 0, 3, 5, 100, 10.0f, 0.24999982f, 0.05000019f, 1.11666679f, 0.05000019f}, }; +// Segment state used to integrate through the profile +struct SegState { + float A, V, P; +}; + +// Integrate an increasing-jerk segment (raised cosine from 0 to Jm) +static SegState seg_incr_jerk(SegState s, float tj, float Jm) +{ + if (tj <= 0) return s; + const float Alpha = Jm * 0.5f; + const float Beta = M_PI / tj; + const float AT = Alpha * tj; + const float VT = Alpha * (sq(tj) * 0.5f - 2.0f / sq(Beta)); + const float PT = Alpha * ((-1.0f / sq(Beta)) * tj + (1.0f / 6.0f) * powf(tj, 3.0f)); + return {s.A + AT, + s.V + s.A * tj + VT, + s.P + s.V * tj + 0.5f * s.A * sq(tj) + PT}; +} + +// Integrate a constant-jerk segment +static SegState seg_const_jerk(SegState s, float t, float J) +{ + if (t <= 0) return s; + return {s.A + J * t, + s.V + s.A * t + 0.5f * J * sq(t), + s.P + s.V * t + 0.5f * s.A * sq(t) + (1.0f / 6.0f) * J * powf(t, 3.0f)}; +} + +// Integrate a decreasing-jerk segment (raised cosine from Jm to 0) +static SegState seg_decr_jerk(SegState s, float tj, float Jm) +{ + if (tj <= 0) return s; + const float Alpha = Jm * 0.5f; + const float Beta = M_PI / tj; + const float AT = Alpha * tj; + const float VT = Alpha * (sq(tj) * 0.5f - 2.0f / sq(Beta)); + const float PT = Alpha * ((-1.0f / sq(Beta)) * tj + (1.0f / 6.0f) * powf(tj, 3.0f)); + const float A2T = Jm * tj; + const float V2T = Jm * sq(tj); + const float P2T = Alpha * ((-1.0f / sq(Beta)) * 2.0f * tj + (4.0f / 3.0f) * powf(tj, 3.0f)); + return {(s.A - AT) + A2T, + (s.V - VT) + (s.A - AT) * tj + V2T, + (s.P - PT) + (s.V - VT) * tj + 0.5f * (s.A - AT) * sq(tj) + P2T}; +} + +// Integrate a 3-segment jerk block: incr, const, decr +static SegState seg_jerk_block(SegState s, float tj, float Jm, float Tcj, float &peak_A) +{ + s = seg_incr_jerk(s, tj, Jm); + peak_A = MAX(peak_A, fabsf(s.A)); + s = seg_const_jerk(s, Tcj, Jm); + peak_A = MAX(peak_A, fabsf(s.A)); + s = seg_decr_jerk(s, tj, Jm); + peak_A = MAX(peak_A, fabsf(s.A)); + return s; +} + TEST(SCurveCalcPath, coverage_and_outputs) { float Jm_out, tj_out, t2_out, t4_out, t6_out; @@ -93,5 +150,99 @@ TEST(SCurveCalcPath, coverage_and_outputs) } } +// Verify that calculate_path outputs, when applied through add_segments logic, +// produce a full path that: +// - total distance == 2*L (add_segments calls calculate_path with L*0.5) +// - peak velocity <= Vm +// - peak acceleration <= Am +// - output jerk <= input Jm +// - final velocity == V0 (returns to initial speed) +// - final acceleration == 0 +// +// add_segments builds: +// Accel half: jerk_block(tj, +Jm, t2) + const(t4, 0) + jerk_block(tj, -Jm, t6) +// Coast: const(t_coast, 0) where t_coast fills remaining distance at Vm +// Decel half: jerk_block(tj, -Jm, t6) + const(t4, 0) + jerk_block(tj, +Jm, t2) +TEST(SCurveCalcPath, constraints) +{ + const float tol = 1.0e-3f; + float Jm_out, tj_out, t2_out, t4_out, t6_out; + + for (const auto &t : path_tests) { + SCurve::calculate_path(t.Sm, t.Jm, t.V0, t.Am, t.Vm, t.L, + Jm_out, tj_out, t2_out, t4_out, t6_out); + + // skip zero-output cases (paths B, C) + if (is_zero(Jm_out) && is_zero(tj_out)) { + continue; + } + + // jerk limit: output Jm must not exceed input Jm + EXPECT_LE(Jm_out, t.Jm + tol) << "Jm exceeded: " << t.name; + + // --- Accel half --- + float peak_A = 0.0f; + SegState s = {0.0f, t.V0, 0.0f}; + + // accel up: jerk_block(tj, +Jm, t2) + s = seg_jerk_block(s, tj_out, Jm_out, t2_out, peak_A); + float peak_V = s.V; + + // coast within accel half: const(t4, 0) + s = seg_const_jerk(s, t4_out, 0.0f); + peak_V = MAX(peak_V, s.V); + + // accel down: jerk_block(tj, -Jm, t6) + s = seg_jerk_block(s, tj_out, -Jm_out, t6_out, peak_A); + + // end of accel half: acceleration should be ~0 + EXPECT_NEAR(s.A, 0.0f, tol) << "accel half final A non-zero: " << t.name; + + const float accel_half_P = s.P; + const float cruise_V = s.V; + + // --- Coast segment (fill remaining distance at cruise velocity) --- + const float L_total = 2.0f * t.L; + const float coast_dist = MAX(0.0f, L_total - 2.0f * accel_half_P); + float t_coast = 0.0f; + if (cruise_V > 0.0f) { + t_coast = coast_dist / cruise_V; + } + s = seg_const_jerk(s, t_coast, 0.0f); + peak_V = MAX(peak_V, s.V); + + // --- Decel half (mirror of accel) --- + // decel down: jerk_block(tj, -Jm, t6) + s = seg_jerk_block(s, tj_out, -Jm_out, t6_out, peak_A); + + // coast within decel half: const(t4, 0) + s = seg_const_jerk(s, t4_out, 0.0f); + + // decel up: jerk_block(tj, +Jm, t2) + s = seg_jerk_block(s, tj_out, Jm_out, t2_out, peak_A); + + // --- Check constraints --- + + // total distance must match 2*L + EXPECT_NEAR(s.P, L_total, tol) << "distance mismatch: " << t.name + << " P=" << s.P << " expected=" << L_total; + + // final velocity must return to V0 + EXPECT_NEAR(s.V, t.V0, tol) << "final velocity mismatch: " << t.name + << " V=" << s.V << " V0=" << t.V0; + + // final acceleration must be zero + EXPECT_NEAR(s.A, 0.0f, tol) << "final accel non-zero: " << t.name; + + // peak velocity must not exceed Vm + EXPECT_LE(peak_V, t.Vm + tol) << "velocity exceeded Vm: " << t.name + << " peak_V=" << peak_V << " Vm=" << t.Vm; + + // peak acceleration must not exceed Am + EXPECT_LE(peak_A, t.Am + tol) << "accel exceeded Am: " << t.name + << " peak_A=" << peak_A << " Am=" << t.Am; + } +} + AP_GTEST_MAIN() int hal = 0; //weirdly the build will fail without this From 340b83c00be85113d5706dd58eb9f98e1d54449a Mon Sep 17 00:00:00 2001 From: Peter Barker Date: Mon, 30 Mar 2026 15:22:37 +1100 Subject: [PATCH 17/40] autotest: correct validation of subgroupvar pointers --- Tools/autotest/helicopter.py | 6 ++++++ Tools/autotest/vehicle_test_suite.py | 25 +++++++++++++++++++++++++ 2 files changed, 31 insertions(+) diff --git a/Tools/autotest/helicopter.py b/Tools/autotest/helicopter.py index 683790ff12422..3d05e315376fd 100644 --- a/Tools/autotest/helicopter.py +++ b/Tools/autotest/helicopter.py @@ -39,6 +39,12 @@ def default_speedup(self): def is_heli(self): return True + def subgroupvarptr_activation_params(self): + ret = super(AutoTestHelicopter, self).subgroupvarptr_activation_params() + # AC_CustomControl is disabled on heli (AC_CUSTOMCONTROL_MULTI_ENABLED is false) + ret.pop("CC_TYPE", None) + return ret + def rc_defaults(self): ret = super(AutoTestHelicopter, self).rc_defaults() ret[8] = 1000 diff --git a/Tools/autotest/vehicle_test_suite.py b/Tools/autotest/vehicle_test_suite.py index 8c4b08eb7fe4f..96bbd949d42f3 100644 --- a/Tools/autotest/vehicle_test_suite.py +++ b/Tools/autotest/vehicle_test_suite.py @@ -2597,6 +2597,23 @@ def test_adsb_send_threatening_adsb_message(self, here, offset_ne=None): 17 # squawk ) + def subgroupvarptr_activation_params(self): + '''Return parameters to set (before restarting SITL) to activate + AP_SUBGROUPVARPTR backends, making their parameters visible in the + parameter download. Only entries whose key appears in the htree will + be applied. Subclasses may call super() and pop entries that are not + compiled in for their vehicle type.''' + return { + "CAM1_TYPE": 8, # AP_Camera: RunCam backend + "PRX1_TYPE": 10, # AP_Proximity: SITL backend + "RNGFND1_TYPE": 100, # AP_RangeFinder: SIM backend + "BATT2_MONITOR": 4, # AP_BattMonitor: instance 1 (Analog V+I) + "FILT1_TYPE": 1, # AP_Filter: NotchFilter backend + "TEMP1_TYPE": 8, # AP_TemperatureSensor: SHT3X (simulated in SITL) + "GEN_TYPE": 1, # AP_Generator: IE_650_800 backend + "CC_TYPE": 2, # AC_CustomControl: PID backend (ArduCopter) + } + def test_parameter_documentation_get_all_parameters(self): xml_filepath = os.path.join(self.buildlogs_dirpath(), "apm.pdef.xml") @@ -2620,6 +2637,14 @@ def test_parameter_documentation_get_all_parameters(self): target_system = self.sysid_thismav() target_component = 1 + # Activate AP_SUBGROUPVARPTR backends whose type params appear in the + # documented parameter set, so their params are visible in the download. + # customise_SITL_commandline() below restarts SITL without wiping + # EEPROM, so these settings persist into the restarted instance. + for name, value in self.subgroupvarptr_activation_params().items(): + if name in htree: + self.set_parameter(name, value) + self.customise_SITL_commandline([ "--unhide-groups" ]) From e5992e53569dd11a21e14ab8a03336dfe0b26eb3 Mon Sep 17 00:00:00 2001 From: Peter Barker Date: Mon, 30 Mar 2026 15:31:56 +1100 Subject: [PATCH 18/40] AC_CustomControl: document the customcontrol paraemters for the second controller --- libraries/AC_CustomControl/AC_CustomControl.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libraries/AC_CustomControl/AC_CustomControl.cpp b/libraries/AC_CustomControl/AC_CustomControl.cpp index dd4a13611bde4..831a275d85ca9 100644 --- a/libraries/AC_CustomControl/AC_CustomControl.cpp +++ b/libraries/AC_CustomControl/AC_CustomControl.cpp @@ -31,7 +31,8 @@ const AP_Param::GroupInfo AC_CustomControl::var_info[] = { // parameters for empty controller. only used as a template, no need for param table // AP_SUBGROUPVARPTR(_backend, "1_", 6, AC_CustomControl, _backend_var_info[0]), - // parameters for PID controller + // @Group: 2_ + // @Path: AC_CustomControl_PID.cpp AP_SUBGROUPVARPTR(_backend, "2_", 7, AC_CustomControl, _backend_var_info[1]), AP_GROUPEND From 394050c20e863cea11a8faef0b5332909954c5e6 Mon Sep 17 00:00:00 2001 From: Peter Barker Date: Mon, 30 Mar 2026 15:50:57 +1100 Subject: [PATCH 19/40] autotest: add Parameters check that all SUBGROUPVARPTR variables are annotated --- Tools/autotest/vehicle_test_suite.py | 38 ++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/Tools/autotest/vehicle_test_suite.py b/Tools/autotest/vehicle_test_suite.py index 96bbd949d42f3..df933e2d58c11 100644 --- a/Tools/autotest/vehicle_test_suite.py +++ b/Tools/autotest/vehicle_test_suite.py @@ -12833,10 +12833,48 @@ def test_parameters_mis_total(self): raise NotAchievedException("MAVProxy failed to get parameter") self.stop_mavproxy(mavproxy) + def test_subgroupvarptr_annotated(self): + '''Check that every AP_SUBGROUPVARPTR entry in the source tree has + @Group: and @Path: annotations immediately preceding it. Without + these annotations param_parse.py cannot discover the backend + parameters, so documentation mismatches would never be caught.''' + failures = [] + skip_dirs = {'modules', 'build', '.git', 'docs'} + for dirpath, dirnames, filenames in os.walk(self.rootdir()): + dirnames[:] = [d for d in dirnames if d not in skip_dirs] + for filename in filenames: + if not filename.endswith('.cpp'): + continue + filepath = os.path.join(dirpath, filename) + lines = pathlib.Path(filepath).read_text().splitlines() + for i, line in enumerate(lines): + if not line.strip().startswith('AP_SUBGROUPVARPTR'): + continue + has_group = False + has_path = False + for j in range(i - 1, max(i - 5, -1), -1): + prev = lines[j].strip() + if not prev: + continue + if '@Group:' in prev: + has_group = True + elif '@Path:' in prev: + has_path = True + if not prev.startswith('//'): + break + if not (has_group and has_path): + failures.append("%s:%d" % (os.path.relpath(filepath, self.rootdir()), i + 1)) + for f in failures: + self.progress("AP_SUBGROUPVARPTR missing @Group:/@Path: at %s" % f) + if failures: + raise NotAchievedException("AP_SUBGROUPVARPTR entries missing @Group:/@Path: annotations") + def test_parameter_documentation(self): '''ensure parameter documentation is valid''' self.start_subsubtest("Check all parameters are documented") self.test_parameter_documentation_get_all_parameters() + self.start_subsubtest("Check AP_SUBGROUPVARPTR entries have documentation annotations") + self.test_subgroupvarptr_annotated() def Parameters(self): '''general small tests for parameter system''' From 58cff8d3bf35ca14675678cef35d4ec8cce84bd8 Mon Sep 17 00:00:00 2001 From: Peter Barker Date: Tue, 14 Apr 2026 15:36:54 +1000 Subject: [PATCH 20/40] RC_Channel: document UDP RC protocol input --- libraries/RC_Channel/RC_Channels_VarInfo.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/RC_Channel/RC_Channels_VarInfo.h b/libraries/RC_Channel/RC_Channels_VarInfo.h index 14390535bf9bf..2345c820fd258 100644 --- a/libraries/RC_Channel/RC_Channels_VarInfo.h +++ b/libraries/RC_Channel/RC_Channels_VarInfo.h @@ -101,7 +101,7 @@ const AP_Param::GroupInfo RC_Channels::var_info[] = { // @DisplayName: RC protocols enabled // @Description: Bitmask of enabled RC protocols. Allows narrowing the protocol detection to only specific types of RC receivers which can avoid issues with incorrect detection. Set to 1 to enable all protocols. // @User: Advanced - // @Bitmask: 0:All,1:PPM,2:IBUS,3:SBUS,4:SBUS_NI,5:DSM,6:SUMD,7:SRXL,8:SRXL2,9:CRSF,10:ST24,11:FPORT,12:FPORT2,13:FastSBUS,14:DroneCAN,15:Ghost,16:MAVRadio + // @Bitmask: 0:All,1:PPM,2:IBUS,3:SBUS,4:SBUS_NI,5:DSM,6:SUMD,7:SRXL,8:SRXL2,9:CRSF,10:ST24,11:FPORT,12:FPORT2,13:FastSBUS,14:DroneCAN,15:Ghost,16:MAVRadio,18:SITL UDP AP_GROUPINFO("_PROTOCOLS", 34, RC_CHANNELS_SUBCLASS, _protocols, 1), // @Param: _FS_TIMEOUT From 40e71b46a3670587b24c59da0249cedf9ae836ce Mon Sep 17 00:00:00 2001 From: UAVcihang <39545866+UAVcihang@users.noreply.github.com> Date: Wed, 1 Apr 2026 10:23:04 +0800 Subject: [PATCH 21/40] AP_GPS: Fix DNU constant values in AP_GPS_SBF.cpp bug --- libraries/AP_GPS/AP_GPS_SBF.cpp | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/libraries/AP_GPS/AP_GPS_SBF.cpp b/libraries/AP_GPS/AP_GPS_SBF.cpp index da3a9e62dc170..c2c10a6e98fd4 100644 --- a/libraries/AP_GPS/AP_GPS_SBF.cpp +++ b/libraries/AP_GPS/AP_GPS_SBF.cpp @@ -590,15 +590,11 @@ AP_GPS_SBF::process_message(void) check_new_itow(temp.TOW, sbf_msg.length); - constexpr double floatDNU = -2e-10f; constexpr uint8_t errorBits = 0x8F; // Bits 0-1 are aux 1 baseline // Bits 2-3 are aux 2 baseline // Bit 7 is attitude not requested -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wfloat-equal" // suppress -Wfloat-equal as it's false positive when testing for DNU values if (((temp.Error & errorBits) == 0) - && (temp.Cov_HeadHead != floatDNU)) { -#pragma GCC diagnostic pop + && !is_DNU(temp.Cov_HeadHead)) { state.gps_yaw_accuracy = sqrtf(temp.Cov_HeadHead); state.have_gps_yaw_accuracy = true; } else { @@ -628,12 +624,9 @@ AP_GPS_SBF::process_message(void) } case BaseVectorGeod: { -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wfloat-equal" // suppress -Wfloat-equal as it's false positive when testing for DNU values const msg4028 &temp = sbf_msg.data.msg4028u; // just breakout any consts we need for Do Not Use (DNU) reasons - constexpr double doubleDNU = -2e-10; constexpr uint16_t uint16DNU = 65535; check_new_itow(temp.TOW, sbf_msg.length); @@ -652,7 +645,7 @@ AP_GPS_SBF::process_message(void) state.rtk_age_ms = (temp.info.CorrAge != 65535) ? ((uint32_t)temp.info.CorrAge) * 10 : 0; // copy the position as long as the data isn't DNU, we require NED, and heading before accepting any of it - if ((temp.info.DeltaEast != doubleDNU) && (temp.info.DeltaNorth != doubleDNU) && (temp.info.DeltaUp != doubleDNU) && + if (!is_DNU(temp.info.DeltaEast) && !is_DNU(temp.info.DeltaNorth) && !is_DNU(temp.info.DeltaUp) && (temp.info.Azimuth != uint16DNU)) { state.rtk_baseline_y_mm = temp.info.DeltaEast * 1e3; @@ -675,7 +668,6 @@ AP_GPS_SBF::process_message(void) state.have_gps_yaw = false; } -#pragma GCC diagnostic pop break; } } From 0267cd0082b7525111e0a12ef8b2e8fc25349cbb Mon Sep 17 00:00:00 2001 From: ES-Alexander Date: Mon, 30 Mar 2026 16:15:31 +0800 Subject: [PATCH 22/40] Sub: fix support for remote leak detection --- ArduSub/GCS_MAVLink_Sub.cpp | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/ArduSub/GCS_MAVLink_Sub.cpp b/ArduSub/GCS_MAVLink_Sub.cpp index 7f747ad7a6bef..09d68cded1221 100644 --- a/ArduSub/GCS_MAVLink_Sub.cpp +++ b/ArduSub/GCS_MAVLink_Sub.cpp @@ -736,16 +736,14 @@ void GCS_MAVLINK_Sub::handle_message(const mavlink_message_t &msg) break; } - // This adds support for leak detectors in a separate enclosure - // connected to a mavlink enabled subsystem + // Remote leak sensor support (e.g. in a separate enclosure), via MAVLink status messages. case MAVLINK_MSG_ID_SYS_STATUS: { - uint32_t MAV_SENSOR_WATER = 0x20000000; mavlink_sys_status_t packet; mavlink_msg_sys_status_decode(&msg, &packet); if ((msg.sysid == gcs().sysid_this_mav()) && - (packet.onboard_control_sensors_enabled & MAV_SENSOR_WATER) && - !(packet.onboard_control_sensors_health & MAV_SENSOR_WATER) - ) { + (packet.onboard_control_sensors_present & MAV_SYS_STATUS_EXTENSION_USED) && + (packet.onboard_control_sensors_enabled_extended & MAV_SYS_STATUS_SENSOR_LEAK) && + !(packet.onboard_control_sensors_health_extended & MAV_SYS_STATUS_SENSOR_LEAK)) { sub.leak_detector.set_detect(); } break; From 0f72108b5a93d4cd11741b600218531d8b8ce927 Mon Sep 17 00:00:00 2001 From: Stephen Dade Date: Wed, 15 Apr 2026 21:37:54 +1000 Subject: [PATCH 23/40] AR_Motors: Lower BAT_WATT_TC default to 2 --- libraries/AR_Motors/AP_MotorsUGV.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/AR_Motors/AP_MotorsUGV.cpp b/libraries/AR_Motors/AP_MotorsUGV.cpp index e6684df81c0a3..bdc146e3e9e15 100644 --- a/libraries/AR_Motors/AP_MotorsUGV.cpp +++ b/libraries/AR_Motors/AP_MotorsUGV.cpp @@ -136,7 +136,7 @@ const AP_Param::GroupInfo AP_MotorsUGV::var_info[] = { // @Range: 0 10 // @Units: s // @User: Advanced - AP_GROUPINFO("BAT_WATT_TC", 16, AP_MotorsUGV, _batt_power_time_constant, 5.0f), + AP_GROUPINFO("BAT_WATT_TC", 16, AP_MotorsUGV, _batt_power_time_constant, 2.0f), #endif AP_GROUPEND From 0181946e6a1934a35db78a3c635c8c102a56937f Mon Sep 17 00:00:00 2001 From: Stephen Dade Date: Wed, 15 Apr 2026 21:38:18 +1000 Subject: [PATCH 24/40] AR_Motors: Fix power limit bounds checking --- libraries/AR_Motors/AP_MotorsUGV.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libraries/AR_Motors/AP_MotorsUGV.cpp b/libraries/AR_Motors/AP_MotorsUGV.cpp index bdc146e3e9e15..ba8a6c79f7935 100644 --- a/libraries/AR_Motors/AP_MotorsUGV.cpp +++ b/libraries/AR_Motors/AP_MotorsUGV.cpp @@ -1024,8 +1024,8 @@ float AP_MotorsUGV::get_power_limit_max_throttle(float dt) _throttle_limit += (dt / (dt + _batt_power_time_constant)) * (1.0f - power_ratio); - // throttle limit drops to 5% minimum when over power limit - _throttle_limit = constrain_float(_throttle_limit, _throttle_min, _throttle_max); + // ensure throttle limit is within min and max throttle limits + _throttle_limit = constrain_float(_throttle_limit, _throttle_min * 0.01f, _throttle_max * 0.01f); return _throttle_limit; } From f113afab2dc84d33217014adca6d56f57d2012dc Mon Sep 17 00:00:00 2001 From: Peter Hall Date: Thu, 23 Apr 2026 16:46:49 +0100 Subject: [PATCH 25/40] AC_PID: update range on target and error filter indices --- libraries/AC_PID/AC_PID.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libraries/AC_PID/AC_PID.cpp b/libraries/AC_PID/AC_PID.cpp index 5087a42540e80..3ac8e09763ee2 100644 --- a/libraries/AC_PID/AC_PID.cpp +++ b/libraries/AC_PID/AC_PID.cpp @@ -84,14 +84,14 @@ const AP_Param::GroupInfo AC_PID::var_info[] = { // @Param: NTF // @DisplayName: PID Target notch filter index // @Description: PID Target notch filter index - // @Range: 1 8 + // @Range: 0 8 // @User: Advanced AP_GROUPINFO("NTF", 15, AC_PID, _notch_T_filter, 0), // @Param: NEF // @DisplayName: PID Error notch filter index // @Description: PID Error notch filter index - // @Range: 1 8 + // @Range: 0 8 // @User: Advanced AP_GROUPINFO("NEF", 16, AC_PID, _notch_E_filter, 0), #endif From b800983c1d80392e87546524edc3dac5446da737 Mon Sep 17 00:00:00 2001 From: Hunter McClelland Date: Wed, 22 Apr 2026 20:14:53 -0400 Subject: [PATCH 26/40] AC_WPNav: Fix sign mistake in a sub-part of BendyRulerHorizontal --- libraries/AC_WPNav/AC_WPNav_OA.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libraries/AC_WPNav/AC_WPNav_OA.cpp b/libraries/AC_WPNav/AC_WPNav_OA.cpp index 0098eb55ab617..347b00bb1956e 100644 --- a/libraries/AC_WPNav/AC_WPNav_OA.cpp +++ b/libraries/AC_WPNav/AC_WPNav_OA.cpp @@ -242,7 +242,7 @@ bool AC_WPNav_OA::update_wpnav() return false; } - // Convert global destination to NEU vector and pass directly to position controller + // Convert global destination to NED vector and pass directly to position controller Vector2f destination_ne_m; if (!_oa_destination.get_vector_xy_from_origin_NE_m(destination_ne_m)) { // this should never happen because we can only get here if we have an EKF origin @@ -251,7 +251,7 @@ bool AC_WPNav_OA::update_wpnav() } float target_alt_loc_alt_m = 0; UNUSED_RESULT(target_alt_loc.get_alt_m(target_alt_loc.get_alt_frame(), target_alt_loc_alt_m)); - Vector3p destination_ned_m{destination_ne_m.x, destination_ne_m.y, target_alt_loc_alt_m}; + Vector3p destination_ned_m{destination_ne_m.x, destination_ne_m.y, -target_alt_loc_alt_m}; // pass the desired position directly to the position controller _pos_control.input_pos_NED_m(destination_ned_m, terrain_d_m, 10.0); From cbb521915f9b396063430609845ce4cde34042c9 Mon Sep 17 00:00:00 2001 From: Iampete1 Date: Sat, 25 Apr 2026 17:44:48 +0100 Subject: [PATCH 27/40] AP_IOMCU: iofirmware: never output throttle if failsafe if disarmed --- libraries/AP_IOMCU/iofirmware/mixer.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/libraries/AP_IOMCU/iofirmware/mixer.cpp b/libraries/AP_IOMCU/iofirmware/mixer.cpp index 7277c56cdf55d..32f482b146be0 100644 --- a/libraries/AP_IOMCU/iofirmware/mixer.cpp +++ b/libraries/AP_IOMCU/iofirmware/mixer.cpp @@ -24,6 +24,8 @@ #define ANGLE_SCALE ((int32_t)4500) #define RANGE_SCALE ((int32_t)1000) +extern const AP_HAL::HAL& hal; + /* return a RC input value scaled from -4500 to 4500 */ @@ -141,6 +143,11 @@ void AP_IOMCU_FW::run_mixer(void) } } + // Never output throttle if the vehicle was disarmed when we last heard from the FMU + if (!hal.util->get_soft_armed()) { + throttle = 0; + } + for (uint8_t i=0; i Date: Sat, 25 Apr 2026 17:45:05 +0100 Subject: [PATCH 28/40] Tools: IO Firmware: rebuild --- .../iofirmware_cube_dshot_highpolh.bin | Bin 47908 -> 47876 bytes .../iofirmware_cube_dshot_lowpolh.bin | Bin 47908 -> 47876 bytes .../IO_Firmware/iofirmware_cube_highpolh.bin | Bin 40984 -> 40880 bytes Tools/IO_Firmware/iofirmware_cube_lowpolh.bin | Bin 40984 -> 40880 bytes Tools/IO_Firmware/iofirmware_cubered.bin | Bin 98864 -> 98840 bytes .../IO_Firmware/iofirmware_dshot_highpolh.bin | Bin 47652 -> 47628 bytes .../IO_Firmware/iofirmware_dshot_lowpolh.bin | Bin 47652 -> 47628 bytes .../iofirmware_f103_8MHz_dshot_highpolh.bin | Bin 53476 -> 53340 bytes .../iofirmware_f103_8MHz_dshot_lowpolh.bin | Bin 53476 -> 53340 bytes .../iofirmware_f103_8MHz_highpolh.bin | Bin 40736 -> 40632 bytes .../iofirmware_f103_8MHz_lowpolh.bin | Bin 40736 -> 40632 bytes .../iofirmware_f103_dshot_highpolh.bin | Bin 53476 -> 53340 bytes .../iofirmware_f103_dshot_lowpolh.bin | Bin 53476 -> 53340 bytes .../IO_Firmware/iofirmware_f103_highpolh.bin | Bin 40728 -> 40632 bytes Tools/IO_Firmware/iofirmware_f103_lowpolh.bin | Bin 40728 -> 40632 bytes Tools/IO_Firmware/iofirmware_highpolh.bin | Bin 40736 -> 40632 bytes Tools/IO_Firmware/iofirmware_lowpolh.bin | Bin 40736 -> 40632 bytes 17 files changed, 0 insertions(+), 0 deletions(-) diff --git a/Tools/IO_Firmware/iofirmware_cube_dshot_highpolh.bin b/Tools/IO_Firmware/iofirmware_cube_dshot_highpolh.bin index d9cad7f0ca76bfa64ab3aa6f7a8335e8ab443aa1..a99f6487418970a39cf8ac26bc6fd3332fb2ac8c 100755 GIT binary patch delta 13587 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 delta 13559 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 delta 13559 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 diff --git a/Tools/IO_Firmware/iofirmware_cube_highpolh.bin b/Tools/IO_Firmware/iofirmware_cube_highpolh.bin index f23e2095b762941446fcb29629ec5ef7aec8f17b..b44bbbbc8e3b02b0232c735b099a003156868614 100755 GIT binary patch delta 11811 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 delta 11972 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 diff --git a/Tools/IO_Firmware/iofirmware_cube_lowpolh.bin b/Tools/IO_Firmware/iofirmware_cube_lowpolh.bin index 82aabcbe5728868c638927ffaa26f5d1f02e0ac8..ffb8795a8a3dfcea06856f3310d3dc11f5ae469f 100755 GIT binary patch delta 11811 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 delta 11972 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 YfsHnhr#pa+xB^hij}V@Ivym|z0F;Y~^#A|> delta 24390 zcmb4r3tUvy7Wdg_W?*;;h{#)J7*P<(K{W9_3~&HJ!PL~$0<|39n3=B(Of;>$p<5cw zylG}>Y4VU1mC&+>x9kqSg3PO?HX&ID1?S8R%zXbnfZ2U~-|y4kV(q>5+H0@bI0ImX( zA+$@Ya>QK%J8>6%A$UpwrvY~XAvS)?fC!&t8?Rgl*Z~-d^0w&Yim}L=k1*X$Hby7^ z(II7JR`lokW|8#(saFC z{Fg+%z4TCx=6dxEtFVzMxmqRoies(4#>q9kGWX^u8tUiqh9~G+ugN|oPjTAup1kq^ zAfxiO*HjX4+{S4Rgv*a%rIr1%y2;}p#!=_ zhnD4DlqL?`CQXRipU!Dif?TbWbfbxAw$Vl14wCO^nC~=FPnY}lC9lzUeFu}>^pfvk zQcTzTZI;zL6g1F(E_s?3`o~3PSYOpQnqmc&Kt#RunEs|o_lUru^sIkAQPQ~XefbuN zPV7E?phk)joR(~-PHhP8Ep870IBI<=ojB%;13P3L7|?{=-L#XmA|YHHAk zMKYSV*3|>veK~CgT2P1n{B5pGc`L1QQ4gMw4RlH1R8l~{4IDbZNV`3q>@1dkL37^L z9+8Uuk4S$@NVp@D6_}1l8^+7yIdNT4Y&}1c#ILS@ax968b2aZY!}jzz!!~JyddfVO zOJ=yTczZhXs#z?~;FyAioAiNFXR}kKcvR+GgTVL4n(&7E)V08R;bI)-( zEw-774|Pm5q$t_&Wam{dzdFM23AsmF?9>7JH|)wXR?v-W+d2YE}%rq*?Bq+8l0W|hE+^X!elPK(sequ00dzT$=UGt!YK4w_lty84;c zgyjeRVt3Dy3+`i-nc;cLjGABlbewpECWenDPtm2}YOnX!ek!T>5H+8XIhK)TB* zx47D{Ym)puz$<{QpGv~OVIdcESKJdWMy;68>&ZB6{k30ZV*k?8)B%6~dowHb^y%sW z15#6~2hf=jJ?Zj@9;#IX2CM?Snf3iy7w4N3@RdjVdl`y@eI*fQeqN|&zPI4#^EgC4JtdtDPt3gFbJ%5fzZSv!Vp~S;?<#DO)0W6sZUgi^jLS+!*A===gXvC z==})V92uroYB&CZ3i`1EpXg{DJ1=7e-qd)Zz_GL{GLrmAFGUU|+o-Q9l1!rmR2s!j zGp9+XlU0eb>`$`kW|hWg=qE#e;WS)qVauRT2GJT-SfS<@E=&DOaGTS~Rc$IGAMxTI zyF4QVvw_UOW)6?C8Is&yl*Vb3sshFaWcJAJk>M*Yw8jbnz;l7wn((ZZkMhe@X;cxu z;uRYw-gcyHOcCX>lp;>N<_ara;RY6NDVmj1lvEQwPo|U)z@KmkKbFdASs{M-uHzfU zob_ebr2cDV;@37e^zvs8g^&Q;Vy7F`6a8Op<6=Zp0_NAVl3yMto~C!z14t>2h#KlY z25HTYq!rUSQLzdpKAe_DrHsSZt647{9GG_9B$W-k8JZraYmkZFwqm{ABomc3k3KOu zav?|L=H|3;2ASxz?slcvt#aXODY!%?K5$XUD4E!7rF}HL172#+X(`f>C}hY#k*^he z#HDnGW_+(ZCy9EaKB-nI_=&epD$D)E0W}5b495Xe@7}>=1dZ-}l%!T(?foH7QtA4> z%M|hmu31M(Oh{o;m0Xyua$0V*D+E=!T9Av=ZBw)2^7iEwgL)a%DK6@GTZ}LYW2gMgOD@hVa}4_Zlc|}FMmIHK5SPc z3kH|?C>s~0%VNS6&2Mn)rBSN5JU7woyq$jxj1IE{~J)}f$E3sM67W!fjFj(y+Ecfd6n zl;Cn!3nKnteRkISpp6BsL&0yXTvTAEf*T(yxY>Do<~Efx(=zm7W=^beM$g)g%mX@$ zAflf=dUjGx>hlMCv(mj>c%j$4jUG0)`#MDx0os{NlDdU<7ejR`XZV;{Ja z?(DBouqAQ^{j&eFPz(g^N8~L9RG0#~ftPt%?uze-zd;VezJq7w&J8$tqh{6?!#5D7J%FD&%n+ zYuRivUCaJX)Ykket?Mejk0~+>e0~$8ggma_=XL!f6wNyKiIRMDf)FeOl!qC@Q0RyH z*198RR*mbXj-i6x8R%S0eO*V1g{;Vb*4LTQ*B(UUnav8~#pP}LpM`iXcA>oK6z84u)$91I8{M9pP0+WaiQ41mJzwSha|CYE$5;spfi}XmDXWgL3)np)E1;O-aqLh z9?~(Hv5D=G;-_^MpHxFM{GyQ5*L7^@2k3j$5*1T`t5sHcWTk}~&byOK$_!;qj_B*{ zmO<2RV~Qm1R7jp8(_ehiN{})FV@3xsXgTc~j1iWZ0l{n&npcqiJ}n;*5SCz534S$P z?fc;L!`y0;y!G>tFBG?2~#X%v#wkE~d5{22p52Qccz)TwK2<)7}+jzso&y zS_T%pdpA7P{r8e#*Y1XSO23;|_5Hob6EmUpm_z4T^ZO}Jzu*0ag;hYJcfuv}ia5Rj zLA8lqOBkYH#Z=I+foq79?id(GCef;akwX`@UzEZLrzx`)iN#Wn1f2(8=2x>#O40sV zq<3eL-j5XdA@xaIs`0RHlSXTQ4&Ew_R=uLXRktG?hqmTXvVOwZ3T}&1Efe?Cy@^@A zpSAsDz9&%*2RHCfS>LUf7rHzBL z$Z$IN@%)jV$Ghf}C6CN0tmJ|!^mKwk7+%SX&q$XfE^upsq z3loqgY2`v(`A3GR>YI#Xv2T4r%_XT##r1n&;zboW+Eo5oMWNgE_gs0K%$Fd0C(e=H z3B$`3&BcVBHeYCC(}s7#my)C_s9}_3=a&+fTyCCk2wTX--821yR*Br>j*qBwJgaaN z9O4y{?O-FhqV>jT&Qy@DMO$q~TM_X({bR_tz9Z~NmGUF`gtHY6%MN-rDUz(CjY;Wb zBuy9^;d_sL2M^P8=!~I3vCUSGEF51R?jaQ7F(*5N7fTy+i=|E4Vri>33E$3lbl1=y z0-pJcgp&>~<_tZT6vlsGrFW79ECx-(A~b=2VS3)N+U!(cMTHU*_v$#VFeSwhM&pKS zh)8pWYeHUbd$dXgs8WfmO5N$}!^akmAHgdx4Erl2{}`x}1p=6sF}WerXcK7FJN){ZHoHREozDXZDnyGwFcsRZ>xr^Um`;#@78O}nPT{g~L;aKZ$L$x$wZ z<~b~LIwwY!208|k!%oXa_aX}V&(T52mz`X7QjJobXK+|dPA*2OixHHWHNPh5i1<9l z?e=te)^`0}Q=Y*Lwb-{*I*M2BHn?$27%#p>`|32_AK97sL5pO{9*gLcx;!FQ9@U-Z zanN3w@+{d;ucc%S`K)b^*(dIk`l;ce!nYNln72tfKThSaY(V3T#u%K&dB>GBaGGN2 zDeW8PSYaC|4$E?ypQCSLtfP z)1&DL5-PvS;K|f7Yqo1XE3=Ms;i82F=_T0H1eBLx zk}XIN77EgtUJlDowsuQ~laEql%A03%oH)oz(DQj12NSh^H3w60VwCdyNO?i}Y%M3w zr|K~SM$d^N`#CYg`Tjl;@T>dnY*s+P`O;-ng@|w zSHAwVa7+YAp}WRt3YSN5qK7j!VkW1>0r%-PCa*8#@nr=yOkY`bL3&4jI4qNG3XH`( z?do!9>L$B>wUO)IZrSQ2AI%lCIJY)SGPbvjyN55wVfoq0KGcF5Im$igD)*9u69+pO zkLFp2<&L#`j9l9+C;Mx=t3I!Y!91bGN6=_xnMEsOdtb`dIxG(mCi~x)#-aK@(#2V6 z0g+Z&j9Y^|s$SwapC%X(#ewwethhNG=v0zZ0IH~vuWlhbcQ$CRP(Vz)_IF1)vzB6Y@TE#u_b@k7?{83dy8ADvCz2& zIcMmGnUjc5OYSjzJ*Q#~rZN!mNl6xCK@C-%nx|UjF@My(_cx-dk>uL9L$}faV>Moa zj;6M=I>diQZ|O*%hs zv7()B&*{Vey`7%Q3GU>)nxo;H?3B-4L@Mc$Ty>9sS(EY(nU6qBFlxYY-{@6~=?A&v z+?ZsX?YoWtzHs?*3_BPDW}RepdZnzF;LU0j;pgh|750IcB2-Avw4;qNxJt2Xvs(Ir z*IV$3A`y%_8&n_hSz8CsIv0;$jgKfCXR=3kmXQdYRHYn)RZ}u(`MlxPX@!g8%Q5D} zkJ@8|c8koa5?FKG!q?cv*gt{KOQ|+VG2=TpOI@75!}gt26a0cq$-Y9Zs@>8c72tfy zuj19RCHePxUXgjKQI>eBQIROm;-4pZ>t?F**jy{2DSj$&<%4N6K{rp6rz~%``~w30 zY79v9t8zm^7yUEP+bu_3sa!46Y21Wo3xjOISSdBG@pKY-evOAk9FPjAkL9!zf!_z1 z9^Z ze@#zJujo1IJJFroqd^ljL4BM~%R6m8;(n*bWn73fBrV{?8Fc)_kizdJ)rlAb(S&4& zjN7|ZW`I3Ay_@(t>Y@}?wqrQVhRxreUJt8m_c2FQKjwRjtq%G1b>LzgzP13Tg?G#&x~&3F-e)39knsIo4DF(G8dr^y8+%9P^@k{G`w;m+T(rHv7``J1tcrj zz!q}G$YtP+16)v*fjK^=EggTOU4Nt61cW19f5Y3-5Dszu?b()!aDeNtUt0>oK5Z#u zQnFIBQ!_*JQZv%BlzH;jvI2CW*xRNblai?tQpR?JB~B0C!kcz|hKHDHOU{ZBdNYep zwoZ}{?1EkFYb6 zn^q~dSaVvwDd5;01eVtrb+Obx;Y_2B^iZ`~o^Ub)(E>FmHrcs8{W4W!z%h0_Sn@R) zG1=Y37ae^wl;Q-8?>=MtWz{p;pb6Sc&OGR@| z1au7%s(Lc`sVNu}Y@D%i#m3w>Xluh#0FIQmb9p5jXSYCSV~~ABY|Q14=auY3`Bi3e z--Iw5cdV}pAd8Jf`Er@EF_*sgWH!IOmWogI2rfa#ad)}vT-DC9Kkj?1HAETED!C3C zK3NsqW8i;F9K;fX>4M41|G^OKpl?i8kskEWvZi(Xw9s|>oI6|jvGuc7C!XM2xfT39 z61BgH$lgf{Y!K&>CU2!0LtfcT_^^fB(@VkrwmT*Cf2k=)@=3HW^o>4 zWK3MlZ*@eYS*l=bRkEy%Z4-Q4o2J$}-z>iA6`mM+8A_GnJOv8t%5&Sa*Pv+So=+Aa znm-@PgulsztGAn#sk`%jpy#Gc=B<-ypQ)pUIxW3x{f?v>`d7;gFmq>Jkczay>70s% zSqr{m2t^9+CtcKn^se|ex@T%2T{X2EJu|f@E+DT=jo{Btp|+`^q=*JS6*+A46ke&V zT34np$OT+LY_VD1b~YJ!!99cQSf`iO%`zlbUqWGQds6eOR>ulu8LZ<)MMHl%^@tSMCBt+ z15U!u=N;|qdJfB@Tqu&>@$!r%iXY?ohL|di!^cli0u~vSX7fkqh z?bMWinIF+!xqs$#rQ$n$9i~c;`Bj8mq_qp8`I`Ckmj%6imYiS)8(AK!LL2p8*mtN3 zmRJ^Jz!oFB*_G!OE+M3(a`fUIvY_iIp=)z3qJ&M@TstgJSN`$*Gd$T? znX@dJC+>91@;c(6vsQeJV~X#}a{dno{d{FTd6Mp272>-9CgLsyZIL0j7 zeT%bNq{??Utdx-xl_9T1%SZ_wy*ZtDSH8MA-5sWoe{KsR)2Vq|d{50bcu4@(06qj< z1&rTD`<3d*Ryw~lmaL(rr72<4P}2L-23#DE(rz|$s#rm`wOAUBa>iBOFO4I(42?9Z zdnUdGe+wh-@PRJ?JP=;<7JbsFBQH^-F_z4sr;RBjtx~c5F5&&0v}MOFk2f$uo&s#A zH{KpX7SNEL%RLr!(%zsuc22@T`eWz#UXAbY%JiKbFc;zBfOf>qfH!y2r{4)CN9gi* z)MN|Y@lIq=e!CpTk=@#Y8XeY``5C3so;*)+BmL()efbycRC=c$|FoU<-WB7OY5zcz zlMz>7v!v3=yRyh{bnmWs-rY{m@9IzfMV-4eAqP*&I)!n)1G2KCf-=;?^a4-uJRSb` zNL^Xm$16_Vcklgq1wVYN*{NwN*l6ZzS)ELPF99zBK1dFn2DrlN%j$QggVyw&mcIRW z0r$=~{vOGv+ba2Yli0u>zI#Rl6Tyx?uK}}cuLA-R?*WikR_*S~lRql2z86Nw{7UQI zp@erxbkM#ef5yX#WW}(2FVi*q7JIS~qny&x2m8+R>mBqTAN(HOL(geP00v?42n7TK z!T~V=5i=0>TlaW+^}{!N+{K-Twj8@Ftx5`iDK1YYu8?Ta{@gG*mbnaoGnQ>r<4k2% zxwaeZm9Oh#sr!MxkxkgJ+AKF<4qjxL+noTZKmFsQWVfsPc_qk?f2@k-X*y53{CaJ1Q$r|91f zK32#qENl|sG)0n9eX3CxP>^ntIKpTp(g+teN!gw8c$G=YO{mj(rJMq0JOuehvQQ^3 zl6w0yx^8trx>(gCo9j~|#dBy6Z+WYH`Dxwz&GK$s^z%Y@i46C)$>``q30`SXF)}u= z9-MUbp|qf6#4{72DsTpHWNe5l?T14{viZd_8)^1T;pfa+9Fmeh$FD|~ec$|_Ig~7i z_G~EZxlPHWTzY{W*-=-RC1Yjv!3kQ)pQBHHGAy1I!dM%0r=*QgomFTQs}Pu3cvS*B z*K@Tz3)7lU;zL%F%`jAPqEm6b{Bp(jJfFnV#=~KS|E^}&R-V(;Np0L|SZ;&M>mLkuTuKZjhN8E8Wj8i?)2z;+G?&2HP zn`W+dF9wnjeooIftfW)WNbuz0T$eNdbMnHVXN~kDc+B0 zW{1jb@|MKKIE%{?=genVzF-b6U&c25M<1yAA@?aSTvw^0wxw|w3ew+e^5(hb7l^DW zn>%0e1m_{Dv8*erY?ex^EbEFPIFwoQbsowZw%cTv>D`3*Y^2hiw?ey1j6`I$hB7*!*`&L9py1EiWy9MwLAUlfFuKQP53Lootq(~Y;=T{uf zQTkWd@88EbALLi_?p?)djN7}q)foE;%;a|XK3DXstizj)NnA0)f}MZm71Y7xKC#1;XuJ+=Av889^i3Z)3teP7r zY>>Xig84>*8@8k7zqT6nIr46grgox)#6=&BUV=L+jN~hwyLN=&4Tycz?Jbjnhnrk;{8XjQ};? z>~NI|ISA)N6#g6f^E%)=I_YR6(b8o{2k_$$(GQM}7(2y5wrd3Wn1O0H@h3P*urH;< zd>n#d&bD7x%P-E0(n|?ngwBd{Z;)r5kzOKU23%!sIwKXMpV5QI`lEvy zj>Yx54;RAsrDCl#Z~7QE;luAqJWw=VAS!p!XrocpkMX5e`b6~tGLt5J9TA`qU$K+H zcPr%ack8Y%CTgq2ME|G`HJj!Q})jUUU?nvK7CmoOLw&f{adApid z#vbRDn=qvxAJ$7Q9+!5{2`=9zP4<(E_pBW)a?_>lzE9~d$CJF?vwk?|RW#FGvyR4| zIF!5wWm+v3$!f8;>%;P!++}0ZmNqG6FI?cFFE++#1_-74<+w#&d12$2`-VUmg4?uB z^EPDSigWI3sM#JGbTXol+saX;_=`PAB5}@s-A$f0{(k;qFTIZmvq#ynX5vdzJ#Ak0 z@g}z>Jzs%2nTvU{PCnQ#{&w9(N#b-ZMOs|nv@^wbFP4j8R?Wiq7U#5VUvgz`cSCj} zyNRQD?&4|t-o@&L*->EzMmamTKF?kCRNm9H{A3soAm>hM3fG?}>g$VL!#T%lNw2;P zf5EUj#P^d&O5Sf`UVLzOTEbNj`oMC>PIeYm>~3APM0fA|g0iM$-<&(ieD^Dtr40YA z6)g8mQw1*7W}esG`{$BPp|4eRyB;i*q&Lkg5~i8KrDpW7JG`&1&pq=%Wv!=>u+lSi zYX!H1i%l^-!ELR$j1|U9pJ-CU_3NxkswT+&p;rR2SpCSur>X~ST z=r-2GGgwbM9EaK2(Gvzd&oL2(Ut!{!W}tevx@}n7i==T{V48kv0(qbAJT-cd!!bNb@Og+EI z^?6}!Ol_zTAPh|WPvPsX8xH4ot{Y5li^ZM=6H- zaWgNr)0Jo9c(sFmaHdxw`$E_<&lHP{jjt!o!7`N;pklka9s1}CCDN+XCo%c>9dWPo zwvjfIRGb`sNA9bv<)S(_h_b!X3*dhY)&|?cxw{ru z#i$u$N~IAA7&giW71MI$aly5GT#WF9)JNrw-882;YQJZZQ{H$h3MHF z*pbT79N2xy7Bxo3b5`crw7CeJD$U|h{bwe3EWq37)UQH9IOh@gPzK|8z5q@)vC!yX zoeCC$7W(>Ep@r?+%+H0-iMS?xSH#9|PuGOK(G+LEs?1HB>mQtwcDAChWzAu}IY|~7 ztALy5=m#qgqh-A}>Z7IblF<*IKfG6xmrMvRl^*lkqAz?f?{F#FjiSW@g!R$@Z7JH1 ziz{q-`Y`hk2z5*~D;LVe2k;yymb!1yrkF`zd9#wJ7XA_<7aQ8>sp{}TxoBbu{oQ{ILdZ^ zyQGZWyQJ(g>;c`wD!;Ap5hCMy)%V1WMLbRUCXtxw@^3Wpfl(gV1-kFIT9!#Wq;KGM zvBJdg-}Nv2xInCkeq1N6O6tDmgF)$*OVbcs{cza>pVQ9WvL)2Sl;74X{7 zB@9IUz65^DRX>Gk1M0_|PMsEw!>zUW#mRL2S+(413677QtmC(^(SJ?ay@$Dmr3mLFu4t0rNr!%+{(np* zf!&8^#Vp)w=Lc@}##51da`8(Wrk4H@;V0naB`$%h-~X6kv~DV+KC$8dKEbTDbxkmO ziLN@+FZnqa;axK$-!aE5eAQ5ozg*u-50~byi6_3XAf;b+PD}CgoSHj>BL< z`sQ=IlJ!%i3kL=YK8+BE~ghX8ZVHvA(TGUc!Oj7RdpcKH-M5*TbUBTq% zkw6kF?f05_yMJOaVs-F|@bJ$O1YvAABn>2XK5DOBQ585L^`cp_eA~tfSu1FxNZdxD z5w8?D|5va>y@&&C@b7+}VdaV~3bChMu|tEm2aKW+ci3J7N13ZH*g1i%PQT$+W8`7_ z___W#bI&^0cXABw_9e?s>{{HhYas_NV$UL34m-VLZko9G8z_jyUq^amLq~W$!j~T5 z-QoP+jBR28rifki4xi`dR~`rh}03b(bhUGPoUE?6%9VAl$m@t;?N zVWqQ6DE7L3@+iDi(Q1X*RE|zV>WcQC@qNNRlMn)nOg79HCMm-e&OkT~E5((0usC9Z zSX9SGK#4RmnXOd|s$ttvlfKs^sU%1Aq?7&`R+y0xdPnBl3yZ)7sjTeVG<_Ww18t=~ zu>O81+vsh^N_0;0E7~me&`OqV4zHL9G!jc;H}R6?Lx*=vkGf0Hg~{Y;aJ8Rz5sH1V$zD4g~&Wa{`D83YaExcj19z&tV2+J z`u8}GdgCn<%iQAl*&J&iD$gjiX9@0%w>qQhq%xh4dUv{O{dkk@piA))aH~0yaCDrh zXYA_^dGke%sO91Yhazhj9LFN_xovWo)=oOlNGCaVbo}xXuPmaQO_5|TJ!DGpKWfAB zgOMc{D?U?VCsIvGU7%*fXDO?htI0ap1QN?7%YNI%MmG&}o|84OcQFca2_0IeCOzr2 zIt{r)3+sYnUY2zCNWk7#ZkW6FQ|B(TL#hn-Ek0wya86X#NtW9Z{j9Ff?8(Qt+AcP9 zU%DJ$<2C91BFQoeejC1mWEp1Dg<&$4u~!>7wvqc5BRn?PXsy&QY35{)o!7vhJ0&fu zPA-->_in7z->TOb0$l~6sVuuCnsGkcr>hXwT<7SX^AR|f)SjPA7SW&!kwJr`&ns@4 z*}k(ce7~A7;%3zG$}@EQ#US3dozA;h#7}9Xzg_G_u2Zi|Gsqx1_CgT9u8lr-;YGgA zPXBeG7nw@iFH9iWbnd0T=t$!veG`qNpIB>=I&Kxo`Uofbo}Lj2sT^HUdDVNP-pZ(Y`JG_Qmv<&_3vD| z_Htn83P&H;4q9d^sA2nKyGbGbSnFs;?9{k z%@NhCW$e<{VmVzCkQx@c3y&!xgrD%ficy1cm(Jvw>k4YRT3&IUS1PmEjR7-Q=%n6w z(r~z)#pTTg9BvMv<(Y-502(t6h4>OQDaMFB7|pp7ur$cE$|~52t;|zMj^?yr{4nMg z%Rk^7@yoM*?d>%MdPr|tEK^W{ANu)xF0B(z;LP~1I*VllmDQ^Yv!o6drskJ* zXI)e5jURZWJgY-J`Ea?I*y#ZAD^zk>L2#GPy(m+XETRf2fLU3`JW9A)yqSQ@hex?W zeC;@kE2{#8?kmvDncn^O*Lp{V7PyHw+nCOKQo5P3SfVLUlYw=@hdTqY4!G5ppe*j^hJBqlBxD)k2_ z#Br`8T;J>sWgD@GDZ~YB(U~$KO7IBN3EUPu*+^qgj%Py~hPN|}&8$+eSnk6TicdUcQyDh1`xOTi;-_%(>y?>=v>Wa8 z!H>PjG8%ZLFJIG6M_uVxcoKQP0TfgP;-0n}F31(4d)s<_H`5pHa>3(bizT#8JBbY1 zr&lzzSbDT+C-4Yc>xrtMMhWgv@K@p9QYj29C;gNrzMtGgR0?s=F}ZjbT^4anA&$lH zDZr6FP^c*P6V{f?#cfVEA-5ck_}Tr{!bdn6_Y>Si=C!L3FGyOUpoR@^xwsZ$dxCaW zYB4La-0(`G<9X&8Eye9EJmoM7*i>_y8d-RS)*clk3q`twg;0abo<)s3)d#lJpc z=;>>(5g*!kZ3v4*UH=pg;0@Q+F!b23Co|Hh8=sJG>D?R8u*kTdgUR3MoS#eK3)lX0 zA|nmF`3f=8s+%c_GZ;JDY5UEffIZlGGt&SYas~K6EEZ4N_f|SyP%gez7kH_ypD+|> zZ(cmrmLce27$M^8bkgnNK1{;qfAPxxaN#SayKY|!8qqcoygKmqZ6iCM!q^A~cQf7e zOO}iKz^yLs8^7F`u+832$Pl74d9l#W9^B-DcMR-K>G!lxc&dYi`<9w^BJ2*4i66Et z#EPI0eU;IouUj&-!6Rh*Fq8$`vY3ZZ2Q7{U{yI8@>E+T1ejA%mV%KeSS>?iCKXf%_ z&pUd>f)%ih(;0UX$vL{^PRNi47Q0i~VQpROG47h#Ba7dL)q2AN%O4NvTrJDRI!noN zLw*~*ac9m5cRNW!>%s8J)q4J*8L>9+l_C~?#qfN2Qk87ATnG?}!o7~YjF2rYN!P4? z_C6=mEKOn$$W}CsDttv)S61&EBy1FZ^!eg`PZGxSqJt+T0T;P`I`M3gwOS@HuM2id zmLlTOUbO`=JXNFjkQ|D&m?**n*BEnx3T;X2H&(J@bG(qw!IkwkZmI==Z zcg@Wfi%r}ANfS39hvxsLDUA3jJ*`^sl-zat^Zi1fgQEx+xBQB>cc9Qcv=`nG5cw?7 zW>;`=tv|AD2~6GY&6clhL;E``Ze0Da$%8{5s&i8n;%Bx{tGjM;s%JBiX`|%VPw4fg zVFf`}GL{UQT`{cx0~6U8W z1)6;9@l?Ey-BQNTeZOz=^M05^LXO7cbkrX)K^Kod!d}be@l)7!W-eXx$F~aCT{0aj zj^%%HRK6qjCVgBKq&uCCT8<;S5zyxLeQX5N_$k~hKq^0_w1xiCe6KU})q8U~Lz(x- zlgo7H{d7`6Z{D8^PlT~8>Da)OwoLQz#gxcR6ONhPxFh(9|JeEC-#Xm?Vv+1%2_Z72Iom9He66bLO)+dhR zb^GZai^gN$!`L~*-h3FdBDV5jELw{6c=lmztfcYCc^F%X*wBZueTZou#_EvIm&N3) zJS)EMprElguLB*v}|%JvhJ9o-*Zn&!eNf$yT29KU&uf z&*#WR;}u_`CWnpfzGRdCKP0y%C3h8elN$y-_8y-bjeaC2>}~12x&2b#%YV=CMA&Rxa9F#+u4}83l_>%y#&KT%Vh7vbpjz5_t=kONR_^Cgc9wcY-2$Odm@_4b$`LjWv zI@7qzj|?_G-JNt#;Khs1nGinnKZJAQ96YV~1hduNCNHkR+z$_)d9lX0r#o5B`>i&H z29V>51*qHFqYVLMG$9L&A%VmKTttV+|~Bxq6`z@x>+ps_WLOh9+K;35AQecZM~wN`AV~? z?{|yWXY69-EBl`m{xhbnSd|stC!3wie=+noB?`UA7~uXq({479s8^-lxzUC=!}L5& z9!gQ&?vy>P}%e8iHXFxg2^qIYEo;&U;@Rmv3YVSxjA(e~!qpsQ97Xmjx z)!{C25UnzIiW>-VZuLp%y5B9w+B;;hEk}X9g|!Hjw1%?HX0LGyVV$AHuy*EqxI-b) zMxSsJGKfS?&uew5*HQ5(SH;!PjqL}2w`{0kV=&qNCuL2I@wsr)YY>y1R27o-lOe+J z9$ay@=wloD8Hk!SB^QMX`|UAY&D#q{xZWz}?z}~BzhL|<90!aPmrRGPLndq9VKwaL zsKnSFPJ;R~!9B;o7N<(83N&0q3qF+>z*K}QS#Q6+bN3i7<^4rqpu#2a)FT4hPL>$g zMv#%d#~i!ob@V?wX_XkyMPPhvG2V?J2`MkNIW6~WicB|n7hi1SHE{*S*jT#5B~mv7 z?>bk@TxKa{)$^a?t9E1br+dXeYI6=QoZvK+&2 zStKb`uxYZyXpO|TpKT0Nkr{y(+Sj81l_0ScWWV9gD_=5hR*@8vX{=L`Sntr9P(!fr z^Gv5j(Qb58lPCy_RTFj8N1eCh9Y;x)Sy@Gdj^nlxZ$#bNjSJKyILvyo<4G*zkO`bY z#a?IUt%bm2#&;no^2)z4tkdJ=tRXaSf{SUp@tT?}Bs$|*_7q^4aefq;8mY12hfQo> zhkd4xX{c`Y^p(}uOMWV9xMYUi8WY$}xKM}Pvl8)+_46>9P@(ra@7e#m2E2}d4+IhS z8r2#S=zhogi|Y#=sUhj)ka4|+M8;Pl(@v{AY#;7!JRkePm8C#O#7W25=);4LYVx>T z7%cqi$_YzM0$F5~^(L|IbFEj*c$i^K>`n4RhC__TnilqnzJG(~farR5Lgt~`RpX)F zWI%*FlASO>c=9rwe0-o>Lx*xXL_BJ=_9kIIcIjtVhbC1K@tRQ`O@h$yL!-$S5^nr9 znpBYhmKjQ8O=x;wn=Uv9jKnTDk|S7sFnK{(t6 zuYiY`XfCR~pY!IjF#&UDxVP1vm;4f@xJz{x3=Qt`O9fdI@?^~$6DQ;?gfFnS`n)^W ze5xpNfbQP5BDdynuQb?=4(0C;cKsZLXwYuDs7y^Yg_ABeg^TVO_ziK(OqV#3&&4b zIE~dY#8>^JO%=tiE$|~axH%l%^5S7U^t?_~5m{j?*ws?9(H=u4ks-$Mu_Pck;jpKf zHDgzk_E2+A^g#0(i(<(^d_3{}NL)H=b7ly=CY6<}D~lPcyXPF}(LBN}TVPWK5o6n; z=HfRgB=1PoV29<$wh!>iJVzX&%xO9GWCU`p*zMLFsR%Xh=|>_9FSf}9UG<0h-|JZG z<-#8OEhvWaeoPo8;sc!QV7kl*5nQ|X9EWA!$*-Eea)T#?GUv`^x9{pYcJ*BCHmEh| zX*l--7h}qRipjW9j2UGjf-;IdB>a1uTu5?BW>e`|EJ`(ncnB3T&aHX3atJ)(l~6%7 z#9?_2jO;4+SXxV+wuAb(!&2y?UaKnum2o;OFS;m~T``Xghh>o~e!=8YUfjV7U=OWa ziPmk)$4tnI8=!0~adV`)s&TBLF@Ehd(Z*{3tLqvF!Kj=pjAi_t%x1o^$|62@AI z3Hyi5IDG&KCa)XE$CJRqBA2X3n|Zm5@@F$IcE!7z`E6He;@bY5&HQI+%5sP0CN8xK zs<`M^$^x?I3jOdUaHS4QRGYkcw;SHgwQ)OxQ@Ij+6S&q;4I-tE{xI|$(ZkzsU;r)% z?$xmbMFtWq$~I7C!KutGt+NoL|6|x7l^X{?hBxgOZP%KF>y2rtO8 zVJ;H<1Xr>%~S58 z{MkGQT=A~vxrkRVY!v=y^RRK~gWtRuY3leqHY4AkS{yS@8$d$ltaJ(c_fKJwi~6V% z?2Q^1^QRIsT=6a?Hg+oE{hxgVqb42}8?Ou?k?MDBY*|jKVLMf)rPRiD0ZFijCE?}H z-;Q(QB4d~qt@g5U2p&LrO>uG8!;fr&akG~EL6VGX60lw*9W6~DIK`(L*A5~9A*q-X zaQ2uY%L--BBF3DTOugC9Lg$lSp)Ij-7FAv%6tjvHeaGKI`uQ>Li(xA2VToa7r%r z^Vp~yElna{6LP^gV;Gr6J~mblBe6c$v3I)DR`aV;=dc_%{xOWewbnRyIJxQ;({8u) zb{@?hL0WLsGbWEhZTlM+cAy;{=*te&JPPXcH%=N&mKHJ_n6gTi(PnweCDv*A{x~~( zb?st?W2Er*+U~I+&VH%Lm8VF|C6(yOZyov47l?O=SWleX~@T5c!p<>P~lYjh-{aD%fW=t(ilg$)wv;5#_x7?N5Ezwq|#kf5g!}#LSG(EXWNbjSX zRI-KlzmBnV3-BA@SAcl*OMw{qNw+icvpW#@HO)B|_=$B;55de-83)R5EfMzhhutuh= zK3bJSG%^JXXCJ-#1UV}AtVX(s^x&6_f1iwX;)wC+WHKaRx;?KPFMgivc3tiIZOV2` z17r$`3}W)X0~AyV^Avb?`(m{p-m$)595RK(D_n`jxl_oi3MThEW9t<1bw}{%>8aRQ zc9H|9kpbkcF>M-I?J?qInX)6_*=giTC-Z^n*gbd2m_aH#gNL3bi5?lqFbS~kXyeml zGa(-tm*-(KlV|kG$8s^wI3Sca))hX0@c2&pJ{C59 z`7CTgKcRcJ7zaN`UL`*nYo3Fd;Hq)c9JJ;ZW5XP>H0WJNN;r?ZL|J*q+un%~f%ja- zSq8GRaL`{8SyED!+gMJ+9?!+)*)1{uCEdL<-QUF#@)r(xKK_Rc@4s+#q`Qx0CHNcH z%q1SazqdcC;Y8z-xg;>K{;xzx#jn#CZ>%CcjhE(6wU+1w0E_2v`YN16T{_syyTC3YUYv4{!i*=nFJ0h^eR{9-B@D zJ^;K0m_0zP2Czq{$;dOb6WGtNv7cjOKLj!ZX56p91>m%K)#-3`GX@)rBW=6`22{`fo*glF-1Z3dwI zLkQcCngezn__L`qKSJIQcx425q5<)M!GMu~G{9KEqfGR*W03MVRl=(<(g%S}EUW&qZARY_myI?p_4rPEZ0rC;P3e5bMYJhKpZ!=sl z$5#MDk<*}k3GhE?{KpGqyfJYZ@i+EZMuKO|UEI}M99M3_D1~zgb8*>K2Z_K-fSJR| zjV8>dNI!iMC0~HL2oFUXbEa!V_yB-8sEh|~5}*TsRsWu_=q3ig}fj6^)ZeW~UMe~Da z2TWQtf6?OQi@4~es_3P|jK3@=^WuB3yHJ1%5ChNxk^nkD1|SzO1(3(^(KRc`YCdX4 zfJ~VQSPxhNSOb^~m;^`$YzZ)it|kNhXJhZeJV}@riQhDsl8??&wx9WuKoHOZ)74tsAX%_oLP3BM@@`6L8zT_qUhd@1L1D^ZaJc zoO9;PaPYD4#$zF&j1p~ZBvG#(P1KD!L_M-2^h4MO^xtFpmW22$)h9%q2uuey0Chla zHBlD;%YhBRUcd@m0CKhe-Ux5-F6v}$*`FM^WH(VydW)#nBFx%yx5Dp;NYsAWL~T2^ zkbW1S`oiTWeZpGxwlT7q?3Mzi-x?W>b2D2Bt zik)(Czrx!x==c6_q-ZY#c!)m5Y5I ze3WLgWj%7}`>dhI6nc<__N=2Z>@PhxDCV`SWz#~IQ8XG7A2nZIXMSLh6ZuGI%O}j= z+fBb~Y8nd-ouQ;sUzxoU8iPm=nH>y$G335mYuzS)Wu(b#@vGEblV1^hCAXV}h1qE} zdl=RS%?E|&4Aizpiw4oC^OfRSsqU&gOrX-Mtw!$*zHcGA3G?()nPNggxpzjjeng8| z-5Tzq6>L+lNpunWzE>)(WKj{J!AtGON;PrTeN%`LdBn zFSZ?&ACqdi(fFo3iYc^H=r}fAJ3!sk9C3$Aq>WW;ql1Yq+_D2KvwOjgj5bI6GTdTc zYPZpytUx!CzRV8j27o`V=u(BBnwchgG>u@>qX(OhG!w&VySD;{Ae*T4!-;D7ym663 zD-!91>j6TK^H;ZkwdE{eYd$aU7=OgUw^+w&eiL2P{lyklj!$+-zE74^c2K`Z0@&$-yTth>0(Crjghxe1}rp<@@ymGO6FyNtoT6^O?LSpY+dY>?7tqUbRB` zgvrK_3*)viWGjqScvF-XoF z7GL%Y>S8v;PIqk0g4TtUkJjm^mSdBWu?ZppHmX$qxm)eG z-m*XASJ0xC5wi`ZNvTtcu@)+&wX8L}>{J@jqRmgSLD1Eyb2ik3uSlz>?-S{;Ta_6a zt+3D|oFn~erpw9}(h!6C`Q3?DQ`dQP=d3Q7K2m;L=Pa%0BfZe3)eF%9S=tC6=^YQr zl=55CHl#^PMOrzLrteE3)TZzzsMiU-LdFyIu6_sR{3al}* zHBKx;c!=%noz;c3n5=Q4NxUR$#u8~IYwEo`_Kd5Y_9riGuuEOPP9`;U;19LO&3CT& z--*QF`mv3DMh-vZ)~yK04$M(!lDL3|u3{*LyUFd#r+D))^v%b?Kg`tear<7QgpY}j zt(f^45<*{V%ah22Lr+NI1zD5A<#AboK~zbrSe{`MO=hxS;k5g_?TYV+Zsp1Te z)72o?`G{S_?qYPkuk@rP7J^K+X~f8Sz7c$-cTf3B2V3y1hM(=H&Cz0_XlNKJs-+kN0ULMe49G z4Al)pOSQ!r;E;^sI>oBaqJMnnMn%!AdeYSXy^ZnDF9@#Rk)f3+l^lfd+Df}Jd9195 zs_TD-*Zg;y;SAdImWyccmNOn}9!l~gkMaM~hy9D5(~IhMnkv{w{h~_Gd#LD(&E|0~ z^XOIyqJNyq&Qo_h>Uw{@eyJW~h_J_&1lM1#C$Zh{oUB(SPsDhpiVDj(@g_EqepNe# zN}ogbQN2p6l!qDn%mx>E`H=MHLg{N+Sw(kGkd+%LJJCeCq}mgCuPirV(2$qg)K(!b z>;|(acJ*GmJ1nGuLc$L-Qay?8Gh4rG*uW{WGF4#>E7+gj+~||TWp)T;_B3`XA#_1S zky0e_d3GWV!?%DFF#3mWKBA^xUqa&3?A7vUW8b`4^}Nl|Pz!M$ZDF-Mk?b$>eR!65 zoX$3+j9T$|Ik}4T$wKYxZTpJQ`n(+(9)qF5qb(C#YImdu+}OuP^bar9E;NMIJXuxh ze}mVf$v10-`1K83Crvc+-_b_wf(kxwF037&D~07I+QM#V)Gka2t3%x%um9vA4Tn!- z7eZutoK+sokxJP#%x99U^w(ISk5J=}W@lscs%rTKjlN`yS&G7Kl?c3RwLYe`kIsL>fj z;e9H-(%Pw}*p{4pz(h!Cnz~LS7eon(mufvu75jR?d-NDvZXBGv9ld*;uX!Af2*cZr zKRANw(kx1GchTo6A-vMbN2idy=l_5-+8%+bGT?aS^^!QwwkHS@xHt z@F2TebF4aAiF%wC=qA!$=1v+E72xKrr__-cWv)S_1AV0Ln>GDZO@xxmF)2|72@`F8USPA|&s!(4<{ZbEmPOCs^>n zA%O#37iB^+#r|1DGO%d_bM)`a<3zX9Bm3|2+1;ti9zu<7=RUd9ZYqX={$6vdb0fPn zP){Kw2Sx>+KuaMuNHKEJ9Ca*okUv$mHy-y)Y6y?<2@R@KTF6#^F=pPr453D2V@1#8 zYyJ=Mt7rOA!k#=c!B<^pgaF;cRu2v>5ONgxLQcg@&Wo++NZUZvDbUeMQITH-vpKEa zE?*p*U^PHZPHHuP6JC|IVv0?MNY&ISz2!{v)vym<23=#bpbgMbPV#WRnagerUQp<0 z4#|NPk3IcaM(lp0z&2S2`|JeNe8^^1(8N1x9Fwk8}y&s*ntxeGqQpFi2Z00olj3e=YEl zmNpwL5J@P-OZ4`e-Vp2|wSBWa2L?OkR1`>so>uDDRrQgr)m)$SRM_T9UH@Y8Y=i<^? z`SCg3wfcObKmWj>$FF=50>2Wg-{v$x>1(V-IwC!Cfj*YR_R7{}A#ZFi%wVA>DpMg1 zZHvr_%C3<2j19|=gz21O@;GbGJYCDD>)5e|?1Q0xGx)mkHRF8n73Uc60OyDNGdOC1 z4>&(?-jE=cyCd&h22pdK;KvZodCf@k8Rq;@cAls+kyl(7A@;y_Ognay`KRV}A*XQ+ zX$V1Wz9yM$Ug~G1>7F)+kMzb#AL$}cbW*Mhgv#v-qp1hXwdXua@ilXGgCLrF#fd4P z=)uD>tk&W>u|y^Mi)ZRbS;{TShn32MYULC1(#$YsUf=LS2(irU)#eOqqk2t!{4%3h zY>N~xJRr(u2kGr}5YqX0aUCsDvW8)Obf#t++2!Wd2hI%IRA$7%BrgQHP# z$KyP~e1}_=+&p0?hCipb$a;$)^0O~LUEPGG=5cmw&>SCSiK$muG^ek~l`QeupsZ?R zh}WK3V+jNOioByEZ9JZCNvKy^uF7SmgQD?teunWh7aBw##y2Tis#BPb*i-!ZLc*q<{}AlrR2b%A;H7*9uri4Dr^lQ0{CihsvbaG}%YjPVK~ z1y{Jbyk9*_&Fj{zE6z}}ZJCL2@`++BcejMY4c%guVkDNmyKz48k$#f(^D5<(u{2p< zFw0UQk2?0xOg%-%LD@Ds_E=-~6oLMM#pj08v&S-W2hfPWxAhgNcR@I(Z)-@g@j>tb zxSe5)joBQ3*{i>cLFpkzV44rNs&Z&_oT$&Ql%LJ#T9Qa+lqt4dKbD(UPU%VZm$Bi( zKU&yNWAkYp%N@6!&SUq+O{X<1ZF~h>3}1}@GGcP;@B2;uw|?JXA5Hj--e=1uPVf4* zoF%q6C3&Ria^CZ_IKO3gCkA(Y!%MyGrCtX0JoBBD)pdrKTH~c20(HB$>}W4_ua~+N z)JnE)(lol1eLpFYe!+sD)AyJ#2Yxc(9Pj`LpG(yGxopgHA@nUa_c@Oq|_;tZ*d^v;uL=We4(37b7-TtvyGuuHY%;YeEDu>KET z4cX8oZdZdk(I|H%?DCYfxRM*Dv$CNpZ-KY`H{PQ|j7X zK_s?OK26TaXU7_?0b-+kLZgu0cAu9|kA3QFBMrqU8z6Gm+ZOqVaf^Idi;ZDc-{iiv zeHMkZ&fQ+N*w!c?HCp9;`LyY%DhTRTDLrY{^YfWVvz3yg`JUt6e4>`?RP5WSf%Fc$ zH&vJMLoEudr#ybxKgv+(uG8#`54@VQF^hpD0P}jMg z@g7AESau@BK!{4G4~6~u)&(FJ-avVGX!wpwR}8%S$Ad z=#fe7)DtiN|@(vq27IU0>`!;7M7rLVCV+ryQWUArqt0MVl}_ z`RKm#$E71P#iZzImU78McVuXCHppQk*`gQ2`i71a_~C2aRXLU1?IlP}o=SPi*v}oD z%Yw0#aW8EClxwKKC9L*EV`M-T(fKt6DHM-emwot95$M+x;4d7V3UQ;9uDiF+Fwg`R zH=`FVVd9J=dWfx@kxU=54`&R}Et9D>V6Y8(LfXt5{BRyo^A5hkx}61%GWU!qs$miN z0|ecCHYPtQJJ6#SlW-bPWGf_3+iz@K57uj!XJ_44sFK>umbX~q<3`)C*-yap}@L7mTF=j1>&p&7Ay=?xKvM~ ze^d!cEOBNieUatNjHQii$;>$F!*nwfXF^^+TrlY-N7j}1+zVpgFqAmxn zy^Je^|6<){r@&vFGg}X7ym)rc$N+3*Y#~VWmyOE)e`=i5YiW^kUwhvYc5t@V zZ^7bzd7t>VmRT-RHexqTQY8S&-x=$(PF+WSpz>@kV+NJ9# zUl(=uvHLtU3srx}KXo|$e&bd71Tj4>GYZn?w$bn>8F3E8bme)R3t54sPw6MNZ{(P+ zUCiHh)FOtt$x^z=h)?%jDmn(4Tkuh)Jf-`8|8 z&#~9y{6F{dr%yaHeUrA4V^^ZR!yU~Eiu$=ZESDhV@HTs zmGN+XxoC8dzI*M)q+Jfd{?3y{OW$;m=xvbgeBY|Tb48H3766+oZKr6Lud;LVLgQ*$ z%Idk)rqTy3J5F63_@4Ra#@^Oz@>L^Ey@20#hpyY%i7DpyiMwv}#4GI4i~ef5?0fkd zN@+>oKihTCFxzCimPntr_=sOR+|K`I6Xp+2Dr-CHz)_F5o!`6s4LfcGL|;Qn)nun` z=ighZI`mFT-Nr>E{uz6KXw&PnM)*g1vc*n1V(~cpu)7O-B&GR^RpL%DDtB$oUO6RS_2lA9 z+~?vqM2LH%f#|5tYVOte{h}+@-LHIR^*QzJ0|QGa>N#XTyiI%fG*GgI!Q3_gFGsB-^h&cy@yx&SCD9`V_YMB>Q)=y{g?XNX~=(;Xh3LPQJL$_eqZx z9_KpOKE6=e@56|j# zAK^vJ+_SOONpYaMX{j)GZ#--XvBGvJ5TuCKR%eC>UP0`H3lE;vx9T2WutREY< z;lhK&|71UGA%=U6_Z?XnPE3_vgq|{u7Z1)i;UhfG`IsraMJw*MY^dFlv7>|IG^HJS zXy*c)rErq1fV*y$9S6pwd0E_P?q^Xg@DVT0pEH_T1dRUDytOs4*c|)KgqfuG%7~sa z(&sz5Y)h(`EBZa@v1*(Avi9}*i-RV?O=$YHRbXaALy(x1{F>Z-$-8ooL^5DhW4lw5 z#_SVI$7daS=qFs(z&`l-a;?(Ee}%1mrx!$e`d+Gyw_6seT|#TGA4!*3JK143o%PjS zgR~$u^1vFpgBoJ(+psT`hHSgSpkRe|r6K+XmCVhG-NZ1@n|DpFs#z0B`wqB1EuCJD za&7!Y*wr(Q4pjB~vhjmbhq2v73h^Srk!vgwM$sJv!+?;Xg2|5Q<;@SWGx5)k_brB; z11&<*)&PGD*H8rc?BV%}-MoXp+)yywZ+g4F)W|#7-B{wNT|YIw$7N}KMf!+_eK2PX zMISsA{MT3#8Vp53OR0a$sg~9jyR5E(HRQb(r_#P5;a4 z&m6qVeNBFX(3f4W@?N@d$-#9iHz~Nq)+Nqxoi?czS~*CoDA{S&U8$18&S{RHhRpSC zw97Fg16&ldsx0lIZXnT@!m8xInY^~MqR4tco~TVL*=SbXs3@U{J7E}wisj2RI6M|- z?0Svo$iK_coGxGHao#&a8ZhX9kqg%>964*vtaA&6MdxM-vqvskvuNb(HM7qx5*EYW zK6`GqQ0Q^~+3PZ|l0y=Qe_5}oQ&=i%aGEtLjwnT3kxGTKx?Tx)RvjFlRZCPkq*|3J zNUyrNYa%3(=M-lot|4kI8&@1bhqA@R38e?}|5~7II;v2yyvN$Hg0$Av>fG$EhAr+Z zb{0#HRl_`NslWQbP&ZUehE0VlygH9_OzUr{uVwWvwW=O=O&@0 zYjP!0jkp#&qD31M#`S`&ntZ5*)@6ue#E4N>vmLF@$-JtuOr-G}#2@WO{c(BUSS}5( z!r%|Gs&)ucd7B;wdf#jwU)J_I@{W0zj~i@!_t`%s>U*qkNpdiej(TtIHCzgxYlhNE?H;^fo4jPo;qR*)M z|KL@tf>hMZRVvTTb-nAz5r2Z{|H;TtTR-6}WS8%I& zTE1oc2ks*k@e$XrqMX{Laz>f`?3lSEUiuji(A$Y z2JmysVoERiz&<)6Fpu+sXGQ&TTtr_at{N3C@z~bpM z(}=FwIl86ByrhW;3NfW2S^TC$AQGG_VV@IPP>hQ)C2XyWFhs7plucI&#T~Q8BuHQ5 zAxH7Vy0q0wF;L8b&n3JFE*g-@%W}-w%5=ZR%d&wzc}eFVlSGr(+*jaYVm8w)?@6z-A-D&PC5}mTi0*B>a;mAy}jb(K&>*8AFv$YxR(?qN$&*{JpC1Gp`anUkji%~nl6Y666T7<)d;7m)OSvm<_dGb< zh~Gtib;|wSF8B)DIV0mVI0Jd=I;D~82C7xtc+^?a4SG4^t&PDDN^ctC*&c`T7w@#@=KP$K!7s^O`%X*x_ z^{oHO$kK7Lu|7{4JFd4xOwG=0*$ww)UTtZKE(;4Fs4VC7l)| z^J(lC_T|b6G@nJS8a(q|7uDjqQGSH?1V@~nC>fusg!5Nj7bJFDp%w%B9&QMTR%C_Y zjNTJxJs#lb_L6VHb<_n2^5uwRYwG=Uki!x5xZv@uqWGOwqsQ!4Pl?G z(oeZ1f9FtpPiMo>K?d(c>{KsEH799b+9*h8PYQjVcB<`=0(Aknrz5@pXjWc!IRiZV zCJ4{Sj)%U=Yc8kC({GegrU6u2Y-@G?%)TfYi8~6vS03W`$ty#sfelzaf~wi#)lpPt zn^y;ipL2&;XITX9!qoGX4Y<&LHQC}^#Tr)Y=|J}V>a4&D&##WB4$&Ak|td$D58)9BwT#?w7)Nact)o~N!;WO|%`^Y8~p9%uiC zR*bEkcC~{R(-6S+R|XC5_4(7BvmH5_hJOE|ecVCwX&Ck|+R+YL>zUE4sWOPZz*K8X z=q*;hb^$G7kJdII{^4sQ0$;$>lve~g3$WFb z1_M51=W(KDnbo(j^<%evi(mJ)KEd4VQ{?>B60|`7BcWYqg_v+v$cDT*4?^L9@TP&0vY!qYxj5xSp-t9*+37?FaBXWJel)SMQjPX}P&Whq!yk=ERgb|D4;FUhsRy zkZ8+<{IGl)eJlTfrBaU3GJc;e4Rg0!C@ChV^Uo(U*^!+Qb5FXs3cThayMwG22$7Sn z!}EP{OOB^Ho@NIh>7&D3CUhB7KJyn`hwTFU<4weMt`zZhr6B~h%RChp6-;2>2Z6=T zdqJLrzyWCyo$QPQM~@zJ;{L+&L}M3&xC>9=5S=P3wu&a+gpI3@v@6r>v5Vo zYO8H3ocDEBMgESN3eX3h!O@#vN_f9hArgz$N}|K^%h6sZ@1e;D<%d|!mXQ3Z`9b+< z`AXCZ?Wo23;dLs^D!X6_%b(z__YZ1gWqW(!UBTYHGr-pFy%|2CEkvR%Ec>lU`VpJ= zR{Y4jEA6&h~;o?6XLVx8AugZo4Y0W9zje3X3 z?@@igDyP`Bw=%p_H<{_)o)B1aGH3(c;6Ew|&+`gd`P-a%_rKkfX0iIW6RC+kd^@~n zwCnxX_dQhlMY%RKXQ!_b11}3``x=Yb_k1A#l*s@dXh`>1`M#d0zjNP!xks86qOo3$ zGmOW10C8gYhdo4$hDst*qFW)}cksQa6fIWYfiaS=N{y2P-q<)dH7oIGjN6z*ionwn zJR0+s%ePWd9nDL;(#)TgwYL<&2J8-*6{P8eG0$MzoxhhVTB(Bt>+fhYlY!L9?(1P1(xs9!(@FWB&d zIVvMk`E1j{KGewS4(fw=TB_?QuB%Z;2jY&i&54K32SdXPTH3kJf(a{x-A{C7axCt2 zJvQ6g!0x2Waslzw&k$UHpzOAp1_U%nWh_Lz`Qo8DAhH{EnhX14d!1V1+u zJ~*Q)7(&#A$1Z%Jr(;%+z%2$4I}-o&04zj&39uYk3E(Aw_iv$@sD}eKU^-9^Gy~~C zE-(_9WM)G@oLYKLL{LCCh)LPIt0E2-4J*X|9Z3D7^|8G#6ke?3Z z0#65Z0r7FbBw$KL>2Dc_KsW+?2v~tSpdPRRPb;Tq{T81-7GD7*z)_bDtVVnu!eE38 z5iSP?A-)9R)B4w*$HxFozzvR4{Co{OE${?!IvJfJYzEE&7l2E^(=x-6pAN(UiNGXa z3h*?438!zx;1Dhc3W0gRLf~ncr-Lu`8-qf?Bw!OT2+#q0fd{~TRNC2rx?BthxBy%N zz6KhBYrqZQHn0SB?jn2uJOY}4CqOgc1}O4Xz!tQ5Xfm0pK7z=$4(#pd=;G)EBm&-zW9I%oV)TEYf0Cf|v?L{ms@Sj?`hP)fVJ>dWAv2X@@ z0&eF+mKOZy_7aenSU~2eKb(cR0{&CSO~`u!G#3(e=$!vtE*5!lz_qz33;bJqtlYY> zG;tADaS8Ysa09tZkuC$DR$yg;)$mLXLAVX!USK8ehmRoN58)Er8R&Rej8#Xt7T5yl zP%aio01|<6&~Bj4AjF3N!-0`N`aJTSx@kEIp+M|nY$Ol|q0xm%UqgkpNFOR9>H>rd zIS^ltkXB;F5at5ofJuNA^`;=44jf`PYAePcLa9f<^4G9B2t(ln`VjF=Kv!`5PS7^2 z#Y7{$AMtSrxg(Y$+>1275}AkiLLe07kE~;VJk~qdie~l#d_!$PxCuDK9vnMRx_=|M z`E{%eI2JEm)ovhh0~+M}8(|>wf&o9ILlK?>0udjAytP0urvuZ`&OD?Gfe55^z&(_G z1jHg92V@~{CCW`lSOBDN0NV&u@pLngDVs2tZ(xpqCBV~+2dH!n=|cz~0ih@ti1Zdt z1CD_9A+Qkig3V|HSo;Tj2=c6;*Rhp#a}(C%u(}D@0=xZST~-uCbP+EYdR#$XL^Ql)X?DSDi?_hEEGM90(0J|`kiUlBlb ztAP7hTlciU^IorAlsB>D9%tx%?Drlk={UAPdy?*B`miD0gPg>0bp#?q2MX zFsZx2d3_Es@T3f$R1t;)C}oNz!R$^fW>4#`^S3Pu}D7ISzYu5|wW_0}={u zlc`BkpuF9Q*!0+YQ|6?bWAZL763pk>6FnzWQ|-q+V<@d-SHiy!PwyaxL$MV~nlX>4 z+l++D_pz^f9SHx{bxbk#OtUoP$Czg>QklP2D%pmJ)SlH-4(1YrPEzYlig7HJo1N^l zh$D0+d!lzfy}%lK&!T%+RG&JkW?%K$q#DzqVY4HjK!3lAOo{)CvLUO*nk?~_W+=zA zezcnYt*Rj`D(X=+k-a{)CaNDIzxdexs7E4udUclV%HNDMeLbFP{Y7Ps5GW7uvgl|l z{fMWWYh=BHy0YX;!Wf#m`qF)Da$JmX`Ej-+ zuI~e7#vQqISB3H!sZh=sRn>BX21HXYjh%cm^ ze&(WM%KR{u`SRmDCB1WUmTt~^ko_2!S^B>Hm|{*lrWEU0_C_1(Lwp6|YY|_rKc*~7 zdo8Q<_L}z(+IwSmcGx5CEx7HPo9_SSZ1axXg4@p&r<(^#vlg8#Lr$Ss{_o#QH=}ml z-4srLOj(9n=ZB@6AGcTLrt~nE*SuvXjeLNLux!}Dz8OM?ll{1#s!+}wi9FQ1U%5@H6r1rCWi(UiX3^E` zVcn3xGtRiHRJO7?`abNiE+m5L(GPIhuEjfYz4p$Tt7c#5w$mcejH43UryoKi+1L6^ zp|^`^6DH9x_He?;tgoFU>6F!90Ig6=R6c&ZN;z#@X4gqXKH_RY=yTlh2w(@!HFoD| zWyiEbcD^dR7~q?PCB2e5H2DD&BMSra0wy&4ESiXX%0sut zk;F=LMJ>G+_+<;3(eDE3kD-1_-Tu-_b$jcoV@m&_Z8f({mjfTZ5UB(hqf@djk(2@} z&5TN!bm{w_Rr2&jiyp}T^H==j1G8s8lAr&;1CKBvap155-%&+P=x}xFzic1*8{XHK zszi`>dss@8zkVT5+DrcKbiVH2twewNFJD-%Yil-;s7 zIMGQd_-cbw(7EsypmW%(l*FMrslln%87w|WicfWwB=8}c;!7&~j(w3BKgMyhXU#W$ z>YI29I+QcE*fZ+XQlgp4@g3{4TvjT_bm$5*8X)lM#QaUwF{`rc>0u(5v6TK%OK0{X zI&EF|N!{~$ObC!GyxsG3Qh;3M)ft3@kUU*nfPBeEWRp94W45eTWtS289v;74HZQwO z+dvw5`O1?-JQhxL`w=FA5mQ^_f(_NQlFAoc8ceO;oh+3hT+b~1^LqT|GFg%(lXOne zP9gFv7BpaG;*qYjzxvbqxWxJm3aO^UeyTZ^b@l7ut9{Y7xoqEnabwPT^s7Q9hUSYC zNODMHm=uN9T0DV#EVquvw|P7IAv6KJZF`=lgtv*et&-`JQt4q zG5n6@L$uTc9b=;UjaeCuA_TJTl+U3wik3h*{#0?U&*5rhg~`2W6I+@56g|ssB)_Q< zHKc7A+ct1)=_sE@(pmJ7lrFC+Kc(v}J{?y;SNm6D$fwaGtW>QRhW%0UJW3AvqhuvYKH)tu=OAc&UX5h-*WSbmQX+yL z^qO`N+QR9~?JDe()2c(2c`!rMvI z6=~tEAhOMwI1kLyc)E#*uLFDl$0MBoF%f$KqXE^b;FJJc*XNN)-9e_Pue<1D0$EWrBU@ea&_mBeFXZ(NDNB@zYQP=fF^$bNFthK1jvmw+EWI1dZVnco`)$cT^SnHtp z$7+033WQ?wITrZzs{|=HS!3mISAAlAu)$DlKm+5fiBCt=pRXs0y{?|97t-%TV;_`M z=Bd(UNMXaO&J-$tj@(*19dV~7c<^!Ct6c&;wMEHREm2EcFcEnm zS`9WsJFj>HByGLnX_As{ty0Dt2Nuk$=e3T96z}8PGrvliMD$AnTbqc_(c;CMQ71j1 zq*sywc_{r?uWm`_(D;&)8hyGlsUx6fM@~qyj;$UXQ@UqKQgn6uGo``JydX`#TqC4x zY~(s*l94~h8zH;b@gZ_y4*9S^HDa7e(oNf*C8^PMDErH$U(toLr-)b#QRH(}`Y;?C zb=$CjyEDVpZ5?KY7^;+EP|L%N#SLOzV19Ix`Fx;wAvi%ZAs|mErU}u7nu&q(LJyrF zHr&V8G?01^5kpwfkhqb*xpk7Zfy=uHEWQJH6aQE&e3?mZZvRv$8>dt#n~W98%SO)H zKeL7*hRieWJ zl2)H235Th?nZ+2RXeb+Qe20F_t{6x5;a~PSp7+`9aY=95ezJ$xWt-Jf3`tDX1y!?LBtxn)YB*3aEirE(t;Ele@`^R)gEobUBH zjO?kQ1G0+}=s_Zvc+{;qYI<=0Mj~(U=pY80wrA#|397R|2pIUF7h zI{8nJw)VXQ%q8WN;T|IIWHZu-$M^K`Hee0*Q%_Ek=&%5JluJ8E)27p4{WVmxL+Q^B z9N~(v>@)AqqBf$-XrMZ`y&BWmBe`<|dt8E0Zyl!%kneS|DZ?T)Jo5-!I&4(veXg?# zArqv*c|;z}YKP?;zEP%19!H8Z__cst-72k-)aY^iP3g9aN|8wa+Ua(D$n?Vv^g7EK z9v^xHHH~f{A|Yq9vTI9*2h*;~%SU92{4;#y*@Y2>Z2ZVUY{keatZbw@Ed%;eEvX7C zm1<*ly;V6fCDoDy5n1j|!a$r=bW%n`$R|YPQ)Gk~{g8bzGAdh@uPRjKubZnYEiiYm>VK;)Ued+?m$ ze@^p_LcGBLoaDd?OLh_CHO&5r~iRjmRG{apZ*P!jbtSCuU5FE+lfRms7XxA>~cd%YJM-B zp^z9(w0TFVkWk)1B2Pa%o%6AgLDn-Y(~de^6)ppv_LqbKU} zxN)=37oQ(Lah>w|l<2~~Fl#eRKF7Nsk;eI$q!mB~PzA8t_e4IxIpJ5%5#R#O5o<7u zoD(=laP9!dh#|HY=0eQuBaT4E|WY^ASi!%#)j6a2C z->5}tKK3SdF7wmUO+K$ZK(?L;kV8%e$kiv5x=`rPFznxY!}@x~r-h0rJF9AMJn3PWrdmd6SrW%wYX!C+*wg@`V;^jER0B ztH&kC=`^3C)<=@;Hq}+1<2^QgjD?ARx!+K!7|epix3PTVbJ-jTTdrH9_SkrHzj~Ef zd+KYYjFtZ-Jg3qa={I54nxm2awNlmfZakJ_POMj(e|mhsWIR=vYlJmO4AEGnH&IK4 zImGgMmd4guQw6*7mpApn^@LDefUH880rC4f#ODiHp;CyoOnF`FbF5^$$4;lGS=-p{ z^f|V{q^Bk9kSU%ns6A(zO6hwnChH42q1K*tj?yi)mhpX5>~Fcff*Qbvi>7us>RC%} zobC-J(jq|62>IECVuJz(Sl#QTu@ot2USnh<>pvlbKEocJpbve4x2G#(CfhP$z^FBl zM_d-&1(!Wu$9TUi3Ygf`Li8k|sYOUAQ!;b~cYMpUHmu#itBqyXCZr_~t}n*?_e?$5 z*fUWr^#vdFGA<$ka)Q%PRH0-{q3MP>^UUj%(Y2X*21-}3M<+JW`L%KRvxK+`-$04_ z=Yli%-o}gu-Uj}CkK?;qHhBn*`-k`6Nw)t735=zCw}$=dSNg>$)LV+fM7+gH3!><+ zwL1&SDXnHPQ)2|t%`&DI(pI)}>Z|lkmNxBSnEhL)t)pfZKK%=NFZ+Ia41Jq*O#hVr zlQrJ=@W?Ytp48#!?Hq?^u+ri1xX4YrF{5mRuw9u*0&W*CG-h`=YW!3xP`Mn6ufy>R zn?56N;V+X6fUr#r%i}xqe6}27r2UB_v3!K@C5x6yT z1~bm;#R_Msr&Q{iS`xyGbFIooKHrU%N|QgdDpr3etg$K=j5bqnb`!$lTxuv&KIUe2 zS7=&YoGaI1^DNWuJtvVh?9{BOacj;+pR0*Yt7 zHWWimg-G1NwoTb)+@@6OXgbRhFLMvtRkKRI)slDTa_jp3R?|J#2}?X zT+xYYImLC|zJ3uAl{$zfDP)qmy*C>>TZ09eGh3fK$mOs@{6Rfx2PQRY6Dk#LQ?OK( zL%uG~eXBJ@IA25BGUzm-YMn&XvZIkSigg}GqED3%(Gp$lDw9n?VuOhtogLNfpi-qg zggsYA2eZx|C?s_-_v}b|hDAK2r^RgKL;BJR?4^DNis9i{_s^K@O2p?6G}dJ_*VpRu zRqef>W6DEKXVZ_g2_dK2gdT&M-^gjV(GI~K?|RXFs(nIfnNq0@Jx|lVs8MyL&Wh#f zZ%AL%w117LyZ+@vgP*AR}z$+79 zg;Fx*GdpLh2sAkPp{<{AO|iR}B|K{EtF0vZptf+8>bCodqphmYptg`;;mCuKLTXv( zWyOys(M-1U(O9~Meemc|`a5fRG@UwGT;ULXgF zrG@dd7u!-eL^xN(J}MkKahA^@4aGh|HBlw!`|f&#N#h)_T&J8n>$#w~jh{x(O9^aN z=bu*GB*q+WiP>~oQKxAexaNibBv-YD-7`lT`j~R4Ehxxj89KPUF=5#yc+0}G&*J%$ zy&n8s%5IVLxQpwQ&&h^aCSD!oEwF-8FNR4pYl>e z+M4Bymqx2xn)ZZWG{SPW7rBer$+?O23cEHpnNDND^I`;(k0s4B(sDLy-aKk&4fFH{ zwU-XRQKL@1VY|AF>OGE07@r{jhWFt)-`aIc1o>M==f~6COh4Zc+UT<{oM7*yjA2vf z8@eYJ5HS^4@FWpGev+-7pF#i1PR=*bccj>$%&i0N$2zYWTw6mH^ND_QOlr*#)um zXLfx-f^iKqWoGrY8nIRE>($ot5sbZ5rQ{e%O0UK=iRvjv`65O)VOef{Vw9%_4@Wz~?Ao&E^56pErD?sKa_> zecM%vB%QZ%A2sAb38^8>4a>lE^Y3fQYxcH3Q*x?xTo1CV;Fobi$mMU8ziD5t>5(b9)@kJBns1;T zqO!(W^*w)4sXkN0wD4~0e(4#WB~u}hJykS-#BzvpTlLT& z+m&NFBEQiQAbnx?IBv497mXZL;XPu<<`6pB=?YHT(HxR+5pSBdW7OktcT{%ilMKK9 zVxt$|JGGDN&pCMkJbxMruk+-HG-lKV=LhG-!F$lUDB3*Dyg4htR;9Rf>y&$S2uVf* z9}tqH*jg9eMAd#l$F3|MN2jp(C1W2L;hQLR(-X7Lk={{o$NNNC&5o?3#z@KUAzjBM z3)rVypj0XClys9Ts&^|Hg_`!WD=;|Ppix5di;YB2^_Hx@wjY=MXxX*qYfJBw-?k($ z%aT50-h>B=w_K1P@l;x<{^~L?=N`A?O2?6`{cUGe)EX<<>}t+k8?tU{mlMNxc0G0k zK1Za_&gjx9rEOOOG}5|iqa?^SkG9@F>Ra88cYJH55UEbNQ#?%~uU>2!vB>}jF?Uvd z0+W8C^?RkMvU8Ivo7sf8aI)jUc@Y6Sp#iuN3b^7j#EE%C__s|_QX|Q!WmWw(m*Q!cVvAI@t(y(SK?{cbkk)(zGyo*ZZp0$1H zK(TpGTaX|OR5z;_d}E+UvP{pR=i^|JgFdmnWjA*EMj>~8D}{g8xJDRH zcMz9w6XJ&orq6AiA56BsES<3*HYeoo>kx*%9MTP~PJ(6`sPKH%t~2(V8>i*;K5yK# zHfL<(o>n0wY02SMq1#$>Y9r`6y17ntxLsC7+%rv5u^;Rkb7|#+cFy!kOWILy2L#$lO4i zRZ(9HaZ!wB_a0&+N#NEoZHraulyF`4nisOf=5=dm+D=$PQE={kVk{rMBHZ$@qV6cp z#k1AtXv0pQV7v8+4*q+@Vabq6MKOL+udP#=E2^!`obl2CV#lnz4(CuHy&E_eU=_9e#8=h%QUm5_ax;bz_jUob4lHlZUdy#jAG98Yc2 zp$=v%iO7ACQyR-8nzBjy#cDJhgUgkRvY%_ z_`>)HoD}O>>hkmmDkms#&)1Uy8J(&M5+aAKT%MAW>}oZ0&Bt{j*Prjgy_+OO;}FQ_ zc+53bDwnWU61a1&kbSXycZmoA`` z=+Zdivx2M`%N+*uQ0Z%>x^xdDG5pWg+za@`|H>?m@aG-RrNgzUmmuStjH*nU5`3v! z0@b4uy}|5DKqXT`{d5O&JB{8>iO(IT#2hNQ9e?)*Cj~*}z@RX@9b5%|fJ%lM)1`RGY9do?BRRj)ImNl$z=c|XsWGub-S#V? zIOo-xaOy-)vX53o(n;*w74h+cJ3#6IK{~(E4gFXagSDxe(;7(e#pO=N0v54y-nifn z*pjZhdp|-PsClVGpg)Y#`kw=!f@If~77~~sRVizX>ef%`=Bysp^UCO^iku+ZdBw!) zSLzL;htl-5KdW%Qu*Ud{U6rrSgFCXQ(<%9bpZk7do|WB;zB^Xg%s*JZC(OS3IyMJ9{e(YJ%0dNMZo*FTyy>5pbL z{adrjx|&tN=u`1Mw1T?z6X9;tn%I!1qS8ix3O_MAX-W*rH!1xx3B0HSC8Afijm8e? zURP(l4Dku@Q)V;8va-f?m^IyeJF_wfv@NBg3 zt;VlD(@hVY|NY?ncROsZrS*nI=`f7<&EfCYUHk}uW*X*_lsmRtcDG}qYhO{e<%gn= zqc>-%+0<20rTpOMpLXsU`?KyOoCkCN9QO&Ggu^H3Y^0x+aOw(AVkZmjJ=N*266@4p zukqM;hz&e8{CKDTsKc?$@4w<_W&u*Dq_5|>YK8XeceT^M%xxyO;BYeAs#N*|^Q}r; zvK7^%qm36ZXkxo-(z+OiWJ4awW-)HvWVKn-th13+}Wv2xBxl^!0Sj;oi z=??bzGb6M1yQmJAj0)qpA-9#FscJZjwSXYMhdy^WzQ<&s%(#u!p_2Nb=8zz->LC3B zq+WSR5J_4m6Ib_z_i?~#L+NkI_jZw2R6YR}Ob0}%TfHE=PtbwXCcvXC40KqjPLQKc zVutJZMrmL@Uw9E6gJFLaH=v>Q+;=O;pPdlo)2;vsM~&9|6!jpzbQp%uK+v{fB2lO7 zU*N3HI!OQbvef5YrH(t^J=28|ioG>ZebMFk-8*PJm?DJgis4aGzYzhuGubkt{-#BX zv9!8}fe~>MnUIDs&i`2|&p1Wp>23(zB-x7d%R$Lf4L&;*AN;@vpOReX{>k1;`T^|z zK|SY;yBxyf?AU4}MDX?1t$5njjG}{C@UvrScb5Nbe46*9C~51czNyCN(7}tIVG(sM z$39P_Wu95!epmx%PTiT#W7G~u2HW+l0bahwXY)eW`|jB9dUZ2c#B(DfZgnI`<1k`W zzDJoL4U|S<^I6B{JQt(sg&Hof^5-T8_x6<6Xxg;c2K8Xg&&3O2FEQ71Bj{0$&c zdX&Y}C)p4@7qWsfJ)OZy@Ep$=p6RTvOdpfrSpuuYZ4~kJ8bk6c6wj2?3P~$&Si{=N zGBsDx&^0WrJd>VdOUq*frQ9 z>TsEA0&UqcRjHn+%r&fDaEqu6EM={QzQC@m%@3&RiDmN{8@z7q-RKAFrqL=ER53Q0 z=ZSTy2{<72@moo_{?VxYjGwOYv5sGzy3zs~r~Hw2 zq$|z+Q6c-dA{-9HixsPJiErxq#kdC7u)Y!TXP+M%dLQn;tN?I+Vydb=_xvsz#*>Iv zFp&|oMS33+N~if!Wy5yz01wiA*NbR>hC`1P4_tYp)^&?+>8=W_a)Ouu<- z(4TKbn-l3BwsrGZ`VISP^GJGv1-_6&UuBbDNTw#{AkV`-wG!H4h3)> z^V-${bR`R_jO(+|lOw?$ET4rsE+|6=D9v)P!+beyM@RHnh$*jG83MzFTZv9z6~ zZJR}ZVlQmVhTH$EZNupP!qFl56AQR_9Ez_f>#!3xDBjj^i=~L!>+s%k37#S z1LC4^XRiJ7u*HK+>5C1&s8#9nIvaQcYTLxdy}FOr@oF}nTVCtKOgkj{8QZW!kM~16 zw#EhIH=E0qek9T?n5P#;7gFpo`spqeIvnqvFtMVYakJlpG2wH3?<2dyEoKOe_gn`T z1wx5)AFb2Q+cfSFH%vk%m(OiAm*ap~Ep5wEUFuZU&%&|bb8Ple1H~naez<1xYa!2Z zIF_US8$0{t@EU^hwRN%POXh^GHh@z1k3xR=rt>IB3;L-i&>zsM^P|m|%`cmGnP1DI z%|6F9?1fBh#%n2|B{)3BwBXJF@A;P3(%|rDd@Vh@+U;|!aBFZGkie`FaD8VzCXn~x zYHu8RgL8SkV%_o&)cHFeBXU9qk-NE72||8!vDe?jt8DnLb@Y8!ziVVzCoR6)wcOrk z^!40`23!;4Y{8E;e@2ZF@u-zO{Caw5(MKxtk8^#Fd0xBS#CE@)ncGeI3K-BCe_T@;w<-4TNNBQ|q) zEO>e4?nmiWc5!!ZVgx$laj9eW*Br=FUs@S^v}UlRmSnpySl!HZCWW)=T{iBG6wMVE zkuS26HzEdHb@i9VNWXW{;2I`qo;!*2T7NV6*)B9JPWO+#k?Uv5Da`rC^w6hHgm0po zg2#uK6L}7s^=5n&?k%+ulrz8|~VJ0lV0uN=t(E*f|*Q zZYC+;;3iXF_Whd?)W+K1d?1n6G6lfJ5&4=^Gx2RTCMN(?;kgEh5dpaZ1Ua zA#sgPm1L|Jv4!(F>JcYNzgZ)t1SlsWr?Q4UF|+nL)wssSEoCA{b(vjUwijBcBqk6H z`O8jz(XF$L2pc$~K_hk8CuDQGli<<~w&GCXfpsK-9)dyeGHzXB-0E4{-nc$BP63CFR=!aaGo~vRk6Ym`6jEZmdV^8mk zf$-SA&wywBzIb+ZpE0!GUx|1hsQqAZ`|~wPc$>+V?jJyt*!KN~aQ-gW^^rDIiwU7P zt@Yw;{EPijF$+36=fsTBEW*Zz=*yHuoK*W93z=_!B20qB1DQ0K%{gGmi|F7~865%G z7V<@<{+x(zEQ8cKn1mCjFIHtwp9f9q=N}?Jb6mt+?!}#v4KAPKM_fj_;qBCjbJ&*$ z#?s*|^z9V7j*WUdhK^!0-W~^w=GC{i23i}4nwl=K)OQjCPjtm+A-=yWz8>+Hy5bhZ zS9Qg&yz^*K4o0`Lbk4!0rQJGnppgUgVx5RSH@gD#fjY0_B0>?N4Pg+%FA;V_cn)D7 zglAm5r2+aR#2fLa0X|3Xdc_GIhm4C(-4(CnSC`lEFE>uhJwC^SUHy8l!H5xoSUFA& zs$#;@4n0bZY}=vC>~$WZzXSjI9t#CG1z02Np=7(Q1QK1yW@_JhfTM7 ztD0_oJ}vt;A)mCpqPk?dY+u55AI=t>ZuZ0Bk2FD}h!|RX;9Ucq7BQBHQ9y$U|F!@$ zhz9|oKo~%}ewr-&Q)3(sYY?_0j6w*Pq}Yu3HJ}BUf%hBZSns0`mKI4M!9PMcuu~UH zfR(`0|CY}4w&8s{a1^KmJ_gPJ=YYGP=5%-CM|1HB3P+yhYLYjR2H9|h`= z@Fl<-6ofDo_}>kRKw1=F1I_={pfJ#U37U(*-3F~hS~K3S0N4IVFC`=y8L2=TFdP^K zi~+_0cMCU9_%j|fg@}njGfpkqfMmoYa60xe5C!OgYd{=uxBRmY;IA{lPN2LCD-jZW z-~Zcq}9)QmLGd~LPIWObm2;+cIAPk5A?$&X);q{Zz z0W@3#l#apUIudNaWW=`vc_=il3q?p@2|Nuv3zP%vfla^`U>l(4nM z0@MMcP~T)=Dln!CIWx&L|A+3ja1Jt-0tWB zip{8?ZW%s?@FEB!fKU(*$9w1!6hs&Y>_t2g;iz>)bfT~apm^5+Q_+whgrV%qnsw8z zfg-sAO_C)aC%YJhsg zkAh}6;vXY^2DpJbnvr%LScy7=fQyKqL*AFbO5{Ha*bu)6)FW^53y^|eB4Psss=B)v z$g^88rZ1vlz;@tnMkwM=;2bIsLpTO>X$b3h8t^63ZNN69uiuI~fI}}~gphX;>CM25 zWs8?R{?sy(_=GO;iF??Sb@!*feg^#q4giONYTyIl6z~af7WfLdz(eM&dvnysZ(#(0 z7T_Xq4fqnM2Mz%3z&s-%*3bTId=reutIYPn)}Tw%eWjH5i7ogrGob1tBEnLB`@<~! V)2!vg&#^zZ9RD2G(4MYm{{w39b-e%p diff --git a/Tools/IO_Firmware/iofirmware_dshot_lowpolh.bin b/Tools/IO_Firmware/iofirmware_dshot_lowpolh.bin index c52a18b84b63bccf2e8a8d6fa3a3e68f63da9667..429490d225f0a60d11da1a8f713d14d975c1c260 100755 GIT binary patch delta 14363 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 W(!VHWEC1tfxWym-4>xPK`u{&~3ZXFo delta 18539 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

_E$RWpU*mE7Xq7!4 zDP_Z!&WyjT=frC+W#@IoDwexynAqnZVT*0f*s2uz3r2(qq3aNwnm^RIu>-ueG??ph zu@g(fMn2}2Lzr)*mAl;zy}LXV7N^MX@TIbIaymA%@0S*&zv$w`CtO5V@$;Z+90-U5 zjVu;O=Vc$gP<7V_u3(+(Ry*;HfH|zxD?2`=FBt~5UXvm(R8IG^U6Z2O&L_2Hk%=^E z`&|W2!YlPZ+7(7+7NY9H-q`x@-W$g1_uwjhCoqSGy#iB>g(=)QL;sWRK?xYI4io18fCT(Tt$<1kqSbUAKLYfqrLbM7opet4&T4kq+C`6ww`OrjI|EIKp`<)jW z)E1gFAnu>G$(k;dF^{D`H5B)s3!jQ#_FlJ2h;Gqf1a^1Jw=|-KYFyCS_l)R+8lPb<0NxD71d9U zIqM1$SrV4Ed`Q;xb0`Eae6td^^@Bt;yhY~zihxcIp4^V#dqXz)ddCMgrfrc^-<4=& z<=j4tONt)B~oio~; zENGvTeJ&NX=kiRDNil-caj%OLOFd49%SjRF<1X7Jr+pRMP&XHw1j<-KXLJjZi=&1LSDG{ zs*yN6BaflGX8^uAP#F9iF9gIMvj#*cvO-EYakNJsUShoqJx+|2%Sx}V?=L8isg85v zU>Aw>5r$;R$Lz=0$Q2`D6R9h7i-)+rvGa2I+eDP>lFJtQwQ%C^&(c_G!(^Q0VjZni z!-(!VRnTwvnlpj{`=>jj*?+ErNtW=X%;`;GuNjy z_e&!p5)jv3ldlUq)woIi3){DPB%Q>XSEq7cZe+i#-Vt?YlU!ZcC>mv)nTRzduMTr} zmQm&p1sCM4!pI(Hht~uyf2(^HF8z}AY2Gwt=RERlL8UYa_hggj$SZ2K_hOL4bAdkj zp-u^TXH}&%AL-@YYmic+SKzrppYSmK6;iOKQd*Dn5*BFE(&cOdp0n9PJg2hf@f^eI zOvcIn!ughIrfnu=N2T%zuY5o@tq5U;YU`6h#Iz!;+cCyNb?TP5je4QPGD5i2PLx>t zqa1du!|{b4B-)=lLHIC0-f1F1-xNQ7ao zbbSyyS-4};Pov^fu5V2#(>m-yFjXopWLaBA(+swLOZf2dE`xB})EP|0anQ+__M=_a zh+#*!B+*XRwk3i7nfaH_qWjq5(o}Af7aqB^;1G(~?uPu7wg0q5AM zim(K1=f*J8EmL2M<<@?kchc0`;&*ZB=5gfWlZSjQBDec{cCTVMy~$LSisW zVq;~JW~IyH_^exnufRk+k}3o&a;t9y63wBL?6b;u>0elJ6+Ygx=BgyWit`H7 zw<|o3t*o;uH@KvyFTzn7Z<@4bMPBU+1>&rgZ0U~B(8=fJ?ZyWwlgtKFP~MWfz`Tq+ zCDOClo*m(I1p5HbfsI#p6wvTNE`^|P;qk@I;UCjz5M3 zzWN@OSn95!to7Al^zUA-8{D70T=cGCF!9t~ar6*dyK5CKX0~0M%M#BMB~7azNHjiL zzL^(#9ItizXni$3j+a4s&=*1dKr2A|ftG;|2Q5W#$fx;eqrq=RY{NHu9B=jbA<+D1 z4-wT;kE6P~$8ixj-_zp=Lwk4i^!}S*z?u8#6%ogrq3qIY@uL@=OAV&T-#c0!M+rW= z^oGWAnLm4b>BdD_@a~h8u}izHs+J_eTN-!n(b3uN$q0H<@PDEygueyc!+R(20KivJ z9ud9w_x)640hT>Z_%A`Vpl<+|z+VME1_nLOdiIVe>q;a1L7^9J@cq+~1Pld&fxa}E zCg6PnFbkLuj4*5agFmUu&I;X*#f#!5l#<%<`VLmQqivhV&7RWya zih=*TQCA?l3Ty-Ze~r3?^sPV@(ATIg@H>H5fj#ME|4z6C!5!dxpdGjebOH~6zRb^O z{G0zi2f6^A1AR~#w}3uf7370}tC0DD+CaYq+J2=os|*SAfk{9*unH&y`U=?w{?_wo zF=!RA8F(Jp3iRpp&mw#ba4VDWSu?-``G6nr0J8O<7Ql==#~)%RfG>eI;4lhp23mll4{;h)uB@+-SHOP>Tm@{vL(?7m zAGW({E=B;DH6J|%WW~jJ&j-3#^S+d_Hy}L-99@7W0snOsAgvvE0Q{=T|EO{ELevD@ zTSWNq#s9s$sYpv-43o7ig{1)htz!Blu0H|4r!X17f76?Qv`N7CxGwd}`%k^O89AFb zP1a;RUAU<*e_i3m!l&1exf$%AzaLe0WhJb4HG;4;gwF-G0v{J)Ov11t^07>TNx)Pf z9jID?zO99^g5Cjwff(Q@um?B@Oov_;kPFNQUWM#9%3BP68ITXG0t)lV0)CYVics(? zfW1I?9Q^aZ8>plh@9AjZtDpw~`R`xrLCv6>L7xY<0{B40Pk>$(=uY4$yYqT!?)NBR z`Z{P7qq(3Ho`KbYKMq*16b>T&4&?V_8TiGZM?p^mhkHTr$LVcAG7w__sZ^VKpnuW67&d|4{QS#16P3j_2@FN416)@Q0V4^-wCt#AAS^>nv+e`<&1P74?nhSgneioZr_g3ulub_RvVc=EZ4WJ5G n4=e*t0|k0Q4xD5@2X?6zt@V^qcJM%osve($!WwTK$l(4D!zGtno_uB8Z z_g-tAInpTXJSIF`PKi_)O2oA?5x>bKV&*;S2U>*m-=lE#AK(3UZhkm)#v5-D@g&d& zM7&MJ9Kcmd#DFzKi~&XhlYl~C1@L0{A8X+)tUwt~>&v_87n=_a^xMA<8C67V1pQ(2 zr3zoa@#yEXL?rmtmC#^s{UlXX0@~TjJ;r;9N<3a}vhzJ+B1I+e2qAoE%^D&ReAD?$g_JH~uAV;zu2YF|e|V)j%#=g4Z6-n$fA*hV zyW>SAPCcxedJnTTnZvAk#Tx4wwc4~TYm1uLyTSJHgip-9ty6eqY7J}jA4)f~oBoIB zdu&I5S;%&?YXNz5Crj&HFWfOPwRe@~1*eWx1U^f9FlS(#fhc#}FQm6N$H|gRlz+RA zr2pKUYLsNHAyqYvBgz$)8B|CQv-g7r(w%kx2>J`9SJ?}F%|6?mgJhFI!nk(V{m?gz z(id2JzZrBX%MBh)%h^l8A*T7wht+vgwF#@6j#>YM7Lm|8`3Q-EoAg#_4dQ6b=YCG#K1CMX*sMe1iu{o zi{O`{RPnIw=@l&>+9NQz@7Tj9=icdcSo!^b6!L^;Stgrx*MSE-&h5#^X`k9vn}QCm!}sbg40 z*i2f-(X|P>w_Ajo#%s#jWHozCeEDsAV>^)~+2>+o zyC8MoO)ojHS}}=|+}N&_j5fC;-mSSvqWFYNamSYbla)!4V;#48*M94fzJ;eCp`5AJ zo>H%sW2{thbgWD7Xr{{T4#|?zhy$TsG{0CA_FP5-JwOyK`%xM=Q|{`SBgr}?y-P9* zQNB4+gihJ+Cd!G-~^DAFn8v(U%P z=y!CYj8>l5a>yL>l%!DxdAM0nuBb7E2a#I$pkyUV4t-Fv8YN>~dkgnLW*20vp4ykDxJcAM zGp{_}vQB+i(zR_Qf)e1mQg{S{n;^K)BlrX=>u-*YA~?CMqxH($?8lfsWp_JcX77RA zk_Q#0qrQMY)K`W2E_Gg+y#;awkPEi)E)%7wBc=#z+!XvC5tY3}+_|2TZJ*+GZhXifSZOxq6fr{bSn2qo~j$7t!RAGu5?^BDsp&^#7)hd61q`f3HRD3{~sn zZ_`+3&EJ-_H{H>aQr2h=r-nCDHH*^FiIDW5CMxk}3E>*Iu0|_wkm;*L+2*FQ9=C$q zG1qN)PLO@#bj|$jqFZe6F&ayZ=z3VQVP%NzuMIlB?_PPgK}ed8flQS(R=Rx$PI%*U z-6>RA+(}|@G*jbyMRAqtaMM-0woUZ@TqZF^RZn)TbKbzIk$Co;N=nM=@;!|na!+Ab z21aItp3Xy~i@QXd5EpcwSvA{tB>hMqURc*Xr3n+Xev%Q6&3FDIe zcAD&yAhv16Pg{1goY=UsrS3zu;&8>THvTqDhDFw6m|mV1&vgBMn3I1u%!uZgm3XejfEOEP@x;$sQ* zjAcN{Z)2fG67@d%KAb%n*RO0x@wTiwJALTaTAv|DT3)|*g(S498JdM!nV+jf`BN8_ zu{SY4<}SVL-(Xxx;xn4JsN+q8a*G=H42{Qyv7l?`oGt1^Vp!;P<2Z3UW_IDtB*`q7@rnQH)UbEq4Mz16aFVM1s<%3eSB3x=@qT_Tp?By~Hg-Ix@e zwr#lnzJl&RiFzm~F>XAJ@AaM_r`Bdm?sR5-d9Aa(wSPUQ4Qz zWPd}fEF7T90k$JPgsx`w@$b`1tYGkne!OM3W4+sMkBEJz<+44nKEtY&!`KId!)Oir z`(Puz&Tb6G0p7v<6KbBUX`e{={;O%9?4jk0a0tlN>U1L7m}>H*1$t)9+U0h<>m*Us zsLvsp#{b$u9guV^~ z!$swC8-3erh~N2N#ib-x-l85iy;|#b9O&dSZ5UgI>#98#Q+decU-#!IXba`-T-G{? za+DJ)Gcs0xK2EkQlA;=~rNE*|WVeTo6MA;B z;if!cXeWEwB$+<$lon}~I1Kwed!=eJ;aV)(J?CHdc3b{9BBrMIBL0|s0y$$R`?3EYEzr<6Tc>>LoER09Qx&XJ_H&l(<^PDnbJkgqvM2$gG zB@}@u{o1)Xk$Y!tAyFbaPCzY4O!S19oXBkCPthqqx=g4n_s-`f26N~V!-UUTqiCo_ z$`+LMouLyVb0RR4r(FHb{U=nYZ%zrdM8G;vNp(AH$4Jv0EXs1A64(Ol@g-KzDxSa# zU%|@&UpcM~%ehuS6S!7rp<`SdxK?lt;d<$dyie1J$TcJAedrkS8u>e>yLvwn^N?Or zA0hXJo0L&Ei@lPZ3m@~xAdscO(E)j(o{TJMJoH9(G)`@#^FU0Qj4`j#d^ zP7jZhQ;-sfLt4d_rG~2XlqL}=SC5D`onk*ylI3=EG_lkX+t~Lb9xeO2-DnkL?wE34 z=z=vE*^f8*A0BUwZqQi$kDgJ>O~Ej>{5=-Z^VU$La@Uxrm1Nz2-*WHWbU4!*)1b9p zUc5&(9kpbccqwBjHqtHBS!wmPy_v3S>8`gD$51e_v3=RH66K1@zhR-o3)RNhPTv3i&G7LixFeEpMH?Nl{#=_Go<;}zmM*%p6KLTUq9h^D>0C$M@) zV_}iCLLF0QPBT(En=MXnq(|x!GV+CpBkCZTdS;tz*si9OM&66=9(-Q6J2Qbsx*h(1 z5Zd|&p(yqr`IUfw;#~4?EWsJoSB}8+zRO<83K3G@t2>ZYPU&S9pA$xZWm!3e^dD@0 z&g-;-rA;WHDtl)_1^tK_&0o>y*?-JobPMyD_?gh##hNERp5o)ok)4jmooRSZ?Ql9G zT;!JBlv4hXuvMKv^mj_;nKGOXwS!CLc%&YNR1X)MGbww-SDxf>PjUc~f9U-G6+YsT z^7cq|wL2YOvY#i-qN~`r$-{(RPPTM%)KJY62t)x(fH#1zfHQzjDbvvSRAp;_$_?7ZG*joZlBrTymH%;dqp4i2hQcNRk){aM}AX%VGggnm&QK5R>qNew{kiLXbmxb02kMj9#Kz@nzj%qu;gdR$fg zc@8y}s|UGP06ETIHwDW)UGVU5Nx-Z1dbyXZiRm%X`1H4GjTD&Pqs467ZLM=U+P0`m zO_wZzHff=tyun(g1&5XT$Xn9APxlTxT}#?h=rp3aF`oDz)hMw|O#4V;uTi)+eMdB6 ze=4tRLzgoji4=5hHt&&X-tEp@h4$cypFWZx_&S;L$e@g0J2u|CSh%?Z*U1&zwP~dU8Ikffx~8SbDrQ%1AJRYLlr^W9-KYruWOkoBxj5y1UtB;^}JS zaFdivJd&}a_O`w5?yALJ=TWw(&Ux$hV;MY$)#@hHI&a@Tu2#Wh<&*w3dcu3a@ArgO zM@F^UYGTdPN0gQF+A7kIG->1o%X_PIj8}(7F+Q!yFwWbMext?sbP{F=#w!(+?2bxx zX$djXhfk>6Oxm{N+EXnwTG!T$D`9w7Txq;j+d@+|9G#Z9+m z`Iy(K*Hgo+Jtk}`rmt$OWUFvsR&npvFg@9pwN7nK)o`Dxf_L$Q0|yT9tIwP5n$Z+- zrr~It)aypeU)7*;yS;}^P(E(I-=W=X&7;8x+PwDY81EWW)YE|(ClM9A@Mt*F)JNy{ zEG=5FD3ls#hwg5CMiE;)b70`~_PEjo3!d?$>VGv}*J~EA{WBwlUhVA5nbCcH+XF6Y z<9oHt3x6u2uS&z*abC^wrA(V=qJL+}c?N9gnR!y*QraQh8kO$fOou$*^o?3$^6|91 zDQ{p%vrdbS>F>G{=J zYhh0=mB^rF&2&Jv`KQnv^Q!@mWt^_nqo-$TDcf1Fq`y1%i&{%FO)$=WTGK)9_DO%N zS=eFhAh*tV&G?42g$oUBwAX00_Z07z9jd=1jK6@;8@revPW(y8(<_xJXlZQg<~=!f%E2~bJw`4;++Zpdpb0p{bw-$bx7_18|}_4L@L zesbc757etAFR7O!%8#^>US7?4-9Bfo+o5Utu(rwG?SZm`j|JyPpTn`C+5Wt?bXR)+ zGu1dAXuPhaS-msmrPTOzv57=^hka2?+rl-H8YpFyzLf5BzM_;4djne`1m4I&)7s^M z4W^@RNB<_z<%vt^pyYP+V`;NOvad@O>SSq)dYy2W%Cma70bGuAuCwYdrq4o);=Rsm z%_r1fNSHOy7WU!^^^VEE(H~Za+i|^#A5CO6Q7B<=&zcx?(IhC-I<;-Tz({Dk<`0!H zA7x#$f@gm2Oua<|cRz2m-Zu+&z$_5!U5X^P>YQqqV~(pl44R`Uyx~Rp0n_1VV2d6vO7rRzlrv6ZthgOe#eE zdEGTVw)8K~A6ki56xO)Zq`mPO-H_g^`LsIbcx9${%V{;01r!*3#w60D=dWqtzm~GG z1^otG#(^f*XRHpiX|i38Z#$_mV;S#XC(@xaM@8%m@1ty0L8y0(i`#Yr{Fk>11_ri$ zjOjr^tvt(CK0npwa_nK>6-31S@}N8O9(3pU@48cduRE12;)%#!{(|<#UxoW!I?l{b zgbW+AkBHn~N{#V0r>fDTiPC{fofx!jV~9qnZ13jF!T+h9yDg8iO-~pCzwS6*>)%L| zddB~|Wt7y8)3b(s`a~c46Z`IogfgQ`C&xCx{Zo7qhSR|(qmmOcnTv7Gqb)%ZyIhW6 zohQ^21WpPZObz#l7y8NDvZ`#{TmHqJddmeDFB&eM%c1LB)L<-5!X2=?kiUm?a#xj( zHqIvTzqZ`AyBy8V-SabSKh6I%bVIt9EqXE}ng#HuYWM;W{M zWCBdNFiVX02k;EI_jQ)#SVouqf+?nEDutAkWCcOTxqfRNe7!lrO;XPu;W?fwT8V}x zc;hS&_ZYJ&^|VbQeweneomvE6u_SF0j~I6G1tIu^5GeP4PLzEI?Q8Ol(&U7eXp~5m zkApN_bGXYQ1y5schwEr}Lu$P=(NDH7=qr<7A{!@e}t#u`W+Pzd0tRBlh(4&3Pi zHgaRUzt;i%eyW^i%VrzPtj-_pBCmPvMASGF5ak{X*v}u+L9|6sIzJW$Ihv`2o%jhf zquv+cqd^UPXX>0oWRqOdh+a2vCqz&_`dCm7cj#rrwwkA_+QA0-08ZjTknIJ#7j<@A zg$j1pK?eLeU3`)rNRef33EXU!_Eg}L?|05cz$?X+>dDi#O(#DWRjMNq(;GEK zP_}i>LoPyLcs^=MxhGRXcF(O;XCS|-^C{$%m^64UH4VF$zmXI@RjDpP{&TGEDFc0q zeS_zt%zR-z?_pF)Gj3(CKpbii#p8PI0uS0p=b9YVim|FQP*sdJN9 zdyD3x+wo`CYyMRFA}gF9M&D;^=7;rpLsjhGV>QYFUaSgqGdncDU*z*vevm(A)2t3u zsLrb;L!lbYvg$13>bbXx#>l>#zghUs#fpm)wVjSH-E3!ZxDfOKJ68NIwX?znxkBm( ztaibAPDU-9HaGPHepzX<-Hx+v{uR*enA|kwLE4x1(#AJg9;6+=mo}=YKW8tknuKrb=U0srmbloE(jhE+^&o0t%T{O5DE61t z$+RE4xq2MtHKFt?dXBZ1X3#J;c1;*Q@8{!L#8#}CWm?@pnu1`O?A?KT@i2-0D#ECE zX~a?aq0>T7i`aS@m6mYJV;29TzC3i>Q1|_sL;^*@fq9-tY$xU_y z+N{{7V#mH>FI=o{$9L{_J1^JrDmM;%C#{`*!@AbG9hdaxbj`W$pi@~>FfQtiZfc|f zh@wa18^SLZo~1gz{Dj3;gpc($``3qC&sn4H^$9}K_ZGL~DSTw%VH|&m?*F9QI@6j% ztrx7XT6b8tr_=Lp$0fF@Vklk48Y{-qY0O!XBw3tp$CsTte3B;0VW)s^PU~Qs@&29* zMD*$)n_T%G{fgbK%%V0nc3qP98^<)(pJ%%rjICTZHMz9wzA>kRX=t!%EZb&lB)6mF z*uAf39wSjBBWh+N_^PlLC8sd=x)3^pg{+Ujjvs+%Ox=w2Mf9nGPK|785b<5m?J$5R zvHxxkmZNYu5oK1VM!x1TJhb>|=`}oB@zRM=aWc1UeQX$HQj&EU zGZB2S?oU;T0z0z7BuF2!>l;dwr?+e6W}EMhv=A-x+kvn3B|3JhRp{$>)OVUZCax6& zX@EIO4CQJJLiKLPM{LJSF?1LE^rg{s7IVF196Ps@OI3C15!B~X&J|?vK_W&2A#Y;S zDk(?AdIYoE-HsoySYB?oBjDan$LH#ene-X9d*k~8X=2Trf|zAfUwruZ$EH4PBe=63 z?g+SJ;Ns~%=G-)wu3&{PuP7UJjA&_UO)nzp4Pw10cR60~)Em5{E(Ze@L0RMu%VS>i)w+ z&m(yl7EuNtp=`!02?H%h$AwUo@18EVV>vz^b^8Xq&fA`0x*RQR|0^G0x@J^2>2@U% zac^D7W+R=}G75i&0#=T}Hyq$o@F#&UfKve69nY^}ERJ#@^I;}={(;Xky}3?21o!#0%L(R;C|Cw?mllwC*oY> z%?B3!PG$-C6~IbhO&TeCP#_Kk(g5C}wa8ot{NEkggtW~-4)DKq=tbmb0+WFI9cl$X z6_^3!KS=LM$S%C>1@;3hoCTLn%J{9+%3O36*b1z;C^PmR;*g#Uj0DC4X+S2B155&@0+)apKmkw)%mwCWm0<*6mH;b&WK@^~OaeyU zLmDV==za$az|RK?fw{nc(@otpj1ahq?~oxgy5-uZ!m&Xb*WpN1IF99SO)49S+_6CB zqo@)1Z#Aw%-iyFiF89B*+-D|Q1UBUnu@U%h_5FanOL=6TSTGA}2>ds}UC7%D>@UC; z1pb@cH^@5=ta}o&z#rt;lGnzS<F#1VZas0wE}IxUBG~}{iv@UybGX^*8z8*B9p}{VBUg28t7P1 zKaK@hDZGDEM8r7IkpTarnIEVPGyt>@5CTL1UqH?P8pGDTzIti_N;d*`7eZ-4V-}L{_<_#{-3l52j08>sAwUGM0(H#i6mWsx49o>@ z0AhelK!>zA&;%d{_+}|~Yyp@;K%koYdxGfTeq2Jw+JT7WzipPScwdY6si1EFC&4#> zj^$~<4Dk6t2+GIcpQY{3U@*WBNGkveff-LPczW@(Pm`EsQp~bZY|!?}g}2|s--%$x z?*aA$9|HBjC%~t`-+`}zGxzBIe%?P^Uc@}_0#4!}ISE<-`UPkUum=1oc7FRigW5Mj zxd6i^%q9>5=m7kKO8fyx0AFN6-3QsbJ6`s_Q|vCIyd{?W=4f3wK1FS;Tk&Rw@P7co Czq2U- diff --git a/Tools/IO_Firmware/iofirmware_f103_8MHz_lowpolh.bin b/Tools/IO_Firmware/iofirmware_f103_8MHz_lowpolh.bin index f401975944518421d259760815dd940f4dafb355..0909a0597a4ed1fb802c025213f5ed1f45876e24 100755 GIT binary patch delta 11158 zcmaKS30zZG_W!*v2|NTfiVLeI1e8TIfL0VO5cDBLMXbBEg17{f7Po0DbwB}&U95U> zN<~|3wRLR?OGm6Rw$+YK$KMcZJ5uYXI$a`VoO!g`JQ70w-xs9Q{^vKpd_LcI&O7(q z{oHfUy)TE(b7w5vqve!n@4abPkj8@+K>lmo+49@>gKzA4G-Q6vLBh`m zwgIPsHel;>gx>=k1zLcsz#ZTLurutprN}j?UhkDnDDS0Ndrpt;A5(=4&l7$sXz`vq z6#>jwn=PPziGa{;!hr4Y-Vl!qDK0PH?4%oU29bk4N()G zzejEpLNu~0nT7kO^J;gG-B>y*$opGh_P+RPd$ad3; zXAIx8rs*_-Qky2}Q;FEgrVq)d7uY*PM$=P`e;x8iN`GX}4>S5Nam5OHtp@!nXuLHn zl+qonYxsP+p5+9k&`S1VP;lAW)+T9nt}=dWYwQhfDvkf$jfJylM4Yz|OHH+zai$t+ zwRTZaleBV>+^cf*s!4iME5FB?`ehsePa^2vMMdQV0k+qpArpdkIUi^Y#8JilMQr2W| zl1vFrQi+yjyliWd)`8yy{(0~lkgF(RzhRs0U3(~o{&joE?40|~6-mEz0P{FwaZ#)= zBk#AJNHU>RO`lBeYG1dKOwZVBq@qE)(H2Z)youRmc3Z<6Xvn%gv8lp-pC_85u=CSE zGjLbY>dT@-lIcX2AF`P4W*>ws58rT>=qjZtiHYXx(lZ>VwcIU9^AXpaEwK>sESngb zJY-9ybWKmhKf8}e_eqUp)Bi!5#wtP=(nNMMbR>O(xk8hufsG3rN0Zs|uoP~9n;i%X zp@jW0ET0Cm;BaGLi&L~~1dn4`52uyu@e!x7r^B}ehPqTnRd!IGD$8ev;xh*85Nn$q4tQ*Jg4j2m!6$y!DZFU$0tmXw4}P{x06d*9oWVV-zt zD0yJFbSd+i?1SQhy(Nzg3K|PcG0e^ll7CYShB*F4VqCwrB$TJ@$WSy&*Y*8x3n^bV z42u1xjZVy&uIl7e`)!JP%U!Wzf;3}FT=`EZm1s0VzuT5BPUEy&G+jO#2PQo#F%fG_ zXZAR>9>r}EArGnGi7vm%)@nw^Nk0y5_#3kNXnw?#(}2^rd#xb3St&%BsOWN58Jw+D zbTG4KC>_B5q#3=?=^l`!5me&OZjFwM2*}cetHdcDB7V}Hu`@$dDl)ba@q*0XFE7a0 zrnV64%t1u+?IFS+QxlB@+6_C4Zx?f(ucy1ISnpK93%tXoYjf#p_NummMzYWd9oNvq z(jwAmD%%zjNJq1M5jr0^^S6iC`G_&W)7&{CdF^Bd49B@6qA`k_cGVn z&Gzad=n&Sddzyx^_{cX@Y8C06!fcVLWnW7wL1Wg!Q-0x2Gsfjbw$VzB$@iX+Ik`Iqw6v42GkU8QobDyV@xAMzlx+(IH2JC7D5WB8kn68ezE*I0>$YDzK*P|~c}GC=T;8(>qcD`+8|y`xt+YGK)D zXKFJwBBi385IMK9RhcwL(h(~5v&cDrD^prfo>wp2>ebUXc1+$Hb_*x?$EaH6x7!}R#b2k}phLSt zTeYRZ=8sxb@;Z6t%@$?SJhU=bP?+fcI(SFjmR<=J4|kL3j#jE0wGw_!|Gi!I3YP^E zRj_lpv&z*0&oKV_4T+SHar)N9a;-|oDbFHiA3bt<=(R%;bRj(9Y5Ev$L7`p1~?dsP(zwYYHUv)LSHL7%I%e58~HRSf$haFvlj^+wCf78(c z-5N91sRX%QqgO@?y+cDrp~I{*I+zAA|Cl80-`#R=LcF~hwV|&!Q}k3vB1WU_Q`qvD z;blvUYBL+{^pT$%{KuZLy=o^`dH0BKmoh5WDFqUj(@Ml$JygI_!w46FC z(OM(T)W_x&w8&#L6Z=GIk7iYkG>;r!=i70CcpL>ic++cyg;LUPGCB*nr}Z3Kr!Xxo ztj+X9M_WCba>3=(P&+-K?GSUtgqCTFqeJQ+Y$@|^lQYt!n+;rCwN>7w=IQ0hXg^}nVZJOfvkY?ol;l@AEg|IgXUjoX74IgTofFrAB&Ott;JQP}pjuW$M@F7!<9Q(&L&+X&I`kk)|M0n4&MS@Xh^>sf`k4E@ph2;5U`-pW;ZU&Df8tq3kV*pRNhumTyJ+L{$q!j8{*_crJXI3{xN55s(F*@#}F81x1`la$Z zt?!yi$2U5zHG` zueRv1U6f1n)q`3V!Au@!KgH{k@+0UmB5v(gc1%~&V@Ilq$htLxqF!$ykxu)>X4EuC zDI7JE&ha$ctGk9R9ve)oz*Er)vL z7!eWY5h6}yvl7>?{<Gp z`lR5pm98{%pmx{{mH3ovX2g)J>L8W4poi)LXX#BRH!4h_@R=$x93ADv*WHJ3_6c2E zo9QwIWH)KP%vXtjmh>igBWTGQFS{M~d1z|#V4|4=Dtp1N&_ub(FQJ>%7-Yg?u*zv< zMoH$PGFiF#kr_mMv}XdIDc)yt&v@_?ywAj*B=F2p-#9(T_D%OylR!Z#v%&p(F=ktgr~AWz;oK%Tg-08HBB-Wii;OSS+d z>`k71*%E5O%N8J8f@~GCeFY#b-avTS8sy_hJz^GlXk{xHf1L1(ATMbS7lt9i&uF~K zo|=$DmoV!DTbZq=#|{H%QHj%l@6Slh{jre_5~77+2wr=-mBJ1~jg=D&VKG87B%i{M zNLZy*TWv_T@{sI5!<$uN-IrR|ZTP>y6#3nN;vx1^~=!x@#B zhS&>xO6xg8gph!Wtdmj5AvhbA_^f2Nv)hlW?9KqG=%*%SxeWj&g7AFY2%7@eM(i0 zi>C}%uyv_HepkD4#G>48#})Q+YWPT#E6CjIA~N!L%WX_j>5yHi6i!37Yr?LiPQqzU zk*4iW&tUi-%BQh}w9)YO>68((@|7C&|snS8m}4_ zbK$j8tU$eED%;{=YqB@|?5*`!W5)D&IDNm8ext;(SA ze2k6D4CcN%+L)bLPU%JV>5NeN1+&k{$53Wvy-GvbovdZ_I!n#2pnKWJ*`MMh`ie0W zyUt1D$J~$ItYqfn$v2%@g3B?+m5!&@>2lobCO_Ks$>oo5`=o5*bH8M@KEvg>?9~eP zY7Kzam)%S`YsSPnulOHMIrE(^m*e#Rnz`Dm)#lauA874o6|vGJ=7rVuVzUA#@c@>YJ2$-aO30N4 z(vePUtkt`E!})lL}UK&K$`?(7rEp1D?AgKq*8L6%uw=LjMsLXQ-L4qvjygZI4 z;CmOOBC6j^-IHHPmzi;H@OYhzPE~eZP$26iorx4GcXSH(^2VQhhO~6D87Nht|En3_*cO>^}4|C3)>sR5*5oteJIRCMD z?tqh3J{Fs?!}-#~karV2l3Z0aXbr#%G>eLcvj@Phj4f#DUCBJowSoqx+I;-+jhS!JuxC$SZdlPdT4E?zp+Z<(nC%CvTKXzUWJM5 z<4!Cs8r&Z0LuxatB$}@9URTIXJbB{833->?#}ejS!(mVFuze&ADYx7EnK{wW z)z_dn)_*||EoGw?O!2#{k9aaL;}Yh1?Se4KsuvUvDAlbk4xw7=R6U5x&@s<~(Sct{ zXy@ABd8Ix->wfT2#IZ>WF_#isvM_R3jWp=CGH#%4b=aD4T-$_tVtiZUN?FZ9JgX6-rrku_@dFlcU4NbeokD7Lt}cY+u`cD-kvTWN(*RZn7wc&HrPa^eeV zbS>^Pc;*e6@*D8cymkWAy=K}#~O zHTa;VpEXc+XxaJ^p6DwLOIvBSZpD)dCwVZ`Fu#?n(>ckHpZU)D+`l7@Yw4r|_wDkt z)ky&wZrV*LfchajXW*?Q3a1*4GB(2Yfuy{xS@$lEwjW47Y|rB1WmJ68qu4(b4S1Yv zA3!PyW zb83#q!CT*J_}KpN)apHN_L;nFQ*(TXW?+oIDf$NOUQv&*K2x*u-vdt>Kt(_Ms)a+s)T=_sm^IBkVA zTLVhvgPPYMu)nw+Z@RBb%7l+Y3gUd*l*Wsal7^ZB&7nIlN&yLKi+TX@*LWO1SY?k# zO4+cbGvhDoIq{lH*?AqYish~vCidwE*kYSAwkn1Gf)Qat=sE;SJU4d%LB z?8MTrk&n3L5aw%X{s?2se?sUuXCMOO&muyLe)9XDGDR4GL=UL3Mz`&2s zV)#&lQdnv(FHAGL9VIMhS$NF#UwZPrv#%$|e$^Ax!=9{T`<9K&?awJYKH~a%a}4*R zIPm!n8(te7>fJPg-^sUd#76^M7L-#0=v8ATN=?qH7@Avd&+y@g8U^n z&h9S6>IBCrOnq;^`wO+1$!7Vy{twTr7F|&wHlDZgODr@+w}QkuZ4SHJagsTni0UWD zoOOkWED1|nJ|t`UITV5yzF7&|`d*?M-Xe2z2gHL)3(T|Z%Z^X z@^-I{lW582cC29sm&emN?9=5@ehD~-$Y;H0Sl9BD*}IR)MSE-A?zf|y?3*yS1( zzkFW0EC;sUb<=j4tONt)B~tuxx3 zENGvReJ&NX=kiRDNil-caj%OLOFd49%SjRF<1X7Jr+pzMAT6#-*7yn3s zqRZ*{-l=_t6K=2VEvw@L$r6MntA${U{Md7x_~<$BMP&YCw1mBvKXLJjZi=&1LSDG{ zs*yN6BaflGX8^uAP#F9SF9gIMvj#*cvO-EYakNJsUShoqJx+|2%Sx}V?=L8isg85v zU>Aw>5r$;R$LvSg$Q2`D6R9h7i-)+rw)1lN+eDP>lFJtQwQ%Ae&eB+F!(^Q0VjZni z!-(!VRnTwvnlpj{`=>jj*?y z_e&!p5)jv3ldlUq)woIiE8DkvB%Q>XSEq8HZ)88O-Vt?YlU!ZcC>mv)nTRzduMTr} zmQm&p1sCM4!pI(Hht~uyf1`U9F8z}AY2Gwt=RERFL8UYa_hggj$SZ2K_hOL4bAdkj zp-u^TYgMH*AL-@YYmic+SKzrppYSmKB~q}aQd*Dn5*BFE(&cOdp0n9PJg2f}@f^eI zOvcIn!ughIrfnu=N2T%zuY5o@tq5U;YU|@c#Iz!;+cCyNb?TP5je4QPGD5i2PLx>t zqa1du!|{b4B-)=jLHIC0-f1F1)uU zMhrW;C5d*jwk-+tFU-Gm7Tw1dm!@)?-R#}x#R2!bT?7`Nh0fjBZIt2Gg6Y2=xSpNG&j=s+t%jZ*Fqu(}s zy8n``-EJ;RZuU3cGKHC{q(~BBdMqy_k4Aiz_m-(riqtRzwaGV-z1IuLX_8~+Ir)N0 z-yDG3x?3h=*z@%RTjKJ$Azj;VqpxK1QImCIa$QL)N9>-NrmtD>mzgJ#- z17~kr@e_=DKP+fZf#c$)%&Ev?$ClC2rL~i$Y>|VuidXuRt$I)eMLgiE# z#m34c%}STY@kzJ*6_|);T%1l0{VOZ3!pD2oT$SWkab98i zW`)PGm33C-2AA~oMK~(sO_SEF$g5qUK%BLbE!`0sI{Cc3-S{A7lG$Ji%3G2bn3s{K zM0yt6vm>02VDI5Mu<`1S0vbNZr4aNjJifSj9RA=*^gmmJgb27LA}(jMszVn)a4K=Z zCIGLz#EXw`XWnH?UVLuCv??CML?@yC$B zm*1fhOWie;wZ1%z{@u%UgZqn@i{3R1CZ4)0jviubcdequ%(iQDS>k!3q-pg7iN;6E zH}gV|`aGx~Xa#6L&@#~Bprr^7`7|GGH2BSkZTM!7OTD8Xl! z-q2Vs^CxdF-MA-F)+AwLKl29Ewp=QMaT(40=n_?BNK%*VxSF(5a}0{MqP zG4TI4>I!66fo;J5)u>BI-wIR#eU0h@zY};F*ppuN?}S?r+yTA=+JSpOC-4C1%lvG{ zzxnTSpbOAB&Up%8)Q0m;|H)tAIkFuaIrvZ#|0^ zgH{2XfoFlOK%Y+kEW*bCw=xNzH3K}55BLEOAX^V=0nEsA{2_Kiz7HsS4UdDsVc;lm z95@Y_f$7N93~B*B1TFzrfUAHF_#9{h4x`X!panSk5T`-q%K9341^nm0Rlo*3G~KcP zVY{p5Vg!I$^U+g4R$Pqte4vXp?@K9r4bp?a(FJG{@LyK}(%OLsz^|(Oj~X{GL`}fG zMT8Gu{NKx)inR2_Fj>n|SPJmpDyEO)`V;Vb0+Rv!H@yi+n*@A^>r%hG|J0kCk+XTz zWKGtSg_{cV*A;Fod~yw$o5BA1hf!r$R>FE$BM4hV_*`Hs@L>_gBn&GeAIlV&1WX0e zfvOeg+gcba=p7&!hyjiQdw_$$bm(OPxxjqjWyp@Byv5*`0r|ixpfH~-;8&TT2nD|a z*b9Wm!9NSUhDwU@o{k2-40;fd|NgZe)C{^A^jTmlfDc6c1n5h_fnN-I6!bK37>GyOddM~dm!N-%ovs}{^eRee z0px{t8uU2uA#1OFr|jMa)B(&YL63m>z&2npa0SR;k1hktz!!rKg>F9hoj@BleYb^r4GSKcQ46hzT!z;wU}hUQktnt=?4DSB{bdjL| delta 11241 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�vbHq6@yZ~U6*Zv^3OJ+ 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 MJNzGR)^7Fxe};vh5&!@I delta 18550 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%0A!}61V&HfNmVSM3DA(@N&hT^R~O2rl$3|XxO|y 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 WL3pzFSAU}i*_5x`p48+9zyAkvELP$G diff --git a/Tools/IO_Firmware/iofirmware_f103_highpolh.bin b/Tools/IO_Firmware/iofirmware_f103_highpolh.bin index b05367f7ac12f2026121717c272c57129d79c45c..6fdd28296ce1b8159165bd6bebc668e565150ec7 100755 GIT binary patch delta 11164 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 delta 11239 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 Bva$dG diff --git a/Tools/IO_Firmware/iofirmware_f103_lowpolh.bin b/Tools/IO_Firmware/iofirmware_f103_lowpolh.bin index 25bfa7c11a95a1c1ba10c2f636d5cb29cfd681d3..227b5af40ac131315003b7bbfe9dacd368315af7 100755 GIT binary patch delta 11164 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 G68;CUjL|9p delta 11464 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 diff --git a/Tools/IO_Firmware/iofirmware_lowpolh.bin b/Tools/IO_Firmware/iofirmware_lowpolh.bin index dabf7c39dc11402dd03bfd11281e7787b01a0d09..190adf98a9488cbe0cb4052114cc86481ab0540f 100755 GIT binary patch delta 11234 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 Gg#Q6xw$Ug6 delta 11464 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�PpTMKFUFo#Mq)M;@?>bC2UCei!)^Z_AHm!0w)@{-w?|mn3z^XGPhZ$Ye`6M7klS8jVLdvjMH{gl=2dXMI_f{F&s-Xx-Zy(Vh6p3eAu z9RA-0tQ=3Y?*es5*8?8`=K-8+JU?q1{-Fh=Jw&tzLEC|KNbdxF8F(Ft$NRN3_R33x zOIp&2cCFNn?~%R++yGjC$LIMJfnp614nzS7z-S-^=xLhE^`wI{h;|_9`H*D z*^8IgfrG#i;9cMZU=I`HFx1Yk6f0+giTF%ifFvVj(08jugn0pJ1O7x^2NPEwMmPgXhbvV7{BFT^@H&9=Y~IVMB?;h;2GSluRluKAMV>`o z8L*Sf{dtq5&n&bAY?+Of3;bDq-yyGMHd&<2p9_@){!DN$@?HlH&ckv9{!H!y@|uBX zpMWgz2RZiaD-%lc77%UlB6JIA0W^!DtVPhvF#Lr$!+{v!d&pe_T7h4IVDR2WeeFo!13CZ~@atkSUHd%>zYKvC(9xh8j-~iQc)w7H zcp9%9;D4{vfLcL)K>GmxKp^lD(F5J+y}fo zK0pFc5BLLt!17gSfm7ff($53)kPZgIfi%E{@;cBc zU?Ol~6%1NF5_157s(Ka!ajn7kLdV*HK%{#zcH(^<-m^h>1NBH-K}T~QFb(NEz#pfO zaQtz${V5Cv_zt{$U=F8GE`4&v(@&D9)ne4@aV&P<^aA(W_@@*+^uxfrz)7GMI0JkH zd Date: Wed, 29 Apr 2026 14:53:42 +0200 Subject: [PATCH 29/40] Tracker: 4.7.0-beta4 release notes --- AntennaTracker/ReleaseNotes.txt | 36 +++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/AntennaTracker/ReleaseNotes.txt b/AntennaTracker/ReleaseNotes.txt index 9c93be93dce76..7253aa75668e1 100644 --- a/AntennaTracker/ReleaseNotes.txt +++ b/AntennaTracker/ReleaseNotes.txt @@ -1,4 +1,40 @@ ArduPilot Antenna Tracker Release Notes: +------------------------------------------------------------------ +Release 4.7.0-beta4 30-Apr-2026 + +Changes from 4.7.0-beta3 + +1) Board specific changes + +- VUAV-TinyV7 board added (@viewpro-caijie, PR:32058) + +2) Driver changes + +- LSM6DSV16X IMU from ST is now supported (@zebulon-86, PR:32574) +- MMP581 driver handles data corruption better (@peterbarker, PR:32171) + +3) Library changes + +- AC_PID: NTF and NEF parameters metadata includes 0 as a valid value (@IamPete1, PR:32898) +- AC_WPNav: BendyRuler altitude bug fixed (@hunt0r, PR:32892) +- AP_Arming: E-stop value is taken into account (@IamPete1, PR:32705) +- AP_GPS: SBF driver improvement in Do Not Use values (@UAVcihang, PR:32642) +- AP_Math: S-Curve bugs fixed (@lthall, PR: 32730) +- RC_Channel: RCx_PROTOCOLS metadata updated with SITLUDP option (@peterbarker, PR:32778) + +4) Plane specific changes + +- AP_IOMCU: Throttle will not output on failsafe while disarmed (@IamPete1, PR:32912) + +5) Sub specific changes + +- Lights servo channels defaults fixed (@ES-Alexander, PR:32764) +- Remote leak detector MAVLink interface support added (@ES-Alexander, PR:32614) + +6) Rover specific changes + +- Power limiting UX improved (@stephendade, PR:32788) + ------------------------------------------------------------------ Release 4.7.0-beta3 10-Apr-2026 From 853ad56028a770c72355d170322899e21b1e20b1 Mon Sep 17 00:00:00 2001 From: George Zogopoulos Date: Wed, 29 Apr 2026 14:53:55 +0200 Subject: [PATCH 30/40] Tracker: version to 4.7.0-beta4 --- AntennaTracker/version.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/AntennaTracker/version.h b/AntennaTracker/version.h index a8caa9771f72e..79e557bc2c4ed 100644 --- a/AntennaTracker/version.h +++ b/AntennaTracker/version.h @@ -6,10 +6,10 @@ #include "ap_version.h" -#define THISFIRMWARE "AntennaTracker V4.7.0-beta3" +#define THISFIRMWARE "AntennaTracker V4.7.0-beta4" // the following line is parsed by the autotest scripts -#define FIRMWARE_VERSION 4,7,0,FIRMWARE_VERSION_TYPE_BETA+2 +#define FIRMWARE_VERSION 4,7,0,FIRMWARE_VERSION_TYPE_BETA+3 #define FW_MAJOR 4 #define FW_MINOR 7 From eddf692f097c23082f9107f8f881f19a007c9e33 Mon Sep 17 00:00:00 2001 From: George Zogopoulos Date: Wed, 29 Apr 2026 14:54:11 +0200 Subject: [PATCH 31/40] AP_Periph: 4.7.0-beta4 release notes --- Tools/AP_Periph/ReleaseNotes.txt | 36 ++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/Tools/AP_Periph/ReleaseNotes.txt b/Tools/AP_Periph/ReleaseNotes.txt index c74ee3ade8eec..f194276a71b92 100644 --- a/Tools/AP_Periph/ReleaseNotes.txt +++ b/Tools/AP_Periph/ReleaseNotes.txt @@ -1,4 +1,40 @@ ArduPilot AP_Periph Release Notes +------------------------------------------------------------------ +Release 4.7.0-beta4 30-Apr-2026 + +Changes from 4.7.0-beta3 + +1) Board specific changes + +- VUAV-TinyV7 board added (@viewpro-caijie, PR:32058) + +2) Driver changes + +- LSM6DSV16X IMU from ST is now supported (@zebulon-86, PR:32574) +- MMP581 driver handles data corruption better (@peterbarker, PR:32171) + +3) Library changes + +- AC_PID: NTF and NEF parameters metadata includes 0 as a valid value (@IamPete1, PR:32898) +- AC_WPNav: BendyRuler altitude bug fixed (@hunt0r, PR:32892) +- AP_Arming: E-stop value is taken into account (@IamPete1, PR:32705) +- AP_GPS: SBF driver improvement in Do Not Use values (@UAVcihang, PR:32642) +- AP_Math: S-Curve bugs fixed (@lthall, PR: 32730) +- RC_Channel: RCx_PROTOCOLS metadata updated with SITLUDP option (@peterbarker, PR:32778) + +4) Plane specific changes + +- AP_IOMCU: Throttle will not output on failsafe while disarmed (@IamPete1, PR:32912) + +5) Sub specific changes + +- Lights servo channels defaults fixed (@ES-Alexander, PR:32764) +- Remote leak detector MAVLink interface support added (@ES-Alexander, PR:32614) + +6) Rover specific changes + +- Power limiting UX improved (@stephendade, PR:32788) + ------------------------------------------------------------------ Release 4.7.0-beta3 10-Apr-2026 From a831ff4b82e70963f63752ca991e2b332c6b2c72 Mon Sep 17 00:00:00 2001 From: George Zogopoulos Date: Wed, 29 Apr 2026 14:54:29 +0200 Subject: [PATCH 32/40] AP_Periph: version to 4.7.0-beta4 --- Tools/AP_Periph/version.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Tools/AP_Periph/version.h b/Tools/AP_Periph/version.h index 515703b143336..3d12c6026b59d 100644 --- a/Tools/AP_Periph/version.h +++ b/Tools/AP_Periph/version.h @@ -7,7 +7,7 @@ #include "ap_version.h" #include -#define THISFIRMWARE "AP_Periph 4.7.0-beta3" +#define THISFIRMWARE "AP_Periph 4.7.0-beta4" // defines needed due to lack of GCS includes #ifndef HAVE_ENUM_FIRMWARE_VERSION_TYPE @@ -17,7 +17,7 @@ #endif // the following line is parsed by the autotest scripts -#define FIRMWARE_VERSION 4,7,0,FIRMWARE_VERSION_TYPE_BETA+2 +#define FIRMWARE_VERSION 4,7,0,FIRMWARE_VERSION_TYPE_BETA+3 #define FW_MAJOR 4 #define FW_MINOR 7 From 10f84de2059a05068c6b56edd44241eb74f901cc Mon Sep 17 00:00:00 2001 From: George Zogopoulos Date: Wed, 29 Apr 2026 14:54:43 +0200 Subject: [PATCH 33/40] Sub: 4.7.0-beta4 release notes --- ArduSub/ReleaseNotes.txt | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/ArduSub/ReleaseNotes.txt b/ArduSub/ReleaseNotes.txt index e2b4688f514f1..4fd599da1a911 100644 --- a/ArduSub/ReleaseNotes.txt +++ b/ArduSub/ReleaseNotes.txt @@ -1,4 +1,40 @@ ArduPilot Sub Release Notes: +------------------------------------------------------------------ +Release 4.7.0-beta4 30-Apr-2026 + +Changes from 4.7.0-beta3 + +1) Board specific changes + +- VUAV-TinyV7 board added (@viewpro-caijie, PR:32058) + +2) Driver changes + +- LSM6DSV16X IMU from ST is now supported (@zebulon-86, PR:32574) +- MMP581 driver handles data corruption better (@peterbarker, PR:32171) + +3) Library changes + +- AC_PID: NTF and NEF parameters metadata includes 0 as a valid value (@IamPete1, PR:32898) +- AC_WPNav: BendyRuler altitude bug fixed (@hunt0r, PR:32892) +- AP_Arming: E-stop value is taken into account (@IamPete1, PR:32705) +- AP_GPS: SBF driver improvement in Do Not Use values (@UAVcihang, PR:32642) +- AP_Math: S-Curve bugs fixed (@lthall, PR: 32730) +- RC_Channel: RCx_PROTOCOLS metadata updated with SITLUDP option (@peterbarker, PR:32778) + +4) Plane specific changes + +- AP_IOMCU: Throttle will not output on failsafe while disarmed (@IamPete1, PR:32912) + +5) Sub specific changes + +- Lights servo channels defaults fixed (@ES-Alexander, PR:32764) +- Remote leak detector MAVLink interface support added (@ES-Alexander, PR:32614) + +6) Rover specific changes + +- Power limiting UX improved (@stephendade, PR:32788) + ------------------------------------------------------------------ Release 4.7.0-beta3 10-Apr-2026 From ae2cc746e92af86fc32f2d7093bfdd0a0fe79acb Mon Sep 17 00:00:00 2001 From: George Zogopoulos Date: Wed, 29 Apr 2026 14:54:52 +0200 Subject: [PATCH 34/40] Sub: version to 4.7.0-beta4 --- ArduSub/version.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ArduSub/version.h b/ArduSub/version.h index fed32e416307a..20d80c1000879 100644 --- a/ArduSub/version.h +++ b/ArduSub/version.h @@ -6,10 +6,10 @@ #include "ap_version.h" -#define THISFIRMWARE "ArduSub V4.7.0-beta3" +#define THISFIRMWARE "ArduSub V4.7.0-beta4" // the following line is parsed by the autotest scripts -#define FIRMWARE_VERSION 4,7,0,FIRMWARE_VERSION_TYPE_BETA+2 +#define FIRMWARE_VERSION 4,7,0,FIRMWARE_VERSION_TYPE_BETA+3 #define FW_MAJOR 4 #define FW_MINOR 7 From 20450e261945b794f7b283feed6f230d3e0969b3 Mon Sep 17 00:00:00 2001 From: George Zogopoulos Date: Wed, 29 Apr 2026 14:55:03 +0200 Subject: [PATCH 35/40] Rover: 4.7.0-beta4 release notes --- Rover/ReleaseNotes.txt | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/Rover/ReleaseNotes.txt b/Rover/ReleaseNotes.txt index 2abc17e68b0d8..d9dd29174715b 100644 --- a/Rover/ReleaseNotes.txt +++ b/Rover/ReleaseNotes.txt @@ -1,4 +1,40 @@ ArduPilot Rover Release Notes: +------------------------------------------------------------------ +Release 4.7.0-beta4 30-Apr-2026 + +Changes from 4.7.0-beta3 + +1) Board specific changes + +- VUAV-TinyV7 board added (@viewpro-caijie, PR:32058) + +2) Driver changes + +- LSM6DSV16X IMU from ST is now supported (@zebulon-86, PR:32574) +- MMP581 driver handles data corruption better (@peterbarker, PR:32171) + +3) Library changes + +- AC_PID: NTF and NEF parameters metadata includes 0 as a valid value (@IamPete1, PR:32898) +- AC_WPNav: BendyRuler altitude bug fixed (@hunt0r, PR:32892) +- AP_Arming: E-stop value is taken into account (@IamPete1, PR:32705) +- AP_GPS: SBF driver improvement in Do Not Use values (@UAVcihang, PR:32642) +- AP_Math: S-Curve bugs fixed (@lthall, PR: 32730) +- RC_Channel: RCx_PROTOCOLS metadata updated with SITLUDP option (@peterbarker, PR:32778) + +4) Plane specific changes + +- AP_IOMCU: Throttle will not output on failsafe while disarmed (@IamPete1, PR:32912) + +5) Sub specific changes + +- Lights servo channels defaults fixed (@ES-Alexander, PR:32764) +- Remote leak detector MAVLink interface support added (@ES-Alexander, PR:32614) + +6) Rover specific changes + +- Power limiting UX improved (@stephendade, PR:32788) + ------------------------------------------------------------------ Release 4.7.0-beta3 10-Apr-2026 From 4973dfc0d916ff611d25bdb37f1b17fb3eb60727 Mon Sep 17 00:00:00 2001 From: George Zogopoulos Date: Wed, 29 Apr 2026 14:55:33 +0200 Subject: [PATCH 36/40] Rover: version to 4.7.0-beta4 --- Rover/version.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Rover/version.h b/Rover/version.h index 558a92999d3e0..e8366c725fcda 100644 --- a/Rover/version.h +++ b/Rover/version.h @@ -6,10 +6,10 @@ #include "ap_version.h" -#define THISFIRMWARE "ArduRover V4.7.0-beta3" +#define THISFIRMWARE "ArduRover V4.7.0-beta4" // the following line is parsed by the autotest scripts -#define FIRMWARE_VERSION 4,7,0,FIRMWARE_VERSION_TYPE_BETA+2 +#define FIRMWARE_VERSION 4,7,0,FIRMWARE_VERSION_TYPE_BETA+3 #define FW_MAJOR 4 #define FW_MINOR 7 From 6ab59f65abd240f84994418323c64c1ebb3e3d0e Mon Sep 17 00:00:00 2001 From: George Zogopoulos Date: Wed, 29 Apr 2026 14:55:47 +0200 Subject: [PATCH 37/40] Copter: 4.7.0-beta4 release notes --- ArduCopter/ReleaseNotes.txt | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/ArduCopter/ReleaseNotes.txt b/ArduCopter/ReleaseNotes.txt index 720c0ec97885a..ee2fc69d36a07 100644 --- a/ArduCopter/ReleaseNotes.txt +++ b/ArduCopter/ReleaseNotes.txt @@ -1,4 +1,40 @@ ArduPilot Copter Release Notes: +------------------------------------------------------------------ +Release 4.7.0-beta4 30-Apr-2026 + +Changes from 4.7.0-beta3 + +1) Board specific changes + +- VUAV-TinyV7 board added (@viewpro-caijie, PR:32058) + +2) Driver changes + +- LSM6DSV16X IMU from ST is now supported (@zebulon-86, PR:32574) +- MMP581 driver handles data corruption better (@peterbarker, PR:32171) + +3) Library changes + +- AC_PID: NTF and NEF parameters metadata includes 0 as a valid value (@IamPete1, PR:32898) +- AC_WPNav: BendyRuler altitude bug fixed (@hunt0r, PR:32892) +- AP_Arming: E-stop value is taken into account (@IamPete1, PR:32705) +- AP_GPS: SBF driver improvement in Do Not Use values (@UAVcihang, PR:32642) +- AP_Math: S-Curve bugs fixed (@lthall, PR: 32730) +- RC_Channel: RCx_PROTOCOLS metadata updated with SITLUDP option (@peterbarker, PR:32778) + +4) Plane specific changes + +- AP_IOMCU: Throttle will not output on failsafe while disarmed (@IamPete1, PR:32912) + +5) Sub specific changes + +- Lights servo channels defaults fixed (@ES-Alexander, PR:32764) +- Remote leak detector MAVLink interface support added (@ES-Alexander, PR:32614) + +6) Rover specific changes + +- Power limiting UX improved (@stephendade, PR:32788) + ------------------------------------------------------------------ Release 4.7.0-beta3 10-Apr-2026 From 6b7fcedea6505307cd4d4f27b836cd467217a2ad Mon Sep 17 00:00:00 2001 From: George Zogopoulos Date: Wed, 29 Apr 2026 14:56:11 +0200 Subject: [PATCH 38/40] Copter: version to 4.7.0-beta4 --- ArduCopter/version.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ArduCopter/version.h b/ArduCopter/version.h index b57711e9fa0e0..20047fa63a92b 100644 --- a/ArduCopter/version.h +++ b/ArduCopter/version.h @@ -6,10 +6,10 @@ #include "ap_version.h" -#define THISFIRMWARE "ArduCopter V4.7.0-beta3" +#define THISFIRMWARE "ArduCopter V4.7.0-beta4" // the following line is parsed by the autotest scripts -#define FIRMWARE_VERSION 4,7,0,FIRMWARE_VERSION_TYPE_BETA+2 +#define FIRMWARE_VERSION 4,7,0,FIRMWARE_VERSION_TYPE_BETA+3 #define FW_MAJOR 4 #define FW_MINOR 7 From 8a0680866008f9a15261c62ebf41b8ff6ffbc6a0 Mon Sep 17 00:00:00 2001 From: George Zogopoulos Date: Wed, 29 Apr 2026 14:56:19 +0200 Subject: [PATCH 39/40] Plane: 4.7.0-beta4 release notes --- ArduPlane/ReleaseNotes.txt | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/ArduPlane/ReleaseNotes.txt b/ArduPlane/ReleaseNotes.txt index 2c8657e2461ae..57f0f20e6079b 100644 --- a/ArduPlane/ReleaseNotes.txt +++ b/ArduPlane/ReleaseNotes.txt @@ -1,4 +1,40 @@ ArduPilot Plane Release Notes: +------------------------------------------------------------------ +Release 4.7.0-beta4 30-Apr-2026 + +Changes from 4.7.0-beta3 + +1) Board specific changes + +- VUAV-TinyV7 board added (@viewpro-caijie, PR:32058) + +2) Driver changes + +- LSM6DSV16X IMU from ST is now supported (@zebulon-86, PR:32574) +- MMP581 driver handles data corruption better (@peterbarker, PR:32171) + +3) Library changes + +- AC_PID: NTF and NEF parameters metadata includes 0 as a valid value (@IamPete1, PR:32898) +- AC_WPNav: BendyRuler altitude bug fixed (@hunt0r, PR:32892) +- AP_Arming: E-stop value is taken into account (@IamPete1, PR:32705) +- AP_GPS: SBF driver improvement in Do Not Use values (@UAVcihang, PR:32642) +- AP_Math: S-Curve bugs fixed (@lthall, PR: 32730) +- RC_Channel: RCx_PROTOCOLS metadata updated with SITLUDP option (@peterbarker, PR:32778) + +4) Plane specific changes + +- AP_IOMCU: Throttle will not output on failsafe while disarmed (@IamPete1, PR:32912) + +5) Sub specific changes + +- Lights servo channels defaults fixed (@ES-Alexander, PR:32764) +- Remote leak detector MAVLink interface support added (@ES-Alexander, PR:32614) + +6) Rover specific changes + +- Power limiting UX improved (@stephendade, PR:32788) + ------------------------------------------------------------------ Release 4.7.0-beta3 10-Apr-2026 From 8d5a835c4c964fdc6ed2273c1aafeb830af1a9eb Mon Sep 17 00:00:00 2001 From: George Zogopoulos Date: Wed, 29 Apr 2026 14:56:28 +0200 Subject: [PATCH 40/40] Plane: version to 4.7.0-beta4 --- ArduPlane/version.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ArduPlane/version.h b/ArduPlane/version.h index 39d716cf2b4a9..adb5a69305e2a 100644 --- a/ArduPlane/version.h +++ b/ArduPlane/version.h @@ -6,10 +6,10 @@ #include "ap_version.h" -#define THISFIRMWARE "ArduPlane V4.7.0-beta3" +#define THISFIRMWARE "ArduPlane V4.7.0-beta4" // the following line is parsed by the autotest scripts -#define FIRMWARE_VERSION 4,7,0,FIRMWARE_VERSION_TYPE_BETA+2 +#define FIRMWARE_VERSION 4,7,0,FIRMWARE_VERSION_TYPE_BETA+3 #define FW_MAJOR 4 #define FW_MINOR 7