From f4087572d0813446779ff5cf4afc74f99bbcf86d Mon Sep 17 00:00:00 2001 From: ayabusa Date: Sun, 7 Sep 2025 08:49:55 +0200 Subject: [PATCH] finished the programmer --- Core/Src/main.c | 32 +- build/EEPROM_programmer.bin | Bin 11552 -> 12220 bytes build/EEPROM_programmer.elf | Bin 336740 -> 337088 bytes build/EEPROM_programmer.hex | 822 +++---- build/EEPROM_programmer.map | 672 +++--- build/main.lst | 4313 ++++++++++++++++++----------------- build/main.o | Bin 31656 -> 32984 bytes flash_dump.bin | Bin 0 -> 442947 bytes 8 files changed, 3049 insertions(+), 2790 deletions(-) create mode 100644 flash_dump.bin diff --git a/Core/Src/main.c b/Core/Src/main.c index afa1b41..0d1a12a 100644 --- a/Core/Src/main.c +++ b/Core/Src/main.c @@ -62,12 +62,13 @@ int main(void) sprintf(manufacturer, "0x%02X \r\n", man_id); sprintf(device, "0x%02X \r\n", dev_id); - debug_print("==========================================\r\n"); - debug_print("Manufacturer ID = \r\n"); - debug_print(manufacturer); - debug_print("Device ID = \r\n"); - debug_print(device); - debug_print("==========================================\r\n"); + debug_print("=====================================================================================\r\n"); + debug_print(" _____ _____ _____ _____ _____ _____\r\n"); + debug_print("| __| __| _ | __ | | | ___ ___ ___ ___ ___ ___ _____ _____ ___ ___\r\n"); + debug_print("| __| __| __| -| | | | | | | . | _| . | . | _| .'| | | -_| _|\r\n"); + debug_print("|_____|_____|__| |__|__|_____|_|_|_| | _|_| |___|_ |_| |__,|_|_|_|_|_|_|___|_|\r\n"); + debug_print(" - Ayabusa 2025 |_| |___|\r\n"); + debug_print("=====================================================================================\r\n"); /* Infinite loop */ while (1) @@ -75,7 +76,9 @@ int main(void) debug_print("Hello welcome to the EEPROM programmer! What would you like to do?\r\n"); debug_print("[1] Dump Rom as char\r\n"); debug_print("[2] Erase chip\r\n"); - debug_print("[3] Program chip via UART\r\n"); + debug_print("[3] Program chip via UART (ASCII mode)\r\n"); + debug_print("[4] Identify device\r\n"); + debug_print("[5] Dump Rom as file (ASCII mode)\r\n"); uint8_t resp; HAL_UART_Receive(&huart2, &resp, 1, HAL_MAX_DELAY); @@ -93,6 +96,19 @@ int main(void) debug_print("Launching programming sequence...\r\n"); Flash_From_UART(); break; + case 0x34: + debug_print("Identifying device...\r\n"); + debug_print("Manufacturer ID = \r\n"); + debug_print(manufacturer); + debug_print("Device ID = \r\n"); + debug_print(device); + break; + case 0x35: + debug_print("Dumping ROM as file, press any key...\r\n"); + uint8_t byte; + HAL_UART_Receive(&huart2, &byte, 1, HAL_MAX_DELAY); + Dump_Flash_UART(0); + while(1){} default: debug_print("Invalid input!\r\n"); break; @@ -197,7 +213,7 @@ void Dump_Flash_UART(int visual_format){ uint8_t byte; char buf[8]; - for (int addr = 0; addr < 0x80000; addr++) { // 512 KB + for (int addr = 0; addr < 0x7FFFF; addr++) { // 512 KB byte = Flash_ReadByte(addr); if(visual_format==0){ diff --git a/build/EEPROM_programmer.bin b/build/EEPROM_programmer.bin index 76d803e584f627f9743b454179c6f3f6de592a45..d54c74025183d8a59f58a615b82228f76fa5287e 100755 GIT binary patch delta 1789 zcmbtUeN0CP`8kwdWxBAw zET=WKAg!S~qsiEqx+LX*8k%WwAk9&Ph|JVz(nU8JZ6y|lA~+&M#E2?lu0RyOA-*2) ziar!8Vl-r|v!rD8RBu9+LP%&S_)z7Q#^9EI!YKse)-==F}$~)L^pVr)jgvjN53hsb6SH(F>*x_%OX>GKW89EItYF zEV1|mLxjaY1Ez<}Jxn+wPO|tJSx4mfrgV;%`=+$Y+q_*oR`0dLRC-weMt~K_cWsS-;8pT$#M&KJ6ud%WQ;1+Jf@iOLypjfd+Ru5dS*h0oHjLUVu=VBLJ zxo7c2BDb!7v&zvl|J`*lCTa@|He`qTB^krm`{g;w2GI?f#j*UAWCb1ro|ZqC%7HJ) z7O;|RhXJn1X5c@_#2aSutMWOi6vA(nC(I92<3c#FVv#?M4q28Au=|Dlj zfSgG45MTlgH7(2`9{dCIKPHB_l1;!;RMjiS}vi4*-WS}9OBhV0}!4M z@eBRKo#0n|_?{xmUmYPeWXo9p{}kZx4oSVjSTp!lm~)(JiVlSz(2e!{?Sp=KRiaB^p8=u Ob69xnNBXw&nZE(CZ(#`l delta 1160 zcmbu9ZD>{*6%n^tD2U)o+^2oA zp&NcEQ_z!55jKPs>F|ZHY=U6O7yTfNk!}ohzJkidmu{IT_a=?^@!U|Ib059%d(Juk z`|!W#Joj=hetL4-1j$ipZUwQ3equ2ri;xz?hLATdJ8G>9`cjN8$Kga&Odotkc_03C#7ToBjyxK!7@`ST7_ zg>;Q-!W!CleB-J0wb^WGCP6F)XPU8ig3IyTrCPDwG%i}lQQM7V6UC{PTfFIW%)d$$ z_u3DNbP}F9m(hLTcLf4FYBv7m34FB zV@;SRgd24HEXcY_*l?AlCw~md6t_*otS21N>fdT+ha@xA!Dyd3@%K$(h^bc@S8$Ym zS$N{(82G#qIsoguLHa(7dB+0vdhUWf%mWt^j*zej!%uS~rlV%yXGnDfZhM0hQ;exI zNdI%DPB9`e^$KP#R8}+Y2Y!aBr*)g8s{;*DHsY#=AV)XxCsJ}0TW!-h%p}Z~=;2LC zY_FenVq<9*#XQL*%)6P%!jLwd2wxPuFmEO&`#Sw zX6nW>2pQ8Sd*kLxI^I%A#cx(xaW7@J6$i%WI#aFsHDxj8D&{=?#4>JwLsuWL>_+3CLeMyi6cTVQ)(~x06yS@V6|kZE5CnQQ P!yi36xyC(MyYj#b4ySp& diff --git a/build/EEPROM_programmer.elf b/build/EEPROM_programmer.elf index 1e47e80f7ed990b595c0610131ec8eae2c9592d9..a9a86032b81f27631dd9c87fc58fbbf7ada2dd0f 100755 GIT binary patch delta 21177 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 V>`Pa@6Lo%Pn7os%hjsP^{}%-Ud+h)K delta 19443 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 diff --git a/build/EEPROM_programmer.hex b/build/EEPROM_programmer.hex index 56bb2ac..569b0cc 100644 --- a/build/EEPROM_programmer.hex +++ b/build/EEPROM_programmer.hex @@ -1,44 +1,44 @@ :020000040800F2 -:1000000000800120ED290008051B0008071B0008DF -:10001000091B00080B1B00080D1B00080000000056 -:100020000000000000000000000000000F1B00089E -:10003000111B000800000000131B0008151B00081E -:100040003D2A00083D2A00083D2A00083D2A0008F4 -:100050003D2A00083D2A00083D2A00083D2A0008E4 -:100060003D2A00083D2A00083D2A00083D2A0008D4 -:100070003D2A00083D2A00083D2A00083D2A0008C4 -:100080003D2A00083D2A00083D2A00080000000023 -:100090000000000000000000000000003D2A0008F1 -:1000A0003D2A00083D2A00083D2A00083D2A000894 -:1000B0003D2A00083D2A00083D2A00083D2A000884 -:1000C0003D2A00083D2A00083D2A00083D2A000874 -:1000D0003D2A00083D2A00083D2A000800000000D3 -:1000E0003D2A00083D2A00083D2A000800000000C3 -:1000F0000000000000000000000000003D2A000891 -:10010000000000003D2A00083D2A00083D2A0008A2 +:1000000000800120692A0008811B0008831B00086A +:10001000851B0008871B0008891B000800000000E2 +:100020000000000000000000000000008B1B000822 +:100030008D1B0008000000008F1B0008911B0008AA +:10004000B92A0008B92A0008B92A0008B92A000804 +:10005000B92A0008B92A0008B92A0008B92A0008F4 +:10006000B92A0008B92A0008B92A0008B92A0008E4 +:10007000B92A0008B92A0008B92A0008B92A0008D4 +:10008000B92A0008B92A0008B92A000800000000AF +:10009000000000000000000000000000B92A000875 +:1000A000B92A0008B92A0008B92A0008B92A0008A4 +:1000B000B92A0008B92A0008B92A0008B92A000894 +:1000C000B92A0008B92A0008B92A0008B92A000884 +:1000D000B92A0008B92A0008B92A0008000000005F +:1000E000B92A0008B92A0008B92A0008000000004F +:1000F000000000000000000000000000B92A000815 +:1001000000000000B92A0008B92A0008B92A00082E :1001100000000000000000000000000000000000DF -:100120003D2A00083D2A00083D2A00083D2A000813 -:100130003D2A000800000000000000000000000050 -:100140000000000000000000000000003D2A000840 -:100150003D2A00083D2A00083D2A00083D2A0008E3 -:100160003D2A00083D2A00080000000000000000B1 +:10012000B92A0008B92A0008B92A0008B92A000823 +:10013000B92A0008000000000000000000000000D4 +:10014000000000000000000000000000B92A0008C4 +:10015000B92A0008B92A0008B92A0008B92A0008F3 +:10016000B92A0008B92A00080000000000000000B9 :10017000000000000000000000000000000000007F -:10018000000000003D2A0008000000000000000000 -:040190003D2A0008FC +:1001800000000000B92A0008000000000000000084 +:04019000B92A000880 :1001C0000348044B834202D0034B03B118477047E6 :1001D0007000002070000020000000000548064963 :1001E0000B1AD90F01EBA301491002D0034B03B145 :1001F00018477047700000207000002000000000C9 :1002000010B5064C237843B9FFF7DAFF044B13B15E :100210000448AFF300800123237010BD700000205C -:1002200000000000402A000808B5044B1BB1044937 +:1002200000000000BC2A000808B5044B1BB10449BB :100230000448AFF30080BDE80840CFE700000000AD -:1002400074000020402A0008014B1868704700BF66 +:1002400074000020BC2A0008014B1868704700BFEA :100250000000002070B50D4E0D4D761BB61006D077 :10026000002455F8043B01349847A642F9D1094EC1 -:10027000094D761B02F0E4FBB61006D0002455F8B9 -:10028000043B01349847A642F9D170BDA82C000860 -:10029000A82C0008AC2C0008A82C0008024B014632 +:10027000094D761B02F022FCB61006D0002455F87A +:10028000043B01349847A642F9D170BD442F0008C1 +:10029000442F0008482F0008442F0008024B014655 :1002A000186800F059B900BF00000020024B014659 :1002B000186800F0EFB800BF00000020844641EA53 :1002C000000313F003036DD1403A41D351F8043BCE @@ -94,7 +94,7 @@ :1005E000211A304600F012F8013001D02560D5E71D :1005F0000C233046336000F0D3F80020F8BD3046BD :1006000000F004F87860E0E78C00002038B5074D72 -:100610000022044608462A6002F0C4F9431C00D0B8 +:100610000022044608462A6002F002FA431C00D079 :1006200038BD2B68002BFBD0236038BD9400002020 :100630000CB410B59CB01EAB6FF00044CDE90614AD :100640000291084953F8042B059102A901930494DF @@ -181,7 +181,7 @@ :100B50003002092AF5D9059364E74021FFF7FCFC30 :100B6000C8F80000C8F8100018B14022C8F81420D6 :100B700004E70C23C9F800304FF0FF3087E700BFCF -:100B8000642C00086C2C0008702C00080000000089 +:100B8000002F0008082F00080C2F000800000000AC :100B9000A50700082DE9F84F92461F460A698B68A1 :100BA000DDF828909A42B8BF1A46CAF8002091F89A :100BB00043300C46064613B10132CAF800202268C1 @@ -243,7 +243,7 @@ :100F300003F104050D600CBF1D681D885DE713F00B :100F4000400F0B68626903F104050D601B6814BF54 :100F50001A801A60F5E60A68B2F9005004320A6095 -:100F60002A463CE760687FE7782C00088C2C000854 +:100F60002A463CE760687FE7142F0008282F000816 :100F700001F0FF01102A2BDB10F0070F08D010F84A :100F8000013B013A8B422DD010F0070F42B3F6D14E :100F9000F0B441EA012141EA014122F007047FF067 @@ -332,32 +332,32 @@ :1014C00002030393039B04B0704700BF003802403F :1014D00030B595B005464C221E4901A8FEF7EEFE38 :1014E000002409E0002214AB03EB840333F84C1C06 -:1014F000194801F082F90134122C29DC0D2C0EDC84 +:1014F000194801F0C0F90134122C29DC0D2C0EDC46 :1015000045FA04F313F0010FECD0012214AB03EB06 -:10151000840333F84C1C104801F06FF9EBE745FAEF +:10151000840333F84C1C104801F0ADF9EBE745FAB1 :1015200004F313F0010F09D0012214AB03EB840381 -:1015300033F84C1C094801F060F9DCE7002214ABD9 -:1015400003EB840333F84C1C044801F056F9D2E74E -:1015500015B030BD582A00080008024000040240BF +:1015300033F84C1C094801F09EF9DCE7002214AB9B +:1015400003EB840333F84C1C044801F094F9D2E710 +:1015500015B030BDD42A0008000802400004024043 :1015600070B50E4615460D4C021E18BF01224FF4F1 -:101570008071204601F041F9321E18BF01224FF45C -:101580000071204601F039F92A1E18BF01224FF4DC -:101590008061204601F031F970BD00BF00000240BB +:101570008071204601F07FF9321E18BF01224FF41E +:101580000071204601F077F92A1E18BF01224FF49E +:101590008061204601F06FF970BD00BF000002407D :1015A00000B587B00023019302930393049305933E :1015B00041F6F3030193012808D00223039301A904 -:1015C000054801F033F807B05DF804FB01230293EE +:1015C000054801F071F807B05DF804FB01230293B0 :1015D00002230493F3E700BF0000024030B589B056 :1015E0000020FFF7DDFF6C460E4D0FCD0FC495E8D0 :1015F0000F0084E80F000024254600E00134072C8A :101600000DDC08AB03EB840333F8201C064801F023 -:10161000EDF80128F2D10123A3401D44EEE728464E -:1016200009B030BDA42A00080000024070B588B09F +:101610002BF90128F2D10123A3401D44EEE728460F +:1016200009B030BD202B00080000024070B588B022 :1016300006460120FFF7B4FF6C46134D0FCD0FC4D3 :1016400095E80F0084E80F00002409E0002208ABB1 -:1016500003EB840333F8201C0C4801F0CEF801346E +:1016500003EB840333F8201C0C4801F00CF901342F :10166000072C0EDC46FA04F313F0010FEED0012232 -:1016700008AB03EB840333F8201C044801F0BDF8E9 -:10168000EDE708B070BD00BFA42A000800000240CA +:1016700008AB03EB840333F8201C044801F0FBF8AB +:10168000EDE708B070BD00BF202B0008000002404D :1016900038B505460C46012211461046FFF760FF9B :1016A0002846FFF715FF2046FFF7C0FF012211462D :1016B0000020FFF755FF002201211046FFF750FFE1 @@ -366,7 +366,7 @@ :1016E000D7FF552142F6AA20FFF7D2FF802145F20D :1016F0005550FFF7CDFFAA2145F25550FFF7C8FF1F :10170000552142F6AA20FFF7C3FF102145F255509C -:10171000FFF7BEFF962001F027F908BD38B5044653 +:10171000FFF7BEFF962001F065F908BD38B5044615 :101720000D46AA2145F25550FFF7B2FF552142F66A :10173000AA20FFF7ADFFA02145F25550FFF7A8FF03 :1017400029462046FFF7A4FF38BD10B5FFF7C0FEBD @@ -378,349 +378,391 @@ :1017A0000120FFF7D2FF2060F02145F25550FFF7EE :1017B0006FFF38BD30B585B00546002412E01C49E6 :1017C00001A8FEF751FF01A8FEF77AFF4FF0FF33A3 -:1017D00082B201A9174800F01EFB04F00F030F2B83 -:1017E00014D00134B4F5002F1FDA2046FFF7ADFF07 +:1017D00082B201A9174800F05CFB04F00F030F2B45 +:1017E00014D00134144B9C421FDC2046FFF7ADFFA0 :1017F000C2B28DF80F20002DE1D14FF0FF3301224E -:101800000DF10F010B4800F006FBEAE70A4B1B68DD +:101800000DF10F010B4800F044FBEAE70B4B1B689E :10181000ADF800301B0C8DF802304FF0FF33022280 -:101820006946044800F0F7FADBE705B030BD00BFB9 -:10183000C42A000898000020582B000870B58AB010 -:101840000024059406940794089409944FF6FF73B6 -:101850000593012606960225089505A9084800F07B -:10186000E5FE009401940294039404941F230093D2 -:10187000019603956946034800F0D8FE0AB070BD92 -:10188000000802400004024000B587B00023019325 -:1018900002930393049305934FF4E06301930123B0 -:1018A00002930223049301A9024800F0BFFE07B08F -:1018B0005DF804FB0000024010B50446FEF700FF8F -:1018C0004FF0FF3382B22146014800F0A4FA10BD68 -:1018D0009800002010B582B00C48FFF7EDFF0024FF -:1018E0000DE04FF0FF3301220DF10701084800F031 -:1018F000F8FA9DF807102046FFF710FF0134072C77 -:10190000EFDD0448FFF7D8FF02B010BDCC2A000875 -:1019100098000020EC2A000872B6FEE708B50A48D5 -:101920000A4B03604FF4E133436000238360C360DC -:1019300003610C2242618361C36100F03CFA00B98B -:1019400008BDFFF7E9FF00BF9800002000440040F9 -:1019500000B595B03022002108A8FEF749FD00230C -:101960000393049305930693079301931F4A116C05 -:1019700041F080511164126C02F080520192019A80 -:1019800002931B490A6822F4404242F400420A6072 -:101990000A6802F440420292029A0221089101224E -:1019A0000B9210220C920E910F9310924FF4A87389 -:1019B0001193042312930723139308A800F0FAFA53 -:1019C00080B90F23039302210491002305934FF460 -:1019D00080520692079303A800F052FD20B915B07B -:1019E0005DF804FBFFF798FFFFF796FF0038024011 -:1019F0000070004070B584B000F08AFFFFF7A8FFC8 -:101A0000FFF736FDFFF78AFF0020FFF7C9FDFFF75C -:101A100015FFFFF739FF02A903A8FFF7ABFE0D2062 -:101A2000FEF73CFC05460D20FEF738FC0446284E28 -:101A3000039A31462846FEF717FE029A31462046A1 -:101A4000FEF712FE234E3046FFF736FF2248FFF71F -:101A500033FF2846FFF730FF2048FFF72DFF2046D1 -:101A6000FFF72AFF3046FFF727FF05E01C48FFF786 -:101A700023FF0120FFF79EFE1A48FFF71DFF1A48BB -:101A8000FFF71AFF1948FFF717FF1948FFF714FF70 -:101A90004FF0FF3301220DF10701164800F021FA43 -:101AA0009DF80730322B07D0332B0BD0312BDDD0F4 -:101AB0001148FFF701FFDFE71048FFF7FDFEFFF7D2 -:101AC0000AFED9E70E48FFF7F7FEFFF703FFD3E75B -:101AD000F82A0008042B0008342B00084C2B0008BF -:101AE000EC2B00085C2B0008A42B0008BC2B000882 -:101AF000D02B000898000020382C0008002C00088B -:101B0000142C0008FEE7FEE7FEE7FEE7FEE770475D -:101B10007047704708B500F015FF08BD82B000217E -:101B200000910B4B5A6C42F480425A645A6C02F496 -:101B300080420092009A01911A6C42F080521A641D -:101B40001B6C03F080530193019B02B0704700BFF0 -:101B50000038024000B589B0002303930493059335 -:101B6000069307930268144B9A4202D009B05DF8BD -:101B700004FB0021019103F5FA331A6C42F40032A0 -:101B80001A641A6C02F400320192019A02911A6BE3 -:101B900042F001021A631B6B03F001030293029BE4 -:101BA0000C230393022304930723079303A90348F9 -:101BB00000F03CFDDAE700BF0044004000000240B6 -:101BC000026802F10C0353E8003F23F490730C32D7 -:101BD00042E800310029F3D1026802F1140353E80E -:101BE000003F23F00103143242E800310029F3D111 -:101BF000036B012B05D0202380F8423000230363C0 -:101C00007047026802F10C0353E8003F23F0100311 -:101C10000C3242E800310029F3D1ECE738B5044634 -:101C20000268136923F44053C1680B43136183684E -:101C30000269134342691343C2691A430168CB68BE -:101C400023F4164323F00C031343CB60026853695B -:101C500023F4407381690B4353610368314A934213 -:101C600006D002F58062934202D000F0BFFC01E092 -:101C700000F0CCFCE369B3F5004F29D00021031834 -:101C800049411B1841F10001C90041EA5371DB00D1 -:101C9000181863684FEA83024FEA937341F1000119 -:101CA000FFF764FA204DA5FB00325109642303FBC2 -:101CB00011031B013233A5FB03235B0903F0F00280 -:101CC00002EB011203F00F03216813448B6038BD4F -:101CD0000023021843EB0301121841F10001C9006F -:101CE00041EA5271D200101841F100016268921865 -:101CF0005B41FFF73BFA0C4DA5FB00325109642311 -:101D000003FB1103DB003233A5FB03235B095A00FD -:101D100002F4F87202EB011203F007032168134486 -:101D20008B60D4E7001001401F85EB512DE9F04393 -:101D300083B005460E4617469946DDF828802C6884 -:101D4000246836EA04030CBF4FF0010C4FF0000C7E -:101D5000BC4528D1B8F1FF3FF1D000F0FFFDA0EB6A -:101D60000900404523D8B8F1000F22D02B68DA686B -:101D700012F0040FE3D0802EE1D0402EDFD01A689D -:101D800012F0080FDBD0002401941A6801925B68FE -:101D90000193019B2846FFF713FF08236B6485F826 -:101DA0004040012000E0002003B0BDE8F0830320A4 -:101DB000FAE70320F8E760B310B5044690F8413025 -:101DC00013B3242384F841302268D36823F40053EA -:101DD000D3602046FFF722FF2268136923F4904363 -:101DE00013612268536923F02A0353612268D36880 -:101DF00043F40053D36000206064202384F8413012 -:101E000084F84230606310BD80F84030FFF7A2FED6 -:101E1000D7E7012070472DE9F04182B01E4690F8C7 -:101E20004130DBB2202B56D104460D4690460029A6 -:101E300055D00AB901204FE000234364212380F8E4 -:101E4000413000F08BFD0746A4F82480A4F82680DA -:101E5000A368B3F5805F02D04FF0000814E0236957 -:101E60002BB34FF000080FE0202384F8413003200B -:101E700032E038F8023B2268C3F308035360E28C77 -:101E800092B2013A92B2E284E38C9BB293B1009693 -:101E90003B46002280212046FFF748FF0028E3D17F -:101EA000002DE6D015F8012B23685A60E7E7A84615 -:101EB0000025E9E700963B46002240212046FFF737 -:101EC00035FF18B9202384F8413005E0202384F839 -:101ED0004130032000E0022002B0BDE8F081012083 -:101EE000FAE72DE9F04182B01E4690F84230DBB2AD -:101EF000202B59D104460D469046002958D00AB9E6 -:101F0000012052E000234364222280F84220036330 -:101F100000F024FD0746A4F82C80A4F82E80A368C6 -:101F2000B3F5805F02D04FF000081CE0236913B1C5 -:101F30004FF0000817E0A846002514E0202384F89D -:101F40004230032031E023685B68C3F3080328F8BC -:101F5000023B03E023685B682B700135E28D92B28F -:101F6000013A92B2E285E38D9BB2C3B100963B4643 -:101F7000002220212046FFF7D9FE0028DED1002DC7 -:101F8000E1D0A368B3F5805FE4D013B92369002BD7 -:101F9000E0D023685B6803F07F032B70DDE720232C -:101FA00084F84230002000E0022002B0BDE8F08159 -:101FB0000120FAE7002800F0E08170B582B0044605 -:101FC000036813F0010F3BD09F4B9B6803F00C0399 -:101FD000042B2CD09C4B9B6803F00C03082B21D0C6 -:101FE0006368B3F5803F4FD0B3F5A02F52D0964B26 -:101FF0001A6822F480321A601A6822F480221A6069 -:102000006368002B50D000F0A9FC05468E4B1B687E -:1020100013F4003F14D100F0A1FC401B6428F5D953 -:102020000320B1E1884B5B6813F4800FD8D0864B56 -:102030001B6813F4003F03D06368002B00F09F81FE -:10204000236813F0020F54D07F4B9B6813F00C0FE2 -:102050003ED07D4B9B6803F00C03082B33D0E36824 -:10206000002B68D0794B01221A6000F077FC0546FE -:10207000754B1B6813F0020F54D100F06FFC401B2E -:102080000228F5D903207FE16F4A136843F48033B7 -:102090001360B5E76C4B1A6842F480221A601A6824 -:1020A00042F480321A60ABE700F058FC0546664BFC -:1020B0001B6813F4003FC3D000F050FC401B6428A1 -:1020C000F5D9032060E1604B5B6813F4800FC6D143 -:1020D0005D4B1B6813F0020F03D0E368012B40F047 -:1020E0005081594A136823F0F803216943EAC10378 -:1020F0001360236813F0080F42D063696BB3534B2E -:102100000122C3F8802E00F029FC05464E4B5B6F80 -:1021100013F0020F34D100F021FC401B0228F5D946 -:10212000032031E1484A136823F0F803216943EAA8 -:10213000C1031360DDE7454B00221A6000F00EFC7E -:102140000546414B1B6813F0020FD2D000F006FC8D -:10215000401B0228F5D9032016E13C4B0022C3F8AE -:10216000802E00F0FBFB0546374B5B6F13F0020F30 -:1021700006D000F0F3FB401B0228F5D9032003E151 -:10218000236813F0040F77D02F4B1B6C13F0805F84 -:1021900033D1002301932C4B1A6C42F080521A6405 -:1021A0001B6C03F080530193019B0125284B1B6896 -:1021B00013F4807F23D0A368012B34D0052B38D0B3 -:1021C000214B1A6F22F001021A671A6F22F00402E3 -:1021D0001A67A368002B3DD000F0C0FB06461A4BDF -:1021E0001B6F13F0020F46D100F0B8FB801B41F2C9 -:1021F00088339842F3D90320C6E00025D6E7144A75 -:10220000136843F48073136000F0A8FB0646104B7C -:102210001B6813F4807FCED100F0A0FB801B022846 -:10222000F5D90320B0E0084A136F43F001031367A8 -:10223000CFE7054B1A6F42F004021A671A6F42F09B -:1022400001021A67C5E700BF00380240000047429C -:102250000070004000F082FB0646524B1B6F13F0EB -:10226000020F08D000F07AFB801B41F288339842BD -:10227000F3D9032088E0EDB9A369002B00F0838037 -:10228000484A926802F00C02082A51D0022B17D05B -:10229000454B00221A6600F061FB0446414B1B6867 -:1022A00013F0007F42D000F059FB001B0228F5D943 -:1022B000032069E03B4A136C23F080531364DBE78F -:1022C000394B00221A6600F049FB0546354B1B6866 -:1022D00013F0007F06D000F041FB401B0228F5D927 -:1022E000032051E0E369226A1343626A43EA8213DE -:1022F000A26A5208013A43EA0243E26A43EA0263ED -:10230000284A5360284B01221A6600F027FB044636 -:10231000244B1B6813F0007F06D100F01FFB001B4D -:102320000228F5D903202FE000202DE000202BE02B -:10233000012B2BD01B4B5B6803F48001E2699142B7 -:1023400026D103F03F02216A8A4223D1616A47F60F -:10235000C0721A40B2EB811F1ED103F44031A26A51 -:102360005208013AB1EB024F18D103F07063E26AF0 -:10237000B3EB026F14D1002006E00120704701206A -:1023800002E0012000E0002002B070BD0120FBE768 -:102390000120F9E70120F7E70120F5E70120F3E745 -:1023A0000120F1E7003802400000474208B5314BF8 -:1023B0009B6803F00C03042B57D0082B57D12D4BEF -:1023C0005A6802F03F025B6813F4800F2AD0294B51 -:1023D0005968C1F3881C4FEA4C11B1EB0C006EEB4D -:1023E0000E0E4FEA8E1343EA90638101091A63EBE4 -:1023F0000E03DB0043EA5173C90011EB0C0C43F1EF -:102400000003590200234FEA4C2041EADC51FEF759 -:10241000ADFE184B5B68C3F3014301335B00B0FBB7 -:10242000F3F025E0134B5968C1F3881C4FEA4C11B7 -:10243000B1EB0C006EEB0E0E4FEA8E1343EA906385 -:102440008101091A63EB0E03DB0043EA5173C900F3 -:1024500011EB0C0C43F10003990200234FEA8C208E -:1024600041EA9C51FEF782FED3E7034800E00348AF -:1024700008BD00BF0038024000127A000024F400BA -:10248000002800F09B8070B50D4604464F4B1B683A -:1024900003F007038B4208D2CBB24C4A1370136887 -:1024A00003F007038B4240F08B80236813F0020F88 -:1024B00017D013F0040F04D0454A936843F4E05357 -:1024C0009360236813F0080F04D0414A936843F4E3 -:1024D000604393603E4A936823F0F003A1680B4386 -:1024E0009360236813F0010F32D06368012B21D071 -:1024F0009A1E012A25D9364A126812F0020F61D0BD -:1025000033498A6822F0030213438B6000F026FAF5 -:1025100006462F4B9B6803F00C036268B3EB820FF7 -:1025200016D000F01BFA801B41F288339842F0D994 -:10253000032042E0264A126812F4003FE0D1012055 -:102540003BE0234A126812F0007FD9D1012034E029 -:102550001E4B1B6803F00703AB4207D9EAB21B4BC3 -:102560001A701B6803F00703AB422DD1236813F0E8 -:10257000040F06D0164A936823F4E053E1680B4336 -:102580009360236813F0080F07D0114A936823F46F -:102590006043216943EAC1039360FFF707FF0C4BD7 -:1025A0009B68C3F303130B4AD35CD8400A4B1860F3 -:1025B0000A4B186800F086F9002070BD01207047B2 -:1025C0000120FAE70120F8E70120F6E7003C02408D -:1025D000003802404C2C00086C00002068000020ED -:1025E000014B1868704700BF6C00002008B5FFF76A -:1025F000F7FF044B9B68C3F38223034AD35CD840A4 -:1026000008BD00BF003802405C2C000808B5FFF789 -:10261000E7FF044B9B68C3F34233034AD35CD840C3 -:1026200008BD00BF003802405C2C000800230F2BBF -:1026300000F2D28070B582B060E085685E0003244D -:10264000B44025EA0405CC68B4402C438460456856 -:1026500025EA02054C68C4F300129A402A434260FE -:102660005AE0DC08083450F8246003F007029500B3 -:102670000F22AA4026EA020E0A69AA4042EA0E0286 -:1026800040F824205CE0042200E0002202FA0EF26E -:102690002A430234514D45F82420514A94686FEA88 -:1026A0000C0224EA0C054E6816F4801F01D04CEA97 -:1026B00004054B4CA560E46802EA04054E6816F474 -:1026C000001F01D04CEA0405454CE560646802EA4D -:1026D00004054E6816F4003F01D04CEA0405404C56 -:1026E0006560246822404D6815F4803F01D04CEAB3 -:1026F00004023B4C226001330F2B6BD801229A401D -:102700000C6804EA020C32EA0404F4D14C6804F0C8 -:102710000304013C012C90D94A6802F00302032A09 -:1027200009D0C4685D000322AA4024EA02048A6832 -:10273000AA402243C2604A6802F00302022A90D0F3 -:1027400004684FEA430E032202FA0EF224EA02045E -:102750004A6802F0030202FA0EF2224302604A685B -:1027600012F4403FC7D0002201921E4A546C44F438 -:1027700080445464526C02F480420192019A9C0895 -:10278000A51C164A52F8255003F003024FEA820EA8 -:102790000F2202FA0EF225EA0205134A90423FF494 -:1027A00074AF02F5806290420ED002F580629042D2 -:1027B0000CD002F5806290420AD002F5806290420D -:1027C0003FF461AF072261E701225FE702225DE784 -:1027D00003225BE702B070BD704700BF00380140C4 -:1027E000003C0140003802400000024003691942E9 -:1027F00001D001207047002070470AB18161704705 -:102800000904816170470000074AD36823F4E0633C -:102810001B041B0C000200F4E060034343F0BF63A1 -:1028200043F40033D360704700ED00E000B5194B6E -:10283000DB68C3F30223C3F1070CBCF1040F28BF0C -:102840004FF0040C03F1040EBEF1060F18D9033B40 -:102850004FF0FF3E0EFA0CFC21EA0C0199400EFAF3 -:1028600003F322EA0303194300280BDB0901C9B271 -:1028700000F1604000F5614080F800135DF804FB52 -:102880000023E5E700F00F000901C9B2024B19541B -:10289000F4E700BF00ED00E014ED00E00138B0F116 -:1028A000807F0BD24FF0E0235861054AF02182F877 -:1028B00023100020986107221A6170470120704799 -:1028C00000ED00E010B504460E4B18784FF47A7313 -:1028D000B3FBF0F30C4A1068B0FBF3F0FFF7DEFF38 -:1028E00068B90F2C01D901200AE0002221464FF0DF -:1028F000FF30FFF79BFF054B1C60002000E001202C -:1029000010BD00BF640000206C00002068000020A3 -:1029100008B50B4B1A6842F400721A601A6842F448 -:1029200080621A601A6842F480721A600320FFF70E -:102930006BFF0020FFF7C6FFFFF7F0F8002008BD8F -:10294000003C0240034A1168034B1B780B441360A0 -:10295000704700BFE000002064000020014B1868B1 -:10296000704700BFE000002038B50446FFF7F6FFCF -:102970000546B4F1FF3F02D0044B1B781C44FFF71F -:10298000EDFF401BA042FAD338BD00BF6400002019 -:10299000034AD2F8883043F47003C2F88830704795 -:1029A00000ED00E010B503460C4A0D490D480068E3 -:1029B00040B10C4800680344521A934206D8094AB1 -:1029C000136010BD0748084C0460F2E7FDF73CFCBB -:1029D0000C2303604FF0FF30F3E700BF00800120BD -:1029E00000040000E4000020E8000020DFF834D0FC -:1029F000FFF7CEFF0C480D490D4A002302E0D458E2 -:102A0000C4500433C4188C42F9D30A4A0A4C002338 -:102A100001E013600432A242FBD3FDF71BFCFEF77A -:102A2000E9FF7047008001200000002070000020B6 -:102A3000B02C000870000020E8000020FEE7000035 -:102A4000F8B500BFF8BC08BC9E467047F8B500BF9B -:082A5000F8BC08BC9E4670476B -:102A5800010000000200000004000000080000005F -:102A6800100000002000000040000000800000006E -:102A7800000100000002000000040000000800003F -:102A8800001000000020000001000000020000000B -:102A98000400000008000000100000000100000011 -:102AA80002000000000800000010000010000000F4 -:102AB800200000004000000080000000253032584F -:102AC8002000000057616974696E6720666F722084 -:102AD80066696C6520746F20666C6173682E2E2E93 -:102AE8000D0A000066696E69736865640D0A000066 -:102AF800307825303258200D0A0000003D3D3D3D1C -:102B08003D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3DED -:102B18003D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3DDD -:102B28003D3D3D3D3D3D0D0A000000004D616E7587 -:102B38006661637475726572204944203D200D0AF0 -:102B480000000000446576696365204944203D2003 -:102B58000D0A000048656C6C6F2077656C636F6DBB -:102B68006520746F2074686520454550524F4D208C -:102B780070726F6772616D6D65722120576861743C -:102B880020776F756C6420796F75206C696B652090 -:102B9800746F20646F3F0D0A000000005B315D20F8 -:102BA80044756D7020526F6D206173206368617287 -:102BB8000D0A00005B325D20457261736520636811 -:102BC80069700D0A000000005B335D2050726F676A -:102BD80072616D2063686970207669612055415281 -:102BE800540D0A0044756D70696E6720524F4D2E62 -:102BF8002E2E0D0A0000000045726173696E672071 -:102C0800436869702E2E2E0D0A0000004C61756E07 -:102C18006368696E672070726F6772616D6D696E47 -:102C2800672073657175656E63652E2E2E0D0A001B -:102C3800496E76616C696420696E707574210D0A3D -:102C48000000000000000000000000000102030472 -:102C5800060708090000000001020304232D302B99 -:102C680020000000686C4C00656667454647000018 -:102C780030313233343536373839414243444546AA -:102C8800000000003031323334353637383961626C -:082C98006364656600000000A2 -:082CA000FCE4FF7F01000000CD -:042CA80029020008F5 -:042CAC000102000819 -:102CB00004000020000000000000000000000000F0 -:102CC0000000000000000000000000000000000004 -:102CD00000000000000000000000000000000000F4 -:102CE00000000000000000000000000000000000E4 -:102CF00000000000000000000000000000000000D4 -:102D000000000000000000000000000000000000C3 -:102D10000000000001000000100000000024F4008A -:04000005080029EDD9 +:101820006946044800F035FBDBE705B030BD00BF7A +:10183000402B000898000020FEFF0700A82E00089B +:1018400070B58AB00024059406940794089409940E +:101850004FF6FF730593012606960225089505A904 +:10186000084800F021FF009401940294039404942A +:101870001F230093019603956946034800F014FF67 +:101880000AB070BD000802400004024000B587B0F5 +:101890000023019302930393049305934FF4E063B1 +:1018A0000193012302930223049301A9024800F04B +:1018B000FBFE07B05DF804FB0000024010B50446D3 +:1018C000FEF7FEFE4FF0FF3382B22146014800F0E2 +:1018D000E0FA10BD9800002010B582B00C48FFF768 +:1018E000EDFF00240DE04FF0FF3301220DF1070161 +:1018F000084800F034FB9DF807102046FFF70EFF64 +:101900000134072CEFDD0448FFF7D8FF02B010BD0B +:10191000482B000898000020682B000872B6FEE7EC +:1019200008B50A480A4B03604FF4E13343600023D3 +:101930008360C36003610C2242618361C36100F074 +:1019400078FA00B908BDFFF7E9FF00BF9800002052 +:101950000044004000B595B03022002108A8FEF7F1 +:1019600047FD002303930493059306930793019384 +:101970001F4A116C41F080511164126C02F08052C8 +:101980000192019A02931B490A6822F4404242F4F0 +:1019900000420A600A6802F440420292029A02215E +:1019A000089101220B9210220C920E910F9310922B +:1019B0004FF4A8731193042312930723139308A8D9 +:1019C00000F036FB80B90F2303930221049100231A +:1019D00005934FF480520692079303A800F08EFD02 +:1019E00020B915B05DF804FBFFF798FFFFF796FFED +:1019F000003802400070004070B584B000F0C6FFAF +:101A0000FFF7A8FFFFF734FDFFF78AFF0020FFF77D +:101A1000C7FDFFF715FFFFF739FF02A903A8FFF77E +:101A2000A9FE0D20FEF73AFC05460D20FEF736FC18 +:101A300004463D4E039A31462846FEF715FE029AAB +:101A400031462046FEF710FE384E3046FFF736FF8F +:101A50003748FFF733FF3748FFF730FF3648FFF7C7 +:101A60002DFF3648FFF72AFF3548FFF727FF30469E +:101A7000FFF724FF3348FFF721FF3348FFF71EFF2E +:101A80003248FFF71BFF3248FFF718FF3148FFF7D6 +:101A900015FF3148FFF712FF4FF0FF3301220DF120 +:101AA00006012E4800F05BFA9DF80630313B042B0E +:101AB00036D8DFE803F0030A101626002848FFF79F +:101AC000FDFE0120FFF776FED4E72648FFF7F6FE7D +:101AD000FFF701FECEE72448FFF7F0FEFFF7FCFE1C +:101AE000C8E72248FFF7EAFE2148FFF7E7FE28464D +:101AF000FFF7E4FE1F48FFF7E1FE2046FFF7DEFE9A +:101B0000B8E71D48FFF7DAFE4FF0FF3301220DF171 +:101B10000701124800F023FA0020FFF74BFEFEE712 +:101B20001648FFF7CBFEA5E7742B0008802B0008B2 +:101B3000D82B0008002C0008582C0008B02C0008F6 +:101B4000082D0008442D00088C2D0008A42D000845 +:101B5000B82D0008E42D0008FC2D00089800002096 +:101B6000202E0008342E0008482E00086C2E000895 +:101B7000842E00089C2E0008AC2E0008D42E0008ED +:101B8000FEE7FEE7FEE7FEE7FEE7704770477047B7 +:101B900008B500F015FF08BD82B0002100910B4B85 +:101BA0005A6C42F480425A645A6C02F480420092A9 +:101BB000009A01911A6C42F080521A641B6C03F077 +:101BC00080530193019B02B0704700BF0038024070 +:101BD00000B589B0002303930493059306930793FC +:101BE0000268144B9A4202D009B05DF804FB002150 +:101BF000019103F5FA331A6C42F400321A641A6C3C +:101C000002F400320192019A02911A6B42F0010231 +:101C10001A631B6B03F001030293029B0C230393D3 +:101C2000022304930723079303A9034800F03CFD14 +:101C3000DAE700BF0044004000000240026802F101 +:101C40000C0353E8003F23F490730C3242E8003158 +:101C50000029F3D1026802F1140353E8003F23F096 +:101C60000103143242E800310029F3D1036B012B48 +:101C700005D0202380F842300023036370470268B8 +:101C800002F10C0353E8003F23F010030C3242E84A +:101C900000310029F3D1ECE738B504460268136936 +:101CA00023F44053C1680B431361836802691343F3 +:101CB00042691343C2691A430168CB6823F416438F +:101CC00023F00C031343CB600268536923F4407381 +:101CD00081690B4353610368314A934206D002F590 +:101CE0008062934202D000F0BFFC01E000F0CCFC27 +:101CF000E369B3F5004F29D00021031849411B18AF +:101D000041F10001C90041EA5371DB001818636812 +:101D10004FEA83024FEA937341F10001FFF726FA7D +:101D2000204DA5FB00325109642303FB11031B0165 +:101D30003233A5FB03235B0903F0F00202EB01122F +:101D400003F00F03216813448B6038BD0023021891 +:101D500043EB0301121841F10001C90041EA52713D +:101D6000D200101841F10001626892185B41FFF740 +:101D7000FDF90C4DA5FB00325109642303FB11034F +:101D8000DB003233A5FB03235B095A0002F4F8722F +:101D900002EB011203F00703216813448B60D4E7C0 +:101DA000001001401F85EB512DE9F04383B005463B +:101DB0000E4617469946DDF828802C68246836EAD6 +:101DC00004030CBF4FF0010C4FF0000CBC4528D1B0 +:101DD000B8F1FF3FF1D000F0FFFDA0EB0900404556 +:101DE00023D8B8F1000F22D02B68DA6812F0040F64 +:101DF000E3D0802EE1D0402EDFD01A6812F0080F19 +:101E0000DBD0002401941A6801925B680193019B66 +:101E10002846FFF713FF08236B6485F84040012034 +:101E200000E0002003B0BDE8F0830320FAE70320C0 +:101E3000F8E760B310B5044690F8413013B324239B +:101E400084F841302268D36823F40053D3602046DD +:101E5000FFF722FF2268136923F49043136122687D +:101E6000536923F02A0353612268D36843F4005373 +:101E7000D36000206064202384F8413084F842302D +:101E8000606310BD80F84030FFF7A2FED7E7012065 +:101E900070472DE9F04182B01E4690F84130DBB228 +:101EA000202B56D104460D469046002955D00AB93C +:101EB00001204FE000234364212380F8413000F0EB +:101EC0008BFD0746A4F82480A4F82680A368B3F508 +:101ED000805F02D04FF0000814E023692BB34FF06D +:101EE00000080FE0202384F84130032032E038F866 +:101EF000023B2268C3F308035360E28C92B2013ABA +:101F000092B2E284E38C9BB293B100963B460022EE +:101F100080212046FFF748FF0028E3D1002DE6D0BE +:101F200015F8012B23685A60E7E7A8460025E9E782 +:101F300000963B46002240212046FFF735FF18B9A6 +:101F4000202384F8413005E0202384F84130032029 +:101F500000E0022002B0BDE8F0810120FAE72DE99F +:101F6000F04182B01E4690F84230DBB2202B59D1AE +:101F700004460D469046002958D00AB9012052E087 +:101F800000234364222280F84220036300F024FDF2 +:101F90000746A4F82C80A4F82E80A368B3F5805FD0 +:101FA00002D04FF000081CE0236913B14FF0000885 +:101FB00017E0A846002514E0202384F842300320CF +:101FC00031E023685B68C3F3080328F8023B03E0B1 +:101FD00023685B682B700135E28D92B2013A92B2B0 +:101FE000E285E38D9BB2C3B100963B4600222021DF +:101FF0002046FFF7D9FE0028DED1002DE1D0A368EE +:10200000B3F5805FE4D013B92369002BE0D02368D7 +:102010005B6803F07F032B70DDE7202384F84230F8 +:10202000002000E0022002B0BDE8F0810120FAE7C4 +:10203000002800F0E08170B582B00446036813F018 +:10204000010F3BD09F4B9B6803F00C03042B2CD05B +:102050009C4B9B6803F00C03082B21D06368B3F5FD +:10206000803F4FD0B3F5A02F52D0964B1A6822F480 +:1020700080321A601A6822F480221A606368002B8A +:1020800050D000F0A9FC05468E4B1B6813F4003FAE +:1020900014D100F0A1FC401B6428F5D90320B1E164 +:1020A000884B5B6813F4800FD8D0864B1B6813F401 +:1020B000003F03D06368002B00F09F81236813F07A +:1020C000020F54D07F4B9B6813F00C0F3ED07D4B1A +:1020D0009B6803F00C03082B33D0E368002B68D017 +:1020E000794B01221A6000F077FC0546754B1B689E +:1020F00013F0020F54D100F06FFC401B0228F5D9F9 +:1021000003207FE16F4A136843F480331360B5E71F +:102110006C4B1A6842F480221A601A6842F48032CA +:102120001A60ABE700F058FC0546664B1B6813F4D9 +:10213000003FC3D000F050FC401B6428F5D90320B9 +:1021400060E1604B5B6813F4800FC6D15D4B1B6888 +:1021500013F0020F03D0E368012B40F05081594A7D +:10216000136823F0F803216943EAC103136023686D +:1021700013F0080F42D063696BB3534B0122C3F8CD +:10218000802E00F029FC05464E4B5B6F13F0020FCA +:1021900034D100F021FC401B0228F5D9032031E1A5 +:1021A000484A136823F0F803216943EAC103136026 +:1021B000DDE7454B00221A6000F00EFC0546414B5E +:1021C0001B6813F0020FD2D000F006FC401B02285F +:1021D000F5D9032016E13C4B0022C3F8802E00F015 +:1021E000FBFB0546374B5B6F13F0020F06D000F088 +:1021F000F3FB401B0228F5D9032003E1236813F009 +:10220000040F77D02F4B1B6C13F0805F33D100236A +:1022100001932C4B1A6C42F080521A641B6C03F031 +:1022200080530193019B0125284B1B6813F4807F89 +:1022300023D0A368012B34D0052B38D0214B1A6F43 +:1022400022F001021A671A6F22F004021A67A368CB +:10225000002B3DD000F0C0FB06461A4B1B6F13F05D +:10226000020F46D100F0B8FB801B41F28833984240 +:10227000F3D90320C6E00025D6E7144A136843F4D7 +:102280008073136000F0A8FB0646104B1B6813F424 +:10229000807FCED100F0A0FB801B0228F5D903205F +:1022A000B0E0084A136F43F001031367CFE7054B13 +:1022B0001A6F42F004021A671A6F42F001021A679D +:1022C000C5E700BF003802400000474200700040F0 +:1022D00000F082FB0646524B1B6F13F0020F08D032 +:1022E00000F07AFB801B41F288339842F3D9032037 +:1022F00088E0EDB9A369002B00F08380484A92681A +:1023000002F00C02082A51D0022B17D0454B0022B4 +:102310001A6600F061FB0446414B1B6813F0007F16 +:1023200042D000F059FB001B0228F5D9032069E0D8 +:102330003B4A136C23F080531364DBE7394B0022D4 +:102340001A6600F049FB0546354B1B6813F0007F09 +:1023500006D000F041FB401B0228F5D9032051E0D4 +:10236000E369226A1343626A43EA8213A26A52084B +:10237000013A43EA0243E26A43EA0263284A5360AD +:10238000284B01221A6600F027FB0446244B1B68E9 +:1023900013F0007F06D100F01FFB001B0228F5D9C7 +:1023A00003202FE000202DE000202BE0012B2BD07C +:1023B0001B4B5B6803F48001E269914226D103F074 +:1023C0003F02216A8A4223D1616A47F6C0721A40ED +:1023D000B2EB811F1ED103F44031A26A5208013AC8 +:1023E000B1EB024F18D103F07063E26AB3EB026FF6 +:1023F00014D1002006E001207047012002E00120F6 +:1024000000E0002002B070BD0120FBE70120F9E7E9 +:102410000120F7E70120F5E70120F3E70120F1E7CC +:10242000003802400000474208B5314B9B6803F07A +:102430000C03042B57D0082B57D12D4B5A6802F0B0 +:102440003F025B6813F4800F2AD0294B5968C1F30F +:10245000881C4FEA4C11B1EB0C006EEB0E0E4FEAEC +:102460008E1343EA90638101091A63EB0E03DB00CC +:1024700043EA5173C90011EB0C0C43F100035902FC +:1024800000234FEA4C2041EADC51FEF76FFE184B67 +:102490005B68C3F3014301335B00B0FBF3F025E05D +:1024A000134B5968C1F3881C4FEA4C11B1EB0C0077 +:1024B0006EEB0E0E4FEA8E1343EA90638101091A08 +:1024C00063EB0E03DB0043EA5173C90011EB0C0C04 +:1024D00043F10003990200234FEA8C2041EA9C510A +:1024E000FEF744FED3E7034800E0034808BD00BF01 +:1024F0000038024000127A000024F400002800F0A6 +:102500009B8070B50D4604464F4B1B6803F00703D4 +:102510008B4208D2CBB24C4A1370136803F0070306 +:102520008B4240F08B80236813F0020F17D013F01A +:10253000040F04D0454A936843F4E0539360236842 +:1025400013F0080F04D0414A936843F4604393604A +:102550003E4A936823F0F003A1680B43936023681D +:1025600013F0010F32D06368012B21D09A1E012A8B +:1025700025D9364A126812F0020F61D033498A68B1 +:1025800022F0030213438B6000F026FA06462F4B1D +:102590009B6803F00C036268B3EB820F16D000F067 +:1025A0001BFA801B41F288339842F0D9032042E0A5 +:1025B000264A126812F4003FE0D101203BE0234A92 +:1025C000126812F0007FD9D1012034E01E4B1B6845 +:1025D00003F00703AB4207D9EAB21B4B1A701B6822 +:1025E00003F00703AB422DD1236813F0040F06D08C +:1025F000164A936823F4E053E1680B439360236821 +:1026000013F0080F07D0114A936823F4604321693F +:1026100043EAC1039360FFF707FF0C4B9B68C3F3CA +:1026200003130B4AD35CD8400A4B18600A4B186856 +:1026300000F086F9002070BD012070470120FAE704 +:102640000120F8E70120F6E7003C02400038024094 +:10265000E82E00086C00002068000020014B18687C +:10266000704700BF6C00002008B5FFF7F7FF044B70 +:102670009B68C3F38223034AD35CD84008BD00BFE4 +:1026800000380240F82E000808B5FFF7E7FF044BBA +:102690009B68C3F34233034AD35CD84008BD00BFF4 +:1026A00000380240F82E000800230F2B00F2D280E1 +:1026B00070B582B060E085685E000324B44025EA0E +:1026C0000405CC68B4402C438460456825EA0205C3 +:1026D0004C68C4F300129A402A4342605AE0DC0876 +:1026E000083450F8246003F0070295000F22AA4036 +:1026F00026EA020E0A69AA4042EA0E0240F82420A5 +:102700005CE0042200E0002202FA0EF22A430234C6 +:10271000514D45F82420514A94686FEA0C0224EA8E +:102720000C054E6816F4801F01D04CEA04054B4C92 +:10273000A560E46802EA04054E6816F4001F01D0A3 +:102740004CEA0405454CE560646802EA04054E68FD +:1027500016F4003F01D04CEA0405404C6560246843 +:1027600022404D6815F4803F01D04CEA04023B4CF6 +:10277000226001330F2B6BD801229A400C6804EAC7 +:10278000020C32EA0404F4D14C6804F00304013C66 +:10279000012C90D94A6802F00302032A09D0C468C8 +:1027A0005D000322AA4024EA02048A68AA40224368 +:1027B000C2604A6802F00302022A90D004684FEA1D +:1027C000430E032202FA0EF224EA02044A6802F0DF +:1027D000030202FA0EF2224302604A6812F4403FFA +:1027E000C7D0002201921E4A546C44F480445464C1 +:1027F000526C02F480420192019A9C08A51C164A70 +:1028000052F8255003F003024FEA820E0F2202FA1B +:102810000EF225EA0205134A90423FF474AF02F526 +:10282000806290420ED002F5806290420CD002F598 +:10283000806290420AD002F5806290423FF461AF1C +:10284000072261E701225FE702225DE703225BE7DF +:1028500002B070BD704700BF00380140003C01402D +:1028600000380240000002400369194201D00120F3 +:102870007047002070470AB1816170470904816187 +:1028800070470000074AD36823F4E0631B041B0C65 +:10289000000200F4E060034343F0BF6343F40033FD +:1028A000D360704700ED00E000B5194BDB68C3F35F +:1028B0000223C3F1070CBCF1040F28BF4FF0040C36 +:1028C00003F1040EBEF1060F18D9033B4FF0FF3E93 +:1028D0000EFA0CFC21EA0C0199400EFA03F322EAED +:1028E0000303194300280BDB0901C9B200F1604062 +:1028F00000F5614080F800135DF804FB0023E5E774 +:1029000000F00F000901C9B2024B1954F4E700BFEF +:1029100000ED00E014ED00E00138B0F1807F0BD253 +:102920004FF0E0235861054AF02182F8231000207F +:10293000986107221A6170470120704700ED00E09E +:1029400010B504460E4B18784FF47A73B3FBF0F3CE +:102950000C4A1068B0FBF3F0FFF7DEFF68B90F2CEC +:1029600001D901200AE0002221464FF0FF30FFF795 +:102970009BFF054B1C60002000E0012010BD00BF44 +:10298000640000206C0000206800002008B50B4B9C +:102990001A6842F400721A601A6842F480621A607F +:1029A0001A6842F480721A600320FFF76BFF002060 +:1029B000FFF7C6FFFFF7F0F8002008BD003C02401B +:1029C000034A1168034B1B780B441360704700BF28 +:1029D000E000002064000020014B1868704700BF31 +:1029E000E000002038B50446FFF7F6FF0546B4F1D5 +:1029F000FF3F02D0044B1B781C44FFF7EDFF401B48 +:102A0000A042FAD338BD00BF64000020034AD2F8C8 +:102A1000883043F47003C2F88830704700ED00E05E +:102A200010B503460C4A0D490D48006840B10C48EA +:102A300000680344521A934206D8094A136010BD35 +:102A40000748084C0460F2E7FDF7FEFB0C23036027 +:102A50004FF0FF30F3E700BF0080012000040000CA +:102A6000E4000020E8000020DFF834D0FFF7CEFFBC +:102A70000C480D490D4A002302E0D458C4500433D9 +:102A8000C4188C42F9D30A4A0A4C002301E01360AF +:102A90000432A242FBD3FDF7DDFBFEF7ADFF70472A +:102AA0000080012000000020700000204C2F000852 +:102AB00070000020E8000020FEE70000F8B500BF2D +:102AC000F8BC08BC9E467047F8B500BFF8BC08BC0F +:042AD0009E46704767 +:102AD40001000000020000000400000008000000E3 +:102AE40010000000200000004000000080000000F2 +:102AF40000010000000200000004000000080000C3 +:102B0400001000000020000001000000020000008E +:102B14000400000008000000100000000100000094 +:102B24000200000000080000001000001000000077 +:102B340020000000400000008000000025303258D2 +:102B44002000000057616974696E6720666F722007 +:102B540066696C6520746F20666C6173682E2E2E16 +:102B64000D0A000066696E69736865640D0A0000E9 +:102B7400307825303258200D0A0000003D3D3D3D9F +:102B84003D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D71 +:102B94003D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D61 +:102BA4003D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D51 +:102BB4003D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D41 +:102BC4003D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D31 +:102BD4003D0D0A00205F5F5F5F5F205F5F5F5F5FA7 +:102BE400205F5F5F5F5F205F5F5F5F5F205F5F5FAE +:102BF4005F5F205F5F5F5F5F0D0A00007C20202025 +:102C04005F5F7C2020205F5F7C20205F20207C2071 +:102C14005F5F20207C20202020207C20202020207A +:102C24007C2020205F5F5F205F5F5F205F5F5F200D +:102C34005F5F5F205F5F5F205F5F5F205F5F5F5F5D +:102C44005F205F5F5F5F5F205F5F5F205F5F5F0D9F +:102C54000A0000007C2020205F5F7C2020205F5F32 +:102C64007C2020205F5F7C202020202D7C20207C65 +:102C740020207C207C207C207C20207C202E207C1A +:102C840020205F7C202E207C202E207C20205F7C36 +:102C9400202E277C20202020207C20202020207C07 +:102CA400202D5F7C20205F7C0D0A00007C5F5F5F2D +:102CB4005F5F7C5F5F5F5F5F7C5F5F7C20207C5F2A +:102CC4005F7C5F5F7C5F5F5F5F5F7C5F7C5F7C5F7F +:102CD4007C20207C20205F7C5F7C207C5F5F5F7C8D +:102CE4005F20207C5F7C207C5F5F2C7C5F7C5F7C32 +:102CF4005F7C5F7C5F7C5F7C5F5F5F7C5F7C0D0AD9 +:102D040000000000202020202D204179616275738D +:102D14006120323032352020202020202020202025 +:102D240020202020202020202020207C5F7C2020A8 +:102D3400202020202020207C5F5F5F7C0D0A000083 +:102D440048656C6C6F2077656C636F6D6520746F7C +:102D54002074686520454550524F4D2070726F674E +:102D640072616D6D657221205768617420776F758B +:102D74006C6420796F75206C696B6520746F2064B6 +:102D84006F3F0D0A000000005B315D2044756D70DB +:102D940020526F6D20617320636861720D0A000018 +:102DA4005B325D20457261736520636869700D0A4A +:102DB400000000005B335D2050726F6772616D200C +:102DC4006368697020766961205541525420284116 +:102DD40053434949206D6F6465290D0A00000000C2 +:102DE4005B345D204964656E746966792064657638 +:102DF4006963650D0A0000005B355D2044756D70E4 +:102E040020526F6D2061732066696C6520284153E0 +:102E1400434949206D6F6465290D0A0044756D703E +:102E2400696E6720524F4D2E2E2E0D0A00000000B1 +:102E340045726173696E6720436869702E2E2E0D8A +:102E44000A0000004C61756E6368696E67207072D9 +:102E54006F6772616D6D696E672073657175656EFC +:102E640063652E2E2E0D0A004964656E74696679B9 +:102E7400696E67206465766963652E2E2E0D0A00DF +:102E84004D616E7566616374757265722049442084 +:102E94003D200D0A00000000446576696365204901 +:102EA40044203D200D0A000044756D70696E672052 +:102EB400524F4D2061732066696C652C20707265D9 +:102EC400737320616E79206B65792E2E2E0D0A00A6 +:102ED400496E76616C696420696E707574210D0A9F +:102EE40000000000000000000000000001020304D4 +:102EF400060708090000000001020304232D302BFB +:102F040020000000686C4C00656667454647000079 +:102F1400303132333435363738394142434445460B +:102F240000000000303132333435363738396162CD +:082F3400636465660000000003 +:082F3C0060E2FF7F01000000CC +:042F44002902000856 +:042F4800010200087A +:102F4C000400002000000000000000000000000051 +:102F5C000000000000000000000000000000000065 +:102F6C000000000000000000000000000000000055 +:102F7C000000000000000000000000000000000045 +:102F8C000000000000000000000000000000000035 +:102F9C000000000000000000000000000000000025 +:102FAC000000000001000000100000000024F400EC +:0400000508002A695C :00000001FF diff --git a/build/EEPROM_programmer.map b/build/EEPROM_programmer.map index 4165524..136e05d 100644 --- a/build/EEPROM_programmer.map +++ b/build/EEPROM_programmer.map @@ -883,7 +883,7 @@ LOAD /usr/lib/gcc/arm-none-eabi/10.3.1/thumb/v7e-m+fp/hard/crtn.o 0x0000000008000000 g_pfnVectors 0x0000000008000194 . = ALIGN (0x4) -.text 0x00000000080001c0 0x2898 +.text 0x00000000080001c0 0x2914 0x00000000080001c0 . = ALIGN (0x4) *(.text) .text 0x00000000080001c0 0x88 /usr/lib/gcc/arm-none-eabi/10.3.1/thumb/v7e-m+fp/hard/crtbegin.o @@ -972,296 +972,296 @@ LOAD /usr/lib/gcc/arm-none-eabi/10.3.1/thumb/v7e-m+fp/hard/crtn.o 0x0000000008001774 0x40 build/main.o 0x0000000008001774 Enter_Device_ID .text.Dump_Flash_UART - 0x00000000080017b4 0x88 build/main.o + 0x00000000080017b4 0x8c build/main.o 0x00000000080017b4 Dump_Flash_UART .text.Address_Pins_Init - 0x000000000800183c 0x4c build/main.o - 0x000000000800183c Address_Pins_Init + 0x0000000008001840 0x4c build/main.o + 0x0000000008001840 Address_Pins_Init .text.Command_Pins_Init - 0x0000000008001888 0x30 build/main.o - 0x0000000008001888 Command_Pins_Init + 0x000000000800188c 0x30 build/main.o + 0x000000000800188c Command_Pins_Init .text.debug_print - 0x00000000080018b8 0x1c build/main.o - 0x00000000080018b8 debug_print + 0x00000000080018bc 0x1c build/main.o + 0x00000000080018bc debug_print .text.Flash_From_UART - 0x00000000080018d4 0x44 build/main.o - 0x00000000080018d4 Flash_From_UART + 0x00000000080018d8 0x44 build/main.o + 0x00000000080018d8 Flash_From_UART .text.Error_Handler - 0x0000000008001918 0x4 build/main.o - 0x0000000008001918 Error_Handler + 0x000000000800191c 0x4 build/main.o + 0x000000000800191c Error_Handler .text.MX_USART2_UART_Init - 0x000000000800191c 0x34 build/main.o + 0x0000000008001920 0x34 build/main.o .text.SystemClock_Config - 0x0000000008001950 0xa4 build/main.o - 0x0000000008001950 SystemClock_Config - .text.main 0x00000000080019f4 0x110 build/main.o - 0x00000000080019f4 main + 0x0000000008001954 0xa4 build/main.o + 0x0000000008001954 SystemClock_Config + .text.main 0x00000000080019f8 0x188 build/main.o + 0x00000000080019f8 main .text.NMI_Handler - 0x0000000008001b04 0x2 build/stm32f4xx_it.o - 0x0000000008001b04 NMI_Handler + 0x0000000008001b80 0x2 build/stm32f4xx_it.o + 0x0000000008001b80 NMI_Handler .text.HardFault_Handler - 0x0000000008001b06 0x2 build/stm32f4xx_it.o - 0x0000000008001b06 HardFault_Handler + 0x0000000008001b82 0x2 build/stm32f4xx_it.o + 0x0000000008001b82 HardFault_Handler .text.MemManage_Handler - 0x0000000008001b08 0x2 build/stm32f4xx_it.o - 0x0000000008001b08 MemManage_Handler + 0x0000000008001b84 0x2 build/stm32f4xx_it.o + 0x0000000008001b84 MemManage_Handler .text.BusFault_Handler - 0x0000000008001b0a 0x2 build/stm32f4xx_it.o - 0x0000000008001b0a BusFault_Handler + 0x0000000008001b86 0x2 build/stm32f4xx_it.o + 0x0000000008001b86 BusFault_Handler .text.UsageFault_Handler - 0x0000000008001b0c 0x2 build/stm32f4xx_it.o - 0x0000000008001b0c UsageFault_Handler + 0x0000000008001b88 0x2 build/stm32f4xx_it.o + 0x0000000008001b88 UsageFault_Handler .text.SVC_Handler - 0x0000000008001b0e 0x2 build/stm32f4xx_it.o - 0x0000000008001b0e SVC_Handler + 0x0000000008001b8a 0x2 build/stm32f4xx_it.o + 0x0000000008001b8a SVC_Handler .text.DebugMon_Handler - 0x0000000008001b10 0x2 build/stm32f4xx_it.o - 0x0000000008001b10 DebugMon_Handler + 0x0000000008001b8c 0x2 build/stm32f4xx_it.o + 0x0000000008001b8c DebugMon_Handler .text.PendSV_Handler - 0x0000000008001b12 0x2 build/stm32f4xx_it.o - 0x0000000008001b12 PendSV_Handler + 0x0000000008001b8e 0x2 build/stm32f4xx_it.o + 0x0000000008001b8e PendSV_Handler .text.SysTick_Handler - 0x0000000008001b14 0x8 build/stm32f4xx_it.o - 0x0000000008001b14 SysTick_Handler + 0x0000000008001b90 0x8 build/stm32f4xx_it.o + 0x0000000008001b90 SysTick_Handler .text.HAL_MspInit - 0x0000000008001b1c 0x38 build/stm32f4xx_hal_msp.o - 0x0000000008001b1c HAL_MspInit + 0x0000000008001b98 0x38 build/stm32f4xx_hal_msp.o + 0x0000000008001b98 HAL_MspInit .text.HAL_UART_MspInit - 0x0000000008001b54 0x6c build/stm32f4xx_hal_msp.o - 0x0000000008001b54 HAL_UART_MspInit + 0x0000000008001bd0 0x6c build/stm32f4xx_hal_msp.o + 0x0000000008001bd0 HAL_UART_MspInit .text.UART_EndRxTransfer - 0x0000000008001bc0 0x5c build/stm32f4xx_hal_uart.o + 0x0000000008001c3c 0x5c build/stm32f4xx_hal_uart.o .text.UART_SetConfig - 0x0000000008001c1c 0x110 build/stm32f4xx_hal_uart.o + 0x0000000008001c98 0x110 build/stm32f4xx_hal_uart.o .text.UART_WaitOnFlagUntilTimeout - 0x0000000008001d2c 0x8a build/stm32f4xx_hal_uart.o + 0x0000000008001da8 0x8a build/stm32f4xx_hal_uart.o .text.HAL_UART_Init - 0x0000000008001db6 0x60 build/stm32f4xx_hal_uart.o - 0x0000000008001db6 HAL_UART_Init + 0x0000000008001e32 0x60 build/stm32f4xx_hal_uart.o + 0x0000000008001e32 HAL_UART_Init .text.HAL_UART_Transmit - 0x0000000008001e16 0xcc build/stm32f4xx_hal_uart.o - 0x0000000008001e16 HAL_UART_Transmit + 0x0000000008001e92 0xcc build/stm32f4xx_hal_uart.o + 0x0000000008001e92 HAL_UART_Transmit .text.HAL_UART_Receive - 0x0000000008001ee2 0xd2 build/stm32f4xx_hal_uart.o - 0x0000000008001ee2 HAL_UART_Receive + 0x0000000008001f5e 0xd2 build/stm32f4xx_hal_uart.o + 0x0000000008001f5e HAL_UART_Receive .text.HAL_RCC_OscConfig - 0x0000000008001fb4 0x3f8 build/stm32f4xx_hal_rcc.o - 0x0000000008001fb4 HAL_RCC_OscConfig + 0x0000000008002030 0x3f8 build/stm32f4xx_hal_rcc.o + 0x0000000008002030 HAL_RCC_OscConfig .text.HAL_RCC_GetSysClockFreq - 0x00000000080023ac 0xd4 build/stm32f4xx_hal_rcc.o - 0x00000000080023ac HAL_RCC_GetSysClockFreq + 0x0000000008002428 0xd4 build/stm32f4xx_hal_rcc.o + 0x0000000008002428 HAL_RCC_GetSysClockFreq .text.HAL_RCC_ClockConfig - 0x0000000008002480 0x160 build/stm32f4xx_hal_rcc.o - 0x0000000008002480 HAL_RCC_ClockConfig + 0x00000000080024fc 0x160 build/stm32f4xx_hal_rcc.o + 0x00000000080024fc HAL_RCC_ClockConfig .text.HAL_RCC_GetHCLKFreq - 0x00000000080025e0 0xc build/stm32f4xx_hal_rcc.o - 0x00000000080025e0 HAL_RCC_GetHCLKFreq + 0x000000000800265c 0xc build/stm32f4xx_hal_rcc.o + 0x000000000800265c HAL_RCC_GetHCLKFreq .text.HAL_RCC_GetPCLK1Freq - 0x00000000080025ec 0x20 build/stm32f4xx_hal_rcc.o - 0x00000000080025ec HAL_RCC_GetPCLK1Freq + 0x0000000008002668 0x20 build/stm32f4xx_hal_rcc.o + 0x0000000008002668 HAL_RCC_GetPCLK1Freq .text.HAL_RCC_GetPCLK2Freq - 0x000000000800260c 0x20 build/stm32f4xx_hal_rcc.o - 0x000000000800260c HAL_RCC_GetPCLK2Freq + 0x0000000008002688 0x20 build/stm32f4xx_hal_rcc.o + 0x0000000008002688 HAL_RCC_GetPCLK2Freq .text.HAL_GPIO_Init - 0x000000000800262c 0x1c0 build/stm32f4xx_hal_gpio.o - 0x000000000800262c HAL_GPIO_Init + 0x00000000080026a8 0x1c0 build/stm32f4xx_hal_gpio.o + 0x00000000080026a8 HAL_GPIO_Init .text.HAL_GPIO_ReadPin - 0x00000000080027ec 0xe build/stm32f4xx_hal_gpio.o - 0x00000000080027ec HAL_GPIO_ReadPin + 0x0000000008002868 0xe build/stm32f4xx_hal_gpio.o + 0x0000000008002868 HAL_GPIO_ReadPin .text.HAL_GPIO_WritePin - 0x00000000080027fa 0xc build/stm32f4xx_hal_gpio.o - 0x00000000080027fa HAL_GPIO_WritePin - *fill* 0x0000000008002806 0x2 + 0x0000000008002876 0xc build/stm32f4xx_hal_gpio.o + 0x0000000008002876 HAL_GPIO_WritePin + *fill* 0x0000000008002882 0x2 .text.HAL_NVIC_SetPriorityGrouping - 0x0000000008002808 0x24 build/stm32f4xx_hal_cortex.o - 0x0000000008002808 HAL_NVIC_SetPriorityGrouping + 0x0000000008002884 0x24 build/stm32f4xx_hal_cortex.o + 0x0000000008002884 HAL_NVIC_SetPriorityGrouping .text.HAL_NVIC_SetPriority - 0x000000000800282c 0x70 build/stm32f4xx_hal_cortex.o - 0x000000000800282c HAL_NVIC_SetPriority + 0x00000000080028a8 0x70 build/stm32f4xx_hal_cortex.o + 0x00000000080028a8 HAL_NVIC_SetPriority .text.HAL_SYSTICK_Config - 0x000000000800289c 0x28 build/stm32f4xx_hal_cortex.o - 0x000000000800289c HAL_SYSTICK_Config + 0x0000000008002918 0x28 build/stm32f4xx_hal_cortex.o + 0x0000000008002918 HAL_SYSTICK_Config .text.HAL_InitTick - 0x00000000080028c4 0x4c build/stm32f4xx_hal.o - 0x00000000080028c4 HAL_InitTick + 0x0000000008002940 0x4c build/stm32f4xx_hal.o + 0x0000000008002940 HAL_InitTick .text.HAL_Init - 0x0000000008002910 0x34 build/stm32f4xx_hal.o - 0x0000000008002910 HAL_Init + 0x000000000800298c 0x34 build/stm32f4xx_hal.o + 0x000000000800298c HAL_Init .text.HAL_IncTick - 0x0000000008002944 0x18 build/stm32f4xx_hal.o - 0x0000000008002944 HAL_IncTick + 0x00000000080029c0 0x18 build/stm32f4xx_hal.o + 0x00000000080029c0 HAL_IncTick .text.HAL_GetTick - 0x000000000800295c 0xc build/stm32f4xx_hal.o - 0x000000000800295c HAL_GetTick + 0x00000000080029d8 0xc build/stm32f4xx_hal.o + 0x00000000080029d8 HAL_GetTick .text.HAL_Delay - 0x0000000008002968 0x28 build/stm32f4xx_hal.o - 0x0000000008002968 HAL_Delay + 0x00000000080029e4 0x28 build/stm32f4xx_hal.o + 0x00000000080029e4 HAL_Delay .text.SystemInit - 0x0000000008002990 0x14 build/system_stm32f4xx.o - 0x0000000008002990 SystemInit - .text._sbrk 0x00000000080029a4 0x48 build/sysmem.o - 0x00000000080029a4 _sbrk + 0x0000000008002a0c 0x14 build/system_stm32f4xx.o + 0x0000000008002a0c SystemInit + .text._sbrk 0x0000000008002a20 0x48 build/sysmem.o + 0x0000000008002a20 _sbrk .text.Reset_Handler - 0x00000000080029ec 0x50 build/startup_stm32f401xe.o - 0x00000000080029ec Reset_Handler + 0x0000000008002a68 0x50 build/startup_stm32f401xe.o + 0x0000000008002a68 Reset_Handler .text.Default_Handler - 0x0000000008002a3c 0x2 build/startup_stm32f401xe.o - 0x0000000008002a3c RTC_Alarm_IRQHandler - 0x0000000008002a3c EXTI2_IRQHandler - 0x0000000008002a3c SPI4_IRQHandler - 0x0000000008002a3c TIM1_CC_IRQHandler - 0x0000000008002a3c DMA2_Stream5_IRQHandler - 0x0000000008002a3c DMA1_Stream5_IRQHandler - 0x0000000008002a3c PVD_IRQHandler - 0x0000000008002a3c SDIO_IRQHandler - 0x0000000008002a3c TAMP_STAMP_IRQHandler - 0x0000000008002a3c EXTI3_IRQHandler - 0x0000000008002a3c TIM1_UP_TIM10_IRQHandler - 0x0000000008002a3c I2C3_ER_IRQHandler - 0x0000000008002a3c EXTI0_IRQHandler - 0x0000000008002a3c I2C2_EV_IRQHandler - 0x0000000008002a3c DMA1_Stream2_IRQHandler - 0x0000000008002a3c FPU_IRQHandler - 0x0000000008002a3c DMA2_Stream2_IRQHandler - 0x0000000008002a3c SPI1_IRQHandler - 0x0000000008002a3c TIM1_BRK_TIM9_IRQHandler - 0x0000000008002a3c DMA2_Stream3_IRQHandler - 0x0000000008002a3c USART6_IRQHandler - 0x0000000008002a3c DMA2_Stream0_IRQHandler - 0x0000000008002a3c TIM4_IRQHandler - 0x0000000008002a3c I2C1_EV_IRQHandler - 0x0000000008002a3c DMA1_Stream6_IRQHandler - 0x0000000008002a3c DMA1_Stream1_IRQHandler - 0x0000000008002a3c TIM3_IRQHandler - 0x0000000008002a3c RCC_IRQHandler - 0x0000000008002a3c Default_Handler - 0x0000000008002a3c EXTI15_10_IRQHandler - 0x0000000008002a3c ADC_IRQHandler - 0x0000000008002a3c DMA1_Stream7_IRQHandler - 0x0000000008002a3c TIM5_IRQHandler - 0x0000000008002a3c DMA2_Stream7_IRQHandler - 0x0000000008002a3c I2C3_EV_IRQHandler - 0x0000000008002a3c EXTI9_5_IRQHandler - 0x0000000008002a3c RTC_WKUP_IRQHandler - 0x0000000008002a3c SPI2_IRQHandler - 0x0000000008002a3c DMA1_Stream0_IRQHandler - 0x0000000008002a3c EXTI4_IRQHandler - 0x0000000008002a3c WWDG_IRQHandler - 0x0000000008002a3c TIM2_IRQHandler - 0x0000000008002a3c OTG_FS_WKUP_IRQHandler - 0x0000000008002a3c TIM1_TRG_COM_TIM11_IRQHandler - 0x0000000008002a3c EXTI1_IRQHandler - 0x0000000008002a3c USART2_IRQHandler - 0x0000000008002a3c I2C2_ER_IRQHandler - 0x0000000008002a3c DMA2_Stream1_IRQHandler - 0x0000000008002a3c FLASH_IRQHandler - 0x0000000008002a3c DMA2_Stream4_IRQHandler - 0x0000000008002a3c USART1_IRQHandler - 0x0000000008002a3c OTG_FS_IRQHandler - 0x0000000008002a3c SPI3_IRQHandler - 0x0000000008002a3c DMA1_Stream4_IRQHandler - 0x0000000008002a3c I2C1_ER_IRQHandler - 0x0000000008002a3c DMA2_Stream6_IRQHandler - 0x0000000008002a3c DMA1_Stream3_IRQHandler + 0x0000000008002ab8 0x2 build/startup_stm32f401xe.o + 0x0000000008002ab8 RTC_Alarm_IRQHandler + 0x0000000008002ab8 EXTI2_IRQHandler + 0x0000000008002ab8 SPI4_IRQHandler + 0x0000000008002ab8 TIM1_CC_IRQHandler + 0x0000000008002ab8 DMA2_Stream5_IRQHandler + 0x0000000008002ab8 DMA1_Stream5_IRQHandler + 0x0000000008002ab8 PVD_IRQHandler + 0x0000000008002ab8 SDIO_IRQHandler + 0x0000000008002ab8 TAMP_STAMP_IRQHandler + 0x0000000008002ab8 EXTI3_IRQHandler + 0x0000000008002ab8 TIM1_UP_TIM10_IRQHandler + 0x0000000008002ab8 I2C3_ER_IRQHandler + 0x0000000008002ab8 EXTI0_IRQHandler + 0x0000000008002ab8 I2C2_EV_IRQHandler + 0x0000000008002ab8 DMA1_Stream2_IRQHandler + 0x0000000008002ab8 FPU_IRQHandler + 0x0000000008002ab8 DMA2_Stream2_IRQHandler + 0x0000000008002ab8 SPI1_IRQHandler + 0x0000000008002ab8 TIM1_BRK_TIM9_IRQHandler + 0x0000000008002ab8 DMA2_Stream3_IRQHandler + 0x0000000008002ab8 USART6_IRQHandler + 0x0000000008002ab8 DMA2_Stream0_IRQHandler + 0x0000000008002ab8 TIM4_IRQHandler + 0x0000000008002ab8 I2C1_EV_IRQHandler + 0x0000000008002ab8 DMA1_Stream6_IRQHandler + 0x0000000008002ab8 DMA1_Stream1_IRQHandler + 0x0000000008002ab8 TIM3_IRQHandler + 0x0000000008002ab8 RCC_IRQHandler + 0x0000000008002ab8 Default_Handler + 0x0000000008002ab8 EXTI15_10_IRQHandler + 0x0000000008002ab8 ADC_IRQHandler + 0x0000000008002ab8 DMA1_Stream7_IRQHandler + 0x0000000008002ab8 TIM5_IRQHandler + 0x0000000008002ab8 DMA2_Stream7_IRQHandler + 0x0000000008002ab8 I2C3_EV_IRQHandler + 0x0000000008002ab8 EXTI9_5_IRQHandler + 0x0000000008002ab8 RTC_WKUP_IRQHandler + 0x0000000008002ab8 SPI2_IRQHandler + 0x0000000008002ab8 DMA1_Stream0_IRQHandler + 0x0000000008002ab8 EXTI4_IRQHandler + 0x0000000008002ab8 WWDG_IRQHandler + 0x0000000008002ab8 TIM2_IRQHandler + 0x0000000008002ab8 OTG_FS_WKUP_IRQHandler + 0x0000000008002ab8 TIM1_TRG_COM_TIM11_IRQHandler + 0x0000000008002ab8 EXTI1_IRQHandler + 0x0000000008002ab8 USART2_IRQHandler + 0x0000000008002ab8 I2C2_ER_IRQHandler + 0x0000000008002ab8 DMA2_Stream1_IRQHandler + 0x0000000008002ab8 FLASH_IRQHandler + 0x0000000008002ab8 DMA2_Stream4_IRQHandler + 0x0000000008002ab8 USART1_IRQHandler + 0x0000000008002ab8 OTG_FS_IRQHandler + 0x0000000008002ab8 SPI3_IRQHandler + 0x0000000008002ab8 DMA1_Stream4_IRQHandler + 0x0000000008002ab8 I2C1_ER_IRQHandler + 0x0000000008002ab8 DMA2_Stream6_IRQHandler + 0x0000000008002ab8 DMA1_Stream3_IRQHandler *(.glue_7) - .glue_7 0x0000000008002a3e 0x0 linker stubs + .glue_7 0x0000000008002aba 0x0 linker stubs *(.glue_7t) - .glue_7t 0x0000000008002a3e 0x0 linker stubs + .glue_7t 0x0000000008002aba 0x0 linker stubs *(.eh_frame) - *fill* 0x0000000008002a3e 0x2 - .eh_frame 0x0000000008002a40 0x0 /usr/lib/gcc/arm-none-eabi/10.3.1/thumb/v7e-m+fp/hard/crtbegin.o + *fill* 0x0000000008002aba 0x2 + .eh_frame 0x0000000008002abc 0x0 /usr/lib/gcc/arm-none-eabi/10.3.1/thumb/v7e-m+fp/hard/crtbegin.o *(.init) - .init 0x0000000008002a40 0x4 /usr/lib/gcc/arm-none-eabi/10.3.1/thumb/v7e-m+fp/hard/crti.o - 0x0000000008002a40 _init - .init 0x0000000008002a44 0x8 /usr/lib/gcc/arm-none-eabi/10.3.1/thumb/v7e-m+fp/hard/crtn.o + .init 0x0000000008002abc 0x4 /usr/lib/gcc/arm-none-eabi/10.3.1/thumb/v7e-m+fp/hard/crti.o + 0x0000000008002abc _init + .init 0x0000000008002ac0 0x8 /usr/lib/gcc/arm-none-eabi/10.3.1/thumb/v7e-m+fp/hard/crtn.o *(.fini) - .fini 0x0000000008002a4c 0x4 /usr/lib/gcc/arm-none-eabi/10.3.1/thumb/v7e-m+fp/hard/crti.o - 0x0000000008002a4c _fini - .fini 0x0000000008002a50 0x8 /usr/lib/gcc/arm-none-eabi/10.3.1/thumb/v7e-m+fp/hard/crtn.o - 0x0000000008002a58 . = ALIGN (0x4) - 0x0000000008002a58 _etext = . + .fini 0x0000000008002ac8 0x4 /usr/lib/gcc/arm-none-eabi/10.3.1/thumb/v7e-m+fp/hard/crti.o + 0x0000000008002ac8 _fini + .fini 0x0000000008002acc 0x8 /usr/lib/gcc/arm-none-eabi/10.3.1/thumb/v7e-m+fp/hard/crtn.o + 0x0000000008002ad4 . = ALIGN (0x4) + 0x0000000008002ad4 _etext = . -.vfp11_veneer 0x0000000008002a58 0x0 - .vfp11_veneer 0x0000000008002a58 0x0 linker stubs +.vfp11_veneer 0x0000000008002ad4 0x0 + .vfp11_veneer 0x0000000008002ad4 0x0 linker stubs -.v4_bx 0x0000000008002a58 0x0 - .v4_bx 0x0000000008002a58 0x0 linker stubs +.v4_bx 0x0000000008002ad4 0x0 + .v4_bx 0x0000000008002ad4 0x0 linker stubs -.iplt 0x0000000008002a58 0x0 - .iplt 0x0000000008002a58 0x0 /usr/lib/gcc/arm-none-eabi/10.3.1/thumb/v7e-m+fp/hard/crtbegin.o +.iplt 0x0000000008002ad4 0x0 + .iplt 0x0000000008002ad4 0x0 /usr/lib/gcc/arm-none-eabi/10.3.1/thumb/v7e-m+fp/hard/crtbegin.o -.rodata 0x0000000008002a58 0x248 - 0x0000000008002a58 . = ALIGN (0x4) +.rodata 0x0000000008002ad4 0x468 + 0x0000000008002ad4 . = ALIGN (0x4) *(.rodata) - .rodata 0x0000000008002a58 0x6c build/main.o + .rodata 0x0000000008002ad4 0x6c build/main.o *(.rodata*) .rodata.Dump_Flash_UART.str1.4 - 0x0000000008002ac4 0x6 build/main.o + 0x0000000008002b40 0x6 build/main.o 0xb (size before relaxing) - *fill* 0x0000000008002aca 0x2 + *fill* 0x0000000008002b46 0x2 .rodata.Flash_From_UART.str1.4 - 0x0000000008002acc 0x2b build/main.o - *fill* 0x0000000008002af7 0x1 + 0x0000000008002b48 0x2b build/main.o + *fill* 0x0000000008002b73 0x1 .rodata.main.str1.4 - 0x0000000008002af8 0x151 build/main.o - *fill* 0x0000000008002c49 0x3 + 0x0000000008002b74 0x371 build/main.o + *fill* 0x0000000008002ee5 0x3 .rodata.AHBPrescTable - 0x0000000008002c4c 0x10 build/system_stm32f4xx.o - 0x0000000008002c4c AHBPrescTable + 0x0000000008002ee8 0x10 build/system_stm32f4xx.o + 0x0000000008002ee8 AHBPrescTable .rodata.APBPrescTable - 0x0000000008002c5c 0x8 build/system_stm32f4xx.o - 0x0000000008002c5c APBPrescTable + 0x0000000008002ef8 0x8 build/system_stm32f4xx.o + 0x0000000008002ef8 APBPrescTable .rodata.str1.4 - 0x0000000008002c64 0x13 /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-nano-svfprintf.o) - *fill* 0x0000000008002c77 0x1 + 0x0000000008002f00 0x13 /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-nano-svfprintf.o) + *fill* 0x0000000008002f13 0x1 .rodata.str1.4 - 0x0000000008002c78 0x25 /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-nano-vfprintf_i.o) - 0x0000000008002ca0 . = ALIGN (0x4) - *fill* 0x0000000008002c9d 0x3 + 0x0000000008002f14 0x25 /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-nano-vfprintf_i.o) + 0x0000000008002f3c . = ALIGN (0x4) + *fill* 0x0000000008002f39 0x3 -.ARM.extab 0x0000000008002ca0 0x0 - 0x0000000008002ca0 . = ALIGN (0x4) +.ARM.extab 0x0000000008002f3c 0x0 + 0x0000000008002f3c . = ALIGN (0x4) *(.ARM.extab* .gnu.linkonce.armextab.*) - 0x0000000008002ca0 . = ALIGN (0x4) + 0x0000000008002f3c . = ALIGN (0x4) -.ARM 0x0000000008002ca0 0x8 - 0x0000000008002ca0 . = ALIGN (0x4) - 0x0000000008002ca0 __exidx_start = . +.ARM 0x0000000008002f3c 0x8 + 0x0000000008002f3c . = ALIGN (0x4) + 0x0000000008002f3c __exidx_start = . *(.ARM.exidx*) - .ARM.exidx 0x0000000008002ca0 0x8 /usr/lib/gcc/arm-none-eabi/10.3.1/thumb/v7e-m+fp/hard/libgcc.a(_udivmoddi4.o) - 0x0000000008002ca8 __exidx_end = . - 0x0000000008002ca8 . = ALIGN (0x4) + .ARM.exidx 0x0000000008002f3c 0x8 /usr/lib/gcc/arm-none-eabi/10.3.1/thumb/v7e-m+fp/hard/libgcc.a(_udivmoddi4.o) + 0x0000000008002f44 __exidx_end = . + 0x0000000008002f44 . = ALIGN (0x4) -.preinit_array 0x0000000008002ca8 0x0 - 0x0000000008002ca8 . = ALIGN (0x4) - 0x0000000008002ca8 PROVIDE (__preinit_array_start = .) +.preinit_array 0x0000000008002f44 0x0 + 0x0000000008002f44 . = ALIGN (0x4) + 0x0000000008002f44 PROVIDE (__preinit_array_start = .) *(.preinit_array*) - 0x0000000008002ca8 PROVIDE (__preinit_array_end = .) - 0x0000000008002ca8 . = ALIGN (0x4) + 0x0000000008002f44 PROVIDE (__preinit_array_end = .) + 0x0000000008002f44 . = ALIGN (0x4) -.init_array 0x0000000008002ca8 0x4 - 0x0000000008002ca8 . = ALIGN (0x4) - 0x0000000008002ca8 PROVIDE (__init_array_start = .) +.init_array 0x0000000008002f44 0x4 + 0x0000000008002f44 . = ALIGN (0x4) + 0x0000000008002f44 PROVIDE (__init_array_start = .) *(SORT_BY_NAME(.init_array.*)) *(.init_array*) - .init_array 0x0000000008002ca8 0x4 /usr/lib/gcc/arm-none-eabi/10.3.1/thumb/v7e-m+fp/hard/crtbegin.o - 0x0000000008002cac PROVIDE (__init_array_end = .) - 0x0000000008002cac . = ALIGN (0x4) + .init_array 0x0000000008002f44 0x4 /usr/lib/gcc/arm-none-eabi/10.3.1/thumb/v7e-m+fp/hard/crtbegin.o + 0x0000000008002f48 PROVIDE (__init_array_end = .) + 0x0000000008002f48 . = ALIGN (0x4) -.fini_array 0x0000000008002cac 0x4 - 0x0000000008002cac . = ALIGN (0x4) - 0x0000000008002cac PROVIDE (__fini_array_start = .) +.fini_array 0x0000000008002f48 0x4 + 0x0000000008002f48 . = ALIGN (0x4) + 0x0000000008002f48 PROVIDE (__fini_array_start = .) *(SORT_BY_NAME(.fini_array.*)) *(.fini_array*) - .fini_array 0x0000000008002cac 0x4 /usr/lib/gcc/arm-none-eabi/10.3.1/thumb/v7e-m+fp/hard/crtbegin.o - 0x0000000008002cb0 PROVIDE (__fini_array_end = .) - 0x0000000008002cb0 . = ALIGN (0x4) - 0x0000000008002cb0 _sidata = LOADADDR (.data) + .fini_array 0x0000000008002f48 0x4 /usr/lib/gcc/arm-none-eabi/10.3.1/thumb/v7e-m+fp/hard/crtbegin.o + 0x0000000008002f4c PROVIDE (__fini_array_end = .) + 0x0000000008002f4c . = ALIGN (0x4) + 0x0000000008002f4c _sidata = LOADADDR (.data) -.rel.dyn 0x0000000008002cb0 0x0 - .rel.iplt 0x0000000008002cb0 0x0 /usr/lib/gcc/arm-none-eabi/10.3.1/thumb/v7e-m+fp/hard/crtbegin.o +.rel.dyn 0x0000000008002f4c 0x0 + .rel.iplt 0x0000000008002f4c 0x0 /usr/lib/gcc/arm-none-eabi/10.3.1/thumb/v7e-m+fp/hard/crtbegin.o -.data 0x0000000020000000 0x70 load address 0x0000000008002cb0 +.data 0x0000000020000000 0x70 load address 0x0000000008002f4c 0x0000000020000000 . = ALIGN (0x4) 0x0000000020000000 _sdata = . *(.data) @@ -1284,17 +1284,17 @@ LOAD /usr/lib/gcc/arm-none-eabi/10.3.1/thumb/v7e-m+fp/hard/crtn.o 0x0000000020000070 _edata = . .tm_clone_table - 0x0000000020000070 0x0 load address 0x0000000008002d20 + 0x0000000020000070 0x0 load address 0x0000000008002fbc .tm_clone_table 0x0000000020000070 0x0 /usr/lib/gcc/arm-none-eabi/10.3.1/thumb/v7e-m+fp/hard/crtbegin.o .tm_clone_table 0x0000000020000070 0x0 /usr/lib/gcc/arm-none-eabi/10.3.1/thumb/v7e-m+fp/hard/crtend.o -.igot.plt 0x0000000020000070 0x0 load address 0x0000000008002d20 +.igot.plt 0x0000000020000070 0x0 load address 0x0000000008002fbc .igot.plt 0x0000000020000070 0x0 /usr/lib/gcc/arm-none-eabi/10.3.1/thumb/v7e-m+fp/hard/crtbegin.o 0x0000000020000070 . = ALIGN (0x4) -.bss 0x0000000020000070 0x78 load address 0x0000000008002d20 +.bss 0x0000000020000070 0x78 load address 0x0000000008002fbc 0x0000000020000070 _sbss = . 0x0000000020000070 __bss_start__ = _sbss *(.bss) @@ -1317,7 +1317,7 @@ LOAD /usr/lib/gcc/arm-none-eabi/10.3.1/thumb/v7e-m+fp/hard/crtn.o 0x00000000200000e8 __bss_end__ = _ebss ._user_heap_stack - 0x00000000200000e8 0x600 load address 0x0000000008002d20 + 0x00000000200000e8 0x600 load address 0x0000000008002fbc 0x00000000200000e8 . = ALIGN (0x8) [!provide] PROVIDE (end = .) 0x00000000200000e8 PROVIDE (_end = .) @@ -1446,75 +1446,75 @@ LOAD /usr/lib/gcc/arm-none-eabi/10.3.1/thumb/v7e-m+fp/hard/libgcc.a .comment 0x0000000000000033 0x34 /usr/lib/gcc/arm-none-eabi/10.3.1/thumb/v7e-m+fp/hard/libgcc.a(_udivmoddi4.o) .comment 0x0000000000000033 0x34 /usr/lib/gcc/arm-none-eabi/10.3.1/thumb/v7e-m+fp/hard/crtend.o -.debug_info 0x0000000000000000 0x12c94 - .debug_info 0x0000000000000000 0x1b5b build/main.o - .debug_info 0x0000000000001b5b 0x15a build/stm32f4xx_it.o - .debug_info 0x0000000000001cb5 0xa9a build/stm32f4xx_hal_msp.o - .debug_info 0x000000000000274f 0x430e build/stm32f4xx_hal_uart.o - .debug_info 0x0000000000006a5d 0xbf8 build/stm32f4xx_hal_rcc.o - .debug_info 0x0000000000007655 0x84e build/stm32f4xx_hal_gpio.o - .debug_info 0x0000000000007ea3 0x110c build/stm32f4xx_hal_cortex.o - .debug_info 0x0000000000008faf 0xa53 build/stm32f4xx_hal.o - .debug_info 0x0000000000009a02 0x5cd build/system_stm32f4xx.o - .debug_info 0x0000000000009fcf 0x16d build/sysmem.o - .debug_info 0x000000000000a13c 0x22 build/startup_stm32f401xe.o - .debug_info 0x000000000000a15e 0x7ae /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-errno.o) - .debug_info 0x000000000000a90c 0x863 /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-impure.o) - .debug_info 0x000000000000b16f 0x11a /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-init.o) - .debug_info 0x000000000000b289 0x832 /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-malloc.o) - .debug_info 0x000000000000babb 0x26 /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-memcpy.o) - .debug_info 0x000000000000bae1 0x137 /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-memset.o) - .debug_info 0x000000000000bc18 0x903 /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-nano-freer.o) - .debug_info 0x000000000000c51b 0xa0c /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-nano-mallocr.o) - .debug_info 0x000000000000cf27 0x828 /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-sbrkr.o) - .debug_info 0x000000000000d74f 0x926 /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-sprintf.o) - .debug_info 0x000000000000e075 0x26 /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-strlen.o) - .debug_info 0x000000000000e09b 0x7dc /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-mlock.o) - .debug_info 0x000000000000e877 0x10d5 /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-nano-svfprintf.o) - .debug_info 0x000000000000f94c 0xe9e /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-nano-vfprintf_i.o) - .debug_info 0x00000000000107ea 0xa7e /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-reent.o) - .debug_info 0x0000000000011268 0x26 /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-memchr.o) - .debug_info 0x000000000001128e 0x152 /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-memmove.o) - .debug_info 0x00000000000113e0 0x911 /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-nano-reallocr.o) - .debug_info 0x0000000000011cf1 0x840 /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-nano-msizer.o) - .debug_info 0x0000000000012531 0x26 /usr/lib/gcc/arm-none-eabi/10.3.1/thumb/v7e-m+fp/hard/libgcc.a(_aeabi_uldivmod.o) - .debug_info 0x0000000000012557 0x717 /usr/lib/gcc/arm-none-eabi/10.3.1/thumb/v7e-m+fp/hard/libgcc.a(_udivmoddi4.o) - .debug_info 0x0000000000012c6e 0x26 /usr/lib/gcc/arm-none-eabi/10.3.1/thumb/v7e-m+fp/hard/libgcc.a(_dvmd_tls.o) +.debug_info 0x0000000000000000 0x12dbb + .debug_info 0x0000000000000000 0x1c82 build/main.o + .debug_info 0x0000000000001c82 0x15a build/stm32f4xx_it.o + .debug_info 0x0000000000001ddc 0xa9a build/stm32f4xx_hal_msp.o + .debug_info 0x0000000000002876 0x430e build/stm32f4xx_hal_uart.o + .debug_info 0x0000000000006b84 0xbf8 build/stm32f4xx_hal_rcc.o + .debug_info 0x000000000000777c 0x84e build/stm32f4xx_hal_gpio.o + .debug_info 0x0000000000007fca 0x110c build/stm32f4xx_hal_cortex.o + .debug_info 0x00000000000090d6 0xa53 build/stm32f4xx_hal.o + .debug_info 0x0000000000009b29 0x5cd build/system_stm32f4xx.o + .debug_info 0x000000000000a0f6 0x16d build/sysmem.o + .debug_info 0x000000000000a263 0x22 build/startup_stm32f401xe.o + .debug_info 0x000000000000a285 0x7ae /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-errno.o) + .debug_info 0x000000000000aa33 0x863 /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-impure.o) + .debug_info 0x000000000000b296 0x11a /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-init.o) + .debug_info 0x000000000000b3b0 0x832 /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-malloc.o) + .debug_info 0x000000000000bbe2 0x26 /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-memcpy.o) + .debug_info 0x000000000000bc08 0x137 /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-memset.o) + .debug_info 0x000000000000bd3f 0x903 /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-nano-freer.o) + .debug_info 0x000000000000c642 0xa0c /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-nano-mallocr.o) + .debug_info 0x000000000000d04e 0x828 /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-sbrkr.o) + .debug_info 0x000000000000d876 0x926 /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-sprintf.o) + .debug_info 0x000000000000e19c 0x26 /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-strlen.o) + .debug_info 0x000000000000e1c2 0x7dc /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-mlock.o) + .debug_info 0x000000000000e99e 0x10d5 /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-nano-svfprintf.o) + .debug_info 0x000000000000fa73 0xe9e /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-nano-vfprintf_i.o) + .debug_info 0x0000000000010911 0xa7e /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-reent.o) + .debug_info 0x000000000001138f 0x26 /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-memchr.o) + .debug_info 0x00000000000113b5 0x152 /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-memmove.o) + .debug_info 0x0000000000011507 0x911 /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-nano-reallocr.o) + .debug_info 0x0000000000011e18 0x840 /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-nano-msizer.o) + .debug_info 0x0000000000012658 0x26 /usr/lib/gcc/arm-none-eabi/10.3.1/thumb/v7e-m+fp/hard/libgcc.a(_aeabi_uldivmod.o) + .debug_info 0x000000000001267e 0x717 /usr/lib/gcc/arm-none-eabi/10.3.1/thumb/v7e-m+fp/hard/libgcc.a(_udivmoddi4.o) + .debug_info 0x0000000000012d95 0x26 /usr/lib/gcc/arm-none-eabi/10.3.1/thumb/v7e-m+fp/hard/libgcc.a(_dvmd_tls.o) -.debug_abbrev 0x0000000000000000 0x32b5 - .debug_abbrev 0x0000000000000000 0x310 build/main.o - .debug_abbrev 0x0000000000000310 0x81 build/stm32f4xx_it.o - .debug_abbrev 0x0000000000000391 0x199 build/stm32f4xx_hal_msp.o - .debug_abbrev 0x000000000000052a 0x35e build/stm32f4xx_hal_uart.o - .debug_abbrev 0x0000000000000888 0x2aa build/stm32f4xx_hal_rcc.o - .debug_abbrev 0x0000000000000b32 0x22b build/stm32f4xx_hal_gpio.o - .debug_abbrev 0x0000000000000d5d 0x379 build/stm32f4xx_hal_cortex.o - .debug_abbrev 0x00000000000010d6 0x23a build/stm32f4xx_hal.o - .debug_abbrev 0x0000000000001310 0x11b build/system_stm32f4xx.o - .debug_abbrev 0x000000000000142b 0xea build/sysmem.o - .debug_abbrev 0x0000000000001515 0x12 build/startup_stm32f401xe.o - .debug_abbrev 0x0000000000001527 0x157 /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-errno.o) - .debug_abbrev 0x000000000000167e 0x151 /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-impure.o) - .debug_abbrev 0x00000000000017cf 0xcc /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-init.o) - .debug_abbrev 0x000000000000189b 0x1b6 /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-malloc.o) - .debug_abbrev 0x0000000000001a51 0x14 /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-memcpy.o) - .debug_abbrev 0x0000000000001a65 0xb4 /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-memset.o) - .debug_abbrev 0x0000000000001b19 0x235 /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-nano-freer.o) - .debug_abbrev 0x0000000000001d4e 0x290 /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-nano-mallocr.o) - .debug_abbrev 0x0000000000001fde 0x1d6 /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-sbrkr.o) - .debug_abbrev 0x00000000000021b4 0x213 /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-sprintf.o) - .debug_abbrev 0x00000000000023c7 0x14 /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-strlen.o) - .debug_abbrev 0x00000000000023db 0x189 /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-mlock.o) - .debug_abbrev 0x0000000000002564 0x2ca /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-nano-svfprintf.o) - .debug_abbrev 0x000000000000282e 0x25c /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-nano-vfprintf_i.o) - .debug_abbrev 0x0000000000002a8a 0x265 /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-reent.o) - .debug_abbrev 0x0000000000002cef 0x14 /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-memchr.o) - .debug_abbrev 0x0000000000002d03 0xc0 /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-memmove.o) - .debug_abbrev 0x0000000000002dc3 0x1d6 /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-nano-reallocr.o) - .debug_abbrev 0x0000000000002f99 0x191 /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-nano-msizer.o) - .debug_abbrev 0x000000000000312a 0x14 /usr/lib/gcc/arm-none-eabi/10.3.1/thumb/v7e-m+fp/hard/libgcc.a(_aeabi_uldivmod.o) - .debug_abbrev 0x000000000000313e 0x163 /usr/lib/gcc/arm-none-eabi/10.3.1/thumb/v7e-m+fp/hard/libgcc.a(_udivmoddi4.o) - .debug_abbrev 0x00000000000032a1 0x14 /usr/lib/gcc/arm-none-eabi/10.3.1/thumb/v7e-m+fp/hard/libgcc.a(_dvmd_tls.o) +.debug_abbrev 0x0000000000000000 0x32c9 + .debug_abbrev 0x0000000000000000 0x324 build/main.o + .debug_abbrev 0x0000000000000324 0x81 build/stm32f4xx_it.o + .debug_abbrev 0x00000000000003a5 0x199 build/stm32f4xx_hal_msp.o + .debug_abbrev 0x000000000000053e 0x35e build/stm32f4xx_hal_uart.o + .debug_abbrev 0x000000000000089c 0x2aa build/stm32f4xx_hal_rcc.o + .debug_abbrev 0x0000000000000b46 0x22b build/stm32f4xx_hal_gpio.o + .debug_abbrev 0x0000000000000d71 0x379 build/stm32f4xx_hal_cortex.o + .debug_abbrev 0x00000000000010ea 0x23a build/stm32f4xx_hal.o + .debug_abbrev 0x0000000000001324 0x11b build/system_stm32f4xx.o + .debug_abbrev 0x000000000000143f 0xea build/sysmem.o + .debug_abbrev 0x0000000000001529 0x12 build/startup_stm32f401xe.o + .debug_abbrev 0x000000000000153b 0x157 /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-errno.o) + .debug_abbrev 0x0000000000001692 0x151 /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-impure.o) + .debug_abbrev 0x00000000000017e3 0xcc /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-init.o) + .debug_abbrev 0x00000000000018af 0x1b6 /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-malloc.o) + .debug_abbrev 0x0000000000001a65 0x14 /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-memcpy.o) + .debug_abbrev 0x0000000000001a79 0xb4 /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-memset.o) + .debug_abbrev 0x0000000000001b2d 0x235 /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-nano-freer.o) + .debug_abbrev 0x0000000000001d62 0x290 /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-nano-mallocr.o) + .debug_abbrev 0x0000000000001ff2 0x1d6 /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-sbrkr.o) + .debug_abbrev 0x00000000000021c8 0x213 /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-sprintf.o) + .debug_abbrev 0x00000000000023db 0x14 /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-strlen.o) + .debug_abbrev 0x00000000000023ef 0x189 /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-mlock.o) + .debug_abbrev 0x0000000000002578 0x2ca /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-nano-svfprintf.o) + .debug_abbrev 0x0000000000002842 0x25c /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-nano-vfprintf_i.o) + .debug_abbrev 0x0000000000002a9e 0x265 /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-reent.o) + .debug_abbrev 0x0000000000002d03 0x14 /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-memchr.o) + .debug_abbrev 0x0000000000002d17 0xc0 /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-memmove.o) + .debug_abbrev 0x0000000000002dd7 0x1d6 /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-nano-reallocr.o) + .debug_abbrev 0x0000000000002fad 0x191 /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-nano-msizer.o) + .debug_abbrev 0x000000000000313e 0x14 /usr/lib/gcc/arm-none-eabi/10.3.1/thumb/v7e-m+fp/hard/libgcc.a(_aeabi_uldivmod.o) + .debug_abbrev 0x0000000000003152 0x163 /usr/lib/gcc/arm-none-eabi/10.3.1/thumb/v7e-m+fp/hard/libgcc.a(_udivmoddi4.o) + .debug_abbrev 0x00000000000032b5 0x14 /usr/lib/gcc/arm-none-eabi/10.3.1/thumb/v7e-m+fp/hard/libgcc.a(_dvmd_tls.o) .debug_loc 0x0000000000000000 0x9c68 .debug_loc 0x0000000000000000 0x724 build/main.o @@ -1610,58 +1610,58 @@ LOAD /usr/lib/gcc/arm-none-eabi/10.3.1/thumb/v7e-m+fp/hard/libgcc.a .debug_aranges 0x00000000000008e8 0x20 /usr/lib/gcc/arm-none-eabi/10.3.1/thumb/v7e-m+fp/hard/libgcc.a(_dvmd_tls.o) -.debug_ranges 0x0000000000000000 0x878 - .debug_ranges 0x0000000000000000 0xe0 build/main.o - .debug_ranges 0x00000000000000e0 0x50 build/stm32f4xx_it.o - .debug_ranges 0x0000000000000130 0x20 build/stm32f4xx_hal_msp.o - .debug_ranges 0x0000000000000150 0x1f8 build/stm32f4xx_hal_uart.o - .debug_ranges 0x0000000000000348 0x90 build/stm32f4xx_hal_rcc.o - .debug_ranges 0x00000000000003d8 0x48 build/stm32f4xx_hal_gpio.o - .debug_ranges 0x0000000000000420 0x110 build/stm32f4xx_hal_cortex.o - .debug_ranges 0x0000000000000530 0xe0 build/stm32f4xx_hal.o - .debug_ranges 0x0000000000000610 0x18 build/system_stm32f4xx.o - .debug_ranges 0x0000000000000628 0x10 build/sysmem.o - .debug_ranges 0x0000000000000638 0x20 build/startup_stm32f401xe.o - .debug_ranges 0x0000000000000658 0x20 /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-nano-freer.o) - .debug_ranges 0x0000000000000678 0x38 /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-nano-mallocr.o) - .debug_ranges 0x00000000000006b0 0x40 /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-nano-svfprintf.o) - .debug_ranges 0x00000000000006f0 0xa0 /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-nano-vfprintf_i.o) - .debug_ranges 0x0000000000000790 0xe8 /usr/lib/gcc/arm-none-eabi/10.3.1/thumb/v7e-m+fp/hard/libgcc.a(_udivmoddi4.o) +.debug_ranges 0x0000000000000000 0x858 + .debug_ranges 0x0000000000000000 0xc0 build/main.o + .debug_ranges 0x00000000000000c0 0x50 build/stm32f4xx_it.o + .debug_ranges 0x0000000000000110 0x20 build/stm32f4xx_hal_msp.o + .debug_ranges 0x0000000000000130 0x1f8 build/stm32f4xx_hal_uart.o + .debug_ranges 0x0000000000000328 0x90 build/stm32f4xx_hal_rcc.o + .debug_ranges 0x00000000000003b8 0x48 build/stm32f4xx_hal_gpio.o + .debug_ranges 0x0000000000000400 0x110 build/stm32f4xx_hal_cortex.o + .debug_ranges 0x0000000000000510 0xe0 build/stm32f4xx_hal.o + .debug_ranges 0x00000000000005f0 0x18 build/system_stm32f4xx.o + .debug_ranges 0x0000000000000608 0x10 build/sysmem.o + .debug_ranges 0x0000000000000618 0x20 build/startup_stm32f401xe.o + .debug_ranges 0x0000000000000638 0x20 /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-nano-freer.o) + .debug_ranges 0x0000000000000658 0x38 /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-nano-mallocr.o) + .debug_ranges 0x0000000000000690 0x40 /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-nano-svfprintf.o) + .debug_ranges 0x00000000000006d0 0xa0 /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-nano-vfprintf_i.o) + .debug_ranges 0x0000000000000770 0xe8 /usr/lib/gcc/arm-none-eabi/10.3.1/thumb/v7e-m+fp/hard/libgcc.a(_udivmoddi4.o) -.debug_line 0x0000000000000000 0x9e5c - .debug_line 0x0000000000000000 0x7e6 build/main.o - .debug_line 0x00000000000007e6 0x179 build/stm32f4xx_it.o - .debug_line 0x000000000000095f 0x1dd build/stm32f4xx_hal_msp.o - .debug_line 0x0000000000000b3c 0x4271 build/stm32f4xx_hal_uart.o - .debug_line 0x0000000000004dad 0xac0 build/stm32f4xx_hal_rcc.o - .debug_line 0x000000000000586d 0x63a build/stm32f4xx_hal_gpio.o - .debug_line 0x0000000000005ea7 0x723 build/stm32f4xx_hal_cortex.o - .debug_line 0x00000000000065ca 0x4dc build/stm32f4xx_hal.o - .debug_line 0x0000000000006aa6 0x1c7 build/system_stm32f4xx.o - .debug_line 0x0000000000006c6d 0xf9 build/sysmem.o - .debug_line 0x0000000000006d66 0x76 build/startup_stm32f401xe.o - .debug_line 0x0000000000006ddc 0x109 /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-errno.o) - .debug_line 0x0000000000006ee5 0xe4 /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-impure.o) - .debug_line 0x0000000000006fc9 0x138 /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-init.o) - .debug_line 0x0000000000007101 0x15f /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-malloc.o) - .debug_line 0x0000000000007260 0xbe /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-memcpy.o) - .debug_line 0x000000000000731e 0x1bf /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-memset.o) - .debug_line 0x00000000000074dd 0x2ca /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-nano-freer.o) - .debug_line 0x00000000000077a7 0x2d0 /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-nano-mallocr.o) - .debug_line 0x0000000000007a77 0x183 /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-sbrkr.o) - .debug_line 0x0000000000007bfa 0x209 /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-sprintf.o) - .debug_line 0x0000000000007e03 0xaf /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-strlen.o) - .debug_line 0x0000000000007eb2 0x13e /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-mlock.o) - .debug_line 0x0000000000007ff0 0x83a /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-nano-svfprintf.o) - .debug_line 0x000000000000882a 0x746 /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-nano-vfprintf_i.o) - .debug_line 0x0000000000008f70 0x2c7 /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-reent.o) - .debug_line 0x0000000000009237 0xa4 /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-memchr.o) - .debug_line 0x00000000000092db 0x1ee /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-memmove.o) - .debug_line 0x00000000000094c9 0x1c5 /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-nano-reallocr.o) - .debug_line 0x000000000000968e 0x160 /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-nano-msizer.o) - .debug_line 0x00000000000097ee 0x60 /usr/lib/gcc/arm-none-eabi/10.3.1/thumb/v7e-m+fp/hard/libgcc.a(_aeabi_uldivmod.o) - .debug_line 0x000000000000984e 0x5ae /usr/lib/gcc/arm-none-eabi/10.3.1/thumb/v7e-m+fp/hard/libgcc.a(_udivmoddi4.o) - .debug_line 0x0000000000009dfc 0x60 /usr/lib/gcc/arm-none-eabi/10.3.1/thumb/v7e-m+fp/hard/libgcc.a(_dvmd_tls.o) +.debug_line 0x0000000000000000 0x9e6f + .debug_line 0x0000000000000000 0x7f9 build/main.o + .debug_line 0x00000000000007f9 0x179 build/stm32f4xx_it.o + .debug_line 0x0000000000000972 0x1dd build/stm32f4xx_hal_msp.o + .debug_line 0x0000000000000b4f 0x4271 build/stm32f4xx_hal_uart.o + .debug_line 0x0000000000004dc0 0xac0 build/stm32f4xx_hal_rcc.o + .debug_line 0x0000000000005880 0x63a build/stm32f4xx_hal_gpio.o + .debug_line 0x0000000000005eba 0x723 build/stm32f4xx_hal_cortex.o + .debug_line 0x00000000000065dd 0x4dc build/stm32f4xx_hal.o + .debug_line 0x0000000000006ab9 0x1c7 build/system_stm32f4xx.o + .debug_line 0x0000000000006c80 0xf9 build/sysmem.o + .debug_line 0x0000000000006d79 0x76 build/startup_stm32f401xe.o + .debug_line 0x0000000000006def 0x109 /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-errno.o) + .debug_line 0x0000000000006ef8 0xe4 /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-impure.o) + .debug_line 0x0000000000006fdc 0x138 /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-init.o) + .debug_line 0x0000000000007114 0x15f /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-malloc.o) + .debug_line 0x0000000000007273 0xbe /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-memcpy.o) + .debug_line 0x0000000000007331 0x1bf /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-memset.o) + .debug_line 0x00000000000074f0 0x2ca /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-nano-freer.o) + .debug_line 0x00000000000077ba 0x2d0 /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-nano-mallocr.o) + .debug_line 0x0000000000007a8a 0x183 /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-sbrkr.o) + .debug_line 0x0000000000007c0d 0x209 /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-sprintf.o) + .debug_line 0x0000000000007e16 0xaf /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-strlen.o) + .debug_line 0x0000000000007ec5 0x13e /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-mlock.o) + .debug_line 0x0000000000008003 0x83a /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-nano-svfprintf.o) + .debug_line 0x000000000000883d 0x746 /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-nano-vfprintf_i.o) + .debug_line 0x0000000000008f83 0x2c7 /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-reent.o) + .debug_line 0x000000000000924a 0xa4 /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-memchr.o) + .debug_line 0x00000000000092ee 0x1ee /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-memmove.o) + .debug_line 0x00000000000094dc 0x1c5 /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-nano-reallocr.o) + .debug_line 0x00000000000096a1 0x160 /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(lib_a-nano-msizer.o) + .debug_line 0x0000000000009801 0x60 /usr/lib/gcc/arm-none-eabi/10.3.1/thumb/v7e-m+fp/hard/libgcc.a(_aeabi_uldivmod.o) + .debug_line 0x0000000000009861 0x5ae /usr/lib/gcc/arm-none-eabi/10.3.1/thumb/v7e-m+fp/hard/libgcc.a(_udivmoddi4.o) + .debug_line 0x0000000000009e0f 0x60 /usr/lib/gcc/arm-none-eabi/10.3.1/thumb/v7e-m+fp/hard/libgcc.a(_dvmd_tls.o) .debug_str 0x0000000000000000 0x36b2 .debug_str 0x0000000000000000 0xad6 build/main.o diff --git a/build/main.lst b/build/main.lst index 89fe2f9..0085996 100644 --- a/build/main.lst +++ b/build/main.lst @@ -1,4 +1,4 @@ -ARM GAS /tmp/ccPiCTjg.s page 1 +ARM GAS /tmp/ccwcoXyi.s page 1 1 .cpu cortex-m4 @@ -58,7 +58,7 @@ ARM GAS /tmp/ccPiCTjg.s page 1 29:Core/Src/main.c **** void SystemClock_Config(void); 30:Core/Src/main.c **** static void MX_GPIO_Init(void); 31:Core/Src/main.c **** static void MX_USART2_UART_Init(void); - ARM GAS /tmp/ccPiCTjg.s page 2 + ARM GAS /tmp/ccwcoXyi.s page 2 32:Core/Src/main.c **** @@ -94,336 +94,352 @@ ARM GAS /tmp/ccPiCTjg.s page 1 62:Core/Src/main.c **** sprintf(manufacturer, "0x%02X \r\n", man_id); 63:Core/Src/main.c **** sprintf(device, "0x%02X \r\n", dev_id); 64:Core/Src/main.c **** - 65:Core/Src/main.c **** debug_print("==========================================\r\n"); - 66:Core/Src/main.c **** debug_print("Manufacturer ID = \r\n"); - 67:Core/Src/main.c **** debug_print(manufacturer); - 68:Core/Src/main.c **** debug_print("Device ID = \r\n"); - 69:Core/Src/main.c **** debug_print(device); - 70:Core/Src/main.c **** debug_print("==========================================\r\n"); - 71:Core/Src/main.c **** - 72:Core/Src/main.c **** /* Infinite loop */ - 73:Core/Src/main.c **** while (1) - 74:Core/Src/main.c **** { - 75:Core/Src/main.c **** debug_print("Hello welcome to the EEPROM programmer! What would you like to do?\r\n"); - 76:Core/Src/main.c **** debug_print("[1] Dump Rom as char\r\n"); - 77:Core/Src/main.c **** debug_print("[2] Erase chip\r\n"); - 78:Core/Src/main.c **** debug_print("[3] Program chip via UART\r\n"); - 79:Core/Src/main.c **** uint8_t resp; - 80:Core/Src/main.c **** HAL_UART_Receive(&huart2, &resp, 1, HAL_MAX_DELAY); - 81:Core/Src/main.c **** - 82:Core/Src/main.c **** switch (resp) - 83:Core/Src/main.c **** { - 84:Core/Src/main.c **** case 0x31: - 85:Core/Src/main.c **** debug_print("Dumping ROM...\r\n"); - 86:Core/Src/main.c **** Dump_Flash_UART(1); - 87:Core/Src/main.c **** break; - 88:Core/Src/main.c **** case 0x32: - ARM GAS /tmp/ccPiCTjg.s page 3 + 65:Core/Src/main.c **** debug_print("==================================================================================== + 66:Core/Src/main.c **** debug_print(" _____ _____ _____ _____ _____ _____\r\n"); + 67:Core/Src/main.c **** debug_print("| __| __| _ | __ | | | ___ ___ ___ ___ ___ ___ _____ _____ ___ ___\ + 68:Core/Src/main.c **** debug_print("| __| __| __| -| | | | | | | . | _| . | . | _| .'| | | -_| _| + 69:Core/Src/main.c **** debug_print("|_____|_____|__| |__|__|_____|_|_|_| | _|_| |___|_ |_| |__,|_|_|_|_|_|_|___|_|\r + 70:Core/Src/main.c **** debug_print(" - Ayabusa 2025 |_| |___|\r\n"); + 71:Core/Src/main.c **** debug_print("==================================================================================== + 72:Core/Src/main.c **** + 73:Core/Src/main.c **** /* Infinite loop */ + 74:Core/Src/main.c **** while (1) + 75:Core/Src/main.c **** { + 76:Core/Src/main.c **** debug_print("Hello welcome to the EEPROM programmer! What would you like to do?\r\n"); + 77:Core/Src/main.c **** debug_print("[1] Dump Rom as char\r\n"); + 78:Core/Src/main.c **** debug_print("[2] Erase chip\r\n"); + 79:Core/Src/main.c **** debug_print("[3] Program chip via UART (ASCII mode)\r\n"); + 80:Core/Src/main.c **** debug_print("[4] Identify device\r\n"); + 81:Core/Src/main.c **** debug_print("[5] Dump Rom as file (ASCII mode)\r\n"); + 82:Core/Src/main.c **** uint8_t resp; + 83:Core/Src/main.c **** HAL_UART_Receive(&huart2, &resp, 1, HAL_MAX_DELAY); + 84:Core/Src/main.c **** + 85:Core/Src/main.c **** switch (resp) + 86:Core/Src/main.c **** { + 87:Core/Src/main.c **** case 0x31: + 88:Core/Src/main.c **** debug_print("Dumping ROM...\r\n"); + ARM GAS /tmp/ccwcoXyi.s page 3 - 89:Core/Src/main.c **** debug_print("Erasing Chip...\r\n"); - 90:Core/Src/main.c **** Chip_Erase(); - 91:Core/Src/main.c **** break; - 92:Core/Src/main.c **** case 0x33: - 93:Core/Src/main.c **** debug_print("Launching programming sequence...\r\n"); - 94:Core/Src/main.c **** Flash_From_UART(); - 95:Core/Src/main.c **** break; - 96:Core/Src/main.c **** default: - 97:Core/Src/main.c **** debug_print("Invalid input!\r\n"); + 89:Core/Src/main.c **** Dump_Flash_UART(1); + 90:Core/Src/main.c **** break; + 91:Core/Src/main.c **** case 0x32: + 92:Core/Src/main.c **** debug_print("Erasing Chip...\r\n"); + 93:Core/Src/main.c **** Chip_Erase(); + 94:Core/Src/main.c **** break; + 95:Core/Src/main.c **** case 0x33: + 96:Core/Src/main.c **** debug_print("Launching programming sequence...\r\n"); + 97:Core/Src/main.c **** Flash_From_UART(); 98:Core/Src/main.c **** break; - 99:Core/Src/main.c **** } - 100:Core/Src/main.c **** } - 101:Core/Src/main.c **** - 102:Core/Src/main.c **** } - 103:Core/Src/main.c **** - 104:Core/Src/main.c **** void Write_Address(int address){ - 105:Core/Src/main.c **** int pin_array[] = { - 106:Core/Src/main.c **** GPIO_PIN_0, GPIO_PIN_1, GPIO_PIN_2, GPIO_PIN_3, - 107:Core/Src/main.c **** GPIO_PIN_4, GPIO_PIN_5, GPIO_PIN_6, GPIO_PIN_7, - 108:Core/Src/main.c **** GPIO_PIN_8, GPIO_PIN_9, GPIO_PIN_10, GPIO_PIN_11, - 109:Core/Src/main.c **** GPIO_PIN_12, GPIO_PIN_13, - 110:Core/Src/main.c **** GPIO_PIN_0, GPIO_PIN_1, GPIO_PIN_2, GPIO_PIN_3, GPIO_PIN_4 // These last 3 are our PB pins not - 111:Core/Src/main.c **** }; - 112:Core/Src/main.c **** for(int i=0; i<19; i++){ - 113:Core/Src/main.c **** if(i<14){ - 114:Core/Src/main.c **** if((address >> i) & 1) HAL_GPIO_WritePin(GPIOC, pin_array[i], GPIO_PIN_SET); - 115:Core/Src/main.c **** else HAL_GPIO_WritePin(GPIOC, pin_array[i], GPIO_PIN_RESET); - 116:Core/Src/main.c **** } - 117:Core/Src/main.c **** else{ - 118:Core/Src/main.c **** if((address >> i) & 1) HAL_GPIO_WritePin(GPIOB, pin_array[i], GPIO_PIN_SET); - 119:Core/Src/main.c **** else HAL_GPIO_WritePin(GPIOB, pin_array[i], GPIO_PIN_RESET); - 120:Core/Src/main.c **** } - 121:Core/Src/main.c **** } - 122:Core/Src/main.c **** } - 123:Core/Src/main.c **** - 124:Core/Src/main.c **** int Receive_Data(void){ - 125:Core/Src/main.c **** Data_Pins_Init(0); // We make sure it's in input mode - 126:Core/Src/main.c **** int result = 0; - 127:Core/Src/main.c **** int pin_array[] = { - 128:Core/Src/main.c **** GPIO_PIN_0, GPIO_PIN_1, GPIO_PIN_11, GPIO_PIN_12, - 129:Core/Src/main.c **** GPIO_PIN_4, GPIO_PIN_5, GPIO_PIN_6, GPIO_PIN_7, - 130:Core/Src/main.c **** }; - 131:Core/Src/main.c **** for(int i=0; i<8; i++){ - 132:Core/Src/main.c **** if(HAL_GPIO_ReadPin(GPIOA, pin_array[i]) == GPIO_PIN_SET){ - 133:Core/Src/main.c **** result += 1 << i; - 134:Core/Src/main.c **** } - 135:Core/Src/main.c **** } - 136:Core/Src/main.c **** return result; - 137:Core/Src/main.c **** } - 138:Core/Src/main.c **** - 139:Core/Src/main.c **** void Write_Data(int value){ - 140:Core/Src/main.c **** Data_Pins_Init(1); // We make sure it's in output mode - 141:Core/Src/main.c **** int pin_array[] = { - 142:Core/Src/main.c **** GPIO_PIN_0, GPIO_PIN_1, GPIO_PIN_11, GPIO_PIN_12, - 143:Core/Src/main.c **** GPIO_PIN_4, GPIO_PIN_5, GPIO_PIN_6, GPIO_PIN_7, - 144:Core/Src/main.c **** }; - 145:Core/Src/main.c **** for(int i=0; i<8; i++){ - ARM GAS /tmp/ccPiCTjg.s page 4 + 99:Core/Src/main.c **** case 0x34: + 100:Core/Src/main.c **** debug_print("Identifying device...\r\n"); + 101:Core/Src/main.c **** debug_print("Manufacturer ID = \r\n"); + 102:Core/Src/main.c **** debug_print(manufacturer); + 103:Core/Src/main.c **** debug_print("Device ID = \r\n"); + 104:Core/Src/main.c **** debug_print(device); + 105:Core/Src/main.c **** break; + 106:Core/Src/main.c **** case 0x35: + 107:Core/Src/main.c **** debug_print("Dumping ROM as file, press any key...\r\n"); + 108:Core/Src/main.c **** uint8_t byte; + 109:Core/Src/main.c **** HAL_UART_Receive(&huart2, &byte, 1, HAL_MAX_DELAY); + 110:Core/Src/main.c **** Dump_Flash_UART(0); + 111:Core/Src/main.c **** while(1){} + 112:Core/Src/main.c **** default: + 113:Core/Src/main.c **** debug_print("Invalid input!\r\n"); + 114:Core/Src/main.c **** break; + 115:Core/Src/main.c **** } + 116:Core/Src/main.c **** } + 117:Core/Src/main.c **** + 118:Core/Src/main.c **** } + 119:Core/Src/main.c **** + 120:Core/Src/main.c **** void Write_Address(int address){ + 121:Core/Src/main.c **** int pin_array[] = { + 122:Core/Src/main.c **** GPIO_PIN_0, GPIO_PIN_1, GPIO_PIN_2, GPIO_PIN_3, + 123:Core/Src/main.c **** GPIO_PIN_4, GPIO_PIN_5, GPIO_PIN_6, GPIO_PIN_7, + 124:Core/Src/main.c **** GPIO_PIN_8, GPIO_PIN_9, GPIO_PIN_10, GPIO_PIN_11, + 125:Core/Src/main.c **** GPIO_PIN_12, GPIO_PIN_13, + 126:Core/Src/main.c **** GPIO_PIN_0, GPIO_PIN_1, GPIO_PIN_2, GPIO_PIN_3, GPIO_PIN_4 // These last 3 are our PB pins not + 127:Core/Src/main.c **** }; + 128:Core/Src/main.c **** for(int i=0; i<19; i++){ + 129:Core/Src/main.c **** if(i<14){ + 130:Core/Src/main.c **** if((address >> i) & 1) HAL_GPIO_WritePin(GPIOC, pin_array[i], GPIO_PIN_SET); + 131:Core/Src/main.c **** else HAL_GPIO_WritePin(GPIOC, pin_array[i], GPIO_PIN_RESET); + 132:Core/Src/main.c **** } + 133:Core/Src/main.c **** else{ + 134:Core/Src/main.c **** if((address >> i) & 1) HAL_GPIO_WritePin(GPIOB, pin_array[i], GPIO_PIN_SET); + 135:Core/Src/main.c **** else HAL_GPIO_WritePin(GPIOB, pin_array[i], GPIO_PIN_RESET); + 136:Core/Src/main.c **** } + 137:Core/Src/main.c **** } + 138:Core/Src/main.c **** } + 139:Core/Src/main.c **** + 140:Core/Src/main.c **** int Receive_Data(void){ + 141:Core/Src/main.c **** Data_Pins_Init(0); // We make sure it's in input mode + 142:Core/Src/main.c **** int result = 0; + 143:Core/Src/main.c **** int pin_array[] = { + 144:Core/Src/main.c **** GPIO_PIN_0, GPIO_PIN_1, GPIO_PIN_11, GPIO_PIN_12, + 145:Core/Src/main.c **** GPIO_PIN_4, GPIO_PIN_5, GPIO_PIN_6, GPIO_PIN_7, + ARM GAS /tmp/ccwcoXyi.s page 4 - 146:Core/Src/main.c **** if((value >> i) & 1) HAL_GPIO_WritePin(GPIOA, pin_array[i], GPIO_PIN_SET); - 147:Core/Src/main.c **** else HAL_GPIO_WritePin(GPIOA, pin_array[i], GPIO_PIN_RESET); - 148:Core/Src/main.c **** } - 149:Core/Src/main.c **** } - 150:Core/Src/main.c **** - 151:Core/Src/main.c **** // All arguments must be 0 (low) or 1 (high) - 152:Core/Src/main.c **** void Write_Command_Pins(int CE, int OE, int WE){ - 153:Core/Src/main.c **** HAL_GPIO_WritePin(GPIOA, GPIO_PIN_8, (CE) ? GPIO_PIN_SET : GPIO_PIN_RESET); - 154:Core/Src/main.c **** HAL_GPIO_WritePin(GPIOA, GPIO_PIN_9, (OE) ? GPIO_PIN_SET : GPIO_PIN_RESET); - 155:Core/Src/main.c **** HAL_GPIO_WritePin(GPIOA, GPIO_PIN_10,(WE) ? GPIO_PIN_SET : GPIO_PIN_RESET); - 156:Core/Src/main.c **** } - 157:Core/Src/main.c **** - 158:Core/Src/main.c **** void Write_Command(int addr, int data) { - 159:Core/Src/main.c **** Write_Command_Pins(1, 1, 1); - 160:Core/Src/main.c **** Write_Address(addr); - 161:Core/Src/main.c **** Write_Data(data); - 162:Core/Src/main.c **** Write_Command_Pins(0, 1, 1); - 163:Core/Src/main.c **** // 4. Pulse WE# low to latch data - 164:Core/Src/main.c **** Write_Command_Pins(0, 1, 0); // WE low - 165:Core/Src/main.c **** Write_Command_Pins(0, 1, 1); // WE high + 146:Core/Src/main.c **** }; + 147:Core/Src/main.c **** for(int i=0; i<8; i++){ + 148:Core/Src/main.c **** if(HAL_GPIO_ReadPin(GPIOA, pin_array[i]) == GPIO_PIN_SET){ + 149:Core/Src/main.c **** result += 1 << i; + 150:Core/Src/main.c **** } + 151:Core/Src/main.c **** } + 152:Core/Src/main.c **** return result; + 153:Core/Src/main.c **** } + 154:Core/Src/main.c **** + 155:Core/Src/main.c **** void Write_Data(int value){ + 156:Core/Src/main.c **** Data_Pins_Init(1); // We make sure it's in output mode + 157:Core/Src/main.c **** int pin_array[] = { + 158:Core/Src/main.c **** GPIO_PIN_0, GPIO_PIN_1, GPIO_PIN_11, GPIO_PIN_12, + 159:Core/Src/main.c **** GPIO_PIN_4, GPIO_PIN_5, GPIO_PIN_6, GPIO_PIN_7, + 160:Core/Src/main.c **** }; + 161:Core/Src/main.c **** for(int i=0; i<8; i++){ + 162:Core/Src/main.c **** if((value >> i) & 1) HAL_GPIO_WritePin(GPIOA, pin_array[i], GPIO_PIN_SET); + 163:Core/Src/main.c **** else HAL_GPIO_WritePin(GPIOA, pin_array[i], GPIO_PIN_RESET); + 164:Core/Src/main.c **** } + 165:Core/Src/main.c **** } 166:Core/Src/main.c **** - 167:Core/Src/main.c **** // 5. Deassert CE# - 168:Core/Src/main.c **** Write_Command_Pins(1, 1, 1); - 169:Core/Src/main.c **** } - 170:Core/Src/main.c **** - 171:Core/Src/main.c **** int Flash_ReadByte(int addr) { - 172:Core/Src/main.c **** Write_Address(addr); - 173:Core/Src/main.c **** Data_Pins_Init(0); - 174:Core/Src/main.c **** Write_Command_Pins(0, 0, 1); - 175:Core/Src/main.c **** int data = Receive_Data(); - 176:Core/Src/main.c **** Write_Command_Pins(1, 1, 1); - 177:Core/Src/main.c **** return data; - 178:Core/Src/main.c **** } - 179:Core/Src/main.c **** - 180:Core/Src/main.c **** void Enter_Device_ID(int *manufacturer, int *device){ - 181:Core/Src/main.c **** // Enter ID mode - 182:Core/Src/main.c **** Write_Command(0x5555, 0xAA); - 183:Core/Src/main.c **** Write_Command(0x2AAA, 0x55); - 184:Core/Src/main.c **** Write_Command(0x5555, 0x90); - 185:Core/Src/main.c **** - 186:Core/Src/main.c **** // Read Manufacturer ID (it should be 0xBF) - 187:Core/Src/main.c **** *manufacturer = Flash_ReadByte(0x0000); - 188:Core/Src/main.c **** - 189:Core/Src/main.c **** // Read Device ID (it should be 0xB7 for the SST39SF040) - 190:Core/Src/main.c **** *device = Flash_ReadByte(0x0001); - 191:Core/Src/main.c **** - 192:Core/Src/main.c **** // Exit ID mode - 193:Core/Src/main.c **** Write_Command(0x5555, 0xF0); + 167:Core/Src/main.c **** // All arguments must be 0 (low) or 1 (high) + 168:Core/Src/main.c **** void Write_Command_Pins(int CE, int OE, int WE){ + 169:Core/Src/main.c **** HAL_GPIO_WritePin(GPIOA, GPIO_PIN_8, (CE) ? GPIO_PIN_SET : GPIO_PIN_RESET); + 170:Core/Src/main.c **** HAL_GPIO_WritePin(GPIOA, GPIO_PIN_9, (OE) ? GPIO_PIN_SET : GPIO_PIN_RESET); + 171:Core/Src/main.c **** HAL_GPIO_WritePin(GPIOA, GPIO_PIN_10,(WE) ? GPIO_PIN_SET : GPIO_PIN_RESET); + 172:Core/Src/main.c **** } + 173:Core/Src/main.c **** + 174:Core/Src/main.c **** void Write_Command(int addr, int data) { + 175:Core/Src/main.c **** Write_Command_Pins(1, 1, 1); + 176:Core/Src/main.c **** Write_Address(addr); + 177:Core/Src/main.c **** Write_Data(data); + 178:Core/Src/main.c **** Write_Command_Pins(0, 1, 1); + 179:Core/Src/main.c **** // 4. Pulse WE# low to latch data + 180:Core/Src/main.c **** Write_Command_Pins(0, 1, 0); // WE low + 181:Core/Src/main.c **** Write_Command_Pins(0, 1, 1); // WE high + 182:Core/Src/main.c **** + 183:Core/Src/main.c **** // 5. Deassert CE# + 184:Core/Src/main.c **** Write_Command_Pins(1, 1, 1); + 185:Core/Src/main.c **** } + 186:Core/Src/main.c **** + 187:Core/Src/main.c **** int Flash_ReadByte(int addr) { + 188:Core/Src/main.c **** Write_Address(addr); + 189:Core/Src/main.c **** Data_Pins_Init(0); + 190:Core/Src/main.c **** Write_Command_Pins(0, 0, 1); + 191:Core/Src/main.c **** int data = Receive_Data(); + 192:Core/Src/main.c **** Write_Command_Pins(1, 1, 1); + 193:Core/Src/main.c **** return data; 194:Core/Src/main.c **** } 195:Core/Src/main.c **** - 196:Core/Src/main.c **** void Dump_Flash_UART(int visual_format){ - 197:Core/Src/main.c **** uint8_t byte; - 198:Core/Src/main.c **** char buf[8]; - 199:Core/Src/main.c **** - 200:Core/Src/main.c **** for (int addr = 0; addr < 0x80000; addr++) { // 512 KB - 201:Core/Src/main.c **** byte = Flash_ReadByte(addr); - 202:Core/Src/main.c **** - ARM GAS /tmp/ccPiCTjg.s page 5 + 196:Core/Src/main.c **** void Enter_Device_ID(int *manufacturer, int *device){ + 197:Core/Src/main.c **** // Enter ID mode + 198:Core/Src/main.c **** Write_Command(0x5555, 0xAA); + 199:Core/Src/main.c **** Write_Command(0x2AAA, 0x55); + 200:Core/Src/main.c **** Write_Command(0x5555, 0x90); + 201:Core/Src/main.c **** + 202:Core/Src/main.c **** // Read Manufacturer ID (it should be 0xBF) + ARM GAS /tmp/ccwcoXyi.s page 5 - 203:Core/Src/main.c **** if(visual_format==0){ - 204:Core/Src/main.c **** // Send as raw byte: - 205:Core/Src/main.c **** HAL_UART_Transmit(&huart2, &byte, 1, HAL_MAX_DELAY); - 206:Core/Src/main.c **** }else{ - 207:Core/Src/main.c **** // Send as str - 208:Core/Src/main.c **** sprintf(buf, "%02X ", byte); - 209:Core/Src/main.c **** HAL_UART_Transmit(&huart2, (uint8_t*)buf, strlen(buf), HAL_MAX_DELAY); - 210:Core/Src/main.c **** if ((addr & 0x0F) == 0x0F) { - 211:Core/Src/main.c **** char newline[] = "\r\n"; - 212:Core/Src/main.c **** HAL_UART_Transmit(&huart2, (uint8_t*)newline, 2, HAL_MAX_DELAY); - 213:Core/Src/main.c **** } - 214:Core/Src/main.c **** } - 215:Core/Src/main.c **** } - 216:Core/Src/main.c **** } - 217:Core/Src/main.c **** - 218:Core/Src/main.c **** void Chip_Erase(void){ - 219:Core/Src/main.c **** // Erase sequence - 220:Core/Src/main.c **** Write_Command(0x5555, 0xAA); - 221:Core/Src/main.c **** Write_Command(0x2AAA, 0x55); - 222:Core/Src/main.c **** Write_Command(0x5555, 0x80); - 223:Core/Src/main.c **** Write_Command(0x5555, 0xAA); - 224:Core/Src/main.c **** Write_Command(0x2AAA, 0x55); - 225:Core/Src/main.c **** Write_Command(0x5555, 0x10); - 226:Core/Src/main.c **** - 227:Core/Src/main.c **** HAL_Delay(150); // it's 100ms max but by precaution - 228:Core/Src/main.c **** } - 229:Core/Src/main.c **** - 230:Core/Src/main.c **** void Chip_Program_Byte(int addr, int data){ - 231:Core/Src/main.c **** Write_Command(0x5555, 0xAA); - 232:Core/Src/main.c **** Write_Command(0x2AAA, 0x55); - 233:Core/Src/main.c **** Write_Command(0x5555, 0xA0); - 234:Core/Src/main.c **** Write_Command(addr, data); - 235:Core/Src/main.c **** } - 236:Core/Src/main.c **** - 237:Core/Src/main.c **** void Flash_From_UART(void){ - 238:Core/Src/main.c **** debug_print("Waiting for file to flash...\r\n"); - 239:Core/Src/main.c **** uint8_t byte; - 240:Core/Src/main.c **** for(int i=0; i<8; i++){ - 241:Core/Src/main.c **** HAL_UART_Receive(&huart2, &byte, 1, HAL_MAX_DELAY); - 242:Core/Src/main.c **** Chip_Program_Byte(i, (int)byte); - 243:Core/Src/main.c **** } - 244:Core/Src/main.c **** debug_print("finished\r\n"); - 245:Core/Src/main.c **** } - 246:Core/Src/main.c **** - 247:Core/Src/main.c **** /** - 248:Core/Src/main.c **** * @brief System Clock Configuration - 249:Core/Src/main.c **** * @retval None - 250:Core/Src/main.c **** */ - 251:Core/Src/main.c **** void SystemClock_Config(void) - 252:Core/Src/main.c **** { - 253:Core/Src/main.c **** RCC_OscInitTypeDef RCC_OscInitStruct = {0}; - 254:Core/Src/main.c **** RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; - 255:Core/Src/main.c **** - 256:Core/Src/main.c **** /** Configure the main internal regulator output voltage - 257:Core/Src/main.c **** */ - 258:Core/Src/main.c **** __HAL_RCC_PWR_CLK_ENABLE(); - 259:Core/Src/main.c **** __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE2); - ARM GAS /tmp/ccPiCTjg.s page 6 + 203:Core/Src/main.c **** *manufacturer = Flash_ReadByte(0x0000); + 204:Core/Src/main.c **** + 205:Core/Src/main.c **** // Read Device ID (it should be 0xB7 for the SST39SF040) + 206:Core/Src/main.c **** *device = Flash_ReadByte(0x0001); + 207:Core/Src/main.c **** + 208:Core/Src/main.c **** // Exit ID mode + 209:Core/Src/main.c **** Write_Command(0x5555, 0xF0); + 210:Core/Src/main.c **** } + 211:Core/Src/main.c **** + 212:Core/Src/main.c **** void Dump_Flash_UART(int visual_format){ + 213:Core/Src/main.c **** uint8_t byte; + 214:Core/Src/main.c **** char buf[8]; + 215:Core/Src/main.c **** + 216:Core/Src/main.c **** for (int addr = 0; addr < 0x7FFFF; addr++) { // 512 KB + 217:Core/Src/main.c **** byte = Flash_ReadByte(addr); + 218:Core/Src/main.c **** + 219:Core/Src/main.c **** if(visual_format==0){ + 220:Core/Src/main.c **** // Send as raw byte: + 221:Core/Src/main.c **** HAL_UART_Transmit(&huart2, &byte, 1, HAL_MAX_DELAY); + 222:Core/Src/main.c **** }else{ + 223:Core/Src/main.c **** // Send as str + 224:Core/Src/main.c **** sprintf(buf, "%02X ", byte); + 225:Core/Src/main.c **** HAL_UART_Transmit(&huart2, (uint8_t*)buf, strlen(buf), HAL_MAX_DELAY); + 226:Core/Src/main.c **** if ((addr & 0x0F) == 0x0F) { + 227:Core/Src/main.c **** char newline[] = "\r\n"; + 228:Core/Src/main.c **** HAL_UART_Transmit(&huart2, (uint8_t*)newline, 2, HAL_MAX_DELAY); + 229:Core/Src/main.c **** } + 230:Core/Src/main.c **** } + 231:Core/Src/main.c **** } + 232:Core/Src/main.c **** } + 233:Core/Src/main.c **** + 234:Core/Src/main.c **** void Chip_Erase(void){ + 235:Core/Src/main.c **** // Erase sequence + 236:Core/Src/main.c **** Write_Command(0x5555, 0xAA); + 237:Core/Src/main.c **** Write_Command(0x2AAA, 0x55); + 238:Core/Src/main.c **** Write_Command(0x5555, 0x80); + 239:Core/Src/main.c **** Write_Command(0x5555, 0xAA); + 240:Core/Src/main.c **** Write_Command(0x2AAA, 0x55); + 241:Core/Src/main.c **** Write_Command(0x5555, 0x10); + 242:Core/Src/main.c **** + 243:Core/Src/main.c **** HAL_Delay(150); // it's 100ms max but by precaution + 244:Core/Src/main.c **** } + 245:Core/Src/main.c **** + 246:Core/Src/main.c **** void Chip_Program_Byte(int addr, int data){ + 247:Core/Src/main.c **** Write_Command(0x5555, 0xAA); + 248:Core/Src/main.c **** Write_Command(0x2AAA, 0x55); + 249:Core/Src/main.c **** Write_Command(0x5555, 0xA0); + 250:Core/Src/main.c **** Write_Command(addr, data); + 251:Core/Src/main.c **** } + 252:Core/Src/main.c **** + 253:Core/Src/main.c **** void Flash_From_UART(void){ + 254:Core/Src/main.c **** debug_print("Waiting for file to flash...\r\n"); + 255:Core/Src/main.c **** uint8_t byte; + 256:Core/Src/main.c **** for(int i=0; i<8; i++){ + 257:Core/Src/main.c **** HAL_UART_Receive(&huart2, &byte, 1, HAL_MAX_DELAY); + 258:Core/Src/main.c **** Chip_Program_Byte(i, (int)byte); + 259:Core/Src/main.c **** } + ARM GAS /tmp/ccwcoXyi.s page 6 - 260:Core/Src/main.c **** - 261:Core/Src/main.c **** /** Initializes the RCC Oscillators according to the specified parameters - 262:Core/Src/main.c **** * in the RCC_OscInitTypeDef structure. - 263:Core/Src/main.c **** */ - 264:Core/Src/main.c **** RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI; - 265:Core/Src/main.c **** RCC_OscInitStruct.HSIState = RCC_HSI_ON; - 266:Core/Src/main.c **** RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT; - 267:Core/Src/main.c **** RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; - 268:Core/Src/main.c **** RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI; - 269:Core/Src/main.c **** RCC_OscInitStruct.PLL.PLLM = 16; - 270:Core/Src/main.c **** RCC_OscInitStruct.PLL.PLLN = 336; - 271:Core/Src/main.c **** RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV4; - 272:Core/Src/main.c **** RCC_OscInitStruct.PLL.PLLQ = 7; - 273:Core/Src/main.c **** if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) - 274:Core/Src/main.c **** { - 275:Core/Src/main.c **** Error_Handler(); - 276:Core/Src/main.c **** } - 277:Core/Src/main.c **** - 278:Core/Src/main.c **** /** Initializes the CPU, AHB and APB buses clocks + 260:Core/Src/main.c **** debug_print("finished\r\n"); + 261:Core/Src/main.c **** } + 262:Core/Src/main.c **** + 263:Core/Src/main.c **** /** + 264:Core/Src/main.c **** * @brief System Clock Configuration + 265:Core/Src/main.c **** * @retval None + 266:Core/Src/main.c **** */ + 267:Core/Src/main.c **** void SystemClock_Config(void) + 268:Core/Src/main.c **** { + 269:Core/Src/main.c **** RCC_OscInitTypeDef RCC_OscInitStruct = {0}; + 270:Core/Src/main.c **** RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; + 271:Core/Src/main.c **** + 272:Core/Src/main.c **** /** Configure the main internal regulator output voltage + 273:Core/Src/main.c **** */ + 274:Core/Src/main.c **** __HAL_RCC_PWR_CLK_ENABLE(); + 275:Core/Src/main.c **** __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE2); + 276:Core/Src/main.c **** + 277:Core/Src/main.c **** /** Initializes the RCC Oscillators according to the specified parameters + 278:Core/Src/main.c **** * in the RCC_OscInitTypeDef structure. 279:Core/Src/main.c **** */ - 280:Core/Src/main.c **** RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK - 281:Core/Src/main.c **** |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; - 282:Core/Src/main.c **** RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; - 283:Core/Src/main.c **** RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; - 284:Core/Src/main.c **** RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2; - 285:Core/Src/main.c **** RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; - 286:Core/Src/main.c **** - 287:Core/Src/main.c **** if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK) - 288:Core/Src/main.c **** { - 289:Core/Src/main.c **** Error_Handler(); - 290:Core/Src/main.c **** } - 291:Core/Src/main.c **** } - 292:Core/Src/main.c **** - 293:Core/Src/main.c **** /** - 294:Core/Src/main.c **** * @brief USART2 Initialization Function - 295:Core/Src/main.c **** * @param None - 296:Core/Src/main.c **** * @retval None - 297:Core/Src/main.c **** */ - 298:Core/Src/main.c **** static void MX_USART2_UART_Init(void) - 299:Core/Src/main.c **** { - 300:Core/Src/main.c **** huart2.Instance = USART2; - 301:Core/Src/main.c **** huart2.Init.BaudRate = 115200; - 302:Core/Src/main.c **** huart2.Init.WordLength = UART_WORDLENGTH_8B; - 303:Core/Src/main.c **** huart2.Init.StopBits = UART_STOPBITS_1; - 304:Core/Src/main.c **** huart2.Init.Parity = UART_PARITY_NONE; - 305:Core/Src/main.c **** huart2.Init.Mode = UART_MODE_TX_RX; - 306:Core/Src/main.c **** huart2.Init.HwFlowCtl = UART_HWCONTROL_NONE; - 307:Core/Src/main.c **** huart2.Init.OverSampling = UART_OVERSAMPLING_16; - 308:Core/Src/main.c **** if (HAL_UART_Init(&huart2) != HAL_OK) - 309:Core/Src/main.c **** { - 310:Core/Src/main.c **** Error_Handler(); - 311:Core/Src/main.c **** } - 312:Core/Src/main.c **** - 313:Core/Src/main.c **** } - 314:Core/Src/main.c **** - 315:Core/Src/main.c **** // The argument must be 0 (input) or 1 (output) - 316:Core/Src/main.c **** void Data_Pins_Init(int as_output){ - ARM GAS /tmp/ccPiCTjg.s page 7 + 280:Core/Src/main.c **** RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI; + 281:Core/Src/main.c **** RCC_OscInitStruct.HSIState = RCC_HSI_ON; + 282:Core/Src/main.c **** RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT; + 283:Core/Src/main.c **** RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; + 284:Core/Src/main.c **** RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI; + 285:Core/Src/main.c **** RCC_OscInitStruct.PLL.PLLM = 16; + 286:Core/Src/main.c **** RCC_OscInitStruct.PLL.PLLN = 336; + 287:Core/Src/main.c **** RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV4; + 288:Core/Src/main.c **** RCC_OscInitStruct.PLL.PLLQ = 7; + 289:Core/Src/main.c **** if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) + 290:Core/Src/main.c **** { + 291:Core/Src/main.c **** Error_Handler(); + 292:Core/Src/main.c **** } + 293:Core/Src/main.c **** + 294:Core/Src/main.c **** /** Initializes the CPU, AHB and APB buses clocks + 295:Core/Src/main.c **** */ + 296:Core/Src/main.c **** RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK + 297:Core/Src/main.c **** |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; + 298:Core/Src/main.c **** RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; + 299:Core/Src/main.c **** RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + 300:Core/Src/main.c **** RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2; + 301:Core/Src/main.c **** RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; + 302:Core/Src/main.c **** + 303:Core/Src/main.c **** if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK) + 304:Core/Src/main.c **** { + 305:Core/Src/main.c **** Error_Handler(); + 306:Core/Src/main.c **** } + 307:Core/Src/main.c **** } + 308:Core/Src/main.c **** + 309:Core/Src/main.c **** /** + 310:Core/Src/main.c **** * @brief USART2 Initialization Function + 311:Core/Src/main.c **** * @param None + 312:Core/Src/main.c **** * @retval None + 313:Core/Src/main.c **** */ + 314:Core/Src/main.c **** static void MX_USART2_UART_Init(void) + 315:Core/Src/main.c **** { + 316:Core/Src/main.c **** huart2.Instance = USART2; + ARM GAS /tmp/ccwcoXyi.s page 7 - 317:Core/Src/main.c **** GPIO_InitTypeDef GPIO_InitStruct = {0}; - 318:Core/Src/main.c **** - 319:Core/Src/main.c **** // Configure PA0..PA7 as push-pull outputs - 320:Core/Src/main.c **** GPIO_InitStruct.Pin = GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_11 | GPIO_PIN_12 | - 321:Core/Src/main.c **** GPIO_PIN_4 | GPIO_PIN_5 | GPIO_PIN_6 | GPIO_PIN_7; - 322:Core/Src/main.c **** if(as_output == 1){ - 323:Core/Src/main.c **** GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; // Push-pull output - 324:Core/Src/main.c **** GPIO_InitStruct.Pull = GPIO_NOPULL; // No pull-up/down - 325:Core/Src/main.c **** GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; // Fast switching - 326:Core/Src/main.c **** }else{ - 327:Core/Src/main.c **** GPIO_InitStruct.Mode = GPIO_MODE_INPUT; // Input mode - 328:Core/Src/main.c **** GPIO_InitStruct.Pull = GPIO_PULLDOWN; // No pull-up/down - 329:Core/Src/main.c **** } - 330:Core/Src/main.c **** HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); - 331:Core/Src/main.c **** } - 332:Core/Src/main.c **** - 333:Core/Src/main.c **** void Address_Pins_Init(void){ - 334:Core/Src/main.c **** GPIO_InitTypeDef GPIOC_InitStruct = {0}; - 335:Core/Src/main.c **** // Configure PC0..PC15 as push-pull outputs - 336:Core/Src/main.c **** GPIOC_InitStruct.Pin = GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_2 | GPIO_PIN_3 | - 337:Core/Src/main.c **** GPIO_PIN_4 | GPIO_PIN_5 | GPIO_PIN_6 | GPIO_PIN_7 | - 338:Core/Src/main.c **** GPIO_PIN_8 | GPIO_PIN_9 | GPIO_PIN_10| GPIO_PIN_11| - 339:Core/Src/main.c **** GPIO_PIN_12| GPIO_PIN_13| GPIO_PIN_14| GPIO_PIN_15; - 340:Core/Src/main.c **** GPIOC_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; // Push-pull output - 341:Core/Src/main.c **** GPIOC_InitStruct.Pull = GPIO_NOPULL; // No pull-up/down - 342:Core/Src/main.c **** GPIOC_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; // Fast switching - 343:Core/Src/main.c **** HAL_GPIO_Init(GPIOC, &GPIOC_InitStruct); - 344:Core/Src/main.c **** - 345:Core/Src/main.c **** // Then we do the same for the remaining - 346:Core/Src/main.c **** GPIO_InitTypeDef GPIOB_InitStruct = {0}; - 347:Core/Src/main.c **** // Configure PB0..PB2 as push-pull outputs - 348:Core/Src/main.c **** GPIOB_InitStruct.Pin = GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_2 | GPIO_PIN_3 | GPIO_PIN_4; - 349:Core/Src/main.c **** GPIOB_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; // Push-pull output - 350:Core/Src/main.c **** GPIOB_InitStruct.Pull = GPIO_NOPULL; // No pull-up/down - 351:Core/Src/main.c **** GPIOB_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; // Fast switching - 352:Core/Src/main.c **** HAL_GPIO_Init(GPIOB, &GPIOB_InitStruct); - 353:Core/Src/main.c **** } - 354:Core/Src/main.c **** - 355:Core/Src/main.c **** void Command_Pins_Init(void){ - 356:Core/Src/main.c **** // PA8-10 as outputs pins - 357:Core/Src/main.c **** GPIO_InitTypeDef GPIOA_InitStruct = {0}; - 358:Core/Src/main.c **** GPIOA_InitStruct.Pin = GPIO_PIN_8 | GPIO_PIN_9 | GPIO_PIN_10; - 359:Core/Src/main.c **** GPIOA_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; // Push-pull output - 360:Core/Src/main.c **** GPIOA_InitStruct.Pull = GPIO_NOPULL; // No pull-up/down - 361:Core/Src/main.c **** GPIOA_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; // Fast switching - 362:Core/Src/main.c **** HAL_GPIO_Init(GPIOA, &GPIOA_InitStruct); - 363:Core/Src/main.c **** } - 364:Core/Src/main.c **** - 365:Core/Src/main.c **** void debug_print(const char *msg) { - 366:Core/Src/main.c **** HAL_UART_Transmit(&huart2, (uint8_t*)msg, strlen(msg), HAL_MAX_DELAY); - 367:Core/Src/main.c **** } - 368:Core/Src/main.c **** - 369:Core/Src/main.c **** /** - 370:Core/Src/main.c **** * @brief GPIO Initialization Function - 371:Core/Src/main.c **** * @param None - 372:Core/Src/main.c **** * @retval None - 373:Core/Src/main.c **** */ - ARM GAS /tmp/ccPiCTjg.s page 8 + 317:Core/Src/main.c **** huart2.Init.BaudRate = 115200; + 318:Core/Src/main.c **** huart2.Init.WordLength = UART_WORDLENGTH_8B; + 319:Core/Src/main.c **** huart2.Init.StopBits = UART_STOPBITS_1; + 320:Core/Src/main.c **** huart2.Init.Parity = UART_PARITY_NONE; + 321:Core/Src/main.c **** huart2.Init.Mode = UART_MODE_TX_RX; + 322:Core/Src/main.c **** huart2.Init.HwFlowCtl = UART_HWCONTROL_NONE; + 323:Core/Src/main.c **** huart2.Init.OverSampling = UART_OVERSAMPLING_16; + 324:Core/Src/main.c **** if (HAL_UART_Init(&huart2) != HAL_OK) + 325:Core/Src/main.c **** { + 326:Core/Src/main.c **** Error_Handler(); + 327:Core/Src/main.c **** } + 328:Core/Src/main.c **** + 329:Core/Src/main.c **** } + 330:Core/Src/main.c **** + 331:Core/Src/main.c **** // The argument must be 0 (input) or 1 (output) + 332:Core/Src/main.c **** void Data_Pins_Init(int as_output){ + 333:Core/Src/main.c **** GPIO_InitTypeDef GPIO_InitStruct = {0}; + 334:Core/Src/main.c **** + 335:Core/Src/main.c **** // Configure PA0..PA7 as push-pull outputs + 336:Core/Src/main.c **** GPIO_InitStruct.Pin = GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_11 | GPIO_PIN_12 | + 337:Core/Src/main.c **** GPIO_PIN_4 | GPIO_PIN_5 | GPIO_PIN_6 | GPIO_PIN_7; + 338:Core/Src/main.c **** if(as_output == 1){ + 339:Core/Src/main.c **** GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; // Push-pull output + 340:Core/Src/main.c **** GPIO_InitStruct.Pull = GPIO_NOPULL; // No pull-up/down + 341:Core/Src/main.c **** GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; // Fast switching + 342:Core/Src/main.c **** }else{ + 343:Core/Src/main.c **** GPIO_InitStruct.Mode = GPIO_MODE_INPUT; // Input mode + 344:Core/Src/main.c **** GPIO_InitStruct.Pull = GPIO_PULLDOWN; // No pull-up/down + 345:Core/Src/main.c **** } + 346:Core/Src/main.c **** HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); + 347:Core/Src/main.c **** } + 348:Core/Src/main.c **** + 349:Core/Src/main.c **** void Address_Pins_Init(void){ + 350:Core/Src/main.c **** GPIO_InitTypeDef GPIOC_InitStruct = {0}; + 351:Core/Src/main.c **** // Configure PC0..PC15 as push-pull outputs + 352:Core/Src/main.c **** GPIOC_InitStruct.Pin = GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_2 | GPIO_PIN_3 | + 353:Core/Src/main.c **** GPIO_PIN_4 | GPIO_PIN_5 | GPIO_PIN_6 | GPIO_PIN_7 | + 354:Core/Src/main.c **** GPIO_PIN_8 | GPIO_PIN_9 | GPIO_PIN_10| GPIO_PIN_11| + 355:Core/Src/main.c **** GPIO_PIN_12| GPIO_PIN_13| GPIO_PIN_14| GPIO_PIN_15; + 356:Core/Src/main.c **** GPIOC_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; // Push-pull output + 357:Core/Src/main.c **** GPIOC_InitStruct.Pull = GPIO_NOPULL; // No pull-up/down + 358:Core/Src/main.c **** GPIOC_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; // Fast switching + 359:Core/Src/main.c **** HAL_GPIO_Init(GPIOC, &GPIOC_InitStruct); + 360:Core/Src/main.c **** + 361:Core/Src/main.c **** // Then we do the same for the remaining + 362:Core/Src/main.c **** GPIO_InitTypeDef GPIOB_InitStruct = {0}; + 363:Core/Src/main.c **** // Configure PB0..PB2 as push-pull outputs + 364:Core/Src/main.c **** GPIOB_InitStruct.Pin = GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_2 | GPIO_PIN_3 | GPIO_PIN_4; + 365:Core/Src/main.c **** GPIOB_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; // Push-pull output + 366:Core/Src/main.c **** GPIOB_InitStruct.Pull = GPIO_NOPULL; // No pull-up/down + 367:Core/Src/main.c **** GPIOB_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; // Fast switching + 368:Core/Src/main.c **** HAL_GPIO_Init(GPIOB, &GPIOB_InitStruct); + 369:Core/Src/main.c **** } + 370:Core/Src/main.c **** + 371:Core/Src/main.c **** void Command_Pins_Init(void){ + 372:Core/Src/main.c **** // PA8-10 as outputs pins + 373:Core/Src/main.c **** GPIO_InitTypeDef GPIOA_InitStruct = {0}; + ARM GAS /tmp/ccwcoXyi.s page 8 - 374:Core/Src/main.c **** static void MX_GPIO_Init(void) - 375:Core/Src/main.c **** { - 28 .loc 1 375 1 view -0 + 374:Core/Src/main.c **** GPIOA_InitStruct.Pin = GPIO_PIN_8 | GPIO_PIN_9 | GPIO_PIN_10; + 375:Core/Src/main.c **** GPIOA_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; // Push-pull output + 376:Core/Src/main.c **** GPIOA_InitStruct.Pull = GPIO_NOPULL; // No pull-up/down + 377:Core/Src/main.c **** GPIOA_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; // Fast switching + 378:Core/Src/main.c **** HAL_GPIO_Init(GPIOA, &GPIOA_InitStruct); + 379:Core/Src/main.c **** } + 380:Core/Src/main.c **** + 381:Core/Src/main.c **** void debug_print(const char *msg) { + 382:Core/Src/main.c **** HAL_UART_Transmit(&huart2, (uint8_t*)msg, strlen(msg), HAL_MAX_DELAY); + 383:Core/Src/main.c **** } + 384:Core/Src/main.c **** + 385:Core/Src/main.c **** /** + 386:Core/Src/main.c **** * @brief GPIO Initialization Function + 387:Core/Src/main.c **** * @param None + 388:Core/Src/main.c **** * @retval None + 389:Core/Src/main.c **** */ + 390:Core/Src/main.c **** static void MX_GPIO_Init(void) + 391:Core/Src/main.c **** { + 28 .loc 1 391 1 view -0 29 .cfi_startproc 30 @ args = 0, pretend = 0, frame = 16 31 @ frame_needed = 0, uses_anonymous_args = 0 @@ -431,98 +447,101 @@ ARM GAS /tmp/ccPiCTjg.s page 1 33 0000 84B0 sub sp, sp, #16 34 .LCFI0: 35 .cfi_def_cfa_offset 16 - 376:Core/Src/main.c **** /* GPIO Ports Clock Enable */ - 377:Core/Src/main.c **** __HAL_RCC_GPIOC_CLK_ENABLE(); - 36 .loc 1 377 3 view .LVU1 + 392:Core/Src/main.c **** /* GPIO Ports Clock Enable */ + 393:Core/Src/main.c **** __HAL_RCC_GPIOC_CLK_ENABLE(); + 36 .loc 1 393 3 view .LVU1 37 .LBB4: - 38 .loc 1 377 3 view .LVU2 + 38 .loc 1 393 3 view .LVU2 39 0002 0022 movs r2, #0 40 0004 0092 str r2, [sp] - 41 .loc 1 377 3 view .LVU3 + 41 .loc 1 393 3 view .LVU3 42 0006 154B ldr r3, .L3 43 0008 196B ldr r1, [r3, #48] 44 000a 41F00401 orr r1, r1, #4 45 000e 1963 str r1, [r3, #48] - 46 .loc 1 377 3 view .LVU4 + 46 .loc 1 393 3 view .LVU4 47 0010 196B ldr r1, [r3, #48] 48 0012 01F00401 and r1, r1, #4 49 0016 0091 str r1, [sp] - 50 .loc 1 377 3 view .LVU5 + 50 .loc 1 393 3 view .LVU5 51 0018 0099 ldr r1, [sp] 52 .LBE4: - 53 .loc 1 377 3 view .LVU6 - 378:Core/Src/main.c **** __HAL_RCC_GPIOH_CLK_ENABLE(); - 54 .loc 1 378 3 view .LVU7 + 53 .loc 1 393 3 view .LVU6 + 394:Core/Src/main.c **** __HAL_RCC_GPIOH_CLK_ENABLE(); + 54 .loc 1 394 3 view .LVU7 55 .LBB5: - 56 .loc 1 378 3 view .LVU8 + 56 .loc 1 394 3 view .LVU8 57 001a 0192 str r2, [sp, #4] - 58 .loc 1 378 3 view .LVU9 + 58 .loc 1 394 3 view .LVU9 59 001c 196B ldr r1, [r3, #48] 60 001e 41F08001 orr r1, r1, #128 61 0022 1963 str r1, [r3, #48] - 62 .loc 1 378 3 view .LVU10 + 62 .loc 1 394 3 view .LVU10 63 0024 196B ldr r1, [r3, #48] + ARM GAS /tmp/ccwcoXyi.s page 9 + + 64 0026 01F08001 and r1, r1, #128 65 002a 0191 str r1, [sp, #4] - 66 .loc 1 378 3 view .LVU11 + 66 .loc 1 394 3 view .LVU11 67 002c 0199 ldr r1, [sp, #4] 68 .LBE5: - 69 .loc 1 378 3 view .LVU12 - 379:Core/Src/main.c **** __HAL_RCC_GPIOA_CLK_ENABLE(); - 70 .loc 1 379 3 view .LVU13 + 69 .loc 1 394 3 view .LVU12 + 395:Core/Src/main.c **** __HAL_RCC_GPIOA_CLK_ENABLE(); + 70 .loc 1 395 3 view .LVU13 71 .LBB6: - 72 .loc 1 379 3 view .LVU14 + 72 .loc 1 395 3 view .LVU14 73 002e 0292 str r2, [sp, #8] - 74 .loc 1 379 3 view .LVU15 + 74 .loc 1 395 3 view .LVU15 75 0030 196B ldr r1, [r3, #48] 76 0032 41F00101 orr r1, r1, #1 77 0036 1963 str r1, [r3, #48] - 78 .loc 1 379 3 view .LVU16 - ARM GAS /tmp/ccPiCTjg.s page 9 - - + 78 .loc 1 395 3 view .LVU16 79 0038 196B ldr r1, [r3, #48] 80 003a 01F00101 and r1, r1, #1 81 003e 0291 str r1, [sp, #8] - 82 .loc 1 379 3 view .LVU17 + 82 .loc 1 395 3 view .LVU17 83 0040 0299 ldr r1, [sp, #8] 84 .LBE6: - 85 .loc 1 379 3 view .LVU18 - 380:Core/Src/main.c **** __HAL_RCC_GPIOB_CLK_ENABLE(); - 86 .loc 1 380 3 view .LVU19 + 85 .loc 1 395 3 view .LVU18 + 396:Core/Src/main.c **** __HAL_RCC_GPIOB_CLK_ENABLE(); + 86 .loc 1 396 3 view .LVU19 87 .LBB7: - 88 .loc 1 380 3 view .LVU20 + 88 .loc 1 396 3 view .LVU20 89 0042 0392 str r2, [sp, #12] - 90 .loc 1 380 3 view .LVU21 + 90 .loc 1 396 3 view .LVU21 91 0044 1A6B ldr r2, [r3, #48] 92 0046 42F00202 orr r2, r2, #2 93 004a 1A63 str r2, [r3, #48] - 94 .loc 1 380 3 view .LVU22 + 94 .loc 1 396 3 view .LVU22 95 004c 1B6B ldr r3, [r3, #48] 96 004e 03F00203 and r3, r3, #2 97 0052 0393 str r3, [sp, #12] - 98 .loc 1 380 3 view .LVU23 + 98 .loc 1 396 3 view .LVU23 99 0054 039B ldr r3, [sp, #12] 100 .LBE7: - 101 .loc 1 380 3 view .LVU24 - 381:Core/Src/main.c **** - 382:Core/Src/main.c **** /*Configure GPIO pin Output Level */ - 383:Core/Src/main.c **** // HAL_GPIO_WritePin(LD2_GPIO_Port, LD2_Pin, GPIO_PIN_RESET); - 384:Core/Src/main.c **** - 385:Core/Src/main.c **** /*Configure GPIO pin : B1_Pin */ - 386:Core/Src/main.c **** // GPIO_InitStruct.Pin = B1_Pin; - 387:Core/Src/main.c **** // GPIO_InitStruct.Mode = GPIO_MODE_IT_FALLING; - 388:Core/Src/main.c **** // GPIO_InitStruct.Pull = GPIO_NOPULL; - 389:Core/Src/main.c **** // HAL_GPIO_Init(B1_GPIO_Port, &GPIO_InitStruct); - 390:Core/Src/main.c **** - 391:Core/Src/main.c **** /*Configure GPIO pin : LD2_Pin */ - 392:Core/Src/main.c **** // GPIO_InitStruct.Pin = LD2_Pin; - 393:Core/Src/main.c **** // GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - 394:Core/Src/main.c **** // GPIO_InitStruct.Pull = GPIO_NOPULL; - 395:Core/Src/main.c **** // GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - 396:Core/Src/main.c **** // HAL_GPIO_Init(LD2_GPIO_Port, &GPIO_InitStruct); - 397:Core/Src/main.c **** } - 102 .loc 1 397 1 is_stmt 0 view .LVU25 + 101 .loc 1 396 3 view .LVU24 + 397:Core/Src/main.c **** + 398:Core/Src/main.c **** /*Configure GPIO pin Output Level */ + 399:Core/Src/main.c **** // HAL_GPIO_WritePin(LD2_GPIO_Port, LD2_Pin, GPIO_PIN_RESET); + 400:Core/Src/main.c **** + 401:Core/Src/main.c **** /*Configure GPIO pin : B1_Pin */ + 402:Core/Src/main.c **** // GPIO_InitStruct.Pin = B1_Pin; + 403:Core/Src/main.c **** // GPIO_InitStruct.Mode = GPIO_MODE_IT_FALLING; + 404:Core/Src/main.c **** // GPIO_InitStruct.Pull = GPIO_NOPULL; + 405:Core/Src/main.c **** // HAL_GPIO_Init(B1_GPIO_Port, &GPIO_InitStruct); + 406:Core/Src/main.c **** + 407:Core/Src/main.c **** /*Configure GPIO pin : LD2_Pin */ + 408:Core/Src/main.c **** // GPIO_InitStruct.Pin = LD2_Pin; + 409:Core/Src/main.c **** // GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + 410:Core/Src/main.c **** // GPIO_InitStruct.Pull = GPIO_NOPULL; + 411:Core/Src/main.c **** // GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + 412:Core/Src/main.c **** // HAL_GPIO_Init(LD2_GPIO_Port, &GPIO_InitStruct); + 413:Core/Src/main.c **** } + ARM GAS /tmp/ccwcoXyi.s page 10 + + + 102 .loc 1 413 1 is_stmt 0 view .LVU25 103 0056 04B0 add sp, sp, #16 104 .LCFI1: 105 .cfi_def_cfa_offset 0 @@ -538,22 +557,19 @@ ARM GAS /tmp/ccPiCTjg.s page 1 116 .align 1 117 .global Write_Address 118 .syntax unified - ARM GAS /tmp/ccPiCTjg.s page 10 - - 119 .thumb 120 .thumb_func 121 .fpu fpv4-sp-d16 123 Write_Address: 124 .LVL0: 125 .LFB138: - 104:Core/Src/main.c **** int pin_array[] = { - 126 .loc 1 104 32 is_stmt 1 view -0 + 120:Core/Src/main.c **** int pin_array[] = { + 126 .loc 1 120 32 is_stmt 1 view -0 127 .cfi_startproc 128 @ args = 0, pretend = 0, frame = 80 129 @ frame_needed = 0, uses_anonymous_args = 0 - 104:Core/Src/main.c **** int pin_array[] = { - 130 .loc 1 104 32 is_stmt 0 view .LVU27 + 120:Core/Src/main.c **** int pin_array[] = { + 130 .loc 1 120 32 is_stmt 0 view .LVU27 131 0000 30B5 push {r4, r5, lr} 132 .LCFI2: 133 .cfi_def_cfa_offset 12 @@ -564,33 +580,36 @@ ARM GAS /tmp/ccPiCTjg.s page 1 138 .LCFI3: 139 .cfi_def_cfa_offset 96 140 0004 0546 mov r5, r0 - 105:Core/Src/main.c **** GPIO_PIN_0, GPIO_PIN_1, GPIO_PIN_2, GPIO_PIN_3, - 141 .loc 1 105 3 is_stmt 1 view .LVU28 - 105:Core/Src/main.c **** GPIO_PIN_0, GPIO_PIN_1, GPIO_PIN_2, GPIO_PIN_3, - 142 .loc 1 105 7 is_stmt 0 view .LVU29 + 121:Core/Src/main.c **** GPIO_PIN_0, GPIO_PIN_1, GPIO_PIN_2, GPIO_PIN_3, + 141 .loc 1 121 3 is_stmt 1 view .LVU28 + 121:Core/Src/main.c **** GPIO_PIN_0, GPIO_PIN_1, GPIO_PIN_2, GPIO_PIN_3, + 142 .loc 1 121 7 is_stmt 0 view .LVU29 143 0006 4C22 movs r2, #76 144 0008 1E49 ldr r1, .L14 145 000a 01A8 add r0, sp, #4 146 .LVL1: - 105:Core/Src/main.c **** GPIO_PIN_0, GPIO_PIN_1, GPIO_PIN_2, GPIO_PIN_3, - 147 .loc 1 105 7 view .LVU30 + 121:Core/Src/main.c **** GPIO_PIN_0, GPIO_PIN_1, GPIO_PIN_2, GPIO_PIN_3, + 147 .loc 1 121 7 view .LVU30 148 000c FFF7FEFF bl memcpy 149 .LVL2: - 112:Core/Src/main.c **** if(i<14){ - 150 .loc 1 112 3 is_stmt 1 view .LVU31 + 128:Core/Src/main.c **** if(i<14){ + 150 .loc 1 128 3 is_stmt 1 view .LVU31 151 .LBB8: - 112:Core/Src/main.c **** if(i<14){ - 152 .loc 1 112 7 view .LVU32 - 112:Core/Src/main.c **** if(i<14){ - 153 .loc 1 112 11 is_stmt 0 view .LVU33 + 128:Core/Src/main.c **** if(i<14){ + 152 .loc 1 128 7 view .LVU32 + 128:Core/Src/main.c **** if(i<14){ + ARM GAS /tmp/ccwcoXyi.s page 11 + + + 153 .loc 1 128 11 is_stmt 0 view .LVU33 154 0010 0024 movs r4, #0 - 112:Core/Src/main.c **** if(i<14){ - 155 .loc 1 112 3 view .LVU34 + 128:Core/Src/main.c **** if(i<14){ + 155 .loc 1 128 3 view .LVU34 156 0012 09E0 b .L6 157 .LVL3: 158 .L8: - 115:Core/Src/main.c **** } - 159 .loc 1 115 12 is_stmt 1 view .LVU35 + 131:Core/Src/main.c **** } + 159 .loc 1 131 12 is_stmt 1 view .LVU35 160 0014 0022 movs r2, #0 161 0016 14AB add r3, sp, #80 162 0018 03EB8403 add r3, r3, r4, lsl #2 @@ -598,40 +617,37 @@ ARM GAS /tmp/ccPiCTjg.s page 1 164 0020 1948 ldr r0, .L14+4 165 0022 FFF7FEFF bl HAL_GPIO_WritePin 166 .LVL4: - ARM GAS /tmp/ccPiCTjg.s page 11 - - 167 .L9: - 112:Core/Src/main.c **** if(i<14){ - 168 .loc 1 112 22 discriminator 2 view .LVU36 - 112:Core/Src/main.c **** if(i<14){ - 169 .loc 1 112 23 is_stmt 0 discriminator 2 view .LVU37 + 128:Core/Src/main.c **** if(i<14){ + 168 .loc 1 128 22 discriminator 2 view .LVU36 + 128:Core/Src/main.c **** if(i<14){ + 169 .loc 1 128 23 is_stmt 0 discriminator 2 view .LVU37 170 0026 0134 adds r4, r4, #1 171 .LVL5: 172 .L6: - 112:Core/Src/main.c **** if(i<14){ - 173 .loc 1 112 16 is_stmt 1 discriminator 1 view .LVU38 - 112:Core/Src/main.c **** if(i<14){ - 174 .loc 1 112 3 is_stmt 0 discriminator 1 view .LVU39 + 128:Core/Src/main.c **** if(i<14){ + 173 .loc 1 128 16 is_stmt 1 discriminator 1 view .LVU38 + 128:Core/Src/main.c **** if(i<14){ + 174 .loc 1 128 3 is_stmt 0 discriminator 1 view .LVU39 175 0028 122C cmp r4, #18 176 002a 29DC bgt .L13 - 113:Core/Src/main.c **** if((address >> i) & 1) HAL_GPIO_WritePin(GPIOC, pin_array[i], GPIO_PIN_SET); - 177 .loc 1 113 5 is_stmt 1 view .LVU40 - 113:Core/Src/main.c **** if((address >> i) & 1) HAL_GPIO_WritePin(GPIOC, pin_array[i], GPIO_PIN_SET); - 178 .loc 1 113 7 is_stmt 0 view .LVU41 + 129:Core/Src/main.c **** if((address >> i) & 1) HAL_GPIO_WritePin(GPIOC, pin_array[i], GPIO_PIN_SET); + 177 .loc 1 129 5 is_stmt 1 view .LVU40 + 129:Core/Src/main.c **** if((address >> i) & 1) HAL_GPIO_WritePin(GPIOC, pin_array[i], GPIO_PIN_SET); + 178 .loc 1 129 7 is_stmt 0 view .LVU41 179 002c 0D2C cmp r4, #13 180 002e 0EDC bgt .L7 - 114:Core/Src/main.c **** else HAL_GPIO_WritePin(GPIOC, pin_array[i], GPIO_PIN_RESET); - 181 .loc 1 114 7 is_stmt 1 view .LVU42 - 114:Core/Src/main.c **** else HAL_GPIO_WritePin(GPIOC, pin_array[i], GPIO_PIN_RESET); - 182 .loc 1 114 19 is_stmt 0 view .LVU43 + 130:Core/Src/main.c **** else HAL_GPIO_WritePin(GPIOC, pin_array[i], GPIO_PIN_RESET); + 181 .loc 1 130 7 is_stmt 1 view .LVU42 + 130:Core/Src/main.c **** else HAL_GPIO_WritePin(GPIOC, pin_array[i], GPIO_PIN_RESET); + 182 .loc 1 130 19 is_stmt 0 view .LVU43 183 0030 45FA04F3 asr r3, r5, r4 - 114:Core/Src/main.c **** else HAL_GPIO_WritePin(GPIOC, pin_array[i], GPIO_PIN_RESET); - 184 .loc 1 114 9 view .LVU44 + 130:Core/Src/main.c **** else HAL_GPIO_WritePin(GPIOC, pin_array[i], GPIO_PIN_RESET); + 184 .loc 1 130 9 view .LVU44 185 0034 13F0010F tst r3, #1 186 0038 ECD0 beq .L8 - 114:Core/Src/main.c **** else HAL_GPIO_WritePin(GPIOC, pin_array[i], GPIO_PIN_RESET); - 187 .loc 1 114 30 is_stmt 1 discriminator 1 view .LVU45 + 130:Core/Src/main.c **** else HAL_GPIO_WritePin(GPIOC, pin_array[i], GPIO_PIN_RESET); + 187 .loc 1 130 30 is_stmt 1 discriminator 1 view .LVU45 188 003a 0122 movs r2, #1 189 003c 14AB add r3, sp, #80 190 003e 03EB8403 add r3, r3, r4, lsl #2 @@ -641,31 +657,31 @@ ARM GAS /tmp/ccPiCTjg.s page 1 194 .LVL6: 195 004c EBE7 b .L9 196 .L7: - 118:Core/Src/main.c **** else HAL_GPIO_WritePin(GPIOB, pin_array[i], GPIO_PIN_RESET); - 197 .loc 1 118 7 view .LVU46 - 118:Core/Src/main.c **** else HAL_GPIO_WritePin(GPIOB, pin_array[i], GPIO_PIN_RESET); - 198 .loc 1 118 19 is_stmt 0 view .LVU47 + 134:Core/Src/main.c **** else HAL_GPIO_WritePin(GPIOB, pin_array[i], GPIO_PIN_RESET); + ARM GAS /tmp/ccwcoXyi.s page 12 + + + 197 .loc 1 134 7 view .LVU46 + 134:Core/Src/main.c **** else HAL_GPIO_WritePin(GPIOB, pin_array[i], GPIO_PIN_RESET); + 198 .loc 1 134 19 is_stmt 0 view .LVU47 199 004e 45FA04F3 asr r3, r5, r4 - 118:Core/Src/main.c **** else HAL_GPIO_WritePin(GPIOB, pin_array[i], GPIO_PIN_RESET); - 200 .loc 1 118 9 view .LVU48 + 134:Core/Src/main.c **** else HAL_GPIO_WritePin(GPIOB, pin_array[i], GPIO_PIN_RESET); + 200 .loc 1 134 9 view .LVU48 201 0052 13F0010F tst r3, #1 202 0056 09D0 beq .L10 - 118:Core/Src/main.c **** else HAL_GPIO_WritePin(GPIOB, pin_array[i], GPIO_PIN_RESET); - 203 .loc 1 118 30 is_stmt 1 discriminator 1 view .LVU49 + 134:Core/Src/main.c **** else HAL_GPIO_WritePin(GPIOB, pin_array[i], GPIO_PIN_RESET); + 203 .loc 1 134 30 is_stmt 1 discriminator 1 view .LVU49 204 0058 0122 movs r2, #1 205 005a 14AB add r3, sp, #80 206 005c 03EB8403 add r3, r3, r4, lsl #2 207 0060 33F84C1C ldrh r1, [r3, #-76] 208 0064 0948 ldr r0, .L14+8 209 0066 FFF7FEFF bl HAL_GPIO_WritePin - ARM GAS /tmp/ccPiCTjg.s page 12 - - 210 .LVL7: 211 006a DCE7 b .L9 212 .L10: - 119:Core/Src/main.c **** } - 213 .loc 1 119 12 view .LVU50 + 135:Core/Src/main.c **** } + 213 .loc 1 135 12 view .LVU50 214 006c 0022 movs r2, #0 215 006e 14AB add r3, sp, #80 216 0070 03EB8403 add r3, r3, r4, lsl #2 @@ -675,11 +691,11 @@ ARM GAS /tmp/ccPiCTjg.s page 1 220 .LVL8: 221 007e D2E7 b .L9 222 .L13: - 119:Core/Src/main.c **** } - 223 .loc 1 119 12 is_stmt 0 view .LVU51 + 135:Core/Src/main.c **** } + 223 .loc 1 135 12 is_stmt 0 view .LVU51 224 .LBE8: - 122:Core/Src/main.c **** - 225 .loc 1 122 1 view .LVU52 + 138:Core/Src/main.c **** + 225 .loc 1 138 1 view .LVU52 226 0080 15B0 add sp, sp, #84 227 .LCFI4: 228 .cfi_def_cfa_offset 12 @@ -687,8 +703,8 @@ ARM GAS /tmp/ccPiCTjg.s page 1 230 0082 30BD pop {r4, r5, pc} 231 .LVL9: 232 .L15: - 122:Core/Src/main.c **** - 233 .loc 1 122 1 view .LVU53 + 138:Core/Src/main.c **** + 233 .loc 1 138 1 view .LVU53 234 .align 2 235 .L14: 236 0084 00000000 .word .LANCHOR0 @@ -702,50 +718,50 @@ ARM GAS /tmp/ccPiCTjg.s page 1 245 .syntax unified 246 .thumb 247 .thumb_func + ARM GAS /tmp/ccwcoXyi.s page 13 + + 248 .fpu fpv4-sp-d16 250 Write_Command_Pins: 251 .LVL10: 252 .LFB141: - 152:Core/Src/main.c **** HAL_GPIO_WritePin(GPIOA, GPIO_PIN_8, (CE) ? GPIO_PIN_SET : GPIO_PIN_RESET); - 253 .loc 1 152 48 is_stmt 1 view -0 + 168:Core/Src/main.c **** HAL_GPIO_WritePin(GPIOA, GPIO_PIN_8, (CE) ? GPIO_PIN_SET : GPIO_PIN_RESET); + 253 .loc 1 168 48 is_stmt 1 view -0 254 .cfi_startproc 255 @ args = 0, pretend = 0, frame = 0 256 @ frame_needed = 0, uses_anonymous_args = 0 - 152:Core/Src/main.c **** HAL_GPIO_WritePin(GPIOA, GPIO_PIN_8, (CE) ? GPIO_PIN_SET : GPIO_PIN_RESET); - 257 .loc 1 152 48 is_stmt 0 view .LVU55 + 168:Core/Src/main.c **** HAL_GPIO_WritePin(GPIOA, GPIO_PIN_8, (CE) ? GPIO_PIN_SET : GPIO_PIN_RESET); + 257 .loc 1 168 48 is_stmt 0 view .LVU55 258 0000 70B5 push {r4, r5, r6, lr} 259 .LCFI5: 260 .cfi_def_cfa_offset 16 261 .cfi_offset 4, -16 262 .cfi_offset 5, -12 - ARM GAS /tmp/ccPiCTjg.s page 13 - - 263 .cfi_offset 6, -8 264 .cfi_offset 14, -4 265 0002 0E46 mov r6, r1 266 0004 1546 mov r5, r2 - 153:Core/Src/main.c **** HAL_GPIO_WritePin(GPIOA, GPIO_PIN_9, (OE) ? GPIO_PIN_SET : GPIO_PIN_RESET); - 267 .loc 1 153 3 is_stmt 1 view .LVU56 + 169:Core/Src/main.c **** HAL_GPIO_WritePin(GPIOA, GPIO_PIN_9, (OE) ? GPIO_PIN_SET : GPIO_PIN_RESET); + 267 .loc 1 169 3 is_stmt 1 view .LVU56 268 0006 0D4C ldr r4, .L18 269 0008 021E subs r2, r0, #0 270 .LVL11: - 153:Core/Src/main.c **** HAL_GPIO_WritePin(GPIOA, GPIO_PIN_9, (OE) ? GPIO_PIN_SET : GPIO_PIN_RESET); - 271 .loc 1 153 3 is_stmt 0 view .LVU57 + 169:Core/Src/main.c **** HAL_GPIO_WritePin(GPIOA, GPIO_PIN_9, (OE) ? GPIO_PIN_SET : GPIO_PIN_RESET); + 271 .loc 1 169 3 is_stmt 0 view .LVU57 272 000a 18BF it ne 273 000c 0122 movne r2, #1 274 000e 4FF48071 mov r1, #256 275 .LVL12: - 153:Core/Src/main.c **** HAL_GPIO_WritePin(GPIOA, GPIO_PIN_9, (OE) ? GPIO_PIN_SET : GPIO_PIN_RESET); - 276 .loc 1 153 3 view .LVU58 + 169:Core/Src/main.c **** HAL_GPIO_WritePin(GPIOA, GPIO_PIN_9, (OE) ? GPIO_PIN_SET : GPIO_PIN_RESET); + 276 .loc 1 169 3 view .LVU58 277 0012 2046 mov r0, r4 278 .LVL13: - 153:Core/Src/main.c **** HAL_GPIO_WritePin(GPIOA, GPIO_PIN_9, (OE) ? GPIO_PIN_SET : GPIO_PIN_RESET); - 279 .loc 1 153 3 view .LVU59 + 169:Core/Src/main.c **** HAL_GPIO_WritePin(GPIOA, GPIO_PIN_9, (OE) ? GPIO_PIN_SET : GPIO_PIN_RESET); + 279 .loc 1 169 3 view .LVU59 280 0014 FFF7FEFF bl HAL_GPIO_WritePin 281 .LVL14: - 154:Core/Src/main.c **** HAL_GPIO_WritePin(GPIOA, GPIO_PIN_10,(WE) ? GPIO_PIN_SET : GPIO_PIN_RESET); - 282 .loc 1 154 3 is_stmt 1 view .LVU60 + 170:Core/Src/main.c **** HAL_GPIO_WritePin(GPIOA, GPIO_PIN_10,(WE) ? GPIO_PIN_SET : GPIO_PIN_RESET); + 282 .loc 1 170 3 is_stmt 1 view .LVU60 283 0018 321E subs r2, r6, #0 284 001a 18BF it ne 285 001c 0122 movne r2, #1 @@ -753,8 +769,8 @@ ARM GAS /tmp/ccPiCTjg.s page 1 287 0022 2046 mov r0, r4 288 0024 FFF7FEFF bl HAL_GPIO_WritePin 289 .LVL15: - 155:Core/Src/main.c **** } - 290 .loc 1 155 3 view .LVU61 + 171:Core/Src/main.c **** } + 290 .loc 1 171 3 view .LVU61 291 0028 2A1E subs r2, r5, #0 292 002a 18BF it ne 293 002c 0122 movne r2, #1 @@ -762,13 +778,16 @@ ARM GAS /tmp/ccPiCTjg.s page 1 295 0032 2046 mov r0, r4 296 0034 FFF7FEFF bl HAL_GPIO_WritePin 297 .LVL16: - 156:Core/Src/main.c **** - 298 .loc 1 156 1 is_stmt 0 view .LVU62 + ARM GAS /tmp/ccwcoXyi.s page 14 + + + 172:Core/Src/main.c **** + 298 .loc 1 172 1 is_stmt 0 view .LVU62 299 0038 70BD pop {r4, r5, r6, pc} 300 .LVL17: 301 .L19: - 156:Core/Src/main.c **** - 302 .loc 1 156 1 view .LVU63 + 172:Core/Src/main.c **** + 302 .loc 1 172 1 view .LVU63 303 003a 00BF .align 2 304 .L18: 305 003c 00000240 .word 1073872896 @@ -778,22 +797,19 @@ ARM GAS /tmp/ccPiCTjg.s page 1 310 .align 1 311 .global Data_Pins_Init 312 .syntax unified - ARM GAS /tmp/ccPiCTjg.s page 14 - - 313 .thumb 314 .thumb_func 315 .fpu fpv4-sp-d16 317 Data_Pins_Init: 318 .LVL18: 319 .LFB151: - 316:Core/Src/main.c **** GPIO_InitTypeDef GPIO_InitStruct = {0}; - 320 .loc 1 316 35 is_stmt 1 view -0 + 332:Core/Src/main.c **** GPIO_InitTypeDef GPIO_InitStruct = {0}; + 320 .loc 1 332 35 is_stmt 1 view -0 321 .cfi_startproc 322 @ args = 0, pretend = 0, frame = 24 323 @ frame_needed = 0, uses_anonymous_args = 0 - 316:Core/Src/main.c **** GPIO_InitTypeDef GPIO_InitStruct = {0}; - 324 .loc 1 316 35 is_stmt 0 view .LVU65 + 332:Core/Src/main.c **** GPIO_InitTypeDef GPIO_InitStruct = {0}; + 324 .loc 1 332 35 is_stmt 0 view .LVU65 325 0000 00B5 push {lr} 326 .LCFI6: 327 .cfi_def_cfa_offset 4 @@ -801,51 +817,51 @@ ARM GAS /tmp/ccPiCTjg.s page 1 329 0002 87B0 sub sp, sp, #28 330 .LCFI7: 331 .cfi_def_cfa_offset 32 - 317:Core/Src/main.c **** - 332 .loc 1 317 3 is_stmt 1 view .LVU66 - 317:Core/Src/main.c **** - 333 .loc 1 317 20 is_stmt 0 view .LVU67 + 333:Core/Src/main.c **** + 332 .loc 1 333 3 is_stmt 1 view .LVU66 + 333:Core/Src/main.c **** + 333 .loc 1 333 20 is_stmt 0 view .LVU67 334 0004 0023 movs r3, #0 335 0006 0193 str r3, [sp, #4] 336 0008 0293 str r3, [sp, #8] 337 000a 0393 str r3, [sp, #12] 338 000c 0493 str r3, [sp, #16] 339 000e 0593 str r3, [sp, #20] - 320:Core/Src/main.c **** GPIO_PIN_4 | GPIO_PIN_5 | GPIO_PIN_6 | GPIO_PIN_7; - 340 .loc 1 320 3 is_stmt 1 view .LVU68 - 320:Core/Src/main.c **** GPIO_PIN_4 | GPIO_PIN_5 | GPIO_PIN_6 | GPIO_PIN_7; - 341 .loc 1 320 23 is_stmt 0 view .LVU69 + 336:Core/Src/main.c **** GPIO_PIN_4 | GPIO_PIN_5 | GPIO_PIN_6 | GPIO_PIN_7; + 340 .loc 1 336 3 is_stmt 1 view .LVU68 + 336:Core/Src/main.c **** GPIO_PIN_4 | GPIO_PIN_5 | GPIO_PIN_6 | GPIO_PIN_7; + 341 .loc 1 336 23 is_stmt 0 view .LVU69 342 0010 41F6F303 movw r3, #6387 343 0014 0193 str r3, [sp, #4] - 322:Core/Src/main.c **** GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; // Push-pull output - 344 .loc 1 322 3 is_stmt 1 view .LVU70 - 322:Core/Src/main.c **** GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; // Push-pull output - 345 .loc 1 322 5 is_stmt 0 view .LVU71 + 338:Core/Src/main.c **** GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; // Push-pull output + 344 .loc 1 338 3 is_stmt 1 view .LVU70 + 338:Core/Src/main.c **** GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; // Push-pull output + 345 .loc 1 338 5 is_stmt 0 view .LVU71 346 0016 0128 cmp r0, #1 + ARM GAS /tmp/ccwcoXyi.s page 15 + + 347 0018 08D0 beq .L24 - 327:Core/Src/main.c **** GPIO_InitStruct.Pull = GPIO_PULLDOWN; // No pull-up/down - 348 .loc 1 327 5 is_stmt 1 view .LVU72 - 328:Core/Src/main.c **** } - 349 .loc 1 328 5 view .LVU73 - 328:Core/Src/main.c **** } - 350 .loc 1 328 26 is_stmt 0 view .LVU74 + 343:Core/Src/main.c **** GPIO_InitStruct.Pull = GPIO_PULLDOWN; // No pull-up/down + 348 .loc 1 343 5 is_stmt 1 view .LVU72 + 344:Core/Src/main.c **** } + 349 .loc 1 344 5 view .LVU73 + 344:Core/Src/main.c **** } + 350 .loc 1 344 26 is_stmt 0 view .LVU74 351 001a 0223 movs r3, #2 352 001c 0393 str r3, [sp, #12] 353 .L22: - 330:Core/Src/main.c **** } - 354 .loc 1 330 3 is_stmt 1 view .LVU75 + 346:Core/Src/main.c **** } + 354 .loc 1 346 3 is_stmt 1 view .LVU75 355 001e 01A9 add r1, sp, #4 356 0020 0548 ldr r0, .L25 357 .LVL19: - 330:Core/Src/main.c **** } - ARM GAS /tmp/ccPiCTjg.s page 15 - - - 358 .loc 1 330 3 is_stmt 0 view .LVU76 + 346:Core/Src/main.c **** } + 358 .loc 1 346 3 is_stmt 0 view .LVU76 359 0022 FFF7FEFF bl HAL_GPIO_Init 360 .LVL20: - 331:Core/Src/main.c **** - 361 .loc 1 331 1 view .LVU77 + 347:Core/Src/main.c **** + 361 .loc 1 347 1 view .LVU77 362 0026 07B0 add sp, sp, #28 363 .LCFI8: 364 .cfi_remember_state @@ -856,18 +872,18 @@ ARM GAS /tmp/ccPiCTjg.s page 1 369 .L24: 370 .LCFI9: 371 .cfi_restore_state - 323:Core/Src/main.c **** GPIO_InitStruct.Pull = GPIO_NOPULL; // No pull-up/down - 372 .loc 1 323 5 is_stmt 1 view .LVU78 - 323:Core/Src/main.c **** GPIO_InitStruct.Pull = GPIO_NOPULL; // No pull-up/down - 373 .loc 1 323 26 is_stmt 0 view .LVU79 + 339:Core/Src/main.c **** GPIO_InitStruct.Pull = GPIO_NOPULL; // No pull-up/down + 372 .loc 1 339 5 is_stmt 1 view .LVU78 + 339:Core/Src/main.c **** GPIO_InitStruct.Pull = GPIO_NOPULL; // No pull-up/down + 373 .loc 1 339 26 is_stmt 0 view .LVU79 374 002c 0123 movs r3, #1 375 002e 0293 str r3, [sp, #8] - 324:Core/Src/main.c **** GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; // Fast switching - 376 .loc 1 324 5 is_stmt 1 view .LVU80 - 325:Core/Src/main.c **** }else{ - 377 .loc 1 325 5 view .LVU81 - 325:Core/Src/main.c **** }else{ - 378 .loc 1 325 27 is_stmt 0 view .LVU82 + 340:Core/Src/main.c **** GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; // Fast switching + 376 .loc 1 340 5 is_stmt 1 view .LVU80 + 341:Core/Src/main.c **** }else{ + 377 .loc 1 341 5 view .LVU81 + 341:Core/Src/main.c **** }else{ + 378 .loc 1 341 27 is_stmt 0 view .LVU82 379 0030 0223 movs r3, #2 380 0032 0493 str r3, [sp, #16] 381 0034 F3E7 b .L22 @@ -882,12 +898,15 @@ ARM GAS /tmp/ccPiCTjg.s page 1 391 .global Receive_Data 392 .syntax unified 393 .thumb + ARM GAS /tmp/ccwcoXyi.s page 16 + + 394 .thumb_func 395 .fpu fpv4-sp-d16 397 Receive_Data: 398 .LFB139: - 124:Core/Src/main.c **** Data_Pins_Init(0); // We make sure it's in input mode - 399 .loc 1 124 23 is_stmt 1 view -0 + 140:Core/Src/main.c **** Data_Pins_Init(0); // We make sure it's in input mode + 399 .loc 1 140 23 is_stmt 1 view -0 400 .cfi_startproc 401 @ args = 0, pretend = 0, frame = 32 402 @ frame_needed = 0, uses_anonymous_args = 0 @@ -898,100 +917,97 @@ ARM GAS /tmp/ccPiCTjg.s page 1 407 .cfi_offset 5, -8 408 .cfi_offset 14, -4 409 0002 89B0 sub sp, sp, #36 - ARM GAS /tmp/ccPiCTjg.s page 16 - - 410 .LCFI11: 411 .cfi_def_cfa_offset 48 - 125:Core/Src/main.c **** int result = 0; - 412 .loc 1 125 3 view .LVU84 + 141:Core/Src/main.c **** int result = 0; + 412 .loc 1 141 3 view .LVU84 413 0004 0020 movs r0, #0 414 0006 FFF7FEFF bl Data_Pins_Init 415 .LVL22: - 126:Core/Src/main.c **** int pin_array[] = { - 416 .loc 1 126 3 view .LVU85 - 127:Core/Src/main.c **** GPIO_PIN_0, GPIO_PIN_1, GPIO_PIN_11, GPIO_PIN_12, - 417 .loc 1 127 3 view .LVU86 - 127:Core/Src/main.c **** GPIO_PIN_0, GPIO_PIN_1, GPIO_PIN_11, GPIO_PIN_12, - 418 .loc 1 127 7 is_stmt 0 view .LVU87 + 142:Core/Src/main.c **** int pin_array[] = { + 416 .loc 1 142 3 view .LVU85 + 143:Core/Src/main.c **** GPIO_PIN_0, GPIO_PIN_1, GPIO_PIN_11, GPIO_PIN_12, + 417 .loc 1 143 3 view .LVU86 + 143:Core/Src/main.c **** GPIO_PIN_0, GPIO_PIN_1, GPIO_PIN_11, GPIO_PIN_12, + 418 .loc 1 143 7 is_stmt 0 view .LVU87 419 000a 6C46 mov r4, sp 420 000c 0E4D ldr r5, .L33 421 000e 0FCD ldmia r5!, {r0, r1, r2, r3} 422 0010 0FC4 stmia r4!, {r0, r1, r2, r3} 423 0012 95E80F00 ldm r5, {r0, r1, r2, r3} 424 0016 84E80F00 stm r4, {r0, r1, r2, r3} - 131:Core/Src/main.c **** if(HAL_GPIO_ReadPin(GPIOA, pin_array[i]) == GPIO_PIN_SET){ - 425 .loc 1 131 3 is_stmt 1 view .LVU88 + 147:Core/Src/main.c **** if(HAL_GPIO_ReadPin(GPIOA, pin_array[i]) == GPIO_PIN_SET){ + 425 .loc 1 147 3 is_stmt 1 view .LVU88 426 .LBB9: - 131:Core/Src/main.c **** if(HAL_GPIO_ReadPin(GPIOA, pin_array[i]) == GPIO_PIN_SET){ - 427 .loc 1 131 7 view .LVU89 + 147:Core/Src/main.c **** if(HAL_GPIO_ReadPin(GPIOA, pin_array[i]) == GPIO_PIN_SET){ + 427 .loc 1 147 7 view .LVU89 428 .LVL23: - 131:Core/Src/main.c **** if(HAL_GPIO_ReadPin(GPIOA, pin_array[i]) == GPIO_PIN_SET){ - 429 .loc 1 131 11 is_stmt 0 view .LVU90 + 147:Core/Src/main.c **** if(HAL_GPIO_ReadPin(GPIOA, pin_array[i]) == GPIO_PIN_SET){ + 429 .loc 1 147 11 is_stmt 0 view .LVU90 430 001a 0024 movs r4, #0 431 .LBE9: - 126:Core/Src/main.c **** int pin_array[] = { - 432 .loc 1 126 7 view .LVU91 + 142:Core/Src/main.c **** int pin_array[] = { + 432 .loc 1 142 7 view .LVU91 433 001c 2546 mov r5, r4 434 .LBB10: - 131:Core/Src/main.c **** if(HAL_GPIO_ReadPin(GPIOA, pin_array[i]) == GPIO_PIN_SET){ - 435 .loc 1 131 3 view .LVU92 + 147:Core/Src/main.c **** if(HAL_GPIO_ReadPin(GPIOA, pin_array[i]) == GPIO_PIN_SET){ + 435 .loc 1 147 3 view .LVU92 436 001e 00E0 b .L28 437 .LVL24: 438 .L29: - 131:Core/Src/main.c **** if(HAL_GPIO_ReadPin(GPIOA, pin_array[i]) == GPIO_PIN_SET){ - 439 .loc 1 131 21 is_stmt 1 discriminator 2 view .LVU93 - 131:Core/Src/main.c **** if(HAL_GPIO_ReadPin(GPIOA, pin_array[i]) == GPIO_PIN_SET){ - 440 .loc 1 131 22 is_stmt 0 discriminator 2 view .LVU94 + 147:Core/Src/main.c **** if(HAL_GPIO_ReadPin(GPIOA, pin_array[i]) == GPIO_PIN_SET){ + 439 .loc 1 147 21 is_stmt 1 discriminator 2 view .LVU93 + 147:Core/Src/main.c **** if(HAL_GPIO_ReadPin(GPIOA, pin_array[i]) == GPIO_PIN_SET){ + ARM GAS /tmp/ccwcoXyi.s page 17 + + + 440 .loc 1 147 22 is_stmt 0 discriminator 2 view .LVU94 441 0020 0134 adds r4, r4, #1 442 .LVL25: 443 .L28: - 131:Core/Src/main.c **** if(HAL_GPIO_ReadPin(GPIOA, pin_array[i]) == GPIO_PIN_SET){ - 444 .loc 1 131 16 is_stmt 1 discriminator 1 view .LVU95 - 131:Core/Src/main.c **** if(HAL_GPIO_ReadPin(GPIOA, pin_array[i]) == GPIO_PIN_SET){ - 445 .loc 1 131 3 is_stmt 0 discriminator 1 view .LVU96 + 147:Core/Src/main.c **** if(HAL_GPIO_ReadPin(GPIOA, pin_array[i]) == GPIO_PIN_SET){ + 444 .loc 1 147 16 is_stmt 1 discriminator 1 view .LVU95 + 147:Core/Src/main.c **** if(HAL_GPIO_ReadPin(GPIOA, pin_array[i]) == GPIO_PIN_SET){ + 445 .loc 1 147 3 is_stmt 0 discriminator 1 view .LVU96 446 0022 072C cmp r4, #7 447 0024 0DDC bgt .L32 - 132:Core/Src/main.c **** result += 1 << i; - 448 .loc 1 132 5 is_stmt 1 view .LVU97 - 132:Core/Src/main.c **** result += 1 << i; - 449 .loc 1 132 41 is_stmt 0 view .LVU98 + 148:Core/Src/main.c **** result += 1 << i; + 448 .loc 1 148 5 is_stmt 1 view .LVU97 + 148:Core/Src/main.c **** result += 1 << i; + 449 .loc 1 148 41 is_stmt 0 view .LVU98 450 0026 08AB add r3, sp, #32 451 0028 03EB8403 add r3, r3, r4, lsl #2 - ARM GAS /tmp/ccPiCTjg.s page 17 - - - 132:Core/Src/main.c **** result += 1 << i; - 452 .loc 1 132 8 view .LVU99 + 148:Core/Src/main.c **** result += 1 << i; + 452 .loc 1 148 8 view .LVU99 453 002c 33F8201C ldrh r1, [r3, #-32] 454 0030 0648 ldr r0, .L33+4 455 0032 FFF7FEFF bl HAL_GPIO_ReadPin 456 .LVL26: - 132:Core/Src/main.c **** result += 1 << i; - 457 .loc 1 132 7 view .LVU100 + 148:Core/Src/main.c **** result += 1 << i; + 457 .loc 1 148 7 view .LVU100 458 0036 0128 cmp r0, #1 459 0038 F2D1 bne .L29 - 133:Core/Src/main.c **** } - 460 .loc 1 133 7 is_stmt 1 view .LVU101 - 133:Core/Src/main.c **** } - 461 .loc 1 133 19 is_stmt 0 view .LVU102 + 149:Core/Src/main.c **** } + 460 .loc 1 149 7 is_stmt 1 view .LVU101 + 149:Core/Src/main.c **** } + 461 .loc 1 149 19 is_stmt 0 view .LVU102 462 003a 0123 movs r3, #1 463 003c A340 lsls r3, r3, r4 - 133:Core/Src/main.c **** } - 464 .loc 1 133 14 view .LVU103 + 149:Core/Src/main.c **** } + 464 .loc 1 149 14 view .LVU103 465 003e 1D44 add r5, r5, r3 466 .LVL27: - 133:Core/Src/main.c **** } - 467 .loc 1 133 14 view .LVU104 + 149:Core/Src/main.c **** } + 467 .loc 1 149 14 view .LVU104 468 0040 EEE7 b .L29 469 .L32: - 133:Core/Src/main.c **** } - 470 .loc 1 133 14 view .LVU105 + 149:Core/Src/main.c **** } + 470 .loc 1 149 14 view .LVU105 471 .LBE10: - 136:Core/Src/main.c **** } - 472 .loc 1 136 3 is_stmt 1 view .LVU106 - 137:Core/Src/main.c **** - 473 .loc 1 137 1 is_stmt 0 view .LVU107 + 152:Core/Src/main.c **** } + 472 .loc 1 152 3 is_stmt 1 view .LVU106 + 153:Core/Src/main.c **** + 473 .loc 1 153 1 is_stmt 0 view .LVU107 474 0042 2846 mov r0, r5 475 0044 09B0 add sp, sp, #36 476 .LCFI12: @@ -1000,8 +1016,11 @@ ARM GAS /tmp/ccPiCTjg.s page 1 479 0046 30BD pop {r4, r5, pc} 480 .LVL28: 481 .L34: - 137:Core/Src/main.c **** - 482 .loc 1 137 1 view .LVU108 + 153:Core/Src/main.c **** + 482 .loc 1 153 1 view .LVU108 + ARM GAS /tmp/ccwcoXyi.s page 18 + + 483 .align 2 484 .L33: 485 0048 4C000000 .word .LANCHOR0+76 @@ -1018,16 +1037,13 @@ ARM GAS /tmp/ccPiCTjg.s page 1 498 Write_Data: 499 .LVL29: 500 .LFB140: - ARM GAS /tmp/ccPiCTjg.s page 18 - - - 139:Core/Src/main.c **** Data_Pins_Init(1); // We make sure it's in output mode - 501 .loc 1 139 27 is_stmt 1 view -0 + 155:Core/Src/main.c **** Data_Pins_Init(1); // We make sure it's in output mode + 501 .loc 1 155 27 is_stmt 1 view -0 502 .cfi_startproc 503 @ args = 0, pretend = 0, frame = 32 504 @ frame_needed = 0, uses_anonymous_args = 0 - 139:Core/Src/main.c **** Data_Pins_Init(1); // We make sure it's in output mode - 505 .loc 1 139 27 is_stmt 0 view .LVU110 + 155:Core/Src/main.c **** Data_Pins_Init(1); // We make sure it's in output mode + 505 .loc 1 155 27 is_stmt 0 view .LVU110 506 0000 70B5 push {r4, r5, r6, lr} 507 .LCFI13: 508 .cfi_def_cfa_offset 16 @@ -1039,75 +1055,75 @@ ARM GAS /tmp/ccPiCTjg.s page 1 514 .LCFI14: 515 .cfi_def_cfa_offset 48 516 0004 0646 mov r6, r0 - 140:Core/Src/main.c **** int pin_array[] = { - 517 .loc 1 140 3 is_stmt 1 view .LVU111 + 156:Core/Src/main.c **** int pin_array[] = { + 517 .loc 1 156 3 is_stmt 1 view .LVU111 518 0006 0120 movs r0, #1 519 .LVL30: - 140:Core/Src/main.c **** int pin_array[] = { - 520 .loc 1 140 3 is_stmt 0 view .LVU112 + 156:Core/Src/main.c **** int pin_array[] = { + 520 .loc 1 156 3 is_stmt 0 view .LVU112 521 0008 FFF7FEFF bl Data_Pins_Init 522 .LVL31: - 141:Core/Src/main.c **** GPIO_PIN_0, GPIO_PIN_1, GPIO_PIN_11, GPIO_PIN_12, - 523 .loc 1 141 3 is_stmt 1 view .LVU113 - 141:Core/Src/main.c **** GPIO_PIN_0, GPIO_PIN_1, GPIO_PIN_11, GPIO_PIN_12, - 524 .loc 1 141 7 is_stmt 0 view .LVU114 + 157:Core/Src/main.c **** GPIO_PIN_0, GPIO_PIN_1, GPIO_PIN_11, GPIO_PIN_12, + 523 .loc 1 157 3 is_stmt 1 view .LVU113 + 157:Core/Src/main.c **** GPIO_PIN_0, GPIO_PIN_1, GPIO_PIN_11, GPIO_PIN_12, + 524 .loc 1 157 7 is_stmt 0 view .LVU114 525 000c 6C46 mov r4, sp 526 000e 134D ldr r5, .L42 527 0010 0FCD ldmia r5!, {r0, r1, r2, r3} 528 0012 0FC4 stmia r4!, {r0, r1, r2, r3} 529 0014 95E80F00 ldm r5, {r0, r1, r2, r3} 530 0018 84E80F00 stm r4, {r0, r1, r2, r3} - 145:Core/Src/main.c **** if((value >> i) & 1) HAL_GPIO_WritePin(GPIOA, pin_array[i], GPIO_PIN_SET); - 531 .loc 1 145 3 is_stmt 1 view .LVU115 + 161:Core/Src/main.c **** if((value >> i) & 1) HAL_GPIO_WritePin(GPIOA, pin_array[i], GPIO_PIN_SET); + 531 .loc 1 161 3 is_stmt 1 view .LVU115 532 .LBB11: - 145:Core/Src/main.c **** if((value >> i) & 1) HAL_GPIO_WritePin(GPIOA, pin_array[i], GPIO_PIN_SET); - 533 .loc 1 145 7 view .LVU116 + 161:Core/Src/main.c **** if((value >> i) & 1) HAL_GPIO_WritePin(GPIOA, pin_array[i], GPIO_PIN_SET); + 533 .loc 1 161 7 view .LVU116 + ARM GAS /tmp/ccwcoXyi.s page 19 + + 534 .LVL32: - 145:Core/Src/main.c **** if((value >> i) & 1) HAL_GPIO_WritePin(GPIOA, pin_array[i], GPIO_PIN_SET); - 535 .loc 1 145 11 is_stmt 0 view .LVU117 + 161:Core/Src/main.c **** if((value >> i) & 1) HAL_GPIO_WritePin(GPIOA, pin_array[i], GPIO_PIN_SET); + 535 .loc 1 161 11 is_stmt 0 view .LVU117 536 001c 0024 movs r4, #0 - 145:Core/Src/main.c **** if((value >> i) & 1) HAL_GPIO_WritePin(GPIOA, pin_array[i], GPIO_PIN_SET); - 537 .loc 1 145 3 view .LVU118 + 161:Core/Src/main.c **** if((value >> i) & 1) HAL_GPIO_WritePin(GPIOA, pin_array[i], GPIO_PIN_SET); + 537 .loc 1 161 3 view .LVU118 538 001e 09E0 b .L36 539 .LVL33: 540 .L37: - 147:Core/Src/main.c **** } - 541 .loc 1 147 10 is_stmt 1 view .LVU119 + 163:Core/Src/main.c **** } + 541 .loc 1 163 10 is_stmt 1 view .LVU119 542 0020 0022 movs r2, #0 543 0022 08AB add r3, sp, #32 544 0024 03EB8403 add r3, r3, r4, lsl #2 545 0028 33F8201C ldrh r1, [r3, #-32] 546 002c 0C48 ldr r0, .L42+4 - ARM GAS /tmp/ccPiCTjg.s page 19 - - 547 002e FFF7FEFF bl HAL_GPIO_WritePin 548 .LVL34: 549 .L38: - 145:Core/Src/main.c **** if((value >> i) & 1) HAL_GPIO_WritePin(GPIOA, pin_array[i], GPIO_PIN_SET); - 550 .loc 1 145 21 discriminator 2 view .LVU120 - 145:Core/Src/main.c **** if((value >> i) & 1) HAL_GPIO_WritePin(GPIOA, pin_array[i], GPIO_PIN_SET); - 551 .loc 1 145 22 is_stmt 0 discriminator 2 view .LVU121 + 161:Core/Src/main.c **** if((value >> i) & 1) HAL_GPIO_WritePin(GPIOA, pin_array[i], GPIO_PIN_SET); + 550 .loc 1 161 21 discriminator 2 view .LVU120 + 161:Core/Src/main.c **** if((value >> i) & 1) HAL_GPIO_WritePin(GPIOA, pin_array[i], GPIO_PIN_SET); + 551 .loc 1 161 22 is_stmt 0 discriminator 2 view .LVU121 552 0032 0134 adds r4, r4, #1 553 .LVL35: 554 .L36: - 145:Core/Src/main.c **** if((value >> i) & 1) HAL_GPIO_WritePin(GPIOA, pin_array[i], GPIO_PIN_SET); - 555 .loc 1 145 16 is_stmt 1 discriminator 1 view .LVU122 - 145:Core/Src/main.c **** if((value >> i) & 1) HAL_GPIO_WritePin(GPIOA, pin_array[i], GPIO_PIN_SET); - 556 .loc 1 145 3 is_stmt 0 discriminator 1 view .LVU123 + 161:Core/Src/main.c **** if((value >> i) & 1) HAL_GPIO_WritePin(GPIOA, pin_array[i], GPIO_PIN_SET); + 555 .loc 1 161 16 is_stmt 1 discriminator 1 view .LVU122 + 161:Core/Src/main.c **** if((value >> i) & 1) HAL_GPIO_WritePin(GPIOA, pin_array[i], GPIO_PIN_SET); + 556 .loc 1 161 3 is_stmt 0 discriminator 1 view .LVU123 557 0034 072C cmp r4, #7 558 0036 0EDC bgt .L41 - 146:Core/Src/main.c **** else HAL_GPIO_WritePin(GPIOA, pin_array[i], GPIO_PIN_RESET); - 559 .loc 1 146 5 is_stmt 1 view .LVU124 - 146:Core/Src/main.c **** else HAL_GPIO_WritePin(GPIOA, pin_array[i], GPIO_PIN_RESET); - 560 .loc 1 146 15 is_stmt 0 view .LVU125 + 162:Core/Src/main.c **** else HAL_GPIO_WritePin(GPIOA, pin_array[i], GPIO_PIN_RESET); + 559 .loc 1 162 5 is_stmt 1 view .LVU124 + 162:Core/Src/main.c **** else HAL_GPIO_WritePin(GPIOA, pin_array[i], GPIO_PIN_RESET); + 560 .loc 1 162 15 is_stmt 0 view .LVU125 561 0038 46FA04F3 asr r3, r6, r4 - 146:Core/Src/main.c **** else HAL_GPIO_WritePin(GPIOA, pin_array[i], GPIO_PIN_RESET); - 562 .loc 1 146 7 view .LVU126 + 162:Core/Src/main.c **** else HAL_GPIO_WritePin(GPIOA, pin_array[i], GPIO_PIN_RESET); + 562 .loc 1 162 7 view .LVU126 563 003c 13F0010F tst r3, #1 564 0040 EED0 beq .L37 - 146:Core/Src/main.c **** else HAL_GPIO_WritePin(GPIOA, pin_array[i], GPIO_PIN_RESET); - 565 .loc 1 146 26 is_stmt 1 discriminator 1 view .LVU127 + 162:Core/Src/main.c **** else HAL_GPIO_WritePin(GPIOA, pin_array[i], GPIO_PIN_RESET); + 565 .loc 1 162 26 is_stmt 1 discriminator 1 view .LVU127 566 0042 0122 movs r2, #1 567 0044 08AB add r3, sp, #32 568 0046 03EB8403 add r3, r3, r4, lsl #2 @@ -1117,11 +1133,14 @@ ARM GAS /tmp/ccPiCTjg.s page 1 572 .LVL36: 573 0054 EDE7 b .L38 574 .L41: - 146:Core/Src/main.c **** else HAL_GPIO_WritePin(GPIOA, pin_array[i], GPIO_PIN_RESET); - 575 .loc 1 146 26 is_stmt 0 discriminator 1 view .LVU128 + 162:Core/Src/main.c **** else HAL_GPIO_WritePin(GPIOA, pin_array[i], GPIO_PIN_RESET); + 575 .loc 1 162 26 is_stmt 0 discriminator 1 view .LVU128 576 .LBE11: - 149:Core/Src/main.c **** - 577 .loc 1 149 1 view .LVU129 + 165:Core/Src/main.c **** + 577 .loc 1 165 1 view .LVU129 + ARM GAS /tmp/ccwcoXyi.s page 20 + + 578 0056 08B0 add sp, sp, #32 579 .LCFI15: 580 .cfi_def_cfa_offset 16 @@ -1129,8 +1148,8 @@ ARM GAS /tmp/ccPiCTjg.s page 1 582 0058 70BD pop {r4, r5, r6, pc} 583 .LVL37: 584 .L43: - 149:Core/Src/main.c **** - 585 .loc 1 149 1 view .LVU130 + 165:Core/Src/main.c **** + 585 .loc 1 165 1 view .LVU130 586 005a 00BF .align 2 587 .L42: 588 005c 4C000000 .word .LANCHOR0+76 @@ -1138,9 +1157,6 @@ ARM GAS /tmp/ccPiCTjg.s page 1 590 .cfi_endproc 591 .LFE140: 593 .section .text.Write_Command,"ax",%progbits - ARM GAS /tmp/ccPiCTjg.s page 20 - - 594 .align 1 595 .global Write_Command 596 .syntax unified @@ -1150,13 +1166,13 @@ ARM GAS /tmp/ccPiCTjg.s page 1 601 Write_Command: 602 .LVL38: 603 .LFB142: - 158:Core/Src/main.c **** Write_Command_Pins(1, 1, 1); - 604 .loc 1 158 40 is_stmt 1 view -0 + 174:Core/Src/main.c **** Write_Command_Pins(1, 1, 1); + 604 .loc 1 174 40 is_stmt 1 view -0 605 .cfi_startproc 606 @ args = 0, pretend = 0, frame = 0 607 @ frame_needed = 0, uses_anonymous_args = 0 - 158:Core/Src/main.c **** Write_Command_Pins(1, 1, 1); - 608 .loc 1 158 40 is_stmt 0 view .LVU132 + 174:Core/Src/main.c **** Write_Command_Pins(1, 1, 1); + 608 .loc 1 174 40 is_stmt 0 view .LVU132 609 0000 38B5 push {r3, r4, r5, lr} 610 .LCFI16: 611 .cfi_def_cfa_offset 16 @@ -1166,65 +1182,65 @@ ARM GAS /tmp/ccPiCTjg.s page 1 615 .cfi_offset 14, -4 616 0002 0546 mov r5, r0 617 0004 0C46 mov r4, r1 - 159:Core/Src/main.c **** Write_Address(addr); - 618 .loc 1 159 5 is_stmt 1 view .LVU133 + 175:Core/Src/main.c **** Write_Address(addr); + 618 .loc 1 175 5 is_stmt 1 view .LVU133 619 0006 0122 movs r2, #1 620 0008 1146 mov r1, r2 621 .LVL39: - 159:Core/Src/main.c **** Write_Address(addr); - 622 .loc 1 159 5 is_stmt 0 view .LVU134 + 175:Core/Src/main.c **** Write_Address(addr); + 622 .loc 1 175 5 is_stmt 0 view .LVU134 623 000a 1046 mov r0, r2 624 .LVL40: - 159:Core/Src/main.c **** Write_Address(addr); - 625 .loc 1 159 5 view .LVU135 + 175:Core/Src/main.c **** Write_Address(addr); + 625 .loc 1 175 5 view .LVU135 626 000c FFF7FEFF bl Write_Command_Pins 627 .LVL41: - 160:Core/Src/main.c **** Write_Data(data); - 628 .loc 1 160 5 is_stmt 1 view .LVU136 + 176:Core/Src/main.c **** Write_Data(data); + 628 .loc 1 176 5 is_stmt 1 view .LVU136 629 0010 2846 mov r0, r5 + ARM GAS /tmp/ccwcoXyi.s page 21 + + 630 0012 FFF7FEFF bl Write_Address 631 .LVL42: - 161:Core/Src/main.c **** Write_Command_Pins(0, 1, 1); - 632 .loc 1 161 5 view .LVU137 + 177:Core/Src/main.c **** Write_Command_Pins(0, 1, 1); + 632 .loc 1 177 5 view .LVU137 633 0016 2046 mov r0, r4 634 0018 FFF7FEFF bl Write_Data 635 .LVL43: - 162:Core/Src/main.c **** // 4. Pulse WE# low to latch data - 636 .loc 1 162 5 view .LVU138 + 178:Core/Src/main.c **** // 4. Pulse WE# low to latch data + 636 .loc 1 178 5 view .LVU138 637 001c 0122 movs r2, #1 638 001e 1146 mov r1, r2 639 0020 0020 movs r0, #0 640 0022 FFF7FEFF bl Write_Command_Pins 641 .LVL44: - 164:Core/Src/main.c **** Write_Command_Pins(0, 1, 1); // WE high - 642 .loc 1 164 5 view .LVU139 - ARM GAS /tmp/ccPiCTjg.s page 21 - - + 180:Core/Src/main.c **** Write_Command_Pins(0, 1, 1); // WE high + 642 .loc 1 180 5 view .LVU139 643 0026 0022 movs r2, #0 644 0028 0121 movs r1, #1 645 002a 1046 mov r0, r2 646 002c FFF7FEFF bl Write_Command_Pins 647 .LVL45: - 165:Core/Src/main.c **** - 648 .loc 1 165 5 view .LVU140 + 181:Core/Src/main.c **** + 648 .loc 1 181 5 view .LVU140 649 0030 0122 movs r2, #1 650 0032 1146 mov r1, r2 651 0034 0020 movs r0, #0 652 0036 FFF7FEFF bl Write_Command_Pins 653 .LVL46: - 168:Core/Src/main.c **** } - 654 .loc 1 168 5 view .LVU141 + 184:Core/Src/main.c **** } + 654 .loc 1 184 5 view .LVU141 655 003a 0122 movs r2, #1 656 003c 1146 mov r1, r2 657 003e 1046 mov r0, r2 658 0040 FFF7FEFF bl Write_Command_Pins 659 .LVL47: - 169:Core/Src/main.c **** - 660 .loc 1 169 1 is_stmt 0 view .LVU142 + 185:Core/Src/main.c **** + 660 .loc 1 185 1 is_stmt 0 view .LVU142 661 0044 38BD pop {r3, r4, r5, pc} - 169:Core/Src/main.c **** - 662 .loc 1 169 1 view .LVU143 + 185:Core/Src/main.c **** + 662 .loc 1 185 1 view .LVU143 663 .cfi_endproc 664 .LFE142: 666 .section .text.Chip_Erase,"ax",%progbits @@ -1236,62 +1252,62 @@ ARM GAS /tmp/ccPiCTjg.s page 1 672 .fpu fpv4-sp-d16 674 Chip_Erase: 675 .LFB146: - 218:Core/Src/main.c **** // Erase sequence - 676 .loc 1 218 22 is_stmt 1 view -0 + 234:Core/Src/main.c **** // Erase sequence + 676 .loc 1 234 22 is_stmt 1 view -0 677 .cfi_startproc 678 @ args = 0, pretend = 0, frame = 0 679 @ frame_needed = 0, uses_anonymous_args = 0 680 0000 08B5 push {r3, lr} + ARM GAS /tmp/ccwcoXyi.s page 22 + + 681 .LCFI17: 682 .cfi_def_cfa_offset 8 683 .cfi_offset 3, -8 684 .cfi_offset 14, -4 - 220:Core/Src/main.c **** Write_Command(0x2AAA, 0x55); - 685 .loc 1 220 3 view .LVU145 + 236:Core/Src/main.c **** Write_Command(0x2AAA, 0x55); + 685 .loc 1 236 3 view .LVU145 686 0002 AA21 movs r1, #170 687 0004 45F25550 movw r0, #21845 688 0008 FFF7FEFF bl Write_Command 689 .LVL48: - 221:Core/Src/main.c **** Write_Command(0x5555, 0x80); - 690 .loc 1 221 3 view .LVU146 + 237:Core/Src/main.c **** Write_Command(0x5555, 0x80); + 690 .loc 1 237 3 view .LVU146 691 000c 5521 movs r1, #85 692 000e 42F6AA20 movw r0, #10922 693 0012 FFF7FEFF bl Write_Command 694 .LVL49: - ARM GAS /tmp/ccPiCTjg.s page 22 - - - 222:Core/Src/main.c **** Write_Command(0x5555, 0xAA); - 695 .loc 1 222 3 view .LVU147 + 238:Core/Src/main.c **** Write_Command(0x5555, 0xAA); + 695 .loc 1 238 3 view .LVU147 696 0016 8021 movs r1, #128 697 0018 45F25550 movw r0, #21845 698 001c FFF7FEFF bl Write_Command 699 .LVL50: - 223:Core/Src/main.c **** Write_Command(0x2AAA, 0x55); - 700 .loc 1 223 3 view .LVU148 + 239:Core/Src/main.c **** Write_Command(0x2AAA, 0x55); + 700 .loc 1 239 3 view .LVU148 701 0020 AA21 movs r1, #170 702 0022 45F25550 movw r0, #21845 703 0026 FFF7FEFF bl Write_Command 704 .LVL51: - 224:Core/Src/main.c **** Write_Command(0x5555, 0x10); - 705 .loc 1 224 3 view .LVU149 + 240:Core/Src/main.c **** Write_Command(0x5555, 0x10); + 705 .loc 1 240 3 view .LVU149 706 002a 5521 movs r1, #85 707 002c 42F6AA20 movw r0, #10922 708 0030 FFF7FEFF bl Write_Command 709 .LVL52: - 225:Core/Src/main.c **** - 710 .loc 1 225 3 view .LVU150 + 241:Core/Src/main.c **** + 710 .loc 1 241 3 view .LVU150 711 0034 1021 movs r1, #16 712 0036 45F25550 movw r0, #21845 713 003a FFF7FEFF bl Write_Command 714 .LVL53: - 227:Core/Src/main.c **** } - 715 .loc 1 227 3 view .LVU151 + 243:Core/Src/main.c **** } + 715 .loc 1 243 3 view .LVU151 716 003e 9620 movs r0, #150 717 0040 FFF7FEFF bl HAL_Delay 718 .LVL54: - 228:Core/Src/main.c **** - 719 .loc 1 228 1 is_stmt 0 view .LVU152 + 244:Core/Src/main.c **** + 719 .loc 1 244 1 is_stmt 0 view .LVU152 720 0044 08BD pop {r3, pc} 721 .cfi_endproc 722 .LFE146: @@ -1302,66 +1318,69 @@ ARM GAS /tmp/ccPiCTjg.s page 1 728 .thumb 729 .thumb_func 730 .fpu fpv4-sp-d16 + ARM GAS /tmp/ccwcoXyi.s page 23 + + 732 Chip_Program_Byte: 733 .LVL55: 734 .LFB147: - 230:Core/Src/main.c **** Write_Command(0x5555, 0xAA); - 735 .loc 1 230 43 is_stmt 1 view -0 + 246:Core/Src/main.c **** Write_Command(0x5555, 0xAA); + 735 .loc 1 246 43 is_stmt 1 view -0 736 .cfi_startproc 737 @ args = 0, pretend = 0, frame = 0 738 @ frame_needed = 0, uses_anonymous_args = 0 - 230:Core/Src/main.c **** Write_Command(0x5555, 0xAA); - 739 .loc 1 230 43 is_stmt 0 view .LVU154 + 246:Core/Src/main.c **** Write_Command(0x5555, 0xAA); + 739 .loc 1 246 43 is_stmt 0 view .LVU154 740 0000 38B5 push {r3, r4, r5, lr} 741 .LCFI18: 742 .cfi_def_cfa_offset 16 743 .cfi_offset 3, -16 744 .cfi_offset 4, -12 745 .cfi_offset 5, -8 - ARM GAS /tmp/ccPiCTjg.s page 23 - - 746 .cfi_offset 14, -4 747 0002 0446 mov r4, r0 748 0004 0D46 mov r5, r1 - 231:Core/Src/main.c **** Write_Command(0x2AAA, 0x55); - 749 .loc 1 231 3 is_stmt 1 view .LVU155 + 247:Core/Src/main.c **** Write_Command(0x2AAA, 0x55); + 749 .loc 1 247 3 is_stmt 1 view .LVU155 750 0006 AA21 movs r1, #170 751 .LVL56: - 231:Core/Src/main.c **** Write_Command(0x2AAA, 0x55); - 752 .loc 1 231 3 is_stmt 0 view .LVU156 + 247:Core/Src/main.c **** Write_Command(0x2AAA, 0x55); + 752 .loc 1 247 3 is_stmt 0 view .LVU156 753 0008 45F25550 movw r0, #21845 754 .LVL57: - 231:Core/Src/main.c **** Write_Command(0x2AAA, 0x55); - 755 .loc 1 231 3 view .LVU157 + 247:Core/Src/main.c **** Write_Command(0x2AAA, 0x55); + 755 .loc 1 247 3 view .LVU157 756 000c FFF7FEFF bl Write_Command 757 .LVL58: - 232:Core/Src/main.c **** Write_Command(0x5555, 0xA0); - 758 .loc 1 232 3 is_stmt 1 view .LVU158 + 248:Core/Src/main.c **** Write_Command(0x5555, 0xA0); + 758 .loc 1 248 3 is_stmt 1 view .LVU158 759 0010 5521 movs r1, #85 760 0012 42F6AA20 movw r0, #10922 761 0016 FFF7FEFF bl Write_Command 762 .LVL59: - 233:Core/Src/main.c **** Write_Command(addr, data); - 763 .loc 1 233 3 view .LVU159 + 249:Core/Src/main.c **** Write_Command(addr, data); + 763 .loc 1 249 3 view .LVU159 764 001a A021 movs r1, #160 765 001c 45F25550 movw r0, #21845 766 0020 FFF7FEFF bl Write_Command 767 .LVL60: - 234:Core/Src/main.c **** } - 768 .loc 1 234 3 view .LVU160 + 250:Core/Src/main.c **** } + 768 .loc 1 250 3 view .LVU160 769 0024 2946 mov r1, r5 770 0026 2046 mov r0, r4 771 0028 FFF7FEFF bl Write_Command 772 .LVL61: - 235:Core/Src/main.c **** - 773 .loc 1 235 1 is_stmt 0 view .LVU161 + 251:Core/Src/main.c **** + 773 .loc 1 251 1 is_stmt 0 view .LVU161 774 002c 38BD pop {r3, r4, r5, pc} - 235:Core/Src/main.c **** - 775 .loc 1 235 1 view .LVU162 + 251:Core/Src/main.c **** + 775 .loc 1 251 1 view .LVU162 776 .cfi_endproc 777 .LFE147: 779 .section .text.Flash_ReadByte,"ax",%progbits + ARM GAS /tmp/ccwcoXyi.s page 24 + + 780 .align 1 781 .global Flash_ReadByte 782 .syntax unified @@ -1371,63 +1390,63 @@ ARM GAS /tmp/ccPiCTjg.s page 1 787 Flash_ReadByte: 788 .LVL62: 789 .LFB143: - 171:Core/Src/main.c **** Write_Address(addr); - 790 .loc 1 171 30 is_stmt 1 view -0 + 187:Core/Src/main.c **** Write_Address(addr); + 790 .loc 1 187 30 is_stmt 1 view -0 791 .cfi_startproc 792 @ args = 0, pretend = 0, frame = 0 793 @ frame_needed = 0, uses_anonymous_args = 0 - 171:Core/Src/main.c **** Write_Address(addr); - 794 .loc 1 171 30 is_stmt 0 view .LVU164 - ARM GAS /tmp/ccPiCTjg.s page 24 - - + 187:Core/Src/main.c **** Write_Address(addr); + 794 .loc 1 187 30 is_stmt 0 view .LVU164 795 0000 10B5 push {r4, lr} 796 .LCFI19: 797 .cfi_def_cfa_offset 8 798 .cfi_offset 4, -8 799 .cfi_offset 14, -4 - 172:Core/Src/main.c **** Data_Pins_Init(0); - 800 .loc 1 172 5 is_stmt 1 view .LVU165 + 188:Core/Src/main.c **** Data_Pins_Init(0); + 800 .loc 1 188 5 is_stmt 1 view .LVU165 801 0002 FFF7FEFF bl Write_Address 802 .LVL63: - 173:Core/Src/main.c **** Write_Command_Pins(0, 0, 1); - 803 .loc 1 173 5 view .LVU166 + 189:Core/Src/main.c **** Write_Command_Pins(0, 0, 1); + 803 .loc 1 189 5 view .LVU166 804 0006 0020 movs r0, #0 805 0008 FFF7FEFF bl Data_Pins_Init 806 .LVL64: - 174:Core/Src/main.c **** int data = Receive_Data(); - 807 .loc 1 174 5 view .LVU167 + 190:Core/Src/main.c **** int data = Receive_Data(); + 807 .loc 1 190 5 view .LVU167 808 000c 0122 movs r2, #1 809 000e 0021 movs r1, #0 810 0010 0846 mov r0, r1 811 0012 FFF7FEFF bl Write_Command_Pins 812 .LVL65: - 175:Core/Src/main.c **** Write_Command_Pins(1, 1, 1); - 813 .loc 1 175 5 view .LVU168 - 175:Core/Src/main.c **** Write_Command_Pins(1, 1, 1); - 814 .loc 1 175 16 is_stmt 0 view .LVU169 + 191:Core/Src/main.c **** Write_Command_Pins(1, 1, 1); + 813 .loc 1 191 5 view .LVU168 + 191:Core/Src/main.c **** Write_Command_Pins(1, 1, 1); + 814 .loc 1 191 16 is_stmt 0 view .LVU169 815 0016 FFF7FEFF bl Receive_Data 816 .LVL66: 817 001a 0446 mov r4, r0 818 .LVL67: - 176:Core/Src/main.c **** return data; - 819 .loc 1 176 5 is_stmt 1 view .LVU170 + 192:Core/Src/main.c **** return data; + 819 .loc 1 192 5 is_stmt 1 view .LVU170 820 001c 0122 movs r2, #1 821 001e 1146 mov r1, r2 822 0020 1046 mov r0, r2 823 .LVL68: - 176:Core/Src/main.c **** return data; - 824 .loc 1 176 5 is_stmt 0 view .LVU171 + 192:Core/Src/main.c **** return data; + 824 .loc 1 192 5 is_stmt 0 view .LVU171 825 0022 FFF7FEFF bl Write_Command_Pins 826 .LVL69: - 177:Core/Src/main.c **** } - 827 .loc 1 177 5 is_stmt 1 view .LVU172 - 178:Core/Src/main.c **** - 828 .loc 1 178 1 is_stmt 0 view .LVU173 + 193:Core/Src/main.c **** } + 827 .loc 1 193 5 is_stmt 1 view .LVU172 + ARM GAS /tmp/ccwcoXyi.s page 25 + + + 194:Core/Src/main.c **** + 828 .loc 1 194 1 is_stmt 0 view .LVU173 829 0026 2046 mov r0, r4 830 0028 10BD pop {r4, pc} - 178:Core/Src/main.c **** - 831 .loc 1 178 1 view .LVU174 + 194:Core/Src/main.c **** + 831 .loc 1 194 1 view .LVU174 832 .cfi_endproc 833 .LFE143: 835 .section .text.Enter_Device_ID,"ax",%progbits @@ -1438,18 +1457,15 @@ ARM GAS /tmp/ccPiCTjg.s page 1 840 .thumb_func 841 .fpu fpv4-sp-d16 843 Enter_Device_ID: - ARM GAS /tmp/ccPiCTjg.s page 25 - - 844 .LVL70: 845 .LFB144: - 180:Core/Src/main.c **** // Enter ID mode - 846 .loc 1 180 53 is_stmt 1 view -0 + 196:Core/Src/main.c **** // Enter ID mode + 846 .loc 1 196 53 is_stmt 1 view -0 847 .cfi_startproc 848 @ args = 0, pretend = 0, frame = 0 849 @ frame_needed = 0, uses_anonymous_args = 0 - 180:Core/Src/main.c **** // Enter ID mode - 850 .loc 1 180 53 is_stmt 0 view .LVU176 + 196:Core/Src/main.c **** // Enter ID mode + 850 .loc 1 196 53 is_stmt 0 view .LVU176 851 0000 38B5 push {r3, r4, r5, lr} 852 .LCFI20: 853 .cfi_def_cfa_offset 16 @@ -1459,64 +1475,64 @@ ARM GAS /tmp/ccPiCTjg.s page 1 857 .cfi_offset 14, -4 858 0002 0546 mov r5, r0 859 0004 0C46 mov r4, r1 - 182:Core/Src/main.c **** Write_Command(0x2AAA, 0x55); - 860 .loc 1 182 3 is_stmt 1 view .LVU177 + 198:Core/Src/main.c **** Write_Command(0x2AAA, 0x55); + 860 .loc 1 198 3 is_stmt 1 view .LVU177 861 0006 AA21 movs r1, #170 862 .LVL71: - 182:Core/Src/main.c **** Write_Command(0x2AAA, 0x55); - 863 .loc 1 182 3 is_stmt 0 view .LVU178 + 198:Core/Src/main.c **** Write_Command(0x2AAA, 0x55); + 863 .loc 1 198 3 is_stmt 0 view .LVU178 864 0008 45F25550 movw r0, #21845 865 .LVL72: - 182:Core/Src/main.c **** Write_Command(0x2AAA, 0x55); - 866 .loc 1 182 3 view .LVU179 + 198:Core/Src/main.c **** Write_Command(0x2AAA, 0x55); + 866 .loc 1 198 3 view .LVU179 867 000c FFF7FEFF bl Write_Command 868 .LVL73: - 183:Core/Src/main.c **** Write_Command(0x5555, 0x90); - 869 .loc 1 183 3 is_stmt 1 view .LVU180 + 199:Core/Src/main.c **** Write_Command(0x5555, 0x90); + 869 .loc 1 199 3 is_stmt 1 view .LVU180 870 0010 5521 movs r1, #85 871 0012 42F6AA20 movw r0, #10922 872 0016 FFF7FEFF bl Write_Command 873 .LVL74: - 184:Core/Src/main.c **** - 874 .loc 1 184 3 view .LVU181 + 200:Core/Src/main.c **** + 874 .loc 1 200 3 view .LVU181 875 001a 9021 movs r1, #144 876 001c 45F25550 movw r0, #21845 877 0020 FFF7FEFF bl Write_Command + ARM GAS /tmp/ccwcoXyi.s page 26 + + 878 .LVL75: - 187:Core/Src/main.c **** - 879 .loc 1 187 3 view .LVU182 - 187:Core/Src/main.c **** - 880 .loc 1 187 19 is_stmt 0 view .LVU183 + 203:Core/Src/main.c **** + 879 .loc 1 203 3 view .LVU182 + 203:Core/Src/main.c **** + 880 .loc 1 203 19 is_stmt 0 view .LVU183 881 0024 0020 movs r0, #0 882 0026 FFF7FEFF bl Flash_ReadByte 883 .LVL76: - 187:Core/Src/main.c **** - 884 .loc 1 187 17 view .LVU184 + 203:Core/Src/main.c **** + 884 .loc 1 203 17 view .LVU184 885 002a 2860 str r0, [r5] - 190:Core/Src/main.c **** - 886 .loc 1 190 3 is_stmt 1 view .LVU185 - 190:Core/Src/main.c **** - 887 .loc 1 190 13 is_stmt 0 view .LVU186 + 206:Core/Src/main.c **** + 886 .loc 1 206 3 is_stmt 1 view .LVU185 + 206:Core/Src/main.c **** + 887 .loc 1 206 13 is_stmt 0 view .LVU186 888 002c 0120 movs r0, #1 - ARM GAS /tmp/ccPiCTjg.s page 26 - - 889 002e FFF7FEFF bl Flash_ReadByte 890 .LVL77: - 190:Core/Src/main.c **** - 891 .loc 1 190 11 view .LVU187 + 206:Core/Src/main.c **** + 891 .loc 1 206 11 view .LVU187 892 0032 2060 str r0, [r4] - 193:Core/Src/main.c **** } - 893 .loc 1 193 3 is_stmt 1 view .LVU188 + 209:Core/Src/main.c **** } + 893 .loc 1 209 3 is_stmt 1 view .LVU188 894 0034 F021 movs r1, #240 895 0036 45F25550 movw r0, #21845 896 003a FFF7FEFF bl Write_Command 897 .LVL78: - 194:Core/Src/main.c **** - 898 .loc 1 194 1 is_stmt 0 view .LVU189 + 210:Core/Src/main.c **** + 898 .loc 1 210 1 is_stmt 0 view .LVU189 899 003e 38BD pop {r3, r4, r5, pc} - 194:Core/Src/main.c **** - 900 .loc 1 194 1 view .LVU190 + 210:Core/Src/main.c **** + 900 .loc 1 210 1 view .LVU190 901 .cfi_endproc 902 .LFE144: 904 .section .rodata.Dump_Flash_UART.str1.4,"aMS",%progbits,1 @@ -1537,13 +1553,16 @@ ARM GAS /tmp/ccPiCTjg.s page 1 919 Dump_Flash_UART: 920 .LVL79: 921 .LFB145: - 196:Core/Src/main.c **** uint8_t byte; - 922 .loc 1 196 40 is_stmt 1 view -0 + 212:Core/Src/main.c **** uint8_t byte; + 922 .loc 1 212 40 is_stmt 1 view -0 923 .cfi_startproc 924 @ args = 0, pretend = 0, frame = 16 925 @ frame_needed = 0, uses_anonymous_args = 0 - 196:Core/Src/main.c **** uint8_t byte; - 926 .loc 1 196 40 is_stmt 0 view .LVU192 + ARM GAS /tmp/ccwcoXyi.s page 27 + + + 212:Core/Src/main.c **** uint8_t byte; + 926 .loc 1 212 40 is_stmt 0 view .LVU192 927 0000 30B5 push {r4, r5, lr} 928 .LCFI21: 929 .cfi_def_cfa_offset 12 @@ -1554,532 +1573,534 @@ ARM GAS /tmp/ccPiCTjg.s page 1 934 .LCFI22: 935 .cfi_def_cfa_offset 32 936 0004 0546 mov r5, r0 - 197:Core/Src/main.c **** char buf[8]; - 937 .loc 1 197 3 is_stmt 1 view .LVU193 - 198:Core/Src/main.c **** - 938 .loc 1 198 3 view .LVU194 - ARM GAS /tmp/ccPiCTjg.s page 27 - - - 200:Core/Src/main.c **** byte = Flash_ReadByte(addr); - 939 .loc 1 200 3 view .LVU195 + 213:Core/Src/main.c **** char buf[8]; + 937 .loc 1 213 3 is_stmt 1 view .LVU193 + 214:Core/Src/main.c **** + 938 .loc 1 214 3 view .LVU194 + 216:Core/Src/main.c **** byte = Flash_ReadByte(addr); + 939 .loc 1 216 3 view .LVU195 940 .LBB12: - 200:Core/Src/main.c **** byte = Flash_ReadByte(addr); - 941 .loc 1 200 8 view .LVU196 + 216:Core/Src/main.c **** byte = Flash_ReadByte(addr); + 941 .loc 1 216 8 view .LVU196 942 .LVL80: - 200:Core/Src/main.c **** byte = Flash_ReadByte(addr); - 943 .loc 1 200 12 is_stmt 0 view .LVU197 + 216:Core/Src/main.c **** byte = Flash_ReadByte(addr); + 943 .loc 1 216 12 is_stmt 0 view .LVU197 944 0006 0024 movs r4, #0 - 200:Core/Src/main.c **** byte = Flash_ReadByte(addr); - 945 .loc 1 200 3 view .LVU198 + 216:Core/Src/main.c **** byte = Flash_ReadByte(addr); + 945 .loc 1 216 3 view .LVU198 946 0008 12E0 b .L55 947 .LVL81: 948 .L56: - 208:Core/Src/main.c **** HAL_UART_Transmit(&huart2, (uint8_t*)buf, strlen(buf), HAL_MAX_DELAY); - 949 .loc 1 208 7 is_stmt 1 view .LVU199 + 224:Core/Src/main.c **** HAL_UART_Transmit(&huart2, (uint8_t*)buf, strlen(buf), HAL_MAX_DELAY); + 949 .loc 1 224 7 is_stmt 1 view .LVU199 950 000a 1C49 ldr r1, .L62 951 000c 01A8 add r0, sp, #4 952 000e FFF7FEFF bl sprintf 953 .LVL82: - 209:Core/Src/main.c **** if ((addr & 0x0F) == 0x0F) { - 954 .loc 1 209 7 view .LVU200 - 209:Core/Src/main.c **** if ((addr & 0x0F) == 0x0F) { - 955 .loc 1 209 49 is_stmt 0 view .LVU201 + 225:Core/Src/main.c **** if ((addr & 0x0F) == 0x0F) { + 954 .loc 1 225 7 view .LVU200 + 225:Core/Src/main.c **** if ((addr & 0x0F) == 0x0F) { + 955 .loc 1 225 49 is_stmt 0 view .LVU201 956 0012 01A8 add r0, sp, #4 957 0014 FFF7FEFF bl strlen 958 .LVL83: - 209:Core/Src/main.c **** if ((addr & 0x0F) == 0x0F) { - 959 .loc 1 209 7 view .LVU202 + 225:Core/Src/main.c **** if ((addr & 0x0F) == 0x0F) { + 959 .loc 1 225 7 view .LVU202 960 0018 4FF0FF33 mov r3, #-1 961 001c 82B2 uxth r2, r0 962 001e 01A9 add r1, sp, #4 963 0020 1748 ldr r0, .L62+4 964 0022 FFF7FEFF bl HAL_UART_Transmit 965 .LVL84: - 210:Core/Src/main.c **** char newline[] = "\r\n"; - 966 .loc 1 210 7 is_stmt 1 view .LVU203 - 210:Core/Src/main.c **** char newline[] = "\r\n"; - 967 .loc 1 210 17 is_stmt 0 view .LVU204 + 226:Core/Src/main.c **** char newline[] = "\r\n"; + 966 .loc 1 226 7 is_stmt 1 view .LVU203 + 226:Core/Src/main.c **** char newline[] = "\r\n"; + 967 .loc 1 226 17 is_stmt 0 view .LVU204 968 0026 04F00F03 and r3, r4, #15 - 210:Core/Src/main.c **** char newline[] = "\r\n"; - 969 .loc 1 210 10 view .LVU205 + 226:Core/Src/main.c **** char newline[] = "\r\n"; + ARM GAS /tmp/ccwcoXyi.s page 28 + + + 969 .loc 1 226 10 view .LVU205 970 002a 0F2B cmp r3, #15 971 002c 14D0 beq .L60 972 .L57: - 200:Core/Src/main.c **** byte = Flash_ReadByte(addr); - 973 .loc 1 200 38 is_stmt 1 discriminator 2 view .LVU206 - 200:Core/Src/main.c **** byte = Flash_ReadByte(addr); - 974 .loc 1 200 42 is_stmt 0 discriminator 2 view .LVU207 + 216:Core/Src/main.c **** byte = Flash_ReadByte(addr); + 973 .loc 1 216 38 is_stmt 1 discriminator 2 view .LVU206 + 216:Core/Src/main.c **** byte = Flash_ReadByte(addr); + 974 .loc 1 216 42 is_stmt 0 discriminator 2 view .LVU207 975 002e 0134 adds r4, r4, #1 976 .LVL85: 977 .L55: - 200:Core/Src/main.c **** byte = Flash_ReadByte(addr); - 978 .loc 1 200 22 is_stmt 1 discriminator 1 view .LVU208 - 200:Core/Src/main.c **** byte = Flash_ReadByte(addr); - 979 .loc 1 200 3 is_stmt 0 discriminator 1 view .LVU209 - 980 0030 B4F5002F cmp r4, #524288 - ARM GAS /tmp/ccPiCTjg.s page 28 + 216:Core/Src/main.c **** byte = Flash_ReadByte(addr); + 978 .loc 1 216 22 is_stmt 1 discriminator 1 view .LVU208 + 216:Core/Src/main.c **** byte = Flash_ReadByte(addr); + 979 .loc 1 216 3 is_stmt 0 discriminator 1 view .LVU209 + 980 0030 144B ldr r3, .L62+8 + 981 0032 9C42 cmp r4, r3 + 982 0034 1FDC bgt .L61 + 217:Core/Src/main.c **** + 983 .loc 1 217 5 is_stmt 1 view .LVU210 + 217:Core/Src/main.c **** + 984 .loc 1 217 12 is_stmt 0 view .LVU211 + 985 0036 2046 mov r0, r4 + 986 0038 FFF7FEFF bl Flash_ReadByte + 987 .LVL86: + 217:Core/Src/main.c **** + 988 .loc 1 217 10 view .LVU212 + 989 003c C2B2 uxtb r2, r0 + 990 003e 8DF80F20 strb r2, [sp, #15] + 219:Core/Src/main.c **** // Send as raw byte: + 991 .loc 1 219 5 is_stmt 1 view .LVU213 + 219:Core/Src/main.c **** // Send as raw byte: + 992 .loc 1 219 7 is_stmt 0 view .LVU214 + 993 0042 002D cmp r5, #0 + 994 0044 E1D1 bne .L56 + 221:Core/Src/main.c **** }else{ + 995 .loc 1 221 7 is_stmt 1 view .LVU215 + 996 0046 4FF0FF33 mov r3, #-1 + 997 004a 0122 movs r2, #1 + 998 004c 0DF10F01 add r1, sp, #15 + 999 0050 0B48 ldr r0, .L62+4 + 1000 0052 FFF7FEFF bl HAL_UART_Transmit + 1001 .LVL87: + 1002 0056 EAE7 b .L57 + 1003 .L60: + 1004 .LBB13: + 227:Core/Src/main.c **** HAL_UART_Transmit(&huart2, (uint8_t*)newline, 2, HAL_MAX_DELAY); + 1005 .loc 1 227 9 view .LVU216 + 227:Core/Src/main.c **** HAL_UART_Transmit(&huart2, (uint8_t*)newline, 2, HAL_MAX_DELAY); + 1006 .loc 1 227 14 is_stmt 0 view .LVU217 + 1007 0058 0B4B ldr r3, .L62+12 + 1008 005a 1B68 ldr r3, [r3] + 1009 005c ADF80030 strh r3, [sp] @ movhi + 1010 0060 1B0C lsrs r3, r3, #16 + 1011 0062 8DF80230 strb r3, [sp, #2] + 228:Core/Src/main.c **** } + 1012 .loc 1 228 9 is_stmt 1 view .LVU218 + ARM GAS /tmp/ccwcoXyi.s page 29 - 981 0034 1FDA bge .L61 - 201:Core/Src/main.c **** - 982 .loc 1 201 5 is_stmt 1 view .LVU210 - 201:Core/Src/main.c **** - 983 .loc 1 201 12 is_stmt 0 view .LVU211 - 984 0036 2046 mov r0, r4 - 985 0038 FFF7FEFF bl Flash_ReadByte - 986 .LVL86: - 201:Core/Src/main.c **** - 987 .loc 1 201 10 view .LVU212 - 988 003c C2B2 uxtb r2, r0 - 989 003e 8DF80F20 strb r2, [sp, #15] - 203:Core/Src/main.c **** // Send as raw byte: - 990 .loc 1 203 5 is_stmt 1 view .LVU213 - 203:Core/Src/main.c **** // Send as raw byte: - 991 .loc 1 203 7 is_stmt 0 view .LVU214 - 992 0042 002D cmp r5, #0 - 993 0044 E1D1 bne .L56 - 205:Core/Src/main.c **** }else{ - 994 .loc 1 205 7 is_stmt 1 view .LVU215 - 995 0046 4FF0FF33 mov r3, #-1 - 996 004a 0122 movs r2, #1 - 997 004c 0DF10F01 add r1, sp, #15 - 998 0050 0B48 ldr r0, .L62+4 - 999 0052 FFF7FEFF bl HAL_UART_Transmit - 1000 .LVL87: - 1001 0056 EAE7 b .L57 - 1002 .L60: - 1003 .LBB13: - 211:Core/Src/main.c **** HAL_UART_Transmit(&huart2, (uint8_t*)newline, 2, HAL_MAX_DELAY); - 1004 .loc 1 211 9 view .LVU216 - 211:Core/Src/main.c **** HAL_UART_Transmit(&huart2, (uint8_t*)newline, 2, HAL_MAX_DELAY); - 1005 .loc 1 211 14 is_stmt 0 view .LVU217 - 1006 0058 0A4B ldr r3, .L62+8 - 1007 005a 1B68 ldr r3, [r3] - 1008 005c ADF80030 strh r3, [sp] @ movhi - 1009 0060 1B0C lsrs r3, r3, #16 - 1010 0062 8DF80230 strb r3, [sp, #2] - 212:Core/Src/main.c **** } - 1011 .loc 1 212 9 is_stmt 1 view .LVU218 - 1012 0066 4FF0FF33 mov r3, #-1 - 1013 006a 0222 movs r2, #2 - 1014 006c 6946 mov r1, sp - 1015 006e 0448 ldr r0, .L62+4 - 1016 0070 FFF7FEFF bl HAL_UART_Transmit - 1017 .LVL88: - 1018 0074 DBE7 b .L57 - 1019 .L61: - 212:Core/Src/main.c **** } - 1020 .loc 1 212 9 is_stmt 0 view .LVU219 - 1021 .LBE13: - 1022 .LBE12: - 216:Core/Src/main.c **** - 1023 .loc 1 216 1 view .LVU220 - 1024 0076 05B0 add sp, sp, #20 - 1025 .LCFI23: - 1026 .cfi_def_cfa_offset 12 - ARM GAS /tmp/ccPiCTjg.s page 29 + 1013 0066 4FF0FF33 mov r3, #-1 + 1014 006a 0222 movs r2, #2 + 1015 006c 6946 mov r1, sp + 1016 006e 0448 ldr r0, .L62+4 + 1017 0070 FFF7FEFF bl HAL_UART_Transmit + 1018 .LVL88: + 1019 0074 DBE7 b .L57 + 1020 .L61: + 228:Core/Src/main.c **** } + 1021 .loc 1 228 9 is_stmt 0 view .LVU219 + 1022 .LBE13: + 1023 .LBE12: + 232:Core/Src/main.c **** + 1024 .loc 1 232 1 view .LVU220 + 1025 0076 05B0 add sp, sp, #20 + 1026 .LCFI23: + 1027 .cfi_def_cfa_offset 12 + 1028 @ sp needed + 1029 0078 30BD pop {r4, r5, pc} + 1030 .LVL89: + 1031 .L63: + 232:Core/Src/main.c **** + 1032 .loc 1 232 1 view .LVU221 + 1033 007a 00BF .align 2 + 1034 .L62: + 1035 007c 00000000 .word .LC2 + 1036 0080 00000000 .word .LANCHOR1 + 1037 0084 FEFF0700 .word 524286 + 1038 0088 08000000 .word .LC3 + 1039 .cfi_endproc + 1040 .LFE145: + 1042 .section .text.Address_Pins_Init,"ax",%progbits + 1043 .align 1 + 1044 .global Address_Pins_Init + 1045 .syntax unified + 1046 .thumb + 1047 .thumb_func + 1048 .fpu fpv4-sp-d16 + 1050 Address_Pins_Init: + 1051 .LFB152: + 349:Core/Src/main.c **** GPIO_InitTypeDef GPIOC_InitStruct = {0}; + 1052 .loc 1 349 29 is_stmt 1 view -0 + 1053 .cfi_startproc + 1054 @ args = 0, pretend = 0, frame = 40 + 1055 @ frame_needed = 0, uses_anonymous_args = 0 + 1056 0000 70B5 push {r4, r5, r6, lr} + 1057 .LCFI24: + 1058 .cfi_def_cfa_offset 16 + 1059 .cfi_offset 4, -16 + 1060 .cfi_offset 5, -12 + 1061 .cfi_offset 6, -8 + 1062 .cfi_offset 14, -4 + 1063 0002 8AB0 sub sp, sp, #40 + 1064 .LCFI25: + 1065 .cfi_def_cfa_offset 56 + 350:Core/Src/main.c **** // Configure PC0..PC15 as push-pull outputs + 1066 .loc 1 350 3 view .LVU223 + ARM GAS /tmp/ccwcoXyi.s page 30 - 1027 @ sp needed - 1028 0078 30BD pop {r4, r5, pc} - 1029 .LVL89: - 1030 .L63: - 216:Core/Src/main.c **** - 1031 .loc 1 216 1 view .LVU221 - 1032 007a 00BF .align 2 - 1033 .L62: - 1034 007c 00000000 .word .LC2 - 1035 0080 00000000 .word .LANCHOR1 - 1036 0084 08000000 .word .LC3 - 1037 .cfi_endproc - 1038 .LFE145: - 1040 .section .text.Address_Pins_Init,"ax",%progbits - 1041 .align 1 - 1042 .global Address_Pins_Init - 1043 .syntax unified - 1044 .thumb - 1045 .thumb_func - 1046 .fpu fpv4-sp-d16 - 1048 Address_Pins_Init: - 1049 .LFB152: - 333:Core/Src/main.c **** GPIO_InitTypeDef GPIOC_InitStruct = {0}; - 1050 .loc 1 333 29 is_stmt 1 view -0 - 1051 .cfi_startproc - 1052 @ args = 0, pretend = 0, frame = 40 - 1053 @ frame_needed = 0, uses_anonymous_args = 0 - 1054 0000 70B5 push {r4, r5, r6, lr} - 1055 .LCFI24: - 1056 .cfi_def_cfa_offset 16 - 1057 .cfi_offset 4, -16 - 1058 .cfi_offset 5, -12 - 1059 .cfi_offset 6, -8 - 1060 .cfi_offset 14, -4 - 1061 0002 8AB0 sub sp, sp, #40 - 1062 .LCFI25: - 1063 .cfi_def_cfa_offset 56 - 334:Core/Src/main.c **** // Configure PC0..PC15 as push-pull outputs - 1064 .loc 1 334 3 view .LVU223 - 334:Core/Src/main.c **** // Configure PC0..PC15 as push-pull outputs - 1065 .loc 1 334 20 is_stmt 0 view .LVU224 - 1066 0004 0024 movs r4, #0 - 1067 0006 0594 str r4, [sp, #20] - 1068 0008 0694 str r4, [sp, #24] - 1069 000a 0794 str r4, [sp, #28] - 1070 000c 0894 str r4, [sp, #32] - 1071 000e 0994 str r4, [sp, #36] - 336:Core/Src/main.c **** GPIO_PIN_4 | GPIO_PIN_5 | GPIO_PIN_6 | GPIO_PIN_7 | - 1072 .loc 1 336 3 is_stmt 1 view .LVU225 - 336:Core/Src/main.c **** GPIO_PIN_4 | GPIO_PIN_5 | GPIO_PIN_6 | GPIO_PIN_7 | - 1073 .loc 1 336 24 is_stmt 0 view .LVU226 - 1074 0010 4FF6FF73 movw r3, #65535 - 1075 0014 0593 str r3, [sp, #20] - 340:Core/Src/main.c **** GPIOC_InitStruct.Pull = GPIO_NOPULL; // No pull-up/down - 1076 .loc 1 340 3 is_stmt 1 view .LVU227 - 340:Core/Src/main.c **** GPIOC_InitStruct.Pull = GPIO_NOPULL; // No pull-up/down - 1077 .loc 1 340 25 is_stmt 0 view .LVU228 - ARM GAS /tmp/ccPiCTjg.s page 30 + 350:Core/Src/main.c **** // Configure PC0..PC15 as push-pull outputs + 1067 .loc 1 350 20 is_stmt 0 view .LVU224 + 1068 0004 0024 movs r4, #0 + 1069 0006 0594 str r4, [sp, #20] + 1070 0008 0694 str r4, [sp, #24] + 1071 000a 0794 str r4, [sp, #28] + 1072 000c 0894 str r4, [sp, #32] + 1073 000e 0994 str r4, [sp, #36] + 352:Core/Src/main.c **** GPIO_PIN_4 | GPIO_PIN_5 | GPIO_PIN_6 | GPIO_PIN_7 | + 1074 .loc 1 352 3 is_stmt 1 view .LVU225 + 352:Core/Src/main.c **** GPIO_PIN_4 | GPIO_PIN_5 | GPIO_PIN_6 | GPIO_PIN_7 | + 1075 .loc 1 352 24 is_stmt 0 view .LVU226 + 1076 0010 4FF6FF73 movw r3, #65535 + 1077 0014 0593 str r3, [sp, #20] + 356:Core/Src/main.c **** GPIOC_InitStruct.Pull = GPIO_NOPULL; // No pull-up/down + 1078 .loc 1 356 3 is_stmt 1 view .LVU227 + 356:Core/Src/main.c **** GPIOC_InitStruct.Pull = GPIO_NOPULL; // No pull-up/down + 1079 .loc 1 356 25 is_stmt 0 view .LVU228 + 1080 0016 0126 movs r6, #1 + 1081 0018 0696 str r6, [sp, #24] + 357:Core/Src/main.c **** GPIOC_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; // Fast switching + 1082 .loc 1 357 3 is_stmt 1 view .LVU229 + 358:Core/Src/main.c **** HAL_GPIO_Init(GPIOC, &GPIOC_InitStruct); + 1083 .loc 1 358 3 view .LVU230 + 358:Core/Src/main.c **** HAL_GPIO_Init(GPIOC, &GPIOC_InitStruct); + 1084 .loc 1 358 26 is_stmt 0 view .LVU231 + 1085 001a 0225 movs r5, #2 + 1086 001c 0895 str r5, [sp, #32] + 359:Core/Src/main.c **** + 1087 .loc 1 359 3 is_stmt 1 view .LVU232 + 1088 001e 05A9 add r1, sp, #20 + 1089 0020 0848 ldr r0, .L66 + 1090 0022 FFF7FEFF bl HAL_GPIO_Init + 1091 .LVL90: + 362:Core/Src/main.c **** // Configure PB0..PB2 as push-pull outputs + 1092 .loc 1 362 3 view .LVU233 + 362:Core/Src/main.c **** // Configure PB0..PB2 as push-pull outputs + 1093 .loc 1 362 20 is_stmt 0 view .LVU234 + 1094 0026 0094 str r4, [sp] + 1095 0028 0194 str r4, [sp, #4] + 1096 002a 0294 str r4, [sp, #8] + 1097 002c 0394 str r4, [sp, #12] + 1098 002e 0494 str r4, [sp, #16] + 364:Core/Src/main.c **** GPIOB_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; // Push-pull output + 1099 .loc 1 364 3 is_stmt 1 view .LVU235 + 364:Core/Src/main.c **** GPIOB_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; // Push-pull output + 1100 .loc 1 364 24 is_stmt 0 view .LVU236 + 1101 0030 1F23 movs r3, #31 + 1102 0032 0093 str r3, [sp] + 365:Core/Src/main.c **** GPIOB_InitStruct.Pull = GPIO_NOPULL; // No pull-up/down + 1103 .loc 1 365 3 is_stmt 1 view .LVU237 + 365:Core/Src/main.c **** GPIOB_InitStruct.Pull = GPIO_NOPULL; // No pull-up/down + 1104 .loc 1 365 25 is_stmt 0 view .LVU238 + 1105 0034 0196 str r6, [sp, #4] + 366:Core/Src/main.c **** GPIOB_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; // Fast switching + 1106 .loc 1 366 3 is_stmt 1 view .LVU239 + 367:Core/Src/main.c **** HAL_GPIO_Init(GPIOB, &GPIOB_InitStruct); + ARM GAS /tmp/ccwcoXyi.s page 31 - 1078 0016 0126 movs r6, #1 - 1079 0018 0696 str r6, [sp, #24] - 341:Core/Src/main.c **** GPIOC_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; // Fast switching - 1080 .loc 1 341 3 is_stmt 1 view .LVU229 - 342:Core/Src/main.c **** HAL_GPIO_Init(GPIOC, &GPIOC_InitStruct); - 1081 .loc 1 342 3 view .LVU230 - 342:Core/Src/main.c **** HAL_GPIO_Init(GPIOC, &GPIOC_InitStruct); - 1082 .loc 1 342 26 is_stmt 0 view .LVU231 - 1083 001a 0225 movs r5, #2 - 1084 001c 0895 str r5, [sp, #32] - 343:Core/Src/main.c **** - 1085 .loc 1 343 3 is_stmt 1 view .LVU232 - 1086 001e 05A9 add r1, sp, #20 - 1087 0020 0848 ldr r0, .L66 - 1088 0022 FFF7FEFF bl HAL_GPIO_Init - 1089 .LVL90: - 346:Core/Src/main.c **** // Configure PB0..PB2 as push-pull outputs - 1090 .loc 1 346 3 view .LVU233 - 346:Core/Src/main.c **** // Configure PB0..PB2 as push-pull outputs - 1091 .loc 1 346 20 is_stmt 0 view .LVU234 - 1092 0026 0094 str r4, [sp] - 1093 0028 0194 str r4, [sp, #4] - 1094 002a 0294 str r4, [sp, #8] - 1095 002c 0394 str r4, [sp, #12] - 1096 002e 0494 str r4, [sp, #16] - 348:Core/Src/main.c **** GPIOB_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; // Push-pull output - 1097 .loc 1 348 3 is_stmt 1 view .LVU235 - 348:Core/Src/main.c **** GPIOB_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; // Push-pull output - 1098 .loc 1 348 24 is_stmt 0 view .LVU236 - 1099 0030 1F23 movs r3, #31 - 1100 0032 0093 str r3, [sp] - 349:Core/Src/main.c **** GPIOB_InitStruct.Pull = GPIO_NOPULL; // No pull-up/down - 1101 .loc 1 349 3 is_stmt 1 view .LVU237 - 349:Core/Src/main.c **** GPIOB_InitStruct.Pull = GPIO_NOPULL; // No pull-up/down - 1102 .loc 1 349 25 is_stmt 0 view .LVU238 - 1103 0034 0196 str r6, [sp, #4] - 350:Core/Src/main.c **** GPIOB_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; // Fast switching - 1104 .loc 1 350 3 is_stmt 1 view .LVU239 - 351:Core/Src/main.c **** HAL_GPIO_Init(GPIOB, &GPIOB_InitStruct); - 1105 .loc 1 351 3 view .LVU240 - 351:Core/Src/main.c **** HAL_GPIO_Init(GPIOB, &GPIOB_InitStruct); - 1106 .loc 1 351 26 is_stmt 0 view .LVU241 - 1107 0036 0395 str r5, [sp, #12] - 352:Core/Src/main.c **** } - 1108 .loc 1 352 3 is_stmt 1 view .LVU242 - 1109 0038 6946 mov r1, sp - 1110 003a 0348 ldr r0, .L66+4 - 1111 003c FFF7FEFF bl HAL_GPIO_Init - 1112 .LVL91: - 353:Core/Src/main.c **** - 1113 .loc 1 353 1 is_stmt 0 view .LVU243 - 1114 0040 0AB0 add sp, sp, #40 - 1115 .LCFI26: - 1116 .cfi_def_cfa_offset 16 - 1117 @ sp needed - 1118 0042 70BD pop {r4, r5, r6, pc} - 1119 .L67: - ARM GAS /tmp/ccPiCTjg.s page 31 + 1107 .loc 1 367 3 view .LVU240 + 367:Core/Src/main.c **** HAL_GPIO_Init(GPIOB, &GPIOB_InitStruct); + 1108 .loc 1 367 26 is_stmt 0 view .LVU241 + 1109 0036 0395 str r5, [sp, #12] + 368:Core/Src/main.c **** } + 1110 .loc 1 368 3 is_stmt 1 view .LVU242 + 1111 0038 6946 mov r1, sp + 1112 003a 0348 ldr r0, .L66+4 + 1113 003c FFF7FEFF bl HAL_GPIO_Init + 1114 .LVL91: + 369:Core/Src/main.c **** + 1115 .loc 1 369 1 is_stmt 0 view .LVU243 + 1116 0040 0AB0 add sp, sp, #40 + 1117 .LCFI26: + 1118 .cfi_def_cfa_offset 16 + 1119 @ sp needed + 1120 0042 70BD pop {r4, r5, r6, pc} + 1121 .L67: + 1122 .align 2 + 1123 .L66: + 1124 0044 00080240 .word 1073874944 + 1125 0048 00040240 .word 1073873920 + 1126 .cfi_endproc + 1127 .LFE152: + 1129 .section .text.Command_Pins_Init,"ax",%progbits + 1130 .align 1 + 1131 .global Command_Pins_Init + 1132 .syntax unified + 1133 .thumb + 1134 .thumb_func + 1135 .fpu fpv4-sp-d16 + 1137 Command_Pins_Init: + 1138 .LFB153: + 371:Core/Src/main.c **** // PA8-10 as outputs pins + 1139 .loc 1 371 29 is_stmt 1 view -0 + 1140 .cfi_startproc + 1141 @ args = 0, pretend = 0, frame = 24 + 1142 @ frame_needed = 0, uses_anonymous_args = 0 + 1143 0000 00B5 push {lr} + 1144 .LCFI27: + 1145 .cfi_def_cfa_offset 4 + 1146 .cfi_offset 14, -4 + 1147 0002 87B0 sub sp, sp, #28 + 1148 .LCFI28: + 1149 .cfi_def_cfa_offset 32 + 373:Core/Src/main.c **** GPIOA_InitStruct.Pin = GPIO_PIN_8 | GPIO_PIN_9 | GPIO_PIN_10; + 1150 .loc 1 373 3 view .LVU245 + 373:Core/Src/main.c **** GPIOA_InitStruct.Pin = GPIO_PIN_8 | GPIO_PIN_9 | GPIO_PIN_10; + 1151 .loc 1 373 20 is_stmt 0 view .LVU246 + 1152 0004 0023 movs r3, #0 + 1153 0006 0193 str r3, [sp, #4] + 1154 0008 0293 str r3, [sp, #8] + 1155 000a 0393 str r3, [sp, #12] + 1156 000c 0493 str r3, [sp, #16] + 1157 000e 0593 str r3, [sp, #20] + 374:Core/Src/main.c **** GPIOA_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; // Push-pull output + 1158 .loc 1 374 3 is_stmt 1 view .LVU247 + ARM GAS /tmp/ccwcoXyi.s page 32 - 1120 .align 2 - 1121 .L66: - 1122 0044 00080240 .word 1073874944 - 1123 0048 00040240 .word 1073873920 - 1124 .cfi_endproc - 1125 .LFE152: - 1127 .section .text.Command_Pins_Init,"ax",%progbits - 1128 .align 1 - 1129 .global Command_Pins_Init - 1130 .syntax unified - 1131 .thumb - 1132 .thumb_func - 1133 .fpu fpv4-sp-d16 - 1135 Command_Pins_Init: - 1136 .LFB153: - 355:Core/Src/main.c **** // PA8-10 as outputs pins - 1137 .loc 1 355 29 is_stmt 1 view -0 - 1138 .cfi_startproc - 1139 @ args = 0, pretend = 0, frame = 24 - 1140 @ frame_needed = 0, uses_anonymous_args = 0 - 1141 0000 00B5 push {lr} - 1142 .LCFI27: - 1143 .cfi_def_cfa_offset 4 - 1144 .cfi_offset 14, -4 - 1145 0002 87B0 sub sp, sp, #28 - 1146 .LCFI28: - 1147 .cfi_def_cfa_offset 32 - 357:Core/Src/main.c **** GPIOA_InitStruct.Pin = GPIO_PIN_8 | GPIO_PIN_9 | GPIO_PIN_10; - 1148 .loc 1 357 3 view .LVU245 - 357:Core/Src/main.c **** GPIOA_InitStruct.Pin = GPIO_PIN_8 | GPIO_PIN_9 | GPIO_PIN_10; - 1149 .loc 1 357 20 is_stmt 0 view .LVU246 - 1150 0004 0023 movs r3, #0 - 1151 0006 0193 str r3, [sp, #4] - 1152 0008 0293 str r3, [sp, #8] - 1153 000a 0393 str r3, [sp, #12] - 1154 000c 0493 str r3, [sp, #16] - 1155 000e 0593 str r3, [sp, #20] - 358:Core/Src/main.c **** GPIOA_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; // Push-pull output - 1156 .loc 1 358 3 is_stmt 1 view .LVU247 - 358:Core/Src/main.c **** GPIOA_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; // Push-pull output - 1157 .loc 1 358 24 is_stmt 0 view .LVU248 - 1158 0010 4FF4E063 mov r3, #1792 - 1159 0014 0193 str r3, [sp, #4] - 359:Core/Src/main.c **** GPIOA_InitStruct.Pull = GPIO_NOPULL; // No pull-up/down - 1160 .loc 1 359 3 is_stmt 1 view .LVU249 - 359:Core/Src/main.c **** GPIOA_InitStruct.Pull = GPIO_NOPULL; // No pull-up/down - 1161 .loc 1 359 25 is_stmt 0 view .LVU250 - 1162 0016 0123 movs r3, #1 - 1163 0018 0293 str r3, [sp, #8] - 360:Core/Src/main.c **** GPIOA_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; // Fast switching - 1164 .loc 1 360 3 is_stmt 1 view .LVU251 - 361:Core/Src/main.c **** HAL_GPIO_Init(GPIOA, &GPIOA_InitStruct); - 1165 .loc 1 361 3 view .LVU252 - 361:Core/Src/main.c **** HAL_GPIO_Init(GPIOA, &GPIOA_InitStruct); - 1166 .loc 1 361 26 is_stmt 0 view .LVU253 - 1167 001a 0223 movs r3, #2 - 1168 001c 0493 str r3, [sp, #16] - ARM GAS /tmp/ccPiCTjg.s page 32 + 374:Core/Src/main.c **** GPIOA_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; // Push-pull output + 1159 .loc 1 374 24 is_stmt 0 view .LVU248 + 1160 0010 4FF4E063 mov r3, #1792 + 1161 0014 0193 str r3, [sp, #4] + 375:Core/Src/main.c **** GPIOA_InitStruct.Pull = GPIO_NOPULL; // No pull-up/down + 1162 .loc 1 375 3 is_stmt 1 view .LVU249 + 375:Core/Src/main.c **** GPIOA_InitStruct.Pull = GPIO_NOPULL; // No pull-up/down + 1163 .loc 1 375 25 is_stmt 0 view .LVU250 + 1164 0016 0123 movs r3, #1 + 1165 0018 0293 str r3, [sp, #8] + 376:Core/Src/main.c **** GPIOA_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; // Fast switching + 1166 .loc 1 376 3 is_stmt 1 view .LVU251 + 377:Core/Src/main.c **** HAL_GPIO_Init(GPIOA, &GPIOA_InitStruct); + 1167 .loc 1 377 3 view .LVU252 + 377:Core/Src/main.c **** HAL_GPIO_Init(GPIOA, &GPIOA_InitStruct); + 1168 .loc 1 377 26 is_stmt 0 view .LVU253 + 1169 001a 0223 movs r3, #2 + 1170 001c 0493 str r3, [sp, #16] + 378:Core/Src/main.c **** } + 1171 .loc 1 378 3 is_stmt 1 view .LVU254 + 1172 001e 01A9 add r1, sp, #4 + 1173 0020 0248 ldr r0, .L70 + 1174 0022 FFF7FEFF bl HAL_GPIO_Init + 1175 .LVL92: + 379:Core/Src/main.c **** + 1176 .loc 1 379 1 is_stmt 0 view .LVU255 + 1177 0026 07B0 add sp, sp, #28 + 1178 .LCFI29: + 1179 .cfi_def_cfa_offset 4 + 1180 @ sp needed + 1181 0028 5DF804FB ldr pc, [sp], #4 + 1182 .L71: + 1183 .align 2 + 1184 .L70: + 1185 002c 00000240 .word 1073872896 + 1186 .cfi_endproc + 1187 .LFE153: + 1189 .section .text.debug_print,"ax",%progbits + 1190 .align 1 + 1191 .global debug_print + 1192 .syntax unified + 1193 .thumb + 1194 .thumb_func + 1195 .fpu fpv4-sp-d16 + 1197 debug_print: + 1198 .LVL93: + 1199 .LFB154: + 381:Core/Src/main.c **** HAL_UART_Transmit(&huart2, (uint8_t*)msg, strlen(msg), HAL_MAX_DELAY); + 1200 .loc 1 381 35 is_stmt 1 view -0 + 1201 .cfi_startproc + 1202 @ args = 0, pretend = 0, frame = 0 + 1203 @ frame_needed = 0, uses_anonymous_args = 0 + 381:Core/Src/main.c **** HAL_UART_Transmit(&huart2, (uint8_t*)msg, strlen(msg), HAL_MAX_DELAY); + 1204 .loc 1 381 35 is_stmt 0 view .LVU257 + 1205 0000 10B5 push {r4, lr} + 1206 .LCFI30: + 1207 .cfi_def_cfa_offset 8 + ARM GAS /tmp/ccwcoXyi.s page 33 - 362:Core/Src/main.c **** } - 1169 .loc 1 362 3 is_stmt 1 view .LVU254 - 1170 001e 01A9 add r1, sp, #4 - 1171 0020 0248 ldr r0, .L70 - 1172 0022 FFF7FEFF bl HAL_GPIO_Init - 1173 .LVL92: - 363:Core/Src/main.c **** - 1174 .loc 1 363 1 is_stmt 0 view .LVU255 - 1175 0026 07B0 add sp, sp, #28 - 1176 .LCFI29: - 1177 .cfi_def_cfa_offset 4 - 1178 @ sp needed - 1179 0028 5DF804FB ldr pc, [sp], #4 - 1180 .L71: - 1181 .align 2 - 1182 .L70: - 1183 002c 00000240 .word 1073872896 - 1184 .cfi_endproc - 1185 .LFE153: - 1187 .section .text.debug_print,"ax",%progbits - 1188 .align 1 - 1189 .global debug_print - 1190 .syntax unified - 1191 .thumb - 1192 .thumb_func - 1193 .fpu fpv4-sp-d16 - 1195 debug_print: - 1196 .LVL93: - 1197 .LFB154: - 365:Core/Src/main.c **** HAL_UART_Transmit(&huart2, (uint8_t*)msg, strlen(msg), HAL_MAX_DELAY); - 1198 .loc 1 365 35 is_stmt 1 view -0 - 1199 .cfi_startproc - 1200 @ args = 0, pretend = 0, frame = 0 - 1201 @ frame_needed = 0, uses_anonymous_args = 0 - 365:Core/Src/main.c **** HAL_UART_Transmit(&huart2, (uint8_t*)msg, strlen(msg), HAL_MAX_DELAY); - 1202 .loc 1 365 35 is_stmt 0 view .LVU257 - 1203 0000 10B5 push {r4, lr} - 1204 .LCFI30: - 1205 .cfi_def_cfa_offset 8 - 1206 .cfi_offset 4, -8 - 1207 .cfi_offset 14, -4 - 1208 0002 0446 mov r4, r0 - 366:Core/Src/main.c **** } - 1209 .loc 1 366 3 is_stmt 1 view .LVU258 - 366:Core/Src/main.c **** } - 1210 .loc 1 366 45 is_stmt 0 view .LVU259 - 1211 0004 FFF7FEFF bl strlen - 1212 .LVL94: - 366:Core/Src/main.c **** } - 1213 .loc 1 366 3 view .LVU260 - 1214 0008 4FF0FF33 mov r3, #-1 - 1215 000c 82B2 uxth r2, r0 - 1216 000e 2146 mov r1, r4 - 1217 0010 0148 ldr r0, .L74 - 1218 0012 FFF7FEFF bl HAL_UART_Transmit - 1219 .LVL95: - 367:Core/Src/main.c **** - ARM GAS /tmp/ccPiCTjg.s page 33 + 1208 .cfi_offset 4, -8 + 1209 .cfi_offset 14, -4 + 1210 0002 0446 mov r4, r0 + 382:Core/Src/main.c **** } + 1211 .loc 1 382 3 is_stmt 1 view .LVU258 + 382:Core/Src/main.c **** } + 1212 .loc 1 382 45 is_stmt 0 view .LVU259 + 1213 0004 FFF7FEFF bl strlen + 1214 .LVL94: + 382:Core/Src/main.c **** } + 1215 .loc 1 382 3 view .LVU260 + 1216 0008 4FF0FF33 mov r3, #-1 + 1217 000c 82B2 uxth r2, r0 + 1218 000e 2146 mov r1, r4 + 1219 0010 0148 ldr r0, .L74 + 1220 0012 FFF7FEFF bl HAL_UART_Transmit + 1221 .LVL95: + 383:Core/Src/main.c **** + 1222 .loc 1 383 1 view .LVU261 + 1223 0016 10BD pop {r4, pc} + 1224 .LVL96: + 1225 .L75: + 383:Core/Src/main.c **** + 1226 .loc 1 383 1 view .LVU262 + 1227 .align 2 + 1228 .L74: + 1229 0018 00000000 .word .LANCHOR1 + 1230 .cfi_endproc + 1231 .LFE154: + 1233 .section .rodata.Flash_From_UART.str1.4,"aMS",%progbits,1 + 1234 .align 2 + 1235 .LC4: + 1236 0000 57616974 .ascii "Waiting for file to flash...\015\012\000" + 1236 696E6720 + 1236 666F7220 + 1236 66696C65 + 1236 20746F20 + 1237 001f 00 .align 2 + 1238 .LC5: + 1239 0020 66696E69 .ascii "finished\015\012\000" + 1239 73686564 + 1239 0D0A00 + 1240 .section .text.Flash_From_UART,"ax",%progbits + 1241 .align 1 + 1242 .global Flash_From_UART + 1243 .syntax unified + 1244 .thumb + 1245 .thumb_func + 1246 .fpu fpv4-sp-d16 + 1248 Flash_From_UART: + 1249 .LFB148: + 253:Core/Src/main.c **** debug_print("Waiting for file to flash...\r\n"); + 1250 .loc 1 253 27 is_stmt 1 view -0 + 1251 .cfi_startproc + 1252 @ args = 0, pretend = 0, frame = 8 + 1253 @ frame_needed = 0, uses_anonymous_args = 0 + 1254 0000 10B5 push {r4, lr} + ARM GAS /tmp/ccwcoXyi.s page 34 - 1220 .loc 1 367 1 view .LVU261 - 1221 0016 10BD pop {r4, pc} - 1222 .LVL96: - 1223 .L75: - 367:Core/Src/main.c **** - 1224 .loc 1 367 1 view .LVU262 - 1225 .align 2 - 1226 .L74: - 1227 0018 00000000 .word .LANCHOR1 - 1228 .cfi_endproc - 1229 .LFE154: - 1231 .section .rodata.Flash_From_UART.str1.4,"aMS",%progbits,1 - 1232 .align 2 - 1233 .LC4: - 1234 0000 57616974 .ascii "Waiting for file to flash...\015\012\000" - 1234 696E6720 - 1234 666F7220 - 1234 66696C65 - 1234 20746F20 - 1235 001f 00 .align 2 - 1236 .LC5: - 1237 0020 66696E69 .ascii "finished\015\012\000" - 1237 73686564 - 1237 0D0A00 - 1238 .section .text.Flash_From_UART,"ax",%progbits - 1239 .align 1 - 1240 .global Flash_From_UART - 1241 .syntax unified - 1242 .thumb - 1243 .thumb_func - 1244 .fpu fpv4-sp-d16 - 1246 Flash_From_UART: - 1247 .LFB148: - 237:Core/Src/main.c **** debug_print("Waiting for file to flash...\r\n"); - 1248 .loc 1 237 27 is_stmt 1 view -0 - 1249 .cfi_startproc - 1250 @ args = 0, pretend = 0, frame = 8 - 1251 @ frame_needed = 0, uses_anonymous_args = 0 - 1252 0000 10B5 push {r4, lr} - 1253 .LCFI31: - 1254 .cfi_def_cfa_offset 8 - 1255 .cfi_offset 4, -8 - 1256 .cfi_offset 14, -4 - 1257 0002 82B0 sub sp, sp, #8 - 1258 .LCFI32: - 1259 .cfi_def_cfa_offset 16 - 238:Core/Src/main.c **** uint8_t byte; - 1260 .loc 1 238 3 view .LVU264 - 1261 0004 0C48 ldr r0, .L80 - 1262 0006 FFF7FEFF bl debug_print - 1263 .LVL97: - 239:Core/Src/main.c **** for(int i=0; i<8; i++){ - 1264 .loc 1 239 3 view .LVU265 - 240:Core/Src/main.c **** HAL_UART_Receive(&huart2, &byte, 1, HAL_MAX_DELAY); - 1265 .loc 1 240 3 view .LVU266 - 1266 .LBB14: - 240:Core/Src/main.c **** HAL_UART_Receive(&huart2, &byte, 1, HAL_MAX_DELAY); - ARM GAS /tmp/ccPiCTjg.s page 34 + 1255 .LCFI31: + 1256 .cfi_def_cfa_offset 8 + 1257 .cfi_offset 4, -8 + 1258 .cfi_offset 14, -4 + 1259 0002 82B0 sub sp, sp, #8 + 1260 .LCFI32: + 1261 .cfi_def_cfa_offset 16 + 254:Core/Src/main.c **** uint8_t byte; + 1262 .loc 1 254 3 view .LVU264 + 1263 0004 0C48 ldr r0, .L80 + 1264 0006 FFF7FEFF bl debug_print + 1265 .LVL97: + 255:Core/Src/main.c **** for(int i=0; i<8; i++){ + 1266 .loc 1 255 3 view .LVU265 + 256:Core/Src/main.c **** HAL_UART_Receive(&huart2, &byte, 1, HAL_MAX_DELAY); + 1267 .loc 1 256 3 view .LVU266 + 1268 .LBB14: + 256:Core/Src/main.c **** HAL_UART_Receive(&huart2, &byte, 1, HAL_MAX_DELAY); + 1269 .loc 1 256 7 view .LVU267 + 256:Core/Src/main.c **** HAL_UART_Receive(&huart2, &byte, 1, HAL_MAX_DELAY); + 1270 .loc 1 256 11 is_stmt 0 view .LVU268 + 1271 000a 0024 movs r4, #0 + 256:Core/Src/main.c **** HAL_UART_Receive(&huart2, &byte, 1, HAL_MAX_DELAY); + 1272 .loc 1 256 3 view .LVU269 + 1273 000c 0DE0 b .L77 + 1274 .LVL98: + 1275 .L78: + 257:Core/Src/main.c **** Chip_Program_Byte(i, (int)byte); + 1276 .loc 1 257 5 is_stmt 1 discriminator 3 view .LVU270 + 1277 000e 4FF0FF33 mov r3, #-1 + 1278 0012 0122 movs r2, #1 + 1279 0014 0DF10701 add r1, sp, #7 + 1280 0018 0848 ldr r0, .L80+4 + 1281 001a FFF7FEFF bl HAL_UART_Receive + 1282 .LVL99: + 258:Core/Src/main.c **** } + 1283 .loc 1 258 5 discriminator 3 view .LVU271 + 1284 001e 9DF80710 ldrb r1, [sp, #7] @ zero_extendqisi2 + 1285 0022 2046 mov r0, r4 + 1286 0024 FFF7FEFF bl Chip_Program_Byte + 1287 .LVL100: + 256:Core/Src/main.c **** HAL_UART_Receive(&huart2, &byte, 1, HAL_MAX_DELAY); + 1288 .loc 1 256 21 discriminator 3 view .LVU272 + 256:Core/Src/main.c **** HAL_UART_Receive(&huart2, &byte, 1, HAL_MAX_DELAY); + 1289 .loc 1 256 22 is_stmt 0 discriminator 3 view .LVU273 + 1290 0028 0134 adds r4, r4, #1 + 1291 .LVL101: + 1292 .L77: + 256:Core/Src/main.c **** HAL_UART_Receive(&huart2, &byte, 1, HAL_MAX_DELAY); + 1293 .loc 1 256 16 is_stmt 1 discriminator 1 view .LVU274 + 256:Core/Src/main.c **** HAL_UART_Receive(&huart2, &byte, 1, HAL_MAX_DELAY); + 1294 .loc 1 256 3 is_stmt 0 discriminator 1 view .LVU275 + 1295 002a 072C cmp r4, #7 + 1296 002c EFDD ble .L78 + 1297 .LBE14: + 260:Core/Src/main.c **** } + 1298 .loc 1 260 3 is_stmt 1 view .LVU276 + ARM GAS /tmp/ccwcoXyi.s page 35 - 1267 .loc 1 240 7 view .LVU267 - 240:Core/Src/main.c **** HAL_UART_Receive(&huart2, &byte, 1, HAL_MAX_DELAY); - 1268 .loc 1 240 11 is_stmt 0 view .LVU268 - 1269 000a 0024 movs r4, #0 - 240:Core/Src/main.c **** HAL_UART_Receive(&huart2, &byte, 1, HAL_MAX_DELAY); - 1270 .loc 1 240 3 view .LVU269 - 1271 000c 0DE0 b .L77 - 1272 .LVL98: - 1273 .L78: - 241:Core/Src/main.c **** Chip_Program_Byte(i, (int)byte); - 1274 .loc 1 241 5 is_stmt 1 discriminator 3 view .LVU270 - 1275 000e 4FF0FF33 mov r3, #-1 - 1276 0012 0122 movs r2, #1 - 1277 0014 0DF10701 add r1, sp, #7 - 1278 0018 0848 ldr r0, .L80+4 - 1279 001a FFF7FEFF bl HAL_UART_Receive - 1280 .LVL99: - 242:Core/Src/main.c **** } - 1281 .loc 1 242 5 discriminator 3 view .LVU271 - 1282 001e 9DF80710 ldrb r1, [sp, #7] @ zero_extendqisi2 - 1283 0022 2046 mov r0, r4 - 1284 0024 FFF7FEFF bl Chip_Program_Byte - 1285 .LVL100: - 240:Core/Src/main.c **** HAL_UART_Receive(&huart2, &byte, 1, HAL_MAX_DELAY); - 1286 .loc 1 240 21 discriminator 3 view .LVU272 - 240:Core/Src/main.c **** HAL_UART_Receive(&huart2, &byte, 1, HAL_MAX_DELAY); - 1287 .loc 1 240 22 is_stmt 0 discriminator 3 view .LVU273 - 1288 0028 0134 adds r4, r4, #1 - 1289 .LVL101: - 1290 .L77: - 240:Core/Src/main.c **** HAL_UART_Receive(&huart2, &byte, 1, HAL_MAX_DELAY); - 1291 .loc 1 240 16 is_stmt 1 discriminator 1 view .LVU274 - 240:Core/Src/main.c **** HAL_UART_Receive(&huart2, &byte, 1, HAL_MAX_DELAY); - 1292 .loc 1 240 3 is_stmt 0 discriminator 1 view .LVU275 - 1293 002a 072C cmp r4, #7 - 1294 002c EFDD ble .L78 - 1295 .LBE14: - 244:Core/Src/main.c **** } - 1296 .loc 1 244 3 is_stmt 1 view .LVU276 - 1297 002e 0448 ldr r0, .L80+8 - 1298 0030 FFF7FEFF bl debug_print - 1299 .LVL102: - 245:Core/Src/main.c **** - 1300 .loc 1 245 1 is_stmt 0 view .LVU277 - 1301 0034 02B0 add sp, sp, #8 - 1302 .LCFI33: - 1303 .cfi_def_cfa_offset 8 - 1304 @ sp needed - 1305 0036 10BD pop {r4, pc} - 1306 .LVL103: - 1307 .L81: - 245:Core/Src/main.c **** - 1308 .loc 1 245 1 view .LVU278 - 1309 .align 2 - 1310 .L80: - 1311 0038 00000000 .word .LC4 - 1312 003c 00000000 .word .LANCHOR1 - ARM GAS /tmp/ccPiCTjg.s page 35 - - - 1313 0040 20000000 .word .LC5 - 1314 .cfi_endproc - 1315 .LFE148: - 1317 .section .text.Error_Handler,"ax",%progbits - 1318 .align 1 - 1319 .global Error_Handler - 1320 .syntax unified - 1321 .thumb - 1322 .thumb_func - 1323 .fpu fpv4-sp-d16 - 1325 Error_Handler: - 1326 .LFB156: - 398:Core/Src/main.c **** - 399:Core/Src/main.c **** - 400:Core/Src/main.c **** /** - 401:Core/Src/main.c **** * @brief This function is executed in case of error occurrence. - 402:Core/Src/main.c **** * @retval None - 403:Core/Src/main.c **** */ - 404:Core/Src/main.c **** void Error_Handler(void) - 405:Core/Src/main.c **** { - 1327 .loc 1 405 1 is_stmt 1 view -0 - 1328 .cfi_startproc - 1329 @ Volatile: function does not return. - 1330 @ args = 0, pretend = 0, frame = 0 - 1331 @ frame_needed = 0, uses_anonymous_args = 0 - 1332 @ link register save eliminated. - 406:Core/Src/main.c **** /* USER CODE BEGIN Error_Handler_Debug */ - 407:Core/Src/main.c **** /* User can add his own implementation to report the HAL error return state */ - 408:Core/Src/main.c **** __disable_irq(); - 1333 .loc 1 408 3 view .LVU280 - 1334 .LBB15: - 1335 .LBI15: - 1336 .file 2 "Drivers/CMSIS/Include/cmsis_gcc.h" + 1299 002e 0448 ldr r0, .L80+8 + 1300 0030 FFF7FEFF bl debug_print + 1301 .LVL102: + 261:Core/Src/main.c **** + 1302 .loc 1 261 1 is_stmt 0 view .LVU277 + 1303 0034 02B0 add sp, sp, #8 + 1304 .LCFI33: + 1305 .cfi_def_cfa_offset 8 + 1306 @ sp needed + 1307 0036 10BD pop {r4, pc} + 1308 .LVL103: + 1309 .L81: + 261:Core/Src/main.c **** + 1310 .loc 1 261 1 view .LVU278 + 1311 .align 2 + 1312 .L80: + 1313 0038 00000000 .word .LC4 + 1314 003c 00000000 .word .LANCHOR1 + 1315 0040 20000000 .word .LC5 + 1316 .cfi_endproc + 1317 .LFE148: + 1319 .section .text.Error_Handler,"ax",%progbits + 1320 .align 1 + 1321 .global Error_Handler + 1322 .syntax unified + 1323 .thumb + 1324 .thumb_func + 1325 .fpu fpv4-sp-d16 + 1327 Error_Handler: + 1328 .LFB156: + 414:Core/Src/main.c **** + 415:Core/Src/main.c **** + 416:Core/Src/main.c **** /** + 417:Core/Src/main.c **** * @brief This function is executed in case of error occurrence. + 418:Core/Src/main.c **** * @retval None + 419:Core/Src/main.c **** */ + 420:Core/Src/main.c **** void Error_Handler(void) + 421:Core/Src/main.c **** { + 1329 .loc 1 421 1 is_stmt 1 view -0 + 1330 .cfi_startproc + 1331 @ Volatile: function does not return. + 1332 @ args = 0, pretend = 0, frame = 0 + 1333 @ frame_needed = 0, uses_anonymous_args = 0 + 1334 @ link register save eliminated. + 422:Core/Src/main.c **** /* USER CODE BEGIN Error_Handler_Debug */ + 423:Core/Src/main.c **** /* User can add his own implementation to report the HAL error return state */ + 424:Core/Src/main.c **** __disable_irq(); + 1335 .loc 1 424 3 view .LVU280 + 1336 .LBB15: + 1337 .LBI15: + 1338 .file 2 "Drivers/CMSIS/Include/cmsis_gcc.h" 1:Drivers/CMSIS/Include/cmsis_gcc.h **** /**************************************************************************//** 2:Drivers/CMSIS/Include/cmsis_gcc.h **** * @file cmsis_gcc.h 3:Drivers/CMSIS/Include/cmsis_gcc.h **** * @brief CMSIS compiler GCC header file 4:Drivers/CMSIS/Include/cmsis_gcc.h **** * @version V5.4.1 5:Drivers/CMSIS/Include/cmsis_gcc.h **** * @date 27. May 2021 6:Drivers/CMSIS/Include/cmsis_gcc.h **** ******************************************************************************/ + ARM GAS /tmp/ccwcoXyi.s page 36 + + 7:Drivers/CMSIS/Include/cmsis_gcc.h **** /* 8:Drivers/CMSIS/Include/cmsis_gcc.h **** * Copyright (c) 2009-2021 Arm Limited. All rights reserved. 9:Drivers/CMSIS/Include/cmsis_gcc.h **** * @@ -2098,9 +2119,6 @@ ARM GAS /tmp/ccPiCTjg.s page 1 22:Drivers/CMSIS/Include/cmsis_gcc.h **** * limitations under the License. 23:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 24:Drivers/CMSIS/Include/cmsis_gcc.h **** - ARM GAS /tmp/ccPiCTjg.s page 36 - - 25:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __CMSIS_GCC_H 26:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_H 27:Drivers/CMSIS/Include/cmsis_gcc.h **** @@ -2140,6 +2158,9 @@ ARM GAS /tmp/ccPiCTjg.s page 1 61:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __PACKED 62:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __PACKED __attribute__((packed, aligned(1))) 63:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif + ARM GAS /tmp/ccwcoXyi.s page 37 + + 64:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __PACKED_STRUCT 65:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __PACKED_STRUCT struct __attribute__((packed, aligned(1))) 66:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif @@ -2158,9 +2179,6 @@ ARM GAS /tmp/ccPiCTjg.s page 1 79:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push 80:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked" 81:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes" - ARM GAS /tmp/ccPiCTjg.s page 37 - - 82:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT16_WRITE { uint16_t v; }; 83:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop 84:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT16_WRITE(addr, val) (void)((((struct T_UINT16_WRITE *)(void *)(addr))- @@ -2200,6 +2218,9 @@ ARM GAS /tmp/ccPiCTjg.s page 1 118:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 119:Drivers/CMSIS/Include/cmsis_gcc.h **** 120:Drivers/CMSIS/Include/cmsis_gcc.h **** /* ######################### Startup and Lowlevel Init ######################## */ + ARM GAS /tmp/ccwcoXyi.s page 38 + + 121:Drivers/CMSIS/Include/cmsis_gcc.h **** 122:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __PROGRAM_START 123:Drivers/CMSIS/Include/cmsis_gcc.h **** @@ -2218,9 +2239,6 @@ ARM GAS /tmp/ccPiCTjg.s page 1 136:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t const* src; 137:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t* dest; 138:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t wlen; - ARM GAS /tmp/ccPiCTjg.s page 38 - - 139:Drivers/CMSIS/Include/cmsis_gcc.h **** } __copy_table_t; 140:Drivers/CMSIS/Include/cmsis_gcc.h **** 141:Drivers/CMSIS/Include/cmsis_gcc.h **** typedef struct { @@ -2260,6 +2278,9 @@ ARM GAS /tmp/ccPiCTjg.s page 1 175:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 176:Drivers/CMSIS/Include/cmsis_gcc.h **** 177:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __VECTOR_TABLE + ARM GAS /tmp/ccwcoXyi.s page 39 + + 178:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __VECTOR_TABLE __Vectors 179:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 180:Drivers/CMSIS/Include/cmsis_gcc.h **** @@ -2278,9 +2299,6 @@ ARM GAS /tmp/ccPiCTjg.s page 1 193:Drivers/CMSIS/Include/cmsis_gcc.h **** 194:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __TZ_STACK_SEAL_VALUE 195:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __TZ_STACK_SEAL_VALUE 0xFEF5EDA5FEF5EDA5ULL - ARM GAS /tmp/ccPiCTjg.s page 39 - - 196:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 197:Drivers/CMSIS/Include/cmsis_gcc.h **** 198:Drivers/CMSIS/Include/cmsis_gcc.h **** @@ -2320,6 +2338,9 @@ ARM GAS /tmp/ccPiCTjg.s page 1 232:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Wait For Interrupt is a hint instruction that suspends execution until one of a number o 233:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 234:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __WFI() __ASM volatile ("wfi":::"memory") + ARM GAS /tmp/ccwcoXyi.s page 40 + + 235:Drivers/CMSIS/Include/cmsis_gcc.h **** 236:Drivers/CMSIS/Include/cmsis_gcc.h **** 237:Drivers/CMSIS/Include/cmsis_gcc.h **** /** @@ -2338,9 +2359,6 @@ ARM GAS /tmp/ccPiCTjg.s page 1 250:Drivers/CMSIS/Include/cmsis_gcc.h **** 251:Drivers/CMSIS/Include/cmsis_gcc.h **** 252:Drivers/CMSIS/Include/cmsis_gcc.h **** /** - ARM GAS /tmp/ccPiCTjg.s page 40 - - 253:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Instruction Synchronization Barrier 254:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Instruction Synchronization Barrier flushes the pipeline in the processor, 255:Drivers/CMSIS/Include/cmsis_gcc.h **** so that all instructions following the ISB are fetched from cache or memory, @@ -2380,6 +2398,9 @@ ARM GAS /tmp/ccPiCTjg.s page 1 289:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to reverse 290:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Reversed value 291:Drivers/CMSIS/Include/cmsis_gcc.h **** */ + ARM GAS /tmp/ccwcoXyi.s page 41 + + 292:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __REV(uint32_t value) 293:Drivers/CMSIS/Include/cmsis_gcc.h **** { 294:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5) @@ -2398,9 +2419,6 @@ ARM GAS /tmp/ccPiCTjg.s page 1 307:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Reverses the byte order within each halfword of a word. For example, 0x12345678 becomes 308:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to reverse 309:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Reversed value - ARM GAS /tmp/ccPiCTjg.s page 41 - - 310:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 311:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __REV16(uint32_t value) 312:Drivers/CMSIS/Include/cmsis_gcc.h **** { @@ -2440,6 +2458,9 @@ ARM GAS /tmp/ccPiCTjg.s page 1 346:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __ROR(uint32_t op1, uint32_t op2) 347:Drivers/CMSIS/Include/cmsis_gcc.h **** { 348:Drivers/CMSIS/Include/cmsis_gcc.h **** op2 %= 32U; + ARM GAS /tmp/ccwcoXyi.s page 42 + + 349:Drivers/CMSIS/Include/cmsis_gcc.h **** if (op2 == 0U) 350:Drivers/CMSIS/Include/cmsis_gcc.h **** { 351:Drivers/CMSIS/Include/cmsis_gcc.h **** return op1; @@ -2458,9 +2479,6 @@ ARM GAS /tmp/ccPiCTjg.s page 1 364:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __BKPT(value) __ASM volatile ("bkpt "#value) 365:Drivers/CMSIS/Include/cmsis_gcc.h **** 366:Drivers/CMSIS/Include/cmsis_gcc.h **** - ARM GAS /tmp/ccPiCTjg.s page 42 - - 367:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 368:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Reverse bit order of value 369:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Reverses the bit order of the given value. @@ -2500,6 +2518,9 @@ ARM GAS /tmp/ccPiCTjg.s page 1 403:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint8_t __CLZ(uint32_t value) 404:Drivers/CMSIS/Include/cmsis_gcc.h **** { 405:Drivers/CMSIS/Include/cmsis_gcc.h **** /* Even though __builtin_clz produces a CLZ instruction on ARM, formally + ARM GAS /tmp/ccwcoXyi.s page 43 + + 406:Drivers/CMSIS/Include/cmsis_gcc.h **** __builtin_clz(0) is undefined behaviour, so handle this case specially. 407:Drivers/CMSIS/Include/cmsis_gcc.h **** This guarantees ARM-compatible results if happening to compile on a non-ARM 408:Drivers/CMSIS/Include/cmsis_gcc.h **** target, and ensures the compiler doesn't decide to activate any @@ -2518,9 +2539,6 @@ ARM GAS /tmp/ccPiCTjg.s page 1 421:Drivers/CMSIS/Include/cmsis_gcc.h **** 422:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \ 423:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \ - ARM GAS /tmp/ccPiCTjg.s page 43 - - 424:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \ 425:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) ) 426:Drivers/CMSIS/Include/cmsis_gcc.h **** /** @@ -2560,6 +2578,9 @@ ARM GAS /tmp/ccPiCTjg.s page 1 460:Drivers/CMSIS/Include/cmsis_gcc.h **** #else 461:Drivers/CMSIS/Include/cmsis_gcc.h **** /* Prior to GCC 4.8, "Q" will be expanded to [rx, #0] which is not 462:Drivers/CMSIS/Include/cmsis_gcc.h **** accepted by assembler. So has to use following less efficient pattern. + ARM GAS /tmp/ccwcoXyi.s page 44 + + 463:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 464:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("ldrexh %0, [%1]" : "=r" (result) : "r" (addr) : "memory" ); 465:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif @@ -2578,9 +2599,6 @@ ARM GAS /tmp/ccPiCTjg.s page 1 478:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 479:Drivers/CMSIS/Include/cmsis_gcc.h **** 480:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("ldrex %0, %1" : "=r" (result) : "Q" (*addr) ); - ARM GAS /tmp/ccPiCTjg.s page 44 - - 481:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 482:Drivers/CMSIS/Include/cmsis_gcc.h **** } 483:Drivers/CMSIS/Include/cmsis_gcc.h **** @@ -2620,6 +2638,9 @@ ARM GAS /tmp/ccPiCTjg.s page 1 517:Drivers/CMSIS/Include/cmsis_gcc.h **** 518:Drivers/CMSIS/Include/cmsis_gcc.h **** 519:Drivers/CMSIS/Include/cmsis_gcc.h **** /** + ARM GAS /tmp/ccwcoXyi.s page 45 + + 520:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief STR Exclusive (32 bit) 521:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Executes a exclusive STR instruction for 32 bit values. 522:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to store @@ -2638,9 +2659,6 @@ ARM GAS /tmp/ccPiCTjg.s page 1 535:Drivers/CMSIS/Include/cmsis_gcc.h **** 536:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 537:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Remove the exclusive lock - ARM GAS /tmp/ccPiCTjg.s page 45 - - 538:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Removes the exclusive lock which is created by LDREX. 539:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 540:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __CLREX(void) @@ -2680,6 +2698,9 @@ ARM GAS /tmp/ccPiCTjg.s page 1 574:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] ARG2 Bit position to saturate to (0..31) 575:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Saturated value 576:Drivers/CMSIS/Include/cmsis_gcc.h **** */ + ARM GAS /tmp/ccwcoXyi.s page 46 + + 577:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __USAT(ARG1, ARG2) \ 578:Drivers/CMSIS/Include/cmsis_gcc.h **** __extension__ \ 579:Drivers/CMSIS/Include/cmsis_gcc.h **** ({ \ @@ -2698,9 +2719,6 @@ ARM GAS /tmp/ccPiCTjg.s page 1 592:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 593:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __RRX(uint32_t value) 594:Drivers/CMSIS/Include/cmsis_gcc.h **** { - ARM GAS /tmp/ccPiCTjg.s page 46 - - 595:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 596:Drivers/CMSIS/Include/cmsis_gcc.h **** 597:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("rrx %0, %1" : __CMSIS_GCC_OUT_REG (result) : __CMSIS_GCC_USE_REG (value) ); @@ -2740,6 +2758,9 @@ ARM GAS /tmp/ccPiCTjg.s page 1 631:Drivers/CMSIS/Include/cmsis_gcc.h **** { 632:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 633:Drivers/CMSIS/Include/cmsis_gcc.h **** + ARM GAS /tmp/ccwcoXyi.s page 47 + + 634:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8) 635:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("ldrht %0, %1" : "=r" (result) : "Q" (*ptr) ); 636:Drivers/CMSIS/Include/cmsis_gcc.h **** #else @@ -2758,9 +2779,6 @@ ARM GAS /tmp/ccPiCTjg.s page 1 649:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] ptr Pointer to data 650:Drivers/CMSIS/Include/cmsis_gcc.h **** \return value of type uint32_t at (*ptr) 651:Drivers/CMSIS/Include/cmsis_gcc.h **** */ - ARM GAS /tmp/ccPiCTjg.s page 47 - - 652:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __LDRT(volatile uint32_t *ptr) 653:Drivers/CMSIS/Include/cmsis_gcc.h **** { 654:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; @@ -2800,6 +2818,9 @@ ARM GAS /tmp/ccPiCTjg.s page 1 688:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to store 689:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] ptr Pointer to location 690:Drivers/CMSIS/Include/cmsis_gcc.h **** */ + ARM GAS /tmp/ccwcoXyi.s page 48 + + 691:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __STRT(uint32_t value, volatile uint32_t *ptr) 692:Drivers/CMSIS/Include/cmsis_gcc.h **** { 693:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("strt %1, %0" : "=Q" (*ptr) : "r" (value) ); @@ -2818,9 +2839,6 @@ ARM GAS /tmp/ccPiCTjg.s page 1 706:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 707:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE int32_t __SSAT(int32_t val, uint32_t sat) 708:Drivers/CMSIS/Include/cmsis_gcc.h **** { - ARM GAS /tmp/ccPiCTjg.s page 48 - - 709:Drivers/CMSIS/Include/cmsis_gcc.h **** if ((sat >= 1U) && (sat <= 32U)) 710:Drivers/CMSIS/Include/cmsis_gcc.h **** { 711:Drivers/CMSIS/Include/cmsis_gcc.h **** const int32_t max = (int32_t)((1U << (sat - 1U)) - 1U); @@ -2860,6 +2878,9 @@ ARM GAS /tmp/ccPiCTjg.s page 1 745:Drivers/CMSIS/Include/cmsis_gcc.h **** } 746:Drivers/CMSIS/Include/cmsis_gcc.h **** return (uint32_t)val; 747:Drivers/CMSIS/Include/cmsis_gcc.h **** } + ARM GAS /tmp/ccwcoXyi.s page 49 + + 748:Drivers/CMSIS/Include/cmsis_gcc.h **** 749:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif /* ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \ 750:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \ @@ -2878,9 +2899,6 @@ ARM GAS /tmp/ccPiCTjg.s page 1 763:Drivers/CMSIS/Include/cmsis_gcc.h **** { 764:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 765:Drivers/CMSIS/Include/cmsis_gcc.h **** - ARM GAS /tmp/ccPiCTjg.s page 49 - - 766:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("ldab %0, %1" : "=r" (result) : "Q" (*ptr) : "memory" ); 767:Drivers/CMSIS/Include/cmsis_gcc.h **** return ((uint8_t) result); 768:Drivers/CMSIS/Include/cmsis_gcc.h **** } @@ -2920,6 +2938,9 @@ ARM GAS /tmp/ccPiCTjg.s page 1 802:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Store-Release (8 bit) 803:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Executes a STLB instruction for 8 bit values. 804:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to store + ARM GAS /tmp/ccwcoXyi.s page 50 + + 805:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] ptr Pointer to location 806:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 807:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __STLB(uint8_t value, volatile uint8_t *ptr) @@ -2938,9 +2959,6 @@ ARM GAS /tmp/ccPiCTjg.s page 1 820:Drivers/CMSIS/Include/cmsis_gcc.h **** { 821:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("stlh %1, %0" : "=Q" (*ptr) : "r" ((uint32_t)value) : "memory" ); 822:Drivers/CMSIS/Include/cmsis_gcc.h **** } - ARM GAS /tmp/ccPiCTjg.s page 50 - - 823:Drivers/CMSIS/Include/cmsis_gcc.h **** 824:Drivers/CMSIS/Include/cmsis_gcc.h **** 825:Drivers/CMSIS/Include/cmsis_gcc.h **** /** @@ -2980,6 +2998,9 @@ ARM GAS /tmp/ccPiCTjg.s page 1 859:Drivers/CMSIS/Include/cmsis_gcc.h **** { 860:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 861:Drivers/CMSIS/Include/cmsis_gcc.h **** + ARM GAS /tmp/ccwcoXyi.s page 51 + + 862:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("ldaexh %0, %1" : "=r" (result) : "Q" (*ptr) : "memory" ); 863:Drivers/CMSIS/Include/cmsis_gcc.h **** return ((uint16_t) result); 864:Drivers/CMSIS/Include/cmsis_gcc.h **** } @@ -2998,9 +3019,6 @@ ARM GAS /tmp/ccPiCTjg.s page 1 877:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("ldaex %0, %1" : "=r" (result) : "Q" (*ptr) : "memory" ); 878:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 879:Drivers/CMSIS/Include/cmsis_gcc.h **** } - ARM GAS /tmp/ccPiCTjg.s page 51 - - 880:Drivers/CMSIS/Include/cmsis_gcc.h **** 881:Drivers/CMSIS/Include/cmsis_gcc.h **** 882:Drivers/CMSIS/Include/cmsis_gcc.h **** /** @@ -3040,6 +3058,9 @@ ARM GAS /tmp/ccPiCTjg.s page 1 916:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 917:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Store-Release Exclusive (32 bit) 918:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Executes a STL exclusive instruction for 32 bit values. + ARM GAS /tmp/ccwcoXyi.s page 52 + + 919:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to store 920:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] ptr Pointer to location 921:Drivers/CMSIS/Include/cmsis_gcc.h **** \return 0 Function succeeded @@ -3058,9 +3079,6 @@ ARM GAS /tmp/ccPiCTjg.s page 1 934:Drivers/CMSIS/Include/cmsis_gcc.h **** 935:Drivers/CMSIS/Include/cmsis_gcc.h **** /*@}*/ /* end of group CMSIS_Core_InstructionInterface */ 936:Drivers/CMSIS/Include/cmsis_gcc.h **** - ARM GAS /tmp/ccPiCTjg.s page 52 - - 937:Drivers/CMSIS/Include/cmsis_gcc.h **** 938:Drivers/CMSIS/Include/cmsis_gcc.h **** /* ########################### Core Function Access ########################### */ 939:Drivers/CMSIS/Include/cmsis_gcc.h **** /** \ingroup CMSIS_Core_FunctionInterface @@ -3085,831 +3103,1014 @@ ARM GAS /tmp/ccPiCTjg.s page 1 958:Drivers/CMSIS/Include/cmsis_gcc.h **** Can only be executed in Privileged modes. 959:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 960:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __disable_irq(void) - 1337 .loc 2 960 27 view .LVU281 - 1338 .LBB16: + 1339 .loc 2 960 27 view .LVU281 + 1340 .LBB16: 961:Drivers/CMSIS/Include/cmsis_gcc.h **** { 962:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("cpsid i" : : : "memory"); - 1339 .loc 2 962 3 view .LVU282 - 1340 .syntax unified - 1341 @ 962 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 - 1342 0000 72B6 cpsid i - 1343 @ 0 "" 2 - 1344 .thumb - 1345 .syntax unified - 1346 .L83: - 1347 .LBE16: - 1348 .LBE15: - 409:Core/Src/main.c **** while (1) - 1349 .loc 1 409 3 discriminator 1 view .LVU283 - 410:Core/Src/main.c **** { - 411:Core/Src/main.c **** } - 1350 .loc 1 411 3 discriminator 1 view .LVU284 - 409:Core/Src/main.c **** while (1) - 1351 .loc 1 409 9 discriminator 1 view .LVU285 - 1352 0002 FEE7 b .L83 - 1353 .cfi_endproc - 1354 .LFE156: - 1356 .section .text.MX_USART2_UART_Init,"ax",%progbits - 1357 .align 1 - 1358 .syntax unified - 1359 .thumb - 1360 .thumb_func - 1361 .fpu fpv4-sp-d16 - 1363 MX_USART2_UART_Init: - 1364 .LFB150: - 299:Core/Src/main.c **** huart2.Instance = USART2; - ARM GAS /tmp/ccPiCTjg.s page 53 + 1341 .loc 2 962 3 view .LVU282 + 1342 .syntax unified + 1343 @ 962 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 + 1344 0000 72B6 cpsid i + 1345 @ 0 "" 2 + 1346 .thumb + 1347 .syntax unified + 1348 .L83: + 1349 .LBE16: + 1350 .LBE15: + 425:Core/Src/main.c **** while (1) + ARM GAS /tmp/ccwcoXyi.s page 53 - 1365 .loc 1 299 1 view -0 - 1366 .cfi_startproc - 1367 @ args = 0, pretend = 0, frame = 0 - 1368 @ frame_needed = 0, uses_anonymous_args = 0 - 1369 0000 08B5 push {r3, lr} - 1370 .LCFI34: - 1371 .cfi_def_cfa_offset 8 - 1372 .cfi_offset 3, -8 - 1373 .cfi_offset 14, -4 - 300:Core/Src/main.c **** huart2.Init.BaudRate = 115200; - 1374 .loc 1 300 3 view .LVU287 - 300:Core/Src/main.c **** huart2.Init.BaudRate = 115200; - 1375 .loc 1 300 19 is_stmt 0 view .LVU288 - 1376 0002 0A48 ldr r0, .L88 - 1377 0004 0A4B ldr r3, .L88+4 - 1378 0006 0360 str r3, [r0] - 301:Core/Src/main.c **** huart2.Init.WordLength = UART_WORDLENGTH_8B; - 1379 .loc 1 301 3 is_stmt 1 view .LVU289 - 301:Core/Src/main.c **** huart2.Init.WordLength = UART_WORDLENGTH_8B; - 1380 .loc 1 301 24 is_stmt 0 view .LVU290 - 1381 0008 4FF4E133 mov r3, #115200 - 1382 000c 4360 str r3, [r0, #4] - 302:Core/Src/main.c **** huart2.Init.StopBits = UART_STOPBITS_1; - 1383 .loc 1 302 3 is_stmt 1 view .LVU291 - 302:Core/Src/main.c **** huart2.Init.StopBits = UART_STOPBITS_1; - 1384 .loc 1 302 26 is_stmt 0 view .LVU292 - 1385 000e 0023 movs r3, #0 - 1386 0010 8360 str r3, [r0, #8] - 303:Core/Src/main.c **** huart2.Init.Parity = UART_PARITY_NONE; - 1387 .loc 1 303 3 is_stmt 1 view .LVU293 - 303:Core/Src/main.c **** huart2.Init.Parity = UART_PARITY_NONE; - 1388 .loc 1 303 24 is_stmt 0 view .LVU294 - 1389 0012 C360 str r3, [r0, #12] - 304:Core/Src/main.c **** huart2.Init.Mode = UART_MODE_TX_RX; - 1390 .loc 1 304 3 is_stmt 1 view .LVU295 - 304:Core/Src/main.c **** huart2.Init.Mode = UART_MODE_TX_RX; - 1391 .loc 1 304 22 is_stmt 0 view .LVU296 - 1392 0014 0361 str r3, [r0, #16] - 305:Core/Src/main.c **** huart2.Init.HwFlowCtl = UART_HWCONTROL_NONE; - 1393 .loc 1 305 3 is_stmt 1 view .LVU297 - 305:Core/Src/main.c **** huart2.Init.HwFlowCtl = UART_HWCONTROL_NONE; - 1394 .loc 1 305 20 is_stmt 0 view .LVU298 - 1395 0016 0C22 movs r2, #12 - 1396 0018 4261 str r2, [r0, #20] - 306:Core/Src/main.c **** huart2.Init.OverSampling = UART_OVERSAMPLING_16; - 1397 .loc 1 306 3 is_stmt 1 view .LVU299 - 306:Core/Src/main.c **** huart2.Init.OverSampling = UART_OVERSAMPLING_16; - 1398 .loc 1 306 25 is_stmt 0 view .LVU300 - 1399 001a 8361 str r3, [r0, #24] - 307:Core/Src/main.c **** if (HAL_UART_Init(&huart2) != HAL_OK) - 1400 .loc 1 307 3 is_stmt 1 view .LVU301 - 307:Core/Src/main.c **** if (HAL_UART_Init(&huart2) != HAL_OK) - 1401 .loc 1 307 28 is_stmt 0 view .LVU302 - 1402 001c C361 str r3, [r0, #28] - 308:Core/Src/main.c **** { - 1403 .loc 1 308 3 is_stmt 1 view .LVU303 - 308:Core/Src/main.c **** { - ARM GAS /tmp/ccPiCTjg.s page 54 + 1351 .loc 1 425 3 discriminator 1 view .LVU283 + 426:Core/Src/main.c **** { + 427:Core/Src/main.c **** } + 1352 .loc 1 427 3 discriminator 1 view .LVU284 + 425:Core/Src/main.c **** while (1) + 1353 .loc 1 425 9 discriminator 1 view .LVU285 + 1354 0002 FEE7 b .L83 + 1355 .cfi_endproc + 1356 .LFE156: + 1358 .section .text.MX_USART2_UART_Init,"ax",%progbits + 1359 .align 1 + 1360 .syntax unified + 1361 .thumb + 1362 .thumb_func + 1363 .fpu fpv4-sp-d16 + 1365 MX_USART2_UART_Init: + 1366 .LFB150: + 315:Core/Src/main.c **** huart2.Instance = USART2; + 1367 .loc 1 315 1 view -0 + 1368 .cfi_startproc + 1369 @ args = 0, pretend = 0, frame = 0 + 1370 @ frame_needed = 0, uses_anonymous_args = 0 + 1371 0000 08B5 push {r3, lr} + 1372 .LCFI34: + 1373 .cfi_def_cfa_offset 8 + 1374 .cfi_offset 3, -8 + 1375 .cfi_offset 14, -4 + 316:Core/Src/main.c **** huart2.Init.BaudRate = 115200; + 1376 .loc 1 316 3 view .LVU287 + 316:Core/Src/main.c **** huart2.Init.BaudRate = 115200; + 1377 .loc 1 316 19 is_stmt 0 view .LVU288 + 1378 0002 0A48 ldr r0, .L88 + 1379 0004 0A4B ldr r3, .L88+4 + 1380 0006 0360 str r3, [r0] + 317:Core/Src/main.c **** huart2.Init.WordLength = UART_WORDLENGTH_8B; + 1381 .loc 1 317 3 is_stmt 1 view .LVU289 + 317:Core/Src/main.c **** huart2.Init.WordLength = UART_WORDLENGTH_8B; + 1382 .loc 1 317 24 is_stmt 0 view .LVU290 + 1383 0008 4FF4E133 mov r3, #115200 + 1384 000c 4360 str r3, [r0, #4] + 318:Core/Src/main.c **** huart2.Init.StopBits = UART_STOPBITS_1; + 1385 .loc 1 318 3 is_stmt 1 view .LVU291 + 318:Core/Src/main.c **** huart2.Init.StopBits = UART_STOPBITS_1; + 1386 .loc 1 318 26 is_stmt 0 view .LVU292 + 1387 000e 0023 movs r3, #0 + 1388 0010 8360 str r3, [r0, #8] + 319:Core/Src/main.c **** huart2.Init.Parity = UART_PARITY_NONE; + 1389 .loc 1 319 3 is_stmt 1 view .LVU293 + 319:Core/Src/main.c **** huart2.Init.Parity = UART_PARITY_NONE; + 1390 .loc 1 319 24 is_stmt 0 view .LVU294 + 1391 0012 C360 str r3, [r0, #12] + 320:Core/Src/main.c **** huart2.Init.Mode = UART_MODE_TX_RX; + 1392 .loc 1 320 3 is_stmt 1 view .LVU295 + 320:Core/Src/main.c **** huart2.Init.Mode = UART_MODE_TX_RX; + 1393 .loc 1 320 22 is_stmt 0 view .LVU296 + 1394 0014 0361 str r3, [r0, #16] + 321:Core/Src/main.c **** huart2.Init.HwFlowCtl = UART_HWCONTROL_NONE; + ARM GAS /tmp/ccwcoXyi.s page 54 - 1404 .loc 1 308 7 is_stmt 0 view .LVU304 - 1405 001e FFF7FEFF bl HAL_UART_Init - 1406 .LVL104: - 308:Core/Src/main.c **** { - 1407 .loc 1 308 6 view .LVU305 - 1408 0022 00B9 cbnz r0, .L87 - 313:Core/Src/main.c **** - 1409 .loc 1 313 1 view .LVU306 - 1410 0024 08BD pop {r3, pc} - 1411 .L87: - 310:Core/Src/main.c **** } - 1412 .loc 1 310 5 is_stmt 1 view .LVU307 - 1413 0026 FFF7FEFF bl Error_Handler - 1414 .LVL105: - 1415 .L89: - 1416 002a 00BF .align 2 - 1417 .L88: - 1418 002c 00000000 .word .LANCHOR1 - 1419 0030 00440040 .word 1073759232 - 1420 .cfi_endproc - 1421 .LFE150: - 1423 .section .text.SystemClock_Config,"ax",%progbits - 1424 .align 1 - 1425 .global SystemClock_Config - 1426 .syntax unified - 1427 .thumb - 1428 .thumb_func - 1429 .fpu fpv4-sp-d16 - 1431 SystemClock_Config: - 1432 .LFB149: - 252:Core/Src/main.c **** RCC_OscInitTypeDef RCC_OscInitStruct = {0}; - 1433 .loc 1 252 1 view -0 - 1434 .cfi_startproc - 1435 @ args = 0, pretend = 0, frame = 80 - 1436 @ frame_needed = 0, uses_anonymous_args = 0 - 1437 0000 00B5 push {lr} - 1438 .LCFI35: - 1439 .cfi_def_cfa_offset 4 - 1440 .cfi_offset 14, -4 - 1441 0002 95B0 sub sp, sp, #84 - 1442 .LCFI36: - 1443 .cfi_def_cfa_offset 88 - 253:Core/Src/main.c **** RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; - 1444 .loc 1 253 3 view .LVU309 - 253:Core/Src/main.c **** RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; - 1445 .loc 1 253 22 is_stmt 0 view .LVU310 - 1446 0004 3022 movs r2, #48 - 1447 0006 0021 movs r1, #0 - 1448 0008 08A8 add r0, sp, #32 - 1449 000a FFF7FEFF bl memset - 1450 .LVL106: - 254:Core/Src/main.c **** - 1451 .loc 1 254 3 is_stmt 1 view .LVU311 - 254:Core/Src/main.c **** - 1452 .loc 1 254 22 is_stmt 0 view .LVU312 - 1453 000e 0023 movs r3, #0 - 1454 0010 0393 str r3, [sp, #12] - ARM GAS /tmp/ccPiCTjg.s page 55 + 1395 .loc 1 321 3 is_stmt 1 view .LVU297 + 321:Core/Src/main.c **** huart2.Init.HwFlowCtl = UART_HWCONTROL_NONE; + 1396 .loc 1 321 20 is_stmt 0 view .LVU298 + 1397 0016 0C22 movs r2, #12 + 1398 0018 4261 str r2, [r0, #20] + 322:Core/Src/main.c **** huart2.Init.OverSampling = UART_OVERSAMPLING_16; + 1399 .loc 1 322 3 is_stmt 1 view .LVU299 + 322:Core/Src/main.c **** huart2.Init.OverSampling = UART_OVERSAMPLING_16; + 1400 .loc 1 322 25 is_stmt 0 view .LVU300 + 1401 001a 8361 str r3, [r0, #24] + 323:Core/Src/main.c **** if (HAL_UART_Init(&huart2) != HAL_OK) + 1402 .loc 1 323 3 is_stmt 1 view .LVU301 + 323:Core/Src/main.c **** if (HAL_UART_Init(&huart2) != HAL_OK) + 1403 .loc 1 323 28 is_stmt 0 view .LVU302 + 1404 001c C361 str r3, [r0, #28] + 324:Core/Src/main.c **** { + 1405 .loc 1 324 3 is_stmt 1 view .LVU303 + 324:Core/Src/main.c **** { + 1406 .loc 1 324 7 is_stmt 0 view .LVU304 + 1407 001e FFF7FEFF bl HAL_UART_Init + 1408 .LVL104: + 324:Core/Src/main.c **** { + 1409 .loc 1 324 6 view .LVU305 + 1410 0022 00B9 cbnz r0, .L87 + 329:Core/Src/main.c **** + 1411 .loc 1 329 1 view .LVU306 + 1412 0024 08BD pop {r3, pc} + 1413 .L87: + 326:Core/Src/main.c **** } + 1414 .loc 1 326 5 is_stmt 1 view .LVU307 + 1415 0026 FFF7FEFF bl Error_Handler + 1416 .LVL105: + 1417 .L89: + 1418 002a 00BF .align 2 + 1419 .L88: + 1420 002c 00000000 .word .LANCHOR1 + 1421 0030 00440040 .word 1073759232 + 1422 .cfi_endproc + 1423 .LFE150: + 1425 .section .text.SystemClock_Config,"ax",%progbits + 1426 .align 1 + 1427 .global SystemClock_Config + 1428 .syntax unified + 1429 .thumb + 1430 .thumb_func + 1431 .fpu fpv4-sp-d16 + 1433 SystemClock_Config: + 1434 .LFB149: + 268:Core/Src/main.c **** RCC_OscInitTypeDef RCC_OscInitStruct = {0}; + 1435 .loc 1 268 1 view -0 + 1436 .cfi_startproc + 1437 @ args = 0, pretend = 0, frame = 80 + 1438 @ frame_needed = 0, uses_anonymous_args = 0 + 1439 0000 00B5 push {lr} + 1440 .LCFI35: + 1441 .cfi_def_cfa_offset 4 + 1442 .cfi_offset 14, -4 + ARM GAS /tmp/ccwcoXyi.s page 55 - 1455 0012 0493 str r3, [sp, #16] - 1456 0014 0593 str r3, [sp, #20] - 1457 0016 0693 str r3, [sp, #24] - 1458 0018 0793 str r3, [sp, #28] - 258:Core/Src/main.c **** __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE2); - 1459 .loc 1 258 3 is_stmt 1 view .LVU313 - 1460 .LBB17: - 258:Core/Src/main.c **** __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE2); - 1461 .loc 1 258 3 view .LVU314 - 1462 001a 0193 str r3, [sp, #4] - 258:Core/Src/main.c **** __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE2); - 1463 .loc 1 258 3 view .LVU315 - 1464 001c 1F4A ldr r2, .L96 - 1465 001e 116C ldr r1, [r2, #64] - 1466 0020 41F08051 orr r1, r1, #268435456 - 1467 0024 1164 str r1, [r2, #64] - 258:Core/Src/main.c **** __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE2); - 1468 .loc 1 258 3 view .LVU316 - 1469 0026 126C ldr r2, [r2, #64] - 1470 0028 02F08052 and r2, r2, #268435456 - 1471 002c 0192 str r2, [sp, #4] - 258:Core/Src/main.c **** __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE2); - 1472 .loc 1 258 3 view .LVU317 - 1473 002e 019A ldr r2, [sp, #4] - 1474 .LBE17: - 258:Core/Src/main.c **** __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE2); - 1475 .loc 1 258 3 view .LVU318 - 259:Core/Src/main.c **** - 1476 .loc 1 259 3 view .LVU319 - 1477 .LBB18: - 259:Core/Src/main.c **** - 1478 .loc 1 259 3 view .LVU320 - 1479 0030 0293 str r3, [sp, #8] - 259:Core/Src/main.c **** - 1480 .loc 1 259 3 view .LVU321 - 1481 0032 1B49 ldr r1, .L96+4 - 1482 0034 0A68 ldr r2, [r1] - 1483 0036 22F44042 bic r2, r2, #49152 - 1484 003a 42F40042 orr r2, r2, #32768 - 1485 003e 0A60 str r2, [r1] - 259:Core/Src/main.c **** - 1486 .loc 1 259 3 view .LVU322 - 1487 0040 0A68 ldr r2, [r1] - 1488 0042 02F44042 and r2, r2, #49152 - 1489 0046 0292 str r2, [sp, #8] - 259:Core/Src/main.c **** - 1490 .loc 1 259 3 view .LVU323 - 1491 0048 029A ldr r2, [sp, #8] - 1492 .LBE18: - 259:Core/Src/main.c **** - 1493 .loc 1 259 3 view .LVU324 - 264:Core/Src/main.c **** RCC_OscInitStruct.HSIState = RCC_HSI_ON; - 1494 .loc 1 264 3 view .LVU325 - 264:Core/Src/main.c **** RCC_OscInitStruct.HSIState = RCC_HSI_ON; - 1495 .loc 1 264 36 is_stmt 0 view .LVU326 - 1496 004a 0221 movs r1, #2 - 1497 004c 0891 str r1, [sp, #32] - ARM GAS /tmp/ccPiCTjg.s page 56 + 1443 0002 95B0 sub sp, sp, #84 + 1444 .LCFI36: + 1445 .cfi_def_cfa_offset 88 + 269:Core/Src/main.c **** RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; + 1446 .loc 1 269 3 view .LVU309 + 269:Core/Src/main.c **** RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; + 1447 .loc 1 269 22 is_stmt 0 view .LVU310 + 1448 0004 3022 movs r2, #48 + 1449 0006 0021 movs r1, #0 + 1450 0008 08A8 add r0, sp, #32 + 1451 000a FFF7FEFF bl memset + 1452 .LVL106: + 270:Core/Src/main.c **** + 1453 .loc 1 270 3 is_stmt 1 view .LVU311 + 270:Core/Src/main.c **** + 1454 .loc 1 270 22 is_stmt 0 view .LVU312 + 1455 000e 0023 movs r3, #0 + 1456 0010 0393 str r3, [sp, #12] + 1457 0012 0493 str r3, [sp, #16] + 1458 0014 0593 str r3, [sp, #20] + 1459 0016 0693 str r3, [sp, #24] + 1460 0018 0793 str r3, [sp, #28] + 274:Core/Src/main.c **** __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE2); + 1461 .loc 1 274 3 is_stmt 1 view .LVU313 + 1462 .LBB17: + 274:Core/Src/main.c **** __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE2); + 1463 .loc 1 274 3 view .LVU314 + 1464 001a 0193 str r3, [sp, #4] + 274:Core/Src/main.c **** __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE2); + 1465 .loc 1 274 3 view .LVU315 + 1466 001c 1F4A ldr r2, .L96 + 1467 001e 116C ldr r1, [r2, #64] + 1468 0020 41F08051 orr r1, r1, #268435456 + 1469 0024 1164 str r1, [r2, #64] + 274:Core/Src/main.c **** __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE2); + 1470 .loc 1 274 3 view .LVU316 + 1471 0026 126C ldr r2, [r2, #64] + 1472 0028 02F08052 and r2, r2, #268435456 + 1473 002c 0192 str r2, [sp, #4] + 274:Core/Src/main.c **** __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE2); + 1474 .loc 1 274 3 view .LVU317 + 1475 002e 019A ldr r2, [sp, #4] + 1476 .LBE17: + 274:Core/Src/main.c **** __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE2); + 1477 .loc 1 274 3 view .LVU318 + 275:Core/Src/main.c **** + 1478 .loc 1 275 3 view .LVU319 + 1479 .LBB18: + 275:Core/Src/main.c **** + 1480 .loc 1 275 3 view .LVU320 + 1481 0030 0293 str r3, [sp, #8] + 275:Core/Src/main.c **** + 1482 .loc 1 275 3 view .LVU321 + 1483 0032 1B49 ldr r1, .L96+4 + 1484 0034 0A68 ldr r2, [r1] + 1485 0036 22F44042 bic r2, r2, #49152 + 1486 003a 42F40042 orr r2, r2, #32768 + ARM GAS /tmp/ccwcoXyi.s page 56 - 265:Core/Src/main.c **** RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT; - 1498 .loc 1 265 3 is_stmt 1 view .LVU327 - 265:Core/Src/main.c **** RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT; - 1499 .loc 1 265 30 is_stmt 0 view .LVU328 - 1500 004e 0122 movs r2, #1 - 1501 0050 0B92 str r2, [sp, #44] - 266:Core/Src/main.c **** RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; - 1502 .loc 1 266 3 is_stmt 1 view .LVU329 - 266:Core/Src/main.c **** RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; - 1503 .loc 1 266 41 is_stmt 0 view .LVU330 - 1504 0052 1022 movs r2, #16 - 1505 0054 0C92 str r2, [sp, #48] - 267:Core/Src/main.c **** RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI; - 1506 .loc 1 267 3 is_stmt 1 view .LVU331 - 267:Core/Src/main.c **** RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI; - 1507 .loc 1 267 34 is_stmt 0 view .LVU332 - 1508 0056 0E91 str r1, [sp, #56] - 268:Core/Src/main.c **** RCC_OscInitStruct.PLL.PLLM = 16; - 1509 .loc 1 268 3 is_stmt 1 view .LVU333 - 268:Core/Src/main.c **** RCC_OscInitStruct.PLL.PLLM = 16; - 1510 .loc 1 268 35 is_stmt 0 view .LVU334 - 1511 0058 0F93 str r3, [sp, #60] - 269:Core/Src/main.c **** RCC_OscInitStruct.PLL.PLLN = 336; - 1512 .loc 1 269 3 is_stmt 1 view .LVU335 - 269:Core/Src/main.c **** RCC_OscInitStruct.PLL.PLLN = 336; - 1513 .loc 1 269 30 is_stmt 0 view .LVU336 - 1514 005a 1092 str r2, [sp, #64] - 270:Core/Src/main.c **** RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV4; - 1515 .loc 1 270 3 is_stmt 1 view .LVU337 - 270:Core/Src/main.c **** RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV4; - 1516 .loc 1 270 30 is_stmt 0 view .LVU338 - 1517 005c 4FF4A873 mov r3, #336 - 1518 0060 1193 str r3, [sp, #68] - 271:Core/Src/main.c **** RCC_OscInitStruct.PLL.PLLQ = 7; - 1519 .loc 1 271 3 is_stmt 1 view .LVU339 - 271:Core/Src/main.c **** RCC_OscInitStruct.PLL.PLLQ = 7; - 1520 .loc 1 271 30 is_stmt 0 view .LVU340 - 1521 0062 0423 movs r3, #4 - 1522 0064 1293 str r3, [sp, #72] - 272:Core/Src/main.c **** if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) - 1523 .loc 1 272 3 is_stmt 1 view .LVU341 - 272:Core/Src/main.c **** if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) - 1524 .loc 1 272 30 is_stmt 0 view .LVU342 - 1525 0066 0723 movs r3, #7 - 1526 0068 1393 str r3, [sp, #76] - 273:Core/Src/main.c **** { - 1527 .loc 1 273 3 is_stmt 1 view .LVU343 - 273:Core/Src/main.c **** { - 1528 .loc 1 273 7 is_stmt 0 view .LVU344 - 1529 006a 08A8 add r0, sp, #32 - 1530 006c FFF7FEFF bl HAL_RCC_OscConfig - 1531 .LVL107: - 273:Core/Src/main.c **** { - 1532 .loc 1 273 6 view .LVU345 - 1533 0070 80B9 cbnz r0, .L94 - 280:Core/Src/main.c **** |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; - 1534 .loc 1 280 3 is_stmt 1 view .LVU346 - ARM GAS /tmp/ccPiCTjg.s page 57 + 1487 003e 0A60 str r2, [r1] + 275:Core/Src/main.c **** + 1488 .loc 1 275 3 view .LVU322 + 1489 0040 0A68 ldr r2, [r1] + 1490 0042 02F44042 and r2, r2, #49152 + 1491 0046 0292 str r2, [sp, #8] + 275:Core/Src/main.c **** + 1492 .loc 1 275 3 view .LVU323 + 1493 0048 029A ldr r2, [sp, #8] + 1494 .LBE18: + 275:Core/Src/main.c **** + 1495 .loc 1 275 3 view .LVU324 + 280:Core/Src/main.c **** RCC_OscInitStruct.HSIState = RCC_HSI_ON; + 1496 .loc 1 280 3 view .LVU325 + 280:Core/Src/main.c **** RCC_OscInitStruct.HSIState = RCC_HSI_ON; + 1497 .loc 1 280 36 is_stmt 0 view .LVU326 + 1498 004a 0221 movs r1, #2 + 1499 004c 0891 str r1, [sp, #32] + 281:Core/Src/main.c **** RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT; + 1500 .loc 1 281 3 is_stmt 1 view .LVU327 + 281:Core/Src/main.c **** RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT; + 1501 .loc 1 281 30 is_stmt 0 view .LVU328 + 1502 004e 0122 movs r2, #1 + 1503 0050 0B92 str r2, [sp, #44] + 282:Core/Src/main.c **** RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; + 1504 .loc 1 282 3 is_stmt 1 view .LVU329 + 282:Core/Src/main.c **** RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; + 1505 .loc 1 282 41 is_stmt 0 view .LVU330 + 1506 0052 1022 movs r2, #16 + 1507 0054 0C92 str r2, [sp, #48] + 283:Core/Src/main.c **** RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI; + 1508 .loc 1 283 3 is_stmt 1 view .LVU331 + 283:Core/Src/main.c **** RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI; + 1509 .loc 1 283 34 is_stmt 0 view .LVU332 + 1510 0056 0E91 str r1, [sp, #56] + 284:Core/Src/main.c **** RCC_OscInitStruct.PLL.PLLM = 16; + 1511 .loc 1 284 3 is_stmt 1 view .LVU333 + 284:Core/Src/main.c **** RCC_OscInitStruct.PLL.PLLM = 16; + 1512 .loc 1 284 35 is_stmt 0 view .LVU334 + 1513 0058 0F93 str r3, [sp, #60] + 285:Core/Src/main.c **** RCC_OscInitStruct.PLL.PLLN = 336; + 1514 .loc 1 285 3 is_stmt 1 view .LVU335 + 285:Core/Src/main.c **** RCC_OscInitStruct.PLL.PLLN = 336; + 1515 .loc 1 285 30 is_stmt 0 view .LVU336 + 1516 005a 1092 str r2, [sp, #64] + 286:Core/Src/main.c **** RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV4; + 1517 .loc 1 286 3 is_stmt 1 view .LVU337 + 286:Core/Src/main.c **** RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV4; + 1518 .loc 1 286 30 is_stmt 0 view .LVU338 + 1519 005c 4FF4A873 mov r3, #336 + 1520 0060 1193 str r3, [sp, #68] + 287:Core/Src/main.c **** RCC_OscInitStruct.PLL.PLLQ = 7; + 1521 .loc 1 287 3 is_stmt 1 view .LVU339 + 287:Core/Src/main.c **** RCC_OscInitStruct.PLL.PLLQ = 7; + 1522 .loc 1 287 30 is_stmt 0 view .LVU340 + 1523 0062 0423 movs r3, #4 + 1524 0064 1293 str r3, [sp, #72] + ARM GAS /tmp/ccwcoXyi.s page 57 - 280:Core/Src/main.c **** |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; - 1535 .loc 1 280 31 is_stmt 0 view .LVU347 - 1536 0072 0F23 movs r3, #15 - 1537 0074 0393 str r3, [sp, #12] - 282:Core/Src/main.c **** RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; - 1538 .loc 1 282 3 is_stmt 1 view .LVU348 - 282:Core/Src/main.c **** RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; - 1539 .loc 1 282 34 is_stmt 0 view .LVU349 - 1540 0076 0221 movs r1, #2 - 1541 0078 0491 str r1, [sp, #16] - 283:Core/Src/main.c **** RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2; - 1542 .loc 1 283 3 is_stmt 1 view .LVU350 - 283:Core/Src/main.c **** RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2; - 1543 .loc 1 283 35 is_stmt 0 view .LVU351 - 1544 007a 0023 movs r3, #0 - 1545 007c 0593 str r3, [sp, #20] - 284:Core/Src/main.c **** RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; - 1546 .loc 1 284 3 is_stmt 1 view .LVU352 - 284:Core/Src/main.c **** RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; - 1547 .loc 1 284 36 is_stmt 0 view .LVU353 - 1548 007e 4FF48052 mov r2, #4096 - 1549 0082 0692 str r2, [sp, #24] - 285:Core/Src/main.c **** - 1550 .loc 1 285 3 is_stmt 1 view .LVU354 - 285:Core/Src/main.c **** - 1551 .loc 1 285 36 is_stmt 0 view .LVU355 - 1552 0084 0793 str r3, [sp, #28] - 287:Core/Src/main.c **** { - 1553 .loc 1 287 3 is_stmt 1 view .LVU356 - 287:Core/Src/main.c **** { - 1554 .loc 1 287 7 is_stmt 0 view .LVU357 - 1555 0086 03A8 add r0, sp, #12 - 1556 0088 FFF7FEFF bl HAL_RCC_ClockConfig - 1557 .LVL108: - 287:Core/Src/main.c **** { - 1558 .loc 1 287 6 view .LVU358 - 1559 008c 20B9 cbnz r0, .L95 - 291:Core/Src/main.c **** - 1560 .loc 1 291 1 view .LVU359 - 1561 008e 15B0 add sp, sp, #84 - 1562 .LCFI37: - 1563 .cfi_remember_state - 1564 .cfi_def_cfa_offset 4 - 1565 @ sp needed - 1566 0090 5DF804FB ldr pc, [sp], #4 - 1567 .L94: - 1568 .LCFI38: - 1569 .cfi_restore_state - 275:Core/Src/main.c **** } - 1570 .loc 1 275 5 is_stmt 1 view .LVU360 - 1571 0094 FFF7FEFF bl Error_Handler - 1572 .LVL109: - 1573 .L95: - 289:Core/Src/main.c **** } - 1574 .loc 1 289 5 view .LVU361 - 1575 0098 FFF7FEFF bl Error_Handler - 1576 .LVL110: - ARM GAS /tmp/ccPiCTjg.s page 58 + 288:Core/Src/main.c **** if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) + 1525 .loc 1 288 3 is_stmt 1 view .LVU341 + 288:Core/Src/main.c **** if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) + 1526 .loc 1 288 30 is_stmt 0 view .LVU342 + 1527 0066 0723 movs r3, #7 + 1528 0068 1393 str r3, [sp, #76] + 289:Core/Src/main.c **** { + 1529 .loc 1 289 3 is_stmt 1 view .LVU343 + 289:Core/Src/main.c **** { + 1530 .loc 1 289 7 is_stmt 0 view .LVU344 + 1531 006a 08A8 add r0, sp, #32 + 1532 006c FFF7FEFF bl HAL_RCC_OscConfig + 1533 .LVL107: + 289:Core/Src/main.c **** { + 1534 .loc 1 289 6 view .LVU345 + 1535 0070 80B9 cbnz r0, .L94 + 296:Core/Src/main.c **** |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; + 1536 .loc 1 296 3 is_stmt 1 view .LVU346 + 296:Core/Src/main.c **** |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; + 1537 .loc 1 296 31 is_stmt 0 view .LVU347 + 1538 0072 0F23 movs r3, #15 + 1539 0074 0393 str r3, [sp, #12] + 298:Core/Src/main.c **** RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + 1540 .loc 1 298 3 is_stmt 1 view .LVU348 + 298:Core/Src/main.c **** RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + 1541 .loc 1 298 34 is_stmt 0 view .LVU349 + 1542 0076 0221 movs r1, #2 + 1543 0078 0491 str r1, [sp, #16] + 299:Core/Src/main.c **** RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2; + 1544 .loc 1 299 3 is_stmt 1 view .LVU350 + 299:Core/Src/main.c **** RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2; + 1545 .loc 1 299 35 is_stmt 0 view .LVU351 + 1546 007a 0023 movs r3, #0 + 1547 007c 0593 str r3, [sp, #20] + 300:Core/Src/main.c **** RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; + 1548 .loc 1 300 3 is_stmt 1 view .LVU352 + 300:Core/Src/main.c **** RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; + 1549 .loc 1 300 36 is_stmt 0 view .LVU353 + 1550 007e 4FF48052 mov r2, #4096 + 1551 0082 0692 str r2, [sp, #24] + 301:Core/Src/main.c **** + 1552 .loc 1 301 3 is_stmt 1 view .LVU354 + 301:Core/Src/main.c **** + 1553 .loc 1 301 36 is_stmt 0 view .LVU355 + 1554 0084 0793 str r3, [sp, #28] + 303:Core/Src/main.c **** { + 1555 .loc 1 303 3 is_stmt 1 view .LVU356 + 303:Core/Src/main.c **** { + 1556 .loc 1 303 7 is_stmt 0 view .LVU357 + 1557 0086 03A8 add r0, sp, #12 + 1558 0088 FFF7FEFF bl HAL_RCC_ClockConfig + 1559 .LVL108: + 303:Core/Src/main.c **** { + 1560 .loc 1 303 6 view .LVU358 + 1561 008c 20B9 cbnz r0, .L95 + 307:Core/Src/main.c **** + 1562 .loc 1 307 1 view .LVU359 + ARM GAS /tmp/ccwcoXyi.s page 58 - 1577 .L97: - 1578 .align 2 - 1579 .L96: - 1580 009c 00380240 .word 1073887232 - 1581 00a0 00700040 .word 1073770496 - 1582 .cfi_endproc - 1583 .LFE149: - 1585 .section .rodata.main.str1.4,"aMS",%progbits,1 - 1586 .align 2 - 1587 .LC6: - 1588 0000 30782530 .ascii "0x%02X \015\012\000" - 1588 3258200D - 1588 0A00 - 1589 000a 0000 .align 2 - 1590 .LC7: - 1591 000c 3D3D3D3D .ascii "==========================================\015\012\000" - 1591 3D3D3D3D - 1591 3D3D3D3D - 1591 3D3D3D3D - 1591 3D3D3D3D - 1592 0039 000000 .align 2 - 1593 .LC8: - 1594 003c 4D616E75 .ascii "Manufacturer ID = \015\012\000" - 1594 66616374 - 1594 75726572 - 1594 20494420 - 1594 3D200D0A - 1595 0051 000000 .align 2 - 1596 .LC9: - 1597 0054 44657669 .ascii "Device ID = \015\012\000" - 1597 63652049 - 1597 44203D20 - 1597 0D0A00 - 1598 0063 00 .align 2 - 1599 .LC10: - 1600 0064 48656C6C .ascii "Hello welcome to the EEPROM programmer! What would " - 1600 6F207765 - 1600 6C636F6D - 1600 6520746F - 1600 20746865 - 1601 0097 796F7520 .ascii "you like to do?\015\012\000" - 1601 6C696B65 - 1601 20746F20 - 1601 646F3F0D - 1601 0A00 - 1602 00a9 000000 .align 2 - 1603 .LC11: - 1604 00ac 5B315D20 .ascii "[1] Dump Rom as char\015\012\000" - 1604 44756D70 - 1604 20526F6D - 1604 20617320 - 1604 63686172 - 1605 00c3 00 .align 2 - 1606 .LC12: - 1607 00c4 5B325D20 .ascii "[2] Erase chip\015\012\000" - 1607 45726173 - 1607 65206368 - ARM GAS /tmp/ccPiCTjg.s page 59 + 1563 008e 15B0 add sp, sp, #84 + 1564 .LCFI37: + 1565 .cfi_remember_state + 1566 .cfi_def_cfa_offset 4 + 1567 @ sp needed + 1568 0090 5DF804FB ldr pc, [sp], #4 + 1569 .L94: + 1570 .LCFI38: + 1571 .cfi_restore_state + 291:Core/Src/main.c **** } + 1572 .loc 1 291 5 is_stmt 1 view .LVU360 + 1573 0094 FFF7FEFF bl Error_Handler + 1574 .LVL109: + 1575 .L95: + 305:Core/Src/main.c **** } + 1576 .loc 1 305 5 view .LVU361 + 1577 0098 FFF7FEFF bl Error_Handler + 1578 .LVL110: + 1579 .L97: + 1580 .align 2 + 1581 .L96: + 1582 009c 00380240 .word 1073887232 + 1583 00a0 00700040 .word 1073770496 + 1584 .cfi_endproc + 1585 .LFE149: + 1587 .section .rodata.main.str1.4,"aMS",%progbits,1 + 1588 .align 2 + 1589 .LC6: + 1590 0000 30782530 .ascii "0x%02X \015\012\000" + 1590 3258200D + 1590 0A00 + 1591 000a 0000 .align 2 + 1592 .LC7: + 1593 000c 3D3D3D3D .ascii "===================================================" + 1593 3D3D3D3D + 1593 3D3D3D3D + 1593 3D3D3D3D + 1593 3D3D3D3D + 1594 003f 3D3D3D3D .ascii "==================================\015\012\000" + 1594 3D3D3D3D + 1594 3D3D3D3D + 1594 3D3D3D3D + 1594 3D3D3D3D + 1595 .align 2 + 1596 .LC8: + 1597 0064 205F5F5F .ascii " _____ _____ _____ _____ _____ _____\015\012\000" + 1597 5F5F205F + 1597 5F5F5F5F + 1597 205F5F5F + 1597 5F5F205F + 1598 008b 00 .align 2 + 1599 .LC9: + 1600 008c 7C202020 .ascii "| __| __| _ | __ | | | ___ ___ ___" + 1600 5F5F7C20 + 1600 20205F5F + 1600 7C20205F + 1600 20207C20 + ARM GAS /tmp/ccwcoXyi.s page 59 - 1607 69700D0A - 1607 00 - 1608 00d5 000000 .align 2 - 1609 .LC13: - 1610 00d8 5B335D20 .ascii "[3] Program chip via UART\015\012\000" - 1610 50726F67 - 1610 72616D20 - 1610 63686970 - 1610 20766961 - 1611 .align 2 - 1612 .LC14: - 1613 00f4 44756D70 .ascii "Dumping ROM...\015\012\000" - 1613 696E6720 - 1613 524F4D2E - 1613 2E2E0D0A - 1613 00 - 1614 0105 000000 .align 2 - 1615 .LC15: - 1616 0108 45726173 .ascii "Erasing Chip...\015\012\000" - 1616 696E6720 - 1616 43686970 - 1616 2E2E2E0D - 1616 0A00 - 1617 011a 0000 .align 2 - 1618 .LC16: - 1619 011c 4C61756E .ascii "Launching programming sequence...\015\012\000" - 1619 6368696E - 1619 67207072 - 1619 6F677261 - 1619 6D6D696E - 1620 .align 2 - 1621 .LC17: - 1622 0140 496E7661 .ascii "Invalid input!\015\012\000" - 1622 6C696420 - 1622 696E7075 - 1622 74210D0A - 1622 00 - 1623 .section .text.main,"ax",%progbits - 1624 .align 1 - 1625 .global main - 1626 .syntax unified - 1627 .thumb - 1628 .thumb_func - 1629 .fpu fpv4-sp-d16 - 1631 main: - 1632 .LFB137: + 1601 00bf 205F5F5F .ascii " ___ ___ ___ _____ _____ ___ ___\015\012\000" + 1601 205F5F5F + 1601 205F5F5F + 1601 205F5F5F + 1601 5F5F205F + 1602 00e2 0000 .align 2 + 1603 .LC10: + 1604 00e4 7C202020 .ascii "| __| __| __| -| | | | | | | . | _| . " + 1604 5F5F7C20 + 1604 20205F5F + 1604 7C202020 + 1604 5F5F7C20 + 1605 0117 7C202E20 .ascii "| . | _| .'| | | -_| _|\015\012\000" + 1605 7C20205F + 1605 7C202E27 + 1605 7C202020 + 1605 20207C20 + 1606 013b 00 .align 2 + 1607 .LC11: + 1608 013c 7C5F5F5F .ascii "|_____|_____|__| |__|__|_____|_|_|_| | _|_| |___" + 1608 5F5F7C5F + 1608 5F5F5F5F + 1608 7C5F5F7C + 1608 20207C5F + 1609 016f 7C5F2020 .ascii "|_ |_| |__,|_|_|_|_|_|_|___|_|\015\012\000" + 1609 7C5F7C20 + 1609 7C5F5F2C + 1609 7C5F7C5F + 1609 7C5F7C5F + 1610 0191 000000 .align 2 + 1611 .LC12: + 1612 0194 20202020 .ascii " - Ayabusa 2025 |_| " + 1612 2D204179 + 1612 61627573 + 1612 61203230 + 1612 32352020 + 1613 01c7 7C5F5F5F .ascii "|___|\015\012\000" + 1613 7C0D0A00 + 1614 01cf 00 .align 2 + 1615 .LC13: + 1616 01d0 48656C6C .ascii "Hello welcome to the EEPROM programmer! What would " + 1616 6F207765 + 1616 6C636F6D + 1616 6520746F + 1616 20746865 + 1617 0203 796F7520 .ascii "you like to do?\015\012\000" + 1617 6C696B65 + 1617 20746F20 + 1617 646F3F0D + 1617 0A00 + 1618 0215 000000 .align 2 + 1619 .LC14: + 1620 0218 5B315D20 .ascii "[1] Dump Rom as char\015\012\000" + 1620 44756D70 + 1620 20526F6D + 1620 20617320 + 1620 63686172 + ARM GAS /tmp/ccwcoXyi.s page 60 + + + 1621 022f 00 .align 2 + 1622 .LC15: + 1623 0230 5B325D20 .ascii "[2] Erase chip\015\012\000" + 1623 45726173 + 1623 65206368 + 1623 69700D0A + 1623 00 + 1624 0241 000000 .align 2 + 1625 .LC16: + 1626 0244 5B335D20 .ascii "[3] Program chip via UART (ASCII mode)\015\012\000" + 1626 50726F67 + 1626 72616D20 + 1626 63686970 + 1626 20766961 + 1627 026d 000000 .align 2 + 1628 .LC17: + 1629 0270 5B345D20 .ascii "[4] Identify device\015\012\000" + 1629 4964656E + 1629 74696679 + 1629 20646576 + 1629 6963650D + 1630 0286 0000 .align 2 + 1631 .LC18: + 1632 0288 5B355D20 .ascii "[5] Dump Rom as file (ASCII mode)\015\012\000" + 1632 44756D70 + 1632 20526F6D + 1632 20617320 + 1632 66696C65 + 1633 .align 2 + 1634 .LC19: + 1635 02ac 44756D70 .ascii "Dumping ROM...\015\012\000" + 1635 696E6720 + 1635 524F4D2E + 1635 2E2E0D0A + 1635 00 + 1636 02bd 000000 .align 2 + 1637 .LC20: + 1638 02c0 45726173 .ascii "Erasing Chip...\015\012\000" + 1638 696E6720 + 1638 43686970 + 1638 2E2E2E0D + 1638 0A00 + 1639 02d2 0000 .align 2 + 1640 .LC21: + 1641 02d4 4C61756E .ascii "Launching programming sequence...\015\012\000" + 1641 6368696E + 1641 67207072 + 1641 6F677261 + 1641 6D6D696E + 1642 .align 2 + 1643 .LC22: + 1644 02f8 4964656E .ascii "Identifying device...\015\012\000" + 1644 74696679 + 1644 696E6720 + 1644 64657669 + 1644 63652E2E + 1645 .align 2 + ARM GAS /tmp/ccwcoXyi.s page 61 + + + 1646 .LC23: + 1647 0310 4D616E75 .ascii "Manufacturer ID = \015\012\000" + 1647 66616374 + 1647 75726572 + 1647 20494420 + 1647 3D200D0A + 1648 0325 000000 .align 2 + 1649 .LC24: + 1650 0328 44657669 .ascii "Device ID = \015\012\000" + 1650 63652049 + 1650 44203D20 + 1650 0D0A00 + 1651 0337 00 .align 2 + 1652 .LC25: + 1653 0338 44756D70 .ascii "Dumping ROM as file, press any key...\015\012\000" + 1653 696E6720 + 1653 524F4D20 + 1653 61732066 + 1653 696C652C + 1654 .align 2 + 1655 .LC26: + 1656 0360 496E7661 .ascii "Invalid input!\015\012\000" + 1656 6C696420 + 1656 696E7075 + 1656 74210D0A + 1656 00 + 1657 .section .text.main,"ax",%progbits + 1658 .align 1 + 1659 .global main + 1660 .syntax unified + 1661 .thumb + 1662 .thumb_func + 1663 .fpu fpv4-sp-d16 + 1665 main: + 1666 .LFB137: 40:Core/Src/main.c **** /* MCU Configuration--------------------------------------------------------*/ - 1633 .loc 1 40 1 view -0 - 1634 .cfi_startproc - 1635 @ args = 0, pretend = 0, frame = 16 - 1636 @ frame_needed = 0, uses_anonymous_args = 0 - 1637 0000 70B5 push {r4, r5, r6, lr} - 1638 .LCFI39: - 1639 .cfi_def_cfa_offset 16 - 1640 .cfi_offset 4, -16 - 1641 .cfi_offset 5, -12 - 1642 .cfi_offset 6, -8 - ARM GAS /tmp/ccPiCTjg.s page 60 - - - 1643 .cfi_offset 14, -4 - 1644 0002 84B0 sub sp, sp, #16 - 1645 .LCFI40: - 1646 .cfi_def_cfa_offset 32 + 1667 .loc 1 40 1 view -0 + 1668 .cfi_startproc + 1669 @ args = 0, pretend = 0, frame = 16 + 1670 @ frame_needed = 0, uses_anonymous_args = 0 + 1671 0000 70B5 push {r4, r5, r6, lr} + 1672 .LCFI39: + 1673 .cfi_def_cfa_offset 16 + 1674 .cfi_offset 4, -16 + 1675 .cfi_offset 5, -12 + 1676 .cfi_offset 6, -8 + 1677 .cfi_offset 14, -4 + 1678 0002 84B0 sub sp, sp, #16 + 1679 .LCFI40: + 1680 .cfi_def_cfa_offset 32 44:Core/Src/main.c **** - 1647 .loc 1 44 3 view .LVU363 - 1648 0004 FFF7FEFF bl HAL_Init - 1649 .LVL111: + 1681 .loc 1 44 3 view .LVU363 + 1682 0004 FFF7FEFF bl HAL_Init + 1683 .LVL111: 47:Core/Src/main.c **** - 1650 .loc 1 47 3 view .LVU364 - 1651 0008 FFF7FEFF bl SystemClock_Config - 1652 .LVL112: + 1684 .loc 1 47 3 view .LVU364 + 1685 0008 FFF7FEFF bl SystemClock_Config + ARM GAS /tmp/ccwcoXyi.s page 62 + + + 1686 .LVL112: 50:Core/Src/main.c **** MX_USART2_UART_Init(); - 1653 .loc 1 50 3 view .LVU365 - 1654 000c FFF7FEFF bl MX_GPIO_Init - 1655 .LVL113: + 1687 .loc 1 50 3 view .LVU365 + 1688 000c FFF7FEFF bl MX_GPIO_Init + 1689 .LVL113: 51:Core/Src/main.c **** - 1656 .loc 1 51 3 view .LVU366 - 1657 0010 FFF7FEFF bl MX_USART2_UART_Init - 1658 .LVL114: + 1690 .loc 1 51 3 view .LVU366 + 1691 0010 FFF7FEFF bl MX_USART2_UART_Init + 1692 .LVL114: 53:Core/Src/main.c **** Address_Pins_Init(); - 1659 .loc 1 53 3 view .LVU367 - 1660 0014 0020 movs r0, #0 - 1661 0016 FFF7FEFF bl Data_Pins_Init - 1662 .LVL115: + 1693 .loc 1 53 3 view .LVU367 + 1694 0014 0020 movs r0, #0 + 1695 0016 FFF7FEFF bl Data_Pins_Init + 1696 .LVL115: 54:Core/Src/main.c **** Command_Pins_Init(); - 1663 .loc 1 54 3 view .LVU368 - 1664 001a FFF7FEFF bl Address_Pins_Init - 1665 .LVL116: + 1697 .loc 1 54 3 view .LVU368 + 1698 001a FFF7FEFF bl Address_Pins_Init + 1699 .LVL116: 55:Core/Src/main.c **** - 1666 .loc 1 55 3 view .LVU369 - 1667 001e FFF7FEFF bl Command_Pins_Init - 1668 .LVL117: + 1700 .loc 1 55 3 view .LVU369 + 1701 001e FFF7FEFF bl Command_Pins_Init + 1702 .LVL117: 57:Core/Src/main.c **** Enter_Device_ID(&man_id, &dev_id); - 1669 .loc 1 57 3 view .LVU370 + 1703 .loc 1 57 3 view .LVU370 58:Core/Src/main.c **** - 1670 .loc 1 58 3 view .LVU371 - 1671 0022 02A9 add r1, sp, #8 - 1672 0024 03A8 add r0, sp, #12 - 1673 0026 FFF7FEFF bl Enter_Device_ID - 1674 .LVL118: + 1704 .loc 1 58 3 view .LVU371 + 1705 0022 02A9 add r1, sp, #8 + 1706 0024 03A8 add r0, sp, #12 + 1707 0026 FFF7FEFF bl Enter_Device_ID + 1708 .LVL118: 60:Core/Src/main.c **** char *device = (char*)malloc(13 * sizeof(char)); - 1675 .loc 1 60 3 view .LVU372 + 1709 .loc 1 60 3 view .LVU372 60:Core/Src/main.c **** char *device = (char*)malloc(13 * sizeof(char)); - 1676 .loc 1 60 31 is_stmt 0 view .LVU373 - 1677 002a 0D20 movs r0, #13 - 1678 002c FFF7FEFF bl malloc - 1679 .LVL119: - 1680 0030 0546 mov r5, r0 - 1681 .LVL120: + 1710 .loc 1 60 31 is_stmt 0 view .LVU373 + 1711 002a 0D20 movs r0, #13 + 1712 002c FFF7FEFF bl malloc + 1713 .LVL119: + 1714 0030 0546 mov r5, r0 + 1715 .LVL120: 61:Core/Src/main.c **** sprintf(manufacturer, "0x%02X \r\n", man_id); - 1682 .loc 1 61 3 is_stmt 1 view .LVU374 + 1716 .loc 1 61 3 is_stmt 1 view .LVU374 61:Core/Src/main.c **** sprintf(manufacturer, "0x%02X \r\n", man_id); - 1683 .loc 1 61 25 is_stmt 0 view .LVU375 - 1684 0032 0D20 movs r0, #13 - 1685 .LVL121: + 1717 .loc 1 61 25 is_stmt 0 view .LVU375 + 1718 0032 0D20 movs r0, #13 + 1719 .LVL121: 61:Core/Src/main.c **** sprintf(manufacturer, "0x%02X \r\n", man_id); - ARM GAS /tmp/ccPiCTjg.s page 61 + 1720 .loc 1 61 25 view .LVU376 + 1721 0034 FFF7FEFF bl malloc + 1722 .LVL122: + 1723 0038 0446 mov r4, r0 + 1724 .LVL123: + 62:Core/Src/main.c **** sprintf(device, "0x%02X \r\n", dev_id); + 1725 .loc 1 62 3 is_stmt 1 view .LVU377 + 1726 003a 3D4E ldr r6, .L110 + 1727 003c 039A ldr r2, [sp, #12] + 1728 003e 3146 mov r1, r6 + 1729 0040 2846 mov r0, r5 + ARM GAS /tmp/ccwcoXyi.s page 63 - 1686 .loc 1 61 25 view .LVU376 - 1687 0034 FFF7FEFF bl malloc - 1688 .LVL122: - 1689 0038 0446 mov r4, r0 - 1690 .LVL123: + 1730 .LVL124: 62:Core/Src/main.c **** sprintf(device, "0x%02X \r\n", dev_id); - 1691 .loc 1 62 3 is_stmt 1 view .LVU377 - 1692 003a 284E ldr r6, .L106 - 1693 003c 039A ldr r2, [sp, #12] - 1694 003e 3146 mov r1, r6 - 1695 0040 2846 mov r0, r5 - 1696 .LVL124: - 62:Core/Src/main.c **** sprintf(device, "0x%02X \r\n", dev_id); - 1697 .loc 1 62 3 is_stmt 0 view .LVU378 - 1698 0042 FFF7FEFF bl sprintf - 1699 .LVL125: + 1731 .loc 1 62 3 is_stmt 0 view .LVU378 + 1732 0042 FFF7FEFF bl sprintf + 1733 .LVL125: 63:Core/Src/main.c **** - 1700 .loc 1 63 3 is_stmt 1 view .LVU379 - 1701 0046 029A ldr r2, [sp, #8] - 1702 0048 3146 mov r1, r6 - 1703 004a 2046 mov r0, r4 - 1704 004c FFF7FEFF bl sprintf - 1705 .LVL126: - 65:Core/Src/main.c **** debug_print("Manufacturer ID = \r\n"); - 1706 .loc 1 65 3 view .LVU380 - 1707 0050 234E ldr r6, .L106+4 - 1708 0052 3046 mov r0, r6 - 1709 0054 FFF7FEFF bl debug_print - 1710 .LVL127: - 66:Core/Src/main.c **** debug_print(manufacturer); - 1711 .loc 1 66 3 view .LVU381 - 1712 0058 2248 ldr r0, .L106+8 - 1713 005a FFF7FEFF bl debug_print - 1714 .LVL128: - 67:Core/Src/main.c **** debug_print("Device ID = \r\n"); - 1715 .loc 1 67 3 view .LVU382 - 1716 005e 2846 mov r0, r5 - 1717 0060 FFF7FEFF bl debug_print - 1718 .LVL129: - 68:Core/Src/main.c **** debug_print(device); - 1719 .loc 1 68 3 view .LVU383 - 1720 0064 2048 ldr r0, .L106+12 - 1721 0066 FFF7FEFF bl debug_print - 1722 .LVL130: - 69:Core/Src/main.c **** debug_print("==========================================\r\n"); - 1723 .loc 1 69 3 view .LVU384 - 1724 006a 2046 mov r0, r4 - 1725 006c FFF7FEFF bl debug_print - 1726 .LVL131: - 70:Core/Src/main.c **** - 1727 .loc 1 70 3 view .LVU385 - 1728 0070 3046 mov r0, r6 - 1729 0072 FFF7FEFF bl debug_print - 1730 .LVL132: - 1731 0076 05E0 b .L103 - 1732 .L105: - 1733 .LBB19: - ARM GAS /tmp/ccPiCTjg.s page 62 + 1734 .loc 1 63 3 is_stmt 1 view .LVU379 + 1735 0046 029A ldr r2, [sp, #8] + 1736 0048 3146 mov r1, r6 + 1737 004a 2046 mov r0, r4 + 1738 004c FFF7FEFF bl sprintf + 1739 .LVL126: + 65:Core/Src/main.c **** debug_print(" _____ _____ _____ _____ _____ _____\r\n"); + 1740 .loc 1 65 3 view .LVU380 + 1741 0050 384E ldr r6, .L110+4 + 1742 0052 3046 mov r0, r6 + 1743 0054 FFF7FEFF bl debug_print + 1744 .LVL127: + 66:Core/Src/main.c **** debug_print("| __| __| _ | __ | | | ___ ___ ___ ___ ___ ___ _____ _____ ___ ___\ + 1745 .loc 1 66 3 view .LVU381 + 1746 0058 3748 ldr r0, .L110+8 + 1747 005a FFF7FEFF bl debug_print + 1748 .LVL128: + 67:Core/Src/main.c **** debug_print("| __| __| __| -| | | | | | | . | _| . | . | _| .'| | | -_| _| + 1749 .loc 1 67 3 view .LVU382 + 1750 005e 3748 ldr r0, .L110+12 + 1751 0060 FFF7FEFF bl debug_print + 1752 .LVL129: + 68:Core/Src/main.c **** debug_print("|_____|_____|__| |__|__|_____|_|_|_| | _|_| |___|_ |_| |__,|_|_|_|_|_|_|___|_|\r + 1753 .loc 1 68 3 view .LVU383 + 1754 0064 3648 ldr r0, .L110+16 + 1755 0066 FFF7FEFF bl debug_print + 1756 .LVL130: + 69:Core/Src/main.c **** debug_print(" - Ayabusa 2025 |_| |___|\r\n"); + 1757 .loc 1 69 3 view .LVU384 + 1758 006a 3648 ldr r0, .L110+20 + 1759 006c FFF7FEFF bl debug_print + 1760 .LVL131: + 70:Core/Src/main.c **** debug_print("==================================================================================== + 1761 .loc 1 70 3 view .LVU385 + 1762 0070 3548 ldr r0, .L110+24 + 1763 0072 FFF7FEFF bl debug_print + 1764 .LVL132: + 71:Core/Src/main.c **** + 1765 .loc 1 71 3 view .LVU386 + 1766 0076 3046 mov r0, r6 + 1767 0078 FFF7FEFF bl debug_print + 1768 .LVL133: + 1769 .L108: + 74:Core/Src/main.c **** { + 1770 .loc 1 74 3 view .LVU387 + 1771 .LBB19: + 76:Core/Src/main.c **** debug_print("[1] Dump Rom as char\r\n"); + 1772 .loc 1 76 5 view .LVU388 + 1773 007c 3348 ldr r0, .L110+28 + 1774 007e FFF7FEFF bl debug_print + 1775 .LVL134: + ARM GAS /tmp/ccwcoXyi.s page 64 - 85:Core/Src/main.c **** Dump_Flash_UART(1); - 1734 .loc 1 85 7 view .LVU386 - 1735 0078 1C48 ldr r0, .L106+16 - 1736 007a FFF7FEFF bl debug_print - 1737 .LVL133: - 86:Core/Src/main.c **** break; - 1738 .loc 1 86 7 view .LVU387 - 1739 007e 0120 movs r0, #1 - 1740 0080 FFF7FEFF bl Dump_Flash_UART - 1741 .LVL134: - 87:Core/Src/main.c **** case 0x32: - 1742 .loc 1 87 7 view .LVU388 - 1743 .L103: - 1744 .LBE19: - 73:Core/Src/main.c **** { - 1745 .loc 1 73 3 view .LVU389 - 1746 .LBB20: - 75:Core/Src/main.c **** debug_print("[1] Dump Rom as char\r\n"); - 1747 .loc 1 75 5 view .LVU390 - 1748 0084 1A48 ldr r0, .L106+20 - 1749 0086 FFF7FEFF bl debug_print - 1750 .LVL135: - 76:Core/Src/main.c **** debug_print("[2] Erase chip\r\n"); - 1751 .loc 1 76 5 view .LVU391 - 1752 008a 1A48 ldr r0, .L106+24 - 1753 008c FFF7FEFF bl debug_print - 1754 .LVL136: - 77:Core/Src/main.c **** debug_print("[3] Program chip via UART\r\n"); - 1755 .loc 1 77 5 view .LVU392 - 1756 0090 1948 ldr r0, .L106+28 - 1757 0092 FFF7FEFF bl debug_print - 1758 .LVL137: - 78:Core/Src/main.c **** uint8_t resp; - 1759 .loc 1 78 5 view .LVU393 - 1760 0096 1948 ldr r0, .L106+32 - 1761 0098 FFF7FEFF bl debug_print - 1762 .LVL138: - 79:Core/Src/main.c **** HAL_UART_Receive(&huart2, &resp, 1, HAL_MAX_DELAY); - 1763 .loc 1 79 5 view .LVU394 - 80:Core/Src/main.c **** - 1764 .loc 1 80 5 view .LVU395 - 1765 009c 4FF0FF33 mov r3, #-1 - 1766 00a0 0122 movs r2, #1 - 1767 00a2 0DF10701 add r1, sp, #7 - 1768 00a6 1648 ldr r0, .L106+36 - 1769 00a8 FFF7FEFF bl HAL_UART_Receive - 1770 .LVL139: - 82:Core/Src/main.c **** { - 1771 .loc 1 82 5 view .LVU396 - 1772 00ac 9DF80730 ldrb r3, [sp, #7] @ zero_extendqisi2 - 1773 00b0 322B cmp r3, #50 - 1774 00b2 07D0 beq .L99 - 1775 00b4 332B cmp r3, #51 - 1776 00b6 0BD0 beq .L100 - 1777 00b8 312B cmp r3, #49 - 1778 00ba DDD0 beq .L105 + 77:Core/Src/main.c **** debug_print("[2] Erase chip\r\n"); + 1776 .loc 1 77 5 view .LVU389 + 1777 0082 3348 ldr r0, .L110+32 + 1778 0084 FFF7FEFF bl debug_print + 1779 .LVL135: + 78:Core/Src/main.c **** debug_print("[3] Program chip via UART (ASCII mode)\r\n"); + 1780 .loc 1 78 5 view .LVU390 + 1781 0088 3248 ldr r0, .L110+36 + 1782 008a FFF7FEFF bl debug_print + 1783 .LVL136: + 79:Core/Src/main.c **** debug_print("[4] Identify device\r\n"); + 1784 .loc 1 79 5 view .LVU391 + 1785 008e 3248 ldr r0, .L110+40 + 1786 0090 FFF7FEFF bl debug_print + 1787 .LVL137: + 80:Core/Src/main.c **** debug_print("[5] Dump Rom as file (ASCII mode)\r\n"); + 1788 .loc 1 80 5 view .LVU392 + 1789 0094 3148 ldr r0, .L110+44 + 1790 0096 FFF7FEFF bl debug_print + 1791 .LVL138: + 81:Core/Src/main.c **** uint8_t resp; + 1792 .loc 1 81 5 view .LVU393 + 1793 009a 3148 ldr r0, .L110+48 + 1794 009c FFF7FEFF bl debug_print + 1795 .LVL139: + 82:Core/Src/main.c **** HAL_UART_Receive(&huart2, &resp, 1, HAL_MAX_DELAY); + 1796 .loc 1 82 5 view .LVU394 + 83:Core/Src/main.c **** + 1797 .loc 1 83 5 view .LVU395 + 1798 00a0 4FF0FF33 mov r3, #-1 + 1799 00a4 0122 movs r2, #1 + 1800 00a6 0DF10601 add r1, sp, #6 + 1801 00aa 2E48 ldr r0, .L110+52 + 1802 00ac FFF7FEFF bl HAL_UART_Receive + 1803 .LVL140: + 85:Core/Src/main.c **** { + 1804 .loc 1 85 5 view .LVU396 + 1805 00b0 9DF80630 ldrb r3, [sp, #6] @ zero_extendqisi2 + 1806 00b4 313B subs r3, r3, #49 + 1807 00b6 042B cmp r3, #4 + 1808 00b8 36D8 bhi .L99 + 1809 00ba DFE803F0 tbb [pc, r3] + 1810 .L101: + 1811 00be 03 .byte (.L105-.L101)/2 + 1812 00bf 0A .byte (.L104-.L101)/2 + 1813 00c0 10 .byte (.L103-.L101)/2 + 1814 00c1 16 .byte (.L102-.L101)/2 + 1815 00c2 26 .byte (.L100-.L101)/2 + 1816 00c3 00 .p2align 1 + 1817 .L105: + 1818 .LBB20: + 88:Core/Src/main.c **** Dump_Flash_UART(1); + 1819 .loc 1 88 7 view .LVU397 + 1820 00c4 2848 ldr r0, .L110+56 + 1821 00c6 FFF7FEFF bl debug_print + 1822 .LVL141: + 89:Core/Src/main.c **** break; + ARM GAS /tmp/ccwcoXyi.s page 65 + + + 1823 .loc 1 89 7 view .LVU398 + 1824 00ca 0120 movs r0, #1 + 1825 00cc FFF7FEFF bl Dump_Flash_UART + 1826 .LVL142: + 90:Core/Src/main.c **** case 0x32: + 1827 .loc 1 90 7 view .LVU399 + 1828 00d0 D4E7 b .L108 + 1829 .L104: + 92:Core/Src/main.c **** Chip_Erase(); + 1830 .loc 1 92 7 view .LVU400 + 1831 00d2 2648 ldr r0, .L110+60 + 1832 00d4 FFF7FEFF bl debug_print + 1833 .LVL143: + 93:Core/Src/main.c **** break; + 1834 .loc 1 93 7 view .LVU401 + 1835 00d8 FFF7FEFF bl Chip_Erase + 1836 .LVL144: + 94:Core/Src/main.c **** case 0x33: + 1837 .loc 1 94 7 view .LVU402 + 1838 00dc CEE7 b .L108 + 1839 .L103: + 96:Core/Src/main.c **** Flash_From_UART(); + 1840 .loc 1 96 7 view .LVU403 + 1841 00de 2448 ldr r0, .L110+64 + 1842 00e0 FFF7FEFF bl debug_print + 1843 .LVL145: 97:Core/Src/main.c **** break; - ARM GAS /tmp/ccPiCTjg.s page 63 + 1844 .loc 1 97 7 view .LVU404 + 1845 00e4 FFF7FEFF bl Flash_From_UART + 1846 .LVL146: + 98:Core/Src/main.c **** case 0x34: + 1847 .loc 1 98 7 view .LVU405 + 1848 00e8 C8E7 b .L108 + 1849 .L102: + 100:Core/Src/main.c **** debug_print("Manufacturer ID = \r\n"); + 1850 .loc 1 100 7 view .LVU406 + 1851 00ea 2248 ldr r0, .L110+68 + 1852 00ec FFF7FEFF bl debug_print + 1853 .LVL147: + 101:Core/Src/main.c **** debug_print(manufacturer); + 1854 .loc 1 101 7 view .LVU407 + 1855 00f0 2148 ldr r0, .L110+72 + 1856 00f2 FFF7FEFF bl debug_print + 1857 .LVL148: + 102:Core/Src/main.c **** debug_print("Device ID = \r\n"); + 1858 .loc 1 102 7 view .LVU408 + 1859 00f6 2846 mov r0, r5 + 1860 00f8 FFF7FEFF bl debug_print + 1861 .LVL149: + 103:Core/Src/main.c **** debug_print(device); + 1862 .loc 1 103 7 view .LVU409 + 1863 00fc 1F48 ldr r0, .L110+76 + 1864 00fe FFF7FEFF bl debug_print + 1865 .LVL150: + 104:Core/Src/main.c **** break; + 1866 .loc 1 104 7 view .LVU410 + 1867 0102 2046 mov r0, r4 + ARM GAS /tmp/ccwcoXyi.s page 66 - 1779 .loc 1 97 7 view .LVU397 - 1780 00bc 1148 ldr r0, .L106+40 - 1781 00be FFF7FEFF bl debug_print - 1782 .LVL140: - 98:Core/Src/main.c **** } - 1783 .loc 1 98 7 view .LVU398 - 1784 .LBE20: - 73:Core/Src/main.c **** { - 1785 .loc 1 73 9 view .LVU399 - 74:Core/Src/main.c **** debug_print("Hello welcome to the EEPROM programmer! What would you like to do?\r\n"); - 1786 .loc 1 74 3 is_stmt 0 view .LVU400 - 1787 00c2 DFE7 b .L103 - 1788 .L99: - 1789 .LBB21: - 89:Core/Src/main.c **** Chip_Erase(); - 1790 .loc 1 89 7 is_stmt 1 view .LVU401 - 1791 00c4 1048 ldr r0, .L106+44 - 1792 00c6 FFF7FEFF bl debug_print - 1793 .LVL141: - 90:Core/Src/main.c **** break; - 1794 .loc 1 90 7 view .LVU402 - 1795 00ca FFF7FEFF bl Chip_Erase - 1796 .LVL142: - 91:Core/Src/main.c **** case 0x33: - 1797 .loc 1 91 7 view .LVU403 - 1798 00ce D9E7 b .L103 - 1799 .L100: - 93:Core/Src/main.c **** Flash_From_UART(); - 1800 .loc 1 93 7 view .LVU404 - 1801 00d0 0E48 ldr r0, .L106+48 - 1802 00d2 FFF7FEFF bl debug_print - 1803 .LVL143: - 94:Core/Src/main.c **** break; - 1804 .loc 1 94 7 view .LVU405 - 1805 00d6 FFF7FEFF bl Flash_From_UART - 1806 .LVL144: - 95:Core/Src/main.c **** default: - 1807 .loc 1 95 7 view .LVU406 - 1808 00da D3E7 b .L103 - 1809 .L107: - 1810 .align 2 - 1811 .L106: - 1812 00dc 00000000 .word .LC6 - 1813 00e0 0C000000 .word .LC7 - 1814 00e4 3C000000 .word .LC8 - 1815 00e8 54000000 .word .LC9 - 1816 00ec F4000000 .word .LC14 - 1817 00f0 64000000 .word .LC10 - 1818 00f4 AC000000 .word .LC11 - 1819 00f8 C4000000 .word .LC12 - 1820 00fc D8000000 .word .LC13 - 1821 0100 00000000 .word .LANCHOR1 - 1822 0104 40010000 .word .LC17 - 1823 0108 08010000 .word .LC15 - 1824 010c 1C010000 .word .LC16 - 1825 .LBE21: - 1826 .cfi_endproc - ARM GAS /tmp/ccPiCTjg.s page 64 + 1868 0104 FFF7FEFF bl debug_print + 1869 .LVL151: + 105:Core/Src/main.c **** case 0x35: + 1870 .loc 1 105 7 view .LVU411 + 1871 0108 B8E7 b .L108 + 1872 .L100: + 107:Core/Src/main.c **** uint8_t byte; + 1873 .loc 1 107 7 view .LVU412 + 1874 010a 1D48 ldr r0, .L110+80 + 1875 010c FFF7FEFF bl debug_print + 1876 .LVL152: + 108:Core/Src/main.c **** HAL_UART_Receive(&huart2, &byte, 1, HAL_MAX_DELAY); + 1877 .loc 1 108 7 view .LVU413 + 109:Core/Src/main.c **** Dump_Flash_UART(0); + 1878 .loc 1 109 7 view .LVU414 + 1879 0110 4FF0FF33 mov r3, #-1 + 1880 0114 0122 movs r2, #1 + 1881 0116 0DF10701 add r1, sp, #7 + 1882 011a 1248 ldr r0, .L110+52 + 1883 011c FFF7FEFF bl HAL_UART_Receive + 1884 .LVL153: + 110:Core/Src/main.c **** while(1){} + 1885 .loc 1 110 7 view .LVU415 + 1886 0120 0020 movs r0, #0 + 1887 0122 FFF7FEFF bl Dump_Flash_UART + 1888 .LVL154: + 1889 .L107: + 111:Core/Src/main.c **** default: + 1890 .loc 1 111 7 discriminator 1 view .LVU416 + 111:Core/Src/main.c **** default: + 1891 .loc 1 111 16 discriminator 1 view .LVU417 + 111:Core/Src/main.c **** default: + 1892 .loc 1 111 12 discriminator 1 view .LVU418 + 1893 0126 FEE7 b .L107 + 1894 .L99: + 113:Core/Src/main.c **** break; + 1895 .loc 1 113 7 view .LVU419 + 1896 0128 1648 ldr r0, .L110+84 + 1897 012a FFF7FEFF bl debug_print + 1898 .LVL155: + 114:Core/Src/main.c **** } + 1899 .loc 1 114 7 view .LVU420 + 1900 .LBE20: + 1901 .LBE19: + 74:Core/Src/main.c **** { + 1902 .loc 1 74 9 view .LVU421 + 75:Core/Src/main.c **** debug_print("Hello welcome to the EEPROM programmer! What would you like to do?\r\n"); + 1903 .loc 1 75 3 is_stmt 0 view .LVU422 + 1904 012e A5E7 b .L108 + 1905 .L111: + 1906 .align 2 + 1907 .L110: + 1908 0130 00000000 .word .LC6 + 1909 0134 0C000000 .word .LC7 + 1910 0138 64000000 .word .LC8 + 1911 013c 8C000000 .word .LC9 + 1912 0140 E4000000 .word .LC10 + ARM GAS /tmp/ccwcoXyi.s page 67 - 1827 .LFE137: - 1829 .global huart2 - 1830 .section .rodata - 1831 .align 2 - 1832 .set .LANCHOR0,. + 0 - 1833 .LC0: - 1834 0000 01000000 .word 1 - 1835 0004 02000000 .word 2 - 1836 0008 04000000 .word 4 - 1837 000c 08000000 .word 8 - 1838 0010 10000000 .word 16 - 1839 0014 20000000 .word 32 - 1840 0018 40000000 .word 64 - 1841 001c 80000000 .word 128 - 1842 0020 00010000 .word 256 - 1843 0024 00020000 .word 512 - 1844 0028 00040000 .word 1024 - 1845 002c 00080000 .word 2048 - 1846 0030 00100000 .word 4096 - 1847 0034 00200000 .word 8192 - 1848 0038 01000000 .word 1 - 1849 003c 02000000 .word 2 - 1850 0040 04000000 .word 4 - 1851 0044 08000000 .word 8 - 1852 0048 10000000 .word 16 - 1853 .LC1: - 1854 004c 01000000 .word 1 - 1855 0050 02000000 .word 2 - 1856 0054 00080000 .word 2048 - 1857 0058 00100000 .word 4096 - 1858 005c 10000000 .word 16 - 1859 0060 20000000 .word 32 - 1860 0064 40000000 .word 64 - 1861 0068 80000000 .word 128 - 1862 .section .bss.huart2,"aw",%nobits - 1863 .align 2 - 1864 .set .LANCHOR1,. + 0 - 1867 huart2: - 1868 0000 00000000 .space 72 - 1868 00000000 - 1868 00000000 - 1868 00000000 - 1868 00000000 - 1869 .text - 1870 .Letext0: - 1871 .file 3 "/usr/lib/gcc/arm-none-eabi/10.3.1/include/stdint.h" - 1872 .file 4 "Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f401xe.h" - 1873 .file 5 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h" - 1874 .file 6 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h" - 1875 .file 7 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h" - 1876 .file 8 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h" - 1877 .file 9 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h" - 1878 .file 10 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_uart.h" - 1879 .file 11 "/usr/include/newlib/string.h" - 1880 .file 12 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h" - 1881 .file 13 "/usr/include/newlib/stdio.h" - 1882 .file 14 "" - ARM GAS /tmp/ccPiCTjg.s page 65 + 1913 0144 3C010000 .word .LC11 + 1914 0148 94010000 .word .LC12 + 1915 014c D0010000 .word .LC13 + 1916 0150 18020000 .word .LC14 + 1917 0154 30020000 .word .LC15 + 1918 0158 44020000 .word .LC16 + 1919 015c 70020000 .word .LC17 + 1920 0160 88020000 .word .LC18 + 1921 0164 00000000 .word .LANCHOR1 + 1922 0168 AC020000 .word .LC19 + 1923 016c C0020000 .word .LC20 + 1924 0170 D4020000 .word .LC21 + 1925 0174 F8020000 .word .LC22 + 1926 0178 10030000 .word .LC23 + 1927 017c 28030000 .word .LC24 + 1928 0180 38030000 .word .LC25 + 1929 0184 60030000 .word .LC26 + 1930 .cfi_endproc + 1931 .LFE137: + 1933 .global huart2 + 1934 .section .rodata + 1935 .align 2 + 1936 .set .LANCHOR0,. + 0 + 1937 .LC0: + 1938 0000 01000000 .word 1 + 1939 0004 02000000 .word 2 + 1940 0008 04000000 .word 4 + 1941 000c 08000000 .word 8 + 1942 0010 10000000 .word 16 + 1943 0014 20000000 .word 32 + 1944 0018 40000000 .word 64 + 1945 001c 80000000 .word 128 + 1946 0020 00010000 .word 256 + 1947 0024 00020000 .word 512 + 1948 0028 00040000 .word 1024 + 1949 002c 00080000 .word 2048 + 1950 0030 00100000 .word 4096 + 1951 0034 00200000 .word 8192 + 1952 0038 01000000 .word 1 + 1953 003c 02000000 .word 2 + 1954 0040 04000000 .word 4 + 1955 0044 08000000 .word 8 + 1956 0048 10000000 .word 16 + 1957 .LC1: + 1958 004c 01000000 .word 1 + 1959 0050 02000000 .word 2 + 1960 0054 00080000 .word 2048 + 1961 0058 00100000 .word 4096 + 1962 005c 10000000 .word 16 + 1963 0060 20000000 .word 32 + 1964 0064 40000000 .word 64 + 1965 0068 80000000 .word 128 + 1966 .section .bss.huart2,"aw",%nobits + 1967 .align 2 + 1968 .set .LANCHOR1,. + 0 + 1971 huart2: + 1972 0000 00000000 .space 72 + ARM GAS /tmp/ccwcoXyi.s page 68 - 1883 .file 15 "/usr/include/newlib/stdlib.h" - ARM GAS /tmp/ccPiCTjg.s page 66 + 1972 00000000 + 1972 00000000 + 1972 00000000 + 1972 00000000 + 1973 .text + 1974 .Letext0: + 1975 .file 3 "/usr/lib/gcc/arm-none-eabi/10.3.1/include/stdint.h" + 1976 .file 4 "Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f401xe.h" + 1977 .file 5 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h" + 1978 .file 6 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h" + 1979 .file 7 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h" + 1980 .file 8 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h" + 1981 .file 9 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h" + 1982 .file 10 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_uart.h" + 1983 .file 11 "/usr/include/newlib/string.h" + 1984 .file 12 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h" + 1985 .file 13 "/usr/include/newlib/stdio.h" + 1986 .file 14 "" + 1987 .file 15 "/usr/include/newlib/stdlib.h" + ARM GAS /tmp/ccwcoXyi.s page 69 DEFINED SYMBOLS *ABS*:0000000000000000 main.c - /tmp/ccPiCTjg.s:18 .text.MX_GPIO_Init:0000000000000000 $t - /tmp/ccPiCTjg.s:25 .text.MX_GPIO_Init:0000000000000000 MX_GPIO_Init - /tmp/ccPiCTjg.s:111 .text.MX_GPIO_Init:000000000000005c $d - /tmp/ccPiCTjg.s:116 .text.Write_Address:0000000000000000 $t - /tmp/ccPiCTjg.s:123 .text.Write_Address:0000000000000000 Write_Address - /tmp/ccPiCTjg.s:236 .text.Write_Address:0000000000000084 $d - /tmp/ccPiCTjg.s:243 .text.Write_Command_Pins:0000000000000000 $t - /tmp/ccPiCTjg.s:250 .text.Write_Command_Pins:0000000000000000 Write_Command_Pins - /tmp/ccPiCTjg.s:305 .text.Write_Command_Pins:000000000000003c $d - /tmp/ccPiCTjg.s:310 .text.Data_Pins_Init:0000000000000000 $t - /tmp/ccPiCTjg.s:317 .text.Data_Pins_Init:0000000000000000 Data_Pins_Init - /tmp/ccPiCTjg.s:385 .text.Data_Pins_Init:0000000000000038 $d - /tmp/ccPiCTjg.s:390 .text.Receive_Data:0000000000000000 $t - /tmp/ccPiCTjg.s:397 .text.Receive_Data:0000000000000000 Receive_Data - /tmp/ccPiCTjg.s:485 .text.Receive_Data:0000000000000048 $d - /tmp/ccPiCTjg.s:491 .text.Write_Data:0000000000000000 $t - /tmp/ccPiCTjg.s:498 .text.Write_Data:0000000000000000 Write_Data - /tmp/ccPiCTjg.s:588 .text.Write_Data:000000000000005c $d - /tmp/ccPiCTjg.s:594 .text.Write_Command:0000000000000000 $t - /tmp/ccPiCTjg.s:601 .text.Write_Command:0000000000000000 Write_Command - /tmp/ccPiCTjg.s:667 .text.Chip_Erase:0000000000000000 $t - /tmp/ccPiCTjg.s:674 .text.Chip_Erase:0000000000000000 Chip_Erase - /tmp/ccPiCTjg.s:725 .text.Chip_Program_Byte:0000000000000000 $t - /tmp/ccPiCTjg.s:732 .text.Chip_Program_Byte:0000000000000000 Chip_Program_Byte - /tmp/ccPiCTjg.s:780 .text.Flash_ReadByte:0000000000000000 $t - /tmp/ccPiCTjg.s:787 .text.Flash_ReadByte:0000000000000000 Flash_ReadByte - /tmp/ccPiCTjg.s:836 .text.Enter_Device_ID:0000000000000000 $t - /tmp/ccPiCTjg.s:843 .text.Enter_Device_ID:0000000000000000 Enter_Device_ID - /tmp/ccPiCTjg.s:905 .rodata.Dump_Flash_UART.str1.4:0000000000000000 $d - /tmp/ccPiCTjg.s:912 .text.Dump_Flash_UART:0000000000000000 $t - /tmp/ccPiCTjg.s:919 .text.Dump_Flash_UART:0000000000000000 Dump_Flash_UART - /tmp/ccPiCTjg.s:1034 .text.Dump_Flash_UART:000000000000007c $d - /tmp/ccPiCTjg.s:1041 .text.Address_Pins_Init:0000000000000000 $t - /tmp/ccPiCTjg.s:1048 .text.Address_Pins_Init:0000000000000000 Address_Pins_Init - /tmp/ccPiCTjg.s:1122 .text.Address_Pins_Init:0000000000000044 $d - /tmp/ccPiCTjg.s:1128 .text.Command_Pins_Init:0000000000000000 $t - /tmp/ccPiCTjg.s:1135 .text.Command_Pins_Init:0000000000000000 Command_Pins_Init - /tmp/ccPiCTjg.s:1183 .text.Command_Pins_Init:000000000000002c $d - /tmp/ccPiCTjg.s:1188 .text.debug_print:0000000000000000 $t - /tmp/ccPiCTjg.s:1195 .text.debug_print:0000000000000000 debug_print - /tmp/ccPiCTjg.s:1227 .text.debug_print:0000000000000018 $d - /tmp/ccPiCTjg.s:1232 .rodata.Flash_From_UART.str1.4:0000000000000000 $d - /tmp/ccPiCTjg.s:1239 .text.Flash_From_UART:0000000000000000 $t - /tmp/ccPiCTjg.s:1246 .text.Flash_From_UART:0000000000000000 Flash_From_UART - /tmp/ccPiCTjg.s:1311 .text.Flash_From_UART:0000000000000038 $d - /tmp/ccPiCTjg.s:1318 .text.Error_Handler:0000000000000000 $t - /tmp/ccPiCTjg.s:1325 .text.Error_Handler:0000000000000000 Error_Handler - /tmp/ccPiCTjg.s:1357 .text.MX_USART2_UART_Init:0000000000000000 $t - /tmp/ccPiCTjg.s:1363 .text.MX_USART2_UART_Init:0000000000000000 MX_USART2_UART_Init - /tmp/ccPiCTjg.s:1418 .text.MX_USART2_UART_Init:000000000000002c $d - /tmp/ccPiCTjg.s:1424 .text.SystemClock_Config:0000000000000000 $t - /tmp/ccPiCTjg.s:1431 .text.SystemClock_Config:0000000000000000 SystemClock_Config - /tmp/ccPiCTjg.s:1580 .text.SystemClock_Config:000000000000009c $d - /tmp/ccPiCTjg.s:1586 .rodata.main.str1.4:0000000000000000 $d - /tmp/ccPiCTjg.s:1624 .text.main:0000000000000000 $t - ARM GAS /tmp/ccPiCTjg.s page 67 + /tmp/ccwcoXyi.s:18 .text.MX_GPIO_Init:0000000000000000 $t + /tmp/ccwcoXyi.s:25 .text.MX_GPIO_Init:0000000000000000 MX_GPIO_Init + /tmp/ccwcoXyi.s:111 .text.MX_GPIO_Init:000000000000005c $d + /tmp/ccwcoXyi.s:116 .text.Write_Address:0000000000000000 $t + /tmp/ccwcoXyi.s:123 .text.Write_Address:0000000000000000 Write_Address + /tmp/ccwcoXyi.s:236 .text.Write_Address:0000000000000084 $d + /tmp/ccwcoXyi.s:243 .text.Write_Command_Pins:0000000000000000 $t + /tmp/ccwcoXyi.s:250 .text.Write_Command_Pins:0000000000000000 Write_Command_Pins + /tmp/ccwcoXyi.s:305 .text.Write_Command_Pins:000000000000003c $d + /tmp/ccwcoXyi.s:310 .text.Data_Pins_Init:0000000000000000 $t + /tmp/ccwcoXyi.s:317 .text.Data_Pins_Init:0000000000000000 Data_Pins_Init + /tmp/ccwcoXyi.s:385 .text.Data_Pins_Init:0000000000000038 $d + /tmp/ccwcoXyi.s:390 .text.Receive_Data:0000000000000000 $t + /tmp/ccwcoXyi.s:397 .text.Receive_Data:0000000000000000 Receive_Data + /tmp/ccwcoXyi.s:485 .text.Receive_Data:0000000000000048 $d + /tmp/ccwcoXyi.s:491 .text.Write_Data:0000000000000000 $t + /tmp/ccwcoXyi.s:498 .text.Write_Data:0000000000000000 Write_Data + /tmp/ccwcoXyi.s:588 .text.Write_Data:000000000000005c $d + /tmp/ccwcoXyi.s:594 .text.Write_Command:0000000000000000 $t + /tmp/ccwcoXyi.s:601 .text.Write_Command:0000000000000000 Write_Command + /tmp/ccwcoXyi.s:667 .text.Chip_Erase:0000000000000000 $t + /tmp/ccwcoXyi.s:674 .text.Chip_Erase:0000000000000000 Chip_Erase + /tmp/ccwcoXyi.s:725 .text.Chip_Program_Byte:0000000000000000 $t + /tmp/ccwcoXyi.s:732 .text.Chip_Program_Byte:0000000000000000 Chip_Program_Byte + /tmp/ccwcoXyi.s:780 .text.Flash_ReadByte:0000000000000000 $t + /tmp/ccwcoXyi.s:787 .text.Flash_ReadByte:0000000000000000 Flash_ReadByte + /tmp/ccwcoXyi.s:836 .text.Enter_Device_ID:0000000000000000 $t + /tmp/ccwcoXyi.s:843 .text.Enter_Device_ID:0000000000000000 Enter_Device_ID + /tmp/ccwcoXyi.s:905 .rodata.Dump_Flash_UART.str1.4:0000000000000000 $d + /tmp/ccwcoXyi.s:912 .text.Dump_Flash_UART:0000000000000000 $t + /tmp/ccwcoXyi.s:919 .text.Dump_Flash_UART:0000000000000000 Dump_Flash_UART + /tmp/ccwcoXyi.s:1035 .text.Dump_Flash_UART:000000000000007c $d + /tmp/ccwcoXyi.s:1043 .text.Address_Pins_Init:0000000000000000 $t + /tmp/ccwcoXyi.s:1050 .text.Address_Pins_Init:0000000000000000 Address_Pins_Init + /tmp/ccwcoXyi.s:1124 .text.Address_Pins_Init:0000000000000044 $d + /tmp/ccwcoXyi.s:1130 .text.Command_Pins_Init:0000000000000000 $t + /tmp/ccwcoXyi.s:1137 .text.Command_Pins_Init:0000000000000000 Command_Pins_Init + /tmp/ccwcoXyi.s:1185 .text.Command_Pins_Init:000000000000002c $d + /tmp/ccwcoXyi.s:1190 .text.debug_print:0000000000000000 $t + /tmp/ccwcoXyi.s:1197 .text.debug_print:0000000000000000 debug_print + /tmp/ccwcoXyi.s:1229 .text.debug_print:0000000000000018 $d + /tmp/ccwcoXyi.s:1234 .rodata.Flash_From_UART.str1.4:0000000000000000 $d + /tmp/ccwcoXyi.s:1241 .text.Flash_From_UART:0000000000000000 $t + /tmp/ccwcoXyi.s:1248 .text.Flash_From_UART:0000000000000000 Flash_From_UART + /tmp/ccwcoXyi.s:1313 .text.Flash_From_UART:0000000000000038 $d + /tmp/ccwcoXyi.s:1320 .text.Error_Handler:0000000000000000 $t + /tmp/ccwcoXyi.s:1327 .text.Error_Handler:0000000000000000 Error_Handler + /tmp/ccwcoXyi.s:1359 .text.MX_USART2_UART_Init:0000000000000000 $t + /tmp/ccwcoXyi.s:1365 .text.MX_USART2_UART_Init:0000000000000000 MX_USART2_UART_Init + /tmp/ccwcoXyi.s:1420 .text.MX_USART2_UART_Init:000000000000002c $d + /tmp/ccwcoXyi.s:1426 .text.SystemClock_Config:0000000000000000 $t + /tmp/ccwcoXyi.s:1433 .text.SystemClock_Config:0000000000000000 SystemClock_Config + /tmp/ccwcoXyi.s:1582 .text.SystemClock_Config:000000000000009c $d + /tmp/ccwcoXyi.s:1588 .rodata.main.str1.4:0000000000000000 $d + /tmp/ccwcoXyi.s:1658 .text.main:0000000000000000 $t + ARM GAS /tmp/ccwcoXyi.s page 70 - /tmp/ccPiCTjg.s:1631 .text.main:0000000000000000 main - /tmp/ccPiCTjg.s:1812 .text.main:00000000000000dc $d - /tmp/ccPiCTjg.s:1867 .bss.huart2:0000000000000000 huart2 - /tmp/ccPiCTjg.s:1831 .rodata:0000000000000000 $d - /tmp/ccPiCTjg.s:1863 .bss.huart2:0000000000000000 $d + /tmp/ccwcoXyi.s:1665 .text.main:0000000000000000 main + /tmp/ccwcoXyi.s:1811 .text.main:00000000000000be $d + /tmp/ccwcoXyi.s:1908 .text.main:0000000000000130 $d + /tmp/ccwcoXyi.s:1971 .bss.huart2:0000000000000000 huart2 + /tmp/ccwcoXyi.s:1935 .rodata:0000000000000000 $d + /tmp/ccwcoXyi.s:1967 .bss.huart2:0000000000000000 $d + /tmp/ccwcoXyi.s:1816 .text.main:00000000000000c3 $d + /tmp/ccwcoXyi.s:1816 .text.main:00000000000000c4 $t UNDEFINED SYMBOLS memcpy diff --git a/build/main.o b/build/main.o index 88057ca34b2407af447a70d6f277e78049f3921e..a0431a40c90a22f2be016b324bb978212ed25560 100644 GIT binary patch delta 11240 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 E3EU)g6aWAK delta 10071 zcmaKy3wTY}w#VmOJ3Eh^7eeH1XD4X;D-oY|hbE(L*|M z^+g}rtLl7c+}l&<9voC3S6ihI^g*>not{2!RkhVR|1sBp)86}icYo&otue-&V~#oI zW39F0$RcOs4|=8FxpBs}z(bzM?cb{|?T(opo`Ck5k31cl<07&gZ@f<_Wjrw*%)Y1x z&EwIvraoqHD8JhCNOAxC{+E9E^^$`tzrD(-F0u>^6uoQp+iTbETD>PStWNu-R+_zb zzftRY-!cUPq(lXS4U4LT)sYh z8eywAlya0|DCbbdqijamhjIi(K9yRjXp{_X5@Shte4o-Xv=w9dFSx!uaFtsC=QT)} zYOgD$zn|Ti+yKpDwAAYolnRcMt6!3Tg-54pVDLqW;n(C_kR?yk_E0*!sv?wjsO!#| z&-Wi|KllUPCV1Jz@LSkn%&TcEQIeT*wqP4MduCQMMl9L>DRlbeIpoJma!i z`IkfY0d&jEvDAX9f4VVW3+3w)>7Yc!JX(VMI<_B_PSf4#NVDpU;)gA7veMtgN?Iea zz#J5R7KF2Km}u(Ka+1Y?M1sYl{L-=|X1~-dP0J6Ra{Cfj?PYbIN7ejmX{X>HharF}1&UI?3PD_yAqGEF~XxH5w1H4^)BnW}wm>`P#MPGY~< z5=p!}LM&-LC5xw_{RG9G*_S!9cXk*z`!=QbM;BrdV{c|+QK~s81$I(iH48J6)9!$; z;5JzrhZDrF(=;Y93w2DI*_x5lJt`e532KR`X*_c3o(jsJf;w_|tiNnjc1z3QvB$(@ zW+i{tN~!l~g~z~f*K0*)ZYU0>=tm(t7~&e7LwdVA#7gM8%aA`tjr@SMq|5aPD2Jou z-z>x4-dS{wkmsUYUOQ8u{9n@;UOV@OO)?FMSXaMUJWrUfGn4Zq+-A3y#?~r9B%<0+ zRj~@#c{7Ds?LyCcwWM7>a!5RaAhfIlceOvCBF3Fi?m#K9t9?t1=styf9K|m)u@_6M z(p|2e?{uxZ8oS^K8tN(~3RF?cTPrm^tilZFBJ+Aytgi$%dkQZ%$FtJ=ue-9owWLT| zx#6s{;k1V`8^zsx>jDza0LXn&Yyzdhcc!vk%0vk)3X;q@c936gC1ctsl}_C(=zp-5I2eH22phq)k%mSqS*D>28%b|T<_2K%2k=U+aGk=q?`5r{ISd2 z&c>rjg4_(`#+ScM!dTWu{8T~NA0=2S8}7j5_}#D6JsNS=nUI%0|?ji(*%e z^z}s>Q=8o`rbq>bp)&fc%`OeejM-Hmr8??dECJnkWgXR`-lK4#CHn>aVI5|q}o~8|s4qbwwv1G+2eOctd}V?&c56*!fl96w}3Xc4fR-H0STr!-FzQtm%j_`Y+_p> zv5Atpyeo-qfwOHp!qW|DraWh0sFR#reNr*J4`sS*;`>2%nkM?CC%KsoMFr{2a}EmS zUyLugS={ETWqmJY&H3S)<895ARIduFH(T`@s-L&&5FGEb`p2l>6Rv*5s-=!D7}CFS1(wS=oN6dP_O2CDq8Q=Jl4%hRdKeG^}DKlbOn#|mZP3K_P- zF{tH%M&;trRlU;9mi9sCo>cRG`*!xYe#WitG)=X!OmcU56{hqru0>ZUe;JyJ>c6k3 z`a>l*kxtpE`Ppd8bnsy`(v!^P3*s!W=FR;QM@WHoj9z8eldhy+vP= zlRg*GFJ_TdyAMTnB|fIOWUN~^o*Jt@*}T5%``S70n7LOK>C@)9s}|{hGab9<=)anp z?$yrE%B=4`RWCJhrPK7|rlB-fA2sVsv-Ia?XKA+HWKNWJ(9OnIR;u@!K4mi#qm2e5x8s}p_LP%J@1<{ zJu=}nvgbJGXKkkRJXP$C@+4kgQQ`G?W@@jubp<|2i$(c|3U7>OA{s{~d7~mdiT;W% zfr>6pdh@EQcgHpl888CN$ozTWaowW%!Rv01a6VMVSG}Y8v+8^?#Mgce!!NbvPG|^L zCxZ12Rcau48`(fgQk}j^wWgd)b|Y>3;dqo6xgKvxLToPaC+)DvtX`hjr61Xm!jWJ| zDqyoHA2tu3ft0UKsTAQ&3=H~0+PjmLq;))k?LfI}`oJJrMD`>rh3M7xhkD8A-!|~G zLOv<;CxL_`w}BxLG*G@9t_1cQN5Au91HegQM+}Aokb}=RmYEzUez56%x8k8e45*0N zu<~@W5pg~ERB`W6}gln*H{C&O}t$m5t1_?1jbJ3BSEDU~MnNjQClqpw<*PsFpaK0vM{*OA9aI}rGdl0d;ASx#1wBf*eVm`cTCdSkG@C^AC>G8Vy7_tS~p6o{U4e??KIhLGG zE+kiz8^~sI5BWBEg1khw#wwKnbI20%8ZuPNi!tP4(vVM)+sMC@ACRAr-;xT4i*$&4 zv1Jz7i7Y1vxeTchR7@u4lJ}Eq$Y;sju#iC$gLzM2;XQlXJ=Y$u;CN z@+)z2Zsy?yOcdZ-LNqwa3SW>v(w-de)+-jG!=6ICCiWux2+_VuI9RD0DUT$_Qa?k8 zcFW>4@>X&I`LHGCznO}cg>d|aFc+`GNMYtK|X}uczS#A*SF?%J&Ha_+^#y6XZ4_>g}cc zKKU8-39Vee$wEIKjmaz_0?G&N{_jdfDOoN=Km#ZbB5Q?kbUS$;`6RiWe1$wEgrENr zX5kkd@+Tnzh)CjdQ(}^?zb}M%@t@?& z0H=@94ACaQ-mmYkTZqos8I;}{gjuHp_MeO7ot2({)Z3^Um|x> zf0j(b3zyXICWPZkA?Ed3a-b0HhtNKX@>udVS07Tdnal70bzI$(P6jc`?Kbh2NYdA|IJRrjQwAkSrj(k!9pHWIwWo z97-yD!^`@C>_A*vb7LG{UVSm*6-e|028!{|STKEi83^ zEf&5i^40kN4&*^$C7u+`gEKaVs`--|QdlSk$VEb=u!?f6FpimkeX7Vvp&c3Ia@^er~D%jtHkV5%`ipYK;QrC^L{6`f@VJ+ohLZomy zVI?oSy zuZ_aEO#S>E?_+g%FER7y=QzWn%~SJ(&hBXQIx6pu#-CNv&H4F($a6!Glth!YAmB|$ z!dsYr3v!%}d1lIjp!4N8^AJ$e+3WxcrsznQ_UYjLFbK9vk9p0YYqX+`| diff --git a/flash_dump.bin b/flash_dump.bin new file mode 100644 index 0000000000000000000000000000000000000000..ed2995e8b00ad7621146750ffebc797e38603c1a GIT binary patch literal 442947 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

6qz?;>^sc6U!iS z%{)1vW)o~T;f|D;ZWJ<(jlRn=-9hTf1Yw-Uf7B;UE2{dhRO^1#bCdd~+rgFM-0t2a zSz&r6haF_1QKC1~D(=bNvh@@5Wj2M)Fl>ZSP)AAj*@|9~D{skJuNb$LYp3cftManrF{6$dkw9ry7 zQOI3rbAp(@(hVBFm}*ILy1&Rbd_60DFND(d~J zP>cT7RVL!=N=JaQDaW32isV|jQ`rbY&KQk;{KfrUpy@YijoY+F<_h~3=%17)>sBt@ zya($zR6BAtFxUKKvNz(&2mY;y50tE6+*501vr4CZR4$5-%l6#?@HcS!1EElNowf{| zui@s$pcI1_Nv_@fv4Gm@l{OSSAJfH!3Kc)Rf$1-h z)X+HMHA)aVsf{WV%uP&~kL6l(GdaL$-{PrB`q_BGl_h&)-{hK`;fb-{sCKWpxiA5n z$S@PnwK^WD9>!NZ?hWq&b6-ywVQbrT{uM1NkohzVd5mdA|0(uc9h&D?`1tYF#|L$4 zh&pRq&R>!pYE?sVPUSUr1Inm*s1g%iTh)C%SGBG^$GvBdcOCCKJNWML`uJy#>s?`K)qT$+iwDkkoAdj&q*Esa zPJACnIi9yK%bbN97`i$%z_e$x-q4TcOzqPxG+NC00?=D4&88-g*3;A^h|bro)CB7{ zrhdKSR)C6zjV*d(eDeWNj*AGQn7Rd>*p9sR*&`!;Bh_72Y2Tv}dR#&#;HFDiI8WLf zU|Q$zVOOO`06CN$4IapZ|-id;e8C`x*K zqECzVLO635L%`d#d}q4WeX5(ugOu;7PAsB4TM3?g;8XoI^ET_9o}ry1=w z6W)JrU_3tuc}3JPAh*j5?SQeuCvrzdMcSixTx1i!3;FEyHl>q zm`2>3CtA$5HNfm!RO`16PnV6%{I7)G`Dx~xUQeoBM6!$%2Q$=i4>bEV_u#U7i8cV zLq%j5=nShW6DWyYR;^4hq@6vkA!*^&NFB{jm-Fhl9a5RPw50|;&PyhwPed$eu0E$r zRM7(VwEHv%yL8X-KRbSW4_Pe(^mK%-iT?2-k3p`Oqa>|Ce-Nt%Ye2JdhLe3MIzd9= z=EaLQc?0z7GFGld0~*q`5$dPJZWf5$;olRwiHYfPCl-j$RBO#s6!vqf-Tg;FHrq7P z*I<>Wdt!k|Mc>gvB!Pi)yiC7)ULMU|t<{=qAKse*KTV`53J)N3KdUxayJ8kt8V#Og z&R3b}%L+L286GtJAcgGld>aEPnzMGPsX3kf!&sYR!3msxo~eu2FO0*6ohcLFt-U5W z{ee=l7#`Gl=H(M0<~J4!RK3>kaBkp&OkqmML#}Gztn-?f+m`I@pUEwnx;ZK&Nb3a$ zAH;6lv6>IpNOF=} ztDm7(EjLoO0Ml?|M0BiMy}Ng>cFRi5d`Y|UCGBot=|7>tfX6}f)rz<)n)2Y#ErrlW zF}w`=rb2~DW1md?Yl|ASdkex#_r1NmTiE61Wni*EaQc(Dqu#YHt9RAA+Kqho5J(v$ zSwt9?Jgm&tj4!0*Ydt@~PpVd9M(41$dRTk)CT-D5Z8bzm|3Ay-_kJ3bzAq%&na8(V zGyWcDnI68H^ic;?dgdzTg*FI{o_?Y&ra?R8rF8CwNSeXETEjfN#N6Dz)3#k+kVi>|kV-x>)$^DZ z`PbT_(6Kyu%J{1~h|+BinPWy61kzxx(HPB&uNKS4 zmpc!~ecLj=6>)0AAltcHz?_Y;xU#+zt=_iPy51iM26M*hexws+#{HCx%iK^DyuMy=u@`i$G>w$=X-wbdt=)77HMB&ETiq@pJz2q zP7`osQ=}kYtq{(GSK>TN(+bUWt*zRDo3vMlg;(eEE45dH;t74)!b!r-1)J|%VE3x? zdZp4kyKzv_c~n+>_pntc=Nrow?1`-S6SorkHQ451B=8AG;ZlkS{>iIS7)4Uvuu?Q| zlmEg`X;;=AZ|9K_pVxLz$LeGndQ<7{H*52pVpsqnz{viOOol)2;tt6PXaZHWjW1R* zb|>~o9D^3yEaZ3Fv`-?z`Q2QQ<6nXS5xi77ie(lh+-TgXHz-oAS`f&jj=GI|NLb4L({yje zpTZqvw_ibp^;tXDs4dIljzPi?IjKdW!>H@ikz2f>RGOw^nMa^Oo9}N+mwTSU27#&# z6j^wK57|o>(>r~jHj!p8rbQLIyNww%v)}I(Gj+^1`}+pOSuj1d?LEEJ;gIKV7qr2& zwV`)nF=^pkjl7Yp-xn^N<}Db`3FC|7G>@oC;9q#XDD&QGFVRtOi~^*k8YNQ! zGR-R*iBi?eDqoYwYlmHRdChGioN1lj2luR2&~{juIpB z&%{J+W<>Y!$72J_*9B6`Sv= z#;o$$!32yJVNPb999Xa1=vcfFy~Eg&b0Z=5dAU#Rc-Xs#D65Oh(&M!HSOFRvwLqM! zBf^inpMHgljJ5slW^CGqrF^e%5u}-rC>Z(2xOb(*IyW8?Ugzry+E-T@ro8RI3eN#> zH{)tq#eXE<=^_-=Im|X;3c6MHq5x@DoX6;zh8y?@QLbx>*Y}^%~5hZYSf4PkFADUPI3(3xqDPnoCM=KeE!`HZ_=FP~tVS zV4iEO5;^BcCdV9@B4}hBLmowVB;NBbCRYnM)>P zbna&}t_Van0#N7pIYQ!R{xz}Pt#gD#!N-EQqNaUOEm0%9nwZI|I^&01SX3bqjGAq2 zb;c^MvF7G&{n43;{_E7;mrHej?I zOTU{47!uP~vr<#e=(1?YIffI?(Ni2PIf*h@o}znt)TJ3IVrcJb{i$>V?92V8=ZF`E z^PBs#*ap%P2pL>a$k}y-CWkfuo>j(Tq)diXWM@-=&9eOf7eh(VKx z@E$pE7j&pRsJLd3ToHG?Wxi|vD4PJlJ&jWp3F1_ z8tk?stFAnEza;0Kw&%;2ecBo6d+)S5GtLP!<2>zITE;p$eZ8$laAKSAxeos>eu37t zSNLjqd>Csk1D~SKs$EaXz*F8IUi28G%)wkfz@`lvLa*$Gs^IA#^>*GxuLZNyud;$q zK?Unf1|;b$k&`)edcK;}Cbq%CDzAy$j1eShP&i??uy_&x-Lw!nJ#6}1pDr6Tw)GF{ zz57eO`w16jo&7MXe8+jX5O?mxA6&t=1}J^kF3ZA)n^&QS> zUN4>``SXAThGvO1BF!Rg&Nat$I`cj zj;y$H+Qpl3eM*U-C^@^*n3&m?3#e-pV%br|%<)U;bVpsp-C*j&-_nhr z^$opHE^`o2mbZn;COE@{%^kV`9 zIXd%EtM;{4O}qY9Eo?mKs}Rp!%pRh!%S<`35zbWr&&~0oFBbwbe`L^7mrq;P=MQSv z4{5JXNS5QPhv}&?-Nd>-1lb+}`O$Foe76vdT_aldav|@;or})LnWR9CS-(v744X_B z5)_<7KLIr0Bg?_CNCij!n~|ayeZlG-lyiq|K)R6JDKiFo23R1GWICMxIeh(;nQ;f9u~3Ay$aV7K5F$P41= zLH|zNr8eje+t5(fd(WA>65&Sxe?{u6wAY5dql?1q8|(&T31Z|at@&I#AOT^r{BgB&%FQm_VJ zO*Xc>yP5D|(JJq$WpGV+jb9tT)JLgw+~)j7IUVE$ed>v)>1Flog>KB%6@D*&nA@#W zy>dU{WcZQw;n2i%yx|v(E-{NuJm6Zl8yr$wIpMV#*G$ba-6^{PxlnG?Z&7; zQ4UjB@|^b?TRCp+iKtVu&7+b6kQLzN&)bwT^=L4cK>#9f&5qv?57(*#58yERD8k)A6Ai7>-*wZXXf3KgbbLDX9QU5#1KJ8UT#cngGi;*c+H|k-gQF zsie?>{~HiMwvaiw#{^N8f4iJVtU_r+FSqi*8Q`nZaVxSguXlM=`eKJawh)}J`(5;rlh{N!aDq)&8- zY?6qOuPq>K^Z3EVA{Qa3@}A$1ZyYmWt1*dc-FK!>+0Ck1AtHQvO}oMQGTBiK__XsC z1X$M(#>Zsuk{lN_x`y_g&7Z&tq{~NSmfD(0^;E4?y3bxZoL<^ko<-bZaXy=o13Fc6 z=cw-t2c)c8!0j}dxk7H-uZwnw+y5;-_sQqAOkm)|0r#RBbJrRnwV9*~y~OwVHFKS0 zTdYAtIqY9ozU+{bGaFjXztts#ZTE-1`}Q-2eNXz%hK3JtGg(#^mi_&w7vy|R$q`IuT ze|^XVqv2mh<0>0`!kiGucqFVSqB+ z=yQHzf06?%(j1cAa3xENe)}vvLgLPS9U_Gr>QW@a6to}=EK+co2(}^=QEx6s8(@v2 zx_*XRbkRMC1A(m-!RtVPMK(GnCamBT2L%ZhEJ4c#ZQq5PM6M z;{Z8qyo?&^(E6%%+wN}T=W3U-R`vtjJy)3ve4Twhnh}J~44@Y$5de_^4m0h#*i=V> z4-6PTFXLQ!K4%B|Jm04|-t#3#A>Zbxoa(}P{#=Wb*Ua9?#DOgP6e-21Yy(?TtIoeK z(xR|c!11>hg`6crFBaH0oHCh2RcrOXWGjTBH_J%72kZNkvQv66<=KZdCE>W-+&E^8 z=JPmH9U2Xm%H6g|RJ~1OEyN0^!AN)d1S9JP%r>sDXPRFX`uqH=m+FoEt`vz7X8PNk zT@PH2N?X;thm+Qah^#BM1c87n7malO@?7!Iow}H>se(kI^CT^ss!NYQm{p?8TTCiM(ZA08*9b zSZEF;N%P=29w!(HwYv=Sb(1P35*{Ckd#guHZ8?$bG%* zw!lXi{r!%AF?yOo(rdf~=x`wwNz$6x$9@}%mCH88`>5ni#D3AP3pY?vzHAl2+Tz94ExwhCb17y+&5Eim1D+@yKRv${YNpR$r>ahu^(!(U~~f8B?IE5t_`)N zddaCrYWe^QEhC!K*;BQy)=WMkVbzoH{U$M0mNne_nvefj;9t3p*5avf{oGJIVOT7lkeL2vLiaT{DpwW?4%S>ukr?0MjgT@tbmEfQ2m5byWlkTijJ=-N2fH8ZfS`OG*!Bb(vF${|&a1UN{pkVwWE~{wNPHU! z)b~|&2+hz zdai-Dn@z5f2P$%_uww{KG%w#!z687*z;l{K)cR=d!>J=X$_#%1U86rZ8v7hi^ZV4~ z+Nf6KO#B3Siuj5bxcaji#Z9O02bmxJpkzt#{Mi_dZwS)~<$fA_XQ>faRvtKz`9YNS z+tQAnr+-j*;eaY3R``W)mkM$*mruNVjhm;hE?YYft<-+d7Z8ggi)xzV@&MwoyVH+l z?M{(`SWc_h{S(P(e{`b1h$sbvMcMpyeZNf04lEf~ck;vlIFehXBWt-cUyHdDjVWfJ z^0zJ8Vv((!z~lwDX)xZ-1QS%xB{g>4aD6L@48KA(Pgn%MfeO|tX@GM4t;L`T$a{d( z^6H%k7OU!o54&wp%kN=r@iSU+0`0whE|C4kiTLFACC6c+x+ z`5o-!z**JMfZu0$;34Ot+1-&oXP2oO9C@q?>7mocC8%J15PQSgQR+#DUK)Iw zrSoW4?0B~`5MY!e5oMg?&ssC9D-4yk{NJETL*)S$hxCJr+mtI68P$Cbw@V6KXub#! zDHPTkn(*b!3V(1v$B-I~ve%FXJ6dY|4`ztF4OoJ=(V9@CSXQ~af-95ptlNGz<3t+H z(*>gGe{nF>=e#PBQ7CTo5gCbbzCh)MF4Q%WHDhJy2r z^KJ3X;%Cb@$9IsacF!cSi~C0?5VWG=X=xL^#o)w5@tPk9qu5Y-zU(UmZXNL$;Q3Ms zy9*DPkQUf0MaFeUGD8w>tTDi9(RXEJD-#}Jo~F;o=b)rpqU z^^?V>5t;!$p-!}el0bExxYA7Re~SPwvTHJ zDySsfJW46JcI&-lrYn+=%n)aK^BSV$BKy1e>(+jPT`@yvEO&2x(SNcCYQ|CaBjvH;tI# zLZ{n#(GXED>JdpiJ`g|0giE*c_vSl$FY<6AgeOh-t09`y2>U;Y=Xm6n^CyHEa>2`u zzc+|dumjC_c@^QD^x3NHXfj0N#_!ekN?Z>gdYGs3-sqrTCynt`{2soe zEVmM;REL~CX|oCB7fKZeABm718z`ED_q425b4~TFyVeRGLn(>*M8)do+v;1jqf(Hl zC17b_X>!D+%uf`3DxQ*YeVn!o5&;DAh=u%$h%f~MZH+;5*b0)i4|)R=CfzSn^-MrO zf*l^SdzYNcl`X;??5jwl`$ryeXief=A%&#^>T)4=F}#FYD3UYg5`0RaJ1w>{lfkzB zM@)qHvUM_~oD-|MadN;giz%P4PoCl@oXbL>Mf*TggJ_8zo*fN7d$`Ie2nOoz7=K)1 z_tG`QT6x_xrFp(N0Gq0~r-twRz=;Ltlzr~TGpMR-`&@{}k$4#LZct4v%@Xt%x_sxw z1XoWGg!r5X?0)XT4TP@1n_^vZt$`~}a9r_NmII{8R>C|4)EKB3yon&2mDYa-InZp) z7FVwMvKiedrDRNmbTP=5;m3ID5}{V=P>qlH+xz>EnoHVj&hU;>7cW68%BPjKZF&8O z#c<_#Ziy}~ba3SC;{5|>25ioOxYge&><`Yc#qB-_elR#y>@7RK*wzzE%}?U^0D78^ zeD4BCHEd6MO#iy;%KJ)aEbv1=D*9sbsLqLIpn}Gc3s*g)*@altvph=&J>qwpo0SHhDo#@n2q^1S!!zUHpzM{CXMZGnQj(CzH6Gq|*N zBS*0sOE$(P-w71r9TnfHjcQlFg)!+5vJTPHHM}N? z44`-trsL)Noj<|X=NroOlg5p+5L0Y)6I!FHH#isU?GJhfA&2r}wS+;jMq8}kn!nVO zR$4rLRvdvrAp+p5&gQf;v1;{_3cxi=A!r4s3|QhZ@f*{}3d)J=S9eH}_S1?bLS0(0 zgYrG)NDgQgBJC6XEhidk^V3kV^Da&h*i4wcg$Wu)?{N#bF2fbLv?T38tqmEJu8hUH z;Xkib(M9_gh}ny~34+b+IU!P&ZEnl3*$D5n9p6piVRh3uw3Dw;% zd%swhkBZzoLtfnb5s7n7V(h$qO~|dM(b=$J+g_FF?2uk2$9XB^tdtFAgHms{NAZGq zHqvWf*D~_$m%kcz&Nyd$@`D~wQ6H-O;Ss)^TdZrN4om^*x2L{oo)BAjbh)Z%%wM#- zxCSocMD?^>4I$e9;?nJ)IP@^3hqga2aHg{<4wjI|i zj=Un;5xh53HEP9u=iA`A&6I@Rtr-K1K4dmd>7!08L%MxnA&7PZ4?A5hvG?69;(al> z8qe=Z)ZyG0`{+*>BJZw7H$hMjSM+6d~fKs0L)dwz}!>HDNgd)j93fJvt9f9uGJrjHbkzF${ht!1N4ObFt+NP8v>v_ z$Bi5DOC^~1RBP1$Vzdq8^OxwP0L{eg-)G>Zimx7apH{9IU0ZSYAHvdm++xoLlfB7L z5+?_&KfcIyiO7}fs`WvM?&@OUYZiCnNfmnzKa2!&FUaxFJac#S z#$?3=EeGh_e2_9ULdIp4TsgI(Kj9>9J`-10eF<+3SNG6aW08)aWQ;4;1%_xu$R&TO zWe6FXlxP;aFjbEI@*k$k!#MMz+o?kg}>q(e#oQ{&D=0YDk` zC_DATKu<|)f5bA?0J!aaBR&}m@jCquRE^7j0m>}3Sov4BGiy`Q2f$S zMs-e7C3Ov%=w_UVfb|Ua!g?~=BR77HHn<6cO=#NOwQSrmGFLvlLI9&c?^cN)L;%W5 zKq`|snoWL4WKqwKTu`seCQB`(X)bb0S~#)a35{pe!{(a~$>IF;wFsX7F%#d02>dRT zH*>Zd$T%0>7)3~*8W=H^wM4@>$$ zq_v!(z8HWrxnCPOG3+!kMBxKl$)8BP(OAH#Y9@jMSh0$d8yTTvMpg9jZ_4!xeUusX zKxR^@WLAH+{j)8jivOb`|pNmH;6yH3q^j@Lbj>S%t?Y%L! z5cAt$nMdyDw|UE^>0QcEcl~qsZ?UwU^=!OMpE)-G_=1x};3UHe4x`%)N=75M;HlEj zk)jaS&mf-bg(<2L9Sm9NEhO(bmhob(eH6`FX)Q9xIqEozZ1we}joPM7t<j3&l zb)~1|uODBKqs!>-fRgDEQl((*Oc9rxCMBjwoOF2uZ#&oEYwibS+1FyzzWfwsT)9wQn?gr% z{qqFz-WLB%-l&8e=%w^`_vAqU|6-=L`p~D330dc8+Ip}UU~x2dK$kit%+dJtsW z>9}Wk`Z*erLy}@MYT7|@SW0vhGI%uj4cFa45FyH8508!>i_J!~xt}!8y^(WegosQY zpqa%qDC~DU3WHC4d586G;?ZdTnl+XCH(xQ$&GB*PSNZJ5NK;>G4{sQGGkLOeNES@4g-1f>iPn|Er8@vPU;b3Vm29 zlXdCTvc8^<>A>Y z-|O%u37}k1b4cG#M-TX{UF0#(l&#o442+fdHx0RvJ<%ru$Ra%9^Zbp|{?twa3!3%f zX=iidq-v`lpHAKEE7^TK8ac2Fw(n)$We+~+4iFkhUP~oX-0%FRZ$>>vHU% z*u!7ghtZ{kS=%Foj#lw0Um=_GR<>_nS9z}^v%x5x2Vl$Zwd*#t-o)~l*!Fre4%EwD z<39icP*3M~y1`eMV3d=59at9*Z`y>4d1PVRUmi*c1*;=HWNwWBL_3;Kj3y(FMleqmPY7~Kz) zWlm)Xz8e)x!OaoCZeU) zO`H@rp^&Oi)fJ^aPb7NJcHgDh)^H@7$gqgngcE{@s;+~^IY{(S?x?f26oEtzIrAFJ zjEBQD2nv+yQs9EU1S?E59%-gkwAhQjL?C2>?~43bmDV5hdi6*Q|GD_S3wFEdS;x^C z*Z&eDItk}R_8!jn5xTf^}GOQ6sJ&d znOSS3?3Tn#ea6+b_8hHqR${vqR#JVKv>_sMHs`o0ZFBg8hejWHyGKlv$>J|f4T%+KMbT#RTAqna5@mBj?l?EW zJrIo$^TVifQjIEVhw5Y{qnUs6V=aSIk3P#E%4r#3m(5MnsDp^!lrx1XL+XysKgRJB z0DZ=yc^S!C8?`+Z%*IA2gT_3IxA5zSWW72f@4zXLIODYy3{~8fvBQf|MU0En@qdQ1 zxY6cVbu@PrI!!G!%iLe9(LjmAAo^FEdM2UH_BK|$r>{KzxE6Z+*h3ylz@Swvmq=e#>e`#8*0bbDz367_@f8C<%Syo10|b(*fsRu3ySYfADPgsOVPG z@AE)WQ)x3}TepVHRncR&D0pgOwESwDQ&t*Zh$PLGUOBx0TjJpI9Q#6&?=G0mXrEf9 z{}aqOQJ;_Qf2bvNJ!6_%jo+R5iuL6h75%ud>qxUJ(=t4Zh&rX_H$P$?tkvXa6$>hv zT7UlhQEP1UgiirWPCpnl%r10h@dFXD6y}ncSGD9%Igy$ewE6jE)fMxvi09yKakp;= zcq-9ItIE-%S-19?PfnWOr^fX8Gn)uyN9<|mk=dxVlP1ul7&G>G#=6>|dSY9GxOiY-Zy&~=0}BJpzlB-W{t`y9f(7weQ#ehiiojJ;2FCq z0k_Bz5h%C;lPQ5i-WJN((f~Jp%zAwzjV*8loy2lX{+}WmR>-MxKd!MgeWQZ;m`<^}c8QB-r!sZbDe!rL)9y8m+948h;2gopDqjm`A!Tc?^jA zu+^!Ff`~*T&R=Zm&{`?JOuG7keQ4F*?m42pYn;Jd>xaFt;?7DK32{35-IMFqbGOg! zv|N={<inKP!T<_d6mA1w>~<3k z5sk&J^&HGw$ut{aqfF0NuxeBz#KHoz6aO5vlSl9gRi;)ehbo!k)~yM>hzF2BX%uZXjEcCvf#pz+WzJX4r2X(1MWBl>ltJiWm%mqm&l%G;ydoMv)c zPx6|)uGSH6=OH>kZ0ZFE*?ikp7c_I^L_Bzo=p)e+T}9=p!PYlyFbuUuXjiU2BWF%A zo~6B5XHuYZK6?={Vmgdzr|3bmvZ?-aETaApe|T3`LbG$g(y<>^kf4UK0`)rb9;mIZ z{x`YM-8|XB!L0Wa9tI)Hdx8!i`=D&!i1T{D2E5rFC%0p#-U2WTIj+V9KHir-Cnw)B zm>vCIr>@eGTx_ja;*_(Nu5s;_7DX_*+*!{zBzr)~b!X9r-3pw__yS0N{p!>E8`h58 z3S(Xkx4BpCiO=Z1{%DkVB%&Uji?uoRC^jxmzp*gIFY z=TdcNo+n`qLLPMWw@0cwhFdfH9g;Ltz^U@7CY-|u5Tm$nnDR`V-_#b|op z?WPsYEKbuJ!t4WtU54fd7l07h`jH5muoxXJ{Y}(-?mM4mUS6756Sb9I z{Et(I8yYT7ja-~+ChTVD9nrN-mw}1D!Yw<(0}snajUMzKThnGFR+*ty=9*&_Sxr~J zqg>IWlKc&cODivv2$Sa!D_Y;YixAjs2W=-Z+WK0%+7xkv(rM>KWk{N*cZ8t5ZACjNHoF;@n$tI^A*TGMl z;ume+EV3>-V7)l&(by>GTw03|9^(@M5;8lq{RrtLNz2Y_(a{kWVx!*2q2$hlM`K0Y zhw-tyDJ}xlXJ^#~GZAe#Y#*>Ly)AOHRckMC_}kI@B0Apo;rmtmf^X*WL~%loJlwL)^YdDKMfG4Y5wRmH)o#K0CjGl&#ZdJp zE>9UhMweyJ{z#1*Zf#6!RgbZ+CjmiUaiv(sK<}4!@QGV*?+06 zU)W6&kt{G_c`R9B#jQwAVTJQQN$K1nDV+z+)uZYi(^>8~DNtZZsMOSK6wu4!FRoE@ zxdQ2S-#on;Uk}@{w=NP$1*KAzUGhkUtj|@l%DR0Iw(ky&W?AktfY?e<{L7GXj%A&t zwS3tHbOx06m*RnC@0laP^K`s}Z1xgyRlz z#OUj6P!e$=(&R<)H9{`ywRa!>ID(Tvy9!LTA{%y*o*_5mV{92f8+8~Tlj`$1bAcFJ zn(u0uXA?^Re`s)u!I*kVxMhjBsrpgJm+a zYQ7Mg)d)5iCpgx+Wqq_|>#8C48Qte9iJO3E@Jjc*TaWxW1qF$fPr4$+AOy{{PK{EBEt z<>6K}uRqXEqJGd{0zf6?0C;Pc_06?b|5*xG!owB=P(#)Sc@7IPS3p^QZ?4G-lWM|S+)FQt;8Nm;rqfZQ;%|%Twli6~t)4LN*2*T`akU>Z z%{%nGrKWU5G%j-$A)I69-7fNxtz&uPlE(>sCu%_gKuQ0kd*vS=>gwg&69sr%X&pWue6^E275|zl~`WtQ{s9BPSRb-LtCutOWNsV zAHAW$Md`n{mmEhUxXkyP??vsdH`GSE>pB^NZG9+ke_!Cxk-*%erg&=C;qXe^x7YFb zai@yF_(k41(ec~D1he7MiuFX?AFVXZ?`=0K9x1d9edMGLpWd_j0AUxE{{8wU)9Gk@z<34v@q}y5^aZa zZi7{c{g!vjAD3w3g1r4tSg0I&QtMaDws~^{{OFPhsmEXQjeAG065;G1B}cE55!rly zYzXyc5%-2J>qr6_M?LUC6N9!6_O)DOjeZ-sq!{|ocK$fwExwd zo$-i2#!L;(cp>xizPRI5yua_SJQEs;8ppCv#S|f8oZJVQR~6erKcPEmv9}gSJX6s% z0`3RB`@MSui-854M1P=K$?B%8Iz%fWq&qSn6>5@&P_3q^#!zOI5Hd5idUUm(K~Bs* zXZ~Ks8CXQUbA5YQn$zv_XJdtfDsipG1-`IjhGGzzTJ#l}&b@I+as2Cez4LP6Q6>WQt5NN1aS2)Q73w^Y(Wi8_Z#>y#D)B(OA<=QlP6BHWqM(WnyQz{fizk|GHOGGLc#hfbQWMv^jJMt3+5qui(Ry*N@YTS ziMVfQF-Z|NB-1CePjHer{h;>FbkKr%E%%y}A%l!a5`t9J5wVXc} zZ&*N+t)bo7^K;nbcbzzW^>=?$c?Z3__#PfSB${Iwu>P?c?xQWioJ$ddjWRIA$jx{o3mM<8Xq2SkztxBNTL#j#5=gCXB+@_;5DsL4EbDV}~ zIy5+~uJ_7lirTEe(T`_PM}hzx z%T-p8aDKJ{T0(A0y~oI?oN5fz_ps=*h=5!;myq?KUfmL#)SISt>_vLHOD>YM3+QLr zZG+e-)lzu*I*yj*&K@pOVkhA0G1Ux4V0xQc)Vglhs%$-c(h6Suw1#A`fen8`kUwHyDlF8 z+;Q)jTQfC2ceOIcn=W{?@msrO%eN>x*_|W!;6|kUpJU`XVB`uGiQP|~BAqvTwy&6> zQyFd3%#_h)a1@w!$lUH9IE{q%hlgnqF+vqh3_#{|jpX1qsnX3fYe?YKf}8}27V@>uB_xm=U#8Ty}liwnYhXOJ2=vW=byF^fQz2;N4c4r`*| zco0L3acD%Ls>h-Yo&oZMxXr|>xtzr&qoc!OVW2e!&8vxZ2qb8Vf-mNia#LLo64w|MvRXeI4U-iVVAw}L!W}sX+_q8!yy}fyBW6wA zUUpWXsc$|P9A2o-{!`gOX4yIzFCu{wCzHb|G+8~BGmi|~)_+rKU8HcxL8)gZ4=ab= z{1eeVx9H5@)Ax*P$aQ$QMx(6v$R?R z|H{1Uo}o-GlbgwAceDh3&W;-;R@9YV6*?iS2uV-Kvw^5kY{9L=1I7=>%(F49gBGDt z)|;xCry;+3PzNZO1R3TXQV`N#7%CKFb~)ZROEVs{<%btGOKOx*4?arSaqqW5GsrhLeG4I8<5{L#@&c7{?{VUUbO5p>>Wy-!&OtJiL1jUN`cB-^e&t}_cP zx7fJkBd1lAkBO21GRcu$bS4no+;-n+#BtAh_6g29e!sp|C{UOzb)mT`R~xL0PFGB| ze@}t$e9OgmPA@E0A-S6U@KUEsBvf9v|JL*4pq8op4Z3bZ1uBEqI3)KFWZb112cor9 z`fle2lp@#lJF49GQ7UyU#Y|7;gB$6EqPMc5!^*i-EN}qyU2i!4^3{eyz){X8&`t$X zQNippO>*;s6B8BvN`Ura`@N6kA9gBI6UvGotAiP=*ifv1*Jk~{)5Hq%Dnq0;L&t8`{vxUc|2(7OGNV=dEN7dO7n*KWS9 zfCWFAa}Ab@4Ksjo{G!(a+@e{(27C&mIEnOF1-^q{Zi?3gKO5WM?hWI!@OI757CmI908ksiXeBL+3u*X?7K`q*kl!WaEPCBaC0;_1Glma82Qa%gqo1fyl~+GQkfaI7(R#$<&aT2QJR~b z0Y`qNXYN1v6cl?Z3p4pG91xhOnKUN{MO1>(b7eIi2OoaC^cBmkHr zi&(h;M>&o$l~R^ zOIWPO_^bDqc`sXLDw+Cwc_hF-$@9)?Vl|3P3>uLz>G{a2t33Rp%EN8$e(!w5RZ!;G zxynKHzm;=Ps?IzgEodcgZvQ|w zBtuRsIeQ6hKKQA+TcFaz>e6ZdGF@;6TIttsm~5!HvROE%fSxjf3#0bi?R_7W-~Kx( z@T837!A%{v>JUc6vf|~f5NEStlPbKbqRXS#MHao2BEoIzoTt=u$FhQo^%OBe|Ki=( zKgo@gKe$>~UTpuzGKow$2vd-WdY->Qq}z{nr?o102h3em@so>>{8Lfn(vZL!NX^WP z!EuR^5eaYe8Gr;kV=m(chW*T?OP2_MHl5##AHk1~Q5&(}ZZTEN-#s3i;PGEFAJ34NSHYsmq zWg0Ie9*1G;M;IFXsk5D@s*8Qa#?b~({T;VY!3*~}T_`XZ+z(*l?J%=s{a#@x^;R&| z*2t|MyXR)=K-TC(T!kEn=&*X1I`u?2LYnG|O)60$q+||{y zJPRX)ETi`)D(1E2D@joXea+fFTZ{hqAIAgIsGot;?6xYa<~zP1qW_C=d3Uab#0vk>7^D!P_bxV&qHic#Y0C3`)adqHH_fu zB1pSO!B%K#sbswc#cP+i0^^&{6|eWbODCn#Kw!w}{8@G=<-))WJ!bhYf7Y^EUv;LH z^^=uxZiI{%#CkL-zD{!=$j=0b757BbtQzizVI2+-YXQ53cNqxeG6zN18e@&4+;zDd z;47+I%Np5*B;8z6psdTJDl04+z%Il-VnJgIdMe#KfNib|Siv#S>##kc)wk|m{rt+w zyGa0xyUsrFT#0Sqdbr5yt*lawgLaSQwc>@IXH*}0o`qA$D(euKCWovg9AlG>{5v3hPN*mKe4^c4 zym}Hz@EKjk#fea?&HK6BMxJt$dRVm2_~uXGQZGMmcV5t$q|{B2fr=TBe2W!aW?7XL zzd9fC{p?(O``aXE&LC^_I+II_wepu>rMqwiO>(Ds(F;+W=IOiM+VfAxmkt1}+J^*d zmUt9_tkFRF1#>_$N#@MQr!CLcmz`{{Hyw{Xu>IG-x^!B&#xo};;6Q0fgDMgAdpA%Us{O<|EYYq z`I_1RkHPRdzq-(LINDO+3=yyb=pp(%rjG>N;EixOgc~}Z zy?Alp;N>Tud|~{qm6hgZ{J{Wzm)_QJ-`Exx93sBpRjZ0ZtKE6~A!5A^8=kz} zXxxXuugs=!vc-##t#7_d&lq+P{xqwkGsk2J^0cypM!XiX9kuRy=%KGZ>1-H3w~$;+ zRVg#b_Vl{irn5htGM%}(bo_|D@JGyQ%~Jo7#}VM!1=-H>L(43$SBD?pV5ytEw5*hR zB$`WA=R^Zg*CN#$a90Q#(o&>4NnWUBE{5)~T+ECCTe=-2cebhJH&0o&?!R%rad(!g zW+y*GxQ4l1g_h0mdUMvynTy(YE$a8h^CW`1 zsXqA$MHjY9YkW!iqa4c`H0_Xn4V{VL%B$_er3xp>m5bSdi>i2$bUcTE5uU`1t(gCit}LO-CE+SGjewyTT~VNng( z6+Iqly)ZsbXr%DuYN<{!l{flsxGrDTPM=*mr;$TbKg#`Q8kER8ek&F_0l%&nZ8JP^x)1* zo33_U-2KXPF^>_S$*LXJ`l*y49z=bAYOEDHR5wiKlN84I_zN%0tX!#@hp=I|OKlH+ z;Pe>VdZMuic}Kd~T()*;8UeG7QcMh{je8~^qmy>`H*5e<@cfccO_Nb zL;liu^9Fg1TmEL>&8mBxnGXq-WUD~l$P*`>mt3hN{H>0|wajNn9W-BzYt})nW0LS+em3$ zLZ*=Xs?><1tX*Sube3Bk7xDew1Ilh(%-n+!UoRb6cJQ1iI~)XB#a~7~?oXLx4hukX zD9WUL<)i;dlqwWiscY>w&b|7Ucg(1v`x~)OU`&jo_w7sXA&XHHn4EsN-qb^dsQId{ zB@x<<8{{oMNT>Htq!(`?SN1Q@_3bNCUpfGC2pyjdRzpb=p9EauY3*)@yP-XRPrZ{()kDF(#iBQWlUtN4%JR+nBUEgq+?g`w^V=BB2`iA9;@1MXyjK@U* z^VNI`soQwv$}5);t*(u`Ny=>AJ~ksQ=K7nXUsGA{I{l>w^&U(ZYv_!8(s{H?UUGw6 z3&BP0^|Vcx^|To|>zRz&k*D9PcZm+jS&rlmMvW;3AsIc+gl{()O)kyWoKZ=Zi$y1p ze#%>)Anm{s&$yBmUOsekuF8JRsXDXC2u%SwHf8Yf6;-2Puedw7Asu6)Mhriatv6GX z;r^+zE}>`lkxrydd#nd=rK&OdlsscfcxF z-kFKPV#I#pf?mF>22FEAuUUTF>^1+uv2Lb%Q=<;d0j*(Y>KZIt{l*2-7eP!jY3xb& zL3siP0t;ex1hoSsxu9>axo028Z!!bz?K`-cP2EjXO=0rksDXuK?dUjmy9Nh`{lk0@ z!j~0|8hGPmuV9@TPErnF<`aX2b#?Dw$!EBhtY*(#Rc7>D9^BQsYY>R+!NEcAfhDsA3oi4nn?`%4iGCIDhK;P zzyVPEAFyAvGY0tP=_uQ^4tjIpq3VefwIj_gE)GbG=#EikIY$CGXyM{pgA#&~l2tI= zf+6a9GIfqSlFwE!S5;h;UY$Bz`@c)D?x5dt_*pwONF9Vk7K%=CRPOekRM@`o7|LLX zfp_^A!D5|}>;$a#CMC)y4!8_xrDd&zv62Lkt$lw$d(ZE54sbf?PNCa}d#)_~+?LtCbY!Qlmg|{VXH?cDbyl1*+L1{rZ%f*9 zDNgmy1BvZ2CSu+gC(>2Dabl~ZE>ssg87nRdr`3K8xp&3xXmUc8s zV>#<-f`=}P9J5(nj1h}X^>j;H(P_|qvE84b zR>_6TfVZ;4MU?h@y1mJ)SH4vL1q)onIH(2I1;c{f1c^6!ULq**teCo;7CpKVcc)6;c}q{@$wX zI4s6%dFioxotK(CdV7)u$0>eqs#oQ-Zjy%Ys!CpY#@I(o(p&#QhEQNDhC>`rQr(A z1_l=A_6;mCTrDnM1J8$9dx`U`C6il8$RfDpYwaG*(t`(ELWXdsg$A#5K>G35Sh`R*SM_gQtI&`)^0ZklZ*z>WR0&RHx_CNJu{3)I`|aKQPrjFz`F~jSSSJYbcqXZ8W@{ z>-&9sM84?#F5gD-EN*^HQu3jxWD|@BW`DQ8zuQwp?aW^5o13YB(N7kBs57DO)?e5M z3}GY@*kSo|vMGA0EXM>mvl#03hp#1Bd%$q?59C9&<5p+n)GUYy$%rD`ni}rW6kU!O zH(PT4`g0QK1axm+`v$4}+Peki<;Tw(tw*J~w{yUHS5La8niVE3Z~+&Pnh2i8M4$P9 zedtzS%ark>6~+%-0R(eieoE#<9x?#dTh5hctXKoB_xjPc4?;%QeS$mxQc+ze(I?5^ zp~dP2RQ)tVzAR@{X1OfSH3cmlEE2{i!Q}=GKV+;b8b7Er*nOm_=!nCiM~TsMiYq*L zZNj|aoiO)#<5c9T<_#;VTY^Gkr}qO{L`RMXWy_F zva()!p4grle~t@CSXbfs#re4BGVxc3JSUxjy&`_#TWh}6mmauvt7`af<1Ys7!G+)? z#iQA^rsQ~nLHVS+>4g`Z`kz;5f>Bm95Ddm?TQ<#!bA%YZz2|zdlSgT6_Dj=b7#b22 z0%>DSO}6MFATJpN$D3tc>dd-SLd+z%o&LCfsbZRSM;qs!OZwaVJB3E%g*elAmEiww zIeXf)w4X>@03lLz__)9Qxc`*?c9dcj-qB_LsHg10v?=3dc!9PV(%~z}*#gNa%5AMU zBswgr)vTC0#4 zA~h130Aufy4K%z*RjGb6@5hYeBj0w~YVn0y#yzO4*OG_K0V zi}8BXG@g?Hy#t5!1B5~-tZWCvZR_$}nlSb+D*;#$$cx2^TGLUyf4d`)I9|593g{lia zTn1AkVdu65pMJ~L1e_ilp1Nd4YG>BH2iJeZA3J%3T(_vWHa?@V)V7*fIa!>uWOm)vROwt#_>ph$T>0Mu^_H zQqumk+}4_m$SxXPTj3o&a^zL>9&i0w5Zq4hSTCZ;cMGY=4@JX-z)P;3R&5 zJ9}7xA4M%p1~z8XcPKMi4nghy+apClSTgq8R5d<6U@aPxPh*gY@vvkZf+clsK3MXX zCgvw-2S+j)pRcVa^D(4}cBQ$1xQ{2RIf+0~Z9M83vmpWDgShp3jhb5^GU&!J$>!$A zK(aNx{e|Bt;7s*bW^Yt~pk_~2nTHU;WNI2$Jt0fOd7fR+V0ZBZBiC-+cr*uFOBk#~ zqmJn%iNtzqKROBf?Vi%yWx6slj5CHzNy7A!$B?j0lHAz8aAT4+$4V^b<1UAAD&>+1 zKaRf$`_?f~c0cinFMs)KU;grE>WP%x+z-Aq8&JH)vGdhWPl+el)Gf~6_E^D+xjqjF z?7ntSCF^mjsgoq!wC|Z~sUslWZ8KPxICgclG!g+>6N@{#N_yDo*=VeU+R=KkeQ4Xa zQ+=r@bWT&@cyXXV+|>P8Hv~|s>{7vCgjNleXXj223d@kt{hZ#l48|Y8mR$@4F6ydA2OHMdK|9)6_7w4GWn(br*o4i*oXlr+_3Ex8#~3A}f^ zZeYoGV!ts!4_LJ`+ilOXX_grscJ;CW4!avT`Myu^b%M1{0}vpsnZi2YWDw+#CWYxj z$-74Lw?bvxTk%eKcQs5o)f;nxUWA3+nV;pEW+^BaJH74$xD)uZq{3m?PQp_SP3B|f zg%GI-thXy>!zC!j!KbWU3eSVw4`L7=I(cKU;F7dfWhFE>H-sB*4jQtm`surLy%To8 ze!xCiY&6Fd$V}^rlb#RAKr8>wp9H;44O7X`ePO-zzWeUupj(d}J0?GJnWa!lWGiuz zPfU7?<9$R#OXREB-+J2X9UkV>xZFJGwcur1+GL9J0ELGk16k$uZfZ(Kf)I}$e{>fz zfn=SI?((*t9$qR%Ay`x=!IvR>FM^e|B4jMQTb)`~IPTL|M1=*i6cX?BI?9E+(GxfI z>*AZx5a_P?v^~gQxdsWtYXb6X&+VXx(J#3T5tXNqlhrx_4K}eC%$gC&E|kR#iMNHA zS;u_eXEfCZ)53L4%te#0*Z0T}4p~jCwx#Xa9k_mk@nhO&mtX2T$Dy-`%td~Bu%z<8 zLOM&8gSD|{$v&2+cIW#&`Oo3Pbpuq!t#&gn!)gwzr61dB>8nf<4VtQYt$L!M)s%6q z)W0kIfHNi)47zv>i}qeY&tmH5-cohW{?2tT0PLPxoD%lHLFb(^zlQhr&5?Nc$PZY3 zLI-J78dLV--phKL-7iZliPqwEhM6Rn5GG&2DH&uR{QZQtxS>^jFw88V)UJK4^AjF; zY5+D}w=R`jC=>W|aV6+>9@KsWeiG?@TK|<_zWp|z>qEwL(S6s6GuQG@{4wB(YmOlC zaMA3FfN)^BA`MCAIaM@rE_dq1u(9f8x)EaNl5IGx^cb|FDjn=(eN33IFWmS>@_bASd6!+&exxIrxl7OApv{C!+4 zF)5d6$|GNoeQ9)}Ar<*~Z2A3`8jaL@=3I(`CEe#ccM3CKK}u6fC8j-%o*x^vmfT@u zP3Watw@*%I{ohD-S)uIDR79vh)NBo4e8S0C z=z(O9=^Qzf#_UVHF$~WxZGpN}bI&l*{4!z=UkcYnx{x5P zfV5R!cLSPgJ{FD+gqv!lX>zs|AnW^nEP)ksEOio5xxQcbeIs%T;ck4KXf(fVTSEmV zZq3g8Cb;3L+vS&1C$IM#J;7mZj3ng#{Ag0A=-t)vdSk#?WlY!Psm_?r8eegJ8~Fgr zt(KL*%|_As@nq}(H#_@-`;CiJ#+TvhI%>QWHtyj3B4}X}XlMz2MvRubjT2$x zGcQwzv7k+@g+HvTvH0lw68$(M&Vd8dmNlJC%dK`Tv%Yf6-g{5E=J3wBQwxa9Xpge$ zgF$P}0XG+5FP2$n9Y)u=g@qJt55BSy++Ra04=GXwqPlu-FP0(su|nU7$EU3PxTiMZ$FTpu7Iu=xMH&t9?NVH}p+&g(4t=Qv|806_4OY$InHATbe|wz_caToY}<* zuN7vv2~SxONEeM?Ah`zH9FF z=K1ZcOBxlAU6;Rcvb)w_yvsXo{lONmv!&+3CGph~l1_1_PruviusrW#ncG)@%bGItN)CYL&>+!1U1XW!``mKQ{k}DZ`;Ij z5_{0T^1tGFmH#aGzx6E3_+j5+0!g1ibGCeh!^KdzOr|=0ElJ)bvJ$(=l*fqY{q{55 zQ#u8>-HCWwKhp+S_MLC=N^A}jW@@0{rp=1uOi)@ghnxn2zM*xCMdSl|QbE-G(p(z( z_0XvD=f%>5-a3rv83^Aw)+GnaLl9Zg&S*h1X85OJtUduMxbfhB2EJ zxtLKHI2V&g=8GcBJ-&ZKzeiNM+j4`0PtzFTOT3{3%QTV@$T~;~u=KP8-vYzm5<;#S zS!r8GDSl^xdAyXmq=@^ zzN;8pLc*?85Rum5Onz9r0^S0~#f>;wtp>Np#Gs|Df`)q(gN-4^B(aZ@kTXcMk@YA$ z`MCCF8X7Yh>O@0T8IXn-fd3a97W(kZ>y3zGoLB^_d+{W`p12#SGwwk+&P~SOs*C0y z$P>t-$r6_-Cm%A=0RICFU86LfI(xoKP4&*-Fa6@~UG&~3cm1@ehW5$xHaD2S-r~t` z!n0T-;u07@6YWkU5CUahZwwh;*J3-4D{PPQqo16H*I&GJmGsOR6=;AT#^D$BeMU2N zKb_P4Y?(T!V=F2T%eVU@=!*d}vIU%|h%Vn*m$jeXwdVB(&sx2iX1ROESNXbPrd>)q zd3K9eM(VQ3Y;so9Kfti1EGt$NB3g`4C zS#w0(_;A$7ea0n1@IP+*(gIKA}@c%1&>&c zMDfo#f#oVNssi<6`TE9u=3teQm~_W@ecnf~Y&o0c&ML2OGb&CLerszsTUo)4yX^H{ z)feYA&g&BVdxLZk2dn^~Sn!oeTAs)0vo5`|yM9JxMCy#v1k_7==D;?f@__-=nK#@a zI2bmPEp{oX+EG3}v(w-08y%QYSEvi2PaXBRFmsgz&95|PCrLZv!?TCah0G_YGcguA zIbmvs2Y=nyQ`T#Fm9&qt9|4+|fgAOf2n&p&`0#Q5u}OB*22}$2M68etkuAT4S->BU z+bNc%G_Cweg8N2)mcYX+D=An(RdlW;U_s#$EBcx(94YK4Je9{fvGdxMWpUJMLhy+G zg0&VbRj(_~@EA720iZUy}JU0W;(Pd{Rp90P0b6{*f9K zj`AjjHA`3&UBDnY=0Lb-s(P~=0878lK|eZVN6q(m&LDiVEpUuv3%hI=YvMh-)xqM7 z`(A3)Pl|n}An9ZWBB}6x`+UmHG|5B>1g)c2_59U@`7F*Bv5X#j+Qo{lXZUtNKj^_V zVbOagwmN|i2`GPgMSX|@ngu>3T|pNz8Ryy)CHRFwU;9)Q0`+%Q@0310t!L__oFrpG zC1C3_=aotWGVDH)vP$U-VAOwIZ_)o=B?K2h8oPY=4CgMFtjlAtog_JfX{ zFQ|3G3|{jDEP8Q*3x$Qm!FR}jH&!G+Oy6wI5}f###R2dKZf@KGqC+EV&vx+%5;93Sb3S8qa%96IZ=7nfY~yM+*1f8X*gF78*$oe=f9 z*k~y6UI#-EI+l?mp`5II|5Ni5dh&w{Kn{_h4tfXjFrW$qw>QA*aTLhgFx& z2;>V^qS6shB-&{=uU@er)hZ{Fx}13DW;;v1grkTh zKg~)&EeF;iOCDopU2pl^*|T&Hh*B%l8iGRj!e}T&B{!9Fo=X4j7hOE_(t2~hUs=dG z0YuCI^}x7nSXqdD=nMv19`c8&sb-9gefwK3l-~6ngnB%m(MJ+TfXVoFk`F8(E!MjP z)o3I7oU#m3JryqDm){JQ|(F%>R^MI8GI0klDu z@8CMNEBT`65SV17M5CM=2qO))YNL<2Gc$$C1a`>98eECgMv5t-qj@9LE~E!9sy4b2 z9q6aIvpi&{PU+XNjxRHq3uxEipoqbI4F4ci=sbhXW;wstPM*_T>DU8yt^Ik&T3ds($%@=UouGiy;%cR7p#aKE$=oM^@KEHCWT;r> z3RYq+#=-n6$)@AsvH}u`gDg9QfV-w6^)wMXtZd-#YFPF~mzGXk$ZXD2|3q}`KI&^N zi4GCDvm$$RwQT=H);M6FEcaFI6_#(WfV=+>?mHN~nB7sXsTpmONSw>6dZLPq%Jj9u zDFF%H>n;hMRX1V&YxJ|&q5Bg3Yb;wc$YxPT^#Mk{2 zS&f!0to-C*7*w6SuScmJco_RoYCA@8*-nQd`cZ{v=#8z9{g{v`wkk#_fU}S_^gl1R z{qW4-AU?JwQIfq&)U@xv|ASD>{gr#uSvZ@687)oF^qn~=RPBZ=;Amg^J1`2LkF z+JH|ay_K zKB*!l5_mdb!3um0kE}Ltrir6j2)(1YXMh-6RTH-n|Hp|{bW0^9L5n(w$av2@YGwuW zj(F_EBFZmf2^Utv#3n6DbZU*JnHF}m-+^G{H?4uO0e{9vS#G)8p)#pIiyLEYN^qL! z@Lq^Se3XsY?os|fDS^2SgB#9nketUu5?oD~_n?Uq=*8&vl^l5CnjE-#C-f2TqmE|E z{Zjo1eg5-*C=f#5*1x~8;p&J2T9(dhGTC^P629@qit^s|Q_NDHtenrjxi7(>%<_Yy z2XQtjoQ#f+3B2VgiM(xrz3h$g~qs<=iGot zK2QbB-(Fp-pFRRmGK&^-dstg<79;x2&|@`mA&s)ZczL0E^{nH}>)oBI@~~L0Nxp4l z(-8sXI0}hD7e<;{sB}XEEADudhx}od?}N3UV)dIjrjQU%crK`#5PeMTrKT`W@qTPn zsedY*q4Cg&bmN5Kf}-r_+RSoAW(6SXw!54BQCrl`aU;jcMzWXv=5P8xZi@hsSVD-hNBHiZ?kfd<$9Mn$|@!oieZqn1>(Z2Aj|iUwQ5XN$RcHy z`)jgF!{>_U$K@{6K(PrZVmXWp>;6eIPYSrFw(@P?Z#HFFg7xh;+cOJ)S?YvA2hWQb zCSkr|8qHmPYv62;9>H)*;N(?zE%A4|yB#n*0l;yo@h`OjsJU38{I>q~Wl0!Z9dT~n zAWrmj;CkM5o~*Z}&l|b1TzxKZFc4rOXWMDIrJq{6INoVum=92zjuQ#nA2cz-iVKNi4jQ*gIixDfAJ@zDaF^L$w`g1s?hdgdCm_nnD-IyPiyFOY|PLqnzR<~ z;TjqJ$5siy_k72asENxRfu zM4@|JG;?gYct3bh3`yw-G+QJD5ShZ1sqRpC zcNp9wNQ^UFBK;U}Op0kR;`IQ=3k}dg1r9By?yOYscRDY}V^eHt{}=To!}(W6?t6yu zY?T%e{cNL?q!$N2iWUaAxhBoC0nrU^#!ya9bJi|b?&Hu!WmYuBzO`}P~l zuHAvbY^09Fd`^Ju4o(!#5Ln+5i|CCbP+^#KzlqZ}X}&vY$77G!OUW-wJMV*ZXGHcN zRAh$KKH9PHem;`gpqmHE!ejmW;$wVhFq4(l`+uG`w~OGgYR;SAU|@9Dt~J?)?BOia z^Ju_`iEYsrhpB-LofMP}5_2%56EdX9|I#!jo>ZLy(YRoc3|NVL2QFQQ&P;y50Q|>( zon!^A`N{<~Q;#TmCNB zed2jqBb1QnLfE-bvW;g#GwPV*w0&?}*=0s#JU*>kHz#4Rkw;8!4(xZJ}%FFUr(BkW2HeW98CVB{OzQsW4tp~ z!ekvJmX!MZ6@Y@<|_{+oivwoc^U8Ffl6sZ{GY1uTN5fiTx#V**(#& z?U@-l>|5kGP}>st&Z$IZG}AbBwzHQarOR!Wdg?{Y)vP2AzF(Hlr6?i!r%gu${K+ z_O)jcuG~R9ow6wrWbE^4dJ*EpFnZ&1Y2s|dnBg~8hz4h|aLU*|+dkYj5nEvfs*`&J5rhl*s}JAO;=BiAL6MSs+4C_i}c= zADkI9@oDofW7-PY_6Hv5{m`JaMfULDesMcWPJRP_t(W<*%6rip)B&Z5`wKg|w5PXHW3EZYqr{hTnz&!jhyoVEdC(A(<`jySnd|FpxSn~tk?G;TQWrvl( zX%-H!$NF9-tTm4Z4zgt2v_!r6rk8?8a8hSy6c0}aZxmk)0*z3wBKUu&=rkto9+M0#%512x-|6YOdB65wIicE^KzEP( zU3Jd>rMZWNy_V#Za0hIxq7bkKYZ3-(PYrS_65}tH%y^6}!uX4AbPP#LQC1$jg|_FM zeIbVR^%omM9io^raHTgab*SeW8=yM6NPo*mmhRBET5}egPCnBIO;RPIitMDpC9ii8 z%uTkw&;UYJ0|C8Ff|kj zc1A`9npciR^NAh#Rvl{f1bg}+rRAWyK0;X(z9XqU=lpu_-LxbT5+xN%>6ok zEOhM9cksKQupi~HC|ePeRPr%s`zV?Qk^6s*8RF*VVPVlbH-j&^!rK$IPdpyQ)-JBIY2N zodp%jy{2!y%Gjj_xT4C2OjPg#F91#k!mLT0Mx)dnf=)iGKdtNar_r^z;Mo9UuRD4+ z5F*5rd!Ozxweh;qYG=Ky^uk>o`L-SuV0`hLdtEyaf)Lj*G z^zsG60N*O%wv=>wsl`UfJD{FE$Nn`DOEij?bxrG$S5uNkzXJF|YOHK{8;^ME_Xj+e zUo~-i-Pq1!S)kdCWtUfC9UZ};t=}r>XSd2W!C+wP8tapZRbMYXnBL)iXX4?pNJ4GI zGC)o=XxqP<(HhdQ&?68GvQJ~l^$e91bv0`=8gYG{8C#1+J&22 z{D2RX^p$JSRLr|AZiavdko$Wjp4S^eU1xgcw_-l!gDXjfyzT!KJDvcbA!5D;7h0xM z-B|pw-e~TNMQ#TGsV^dsi)!(NN~zh~^{RG%-Op^M!N`^vl11@LRiB4EVLpWda-uFR z!6=VOq(gL6IO$^1w(00JNudl8maCECe+1I_OV@wIQ|+Yc39AZmz9h(8 z!9Li92_=Q32K)~yy$0NMKHK!qeJ>&xqUT@S*OxSU-n4%|qJJCmA0Mg()nWd9vyt=U z>+>gX7in)30R?#gDZstfZKw3lF%UZQ<4L63ET6o75{vWz3fb~|a+IubB{$JYYW-on zaNH$IDt@oazErR@+52a98S|xg%%?hubR=WIQXmmvo!PK=v)XVhH>lh4gu$fPrKd!M zFliik%SPB)M*rW`X7vykcV@$}hy1fjkPj>B4g14RM77f{k{0KWv~et==XqBOuhO#8 zs*fjntG{SH@?_9H1l&B+d{QVabzY|7?oTA5T{|Y0v&~?XA)byjnfac`>uI|)X&;hS z>!Ul|GMUQY&B@f#fR4toQjJlj(pRabLbFx~OmrCz304>yzdB*YD%8rSzS#S7EeWQQJ` zj~NjL4aS1L3n;d&SKfIrayXHA_CC^hMs{Ux5J317eswCl2=4#=+`zF!OFn3KRs7Rg z?>$}SITer1rYw!WT0nmMXCehygL{h~F3|PD7`sdwSRBIpZjnEaoAWyUI%Jc);uqV@ zwPxZq`GeQK$13lbFb&WZmmHp)m6IpTN(Bq5sNA+V!+OV85`62PN>2~4**!f`BYRLa zE?142Ht58Lipg1y3HCM~NZFqa@Buu<({*ZHcDq%6dam!IwHtavj|V0Zi^fb} zI&3`k9XuG@sbd19-8;}2IC*6*aOIcRD-|gE<~1i6n1r&!h_%fbwWPov)tZ`9``4d3 z)f1(Xe2a2GzzAXKG-<(zJjOdQ8W)jm)`t=agz-M{s=(^8n`GQVt3@5sCw$T>3+N0&QRl#EvyGy%JoMjg(I+Y}c zwN@=B`MNRYG#N_re@qL%(}6LVtVrUZvH}NO3JBeK7lxX`+geay%?LGt$W1i^Fqw*U zJsOYpJPZhx)!*NjjJ+3_t+;u0Wd=;AK+6@cr!^*A-q>>0qNWBV8ugCyM$23-WPC>J zF)|eFRoDCDiqCKgy7$Z^BeVs$z!9B3f2|+*Pn%>F-@wUm=(S857@8lI3x|* zo+&Q2VdEASqEUQF-#T?sTRlb?|2VA(m&6G3+E$xOu%PQGC~+m+Ud}6vS8kymgv3-I zZK98eiX3p)7#k01;QOIabI>^^*+-EsAM3k^;4A1`yVy4D`z}S8O-4xHG;kSxDId^t z!5f9SS@(g@R{!^E?yw6>A7G%GRO^EaxXY1iyLYo2Dt)gcFK10)&U|L9x_C!tK5k5( zIBSBG$x6KN1X;^i)N(+|cj4KKDx3l59ANu=URurV-q-tHGWvYZa#j_}r|ZhM2D14p zb9sn-ECqg(K3Jz6E8h3}0{MRP#XkuDot^L0C3Cr#r&I|6WGKjFrv_f^XtPusRJtTc z&9<`d$s(cGP~oY5`>A_BUg$=T`PW{;Bj%!{YR}xjX9xb0Y{C68OJAYZ3GM8Yhsm$# zr+(D873jK79<}>IHInT|gW*3CdHULNWBwth0|de#IiroG(sY}#tiZ&LYgWXsiJ_-(4A@}BpvE3dy7wfa#Tjt?`s-_c(r5e*CxO2Te( ze*`0_H64kllXnbpcBq(!i?eFfPiTt;C?P(SHnpgR^`TdWYCYD7)Cc|t|@m_jg zH|6!FhP+fHNh~^a+fUTM-{0os%PRWsyx&Wgwp>NFPT{x>&0(0gcQ7yF!=97qz5MB~ z{F*aCsPzmPIZCH~(n#D1vb_#uCAAr#X<2UhhXwK%V)ICRB-U})2MgI3#XDVl_3EW& z?NlSQ*lkstR?E+%n<`L+WsC|VLFHs3F>Fh_Cw z>VdFAVjNO6JK=66q%FAg3S&`l*|^Owx|}b@F>S;ov>7Utg8aDnPRYBVHy&^E@9kik zU-^b0RF0qiEPqitsdM5d86PDfE;g_8()(cU1!SKhs?e8Pw@cCd3h!B32U@t(kidb=z0z^;yvy`Z<_m*FSa3K9^0%s z&|AM;pIvB1qmj3IS~_&3*K|piGWKv+Bxy=KVx-pE499AJ=uoUYS6LCo4?E`Eod|+6 zm~LtUXw_AHBSvzkd!%w)QYQDdZ9B$@>#@C&Tdh>yTa|b)2Us)hG_N+>-?^8*iM^)L z9#>dzz^N|U(pwja%P^X1Gp5?y^C2)Xgmq_=8ek2q=gk21q~6)6ud?tn7nhH|UZ20B zuG`<4MF^5cvbqllL&xJ}eH2Xzw!l(mgAtNrMyx6OTAO}c=$$2`U%B1^xZH-UHdKYY6 zF{4D*FO0PoEB>z=RkzEb%xrXbqnV1|O@CL#f>r%{L<-dk zM~DG~bH?QaVc+_$BcoU+vXnSmH_F#Y6Rh5#P3xYHn6dfTJNOe3JcBTl57pj9&#h_^v|C&; zqafdLC~|!!TUr=;NRHJ*vDyDxS<$GI=k(E_Z~aytdXhkd5c>&^)}x6i{5Wl*NmIg+ z?7Gh#u{R6k6(W_^Cif3}E>LHOIC5`u0MuxD=*f%L<>MBUL5VR|6)dIctE+W=JSMCK zYmCQsbdJn1DAj{N8PaZmvX%F|-a5j)G4%t^RKjrTj9}*VJE3Vd@6Tk0J8{#>Rf3<- zW%b;0qeNUma1mh&RyoDx%ICCgYHY%z8N+lrX@jiglCnC2R=1tDd3%07M4z~3Fr^sK zp#dE_sI#M^Q$X(2e;mK-II+FAetClHUP;_i0=YNBJiuRS@@1&qS6@&77mWMTo>3Yt zx2gtaBxPy*4bgi{ncnDy)m+BnoWj?BnmbnLGL0B^15x<^_WG_n1|-BlVtHY1FEVof zP@!`-$+c-~+S_)IaIzi0p75>X`-P@XnkNB~vdenPp}^dRUbt7dYsZ{Xl?Nd{uJ4{3|ENI(P6?6C$LE;;zxNAJHTG<~8hyh3XB7 z+`$B^F;?w0wW(imO#NqEr1X@`7B1cxNDPR_6!Q!izBWQ}GL5Ca5AFUR$??ed;)Nkw z8x_q_w%v8P=4#VdcT_!TIjw{$!C(rF-gCfyhziv-k#1--=bk#cP%14GBeL+GCNxxM z)HX5{a^ujwB%o?kLHaT7D#ZkxVD&UmW4|zh~stY zez`^Z(LSZ7+qAd)Kog$Y(5jhq)J8|#>&3zC7i@ciM54+DRyI-Q#Vw2)rfrd+{Ji$e>!?j9~@es z`o`sdS${F$z(SNFLT=3XZK(;r^<2dpRX=|8C%%*#k8Qb-A@_CW1C-jKMb*WNMtvRJ!DXsB6Tg~a5!KmWL#xbL8P(g~d9UzbnAkxw{zN=A^Gcrd z3nS|P=jwd`n>z2i-=`X7&!|Gqv=gE+psFuxRo7EhrX(tLh?`L164R)Ts0oGIrLIC4 zBu-}6F16=Vt#7L9>k!r|iAxEnzU-Oj>2+LBNfhb?meIFKMjVz`l#s#9GD0bXM)AZT zTs+^;@5rR>YuU0xbaalM^Zfq*e&6r%Hf<-PO+u#iK-9X3&a_#;I5|HC|1hwkJid(ntahrmPsascdtaNMb@dTbc-~E`V^frN}Xuc;hc1r-VawEXAv=I znH7W0zF0Ld1iJ~1bS520Rb}ZXkvfS$2@_>7!}Iz!02sZ8Q*=!BKG*$ycIPZj?{+Fs zCtq?zf{5hsh2_y!uZlO;SSiQ#c-;z8&h{4?j<~jx!pvSMOB-uUg8INg<^8783qyNz zLo17QKd*kj4$37WE&rB$5#lLbz=FcpD~x4MJOcRdToy;&tS-~lWZDyUVMB>jK_b4P z%j#alrP0~MQSwZHAnb}8lYx0O#E?oWgvc{Opvw2)c><9Ot?!U69rrlGEycUq_OV3V z{Pm)0AN{@`%k_so?q9c#fS7GYKesd}kvUjqVSVj|p|9uOM8{|3p<2A(?7S3d5PLj74U#!6lsUF`ih7?#( z);e-jM&taqsQThh%E$PTS}y-Mv4lx?NJ7KEf==VdDj z>T7i7DwxYXy(V;JPaBhhHu3xm>QS;mm(E3x==hp-Bsm`JF%h*JQ!ZfO)8}WdVnUek zB(Jw)`?t2M$&nIs>dqfSd*QU|*fALs#7dR!^R6hC?z2}E*RTMoHOl;@`uJDXykpAqgmV7< zRh4UYpg@FB$75Ooa?Ev3o-x-IlX<=q`MgX(DX_%tQc2k#ue z)fX(&l|dEG8@#f=9HxrIga}84d>t3xeK1wCh#G1pTJ9ETdWo4{S^d-XBe!pA;4C)z z;n+qdfjT`;s*4lBv%w)gWk(`G0ThC<3^1GK`owYuDueqOOw9(b1PiqGvECAx#n1LA z^XJ;$@{J^AjYeIImRAe1eX1st2Qpj#??C?1FYk!+a;Lb3oA_(eDiCqD*viE{=TyE9 zeI#F{?JrLi9`Y$ZQV@&+1T&vhK#84Z#k ztZW2!2enVv?xsORqT8OYw-Lz{NHlYk%w}~l+H-{~t#X;IIJgt_Od#9T&xy?(YXNI* zXHpYYv0UD4(Z%b)Cok89d?F2wy_v^@x-d?&01nBKRd3ug$ zwJ?`+bp{FKY@W%H@CHk%l}de4kxo}%SLz4TShQB1Dbf4vmVuL~v@}BSQTv$Qf12&L z0^zY&oJ4}y7?OOys8SzREpMxVZ>uxVth4nq43fkG72ddGP4ooGdKFM(9z3Gbee3y# zAAD>D(@&E<`F1&fnM;$%ON8Yh@23;Tp3fyxZ zdJ()xZ+@>jo{4WlW721o5Q(~HP+l^i9od~KT9a>x@KEvL=E3vlTGc$P8vj2BEXi(I zzmN%av?iR{813zWM_fAyk3FaLbo@U>bhuOWfw@<~d=6^o-PVrc#RvH`akiSum&{X- z>)87B>q{^x0t*ZSs6$BmjdS0?u^;SRI9B^xoNf)od`}hDF9?i{nwO@Gw{fkm!S)A8Xdu9-=f*SpSRfuKu2HJY4 zg#Q+Yn>Qc)XvX|Oh7Kk5`Z3j?h|dp))%>tEe?E848@~mB|FoQHfVGm=2umZ4=8;Uk z#2$R=J$pezZEi(i%7lHZR{a_peCO9@MBmKff=^$aCL5idvQAsC1DQ52&3`!VXxE)X zVnVK*pVrG;O>XG4%AY&E>)dH>n{OjzjaB;eG;W2&vOZ~j+U;FVvJ=>VOig&#l{S0S z_Me;3)6u3L$gcPfzWcPid{4l!)6OCo+2({R_gbIgJQB1mA8DPZ=bwn&ZD+1qJkkme zDVHf%>ibMmGOIRSW?_Sa;$&!Pua?S{3mexqe6F?Cxv?~Nr1fmc&Q;}IC}dIMm_g+f z9&#`pi(&;Y(OmsGYB{P<08~Wf`g5nSzE7>Q=gcL-t;(dEvcbnnM7|TC7cZJUDS4|)-czSO zXvds1IFxxH|93NFHoIaY5s^IL%ePyKJOaw1VT*(n~b*`3TK{nyzSc&m#_b9PwOI^!Lx4*c0OWnbG zSeaJ8A|xtDz%CfEMnt47Uy;@|^b9-EtsTNYlLeTWUg2QvXKU^DaVt;mY7Uxp1Z2L9 zOtNh$^pb*^Ff-KTvVz##4zO`oE?-+4@3!akZ%x#`ky-^CRKk?ow^9(y4gt8Vh_pQwD^4Q z^r{Q(7dcw&R#5M2Y96xZ|CheU&fI<7bvLT{|MhvD4LB23J=5o>12h#6Pnbe;7=c|F zfip1POj-ng)CMA;L7fyF#z4fO9$t|Obu`-=ViODS+FNyPc)_(3D5{lSlTR`ytVdaz zBnKY1A9^9SBGlH_27R80qLXdqJxB&a-KoDV)1d5c&p;1`*y3Io}Nx;qOG9%SSFjCn|N`40|pmeN1Qa2ZB45=pI38D zp*~Rx- z)4?NZCod(b)7iGFD(hrSxMO<%mE^)kP7@BNeTCwlb+)$?)QBU+iyqj>GNM(axh) zJe@P;^1&O_^yj9Py*N7^ufrfr=f6De|sC4H*5XSC z!X9D#R$BZzlRj>EI93UJCf(QvAFe~`msP4$wJcTx-&JQmGL3?osH&1+4L~VW!EXJd zMY^5rR@m5R*GbkxN7$3H%XwC(Rw?VJ>iiGYzyFT<_Fp)Gp$QX@PG9Jn8J^I(xqzG_ za2NzEgL%YP@eY;RvwX#hfTvb3_W&kwdal;?FA|;i*#&C#5#@3@r9iP?{)LX{yBE7UCJOIY-}}zg!4xT+zhM*iEE!BpV8< z7zv%l+|A4_Uayr4hg}j%m%oq%6Rc5XUYH1}#-Bk~!(J{Fl%-cc0JCtsQHKuXuFO(J zNfatC{WURgymU*PQ0tcXEjh>HSNs;|&p%AtEk!!>penFwCFJ@I?x@r=U0;zZ{wc?i zIINt7P^cd7 zF#6#zoufK#2{wIOK+MPXwz#Ulp+1pr(DkJeG7+8gTu1zDATvXlwMZ{L0e-b>?V?YX zyNWvx9!VgK2j-i28xC!XO2|UrF$rDl(7~?Z-r> z-jvLO8zJpoGY@PYi9$Go8?^;eOoumdi%DW+%<*tIKQn!P#iyTC6U)?}{zQ2X4a`vH z!LMEi^^=YPB^)-ny-u{Pgly;NRnD~Tyxk%{5LZhuCT;h1_O_9vumi#s_3qx2lP9iy zEOmwTLHOs~x_VCJe7R+Qpwruvh=ZoPeB$4>f8k=Z<6`0B7cO^v(+-yM>YI@WT220L z5+*fouF4L@ai5i)%DaoaZhqUUHg@^CN)kfj&b=KicThLyz6Q9jQ@N}}5bA~-63(91 zx{>dxIX7g8E0;{1L`OP!hon+EwL>jADH9#CtlmBfP41L?AlptBmPeJ+rN+J&Bz~PL zaK{_D1Y~^ko}%f?EBtnJi2!I^BT1VYM?yqdmiYOTyP8!X=hchvgtbRP9B+8O1T~fT zW`e6LnY{T}SQ?DOw`pLFJH zcM!4!I`J)f_@z%URK7@!`mHwvkXpRMkUoWz_TJU$6Kr4k_}_DePA{(;%C=Tl+5bJa zkKN#G{Q9W4ORiI11Bd`_rS%4u!lB?wyB_<{y|YcaNJ2fkW7n?O4mEwKkZm1Um?&h+ z7uOX@ioV;_RHj=zL}rkL+m)HCoZI#tvV_UH5~;brGq&=Chek#$d*p+BErR?B>+$}s zzgnJ+{(X;StmY;>bT0Xr7C~1#$|uSuRo6PFWDm7o^V>=$+Iyv|huj4x|CCkEJGQ;h zR(0Y&yKbDTzuHKRBuH8$2-aGw5?`3(tW@^u%(?S(c034mOiNuIMLuCrEG%`$(`f`C zM#G7~W5iD+5!!w(;og7}%$x9>2Ii>g4^TB1)T1M+%oKf{8(4$9Q(#PrAAsYV2M0Sd^T7m4sfBxo(N*H%%+=TbuJg4<9LSL z>kp{Gge~_!P#{bTte$ho5gA%dzaJkPRVeHM>{^hY&@V~rU!3R5I5!f7!3bo+t#H!opyj$nv};5*cG?3%?;{? zmIqsu-9I=drOJ&}{kB)K$C$Rfn(XN4z(c`Bb$&KL;}chPB-%nCRw`Yt8NZxk0w!MS z(pgTc8*a{!g{7V32%CRe(c<`3*=G7L?#xJ!iLGl9s5z%@;pLu-E7g z08wRhG4Bdgt1d*YvXLGfw_0m!gMoE@SlL{dK4KpAttvm{pcquFSfk*J7z;MonnJ974+U149= zp@siHX}kK2YmyA=>JU5M4J{8@C717y;+u8u^at$FNNbgy#gVY*s%!kcS|X*H83*r0 zVo@>=A>WPmP*P-uT#PF@B7&{uU&RKZI|_mGg)E$Ctu*j3i(au-Q73c!>IG*QaX&vP zFD?tO)#=lx@779$jMMh?%&wB+%UZIyzOjm^#o-j zdmG|I?%tjV8rm5t!<4AjA(esMP4U{IbA^P-y7C-RXrK z>syIk9P&7|*IUp*=+kx_HfU| ztIuEk@mG)1*~JEeOg_i*_R${tpdJ{#8f>)Z#(>7_?9`p93)Di^Dz&7rmBeCChqQ6D zxR84rKPr-|?f>gk+~euNLa6DXVQ1d*?VPw!lPOBBo@|k=<6r&pyBs#Ud-BLwn)bf23#T4EkMj8@!OT}`?L>b;NV^)m;GtyUm=t}Z?> z9*;*-_LQG}-mF$mGtF=h$z1=-fLHX;ipH`qY%htAl0;d2C+rar3anbawA+=SwE28% zLeeBtiCI0(zS!|>Q#Ual^4vZie5QoUPC~=ECZ7&nBoY0kFAZacI+q!xb{y?yzCx4u zsA(V9OWpnRRqmLZ`@exF{==HcR@DtiqNOt3BWvM`~4Vjee4SCe}4gg8_H3(1X2i>M>hf zSoPn4isrh$IhNer-p!FgtEQGd26?*yf|1Pfn|Ey|JwtL+x{{3aU07nX1dQ)g=XB3> z`RY}f<+W-B{8O-$^zJrO4~XxyOL$fNWOVWYA=rA$e8HwXXZcK7l9!!ChU|i9Q@N}B zL{n3b1SY8P?wa$PH>7JfoIlZRFS5xIxOXQ}L4Z!0f0Q&1h2Ox*|DHivaeyA5MmpA(N=9Xf6H8IdSjx}0t^MtZt7)c&7(tFv>wSK5rrw`p zULq%eCm0v{1pqPctOQd$QeL8 z-0wTg^lLP_W8;QiMo=>R*kBfv1B^&Z+h5i^>HUqh=Zd2<4PNizrTzZ?!`{Pl_~URh zVDeJ5Qq2#^jp&!|Bs*)j2iBSv^GUd?DtCJ+pw1l1Pa1sZhK5!gA}O>!X+YugdN;T> zVgu;j|G8*tfhK7M_d1TVqqn_>`%6(# z?VWtUe59I$obAizN0#^I4-mJXJlQoVT_sW;@ol-a*_}v_&P>vKRku=wihy|n31h;4 zi_9;K9mrqGb<`noiKqqmohGAw zyyEI>VmhO|Ncsz{CJJcm-D?j?+y3C@?phtFtx<~vF*Z@_I~LE~D+naqbCCqsn+Dip z3R~5A0g$ZO0iSWbHCSwq>_%fmg4THLGkekACG+4Y_Xr=n;Odm$;N6DXiV>x89jQ%3 zNVG-};76{!`7hw6W;1)2-#qC7w$+90w$>&Ch#Dz|lC;{1vm*DqHpt}(nx5t_aL2A{ zV9~mITox@^6zv^~@bOVnmEG|-x<&pjxwS*9*IOD7lxl}AzSk6JqEjn9ZZihFA#HC> z*PQP@KOWcn+Au-!il7Jtgh3PK{E(CBQ;#EF=S9HEwep&Z_psW@I)Q}i@`04jn59^_ zWR)8JUBAa^_N1Ffb~ZPw+Bv%c-X7oDjb_+dldkR8g5$`IabOApwDNSx)VHimE=SI4 zEGs_LU3;c>D4!VO76Isfr!%;GibivfDJ-F^5=Rdy}j-=g#Cx*E&UDsi9|7X(Y2K>jB74@12I6L zo#k_#B@>!*jYN2Wb2p^bFXBj95lCd+iRjo43gpu6)HU#C+zPn^0~BHM0oI2HH)qf= z?Bo9PzH&4(omN=)f-|-V-Px@ITv8dP`fMbjUu8|8SDSHh?4I|&U$sZ*_cg0 zO7gN;#+{>o=CxNNsYLWZuc-9W_0d~$+1^0Fv?_Cm(Kt>jRB%=L$ar^}y)r&tQW4VY zHR7?nH1aUiAc3nS@7rcG1!}sgYH(1YL!$U-j2N2ZL|I^bXduS{?(2sz$Mw8)+xc~# z*{>8XzY_>dR3&O?%lIR6qa8SAE>Q8kihC$hAcT88(^sGGoBax#4;Li&D}MZNBfy=V zz& zF;sP$mSjKfqD6P18i4 z7!LL@*%M!rJZK*E{;B4(6{OX3OVzdOn6-i?K@_Hkf+bW=pFfwmLVp z?M7(|Uo{BX)nsm0OzokRD#IgU7I^zaZjB~ZS+^EYQLO@dMPqINPp?z5 zoE2Mw!@z`*?$<|jy?6krQ~>3+D7^@96JK%2_b!p~h`l+6`#4HdKI7#2V3DQ}ckHps z6%Qn2sJfaK=|m0wc+#vz<8Vexl$7lgr4Req0Wnk?H>$hRyY11ys4Fgm9#1N@{Rrl? z5IyQEw#3nCemTmEkM_3tY}tG^32mV3qeXdk?Z@!1zxsv)fhyo7MbqrK(sPv=u8(D` zPL`E7vaR5I=Ef$wd=5~0%zw|enXnj z5WzY*MEP#<_->&KKtscQD*A>>_+xi5bc0wuuAhEJf6kRG!e~Iy+e#*&GH`xm@G#im zr=oX}-Hjcup@(K)+=P^cSRGuUSMJe|f!EG6mzNEF8ERS29ILtEn+wQ}x~UVoaPK^L zXLSIR^cGwFXpB(Mx}Cr9)|LHPtt>TOF$r9>J@OM9095t{LcuG=T@(Y5qe|@`9gabJ z{ZFS)?~y^H_6R86knLQtgHySj zAZLG-fPx7|fp_)kYi``+1FjqA_pP#i>6QEe{j%oUkwH22{I<_W8&yB~O5=mY?GT^8 z*Bs`#{TA;{(cl9nMdLG0LHEWkOit31#<%os^INad70_PFEzqIiJ&r8{DyOEgO%q5h z4&&@&{Jg$Q;MP9g9_}80uzzOyitAHNE;oxM+}Q2)c}(nm`!qvjQlrPmscoeL#lthdZ}ANs;#l8xNX%pzv)I?d--4Rv6zjUQNYis)K#*5s55JP zye2#z4i{bGk2zbncRcOP%uH9~sqXfs@d0k~N@v~ji*)!&tZDBV^jSqWG;z6^7*-Zb ztAv?MS}78QKIxk7B9Gecty{NN9J)6NpQokiFh$b6lBOg5!9v^OronI7>3V3j!Eu{F z_WaO^gdO)of;1`XlqcVdt1NDvOd?9|1IHR4zr6p-x%7tdwD){1OeVW^riF;H!sT1I z{r+T|K5NJINX__Va4(16F*990+ZoffQcf*{Mf zm7C(UyZ#h8xtVP=QcM17eaT&~{8~PiTMlT-g>eNr@WBS;!Xy>sIP7*ozSO)#a_x5j)b*IGK7JkBf zq)OZ;c8>3PYq6CQS1Z!Hm2f3rZg0K`$%@vR|3%lP#2WcyR8fnfl?Y)Yxx}9KlTp+01k5?u7wZ<0Azy!Q2XFlB15dTzBss<%$J_$1IqXQJ zC8vnfCJ`$<3|Yo03UH3y^+_(2Y<2jZXP;#*^>6VfMNrin(bp#A_40r;0p4a>J!Y z2d2wiya?~&Z8Q$?{f=9O)B0*H>X526ZuM_v6?}VtRmDosq|epxBt}XU>TYX1l3O(X z+4k{xJLRZw50_T)EaerY8h5+9Sm`vi2VOeHF6cyagevqI^ybep-)?$FxkOIn0j#pm zKzZLJ?){PTwdZTak5%U{Ov?gtKj{V2E1xIpO_r|CN|z_Mr(M}_uPRs;#=onz4U6xL z`w_$048&hb-AhDpdWO+45kEe{?sS4c3L3Vpq>o&*0=+Uw_a$l6lcSe@nr<>IwW z1D%dSw?ZR95TC`m1=IFhffd&@AW4qS=+ni5Bn}ovJD=$4>}2Em40z$5rIWU0I-Wuq4q$TAUcc9YGy2x zmFQ;>1&*JjMs`LcE*_v83GE5onTk$s6T@S1;mZ-P|M?pyI2R!0?znI7*QqfS8^~O7 zJW&Dzx6LRJ@KhaR&u>=Cmz%B2%-fcEdp;3;(lOtT{_Hj0cf&P$s;J!A1PLwxDRjKY ze2j0r{b998)+`xlnl8Jg)_Lw%U**@ld3_QAX}WGEK4*SBlPcThAQ1{V9WvW; zZwb8g!O8N>#?U~DKu8CNI@QLSnm8Hpa=B^a@smv(QQES+YPvj)irx79|2NIH=+{*% z8(Np9cgncpV~{t?FXSPLJ$b=4H?vJW{Z`O)Fwy6pMZ#uV1dXbxL@cN=T&!ooM}Mq} z=Fq29njS3E()fh_{RMjQCVkE^hYK zLB?uGU&n8_S=ZgHU#ih_R_OR5{Xr?_$o*THB@eyGbw94fSpf;2j_|JcwcU69^=PyC zajLpHf3topzQj@ZX0rr0L|hS)=(4Z!9y~;MSMA%8JNdfgmLQ}9=R!ZWP{Oq5cWZkE z)dt=8J2qNzoBVM3IBQIA4mI=z<}t}BA71EZ@a;Cw`fk==CfOZHTSkNmbQfB`m037` zyh+hx3vFoH*8l7S^?PP|nqAFDAAOyH;?qi9{o3j6OxZY>n%}{Pkge=;-&P%Dof9#S zL(@-F6XXpQKe70jdwx7dbtb6}Z?!be+S171;5^8|p#kyy5`6)P5H@i&Ec%+_8(ro2 zn)sT~;y1dQi=_By65A4}6HgN_ZnkF#ud)XJv9S$fWB#b|<)rxI$bkpVd`T|2ly{#a zsjLf>W)nMXG?$WAMMTy|_u~|b6uO?^B{$%5Y+xI}0$^hL5NAaSXfBgh4&O`4r#DnS zD#Hp8o^v7b@sg>_tl&=gLo#a1H*dU9 zrM7}n~$F~pQ>nZF=0ENZ%4OT zhy8~ShS9-G$=^2kcXkSpk6Fzx3>sxk_MmuadFq5>jfYbkrGNdj(jOQalJMF0gzv*1 z-?P>&USx+Ci0BULD9^{Vw<&C($$eZuxj=t#flfTGzj*UUZ7oUvfSN)xXtEpFqlmTF z@&sVBAUJN5v;&cqE3@PsT$x2|C4QrL4gp?sz%i>zjO{DmV^4aJR1w(uj}d^)1yDuL zS)$_+{aF=pWcE znz@H=oaDx0?q6<#g9yIhx+uroqCTOVZI?!}B9vJ-xv@ob0cTOxYCihtsO1Vq&uOz| zq_T*50Ew_sTL8JTpy9u$M%!v^8x?UpqCSLu4h&I3H@eCyy4LqdmGkOfH z#WNBX)gt)j;~79axd>Crh-@rikejU%J#hl#WxkCP3&>`2AedJ>{@LE8hVAMCE4zm! zgd8Lx(BsC<+ROHy^(EJM`))eww?1cCBmsJHbG+%=_I9$*OKaT##hOR$00K53TnJC?d`b2)-h!9ZjR2IV?8@&u0H}1F z$Vtoi_d>{Xlz=SSCs>tlZQ4Xx6NT^Xi!ak=7Grj zAVxmv)v@hSook}>I*=y2gd*MiT*XFOPI z#`i>!RtkYV50x79f(s{RE+$b@Ajc$v0#$yK+j_7wn23iLQU02RT)qsPZ7RRxioJF7 z3xtXw9+PigX6}?rqr-xpT)=##(4}f4HIZ?$`Q5dnh5^SwbYY{lT+tEt2_}1qt$nZ2 z&A_`SOa6A=-Cq;k8sP@ujIv$Mt04eQsV0P7#GyprNo{s#Fn_>dm#Ef7I0s&9cQ=K~ ztF`R~4oom0)h`O@kyIaj*?bfyl1`GnJIz4ngqy|Y^E;XH-GMUHM|T4dC}_^?om3Ky z==J@qSG}QWh%^%61K-@;uj>+>y7qC1uz)hv17B+tda_&DREt7K*kc8FEwR zIU%ceVH%KX7Zv^8SwQJAD0oyYJ_3PYuPP*@gNV&u;ib@C=2p4Rqacuo76@bla2SEKV!q|jFMzTcg5n5? zsDeE}``Q7wbgR`K*TpoXI?9=txd3g!1!4ej%u^LC^Lu?#jR^UyGy*^RwN9p0w?P)_|a$yB|<}* z)VI|yTyTz^=WO(%iCl}9fxt)YMA&-QyUdL7`=}iV`Zm>n=ah(b(0BVm51=U4aLlUq zHoCiPru@8Y(vTJP1_}CUrTwDu>b<{uL@W^z$U zWxV@41!~vpg&Zb1DI8CqFo0PP(N2NnMf;}qOhjOma}nEzYE*yJW*D1c!D=DraNjjP zN7aPEs%@|JBW=32kg`eJuzl_J_TrFi<3CGs^X}B_To3JYwsbDSXuyLniv0RVyG?55 z`5t_w9%a4Z9ZXLZ7^6|34!BYfLLqeYnL{2x(|IhMKTGpww_C2rIeZED)t}jgt>(#$ zT~kw{eYwWIvS)%YvO1U%MK4-ZcsB-55YBZe>=AQ@a6p{5ZBW|MGvL!0x$s=miJCd!tBr9aP|cA6VAN_Q2XUX zX=CQjRdbO$d$C~X-l-JOP8KZ>N~LxKSv$M!!BStO zioQb}MQRXBZ*EXzM=^o)+!=)C40XIbde4OuVy{;pdu8m0;se29kUWh}1ZQNKYz?-- z!RR;bg}x__^bby%e=&9z(2T7`w5mS50i7TVvwF<7k2-i>{63$xBI} z@Men!MpsU#dos9;$$576jKKjueoxPo_2H1+v(eID!B_Q}I)FBl9^WTPWN-u~!W7u! z9{S7OZSR(4MYqW#y7eg5BeokM`cghgKV#76R80^uot?+RMhFn4C7hIlyqMH_p(kQJ z;vJ(&#K6oW6C2)uqvqrKxnW0)?6?VQRkxWJr0DeQVLVX|#W7_M#1>t47G0wEZspsp zOCtif%%%_}`GpLL;EdJhyLKj`tW>!gfTC`8`Cp!3MP0I-W#;?wq*)ncuo#KGZ(D zx$iKauvU42>`0_nt$KBxT=-sbY7T z?5palazzenkqUTb9yxdZ0#)g_j_R|M(Ys@U=toI~aCA|o$A_GXi_#}zvIV2(dg~Hw z3MxCJeaRT9pDPM45OK{X%VYLSr}Rs;oXZAh-Rm{C&mM`glu?(JtTDnQ^^qQV503}& zBlUrgy9xQOx62oWBPyeZ8_U6e95L~YcWvn3)eU5^|*}YQ|kNL`IOE+r}ZD{^iNnh z+N^rV8EP#|q9J2X>M<`p)^~dlv_^nv1HZ5J(2sSc8^M*ylN&gNO%>&2oQw(FNV4bH z0_L>ZgG|w=tIYDg&*Ny?wQyd7qF}thlgCC~s?Yt`42~N1~aOH()_g~F; zJf~;AqX=>aauM!+s6SUQWtVbVWIIwB3X)#9SCI&min%Xz5l>cZ0w|DotF1@k6gWWu z<(2~@%&z34#=yn-Q1yDQ-H+Wkdn|pnGZAtuRa7);U>F1zcw4CO%G9WdoeAK4@LAJE zq((VVeC6uY%2IqKn>DtmH1gD$!W&q;@(SMu7cV(=nnVRHQGVFhBzwX1lUCc3msNJi z%3ff&3AB6fUX0L_Juai5*F@kTMLKGHb4-pj7+PPVB9+276tTz4;{k@Wqi%0FJE4A= zx3ajWW4Nte`VtA6ntEr-swt|P+Hv!QU``j^Sk1hMUnnje%_q`_8mQME1&QV|bKLd^ zGtsGLY~00WfWi0akF)=ytoT=wj}tGw%8Vm{hxk}a;cZh30$^;$tignClwcO!%`{0d zI$4J6DZAJAFUDJ4JjBtbO`!tB6!Kk*sKkq^g}HZpXrV4UaOJoP;u)O~jqD2mkz+o_ z_uiZ>v^%_5XWg5cN7ID7V(;P7`e!eml5#JIYm!K)Mq(jAVri}&h(scPLOAV z&N;aZ5+rN8Y}0m5qmD47St4VC!H_>rL~3fS%RH^z%G0>$IyaM(KiT1$s}!@DoB5d9 zR>Ozs!vzWem@;j-fy&6k45)jsLEHl0Hax7%`>wuFLE0CCroKx0+FTWOQzjKVH1w7I z|GNK`x`a~~Uw2Q9mtdg8}U$yv=P96tI+?I@W-B+%=ZvF1BT({o5b>d4G;_LUg zaSABB&@(^!FUi-;@loK)n9+^L8`Doaq_%cvQ&WJZg3);9Az|4SCWbk)o}oL~{7_9> z*hoX-J~d_j-oe#`s?HqWNUx`*cWj%yI_YYDpZc)V!Q%go`FGNpx6Ah3l6w|FRKb73 z0hmbN;^3)qq&8NvR7~8jitYKl9E+(b9DCVu)vI&YA1Z?D!bAH9_GgPzY{_JHrQpio z8?Zo{ABDA2#VjfKp3ON!XexAXL}xMcHtB{ekb-VNGn+Z^ zpOo7)W=9>5*+c0Imm3WA0Q_QZs-Wqi(lTKvf?t}CkW>fTXmIV@EWW#BGe|~DUXfcp z3=39uEZY1?*V}q&bCjMew0_3>z2=kIZKhE4ZEHrXn)?sBfjk6a+@OCL&dXgktC2ia zdvO5WW??5|`4lQJZjYYKFu#-wXE%_eFPZY*Es&>aoIR?L?Unqqdt?w0MP**cF zXis?Ti6Nw|7WtymSDTrY4-sAQKMJTW6u3#S|Eg8rMQDjcpb|VKHq*xlxr3Bu9+;BP zNBnaCJSZUqpAGSgm^G5am*uqF2t=<@l|M#U#z7)>(kinXn{>gY)&NaD&Z3yPDQ^z* z3ewm7-)?)qcim+P3l(!0Fjt8LV6$gTrb+IJoH<{iiCY-iFn@jtmb)!Uvp_Bg#p83c zHfi2JMF)<`ST}Ir*T>`6eP#W1Um?QiBi7Wuyi}QQO&)q03BpMNh9AZa4MG=>g zd*S)ACo->Na!dtr(fI1X8IWxs(wCpvI_<}vh@lS#8Ekz`lzEb}jF zGRFP`CR2PO`xg^TaObHmvAm$n$QavdZUaqWSoIn0CBH>5wxq9F@&<#cy9qwr|3yE5 zr#yXu0Mj*JE}ANbvhh<*m4n^RtRxiZH)qiDKybjB4pHTV6E8#ynx3vq9iD`HI5DO8 zT^W;lNn$5lKl2GMDQT!=O#O)W7r3SKeypp1pogE+>JRk5`!RL$oNzezZB;exO~~RRSxil4Z$Qp$$G{2wNI# z^>iUpunRP;w{UeOAm}6>0oar@v=BB0pr45y-M4?}#OGiJb7kO(VQZeLdp4k)0Iw=^ zjc0jXc5>zd;lt;=)yco8AqJk9@}@CUYECI`{vi%WeSB>^9j|huqQKQP1!SpXLKrKuiQ|*5enWsaKp%eS&cj8Uw*aX z!Andaa@FccXfEm<1Gb%D1i;PINt1fsR)b7}>N)&#pEuo;>B+!Bl^xHzjsTI$*>Z(2 z$qn~eMeF#1ckrhhaYS7o*sf0AY`ggjdtQJY&bchYqM4fNVW&FKXPPraHCEF(i4x@? zZVM-}lM^Lp&m}$KkVriedPF5tL#d&@U|;ZLU!VRx0vh6Can4cZb;|a&+-2_N;vaH7 ze?s~P=;k<3?n*d9$o8R00tX2T6U&niyE|{)x^rdd@28ZbwH9r+%QTp3{SWujjb|{BU%pw`+^!8H&&|`F_yzP5L__h5a7$A&)E%GW}@Msw2s$ zUaxW-$w0KhYeYy0y0HgBVLUeI>^>Nf_+O^$_;qggWz{kTdXq+CJFzT8XaX`&ar z*sWmnx~f(}2NVOb5M?foaU!CLS9pC>6zmCUd!t0*O>Le4QNt@F(!UjA4v}>~#}>2V zsNe)F0GGRnC_=u6rs9FrW##k(S*7lxlAee&*LpGYZtwIo?RLJf!5w!a4_#n7v*;bp zG?rRwfjHhhbV@bf*8IvVrTGLo^VLs-D$JZYro8vp@VHZrGjb;%rsZ#})hrbrpZSMY zeQa=To{3}M34VHdxBrP6ye&W;_q1JYJ8EQPq!3|pCVnV^9SFo!qb9#3FOH1>kLh?k z!-}SqVSKy_dUCJ6jffsM0}sVg={9qHBXPESI8z3&!rb8&-OW@Dt6%U7#zt&VQ6uKcZbIK2PQl8 z7G~J4_YQ6>xk5WH(WvX`OUV+>R-A9UC=Q0z0DqOo;V&TAR+_}=nap*E1#7@kWB2FnMB7t%Wb2}ms;E$L_Qmz+%k2kd z=+e+9Y~Ous5wIBJs^p`g!XXMIt&u?&+MW}7(MF4LZS(K+`;iH2k55_K4N+o!@`71| z6T+ZuIXCUfQbnX5)Jr?IJ}OmLZ{aEAvW&d&cix{4|DE^TTQykHYf$|Xr~whHriRZA-_KGF#z(E#6sV_WZO{9Z zVeEBO6g>*j&G*v5s$lCvAy{z$4*`R+(Je8EI{p@<@d(GThT`Ys%(Zji6rHB2xnMRp zihDnSfvT~^8hrP%`lTH1RK-+6-K|d?Xz%^t;M&_nt|up(i^{yrP4iaIGj1Zwckw1G z(_U^ZTCcWjt8e>S+qMFW=FoC0lxD&wa9g`17a2ol-qKsJy)VXI@UE)oO!Z@?;Q+Wg z6x(;M6RC5*nH|YyRTe9Esabp|krDQW*I(EiwOjtV6glX5O>kUOqq*JwRgvp2X9Xx`VFf2SVokD{7kj!k%!GNQ!7={%n=;QhL3!W4yfBj z2Z(E&R>3r=$oAf(8(kgye77Vl996#51#c6qGv(-&O9E!%6-WsP*(F_{iHw;#`t*G& zwGob*Qe4N%R1Fs_=si8VHqr=X7f$0lgfbwk79J|}7L^C2?%i?if3rrP6#v~sZrr+m#KHY_N&OtH@*K5eLN??Y_AgKNoP3oY2_Bg?kOqqaBT74WKZOHv|=9+ix{6cY)8Jy}zVAS&gNH-e0V z)AxP_|J-dPkW)j$;P>wm=%7ubpJ#|+9U$W<6D+hGdyZvZCiu&ntfFHL>i_eLhRsuy z9TS+AGSeoQ)g~H)>9~{zY=Kh-(UO)^Q}^bZq}Ko`=dKsCkZWx}`cXTCN8Fq5+V%u$ zfQHS1f&Rj%6%Jb~CA?Ce-;uA?t8=Glu-T)@N&2$AebT&7U8 z1|&PH%BBASDh_- zjrRhI)AwRqW0U#-lX&H+sf-+k0}b}}68#KR*R$e|(B}hh^ZJJS`WRjNYj2Q>E5na$`(Mw&N7REEJ>s-@ozJJ-aR#M<-w#yD_dh*Bn96 zSIrKq*#0VD0~vN!9wVUZW_{GrL;a!s4c+BGZJOQh)9lTq;1DjL)}YYBya;W5bN>gAy~$JYJP}nODNixVM=>g zJ2z(l%VIz-(q4$-eYsv*QZg;~;h|LgGzntZ?ML^I-EWjy@6`)VmQU)8tl%pmS`x$r zCD8FYQ|wapU4EMQX>TMk)3k1#q>~lxhV)Ww^MW{EVgSSS<0_p;WZ?Sa^z}W|hU;(F9yKLBdZH}->cGd1p1e@R6(q>yTt1TIq=iX_`GbRfiNaW0o27N5+2=se+Qt?G z4FL10eRV`6d}z5q9@7WJZEvnInQE4Gto6JEet1hH%}V{DpHE|XZ@0%R!s;wNZht!k zQ*Fhyn=xx}@sPYy8$TsJ(e{bzzkN@s+) z1e2fd=*>5qwE^=*C!z$erX;@ERKLqA+nWP}8|ltnwl6Ez%1H$7=BrT$+<;`;a3vt= zTU+oIY0y>4Ne|QSVe60y%~fmQH|vV8-H~g0J=!*M`PIdY`nUmBZ*Ss#Z_!)z+A_&~ zo=)dFOVLEV+c*|oYTLE7cWi5@$(TPDpN>dDJhDt<1iu?z+b1A5tqRyNVsAtPn$**- z)7E0{j#G1vmNMS!>%5;|ywLVzHEk!sjPn7Xuf=@S?4N2g{}N&OV!oh@FqdjRP<%k% zhfQ9%J((;X^xhf2Ymv9v#FE~p%;h29wxOo_hm7$~8pSa2P_YpDmVN*2DMzL7dzvSY zcYGV_G}m#fTYb+8`=?9Pw`^u@n!MfsC) z!q3o2OGB4LG`{U(1%8m)i)0CTtpEl#=vJnPzeREHTTXww9f=N+FtEd~rB_nf3tY6^Q`_YK;AUO&6VsmEc7+USb#@~(ihgmSRG^wLB2)=&1K*l4+9&9XC zq^PSA9KN`^mj(YBKdS;Vh``A@G9B+o!H^QF{1s1RYUP|(b-;vdQC#Ft(DNLk`AFfSkmhT+_q=L*;++ZDdyJ? zl@hPbG$PiBm*0~T7t-@{wA5?(=9vpuFPgg9w40N`5oAC{AVna2i$J;7-TT1xgKIzB z>-8crEu%`;`|7Crcso^hfZR4gL@-dvIauy??U;P$TB3r<_!3NnuMNi!uDR~u>NSZM zX|W*)wc{Pa8Yt41u_$^SX#TC;o-Ca4liNtd{JxfW_o%le-lSq^!`S5HehX2zEoV?= z?swFfu@N`l13HqIDCdKVlMO$)y*@Viv?@iR%C){{z0&YEPgz6ZXLlZAx8t>%@6gcI zw4rHMrbPv5oe6rfPHHfa3JlJp<-r%12r23F*^LX)Jnt@3tdxVYO^YNhH`mQ(Y z`e@V&ADNkMskIuLu4iyiH3|MQ_;U~y2NL`wO1vW4-nb@0n zEW3nPGuFtOAq6)6;P{j^UcUG;uHgS54=IkzC-Bg&1!K8FU^R&1zH;!Ri>4jpNDs=+ zV$Zn^9-QyD_A|&qWHGtS^fxXujIP(lk54fg5+%##tuae2!$|J>z0v7ou2Yq?o`Y!R zB-X)4yz+j$G!_4!csZd&ntrY_A;I#xqz~45`5Yc+KXAZ(${d#sGXMF>UjDyH{bf?+ z53{{t^pn{)1)j#q-6L?W2Y28y;l|4>socj{6whF= z{fYtys)Porm~$x|)PqZc!%GI2B$tqr8I7CM!rD9=97%|z50-nL#_re^{H9+u=pEp3-=FjzVAy7pV+UtUeOtp*P{i$)pdk(ybp*AEu~~v#%_{%4 z#Q{OgCgsc3<%&m@X~1H%-Pd@EOpf&9)Z2yThQ*47Q<3J9b?If6=lHf67gJ})(+_kI zzvr4xsDNJuimrFKjo@s4SPi~xu5SWNpM){ktJ@D$EKR5$4(TL$0!uI7 z(heK6VV=RE0jTkNv20Cko;8(3J2O&sm$G0@!t*U(@?anO|n3!LqQrtl>fU4$BVvh zt}-I+-77WS=L@$#g5QJS68F*AV+qT`~_nm9|yuJ9O-}g#+GEoyD(ZKz;)Kdp2 z|1?R^yCl$Dk(yUu!qmHIhhFRlLQ}1j@9A=WTfuCai#tkL$Mx}M%|f7nvmW(Ft)|A7 zXHWGWFo|>Q$xTO##8*Ugsiw;t{?7F*?Ez^F*W*dw?bZWlRFS>6stbxx2dy)NiBYi@ z+`+NO@gR?pCG3oA+zYstJ)sgKKt{J(HqoOhz?NI=1uabVc;6`MRCd+DOo)rMS*-~a zY!gNZXYI&k6~%FF7__1&{*n0iId|l2y0)YdX71cS?|aVqp6~f*B~Sh`FVvbm%kye^ zcK#UReaY^S&&^H0fMHW}>3BRb^in!b+vHsSlRK$@=lR2UssWRLE;PS!FmvU*i>!*T zWBhaqDx5%2l#ti;((bY)qDDOx7`0B1nv-uDVL_y4Kl;en?)UPW%ZURQ)XI}>&^-4H zB*ocW%=P+)D`??oxRkJ!5*;1#O=&D6mm~Tbb06h8et(vz5%OYnAs5n8FW9|Vz}GR7 zPF1IB5xy7FjmJy2<|E2aAp@^_!4@OdU+EqSN=q9 zuqnz`2^y_|xstx0f)s_c{V(D#B=k1Xr576zG-~)6?#zYL0u{nR;LOZ!NUc{_4!kpKT>zPJpB!7?s)x4G5s1*c#~ z*3^5mv$I64glV|efii4OY=M(uR(Ct&!{P@5OB(5FQ2NHiK!B+kb>w_FN>3JxnD058N=F_Plxg^0p3YNAF1SsI=4=p+5RhgFh06TQcv~wCC)9- z%=VP0EXBwz7NKOe{GwypTE>RB(!S6mW}I&HC&p%j3asrrG+D4iJr2KXt#HYN!}9mk z)#x2tQ*6xJdQ`};TFBe{WYpRxNFK2lu)sN&+gFYqQ-)atPK`-I-L7ROWgb^N=?Y~P z=iW~uzt*maA`=K{d`2wZ?!NT1MEB2rCS1r~j4suQvA07Zy^hvv?v6l+s89d3;0>=1 zM`Uc-9}|JERUJhsBtgT|*y6D7zHo)0uiW&sf@KxGVk-6Hcf7L#up(F&d@mRbo(o1_fBki$9NoaRaqGwX2;=~Y(}+tH{kDT( zKTXlCNF70p*I9e@Re{^_0|Qr&2=s0EwiQ~*MKv_gZh@4{+9I8bFl?NlQ9bxz_@#k? zqpIykOU##M3)U0@q_5L!FX?#O2OUM?5yt$MswBhUvH)&BmT|uGSkI;DXiK3KBA^j2 zgvM8lN4V{aNd1oBenr7x$8bk~$0Z4Rp30w{&wl)B(HJPA)TLvwy8S$ITIg_sJJM~f ziBl?~n|uYE%;l zm}QW4tV>DXtRCX%9I5inMjl5-zK9Qr=l3%x(+{}&x4+Gf(5=A>9XP6U`r947ZUxTU zAf0vdMkHi4K7OrMdHeS6Mta5!gwjSLBb?p*<}VcrjOx=TJBaEWHN0XGqc}!?J|d5H zjndZ%d19^b)Cfp|yhiJ-qU2SNTh?r0Ia4MN>ot(F&4=mEm-y+pD*4VBWzwQGkg&EB zgb`s|@gd-!*Y$A{bNgW(4+XPdNhFptnTr4DXn=f(lSaroMWV$d4?lmB8X}cSIR(n< zt91j^kj5>mJQ4~Hz3L`h-3s`ppt3iB7Rzbc|4#rYpXgZKLE9$3O`KJ@z5nXvC3ILk zBo{?RDo`(6^w7`~nVp^DxuuzAgMMNitIsz5@<%Ko#vJF(QT?%;9>j3Cu1<&dqVQao z&Fk(&0{9rICM~~2PYM7G{x^6sNt1I}6=}WrvUH0R2Rv_!`ij^pw4D|l76GdAaoTch z?OhZW#bJQm8SGR^-5EucwUs5Z8vc*v93E+F!|n0GMYQC4b{gmQSZ>;_ zVYDx|AV-DxrSW2*@Ho-~%*emh(cw5W-BZi?FndFS4d%|3{IrEe32hVZ_h?{Y*RB8o zaWRw)zxCWI}z>1WekN1DTfR>@#+PhqSH5U;0F2q z&O1p!$?XHHUhT(9iknUU-qR}x|4N>Y2H6&sw?L z0yj&_Y77;ZHjlMKUPjZ~59n{C)nBMx>i9nOKc-`MO2pXFABqhnEUnM!8!*upQW329 zr%%nRj!NFVRUMR<_mQ28W2hBrAElZGC^L}h7u(2P;;9CjWA3JhJzEtYlF3=S>Fw_S zDXKa-xI-B`&MZYhHi_tkrdKv-GOQh4$8A^o?H`{|R?JoeQesB4N&h_ex=QsQ|E61Q z=I}p1tbTWU&SxyH*uV5$8f6cyRu7g0D?nFt$hmx7648}-G4oe?)HDZ_u~x9Dr}_I= zc1-W!!3O%+IC=43j^W%r(UU*B=((iJ{-B}OAUYHhgqqi$+um#)DJGN6>S27i@{d+F zMRqEx+RL$Lyd+ZJY#cNA%lGx#9>)w{c-@R$ADKo3I!8_Sb{ydX8)g?BF0dP{$qT5L zCf6O*ebvgG$L+%Lsz=j_va^Eg)$l*Et6Xkq@7Q|l&97Lm73j%R6>-G1RB8 zm))NYr;Px%Kx#tXb#48VYW1j1%ptr!&h1ZR-q%qRXWX~U>Uu;V@ zvQ8v=I|Q=1)`KCl@&mI{+1FaZ${`y^nlsgWv3JpJVf4z`o?>|PK-2@qY(KKf@m7F^ ztppQL!ARh(cz(;4w9(uTe8cCdx7IL)V+1=lr9RPZ+G;k8YETq4KfoBuI&*k@6e|{o z!Fiq@COAONcvmt!sMk@oTrl6X8CM1;T+D5U*hrRmGxe?EJZ`uVtb}8D;-*x$nx2fP z^M8nkq`Tfv8KG1i-0>dyWyQm}nMj+W9@RG9xK{XbE* zS%==5D*OJrwyLV%k)rMXI@H7ibkf1zh_Ak7OKZZ~!p;iQ2>0EtZ%pCWh;O8tn@8*H zBX)Oyzt_yh@T&@#V~%m%G$EnSP?*)1WEtM`mNgz#KY9f07Lb%ggg;aV{q!efy%sPz zLC7-w=cKzkF>|C8yD$)L`5JbbX_GWZgh^Al|KriN6f8ho}n&o7yE}6TU=_ zGU~qH{e@5_7al`0*s*1|rCtw6Qtz*}yK8BEu1fxwd3%wg z0GA|_FXUdBLNeeto#6cf=1N-%(l=>Qnoe`_r>;zw8)CGW^rh=py;?2B z#u;^3tk3t!V$VtAq z(TbGaY3gs1!xGnzQz)*I^VLePIJYGbv3T^KK=9b4@1tiBmp`hVPS$O{5YrFF{F|yo zRJ^&er&3b?YQeX z8j)-^H+)ZGWNeFZdY|>C&Ayxctszi_iPPd7>5(cNqIzWJaRExP@n9=WxMJg%FREM< zyZ(JD`xge3@%ammioiVJ&^ZVNb!{n8cy*X5N=2}IJO`GbH6d|y_g$nwd>a1Z{>bl< z5o^TTzHIxa{trT3)wur6S=2XouBybqXhZBvB_QTa3}h@b(ph=slVj| z&jNTQMmOHgiZEe=SwX(?@W8;5@)_bGfpvnRK>0Dozcrn8f)_5SU)Za62XEHlUqB2c zicbmv_~>NUG}y~1yeApc&Rc~QMT8f1cWg^VY0cLuXd<&n%zikS?a9xOtCG;Yf22PC z=}X4#-}AAZh1@_){KFAztE(!C$s!NN>g%<3N(^eFA6FRnxDL#OyQSGNf55xjQOD=Z zQ_P&fAtar)`DWL%L{3`_w~<7=`eJeV9`>gTR2y^~-9Z;z7c2WgctC~$uB)pn`$GSh z`OkT3zOzdBn;rY=LW;a3lEqj`l=D3n{?9AiVX-4Q3VRWRKG@29zCLF15BS$bM;&8nJ=^0b zgBU%vjx9#M&bVK6C4W06&QGt|Ys4C7$l?7=&=@z8!gz^ph;LA2Fg9UCiYnd=d5z`yuiRI?hIG@ul%Gs?g z);E-l$L0BZ(dkSVjex<0W&ign)r)3yEp_=wH%CLemSNlG2pDoEl}HfY2{aR1PMti7 zYlU>+9N|<&R*YM}U8C3a3a<1)rC>cB?^Gm6gxsS&X>g@?BGSzcJZEe%#%Y+Lc=pT; z(;I>YlLrJIcz#tau$1eB9mpc25aTJt4oo}#iFFq)Tu45z4;>$!s|<~d zs~X0{3|2=x{tzL-seyvML;oN4%25toGjdNspE5s8iFX}L?X>f`PxK8Xq@{V@R(ioI zH5>O9nnvIg{2wVSn;254TUzUj8&YS%gPm)QIIOs| zcO$*(PsoP5DhBcR%)=2wrCB*Ekz6TJKzWqBQY8a-@qNc!78o-9eUI#D65U%)5h{pA zxr9OA`Bg?YWWgnse~g50#LTW?w}SpexJ9&?XIavBQk@bAZ!SOZko6WsATou%sDS=k z6v=q}u+jXJj(#UerD3s9SZqB{UKP9I0FiNlhPtpxAx-~*g3=|k;X(yH1G zq^a}$AKytTZ?pP~?aUer|L1qBpZ&I4kFgg6 zrXx~T(4EV6V2KKNgR>}wDBohyb@232m$0kr#>LbQsIC>f1k^%6I%c)FIGLg`0c-a< zUk`+`fb=ziz^$_tw#B-b`t3T~6f~-XlTXNTZF2aG!kSZ)Adkt_0HMSB*;%Ja&iB}C z0e_D06h~yln+?9H7QVqT3{!-s;S=Wk4s{%IKR}G;%L%J0&&llX(H*FnD0pkIL#KoE z9RAmbEnG9*Y!-*eCX^%xf$FEC$@S#V1@!)6gWly8hx6U?H^CgL;dv(G6<5PjGa*Nh z{pjE2a77{&{ZHEc)4_iN?>uH^C2um3;72$?GFq)_?X~+7qsvf!2hq??XFqV50ANnr zJo`^WLeX6aFu_xe^yfGTQXxJzOTK35z`N0uOcN?SA6*SkKz=FDMyZqd@msuQ)8wF0 z22|^kI(91V1o??4aFC9E$+I2uOQ5;eDQr{bb%B@Pf0b~FtpCvEXtW`S2I9L~%$s~g zT+DA1EC&N$aU-r(bj`LIf$AjmYvrY&&@miL>u-vO*=BG!CM0>|<-6Z`X!xBAYb%ZL z>Ri_O?6RAc5x>oWO+n26)C_I3)b01sD?6pbNtM2%?ecs*5Jlzk^VzLC=I6_N&>|~T zYgG7w%BPf5``nYciSg({gp-gr6x4r_HDc@9F5gYj8%cMG%v2zd$-Ej+(J{R){-tJh zyPWF|6=_oCPCQ2LfuU4AjN%7OZAE!YMr^ zc~OtCNjG|R=Tnj+FedF=)6YIzJ_}&lyadKC<(2EqGC!E?ex?61ARBtK4x}GG3WfQV zgx<6ktGww2^f4NCgo#Izk5FKam>mhpUST+9$c=}RczH3k{((7jD)?7A*7U-IVk|ek zFefjkUufePzkMrB{e1lT6PlA5RaN0DoG)1j&6*#nIkS_V$^KoUF67{a@@L3P4}}=7 zQQsC0xV06?^R2UT){1x?YUE25x5j7$qrXYeO$RTzCQ)rU>5t0ienegz6EO%7!BD;W zy2uO7>!(j~!A~wX9GRdKb-Gb{-6B>CiEecceK7W85w6z}E-B<;HR$(-A`DcT{KO}7 zpXHX_DtWL8HCV4|UL_$pZauH^acAtS3CyYPU2yvZJsCeRz zv{Lwy=^j>ebV4jSa8_RFV_EZfaT=impdTCT>OflYDh#Vfl1}L3fJhL@3MBlEXIWo@ zrl~ZLY<|X&z@&LXE!qn?w+}nUQGoB`g~sya@N&A{QqpWB+=CB>5C*%NdnC1oc?{Z=$e3-Dq?YKM+(VB=`v!^8D6`#sSQ)q1#SucH*yq@rnk;x z=>7uLpe`Qt5Vo>u7Ds0-c}|6f4P5(w3>1Ws*y3AxD}^ zCRE*IJ*{+&rRP(9=TU98p*IRum1X#1NRn{Mr$3<|P(x~{L&Ou}!uhE9v0iV{I_#qY z3d220UM){<+}un$asa6>lukdEoHZ6M6lPBcjLVN%R3exRZe!i*%#J{XWjRszNCp`$ z$F4}&QW9l?dS_-z*vvJh+b+NJPKSJT96s`p-sM#hbq75J8P*ZM_NN3yg_6o8>WBzjEU zrab%5zFK*y>FebRYUq*ytcGIPORw$CT^7Y+c2kL(3`hzH6IK!=8vW_#c4U}jY4QJ7tIdvFaGxQ z4AnovqQ3Kxdif!Mh}$EOYKLj;AEtLfIk5+Od7Tj>OG~s$x4PV|+SYZ$=Bbf_x*Y4R zq~dJ4F3G4Rbtgrme5?_>&4|$eTh^{%<@$4Wx# z74|StXt^obeu#WZJY7}e)I3gbN;)mBdSn&iEYf)7l$DCQ7P9l(#7tr> z*IUg9H)C1pKRj{iQs<}Y-9Fhd3FPGdzlm|>%0MgLF@ayY>jeFKB^^qM*S z)8&~!v}JUuci2=*bf;>4-WhG*DLLe6h%}oXB8JB~fjkYIH9;D3M!%*qQ&Slu+?7d? z=-pQuRbRLJj}JSAdP*8b*fSuA9l&+`9GD_9j|*siqOzYN8`HsG-;~I`<>K zw!Fi0B>^;^$5-%?^|#fkNUfLYjlO4PRE9Fqa1dyVEK$L4FUlYS`D=)F6_*p(7<#YK zKU+oGl=19IIN{k-YYVflS!zS_&LYc5&5!SVi=S~L7o)eq9*E3U81WRlm6V3hVoiJ^ za%}QsXW3FM8mz3oH_LAKos=8Nq_jq#nx0;51s@ZFEjs{1@30#W6mD4u&cFq5w?}r(< z77xP_iOJ&hY&5N!S#ZUDbRO$3u+2gr8IpFv)beMaT~_GPJ9e9A3*GyE$D8Re5BCq* zMtL@!Ja;IbH4@vACrb^O6{C)%z^N6rt zXv+M!TCSFtM%_)iQ*Ya(_w$uSh*~SJp33mP_O-96ny-CTUH-AU%miZLhy=4;q-y8m z-n>dC($S;@8OS3M$(g@&{}rn>Q0J2V!@eyvH-yaB)bmcS>|(v)`s$Wsf?R%D?ecx@ zL}dA{MJZkLIW@9Zq>M-D6Arzbm!VVCkZ<7l9P?x36tphb!Dx#XBQw#R8=D>a-xBb5 zs*V_=OHO6!2MD5wIqO(gJ5L^9PCjkyL|Do zbbiiqi?60_d`eU8bM$}q%OwC62;Q{}x(X zP8`3L=4!E1yC_A}lQf*PE%!?m@mV(?r93KmQ70NNCKEdL20+w!Lwy=XRci2}?1Q7T zZn9tx(%+Vh1F|J3a(n?3wBJmuqo}jn|u7Bw*-vBnrAngf+Ag40yyQS&>DZ zr>_Ons}%}}MacJNzx7!Fb6!NtP2UkrZVWyAkQ(G~wYvOH&br%;l%xoj2TP~=faG*Z z`b5&Q?x@DWO}h71sO;9QTjv+Hp3559{yyK((8hwLu8Zl(ZQb=|D&p4HsxG!ZiG}Q{ z59eJ|Ir0wd58DclYB~o)Q)`zG#%zt)AU$Gwo$-D_hIJKg zv0z(`v+muf+PY9?5JT`luma{3$x$)R+04Pmem?(0Ugm#O@JOAxKxb|9NkJ0h=x$96 zcosjd3SoONp~G#lVJ;&WOXOZKPQUPoJfjC*7*@?o5D1f^P%FY(uqeamZ1WVqye5_G zv8rnq1_mPLiG}FKz74HORgF94M7J**lxQ*Eb<$1^J9d2!>pv-{C zOY($Dj6dNhqnQyUVkzBtCm_9T$T z_A4Z^A&njLmki^5vYuAG?}-Z+4iIJ7rX?~+nqZ@2q~qSrB$oaefY=Ms)#DysN&hnS z=VANj@e$i1q?0v&xj!}zftzKs4cRy7nsLe0hQnjJJkGcR!yQ}uJI^z^-8mWO7l$5^p$&qnX?2e&%1!qjW(gA z)_5XjJxn4+TXnIq)Or=~vOM>8+RAc*cUV=59QK09j<5BQ#20d4Al~wSQ-%-zI64Dm z87-#B4Sd%aC+(s9<|-@rr;XXF;$wpKpzQN}N2aH?tH$Fhd%Um>Uh>}s#>mz5{jgA{ zEC33O*&Bird!#8{tgmR4dAWfw8r~5?MFqd52aQV7B>RSF<0^G(AqurS8;?!<>G5Si z`&W*#XqOI=wAIM~R?PQYq?gpyj1fCbZeKnEYlk!6{O7(mX*Acvb9~&T;K ziLnaX%noNvv-d!P$C#iF64Y-Ue^wozDUXwa#JXmyx_su0dHIZLKBL-_-QDaNH^N|d zK0w&TTeyqdM_HkJ!&La|>tqc@L@VfOH(XHz^i(7Na>QNxF9+Rq51G-gkxT%QzJrgU zXF{h*CdLl4=T{z}dagEI@k(~y|BPyJ=88v;s>^rdbd20xyY}vPYS~{EwG{Twq(Wv; zIYuZTCqCRs)0cPj!(6`M=uWZ5$bAEhV5LW2L;n8~_>nQ=QWe`%^v?ds~0qzl;e zT$j+%V{P#x#gTW5#k;H@ew2$o(hY=IS+@N?T7^#?a`d}ZR{BsJ>xE#4+;N0oUATv& z$a8kv%kR*q!7g^ZT&yh4S_Ow`%>&_%MFbG)Hxhl@(YX;;>?jRi+*}mZVI`FLv!n{# zp$M7YRcdeZzeG&oUtL^2*SvDf2%mP(+FQ(5$t&LCdXc0TD>F}Z!aQX=mGz>7%Q&Z7 zcnsG*2ky9zYUF;J{u0i|s!*qp`bQ>RQ_N0 z&~++|(Pzuk+>Y-?f@h2|oWwQ+HhM-x7ZybC*jB*|3i*Itf<*N>>ZbEJEU2jKA_mDf zLv~H&@Ku?qcDFpF+WzuiR9oG@sLK&m8QAxA-{9>inkh8LV9;1!am@JKl_E4indtI2ZC~{YJKMj-d{2);?xKfCfWgN0b zR@!y*xt8&0I(c^b>|gQtHZ7=KyHsJ09lXs}0(bq##u(ZVK4&4=qYHo7U}kP9mh_}q zNxYaCk}*~){YWte#&H59g159_%zSlo!0MGw5_6h$>|@e^J~%>S&V!+f{_?8G^#uac z@}L&A=93$tLi6fZn+!G0Uv;g4)d&Yq($67m2A-y)=*);S^Bb;pd1ib7kEuLd6rCn_ zXuF&?-w$SjXbiu8ep zPf1T9V2FwM6D2%exT;Gf^Be_f54RO?MK9oS`!VOYV+_%;W_gwxUJv_(KmiU*dq+lwCoZU$ zYhC}e2oY^!9<^v7>q!42 ztbk#5bGA?gaqaRepyiE(hC~kQm%Rc5yE%d?iS0?ZP}p7_ICoysrF5@LcJNJsX^_l1 zLNtZAi%B9PMO%y_rL|fso9k&LbC`c3{52Bnjqcsc2){J(G3h?U9Y*wSH(2rzM&9vU z6xbMRjs60Gl}(DMh{(_s?z+IR3T_j?JnP@s42s4jF_-zQgNHQ>%%xT>?A(}+pF3e~ zOzl@$k;(Kj86B9nVSi#~W?F`c6K-0>9odK~_$013BfrFzFZ`aItH#B#3ZuNuj@Q@= zR1CH2l^Us}h+)~-8{2o~JZey6zgkt)*R_N~$(ELd1DrA#?ehRQiJs8VM|Cl33|vGe zae_xMox7scs@xj*f7*1l;fa(A4N&Vw7qW{4g4PvGfkt#`ydrDo{AVC_m8w<}vbwULVc{)+xe1d((q zi8_F{KS3Y5UzULa(5M1p4oJwwva?hIfu~E$Xljo>4^ojGTt&w%Swq{IP0!XnH@m%0 zbm5#x(*@VzBkB%a6H>`SNse)Sc7QHhJi^3mzfm_!y2gWgM~IlQFR}15*1F?4ysE8i z`D{2OJKudp#a*jGuSE3SR)#uS#?jf?lp3q&0kZ>&}rfyj$N5an-k2fi1y_(64<>@PUCY|fqPdHrD%Y@FwgyL&7O5Rt%0mp9QT|k zRC7sI#TjW@jlrV^?FG}GPxmVVVFoHJ>P}t0m*yH}e58swjwXW&r^W$^6 zX~}6?W%}JI8Ww-@qV9st{A^;)^HPGcO3fLmk<%p$+7K10N>5^3HVAnOZr;~02{H>o7Jhe=ow~ZEt!EDknTOP!WR6BEwn8wj!#VR zRBzGk8{~P!e;D5Fuk_Nj}jTTlEa)pBh zy!S&F&5Q7WG~F@hUj^M6v6( za&6=Hi}UmIdwaSu0~TARc$Af_-i!zy*zocJwXkiQR82^SB4#|HfDx@ga)gXh1ZJ+J zTV&a9|(7j?QW{IB%|gk2?$9W zehJbXn^P$25eFam!kW~Bj0dIc0)tUAJm8;I+2xmnet3)Y`0e$4g12`|dRgyY^HFc= zf&cfkLqWCMm^(cCG}jy4x7%3kc2JDoa#Z)$kn6D~@Tdis>>0E}t{Z3Pxe^`dX2P0Oe7*eHP2g`R5d%p{ceXP(!d%59IUa}TW9 zGqEnK8qe(Vw|pX+DA8gd(JF7>V`8B7*HMwVUtrb?Ns(PQW4qGXyV*zxZW&=NN)d&r zzp$I(DS>@A2SmEL-N>G=u3NL`gc$5_VR&Xw#(p;&pFCv*?kSbHw2N&BO?6$c8KG!$ z_czc}S|d?7jOdGGmQ$!xR-Za>5#o+{XbTCY2LxjJIMa5;v)wmhtrXXB8Xa{@j{Z)^E>lh~1Td=%%BPT4J4|`b1;~gF@qLyG}Q} z_KRaN$!h(r=a{F>2~$h2{o(fQM6C)LwA~19it9dwc2?g27UYqpBonH<6NauiVF)Ih zEcsFXkE%9q;JI%w$93%4oXvm&HW+QL3M9ah2oPvCM$L|no)MhMDoB0n+;M`r6KA&0 z8B@l0Xb8Sy_#$_GO^GD6r;!}G1HNPx7AUfOnX7n!)7GXI_{*mIteWF{X)T%!(@Uag zC-uu)f-%R`yPBLM&Uki&0Dhp@F@+opGQ*kG(d<`y`{xeRegSkn%0Fs0yoj|rwQx4Q z;pGR@=39=Q0oDI`V<~vfwyOK$z%r{Yh%g}-uP+(__sP|qXQkdLk~O)~ zRh2n186orxf?18|p2BR6w*pztT)E zmt5;rAwrgtFw3sd?J_)-1lb7~0J}hmRm-Z0R3UYScmyWfrRfLxEqvR2ySXAAXFlvF z{JwVcjZlM|j&|MS6S-vv$%^H&1|2$X@Sw5u4Njc7x_uvAP)TP~Do+M4!SbmQx#D{A zN*A3fd_zzHPoqB35^GU8(BW_l*jD_Z6Tfrnz?99{4Dx~%Q=Ro4F&KwS&@w5Xo^_a` zG^vkI6X^u$#Emaa9J_K+H5dz5-BxePPXaK4LGx#HsW1&7{z!OejvG&~3%ZxaAR+JZ zeW0tZ7YXS&^4zxX5AoyzUsjuXK|+bbPd^fm=6yJ368IxsC_W*wKgY(UTS=ciY#U{V zi07Tsj}FqjHYw;eIa(;7toV{USKIEkbST(Ke<~mz2pvx<=IK|x59tAiXqiY(5<((*YF_B4BrR^#`JYOzd&4|hm0Fs(=@tqCzVAw zK%zCG`D7PtAmM>JJScQ|hY>?}6$Z=x6VE^7ry8=|xm~b<-pzzEhl}wc7w` zz#N4gv!%qGDUEHL4=^G?HtyvPJTyEI9isb}9zr|vUl5^$S5ugsrC^b3!HOVB^RM|+JP#Olo*N>qYH~%S|2c4* z9m0kOYLssVfO*u?1_kcLij{OK#uo0LYNW||V6Uth$KAM{9x*MDbK@r3C^WCUWr&Fg6|3}es z#)Eo5*Ps|Bn4L7nMT?wQr=t_y(bQ&?8sITPKaB(6RhNZfJnZL##=o6D?QCMR1AZH6 zC(D(Y+x`~IP5WKkp<$j}tXQFU_;%_|S_i1``)AB#U zGpPYK|3II1ogYkh{$Y_D{H#%Z#-lr`zUNx&r?GfzR30ELqAo?xl%1SR$i7terD&|U z66V2(^&IWcwzcva%M27s%Pcz4w?{u%Z5bWLxQJWbFzUhof(%!E6_2*#O>qMvy( zXy@y9fi^jky=9b$^6-pANe3w@pVPtCIUVY4V!-@|foo$aiwE1pcR)B7X{8ktuH=1Z z=Jx>Uv>S?a$dkG`+R;w=nVi=1&rM^Dm=!}W=vPH;)luJhZlr1H&e4tE?~H!ZE!PT5 z5OMYII%cfk3yL~Ow7C>M6rHo;89N$Pw>W;=Dy}@yuY+kFOW{KiZL3Y)`oI=??sX^D z6wf7TJsf;HczSANsu+qE{(^kFFH}L&Rna4+l-8e876W7S+MRT0m?%?sb9zQka?9{c z@(9RjzsD^#n=^#{i9dge+d_KQCQ^qsETsAuz2zEp(uhqweP&E z*suuNc1B++f{})3MkwB1@D@BLDI}}cUyyrUPAp!h%#kD_)y)5YP#<#a=fF8XXg!Ld zdi4igsm*>5wh+g9T;)svFK25sssG5OnbjAuy$j5G4+neQ0_mPFblnYbw`CXtA? z3W5s+B#ms9vmfw>e_~xr8$q7DaFZ$`HiFO1yfTkzhrjaGy5J=3r;MQZM9taQT^w&5wCa+^#`Q_-K)hsG*=quuq6bto zX{3s3j6@z-`>OZWUK~kQeI%G}JLxM>G47X@zB~&_Nqz}tiw1v>61XUNOb6%{bOa>7 z7%u5pqq@|fg#&3iu^m4zsM?8fQI6+^tu;gmhkW;mUwR2BJ(Ba@`oV#1=sEu#*NFSn z`W)M(`Z)2bpQ7JY)d~5!-kVan6Rvd|RT?yR37398c$B2&5=9zNe}r2v*2?WhN6l@k zQ|dcxMuX1t;{JfQtm}`e=xMr4DJL`@)8D5O-iZA@ja2LPjtmFt))#@G?@ z{q76JD3Gp-$p7XWU1R7-T@1Tu^~IMP&nP|8dho;?HDNG0eb=9FQ@~(p^2ntBpq!BEFD1fw0`vU9hyqkbV z*0s{y=E>ZWHG!C#S%=@&M2u4WAS-x&pD9utEgc$(x5@`?3tV-U*4#E?dm~mUZ;pf_ zX5WFNYPI5lz-AghXcW+mhbD&|`W=KRDysSpIAv@PW9FU}Bzq%o z&NXcqf~T>*nfRg#TUE2)hSzA(kGG&)^^^Dy0^$~lkP7z>5>WoBJOYB;Xgdft0fa^9 zE5{Cx^%}uRW9;ooUgU@aMuR{b@12~!LVO~B|CmMo_pgn{M;YvTEM2)6r2YF59`z(F`t8LAw5FR6uik*UBr$inD5DR{#C?ZUtEzpZnxw*Di*yu`RQ*+Q&>Ln68MoM z8L#e(!2Is{Znn;y0jupeBNGaV5%g9Ij+Fa+EH`lgi11|^%Z5G8Y}EsJPjO8LPj0AJiZ zIW|;ouPU7HLj$jf+)Sfa-Yy*v8wPUTHyOAg$Cy?k-Z&Rda>f#B8@rYOQ|XXHwwPz_ zt{=%f`jp4StnQ-^W{2a!g8NazpGUhDoz^V?hW2s>7G zEnnHxSsEO?o&RV$9DK+~<-1aYO@m7$8W3%n0LTxJu#+N+bDYPE_|XM`&Caxycg!iq zYnFp^-cwHWY_aRCv82hb34bblOw6vn&ip)_9wmdnesIw41fNV~X%rf_r2*5l!iSM| zN)6;fHSs(W6m*@~4w6F*MYBbY3uNj{>nkD=%G*CCK}2{Vy=x^y4hRY~L-eSaja3%G zIbb|4@U@VZ4gcahH@QQ_W)m_gMIw6b$kjbxr0yR}H#z;Za!MsZm8%{}{va>@9dWCH zQ-#9gXhbvkZ6A`D!Ed2*^OSlX{>t;zhWC;3PtTg9-uAH9Z}@UE@#}KyUqJIzs?0cm zc1V$k9`<8RBky1AsI0=Fr~vxZfvIde!vL=ctQpjvCg^hCfpBfT#4_4klXk|j`z9EwMF z_>RMOtT)5P;9e19R+dqi>17F#nKrWX;^rOmM#4J_r=U9vJl&Z7Tm30bpC4=NA!*9D zmfs3?y*P~}a`45on#=tr((T!t{iNPemmSd7tGtIP-T4zL(#JUpc*H4++G>88+YQTo z%Zw<5(`_5>TCQ5;oQnqLDiJi{*>oS>otGC{w1~KDELv;$f>EpJ2Y4{q{ zpQ@?%QPz6i+=xuyw5*6w#$US>{`jm5H%1$DW9*xgh9CHIRisnfB!7Atvt@cPHLCmU{EXkY(v6hbRp)AjjkBfq!v zST#&y_?ia&r(^oxTSj4`aK>pibe}ce5on`#R^>Qn=@?)2$P&$fKyB^&TOWq!QAP5J zhc<&Igr872Ce-~;YQE28qL)!v@H3 z3-h9$S0w@`FsM497xiamun zhoPCim6}fe@!(TO51nQud>O=A#&p)B#T^j?CUoE~hw56{YXp?Nez2;0oB7UUZ(|@3 zKi68O3Q^Pppp2>0dl56ENjET@s3kvtMYI-IhSdsL^>~V|H!B?BcS||aL5T>GjfN-8 z|42vozT4G}J?f3NzIHlQ%rxj|Pd6-U-4|zZt#oL-juhmwp%bGM_HCGyJAnD8!~%{VXtt!j%m@;j}!P8VnEC`B}^krVs$Z*Ao{ot`mh1{7MJ+Itfl zY54~~m^O-+y52PYx~kEkE!uSIzNxhS-|V|;f*IBv$|~)HPcfSQB}k9eLnTiZ*4Nfg zMA-9y3Wy5}ypHGwxTSYn?ef?Zu9?YSle#j zLRC2W2<^GxxW?6>(Z|AMjcm4WXWjo|=@NdnS@FZC)jt|xu}#DCqtVlwyQVbxVC2k- zO0Q6P(g@Rs#y61pn0?-fcG15&64;cm5`j&UP37rzTp zlg&bhRS|oudYJCrs(NU+CVz=sJV1td!10$qpiong?-oBA&qdf0|ID=eOzKG1e7Z+%8t zSAL7@@F}aslP^LGE2NKD5y~n#xigo;YjRkEuQ;h7tp2=SM_`L^rbSgbonDD0T0lj&PI?3R!3=%f`OSUjn^9dQzn%jU z7mPu7#G9v*WP(YUBHW(SJC;i#p^^)@EtcC3%AgnTbS>ouhB>US3(KaN7@iR25=Q1x zMtoTayX)n{?xss~$KZv+~ ze9lb#Ys4G0r*e8@0F$F$@%Z5#548AcM4`HUdbm23T4JUqCLSv+G5X)nPHB1Mn~}7e`Abcat_`W6LPAs zlT}p-E<-mtG+t@+cje9bPXNir_#kn?x+yZ8g05pMPnt%JK|hi7xzfZv$G8XbzNw2u za@jcV9>6&?*3QWW5ZR|OTcA&@M>3V-bFH!8Gb)Xk@3Z~NfR)I_dS2yH3(<6NvXH_a z)O`_DsA2@CK1+~pM7k21iA2^|;QGz*qaGg{QzrdqEfxCjO)E-_8zmyeX|(TN>UyG8 zB_DW>9ao98J|)#=X&=0*J8&=i$!(xaws1lu@WP1L z^gT!#mMySSr?1iB(CfqRh1Z91jH{1dR&%DmemqlXaNDr9(m)r}bjvxLKS^t85)=r4 z2>{ZIDqSK)zMsu)}E;D z5%WI>mNwm<(D#Hc9Q~WAiLUi3>Zd-M>P+|DNdI7Z*-yk~ADHf3!bW5_>4o0P=!0gn zh>0bn1%V5D%6=zd*`A8W-Ga3e0v_&SWhjEZhq1Bh=ydh@%&t-qEl>= z03s0ki262UA~B{YPU3`%qBz-;N^PFnoYR+Fya{{kAqamdrrIlwtH^;l`8YAY!)?#Y zZWi+nm@hkQp9}%5g$<5@f%gd{$r*AqF?fFOa5Lf=>6pvm?HbU>u>f?K6VH9V< zJv5p82maF{7*2 zAx^aVjaNxJoHL6kjkSOGGk!c`Y2Bk^p9~jW2phF}?|19vNQ*X*z8@3Pna_!vzr$@j zv0YSfL@1rLSdcAS^xtgpc@f!WXx39%T3f+Tl!6cilJ(V35fm~044OSjQnbIk%+ptKiSxSy%#^eCk zQ*R~iLT@b?>UbkpB_;wpCw&K?R0Dx2tX$pSLpC-xh8t2L;9n{cARWOP81f7su_kZc z$%hA$l~xe>33lV0F*+>~d&wG4#Gc8dLGi!4+k$>Dk{ZTQC&vfp^in+XITkyMVXb^D?`w%;C(CgoeYdFv7bky?LA$cg6~>)m=jVPMTb_@vU=j-2Q3&yx`SAcb9pcTyd5@YbAT z1yAwBo*$Y3Uw~qVSu+ zr>}zQZo-6b9w{8!3uB*|I(o?8<%-*H6c^U6Q+b=VeB1jgY_Go>U4T~d8)k*X)~n>* zhm7?2OLwn_8S$wl)P2nC)FUysKNL*)ILza>r$Z=Ao^^>W@b6DgA`8=6za3 zeppf5z~YrInH9;$RCx{he<*9s)4!vFKUgECdA59B!Dk}1!}jC|4}WTB%kb1qEj_CE zmoba+W>4fg$p#s>^jEFO{_)+u$i<$?#@tAjsRXz}+pdv4S^J7XQSrQZQ~Upm;Gu#J z*mmvFKKh+js9K6CEMXU+Kf?Nng{?b}ZjK)90!JY&H0mSt(hQN-qjZ7MFbiHrE&U3m za~`3xOf5FVOORc4RppV#ZKTh%#^7V|^i2Hhb&`*e{Ne6}Oh#G$PWOkz$sVfLugoN~ z9etR6Pw#mqnSAE;8FB-O;eQP57&CRdOo6cb8fz2vzROep2o4X)dtS$X=vji{<5}k{ zpS1{G-zWl?+AAd(PaNq8vj36ZvY>~dEWWIr$6V;ktrEZC-#1ba5pNkRaspt+&Z2(ilH%G zFf3s!4@d~p<%lx2DMA}6{wv$Uny5ZURb=eOYg^|~Th)=*in^7Fy1>RJMwd|RxHfRf z%GfU4az2MR9E6Qd9I8L0{J+mgcJBTlR*Iw9nVor`=Y5{v^E|&FK3=cLpYe*)qaRIu zn$pX6j;Sxa@WnUt%d^z$ZXs{_?4a^qLllxrk-)0PDV{t`T{dQBk4xs|-s4G!8r-gZ zSYy%Ie(cq2YHWJt--$8A!$hj(&8GK}j0BbwL<>lZRoq7x#RB8A&Y||ZhV`?gnKgkhTIjGg1dzh-pkQ0^o zgi#JT4|?<7osc0qhYnR*e#xgG%nk)=DlJC6b!)9uY;@ulXZ(NT;meoGD3Iz^L*!!r z+EEHwzs+mW5TW|U7Pb~Ajj!x;8an}~YN;y{@`@Tnf(ngRL4Qyk`Ff-u?$|{B8#uGr zIoOthR~|1Pf8}_q{cLylKBc{B5*cO}WBDW0H-@8(OW!K2!4Wed9J@h(g7o5M{g--6 z3j>PYjsBkx#w%h(M2a6Gqp6nZ?v*x-5ZLH1C5&mBkrWv)=FuWxuLsGA?La{|># zkLN|zC)+h`o#!6D0i0*|)vMFHJ4>c5O&vt}XNzBs*!oA*(hu~^Pv{G45~*tmh#<-w zhJoWukFaUTGoK<)%ICi{%laCDUkR>2=PY;aKr&(t|8mVfJx^VY5)?G`{(}mEYh!OT z94|n01Cg4hkji;M#Oi%DnbNTb?ocy^wtfidi@Ms_i{B(1fVi{lB9`3?Z+ba3Pj7lo zpFyYsr_cKJ`^UA?nfWad0>t3$nLwE}C*G8@8~erw(Q!$FJb# zOxOnpX{$@n+oAXa=}7qJV`~3F*Ib>v_@Yi-5uX0`brx{rMxHjCT*+|0S6cT@$dP?` zf9Eo;EuB8DDCfviA>%3>w=zjF*nmBi8{z_oloK9n#Pg?0DvTO%TC|h|oTAARG$$oG zHwT!u*NNI37Pu*HaN2so=F$Sm5weMs+439Wx}trb@a!i@R5r=Jt^bnPnow+HqB|e8 zRAV%%glnJSOJxf`a3W`m*wuSZyBi$pk8I9G3(+_>t9PoQ>?4`GmJ9LzbhV0IcZ9x# zJyD)cFUQ#vVMN5R+-x=2h*bA4zmYgsA{O;#dHjjk6Vg~a?iu4~X}nIRU3~9}j97i3 z&Rn9@AqzweG&DHDm~H(~ucPj&Hi|w?ZlZRS{Vw2|{3wd`3dhI&XJVSa?5slbg=#;kRJ>%aCMwUo}r$q&!x zU2A_$R9U5W&*wLPWF<58p|KeG$z@P|>4x&*o^W+}>WqI-C%2zz!YieEPLdVB!a}p- zOZ9D#M87HfDU~*_XDI>a(jRoa8Pa0g2XSF`kAFF;cWB&-eWnwWm|#%{$E>FqJzvTr zpq!PeA2_-HMUG70*VSfxull6R2Rfe563Yb+d-!GFw^z0A(B^4eQ~5bv7aYznJNA`$ zTxZ;o<6T#bf%Xy&i0^lF(I->PUf#q$u*bJ|X8q1D)AKroKHGcNqU06jC6g^JVj%T} z$CG;k&l`yw%Ua$bZ~};B@U(8q870O?#e+ukd+H(qmKJjo&SJhI3G)F&D!7wRV(iIc z@pU%BJEVs$m3L~zitLu9F(3jqzLGb+W z8#F+wVE9Vsp{~x>$}j%~TGH-rEa)zt=R&Gx*|fV{SvFo}D|f z(bD@n4btnpGuk~Z@vxd-8iug6vdv)-oijx#ywhFzW#xO7q}M&A zYitWMhG^HoKtdzAOX>x#_dA|fK1>6$)byJ>Fjrs2Ohli;bslAEKk+IkGqdEWXfzCM znooBkBM`B%yESGN{Sv4);ue1E+D85k?vGu8< zz4AQ$vb#>qk&X8TP1aM19Mla#X5$UIB{3Afe|V1BV*$ut=;U$;fygX~O#aX(h5AaG7**wCDU?y2-cB;fE9XQ|DY4JJYcfVXH^A`(lk2 zwTMV@FAR?RJ3}SHnEfM8r(?Ap_6Leq>Pm&)8>2kwb`U1W34a6&#b^5tHv3EXXkMRC z#3mNCJl4!My$ld-UfYk2TH0U;Z=I1*%%~1>Fz|XVDw>nVyIwDO$VJJwtF4I{i49veu8l^72(DtZ>d_Xrvoosl)ua{`{C;lO zD-qi5sUlVIf)%s{q$>KHeDeZE&+@tM?!mq8FZoV1;@xSb0TTPu{KVENv77#-NScLf zJ%w0T)jg)!IYAG4Q|A(TUBQ0H=fe6n!9(%AA`qTzx#JOwB3vk0h};G-S~P`x;fVo4 z7VA&K!HFhfmy_g6VI-LUvQoP&jkWlwd18OFwzCgLP%$+A$%aLMVt3+OX6rB@%e&LZ zF(5(2DsWY~XGpDwd>i)h*O&<>1Mm>-JkE#=}8 zh8pk@5oqT|w<@@~tPG)`9bFs!+x6;ywyD*Bwcf1rdBQ@7D`>Drn4aikG&W}*iC`!; z3XlJvseeCOhHx<)}?fU}HAn z?`RszahQ~7KyA{uU{d zb%ij0ht~AN;oD!&sWHBs$2nGtXlOOR9by@}L00(=W&9fgFnN-3Yb$cw2MEFrl!z8R zkIt{xm2pQf5W6BIdfefbFn&{=tT0!Q-3EEhPqCaGrCRQ{XN7ACQ zH(M^xo-T~>3KHYNY?V^wgM@eFg15F`Imo0RE!+*6&^D~sxL9z{RsDDgrU1mHNHy*+ zRnAA|$RGhYULBQ5sJfPzXlE5(y23hRAI(6Ry3$;PpMKLYXI^-ib$ z-SXqKDZzw4g#Ub`a>!^DeT|@6Nj$}}BVP-gBgF$&5a+Z2-1gUj*)+1-9`R%tRATxN zzDmFoi3>)^mjI(GFQ<%ElB1JU26iw%wz-lD*@$dIz?dGxDtAK$Nl>^sMMm>78*x+b z7sJ<2gHE`+E_RVkk+Kluh2fp==c1jW0;&d#rVDV~%^5-efk&W+*&xWYP)It zo)gX@S<2vOwC1rEzuX&@C^pi_=h7DrtiF)ihZ7HV^&FaGnw|=B<(`6M0nyUo3q}ST zLZyfH+Q6AR(+KucdjQoM&?_wUnsRAMkGiA8zy zD6F6LDQ(xh9bYwI8i&-(%=`2C!Ei9RhjIC(+>GR588d$kucB?1xc&tF zFxb=3S)9!eV8}{;i0J#Cp_Y~zK3`t%eW@F|twQTEJ}(`nKK&3z;^i=D>NjEqMB4QV z*y}6q<_dM4u_;l4s#c40KmfM&DUz){qIDVZ>YiiTRPtq*jKObQ!+LrA310T;QG+5> z>zq}cX&H*w%6ZckwQ_prXx&kJ1TY~<E!9gE*e&W-~dga&A$b*X7@rO zliv5$>HX8Q;09I~{2-WB2feT+nYx4gktDZ1O@oLWApZD+!*1%dM0!L8Q1Zsf`xlxo z)3lO^`cVaV^c@};t|wr;Xv*qS0;pgs$;caxtaSOoY@8a`+Ym#E`*^uXwS7{eKmj^v z`k_%UtzNR#RT856&M|@^Nzv51AD*amHSK6^;+ga3S7-el4fys-lM#^ur+&(zk5aEJ z(ly1t7g3wdpv8H1`P>-?lgkes3Q{M&BF?Zbksy=6_}NDbq2MG9k@oNdV2zj>FD;=_ z^YR292In4^&_GsBXxj|q zBOxa#SAv_!OyKDrbx>XS;56q*r3`2Onhr`p5~G2|)G`NxJenl*qn9r|ZzKpXH>A*V z5V(%ZV{W8w@6gWf{p?hSFBFzo`~57tn{QP$=<>mCB}9WALC?7h6Ne{&qNfhM`8Gpb z>Yh=94q;J%ay;b1Zw2%qa2EoMQq?21k za4=hRhwog92Lb5pE>MfcXk&umc|uM$fG9nXl-Q=Jb3Rx^P4vNTeCgs5n9HhqtE!|Q z(!4hGpqS-+!}BmU;z1sgZ0=F?Wwt1WU^96=MdrHXPU|@FPa=Y$%w|Y+VTQDZxuoEZ z9(M{$;zLa}Oi$yNcBj{mh9Q_lf~FiI|DyYA6S}Vn)C$>9riNlAMcXE=?dg<@d9mkl z)3z4FZL2DbIwkTH!E30@xFOq#7K7bAojtz|H?f=W6sxWGee35z!MFD5vm){ZT@C{*9spc(OC(p2~iVa@XM zUl9urLXpdu=VcZEDnS?ge;lP^@ZYn~7VZCyz41sBb;F{;3E#=T=C79QcXDrZwA?z+ zJ;-2%fTeq^ox*Qu```5~CFxe}&Y1#DEE$5E9pD=~yi7`EFarMFMcanc^_nqHu!S7f zK!(#B1-VWOKoQ#O5=~y0>gf<0KitIGAvw2J=@(_G5%;lP=Q0Rf;OuUgDEKePi1}&w z{I&gp(UO_pw7>Jx+}X8P){iLI8s`OsZAME={hqq|VxDs+9Tw6Mk(dR)WHcA_Se=ni zpIwqldd}!08_d*XFkrD1?@h7vo={dteMK)dM{b$fS-a{aoIZVJBlS4f-h%%nWx6L) z$BhLH1QL0G+gDW~YTq10RaM3d5_ebCT=*BKwYBnHz=kB$_V&$Z&z@bL^cxZ|_{xfS zZAQ^|COGeJuElppY=)#N)yyx}=O&c1@eY|>6~oLZiY{QgS8$3dy~~m1n4_j)=uFLSFL`1Jf3Ea}kFh&S_Ylaf#ph&u^(;ZXy7DOJ%?6 zTfDwTa)@jb!-zq_35^VH5yVm1bq@#ebxM6_FK^Zj%dP6|i`Fog$-}$D45}GgM=VLx zax7iS_b3I@yTP%CI2v+(6bm2;SE=yZ^C|U?L-{iuaMt$&&8(?%r}S~W+z$QCjf4dI zjR8a51RFYz=xfhU#atSL)>?jP&VwIk(; z&-z5I|1(1N;OT|bkRnCBp}`u-C^wR1UcyPhVQoZ+SeNx%#5UxA=J1>N;cuiCp?b6` zd4~_P_bk)+SZdsf_G+fJ*$b+ErKkKh3F)nFOFbLt>vJ;pa`*21BY|!mU(V_(857bB zKwqh^A7gnq`mv-zsBdk;1%*`m<2iY2pMM|283kx-gz?udQLZajVpJg7Y63`eh+8CB zGnW4&J7Z;0*ryONLQMptGj==E!Qoe~u4;Zw@BHB=wKU%6LzT2tLW#F!4J5pPJ}@p> zdBKhEs;L1!^(<3&pQC=@MAfxiCrglcz}A_RyS6%@i%FjovWjn82l3`XdXDn@diCff zLyzk$FJmWpSv+FxD%#(1deskn0qAtH-ImHaHLr#IXzZ{%D3rt^%D!|L&F?If@e}e6 zm7TnFtur*1|Iw+zFHA>TG36Qx7wYSu=xWFqUDHujxt|@m?Skr>j&WE_-eB(}FZp$x zYKeZtp_LEnjOmiGMBqUxq)AB1`2}74iYk8Pl{-+}u7VH(NB*(olM=R&sJhX~hO!VU znqA21DsJ`be6l{?<f?43V*qaiDx&C(Z31fQV$wmZz2vjc(Y0wT(3JZ0MdI_UXVW zD^>~~-5io|IA%W;joX_YFU8YC2*MeYW4ym`lE#4%w(rJb2cO&#Ct&tUE1OeC_2O*2 z&Ndc;;PNxNqvH(hRcQ+LsKA&>wc`=?c2n)xO9&4|Nli%X^ErPX0>v!WN1VP&{uLRF zNQhTzya;c<`g`aTq*ceJL7v0qI3 zBsz}evP#ix{_GuILp|Y{5CSNtiS=d9_wOQy>1#r1K357=!=8~Q-k2?#8OiapAz42^ za@il7rxo4RQ>JgY7(Tf0ZS3PvH+l_oMB894qs&F7fsc^}ljeuQOBIDTj@>~4kF6ow-WvbS_@6_(E8Bx&YA>};h2d3~9 zpkxHd_w;nqW`hm~?sr8w)X>bVJ&wr}u}3U5{qDQs3uKI;XlH{(L1Hi%jDDMF^V>$Q zK4bkp8C#1UpLZ{2v>TiX+mzo7jr9Tlfv5GEj!4O}vdEUx(mEyf+#)vFv<^>T|AR9E zDt^6Mq!KZ^=W5#pG2*TZtcV5s`K9qk;oXrQCnw~ePY3l1Kf$7JfP#!sAmc4Ya7%cVk+giq~^8KyLB@}*f@ckaW&;4~jc z>~f)W?a&P4&XgD(mpmjW)em9yW|gRf?WIR*NZ}ux+kzx>r_inOW_RcmV09e zmhS8+%$lVDN3!+0nI+;3^{N^n^@AEK=JuTK>e$|6~5U6S3OM zZs+CjEx?hOgSo4bkidZbtY=$0_*d)^NO-%xB-F(9aaycTQIwTnV9=b}N3E+uf(A~N z&_6k6flIR_>Yiuwy&b@PbVv==O|m_OAn*qD;k)X?b87U;71iYNHFx~&ti{<4BX&>z zWZ=%g!(%J`R*HcPvU5Y_>vsP*EAN}xM~%o1OW0JL9XX$btCtn@ zA?%xKWK{iB_PS>ASpq)B0@xK9PjYCt;lYmjwb^SknFj4=GP*6pPfVeyrl9w{Y8fB3 zBO`rw=_7u)+&XS>0cO=va`vc?w@xK-nN=rY27jjb>QnXg4fPFLNWn?M?e{leB}22= zG__{D1Mz_9%`MRfDM`D$MG$X|F7&clYbHK9CeM=ALT5O7j#K~YiD%!Z)oJv#k&hYA zvss~zdqE~~r7<66T-xD^$73hV*wOcrZx4ook@~xd4R^z%ltW$ztQT%V#2G(U_jsqz z!Hcez0hF-0S$}oJU=Ws;9G*UdA55*JYSHESR135NPT&RCSl$3*Vd*y2vOxt;s)vdE8wB~hHL8L*^EOMdDcYXgt{4;U2#dB942Q5EWO}U~N(kv^!YI zGDa7ZDMvg5tMK}aDp38{wdv*1x}g)Cp(W=DG0m3=#PBxK7l@kGta;z3dfYEf%UeI8 z{J&rLohDd9u1^e^z`8W>_cXhQPtLtX=oRiE!}5F8Fp&n%YfrXGj=WD@bvL~``yK_P zf5@!?{c%Tsv@0#Hq+>m8z9+2aEBi-u4uMM$gt)&ep&!EsdoX*H!Z_`*9v!QP!isHJ zJNl(jqRkOw>d(}NqsrZGwRU;xLr=}0JHE$Mr6`Zj`J$2gZ?Xk_XO!Ibv{J`pcnIw2 zs3P7|eA?E~`d>mA1g(MA2WzUzW!6R^zU%ogYE8W2cs;r6%ltZWaZHsc9B%lRhnROp zLhGkGt6KTDa9TY^pjq{vQ^n!o51ShIh}mCHR$NTQ%@ulF8lR%I08R^Pk8OUSelJo3 z#r5a9kOx_>ylFkvJFb5c*SE^>f7Y?LpTzd{H;-g7;=c|0pTY9}*~yIHc-Sc*fl(g| zbBG^+SJ;d)U1>6EL{R7yJEmC#*=J~6&dR@RQ%-d$EsS<-M>^c-W@+u7nl)eJznVqm zN8fwtoMrv~IPrN{dob7dP6=V1%+TXTlE$}6l;0G(ua9&(&G7vD5E6v{Q|HP7ji&vIWYa#1k6(w3a-Du zJ3oDa_&DBU+!{7t{P9QM-lh`6X>mG166-D6<8K=#|Hk$G@sQCa^FX!8Lj`qF_t7Az ziN^BrVQ9gkj;dNuU-6?>mC6ZPLGuwG|IS8PyV7Ym&GVWxgIwQOYOPVsB~xQFxf+D! z2LFHBTw#!_Z{4H*oThr~he4=vI1+Xi6oZ`6_Fbf9jN!8Y&jOXHh0k&~0J~x?qNzl} zF~LD^?$uva{pI20=x?eTkk=qef5nLXFyB3r_u>*{yJM(4ucGvBZR(9%(VoN8p!xA= z&!sCydw$Q1`0Y{kKLA-GHeQ2yMcqe7*5Oha?Lq-8RHt;ziW9hnHsSExsI1l(xRm)~ z-}03knP1h{KLYi?-W31Hgs3nOXG^k6gguaV#=GVb>$YyH+d}35Wtw;awnUQiwy00}{yASKz7Y>&T}+wpfxoW; zSPl`EC9`0ry+!funyHL-%J1*0UVThW(n)x+Kgk|Jwliz3%Zg!fM)fr}u zEnUH5Ryi(k)amuZtVH0Suli5U0!g3nKjlZSP13?o@rFBfQBmSLe-XWRvzuSd%ZuK` zM-gu%`KcsytaoZd?fK0aYPvg>Y7cQMP!v#le!ul$Ug}@x#bnI(X8nmiYqDtno@3}g z(4W{Dl=MyT>pkxLq&-Z#Ivu?B9+$Iw)9i!)@w%8EcHaD$O=aSkv?I!(4Z>tM{rYt%nW4M*@n-ECPP9 z@}eWzDq+%7%2_DpgAF_O*9`VN!M7{}t1-8qx$Ct+hCeZ%;NOyLhW0kMVad9d9VR?c z(XOvgSXS8!ZKi;Bov*FR90G;e?PH>^Sb9tX2m5EwohBlk5-!b^_mVaqLcu$~`82V} zXb^BRvqiaGQMFE5eplB%j>NhB&$r76HRQ$mlP3mbXhE9)^Y>oKVttf?>}K`(2IVi4 z$&6sTa*LI!rk@Sdb;$CjvVX$7GS{6kWz}SoR6MrXx3)9}xwfcSR>YMiDj+f|OTQAT zLjskMx^n~bXWFCDx(JxjxF47mr#h-^l<656T)WxYp9{R{>3jNK`m_Azx89oeW=em0 zv$*^pJ0vc#FXfNi=U(Va$4jMByoanXw`*rQmPqQ1{fof<1<$}V=>Q{5mbE|Euu#_* z#1|tonlgkRqbFW^497Z^lHKB*Oldl9;W!d@m9$&fFE;8FvjgB$sP3Y6r270My07L= z9z4-LJ%zHxRBc9HGFn~Nwuw~M?Z}c?8jB?s-Jsr?hE%h*t3()DQgtOy>WB#^YAm6u z`y+En&m4|1yiFkECxVrdd9HLwZP9r!@{TpyjaGQK8tx_-Y+aQ})Rt*EV`dh`6dQfG z>pu=aEu2UR--06S;O=P=v>csQh)SxT-gA!vtL=xI@A_Rytde$3LQG>jaiZ=V!W4?6 znuux@?`duAx<}>51&fUO-n2!6Sqg*9lLVO!`ac7~jqzC6UE8mYGi@xnrM>f`G?4;* z7+tO-3ZuG_h^L86--hyP_AMSUA|nHJFbSwOD&7lns-+2k_Wl{QOGIVBtq zm(`apSS)kC#_XSSsdov3`*L&WS=C&Ar=$6B`EZEiR7ja6&t!`zL?iL+R7E#jaoeZo zj@7TTv5y)J`l&?kNw@L1AV_;rU%lqNZ zC2w`brS13k8mx1QioW1Y_}dBv4EaURFBZ?eN7oO|wMx;lV1}JDThu?f9c6kC1`wC5 z-0sifF|Ab8fUh&SD*0zz#YgXzg4`JNXht0DXM*J-7EXQ#Pg4LaBu4< z3KMqj>gmz*)v+4(*u`z*VtGi-bt|{~o;~%d8#48T-r86FeosRv^hOWi4dPDxzPdg< z{LyD4;S+N(z2Y5oAJ1NPYCCfP`>f*b0{cxMX=Mxb`F~W~1$ba9gBQt5x zx8i5TU}#PJX7=gu9qz_%YO$M02GL=RP>b2o`5#I#Rah6dpG^o3zdPUa%`9h&krZOT z+oSbP{}^MT_5A7v=Fa7SDrH|jL@K0u3;MNA((*Wc#K~;tE@+oywW?HY~@S5Tajn#9rH!cC+H13LG>yq zMwYtiILo!?lgMPz*ln(6!Xrg3m_|$;<6$K48|IA9^{h#paK|H~1gu35LTYgDKzTC* zhPl{vnd6tZDzEBB>V`(_K;@z;#|#~F2ulB>`R|qfKC>Wf^RF-h+1AF^avjU^Gr6U% zwGOg6?mZ?7UXiM^4>nO^id=g3a=pHW4rwTMYh#|XJi2U_LPZTh5+Pe!IC&#S(UI(l z=TT36pwfxggI8uL&lB^`IcAFOGs3oLeZPNHbWv}_NT=$xAK@b;D!_DP?Aup`Z->X? z%h=2jeO-r;pI4_yqHJP}wSQj@m4BcSz_j>Vt%J(d(@4}$W_CZVDC7M|fctQX-4c+5c-30aOXL4v} zjdXXmFYV@mn9lU&V&?v35H>RnLMXX=SA3}|{eQxD)i@`Qzq5!wYf#0XKy}`Qv)p(<-9(csS2!T^8XJ_sKKKz z>-*+;p8E**CQ47Jchs2T7CGZbiJ-4h%ScShX}xb>WkS|6&(JM*c2S9N?VVL4Ix@n` z7Hd-~m4fX3*%%3_kfDzm@1@dfUk?reHi(V^{m*>1?$Pjk45tD#EHAd)36S3?%nxgvDZ^C#>UtZBo23#v+0cgE2Tcj zshSXOj1CS0-&ql=#;(_cmdX}>kHO~-p@)FqEHWxAypkDx+8I&@V{!Z*2R)*}`8imu5d6aZYQ{fl;mQ zwL6RZ##87krFx!JLqtGJU~Db~NXt&_I|jucH<$L4q-v?VF&-@nYrAeZfB5S3l;{a$ zGkWh(HlFS|`PiOK$LIy;GgK=3*k&h|HQd(H^d?*C8ujXl%GGJL`M*vmFZz3IjKZrJ z$-ZJMV0&+NOMz&xZCc;2P7J*yG$PM!ZG}`@x%9r*lq4B{26dfiN#~}$24SEWnRYvW zlLz~@h6XZ59MEFq$dJnAO=2D{*4itpX*V~hWIT^d!SlvimY-~~5%mQj2~W&%p^CkP z4C2?#4~Eq+afV$oDoEY458lMD8{EAqZIbt?z|eooK8~8Uk@zqoj*}Nx8~fZ#SG%r) zrGXld2_aS(IN$HDd-;d}eG=(3b>bolHNqGpp$;`N&oBos{AQjb^Da4f7~=K0UZe_& zZm%9K*3>c{*^y(Z)-%_CB#-w!NUYJI21Ao%#3;6cQD50mw(ibnsRMu)r3kW&l&DxR zUE@R(=b`FOSUtxkHp^go(Fp{t+WX~<8*%X#o27SUr-Um)>t~uP1KA*Co}e16f!i%G zLgY2mli4^|?&lgy*qZ0(ZspaH#msF8@&y%$U9B4;-kutN|8wu3-_HSdr0~KsmH7H6 z^n;eY%dzxv;MTmglY1`)X_5E{=E^I%mQ@JUb3QE>#@N^xVY7@gaGUtS$;2W!{QH*r z&gyO~PuyDSSdC%q!vLd3<9l-{_3*05NrrxghCI`032n|fo$CFoXUuB}BtK27O*5v3 z8i&%~?u4?<7|{=eyv_&zi1tFG;txBg(T}K45q98( z6FP1;PigzYlx?ZMNd<=6eHADOHz#TNwC6Z5Iw9B)w&E7|P!)*t_s>{3 zG3(Q$+VDbkmVR?&y5}m*jD+X)4x8<-Z!p&4iD?ni+wp{#<+WFqIz$4M{AZa5`UTop z3{w&29U(4)-Anflx~`yjex2$k`2dvorl%iBL3vk`(f_4DuAm0@?D;_sj=G+z^0LR~ zRqKYUv|CdAZ(<~nF3^-}Hh7<2=E3IPci8}JOj+@P!4ypjW)m+mEF=rP&)IB>pobJc zVyl#5c%#Zx%c{m{@L2^V#RO4ghwKsO(R16{$;ke)ZP{^BrSmGx# zEA;Q2hz+Sds#=kNJthg*kg<&BU!qGs5V0k(>P~e^DsteY`q1Zdi)htIJaEU;`tHmE zwx+wg)UPBe{NR=RW*$3PkC}WlwL3omC_<5)HtR1$YZW%PpDk4k^wEz%6vqpTFv+7)mw?AsA5Ap*dgR%I@E!aiy zisY~Ub;hSvi``(B4Ec7y19`eNR(6eb_S>Xc^bO9YKV(A%LcZYDsW22M=wcv#;|Uc; zdM5iJ4tYE=t6mzj?fY&N&5vz@@ll@^^6D*Vh@sk%?}H(k)M}~{s2>(1E-ku75V8L` z{!Aj&M@-Y*PiEcW{Au@*{!r1o!9oMAr<@byt)2>lO56PRe%hMfTsmipk5G3G5> zmM9(T+pOK`k^r_wG)f1JPtPZ9M)n^iEA>XA(>ikcYDnI6>h$zzPW%=R>on(O1_Kyg zo4rQ@Srjj>EwO9H%!8hJX#wxG%!s^MP8;sw`?{7I3|;9@4?D%@%PRNyabpQ7&bEB> z2X2O`qkiQ@WH7Jz(_{f-_?4(rhglb%=;3K8TEcPF1pI)(uNeigSyeEc=i<3F${l~P z6)$&0B~uzMVs)TTNo*Hy{#bT?xfv<3Efob(dTc49=YhAB+Q=g0m1|X#F9{QH0M@s= z1KyL0FKt?Mdwp_U*o}D``|TYEv+L zzn!&01}xh3l@eveNT=(ylN}ioxb)qn!i$$AsTvORq)U<~iR26B;eaqCBai3PWCoks z+GM9C`aLm}wN6L0V_)VM@#!R0?fLYC>v`6vVm37Yv{|egKL%IxUi5d^dfWk3C>In? zF{f7e!a`7Qm%F;uwPM(sDdD4%@?5kIe2KEx1o0B%IF-%#d zI%QcW(pu+E!dD~a!OYfmRe|tIC$ycIRWe*4kw!lUHUlgxSU}7f^`F#a@$TaD9&qv! z>(@nlLU8)k!Ue(q-6R{|OgffXV;kEtNO(bkcTMrr#Z%))r8&hPQH__oFqyvUx586` zuf%$0^$`6j-2=u6&rc-LUpF@9^gs2~>#z4*9u}B@1jN=~o0{W}*S#cZQYx4J0zb|W zEOn-tQq#FOl&a5V<^4Iv$lENO6>wm2(4n0EtNi+X3uJeYDeJE_fUAeZ4U@CbCKOLxid zQZ)hjG#05b`}-)Zo9b>{(N;gJP|_pqAdof^*HspUI*tX)lI*6FwLP+dn3273t!>^& zV@#+QKA8&aW%LSxYv}Wzro9u%L9E*}T&TY?RfPpN1o*6Ewt=#erPF7{p_yj4 z_`+Dq;hmcZ6_?R)kba+=F9UbQdS~=2I0j23+$8==t;t%>GTg3TBS58R5$wGUZJ?{U>{jbIY^E0PNpqPe&OX zUAz0-?BUq%!gPT=rup>r$ZR-Pa@H8FrX(~(+cTS_L}#aTq9^vcLiRB-Z!r*F0gi}5 zHkOfI_+pXraE;XXEKusR#k23ld#6Hux8?uv^23CqYj=SZt9klw*wf|$uGw6wI1AM{ z@^Fpn+i#CjV$Ahk;)X=0uSTlDW#$C0e~~Y$Qj?oD>M@hNb0ox5d;fZ$emSY~*LlP0 z!RJn1H{9sSaP}RMLFuJ5zaR7V?y0Zj>k0FW4a;OX5q7z6=YsDIW%ZU)o|*tD&2%IW z*I}$hrG9hmz8`w^jq>O#3!=}>-qSGpN*lpQFmG`Lqahcma;8!X)(O%e`xB3M5o+->EmM$?7TqIdFvu0rlSxa;x)QYDq^p7f82a@$a{Ferfg*L| z$MlFSkjyw1arG400YMe)ufs?BCVwKPz~(y?*WxMt7T)TkeQ`PgmyZIWtgj>&tT3)urRC_YdZpw*sHpU*bve`_*(ATpy^MtX>w$uy1I{vJtvghBKl zu|AosIAFgBg*2#}g9AE^KQWA4LhlzTs>GLYpTHNF< zO$QJ=gndB$NHNdfj`Q8;fzY~5sn}|FO8?1R0?b-ZD2wes-@LH7S^7{Fm+0RFx}CGP(~r&DZVNr~kkm z$$jrS_Ydge(TPDzT}w?|r)(?uRQ^yZJ({7~L+I+H8=t#byuMXz4F4XTV4Z!*fx&Q1 zRc95sT}-xD0G1>7^J2hS?( zRM%Hx-dCi*sA$RAhSt4LP3?@LO>`wUMMi*xI52pQMxR9I^i?A@XA(_f2swpM!{DNo zf~;crZ4%{F-`X&1J#P=n zr4RaW&IT2oIODkN^1bSFzD;sBdg^>l?d^ zE+?TnThW_m+|og|#LGLo_6FQUeylwhH>_T_y0hyonL^LeY&Y7%a;uL^<>39Fo%zx%?&83~G-7#n1s?{b`#F`2M3?Vq=U z;-2%*>d%S}_Sv&WY*rlfn)xs-v*R222{m|%^~pAm3IS@&`bZU;C%*osEPSFveGAX# zL2Zm*LPt?N5Lo6&L#xY(x|X zrLLgPC3RF*>FR31->mCsQX-EgLv@3v(+z)-Bj)9Qip)x+ju=6vUyn+8c*Mv_s{uO4 zZMRhB4wUa7($b?p1Hktqj#Q=@F#$5-0EIx0E7WtumW@;U+Kr#8vno8<>`6H*7q|yz z`%C5s+K_p4e}aa327BE1GKqp;p=04gO2$VLrEQ6!3E46tW1usM zs*6w3gkU6MLNG4AOukD1gJ0f4pjd&Gb9dItwnR4CiD=MR6EJC^^$_;v`^x{iq#N5* zsf~y>d6GN(|#oC+-$D7J|cCD*pu~{~e zj*A_h5GU8y`*6zcG7@g%q|~+k5QoEuSJvHQk48t-Ge2wA6X_V&{TI* zdMcw^r(jFDhFajsx|+WIbJpFH?K&83aFSaL%4$ZRs1bT2j(n59)>7cqU+QF z9ijC#qFb9twL}wwbulOU3A1uqe{=kq7P+~}4OeKO>kC7iuvw&$)q-oJ5xR*Y_-NBt z%I#$VY(7tY;B6Uh2eFjoPp=~9L$1!>_di-WiMEa$ywEKmkMRg^i`9TSmNpC#gIap) za6+1aBVs8khvcgwq{mY{c$5K5gWC}rnOu&LEK})SLU}oD-%D5Wt8C`ZvCT;+1&k!R zuydN6R?1lxN^zzKBI09xp|VgVtaZ0C z_HT%>IaZyBpO4Yl_fv2+hbh&%+i|-#4lJA(mzYBe-rzW_FaR??U8JD!?-ITi{d;bp1e3u zlBt|yMGDzqRCXaU*9Lt`<`+`7Pz%et9lCO%L%!o94}>kNTNUDiiImr3W%oO9Y$`5i zf|xLtPpYD@J6ZeH5f%{!oh?rYy|0GJ6D_-Ib&aznN;v<@Y^{879mSVCS2NjH|M zw>z=s{9DUh{TL1|WFwB&^xD=v)CHSqL0=HkG40}WZA|C9(nVu$?n+w;_;6Jf_uOK6 zMnW6aYT3j}(BO;8z4F5mHRJip^H)^$JgNVviSClY)Zb!IPU!u1cQPSyw{fV74g`4r z2qFmHW0~ar$t<3ulzITE_74(zvX~f58E3(Uu3Th+bKk|>!~K!h`X!)VX|`In5}w)i zMGAEXy*j1!L(*kCe*Ch2D9aBqeRp!?{_Z@Djf~X5!ccxYNLNihE)5XJ%S-`3kxCh! z>th$h(ed~mkDDh$0tE(O{;ac9IY4eT6Qzziz zlLOq2_O3Xe*u|o1^xt5(Msa7mwJv4SG^jW!$pybvZpIdc%8&5sO(Xu6zDeo-rE6YW z6{gyVR>&3U4c6p6C?YtE!#jr0IWg4L{?4ZRv8E=UiN$y56@|@`+YXjkvpau$u3k|m zEj{gS#|wKmIBpL%ze;3ytAv!LI_W!Vhs%^h`PNDqYX2n4Ky1CYB9&QLqf7H z1|1#pDXjE*VTkz}yviaz9jCr2J!VFMAg%*-zHzq@a?y^_8>-k+bt zS1!%g+bx~Y$HL$dzBR;J?{#DDJL>J&%;lvsx7=A-fd%snX!gn;O$tkWo!r=3-hfN} z!=Tz1mJcG6T|PYB*;KaWgZ2F?XJ%6my3^nzvGzqr;g*G;CGfhg(E6-(?;DOH6Hr-nPrv~@t|KV8@* z+gisM)-?r&-Z_Hzbx&Ltz6oY!PZ9)~eW1rFV%Jlnc5e>$Z>kuG3`*RT(|z} zul64dLD!Ti5nXz1ln^&vKWiD(+4s~?nu@vuo5PJ6mUvNZI)w4qBVa(*a!TbJ-IKSu z>1r@Y5VGEoH@>PiyI+NwTbzv^7YR~bteR;ny=XR-P6}{KVE_0gpAlESro#<5SK~yN zG-Kp{DeL6UW--=$CZxZ^xzQiM%aFW89V44RQ;tT-K6hA??3_--vHy|Y$gi3AV;M%_ zEm{2MYWLyiC8l2NNa1jFun^mQ@>It=ZufDaaAF$MS|^Bpf-VE<*Ly}1NO8fBb2MBj zyRVcl&gD-D`fNsUT1~PSVR(xnb3aRAPFi|PwY9Y&gz~Mz7dGdOjry4KowkzPoKz@4SH(Q_Q@5N z?BJwS&apmr_IbUDdu^ju34+MY@K^QrCj|hTEoQ!Sh_&obZhGCUp^elzwgMZwo|d?3 zHU7RqD}Y*K{RQR+(xLXK${KCrF&av`b%K z&-)=-wA}14Z#5ftA534IjoiWrVvv+biKg3FtT@S!ks** z*4bH~?t#N`Zs$B`OzdYk)8PS|oh2wZPgTQPw$7e8Sp4zp{Ha}1uUCXGBTMwH;#i|; zSEVzH4x7f)gl~OrTNwSRTY@|4@P%ojw|EF>MNfwP64jsBWQ>b;y@aN^cLWP{H{RNn zKJKQE>z5paNHZ>MCzeyCV1x>SDzuHQO{8t2gDpVF=%}jujs6e*b%myqpquQ1G)Gl0 zAbb!JQobNPxi!xO5MM62(o}R^bEyr}y}8-QD+?9QghdX9C3(T2P`#LZ3gz+y7FAUi zSzI!lZTsghgi=u7a-UwO*qdq1oNa5_5qgsLQ(dP)4ir%{Hbfv3+QwtDlfm$XX(XUZ zBFzn)@GhJpH-Tgy!<@-x(}l=oM9(l)oZb_Nx&$uh9DfqC`x}cmL4uBV@SG_ zc961N*@=3%#3*dMb4g%;(W|)sBE>8#&Gz%NC4=ksC0jtpQ z(7yIIYI)G5!PCV>#oX7P$xW8-wb;|%3;~El?iZ5f8}o{7?D@TpwGdWHxpH&3AH)Q+ z3sJqlXPdH85>Id_OCM<--{vN4Kem~LVZ#zoXsD65=H!F>z=2!V_1V8qhzFqRo zCDiAN3D6Y|$}zl_6UGE-G@@pbw8qBj84R*l#A(*-m-p-I!?HqbV=ETDwPh83Ogxc? zkfPT$(O+Rg{<`9X-?;rd^c8qzZx^_lRr|cXf2i@J5ppLr+H&)p8uB6dKj9 zR6afgCt4V-r1!V&EJ%ph077FL)%3GT8#f;AM>SoCT03(;?!uxzxS|R}A9SmCq8}U% zjL?E(?iNX%vj0j;LI~UC>Ja}NfbtxBvvMJnF>7AjEVa9%)Pd3hSVq)`#s`x#61ThA^<4kPaA< zd=~9HK7Ck68@b0}d_BAHVn#Inj+;Fxi*U%Vbs8Weuh96jQLwLETJ|-TZ$5WJc(0!+ zr|-LaW3#84f84G2@Q^}j32L--reD4$lOkz$woP0n@l|iu#_WT=)?k#Zo)3nL<|*bd zFnf!YwN;D5Xf{QNY>6l`yWy}g=GcqYPNj73Sv=4zhA3Ma(cKX%vFTHpZ416UAuqL; zXPkpg*}8k(_s;Iau{i3Qv&G{}o$d=)jKxkI353PQ2_~P(423#LXZ6Y5`DC`Hmf&zh zRW_R>@tQeuuyF85>0%i))bV`xJ!zG;Kr*>EX`*g2hKF(l0ZR~MOx2}Qv`xg;zOOeN zu=N^Lf#PFoKHK+DXC+zf4L6b%VJm~|JvS+L%$%5Du_wnjA5_{&K2(|7Vt0vrN z=z4#hth=cUuTYWcS#H2+3gls)CIBzxKdC%6;4z-ZSY?rWVraBD8X|%sWjc~(!7Zbc z0sE;Y*BU90g3b7I0~1`hz>1+#p4we1_efaC4XV@ZgKef;>}#LDYEzh)QhjDWa?v&n?*=%ltRHExei8tqQcV>H#sj*L9MImn_!63)hvC?x+pcNKa?2ws>w?4rHkUeg z;!TPl6n28iR#18D`+TwZ$Pnc!N4AVD`sSJ{+j=2{6hQZ~+cNi$l$fJ1MoO8aLoFR@ zu2Ia>vCPO|N*b-ir+h$z&(TAJY-aj1Ma8%&p`(#_)Sg(Dy}ZKyx0Bfwc5uVwwt969 zX5}N-h2O;CIn3n=VAA4za1`XiY00cfjVPxiD^ynZpfR+oF`Ml-{x(GTGgv#%G&WF{ zakX2`o#m&|e7`@}oLZ!a(a4TuwcAvQHV6P2TPwEnBzX|VJWOv(^}ocOFcq?7606uW zX=wl|n(f~qk~2-uQu>`Bf(wsZJ&%W<^7BV7o@+;QAXIP6lEh6b!~5`6Z-)lCs2@;bcG<- zKI?K_UB?IGMOQpld1!q<@2nu{vDUl7?Ci|W@Av+H-|sh>u#GO-Lb=uF#%UHVw!UK^ zmwCz9ap+g1ArHd&c_70_SEqV@6N8Pl6dx}$l2)uB4{32+^tX~7i9nDB6B5s$z2f~% z(l6(DGAD0>YpUnnGr_ow3|Q9VWCATKrL1GZ2bd}6DBN0YO~hYGpAUo-`mBxS=FUE2 zmU}MumX{%)WHFAsj=I?og`6vf%IitVvWM68%WHVN+BKK>~2iWFJ9Qa?o zw&CNG?40P6t7Bpof5yZ)iW{rT0=cpC>qeu)l^w;agD|fswBwOEgeMDeJR)*MCdZOqu3r}qHUA`+LYkcQiZ|+j^@%)4Y zc=muA4sxEhpXmjP7RI4^p}8=#R+EDDk|dSwZk_ zS%^Hq+BA#|c-eDTs=b{=qmj=rpQ^VDXiECw)uhQnYI$%BP$^WHqm+&*DzD7m$GbkI zzgUJ;C7C8SKl%3=R|(t#fBr_@MzTnzcSmM!E{KI{qQJYMd{$SJh77 zvq%<@hLdQR222X1Ao1M-&96a+V%P38xKYVb-QrW-IHYuI7X>9_(XsNk^lb(|dg;}} zos{7jy{D9EUef%#fKaOBu(iib-iR#pA`3n}6*9yijr0+(w;Q@tJ8~>yPfp@urM_60VYiPsPl9>F`EJ|yq4{2JIi`y&;6IZ=38-#Q4-yx-?3sAK#cNEFH|zNLk+KKNDEr@%!&`nT-i zb(NJ3;@R|+z@19g(!qkP3_$s=UfT<}?-{jLUUv4<59I7=?YPzWLo8UxM#634QriA? zG(Y!(@4EC_(@|O!cM7qN@JXq%<*gI61o@>=wB_zNZO$OQaXgd} zCH{lIc=k<6Kegz#SnToB2Z)XzKi)BE8!gzLv!sRPUBC5sAwQy?9L%`!%2Fxw=}*zi zy9WB5gU7v4Rip1urz_sA-b-MiVu}16pkh~4R8`IUZ^%tVoaH@C&n(xU7g8WCP%K2v zk8GAeh`C6Y4(3#3kU!Oi(E}SBd%G$ECikvPeAl}@XKiEgL7((u`JvyN==T3kzUSTR$u)n`jPN`gV9H!Nq+RXV>1$yN??5!ZZm!T z0rP>yG@j*VBE58Kl~2(>p>&$9yqW;E%Fnmh53gQL^TAGUF^*b*JHHfls}qBls^U81 zq;pW>L?KI%S-1HeUSOHc_2IBv!avn(r<(=>}A#ATGBoI#Q5sjEI6YPyPJXm ziBDI5`tP!tI>G{BPGHy1!`wHFf~P}jDbqBQJQ%=ptF|*jk*?`C3pbnBH~(&)vv}U^ z9(1<+5;S>JnbkIgG^N#=`zg4O#?wl8io~nU-9z_<{IkGkGp8b!Wd?AZiZm4)+v+x5 zpI`VBSO`(%{2I@A`cExsl49BL-T>v%+n>JU`e9W!y+7+ubH}kRXssgS0I!w}fE;R{ z=)v%<2{2pr&M{r#4}kta)kH@ZGnH;H052IgSKbPaPcTTRJ!>y?t^cY(G{jAm2TD%Q zc$oRC*fCIX(`mb@LC4qlfuZ3zIaoe|@HD{1yUHFX*`#}WLmL(v3Jc$GTJKZ-wK)Nn zAGX}N%!l>H;D)B8TDHg8>`13?tUxm6T)}EqYN}9Ft^SW2s@&w4`1arB@9*>XNATk$ zo(r})IqW~{PDqcwXeh%kIs;v%?mm7g^r{znyKK7hajhc%s3JE8kEc}RGYTu(el(Q_ z@1T3Zo7dWA-2%a6_tY39n?kgS*8GqdhRU0`R^2X~C-M_ZCXm;A762PR|EH#+yQ+e^ z81HgGqW2+**uxeM+Yy=(1|4u&Iv|g0yU=O_Pq`SLUi~Jzq`DeGL(X~{*`!cP2rY$7 zP*;2cJ;uI^b^`ZCB3CxTZyvqGuT!i;oL24ayjz7*sy|>+5#^VPypy#fS=*l}q}U%b zwK|0~h6ge%fc*4URq;_@fJuOYlYU;g#;6g&?1=v=y$sZUPSV)GE?a8gza&@*VFL4) z>pA1!a6Zr)Lss5Ji%6=~pEbw@HTPyB_P(iP;r^>Fv=?FCb0$xy;hxQ1!o=u*KyNrSmke{8Cph%jQLA*PQXx9vL9tQdChsbu#iuirIi8#8In zME9DIclzEIBRV4#b%xxW9~v3`0_pbax#OiEdNc%xh17<^_xd;Xz_lAx4}InMO-UM+ z`Q>>A45-)$55&LlbRfK++KoRjAD@ivX$w5QwEll0>Z>z)Ih`kbc0CQ)fk!Pp|I|m= zX?aTlyc!Mr7fIU!we~}Lab6wc!pLQ}h%QIPJ}Pl)xBd~Zgf9?l8G@;0Sa&jk#fQz! zWh{o@B0zPAt@b=_)<$#TVk}sGA9<$)<|G=#Iahl(SY$%y97*noiYdRIOr6AatO91f zEQQ06Jk;>F_bzQ-qt3PLs(u`Y6=VAhi?M(9>|rkH;~)xEHWUOlNL9lw92HJRzJ#}o zJrJxu_1bxb8LhBh5BMl5a8lww6Y8`1py>1)I$D_=Z%n6m9GhHjoxa+Unwp=f7foA9 zMJ|)=!cflb@x(C1=YtlH5Qh5@hY`mbR6v}99s|^>2$UEJ`O}e99d&`14xFBF+Zjpe z-`pi}5*rQ{qm17;=hKy6I##w|a;zL_D2*Gq4L8uw*s-}58JAs|-OTAjfqX|(NpU(z zVZ>iVW&QFuA(qHg!YoN>>u$u^#gf|CYgS4(NzaMvSNQH7*MR@ZSy6U!Ua@5#y&$RL z&dawc;Wa=9#0fbI8jb{G$M`>XL+fCY@f9I5yC6A zne+l-e;i+DF)7gO9jsKn{+IetNmDG5>)AkH$}b__q*ow}%S0GI;X;5!_+O5G7Doo? z-ev_C)?h)Rp~)m@tde9X6aY0y11PtG8^PJKwmt8S_v$;Cq{o|kg;r7vM=*lTLZing zC!Z=9XY{9)8ti@jz^g`SIk7KayLk_|HgkM9y#nl)a4&QX_*hLmf#+UoN+#%%!9Ee+ zJM3ZxKCx$BjQxBU8zGTV3^BXPzm&UdICQ#qwZZLcB+GEfl@3dl!d{2nMC3RI_TPw@ z0!pN$5&u0JA^uJsA$ZaY(jCWD(x&GwEO$nPRqtdguwZsm8$_6PSfuUad_s=}`+z>* zJN+6Q8=ih`wNXOq*b%i8g@MQ0+g$L_KDyM@FGyy1Hr$;RWz7&IClaJ01|wce!YH2h zqoIO!3at)6kv<8p6Gd$NyJZa0AM>#&-0cz&1>q3Vr~d-il3at*#APm!iP6UNe%^<{ z6e2zmL_^Kuw4^2MmAP#OcytbL6~-DFh9piB9Icp-1e4LliNVIH#@(usqa_Cc6&Olz zIna>XYyPogud4K84|p+7EZGb3WRrbzem`ODG_4D!>G#Wd<;1}sVl&v7C|BAwihwYtfOY- zJSU)Nn(AWBnIjyoIj*7NOTqK+52l{HvcN9Q#r)%o_TW(3-nl+U(o)nAMH?Diw`3L} zLc2VC$!{g(>Zbjo9CBrPB2&g#gi0Fsj~(l8ajJR)A9T5G;dquQkgi_WTP59;bAEc^ z)WX%c2N^Z{i{aVCljlpZ#!_bPEH0qkbYtPhx6I`Xxn#@+V;6mC+@s7;L{-a!_T8#T zO*P5sQUfiy;<%~RhB;TPntQx^u2@lQKBkV9MwYLkRpPg(s3(-=pmNc_WM5ReLcg;( zr$U64lv-^PEka5DUG->&jT9T zQ%{$WR#oNNBxAV^Sre+MzUWVYpSIO%QNQYfQfn_v(aw4cC%Vju-X|RKq(5%yDb?z|9?I!s5S zc^WpBn7_*qa5#d8QtMu|4&&D#_JN?wlL$ON-$L~VvEyPi9r^14a0P55X8?TZiz>kK zapqmTKRCw2D+v75JHx`fKrh;mG#ClxXf(7P_65rcRfBjt|LGsS;ufBU;2y7%zfDkp z&sLS`a*G7U1)VVHw~mkZsG;w%U!*_-dn6%hl6&Q!7`C1%ENneUz6FMRyPK@eTBZKP zm)k@nAH1|KYDIpWRu>SleZEXwSm@G|$-UxzUJ|{+4c;9d`mx_CNBuJY=G>Oy|D}R} z@m^zWnr;|kGsom|DvsyKR0e!&1c~hZ3V$#XiHI0*_2j7l#FttIzntt11WsLN7h*x6 z*F{gS%^k;4ne!t&qa`U5Fs5NAXA!A5MlUn>+?T!t>e5OQW4Md)6CY(bjM&1ma2xu6 zk_9_pe-!CC)JE1SVXD^FP)!8IS9&_DR}rmSC1w8&${0=xZN%#U^48laIK|&4n5j-m z^w=Y=2LXb3ce?h8BpxH?D~Y$65R$ULYW`*gBjiat9e5k!1x^^zx3VGH_)ud$PR_r1 z_-cNgy4^9CG$(Jcm3oR?9dVp(UoK_a{QTP&RHUx@v{!?JPT4e#W#3lF_r3*}>v;UY!UxUmM=2)2M}pLVBZ)OAck3 zgmky7nO_lfVg4G`n|eLQtw;6r@F9!<`iuR=gBjl*iYep=NeRx(YLNCmhtKw_57Z;< zaIiK-Z1t%?cE9EQaDZ|=bHjRj95NVCM!pHx=pKCGz0$}-IKD@fi1FsY{@zXcRnXJB z_{N*O(QalHAX1ML#p;>qnh04*NwN7QwAUT+QsSPW&6}@fa&ZEb*M#Obc1&gcgpeb607gW=ntf zm^=YDedLi(bz9rm;}E{#?^A#!UuOvKebNeJ=r(@Cy1PQPuCe;Ue|gOK<(h^wu&r#} zI(Ei#YIQtWYyHGbldg#0U}t#s-v)quBh6UH^z{i!PZz*9x7^h%@SvBGCL_Uu3HNsC zQ9pBgM(BXX;%jCr=(Gvytn)^kjhb#>sn?qK!#zg#*I!dAUttzD2n!3H4!we>HQDPf zmU#a+kkHgVZCjDRqIK6zhV`i&)%BzM8RO z`vsq~vBq{LYON~vqd=dp7ju3-!^GTa?#W{{2%?|yw}qOIW{a1U?}t)?Qx4jLWnaJf z+8jM+)@DD6iw2<0Es{~%!`_HZd()n=bn@rNjWL?Y-ZXBzMeXWHeKnyjC4dlm0z_!H zKT3)$oGZ$VUl~#B3HKlo!692;3Y%V7yb1XbB@!|i;<&>YagtnUGOxSZ7hWi$<};MiBh2G0agkvw>tMx)Lr2CFQ8SO}RSYW^g(j zrz~!ZMCK|b3uafH7mX1}HcVh4X-pdqGI^6|#VIEBn`_AmWoA`H(aK)!+^YXSlBNgG zDEEv|9T5`U=>wU+(z@PdlgG`1YrSguuKRZ`LTOnit*YKrCgw!PkM*8HT!c0tn7sZJ z!{oHnnf7i*Y-o&Y7ol{0@bSt}JoKJ^iJNW@*38GEB$;hr$XEZsl(nTM zpUjVyHYA$9^1-a{RA$j0c~f81C%hS}wpJhZ?O)TLFe;M+ag<2%yDHt-xXVsI9E&J7 z4cLB#JC}b_J|NE>b^WINVzhwuy0rzB;ESJEA=Vfr>*8LbnMXLKb*pBQ6vLvZ*Uu)* zkvaRdk=caG%nl{gwvd(5(N*to{Foq-8A*E3e_z+m!saDL_Cfen=Fi>X;}qKWox8QP zp_Db+HJ^EmlCs%Qiz=Y&g0~~Umx{+F&te~>ixb_KLx%s{f(Sc&9bwJY&gw;44mRD{BQ{oZyu;3hD z1Dm91MSs;W9Clxq)S9|ToT1?UMa_|04yITd)&5IeA96f%*A4e$fERKMm@H!cK4$)! z%{oH`Y*IKMR<(Lr2nge&Pb*zHR`JZu;I5C|Y>b5gpsJ)y!fgSuJEYmvPbjzTfOjix zzig>2^CmPFzGq|z8>*Q0`Rvo7&psE*{aMxtvpEA*#!bsXS17lZ2l&9d=w2D`F{{1v zy7GhP)bN?g7%af}2^Ma;%-+Ql$oo3Cxyh`ymv~FoY4gc_-=3l0S~qMq#*CGoBLD6K zKPDj2-}#wAoJY!}K~?-bAGVV?;z6dUef2gLj0Q2(?BH6ZU-O^QpP$m7Kgp%vl?S$Y zXHE^P?k%eAEQnu+4DOw^Wj)zLaJE8l7myGqN~zUP$f3Jov#O>Z*VrI2i3n4`i^@P} zQhKOBoJhc^baAPbBsD`MBD6kq_8X%B>nZ!f7Ov5+^3S3{3AnKCmU^T9 zzKw}BZ!ErR@mwr(AGaR8paEoxn)?1><8%7@pqY4rJ2nZL4To!Mn1n0Kf$dfHYfsPC zB$`I-T_SJ0nlcvPxqcBl20$(e&|Vw8k5yu(28Qx3jz^^g=gu6K997;-{&&tFe1T?P zZDy)2(j7Z6a8}ofSib6y>8HBTVD!#VikSnN#Eqq#6`P4A3%3aT==T*II|gG2RAa<{ z^$$`?630mrp2p3ySBsxUD>6Txr&G~rWM}VG3$a}$jXT*fI* z=nQS9>`g|b;=()wWP#Y1@8QB?k!%0LwjUbXK~hfJGiii}5t;9*WuY(K>~%*%dZTQA z%h;Qucy2whBUFFDL}%))ZF=i{dTZRmL`de;=SRQj`9sw3^*SQ_Fq3OEF~qY|0wL9{ z08rae(K9p3dk@*(;pfx`f2p*qM;aK;5C6)$j=c)eJpvX~MAuc^cdgqJOWM~jX;a2P zs5;Y}Nc?Mky?4>`5~oIT>PhSG7)n%M#-$+#2W~-SDMtim3v_x}t|o=5s>ZI#cO08e zyArkv#A_IUR%+$vZyDTVi1^t@(4*jW3 z-9%SZUVK+{s=wwNlo$JI=IN&-tYcMm1~=6H_D|I+mon1vt9y_qROdFdcscN$^gV(= z=)@x#f0~=V&nLhs(m9dXp&kbG!T!MII9iPiDFFM-FX(kEEzR=LE;gNQ@tr4)^b0LX ze}`)?xaX%TECn!zt@YPAkxy#@GcNEF8K(Ymro?319_8;)xgCw^UpJ;B&3D13oKKs~ za)2pROOq(>KE!7jj=>$H6_S$VYVQs8jM#h5UG#k1Y+Pl}*ph3R-E#HvrShP+)t?yz z2t%!|wO&7~VwB$65O1=|QiOYa7!=J3)w^S?{)adXlDKlNbap&%q>VRiPK6#?MhQV6 zVVHz;;lzT3Y5q|%&UFPkxJ?I_}}m74|~4 zH%N!(ZfnL0^xlAPFOV+$J}JxV(AFf<|HZH7tOtZveyYiAD6yVjW`!HqCW^iq>Qqpg zJPYnnCE-_lIR8w$M0YxV4_ndFIX6Z=!XF4czQtpA3!$M3JiXGb{}*AOQ1z_ETl^wI z7kdL|6Khk0+;A7txumrX=h4)qQ)+U|GX!A{Z~Qz-Es4aYK8nQJ{dU1U;zk?@lvg7g z_AJu{y{A4n$v&{RhSs@|R^Re@&KJp>gPy*LJE!E4=?(`xN8y?^r%-sq@ONB{ht`py zq5vRCX40`CUFS36!0lFxA^$GqBQ~jwk4UH5LhCN$Rx;YbWX=0c5(+knmd^v+IGvmJ z1MDByU(rH+@^~ae-psA-v&1KW)&%(p8Pj4z)w;?CW0XSiaizbFK!^k(Zu*nqOeZip z^ir|1-|i1wEjn%%deC~^K}!o;@58^H#>v0YHh@yNl(?!SE217ll#nC8g{tJAMVbpn z=+Ec(D6EUndyoPQX$p4_Cd0a+J4h^Tp>bK zx`5nB15YPo42)ut47nd*pRlcJ$KY|d=6T%X$4FU1+3{PCAX{`nz2n^W6N%k=l-<)) ztAA=5wbp@xvQI;_ReSIWy~#VbL>ULRn$=rP@7y&B7DuzC8p|7He2#Xc zDy_Xfi{y$3lCLgNE=k0&V zP`lh|dw<=&>SViZAwUI6nUlSXmHt{zUmq}~+ZC>`tjm7C0aQ=SMu=>M-=ep*xbYR{ zZ5tRgV+o&=j3}km_nuW+{g)64e+NtioQ5sRz9GZ;R(|X>pAP79??q%lpgiTeCv~p! zZh!C^KM@44=x~x`nMke$DYL&vMaUiZ7WGD4ZC;GGqf!Hbv6J(!efa`8M(Wx;Nbkq( z&&2`oq6q>_L4^?)kRx7`Bv> zHwK$N>0;w93^q{%);#ULC2rceTk$m$xtw|5TxNYufwVw~ObH&H{X2sm3>^AWNN~`zIl=N0XQNeGcrMiwApt&je z*(+FTXjsM5JNmuH#Uq+)fkF!Ux{(^YRCd@T+krwhNLt7BKa)i%uO55gaQ65`A&V^4 z)>>AV|Gg|32lq9Lx-OF96bl_~)OGi*a^o!a&3h`;Eflan-zie__JSQ;ZDSSb3l;bG zpFheWWxueGQ{mFcTH6FUfc%@+u?QK&`kC*MO0J=Xf=Aek0}ww*h@|pPFX7aY;IY&g zt6H*D(e#HV=YD7)oz@GcCnv+qZ6(63ZgZaOZwyBA4QSv=R(ngb@y+y)ZO&Wd!8mZt zl1xmfVyK*Ph_sC9fgXvhBIddGY;WAi5yNeDmp;8Z7rH4I`VN998!V7I`-ECt2b*~; zL8OHi5yvC+01&LbI zhKHB7v(nY+Yb&Z-8uPnjKffz4$tT_2w56Dvo&1lhT});x`}r}h0S_*-jPQRk!Ps|# zkc{nY9Gt^ZfS6H_igGf;Mxmc6y@{dJttvB*EUpLp>Qpev|EKcI48#sQAH* zm7!ZmMzMvzHEOfAKAM#_XKGu~N^|g`yp=5bie;bi;!<4IY9Z$8bA^~I(XMb6RaZ@h zt1IYR%!Ok*qQZBS8sHv|aHT zv9{#bYP#5i3)R&$Sq(dRUw)&lHuy?y%N|xfa<}hKl|6q;RGp6IM5X)Wu1q&^!v0{h zO0OII%Y*l+^9bFTzE{7Zdi6cEwHJ%ntlHX@3<)A^+%?*7h3RHOVFHl;BO| zLHVTKqi`+nkjb_94v>b9l_+wYz#T%fRTMl=Kg%ATmic|}Zm;M^k z$3;B3YkwB0!}r?{VHbIhV;^qx{fNHXUKsIe@)>eFK2lCFW!U`|A7aF`{=W&ycnZ~D zYVgKUgWvtFN99-*qKD+^`-9*h?;q(xX`k~}aNEa7-R{++YO3U{l(~zQTAxdpco$Ec zv7YI-vWqtxlzw#i1J27U?vK|dlMisw)l{D(&Wwh}X{%Nev*kSR{Fu&&G{!_MiT)CS z%dg@?Cdw+kB)Q~&FCgoQ%M#b`luEVwd^V$O-4uUs=`a$w;UigGv`t~}h-Jp~(Icu9 zU6oBuKqQcS|DAwTAt8iRuTDSW0((ltRSM+kS9 z8YW7g6U+euM$Ss1(uh#R>~`VbEvn&|TAZYhm_6+F!2cnnb^$rpM1z)KQDU~`XvLOW zPInsN+vK*IW;#z#oaF=5n^?jI4P$jsbG}vY|a~bF36Yli@!RN2ZpFEk$ zabdP=zf|`X9oj;*nIyp3YAvs(kYm1%!v7|?(tt!~3x0DxcbiOp8#lAj^?N8Xj9Q$d z;xqKKbRX7XL&ur6vD>J$M<#EuZ?Nq%S1*%ce0o|~O)g)0Y^O$Pisqe9`=^)Kq_G*P ze8nESV_WD9(>mP|B&7Gd8UHgnME2oq!57?+hW?RL6T&o@DxeU^I~vwi`%a~L-fty! zFS%Bp!gH6~gSG)L(HZ_f&cgr?dzTD$@hLT_20`$(Q-&K#s@0(bvqn6~>??6FKZmN~ z2FH}1lX{$fMVtU`f!d_n^l(q!h;QpMYMi_})9zXW-zg=6Lwg(Iiz^z!7PrUb-5xDa z8NoJnC*P7PottP+7KXbKzc5SgGhV2xUd-MADiEA3GaIhejZQyLw5dEW)qd@*7|<5M zU-^@5#1~)ih+*T|YsC=Pt%O;&`2f|12sR^Mu_ z*O>?P4Z3QsuaEYO1D64p3K+InFgSVYx^4qLnLxI%BU~Hk8Q;giOJ?q2+`oaIri8HF z(2Bhr=#V+}(6H{>)^VF4T+arsNo_4L2wl}w-uO!T?!{J${+Kn{n(EYqGZKAvM#gx5 zNiDm6q}wKn5xW<7Cn%y?xM1{loF~}5*2iv1mX-h?l~B(G+*5>zVl^7i@)xxB4B67mMCcaNCRqchiUH{~NLUdKN4ODiUilKgQ zyk{*RL@>>`uG&e`RaC+Zv+e;d?&V7=T+y@1j%*u(EaR22JKjg}#buAc5>mV|bK?!R zyniHjYu_Ph?~CBg*~z_OuyK(!p2vuSbA-Vm9!H5;jPM7;LEhq|S`0(iDd-U1GoZOU zVORLWrIEp&;aJRlz5g5O>}921%F-ivd$zrZD{h@E7Tb_iN(bli`CW zk|%~ek4mS^B+wBg+RQ%bvf6J!Xyqxp2H@UB?D83;XAvczJ~g@9oZ-IO)w;8~qCvU_ z_%AFw*C!wFPsTvT1Aj06lp58O9jIQXKe=IbkkYOJ5T0s*5YC1s1zr0U={pR~wH5>r zV|k{HrmB<1)@K?~=S$AGvkUp(+=OsNFQ=h#ut@T)kZr?*U@UKHL+CTFPre@d@#HHH z*w8opj16#qzKyL;x`N(`&MEzXwW%=d+h4oTt`M)i6~9V0fUO|}R8b^fbPefT30LG- zg7uJ=4aA;mSoO%tGI7?yAAh!t7w^wYhRmxwUGH}cFg~E-TuBn+DWk8NUVpq3ZkcuRxa~K}HAMDbzFO?_W+dkM zvzr)uT3KtokLzH>iM=aa{t9`*>Vii0sA~E@! z-aW5($QrRwWZh3x!}6p5__idcsRE%^h_cxMIMlW`7!5}ThuR~L0xK%o?u;>jL*%6_ zM{uX98d$wJLCfuNA|jgxjbAke{WzcBm?FyU;tq5%flHk|sox|+g$HrHRr+_k_jA{l zAiZ?G#TeyeFl5RB5nsJSE#;ky=wJ~)*(@r@xL8!yEaA=5D>By@4Bot2}tRL@~V&y8prYt+r&mz@3E5fH}~yr>w3bsH@F%4h_fGJr`@i@5s~lXXHiVx zKFmf6>(4sz(}Wa{4BBJjM>o(}NT+Sdf}UZ7a_h#_!QpLuy0RJj=}z_J4%QG9F0T!s z)k3f&rEjnH4KCa`CKb#*s|Gx=^wZ`iks;9O%7%j2F zlCH0P-zm=W&1%^8W*&kBw6B~2?#kpK1Z0ctcrM}}qm*8I+$p{z;t}dI27AY=2CIm6 zK3@}3=kufbJ$Yf`;b}YmENv3b+(3O~v6Myr9eto0p68B*hY?^a^gE%yVz$ZHWkqa4 zVarip9i+L7pzl>X9Jjmok=7{(ZT$u3>VM?G(`C57%ugj>MyPjguv>6Cw%%YD6zcca zMxwsy?UjyGs~`Ugy z_w4*!lg}2P$xgIa^WjOvDYPdSQ|+{1eO*k_{SemcP%Gz;e?(>%Kc(yr*UP})cFzpe zx?nhTf?V+Y2LM#sp3c9WwclajDMiyF#D0eQsvf>r&kmA6O;_Rd4V0nS+o7FWsO(%X zJ9&<#2sFtp&gLyNwa{o4Sey0IVdjInHxw0vlXsF8`$jx9AZ%^t9vU6*CEGC;0Fnf? zXg+7lmi~HFm2`p1CZR!;Z>zUQjU%oyh#srtSv~;885DiN@7}I^?3+DmM9hI?2g{3j z#vUCXQub<6ntZAxdVJhGE^)v(9oMak@^jd>SR{>KHibnpk5 z&$r@C9sPvV{(_3}_ph`W4dbczccfo1aI5H6XVO6LQ}ulHV27(nLw*}N&PRm8Cwg#s zX~cw8xq-9QjbHg1oz!p@{OT~SPxcJEkWvH_p^oPGy@Ry9{Nfi*f80x~sZaxYd&LmV zVI0WFuUxG7_SlOdkA$~d-?y`7Y&#}1yI6#fd8;@V$O+a2aFlekN7-{sN9X!;u`-M^Ivy*#qaF$IjDKT`Db! z%K&;}y%-vGaj^azW^1SF>-$8_KV?wENjH)|cFc*8l5?E=7nw2K=l?W@aH_2rXN?oi z+1ZY(P@Zs=Uz1RZ%LSG1CTk0>q~t<*e}6qQlTGn+RBHUiQ8$-@yEo-b;PH+0M@AmC z-;B5;kHYi_mOupGYYN}X_is_+)%lymh-s1`J&Ia=-@5IE(h7qEokI>`YgyIvd$ot3Jr1XzJE-@Bc zyxouWT&kJjij5;gS~2{}xLiriZyik}d$QB8-koBbiHH&6a^0J{IbQd!4&`#HS?&H+ z@*=Yzd(HetvGWMWO)d1d0WM;zzFi5_5lRKmIt@6!;8NQ?I9G9U?!g>lI&$8KU(s8c zT=l-(IJb8Zw$=Yx|KyYgerc2MRdA4SVT{5G4EPXvnKC&~HK=8S!;H9>2wSXH00Vq1{y1xjx7o!&Cy)wSK>EyX{P58Vx=bKWxEH6!D*v zw{I^baYTM>#EEh38ESPB_kd%aZ#0_n9ilZ!DH+S0-vxqK5J}^{7ux0lQI+aCn^PMz z1lfz_Nlam*yggDLj3cmW6F*RYA=3ly%}Z-sHSnRvx?K5MbJNsNkO}~~Uaq<(G_;RXSfoUXREYid4W8-}oLF;Q|* z6r;|{Y+Mj@G+gux^*eWt$Lv9(DYZ^r(T~{GH*fi8azPHZBEPE>mLUC_6{H99A(!D% z{F;e1heB#IouY?!ylNkNMS&L~v&xei|iN=fmj*Z4kb=0-rzg(y&_kXkBCkCUaCITbBP7)ACK2}JwgMhT$ z^!SWhX z&Yl||>E}QvSkq$Hak=B&3m1m=aN9^<*r834y+$s{_^3ZscDtF)U7`-YOFu_G>dx)8 zUjZ;L*fQjJJe#bb&pqU8)4as9hOYxf6%DQPa1z0fjO#yg+t2LXtMXeGDX6vj9cR)* zC^I8+7kSL30(v;0Zr-ugQ^x9FsHEf>wxikTA2S;adsKjvC`|YR;F7v3*-~}V zy%Wax1@w%?E!Et9t#-m`)axtCJ#mIW@}M7D;#E{B>n2f=VFYzxylNa!0>(|EwNeR* zcc&f+*G3=9s^hgCuOPo)BbllilgggBNDZU4zKg~t@GtVAN8XHv_Cp@0&nF1cULm9C zU6fqHdAQw%Gl@bzNqU~z;e_DG_dxTw$fI~L&2umx;W1X$T!eH4<|9rRY zb#vDJv7;|=cH>0b*@6)p)$^VpwuMcOGa~Lw;1+P$)K_OltrEs!sXBj&e z-=idLtlt^-Y@vZA-P~bH91g$96YDDKi3_OgewZi3xp8j zeI6L;>XHy_weSPbi~MmqkCv)+*Z|Z8?+e=h$E)7Lw^y!jqP->Pqq$~nc~eO74cpWZ zIOF;{)ViNTVl5Sm`A)t+-#^puzxEnFamS<&>_Njf-j4uMV?J#xN-o+$$6T1G&6uFG z7C!V-BjOkL(1ui6p4R`MUdhjW>;>kWc*^NyOk}hiss%6UXFsUV)|Y7f+K2ObEO~T! z38?dmZA07GNsSp}s}njLc?PPkEkzyf1`~p)J}vP`#ZE~`p@)LRZbCh{D6;oP+)*(6 z9PV1L^-8!qv<(n1gJ>=Vkt9;88)~&o(Rj?7)^yOj(6(wMP>Yl@mXotf)z)U)Kft21 zSY=`OCLJecbZ_>;mFTN>^wkqcic$yFAgd%_VtZA@80;Rut*Z^Pq63p#M$N)j^T5`6 zBbP}2z>Fby^%wsp0TgBsl=b6jI9;^g34!u~_w!Evk&_|yYl#iE3JSwk_3UXrej)mD z-w9*QT}e@)PHJDrl|Aj*7UIIhu*7iurDO@}r`~jfefppsdefo6(ZrGbk!C;ZytHE%w#ZS&)xbDhVf2A zYWS4b`@K_ySAqD%?T4Qfd5XU^^QwtkfC91G)+hP&YH}R+TqmkGX|x!PyS3h(&eFxQ zz5!fC_0Uf+o&XJuvPZ?IY$dH5xIYysqk|rnSZqt2=z-*4J{{9v!>j*V5|Min)fv`- z6ER=E<|W$x8nF|0j>~=B$ev}@>(0J9G2n6C0$cI()Q96R;yNDgayMNP}TO!~)Nt1)?!q&Z~206r=y7 zMCErEk1k>pyAx_HDx43XAJtxE$K57C1Cba;x0B<+oI!HD_&6HrS=FD-sCqIS2kZMG ztUIoIi+V#_QC#2iGunw?y-F`^{OasacrJj0LfvD9(NH=?I=LzIqc*$*ZV@|3+Z96t z>Q-|I(`(>YLk!x z2sk0ETVVYDsKLi4yH-*3{+mM?BiWP?W4U+ReU@J=?zsV?x`lcO5YX`|Pu(XmPeFhBye&_!O5VZ_ zb9(!|ze(O@iX0a)my8efMHv|nY>I@NQ8R{Dz6FrnkD@aspq<7UvL3w)`}zzbb%XFK z|NRd;`8}WSXIG^C-0G0p1p>tM->Mjd;;CKA24>05sAf=U3HCRPJ8z(L7wmX>suQI7 z>3q|T;qtH*P(^V%nFevyBJ>RYZ25CZJd{^h=P>lRePr0j^fB#3e5r8x5a1b^nj7`@ z3}ZUyD_~w%BzyQvu+7iIcC{B&nc1SpJ1>)!*Wo0t5<4U8P}Py)z(ST@ZeKopc}`CC zu$|#|zpgLZ#R7Tn2JTesBF&>im6aFAnN_!kclH>P{LBhuHh+s*qgWW4?e3_!*(e>s zS~o*U@(=GGUsxIbmkf?oysCZ0VbVRsR~Z(84NuZ zCF&eL)A1Wm3zI@!JYZP4&MVjgoDCrumU6_N52TS{+IUEd0i9$tn+L_!_=;#KFps>ka#ZC_Bfg+ap%i}%S z=3YvC8?3=HPVWGa^(hwuFfVmRo{exX_o<-V;eds~)OU&!WBl^eMb&`5Tq2oTYXi9R z0J`n*#%fFJ+AJ!#@)O01*TrpJXIZXEi^105z0Z}N_qu!ZzuB~weUVOZQ!O`@{@lu_ zv2nQ&GR0T)q3njdJdoQx?S{P^P5KhWgWA8yzdToP3YR-(tEBR3Gs|V5f;G791>5bh zd%USBBYwhIY@fEn`G)oj%+T4_9$jv?w^7q9t*bT#<9Nh@`3O~F0+b*2k_92>GVeD{ z@6lZQo-2Rqc(-4P5GaC6Jm?PFpVq2B!b6HJw7N&J9b8KO_bShJv{wBN4IRk0K(Etq z*&Ke`rL6(Cl8yila(V>Gk)B4OWQ7~~w!y&~w@}KCco_5u(xTjDwrXCGjJTb~&=iag zR^w};37+shKp!^tu+w3yl-i6DzFax_1M;+-$Z;%dLgY(!vMn?jhFRl1jQDz?_SXH` zRLM!NBuh{}4v8t*xa%O;@MH`~1l;2*oR_}W{0a4%bjEo4Z@u~ElLrmAVpwohY`EE_ zf>JD&GpIAn9PYcgOUX% zMrk0g?aTLdoRRLqEd8;fD0TN*Jz9}c@5H^z2DrNO`Rutjs`cdM@Xh`U*-I8}ct-T1 z8kttGJ#>KhzF)%o4<)>>@L~0{+9joBoB}7)XhG}>wiO(27d|Y>Rfs5UoJkIQPohl4lYHR)UAL(qKD_JBSu8>8T zMkIZJ&Eolmsh2-o(O-0Ok0DA0$=0~H??#T;#e+)t(1s9EHoUoE_Fg9*r)X;X%OE!R z8XUZd`>Tcq{93S!jO22C#?Z^s$jExHfeEVnkLGqU9QcVtJID$Yu2i?*96x6@H>0zn^dA}R7+Q|s*Pn|B> zH@6)H(BRF?O6z^T2;&#knGdms)w$|i4o~{RGatcH4^c>rWm*rnlKpdyy5J;wJNfnU z8EtnVknnc3>k0mIv0#i01fbahm+;Mb)~jWh8wvl{OZzGj175g3cg@7!Nqg$yT=kU- z5J{sJNs6Rlo$Qh(4fRA*2^TI^=kyn79{2)gah%TmhJ7eRjOj)JZV$Y`1SNEJ4NPRDku2u_0v4kSmHG&O2fUS|`U1f(u*79zICa|IAPF5fh&J-3p=g_k7k}csI|t}uz{wl?W4t`m!tAUJB`t)^Tpy_ z2GB$hSO5T!5EIOe4UsF2_rB#1Mbph`7e_msA)Nig%==NC-)zt*BJth6H z{st-KRSBWSKmb4Q6=vvdJ*RK#aPC{dO8nrNj$`ciPeG@l-|#BPag$Za0`F@u2wRNs()`bsIvZ0RKQMNZ0ztP)3kzTjc^~F&+AICW zb9}{1L-7ilz*NLAD50e~sAr^|rj48zv_|P$yFcG>nALR2Q_PqE^%0ilYZ(7b`OY!= zPRa&xF@4o7VPdgvP1%ZqF}(v=EGhBYg$r-se$2tu;O5t}wCmS1)0&Le>bC+XZls@B zEvyS3?vv;H98%p*BV%=@P&|3GYY!sJ2#D;jvZbRE6MSsVTzhYI8t^6BrdmH=kAFTO z!^otJoVugrz#5|)GaD=uWb$RJfIV7P<5O3v!)3oyMa^xZUnVApseXiv`sx-$gZ)5J zPbX`>yw*%#yO@rRZB5;K=Fb_}*uestX}|;FZl(U$v!{*d^&BSZHz}lF`mMwxt{2FG zQK5&elkc>;cseZN`V{x{&5cguORsZKARj5Ol+aJ=&&g&qmz<-~+>M7+@2N;lW?Gf* z{qi%&#*1vUm~m(ky~H-L8MjuX+DyrUSiR^*zs~*W3pB`ZT6C6vjK6O%-l2jf;@NGx zY4v@vaT9~XB)2Tl(5CqhGFxkHQj2T*qT7D6%TqOmO|j5p@28tx!f~(noZ7L)?WF9y z|F&aCplD$23Io95PqOa|GHSy*djXz#xS5!hyF)ITC*yTM`fpDxIlV=9AG_^Jw$Xy$T| zf1ht0lhZXbz!!Ky8JY0D?}q$dW2{!M^6f3Fyh)nYbpthy7`diTCLa_?tLNypI=N>T zCXm)o!I;HRxEWzxWefw>VjKJSEo1F~)0)cvDX#K8`|E5kYEzuYom=GrOZ0mLw z1?#8RMQXAc0Hmj<@4g#v~tx$lww3;+he%*{6d%?uhzr* zPJODk*G?=fnp>5ed8959}7X zSBBlJs&G$_yRIBXS>^r$JM`BWH8?ecFiJ?5#qV=z8ZZ@lVIf`^r;>5=>602l&3hxl zD745}OvD*PJvQn%Q!GN|7D%LNKkr=mY%W4GAIHV$z*&+QY#Tm?#xZN!QKCdfBPEK> zFSDDV&EmPWb#Tb^tzm123LMJP;{|7A(nF+5q(h*UcT~*!v z6ZEnZo9b|1PQ8363YBIp+ZSCZxdvpa*Bmq&rPfd2@$3xK%4QJkJe-lhCz)<=ipORA zXzI3(R1y2>j90;$Xh_EcS4*NlFekAReeng{zUV0IS@g#yg0M-xw{tl~uU7a45V`o@ zmaJFOh)1#~hEDYC+O;g6ZLf1c2wAQAX5P#Y+cvXPPS@qrOqOneC(8DNCQ*8{u$+V5 zm_7x!7cblUOx3Bz2SO^xkR-r>1A%Ul>k>z2)vA_V|#b0waxxsfH!7$iknaAd;Ke&7Cbuf3u6{&4v`a!a`}hjllh zRxy?8#XX_i8K(4Tk3VETG_DU32hEmX9w(VI4G9Xg!P6=~tx*!3GFdvX@oErnO>Xn} zHW<2Z<#6TxJbx!?uA#Pa)OItpbfm7ij7LuO43cR0ojdRTV-Z&oC3!8aC{c7mVU=y2 zvqM>*yPOL*HDgkF~+>qt5EMk2BsEGK!HI{LCW1<*d})mlBlHqYmq_FSRo3bi%( zu7s|pUWFfd;}OHn)~-HQyLxqbIM8o(&b*Jf(1M?D=(KeHk1^Rb3>q{qR@UKN7{XcX z;4Xx_dnzbR>&PH3g&FGPyXc3xC;zz3h>fcTB|NCL5?+H^!0H=zs{~>lMxF6ZKWH$2k{eUG(kg_H1ck0p zHOKC{Fx4J;rp2r|+#5writxf_6#94B3Wgt(Bot*zp}_&QOe$ogf;hLohAzVPIX(c& zSwiy%aV}Q_UWfDbW)+#M zfKnXI%UI1ik4=Kpbo!h-+?*U81Jhw!Z%WA3)-d_ydQ0r5o3uCN2!^kk)dHR#zt0+O^0yH02y6 zqIBNMrw$nSeOv=m^-zw=+{v+oc`h0n)?dO4Ew}dP?k%6_#K```$2*rJSI3LTf1>su zZap9aNb^A%K9#X{r4{i1MDG@)@^RRfeTvq z0m#*9Y*8cf7P8{0Z6I z*!%BSIB931A_5H_1=5U)U5r&@eG?r7S$cROcfqn(bgUzIv?a_^z^AnHhH8qy58I8K zC3|s+-Q4ZRM7a*K@Yi>2R@P+L?hX?}Bc%l!Y5gcoakhAsG{wn#k0OkpAk6`BG98En zrhaDEuK1dPn%G=s%Z@ukA9H&((1Mun>l+N1moYRV9CYB}KKZW@NEA}~C6c>Z*#-6_ z-yfnZBUv0qC+q8_>5|BBe|FoJHY3=d8KR;fBn<3Jv6wHOoji>&Y_GSI9Viwy4p}QU zc9))j&>jD;wq)|DNP^eKQZDdGc9{0xI&P)3ObybUzTu;YI0S&JOp?_{lNKOAsT_0 z_9N9%4XuZd8~a~{*^DQ#yht?c*Cz5PQq-O=cDyAj-}?SbcoliKmOB;9@Odi%irqq@ z#Xa-SFf)Whza*gDV7~X9WK8awpkhH(hPB&4ZKfQlfuK@be@8KUePq-&TFz z`+uip*=c%~9@Mj-r4CcQmKx&$V*c-WHDB$T{|?!ryjS{ z^-M}Z17Gk3&C9-3jcPJaNmLdZ-!@BAMw4`vo2ECJ^P^b`d66PKWn{cy{=J{0g!az= zq=3%<@ALn8KA(O2?6RQY#}+P~22X#xtJcgnVA__ZZcC9?6?HJ2IQ{%kf>S_MB+HqZ z_aGwf(8^ogE|RWEF@)0UUgKee*X!Ev;tgk$In`S# z0nkq5H=oQI#rMrB`?Gcnts8OcmK1#cs;mX8cH{=-Thk<5cOj;d*$q-YV(I z&Rl86FtV0ubj;-b+gF7ul-*>;P9o1`9oqllVz*FHf=+JZ_J{A_xkqyD!jC zcP!+eJDquW?qT{>{fYA~>ay#=T<^uXXA(w(_BI;_c>if=ad|QVFbpJjHg1G-^JQX# zRBSoyTEn5$`EO*IGsor9&-%)(Z_n>E=*F$wTA%od;}jEcU~wkh=236+iFXmb`8ZC- z++4{23~;SY2{9(bhUM}UJ&foS`ch?lk0bNs^zd^rKwAU;iQ7Gz0R9p0UEST?-t`%` zyVXh>TV3<57dvxHX;}7}{LaTg-m(NoDCEpYC6N9G{Zsuu^H(%sZguILhyb5M6LU0> zB10KeWa;>#zI^3Hce&}Hmy$TRAM`I~1Ifne+dW8eKNOy1F9CeP*NV~}jl8odijZAY z_kyKa-eAWi1y&;MlMI&8ADJi|+_qhR75c9=xGVoU_Ur2h8&X!MIw8ltybtdM4@NR9 zrMZIzY2yj?$;xdS)?3Z1>W%C+4KxBS^;`*D@|eFi9;hDsH>aR#lg%xx)2Q<+@PXbF zU$Hd4_iEIS|LTRLf2NWg)O5@Z-cD0Y=t*=%Jh4Czxrm_HB);GlDSm&Lf{U*U-TIze zq6=@I--cU`xOY`_G2|v^xVDNil177-s3Sm4sLJUDaWzkfD|^umSn-tnXfMXv?X=Zx#x`?O=oPz}SrA9o??YOjOUT8)=5eaGKA zYX{Laaas~SO$)H0`y`6MnqNolPuI>Cqm{B9kH_1*1PUGJpLl7{9{n%jm&}*+8u_Ji zX3ro$Y6d_+8h>b-0NSm;g(i*LTYzXRm$`Jd3%ZW08VYn1#?#qQv9a6>0RYFUN81aq z$UrH(C0<^73Al)ov<7A>{yy$thxrOB#Kw(Hx(quj8vg)K57Lf}%YT)Mit;GTkk_23 zel5B3MWwS+j*(v2Tv6L_S0XbW2Srepe6V*(RIe9s@Ac8>!EtXCC6%&*bGJ97JWVG) zi73u4*I={at%BfBFHPfIrG%gxID*k1s%`t!zWAQt-1?+xE>o9yM%#JB2$~Vf6Z~W6 z^l(SsmIKFys!7G#F);Ay|S3U|sm*Is{js={E0a?XJ0fbsSo|MQZJ{q zpF8+{+-H0#94&pdvv6VPfp3hM@mEckN*pPk%!KL{gX#VD>c)l0GykPWPEWp8&&P#Z z4b)r19nqQ4iF{(xfvdAN3^h~cnWDchtgI*AO8S?iI`%0atIPYzxWg(fobLErR6g-j zT&Ls->_j(JKt5AQhtqXNA$`PtZfQjpP8?@Ag0lU)6* zRI@7UrfY*~m#|u4q|7A%!#`1^s_=$1eJo!d9wCsuN)6K#40M6*pUm=SiTfhxaXa1Q zMxC4dY}W3Yny+fnuacJ8s+tLpubev}EqD3*YId-&z*Jh$#@gPvXR|&d>}+oPT~$bb zgXF30pBVP*FBqwLtMe8dxUiavlwy^ zJOPjaL7XC2o@a;sJb$+1dA0$_D- zu=?4Mz1bj?`D=j>(*BLd#h`VxO9cQQ5OY;sjb_C>z4TZ4Lu!#hla3)s$UgeVYB>mR zYw3T3uIGLZ@{+nV&n{lVaA|WIGPH0N9bX*~G;ohm?Fg40jH&j2kK1#Z}ALdKW z2OHSV7d+uJEXJUBwVC>0U45>8f>nF}t{>0!s>HF9`(|HasYxg40=@JP4-Gs6Hi5xV zVJgN{&HeCm8uLyZ$Z->FJez?Axj6T3uVcoMG{$eG6Iw8~v>%Hf z@7*U5_(}gT#>LbOKBjePPLIpQ_y{j64Qm#Poi@==D*F3Tnv zrj%me>+I&b6Ux*#&4YQ>a{jY|GSYI6rqZ?Z8KQ%XUR%d~v!LG`5i!b%7_ABNXEVz@ zLPHS1Tgu*p8KfSo>RAa{Yvi*E$*LDGGZLshvLrWFJ25ul8}*J2e8b#c#6;9g#=y&P zlVtIhw@NyzJ@bomGLm+NXhPW)qWp|%(9FA7Gd5u4(OM78e!W}o4k|TF(QTXL3#b$? zFON5)vZD{IQf{!$5V(?Md-oS`qLwiZiu!33s^n-Ps%CKORpFq2&i!5>l$m46t6&|? z9Chkel`Aog#@gCMM^sclxATFDDod89Q?h-hsgV}_WoIh<(GAh)Pku7SXjj=0j?`4^ z1(Sq@@g7xk%o{9|=ytuTx8kiq5SNI{l=%+dS9f)_`npzhtv^s{BKq|Gj)b5n-E_Sg z3BtzWxR+!&Zl(Mt0~{A|B0+(TV>C(s83fogvvi97p{GUTCPrCS>gT^u0)8*@ze%DuhD`Gi{aNHH$lE)fc~oTfj#E^TdCBPO)NoP_`zEZ1ivGVF zhrTs>ZjT3?EvWqr0Wbs3)RT8?fXDA=t2qS(zHIyqlZBi8e~>u~L_WX@=!{i>yJfOr zCd9%84|reBFUSKv4`!5~SX8!q_Q-L0`DGh{){5vu=l0w_N${64Tfg7cZMt2zw=*AW z(SM^CHyp=+(8u`|b^bx>61OV&vp&TXd;Gt2{PaG%V^ao)uW!<*cljamcM_I+%;~j) z)D}_^=66^aR#(7@PS7*17Gm&wmN}2%+`VG`F>17H>&3YKSaUhlFTQfkOxXHE^IUN= zc~WlZntjIhOTG2=wRp)qZ_gRa^j>Cf>oi8C9aJ2aZ&AL3pMptaTL95FQ&4bWVL2zh z0p4W4M>8O#NcyB(GVa%xBeQMt|8WxDb3C}@)ZV`5%XWJ#3?txB(zugoEJI?9y^oVhpm#<1(DYh- zwAdc}N?dJNo_P*`W_Y2O>e=6e3qbJ2Prx6&vR{v`dVLHeU8@svTl*VUUv_kRWBl2w zKX?9RO2vL-Mq6rgatYR5a)xnb>Dt zUVc%AmrM8DEo}K`ucG=KDbu4ZVHV5!I$pt`cGgw5dN<}$UZmDD$GKPCwTuU!ZBK3% zR|DT<3s`c`bu+wqCCH-0hLKp~1zBxvH{40?agCizZE&9-MaZ5=4_YzgdBBh#}yiMMLq$Opqh~uK)1WTbd&`S}QWEsa0e!!~h{y$Zb zC&?#GA zbnPU|IXXi}Xw;%xXSQfu4uSL+B_zt0kuNU^LH1aD0DPo$nCcB+9r+O>J?vhNXeK7E ze4db~Q$iv=Pa?;Tem3|=%<_$(TUl6`98#*Z!!buRu3F*(5XG7 zXpVI8d59xzXwcP+(UB`%RZ}Bz)RJ6Xc6iw5OZ(D@(#VL=C8C(o^7Wp-T4VjCIpR4X z)%1s!m_($h6rcSD&|}6jw~p?gGO(z3mP!{WL-KV^Fem{`xys>k9Pi>7ISP?1*DWQI zZp>+K8fs|RqrJ>#M-zJP$6g%_ocUyu>xvNca1bxeQb+WaF4dGy{`e5~qvQ!M5IiI{ zBkYTCMjvmLzDM+X42%v%lQdt0~_re-^@Adb1VU)T@t-1uy*$;Yta2Hye7_6Uy z{Ja&+c=-smr=C6OwHf5=xh;w=UD=Iwrj|Syan#S`?tV>uMg1*_+i@S-H~C!iv;UX< z;Kfj^5gOIcFM+I0@3c}ZKUEvt@80d7bsG+UQ$71P-&cn_AtP;4<9$%nNLVG$HN?^Z zFgU*6OG{R~v}DY;#OIqB#=XmAeVEtbxi1dfZFCqB+sU$yNb03NuT_S9 zXq6@2qNz=fi>pR>WyhYzf2sO~({h+y`3hZeY|Z1vm#nBtyz?b1-o2fBZcGkmDJ@MN z{MJC9VJ&m@FvH;t=Q&Q31-QXJ8e?;wg%(+xp$4 z{_|;$@v`Di7D(9pAO`@#w(&w_=yV8QapJR7dB{QL?Zh)%q9Yhjd2kYLfVw<7F+4gl znSSJwXIx+ix>BhWi7X^T(62r9|H~7of)%(n zpb}ECLb~>{BFUp^vYWN47_6HFE%+VT+nb+Xy5*j!7(e3~cYD;;N*olAPsskuGkWizIf^jmn&)npmQisJbi9 zAgbDA=9IRtW!Q`-E8Ka)D?c|&h<>a#mdaH!cXe(#ye3oy=&l1Kf}4ry!OCs>O*9r2 z7>ayXF)D0ji`V(wCez4(lIMqf&>#wXV1UoR1adbo%Q-(At|hc%xJay;j3$8{jm|Lo z<9VCnrs690sY}1$(=oMnf|pTsJWAv6W(t>NXgnX6vlNQ#WmhP&iRK%fXRZAy3R)7YQ_Vl>z5HTP!DFQI#7;?6#oTXnaABghnh6|%oLwTEnl$m8_cpSV2C=I6e67al z=&7&a+Lbc`=B2Lp>Z{BW%lPW63gm@*4FwrN-^iwRh=`>lpdMlCG)47BMQ}nY} zQuaj}4)L5>@mHygn^wa|CMJ*6Q>imD5sQk4R4;2G3mW3EFyWDq!^=YiS?}3tuQEcNK8_+yj4Yj*lOy(>CXJ5?r(s1;i+F@rZ3|KH}<8LGa@9!j%1PPMs`VH zfG*Kj>W4Kd1TIRz+6c6*|BpStP7PanU0*0F(9IFNo_TKkeLmrsh)hk@5w+XSfFxRF z0gHskXO36>rR3B-H@q8XO@WHikk6On9-DMVk{eyf3d61{CR;6diIKS;~^2g9s%?`9a8CBa;6x^_4>&lDh=s%6vq8$gML{y&1(k)$L%W@$Eq zI?ttW|8KUknZnqWKiB2D?kbne_z8f#@eHEJm2iNy-VYiOp4lIb4CiDyhohk=6xd`y zY&=XHg>aQItfc+DXpC7E{5UBtqNc3(@{{cGr1fQHdgk+1a)OM@9z6)6`E}`s5>xIy!1^IjuZGq|wpHKxI(5KN7TS>If-(s&Fwy3*m1wvaP(| zYY~+$FXS_2r+g}PhkrJx{xe+ShLuX|zvnvkgB`Jz)WX;4_hNOG{==dh{)B#p+Zj}! zNZh@qy&V!DV*D=EfC|Xl_MT{|wp5CjO58y2Xgt1gOf?BWA&k>Mtq;0}{c^VhYi8-3 zT|9UEJJ}=_B9j(-{VBGJ!%@^ZG_-|^kqCRFrz3WljOAg~^84@b8&nGy?fHR<@d!8J z?PyQ-7IMXNKRW6i_4?!+Rs&uSS%{HW z60an%aYAa(?diVtKkaB9QG4Fj-z5A0Nx8OdwmWK6TN?60vrz7g9PS{onQzQXaS=Ik z=OgdD$s4&9*UuUG(!u6;JVFCKx@F5A9%;`aysGM*Rw7QlV4mjLon};XMgj z8neaBF=i6<+6msn>DQ3ZL?!o0{oWuKY5%E$fQ4L&bblD}$&nF(ycV*zx?lnP15%1_ zl~t}IMRQ@$DotyF6%B}5tRl1k)X<;3)YGrK)xtpMklKFe#Z!pTz&-!^AfyZrKBxvI zQs7=hXz0QzCycLQNr#hekOLlEO~K~X*bAw9Uxjj|<11?ND{AY1sN8Pr0ZvV?9Zp)( zQwhAL?%eUT5xbzDK<~=4NnL<-vC_UH<2W2nt<8{O0_2Me@5hz?TBFp4fh;z(1~|yp za9sOQ0vm5?(xoPuiZojdb7G`+q&69ZH1?R5*Ao}^ViuztpA4CTjXn!=jowBXWqQx23Gi?~&|93wywNWL z)1X@vhLLFf&x+4{GpUP1==+V5aW+54<5Zwq=R%P(SZ4uR?I#I`m9IR-f6Td7z1KZG z#5{vMVDmCz`A?CasJ~PBZ-OA~=}D{e)$uzkmGY~v7VfN+N4vv!CRP1*a@42k+WFh0 zzZQnHS1$JJSKp7N)x3CH6n_7z&0rz9y&^khJ5Esqm%beZ=E z(%_nkTDSOnw^k~>xynYg!a#*(>YMzPpFEo#VKPP3NoP1IBy8PSRwK63pCotqRxcmm z_5NP9wU-8+Q6t5S*hs)B3Z@}9u~S)F^}2Zby7qYZEU2nSjnd%-0KPmIk6y~-$i&TW z`fNU05^U+(r)EY+J5LU7-Bvf*l9NvCLu9g5^A#ZPw-yFZefq`>kFg|cG2_9t(&`hB zuV`s8^c(pSpc*0r&8c=2(P5gvPd~nzKQ|BYXW#1Tthbxo<0+`5kDD;Wkvv8@Lvo^#mlCm3v?WNQk2xVzbs>%w5R;KySB}h&|+_jt2N*YWa;C z&?cZ1;OKif@IB9r>EBh)oB983^*I*C)%@woLl2H5_0_d8yI3lP`cFuYyRSUj6mL=o z4&?B<>=pO;|9X-i$Nz_Sd(I%uCmw^CWR?Xx`?o|OTe}TTpe^4&;!}0x%ZJ1LtP2HV znf_}+Aj=3_EE_lM?-jd~$VDRM8+Ge?zcE}6sJoc2_hoXP(tbD%W#evmw7sV7llC-7kxiqZk;(rXVe`XVlrd#({bf zcuvfEk=+vk`|p~RO{t7X`IyEf3QfhK$7n&L17ic7;`aB%J!=OFy^APzd%#M?l`oCM zavMIo*EKijr9^E9_wIygGQCr$pZFx1n*#X`P6haA$&1s!@Y<_2B7f3)2<`TW#YRN;TpXsB&@*!7={_wg3o7zQy^isbfQM6fgx6K({ zlCyfm;EsWw7Z8_L0p^PBZjH=di^+#HON;z?Cj#l>me!Pz-_;Z2@VTcw? zA)8!FkHoV0c*pdIp<2edr-y~1Mny;nncr^+Co&W&!v@!6*fGA;8O=AgQ0^H&t%V!f zfIKXL4JvvP87H$(M}06i6ZdXuL$esjjl~RJ_S5$73B!p~t;c(63_@@L5^1YnR}Pso6ZV zz2cM&<=?hht(-9ti@YV!R~BK|bwtt(rcYvKe40BO17Z z<*5ycG5R4SPxhOGZPuQHWO_DJ{LMJyQ_-w~QNlyPO+tjk6M9Y?LJ(nfBK=YQUdhMk zU+Ql`JnV;{7$`dZ8EJvj(@D2=!DCDwm0~~;u{68ZLl(pz=nzcTX|GoD?z7%BX_-;( z`{9@L`2EtuwtrS^BzPUE4I470(tn(buObGTH9ZC~+A~K$ul~GT@B3d_SgqG3Qd~Uf zfSI7O(<-xP>2i82ZFS`UZ*YLk+E$s1m(B*(Eww4e;d1LtRkUyt;e~K+E6IdH`Ibm9 zn@oEhhgns?>~szdY@@Y&1_w==`Sn&!|M?$EkdCiP5_{M)KekMmEC5QWQ33i}eZi5u z-`G7gw_xlM%$zxu^a7%7u~L~zn+V-&eV!;>-=C`!iz!V@Ni4Uq#)F#)3-qj!PG_@q zSq@`lE_y60zY!hrQn`lDm(rI#!yOq$=AKsJxUuX)fw3@Z9{%^Gh0z!YJY(8%%QUBK zB-hX-#x=C2o?FIzSitRB?d60!Q(??EVd;d3-XKn!|MelQI^O!3>fk5$Gu8StHQ)zV zQGZ9jcZ4vDJS3LX*C&v^p@yb`#FnbxM&$c<&VvsU_~0XMJKurmRozLe;`alnC;l}C z72W6$ZfRe-#ewvof_`;e3`^@Fb>u6`xrZ3-7x&zAkBDvZF=pjIe%6u{2OE9T$T-?_ z5cdzJ^d-vH?B$>i;uo0XyZwBrl^Fj9C-|e}KeST6G#)>P_=ycS;(TvmlJ!G>Q&s4Jmgjm@x zmF6Bc@(-&~QGLVzu2e2(d^__6M9PLdfV<$@%aK44z(kZJlg{PyIMYh|7Y!|hqf7>TUA5bcAktFFn%!)jNLo-vjY}*< zMj$?9(l%|6>913ivN8oy3x9p*os&N!7P25MA=g=BiNDuVf@^&N?d~wsv?IKCpy$FC z7Bx_~la4Cxd|P!qN>W!}m$u-%kOjg&h`Z99DdrL~N=_*D`m?sVx4V5{!P%MmbgH9c zQiQ4F{^Yb}`Bjh6!-p=%bqDjHkf7h+-6M`ERyZ(Nj-FK6tFMzKH4{vkKw zR)IHxMFKy)Wm=6qLNEzc<@A>C{&p<2apQracpCgduB#m{weWcFrm){Qu%+&B`aqfr zw~-cyu)j1nC%#&hpi)PR{Ti7v6YJNH5V8NSuEqpJv`1`r$z9;Z-Q$^_(uvv;%9tzfBFAhNd! zWqBE_I_LX53x1xmLtp?BJJFltzGU87kE?jW##OAW<@d=-#l*uJK09dmlj8Uhr49#c zBus@L(7I^*S7<$9383ME?M?N!B>!x#GyqK81s}$*b z-D*4EN8V0^jYVeq&@k^t-Q{?@@*KQP?cQ4tpy6=GVa6q|dA=jLU3waQKI3lkjS{@! zSr_~JgFgzw5g4F(*1)ZK!tq;%p(cFzu}#|C?gEi&cY!gkxPp-r zDj7T6Q7Qvp22-Y!JdDS8&8)b6Pw=PkhpH9pV$$Iy39%^bFcNBJ5$0~f0ykNTem&L? z0W1)}?el;D;*nt?^iA4^CD!L$z4JS`tf=sd6iusow?z5eRXEVkTUL#b?PUQ z`uM$2cKBf$;_A#g5UbRrb2nAAe~MAQ*h|w~pv} zswh%9q@FsJ=czNO7u{VCvQJ^;aBW(mzv^~%NGg76Og(wi|8w-9+fGGD*;}zSKFt6%LoMSW@*&k`Vi_b?xya_ z=(6QvjC_;QZy?|H%#93J^wO)wt@U`<#JQCe2Y;wgLlWpZx4B4NpB*}m2c#}!?j)^J z{$F;byouidd+1~KH2I`GM3rLi*gmWMh13qVX|v@(%D5BQP98=ZNqKH%RR>T>9CfdF znN5O?#gC**q_lNSL<%ZK^y7H^MLW6Uaed|iiF*j$en_8&8_W@E@l|@eudfdb*pIv` z0xL?&h==EteJKNgFW;obnz8H=W09FndS?iFbpMPGI*Yi2YZhk{AZz5E^7>!W?#`-OPc9KlCu)pBF+f*w!|`+w&~^Qh<4{JqZ+4x0 z)R=HC+0LTa-5`!x)-c@z;0w@bx-w8Y&YdpmtK*w=ACk3GHRUR?%1$JzDOcDTCv@Y7 zjD1JP%U^j!>c7Nx)?ZuIz%7xdPm*l#Z!CwG_h5B~zMSuziG-ZZn8^3(_W-98mWS#d zFBVTlmIm)?ZPW=)+8)|}=mw)hgJ!Gsqb&;Nm_YD~P>6phX*X}n6I+~}w@@q;JIhdD zgB?kZ9L}Oby~t05q3TYGVC{Oc2omsnT+&u@(70hA!vjE~?91^QHSFcNC}76*fC#8ssP=z(e6(!02SKyHWj9}(@1C`lX9_s3y&ZMZ|ua8|@ zGp44()IJC8fBc`?+!fg{lW~n2!nT*C6rwig-;oG@YyKOE@$+>p9->vNF$vt2LCk&n zA5WEKVm?(4l-JcwtGN3NxUswAN4u;fd3t7-L1b2o=3n*S8}h@E+ia2hh-%9Rp->K; z#WFV8#<(cEyOrh!ybH!>Q7K9(q3kLBAY0PAIE0*X8XOW zKUw|)X*+<~En~A=P#+5(_ggv|jTzT`Xji^h)}s9i`fKMwSv2zN8eGg~i{jN;SF-X2 znuCEBE=y*O+OjiZ@Ep7{iJY_4#sp=cQ4uXvS7T1H;8w|tw?;IvS8dERNBqYqtf(EB zwg8n=@n+iP@`6Rq!3{FoKtf(RHkQ1-8u9p>_6CYmdPiLSsc)r}WcPA=j zw=s+<@(jdfc=;N-ocJ$ca-8G**1S{cm2AS)S49HtO=gZl9ee(hzxb2CeeZk!>iR}? zA^pyw($H)2p>X+dv*Ubmy=r(`dS5prbPV?@W9Sd)wcPFPua|i@K(S=%qQXzmUj^&Q&eTTfUTmvi&fxWAq$);81_1j z$lPV{R3OLo2W08{UDs}X7&a_U816cuc`0G=5Egw{*0I-zlh16L2ak9V0Xrq7UH>43 zn<&dYFEGiVOd%T$Y(>{g;Ln-Frd%=BG^WNP&Oe9zza)aS{e#V_LT6(kC=5@cC@=rz z1u{WaYKI3*(17E|Npe?6E7!Vu%bzMg#%VPT1a)=F`RoI)DIyFJ?dGDHCbeksHd-u~ zGipqaxiFo1bTf=Q`qCcMxZQX>Nbc^OYok-7_DsD-x+?SLo);L-SC_gu9IKzez~YhW za&IJDSRTP_{TGO$deYF}NDSHY<$_8VJgM>otGz6aSalGhKB?;qddi}RcT^QWsGmnH z`gov+Mh>?gB69nc!SsaO#xiS=F3&Agb1v4^)g>8sEx<)Y1K)|Gb42w+y`+%J+r1d~jKMGx&?Piub)`r%oqf*`aj#Wvi zw0bdLx0MM+!rcRXK{9{*GR@|fi$p*}W)Q`b*Cmy2qjTgl^uX>w9>Fb|C(}hHnl<-2 z@m^JYZ1cCI#)teA<4&~9t_qr&yqDt*#h@pqfUZ$)y#&?kFi+E z_e&4oWnlxACae_7iIejdIhkmjy!YLw1hI`~#JfQk$Gpe2d5Z558{uLy?_+9N$dld{x(HHyONxb&vpt+8$ zg140~F*91$pE1fQj{}i_QwFe49&e0A`<+>3Tr?h*;#)Cs-d9n}i7&-&$x&2lG&C|| zTq@4nPvu4q``=I_o}>xu7~|Wxjp*wt9QMsjxlx=D))mt(Mq-?p5&9OD_|kE99dPD= zq&3RiGmqIw-h@^f0Us9<;iHzN8HO6iIU>ZQUa%GaFnTV-0#Eq6vPNY#GMC_)EsPHg z0V;wik@<#TJkon=U@+7k3Q&I{5yL18h07ovcQV@&xa-8wzzM?}N(DXt8xQ@n!$!pP zVm9Q5$HUn0xKeFLU!}3Ox94hdUG{YMgFv}NL*A+qWv>3&n#F_#1JSB@3IxOJy?)Ha zo;~IKVpMwF;1bf5vy~SuL_q~bnFNBJUUv2oV$Xe3i?jYM+vJK4hK=&I;S;x=dP!cr@Y*~ zSUT$Fn-TtT_3%3>tEbPg59WYJGXEWtRFYx4lWC319I0ffyHhW4#Iy3KT?1G z;u)!3*mm0qKvHfLwj#XPYil;OJxZQ@&87aXcJi+a`A?JqUvbBO#^x*yq$-MS`F#Ab zmmNNTa{2V(SL1oQPhY_CH|($6PUp^zEZP*E6Q=*e+i7Ge`vwz*Zm=QJECLb7QmCxx>|<& zxKy8;NMT0xU!PaG5j>RsQPZ4{1YVRY=OfX~xp$Tf(WcJu*v~uo^i>0U+{`Bu*s)aPt$o(@!JjRT=T zq=vdklpEJ7X+t4W`5$rhPxb_OK6-bv`o(CS8V$YpqK8B;@og27{*K>w1xp9FG!SMh zbpk8f!vN&`o^t|K(nW98sezpF^HRnSJK<)yg=G{Fue1{BtvDz8+xn9$1;)Y?mL=YZ zCDIeMBgZI>f19O(!jh-PMzkYt24zLBEYR>P&YkBwg*M0>aLQ3?(Fcr%vJnq84^3JI z+RhUj;ldRDGaaD3VY{m48fKw32Qrtv$#}WSs5dFTzUQ?aI&=u|fQ<=a(zFfG?qvux z%<>B?`MMFeCjF(6dA(K&5+Wu+VCdL3*s|qieD1tHOF%RI>aG(!z?2c`GT!5!P&>kH zIsYbVEj7ORGU!9TNQRoSC>Y@rlQ%FU{Q8I_0I!@zY{$)L@d%s+_j*q#kSp1+vSo4v z_VLa@8io#+<=>(x)#;DWF70jF5SEKhyJTmwzjkfC@=*OhKI(-H%5@z_WXcXxNE#&g z><;+_DSz^iG7p{ktGh&Pp{=!qv4cyN5H^Ie{=>5d-h=yiaHgN9@-n!SJyUUmNHU@S z{Q85GIc*)*xud1t*LlC(uHPvM2g|zDUz{hXzdh)@@mH7nzc{OhU*uwtC8E_hk~wc( z(D#}joz;J7U`?yHJ>P&BwFTRT-HaskgEW=fHv(mA&0s61Jz>czS^JUPVTe!MZVNqIVFF$T>d0?@__Q(ml(!RcP7!=I3`@hs^FT!Wck07 ze*E3 z8}**s!||v9vFM+e5?X)Nc6H1hJ2@8BWByN%`ANIGvW)FOEhcXI*OvQ-G!`6HzxLuM zx%=v(7m|PUyPL8*n?f8)uUzIhuz9o^%U^!$waI<>cq6vnExu)r`>8zo4eoCTAK*sQ zDCSb-`aeVn398vd99XFpL=sY3OCFC zX}tVgF>tay?tJcw=~wqzW~+f4H#_S~&H~D@QKCPrmg%afIh+#zE4AJ#dkxFB>HCL8 z2C(vA4tjkl5r1N%9IrutxWj(n&}$0Fx07jn#e#LBNb?#~bl~U78WB~oI~$H1b0Uek zfyB|2{s=^n4g2De_|m|pvJ|W0>z4+d(6s)zAlmH8?-ZxQ?Pb7LMV zx^|lCPafIaByJa;wRj6CqpBk%1dQ^l`}HY7j3`FiTWddFhjU88ZLMSuTgBxwY>~&y zt`~3hbv|FQNjNgeNU=-_Wbo$n4&ougFJnG)`3QW}a>bqZyg|>aeD-`xO8=kuoyH|h z*GIfaDq3tPTz2)m^YTtj?!YU`?S#pR94OCh)+i*0YYGKIkuU+I^+(A&I;$(ZRB`&h zc;bip-w%A7GGM5H%y3CJ>icXPmoQ`*OgOL?!wy5U+`3f+?(~8HX&c)mqE-E6`&XTB zE`fzA(u7>-mVxa92$8b`X-eJy>OPy~*2T&NJzNzcuq(k}Wn88xFhtMjmm1g1aPeDr zDJ zURy3JURKj)aL@ZXB*`vV>~&0EO9E5I8ofr7WVX^H{&V2{)azzq{YbkgTVEmEhP;S z-)=AlB3>#*!RpD7U+xBtj{rcAMn#@PtXQtHioA7Rrl!GC^E?m&c6x$);^&;5Lam;b z+wQcK%R4*~`Arfb#{vOM+<48%NG=a9Y*suM1DmWJ+L^aVQE*fmu{}|ow_Fa$PrxrZE2ejT`L}BifMo{gYT+LbmA=)I6Ld^%RXPz`7q|2iG0hYa`%`$GhU+=yJ zIou37sQ!Yk{Xj7Vm=LocDM{GJw~rE?NEEcj(#!pK8=+6618Ij73{%4Nxlg5(Ixs@& z?V=v(cgf=8^#vgXV+>rJ$g}#omxgg(=K-Pxj1#?MgDGq1FD)LPoMbI-&;gH*){{co zOJFnf6Y__cLr0*VRW4}I&yP)x>1poo4UzdWk4D5PwH`REn;%!}n>1o~g^fltZ5`oF; zn$2%&#ub*u9C8-x<}Dj?&5M@^7LE*g)3zW)fu4N#s)LylQrNt-yp&o}G*1(#-4cl? zWvA`a)T?crzXX-6T;eoM^1!JEUZ`9!{Nmw-?8Wia)U;l^bKtrrZYUWhA}86kyDHrl z7+x~rf+(u4MrZ6Mg>t#D>ahyOIl#R2nSdmwrAV2ydmHtm$s1drBLs>@519UsdJ#%B zE^+=vlm)IGnW^BRsYSu5uLsjv3O-XeS#Hk_J*nbJphx$HB5j6<$E9Ic4S!qz{@o44 zL1&G5dXM%`#p6@!Vs@;5#0~R3k0pn!xESHlHOEO<*w0Imi z^@rUi9xe~nf0%(ObHzN?dO)eA_Spx7L4G-H1%K|zlV@qwW69WbjbYi&Q9dh}%wQh#yc(|=M2Tui%tPB-Z%>OVR1R2716o3SS%+Xc%>AB7K! zQszdwgcQ$UL|vZG(-H z5(wLmg3{)B18X>&=zLO?Rh(Sd-hP&J$3 zGjL4qDR4RF!PCj?s;>F*F>nN+z<$uuL z;I$qGt=5UD#pmso^DWt>C>bWBvLPYRsdqO;Am4_NGd=6CxKF3w4!F4ny$X|ym)Me= zKKnOI7I)D5IvDwo-NuVgn3^y7BDOE$pWP@T%3A)Q7H8xUy=99RQn^!$>zqW(_ge*BEnn^5J4!Jqkz;{D`| zSmm%UlI%K4DrdJpuFn#GlG-{WN0W=Z{f)mOu^Z7RZs0p!S z!n!m}Cww2ASEMVZ4@>%^&&6|8ZEb6d*c(Cdm7CcU>4o+!YOz~zPye05;#@+O5oHAH zNkGjVIiNs*Q38mh&WfH1s&kWkqF&(E)HUd0GjX^JuJt3Aaq~UAMi4T^Aw`_F?QN4` zEL>AM2@8gPJ|nz6MJHGc;uoz>;+uHog{E!E8}nZ<;@!06Knb{XfP5XX9sa`Q?2YhV z`MXaT3r6Z##KF6(M)I#nNWr(>Hi?6zgg*BneH#J9%Ia}QqZfl}q|-iyTT65lfmlT6Io=EhSuYO^Q7E}C0&H}Iev3Txwju z`nl#UEUYLVkASGUiO#T!QnKVR&EaAymjgIfEod&}=FJVb-RjW((Rz_1z}NsJiTXX4q*zxkpm1xs6fT;*nbDTI&QKG1Fy6hf%J2Eeqn3b z&i;eEE^9K(-Vz-}je4s`5_YBjDa;bb+Yh0+Q6>JnC>+36Uk-(1m=GR0#+@QHcKW(^ zH@N(!As#%65*^U=RiD|P%dsE-5ij-ekpTU>xnwzD%_5ioeLGsq6lof71eJbXLw69S9V$_k(**_mGyqgrK_-f@9 zPf*mIi(F&~VbV8CA2;Z$b!nfS?t`}&5j}P#O^WoDN?s%EOraO%+9OGL{D2)@9_q}K z_Q?g0@YyVCG zL_%c;k?okd^l8uC4gfzWm_ep9-)#(md5A!xD(f|!Co=xP4Pk76 zC4SwUxvqFD2ASc(*Gs0-pAZr|eYs%oD+vDS@hoyQON0-T1fU^=D#8OX7{Bk(m37XQ zXK`83zbtODvmgqvxW5b2g}2Px*nVEzG%b{#xp5;RVigDa`y_HkBJA?v2rnew$~;SC zvFr7Nr=u{PdwC|4UQoEOCD*woNsJTs_lgvsG|dfUZ)Qdh=aR-b=?4lLIIHy8{5KA$ zfR~B&pDGk;YHG&Eo0`TCG#yyBY#D2i;rNulh?0je!lmubRw}k5Y1LqLqRk!$p_{aB z-nVbns#TAN=JeWE5{ZVm5J8yLTNCnsxk(nrheWBiqC~I}?)RR4`g`;SW&}q*TqqP0 z>e7Lpga_DlwfX?JRMdmYTG^l&6%6~4@=M@qjyCKehj@nYK)QrH{CR<&-(gQbWH>iJ zuF9=Od}egi%Sr?nB15n7+~JH=A5+&zTX5}BEWY8AXQT5s9v`QkGe2bl3}fahj?=$v z?!+z2h7!F&((&R{*#5A{&9-9Hwk9qx>r6V80x1W?Xu2o(b8XmrEA7IVB0KAF=IGad z7U1pwEwQzi)#tHpc9%g`7V=+9`w2*5a&eXXa8Ryton(IR4=ypj3NNdCG86Sg zJ@jeTpC@?_$?2kKAr5<+mtAw+-4bkMd()2v1Wy=ad4sOiH{g9po=1PfX{Ab9hqYr? z7Bx`3raR$jXH}(7N~{5;x-B7SV>`SAAN*H$Ja*i??Ohak8l#1^t0&?lY=dS68oQwF zYq6AlsEEIkFwp@RoXL}JFG$d6Uu*pAs;i!@3#I^)LGr%#rIgfe2&{szkfh->K=0@uk*bLP-Zo}6{157fjH)1v%L+pPU3edw z@ylB3IKn)vV7;0k^pyT6Dv=F38#4IhQ>|PCuDsWV37q<4yYgvuVkXj6oQkT9gMfMA zlL)+sb~tE!mEHu4JZdRWuqcDF&>4!_e#veN;eHg^RY#6Mi$93hQBk$;uN;?2BWdR^SR z*M}A)X>;(F(11sCtt%KW~fN?HN5i z{9%CYxnWi2w^pmM5o+C3q@?Ugwu+gr)GZWV7q9ZWr!RQSVS0?Hfs+-|N`f1h%NnV} z{{$xtrEk2V`X^Jop_>j{H@OX42eSM%wH^^i1_b-qs$9quJHPEr zsQVxJvYAHWeaiU*KM%krqsC$-$vLfk^+u}6NR21sL-xH42{Hp6H*X7=^#g4vi*-GB zs+!;(k(JyAQ5H#;mbvYXdV7$fl(lz!JZRTgKsQq<0nO$W@LrImjLL`xPkVRUHP_)m zPJ6K>0ZL}-NvAVR+jnhp_4L_dj5=7v)4FLo(^PyV?vRU4gCMm9Ode88v_6>U404!+ zXb=B*Xm0=P+=;MiJ9NT`6jl$EBHi#^Ck85IL@fF=c;k%(^gkPv(pm>O7Il^r`3A{H zt;O5y-``wvS;h7e+*5SUIW>IFMfRd4yhk!kP`*wV1qryK5D;B`n0?<(!@Tej=Df-s@&@9QC+xQzq>OHks-b;bN$F55*o<()=+ zHhu&CDoG0I%W&fLxS)4!!Fw!WA!&iLSs5^nd7+()N|iQ~{~k1j!K%_%Kce1l0c&TR0Q5;IoxayP3wGBeX$E&pot2=x0Pa0Xz=hji?<(fy?anYk$3J&7W22fx$eSF*WpXBy+ z$ho$ht3Ovi+;z_Fb)3VD<6cQm90R+WM<(n;`ljAUp{_@v?&@cr~#N| zUVof#%cZWcyqD!#jOaC&FG%>jV7ypncuLra^t^N7BsOZf&xT8s)Xuf`+)cKBK62{2 z!UD6z_@Eu>{rEuJS=0#a7I}P=faCkj=OR3(c~TNL?Yt=x#TcNM%rC+t{(u*!#m(h` zLu{a<%=~DFj>h5n1CAOU_HKoEJdhUE?g-$ZE%PELZ~gKm z^ap2Q2WlJ@1CdXsR>ZubL+e;!Rs`W~I@CBR{2O$t93YBdDYNEBB< zg0k6o&mpxIjoE$heN~%;RE>xvgqM}J^pWmxmL=K(iH$aW&&wqMqvOo$bBQW5{i(MX zA={6)@P*Y}2$ zrF%@u1^*P7nE`72rMj}?(byXLpQPqafF#Kf38k*YZke-^6cPVzTtd792Z-?GNF&1O z($(?GMgq4iLiE;$!m=6vad+7c>Temv4R`CW4G5P(qyDy93;wac{@fnmGHkUN2U7)( z!w^~ygg(NhW*^UIZq}C`$1pBLZaKJ|t8D6;kJDawRE3RA^Vn(&uPPK&Ug#z7F?^{f&%cWhCkfyGk9;PRT~=m@)$b=so^V z+~UVJnd=5YeMOE-`9hAa0(COaIHAOBuoe-siSt*B4~VjUC`g{Bt4QbN0lj_uYDw%I zO(S6;KhIaI(T1_!a4N{>UE{0cZI|x~h|YoKc)r){%75cH9%F<3=579v9)7{jAa0A+ z0vQ`k;xqilB`ab^<}`j$F)>8_*R_i;^AFs){bYBm-rx?qpY$FyQEwKDd;1T^A}^cP zyG|VpbgYDPLNf7kv53Yj(uN+uvvYoTZK?mwhNrL2;p-hp?iYL5zb@|3wHj?h8 zCxV)&?kLfWqtj~0KD@}J!QS%Qhi}-Rzp(hR)_vtN`oIdRkD(PI;a)+mzh3`xjyY#e zpG*=QzK^Y6G|NMJj=<)lA>ch9_lTMiZp3KgRB+eMP5aM22X+diVg?tAERYmorvMUC z{nZ~yua_?AEAodN92h_K^TgSEgBheeDvY&0dK!2N%r=|-$MS7%F{`{<;e&?`L`q+} zoZD49?boHo3XxW7?f3V$n~nUbBvYhzxr5wcs( z6|aMK?S$T_-09!zmXM7{>`qTe5Vk9r-xe>%?hJHOFu{f+C|9GP6myM{mpY zBVgwnp7wtU9V`kbG!}2|uQyR27XRGk@i)22vwr<%Qnwm@8{w4btoY|pv={%}A739w zI@@gz`LF>WR`d=Vn$6ATZ8|_)*MGh$kG7Md&1pYRG<3gqUAJuEzNhV6MVn*6IqQ%_ zop9q3rTuAwfv#8!ttAq}5WGx|;-$gPT-kd;Ft2b9J=;=^d#WztDWM|!Ao&c}{5-ug z#1C_b^(?hTrE`NVAW{S#i{E*E5b2noW)z z9)A5(CBe>WgIc?N%iNJF0)FIfPi%$VHe~)#Jj8GHdj(@nn_QIopgr8w_o=x>w7t(s z=YyWV28`l08+v##9;!L;e{Zl|@*gd93;Yi8ltgy)C8LF?2b1R`(k#Pm2D7!|#;cgbD!EWO&nQ_|O& zF=8~+1VBcT!pNC%otMa%;H)!im}bJuS`&t``O}}FAPdK$CM~*wUJ3k27`V(0p8Gzm zzWR}`!uW!|@LIlkVA=D8$D};+f0<2P8tMn1rAzq479q=k*>5n7<)UQ7DHt1jX-Ib^ zS3WRjM4w^6xr(QPN_z)UiUb!8n{U{0V!}n7Cd)~_nd%D)tg)BmW~P~tf6br~jt_cT zV_N@x{DxrAD-);@f_d0W36fC=dzY@oRGk@whWART{ zb4c+|TP)jU5(`p{py>*IIA(P1dS{_RTXg58^_3Q-%FkKNmDePhC8tWoxalV|Gg$U6 zko<-`NKrZ2UekE(+%`3Nu}nRJhQ-RT?$Yf1xuyE|qwOZEnJb&%k9oVP)|XUt{fp`v z2{iQS>9TMT1P! zwKnh6AhH$?$@RNNme)dX4t}z8a=Mk_Zs1nI?gvk*Oh|@X*-e=mF^=aY(?{WBdd0Nh6L!xETg<= zVXhK$Z!ANL6`9>TlkwTA>uZWWWjCmz8QP_+jV_8xxiTU-?BUulQXa7u_3Z7HXAF=Y zw?5Tfa8up!9%XH`POJ~AYmsRqsMn5JL<)2TO)M&$K0W5z_LMZOV~jrB{=s$+=*fNk z!otCK-U0m2RsR2x4C$q}bcH99b#DG49I>c*YT{>Rb zT&vRNqX2R3WTG7}!fWl^@BfTVd#_$bgPHU8Jpb3<|BXzzh_s19agb#bB8O_z;jlxh z+7k`lQlZ}8ve|~;pja08igjP7CNn}Mh$X}U)iCUa0sx90t!3cMvC-&mRi9XYfVqn( zIMW=0Yzlj-FYVs*VC6+}Yx|HWNYf*K0_{K2YMOXxMur#Nh}gi}i`md%ol8AXZTe@i zxCS|ZtTE=%9IyZ#`z2EQ4?Gw2SWJ&Aks|{ux2%rmK%=@#fs1RO-xK7H4KN;jU|kL5 z;%T6ObAjZiJ@6p3WH!h8;)0ZiP zAWZsBC)k_QMAmj@$&bF1pJ#{ipwswr`;e(}+*KC0y~y&!VT%Uz>gh}F!(mu(GI^;Z zSKh!pzBj!WE35M_dIZbVUmRq1CYwrCeTn3pq!GXsj4iGXW}Hf?ze-{a_^8u0CLu6Y zJzs4ZKce3i1;v-2YBdj8f;NQ?DPQ9=9m>zA9pWjpHBKAyu^OXpS=WQ#d}wU0dLds@ zm+_7~Pb5jGQXPP^Cnm14&Kp79DQq_NPC2D}N6 zYs<3U0Cw4c{9sopY8Lt4@x)D=xvhAW@vjlp{eLNjGVW+;n6yp0Y0%~=#Li!puEIam zfH2Cp#ufo0IaUwjLWesVl#h|^->INdYTJixMbcG$B)tZ|Q8);&DtI#%082IH0`Cr% z%*Zp*5&A%MZ*fU)iimL}Pb%hLv;#Y|HcAC9kp2;&Z|d0LFwBVHPxuEc?!leklGu{q zWyVfy_P3HtrPj+mbXWteDgE?2eiYNMa>8ze8Oz?+z@{?H!7fE!a-Hf0W_ zZRMBrNA~5TM*xe(PCRUWhWm!hmcXBG#L)0PwfAD@d>0qPD&bC!vNID z>!(sW!C`eR1-h8G092?c1t1qhz(e1sR<~T(<81fWwgMr6m9jWtdP)DGNx#syTy>v{ z|H$1Dcm3!=;?9B89zy~i$dy8^oHgSIRa^NPm+eb1z<22yRCjsyU^w$TQ*YoS)_KY+ zWF|vO|5HXiJdm-L&4~2)AUR=etNVl8vQw#$Ej8>{o#Y@yL|-sp9n?>n2fOdy;#nmw z14mY>6_@hq5rTQM`r#*=hYk{huOoJL)iMwlgr7~94~C~MwCGCy#fq{lt_i&1FfFXO zeF0_1Z5j<%1_quPSYF;eFffqm{(Sd;+K}nKdoHN_LUI9jdF8r`j} z_2v9i4fTK>rhQ{(gx z=Ev=P=&dVzAG*BP9{Dd42bB%h8zh`X-zE2OfwCbAho+Gkok{1%&U7;kfOk=Kpf_!% zx(`F;-!+f5=D$k380$GMDMhKx29i#u+1xOTg_rCIN8L@&b@1X|aHsWI+%@YNK_fU$ zXW%r_!Zw8Dg4W+2)eBsfk%YQ4#aH~`(*RI*|K`5_?ddp$bUFuLwWmfx`pkIHZcX&g zWr*T*k5Y1p+xvJej!JW)itq>yFg$fsdb&Q%1bGcn`ga696*IVJ;buG0pw1FscMl|D z^2Tf?3$rnj75y6r84Yq@^5@(XPIx?Z<$(}MaEto(IlV-R*B|+Rq?|nl)~SnYAcouG zY0Moi2;^gjolQTbfq*iuLP69T*n@DGLUI0aF~d!LDb@UkM2ock8Lo3QyfS>}!T1xa zcpT@;my1ovXHaDY2MH_LqL~M)FD-9bvCC2u>zAun)*EH;zBTS-L*b7%c;Tti?_76A zxA58XE5mCo=?XwE$LKq|`@dU;pwKmA7>M2GT*3~u=zl8ZH-|-&Q-WiZ*H@R%t*=z8 zoRXhSf9z#G^gGujHZ?qwiH1u3c$2UQXLe`vIKk9U9<^F^Z)(9B3>5Qw?zW%S>_n0Qsi0Y`rs2}R%c-m zPY*o?=qTh)K$BV}EdQCPSqPZ1=jtm%ne^7n6@V%dwun%f8?(}kt1>W%jm!n8QU_@i zV=(o_*ddWw##6C9z01qSU4uAYUl1l?SP0g;q?Z*#U*>Yi5YoyCLn`K!9MKGX-oiL_ zwWpcc4EL{qw{%JsI{r^=IM(sc9p~Doi;GG+Bfj<;O(QKD|7KbRpzyo8 z(3Wl!4P(2~O>`5nyQYBN_E^-3Rbq6DUEVyn#EDENZF|P5Q zZuRKiy?f2Q^LKBh1?{7pmc*m0RI82zx?yx3PeLPvTMGCx*~Z2|^taE_6KNi z{;!T6g&h7B>m@o5)cT5oBt-Z1-@raG!4<{6pR6ydoqeL8_`6DNpvK7ehoY~(TJx~g ztFO}284?X-x%Af)tITFtZn1T7|7PkPl+m;~y(7a>M6+yOB7P%qSBEMVagxL`Yyk0# zhgM*dvG&i_m#(}p7x=?x#%yIKjQLDEv{EmfR3))w(ypgl6DFGRlJ}$B&U76axe|o~JEk-x9WmBMzBCq$c!&ZTs#DI_0&r>MxPBnLgHR)Ub}X zJ)_f&5Zz4;1&oLrEC&04rp@036J5|ZqRrwi`d^Od!lg?k#;0lRGp4@!8{>p9#B+I6 zfRxlhs9s;iH#XFqv}>4(q)+6o0A57ar2?m*7*~FIJW_7Rp_Hlby{WiGU?f6#aV~}Q zME6oeD3yVu`Pebz+fbXI@`>KxmWni{QdxLy-@xUUDkAcX*gHFG-d63^SzESkb+Y3f zGVJjTjoYb@V~@kHjYo17>5kaD<$s~N;uoFXD>z%OUH3F*x4A8uQNk9gqfo;X~`tZ@Qa# zqf?4$f+x=Joj3O;_R4%{+o5h3qa;wYfV=R2TBq;w?VL8Culi5 zi@}zmalto;4a+1I8Txx zy(PmD;`amUPwz-?hudQNcD+Kj^Y6X-Dwls)Q+B7vt~p>2ZxeQ-+_}bmrGlUz>FwsT zck;3e{sCzgdyQg>!H$UUrS(`aT9VV$+_+NBl5g6KBlgQzcEy;e2=6ue03gb`GZ9fz zKvN%C8=90$vT@DA5Fv3IOQ0a>wA(}@(CejpNu7$_s4U+)-KxJM!U5-Zqe%FW{-Sk< zz+$_pooI!BCw5aKPo+9)1^HmRYNg=*m~*&_5&*lctw_+Tg8rqULh+kIDgai8?inIX zpS^cpq~4N^4?}E&Re4^jfyRn-~eH08|NFZlzr z)#{3xd5C3&3l;9})bWFJ>IL=ZJJ0umXOjnFS1(qqSwA)&1esvzt9F-47MiV^o!0tk zD}I+po4DlWQN8b>mEhZF6?giu(JdBR9#Ilst*%*Y&<4dv%Kj(Y$UpeHSb;%reNr3C z+b;KBR`tp&VUxamFj1Pj>!#0Hcg3wwljN*a=FR&b$~{zG^AP6ab(ycuk{sh1{Yf?< ziDc{Q!U>@^#SzDe-*U&^y_lIV%LPjM`mz}Q`|{{3T=`c0cpMo{tOHpS*i*_R;&67l zQ!P&aSQQ4W`^1fUZh$li{cv8-(SHZh4RW5&N+jk#Y4b!o zZNT1aJU8k()Aw||p6RG$gFe}r%Co#931lNa6Bw{yD1*~db*C_~TM8jurKkLtg*-g( zPu(ws1EioO0~BIgTVdfMnFCl5&dYhaLKFfl3wVJV-Ayh%#b3^Ib}HT00tf zuKgB+csfCjOKMp7K!a?ggf$Ry;n2U|Vs@6Te!Ha@rY*#nuTE#gUb3T4=aZM6Jx8C) zLqQUxF9U9GYSlwW^$+aT&XcyDBl=>;tos5<4i}3JeGtm<(;E>RoPE~bk^$n-ZljOI zC+*0F%|{t9p1svNSU1rpA^GZcMt~oBcNV|VOT5gd*o!B2n*V#zJl~pz?OblZTg<9$KB`8y zUNs?w8@2VcW#4F71H0fso)n0I71ZW7;?Ea*kp%*82Zb(y%*kIeHiDgdf`1}l&lpXr){sHRmi8m(0bRs*63aKjr??` z-G?r`efgp51O! z%wEuwy*2b?tH^|Awn$mc7?L!}mR3|7&eApucYD90wmb2>esbD=bCCwnPG`sHbVpJx z4G6cEt^0PSWy+XgZ9q3hMM(ii7XFC1O|LFCdDyd_A9dWx-vDdA#L+JrJxgN2K z`l}{mF?){meBR`qNzZ_>eRYf1zjV2`Xdv z$Snv3nNLz&g;QL_PKy9F$AhNZ5K0Va2Wz-1g zl+hjOi8bZBjj5LG1who=;4WO-m_qBPU!%PNF!g2?!;~Cw9~ZRY}($E zGdYjxU)UaK;mWyXm`ot?p+>I0R)1GeEVN7n=%FIAiYL3|%vD*w)^T-mOf{TQW`l9_ zN!3I13^|9a@59W_n8h3nH&d$Y=;L<=fB^l#gqvxF%^3u*^oO!Z zf70_p$y1xi`~6TeC$K}G5T!CK6@DPk1Ts9Eq9H`d#G0Mq(de?=($!Oh2oes{vsK0Q z7W%7%Bly}B+7^o&fu}6(-N9Uv1H^pdzDw(hLIi|BNv2+0U+$^WJhGS;i_z!9GcH$N zi$*cbNqaG_cT!%{Zim}q6w|w9#08O`@*0L>Nh1RP{YiNOZKT?>ru#kfd%=s7QaCgu z*$4n$+;Nb_tPPw;f;uxZLI`bp?6yLs?A2b{&IRdM)?tsdlQdE(M8J2Ox$y@JQol>A zfgzzHu`&gp6FkEST#n66;S83`r717hHgNCYN}DteRhmR;f8`Va01h`Z+vkLi7PZr- z&eUAhoA;foyt2ikNn1N|-scwrcDB#Cn8Y;OodHLdx`g89qw>Qz)wY{mJrtKzI)wg<WqG~?vL`H9Auo$be(5?qU%s}Rp%n{fV3VVJ(F_m27OYv|4PUUIZLs_ zh;7^*H*uh&m#|2Oj!$Z@8yg8R&|Rx1!fd>8lkvXoID1C)-WB@X3hhnk*BYrp8&Vgp zRKK$993&GEY;4hb@MjwqErx2{#US#*ZtyzRS4?eEz*)0lG{dcnz54((Toan&=frnf7n zL0vdWP7|=1@s!lY$wXu#Ob`1cZM}^M4n)Da)Yoy!`}qAjvszSxtQ&%setJ$?AfZf3 z_ch6ypSD9c%E4-$T!@6qm)e2Py00Cfe_!SeY;iV)jEdwr{rj<%wf=QCO)LIIKzNDVHG*@z>!cF@wRtD*wGv5YsKTqS=a=+_NB`h9l zI$I|0;Hz*L!xcs*f8stf2T<`^@oVa-QsvqSdV8OPeW#{8zX@)hno@1#Mt0m=>Kt`Q zn+Q}5vmz;Lkc!&RK@Ny0XXf<2QiV2EGZ5)?XSwVa6!F1+=*i=ky3O6jRAsK3bgIJ9 z;_j6hYeZo;L7cHO>vr3s+?K4nBNt6zYq2)z(Drpv4lexMty&zpX%dkd4^-6x(O zU?_(eN51s}uXG$-_-*~H4FEM zt@dzAg;(lxDdQ0}Z?nDpgdPp4beuw@j5la~eG}FUG*4##qK0%8B_h+Cmn+Mg5%O%K zyWL}q7~e&!E4#gZ`sY0Q+}y1iH#kz%bHlWsi3B3ebq{;pe9rXqObA31RtKx1yU1(< z`FU8!hABJzn-KOty^y4B7_pa!Q%1uKx?{iEUf<>QwwtcmZdy0jo5ArHU;5zq##jiq zWe-skWn_Ob*gp87ac6L@f6vrODjsDJUAMag06c{epohpMDHykAl1}9r?XnixROp$| zK)rEx!txGr`}zF_vZ_}o`I?y;s%$F$RO!ROZNyTUXD7xtU$F>m;vH#KX?77J)1Hc5 zvHa(Zk4-ikt%e#^e<>eKd_y%HUOCOUwy!z7`lb)55r!NDW=8^XaX{m z|LY)q=qOD{Wx6rkytsc-N#C%7>KnMrQwWS-c~@>3SABhd-q-h>-}*UO{l3kcO9j!1 z)-Kjw|88B-@mcVF|0;j0OtRFy!~T<|efJH1LY+GMdoN+Jm#y28+K}wO`5B6JTtesu zZW-A}{mNe9KQiDyvRzGL91f^UxTQ2%xCOiLXQz2aeJ_XWfB9ix-PsC+-r1~bUMVqz zhK@lE)vpNMuGTQPu+Ds3IoKSs7smHv&dEz~#?`AI)A$-~Rj0HZ1c;tovxt-JGXH5& zx2s5ZMt_%*)c4j&VjGESH#_gJ3wYafAy)M%Qmu#DYJQ|s+16iO-<`W~LDgISe$NPZXBRH0cixfMxFF1I zHnMdvB^&>W_4Hg4+|=0K>J=>FCAkmz-AcSdcVHlHs_&tF21(MO)A z_KjTQ^u|QdFIZQTuB6#LpEst>H z&@;#S=#tSo{U6m#^_7dxl-t(UR%mZ4x6RvaQ+wvqqO}@m11(HZC^-w-x-W&_hlxiL z6Nh3?Pye-=!8*)hW-et5s_bQ(e9NC%_{yx;zfFJiTwoxc)9t?G+ua=N@d=W(RmyTe zo11N$uXtJJh=EwiHAI_z&)*?`9!9WSbyHq=?(wVF`hEJz%$@b-rzqEJpXv_yvCTzL zA6_UK(RNHFF_iQ;4c|%Ho7AaEeY9EACG*Ijv+ODRkwIZTG)OGJDOstzq#U^A9V0$9 zF+%+$8ER)sffG1x4C_TkloM0w?tBmCa=JiG^ld}>Se>Q=d7D0u-xBCv=iuF>z`e0% z%iZAYn-*KmZHIzZNU?(6_KTm^O`gZl1q$JboLNC9-Zk8Jx_b#V*_WJOXAr34oQaj_ z0`dFV3!?NE_4xY1f!hb2-2-`T;(yg+t1EARQzRQX2^rJYo;1&*ekZWGi@jogTw{ZA z_3Rl{Xvsb@ZkRs(@oRSW(13Z#NwT~xOiv`4QYZ|Q3){jG&$^|-8XOo9NT6VAJ%_0?0?8 zO@)ZB{^IZy{mVhJT@Bp`)KK7Qbsu165QsCfm@v`elEQY?)yP$Ui-ZkV;r-AaYbT(Y zay!;w5;B9*xBkHYJIuImMn_NH{{H{(0>OPovQqje1{!lTmIk^Vw}`tB0T=7#|`@9)Y$Xt zjr-syu?eOU!)ztbUxhLp49|^A#8+o>+4O)^G0K zElv&7cLVQB#9Pe)(;uGs5tDFMh6#GaS60aD&L|^O&fpID*1{$wo?9jpw;r~vuN%?T zHm%40meFO)>#w{ebh)YKcb&8HVXhOmZuFsp`-@l>#n7IV^>cf&qs#3}iCrq`%Bs7A zJQ&~B*IOrcknbbJ<})u%LOfpI9EGW$rn6d~*)$Xvl`m~y^nU5fi%~QD?&j1Kj#GMi z3PCQuSDsEL$39Rs)yvgS*>yuhaULu=_cT@{o)4+9)H1x%-P_IQr~IXpy-NeVp06g1 zk7N!yrAVEh$>Z@e%{cI?@T?GOnW>2S;Iy*=6*J|B8~V5BtX!$)+r4h@SsyRx*?QFt zN=8UJu&?Tj|BTUCO0E@*Lw*Hnv{S{Q!qr^(tA9uiV$||iM3V(rp(i{T_e0D2#%!gT z*advSuYA#-QM|4CBgL_w-Q}w3?nUfLOyt(zyZ4jZFafr+ahi;R$FnnVhx)Bvhx++?BzI=W2jH-)1r+Sw* z^Ya()Zr+Qr_R(BmB)*1;7(ggjbIHh z5RgjUg>mca0n5EUn6#c#3H<{grN=Qvf@J+tC{Ca_@r9!@R#7-~s9QS1#Z-Hf&r$I- z8Cd8UcnN4kzwe)KyvE;G?QC)6FE3vaf5=mX?hd|d{#(F(&v0OL(`>oCCb2PunTDSi z9}aUb4jAlKr zTVZn8>oFI*+#~=0>xXVmL8p&~{y!JR(Np+=*^F1RvLtt_^|X4}6OgQ2_LXG+GXz@# z6}hYVbg6l@{dV?hp8U0RdF$_>_nON#_{~a-E=Tv~yIX_g zpZHhT?FJu($5%4YJHZRA$+0AID)oQMOW5uQU1iwM+jRFxCW}5a0uCp-MXntD@qEJw z<&Hoa3smq)03!5e_Nvl?5+xxf;?12_g_1Dod-5XahLAxNCf&SwqAxI9?$gDwr7=cZ zC#h}3mR>}roUT)L3u#DOggwjl-gh^H99>hZq!P^=(@8od_QF~)mqdd=>pgE#vROzE z5q8wTHi!z0jD39MRCl69b7}-OspGsbbhGa0e_?{65g)?o;i2s5>$v-xt6ow~GoJp# zJZh<26Rz0Hp zFMe^X$GmxT^ybm5UIqvBjbs0c|FoSq^bdD;8fnT5=;TL4nYmDW{ncNornVeu223H0 z>vg+txn*e?zEDHuL&HNuIiDc$uZ{I2)R)G3>VJEzhdLw}MU9Zl77LxW)r2PElzI7( z`QYU{$O;-Aw$)?I(MYQwcIh=ad`35#u21f~()L`xoRwxF{Yo$ui^%k8R=5 z*-pP(JmN;5xa-SU-b;kAZmW|zy=>g^3)S`2+|UHRZ(aU#&h*@x4eOH#9kTP{qtSPu z=Xc01N!!O1xqg_&|BX1scqIKq1JYW`R5BeMDj(O76gd;=beWRIF=M~x|Ah7DCdil2 z_cUf{ohcvR2-S7}8PpZJ6N4dcUtaI?r;KAhuYm!S-C;Waz78bn}d3LgPrf0py*Qn~e)Qvp+^wjHnHApWu}y#vpf_fA|_wmlg<;^^;+ z8;Y9{5%-s)+BjOGL=A9T*&QB^#b1v5ADZ*VnSB;SIgr__0aGe`hTc)APO-R0u$H5( z+thKpL6EgV@Do$RF<_=lYDWKyzLiX~Sv4YSI8GX)7=LhW!kjh z1}*rlJPRp)PMwkUjeUZzAs7qAv0_tl8x38s0b!FCJ2}yIEOxB7%`g_Qs`z|LU$KXD zVY@F?v-OgH)nK|iT%Fpb2RkqEC>-~PxL>&Dek2ZVU!#UOq17>VnWfjcii>Yve| zx$_XRDELwZyXk*DpECTRKyN(9ZtSa40I*z7D6%?O@U3*bG4Ke6hMIVS1U*XUnIwfhK1s3`rd$kj_~R0PHjf_BuWJ(- zFyHNd+nqRHP84Phr?U+Ak=>w(MxP*=Tp+ZE)or9A&*Jb#M1TL1q`&NNoIXi};}nx*`qW`Y};59AVL*@cm z4(O7W%qO_|9dw0P(`@hbWLJtm%vwx&qj5*uCCi~IQ!{uVbivAIvnng>15WI9S|vs; zKJWnlH~zo_q1RuoO&frfV5m%!p+5=?jc&utw*VwW_5}5No6Q`pIrAoUSAfHoq;5yl zDtndZ-K6x#?cri*DnPeHdws4+zl0-(1fR@wu{i5+_@UX)N)deLpM=rEs1jGMeaUhQZOCAu+}o)OUyyh}s?LU9<>Y5N9c~K*P+^(;t&} zLo{}>?M*|=8=?HPlQx!iQaH;0F1Jh@(N3eScwXDt^Fsf#SE|IjZT+$Hy{o;ph84I6 zapkSr;!dOG!?WLr`*Z@t5(yqu=GGa$Z8!C0>-<=t{8>wd7?x|w)j70XKYT$-(;RPF zm7pK?&QiOp%Lj~SuT+1LVsKqH?Wax#s=F;<{B4`Uc9@w+AXOC*N2Fy+v^^c9>j$R$FOX*(mMOeiq zE}Cm2QiT?xcR089^ue!z+Aw26z0ih&{IkGJNoa;cHc|14u`CDDW!kmhHo8uXkXZ0p zcY>aoU37{HuOSGA_Y_`}5;0N?9pr?;Ca6UzXZ|1!XoUX2AZ7KC6Ma zIFt0OJ&FT^Ys+4%p3BCf`HFc(FVc{gizh6zeKd@M))6VqyUI@zz9Fodw&xnE^WxOcfyRn+RrL#c2R_D!VulrMIUzrxRg;&rvyX)Fi1 z$NyA(b?Ft-{J^01;c8#1L{?-cxP^-@VM%l@wZXr7(f3!-&6$jR@7? zfDQStSoOf)Bs@A)a%23X{aI5IJw=|D_22q^d~k?4FY&?N&sdKIb?_lK(e{nG6%C8) zOS;9L+o@lCoAImUb>yks%k8;*U`n6G7A4}n)_Tm=JLDq6?O4D6kxR&+g^wGHl1!SR z3j!BZ?n!sFtOsFUa)Q~n9cfiSf{ZrV-UDTQLlr3_scu&1D(mm9>FH@QJ@9ce)6vi! z(!D#hI;LL@xJqCga{rsv78|DcA4>nw(EnkEy74_N_Lsi&+qJLneCIpjIf+qb+pNiisesl4gTk4p7 z>6~c`$NSHWho{G-MV?vzSFj&fB`0^R=iyZ&Lo58ugikQB0sB~$+wQpIH2zv9yPii_yympag|i=m3o4Hx1LaMU2e}9H=_O{bEl~_xfa~HERJ=xoT<@0xA>;S`&nu2zV7S8ExFB6~5t<);$9};c~9JfwPdfPpS!0v(QWaKUf>3#a+foFv6 z>Ot)ANx*NDpo@%UK(08`UHq6yemL9(6vH#nPc{(Xl`5{H*6p5`h?s79U*3{-V3ApT ztCFLZ_H7#+1ZHE+TJ(?`-q#S(yK)gd(=??wL>@esI(C*y08GNV!njJGouU~Ar zIC(c%@Ld1#_w7ZZv&Tcn)r?8tf7o*$VNJGxSPv&;Da4iIuN23~W7n+EE3XvfB+}Qw z9tx#l0Q(@AxUU}|01aJ)skJ4MXQ4JZLTX*KM3KC@uQ@x=n(1D1B=yc}_F$MD@ zdUB`ULW=mWGYPitDVl%b!u^}CR4S5F8XQFTA-+?KDmg`-%Jg*{ysx@@HyZO-@Yf?r zb3OV>sayZ6P(2#Q2H1prR!Ojk1t83{U5q>7WJz8y;mt(PSh)Us*PS#IVIOOC zBH*wIaSUylk!4<{BjgbtcCGHQ+c#{0aeiTTD%>vjhm2>rCLqNuiezv?>1Pr_siBtj zM02)ocqBkcgzuWstHP%Z7Di4IZjeyzzdFl{;4$S4&w7XY;Wzi?i^#&PoQRlVS^vcF z;*Id?_uL$fTU^Q}tz3ufE#^WaaZe*83f3>{UK}Ov`eTn)pu(%{$6-&jJ(YNGE|Kg` zEOaL<&+E)sjpj%MCH)O)d`Og{ZHLFAmhw-8=I9C#S+veg!S2C9PIaIkcQPp06+~gA=Dq`c1V*Xq z)H@ehTkF02oNysaLzpMMHT!5Pp+eu@URQUGi<+9`T}YU(`MAGrwRc3gNll->F4KV^ zNZ5C@+1G6e7G>ckRe1b4E?=uK#1VvjlV)gJK}Gl`bBzP=OX7qXGYLoE7Js*tC-`!+ ze%-nc9)3Z86e%Iktr}&X9fQO?wU(~hSm2BF56XmE-XG7 zo>?tQZtc77CV?G1=+t;UO`5_UA4Fwv1R+aA3PN$8Bg>o)iLft{J@ zSkw~5ShUVkM$}E-lMlFpiQB3O#htU3;Y8Wzk(-2=h0trxS9#5^tIvevv_TNGut~6C zzC8kL^x4Ugq~MRMhSUia`XB0Y!%)BhNA&|a-V~iGVk6_8PdwJ4HXQ1h&_4tAzMAD; zoL0X-sZ9n7uMKEfo7rosORn9B5<^jua>Mi4qAL;#C4%wB#>%#^Kcjgy9M|u||I8fY z|H6EMaU8HA??lu7uB1R$u?nr1dZt#s;L(F8@K&3+5ko5MBK}~_>~!$ZJdD3I>Dd`? zlUD0xBuhpmuzIo!Vzoqu7xad=ow>n&a&Py|(oYS1wNRjoz|+buMKXY*Pb(9iE4f2- zRgTB_yR_#K)!Vz>P_co*J%OI?pX12POwdeLfR2JT4s7Q2%)YHPq+ z6-oJ%k!C%N1(CNKzyN71E3Aek~_6D*EAzu+kd`Q958amg6-PxH`1`GTDj&n z2FXi_&XTb%{+=2VFD(JD;xvxde{a_*hz)Sq`lD)f0CI)VT~afg z?D{5^2)7!Eo>p=&gvjH=;^ZBKV}*SJ8W#TH-Q>_RBbm%;mcsUK^3#^!ju~CjJ-Q#p zAR25RA@gN5o|tg$`QBrYfgmPok$P3;5FT>rwenc`O+#wIEb+jnvoE4CI}R83z4FUJAeK?Q10fJQpKNyy9r`ad`A`>JN_MTv1VAj! z1fx0^$(a=oR4zAEFK3#S1Tply?PIp%ZY@`mk*L!<03*0wqXcD;>V9~d04q-y@f{c6 ze{CW&O!Q~*2$xNPwe;4Q6pP@UR!t^eSERJP=`H77KLQfKDLTuHmqjd~HINZ{{(sZx z=_+G~BWlpO!hZ-M#oxu{hsSt1@v_Rb-C}n%C}TAkO?RY!$7>Az)sz3Q1-J-<6u)ic!U~ezWHkg# zG*HfuuOd%4?ZvpsPO`}JoXpbe6c^)+LK{cx0+b=^`+C5%^q;o*xz$HsHNxjBjJson z%h(7!dq{9{Q*T;aQ!aNV6WVDL*b>Y_$oSPlkme80 zkGv-%7c^gFU@T&GuCc)#%LOE0JcXVgvI&b#8Vw_xVYUK3hU0yKq``cQ?G$Ro_tJN2 zQkobjJk+x^`$T2=C8O7NrqKc|E9k|GHx`evgZhL>$Di=xW=+a~>7z&gJiMPGqro;a z74L~OHyby`{p~~M#-rOO3$*Cm6ge~+v2L;6u!^C95Y^v(&1mp{HbR~e4_bxO>OJn+ zH|FODjZQWd#X%A|8G{ibe|z)oRX;Ko7t3<8!(Hs zuL;*NkvDDuH6cK@#uQw!4iDweZU0`5J-$RbgB*1On_*<@awzSIVW0A>g@$OTnZ!g3 z9ZQnQhbh4Idw3WurM6O~jb5^s;ryKSR92333Dq1%~aMVcX5lpFxXa zI6;%8SI8kG>!pDvnTH7Uc*^{6F(M$RI%}D^<4lL0p|sM943=Ku%6(Q3^u>R3cl=66 z+#C5U#r(Yhpu^3#sMmgl6`}@z$46?yOtiq)KNMjJ9P5IOnw<+1LF@=;xkAsu+-rOH z_8Q?^$_=XY`fsI@Z49N7{gQ{pL%(Pgt%{ZK+XXQ3CnAkPzmVCD!7l-J*Swx7<-6VB zFgF_o2bZhSyVC$lj0PX`hS%!Jk+KB#t*>!E@zue}FJGz(F-DAv+GXqTX(C$?szhAM z1*=p=cn#6IqcY?<&4>a%86AVFxq(1~2VCK2g7tikbOQjeqnedynB1Jceyz@kLB~uk zTYGA|{`e}Psa0|?H}=&TGn5WZKd&a##0cTOLZv=PGadRt6F!l|o>4LaZl^n^Xnb+j z7VIGKw?lH8!<#Z#N!zfB0!~lq&j3&(_E<70$%4(&TQ46sk8TgHH~A3IDK0VXb3_Ga zQsn<@K#@G&Xxjv%3K%ZXT37YxY{gFW7}-0{ z^hr7H*hRmNQ0s!fpZYYAWp=IeGi{0SP)R0UlXp`f^pAMXHNeKUef`E}+7XIaz}gfX zkbje(*w8S4+pg{C*663AYs37M4z;WBp>UMuceThrI;i(WvOMZSJ3<|+TwhXND$r@c z4n4P0hI>nK22%BSL=Zhx~cZP zavqh9mr|w@^9U6s&Zp*VqatjPAvS+sh%kQGjy^7YriVI3*#~bs|45|h_r)9eY9wO& z&S^%xPb$^G;AHT=6KTZzV=FuY06P2)0uAlh=={4#YCNy#I>0#J{<96cz2&scC+terGs&xA4wn?_QkPN4bSVLCo)EFbe%nX&-s(y z$(M0b`Xc@Wv%U#2^&y05Fg+BG@NHdY&RlII2~8^CRmjfIuJSZtne zw|+Tqq*vPNYvCS`^iYQt@6X-FJHy6rhco9OB;%=yliclG9O<7+QSSA?_fzEj5ZOXs zd|KbjM~`JGJQofC5(5&BCi8vmAXhE=H{m5EZdijRp^k=Di8fJGw6A5);2s^iIcVd7 zQG3*?Ggqr#r}sQV2Lj{+vixi~qqO-+B*sqNNQds9mP*FfzvwJ;`-6(6Anj47sEcJw z@3fBksYvY7EXli0veI8kiy`1sYZtL+*nv~0hn(J1@p0?Jax<9_gF2eqL+a_*y$A$D zFAe({)1DD^q)Ic7gVzY5WhuXAB7`r7*kt4{!z%)o=@NG7;_Rx>IP+9=3>6K?uY@^K>Ka@IjoZq((#Sh6%gPxR0 zqj)0I24ltbVk$BeQ$)UTO;mC9iwn(1CkT|#{Wyd%G?{qfCZUOdE&{O*+p5Tum`c{7 zZY5b~V__58=(%slp4&Y4(M| z=`3+oAs~GyK`1lGL@50#<`f;J-Fto^UrtzwFH^9ne8-QUcy!W0tgT68CnrcA z3cZm*abxqTx&8GTNO&nZe%7344G-n*46P0mDvj- zd;4JD$Y-t4QbBE;Jf6+nq@Fe6&Is4A*u%p}Q{-vrQtX8kS4zQF{kIw)gPA2mWCK3L z`OtZLV@cU_^y(e8MARxT`Uzs!X>kMdSwHpHsXAJF>38uIFID09oZ)94w*Mx=?Qu6H z=)U=rELsa%rPSMh(MZoY8zoRdGtvi;=3iapEz&>;Btk9{tsMwC27EG{`($)1GgIf> zj2e=K=N#kmzpdt&%80)ImkZEspCH7>ZOSLgYtK#0I9{^S=HTsK73x_Hn&% z%{O8-TI|6lq}S5mYs2dLGnx6DQ#MbIn5hOp6}@gM|=2!)ex+)IW4p5L9IyR*S~leSG6a`i(+89A{l^|5SHB0E}%*&*M5}7er_f z_z%4!+|;u$v2a)TNIvFM9T^pmtEBWdJ4KrXKbeW_B$-|M3vxG@`s2;P_TCGQjvK`7 z`eT0UKiyIgx7tmkcx%dX7(WZkHq(+}34i5X_A>X27E{jALwAARsfC3YegB-bbcLj& zqp**9j62?>2(o0db(76?&5c8KBNK`Y8j=7bVs#64cbr6~@TYBm$o4X~U~vVm0^vb7 z+kex(eB1WzD0za=vB!gHqPR6u{*WOPt8LeTg3+R%#5H;{oxuY;hX)4G|6-jEIdqt7 z8VQXZ7;+vt-M<5FZ~x_EF|^|GOKmOM!?bJ=Q|>1#uJRqMC*R=a>#Y5LV1(8NJ!-Z(+#JOhp|tb_@LTS3Pf77qv`iE zHy)piXVme@<54F!vpF(1N5h$C`;Psf#29%*wngQfMUIAv$7!3oEpVP{hy`0vi&q?; zXf_tzHo}pC-8*gshy%(0HQ&i<_O`)ZGXqVSj*q_9aLo;ZJD8qvITG<3q)~WuS;l;u zHDE+u2cCq>qM_Gb`@D5D8mfEBu=#Jh`}*vmorh(A9z(t-&4Op%Qt+5erM^bb@0~>O z2S#4QL^bAbQs=8Lfo~A@2UH>XX9P2?*_*VnHkz%A^z5#0N3e+UIa%#mbQZyh+pB7A z9tt68aqAY()ei`%AgyESBK)|z9B&u21FP%rlnr=c6e=Qc%Q6XSYX zIGD8CIxL5X2;z7yoC;$@DLU9@?To6EJNghJDQN zqoW5;5ipp;cZ>~)E*KWFeqU` z%3E-=XtZ6ExqX0P&*=V7E&2W};3lzT=A82fo2k>?T8>_lE}I*~EfXz&8h^<~^aPfB zjolVcoIt`mUFROltK)|bohTkp|5w2MZo1mm^cl_cq|75*XcXaCK2%T0F`sEO@^51# z=8M3Pwp)@p_ z*b>C)rbS3DsRouYsZQ9%BUW_<9SJu3=ZPg zb}9n}+IB`x=YrIpIdgJ;vbk-kPyrKN)W6a^QhHJ6dic0|R7G1!V9J#Bldfkuer!l$ zD_sJ}jR}htYJN|r#&E<0nq|b|V(49KQi!GoGE57(O20K^PYs&2RTk>u_l4h=_o-$EEmq8ReP2O1}axBi#vxZ*Qew6`1$#W z8~N{is&)z19}B52!cvac4Q0thWMygD`YhwCHyB?m_|;X&MdHUE=^KEQ)Lr;aqc2yH zCBs7WZQVQ)pW-MoE0)2<<6FviTU0xi%fk{Iqqi*q5RbLA1cJ~#N39VuTJ1%e?#($b zB|jiXf8(5Cg@?6#l5KJEY2T-r2#DjcI&RM(^}O0&iX=y8jR&FB1}J_<$q1DsywW17 z%!;-gi}+sI#%3V%1mbkIG0fE49$&wHJ;D0nD3GHq8s`N{hmsr_fjd0*ey zba-EBt`w%Z1oE2%%5Y;{t}Z7})@ASe)Zl%?efE}5suaU{Uh@kxzF#Y27#quCkUOC@ z;{llpwWawj*jd#rU|`MPfHd;+rHvaOA7+=+5&O0p{8Z3C3AIfI9z1t+s6Lm$DY}4X zb^Op(1Y?(4@OCTKFi`W*F=M1j|Lq@4)rn^`MD!#V#(cvys|?R~8t3)-ggU=)X(6~9 z<(1#AtEh!$EQ;dBnne>|wdxqE$H-swqsQND249KOF(4kz%B>%UB?6nt^9TB?t3wOE zy?X4`!B;OvqvFtE<4YPgF+LIU6j&(Twk3a?7l0RDVv=Rc$H5jdp+QWUgZ2~E<;#Kp zb#YF-PLCz2!K39k4|u3}fARic&v~xG5Q+@si%$Co=OS2^!eUXUWDZ$nYKe0j@V}06 zZ&(6&9L3#!M&e5Bpk)i8dO7b1Wsene8Y;shmd2g zis8huoRC&djyC^FVAQR3DbF0Pv;wR&8ToIfV3pkTjxs=KwT8>!DD^}xt zzizYwk|ykE_E)oLKgm#T;iPMM2D$B2>K!e1SNcmIv~U z(=Z9^Qu^TW)SPqf5giIy-vwDH#8A}wx13OIq7hmJ&FzROjc~BMO)~3h%z%-C``1J1 z?*?;9zl)Tqp>NbcUGuVrkZI9F^VhQ*rI|go1yv0&Np#=l5XK4anF()2?!SN1(gNmr zJiQc@Z7v@!dcy%V-GpE)hW8C_N;R~4Tdn)!q4%z)%Ej{}>oEe(i@VsMrPBWI+TI90 zGCQ)sRK<|BD;!JFeGJ!?(SZOM1H0n-#ECw2;>0ujHXBVC&omLYB{Ul|zAclG@`kyY zz7^|InbYIsQ-oc8t7y(%QYGiUGSWEGsA%eg+&fQ(Bwu#4Ov0q9%XznT>Nm)H8!00# zZYMp&NLkpk@f22};exI<4NUN|eS+bK^3A_8DV2rpI>b710~A}VXI~7<+QsIS#jiKa z6?l4uL7Bt!%DI93ek1Fun7d&A+-zwgAtsr${JAKTMn;f#$p3Xe>D&F8EFH$z?Y3R= zIFjn)X(n=Z?JVo_;7ruPRGf7eW3z+8O0-*FP)#XA)J~{9MMQ@NC?u9p*bdD5#)`{(B`z4B)1+_|!tFXyWc zroVm^6(IP*qJCdX?-ug9#;O;V^Ouq>E%pQ9_{%S=gjHzZrO%utu|mERo8SMJtM`F#tGw_1AJmL{nrh)(^(@uRoJ`Hl zxSne?U#`l|@-xN1)>A@|@tJ!d!4Tx8uAqz%Ei<(VQFUqvT-y?^1*Oq0)(fOn2dA{H0`}gy) zwusrl(qWN`HK2^gQZ&Ibnt~s38!1z{q_79bB{8yrr1ILri8iN1k=mIIA}dF-?!b>; zfAr6dP&W)5l@}{yCk2%D)$Z1CoA*lklsq@C3x$P7={CO<%%`AK`7dirOTLK>NG4N8 z(C3bt|I+yUpN`M}ki;kD%;V!iymW_+>DHF`uK87G`wqPe@-;CX8~icSaSC?KBX;l1 zjM}!XZ^mLA*AC?X;W;d=^FxHdUd*m^9T zrm`!&Ex|!tQih+tK#$`h(q`{d0j;3-Dj^I3YP=))gSn{=8k=V4P6g~Yrs+WCKrdT6 z`ef5yDGQ<|HkeJ(WGdBiq@{PUsYRXFtl$FTXF4B25-qy-+LrI>aPKGqSQGY`omYp;Q^H&ZbjuhJ!U;citcL+ob}Ycy#XsmxF&1O-NuyDTOQqI zK-#`_(ze}g+dvl^Dm)Ka7hl~ssWMn1vGPX_P}79&F1fK0^X8*^pMdh$XICO{Jv;?p z$JwnDVcUZAA$ck{Tb(^KY?8{>pQXTNpS~p0CSoJSQqGZJaG`ycPZeyeBbrC1WiXPQ zJ>xAHRv8h19qZ!8+k2x$;l;qLca(x|;P4ToZ2AtwPV}t3v(k4D&7tSER*Sg{SUX2` zQ}3CjC0+8?AusPAxK!QqVQbED4}AoRq}}5|hm#nS05Kajv(THZ&KX^tCOh*2#qFX2 zir)x3z(GS7E5PWbYfFEBsj>t>oc&HUq(2JKQ^-ipv2~w2gkC{&g_1K{EbH!9(`_Bn zdd^dkz;yOm7 z=q+1*1@sxgOE|R0Pqlf7qtlL5PvtQ^B$l9euwWWOE_R1&l-=sNs?Uh%j_!FaasLX6FVMpuDeboGhx+lbsg0=6O9VhRCKH7j+lFfz19qG zf2ZsRJ4tIe-wZp~h1mrYiJPby8DvmB2Pf0cICC9Z1dWrsX1i@WQ>eP~bF9Y2`1 zJDL!?M}(F!Gqt~izT9aDnT6MRGk}A#>_u6WkjmW2H06G65pUm9(pNghh^s)Pf6K{K zs{alJw`i(Am12z=@sf!hzqp?Gh29(pGpuHYT?t0CHz+CckAisPHi@w@Q3M1}mBN!7 z^2~24<)y*{1nR*G3uA}VJPyg5)v*(>zF+vKctm|ju6o2;+fdG}!d+CklpMGQ<(*Q8 zvbZ3GX?5_g&C3b<6ruU>B`a~vBbP*NCDX%vE_3mU_M8Z)kjNGluf`q>4Y73W^O-)F zf|9eh{`6$72vODKq2InHQEpe(znu=A?J1uQx;;IY9`}QId{!%UIAs&Dl_(8W?GwXB zdDzF^acp~1b^TB>94yJ;%Uc-$+uRkF`acq1O4_2k`u8Z^t>A5S(%F!rv6|aBL-Iut`dDBwAtUa&?IU z3@e_%3T<|r(P>Qez4>(YoRG3nr&FUA@J+9V;o)~UUoSsi?({#uPspZndlIriK7*YH zW=NF$w3!$g@6a9kL3tdj8@)HEI)@55h9pj9W~B7BYgBXKiW&)ARxew#-%ceqR7jm6 zf&^;7?On8~!#U{8!0UQfkm?P>7#VZzHVM4865Z-Bq6Y?} zO-lv%ANFP^0p^qg?&jlX%-;gJd@COtFDulXQbe-rkSk-Kg=(f+retYuJC*1|NXOyK!XeeiG*-~e~Z+$M;q;CRX zy|iaOdfY zA^d#Mh-Q5{o1%XPk)Wrhi_g&{XW|=hl6RkQU8z+uLuOBt{(5cQgGR)P|CTI$_vM#6 zos(y~)!9~6-t#i+i~v4LmEVNeXKm6QP^n!Zh}G0&+2EyD6+F8t0VlXq@AFi^RZ&nm zXat4YVrhxJJ-QLQPH>Zj_sTbm^M_g6^}&RL#0(OvqJvqv_uhN&&5*2Z=L?DX#dAxQ z%iD`JUxe}*TUkR(Jy)+FzoS8?L&U8NlNxk|_jZEuPbIMVLUpMkc#`bcgB3Z@RhNpS znUF{)n80Ot>SYJ+BPEZ$I7HpnLuIN*31{AXuR}|k{Y3uuk{4U3c2`$WUR?$RaK#pT zFn5}Y9<{YRIG%PEesNHoK+3d|7bAApwH4`_SmzynVCkG}32-HrC}r&*c7rNjbP$s6 zcFPC#2jD)JS@q&>=W^>nMCq}6Hd4@a8udHv-zY*A>$;npa@e+Sos4Za zzXO6yw4Llq6J;7t8xBpJ+Ik^Gv-$(X41T@lZLl_hVGSJ#=kqX)$Ad2y*=sM6F1}#I zGZ_iBnX7x9Tyu%RdpN_U@E{>c?CemQz5~D<=(=jbt18uayY(rn)1{ROx5}k$fjX}J z2n(%<|A;NOeGevGeNX)@ES=h;K4Rg^<8Vqu)PqwSy9~A{Bui3=2DxJ4fKOUC={-+j zDbk;jQ`!a4Vom5Tr&HHM0mS~cA2VG*BwMEW-nuq z(WRk)3GTWTl8fZ6&Oh3-mD4%<*ffK2B|BGLfrWV2`e`%WUT!D;7QeWJ$%a07j8C_0 zeyvVf$Cl14yC(K7`^jlFrQTKeMTO@r_Jp&TOJZ)}64AW=(Typ+MSdU}D^j0^jfab} zXR$S)Isvha7!xY92gF8!wTPr;z%hTk;bYb6Rp-YppL%oA+!HSoQscCZy4o^${PT~M zg13I^qnGde{E3z~gnYxNd>Y5d=-ruU)#x}z`^6se?f#8)+3eK7G`feK#C6Vfbz^D_ z+*VIbB0f3eNSg=v**nHCs>!^d2CQ%c*29*X7b36P_lJuz;Jp{0oZi>#8)0GdJujZP z$+iVC?5N(7pl-}SCl3(-T1M4aHnX<+W*Ce`HG52XfRAxZrR|k;N;j|=RE^9UqmLyj)8f$U2L=qX&kJgs?RF1iL=_95J6yLLYF%4v&%5!efQ=)a=s{PtN!C#`f>3+kY)Ub8X1mwvdXxnnzxS$ zXoo(|cmz^8^W*p};eBP9F#R^}642Mv9+Gm^SK{~Lfg@5Xv-`mR3hqAeq~((5(c#km zlQ-(y@pX?jAtwz8O*V6jek_LsVO?+W{k@1?i_RhVd4HXsF;?pPNr_AZmefyw#g#9{ zU};&^b*pDQGYfmO$jTvV!lK-@%>4HWK==YCNk1y)Jz~+)?O(~9c>zA96;a(3yC<79 zx8AkyB>(RV)vYne&RXEtT$|XPp6;77s&jo;Xo;~nka)visz#X~3xmkDlI{ZJTxXrW z3&aqrKKNXhx3%K?|DnU4!TytY-^XAZQ`U~VKk2@fM3{yA9kKQAm z{4|R{C!RbGYp7~XsYs8NPPC@av;41qGz1|B#PnCtQkZ&pQu?+gS$DoubV#Xna$PKq zH@p?}(2M%(+8Y@)%Jm|Ze(F4$EZrI0v!U+NJuC3vY8Rv)aL+fu)VY7uTaG z!AkKX?G=@u`4VJSrYp(b* zMYn063<^**GLvG!nRo0=JT*Ra`t)#Q1Eoh$D!DGE76i!RVsOAwZJ{K<$4Lh5G%iLP zf^6DT9d6uK+3a>@OoSLIR=9p%dRP?H!3}@Mru0{cTEdgS%p*?$!$As%!beK*1l2!^ zFF=%JhXsywFnFFT2@UnlteX_sgml6~lbD{=X&LD~(OG{QwfrRse;{tzmU}c;;5|)r1VWdjC{y}1T;Y?`P57?E3?^PY^UNSO2 zx2)@}rk`U)Fk(5nr(&s)`n{j(2R6p}ctql``K-b)RhALXq5J8po<4SK;<_~Dsp^91 z^@928vG|>1Z#S6=#F^kxJ^$K)X@US8pH2sr#$KuCQ*NbYMP1A2JF6I4B82LcEO(So zd3#n3EiGLEw!o>!2#Yw*01A~?!gh2`?x$b8_suWXy!9PW)I>LKyvjxIIQax`_Z*Lw zHx?<7L)e7X*?V9vr4;X#`k+RZuHf3 zw2k$`qGka1sAZMjRE7`j*&6n6f;NgSwh71p{gObyN|j7(ANJP z!fF!H-t(Tod4xy2gbNDi)exzy0_H`kU}=8UI}Yj{83{l#RNt32D-Y|Z-r9|bJdzXX zRS4F|NF966Kv4n(a+ff(Adrca$<2cVHtN$R+bkTkzP~CTc{u zk*p2?`}P+A&>~klDU}b&c3@8ZN3^|=)>bM69b+^&mRm43zJBONh(e!koilxJn z>2gL3)hkpv=s4-YNr5V9yDtoO=-3e<7Xvm_{GE-$+b2GHUW%z0aQORt7QdR8^0u%# z`z&GGE9@BJ@CX8a=JEnu8aGUrO1xdXdOx%vp3c4J)B5q9JC8U>!aslE*lJ&POahS3 zzzQz=+__qm0e9>L54IQp;9%vE+|TM%E-Ei`Jp;b^dn*^!jePl9UI zD-us34%Ze5MpXZHsCWWN8roP|?YfNr~+{TmS3^7rZCKPN%CIZuH0o3&Oapz-g!8SFC66ZlkWir?0 zhg-{XNTfr42}avb&-&MVh;4|b2}mNWx zDPTaFnv5=%2BI(;99D%5`DdPqbT@ein#f%)*?Y5n4+)mvTH+Ak(-Gg>7rw{XhR8fa z?s4|uU1|vjJip-Pot}Dk3Wk=gMi=PuO}d|MGSEEbBB~Q0L}gb_F7KW8X~4L%#=wfE z(cuAablMp0qG_udqnxZ{e5q)Z01VG+_9yvPuP zMRwzg)QGNVRRaUddh#zxuIm3f5S<&K+5Lu2M$7b6Aw#?{I+ansFO;=VNf93Zj+yf* zhW^$HwWsDOU0c-i^dbn{)ss{X=6Y_FsUi}Y?U7545kk@B)EPaejKq=(U^h_YoTf>hRj;Ua5|dR%PJ2=kR-vARkkcHLU(YOC~IWW*ZoEA%*WD2-}oDF50*RJ+wv=iCbMF$wxXaWloxuws>_f>l=e(y6N0bh_#lg@E!p31F;{4&*zL2 zwPD`6WDALn!H|LSMNHbiCsCXV?Tdws%B>I zrhGcL1bcfO8{KHQq>_Z-IG66H0W5+9s?LZ+M~h~rr$_yzIXg`fI6tUFc0_#o8b=E} zf=J#qG;e0@(>S}opCWr1MSeo0;$Fv^TSp>(S{%KC4Q299;6AAl@;0Y8hgtD3XWi(t zBLww_kUdee`%#2|9h5@SeL$p;=b^$um9|4YzimrZT*MQ0i`*_ZY~I(_8#dc?5!coF z%07jao<*fQ~Pxo12w2IoUkl z=kzsCm1W#dQMZ<1U!q91$mIYy5G7wZBMEjy;i8A{S8mRGz)wsX6UMlO=wTfk1`*1~ zt-}YHnemNm;w4L0Do9?-yy|oElWOmzQS58Jlrg?GipKki2o5%sH7sw;R_ONvR4!XM z&;sQ1iI%d{AA8ciyr0=+jCxbz^AIR_Kv@a(EZG&omoCKeHrsRBwA?$~fBqv!8d+{p z|Ni=1Ptj1VDo5V1IzG%`jS1gkw~kLK^ZsG`y%Po1Xg)D}r{T;uuh%$XI=+DTF)&Q; zDlxED^`^=>b*(wS^Y(I~n8eQc5%FT_Te3E$PDr5bFJ8~wlRXRBR;hGhthX_oX0TkD zA8^^=bpv++p`vz0ngiPsh3BzGUDx^3w!8EX8Ulyox|>h$lUPAqH4S?LE<)LWba?Zm zccQCla$%d4A*+_zzEG059pfZDT|3Z8_FSefiR*!>6T6N8!#!PmoA-1T=Fe<<=DJ9iX{I!O3L>5PI0KtzC2Sq7rzHy$^Pmf?atsSB7pr?&oNYg!-mMwB!82_Jl% zR6}_@=IHnXa=7llpI^;_BX3^*utD%s@znP}c$)ePpJ{|xd|~7rPEIgQdA}Zv`}PM` zK5=xhL{xi(SA%>OX6AY3IYW;I?zIN9lXWCTA++%EJ!u70J#9*nfq~I|k$pt6*`($O zqLRbS+L@1IXpKqEg-&!T`Sk;)xs(U7WaH44rOW)Sd}GagM3a5J+JN{%=V#00;-3JRJ~LcxqQT{dtIa=)-a)_JH2?9|Dh! zly3%i#sm+?vNKCL49*Nfna!dFI=Y+;1p-uYDoGWGe7+-(@n2NFGZlK43I`P;B(#PW7V02byip^t+PybBf52eh=N=A1TZke~sB6Yg|G%d=N%8KIa z)8+B{`hkt98H|cvezq3OlQQ}A3o3dvNp4|x`i(WR0nzz(0nPA}H4n7zd;P&|lCY4E z-Jejs%PK;va*kP7+w+5iq}K*b)ofp%lQrN3dejL&b4{Hsp#KZjBXzxQuO3M`dYX8q z@|h((nQZe91QHJnvR2pG)s_osuLk|TzD~up7c}zrY_9K|zn!tP3N3F=mE5!{wY0Qs zb0%B-?e8csbOV$@pRzOCWTEVX=uu8WPgzgap3c@t7lJ;K!-{SG_xy@CTZ8lWxcAWe zHg}ygowj7{*zX}UJM{iIY~2T&YaB%q2+sEW@)W|-(4{6TB3?PWSnTVOS9V;q`R0^) z0{xbvx?f$Ode)CklntQI9N_M+en-@x6ZH3Ae7HS!^+wWVW#FhF zayvqSU3C2J5X45FsRpUxbqiZZaUJbTTO+hd_~QMHi1*(ahD{uyV8jw5V*ZeeA_8Sx zYpNg~GU*w_74XsiM|_D+{};@!H!jpKXv%!iSOP_e&A!i_`d!nO52NV75qMhEuQub*-4?8&~0pT0(q_uV~B+8zcu z7W_+i`^YyY8{<5bBvDSEdGt~;mi{~@D|V0Li*Q<)z*6P`_F3KHX~I%VN-ZfknP>L7 z?J9Y(;y^&(1ne5CmQvoHi_>#ok-{MK^Hs?YT<&A0g8i6KT*Bf=6`RTQ&cN??tr7hW zsWrO{>%hD&4BU+X7;c&{ltGrStFB{ z^-13!3@S6yLAe8u3x4ujiGll;@6o;L8=>7AGlJb%%-Y%Wa>|UcIb&b`qJ%p2 z$3zHK#{}MDov}{-w`R<4ul9LUC1YDRJ3~G;m>(Th{co~ciMd(9T-}Wr`Yv87Rck!- zJmEQE+^M)i9p@+DMmpg?Fj2SD4oImH<4AcV>v3%=^5Ifk(Z2z+ncAz!uuCz>N|kG% zoT$*7cY7GjJVukg-3q-TmZ^tHTenKpVSXwiwSl7X@OKN*%DdV-cinuI8hCOU+a&SH$6)n%~8|neywyiNKRj`zQ1RP{pl^k#K`DQh#%2SxT*W|MHi%ek* zrI-w8w=Pm2sZX74dDzFA?H}r?R(x@fv8&lwu`UcAY8pfvl$Z*R*ZmeSK7B7@>0Ohv zz5^V#_;;a^lp6UuTfte_oyYx!>$5wb3foU}w*6O`Vbp7Pqw zzQ8O{SAOCG7OBxebY?5nkrMi~k1jemd0n031rgOfiNs)3gyjZ#LTj?t_zCrhvq&O^ z%{!#a!X<>MH^DL{lC#z7y6d*!U6Y)r7RgDsnVp@n&dwSw-{J!yz51%h_&vFmqa75C zr0yDYI?RDE8}T0($9J?WoTJ!7Ehx8IoIUx29~jZFl)3vlqt=3Uz-!Qe!E9Nn9fyHw zNv!k22UK^DH+3R!herz~W1m)+SLFMe^3Q-!F-;7`VyA*05UGfy3dzI5zG{3@!P>~<&cyk?HLDC(%bv4r_jT9_DUFJITV5ihn=u{ zy&g{KZ}j_O`o5pYu6c=xbVK(?0KZh$qcLir1-EyrWVqU1GeT|RHpav71R@{oZDN1> zv#-X6hgk(!<{HU-S9vE$Tv3@M;hs2N4nZIFpAAgBBzYnMzo&LkSjMRI6muZ=W7#T& zvE3?9RUqLjtNCWTazVuE+|zwPUfRj5Dkk)oYDTI4EFes^Bc~Cons+$g0^L`|9oW!3 z-7-1ZbpU}tIOnvvHEb5&E`6_FZ|RqH8Lf#k**3>(o}427GCis4=Y1KzlI`1TOrTQx zpsxygXn-|-F80OeXM9w0RLWtc#EexZNPSAEyM8g2`1PX+(3x6$b}Q|28`5C=lZxGn0huh)-R@={DzGLB(r(!1Qw7e^ktPu>z^<8Sv`+mf12_Cq| zUfSP>BY|(o+=TnbWYb(PR6_+QAmuq<(WdiyWdUcvg?aRcq&^v0eb zF{GI{o5c_r6g%=y@fy`Co)-72qpe&2o~u|ilFsj>cpMEnfX`u}voR(6VDV65fvVGZ ziY@*%GDh7Z7wJj|Jsw1H*gKUk3lD|wSGqJ zZfqh{m@zTbT;1O@Te&j3pQPTS2Iye2p|YBNn)Or?G#&sSr~Y2`{3&MLg9!y2gUqDx z3DKO2JqR%<+t;E=BNBh*9+31mSdvsd#kZ{re%eX8G}tx*4lRK;Avc;?j}1Aqd>NT@ zf)oo$JUxJdxYlP0ard0b*-wbi7;-Xg-0_@`5QhJkW)Ml-v9uU_zW21s<}W;Wn2o(@ zM@Jj6AbVlLqZHIP(8+wbcN*50VHij6U%zze!t2%Q9G)FP%mxC_q>&p58an`3E~yT+ z*KtecLR;ug=O5aLCQk&;sIy{G61d0ATEFTt?sUL+C0Ptz4qXh$86_w?Vas88c^KR{ zR=%8kr?i`1H^y@}cCGW@yg!)IZKU{dS`62g4^j)i_;GtiygyC^X4<|y=Lb6?gdiLM zY7V%pf=|0jJ)=x;3Q|l+vW4c)%v6xct&aR;}x;%r~C@K z8h71c|3kRz4fQRN9ErO~48(lkIcEPpd@Fo0UePOi0s!e~=&PmD%nS=lf_mw-Gf}%` z_;*DR%5r59CUlfsG#aCcOI|p}5ggfrlT!Y64Og~CxKAsG1ii79TRwe~SFxJ0ho}}B z1-_rP6dRhm@bI8fdDxz=5Ln3#Tl%wD6$sJUl>QXmM7VcIk%&`*##M+h)urTVsGK)7 zI_6<-jKsSi(ePLLXY!E}=vPVoljfwH<3?2G(w@rr(YV?W^JFWtlcCHmm8?%LipvxX z28{Q4^UCh;5T<@OmFm|YG9nthODi^%%|K7BhW2LN4+n!EkyfA26Q%k)mHGN?GP`#+ zvULXG@^1jZWu46>^_fy=m36d9PhDeeh@mbd&V8jX8&&c3xOEQuZ$RxXr`xcGXxc-j z$ivCHWCI{E7Ve7cyifNzHnrEdRX<8VY~zCus*UHu$?!jJj;)M^m~teo=BmiLOrydqEj ztLX^04kyu`%3LkW1#H$M1f~Fwwxn%w?f}bOl4*f~z<^S-hmClP)cBj&jEkk+rPIJX z&uFSBr5^P|i>9I4-e3v!`O!&_n|Rm!KJm{f6*`RvJ*5_}QBkrnyk-1)o^n!LA+tu- zl9s5Ik$!q7V?aeKRx$BDxTpw|=$Mwl z3e&`B08-tohM;Yvnuym$$cpX`oy_U5^Ke+8r;m*JuKo%cduDMe*kP3TiKWQ5iakT} zkhult>$@Z(34qX{oOAv-wD1XRpK#Tr&ybctl3hv92L566ph44hXekTm}VDA$iGL1Wk>CwNYSpH#!FlzAGvDI)!~bBk%mh7ooN zDGz^Eqv!8(Co#qO3><-dAD=p6bbwqLP9$1I4gvcW1)x8+GLqL#S-Yp|8%7+11YX+j ze;T93^bE%?!)1Ef=J z7WqVXM}sR_hH`s2olQ;I{6Y!g*B{D}`sO~Ck29{GA<&)t3e!A3J_7StT~fQ@%8}9( z>4*>F%s!ZY5T%EB#62vLS9A=Z?v1Mlt{%HOg3$4W2`O9q2>EzV+{3t`3r)t#nIq0&TbuFmGV$U zx{`|+m|DmzLYls=G++^}D_i3mBF_AyIcwItY4)H(Xb(3Ls=m~lPaoM<>MWfut)rqA zDl+cikUk#zBPe@$vq#L)aOI`Q|3WmUe&3>V7ZV% zRniOmaM*%iEO3@!39m~PxH8Pclvw*(& z8G>x9_2=V&Uo0KdZq`~Xu&7N*ml;tL*xMbdnpN+z76bip`2KbXho>M_KigqND}}*v z3={C)LGfzQ8~ddJmi`Q2q+y(7E0Nzp^}#qz;^*0kIoZwU&Kv45R8S^la#nXBske=) z24tWBfkbOLN80{DjvH?MT641@Gmj#TnvqcVbgj0h`%-e-=0BIr<9kB|$TBw!u3-05 z`hO#%61qV-^hWflB=;0JO`TGlTLUb)oPOSYta&eB9v9Se8^G4GjE$>(dGe)!8~WVl zySrrv+QObsWf8sQG6!#X8}w`{HL%a{(dS38>&t#vHVtFfuL4WU8Rb#L^ha2w@`PV! zd&U>X<^f3p*`ie1EMp%j4S2G>O0n@J#Cdn6vWC@VH;#CW`{2~nSm`Pmn1tidGOHYL z)f2|*?_#DJ-!2-!tKa>a)t|8l@rIkdz4E!&$TCFjC!a!oC5QJo!O3?0qhPz+e(N;0 z#3`%6->V1LgCR0}&1#Ro(P778(LwP7OGU?DgdAJUPaUYP(L2pb3jN3{Vxc&5lvNN@QbTA0diTlBh-Pk$0 ztHlour6Pwd_tNZwn><;jd4~w<1Zc_VXnaLBC!`7_iA3lmf641dIKM}AC1??2N#H4W zG$d7Ei&^Rr)N{*3Yg9e;fu4JiLc^Lg0$zj<;Q>1xF(iRrgIQNQKL-?|D^`{U@v5{E zn#_F-137)zTc;`LTYZVF0+69H!OEfy4Snf2Rn4H!mB8 zI%-go*)kTf9E8ba6h#e^HmtSmvgwR_RA>z7IpnndO3MqshS)*2Cy>##S2cm_oE6c?@RYO7Z8Qzn+U<8TS|xkf8yF3QGBI?0Z|W04V>M+EV@6wpGFzSW zrr@SD%h@CCeLXfdDm-N>g<$G7}rB3zrh_@N;>2L|OvtO>=XqaBsHwbN@@coGC@>EaGGQ|% z8iYBaaw%=-KgsD2Tk;8ruZZPr6jb^EKq~%0i0{`=BEEDQEJG}#SrAHhe09NV3I+AUw_8qNTQS|T{uo$$@PngI2O7H$u&mohcNH4?Rv zLQNO-*QkGFEL)SpY&jeg1y}5Wc$NGX_zh)kCeKXoT}xlK`C6JSPtGhmAVmyD{_O}* zp}rTzwpuDZ?e7eths5H&C=Xe{t+p!E$HFF=zcowvW)(Eu>j=~zdQqEMO_K!f2zc}3-73Jza0%d9Bfbs zU@0xL=Nq{@!K=kus~r=0|LCaOKUaqw$Be+(r-Q33eM7Hdjdw=&VW!G)%#)Z@ek>M6 zfdA&ZJ&E9|`9*Wu>nN|Ped~YmzGMV59<)Z3F=f!Oha}@fZKX$bXnbT@sDC;d`Xn1v zoDejI%l)C!?(s$AkTETsZbp*ZeT^Qhe9DXH|IH_!RV`ezDQ@Dy4R2~ms2&rW8s}b3 z;0uN@!5$6UuZ9m82egfYS6Mn+bMQP$j5b6LGoUiWoI-sS7fTcB3mf0|`yfQggr}2` zL#T#}k@VWQ+$<|A=;AGsA(j0O-W+P;3Dpb;lY_wPy9ISQ`c5G{ z`u&)=Z@&mzQ>&{T)gn8U(2@(oDx2*xZ23N=&z1S->qh76Mp?gQq~+7?r2?iD+Afio zP$$BPkE+)%AWVL749W0H5$rq*qETgaJkIX42`g?GmjUur(3zw<u25h4=m-C7Gagf<<}+O4Cj?=#EzSOe^SnU*^i-G%rR4Vau(!h+^W?o?M zOW7WLh#1Z!Wv(bym*12Dq$8l|aHnHJH;Qm5NY8LfGvhW3MdEaaHq z^npw4FljSjn*HoBQ)B(PCTCta)xXQO3fY?<6w>#fu0A5lawT_+s0*Z_+_>$W4Ts)c zH~W^W4suvyOs>8wx=S$M>_>rRLb`J*r3b{YXZNyDa>M@KOlZBs2-@i3C?1gefGE1P zECL8E`H2riD5EeU7uaWDmn!JbI$jmRg1(8kH+o+W7?*1FtSH!%IRtsG$D0($>V!8I} z!b(}AH3tX&Z{^|32d=Km)j|AtoUD8yqFQ>=#)vG&Pcr}h*ur&h>FP?9?&-@$bQOZQ z$?B9X$<@>k>H;bUnKC=*n4>+lSM;ra+>w%)Ci2Mj2aG@RsvVcEX4Flty6DO&DwP-h?Yv=i8abH1R+C&0Iy;T=w)t=7M1)icBXr@a5xQ-J zB36l+l5>eLBPkBa;U+=|X)>GbqZyOT(l239|Xhwf%Wxro+7>}jy$Vn~<)&eZW zVc!iBAJ)YX|LI*1Zzu_WzW5d7QoNHE?3?MCkH470lyAO-v&!-XW zka7B-VmT#XK~LW1o14I9x@8qDo8QH1l+S=Sg|u=lYAd6m|5}vXmWWiT?YkbSzx2IRc^pt>42>fmxYD##YTidh_Scfd(~q! zFt7`U>a~$f{@0)gm32-1TxfrH&{#^)Gf2a6y_|MA$$b zZQ&dyzOzC+Yg*Qns8`_G(JiAli-;V!P+RpS7QCkYxh^dI`}U+z&2$TOZ^ z-Z^WhhgD5f{!eal8Hxk>D=k&Ow&s9msco#n$B%0-^ z=^3NRAVfcNZHX7GV+XD93GRe|se>C9jJr%68RJVZrVbSe{^={e?arR+3q>ct{g=5W zn(=Uv2xExeUCUm?aQo$bK`E;CV;|I**50k2v3%5RvppDm%}M)ASkez8iNZ4~wLyZr znHZy47)GzL~bT900LdObFBCR6rh!Tx z)I$PAQzmNY>i8588BrJ%6*9E>v;kC*Bk5hUQwSDyN4yLcfhwobFkAMe4mww zyK*hUlN5?cV7f`29l6XmMOg@YD>*@XJnWNT{RyN5`Ym+~Aa>#VSw@AQewr^VaO~En zp9Xm;mvUe6#`Y*&fp^vTGxAj6Nw2X7O(u%ua(tKxp$S(opIz_{}wOeK`c4znwLeE*!LpQS*j#Jz1 zZm?9>3dbYa{?bdtNACNRI(0lc98$wx7{3}lBL|iu6NlFa!Xb@X`JVRz*owPNhsou5 z0H&Sj?O<|Nr8Rt<#v(Tmz;@q+${m$7MI#}qaM&XlM77UbE#G31;G3E^oBhm2GR@h+ z$ir5QkSWG_u6+w%NNaEQG-iI@4;@;XfSnX${7iN>!cW>= zjlyw&z3)(jBTGlZXn1oOf7}1GA7MwL&V)!P^2T9S`F0V0vIbP_sy&Q0J z>hegkFv3Sp-=?;|8ZscXS&Yua!ACcdw3}J6U}JxwB0^JaOanKCKPlRzE+yy&k{MA& zlf63$C}%v1PRgLQ zbFp0YD#*PguaN|IIDf8uDn_#D>8DevaU2MTna2cGbSkox%-`UOy}?4I$}S+r3*hoh zf2ojc$_3X#rRIAz*Nrv!G9;{fP{hJ{nB$}A>tnd(%D$2Hd0%mp7jABL_ck{-t3mwB z+te58*U;`B31uv64Ly@#N_ZnG{&=vmCGlP54cgsS_xLy&+Utwzz$WEwQub$^fXeRC zpI37go^ltiG5|@@V?R0w_rh|{0x9y1pxOemUDJ=U4@WM6d;>c}U|QM$bx!qD$`@ac zI6Y2w2}F(vp-a_escRd#+vxBs9^4A{mtzRwAE=dgLTi4E=mK=`rZKpmMX?dUX7BnO zqkk!v#_h0Fw~DYfQA5gWFeb%L7$_rG{gOpS?^fsH_%}$=QR;TA-|Sb_3roB?7mWtS z_=e$u_xTzSEK`ajBG><_#lOkSlrrBCfh7X7fBjG-c$PV=7w*V^&jFS(1z7-WT4nnH8)*-8)8CK&;5i(B3298bzD^;G`g1D%5d)<3!K z!Gq45LGmTXt9H-(!0=`LF}G+OZ6=AaFE>Cf6x+N3%q~jbp86+@z0u|pDf*(e_b>HL zr!HD+=&04#`;U!)eX3sPE8x%d0Ixp)l`WB%M>)eh_0^Z`g0<4aFuQ7aEml_O{`1dK zRLzK*m7YqeblV3Cl4I9H5cAR|34B0|qOG@bp)168n!Ytu=y7Q3_k3?ZKa^dk3COmH&gsl^8Q{QPFFZ0RJOR?6bPnkN*`#sA~-9HP8F4WP_kPATs<5t3C&}gl&>W%X6 zgbno?Yu@3`KW6?!PaSeU}$iHbUf`ZHi0-g%9bKvBeO;qJ-=7;3c)~)22yhH*|Ti+!{ zFg%V{y}*Ze{c%o^SkxSg+Ok=fdx*ZLq-2Ndi)uSUs9#&xTYb;$31!YOnS;vA9dnTe z+3vRyZINHmnZj>0_Vylcps23kLrxRC^n#(Y^w|5An(p-k`qW?l@UPR#TBjd;JzXkZ zWQSsxx`188M6+(lT*_!q2rXbhh zOT&;uRJJ=nmUx;ts@PgsoIm`OTqRnIV0L*P(FG%>%wES?$*##p6^Dk9WL&Dj3$P=| z**(mv0aXg8qQg_=k*Z>@ZZ!X}7vUP0|K@aIevhkq4})W+Z*b&C`xE}=#kB4bYqVT0 znMD4%gqq&mKI2@4Jxa&pow}Ux z%b0(Wd&sO1n~vln$;r5mSYa$LDj_5vu|+mOF_SdEm8Fg;2$ zw>%}eR5wh^ zfK;mtqDYwQuJ>*VnkttYBMQva7c5$Y@j#^9PnB@6NCL9ioBGRuJ{kQz{dGdvL!SL3 z(9Uqd*BnfboJz8bS&8Gq+GFfaPiSks`B2=^J(1T*{~|Qb!Ny!}gqYIVkz{b5DC%mN zaJA^<2TeQPKK;%1kylrfGQ)K}WzlM3G)olc^tX*@XD23A@05N2ooaNW97IWRvk}_Z zlrGiDcok|~LDF4w%!+%~Ck|5u61sgIoRs?tMHQ=$8AsWB`0qmQyF~&VP?x+Kh4bRS z=|=}qPyRXbIrA306V|%<19ey=$S>|Zo_hP2t_?2AotyE9@Q3h*#(fWH*%j&v1p9|# zH*Xh=Dj~})*32@>gvQuv5;6hE2ipd11<1PP*2$#Bc_cLP+je5?YlMbiSvvZzZi20nX6x8{?e>oTe67^qGa^xBg9VSL6 zVoVws9gkA5Z*2O}CU3-ZjKzsEPigAXq7HWePe{C;QTO>^Cj;*?zSj%CX%GOCtMzSp-P(ww%3~Q%W)m%;oF9RG8!12)InzYu-Fr$ zYI3qAIclf*Z@4x>aV|Err#Zq-Ef+#3hn`La_DuqcjAvv>H_Mn`yiQ#3In_nQ?lZ}u zD|0`SMPtScF}zKJ8QSW^RAY3Q1~Tl0va=9eS^mQx5oP~>FIHfV4vLJ$+2;5>WRlC+ zIH>@Ow;+kW0UNtd0z$iN(-C2lx(J02jt7|Z(#5Lme^AX9}@zAp&{pFN7 zp}(*8ejoEadPPyPtT=dw=mT#Akx}t7NBO>(+y+*Y;nt1P^B79v;+ErK&pKG2tQT9Y z5bCLchxV8+m(hiM>Y`jRDwfU22>&EIA?rJWDLr&v+?Rdg{~SF|=pZ#tdic?p@n{a; ziAP{PPE3!uO@G0Q3@=!0%h@@pZ_n(yEWv|PLBaSQ?}#b z-mKQINlKJp^16(^0e_L>2~HI`L&^%>As)bVwNed)Qa18uA%-e<-;Zt_!HxPKRdJ~1 z^uLmlMk}W1pAS7%_jaJF&W4OF^;||Z>pMJ5mEhxNk5BykDAVcdA?q~35gw#AV0;sS z60|i(7?1o>;%1@f^6M0mV+HgP%q%~`68sa!t(J^k7cb^Q!{$4o(fWXiV=|D-*!N^4 z78<=!xETO?OvY&zk5!hL#`5b$J9KOuH7`0O6hh%W#>PEF4PpvE669&?blhFpp+mI6 z1XNP2YpG^8>RzT(>}ej@9oR9OR1UlO(+QAo*| z2s6Md7(VN*$Z&%uU=i#On_hPA#YWfzkF-zYo-O-XmUPM!1!3cmwEfpQ-#AVm6?;cS zj5?fNjoUOBo%q*4B>icOct@PQykDTTFH*X6!5L&zpPuu11>u3bPZxM8$Hc9#94L?E zt^Nu9B-^Ttg@g0HrzP{h*31WE*4kifzAfRfH-R=#Tv6eN6T-r8j6PwB4Ca6U*jsDq?sqHwIq7!QX-;pJe`wiBZAt#qSA=&W$FB{LLwARZr$$5)1P z>8E?Aht5~3=&VR(Hq-l^w?-J+I(~}$#B?dh0+r7xM$WL|td5I~5~9GrY~6QzIa(=& zQL%wYuL=t%9rYDheJl-IbY_mFK>+X+dJXC;LV872$i3mfnnzhPSAG*; zFhUTQ>wXa%bFPxE5u^M1O+xVIU!+6n+eFyY_eF=_;sNyE)-P16yhCQL;4`dA=y@N> z3G<9(j?A5;2a*MvpS$RQap76R7YwK6#XVmiP_vD4pwHdT_Ow16*tZO}84f+87inv? zaEu~_3!^KQsxQ2gI<7cUqB?{ey9D|2deN=FD-#29z1>6qiJ@M)zIf8;yD(=6?PD%y z^!0PF;|#b<1(7VLph|bzcdq94zUk*6w8&D2FIJkNatnI&p+fN?Kg#iq&e4NkKFIXS zefC@aRSf-A3lGfNDorC8P}a(A7+CJ!vNJ~rern&beUW4PLVYVklCnCftzlqf4=csg z$w@r>xnd6!@|p&4f2#__OHf*d7*zEit%iYe_e)nEtX2+3D3yVZro46^bg7n#)4;U6 zk%_>O#|VUurUIco{D{Ds`RW-mkt@D`^e=QTyR!O@FEl(&c#{Ben;1jSCc?6r%XxF1 zs7u1V$5~!+^K#r*p_OU-A9rzP{!!aiW@J~{M~!qQ>PPxXN~!`xNuy>ySUwj#{h)qi zP#D|>EmA9SkJcpoCm_Up+wpP>!d9d^lrczK`jX1U-zslQ8{6J@o36K}isl~kBW5X7 zMVv=eotC(3qF-(KSmIsA zqCG0^2vUTe#5d9Xw57Ft`o#+ci8c%x zzfq+1f3Hg2Vx>ZR?{@~5?QMUQ@}~M(#Rx-AyiW#2Ov!Fl8&(N$AfQAiYoqL{c#}Tm zDgqaZN6pKX`((n_ItYFoZDV`IeL{ZyaIn{z;}e*}T@bE8Q0OzSF|%?2;HE26C-p-m z@1WkLA5&^>`^gCHxmfDZw-qoH=%&fN_+s`(S^Zc8;rV|qIls_vjbEKk6|?1ab(DQy<`}%9 zR#n{9e`QSm{BZDH)%B-I6%2kUiEcW3!+oHp(PP*{!TXizYVWwb2?U~aJKd>ZzmcNo z`eD5Xy^ow}S{<%dg#c^MB7R^rG}AP7i)R59KW3ewsX_PGCmXFx$$TRGB=kR4u-!;& zP!8`upQ$Wutw?Ru*69iLx`#XH->JpR~*xJOfJu!ARvfLddxi$FPf`46hy)t|8Lez#gt zFQRdl?S0aeC_qZLDLmVZofGz{sdRj+l{uGDck#!O2E%Df_P-Ar&GJwlRvEkNGO-m{ zgj*J7}bn`X3!I2c3R0z)CxN9mfbYnU!I9o9#gTZT^Uxxt09LUiJ zmv$1vkzxOyOhYaR+*oc3!IdtXl1zovj+q6AF=oJj3b%!5qk+ z=Vd^cu4LD5e<^5QlBHu;D&R{Xmk878R#hod=)pm>c2CdFB0tZYR&rbVhI+5-hc-yf z{h6&xFH{jC3plz|ZzD1Ms4qKmX7Y1kk+J=VTL1GRX);=J72VI<&u^_(ra9#LOBImI z&sH)YR(EBpP&=)B!9JN(C&7UHeh2No$=Ms+xebV)aEIKREbGSsqNYE6`trhxYrV^t z!YBS^>SazkIOrE`d&a~<^}M;MmFeqor$2qHl}RikK%&wcJrCW7ZK|8V(e3fr(zzv2 zxaAibycgC<7w}uNrnvo*f^gTh`alYu*^UuKmt?npEz{eX>A}L_LY@*S+*XDhrXb<3 zNU41)@_?*RfKEs89$3JLm{CJm3Pe0_k3u*Ps9i5ifwx@Ew5VxpX1PbH{ui=1V6bH6 zh916R%WxWr)gok9sSOtGn0W`&GW7%H=FCGj6Blj%pWq!Qjcr>39y|EYQ(_^8f0-~Vxz?H=(+k8_VWFB*Es{IsUoIOgK4 zp2bLWEe^DuEa#UVC5gq!);MkX1v_FeDJ9J@i*9aipxkxT{JIfldDX|<>=;4I(fak%5&!@?IZ5wxspev*DxsFpOWpU*r%!z#Thn;$kb#aElq$$ z9GD`(N2?vFsGgqEnIZqB8fRgA8Wr#H4pk= zwy!tzx1H`O_JBlSu)GWa%1Z#bZLQZkljm%aHYi8>@&dhmgZEE8l*BXQGOT#QQM$FJ}|^x)(AMTr^Wl-JpAvwkCACwXu9AByKT>I1&Lp&surq%QTQ z)v8`S0*3cGumLWpb|s*E$sb@I5b2;;6-_KZe>)hqtnc$cc) zi>hR*%WlhmsIop*v_6Z5Rca5HXmq4_EB;&x#F{@wgq{B*({yCK^>?maMXpQ5^Onnd7;tt%3mmL`vggHlz3{y>IDe9$@dsFE<#`uf!cc-jG&XA$`)SNx=^Ux zogh_rvlh^OUdXRSX;}-}d0@V$ET85Uw<)i~PPh;6&pqsq^cJ^SAKX^pSN}&6`iDZp zlA8~T#QK{aX+*7DmNX5}2dTFjG`pIn`q^0fTjLYz-NkLMvqfaqOF~*b-&<__Kz&Bf zENu`{=6y=)uChpkQMSG%oOg9osTu*y-EcT9<2Qf{#IlX1)0EyLWf?IT7ADa*G z>dHN}?N;AfuO@C4P|@pT?kP@9S?_Su!@fUkZHavE z!oz{_p^9P?0`cynm^P;Wy_A%y3qQM_%6ketZqidd9ys8UZbL8B>-Kbd5E#Pn0Zv&Q zQUPFm1vZ{Lj5GyCEQU#?Q|*$v8zy!8M7>-i`HbQpl>Q3*(&X!ieqO{voIn@xBL^ydV^m?xD*h!j>I6=kMk27V7;IrBW>LUhhx;+SskDPOEN|DF@=T zK-dqlNO3MI-h@&g^(l^o#ENran~*N(zMiLYLu$`8`lr3^Q~%)E;JCCd5)PYdSyXrV zCg-1HdH2a8XBi%$n*a9Ovh;>H>`c_os7As@SYk;tVSFcP*HMh-MyxKpsjaIgj23r4 zGBdsSMQ<*#$;T~h)`>=Epdl)>8M3ofw!8Xz=>$fN-CA{1bCaHs1NpD})|6n5Xg0Ey z7i9rj%p6?4Ru)Te`o&|ww2wPW<$1(S_a9Eq=4VY(W!d)eW7{SO+}i57bA4Aqjo1C> zjP|^}1L=`s4ffaXRn0h8;96LIih>LmuZH30=V1OcxI2N8DmV;HA7Zp>^Tj?ZnwpvB zz`Ar|;bYe3UUnVgpgrZ&r(gW(-qUIbfcTZ$m7rg^05Ezq$IygSdo-)=zUEvlXLG;$ z^i{$y+e)8k$&Anb8Nzr;WnBOVd$C+@WtvQW5whV%F8RbX;<|q6+LbJcFVav5Qd1zl zUqE^ajqM^#KU?+gMs+JtRdT+zb1%yde{E^$-=w5_CglVf;IXaktHz8stAV3`Y`A>B z>=eDgD6SI$I^A?PZzbir#Ipu#v~SD@=EBRo7xw_Nts)S=JS)H6%pNqY|9eDlGxO6Y>WV&fPwlscAb zf3wLCrs5ZDKya3qlD7DL%i=6$ZYx%JxrAD)e&JBReYj${Wt?T0tmQg1(P9_!Mz#2x zD-TnSaQ$h_(Vl6%E3itId&+<=tT=L9<>&KRWnZ^)SRKz+3^87B-rOXa?HG|PT&}hSGM+1@`5IsRa?g@j66hbdq}f<;wO9B) zvY287o{E8+wJS-LkMCyKE`NN8f;c)fDTDly9|cg5&qyghjY3#vt<=}$rUHyv?)_vR zWRcdikNt-+q7yAWzMl^okGiG2D>{5nbX!Rc`1ZhpHAkJ4@~hNwhD;VExx$}7r2!uYs?tO!I7+kHu4cbebl?cDh$j<3k!!0Yyx?!kEU{o}gT zdYyr(1^Te!c=0N{`ULx;(ucs$Fp}RHB-?;JSWtyTDwR%?OG+o*m)uK)=O}9o@;84I z9%CP>P*erBDXs2Q5)T`>EZ|zhMq%D{CSN+*^xUtUp=xg6Yj|UI*12KKt{K@t26yUm9(wk`2vx+YS|r4g1oi>F6U+}<3WD^6{huf{fFHOP^Cpg0^lGW~ zlZM`U?`jX}cv9rUc3Suz7KM01cRgwcq;v#MHttaB$i~ka<6l}F&oAD^;t}6ddBnmz zY&G%stkSXKft2`bT+E)jV>*f~>aFrq`?A*(xM8n~8}@SIR<6d%cSQPI)XehJuXK0c z*L9yYoihYMIS{b7+fO}(uBrq)Y+E$Wl62^M#Z-P(9uLMdYk8@V}Z`yXCUDR?ExNORJVI1%g?TQu{v;$&`QwPnJr- zK-c2+_B!5ufOQGCam)EXnkhfM>fifMY%b%BReOttI($Cy_)?_B<$5RY9{uFWU!44f zY&8Ug-gNEG;_)w(9z44g@M(_^FD(;_;6JDcu!8?z-JLIY0ue?>E-5=viMP z1P-N+GZ`_cTUsJyalXVqW~^Zf2#Vg)@+v@{mwj}D?INq2{XT~PSIPQxQY!ailHH9x zLEpX&XpIs+hFDdO@-ZsH#M9M(qPj-e$4!-ycgk`RxoQAAX(bF12uM!f9N$iM<``r9 zPcy>sd&K!Cr}<@-Ary94g{@Cpdzzd_v)1`Q3Wc7lK|^EQx-oqr_*CnBQzYi{o%jy1 z4abS33~~b(fKR6e0utdlD-c+gh&29hrM^z$6-Z2C>PT`1`T`J76q1u5c1rzWmDceU zp$XnyYbBG1gC&#oR{hErnSozXP@Oz=rDwl!NZQZ(j`fsjd-)Tl zk&@m-dIP56bLM&#^Y#5z#N?S@am8BX;D`{&Ts`gd-GNo8{oau*HH0GEF?TyW3`4P= z9;e5vD!CpV>sX;!@ytFH7nXS4I^5Dy+`b2c6dprya9p<;`^*@h#RX~- z_hv1YUpJaqhQK~h+W0D^#C??4V2QAav~IFUYe4!iOgd;Ixk<3SxEy{9g=*xXO59~7 zwfO#O{L;VV2S?7Z{RUqgDHfGH2m42cOE#(_YQ1aQjbrpzO^ZkM4?V7~vC}3-}J?Oelp7apZmL38$L_1y#jLIWjRhC*R3uUY5k=R|PD>fy_ryclNT|I$G z*tl6t94m)CI5Kpg6U(44n(e-ZP_gArV#VOj#GKR4x}BJlr;{tLUgB**NXXuzPfkF_ z{yl%mU$V)H6(}_o!?Ez)- z!_P#Z?u!Rm!1G9wMP{+Dw7z%BAZ2)E5$B?q@@xG$$2m)q->cCc0K4}?30y}7n?FQkfCKP^q&IX0Le#- z$i($xar=YC^A8~th{pQ6Oz-n5o>gB6`?yW9aFkS$d%np!x9sc-%5$R?6#d-ru$^?3 ze=Gcqe!FSJRbjkjA2V~@OY~vq?|Xp=K9BfXnD~8`|8q18{uBI=LD0c|_mWaOBTVna z>|1f4KKc2Rckjf~^z5(e{;RA5!kIaKc}^f#tBl!I*RC&JCw79*cdetXtx?7Q)agbk z(N>6lIBnFi3@hK3w8K)Cri6+3yLok5?L0jTWuB^dc23#r@r*TtrSYSySNpl#Sy`Q^ z5~8sNh-5YXK}0R(%)zlG-Irsok!Zowm!ZNua8$*EA}%FoB}Ucg*k!VdP>-XfuqA}^ zc8TA2zx&;9^5(WB1uEiwzT>FQ%afNlcadssDK3+RXLrk(r;0 zWZV=A$}{N&XffVO0OR*ptT=5^`deSp6qZFPpV&g3{fYrABhmD2WX$%e`zFzuP{XbH zm!7O~(l-7!3qCjCzO+jHw-a{jP~3Ire(25#%=!AVI|tCY>J2*^tgks6bZc3?4hX?O zD6Dsr(U%`=)g2x9QvnOvyKMOt8>gOzm`=l_ssa)36PRQK9u|A6cp)Pdeu_J+RD7tK zQ1$9?xr4S{do1{fkH{s**UNXWw1sh|oTI>dKFQ_&lAm>f&d|d~Uh9{_9lATw>J6T+ z!!o6J60MPaP4!IMx?>O(8*dj9Nye0Lc44XL>o%Dt(X0|y9V z>3*~Mv=k}mJJTb!MBW=DtkvzH1&>9hS^`kb`=*9Z`-}dhkE9<1Mk6~4PjVCZHBPmZXL;oy5^a_(>D-B`}>_UO0tr$b5Vt8Z4W z`q0R+HNwo^7|pO$C;dadKRYoo=l5S@`!|Z6P8n3&oeBjy??Y+yw~2(_Iiii`^74TI zz-J*FoeZB9n4^2nMxsBkqw9)i2LMUPxTkPRQhGVq7FlrJuUQu9DkL*ff2)Lj)#5mDCM;G`pzdR z=+nAM5Lz(|)bi3&%3nUCPujmFmN2J6FI=XA>FRFNnJk`|R6k~TBNK767l_8lgze56 zZ%+Aw9vn^iOISjO=n-W~`d97y(zV`YLP~-xTV@bSJ%k)pp+`-q*~W3({_c3hs2LHw zQ*0gvHA|bnjX9nG+uQ&yStitIpKvE9%4M&nVX^_fq4w4!dp+dmd!1{fNk9pX71yFO zP6X#i=b&tLH3AukLf?v1 zTul~OP_JW5k~-oJ#Q+rVXv}(&UXa@GJOSNZp>RjRICpl`v;2omPuWo)o+m`;eN?S@ zC0@wRt|PMLQeVQJJlcPB5To$|jUFT64#F?qdKKt^`(*})dw^dNgvvk0w*_zIu2QAXI)~WYyM(9RfP;;`G zJ6$jYK}tq5`TL_XP%=W#?+4=c@N_9t! zb?fxlI$h`nIRZ>$`qL!0UUD7(h_?F%Nan~u2AJl-3yj#wAQy6+e zX|`nN8hn?XH#@`AQK}H%zI`g3--hdO`>16dzv~YPcVxmQ$+}A7ZC3?kIeNceb*1r2 zKxKU>J;QYhu2$A7?JjTT?drpV7XZBZwxacqEitew^GnxW34@in=9RR;#-=?L zFI#@fGX1)`SaKcpvAcqI<3d7fzqX;onE>w1Q z>lmpI)i}8aJmwefl*29C|Fb}+``c+0PuSay6Q!&%ehesk(=V87JU>e<1cjnyVv7~a zu`~q;bmtlu%=};6apphC;W5J%sP|09 zy(bdg6p1*CG!sh6oa$PtjFj$gQ>qGNIMOFe*|Zg~^iT~!8)P3r_$N_tg4k7v1PJSq z?kB4MdbtWu-tj06L>Y9wLa7&9%Xa-No0}hJezPFh{MFurg0O}fT-kQGQRDYW?IViR zURH$p8NUK$f#Dz60Q+*h1Nlu3v#2~DtcZZPRKKPotL!sb%-$Zq{jc8-9`3!Xjbf|}G%MX>889}d_Bauq?PInT;>8Zj?n zracCOXkdF&#`N8%_vVFfA^G7_^26B2f$fP#uhOZwYQZFcI+vj=;m4f6%RQDy4p+FR zX5FmS(hk=71}7wb5Y2-@}hkr!=ss3L)3iCR`f$YOL8 zakV$NPE|CbqSqGc?m_|&fVa4UsJ<%a-uQwD!8M7&a(+v1@6_^)LF(MnJJpczs7N4u z(#UtJI+b&gzljO8s7BYXA4KV}ql;5XPf;Uk0h#+H4}_MaL@MR&%fc@A+nGw)pCfJZ2j@>AR!kRaGlGP%E~J57g4zuv?oc|V(1QN#^a^tO zn7^R0Db&=|I!Ne%q&iNN$m+IO;exOt`(UNb)IL~yo(PC)YpFTkuMUT<(_k)g6nM)) zca}9LI^jnJWxu+rVmw|{=dX(t`B?Ve4e|YrGea)bHsIUXdK5k-%s7&DF*|vfs$rw% zX?SbauULJ77j|`lQi}KrQ&>gZkT!-?Z4b=~o4rw0WsZchOz)$zf+Msv4_<+rjgXYjIu@3lrIP&>WG z{v%T}*xFJ|#oXL*vYhd>=G%0|rz-gP4@97{dyH%$Adr;R z$=aeWsp5smB`l82#xgj&*k6TfOnCT({_#j3;xo zy>qX3{lSUiKYpM0zr5*S{%ch6%AVl0c;Woiq=b@+XS0+dTH1!KMv4-*QSZ5q{Kmn2 z`32{DzWs)S)AwPaUd0yg>vMc{$u}UN;-d`x_?+UQpy1%u2(b?sr5J2MzCDR617LuQG1e_X$Z5&wHq|7< zbBGtm#ZC-0%p zuRqt&j`nLn1bNhK9MsX;m^!hwpc9lvxl#>31N<1)u%J34 zNt72Q*F-G+&&iOgN>-i!ptwQt$)^6miO>mwinPQ3<=mRU8|t2_h{Fr2XIK^ZW;l3~ zAk`~Fc)v=kO!ziN?O5OnAs%X9=Y2+dLQOPYQj3kVjh)_r>QS?S*V+RMHl{HC$TD9~ zN6Y)}=xXcxf2p^A8375_NlF z1nl=dl#c~6b~zNJP!jqdDLEYxOEJm^7l(_(3&X}|N9|E(X2yFXmauZN(0p%t{N>te z3m1A`p>q>WIrup>zJ5zbNl?DcDbT-OvWcb86;I2lo<&+`TSwoA66c61{CJNEeFy&0Mqsiu6 z?n$A~)9WPu5U+$GzLTbBN=6g|%@NsFPHtZV(b9?~+L}Z^?*sxdYzR6mq+=pg?YV~G z9SDBzQc8>|3T=duhGQ9f5@T(R{u3f}Rqf4e*cG3&e)1nH&Qcnit_v5{kMiQW^3SDR zNum}NPLG&XKGxNnKfb<{d^66C_%~teumNurF;9zrUVB}n8*_BGE7(grqf}?G!7NW> zwX7K6O%mGyPck+|GzII$U;Ty)H5Wk*rd{C2t$ICz;^MMN_kDTw@BR|Y5AOmwblHx) zI1-#xn}575dH5~WS^|)EupAnczBwNlbpavqp$UJYeZrbJ)Y6{Ommu#hKO(#HXY@T; zo%X+)XbhYw{{Z_%#jmP;&Q)cEjHVy|K5Q-4C0acr?0qX!y5en5 zzG;$R7EjtEKomahL_1YKh7GtD9NaEv2Ggk-1FW(6Q4SA3O6`|eUzB~OjK!4PRIA(3 z-pXDsHkeBs3Ns1|%*m`#&SYlI_FD{N)e8@iA$$G^hl}5&uzO8}b(7Th+y1S3w*4;V z_*?#;;8&}&<5_wGDFiH4o&t+*#1)^iC#~==S}FWO zA-UNGNzW)IBfBO=IC296_cmg`iAdiqJf?ipA%_KJ=VJitag!7*<5=b2=mbN%N=?(Sz&hzkCVMh6TSW|%m%=^&JpiCegoEcfU41>x z;?6X~`__1kphM%N5r`pG4p&T{S(YFHou0Imt?}2Wh;~l|()S?|ytndx%8P$|aOui2 zkM%Zce_}q;ggtu@fGVQ)pZNYJ-Xks;f>ipv90-h9rE7r(*VVH!C(7TT-_9({iChsn zGS|HsbA=nPhG~+@7D932=9QwdZg3GYR5w5JbzLvw|5rFqAaGB)FSp{@j9P(WN(K?Na|bXZZxtdNEv{vpyL>q6+)a`3mfLO>lOJ zciEHKESxsmJcTnpsS?G>H!v|xwxl9k(et$JjE2OS0$y9LD(B@^K7niD(1128m*mHi z%l07mcUQ}{8G?9W2PexZzrUz%WncHFC>c@ubCQ_qCT>k#(RH-U4m8sV4PM4TRv;hb zM5dOF12xMk4!>kSTFCw+sU9grD;E{v1VR#!aD97ie?Rvb8HiN)u;Q{P0_vLsv=Rf| zyio7@+WSQKJa`Qd63mF(QgRV*t=^*R*`%Ck3_3y7=%X?=0;G#+Z)A^ik zXCPW5jx+G^kd>A4chEi&JCH9!WSk*B0daD08Bm0rNA0YfWF7?=<%Csl_RF#e>wAV` z_o)n_hb$U|ojY z77^8E8`tJ4Z$zT=jyGuogYtXOX&#sNn$16qSKiD1y7KW+y5NZ<8nL=0Y?4d)*=A!% z(pKcvfiGIf9GAEn7{8O15I*(x5#tDK0L97B=app*%9&LkYa`2z&FKdK9jxzT-p*LiqGMI1 zp0Pf=5XbOb}$~0AK|>l~hTXV)W5auxYU$=7F2D^-p1U z(wi@D-q{dnt$l*6GB1(@xi6M~FuPG?)*vt+o&slCVshcsoRK+n$*m(((zM?HyEwlp zvKREMsm$ZsQp8>Lu1J+W8-BHbn`Icsnskr;iTMKy&tXVEgVxypjqL1O?fn9pGj%zn zSY^_KFPf9gLa=UyM&V=d;-~>#NMXBmq*CEj$3&yrQ!;lM-(c-l9#)_Z=ywaRMiYYU zERJRj3t8ViS?{`h{)!WZ_XHukLg<^j*9VS7B@irbqj-T z=I9gtPAn0HfitMbrpk51vh}YTWO%rmo?@(9%&{QEn3yJ_JctYQJA2b%yL@reD~H=o zZrZyE%px?vnX-N6wk(4_l~ntSA7O%&pkqwQ5X%cDX5{i?=T9CkU)%J`&P`XHNmQVn zCr)8pm8&(lE8EhZQTC>(+-ZChQbN|2hbL_Yt6E_2&rL z3JKLnR3eJR3urPIYxx7v=2T3O3i z{)#`a3VboTRH&Qi{5rNb)9V7elPx2k<#P+j8wvr#NeV%yX*7ZeqjE9I5!>B=NuoU% z6EJ{zmfJ-OsG2cDmyGY(`|eDullm>y0YM&>g}NYk?Ij7;5!SL#d^HibbVBa;&bqkU ze-k(f@0GfNcLz*}ep(7AX|&ZB3rD9%K{Ow9X;}Hy-}^~_0`!rjuUK07EKuoJlXZth zIT3VJ>1b{)f{J0F1i3l$NY+SVwZh@v1|DB9*-IGSbb2CiTr4YUY40bENuW&n{9OK8 zw*rslF*i5&z^MLbvh&68ULA)eoO(qgAJ>V~3;N3+Jn^l`-0BRccOCP1#~>m6tw-Nf z5vL<7a>dA1`HiZ3+pfvUMzy^ZAbZ4|pa4)dc-ik>)Mv3nsP#(P48_5GAAUmi@3Q;N z{qAc7WN}{qOgd>)HDV-}J2>@CvAv8H)-w4lmO!+0JETa6vg8nNh%jU+V-u7z1-qz# z@uGm8fq28!w7$ej)jK6l%3odsCg3=T>+R;K>ymOFMzB=UYZ6yQO2EQ8%f`b()QMVs zOG0Onb>qbG+03H&871puQe_n=cNyG-9kC&TEgx=s{;<99H!ABB*syKhFviv!JVUl2 zyhFdGCcKV;%QvWvhY#=FgluhMh!IqF{`}X0pcjSbdG}-dZNxGS6K{FV+HyE-gp|Sc zvh6G&me`r3ot$xv^@y+TAP0~9!y3Afnau)Sm&jYg=nwWfB?QnHEVAj$95;abK9!q&Zu+7~uy1ko^xC1=i zO~Ar9qlfoh({~R@vCLegxwbTIFo$zP?zx_^RQ$MQdZ8nO-Z=()9eOLAza zp?s>rST!^1d8bdG*54OEafzIQq>q>ojS|ab|0nsIz^v={s`0k9hL*YUSf=!A1VE>g{i{Pe=EjHcIf! z$xY53%ZoJ)Z*7S{FfP>_P8Rl7&HUR`mrct)Z|rmW+S{V&(t#mNsKE8%1-2J;_PBSW zqCBe}rvembPAa28m8=`FE<1JBx^OQRntUbYKDg5vmFdJlP5xYx-^|+>RH=<}`Qth7&fxtHe|Iagn@}0P^ix!ka?D z%D5|;Tt4c3I($K_wWG#c)~7d^F9t$wN8oDf*@?XjOZ(} z?ZIb>PxbYB_tFuJh8PWh&`yMs);N=EXq2nUNb8rSo3J+*t~U&1$L+ENg3Iax5G$4b;Dbu@bW_ zD#@eQF*mGhU8H!3i6G~lC}n{1{@9S6jJ=m zs|-v|?TT%auxo$ssmU?3w8j=%1RH=5I6Caz0_Y|x27d_q2IY!@@^;)Ou?7xGNze4h^1^BhTdN7}_+6-#C zE|Kz1s#U=pNbL;z+N)grPFS<8xYU@-YO|X;*L3wK*eMe!8sxCI?-vI@;TGlpA0Mj? zF$}SD`PW+#YU$~Vpo%K#48219;k5svjoXxIW&yQ7Boen-JS;O1Ln1pqUt+X`d_`0A z(?LhWkkQqd}N4*v^_-EAo~>N^)|9%1^P_Xkhb2C)z%_NqMK zAFyDJ%Gpaq?Zl90#u5`~RpTQ-!%tFCh7eJb`Z8DX-?&OGa`#li+eAPMhigW4b8fE2k(Zch-sgng-DiB2;AJOLp#VCaVW&Q;5gTy0~~zwUz}>w)>Kok%gj4 zZ$vKYWaoIdMJluyCL|3C{*7yi!J(R5YXWd=LJKY|4@Pr+unPSZhm4QDA8Rd;Sjkx; z4=i|{?=}_(sP<)=ajsCgD#KnvE5Vdbh|q)QM1l_mfJhRF;AxSfAYey@c(2y`^xJWW z@`M;_RTG_;v*Zqz?GeK?)Av@dwby#yt?X6+j;E}`pe7xS5O<~F|81}-)x5iHoje1^ zZ@6tXk+2p;3SwaZAjBwB;Ks`k1kYh#D3Mp<<6+@QnM8r~UmCw%`LEzz@RCS$3NhTA z-`u!))-4I?u!ykyH=AarD&PXIXaQV*Q^Z&DRBB?9Y5qV_=kLg698|$Q7-q@!N&bH_ zr$!H#?5+Jl#Nsu)9_pOL0^A!M@vdT7F#snSHa_T)D%D7{NT41}HclIc6pChq2#xHw z+1zF~sF4oc;??sJ(%Qsfj&gyF7gl64u(rnBvLrq#CSg{pxiY&V1^mHe+z*{pBa>

4#OuPS^u%30BO8tU5yq5? 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%0AwHM`D7mwQrp7&_j`QDPyy>ICf1`g6X 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

n4CP4 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 literal 0 HcmV?d00001