summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_hal.c5
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_hal_adc.c8
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_hal_adc_ex.c5
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_hal_cec.c7
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_hal_comp.c6
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_hal_cortex.c4
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_hal_crc.c6
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_hal_crc_ex.c3
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_hal_cryp.c5
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_hal_cryp_ex.c2
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_hal_dac.c6
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_hal_dac_ex.c5
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_hal_dcmi.c7
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_hal_dfsdm.c12
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_hal_dfsdm_ex.c3
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_hal_dma.c1
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_hal_dma2d.c9
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_hal_dma_ex.c1
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_hal_dsi.c4
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_hal_dts.c6
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_hal_eth.c8
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_hal_eth_ex.c4
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_hal_exti.c1
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_hal_fdcan.c9
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_hal_flash.c5
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_hal_flash_ex.c4
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_hal_gfxmmu.c5
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_hal_gpio.c4
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_hal_hash.c17
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_hal_hash_ex.c9
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_hal_hcd.c7
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_hal_hrtim.c15
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_hal_hsem.c5
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_hal_i2c.c8
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_hal_i2c_ex.c3
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_hal_i2s.c6
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_hal_irda.c8
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_hal_iwdg.c1
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_hal_jpeg.c8
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_hal_lptim.c8
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_hal_ltdc.c7
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_hal_ltdc_ex.c3
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_hal_mdios.c5
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_hal_mdma.c1
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_hal_mmc.c2
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_hal_mmc_ex.c1
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_hal_nand.c6
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_hal_nor.c8
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_hal_opamp.c6
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_hal_opamp_ex.c4
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_hal_ospi.c6
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_hal_otfdec.c5
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_hal_pcd.c8
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_hal_pcd_ex.c3
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_hal_pssi.c8
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_hal_pwr.c6
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_hal_pwr_ex.c9
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_hal_qspi.c8
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_hal_ramecc.c1
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_hal_rcc.c6
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_hal_rcc_ex.c7
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_hal_rng.c2
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_hal_rng_ex.c2
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_hal_sai.c8
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_hal_sai_ex.c3
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_hal_sd.c1
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_hal_sd_ex.c1
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_hal_sdram.c6
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_hal_smartcard.c7
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_hal_smartcard_ex.c7
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_hal_smbus.c7
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_hal_spdifrx.c5
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_hal_spi.c7
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_hal_spi_ex.c3
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_hal_sram.c6
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_hal_swpmi.c7
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_hal_tim.c13
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_hal_tim_ex.c10
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_hal_uart.c8
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_hal_uart_ex.c7
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_hal_usart.c7
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_hal_usart_ex.c6
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_hal_wwdg.c4
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_ll_crs.c1
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_ll_delayblock.c3
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_ll_exti.c1
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_ll_fmc.c9
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_ll_i2c.c1
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_ll_lptim.c1
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_ll_mdma.c1
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_ll_pwr.c1
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_ll_rcc.c1
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_ll_sdmmc.c6
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_ll_spi.c2
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_ll_tim.c1
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_ll_usb.c2
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_ll_utils.c1
-rw-r--r--bsps/arm/stm32h7/include/Legacy/stm32_hal_legacy.h84
-rw-r--r--bsps/arm/stm32h7/include/bsp.h12
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_hal.h14
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_hal_adc.h30
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_hal_adc_ex.h17
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_hal_cec.h26
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_hal_comp.h24
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_hal_cortex.h18
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_hal_crc.h16
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_hal_crc_ex.h5
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_hal_cryp.h21
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_hal_cryp_ex.h6
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_hal_dac.h15
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_hal_dac_ex.h3
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_hal_dcmi.h22
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_hal_dfsdm.h23
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_hal_dma.h26
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_hal_dma2d.h25
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_hal_dma_ex.h10
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_hal_dsi.h63
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_hal_dts.h13
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_hal_eth.h43
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_hal_eth_ex.h16
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_hal_exti.h14
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_hal_fdcan.h84
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_hal_flash.h14
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_hal_flash_ex.h43
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_hal_gfxmmu.h16
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_hal_gpio.h10
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_hal_gpio_ex.h9
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_hal_hash.h12
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_hal_hcd.h14
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_hal_hrtim.h93
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_hal_hsem.h3
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_hal_i2c.h23
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_hal_i2c_ex.h6
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_hal_i2s.h18
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_hal_irda.h19
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_hal_irda_ex.h4
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_hal_iwdg.h11
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_hal_jpeg.h23
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_hal_lptim.h23
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_hal_ltdc.h22
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_hal_mdios.h19
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_hal_mdma.h29
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_hal_mmc.h28
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_hal_mmc_ex.h4
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_hal_nand.h4
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_hal_nor.h4
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_hal_opamp.h14
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_hal_ospi.h38
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_hal_otfdec.h17
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_hal_pcd.h11
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_hal_pssi.h13
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_hal_pwr.h15
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_hal_pwr_ex.h22
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_hal_qspi.h25
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_hal_ramecc.h14
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_hal_rcc.h39
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_hal_rcc_ex.h84
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_hal_rng.h16
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_hal_rng_ex.h11
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_hal_rtc.h34
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_hal_rtc_ex.h48
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_hal_sai.h38
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_hal_sai_ex.h1
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_hal_sd.h30
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_hal_sd_ex.h4
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_hal_sdram.h2
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_hal_smartcard.h26
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_hal_smartcard_ex.h9
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_hal_smbus.h22
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_hal_spdifrx.h19
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_hal_spi.h31
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_hal_sram.h2
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_hal_swpmi.h14
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_hal_tim.h64
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_hal_tim_ex.h10
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_hal_uart.h44
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_hal_uart_ex.h8
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_hal_usart.h19
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_hal_usart_ex.h8
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_hal_wwdg.h8
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_ll_adc.h68
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_ll_bdma.h25
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_ll_bus.h39
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_ll_comp.h24
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_ll_cortex.h19
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_ll_crc.h13
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_ll_crs.h18
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_ll_dac.h30
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_ll_delayblock.h2
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_ll_dma.h28
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_ll_dma2d.h25
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_ll_dmamux.h19
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_ll_exti.h18
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_ll_fmc.h57
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_ll_gpio.h16
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_ll_hrtim.h81
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_ll_hsem.h10
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_ll_i2c.h31
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_ll_iwdg.h10
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_ll_lptim.h31
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_ll_lpuart.h39
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_ll_mdma.h37
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_ll_opamp.h23
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_ll_pwr.h22
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_ll_rcc.h98
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_ll_rng.h17
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_ll_rtc.h67
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_ll_sdmmc.h26
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_ll_spi.h57
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_ll_swpmi.h21
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_ll_system.h29
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_ll_tim.h79
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_ll_usart.h51
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_ll_usb.h17
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_ll_utils.h11
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_ll_wwdg.h10
216 files changed, 3517 insertions, 0 deletions
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_hal.c b/bsps/arm/stm32h7/hal/stm32h7xx_hal.c
index 8fc0f84c93..89205d78c2 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_hal.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_hal.c
@@ -40,6 +40,7 @@
*/
/** @defgroup HAL HAL
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief HAL module driver.
* @{
*/
@@ -66,6 +67,7 @@
/* Exported variables --------------------------------------------------------*/
/** @defgroup HAL_Exported_Variables HAL Exported Variables
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#ifndef __rtems__
@@ -81,10 +83,12 @@ HAL_TickFreqTypeDef uwTickFreq = HAL_TICK_FREQ_DEFAULT; /* 1KHz */
/* Private functions ---------------------------------------------------------*/
/** @defgroup HAL_Private_Functions HAL Private Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup HAL_Group1 Initialization and de-initialization Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Initialization and de-initialization functions
*
@verbatim
@@ -301,6 +305,7 @@ __weak HAL_StatusTypeDef HAL_InitTick(uint32_t TickPriority)
*/
/** @defgroup HAL_Group2 HAL Control functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief HAL Control functions
*
@verbatim
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_hal_adc.c b/bsps/arm/stm32h7/hal/stm32h7xx_hal_adc.c
index cce8bf9baa..2f2011bde5 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_hal_adc.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_hal_adc.c
@@ -309,6 +309,7 @@
*/
/** @defgroup ADC ADC
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief ADC HAL module driver
* @{
*/
@@ -319,6 +320,7 @@
/* Private define ------------------------------------------------------------*/
/** @defgroup ADC_Private_Constants ADC Private Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define ADC_CFGR_FIELDS_1 ((uint32_t)(ADC_CFGR_RES |\
@@ -358,10 +360,12 @@
/* Exported functions --------------------------------------------------------*/
/** @defgroup ADC_Exported_Functions ADC Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup ADC_Exported_Functions_Group1 Initialization and de-initialization functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief ADC Initialization and Configuration functions
*
@verbatim
@@ -1213,6 +1217,7 @@ HAL_StatusTypeDef HAL_ADC_UnRegisterCallback(ADC_HandleTypeDef *hadc, HAL_ADC_Ca
*/
/** @defgroup ADC_Exported_Functions_Group2 ADC Input and Output operation functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief ADC IO operation functions
*
@verbatim
@@ -2610,6 +2615,7 @@ __weak void HAL_ADC_ErrorCallback(ADC_HandleTypeDef *hadc)
*/
/** @defgroup ADC_Exported_Functions_Group3 Peripheral Control functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Peripheral Control functions
*
@verbatim
@@ -3135,6 +3141,7 @@ HAL_StatusTypeDef HAL_ADC_AnalogWDGConfig(ADC_HandleTypeDef *hadc, ADC_AnalogWDG
*/
/** @defgroup ADC_Exported_Functions_Group4 Peripheral State functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief ADC Peripheral State functions
*
@verbatim
@@ -3192,6 +3199,7 @@ uint32_t HAL_ADC_GetError(ADC_HandleTypeDef *hadc)
*/
/** @defgroup ADC_Private_Functions ADC Private Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_hal_adc_ex.c b/bsps/arm/stm32h7/hal/stm32h7xx_hal_adc_ex.c
index 8aa0815044..64b5c4082d 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_hal_adc_ex.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_hal_adc_ex.c
@@ -47,6 +47,7 @@
*/
/** @defgroup ADCEx ADCEx
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief ADC Extended HAL module driver
* @{
*/
@@ -57,6 +58,7 @@
/* Private define ------------------------------------------------------------*/
/** @defgroup ADCEx_Private_Constants ADC Extended Private Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -87,10 +89,12 @@
/* Exported functions --------------------------------------------------------*/
/** @defgroup ADCEx_Exported_Functions ADC Extended Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup ADCEx_Exported_Functions_Group1 Extended Input and Output operation functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Extended IO operation functions
*
@verbatim
@@ -1719,6 +1723,7 @@ HAL_StatusTypeDef HAL_ADCEx_RegularMultiModeStop_DMA(ADC_HandleTypeDef *hadc)
*/
/** @defgroup ADCEx_Exported_Functions_Group2 ADC Extended Peripheral Control functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief ADC Extended Peripheral Control functions
*
@verbatim
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_hal_cec.c b/bsps/arm/stm32h7/hal/stm32h7xx_hal_cec.c
index 1b87bac84e..8ae1bfd6b6 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_hal_cec.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_hal_cec.c
@@ -117,6 +117,7 @@
*/
/** @defgroup CEC CEC
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief HAL CEC module driver
* @{
*/
@@ -126,6 +127,7 @@
/* Private typedef -----------------------------------------------------------*/
/* Private define ------------------------------------------------------------*/
/** @defgroup CEC_Private_Constants CEC Private Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/**
@@ -136,6 +138,7 @@
/* Private variables ---------------------------------------------------------*/
/* Private function prototypes -----------------------------------------------*/
/** @defgroup CEC_Private_Functions CEC Private Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/**
@@ -145,10 +148,12 @@
/* Exported functions ---------------------------------------------------------*/
/** @defgroup CEC_Exported_Functions CEC Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup CEC_Exported_Functions_Group1 Initialization and de-initialization functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Initialization and Configuration functions
*
@verbatim
@@ -649,6 +654,7 @@ HAL_StatusTypeDef HAL_CEC_UnRegisterRxCpltCallback(CEC_HandleTypeDef *hcec)
*/
/** @defgroup CEC_Exported_Functions_Group2 Input and Output operation functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief CEC Transmit/Receive functions
*
@verbatim
@@ -942,6 +948,7 @@ __weak void HAL_CEC_ErrorCallback(CEC_HandleTypeDef *hcec)
*/
/** @defgroup CEC_Exported_Functions_Group3 Peripheral Control function
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief CEC control functions
*
@verbatim
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_hal_comp.c b/bsps/arm/stm32h7/hal/stm32h7xx_hal_comp.c
index 8033926129..8c3186b5f1 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_hal_comp.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_hal_comp.c
@@ -201,6 +201,7 @@
*/
/** @defgroup COMP COMP
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief COMP HAL module driver
* @{
*/
@@ -237,10 +238,12 @@
/* Exported functions --------------------------------------------------------*/
/** @defgroup COMP_Exported_Functions COMP Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup COMP_Exported_Functions_Group1 Initialization/de-initialization functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Initialization and de-initialization functions.
*
@verbatim
@@ -728,6 +731,7 @@ HAL_StatusTypeDef HAL_COMP_UnRegisterCallback(COMP_HandleTypeDef *hcomp, HAL_COM
*/
/** @defgroup COMP_Exported_Functions_Group2 Start-Stop operation functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Start-Stop operation functions.
*
@verbatim
@@ -1070,6 +1074,7 @@ void HAL_COMP_IRQHandler(COMP_HandleTypeDef *hcomp)
*/
/** @defgroup COMP_Exported_Functions_Group3 Peripheral Control functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Management functions.
*
@verbatim
@@ -1185,6 +1190,7 @@ __weak void HAL_COMP_TriggerCallback(COMP_HandleTypeDef *hcomp)
*/
/** @defgroup COMP_Exported_Functions_Group4 Peripheral State functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Peripheral State functions.
*
@verbatim
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_hal_cortex.c b/bsps/arm/stm32h7/hal/stm32h7xx_hal_cortex.c
index 631f432f7e..57b8b5f612 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_hal_cortex.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_hal_cortex.c
@@ -87,6 +87,7 @@
*/
/** @defgroup CORTEX CORTEX
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief CORTEX HAL module driver
* @{
*/
@@ -101,11 +102,13 @@
/* Exported functions --------------------------------------------------------*/
/** @defgroup CORTEX_Exported_Functions CORTEX Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup CORTEX_Exported_Functions_Group1 Initialization and de-initialization functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Initialization and Configuration functions
*
@verbatim
@@ -235,6 +238,7 @@ uint32_t HAL_SYSTICK_Config(uint32_t TicksNumb)
*/
/** @defgroup CORTEX_Exported_Functions_Group2 Peripheral Control functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Cortex control functions
*
@verbatim
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_hal_crc.c b/bsps/arm/stm32h7/hal/stm32h7xx_hal_crc.c
index 5d12b7f610..fc16d0a806 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_hal_crc.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_hal_crc.c
@@ -50,6 +50,7 @@
*/
/** @defgroup CRC CRC
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief CRC HAL module driver.
* @{
*/
@@ -62,6 +63,7 @@
/* Private variables ---------------------------------------------------------*/
/* Private function prototypes -----------------------------------------------*/
/** @defgroup CRC_Private_Functions CRC Private Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
static uint32_t CRC_Handle_8(CRC_HandleTypeDef *hcrc, uint8_t pBuffer[], uint32_t BufferLength);
@@ -73,10 +75,12 @@ static uint32_t CRC_Handle_16(CRC_HandleTypeDef *hcrc, uint16_t pBuffer[], uint3
/* Exported functions --------------------------------------------------------*/
/** @defgroup CRC_Exported_Functions CRC Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup CRC_Exported_Functions_Group1 Initialization and de-initialization functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Initialization and Configuration functions.
*
@verbatim
@@ -250,6 +254,7 @@ __weak void HAL_CRC_MspDeInit(CRC_HandleTypeDef *hcrc)
*/
/** @defgroup CRC_Exported_Functions_Group2 Peripheral Control functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief management functions.
*
@verbatim
@@ -385,6 +390,7 @@ uint32_t HAL_CRC_Calculate(CRC_HandleTypeDef *hcrc, uint32_t pBuffer[], uint32_t
*/
/** @defgroup CRC_Exported_Functions_Group3 Peripheral State functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Peripheral State functions.
*
@verbatim
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_hal_crc_ex.c b/bsps/arm/stm32h7/hal/stm32h7xx_hal_crc_ex.c
index 2ce184e5d5..2083a0a8e1 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_hal_crc_ex.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_hal_crc_ex.c
@@ -37,6 +37,7 @@
*/
/** @defgroup CRCEx CRCEx
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief CRC Extended HAL module driver
* @{
*/
@@ -51,10 +52,12 @@
/* Exported functions --------------------------------------------------------*/
/** @defgroup CRCEx_Exported_Functions CRC Extended Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup CRCEx_Exported_Functions_Group1 Extended Initialization/de-initialization functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Extended Initialization and Configuration functions.
*
@verbatim
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_hal_cryp.c b/bsps/arm/stm32h7/hal/stm32h7xx_hal_cryp.c
index abf8584a2c..612658a2f6 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_hal_cryp.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_hal_cryp.c
@@ -273,6 +273,7 @@
#if defined (CRYP)
/** @defgroup CRYP CRYP
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief CRYP HAL module driver.
* @{
*/
@@ -371,11 +372,13 @@ static HAL_StatusTypeDef CRYP_TDES_Process(CRYP_HandleTypeDef *hcryp, uint32_t T
/* Exported functions ---------------------------------------------------------*/
/** @defgroup CRYP_Exported_Functions CRYP Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup CRYP_Exported_Functions_Group1 Initialization and de-initialization functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief CRYP Initialization and Configuration functions.
*
@verbatim
@@ -866,6 +869,7 @@ HAL_StatusTypeDef HAL_CRYP_UnRegisterCallback(CRYP_HandleTypeDef *hcryp, HAL_CRY
*/
/** @defgroup CRYP_Exported_Functions_Group2 Encrypt Decrypt functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief CRYP processing functions.
*
@verbatim
@@ -1667,6 +1671,7 @@ HAL_StatusTypeDef HAL_CRYP_Decrypt_DMA(CRYP_HandleTypeDef *hcryp, uint32_t *Inpu
*/
/** @defgroup CRYP_Exported_Functions_Group3 CRYP IRQ handler management
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief CRYP IRQ handler.
*
@verbatim
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_hal_cryp_ex.c b/bsps/arm/stm32h7/hal/stm32h7xx_hal_cryp_ex.c
index cda921b88a..c46d2f0bd2 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_hal_cryp_ex.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_hal_cryp_ex.c
@@ -38,6 +38,7 @@
*/
#if defined (CRYP)
/** @defgroup CRYPEx CRYPEx
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief CRYP Extension HAL module driver.
* @{
*/
@@ -81,6 +82,7 @@
*/
/** @defgroup CRYPEx_Exported_Functions_Group1 Extended AES processing functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief CRYPEx Extended processing functions.
*
@verbatim
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_hal_dac.c b/bsps/arm/stm32h7/hal/stm32h7xx_hal_dac.c
index cf479e2cb9..8d7be1d28e 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_hal_dac.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_hal_dac.c
@@ -308,6 +308,7 @@
#if defined(DAC1) || defined(DAC2)
/** @defgroup DAC DAC
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief DAC driver modules
* @{
*/
@@ -330,10 +331,12 @@
/* Exported functions -------------------------------------------------------*/
/** @defgroup DAC_Exported_Functions DAC Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup DAC_Exported_Functions_Group1 Initialization and de-initialization functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Initialization and Configuration functions
*
@verbatim
@@ -492,6 +495,7 @@ __weak void HAL_DAC_MspDeInit(DAC_HandleTypeDef *hdac)
*/
/** @defgroup DAC_Exported_Functions_Group2 IO operation functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief IO operation functions
*
@verbatim
@@ -955,6 +959,7 @@ __weak void HAL_DAC_DMAUnderrunCallbackCh1(DAC_HandleTypeDef *hdac)
*/
/** @defgroup DAC_Exported_Functions_Group3 Peripheral Control functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Peripheral Control functions
*
@verbatim
@@ -1169,6 +1174,7 @@ HAL_StatusTypeDef HAL_DAC_ConfigChannel(DAC_HandleTypeDef *hdac, DAC_ChannelConf
*/
/** @defgroup DAC_Exported_Functions_Group4 Peripheral State and Errors functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Peripheral State and Errors functions
*
@verbatim
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_hal_dac_ex.c b/bsps/arm/stm32h7/hal/stm32h7xx_hal_dac_ex.c
index 75ceee92bf..1109ef03b7 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_hal_dac_ex.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_hal_dac_ex.c
@@ -72,6 +72,7 @@
#if defined(DAC1) || defined(DAC2)
/** @defgroup DACEx DACEx
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief DAC Extended HAL module driver
* @{
*/
@@ -84,10 +85,12 @@
/* Exported functions --------------------------------------------------------*/
/** @defgroup DACEx_Exported_Functions DACEx Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup DACEx_Exported_Functions_Group2 IO operation functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Extended IO operation functions
*
@verbatim
@@ -747,6 +750,7 @@ uint32_t HAL_DACEx_GetTrimOffset(DAC_HandleTypeDef *hdac, uint32_t Channel)
*/
/** @defgroup DACEx_Exported_Functions_Group3 Peripheral Control functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Extended Peripheral Control functions
*
@verbatim
@@ -788,6 +792,7 @@ uint32_t HAL_DACEx_DualGetValue(DAC_HandleTypeDef *hdac)
/* Private functions ---------------------------------------------------------*/
/** @defgroup DACEx_Private_Functions DACEx private functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Extended private functions
* @{
*/
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_hal_dcmi.c b/bsps/arm/stm32h7/hal/stm32h7xx_hal_dcmi.c
index ac25ecc549..10f0752f09 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_hal_dcmi.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_hal_dcmi.c
@@ -126,6 +126,7 @@
* @{
*/
/** @defgroup DCMI DCMI
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief DCMI HAL module driver
* @{
*/
@@ -146,10 +147,12 @@ static void DCMI_DMAError(DMA_HandleTypeDef *hdma);
/* Exported functions --------------------------------------------------------*/
/** @defgroup DCMI_Exported_Functions DCMI Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup DCMI_Exported_Functions_Group1 Initialization and Configuration functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Initialization and Configuration functions
*
@verbatim
@@ -330,6 +333,7 @@ __weak void HAL_DCMI_MspDeInit(DCMI_HandleTypeDef *hdcmi)
* @}
*/
/** @defgroup DCMI_Exported_Functions_Group2 IO operation functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief IO operation functions
*
@verbatim
@@ -749,6 +753,7 @@ __weak void HAL_DCMI_FrameEventCallback(DCMI_HandleTypeDef *hdcmi)
*/
/** @defgroup DCMI_Exported_Functions_Group3 Peripheral Control functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Peripheral Control functions
*
@verbatim
@@ -889,6 +894,7 @@ HAL_StatusTypeDef HAL_DCMI_ConfigSyncUnmask(DCMI_HandleTypeDef *hdcmi, DCMI_Syn
*/
/** @defgroup DCMI_Exported_Functions_Group4 Peripheral State functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Peripheral State functions
*
@verbatim
@@ -1112,6 +1118,7 @@ HAL_StatusTypeDef HAL_DCMI_UnRegisterCallback(DCMI_HandleTypeDef *hdcmi, HAL_DCM
*/
/* Private functions ---------------------------------------------------------*/
/** @defgroup DCMI_Private_Functions DCMI Private Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/**
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_hal_dfsdm.c b/bsps/arm/stm32h7/hal/stm32h7xx_hal_dfsdm.c
index 220e07a960..ede5ec4f79 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_hal_dfsdm.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_hal_dfsdm.c
@@ -273,6 +273,7 @@
#ifdef HAL_DFSDM_MODULE_ENABLED
/** @defgroup DFSDM DFSDM
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief DFSDM HAL driver module
* @{
*/
@@ -280,6 +281,7 @@
/* Private typedef -----------------------------------------------------------*/
/* Private define ------------------------------------------------------------*/
/** @defgroup DFSDM_Private_Define DFSDM Private Define
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DFSDM_FLTCR1_MSB_RCH_OFFSET 8
@@ -297,6 +299,7 @@
/* Private macro -------------------------------------------------------------*/
/* Private variables ---------------------------------------------------------*/
/** @defgroup DFSDM_Private_Variables DFSDM Private Variables
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
static __IO uint32_t v_dfsdm1ChannelCounter = 0;
@@ -311,6 +314,7 @@ static DFSDM_Channel_HandleTypeDef *a_dfsdm2ChannelHandle[DFSDM2_CHANNEL_NUMBER]
/* Private function prototypes -----------------------------------------------*/
/** @defgroup DFSDM_Private_Functions DFSDM Private Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
static uint32_t DFSDM_GetInjChannelsNbr(uint32_t Channels);
@@ -330,10 +334,12 @@ static void DFSDM_DMAError(DMA_HandleTypeDef *hdma);
/* Exported functions --------------------------------------------------------*/
/** @defgroup DFSDM_Exported_Functions DFSDM Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup DFSDM_Exported_Functions_Group1_Channel Channel initialization and de-initialization functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Channel initialization and de-initialization functions
*
@verbatim
@@ -728,6 +734,7 @@ HAL_StatusTypeDef HAL_DFSDM_Channel_UnRegisterCallback(DFSDM_Channel_HandleTypeD
*/
/** @defgroup DFSDM_Exported_Functions_Group2_Channel Channel operation functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Channel operation functions
*
@verbatim
@@ -1384,6 +1391,7 @@ HAL_StatusTypeDef HAL_DFSDM_ChannelModifyOffset(DFSDM_Channel_HandleTypeDef *hdf
*/
/** @defgroup DFSDM_Exported_Functions_Group3_Channel Channel state function
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Channel state function
*
@verbatim
@@ -1412,6 +1420,7 @@ HAL_DFSDM_Channel_StateTypeDef HAL_DFSDM_ChannelGetState(DFSDM_Channel_HandleTyp
*/
/** @defgroup DFSDM_Exported_Functions_Group1_Filter Filter initialization and de-initialization functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Filter initialization and de-initialization functions
*
@verbatim
@@ -1875,6 +1884,7 @@ HAL_StatusTypeDef HAL_DFSDM_Filter_UnRegisterAwdCallback(DFSDM_Filter_HandleType
*/
/** @defgroup DFSDM_Exported_Functions_Group2_Filter Filter control functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Filter control functions
*
@verbatim
@@ -1977,6 +1987,7 @@ HAL_StatusTypeDef HAL_DFSDM_FilterConfigInjChannel(DFSDM_Filter_HandleTypeDef *h
*/
/** @defgroup DFSDM_Exported_Functions_Group3_Filter Filter operation functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Filter operation functions
*
@verbatim
@@ -3395,6 +3406,7 @@ __weak void HAL_DFSDM_FilterErrorCallback(DFSDM_Filter_HandleTypeDef *hdfsdm_fil
*/
/** @defgroup DFSDM_Exported_Functions_Group4_Filter Filter state functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Filter state functions
*
@verbatim
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_hal_dfsdm_ex.c b/bsps/arm/stm32h7/hal/stm32h7xx_hal_dfsdm_ex.c
index e0349b4a47..b11d058fa3 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_hal_dfsdm_ex.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_hal_dfsdm_ex.c
@@ -33,6 +33,7 @@
#if defined(DFSDM_CHDLYR_PLSSKP)
/** @defgroup DFSDMEx DFSDMEx
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief DFSDM Extended HAL module driver
* @{
*/
@@ -45,10 +46,12 @@
/* Exported functions --------------------------------------------------------*/
/** @defgroup DFSDMEx_Exported_Functions DFSDM Extended Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup DFSDMEx_Exported_Functions_Group1_Channel Extended channel operation functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief DFSDM extended channel operation functions
*
@verbatim
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_hal_dma.c b/bsps/arm/stm32h7/hal/stm32h7xx_hal_dma.c
index da7510b142..dcdf8fe7f2 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_hal_dma.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_hal_dma.c
@@ -100,6 +100,7 @@
*/
/** @defgroup DMA DMA
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief DMA HAL module driver
* @{
*/
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_hal_dma2d.c b/bsps/arm/stm32h7/hal/stm32h7xx_hal_dma2d.c
index b6b8d4099d..92666bb92f 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_hal_dma2d.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_hal_dma2d.c
@@ -171,6 +171,7 @@
*/
/** @defgroup DMA2D DMA2D
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief DMA2D HAL module driver
* @{
*/
@@ -178,10 +179,12 @@
/* Private types -------------------------------------------------------------*/
/* Private define ------------------------------------------------------------*/
/** @defgroup DMA2D_Private_Constants DMA2D Private Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup DMA2D_TimeOut DMA2D Time Out
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DMA2D_TIMEOUT_ABORT (1000U) /*!< 1s */
@@ -209,10 +212,12 @@ static void DMA2D_SetConfig(DMA2D_HandleTypeDef *hdma2d, uint32_t pdata, uint32_
/* Private functions ---------------------------------------------------------*/
/* Exported functions --------------------------------------------------------*/
/** @defgroup DMA2D_Exported_Functions DMA2D Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup DMA2D_Exported_Functions_Group1 Initialization and de-initialization functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Initialization and Configuration functions
*
@verbatim
@@ -621,6 +626,7 @@ HAL_StatusTypeDef status = HAL_OK;
/** @defgroup DMA2D_Exported_Functions_Group2 IO operation functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief IO operation functions
*
@verbatim
@@ -1722,6 +1728,7 @@ __weak void HAL_DMA2D_CLUTLoadingCpltCallback(DMA2D_HandleTypeDef *hdma2d)
*/
/** @defgroup DMA2D_Exported_Functions_Group3 Peripheral Control functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Peripheral Control functions
*
@verbatim
@@ -2022,6 +2029,7 @@ HAL_StatusTypeDef HAL_DMA2D_ConfigDeadTime(DMA2D_HandleTypeDef *hdma2d, uint8_t
/** @defgroup DMA2D_Exported_Functions_Group4 Peripheral State and Error functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Peripheral State functions
*
@verbatim
@@ -2069,6 +2077,7 @@ uint32_t HAL_DMA2D_GetError(DMA2D_HandleTypeDef *hdma2d)
/** @defgroup DMA2D_Private_Functions DMA2D Private Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_hal_dma_ex.c b/bsps/arm/stm32h7/hal/stm32h7xx_hal_dma_ex.c
index 294ce8cedd..b534adc5a5 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_hal_dma_ex.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_hal_dma_ex.c
@@ -56,6 +56,7 @@
*/
/** @defgroup DMAEx DMAEx
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief DMA Extended HAL module driver
* @{
*/
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_hal_dsi.c b/bsps/arm/stm32h7/hal/stm32h7xx_hal_dsi.c
index badc634835..9bb194580e 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_hal_dsi.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_hal_dsi.c
@@ -251,6 +251,7 @@ static HAL_StatusTypeDef DSI_ShortWrite(DSI_HandleTypeDef *hdsi,
*/
/** @defgroup DSI_Group1 Initialization and Configuration functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Initialization and Configuration functions
*
@verbatim
@@ -762,6 +763,7 @@ HAL_StatusTypeDef HAL_DSI_UnRegisterCallback(DSI_HandleTypeDef *hdsi, HAL_DSI_Ca
*/
/** @defgroup DSI_Group2 IO operation functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief IO operation functions
*
@verbatim
@@ -945,6 +947,7 @@ __weak void HAL_DSI_ErrorCallback(DSI_HandleTypeDef *hdsi)
*/
/** @defgroup DSI_Group3 Peripheral Control functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Peripheral Control functions
*
@verbatim
@@ -2644,6 +2647,7 @@ HAL_StatusTypeDef HAL_DSI_SetContentionDetectionOff(DSI_HandleTypeDef *hdsi, Fun
*/
/** @defgroup DSI_Group4 Peripheral State and Errors functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Peripheral State and Errors functions
*
@verbatim
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_hal_dts.c b/bsps/arm/stm32h7/hal/stm32h7xx_hal_dts.c
index a6227c7c21..0c0282f9b4 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_hal_dts.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_hal_dts.c
@@ -52,6 +52,7 @@
#if defined(DTS)
/** @defgroup DTS DTS
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief DTS HAL module driver
* @{
*/
@@ -85,10 +86,12 @@ static void DTS_ResetCallback(DTS_HandleTypeDef *hdts);
/* Exported functions --------------------------------------------------------*/
/** @defgroup DTS_Exported_Functions DTS Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup DTS_Exported_Functions_Group1 Initialization/de-initialization functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Initialization and de-initialization functions.
*
@verbatim
@@ -278,6 +281,7 @@ __weak void HAL_DTS_MspDeInit(DTS_HandleTypeDef *hdts)
*/
/** @defgroup DTS_Exported_Functions_Group2 Start-Stop operation functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Start-Stop operation functions.
*
@verbatim
@@ -744,6 +748,7 @@ __weak void HAL_DTS_AsyncHighCallback(DTS_HandleTypeDef *hdts)
*/
/** @defgroup DTS_Exported_Functions_Group3 Peripheral State functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Peripheral State functions.
*
@verbatim
@@ -784,6 +789,7 @@ HAL_DTS_StateTypeDef HAL_DTS_GetState(DTS_HandleTypeDef *hdts)
/* Private functions ---------------------------------------------------------*/
/** @defgroup DTS_Private_Functions DTS Private Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if (USE_HAL_DTS_REGISTER_CALLBACKS == 1)
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_hal_eth.c b/bsps/arm/stm32h7/hal/stm32h7xx_hal_eth.c
index a1b1fa0ff2..4f2634df5b 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_hal_eth.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_hal_eth.c
@@ -154,6 +154,7 @@
#if defined(ETH)
/** @defgroup ETH ETH
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief ETH HAL module driver
* @{
*/
@@ -196,6 +197,7 @@
/* Private macros ------------------------------------------------------------*/
/** @defgroup ETH_Private_Macros ETH Private Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/* Helper macros for TX descriptor handling */
@@ -216,6 +218,7 @@
*/
/* Private function prototypes -----------------------------------------------*/
/** @defgroup ETH_Private_Functions ETH Private Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
static void ETH_MAC_MDIO_ClkConfig(ETH_HandleTypeDef *heth);
@@ -235,10 +238,12 @@ static void ETH_InitCallbacksToDefault(ETH_HandleTypeDef *heth);
/* Exported functions ---------------------------------------------------------*/
/** @defgroup ETH_Exported_Functions ETH Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup ETH_Exported_Functions_Group1 Initialization and deinitialization functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Initialization and Configuration functions
*
@verbatim
@@ -732,6 +737,7 @@ HAL_StatusTypeDef HAL_ETH_DescAssignMemory(ETH_HandleTypeDef *heth, uint32_t Ind
*/
/** @defgroup ETH_Exported_Functions_Group2 IO operation functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief ETH Transmit and Receive functions
*
@verbatim
@@ -1865,6 +1871,7 @@ HAL_StatusTypeDef HAL_ETH_WritePHYRegister(ETH_HandleTypeDef *heth, uint32_t PHY
*/
/** @defgroup ETH_Exported_Functions_Group3 Peripheral Control functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief ETH control functions
*
@verbatim
@@ -2309,6 +2316,7 @@ HAL_StatusTypeDef HAL_ETH_SetWakeUpFilter(ETH_HandleTypeDef *heth, uint32_t *pFi
*/
/** @defgroup ETH_Exported_Functions_Group4 Peripheral State and Errors functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief ETH State and Errors functions
*
@verbatim
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_hal_eth_ex.c b/bsps/arm/stm32h7/hal/stm32h7xx_hal_eth_ex.c
index 894443db6d..e506133641 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_hal_eth_ex.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_hal_eth_ex.c
@@ -30,6 +30,7 @@
#if defined(ETH)
/** @defgroup ETHEx ETHEx
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief ETH HAL Extended module driver
* @{
*/
@@ -38,6 +39,7 @@
/* Private typedef -----------------------------------------------------------*/
/* Private define ------------------------------------------------------------*/
/** @defgroup ETHEx_Private_Constants ETHEx Private Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define ETH_MACL4CR_MASK (ETH_MACL3L4CR_L4PEN | ETH_MACL3L4CR_L4SPM | \
@@ -66,10 +68,12 @@
/* Private function prototypes -----------------------------------------------*/
/* Exported functions ---------------------------------------------------------*/
/** @defgroup ETHEx_Exported_Functions ETH Extended Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup ETHEx_Exported_Functions_Group1 Extended features functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Extended features functions
*
@verbatim
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_hal_exti.c b/bsps/arm/stm32h7/hal/stm32h7xx_hal_exti.c
index ffb5deeffb..8c3366879d 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_hal_exti.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_hal_exti.c
@@ -133,6 +133,7 @@
/* Private typedef -----------------------------------------------------------*/
/* Private defines ------------------------------------------------------------*/
/** @defgroup EXTI_Private_Constants EXTI Private Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define EXTI_MODE_OFFSET 0x04U /* 0x10: offset between CPU IMR/EMR registers */
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_hal_fdcan.c b/bsps/arm/stm32h7/hal/stm32h7xx_hal_fdcan.c
index 7505fd5a16..41b85c2f78 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_hal_fdcan.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_hal_fdcan.c
@@ -190,6 +190,7 @@
*/
/** @defgroup FDCAN FDCAN
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief FDCAN HAL module driver
* @{
*/
@@ -253,10 +254,12 @@ static void FDCAN_CopyMessageToRAM(FDCAN_HandleTypeDef *hfdcan, FDCAN_TxHeaderTy
/* Exported functions --------------------------------------------------------*/
/** @defgroup FDCAN_Exported_Functions FDCAN Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup FDCAN_Exported_Functions_Group1 Initialization and de-initialization functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Initialization and Configuration functions
*
@verbatim
@@ -1605,6 +1608,7 @@ HAL_StatusTypeDef HAL_FDCAN_UnRegisterTTGlobalTimeCallback(FDCAN_HandleTypeDef *
*/
/** @defgroup FDCAN_Exported_Functions_Group2 Configuration functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief FDCAN Configuration functions.
*
@verbatim
@@ -2538,6 +2542,7 @@ HAL_StatusTypeDef HAL_FDCAN_DisableEdgeFiltering(FDCAN_HandleTypeDef *hfdcan)
*/
/** @defgroup FDCAN_Exported_Functions_Group3 Control functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Control functions
*
@verbatim
@@ -3389,6 +3394,7 @@ HAL_StatusTypeDef HAL_FDCAN_ExitRestrictedOperationMode(FDCAN_HandleTypeDef *hfd
*/
/** @defgroup FDCAN_Exported_Functions_Group4 TT Configuration and control functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief TT Configuration and control functions
*
@verbatim
@@ -4886,6 +4892,7 @@ HAL_StatusTypeDef HAL_FDCAN_TT_GetOperationStatus(FDCAN_HandleTypeDef *hfdcan, F
*/
/** @defgroup FDCAN_Exported_Functions_Group5 Interrupts management
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Interrupts management
*
@verbatim
@@ -5605,6 +5612,7 @@ void HAL_FDCAN_IRQHandler(FDCAN_HandleTypeDef *hfdcan)
*/
/** @defgroup FDCAN_Exported_Functions_Group6 Callback functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief FDCAN Callback functions
*
@verbatim
@@ -5949,6 +5957,7 @@ __weak void HAL_FDCAN_TT_GlobalTimeCallback(FDCAN_HandleTypeDef *hfdcan, uint32_
*/
/** @defgroup FDCAN_Exported_Functions_Group7 Peripheral State functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief FDCAN Peripheral State functions
*
@verbatim
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_hal_flash.c b/bsps/arm/stm32h7/hal/stm32h7xx_hal_flash.c
index 3a6b651fdc..bcd84ab669 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_hal_flash.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_hal_flash.c
@@ -93,6 +93,7 @@
*/
/** @defgroup FLASH FLASH
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief FLASH HAL module driver
* @{
*/
@@ -116,10 +117,12 @@ FLASH_ProcessTypeDef pFlash;
/* Exported functions ---------------------------------------------------------*/
/** @defgroup FLASH_Exported_Functions FLASH Exported functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup FLASH_Exported_Functions_Group1 Programming operation functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Programming operation functions
*
@verbatim
@@ -681,6 +684,7 @@ __weak void HAL_FLASH_OperationErrorCallback(uint32_t ReturnValue)
*/
/** @defgroup FLASH_Exported_Functions_Group2 Peripheral Control functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Management functions
*
@verbatim
@@ -836,6 +840,7 @@ HAL_StatusTypeDef HAL_FLASH_OB_Launch(void)
*/
/** @defgroup FLASH_Exported_Functions_Group3 Peripheral State and Errors functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Peripheral Errors functions
*
@verbatim
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_hal_flash_ex.c b/bsps/arm/stm32h7/hal/stm32h7xx_hal_flash_ex.c
index 77b809f76b..8c95d707a0 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_hal_flash_ex.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_hal_flash_ex.c
@@ -79,6 +79,7 @@
*/
/** @defgroup FLASHEx FLASHEx
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief FLASH HAL Extension module driver
* @{
*/
@@ -99,6 +100,7 @@
/* Private variables ---------------------------------------------------------*/
/* Private function prototypes -----------------------------------------------*/
/** @defgroup FLASHEx_Private_Functions FLASHEx Private Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
static void FLASH_MassErase(uint32_t VoltageRange, uint32_t Banks);
@@ -135,10 +137,12 @@ static uint32_t FLASH_OB_OTP_GetLock(void);
/* Exported functions ---------------------------------------------------------*/
/** @defgroup FLASHEx_Exported_Functions FLASHEx Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup FLASHEx_Exported_Functions_Group1 Extended IO operation functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Extended IO operation functions
*
@verbatim
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_hal_gfxmmu.c b/bsps/arm/stm32h7/hal/stm32h7xx_hal_gfxmmu.c
index b873c73bfd..743244fcbf 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_hal_gfxmmu.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_hal_gfxmmu.c
@@ -143,6 +143,7 @@
#ifdef HAL_GFXMMU_MODULE_ENABLED
#if defined(GFXMMU)
/** @defgroup GFXMMU GFXMMU
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief GFXMMU HAL driver module
* @{
*/
@@ -157,10 +158,12 @@
/* Private function prototypes -----------------------------------------------*/
/* Exported functions --------------------------------------------------------*/
/** @defgroup GFXMMU_Exported_Functions GFXMMU Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup GFXMMU_Exported_Functions_Group1 Initialization and de-initialization functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Initialization and de-initialization functions
*
@verbatim
@@ -492,6 +495,7 @@ HAL_StatusTypeDef HAL_GFXMMU_UnRegisterCallback(GFXMMU_HandleTypeDef *hgf
*/
/** @defgroup GFXMMU_Exported_Functions_Group2 Operations functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief GFXMMU operation functions
*
@verbatim
@@ -823,6 +827,7 @@ __weak void HAL_GFXMMU_ErrorCallback(GFXMMU_HandleTypeDef *hgfxmmu)
*/
/** @defgroup GFXMMU_Exported_Functions_Group3 State functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief GFXMMU state functions
*
@verbatim
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_hal_gpio.c b/bsps/arm/stm32h7/hal/stm32h7xx_hal_gpio.c
index 4026ecefce..eff43bcaa4 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_hal_gpio.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_hal_gpio.c
@@ -111,6 +111,7 @@
*/
/** @defgroup GPIO GPIO
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief GPIO HAL module driver
* @{
*/
@@ -145,10 +146,12 @@
/* Private functions ---------------------------------------------------------*/
/* Exported functions --------------------------------------------------------*/
/** @defgroup GPIO_Exported_Functions GPIO Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup GPIO_Exported_Functions_Group1 Initialization and de-initialization functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Initialization and Configuration functions
*
@verbatim
@@ -371,6 +374,7 @@ void HAL_GPIO_DeInit(GPIO_TypeDef *GPIOx, uint32_t GPIO_Pin)
*/
/** @defgroup GPIO_Exported_Functions_Group2 IO operation functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief GPIO Read, Write, Toggle, Lock and EXTI management functions.
*
@verbatim
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_hal_hash.c b/bsps/arm/stm32h7/hal/stm32h7xx_hal_hash.c
index 22b4362526..d2bdf69bfc 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_hal_hash.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_hal_hash.c
@@ -212,6 +212,7 @@
#if defined (HASH)
/** @defgroup HASH HASH
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief HASH HAL module driver.
* @{
*/
@@ -221,10 +222,12 @@
/* Private typedef -----------------------------------------------------------*/
/* Private define ------------------------------------------------------------*/
/** @defgroup HASH_Private_Constants HASH Private Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup HASH_Digest_Calculation_Status HASH Digest Calculation Status
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HASH_DIGEST_CALCULATION_NOT_STARTED ((uint32_t)0x00000000U) /*!< DCAL not set after input data written in DIN register */
@@ -234,6 +237,7 @@
*/
/** @defgroup HASH_Number_Of_CSR_Registers HASH Number of Context Swap Registers
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HASH_NUMBER_OF_CSR_REGISTERS 54U /*!< Number of Context Swap Registers */
@@ -242,6 +246,7 @@
*/
/** @defgroup HASH_TimeOut_Value HASH TimeOut Value
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HASH_TIMEOUTVALUE 1000U /*!< Time-out value */
@@ -250,6 +255,7 @@
*/
/** @defgroup HASH_DMA_Suspension_Words_Limit HASH DMA suspension words limit
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HASH_DMA_SUSPENSION_WORDS_LIMIT 20U /*!< Number of words below which DMA suspension is aborted */
@@ -265,6 +271,7 @@
/* Private variables ---------------------------------------------------------*/
/* Private function prototypes -----------------------------------------------*/
/** @defgroup HASH_Private_Functions HASH Private Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
static void HASH_DMAXferCplt(DMA_HandleTypeDef *hdma);
@@ -280,10 +287,12 @@ static HAL_StatusTypeDef HMAC_Processing(HASH_HandleTypeDef *hhash, uint32_t Tim
*/
/** @defgroup HASH_Exported_Functions HASH Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup HASH_Exported_Functions_Group1 Initialization and de-initialization functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Initialization, configuration and call-back functions.
*
@verbatim
@@ -718,6 +727,7 @@ HAL_StatusTypeDef status = HAL_OK;
*/
/** @defgroup HASH_Exported_Functions_Group2 HASH processing functions in polling mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief HASH processing functions using polling mode.
*
@verbatim
@@ -863,6 +873,7 @@ HAL_StatusTypeDef HAL_HASH_SHA1_Accmlt_End(HASH_HandleTypeDef *hhash, uint8_t *p
*/
/** @defgroup HASH_Exported_Functions_Group3 HASH processing functions in interrupt mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief HASH processing functions using interrupt mode.
*
@verbatim
@@ -1025,6 +1036,7 @@ void HAL_HASH_IRQHandler(HASH_HandleTypeDef *hhash)
*/
/** @defgroup HASH_Exported_Functions_Group4 HASH processing functions in DMA mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief HASH processing functions using DMA mode.
*
@verbatim
@@ -1118,6 +1130,7 @@ HAL_StatusTypeDef HAL_HASH_SHA1_Finish(HASH_HandleTypeDef *hhash, uint8_t* pOutB
*/
/** @defgroup HASH_Exported_Functions_Group5 HMAC processing functions in polling mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief HMAC processing functions using polling mode.
*
@verbatim
@@ -1178,6 +1191,7 @@ HAL_StatusTypeDef HAL_HMAC_SHA1_Start(HASH_HandleTypeDef *hhash, uint8_t *pInBuf
/** @defgroup HASH_Exported_Functions_Group6 HMAC processing functions in interrupt mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief HMAC processing functions using interrupt mode.
*
@verbatim
@@ -1237,6 +1251,7 @@ HAL_StatusTypeDef HAL_HMAC_SHA1_Start_IT(HASH_HandleTypeDef *hhash, uint8_t *pIn
/** @defgroup HASH_Exported_Functions_Group7 HMAC processing functions in DMA mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief HMAC processing functions using DMA modes.
*
@verbatim
@@ -1313,6 +1328,7 @@ HAL_StatusTypeDef HAL_HMAC_SHA1_Start_DMA(HASH_HandleTypeDef *hhash, uint8_t *pI
*/
/** @defgroup HASH_Exported_Functions_Group8 Peripheral states functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Peripheral State functions.
*
@verbatim
@@ -1612,6 +1628,7 @@ uint32_t HAL_HASH_GetError(HASH_HandleTypeDef *hhash)
*/
/** @defgroup HASH_Private_Functions HASH Private Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_hal_hash_ex.c b/bsps/arm/stm32h7/hal/stm32h7xx_hal_hash_ex.c
index 13939d6151..0f8b177139 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_hal_hash_ex.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_hal_hash_ex.c
@@ -93,6 +93,7 @@
#if defined (HASH)
/** @defgroup HASHEx HASHEx
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief HASH HAL extended module driver.
* @{
*/
@@ -103,10 +104,12 @@
/** @defgroup HASHEx_Exported_Functions HASH Extended Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup HASHEx_Exported_Functions_Group1 HASH extended processing functions in polling mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief HASH extended processing functions using polling mode.
*
@verbatim
@@ -253,6 +256,7 @@ HAL_StatusTypeDef HAL_HASHEx_SHA256_Accmlt_End(HASH_HandleTypeDef *hhash, uint8_
*/
/** @defgroup HASHEx_Exported_Functions_Group2 HASH extended processing functions in interrupt mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief HASH extended processing functions using interrupt mode.
*
@verbatim
@@ -384,6 +388,7 @@ HAL_StatusTypeDef HAL_HASHEx_SHA256_Accmlt_End_IT(HASH_HandleTypeDef *hhash, uin
*/
/** @defgroup HASHEx_Exported_Functions_Group3 HASH extended processing functions in DMA mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief HASH extended processing functions using DMA mode.
*
@verbatim
@@ -480,6 +485,7 @@ HAL_StatusTypeDef HAL_HASHEx_SHA256_Finish(HASH_HandleTypeDef *hhash, uint8_t* p
*/
/** @defgroup HASHEx_Exported_Functions_Group4 HMAC extended processing functions in polling mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief HMAC extended processing functions using polling mode.
*
@verbatim
@@ -541,6 +547,7 @@ HAL_StatusTypeDef HAL_HMACEx_SHA256_Start(HASH_HandleTypeDef *hhash, uint8_t *pI
/** @defgroup HASHEx_Exported_Functions_Group5 HMAC extended processing functions in interrupt mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief HMAC extended processing functions using interruption mode.
*
@verbatim
@@ -603,6 +610,7 @@ HAL_StatusTypeDef HAL_HMACEx_SHA256_Start_IT(HASH_HandleTypeDef *hhash, uint8_t
/** @defgroup HASHEx_Exported_Functions_Group6 HMAC extended processing functions in DMA mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief HMAC extended processing functions using DMA mode.
*
@verbatim
@@ -681,6 +689,7 @@ HAL_StatusTypeDef HAL_HMACEx_SHA256_Start_DMA(HASH_HandleTypeDef *hhash, uint8_t
*/
/** @defgroup HASHEx_Exported_Functions_Group7 Multi-buffer HMAC extended processing functions in DMA mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief HMAC extended processing functions in multi-buffer DMA mode.
*
@verbatim
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_hal_hcd.c b/bsps/arm/stm32h7/hal/stm32h7xx_hal_hcd.c
index 974be7f9b0..52722a43ea 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_hal_hcd.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_hal_hcd.c
@@ -65,6 +65,7 @@
#if defined (USB_OTG_FS) || defined (USB_OTG_HS)
/** @defgroup HCD HCD
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief HCD HAL module driver
* @{
*/
@@ -75,6 +76,7 @@
/* Private variables ---------------------------------------------------------*/
/* Private function prototypes -----------------------------------------------*/
/** @defgroup HCD_Private_Functions HCD Private Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
static void HCD_HC_IN_IRQHandler(HCD_HandleTypeDef *hhcd, uint8_t chnum);
@@ -87,10 +89,12 @@ static void HCD_Port_IRQHandler(HCD_HandleTypeDef *hhcd);
/* Exported functions --------------------------------------------------------*/
/** @defgroup HCD_Exported_Functions HCD Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup HCD_Exported_Functions_Group1 Initialization and de-initialization functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Initialization and Configuration functions
*
@verbatim
@@ -327,6 +331,7 @@ __weak void HAL_HCD_MspDeInit(HCD_HandleTypeDef *hhcd)
*/
/** @defgroup HCD_Exported_Functions_Group2 Input and Output operation functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief HCD IO operation functions
*
@verbatim
@@ -982,6 +987,7 @@ HAL_StatusTypeDef HAL_HCD_UnRegisterHC_NotifyURBChangeCallback(HCD_HandleTypeDef
*/
/** @defgroup HCD_Exported_Functions_Group3 Peripheral Control functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Management functions
*
@verbatim
@@ -1041,6 +1047,7 @@ HAL_StatusTypeDef HAL_HCD_ResetPort(HCD_HandleTypeDef *hhcd)
*/
/** @defgroup HCD_Exported_Functions_Group4 Peripheral State functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Peripheral State functions
*
@verbatim
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_hal_hrtim.c b/bsps/arm/stm32h7/hal/stm32h7xx_hal_hrtim.c
index 4f78ecf665..ee54e81de8 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_hal_hrtim.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_hal_hrtim.c
@@ -366,6 +366,7 @@
#if defined(HRTIM1)
/** @defgroup HRTIM HRTIM
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief HRTIM HAL module driver
* @{
*/
@@ -373,6 +374,7 @@
/* Private typedef -----------------------------------------------------------*/
/* Private define ------------------------------------------------------------*/
/** @defgroup HRTIM_Private_Defines HRTIM Private Define
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HRTIM_FLTR_FLTxEN (HRTIM_FLTR_FLT1EN |\
@@ -402,6 +404,7 @@
/* Private macro -------------------------------------------------------------*/
/* Private variables ---------------------------------------------------------*/
/** @defgroup HRTIM_Private_Variables HRTIM Private Variables
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
static uint32_t TimerIdxToTimerId[] =
@@ -419,6 +422,7 @@ static uint32_t TimerIdxToTimerId[] =
/* Private function prototypes -----------------------------------------------*/
/** @defgroup HRTIM_Private_Functions HRTIM Private Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
static void HRTIM_MasterBase_Config(HRTIM_HandleTypeDef * hhrtim,
@@ -491,10 +495,12 @@ static void HRTIM_BurstDMACplt(DMA_HandleTypeDef *hdma);
/* Exported functions ---------------------------------------------------------*/
/** @defgroup HRTIM_Exported_Functions HRTIM Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup HRTIM_Exported_Functions_Group1 Initialization and de-initialization functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Initialization and Configuration functions
@verbatim
===============================================================================
@@ -778,6 +784,7 @@ HAL_StatusTypeDef HAL_HRTIM_TimeBaseConfig(HRTIM_HandleTypeDef *hhrtim,
*/
/** @defgroup HRTIM_Exported_Functions_Group2 Simple time base mode functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Simple time base mode functions.
@verbatim
===============================================================================
@@ -1146,6 +1153,7 @@ HAL_StatusTypeDef HAL_HRTIM_SimpleBaseStop_DMA(HRTIM_HandleTypeDef * hhrtim,
*/
/** @defgroup HRTIM_Exported_Functions_Group3 Simple output compare mode functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Simple output compare functions
@verbatim
===============================================================================
@@ -1757,6 +1765,7 @@ HAL_StatusTypeDef HAL_HRTIM_SimpleOCStop_DMA(HRTIM_HandleTypeDef * hhrtim,
*/
/** @defgroup HRTIM_Exported_Functions_Group4 Simple PWM output mode functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Simple PWM output functions
@verbatim
===============================================================================
@@ -2438,6 +2447,7 @@ HAL_StatusTypeDef HAL_HRTIM_SimplePWMStop_DMA(HRTIM_HandleTypeDef * hhrtim,
*/
/** @defgroup HRTIM_Exported_Functions_Group5 Simple input capture functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Simple input capture functions
@verbatim
===============================================================================
@@ -3078,6 +3088,7 @@ HAL_StatusTypeDef HAL_HRTIM_SimpleCaptureStop_DMA(HRTIM_HandleTypeDef * hhrtim,
*/
/** @defgroup HRTIM_Exported_Functions_Group6 Simple one pulse functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Simple one pulse functions
@verbatim
===============================================================================
@@ -3532,6 +3543,7 @@ HAL_StatusTypeDef HAL_HRTIM_SimpleOnePulseStop_IT(HRTIM_HandleTypeDef * hhrtim,
*/
/** @defgroup HRTIM_Exported_Functions_Group7 Configuration functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief HRTIM configuration functions
@verbatim
===============================================================================
@@ -4036,6 +4048,7 @@ HAL_StatusTypeDef HAL_HRTIM_ADCTriggerConfig(HRTIM_HandleTypeDef * hhrtim,
*/
/** @defgroup HRTIM_Exported_Functions_Group8 Timer waveform configuration and functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief HRTIM timer configuration and control functions
@verbatim
===============================================================================
@@ -5895,6 +5908,7 @@ HAL_StatusTypeDef HAL_HRTIM_UpdateDisable(HRTIM_HandleTypeDef *hhrtim,
*/
/** @defgroup HRTIM_Exported_Functions_Group9 Peripheral state functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Peripheral State functions
@verbatim
===============================================================================
@@ -6379,6 +6393,7 @@ uint32_t HAL_HRTIM_GetIdlePushPullStatus(HRTIM_HandleTypeDef * hhrtim,
*/
/** @defgroup HRTIM_Exported_Functions_Group10 Interrupts handling
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Functions called when HRTIM generates an interrupt
* 7 interrupts can be generated by the master timer:
* - Master timer registers update
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_hal_hsem.c b/bsps/arm/stm32h7/hal/stm32h7xx_hal_hsem.c
index 1fab0cefa5..7a6be9c805 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_hal_hsem.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_hal_hsem.c
@@ -92,6 +92,7 @@
*/
/** @defgroup HSEM HSEM
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief HSEM HAL module driver
* @{
*/
@@ -120,10 +121,12 @@
/* Exported functions --------------------------------------------------------*/
/** @defgroup HSEM_Exported_Functions HSEM Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup HSEM_Exported_Functions_Group1 Take and Release functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief HSEM Take and Release functions
*
@verbatim
@@ -260,6 +263,7 @@ void HAL_HSEM_ReleaseAll(uint32_t Key, uint32_t CoreID)
*/
/** @defgroup HSEM_Exported_Functions_Group2 HSEM Set and Get Key functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief HSEM Set and Get Key functions.
*
@verbatim
@@ -301,6 +305,7 @@ uint32_t HAL_HSEM_GetClearKey(void)
*/
/** @defgroup HSEM_Exported_Functions_Group3 HSEM IRQ handler management
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief HSEM Notification functions.
*
@verbatim
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_hal_i2c.c b/bsps/arm/stm32h7/hal/stm32h7xx_hal_i2c.c
index 7c05d16f6f..aedffac024 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_hal_i2c.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_hal_i2c.c
@@ -312,6 +312,7 @@
*/
/** @defgroup I2C I2C
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief I2C HAL module driver
* @{
*/
@@ -322,6 +323,7 @@
/* Private define ------------------------------------------------------------*/
/** @defgroup I2C_Private_Define I2C Private Define
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define TIMING_CLEAR_MASK (0xF0FFFFFFU) /*!< I2C TIMING clear register Mask */
@@ -370,6 +372,7 @@
/* Private function prototypes -----------------------------------------------*/
/** @defgroup I2C_Private_Functions I2C Private Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/* Private functions to handle DMA transfer */
@@ -428,10 +431,12 @@ static void I2C_ConvertOtherXferOptions(I2C_HandleTypeDef *hi2c);
/* Exported functions --------------------------------------------------------*/
/** @defgroup I2C_Exported_Functions I2C Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup I2C_Exported_Functions_Group1 Initialization and de-initialization functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Initialization and Configuration functions
*
@verbatim
@@ -977,6 +982,7 @@ HAL_StatusTypeDef HAL_I2C_UnRegisterAddrCallback(I2C_HandleTypeDef *hi2c)
*/
/** @defgroup I2C_Exported_Functions_Group2 Input and Output operation functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Data transfers functions
*
@verbatim
@@ -4300,6 +4306,7 @@ HAL_StatusTypeDef HAL_I2C_Master_Abort_IT(I2C_HandleTypeDef *hi2c, uint16_t DevA
*/
/** @defgroup I2C_IRQ_Handler_and_Callbacks IRQ Handler and Callbacks
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -4539,6 +4546,7 @@ __weak void HAL_I2C_AbortCpltCallback(I2C_HandleTypeDef *hi2c)
*/
/** @defgroup I2C_Exported_Functions_Group3 Peripheral State, Mode and Error functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Peripheral State, Mode and Error functions
*
@verbatim
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_hal_i2c_ex.c b/bsps/arm/stm32h7/hal/stm32h7xx_hal_i2c_ex.c
index ea50ce31c5..a1863bc177 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_hal_i2c_ex.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_hal_i2c_ex.c
@@ -54,6 +54,7 @@
*/
/** @defgroup I2CEx I2CEx
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief I2C Extended HAL module driver
* @{
*/
@@ -68,10 +69,12 @@
/* Private functions ---------------------------------------------------------*/
/** @defgroup I2CEx_Exported_Functions I2C Extended Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup I2CEx_Exported_Functions_Group1 Extended features functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Extended features functions
*
@verbatim
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_hal_i2s.c b/bsps/arm/stm32h7/hal/stm32h7xx_hal_i2s.c
index 1a6bec0451..e6f43c542e 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_hal_i2s.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_hal_i2s.c
@@ -183,6 +183,7 @@
*/
/** @defgroup I2S I2S
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief I2S HAL module driver
* @{
*/
@@ -195,6 +196,7 @@
/* Private variables ---------------------------------------------------------*/
/* Private function prototypes -----------------------------------------------*/
/** @defgroup I2S_Private_Functions I2S Private Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
static void I2S_DMATxCplt(DMA_HandleTypeDef *hdma);
@@ -215,10 +217,12 @@ static HAL_StatusTypeDef I2S_WaitFlagStateUntilTimeout(I2S_HandleTypeDef *hi2s,
/* Exported functions ---------------------------------------------------------*/
/** @defgroup I2S_Exported_Functions I2S Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup I2S_Exported_Functions_Group1 Initialization and de-initialization functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Initialization and Configuration functions
*
@verbatim
@@ -718,6 +722,7 @@ HAL_StatusTypeDef HAL_I2S_UnRegisterCallback(I2S_HandleTypeDef *hi2s, HAL_I2S_Ca
*/
/** @defgroup I2S_Exported_Functions_Group2 IO operation functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Data transfers functions
*
@verbatim
@@ -1613,6 +1618,7 @@ __weak void HAL_I2S_ErrorCallback(I2S_HandleTypeDef *hi2s)
*/
/** @defgroup I2S_Exported_Functions_Group3 Peripheral State and Errors functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Peripheral State functions
*
@verbatim
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_hal_irda.c b/bsps/arm/stm32h7/hal/stm32h7xx_hal_irda.c
index 2d9f808115..0124dd508d 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_hal_irda.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_hal_irda.c
@@ -192,6 +192,7 @@
*/
/** @defgroup IRDA IRDA
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief HAL IRDA module driver
* @{
*/
@@ -201,6 +202,7 @@
/* Private typedef -----------------------------------------------------------*/
/* Private define ------------------------------------------------------------*/
/** @defgroup IRDA_Private_Constants IRDA Private Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define IRDA_TEACK_REACK_TIMEOUT 1000U /*!< IRDA TX or RX enable acknowledge time-out value */
@@ -217,6 +219,7 @@
/* Private macros ------------------------------------------------------------*/
/** @defgroup IRDA_Private_Macros IRDA Private Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @brief BRR division operation to set BRR register in 16-bit oversampling mode.
@@ -265,10 +268,12 @@ static void IRDA_Receive_IT(IRDA_HandleTypeDef *hirda);
/* Exported functions --------------------------------------------------------*/
/** @defgroup IRDA_Exported_Functions IRDA Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup IRDA_Exported_Functions_Group1 Initialization and de-initialization functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Initialization and Configuration functions
*
@verbatim
@@ -702,6 +707,7 @@ HAL_StatusTypeDef HAL_IRDA_UnRegisterCallback(IRDA_HandleTypeDef *hirda, HAL_IRD
*/
/** @defgroup IRDA_Exported_Functions_Group2 IO operation functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief IRDA Transmit and Receive functions
*
@verbatim
@@ -2146,6 +2152,7 @@ __weak void HAL_IRDA_AbortReceiveCpltCallback(IRDA_HandleTypeDef *hirda)
*/
/** @defgroup IRDA_Exported_Functions_Group4 Peripheral State and Error functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief IRDA State and Errors functions
*
@verbatim
@@ -2201,6 +2208,7 @@ uint32_t HAL_IRDA_GetError(IRDA_HandleTypeDef *hirda)
*/
/** @defgroup IRDA_Private_Functions IRDA Private Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_hal_iwdg.c b/bsps/arm/stm32h7/hal/stm32h7xx_hal_iwdg.c
index 9947bf6a87..a10d003eb6 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_hal_iwdg.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_hal_iwdg.c
@@ -107,6 +107,7 @@
/* Private typedef -----------------------------------------------------------*/
/* Private define ------------------------------------------------------------*/
/** @defgroup IWDG_Private_Defines IWDG Private Defines
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/* Status register need 5 RC LSI divided by prescaler clock to be updated. With
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_hal_jpeg.c b/bsps/arm/stm32h7/hal/stm32h7xx_hal_jpeg.c
index 80b34314a1..74f8b52add 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_hal_jpeg.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_hal_jpeg.c
@@ -224,6 +224,7 @@
*/
/** @defgroup JPEG JPEG
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief JPEG HAL module driver.
* @{
*/
@@ -456,10 +457,12 @@ static void JPEG_MDMAOutAbortCallback(MDMA_HandleTypeDef *hmdma);
*/
/** @defgroup JPEG_Exported_Functions JPEG Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup JPEG_Exported_Functions_Group1 Initialization and de-initialization functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Initialization and de-initialization functions.
*
@verbatim
@@ -1072,6 +1075,7 @@ HAL_StatusTypeDef HAL_JPEG_UnRegisterDataReadyCallback(JPEG_HandleTypeDef *hjpeg
*/
/** @defgroup JPEG_Exported_Functions_Group2 Configuration functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief JPEG Configuration functions.
*
@verbatim
@@ -1484,6 +1488,7 @@ HAL_StatusTypeDef HAL_JPEG_SetUserQuantTables(JPEG_HandleTypeDef *hjpeg, uint8_
*/
/** @defgroup JPEG_Exported_Functions_Group3 encoding/decoding processing functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief processing functions.
*
@verbatim
@@ -2290,6 +2295,7 @@ HAL_StatusTypeDef HAL_JPEG_Abort(JPEG_HandleTypeDef *hjpeg)
*/
/** @defgroup JPEG_Exported_Functions_Group4 JPEG Decode/Encode callback functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief JPEG process callback functions.
*
@verbatim
@@ -2419,6 +2425,7 @@ __weak void HAL_JPEG_DataReadyCallback(JPEG_HandleTypeDef *hjpeg, uint8_t *pData
/** @defgroup JPEG_Exported_Functions_Group5 JPEG IRQ handler management
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief JPEG IRQ handler.
*
@verbatim
@@ -2470,6 +2477,7 @@ void HAL_JPEG_IRQHandler(JPEG_HandleTypeDef *hjpeg)
*/
/** @defgroup JPEG_Exported_Functions_Group6 Peripheral State functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Peripheral State functions.
*
@verbatim
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_hal_lptim.c b/bsps/arm/stm32h7/hal/stm32h7xx_hal_lptim.c
index 5e03de3b94..88a38db1c8 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_hal_lptim.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_hal_lptim.c
@@ -164,6 +164,7 @@
*/
/** @defgroup LPTIM LPTIM
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief LPTIM HAL module driver.
* @{
*/
@@ -193,10 +194,12 @@ static HAL_StatusTypeDef LPTIM_WaitForFlag(LPTIM_HandleTypeDef *hlptim, uint32_t
/* Exported functions --------------------------------------------------------*/
/** @defgroup LPTIM_Exported_Functions LPTIM Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup LPTIM_Exported_Functions_Group1 Initialization/de-initialization functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Initialization and Configuration functions.
*
@verbatim
@@ -443,6 +446,7 @@ __weak void HAL_LPTIM_MspDeInit(LPTIM_HandleTypeDef *hlptim)
*/
/** @defgroup LPTIM_Exported_Functions_Group2 LPTIM Start-Stop operation functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Start-Stop operation functions.
*
@verbatim
@@ -1729,6 +1733,7 @@ HAL_StatusTypeDef HAL_LPTIM_Counter_Stop_IT(LPTIM_HandleTypeDef *hlptim)
*/
/** @defgroup LPTIM_Exported_Functions_Group3 LPTIM Read operation functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Read operation functions.
*
@verbatim
@@ -1787,6 +1792,7 @@ uint32_t HAL_LPTIM_ReadCompare(LPTIM_HandleTypeDef *hlptim)
*/
/** @defgroup LPTIM_Exported_Functions_Group4 LPTIM IRQ handler and callbacks
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief LPTIM IRQ handler.
*
@verbatim
@@ -2255,6 +2261,7 @@ HAL_StatusTypeDef HAL_LPTIM_UnRegisterCallback(LPTIM_HandleTypeDef *hlpti
*/
/** @defgroup LPTIM_Group5 Peripheral State functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Peripheral State functions.
*
@verbatim
@@ -2291,6 +2298,7 @@ HAL_LPTIM_StateTypeDef HAL_LPTIM_GetState(LPTIM_HandleTypeDef *hlptim)
/* Private functions ---------------------------------------------------------*/
/** @defgroup LPTIM_Private_Functions LPTIM Private Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if (USE_HAL_LPTIM_REGISTER_CALLBACKS == 1)
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_hal_ltdc.c b/bsps/arm/stm32h7/hal/stm32h7xx_hal_ltdc.c
index a3ddbeec46..e794f3c9dc 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_hal_ltdc.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_hal_ltdc.c
@@ -171,6 +171,7 @@
#if defined (LTDC)
/** @defgroup LTDC LTDC
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief LTDC HAL module driver
* @{
*/
@@ -185,10 +186,12 @@ static void LTDC_SetConfig(LTDC_HandleTypeDef *hltdc, LTDC_LayerCfgTypeDef *pLay
/* Private functions ---------------------------------------------------------*/
/** @defgroup LTDC_Exported_Functions LTDC Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup LTDC_Exported_Functions_Group1 Initialization and Configuration functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Initialization and Configuration functions
*
@verbatim
@@ -563,6 +566,7 @@ HAL_StatusTypeDef HAL_LTDC_UnRegisterCallback(LTDC_HandleTypeDef *hltdc, HAL_LTD
*/
/** @defgroup LTDC_Exported_Functions_Group2 IO operation functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief IO operation functions
*
@verbatim
@@ -746,6 +750,7 @@ __weak void HAL_LTDC_ReloadEventCallback(LTDC_HandleTypeDef *hltdc)
*/
/** @defgroup LTDC_Exported_Functions_Group3 Peripheral Control functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Peripheral Control functions
*
@verbatim
@@ -2015,6 +2020,7 @@ HAL_StatusTypeDef HAL_LTDC_DisableCLUT_NoReload(LTDC_HandleTypeDef *hltdc, uint3
*/
/** @defgroup LTDC_Exported_Functions_Group4 Peripheral State and Errors functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Peripheral State and Errors functions
*
@verbatim
@@ -2061,6 +2067,7 @@ uint32_t HAL_LTDC_GetError(LTDC_HandleTypeDef *hltdc)
*/
/** @defgroup LTDC_Private_Functions LTDC Private Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_hal_ltdc_ex.c b/bsps/arm/stm32h7/hal/stm32h7xx_hal_ltdc_ex.c
index b0bafd74cd..d13c6e7cc8 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_hal_ltdc_ex.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_hal_ltdc_ex.c
@@ -29,6 +29,7 @@
#if defined (LTDC) && defined (DSI)
/** @defgroup LTDCEx LTDCEx
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief LTDC HAL module driver
* @{
*/
@@ -41,10 +42,12 @@
/* Exported functions --------------------------------------------------------*/
/** @defgroup LTDCEx_Exported_Functions LTDC Extended Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup LTDCEx_Exported_Functions_Group1 Initialization and Configuration functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Initialization and Configuration functions
*
@verbatim
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_hal_mdios.c b/bsps/arm/stm32h7/hal/stm32h7xx_hal_mdios.c
index b08894ee4a..987c0d7244 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_hal_mdios.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_hal_mdios.c
@@ -134,6 +134,7 @@
*/
#if defined (MDIOS)
/** @defgroup MDIOS MDIOS
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief HAL MDIOS module driver
* @{
*/
@@ -159,10 +160,12 @@ static void MDIOS_InitCallbacksToDefault(MDIOS_HandleTypeDef *hmdios);
/* Private functions ---------------------------------------------------------*/
/* Exported functions --------------------------------------------------------*/
/** @defgroup MDIOS_Exported_Functions MDIOS Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup MDIOS_Exported_Functions_Group1 Initialization/de-initialization functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Initialization and Configuration functions
*
@verbatim
@@ -530,6 +533,7 @@ HAL_StatusTypeDef HAL_MDIOS_UnRegisterCallback(MDIOS_HandleTypeDef *hmdios, HAL_
*/
/** @defgroup MDIOS_Exported_Functions_Group2 IO operation functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief MDIOS Read/Write functions
*
@verbatim
@@ -886,6 +890,7 @@ __weak void HAL_MDIOS_WakeUpCallback(MDIOS_HandleTypeDef *hmdios)
*/
/** @defgroup MDIOS_Exported_Functions_Group3 Peripheral Control functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief MDIOS control functions
*
@verbatim
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_hal_mdma.c b/bsps/arm/stm32h7/hal/stm32h7xx_hal_mdma.c
index 08498c4605..8dd757acf6 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_hal_mdma.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_hal_mdma.c
@@ -155,6 +155,7 @@
*/
/** @defgroup MDMA MDMA
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief MDMA HAL module driver
* @{
*/
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_hal_mmc.c b/bsps/arm/stm32h7/hal/stm32h7xx_hal_mmc.c
index 6bbb14b79d..e3ab7843c1 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_hal_mmc.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_hal_mmc.c
@@ -249,6 +249,7 @@
*/
/** @defgroup MMC MMC
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief MMC HAL module driver
* @{
*/
@@ -270,6 +271,7 @@
/* Private function prototypes -----------------------------------------------*/
/* Private functions ---------------------------------------------------------*/
/** @defgroup MMC_Private_Functions MMC Private Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
static uint32_t MMC_InitCard(MMC_HandleTypeDef *hmmc);
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_hal_mmc_ex.c b/bsps/arm/stm32h7/hal/stm32h7xx_hal_mmc_ex.c
index 8b4d18eafe..aeeedfacbc 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_hal_mmc_ex.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_hal_mmc_ex.c
@@ -40,6 +40,7 @@
*/
/** @defgroup MMCEx MMCEx
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief MMC Extended HAL module driver
* @{
*/
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_hal_nand.c b/bsps/arm/stm32h7/hal/stm32h7xx_hal_nand.c
index 4e593adc02..11efedccc3 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_hal_nand.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_hal_nand.c
@@ -117,6 +117,7 @@
#ifdef HAL_NAND_MODULE_ENABLED
/** @defgroup NAND NAND
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief NAND HAL module driver
* @{
*/
@@ -129,10 +130,12 @@
/* Exported functions ---------------------------------------------------------*/
/** @defgroup NAND_Exported_Functions NAND Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup NAND_Exported_Functions_Group1 Initialization and de-initialization functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Initialization and Configuration functions
*
@verbatim
@@ -356,6 +359,7 @@ __weak void HAL_NAND_ITCallback(NAND_HandleTypeDef *hnand)
*/
/** @defgroup NAND_Exported_Functions_Group2 Input and Output functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Input Output and memory control functions
*
@verbatim
@@ -1979,6 +1983,7 @@ HAL_StatusTypeDef HAL_NAND_UnRegisterCallback (NAND_HandleTypeDef *hnand, HAL_NA
*/
/** @defgroup NAND_Exported_Functions_Group3 Peripheral Control functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief management functions
*
@verbatim
@@ -2100,6 +2105,7 @@ HAL_StatusTypeDef HAL_NAND_GetECC(NAND_HandleTypeDef *hnand, uint32_t *ECCval,
/** @defgroup NAND_Exported_Functions_Group4 Peripheral State functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Peripheral State functions
*
@verbatim
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_hal_nor.c b/bsps/arm/stm32h7/hal/stm32h7xx_hal_nor.c
index b58b8cfd79..baaa093720 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_hal_nor.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_hal_nor.c
@@ -114,6 +114,7 @@
#ifdef HAL_NOR_MODULE_ENABLED
/** @defgroup NOR NOR
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief NOR driver modules
* @{
*/
@@ -122,6 +123,7 @@
/* Private define ------------------------------------------------------------*/
/** @defgroup NOR_Private_Defines NOR Private Defines
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -161,6 +163,7 @@
/* Private macro -------------------------------------------------------------*/
/* Private variables ---------------------------------------------------------*/
/** @defgroup NOR_Private_Variables NOR Private Variables
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -173,10 +176,12 @@ static uint32_t uwNORMemoryDataWidth = NOR_MEMORY_8B;
/* Private functions ---------------------------------------------------------*/
/* Exported functions --------------------------------------------------------*/
/** @defgroup NOR_Exported_Functions NOR Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup NOR_Exported_Functions_Group1 Initialization and de-initialization functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Initialization and Configuration functions
*
@verbatim
@@ -345,6 +350,7 @@ __weak void HAL_NOR_MspWait(NOR_HandleTypeDef *hnor, uint32_t Timeout)
*/
/** @defgroup NOR_Exported_Functions_Group2 Input and Output functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Input Output and memory control functions
*
@verbatim
@@ -1085,6 +1091,7 @@ HAL_StatusTypeDef HAL_NOR_UnRegisterCallback (NOR_HandleTypeDef *hnor, HAL_NOR_C
*/
/** @defgroup NOR_Exported_Functions_Group3 NOR Control functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief management functions
*
@verbatim
@@ -1172,6 +1179,7 @@ HAL_StatusTypeDef HAL_NOR_WriteOperation_Disable(NOR_HandleTypeDef *hnor)
*/
/** @defgroup NOR_Exported_Functions_Group4 NOR State functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Peripheral State functions
*
@verbatim
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_hal_opamp.c b/bsps/arm/stm32h7/hal/stm32h7xx_hal_opamp.c
index 21f75b010a..d4a5991589 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_hal_opamp.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_hal_opamp.c
@@ -215,6 +215,7 @@
*/
/** @defgroup OPAMP OPAMP
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief OPAMP module driver
* @{
*/
@@ -252,10 +253,12 @@
/* Exported functions --------------------------------------------------------*/
/** @defgroup OPAMP_Exported_Functions OPAMP Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup OPAMP_Exported_Functions_Group1 Initialization and de-initialization functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Initialization and Configuration functions
*
@verbatim
@@ -510,6 +513,7 @@ __weak void HAL_OPAMP_MspDeInit(OPAMP_HandleTypeDef *hopamp)
/** @defgroup OPAMP_Exported_Functions_Group2 IO operation functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief IO operation functions
*
@verbatim
@@ -833,6 +837,7 @@ HAL_StatusTypeDef HAL_OPAMP_SelfCalibrate(OPAMP_HandleTypeDef *hopamp)
*/
/** @defgroup OPAMP_Exported_Functions_Group3 Peripheral Control functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Peripheral Control functions
*
@verbatim
@@ -974,6 +979,7 @@ HAL_OPAMP_TrimmingValueTypeDef HAL_OPAMP_GetTrimOffset (OPAMP_HandleTypeDef *hop
/** @defgroup OPAMP_Exported_Functions_Group4 Peripheral State functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Peripheral State functions
*
@verbatim
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_hal_opamp_ex.c b/bsps/arm/stm32h7/hal/stm32h7xx_hal_opamp_ex.c
index 3ad48a5f64..cbec711388 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_hal_opamp_ex.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_hal_opamp_ex.c
@@ -32,6 +32,7 @@
*/
/** @defgroup OPAMPEx OPAMPEx
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief OPAMP Extended HAL module driver
* @{
*/
@@ -46,10 +47,12 @@
/* Exported functions --------------------------------------------------------*/
/** @defgroup OPAMPEx_Exported_Functions OPAMP Extended Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup OPAMPEx_Exported_Functions_Group1 Extended Input and Output operation functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Extended operation functions
*
@verbatim
@@ -368,6 +371,7 @@ HAL_StatusTypeDef HAL_OPAMPEx_SelfCalibrateAll(OPAMP_HandleTypeDef *hopamp1, OPA
*/
/** @defgroup OPAMPEx_Exported_Functions_Group2 Peripheral Control functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Peripheral Control functions
*
@verbatim
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_hal_ospi.c b/bsps/arm/stm32h7/hal/stm32h7xx_hal_ospi.c
index 6036974978..ab62817851 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_hal_ospi.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_hal_ospi.c
@@ -244,6 +244,7 @@
*/
/** @defgroup OSPI OSPI
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief OSPI HAL module driver
* @{
*/
@@ -290,10 +291,12 @@ static HAL_StatusTypeDef OSPIM_GetConfig (uint8_t instance_nb, OSP
/* Exported functions --------------------------------------------------------*/
/** @defgroup OSPI_Exported_Functions OSPI Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup OSPI_Exported_Functions_Group1 Initialization/de-initialization functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Initialization and Configuration functions
*
@verbatim
@@ -518,6 +521,7 @@ __weak void HAL_OSPI_MspDeInit(OSPI_HandleTypeDef *hospi)
*/
/** @defgroup OSPI_Exported_Functions_Group2 Input and Output operation functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief OSPI Transmit/Receive functions
*
@verbatim
@@ -2178,6 +2182,7 @@ HAL_StatusTypeDef HAL_OSPI_UnRegisterCallback (OSPI_HandleTypeDef *hospi, HAL_OS
*/
/** @defgroup OSPI_Exported_Functions_Group3 Peripheral Control and State functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief OSPI control and State functions
*
@verbatim
@@ -2417,6 +2422,7 @@ uint32_t HAL_OSPI_GetState(OSPI_HandleTypeDef *hospi)
*/
/** @defgroup OSPI_Exported_Functions_Group4 IO Manager configuration function
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief OSPI IO Manager configuration function
*
@verbatim
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_hal_otfdec.c b/bsps/arm/stm32h7/hal/stm32h7xx_hal_otfdec.c
index e4ace0de90..af7dcd0191 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_hal_otfdec.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_hal_otfdec.c
@@ -132,6 +132,7 @@
*/
/** @defgroup OTFDEC OTFDEC
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief OTFDEC HAL module driver.
* @{
*/
@@ -156,6 +157,7 @@
*/
/** @defgroup OTFDEC_Exported_Functions_Group1 Initialization and de-initialization functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Initialization and Configuration functions.
*
@verbatim
@@ -456,6 +458,7 @@ HAL_StatusTypeDef HAL_OTFDEC_UnRegisterCallback(OTFDEC_HandleTypeDef *hotfdec, H
*/
/** @defgroup OTFDEC_Exported_Functions_Group2 OTFDEC IRQ handler management
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief OTFDEC IRQ handler.
*
@verbatim
@@ -526,6 +529,7 @@ __weak void HAL_OTFDEC_ErrorCallback(OTFDEC_HandleTypeDef *hotfdec)
/** @defgroup OTFDEC_Exported_Functions_Group3 Peripheral Control functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Peripheral control functions.
*
@verbatim
@@ -875,6 +879,7 @@ HAL_StatusTypeDef HAL_OTFDEC_RegionDisable(OTFDEC_HandleTypeDef *hotfdec, uint32
*/
/** @defgroup OTFDEC_Exported_Functions_Group4 Peripheral State and Status functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Peripheral State functions.
*
@verbatim
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_hal_pcd.c b/bsps/arm/stm32h7/hal/stm32h7xx_hal_pcd.c
index 3a847e8757..497cd106a0 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_hal_pcd.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_hal_pcd.c
@@ -62,6 +62,7 @@
*/
/** @defgroup PCD PCD
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief PCD HAL module driver
* @{
*/
@@ -75,6 +76,7 @@
/* Private constants ---------------------------------------------------------*/
/* Private macros ------------------------------------------------------------*/
/** @defgroup PCD_Private_Macros PCD Private Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define PCD_MIN(a, b) (((a) < (b)) ? (a) : (b))
@@ -85,6 +87,7 @@
/* Private functions prototypes ----------------------------------------------*/
/** @defgroup PCD_Private_Functions PCD Private Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined (USB_OTG_FS) || defined (USB_OTG_HS)
@@ -98,10 +101,12 @@ static HAL_StatusTypeDef PCD_EP_OutSetupPacket_int(PCD_HandleTypeDef *hpcd, uint
/* Exported functions --------------------------------------------------------*/
/** @defgroup PCD_Exported_Functions PCD Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup PCD_Exported_Functions_Group1 Initialization and de-initialization functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Initialization and Configuration functions
*
@verbatim
@@ -968,6 +973,7 @@ HAL_StatusTypeDef HAL_PCD_UnRegisterLpmCallback(PCD_HandleTypeDef *hpcd)
*/
/** @defgroup PCD_Exported_Functions_Group2 Input and Output operation functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Data transfers functions
*
@verbatim
@@ -1593,6 +1599,7 @@ __weak void HAL_PCD_DisconnectCallback(PCD_HandleTypeDef *hpcd)
*/
/** @defgroup PCD_Exported_Functions_Group3 Peripheral Control functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief management functions
*
@verbatim
@@ -1946,6 +1953,7 @@ HAL_StatusTypeDef HAL_PCD_DeActivateRemoteWakeup(PCD_HandleTypeDef *hpcd)
*/
/** @defgroup PCD_Exported_Functions_Group4 Peripheral State functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Peripheral State functions
*
@verbatim
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_hal_pcd_ex.c b/bsps/arm/stm32h7/hal/stm32h7xx_hal_pcd_ex.c
index 17d3d5b05a..9bd08fd8b9 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_hal_pcd_ex.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_hal_pcd_ex.c
@@ -29,6 +29,7 @@
*/
/** @defgroup PCDEx PCDEx
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief PCD Extended HAL module driver
* @{
*/
@@ -44,10 +45,12 @@
/* Exported functions --------------------------------------------------------*/
/** @defgroup PCDEx_Exported_Functions PCDEx Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup PCDEx_Exported_Functions_Group1 Peripheral Control functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief PCDEx control functions
*
@verbatim
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_hal_pssi.c b/bsps/arm/stm32h7/hal/stm32h7xx_hal_pssi.c
index e14f97f916..7ca7d5ad9f 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_hal_pssi.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_hal_pssi.c
@@ -153,6 +153,7 @@
*/
/** @defgroup PSSI PSSI
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief PSSI HAL module driver
* @{
*/
@@ -163,6 +164,7 @@
/* Private define ------------------------------------------------------------*/
/** @defgroup PSSI_Private_Define PSSI Private Define
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -177,6 +179,7 @@
/* Private function prototypes -----------------------------------------------*/
/** @defgroup PSSI_Private_Functions PSSI Private Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/* Private functions to handle DMA transfer */
@@ -199,10 +202,12 @@ static HAL_StatusTypeDef PSSI_WaitOnStatusUntilTimeout(PSSI_HandleTypeDef *hpssi
/* Exported functions --------------------------------------------------------*/
/** @defgroup PSSI_Exported_Functions PSSI Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup PSSI_Exported_Functions_Group1 Initialization and de-initialization functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Initialization and Configuration functions
*
@verbatim
@@ -563,6 +568,7 @@ HAL_StatusTypeDef HAL_PSSI_UnRegisterCallback(PSSI_HandleTypeDef *hpssi, HAL_PSS
*/
/** @defgroup PSSI_Exported_Functions_Group2 Input and Output operation functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Data transfers functions
*
@verbatim
@@ -1271,6 +1277,7 @@ HAL_StatusTypeDef HAL_PSSI_Abort_DMA(PSSI_HandleTypeDef *hpssi)
*/
/** @defgroup PSSI_Exported_Functions_Group3 IRQ Handler and Callbacks
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -1451,6 +1458,7 @@ __weak void HAL_PSSI_AbortCpltCallback(PSSI_HandleTypeDef *hpssi)
*/
/** @defgroup PSSI_Exported_Functions_Group4 Peripheral State, Mode and Error functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Peripheral State, Mode and Error functions
*
@verbatim
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_hal_pwr.c b/bsps/arm/stm32h7/hal/stm32h7xx_hal_pwr.c
index 43d9052a2c..5620ce7227 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_hal_pwr.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_hal_pwr.c
@@ -152,6 +152,7 @@
*/
/** @defgroup PWR PWR
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief PWR HAL module driver
* @{
*/
@@ -166,6 +167,7 @@
*/
/** @defgroup PWR_PVD_Mode_Mask PWR PVD Mode Mask
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if !defined (DUAL_CORE)
@@ -190,10 +192,12 @@
/* Private functions ---------------------------------------------------------*/
/** @defgroup PWR_Exported_Functions PWR Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup PWR_Exported_Functions_Group1 Initialization and De-Initialization Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Initialization and De-Initialization functions
*
@verbatim
@@ -258,6 +262,7 @@ void HAL_PWR_DisableBkUpAccess (void)
*/
/** @defgroup PWR_Exported_Functions_Group2 Peripheral Control Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Power Control functions
*
@verbatim
@@ -777,6 +782,7 @@ void HAL_PWR_DisableSEVOnPend (void)
*/
/** @defgroup PWR_Exported_Functions_Group3 Interrupt Handling Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Interrupt Handling functions
*
@verbatim
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_hal_pwr_ex.c b/bsps/arm/stm32h7/hal/stm32h7xx_hal_pwr_ex.c
index 82288f9e2f..22d099faf1 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_hal_pwr_ex.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_hal_pwr_ex.c
@@ -158,6 +158,7 @@
*/
/** @defgroup PWREx PWREx
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief PWR Extended HAL module driver
* @{
*/
@@ -172,6 +173,7 @@
*/
/** @defgroup PWREx_AVD_Mode_Mask PWR Extended AVD Mode Mask
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define AVD_MODE_IT (0x00010000U)
@@ -184,6 +186,7 @@
*/
/** @defgroup PWREx_REG_SET_TIMEOUT PWR Extended Flag Setting Time Out Value
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define PWR_FLAG_SETTING_DELAY (1000U)
@@ -192,6 +195,7 @@
*/
/** @defgroup PWREx_WakeUp_Pins_Offsets PWREx Wake-Up Pins masks and offsets
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/* Wake-Up Pins EXTI register mask */
@@ -217,10 +221,12 @@
/* Exported functions --------------------------------------------------------*/
/** @defgroup PWREx_Exported_Functions PWREx Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup PWREx_Exported_Functions_Group1 Power Supply Control Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Power supply control functions
*
@verbatim
@@ -549,6 +555,7 @@ uint32_t HAL_PWREx_GetStopModeVoltageRange (void)
*/
/** @defgroup PWREx_Exported_Functions_Group2 Low Power Control Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Low power control functions
*
@verbatim
@@ -1501,6 +1508,7 @@ __weak void HAL_PWREx_WKUP6_Callback (void)
*/
/** @defgroup PWREx_Exported_Functions_Group3 Peripherals control functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Peripherals control functions
*
@verbatim
@@ -1766,6 +1774,7 @@ void HAL_PWREx_DisableAnalogBooster (void)
*/
/** @defgroup PWREx_Exported_Functions_Group4 Power Monitoring functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Power Monitoring functions
*
@verbatim
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_hal_qspi.c b/bsps/arm/stm32h7/hal/stm32h7xx_hal_qspi.c
index b655c6e1d5..36761ab732 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_hal_qspi.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_hal_qspi.c
@@ -234,6 +234,7 @@
*/
/** @defgroup QSPI QSPI
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief QSPI HAL module driver
* @{
*/
@@ -243,6 +244,7 @@
/* Private define ------------------------------------------------------------*/
/** @defgroup QSPI_Private_Constants QSPI Private Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define QSPI_FUNCTIONAL_MODE_INDIRECT_WRITE 0x00000000U /*!<Indirect write mode*/
@@ -255,6 +257,7 @@
/* Private macro -------------------------------------------------------------*/
/** @defgroup QSPI_Private_Macros QSPI Private Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define IS_QSPI_FUNCTIONAL_MODE(MODE) (((MODE) == QSPI_FUNCTIONAL_MODE_INDIRECT_WRITE) || \
@@ -278,10 +281,12 @@ static void QSPI_Config(QSPI_HandleTypeDef *hqspi, QSPI_CommandTypeDef *cmd, uin
/* Exported functions --------------------------------------------------------*/
/** @defgroup QSPI_Exported_Functions QSPI Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup QSPI_Exported_Functions_Group1 Initialization/de-initialization functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Initialization and Configuration functions
*
@verbatim
@@ -465,6 +470,7 @@ __weak void HAL_QSPI_MspDeInit(QSPI_HandleTypeDef *hqspi)
*/
/** @defgroup QSPI_Exported_Functions_Group2 Input and Output operation functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief QSPI Transmit/Receive functions
*
@verbatim
@@ -2104,6 +2110,7 @@ HAL_StatusTypeDef HAL_QSPI_UnRegisterCallback (QSPI_HandleTypeDef *hqspi, HAL_QS
*/
/** @defgroup QSPI_Exported_Functions_Group3 Peripheral Control and State functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief QSPI control and State functions
*
@verbatim
@@ -2352,6 +2359,7 @@ HAL_StatusTypeDef HAL_QSPI_SetFlashID(QSPI_HandleTypeDef *hqspi, uint32_t FlashI
*/
/** @defgroup QSPI_Private_Functions QSPI Private Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_hal_ramecc.c b/bsps/arm/stm32h7/hal/stm32h7xx_hal_ramecc.c
index fd2776fb8d..28eb8f81f1 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_hal_ramecc.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_hal_ramecc.c
@@ -91,6 +91,7 @@
*/
/** @defgroup RAMECC RAMECC
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief RAMECC HAL module driver
* @{
*/
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_hal_rcc.c b/bsps/arm/stm32h7/hal/stm32h7xx_hal_rcc.c
index 4b303c6c54..c1c934347b 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_hal_rcc.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_hal_rcc.c
@@ -74,6 +74,7 @@
*/
/** @defgroup RCC RCC
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief RCC HAL module driver
* @{
*/
@@ -84,6 +85,7 @@
/* Private define ------------------------------------------------------------*/
/* Private macro -------------------------------------------------------------*/
/** @defgroup RCC_Private_Macros RCC Private Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define MCO1_CLK_ENABLE() __HAL_RCC_GPIOA_CLK_ENABLE()
@@ -99,6 +101,7 @@
*/
/* Private variables ---------------------------------------------------------*/
/** @defgroup RCC_Private_Variables RCC Private Variables
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -109,10 +112,12 @@
/* Exported functions --------------------------------------------------------*/
/** @defgroup RCC_Exported_Functions RCC Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup RCC_Exported_Functions_Group1 Initialization and de-initialization functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Initialization and Configuration functions
*
@verbatim
@@ -1211,6 +1216,7 @@ HAL_StatusTypeDef HAL_RCC_ClockConfig(const RCC_ClkInitTypeDef *RCC_ClkInitStru
*/
/** @defgroup RCC_Group2 Peripheral Control functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief RCC clocks control functions
*
@verbatim
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_hal_rcc_ex.c b/bsps/arm/stm32h7/hal/stm32h7xx_hal_rcc_ex.c
index 0aef587505..8fd8ff05ed 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_hal_rcc_ex.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_hal_rcc_ex.c
@@ -30,6 +30,7 @@
*/
/** @defgroup RCCEx RCCEx
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief RCC HAL module driver
* @{
*/
@@ -39,6 +40,7 @@
/* Private typedef -----------------------------------------------------------*/
/* Private defines -----------------------------------------------------------*/
/** @defgroup RCCEx_Private_defines Private Defines
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define PLL2_TIMEOUT_VALUE PLL_TIMEOUT_VALUE /* 2 ms */
@@ -57,10 +59,12 @@ static HAL_StatusTypeDef RCCEx_PLL3_Config(const RCC_PLL3InitTypeDef *pll3, uint
/* Exported functions --------------------------------------------------------*/
/** @defgroup RCCEx_Exported_Functions Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup RCCEx_Exported_Functions_Group1 Extended Peripheral Control functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Extended Peripheral Control functions
*
@verbatim
@@ -2673,6 +2677,7 @@ uint32_t common_system_clock;
*/
/** @defgroup RCCEx_Exported_Functions_Group2 Extended System Control functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Extended Peripheral Control functions
* @{
*/
@@ -2814,6 +2819,7 @@ void HAL_RCCEx_WWDGxSysResetConfig(uint32_t RCC_WWDGx)
*/
/** @defgroup RCCEx_Exported_Functions_Group3 Extended Clock Recovery System Control functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Extended Clock Recovery System Control functions
*
@verbatim
@@ -3181,6 +3187,7 @@ __weak void HAL_RCCEx_CRS_ErrorCallback(uint32_t Error)
*/
/** @defgroup RCCEx_Private_functions Private Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/**
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_hal_rng.c b/bsps/arm/stm32h7/hal/stm32h7xx_hal_rng.c
index b4585ccb98..2f5782fb42 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_hal_rng.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_hal_rng.c
@@ -111,6 +111,7 @@
/* Private types -------------------------------------------------------------*/
/* Private defines -----------------------------------------------------------*/
/** @defgroup RNG_Private_Defines
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/* Health test control register information to use in CCM algorithm */
@@ -126,6 +127,7 @@
/* Private variables ---------------------------------------------------------*/
/* Private constants ---------------------------------------------------------*/
/** @defgroup RNG_Private_Constants RNG Private Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RNG_TIMEOUT_VALUE 2U
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_hal_rng_ex.c b/bsps/arm/stm32h7/hal/stm32h7xx_hal_rng_ex.c
index c71504ffa0..e5c728e50f 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_hal_rng_ex.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_hal_rng_ex.c
@@ -41,6 +41,7 @@
/* Private types -------------------------------------------------------------*/
/* Private defines -----------------------------------------------------------*/
/** @defgroup RNGEx_Private_Defines
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/* Health test control register information to use in CCM algorithm */
@@ -56,6 +57,7 @@
/* Private variables ---------------------------------------------------------*/
/* Private constants ---------------------------------------------------------*/
/** @defgroup RNGEx_Private_Constants RNG Private Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RNG_TIMEOUT_VALUE 2U
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_hal_sai.c b/bsps/arm/stm32h7/hal/stm32h7xx_hal_sai.c
index a858d8e452..0c5e7f7309 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_hal_sai.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_hal_sai.c
@@ -221,6 +221,7 @@
*/
/** @defgroup SAI SAI
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief SAI HAL module driver
* @{
*/
@@ -229,6 +230,7 @@
/* Private typedef -----------------------------------------------------------*/
/** @defgroup SAI_Private_Typedefs SAI Private Typedefs
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
typedef enum
@@ -242,6 +244,7 @@ typedef enum
/* Private define ------------------------------------------------------------*/
/** @defgroup SAI_Private_Constants SAI Private Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SAI_FIFO_SIZE 8U
@@ -255,6 +258,7 @@ typedef enum
/* Private variables ---------------------------------------------------------*/
/* Private function prototypes -----------------------------------------------*/
/** @defgroup SAI_Private_Functions SAI Private Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
static void SAI_FillFifo(SAI_HandleTypeDef *hsai);
@@ -282,10 +286,12 @@ static void SAI_DMAAbort(DMA_HandleTypeDef *hdma);
/* Exported functions ---------------------------------------------------------*/
/** @defgroup SAI_Exported_Functions SAI Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup SAI_Exported_Functions_Group1 Initialization and de-initialization functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Initialization and Configuration functions
*
@verbatim
@@ -1042,6 +1048,7 @@ HAL_StatusTypeDef HAL_SAI_UnRegisterCallback(SAI_HandleTypeDef *hsai,
*/
/** @defgroup SAI_Exported_Functions_Group2 IO operation functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Data transfers functions
*
@verbatim
@@ -2203,6 +2210,7 @@ __weak void HAL_SAI_ErrorCallback(SAI_HandleTypeDef *hsai)
*/
/** @defgroup SAI_Exported_Functions_Group3 Peripheral State functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Peripheral State functions
*
@verbatim
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_hal_sai_ex.c b/bsps/arm/stm32h7/hal/stm32h7xx_hal_sai_ex.c
index fd392896b1..14bdce78aa 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_hal_sai_ex.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_hal_sai_ex.c
@@ -30,6 +30,7 @@
#ifdef HAL_SAI_MODULE_ENABLED
/** @defgroup SAIEx SAIEx
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief SAI Extended HAL module driver
* @{
*/
@@ -45,10 +46,12 @@
/* Private functions ---------------------------------------------------------*/
/* Exported functions --------------------------------------------------------*/
/** @defgroup SAIEx_Exported_Functions SAIEx Extended Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup SAIEx_Exported_Functions_Group1 Peripheral Control functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief SAIEx control functions
*
@verbatim
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_hal_sd.c b/bsps/arm/stm32h7/hal/stm32h7xx_hal_sd.c
index 170930a97f..edafb06def 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_hal_sd.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_hal_sd.c
@@ -284,6 +284,7 @@
/* Private function prototypes -----------------------------------------------*/
/* Private functions ---------------------------------------------------------*/
/** @defgroup SD_Private_Functions SD Private Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
static uint32_t SD_InitCard (SD_HandleTypeDef *hsd);
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_hal_sd_ex.c b/bsps/arm/stm32h7/hal/stm32h7xx_hal_sd_ex.c
index 674619d98b..3c6551180e 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_hal_sd_ex.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_hal_sd_ex.c
@@ -39,6 +39,7 @@
*/
/** @defgroup SDEx SDEx
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief SD Extended HAL module driver
* @{
*/
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_hal_sdram.c b/bsps/arm/stm32h7/hal/stm32h7xx_hal_sdram.c
index 3b0efe590a..45f308c9e2 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_hal_sdram.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_hal_sdram.c
@@ -122,6 +122,7 @@
#ifdef HAL_SDRAM_MODULE_ENABLED
/** @defgroup SDRAM SDRAM
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief SDRAM driver modules
* @{
*/
@@ -143,10 +144,12 @@ static void SDRAM_DMAError (MDMA_HandleTypeDef *hmdma);
/* Exported functions --------------------------------------------------------*/
/** @defgroup SDRAM_Exported_Functions SDRAM Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup SDRAM_Exported_Functions_Group1 Initialization and de-initialization functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Initialization and Configuration functions
*
@verbatim
@@ -354,6 +357,7 @@ __weak void HAL_SDRAM_DMA_XferErrorCallback(MDMA_HandleTypeDef *hmdma)
*/
/** @defgroup SDRAM_Exported_Functions_Group2 Input and Output functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Input Output and memory control functions
*
@verbatim
@@ -987,6 +991,7 @@ HAL_StatusTypeDef HAL_SDRAM_RegisterDmaCallback(SDRAM_HandleTypeDef *hsdram, HAL
*/
/** @defgroup SDRAM_Exported_Functions_Group3 Control functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief management functions
*
@verbatim
@@ -1193,6 +1198,7 @@ uint32_t HAL_SDRAM_GetModeStatus(SDRAM_HandleTypeDef *hsdram)
*/
/** @defgroup SDRAM_Exported_Functions_Group4 State functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Peripheral State functions
*
@verbatim
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_hal_smartcard.c b/bsps/arm/stm32h7/hal/stm32h7xx_hal_smartcard.c
index 01237b07ca..bc1db12d93 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_hal_smartcard.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_hal_smartcard.c
@@ -187,6 +187,7 @@
*/
/** @defgroup SMARTCARD SMARTCARD
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief HAL SMARTCARD module driver
* @{
*/
@@ -196,6 +197,7 @@
/* Private typedef -----------------------------------------------------------*/
/* Private define ------------------------------------------------------------*/
/** @defgroup SMARTCARD_Private_Constants SMARTCARD Private Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SMARTCARD_TEACK_REACK_TIMEOUT 1000U /*!< SMARTCARD TX or RX enable acknowledge time-out value */
@@ -255,10 +257,12 @@ static void SMARTCARD_RxISR_FIFOEN(SMARTCARD_HandleTypeDef *hsmartcard);
/* Exported functions --------------------------------------------------------*/
/** @defgroup SMARTCARD_Exported_Functions SMARTCARD Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup SMARTCARD_Exported_Functions_Group1 Initialization and de-initialization functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Initialization and Configuration functions
*
@verbatim
@@ -708,6 +712,7 @@ HAL_StatusTypeDef HAL_SMARTCARD_UnRegisterCallback(SMARTCARD_HandleTypeDef *hsma
*/
/** @defgroup SMARTCARD_Exported_Functions_Group2 IO operation functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief SMARTCARD Transmit and Receive functions
*
@verbatim
@@ -2202,6 +2207,7 @@ __weak void HAL_SMARTCARD_AbortReceiveCpltCallback(SMARTCARD_HandleTypeDef *hsma
*/
/** @defgroup SMARTCARD_Exported_Functions_Group4 Peripheral State and Errors functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief SMARTCARD State and Errors functions
*
@verbatim
@@ -2257,6 +2263,7 @@ uint32_t HAL_SMARTCARD_GetError(SMARTCARD_HandleTypeDef *hsmartcard)
*/
/** @defgroup SMARTCARD_Private_Functions SMARTCARD Private Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_hal_smartcard_ex.c b/bsps/arm/stm32h7/hal/stm32h7xx_hal_smartcard_ex.c
index 3262fd6da0..4957a016ea 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_hal_smartcard_ex.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_hal_smartcard_ex.c
@@ -48,6 +48,7 @@
*/
/** @defgroup SMARTCARDEx SMARTCARDEx
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief SMARTCARD Extended HAL module driver
* @{
*/
@@ -56,6 +57,7 @@
/* Private typedef -----------------------------------------------------------*/
/* Private define ------------------------------------------------------------*/
/** @defgroup SMARTCARDEx_Private_Constants SMARTCARD Extended Private Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/* UART RX FIFO depth */
@@ -74,10 +76,12 @@ static void SMARTCARDEx_SetNbDataToProcess(SMARTCARD_HandleTypeDef *hsmartcard);
/* Exported functions --------------------------------------------------------*/
/** @defgroup SMARTCARDEx_Exported_Functions SMARTCARD Extended Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup SMARTCARDEx_Exported_Functions_Group1 Extended Peripheral Control functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Extended control functions
*
@verbatim
@@ -184,6 +188,7 @@ HAL_StatusTypeDef HAL_SMARTCARDEx_DisableReceiverTimeOut(SMARTCARD_HandleTypeDef
*/
/** @defgroup SMARTCARDEx_Exported_Functions_Group2 Extended Peripheral IO operation functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief SMARTCARD Transmit and Receive functions
*
@verbatim
@@ -238,6 +243,7 @@ __weak void HAL_SMARTCARDEx_TxFifoEmptyCallback(SMARTCARD_HandleTypeDef *hsmartc
*/
/** @defgroup SMARTCARDEx_Exported_Functions_Group3 Extended Peripheral FIFO Control functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief SMARTCARD control functions
*
@verbatim
@@ -441,6 +447,7 @@ HAL_StatusTypeDef HAL_SMARTCARDEx_SetRxFifoThreshold(SMARTCARD_HandleTypeDef *hs
*/
/** @defgroup SMARTCARDEx_Private_Functions SMARTCARD Extended Private Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_hal_smbus.c b/bsps/arm/stm32h7/hal/stm32h7xx_hal_smbus.c
index 519756dc7d..bac6ff3c7f 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_hal_smbus.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_hal_smbus.c
@@ -172,6 +172,7 @@
*/
/** @defgroup SMBUS SMBUS
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief SMBUS HAL module driver
* @{
*/
@@ -181,6 +182,7 @@
/* Private typedef -----------------------------------------------------------*/
/* Private constants ---------------------------------------------------------*/
/** @defgroup SMBUS_Private_Define SMBUS Private Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define TIMING_CLEAR_MASK (0xF0FFFFFFUL) /*!< SMBUS TIMING clear register Mask */
@@ -222,10 +224,12 @@ static void SMBUS_TransferConfig(struct __SMBUS_HandleTypeDef *hsmbus, uint16_t
/* Exported functions --------------------------------------------------------*/
/** @defgroup SMBUS_Exported_Functions SMBUS Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup SMBUS_Exported_Functions_Group1 Initialization and de-initialization functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Initialization and Configuration functions
*
@verbatim
@@ -858,6 +862,7 @@ HAL_StatusTypeDef HAL_SMBUS_UnRegisterAddrCallback(SMBUS_HandleTypeDef *hsmbus)
*/
/** @defgroup SMBUS_Exported_Functions_Group2 Input and Output operation functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Data transfers functions
*
@verbatim
@@ -1549,6 +1554,7 @@ HAL_StatusTypeDef HAL_SMBUS_IsDeviceReady(SMBUS_HandleTypeDef *hsmbus, uint16_t
*/
/** @defgroup SMBUS_IRQ_Handler_and_Callbacks IRQ Handler and Callbacks
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -1744,6 +1750,7 @@ __weak void HAL_SMBUS_ErrorCallback(SMBUS_HandleTypeDef *hsmbus)
*/
/** @defgroup SMBUS_Exported_Functions_Group3 Peripheral State and Errors functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Peripheral State and Errors functions
*
@verbatim
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_hal_spdifrx.c b/bsps/arm/stm32h7/hal/stm32h7xx_hal_spdifrx.c
index 2d27b27b15..ee70305525 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_hal_spdifrx.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_hal_spdifrx.c
@@ -164,6 +164,7 @@
*/
/** @defgroup SPDIFRX SPDIFRX
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief SPDIFRX HAL module driver
* @{
*/
@@ -195,10 +196,12 @@ static HAL_StatusTypeDef SPDIFRX_WaitOnFlagUntilTimeout(SPDIFRX_HandleTypeDef *
/* Exported functions ---------------------------------------------------------*/
/** @defgroup SPDIFRX_Exported_Functions SPDIFRX Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup SPDIFRX_Exported_Functions_Group1 Initialization and de-initialization functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Initialization and Configuration functions
*
@verbatim
@@ -657,6 +660,7 @@ HAL_StatusTypeDef HAL_SPDIFRX_SetDataFormat(SPDIFRX_HandleTypeDef *hspdif, SPDIF
*/
/** @defgroup SPDIFRX_Exported_Functions_Group2 IO operation functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Data transfers functions
*
@verbatim
@@ -1374,6 +1378,7 @@ __weak void HAL_SPDIFRX_ErrorCallback(SPDIFRX_HandleTypeDef *hspdif)
*/
/** @defgroup SPDIFRX_Exported_Functions_Group3 Peripheral State and Errors functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Peripheral State functions
*
@verbatim
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_hal_spi.c b/bsps/arm/stm32h7/hal/stm32h7xx_hal_spi.c
index 0d3f32bca9..5c7f1e773a 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_hal_spi.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_hal_spi.c
@@ -135,6 +135,7 @@
*/
/** @defgroup SPI SPI
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief SPI HAL module driver
* @{
*/
@@ -143,6 +144,7 @@
/* Private typedef -----------------------------------------------------------*/
/* Private defines -----------------------------------------------------------*/
/** @defgroup SPI_Private_Constants SPI Private Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SPI_DEFAULT_TIMEOUT 100UL
@@ -154,6 +156,7 @@
/* Private variables ---------------------------------------------------------*/
/* Private function prototypes -----------------------------------------------*/
/** @defgroup SPI_Private_Functions SPI Private Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
static void SPI_DMATransmitCplt(DMA_HandleTypeDef *hdma);
@@ -185,10 +188,12 @@ static uint32_t SPI_GetPacketSize(SPI_HandleTypeDef *hspi);
/* Exported functions --------------------------------------------------------*/
/** @defgroup SPI_Exported_Functions SPI Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup SPI_Exported_Functions_Group1 Initialization and de-initialization functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Initialization and Configuration functions
*
@verbatim
@@ -733,6 +738,7 @@ HAL_StatusTypeDef HAL_SPI_UnRegisterCallback(SPI_HandleTypeDef *hspi, HAL_SPI_Ca
*/
/** @defgroup SPI_Exported_Functions_Group2 IO operation functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Data transfers functions
*
@verbatim
@@ -3127,6 +3133,7 @@ __weak void HAL_SPI_AbortCpltCallback(SPI_HandleTypeDef *hspi)
*/
/** @defgroup SPI_Exported_Functions_Group3 Peripheral State and Errors functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief SPI control functions
*
@verbatim
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_hal_spi_ex.c b/bsps/arm/stm32h7/hal/stm32h7xx_hal_spi_ex.c
index 5549d0b590..9299fb913c 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_hal_spi_ex.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_hal_spi_ex.c
@@ -30,6 +30,7 @@
*/
/** @defgroup SPIEx SPIEx
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief SPI Extended HAL module driver
* @{
*/
@@ -43,10 +44,12 @@
/* Exported functions --------------------------------------------------------*/
/** @defgroup SPIEx_Exported_Functions SPIEx Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup SPIEx_Exported_Functions_Group1 IO operation functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Data transfers functions
*
@verbatim
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_hal_sram.c b/bsps/arm/stm32h7/hal/stm32h7xx_hal_sram.c
index 258e0838e7..7fb7c1873f 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_hal_sram.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_hal_sram.c
@@ -123,6 +123,7 @@
#ifdef HAL_SRAM_MODULE_ENABLED
/** @defgroup SRAM SRAM
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief SRAM driver modules
* @{
*/
@@ -145,10 +146,12 @@ static void SRAM_DMAError (MDMA_HandleTypeDef *hmdma);
/* Exported functions --------------------------------------------------------*/
/** @defgroup SRAM_Exported_Functions SRAM Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup SRAM_Exported_Functions_Group1 Initialization and de-initialization functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Initialization and Configuration functions.
*
@verbatim
@@ -322,6 +325,7 @@ __weak void HAL_SRAM_DMA_XferErrorCallback(MDMA_HandleTypeDef *hmdma)
*/
/** @defgroup SRAM_Exported_Functions_Group2 Input Output and memory control functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Input Output and memory control functions
*
@verbatim
@@ -907,6 +911,7 @@ HAL_StatusTypeDef HAL_SRAM_RegisterDmaCallback(SRAM_HandleTypeDef *hsram, HAL_SR
*/
/** @defgroup SRAM_Exported_Functions_Group3 Control functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Control functions
*
@verbatim
@@ -994,6 +999,7 @@ HAL_StatusTypeDef HAL_SRAM_WriteOperation_Disable(SRAM_HandleTypeDef *hsram)
*/
/** @defgroup SRAM_Exported_Functions_Group4 Peripheral State functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Peripheral State functions
*
@verbatim
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_hal_swpmi.c b/bsps/arm/stm32h7/hal/stm32h7xx_hal_swpmi.c
index 18dace284e..30a7b27772 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_hal_swpmi.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_hal_swpmi.c
@@ -177,6 +177,7 @@
/** @defgroup SWPMI SWPMI
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief HAL SWPMI module driver
* @{
*/
@@ -214,10 +215,12 @@ static HAL_StatusTypeDef SWPMI_WaitOnFlagSetUntilTimeout(SWPMI_HandleTypeDef *hs
/* Exported functions --------------------------------------------------------*/
/** @defgroup SWPMI_Exported_Functions SWPMI Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup SWPMI_Exported_Group1 Initialization/de-initialization methods
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Initialization and Configuration functions
*
@verbatim
@@ -589,6 +592,7 @@ HAL_StatusTypeDef HAL_SWPMI_UnRegisterCallback(SWPMI_HandleTypeDef *hswpm
*/
/** @defgroup SWPMI_Exported_Group2 IO operation methods
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief SWPMI Transmit/Receive functions
*
@verbatim
@@ -1270,6 +1274,7 @@ HAL_StatusTypeDef HAL_SWPMI_DisableLoopback(SWPMI_HandleTypeDef *hswpmi)
*/
/** @defgroup SWPMI_Exported_Group3 SWPMI IRQ handler and callbacks
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief SWPMI IRQ handler.
*
@verbatim
@@ -1535,6 +1540,7 @@ __weak void HAL_SWPMI_ErrorCallback(SWPMI_HandleTypeDef *hswpmi)
*/
/** @defgroup SWPMI_Exported_Group4 Peripheral Control methods
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief SWPMI control functions
*
@verbatim
@@ -1582,6 +1588,7 @@ uint32_t HAL_SWPMI_GetError(SWPMI_HandleTypeDef *hswpmi)
/* Private functions ---------------------------------------------------------*/
/** @defgroup SWPMI_Private_Functions SWPMI Private Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_hal_tim.c b/bsps/arm/stm32h7/hal/stm32h7xx_hal_tim.c
index 1885d04b39..78bc46cda9 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_hal_tim.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_hal_tim.c
@@ -191,6 +191,7 @@ all interrupt callbacks are set to the corresponding weak functions:
*/
/** @defgroup TIM TIM
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief TIM HAL module driver
* @{
*/
@@ -231,10 +232,12 @@ static HAL_StatusTypeDef TIM_SlaveTimer_SetConfig(TIM_HandleTypeDef *htim,
/* Exported functions --------------------------------------------------------*/
/** @defgroup TIM_Exported_Functions TIM Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup TIM_Exported_Functions_Group1 TIM Time Base functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Time Base functions
*
@verbatim
@@ -567,6 +570,7 @@ HAL_StatusTypeDef HAL_TIM_Base_Stop_DMA(TIM_HandleTypeDef *htim)
*/
/** @defgroup TIM_Exported_Functions_Group2 TIM Output Compare functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief TIM Output Compare functions
*
@verbatim
@@ -1144,6 +1148,7 @@ HAL_StatusTypeDef HAL_TIM_OC_Stop_DMA(TIM_HandleTypeDef *htim, uint32_t Channel)
*/
/** @defgroup TIM_Exported_Functions_Group3 TIM PWM functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief TIM PWM functions
*
@verbatim
@@ -1722,6 +1727,7 @@ HAL_StatusTypeDef HAL_TIM_PWM_Stop_DMA(TIM_HandleTypeDef *htim, uint32_t Channel
*/
/** @defgroup TIM_Exported_Functions_Group4 TIM Input Capture functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief TIM Input Capture functions
*
@verbatim
@@ -2257,6 +2263,7 @@ HAL_StatusTypeDef HAL_TIM_IC_Stop_DMA(TIM_HandleTypeDef *htim, uint32_t Channel)
*/
/** @defgroup TIM_Exported_Functions_Group5 TIM One Pulse functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief TIM One Pulse functions
*
@verbatim
@@ -2571,6 +2578,7 @@ HAL_StatusTypeDef HAL_TIM_OnePulse_Stop_IT(TIM_HandleTypeDef *htim, uint32_t Out
*/
/** @defgroup TIM_Exported_Functions_Group6 TIM Encoder functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief TIM Encoder functions
*
@verbatim
@@ -3158,6 +3166,7 @@ HAL_StatusTypeDef HAL_TIM_Encoder_Stop_DMA(TIM_HandleTypeDef *htim, uint32_t Cha
* @}
*/
/** @defgroup TIM_Exported_Functions_Group7 TIM IRQ handler management
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief TIM IRQ handler management
*
@verbatim
@@ -3372,6 +3381,7 @@ void HAL_TIM_IRQHandler(TIM_HandleTypeDef *htim)
*/
/** @defgroup TIM_Exported_Functions_Group8 TIM Peripheral Control functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief TIM Peripheral Control functions
*
@verbatim
@@ -5056,6 +5066,7 @@ uint32_t HAL_TIM_ReadCapturedValue(TIM_HandleTypeDef *htim, uint32_t Channel)
*/
/** @defgroup TIM_Exported_Functions_Group9 TIM Callbacks functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief TIM Callbacks functions
*
@verbatim
@@ -5722,6 +5733,7 @@ HAL_StatusTypeDef HAL_TIM_UnRegisterCallback(TIM_HandleTypeDef *htim, HAL_TIM_Ca
*/
/** @defgroup TIM_Exported_Functions_Group10 TIM Peripheral State functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief TIM Peripheral State functions
*
@verbatim
@@ -5805,6 +5817,7 @@ HAL_TIM_StateTypeDef HAL_TIM_Encoder_GetState(TIM_HandleTypeDef *htim)
*/
/** @defgroup TIM_Private_Functions TIM Private Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_hal_tim_ex.c b/bsps/arm/stm32h7/hal/stm32h7xx_hal_tim_ex.c
index 1dcd77049c..843312be0f 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_hal_tim_ex.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_hal_tim_ex.c
@@ -83,6 +83,7 @@
*/
/** @defgroup TIMEx TIMEx
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief TIM Extended HAL module driver
* @{
*/
@@ -98,10 +99,12 @@ static void TIM_CCxNChannelCmd(TIM_TypeDef *TIMx, uint32_t Channel, uint32_t Cha
/* Exported functions --------------------------------------------------------*/
/** @defgroup TIMEx_Exported_Functions TIM Extended Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup TIMEx_Exported_Functions_Group1 Extended Timer Hall Sensor functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Timer Hall Sensor functions
*
@verbatim
@@ -476,6 +479,7 @@ HAL_StatusTypeDef HAL_TIMEx_HallSensor_Stop_DMA(TIM_HandleTypeDef *htim)
*/
/** @defgroup TIMEx_Exported_Functions_Group2 Extended Timer Complementary Output Compare functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Timer Complementary Output Compare functions
*
@verbatim
@@ -876,6 +880,7 @@ HAL_StatusTypeDef HAL_TIMEx_OCN_Stop_DMA(TIM_HandleTypeDef *htim, uint32_t Chann
*/
/** @defgroup TIMEx_Exported_Functions_Group3 Extended Timer Complementary PWM functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Timer Complementary PWM functions
*
@verbatim
@@ -1283,6 +1288,7 @@ HAL_StatusTypeDef HAL_TIMEx_PWMN_Stop_DMA(TIM_HandleTypeDef *htim, uint32_t Chan
*/
/** @defgroup TIMEx_Exported_Functions_Group4 Extended Timer Complementary One Pulse functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Timer Complementary One Pulse functions
*
@verbatim
@@ -1424,6 +1430,7 @@ HAL_StatusTypeDef HAL_TIMEx_OnePulseN_Stop_IT(TIM_HandleTypeDef *htim, uint32_t
*/
/** @defgroup TIMEx_Exported_Functions_Group5 Extended Peripheral Control functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Peripheral Control functions
*
@verbatim
@@ -2130,6 +2137,7 @@ HAL_StatusTypeDef HAL_TIMEx_GroupChannel5(TIM_HandleTypeDef *htim, uint32_t Chan
*/
/** @defgroup TIMEx_Exported_Functions_Group6 Extended Callbacks functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Extended Callbacks functions
*
@verbatim
@@ -2208,6 +2216,7 @@ __weak void HAL_TIMEx_Break2Callback(TIM_HandleTypeDef *htim)
*/
/** @defgroup TIMEx_Exported_Functions_Group7 Extended Peripheral State functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Extended Peripheral State functions
*
@verbatim
@@ -2242,6 +2251,7 @@ HAL_TIM_StateTypeDef HAL_TIMEx_HallSensor_GetState(TIM_HandleTypeDef *htim)
/* Private functions ---------------------------------------------------------*/
/** @defgroup TIMEx_Private_Functions TIMEx Private Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_hal_uart.c b/bsps/arm/stm32h7/hal/stm32h7xx_hal_uart.c
index 02dfb77fc5..4310fbd664 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_hal_uart.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_hal_uart.c
@@ -161,6 +161,7 @@
*/
/** @defgroup UART UART
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief HAL UART module driver
* @{
*/
@@ -170,6 +171,7 @@
/* Private typedef -----------------------------------------------------------*/
/* Private define ------------------------------------------------------------*/
/** @defgroup UART_Private_Constants UART Private Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define USART_CR1_FIELDS ((uint32_t)(USART_CR1_M | USART_CR1_PCE | USART_CR1_PS | \
@@ -223,10 +225,12 @@ static void UART_RxISR_16BIT_FIFOEN(UART_HandleTypeDef *huart);
/* Exported functions --------------------------------------------------------*/
/** @defgroup UART_Exported_Functions UART Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup UART_Exported_Functions_Group1 Initialization and de-initialization functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Initialization and Configuration functions
*
@verbatim
@@ -939,6 +943,7 @@ HAL_StatusTypeDef HAL_UART_UnRegisterCallback(UART_HandleTypeDef *huart, HAL_UAR
*/
/** @defgroup UART_Exported_Functions_Group2 IO operation functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief UART Transmit/Receive functions
*
@verbatim
@@ -2528,6 +2533,7 @@ __weak void HAL_UART_AbortReceiveCpltCallback(UART_HandleTypeDef *huart)
*/
/** @defgroup UART_Exported_Functions_Group3 Peripheral Control functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief UART control functions
*
@verbatim
@@ -2772,6 +2778,7 @@ HAL_StatusTypeDef HAL_LIN_SendBreak(UART_HandleTypeDef *huart)
*/
/** @defgroup UART_Exported_Functions_Group4 Peripheral State and Error functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief UART Peripheral State functions
*
@verbatim
@@ -2822,6 +2829,7 @@ uint32_t HAL_UART_GetError(UART_HandleTypeDef *huart)
*/
/** @defgroup UART_Private_Functions UART Private Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_hal_uart_ex.c b/bsps/arm/stm32h7/hal/stm32h7xx_hal_uart_ex.c
index 949208523e..362afcc78b 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_hal_uart_ex.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_hal_uart_ex.c
@@ -48,6 +48,7 @@
*/
/** @defgroup UARTEx UARTEx
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief UART Extended HAL module driver
* @{
*/
@@ -57,6 +58,7 @@
/* Private typedef -----------------------------------------------------------*/
/* Private define ------------------------------------------------------------*/
/** @defgroup UARTEX_Private_Constants UARTEx Private Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/* UART RX FIFO depth */
@@ -72,6 +74,7 @@
/* Private variables ---------------------------------------------------------*/
/* Private function prototypes -----------------------------------------------*/
/** @defgroup UARTEx_Private_Functions UARTEx Private Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
static void UARTEx_Wakeup_AddressConfig(UART_HandleTypeDef *huart, UART_WakeUpTypeDef WakeUpSelection);
@@ -83,10 +86,12 @@ static void UARTEx_SetNbDataToProcess(UART_HandleTypeDef *huart);
/* Exported functions --------------------------------------------------------*/
/** @defgroup UARTEx_Exported_Functions UARTEx Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup UARTEx_Exported_Functions_Group1 Initialization and de-initialization functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Extended Initialization and Configuration Functions
*
@verbatim
@@ -245,6 +250,7 @@ HAL_StatusTypeDef HAL_RS485Ex_Init(UART_HandleTypeDef *huart, uint32_t Polarity,
*/
/** @defgroup UARTEx_Exported_Functions_Group2 IO operation functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Extended functions
*
@verbatim
@@ -314,6 +320,7 @@ __weak void HAL_UARTEx_TxFifoEmptyCallback(UART_HandleTypeDef *huart)
*/
/** @defgroup UARTEx_Exported_Functions_Group3 Peripheral Control functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Extended Peripheral Control functions
*
@verbatim
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_hal_usart.c b/bsps/arm/stm32h7/hal/stm32h7xx_hal_usart.c
index ce0f2d2ac1..20cd7dc336 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_hal_usart.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_hal_usart.c
@@ -143,6 +143,7 @@
*/
/** @defgroup USART USART
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief HAL USART Synchronous module driver
* @{
*/
@@ -152,6 +153,7 @@
/* Private typedef -----------------------------------------------------------*/
/* Private define ------------------------------------------------------------*/
/** @defgroup USART_Private_Constants USART Private Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define USART_DUMMY_DATA ((uint16_t) 0xFFFF) /*!< USART transmitted dummy data */
@@ -212,10 +214,12 @@ static void USART_RxISR_16BIT_FIFOEN(USART_HandleTypeDef *husart);
/* Exported functions --------------------------------------------------------*/
/** @defgroup USART_Exported_Functions USART Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup USART_Exported_Functions_Group1 Initialization and de-initialization functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Initialization and Configuration functions
*
@verbatim
@@ -659,6 +663,7 @@ HAL_StatusTypeDef HAL_USART_UnRegisterCallback(USART_HandleTypeDef *husart, HAL_
*/
/** @defgroup USART_Exported_Functions_Group2 IO operation functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief USART Transmit and Receive functions
*
@verbatim
@@ -2427,6 +2432,7 @@ __weak void HAL_USART_AbortCpltCallback(USART_HandleTypeDef *husart)
*/
/** @defgroup USART_Exported_Functions_Group4 Peripheral State and Error functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief USART Peripheral State and Error functions
*
@verbatim
@@ -2474,6 +2480,7 @@ uint32_t HAL_USART_GetError(USART_HandleTypeDef *husart)
*/
/** @defgroup USART_Private_Functions USART Private Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_hal_usart_ex.c b/bsps/arm/stm32h7/hal/stm32h7xx_hal_usart_ex.c
index 2732976f47..3d618e90ad 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_hal_usart_ex.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_hal_usart_ex.c
@@ -47,6 +47,7 @@
*/
/** @defgroup USARTEx USARTEx
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief USART Extended HAL module driver
* @{
*/
@@ -55,6 +56,7 @@
/* Private typedef -----------------------------------------------------------*/
/** @defgroup USARTEx_Private_Constants USARTEx Private Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/* USART RX FIFO depth */
@@ -71,6 +73,7 @@
/* Private variables ---------------------------------------------------------*/
/* Private function prototypes -----------------------------------------------*/
/** @defgroup USARTEx_Private_Functions USARTEx Private Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
static void USARTEx_SetNbDataToProcess(USART_HandleTypeDef *husart);
@@ -81,10 +84,12 @@ static void USARTEx_SetNbDataToProcess(USART_HandleTypeDef *husart);
/* Exported functions --------------------------------------------------------*/
/** @defgroup USARTEx_Exported_Functions USARTEx Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup USARTEx_Exported_Functions_Group1 IO operation functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Extended USART Transmit/Receive functions
*
@verbatim
@@ -136,6 +141,7 @@ __weak void HAL_USARTEx_TxFifoEmptyCallback(USART_HandleTypeDef *husart)
*/
/** @defgroup USARTEx_Exported_Functions_Group2 Peripheral Control functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Extended Peripheral Control functions
*
@verbatim
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_hal_wwdg.c b/bsps/arm/stm32h7/hal/stm32h7xx_hal_wwdg.c
index a4e29c5e0e..85da9c319f 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_hal_wwdg.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_hal_wwdg.c
@@ -127,6 +127,7 @@
#ifdef HAL_WWDG_MODULE_ENABLED
/** @defgroup WWDG WWDG
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief WWDG HAL module driver.
* @{
*/
@@ -139,10 +140,12 @@
/* Exported functions --------------------------------------------------------*/
/** @defgroup WWDG_Exported_Functions WWDG Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup WWDG_Exported_Functions_Group1 Initialization and Configuration functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Initialization and Configuration functions.
*
@verbatim
@@ -311,6 +314,7 @@ HAL_StatusTypeDef HAL_WWDG_UnRegisterCallback(WWDG_HandleTypeDef *hwwdg, HAL_WWD
*/
/** @defgroup WWDG_Exported_Functions_Group2 IO operation functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief IO operation functions
*
@verbatim
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_ll_crs.c b/bsps/arm/stm32h7/hal/stm32h7xx_ll_crs.c
index 7b02c2e4db..990007183b 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_ll_crs.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_ll_crs.c
@@ -29,6 +29,7 @@
#if defined(CRS)
/** @defgroup CRS_LL CRS
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_ll_delayblock.c b/bsps/arm/stm32h7/hal/stm32h7xx_ll_delayblock.c
index 54d8863d73..2c1f9696c3 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_ll_delayblock.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_ll_delayblock.c
@@ -56,6 +56,7 @@
*/
/** @defgroup DELAYBLOCK_LL DELAYBLOCK_LL
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Low layer module for Delay Block
* @{
*/
@@ -71,10 +72,12 @@
/* Exported functions --------------------------------------------------------*/
/** @defgroup DelayBlock_LL_Exported_Functions Delay Block Low Layer Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup HAL_DELAY_LL_Group1 Initialization de-initialization functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Initialization and Configuration functions
*
@verbatim
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_ll_exti.c b/bsps/arm/stm32h7/hal/stm32h7xx_ll_exti.c
index 872ab12ffc..85e765e53d 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_ll_exti.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_ll_exti.c
@@ -33,6 +33,7 @@
#if defined (EXTI)
/** @defgroup EXTI_LL EXTI
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_ll_fmc.c b/bsps/arm/stm32h7/hal/stm32h7xx_ll_fmc.c
index 7625f212bd..8761b0df8d 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_ll_fmc.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_ll_fmc.c
@@ -63,6 +63,7 @@
#if (((defined HAL_NOR_MODULE_ENABLED || defined HAL_SRAM_MODULE_ENABLED)) || defined HAL_NAND_MODULE_ENABLED || defined HAL_SDRAM_MODULE_ENABLED)
/** @defgroup FMC_LL FMC Low Layer
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief FMC driver modules
* @{
*/
@@ -71,6 +72,7 @@
/* Private define ------------------------------------------------------------*/
/** @defgroup FMC_LL_Private_Constants FMC Low Layer Private Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -139,11 +141,13 @@
/* Exported functions --------------------------------------------------------*/
/** @defgroup FMC_LL_Exported_Functions FMC Low Layer Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup FMC_LL_Exported_Functions_NORSRAM FMC Low Layer NOR SRAM Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief NORSRAM Controller functions
*
@verbatim
@@ -168,6 +172,7 @@
*/
/** @defgroup FMC_LL_NORSRAM_Exported_Functions_Group1 Initialization and de-initialization functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Initialization and Configuration functions
*
@verbatim
@@ -472,6 +477,7 @@ HAL_StatusTypeDef FMC_NORSRAM_WriteOperation_Disable(FMC_NORSRAM_TypeDef *Device
/** @defgroup FMC_LL_Exported_Functions_NAND FMC Low Layer NAND Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief NAND Controller functions
*
@verbatim
@@ -497,6 +503,7 @@ HAL_StatusTypeDef FMC_NORSRAM_WriteOperation_Disable(FMC_NORSRAM_TypeDef *Device
*/
/** @defgroup FMC_LL_NAND_Exported_Functions_Group1 Initialization and de-initialization functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Initialization and Configuration functions
*
@verbatim
@@ -637,6 +644,7 @@ HAL_StatusTypeDef FMC_NAND_DeInit(FMC_NAND_TypeDef *Device, uint32_t Bank)
*/
/** @defgroup HAL_FMC_NAND_Group2 Peripheral Control functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief management functions
*
@verbatim
@@ -743,6 +751,7 @@ HAL_StatusTypeDef FMC_NAND_GetECC(FMC_NAND_TypeDef *Device, uint32_t *ECCval, ui
/** @defgroup FMC_LL_SDRAM
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief SDRAM Controller functions
*
@verbatim
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_ll_i2c.c b/bsps/arm/stm32h7/hal/stm32h7xx_ll_i2c.c
index c99a1cff28..119aa3586b 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_ll_i2c.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_ll_i2c.c
@@ -34,6 +34,7 @@
#if defined (I2C1) || defined (I2C2) || defined (I2C3) || defined (I2C4)
/** @defgroup I2C_LL I2C
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_ll_lptim.c b/bsps/arm/stm32h7/hal/stm32h7xx_ll_lptim.c
index 3b1359369b..bc9e0f5539 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_ll_lptim.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_ll_lptim.c
@@ -72,6 +72,7 @@
/* Private function prototypes -----------------------------------------------*/
/* Private functions ---------------------------------------------------------*/
/** @defgroup LPTIM_Private_Functions LPTIM Private Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/**
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_ll_mdma.c b/bsps/arm/stm32h7/hal/stm32h7xx_ll_mdma.c
index 940c470ed9..fff232f923 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_ll_mdma.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_ll_mdma.c
@@ -34,6 +34,7 @@
#if defined (MDMA)
/** @defgroup MDMA_LL MDMA
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_ll_pwr.c b/bsps/arm/stm32h7/hal/stm32h7xx_ll_pwr.c
index 194f52e339..719c18ef6c 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_ll_pwr.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_ll_pwr.c
@@ -29,6 +29,7 @@
#if defined (PWR)
/** @defgroup PWR_LL PWR
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_ll_rcc.c b/bsps/arm/stm32h7/hal/stm32h7xx_ll_rcc.c
index 120d5a20ab..2b308a9bf4 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_ll_rcc.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_ll_rcc.c
@@ -77,6 +77,7 @@ const uint8_t LL_RCC_PrescTable[16] = {0, 0, 0, 0, 1, 2, 3, 4, 1, 2, 3, 4, 6, 7,
/* Private function prototypes -----------------------------------------------*/
/** @defgroup RCC_LL_Private_Functions RCC Private functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
uint32_t RCC_GetSystemClockFreq(void);
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_ll_sdmmc.c b/bsps/arm/stm32h7/hal/stm32h7xx_ll_sdmmc.c
index e97363a1b4..862db37906 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_ll_sdmmc.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_ll_sdmmc.c
@@ -158,6 +158,7 @@
*/
/** @defgroup SDMMC_LL SDMMC Low Layer
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Low layer module for SD
* @{
*/
@@ -179,10 +180,12 @@ static uint32_t SDMMC_GetCmdResp6(SDMMC_TypeDef *SDMMCx, uint8_t SD_CMD, uint16_
/* Exported functions --------------------------------------------------------*/
/** @defgroup SDMMC_LL_Exported_Functions SDMMC Low Layer Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup HAL_SDMMC_LL_Group1 Initialization de-initialization functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Initialization and Configuration functions
*
@verbatim
@@ -234,6 +237,7 @@ HAL_StatusTypeDef SDMMC_Init(SDMMC_TypeDef *SDMMCx, SDMMC_InitTypeDef Init)
*/
/** @defgroup HAL_SDMMC_LL_Group2 IO operation functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Data transfers functions
*
@verbatim
@@ -278,6 +282,7 @@ HAL_StatusTypeDef SDMMC_WriteFIFO(SDMMC_TypeDef *SDMMCx, uint32_t *pWriteData)
*/
/** @defgroup HAL_SDMMC_LL_Group3 Peripheral Control functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief management functions
*
@verbatim
@@ -497,6 +502,7 @@ HAL_StatusTypeDef SDMMC_SetSDMMCReadWaitMode(SDMMC_TypeDef *SDMMCx, uint32_t SDM
/** @defgroup HAL_SDMMC_LL_Group4 Command management functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Data transfers functions
*
@verbatim
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_ll_spi.c b/bsps/arm/stm32h7/hal/stm32h7xx_ll_spi.c
index 4e3158a06a..88130ce96b 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_ll_spi.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_ll_spi.c
@@ -453,6 +453,7 @@ void LL_SPI_StructInit(LL_SPI_InitTypeDef *SPI_InitStruct)
/* Private variables ---------------------------------------------------------*/
/* Private constants ---------------------------------------------------------*/
/** @defgroup I2S_LL_Private_Constants I2S Private Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/* I2S registers Masks */
@@ -466,6 +467,7 @@ void LL_SPI_StructInit(LL_SPI_InitTypeDef *SPI_InitStruct)
*/
/* Private macros ------------------------------------------------------------*/
/** @defgroup I2S_LL_Private_Macros I2S Private Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_ll_tim.c b/bsps/arm/stm32h7/hal/stm32h7xx_ll_tim.c
index 8e411aae12..e4a5399244 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_ll_tim.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_ll_tim.c
@@ -182,6 +182,7 @@
/* Private function prototypes -----------------------------------------------*/
/** @defgroup TIM_LL_Private_Functions TIM Private Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
static ErrorStatus OC1Config(TIM_TypeDef *TIMx, LL_TIM_OC_InitTypeDef *TIM_OCInitStruct);
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_ll_usb.c b/bsps/arm/stm32h7/hal/stm32h7xx_ll_usb.c
index 1e4ae32fd1..f74fc04049 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_ll_usb.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_ll_usb.c
@@ -57,10 +57,12 @@ static HAL_StatusTypeDef USB_CoreReset(USB_OTG_GlobalTypeDef *USBx);
/* Exported functions --------------------------------------------------------*/
/** @defgroup USB_LL_Exported_Functions USB Low Layer Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup USB_LL_Exported_Functions_Group1 Initialization/de-initialization functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Initialization and Configuration functions
*
@verbatim
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_ll_utils.c b/bsps/arm/stm32h7/hal/stm32h7xx_ll_utils.c
index cf19f61708..936fe89b29 100644
--- a/bsps/arm/stm32h7/hal/stm32h7xx_ll_utils.c
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_ll_utils.c
@@ -221,6 +221,7 @@
*/
/* Private function prototypes -----------------------------------------------*/
/** @defgroup UTILS_LL_Private_Functions UTILS Private functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
static uint32_t UTILS_GetPLLOutputFrequency(uint32_t PLL_InputFrequency, LL_UTILS_PLLInitTypeDef *UTILS_PLLInitStruct);
diff --git a/bsps/arm/stm32h7/include/Legacy/stm32_hal_legacy.h b/bsps/arm/stm32h7/include/Legacy/stm32_hal_legacy.h
index 7b859e3782..c311c1618e 100644
--- a/bsps/arm/stm32h7/include/Legacy/stm32_hal_legacy.h
+++ b/bsps/arm/stm32h7/include/Legacy/stm32_hal_legacy.h
@@ -31,6 +31,7 @@
/* Exported constants --------------------------------------------------------*/
/** @defgroup HAL_AES_Aliased_Defines HAL CRYP Aliased Defines maintained for legacy purpose
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define AES_FLAG_RDERR CRYP_FLAG_RDERR
@@ -44,6 +45,7 @@
*/
/** @defgroup HAL_ADC_Aliased_Defines HAL ADC Aliased Defines maintained for legacy purpose
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define ADC_RESOLUTION12b ADC_RESOLUTION_12B
@@ -103,6 +105,7 @@
*/
/** @defgroup HAL_CEC_Aliased_Defines HAL CEC Aliased Defines maintained for legacy purpose
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -113,6 +116,7 @@
*/
/** @defgroup HAL_COMP_Aliased_Defines HAL COMP Aliased Defines maintained for legacy purpose
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define COMP_WINDOWMODE_DISABLED COMP_WINDOWMODE_DISABLE
@@ -204,6 +208,7 @@
*/
/** @defgroup HAL_CORTEX_Aliased_Defines HAL CORTEX Aliased Defines maintained for legacy purpose
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define __HAL_CORTEX_SYSTICKCLK_CONFIG HAL_SYSTICK_CLKSourceConfig
@@ -212,6 +217,7 @@
*/
/** @defgroup HAL_CRC_Aliased_Defines HAL CRC Aliased Defines maintained for legacy purpose
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -223,6 +229,7 @@
*/
/** @defgroup HAL_DAC_Aliased_Defines HAL DAC Aliased Defines maintained for legacy purpose
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -251,6 +258,7 @@
*/
/** @defgroup HAL_DMA_Aliased_Defines HAL DMA Aliased Defines maintained for legacy purpose
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_REMAPDMA_ADC_DMA_CH2 DMA_REMAP_ADC_DMA_CH2
@@ -384,6 +392,7 @@
*/
/** @defgroup HAL_FLASH_Aliased_Defines HAL FLASH Aliased Defines maintained for legacy purpose
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -481,6 +490,7 @@
*/
/** @defgroup HAL_JPEG_Aliased_Macros HAL JPEG Aliased Macros maintained for legacy purpose
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -498,6 +508,7 @@
*/
/** @defgroup HAL_SYSCFG_Aliased_Defines HAL SYSCFG Aliased Defines maintained for legacy purpose
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -523,6 +534,7 @@
/** @defgroup LL_FMC_Aliased_Defines LL FMC Aliased Defines maintained for compatibility purpose
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined(STM32L4) || defined(STM32F7) || defined(STM32H7) || defined(STM32G4)
@@ -541,6 +553,7 @@
*/
/** @defgroup LL_FSMC_Aliased_Defines LL FSMC Aliased Defines maintained for legacy purpose
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -551,6 +564,7 @@
*/
/** @defgroup HAL_GPIO_Aliased_Macros HAL GPIO Aliased Macros maintained for legacy purpose
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define GET_GPIO_SOURCE GPIO_GET_INDEX
@@ -617,6 +631,7 @@
*/
/** @defgroup HAL_HRTIM_Aliased_Macros HAL HRTIM Aliased Macros maintained for legacy purpose
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HRTIM_TIMDELAYEDPROTECTION_DISABLED HRTIM_TIMER_A_B_C_DELAYEDPROTECTION_DISABLED
@@ -821,6 +836,7 @@
*/
/** @defgroup HAL_I2C_Aliased_Defines HAL I2C Aliased Defines maintained for legacy purpose
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define I2C_DUALADDRESS_DISABLED I2C_DUALADDRESS_DISABLE
@@ -844,6 +860,7 @@
*/
/** @defgroup HAL_IRDA_Aliased_Defines HAL IRDA Aliased Defines maintained for legacy purpose
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define IRDA_ONE_BIT_SAMPLE_DISABLED IRDA_ONE_BIT_SAMPLE_DISABLE
@@ -854,6 +871,7 @@
*/
/** @defgroup HAL_IWDG_Aliased_Defines HAL IWDG Aliased Defines maintained for legacy purpose
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define KR_KEY_RELOAD IWDG_KEY_RELOAD
@@ -865,6 +883,7 @@
*/
/** @defgroup HAL_LPTIM_Aliased_Defines HAL LPTIM Aliased Defines maintained for legacy purpose
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -893,6 +912,7 @@
*/
/** @defgroup HAL_NAND_Aliased_Defines HAL NAND Aliased Defines maintained for legacy purpose
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_NAND_Read_Page HAL_NAND_Read_Page_8b
@@ -912,6 +932,7 @@
*/
/** @defgroup HAL_NOR_Aliased_Defines HAL NOR Aliased Defines maintained for legacy purpose
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define NOR_StatusTypedef HAL_NOR_StatusTypeDef
@@ -927,6 +948,7 @@
*/
/** @defgroup HAL_OPAMP_Aliased_Defines HAL OPAMP Aliased Defines maintained for legacy purpose
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -966,6 +988,7 @@
*/
/** @defgroup HAL_I2S_Aliased_Defines HAL I2S Aliased Defines maintained for legacy purpose
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define I2S_STANDARD_PHILLIPS I2S_STANDARD_PHILIPS
@@ -986,6 +1009,7 @@
*/
/** @defgroup HAL_PCCARD_Aliased_Defines HAL PCCARD Aliased Defines maintained for legacy purpose
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -1016,6 +1040,7 @@
*/
/** @defgroup HAL_RTC_Aliased_Defines HAL RTC Aliased Defines maintained for legacy purpose
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -1062,6 +1087,7 @@
/** @defgroup HAL_SMARTCARD_Aliased_Defines HAL SMARTCARD Aliased Defines maintained for legacy purpose
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SMARTCARD_NACK_ENABLED SMARTCARD_NACK_ENABLE
@@ -1083,6 +1109,7 @@
/** @defgroup HAL_SMBUS_Aliased_Defines HAL SMBUS Aliased Defines maintained for legacy purpose
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SMBUS_DUALADDRESS_DISABLED SMBUS_DUALADDRESS_DISABLE
@@ -1101,6 +1128,7 @@
*/
/** @defgroup HAL_SPI_Aliased_Defines HAL SPI Aliased Defines maintained for legacy purpose
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SPI_TIMODE_DISABLED SPI_TIMODE_DISABLE
@@ -1132,6 +1160,7 @@
*/
/** @defgroup HAL_TIM_Aliased_Defines HAL TIM Aliased Defines maintained for legacy purpose
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define CCER_CCxE_MASK TIM_CCER_CCxE_MASK
@@ -1226,6 +1255,7 @@
*/
/** @defgroup HAL_TSC_Aliased_Defines HAL TSC Aliased Defines maintained for legacy purpose
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define TSC_SYNC_POL_FALL TSC_SYNC_POLARITY_FALLING
@@ -1235,6 +1265,7 @@
*/
/** @defgroup HAL_UART_Aliased_Defines HAL UART Aliased Defines maintained for legacy purpose
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define UART_ONEBIT_SAMPLING_DISABLED UART_ONE_BIT_SAMPLE_DISABLE
@@ -1266,6 +1297,7 @@
/** @defgroup HAL_USART_Aliased_Defines HAL USART Aliased Defines maintained for legacy purpose
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -1279,6 +1311,7 @@
*/
/** @defgroup HAL_WWDG_Aliased_Defines HAL WWDG Aliased Defines maintained for legacy purpose
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define CFR_BASE WWDG_CFR_BASE
@@ -1288,6 +1321,7 @@
*/
/** @defgroup HAL_CAN_Aliased_Defines HAL CAN Aliased Defines maintained for legacy purpose
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define CAN_FilterFIFO0 CAN_FILTER_FIFO0
@@ -1306,6 +1340,7 @@
*/
/** @defgroup HAL_ETH_Aliased_Defines HAL ETH Aliased Defines maintained for legacy purpose
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -1366,6 +1401,7 @@
*/
/** @defgroup HAL_DCMI_Aliased_Defines HAL DCMI Aliased Defines maintained for legacy purpose
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_DCMI_ERROR_OVF HAL_DCMI_ERROR_OVR
@@ -1385,6 +1421,7 @@
|| defined(STM32F429xx) || defined(STM32F439xx) || defined(STM32F469xx) || defined(STM32F479xx) \
|| defined(STM32H7)
/** @defgroup HAL_DMA2D_Aliased_Defines HAL DMA2D Aliased Defines maintained for legacy purpose
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DMA2D_ARGB8888 DMA2D_OUTPUT_ARGB8888
@@ -1410,6 +1447,7 @@
#endif /* STM32L4 || STM32F7 || STM32F4 || STM32H7 */
/** @defgroup HAL_PPP_Aliased_Defines HAL PPP Aliased Defines maintained for legacy purpose
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -1420,6 +1458,7 @@
/* Exported functions --------------------------------------------------------*/
/** @defgroup HAL_CRYP_Aliased_Functions HAL CRYP Aliased Functions maintained for legacy purpose
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_CRYP_ComputationCpltCallback HAL_CRYPEx_ComputationCpltCallback
@@ -1428,6 +1467,7 @@
*/
/** @defgroup HAL_HASH_Aliased_Functions HAL HASH Aliased Functions maintained for legacy purpose
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_HASH_STATETypeDef HAL_HASH_StateTypeDef
@@ -1478,6 +1518,7 @@
*/
/** @defgroup HAL_Aliased_Functions HAL Generic Aliased Functions maintained for legacy purpose
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_EnableDBGSleepMode HAL_DBGMCU_EnableDBGSleepMode
@@ -1507,6 +1548,7 @@
*/
/** @defgroup HAL_FLASH_Aliased_Functions HAL FLASH Aliased Functions maintained for legacy purpose
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FLASH_HalfPageProgram HAL_FLASHEx_HalfPageProgram
@@ -1522,6 +1564,7 @@
*/
/** @defgroup HAL_I2C_Aliased_Functions HAL I2C Aliased Functions maintained for legacy purpose
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_I2CEx_AnalogFilter_Config HAL_I2CEx_ConfigAnalogFilter
@@ -1559,6 +1602,7 @@
*/
/** @defgroup HAL_PWR_Aliased HAL PWR Aliased maintained for legacy purpose
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -1616,6 +1660,7 @@
*/
/** @defgroup HAL_SMBUS_Aliased_Functions HAL SMBUS Aliased Functions maintained for legacy purpose
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_SMBUS_Slave_Listen_IT HAL_SMBUS_EnableListen_IT
@@ -1626,6 +1671,7 @@
*/
/** @defgroup HAL_SPI_Aliased_Functions HAL SPI Aliased Functions maintained for legacy purpose
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_SPI_FlushRxFifo HAL_SPIEx_FlushRxFifo
@@ -1634,6 +1680,7 @@
*/
/** @defgroup HAL_TIM_Aliased_Functions HAL TIM Aliased Functions maintained for legacy purpose
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_TIM_DMADelayPulseCplt TIM_DMADelayPulseCplt
@@ -1653,6 +1700,7 @@
*/
/** @defgroup HAL_UART_Aliased_Functions HAL UART Aliased Functions maintained for legacy purpose
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_UART_WakeupCallback HAL_UARTEx_WakeupCallback
@@ -1661,6 +1709,7 @@
*/
/** @defgroup HAL_LTDC_Aliased_Functions HAL LTDC Aliased Functions maintained for legacy purpose
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_LTDC_LineEvenCallback HAL_LTDC_LineEventCallback
@@ -1673,6 +1722,7 @@
/** @defgroup HAL_PPP_Aliased_Functions HAL PPP Aliased Functions maintained for legacy purpose
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -1683,6 +1733,7 @@
/* Exported macros ------------------------------------------------------------*/
/** @defgroup HAL_AES_Aliased_Macros HAL CRYP Aliased Macros maintained for legacy purpose
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define AES_IT_CC CRYP_IT_CC
@@ -1693,6 +1744,7 @@
*/
/** @defgroup HAL_Aliased_Macros HAL Generic Aliased Macros maintained for legacy purpose
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define __HAL_GET_BOOT_MODE __HAL_SYSCFG_GET_BOOT_MODE
@@ -1722,6 +1774,7 @@
/** @defgroup HAL_ADC_Aliased_Macros HAL ADC Aliased Macros maintained for legacy purpose
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define __ADC_ENABLE __HAL_ADC_ENABLE
@@ -1806,6 +1859,7 @@
*/
/** @defgroup HAL_DAC_Aliased_Macros HAL DAC Aliased Macros maintained for legacy purpose
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define __HAL_DHR12R1_ALIGNEMENT DAC_DHR12R1_ALIGNMENT
@@ -1818,6 +1872,7 @@
*/
/** @defgroup HAL_DBGMCU_Aliased_Macros HAL DBGMCU Aliased Macros maintained for legacy purpose
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define __HAL_FREEZE_TIM1_DBGMCU __HAL_DBGMCU_FREEZE_TIM1
@@ -1890,6 +1945,7 @@
*/
/** @defgroup HAL_COMP_Aliased_Macros HAL COMP Aliased Macros maintained for legacy purpose
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined(STM32F3)
@@ -2067,6 +2123,7 @@
#if defined(STM32L0) || defined(STM32L4)
/** @defgroup HAL_COMP_Aliased_Functions HAL COMP Aliased Functions maintained for legacy purpose
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_COMP_Start_IT HAL_COMP_Start /* Function considered as legacy as EXTI event or IT configuration is done into HAL_COMP_Init() */
@@ -2077,6 +2134,7 @@
#endif
/** @defgroup HAL_DAC_Aliased_Macros HAL DAC Aliased Macros maintained for legacy purpose
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -2089,6 +2147,7 @@
*/
/** @defgroup HAL_FLASH_Aliased_Macros HAL FLASH Aliased Macros maintained for legacy purpose
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -2104,6 +2163,7 @@
*/
/** @defgroup HAL_I2C_Aliased_Macros HAL I2C Aliased Macros maintained for legacy purpose
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -2131,6 +2191,7 @@
*/
/** @defgroup HAL_I2S_Aliased_Macros HAL I2S Aliased Macros maintained for legacy purpose
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -2146,6 +2207,7 @@
*/
/** @defgroup HAL_IRDA_Aliased_Macros HAL IRDA Aliased Macros maintained for legacy purpose
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -2166,6 +2228,7 @@
/** @defgroup HAL_IWDG_Aliased_Macros HAL IWDG Aliased Macros maintained for legacy purpose
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define __HAL_IWDG_ENABLE_WRITE_ACCESS IWDG_ENABLE_WRITE_ACCESS
@@ -2176,6 +2239,7 @@
/** @defgroup HAL_LPTIM_Aliased_Macros HAL LPTIM Aliased Macros maintained for legacy purpose
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -2189,6 +2253,7 @@
/** @defgroup HAL_OPAMP_Aliased_Macros HAL OPAMP Aliased Macros maintained for legacy purpose
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define __OPAMP_CSR_OPAXPD OPAMP_CSR_OPAXPD
@@ -2211,6 +2276,7 @@
/** @defgroup HAL_PWR_Aliased_Macros HAL PWR Aliased Macros maintained for legacy purpose
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define __HAL_PVD_EVENT_DISABLE __HAL_PWR_PVD_EXTI_DISABLE_EVENT
@@ -2268,6 +2334,7 @@
/** @defgroup HAL_RCC_Aliased HAL RCC Aliased maintained for legacy purpose
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -3361,6 +3428,7 @@
*/
/** @defgroup HAL_RNG_Aliased_Macros HAL RNG Aliased Macros maintained for legacy purpose
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_RNG_ReadyCallback(__HANDLE__) HAL_RNG_ReadyDataCallback((__HANDLE__), uint32_t random32bit)
@@ -3370,6 +3438,7 @@
*/
/** @defgroup HAL_RTC_Aliased_Macros HAL RTC Aliased Macros maintained for legacy purpose
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined (STM32G0) || defined (STM32L5) || defined (STM32L412xx) || defined (STM32L422xx) || defined (STM32L4P5xx) || defined (STM32L4Q5xx) || defined (STM32G4)
@@ -3430,6 +3499,7 @@
*/
/** @defgroup HAL_SD_Aliased_Macros HAL SD Aliased Macros maintained for legacy purpose
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -3511,6 +3581,7 @@
*/
/** @defgroup HAL_SMARTCARD_Aliased_Macros HAL SMARTCARD Aliased Macros maintained for legacy purpose
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -3531,6 +3602,7 @@
*/
/** @defgroup HAL_SMBUS_Aliased_Macros HAL SMBUS Aliased Macros maintained for legacy purpose
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define __HAL_SMBUS_RESET_CR1 SMBUS_RESET_CR1
@@ -3546,6 +3618,7 @@
*/
/** @defgroup HAL_SPI_Aliased_Macros HAL SPI Aliased Macros maintained for legacy purpose
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -3558,6 +3631,7 @@
*/
/** @defgroup HAL_UART_Aliased_Macros HAL UART Aliased Macros maintained for legacy purpose
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -3577,6 +3651,7 @@
/** @defgroup HAL_USART_Aliased_Macros HAL USART Aliased Macros maintained for legacy purpose
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -3593,6 +3668,7 @@
*/
/** @defgroup HAL_USB_Aliased_Macros HAL USB Aliased Macros maintained for legacy purpose
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define USB_EXTI_LINE_WAKEUP USB_WAKEUP_EXTI_LINE
@@ -3643,6 +3719,7 @@
*/
/** @defgroup HAL_TIM_Aliased_Macros HAL TIM Aliased Macros maintained for legacy purpose
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define __HAL_TIM_SetICPrescalerValue TIM_SET_ICPRESCALERVALUE
@@ -3672,6 +3749,7 @@
*/
/** @defgroup HAL_ETH_Aliased_Macros HAL ETH Aliased Macros maintained for legacy purpose
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -3691,6 +3769,7 @@
*/
/** @defgroup HAL_LTDC_Aliased_Macros HAL LTDC Aliased Macros maintained for legacy purpose
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define __HAL_LTDC_LAYER LTDC_LAYER
@@ -3700,6 +3779,7 @@
*/
/** @defgroup HAL_SAI_Aliased_Macros HAL SAI Aliased Macros maintained for legacy purpose
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SAI_OUTPUTDRIVE_DISABLED SAI_OUTPUTDRIVE_DISABLE
@@ -3721,6 +3801,7 @@
*/
/** @defgroup HAL_SPDIFRX_Aliased_Macros HAL SPDIFRX Aliased Macros maintained for legacy purpose
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined(STM32H7)
@@ -3733,6 +3814,7 @@
*/
/** @defgroup HAL_HRTIM_Aliased_Functions HAL HRTIM Aliased Functions maintained for legacy purpose
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined (STM32H7) || defined (STM32G4) || defined (STM32F3)
@@ -3748,6 +3830,7 @@
*/
/** @defgroup HAL_QSPI_Aliased_Macros HAL QSPI Aliased Macros maintained for legacy purpose
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined (STM32L4) || defined (STM32F4) || defined (STM32F7) || defined(STM32H7)
@@ -3758,6 +3841,7 @@
*/
/** @defgroup HAL_PPP_Aliased_Macros HAL PPP Aliased Macros maintained for legacy purpose
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
diff --git a/bsps/arm/stm32h7/include/bsp.h b/bsps/arm/stm32h7/include/bsp.h
index 06c4e678aa..0ed9c361a5 100644
--- a/bsps/arm/stm32h7/include/bsp.h
+++ b/bsps/arm/stm32h7/include/bsp.h
@@ -37,6 +37,16 @@
extern "C" {
#endif
+/**
+ * @defgroup RTEMSBSPsARMSTM32H7 STM32H7
+ *
+ * @ingroup RTEMSBSPsARM
+ *
+ * @brief STM32H7 Board Support Package.
+ *
+ * @{
+ */
+
#define BSP_FEATURE_IRQ_EXTENSION
#define BSP_ARMV7M_IRQ_PRIORITY_DEFAULT (13 << 4)
@@ -47,6 +57,8 @@ extern "C" {
uint32_t stm32h7_systick_frequency(void);
+/** @} */
+
#ifdef __cplusplus
}
#endif
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_hal.h b/bsps/arm/stm32h7/include/stm32h7xx_hal.h
index 2ee957c352..9ca9d4db1f 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_hal.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_hal.h
@@ -39,6 +39,7 @@
/* Exported types ------------------------------------------------------------*/
/** @defgroup HAL_TICK_FREQ Tick Frequency
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
typedef enum
@@ -55,6 +56,7 @@ typedef enum
/* Exported constants --------------------------------------------------------*/
/** @defgroup REV_ID device revision ID
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define REV_ID_Y ((uint32_t)0x1003) /*!< STM32H7 rev.Y */
@@ -67,6 +69,7 @@ typedef enum
*/
/** @defgroup SYSCFG_VREFBUF_VoltageScale VREFBUF Voltage Scale
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SYSCFG_VREFBUF_VOLTAGE_SCALE0 VREFBUF_CSR_VRS_OUT2 /*!< Voltage reference scale 0 (VREF_OUT2) */
@@ -86,6 +89,7 @@ typedef enum
*/
/** @defgroup SYSCFG_VREFBUF_HighImpedance VREFBUF High Impedance
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SYSCFG_VREFBUF_HIGH_IMPEDANCE_DISABLE ((uint32_t)0x00000000) /*!< VREF_plus pin is internally connected to Voltage reference buffer output */
@@ -102,6 +106,7 @@ typedef enum
#if !defined(SYSCFG_PMCR_BOOSTEN)
/** @defgroup SYSCFG_FastModePlus_GPIO Fast-mode Plus on GPIO
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -123,6 +128,7 @@ typedef enum
*/
/** @defgroup SYSCFG_Ethernet_Config Ethernet Config
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SYSCFG_ETH_MII ((uint32_t)0x00000000) /*!< Select the Media Independent Interface */
@@ -137,6 +143,7 @@ typedef enum
/** @defgroup SYSCFG_Analog_Switch_Config Analog Switch Config
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SYSCFG_SWITCH_PA0 SYSCFG_PMCR_PA0SO /*!< Select PA0 analog switch */
@@ -173,6 +180,7 @@ typedef enum
*/
/** @defgroup SYSCFG_Boot_Config Boot Config
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SYSCFG_BOOT_ADDR0 ((uint32_t)0x00000000) /*!< Select Boot address0 */
@@ -189,6 +197,7 @@ typedef enum
/** @defgroup SYSCFG_IOCompenstionCell_Config IOCompenstionCell Config
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SYSCFG_CELL_CODE ((uint32_t)0x00000000) /*!< Select Code from the cell */
@@ -207,6 +216,7 @@ typedef enum
/** @defgroup EXTI_Event_Input_Config Event Input Config
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -652,6 +662,7 @@ typedef enum
/** @defgroup FMC_SwapBankMapping_Config SwapBankMapping Config
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FMC_SWAPBMAP_DISABLE (0x00000000U)
@@ -668,6 +679,7 @@ typedef enum
/* Exported macro ------------------------------------------------------------*/
/** @defgroup ART_Exported_Macros ART Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined(DUAL_CORE)
@@ -693,6 +705,7 @@ typedef enum
*/
/** @defgroup SYSCFG_Exported_Macros SYSCFG Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -950,6 +963,7 @@ typedef enum
#endif /*DUAL_CORE*/
/** @defgroup HAL_Private_Macros HAL Private Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define IS_TICKFREQ(FREQ) (((FREQ) == HAL_TICK_FREQ_10HZ) || \
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_hal_adc.h b/bsps/arm/stm32h7/include/stm32h7xx_hal_adc.h
index 0752dc9ffa..2f04c196fb 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_hal_adc.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_hal_adc.h
@@ -41,6 +41,7 @@ extern "C" {
/* Exported types ------------------------------------------------------------*/
/** @defgroup ADC_Exported_Types ADC Exported Types
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -307,6 +308,7 @@ typedef struct
} ADC_InjectionConfigTypeDef;
/** @defgroup ADC_States ADC States
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -419,10 +421,12 @@ typedef void (*pADC_CallbackTypeDef)(ADC_HandleTypeDef *hadc); /*!< pointer to
/* Exported constants --------------------------------------------------------*/
/** @defgroup ADC_Exported_Constants ADC Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup ADC_Error_Code ADC Error Code
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_ADC_ERROR_NONE (0x00U) /*!< No error */
@@ -439,6 +443,7 @@ typedef void (*pADC_CallbackTypeDef)(ADC_HandleTypeDef *hadc); /*!< pointer to
*/
/** @defgroup ADC_HAL_EC_COMMON_CLOCK_SOURCE ADC common - Clock source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define ADC_CLOCK_SYNC_PCLK_DIV1 (LL_ADC_CLOCK_SYNC_PCLK_DIV1) /*!< ADC synchronous clock derived from AHB clock without prescaler */
@@ -462,6 +467,7 @@ typedef void (*pADC_CallbackTypeDef)(ADC_HandleTypeDef *hadc); /*!< pointer to
*/
/** @defgroup ADC_HAL_EC_RESOLUTION ADC instance - Resolution
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define ADC_RESOLUTION_16B (LL_ADC_RESOLUTION_16B) /*!< ADC resolution 16 bits */
@@ -474,6 +480,7 @@ typedef void (*pADC_CallbackTypeDef)(ADC_HandleTypeDef *hadc); /*!< pointer to
*/
/** @defgroup ADC_Scan_mode ADC sequencer scan mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define ADC_SCAN_DISABLE (0x00000000UL) /*!< Scan mode disabled */
@@ -483,6 +490,7 @@ typedef void (*pADC_CallbackTypeDef)(ADC_HandleTypeDef *hadc); /*!< pointer to
*/
/** @defgroup ADC_regular_external_trigger_source ADC group regular trigger source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/* ADC group regular trigger sources for all ADC instances */
@@ -513,6 +521,7 @@ typedef void (*pADC_CallbackTypeDef)(ADC_HandleTypeDef *hadc); /*!< pointer to
*/
/** @defgroup ADC_regular_external_trigger_edge ADC group regular trigger edge (when external trigger is selected)
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define ADC_EXTERNALTRIGCONVEDGE_NONE (0x00000000UL) /*!< Regular conversions hardware trigger detection disabled */
@@ -524,6 +533,7 @@ typedef void (*pADC_CallbackTypeDef)(ADC_HandleTypeDef *hadc); /*!< pointer to
*/
/** @defgroup ADC_EOCSelection ADC sequencer end of unitary conversion or sequence conversions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define ADC_EOC_SINGLE_CONV (ADC_ISR_EOC) /*!< End of unitary conversion flag */
@@ -533,6 +543,7 @@ typedef void (*pADC_CallbackTypeDef)(ADC_HandleTypeDef *hadc); /*!< pointer to
*/
/** @defgroup ADC_HAL_EC_REG_OVR_DATA_BEHAVIOR ADC group regular - Overrun behavior on conversion data
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define ADC_OVR_DATA_PRESERVED (LL_ADC_REG_OVR_DATA_PRESERVED) /*!< ADC group regular behavior in case of overrun: data preserved */
@@ -542,6 +553,7 @@ typedef void (*pADC_CallbackTypeDef)(ADC_HandleTypeDef *hadc); /*!< pointer to
*/
/** @defgroup ADC_HAL_EC_REG_SEQ_RANKS ADC group regular - Sequencer ranks
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define ADC_REGULAR_RANK_1 (LL_ADC_REG_RANK_1) /*!< ADC group regular sequencer rank 1 */
@@ -565,6 +577,7 @@ typedef void (*pADC_CallbackTypeDef)(ADC_HandleTypeDef *hadc); /*!< pointer to
*/
/** @defgroup ADC_HAL_EC_CHANNEL_SAMPLINGTIME Channel - Sampling time
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define ADC_SAMPLETIME_1CYCLE_5 (LL_ADC_SAMPLINGTIME_1CYCLE_5) /*!< Sampling time 1.5 ADC clock cycles */
@@ -580,6 +593,7 @@ typedef void (*pADC_CallbackTypeDef)(ADC_HandleTypeDef *hadc); /*!< pointer to
*/
/** @defgroup ADCEx_Calibration_Mode ADC Extended Calibration mode offset mode or linear mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define ADC_CALIB_OFFSET (LL_ADC_CALIB_OFFSET)
@@ -589,6 +603,7 @@ typedef void (*pADC_CallbackTypeDef)(ADC_HandleTypeDef *hadc); /*!< pointer to
*/
/** @defgroup ADC_HAL_EC_CHANNEL ADC instance - Channel number
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/* Note: VrefInt, TempSensor and Vbat internal channels are not available on */
@@ -626,6 +641,7 @@ typedef void (*pADC_CallbackTypeDef)(ADC_HandleTypeDef *hadc); /*!< pointer to
*/
/** @defgroup ADC_ConversionDataManagement ADC Conversion Data Management
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define ADC_CONVERSIONDATA_DR (0x00000000UL) /*!< Regular Conversion data stored in DR register only */
@@ -636,6 +652,7 @@ typedef void (*pADC_CallbackTypeDef)(ADC_HandleTypeDef *hadc); /*!< pointer to
* @}
*/
/** @defgroup ADC_HAL_EC_AWD_NUMBER Analog watchdog - Analog watchdog number
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define ADC_ANALOGWATCHDOG_1 (LL_ADC_AWD1) /*!< ADC analog watchdog number 1 */
@@ -646,6 +663,7 @@ typedef void (*pADC_CallbackTypeDef)(ADC_HandleTypeDef *hadc); /*!< pointer to
*/
/** @defgroup ADC_analog_watchdog_mode ADC Analog Watchdog Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define ADC_ANALOGWATCHDOG_NONE (0x00000000UL) /*!< No analog watchdog selected */
@@ -660,6 +678,7 @@ typedef void (*pADC_CallbackTypeDef)(ADC_HandleTypeDef *hadc); /*!< pointer to
*/
/** @defgroup ADC_HAL_EC_OVS_SHIFT Oversampling - Data shift
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define ADC_RIGHTBITSHIFT_NONE (LL_ADC_OVS_SHIFT_NONE) /*!< ADC oversampling no shift (sum of the ADC conversions data is not divided to result as the ADC oversampling conversion data) */
@@ -679,6 +698,7 @@ typedef void (*pADC_CallbackTypeDef)(ADC_HandleTypeDef *hadc); /*!< pointer to
*/
/** @defgroup ADCEx_Left_Bit_Shift ADC Extended Oversampling left Shift
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define ADC_LEFTBITSHIFT_NONE (LL_ADC_LEFT_BIT_SHIFT_NONE) /*!< ADC No bit shift */
@@ -702,6 +722,7 @@ typedef void (*pADC_CallbackTypeDef)(ADC_HandleTypeDef *hadc); /*!< pointer to
*/
/** @defgroup ADC_HAL_EC_OVS_DISCONT_MODE Oversampling - Discontinuous mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define ADC_TRIGGEREDMODE_SINGLE_TRIGGER (LL_ADC_OVS_REG_CONT) /*!< ADC oversampling discontinuous mode: continuous mode (all conversions of oversampling ratio are done from 1 trigger) */
@@ -711,6 +732,7 @@ typedef void (*pADC_CallbackTypeDef)(ADC_HandleTypeDef *hadc); /*!< pointer to
*/
/** @defgroup ADC_HAL_EC_OVS_SCOPE_REG Oversampling - Oversampling scope for ADC group regular
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define ADC_REGOVERSAMPLING_CONTINUED_MODE (LL_ADC_OVS_GRP_REGULAR_CONTINUED) /*!< Oversampling buffer maintained during injection sequence */
@@ -721,6 +743,7 @@ typedef void (*pADC_CallbackTypeDef)(ADC_HandleTypeDef *hadc); /*!< pointer to
/** @defgroup ADC_Event_type ADC Event type
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define ADC_EOSMP_EVENT (ADC_FLAG_EOSMP) /*!< ADC End of Sampling event */
@@ -735,6 +758,7 @@ typedef void (*pADC_CallbackTypeDef)(ADC_HandleTypeDef *hadc); /*!< pointer to
#define ADC_AWD_EVENT ADC_AWD1_EVENT /*!< ADC Analog watchdog 1 event: Naming for compatibility with other STM32 devices having only one analog watchdog */
/** @defgroup ADC_interrupts_definition ADC interrupts definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define ADC_IT_RDY ADC_IER_ADRDYIE /*!< ADC Ready interrupt source */
@@ -756,6 +780,7 @@ typedef void (*pADC_CallbackTypeDef)(ADC_HandleTypeDef *hadc); /*!< pointer to
*/
/** @defgroup ADC_flags_definition ADC flags definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define ADC_FLAG_RDY ADC_ISR_ADRDY /*!< ADC Ready flag */
@@ -781,6 +806,7 @@ typedef void (*pADC_CallbackTypeDef)(ADC_HandleTypeDef *hadc); /*!< pointer to
/* Private macro -------------------------------------------------------------*/
/** @defgroup ADC_Private_Macros ADC Private Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/* Macro reserved for internal HAL driver usage, not intended to be used in */
@@ -1023,6 +1049,7 @@ typedef void (*pADC_CallbackTypeDef)(ADC_HandleTypeDef *hadc); /*!< pointer to
/* Private constants ---------------------------------------------------------*/
/** @defgroup ADC_Private_Constants ADC Private Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -1053,12 +1080,14 @@ typedef void (*pADC_CallbackTypeDef)(ADC_HandleTypeDef *hadc); /*!< pointer to
/* Exported macro ------------------------------------------------------------*/
/** @defgroup ADC_Exported_Macros ADC Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/* Macro for internal HAL driver usage, and possibly can be used into code of */
/* final user. */
/** @defgroup ADC_HAL_EM_HANDLE_IT_FLAG HAL ADC macro to manage HAL ADC handle, IT and flags.
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -1188,6 +1217,7 @@ typedef void (*pADC_CallbackTypeDef)(ADC_HandleTypeDef *hadc); /*!< pointer to
*/
/** @defgroup ADC_HAL_EM_HELPER_MACRO HAL ADC helper macro
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_hal_adc_ex.h b/bsps/arm/stm32h7/include/stm32h7xx_hal_adc_ex.h
index 4d2a29aa26..4921d22030 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_hal_adc_ex.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_hal_adc_ex.h
@@ -38,6 +38,7 @@ extern "C" {
/* Exported types ------------------------------------------------------------*/
/** @defgroup ADCEx_Exported_Types ADC Extended Exported Types
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -211,10 +212,12 @@ typedef struct
/* Exported constants --------------------------------------------------------*/
/** @defgroup ADCEx_Exported_Constants ADC Extended Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup ADC_injected_external_trigger_source ADC group injected trigger source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/* ADC group regular trigger sources for all ADC instances */
@@ -245,6 +248,7 @@ typedef struct
*/
/** @defgroup ADC_injected_external_trigger_edge ADC group injected trigger edge (when external trigger is selected)
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define ADC_EXTERNALTRIGINJECCONV_EDGE_NONE (0x00000000UL) /*!< Injected conversions hardware trigger detection disabled */
@@ -256,6 +260,7 @@ typedef struct
*/
/** @defgroup ADC_HAL_EC_CHANNEL_SINGLE_DIFF_ENDING Channel - Single or differential ending
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define ADC_SINGLE_ENDED (LL_ADC_SINGLE_ENDED) /*!< ADC channel ending set to single ended (literal also used to set calibration mode) */
@@ -265,6 +270,7 @@ typedef struct
*/
/** @defgroup ADC_HAL_EC_OFFSET_NB ADC instance - Offset number
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define ADC_OFFSET_NONE (ADC_OFFSET_4 + 1U) /*!< ADC offset disabled: no offset correction for the selected ADC channel */
@@ -277,6 +283,7 @@ typedef struct
*/
/** @defgroup ADC_INJ_SEQ_RANKS ADC group injected - Sequencer ranks
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define ADC_INJECTED_RANK_1 (LL_ADC_INJ_RANK_1) /*!< ADC group injected sequencer rank 1 */
@@ -288,6 +295,7 @@ typedef struct
*/
/** @defgroup ADC_HAL_EC_MULTI_MODE Multimode - Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define ADC_MODE_INDEPENDENT (LL_ADC_MULTI_INDEPENDENT) /*!< ADC dual mode disabled (ADC independent mode) */
@@ -300,6 +308,7 @@ typedef struct
#define ADC_DUALMODE_REGINTERL_INJECSIMULT (LL_ADC_MULTI_DUAL_REG_INT_INJ_SIM) /*!< ADC dual mode enabled: Combined group regular interleaved + group injected simultaneous */
/** @defgroup ADCEx_Dual_Mode_Data_Format ADC Extended Dual Mode Data Formatting
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define ADC_DUALMODEDATAFORMAT_DISABLED (0x00000000UL) /*!< Dual ADC mode without data packing: ADCx_CDR and ADCx_CDR2 registers not used */
@@ -310,6 +319,7 @@ typedef struct
*/
/** @defgroup ADC_HAL_EC_MULTI_TWOSMP_DELAY Multimode - Delay between two sampling phases
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define ADC_TWOSAMPLINGDELAY_1CYCLE (LL_ADC_MULTI_TWOSMP_DELAY_1CYCLE_5) /*!< ADC multimode delay between two sampling phases: 1 ADC clock cycle */
@@ -330,6 +340,7 @@ typedef struct
*/
/** @defgroup ADC_HAL_EC_GROUPS ADC instance - Groups
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define ADC_REGULAR_GROUP (LL_ADC_GROUP_REGULAR) /*!< ADC group regular (available on all STM32 devices) */
@@ -340,6 +351,7 @@ typedef struct
*/
/** @defgroup ADC_CFGR_fields ADCx CFGR fields
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define ADC_CFGR_FIELDS (ADC_CFGR_AWD1CH | ADC_CFGR_JAUTO | ADC_CFGR_JAWD1EN |\
@@ -353,6 +365,7 @@ typedef struct
*/
/** @defgroup ADC_SMPR1_fields ADCx SMPR1 fields
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define ADC_SMPR1_FIELDS (ADC_SMPR1_SMP9 | ADC_SMPR1_SMP8 | ADC_SMPR1_SMP7 |\
@@ -364,6 +377,7 @@ typedef struct
*/
/** @defgroup ADC_CFGR_fields_2 ADCx CFGR sub fields
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/* ADC_CFGR fields of parameters that can be updated when no conversion
@@ -375,6 +389,7 @@ typedef struct
#if defined(DFSDM1_Channel0)
/** @defgroup ADC_HAL_EC_REG_DFSDM_TRANSFER ADC group regular - DFSDM transfer of ADC conversion data
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define ADC_DFSDM_MODE_DISABLE (0x00000000UL) /*!< ADC conversions are not transferred by DFSDM. */
@@ -391,6 +406,7 @@ typedef struct
/* Exported macros -----------------------------------------------------------*/
/** @defgroup ADCEx_Exported_Macro ADC Extended Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -418,6 +434,7 @@ typedef struct
/* Private macros ------------------------------------------------------------*/
/** @defgroup ADCEx_Private_Macro_internal_HAL_driver ADC Extended Private Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/* Macro reserved for internal HAL driver usage, not intended to be used in */
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_hal_cec.h b/bsps/arm/stm32h7/include/stm32h7xx_hal_cec.h
index f5e58987e2..718556cc10 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_hal_cec.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_hal_cec.h
@@ -40,6 +40,7 @@ extern "C" {
/* Exported types ------------------------------------------------------------*/
/** @defgroup CEC_Exported_Types CEC Exported Types
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -221,9 +222,11 @@ typedef void (*pCEC_RxCallbackTypeDef)(CEC_HandleTypeDef *hcec,
/* Exported constants --------------------------------------------------------*/
/** @defgroup CEC_Exported_Constants CEC Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup CEC_State_Definition CEC State Code Definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_CEC_STATE_RESET ((uint32_t)0x00000000) /*!< Peripheral is not yet Initialized
@@ -243,6 +246,7 @@ typedef void (*pCEC_RxCallbackTypeDef)(CEC_HandleTypeDef *hcec,
* @}
*/
/** @defgroup CEC_Error_Code CEC Error Code
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_CEC_ERROR_NONE (uint32_t) 0x0000U /*!< no error */
@@ -263,6 +267,7 @@ typedef void (*pCEC_RxCallbackTypeDef)(CEC_HandleTypeDef *hcec,
*/
/** @defgroup CEC_Signal_Free_Time CEC Signal Free Time setting parameter
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define CEC_DEFAULT_SFT ((uint32_t)0x00000000U)
@@ -278,6 +283,7 @@ typedef void (*pCEC_RxCallbackTypeDef)(CEC_HandleTypeDef *hcec,
*/
/** @defgroup CEC_Tolerance CEC Receiver Tolerance
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define CEC_STANDARD_TOLERANCE ((uint32_t)0x00000000U)
@@ -287,6 +293,7 @@ typedef void (*pCEC_RxCallbackTypeDef)(CEC_HandleTypeDef *hcec,
*/
/** @defgroup CEC_BRERxStop CEC Reception Stop on Error
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define CEC_NO_RX_STOP_ON_BRE ((uint32_t)0x00000000U)
@@ -296,6 +303,7 @@ typedef void (*pCEC_RxCallbackTypeDef)(CEC_HandleTypeDef *hcec,
*/
/** @defgroup CEC_BREErrorBitGen CEC Error Bit Generation if Bit Rise Error reported
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define CEC_BRE_ERRORBIT_NO_GENERATION ((uint32_t)0x00000000U)
@@ -305,6 +313,7 @@ typedef void (*pCEC_RxCallbackTypeDef)(CEC_HandleTypeDef *hcec,
*/
/** @defgroup CEC_LBPEErrorBitGen CEC Error Bit Generation if Long Bit Period Error reported
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define CEC_LBPE_ERRORBIT_NO_GENERATION ((uint32_t)0x00000000U)
@@ -314,6 +323,7 @@ typedef void (*pCEC_RxCallbackTypeDef)(CEC_HandleTypeDef *hcec,
*/
/** @defgroup CEC_BroadCastMsgErrorBitGen CEC Error Bit Generation on Broadcast message
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define CEC_BROADCASTERROR_ERRORBIT_GENERATION ((uint32_t)0x00000000U)
@@ -323,6 +333,7 @@ typedef void (*pCEC_RxCallbackTypeDef)(CEC_HandleTypeDef *hcec,
*/
/** @defgroup CEC_SFT_Option CEC Signal Free Time start option
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define CEC_SFT_START_ON_TXSOM ((uint32_t)0x00000000U)
@@ -332,6 +343,7 @@ typedef void (*pCEC_RxCallbackTypeDef)(CEC_HandleTypeDef *hcec,
*/
/** @defgroup CEC_Listening_Mode CEC Listening mode option
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define CEC_REDUCED_LISTENING_MODE ((uint32_t)0x00000000U)
@@ -341,6 +353,7 @@ typedef void (*pCEC_RxCallbackTypeDef)(CEC_HandleTypeDef *hcec,
*/
/** @defgroup CEC_OAR_Position CEC Device Own Address position in CEC CFGR register
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define CEC_CFGR_OAR_LSB_POS ((uint32_t) 16U)
@@ -349,6 +362,7 @@ typedef void (*pCEC_RxCallbackTypeDef)(CEC_HandleTypeDef *hcec,
*/
/** @defgroup CEC_Initiator_Position CEC Initiator logical address position in message header
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define CEC_INITIATOR_LSB_POS ((uint32_t) 4U)
@@ -357,6 +371,7 @@ typedef void (*pCEC_RxCallbackTypeDef)(CEC_HandleTypeDef *hcec,
*/
/** @defgroup CEC_OWN_ADDRESS CEC Own Address
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define CEC_OWN_ADDRESS_NONE ((uint16_t) 0x0000U) /* Reset value */
@@ -380,6 +395,7 @@ typedef void (*pCEC_RxCallbackTypeDef)(CEC_HandleTypeDef *hcec,
*/
/** @defgroup CEC_Interrupts_Definitions CEC Interrupts definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define CEC_IT_TXACKE CEC_IER_TXACKEIE
@@ -400,6 +416,7 @@ typedef void (*pCEC_RxCallbackTypeDef)(CEC_HandleTypeDef *hcec,
*/
/** @defgroup CEC_Flags_Definitions CEC Flags definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define CEC_FLAG_TXACKE CEC_ISR_TXACKE
@@ -420,6 +437,7 @@ typedef void (*pCEC_RxCallbackTypeDef)(CEC_HandleTypeDef *hcec,
*/
/** @defgroup CEC_ALL_ERROR CEC all RX or TX errors flags
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define CEC_ISR_ALL_ERROR ((uint32_t)CEC_ISR_RXOVR|CEC_ISR_BRE|CEC_ISR_SBPE|CEC_ISR_LBPE|CEC_ISR_RXACKE|\
@@ -429,6 +447,7 @@ typedef void (*pCEC_RxCallbackTypeDef)(CEC_HandleTypeDef *hcec,
*/
/** @defgroup CEC_IER_ALL_RX CEC all RX errors interrupts enabling flag
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define CEC_IER_RX_ALL_ERR ((uint32_t)CEC_IER_RXACKEIE|CEC_IER_LBPEIE|CEC_IER_SBPEIE|CEC_IER_BREIE|CEC_IER_RXOVRIE)
@@ -437,6 +456,7 @@ typedef void (*pCEC_RxCallbackTypeDef)(CEC_HandleTypeDef *hcec,
*/
/** @defgroup CEC_IER_ALL_TX CEC all TX errors interrupts enabling flag
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define CEC_IER_TX_ALL_ERR ((uint32_t)CEC_IER_TXACKEIE|CEC_IER_TXERRIE|CEC_IER_TXUDRIE|CEC_IER_ARBLSTIE)
@@ -450,6 +470,7 @@ typedef void (*pCEC_RxCallbackTypeDef)(CEC_HandleTypeDef *hcec,
/* Exported macros -----------------------------------------------------------*/
/** @defgroup CEC_Exported_Macros CEC Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -688,6 +709,7 @@ uint32_t HAL_CEC_GetError(CEC_HandleTypeDef *hcec);
/* Private types -------------------------------------------------------------*/
/** @defgroup CEC_Private_Types CEC Private Types
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -697,6 +719,7 @@ uint32_t HAL_CEC_GetError(CEC_HandleTypeDef *hcec);
/* Private variables ---------------------------------------------------------*/
/** @defgroup CEC_Private_Variables CEC Private Variables
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -706,6 +729,7 @@ uint32_t HAL_CEC_GetError(CEC_HandleTypeDef *hcec);
/* Private constants ---------------------------------------------------------*/
/** @defgroup CEC_Private_Constants CEC Private Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -715,6 +739,7 @@ uint32_t HAL_CEC_GetError(CEC_HandleTypeDef *hcec);
/* Private macros ------------------------------------------------------------*/
/** @defgroup CEC_Private_Macros CEC Private Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -768,6 +793,7 @@ uint32_t HAL_CEC_GetError(CEC_HandleTypeDef *hcec);
*/
/* Private functions ---------------------------------------------------------*/
/** @defgroup CEC_Private_Functions CEC Private Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_hal_comp.h b/bsps/arm/stm32h7/include/stm32h7xx_hal_comp.h
index cea3606f4f..1b0a6ea0fc 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_hal_comp.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_hal_comp.h
@@ -38,6 +38,7 @@
/* Exported types ------------------------------------------------------------*/
/** @defgroup COMP_Exported_Types COMP Exported Types
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -136,10 +137,12 @@ typedef void (*pCOMP_CallbackTypeDef)(COMP_HandleTypeDef *hcomp); /*!< pointer
/* Exported constants --------------------------------------------------------*/
/** @defgroup COMP_Exported_Constants COMP Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup COMP_Error_Code COMP Error Code
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_COMP_ERROR_NONE (0x00U) /*!< No error */
@@ -151,6 +154,7 @@ typedef void (*pCOMP_CallbackTypeDef)(COMP_HandleTypeDef *hcomp); /*!< pointer
*/
/** @defgroup COMP_WindowMode COMP Window Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define COMP_WINDOWMODE_DISABLE ((uint32_t)0x00000000) /*!< Window mode disable: Comparators instances pair COMP1 and COMP2 are independent */
@@ -161,6 +165,7 @@ typedef void (*pCOMP_CallbackTypeDef)(COMP_HandleTypeDef *hcomp); /*!< pointer
*/
/** @defgroup COMP_PowerMode COMP power mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/* Note: For the characteritics of comparator power modes */
@@ -174,6 +179,7 @@ typedef void (*pCOMP_CallbackTypeDef)(COMP_HandleTypeDef *hcomp); /*!< pointer
*/
/** @defgroup COMP_InputPlus COMP input plus (non-inverting input)
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define COMP_INPUT_PLUS_IO1 ((uint32_t)0x00000000) /*!< Comparator input plus connected to IO1 (pin PB0 for COMP1, pin PE9 for COMP2) */
@@ -186,6 +192,7 @@ typedef void (*pCOMP_CallbackTypeDef)(COMP_HandleTypeDef *hcomp); /*!< pointer
*/
/** @defgroup COMP_InputMinus COMP input minus (inverting input)
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define COMP_INPUT_MINUS_1_4VREFINT ( COMP_CFGRx_SCALEN | COMP_CFGRx_BRGEN) /*!< Comparator input minus connected to 1/4 VrefInt */
@@ -205,6 +212,7 @@ typedef void (*pCOMP_CallbackTypeDef)(COMP_HandleTypeDef *hcomp); /*!< pointer
*/
/** @defgroup COMP_Hysteresis COMP hysteresis
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define COMP_HYSTERESIS_NONE ((uint32_t)0x00000000) /*!< No hysteresis */
@@ -216,6 +224,7 @@ typedef void (*pCOMP_CallbackTypeDef)(COMP_HandleTypeDef *hcomp); /*!< pointer
*/
/** @defgroup COMP_OutputPolarity COMP Output Polarity
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define COMP_OUTPUTPOL_NONINVERTED ((uint32_t)0x00000000) /*!< COMP output level is not inverted (comparator output is high when the input plus is at a higher voltage than the input minus) */
@@ -226,6 +235,7 @@ typedef void (*pCOMP_CallbackTypeDef)(COMP_HandleTypeDef *hcomp); /*!< pointer
/** @defgroup COMP_BlankingSrce COMP Blanking Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/* Any blanking source can be selected for all comparators */
@@ -244,6 +254,7 @@ typedef void (*pCOMP_CallbackTypeDef)(COMP_HandleTypeDef *hcomp); /*!< pointer
/** @defgroup COMP_OutputLevel COMP Output Level
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -263,6 +274,7 @@ typedef void (*pCOMP_CallbackTypeDef)(COMP_HandleTypeDef *hcomp); /*!< pointer
*/
/** @defgroup COMP_EXTI_TriggerMode COMP output to EXTI
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define COMP_TRIGGERMODE_NONE ((uint32_t)0x00000000) /*!< Comparator output triggering no External Interrupt Line */
@@ -278,6 +290,7 @@ typedef void (*pCOMP_CallbackTypeDef)(COMP_HandleTypeDef *hcomp); /*!< pointer
*/
/** @defgroup COMP_Flag COMP Flag
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define COMP_FLAG_C1I COMP_SR_C1IF /*!< Comparator 1 Interrupt Flag */
@@ -287,6 +300,7 @@ typedef void (*pCOMP_CallbackTypeDef)(COMP_HandleTypeDef *hcomp); /*!< pointer
* @}
*/
/** @defgroup COMP_IT_CLEAR_Flags COMP Interruption Clear Flags
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define COMP_CLEAR_C1IF COMP_ICFR_C1IF /*!< Clear Comparator 1 Interrupt Flag */
@@ -295,6 +309,7 @@ typedef void (*pCOMP_CallbackTypeDef)(COMP_HandleTypeDef *hcomp); /*!< pointer
* @}
*/
/** @defgroup COMP_Interrupts_Definitions COMP Interrupts Definitions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define COMP_IT_EN COMP_CFGRx_ITEN
@@ -310,9 +325,11 @@ typedef void (*pCOMP_CallbackTypeDef)(COMP_HandleTypeDef *hcomp); /*!< pointer
/* Exported macros -----------------------------------------------------------*/
/** @defgroup COMP_Exported_Macros COMP Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup COMP_Handle_Management COMP Handle Management
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -374,6 +391,7 @@ typedef void (*pCOMP_CallbackTypeDef)(COMP_HandleTypeDef *hcomp); /*!< pointer
*/
/** @defgroup COMP_Exti_Management COMP external interrupt line management
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -756,9 +774,11 @@ typedef void (*pCOMP_CallbackTypeDef)(COMP_HandleTypeDef *hcomp); /*!< pointer
/* Private types -------------------------------------------------------------*/
/* Private constants ---------------------------------------------------------*/
/** @defgroup COMP_Private_Constants COMP Private Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup COMP_ExtiLine COMP EXTI Lines
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define COMP_EXTI_LINE_COMP1 (EXTI_IMR1_IM20) /*!< EXTI line 20 connected to COMP1 output */
@@ -767,6 +787,7 @@ typedef void (*pCOMP_CallbackTypeDef)(COMP_HandleTypeDef *hcomp); /*!< pointer
* @}
*/
/** @defgroup COMP_ExtiLine COMP EXTI Lines
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define COMP_EXTI_IT ((uint32_t) 0x01) /*!< EXTI line event with interruption */
@@ -782,9 +803,11 @@ typedef void (*pCOMP_CallbackTypeDef)(COMP_HandleTypeDef *hcomp); /*!< pointer
/* Private macros ------------------------------------------------------------*/
/** @defgroup COMP_Private_Macros COMP Private Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup COMP_GET_EXTI_LINE COMP Private macros to get EXTI line associated with Comparators
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/**
@@ -798,6 +821,7 @@ typedef void (*pCOMP_CallbackTypeDef)(COMP_HandleTypeDef *hcomp); /*!< pointer
* @}
*/
/** @defgroup COMP_IS_COMP_Definitions COMP private macros to check input parameters
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define IS_COMP_WINDOWMODE(__WINDOWMODE__) (((__WINDOWMODE__) == COMP_WINDOWMODE_DISABLE) || \
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_hal_cortex.h b/bsps/arm/stm32h7/include/stm32h7xx_hal_cortex.h
index 4eca439036..1b5d5b36bf 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_hal_cortex.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_hal_cortex.h
@@ -37,11 +37,13 @@
*/
/* Exported types ------------------------------------------------------------*/
/** @defgroup CORTEX_Exported_Types Cortex Exported Types
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if (__MPU_PRESENT == 1)
/** @defgroup CORTEX_MPU_Region_Initialization_Structure_definition MPU Region Initialization Structure Definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief MPU Region initialization structure
* @{
*/
@@ -81,10 +83,12 @@ typedef struct
/* Exported constants --------------------------------------------------------*/
/** @defgroup CORTEX_Exported_Constants CORTEX Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup CORTEX_Preemption_Priority_Group CORTEX Preemption Priority Group
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define NVIC_PRIORITYGROUP_0 ((uint32_t)0x00000007) /*!< 0 bits for pre-emption priority
@@ -102,6 +106,7 @@ typedef struct
*/
/** @defgroup CORTEX_SysTick_clock_source CORTEX _SysTick clock source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SYSTICK_CLKSOURCE_HCLK_DIV8 ((uint32_t)0x00000000)
@@ -113,6 +118,7 @@ typedef struct
#if (__MPU_PRESENT == 1)
/** @defgroup CORTEX_MPU_HFNMI_PRIVDEF_Control MPU HFNMI and PRIVILEGED Access control
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define MPU_HFNMI_PRIVDEF_NONE ((uint32_t)0x00000000)
@@ -124,6 +130,7 @@ typedef struct
*/
/** @defgroup CORTEX_MPU_Region_Enable CORTEX MPU Region Enable
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define MPU_REGION_ENABLE ((uint8_t)0x01)
@@ -133,6 +140,7 @@ typedef struct
*/
/** @defgroup CORTEX_MPU_Instruction_Access CORTEX MPU Instruction Access
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define MPU_INSTRUCTION_ACCESS_ENABLE ((uint8_t)0x00)
@@ -142,6 +150,7 @@ typedef struct
*/
/** @defgroup CORTEX_MPU_Access_Shareable CORTEX MPU Instruction Access Shareable
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define MPU_ACCESS_SHAREABLE ((uint8_t)0x01)
@@ -151,6 +160,7 @@ typedef struct
*/
/** @defgroup CORTEX_MPU_Access_Cacheable CORTEX MPU Instruction Access Cacheable
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define MPU_ACCESS_CACHEABLE ((uint8_t)0x01)
@@ -160,6 +170,7 @@ typedef struct
*/
/** @defgroup CORTEX_MPU_Access_Bufferable CORTEX MPU Instruction Access Bufferable
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define MPU_ACCESS_BUFFERABLE ((uint8_t)0x01)
@@ -169,6 +180,7 @@ typedef struct
*/
/** @defgroup CORTEX_MPU_TEX_Levels MPU TEX Levels
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define MPU_TEX_LEVEL0 ((uint8_t)0x00)
@@ -179,6 +191,7 @@ typedef struct
*/
/** @defgroup CORTEX_MPU_Region_Size CORTEX MPU Region Size
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define MPU_REGION_SIZE_32B ((uint8_t)0x04)
@@ -214,6 +227,7 @@ typedef struct
*/
/** @defgroup CORTEX_MPU_Region_Permission_Attributes CORTEX MPU Region Permission Attributes
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define MPU_REGION_NO_ACCESS ((uint8_t)0x00)
@@ -227,6 +241,7 @@ typedef struct
*/
/** @defgroup CORTEX_MPU_Region_Number CORTEX MPU Region Number
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define MPU_REGION_NUMBER0 ((uint8_t)0x00)
@@ -260,6 +275,7 @@ typedef struct
/* Exported Macros -----------------------------------------------------------*/
/** @defgroup CORTEX_Exported_Macros CORTEX Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -270,6 +286,7 @@ typedef struct
/** @defgroup CORTEX_CPU_Identifier CORTEX_CPU_Identifier
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define CM7_CPUID ((uint32_t)0x00000003)
@@ -335,6 +352,7 @@ uint32_t HAL_GetCurrentCPUID(void);
/* Private constants ---------------------------------------------------------*/
/* Private macros ------------------------------------------------------------*/
/** @defgroup CORTEX_Private_Macros CORTEX Private Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define IS_NVIC_PRIORITY_GROUP(GROUP) (((GROUP) == NVIC_PRIORITYGROUP_0) || \
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_hal_crc.h b/bsps/arm/stm32h7/include/stm32h7xx_hal_crc.h
index 224c8af85f..36c9144932 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_hal_crc.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_hal_crc.h
@@ -38,6 +38,7 @@ extern "C" {
/* Exported types ------------------------------------------------------------*/
/** @defgroup CRC_Exported_Types CRC Exported Types
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -125,10 +126,12 @@ typedef struct
/* Exported constants --------------------------------------------------------*/
/** @defgroup CRC_Exported_Constants CRC Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup CRC_Default_Polynomial_Value Default CRC generating polynomial
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DEFAULT_CRC32_POLY 0x04C11DB7U /*!< X^32 + X^26 + X^23 + X^22 + X^16 + X^12 + X^11 + X^10 +X^8 + X^7 + X^5 + X^4 + X^2+ X +1 */
@@ -137,6 +140,7 @@ typedef struct
*/
/** @defgroup CRC_Default_InitValue Default CRC computation initialization value
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DEFAULT_CRC_INITVALUE 0xFFFFFFFFU /*!< Initial CRC default value */
@@ -145,6 +149,7 @@ typedef struct
*/
/** @defgroup CRC_Default_Polynomial Indicates whether or not default polynomial is used
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DEFAULT_POLYNOMIAL_ENABLE ((uint8_t)0x00U) /*!< Enable default generating polynomial 0x04C11DB7 */
@@ -154,6 +159,7 @@ typedef struct
*/
/** @defgroup CRC_Default_InitValue_Use Indicates whether or not default init value is used
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DEFAULT_INIT_VALUE_ENABLE ((uint8_t)0x00U) /*!< Enable initial CRC default value */
@@ -163,6 +169,7 @@ typedef struct
*/
/** @defgroup CRC_Polynomial_Sizes Polynomial sizes to configure the peripheral
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define CRC_POLYLENGTH_32B 0x00000000U /*!< Resort to a 32-bit long generating polynomial */
@@ -174,6 +181,7 @@ typedef struct
*/
/** @defgroup CRC_Polynomial_Size_Definitions CRC polynomial possible sizes actual definitions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_CRC_LENGTH_32B 32U /*!< 32-bit long CRC */
@@ -185,6 +193,7 @@ typedef struct
*/
/** @defgroup CRC_Input_Buffer_Format Input Buffer Format
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/* WARNING: CRC_INPUT_FORMAT_UNDEFINED is created for reference purposes but
@@ -200,6 +209,7 @@ typedef struct
*/
/** @defgroup CRC_Aliases CRC API aliases
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_CRC_Input_Data_Reverse HAL_CRCEx_Input_Data_Reverse /*!< Aliased to HAL_CRCEx_Input_Data_Reverse for inter STM32 series compatibility */
@@ -214,6 +224,7 @@ typedef struct
/* Exported macros -----------------------------------------------------------*/
/** @defgroup CRC_Exported_Macros CRC Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -261,6 +272,7 @@ typedef struct
/* Private macros --------------------------------------------------------*/
/** @defgroup CRC_Private_Macros CRC Private Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -288,11 +300,13 @@ typedef struct
/* Exported functions --------------------------------------------------------*/
/** @defgroup CRC_Exported_Functions CRC Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/* Initialization and de-initialization functions ****************************/
/** @defgroup CRC_Exported_Functions_Group1 Initialization and de-initialization functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
HAL_StatusTypeDef HAL_CRC_Init(CRC_HandleTypeDef *hcrc);
@@ -305,6 +319,7 @@ void HAL_CRC_MspDeInit(CRC_HandleTypeDef *hcrc);
/* Peripheral Control functions ***********************************************/
/** @defgroup CRC_Exported_Functions_Group2 Peripheral Control functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
uint32_t HAL_CRC_Accumulate(CRC_HandleTypeDef *hcrc, uint32_t pBuffer[], uint32_t BufferLength);
@@ -315,6 +330,7 @@ uint32_t HAL_CRC_Calculate(CRC_HandleTypeDef *hcrc, uint32_t pBuffer[], uint32_t
/* Peripheral State and Error functions ***************************************/
/** @defgroup CRC_Exported_Functions_Group3 Peripheral State functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
HAL_CRC_StateTypeDef HAL_CRC_GetState(CRC_HandleTypeDef *hcrc);
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_hal_crc_ex.h b/bsps/arm/stm32h7/include/stm32h7xx_hal_crc_ex.h
index 915dbf24af..d2851fdda4 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_hal_crc_ex.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_hal_crc_ex.h
@@ -39,10 +39,12 @@ extern "C" {
/* Exported types ------------------------------------------------------------*/
/* Exported constants --------------------------------------------------------*/
/** @defgroup CRCEx_Exported_Constants CRC Extended Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup CRCEx_Input_Data_Inversion Input Data Inversion Modes
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define CRC_INPUTDATA_INVERSION_NONE 0x00000000U /*!< No input data inversion */
@@ -54,6 +56,7 @@ extern "C" {
*/
/** @defgroup CRCEx_Output_Data_Inversion Output Data Inversion Modes
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define CRC_OUTPUTDATA_INVERSION_DISABLE 0x00000000U /*!< No output data inversion */
@@ -68,6 +71,7 @@ extern "C" {
/* Exported macro ------------------------------------------------------------*/
/** @defgroup CRCEx_Exported_Macros CRC Extended Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -99,6 +103,7 @@ extern "C" {
/* Private macros --------------------------------------------------------*/
/** @defgroup CRCEx_Private_Macros CRC Extended Private Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_hal_cryp.h b/bsps/arm/stm32h7/include/stm32h7xx_hal_cryp.h
index 5c4741d8dc..7282ce09ae 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_hal_cryp.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_hal_cryp.h
@@ -39,6 +39,7 @@ extern "C" {
/* Exported types ------------------------------------------------------------*/
/** @defgroup CRYP_Exported_Types CRYP Exported Types
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -150,6 +151,7 @@ typedef struct
#if (USE_HAL_CRYP_REGISTER_CALLBACKS == 1)
/** @defgroup HAL_CRYP_Callback_ID_enumeration_definition HAL CRYP Callback ID enumeration definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief HAL CRYP Callback ID enumeration definition
* @{
*/
@@ -168,6 +170,7 @@ typedef enum
*/
/** @defgroup HAL_CRYP_Callback_pointer_definition HAL CRYP Callback pointer definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief HAL CRYP Callback pointer definition
* @{
*/
@@ -182,10 +185,12 @@ typedef void (*pCRYP_CallbackTypeDef)(CRYP_HandleTypeDef *hcryp); /*!< point
/* Exported constants --------------------------------------------------------*/
/** @defgroup CRYP_Exported_Constants CRYP Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup CRYP_Error_Definition CRYP Error Definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_CRYP_ERROR_NONE 0x00000000U /*!< No error */
@@ -206,6 +211,7 @@ typedef void (*pCRYP_CallbackTypeDef)(CRYP_HandleTypeDef *hcryp); /*!< point
/** @defgroup CRYP_Data_Width_Unit CRYP Data Width Unit
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -217,6 +223,7 @@ typedef void (*pCRYP_CallbackTypeDef)(CRYP_HandleTypeDef *hcryp); /*!< point
*/
/** @defgroup CRYP_Algorithm_Mode CRYP Algorithm Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -235,6 +242,7 @@ typedef void (*pCRYP_CallbackTypeDef)(CRYP_HandleTypeDef *hcryp); /*!< point
*/
/** @defgroup CRYP_Key_Size CRYP Key Size
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -247,6 +255,7 @@ typedef void (*pCRYP_CallbackTypeDef)(CRYP_HandleTypeDef *hcryp); /*!< point
*/
/** @defgroup CRYP_Data_Type CRYP Data Type
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -260,6 +269,7 @@ typedef void (*pCRYP_CallbackTypeDef)(CRYP_HandleTypeDef *hcryp); /*!< point
*/
/** @defgroup CRYP_Interrupt CRYP Interrupt
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -271,6 +281,7 @@ typedef void (*pCRYP_CallbackTypeDef)(CRYP_HandleTypeDef *hcryp); /*!< point
*/
/** @defgroup CRYP_Flags CRYP Flags
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -290,6 +301,7 @@ typedef void (*pCRYP_CallbackTypeDef)(CRYP_HandleTypeDef *hcryp); /*!< point
*/
/** @defgroup CRYP_Configuration_Skip CRYP Key and IV Configuration Skip Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -306,6 +318,7 @@ typedef void (*pCRYP_CallbackTypeDef)(CRYP_HandleTypeDef *hcryp); /*!< point
/* Exported macros -----------------------------------------------------------*/
/** @defgroup CRYP_Exported_Macros CRYP Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -394,6 +407,7 @@ typedef void (*pCRYP_CallbackTypeDef)(CRYP_HandleTypeDef *hcryp); /*!< point
/* Exported functions --------------------------------------------------------*/
/** @defgroup CRYP_Exported_Functions CRYP Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -455,10 +469,12 @@ uint32_t HAL_CRYP_GetError(CRYP_HandleTypeDef *hcryp);
/* Private macros --------------------------------------------------------*/
/** @defgroup CRYP_Private_Macros CRYP Private Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup CRYP_IS_CRYP_Definitions CRYP Private macros to check input parameters
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -495,6 +511,7 @@ uint32_t HAL_CRYP_GetError(CRYP_HandleTypeDef *hcryp);
/* Private constants ---------------------------------------------------------*/
/** @defgroup CRYP_Private_Constants CRYP Private Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -503,6 +520,7 @@ uint32_t HAL_CRYP_GetError(CRYP_HandleTypeDef *hcryp);
*/
/* Private defines -----------------------------------------------------------*/
/** @defgroup CRYP_Private_Defines CRYP Private Defines
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -512,6 +530,7 @@ uint32_t HAL_CRYP_GetError(CRYP_HandleTypeDef *hcryp);
/* Private variables ---------------------------------------------------------*/
/** @defgroup CRYP_Private_Variables CRYP Private Variables
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -520,6 +539,7 @@ uint32_t HAL_CRYP_GetError(CRYP_HandleTypeDef *hcryp);
*/
/* Private functions prototypes ----------------------------------------------*/
/** @defgroup CRYP_Private_Functions_Prototypes CRYP Private Functions Prototypes
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -529,6 +549,7 @@ uint32_t HAL_CRYP_GetError(CRYP_HandleTypeDef *hcryp);
/* Private functions ---------------------------------------------------------*/
/** @defgroup CRYP_Private_Functions CRYP Private Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_hal_cryp_ex.h b/bsps/arm/stm32h7/include/stm32h7xx_hal_cryp_ex.h
index 66b510e917..6e40732e6e 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_hal_cryp_ex.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_hal_cryp_ex.h
@@ -41,6 +41,7 @@ extern "C" {
/* Private types -------------------------------------------------------------*/
/** @defgroup CRYPEx_Private_Types CRYPEx Private Types
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -50,6 +51,7 @@ extern "C" {
/* Private variables ---------------------------------------------------------*/
/** @defgroup CRYPEx_Private_Variables CRYPEx Private Variables
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -59,6 +61,7 @@ extern "C" {
/* Private constants ---------------------------------------------------------*/
/** @defgroup CRYPEx_Private_Constants CRYPEx Private Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -68,6 +71,7 @@ extern "C" {
/* Private macros ------------------------------------------------------------*/
/** @defgroup CRYPEx_Private_Macros CRYPEx Private Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -77,6 +81,7 @@ extern "C" {
/* Private functions ---------------------------------------------------------*/
/** @defgroup CRYPEx_Private_Functions CRYPEx Private Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -86,6 +91,7 @@ extern "C" {
/* Exported functions --------------------------------------------------------*/
/** @defgroup CRYPEx_Exported_Functions CRYPEx Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_hal_dac.h b/bsps/arm/stm32h7/include/stm32h7xx_hal_dac.h
index b6debe3361..f5dbd28776 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_hal_dac.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_hal_dac.h
@@ -41,6 +41,7 @@ extern "C" {
/* Exported types ------------------------------------------------------------*/
/** @defgroup DAC_Exported_Types DAC Exported Types
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -173,10 +174,12 @@ typedef void (*pDAC_CallbackTypeDef)(DAC_HandleTypeDef *hdac);
/* Exported constants --------------------------------------------------------*/
/** @defgroup DAC_Exported_Constants DAC Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup DAC_Error_Code DAC Error Code
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_DAC_ERROR_NONE 0x00U /*!< No error */
@@ -193,6 +196,7 @@ typedef void (*pDAC_CallbackTypeDef)(DAC_HandleTypeDef *hdac);
*/
/** @defgroup DAC_trigger_selection DAC trigger selection
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DAC_TRIGGER_NONE 0x00000000U /*!< Conversion is automatic once the DAC_DHRxxxx register has been loaded, and not by external trigger */
@@ -227,6 +231,7 @@ typedef void (*pDAC_CallbackTypeDef)(DAC_HandleTypeDef *hdac);
*/
/** @defgroup DAC_output_buffer DAC output buffer
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DAC_OUTPUTBUFFER_ENABLE 0x00000000U
@@ -237,6 +242,7 @@ typedef void (*pDAC_CallbackTypeDef)(DAC_HandleTypeDef *hdac);
*/
/** @defgroup DAC_Channel_selection DAC Channel selection
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DAC_CHANNEL_1 0x00000000U
@@ -246,6 +252,7 @@ typedef void (*pDAC_CallbackTypeDef)(DAC_HandleTypeDef *hdac);
*/
/** @defgroup DAC_data_alignment DAC data alignment
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DAC_ALIGN_12B_R 0x00000000U
@@ -257,6 +264,7 @@ typedef void (*pDAC_CallbackTypeDef)(DAC_HandleTypeDef *hdac);
*/
/** @defgroup DAC_flags_definition DAC flags definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DAC_FLAG_DMAUDR1 (DAC_SR_DMAUDR1)
@@ -267,6 +275,7 @@ typedef void (*pDAC_CallbackTypeDef)(DAC_HandleTypeDef *hdac);
*/
/** @defgroup DAC_IT_definition DAC IT definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DAC_IT_DMAUDR1 (DAC_SR_DMAUDR1)
@@ -277,6 +286,7 @@ typedef void (*pDAC_CallbackTypeDef)(DAC_HandleTypeDef *hdac);
*/
/** @defgroup DAC_ConnectOnChipPeripheral DAC ConnectOnChipPeripheral
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DAC_CHIPCONNECT_EXTERNAL (1UL << 0)
@@ -288,6 +298,7 @@ typedef void (*pDAC_CallbackTypeDef)(DAC_HandleTypeDef *hdac);
*/
/** @defgroup DAC_UserTrimming DAC User Trimming
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DAC_TRIMMING_FACTORY (0x00000000UL) /*!< Factory trimming */
@@ -297,6 +308,7 @@ typedef void (*pDAC_CallbackTypeDef)(DAC_HandleTypeDef *hdac);
*/
/** @defgroup DAC_SampleAndHold DAC power mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DAC_SAMPLEANDHOLD_DISABLE (0x00000000UL)
@@ -312,6 +324,7 @@ typedef void (*pDAC_CallbackTypeDef)(DAC_HandleTypeDef *hdac);
/* Exported macro ------------------------------------------------------------*/
/** @defgroup DAC_Exported_Macros DAC Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -420,6 +433,7 @@ typedef void (*pDAC_CallbackTypeDef)(DAC_HandleTypeDef *hdac);
/* Private macro -------------------------------------------------------------*/
/** @defgroup DAC_Private_Macros DAC Private Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define IS_DAC_OUTPUT_BUFFER_STATE(STATE) (((STATE) == DAC_OUTPUTBUFFER_ENABLE) || \
@@ -516,6 +530,7 @@ uint32_t HAL_DAC_GetError(DAC_HandleTypeDef *hdac);
*/
/** @defgroup DAC_Private_Functions DAC Private Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
void DAC_DMAConvCpltCh1(DMA_HandleTypeDef *hdma);
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_hal_dac_ex.h b/bsps/arm/stm32h7/include/stm32h7xx_hal_dac_ex.h
index f98c28ed3b..4619beaceb 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_hal_dac_ex.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_hal_dac_ex.h
@@ -47,10 +47,12 @@ extern "C" {
/* Exported constants --------------------------------------------------------*/
/** @defgroup DACEx_Exported_Constants DACEx Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup DACEx_lfsrunmask_triangleamplitude DACEx lfsrunmask triangle amplitude
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DAC_LFSRUNMASK_BIT0 0x00000000UL /*!< Unmask DAC channel LFSR bit0 for noise wave generation */
@@ -92,6 +94,7 @@ extern "C" {
/* Private macro -------------------------------------------------------------*/
/** @defgroup DACEx_Private_Macros DACEx Private Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined(HRTIM1)
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_hal_dcmi.h b/bsps/arm/stm32h7/include/stm32h7xx_hal_dcmi.h
index d592e61248..bd9415b96a 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_hal_dcmi.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_hal_dcmi.h
@@ -40,6 +40,7 @@
/* Exported types ------------------------------------------------------------*/
/** @defgroup DCMI_Exported_Types DCMI Exported Types
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/**
@@ -184,10 +185,12 @@ typedef void (*pDCMI_CallbackTypeDef)(DCMI_HandleTypeDef * hdcmi); /*!< pointer
/* Exported constants --------------------------------------------------------*/
/** @defgroup DCMI_Exported_Constants DCMI Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup DCMI_Error_Code DCMI Error Code
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_DCMI_ERROR_NONE (0x00000000U) /*!< No error */
@@ -203,6 +206,7 @@ typedef void (*pDCMI_CallbackTypeDef)(DCMI_HandleTypeDef * hdcmi); /*!< pointer
*/
/** @defgroup DCMI_Capture_Mode DCMI Capture Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DCMI_MODE_CONTINUOUS (0x00000000U) /*!< The received data are transferred continuously
@@ -214,6 +218,7 @@ typedef void (*pDCMI_CallbackTypeDef)(DCMI_HandleTypeDef * hdcmi); /*!< pointer
*/
/** @defgroup DCMI_Synchronization_Mode DCMI Synchronization Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DCMI_SYNCHRO_HARDWARE (0x00000000U) /*!< Hardware synchronization data capture (frame/line start/stop)
@@ -226,6 +231,7 @@ typedef void (*pDCMI_CallbackTypeDef)(DCMI_HandleTypeDef * hdcmi); /*!< pointer
*/
/** @defgroup DCMI_PIXCK_Polarity DCMI PIXCK Polarity
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DCMI_PCKPOLARITY_FALLING (0x00000000U) /*!< Pixel clock active on Falling edge */
@@ -236,6 +242,7 @@ typedef void (*pDCMI_CallbackTypeDef)(DCMI_HandleTypeDef * hdcmi); /*!< pointer
*/
/** @defgroup DCMI_VSYNC_Polarity DCMI VSYNC Polarity
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DCMI_VSPOLARITY_LOW (0x00000000U) /*!< Vertical synchronization active Low */
@@ -246,6 +253,7 @@ typedef void (*pDCMI_CallbackTypeDef)(DCMI_HandleTypeDef * hdcmi); /*!< pointer
*/
/** @defgroup DCMI_HSYNC_Polarity DCMI HSYNC Polarity
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DCMI_HSPOLARITY_LOW (0x00000000U) /*!< Horizontal synchronization active Low */
@@ -256,6 +264,7 @@ typedef void (*pDCMI_CallbackTypeDef)(DCMI_HandleTypeDef * hdcmi); /*!< pointer
*/
/** @defgroup DCMI_MODE_JPEG DCMI MODE JPEG
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DCMI_JPEG_DISABLE (0x00000000U) /*!< Mode JPEG Disabled */
@@ -266,6 +275,7 @@ typedef void (*pDCMI_CallbackTypeDef)(DCMI_HandleTypeDef * hdcmi); /*!< pointer
*/
/** @defgroup DCMI_Capture_Rate DCMI Capture Rate
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DCMI_CR_ALL_FRAME (0x00000000U) /*!< All frames are captured */
@@ -277,6 +287,7 @@ typedef void (*pDCMI_CallbackTypeDef)(DCMI_HandleTypeDef * hdcmi); /*!< pointer
*/
/** @defgroup DCMI_Extended_Data_Mode DCMI Extended Data Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DCMI_EXTEND_DATA_8B (0x00000000U) /*!< Interface captures 8-bit data on every pixel clock */
@@ -289,6 +300,7 @@ typedef void (*pDCMI_CallbackTypeDef)(DCMI_HandleTypeDef * hdcmi); /*!< pointer
*/
/** @defgroup DCMI_Window_Coordinate DCMI Window Coordinate
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DCMI_WINDOW_COORDINATE (0x3FFFU) /*!< Window coordinate */
@@ -298,6 +310,7 @@ typedef void (*pDCMI_CallbackTypeDef)(DCMI_HandleTypeDef * hdcmi); /*!< pointer
*/
/** @defgroup DCMI_Window_Height DCMI Window Height
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DCMI_WINDOW_HEIGHT (0x1FFFU) /*!< Window Height */
@@ -307,6 +320,7 @@ typedef void (*pDCMI_CallbackTypeDef)(DCMI_HandleTypeDef * hdcmi); /*!< pointer
*/
/** @defgroup DCMI_interrupt_sources DCMI interrupt sources
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DCMI_IT_FRAME ((uint32_t)DCMI_IER_FRAME_IE) /*!< Capture complete interrupt */
@@ -319,6 +333,7 @@ typedef void (*pDCMI_CallbackTypeDef)(DCMI_HandleTypeDef * hdcmi); /*!< pointer
*/
/** @defgroup DCMI_Flags DCMI Flags
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -349,6 +364,7 @@ typedef void (*pDCMI_CallbackTypeDef)(DCMI_HandleTypeDef * hdcmi); /*!< pointer
*/
/** @defgroup DCMI_Byte_Select_Mode DCMI Byte Select Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DCMI_BSM_ALL (0x00000000U) /*!< Interface captures all received data */
@@ -361,6 +377,7 @@ typedef void (*pDCMI_CallbackTypeDef)(DCMI_HandleTypeDef * hdcmi); /*!< pointer
*/
/** @defgroup DCMI_Byte_Select_Start DCMI Byte Select Start
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DCMI_OEBS_ODD (0x00000000U) /*!< Interface captures first data from the frame/line start, second one being dropped */
@@ -371,6 +388,7 @@ typedef void (*pDCMI_CallbackTypeDef)(DCMI_HandleTypeDef * hdcmi); /*!< pointer
*/
/** @defgroup DCMI_Line_Select_Mode DCMI Line Select Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DCMI_LSM_ALL (0x00000000U) /*!< Interface captures all received lines */
@@ -381,6 +399,7 @@ typedef void (*pDCMI_CallbackTypeDef)(DCMI_HandleTypeDef * hdcmi); /*!< pointer
*/
/** @defgroup DCMI_Line_Select_Start DCMI Line Select Start
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DCMI_OELS_ODD (0x00000000U) /*!< Interface captures first line from the frame start, second one being dropped */
@@ -396,6 +415,7 @@ typedef void (*pDCMI_CallbackTypeDef)(DCMI_HandleTypeDef * hdcmi); /*!< pointer
/* Exported macro ------------------------------------------------------------*/
/** @defgroup DCMI_Exported_Macros DCMI Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -584,6 +604,7 @@ uint32_t HAL_DCMI_GetError(DCMI_HandleTypeDef *hdcmi);
/* Private variables ---------------------------------------------------------*/
/* Private constants ---------------------------------------------------------*/
/** @defgroup DCMI_Private_Constants DCMI Private Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DCMI_MIS_INDEX ((uint32_t)0x1000) /*!< DCMI MIS register index */
@@ -593,6 +614,7 @@ uint32_t HAL_DCMI_GetError(DCMI_HandleTypeDef *hdcmi);
*/
/* Private macro -------------------------------------------------------------*/
/** @defgroup DCMI_Private_Macros DCMI Private Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define IS_DCMI_CAPTURE_MODE(MODE)(((MODE) == DCMI_MODE_CONTINUOUS) || \
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_hal_dfsdm.h b/bsps/arm/stm32h7/include/stm32h7xx_hal_dfsdm.h
index c5c9215983..e621873b52 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_hal_dfsdm.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_hal_dfsdm.h
@@ -38,6 +38,7 @@
/* Exported types ------------------------------------------------------------*/
/** @defgroup DFSDM_Exported_Types DFSDM Exported Types
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -296,10 +297,12 @@ typedef void (*pDFSDM_Filter_AwdCallbackTypeDef)(DFSDM_Filter_HandleTypeDef *hdf
/* Exported constants --------------------------------------------------------*/
/** @defgroup DFSDM_Exported_Constants DFSDM Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup DFSDM_Channel_OuputClock DFSDM channel output clock selection
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DFSDM_CHANNEL_OUTPUT_CLOCK_SYSTEM 0x00000000U /*!< Source for ouput clock is system clock */
@@ -309,6 +312,7 @@ typedef void (*pDFSDM_Filter_AwdCallbackTypeDef)(DFSDM_Filter_HandleTypeDef *hdf
*/
/** @defgroup DFSDM_Channel_InputMultiplexer DFSDM channel input multiplexer
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DFSDM_CHANNEL_EXTERNAL_INPUTS 0x00000000U /*!< Data are taken from external inputs */
@@ -319,6 +323,7 @@ typedef void (*pDFSDM_Filter_AwdCallbackTypeDef)(DFSDM_Filter_HandleTypeDef *hdf
*/
/** @defgroup DFSDM_Channel_DataPacking DFSDM channel input data packing
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DFSDM_CHANNEL_STANDARD_MODE 0x00000000U /*!< Standard data packing mode */
@@ -329,6 +334,7 @@ typedef void (*pDFSDM_Filter_AwdCallbackTypeDef)(DFSDM_Filter_HandleTypeDef *hdf
*/
/** @defgroup DFSDM_Channel_InputPins DFSDM channel input pins
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DFSDM_CHANNEL_SAME_CHANNEL_PINS 0x00000000U /*!< Input from pins on same channel */
@@ -338,6 +344,7 @@ typedef void (*pDFSDM_Filter_AwdCallbackTypeDef)(DFSDM_Filter_HandleTypeDef *hdf
*/
/** @defgroup DFSDM_Channel_SerialInterfaceType DFSDM channel serial interface type
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DFSDM_CHANNEL_SPI_RISING 0x00000000U /*!< SPI with rising edge */
@@ -349,6 +356,7 @@ typedef void (*pDFSDM_Filter_AwdCallbackTypeDef)(DFSDM_Filter_HandleTypeDef *hdf
*/
/** @defgroup DFSDM_Channel_SpiClock DFSDM channel SPI clock selection
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DFSDM_CHANNEL_SPI_CLOCK_EXTERNAL 0x00000000U /*!< External SPI clock */
@@ -360,6 +368,7 @@ typedef void (*pDFSDM_Filter_AwdCallbackTypeDef)(DFSDM_Filter_HandleTypeDef *hdf
*/
/** @defgroup DFSDM_Channel_AwdFilterOrder DFSDM channel analog watchdog filter order
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DFSDM_CHANNEL_FASTSINC_ORDER 0x00000000U /*!< FastSinc filter type */
@@ -371,6 +380,7 @@ typedef void (*pDFSDM_Filter_AwdCallbackTypeDef)(DFSDM_Filter_HandleTypeDef *hdf
*/
/** @defgroup DFSDM_Filter_Trigger DFSDM filter conversion trigger
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DFSDM_FILTER_SW_TRIGGER 0x00000000U /*!< Software trigger */
@@ -381,6 +391,7 @@ typedef void (*pDFSDM_Filter_AwdCallbackTypeDef)(DFSDM_Filter_HandleTypeDef *hdf
*/
/** @defgroup DFSDM_Filter_ExtTrigger DFSDM filter external trigger
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DFSDM_FILTER_EXT_TRIG_TIM1_TRGO 0x00000000U /*!< For all DFSDM filters */
@@ -410,6 +421,7 @@ typedef void (*pDFSDM_Filter_AwdCallbackTypeDef)(DFSDM_Filter_HandleTypeDef *hdf
*/
/** @defgroup DFSDM_Filter_ExtTriggerEdge DFSDM filter external trigger edge
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DFSDM_FILTER_EXT_TRIG_RISING_EDGE DFSDM_FLTCR1_JEXTEN_0 /*!< External rising edge */
@@ -420,6 +432,7 @@ typedef void (*pDFSDM_Filter_AwdCallbackTypeDef)(DFSDM_Filter_HandleTypeDef *hdf
*/
/** @defgroup DFSDM_Filter_SincOrder DFSDM filter sinc order
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DFSDM_FILTER_FASTSINC_ORDER 0x00000000U /*!< FastSinc filter type */
@@ -433,6 +446,7 @@ typedef void (*pDFSDM_Filter_AwdCallbackTypeDef)(DFSDM_Filter_HandleTypeDef *hdf
*/
/** @defgroup DFSDM_Filter_AwdDataSource DFSDM filter analog watchdog data source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DFSDM_FILTER_AWD_FILTER_DATA 0x00000000U /*!< From digital filter */
@@ -442,6 +456,7 @@ typedef void (*pDFSDM_Filter_AwdCallbackTypeDef)(DFSDM_Filter_HandleTypeDef *hdf
*/
/** @defgroup DFSDM_Filter_ErrorCode DFSDM filter error code
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DFSDM_FILTER_ERROR_NONE 0x00000000U /*!< No error */
@@ -456,6 +471,7 @@ typedef void (*pDFSDM_Filter_AwdCallbackTypeDef)(DFSDM_Filter_HandleTypeDef *hdf
*/
/** @defgroup DFSDM_BreakSignals DFSDM break signals
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DFSDM_NO_BREAK_SIGNAL 0x00000000U /*!< No break signal */
@@ -468,6 +484,7 @@ typedef void (*pDFSDM_Filter_AwdCallbackTypeDef)(DFSDM_Filter_HandleTypeDef *hdf
*/
/** @defgroup DFSDM_Channel_Selection DFSDM Channel Selection
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/* DFSDM Channels ------------------------------------------------------------*/
@@ -491,6 +508,7 @@ typedef void (*pDFSDM_Filter_AwdCallbackTypeDef)(DFSDM_Filter_HandleTypeDef *hdf
*/
/** @defgroup DFSDM_ContinuousMode DFSDM Continuous Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DFSDM_CONTINUOUS_CONV_OFF 0x00000000U /*!< Conversion are not continuous */
@@ -500,6 +518,7 @@ typedef void (*pDFSDM_Filter_AwdCallbackTypeDef)(DFSDM_Filter_HandleTypeDef *hdf
*/
/** @defgroup DFSDM_AwdThreshold DFSDM analog watchdog threshold
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DFSDM_AWD_HIGH_THRESHOLD 0x00000000U /*!< Analog watchdog high threshold */
@@ -515,6 +534,7 @@ typedef void (*pDFSDM_Filter_AwdCallbackTypeDef)(DFSDM_Filter_HandleTypeDef *hdf
/* Exported macros -----------------------------------------------------------*/
/** @defgroup DFSDM_Exported_Macros DFSDM Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -609,6 +629,7 @@ void HAL_DFSDM_ChannelScdCallback(DFSDM_Channel_HandleTypeDef *hdfsdm_channel);
*/
/** @defgroup DFSDM_Exported_Functions_Group3_Channel Channel state function
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/* Channel state function *****************************************************/
@@ -700,6 +721,7 @@ void HAL_DFSDM_FilterErrorCallback(DFSDM_Filter_HandleTypeDef *hdfsdm_filter);
*/
/** @defgroup DFSDM_Exported_Functions_Group4_Filter Filter state functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/* Filter state functions *****************************************************/
@@ -716,6 +738,7 @@ uint32_t HAL_DFSDM_FilterGetError(DFSDM_Filter_HandleTypeDe
/* Private macros ------------------------------------------------------------*/
/** @defgroup DFSDM_Private_Macros DFSDM Private Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define IS_DFSDM_CHANNEL_OUTPUT_CLOCK(CLOCK) (((CLOCK) == DFSDM_CHANNEL_OUTPUT_CLOCK_SYSTEM) || \
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_hal_dma.h b/bsps/arm/stm32h7/include/stm32h7xx_hal_dma.h
index 36d553b0a6..0f86c57123 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_hal_dma.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_hal_dma.h
@@ -39,6 +39,7 @@
/* Exported types ------------------------------------------------------------*/
/** @defgroup DMA_Exported_Types DMA Exported Types
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief DMA Exported Types
* @{
*/
@@ -187,11 +188,13 @@ typedef struct __DMA_HandleTypeDef
/* Exported constants --------------------------------------------------------*/
/** @defgroup DMA_Exported_Constants DMA Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief DMA Exported constants
* @{
*/
/** @defgroup DMA_Error_Code DMA Error Code
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief DMA Error Code
* @{
*/
@@ -212,6 +215,7 @@ typedef struct __DMA_HandleTypeDef
*/
/** @defgroup DMA_Request_selection DMA Request selection
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief DMA Request selection
* @{
*/
@@ -421,6 +425,7 @@ typedef struct __DMA_HandleTypeDef
*/
/** @defgroup DMA_Data_transfer_direction DMA Data transfer direction
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief DMA data transfer direction
* @{
*/
@@ -432,6 +437,7 @@ typedef struct __DMA_HandleTypeDef
*/
/** @defgroup DMA_Peripheral_incremented_mode DMA Peripheral incremented mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief DMA peripheral incremented mode
* @{
*/
@@ -442,6 +448,7 @@ typedef struct __DMA_HandleTypeDef
*/
/** @defgroup DMA_Memory_incremented_mode DMA Memory incremented mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief DMA memory incremented mode
* @{
*/
@@ -452,6 +459,7 @@ typedef struct __DMA_HandleTypeDef
*/
/** @defgroup DMA_Peripheral_data_size DMA Peripheral data size
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief DMA peripheral data size
* @{
*/
@@ -463,6 +471,7 @@ typedef struct __DMA_HandleTypeDef
*/
/** @defgroup DMA_Memory_data_size DMA Memory data size
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief DMA memory data size
* @{
*/
@@ -474,6 +483,7 @@ typedef struct __DMA_HandleTypeDef
*/
/** @defgroup DMA_mode DMA mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief DMA mode
* @{
*/
@@ -487,6 +497,7 @@ typedef struct __DMA_HandleTypeDef
*/
/** @defgroup DMA_Priority_level DMA Priority level
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief DMA priority levels
* @{
*/
@@ -499,6 +510,7 @@ typedef struct __DMA_HandleTypeDef
*/
/** @defgroup DMA_FIFO_direct_mode DMA FIFO direct mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief DMA FIFO direct mode
* @{
*/
@@ -509,6 +521,7 @@ typedef struct __DMA_HandleTypeDef
*/
/** @defgroup DMA_FIFO_threshold_level DMA FIFO threshold level
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief DMA FIFO level
* @{
*/
@@ -521,6 +534,7 @@ typedef struct __DMA_HandleTypeDef
*/
/** @defgroup DMA_Memory_burst DMA Memory burst
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief DMA memory burst
* @{
*/
@@ -533,6 +547,7 @@ typedef struct __DMA_HandleTypeDef
*/
/** @defgroup DMA_Peripheral_burst DMA Peripheral burst
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief DMA peripheral burst
* @{
*/
@@ -545,6 +560,7 @@ typedef struct __DMA_HandleTypeDef
*/
/** @defgroup DMA_interrupt_enable_definitions DMA interrupt enable definitions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief DMA interrupts definition
* @{
*/
@@ -558,6 +574,7 @@ typedef struct __DMA_HandleTypeDef
*/
/** @defgroup DMA_flag_definitions DMA flag definitions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief DMA flag definitions
* @{
*/
@@ -586,6 +603,7 @@ typedef struct __DMA_HandleTypeDef
*/
/** @defgroup BDMA_flag_definitions BDMA flag definitions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief BDMA flag definitions
* @{
*/
@@ -632,6 +650,7 @@ typedef struct __DMA_HandleTypeDef
/* Exported macro ------------------------------------------------------------*/
/** @defgroup DMA_Exported_Macros DMA Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -1142,11 +1161,13 @@ typedef struct __DMA_HandleTypeDef
/* Exported functions --------------------------------------------------------*/
/** @defgroup DMA_Exported_Functions DMA Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief DMA Exported functions
* @{
*/
/** @defgroup DMA_Exported_Functions_Group1 Initialization and de-initialization functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Initialization and de-initialization functions
* @{
*/
@@ -1157,6 +1178,7 @@ HAL_StatusTypeDef HAL_DMA_DeInit(DMA_HandleTypeDef *hdma);
*/
/** @defgroup DMA_Exported_Functions_Group2 I/O operation functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief I/O operation functions
* @{
*/
@@ -1174,6 +1196,7 @@ HAL_StatusTypeDef HAL_DMA_UnRegisterCallback(DMA_HandleTypeDef *hdma, HAL_DMA_Ca
*/
/** @defgroup DMA_Exported_Functions_Group3 Peripheral State functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Peripheral State functions
* @{
*/
@@ -1187,6 +1210,7 @@ uint32_t HAL_DMA_GetError(DMA_HandleTypeDef *hdma);
*/
/* Private Constants -------------------------------------------------------------*/
/** @defgroup DMA_Private_Constants DMA Private Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief DMA private defines and constants
* @{
*/
@@ -1196,6 +1220,7 @@ uint32_t HAL_DMA_GetError(DMA_HandleTypeDef *hdma);
/* Private macros ------------------------------------------------------------*/
/** @defgroup DMA_Private_Macros DMA Private Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief DMA private macros
* @{
*/
@@ -1266,6 +1291,7 @@ uint32_t HAL_DMA_GetError(DMA_HandleTypeDef *hdma);
/* Private functions ---------------------------------------------------------*/
/** @defgroup DMA_Private_Functions DMA Private Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief DMA private functions
* @{
*/
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_hal_dma2d.h b/bsps/arm/stm32h7/include/stm32h7xx_hal_dma2d.h
index 28ca638beb..7a19a59d45 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_hal_dma2d.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_hal_dma2d.h
@@ -41,6 +41,7 @@
/* Exported types ------------------------------------------------------------*/
/** @defgroup DMA2D_Exported_Types DMA2D Exported Types
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define MAX_DMA2D_LAYER 2U /*!< DMA2D maximum number of layers */
@@ -180,10 +181,12 @@ typedef void (*pDMA2D_CallbackTypeDef)(DMA2D_HandleTypeDef * hdma2d); /*!< Poin
/* Exported constants --------------------------------------------------------*/
/** @defgroup DMA2D_Exported_Constants DMA2D Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup DMA2D_Error_Code DMA2D Error Code
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_DMA2D_ERROR_NONE 0x00000000U /*!< No error */
@@ -200,6 +203,7 @@ typedef void (*pDMA2D_CallbackTypeDef)(DMA2D_HandleTypeDef * hdma2d); /*!< Poin
*/
/** @defgroup DMA2D_Mode DMA2D Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DMA2D_M2M 0x00000000U /*!< DMA2D memory to memory transfer mode */
@@ -213,6 +217,7 @@ typedef void (*pDMA2D_CallbackTypeDef)(DMA2D_HandleTypeDef * hdma2d); /*!< Poin
*/
/** @defgroup DMA2D_Output_Color_Mode DMA2D Output Color Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DMA2D_OUTPUT_ARGB8888 0x00000000U /*!< ARGB8888 DMA2D color mode */
@@ -225,6 +230,7 @@ typedef void (*pDMA2D_CallbackTypeDef)(DMA2D_HandleTypeDef * hdma2d); /*!< Poin
*/
/** @defgroup DMA2D_Input_Color_Mode DMA2D Input Color Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DMA2D_INPUT_ARGB8888 0x00000000U /*!< ARGB8888 color mode */
@@ -244,6 +250,7 @@ typedef void (*pDMA2D_CallbackTypeDef)(DMA2D_HandleTypeDef * hdma2d); /*!< Poin
*/
/** @defgroup DMA2D_Alpha_Mode DMA2D Alpha Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DMA2D_NO_MODIF_ALPHA 0x00000000U /*!< No modification of the alpha channel value */
@@ -255,6 +262,7 @@ typedef void (*pDMA2D_CallbackTypeDef)(DMA2D_HandleTypeDef * hdma2d); /*!< Poin
*/
/** @defgroup DMA2D_Alpha_Inverted DMA2D Alpha Inversion
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DMA2D_REGULAR_ALPHA 0x00000000U /*!< No modification of the alpha channel value */
@@ -264,6 +272,7 @@ typedef void (*pDMA2D_CallbackTypeDef)(DMA2D_HandleTypeDef * hdma2d); /*!< Poin
*/
/** @defgroup DMA2D_RB_Swap DMA2D Red and Blue Swap
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DMA2D_RB_REGULAR 0x00000000U /*!< Select regular mode (RGB or ARGB) */
@@ -275,6 +284,7 @@ typedef void (*pDMA2D_CallbackTypeDef)(DMA2D_HandleTypeDef * hdma2d); /*!< Poin
/** @defgroup DMA2D_Line_Offset_Mode DMA2D Line Offset Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DMA2D_LOM_PIXELS 0x00000000U /*!< Line offsets expressed in pixels */
@@ -284,6 +294,7 @@ typedef void (*pDMA2D_CallbackTypeDef)(DMA2D_HandleTypeDef * hdma2d); /*!< Poin
*/
/** @defgroup DMA2D_Bytes_Swap DMA2D Bytes Swap
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DMA2D_BYTES_REGULAR 0x00000000U /*!< Bytes in regular order in output FIFO */
@@ -293,6 +304,7 @@ typedef void (*pDMA2D_CallbackTypeDef)(DMA2D_HandleTypeDef * hdma2d); /*!< Poin
*/
/** @defgroup DMA2D_Chroma_Sub_Sampling DMA2D Chroma Sub Sampling
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DMA2D_NO_CSS 0x00000000U /*!< No chroma sub-sampling 4:4:4 */
@@ -303,6 +315,7 @@ typedef void (*pDMA2D_CallbackTypeDef)(DMA2D_HandleTypeDef * hdma2d); /*!< Poin
*/
/** @defgroup DMA2D_CLUT_CM DMA2D CLUT Color Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DMA2D_CCM_ARGB8888 0x00000000U /*!< ARGB8888 DMA2D CLUT color mode */
@@ -312,6 +325,7 @@ typedef void (*pDMA2D_CallbackTypeDef)(DMA2D_HandleTypeDef * hdma2d); /*!< Poin
*/
/** @defgroup DMA2D_Interrupts DMA2D Interrupts
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DMA2D_IT_CE DMA2D_CR_CEIE /*!< Configuration Error Interrupt */
@@ -325,6 +339,7 @@ typedef void (*pDMA2D_CallbackTypeDef)(DMA2D_HandleTypeDef * hdma2d); /*!< Poin
*/
/** @defgroup DMA2D_Flags DMA2D Flags
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DMA2D_FLAG_CE DMA2D_ISR_CEIF /*!< Configuration Error Interrupt Flag */
@@ -338,6 +353,7 @@ typedef void (*pDMA2D_CallbackTypeDef)(DMA2D_HandleTypeDef * hdma2d); /*!< Poin
*/
/** @defgroup DMA2D_Aliases DMA2D API Aliases
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_DMA2D_DisableCLUT HAL_DMA2D_CLUTLoading_Abort /*!< Aliased to HAL_DMA2D_CLUTLoading_Abort for compatibility with legacy code */
@@ -366,6 +382,7 @@ typedef enum
*/
/* Exported macros ------------------------------------------------------------*/
/** @defgroup DMA2D_Exported_Macros DMA2D Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -565,6 +582,7 @@ uint32_t HAL_DMA2D_GetError(DMA2D_HandleTypeDef *hdma2d);
*/
/** @defgroup DMA2D_Maximum_Line_WaterMark DMA2D Maximum Line Watermark
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DMA2D_LINE_WATERMARK_MAX DMA2D_LWR_LW /*!< DMA2D maximum line watermark */
@@ -573,6 +591,7 @@ uint32_t HAL_DMA2D_GetError(DMA2D_HandleTypeDef *hdma2d);
*/
/** @defgroup DMA2D_Color_Value DMA2D Color Value
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DMA2D_COLOR_VALUE 0x000000FFU /*!< Color value mask */
@@ -581,6 +600,7 @@ uint32_t HAL_DMA2D_GetError(DMA2D_HandleTypeDef *hdma2d);
*/
/** @defgroup DMA2D_Max_Layer DMA2D Maximum Number of Layers
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DMA2D_MAX_LAYER 2U /*!< DMA2D maximum number of layers */
@@ -589,6 +609,7 @@ uint32_t HAL_DMA2D_GetError(DMA2D_HandleTypeDef *hdma2d);
*/
/** @defgroup DMA2D_Layers DMA2D Layers
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DMA2D_BACKGROUND_LAYER 0x00000000U /*!< DMA2D Background Layer (layer 0) */
@@ -598,6 +619,7 @@ uint32_t HAL_DMA2D_GetError(DMA2D_HandleTypeDef *hdma2d);
*/
/** @defgroup DMA2D_Offset DMA2D Offset
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DMA2D_OFFSET DMA2D_FGOR_LO /*!< maximum Line Offset */
@@ -606,6 +628,7 @@ uint32_t HAL_DMA2D_GetError(DMA2D_HandleTypeDef *hdma2d);
*/
/** @defgroup DMA2D_Size DMA2D Size
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DMA2D_PIXEL (DMA2D_NLR_PL >> 16U) /*!< DMA2D maximum number of pixels per line */
@@ -615,6 +638,7 @@ uint32_t HAL_DMA2D_GetError(DMA2D_HandleTypeDef *hdma2d);
*/
/** @defgroup DMA2D_CLUT_Size DMA2D CLUT Size
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DMA2D_CLUT_SIZE (DMA2D_FGPFCCR_CS >> 8U) /*!< DMA2D maximum CLUT size */
@@ -629,6 +653,7 @@ uint32_t HAL_DMA2D_GetError(DMA2D_HandleTypeDef *hdma2d);
/* Private macros ------------------------------------------------------------*/
/** @defgroup DMA2D_Private_Macros DMA2D Private Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define IS_DMA2D_LAYER(LAYER) (((LAYER) == DMA2D_BACKGROUND_LAYER) || ((LAYER) == DMA2D_FOREGROUND_LAYER))
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_hal_dma_ex.h b/bsps/arm/stm32h7/include/stm32h7xx_hal_dma_ex.h
index 4125ae7e6c..fedf61187d 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_hal_dma_ex.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_hal_dma_ex.h
@@ -38,6 +38,7 @@
/* Exported types ------------------------------------------------------------*/
/** @defgroup DMAEx_Exported_Types DMAEx Exported Types
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief DMAEx Exported types
* @{
*/
@@ -99,11 +100,13 @@ typedef struct
/* Exported constants --------------------------------------------------------*/
/** @defgroup DMAEx_Exported_Constants DMA Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief DMAEx Exported constants
* @{
*/
/** @defgroup DMAEx_MUX_SyncSignalID_selection DMAEx MUX SyncSignalID selection
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief DMAEx MUX SyncSignalID selection
* @{
*/
@@ -138,6 +141,7 @@ typedef struct
*/
/** @defgroup DMAEx_MUX_SyncPolarity_selection DMAEx MUX SyncPolarity selection
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief DMAEx MUX SyncPolarity selection
* @{
*/
@@ -152,6 +156,7 @@ typedef struct
/** @defgroup DMAEx_MUX_SignalGeneratorID_selection DMAEx MUX SignalGeneratorID selection
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief DMAEx MUX SignalGeneratorID selection
* @{
*/
@@ -207,6 +212,7 @@ typedef struct
*/
/** @defgroup DMAEx_MUX_RequestGeneneratorPolarity_selection DMAEx MUX RequestGeneneratorPolarity selection
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief DMAEx MUX RequestGeneneratorPolarity selection
* @{
*/
@@ -225,11 +231,13 @@ typedef struct
/* Exported functions --------------------------------------------------------*/
/** @defgroup DMAEx_Exported_Functions DMAEx Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief DMAEx Exported functions
* @{
*/
/** @defgroup DMAEx_Exported_Functions_Group1 Extended features functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Extended features functions
* @{
*/
@@ -253,6 +261,7 @@ void HAL_DMAEx_MUX_IRQHandler(DMA_HandleTypeDef *hdma);
/* Private macros ------------------------------------------------------------*/
/** @defgroup DMAEx_Private_Macros DMA Private Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief DMAEx private macros
* @{
*/
@@ -288,6 +297,7 @@ void HAL_DMAEx_MUX_IRQHandler(DMA_HandleTypeDef *hdma);
/* Private functions ---------------------------------------------------------*/
/** @defgroup DMAEx_Private_Functions DMAEx Private Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief DMAEx Private functions
* @{
*/
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_hal_dsi.h b/bsps/arm/stm32h7/include/stm32h7xx_hal_dsi.h
index ca5293a825..f7425a48a1 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_hal_dsi.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_hal_dsi.h
@@ -34,6 +34,7 @@ extern "C" {
*/
/** @defgroup DSI DSI
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief DSI HAL module driver
* @{
*/
@@ -348,9 +349,11 @@ typedef void (*pDSI_CallbackTypeDef)(DSI_HandleTypeDef *hdsi); /*!< pointer to
/* Exported constants --------------------------------------------------------*/
/** @defgroup DSI_Exported_Constants DSI Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup DSI_DCS_Command DSI DCS Command
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DSI_ENTER_IDLE_MODE 0x39U
@@ -402,6 +405,7 @@ typedef void (*pDSI_CallbackTypeDef)(DSI_HandleTypeDef *hdsi); /*!< pointer to
*/
/** @defgroup DSI_Video_Mode_Type DSI Video Mode Type
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DSI_VID_MODE_NB_PULSES 0U
@@ -412,6 +416,7 @@ typedef void (*pDSI_CallbackTypeDef)(DSI_HandleTypeDef *hdsi); /*!< pointer to
*/
/** @defgroup DSI_Color_Mode DSI Color Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DSI_COLOR_MODE_FULL 0x00000000U
@@ -421,6 +426,7 @@ typedef void (*pDSI_CallbackTypeDef)(DSI_HandleTypeDef *hdsi); /*!< pointer to
*/
/** @defgroup DSI_ShutDown DSI ShutDown
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DSI_DISPLAY_ON 0x00000000U
@@ -430,6 +436,7 @@ typedef void (*pDSI_CallbackTypeDef)(DSI_HandleTypeDef *hdsi); /*!< pointer to
*/
/** @defgroup DSI_LP_Command DSI LP Command
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DSI_LP_COMMAND_DISABLE 0x00000000U
@@ -439,6 +446,7 @@ typedef void (*pDSI_CallbackTypeDef)(DSI_HandleTypeDef *hdsi); /*!< pointer to
*/
/** @defgroup DSI_LP_HFP DSI LP HFP
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DSI_LP_HFP_DISABLE 0x00000000U
@@ -448,6 +456,7 @@ typedef void (*pDSI_CallbackTypeDef)(DSI_HandleTypeDef *hdsi); /*!< pointer to
*/
/** @defgroup DSI_LP_HBP DSI LP HBP
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DSI_LP_HBP_DISABLE 0x00000000U
@@ -457,6 +466,7 @@ typedef void (*pDSI_CallbackTypeDef)(DSI_HandleTypeDef *hdsi); /*!< pointer to
*/
/** @defgroup DSI_LP_VACT DSI LP VACT
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DSI_LP_VACT_DISABLE 0x00000000U
@@ -466,6 +476,7 @@ typedef void (*pDSI_CallbackTypeDef)(DSI_HandleTypeDef *hdsi); /*!< pointer to
*/
/** @defgroup DSI_LP_VFP DSI LP VFP
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DSI_LP_VFP_DISABLE 0x00000000U
@@ -475,6 +486,7 @@ typedef void (*pDSI_CallbackTypeDef)(DSI_HandleTypeDef *hdsi); /*!< pointer to
*/
/** @defgroup DSI_LP_VBP DSI LP VBP
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DSI_LP_VBP_DISABLE 0x00000000U
@@ -484,6 +496,7 @@ typedef void (*pDSI_CallbackTypeDef)(DSI_HandleTypeDef *hdsi); /*!< pointer to
*/
/** @defgroup DSI_LP_VSYNC DSI LP VSYNC
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DSI_LP_VSYNC_DISABLE 0x00000000U
@@ -493,6 +506,7 @@ typedef void (*pDSI_CallbackTypeDef)(DSI_HandleTypeDef *hdsi); /*!< pointer to
*/
/** @defgroup DSI_FBTA_acknowledge DSI FBTA Acknowledge
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DSI_FBTAA_DISABLE 0x00000000U
@@ -502,6 +516,7 @@ typedef void (*pDSI_CallbackTypeDef)(DSI_HandleTypeDef *hdsi); /*!< pointer to
*/
/** @defgroup DSI_TearingEffectSource DSI Tearing Effect Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DSI_TE_DSILINK 0x00000000U
@@ -511,6 +526,7 @@ typedef void (*pDSI_CallbackTypeDef)(DSI_HandleTypeDef *hdsi); /*!< pointer to
*/
/** @defgroup DSI_TearingEffectPolarity DSI Tearing Effect Polarity
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DSI_TE_RISING_EDGE 0x00000000U
@@ -520,6 +536,7 @@ typedef void (*pDSI_CallbackTypeDef)(DSI_HandleTypeDef *hdsi); /*!< pointer to
*/
/** @defgroup DSI_Vsync_Polarity DSI Vsync Polarity
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DSI_VSYNC_FALLING 0x00000000U
@@ -529,6 +546,7 @@ typedef void (*pDSI_CallbackTypeDef)(DSI_HandleTypeDef *hdsi); /*!< pointer to
*/
/** @defgroup DSI_AutomaticRefresh DSI Automatic Refresh
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DSI_AR_DISABLE 0x00000000U
@@ -538,6 +556,7 @@ typedef void (*pDSI_CallbackTypeDef)(DSI_HandleTypeDef *hdsi); /*!< pointer to
*/
/** @defgroup DSI_TE_AcknowledgeRequest DSI TE Acknowledge Request
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DSI_TE_ACKNOWLEDGE_DISABLE 0x00000000U
@@ -547,6 +566,7 @@ typedef void (*pDSI_CallbackTypeDef)(DSI_HandleTypeDef *hdsi); /*!< pointer to
*/
/** @defgroup DSI_AcknowledgeRequest DSI Acknowledge Request
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DSI_ACKNOWLEDGE_DISABLE 0x00000000U
@@ -556,6 +576,7 @@ typedef void (*pDSI_CallbackTypeDef)(DSI_HandleTypeDef *hdsi); /*!< pointer to
*/
/** @defgroup DSI_LP_LPGenShortWriteNoP DSI LP LPGen Short Write NoP
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DSI_LP_GSW0P_DISABLE 0x00000000U
@@ -565,6 +586,7 @@ typedef void (*pDSI_CallbackTypeDef)(DSI_HandleTypeDef *hdsi); /*!< pointer to
*/
/** @defgroup DSI_LP_LPGenShortWriteOneP DSI LP LPGen Short Write OneP
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DSI_LP_GSW1P_DISABLE 0x00000000U
@@ -574,6 +596,7 @@ typedef void (*pDSI_CallbackTypeDef)(DSI_HandleTypeDef *hdsi); /*!< pointer to
*/
/** @defgroup DSI_LP_LPGenShortWriteTwoP DSI LP LPGen Short Write TwoP
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DSI_LP_GSW2P_DISABLE 0x00000000U
@@ -583,6 +606,7 @@ typedef void (*pDSI_CallbackTypeDef)(DSI_HandleTypeDef *hdsi); /*!< pointer to
*/
/** @defgroup DSI_LP_LPGenShortReadNoP DSI LP LPGen Short Read NoP
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DSI_LP_GSR0P_DISABLE 0x00000000U
@@ -592,6 +616,7 @@ typedef void (*pDSI_CallbackTypeDef)(DSI_HandleTypeDef *hdsi); /*!< pointer to
*/
/** @defgroup DSI_LP_LPGenShortReadOneP DSI LP LPGen Short Read OneP
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DSI_LP_GSR1P_DISABLE 0x00000000U
@@ -601,6 +626,7 @@ typedef void (*pDSI_CallbackTypeDef)(DSI_HandleTypeDef *hdsi); /*!< pointer to
*/
/** @defgroup DSI_LP_LPGenShortReadTwoP DSI LP LPGen Short Read TwoP
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DSI_LP_GSR2P_DISABLE 0x00000000U
@@ -610,6 +636,7 @@ typedef void (*pDSI_CallbackTypeDef)(DSI_HandleTypeDef *hdsi); /*!< pointer to
*/
/** @defgroup DSI_LP_LPGenLongWrite DSI LP LPGen LongWrite
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DSI_LP_GLW_DISABLE 0x00000000U
@@ -619,6 +646,7 @@ typedef void (*pDSI_CallbackTypeDef)(DSI_HandleTypeDef *hdsi); /*!< pointer to
*/
/** @defgroup DSI_LP_LPDcsShortWriteNoP DSI LP LPDcs Short Write NoP
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DSI_LP_DSW0P_DISABLE 0x00000000U
@@ -628,6 +656,7 @@ typedef void (*pDSI_CallbackTypeDef)(DSI_HandleTypeDef *hdsi); /*!< pointer to
*/
/** @defgroup DSI_LP_LPDcsShortWriteOneP DSI LP LPDcs Short Write OneP
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DSI_LP_DSW1P_DISABLE 0x00000000U
@@ -637,6 +666,7 @@ typedef void (*pDSI_CallbackTypeDef)(DSI_HandleTypeDef *hdsi); /*!< pointer to
*/
/** @defgroup DSI_LP_LPDcsShortReadNoP DSI LP LPDcs Short Read NoP
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DSI_LP_DSR0P_DISABLE 0x00000000U
@@ -646,6 +676,7 @@ typedef void (*pDSI_CallbackTypeDef)(DSI_HandleTypeDef *hdsi); /*!< pointer to
*/
/** @defgroup DSI_LP_LPDcsLongWrite DSI LP LPDcs Long Write
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DSI_LP_DLW_DISABLE 0x00000000U
@@ -655,6 +686,7 @@ typedef void (*pDSI_CallbackTypeDef)(DSI_HandleTypeDef *hdsi); /*!< pointer to
*/
/** @defgroup DSI_LP_LPMaxReadPacket DSI LP LPMax Read Packet
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DSI_LP_MRDP_DISABLE 0x00000000U
@@ -664,6 +696,7 @@ typedef void (*pDSI_CallbackTypeDef)(DSI_HandleTypeDef *hdsi); /*!< pointer to
*/
/** @defgroup DSI_HS_PrespMode DSI HS Presp Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DSI_HS_PM_DISABLE 0x00000000U
@@ -674,6 +707,7 @@ typedef void (*pDSI_CallbackTypeDef)(DSI_HandleTypeDef *hdsi); /*!< pointer to
/** @defgroup DSI_Automatic_Clk_Lane_Control DSI Automatic Clk Lane Control
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DSI_AUTO_CLK_LANE_CTRL_DISABLE 0x00000000U
@@ -683,6 +717,7 @@ typedef void (*pDSI_CallbackTypeDef)(DSI_HandleTypeDef *hdsi); /*!< pointer to
*/
/** @defgroup DSI_Number_Of_Lanes DSI Number Of Lanes
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DSI_ONE_DATA_LANE 0U
@@ -692,6 +727,7 @@ typedef void (*pDSI_CallbackTypeDef)(DSI_HandleTypeDef *hdsi); /*!< pointer to
*/
/** @defgroup DSI_FlowControl DSI Flow Control
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DSI_FLOW_CONTROL_CRC_RX DSI_PCR_CRCRXE
@@ -707,6 +743,7 @@ typedef void (*pDSI_CallbackTypeDef)(DSI_HandleTypeDef *hdsi); /*!< pointer to
*/
/** @defgroup DSI_Color_Coding DSI Color Coding
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DSI_RGB565 0x00000000U /*!< The values 0x00000001 and 0x00000002 can also be used for the RGB565 color mode configuration */
@@ -717,6 +754,7 @@ typedef void (*pDSI_CallbackTypeDef)(DSI_HandleTypeDef *hdsi); /*!< pointer to
*/
/** @defgroup DSI_LooselyPacked DSI Loosely Packed
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DSI_LOOSELY_PACKED_ENABLE DSI_LCOLCR_LPE
@@ -726,6 +764,7 @@ typedef void (*pDSI_CallbackTypeDef)(DSI_HandleTypeDef *hdsi); /*!< pointer to
*/
/** @defgroup DSI_HSYNC_Polarity DSI HSYNC Polarity
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DSI_HSYNC_ACTIVE_HIGH 0x00000000U
@@ -735,6 +774,7 @@ typedef void (*pDSI_CallbackTypeDef)(DSI_HandleTypeDef *hdsi); /*!< pointer to
*/
/** @defgroup DSI_VSYNC_Active_Polarity DSI VSYNC Active Polarity
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DSI_VSYNC_ACTIVE_HIGH 0x00000000U
@@ -744,6 +784,7 @@ typedef void (*pDSI_CallbackTypeDef)(DSI_HandleTypeDef *hdsi); /*!< pointer to
*/
/** @defgroup DSI_DATA_ENABLE_Polarity DSI DATA ENABLE Polarity
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DSI_DATA_ENABLE_ACTIVE_HIGH 0x00000000U
@@ -753,6 +794,7 @@ typedef void (*pDSI_CallbackTypeDef)(DSI_HandleTypeDef *hdsi); /*!< pointer to
*/
/** @defgroup DSI_PLL_IDF DSI PLL IDF
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DSI_PLL_IN_DIV1 0x00000001U
@@ -767,6 +809,7 @@ typedef void (*pDSI_CallbackTypeDef)(DSI_HandleTypeDef *hdsi); /*!< pointer to
*/
/** @defgroup DSI_PLL_ODF DSI PLL ODF
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DSI_PLL_OUT_DIV1 0x00000000U
@@ -778,6 +821,7 @@ typedef void (*pDSI_CallbackTypeDef)(DSI_HandleTypeDef *hdsi); /*!< pointer to
*/
/** @defgroup DSI_Flags DSI Flags
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DSI_FLAG_TE DSI_WISR_TEIF
@@ -793,6 +837,7 @@ typedef void (*pDSI_CallbackTypeDef)(DSI_HandleTypeDef *hdsi); /*!< pointer to
*/
/** @defgroup DSI_Interrupts DSI Interrupts
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DSI_IT_TE DSI_WIER_TEIE
@@ -805,6 +850,7 @@ typedef void (*pDSI_CallbackTypeDef)(DSI_HandleTypeDef *hdsi); /*!< pointer to
*/
/** @defgroup DSI_SHORT_WRITE_PKT_Data_Type DSI SHORT WRITE PKT Data Type
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DSI_DCS_SHORT_PKT_WRITE_P0 0x00000005U /*!< DCS short write, no parameters */
@@ -817,6 +863,7 @@ typedef void (*pDSI_CallbackTypeDef)(DSI_HandleTypeDef *hdsi); /*!< pointer to
*/
/** @defgroup DSI_LONG_WRITE_PKT_Data_Type DSI LONG WRITE PKT Data Type
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DSI_DCS_LONG_PKT_WRITE 0x00000039U /*!< DCS long write */
@@ -826,6 +873,7 @@ typedef void (*pDSI_CallbackTypeDef)(DSI_HandleTypeDef *hdsi); /*!< pointer to
*/
/** @defgroup DSI_SHORT_READ_PKT_Data_Type DSI SHORT READ PKT Data Type
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DSI_DCS_SHORT_PKT_READ 0x00000006U /*!< DCS short read */
@@ -837,6 +885,7 @@ typedef void (*pDSI_CallbackTypeDef)(DSI_HandleTypeDef *hdsi); /*!< pointer to
*/
/** @defgroup DSI_Error_Data_Type DSI Error Data Type
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_DSI_ERROR_NONE 0U
@@ -858,6 +907,7 @@ typedef void (*pDSI_CallbackTypeDef)(DSI_HandleTypeDef *hdsi); /*!< pointer to
*/
/** @defgroup DSI_Lane_Group DSI Lane Group
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DSI_CLOCK_LANE 0x00000000U
@@ -867,6 +917,7 @@ typedef void (*pDSI_CallbackTypeDef)(DSI_HandleTypeDef *hdsi); /*!< pointer to
*/
/** @defgroup DSI_Communication_Delay DSI Communication Delay
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DSI_SLEW_RATE_HSTX 0x00000000U
@@ -877,6 +928,7 @@ typedef void (*pDSI_CallbackTypeDef)(DSI_HandleTypeDef *hdsi); /*!< pointer to
*/
/** @defgroup DSI_CustomLane DSI CustomLane
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DSI_SWAP_LANE_PINS 0x00000000U
@@ -886,6 +938,7 @@ typedef void (*pDSI_CallbackTypeDef)(DSI_HandleTypeDef *hdsi); /*!< pointer to
*/
/** @defgroup DSI_Lane_Select DSI Lane Select
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DSI_CLK_LANE 0x00000000U
@@ -896,6 +949,7 @@ typedef void (*pDSI_CallbackTypeDef)(DSI_HandleTypeDef *hdsi); /*!< pointer to
*/
/** @defgroup DSI_PHY_Timing DSI PHY Timing
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DSI_TCLK_POST 0x00000000U
@@ -917,6 +971,7 @@ typedef void (*pDSI_CallbackTypeDef)(DSI_HandleTypeDef *hdsi); /*!< pointer to
/* Exported macros -----------------------------------------------------------*/
/** @defgroup DSI_Exported_Macros DSI Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -1118,6 +1173,7 @@ typedef void (*pDSI_CallbackTypeDef)(DSI_HandleTypeDef *hdsi); /*!< pointer to
/* Exported functions --------------------------------------------------------*/
/** @defgroup DSI_Exported_Functions DSI Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
HAL_StatusTypeDef HAL_DSI_Init(DSI_HandleTypeDef *hdsi, DSI_PLLInitTypeDef *PLLInit);
@@ -1198,6 +1254,7 @@ HAL_DSI_StateTypeDef HAL_DSI_GetState(DSI_HandleTypeDef *hdsi);
/* Private types -------------------------------------------------------------*/
/** @defgroup DSI_Private_Types DSI Private Types
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -1207,6 +1264,7 @@ HAL_DSI_StateTypeDef HAL_DSI_GetState(DSI_HandleTypeDef *hdsi);
/* Private defines -----------------------------------------------------------*/
/** @defgroup DSI_Private_Defines DSI Private Defines
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -1216,6 +1274,7 @@ HAL_DSI_StateTypeDef HAL_DSI_GetState(DSI_HandleTypeDef *hdsi);
/* Private variables ---------------------------------------------------------*/
/** @defgroup DSI_Private_Variables DSI Private Variables
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -1225,6 +1284,7 @@ HAL_DSI_StateTypeDef HAL_DSI_GetState(DSI_HandleTypeDef *hdsi);
/* Private constants ---------------------------------------------------------*/
/** @defgroup DSI_Private_Constants DSI Private Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DSI_MAX_RETURN_PKT_SIZE (0x00000037U) /*!< Maximum return packet configuration */
@@ -1234,6 +1294,7 @@ HAL_DSI_StateTypeDef HAL_DSI_GetState(DSI_HandleTypeDef *hdsi);
/* Private macros ------------------------------------------------------------*/
/** @defgroup DSI_Private_Macros DSI Private Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define IS_DSI_PLL_NDIV(NDIV) ((10U <= (NDIV)) && ((NDIV) <= 125U))
@@ -1318,6 +1379,7 @@ HAL_DSI_StateTypeDef HAL_DSI_GetState(DSI_HandleTypeDef *hdsi);
/* Private functions prototypes ----------------------------------------------*/
/** @defgroup DSI_Private_Functions_Prototypes DSI Private Functions Prototypes
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -1327,6 +1389,7 @@ HAL_DSI_StateTypeDef HAL_DSI_GetState(DSI_HandleTypeDef *hdsi);
/* Private functions ---------------------------------------------------------*/
/** @defgroup DSI_Private_Functions DSI Private Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_hal_dts.h b/bsps/arm/stm32h7/include/stm32h7xx_hal_dts.h
index 3aec6cbe0f..0cc893ecc6 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_hal_dts.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_hal_dts.h
@@ -39,6 +39,7 @@ extern "C" {
/* Exported types ------------------------------------------------------------*/
/** @defgroup DTS_Exported_Types DTS Exported Types
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -111,10 +112,12 @@ typedef struct
/* Exported constants --------------------------------------------------------*/
/** @defgroup DTS_Exported_Constants DTS Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup DTS_TriggerConfig DTS Trigger Configuration
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/* @brief No Hardware trigger detection */
@@ -136,6 +139,7 @@ typedef struct
*/
/** @defgroup DTS_Quick_Measurement DTS Quick Measurement
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DTS_QUICKMEAS_ENABLE DTS_CFGR1_Q_MEAS_OPT /*!< Enable the Quick Measure (Measure without calibration) */
@@ -145,6 +149,7 @@ typedef struct
*/
/** @defgroup DTS_Reference_Clock_Selection DTS Reference Clock Selection
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DTS_REFCLKSEL_LSE DTS_CFGR1_REFCLK_SEL /*!< Low speed REF clock (LSE) */
@@ -154,6 +159,7 @@ typedef struct
*/
/** @defgroup DTS_Sampling_Time DTS Sampling Time
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DTS_SMP_TIME_1_CYCLE DTS_CFGR1_TS1_SMP_TIME_0 /*!< 1 clock cycle for the sampling time */
@@ -175,6 +181,7 @@ typedef struct
* @}
*/
/** @defgroup DTS_Flag_Definitions DTS Flag Definitions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DTS_FLAG_TS1_ITE DTS_SR_TS1_ITEF /*!< Interrupt flag for end of measure for DTS1 */
@@ -189,6 +196,7 @@ typedef struct
*/
/** @defgroup DTS_Interrupts_Definitions DTS Interrupts Definitions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DTS_IT_TS1_ITE DTS_ITENR_TS1_ITEEN /*!< Enable interrupt flag for end of measure for DTS1 */
@@ -206,6 +214,7 @@ typedef struct
*/
/* Exported macros -----------------------------------------------------------*/
/** @defgroup DTS_Exported_Macros DTS Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -401,9 +410,11 @@ void HAL_DTS_AsyncHighCallback(DTS_HandleTypeDef *hdts);
/* Private types -------------------------------------------------------------*/
/* Private constants ---------------------------------------------------------*/
/** @defgroup DTS_Private_Constants DTS Private Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup DTS_ExtiLine DTS EXTI Lines
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DTS_EXTI_LINE_DTS1 (EXTI_IMR3_IM88) /*!< EXTI line 88 connected to DTS1 output */
@@ -416,10 +427,12 @@ void HAL_DTS_AsyncHighCallback(DTS_HandleTypeDef *hdts);
/* Private macros ------------------------------------------------------------*/
/** @defgroup DTS_Private_Macros DTS Private Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup DTS_IS_DTS_Definitions DTS Private macros to check input parameters
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define IS_DTS_QUICKMEAS(__SEL__) (((__SEL__) == DTS_QUICKMEAS_DISABLE) || \
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_hal_eth.h b/bsps/arm/stm32h7/include/stm32h7xx_hal_eth.h
index bb2bacd68e..092999ef67 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_hal_eth.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_hal_eth.h
@@ -48,6 +48,7 @@
/*********************** Descriptors struct def section ************************/
/** @defgroup ETH_Exported_Types ETH Exported Types
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -536,10 +537,12 @@ typedef struct{
/* Exported constants --------------------------------------------------------*/
/** @defgroup ETH_Exported_Constants ETH Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup ETH_DMA_Tx_Descriptor_Bit_Definition ETH DMA Tx Descriptor Bit Definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -708,6 +711,7 @@ typedef struct{
/** @defgroup ETH_DMA_Rx_Descriptor_Bit_Definition ETH DMA Rx Descriptor Bit Definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -867,6 +871,7 @@ typedef struct{
*/
/** @defgroup ETH_Frame_settings ETH frame settings
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define ETH_MAX_PACKET_SIZE ((uint32_t)1528U) /*!< ETH_HEADER + 2*VLAN_TAG + MAX_ETH_PAYLOAD + ETH_CRC */
@@ -881,6 +886,7 @@ typedef struct{
*/
/** @defgroup ETH_Error_Code ETH Error Code
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_ETH_ERROR_NONE ((uint32_t)0x00000000U) /*!< No error */
@@ -897,6 +903,7 @@ typedef struct{
*/
/** @defgroup ETH_Tx_Packet_Attributes ETH Tx Packet Attributes
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define ETH_TX_PACKETS_FEATURES_CSUM ((uint32_t)0x00000001U)
@@ -910,6 +917,7 @@ typedef struct{
*/
/** @defgroup ETH_Tx_Packet_Source_Addr_Control ETH Tx Packet Source Addr Control
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define ETH_SRC_ADDR_CONTROL_DISABLE ETH_DMATXNDESCRF_SAIC_DISABLE
@@ -920,6 +928,7 @@ typedef struct{
*/
/** @defgroup ETH_Tx_Packet_CRC_Pad_Control ETH Tx Packet CRC Pad Control
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define ETH_CRC_PAD_DISABLE ETH_DMATXNDESCRF_CPC_DISABLE
@@ -931,6 +940,7 @@ typedef struct{
*/
/** @defgroup ETH_Tx_Packet_Checksum_Control ETH Tx Packet Checksum Control
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define ETH_CHECKSUM_DISABLE ETH_DMATXNDESCRF_CIC_DISABLE
@@ -942,6 +952,7 @@ typedef struct{
*/
/** @defgroup ETH_Tx_Packet_VLAN_Control ETH Tx Packet VLAN Control
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define ETH_VLAN_DISABLE ETH_DMATXNDESCRF_VTIR_DISABLE
@@ -953,6 +964,7 @@ typedef struct{
*/
/** @defgroup ETH_Tx_Packet_Inner_VLAN_Control ETH Tx Packet Inner VLAN Control
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define ETH_INNER_VLAN_DISABLE ETH_DMATXCDESC_IVTIR_DISABLE
@@ -964,6 +976,7 @@ typedef struct{
*/
/** @defgroup ETH_Rx_Checksum_Status ETH Rx Checksum Status
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define ETH_CHECKSUM_BYPASSED ETH_DMARXNDESCWBF_IPCB
@@ -974,6 +987,7 @@ typedef struct{
*/
/** @defgroup ETH_Rx_IP_Header_Type ETH Rx IP Header Type
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define ETH_IP_HEADER_IPV4 ETH_DMARXNDESCWBF_IPV4
@@ -983,6 +997,7 @@ typedef struct{
*/
/** @defgroup ETH_Rx_Payload_Type ETH Rx Payload Type
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define ETH_IP_PAYLOAD_UNKNOWN ETH_DMARXNDESCWBF_PT_UNKNOWN
@@ -994,6 +1009,7 @@ typedef struct{
*/
/** @defgroup ETH_Rx_MAC_Filter_Status ETH Rx MAC Filter Status
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define ETH_HASH_FILTER_PASS ETH_DMARXNDESCWBF_HF
@@ -1005,6 +1021,7 @@ typedef struct{
*/
/** @defgroup ETH_Rx_L3_Filter_Status ETH Rx L3 Filter Status
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define ETH_L3_FILTER0_MATCH ETH_DMARXNDESCWBF_L3FM
@@ -1014,6 +1031,7 @@ typedef struct{
*/
/** @defgroup ETH_Rx_L4_Filter_Status ETH Rx L4 Filter Status
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define ETH_L4_FILTER0_MATCH ETH_DMARXNDESCWBF_L4FM
@@ -1023,6 +1041,7 @@ typedef struct{
*/
/** @defgroup ETH_Rx_Error_Code ETH Rx Error Code
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define ETH_DRIBBLE_BIT_ERROR ETH_DMARXNDESCWBF_DE
@@ -1036,6 +1055,7 @@ typedef struct{
*/
/** @defgroup ETH_DMA_Arbitration ETH DMA Arbitration
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define ETH_DMAARBITRATION_RX ETH_DMAMR_DA
@@ -1061,6 +1081,7 @@ typedef struct{
*/
/** @defgroup ETH_Burst_Mode ETH Burst Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define ETH_BURSTLENGTH_FIXED ETH_DMASBMR_FB
@@ -1071,6 +1092,7 @@ typedef struct{
*/
/** @defgroup ETH_Tx_DMA_Burst_Length ETH Tx DMA Burst Length
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define ETH_TXDMABURSTLENGTH_1BEAT ETH_DMACTCR_TPBL_1PBL
@@ -1084,6 +1106,7 @@ typedef struct{
*/
/** @defgroup ETH_Rx_DMA_Burst_Length ETH Rx DMA Burst Length
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define ETH_RXDMABURSTLENGTH_1BEAT ETH_DMACRCR_RPBL_1PBL
@@ -1097,6 +1120,7 @@ typedef struct{
*/
/** @defgroup ETH_DMA_Interrupts ETH DMA Interrupts
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define ETH_DMA_NORMAL_IT ETH_DMACIER_NIE
@@ -1117,6 +1141,7 @@ typedef struct{
*/
/** @defgroup ETH_DMA_Status_Flags ETH DMA Status Flags
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define ETH_DMA_RX_NO_ERROR_FLAG ((uint32_t)0x00000000U)
@@ -1141,6 +1166,7 @@ typedef struct{
*/
/** @defgroup ETH_Transmit_Mode ETH Transmit Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define ETH_TRANSMITSTOREFORWARD ETH_MTLTQOMR_TSF
@@ -1157,6 +1183,7 @@ typedef struct{
*/
/** @defgroup ETH_Receive_Mode ETH Receive Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define ETH_RECEIVESTOREFORWARD ETH_MTLRQOMR_RSF
@@ -1169,6 +1196,7 @@ typedef struct{
*/
/** @defgroup ETH_Pause_Low_Threshold ETH Pause Low Threshold
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define ETH_PAUSELOWTHRESHOLD_MINUS_4 ETH_MACTFCR_PLT_MINUS4
@@ -1182,6 +1210,7 @@ typedef struct{
*/
/** @defgroup ETH_Watchdog_Timeout ETH Watchdog Timeout
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define ETH_WATCHDOGTIMEOUT_2KB ETH_MACWTR_WTO_2KB
@@ -1204,6 +1233,7 @@ typedef struct{
*/
/** @defgroup ETH_Inter_Packet_Gap ETH Inter Packet Gap
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define ETH_INTERPACKETGAP_96BIT ETH_MACCR_IPG_96BIT
@@ -1219,6 +1249,7 @@ typedef struct{
*/
/** @defgroup ETH_Speed ETH Speed
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define ETH_SPEED_10M ((uint32_t)0x00000000U)
@@ -1228,6 +1259,7 @@ typedef struct{
*/
/** @defgroup ETH_Duplex_Mode ETH Duplex Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define ETH_FULLDUPLEX_MODE ETH_MACCR_DM
@@ -1237,6 +1269,7 @@ typedef struct{
*/
/** @defgroup ETH_Back_Off_Limit ETH Back Off Limit
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define ETH_BACKOFFLIMIT_10 ETH_MACCR_BL_10
@@ -1248,6 +1281,7 @@ typedef struct{
*/
/** @defgroup ETH_Preamble_Length ETH Preamble Length
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define ETH_PREAMBLELENGTH_7 ETH_MACCR_PRELEN_7
@@ -1258,6 +1292,7 @@ typedef struct{
*/
/** @defgroup ETH_Source_Addr_Control ETH Source Addr Control
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define ETH_SOURCEADDRESS_DISABLE ((uint32_t)0x00000000U)
@@ -1270,6 +1305,7 @@ typedef struct{
*/
/** @defgroup ETH_Control_Packets_Filter ETH Control Packets Filter
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define ETH_CTRLPACKETS_BLOCK_ALL ETH_MACPFR_PCF_BLOCKALL
@@ -1281,6 +1317,7 @@ typedef struct{
*/
/** @defgroup ETH_VLAN_Tag_Comparison ETH VLAN Tag Comparison
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define ETH_VLANTAGCOMPARISON_16BIT ((uint32_t)0x00000000U)
@@ -1290,6 +1327,7 @@ typedef struct{
*/
/** @defgroup ETH_MAC_addresses ETH MAC addresses
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define ETH_MAC_ADDRESS0 ((uint32_t)0x00000000U)
@@ -1301,6 +1339,7 @@ typedef struct{
*/
/** @defgroup ETH_MAC_Interrupts ETH MAC Interrupts
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define ETH_MAC_RX_STATUS_IT ETH_MACIER_RXSTSIE
@@ -1314,6 +1353,7 @@ typedef struct{
*/
/** @defgroup ETH_MAC_Wake_Up_Event ETH MAC Wake Up Event
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define ETH_WAKEUP_PACKET_RECIEVED ETH_MACPCSR_RWKPRCVD
@@ -1323,6 +1363,7 @@ typedef struct{
*/
/** @defgroup ETH_MAC_Rx_Tx_Status ETH MAC Rx Tx Status
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define ETH_RECEIVE_WATCHDOG_TIMEOUT ETH_MACRXTXSR_RWT
@@ -1337,6 +1378,7 @@ typedef struct{
*/
/** @defgroup HAL_ETH_StateTypeDef ETH States
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_ETH_STATE_RESET ((uint32_t)0x00000000U) /*!< Peripheral not yet Initialized or disabled */
@@ -1354,6 +1396,7 @@ typedef struct{
/* Exported macro ------------------------------------------------------------*/
/** @defgroup ETH_Exported_Macros ETH Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_hal_eth_ex.h b/bsps/arm/stm32h7/include/stm32h7xx_hal_eth_ex.h
index bb7e0cf3fd..be9a4da0e8 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_hal_eth_ex.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_hal_eth_ex.h
@@ -40,6 +40,7 @@
/* Exported types ------------------------------------------------------------*/
/** @defgroup ETHEx_Exported_Types ETHEx Exported Types
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -148,10 +149,12 @@ typedef struct{
/* Exported constants --------------------------------------------------------*/
/** @defgroup ETHEx_Exported_Constants ETHEx Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup ETHEx_LPI_Event ETHEx LPI Event
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define ETH_TX_LPI_ENTRY ETH_MACLCSR_TLPIEN
@@ -163,6 +166,7 @@ typedef struct{
*/
/** @defgroup ETHEx_L3_Filter ETHEx L3 Filter
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define ETH_L3_FILTER_0 ((uint32_t)0x00000000)
@@ -172,6 +176,7 @@ typedef struct{
*/
/** @defgroup ETHEx_L4_Filter ETHEx L4 Filter
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define ETH_L4_FILTER_0 ((uint32_t)0x00000000)
@@ -181,6 +186,7 @@ typedef struct{
*/
/** @defgroup ETHEx_L3_Protocol ETHEx L3 Protocol
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define ETH_L3_IPV6_MATCH ETH_MACL3L4CR_L3PEN
@@ -190,6 +196,7 @@ typedef struct{
*/
/** @defgroup ETHEx_L3_Source_Match ETHEx L3 Source Match
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define ETH_L3_SRC_ADDR_PERFECT_MATCH_ENABLE ETH_MACL3L4CR_L3SAM
@@ -200,6 +207,7 @@ typedef struct{
*/
/** @defgroup ETHEx_L3_Destination_Match ETHEx L3 Destination Match
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define ETH_L3_DEST_ADDR_PERFECT_MATCH_ENABLE ETH_MACL3L4CR_L3DAM
@@ -210,6 +218,7 @@ typedef struct{
*/
/** @defgroup ETHEx_L4_Protocol ETHEx L4 Protocol
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define ETH_L4_UDP_MATCH ETH_MACL3L4CR_L4PEN
@@ -219,6 +228,7 @@ typedef struct{
*/
/** @defgroup ETHEx_L4_Source_Match ETHEx L4 Source Match
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define ETH_L4_SRC_PORT_PERFECT_MATCH_ENABLE ETH_MACL3L4CR_L4SPM
@@ -229,6 +239,7 @@ typedef struct{
*/
/** @defgroup ETHEx_L4_Destination_Match ETHEx L4 Destination Match
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define ETH_L4_DEST_PORT_PERFECT_MATCH_ENABLE ETH_MACL3L4CR_L4DPM
@@ -239,6 +250,7 @@ typedef struct{
*/
/** @defgroup ETHEx_Rx_Inner_VLAN_Tag_Stripping ETHEx Rx Inner VLAN Tag Stripping
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define ETH_INNERVLANTAGRXSTRIPPING_NONE ETH_MACVTR_EIVLS_DONOTSTRIP
@@ -250,6 +262,7 @@ typedef struct{
*/
/** @defgroup ETHEx_Rx_VLAN_Tag_Stripping ETHEx Rx VLAN Tag Stripping
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define ETH_VLANTAGRXSTRIPPING_NONE ETH_MACVTR_EVLS_DONOTSTRIP
@@ -261,6 +274,7 @@ typedef struct{
*/
/** @defgroup ETHEx_VLAN_Type_Check ETHEx VLAN Type Check
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define ETH_VLANTYPECHECK_DISABLE ETH_MACVTR_DOVLTC
@@ -271,6 +285,7 @@ typedef struct{
*/
/** @defgroup ETHEx_VLAN_Tag_Control ETHEx_VLAN_Tag_Control
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define ETH_VLANTAGCONTROL_NONE (ETH_MACVIR_VLP | ETH_MACVIR_VLC_NOVLANTAG)
@@ -282,6 +297,7 @@ typedef struct{
*/
/** @defgroup ETHEx_Tx_VLAN_Tag ETHEx Tx VLAN Tag
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define ETH_INNER_TX_VLANTAG ((uint32_t)0x00000001U)
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_hal_exti.h b/bsps/arm/stm32h7/include/stm32h7xx_hal_exti.h
index 6273f3c347..2c05d4e575 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_hal_exti.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_hal_exti.h
@@ -33,6 +33,7 @@ extern "C" {
*/
/** @defgroup EXTI EXTI
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief EXTI HAL module driver
* @{
*/
@@ -40,6 +41,7 @@ extern "C" {
/* Exported types ------------------------------------------------------------*/
/** @defgroup EXTI_Exported_Types EXTI Exported Types
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
typedef enum
@@ -84,10 +86,12 @@ typedef struct
/* Exported constants --------------------------------------------------------*/
/** @defgroup EXTI_Exported_Constants EXTI Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup EXTI_Line EXTI Line
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define EXTI_LINE_0 (EXTI_GPIO | EXTI_EVENT | EXTI_REG1 | EXTI_TARGET_MSK_ALL | 0x00U)
@@ -233,6 +237,7 @@ typedef struct
*/
/** @defgroup EXTI_Mode EXTI Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define EXTI_MODE_NONE 0x00000000U
@@ -249,6 +254,7 @@ typedef struct
*/
/** @defgroup EXTI_Trigger EXTI Trigger
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define EXTI_TRIGGER_NONE 0x00000000U
@@ -260,6 +266,7 @@ typedef struct
*/
/** @defgroup EXTI_GPIOSel EXTI GPIOSel
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief
* @{
*/
@@ -280,6 +287,7 @@ typedef struct
*/
/** @defgroup EXTI_PendClear_Source EXTI PendClear Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief
* @{
*/
@@ -306,6 +314,7 @@ typedef struct
/* Exported macro ------------------------------------------------------------*/
/** @defgroup EXTI_Exported_Macros EXTI Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -315,6 +324,7 @@ typedef struct
/* Private constants --------------------------------------------------------*/
/** @defgroup EXTI_Private_Constants EXTI Private Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/**
@@ -390,6 +400,7 @@ typedef struct
/* Private macros ------------------------------------------------------------*/
/** @defgroup EXTI_Private_Macros EXTI Private Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define IS_EXTI_PROPERTY(__LINE__) ((((__LINE__) & EXTI_PROPERTY_MASK) == EXTI_DIRECT) || \
@@ -454,11 +465,13 @@ typedef struct
/* Exported functions --------------------------------------------------------*/
/** @defgroup EXTI_Exported_Functions EXTI Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief EXTI Exported Functions
* @{
*/
/** @defgroup EXTI_Exported_Functions_Group1 Configuration functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Configuration functions
* @{
*/
@@ -473,6 +486,7 @@ HAL_StatusTypeDef HAL_EXTI_GetHandle(EXTI_HandleTypeDef *hexti, uint32_t ExtiLin
*/
/** @defgroup EXTI_Exported_Functions_Group2 IO operation functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief IO operation functions
* @{
*/
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_hal_fdcan.h b/bsps/arm/stm32h7/include/stm32h7xx_hal_fdcan.h
index cfe58cf7c9..4228ef0d06 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_hal_fdcan.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_hal_fdcan.h
@@ -38,6 +38,7 @@ extern "C" {
/* Exported types ------------------------------------------------------------*/
/** @defgroup FDCAN_Exported_Types FDCAN Exported Types
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -790,10 +791,12 @@ typedef void (*pFDCAN_TT_GlobalTimeCallbackTypeDef)(FDCAN_HandleTypeDef *hfdcan
/* Exported constants --------------------------------------------------------*/
/** @defgroup FDCAN_Exported_Constants FDCAN Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup HAL_FDCAN_Error_Code HAL FDCAN Error Code
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_FDCAN_ERROR_NONE ((uint32_t)0x00000000U) /*!< No error */
@@ -830,6 +833,7 @@ typedef void (*pFDCAN_TT_GlobalTimeCallbackTypeDef)(FDCAN_HandleTypeDef *hfdcan
*/
/** @defgroup FDCAN_frame_format FDCAN Frame Format
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FDCAN_FRAME_CLASSIC ((uint32_t)0x00000000U) /*!< Classic mode */
@@ -840,6 +844,7 @@ typedef void (*pFDCAN_TT_GlobalTimeCallbackTypeDef)(FDCAN_HandleTypeDef *hfdcan
*/
/** @defgroup FDCAN_operating_mode FDCAN Operating Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FDCAN_MODE_NORMAL ((uint32_t)0x00000000U) /*!< Normal mode */
@@ -852,6 +857,7 @@ typedef void (*pFDCAN_TT_GlobalTimeCallbackTypeDef)(FDCAN_HandleTypeDef *hfdcan
*/
/** @defgroup FDCAN_clock_calibration FDCAN Clock Calibration
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FDCAN_CLOCK_CALIBRATION_DISABLE ((uint32_t)0x00000000U) /*!< Disable Clock Calibration */
@@ -861,6 +867,7 @@ typedef void (*pFDCAN_TT_GlobalTimeCallbackTypeDef)(FDCAN_HandleTypeDef *hfdcan
*/
/** @defgroup FDCAN_clock_divider FDCAN Clock Divider
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FDCAN_CLOCK_DIV1 ((uint32_t)0x00000000U) /*!< Divide kernel clock by 1 */
@@ -884,6 +891,7 @@ typedef void (*pFDCAN_TT_GlobalTimeCallbackTypeDef)(FDCAN_HandleTypeDef *hfdcan
*/
/** @defgroup FDCAN_calibration_field_length FDCAN Calibration Field Length
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FDCAN_CALIB_FIELD_LENGTH_32 ((uint32_t)0x00000000U) /*!< Calibration field length is 32 bits */
@@ -893,6 +901,7 @@ typedef void (*pFDCAN_TT_GlobalTimeCallbackTypeDef)(FDCAN_HandleTypeDef *hfdcan
*/
/** @defgroup FDCAN_calibration_state FDCAN Calibration State
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FDCAN_CLOCK_NOT_CALIBRATED ((uint32_t)0x00000000U) /*!< Clock not calibrated */
@@ -903,6 +912,7 @@ typedef void (*pFDCAN_TT_GlobalTimeCallbackTypeDef)(FDCAN_HandleTypeDef *hfdcan
*/
/** @defgroup FDCAN_calibration_counter FDCAN Calibration Counter
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FDCAN_CALIB_TIME_QUANTA_COUNTER ((uint32_t)0x00000000U) /*!< Time Quanta Counter */
@@ -913,6 +923,7 @@ typedef void (*pFDCAN_TT_GlobalTimeCallbackTypeDef)(FDCAN_HandleTypeDef *hfdcan
*/
/** @defgroup FDCAN_data_field_size FDCAN Data Field Size
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FDCAN_DATA_BYTES_8 ((uint32_t)0x00000004U) /*!< 8 bytes data field */
@@ -928,6 +939,7 @@ typedef void (*pFDCAN_TT_GlobalTimeCallbackTypeDef)(FDCAN_HandleTypeDef *hfdcan
*/
/** @defgroup FDCAN_txFifoQueue_Mode FDCAN Tx FIFO/Queue Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FDCAN_TX_FIFO_OPERATION ((uint32_t)0x00000000U) /*!< FIFO mode */
@@ -937,6 +949,7 @@ typedef void (*pFDCAN_TT_GlobalTimeCallbackTypeDef)(FDCAN_HandleTypeDef *hfdcan
*/
/** @defgroup FDCAN_id_type FDCAN ID Type
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FDCAN_STANDARD_ID ((uint32_t)0x00000000U) /*!< Standard ID element */
@@ -946,6 +959,7 @@ typedef void (*pFDCAN_TT_GlobalTimeCallbackTypeDef)(FDCAN_HandleTypeDef *hfdcan
*/
/** @defgroup FDCAN_frame_type FDCAN Frame Type
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FDCAN_DATA_FRAME ((uint32_t)0x00000000U) /*!< Data frame */
@@ -955,6 +969,7 @@ typedef void (*pFDCAN_TT_GlobalTimeCallbackTypeDef)(FDCAN_HandleTypeDef *hfdcan
*/
/** @defgroup FDCAN_data_length_code FDCAN Data Length Code
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FDCAN_DLC_BYTES_0 ((uint32_t)0x00000000U) /*!< 0 bytes data field */
@@ -978,6 +993,7 @@ typedef void (*pFDCAN_TT_GlobalTimeCallbackTypeDef)(FDCAN_HandleTypeDef *hfdcan
*/
/** @defgroup FDCAN_error_state_indicator FDCAN Error State Indicator
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FDCAN_ESI_ACTIVE ((uint32_t)0x00000000U) /*!< Transmitting node is error active */
@@ -987,6 +1003,7 @@ typedef void (*pFDCAN_TT_GlobalTimeCallbackTypeDef)(FDCAN_HandleTypeDef *hfdcan
*/
/** @defgroup FDCAN_bit_rate_switching FDCAN Bit Rate Switching
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FDCAN_BRS_OFF ((uint32_t)0x00000000U) /*!< FDCAN frames transmitted/received without bit rate switching */
@@ -996,6 +1013,7 @@ typedef void (*pFDCAN_TT_GlobalTimeCallbackTypeDef)(FDCAN_HandleTypeDef *hfdcan
*/
/** @defgroup FDCAN_format FDCAN format
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FDCAN_CLASSIC_CAN ((uint32_t)0x00000000U) /*!< Frame transmitted/received in Classic CAN format */
@@ -1005,6 +1023,7 @@ typedef void (*pFDCAN_TT_GlobalTimeCallbackTypeDef)(FDCAN_HandleTypeDef *hfdcan
*/
/** @defgroup FDCAN_EFC FDCAN Event FIFO control
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FDCAN_NO_TX_EVENTS ((uint32_t)0x00000000U) /*!< Do not store Tx events */
@@ -1014,6 +1033,7 @@ typedef void (*pFDCAN_TT_GlobalTimeCallbackTypeDef)(FDCAN_HandleTypeDef *hfdcan
*/
/** @defgroup FDCAN_filter_type FDCAN Filter Type
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FDCAN_FILTER_RANGE ((uint32_t)0x00000000U) /*!< Range filter from FilterID1 to FilterID2 */
@@ -1025,6 +1045,7 @@ typedef void (*pFDCAN_TT_GlobalTimeCallbackTypeDef)(FDCAN_HandleTypeDef *hfdcan
*/
/** @defgroup FDCAN_filter_config FDCAN Filter Configuration
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FDCAN_FILTER_DISABLE ((uint32_t)0x00000000U) /*!< Disable filter element */
@@ -1040,6 +1061,7 @@ typedef void (*pFDCAN_TT_GlobalTimeCallbackTypeDef)(FDCAN_HandleTypeDef *hfdcan
*/
/** @defgroup FDCAN_Tx_location FDCAN Tx Location
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FDCAN_TX_BUFFER0 ((uint32_t)0x00000001U) /*!< Add message to Tx Buffer 0 */
@@ -1079,6 +1101,7 @@ typedef void (*pFDCAN_TT_GlobalTimeCallbackTypeDef)(FDCAN_HandleTypeDef *hfdcan
*/
/** @defgroup FDCAN_Rx_location FDCAN Rx Location
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FDCAN_RX_FIFO0 ((uint32_t)0x00000040U) /*!< Get received message from Rx FIFO 0 */
@@ -1152,6 +1175,7 @@ typedef void (*pFDCAN_TT_GlobalTimeCallbackTypeDef)(FDCAN_HandleTypeDef *hfdcan
*/
/** @defgroup FDCAN_event_type FDCAN Event Type
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FDCAN_TX_EVENT ((uint32_t)0x00400000U) /*!< Tx event */
@@ -1161,6 +1185,7 @@ typedef void (*pFDCAN_TT_GlobalTimeCallbackTypeDef)(FDCAN_HandleTypeDef *hfdcan
*/
/** @defgroup FDCAN_hp_msg_storage FDCAN High Priority Message Storage
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FDCAN_HP_STORAGE_NO_FIFO ((uint32_t)0x00000000U) /*!< No FIFO selected */
@@ -1172,6 +1197,7 @@ typedef void (*pFDCAN_TT_GlobalTimeCallbackTypeDef)(FDCAN_HandleTypeDef *hfdcan
*/
/** @defgroup FDCAN_protocol_error_code FDCAN protocol error code
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FDCAN_PROTOCOL_ERROR_NONE ((uint32_t)0x00000000U) /*!< No error occurred */
@@ -1187,6 +1213,7 @@ typedef void (*pFDCAN_TT_GlobalTimeCallbackTypeDef)(FDCAN_HandleTypeDef *hfdcan
*/
/** @defgroup FDCAN_communication_state FDCAN communication state
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FDCAN_COM_STATE_SYNC ((uint32_t)0x00000000U) /*!< Node is synchronizing on CAN communication */
@@ -1198,6 +1225,7 @@ typedef void (*pFDCAN_TT_GlobalTimeCallbackTypeDef)(FDCAN_HandleTypeDef *hfdcan
*/
/** @defgroup FDCAN_FIFO_watermark FDCAN FIFO watermark
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FDCAN_CFG_TX_EVENT_FIFO ((uint32_t)0x00000000U) /*!< Tx event FIFO */
@@ -1208,6 +1236,7 @@ typedef void (*pFDCAN_TT_GlobalTimeCallbackTypeDef)(FDCAN_HandleTypeDef *hfdcan
*/
/** @defgroup FDCAN_Rx_FIFO_operation_mode FDCAN FIFO operation mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FDCAN_RX_FIFO_BLOCKING ((uint32_t)0x00000000U) /*!< Rx FIFO blocking mode */
@@ -1217,6 +1246,7 @@ typedef void (*pFDCAN_TT_GlobalTimeCallbackTypeDef)(FDCAN_HandleTypeDef *hfdcan
*/
/** @defgroup FDCAN_Non_Matching_Frames FDCAN non-matching frames
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FDCAN_ACCEPT_IN_RX_FIFO0 ((uint32_t)0x00000000U) /*!< Accept in Rx FIFO 0 */
@@ -1227,6 +1257,7 @@ typedef void (*pFDCAN_TT_GlobalTimeCallbackTypeDef)(FDCAN_HandleTypeDef *hfdcan
*/
/** @defgroup FDCAN_Reject_Remote_Frames FDCAN reject remote frames
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FDCAN_FILTER_REMOTE ((uint32_t)0x00000000U) /*!< Filter remote frames */
@@ -1236,6 +1267,7 @@ typedef void (*pFDCAN_TT_GlobalTimeCallbackTypeDef)(FDCAN_HandleTypeDef *hfdcan
*/
/** @defgroup FDCAN_Interrupt_Line FDCAN interrupt line
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FDCAN_INTERRUPT_LINE0 ((uint32_t)0x00000001U) /*!< Interrupt Line 0 */
@@ -1245,6 +1277,7 @@ typedef void (*pFDCAN_TT_GlobalTimeCallbackTypeDef)(FDCAN_HandleTypeDef *hfdcan
*/
/** @defgroup FDCAN_Timestamp FDCAN timestamp
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FDCAN_TIMESTAMP_INTERNAL ((uint32_t)0x00000001U) /*!< Timestamp counter value incremented according to TCP */
@@ -1254,6 +1287,7 @@ typedef void (*pFDCAN_TT_GlobalTimeCallbackTypeDef)(FDCAN_HandleTypeDef *hfdcan
*/
/** @defgroup FDCAN_Timestamp_Prescaler FDCAN timestamp prescaler
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FDCAN_TIMESTAMP_PRESC_1 ((uint32_t)0x00000000U) /*!< Timestamp counter time unit in equal to CAN bit time */
@@ -1277,6 +1311,7 @@ typedef void (*pFDCAN_TT_GlobalTimeCallbackTypeDef)(FDCAN_HandleTypeDef *hfdcan
*/
/** @defgroup FDCAN_Timeout_Operation FDCAN timeout operation
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FDCAN_TIMEOUT_CONTINUOUS ((uint32_t)0x00000000U) /*!< Timeout continuous operation */
@@ -1288,6 +1323,7 @@ typedef void (*pFDCAN_TT_GlobalTimeCallbackTypeDef)(FDCAN_HandleTypeDef *hfdcan
*/
/** @defgroup FDCAN_TT_Reference_Message_Payload FDCAN TT reference message payload
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FDCAN_TT_REF_MESSAGE_NO_PAYLOAD ((uint32_t)0x00000000U) /*!< Reference message has no additional payload */
@@ -1297,6 +1333,7 @@ typedef void (*pFDCAN_TT_GlobalTimeCallbackTypeDef)(FDCAN_HandleTypeDef *hfdcan
*/
/** @defgroup FDCAN_TT_Repeat_Factor FDCAN TT repeat factor
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FDCAN_TT_REPEAT_EVERY_CYCLE ((uint32_t)0x00000000U) /*!< Trigger valid for all cycles */
@@ -1311,6 +1348,7 @@ typedef void (*pFDCAN_TT_GlobalTimeCallbackTypeDef)(FDCAN_HandleTypeDef *hfdcan
*/
/** @defgroup FDCAN_TT_Trigger_Type FDCAN TT trigger type
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FDCAN_TT_TX_REF_TRIGGER ((uint32_t)0x00000000U) /*!< Transmit reference message in strictly time-triggered operation */
@@ -1329,6 +1367,7 @@ typedef void (*pFDCAN_TT_GlobalTimeCallbackTypeDef)(FDCAN_HandleTypeDef *hfdcan
*/
/** @defgroup FDCAN_TT_Time_Mark_Event_Internal FDCAN TT time mark event internal
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FDCAN_TT_TM_NO_INTERNAL_EVENT ((uint32_t)0x00000000U) /*!< No action */
@@ -1338,6 +1377,7 @@ typedef void (*pFDCAN_TT_GlobalTimeCallbackTypeDef)(FDCAN_HandleTypeDef *hfdcan
*/
/** @defgroup FDCAN_TT_Time_Mark_Event_External FDCAN TT time mark event external
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FDCAN_TT_TM_NO_EXTERNAL_EVENT ((uint32_t)0x00000000U) /*!< No action */
@@ -1347,6 +1387,7 @@ typedef void (*pFDCAN_TT_GlobalTimeCallbackTypeDef)(FDCAN_HandleTypeDef *hfdcan
*/
/** @defgroup FDCAN_operation_mode FDCAN Operation Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FDCAN_TT_COMMUNICATION_LEVEL1 ((uint32_t)0x00000001U) /*!< Time triggered communication, level 1 */
@@ -1357,6 +1398,7 @@ typedef void (*pFDCAN_TT_GlobalTimeCallbackTypeDef)(FDCAN_HandleTypeDef *hfdcan
*/
/** @defgroup FDCAN_TT_operation FDCAN TT Operation
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FDCAN_STRICTLY_TT_OPERATION ((uint32_t)0x00000000U) /*!< Strictly time-triggered operation */
@@ -1366,6 +1408,7 @@ typedef void (*pFDCAN_TT_GlobalTimeCallbackTypeDef)(FDCAN_HandleTypeDef *hfdcan
*/
/** @defgroup FDCAN_TT_time_master FDCAN TT Time Master
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FDCAN_TT_SLAVE ((uint32_t)0x00000000U) /*!< Time slave */
@@ -1375,6 +1418,7 @@ typedef void (*pFDCAN_TT_GlobalTimeCallbackTypeDef)(FDCAN_HandleTypeDef *hfdcan
*/
/** @defgroup FDCAN_TT_external_clk_sync FDCAN TT External Clock Synchronization
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FDCAN_TT_EXT_CLK_SYNC_DISABLE ((uint32_t)0x00000000U) /*!< External clock synchronization in Level 0,2 disabled */
@@ -1384,6 +1428,7 @@ typedef void (*pFDCAN_TT_GlobalTimeCallbackTypeDef)(FDCAN_HandleTypeDef *hfdcan
*/
/** @defgroup FDCAN_TT_global_time_filtering FDCAN TT Global Time Filtering
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FDCAN_TT_GLOB_TIME_FILT_DISABLE ((uint32_t)0x00000000U) /*!< Global time filtering in Level 0,2 disabled */
@@ -1393,6 +1438,7 @@ typedef void (*pFDCAN_TT_GlobalTimeCallbackTypeDef)(FDCAN_HandleTypeDef *hfdcan
*/
/** @defgroup FDCAN_TT_auto_clk_calibration FDCAN TT Automatic Clock Calibration
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FDCAN_TT_AUTO_CLK_CALIB_DISABLE ((uint32_t)0x00000000U) /*!< Automatic clock calibration in Level 0,2 disabled */
@@ -1402,6 +1448,7 @@ typedef void (*pFDCAN_TT_GlobalTimeCallbackTypeDef)(FDCAN_HandleTypeDef *hfdcan
*/
/** @defgroup FDCAN_TT_event_trig_polarity FDCAN TT Event Trigger Polarity
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FDCAN_TT_EVT_TRIG_POL_RISING ((uint32_t)0x00000000U) /*!< Rising edge trigger */
@@ -1411,6 +1458,7 @@ typedef void (*pFDCAN_TT_GlobalTimeCallbackTypeDef)(FDCAN_HandleTypeDef *hfdcan
*/
/** @defgroup FDCAN_TT_basic_cycle_number FDCAN TT Basic Cycle Number
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FDCAN_TT_CYCLES_PER_MATRIX_1 ((uint32_t)0x00000000U) /*!< 1 Basic Cycle per Matrix */
@@ -1425,6 +1473,7 @@ typedef void (*pFDCAN_TT_GlobalTimeCallbackTypeDef)(FDCAN_HandleTypeDef *hfdcan
*/
/** @defgroup FDCAN_TT_cycle_start_sync FDCAN TT Cycle Start Sync
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FDCAN_TT_NO_SYNC_PULSE ((uint32_t)0x00000000U) /*!< No sync pulse */
@@ -1435,6 +1484,7 @@ typedef void (*pFDCAN_TT_GlobalTimeCallbackTypeDef)(FDCAN_HandleTypeDef *hfdcan
*/
/** @defgroup FDCAN_TT_stop_watch_trig_selection FDCAN TT Stop Watch Trigger Selection
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FDCAN_TT_STOP_WATCH_TRIGGER_0 ((uint32_t)0x00000000U) /*!< TIM2 selected as stop watch trigger */
@@ -1446,6 +1496,7 @@ typedef void (*pFDCAN_TT_GlobalTimeCallbackTypeDef)(FDCAN_HandleTypeDef *hfdcan
*/
/** @defgroup FDCAN_TT_event_trig_selection FDCAN TT Event Trigger Selection
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FDCAN_TT_EVENT_TRIGGER_0 ((uint32_t)0x00000000U) /*!< TIM2 selected as event trigger */
@@ -1457,6 +1508,7 @@ typedef void (*pFDCAN_TT_GlobalTimeCallbackTypeDef)(FDCAN_HandleTypeDef *hfdcan
*/
/** @defgroup FDCAN_TT_stop_watch_source FDCAN TT Stop Watch Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FDCAN_TT_STOP_WATCH_DISABLED ((uint32_t)0x00000000U) /*!< Stop Watch disabled */
@@ -1468,6 +1520,7 @@ typedef void (*pFDCAN_TT_GlobalTimeCallbackTypeDef)(FDCAN_HandleTypeDef *hfdcan
*/
/** @defgroup FDCAN_TT_stop_watch_polarity FDCAN TT Stop Watch Polarity
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FDCAN_TT_STOP_WATCH_RISING ((uint32_t)0x00000000U) /*!< Selected stop watch source is captured at rising edge of fdcan1_swt */
@@ -1477,6 +1530,7 @@ typedef void (*pFDCAN_TT_GlobalTimeCallbackTypeDef)(FDCAN_HandleTypeDef *hfdcan
*/
/** @defgroup FDCAN_TT_time_mark_source FDCAN TT Time Mark Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FDCAN_TT_REG_TIMEMARK_DIABLED ((uint32_t)0x00000000U) /*!< No Register Time Mark Interrupt generated */
@@ -1488,6 +1542,7 @@ typedef void (*pFDCAN_TT_GlobalTimeCallbackTypeDef)(FDCAN_HandleTypeDef *hfdcan
*/
/** @defgroup FDCAN_TT_error_level FDCAN TT Error Level
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FDCAN_TT_NO_ERROR ((uint32_t)0x00000000U) /*!< Severity 0 - No Error */
@@ -1499,6 +1554,7 @@ typedef void (*pFDCAN_TT_GlobalTimeCallbackTypeDef)(FDCAN_HandleTypeDef *hfdcan
*/
/** @defgroup FDCAN_TT_master_state FDCAN TT Master State
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FDCAN_TT_MASTER_OFF ((uint32_t)0x00000000U) /*!< Master_Off, no master properties relevant */
@@ -1510,6 +1566,7 @@ typedef void (*pFDCAN_TT_GlobalTimeCallbackTypeDef)(FDCAN_HandleTypeDef *hfdcan
*/
/** @defgroup FDCAN_TT_sync_state FDCAN TT Synchronization State
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FDCAN_TT_OUT_OF_SYNC ((uint32_t)0x00000000U) /*!< Out of Synchronization */
@@ -1521,6 +1578,7 @@ typedef void (*pFDCAN_TT_GlobalTimeCallbackTypeDef)(FDCAN_HandleTypeDef *hfdcan
*/
/** @defgroup Interrupt_Masks Interrupt masks
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FDCAN_IR_MASK ((uint32_t)0x3FCFFFFFU) /*!< FDCAN interrupts mask */
@@ -1530,6 +1588,7 @@ typedef void (*pFDCAN_TT_GlobalTimeCallbackTypeDef)(FDCAN_HandleTypeDef *hfdcan
*/
/** @defgroup FDCAN_flags FDCAN Flags
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FDCAN_FLAG_TX_COMPLETE FDCAN_IR_TC /*!< Transmission Completed */
@@ -1567,10 +1626,12 @@ typedef void (*pFDCAN_TT_GlobalTimeCallbackTypeDef)(FDCAN_HandleTypeDef *hfdcan
*/
/** @defgroup FDCAN_Interrupts FDCAN Interrupts
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup FDCAN_Tx_Interrupts FDCAN Tx Interrupts
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FDCAN_IT_TX_COMPLETE FDCAN_IE_TCE /*!< Transmission Completed */
@@ -1581,6 +1642,7 @@ typedef void (*pFDCAN_TT_GlobalTimeCallbackTypeDef)(FDCAN_HandleTypeDef *hfdcan
*/
/** @defgroup FDCAN_Rx_Interrupts FDCAN Rx Interrupts
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FDCAN_IT_RX_HIGH_PRIORITY_MSG FDCAN_IE_HPME /*!< High priority message received */
@@ -1590,6 +1652,7 @@ typedef void (*pFDCAN_TT_GlobalTimeCallbackTypeDef)(FDCAN_HandleTypeDef *hfdcan
*/
/** @defgroup FDCAN_Counter_Interrupts FDCAN Counter Interrupts
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FDCAN_IT_TIMESTAMP_WRAPAROUND FDCAN_IE_TSWE /*!< Timestamp counter wrapped around */
@@ -1599,6 +1662,7 @@ typedef void (*pFDCAN_TT_GlobalTimeCallbackTypeDef)(FDCAN_HandleTypeDef *hfdcan
*/
/** @defgroup FDCAN_Clock_Calibration_Interrupts Clock Calibration Interrupts
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FDCAN_IT_CALIB_STATE_CHANGED (FDCANCCU_IE_CSCE << 30) /*!< Clock calibration state changed */
@@ -1608,6 +1672,7 @@ typedef void (*pFDCAN_TT_GlobalTimeCallbackTypeDef)(FDCAN_HandleTypeDef *hfdcan
*/
/** @defgroup FDCAN_Tx_Event_Fifo_Interrupts FDCAN Tx Event FIFO Interrupts
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FDCAN_IT_TX_EVT_FIFO_ELT_LOST FDCAN_IE_TEFLE /*!< Tx Event FIFO element lost */
@@ -1619,6 +1684,7 @@ typedef void (*pFDCAN_TT_GlobalTimeCallbackTypeDef)(FDCAN_HandleTypeDef *hfdcan
*/
/** @defgroup FDCAN_Rx_Fifo0_Interrupts FDCAN Rx FIFO 0 Interrupts
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FDCAN_IT_RX_FIFO0_MESSAGE_LOST FDCAN_IE_RF0LE /*!< Rx FIFO 0 message lost */
@@ -1630,6 +1696,7 @@ typedef void (*pFDCAN_TT_GlobalTimeCallbackTypeDef)(FDCAN_HandleTypeDef *hfdcan
*/
/** @defgroup FDCAN_Rx_Fifo1_Interrupts FDCAN Rx FIFO 1 Interrupts
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FDCAN_IT_RX_FIFO1_MESSAGE_LOST FDCAN_IE_RF1LE /*!< Rx FIFO 1 message lost */
@@ -1641,6 +1708,7 @@ typedef void (*pFDCAN_TT_GlobalTimeCallbackTypeDef)(FDCAN_HandleTypeDef *hfdcan
*/
/** @defgroup FDCAN_Error_Interrupts FDCAN Error Interrupts
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FDCAN_IT_RAM_ACCESS_FAILURE FDCAN_IE_MRAFE /*!< Message RAM access failure occurred */
@@ -1654,6 +1722,7 @@ typedef void (*pFDCAN_TT_GlobalTimeCallbackTypeDef)(FDCAN_HandleTypeDef *hfdcan
*/
/** @defgroup FDCAN_Error_Status_Interrupts FDCAN Error Status Interrupts
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FDCAN_IT_ERROR_PASSIVE FDCAN_IE_EPE /*!< Error_Passive status changed */
@@ -1668,6 +1737,7 @@ typedef void (*pFDCAN_TT_GlobalTimeCallbackTypeDef)(FDCAN_HandleTypeDef *hfdcan
*/
/** @defgroup FDCAN_TTflags FDCAN TT Flags
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FDCAN_TT_FLAG_BASIC_CYCLE_START FDCAN_TTIR_SBC /*!< Start of Basic Cycle */
@@ -1694,10 +1764,12 @@ typedef void (*pFDCAN_TT_GlobalTimeCallbackTypeDef)(FDCAN_HandleTypeDef *hfdcan
*/
/** @defgroup FDCAN_TTInterrupts FDCAN TT Interrupts
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup FDCAN_TTScheduleSynchronization_Interrupts FDCAN TT Schedule Synchronization Interrupts
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FDCAN_TT_IT_BASIC_CYCLE_START FDCAN_TTIE_SBCE /*!< Start of Basic Cycle */
@@ -1709,6 +1781,7 @@ typedef void (*pFDCAN_TT_GlobalTimeCallbackTypeDef)(FDCAN_HandleTypeDef *hfdcan
*/
/** @defgroup FDCAN_TTTimeMark_Interrupts FDCAN TT Time Mark Interrupts
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FDCAN_TT_IT_REG_TIME_MARK FDCAN_TTIE_RTMIE /*!< Register Time Mark Interrupt */
@@ -1718,6 +1791,7 @@ typedef void (*pFDCAN_TT_GlobalTimeCallbackTypeDef)(FDCAN_HandleTypeDef *hfdcan
*/
/** @defgroup FDCAN_TTStopWatch_Interrupt FDCAN TT Stop Watch Interrupt
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FDCAN_TT_IT_STOP_WATCH FDCAN_TTIE_SWEE /*!< Stop Watch Event */
@@ -1726,6 +1800,7 @@ typedef void (*pFDCAN_TT_GlobalTimeCallbackTypeDef)(FDCAN_HandleTypeDef *hfdcan
*/
/** @defgroup FDCAN_TTGlobalTime_Interrupts FDCAN TT Global Time Interrupts
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FDCAN_TT_IT_GLOBAL_TIME_WRAP FDCAN_TTIE_GTWE /*!< Global Time Wrap */
@@ -1735,6 +1810,7 @@ typedef void (*pFDCAN_TT_GlobalTimeCallbackTypeDef)(FDCAN_HandleTypeDef *hfdcan
*/
/** @defgroup FDCAN_TTDisturbingError_Interrupts FDCAN TT Disturbing Error Interrupts
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FDCAN_TT_IT_GLOBAL_TIME_ERROR FDCAN_TTIE_GTEE /*!< Global Time Error */
@@ -1748,6 +1824,7 @@ typedef void (*pFDCAN_TT_GlobalTimeCallbackTypeDef)(FDCAN_HandleTypeDef *hfdcan
*/
/** @defgroup FDCAN_TTFatalError_Interrupts FDCAN TT Fatal Error Interrupts
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FDCAN_TT_IT_INIT_WATCH_TRIGGER FDCAN_TTIE_IWTE /*!< Initialization Watch Trigger */
@@ -1768,6 +1845,7 @@ typedef void (*pFDCAN_TT_GlobalTimeCallbackTypeDef)(FDCAN_HandleTypeDef *hfdcan
/* Exported macro ------------------------------------------------------------*/
/** @defgroup FDCAN_Exported_Macros FDCAN Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -2123,6 +2201,7 @@ HAL_FDCAN_StateTypeDef HAL_FDCAN_GetState(FDCAN_HandleTypeDef *hfdcan);
/* Private types -------------------------------------------------------------*/
/** @defgroup FDCAN_Private_Types FDCAN Private Types
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -2132,6 +2211,7 @@ HAL_FDCAN_StateTypeDef HAL_FDCAN_GetState(FDCAN_HandleTypeDef *hfdcan);
/* Private variables ---------------------------------------------------------*/
/** @defgroup FDCAN_Private_Variables FDCAN Private Variables
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -2141,6 +2221,7 @@ HAL_FDCAN_StateTypeDef HAL_FDCAN_GetState(FDCAN_HandleTypeDef *hfdcan);
/* Private constants ---------------------------------------------------------*/
/** @defgroup FDCAN_Private_Constants FDCAN Private Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -2150,6 +2231,7 @@ HAL_FDCAN_StateTypeDef HAL_FDCAN_GetState(FDCAN_HandleTypeDef *hfdcan);
/* Private macros ------------------------------------------------------------*/
/** @defgroup FDCAN_Private_Macros FDCAN Private Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define IS_FDCAN_FRAME_FORMAT(FORMAT) (((FORMAT) == FDCAN_FRAME_CLASSIC ) || \
@@ -2381,6 +2463,7 @@ HAL_FDCAN_StateTypeDef HAL_FDCAN_GetState(FDCAN_HandleTypeDef *hfdcan);
/* Private functions prototypes ----------------------------------------------*/
/** @defgroup FDCAN_Private_Functions_Prototypes FDCAN Private Functions Prototypes
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -2390,6 +2473,7 @@ HAL_FDCAN_StateTypeDef HAL_FDCAN_GetState(FDCAN_HandleTypeDef *hfdcan);
/* Private functions ---------------------------------------------------------*/
/** @defgroup FDCAN_Private_Functions FDCAN Private Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_hal_flash.h b/bsps/arm/stm32h7/include/stm32h7xx_hal_flash.h
index 6bda249e22..eb83462180 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_hal_flash.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_hal_flash.h
@@ -38,6 +38,7 @@
/* Exported types ------------------------------------------------------------*/
/** @defgroup FLASH_Exported_Types FLASH Exported Types
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -84,10 +85,12 @@ typedef struct
/* Exported constants --------------------------------------------------------*/
/** @defgroup FLASH_Exported_Constants FLASH Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup FLASH_Error_Code FLASH Error Code
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief FLASH Error Code
* @{
*/
@@ -138,6 +141,7 @@ typedef struct
*/
/** @defgroup FLASH_Type_Program FLASH Type Program
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FLASH_TYPEPROGRAM_FLASHWORD 0x01U /*!< Program a flash word at a specified address */
@@ -149,6 +153,7 @@ typedef struct
*/
/** @defgroup FLASH_Flag_definition FLASH Flag definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Flag definition
* @{
*/
@@ -251,6 +256,7 @@ typedef struct
*/
/** @defgroup FLASH_Interrupt_definition FLASH Interrupt definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief FLASH Interrupt definition
* @{
*/
@@ -321,6 +327,7 @@ typedef struct
#if defined (FLASH_CR_PSIZE)
/** @defgroup FLASH_Program_Parallelism FLASH Program Parallelism
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FLASH_PSIZE_BYTE 0x00000000U /*!< Flash program/erase by 8 bits */
@@ -334,6 +341,7 @@ typedef struct
/** @defgroup FLASH_Keys FLASH Keys
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FLASH_KEY1 0x45670123U
@@ -345,6 +353,7 @@ typedef struct
*/
/** @defgroup FLASH_Sectors FLASH Sectors
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FLASH_SECTOR_0 0U /*!< Sector Number 0 */
@@ -487,6 +496,7 @@ typedef struct
/* Exported macro ------------------------------------------------------------*/
/** @defgroup FLASH_Exported_Macros FLASH Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/**
@@ -740,6 +750,7 @@ uint32_t HAL_FLASH_GetError(void);
/* Private types -------------------------------------------------------------*/
/* Private variables ---------------------------------------------------------*/
/** @defgroup FLASH_Private_Variables FLASH Private Variables
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
extern FLASH_ProcessTypeDef pFlash;
@@ -748,6 +759,7 @@ extern FLASH_ProcessTypeDef pFlash;
*/
/* Private constants ---------------------------------------------------------*/
/** @defgroup FLASH_Private_Constants FLASH Private Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -757,6 +769,7 @@ extern FLASH_ProcessTypeDef pFlash;
/* Private macros ------------------------------------------------------------*/
/** @defgroup FLASH_Private_Macros FLASH Private Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -803,6 +816,7 @@ extern FLASH_ProcessTypeDef pFlash;
*/
/* Private functions ---------------------------------------------------------*/
/** @defgroup FLASH_Private_Functions FLASH Private functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
HAL_StatusTypeDef FLASH_WaitForLastOperation(uint32_t Timeout, uint32_t Bank);
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_hal_flash_ex.h b/bsps/arm/stm32h7/include/stm32h7xx_hal_flash_ex.h
index 834c5d23fb..e411dbed62 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_hal_flash_ex.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_hal_flash_ex.h
@@ -38,6 +38,7 @@
/* Exported types ------------------------------------------------------------*/
/** @defgroup FLASHEx_Exported_Types FLASH Exported Types
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -174,10 +175,12 @@ typedef struct
/* Exported constants --------------------------------------------------------*/
/** @defgroup FLASHEx_Exported_Constants FLASH Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup FLASHEx_Type_Erase FLASH Type Erase
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FLASH_TYPEERASE_SECTORS 0x00U /*!< Sectors erase only */
@@ -188,6 +191,7 @@ typedef struct
#if defined (FLASH_CR_PSIZE)
/** @defgroup FLASHEx_Voltage_Range FLASH Voltage Range
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FLASH_VOLTAGE_RANGE_1 0x00000000U /*!< Flash program/erase by 8 bits */
@@ -200,6 +204,7 @@ typedef struct
#endif /* FLASH_CR_PSIZE */
/** @defgroup FLASHEx_WRP_State FLASH WRP State
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define OB_WRPSTATE_DISABLE 0x00000000U /*!< Disable the write protection of the desired bank 1 sectors */
@@ -209,6 +214,7 @@ typedef struct
*/
/** @defgroup FLASHEx_Option_Type FLASH Option Type
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define OPTIONBYTE_WRP 0x01U /*!< WRP option byte configuration */
@@ -232,6 +238,7 @@ typedef struct
*/
/** @defgroup FLASHEx_Option_Bytes_Read_Protection FLASH Option Bytes Read Protection
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define OB_RDP_LEVEL_0 0xAA00U
@@ -243,6 +250,7 @@ typedef struct
*/
/** @defgroup FLASHEx_Option_Bytes_WWatchdog FLASH Option Bytes WWatchdog
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define OB_WWDG_SW 0x10U /*!< Software WWDG selected */
@@ -253,6 +261,7 @@ typedef struct
/** @defgroup FLASHEx_Option_Bytes_IWatchdog FLASH Option Bytes IWatchdog
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define OB_IWDG_SW 0x20U /*!< Software IWDG selected */
@@ -262,6 +271,7 @@ typedef struct
*/
/** @defgroup FLASHEx_Option_Bytes_nRST_STOP FLASH Option Bytes nRST_STOP
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define OB_STOP_NO_RST 0x40U /*!< No reset generated when entering in STOP */
@@ -271,6 +281,7 @@ typedef struct
*/
/** @defgroup FLASHEx_Option_Bytes_nRST_STDBY FLASH Option Bytes nRST_STDBY
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define OB_STDBY_NO_RST 0x80U /*!< No reset generated when entering in STANDBY */
@@ -280,6 +291,7 @@ typedef struct
*/
/** @defgroup FLASHEx_Option_Bytes_IWDG_FREEZE_STOP FLASH IWDG Counter Freeze in STOP
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define OB_IWDG_STOP_FREEZE 0x00000000U /*!< Freeze IWDG counter in STOP mode */
@@ -289,6 +301,7 @@ typedef struct
*/
/** @defgroup FLASHEx_Option_Bytes_IWDG_FREEZE_SANDBY FLASH IWDG Counter Freeze in STANDBY
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define OB_IWDG_STDBY_FREEZE 0x00000000U /*!< Freeze IWDG counter in STANDBY mode */
@@ -298,6 +311,7 @@ typedef struct
*/
/** @defgroup FLASHEx_BOR_Reset_Level FLASH BOR Reset Level
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define OB_BOR_LEVEL0 0x00000000U /*!< Reset level threshold is set to 1.6V */
@@ -311,6 +325,7 @@ typedef struct
/** @defgroup FLASHEx_Boot_Address FLASH Boot Address
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define OB_BOOTADDR_ITCM_RAM 0x0000U /*!< Boot from ITCM RAM (0x00000000) */
@@ -325,6 +340,7 @@ typedef struct
*/
/** @defgroup FLASH_Latency FLASH Latency
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FLASH_LATENCY_0 FLASH_ACR_LATENCY_0WS /*!< FLASH Zero Latency cycle */
@@ -348,6 +364,7 @@ typedef struct
*/
/** @defgroup FLASHEx_Banks FLASH Banks
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FLASH_BANK_1 0x01U /*!< Bank 1 */
@@ -358,6 +375,7 @@ typedef struct
*/
/** @defgroup FLASHEx_OB_PCROP_RDP FLASHEx OB PCROP RDP
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define OB_PCROP_RDP_NOT_ERASE 0x00000000U /*!< PCROP area is not erased when the RDP level
@@ -370,6 +388,7 @@ typedef struct
*/
/** @defgroup FLASHEx_Option_Bytes_Write_Protection FLASH Option Bytes Write Protection
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if (FLASH_SECTOR_TOTAL == 128)
@@ -422,6 +441,7 @@ typedef struct
*/
/** @defgroup FLASHEx_OB_SECURITY FLASHEx OB SECURITY
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define OB_SECURITY_DISABLE 0x00000000U /*!< security enabled */
@@ -431,6 +451,7 @@ typedef struct
*/
/** @defgroup FLASHEx_OB_ST_RAM_SIZE FLASHEx OB ST RAM SIZE
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define OB_ST_RAM_SIZE_2KB 0x00000000U /*!< 2 Kbytes reserved to ST code */
@@ -443,6 +464,7 @@ typedef struct
#if defined(DUAL_CORE)
/** @defgroup FLASHEx_OB_BCM7 FLASHEx OB BCM7
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define OB_BCM7_DISABLE 0x00000000U /*!< CM7 Boot disabled */
@@ -453,6 +475,7 @@ typedef struct
*/
/** @defgroup FLASHEx_OB_BCM4 FLASHEx OB BCM4
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define OB_BCM4_DISABLE 0x00000000U /*!< CM4 Boot disabled */
@@ -463,6 +486,7 @@ typedef struct
#endif /* DUAL_CORE */
/** @defgroup FLASHEx_OB_IWDG1_SW FLASHEx OB IWDG1 SW
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define OB_IWDG1_SW FLASH_OPTSR_IWDG1_SW /*!< Hardware independent watchdog 1 */
@@ -473,6 +497,7 @@ typedef struct
#if defined(DUAL_CORE)
/** @defgroup FLASHEx_OB_IWDG2_SW FLASHEx OB IWDG2 SW
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define OB_IWDG2_SW FLASH_OPTSR_IWDG2_SW /*!< Hardware independent watchdog 2*/
@@ -483,6 +508,7 @@ typedef struct
#endif
/** @defgroup FLASHEx_OB_NRST_STOP_D1 FLASHEx OB NRST STOP D1
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define OB_STOP_RST_D1 0x00000000U /*!< Reset generated when entering the D1 to stop mode */
@@ -492,6 +518,7 @@ typedef struct
*/
/** @defgroup FLASHEx_OB_NRST_STDBY_D1 FLASHEx OB NRST STDBY D1
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define OB_STDBY_RST_D1 0x00000000U /*!< Reset generated when entering the D1 to standby mode */
@@ -502,6 +529,7 @@ typedef struct
#if defined (DUAL_CORE)
/** @defgroup FLASHEx_OB_NRST_STOP_D2 FLASHEx OB NRST STOP D2
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define OB_STOP_RST_D2 0x00000000U /*!< Reset generated when entering the D2 to stop mode */
@@ -511,6 +539,7 @@ typedef struct
*/
/** @defgroup FLASHEx_OB_NRST_STDBY_D2 FLASHEx OB NRST STDBY D2
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define OB_STDBY_RST_D2 0x00000000U /*!< Reset generated when entering the D2 to standby mode */
@@ -521,6 +550,7 @@ typedef struct
#endif /* DUAL_CORE */
/** @defgroup FLASHEx_OB_SWAP_BANK FLASHEx OB SWAP BANK
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define OB_SWAP_BANK_DISABLE 0x00000000U /*!< Bank swap disabled */
@@ -530,6 +560,7 @@ typedef struct
*/
/** @defgroup FLASHEx_OB_IOHSLV FLASHEx OB IOHSLV
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define OB_IOHSLV_DISABLE 0x00000000U /*!< IOHSLV disabled */
@@ -540,6 +571,7 @@ typedef struct
#if defined (FLASH_OPTSR_VDDMMC_HSLV)
/** @defgroup FLASHEx_OB_VDDMMC_HSLV FLASHEx OB VDDMMC HSLV
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define OB_VDDMMC_HSLV_DISABLE 0x00000000U /*!< VDDMMC HSLV disabled */
@@ -550,6 +582,7 @@ typedef struct
#endif /* FLASH_OPTSR_VDDMMC_HSLV */
/** @defgroup FLASHEx_OB_BOOT_OPTION FLASHEx OB BOOT OPTION
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define OB_BOOT_ADD0 0x01U /*!< Select Boot Address 0 */
@@ -560,6 +593,7 @@ typedef struct
*/
/** @defgroup FLASHEx_OB_USER_Type FLASHEx OB USER Type
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define OB_USER_IWDG1_SW 0x0001U /*!< Independent watchdog selection */
@@ -587,6 +621,7 @@ typedef struct
*/
/** @defgroup FLASHEx_OB_SECURE_RDP FLASHEx OB SECURE RDP
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define OB_SECURE_RDP_NOT_ERASE 0x00000000U /*!< Secure area is not erased when the RDP level
@@ -598,6 +633,7 @@ typedef struct
*/
/** @defgroup FLASHEx_CRC_Selection_Type FLASH CRC Selection Type
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FLASH_CRC_ADDR 0x00000000U /*!< CRC selection type by address */
@@ -608,6 +644,7 @@ typedef struct
*/
/** @defgroup FLASHEx_CRC_Burst_Size FLASH CRC Burst Size
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FLASH_CRC_BURST_SIZE_4 0x00000000U /*!< Every burst has a size of 4 Flash words (256-bit) */
@@ -619,6 +656,7 @@ typedef struct
*/
/** @defgroup FLASHEx_Programming_Delay FLASH Programming Delay
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FLASH_PROGRAMMING_DELAY_0 0x00000000U /*!< programming delay set for Flash running at 70 MHz or below */
@@ -631,6 +669,7 @@ typedef struct
#if defined (FLASH_OTPBL_LOCKBL)
/** @defgroup FLASHEx_OTP_Blocks FLASH OTP blocks
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FLASH_OTP_BLOCK_0 0x00000001U /*!< OTP Block0 */
@@ -657,6 +696,7 @@ typedef struct
/* Exported macro ------------------------------------------------------------*/
/** @defgroup FLASHEx_Exported_Macros FLASH Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/**
@@ -741,10 +781,12 @@ HAL_StatusTypeDef HAL_FLASHEx_ComputeCRC(FLASH_CRCInitTypeDef *pCRCInit, uint32_
/* Private constants ---------------------------------------------------------*/
/* Private macros ------------------------------------------------------------*/
/** @defgroup FLASHEx_Private_Macros FLASHEx Private Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup FLASHEx_IS_FLASH_Definitions FLASHEx Private macros to check input parameters
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -882,6 +924,7 @@ HAL_StatusTypeDef HAL_FLASHEx_ComputeCRC(FLASH_CRCInitTypeDef *pCRCInit, uint32_
/* Private functions ---------------------------------------------------------*/
/** @defgroup FLASHEx_Private_Functions FLASHEx Private Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
void FLASH_Erase_Sector(uint32_t Sector, uint32_t Banks, uint32_t VoltageRange);
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_hal_gfxmmu.h b/bsps/arm/stm32h7/include/stm32h7xx_hal_gfxmmu.h
index 2d41105dce..47c179ea23 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_hal_gfxmmu.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_hal_gfxmmu.h
@@ -40,6 +40,7 @@
/* Exported types ------------------------------------------------------------*/
/** @defgroup GFXMMU_Exported_Types GFXMMU Exported Types
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -173,10 +174,12 @@ typedef void (*pGFXMMU_CallbackTypeDef)(GFXMMU_HandleTypeDef *hgfxmmu);
/* Exported constants --------------------------------------------------------*/
/** @defgroup GFXMMU_Exported_Constants GFXMMU Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup GFXMMU_BlocksPerLine GFXMMU blocks per line
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define GFXMMU_256BLOCKS 0x00000000U /*!< 256 blocks of 16 bytes per line */
@@ -186,6 +189,7 @@ typedef void (*pGFXMMU_CallbackTypeDef)(GFXMMU_HandleTypeDef *hgfxmmu);
*/
/** @defgroup GFXMMU_CacheLock GFXMMU cache lock
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define GFXMMU_CACHE_LOCK_DISABLE 0x00000000U /*!< Cache not locked to a buffer */
@@ -195,6 +199,7 @@ typedef void (*pGFXMMU_CallbackTypeDef)(GFXMMU_HandleTypeDef *hgfxmmu);
*/
/** @defgroup GFXMMU_CacheLockBuffer GFXMMU cache lock buffer
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define GFXMMU_CACHE_LOCK_BUFFER0 0x00000000U /*!< Cache locked to buffer 0 */
@@ -206,6 +211,7 @@ typedef void (*pGFXMMU_CallbackTypeDef)(GFXMMU_HandleTypeDef *hgfxmmu);
*/
/** @defgroup GFXMMU_CacheForce GFXMMU cache force
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define GFXMMU_CACHE_FORCE_DISABLE 0x00000000U /*!< Caching not forced */
@@ -215,6 +221,7 @@ typedef void (*pGFXMMU_CallbackTypeDef)(GFXMMU_HandleTypeDef *hgfxmmu);
*/
/** @defgroup GFXMMU_OutterBufferability GFXMMU outter bufferability
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define GFXMMU_OUTTER_BUFFERABILITY_DISABLE 0x00000000U /*!< No bufferable */
@@ -224,6 +231,7 @@ typedef void (*pGFXMMU_CallbackTypeDef)(GFXMMU_HandleTypeDef *hgfxmmu);
*/
/** @defgroup GFXMMU_OutterCachability GFXMMU outter cachability
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define GFXMMU_OUTTER_CACHABILITY_DISABLE 0x00000000U /*!< No cachable */
@@ -233,6 +241,7 @@ typedef void (*pGFXMMU_CallbackTypeDef)(GFXMMU_HandleTypeDef *hgfxmmu);
*/
/** @defgroup GFXMMU_Prefetch GFXMMU pre-fetch
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define GFXMMU_PREFETCH_DISABLE GFXMMU_CR_PD /*!< Pre-fetch disable */
@@ -242,6 +251,7 @@ typedef void (*pGFXMMU_CallbackTypeDef)(GFXMMU_HandleTypeDef *hgfxmmu);
*/
/** @defgroup GFXMMU_Interrupts GFXMMU interrupts
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define GFXMMU_AHB_MASTER_ERROR_IT GFXMMU_CR_AMEIE /*!< AHB master error interrupt */
@@ -254,6 +264,7 @@ typedef void (*pGFXMMU_CallbackTypeDef)(GFXMMU_HandleTypeDef *hgfxmmu);
*/
/** @defgroup GFXMMU_Error_Code GFXMMU Error Code
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define GFXMMU_ERROR_NONE 0x00000000U /*!< No error */
@@ -270,6 +281,7 @@ typedef void (*pGFXMMU_CallbackTypeDef)(GFXMMU_HandleTypeDef *hgfxmmu);
*/
/** @defgroup GFXMMU_LutLineStatus GFXMMU LUT line status
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define GFXMMU_LUT_LINE_DISABLE 0x00000000U /*!< LUT line disabled */
@@ -279,6 +291,7 @@ typedef void (*pGFXMMU_CallbackTypeDef)(GFXMMU_HandleTypeDef *hgfxmmu);
*/
/** @defgroup GFXMMU_CacheForceParam GFXMMU cache force parameter
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define GFXMMU_CACHE_FORCE_FLUSH GFXMMU_CCR_FF /*!< Force cache flush */
@@ -294,6 +307,7 @@ typedef void (*pGFXMMU_CallbackTypeDef)(GFXMMU_HandleTypeDef *hgfxmmu);
/* Exported macros -----------------------------------------------------------*/
/** @defgroup GFXMMU_Exported_Macros GFXMMU Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -371,6 +385,7 @@ void HAL_GFXMMU_ErrorCallback(GFXMMU_HandleTypeDef *hgfxmmu);
*/
/** @defgroup GFXMMU_Exported_Functions_Group3 State functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/* State function *************************************************************/
@@ -388,6 +403,7 @@ uint32_t HAL_GFXMMU_GetError(GFXMMU_HandleTypeDef *hgfxmmu);
/* Private macros ------------------------------------------------------------*/
/** @defgroup GFXMMU_Private_Macros GFXMMU Private Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define IS_GFXMMU_BLOCKS_PER_LINE(VALUE) (((VALUE) == GFXMMU_256BLOCKS) || \
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_hal_gpio.h b/bsps/arm/stm32h7/include/stm32h7xx_hal_gpio.h
index f7f6eecea1..4e164817f4 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_hal_gpio.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_hal_gpio.h
@@ -38,6 +38,7 @@ extern "C" {
/* Exported types ------------------------------------------------------------*/
/** @defgroup GPIO_Exported_Types GPIO Exported Types
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -77,10 +78,12 @@ typedef enum
/* Exported constants --------------------------------------------------------*/
/** @defgroup GPIO_Exported_Constants GPIO Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup GPIO_pins_define GPIO pins define
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define GPIO_PIN_0 ((uint16_t)0x0001) /* Pin 0 selected */
@@ -107,6 +110,7 @@ typedef enum
*/
/** @defgroup GPIO_mode_define GPIO mode define
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief GPIO Configuration Mode
* Elements values convention: 0xX0yz00YZ
* - X : GPIO mode or EXTI Mode
@@ -136,6 +140,7 @@ typedef enum
*/
/** @defgroup GPIO_speed_define GPIO speed define
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief GPIO Output Maximum frequency
* @{
*/
@@ -148,6 +153,7 @@ typedef enum
*/
/** @defgroup GPIO_pull_define GPIO pull define
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief GPIO Pull-Up or Pull-Down Activation
* @{
*/
@@ -164,6 +170,7 @@ typedef enum
/* Exported macro ------------------------------------------------------------*/
/** @defgroup GPIO_Exported_Macros GPIO Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -284,6 +291,7 @@ void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin);
/* Private variables ---------------------------------------------------------*/
/* Private constants ---------------------------------------------------------*/
/** @defgroup GPIO_Private_Constants GPIO Private Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -293,6 +301,7 @@ void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin);
/* Private macros ------------------------------------------------------------*/
/** @defgroup GPIO_Private_Macros GPIO Private Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define IS_GPIO_PIN_ACTION(ACTION) (((ACTION) == GPIO_PIN_RESET) || ((ACTION) == GPIO_PIN_SET))
@@ -322,6 +331,7 @@ void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin);
/* Private functions ---------------------------------------------------------*/
/** @defgroup GPIO_Private_Functions GPIO Private Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_hal_gpio_ex.h b/bsps/arm/stm32h7/include/stm32h7xx_hal_gpio_ex.h
index ff2efb3c07..597d6c20c9 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_hal_gpio_ex.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_hal_gpio_ex.h
@@ -40,10 +40,12 @@ extern "C" {
/* Exported constants --------------------------------------------------------*/
/** @defgroup GPIOEx_Exported_Constants GPIO Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup GPIO_Alternate_function_selection GPIO Alternate Function Selection
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -329,6 +331,7 @@ extern "C" {
/* Exported macro ------------------------------------------------------------*/
/** @defgroup GPIOEx_Exported_Macros GPIO Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/**
@@ -337,6 +340,7 @@ extern "C" {
/* Exported functions --------------------------------------------------------*/
/** @defgroup GPIOEx_Exported_Functions GPIO Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/**
@@ -346,6 +350,7 @@ extern "C" {
/* Private variables ---------------------------------------------------------*/
/* Private constants ---------------------------------------------------------*/
/** @defgroup GPIOEx_Private_Constants GPIO Private Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -372,9 +377,11 @@ extern "C" {
/* Private macros ------------------------------------------------------------*/
/** @defgroup GPIOEx_Private_Macros GPIO Private Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup GPIOEx_Get_Port_Index GPIO Get Port Index
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define GPIO_GET_INDEX(__GPIOx__) (((__GPIOx__) == (GPIOA))? 0UL :\
@@ -392,6 +399,7 @@ extern "C" {
*/
/** @defgroup GPIOEx_IS_Alternat_function_selection GPIO Check Alternate Function
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/**
@@ -404,6 +412,7 @@ extern "C" {
/* Private functions ---------------------------------------------------------*/
/** @defgroup GPIOEx_Private_Functions GPIO Private Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_hal_hash.h b/bsps/arm/stm32h7/include/stm32h7xx_hal_hash.h
index e1782379ac..3d0d5b8e88 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_hal_hash.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_hal_hash.h
@@ -38,6 +38,7 @@
/* Exported types ------------------------------------------------------------*/
/** @defgroup HASH_Exported_Types HASH Exported Types
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -182,10 +183,12 @@ typedef void (*pHASH_CallbackTypeDef)(HASH_HandleTypeDef * hhash); /*!< pointer
/* Exported constants --------------------------------------------------------*/
/** @defgroup HASH_Exported_Constants HASH Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup HASH_Algo_Selection HASH algorithm selection
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HASH_ALGOSELECTION_SHA1 0x00000000U /*!< HASH function is SHA1 */
@@ -197,6 +200,7 @@ typedef void (*pHASH_CallbackTypeDef)(HASH_HandleTypeDef * hhash); /*!< pointer
*/
/** @defgroup HASH_Algorithm_Mode HASH algorithm mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HASH_ALGOMODE_HASH 0x00000000U /*!< Algorithm is HASH */
@@ -206,6 +210,7 @@ typedef void (*pHASH_CallbackTypeDef)(HASH_HandleTypeDef * hhash); /*!< pointer
*/
/** @defgroup HASH_Data_Type HASH input data type
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HASH_DATATYPE_32B 0x00000000U /*!< 32-bit data. No swapping */
@@ -217,6 +222,7 @@ typedef void (*pHASH_CallbackTypeDef)(HASH_HandleTypeDef * hhash); /*!< pointer
*/
/** @defgroup HASH_HMAC_Long_key_only_for_HMAC_mode HMAC key length type
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HASH_HMAC_KEYTYPE_SHORTKEY 0x00000000U /*!< HMAC Key size is <= 64 bytes */
@@ -226,6 +232,7 @@ typedef void (*pHASH_CallbackTypeDef)(HASH_HandleTypeDef * hhash); /*!< pointer
*/
/** @defgroup HASH_flags_definition HASH flags definitions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HASH_FLAG_DINIS HASH_SR_DINIS /*!< 16 locations are free in the DIN : a new block can be entered in the Peripheral */
@@ -239,6 +246,7 @@ typedef void (*pHASH_CallbackTypeDef)(HASH_HandleTypeDef * hhash); /*!< pointer
*/
/** @defgroup HASH_interrupts_definition HASH interrupts definitions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HASH_IT_DINI HASH_IMR_DINIE /*!< A new block can be entered into the input buffer (DIN) */
@@ -248,6 +256,7 @@ typedef void (*pHASH_CallbackTypeDef)(HASH_HandleTypeDef * hhash); /*!< pointer
* @}
*/
/** @defgroup HASH_alias HASH API alias
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_HASHEx_IRQHandler HAL_HASH_IRQHandler /*!< HAL_HASHEx_IRQHandler() is re-directed to HAL_HASH_IRQHandler() for compatibility with legacy code */
@@ -256,6 +265,7 @@ typedef void (*pHASH_CallbackTypeDef)(HASH_HandleTypeDef * hhash); /*!< pointer
*/
/** @defgroup HASH_Error_Definition HASH Error Definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_HASH_ERROR_NONE 0x00000000U /*!< No error */
@@ -274,6 +284,7 @@ typedef void (*pHASH_CallbackTypeDef)(HASH_HandleTypeDef * hhash); /*!< pointer
/* Exported macros -----------------------------------------------------------*/
/** @defgroup HASH_Exported_Macros HASH Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -382,6 +393,7 @@ typedef void (*pHASH_CallbackTypeDef)(HASH_HandleTypeDef * hhash); /*!< pointer
/* Private macros --------------------------------------------------------*/
/** @defgroup HASH_Private_Macros HASH Private Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/**
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_hal_hcd.h b/bsps/arm/stm32h7/include/stm32h7xx_hal_hcd.h
index 765f989183..a71882d5a6 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_hal_hcd.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_hal_hcd.h
@@ -39,10 +39,12 @@ extern "C" {
/* Exported types ------------------------------------------------------------*/
/** @defgroup HCD_Exported_Types HCD Exported Types
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup HCD_Exported_Types_Group1 HCD State Structure definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
typedef enum
@@ -64,6 +66,7 @@ typedef USB_OTG_HCStateTypeDef HCD_HCStateTypeDef;
*/
/** @defgroup HCD_Exported_Types_Group2 HCD Handle Structure definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if (USE_HAL_HCD_REGISTER_CALLBACKS == 1U)
@@ -102,10 +105,12 @@ typedef struct
/* Exported constants --------------------------------------------------------*/
/** @defgroup HCD_Exported_Constants HCD Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup HCD_Speed HCD Speed
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HCD_SPEED_HIGH USBH_HS_SPEED
@@ -117,6 +122,7 @@ typedef struct
*/
/** @defgroup HCD_PHY_Module HCD PHY Module
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HCD_PHY_ULPI 1U
@@ -126,6 +132,7 @@ typedef struct
*/
/** @defgroup HCD_Error_Code_definition HCD Error Code definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief HCD Error Code definition
* @{
*/
@@ -143,6 +150,7 @@ typedef struct
/* Exported macro ------------------------------------------------------------*/
/** @defgroup HCD_Exported_Macros HCD Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief macros to handle interrupts and specific clock configurations
* @{
*/
@@ -168,6 +176,7 @@ typedef struct
*/
/** @defgroup HCD_Exported_Functions_Group1 Initialization and de-initialization functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
HAL_StatusTypeDef HAL_HCD_Init(HCD_HandleTypeDef *hhcd);
@@ -186,6 +195,7 @@ void HAL_HCD_MspDeInit(HCD_HandleTypeDef *hhcd);
#if (USE_HAL_HCD_REGISTER_CALLBACKS == 1U)
/** @defgroup HAL_HCD_Callback_ID_enumeration_definition HAL USB OTG HCD Callback ID enumeration definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief HAL USB OTG HCD Callback ID enumeration definition
* @{
*/
@@ -206,6 +216,7 @@ typedef enum
*/
/** @defgroup HAL_HCD_Callback_pointer_definition HAL USB OTG HCD Callback pointer definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief HAL USB OTG HCD Callback pointer definition
* @{
*/
@@ -286,6 +297,7 @@ uint32_t HAL_HCD_GetCurrentSpeed(HCD_HandleTypeDef *hhcd);
/* Private macros ------------------------------------------------------------*/
/** @defgroup HCD_Private_Macros HCD Private Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -295,6 +307,7 @@ uint32_t HAL_HCD_GetCurrentSpeed(HCD_HandleTypeDef *hhcd);
/* Private functions prototypes ----------------------------------------------*/
/** @defgroup HCD_Private_Functions_Prototypes HCD Private Functions Prototypes
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -304,6 +317,7 @@ uint32_t HAL_HCD_GetCurrentSpeed(HCD_HandleTypeDef *hhcd);
/* Private functions ---------------------------------------------------------*/
/** @defgroup HCD_Private_Functions HCD Private Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_hal_hrtim.h b/bsps/arm/stm32h7/include/stm32h7xx_hal_hrtim.h
index 5976853485..5c211a67ae 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_hal_hrtim.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_hal_hrtim.h
@@ -42,6 +42,7 @@
* @{
*/
/** @defgroup HRTIM_Max_Timer HRTIM Max Timer
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define MAX_HRTIM_TIMER 6U
@@ -53,6 +54,7 @@
*/
/** @defgroup HRTIM_Exported_Types HRTIM Exported Types
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -528,10 +530,12 @@ typedef void (* pHRTIM_TIMxCallbackTypeDef)(HRTIM_HandleTypeDef *hhrtim, /*!<
/* Exported constants --------------------------------------------------------*/
/** @defgroup HRTIM_Exported_Constants HRTIM Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup HRTIM_Timer_Index HRTIM Timer Index
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining the timer indexes
*/
@@ -547,6 +551,7 @@ typedef void (* pHRTIM_TIMxCallbackTypeDef)(HRTIM_HandleTypeDef *hhrtim, /*!<
*/
/** @defgroup HRTIM_Timer_identifier HRTIM Timer identifier
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining timer identifiers
*/
@@ -561,6 +566,7 @@ typedef void (* pHRTIM_TIMxCallbackTypeDef)(HRTIM_HandleTypeDef *hhrtim, /*!<
*/
/** @defgroup HRTIM_Compare_Unit HRTIM Compare Unit
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining compare unit identifiers
*/
@@ -573,6 +579,7 @@ typedef void (* pHRTIM_TIMxCallbackTypeDef)(HRTIM_HandleTypeDef *hhrtim, /*!<
*/
/** @defgroup HRTIM_Capture_Unit HRTIM Capture Unit
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining capture unit identifiers
*/
@@ -583,6 +590,7 @@ typedef void (* pHRTIM_TIMxCallbackTypeDef)(HRTIM_HandleTypeDef *hhrtim, /*!<
*/
/** @defgroup HRTIM_Timer_Output HRTIM Timer Output
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining timer output identifiers
*/
@@ -601,6 +609,7 @@ typedef void (* pHRTIM_TIMxCallbackTypeDef)(HRTIM_HandleTypeDef *hhrtim, /*!<
*/
/** @defgroup HRTIM_ADC_Trigger HRTIM ADC Trigger
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining ADC triggers identifiers
*/
@@ -618,6 +627,7 @@ typedef void (* pHRTIM_TIMxCallbackTypeDef)(HRTIM_HandleTypeDef *hhrtim, /*!<
* @}
*/
/** @defgroup HRTIM_External_Event_Channels HRTIM External Event Channels
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining external event channel identifiers
*/
@@ -637,6 +647,7 @@ typedef void (* pHRTIM_TIMxCallbackTypeDef)(HRTIM_HandleTypeDef *hhrtim, /*!<
*/
/** @defgroup HRTIM_Fault_Channel HRTIM Fault Channel
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining fault channel identifiers
*/
@@ -651,6 +662,7 @@ typedef void (* pHRTIM_TIMxCallbackTypeDef)(HRTIM_HandleTypeDef *hhrtim, /*!<
/** @defgroup HRTIM_Prescaler_Ratio HRTIM Prescaler Ratio
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining timer high-resolution clock prescaler ratio.
*/
@@ -662,6 +674,7 @@ typedef void (* pHRTIM_TIMxCallbackTypeDef)(HRTIM_HandleTypeDef *hhrtim, /*!<
*/
/** @defgroup HRTIM_Counter_Operating_Mode HRTIM Counter Operating Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining timer counter operating mode.
*/
@@ -673,6 +686,7 @@ typedef void (* pHRTIM_TIMxCallbackTypeDef)(HRTIM_HandleTypeDef *hhrtim, /*!<
*/
/** @defgroup HRTIM_Half_Mode_Enable HRTIM Half Mode Enable
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining half mode enabling status.
*/
@@ -683,6 +697,7 @@ typedef void (* pHRTIM_TIMxCallbackTypeDef)(HRTIM_HandleTypeDef *hhrtim, /*!<
*/
/** @defgroup HRTIM_Start_On_Sync_Input_Event HRTIM Start On Sync Input Event
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining the timer behavior following the synchronization event
*/
@@ -693,6 +708,7 @@ typedef void (* pHRTIM_TIMxCallbackTypeDef)(HRTIM_HandleTypeDef *hhrtim, /*!<
*/
/** @defgroup HRTIM_Reset_On_Sync_Input_Event HRTIM Reset On Sync Input Event
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining the timer behavior following the synchronization event
*/
@@ -703,6 +719,7 @@ typedef void (* pHRTIM_TIMxCallbackTypeDef)(HRTIM_HandleTypeDef *hhrtim, /*!<
*/
/** @defgroup HRTIM_DAC_Synchronization HRTIM DAC Synchronization
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining on which output the DAC synchronization event is sent
*/
@@ -715,6 +732,7 @@ typedef void (* pHRTIM_TIMxCallbackTypeDef)(HRTIM_HandleTypeDef *hhrtim, /*!<
*/
/** @defgroup HRTIM_Register_Preload_Enable HRTIM Register Preload Enable
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining whether a write access into a preloadable
* register is done into the active or the preload register.
@@ -726,6 +744,7 @@ typedef void (* pHRTIM_TIMxCallbackTypeDef)(HRTIM_HandleTypeDef *hhrtim, /*!<
*/
/** @defgroup HRTIM_Update_Gating HRTIM Update Gating
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining how the update occurs relatively to the burst DMA
* transaction and the external update request on update enable inputs 1 to 3.
@@ -744,6 +763,7 @@ typedef void (* pHRTIM_TIMxCallbackTypeDef)(HRTIM_HandleTypeDef *hhrtim, /*!<
*/
/** @defgroup HRTIM_Timer_Burst_Mode HRTIM Timer Burst Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining how the timer behaves during a burst
mode operation.
@@ -755,6 +775,7 @@ typedef void (* pHRTIM_TIMxCallbackTypeDef)(HRTIM_HandleTypeDef *hhrtim, /*!<
*/
/** @defgroup HRTIM_Timer_Repetition_Update HRTIM Timer Repetition Update
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining whether registers are updated when the timer
* repetition period is completed (either due to roll-over or
@@ -768,6 +789,7 @@ typedef void (* pHRTIM_TIMxCallbackTypeDef)(HRTIM_HandleTypeDef *hhrtim, /*!<
/** @defgroup HRTIM_Timer_Push_Pull_Mode HRTIM Timer Push Pull Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining whether or not the push-pull mode is enabled for
* a timer.
@@ -779,6 +801,7 @@ typedef void (* pHRTIM_TIMxCallbackTypeDef)(HRTIM_HandleTypeDef *hhrtim, /*!<
*/
/** @defgroup HRTIM_Timer_Fault_Enabling HRTIM Timer Fault Enabling
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining whether a fault channel is enabled for a timer
*/
@@ -793,6 +816,7 @@ typedef void (* pHRTIM_TIMxCallbackTypeDef)(HRTIM_HandleTypeDef *hhrtim, /*!<
*/
/** @defgroup HRTIM_Timer_Fault_Lock HRTIM Timer Fault Lock
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining whether or not fault enabling bits are write
* protected for a timer
@@ -804,6 +828,7 @@ typedef void (* pHRTIM_TIMxCallbackTypeDef)(HRTIM_HandleTypeDef *hhrtim, /*!<
*/
/** @defgroup HRTIM_Timer_Deadtime_Insertion HRTIM Timer Dead-time Insertion
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining whether or not fault the dead time insertion
* feature is enabled for a timer
@@ -815,6 +840,7 @@ typedef void (* pHRTIM_TIMxCallbackTypeDef)(HRTIM_HandleTypeDef *hhrtim, /*!<
*/
/** @defgroup HRTIM_Timer_Delayed_Protection_Mode HRTIM Timer Delayed Protection Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining all possible delayed protection modes
* for a timer. Also define the source and outputs on which the delayed
@@ -844,6 +870,7 @@ typedef void (* pHRTIM_TIMxCallbackTypeDef)(HRTIM_HandleTypeDef *hhrtim, /*!<
*/
/** @defgroup HRTIM_Timer_Update_Trigger HRTIM Timer Update Trigger
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining whether the registers update is done synchronously
* with any other timer or master update
@@ -860,6 +887,7 @@ typedef void (* pHRTIM_TIMxCallbackTypeDef)(HRTIM_HandleTypeDef *hhrtim, /*!<
*/
/** @defgroup HRTIM_Timer_Reset_Trigger HRTIM Timer Reset Trigger
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining the events that can be selected to trigger the reset
* of the timer counter
@@ -900,6 +928,7 @@ typedef void (* pHRTIM_TIMxCallbackTypeDef)(HRTIM_HandleTypeDef *hhrtim, /*!<
*/
/** @defgroup HRTIM_Timer_Reset_Update HRTIM Timer Reset Update
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining whether the register are updated upon Timerx
* counter reset or roll-over to 0 after reaching the period value
@@ -912,6 +941,7 @@ typedef void (* pHRTIM_TIMxCallbackTypeDef)(HRTIM_HandleTypeDef *hhrtim, /*!<
*/
/** @defgroup HRTIM_Compare_Unit_Auto_Delayed_Mode HRTIM Compare Unit Auto Delayed Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining whether the compare register is behaving in
* regular mode (compare match issued as soon as counter equal compare),
@@ -926,6 +956,7 @@ typedef void (* pHRTIM_TIMxCallbackTypeDef)(HRTIM_HandleTypeDef *hhrtim, /*!<
*/
/** @defgroup HRTIM_Simple_OC_Mode HRTIM Simple OC Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining the behavior of the output signal when the timer
operates in basic output compare mode
@@ -943,6 +974,7 @@ typedef void (* pHRTIM_TIMxCallbackTypeDef)(HRTIM_HandleTypeDef *hhrtim, /*!<
*/
/** @defgroup HRTIM_Output_Polarity HRTIM Output Polarity
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining the polarity of a timer output
*/
@@ -953,6 +985,7 @@ typedef void (* pHRTIM_TIMxCallbackTypeDef)(HRTIM_HandleTypeDef *hhrtim, /*!<
*/
/** @defgroup HRTIM_Output_Set_Source HRTIM Output Set Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining the events that can be selected to configure the
* set crossbar of a timer output
@@ -994,6 +1027,7 @@ typedef void (* pHRTIM_TIMxCallbackTypeDef)(HRTIM_HandleTypeDef *hhrtim, /*!<
*/
/** @defgroup HRTIM_Output_Reset_Source HRTIM Output Reset Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining the events that can be selected to configure the
* set crossbar of a timer output
@@ -1035,6 +1069,7 @@ typedef void (* pHRTIM_TIMxCallbackTypeDef)(HRTIM_HandleTypeDef *hhrtim, /*!<
*/
/** @defgroup HRTIM_Output_Idle_Mode HRTIM Output Idle Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining whether or not the timer output transition to its
IDLE state when burst mode is entered
@@ -1046,6 +1081,7 @@ typedef void (* pHRTIM_TIMxCallbackTypeDef)(HRTIM_HandleTypeDef *hhrtim, /*!<
*/
/** @defgroup HRTIM_Output_IDLE_Level HRTIM Output IDLE Level
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining the output level when output is in IDLE state
*/
@@ -1056,6 +1092,7 @@ typedef void (* pHRTIM_TIMxCallbackTypeDef)(HRTIM_HandleTypeDef *hhrtim, /*!<
*/
/** @defgroup HRTIM_Output_FAULT_Level HRTIM Output FAULT Level
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining the output level when output is in FAULT state
*/
@@ -1068,6 +1105,7 @@ typedef void (* pHRTIM_TIMxCallbackTypeDef)(HRTIM_HandleTypeDef *hhrtim, /*!<
*/
/** @defgroup HRTIM_Output_Chopper_Mode_Enable HRTIM Output Chopper Mode Enable
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining whether or not chopper mode is enabled for a timer
output
@@ -1079,6 +1117,7 @@ typedef void (* pHRTIM_TIMxCallbackTypeDef)(HRTIM_HandleTypeDef *hhrtim, /*!<
*/
/** @defgroup HRTIM_Output_Burst_Mode_Entry_Delayed HRTIM Output Burst Mode Entry Delayed
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining the idle mode entry is delayed by forcing a
dead-time insertion before switching the outputs to their idle state
@@ -1091,6 +1130,7 @@ typedef void (* pHRTIM_TIMxCallbackTypeDef)(HRTIM_HandleTypeDef *hhrtim, /*!<
/** @defgroup HRTIM_Capture_Unit_Trigger HRTIM Capture Unit Trigger
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining the events that can be selected to trigger the
* capture of the timing unit counter
@@ -1132,6 +1172,7 @@ typedef void (* pHRTIM_TIMxCallbackTypeDef)(HRTIM_HandleTypeDef *hhrtim, /*!<
*/
/** @defgroup HRTIM_Timer_External_Event_Filter HRTIM Timer External Event Filter
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining the event filtering applied to external events
* by a timer
@@ -1157,6 +1198,7 @@ typedef void (* pHRTIM_TIMxCallbackTypeDef)(HRTIM_HandleTypeDef *hhrtim, /*!<
*/
/** @defgroup HRTIM_Timer_External_Event_Latch HRTIM Timer External Event Latch
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining whether or not the external event is
* memorized (latched) and generated as soon as the blanking period
@@ -1169,6 +1211,7 @@ typedef void (* pHRTIM_TIMxCallbackTypeDef)(HRTIM_HandleTypeDef *hhrtim, /*!<
*/
/** @defgroup HRTIM_Deadtime_Prescaler_Ratio HRTIM Dead-time Prescaler Ratio
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining division ratio between the timer clock frequency
* (fHRTIM) and the dead-time generator clock (fDTG)
@@ -1186,6 +1229,7 @@ typedef void (* pHRTIM_TIMxCallbackTypeDef)(HRTIM_HandleTypeDef *hhrtim, /*!<
*/
/** @defgroup HRTIM_Deadtime_Rising_Sign HRTIM Dead-time Rising Sign
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining whether the dead-time is positive or negative
* (overlapping signal) on rising edge
@@ -1197,6 +1241,7 @@ typedef void (* pHRTIM_TIMxCallbackTypeDef)(HRTIM_HandleTypeDef *hhrtim, /*!<
*/
/** @defgroup HRTIM_Deadtime_Rising_Lock HRTIM Dead-time Rising Lock
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining whether or not the dead-time (rising sign and
* value) is write protected
@@ -1208,6 +1253,7 @@ typedef void (* pHRTIM_TIMxCallbackTypeDef)(HRTIM_HandleTypeDef *hhrtim, /*!<
*/
/** @defgroup HRTIM_Deadtime_Rising_Sign_Lock HRTIM Dead-time Rising Sign Lock
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining whether or not the dead-time rising sign is write
* protected
@@ -1219,6 +1265,7 @@ typedef void (* pHRTIM_TIMxCallbackTypeDef)(HRTIM_HandleTypeDef *hhrtim, /*!<
*/
/** @defgroup HRTIM_Deadtime_Falling_Sign HRTIM Dead-time Falling Sign
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining whether the dead-time is positive or negative
* (overlapping signal) on falling edge
@@ -1230,6 +1277,7 @@ typedef void (* pHRTIM_TIMxCallbackTypeDef)(HRTIM_HandleTypeDef *hhrtim, /*!<
*/
/** @defgroup HRTIM_Deadtime_Falling_Lock HRTIM Dead-time Falling Lock
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining whether or not the dead-time (falling sign and
* value) is write protected
@@ -1241,6 +1289,7 @@ typedef void (* pHRTIM_TIMxCallbackTypeDef)(HRTIM_HandleTypeDef *hhrtim, /*!<
*/
/** @defgroup HRTIM_Deadtime_Falling_Sign_Lock HRTIM Dead-time Falling Sign Lock
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining whether or not the dead-time falling sign is write
* protected
@@ -1252,6 +1301,7 @@ typedef void (* pHRTIM_TIMxCallbackTypeDef)(HRTIM_HandleTypeDef *hhrtim, /*!<
*/
/** @defgroup HRTIM_Chopper_Frequency HRTIM Chopper Frequency
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining the frequency of the generated high frequency carrier
*/
@@ -1276,6 +1326,7 @@ typedef void (* pHRTIM_TIMxCallbackTypeDef)(HRTIM_HandleTypeDef *hhrtim, /*!<
*/
/** @defgroup HRTIM_Chopper_Duty_Cycle HRTIM Chopper Duty Cycle
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining the duty cycle of the generated high frequency carrier
* Duty cycle can be adjusted by 1/8 step (from 0/8 up to 7/8)
@@ -1293,6 +1344,7 @@ typedef void (* pHRTIM_TIMxCallbackTypeDef)(HRTIM_HandleTypeDef *hhrtim, /*!<
*/
/** @defgroup HRTIM_Chopper_Start_Pulse_Width HRTIM Chopper Start Pulse Width
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining the pulse width of the first pulse of the generated
* high frequency carrier
@@ -1318,6 +1370,7 @@ typedef void (* pHRTIM_TIMxCallbackTypeDef)(HRTIM_HandleTypeDef *hhrtim, /*!<
*/
/** @defgroup HRTIM_Synchronization_Options HRTIM Synchronization Options
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining the options for synchronizing multiple HRTIM
* instances, as a master unit (generating a synchronization signal)
@@ -1331,6 +1384,7 @@ typedef void (* pHRTIM_TIMxCallbackTypeDef)(HRTIM_HandleTypeDef *hhrtim, /*!<
*/
/** @defgroup HRTIM_Synchronization_Input_Source HRTIM Synchronization Input Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining defining the synchronization input source
*/
@@ -1342,6 +1396,7 @@ typedef void (* pHRTIM_TIMxCallbackTypeDef)(HRTIM_HandleTypeDef *hhrtim, /*!<
*/
/** @defgroup HRTIM_Synchronization_Output_Source HRTIM Synchronization Output Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining the source and event to be sent on the
* synchronization outputs
@@ -1355,6 +1410,7 @@ typedef void (* pHRTIM_TIMxCallbackTypeDef)(HRTIM_HandleTypeDef *hhrtim, /*!<
*/
/** @defgroup HRTIM_Synchronization_Output_Polarity HRTIM Synchronization Output Polarity
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining the routing and conditioning of the synchronization output event
*/
@@ -1366,6 +1422,7 @@ typedef void (* pHRTIM_TIMxCallbackTypeDef)(HRTIM_HandleTypeDef *hhrtim, /*!<
*/
/** @defgroup HRTIM_External_Event_Sources HRTIM External Event Sources
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining available sources associated to external events
*/
@@ -1378,6 +1435,7 @@ typedef void (* pHRTIM_TIMxCallbackTypeDef)(HRTIM_HandleTypeDef *hhrtim, /*!<
*/
/** @defgroup HRTIM_External_Event_Polarity HRTIM External Event Polarity
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining the polarity of an external event
*/
@@ -1388,6 +1446,7 @@ typedef void (* pHRTIM_TIMxCallbackTypeDef)(HRTIM_HandleTypeDef *hhrtim, /*!<
*/
/** @defgroup HRTIM_External_Event_Sensitivity HRTIM External Event Sensitivity
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining the sensitivity (level-sensitive or edge-sensitive)
* of an external event
@@ -1401,6 +1460,7 @@ typedef void (* pHRTIM_TIMxCallbackTypeDef)(HRTIM_HandleTypeDef *hhrtim, /*!<
*/
/** @defgroup HRTIM_External_Event_Fast_Mode HRTIM External Event Fast Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining whether or not an external event is programmed in
fast mode
@@ -1412,6 +1472,7 @@ typedef void (* pHRTIM_TIMxCallbackTypeDef)(HRTIM_HandleTypeDef *hhrtim, /*!<
*/
/** @defgroup HRTIM_External_Event_Filter HRTIM External Event Filter
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining the frequency used to sample an external event 6
* input and the length (N) of the digital filter applied
@@ -1437,6 +1498,7 @@ typedef void (* pHRTIM_TIMxCallbackTypeDef)(HRTIM_HandleTypeDef *hhrtim, /*!<
*/
/** @defgroup HRTIM_External_Event_Prescaler HRTIM External Event Prescaler
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining division ratio between the timer clock frequency
* fHRTIM) and the external event signal sampling clock (fEEVS)
@@ -1451,6 +1513,7 @@ typedef void (* pHRTIM_TIMxCallbackTypeDef)(HRTIM_HandleTypeDef *hhrtim, /*!<
*/
/** @defgroup HRTIM_Fault_Sources HRTIM Fault Sources
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining whether a fault is triggered by any external
* or internal fault source
@@ -1462,6 +1525,7 @@ typedef void (* pHRTIM_TIMxCallbackTypeDef)(HRTIM_HandleTypeDef *hhrtim, /*!<
*/
/** @defgroup HRTIM_Fault_Polarity HRTIM Fault Polarity
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining the polarity of a fault event
*/
@@ -1472,6 +1536,7 @@ typedef void (* pHRTIM_TIMxCallbackTypeDef)(HRTIM_HandleTypeDef *hhrtim, /*!<
*/
/** @defgroup HRTIM_Fault_Filter HRTIM Fault Filter
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @ brief Constants defining the frequency used to sample the fault input and
* the length (N) of the digital filter applied
@@ -1497,6 +1562,7 @@ typedef void (* pHRTIM_TIMxCallbackTypeDef)(HRTIM_HandleTypeDef *hhrtim, /*!<
*/
/** @defgroup HRTIM_Fault_Lock HRTIM Fault Lock
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining whether or not the fault programming bits are
write protected
@@ -1508,6 +1574,7 @@ typedef void (* pHRTIM_TIMxCallbackTypeDef)(HRTIM_HandleTypeDef *hhrtim, /*!<
*/
/** @defgroup HRTIM_External_Fault_Prescaler HRTIM External Fault Prescaler
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining the division ratio between the timer clock
* frequency (fHRTIM) and the fault signal sampling clock (fFLTS) used
@@ -1522,6 +1589,7 @@ typedef void (* pHRTIM_TIMxCallbackTypeDef)(HRTIM_HandleTypeDef *hhrtim, /*!<
*/
/** @defgroup HRTIM_Burst_Mode_Operating_Mode HRTIM Burst Mode Operating Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining if the burst mode is entered once or if it is
* continuously operating
@@ -1533,6 +1601,7 @@ typedef void (* pHRTIM_TIMxCallbackTypeDef)(HRTIM_HandleTypeDef *hhrtim, /*!<
*/
/** @defgroup HRTIM_Burst_Mode_Clock_Source HRTIM Burst Mode Clock Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining the clock source for the burst mode counter
*/
@@ -1551,6 +1620,7 @@ typedef void (* pHRTIM_TIMxCallbackTypeDef)(HRTIM_HandleTypeDef *hhrtim, /*!<
*/
/** @defgroup HRTIM_Burst_Mode_Prescaler HRTIM Burst Mode Prescaler
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining the prescaling ratio of the fHRTIM clock
* for the burst mode controller
@@ -1576,6 +1646,7 @@ typedef void (* pHRTIM_TIMxCallbackTypeDef)(HRTIM_HandleTypeDef *hhrtim, /*!<
*/
/** @defgroup HRTIM_Burst_Mode_Register_Preload_Enable HRTIM Burst Mode Register Preload Enable
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining whether or not burst mode registers preload
mechanism is enabled, i.e. a write access into a preloadable register
@@ -1588,6 +1659,7 @@ typedef void (* pHRTIM_TIMxCallbackTypeDef)(HRTIM_HandleTypeDef *hhrtim, /*!<
*/
/** @defgroup HRTIM_Burst_Mode_Trigger HRTIM Burst Mode Trigger
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining the events that can be used to trig the burst
* mode operation
@@ -1629,6 +1701,7 @@ typedef void (* pHRTIM_TIMxCallbackTypeDef)(HRTIM_HandleTypeDef *hhrtim, /*!<
*/
/** @defgroup HRTIM_ADC_Trigger_Update_Source HRTIM ADC Trigger Update Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief constants defining the source triggering the update of the
HRTIM_ADCxR register (transfer from preload to active register).
@@ -1644,6 +1717,7 @@ typedef void (* pHRTIM_TIMxCallbackTypeDef)(HRTIM_HandleTypeDef *hhrtim, /*!<
*/
/** @defgroup HRTIM_ADC_Trigger_Event HRTIM ADC Trigger Event
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief constants defining the events triggering ADC conversion.
* HRTIM_ADCTRIGGEREVENT13_*: ADC Triggers 1 and 3
@@ -1722,6 +1796,7 @@ typedef void (* pHRTIM_TIMxCallbackTypeDef)(HRTIM_HandleTypeDef *hhrtim, /*!<
*/
/** @defgroup HRTIM_Burst_DMA_Registers_Update HRTIM Burst DMA Registers Update
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining the registers that can be written during a burst
* DMA operation
@@ -1753,6 +1828,7 @@ typedef void (* pHRTIM_TIMxCallbackTypeDef)(HRTIM_HandleTypeDef *hhrtim, /*!<
*/
/** @defgroup HRTIM_Burst_Mode_Control HRTIM Burst Mode Control
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants used to enable or disable the burst mode controller
*/
@@ -1763,6 +1839,7 @@ typedef void (* pHRTIM_TIMxCallbackTypeDef)(HRTIM_HandleTypeDef *hhrtim, /*!<
*/
/** @defgroup HRTIM_Fault_Mode_Control HRTIM Fault Mode Control
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants used to enable or disable a fault channel
*/
@@ -1773,6 +1850,7 @@ typedef void (* pHRTIM_TIMxCallbackTypeDef)(HRTIM_HandleTypeDef *hhrtim, /*!<
*/
/** @defgroup HRTIM_Software_Timer_Update HRTIM Software Timer Update
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants used to force timer registers update
*/
@@ -1787,6 +1865,7 @@ typedef void (* pHRTIM_TIMxCallbackTypeDef)(HRTIM_HandleTypeDef *hhrtim, /*!<
*/
/** @defgroup HRTIM_Software_Timer_Reset HRTIM Software Timer Reset
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants used to force timer counter reset
*/
@@ -1801,6 +1880,7 @@ typedef void (* pHRTIM_TIMxCallbackTypeDef)(HRTIM_HandleTypeDef *hhrtim, /*!<
*/
/** @defgroup HRTIM_Output_Level HRTIM Output Level
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining the level of a timer output
*/
@@ -1815,6 +1895,7 @@ typedef void (* pHRTIM_TIMxCallbackTypeDef)(HRTIM_HandleTypeDef *hhrtim, /*!<
*/
/** @defgroup HRTIM_Output_State HRTIM Output State
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining the state of a timer output
*/
@@ -1829,6 +1910,7 @@ typedef void (* pHRTIM_TIMxCallbackTypeDef)(HRTIM_HandleTypeDef *hhrtim, /*!<
*/
/** @defgroup HRTIM_Burst_Mode_Status HRTIM Burst Mode Status
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining the operating state of the burst mode controller
*/
@@ -1839,6 +1921,7 @@ typedef void (* pHRTIM_TIMxCallbackTypeDef)(HRTIM_HandleTypeDef *hhrtim, /*!<
*/
/** @defgroup HRTIM_Current_Push_Pull_Status HRTIM Current Push Pull Status
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining on which output the signal is currently applied
* in push-pull mode
@@ -1850,6 +1933,7 @@ typedef void (* pHRTIM_TIMxCallbackTypeDef)(HRTIM_HandleTypeDef *hhrtim, /*!<
*/
/** @defgroup HRTIM_Idle_Push_Pull_Status HRTIM Idle Push Pull Status
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining on which output the signal was applied, in
* push-pull mode balanced fault mode or delayed idle mode, when the
@@ -1862,6 +1946,7 @@ typedef void (* pHRTIM_TIMxCallbackTypeDef)(HRTIM_HandleTypeDef *hhrtim, /*!<
*/
/** @defgroup HRTIM_Common_Interrupt_Enable HRTIM Common Interrupt Enable
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HRTIM_IT_NONE 0x00000000U /*!< No interrupt enabled */
@@ -1877,6 +1962,7 @@ typedef void (* pHRTIM_TIMxCallbackTypeDef)(HRTIM_HandleTypeDef *hhrtim, /*!<
*/
/** @defgroup HRTIM_Master_Interrupt_Enable HRTIM Master Interrupt Enable
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HRTIM_MASTER_IT_NONE 0x00000000U /*!< No interrupt enabled */
@@ -1892,6 +1978,7 @@ typedef void (* pHRTIM_TIMxCallbackTypeDef)(HRTIM_HandleTypeDef *hhrtim, /*!<
*/
/** @defgroup HRTIM_Timing_Unit_Interrupt_Enable HRTIM Timing Unit Interrupt Enable
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HRTIM_TIM_IT_NONE 0x00000000U /*!< No interrupt enabled */
@@ -1914,6 +2001,7 @@ typedef void (* pHRTIM_TIMxCallbackTypeDef)(HRTIM_HandleTypeDef *hhrtim, /*!<
*/
/** @defgroup HRTIM_Common_Interrupt_Flag HRTIM Common Interrupt Flag
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HRTIM_FLAG_FLT1 HRTIM_ISR_FLT1 /*!< Fault 1 interrupt flag */
@@ -1928,6 +2016,7 @@ typedef void (* pHRTIM_TIMxCallbackTypeDef)(HRTIM_HandleTypeDef *hhrtim, /*!<
*/
/** @defgroup HRTIM_Master_Interrupt_Flag HRTIM Master Interrupt Flag
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HRTIM_MASTER_FLAG_MCMP1 HRTIM_MISR_MCMP1 /*!< Master compare 1 interrupt flag */
@@ -1942,6 +2031,7 @@ typedef void (* pHRTIM_TIMxCallbackTypeDef)(HRTIM_HandleTypeDef *hhrtim, /*!<
*/
/** @defgroup HRTIM_Timing_Unit_Interrupt_Flag HRTIM Timing Unit Interrupt Flag
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HRTIM_TIM_FLAG_CMP1 HRTIM_TIMISR_CMP1 /*!< Timer compare 1 interrupt flag */
@@ -1963,6 +2053,7 @@ typedef void (* pHRTIM_TIMxCallbackTypeDef)(HRTIM_HandleTypeDef *hhrtim, /*!<
*/
/** @defgroup HRTIM_Master_DMA_Request_Enable HRTIM Master DMA Request Enable
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HRTIM_MASTER_DMA_NONE 0x00000000U /*!< No DMA request enable */
@@ -1978,6 +2069,7 @@ typedef void (* pHRTIM_TIMxCallbackTypeDef)(HRTIM_HandleTypeDef *hhrtim, /*!<
*/
/** @defgroup HRTIM_Timing_Unit_DMA_Request_Enable HRTIM Timing Unit DMA Request Enable
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HRTIM_TIM_DMA_NONE 0x00000000U /*!< No DMA request enable */
@@ -2748,6 +2840,7 @@ typedef void (* pHRTIM_TIMxCallbackTypeDef)(HRTIM_HandleTypeDef *hhrtim, /*!<
/* Exported macros -----------------------------------------------------------*/
/** @defgroup HRTIM_Exported_Macros HRTIM Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_hal_hsem.h b/bsps/arm/stm32h7/include/stm32h7xx_hal_hsem.h
index 1ef97f3d47..1988f44014 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_hal_hsem.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_hal_hsem.h
@@ -38,6 +38,7 @@ extern "C" {
/* Exported macro ------------------------------------------------------------*/
/** @defgroup HSEM_Exported_Macros HSEM Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -118,6 +119,7 @@ extern "C" {
/* Exported functions --------------------------------------------------------*/
/** @defgroup HSEM_Exported_Functions HSEM Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -176,6 +178,7 @@ void HAL_HSEM_IRQHandler(void);
/* Private macros ------------------------------------------------------------*/
/** @defgroup HSEM_Private_Macros HSEM Private Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_hal_i2c.h b/bsps/arm/stm32h7/include/stm32h7xx_hal_i2c.h
index ea2cd88558..62076ac5f9 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_hal_i2c.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_hal_i2c.h
@@ -38,10 +38,12 @@ extern "C" {
/* Exported types ------------------------------------------------------------*/
/** @defgroup I2C_Exported_Types I2C Exported Types
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup I2C_Configuration_Structure_definition I2C Configuration Structure definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief I2C Configuration Structure definition
* @{
*/
@@ -79,6 +81,7 @@ typedef struct
*/
/** @defgroup HAL_state_structure_definition HAL state structure definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief HAL State structure definition
* @note HAL I2C State value coding follow below described bitmap :\n
* b7-b6 Error information\n
@@ -128,6 +131,7 @@ typedef enum
*/
/** @defgroup HAL_mode_structure_definition HAL mode structure definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief HAL Mode structure definition
* @note HAL I2C Mode value coding follow below described bitmap :\n
* b7 (not used)\n
@@ -159,6 +163,7 @@ typedef enum
*/
/** @defgroup I2C_Error_Code_definition I2C Error Code definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief I2C Error Code definition
* @{
*/
@@ -180,6 +185,7 @@ typedef enum
*/
/** @defgroup I2C_handle_Structure_definition I2C handle Structure definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief I2C handle Structure definition
* @{
*/
@@ -273,10 +279,12 @@ typedef void (*pI2C_AddrCallbackTypeDef)(I2C_HandleTypeDef *hi2c, uint8_t Trans
/* Exported constants --------------------------------------------------------*/
/** @defgroup I2C_Exported_Constants I2C Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup I2C_XFEROPTIONS I2C Sequential Transfer Options
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define I2C_FIRST_FRAME ((uint32_t)I2C_SOFTEND_MODE)
@@ -296,6 +304,7 @@ typedef void (*pI2C_AddrCallbackTypeDef)(I2C_HandleTypeDef *hi2c, uint8_t Trans
*/
/** @defgroup I2C_ADDRESSING_MODE I2C Addressing Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define I2C_ADDRESSINGMODE_7BIT (0x00000001U)
@@ -305,6 +314,7 @@ typedef void (*pI2C_AddrCallbackTypeDef)(I2C_HandleTypeDef *hi2c, uint8_t Trans
*/
/** @defgroup I2C_DUAL_ADDRESSING_MODE I2C Dual Addressing Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define I2C_DUALADDRESS_DISABLE (0x00000000U)
@@ -314,6 +324,7 @@ typedef void (*pI2C_AddrCallbackTypeDef)(I2C_HandleTypeDef *hi2c, uint8_t Trans
*/
/** @defgroup I2C_OWN_ADDRESS2_MASKS I2C Own Address2 Masks
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define I2C_OA2_NOMASK ((uint8_t)0x00U)
@@ -329,6 +340,7 @@ typedef void (*pI2C_AddrCallbackTypeDef)(I2C_HandleTypeDef *hi2c, uint8_t Trans
*/
/** @defgroup I2C_GENERAL_CALL_ADDRESSING_MODE I2C General Call Addressing Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define I2C_GENERALCALL_DISABLE (0x00000000U)
@@ -338,6 +350,7 @@ typedef void (*pI2C_AddrCallbackTypeDef)(I2C_HandleTypeDef *hi2c, uint8_t Trans
*/
/** @defgroup I2C_NOSTRETCH_MODE I2C No-Stretch Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define I2C_NOSTRETCH_DISABLE (0x00000000U)
@@ -347,6 +360,7 @@ typedef void (*pI2C_AddrCallbackTypeDef)(I2C_HandleTypeDef *hi2c, uint8_t Trans
*/
/** @defgroup I2C_MEMORY_ADDRESS_SIZE I2C Memory Address Size
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define I2C_MEMADD_SIZE_8BIT (0x00000001U)
@@ -356,6 +370,7 @@ typedef void (*pI2C_AddrCallbackTypeDef)(I2C_HandleTypeDef *hi2c, uint8_t Trans
*/
/** @defgroup I2C_XFERDIRECTION I2C Transfer Direction Master Point of View
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define I2C_DIRECTION_TRANSMIT (0x00000000U)
@@ -365,6 +380,7 @@ typedef void (*pI2C_AddrCallbackTypeDef)(I2C_HandleTypeDef *hi2c, uint8_t Trans
*/
/** @defgroup I2C_RELOAD_END_MODE I2C Reload End Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define I2C_RELOAD_MODE I2C_CR2_RELOAD
@@ -375,6 +391,7 @@ typedef void (*pI2C_AddrCallbackTypeDef)(I2C_HandleTypeDef *hi2c, uint8_t Trans
*/
/** @defgroup I2C_START_STOP_MODE I2C Start or Stop Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define I2C_NO_STARTSTOP (0x00000000U)
@@ -386,6 +403,7 @@ typedef void (*pI2C_AddrCallbackTypeDef)(I2C_HandleTypeDef *hi2c, uint8_t Trans
*/
/** @defgroup I2C_Interrupt_configuration_definition I2C Interrupt configuration definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief I2C Interrupt definition
* Elements values convention: 0xXXXXXXXX
* - XXXXXXXX : Interrupt control mask
@@ -403,6 +421,7 @@ typedef void (*pI2C_AddrCallbackTypeDef)(I2C_HandleTypeDef *hi2c, uint8_t Trans
*/
/** @defgroup I2C_Flag_definition I2C Flag definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define I2C_FLAG_TXE I2C_ISR_TXE
@@ -432,6 +451,7 @@ typedef void (*pI2C_AddrCallbackTypeDef)(I2C_HandleTypeDef *hi2c, uint8_t Trans
/* Exported macros -----------------------------------------------------------*/
/** @defgroup I2C_Exported_Macros I2C Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -676,6 +696,7 @@ uint32_t HAL_I2C_GetError(I2C_HandleTypeDef *hi2c);
/* Private constants ---------------------------------------------------------*/
/** @defgroup I2C_Private_Constants I2C Private Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -685,6 +706,7 @@ uint32_t HAL_I2C_GetError(I2C_HandleTypeDef *hi2c);
/* Private macros ------------------------------------------------------------*/
/** @defgroup I2C_Private_Macro I2C Private Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -757,6 +779,7 @@ uint32_t HAL_I2C_GetError(I2C_HandleTypeDef *hi2c);
/* Private Functions ---------------------------------------------------------*/
/** @defgroup I2C_Private_Functions I2C Private Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/* Private functions are defined in stm32h7xx_hal_i2c.c file */
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_hal_i2c_ex.h b/bsps/arm/stm32h7/include/stm32h7xx_hal_i2c_ex.h
index bf89420b99..2559c6a394 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_hal_i2c_ex.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_hal_i2c_ex.h
@@ -40,10 +40,12 @@ extern "C" {
/* Exported constants --------------------------------------------------------*/
/** @defgroup I2CEx_Exported_Constants I2C Extended Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup I2CEx_Analog_Filter I2C Extended Analog Filter
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define I2C_ANALOGFILTER_ENABLE 0x00000000U
@@ -53,6 +55,7 @@ extern "C" {
*/
/** @defgroup I2CEx_FastModePlus I2C Extended Fast Mode Plus
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define I2C_FASTMODEPLUS_PB6 SYSCFG_PMCR_I2C_PB6_FMP /*!< Enable Fast Mode Plus on PB6 */
@@ -93,6 +96,7 @@ void HAL_I2CEx_DisableFastModePlus(uint32_t ConfigFastModePlus);
/* Private constants ---------------------------------------------------------*/
/** @defgroup I2CEx_Private_Constants I2C Extended Private Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -102,6 +106,7 @@ void HAL_I2CEx_DisableFastModePlus(uint32_t ConfigFastModePlus);
/* Private macros ------------------------------------------------------------*/
/** @defgroup I2CEx_Private_Macro I2C Extended Private Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define IS_I2C_ANALOG_FILTER(FILTER) (((FILTER) == I2C_ANALOGFILTER_ENABLE) || \
@@ -149,6 +154,7 @@ void HAL_I2CEx_DisableFastModePlus(uint32_t ConfigFastModePlus);
/* Private Functions ---------------------------------------------------------*/
/** @defgroup I2CEx_Private_Functions I2C Extended Private Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/* Private functions are defined in stm32h7xx_hal_i2c_ex.c file */
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_hal_i2s.h b/bsps/arm/stm32h7/include/stm32h7xx_hal_i2s.h
index de19b9f6c5..a618418706 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_hal_i2s.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_hal_i2s.h
@@ -38,6 +38,7 @@ extern "C" {
/* Exported types ------------------------------------------------------------*/
/** @defgroup I2S_Exported_Types I2S Exported Types
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -174,9 +175,11 @@ typedef void (*pI2S_CallbackTypeDef)(I2S_HandleTypeDef *hi2s); /*!< pointer to
/* Exported constants --------------------------------------------------------*/
/** @defgroup I2S_Exported_Constants I2S Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup I2S_Error I2S Error
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_I2S_ERROR_NONE (0x00000000UL) /*!< No error */
@@ -196,6 +199,7 @@ typedef void (*pI2S_CallbackTypeDef)(I2S_HandleTypeDef *hi2s); /*!< pointer to
*/
/** @defgroup I2S_Mode I2S Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define I2S_MODE_SLAVE_TX (0x00000000UL)
@@ -209,6 +213,7 @@ typedef void (*pI2S_CallbackTypeDef)(I2S_HandleTypeDef *hi2s); /*!< pointer to
*/
/** @defgroup I2S_Standard I2S Standard
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define I2S_STANDARD_PHILIPS (0x00000000UL)
@@ -221,6 +226,7 @@ typedef void (*pI2S_CallbackTypeDef)(I2S_HandleTypeDef *hi2s); /*!< pointer to
*/
/** @defgroup I2S_Data_Format I2S Data Format
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define I2S_DATAFORMAT_16B (0x00000000UL)
@@ -232,6 +238,7 @@ typedef void (*pI2S_CallbackTypeDef)(I2S_HandleTypeDef *hi2s); /*!< pointer to
*/
/** @defgroup I2S_MCLK_Output I2S MCLK Output
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define I2S_MCLKOUTPUT_ENABLE (SPI_I2SCFGR_MCKOE)
@@ -241,6 +248,7 @@ typedef void (*pI2S_CallbackTypeDef)(I2S_HandleTypeDef *hi2s); /*!< pointer to
*/
/** @defgroup I2S_Audio_Frequency I2S Audio Frequency
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define I2S_AUDIOFREQ_192K (192000UL)
@@ -258,6 +266,7 @@ typedef void (*pI2S_CallbackTypeDef)(I2S_HandleTypeDef *hi2s); /*!< pointer to
*/
/** @defgroup I2S_FullDuplex_Mode I2S FullDuplex Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define I2S_CPOL_LOW (0x00000000UL)
@@ -267,6 +276,7 @@ typedef void (*pI2S_CallbackTypeDef)(I2S_HandleTypeDef *hi2s); /*!< pointer to
*/
/** @defgroup I2S_MSB_LSB_Transmission I2S MSB LSB Transmission
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define I2S_FIRSTBIT_MSB (0x00000000UL)
@@ -276,6 +286,7 @@ typedef void (*pI2S_CallbackTypeDef)(I2S_HandleTypeDef *hi2s); /*!< pointer to
*/
/** @defgroup I2S_WSInversion I2S Word Select Inversion
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define I2S_WS_INVERSION_DISABLE (0x00000000UL)
@@ -285,6 +296,7 @@ typedef void (*pI2S_CallbackTypeDef)(I2S_HandleTypeDef *hi2s); /*!< pointer to
*/
/** @defgroup I2S_Data_24Bit_Alignment Data Padding 24Bit
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define I2S_DATA_24BIT_ALIGNMENT_RIGHT (0x00000000UL)
@@ -294,6 +306,7 @@ typedef void (*pI2S_CallbackTypeDef)(I2S_HandleTypeDef *hi2s); /*!< pointer to
*/
/** @defgroup I2S_Master_Keep_IO_State Keep IO State
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define I2S_MASTER_KEEP_IO_STATE_DISABLE (0x00000000U)
@@ -303,6 +316,7 @@ typedef void (*pI2S_CallbackTypeDef)(I2S_HandleTypeDef *hi2s); /*!< pointer to
*/
/** @defgroup I2S_Interrupts_Definition I2S Interrupts Definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define I2S_IT_RXP SPI_IER_RXPIE
@@ -316,6 +330,7 @@ typedef void (*pI2S_CallbackTypeDef)(I2S_HandleTypeDef *hi2s); /*!< pointer to
*/
/** @defgroup I2S_Flags_Definition I2S Flags Definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define I2S_FLAG_RXP SPI_SR_RXP /* I2S status flag : Rx-Packet available flag */
@@ -335,6 +350,7 @@ typedef void (*pI2S_CallbackTypeDef)(I2S_HandleTypeDef *hi2s); /*!< pointer to
/* Exported macros -----------------------------------------------------------*/
/** @defgroup I2S_Exported_macros I2S Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -517,6 +533,7 @@ uint32_t HAL_I2S_GetError(I2S_HandleTypeDef *hi2s);
/* Private variables ---------------------------------------------------------*/
/* Private constants ---------------------------------------------------------*/
/** @defgroup I2S_Private_Constants I2S Private Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -526,6 +543,7 @@ uint32_t HAL_I2S_GetError(I2S_HandleTypeDef *hi2s);
/* Private macros ------------------------------------------------------------*/
/** @defgroup I2S_Private_Macros I2S Private Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_hal_irda.h b/bsps/arm/stm32h7/include/stm32h7xx_hal_irda.h
index ea0750f492..e2721302e9 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_hal_irda.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_hal_irda.h
@@ -38,6 +38,7 @@ extern "C" {
/* Exported types ------------------------------------------------------------*/
/** @defgroup IRDA_Exported_Types IRDA Exported Types
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -232,10 +233,12 @@ typedef void (*pIRDA_CallbackTypeDef)(IRDA_HandleTypeDef *hirda); /*!< pointer
/* Exported constants --------------------------------------------------------*/
/** @defgroup IRDA_Exported_Constants IRDA Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup IRDA_State_Definition IRDA State Code Definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_IRDA_STATE_RESET 0x00000000U /*!< Peripheral is not initialized
@@ -260,6 +263,7 @@ typedef void (*pIRDA_CallbackTypeDef)(IRDA_HandleTypeDef *hirda); /*!< pointer
*/
/** @defgroup IRDA_Error_Definition IRDA Error Code Definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_IRDA_ERROR_NONE ((uint32_t)0x00000000U) /*!< No error */
@@ -277,6 +281,7 @@ typedef void (*pIRDA_CallbackTypeDef)(IRDA_HandleTypeDef *hirda); /*!< pointer
*/
/** @defgroup IRDA_Parity IRDA Parity
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define IRDA_PARITY_NONE 0x00000000U /*!< No parity */
@@ -287,6 +292,7 @@ typedef void (*pIRDA_CallbackTypeDef)(IRDA_HandleTypeDef *hirda); /*!< pointer
*/
/** @defgroup IRDA_Transfer_Mode IRDA Transfer Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define IRDA_MODE_RX USART_CR1_RE /*!< RX mode */
@@ -297,6 +303,7 @@ typedef void (*pIRDA_CallbackTypeDef)(IRDA_HandleTypeDef *hirda); /*!< pointer
*/
/** @defgroup IRDA_Low_Power IRDA Low Power
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define IRDA_POWERMODE_NORMAL 0x00000000U /*!< IRDA normal power mode */
@@ -306,6 +313,7 @@ typedef void (*pIRDA_CallbackTypeDef)(IRDA_HandleTypeDef *hirda); /*!< pointer
*/
/** @defgroup IRDA_ClockPrescaler IRDA Clock Prescaler
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define IRDA_PRESCALER_DIV1 0x00000000U /*!< fclk_pres = fclk */
@@ -325,6 +333,7 @@ typedef void (*pIRDA_CallbackTypeDef)(IRDA_HandleTypeDef *hirda); /*!< pointer
*/
/** @defgroup IRDA_State IRDA State
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define IRDA_STATE_DISABLE 0x00000000U /*!< IRDA disabled */
@@ -334,6 +343,7 @@ typedef void (*pIRDA_CallbackTypeDef)(IRDA_HandleTypeDef *hirda); /*!< pointer
*/
/** @defgroup IRDA_Mode IRDA Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define IRDA_MODE_DISABLE 0x00000000U /*!< Associated UART disabled in IRDA mode */
@@ -343,6 +353,7 @@ typedef void (*pIRDA_CallbackTypeDef)(IRDA_HandleTypeDef *hirda); /*!< pointer
*/
/** @defgroup IRDA_One_Bit IRDA One Bit Sampling
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define IRDA_ONE_BIT_SAMPLE_DISABLE 0x00000000U /*!< One-bit sampling disabled */
@@ -352,6 +363,7 @@ typedef void (*pIRDA_CallbackTypeDef)(IRDA_HandleTypeDef *hirda); /*!< pointer
*/
/** @defgroup IRDA_DMA_Tx IRDA DMA Tx
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define IRDA_DMA_TX_DISABLE 0x00000000U /*!< IRDA DMA TX disabled */
@@ -361,6 +373,7 @@ typedef void (*pIRDA_CallbackTypeDef)(IRDA_HandleTypeDef *hirda); /*!< pointer
*/
/** @defgroup IRDA_DMA_Rx IRDA DMA Rx
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define IRDA_DMA_RX_DISABLE 0x00000000U /*!< IRDA DMA RX disabled */
@@ -370,6 +383,7 @@ typedef void (*pIRDA_CallbackTypeDef)(IRDA_HandleTypeDef *hirda); /*!< pointer
*/
/** @defgroup IRDA_Request_Parameters IRDA Request Parameters
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define IRDA_AUTOBAUD_REQUEST USART_RQR_ABRRQ /*!< Auto-Baud Rate Request */
@@ -380,6 +394,7 @@ typedef void (*pIRDA_CallbackTypeDef)(IRDA_HandleTypeDef *hirda); /*!< pointer
*/
/** @defgroup IRDA_Flags IRDA Flags
+ * @ingroup RTEMSBSPsARMSTM32H7
* Elements values convention: 0xXXXX
* - 0xXXXX : Flag mask in the ISR register
* @{
@@ -401,6 +416,7 @@ typedef void (*pIRDA_CallbackTypeDef)(IRDA_HandleTypeDef *hirda); /*!< pointer
*/
/** @defgroup IRDA_Interrupt_definition IRDA Interrupts Definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* Elements values convention: 0000ZZZZ0XXYYYYYb
* - YYYYY : Interrupt source position in the XX register (5bits)
* - XX : Interrupt source register (2bits)
@@ -434,6 +450,7 @@ typedef void (*pIRDA_CallbackTypeDef)(IRDA_HandleTypeDef *hirda); /*!< pointer
*/
/** @defgroup IRDA_IT_CLEAR_Flags IRDA Interruption Clear Flags
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define IRDA_CLEAR_PEF USART_ICR_PECF /*!< Parity Error Clear Flag */
@@ -447,6 +464,7 @@ typedef void (*pIRDA_CallbackTypeDef)(IRDA_HandleTypeDef *hirda); /*!< pointer
*/
/** @defgroup IRDA_Interruption_Mask IRDA interruptions flags mask
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define IRDA_IT_MASK 0x001FU /*!< IRDA Interruptions flags mask */
@@ -464,6 +482,7 @@ typedef void (*pIRDA_CallbackTypeDef)(IRDA_HandleTypeDef *hirda); /*!< pointer
/* Exported macros -----------------------------------------------------------*/
/** @defgroup IRDA_Exported_Macros IRDA Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_hal_irda_ex.h b/bsps/arm/stm32h7/include/stm32h7xx_hal_irda_ex.h
index 95b1e7eaa2..0bae1035a9 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_hal_irda_ex.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_hal_irda_ex.h
@@ -33,6 +33,7 @@ extern "C" {
*/
/** @defgroup IRDAEx IRDAEx
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief IRDA Extended HAL module driver
* @{
*/
@@ -40,10 +41,12 @@ extern "C" {
/* Exported types ------------------------------------------------------------*/
/* Exported constants --------------------------------------------------------*/
/** @defgroup IRDAEx_Extended_Exported_Constants IRDAEx Extended Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup IRDAEx_Word_Length IRDAEx Word Length
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define IRDA_WORDLENGTH_7B USART_CR1_M1 /*!< 7-bit long frame */
@@ -62,6 +65,7 @@ extern "C" {
/* Private macros ------------------------------------------------------------*/
/** @defgroup IRDAEx_Private_Macros IRDAEx Private Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_hal_iwdg.h b/bsps/arm/stm32h7/include/stm32h7xx_hal_iwdg.h
index a5c7b9f913..62c30a5ee6 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_hal_iwdg.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_hal_iwdg.h
@@ -33,11 +33,13 @@ extern "C" {
*/
/** @defgroup IWDG IWDG
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/* Exported types ------------------------------------------------------------*/
/** @defgroup IWDG_Exported_Types IWDG Exported Types
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -74,10 +76,12 @@ typedef struct
/* Exported constants --------------------------------------------------------*/
/** @defgroup IWDG_Exported_Constants IWDG Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup IWDG_Prescaler IWDG Prescaler
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define IWDG_PRESCALER_4 0x00000000u /*!< IWDG prescaler set to 4 */
@@ -93,6 +97,7 @@ typedef struct
*/
/** @defgroup IWDG_Window_option IWDG Window option
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define IWDG_WINDOW_DISABLE IWDG_WINR_WIN
@@ -107,6 +112,7 @@ typedef struct
/* Exported macros -----------------------------------------------------------*/
/** @defgroup IWDG_Exported_Macros IWDG Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -131,10 +137,12 @@ typedef struct
/* Exported functions --------------------------------------------------------*/
/** @defgroup IWDG_Exported_Functions IWDG Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup IWDG_Exported_Functions_Group1 Initialization and Start functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/* Initialization/Start functions ********************************************/
@@ -144,6 +152,7 @@ HAL_StatusTypeDef HAL_IWDG_Init(IWDG_HandleTypeDef *hiwdg);
*/
/** @defgroup IWDG_Exported_Functions_Group2 IO operation functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/* I/O operation functions ****************************************************/
@@ -158,6 +167,7 @@ HAL_StatusTypeDef HAL_IWDG_Refresh(IWDG_HandleTypeDef *hiwdg);
/* Private constants ---------------------------------------------------------*/
/** @defgroup IWDG_Private_Constants IWDG Private Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -175,6 +185,7 @@ HAL_StatusTypeDef HAL_IWDG_Refresh(IWDG_HandleTypeDef *hiwdg);
/* Private macros ------------------------------------------------------------*/
/** @defgroup IWDG_Private_Macros IWDG Private Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_hal_jpeg.h b/bsps/arm/stm32h7/include/stm32h7xx_hal_jpeg.h
index 419c435d23..fc67a7cbb5 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_hal_jpeg.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_hal_jpeg.h
@@ -40,10 +40,12 @@ extern "C" {
/* Exported types ------------------------------------------------------------*/
/** @defgroup JPEG_Exported_Types JPEG Exported Types
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup JPEG_Configuration_Structure_definition JPEG Configuration for encoding Structure definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief JPEG encoding configuration Structure definition
* @{
*/
@@ -67,6 +69,7 @@ typedef struct
*/
/** @defgroup HAL_JPEG_state_structure_definition HAL JPEG state structure definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief HAL JPEG State structure definition
* @{
*/
@@ -87,6 +90,7 @@ typedef enum
/** @defgroup JPEG_handle_Structure_definition JPEG handle Structure definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief JPEG handle Structure definition
* @{
*/
@@ -164,6 +168,7 @@ typedef struct
#if (USE_HAL_JPEG_REGISTER_CALLBACKS == 1)
/** @defgroup HAL_JPEG_Callback_ID_enumeration_definition HAL JPEG Callback ID enumeration definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief HAL JPEG Callback ID enumeration definition
* @{
*/
@@ -182,6 +187,7 @@ typedef enum
*/
/** @defgroup HAL_JPEG_Callback_pointer_definition HAL JPEG Callback pointer definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief HAL JPEG Callback pointer definition
* @{
*/
@@ -205,10 +211,12 @@ typedef void (*pJPEG_DataReadyCallbackTypeDef)(JPEG_HandleTypeDef *hjpeg, uint8
/* Exported constants --------------------------------------------------------*/
/** @defgroup JPEG_Exported_Constants JPEG Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup JPEG_Error_Code_definition JPEG Error Code definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief JPEG Error Code definition
* @{
*/
@@ -226,6 +234,7 @@ typedef void (*pJPEG_DataReadyCallbackTypeDef)(JPEG_HandleTypeDef *hjpeg, uint8
*/
/** @defgroup JPEG_Quantization_Table_Size JPEG Quantization Table Size
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief JPEG Quantization Table Size
* @{
*/
@@ -236,6 +245,7 @@ typedef void (*pJPEG_DataReadyCallbackTypeDef)(JPEG_HandleTypeDef *hjpeg, uint8
/** @defgroup JPEG_ColorSpace JPEG ColorSpace
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief JPEG Color Space
* @{
*/
@@ -250,6 +260,7 @@ typedef void (*pJPEG_DataReadyCallbackTypeDef)(JPEG_HandleTypeDef *hjpeg, uint8
/** @defgroup JPEG_ChromaSubsampling JPEG Chrominance Sampling
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief JPEG Chrominance Sampling
* @{
*/
@@ -262,6 +273,7 @@ typedef void (*pJPEG_DataReadyCallbackTypeDef)(JPEG_HandleTypeDef *hjpeg, uint8
*/
/** @defgroup JPEG_ImageQuality JPEG Image Quality
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief JPEG Min and Max Image Quality
* @{
*/
@@ -273,6 +285,7 @@ typedef void (*pJPEG_DataReadyCallbackTypeDef)(JPEG_HandleTypeDef *hjpeg, uint8
*/
/** @defgroup JPEG_Interrupt_configuration_definition JPEG Interrupt configuration definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief JPEG Interrupt definition
* @{
*/
@@ -287,6 +300,7 @@ typedef void (*pJPEG_DataReadyCallbackTypeDef)(JPEG_HandleTypeDef *hjpeg, uint8
*/
/** @defgroup JPEG_Flag_definition JPEG Flag definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief JPEG Flags definition
* @{
*/
@@ -304,6 +318,7 @@ typedef void (*pJPEG_DataReadyCallbackTypeDef)(JPEG_HandleTypeDef *hjpeg, uint8
*/
/** @defgroup JPEG_PROCESS_PAUSE_RESUME_definition JPEG Process Pause Resume definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief JPEG process pause, resume definition
* @{
*/
@@ -320,6 +335,7 @@ typedef void (*pJPEG_DataReadyCallbackTypeDef)(JPEG_HandleTypeDef *hjpeg, uint8
/* Exported macro ------------------------------------------------------------*/
/** @defgroup JPEG_Exported_Macros JPEG Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -561,6 +577,7 @@ uint32_t HAL_JPEG_GetError(JPEG_HandleTypeDef *hjpeg);
/* Private types -------------------------------------------------------------*/
/** @defgroup JPEG_Private_Types JPEG Private Types
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -570,6 +587,7 @@ uint32_t HAL_JPEG_GetError(JPEG_HandleTypeDef *hjpeg);
/* Private defines -----------------------------------------------------------*/
/** @defgroup JPEG_Private_Defines JPEG Private Defines
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -579,6 +597,7 @@ uint32_t HAL_JPEG_GetError(JPEG_HandleTypeDef *hjpeg);
/* Private variables ---------------------------------------------------------*/
/** @defgroup JPEG_Private_Variables JPEG Private Variables
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -588,6 +607,7 @@ uint32_t HAL_JPEG_GetError(JPEG_HandleTypeDef *hjpeg);
/* Private constants ---------------------------------------------------------*/
/** @defgroup JPEG_Private_Constants JPEG Private Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -597,6 +617,7 @@ uint32_t HAL_JPEG_GetError(JPEG_HandleTypeDef *hjpeg);
/* Private macros ------------------------------------------------------------*/
/** @defgroup JPEG_Private_Macros JPEG Private Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -620,6 +641,7 @@ uint32_t HAL_JPEG_GetError(JPEG_HandleTypeDef *hjpeg);
/* Private functions prototypes ----------------------------------------------*/
/** @defgroup JPEG_Private_Functions_Prototypes JPEG Private Functions Prototypes
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -629,6 +651,7 @@ uint32_t HAL_JPEG_GetError(JPEG_HandleTypeDef *hjpeg);
/* Private functions ---------------------------------------------------------*/
/** @defgroup JPEG_Private_Functions JPEG Private Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_hal_lptim.h b/bsps/arm/stm32h7/include/stm32h7xx_hal_lptim.h
index e2c70be4a3..806dedade1 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_hal_lptim.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_hal_lptim.h
@@ -40,6 +40,7 @@ extern "C" {
/* Exported types ------------------------------------------------------------*/
/** @defgroup LPTIM_Exported_Types LPTIM Exported Types
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -195,10 +196,12 @@ typedef void (*pLPTIM_CallbackTypeDef)(LPTIM_HandleTypeDef *hlptim); /*!< poin
/* Exported constants --------------------------------------------------------*/
/** @defgroup LPTIM_Exported_Constants LPTIM Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup LPTIM_Clock_Source LPTIM Clock Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LPTIM_CLOCKSOURCE_APBCLOCK_LPOSC 0x00000000U
@@ -208,6 +211,7 @@ typedef void (*pLPTIM_CallbackTypeDef)(LPTIM_HandleTypeDef *hlptim); /*!< poin
*/
/** @defgroup LPTIM_Clock_Prescaler LPTIM Clock Prescaler
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LPTIM_PRESCALER_DIV1 0x00000000U
@@ -223,6 +227,7 @@ typedef void (*pLPTIM_CallbackTypeDef)(LPTIM_HandleTypeDef *hlptim); /*!< poin
*/
/** @defgroup LPTIM_Output_Polarity LPTIM Output Polarity
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -233,6 +238,7 @@ typedef void (*pLPTIM_CallbackTypeDef)(LPTIM_HandleTypeDef *hlptim); /*!< poin
*/
/** @defgroup LPTIM_Clock_Sample_Time LPTIM Clock Sample Time
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LPTIM_CLOCKSAMPLETIME_DIRECTTRANSITION 0x00000000U
@@ -244,6 +250,7 @@ typedef void (*pLPTIM_CallbackTypeDef)(LPTIM_HandleTypeDef *hlptim); /*!< poin
*/
/** @defgroup LPTIM_Clock_Polarity LPTIM Clock Polarity
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LPTIM_CLOCKPOLARITY_RISING 0x00000000U
@@ -254,6 +261,7 @@ typedef void (*pLPTIM_CallbackTypeDef)(LPTIM_HandleTypeDef *hlptim); /*!< poin
*/
/** @defgroup LPTIM_Trigger_Source LPTIM Trigger Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LPTIM_TRIGSOURCE_SOFTWARE 0x0000FFFFU
@@ -270,6 +278,7 @@ typedef void (*pLPTIM_CallbackTypeDef)(LPTIM_HandleTypeDef *hlptim); /*!< poin
*/
/** @defgroup LPTIM_External_Trigger_Polarity LPTIM External Trigger Polarity
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LPTIM_ACTIVEEDGE_RISING LPTIM_CFGR_TRIGEN_0
@@ -280,6 +289,7 @@ typedef void (*pLPTIM_CallbackTypeDef)(LPTIM_HandleTypeDef *hlptim); /*!< poin
*/
/** @defgroup LPTIM_Trigger_Sample_Time LPTIM Trigger Sample Time
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LPTIM_TRIGSAMPLETIME_DIRECTTRANSITION 0x00000000U
@@ -291,6 +301,7 @@ typedef void (*pLPTIM_CallbackTypeDef)(LPTIM_HandleTypeDef *hlptim); /*!< poin
*/
/** @defgroup LPTIM_Updating_Mode LPTIM Updating Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -301,6 +312,7 @@ typedef void (*pLPTIM_CallbackTypeDef)(LPTIM_HandleTypeDef *hlptim); /*!< poin
*/
/** @defgroup LPTIM_Counter_Source LPTIM Counter Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -311,6 +323,7 @@ typedef void (*pLPTIM_CallbackTypeDef)(LPTIM_HandleTypeDef *hlptim); /*!< poin
*/
/** @defgroup LPTIM_Input1_Source LPTIM Input1 Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -326,6 +339,7 @@ typedef void (*pLPTIM_CallbackTypeDef)(LPTIM_HandleTypeDef *hlptim); /*!< poin
*/
/** @defgroup LPTIM_Input2_Source LPTIM Input2 Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -336,6 +350,7 @@ typedef void (*pLPTIM_CallbackTypeDef)(LPTIM_HandleTypeDef *hlptim); /*!< poin
*/
/** @defgroup LPTIM_Flag_Definition LPTIM Flags Definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -351,6 +366,7 @@ typedef void (*pLPTIM_CallbackTypeDef)(LPTIM_HandleTypeDef *hlptim); /*!< poin
*/
/** @defgroup LPTIM_Interrupts_Definition LPTIM Interrupts Definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LPTIM_IT_DOWN LPTIM_IER_DOWNIE
@@ -370,6 +386,7 @@ typedef void (*pLPTIM_CallbackTypeDef)(LPTIM_HandleTypeDef *hlptim); /*!< poin
/* Exported macros -----------------------------------------------------------*/
/** @defgroup LPTIM_Exported_Macros LPTIM Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -540,6 +557,7 @@ typedef void (*pLPTIM_CallbackTypeDef)(LPTIM_HandleTypeDef *hlptim); /*!< poin
/* Exported functions --------------------------------------------------------*/
/** @defgroup LPTIM_Exported_Functions LPTIM Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -667,6 +685,7 @@ HAL_LPTIM_StateTypeDef HAL_LPTIM_GetState(LPTIM_HandleTypeDef *hlptim);
/* Private types -------------------------------------------------------------*/
/** @defgroup LPTIM_Private_Types LPTIM Private Types
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -676,6 +695,7 @@ HAL_LPTIM_StateTypeDef HAL_LPTIM_GetState(LPTIM_HandleTypeDef *hlptim);
/* Private variables ---------------------------------------------------------*/
/** @defgroup LPTIM_Private_Variables LPTIM Private Variables
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -685,6 +705,7 @@ HAL_LPTIM_StateTypeDef HAL_LPTIM_GetState(LPTIM_HandleTypeDef *hlptim);
/* Private constants ---------------------------------------------------------*/
/** @defgroup LPTIM_Private_Constants LPTIM Private Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -694,6 +715,7 @@ HAL_LPTIM_StateTypeDef HAL_LPTIM_GetState(LPTIM_HandleTypeDef *hlptim);
/* Private macros ------------------------------------------------------------*/
/** @defgroup LPTIM_Private_Macros LPTIM Private Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -785,6 +807,7 @@ HAL_LPTIM_StateTypeDef HAL_LPTIM_GetState(LPTIM_HandleTypeDef *hlptim);
/* Private functions ---------------------------------------------------------*/
/** @defgroup LPTIM_Private_Functions LPTIM Private Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
void LPTIM_Disable(LPTIM_HandleTypeDef *hlptim);
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_hal_ltdc.h b/bsps/arm/stm32h7/include/stm32h7xx_hal_ltdc.h
index 319068c27a..3fdd32f178 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_hal_ltdc.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_hal_ltdc.h
@@ -35,12 +35,14 @@ extern "C" {
*/
/** @defgroup LTDC LTDC
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief LTDC HAL module driver
* @{
*/
/* Exported types ------------------------------------------------------------*/
/** @defgroup LTDC_Exported_Types LTDC Exported Types
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define MAX_LAYER 2U
@@ -223,10 +225,12 @@ typedef void (*pLTDC_CallbackTypeDef)(LTDC_HandleTypeDef *hltdc); /*!< pointer
/* Exported constants --------------------------------------------------------*/
/** @defgroup LTDC_Exported_Constants LTDC Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup LTDC_Error_Code LTDC Error Code
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_LTDC_ERROR_NONE 0x00000000U /*!< LTDC No error */
@@ -241,6 +245,7 @@ typedef void (*pLTDC_CallbackTypeDef)(LTDC_HandleTypeDef *hltdc); /*!< pointer
*/
/** @defgroup LTDC_Layer LTDC Layer
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LTDC_LAYER_1 0x00000000U /*!< LTDC Layer 1 */
@@ -250,6 +255,7 @@ typedef void (*pLTDC_CallbackTypeDef)(LTDC_HandleTypeDef *hltdc); /*!< pointer
*/
/** @defgroup LTDC_HS_POLARITY LTDC HS POLARITY
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LTDC_HSPOLARITY_AL 0x00000000U /*!< Horizontal Synchronization is active low. */
@@ -259,6 +265,7 @@ typedef void (*pLTDC_CallbackTypeDef)(LTDC_HandleTypeDef *hltdc); /*!< pointer
*/
/** @defgroup LTDC_VS_POLARITY LTDC VS POLARITY
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LTDC_VSPOLARITY_AL 0x00000000U /*!< Vertical Synchronization is active low. */
@@ -268,6 +275,7 @@ typedef void (*pLTDC_CallbackTypeDef)(LTDC_HandleTypeDef *hltdc); /*!< pointer
*/
/** @defgroup LTDC_DE_POLARITY LTDC DE POLARITY
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LTDC_DEPOLARITY_AL 0x00000000U /*!< Data Enable, is active low. */
@@ -277,6 +285,7 @@ typedef void (*pLTDC_CallbackTypeDef)(LTDC_HandleTypeDef *hltdc); /*!< pointer
*/
/** @defgroup LTDC_PC_POLARITY LTDC PC POLARITY
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LTDC_PCPOLARITY_IPC 0x00000000U /*!< input pixel clock. */
@@ -286,6 +295,7 @@ typedef void (*pLTDC_CallbackTypeDef)(LTDC_HandleTypeDef *hltdc); /*!< pointer
*/
/** @defgroup LTDC_SYNC LTDC SYNC
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LTDC_HORIZONTALSYNC (LTDC_SSCR_HSW >> 16U) /*!< Horizontal synchronization width. */
@@ -295,6 +305,7 @@ typedef void (*pLTDC_CallbackTypeDef)(LTDC_HandleTypeDef *hltdc); /*!< pointer
*/
/** @defgroup LTDC_BACK_COLOR LTDC BACK COLOR
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LTDC_COLOR 0x000000FFU /*!< Color mask */
@@ -303,6 +314,7 @@ typedef void (*pLTDC_CallbackTypeDef)(LTDC_HandleTypeDef *hltdc); /*!< pointer
*/
/** @defgroup LTDC_BlendingFactor1 LTDC Blending Factor1
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LTDC_BLENDING_FACTOR1_CA 0x00000400U /*!< Blending factor : Cte Alpha */
@@ -312,6 +324,7 @@ typedef void (*pLTDC_CallbackTypeDef)(LTDC_HandleTypeDef *hltdc); /*!< pointer
*/
/** @defgroup LTDC_BlendingFactor2 LTDC Blending Factor2
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LTDC_BLENDING_FACTOR2_CA 0x00000005U /*!< Blending factor : Cte Alpha */
@@ -321,6 +334,7 @@ typedef void (*pLTDC_CallbackTypeDef)(LTDC_HandleTypeDef *hltdc); /*!< pointer
*/
/** @defgroup LTDC_Pixelformat LTDC Pixel format
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LTDC_PIXEL_FORMAT_ARGB8888 0x00000000U /*!< ARGB8888 LTDC pixel format */
@@ -336,6 +350,7 @@ typedef void (*pLTDC_CallbackTypeDef)(LTDC_HandleTypeDef *hltdc); /*!< pointer
*/
/** @defgroup LTDC_Alpha LTDC Alpha
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LTDC_ALPHA LTDC_LxCACR_CONSTA /*!< LTDC Constant Alpha mask */
@@ -344,6 +359,7 @@ typedef void (*pLTDC_CallbackTypeDef)(LTDC_HandleTypeDef *hltdc); /*!< pointer
*/
/** @defgroup LTDC_LAYER_Config LTDC LAYER Config
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LTDC_STOPPOSITION (LTDC_LxWHPCR_WHSPPOS >> 16U) /*!< LTDC Layer stop position */
@@ -356,6 +372,7 @@ typedef void (*pLTDC_CallbackTypeDef)(LTDC_HandleTypeDef *hltdc); /*!< pointer
*/
/** @defgroup LTDC_Interrupts LTDC Interrupts
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LTDC_IT_LI LTDC_IER_LIE /*!< LTDC Line Interrupt */
@@ -367,6 +384,7 @@ typedef void (*pLTDC_CallbackTypeDef)(LTDC_HandleTypeDef *hltdc); /*!< pointer
*/
/** @defgroup LTDC_Flags LTDC Flags
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LTDC_FLAG_LI LTDC_ISR_LIF /*!< LTDC Line Interrupt Flag */
@@ -378,6 +396,7 @@ typedef void (*pLTDC_CallbackTypeDef)(LTDC_HandleTypeDef *hltdc); /*!< pointer
*/
/** @defgroup LTDC_Reload_Type LTDC Reload Type
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LTDC_RELOAD_IMMEDIATE LTDC_SRCR_IMR /*!< Immediate Reload */
@@ -392,6 +411,7 @@ typedef void (*pLTDC_CallbackTypeDef)(LTDC_HandleTypeDef *hltdc); /*!< pointer
/* Exported macro ------------------------------------------------------------*/
/** @defgroup LTDC_Exported_Macros LTDC Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -619,6 +639,7 @@ uint32_t HAL_LTDC_GetError(LTDC_HandleTypeDef *hltdc);
/* Private constants ---------------------------------------------------------*/
/* Private macros ------------------------------------------------------------*/
/** @defgroup LTDC_Private_Macros LTDC Private Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LTDC_LAYER(__HANDLE__, __LAYER__) ((LTDC_Layer_TypeDef *)((uint32_t)(((uint32_t)((__HANDLE__)->Instance)) + 0x84U + (0x80U*(__LAYER__)))))
@@ -662,6 +683,7 @@ uint32_t HAL_LTDC_GetError(LTDC_HandleTypeDef *hltdc);
/* Private functions ---------------------------------------------------------*/
/** @defgroup LTDC_Private_Functions LTDC Private Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_hal_mdios.h b/bsps/arm/stm32h7/include/stm32h7xx_hal_mdios.h
index cd68360faf..4d91ae7289 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_hal_mdios.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_hal_mdios.h
@@ -41,10 +41,12 @@
/* Exported types ------------------------------------------------------------*/
/** @defgroup MDIOS_Exported_Types MDIOS Exported Types
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup MDIOS_Exported_Types_Group1 MDIOS State structures definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -61,6 +63,7 @@ typedef enum
*/
/** @defgroup MDIOS_Exported_Types_Group2 MDIOS Init Structure definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -77,6 +80,7 @@ typedef struct
*/
/** @defgroup MDIOS_Exported_Types_Group4 MDIOS handle Structure definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -143,10 +147,12 @@ typedef void (*pMDIOS_CallbackTypeDef)(MDIOS_HandleTypeDef * hmdios); /*!< poin
/* Exported constants --------------------------------------------------------*/
/** @defgroup MDIOS_Exported_Constants MDIOS Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup MDIOS_Preamble_Check MDIOS Preamble Check
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define MDIOS_PREAMBLE_CHECK_ENABLE ((uint32_t)0x00000000U)
@@ -156,6 +162,7 @@ typedef void (*pMDIOS_CallbackTypeDef)(MDIOS_HandleTypeDef * hmdios); /*!< poin
*/
/** @defgroup MDIOS_Input_Output_Registers_Definitions MDIOS Input Output Registers Definitions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define MDIOS_REG0 ((uint32_t)0x00000000U)
@@ -195,6 +202,7 @@ typedef void (*pMDIOS_CallbackTypeDef)(MDIOS_HandleTypeDef * hmdios); /*!< poin
*/
/** @defgroup MDIOS_Registers_Flags MDIOS Registers Flags
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define MDIOS_REG0_FLAG ((uint32_t)0x00000001U)
@@ -235,6 +243,7 @@ typedef void (*pMDIOS_CallbackTypeDef)(MDIOS_HandleTypeDef * hmdios); /*!< poin
*/
/** @defgroup MDIOS_Interrupt_sources Interrupt Sources
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define MDIOS_IT_WRITE MDIOS_CR_WRIE
@@ -245,6 +254,7 @@ typedef void (*pMDIOS_CallbackTypeDef)(MDIOS_HandleTypeDef * hmdios); /*!< poin
*/
/** @defgroup MDIOS_Interrupt_Flags MDIOS Interrupt Flags
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define MDIOS_TURNAROUND_ERROR_FLAG MDIOS_SR_TERF
@@ -255,6 +265,7 @@ typedef void (*pMDIOS_CallbackTypeDef)(MDIOS_HandleTypeDef * hmdios); /*!< poin
*/
/** @defgroup MDIOS_Error_Code MDIOS Error Code
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_MDIOS_ERROR_NONE ((uint32_t)0x00000000U) /*!< No error */
@@ -270,6 +281,7 @@ typedef void (*pMDIOS_CallbackTypeDef)(MDIOS_HandleTypeDef * hmdios); /*!< poin
*/
/** @defgroup MDIOS_Wakeup_Line MDIOS Wakeup Line
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define MDIOS_WAKEUP_EXTI_LINE ((uint32_t)0x00000400) /* !< 42 - 32 = 10 */
@@ -282,6 +294,7 @@ typedef void (*pMDIOS_CallbackTypeDef)(MDIOS_HandleTypeDef * hmdios); /*!< poin
*/
/* Exported macros -----------------------------------------------------------*/
/** @defgroup MDIOS_Exported_Macros MDIOS Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -484,6 +497,7 @@ typedef void (*pMDIOS_CallbackTypeDef)(MDIOS_HandleTypeDef * hmdios); /*!< poin
/* Exported functions --------------------------------------------------------*/
/** @defgroup MDIOS_Exported_Functions MDIOS Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -540,6 +554,7 @@ HAL_MDIOS_StateTypeDef HAL_MDIOS_GetState(MDIOS_HandleTypeDef *hmdios);
/* Private types -------------------------------------------------------------*/
/** @defgroup MDIOS_Private_Types MDIOS Private Types
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -549,6 +564,7 @@ HAL_MDIOS_StateTypeDef HAL_MDIOS_GetState(MDIOS_HandleTypeDef *hmdios);
/* Private variables ---------------------------------------------------------*/
/** @defgroup MDIOS_Private_Variables MDIOS Private Variables
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -558,6 +574,7 @@ HAL_MDIOS_StateTypeDef HAL_MDIOS_GetState(MDIOS_HandleTypeDef *hmdios);
/* Private constants ---------------------------------------------------------*/
/** @defgroup MDIOS_Private_Constants MDIOS Private Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -567,6 +584,7 @@ HAL_MDIOS_StateTypeDef HAL_MDIOS_GetState(MDIOS_HandleTypeDef *hmdios);
/* Private macros ------------------------------------------------------------*/
/** @defgroup MDIOS_Private_Macros MDIOS Private Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -583,6 +601,7 @@ HAL_MDIOS_StateTypeDef HAL_MDIOS_GetState(MDIOS_HandleTypeDef *hmdios);
/* Private functions ---------------------------------------------------------*/
/** @defgroup MDIOS_Private_Functions MDIOS Private Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_hal_mdma.h b/bsps/arm/stm32h7/include/stm32h7xx_hal_mdma.h
index 6c1d9b714f..4ea3b0fd8e 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_hal_mdma.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_hal_mdma.h
@@ -39,6 +39,7 @@
/* Exported types ------------------------------------------------------------*/
/** @defgroup MDMA_Exported_Types MDMA Exported Types
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief MDMA Exported Types
* @{
*/
@@ -248,11 +249,13 @@ typedef struct __MDMA_HandleTypeDef
/* Exported constants --------------------------------------------------------*/
/** @defgroup MDMA_Exported_Constants MDMA Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief MDMA Exported constants
* @{
*/
/** @defgroup MDMA_Error_Codes MDMA Error Codes
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief MDMA Error Codes
* @{
*/
@@ -272,6 +275,7 @@ typedef struct __MDMA_HandleTypeDef
*/
/** @defgroup MDMA_Request_selection MDMA Request selection
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief MDMA_Request_selection
* @{
*/
@@ -336,6 +340,7 @@ typedef struct __MDMA_HandleTypeDef
*/
/** @defgroup MDMA_Transfer_TriggerMode MDMA Transfer Trigger Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief MDMA Transfer Trigger Mode
* @{
*/
@@ -349,6 +354,7 @@ typedef struct __MDMA_HandleTypeDef
*/
/** @defgroup MDMA_Priority_level MDMA Priority level
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief MDMA Priority level
* @{
*/
@@ -363,6 +369,7 @@ typedef struct __MDMA_HandleTypeDef
/** @defgroup MDMA_Endianness MDMA Endianness
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief MDMA Endianness
* @{
*/
@@ -376,6 +383,7 @@ typedef struct __MDMA_HandleTypeDef
*/
/** @defgroup MDMA_Source_increment_mode MDMA Source increment mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief MDMA Source increment mode
* @{
*/
@@ -394,6 +402,7 @@ typedef struct __MDMA_HandleTypeDef
*/
/** @defgroup MDMA_Destination_increment_mode MDMA Destination increment mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief MDMA Destination increment mode
* @{
*/
@@ -412,6 +421,7 @@ typedef struct __MDMA_HandleTypeDef
*/
/** @defgroup MDMA_Source_data_size MDMA Source data size
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief MDMA Source data size
* @{
*/
@@ -425,6 +435,7 @@ typedef struct __MDMA_HandleTypeDef
*/
/** @defgroup MDMA_Destination_data_size MDMA Destination data size
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief MDMA Destination data size
* @{
*/
@@ -438,6 +449,7 @@ typedef struct __MDMA_HandleTypeDef
*/
/** @defgroup MDMA_data_Alignment MDMA data alignment
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief MDMA data alignment
* @{
*/
@@ -453,6 +465,7 @@ typedef struct __MDMA_HandleTypeDef
*/
/** @defgroup MDMA_Source_burst MDMA Source burst
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief MDMA Source burst
* @{
*/
@@ -470,6 +483,7 @@ typedef struct __MDMA_HandleTypeDef
*/
/** @defgroup MDMA_Destination_burst MDMA Destination burst
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief MDMA Destination burst
* @{
*/
@@ -487,6 +501,7 @@ typedef struct __MDMA_HandleTypeDef
*/
/** @defgroup MDMA_interrupt_enable_definitions MDMA interrupt enable definitions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief MDMA interrupt enable definitions
* @{
*/
@@ -501,6 +516,7 @@ typedef struct __MDMA_HandleTypeDef
*/
/** @defgroup MDMA_flag_definitions MDMA flag definitions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief MDMA flag definitions
* @{
*/
@@ -522,6 +538,7 @@ typedef struct __MDMA_HandleTypeDef
/* Exported macro ------------------------------------------------------------*/
/** @defgroup MDMA_Exported_Macros MDMA Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -615,11 +632,13 @@ typedef struct __MDMA_HandleTypeDef
/* Exported functions --------------------------------------------------------*/
/** @defgroup MDMA_Exported_Functions MDMA Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/* Initialization and de-initialization functions *****************************/
/** @defgroup MDMA_Exported_Functions_Group1 Initialization and de-initialization functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Initialization and de-initialization functions
* @{
*/
@@ -636,6 +655,7 @@ HAL_StatusTypeDef HAL_MDMA_UnRegisterCallback(MDMA_HandleTypeDef *hmdma, HAL_MDM
/* Linked list operation functions ********************************************/
/** @defgroup MDMA_Exported_Functions_Group2 Linked List operation functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Linked list operation functions
* @{
*/
@@ -653,6 +673,7 @@ HAL_StatusTypeDef HAL_MDMA_LinkedList_DisableCircularMode(MDMA_HandleTypeDef *hm
/* IO operation functions *****************************************************/
/** @defgroup MDMA_Exported_Functions_Group3 I/O operation functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief I/O operation functions
* @{
*/
@@ -670,6 +691,7 @@ void HAL_MDMA_IRQHandler(MDMA_HandleTypeDef *hmdma);
/* Peripheral State and Error functions ***************************************/
/** @defgroup MDMA_Exported_Functions_Group4 Peripheral State functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Peripheral State functions
* @{
*/
@@ -686,6 +708,7 @@ uint32_t HAL_MDMA_GetError(MDMA_HandleTypeDef *hmdma);
/* Private types -------------------------------------------------------------*/
/** @defgroup MDMA_Private_Types MDMA Private Types
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -695,6 +718,7 @@ uint32_t HAL_MDMA_GetError(MDMA_HandleTypeDef *hmdma);
/* Private defines -----------------------------------------------------------*/
/** @defgroup MDMA_Private_Defines MDMA Private Defines
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -704,6 +728,7 @@ uint32_t HAL_MDMA_GetError(MDMA_HandleTypeDef *hmdma);
/* Private variables ---------------------------------------------------------*/
/** @defgroup MDMA_Private_Variables MDMA Private Variables
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -713,6 +738,7 @@ uint32_t HAL_MDMA_GetError(MDMA_HandleTypeDef *hmdma);
/* Private constants ---------------------------------------------------------*/
/** @defgroup MDMA_Private_Constants MDMA Private Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -722,6 +748,7 @@ uint32_t HAL_MDMA_GetError(MDMA_HandleTypeDef *hmdma);
/* Private macros ------------------------------------------------------------*/
/** @defgroup MDMA_Private_Macros MDMA Private Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -822,6 +849,7 @@ uint32_t HAL_MDMA_GetError(MDMA_HandleTypeDef *hmdma);
/* Private functions prototypes ----------------------------------------------*/
/** @defgroup MDMA_Private_Functions_Prototypes MDMA Private Functions Prototypes
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -831,6 +859,7 @@ uint32_t HAL_MDMA_GetError(MDMA_HandleTypeDef *hmdma);
/* Private functions ---------------------------------------------------------*/
/** @defgroup MDMA_Private_Functions MDMA Private Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_hal_mmc.h b/bsps/arm/stm32h7/include/stm32h7xx_hal_mmc.h
index c8679bba32..6565a05f3c 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_hal_mmc.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_hal_mmc.h
@@ -38,10 +38,12 @@
/* Exported types ------------------------------------------------------------*/
/** @defgroup MMC_Exported_Types MMC Exported Types
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup MMC_Exported_Types_Group1 MMC State enumeration structure
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
typedef enum
@@ -60,6 +62,7 @@ typedef enum
*/
/** @defgroup MMC_Exported_Types_Group2 MMC Card State enumeration structure
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
typedef uint32_t HAL_MMC_CardStateTypeDef;
@@ -78,6 +81,7 @@ typedef uint32_t HAL_MMC_CardStateTypeDef;
*/
/** @defgroup MMC_Exported_Types_Group3 MMC Handle Structure definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define MMC_InitTypeDef SDMMC_InitTypeDef
@@ -162,6 +166,7 @@ typedef struct
*/
/** @defgroup MMC_Exported_Types_Group4 Card Specific Data: CSD Register
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
typedef struct
@@ -210,6 +215,7 @@ typedef struct
*/
/** @defgroup MMC_Exported_Types_Group5 Card Identification Data: CID Register
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
typedef struct
@@ -232,6 +238,7 @@ typedef struct
#if defined (USE_HAL_MMC_REGISTER_CALLBACKS) && (USE_HAL_MMC_REGISTER_CALLBACKS == 1U)
/** @defgroup MMC_Exported_Types_Group6 MMC Callback ID enumeration definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
typedef enum
@@ -253,6 +260,7 @@ typedef enum
*/
/** @defgroup MMC_Exported_Types_Group7 MMC Callback pointer definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
typedef void (*pMMC_CallbackTypeDef) (MMC_HandleTypeDef *hmmc);
@@ -266,12 +274,14 @@ typedef void (*pMMC_CallbackTypeDef) (MMC_HandleTypeDef *hmmc);
/* Exported constants --------------------------------------------------------*/
/** @defgroup MMC_Exported_Constants Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define MMC_BLOCKSIZE ((uint32_t)512U) /*!< Block size is 512 bytes */
/** @defgroup MMC_Exported_Constansts_Group1 MMC Error status enumeration Structure definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_MMC_ERROR_NONE SDMMC_ERROR_NONE /*!< No error */
@@ -319,6 +329,7 @@ typedef void (*pMMC_CallbackTypeDef) (MMC_HandleTypeDef *hmmc);
*/
/** @defgroup MMC_Exported_Constansts_Group2 MMC context enumeration
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define MMC_CONTEXT_NONE ((uint32_t)0x00000000U) /*!< None */
@@ -334,6 +345,7 @@ typedef void (*pMMC_CallbackTypeDef) (MMC_HandleTypeDef *hmmc);
*/
/** @defgroup MMC_Exported_Constansts_Group3 MMC Voltage mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/**
@@ -349,6 +361,7 @@ typedef void (*pMMC_CallbackTypeDef) (MMC_HandleTypeDef *hmmc);
*/
/** @defgroup MMC_Exported_Constansts_Group4 MMC Memory Cards
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define MMC_LOW_CAPACITY_CARD ((uint32_t)0x00000000U) /*!< MMC Card Capacity <=2Gbytes */
@@ -364,6 +377,7 @@ typedef void (*pMMC_CallbackTypeDef) (MMC_HandleTypeDef *hmmc);
/* Exported macro ------------------------------------------------------------*/
/** @defgroup MMC_Exported_macros MMC Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief macros to handle interrupts and specific clock configurations
* @{
*/
@@ -585,10 +599,12 @@ typedef void (*pMMC_CallbackTypeDef) (MMC_HandleTypeDef *hmmc);
/* Exported functions --------------------------------------------------------*/
/** @defgroup MMC_Exported_Functions MMC Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup MMC_Exported_Functions_Group1 Initialization and de-initialization functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
HAL_StatusTypeDef HAL_MMC_Init(MMC_HandleTypeDef *hmmc);
@@ -602,6 +618,7 @@ void HAL_MMC_MspDeInit(MMC_HandleTypeDef *hmmc);
*/
/** @defgroup MMC_Exported_Functions_Group2 Input and Output operation functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/* Blocking mode: Polling */
@@ -633,6 +650,7 @@ HAL_StatusTypeDef HAL_MMC_UnRegisterCallback(MMC_HandleTypeDef *hmmc, HAL_MMC_Ca
*/
/** @defgroup MMC_Exported_Functions_Group3 Peripheral Control functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
HAL_StatusTypeDef HAL_MMC_ConfigWideBusOperation(MMC_HandleTypeDef *hmmc, uint32_t WideMode);
@@ -642,6 +660,7 @@ HAL_StatusTypeDef HAL_MMC_ConfigSpeedBusOperation(MMC_HandleTypeDef *hmmc, uint3
*/
/** @defgroup MMC_Exported_Functions_Group4 MMC card related functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
HAL_MMC_CardStateTypeDef HAL_MMC_GetCardState(MMC_HandleTypeDef *hmmc);
@@ -653,6 +672,7 @@ HAL_StatusTypeDef HAL_MMC_GetCardInfo(MMC_HandleTypeDef *hmmc, HAL_MMC_CardInfoT
*/
/** @defgroup MMC_Exported_Functions_Group5 Peripheral State and Errors functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
HAL_MMC_StateTypeDef HAL_MMC_GetState(MMC_HandleTypeDef *hmmc);
@@ -662,6 +682,7 @@ uint32_t HAL_MMC_GetError(MMC_HandleTypeDef *hmmc);
*/
/** @defgroup MMC_Exported_Functions_Group6 Perioheral Abort management
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
HAL_StatusTypeDef HAL_MMC_Abort(MMC_HandleTypeDef *hmmc);
@@ -672,6 +693,7 @@ HAL_StatusTypeDef HAL_MMC_Abort_IT(MMC_HandleTypeDef *hmmc);
/* Private types -------------------------------------------------------------*/
/** @defgroup MMC_Private_Types MMC Private Types
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -681,6 +703,7 @@ HAL_StatusTypeDef HAL_MMC_Abort_IT(MMC_HandleTypeDef *hmmc);
/* Private defines -----------------------------------------------------------*/
/** @defgroup MMC_Private_Defines MMC Private Defines
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -690,6 +713,7 @@ HAL_StatusTypeDef HAL_MMC_Abort_IT(MMC_HandleTypeDef *hmmc);
/* Private variables ---------------------------------------------------------*/
/** @defgroup MMC_Private_Variables MMC Private Variables
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -699,6 +723,7 @@ HAL_StatusTypeDef HAL_MMC_Abort_IT(MMC_HandleTypeDef *hmmc);
/* Private constants ---------------------------------------------------------*/
/** @defgroup MMC_Private_Constants MMC Private Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -708,6 +733,7 @@ HAL_StatusTypeDef HAL_MMC_Abort_IT(MMC_HandleTypeDef *hmmc);
/* Private macros ------------------------------------------------------------*/
/** @defgroup MMC_Private_Macros MMC Private Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -717,6 +743,7 @@ HAL_StatusTypeDef HAL_MMC_Abort_IT(MMC_HandleTypeDef *hmmc);
/* Private functions prototypes ----------------------------------------------*/
/** @defgroup MMC_Private_Functions_Prototypes MMC Private Functions Prototypes
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -726,6 +753,7 @@ HAL_StatusTypeDef HAL_MMC_Abort_IT(MMC_HandleTypeDef *hmmc);
/* Private functions ---------------------------------------------------------*/
/** @defgroup MMC_Private_Functions MMC Private Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_hal_mmc_ex.h b/bsps/arm/stm32h7/include/stm32h7xx_hal_mmc_ex.h
index 38f8838a29..414bf7aac8 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_hal_mmc_ex.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_hal_mmc_ex.h
@@ -39,10 +39,12 @@
/* Exported types ------------------------------------------------------------*/
/** @defgroup MMCEx_Exported_Types MMCEx Exported Types
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup MMCEx_Exported_Types_Group1 MMC Internal DMA Buffer structure
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
typedef enum
@@ -64,10 +66,12 @@ typedef enum
/* Exported macro ------------------------------------------------------------*/
/* Exported functions --------------------------------------------------------*/
/** @defgroup MMCEx_Exported_Functions MMCEx Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup MMCEx_Exported_Functions_Group1 MultiBuffer functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
HAL_StatusTypeDef HAL_MMCEx_ConfigDMAMultiBuffer(MMC_HandleTypeDef *hmmc, uint32_t * pDataBuffer0, uint32_t * pDataBuffer1, uint32_t BufferSize);
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_hal_nand.h b/bsps/arm/stm32h7/include/stm32h7xx_hal_nand.h
index 1f5fd6ee48..a8e107319f 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_hal_nand.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_hal_nand.h
@@ -40,6 +40,7 @@ extern "C" {
/* Exported typedef ----------------------------------------------------------*/
/* Exported types ------------------------------------------------------------*/
/** @defgroup NAND_Exported_Types NAND Exported Types
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -160,6 +161,7 @@ typedef void (*pNAND_CallbackTypeDef)(NAND_HandleTypeDef *hnand);
/* Exported constants --------------------------------------------------------*/
/* Exported macro ------------------------------------------------------------*/
/** @defgroup NAND_Exported_Macros NAND Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -269,6 +271,7 @@ uint32_t HAL_NAND_Read_Status(NAND_HandleTypeDef *hnand);
/* Private variables ---------------------------------------------------------*/
/* Private constants ---------------------------------------------------------*/
/** @defgroup NAND_Private_Constants NAND Private Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define NAND_DEVICE 0x80000000UL
@@ -304,6 +307,7 @@ uint32_t HAL_NAND_Read_Status(NAND_HandleTypeDef *hnand);
/* Private macros ------------------------------------------------------------*/
/** @defgroup NAND_Private_Macros NAND Private Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_hal_nor.h b/bsps/arm/stm32h7/include/stm32h7xx_hal_nor.h
index 51c65884c1..10794d8108 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_hal_nor.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_hal_nor.h
@@ -39,6 +39,7 @@ extern "C" {
/* Exported typedef ----------------------------------------------------------*/
/** @defgroup NOR_Exported_Types NOR Exported Types
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -148,6 +149,7 @@ typedef void (*pNOR_CallbackTypeDef)(NOR_HandleTypeDef *hnor);
/* Exported constants --------------------------------------------------------*/
/* Exported macro ------------------------------------------------------------*/
/** @defgroup NOR_Exported_Macros NOR Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @brief Reset NOR handle state
@@ -242,6 +244,7 @@ HAL_NOR_StatusTypeDef HAL_NOR_GetStatus(NOR_HandleTypeDef *hnor, uint32_t Addres
/* Private variables ---------------------------------------------------------*/
/* Private constants ---------------------------------------------------------*/
/** @defgroup NOR_Private_Constants NOR Private Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/* NOR device IDs addresses */
@@ -274,6 +277,7 @@ HAL_NOR_StatusTypeDef HAL_NOR_GetStatus(NOR_HandleTypeDef *hnor, uint32_t Addres
/* Private macros ------------------------------------------------------------*/
/** @defgroup NOR_Private_Macros NOR Private Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/**
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_hal_opamp.h b/bsps/arm/stm32h7/include/stm32h7xx_hal_opamp.h
index 31660157da..b626d17b56 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_hal_opamp.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_hal_opamp.h
@@ -39,6 +39,7 @@
/* Exported types ------------------------------------------------------------*/
/** @defgroup OPAMP_Exported_Types OPAMP Exported Types
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -170,10 +171,12 @@ typedef void (*pOPAMP_CallbackTypeDef)(OPAMP_HandleTypeDef *hopamp);
/* Exported constants --------------------------------------------------------*/
/** @defgroup OPAMP_Exported_Constants OPAMP Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup OPAMP_Mode OPAMP Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define OPAMP_STANDALONE_MODE 0x00000000U /*!< standalone mode */
@@ -185,6 +188,7 @@ typedef void (*pOPAMP_CallbackTypeDef)(OPAMP_HandleTypeDef *hopamp);
*/
/** @defgroup OPAMP_NonInvertingInput OPAMP Non Inverting Input
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -199,6 +203,7 @@ typedef void (*pOPAMP_CallbackTypeDef)(OPAMP_HandleTypeDef *hopamp);
*/
/** @defgroup OPAMP_InvertingInput OPAMP Inverting Input
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -210,6 +215,7 @@ typedef void (*pOPAMP_CallbackTypeDef)(OPAMP_HandleTypeDef *hopamp);
*/
/** @defgroup OPAMP_PgaConnect OPAMP Pga Connect
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -224,6 +230,7 @@ typedef void (*pOPAMP_CallbackTypeDef)(OPAMP_HandleTypeDef *hopamp);
*/
/** @defgroup OPAMP_PgaGain OPAMP Pga Gain
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -237,6 +244,7 @@ typedef void (*pOPAMP_CallbackTypeDef)(OPAMP_HandleTypeDef *hopamp);
*/
/** @defgroup OPAMP_PowerMode OPAMP PowerMode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define OPAMP_POWERMODE_NORMAL 0x00000000U
@@ -248,6 +256,7 @@ typedef void (*pOPAMP_CallbackTypeDef)(OPAMP_HandleTypeDef *hopamp);
/** @defgroup OPAMP_VREF OPAMP VREF
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -261,6 +270,7 @@ typedef void (*pOPAMP_CallbackTypeDef)(OPAMP_HandleTypeDef *hopamp);
*/
/** @defgroup OPAMP_UserTrimming OPAMP User Trimming
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define OPAMP_TRIMMING_FACTORY 0x00000000U /*!< Factory trimming */
@@ -272,6 +282,7 @@ typedef void (*pOPAMP_CallbackTypeDef)(OPAMP_HandleTypeDef *hopamp);
*/
/** @defgroup OPAMP_FactoryTrimming OPAMP Factory Trimming
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define OPAMP_FACTORYTRIMMING_DUMMY 0xFFFFFFFFU /*!< Dummy value if trimming value could not be retrieved */
@@ -289,6 +300,7 @@ typedef void (*pOPAMP_CallbackTypeDef)(OPAMP_HandleTypeDef *hopamp);
/* Private constants ---------------------------------------------------------*/
/** @defgroup OPAMP_Private_Constants OPAMP Private Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief OPAMP Private constants and defines
* @{
*/
@@ -308,6 +320,7 @@ typedef void (*pOPAMP_CallbackTypeDef)(OPAMP_HandleTypeDef *hopamp);
/* Exported macros -----------------------------------------------------------*/
/** @defgroup OPAMP_Exported_Macros OPAMP Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -324,6 +337,7 @@ typedef void (*pOPAMP_CallbackTypeDef)(OPAMP_HandleTypeDef *hopamp);
/* Private macro -------------------------------------------------------------*/
/** @defgroup OPAMP_Private_Macros OPAMP Private Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_hal_ospi.h b/bsps/arm/stm32h7/include/stm32h7xx_hal_ospi.h
index 99ddf222c9..5ec3556c52 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_hal_ospi.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_hal_ospi.h
@@ -40,6 +40,7 @@
/* Exported types ------------------------------------------------------------*/
/** @defgroup OSPI_Exported_Types OSPI Exported Types
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -296,10 +297,12 @@ typedef void (*pOSPI_CallbackTypeDef)(OSPI_HandleTypeDef *hospi);
/* Exported constants --------------------------------------------------------*/
/** @defgroup OSPI_Exported_Constants OSPI Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup OSPI_State OSPI State
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_OSPI_STATE_RESET ((uint32_t)0x00000000U) /*!< Initial state */
@@ -320,6 +323,7 @@ typedef void (*pOSPI_CallbackTypeDef)(OSPI_HandleTypeDef *hospi);
*/
/** @defgroup OSPI_ErrorCode OSPI Error Code
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_OSPI_ERROR_NONE ((uint32_t)0x00000000U) /*!< No error */
@@ -336,6 +340,7 @@ typedef void (*pOSPI_CallbackTypeDef)(OSPI_HandleTypeDef *hospi);
*/
/** @defgroup OSPI_DualQuad OSPI Dual-Quad
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_OSPI_DUALQUAD_DISABLE ((uint32_t)0x00000000U) /*!< Dual-Quad mode disabled */
@@ -345,6 +350,7 @@ typedef void (*pOSPI_CallbackTypeDef)(OSPI_HandleTypeDef *hospi);
*/
/** @defgroup OSPI_MemoryType OSPI Memory Type
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_OSPI_MEMTYPE_MICRON ((uint32_t)0x00000000U) /*!< Micron mode */
@@ -357,6 +363,7 @@ typedef void (*pOSPI_CallbackTypeDef)(OSPI_HandleTypeDef *hospi);
*/
/** @defgroup OSPI_FreeRunningClock OSPI Free Running Clock
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_OSPI_FREERUNCLK_DISABLE ((uint32_t)0x00000000U) /*!< CLK is not free running */
@@ -366,6 +373,7 @@ typedef void (*pOSPI_CallbackTypeDef)(OSPI_HandleTypeDef *hospi);
*/
/** @defgroup OSPI_ClockMode OSPI Clock Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_OSPI_CLOCK_MODE_0 ((uint32_t)0x00000000U) /*!< CLK must stay low while nCS is high */
@@ -375,6 +383,7 @@ typedef void (*pOSPI_CallbackTypeDef)(OSPI_HandleTypeDef *hospi);
*/
/** @defgroup OSPI_WrapSize OSPI Wrap-Size
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_OSPI_WRAP_NOT_SUPPORTED ((uint32_t)0x00000000U) /*!< wrapped reads are not supported by the memory */
@@ -387,6 +396,7 @@ typedef void (*pOSPI_CallbackTypeDef)(OSPI_HandleTypeDef *hospi);
*/
/** @defgroup OSPI_SampleShifting OSPI Sample Shifting
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_OSPI_SAMPLE_SHIFTING_NONE ((uint32_t)0x00000000U) /*!< No shift */
@@ -396,6 +406,7 @@ typedef void (*pOSPI_CallbackTypeDef)(OSPI_HandleTypeDef *hospi);
*/
/** @defgroup OSPI_DelayHoldQuarterCycle OSPI Delay Hold Quarter Cycle
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_OSPI_DHQC_DISABLE ((uint32_t)0x00000000U) /*!< No Delay */
@@ -405,6 +416,7 @@ typedef void (*pOSPI_CallbackTypeDef)(OSPI_HandleTypeDef *hospi);
*/
/** @defgroup OSPI_DelayBlockBypass OSPI Delay Block Bypaas
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_OSPI_DELAY_BLOCK_USED ((uint32_t)0x00000000U) /*!< Sampling clock is delayed by the delay block */
@@ -414,6 +426,7 @@ typedef void (*pOSPI_CallbackTypeDef)(OSPI_HandleTypeDef *hospi);
*/
/** @defgroup OSPI_OperationType OSPI Operation Type
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_OSPI_OPTYPE_COMMON_CFG ((uint32_t)0x00000000U) /*!< Common configuration (indirect or auto-polling mode) */
@@ -425,6 +438,7 @@ typedef void (*pOSPI_CallbackTypeDef)(OSPI_HandleTypeDef *hospi);
*/
/** @defgroup OSPI_FlashID OSPI Flash Id
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_OSPI_FLASH_ID_1 ((uint32_t)0x00000000U) /*!< FLASH 1 selected */
@@ -434,6 +448,7 @@ typedef void (*pOSPI_CallbackTypeDef)(OSPI_HandleTypeDef *hospi);
*/
/** @defgroup OSPI_InstructionMode OSPI Instruction Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_OSPI_INSTRUCTION_NONE ((uint32_t)0x00000000U) /*!< No instruction */
@@ -446,6 +461,7 @@ typedef void (*pOSPI_CallbackTypeDef)(OSPI_HandleTypeDef *hospi);
*/
/** @defgroup OSPI_InstructionSize OSPI Instruction Size
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_OSPI_INSTRUCTION_8_BITS ((uint32_t)0x00000000U) /*!< 8-bit instruction */
@@ -457,6 +473,7 @@ typedef void (*pOSPI_CallbackTypeDef)(OSPI_HandleTypeDef *hospi);
*/
/** @defgroup OSPI_InstructionDtrMode OSPI Instruction DTR Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_OSPI_INSTRUCTION_DTR_DISABLE ((uint32_t)0x00000000U) /*!< DTR mode disabled for instruction phase */
@@ -466,6 +483,7 @@ typedef void (*pOSPI_CallbackTypeDef)(OSPI_HandleTypeDef *hospi);
*/
/** @defgroup OSPI_AddressMode OSPI Address Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_OSPI_ADDRESS_NONE ((uint32_t)0x00000000U) /*!< No address */
@@ -478,6 +496,7 @@ typedef void (*pOSPI_CallbackTypeDef)(OSPI_HandleTypeDef *hospi);
*/
/** @defgroup OSPI_AddressSize OSPI Address Size
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_OSPI_ADDRESS_8_BITS ((uint32_t)0x00000000U) /*!< 8-bit address */
@@ -489,6 +508,7 @@ typedef void (*pOSPI_CallbackTypeDef)(OSPI_HandleTypeDef *hospi);
*/
/** @defgroup OSPI_AddressDtrMode OSPI Address DTR Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_OSPI_ADDRESS_DTR_DISABLE ((uint32_t)0x00000000U) /*!< DTR mode disabled for address phase */
@@ -498,6 +518,7 @@ typedef void (*pOSPI_CallbackTypeDef)(OSPI_HandleTypeDef *hospi);
*/
/** @defgroup OSPI_AlternateBytesMode OSPI Alternate Bytes Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_OSPI_ALTERNATE_BYTES_NONE ((uint32_t)0x00000000U) /*!< No alternate bytes */
@@ -510,6 +531,7 @@ typedef void (*pOSPI_CallbackTypeDef)(OSPI_HandleTypeDef *hospi);
*/
/** @defgroup OSPI_AlternateBytesSize OSPI Alternate Bytes Size
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_OSPI_ALTERNATE_BYTES_8_BITS ((uint32_t)0x00000000U) /*!< 8-bit alternate bytes */
@@ -521,6 +543,7 @@ typedef void (*pOSPI_CallbackTypeDef)(OSPI_HandleTypeDef *hospi);
*/
/** @defgroup OSPI_AlternateBytesDtrMode OSPI Alternate Bytes DTR Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_OSPI_ALTERNATE_BYTES_DTR_DISABLE ((uint32_t)0x00000000U) /*!< DTR mode disabled for alternate bytes phase */
@@ -530,6 +553,7 @@ typedef void (*pOSPI_CallbackTypeDef)(OSPI_HandleTypeDef *hospi);
*/
/** @defgroup OSPI_DataMode OSPI Data Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_OSPI_DATA_NONE ((uint32_t)0x00000000U) /*!< No data */
@@ -542,6 +566,7 @@ typedef void (*pOSPI_CallbackTypeDef)(OSPI_HandleTypeDef *hospi);
*/
/** @defgroup OSPI_DataDtrMode OSPI Data DTR Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_OSPI_DATA_DTR_DISABLE ((uint32_t)0x00000000U) /*!< DTR mode disabled for data phase */
@@ -551,6 +576,7 @@ typedef void (*pOSPI_CallbackTypeDef)(OSPI_HandleTypeDef *hospi);
*/
/** @defgroup OSPI_DQSMode OSPI DQS Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_OSPI_DQS_DISABLE ((uint32_t)0x00000000U) /*!< DQS disabled */
@@ -560,6 +586,7 @@ typedef void (*pOSPI_CallbackTypeDef)(OSPI_HandleTypeDef *hospi);
*/
/** @defgroup OSPI_SIOOMode OSPI SIOO Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_OSPI_SIOO_INST_EVERY_CMD ((uint32_t)0x00000000U) /*!< Send instruction on every transaction */
@@ -569,6 +596,7 @@ typedef void (*pOSPI_CallbackTypeDef)(OSPI_HandleTypeDef *hospi);
*/
/** @defgroup OSPI_WriteZeroLatency OSPI Hyperbus Write Zero Latency Activation
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_OSPI_LATENCY_ON_WRITE ((uint32_t)0x00000000U) /*!< Latency on write accesses */
@@ -578,6 +606,7 @@ typedef void (*pOSPI_CallbackTypeDef)(OSPI_HandleTypeDef *hospi);
*/
/** @defgroup OSPI_LatencyMode OSPI Hyperbus Latency Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_OSPI_VARIABLE_LATENCY ((uint32_t)0x00000000U) /*!< Variable initial latency */
@@ -587,6 +616,7 @@ typedef void (*pOSPI_CallbackTypeDef)(OSPI_HandleTypeDef *hospi);
*/
/** @defgroup OSPI_AddressSpace OSPI Hyperbus Address Space
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_OSPI_MEMORY_ADDRESS_SPACE ((uint32_t)0x00000000U) /*!< HyperBus memory mode */
@@ -596,6 +626,7 @@ typedef void (*pOSPI_CallbackTypeDef)(OSPI_HandleTypeDef *hospi);
*/
/** @defgroup OSPI_MatchMode OSPI Match Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_OSPI_MATCH_MODE_AND ((uint32_t)0x00000000U) /*!< AND match mode between unmasked bits */
@@ -605,6 +636,7 @@ typedef void (*pOSPI_CallbackTypeDef)(OSPI_HandleTypeDef *hospi);
*/
/** @defgroup OSPI_AutomaticStop OSPI Automatic Stop
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_OSPI_AUTOMATIC_STOP_DISABLE ((uint32_t)0x00000000U) /*!< AutoPolling stops only with abort or OSPI disabling */
@@ -614,6 +646,7 @@ typedef void (*pOSPI_CallbackTypeDef)(OSPI_HandleTypeDef *hospi);
*/
/** @defgroup OSPI_TimeOutActivation OSPI Timeout Activation
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_OSPI_TIMEOUT_COUNTER_DISABLE ((uint32_t)0x00000000U) /*!< Timeout counter disabled, nCS remains active */
@@ -623,6 +656,7 @@ typedef void (*pOSPI_CallbackTypeDef)(OSPI_HandleTypeDef *hospi);
*/
/** @defgroup OSPI_Flags OSPI Flags
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_OSPI_FLAG_BUSY OCTOSPI_SR_BUSY /*!< Busy flag: operation is ongoing */
@@ -636,6 +670,7 @@ typedef void (*pOSPI_CallbackTypeDef)(OSPI_HandleTypeDef *hospi);
*/
/** @defgroup OSPI_Interrupts OSPI Interrupts
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_OSPI_IT_TO OCTOSPI_CR_TOIE /*!< Interrupt on the timeout flag */
@@ -648,6 +683,7 @@ typedef void (*pOSPI_CallbackTypeDef)(OSPI_HandleTypeDef *hospi);
*/
/** @defgroup OSPI_Timeout_definition OSPI Timeout definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_OSPI_TIMEOUT_DEFAULT_VALUE ((uint32_t)5000U) /* 5 s */
@@ -656,6 +692,7 @@ typedef void (*pOSPI_CallbackTypeDef)(OSPI_HandleTypeDef *hospi);
*/
/** @defgroup OSPIM_IOPort OSPI IO Manager IO Port
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_OSPIM_IOPORT_1_LOW ((uint32_t)(OCTOSPIM_PCR_IOLEN | 0x1U)) /*!< Port 1 - IO[3:0] */
@@ -683,6 +720,7 @@ typedef void (*pOSPI_CallbackTypeDef)(OSPI_HandleTypeDef *hospi);
/* Exported macros -----------------------------------------------------------*/
/** @defgroup OSPI_Exported_Macros OSPI Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @brief Reset OSPI handle state.
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_hal_otfdec.h b/bsps/arm/stm32h7/include/stm32h7xx_hal_otfdec.h
index 70a9c15d40..16d05c5563 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_hal_otfdec.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_hal_otfdec.h
@@ -40,10 +40,12 @@
/* Exported types ------------------------------------------------------------*/
/** @defgroup OTFDEC_Exported_Types OTFDEC Exported Types
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup OTFDEC_Exported_Types_Group1 OTFDEC region configuration definitions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -67,6 +69,7 @@ typedef struct
*/
/** @defgroup OTFDEC_Exported_Types_Group2 OTFDEC Peripheral handle definitions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -135,10 +138,12 @@ typedef void (*pOTFDEC_CallbackTypeDef)(OTFDEC_HandleTypeDef *hotfdec); /*!< po
/* Exported constants --------------------------------------------------------*/
/** @defgroup OTFDEC_Exported_Constants OTFDEC Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup OTFDEC_Interrupts OTFDEC Interrupts
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define OTFDEC_SEC_ERROR_INT (OTFDEC_IER_SEIE ) /*!< OTFDEC security error interrupt */
@@ -153,6 +158,7 @@ typedef void (*pOTFDEC_CallbackTypeDef)(OTFDEC_HandleTypeDef *hotfdec); /*!< po
*/
/** @defgroup OTFDEC_Region_Enable OTFDEC Region Enable
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define OTFDEC_REG_CONFIGR_REG_DISABLE 0x00000000U /*!< OTFDEC region encryption or on-the-fly decryption disable */
@@ -162,6 +168,7 @@ typedef void (*pOTFDEC_CallbackTypeDef)(OTFDEC_HandleTypeDef *hotfdec); /*!< po
*/
/** @defgroup OTFDEC_Region_Configuration_Lock OTFDEC Region Configuration Lock
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define OTFDEC_REG_CONFIGR_LOCK_DISABLE 0x00000000U /*!< OTFDEC region configuration lock disable */
@@ -171,6 +178,7 @@ typedef void (*pOTFDEC_CallbackTypeDef)(OTFDEC_HandleTypeDef *hotfdec); /*!< po
*/
/** @defgroup OTFDEC_Region_Operating_Mode OTFDEC Region Operating Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define OTFDEC_REG_MODE_INSTRUCTION_ACCESSES_ONLY 0x00000000U /*!< Only instruction accesses are decrypted */
@@ -182,6 +190,7 @@ typedef void (*pOTFDEC_CallbackTypeDef)(OTFDEC_HandleTypeDef *hotfdec); /*!< po
*/
/** @defgroup OTFDEC_Error_Definition OTFDEC Error Definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_OTFDEC_ERROR_NONE ((uint32_t)0x00000000U) /*!< No error */
@@ -196,6 +205,7 @@ typedef void (*pOTFDEC_CallbackTypeDef)(OTFDEC_HandleTypeDef *hotfdec); /*!< po
*/
/** @defgroup OTFDEC_Regions_Index OTFDEC Regions Index
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define OTFDEC_REGION1 ((uint32_t)0x00000000U) /*!< OTFDEC region 1 */
@@ -212,6 +222,7 @@ typedef void (*pOTFDEC_CallbackTypeDef)(OTFDEC_HandleTypeDef *hotfdec); /*!< po
/* Exported macro ------------------------------------------------------------*/
/** @defgroup OTFDEC_Exported_Macros OTFDEC Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -272,6 +283,7 @@ typedef void (*pOTFDEC_CallbackTypeDef)(OTFDEC_HandleTypeDef *hotfdec); /*!< po
/* Exported functions --------------------------------------------------------*/
/** @defgroup OTFDEC_Exported_Functions OTFDEC Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -333,6 +345,7 @@ HAL_StatusTypeDef HAL_OTFDEC_RegionGetConfig(OTFDEC_HandleTypeDef *hotfdec, uint
/* Private types -------------------------------------------------------------*/
/** @defgroup OTFDEC_Private_Types OTFDEC Private Types
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -342,6 +355,7 @@ HAL_StatusTypeDef HAL_OTFDEC_RegionGetConfig(OTFDEC_HandleTypeDef *hotfdec, uint
/* Private variables ---------------------------------------------------------*/
/** @defgroup OTFDEC_Private_Variables OTFDEC Private Variables
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -351,6 +365,7 @@ HAL_StatusTypeDef HAL_OTFDEC_RegionGetConfig(OTFDEC_HandleTypeDef *hotfdec, uint
/* Private constants ---------------------------------------------------------*/
/** @defgroup OTFDEC_Private_Constants OTFDEC Private Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/**
@@ -359,6 +374,7 @@ HAL_StatusTypeDef HAL_OTFDEC_RegionGetConfig(OTFDEC_HandleTypeDef *hotfdec, uint
/* Private macros ------------------------------------------------------------*/
/** @defgroup OTFDEC_Private_Macros OTFDEC Private Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -417,6 +433,7 @@ HAL_StatusTypeDef HAL_OTFDEC_RegionGetConfig(OTFDEC_HandleTypeDef *hotfdec, uint
/* Private functions ---------------------------------------------------------*/
/** @defgroup OTFDEC_Private_Functions OTFDEC Private Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_hal_pcd.h b/bsps/arm/stm32h7/include/stm32h7xx_hal_pcd.h
index a47aaaef8f..731f117d37 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_hal_pcd.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_hal_pcd.h
@@ -40,6 +40,7 @@ extern "C" {
/* Exported types ------------------------------------------------------------*/
/** @defgroup PCD_Exported_Types PCD Exported Types
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -146,10 +147,12 @@ typedef struct
/* Exported constants --------------------------------------------------------*/
/** @defgroup PCD_Exported_Constants PCD Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup PCD_Speed PCD Speed
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define PCD_SPEED_HIGH USBD_HS_SPEED
@@ -160,6 +163,7 @@ typedef struct
*/
/** @defgroup PCD_PHY_Module PCD PHY Module
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define PCD_PHY_ULPI 1U
@@ -170,6 +174,7 @@ typedef struct
*/
/** @defgroup PCD_Error_Code_definition PCD Error Code definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief PCD Error Code definition
* @{
*/
@@ -187,6 +192,7 @@ typedef struct
/* Exported macros -----------------------------------------------------------*/
/** @defgroup PCD_Exported_Macros PCD Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief macros to handle interrupts and specific clock configurations
* @{
*/
@@ -233,6 +239,7 @@ void HAL_PCD_MspDeInit(PCD_HandleTypeDef *hpcd);
#if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U)
/** @defgroup HAL_PCD_Callback_ID_enumeration_definition HAL USB OTG PCD Callback ID enumeration definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief HAL USB OTG PCD Callback ID enumeration definition
* @{
*/
@@ -255,6 +262,7 @@ typedef enum
*/
/** @defgroup HAL_PCD_Callback_pointer_definition HAL USB OTG PCD Callback pointer definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief HAL USB OTG PCD Callback pointer definition
* @{
*/
@@ -357,9 +365,11 @@ PCD_StateTypeDef HAL_PCD_GetState(PCD_HandleTypeDef *hpcd);
/* Private constants ---------------------------------------------------------*/
/** @defgroup PCD_Private_Constants PCD Private Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup USB_EXTI_Line_Interrupt USB EXTI line interrupt
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined (USB_OTG_FS) || defined (USB_OTG_HS)
@@ -411,6 +421,7 @@ PCD_StateTypeDef HAL_PCD_GetState(PCD_HandleTypeDef *hpcd);
/* Private macros ------------------------------------------------------------*/
/** @defgroup PCD_Private_Macros PCD Private Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_hal_pssi.h b/bsps/arm/stm32h7/include/stm32h7xx_hal_pssi.h
index b890f5832c..e541897716 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_hal_pssi.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_hal_pssi.h
@@ -39,6 +39,7 @@ extern "C" {
/* Exported types ------------------------------------------------------------*/
/** @defgroup PSSI_Exported_Types PSSI Exported Types
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -127,10 +128,12 @@ typedef enum
/* Exported constants --------------------------------------------------------*/
/** @defgroup PSSI_Exported_Constants PSSI Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup PSSI_Error_Code PSSI Error Code
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_PSSI_ERROR_NONE 0x00000000U /*!< No error */
@@ -147,6 +150,7 @@ typedef enum
*/
/** @defgroup PSSI_DATA_WIDTH PSSI Data Width
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -158,6 +162,7 @@ typedef enum
*/
/** @defgroup PSSI_BUS_WIDTH PSSI Bus Width
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -167,6 +172,7 @@ typedef enum
* @}
*/
/** @defgroup PSSI_MODE PSSI mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_PSSI_UNIDIRECTIONAL 0x00000000U /*!< Uni-directional mode */
@@ -176,6 +182,7 @@ typedef enum
*/
/** @defgroup PSSI_ControlSignal Configuration
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_PSSI_DE_RDY_DISABLE (0x0U << PSSI_CR_DERDYCFG_Pos) /*!< Neither DE nor RDY are enabled */
@@ -193,6 +200,7 @@ typedef enum
/** @defgroup PSSI_Data_Enable_Polarity Data Enable Polarity
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_PSSI_DEPOL_ACTIVE_LOW 0x0U /*!< Active Low */
@@ -201,6 +209,7 @@ typedef enum
* @}
*/
/** @defgroup PSSI_Reday_Polarity Reday Polarity
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_PSSI_RDYPOL_ACTIVE_LOW 0x0U /*!< Active Low */
@@ -210,6 +219,7 @@ typedef enum
*/
/** @defgroup PSSI_Clock_Polarity Clock Polarity
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_PSSI_FALLING_EDGE 0x0U /*!< Fallling Edge */
@@ -222,6 +232,7 @@ typedef enum
/** @defgroup PSSI_DEFINITION PSSI definitions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -247,6 +258,7 @@ typedef enum
*/
/** @defgroup PSSI_Interrupts PSSI Interrupts
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -264,6 +276,7 @@ typedef enum
*/
/* Exported macros ------------------------------------------------------------*/
/** @defgroup PSSI_Exported_Macros PSSI Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_hal_pwr.h b/bsps/arm/stm32h7/include/stm32h7xx_hal_pwr.h
index 0d4624022c..0cb0a80130 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_hal_pwr.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_hal_pwr.h
@@ -39,6 +39,7 @@
/* Exported types ------------------------------------------------------------*/
/** @defgroup PWR_Exported_Types PWR Exported Types
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -64,10 +65,12 @@ typedef struct
/* Exported constants --------------------------------------------------------*/
/** @defgroup PWR_Exported_Constants PWR Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup PWR_PVD_detection_level PWR PVD detection level
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define PWR_PVDLEVEL_0 PWR_CR1_PLS_LEV0 /*!< Programmable voltage detector
@@ -91,6 +94,7 @@ typedef struct
*/
/** @defgroup PWR_PVD_Mode PWR PVD Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define PWR_PVD_MODE_NORMAL (0x00000000U) /*!< Basic mode is used */
@@ -105,6 +109,7 @@ typedef struct
*/
/** @defgroup PWR_Regulator_state_in_STOP_mode PWR Regulator state in SLEEP/STOP mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define PWR_MAINREGULATOR_ON (0U)
@@ -114,6 +119,7 @@ typedef struct
*/
/** @defgroup PWR_SLEEP_mode_entry PWR SLEEP mode entry
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define PWR_SLEEPENTRY_WFI (0x01U)
@@ -123,6 +129,7 @@ typedef struct
*/
/** @defgroup PWR_STOP_mode_entry PWR STOP mode entry
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define PWR_STOPENTRY_WFI (0x01U)
@@ -132,6 +139,7 @@ typedef struct
*/
/** @defgroup PWR_Regulator_Voltage_Scale PWR Regulator Voltage Scale
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined(PWR_SRDCR_VOS)
@@ -150,6 +158,7 @@ typedef struct
*/
/** @defgroup PWR_Flag PWR Flag
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/* PWR CPU flag */
@@ -199,6 +208,7 @@ typedef struct
*/
/** @defgroup PWR_ENABLE_WUP_Mask PWR Enable WUP Mask
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define PWR_EWUP_MASK (0x0FFF3F3FU)
@@ -211,6 +221,7 @@ typedef struct
*/
/* Exported macro ------------------------------------------------------------*/
/** @defgroup PWR_Exported_Macro PWR Exported Macro
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -690,10 +701,12 @@ void HAL_PWR_DisableSEVOnPend(void);
/* Private variables ---------------------------------------------------------*/
/* Private constants ---------------------------------------------------------*/
/** @defgroup PWR_Private_Constants PWR Private Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup PWR_PVD_EXTI_Line PWR PVD EXTI Line
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define PWR_EXTI_LINE_PVD EXTI_IMR1_IM16 /*!< External interrupt line 16
@@ -707,10 +720,12 @@ void HAL_PWR_DisableSEVOnPend(void);
*/
/* Private macros ------------------------------------------------------------*/
/** @defgroup PWR_Private_Macros PWR Private Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup PWR_IS_PWR_Definitions PWR Private macros to check input parameters
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/* Check PVD level parameter */
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_hal_pwr_ex.h b/bsps/arm/stm32h7/include/stm32h7xx_hal_pwr_ex.h
index ebad73c54c..457255ecec 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_hal_pwr_ex.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_hal_pwr_ex.h
@@ -38,6 +38,7 @@
/* Exported types ------------------------------------------------------------*/
/** @defgroup PWREx_Exported_Types PWREx Exported Types
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/**
@@ -95,9 +96,11 @@ typedef enum
/* Exported constants --------------------------------------------------------*/
/** @defgroup PWREx_Exported_Constants PWREx Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup PWREx_WakeUp_Pins PWREx Wake-Up Pins
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/* High level and No pull (default configuration) */
@@ -128,6 +131,7 @@ typedef enum
*/
/** @defgroup PWREx_PIN_Polarity PWREx Pin Polarity configuration
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define PWR_PIN_POLARITY_HIGH (0x00000000U)
@@ -137,6 +141,7 @@ typedef enum
*/
/** @defgroup PWREx_PIN_Pull PWREx Pin Pull configuration
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define PWR_PIN_NO_PULL (0x00000000U)
@@ -147,6 +152,7 @@ typedef enum
*/
/** @defgroup PWREx_Wakeup_Pins_Flags PWREx Wakeup Pins Flags.
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define PWR_WAKEUP_FLAG1 PWR_WKUPFR_WKUPF1 /*!< Wakeup flag on PA0 */
@@ -164,6 +170,7 @@ typedef enum
#if defined (DUAL_CORE)
/** @defgroup PWREx_Core_Select PWREx Core definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define PWR_CORE_CPU1 (0x00000000U)
@@ -174,6 +181,7 @@ typedef enum
#endif /* defined (DUAL_CORE) */
/** @defgroup PWREx_Domains PWREx Domains definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define PWR_D1_DOMAIN (0x00000000U)
@@ -186,6 +194,7 @@ typedef enum
*/
/** @defgroup PWREx_Domain_Flags PWREx Domain Flags definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined (DUAL_CORE)
@@ -200,6 +209,7 @@ typedef enum
*/
/** @defgroup PWREx_D3_State PWREx D3 Domain State
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define PWR_D3_DOMAIN_STOP (0x00000000U)
@@ -210,6 +220,7 @@ typedef enum
*/
/** @defgroup PWREx_Supply_configuration PWREx Supply configuration
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define PWR_LDO_SUPPLY PWR_CR3_LDOEN /*!< Core domains are suppplied from the LDO */
@@ -236,6 +247,7 @@ typedef enum
/** @defgroup PWREx_AVD_detection_level PWREx AVD detection level
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define PWR_AVDLEVEL_0 PWR_CR1_ALS_LEV0 /*!< Analog voltage detector level 0
@@ -251,6 +263,7 @@ typedef enum
*/
/** @defgroup PWREx_AVD_Mode PWREx AVD Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define PWR_AVD_MODE_NORMAL (0x00000000U) /*!< Basic mode is used */
@@ -265,6 +278,7 @@ typedef enum
*/
/** @defgroup PWREx_Regulator_Voltage_Scale PWREx Regulator Voltage Scale
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define PWR_REGULATOR_SVOS_SCALE5 (PWR_CR1_SVOS_0)
@@ -275,6 +289,7 @@ typedef enum
*/
/** @defgroup PWREx_VBAT_Battery_Charging_Resistor PWR battery charging resistor selection
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define PWR_BATTERY_CHARGING_RESISTOR_5 (0x00000000U) /*!< VBAT charging through a 5 kOhms resistor */
@@ -284,6 +299,7 @@ typedef enum
*/
/** @defgroup PWREx_VBAT_Thresholds PWREx VBAT Thresholds
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define PWR_VBAT_BETWEEN_HIGH_LOW_THRESHOLD (0x00000000U)
@@ -294,6 +310,7 @@ typedef enum
*/
/** @defgroup PWREx_TEMP_Thresholds PWREx Temperature Thresholds
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define PWR_TEMP_BETWEEN_HIGH_LOW_THRESHOLD (0x00000000U)
@@ -303,6 +320,7 @@ typedef enum
* @}
*/
/** @defgroup PWREx_AVD_EXTI_Line PWREx AVD EXTI Line 16
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define PWR_EXTI_LINE_AVD EXTI_IMR1_IM16 /*!< External interrupt line 16
@@ -313,6 +331,7 @@ typedef enum
#if defined (PWR_CR1_SRDRAMSO)
/** @defgroup PWREx_Memory_Shut_Off Memory shut-off block selection
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define PWR_SRD_AHB_MEMORY_BLOCK PWR_CR1_SRDRAMSO /*!< SmartRun domain AHB memory shut-off in DStop/DStop2 low-power mode */
@@ -337,6 +356,7 @@ typedef enum
/* Exported macro ------------------------------------------------------------*/
/** @defgroup PWREx_Exported_Macro PWREx Exported Macro
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -593,10 +613,12 @@ void HAL_PWREx_AVDCallback(void);
/* Private constants ---------------------------------------------------------*/
/* Private macros ------------------------------------------------------------*/
/** @defgroup PWREx_Private_Macros PWREx Private Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup PWREx_IS_PWR_Definitions PWREx Private macros to check input parameters
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/* Check PWR regulator configuration parameter */
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_hal_qspi.h b/bsps/arm/stm32h7/include/stm32h7xx_hal_qspi.h
index d7d955c1c5..b123799910 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_hal_qspi.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_hal_qspi.h
@@ -40,6 +40,7 @@
/* Exported types ------------------------------------------------------------*/
/** @defgroup QSPI_Exported_Types QSPI Exported Types
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -221,10 +222,12 @@ typedef void (*pQSPI_CallbackTypeDef)(QSPI_HandleTypeDef *hqspi);
/* Exported constants --------------------------------------------------------*/
/** @defgroup QSPI_Exported_Constants QSPI Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup QSPI_ErrorCode QSPI Error Code
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_QSPI_ERROR_NONE 0x00000000U /*!< No error */
@@ -240,6 +243,7 @@ typedef void (*pQSPI_CallbackTypeDef)(QSPI_HandleTypeDef *hqspi);
*/
/** @defgroup QSPI_SampleShifting QSPI Sample Shifting
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define QSPI_SAMPLE_SHIFTING_NONE 0x00000000U /*!<No clock cycle shift to sample data*/
@@ -249,6 +253,7 @@ typedef void (*pQSPI_CallbackTypeDef)(QSPI_HandleTypeDef *hqspi);
*/
/** @defgroup QSPI_ChipSelectHighTime QSPI ChipSelect High Time
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define QSPI_CS_HIGH_TIME_1_CYCLE 0x00000000U /*!<nCS stay high for at least 1 clock cycle between commands*/
@@ -264,6 +269,7 @@ typedef void (*pQSPI_CallbackTypeDef)(QSPI_HandleTypeDef *hqspi);
*/
/** @defgroup QSPI_ClockMode QSPI Clock Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define QSPI_CLOCK_MODE_0 0x00000000U /*!<Clk stays low while nCS is released*/
@@ -273,6 +279,7 @@ typedef void (*pQSPI_CallbackTypeDef)(QSPI_HandleTypeDef *hqspi);
*/
/** @defgroup QSPI_Flash_Select QSPI Flash Select
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define QSPI_FLASH_ID_1 0x00000000U /*!<FLASH 1 selected*/
@@ -282,6 +289,7 @@ typedef void (*pQSPI_CallbackTypeDef)(QSPI_HandleTypeDef *hqspi);
*/
/** @defgroup QSPI_DualFlash_Mode QSPI Dual Flash Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define QSPI_DUALFLASH_ENABLE ((uint32_t)QUADSPI_CR_DFM) /*!<Dual-flash mode enabled*/
@@ -291,6 +299,7 @@ typedef void (*pQSPI_CallbackTypeDef)(QSPI_HandleTypeDef *hqspi);
*/
/** @defgroup QSPI_AddressSize QSPI Address Size
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define QSPI_ADDRESS_8_BITS 0x00000000U /*!<8-bit address*/
@@ -302,6 +311,7 @@ typedef void (*pQSPI_CallbackTypeDef)(QSPI_HandleTypeDef *hqspi);
*/
/** @defgroup QSPI_AlternateBytesSize QSPI Alternate Bytes Size
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define QSPI_ALTERNATE_BYTES_8_BITS 0x00000000U /*!<8-bit alternate bytes*/
@@ -313,6 +323,7 @@ typedef void (*pQSPI_CallbackTypeDef)(QSPI_HandleTypeDef *hqspi);
*/
/** @defgroup QSPI_InstructionMode QSPI Instruction Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define QSPI_INSTRUCTION_NONE 0x00000000U /*!<No instruction*/
@@ -324,6 +335,7 @@ typedef void (*pQSPI_CallbackTypeDef)(QSPI_HandleTypeDef *hqspi);
*/
/** @defgroup QSPI_AddressMode QSPI Address Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define QSPI_ADDRESS_NONE 0x00000000U /*!<No address*/
@@ -335,6 +347,7 @@ typedef void (*pQSPI_CallbackTypeDef)(QSPI_HandleTypeDef *hqspi);
*/
/** @defgroup QSPI_AlternateBytesMode QSPI Alternate Bytes Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define QSPI_ALTERNATE_BYTES_NONE 0x00000000U /*!<No alternate bytes*/
@@ -346,6 +359,7 @@ typedef void (*pQSPI_CallbackTypeDef)(QSPI_HandleTypeDef *hqspi);
*/
/** @defgroup QSPI_DataMode QSPI Data Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define QSPI_DATA_NONE 0x00000000U /*!<No data*/
@@ -357,6 +371,7 @@ typedef void (*pQSPI_CallbackTypeDef)(QSPI_HandleTypeDef *hqspi);
*/
/** @defgroup QSPI_DdrMode QSPI DDR Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define QSPI_DDR_MODE_DISABLE 0x00000000U /*!<Double data rate mode disabled*/
@@ -366,6 +381,7 @@ typedef void (*pQSPI_CallbackTypeDef)(QSPI_HandleTypeDef *hqspi);
*/
/** @defgroup QSPI_DdrHoldHalfCycle QSPI DDR Data Output Delay
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define QSPI_DDR_HHC_ANALOG_DELAY 0x00000000U /*!<Delay the data output using analog delay in DDR mode*/
@@ -375,6 +391,7 @@ typedef void (*pQSPI_CallbackTypeDef)(QSPI_HandleTypeDef *hqspi);
*/
/** @defgroup QSPI_SIOOMode QSPI Send Instruction Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define QSPI_SIOO_INST_EVERY_CMD 0x00000000U /*!<Send instruction on every transaction*/
@@ -384,6 +401,7 @@ typedef void (*pQSPI_CallbackTypeDef)(QSPI_HandleTypeDef *hqspi);
*/
/** @defgroup QSPI_MatchMode QSPI Match Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define QSPI_MATCH_MODE_AND 0x00000000U /*!<AND match mode between unmasked bits*/
@@ -393,6 +411,7 @@ typedef void (*pQSPI_CallbackTypeDef)(QSPI_HandleTypeDef *hqspi);
*/
/** @defgroup QSPI_AutomaticStop QSPI Automatic Stop
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define QSPI_AUTOMATIC_STOP_DISABLE 0x00000000U /*!<AutoPolling stops only with abort or QSPI disabling*/
@@ -402,6 +421,7 @@ typedef void (*pQSPI_CallbackTypeDef)(QSPI_HandleTypeDef *hqspi);
*/
/** @defgroup QSPI_TimeOutActivation QSPI Timeout Activation
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define QSPI_TIMEOUT_COUNTER_DISABLE 0x00000000U /*!<Timeout counter disabled, nCS remains active*/
@@ -411,6 +431,7 @@ typedef void (*pQSPI_CallbackTypeDef)(QSPI_HandleTypeDef *hqspi);
*/
/** @defgroup QSPI_Flags QSPI Flags
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define QSPI_FLAG_BUSY QUADSPI_SR_BUSY /*!<Busy flag: operation is ongoing*/
@@ -424,6 +445,7 @@ typedef void (*pQSPI_CallbackTypeDef)(QSPI_HandleTypeDef *hqspi);
*/
/** @defgroup QSPI_Interrupts QSPI Interrupts
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define QSPI_IT_TO QUADSPI_CR_TOIE /*!<Interrupt on the timeout flag*/
@@ -436,6 +458,7 @@ typedef void (*pQSPI_CallbackTypeDef)(QSPI_HandleTypeDef *hqspi);
*/
/** @defgroup QSPI_Timeout_definition QSPI Timeout definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief QSPI Timeout definition
* @{
*/
@@ -450,6 +473,7 @@ typedef void (*pQSPI_CallbackTypeDef)(QSPI_HandleTypeDef *hqspi);
/* Exported macros -----------------------------------------------------------*/
/** @defgroup QSPI_Exported_Macros QSPI Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @brief Reset QSPI handle state.
@@ -637,6 +661,7 @@ HAL_StatusTypeDef HAL_QSPI_SetFlashID (QSPI_HandleTypeDef *hqspi, uint3
/* Private macros ------------------------------------------------------------*/
/** @defgroup QSPI_Private_Macros QSPI Private Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define IS_QSPI_CLOCK_PRESCALER(PRESCALER) ((PRESCALER) <= 0xFFU)
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_hal_ramecc.h b/bsps/arm/stm32h7/include/stm32h7xx_hal_ramecc.h
index 0627d39807..b137f248e6 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_hal_ramecc.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_hal_ramecc.h
@@ -39,6 +39,7 @@
/* Exported types ------------------------------------------------------------*/
/** @defgroup RAMECC_Exported_Types RAMECC Exported Types
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief RAMECC Exported Types
* @{
*/
@@ -75,6 +76,7 @@ typedef struct __RAMECC_HandleTypeDef
/* Exported constants --------------------------------------------------------*/
/** @defgroup RAMECC_Error_Codes RAMECC Error Codes
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_RAMECC_ERROR_NONE 0x00000000U /*!< RAMECC No Error */
@@ -86,6 +88,7 @@ typedef struct __RAMECC_HandleTypeDef
*/
/** @defgroup RAMECC_Interrupt RAMECC interrupts
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RAMECC_IT_GLOBAL_ID 0x10000000UL
@@ -107,6 +110,7 @@ typedef struct __RAMECC_HandleTypeDef
*/
/** @defgroup RAMECC_FLAG RAMECC Monitor flags
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RAMECC_FLAG_SINGLEERR_R RAMECC_SR_SEDCF
@@ -120,6 +124,7 @@ typedef struct __RAMECC_HandleTypeDef
/* Exported macro ------------------------------------------------------------*/
/** @defgroup RAMECC_Exported_Macros RAMECC Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -235,11 +240,13 @@ typedef struct __RAMECC_HandleTypeDef
/* Exported functions --------------------------------------------------------*/
/** @defgroup RAMECC_Exported_Functions RAMECC Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief RAMECC Exported functions
* @{
*/
/** @defgroup RAMECC_Exported_Functions_Group1 Initialization and de-initialization functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Initialization and de-initialization functions
* @{
*/
@@ -250,6 +257,7 @@ HAL_StatusTypeDef HAL_RAMECC_DeInit (RAMECC_HandleTypeDef *hramecc);
*/
/** @defgroup RAMECC_Exported_Functions_Group2 monitoring operation functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief monitoring operation functions
* @{
*/
@@ -265,6 +273,7 @@ HAL_StatusTypeDef HAL_RAMECC_UnRegisterCallback (RAMECC_HandleTypeDef *hramecc)
*/
/** @defgroup RAMECC_Exported_Functions_Group3 Error informations functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Error informations functions
* @{
*/
@@ -279,6 +288,7 @@ uint32_t HAL_RAMECC_IsECCDoubleErrorDetected (RAMECC_HandleTypeDef *hramecc);
*/
/** @defgroup RAMECC_Exported_Functions_Group3 Error informations functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Error informations functions
* @{
*/
@@ -293,6 +303,7 @@ uint32_t HAL_RAMECC_GetError (RAMECC_HandleTypeDef *hramecc);
*/
/* Private Constants -------------------------------------------------------------*/
/** @defgroup RAMECC_Private_Constants RAMECC Private Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief RAMECC private defines and constants
* @{
*/
@@ -302,6 +313,7 @@ uint32_t HAL_RAMECC_GetError (RAMECC_HandleTypeDef *hramecc);
/* Private macros ------------------------------------------------------------*/
/** @defgroup RAMECC_Private_Macros RAMECC Private Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief RAMECC private macros
* @{
*/
@@ -326,11 +338,13 @@ uint32_t HAL_RAMECC_GetError (RAMECC_HandleTypeDef *hramecc);
*/
/** @defgroup RAMECC_FLAG RAMECC Monitor flags
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/* Private functions ---------------------------------------------------------*/
/** @defgroup RAMECC_Private_Functions RAMECC Private Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief RAMECC private functions
* @{
*/
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_hal_rcc.h b/bsps/arm/stm32h7/include/stm32h7xx_hal_rcc.h
index 08f29a0844..36e71d3bb9 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_hal_rcc.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_hal_rcc.h
@@ -39,6 +39,7 @@
/* Exported types ------------------------------------------------------------*/
/** @defgroup RCC_Exported_Types RCC Exported Types
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -153,10 +154,12 @@ typedef struct
/* Exported constants --------------------------------------------------------*/
/** @defgroup RCC_Exported_Constants RCC Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup RCC_Oscillator_Type RCC Oscillator Type
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RCC_OSCILLATORTYPE_NONE (0x00000000U)
@@ -172,6 +175,7 @@ typedef struct
*/
/** @defgroup RCC_HSE_Config RCC HSE Config
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RCC_HSE_OFF (0x00000000U)
@@ -186,6 +190,7 @@ typedef struct
*/
/** @defgroup RCC_LSE_Config RCC LSE Config
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RCC_LSE_OFF (0x00000000U)
@@ -200,6 +205,7 @@ typedef struct
*/
/** @defgroup RCC_HSI_Config RCC HSI Config
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RCC_HSI_OFF (0x00000000U) /*!< HSI clock deactivation */
@@ -221,6 +227,7 @@ typedef struct
*/
/** @defgroup RCC_HSI48_Config RCC HSI48 Config
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RCC_HSI48_OFF ((uint8_t)0x00)
@@ -231,6 +238,7 @@ typedef struct
*/
/** @defgroup RCC_LSI_Config RCC LSI Config
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RCC_LSI_OFF (0x00000000U)
@@ -241,6 +249,7 @@ typedef struct
*/
/** @defgroup RCC_CSI_Config RCC CSI Config
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RCC_CSI_OFF (0x00000000U)
@@ -256,6 +265,7 @@ typedef struct
*/
/** @defgroup RCC_PLL_Config RCC PLL Config
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RCC_PLL_NONE (0x00000000U)
@@ -268,6 +278,7 @@ typedef struct
/** @defgroup RCC_PLL_Clock_Source RCC PLL Clock Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RCC_PLLSOURCE_HSI (0x00000000U)
@@ -279,6 +290,7 @@ typedef struct
*/
/** @defgroup RCC_PLL_Clock_Output RCC PLL Clock Output
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RCC_PLL1_DIVP RCC_PLLCFGR_DIVP1EN
@@ -292,6 +304,7 @@ typedef struct
/** @defgroup RCC_PLL1_VCI_Range RCC PLL1 VCI Range
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RCC_PLL1VCIRANGE_0 RCC_PLLCFGR_PLL1RGE_0 /*!< Clock range frequency between 1 and 2 MHz */
@@ -306,6 +319,7 @@ typedef struct
/** @defgroup RCC_PLL1_VCO_Range RCC PLL1 VCO Range
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RCC_PLL1VCOWIDE (0x00000000U)
@@ -317,6 +331,7 @@ typedef struct
/** @defgroup RCC_System_Clock_Type RCC System Clock Type
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RCC_CLOCKTYPE_SYSCLK (0x00000001U)
@@ -331,6 +346,7 @@ typedef struct
*/
/** @defgroup RCC_System_Clock_Source RCC System Clock Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RCC_SYSCLKSOURCE_CSI RCC_CFGR_SW_CSI
@@ -343,6 +359,7 @@ typedef struct
*/
/** @defgroup RCC_System_Clock_Source_Status System Clock Source Status
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RCC_SYSCLKSOURCE_STATUS_CSI RCC_CFGR_SWS_CSI /*!< CSI used as system clock */
@@ -354,6 +371,7 @@ typedef struct
*/
/** @defgroup RCC_SYS_Clock_Source RCC SYS Clock Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined(RCC_D1CFGR_D1CPRE_DIV1)
@@ -383,6 +401,7 @@ typedef struct
/** @defgroup RCC_HCLK_Clock_Source RCC HCLK Clock Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined(RCC_D1CFGR_HPRE_DIV1)
@@ -411,6 +430,7 @@ typedef struct
*/
/** @defgroup RCC_APB3_Clock_Source RCC APB3 Clock Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined (RCC_D1CFGR_D1PPRE_DIV1)
@@ -431,6 +451,7 @@ typedef struct
*/
/** @defgroup RCC_APB1_Clock_Source RCC APB1 Clock Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined (RCC_D2CFGR_D2PPRE1_DIV1)
@@ -452,6 +473,7 @@ typedef struct
*/
/** @defgroup RCC_APB2_Clock_Source RCC APB2 Clock Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined (RCC_D2CFGR_D2PPRE2_DIV1)
@@ -472,6 +494,7 @@ typedef struct
*/
/** @defgroup RCC_APB4_Clock_Source RCC APB4 Clock Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined(RCC_D3CFGR_D3PPRE_DIV1)
@@ -492,6 +515,7 @@ typedef struct
*/
/** @defgroup RCC_RTC_Clock_Source RCC RTC Clock Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RCC_RTCCLKSOURCE_NO_CLK (0x00000000U)
@@ -567,6 +591,7 @@ typedef struct
/** @defgroup RCC_MCO_Index RCC MCO Index
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RCC_MCO1 (0x00000000U)
@@ -577,6 +602,7 @@ typedef struct
*/
/** @defgroup RCC_MCO1_Clock_Source RCC MCO1 Clock Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RCC_MCO1SOURCE_HSI (0x00000000U)
@@ -590,6 +616,7 @@ typedef struct
*/
/** @defgroup RCC_MCO2_Clock_Source RCC MCO2 Clock Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RCC_MCO2SOURCE_SYSCLK (0x00000000U)
@@ -604,6 +631,7 @@ typedef struct
*/
/** @defgroup RCC_MCOx_Clock_Prescaler RCC MCOx Clock Prescaler
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RCC_MCODIV_1 RCC_CFGR_MCO1PRE_0
@@ -628,6 +656,7 @@ typedef struct
*/
/** @defgroup RCC_Interrupt RCC Interrupt
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RCC_IT_LSIRDY (0x00000001U)
@@ -646,6 +675,7 @@ typedef struct
*/
/** @defgroup RCC_Flag RCC Flag
+ * @ingroup RTEMSBSPsARMSTM32H7
* Elements values convention: XXXYYYYYb
* - YYYYY : Flag position in the register
* - XXX : Register index
@@ -719,6 +749,7 @@ typedef struct
*/
/** @defgroup RCC_LSEDrive_Config LSE Drive Config
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RCC_LSEDRIVE_LOW (0x00000000U) /*!< LSE low drive capability */
@@ -730,6 +761,7 @@ typedef struct
*/
/** @defgroup RCC_Stop_WakeUpClock RCC Stop WakeUpClock
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RCC_STOP_WAKEUPCLOCK_HSI (0x00000000U)
@@ -740,6 +772,7 @@ typedef struct
*/
/** @defgroup RCC_Stop_KernelWakeUpClock RCC Stop KernelWakeUpClock
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RCC_STOP_KERWAKEUPCLOCK_HSI (0x00000000U)
@@ -764,6 +797,7 @@ typedef struct
/* Exported macros -----------------------------------------------------------*/
/** @defgroup RCC_Exported_Macros RCC Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -7091,6 +7125,7 @@ typedef struct
#endif /* RCC_CR_HSEEXT */
/** @defgroup RCC_LSE_Configuration LSE Configuration
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -7404,6 +7439,7 @@ typedef struct
#define __HAL_RCC_GET_PLL_OSCSOURCE() ((uint32_t)(RCC->PLLCKSELR & RCC_PLLCKSELR_PLLSRC))
/** @defgroup RCCEx_MCOx_Clock_Config RCC Extended MCOx Clock Config
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -7496,6 +7532,7 @@ typedef struct
MODIFY_REG(RCC->CFGR, RCC_CFGR_STOPKERWUCK, (__RCC_STOPKERWUCLK__))
/** @defgroup RCC_Flags_Interrupts_Management Flags Interrupts Management
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief macros to manage the specified RCC Flags and interrupts.
* @{
*/
@@ -7721,6 +7758,7 @@ void HAL_RCC_CCSCallback(void);
/* Private variables ---------------------------------------------------------*/
/* Private constants ---------------------------------------------------------*/
/** @defgroup RCC_Private_Constants RCC Private Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -7744,6 +7782,7 @@ void HAL_RCC_CCSCallback(void);
*/
/** @defgroup RCC_IS_RCC_Definitions RCC Private macros to check input parameters
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_hal_rcc_ex.h b/bsps/arm/stm32h7/include/stm32h7xx_hal_rcc_ex.h
index 0b99087fe7..88191f51d3 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_hal_rcc_ex.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_hal_rcc_ex.h
@@ -38,6 +38,7 @@
/* Exported types ------------------------------------------------------------*/
/** @defgroup RCCEx_Exported_Types RCCEx Exported Types
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -332,10 +333,12 @@ typedef struct
/* Exported constants --------------------------------------------------------*/
/** @defgroup RCCEx_Exported_Constants RCCEx Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup RCCEx_Periph_Clock_Selection RCCEx Periph Clock Selection
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -437,6 +440,7 @@ typedef struct
/** @defgroup RCC_PLL2_Clock_Output RCC PLL2 Clock Output
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RCC_PLL2_DIVP RCC_PLLCFGR_DIVP2EN
@@ -448,6 +452,7 @@ typedef struct
*/
/** @defgroup RCC_PLL3_Clock_Output RCC PLL3 Clock Output
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RCC_PLL3_DIVP RCC_PLLCFGR_DIVP3EN
@@ -459,6 +464,7 @@ typedef struct
*/
/** @defgroup RCC_PLL2_VCI_Range RCC PLL2 VCI Range
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RCC_PLL2VCIRANGE_0 RCC_PLLCFGR_PLL2RGE_0 /*!< Clock range frequency between 1 and 2 MHz */
@@ -472,6 +478,7 @@ typedef struct
/** @defgroup RCC_PLL2_VCO_Range RCC PLL2 VCO Range
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RCC_PLL2VCOWIDE (0x00000000U)
@@ -482,6 +489,7 @@ typedef struct
*/
/** @defgroup RCC_PLL3_VCI_Range RCC PLL3 VCI Range
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RCC_PLL3VCIRANGE_0 RCC_PLLCFGR_PLL3RGE_0 /*!< Clock range frequency between 1 and 2 MHz */
@@ -495,6 +503,7 @@ typedef struct
/** @defgroup RCC_PLL3_VCO_Range RCC PLL3 VCO Range
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RCC_PLL3VCOWIDE (0x00000000U)
@@ -505,6 +514,7 @@ typedef struct
*/
/** @defgroup RCCEx_USART16_Clock_Source RCCEx USART1/6 Clock Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined(RCC_D2CCIP2R_USART16SEL)
@@ -542,6 +552,7 @@ typedef struct
*/
/** @defgroup RCCEx_USART1_Clock_Source RCCEx USART1 Clock Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RCC_USART1CLKSOURCE_D2PCLK2 RCC_USART16CLKSOURCE_D2PCLK2
@@ -555,6 +566,7 @@ typedef struct
*/
/** @defgroup RCCEx_USART6_Clock_Source RCCEx USART6 Clock Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RCC_USART6CLKSOURCE_D2PCLK2 RCC_USART16CLKSOURCE_D2PCLK2
@@ -570,6 +582,7 @@ typedef struct
#if defined(UART9)
/** @defgroup RCCEx_UART9_Clock_Source RCCEx UART9 Clock Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RCC_UART9CLKSOURCE_D2PCLK2 RCC_USART16CLKSOURCE_D2PCLK2
@@ -585,6 +598,7 @@ typedef struct
#if defined(USART10)
/** @defgroup RCCEx_USART10_Clock_Source RCCEx USART10 Clock Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RCC_USART10CLKSOURCE_D2PCLK2 RCC_USART16CLKSOURCE_D2PCLK2
@@ -599,6 +613,7 @@ typedef struct
#endif /* USART10 */
/** @defgroup RCCEx_USART234578_Clock_Source RCCEx USART2/3/4/5/7/8 Clock Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined(RCC_D2CCIP2R_USART28SEL)
@@ -626,6 +641,7 @@ typedef struct
*/
/** @defgroup RCCEx_USART2_Clock_Source RCCEx USART2 Clock Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RCC_USART2CLKSOURCE_D2PCLK1 RCC_USART234578CLKSOURCE_D2PCLK1
@@ -640,6 +656,7 @@ typedef struct
*/
/** @defgroup RCCEx_USART3_Clock_Source RCCEx USART3 Clock Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RCC_USART3CLKSOURCE_D2PCLK1 RCC_USART234578CLKSOURCE_D2PCLK1
@@ -654,6 +671,7 @@ typedef struct
*/
/** @defgroup RCCEx_UART4_Clock_Source RCCEx UART4 Clock Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RCC_UART4CLKSOURCE_D2PCLK1 RCC_USART234578CLKSOURCE_D2PCLK1
@@ -668,6 +686,7 @@ typedef struct
*/
/** @defgroup RCCEx_UART5_Clock_Source RCCEx UART5 Clock Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RCC_UART5CLKSOURCE_D2PCLK1 RCC_USART234578CLKSOURCE_D2PCLK1
@@ -682,6 +701,7 @@ typedef struct
*/
/** @defgroup RCCEx_UART7_Clock_Source RCCEx UART7 Clock Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RCC_UART7CLKSOURCE_D2PCLK1 RCC_USART234578CLKSOURCE_D2PCLK1
@@ -696,6 +716,7 @@ typedef struct
*/
/** @defgroup RCCEx_UART8_Clock_Source RCCEx UART8 Clock Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RCC_UART8CLKSOURCE_D2PCLK1 RCC_USART234578CLKSOURCE_D2PCLK1
@@ -710,6 +731,7 @@ typedef struct
*/
/** @defgroup RCCEx_LPUART1_Clock_Source RCCEx LPUART1 Clock Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined(RCC_D3CCIPR_LPUART1SEL)
@@ -737,6 +759,7 @@ typedef struct
*/
/** @defgroup RCCEx_I2C123_Clock_Source RCCEx I2C1/2/3 Clock Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined (RCC_D2CCIP2R_I2C123SEL)
@@ -757,6 +780,7 @@ typedef struct
*/
/** @defgroup RCCEx_I2C1_Clock_Source RCCEx I2C1 Clock Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RCC_I2C1CLKSOURCE_D2PCLK1 RCC_I2C123CLKSOURCE_D2PCLK1
@@ -769,6 +793,7 @@ typedef struct
*/
/** @defgroup RCCEx_I2C2_Clock_Source RCCEx I2C2 Clock Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RCC_I2C2CLKSOURCE_D2PCLK1 RCC_I2C123CLKSOURCE_D2PCLK1
@@ -781,6 +806,7 @@ typedef struct
*/
/** @defgroup RCCEx_I2C3_Clock_Source RCCEx I2C3 Clock Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RCC_I2C3CLKSOURCE_D2PCLK1 RCC_I2C123CLKSOURCE_D2PCLK1
@@ -793,6 +819,7 @@ typedef struct
*/
/** @defgroup RCCEx_I2C4_Clock_Source RCCEx I2C4 Clock Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined(RCC_D3CCIPR_I2C4SEL)
@@ -814,6 +841,7 @@ typedef struct
*/
/** @defgroup RCCEx_RNG_Clock_Source RCCEx RNG Clock Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined(RCC_D2CCIP2R_RNGSEL)
@@ -834,6 +862,7 @@ typedef struct
#if defined(HRTIM1)
/** @defgroup RCCEx_HRTIM1_Clock_Source RCC Extended HRTIM1 Clock Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RCC_HRTIM1CLK_TIMCLK (0x00000000U)
@@ -845,6 +874,7 @@ typedef struct
#endif /*HRTIM1*/
/** @defgroup RCCEx_USB_Clock_Source RCCEx USB Clock Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined(RCC_D2CCIP2R_USBSEL)
@@ -862,6 +892,7 @@ typedef struct
*/
/** @defgroup RCCEx_SAI1_Clock_Source SAI1 Clock Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined(RCC_D2CCIP1R_SAI1SEL)
@@ -883,6 +914,7 @@ typedef struct
#if defined(SAI3)
/** @defgroup RCCEx_SAI23_Clock_Source SAI2/3 Clock Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RCC_SAI23CLKSOURCE_PLL (0x00000000U)
@@ -895,6 +927,7 @@ typedef struct
*/
/** @defgroup RCCEx_SAI2_Clock_Source SAI2 Clock Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RCC_SAI2CLKSOURCE_PLL RCC_SAI23CLKSOURCE_PLL
@@ -908,6 +941,7 @@ typedef struct
*/
/** @defgroup RCCEx_SAI3_Clock_Source SAI3 Clock Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RCC_SAI3CLKSOURCE_PLL RCC_SAI23CLKSOURCE_PLL
@@ -922,6 +956,7 @@ typedef struct
#if defined(RCC_CDCCIP1R_SAI2ASEL)
/** @defgroup RCCEx_SAI2_Clock_A Source SAI2A Clock Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RCC_SAI2ACLKSOURCE_PLL (0x00000000U)
@@ -937,6 +972,7 @@ typedef struct
#if defined(RCC_CDCCIP1R_SAI2BSEL)
/** @defgroup RCCEx_SAI2_Block_B Clock_Source SAI2B Clock Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RCC_SAI2BCLKSOURCE_PLL (0x00000000U)
@@ -952,6 +988,7 @@ typedef struct
/** @defgroup RCCEx_SPI123_Clock_Source SPI1/2/3 Clock Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined(RCC_D2CCIP1R_SPI123SEL)
@@ -972,6 +1009,7 @@ typedef struct
*/
/** @defgroup RCCEx_SPI1_Clock_Source SPI1 Clock Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RCC_SPI1CLKSOURCE_PLL RCC_SPI123CLKSOURCE_PLL
@@ -985,6 +1023,7 @@ typedef struct
*/
/** @defgroup RCCEx_SPI2_Clock_Source SPI2 Clock Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RCC_SPI2CLKSOURCE_PLL RCC_SPI123CLKSOURCE_PLL
@@ -998,6 +1037,7 @@ typedef struct
*/
/** @defgroup RCCEx_SPI3_Clock_Source SPI3 Clock Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RCC_SPI3CLKSOURCE_PLL RCC_SPI123CLKSOURCE_PLL
@@ -1011,6 +1051,7 @@ typedef struct
*/
/** @defgroup RCCEx_SPI45_Clock_Source SPI4/5 Clock Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined(RCC_D2CCIP1R_SPI45SEL)
@@ -1037,6 +1078,7 @@ typedef struct
*/
/** @defgroup RCCEx_SPI4_Clock_Source SPI4 Clock Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RCC_SPI4CLKSOURCE_D2PCLK1 RCC_SPI45CLKSOURCE_D2PCLK1
@@ -1051,6 +1093,7 @@ typedef struct
*/
/** @defgroup RCCEx_SPI5_Clock_Source SPI5 Clock Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RCC_SPI5CLKSOURCE_D2PCLK1 RCC_SPI45CLKSOURCE_D2PCLK1
@@ -1065,6 +1108,7 @@ typedef struct
*/
/** @defgroup RCCEx_SPI6_Clock_Source SPI6 Clock Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined(RCC_D3CCIPR_SPI6SEL)
@@ -1095,6 +1139,7 @@ typedef struct
#if defined(SAI4_Block_A)
/** @defgroup RCCEx_SAI4A_Clock_Source SAI4A Clock Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RCC_SAI4ACLKSOURCE_PLL (0x00000000U)
@@ -1112,6 +1157,7 @@ typedef struct
#if defined(SAI4_Block_B)
/** @defgroup RCCEx_SAI4B_Clock_Source SAI4B Clock Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RCC_SAI4BCLKSOURCE_PLL (0x00000000U)
@@ -1127,6 +1173,7 @@ typedef struct
/** @defgroup RCCEx_LPTIM1_Clock_Source RCCEx LPTIM1 Clock Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined(RCC_D2CCIP2R_LPTIM1SEL)
@@ -1155,6 +1202,7 @@ typedef struct
*/
/** @defgroup RCCEx_LPTIM2_Clock_Source RCCEx LPTIM2 Clock Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined(RCC_D3CCIPR_LPTIM2SEL)
@@ -1182,6 +1230,7 @@ typedef struct
*/
/** @defgroup RCCEx_LPTIM345_Clock_Source RCCEx LPTIM3/4/5 Clock Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined(RCC_D3CCIPR_LPTIM345SEL)
@@ -1209,6 +1258,7 @@ typedef struct
*/
/** @defgroup RCCEx_LPTIM3_Clock_Source RCCEx LPTIM3 Clock Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RCC_LPTIM3CLKSOURCE_D3PCLK1 RCC_LPTIM345CLKSOURCE_D3PCLK1
@@ -1223,6 +1273,7 @@ typedef struct
*/
#if defined(LPTIM4)
/** @defgroup RCCEx_LPTIM4_Clock_Source RCCEx LPTIM4 Clock Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RCC_LPTIM4CLKSOURCE_D3PCLK1 RCC_LPTIM345CLKSOURCE_D3PCLK1
@@ -1238,6 +1289,7 @@ typedef struct
#if defined(LPTIM5)
/** @defgroup RCCEx_LPTIM5_Clock_Source RCCEx LPTIM5 Clock Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RCC_LPTIM5CLKSOURCE_D3PCLK1 RCC_LPTIM345CLKSOURCE_D3PCLK1
@@ -1254,6 +1306,7 @@ typedef struct
#if defined(QUADSPI)
/** @defgroup RCCEx_QSPI_Clock_Source RCCEx QSPI Clock Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RCC_QSPICLKSOURCE_D1HCLK (0x00000000U)
@@ -1269,6 +1322,7 @@ typedef struct
#if defined(OCTOSPI1) || defined(OCTOSPI2)
/** @defgroup RCCEx_OSPI_Clock_Source RCCEx OSPI Clock Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RCC_OSPICLKSOURCE_CDHCLK (0x00000000U)
@@ -1286,6 +1340,7 @@ typedef struct
#if defined(DSI)
/** @defgroup RCCEx_DSI_Clock_Source RCCEx DSI Clock Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RCC_DSICLKSOURCE_PHY (0x00000000U)
@@ -1297,6 +1352,7 @@ typedef struct
#endif /* DSI */
/** @defgroup RCCEx_FMC_Clock_Source RCCEx FMC Clock Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined(RCC_D1CCIPR_FMCSEL)
@@ -1320,6 +1376,7 @@ typedef struct
#if defined(FDCAN1) || defined(FDCAN2)
/** @defgroup RCCEx_FDCAN_Clock_Source RCCEx FDCAN Clock Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined(RCC_D2CCIP1R_FDCANSEL)
@@ -1338,6 +1395,7 @@ typedef struct
/** @defgroup RCCEx_SDMMC_Clock_Source RCCEx SDMMC Clock Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined(RCC_D1CCIPR_SDMMCSEL)
@@ -1353,6 +1411,7 @@ typedef struct
/** @defgroup RCCEx_ADC_Clock_Source RCCEx ADC Clock Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined(RCC_D3CCIPR_ADCSEL_0)
@@ -1369,6 +1428,7 @@ typedef struct
*/
/** @defgroup RCCEx_SWPMI1_Clock_Source RCCEx SWPMI1 Clock Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined(RCC_D2CCIP1R_SWPSEL)
@@ -1385,6 +1445,7 @@ typedef struct
*/
/** @defgroup RCCEx_DFSDM1_Clock_Source RCCEx DFSDM1 Clock Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined(RCC_D2CCIP1R_DFSDM1SEL)
@@ -1402,6 +1463,7 @@ typedef struct
#if defined(DFSDM2_BASE)
/** @defgroup RCCEx_DFSDM2_Clock_Source RCCEx DFSDM2 Clock Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RCC_DFSDM2CLKSOURCE_SRDPCLK4 (0x00000000U)
@@ -1414,6 +1476,7 @@ typedef struct
#endif /* DFSDM2 */
/** @defgroup RCCEx_SPDIFRX_Clock_Source RCCEx SPDIFRX Clock Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined(RCC_D2CCIP1R_SPDIFSEL_0)
@@ -1432,6 +1495,7 @@ typedef struct
*/
/** @defgroup RCCEx_CEC_Clock_Source RCCEx CEC Clock Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined(RCC_D2CCIP2R_CECSEL_0)
@@ -1449,6 +1513,7 @@ typedef struct
/** @defgroup RCCEx_CLKP_Clock_Source RCCEx CLKP Clock Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined(RCC_D1CCIPR_CKPERSEL_0)
@@ -1465,6 +1530,7 @@ typedef struct
*/
/** @defgroup RCCEx_TIM_Prescaler_Selection RCCEx TIM Prescaler Selection
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RCC_TIMPRES_DESACTIVATED (0x00000000U)
@@ -1477,6 +1543,7 @@ typedef struct
#if defined(DUAL_CORE)
/** @defgroup RCCEx_RCC_BootCx RCCEx RCC BootCx
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RCC_BOOT_C1 RCC_GCR_BOOT_C1
@@ -1489,6 +1556,7 @@ typedef struct
#if defined(DUAL_CORE)
/** @defgroup RCCEx_RCC_WWDGx RCCEx RCC WWDGx
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RCC_WWDG1 RCC_GCR_WW1RSC
@@ -1501,6 +1569,7 @@ typedef struct
#else
/** @defgroup RCCEx_RCC_WWDGx RCCEx RCC WWDGx
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RCC_WWDG1 RCC_GCR_WW1RSC
@@ -1512,6 +1581,7 @@ typedef struct
#endif /*DUAL_CORE*/
/** @defgroup RCCEx_EXTI_LINE_LSECSS RCC LSE CSS external interrupt line
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RCC_EXTI_LINE_LSECSS EXTI_IMR1_IM18 /*!< External interrupt line 19 connected to the LSE CSS EXTI Line */
@@ -1520,6 +1590,7 @@ typedef struct
*/
/** @defgroup RCCEx_CRS_Status RCCEx CRS Status
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RCC_CRS_NONE (0x00000000U)
@@ -1534,6 +1605,7 @@ typedef struct
*/
/** @defgroup RCCEx_CRS_SynchroSource RCCEx CRS SynchroSource
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RCC_CRS_SYNC_SOURCE_PIN (0x00000000U) /*!< Synchro Signal source external pin, Available on STM32H7 Rev.B and above devices only */
@@ -1547,6 +1619,7 @@ typedef struct
*/
/** @defgroup RCCEx_CRS_SynchroDivider RCCEx CRS SynchroDivider
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RCC_CRS_SYNC_DIV1 (0x00000000U) /*!< Synchro Signal not divided (default) */
@@ -1562,6 +1635,7 @@ typedef struct
*/
/** @defgroup RCCEx_CRS_SynchroPolarity RCCEx CRS SynchroPolarity
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RCC_CRS_SYNC_POLARITY_RISING (0x00000000U) /*!< Synchro Active on rising edge (default) */
@@ -1571,6 +1645,7 @@ typedef struct
*/
/** @defgroup RCCEx_CRS_ReloadValueDefault RCCEx CRS ReloadValueDefault
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RCC_CRS_RELOADVALUE_DEFAULT (0x0000BB7FU) /*!< The reset value of the RELOAD field corresponds
@@ -1580,6 +1655,7 @@ typedef struct
*/
/** @defgroup RCCEx_CRS_ErrorLimitDefault RCCEx CRS ErrorLimitDefault
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RCC_CRS_ERRORLIMIT_DEFAULT (0x00000022U) /*!< Default Frequency error limit */
@@ -1588,6 +1664,7 @@ typedef struct
*/
/** @defgroup RCCEx_CRS_HSI48CalibrationDefault RCCEx CRS HSI48CalibrationDefault
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RCC_CRS_HSI48CALIBRATION_DEFAULT (0x00000020U) /*!< The default value is 32, which corresponds to the middle of the trimming interval.
@@ -1598,6 +1675,7 @@ typedef struct
*/
/** @defgroup RCCEx_CRS_FreqErrorDirection RCCEx CRS FreqErrorDirection
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RCC_CRS_FREQERRORDIR_UP (0x00000000U) /*!< Upcounting direction, the actual frequency is above the target */
@@ -1607,6 +1685,7 @@ typedef struct
*/
/** @defgroup RCCEx_CRS_Interrupt_Sources RCCEx CRS Interrupt Sources
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RCC_CRS_IT_SYNCOK CRS_CR_SYNCOKIE /*!< SYNC event OK */
@@ -1622,6 +1701,7 @@ typedef struct
*/
/** @defgroup RCCEx_CRS_Flags RCCEx CRS Flags
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RCC_CRS_FLAG_SYNCOK CRS_ISR_SYNCOKF /*!< SYNC event OK flag */
@@ -1644,6 +1724,7 @@ typedef struct
/* Exported macro ------------------------------------------------------------*/
/** @defgroup RCCEx_Exported_Macros RCCEx Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -3375,6 +3456,7 @@ typedef struct
#if defined(HRTIM1)
/** @defgroup RCCEx_HRTIMx_Clock_Config RCC Extended HRTIMx Clock Config
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @brief Macro to configure the HRTIM1 prescaler clock source.
@@ -3644,6 +3726,7 @@ typedef struct
} while(0)
/** @defgroup RCCEx_CRS_Extended_Features RCCEx CRS Extended Features
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/**
@@ -3756,6 +3839,7 @@ void HAL_RCCEx_CRS_ErrorCallback(uint32_t Error);
* @{
*/
/** @defgroup RCCEx_IS_RCC_Definitions RCC Private macros to check input parameters
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_hal_rng.h b/bsps/arm/stm32h7/include/stm32h7xx_hal_rng.h
index 2419609332..054fd94bb6 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_hal_rng.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_hal_rng.h
@@ -35,6 +35,7 @@ extern "C" {
#if defined (RNG)
/** @defgroup RNG RNG
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief RNG HAL module driver
* @{
*/
@@ -42,10 +43,12 @@ extern "C" {
/* Exported types ------------------------------------------------------------*/
/** @defgroup RNG_Exported_Types RNG Exported Types
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup RNG_Exported_Types_Group1 RNG Init Structure definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
typedef struct
@@ -58,6 +61,7 @@ typedef struct
*/
/** @defgroup RNG_Exported_Types_Group2 RNG State Structure definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
typedef enum
@@ -75,6 +79,7 @@ typedef enum
*/
/** @defgroup RNG_Exported_Types_Group3 RNG Handle Structure definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if (USE_HAL_RNG_REGISTER_CALLBACKS == 1)
@@ -136,10 +141,12 @@ typedef void (*pRNG_ReadyDataCallbackTypeDef)(RNG_HandleTypeDef *hrng, uint32_t
/* Exported constants --------------------------------------------------------*/
/** @defgroup RNG_Exported_Constants RNG Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup RNG_Exported_Constants_Group1 RNG Interrupt definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RNG_IT_DRDY RNG_SR_DRDY /*!< Data Ready interrupt */
@@ -150,6 +157,7 @@ typedef void (*pRNG_ReadyDataCallbackTypeDef)(RNG_HandleTypeDef *hrng, uint32_t
*/
/** @defgroup RNG_Exported_Constants_Group2 RNG Flag definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RNG_FLAG_DRDY RNG_SR_DRDY /*!< Data ready */
@@ -160,6 +168,7 @@ typedef void (*pRNG_ReadyDataCallbackTypeDef)(RNG_HandleTypeDef *hrng, uint32_t
*/
/** @defgroup RNG_Exported_Constants_Group3 RNG Clock Error Detection
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RNG_CED_ENABLE 0x00000000U /*!< Clock error detection Enabled */
@@ -169,6 +178,7 @@ typedef void (*pRNG_ReadyDataCallbackTypeDef)(RNG_HandleTypeDef *hrng, uint32_t
*/
/** @defgroup RNG_Error_Definition RNG Error Definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_RNG_ERROR_NONE 0x00000000U /*!< No error */
@@ -189,6 +199,7 @@ typedef void (*pRNG_ReadyDataCallbackTypeDef)(RNG_HandleTypeDef *hrng, uint32_t
/* Exported macros -----------------------------------------------------------*/
/** @defgroup RNG_Exported_Macros RNG Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -290,10 +301,12 @@ typedef void (*pRNG_ReadyDataCallbackTypeDef)(RNG_HandleTypeDef *hrng, uint32_t
#endif /* CONDRST */
/* Exported functions --------------------------------------------------------*/
/** @defgroup RNG_Exported_Functions RNG Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup RNG_Exported_Functions_Group1 Initialization and configuration functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
HAL_StatusTypeDef HAL_RNG_Init(RNG_HandleTypeDef *hrng);
@@ -315,6 +328,7 @@ HAL_StatusTypeDef HAL_RNG_UnRegisterReadyDataCallback(RNG_HandleTypeDef *hrng);
*/
/** @defgroup RNG_Exported_Functions_Group2 Peripheral Control functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
HAL_StatusTypeDef HAL_RNG_GenerateRandomNumber(RNG_HandleTypeDef *hrng, uint32_t *random32bit);
@@ -330,6 +344,7 @@ void HAL_RNG_ReadyDataCallback(RNG_HandleTypeDef *hrng, uint32_t random32bit);
*/
/** @defgroup RNG_Exported_Functions_Group3 Peripheral State functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
HAL_RNG_StateTypeDef HAL_RNG_GetState(RNG_HandleTypeDef *hrng);
@@ -344,6 +359,7 @@ uint32_t HAL_RNG_GetError(RNG_HandleTypeDef *hrng);
/* Private macros ------------------------------------------------------------*/
/** @defgroup RNG_Private_Macros RNG Private Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define IS_RNG_IT(IT) (((IT) == RNG_IT_CEI) || \
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_hal_rng_ex.h b/bsps/arm/stm32h7/include/stm32h7xx_hal_rng_ex.h
index 69a97d4cba..054cce6e09 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_hal_rng_ex.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_hal_rng_ex.h
@@ -36,12 +36,14 @@ extern "C" {
#if defined (RNG_CR_CONDRST)
/** @defgroup RNGEx RNGEx
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief RNG Extension HAL module driver
* @{
*/
/* Exported types ------------------------------------------------------------*/
/** @defgroup RNGEx_Exported_Types RNGEx Exported Types
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief RNGEx Exported types
* @{
*/
@@ -67,10 +69,12 @@ typedef struct
/* Exported constants --------------------------------------------------------*/
/** @defgroup RNGEX_Exported_Constants RNGEX Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup RNGEX_Clock_Divider_Factor Value used to configure an internal
+ * @ingroup RTEMSBSPsARMSTM32H7
* programmable divider acting on the incoming RNG clock
* @{
*/
@@ -110,6 +114,7 @@ typedef struct
*/
/** @defgroup RNGEX_NIST_Compliance NIST Compliance configuration
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RNG_NIST_COMPLIANT (0x00000000UL) /*!< NIST compliant configuration*/
@@ -125,6 +130,7 @@ typedef struct
/* Private types -------------------------------------------------------------*/
/** @defgroup RNGEx_Private_Types RNGEx Private Types
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -134,6 +140,7 @@ typedef struct
/* Private variables ---------------------------------------------------------*/
/** @defgroup RNGEx_Private_Variables RNGEx Private Variables
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -143,6 +150,7 @@ typedef struct
/* Private constants ---------------------------------------------------------*/
/** @defgroup RNGEx_Private_Constants RNGEx Private Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -152,6 +160,7 @@ typedef struct
/* Private macros ------------------------------------------------------------*/
/** @defgroup RNGEx_Private_Macros RNGEx Private Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -189,6 +198,7 @@ typedef struct
/* Private functions ---------------------------------------------------------*/
/** @defgroup RNGEx_Private_Functions RNGEx Private Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -198,6 +208,7 @@ typedef struct
/* Exported functions --------------------------------------------------------*/
/** @defgroup RNGEx_Exported_Functions RNGEx Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_hal_rtc.h b/bsps/arm/stm32h7/include/stm32h7xx_hal_rtc.h
index ddc3eab005..224c6cef85 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_hal_rtc.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_hal_rtc.h
@@ -33,11 +33,13 @@ extern "C" {
*/
/** @defgroup RTC RTC
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/* Exported types ------------------------------------------------------------*/
/** @defgroup RTC_Exported_Types RTC Exported Types
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -283,10 +285,12 @@ typedef void (*pRTC_CallbackTypeDef)(RTC_HandleTypeDef *hrtc); /*!< pointer to
/* Exported constants --------------------------------------------------------*/
/** @defgroup RTC_Exported_Constants RTC Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup RTC_Hour_Formats_Definitions RTC Hour Formats Definitions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RTC_HOURFORMAT_24 0x00000000u
@@ -296,6 +300,7 @@ typedef void (*pRTC_CallbackTypeDef)(RTC_HandleTypeDef *hrtc); /*!< pointer to
*/
/** @defgroup RTC_Output_selection_Definitions RTC Output Selection Definitions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RTC_OUTPUT_DISABLE 0x00000000u
@@ -310,6 +315,7 @@ typedef void (*pRTC_CallbackTypeDef)(RTC_HandleTypeDef *hrtc); /*!< pointer to
*/
/** @defgroup RTC_Output_Polarity_Definitions RTC Output Polarity Definitions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RTC_OUTPUT_POLARITY_HIGH 0x00000000u
@@ -319,6 +325,7 @@ typedef void (*pRTC_CallbackTypeDef)(RTC_HandleTypeDef *hrtc); /*!< pointer to
*/
/** @defgroup RTC_Output_Type_ALARM_OUT RTC Output Type ALARM OUT
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined(RTC_CR_TAMPALRM_TYPE)
@@ -337,6 +344,7 @@ typedef void (*pRTC_CallbackTypeDef)(RTC_HandleTypeDef *hrtc); /*!< pointer to
*/
/** @defgroup RTC_Output_PullUp_ALARM_OUT RTC Output Pull-Up ALARM OUT
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined(RTC_CR_TAMPALRM_PU)
@@ -348,6 +356,7 @@ typedef void (*pRTC_CallbackTypeDef)(RTC_HandleTypeDef *hrtc); /*!< pointer to
*/
/** @defgroup RTC_Output_ALARM_OUT_Remap RTC Output ALARM OUT Remap
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined(RTC_CR_OUT2EN)
@@ -364,6 +373,7 @@ typedef void (*pRTC_CallbackTypeDef)(RTC_HandleTypeDef *hrtc); /*!< pointer to
*/
/** @defgroup RTC_AM_PM_Definitions RTC AM PM Definitions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RTC_HOURFORMAT12_AM ((uint8_t)0x00)
@@ -373,6 +383,7 @@ typedef void (*pRTC_CallbackTypeDef)(RTC_HandleTypeDef *hrtc); /*!< pointer to
*/
/** @defgroup RTC_DayLightSaving_Definitions RTC DayLight Saving Definitions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RTC_DAYLIGHTSAVING_SUB1H RTC_CR_SUB1H
@@ -383,6 +394,7 @@ typedef void (*pRTC_CallbackTypeDef)(RTC_HandleTypeDef *hrtc); /*!< pointer to
*/
/** @defgroup RTC_StoreOperation_Definitions RTC Store Operation Definitions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RTC_STOREOPERATION_RESET 0x00000000u
@@ -392,6 +404,7 @@ typedef void (*pRTC_CallbackTypeDef)(RTC_HandleTypeDef *hrtc); /*!< pointer to
*/
/** @defgroup RTC_Input_parameter_format_definitions RTC Input Parameter Format Definitions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RTC_FORMAT_BIN 0x00000000u
@@ -401,6 +414,7 @@ typedef void (*pRTC_CallbackTypeDef)(RTC_HandleTypeDef *hrtc); /*!< pointer to
*/
/** @defgroup RTC_Month_Date_Definitions RTC Month Date Definitions (in BCD format)
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RTC_MONTH_JANUARY ((uint8_t)0x01)
@@ -421,6 +435,7 @@ typedef void (*pRTC_CallbackTypeDef)(RTC_HandleTypeDef *hrtc); /*!< pointer to
*/
/** @defgroup RTC_WeekDay_Definitions RTC WeekDay Definitions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RTC_WEEKDAY_MONDAY ((uint8_t)0x01)
@@ -436,6 +451,7 @@ typedef void (*pRTC_CallbackTypeDef)(RTC_HandleTypeDef *hrtc); /*!< pointer to
*/
/** @defgroup RTC_AlarmDateWeekDay_Definitions RTC Alarm Date WeekDay Definitions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RTC_ALARMDATEWEEKDAYSEL_DATE 0x00000000u
@@ -446,6 +462,7 @@ typedef void (*pRTC_CallbackTypeDef)(RTC_HandleTypeDef *hrtc); /*!< pointer to
*/
/** @defgroup RTC_AlarmMask_Definitions RTC Alarm Mask Definitions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RTC_ALARMMASK_NONE 0x00000000u
@@ -462,6 +479,7 @@ typedef void (*pRTC_CallbackTypeDef)(RTC_HandleTypeDef *hrtc); /*!< pointer to
*/
/** @defgroup RTC_Alarms_Definitions RTC Alarms Definitions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RTC_ALARM_A RTC_CR_ALRAE
@@ -471,6 +489,7 @@ typedef void (*pRTC_CallbackTypeDef)(RTC_HandleTypeDef *hrtc); /*!< pointer to
*/
/** @defgroup RTC_Alarm_Sub_Seconds_Masks_Definitions RTC Alarm Sub Seconds Masks Definitions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/*!< All Alarm SS fields are masked. There is no comparison on sub seconds for Alarm */
@@ -511,6 +530,7 @@ typedef void (*pRTC_CallbackTypeDef)(RTC_HandleTypeDef *hrtc); /*!< pointer to
*/
/** @defgroup RTC_Interrupts_Definitions RTC Interrupts Definitions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RTC_IT_TS RTC_CR_TSIE /*!< Enable Timestamp Interrupt */
@@ -522,6 +542,7 @@ typedef void (*pRTC_CallbackTypeDef)(RTC_HandleTypeDef *hrtc); /*!< pointer to
*/
/** @defgroup RTC_Flags_Definitions RTC Flags Definitions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined(RTC_ICSR_RECALPF)
@@ -571,6 +592,7 @@ typedef void (*pRTC_CallbackTypeDef)(RTC_HandleTypeDef *hrtc); /*!< pointer to
*/
/** @defgroup RTC_Clear_Flags_Definitions RTC Clear Flags Definitions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined(RTC_SCR_CITSF)
@@ -596,6 +618,7 @@ typedef void (*pRTC_CallbackTypeDef)(RTC_HandleTypeDef *hrtc); /*!< pointer to
*/
/** @defgroup RTC_Flags_Definitions RTC Flags Definitions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined(RTC_ISR_RECALPF)
@@ -650,6 +673,7 @@ typedef void (*pRTC_CallbackTypeDef)(RTC_HandleTypeDef *hrtc); /*!< pointer to
/* Exported macros -----------------------------------------------------------*/
/** @defgroup RTC_Exported_Macros RTC Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -999,10 +1023,12 @@ typedef void (*pRTC_CallbackTypeDef)(RTC_HandleTypeDef *hrtc); /*!< pointer to
/* Exported functions --------------------------------------------------------*/
/** @defgroup RTC_Exported_Functions RTC Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup RTC_Exported_Functions_Group1 Initialization and de-initialization functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/* Initialization and de-initialization functions ****************************/
@@ -1022,6 +1048,7 @@ HAL_StatusTypeDef HAL_RTC_UnRegisterCallback(RTC_HandleTypeDef *hrtc, HAL_RTC_Ca
*/
/** @defgroup RTC_Exported_Functions_Group2 RTC Time and Date functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/* RTC Time and Date functions ************************************************/
@@ -1034,6 +1061,7 @@ HAL_StatusTypeDef HAL_RTC_GetDate(RTC_HandleTypeDef *hrtc, RTC_DateTypeDef *sDat
*/
/** @defgroup RTC_Exported_Functions_Group3 RTC Alarm functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/* RTC Alarm functions ********************************************************/
@@ -1049,6 +1077,7 @@ HAL_StatusTypeDef HAL_RTC_PollForAlarmAEvent(RTC_HandleTypeDef *hrtc, uint32_t T
*/
/** @defgroup RTC_Exported_Functions_Group4 Peripheral Control functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/* Peripheral Control functions ***********************************************/
@@ -1058,6 +1087,7 @@ HAL_StatusTypeDef HAL_RTC_WaitForSynchro(RTC_HandleTypeDef *hrtc);
*/
/** @defgroup RTC_Exported_Functions_Group5 Peripheral State functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/* Peripheral State functions *************************************************/
@@ -1074,6 +1104,7 @@ HAL_RTCStateTypeDef HAL_RTC_GetState(RTC_HandleTypeDef *hrtc);
/* Private variables ---------------------------------------------------------*/
/* Private constants ---------------------------------------------------------*/
/** @defgroup RTC_Private_Constants RTC Private Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/* Masks Definition */
@@ -1105,10 +1136,12 @@ HAL_RTCStateTypeDef HAL_RTC_GetState(RTC_HandleTypeDef *hrtc);
/* Private macros ------------------------------------------------------------*/
/** @defgroup RTC_Private_Macros RTC Private Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup RTC_IS_RTC_Definitions RTC Private macros to check input parameters
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -1214,6 +1247,7 @@ HAL_RTCStateTypeDef HAL_RTC_GetState(RTC_HandleTypeDef *hrtc);
/* Private functions -------------------------------------------------------------*/
/** @defgroup RTC_Private_Functions RTC Private Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
HAL_StatusTypeDef RTC_EnterInitMode(RTC_HandleTypeDef *hrtc);
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_hal_rtc_ex.h b/bsps/arm/stm32h7/include/stm32h7xx_hal_rtc_ex.h
index a9159c55f1..c621f78c30 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_hal_rtc_ex.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_hal_rtc_ex.h
@@ -33,16 +33,19 @@ extern "C" {
*/
/** @defgroup RTCEx RTCEx
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/* Exported types ------------------------------------------------------------*/
/** @defgroup RTCEx_Exported_Types RTCEx Exported Types
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup RTCEx_Tamper_structure_definition RTC Tamper structure definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
typedef struct
@@ -83,6 +86,7 @@ typedef struct
#if defined(TAMP_CR1_ITAMP1E)
/** @defgroup RTCEx_Internal_Tamper_structure_definition RTCEx Internal Tamper structure definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
typedef struct
@@ -100,6 +104,7 @@ typedef struct
#if defined(TAMP_ATCR1_TAMP1AM)
/** @defgroup RTCEx_Active_Seed_Size Seed size Definitions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RTC_ATAMP_SEED_NB_UINT32 4U
@@ -108,6 +113,7 @@ typedef struct
*/
/** @defgroup RTCEx_Active_Tampers_Number Active Tampers number Definitions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RTC_TAMP_NB 3u
@@ -116,6 +122,7 @@ typedef struct
*/
/** @defgroup RTCEx_ActiveTamper_structures_definition RTC Active Tamper structures definitions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
typedef struct
@@ -174,6 +181,7 @@ typedef struct
/* Exported constants --------------------------------------------------------*/
/** @defgroup RTCEx_Exported_Constants RTC Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -182,6 +190,7 @@ typedef struct
/* ========================================================================== */
/** @defgroup RTCEx_Backup_Registers_Number_Definitions RTC Backup Registers Number Definitions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined(RTC_BKP_NUMBER)
@@ -195,6 +204,7 @@ typedef struct
*/
/** @defgroup RTCEx_Backup_Registers_Definitions RTC Backup Registers Definitions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RTC_BKP_DR0 0x00u
@@ -238,6 +248,7 @@ typedef struct
/* ========================================================================== */
/** @defgroup RTCEx_TimeStamp_Edges_definitions RTC TimeStamp Edges Definitions
+ * @ingroup RTEMSBSPsARMSTM32H7
*
* @{
*/
@@ -248,6 +259,7 @@ typedef struct
*/
/** @defgroup RTCEx_TimeStamp_Pin_Selection RTC TimeStamp Pin Selection
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RTC_TIMESTAMPPIN_DEFAULT 0x00000000u
@@ -261,6 +273,7 @@ typedef struct
/* ========================================================================== */
/** @defgroup RTCEx_Tamper_Pins_Definitions RTC Tamper Pins Definitions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined(TAMP_CR1_TAMP1E)
@@ -289,6 +302,7 @@ typedef struct
*/
/** @defgroup RTCEx_Tamper_Interrupt_Definitions RTC Tamper Interrupts Definitions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined(TAMP_IER_TAMP1IE)
@@ -323,6 +337,7 @@ typedef struct
*/
/** @defgroup RTCEx_Internal_Tamper_Pins_Definitions RTCEx Internal Tamper Pins Definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined(TAMP_CR1_ITAMP1E)
@@ -355,6 +370,7 @@ typedef struct
*/
/** @defgroup RTCEx_Internal_Tamper_Interrupt_Definitions RTC Internal Tamper Interrupt
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined(TAMP_IER_ITAMP1IE)
@@ -383,6 +399,7 @@ typedef struct
*/
/** @defgroup RTCEx_Tamper_Trigger_Definitions RTC Tamper Triggers Definitions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RTC_TAMPERTRIGGER_RISINGEDGE 0x01u /*!< Warning : Filter must be RTC_TAMPERFILTER_DISABLE */
@@ -418,6 +435,7 @@ typedef struct
*/
/** @defgroup RTCEx_Tamper_EraseBackUp_Definitions RTC Tamper EraseBackUp Definitions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined(TAMP_CR2_TAMP1NOERASE)
@@ -457,6 +475,7 @@ typedef struct
*/
/** @defgroup RTCEx_Tamper_MaskFlag_Definitions RTC Tamper Mask Flag Definitions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined(TAMP_CR2_TAMP1MSK)
@@ -496,6 +515,7 @@ typedef struct
*/
/** @defgroup RTCEx_Tamper_Filter_Definitions RTC Tamper Filter Definitions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined(TAMP_FLTCR_TAMPFLT)
@@ -527,6 +547,7 @@ typedef struct
*/
/** @defgroup RTCEx_Tamper_Sampling_Frequencies_Definitions RTC Tamper Sampling Frequencies Definitions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined(TAMP_FLTCR_TAMPFREQ)
@@ -574,6 +595,7 @@ typedef struct
*/
/** @defgroup RTCEx_Tamper_Pin_Precharge_Duration_Definitions RTC Tamper Pin Precharge Duration Definitions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined(TAMP_FLTCR_TAMPPRCH)
@@ -605,6 +627,7 @@ typedef struct
*/
/** @defgroup RTCEx_Tamper_TimeStampOnTamperDetection_Definitions RTC Tamper TimeStamp On Tamper Detection Definitions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined(RTC_CR_TAMPTS)
@@ -622,6 +645,7 @@ typedef struct
*/
/** @defgroup RTCEx_Tamper_Pull_UP_Definitions RTC Tamper Pull Up Definitions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined(TAMP_FLTCR_TAMPPUDIS)
@@ -639,6 +663,7 @@ typedef struct
*/
/** @defgroup RTCEx_Tamper_DetectionOutput_Definitions RTC Tamper Detection Ouput Definitions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined(RTC_CR_TAMPOE)
@@ -651,6 +676,7 @@ typedef struct
*/
/** @defgroup RTC_Tamper_Flags_Definitions RTC Tamper Flags Definitions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined(TAMP_SR_TAMP1F)
@@ -677,6 +703,7 @@ typedef struct
*/
/** @defgroup RTCEx_ActiveTamper_Enable RTCEx_ActiveTamper_Enable Definitions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RTC_ATAMP_ENABLE 1u
@@ -686,6 +713,7 @@ typedef struct
*/
/** @defgroup RTCEx_ActiveTamper_Interrupt RTCEx_ActiveTamper_Interrupt Definitions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RTC_ATAMP_INTERRUPT_ENABLE 1u
@@ -695,6 +723,7 @@ typedef struct
*/
/** @defgroup RTCEx_ActiveTamper_Filter RTCEx_ActiveTamper_Filter Definitions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RTC_ATAMP_FILTER_ENABLE TAMP_ATCR1_FLTEN
@@ -704,6 +733,7 @@ typedef struct
*/
/** @defgroup RTCEx_ActiveTamper_Async_prescaler RTC Active_Tamper_Asynchronous_Prescaler clock Definitions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RTC_ATAMP_ASYNCPRES_RTCCLK 0u /*!< RTCCLK */
@@ -719,6 +749,7 @@ typedef struct
*/
/** @defgroup RTCEx_ActiveTamper_Sel RTC Active Tamper selection Definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RTC_ATAMP_1 0u /*!< Tamper 1 */
@@ -734,6 +765,7 @@ typedef struct
*/
/** @defgroup RTCEx_Tamper_Registers_Offset RTC Tamper Registers Offset
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined (TAMP_CR1_TAMP1E)
@@ -749,6 +781,7 @@ typedef struct
/* ========================================================================== */
/** @defgroup RTCEx_Wakeup_Timer_Definitions RTC Wakeup Timer Definitions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RTC_WAKEUPCLOCK_RTCCLK_DIV16 0x00000000u
@@ -766,6 +799,7 @@ typedef struct
/* ========================================================================== */
/** @defgroup RTCEx_Smooth_calib_period_Definitions RTC Smooth Calib Period Definitions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RTC_SMOOTHCALIB_PERIOD_32SEC 0x00000000u /*!< If RTCCLK = 32768 Hz, Smooth calibration
@@ -779,6 +813,7 @@ typedef struct
*/
/** @defgroup RTCEx_Smooth_calib_Plus_pulses_Definitions RTC Smooth Calib Plus pulses Definitions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RTC_SMOOTHCALIB_PLUSPULSES_SET RTC_CALR_CALP /*!< The number of RTCCLK pulses added
@@ -791,6 +826,7 @@ typedef struct
*/
/** @defgroup RTCEx_Calib_Output_selection_Definitions RTC Calib Output Selection Definitions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RTC_CALIBOUTPUT_512HZ 0x00000000u
@@ -800,6 +836,7 @@ typedef struct
*/
/** @defgroup RTCEx_Add_1_Second_Parameter_Definitions RTC Add 1 Second Parameter Definitions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RTC_SHIFTADD1S_RESET 0x00000000u
@@ -815,6 +852,7 @@ typedef struct
/* Exported macros -----------------------------------------------------------*/
/** @defgroup RTCEx_Exported_Macros RTC Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -1762,6 +1800,7 @@ typedef struct
/* Exported functions --------------------------------------------------------*/
/** @defgroup RTCEx_Exported_Functions RTC Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -1772,6 +1811,7 @@ typedef struct
/* RTC TimeStamp functions ****************************************************/
/** @defgroup RTCEx_Exported_Functions_Group1 Extended RTC TimeStamp functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
HAL_StatusTypeDef HAL_RTCEx_SetTimeStamp(RTC_HandleTypeDef *hrtc, uint32_t TimeStampEdge, uint32_t RTC_TimeStampPin);
@@ -1794,6 +1834,7 @@ HAL_StatusTypeDef HAL_RTCEx_PollForTimeStampEvent(RTC_HandleTypeDef *hrtc, uint3
/* RTC Tamper functions *******************************************************/
/** @defgroup RTCEx_Exported_Functions_Group5 Extended RTC Tamper functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
HAL_StatusTypeDef HAL_RTCEx_SetTamper(RTC_HandleTypeDef *hrtc, RTC_TamperTypeDef *sTamper);
@@ -1847,6 +1888,7 @@ HAL_StatusTypeDef HAL_RTCEx_DeactivateActiveTampers(RTC_HandleTypeDef *hrtc);
/* RTC Wake-up functions ******************************************************/
/** @defgroup RTCEx_Exported_Functions_Group2 Extended RTC Wake-up functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
HAL_StatusTypeDef HAL_RTCEx_SetWakeUpTimer(RTC_HandleTypeDef *hrtc, uint32_t WakeUpCounter, uint32_t WakeUpClock);
@@ -1867,6 +1909,7 @@ HAL_StatusTypeDef HAL_RTCEx_PollForWakeUpTimerEvent(RTC_HandleTypeDef *hrtc, uin
/* Extended RTC Backup registers functions ************************************/
/** @defgroup RTCEx_Exported_Functions_Group6 Extended RTC Backup register functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
void HAL_RTCEx_BKUPWrite(RTC_HandleTypeDef *hrtc, uint32_t BackupRegister, uint32_t Data);
@@ -1882,6 +1925,7 @@ uint32_t HAL_RTCEx_BKUPRead(RTC_HandleTypeDef *hrtc, uint32_t BackupRegister);
/* Extended RTC Peripheral Control functions **********************************/
/** @defgroup RTCEx_Exported_Functions_Group3 Extended Peripheral Control functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
HAL_StatusTypeDef HAL_RTCEx_SetSmoothCalib(RTC_HandleTypeDef *hrtc, uint32_t SmoothCalibPeriod, uint32_t SmoothCalibPlusPulses, uint32_t SmoothCalibMinusPulsesValue);
@@ -1903,6 +1947,7 @@ HAL_StatusTypeDef HAL_RTCEx_MonotonicCounterGet(RTC_HandleTypeDef *hrtc, uint32_
/* Extended RTC features functions *******************************************/
/** @defgroup RTCEx_Exported_Functions_Group4 Extended features functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -1920,6 +1965,7 @@ HAL_StatusTypeDef HAL_RTCEx_PollForAlarmBEvent(RTC_HandleTypeDef *hrtc, uint32_t
/* Private variables ---------------------------------------------------------*/
/* Private constants ---------------------------------------------------------*/
/** @defgroup RTCEx_Private_Constants RTC Private Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define RTC_EXTI_LINE_TAMPER_TIMESTAMP_EVENT EXTI_IMR1_IM18 /*!< External interrupt line 18 Connected to the RTC Tamper and Time Stamp events */
@@ -1935,10 +1981,12 @@ HAL_StatusTypeDef HAL_RTCEx_PollForAlarmBEvent(RTC_HandleTypeDef *hrtc, uint32_t
/* Private macros ------------------------------------------------------------*/
/** @defgroup RTCEx_Private_Macros RTC Private Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup RTCEx_IS_RTC_Definitions Private macros to check input parameters
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_hal_sai.h b/bsps/arm/stm32h7/include/stm32h7xx_hal_sai.h
index a8dd6d5680..0dc6f0fa0f 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_hal_sai.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_hal_sai.h
@@ -38,6 +38,7 @@ extern "C" {
/* Exported types ------------------------------------------------------------*/
/** @defgroup SAI_Exported_Types SAI Exported Types
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -59,6 +60,7 @@ typedef enum
typedef void (*SAIcallback)(void);
/** @defgroup SAI_PDM_Structure_definition SAI PDM Structure definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief SAI PDM Init structure definition
* @{
*/
@@ -75,6 +77,7 @@ typedef struct
*/
/** @defgroup SAI_Init_Structure_definition SAI Init Structure definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief SAI Init Structure definition
* @{
*/
@@ -153,6 +156,7 @@ typedef struct
*/
/** @defgroup SAI_Frame_Structure_definition SAI Frame Structure definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief SAI Frame Init structure definition
* @{
*/
@@ -185,6 +189,7 @@ typedef struct
*/
/** @defgroup SAI_Slot_Structure_definition SAI Slot Structure definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief SAI Block Slot Init Structure definition
* @{
*/
@@ -207,6 +212,7 @@ typedef struct
*/
/** @defgroup SAI_Handle_Structure_definition SAI Handle Structure definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief SAI handle Structure definition
* @{
*/
@@ -281,10 +287,12 @@ typedef void (*pSAI_CallbackTypeDef)(SAI_HandleTypeDef *hsai);
/* Exported constants --------------------------------------------------------*/
/** @defgroup SAI_Exported_Constants SAI Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup SAI_Error_Code SAI Error Code
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_SAI_ERROR_NONE 0x00000000U /*!< No error */
@@ -304,6 +312,7 @@ typedef void (*pSAI_CallbackTypeDef)(SAI_HandleTypeDef *hsai);
*/
/** @defgroup SAI_Block_SyncExt SAI External synchronisation
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SAI_SYNCEXT_DISABLE 0U
@@ -314,6 +323,7 @@ typedef void (*pSAI_CallbackTypeDef)(SAI_HandleTypeDef *hsai);
*/
/** @defgroup SAI_Block_MckOutput SAI Block Master Clock Output
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SAI_MCK_OUTPUT_DISABLE 0x00000000U
@@ -323,6 +333,7 @@ typedef void (*pSAI_CallbackTypeDef)(SAI_HandleTypeDef *hsai);
*/
/** @defgroup SAI_Protocol SAI Supported protocol
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SAI_I2S_STANDARD 0U
@@ -335,6 +346,7 @@ typedef void (*pSAI_CallbackTypeDef)(SAI_HandleTypeDef *hsai);
*/
/** @defgroup SAI_Protocol_DataSize SAI protocol data size
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SAI_PROTOCOL_DATASIZE_16BIT 0U
@@ -346,6 +358,7 @@ typedef void (*pSAI_CallbackTypeDef)(SAI_HandleTypeDef *hsai);
*/
/** @defgroup SAI_Audio_Frequency SAI Audio Frequency
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SAI_AUDIO_FREQUENCY_192K 192000U
@@ -363,6 +376,7 @@ typedef void (*pSAI_CallbackTypeDef)(SAI_HandleTypeDef *hsai);
*/
/** @defgroup SAI_Block_Mck_OverSampling SAI Block Master Clock OverSampling
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SAI_MCK_OVERSAMPLING_DISABLE 0x00000000U
@@ -372,6 +386,7 @@ typedef void (*pSAI_CallbackTypeDef)(SAI_HandleTypeDef *hsai);
*/
/** @defgroup SAI_PDM_ClockEnable SAI PDM Clock Enable
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SAI_PDM_CLOCK1_ENABLE SAI_PDMCR_CKEN1
@@ -381,6 +396,7 @@ typedef void (*pSAI_CallbackTypeDef)(SAI_HandleTypeDef *hsai);
*/
/** @defgroup SAI_Block_Mode SAI Block Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SAI_MODEMASTER_TX 0x00000000U
@@ -393,6 +409,7 @@ typedef void (*pSAI_CallbackTypeDef)(SAI_HandleTypeDef *hsai);
*/
/** @defgroup SAI_Block_Protocol SAI Block Protocol
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SAI_FREE_PROTOCOL 0x00000000U
@@ -403,6 +420,7 @@ typedef void (*pSAI_CallbackTypeDef)(SAI_HandleTypeDef *hsai);
*/
/** @defgroup SAI_Block_Data_Size SAI Block Data Size
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SAI_DATASIZE_8 SAI_xCR1_DS_1
@@ -416,6 +434,7 @@ typedef void (*pSAI_CallbackTypeDef)(SAI_HandleTypeDef *hsai);
*/
/** @defgroup SAI_Block_MSB_LSB_transmission SAI Block MSB LSB transmission
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SAI_FIRSTBIT_MSB 0x00000000U
@@ -425,6 +444,7 @@ typedef void (*pSAI_CallbackTypeDef)(SAI_HandleTypeDef *hsai);
*/
/** @defgroup SAI_Block_Clock_Strobing SAI Block Clock Strobing
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SAI_CLOCKSTROBING_FALLINGEDGE 0U
@@ -434,6 +454,7 @@ typedef void (*pSAI_CallbackTypeDef)(SAI_HandleTypeDef *hsai);
*/
/** @defgroup SAI_Block_Synchronization SAI Block Synchronization
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SAI_ASYNCHRONOUS 0U /*!< Asynchronous */
@@ -453,6 +474,7 @@ typedef void (*pSAI_CallbackTypeDef)(SAI_HandleTypeDef *hsai);
*/
/** @defgroup SAI_Block_Output_Drive SAI Block Output Drive
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SAI_OUTPUTDRIVE_DISABLE 0x00000000U
@@ -462,6 +484,7 @@ typedef void (*pSAI_CallbackTypeDef)(SAI_HandleTypeDef *hsai);
*/
/** @defgroup SAI_Block_NoDivider SAI Block NoDivider
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SAI_MASTERDIVIDER_ENABLE 0x00000000U
@@ -471,6 +494,7 @@ typedef void (*pSAI_CallbackTypeDef)(SAI_HandleTypeDef *hsai);
*/
/** @defgroup SAI_Block_FS_Definition SAI Block FS Definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SAI_FS_STARTFRAME 0x00000000U
@@ -480,6 +504,7 @@ typedef void (*pSAI_CallbackTypeDef)(SAI_HandleTypeDef *hsai);
*/
/** @defgroup SAI_Block_FS_Polarity SAI Block FS Polarity
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SAI_FS_ACTIVE_LOW 0x00000000U
@@ -489,6 +514,7 @@ typedef void (*pSAI_CallbackTypeDef)(SAI_HandleTypeDef *hsai);
*/
/** @defgroup SAI_Block_FS_Offset SAI Block FS Offset
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SAI_FS_FIRSTBIT 0x00000000U
@@ -498,6 +524,7 @@ typedef void (*pSAI_CallbackTypeDef)(SAI_HandleTypeDef *hsai);
*/
/** @defgroup SAI_Block_Slot_Size SAI Block Slot Size
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SAI_SLOTSIZE_DATASIZE 0x00000000U
@@ -508,6 +535,7 @@ typedef void (*pSAI_CallbackTypeDef)(SAI_HandleTypeDef *hsai);
*/
/** @defgroup SAI_Block_Slot_Active SAI Block Slot Active
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SAI_SLOT_NOTACTIVE 0x00000000U
@@ -533,6 +561,7 @@ typedef void (*pSAI_CallbackTypeDef)(SAI_HandleTypeDef *hsai);
*/
/** @defgroup SAI_Mono_Stereo_Mode SAI Mono Stereo Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SAI_STEREOMODE 0x00000000U
@@ -542,6 +571,7 @@ typedef void (*pSAI_CallbackTypeDef)(SAI_HandleTypeDef *hsai);
*/
/** @defgroup SAI_TRIState_Management SAI TRIState Management
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SAI_OUTPUT_NOTRELEASED 0x00000000U
@@ -551,6 +581,7 @@ typedef void (*pSAI_CallbackTypeDef)(SAI_HandleTypeDef *hsai);
*/
/** @defgroup SAI_Block_Fifo_Threshold SAI Block Fifo Threshold
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SAI_FIFOTHRESHOLD_EMPTY 0x00000000U
@@ -563,6 +594,7 @@ typedef void (*pSAI_CallbackTypeDef)(SAI_HandleTypeDef *hsai);
*/
/** @defgroup SAI_Block_Companding_Mode SAI Block Companding Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SAI_NOCOMPANDING 0x00000000U
@@ -575,6 +607,7 @@ typedef void (*pSAI_CallbackTypeDef)(SAI_HandleTypeDef *hsai);
*/
/** @defgroup SAI_Block_Mute_Value SAI Block Mute Value
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SAI_ZERO_VALUE 0x00000000U
@@ -584,6 +617,7 @@ typedef void (*pSAI_CallbackTypeDef)(SAI_HandleTypeDef *hsai);
*/
/** @defgroup SAI_Block_Interrupts_Definition SAI Block Interrupts Definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SAI_IT_OVRUDR SAI_xIMR_OVRUDRIE
@@ -598,6 +632,7 @@ typedef void (*pSAI_CallbackTypeDef)(SAI_HandleTypeDef *hsai);
*/
/** @defgroup SAI_Block_Flags_Definition SAI Block Flags Definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SAI_FLAG_OVRUDR SAI_xSR_OVRUDR
@@ -612,6 +647,7 @@ typedef void (*pSAI_CallbackTypeDef)(SAI_HandleTypeDef *hsai);
*/
/** @defgroup SAI_Block_Fifo_Status_Level SAI Block Fifo Status Level
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SAI_FIFOSTATUS_EMPTY 0x00000000U
@@ -630,6 +666,7 @@ typedef void (*pSAI_CallbackTypeDef)(SAI_HandleTypeDef *hsai);
/* Exported macro ------------------------------------------------------------*/
/** @defgroup SAI_Exported_Macros SAI Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief macros to handle interrupts and specific configurations
* @{
*/
@@ -959,6 +996,7 @@ uint32_t HAL_SAI_GetError(SAI_HandleTypeDef *hsai);
/* Private functions ---------------------------------------------------------*/
/** @defgroup SAI_Private_Functions SAI Private Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_hal_sai_ex.h b/bsps/arm/stm32h7/include/stm32h7xx_hal_sai_ex.h
index 40245731d1..0566e42b7b 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_hal_sai_ex.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_hal_sai_ex.h
@@ -38,6 +38,7 @@ extern "C" {
/* Exported types ------------------------------------------------------------*/
/** @defgroup SAIEx_Exported_Types SAIEx Exported Types
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_hal_sd.h b/bsps/arm/stm32h7/include/stm32h7xx_hal_sd.h
index b69533120f..caeff95153 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_hal_sd.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_hal_sd.h
@@ -36,16 +36,19 @@
*/
/** @defgroup SD SD
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief SD HAL module driver
* @{
*/
/* Exported types ------------------------------------------------------------*/
/** @defgroup SD_Exported_Types SD Exported Types
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup SD_Exported_Types_Group1 SD State enumeration structure
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
typedef enum
@@ -64,6 +67,7 @@ typedef enum
*/
/** @defgroup SD_Exported_Types_Group2 SD Card State enumeration structure
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
typedef uint32_t HAL_SD_CardStateTypeDef;
@@ -82,6 +86,7 @@ typedef uint32_t HAL_SD_CardStateTypeDef;
*/
/** @defgroup SD_Exported_Types_Group3 SD Handle Structure definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SD_InitTypeDef SDMMC_InitTypeDef
@@ -171,6 +176,7 @@ typedef struct
*/
/** @defgroup SD_Exported_Types_Group4 Card Specific Data: CSD Register
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
typedef struct
@@ -218,6 +224,7 @@ typedef struct
*/
/** @defgroup SD_Exported_Types_Group5 Card Identification Data: CID Register
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
typedef struct
@@ -239,6 +246,7 @@ typedef struct
*/
/** @defgroup SD_Exported_Types_Group6 SD Card Status returned by ACMD13
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
typedef struct
@@ -263,6 +271,7 @@ typedef struct
#if defined (USE_HAL_SD_REGISTER_CALLBACKS) && (USE_HAL_SD_REGISTER_CALLBACKS == 1U)
/** @defgroup SD_Exported_Types_Group7 SD Callback ID enumeration definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
typedef enum
@@ -284,6 +293,7 @@ typedef enum
*/
/** @defgroup SD_Exported_Types_Group8 SD Callback pointer definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
typedef void (*pSD_CallbackTypeDef) (SD_HandleTypeDef *hsd);
@@ -300,12 +310,14 @@ typedef void (*pSD_TransceiverCallbackTypeDef)(FlagStatus status);
/* Exported constants --------------------------------------------------------*/
/** @defgroup SD_Exported_Constants Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define BLOCKSIZE ((uint32_t)512U) /*!< Block size is 512 bytes */
/** @defgroup SD_Exported_Constansts_Group1 SD Error status enumeration Structure definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_SD_ERROR_NONE SDMMC_ERROR_NONE /*!< No error */
@@ -353,6 +365,7 @@ typedef void (*pSD_TransceiverCallbackTypeDef)(FlagStatus status);
*/
/** @defgroup SD_Exported_Constansts_Group2 SD context enumeration
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SD_CONTEXT_NONE ((uint32_t)0x00000000U) /*!< None */
@@ -368,6 +381,7 @@ typedef void (*pSD_TransceiverCallbackTypeDef)(FlagStatus status);
*/
/** @defgroup SD_Exported_Constansts_Group3 SD Supported Memory Cards
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define CARD_NORMAL_SPEED ((uint32_t)0x00000000U) /*!< Normal Speed Card <12.5Mo/s , Spec Version 1.01 */
@@ -384,6 +398,7 @@ typedef void (*pSD_TransceiverCallbackTypeDef)(FlagStatus status);
*/
/** @defgroup SD_Exported_Constansts_Group4 SD Supported Version
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define CARD_V1_X ((uint32_t)0x00000000U)
@@ -398,6 +413,7 @@ typedef void (*pSD_TransceiverCallbackTypeDef)(FlagStatus status);
/* Exported macro ------------------------------------------------------------*/
/** @defgroup SD_Exported_macros SD Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief macros to handle interrupts and specific clock configurations
* @{
*/
@@ -615,10 +631,12 @@ typedef void (*pSD_TransceiverCallbackTypeDef)(FlagStatus status);
/* Exported functions --------------------------------------------------------*/
/** @defgroup SD_Exported_Functions SD Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup SD_Exported_Functions_Group1 Initialization and de-initialization functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
HAL_StatusTypeDef HAL_SD_Init (SD_HandleTypeDef *hsd);
@@ -631,6 +649,7 @@ void HAL_SD_MspDeInit(SD_HandleTypeDef *hsd);
*/
/** @defgroup SD_Exported_Functions_Group2 Input and Output operation functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/* Blocking mode: Polling */
@@ -673,6 +692,7 @@ HAL_StatusTypeDef HAL_SD_UnRegisterTransceiverCallback(SD_HandleTypeDef *hsd);
*/
/** @defgroup SD_Exported_Functions_Group3 Peripheral Control functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
HAL_StatusTypeDef HAL_SD_ConfigWideBusOperation(SD_HandleTypeDef *hsd, uint32_t WideMode);
@@ -682,6 +702,7 @@ HAL_StatusTypeDef HAL_SD_ConfigSpeedBusOperation(SD_HandleTypeDef *hsd, uint32_t
*/
/** @defgroup SD_Exported_Functions_Group4 SD card related functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
HAL_SD_CardStateTypeDef HAL_SD_GetCardState(SD_HandleTypeDef *hsd);
@@ -694,6 +715,7 @@ HAL_StatusTypeDef HAL_SD_GetCardInfo (SD_HandleTypeDef *hsd, HAL_SD_CardI
*/
/** @defgroup SD_Exported_Functions_Group5 Peripheral State and Errors functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
HAL_SD_StateTypeDef HAL_SD_GetState(SD_HandleTypeDef *hsd);
@@ -703,6 +725,7 @@ uint32_t HAL_SD_GetError(SD_HandleTypeDef *hsd);
*/
/** @defgroup SD_Exported_Functions_Group6 Perioheral Abort management
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
HAL_StatusTypeDef HAL_SD_Abort (SD_HandleTypeDef *hsd);
@@ -713,6 +736,7 @@ HAL_StatusTypeDef HAL_SD_Abort_IT(SD_HandleTypeDef *hsd);
/* Private types -------------------------------------------------------------*/
/** @defgroup SD_Private_Types SD Private Types
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -722,6 +746,7 @@ HAL_StatusTypeDef HAL_SD_Abort_IT(SD_HandleTypeDef *hsd);
/* Private defines -----------------------------------------------------------*/
/** @defgroup SD_Private_Defines SD Private Defines
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -731,6 +756,7 @@ HAL_StatusTypeDef HAL_SD_Abort_IT(SD_HandleTypeDef *hsd);
/* Private variables ---------------------------------------------------------*/
/** @defgroup SD_Private_Variables SD Private Variables
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -740,6 +766,7 @@ HAL_StatusTypeDef HAL_SD_Abort_IT(SD_HandleTypeDef *hsd);
/* Private constants ---------------------------------------------------------*/
/** @defgroup SD_Private_Constants SD Private Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -749,6 +776,7 @@ HAL_StatusTypeDef HAL_SD_Abort_IT(SD_HandleTypeDef *hsd);
/* Private macros ------------------------------------------------------------*/
/** @defgroup SD_Private_Macros SD Private Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -758,6 +786,7 @@ HAL_StatusTypeDef HAL_SD_Abort_IT(SD_HandleTypeDef *hsd);
/* Private functions prototypes ----------------------------------------------*/
/** @defgroup SD_Private_Functions_Prototypes SD Private Functions Prototypes
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -767,6 +796,7 @@ HAL_StatusTypeDef HAL_SD_Abort_IT(SD_HandleTypeDef *hsd);
/* Private functions ---------------------------------------------------------*/
/** @defgroup SD_Private_Functions SD Private Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_hal_sd_ex.h b/bsps/arm/stm32h7/include/stm32h7xx_hal_sd_ex.h
index 4a5ff5ba8e..5c7cabfd56 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_hal_sd_ex.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_hal_sd_ex.h
@@ -39,10 +39,12 @@
/* Exported types ------------------------------------------------------------*/
/** @defgroup SDEx_Exported_Types SDEx Exported Types
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup SDEx_Exported_Types_Group1 SD Card Internal DMA Buffer structure
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
typedef enum
@@ -64,10 +66,12 @@ typedef enum
/* Exported macro ------------------------------------------------------------*/
/* Exported functions --------------------------------------------------------*/
/** @defgroup SDEx_Exported_Functions SDEx Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup SDEx_Exported_Functions_Group1 MultiBuffer functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
HAL_StatusTypeDef HAL_SDEx_ConfigDMAMultiBuffer(SD_HandleTypeDef *hsd, uint32_t * pDataBuffer0, uint32_t * pDataBuffer1, uint32_t BufferSize);
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_hal_sdram.h b/bsps/arm/stm32h7/include/stm32h7xx_hal_sdram.h
index 5bde520dc8..765559fb6e 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_hal_sdram.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_hal_sdram.h
@@ -40,6 +40,7 @@ extern "C" {
/* Exported typedef ----------------------------------------------------------*/
/** @defgroup SDRAM_Exported_Types SDRAM Exported Types
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -112,6 +113,7 @@ typedef void (*pSDRAM_DmaCallbackTypeDef)(MDMA_HandleTypeDef *hmdma);
/* Exported macro ------------------------------------------------------------*/
/** @defgroup SDRAM_Exported_Macros SDRAM Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_hal_smartcard.h b/bsps/arm/stm32h7/include/stm32h7xx_hal_smartcard.h
index 0fc2c6a70e..28568f9451 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_hal_smartcard.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_hal_smartcard.h
@@ -38,6 +38,7 @@ extern "C" {
/* Exported types ------------------------------------------------------------*/
/** @defgroup SMARTCARD_Exported_Types SMARTCARD Exported Types
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -308,10 +309,12 @@ typedef enum
/* Exported constants --------------------------------------------------------*/
/** @defgroup SMARTCARD_Exported_Constants SMARTCARD Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup SMARTCARD_State_Definition SMARTCARD State Code Definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_SMARTCARD_STATE_RESET 0x00000000U /*!< Peripheral is not initialized
@@ -336,6 +339,7 @@ typedef enum
*/
/** @defgroup SMARTCARD_Error_Definition SMARTCARD Error Code Definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_SMARTCARD_ERROR_NONE ((uint32_t)0x00000000U) /*!< No error */
@@ -353,6 +357,7 @@ typedef enum
*/
/** @defgroup SMARTCARD_Word_Length SMARTCARD Word Length
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SMARTCARD_WORDLENGTH_9B USART_CR1_M0 /*!< SMARTCARD frame length */
@@ -361,6 +366,7 @@ typedef enum
*/
/** @defgroup SMARTCARD_Stop_Bits SMARTCARD Number of Stop Bits
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SMARTCARD_STOPBITS_0_5 USART_CR2_STOP_0 /*!< SMARTCARD frame with 0.5 stop bit */
@@ -370,6 +376,7 @@ typedef enum
*/
/** @defgroup SMARTCARD_Parity SMARTCARD Parity
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SMARTCARD_PARITY_EVEN USART_CR1_PCE /*!< SMARTCARD frame even parity */
@@ -379,6 +386,7 @@ typedef enum
*/
/** @defgroup SMARTCARD_Mode SMARTCARD Transfer Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SMARTCARD_MODE_RX USART_CR1_RE /*!< SMARTCARD RX mode */
@@ -389,6 +397,7 @@ typedef enum
*/
/** @defgroup SMARTCARD_Clock_Polarity SMARTCARD Clock Polarity
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SMARTCARD_POLARITY_LOW 0x00000000U /*!< SMARTCARD frame low polarity */
@@ -398,6 +407,7 @@ typedef enum
*/
/** @defgroup SMARTCARD_Clock_Phase SMARTCARD Clock Phase
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SMARTCARD_PHASE_1EDGE 0x00000000U /*!< SMARTCARD frame phase on first clock transition */
@@ -407,6 +417,7 @@ typedef enum
*/
/** @defgroup SMARTCARD_Last_Bit SMARTCARD Last Bit
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SMARTCARD_LASTBIT_DISABLE 0x00000000U /*!< SMARTCARD frame last data bit clock pulse not output to SCLK pin */
@@ -416,6 +427,7 @@ typedef enum
*/
/** @defgroup SMARTCARD_OneBit_Sampling SMARTCARD One Bit Sampling Method
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SMARTCARD_ONE_BIT_SAMPLE_DISABLE 0x00000000U /*!< SMARTCARD frame one-bit sample disabled */
@@ -425,6 +437,7 @@ typedef enum
*/
/** @defgroup SMARTCARD_NACK_Enable SMARTCARD NACK Enable
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SMARTCARD_NACK_DISABLE 0x00000000U /*!< SMARTCARD NACK transmission disabled */
@@ -434,6 +447,7 @@ typedef enum
*/
/** @defgroup SMARTCARD_Timeout_Enable SMARTCARD Timeout Enable
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SMARTCARD_TIMEOUT_DISABLE 0x00000000U /*!< SMARTCARD receiver timeout disabled */
@@ -443,6 +457,7 @@ typedef enum
*/
/** @defgroup SMARTCARD_ClockPrescaler SMARTCARD Clock Prescaler
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SMARTCARD_PRESCALER_DIV1 0x00000000U /*!< fclk_pres = fclk */
@@ -462,6 +477,7 @@ typedef enum
*/
/** @defgroup SMARTCARD_Tx_Inv SMARTCARD advanced feature TX pin active level inversion
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SMARTCARD_ADVFEATURE_TXINV_DISABLE 0x00000000U /*!< TX pin active level inversion disable */
@@ -471,6 +487,7 @@ typedef enum
*/
/** @defgroup SMARTCARD_Rx_Inv SMARTCARD advanced feature RX pin active level inversion
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SMARTCARD_ADVFEATURE_RXINV_DISABLE 0x00000000U /*!< RX pin active level inversion disable */
@@ -480,6 +497,7 @@ typedef enum
*/
/** @defgroup SMARTCARD_Data_Inv SMARTCARD advanced feature Binary Data inversion
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SMARTCARD_ADVFEATURE_DATAINV_DISABLE 0x00000000U /*!< Binary data inversion disable */
@@ -489,6 +507,7 @@ typedef enum
*/
/** @defgroup SMARTCARD_Rx_Tx_Swap SMARTCARD advanced feature RX TX pins swap
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SMARTCARD_ADVFEATURE_SWAP_DISABLE 0x00000000U /*!< TX/RX pins swap disable */
@@ -498,6 +517,7 @@ typedef enum
*/
/** @defgroup SMARTCARD_Overrun_Disable SMARTCARD advanced feature Overrun Disable
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SMARTCARD_ADVFEATURE_OVERRUN_ENABLE 0x00000000U /*!< RX overrun enable */
@@ -507,6 +527,7 @@ typedef enum
*/
/** @defgroup SMARTCARD_DMA_Disable_on_Rx_Error SMARTCARD advanced feature DMA Disable on Rx Error
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SMARTCARD_ADVFEATURE_DMA_ENABLEONRXERROR 0x00000000U /*!< DMA enable on Reception Error */
@@ -516,6 +537,7 @@ typedef enum
*/
/** @defgroup SMARTCARD_MSB_First SMARTCARD advanced feature MSB first
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SMARTCARD_ADVFEATURE_MSBFIRST_DISABLE 0x00000000U /*!< Most significant bit sent/received first disable */
@@ -525,6 +547,7 @@ typedef enum
*/
/** @defgroup SMARTCARD_Request_Parameters SMARTCARD Request Parameters
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SMARTCARD_RXDATA_FLUSH_REQUEST USART_RQR_RXFRQ /*!< Receive data flush request */
@@ -534,6 +557,7 @@ typedef enum
*/
/** @defgroup SMARTCARD_Interruption_Mask SMARTCARD interruptions flags mask
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SMARTCARD_IT_MASK 0x001FU /*!< SMARTCARD interruptions flags mask */
@@ -551,6 +575,7 @@ typedef enum
/* Exported macros -----------------------------------------------------------*/
/** @defgroup SMARTCARD_Exported_Macros SMARTCARD Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -817,6 +842,7 @@ typedef enum
/* Private macros -------------------------------------------------------------*/
/** @defgroup SMARTCARD_Private_Macros SMARTCARD Private Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_hal_smartcard_ex.h b/bsps/arm/stm32h7/include/stm32h7xx_hal_smartcard_ex.h
index 3b408ff52e..f18c60eaf8 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_hal_smartcard_ex.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_hal_smartcard_ex.h
@@ -44,6 +44,7 @@ extern "C" {
*/
/** @defgroup SMARTCARDEx_Transmission_Completion_Indication SMARTCARD Transmission Completion Indication
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SMARTCARD_TCBGT SMARTCARD_IT_TCBGT /*!< SMARTCARD transmission complete before guard time */
@@ -53,6 +54,7 @@ extern "C" {
*/
/** @defgroup SMARTCARDEx_Advanced_Features_Initialization_Type SMARTCARD advanced feature initialization type
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SMARTCARD_ADVFEATURE_NO_INIT 0x00000000U /*!< No advanced feature initialization */
@@ -69,6 +71,7 @@ extern "C" {
*/
/** @defgroup SMARTCARDEx_FIFO_mode SMARTCARD FIFO mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief SMARTCARD FIFO mode
* @{
*/
@@ -79,6 +82,7 @@ extern "C" {
*/
/** @defgroup SMARTCARDEx_TXFIFO_threshold_level SMARTCARD TXFIFO threshold level
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief SMARTCARD TXFIFO level
* @{
*/
@@ -93,6 +97,7 @@ extern "C" {
*/
/** @defgroup SMARTCARDEx_RXFIFO_threshold_level SMARTCARD RXFIFO threshold level
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief SMARTCARD RXFIFO level
* @{
*/
@@ -107,6 +112,7 @@ extern "C" {
*/
/** @defgroup SMARTCARDEx_Flags SMARTCARD Flags
+ * @ingroup RTEMSBSPsARMSTM32H7
* Elements values convention: 0xXXXX
* - 0xXXXX : Flag mask in the ISR register
* @{
@@ -136,6 +142,7 @@ extern "C" {
*/
/** @defgroup SMARTCARDEx_Interrupt_definition SMARTCARD Interrupts Definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* Elements values convention: 000ZZZZZ0XXYYYYYb
* - YYYYY : Interrupt source position in the XX register (5 bits)
* - XX : Interrupt source register (2 bits)
@@ -171,6 +178,7 @@ extern "C" {
*/
/** @defgroup SMARTCARDEx_IT_CLEAR_Flags SMARTCARD Interruption Clear Flags
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SMARTCARD_CLEAR_PEF USART_ICR_PECF /*!< SMARTCARD parity error clear flag */
@@ -193,6 +201,7 @@ extern "C" {
/* Exported macros -----------------------------------------------------------*/
/* Private macros ------------------------------------------------------------*/
/** @defgroup SMARTCARDEx_Private_Macros SMARTCARD Extended Private Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_hal_smbus.h b/bsps/arm/stm32h7/include/stm32h7xx_hal_smbus.h
index 283f66f974..cfb160cb1e 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_hal_smbus.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_hal_smbus.h
@@ -38,10 +38,12 @@ extern "C" {
/* Exported types ------------------------------------------------------------*/
/** @defgroup SMBUS_Exported_Types SMBUS Exported Types
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup SMBUS_Configuration_Structure_definition SMBUS Configuration Structure definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief SMBUS Configuration Structure definition
* @{
*/
@@ -90,6 +92,7 @@ typedef struct
*/
/** @defgroup HAL_state_definition HAL state definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief HAL State definition
* @{
*/
@@ -108,6 +111,7 @@ typedef struct
*/
/** @defgroup SMBUS_Error_Code_definition SMBUS Error Code definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief SMBUS Error Code definition
* @{
*/
@@ -129,6 +133,7 @@ typedef struct
*/
/** @defgroup SMBUS_handle_Structure_definition SMBUS handle Structure definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief SMBUS handle Structure definition
* @{
*/
@@ -205,10 +210,12 @@ typedef void (*pSMBUS_AddrCallbackTypeDef)(SMBUS_HandleTypeDef *hsmbus, uint8_t
/* Exported constants --------------------------------------------------------*/
/** @defgroup SMBUS_Exported_Constants SMBUS Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup SMBUS_Analog_Filter SMBUS Analog Filter
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SMBUS_ANALOGFILTER_ENABLE (0x00000000U)
@@ -218,6 +225,7 @@ typedef void (*pSMBUS_AddrCallbackTypeDef)(SMBUS_HandleTypeDef *hsmbus, uint8_t
*/
/** @defgroup SMBUS_addressing_mode SMBUS addressing mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SMBUS_ADDRESSINGMODE_7BIT (0x00000001U)
@@ -227,6 +235,7 @@ typedef void (*pSMBUS_AddrCallbackTypeDef)(SMBUS_HandleTypeDef *hsmbus, uint8_t
*/
/** @defgroup SMBUS_dual_addressing_mode SMBUS dual addressing mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -237,6 +246,7 @@ typedef void (*pSMBUS_AddrCallbackTypeDef)(SMBUS_HandleTypeDef *hsmbus, uint8_t
*/
/** @defgroup SMBUS_own_address2_masks SMBUS ownaddress2 masks
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -254,6 +264,7 @@ typedef void (*pSMBUS_AddrCallbackTypeDef)(SMBUS_HandleTypeDef *hsmbus, uint8_t
/** @defgroup SMBUS_general_call_addressing_mode SMBUS general call addressing mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SMBUS_GENERALCALL_DISABLE (0x00000000U)
@@ -263,6 +274,7 @@ typedef void (*pSMBUS_AddrCallbackTypeDef)(SMBUS_HandleTypeDef *hsmbus, uint8_t
*/
/** @defgroup SMBUS_nostretch_mode SMBUS nostretch mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SMBUS_NOSTRETCH_DISABLE (0x00000000U)
@@ -272,6 +284,7 @@ typedef void (*pSMBUS_AddrCallbackTypeDef)(SMBUS_HandleTypeDef *hsmbus, uint8_t
*/
/** @defgroup SMBUS_packet_error_check_mode SMBUS packet error check mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SMBUS_PEC_DISABLE (0x00000000U)
@@ -281,6 +294,7 @@ typedef void (*pSMBUS_AddrCallbackTypeDef)(SMBUS_HandleTypeDef *hsmbus, uint8_t
*/
/** @defgroup SMBUS_peripheral_mode SMBUS peripheral mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SMBUS_PERIPHERAL_MODE_SMBUS_HOST I2C_CR1_SMBHEN
@@ -291,6 +305,7 @@ typedef void (*pSMBUS_AddrCallbackTypeDef)(SMBUS_HandleTypeDef *hsmbus, uint8_t
*/
/** @defgroup SMBUS_ReloadEndMode_definition SMBUS ReloadEndMode definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -303,6 +318,7 @@ typedef void (*pSMBUS_AddrCallbackTypeDef)(SMBUS_HandleTypeDef *hsmbus, uint8_t
*/
/** @defgroup SMBUS_StartStopMode_definition SMBUS StartStopMode definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -315,6 +331,7 @@ typedef void (*pSMBUS_AddrCallbackTypeDef)(SMBUS_HandleTypeDef *hsmbus, uint8_t
*/
/** @defgroup SMBUS_XferOptions_definition SMBUS XferOptions definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -341,6 +358,7 @@ typedef void (*pSMBUS_AddrCallbackTypeDef)(SMBUS_HandleTypeDef *hsmbus, uint8_t
*/
/** @defgroup SMBUS_Interrupt_configuration_definition SMBUS Interrupt configuration definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief SMBUS Interrupt definition
* Elements values convention: 0xXXXXXXXX
* - XXXXXXXX : Interrupt control mask
@@ -362,6 +380,7 @@ typedef void (*pSMBUS_AddrCallbackTypeDef)(SMBUS_HandleTypeDef *hsmbus, uint8_t
*/
/** @defgroup SMBUS_Flag_definition SMBUS Flag definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Flag definition
* Elements values convention: 0xXXXXYYYY
* - XXXXXXXX : Flag mask
@@ -394,6 +413,7 @@ typedef void (*pSMBUS_AddrCallbackTypeDef)(SMBUS_HandleTypeDef *hsmbus, uint8_t
/* Exported macros ------------------------------------------------------------*/
/** @defgroup SMBUS_Exported_Macros SMBUS Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -530,6 +550,7 @@ typedef void (*pSMBUS_AddrCallbackTypeDef)(SMBUS_HandleTypeDef *hsmbus, uint8_t
/* Private macros ------------------------------------------------------------*/
/** @defgroup SMBUS_Private_Macro SMBUS Private Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -714,6 +735,7 @@ uint32_t HAL_SMBUS_GetError(SMBUS_HandleTypeDef *hsmbus);
/* Private Functions ---------------------------------------------------------*/
/** @defgroup SMBUS_Private_Functions SMBUS Private Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/* Private functions are defined in stm32h7xx_hal_smbus.c file */
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_hal_spdifrx.h b/bsps/arm/stm32h7/include/stm32h7xx_hal_spdifrx.h
index 92bdf67fba..df6a7be5df 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_hal_spdifrx.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_hal_spdifrx.h
@@ -40,6 +40,7 @@
/* Exported types ------------------------------------------------------------*/
/** @defgroup SPDIFRX_Exported_Types SPDIFRX Exported Types
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -205,9 +206,11 @@ typedef void (*pSPDIFRX_CallbackTypeDef)(SPDIFRX_HandleTypeDef * hspdif); /*!<
/* Exported constants --------------------------------------------------------*/
/** @defgroup SPDIFRX_Exported_Constants SPDIFRX Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup SPDIFRX_ErrorCode SPDIFRX Error Code
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_SPDIFRX_ERROR_NONE ((uint32_t)0x00000000U) /*!< No error */
@@ -224,6 +227,7 @@ typedef void (*pSPDIFRX_CallbackTypeDef)(SPDIFRX_HandleTypeDef * hspdif); /*!<
*/
/** @defgroup SPDIFRX_Input_Selection SPDIFRX Input Selection
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SPDIFRX_INPUT_IN0 ((uint32_t)0x00000000U)
@@ -235,6 +239,7 @@ typedef void (*pSPDIFRX_CallbackTypeDef)(SPDIFRX_HandleTypeDef * hspdif); /*!<
*/
/** @defgroup SPDIFRX_Max_Retries SPDIFRX Maximum Retries
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SPDIFRX_MAXRETRIES_NONE ((uint32_t)0x00000000U)
@@ -246,6 +251,7 @@ typedef void (*pSPDIFRX_CallbackTypeDef)(SPDIFRX_HandleTypeDef * hspdif); /*!<
*/
/** @defgroup SPDIFRX_Wait_For_Activity SPDIFRX Wait For Activity
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SPDIFRX_WAITFORACTIVITY_OFF ((uint32_t)0x00000000U)
@@ -255,6 +261,7 @@ typedef void (*pSPDIFRX_CallbackTypeDef)(SPDIFRX_HandleTypeDef * hspdif); /*!<
*/
/** @defgroup SPDIFRX_PT_Mask SPDIFRX Preamble Type Mask
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SPDIFRX_PREAMBLETYPEMASK_OFF ((uint32_t)0x00000000U)
@@ -264,6 +271,7 @@ typedef void (*pSPDIFRX_CallbackTypeDef)(SPDIFRX_HandleTypeDef * hspdif); /*!<
*/
/** @defgroup SPDIFRX_ChannelStatus_Mask SPDIFRX Channel Status Mask
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SPDIFRX_CHANNELSTATUS_OFF ((uint32_t)0x00000000U) /* The channel status and user bits are copied into the SPDIF_DR */
@@ -273,6 +281,7 @@ typedef void (*pSPDIFRX_CallbackTypeDef)(SPDIFRX_HandleTypeDef * hspdif); /*!<
*/
/** @defgroup SPDIFRX_V_Mask SPDIFRX Validity Mask
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SPDIFRX_VALIDITYMASK_OFF ((uint32_t)0x00000000U)
@@ -282,6 +291,7 @@ typedef void (*pSPDIFRX_CallbackTypeDef)(SPDIFRX_HandleTypeDef * hspdif); /*!<
*/
/** @defgroup SPDIFRX_PE_Mask SPDIFRX Parity Error Mask
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SPDIFRX_PARITYERRORMASK_OFF ((uint32_t)0x00000000U)
@@ -291,6 +301,7 @@ typedef void (*pSPDIFRX_CallbackTypeDef)(SPDIFRX_HandleTypeDef * hspdif); /*!<
*/
/** @defgroup SPDIFRX_Channel_Selection SPDIFRX Channel Selection
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SPDIFRX_CHANNEL_A ((uint32_t)0x00000000U)
@@ -300,6 +311,7 @@ typedef void (*pSPDIFRX_CallbackTypeDef)(SPDIFRX_HandleTypeDef * hspdif); /*!<
*/
/** @defgroup SPDIFRX_Data_Format SPDIFRX Data Format
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SPDIFRX_DATAFORMAT_LSB ((uint32_t)0x00000000U)
@@ -310,6 +322,7 @@ typedef void (*pSPDIFRX_CallbackTypeDef)(SPDIFRX_HandleTypeDef * hspdif); /*!<
*/
/** @defgroup SPDIFRX_Stereo_Mode SPDIFRX Stereo Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SPDIFRX_STEREOMODE_DISABLE ((uint32_t)0x00000000U)
@@ -319,6 +332,7 @@ typedef void (*pSPDIFRX_CallbackTypeDef)(SPDIFRX_HandleTypeDef * hspdif); /*!<
*/
/** @defgroup SPDIFRX_State SPDIFRX State
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -330,6 +344,7 @@ typedef void (*pSPDIFRX_CallbackTypeDef)(SPDIFRX_HandleTypeDef * hspdif); /*!<
*/
/** @defgroup SPDIFRX_Interrupts_Definition SPDIFRX Interrupts Definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SPDIFRX_IT_RXNE ((uint32_t)SPDIFRX_IMR_RXNEIE)
@@ -344,6 +359,7 @@ typedef void (*pSPDIFRX_CallbackTypeDef)(SPDIFRX_HandleTypeDef * hspdif); /*!<
*/
/** @defgroup SPDIFRX_Flags_Definition SPDIFRX Flags Definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SPDIFRX_FLAG_RXNE ((uint32_t)SPDIFRX_SR_RXNE)
@@ -365,6 +381,7 @@ typedef void (*pSPDIFRX_CallbackTypeDef)(SPDIFRX_HandleTypeDef * hspdif); /*!<
/* Exported macros -----------------------------------------------------------*/
/** @defgroup SPDIFRX_Exported_macros SPDIFRX Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -537,6 +554,7 @@ uint32_t HAL_SPDIFRX_GetError(SPDIFRX_HandleTypeDef const * const hspdif);
/* Private constants ---------------------------------------------------------*/
/* Private macros ------------------------------------------------------------*/
/** @defgroup SPDIFRX_Private_Macros SPDIFRX Private Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define IS_SPDIFRX_INPUT_SELECT(INPUT) (((INPUT) == SPDIFRX_INPUT_IN1) || \
@@ -581,6 +599,7 @@ uint32_t HAL_SPDIFRX_GetError(SPDIFRX_HandleTypeDef const * const hspdif);
/* Private functions ---------------------------------------------------------*/
/** @defgroup SPDIFRX_Private_Functions SPDIFRX Private Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/**
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_hal_spi.h b/bsps/arm/stm32h7/include/stm32h7xx_hal_spi.h
index 3b5dab5806..5be433919b 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_hal_spi.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_hal_spi.h
@@ -38,6 +38,7 @@ extern "C" {
/* Exported types ------------------------------------------------------------*/
/** @defgroup SPI_Exported_Types SPI Exported Types
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -249,10 +250,12 @@ typedef void (*pSPI_CallbackTypeDef)(SPI_HandleTypeDef *hspi); /*!< pointer to
/* Exported constants --------------------------------------------------------*/
/** @defgroup SPI_Exported_Constants SPI Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup SPI_FIFO_Type SPI FIFO Type
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SPI_LOWEND_FIFO_SIZE 8UL
@@ -262,6 +265,7 @@ typedef void (*pSPI_CallbackTypeDef)(SPI_HandleTypeDef *hspi); /*!< pointer to
*/
/** @defgroup SPI_Error_Code SPI Error Codes
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_SPI_ERROR_NONE (0x00000000UL) /*!< No error */
@@ -284,6 +288,7 @@ typedef void (*pSPI_CallbackTypeDef)(SPI_HandleTypeDef *hspi); /*!< pointer to
*/
/** @defgroup SPI_Mode SPI Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SPI_MODE_SLAVE (0x00000000UL)
@@ -293,6 +298,7 @@ typedef void (*pSPI_CallbackTypeDef)(SPI_HandleTypeDef *hspi); /*!< pointer to
*/
/** @defgroup SPI_Direction SPI Direction Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SPI_DIRECTION_2LINES (0x00000000UL)
@@ -304,6 +310,7 @@ typedef void (*pSPI_CallbackTypeDef)(SPI_HandleTypeDef *hspi); /*!< pointer to
*/
/** @defgroup SPI_Data_Size SPI Data Size
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SPI_DATASIZE_4BIT (0x00000003UL)
@@ -340,6 +347,7 @@ typedef void (*pSPI_CallbackTypeDef)(SPI_HandleTypeDef *hspi); /*!< pointer to
*/
/** @defgroup SPI_Clock_Polarity SPI Clock Polarity
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SPI_POLARITY_LOW (0x00000000UL)
@@ -349,6 +357,7 @@ typedef void (*pSPI_CallbackTypeDef)(SPI_HandleTypeDef *hspi); /*!< pointer to
*/
/** @defgroup SPI_Clock_Phase SPI Clock Phase
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SPI_PHASE_1EDGE (0x00000000UL)
@@ -358,6 +367,7 @@ typedef void (*pSPI_CallbackTypeDef)(SPI_HandleTypeDef *hspi); /*!< pointer to
*/
/** @defgroup SPI_Slave_Select_Management SPI Slave Select Management
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SPI_NSS_SOFT SPI_CFG2_SSM
@@ -368,6 +378,7 @@ typedef void (*pSPI_CallbackTypeDef)(SPI_HandleTypeDef *hspi); /*!< pointer to
*/
/** @defgroup SPI_NSSP_Mode SPI NSS Pulse Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SPI_NSS_PULSE_DISABLE (0x00000000UL)
@@ -377,6 +388,7 @@ typedef void (*pSPI_CallbackTypeDef)(SPI_HandleTypeDef *hspi); /*!< pointer to
*/
/** @defgroup SPI_BaudRate_Prescaler SPI BaudRate Prescaler
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SPI_BAUDRATEPRESCALER_2 (0x00000000UL)
@@ -392,6 +404,7 @@ typedef void (*pSPI_CallbackTypeDef)(SPI_HandleTypeDef *hspi); /*!< pointer to
*/
/** @defgroup SPI_MSB_LSB_Transmission SPI MSB LSB Transmission
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SPI_FIRSTBIT_MSB (0x00000000UL)
@@ -401,6 +414,7 @@ typedef void (*pSPI_CallbackTypeDef)(SPI_HandleTypeDef *hspi); /*!< pointer to
*/
/** @defgroup SPI_TI_Mode SPI TI Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SPI_TIMODE_DISABLE (0x00000000UL)
@@ -410,6 +424,7 @@ typedef void (*pSPI_CallbackTypeDef)(SPI_HandleTypeDef *hspi); /*!< pointer to
*/
/** @defgroup SPI_CRC_Calculation SPI CRC Calculation
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SPI_CRCCALCULATION_DISABLE (0x00000000UL)
@@ -419,6 +434,7 @@ typedef void (*pSPI_CallbackTypeDef)(SPI_HandleTypeDef *hspi); /*!< pointer to
*/
/** @defgroup SPI_CRC_length SPI CRC Length
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SPI_CRC_LENGTH_DATASIZE (0x00000000UL)
@@ -456,6 +472,7 @@ typedef void (*pSPI_CallbackTypeDef)(SPI_HandleTypeDef *hspi); /*!< pointer to
*/
/** @defgroup SPI_Fifo_Threshold SPI Fifo Threshold
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SPI_FIFO_THRESHOLD_01DATA (0x00000000UL)
@@ -479,6 +496,7 @@ typedef void (*pSPI_CallbackTypeDef)(SPI_HandleTypeDef *hspi); /*!< pointer to
*/
/** @defgroup SPI_CRC_Calculation_Initialization_Pattern SPI CRC Calculation Initialization Pattern
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SPI_CRC_INITIALIZATION_ALL_ZERO_PATTERN (0x00000000UL)
@@ -488,6 +506,7 @@ typedef void (*pSPI_CallbackTypeDef)(SPI_HandleTypeDef *hspi); /*!< pointer to
*/
/** @defgroup SPI_NSS_Polarity SPI NSS Polarity
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SPI_NSS_POLARITY_LOW (0x00000000UL)
@@ -497,6 +516,7 @@ typedef void (*pSPI_CallbackTypeDef)(SPI_HandleTypeDef *hspi); /*!< pointer to
*/
/** @defgroup SPI_Master_Keep_IO_State Keep IO State
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SPI_MASTER_KEEP_IO_STATE_DISABLE (0x00000000UL)
@@ -506,6 +526,7 @@ typedef void (*pSPI_CallbackTypeDef)(SPI_HandleTypeDef *hspi); /*!< pointer to
*/
/** @defgroup SPI_IO_Swap Control SPI IO Swap
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SPI_IO_SWAP_DISABLE (0x00000000UL)
@@ -515,6 +536,7 @@ typedef void (*pSPI_CallbackTypeDef)(SPI_HandleTypeDef *hspi); /*!< pointer to
*/
/** @defgroup SPI_Master_SS_Idleness SPI Master SS Idleness
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SPI_MASTER_SS_IDLENESS_00CYCLE (0x00000000UL)
@@ -538,6 +560,7 @@ typedef void (*pSPI_CallbackTypeDef)(SPI_HandleTypeDef *hspi); /*!< pointer to
*/
/** @defgroup SPI_Master_InterData_Idleness SPI Master Inter-Data Idleness
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SPI_MASTER_INTERDATA_IDLENESS_00CYCLE (0x00000000UL)
@@ -561,6 +584,7 @@ typedef void (*pSPI_CallbackTypeDef)(SPI_HandleTypeDef *hspi); /*!< pointer to
*/
/** @defgroup SPI_Master_RX_AutoSuspend SPI Master Receiver AutoSuspend
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SPI_MASTER_RX_AUTOSUSP_DISABLE (0x00000000UL)
@@ -570,6 +594,7 @@ typedef void (*pSPI_CallbackTypeDef)(SPI_HandleTypeDef *hspi); /*!< pointer to
*/
/** @defgroup SPI_Underrun_Detection SPI Underrun Detection
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SPI_UNDERRUN_DETECT_BEGIN_DATA_FRAME (0x00000000UL)
@@ -580,6 +605,7 @@ typedef void (*pSPI_CallbackTypeDef)(SPI_HandleTypeDef *hspi); /*!< pointer to
*/
/** @defgroup SPI_Underrun_Behaviour SPI Underrun Behavior
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SPI_UNDERRUN_BEHAV_REGISTER_PATTERN (0x00000000UL)
@@ -590,6 +616,7 @@ typedef void (*pSPI_CallbackTypeDef)(SPI_HandleTypeDef *hspi); /*!< pointer to
*/
/** @defgroup SPI_Interrupt_definition SPI Interrupt Definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SPI_IT_RXP SPI_IER_RXPIE
@@ -609,6 +636,7 @@ typedef void (*pSPI_CallbackTypeDef)(SPI_HandleTypeDef *hspi); /*!< pointer to
*/
/** @defgroup SPI_Flags_definition SPI Flags Definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SPI_FLAG_RXP SPI_SR_RXP /* SPI status flag : Rx-Packet available flag */
@@ -631,6 +659,7 @@ typedef void (*pSPI_CallbackTypeDef)(SPI_HandleTypeDef *hspi); /*!< pointer to
*/
/** @defgroup SPI_reception_fifo_status_level SPI Reception FIFO Status Level
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SPI_RX_FIFO_0PACKET (0x00000000UL) /* 0 or multiple of 4 packets available in the RxFIFO */
@@ -647,6 +676,7 @@ typedef void (*pSPI_CallbackTypeDef)(SPI_HandleTypeDef *hspi); /*!< pointer to
/* Exported macros -----------------------------------------------------------*/
/** @defgroup SPI_Exported_Macros SPI Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -909,6 +939,7 @@ uint32_t HAL_SPI_GetError(SPI_HandleTypeDef *hspi);
/* Private macros ------------------------------------------------------------*/
/** @defgroup SPI_Private_Macros SPI Private Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_hal_sram.h b/bsps/arm/stm32h7/include/stm32h7xx_hal_sram.h
index 33aaf83907..48dfa749a0 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_hal_sram.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_hal_sram.h
@@ -39,6 +39,7 @@ extern "C" {
/* Exported typedef ----------------------------------------------------------*/
/** @defgroup SRAM_Exported_Types SRAM Exported Types
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/**
@@ -109,6 +110,7 @@ typedef void (*pSRAM_DmaCallbackTypeDef)(MDMA_HandleTypeDef *hmdma);
/* Exported macro ------------------------------------------------------------*/
/** @defgroup SRAM_Exported_Macros SRAM Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_hal_swpmi.h b/bsps/arm/stm32h7/include/stm32h7xx_hal_swpmi.h
index 0c34032988..f418efefd8 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_hal_swpmi.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_hal_swpmi.h
@@ -39,6 +39,7 @@
/* Exported types ------------------------------------------------------------*/
/** @defgroup SWPMI_Exported_Types SWPMI Exported Types
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -154,11 +155,13 @@ typedef void (*pSWPMI_CallbackTypeDef)(SWPMI_HandleTypeDef *hswpmi);
/* Exported constants --------------------------------------------------------*/
/** @defgroup SWPMI_Exported_Constants SWPMI Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/**
* @defgroup SWPMI_Error_Code SWPMI Error Code Bitmap
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_SWPMI_ERROR_NONE ((uint32_t)0x00000000) /*!< No error */
@@ -177,6 +180,7 @@ typedef void (*pSWPMI_CallbackTypeDef)(SWPMI_HandleTypeDef *hswpmi);
*/
/** @defgroup SWPMI_Voltage_Class SWPMI Voltage Class
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SWPMI_VOLTAGE_CLASS_C ((uint32_t)0x00000000)
@@ -186,6 +190,7 @@ typedef void (*pSWPMI_CallbackTypeDef)(SWPMI_HandleTypeDef *hswpmi);
*/
/** @defgroup SWPMI_Tx_Buffering_Mode SWPMI Tx Buffering Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SWPMI_TX_NO_SOFTWAREBUFFER ((uint32_t)0x00000000)
@@ -196,6 +201,7 @@ typedef void (*pSWPMI_CallbackTypeDef)(SWPMI_HandleTypeDef *hswpmi);
*/
/** @defgroup SWPMI_Rx_Buffering_Mode SWPMI Rx Buffering Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SWPMI_RX_NO_SOFTWAREBUFFER ((uint32_t)0x00000000)
@@ -206,6 +212,7 @@ typedef void (*pSWPMI_CallbackTypeDef)(SWPMI_HandleTypeDef *hswpmi);
*/
/** @defgroup SWPMI_Flags SWPMI Status Flags
+ * @ingroup RTEMSBSPsARMSTM32H7
* Elements values convention: 0xXXXXXXXX
* - 0xXXXXXXXX : Flag mask in the ISR register
* @{
@@ -227,6 +234,7 @@ typedef void (*pSWPMI_CallbackTypeDef)(SWPMI_HandleTypeDef *hswpmi);
*/
/** @defgroup SWPMI_Interrupt_definition SWPMI Interrupts Definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* Elements values convention: 0xXXXX
* - 0xXXXX : Flag mask in the IER register
* @{
@@ -251,6 +259,7 @@ typedef void (*pSWPMI_CallbackTypeDef)(SWPMI_HandleTypeDef *hswpmi);
/* Exported macros -----------------------------------------------------------*/
/** @defgroup SWPMI_Exported_Macros SWPMI Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -410,6 +419,7 @@ typedef void (*pSWPMI_CallbackTypeDef)(SWPMI_HandleTypeDef *hswpmi);
/* Exported functions --------------------------------------------------------*/
/** @defgroup SWPMI_Exported_Functions SWPMI Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/* Initialization/de-initialization functions ********************************/
@@ -454,6 +464,7 @@ uint32_t HAL_SWPMI_GetError(SWPMI_HandleTypeDef *hswpmi);
/* Private types -------------------------------------------------------------*/
/** @defgroup SWPMI_Private_Types SWPMI Private Types
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -463,6 +474,7 @@ uint32_t HAL_SWPMI_GetError(SWPMI_HandleTypeDef *hswpmi);
/* Private variables ---------------------------------------------------------*/
/** @defgroup SWPMI_Private_Variables SWPMI Private Variables
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -472,6 +484,7 @@ uint32_t HAL_SWPMI_GetError(SWPMI_HandleTypeDef *hswpmi);
/* Private constants ---------------------------------------------------------*/
/** @defgroup SWPMI_Private_Constants SWPMI Private Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -481,6 +494,7 @@ uint32_t HAL_SWPMI_GetError(SWPMI_HandleTypeDef *hswpmi);
/* Private macros ------------------------------------------------------------*/
/** @defgroup SWPMI_Private_Macros SWPMI Private Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_hal_tim.h b/bsps/arm/stm32h7/include/stm32h7xx_hal_tim.h
index 37a7ada848..cee271cd44 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_hal_tim.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_hal_tim.h
@@ -38,6 +38,7 @@ extern "C" {
/* Exported types ------------------------------------------------------------*/
/** @defgroup TIM_Exported_Types TIM Exported Types
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -418,10 +419,12 @@ typedef void (*pTIM_CallbackTypeDef)(TIM_HandleTypeDef *htim); /*!< pointer to
/* Exported constants --------------------------------------------------------*/
/** @defgroup TIM_Exported_Constants TIM Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup TIM_ClearInput_Source TIM Clear Input Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define TIM_CLEARINPUTSOURCE_NONE 0x00000000U /*!< OCREF_CLR is disabled */
@@ -431,6 +434,7 @@ typedef void (*pTIM_CallbackTypeDef)(TIM_HandleTypeDef *htim); /*!< pointer to
*/
/** @defgroup TIM_DMA_Base_address TIM DMA Base Address
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define TIM_DMABASE_CR1 0x00000000U
@@ -466,6 +470,7 @@ typedef void (*pTIM_CallbackTypeDef)(TIM_HandleTypeDef *htim); /*!< pointer to
*/
/** @defgroup TIM_Event_Source TIM Event Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define TIM_EVENTSOURCE_UPDATE TIM_EGR_UG /*!< Reinitialize the counter and generates an update of the registers */
@@ -482,6 +487,7 @@ typedef void (*pTIM_CallbackTypeDef)(TIM_HandleTypeDef *htim); /*!< pointer to
*/
/** @defgroup TIM_Input_Channel_Polarity TIM Input Channel polarity
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define TIM_INPUTCHANNELPOLARITY_RISING 0x00000000U /*!< Polarity for TIx source */
@@ -492,6 +498,7 @@ typedef void (*pTIM_CallbackTypeDef)(TIM_HandleTypeDef *htim); /*!< pointer to
*/
/** @defgroup TIM_ETR_Polarity TIM ETR Polarity
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define TIM_ETRPOLARITY_INVERTED TIM_SMCR_ETP /*!< Polarity for ETR source */
@@ -501,6 +508,7 @@ typedef void (*pTIM_CallbackTypeDef)(TIM_HandleTypeDef *htim); /*!< pointer to
*/
/** @defgroup TIM_ETR_Prescaler TIM ETR Prescaler
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define TIM_ETRPRESCALER_DIV1 0x00000000U /*!< No prescaler is used */
@@ -512,6 +520,7 @@ typedef void (*pTIM_CallbackTypeDef)(TIM_HandleTypeDef *htim); /*!< pointer to
*/
/** @defgroup TIM_Counter_Mode TIM Counter Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define TIM_COUNTERMODE_UP 0x00000000U /*!< Counter used as up-counter */
@@ -524,6 +533,7 @@ typedef void (*pTIM_CallbackTypeDef)(TIM_HandleTypeDef *htim); /*!< pointer to
*/
/** @defgroup TIM_Update_Interrupt_Flag_Remap TIM Update Interrupt Flag Remap
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define TIM_UIFREMAP_DISABLE 0x00000000U /*!< Update interrupt flag remap disabled */
@@ -533,6 +543,7 @@ typedef void (*pTIM_CallbackTypeDef)(TIM_HandleTypeDef *htim); /*!< pointer to
*/
/** @defgroup TIM_ClockDivision TIM Clock Division
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define TIM_CLOCKDIVISION_DIV1 0x00000000U /*!< Clock division: tDTS=tCK_INT */
@@ -543,6 +554,7 @@ typedef void (*pTIM_CallbackTypeDef)(TIM_HandleTypeDef *htim); /*!< pointer to
*/
/** @defgroup TIM_Output_Compare_State TIM Output Compare State
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define TIM_OUTPUTSTATE_DISABLE 0x00000000U /*!< Capture/Compare 1 output disabled */
@@ -552,6 +564,7 @@ typedef void (*pTIM_CallbackTypeDef)(TIM_HandleTypeDef *htim); /*!< pointer to
*/
/** @defgroup TIM_AutoReloadPreload TIM Auto-Reload Preload
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define TIM_AUTORELOAD_PRELOAD_DISABLE 0x00000000U /*!< TIMx_ARR register is not buffered */
@@ -562,6 +575,7 @@ typedef void (*pTIM_CallbackTypeDef)(TIM_HandleTypeDef *htim); /*!< pointer to
*/
/** @defgroup TIM_Output_Fast_State TIM Output Fast State
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define TIM_OCFAST_DISABLE 0x00000000U /*!< Output Compare fast disable */
@@ -571,6 +585,7 @@ typedef void (*pTIM_CallbackTypeDef)(TIM_HandleTypeDef *htim); /*!< pointer to
*/
/** @defgroup TIM_Output_Compare_N_State TIM Complementary Output Compare State
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define TIM_OUTPUTNSTATE_DISABLE 0x00000000U /*!< OCxN is disabled */
@@ -580,6 +595,7 @@ typedef void (*pTIM_CallbackTypeDef)(TIM_HandleTypeDef *htim); /*!< pointer to
*/
/** @defgroup TIM_Output_Compare_Polarity TIM Output Compare Polarity
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define TIM_OCPOLARITY_HIGH 0x00000000U /*!< Capture/Compare output polarity */
@@ -589,6 +605,7 @@ typedef void (*pTIM_CallbackTypeDef)(TIM_HandleTypeDef *htim); /*!< pointer to
*/
/** @defgroup TIM_Output_Compare_N_Polarity TIM Complementary Output Compare Polarity
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define TIM_OCNPOLARITY_HIGH 0x00000000U /*!< Capture/Compare complementary output polarity */
@@ -598,6 +615,7 @@ typedef void (*pTIM_CallbackTypeDef)(TIM_HandleTypeDef *htim); /*!< pointer to
*/
/** @defgroup TIM_Output_Compare_Idle_State TIM Output Compare Idle State
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define TIM_OCIDLESTATE_SET TIM_CR2_OIS1 /*!< Output Idle state: OCx=1 when MOE=0 */
@@ -607,6 +625,7 @@ typedef void (*pTIM_CallbackTypeDef)(TIM_HandleTypeDef *htim); /*!< pointer to
*/
/** @defgroup TIM_Output_Compare_N_Idle_State TIM Complementary Output Compare Idle State
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define TIM_OCNIDLESTATE_SET TIM_CR2_OIS1N /*!< Complementary output Idle state: OCxN=1 when MOE=0 */
@@ -616,6 +635,7 @@ typedef void (*pTIM_CallbackTypeDef)(TIM_HandleTypeDef *htim); /*!< pointer to
*/
/** @defgroup TIM_Input_Capture_Polarity TIM Input Capture Polarity
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define TIM_ICPOLARITY_RISING TIM_INPUTCHANNELPOLARITY_RISING /*!< Capture triggered by rising edge on timer input */
@@ -626,6 +646,7 @@ typedef void (*pTIM_CallbackTypeDef)(TIM_HandleTypeDef *htim); /*!< pointer to
*/
/** @defgroup TIM_Encoder_Input_Polarity TIM Encoder Input Polarity
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define TIM_ENCODERINPUTPOLARITY_RISING TIM_INPUTCHANNELPOLARITY_RISING /*!< Encoder input with rising edge polarity */
@@ -635,6 +656,7 @@ typedef void (*pTIM_CallbackTypeDef)(TIM_HandleTypeDef *htim); /*!< pointer to
*/
/** @defgroup TIM_Input_Capture_Selection TIM Input Capture Selection
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define TIM_ICSELECTION_DIRECTTI TIM_CCMR1_CC1S_0 /*!< TIM Input 1, 2, 3 or 4 is selected to be
@@ -647,6 +669,7 @@ typedef void (*pTIM_CallbackTypeDef)(TIM_HandleTypeDef *htim); /*!< pointer to
*/
/** @defgroup TIM_Input_Capture_Prescaler TIM Input Capture Prescaler
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define TIM_ICPSC_DIV1 0x00000000U /*!< Capture performed each time an edge is detected on the capture input */
@@ -658,6 +681,7 @@ typedef void (*pTIM_CallbackTypeDef)(TIM_HandleTypeDef *htim); /*!< pointer to
*/
/** @defgroup TIM_One_Pulse_Mode TIM One Pulse Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define TIM_OPMODE_SINGLE TIM_CR1_OPM /*!< Counter stops counting at the next update event */
@@ -667,6 +691,7 @@ typedef void (*pTIM_CallbackTypeDef)(TIM_HandleTypeDef *htim); /*!< pointer to
*/
/** @defgroup TIM_Encoder_Mode TIM Encoder Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define TIM_ENCODERMODE_TI1 TIM_SMCR_SMS_0 /*!< Quadrature encoder mode 1, x2 mode, counts up/down on TI1FP1 edge depending on TI2FP2 level */
@@ -677,6 +702,7 @@ typedef void (*pTIM_CallbackTypeDef)(TIM_HandleTypeDef *htim); /*!< pointer to
*/
/** @defgroup TIM_Interrupt_definition TIM interrupt Definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define TIM_IT_UPDATE TIM_DIER_UIE /*!< Update interrupt */
@@ -692,6 +718,7 @@ typedef void (*pTIM_CallbackTypeDef)(TIM_HandleTypeDef *htim); /*!< pointer to
*/
/** @defgroup TIM_Commutation_Source TIM Commutation Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define TIM_COMMUTATION_TRGI TIM_CR2_CCUS /*!< When Capture/compare control bits are preloaded, they are updated by setting the COMG bit or when an rising edge occurs on trigger input */
@@ -701,6 +728,7 @@ typedef void (*pTIM_CallbackTypeDef)(TIM_HandleTypeDef *htim); /*!< pointer to
*/
/** @defgroup TIM_DMA_sources TIM DMA Sources
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define TIM_DMA_UPDATE TIM_DIER_UDE /*!< DMA request is triggered by the update event */
@@ -715,6 +743,7 @@ typedef void (*pTIM_CallbackTypeDef)(TIM_HandleTypeDef *htim); /*!< pointer to
*/
/** @defgroup TIM_Flag_definition TIM Flag Definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define TIM_FLAG_UPDATE TIM_SR_UIF /*!< Update interrupt flag */
@@ -738,6 +767,7 @@ typedef void (*pTIM_CallbackTypeDef)(TIM_HandleTypeDef *htim); /*!< pointer to
*/
/** @defgroup TIM_Channel TIM Channel
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define TIM_CHANNEL_1 0x00000000U /*!< Capture/compare channel 1 identifier */
@@ -752,6 +782,7 @@ typedef void (*pTIM_CallbackTypeDef)(TIM_HandleTypeDef *htim); /*!< pointer to
*/
/** @defgroup TIM_Clock_Source TIM Clock Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define TIM_CLOCKSOURCE_ETRMODE2 TIM_SMCR_ETPS_1 /*!< External clock source mode 2 */
@@ -774,6 +805,7 @@ typedef void (*pTIM_CallbackTypeDef)(TIM_HandleTypeDef *htim); /*!< pointer to
*/
/** @defgroup TIM_Clock_Polarity TIM Clock Polarity
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define TIM_CLOCKPOLARITY_INVERTED TIM_ETRPOLARITY_INVERTED /*!< Polarity for ETRx clock sources */
@@ -786,6 +818,7 @@ typedef void (*pTIM_CallbackTypeDef)(TIM_HandleTypeDef *htim); /*!< pointer to
*/
/** @defgroup TIM_Clock_Prescaler TIM Clock Prescaler
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define TIM_CLOCKPRESCALER_DIV1 TIM_ETRPRESCALER_DIV1 /*!< No prescaler is used */
@@ -797,6 +830,7 @@ typedef void (*pTIM_CallbackTypeDef)(TIM_HandleTypeDef *htim); /*!< pointer to
*/
/** @defgroup TIM_ClearInput_Polarity TIM Clear Input Polarity
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define TIM_CLEARINPUTPOLARITY_INVERTED TIM_ETRPOLARITY_INVERTED /*!< Polarity for ETRx pin */
@@ -806,6 +840,7 @@ typedef void (*pTIM_CallbackTypeDef)(TIM_HandleTypeDef *htim); /*!< pointer to
*/
/** @defgroup TIM_ClearInput_Prescaler TIM Clear Input Prescaler
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define TIM_CLEARINPUTPRESCALER_DIV1 TIM_ETRPRESCALER_DIV1 /*!< No prescaler is used */
@@ -817,6 +852,7 @@ typedef void (*pTIM_CallbackTypeDef)(TIM_HandleTypeDef *htim); /*!< pointer to
*/
/** @defgroup TIM_OSSR_Off_State_Selection_for_Run_mode_state TIM OSSR OffState Selection for Run mode state
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define TIM_OSSR_ENABLE TIM_BDTR_OSSR /*!< When inactive, OC/OCN outputs are enabled (still controlled by the timer) */
@@ -826,6 +862,7 @@ typedef void (*pTIM_CallbackTypeDef)(TIM_HandleTypeDef *htim); /*!< pointer to
*/
/** @defgroup TIM_OSSI_Off_State_Selection_for_Idle_mode_state TIM OSSI OffState Selection for Idle mode state
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define TIM_OSSI_ENABLE TIM_BDTR_OSSI /*!< When inactive, OC/OCN outputs are enabled (still controlled by the timer) */
@@ -834,6 +871,7 @@ typedef void (*pTIM_CallbackTypeDef)(TIM_HandleTypeDef *htim); /*!< pointer to
* @}
*/
/** @defgroup TIM_Lock_level TIM Lock level
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define TIM_LOCKLEVEL_OFF 0x00000000U /*!< LOCK OFF */
@@ -845,6 +883,7 @@ typedef void (*pTIM_CallbackTypeDef)(TIM_HandleTypeDef *htim); /*!< pointer to
*/
/** @defgroup TIM_Break_Input_enable_disable TIM Break Input Enable
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define TIM_BREAK_ENABLE TIM_BDTR_BKE /*!< Break input BRK is enabled */
@@ -854,6 +893,7 @@ typedef void (*pTIM_CallbackTypeDef)(TIM_HandleTypeDef *htim); /*!< pointer to
*/
/** @defgroup TIM_Break_Polarity TIM Break Input Polarity
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define TIM_BREAKPOLARITY_LOW 0x00000000U /*!< Break input BRK is active low */
@@ -863,6 +903,7 @@ typedef void (*pTIM_CallbackTypeDef)(TIM_HandleTypeDef *htim); /*!< pointer to
*/
/** @defgroup TIM_Break2_Input_enable_disable TIM Break input 2 Enable
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define TIM_BREAK2_DISABLE 0x00000000U /*!< Break input BRK2 is disabled */
@@ -872,6 +913,7 @@ typedef void (*pTIM_CallbackTypeDef)(TIM_HandleTypeDef *htim); /*!< pointer to
*/
/** @defgroup TIM_Break2_Polarity TIM Break Input 2 Polarity
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define TIM_BREAK2POLARITY_LOW 0x00000000U /*!< Break input BRK2 is active low */
@@ -881,6 +923,7 @@ typedef void (*pTIM_CallbackTypeDef)(TIM_HandleTypeDef *htim); /*!< pointer to
*/
/** @defgroup TIM_AOE_Bit_Set_Reset TIM Automatic Output Enable
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define TIM_AUTOMATICOUTPUT_DISABLE 0x00000000U /*!< MOE can be set only by software */
@@ -891,6 +934,7 @@ typedef void (*pTIM_CallbackTypeDef)(TIM_HandleTypeDef *htim); /*!< pointer to
*/
/** @defgroup TIM_Group_Channel5 Group Channel 5 and Channel 1, 2 or 3
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define TIM_GROUPCH5_NONE 0x00000000U /* !< No effect of OC5REF on OC1REFC, OC2REFC and OC3REFC */
@@ -902,6 +946,7 @@ typedef void (*pTIM_CallbackTypeDef)(TIM_HandleTypeDef *htim); /*!< pointer to
*/
/** @defgroup TIM_Master_Mode_Selection TIM Master Mode Selection
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define TIM_TRGO_RESET 0x00000000U /*!< TIMx_EGR.UG bit is used as trigger output (TRGO) */
@@ -917,6 +962,7 @@ typedef void (*pTIM_CallbackTypeDef)(TIM_HandleTypeDef *htim); /*!< pointer to
*/
/** @defgroup TIM_Master_Mode_Selection_2 TIM Master Mode Selection 2 (TRGO2)
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define TIM_TRGO2_RESET 0x00000000U /*!< TIMx_EGR.UG bit is used as trigger output (TRGO2) */
@@ -940,6 +986,7 @@ typedef void (*pTIM_CallbackTypeDef)(TIM_HandleTypeDef *htim); /*!< pointer to
*/
/** @defgroup TIM_Master_Slave_Mode TIM Master/Slave Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define TIM_MASTERSLAVEMODE_ENABLE TIM_SMCR_MSM /*!< No action */
@@ -949,6 +996,7 @@ typedef void (*pTIM_CallbackTypeDef)(TIM_HandleTypeDef *htim); /*!< pointer to
*/
/** @defgroup TIM_Slave_Mode TIM Slave mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define TIM_SLAVEMODE_DISABLE 0x00000000U /*!< Slave mode disabled */
@@ -962,6 +1010,7 @@ typedef void (*pTIM_CallbackTypeDef)(TIM_HandleTypeDef *htim); /*!< pointer to
*/
/** @defgroup TIM_Output_Compare_and_PWM_modes TIM Output Compare and PWM Modes
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define TIM_OCMODE_TIMING 0x00000000U /*!< Frozen */
@@ -983,6 +1032,7 @@ typedef void (*pTIM_CallbackTypeDef)(TIM_HandleTypeDef *htim); /*!< pointer to
*/
/** @defgroup TIM_Trigger_Selection TIM Trigger Selection
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define TIM_TS_ITR0 0x00000000U /*!< Internal Trigger 0 (ITR0) */
@@ -1009,6 +1059,7 @@ typedef void (*pTIM_CallbackTypeDef)(TIM_HandleTypeDef *htim); /*!< pointer to
*/
/** @defgroup TIM_Trigger_Polarity TIM Trigger Polarity
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define TIM_TRIGGERPOLARITY_INVERTED TIM_ETRPOLARITY_INVERTED /*!< Polarity for ETRx trigger sources */
@@ -1021,6 +1072,7 @@ typedef void (*pTIM_CallbackTypeDef)(TIM_HandleTypeDef *htim); /*!< pointer to
*/
/** @defgroup TIM_Trigger_Prescaler TIM Trigger Prescaler
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define TIM_TRIGGERPRESCALER_DIV1 TIM_ETRPRESCALER_DIV1 /*!< No prescaler is used */
@@ -1032,6 +1084,7 @@ typedef void (*pTIM_CallbackTypeDef)(TIM_HandleTypeDef *htim); /*!< pointer to
*/
/** @defgroup TIM_TI1_Selection TIM TI1 Input Selection
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define TIM_TI1SELECTION_CH1 0x00000000U /*!< The TIMx_CH1 pin is connected to TI1 input */
@@ -1041,6 +1094,7 @@ typedef void (*pTIM_CallbackTypeDef)(TIM_HandleTypeDef *htim); /*!< pointer to
*/
/** @defgroup TIM_DMA_Burst_Length TIM DMA Burst Length
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define TIM_DMABURSTLENGTH_1TRANSFER 0x00000000U /*!< The transfer is done to 1 register starting trom TIMx_CR1 + TIMx_DCR.DBA */
@@ -1066,6 +1120,7 @@ typedef void (*pTIM_CallbackTypeDef)(TIM_HandleTypeDef *htim); /*!< pointer to
*/
/** @defgroup DMA_Handle_index TIM DMA Handle Index
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define TIM_DMA_ID_UPDATE ((uint16_t) 0x0000) /*!< Index of the DMA handle used for Update DMA requests */
@@ -1080,6 +1135,7 @@ typedef void (*pTIM_CallbackTypeDef)(TIM_HandleTypeDef *htim); /*!< pointer to
*/
/** @defgroup Channel_CC_State TIM Capture/Compare Channel State
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define TIM_CCx_ENABLE 0x00000001U /*!< Input or output channel is enabled */
@@ -1091,6 +1147,7 @@ typedef void (*pTIM_CallbackTypeDef)(TIM_HandleTypeDef *htim); /*!< pointer to
*/
/** @defgroup TIM_Break_System TIM Break System
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define TIM_BREAK_SYSTEM_ECC SYSCFG_CFGR2_ECCL /*!< Enables and locks the ECC error signal with Break Input of TIM1/8/15/16/17 */
@@ -1108,6 +1165,7 @@ typedef void (*pTIM_CallbackTypeDef)(TIM_HandleTypeDef *htim); /*!< pointer to
/* Exported macros -----------------------------------------------------------*/
/** @defgroup TIM_Exported_Macros TIM Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -1671,6 +1729,7 @@ mode.
/* Private constants ---------------------------------------------------------*/
/** @defgroup TIM_Private_Constants TIM Private Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/* The counter of a timer instance is disabled only if all the CCx and CCxN
@@ -1684,6 +1743,7 @@ mode.
/* Private macros ------------------------------------------------------------*/
/** @defgroup TIM_Private_Macros TIM Private Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define IS_TIM_CLEARINPUT_SOURCE(__MODE__) (((__MODE__) == TIM_CLEARINPUTSOURCE_NONE) || \
@@ -2162,6 +2222,7 @@ void HAL_TIM_IRQHandler(TIM_HandleTypeDef *htim);
*/
/** @defgroup TIM_Exported_Functions_Group8 TIM Peripheral Control functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Peripheral Control functions
* @{
*/
@@ -2196,6 +2257,7 @@ uint32_t HAL_TIM_ReadCapturedValue(TIM_HandleTypeDef *htim, uint32_t Channel);
*/
/** @defgroup TIM_Exported_Functions_Group9 TIM Callbacks functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief TIM Callbacks functions
* @{
*/
@@ -2223,6 +2285,7 @@ HAL_StatusTypeDef HAL_TIM_UnRegisterCallback(TIM_HandleTypeDef *htim, HAL_TIM_Ca
*/
/** @defgroup TIM_Exported_Functions_Group10 TIM Peripheral State functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Peripheral State functions
* @{
*/
@@ -2244,6 +2307,7 @@ HAL_TIM_StateTypeDef HAL_TIM_Encoder_GetState(TIM_HandleTypeDef *htim);
/* Private functions----------------------------------------------------------*/
/** @defgroup TIM_Private_Functions TIM Private Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
void TIM_Base_SetConfig(TIM_TypeDef *TIMx, TIM_Base_InitTypeDef *Structure);
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_hal_tim_ex.h b/bsps/arm/stm32h7/include/stm32h7xx_hal_tim_ex.h
index 0a7ef48a78..6ae52bc265 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_hal_tim_ex.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_hal_tim_ex.h
@@ -38,6 +38,7 @@ extern "C" {
/* Exported types ------------------------------------------------------------*/
/** @defgroup TIMEx_Exported_Types TIM Extended Exported Types
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -84,10 +85,12 @@ TIMEx_BreakInputConfigTypeDef;
/* Exported constants --------------------------------------------------------*/
/** @defgroup TIMEx_Exported_Constants TIM Extended Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup TIMEx_Remap TIM Extended Remapping
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define TIM_TIM1_ETR_GPIO 0x00000000U /* !< TIM1_ETR is connected to GPIO */
@@ -141,6 +144,7 @@ TIMEx_BreakInputConfigTypeDef;
#if defined(TIM_BREAK_INPUT_SUPPORT)
/** @defgroup TIMEx_Break_Input TIM Extended Break input
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define TIM_BREAKINPUT_BRK 0x00000001U /* !< Timer break input */
@@ -150,6 +154,7 @@ TIMEx_BreakInputConfigTypeDef;
*/
/** @defgroup TIMEx_Break_Input_Source TIM Extended Break input source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define TIM_BREAKINPUTSOURCE_BKIN 0x00000001U /* !< An external source (GPIO) is connected to the BKIN pin */
@@ -161,6 +166,7 @@ TIMEx_BreakInputConfigTypeDef;
*/
/** @defgroup TIMEx_Break_Input_Source_Enable TIM Extended Break input source enabling
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define TIM_BREAKINPUTSOURCE_DISABLE 0x00000000U /* !< Break input source is disabled */
@@ -170,6 +176,7 @@ TIMEx_BreakInputConfigTypeDef;
*/
/** @defgroup TIMEx_Break_Input_Source_Polarity TIM Extended Break input polarity
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define TIM_BREAKINPUTSOURCE_POLARITY_LOW 0x00000001U /* !< Break input source is active low */
@@ -180,6 +187,7 @@ TIMEx_BreakInputConfigTypeDef;
#endif /* TIM_BREAK_INPUT_SUPPORT */
/** @defgroup TIMEx_Timer_Input_Selection TIM Extended Timer input selection
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define TIM_TIM1_TI1_GPIO 0x00000000U /* !< TIM1_TI1 is connected to GPIO */
@@ -248,6 +256,7 @@ TIMEx_BreakInputConfigTypeDef;
/* Exported macro ------------------------------------------------------------*/
/** @defgroup TIMEx_Exported_Macros TIM Extended Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -258,6 +267,7 @@ TIMEx_BreakInputConfigTypeDef;
/* Private macro -------------------------------------------------------------*/
/** @defgroup TIMEx_Private_Macros TIM Extended Private Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define IS_TIM_BREAKINPUT(__BREAKINPUT__) (((__BREAKINPUT__) == TIM_BREAKINPUT_BRK) || \
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_hal_uart.h b/bsps/arm/stm32h7/include/stm32h7xx_hal_uart.h
index 48eb8db373..e9fecc4aa0 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_hal_uart.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_hal_uart.h
@@ -38,6 +38,7 @@ extern "C" {
/* Exported types ------------------------------------------------------------*/
/** @defgroup UART_Exported_Types UART Exported Types
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -296,10 +297,12 @@ typedef void (*pUART_CallbackTypeDef)(UART_HandleTypeDef *huart); /*!< pointer
/* Exported constants --------------------------------------------------------*/
/** @defgroup UART_Exported_Constants UART Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup UART_State_Definition UART State Code Definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_UART_STATE_RESET 0x00000000U /*!< Peripheral is not initialized
@@ -324,6 +327,7 @@ typedef void (*pUART_CallbackTypeDef)(UART_HandleTypeDef *huart); /*!< pointer
*/
/** @defgroup UART_Error_Definition UART Error Definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_UART_ERROR_NONE ((uint32_t)0x00000000U) /*!< No error */
@@ -342,6 +346,7 @@ typedef void (*pUART_CallbackTypeDef)(UART_HandleTypeDef *huart); /*!< pointer
*/
/** @defgroup UART_Stop_Bits UART Number of Stop Bits
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define UART_STOPBITS_0_5 USART_CR2_STOP_0 /*!< UART frame with 0.5 stop bit */
@@ -353,6 +358,7 @@ typedef void (*pUART_CallbackTypeDef)(UART_HandleTypeDef *huart); /*!< pointer
*/
/** @defgroup UART_Parity UART Parity
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define UART_PARITY_NONE 0x00000000U /*!< No parity */
@@ -363,6 +369,7 @@ typedef void (*pUART_CallbackTypeDef)(UART_HandleTypeDef *huart); /*!< pointer
*/
/** @defgroup UART_Hardware_Flow_Control UART Hardware Flow Control
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define UART_HWCONTROL_NONE 0x00000000U /*!< No hardware control */
@@ -374,6 +381,7 @@ typedef void (*pUART_CallbackTypeDef)(UART_HandleTypeDef *huart); /*!< pointer
*/
/** @defgroup UART_Mode UART Transfer Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define UART_MODE_RX USART_CR1_RE /*!< RX mode */
@@ -384,6 +392,7 @@ typedef void (*pUART_CallbackTypeDef)(UART_HandleTypeDef *huart); /*!< pointer
*/
/** @defgroup UART_State UART State
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define UART_STATE_DISABLE 0x00000000U /*!< UART disabled */
@@ -393,6 +402,7 @@ typedef void (*pUART_CallbackTypeDef)(UART_HandleTypeDef *huart); /*!< pointer
*/
/** @defgroup UART_Over_Sampling UART Over Sampling
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define UART_OVERSAMPLING_16 0x00000000U /*!< Oversampling by 16 */
@@ -402,6 +412,7 @@ typedef void (*pUART_CallbackTypeDef)(UART_HandleTypeDef *huart); /*!< pointer
*/
/** @defgroup UART_OneBit_Sampling UART One Bit Sampling Method
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define UART_ONE_BIT_SAMPLE_DISABLE 0x00000000U /*!< One-bit sampling disable */
@@ -411,6 +422,7 @@ typedef void (*pUART_CallbackTypeDef)(UART_HandleTypeDef *huart); /*!< pointer
*/
/** @defgroup UART_ClockPrescaler UART Clock Prescaler
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define UART_PRESCALER_DIV1 0x00000000U /*!< fclk_pres = fclk */
@@ -430,6 +442,7 @@ typedef void (*pUART_CallbackTypeDef)(UART_HandleTypeDef *huart); /*!< pointer
*/
/** @defgroup UART_AutoBaud_Rate_Mode UART Advanced Feature AutoBaud Rate Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define UART_ADVFEATURE_AUTOBAUDRATE_ONSTARTBIT 0x00000000U /*!< Auto Baud rate detection on start bit */
@@ -441,6 +454,7 @@ typedef void (*pUART_CallbackTypeDef)(UART_HandleTypeDef *huart); /*!< pointer
*/
/** @defgroup UART_Receiver_Timeout UART Receiver Timeout
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define UART_RECEIVER_TIMEOUT_DISABLE 0x00000000U /*!< UART Receiver Timeout disable */
@@ -450,6 +464,7 @@ typedef void (*pUART_CallbackTypeDef)(UART_HandleTypeDef *huart); /*!< pointer
*/
/** @defgroup UART_LIN UART Local Interconnection Network mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define UART_LIN_DISABLE 0x00000000U /*!< Local Interconnect Network disable */
@@ -459,6 +474,7 @@ typedef void (*pUART_CallbackTypeDef)(UART_HandleTypeDef *huart); /*!< pointer
*/
/** @defgroup UART_LIN_Break_Detection UART LIN Break Detection
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define UART_LINBREAKDETECTLENGTH_10B 0x00000000U /*!< LIN 10-bit break detection length */
@@ -468,6 +484,7 @@ typedef void (*pUART_CallbackTypeDef)(UART_HandleTypeDef *huart); /*!< pointer
*/
/** @defgroup UART_DMA_Tx UART DMA Tx
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define UART_DMA_TX_DISABLE 0x00000000U /*!< UART DMA TX disabled */
@@ -477,6 +494,7 @@ typedef void (*pUART_CallbackTypeDef)(UART_HandleTypeDef *huart); /*!< pointer
*/
/** @defgroup UART_DMA_Rx UART DMA Rx
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define UART_DMA_RX_DISABLE 0x00000000U /*!< UART DMA RX disabled */
@@ -486,6 +504,7 @@ typedef void (*pUART_CallbackTypeDef)(UART_HandleTypeDef *huart); /*!< pointer
*/
/** @defgroup UART_Half_Duplex_Selection UART Half Duplex Selection
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define UART_HALF_DUPLEX_DISABLE 0x00000000U /*!< UART half-duplex disabled */
@@ -495,6 +514,7 @@ typedef void (*pUART_CallbackTypeDef)(UART_HandleTypeDef *huart); /*!< pointer
*/
/** @defgroup UART_WakeUp_Methods UART WakeUp Methods
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define UART_WAKEUPMETHOD_IDLELINE 0x00000000U /*!< UART wake-up on idle line */
@@ -504,6 +524,7 @@ typedef void (*pUART_CallbackTypeDef)(UART_HandleTypeDef *huart); /*!< pointer
*/
/** @defgroup UART_Request_Parameters UART Request Parameters
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define UART_AUTOBAUD_REQUEST USART_RQR_ABRRQ /*!< Auto-Baud Rate Request */
@@ -516,6 +537,7 @@ typedef void (*pUART_CallbackTypeDef)(UART_HandleTypeDef *huart); /*!< pointer
*/
/** @defgroup UART_Advanced_Features_Initialization_Type UART Advanced Feature Initialization Type
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define UART_ADVFEATURE_NO_INIT 0x00000000U /*!< No advanced feature initialization */
@@ -532,6 +554,7 @@ typedef void (*pUART_CallbackTypeDef)(UART_HandleTypeDef *huart); /*!< pointer
*/
/** @defgroup UART_Tx_Inv UART Advanced Feature TX Pin Active Level Inversion
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define UART_ADVFEATURE_TXINV_DISABLE 0x00000000U /*!< TX pin active level inversion disable */
@@ -541,6 +564,7 @@ typedef void (*pUART_CallbackTypeDef)(UART_HandleTypeDef *huart); /*!< pointer
*/
/** @defgroup UART_Rx_Inv UART Advanced Feature RX Pin Active Level Inversion
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define UART_ADVFEATURE_RXINV_DISABLE 0x00000000U /*!< RX pin active level inversion disable */
@@ -550,6 +574,7 @@ typedef void (*pUART_CallbackTypeDef)(UART_HandleTypeDef *huart); /*!< pointer
*/
/** @defgroup UART_Data_Inv UART Advanced Feature Binary Data Inversion
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define UART_ADVFEATURE_DATAINV_DISABLE 0x00000000U /*!< Binary data inversion disable */
@@ -559,6 +584,7 @@ typedef void (*pUART_CallbackTypeDef)(UART_HandleTypeDef *huart); /*!< pointer
*/
/** @defgroup UART_Rx_Tx_Swap UART Advanced Feature RX TX Pins Swap
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define UART_ADVFEATURE_SWAP_DISABLE 0x00000000U /*!< TX/RX pins swap disable */
@@ -568,6 +594,7 @@ typedef void (*pUART_CallbackTypeDef)(UART_HandleTypeDef *huart); /*!< pointer
*/
/** @defgroup UART_Overrun_Disable UART Advanced Feature Overrun Disable
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define UART_ADVFEATURE_OVERRUN_ENABLE 0x00000000U /*!< RX overrun enable */
@@ -577,6 +604,7 @@ typedef void (*pUART_CallbackTypeDef)(UART_HandleTypeDef *huart); /*!< pointer
*/
/** @defgroup UART_AutoBaudRate_Enable UART Advanced Feature Auto BaudRate Enable
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define UART_ADVFEATURE_AUTOBAUDRATE_DISABLE 0x00000000U /*!< RX Auto Baud rate detection enable */
@@ -586,6 +614,7 @@ typedef void (*pUART_CallbackTypeDef)(UART_HandleTypeDef *huart); /*!< pointer
*/
/** @defgroup UART_DMA_Disable_on_Rx_Error UART Advanced Feature DMA Disable On Rx Error
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define UART_ADVFEATURE_DMA_ENABLEONRXERROR 0x00000000U /*!< DMA enable on Reception Error */
@@ -595,6 +624,7 @@ typedef void (*pUART_CallbackTypeDef)(UART_HandleTypeDef *huart); /*!< pointer
*/
/** @defgroup UART_MSB_First UART Advanced Feature MSB First
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define UART_ADVFEATURE_MSBFIRST_DISABLE 0x00000000U /*!< Most significant bit sent/received first disable */
@@ -604,6 +634,7 @@ typedef void (*pUART_CallbackTypeDef)(UART_HandleTypeDef *huart); /*!< pointer
*/
/** @defgroup UART_Stop_Mode_Enable UART Advanced Feature Stop Mode Enable
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define UART_ADVFEATURE_STOPMODE_DISABLE 0x00000000U /*!< UART stop mode disable */
@@ -613,6 +644,7 @@ typedef void (*pUART_CallbackTypeDef)(UART_HandleTypeDef *huart); /*!< pointer
*/
/** @defgroup UART_Mute_Mode UART Advanced Feature Mute Mode Enable
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define UART_ADVFEATURE_MUTEMODE_DISABLE 0x00000000U /*!< UART mute mode disable */
@@ -622,6 +654,7 @@ typedef void (*pUART_CallbackTypeDef)(UART_HandleTypeDef *huart); /*!< pointer
*/
/** @defgroup UART_CR2_ADDRESS_LSB_POS UART Address-matching LSB Position In CR2 Register
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define UART_CR2_ADDRESS_LSB_POS 24U /*!< UART address-matching LSB position in CR2 register */
@@ -630,6 +663,7 @@ typedef void (*pUART_CallbackTypeDef)(UART_HandleTypeDef *huart); /*!< pointer
*/
/** @defgroup UART_WakeUp_from_Stop_Selection UART WakeUp From Stop Selection
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define UART_WAKEUP_ON_ADDRESS 0x00000000U /*!< UART wake-up on address */
@@ -640,6 +674,7 @@ typedef void (*pUART_CallbackTypeDef)(UART_HandleTypeDef *huart); /*!< pointer
*/
/** @defgroup UART_DriverEnable_Polarity UART DriverEnable Polarity
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define UART_DE_POLARITY_HIGH 0x00000000U /*!< Driver enable signal is active high */
@@ -649,6 +684,7 @@ typedef void (*pUART_CallbackTypeDef)(UART_HandleTypeDef *huart); /*!< pointer
*/
/** @defgroup UART_CR1_DEAT_ADDRESS_LSB_POS UART Driver Enable Assertion Time LSB Position In CR1 Register
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define UART_CR1_DEAT_ADDRESS_LSB_POS 21U /*!< UART Driver Enable assertion time LSB position in CR1 register */
@@ -657,6 +693,7 @@ typedef void (*pUART_CallbackTypeDef)(UART_HandleTypeDef *huart); /*!< pointer
*/
/** @defgroup UART_CR1_DEDT_ADDRESS_LSB_POS UART Driver Enable DeAssertion Time LSB Position In CR1 Register
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define UART_CR1_DEDT_ADDRESS_LSB_POS 16U /*!< UART Driver Enable de-assertion time LSB position in CR1 register */
@@ -665,6 +702,7 @@ typedef void (*pUART_CallbackTypeDef)(UART_HandleTypeDef *huart); /*!< pointer
*/
/** @defgroup UART_Interruption_Mask UART Interruptions Flag Mask
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define UART_IT_MASK 0x001FU /*!< UART interruptions flags mask */
@@ -673,6 +711,7 @@ typedef void (*pUART_CallbackTypeDef)(UART_HandleTypeDef *huart); /*!< pointer
*/
/** @defgroup UART_TimeOut_Value UART polling-based communications time-out value
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_UART_TIMEOUT_VALUE 0x1FFFFFFU /*!< UART polling-based communications time-out value */
@@ -681,6 +720,7 @@ typedef void (*pUART_CallbackTypeDef)(UART_HandleTypeDef *huart); /*!< pointer
*/
/** @defgroup UART_Flags UART Status Flags
+ * @ingroup RTEMSBSPsARMSTM32H7
* Elements values convention: 0xXXXX
* - 0xXXXX : Flag mask in the ISR register
* @{
@@ -717,6 +757,7 @@ typedef void (*pUART_CallbackTypeDef)(UART_HandleTypeDef *huart); /*!< pointer
*/
/** @defgroup UART_Interrupt_definition UART Interrupts Definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* Elements values convention: 000ZZZZZ0XXYYYYYb
* - YYYYY : Interrupt source position in the XX register (5bits)
* - XX : Interrupt source register (2bits)
@@ -761,6 +802,7 @@ typedef void (*pUART_CallbackTypeDef)(UART_HandleTypeDef *huart); /*!< pointer
*/
/** @defgroup UART_IT_CLEAR_Flags UART Interruption Clear Flags
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define UART_CLEAR_PEF USART_ICR_PECF /*!< Parity Error Clear Flag */
@@ -786,6 +828,7 @@ typedef void (*pUART_CallbackTypeDef)(UART_HandleTypeDef *huart); /*!< pointer
/* Exported macros -----------------------------------------------------------*/
/** @defgroup UART_Exported_Macros UART Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -1150,6 +1193,7 @@ typedef void (*pUART_CallbackTypeDef)(UART_HandleTypeDef *huart); /*!< pointer
/* Private macros --------------------------------------------------------*/
/** @defgroup UART_Private_Macros UART Private Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @brief Get UART clok division factor from clock prescaler value.
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_hal_uart_ex.h b/bsps/arm/stm32h7/include/stm32h7xx_hal_uart_ex.h
index bad4a66762..b7bb3107d5 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_hal_uart_ex.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_hal_uart_ex.h
@@ -38,6 +38,7 @@ extern "C" {
/* Exported types ------------------------------------------------------------*/
/** @defgroup UARTEx_Exported_Types UARTEx Exported Types
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -63,10 +64,12 @@ typedef struct
/* Exported constants --------------------------------------------------------*/
/** @defgroup UARTEx_Exported_Constants UARTEx Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup UARTEx_Word_Length UARTEx Word Length
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define UART_WORDLENGTH_7B USART_CR1_M1 /*!< 7-bit long UART frame */
@@ -77,6 +80,7 @@ typedef struct
*/
/** @defgroup UARTEx_WakeUp_Address_Length UARTEx WakeUp Address Length
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define UART_ADDRESS_DETECT_4B 0x00000000U /*!< 4-bit long wake-up address */
@@ -86,6 +90,7 @@ typedef struct
*/
/** @defgroup UARTEx_FIFO_mode UARTEx FIFO mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief UART FIFO mode
* @{
*/
@@ -96,6 +101,7 @@ typedef struct
*/
/** @defgroup UARTEx_TXFIFO_threshold_level UARTEx TXFIFO threshold level
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief UART TXFIFO threshold level
* @{
*/
@@ -110,6 +116,7 @@ typedef struct
*/
/** @defgroup UARTEx_RXFIFO_threshold_level UARTEx RXFIFO threshold level
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief UART RXFIFO threshold level
* @{
*/
@@ -184,6 +191,7 @@ HAL_StatusTypeDef HAL_UARTEx_SetRxFifoThreshold(UART_HandleTypeDef *huart, uint3
/* Private macros ------------------------------------------------------------*/
/** @defgroup UARTEx_Private_Macros UARTEx Private Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_hal_usart.h b/bsps/arm/stm32h7/include/stm32h7xx_hal_usart.h
index 2a5682a0f2..9ab2db8356 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_hal_usart.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_hal_usart.h
@@ -38,6 +38,7 @@ extern "C" {
/* Exported types ------------------------------------------------------------*/
/** @defgroup USART_Exported_Types USART Exported Types
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -212,10 +213,12 @@ typedef void (*pUSART_CallbackTypeDef)(USART_HandleTypeDef *husart); /*!< poin
/* Exported constants --------------------------------------------------------*/
/** @defgroup USART_Exported_Constants USART Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup USART_Error_Definition USART Error Definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HAL_USART_ERROR_NONE ((uint32_t)0x00000000U) /*!< No error */
@@ -234,6 +237,7 @@ typedef void (*pUSART_CallbackTypeDef)(USART_HandleTypeDef *husart); /*!< poin
*/
/** @defgroup USART_Stop_Bits USART Number of Stop Bits
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define USART_STOPBITS_0_5 USART_CR2_STOP_0 /*!< USART frame with 0.5 stop bit */
@@ -245,6 +249,7 @@ typedef void (*pUSART_CallbackTypeDef)(USART_HandleTypeDef *husart); /*!< poin
*/
/** @defgroup USART_Parity USART Parity
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define USART_PARITY_NONE 0x00000000U /*!< No parity */
@@ -255,6 +260,7 @@ typedef void (*pUSART_CallbackTypeDef)(USART_HandleTypeDef *husart); /*!< poin
*/
/** @defgroup USART_Mode USART Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define USART_MODE_RX USART_CR1_RE /*!< RX mode */
@@ -265,6 +271,7 @@ typedef void (*pUSART_CallbackTypeDef)(USART_HandleTypeDef *husart); /*!< poin
*/
/** @defgroup USART_Over_Sampling USART Over Sampling
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define USART_OVERSAMPLING_16 0x00000000U /*!< Oversampling by 16 */
@@ -274,6 +281,7 @@ typedef void (*pUSART_CallbackTypeDef)(USART_HandleTypeDef *husart); /*!< poin
*/
/** @defgroup USART_Clock USART Clock
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define USART_CLOCK_DISABLE 0x00000000U /*!< USART clock disable */
@@ -283,6 +291,7 @@ typedef void (*pUSART_CallbackTypeDef)(USART_HandleTypeDef *husart); /*!< poin
*/
/** @defgroup USART_Clock_Polarity USART Clock Polarity
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define USART_POLARITY_LOW 0x00000000U /*!< Driver enable signal is active high */
@@ -292,6 +301,7 @@ typedef void (*pUSART_CallbackTypeDef)(USART_HandleTypeDef *husart); /*!< poin
*/
/** @defgroup USART_Clock_Phase USART Clock Phase
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define USART_PHASE_1EDGE 0x00000000U /*!< USART frame phase on first clock transition */
@@ -301,6 +311,7 @@ typedef void (*pUSART_CallbackTypeDef)(USART_HandleTypeDef *husart); /*!< poin
*/
/** @defgroup USART_Last_Bit USART Last Bit
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define USART_LASTBIT_DISABLE 0x00000000U /*!< USART frame last data bit clock pulse not output to SCLK pin */
@@ -310,6 +321,7 @@ typedef void (*pUSART_CallbackTypeDef)(USART_HandleTypeDef *husart); /*!< poin
*/
/** @defgroup USART_ClockPrescaler USART Clock Prescaler
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define USART_PRESCALER_DIV1 0x00000000U /*!< fclk_pres = fclk */
@@ -330,6 +342,7 @@ typedef void (*pUSART_CallbackTypeDef)(USART_HandleTypeDef *husart); /*!< poin
*/
/** @defgroup USART_Request_Parameters USART Request Parameters
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define USART_RXDATA_FLUSH_REQUEST USART_RQR_RXFRQ /*!< Receive Data flush Request */
@@ -339,6 +352,7 @@ typedef void (*pUSART_CallbackTypeDef)(USART_HandleTypeDef *husart); /*!< poin
*/
/** @defgroup USART_Flags USART Flags
+ * @ingroup RTEMSBSPsARMSTM32H7
* Elements values convention: 0xXXXX
* - 0xXXXX : Flag mask in the ISR register
* @{
@@ -367,6 +381,7 @@ typedef void (*pUSART_CallbackTypeDef)(USART_HandleTypeDef *husart); /*!< poin
*/
/** @defgroup USART_Interrupt_definition USART Interrupts Definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* Elements values convention: 0000ZZZZ0XXYYYYYb
* - YYYYY : Interrupt source position in the XX register (5bits)
* - XX : Interrupt source register (2bits)
@@ -398,6 +413,7 @@ typedef void (*pUSART_CallbackTypeDef)(USART_HandleTypeDef *husart); /*!< poin
*/
/** @defgroup USART_IT_CLEAR_Flags USART Interruption Clear Flags
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define USART_CLEAR_PEF USART_ICR_PECF /*!< Parity Error Clear Flag */
@@ -414,6 +430,7 @@ typedef void (*pUSART_CallbackTypeDef)(USART_HandleTypeDef *husart); /*!< poin
*/
/** @defgroup USART_Interruption_Mask USART Interruption Flags Mask
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define USART_IT_MASK 0x001FU /*!< USART interruptions flags mask */
@@ -431,6 +448,7 @@ typedef void (*pUSART_CallbackTypeDef)(USART_HandleTypeDef *husart); /*!< poin
/* Exported macros -----------------------------------------------------------*/
/** @defgroup USART_Exported_Macros USART Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -685,6 +703,7 @@ typedef void (*pUSART_CallbackTypeDef)(USART_HandleTypeDef *husart); /*!< poin
/* Private macros --------------------------------------------------------*/
/** @defgroup USART_Private_Macros USART Private Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_hal_usart_ex.h b/bsps/arm/stm32h7/include/stm32h7xx_hal_usart_ex.h
index 2fa4390af8..9d45e9e373 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_hal_usart_ex.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_hal_usart_ex.h
@@ -39,10 +39,12 @@ extern "C" {
/* Exported types ------------------------------------------------------------*/
/* Exported constants --------------------------------------------------------*/
/** @defgroup USARTEx_Exported_Constants USARTEx Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup USARTEx_Word_Length USARTEx Word Length
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define USART_WORDLENGTH_7B ((uint32_t)USART_CR1_M1) /*!< 7-bit long USART frame */
@@ -53,6 +55,7 @@ extern "C" {
*/
/** @defgroup USARTEx_Slave_Select_management USARTEx Slave Select Management
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define USART_NSS_HARD 0x00000000U /*!< SPI slave selection depends on NSS input pin */
@@ -63,6 +66,7 @@ extern "C" {
/** @defgroup USARTEx_Slave_Mode USARTEx Synchronous Slave mode enable
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief USART SLAVE mode
* @{
*/
@@ -73,6 +77,7 @@ extern "C" {
*/
/** @defgroup USARTEx_FIFO_mode USARTEx FIFO mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief USART FIFO mode
* @{
*/
@@ -83,6 +88,7 @@ extern "C" {
*/
/** @defgroup USARTEx_TXFIFO_threshold_level USARTEx TXFIFO threshold level
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief USART TXFIFO level
* @{
*/
@@ -97,6 +103,7 @@ extern "C" {
*/
/** @defgroup USARTEx_RXFIFO_threshold_level USARTEx RXFIFO threshold level
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief USART RXFIFO level
* @{
*/
@@ -116,6 +123,7 @@ extern "C" {
/* Private macros ------------------------------------------------------------*/
/** @defgroup USARTEx_Private_Macros USARTEx Private Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_hal_wwdg.h b/bsps/arm/stm32h7/include/stm32h7xx_hal_wwdg.h
index 32e6379208..19edfb3a83 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_hal_wwdg.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_hal_wwdg.h
@@ -39,6 +39,7 @@ extern "C" {
/* Exported types ------------------------------------------------------------*/
/** @defgroup WWDG_Exported_Types WWDG Exported Types
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -104,10 +105,12 @@ typedef void (*pWWDG_CallbackTypeDef)(WWDG_HandleTypeDef *hppp); /*!< pointer t
/* Exported constants --------------------------------------------------------*/
/** @defgroup WWDG_Exported_Constants WWDG Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup WWDG_Interrupt_definition WWDG Interrupt definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define WWDG_IT_EWI WWDG_CFR_EWI /*!< Early wakeup interrupt */
@@ -116,6 +119,7 @@ typedef void (*pWWDG_CallbackTypeDef)(WWDG_HandleTypeDef *hppp); /*!< pointer t
*/
/** @defgroup WWDG_Flag_definition WWDG Flag definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief WWDG Flag definition
* @{
*/
@@ -125,6 +129,7 @@ typedef void (*pWWDG_CallbackTypeDef)(WWDG_HandleTypeDef *hppp); /*!< pointer t
*/
/** @defgroup WWDG_Prescaler WWDG Prescaler
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define WWDG_PRESCALER_1 0x00000000u /*!< WWDG counter clock = (PCLK1/4096)/1 */
@@ -140,6 +145,7 @@ typedef void (*pWWDG_CallbackTypeDef)(WWDG_HandleTypeDef *hppp); /*!< pointer t
*/
/** @defgroup WWDG_EWI_Mode WWDG Early Wakeup Interrupt Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define WWDG_EWI_DISABLE 0x00000000u /*!< EWI Disable */
@@ -155,6 +161,7 @@ typedef void (*pWWDG_CallbackTypeDef)(WWDG_HandleTypeDef *hppp); /*!< pointer t
/* Private macros ------------------------------------------------------------*/
/** @defgroup WWDG_Private_Macros WWDG Private Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define IS_WWDG_PRESCALER(__PRESCALER__) (((__PRESCALER__) == WWDG_PRESCALER_1) || \
@@ -180,6 +187,7 @@ typedef void (*pWWDG_CallbackTypeDef)(WWDG_HandleTypeDef *hppp); /*!< pointer t
/* Exported macros ------------------------------------------------------------*/
/** @defgroup WWDG_Exported_Macros WWDG Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_ll_adc.h b/bsps/arm/stm32h7/include/stm32h7xx_ll_adc.h
index 918bb50929..64d1c0588c 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_ll_adc.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_ll_adc.h
@@ -35,6 +35,7 @@ extern "C" {
#if defined (ADC1) || defined (ADC2) || defined (ADC3)
/** @defgroup ADC_LL ADC
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -43,6 +44,7 @@ extern "C" {
/* Private constants ---------------------------------------------------------*/
/** @defgroup ADC_LL_Private_Constants ADC Private Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -386,6 +388,7 @@ extern "C" {
/* Private macros ------------------------------------------------------------*/
/** @defgroup ADC_LL_Private_Macros ADC Private Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -408,6 +411,7 @@ extern "C" {
/* Exported types ------------------------------------------------------------*/
#if defined(USE_FULL_LL_DRIVER) || defined(__rtems__)
/** @defgroup ADC_LL_ES_INIT ADC Exported Init structure
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -601,10 +605,12 @@ typedef struct
/* Exported constants --------------------------------------------------------*/
/** @defgroup ADC_LL_Exported_Constants ADC Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup ADC_LL_EC_FLAG ADC flags
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Flags defines which can be used with LL_ADC_ReadReg function
* @{
*/
@@ -646,6 +652,7 @@ typedef struct
*/
/** @defgroup ADC_LL_EC_IT ADC interruptions for configuration (interruption enable or disable)
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief IT defines which can be used with LL_ADC_ReadReg and LL_ADC_WriteReg functions
* @{
*/
@@ -665,6 +672,7 @@ typedef struct
*/
/** @defgroup ADC_LL_EC_REGISTERS ADC registers compliant with specific purpose
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/* List of ADC registers intended to be used (most commonly) with */
@@ -677,6 +685,7 @@ typedef struct
*/
/** @defgroup ADC_LL_EC_COMMON_CLOCK_SOURCE ADC common - Clock source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_ADC_CLOCK_SYNC_PCLK_DIV1 (ADC_CCR_CKMODE_0) /*!< ADC synchronous clock derived from AHB clock without prescaler */
@@ -699,6 +708,7 @@ typedef struct
*/
/** @defgroup ADC_LL_EC_COMMON_PATH_INTERNAL ADC common - Measurement path to internal channels
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/* Note: Other measurement paths to internal channels may be available */
@@ -715,6 +725,7 @@ typedef struct
*/
/** @defgroup ADC_LL_EC_BOOST_MODE ADC instance - Boost mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_ADC_BOOST_MODE_6MHZ25 (0x00000000UL) /*!< Boost mode is configured for frequency <= 6.25Mhz */
@@ -727,6 +738,7 @@ typedef struct
*/
/** @defgroup ADC_LL_EC_CALIBRATION_OFFSET_LINEARITY ADC instance - Calibration mode for offset and linearity
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_ADC_CALIB_OFFSET (ADC_CALIB_FACTOR_OFFSET_REGOFFSET) /*!< Calibration of ADC offset. Duration of calibration of offset duration: 1280 ADC clock cycles. For devices with differential mode available: Calibration of offset is specific to each of single-ended and differential modes. */
@@ -737,6 +749,7 @@ typedef struct
*/
/** @defgroup ADC_LL_EC_CALIBRATION_LINEARITY_WORD ADC instance - Calibration linearity words
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_ADC_CALIB_LINEARITY_WORD1 (ADC_CR_LINCALRDYW1) /*!< ADC calibration linearity word 1 */
@@ -750,6 +763,7 @@ typedef struct
*/
/** @defgroup ADC_LL_EC_RESOLUTION ADC instance - Resolution
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_ADC_RESOLUTION_16B (0x00000000UL) /*!< ADC resolution 16 bits */
@@ -766,6 +780,7 @@ typedef struct
*/
/** @defgroup ADC_LL_EC_LEFT_BIT_SHIFT ADC left Shift
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_ADC_LEFT_BIT_SHIFT_NONE (0x00000000UL) /*!< ADC no bit shift left applied on the final ADC convesion data */
@@ -789,6 +804,7 @@ typedef struct
*/
/** @defgroup ADC_LL_EC_LP_MODE ADC instance - Low power mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_ADC_LP_MODE_NONE (0x00000000UL) /*!< No ADC low power mode activated */
@@ -798,6 +814,7 @@ typedef struct
*/
/** @defgroup ADC_LL_EC_OFFSET_NB ADC instance - Offset number
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_ADC_OFFSET_1 ADC_OFR1_REGOFFSET /*!< ADC offset number 1: ADC channel and offset level to which the offset programmed will be applied (independently of channel mapped on ADC group regular or group injected) */
@@ -809,6 +826,7 @@ typedef struct
*/
/** @defgroup ADC_LL_EC_OFFSET_SIGNED_SATURATION ADC instance - Offset signed saturation mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_ADC_OFFSET_SIGNED_SATURATION_DISABLE (0x00000000UL) /*!< ADC offset signed saturation is disabled (among ADC selected offset number 1, 2, 3 or 4) */
@@ -818,6 +836,7 @@ typedef struct
*/
/** @defgroup ADC_LL_EC_OFFSET_RSHIFT ADC instance - Offset right shift
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_ADC_OFFSET_RSHIFT_DISABLE (0x00000000UL) /*!< ADC offset right shift is disabled (among ADC selected offset number 1, 2, 3 or 4) */
@@ -826,6 +845,7 @@ typedef struct
* @}
*/
/** @defgroup ADC_LL_EC_GROUPS ADC instance - Groups
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_ADC_GROUP_REGULAR (0x00000001UL) /*!< ADC group regular (available on all STM32 devices) */
@@ -836,6 +856,7 @@ typedef struct
*/
/** @defgroup ADC_LL_EC_CHANNEL ADC instance - Channel number
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_ADC_CHANNEL_0 (ADC_CHANNEL_0_NUMBER | ADC_CHANNEL_0_SMP | ADC_CHANNEL_0_BITFIELD ) /*!< ADC external channel (channel connected to GPIO pin) ADCx_IN0 */
@@ -880,6 +901,7 @@ typedef struct
*/
/** @defgroup ADC_LL_EC_REG_TRIGGER_SOURCE ADC group regular - Trigger source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_ADC_REG_TRIG_SOFTWARE (0x00000000UL) /*!< ADC group regular conversion trigger internal: SW start. */
@@ -909,6 +931,7 @@ typedef struct
*/
/** @defgroup ADC_LL_EC_REG_TRIGGER_EDGE ADC group regular - Trigger edge
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_ADC_REG_TRIG_EXT_RISING ( ADC_CFGR_EXTEN_0) /*!< ADC group regular conversion trigger polarity set to rising edge */
@@ -919,6 +942,7 @@ typedef struct
*/
/** @defgroup ADC_LL_EC_REG_CONTINUOUS_MODE ADC group regular - Continuous mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_ADC_REG_CONV_SINGLE (0x00000000UL) /*!< ADC conversions are performed in single mode: one conversion per trigger */
@@ -928,6 +952,7 @@ typedef struct
*/
/** @defgroup ADC_LL_EC_REG_DATA_TRANSFER_MODE ADC group regular - Data transfer mode of ADC conversion data
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_ADC_REG_DR_TRANSFER (0x00000000UL) /*!< ADC conversions are transferred to DR rigister */
@@ -939,6 +964,7 @@ typedef struct
*/
/** @defgroup ADC_LL_EC_REG_OVR_DATA_BEHAVIOR ADC group regular - Overrun behavior on conversion data
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_ADC_REG_OVR_DATA_PRESERVED (0x00000000UL) /*!< ADC group regular behavior in case of overrun: data preserved */
@@ -948,6 +974,7 @@ typedef struct
*/
/** @defgroup ADC_LL_EC_REG_SEQ_SCAN_LENGTH ADC group regular - Sequencer scan length
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_ADC_REG_SEQ_SCAN_DISABLE (0x00000000UL) /*!< ADC group regular sequencer disable (equivalent to sequencer of 1 rank: ADC conversion on only 1 channel) */
@@ -971,6 +998,7 @@ typedef struct
*/
/** @defgroup ADC_LL_EC_REG_SEQ_DISCONT_MODE ADC group regular - Sequencer discontinuous mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_ADC_REG_SEQ_DISCONT_DISABLE (0x00000000UL) /*!< ADC group regular sequencer discontinuous mode disable */
@@ -987,6 +1015,7 @@ typedef struct
*/
/** @defgroup ADC_LL_EC_REG_SEQ_RANKS ADC group regular - Sequencer ranks
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_ADC_REG_RANK_1 (ADC_SQR1_REGOFFSET | ADC_REG_RANK_1_SQRX_BITOFFSET_POS) /*!< ADC group regular sequencer rank 1 */
@@ -1010,6 +1039,7 @@ typedef struct
*/
/** @defgroup ADC_LL_EC_INJ_TRIGGER_SOURCE ADC group injected - Trigger source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_ADC_INJ_TRIG_SOFTWARE (0x00000000UL) /*!< ADC group injected conversion trigger internal: SW start. */
@@ -1039,6 +1069,7 @@ typedef struct
*/
/** @defgroup ADC_LL_EC_INJ_TRIGGER_EDGE ADC group injected - Trigger edge
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_ADC_INJ_TRIG_EXT_RISING ( ADC_JSQR_JEXTEN_0) /*!< ADC group injected conversion trigger polarity set to rising edge */
@@ -1049,6 +1080,7 @@ typedef struct
*/
/** @defgroup ADC_LL_EC_INJ_TRIG_AUTO ADC group injected - Automatic trigger mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_ADC_INJ_TRIG_INDEPENDENT (0x00000000UL) /*!< ADC group injected conversion trigger independent. Setting mandatory if ADC group injected injected trigger source is set to an external trigger. */
@@ -1058,6 +1090,7 @@ typedef struct
*/
/** @defgroup ADC_LL_EC_INJ_CONTEXT_QUEUE ADC group injected - Context queue mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_ADC_INJ_QUEUE_2CONTEXTS_LAST_ACTIVE (0x00000000UL) /* Group injected sequence context queue is enabled and can contain up to 2 contexts. When all contexts have been processed, the queue maintains the last context active perpetually. */
@@ -1068,6 +1101,7 @@ typedef struct
*/
/** @defgroup ADC_LL_EC_INJ_SEQ_SCAN_LENGTH ADC group injected - Sequencer scan length
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_ADC_INJ_SEQ_SCAN_DISABLE (0x00000000UL) /*!< ADC group injected sequencer disable (equivalent to sequencer of 1 rank: ADC conversion on only 1 channel) */
@@ -1079,6 +1113,7 @@ typedef struct
*/
/** @defgroup ADC_LL_EC_INJ_SEQ_DISCONT_MODE ADC group injected - Sequencer discontinuous mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_ADC_INJ_SEQ_DISCONT_DISABLE (0x00000000UL) /*!< ADC group injected sequencer discontinuous mode disable */
@@ -1088,6 +1123,7 @@ typedef struct
*/
/** @defgroup ADC_LL_EC_INJ_SEQ_RANKS ADC group injected - Sequencer ranks
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_ADC_INJ_RANK_1 (ADC_JDR1_REGOFFSET | ADC_INJ_RANK_1_JSQR_BITOFFSET_POS) /*!< ADC group injected sequencer rank 1 */
@@ -1099,6 +1135,7 @@ typedef struct
*/
/** @defgroup ADC_LL_EC_CHANNEL_SAMPLINGTIME Channel - Sampling time
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_ADC_SAMPLINGTIME_1CYCLE_5 (0x00000000UL) /*!< Sampling time 1.5 ADC clock cycles */
@@ -1114,6 +1151,7 @@ typedef struct
*/
/** @defgroup ADC_LL_EC_CHANNEL_SINGLE_DIFF_ENDING Channel - Single or differential ending
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_ADC_SINGLE_ENDED ( ADC_CALFACT_CALFACT_S) /*!< ADC channel ending set to single ended (literal also used to set calibration mode) */
@@ -1124,6 +1162,7 @@ typedef struct
*/
/** @defgroup ADC_LL_EC_AWD_NUMBER Analog watchdog - Analog watchdog number
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_ADC_AWD1 (ADC_AWD_CR1_CHANNEL_MASK | ADC_AWD_CR1_REGOFFSET) /*!< ADC analog watchdog number 1 */
@@ -1134,6 +1173,7 @@ typedef struct
*/
/** @defgroup ADC_LL_EC_AWD_CHANNELS Analog watchdog - Monitored channels
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_ADC_AWD_DISABLE (0x00000000UL) /*!< ADC analog watchdog monitoring disabled */
@@ -1220,6 +1260,7 @@ typedef struct
*/
/** @defgroup ADC_LL_EC_AWD_THRESHOLDS Analog watchdog - Thresholds
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_ADC_AWD_THRESHOLD_HIGH (0x1UL) /*!< ADC analog watchdog threshold high */
@@ -1229,6 +1270,7 @@ typedef struct
*/
/** @defgroup ADC_LL_EC_OVS_SCOPE Oversampling - Oversampling scope
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_ADC_OVS_DISABLE (0x00000000UL) /*!< ADC oversampling disabled. */
@@ -1241,6 +1283,7 @@ typedef struct
*/
/** @defgroup ADC_LL_EC_OVS_DISCONT_MODE Oversampling - Discontinuous mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_ADC_OVS_REG_CONT (0x00000000UL) /*!< ADC oversampling discontinuous mode: continuous mode (all conversions of oversampling ratio are done from 1 trigger) */
@@ -1250,6 +1293,7 @@ typedef struct
*/
/** @defgroup ADC_LL_EC_OVS_SHIFT Oversampling - Data shift
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_ADC_OVS_SHIFT_NONE (0x00000000UL) /*!< ADC oversampling no shift (sum of the ADC conversions data is not divided to result as the ADC oversampling conversion data) */
@@ -1269,6 +1313,7 @@ typedef struct
*/
/** @defgroup ADC_LL_EC_MULTI_MODE Multimode - Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_ADC_MULTI_INDEPENDENT (0x00000000UL) /*!< ADC dual mode disabled (ADC independent mode) */
@@ -1284,6 +1329,7 @@ typedef struct
*/
/** @defgroup ADC_LL_EC_MULTI_DMA_TRANSFER Multimode - DMA transfer
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_ADC_MULTI_REG_DMA_EACH_ADC (0x00000000UL) /*!< ADC multimode group regular conversions are transferred by DMA: each ADC uses its own DMA channel, with its individual DMA transfer settings */
@@ -1294,6 +1340,7 @@ typedef struct
*/
/** @defgroup ADC_LL_EC_MULTI_TWOSMP_DELAY Multimode - Delay between two sampling phases
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_ADC_MULTI_TWOSMP_DELAY_1CYCLE_5 (0x00000000UL) /*!< ADC multimode delay between two sampling phases: 1.5 ADC clock cycle for all resolution */
@@ -1314,6 +1361,7 @@ typedef struct
*/
/** @defgroup ADC_LL_EC_MULTI_MASTER_SLAVE Multimode - ADC master or slave
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_ADC_MULTI_MASTER ( ADC_CDR_RDATA_MST) /*!< In multimode, selection among several ADC instances: ADC master */
@@ -1326,6 +1374,7 @@ typedef struct
/** @defgroup ADC_LL_EC_HW_DELAYS Definitions of ADC hardware constraints delays
+ * @ingroup RTEMSBSPsARMSTM32H7
* @note Only ADC peripheral HW delays are defined in ADC LL driver driver,
* not timeout values.
* For details on delays values, refer to descriptions in source code
@@ -1399,10 +1448,12 @@ typedef struct
/* Exported macro ------------------------------------------------------------*/
/** @defgroup ADC_LL_Exported_Macros ADC Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup ADC_LL_EM_WRITE_READ Common write and read registers Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -1427,6 +1478,7 @@ typedef struct
*/
/** @defgroup ADC_LL_EM_HELPER_MACRO ADC helper macro
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -2255,10 +2307,12 @@ typedef struct
/* Exported functions --------------------------------------------------------*/
/** @defgroup ADC_LL_Exported_Functions ADC Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup ADC_LL_EF_DMA_Management ADC DMA management
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -2315,6 +2369,7 @@ __STATIC_INLINE uint32_t LL_ADC_DMA_GetRegAddr(ADC_TypeDef *ADCx, uint32_t Regis
*/
/** @defgroup ADC_LL_EF_Configuration_ADC_Common Configuration of ADC hierarchical scope: common to several ADC instances
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -2452,6 +2507,7 @@ __STATIC_INLINE uint32_t LL_ADC_GetCommonPathInternalCh(ADC_Common_TypeDef *ADCx
*/
/** @defgroup ADC_LL_EF_Configuration_ADC_Instance Configuration of ADC hierarchical scope: ADC instance
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -3030,6 +3086,7 @@ __STATIC_INLINE uint32_t LL_ADC_GetOffsetSignedSaturation(ADC_TypeDef *ADCx, uin
*/
/** @defgroup ADC_LL_EF_Configuration_ADC_Group_Regular Configuration of ADC hierarchical scope: group regular
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -3682,6 +3739,7 @@ __STATIC_INLINE uint32_t LL_ADC_REG_GetOverrun(ADC_TypeDef *ADCx)
*/
/** @defgroup ADC_LL_EF_Configuration_ADC_Group_Injected Configuration of ADC hierarchical scope: group injected
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -4403,6 +4461,7 @@ __STATIC_INLINE void LL_ADC_INJ_ConfigQueueContext(ADC_TypeDef *ADCx,
*/
/** @defgroup ADC_LL_EF_Configuration_Channels Configuration of ADC hierarchical scope: channels
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -4703,6 +4762,7 @@ __STATIC_INLINE uint32_t LL_ADC_GetChannelSingleDiff(ADC_TypeDef *ADCx, uint32_t
*/
/** @defgroup ADC_LL_EF_Configuration_ADC_AnalogWatchdog Configuration of ADC transversal scope: analog watchdog
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -5137,6 +5197,7 @@ __STATIC_INLINE uint32_t LL_ADC_GetAnalogWDThresholds(ADC_TypeDef *ADCx, uint32_
*/
/** @defgroup ADC_LL_EF_Configuration_ADC_oversampling Configuration of ADC transversal scope: oversampling
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -5316,6 +5377,7 @@ __STATIC_INLINE uint32_t LL_ADC_GetOverSamplingShift(ADC_TypeDef *ADCx)
*/
/** @defgroup ADC_LL_EF_Configuration_ADC_Multimode Configuration of ADC hierarchical scope: multimode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/**
@@ -5596,6 +5658,7 @@ __STATIC_INLINE uint32_t LL_ADC_GetMultiTwoSamplingDelay(ADC_Common_TypeDef *ADC
* @}
*/
/** @defgroup ADC_LL_EF_Operation_ADC_Instance Operation on ADC hierarchical scope: ADC instance
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -5833,6 +5896,7 @@ __STATIC_INLINE uint32_t LL_ADC_IsCalibrationOnGoing(ADC_TypeDef *ADCx)
*/
/** @defgroup ADC_LL_EF_Operation_ADC_Group_Regular Operation on ADC hierarchical scope: group regular
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -6028,6 +6092,7 @@ __STATIC_INLINE uint32_t LL_ADC_REG_ReadMultiConversionData32(ADC_Common_TypeDef
*/
/** @defgroup ADC_LL_EF_Operation_ADC_Group_Injected Operation on ADC hierarchical scope: group injected
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -6267,6 +6332,7 @@ __STATIC_INLINE uint8_t LL_ADC_INJ_ReadConversionData8(ADC_TypeDef *ADCx, uint32
*/
/** @defgroup ADC_LL_EF_FLAG_Management ADC flag management
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -6787,6 +6853,7 @@ __STATIC_INLINE uint32_t LL_ADC_IsActiveFlag_SLV_AWD3(ADC_Common_TypeDef *ADCxy_
*/
/** @defgroup ADC_LL_EF_IT_Management ADC IT management
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -7170,6 +7237,7 @@ __STATIC_INLINE uint32_t LL_ADC_IsEnabledIT_AWD3(ADC_TypeDef *ADCx)
#if defined(USE_FULL_LL_DRIVER) || defined(__rtems__)
/** @defgroup ADC_LL_EF_Init Initialization and de-initialization functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_ll_bdma.h b/bsps/arm/stm32h7/include/stm32h7xx_ll_bdma.h
index 7117788da6..b38886e266 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_ll_bdma.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_ll_bdma.h
@@ -36,12 +36,14 @@ extern "C" {
#if defined (BDMA) || defined (BDMA1) || defined (BDMA2)
/** @defgroup BDMA_LL BDMA
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/* Private types -------------------------------------------------------------*/
/* Private variables ---------------------------------------------------------*/
/** @defgroup BDMA_LL_Private_Variables BDMA Private Variables
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/* Array used to get the BDMA channel register offset versus channel index LL_BDMA_CHANNEL_x */
@@ -69,6 +71,7 @@ static const uint8_t LL_BDMA_CH_OFFSET_TAB[] =
/* Exported types ------------------------------------------------------------*/
#if defined(USE_FULL_LL_DRIVER) || defined(__rtems__)
/** @defgroup BDMA_LL_ES_INIT BDMA Exported Init structure
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
typedef struct
@@ -145,9 +148,11 @@ typedef struct
/* Exported constants --------------------------------------------------------*/
/** @defgroup BDMA_LL_Exported_Constants BDMA Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup BDMA_LL_EC_CLEAR_FLAG Clear Flags Defines
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Flags defines which can be used with LL_BDMA_WriteReg function
* @{
*/
@@ -184,6 +189,7 @@ typedef struct
*/
/** @defgroup BDMA_LL_EC_GET_FLAG Get Flags Defines
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Flags defines which can be used with LL_BDMA_ReadReg function
* @{
*/
@@ -224,6 +230,7 @@ typedef struct
*/
/** @defgroup BDMA_LL_EC_IT IT Defines
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief IT defines which can be used with LL_BDMA_ReadReg and LL_BDMA_WriteReg functions
* @{
*/
@@ -235,6 +242,7 @@ typedef struct
*/
/** @defgroup BDMA_LL_EC_CHANNEL CHANNEL
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_BDMA_CHANNEL_0 0x00000000U /*!< DMA Channel 0 */
@@ -253,6 +261,7 @@ typedef struct
*/
/** @defgroup BDMA_LL_EC_DIRECTION Transfer Direction
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_BDMA_DIRECTION_PERIPH_TO_MEMORY 0x00000000U /*!< Peripheral to memory direction */
@@ -263,6 +272,7 @@ typedef struct
*/
/** @defgroup BDMA_LL_EC_MODE Transfer mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_BDMA_MODE_NORMAL 0x00000000U /*!< Normal Mode */
@@ -272,6 +282,7 @@ typedef struct
*/
/** @defgroup DMA_LL_EC_DOUBLEBUFFER_MODE DOUBLE BUFFER MODE
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_BDMA_DOUBLEBUFFER_MODE_DISABLE 0x00000000U /*!< Disable double buffering mode */
@@ -281,6 +292,7 @@ typedef struct
*/
/** @defgroup BDMA_LL_EC_PERIPH Peripheral increment mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_BDMA_PERIPH_INCREMENT BDMA_CCR_PINC /*!< Peripheral increment mode Enable */
@@ -290,6 +302,7 @@ typedef struct
*/
/** @defgroup BDMA_LL_EC_MEMORY Memory increment mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_BDMA_MEMORY_INCREMENT BDMA_CCR_MINC /*!< Memory increment mode Enable */
@@ -299,6 +312,7 @@ typedef struct
*/
/** @defgroup BDMA_LL_EC_PDATAALIGN Peripheral data alignment
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_BDMA_PDATAALIGN_BYTE 0x00000000U /*!< Peripheral data alignment : Byte */
@@ -309,6 +323,7 @@ typedef struct
*/
/** @defgroup BDMA_LL_EC_MDATAALIGN Memory data alignment
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_BDMA_MDATAALIGN_BYTE 0x00000000U /*!< Memory data alignment : Byte */
@@ -319,6 +334,7 @@ typedef struct
*/
/** @defgroup BDMA_LL_EC_PRIORITY Transfer Priority level
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_BDMA_PRIORITY_LOW 0x00000000U /*!< Priority level : Low */
@@ -330,6 +346,7 @@ typedef struct
*/
/** @defgroup DMA_LL_EC_CURRENTTARGETMEM CURRENTTARGETMEM
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_BDMA_CURRENTTARGETMEM0 0x00000000U /*!< Set CurrentTarget Memory to Memory 0 */
@@ -340,10 +357,12 @@ typedef struct
/* Exported macro ------------------------------------------------------------*/
/** @defgroup BDMA_LL_Exported_Macros BDMA Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup BDMA_LL_EM_WRITE_READ Common Write and read registers macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/**
@@ -367,6 +386,7 @@ typedef struct
*/
/** @defgroup BDMA_LL_EM_CONVERT_DMAxCHANNELy Convert BDMAxChannely
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/**
@@ -461,10 +481,12 @@ LL_BDMA_CHANNEL_7)
/* Exported functions --------------------------------------------------------*/
/** @defgroup BDMA_LL_Exported_Functions BDMA Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup BDMA_LL_EF_Configuration Configuration
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/**
@@ -1460,6 +1482,7 @@ __STATIC_INLINE uint32_t LL_BDMA_GetPeriphRequest(BDMA_TypeDef *BDMAx, uint32_t
/** @defgroup BDMA_LL_EF_FLAG_Management FLAG_Management
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/**
@@ -2170,6 +2193,7 @@ __STATIC_INLINE void LL_BDMA_ClearFlag_TE7(BDMA_TypeDef *BDMAx)
*/
/** @defgroup BDMA_LL_EF_IT_Management IT_Management
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/**
@@ -2376,6 +2400,7 @@ __STATIC_INLINE uint32_t LL_BDMA_IsEnabledIT_TE(BDMA_TypeDef *BDMAx, uint32_t Ch
#if defined(USE_FULL_LL_DRIVER) || defined(__rtems__)
/** @defgroup BDMA_LL_EF_Init Initialization and de-initialization functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_ll_bus.h b/bsps/arm/stm32h7/include/stm32h7xx_ll_bus.h
index 6ee1528aab..5a83e49236 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_ll_bus.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_ll_bus.h
@@ -54,6 +54,7 @@ extern "C" {
#if defined(RCC)
/** @defgroup BUS_LL BUS
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -67,10 +68,12 @@ extern "C" {
/* Exported constants --------------------------------------------------------*/
/** @defgroup BUS_LL_Exported_Constants BUS Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup BUS_LL_EC_AHB3_GRP1_PERIPH AHB3 GRP1 PERIPH
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_AHB3_GRP1_PERIPH_MDMA RCC_AHB3ENR_MDMAEN
@@ -121,6 +124,7 @@ extern "C" {
/** @defgroup BUS_LL_EC_AHB1_GRP1_PERIPH AHB1 GRP1 PERIPH
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_AHB1_GRP1_PERIPH_DMA1 RCC_AHB1ENR_DMA1EN
@@ -149,6 +153,7 @@ extern "C" {
/** @defgroup BUS_LL_EC_AHB2_GRP1_PERIPH AHB2 GRP1 PERIPH
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_AHB2_GRP1_PERIPH_DCMI RCC_AHB2ENR_DCMIEN
@@ -187,6 +192,7 @@ extern "C" {
/** @defgroup BUS_LL_EC_AHB4_GRP1_PERIPH AHB4 GRP1 PERIPH
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_AHB4_GRP1_PERIPH_GPIOA RCC_AHB4ENR_GPIOAEN
@@ -230,6 +236,7 @@ extern "C" {
/** @defgroup BUS_LL_EC_APB3_GRP1_PERIPH APB3 GRP1 PERIPH
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_APB3_GRP1_PERIPH_LTDC RCC_APB3ENR_LTDCEN
@@ -246,6 +253,7 @@ extern "C" {
/** @defgroup BUS_LL_EC_APB1_GRP1_PERIPH APB1 GRP1 PERIPH
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_APB1_GRP1_PERIPH_TIM2 RCC_APB1LENR_TIM2EN
@@ -281,6 +289,7 @@ extern "C" {
/** @defgroup BUS_LL_EC_APB1_GRP2_PERIPH APB1 GRP2 PERIPH
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_APB1_GRP2_PERIPH_CRS RCC_APB1HENR_CRSEN
@@ -294,6 +303,7 @@ extern "C" {
/** @defgroup BUS_LL_EC_APB2_GRP1_PERIPH APB2 GRP1 PERIPH
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_APB2_GRP1_PERIPH_TIM1 RCC_APB2ENR_TIM1EN
@@ -327,6 +337,7 @@ extern "C" {
/** @defgroup BUS_LL_EC_APB4_GRP1_PERIPH APB4 GRP1 PERIPH
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_APB4_GRP1_PERIPH_SYSCFG RCC_APB4ENR_SYSCFGEN
@@ -361,6 +372,7 @@ extern "C" {
*/
/** @defgroup BUS_LL_EC_CLKAM_PERIPH CLKAM PERIPH
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined(RCC_D3AMR_BDMAAMEN)
@@ -453,6 +465,7 @@ extern "C" {
#if defined(RCC_CKGAENR_AXICKG)
/** @defgroup BUS_LL_EC_CKGA_PERIPH CKGA (AXI Clocks Gating) PERIPH
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_CKGA_PERIPH_AXI RCC_CKGAENR_AXICKG
@@ -486,10 +499,12 @@ extern "C" {
/* Exported functions --------------------------------------------------------*/
/** @defgroup BUS_LL_Exported_Functions BUS Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup BUS_LL_EF_AHB3 AHB3
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -806,6 +821,7 @@ __STATIC_INLINE void LL_AHB3_GRP1_DisableClockSleep(uint32_t Periphs)
*/
/** @defgroup BUS_LL_EF_AHB1 AHB1
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -1055,6 +1071,7 @@ __STATIC_INLINE void LL_AHB1_GRP1_DisableClockSleep(uint32_t Periphs)
*/
/** @defgroup BUS_LL_EF_AHB2 AHB2
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -1278,6 +1295,7 @@ __STATIC_INLINE void LL_AHB2_GRP1_DisableClockSleep(uint32_t Periphs)
*/
/** @defgroup BUS_LL_EF_AHB4 AHB4
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -1600,6 +1618,7 @@ __STATIC_INLINE void LL_AHB4_GRP1_DisableClockSleep(uint32_t Periphs)
*/
/** @defgroup BUS_LL_EF_APB3 APB3
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -1738,6 +1757,7 @@ __STATIC_INLINE void LL_APB3_GRP1_DisableClockSleep(uint32_t Periphs)
*/
/** @defgroup BUS_LL_EF_APB1 APB1
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -2328,6 +2348,7 @@ __STATIC_INLINE void LL_APB1_GRP2_DisableClockSleep(uint32_t Periphs)
*/
/** @defgroup BUS_LL_EF_APB2 APB2
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -2662,6 +2683,7 @@ __STATIC_INLINE void LL_APB2_GRP1_DisableClockSleep(uint32_t Periphs)
*/
/** @defgroup BUS_LL_EF_APB4 APB4
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -2968,6 +2990,7 @@ __STATIC_INLINE void LL_APB4_GRP1_DisableClockSleep(uint32_t Periphs)
*/
/** @defgroup BUS_LL_EF_CLKAM
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -3133,6 +3156,7 @@ __STATIC_INLINE void LL_CKGA_Disable(uint32_t Periphs)
#if defined(DUAL_CORE)
/** @defgroup BUS_LL_EF_AHB3 AHB3
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -3347,6 +3371,7 @@ __STATIC_INLINE void LL_C1_AHB3_GRP1_DisableClockSleep(uint32_t Periphs)
*/
/** @defgroup BUS_LL_EF_AHB1 AHB1
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -3543,6 +3568,7 @@ __STATIC_INLINE void LL_C1_AHB1_GRP1_DisableClockSleep(uint32_t Periphs)
*/
/** @defgroup BUS_LL_EF_AHB2 AHB2
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -3715,6 +3741,7 @@ __STATIC_INLINE void LL_C1_AHB2_GRP1_DisableClockSleep(uint32_t Periphs)
*/
/** @defgroup BUS_LL_EF_AHB4 AHB4
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -3953,6 +3980,7 @@ __STATIC_INLINE void LL_C1_AHB4_GRP1_DisableClockSleep(uint32_t Periphs)
*/
/** @defgroup BUS_LL_EF_APB3 APB3
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -4059,6 +4087,7 @@ __STATIC_INLINE void LL_C1_APB3_GRP1_DisableClockSleep(uint32_t Periphs)
*/
/** @defgroup BUS_LL_EF_APB1 APB1
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -4493,6 +4522,7 @@ __STATIC_INLINE void LL_C1_APB1_GRP2_DisableClockSleep(uint32_t Periphs)
*/
/** @defgroup BUS_LL_EF_APB2 APB2
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -4736,6 +4766,7 @@ __STATIC_INLINE void LL_C1_APB2_GRP1_DisableClockSleep(uint32_t Periphs)
*/
/** @defgroup BUS_LL_EF_APB4 APB4
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -4953,6 +4984,7 @@ __STATIC_INLINE void LL_C1_APB4_GRP1_DisableClockSleep(uint32_t Periphs)
*/
/** @defgroup BUS_LL_EF_AHB3 AHB3
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -5127,6 +5159,7 @@ __STATIC_INLINE void LL_C2_AHB3_GRP1_DisableClockSleep(uint32_t Periphs)
*/
/** @defgroup BUS_LL_EF_AHB1 AHB1
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -5303,6 +5336,7 @@ __STATIC_INLINE void LL_C2_AHB1_GRP1_DisableClockSleep(uint32_t Periphs)
*/
/** @defgroup BUS_LL_EF_AHB2 AHB2
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -5441,6 +5475,7 @@ __STATIC_INLINE void LL_C2_AHB2_GRP1_DisableClockSleep(uint32_t Periphs)
*/
/** @defgroup BUS_LL_EF_AHB4 AHB4
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -5679,6 +5714,7 @@ __STATIC_INLINE void LL_C2_AHB4_GRP1_DisableClockSleep(uint32_t Periphs)
*/
/** @defgroup BUS_LL_EF_APB3 APB3
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -5785,6 +5821,7 @@ __STATIC_INLINE void LL_C2_APB3_GRP1_DisableClockSleep(uint32_t Periphs)
*/
/** @defgroup BUS_LL_EF_APB1 APB1
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -6209,6 +6246,7 @@ __STATIC_INLINE void LL_C2_APB1_GRP2_DisableClockSleep(uint32_t Periphs)
*/
/** @defgroup BUS_LL_EF_APB2 APB2
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -6425,6 +6463,7 @@ __STATIC_INLINE void LL_C2_APB2_GRP1_DisableClockSleep(uint32_t Periphs)
*/
/** @defgroup BUS_LL_EF_APB4 APB4
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_ll_comp.h b/bsps/arm/stm32h7/include/stm32h7xx_ll_comp.h
index d71be0ed88..894078319a 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_ll_comp.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_ll_comp.h
@@ -35,6 +35,7 @@ extern "C" {
#if defined (COMP1) || defined (COMP2)
/** @defgroup COMP_LL COMP
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -42,6 +43,7 @@ extern "C" {
/* Private variables ---------------------------------------------------------*/
/* Private constants ---------------------------------------------------------*/
/** @defgroup COMP_LL_Private_Constants COMP Private Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -56,6 +58,7 @@ extern "C" {
/* Exported types ------------------------------------------------------------*/
#if defined(USE_FULL_LL_DRIVER) || defined(__rtems__)
/** @defgroup COMP_LL_ES_INIT COMP Exported Init structure
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -103,10 +106,12 @@ typedef struct
/* Exported constants --------------------------------------------------------*/
/** @defgroup COMP_LL_Exported_Constants COMP Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup COMP_LL_EC_COMMON_WINDOWMODE Comparator common modes - Window mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_COMP_WINDOWMODE_DISABLE (0x00000000UL) /*!< Window mode disable: Comparators 1 and 2 are independent */
@@ -116,6 +121,7 @@ typedef struct
*/
/** @defgroup COMP_LL_EC_POWERMODE Comparator modes - Power mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_COMP_POWERMODE_HIGHSPEED (0x00000000UL) /*!< COMP power mode to high speed */
@@ -126,6 +132,7 @@ typedef struct
*/
/** @defgroup COMP_LL_EC_INPUT_PLUS Comparator inputs - Input plus (input non-inverting) selection
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_COMP_INPUT_PLUS_IO1 (0x00000000UL) /*!< Comparator input plus connected to IO1 (pin PB0 for COMP1, pin PE9 for COMP2) */
@@ -138,6 +145,7 @@ typedef struct
*/
/** @defgroup COMP_LL_EC_INPUT_MINUS Comparator inputs - Input minus (input inverting) selection
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_COMP_INPUT_MINUS_1_4VREFINT ( COMP_CFGRx_SCALEN | COMP_CFGRx_BRGEN) /*!< Comparator input minus connected to 1/4 VrefInt */
@@ -157,6 +165,7 @@ typedef struct
*/
/** @defgroup COMP_LL_EC_INPUT_HYSTERESIS Comparator input - Hysteresis
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_COMP_HYSTERESIS_NONE (0x00000000UL) /*!< No hysteresis */
@@ -168,6 +177,7 @@ typedef struct
*/
/** @defgroup COMP_LL_EC_OUTPUT_POLARITY Comparator output - Output polarity
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_COMP_OUTPUTPOL_NONINVERTED (0x00000000UL) /*!< COMP output polarity is not inverted: comparator output is high when the plus (non-inverting) input is at a higher voltage than the minus (inverting) input */
@@ -177,6 +187,7 @@ typedef struct
*/
/** @defgroup COMP_LL_EC_OUTPUT_BLANKING_SOURCE Comparator output - Blanking source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_COMP_BLANKINGSRC_NONE (0x00000000UL) /*!<Comparator output without blanking */
@@ -191,6 +202,7 @@ typedef struct
*/
/** @defgroup COMP_LL_EC_OUTPUT_LEVEL Comparator output - Output level
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_COMP_OUTPUT_LEVEL_LOW (0x00000000UL) /*!< Comparator output level low (if the polarity is not inverted, otherwise to be complemented) */
@@ -199,6 +211,7 @@ typedef struct
* @}
*/
/** @defgroup COMP_LL_EC_OUTPUT_BKIN_TIMER Comparator output - Output to BKIN timer
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_COMP_AF_PA6 COMP_OR_AFOPA6 /*!< Comparator Alternate Function PA6 source selected to timer BKIN input */
@@ -217,6 +230,7 @@ typedef struct
*/
/** @defgroup COMP_LL_EC_HW_DELAYS Definitions of COMP hardware constraints delays
+ * @ingroup RTEMSBSPsARMSTM32H7
* @note Only COMP IP HW delays are defined in COMP LL driver driver,
* not timeout values.
* For details on delays values, refer to descriptions in source code
@@ -249,9 +263,11 @@ typedef struct
/* Exported macro ------------------------------------------------------------*/
/** @defgroup COMP_LL_Exported_Macros COMP Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup COMP_LL_EM_WRITE_READ Common write and read registers macro
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -276,6 +292,7 @@ typedef struct
*/
/** @defgroup COMP_LL_EM_HELPER_MACRO COMP helper macro
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -301,10 +318,12 @@ typedef struct
/* Exported functions --------------------------------------------------------*/
/** @defgroup COMP_LL_Exported_Functions COMP Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup COMP_LL_EF_Configuration_comparator_common Configuration of COMP hierarchical scope: common to several COMP instances
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -346,6 +365,7 @@ __STATIC_INLINE uint32_t LL_COMP_GetCommonWindowMode(COMP_Common_TypeDef *COMPxy
*/
/** @defgroup COMP_LL_EF_Configuration_comparator_modes Configuration of comparator modes
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -383,6 +403,7 @@ __STATIC_INLINE uint32_t LL_COMP_GetPowerMode(COMP_TypeDef *COMPx)
*/
/** @defgroup COMP_LL_EF_Configuration_comparator_inputs Configuration of comparator inputs
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -597,6 +618,7 @@ __STATIC_INLINE uint32_t LL_COMP_GetInputHysteresis(COMP_TypeDef *COMPx)
*/
/** @defgroup COMP_LL_EF_Configuration_comparator_output Configuration of comparator output
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -723,6 +745,7 @@ __STATIC_INLINE uint32_t LL_COMP_GetOutputAlternateFunction(COMP_TypeDef *COMPx
*/
/** @defgroup COMP_LL_EF_Operation Operation on comparator instance
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -828,6 +851,7 @@ __STATIC_INLINE uint32_t LL_COMP_ReadOutputLevel(COMP_TypeDef *COMPx)
#if defined(USE_FULL_LL_DRIVER) || defined(__rtems__)
/** @defgroup COMP_LL_EF_Init Initialization and de-initialization functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_ll_cortex.h b/bsps/arm/stm32h7/include/stm32h7xx_ll_cortex.h
index c7363b9c4a..41e0a33da3 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_ll_cortex.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_ll_cortex.h
@@ -48,6 +48,7 @@ extern "C" {
*/
/** @defgroup CORTEX_LL CORTEX
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -61,10 +62,12 @@ extern "C" {
/* Exported types ------------------------------------------------------------*/
/* Exported constants --------------------------------------------------------*/
/** @defgroup CORTEX_LL_Exported_Constants CORTEX Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup CORTEX_LL_EC_CLKSOURCE_HCLK SYSTICK Clock Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_SYSTICK_CLKSOURCE_HCLK_DIV8 0x00000000UL /*!< AHB clock divided by 8 selected as SysTick clock source.*/
@@ -74,6 +77,7 @@ extern "C" {
*/
/** @defgroup CORTEX_LL_EC_FAULT Handler Fault type
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_HANDLER_FAULT_USG SCB_SHCSR_USGFAULTENA_Msk /*!< Usage fault */
@@ -86,6 +90,7 @@ extern "C" {
#if __MPU_PRESENT
/** @defgroup CORTEX_LL_EC_CTRL_HFNMI_PRIVDEF MPU Control
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_MPU_CTRL_HFNMI_PRIVDEF_NONE 0x00000000UL /*!< Disable NMI and privileged SW access */
@@ -97,6 +102,7 @@ extern "C" {
*/
/** @defgroup CORTEX_LL_EC_REGION MPU Region Number
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_MPU_REGION_NUMBER0 0x00UL /*!< REGION Number 0 */
@@ -122,6 +128,7 @@ extern "C" {
*/
/** @defgroup CORTEX_LL_EC_REGION_SIZE MPU Region Size
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_MPU_REGION_SIZE_32B (0x04UL << MPU_RASR_SIZE_Pos) /*!< 32B Size of the MPU protection region */
@@ -157,6 +164,7 @@ extern "C" {
*/
/** @defgroup CORTEX_LL_EC_REGION_PRIVILEDGES MPU Region Privileges
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_MPU_REGION_NO_ACCESS (0x00UL << MPU_RASR_AP_Pos) /*!< No access*/
@@ -170,6 +178,7 @@ extern "C" {
*/
/** @defgroup CORTEX_LL_EC_TEX MPU TEX Level
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_MPU_TEX_LEVEL0 (0x00UL << MPU_RASR_TEX_Pos) /*!< b000 for TEX bits */
@@ -181,6 +190,7 @@ extern "C" {
*/
/** @defgroup CORTEX_LL_EC_INSTRUCTION_ACCESS MPU Instruction Access
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_MPU_INSTRUCTION_ACCESS_ENABLE 0x00UL /*!< Instruction fetches enabled */
@@ -190,6 +200,7 @@ extern "C" {
*/
/** @defgroup CORTEX_LL_EC_SHAREABLE_ACCESS MPU Shareable Access
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_MPU_ACCESS_SHAREABLE MPU_RASR_S_Msk /*!< Shareable memory attribute */
@@ -199,6 +210,7 @@ extern "C" {
*/
/** @defgroup CORTEX_LL_EC_CACHEABLE_ACCESS MPU Cacheable Access
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_MPU_ACCESS_CACHEABLE MPU_RASR_C_Msk /*!< Cacheable memory attribute */
@@ -208,6 +220,7 @@ extern "C" {
*/
/** @defgroup CORTEX_LL_EC_BUFFERABLE_ACCESS MPU Bufferable Access
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_MPU_ACCESS_BUFFERABLE MPU_RASR_B_Msk /*!< Bufferable memory attribute */
@@ -224,10 +237,12 @@ extern "C" {
/* Exported functions --------------------------------------------------------*/
/** @defgroup CORTEX_LL_Exported_Functions CORTEX Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup CORTEX_LL_EF_SYSTICK SYSTICK
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -302,6 +317,7 @@ __STATIC_INLINE uint32_t LL_SYSTICK_IsEnabledIT(void)
*/
/** @defgroup CORTEX_LL_EF_LOW_POWER_MODE LOW POWER MODE
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -380,6 +396,7 @@ __STATIC_INLINE void LL_LPM_DisableEventOnPend(void)
*/
/** @defgroup CORTEX_LL_EF_HANDLER HANDLER
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -418,6 +435,7 @@ __STATIC_INLINE void LL_HANDLER_DisableFault(uint32_t Fault)
*/
/** @defgroup CORTEX_LL_EF_MCU_INFO MCU INFO
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -477,6 +495,7 @@ __STATIC_INLINE uint32_t LL_CPUID_GetRevision(void)
#if __MPU_PRESENT
/** @defgroup CORTEX_LL_EF_MPU MPU
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_ll_crc.h b/bsps/arm/stm32h7/include/stm32h7xx_ll_crc.h
index 23e50299f7..56b1a27c9b 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_ll_crc.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_ll_crc.h
@@ -35,6 +35,7 @@ extern "C" {
#if defined(CRC)
/** @defgroup CRC_LL CRC
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -46,10 +47,12 @@ extern "C" {
/* Exported types ------------------------------------------------------------*/
/* Exported constants --------------------------------------------------------*/
/** @defgroup CRC_LL_Exported_Constants CRC Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup CRC_LL_EC_POLYLENGTH Polynomial length
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_CRC_POLYLENGTH_32B 0x00000000U /*!< 32 bits Polynomial size */
@@ -61,6 +64,7 @@ extern "C" {
*/
/** @defgroup CRC_LL_EC_INDATA_REVERSE Input Data Reverse
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_CRC_INDATA_REVERSE_NONE 0x00000000U /*!< Input Data bit order not affected */
@@ -72,6 +76,7 @@ extern "C" {
*/
/** @defgroup CRC_LL_EC_OUTDATA_REVERSE Output Data Reverse
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_CRC_OUTDATA_REVERSE_NONE 0x00000000U /*!< Output Data bit order not affected */
@@ -81,6 +86,7 @@ extern "C" {
*/
/** @defgroup CRC_LL_EC_Default_Polynomial_Value Default CRC generating polynomial value
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Normal representation of this polynomial value is
* X^32 + X^26 + X^23 + X^22 + X^16 + X^12 + X^11 + X^10 +X^8 + X^7 + X^5 + X^4 + X^2 + X + 1 .
* @{
@@ -91,6 +97,7 @@ extern "C" {
*/
/** @defgroup CRC_LL_EC_Default_InitValue Default CRC computation initialization value
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_CRC_DEFAULT_CRC_INITVALUE 0xFFFFFFFFU /*!< Default CRC computation initialization value */
@@ -104,10 +111,12 @@ extern "C" {
/* Exported macro ------------------------------------------------------------*/
/** @defgroup CRC_LL_Exported_Macros CRC Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup CRC_LL_EM_WRITE_READ Common Write and read registers Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -138,10 +147,12 @@ extern "C" {
/* Exported functions --------------------------------------------------------*/
/** @defgroup CRC_LL_Exported_Functions CRC Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup CRC_LL_EF_Configuration CRC Configuration functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -312,6 +323,7 @@ __STATIC_INLINE uint32_t LL_CRC_GetPolynomialCoef(CRC_TypeDef *CRCx)
*/
/** @defgroup CRC_LL_EF_Data_Management Data_Management
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -431,6 +443,7 @@ __STATIC_INLINE void LL_CRC_Write_IDR(CRC_TypeDef *CRCx, uint32_t InData)
#if defined(USE_FULL_LL_DRIVER) || defined(__rtems__)
/** @defgroup CRC_LL_EF_Init Initialization and de-initialization functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_ll_crs.h b/bsps/arm/stm32h7/include/stm32h7xx_ll_crs.h
index ded313beb9..ec0c01f25d 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_ll_crs.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_ll_crs.h
@@ -35,6 +35,7 @@ extern "C" {
#if defined(CRS)
/** @defgroup CRS_LL CRS
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -46,10 +47,12 @@ extern "C" {
/* Exported types ------------------------------------------------------------*/
/* Exported constants --------------------------------------------------------*/
/** @defgroup CRS_LL_Exported_Constants CRS Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup CRS_LL_EC_GET_FLAG Get Flags Defines
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Flags defines which can be used with LL_CRS_ReadReg function
* @{
*/
@@ -65,6 +68,7 @@ extern "C" {
*/
/** @defgroup CRS_LL_EC_IT IT Defines
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief IT defines which can be used with LL_CRS_ReadReg and LL_CRS_WriteReg functions
* @{
*/
@@ -77,6 +81,7 @@ extern "C" {
*/
/** @defgroup CRS_LL_EC_SYNC_DIV Synchronization Signal Divider
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_CRS_SYNC_DIV_1 0x00000000U /*!< Synchro Signal not divided (default) */
@@ -92,6 +97,7 @@ extern "C" {
*/
/** @defgroup CRS_LL_EC_SYNC_SOURCE Synchronization Signal Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_CRS_SYNC_SOURCE_GPIO 0x00000000U /*!< Synchro Signal soucre GPIO */
@@ -102,6 +108,7 @@ extern "C" {
*/
/** @defgroup CRS_LL_EC_SYNC_POLARITY Synchronization Signal Polarity
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_CRS_SYNC_POLARITY_RISING 0x00000000U /*!< Synchro Active on rising edge (default) */
@@ -111,6 +118,7 @@ extern "C" {
*/
/** @defgroup CRS_LL_EC_FREQERRORDIR Frequency Error Direction
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_CRS_FREQ_ERROR_DIR_UP 0x00000000U /*!< Upcounting direction, the actual frequency is above the target */
@@ -120,6 +128,7 @@ extern "C" {
*/
/** @defgroup CRS_LL_EC_DEFAULTVALUES Default Values
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/**
@@ -151,10 +160,12 @@ extern "C" {
/* Exported macro ------------------------------------------------------------*/
/** @defgroup CRS_LL_Exported_Macros CRS Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup CRS_LL_EM_WRITE_READ Common Write and read registers Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -179,6 +190,7 @@ extern "C" {
*/
/** @defgroup CRS_LL_EM_Exported_Macros_Calculate_Reload Exported_Macros_Calculate_Reload
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -205,10 +217,12 @@ extern "C" {
/* Exported functions --------------------------------------------------------*/
/** @defgroup CRS_LL_Exported_Functions CRS Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup CRS_LL_EF_Configuration Configuration
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -461,6 +475,7 @@ __STATIC_INLINE void LL_CRS_ConfigSynchronization(uint32_t HSI48CalibrationValue
*/
/** @defgroup CRS_LL_EF_CRS_Management CRS_Management
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -502,6 +517,7 @@ __STATIC_INLINE uint32_t LL_CRS_GetFreqErrorCapture(void)
*/
/** @defgroup CRS_LL_EF_FLAG_Management FLAG_Management
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -621,6 +637,7 @@ __STATIC_INLINE void LL_CRS_ClearFlag_ESYNC(void)
*/
/** @defgroup CRS_LL_EF_IT_Management IT_Management
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -750,6 +767,7 @@ __STATIC_INLINE uint32_t LL_CRS_IsEnabledIT_ESYNC(void)
#if defined(USE_FULL_LL_DRIVER) || defined(__rtems__)
/** @defgroup CRS_LL_EF_Init Initialization and de-initialization functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_ll_dac.h b/bsps/arm/stm32h7/include/stm32h7xx_ll_dac.h
index bf3155c33c..a04b96e3f4 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_ll_dac.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_ll_dac.h
@@ -35,6 +35,7 @@ extern "C" {
#if defined(DAC1) || defined(DAC2)
/** @defgroup DAC_LL DAC
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -43,6 +44,7 @@ extern "C" {
/* Private constants ---------------------------------------------------------*/
/** @defgroup DAC_LL_Private_Constants DAC Private Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -105,6 +107,7 @@ extern "C" {
/* Private macros ------------------------------------------------------------*/
/** @defgroup DAC_LL_Private_Macros DAC Private Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -127,6 +130,7 @@ extern "C" {
/* Exported types ------------------------------------------------------------*/
#if defined(USE_FULL_LL_DRIVER) || defined(__rtems__)
/** @defgroup DAC_LL_ES_INIT DAC Exported Init structure
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -176,10 +180,12 @@ typedef struct
/* Exported constants --------------------------------------------------------*/
/** @defgroup DAC_LL_Exported_Constants DAC Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup DAC_LL_EC_GET_FLAG DAC flags
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Flags defines which can be used with LL_DAC_ReadReg function
* @{
*/
@@ -197,6 +203,7 @@ typedef struct
*/
/** @defgroup DAC_LL_EC_IT DAC interruptions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief IT defines which can be used with LL_DAC_ReadReg and LL_DAC_WriteReg functions
* @{
*/
@@ -207,6 +214,7 @@ typedef struct
*/
/** @defgroup DAC_LL_EC_CHANNEL DAC channels
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_DAC_CHANNEL_1 (DAC_REG_SHSR1_REGOFFSET | DAC_REG_DOR1_REGOFFSET | DAC_REG_DHR12R1_REGOFFSET | DAC_REG_DHR12L1_REGOFFSET | DAC_REG_DHR8R1_REGOFFSET | DAC_CR_CH1_BITOFFSET | DAC_SWTR_CH1) /*!< DAC channel 1 */
@@ -216,6 +224,7 @@ typedef struct
*/
/** @defgroup DAC_LL_EC_OPERATING_MODE DAC operating mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_DAC_MODE_NORMAL_OPERATION 0x00000000UL /*!< DAC channel in mode normal operation */
@@ -225,6 +234,7 @@ typedef struct
*/
/** @defgroup DAC_LL_EC_TRIGGER_SOURCE DAC trigger source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_DAC_TRIG_SOFTWARE 0x00000000U /*!< DAC channel conversion trigger internal (SW start) */
@@ -257,6 +267,7 @@ typedef struct
*/
/** @defgroup DAC_LL_EC_WAVE_AUTO_GENERATION_MODE DAC waveform automatic generation mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_DAC_WAVE_AUTO_GENERATION_NONE 0x00000000UL /*!< DAC channel wave auto generation mode disabled. */
@@ -267,6 +278,7 @@ typedef struct
*/
/** @defgroup DAC_LL_EC_WAVE_NOISE_LFSR_UNMASK_BITS DAC wave generation - Noise LFSR unmask bits
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_DAC_NOISE_LFSR_UNMASK_BIT0 0x00000000UL /*!< Noise wave generation, unmask LFSR bit0, for the selected DAC channel */
@@ -286,6 +298,7 @@ typedef struct
*/
/** @defgroup DAC_LL_EC_WAVE_TRIANGLE_AMPLITUDE DAC wave generation - Triangle amplitude
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_DAC_TRIANGLE_AMPLITUDE_1 0x00000000UL /*!< Triangle wave generation, amplitude of 1 LSB of DAC output range, for the selected DAC channel */
@@ -305,6 +318,7 @@ typedef struct
*/
/** @defgroup DAC_LL_EC_OUTPUT_MODE DAC channel output mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_DAC_OUTPUT_MODE_NORMAL 0x00000000UL /*!< The selected DAC channel output is on mode normal. */
@@ -314,6 +328,7 @@ typedef struct
*/
/** @defgroup DAC_LL_EC_OUTPUT_BUFFER DAC channel output buffer
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_DAC_OUTPUT_BUFFER_ENABLE 0x00000000UL /*!< The selected DAC channel output is buffered: higher drive current capability, but also higher current consumption */
@@ -323,6 +338,7 @@ typedef struct
*/
/** @defgroup DAC_LL_EC_OUTPUT_CONNECTION DAC channel output connection
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_DAC_OUTPUT_CONNECT_GPIO 0x00000000UL /*!< The selected DAC channel output is connected to external pin */
@@ -332,6 +348,7 @@ typedef struct
*/
/** @defgroup DAC_LL_EC_LEGACY DAC literals legacy naming
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_DAC_TRIGGER_SOFTWARE (LL_DAC_TRIG_SOFTWARE)
@@ -352,6 +369,7 @@ typedef struct
* @}
*/
/** @defgroup DAC_LL_EC_RESOLUTION DAC channel output resolution
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_DAC_RESOLUTION_12B 0x00000000UL /*!< DAC channel resolution 12 bits */
@@ -361,6 +379,7 @@ typedef struct
*/
/** @defgroup DAC_LL_EC_REGISTERS DAC registers compliant with specific purpose
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/* List of DAC registers intended to be used (most commonly) with */
@@ -374,6 +393,7 @@ typedef struct
*/
/** @defgroup DAC_LL_EC_HW_DELAYS Definitions of DAC hardware constraints delays
+ * @ingroup RTEMSBSPsARMSTM32H7
* @note Only DAC peripheral HW delays are defined in DAC LL driver driver,
* not timeout values.
* For details on delays values, refer to descriptions in source code
@@ -418,10 +438,12 @@ typedef struct
/* Exported macro ------------------------------------------------------------*/
/** @defgroup DAC_LL_Exported_Macros DAC Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup DAC_LL_EM_WRITE_READ Common write and read registers macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -447,6 +469,7 @@ typedef struct
*/
/** @defgroup DAC_LL_EM_HELPER_MACRO DAC helper macro
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -546,9 +569,11 @@ typedef struct
/* Exported functions --------------------------------------------------------*/
/** @defgroup DAC_LL_Exported_Functions DAC Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup DAC_LL_EF_Configuration Configuration of DAC channels
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -1225,6 +1250,7 @@ __STATIC_INLINE uint32_t LL_DAC_GetSampleAndHoldRefreshTime(DAC_TypeDef *DACx, u
*/
/** @defgroup DAC_LL_EF_DMA_Management DMA Management
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -1325,6 +1351,7 @@ __STATIC_INLINE uint32_t LL_DAC_DMA_GetRegAddr(DAC_TypeDef *DACx, uint32_t DAC_C
*/
/** @defgroup DAC_LL_EF_Operation Operation on DAC channels
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -1620,6 +1647,7 @@ __STATIC_INLINE uint32_t LL_DAC_RetrieveOutputData(DAC_TypeDef *DACx, uint32_t D
*/
/** @defgroup DAC_LL_EF_FLAG_Management FLAG Management
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/**
@@ -1723,6 +1751,7 @@ __STATIC_INLINE void LL_DAC_ClearFlag_DMAUDR2(DAC_TypeDef *DACx)
*/
/** @defgroup DAC_LL_EF_IT_Management IT management
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -1804,6 +1833,7 @@ __STATIC_INLINE uint32_t LL_DAC_IsEnabledIT_DMAUDR2(DAC_TypeDef *DACx)
#if defined(USE_FULL_LL_DRIVER) || defined(__rtems__)
/** @defgroup DAC_LL_EF_Init Initialization and de-initialization functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_ll_delayblock.h b/bsps/arm/stm32h7/include/stm32h7xx_ll_delayblock.h
index 315151d4cb..cfc7547796 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_ll_delayblock.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_ll_delayblock.h
@@ -38,6 +38,7 @@
/* Exported types ------------------------------------------------------------*/
/** @defgroup DELAYBLOCK_LL_Exported_Types DELAYBLOCK_LL Exported Types
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -48,6 +49,7 @@
/* Exported constants --------------------------------------------------------*/
/** @defgroup DLYB_Exported_Constants Delay Block Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_ll_dma.h b/bsps/arm/stm32h7/include/stm32h7xx_ll_dma.h
index f5553b69e5..da48506801 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_ll_dma.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_ll_dma.h
@@ -36,12 +36,14 @@ extern "C" {
#if defined (DMA1) || defined (DMA2)
/** @defgroup DMA_LL DMA
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/* Private types -------------------------------------------------------------*/
/* Private variables ---------------------------------------------------------*/
/** @defgroup DMA_LL_Private_Variables DMA Private Variables
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/* Array used to get the DMA stream register offset versus stream index LL_DMA_STREAM_x */
@@ -77,6 +79,7 @@ static const uint8_t LL_DMA_STR_OFFSET_TAB[] =
/* Exported types ------------------------------------------------------------*/
#if defined(USE_FULL_LL_DRIVER) || defined(__rtems__)
/** @defgroup DMA_LL_ES_INIT DMA Exported Init structure
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
typedef struct
@@ -180,10 +183,12 @@ typedef struct
#endif /*USE_FULL_LL_DRIVER*/
/* Exported constants --------------------------------------------------------*/
/** @defgroup DMA_LL_Exported_Constants DMA Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup DMA_LL_EC_STREAM STREAM
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_DMA_STREAM_0 0x00000000U
@@ -201,6 +206,7 @@ typedef struct
/** @defgroup DMA_LL_EC_DIRECTION DIRECTION
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_DMA_DIRECTION_PERIPH_TO_MEMORY 0x00000000U /*!< Peripheral to memory direction */
@@ -211,6 +217,7 @@ typedef struct
*/
/** @defgroup DMA_LL_EC_MODE MODE
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_DMA_MODE_NORMAL 0x00000000U /*!< Normal Mode */
@@ -221,6 +228,7 @@ typedef struct
*/
/** @defgroup DMA_LL_EC_DOUBLEBUFFER_MODE DOUBLE BUFFER MODE
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_DMA_DOUBLEBUFFER_MODE_DISABLE 0x00000000U /*!< Disable double buffering mode */
@@ -230,6 +238,7 @@ typedef struct
*/
/** @defgroup DMA_LL_EC_PERIPH PERIPH
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_DMA_PERIPH_NOINCREMENT 0x00000000U /*!< Peripheral increment mode Disable */
@@ -239,6 +248,7 @@ typedef struct
*/
/** @defgroup DMA_LL_EC_MEMORY MEMORY
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_DMA_MEMORY_NOINCREMENT 0x00000000U /*!< Memory increment mode Disable */
@@ -248,6 +258,7 @@ typedef struct
*/
/** @defgroup DMA_LL_EC_PDATAALIGN PDATAALIGN
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_DMA_PDATAALIGN_BYTE 0x00000000U /*!< Peripheral data alignment : Byte */
@@ -258,6 +269,7 @@ typedef struct
*/
/** @defgroup DMA_LL_EC_MDATAALIGN MDATAALIGN
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_DMA_MDATAALIGN_BYTE 0x00000000U /*!< Memory data alignment : Byte */
@@ -268,6 +280,7 @@ typedef struct
*/
/** @defgroup DMA_LL_EC_OFFSETSIZE OFFSETSIZE
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_DMA_OFFSETSIZE_PSIZE 0x00000000U /*!< Peripheral increment offset size is linked to the PSIZE */
@@ -277,6 +290,7 @@ typedef struct
*/
/** @defgroup DMA_LL_EC_PRIORITY PRIORITY
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_DMA_PRIORITY_LOW 0x00000000U /*!< Priority level : Low */
@@ -289,6 +303,7 @@ typedef struct
/** @defgroup DMA_LL_EC_MBURST MBURST
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_DMA_MBURST_SINGLE 0x00000000U /*!< Memory burst single transfer configuration */
@@ -300,6 +315,7 @@ typedef struct
*/
/** @defgroup DMA_LL_EC_PBURST PBURST
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_DMA_PBURST_SINGLE 0x00000000U /*!< Peripheral burst single transfer configuration */
@@ -311,6 +327,7 @@ typedef struct
*/
/** @defgroup DMA_LL_FIFOMODE DMA_LL_FIFOMODE
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_DMA_FIFOMODE_DISABLE 0x00000000U /*!< FIFO mode disable (direct mode is enabled) */
@@ -320,6 +337,7 @@ typedef struct
*/
/** @defgroup DMA_LL_EC_FIFOSTATUS_0 FIFOSTATUS 0
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_DMA_FIFOSTATUS_0_25 0x00000000U /*!< 0 < fifo_level < 1/4 */
@@ -333,6 +351,7 @@ typedef struct
*/
/** @defgroup DMA_LL_EC_FIFOTHRESHOLD FIFOTHRESHOLD
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_DMA_FIFOTHRESHOLD_1_4 0x00000000U /*!< FIFO threshold 1 quart full configuration */
@@ -344,6 +363,7 @@ typedef struct
*/
/** @defgroup DMA_LL_EC_CURRENTTARGETMEM CURRENTTARGETMEM
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_DMA_CURRENTTARGETMEM0 0x00000000U /*!< Set CurrentTarget Memory to Memory 0 */
@@ -358,10 +378,12 @@ typedef struct
/* Exported macro ------------------------------------------------------------*/
/** @defgroup DMA_LL_Exported_Macros DMA Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup DMA_LL_EM_WRITE_READ Common Write and read registers macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/**
@@ -385,6 +407,7 @@ typedef struct
*/
/** @defgroup DMA_LL_EM_CONVERT_DMAxCHANNELy Convert DMAxStreamy
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/**
@@ -452,10 +475,12 @@ typedef struct
/* Exported functions --------------------------------------------------------*/
/** @defgroup DMA_LL_Exported_Functions DMA Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup DMA_LL_EF_Configuration Configuration
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/**
@@ -1984,6 +2009,7 @@ __STATIC_INLINE uint32_t LL_DMA_GetMemory1Address(DMA_TypeDef *DMAx, uint32_t St
*/
/** @defgroup DMA_LL_EF_FLAG_Management FLAG_Management
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -2872,6 +2898,7 @@ __STATIC_INLINE void LL_DMA_ClearFlag_FE7(DMA_TypeDef *DMAx)
*/
/** @defgroup DMA_LL_EF_IT_Management IT_Management
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -3211,6 +3238,7 @@ __STATIC_INLINE uint32_t LL_DMA_IsEnabledIT_FE(DMA_TypeDef *DMAx, uint32_t Strea
#if defined(USE_FULL_LL_DRIVER) || defined(__rtems__)
/** @defgroup DMA_LL_EF_Init Initialization and de-initialization functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_ll_dma2d.h b/bsps/arm/stm32h7/include/stm32h7xx_ll_dma2d.h
index 957aee52eb..bbe23554d1 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_ll_dma2d.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_ll_dma2d.h
@@ -35,6 +35,7 @@ extern "C" {
#if defined (DMA2D)
/** @defgroup DMA2D_LL DMA2D
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -44,6 +45,7 @@ extern "C" {
/* Private macros ------------------------------------------------------------*/
#if defined(USE_FULL_LL_DRIVER) || defined(__rtems__)
/** @defgroup DMA2D_LL_Private_Macros DMA2D Private Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -55,6 +57,7 @@ extern "C" {
/* Exported types ------------------------------------------------------------*/
#if defined(USE_FULL_LL_DRIVER) || defined(__rtems__)
/** @defgroup DMA2D_LL_ES_Init_Struct DMA2D Exported Init structures
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -317,10 +320,12 @@ typedef struct
/* Exported constants --------------------------------------------------------*/
/** @defgroup DMA2D_LL_Exported_Constants DMA2D Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup DMA2D_LL_EC_GET_FLAG Get Flags Defines
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Flags defines which can be used with LL_DMA2D_ReadReg function
* @{
*/
@@ -335,6 +340,7 @@ typedef struct
*/
/** @defgroup DMA2D_LL_EC_IT IT Defines
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief IT defines which can be used with LL_DMA2D_ReadReg and LL_DMA2D_WriteReg functions
* @{
*/
@@ -349,6 +355,7 @@ typedef struct
*/
/** @defgroup DMA2D_LL_EC_MODE Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_DMA2D_MODE_M2M 0x00000000U /*!< DMA2D memory to memory transfer mode */
@@ -362,6 +369,7 @@ typedef struct
*/
/** @defgroup DMA2D_LL_EC_OUTPUT_COLOR_MODE Output Color Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_DMA2D_OUTPUT_MODE_ARGB8888 0x00000000U /*!< ARGB8888 */
@@ -374,6 +382,7 @@ typedef struct
*/
/** @defgroup DMA2D_LL_EC_INPUT_COLOR_MODE Input Color Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_DMA2D_INPUT_MODE_ARGB8888 0x00000000U /*!< ARGB8888 */
@@ -393,6 +402,7 @@ typedef struct
*/
/** @defgroup DMA2D_LL_EC_ALPHA_MODE Alpha Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_DMA2D_ALPHA_MODE_NO_MODIF 0x00000000U /*!< No modification of the alpha channel value */
@@ -404,6 +414,7 @@ typedef struct
*/
/** @defgroup DMA2D_LL_EC_OUTPUT_SWAP_MODE Swap Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_DMA2D_SWAP_MODE_REGULAR 0x00000000U /*!< Regular order */
@@ -413,6 +424,7 @@ typedef struct
*/
/** @defgroup DMA2D_LL_EC_RED_BLUE_SWAP Red Blue Swap
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_DMA2D_RB_MODE_REGULAR 0x00000000U /*!< RGB or ARGB */
@@ -422,6 +434,7 @@ typedef struct
*/
/** @defgroup DMA2D_LL_EC_ALPHA_INVERSION Alpha Inversion
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_DMA2D_ALPHA_REGULAR 0x00000000U /*!< Regular alpha */
@@ -432,6 +445,7 @@ typedef struct
/** @defgroup DMA2D_LL_EC_LINE_OFFSET_MODE Line Offset Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_DMA2D_LINE_OFFSET_PIXELS 0x00000000U /*!< Line offsets are expressed in pixels */
@@ -441,6 +455,7 @@ typedef struct
*/
/** @defgroup DMA2D_LL_EC_CLUT_COLOR_MODE CLUT Color Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_DMA2D_CLUT_COLOR_MODE_ARGB8888 0x00000000U /*!< ARGB8888 */
@@ -450,6 +465,7 @@ typedef struct
*/
/** @defgroup DMA2D_LL_CHROMA_SUB_SAMPLING Chroma Sub Sampling
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_DMA2D_CSS_444 0x00000000U /*!< No chroma sub-sampling 4:4:4 */
@@ -465,10 +481,12 @@ typedef struct
/* Exported macro ------------------------------------------------------------*/
/** @defgroup DMA2D_LL_Exported_Macros DMA2D Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup DMA2D_LL_EM_WRITE_READ Common Write and read registers Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -498,10 +516,12 @@ typedef struct
/* Exported functions --------------------------------------------------------*/
/** @defgroup DMA2D_LL_Exported_Functions DMA2D Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup DMA2D_LL_EF_Configuration Configuration Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -977,6 +997,7 @@ __STATIC_INLINE uint32_t LL_DMA2D_IsEnabledDeadTime(DMA2D_TypeDef *DMA2Dx)
}
/** @defgroup DMA2D_LL_EF_FGND_Configuration Foreground Configuration Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -1391,6 +1412,7 @@ __STATIC_INLINE uint32_t LL_DMA2D_FGND_GetChrSubSampling(DMA2D_TypeDef *DMA2Dx)
*/
/** @defgroup DMA2D_LL_EF_BGND_Configuration Background Configuration Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -1782,6 +1804,7 @@ __STATIC_INLINE uint32_t LL_DMA2D_BGND_GetCLUTColorMode(DMA2D_TypeDef *DMA2Dx)
/** @defgroup DMA2D_LL_EF_FLAG_MANAGEMENT Flag Management
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -1922,6 +1945,7 @@ __STATIC_INLINE void LL_DMA2D_ClearFlag_TE(DMA2D_TypeDef *DMA2Dx)
*/
/** @defgroup DMA2D_LL_EF_IT_MANAGEMENT Interruption Management
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -2131,6 +2155,7 @@ __STATIC_INLINE uint32_t LL_DMA2D_IsEnabledIT_TE(DMA2D_TypeDef *DMA2Dx)
#if defined(USE_FULL_LL_DRIVER) || defined(__rtems__)
/** @defgroup DMA2D_LL_EF_Init_Functions Initialization and De-initialization Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_ll_dmamux.h b/bsps/arm/stm32h7/include/stm32h7xx_ll_dmamux.h
index 13f81186d8..f0930ee3f5 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_ll_dmamux.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_ll_dmamux.h
@@ -35,6 +35,7 @@ extern "C" {
#if defined (DMAMUX1) || defined (DMAMUX2)
/** @defgroup DMAMUX_LL DMAMUX
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -42,6 +43,7 @@ extern "C" {
/* Private variables ---------------------------------------------------------*/
/* Private constants ---------------------------------------------------------*/
/** @defgroup DMAMUX_LL_Private_Constants DMAMUX Private Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/* Define used to get DMAMUX CCR register size */
@@ -65,9 +67,11 @@ extern "C" {
/* Exported types ------------------------------------------------------------*/
/* Exported constants --------------------------------------------------------*/
/** @defgroup DMAMUX_LL_Exported_Constants DMAMUX Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup DMAMUX_LL_EC_CLEAR_FLAG Clear Flags Defines
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Flags defines which can be used with LL_DMAMUX_WriteReg function
* @{
*/
@@ -100,6 +104,7 @@ extern "C" {
*/
/** @defgroup DMAMUX_LL_EC_GET_FLAG Get Flags Defines
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Flags defines which can be used with LL_DMAMUX_ReadReg function
* @{
*/
@@ -132,6 +137,7 @@ extern "C" {
*/
/** @defgroup DMAMUX_LL_EC_IT IT Defines
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief IT defines which can be used with LL_DMA_ReadReg and LL_DMAMUX_WriteReg functions
* @{
*/
@@ -142,6 +148,7 @@ extern "C" {
*/
/** @defgroup DMAMUX_Request_selection DMAMUX Request selection
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief DMA Request selection
* @{
*/
@@ -316,6 +323,7 @@ extern "C" {
/** @defgroup DMAMUX_LL_EC_CHANNEL DMAMUX Channel
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_DMAMUX_CHANNEL_0 0x00000000U /*!< DMAMUX1 Channel 0 connected to DMA1 Channel 0 , DMAMUX2 Channel 0 connected to BDMA Channel 0 */
@@ -339,6 +347,7 @@ extern "C" {
*/
/** @defgroup DMAMUX_LL_EC_SYNC_NO Synchronization Signal Polarity
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_DMAMUX_SYNC_NO_EVENT 0x00000000U /*!< All requests are blocked */
@@ -350,6 +359,7 @@ extern "C" {
*/
/** @defgroup DMAMUX_LL_EC_SYNC_EVT Synchronization Signal Event
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_DMAMUX1_SYNC_DMAMUX1_CH0_EVT 0x00000000U /*!< DMAMUX1 synchronization Signal is DMAMUX1 Channel0 Event */
@@ -383,6 +393,7 @@ extern "C" {
*/
/** @defgroup DMAMUX_LL_EC_REQUEST_GENERATOR Request Generator Channel
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_DMAMUX_REQ_GEN_0 0x00000000U
@@ -398,6 +409,7 @@ extern "C" {
*/
/** @defgroup DMAMUX_LL_EC_REQUEST_GEN_POLARITY External Request Signal Generation Polarity
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_DMAMUX_REQ_GEN_NO_EVENT 0x00000000U /*!< No external DMA request generation */
@@ -409,6 +421,7 @@ extern "C" {
*/
/** @defgroup DMAMUX_LL_EC_REQUEST_GEN External Request Signal Generation
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_DMAMUX1_REQ_GEN_DMAMUX1_CH0_EVT 0U /*!< DMAMUX1 Request generator Signal is DMAMUX1 Channel0 Event */
@@ -466,10 +479,12 @@ extern "C" {
/* Exported macro ------------------------------------------------------------*/
/** @defgroup DMAMUX_LL_Exported_Macros DMAMUX Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup DMAMUX_LL_EM_WRITE_READ Common Write and read registers macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/**
@@ -498,10 +513,12 @@ extern "C" {
/* Exported functions --------------------------------------------------------*/
/** @defgroup DMAMUX_LL_Exported_Functions DMAMUX Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup DMAMUX_LL_EF_Configuration Configuration
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/**
@@ -1545,6 +1562,7 @@ __STATIC_INLINE uint32_t LL_DMAMUX_GetRequestSignalID(DMAMUX_Channel_TypeDef *DM
*/
/** @defgroup DMAMUX_LL_EF_FLAG_Management FLAG_Management
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -2177,6 +2195,7 @@ __STATIC_INLINE void LL_DMAMUX_ClearFlag_RGO7(DMAMUX_Channel_TypeDef *DMAMUXx)
*/
/** @defgroup DMAMUX_LL_EF_IT_Management IT_Management
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_ll_exti.h b/bsps/arm/stm32h7/include/stm32h7xx_ll_exti.h
index 4bbbffd5b6..f87db1f535 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_ll_exti.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_ll_exti.h
@@ -35,6 +35,7 @@ extern "C" {
#if defined (EXTI)
/** @defgroup EXTI_LL EXTI
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -44,6 +45,7 @@ extern "C" {
/* Private Macros ------------------------------------------------------------*/
#if defined(USE_FULL_LL_DRIVER) || defined(__rtems__)
/** @defgroup EXTI_LL_Private_Macros EXTI Private Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/**
@@ -53,6 +55,7 @@ extern "C" {
/* Exported types ------------------------------------------------------------*/
#if defined(USE_FULL_LL_DRIVER) || defined(__rtems__)
/** @defgroup EXTI_LL_ES_INIT EXTI Exported Init structure
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
typedef struct
@@ -84,10 +87,12 @@ typedef struct
/* Exported constants --------------------------------------------------------*/
/** @defgroup EXTI_LL_Exported_Constants EXTI Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup EXTI_LL_EC_LINE LINE
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_EXTI_LINE_0 EXTI_IMR1_IM0 /*!< Extended line 0 */
@@ -209,6 +214,7 @@ typedef struct
#if defined(USE_FULL_LL_DRIVER) || defined(__rtems__)
/** @defgroup EXTI_LL_EC_MODE Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_EXTI_MODE_IT ((uint8_t)0x01U) /*!< Cortex-M7 Interrupt Mode */
@@ -230,6 +236,7 @@ typedef struct
*/
/** @defgroup EXTI_LL_EC_TRIGGER Edge Trigger
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_EXTI_TRIGGER_NONE ((uint8_t)0x00U) /*!< No Trigger Mode */
@@ -242,6 +249,7 @@ typedef struct
*/
/** @defgroup EXTI_LL_D3_PEND_CLR D3 Pend Clear Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_EXTI_D3_PEND_CLR_DMACH6 ((uint8_t)0x00U) /*!< DMA ch6 event selected as D3 domain pendclear source */
@@ -270,10 +278,12 @@ typedef struct
/* Exported macro ------------------------------------------------------------*/
/** @defgroup EXTI_LL_Exported_Macros EXTI Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup EXTI_LL_EM_WRITE_READ Common Write and read registers Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -305,9 +315,11 @@ typedef struct
/* Exported functions --------------------------------------------------------*/
/** @defgroup EXTI_LL_Exported_Functions EXTI Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup EXTI_LL_EF_IT_Management IT_Management
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -1061,6 +1073,7 @@ __STATIC_INLINE uint32_t LL_C2_EXTI_IsEnabledIT_64_95(uint32_t ExtiLine)
*/
/** @defgroup EXTI_LL_EF_Event_Management Event_Management
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -1809,6 +1822,7 @@ __STATIC_INLINE uint32_t LL_C2_EXTI_IsEnabledEvent_64_95(uint32_t ExtiLine)
*/
/** @defgroup EXTI_LL_EF_Rising_Trigger_Management Rising_Trigger_Management
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -2043,6 +2057,7 @@ __STATIC_INLINE uint32_t LL_EXTI_IsEnabledRisingTrig_64_95(uint32_t ExtiLine)
*/
/** @defgroup EXTI_LL_EF_Falling_Trigger_Management Falling_Trigger_Management
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -2276,6 +2291,7 @@ __STATIC_INLINE uint32_t LL_EXTI_IsEnabledFallingTrig_64_95(uint32_t ExtiLine)
*/
/** @defgroup EXTI_LL_EF_Software_Interrupt_Management Software_Interrupt_Management
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -2361,6 +2377,7 @@ __STATIC_INLINE void LL_EXTI_GenerateSWI_64_95(uint32_t ExtiLine)
*/
/** @defgroup EXTI_LL_EF_Flag_Management Flag_Management
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -3123,6 +3140,7 @@ __STATIC_INLINE uint32_t LL_D3_EXTI_GetPendClearSel_48_63(uint32_t ExtiLine)
#if defined(USE_FULL_LL_DRIVER) || defined(__rtems__)
/** @defgroup EXTI_LL_EF_Init Initialization and de-initialization functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{,
*/
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_ll_fmc.h b/bsps/arm/stm32h7/include/stm32h7xx_ll_fmc.h
index a45860f1dd..3725af7bf0 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_ll_fmc.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_ll_fmc.h
@@ -172,6 +172,7 @@ extern "C" {
/* Exported typedef ----------------------------------------------------------*/
/** @defgroup FMC_LL_Exported_typedef FMC Low Layer Exported Types
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -451,10 +452,12 @@ typedef struct
*/
/** @defgroup FMC_LL_NOR_SRAM_Controller FMC NOR/SRAM Controller
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup FMC_NORSRAM_Bank FMC NOR/SRAM Bank
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FMC_NORSRAM_BANK1 ((uint32_t)0x00000000)
@@ -466,6 +469,7 @@ typedef struct
*/
/** @defgroup FMC_Data_Address_Bus_Multiplexing FMC Data Address Bus Multiplexing
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FMC_DATA_ADDRESS_MUX_DISABLE ((uint32_t)0x00000000)
@@ -475,6 +479,7 @@ typedef struct
*/
/** @defgroup FMC_Memory_Type FMC Memory Type
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FMC_MEMORY_TYPE_SRAM ((uint32_t)0x00000000)
@@ -485,6 +490,7 @@ typedef struct
*/
/** @defgroup FMC_NORSRAM_Data_Width FMC NORSRAM Data Width
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FMC_NORSRAM_MEM_BUS_WIDTH_8 ((uint32_t)0x00000000)
@@ -495,6 +501,7 @@ typedef struct
*/
/** @defgroup FMC_NORSRAM_Flash_Access FMC NOR/SRAM Flash Access
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FMC_NORSRAM_FLASH_ACCESS_ENABLE ((uint32_t)0x00000040)
@@ -504,6 +511,7 @@ typedef struct
*/
/** @defgroup FMC_Burst_Access_Mode FMC Burst Access Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FMC_BURST_ACCESS_MODE_DISABLE ((uint32_t)0x00000000)
@@ -513,6 +521,7 @@ typedef struct
*/
/** @defgroup FMC_Wait_Signal_Polarity FMC Wait Signal Polarity
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FMC_WAIT_SIGNAL_POLARITY_LOW ((uint32_t)0x00000000)
@@ -522,6 +531,7 @@ typedef struct
*/
/** @defgroup FMC_Wait_Timing FMC Wait Timing
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FMC_WAIT_TIMING_BEFORE_WS ((uint32_t)0x00000000)
@@ -531,6 +541,7 @@ typedef struct
*/
/** @defgroup FMC_Write_Operation FMC Write Operation
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FMC_WRITE_OPERATION_DISABLE ((uint32_t)0x00000000)
@@ -540,6 +551,7 @@ typedef struct
*/
/** @defgroup FMC_Wait_Signal FMC Wait Signal
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FMC_WAIT_SIGNAL_DISABLE ((uint32_t)0x00000000)
@@ -549,6 +561,7 @@ typedef struct
*/
/** @defgroup FMC_Extended_Mode FMC Extended Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FMC_EXTENDED_MODE_DISABLE ((uint32_t)0x00000000)
@@ -558,6 +571,7 @@ typedef struct
*/
/** @defgroup FMC_AsynchronousWait FMC Asynchronous Wait
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FMC_ASYNCHRONOUS_WAIT_DISABLE ((uint32_t)0x00000000)
@@ -567,6 +581,7 @@ typedef struct
*/
/** @defgroup FMC_Page_Size FMC Page Size
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FMC_PAGE_SIZE_NONE ((uint32_t)0x00000000)
@@ -579,6 +594,7 @@ typedef struct
*/
/** @defgroup FMC_Write_Burst FMC Write Burst
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FMC_WRITE_BURST_DISABLE ((uint32_t)0x00000000)
@@ -588,6 +604,7 @@ typedef struct
*/
/** @defgroup FMC_Continous_Clock FMC Continuous Clock
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FMC_CONTINUOUS_CLOCK_SYNC_ONLY ((uint32_t)0x00000000)
@@ -597,6 +614,7 @@ typedef struct
*/
/** @defgroup FMC_Write_FIFO FMC Write FIFO
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FMC_WRITE_FIFO_DISABLE ((uint32_t)FMC_BCR1_WFDIS)
@@ -606,6 +624,7 @@ typedef struct
*/
/** @defgroup FMC_Access_Mode FMC Access Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FMC_ACCESS_MODE_A ((uint32_t)0x00000000)
@@ -622,9 +641,11 @@ typedef struct
/** @defgroup FMC_LL_NAND_Controller FMC NAND Controller
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup FMC_NAND_Bank FMC NAND Bank
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FMC_NAND_BANK3 ((uint32_t)0x00000100)
@@ -633,6 +654,7 @@ typedef struct
*/
/** @defgroup FMC_Wait_feature FMC Wait feature
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FMC_NAND_WAIT_FEATURE_DISABLE ((uint32_t)0x00000000)
@@ -642,6 +664,7 @@ typedef struct
*/
/** @defgroup FMC_PCR_Memory_Type FMC PCR Memory Type
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FMC_PCR_MEMORY_TYPE_NAND ((uint32_t)0x00000008)
@@ -650,6 +673,7 @@ typedef struct
*/
/** @defgroup FMC_NAND_Data_Width FMC NAND Data Width
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FMC_NAND_MEM_BUS_WIDTH_8 ((uint32_t)0x00000000)
@@ -659,6 +683,7 @@ typedef struct
*/
/** @defgroup FMC_ECC FMC ECC
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FMC_NAND_ECC_DISABLE ((uint32_t)0x00000000)
@@ -668,6 +693,7 @@ typedef struct
*/
/** @defgroup FMC_ECC_Page_Size FMC ECC Page Size
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FMC_NAND_ECC_PAGE_SIZE_256BYTE ((uint32_t)0x00000000)
@@ -685,9 +711,11 @@ typedef struct
*/
/** @defgroup FMC_LL_SDRAM_Controller FMC SDRAM Controller
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup FMC_SDRAM_Bank FMC SDRAM Bank
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FMC_SDRAM_BANK1 ((uint32_t)0x00000000)
@@ -697,6 +725,7 @@ typedef struct
*/
/** @defgroup FMC_SDRAM_Column_Bits_number FMC SDRAM Column Bits number
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FMC_SDRAM_COLUMN_BITS_NUM_8 ((uint32_t)0x00000000)
@@ -708,6 +737,7 @@ typedef struct
*/
/** @defgroup FMC_SDRAM_Row_Bits_number FMC SDRAM Row Bits number
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FMC_SDRAM_ROW_BITS_NUM_11 ((uint32_t)0x00000000)
@@ -718,6 +748,7 @@ typedef struct
*/
/** @defgroup FMC_SDRAM_Memory_Bus_Width FMC SDRAM Memory Bus Width
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FMC_SDRAM_MEM_BUS_WIDTH_8 ((uint32_t)0x00000000)
@@ -728,6 +759,7 @@ typedef struct
*/
/** @defgroup FMC_SDRAM_Internal_Banks_Number FMC SDRAM Internal Banks Number
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FMC_SDRAM_INTERN_BANKS_NUM_2 ((uint32_t)0x00000000)
@@ -737,6 +769,7 @@ typedef struct
*/
/** @defgroup FMC_SDRAM_CAS_Latency FMC SDRAM CAS Latency
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FMC_SDRAM_CAS_LATENCY_1 ((uint32_t)0x00000080)
@@ -747,6 +780,7 @@ typedef struct
*/
/** @defgroup FMC_SDRAM_Write_Protection FMC SDRAM Write Protection
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FMC_SDRAM_WRITE_PROTECTION_DISABLE ((uint32_t)0x00000000)
@@ -756,6 +790,7 @@ typedef struct
*/
/** @defgroup FMC_SDRAM_Clock_Period FMC SDRAM Clock Period
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FMC_SDRAM_CLOCK_DISABLE ((uint32_t)0x00000000)
@@ -766,6 +801,7 @@ typedef struct
*/
/** @defgroup FMC_SDRAM_Read_Burst FMC SDRAM Read Burst
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FMC_SDRAM_RBURST_DISABLE ((uint32_t)0x00000000)
@@ -775,6 +811,7 @@ typedef struct
*/
/** @defgroup FMC_SDRAM_Read_Pipe_Delay FMC SDRAM Read Pipe Delay
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FMC_SDRAM_RPIPE_DELAY_0 ((uint32_t)0x00000000)
@@ -785,6 +822,7 @@ typedef struct
*/
/** @defgroup FMC_SDRAM_Command_Mode FMC SDRAM Command Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FMC_SDRAM_CMD_NORMAL_MODE ((uint32_t)0x00000000)
@@ -799,6 +837,7 @@ typedef struct
*/
/** @defgroup FMC_SDRAM_Command_Target FMC SDRAM Command Target
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FMC_SDRAM_CMD_TARGET_BANK2 FMC_SDCMR_CTB2
@@ -809,6 +848,7 @@ typedef struct
*/
/** @defgroup FMC_SDRAM_Mode_Status FMC SDRAM Mode Status
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FMC_SDRAM_NORMAL_MODE ((uint32_t)0x00000000)
@@ -824,6 +864,7 @@ typedef struct
/** @defgroup FMC_LL_Interrupt_definition FMC Low Layer Interrupt definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FMC_IT_RISING_EDGE ((uint32_t)0x00000008)
@@ -835,6 +876,7 @@ typedef struct
*/
/** @defgroup FMC_LL_Flag_definition FMC Low Layer Flag definition
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define FMC_FLAG_RISING_EDGE ((uint32_t)0x00000001)
@@ -858,6 +900,7 @@ typedef struct
/* Private macro -------------------------------------------------------------*/
/** @defgroup FMC_LL_Private_Macros FMC_LL Private Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/**
@@ -872,6 +915,7 @@ typedef struct
*/
#define __FMC_DISABLE() (FMC_Bank1_R->BTCR[0] &= ~FMC_BCR1_FMCEN)
/** @defgroup FMC_LL_NOR_Macros FMC NOR/SRAM Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief macros to handle NOR device enable/disable and read/write operations
* @{
*/
@@ -897,6 +941,7 @@ typedef struct
*/
/** @defgroup FMC_LL_NAND_Macros FMC NAND Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief macros to handle NAND device enable/disable
* @{
*/
@@ -921,6 +966,7 @@ typedef struct
*/
/** @defgroup FMC_LL_NAND_Interrupt FMC NAND Interrupt
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief macros to handle NAND interrupts
* @{
*/
@@ -982,6 +1028,7 @@ typedef struct
/** @defgroup FMC_LL_SDRAM_Interrupt FMC SDRAM Interrupt
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief macros to handle SDRAM interrupts
* @{
*/
@@ -1041,13 +1088,16 @@ typedef struct
/* Private functions ---------------------------------------------------------*/
/** @defgroup FMC_LL_Private_Functions FMC LL Private Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup FMC_LL_NORSRAM NOR SRAM
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup FMC_LL_NORSRAM_Private_Functions_Group1 NOR SRAM Initialization/de-initialization functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
HAL_StatusTypeDef FMC_NORSRAM_Init(FMC_NORSRAM_TypeDef *Device, FMC_NORSRAM_InitTypeDef *Init);
@@ -1059,6 +1109,7 @@ HAL_StatusTypeDef FMC_NORSRAM_DeInit(FMC_NORSRAM_TypeDef *Device, FMC_NORSRAM_E
*/
/** @defgroup FMC_LL_NORSRAM_Private_Functions_Group2 NOR SRAM Control functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
HAL_StatusTypeDef FMC_NORSRAM_WriteOperation_Enable(FMC_NORSRAM_TypeDef *Device, uint32_t Bank);
@@ -1071,9 +1122,11 @@ HAL_StatusTypeDef FMC_NORSRAM_WriteOperation_Disable(FMC_NORSRAM_TypeDef *Devic
*/
/** @defgroup FMC_LL_NAND NAND
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup FMC_LL_NAND_Private_Functions_Group1 NAND Initialization/de-initialization functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
HAL_StatusTypeDef FMC_NAND_Init(FMC_NAND_TypeDef *Device, FMC_NAND_InitTypeDef *Init);
@@ -1085,6 +1138,7 @@ HAL_StatusTypeDef FMC_NAND_DeInit(FMC_NAND_TypeDef *Device, uint32_t Bank);
*/
/** @defgroup FMC_LL_NAND_Private_Functions_Group2 NAND Control functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
HAL_StatusTypeDef FMC_NAND_ECC_Enable(FMC_NAND_TypeDef *Device, uint32_t Bank);
@@ -1099,9 +1153,11 @@ HAL_StatusTypeDef FMC_NAND_GetECC(FMC_NAND_TypeDef *Device, uint32_t *ECCval, u
/** @defgroup FMC_LL_SDRAM SDRAM
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup FMC_LL_SDRAM_Private_Functions_Group1 SDRAM Initialization/de-initialization functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
HAL_StatusTypeDef FMC_SDRAM_Init(FMC_SDRAM_TypeDef *Device, FMC_SDRAM_InitTypeDef *Init);
@@ -1112,6 +1168,7 @@ HAL_StatusTypeDef FMC_SDRAM_DeInit(FMC_SDRAM_TypeDef *Device, uint32_t Bank);
*/
/** @defgroup FMC_LL_SDRAM_Private_Functions_Group2 SDRAM Control functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
HAL_StatusTypeDef FMC_SDRAM_WriteProtection_Enable(FMC_SDRAM_TypeDef *Device, uint32_t Bank);
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_ll_gpio.h b/bsps/arm/stm32h7/include/stm32h7xx_ll_gpio.h
index bc7121af7e..82a9c5833a 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_ll_gpio.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_ll_gpio.h
@@ -35,6 +35,7 @@ extern "C" {
#if defined (GPIOA) || defined (GPIOB) || defined (GPIOC) || defined (GPIOD) || defined (GPIOE) || defined (GPIOF) || defined (GPIOG) || defined (GPIOH) || defined (GPIOI) || defined (GPIOJ) || defined (GPIOK)
/** @defgroup GPIO_LL GPIO
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -44,6 +45,7 @@ extern "C" {
/* Private macros ------------------------------------------------------------*/
#if defined(USE_FULL_LL_DRIVER) || defined(__rtems__)
/** @defgroup GPIO_LL_Private_Macros GPIO Private Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -55,6 +57,7 @@ extern "C" {
/* Exported types ------------------------------------------------------------*/
#if defined(USE_FULL_LL_DRIVER) || defined(__rtems__)
/** @defgroup GPIO_LL_ES_INIT GPIO Exported Init structures
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -99,10 +102,12 @@ typedef struct
/* Exported constants --------------------------------------------------------*/
/** @defgroup GPIO_LL_Exported_Constants GPIO Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup GPIO_LL_EC_PIN PIN
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_GPIO_PIN_0 GPIO_BSRR_BS0 /*!< Select pin 0 */
@@ -132,6 +137,7 @@ typedef struct
*/
/** @defgroup GPIO_LL_EC_MODE Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_GPIO_MODE_INPUT (0x00000000U) /*!< Select input mode */
@@ -143,6 +149,7 @@ typedef struct
*/
/** @defgroup GPIO_LL_EC_OUTPUT Output Type
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_GPIO_OUTPUT_PUSHPULL (0x00000000U) /*!< Select push-pull as output type */
@@ -152,6 +159,7 @@ typedef struct
*/
/** @defgroup GPIO_LL_EC_SPEED Output Speed
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_GPIO_SPEED_FREQ_LOW (0x00000000U) /*!< Select I/O low output speed */
@@ -168,6 +176,7 @@ typedef struct
/** @defgroup GPIO_LL_EC_PULL Pull Up Pull Down
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_GPIO_PULL_NO (0x00000000U) /*!< Select I/O no pull */
@@ -178,6 +187,7 @@ typedef struct
*/
/** @defgroup GPIO_LL_EC_AF Alternate Function
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_GPIO_AF_0 (0x0000000U) /*!< Select alternate function 0 */
@@ -206,10 +216,12 @@ typedef struct
/* Exported macro ------------------------------------------------------------*/
/** @defgroup GPIO_LL_Exported_Macros GPIO Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup GPIO_LL_EM_WRITE_READ Common Write and read registers Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -239,10 +251,12 @@ typedef struct
/* Exported functions --------------------------------------------------------*/
/** @defgroup GPIO_LL_Exported_Functions GPIO Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup GPIO_LL_EF_Port_Configuration Port Configuration
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -763,6 +777,7 @@ __STATIC_INLINE uint32_t LL_GPIO_IsAnyPinLocked(GPIO_TypeDef *GPIOx)
*/
/** @defgroup GPIO_LL_EF_Data_Access Data Access
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -951,6 +966,7 @@ __STATIC_INLINE void LL_GPIO_TogglePin(GPIO_TypeDef *GPIOx, uint32_t PinMask)
#if defined(USE_FULL_LL_DRIVER) || defined(__rtems__)
/** @defgroup GPIO_LL_EF_Init Initialization and de-initialization functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_ll_hrtim.h b/bsps/arm/stm32h7/include/stm32h7xx_ll_hrtim.h
index b63077568c..948bd70c5e 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_ll_hrtim.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_ll_hrtim.h
@@ -35,12 +35,14 @@ extern "C" {
#if defined (HRTIM1)
/** @defgroup HRTIM_LL HRTIM
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/* Private types -------------------------------------------------------------*/
/* Private variables ---------------------------------------------------------*/
/** @defgroup HRTIM_LL_Private_Variables HRTIM Private Variables
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
static const uint16_t REG_OFFSET_TAB_TIMER[] =
@@ -210,6 +212,7 @@ static const uint8_t REG_SHIFT_TAB_FLTxE[] =
/* Private constants ---------------------------------------------------------*/
/** @defgroup HRTIM_LL_Private_Constants HRTIM Private Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HRTIM_CR1_UDIS_MASK ((uint32_t)(HRTIM_CR1_MUDIS |\
@@ -283,10 +286,12 @@ static const uint8_t REG_SHIFT_TAB_FLTxE[] =
/* Exported types ------------------------------------------------------------*/
/* Exported constants --------------------------------------------------------*/
/** @defgroup HRTIM_LL_Exported_Constants HRTIM Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup HRTIM_LL_EC_GET_FLAG Get Flags Defines
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Flags defines which can be used with LL_HRTIM_ReadReg function
* @{
*/
@@ -325,6 +330,7 @@ static const uint8_t REG_SHIFT_TAB_FLTxE[] =
*/
/** @defgroup HRTIM_LL_EC_IT IT Defines
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief IT defines which can be used with LL_HRTIM_ReadReg and LL_HRTIM_WriteReg functions
* @{
*/
@@ -363,6 +369,7 @@ static const uint8_t REG_SHIFT_TAB_FLTxE[] =
*/
/** @defgroup HRTIM_LL_EC_SYNCIN_SRC SYNCHRONIZATION INPUT SOURCE
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining defining the synchronization input source.
*/
@@ -374,6 +381,7 @@ static const uint8_t REG_SHIFT_TAB_FLTxE[] =
*/
/** @defgroup HRTIM_LL_EC_SYNCOUT_SRC SYNCHRONIZATION OUTPUT SOURCE
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining the source and event to be sent on the synchronization output.
*/
@@ -386,6 +394,7 @@ static const uint8_t REG_SHIFT_TAB_FLTxE[] =
*/
/** @defgroup HRTIM_LL_EC_SYNCOUT_POLARITY SYNCHRONIZATION OUTPUT POLARITY
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining the routing and conditioning of the synchronization output event.
*/
@@ -397,6 +406,7 @@ static const uint8_t REG_SHIFT_TAB_FLTxE[] =
*/
/** @defgroup HRTIM_LL_EC_TIMER TIMER ID
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants identifying a timing unit.
*/
@@ -417,6 +427,7 @@ static const uint8_t REG_SHIFT_TAB_FLTxE[] =
*/
/** @defgroup HRTIM_LL_EC_OUTPUT OUTPUT ID
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants identifying an HRTIM output.
*/
@@ -435,6 +446,7 @@ static const uint8_t REG_SHIFT_TAB_FLTxE[] =
*/
/** @defgroup HRTIM_LL_EC_COMPAREUNIT COMPARE UNIT ID
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants identifying a compare unit.
*/
@@ -445,6 +457,7 @@ static const uint8_t REG_SHIFT_TAB_FLTxE[] =
*/
/** @defgroup HRTIM_LL_EC_CAPTUREUNIT CAPTURE UNIT ID
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants identifying a capture unit.
*/
@@ -455,6 +468,7 @@ static const uint8_t REG_SHIFT_TAB_FLTxE[] =
*/
/** @defgroup HRTIM_LL_EC_FAULT FAULT ID
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants identifying a fault channel.
*/
@@ -468,6 +482,7 @@ static const uint8_t REG_SHIFT_TAB_FLTxE[] =
*/
/** @defgroup HRTIM_LL_EC_EVENT EXTERNAL EVENT ID
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants identifying an external event channel.
*/
@@ -486,6 +501,7 @@ static const uint8_t REG_SHIFT_TAB_FLTxE[] =
*/
/** @defgroup HRTIM_LL_EC_OUTPUTSTATE OUTPUT STATE
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining the state of an HRTIM output.
*/
@@ -497,6 +513,7 @@ static const uint8_t REG_SHIFT_TAB_FLTxE[] =
*/
/** @defgroup HRTIM_LL_EC_ADCTRIG ADC TRIGGER
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants identifying an ADC trigger.
*/
@@ -509,6 +526,7 @@ static const uint8_t REG_SHIFT_TAB_FLTxE[] =
*/
/** @defgroup HRTIM_LL_EC_ADCTRIG_UPDATE ADC TRIGGER UPDATE
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief constants defining the source triggering the update of the HRTIM_ADCxR register (transfer from preload to active register).
*/
@@ -523,6 +541,7 @@ static const uint8_t REG_SHIFT_TAB_FLTxE[] =
*/
/** @defgroup HRTIM_LL_EC_ADCTRIG_SRC13 ADC TRIGGER 1/3 SOURCE
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief constants defining the events triggering ADC conversion for ADC Triggers 1 and 3.
*/
@@ -564,6 +583,7 @@ static const uint8_t REG_SHIFT_TAB_FLTxE[] =
*/
/** @defgroup HRTIM_LL_EC_ADCTRIG_SRC24 ADC TRIGGER 2/4 SOURCE
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief constants defining the events triggering ADC conversion for ADC Triggers 2 and 4.
*/
@@ -605,6 +625,7 @@ static const uint8_t REG_SHIFT_TAB_FLTxE[] =
*/
/** @defgroup HRTIM_LL_EC_PRESCALERRATIO PRESCALER RATIO
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining timer high-resolution clock prescaler ratio.
*/
@@ -616,6 +637,7 @@ static const uint8_t REG_SHIFT_TAB_FLTxE[] =
*/
/** @defgroup HRTIM_LL_EC_MODE COUNTER MODE
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining timer counter operating mode.
*/
@@ -627,6 +649,7 @@ static const uint8_t REG_SHIFT_TAB_FLTxE[] =
*/
/** @defgroup HRTIM_LL_EC_DACTRIG DAC TRIGGER
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining on which output the DAC synchronization event is sent.
*/
@@ -639,6 +662,7 @@ static const uint8_t REG_SHIFT_TAB_FLTxE[] =
*/
/** @defgroup HRTIM_LL_EC_UPDATETRIG UPDATE TRIGGER
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining whether the registers update is done synchronously with any other timer or master update.
*/
@@ -656,6 +680,7 @@ static const uint8_t REG_SHIFT_TAB_FLTxE[] =
*/
/** @defgroup HRTIM_LL_EC_UPDATEGATING UPDATE GATING
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining how the update occurs relatively to the burst DMA transaction and the external update request on update enable inputs 1 to 3.
*/
@@ -673,6 +698,7 @@ static const uint8_t REG_SHIFT_TAB_FLTxE[] =
*/
/** @defgroup HRTIM_LL_EC_COMPAREMODE COMPARE MODE
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining whether the compare register is behaving in regular mode (compare match issued as soon as counter equal compare) or in auto-delayed mode.
*/
@@ -685,6 +711,7 @@ static const uint8_t REG_SHIFT_TAB_FLTxE[] =
*/
/** @defgroup HRTIM_LL_EC_RESETTRIG RESET TRIGGER
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining the events that can be selected to trigger the reset of the timer counter.
*/
@@ -724,6 +751,7 @@ static const uint8_t REG_SHIFT_TAB_FLTxE[] =
*/
/** @defgroup HRTIM_LL_EC_CAPTURETRIG CAPTURE TRIGGER
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining the events that can be selected to trigger the capture of the timing unit counter.
*/
@@ -764,6 +792,7 @@ static const uint8_t REG_SHIFT_TAB_FLTxE[] =
*/
/** @defgroup HRTIM_LL_EC_DLYPRT DELAYED PROTECTION (DLYPRT) MODE
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining all possible delayed protection modes for a timer (also define the source and outputs on which the delayed protection schemes are applied).
*/
@@ -789,6 +818,7 @@ static const uint8_t REG_SHIFT_TAB_FLTxE[] =
*/
/** @defgroup HRTIM_LL_EC_BURSTMODE BURST MODE
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining how the timer behaves during a burst mode operation.
*/
@@ -799,6 +829,7 @@ static const uint8_t REG_SHIFT_TAB_FLTxE[] =
*/
/** @defgroup HRTIM_LL_EC_BURSTDMA BURST DMA
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining the registers that can be written during a burst DMA operation.
*/
@@ -839,6 +870,7 @@ static const uint8_t REG_SHIFT_TAB_FLTxE[] =
*/
/** @defgroup HRTIM_LL_EC_CPPSTAT CURRENT PUSH-PULL STATUS
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining on which output the signal is currently applied in push-pull mode.
*/
@@ -849,6 +881,7 @@ static const uint8_t REG_SHIFT_TAB_FLTxE[] =
*/
/** @defgroup HRTIM_LL_EC_IPPSTAT IDLE PUSH-PULL STATUS
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining on which output the signal was applied, in push-pull mode balanced fault mode or delayed idle mode, when the protection was triggered.
*/
@@ -859,6 +892,7 @@ static const uint8_t REG_SHIFT_TAB_FLTxE[] =
*/
/** @defgroup HRTIM_LL_EC_TIM_EEFLTR TIMER EXTERNAL EVENT FILTER
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining the event filtering applied to external events by a timer.
*/
@@ -883,6 +917,7 @@ static const uint8_t REG_SHIFT_TAB_FLTxE[] =
*/
/** @defgroup HRTIM_LL_EC_TIM_LATCHSTATUS TIMER EXTERNAL EVENT LATCH STATUS
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining whether or not the external event is memorized (latched) and generated as soon as the blanking period is completed or the window ends.
*/
@@ -893,6 +928,7 @@ static const uint8_t REG_SHIFT_TAB_FLTxE[] =
*/
/** @defgroup HRTIM_LL_EC_DT_PRESCALER DEADTIME PRESCALER
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining division ratio between the timer clock frequency (fHRTIM) and the deadtime generator clock (fDTG).
*/
@@ -909,6 +945,7 @@ static const uint8_t REG_SHIFT_TAB_FLTxE[] =
*/
/** @defgroup HRTIM_LL_EC_DT_RISING_SIGN DEADTIME RISING SIGN
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining whether the deadtime is positive or negative (overlapping signal) on rising edge.
*/
@@ -919,6 +956,7 @@ static const uint8_t REG_SHIFT_TAB_FLTxE[] =
*/
/** @defgroup HRTIM_LL_EC_DT_FALLING_SIGN DEADTIME FALLING SIGN
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining whether the deadtime is positive or negative (overlapping signal) on falling edge.
*/
@@ -929,6 +967,7 @@ static const uint8_t REG_SHIFT_TAB_FLTxE[] =
*/
/** @defgroup HRTIM_LL_EC_CHP_PRESCALER CHOPPER MODE PRESCALER
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining the frequency of the generated high frequency carrier (fCHPFRQ).
*/
@@ -953,6 +992,7 @@ static const uint8_t REG_SHIFT_TAB_FLTxE[] =
*/
/** @defgroup HRTIM_LL_EC_CHP_DUTYCYCLE CHOPPER MODE DUTY CYCLE
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining the duty cycle of the generated high frequency carrier. Duty cycle can be adjusted by 1/8 step (from 0/8 up to 7/8).
*/
@@ -969,6 +1009,7 @@ static const uint8_t REG_SHIFT_TAB_FLTxE[] =
*/
/** @defgroup HRTIM_LL_EC_CHP_PULSEWIDTH CHOPPER MODE PULSE WIDTH
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining the pulse width of the first pulse of the generated high frequency carrier.
*/
@@ -993,6 +1034,7 @@ static const uint8_t REG_SHIFT_TAB_FLTxE[] =
*/
/** @defgroup HRTIM_LL_EC_CROSSBAR_INPUT CROSSBAR INPUT
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining the events that can be selected to configure the set/reset crossbar of a timer output.
*/
@@ -1033,6 +1075,7 @@ static const uint8_t REG_SHIFT_TAB_FLTxE[] =
*/
/** @defgroup HRTIM_LL_EC_OUT_POLARITY OUPUT_POLARITY
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining the polarity of a timer output.
*/
@@ -1043,6 +1086,7 @@ static const uint8_t REG_SHIFT_TAB_FLTxE[] =
*/
/** @defgroup HRTIM_LL_EC_OUT_IDLEMODE OUTPUT IDLE MODE
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining whether or not the timer output transition to its IDLE state when burst mode is entered.
*/
@@ -1053,6 +1097,7 @@ static const uint8_t REG_SHIFT_TAB_FLTxE[] =
*/
/** @defgroup HRTIM_LL_EC_HALF_MODE HALF MODE
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining the half mode of an HRTIM Timer instance.
*/
@@ -1063,6 +1108,7 @@ static const uint8_t REG_SHIFT_TAB_FLTxE[] =
*/
/** @defgroup HRTIM_LL_EC_OUT_IDLELEVEL OUTPUT IDLE LEVEL
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining the output level when output is in IDLE state
*/
@@ -1073,6 +1119,7 @@ static const uint8_t REG_SHIFT_TAB_FLTxE[] =
*/
/** @defgroup HRTIM_LL_EC_OUT_FAULTSTATE OUTPUT FAULT STATE
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining the output level when output is in FAULT state.
*/
@@ -1085,6 +1132,7 @@ static const uint8_t REG_SHIFT_TAB_FLTxE[] =
*/
/** @defgroup HRTIM_LL_EC_OUT_CHOPPERMODE OUTPUT CHOPPER MODE
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining whether or not chopper mode is enabled for a timer output.
*/
@@ -1095,6 +1143,7 @@ static const uint8_t REG_SHIFT_TAB_FLTxE[] =
*/
/** @defgroup HRTIM_LL_EC_OUT_BM_ENTRYMODE OUTPUT BURST MODE ENTRY MODE
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining the idle state entry mode during a burst mode operation. It is possible to delay the burst mode entry and force the output to an inactive state
during a programmable period before the output takes its idle state.
@@ -1105,6 +1154,7 @@ during a programmable period before the output takes its idle state.
* @}
*/
/** @defgroup HRTIM_LL_EC_OUT_LEVEL OUTPUT LEVEL
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining the level of a timer output.
*/
@@ -1115,6 +1165,7 @@ during a programmable period before the output takes its idle state.
*/
/** @defgroup HRTIM_LL_EC_EE_SRC EXTERNAL EVENT SOURCE
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining available sources associated to external events.
*/
@@ -1126,6 +1177,7 @@ during a programmable period before the output takes its idle state.
* @}
*/
/** @defgroup HRTIM_LL_EC_EE_POLARITY EXTERNAL EVENT POLARITY
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining the polarity of an external event.
*/
@@ -1136,6 +1188,7 @@ during a programmable period before the output takes its idle state.
*/
/** @defgroup HRTIM_LL_EC_EE_SENSITIVITY EXTERNAL EVENT SENSITIVITY
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining the sensitivity (level-sensitive or edge-sensitive) of an external event.
*/
@@ -1148,6 +1201,7 @@ during a programmable period before the output takes its idle state.
*/
/** @defgroup HRTIM_LL_EC_EE_FASTMODE EXTERNAL EVENT FAST MODE
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining whether or not an external event is programmed in fast mode.
*/
@@ -1158,6 +1212,7 @@ during a programmable period before the output takes its idle state.
*/
/** @defgroup HRTIM_LL_EC_EE_FILTER EXTERNAL EVENT DIGITAL FILTER
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining the frequency used to sample an external event input (fSAMPLING) and the length (N) of the digital filter applied.
*/
@@ -1182,6 +1237,7 @@ during a programmable period before the output takes its idle state.
*/
/** @defgroup HRTIM_LL_EC_EE_PRESCALER EXTERNAL EVENT PRESCALER
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining division ratio between the timer clock frequency (fHRTIM) and the external event signal sampling clock (fEEVS) used by the digital filters.
*/
@@ -1194,6 +1250,7 @@ during a programmable period before the output takes its idle state.
*/
/** @defgroup HRTIM_LL_EC_FLT_SRC FAULT SOURCE
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining whether a faults is be triggered by any external or internal fault source.
*/
@@ -1204,6 +1261,7 @@ during a programmable period before the output takes its idle state.
*/
/** @defgroup HRTIM_LL_EC_FLT_POLARITY FAULT POLARITY
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining the polarity of a fault event.
*/
@@ -1214,6 +1272,7 @@ during a programmable period before the output takes its idle state.
*/
/** @defgroup HRTIM_LL_EC_FLT_FILTER FAULT DIGITAL FILTER
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining the frequency used to sample the fault input (fSAMPLING) and the length (N) of the digital filter applied.
*/
@@ -1238,6 +1297,7 @@ during a programmable period before the output takes its idle state.
*/
/** @defgroup HRTIM_LL_EC_FLT_PRESCALER BURST FAULT PRESCALER
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining the division ratio between the timer clock frequency (fHRTIM) and the fault signal sampling clock (fFLTS) used by the digital filters.
*/
@@ -1250,6 +1310,7 @@ during a programmable period before the output takes its idle state.
*/
/** @defgroup HRTIM_LL_EC_BM_MODE BURST MODE OPERATING MODE
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining if the burst mode is entered once or if it is continuously operating.
*/
@@ -1260,6 +1321,7 @@ during a programmable period before the output takes its idle state.
*/
/** @defgroup HRTIM_LL_EC_BM_CLKSRC BURST MODE CLOCK SOURCE
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining the clock source for the burst mode counter.
*/
@@ -1278,6 +1340,7 @@ during a programmable period before the output takes its idle state.
*/
/** @defgroup HRTIM_LL_EC_BM_PRESCALER BURST MODE PRESCALER
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining the prescaling ratio of the fHRTIM clock for the burst mode controller (fBRST).
*/
@@ -1302,6 +1365,7 @@ during a programmable period before the output takes its idle state.
*/
/** @defgroup HRTIM_LL_EC_BM_TRIG HRTIM BURST MODE TRIGGER
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining the events that can be used to trig the burst mode operation.
*/
@@ -1342,6 +1406,7 @@ during a programmable period before the output takes its idle state.
*/
/** @defgroup HRTIM_LL_EC_BM_STATUS HRTIM BURST MODE STATUS
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
* @brief Constants defining the operating state of the burst mode controller.
*/
@@ -1357,10 +1422,12 @@ during a programmable period before the output takes its idle state.
/* Exported macro ------------------------------------------------------------*/
/** @defgroup HRTIM_LL_Exported_Macros HRTIM Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup HRTIM_LL_EM_WRITE_READ Common Write and read registers Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -1385,6 +1452,7 @@ during a programmable period before the output takes its idle state.
*/
/** @defgroup HRTIM_LL_EM_Exported_Macros Exported_Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/**
@@ -1409,9 +1477,11 @@ during a programmable period before the output takes its idle state.
/* Exported functions --------------------------------------------------------*/
/** @defgroup HRTIM_LL_Exported_Functions HRTIM Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup HRTIM_LL_EF_HRTIM_Control HRTIM_Control
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -2476,6 +2546,7 @@ __STATIC_INLINE uint32_t LL_HRTIM_GetADCTrigSrc(HRTIM_TypeDef *HRTIMx, uint32_t
*/
/** @defgroup HRTIM_LL_EF_HRTIM_Timer_Control HRTIM_Timer_Control
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -4680,6 +4751,7 @@ __STATIC_INLINE uint32_t LL_HRTIM_TIM_GetEventLatchStatus(HRTIM_TypeDef *HRTIMx,
*/
/** @defgroup HRTIM_LL_EF_Dead_Time_Configuration Dead_Time_Configuration
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -5023,6 +5095,7 @@ __STATIC_INLINE void LL_HRTIM_DT_LockFallingSign(HRTIM_TypeDef *HRTIMx, uint32_t
*/
/** @defgroup HRTIM_LL_EF_Chopper_Mode_Configuration Chopper_Mode_Configuration
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -5270,6 +5343,7 @@ __STATIC_INLINE uint32_t LL_HRTIM_CHP_GetPulseWidth(HRTIM_TypeDef *HRTIMx, uint3
*/
/** @defgroup HRTIM_LL_EF_Output_Management Output_Management
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -6253,6 +6327,7 @@ __STATIC_INLINE uint32_t LL_HRTIM_OUT_GetLevel(HRTIM_TypeDef *HRTIMx, uint32_t O
*/
/** @defgroup HRTIM_LL_EF_External_Event_management External_Event_management
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -6740,6 +6815,7 @@ __STATIC_INLINE uint32_t LL_HRTIM_EE_GetPrescaler(HRTIM_TypeDef *HRTIMx)
*/
/** @defgroup HRTIM_LL_EF_Fault_management Fault_management
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/**
@@ -7100,6 +7176,7 @@ __STATIC_INLINE uint32_t LL_HRTIM_FLT_IsEnabled(HRTIM_TypeDef *HRTIMx, uint32_t
*/
/** @defgroup HRTIM_LL_EF_Burst_Mode_management Burst_Mode_management
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -7569,6 +7646,7 @@ __STATIC_INLINE uint32_t LL_HRTIM_BM_GetStatus(HRTIM_TypeDef *HRTIMx)
*/
/** @defgroup HRTIM_LL_EF_FLAG_Management FLAG_Management
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -8352,6 +8430,7 @@ __STATIC_INLINE uint32_t LL_HRTIM_IsActiveFlag_DLYPRT(HRTIM_TypeDef *HRTIMx, uin
*/
/** @defgroup HRTIM_LL_EF_IT_Management IT_Management
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -9514,6 +9593,7 @@ __STATIC_INLINE uint32_t LL_HRTIM_IsEnabledIT_DLYPRT(HRTIM_TypeDef *HRTIMx, uint
*/
/** @defgroup HRTIM_LL_EF_DMA_Management DMA_Management
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -10446,6 +10526,7 @@ __STATIC_INLINE uint32_t LL_HRTIM_IsEnabledDMAReq_DLYPRT(HRTIM_TypeDef *HRTIMx,
#if defined(USE_FULL_LL_DRIVER) || defined(__rtems__)
/** @defgroup HRTIM_LL_LL_EF_Init In-initialization and de-initialization functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
ErrorStatus LL_HRTIM_DeInit(HRTIM_TypeDef* HRTIMx);
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_ll_hsem.h b/bsps/arm/stm32h7/include/stm32h7xx_ll_hsem.h
index d0256f3287..3cb92f487f 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_ll_hsem.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_ll_hsem.h
@@ -35,6 +35,7 @@ extern "C" {
#if defined(HSEM)
/** @defgroup HSEM_LL HSEM
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -47,10 +48,12 @@ extern "C" {
/* Exported constants --------------------------------------------------------*/
/** @defgroup HSEM_LL_Exported_Constants HSEM Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup HSEM_LL_EC_COREID COREID Defines
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_HSEM_COREID_NONE 0U
@@ -64,6 +67,7 @@ extern "C" {
*/
/** @defgroup HSEM_LL_EC_GET_FLAG Get Flags Defines
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Flags defines which can be used with LL_HSEM_ReadReg function
* @{
*/
@@ -115,10 +119,12 @@ extern "C" {
/* Exported macro ------------------------------------------------------------*/
/** @defgroup HSEM_LL_Exported_Macros HSEM Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup HSEM_LL_EM_WRITE_READ Common Write and read registers Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -148,10 +154,12 @@ extern "C" {
/* Exported functions --------------------------------------------------------*/
/** @defgroup HSEM_LL_Exported_Functions HSEM Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup HSEM_LL_EF_Data_Management Data_Management
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -309,6 +317,7 @@ __STATIC_INLINE void LL_HSEM_ResetAllLock(HSEM_TypeDef *HSEMx, uint32_t key, uin
*/
/** @defgroup HSEM_LL_EF_IT_Management IT_Management
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -594,6 +603,7 @@ __STATIC_INLINE uint32_t LL_HSEM_IsEnabledIT_C2IER(HSEM_TypeDef *HSEMx, uint32_t
*/
/** @defgroup HSEM_LL_EF_FLAG_Management FLAG_Management
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_ll_i2c.h b/bsps/arm/stm32h7/include/stm32h7xx_ll_i2c.h
index 9fa0420ec8..fdfe1d8811 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_ll_i2c.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_ll_i2c.h
@@ -35,6 +35,7 @@ extern "C" {
#if defined (I2C1) || defined (I2C2) || defined (I2C3) || defined (I2C4)
/** @defgroup I2C_LL I2C
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -43,6 +44,7 @@ extern "C" {
/* Private constants ---------------------------------------------------------*/
/** @defgroup I2C_LL_Private_Constants I2C Private Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/**
@@ -52,6 +54,7 @@ extern "C" {
/* Private macros ------------------------------------------------------------*/
#if defined(USE_FULL_LL_DRIVER) || defined(__rtems__)
/** @defgroup I2C_LL_Private_Macros I2C Private Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/**
@@ -62,6 +65,7 @@ extern "C" {
/* Exported types ------------------------------------------------------------*/
#if defined(USE_FULL_LL_DRIVER) || defined(__rtems__)
/** @defgroup I2C_LL_ES_INIT I2C Exported Init structure
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
typedef struct
@@ -109,10 +113,12 @@ typedef struct
/* Exported constants --------------------------------------------------------*/
/** @defgroup I2C_LL_Exported_Constants I2C Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup I2C_LL_EC_CLEAR_FLAG Clear Flags Defines
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Flags defines which can be used with LL_I2C_WriteReg function
* @{
*/
@@ -130,6 +136,7 @@ typedef struct
*/
/** @defgroup I2C_LL_EC_GET_FLAG Get Flags Defines
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Flags defines which can be used with LL_I2C_ReadReg function
* @{
*/
@@ -153,6 +160,7 @@ typedef struct
*/
/** @defgroup I2C_LL_EC_IT IT Defines
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief IT defines which can be used with LL_I2C_ReadReg and LL_I2C_WriteReg functions
* @{
*/
@@ -168,6 +176,7 @@ typedef struct
*/
/** @defgroup I2C_LL_EC_PERIPHERAL_MODE Peripheral Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_I2C_MODE_I2C 0x00000000U /*!< I2C Master or Slave mode */
@@ -179,6 +188,7 @@ typedef struct
*/
/** @defgroup I2C_LL_EC_ANALOGFILTER_SELECTION Analog Filter Selection
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_I2C_ANALOGFILTER_ENABLE 0x00000000U /*!< Analog filter is enabled. */
@@ -188,6 +198,7 @@ typedef struct
*/
/** @defgroup I2C_LL_EC_ADDRESSING_MODE Master Addressing Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_I2C_ADDRESSING_MODE_7BIT 0x00000000U /*!< Master operates in 7-bit addressing mode. */
@@ -197,6 +208,7 @@ typedef struct
*/
/** @defgroup I2C_LL_EC_OWNADDRESS1 Own Address 1 Length
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_I2C_OWNADDRESS1_7BIT 0x00000000U /*!< Own address 1 is a 7-bit address. */
@@ -206,6 +218,7 @@ typedef struct
*/
/** @defgroup I2C_LL_EC_OWNADDRESS2 Own Address 2 Masks
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_I2C_OWNADDRESS2_NOMASK I2C_OAR2_OA2NOMASK /*!< Own Address2 No mask. */
@@ -221,6 +234,7 @@ typedef struct
*/
/** @defgroup I2C_LL_EC_I2C_ACKNOWLEDGE Acknowledge Generation
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_I2C_ACK 0x00000000U /*!< ACK is sent after current received byte. */
@@ -230,6 +244,7 @@ typedef struct
*/
/** @defgroup I2C_LL_EC_ADDRSLAVE Slave Address Length
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_I2C_ADDRSLAVE_7BIT 0x00000000U /*!< Slave Address in 7-bit. */
@@ -239,6 +254,7 @@ typedef struct
*/
/** @defgroup I2C_LL_EC_REQUEST Transfer Request Direction
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_I2C_REQUEST_WRITE 0x00000000U /*!< Master request a write transfer. */
@@ -248,6 +264,7 @@ typedef struct
*/
/** @defgroup I2C_LL_EC_MODE Transfer End Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_I2C_MODE_RELOAD I2C_CR2_RELOAD /*!< Enable I2C Reload mode. */
@@ -263,6 +280,7 @@ typedef struct
*/
/** @defgroup I2C_LL_EC_GENERATE Start And Stop Generation
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_I2C_GENERATE_NOSTARTSTOP 0x00000000U /*!< Don't Generate Stop and Start condition. */
@@ -278,6 +296,7 @@ typedef struct
*/
/** @defgroup I2C_LL_EC_DIRECTION Read Write Direction
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_I2C_DIRECTION_WRITE 0x00000000U /*!< Write transfer request by master, slave enters receiver mode. */
@@ -287,6 +306,7 @@ typedef struct
*/
/** @defgroup I2C_LL_EC_DMA_REG_DATA DMA Register Data
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_I2C_DMA_REG_DATA_TRANSMIT 0x00000000U /*!< Get address of data register used for transmission */
@@ -296,6 +316,7 @@ typedef struct
*/
/** @defgroup I2C_LL_EC_SMBUS_TIMEOUTA_MODE SMBus TimeoutA Mode SCL SDA Timeout
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_I2C_SMBUS_TIMEOUTA_MODE_SCL_LOW 0x00000000U /*!< TimeoutA is used to detect SCL low level timeout. */
@@ -305,6 +326,7 @@ typedef struct
*/
/** @defgroup I2C_LL_EC_SMBUS_TIMEOUT_SELECTION SMBus Timeout Selection
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_I2C_SMBUS_TIMEOUTA I2C_TIMEOUTR_TIMOUTEN /*!< TimeoutA enable bit */
@@ -320,10 +342,12 @@ typedef struct
/* Exported macro ------------------------------------------------------------*/
/** @defgroup I2C_LL_Exported_Macros I2C Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup I2C_LL_EM_WRITE_READ Common Write and read registers Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -348,6 +372,7 @@ typedef struct
*/
/** @defgroup I2C_LL_EM_CONVERT_TIMINGS Convert SDA SCL timings
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/**
@@ -375,10 +400,12 @@ typedef struct
/* Exported functions --------------------------------------------------------*/
/** @defgroup I2C_LL_Exported_Functions I2C Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup I2C_LL_EF_Configuration Configuration
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -1234,6 +1261,7 @@ __STATIC_INLINE uint32_t LL_I2C_IsEnabledSMBusTimeout(I2C_TypeDef *I2Cx, uint32_
*/
/** @defgroup I2C_LL_EF_IT_Management IT_Management
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -1497,6 +1525,7 @@ __STATIC_INLINE uint32_t LL_I2C_IsEnabledIT_ERR(I2C_TypeDef *I2Cx)
*/
/** @defgroup I2C_LL_EF_FLAG_management FLAG_management
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -1824,6 +1853,7 @@ __STATIC_INLINE void LL_I2C_ClearSMBusFlag_ALERT(I2C_TypeDef *I2Cx)
*/
/** @defgroup I2C_LL_EF_Data_Management Data_Management
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -2192,6 +2222,7 @@ __STATIC_INLINE void LL_I2C_TransmitData8(I2C_TypeDef *I2Cx, uint8_t Data)
#if defined(USE_FULL_LL_DRIVER) || defined(__rtems__)
/** @defgroup I2C_LL_EF_Init Initialization and de-initialization functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_ll_iwdg.h b/bsps/arm/stm32h7/include/stm32h7xx_ll_iwdg.h
index 8a8e2a138a..fe2e3438a9 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_ll_iwdg.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_ll_iwdg.h
@@ -35,6 +35,7 @@ extern "C" {
#if defined(IWDG1) || defined(IWDG2)
/** @defgroup IWDG_LL IWDG
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -43,6 +44,7 @@ extern "C" {
/* Private constants ---------------------------------------------------------*/
/** @defgroup IWDG_LL_Private_Constants IWDG Private Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_IWDG_KEY_RELOAD 0x0000AAAAU /*!< IWDG Reload Counter Enable */
@@ -58,10 +60,12 @@ extern "C" {
/* Exported types ------------------------------------------------------------*/
/* Exported constants --------------------------------------------------------*/
/** @defgroup IWDG_LL_Exported_Constants IWDG Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup IWDG_LL_EC_GET_FLAG Get Flags Defines
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Flags defines which can be used with LL_IWDG_ReadReg function
* @{
*/
@@ -73,6 +77,7 @@ extern "C" {
*/
/** @defgroup IWDG_LL_EC_PRESCALER Prescaler Divider
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_IWDG_PRESCALER_4 0x00000000U /*!< Divider by 4 */
@@ -92,10 +97,12 @@ extern "C" {
/* Exported macro ------------------------------------------------------------*/
/** @defgroup IWDG_LL_Exported_Macros IWDG Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup IWDG_LL_EM_WRITE_READ Common Write and read registers Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -126,9 +133,11 @@ extern "C" {
/* Exported functions --------------------------------------------------------*/
/** @defgroup IWDG_LL_Exported_Functions IWDG Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup IWDG_LL_EF_Configuration Configuration
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -265,6 +274,7 @@ __STATIC_INLINE uint32_t LL_IWDG_GetWindow(IWDG_TypeDef *IWDGx)
*/
/** @defgroup IWDG_LL_EF_FLAG_Management FLAG_Management
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_ll_lptim.h b/bsps/arm/stm32h7/include/stm32h7xx_ll_lptim.h
index fd04c48699..d90cb1b66b 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_ll_lptim.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_ll_lptim.h
@@ -35,6 +35,7 @@ extern "C" {
#if defined (LPTIM1) || defined (LPTIM2) || defined (LPTIM3) || defined (LPTIM4) || defined (LPTIM5)
/** @defgroup LPTIM_LL LPTIM
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -46,6 +47,7 @@ extern "C" {
/* Private macros ------------------------------------------------------------*/
#if defined(USE_FULL_LL_DRIVER) || defined(__rtems__)
/** @defgroup LPTIM_LL_Private_Macros LPTIM Private Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/**
@@ -56,6 +58,7 @@ extern "C" {
/* Exported types ------------------------------------------------------------*/
#if defined(USE_FULL_LL_DRIVER) || defined(__rtems__)
/** @defgroup LPTIM_LL_ES_INIT LPTIM Exported Init structure
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -92,10 +95,12 @@ typedef struct
/* Exported constants --------------------------------------------------------*/
/** @defgroup LPTIM_LL_Exported_Constants LPTIM Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup LPTIM_LL_EC_GET_FLAG Get Flags Defines
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Flags defines which can be used with LL_LPTIM_ReadReg function
* @{
*/
@@ -111,6 +116,7 @@ typedef struct
*/
/** @defgroup LPTIM_LL_EC_IT IT Defines
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief IT defines which can be used with LL_LPTIM_ReadReg and LL_LPTIM_WriteReg functions
* @{
*/
@@ -126,6 +132,7 @@ typedef struct
*/
/** @defgroup LPTIM_LL_EC_OPERATING_MODE Operating Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_LPTIM_OPERATING_MODE_CONTINUOUS LPTIM_CR_CNTSTRT /*!<LP Timer starts in continuous mode*/
@@ -135,6 +142,7 @@ typedef struct
*/
/** @defgroup LPTIM_LL_EC_UPDATE_MODE Update Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_LPTIM_UPDATE_MODE_IMMEDIATE 0x00000000U /*!<Preload is disabled: registers are updated after each APB bus write access*/
@@ -144,6 +152,7 @@ typedef struct
*/
/** @defgroup LPTIM_LL_EC_COUNTER_MODE Counter Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_LPTIM_COUNTER_MODE_INTERNAL 0x00000000U /*!<The counter is incremented following each internal clock pulse*/
@@ -153,6 +162,7 @@ typedef struct
*/
/** @defgroup LPTIM_LL_EC_OUTPUT_WAVEFORM Output Waveform Type
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_LPTIM_OUTPUT_WAVEFORM_PWM 0x00000000U /*!<LPTIM generates either a PWM waveform or a One pulse waveform depending on chosen operating mode CONTINOUS or SINGLE*/
@@ -162,6 +172,7 @@ typedef struct
*/
/** @defgroup LPTIM_LL_EC_OUTPUT_POLARITY Output Polarity
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_LPTIM_OUTPUT_POLARITY_REGULAR 0x00000000U /*!<The LPTIM output reflects the compare results between LPTIMx_ARR and LPTIMx_CMP registers*/
@@ -171,6 +182,7 @@ typedef struct
*/
/** @defgroup LPTIM_LL_EC_PRESCALER Prescaler Value
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_LPTIM_PRESCALER_DIV1 0x00000000U /*!<Prescaler division factor is set to 1*/
@@ -186,6 +198,7 @@ typedef struct
*/
/** @defgroup LPTIM_LL_EC_TRIG_SOURCE Trigger Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_LPTIM_TRIG_SOURCE_GPIO 0x00000000U /*!<External input trigger is connected to TIMx_ETR input*/
@@ -212,6 +225,7 @@ typedef struct
*/
/** @defgroup LPTIM_LL_EC_TRIG_FILTER Trigger Filter
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_LPTIM_TRIG_FILTER_NONE 0x00000000U /*!<Any trigger active level change is considered as a valid trigger*/
@@ -223,6 +237,7 @@ typedef struct
*/
/** @defgroup LPTIM_LL_EC_TRIG_POLARITY Trigger Polarity
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_LPTIM_TRIG_POLARITY_RISING LPTIM_CFGR_TRIGEN_0 /*!<LPTIM counter starts when a rising edge is detected*/
@@ -233,6 +248,7 @@ typedef struct
*/
/** @defgroup LPTIM_LL_EC_CLK_SOURCE Clock Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_LPTIM_CLK_SOURCE_INTERNAL 0x00000000U /*!<LPTIM is clocked by internal clock source (APB clock or any of the embedded oscillators)*/
@@ -242,6 +258,7 @@ typedef struct
*/
/** @defgroup LPTIM_LL_EC_CLK_FILTER Clock Filter
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_LPTIM_CLK_FILTER_NONE 0x00000000U /*!<Any external clock signal level change is considered as a valid transition*/
@@ -253,6 +270,7 @@ typedef struct
*/
/** @defgroup LPTIM_LL_EC_CLK_POLARITY Clock Polarity
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_LPTIM_CLK_POLARITY_RISING 0x00000000U /*!< The rising edge is the active edge used for counting*/
@@ -263,6 +281,7 @@ typedef struct
*/
/** @defgroup LPTIM_LL_EC_ENCODER_MODE Encoder Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_LPTIM_ENCODER_MODE_RISING 0x00000000U /*!< The rising edge is the active edge used for counting*/
@@ -273,6 +292,7 @@ typedef struct
*/
/** @defgroup LPTIM_EC_INPUT1_SRC Input1 Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_LPTIM_INPUT1_SRC_GPIO 0x00000000U /*!< For LPTIM1 and LPTIM2 */
@@ -286,6 +306,7 @@ typedef struct
*/
/** @defgroup LPTIM_EC_INPUT2_SRC Input2 Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_LPTIM_INPUT2_SRC_GPIO 0x00000000U /*!< For LPTIM1 */
@@ -300,10 +321,12 @@ typedef struct
/* Exported macro ------------------------------------------------------------*/
/** @defgroup LPTIM_LL_Exported_Macros LPTIM Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup LPTIM_LL_EM_WRITE_READ Common Write and read registers Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -333,11 +356,13 @@ typedef struct
/* Exported functions --------------------------------------------------------*/
/** @defgroup LPTIM_LL_Exported_Functions LPTIM Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined(USE_FULL_LL_DRIVER) || defined(__rtems__)
/** @defgroup LPTIM_LL_EF_Init Initialisation and deinitialisation functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -351,6 +376,7 @@ void LL_LPTIM_Disable(LPTIM_TypeDef *LPTIMx);
#endif /* USE_FULL_LL_DRIVER */
/** @defgroup LPTIM_LL_EF_LPTIM_Configuration LPTIM Configuration
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -730,6 +756,7 @@ __STATIC_INLINE void LL_LPTIM_SetInput2Src(LPTIM_TypeDef *LPTIMx, uint32_t Src)
*/
/** @defgroup LPTIM_LL_EF_Trigger_Configuration Trigger Configuration
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -902,6 +929,7 @@ __STATIC_INLINE uint32_t LL_LPTIM_GetTriggerPolarity(LPTIM_TypeDef *LPTIMx)
*/
/** @defgroup LPTIM_LL_EF_Clock_Configuration Clock Configuration
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -994,6 +1022,7 @@ __STATIC_INLINE uint32_t LL_LPTIM_GetClockFilter(LPTIM_TypeDef *LPTIMx)
*/
/** @defgroup LPTIM_LL_EF_Encoder_Mode Encoder Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -1071,6 +1100,7 @@ __STATIC_INLINE uint32_t LL_LPTIM_IsEnabledEncoderMode(LPTIM_TypeDef *LPTIMx)
*/
/** @defgroup LPTIM_LL_EF_FLAG_Management FLAG Management
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -1233,6 +1263,7 @@ __STATIC_INLINE uint32_t LL_LPTIM_IsActiveFlag_DOWN(LPTIM_TypeDef *LPTIMx)
*/
/** @defgroup LPTIM_LL_EF_IT_Management Interrupt Management
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_ll_lpuart.h b/bsps/arm/stm32h7/include/stm32h7xx_ll_lpuart.h
index 94896df308..6f3a2cfaca 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_ll_lpuart.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_ll_lpuart.h
@@ -35,12 +35,14 @@ extern "C" {
#if defined (LPUART1)
/** @defgroup LPUART_LL LPUART
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/* Private types -------------------------------------------------------------*/
/* Private variables ---------------------------------------------------------*/
/** @defgroup LPUART_LL_Private_Variables LPUART Private Variables
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/* Array used to get the LPUART prescaler division decimal values versus @ref LPUART_LL_EC_PRESCALER values */
@@ -65,6 +67,7 @@ static const uint16_t LPUART_PRESCALER_TAB[] =
/* Private constants ---------------------------------------------------------*/
/** @defgroup LPUART_LL_Private_Constants LPUART Private Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/* Defines used in Baud Rate related macros and corresponding register setting computation */
@@ -79,6 +82,7 @@ static const uint16_t LPUART_PRESCALER_TAB[] =
/* Private macros ------------------------------------------------------------*/
#if defined(USE_FULL_LL_DRIVER) || defined(__rtems__)
/** @defgroup LPUART_LL_Private_Macros LPUART Private Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/**
@@ -89,6 +93,7 @@ static const uint16_t LPUART_PRESCALER_TAB[] =
/* Exported types ------------------------------------------------------------*/
#if defined(USE_FULL_LL_DRIVER) || defined(__rtems__)
/** @defgroup LPUART_LL_ES_INIT LPUART Exported Init structures
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -140,10 +145,12 @@ typedef struct
/* Exported constants --------------------------------------------------------*/
/** @defgroup LPUART_LL_Exported_Constants LPUART Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup LPUART_LL_EC_CLEAR_FLAG Clear Flags Defines
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Flags defines which can be used with LL_LPUART_WriteReg function
* @{
*/
@@ -162,6 +169,7 @@ typedef struct
*/
/** @defgroup LPUART_LL_EC_GET_FLAG Get Flags Defines
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Flags defines which can be used with LL_LPUART_ReadReg function
* @{
*/
@@ -191,6 +199,7 @@ typedef struct
*/
/** @defgroup LPUART_LL_EC_IT IT Defines
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief IT defines which can be used with LL_LPUART_ReadReg and LL_LPUART_WriteReg functions
* @{
*/
@@ -212,6 +221,7 @@ typedef struct
*/
/** @defgroup LPUART_LL_EC_FIFOTHRESHOLD FIFO Threshold
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_LPUART_FIFOTHRESHOLD_1_8 0x00000000U /*!< FIFO reaches 1/8 of its depth */
@@ -225,6 +235,7 @@ typedef struct
*/
/** @defgroup LPUART_LL_EC_DIRECTION Direction
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_LPUART_DIRECTION_NONE 0x00000000U /*!< Transmitter and Receiver are disabled */
@@ -236,6 +247,7 @@ typedef struct
*/
/** @defgroup LPUART_LL_EC_PARITY Parity Control
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_LPUART_PARITY_NONE 0x00000000U /*!< Parity control disabled */
@@ -246,6 +258,7 @@ typedef struct
*/
/** @defgroup LPUART_LL_EC_WAKEUP Wakeup
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_LPUART_WAKEUP_IDLELINE 0x00000000U /*!< LPUART wake up from Mute mode on Idle Line */
@@ -255,6 +268,7 @@ typedef struct
*/
/** @defgroup LPUART_LL_EC_DATAWIDTH Datawidth
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_LPUART_DATAWIDTH_7B USART_CR1_M1 /*!< 7 bits word length : Start bit, 7 data bits, n stop bits */
@@ -265,6 +279,7 @@ typedef struct
*/
/** @defgroup LPUART_LL_EC_PRESCALER Clock Source Prescaler
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_LPUART_PRESCALER_DIV1 0x00000000U /*!< Input clock not devided */
@@ -284,6 +299,7 @@ typedef struct
*/
/** @defgroup LPUART_LL_EC_STOPBITS Stop Bits
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_LPUART_STOPBITS_1 0x00000000U /*!< 1 stop bit */
@@ -293,6 +309,7 @@ typedef struct
*/
/** @defgroup LPUART_LL_EC_TXRX TX RX Pins Swap
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_LPUART_TXRX_STANDARD 0x00000000U /*!< TX/RX pins are used as defined in standard pinout */
@@ -302,6 +319,7 @@ typedef struct
*/
/** @defgroup LPUART_LL_EC_RXPIN_LEVEL RX Pin Active Level Inversion
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_LPUART_RXPIN_LEVEL_STANDARD 0x00000000U /*!< RX pin signal works using the standard logic levels */
@@ -311,6 +329,7 @@ typedef struct
*/
/** @defgroup LPUART_LL_EC_TXPIN_LEVEL TX Pin Active Level Inversion
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_LPUART_TXPIN_LEVEL_STANDARD 0x00000000U /*!< TX pin signal works using the standard logic levels */
@@ -320,6 +339,7 @@ typedef struct
*/
/** @defgroup LPUART_LL_EC_BINARY_LOGIC Binary Data Inversion
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_LPUART_BINARY_LOGIC_POSITIVE 0x00000000U /*!< Logical data from the data register are send/received in positive/direct logic. (1=H, 0=L) */
@@ -329,6 +349,7 @@ typedef struct
*/
/** @defgroup LPUART_LL_EC_BITORDER Bit Order
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_LPUART_BITORDER_LSBFIRST 0x00000000U /*!< data is transmitted/received with data bit 0 first, following the start bit */
@@ -338,6 +359,7 @@ typedef struct
*/
/** @defgroup LPUART_LL_EC_ADDRESS_DETECT Address Length Detection
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_LPUART_ADDRESS_DETECT_4B 0x00000000U /*!< 4-bit address detection method selected */
@@ -347,6 +369,7 @@ typedef struct
*/
/** @defgroup LPUART_LL_EC_HWCONTROL Hardware Control
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_LPUART_HWCONTROL_NONE 0x00000000U /*!< CTS and RTS hardware flow control disabled */
@@ -358,6 +381,7 @@ typedef struct
*/
/** @defgroup LPUART_LL_EC_WAKEUP_ON Wakeup Activation
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_LPUART_WAKEUP_ON_ADDRESS 0x00000000U /*!< Wake up active on address match */
@@ -368,6 +392,7 @@ typedef struct
*/
/** @defgroup LPUART_LL_EC_DE_POLARITY Driver Enable Polarity
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_LPUART_DE_POLARITY_HIGH 0x00000000U /*!< DE signal is active high */
@@ -377,6 +402,7 @@ typedef struct
*/
/** @defgroup LPUART_LL_EC_DMA_REG_DATA DMA Register Data
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_LPUART_DMA_REG_DATA_TRANSMIT 0x00000000U /*!< Get address of data register used for transmission */
@@ -391,10 +417,12 @@ typedef struct
/* Exported macro ------------------------------------------------------------*/
/** @defgroup LPUART_LL_Exported_Macros LPUART Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup LPUART_LL_EM_WRITE_READ Common Write and read registers Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -419,6 +447,7 @@ typedef struct
*/
/** @defgroup LPUART_LL_EM_Exported_Macros_Helper Helper Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -455,10 +484,12 @@ typedef struct
/* Exported functions --------------------------------------------------------*/
/** @defgroup LPUART_LL_Exported_Functions LPUART Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup LPUART_LL_EF_Configuration Configuration functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -1395,6 +1426,7 @@ __STATIC_INLINE uint32_t LL_LPUART_GetBaudRate(USART_TypeDef *LPUARTx, uint32_t
*/
/** @defgroup LPUART_LL_EF_Configuration_HalfDuplex Configuration functions related to Half Duplex feature
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -1436,6 +1468,7 @@ __STATIC_INLINE uint32_t LL_LPUART_IsEnabledHalfDuplex(USART_TypeDef *LPUARTx)
*/
/** @defgroup LPUART_LL_EF_Configuration_DE Configuration functions related to Driver Enable feature
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -1550,6 +1583,7 @@ __STATIC_INLINE uint32_t LL_LPUART_GetDESignalPolarity(USART_TypeDef *LPUARTx)
*/
/** @defgroup LPUART_LL_EF_FLAG_Management FLAG_Management
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -1905,6 +1939,7 @@ __STATIC_INLINE void LL_LPUART_ClearFlag_WKUP(USART_TypeDef *LPUARTx)
*/
/** @defgroup LPUART_LL_EF_IT_Management IT_Management
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -2368,6 +2403,7 @@ __STATIC_INLINE uint32_t LL_LPUART_IsEnabledIT_RXFT(USART_TypeDef *LPUARTx)
*/
/** @defgroup LPUART_LL_EF_DMA_Management DMA_Management
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -2503,6 +2539,7 @@ __STATIC_INLINE uint32_t LL_LPUART_DMA_GetRegAddr(USART_TypeDef *LPUARTx, uint32
*/
/** @defgroup LPUART_LL_EF_Data_Management Data_Management
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -2557,6 +2594,7 @@ __STATIC_INLINE void LL_LPUART_TransmitData9(USART_TypeDef *LPUARTx, uint16_t Va
*/
/** @defgroup LPUART_LL_EF_Execution Execution
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -2601,6 +2639,7 @@ __STATIC_INLINE void LL_LPUART_RequestRxDataFlush(USART_TypeDef *LPUARTx)
#if defined(USE_FULL_LL_DRIVER) || defined(__rtems__)
/** @defgroup LPUART_LL_EF_Init Initialization and de-initialization functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
ErrorStatus LL_LPUART_DeInit(USART_TypeDef *LPUARTx);
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_ll_mdma.h b/bsps/arm/stm32h7/include/stm32h7xx_ll_mdma.h
index a7d157ee25..2bd53a0c13 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_ll_mdma.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_ll_mdma.h
@@ -35,12 +35,14 @@ extern "C" {
#if defined (MDMA)
/** @defgroup MDMA_LL MDMA
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/* Private types -------------------------------------------------------------*/
/* Private variables ---------------------------------------------------------*/
/** @defgroup MDMA_LL_Private_Variables MDMA Private Variables
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/* Array used to get the MDMA channel register offset versus channel index LL_MDMA_CHANNEL_x */
@@ -70,6 +72,7 @@ static const uint32_t LL_MDMA_CH_OFFSET_TAB[] =
/* Private constants ---------------------------------------------------------*/
/** @defgroup MDMA_LL_Private_Constants MDMA Private Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/**
@@ -81,6 +84,7 @@ static const uint32_t LL_MDMA_CH_OFFSET_TAB[] =
/* Exported types ------------------------------------------------------------*/
#if defined(USE_FULL_LL_DRIVER) || defined(__rtems__)
/** @defgroup MDMA_LL_ES_INIT MDMA Exported Init structure
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
typedef struct
@@ -249,10 +253,12 @@ typedef struct
#endif /*USE_FULL_LL_DRIVER*/
/* Exported constants --------------------------------------------------------*/
/** @defgroup MDMA_LL_Exported_Constants MDMA Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup MDMA_LL_EC_CHANNEL CHANNEL
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_MDMA_CHANNEL_0 0x00000000U
@@ -277,6 +283,7 @@ typedef struct
*/
/** @defgroup MDMA_LL_EC_WORD_ENDIANNESS Word Endianness
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_MDMA_WORD_ENDIANNESS_PRESERVE 0x00000000U /*!< Little endianess preserved for words */
@@ -287,6 +294,7 @@ typedef struct
*/
/** @defgroup MDMA_LL_EC_HALFWORD_ENDIANNESS Half Word Endianness
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_MDMA_HALFWORD_ENDIANNESS_PRESERVE 0x00000000U /*!< Little endianess preserved for half words */
@@ -297,6 +305,7 @@ typedef struct
*/
/** @defgroup MDMA_LL_EC_BYTE_ENDIANNESS Byte Endianness
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_MDMA_BYTE_ENDIANNESS_PRESERVE 0x00000000U /*!< Little endianess preserved for bytes */
@@ -307,6 +316,7 @@ typedef struct
*/
/** @defgroup MDMA_LL_EC_PRIORITY Transfer Priority level
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_MDMA_PRIORITY_LOW 0x00000000U /*!< Priority level : Low */
@@ -318,6 +328,7 @@ typedef struct
*/
/** @defgroup MDMA_LL_EC_BUFF_WRITE_MODE Bufferable Write Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_MDMA_BUFF_WRITE_DISABLE 0x00000000U /*!< destination write operation is non-bufferable */
@@ -327,6 +338,7 @@ typedef struct
*/
/** @defgroup MDMA_LL_EC_REQUEST_MODE Request Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_MDMA_REQUEST_MODE_HW 0x00000000U /*!< Request mode is Hardware */
@@ -336,6 +348,7 @@ typedef struct
*/
/** @defgroup MDMA_LL_EC_TRIGGER_MODE Trigger Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_MDMA_BUFFER_TRANSFER 0x00000000U /*!< Each MDMA request (SW or HW) triggers a buffer transfer */
@@ -347,6 +360,7 @@ typedef struct
*/
/** @defgroup MDMA_LL_EC_PADDING_ALIGNMENT_MODE Padding Alignment Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_MDMA_DATAALIGN_RIGHT 0x00000000U /*!< Right Aligned, padded w/ 0s (default) */
@@ -358,6 +372,7 @@ typedef struct
*/
/** @defgroup MDMA_LL_EC_PACKING_MODE Transfer Packing
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_MDMA_PACK_DISABLE 0x00000000U /*!< Packing disabled */
@@ -367,6 +382,7 @@ typedef struct
*/
/** @defgroup MDMA_LL_EC_DEST_BURST Transfer Destination Burst
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_MDMA_DEST_BURST_SINGLE 0x00000000U /*!< Single transfer */
@@ -382,6 +398,7 @@ typedef struct
*/
/** @defgroup MDMA_LL_EC_SRC_BURST Transfer Source Burst
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_MDMA_SRC_BURST_SINGLE 0x00000000U /*!< Single transfer */
@@ -397,6 +414,7 @@ typedef struct
*/
/** @defgroup MDMA_LL_EC_DEST_INC_OFFSET_SIZE Destination Increment Offset Size
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_MDMA_DEST_INC_OFFSET_BYTE 0x00000000U /*!< offset is Byte (8-bit) */
@@ -408,6 +426,7 @@ typedef struct
*/
/** @defgroup MDMA_LL_EC_SRC_INC_OFFSET_SIZE Source Increment Offset Size
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_MDMA_SRC_INC_OFFSET_BYTE 0x00000000U /*!< offset is Byte (8-bit) */
@@ -419,6 +438,7 @@ typedef struct
*/
/** @defgroup MDMA_LL_EC_DEST_DATA_SIZE Destination Data Size
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_MDMA_DEST_DATA_SIZE_BYTE 0x00000000U /*!< Destination data size is Byte */
@@ -430,6 +450,7 @@ typedef struct
*/
/** @defgroup MDMA_LL_EC_SRC_DATA_SIZE Source Data Size
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_MDMA_SRC_DATA_SIZE_BYTE 0x00000000U /*!< Source data size is Byte */
@@ -441,6 +462,7 @@ typedef struct
*/
/** @defgroup MDMA_LL_EC_DEST_INC_MODE Destination Increment Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_MDMA_DEST_FIXED 0x00000000U /*!< Destination address pointer is fixed */
@@ -451,6 +473,7 @@ typedef struct
*/
/** @defgroup MDMA_LL_EC_SRC_INC_MODE Source Increment Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_MDMA_SRC_FIXED 0x00000000U /*!< Destination address pointer is fixed */
@@ -461,6 +484,7 @@ typedef struct
*/
/** @defgroup MDMA_LL_EC_BLK_RPT_DEST_ADDR_UPDATE_MODE Block Repeat Destination address Update Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_MDMA_BLK_RPT_DEST_ADDR_INCREMENT 0x00000000U /*!< Destination address pointer is incremented after each block transfer by Destination Update Value */
@@ -470,6 +494,7 @@ typedef struct
*/
/** @defgroup MDMA_LL_EC_SRC_BLK_RPT_ADDR_UPDATE_MODE Source Block Repeat address Update Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_MDMA_BLK_RPT_SRC_ADDR_INCREMENT 0x00000000U /*!< Source address pointer is incremented after each block transfer by Source Update Value */
@@ -479,6 +504,7 @@ typedef struct
*/
/** @defgroup MDMA_LL_EC_DEST_BUS Destination BUS Selection
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_MDMA_DEST_BUS_SYSTEM_AXI 0x00000000U /*!< System/AXI bus is used as destination */
@@ -488,6 +514,7 @@ typedef struct
*/
/** @defgroup MDMA_LL_EC_SRC_BUS Source BUS Selection
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_MDMA_SRC_BUS_SYSTEM_AXI 0x00000000U /*!< System/AXI bus is used as source */
@@ -497,6 +524,7 @@ typedef struct
*/
/** @defgroup MDMA_LL_EC_HW_TRIGGER_SELCTION HW Trigger Selection
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_MDMA_REQ_DMA1_STREAM0_TC 0x00000000U /*!< MDMA HW Trigger (request) is DMA1 Stream 0 Transfer Complete Flag */
@@ -552,6 +580,7 @@ typedef struct
*/
/** @defgroup MDMA_LL_EC_XFER_ERROR_DIRECTION Transfer Error Direction
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_MDMA_READ_ERROR 0x00000000U /*!< Last transfer error on the channel was a related to a read access */
@@ -566,10 +595,12 @@ typedef struct
/* Exported macro ------------------------------------------------------------*/
/** @defgroup MDMA_LL_Exported_Macros MDMA Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup MDMA_LL_EM_WRITE_READ Common Write and read registers macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/**
@@ -593,6 +624,7 @@ typedef struct
*/
/** @defgroup MDMA_LL_EM_CONVERT_DMAxCHANNELy Convert MDMAxChannely
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/**
@@ -660,10 +692,12 @@ typedef struct
/* Exported functions --------------------------------------------------------*/
/** @defgroup MDMA_LL_Exported_Functions MDMA Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup MDMA_LL_EF_Configuration Configuration
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/**
@@ -3377,6 +3411,7 @@ __STATIC_INLINE uint32_t LL_MDMA_GetXferErrorLSBAddress(MDMA_TypeDef *MDMAx, uin
*/
/** @defgroup MDMA_LL_EF_FLAG_Management FLAG_Management
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -3863,6 +3898,7 @@ __STATIC_INLINE void LL_MDMA_ClearFlag_TC(MDMA_TypeDef *MDMAx, uint32_t Channel)
*/
/** @defgroup MDMA_LL_EF_IT_Management IT_Management
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -4322,6 +4358,7 @@ __STATIC_INLINE uint32_t LL_MDMA_IsEnabledIT_TC(MDMA_TypeDef *MDMAx, uint32_t Ch
#if defined(USE_FULL_LL_DRIVER) || defined(__rtems__)
/** @defgroup MDMA_LL_EF_Init Initialization and de-initialization functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_ll_opamp.h b/bsps/arm/stm32h7/include/stm32h7xx_ll_opamp.h
index c8ccd2bbe1..89c76c8d42 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_ll_opamp.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_ll_opamp.h
@@ -35,6 +35,7 @@ extern "C" {
#if defined (OPAMP1) || defined (OPAMP2)
/** @defgroup OPAMP_LL OPAMP
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -43,6 +44,7 @@ extern "C" {
/* Private constants ---------------------------------------------------------*/
/** @defgroup OPAMP_LL_Private_Constants OPAMP Private Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -74,6 +76,7 @@ extern "C" {
/* Private macros ------------------------------------------------------------*/
/** @defgroup OPAMP_LL_Private_Macros OPAMP Private Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -98,6 +101,7 @@ extern "C" {
/* Exported types ------------------------------------------------------------*/
#if defined(USE_FULL_LL_DRIVER) || defined(__rtems__)
/** @defgroup OPAMP_LL_ES_INIT OPAMP Exported Init structure
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -138,10 +142,12 @@ typedef struct
/* Exported constants --------------------------------------------------------*/
/** @defgroup OPAMP_LL_Exported_Constants OPAMP Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup OPAMP_LL_EC_MODE OPAMP mode calibration or functional.
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_OPAMP_MODE_FUNCTIONAL 0x00000000U /*!< OPAMP functional mode */
@@ -151,6 +157,7 @@ typedef struct
*/
/** @defgroup OPAMP_LL_EC_FUNCTIONAL_MODE OPAMP functional mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_OPAMP_MODE_STANDALONE 0x00000000U /*!< OPAMP functional mode, OPAMP operation in standalone */
@@ -170,6 +177,7 @@ typedef struct
*/
/** @defgroup OPAMP_LL_EC_MODE_PGA_GAIN OPAMP PGA gain (relevant when OPAMP is in functional mode PGA)
+ * @ingroup RTEMSBSPsARMSTM32H7
* @note Gain sign:
* - is positive if the @ref OPAMP_LL_EC_FUNCTIONAL_MODE configuration is
* @ref LL_OPAMP_MODE_PGA or LL_OPAMP_MODE_PGA_IO0
@@ -187,6 +195,7 @@ typedef struct
*/
/** @defgroup OPAMP_LL_EC_INPUT_NONINVERTING OPAMP input non-inverting
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_OPAMP_INPUT_NONINVERT_IO0 0x00000000U /*!< OPAMP non inverting input connected to I/O VINP0
@@ -205,6 +214,7 @@ typedef struct
*/
/** @defgroup OPAMP_LL_EC_INPUT_INVERTING OPAMP input inverting
+ * @ingroup RTEMSBSPsARMSTM32H7
* @note OPAMP inverting input is used with OPAMP in mode standalone or PGA with negative gain or bias.
* Otherwise (OPAMP in mode follower), OPAMP inverting input is not used (not connected to GPIO pin).
* @{
@@ -224,6 +234,7 @@ typedef struct
/** @defgroup OPAMP_LL_EC_POWER_MODE OPAMP PowerMode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_OPAMP_POWERMODE_NORMAL (OPAMP_POWERMODE_OTR_REGOFFSET) /*!< OPAMP output in normal mode */
@@ -233,6 +244,7 @@ typedef struct
*/
/** @defgroup OPAMP_LL_EC_TRIMMING_MODE OPAMP trimming mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_OPAMP_TRIMMING_FACTORY 0x00000000U /*!< OPAMP trimming factors set to factory values */
@@ -242,6 +254,7 @@ typedef struct
*/
/** @defgroup OPAMP_LL_EC_TRIMMING_TRANSISTORS_DIFF_PAIR OPAMP trimming of transistors differential pair NMOS or PMOS
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_OPAMP_TRIMMING_NMOS_VREF_90PC_VDDA (OPAMP_OTR_TRIMOFFSETN | ((OPAMP_CSR_CALSEL_1 | OPAMP_CSR_CALSEL_0) << 4)) /*!< OPAMP trimming of transistors differential pair NMOS (internal reference voltage set to 0.9*Vdda). Default parameters to be used for calibration using two trimming steps (one with each transistors differential pair NMOS and PMOS). */
@@ -255,6 +268,7 @@ typedef struct
*/
/** @defgroup OPAMP_LL_EC_HW_DELAYS Definitions of OPAMP hardware constraints delays
+ * @ingroup RTEMSBSPsARMSTM32H7
* @note Only OPAMP IP HW delays are defined in OPAMP LL driver driver,
* not timeout values.
* For details on delays values, refer to descriptions in source code
@@ -282,9 +296,11 @@ typedef struct
/* Exported macro ------------------------------------------------------------*/
/** @defgroup OPAMP_LL_Exported_Macros OPAMP Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup OPAMP_LL_EM_WRITE_READ Common write and read registers macro
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/**
@@ -307,6 +323,7 @@ typedef struct
* @}
*/
/** @defgroup OPAMP_LL_EM_HELPER_MACRO OPAMP helper macro
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -352,10 +369,12 @@ typedef struct
/* Exported functions --------------------------------------------------------*/
/** @defgroup OPAMP_LL_Exported_Functions OPAMP Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup OPAMP_LL_EF_CONFIGURATION_OPAMP_INSTANCE Configuration of OPAMP hierarchical scope: OPAMP instance
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -510,6 +529,7 @@ __STATIC_INLINE uint32_t LL_OPAMP_GetPowerMode(OPAMP_TypeDef *OPAMPx)
*/
/** @defgroup OPAMP_LL_EF_CONFIGURATION_INPUTS Configuration of OPAMP inputs
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -587,6 +607,7 @@ __STATIC_INLINE uint32_t LL_OPAMP_GetInputInverting(OPAMP_TypeDef *OPAMPx)
*/
/** @defgroup OPAMP_LL_EF_OPAMP_TRIMMING Configuration and operation of OPAMP trimming
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -746,6 +767,7 @@ __STATIC_INLINE uint32_t LL_OPAMP_GetTrimmingValue(OPAMP_TypeDef* OPAMPx, uint32
*/
/** @defgroup OPAMP_LL_EF_OPERATION Operation on OPAMP instance
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/**
@@ -790,6 +812,7 @@ __STATIC_INLINE uint32_t LL_OPAMP_IsEnabled(OPAMP_TypeDef *OPAMPx)
#if defined(USE_FULL_LL_DRIVER) || defined(__rtems__)
/** @defgroup OPAMP_LL_EF_Init Initialization and de-initialization functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_ll_pwr.h b/bsps/arm/stm32h7/include/stm32h7xx_ll_pwr.h
index 1916958450..8d78afa492 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_ll_pwr.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_ll_pwr.h
@@ -35,6 +35,7 @@ extern "C" {
#if defined (PWR)
/** @defgroup PWR_LL PWR
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -42,10 +43,12 @@ extern "C" {
/* Private variables ---------------------------------------------------------*/
/* Private constants ---------------------------------------------------------*/
/** @defgroup PWR_LL_Private_Constants PWR Private Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup PWR_LL_WAKEUP_PIN_OFFSET Wake-Up Pins register offsets Defines
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Flags defines which can be used with LL_PWR_WriteReg function
* @{
*/
@@ -62,10 +65,12 @@ extern "C" {
/* Exported types ------------------------------------------------------------*/
/* Exported constants --------------------------------------------------------*/
/** @defgroup PWR_LL_Exported_Constants PWR Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup PWR_LL_EC_CLEAR_FLAG Clear Flags Defines
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Flags defines which can be used with LL_PWR_WriteReg function
* @{
*/
@@ -84,6 +89,7 @@ extern "C" {
*/
/** @defgroup PWR_LL_EC_GET_FLAG Get Flags Defines
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Flags defines which can be used with LL_PWR_ReadReg function
* @{
*/
@@ -141,6 +147,7 @@ extern "C" {
*/
/** @defgroup PWR_LL_EC_MODE_PWR Power mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined (PWR_CPUCR_PDDS_D2)
@@ -180,6 +187,7 @@ extern "C" {
*/
/** @defgroup PWR_LL_EC_REGU_VOLTAGE Run mode Regulator Voltage Scaling
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined (PWR_CPUCR_PDDS_D2)
@@ -198,6 +206,7 @@ extern "C" {
*/
/** @defgroup PWR_LL_EC_STOP_MODE_REGU_VOLTAGE Stop mode Regulator Voltage Scaling
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_PWR_REGU_VOLTAGE_SVOS_SCALE5 PWR_CR1_SVOS_0 /*!< Select voltage scale 5 when system enters STOP mode */
@@ -208,6 +217,7 @@ extern "C" {
*/
/** @defgroup PWR_LL_EC_REGU_MODE_DS_MODE Regulator Mode In Deep Sleep Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_PWR_REGU_DSMODE_MAIN 0x00000000U /*!< Voltage Regulator in main mode during deepsleep mode */
@@ -217,6 +227,7 @@ extern "C" {
*/
/** @defgroup PWR_LL_EC_PVDLEVEL Power Digital Voltage Level Detector
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_PWR_PVDLEVEL_0 PWR_CR1_PLS_LEV0 /*!< Voltage threshold detected by PVD 1.95 V */
@@ -232,6 +243,7 @@ extern "C" {
*/
/** @defgroup PWR_LL_EC_AVDLEVEL Power Analog Voltage Level Detector
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_PWR_AVDLEVEL_0 PWR_CR1_ALS_LEV0 /*!< Analog Voltage threshold detected by AVD 1.7 V */
@@ -244,6 +256,7 @@ extern "C" {
*/
/** @defgroup PWR_LL_EC_BATT_CHARG_RESISTOR Battery Charge Resistor
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_PWR_BATT_CHARG_RESISTOR_5K 0x00000000U /*!< Charge the Battery through a 5 kO resistor */
@@ -253,6 +266,7 @@ extern "C" {
*/
/** @defgroup PWR_LL_EC_WAKEUP_PIN Wakeup Pins
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_PWR_WAKEUP_PIN1 PWR_WKUPEPR_WKUPEN1 /*!< Wake-Up pin 1 : PA0 */
@@ -266,6 +280,7 @@ extern "C" {
*/
/** @defgroup PWR_LL_EC_WAKEUP_PIN_PULL Wakeup Pins pull configuration
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_PWR_WAKEUP_PIN_NOPULL 0x00000000UL /*!< Configure Wake-Up pin in no pull */
@@ -276,6 +291,7 @@ extern "C" {
*/
/** @defgroup PWR_LL_EC_SUPPLY_PWR Power supply source configuration
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_PWR_LDO_SUPPLY PWR_CR3_LDOEN /*!< Core domains are suppplied from the LDO */
@@ -298,10 +314,12 @@ extern "C" {
*/
/* Exported macro ------------------------------------------------------------*/
/** @defgroup PWR_LL_Exported_Macros PWR Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup PWR_LL_EM_WRITE_READ Common write and read registers Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -328,10 +346,12 @@ extern "C" {
*/
/* Exported functions --------------------------------------------------------*/
/** @defgroup PWR_LL_Exported_Functions PWR Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup PWR_LL_EF_Configuration Configuration
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -1822,6 +1842,7 @@ __STATIC_INLINE uint32_t LL_PWR_GetWakeUpPinPull(uint32_t WakeUpPin)
*/
/** @defgroup PWR_LL_EF_FLAG_Management FLAG_Management
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -2213,6 +2234,7 @@ __STATIC_INLINE void LL_PWR_ClearFlag_WU1(void)
#if defined (USE_FULL_LL_DRIVER)
/** @defgroup PWR_LL_EF_Init De-initialization function
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
ErrorStatus LL_PWR_DeInit(void);
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_ll_rcc.h b/bsps/arm/stm32h7/include/stm32h7xx_ll_rcc.h
index c0c65ad82b..8d8c794b85 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_ll_rcc.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_ll_rcc.h
@@ -38,12 +38,14 @@ extern "C" {
#if defined(RCC)
/** @defgroup RCC_LL RCC
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/* Private types -------------------------------------------------------------*/
/* Private variables ---------------------------------------------------------*/
/** @defgroup RCC_LL_Private_Variables RCC Private Variables
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
extern const uint8_t LL_RCC_PrescTable[16];
@@ -97,6 +99,7 @@ extern const uint8_t LL_RCC_PrescTable[16];
#if defined(USE_FULL_LL_DRIVER) || defined(__rtems__)
/** @defgroup RCC_LL_Private_Macros RCC Private Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/**
@@ -106,10 +109,12 @@ extern const uint8_t LL_RCC_PrescTable[16];
/* Exported types ------------------------------------------------------------*/
#if defined(USE_FULL_LL_DRIVER) || defined(__rtems__)
/** @defgroup RCC_LL_Exported_Types RCC Exported Types
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup LL_ES_CLOCK_FREQ Clocks Frequency Structure
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -149,10 +154,12 @@ typedef struct
/* Exported constants --------------------------------------------------------*/
/** @defgroup RCC_LL_Exported_Constants RCC Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup RCC_LL_EC_OSC_VALUES Oscillator Values adaptation
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Defines used to adapt values of different oscillators
* @note These values could be modified in the user environment according to
* HW set-up.
@@ -195,6 +202,7 @@ typedef struct
*/
/** @defgroup RCC_LL_EC_HSIDIV HSI oscillator divider
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_RCC_HSI_DIV1 RCC_CR_HSIDIV_1
@@ -206,6 +214,7 @@ typedef struct
*/
/** @defgroup RCC_LL_EC_LSEDRIVE LSE oscillator drive capability
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_RCC_LSEDRIVE_LOW (uint32_t)(0x00000000U)
@@ -217,6 +226,7 @@ typedef struct
*/
/** @defgroup RCC_LL_EC_SYS_CLKSOURCE System clock switch
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_RCC_SYS_CLKSOURCE_HSI RCC_CFGR_SW_HSI
@@ -228,6 +238,7 @@ typedef struct
*/
/** @defgroup RCC_LL_EC_SYS_CLKSOURCE_STATUS System clock switch status
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_RCC_SYS_CLKSOURCE_STATUS_HSI RCC_CFGR_SWS_HSI /*!< HSI used as system clock */
@@ -239,6 +250,7 @@ typedef struct
*/
/** @defgroup RCC_LL_EC_SYSWAKEUP_CLKSOURCE System wakeup clock source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_RCC_SYSWAKEUP_CLKSOURCE_HSI (uint32_t)(0x00000000U)
@@ -248,6 +260,7 @@ typedef struct
*/
/** @defgroup RCC_LL_EC_KERWAKEUP_CLKSOURCE Kernel wakeup clock source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_RCC_KERWAKEUP_CLKSOURCE_HSI (uint32_t)(0x00000000U)
@@ -257,6 +270,7 @@ typedef struct
*/
/** @defgroup RCC_LL_EC_SYSCLK_DIV System prescaler
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined(RCC_D1CFGR_D1CPRE_DIV1)
@@ -285,6 +299,7 @@ typedef struct
*/
/** @defgroup RCC_LL_EC_AHB_DIV AHB prescaler
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined(RCC_D1CFGR_HPRE_DIV1)
@@ -313,6 +328,7 @@ typedef struct
*/
/** @defgroup RCC_LL_EC_APB1_DIV APB low-speed prescaler (APB1)
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined(RCC_D2CFGR_D2PPRE1_DIV1)
@@ -333,6 +349,7 @@ typedef struct
*/
/** @defgroup RCC_LL_EC_APB2_DIV APB low-speed prescaler (APB2)
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined(RCC_D2CFGR_D2PPRE2_DIV1)
@@ -353,6 +370,7 @@ typedef struct
*/
/** @defgroup RCC_LL_EC_APB3_DIV APB low-speed prescaler (APB3)
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined(RCC_D1CFGR_D1PPRE_DIV1)
@@ -373,6 +391,7 @@ typedef struct
*/
/** @defgroup RCC_LL_EC_APB4_DIV APB low-speed prescaler (APB4)
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined(RCC_D3CFGR_D3PPRE_DIV1)
@@ -393,6 +412,7 @@ typedef struct
*/
/** @defgroup RCC_LL_EC_MCOxSOURCE MCO source selection
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_RCC_MCO1SOURCE_HSI (uint32_t)((RCC_CFGR_MCO1>>16U) | 0x00000000U)
@@ -411,6 +431,7 @@ typedef struct
*/
/** @defgroup RCC_LL_EC_MCOx_DIV MCO prescaler
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_RCC_MCO1_DIV_1 (uint32_t)((RCC_CFGR_MCO1PRE>>16U) | RCC_CFGR_MCO1PRE_0)
@@ -449,6 +470,7 @@ typedef struct
*/
/** @defgroup RCC_LL_EC_RTC_HSEDIV HSE prescaler for RTC clock
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_RCC_RTC_NOCLOCK (uint32_t)(0x00000000U)
@@ -519,6 +541,7 @@ typedef struct
*/
/** @defgroup RCC_LL_EC_USARTx_CLKSOURCE Peripheral USART clock source selection
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined(RCC_D2CCIP2R_USART16SEL)
@@ -563,6 +586,7 @@ typedef struct
*/
/** @defgroup RCC_LL_EC_LPUARTx_CLKSOURCE Peripheral LPUART clock source selection
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined(RCC_D3CCIPR_LPUART1SEL)
@@ -585,6 +609,7 @@ typedef struct
*/
/** @defgroup RCC_LL_EC_I2Cx_CLKSOURCE Peripheral I2C clock source selection
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined (RCC_D2CCIP2R_I2C123SEL)
@@ -614,6 +639,7 @@ typedef struct
*/
/** @defgroup RCC_LL_EC_LPTIMx_CLKSOURCE Peripheral LPTIM clock source selection
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined(RCC_D2CCIP2R_LPTIM1SEL)
@@ -673,6 +699,7 @@ typedef struct
*/
/** @defgroup RCC_LL_EC_SAIx_CLKSOURCE Peripheral SAI clock source selection
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined(RCC_D2CCIP1R_SAI1SEL)
@@ -730,6 +757,7 @@ typedef struct
*/
/** @defgroup RCC_LL_EC_SDMMC_CLKSOURCE Peripheral SDMMC clock source selection
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined(RCC_D1CCIPR_SDMMCSEL)
@@ -744,6 +772,7 @@ typedef struct
*/
/** @defgroup RCC_LL_EC_RNG_CLKSOURCE Peripheral RNG clock source selection
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined(RCC_D2CCIP2R_RNGSEL)
@@ -762,6 +791,7 @@ typedef struct
*/
/** @defgroup RCC_LL_EC_USB_CLKSOURCE Peripheral USB clock source selection
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined(RCC_D2CCIP2R_USBSEL)
@@ -780,6 +810,7 @@ typedef struct
*/
/** @defgroup RCC_LL_EC_CEC_CLKSOURCE Peripheral CEC clock source selection
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined(RCC_D2CCIP2R_CECSEL)
@@ -797,6 +828,7 @@ typedef struct
#if defined(DSI)
/** @defgroup RCC_LL_EC_DSI_CLKSOURCE Peripheral DSI clock source selection
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_RCC_DSI_CLKSOURCE_PHY (0x00000000U)
@@ -807,6 +839,7 @@ typedef struct
#endif /* DSI */
/** @defgroup RCC_LL_EC_DFSDM_CLKSOURCE Peripheral DFSDM clock source selection
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined(RCC_D2CCIP1R_DFSDM1SEL)
@@ -822,6 +855,7 @@ typedef struct
#if defined(DFSDM2_BASE)
/** @defgroup RCC_LL_EC_DFSDM2_CLKSOURCE Peripheral DFSDM2 clock source selection
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_RCC_DFSDM2_CLKSOURCE_PCLK4 (0x00000000U)
@@ -832,6 +866,7 @@ typedef struct
#endif /* DFSDM2_BASE */
/** @defgroup RCC_LL_EC_FMC_CLKSOURCE Peripheral FMC clock source selection
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined(RCC_D1CCIPR_FMCSEL)
@@ -851,6 +886,7 @@ typedef struct
#if defined(QUADSPI)
/** @defgroup RCC_LL_EC_QSPI_CLKSOURCE Peripheral QSPI clock source selection
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_RCC_QSPI_CLKSOURCE_HCLK (0x00000000U)
@@ -865,6 +901,7 @@ typedef struct
#if defined(OCTOSPI1) || defined(OCTOSPI2)
/** @defgroup RCC_LL_EC_OSPI_CLKSOURCE Peripheral OSPI clock source selection
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_RCC_OSPI_CLKSOURCE_HCLK (0x00000000U)
@@ -878,6 +915,7 @@ typedef struct
/** @defgroup RCC_LL_EC_CLKP_CLKSOURCE Peripheral CLKP clock source selection
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined(RCC_D1CCIPR_CKPERSEL)
@@ -894,6 +932,7 @@ typedef struct
*/
/** @defgroup RCC_LL_EC_SPIx_CLKSOURCE Peripheral SPI clock source selection
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined(RCC_D2CCIP1R_SPI123SEL)
@@ -945,6 +984,7 @@ typedef struct
*/
/** @defgroup RCC_LL_EC_SPDIF_CLKSOURCE Peripheral SPDIF clock source selection
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined(RCC_D2CCIP1R_SPDIFSEL)
@@ -964,6 +1004,7 @@ typedef struct
#if defined(FDCAN1) || defined(FDCAN2)
/** @defgroup RCC_LL_EC_FDCAN_CLKSOURCE Peripheral FDCAN clock source selection
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined(RCC_D2CCIP1R_FDCANSEL)
@@ -981,6 +1022,7 @@ typedef struct
#endif /*FDCAN1 || FDCAN2*/
/** @defgroup RCC_LL_EC_SWP_CLKSOURCE Peripheral SWP clock source selection
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined(RCC_D2CCIP1R_SWPSEL)
@@ -995,6 +1037,7 @@ typedef struct
*/
/** @defgroup RCC_LL_EC_ADC_CLKSOURCE Peripheral ADC clock source selection
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined(RCC_D3CCIPR_ADCSEL)
@@ -1011,6 +1054,7 @@ typedef struct
*/
/** @defgroup RCC_LL_EC_USARTx_CLKSOURCE Peripheral USART get clock source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined (RCC_D2CCIP2R_USART16SEL)
@@ -1030,6 +1074,7 @@ typedef struct
*/
/** @defgroup RCC_LL_EC_LPUARTx_CLKSOURCE Peripheral LPUART get clock source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined(RCC_D3CCIPR_LPUART1SEL)
@@ -1042,6 +1087,7 @@ typedef struct
*/
/** @defgroup RCC_LL_EC_I2Cx_CLKSOURCE Peripheral I2C get clock source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined(RCC_D2CCIP2R_I2C123SEL)
@@ -1059,6 +1105,7 @@ typedef struct
*/
/** @defgroup RCC_LL_EC_LPTIMx_CLKSOURCE Peripheral LPTIM get clock source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined(RCC_D2CCIP2R_LPTIM1SEL)
@@ -1082,6 +1129,7 @@ typedef struct
*/
/** @defgroup RCC_LL_EC_SAIx_CLKSOURCE Peripheral SAI get clock source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined(RCC_D2CCIP1R_SAI1SEL)
@@ -1109,6 +1157,7 @@ typedef struct
*/
/** @defgroup RCC_LL_EC_SDMMC_CLKSOURCE Peripheral SDMMC get clock source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined(RCC_D1CCIPR_SDMMCSEL)
@@ -1121,6 +1170,7 @@ typedef struct
*/
/** @defgroup RCC_LL_EC_RNG_CLKSOURCE Peripheral RNG get clock source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if (RCC_D2CCIP2R_RNGSEL)
@@ -1133,6 +1183,7 @@ typedef struct
*/
/** @defgroup RCC_LL_EC_USB_CLKSOURCE Peripheral USB get clock source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if (RCC_D2CCIP2R_USBSEL)
@@ -1145,6 +1196,7 @@ typedef struct
*/
/** @defgroup RCC_LL_EC_CEC_CLKSOURCE Peripheral CEC get clock source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if (RCC_D2CCIP2R_CECSEL)
@@ -1158,6 +1210,7 @@ typedef struct
#if defined(DSI)
/** @defgroup RCC_LL_EC_DSI_CLKSOURCE Peripheral DSI get clock source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_RCC_DSI_CLKSOURCE RCC_D1CCIPR_DSISEL
@@ -1167,6 +1220,7 @@ typedef struct
#endif /* DSI */
/** @defgroup RCC_LL_EC_DFSDM_CLKSOURCE Peripheral DFSDM get clock source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined(RCC_D2CCIP1R_DFSDM1SEL)
@@ -1180,6 +1234,7 @@ typedef struct
#if defined(DFSDM2_BASE)
/** @defgroup RCC_LL_EC_DFSDM2_CLKSOURCE Peripheral DFSDM2 get clock source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_RCC_DFSDM2_CLKSOURCE RCC_SRDCCIPR_DFSDM2SEL
@@ -1190,6 +1245,7 @@ typedef struct
/** @defgroup RCC_LL_EC_FMC_CLKSOURCE Peripheral FMC get clock source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined(RCC_D1CCIPR_FMCSEL)
@@ -1203,6 +1259,7 @@ typedef struct
#if defined(QUADSPI)
/** @defgroup RCC_LL_EC_QSPI_CLKSOURCE Peripheral QSPI get clock source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_RCC_QSPI_CLKSOURCE RCC_D1CCIPR_QSPISEL
@@ -1213,6 +1270,7 @@ typedef struct
#if defined(OCTOSPI1) || defined(OCTOSPI2)
/** @defgroup RCC_LL_EC_OSPI_CLKSOURCE Peripheral OSPI get clock source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_RCC_OSPI_CLKSOURCE RCC_CDCCIPR_OCTOSPISEL
@@ -1222,6 +1280,7 @@ typedef struct
#endif /* OCTOSPI1 || OCTOSPI2 */
/** @defgroup RCC_LL_EC_CLKP_CLKSOURCE Peripheral CLKP get clock source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined(RCC_D1CCIPR_CKPERSEL)
@@ -1234,6 +1293,7 @@ typedef struct
*/
/** @defgroup RCC_LL_EC_SPIx_CLKSOURCE Peripheral SPI get clock source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined(RCC_D2CCIP1R_SPI123SEL)
@@ -1256,6 +1316,7 @@ typedef struct
*/
/** @defgroup RCC_LL_EC_SPDIF_CLKSOURCE Peripheral SPDIF get clock source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined(RCC_D2CCIP1R_SPDIFSEL)
@@ -1269,6 +1330,7 @@ typedef struct
#if defined(FDCAN1) || defined(FDCAN2)
/** @defgroup RCC_LL_EC_FDCAN_CLKSOURCE Peripheral FDCAN get clock source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined(RCC_D2CCIP1R_FDCANSEL)
@@ -1282,6 +1344,7 @@ typedef struct
#endif /*FDCAN1 || FDCAN2*/
/** @defgroup RCC_LL_EC_SWP_CLKSOURCE Peripheral SWP get clock source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined(RCC_D2CCIP1R_SWPSEL)
@@ -1294,6 +1357,7 @@ typedef struct
*/
/** @defgroup RCC_LL_EC_ADC_CLKSOURCE Peripheral ADC get clock source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined(RCC_D3CCIPR_ADCSEL)
@@ -1306,6 +1370,7 @@ typedef struct
*/
/** @defgroup RCC_LL_EC_RTC_CLKSOURCE RTC clock source selection
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_RCC_RTC_CLKSOURCE_NONE (uint32_t)(0x00000000U)
@@ -1317,6 +1382,7 @@ typedef struct
*/
/** @defgroup RCC_LL_EC_TIM_CLKPRESCALER Timers clocks prescalers selection
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_RCC_TIM_PRESCALER_TWICE (uint32_t)(0x00000000U)
@@ -1327,6 +1393,7 @@ typedef struct
#if defined(HRTIM1)
/** @defgroup RCC_LL_EC_HRTIM_CLKSOURCE High Resolution Timers clock selection
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_RCC_HRTIM_CLKSOURCE_TIM (uint32_t)(0x00000000U) /* HRTIM Clock source is same as other timers */
@@ -1337,6 +1404,7 @@ typedef struct
#endif /* HRTIM1 */
/** @defgroup RCC_LL_EC_PLLSOURCE All PLLs entry clock source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_RCC_PLLSOURCE_HSI RCC_PLLCKSELR_PLLSRC_HSI
@@ -1348,6 +1416,7 @@ typedef struct
*/
/** @defgroup RCC_LL_EC_PLLINPUTRANGE All PLLs input range
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_RCC_PLLINPUTRANGE_1_2 (uint32_t)(0x00000000U)
@@ -1359,6 +1428,7 @@ typedef struct
*/
/** @defgroup RCC_LL_EC_PLLVCORANGE All PLLs VCO range
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_RCC_PLLVCORANGE_WIDE (uint32_t)(0x00000000U) /* VCO output range: 192 to 836 MHz OR 128 to 544 MHz (*) */
@@ -1374,10 +1444,12 @@ typedef struct
/* Exported macro ------------------------------------------------------------*/
/** @defgroup RCC_LL_Exported_Macros RCC Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup RCC_LL_EM_WRITE_READ Common Write and read registers Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -1400,6 +1472,7 @@ typedef struct
*/
/** @defgroup RCC_LL_EM_CALC_FREQ Calculate frequencies
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -1519,6 +1592,7 @@ typedef struct
#if defined(USE_FULL_LL_DRIVER) || defined(__rtems__)
/** @defgroup RCC_LL_EC_PERIPH_FREQUENCY Peripheral clock frequency
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_RCC_PERIPH_FREQUENCY_NO 0x00000000U /*!< No clock enabled for the peripheral */
@@ -1534,10 +1608,12 @@ typedef struct
/* Exported functions --------------------------------------------------------*/
/** @defgroup RCC_LL_Exported_Functions RCC Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup RCC_LL_EF_HSE HSE
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -1630,6 +1706,7 @@ __STATIC_INLINE uint32_t LL_RCC_HSE_IsReady(void)
*/
/** @defgroup RCC_LL_EF_HSI HSI
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -1789,6 +1866,7 @@ __STATIC_INLINE uint32_t LL_RCC_HSI_GetCalibTrimming(void)
*/
/** @defgroup RCC_LL_EF_CSI CSI
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -1922,6 +2000,7 @@ __STATIC_INLINE uint32_t LL_RCC_CSI_GetCalibTrimming(void)
*/
/** @defgroup RCC_LL_EF_HSI48 HSI48
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -1973,6 +2052,7 @@ __STATIC_INLINE uint32_t LL_RCC_HSI48_GetCalibration(void)
#if defined(RCC_CR_D1CKRDY)
/** @defgroup RCC_LL_EF_D1CLK D1CKREADY
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -1992,6 +2072,7 @@ __STATIC_INLINE uint32_t LL_RCC_D1CK_IsReady(void)
#else
/** @defgroup RCC_LL_EF_CPUCLK CPUCKREADY
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -2014,6 +2095,7 @@ __STATIC_INLINE uint32_t LL_RCC_CPUCK_IsReady(void)
#if defined(RCC_CR_D2CKRDY)
/** @defgroup RCC_LL_EF_D2CLK D2CKREADY
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -2032,6 +2114,7 @@ __STATIC_INLINE uint32_t LL_RCC_D2CK_IsReady(void)
#else
/** @defgroup RCC_LL_EF_CDCLK CDCKREADY
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -2051,6 +2134,7 @@ __STATIC_INLINE uint32_t LL_RCC_CDCK_IsReady(void)
#endif /* RCC_CR_D2CKRDY */
/** @defgroup RCC_LL_EF_SYSTEM_WIDE_RESET RESET
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined(RCC_GCR_WW1RSC)
@@ -2103,6 +2187,7 @@ __STATIC_INLINE uint32_t LL_RCC_WWDG2_IsSystemReset(void)
#if defined(DUAL_CORE)
/** @defgroup RCC_LL_EF_BOOT_CPU CPU
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -2152,6 +2237,7 @@ __STATIC_INLINE uint32_t LL_RCC_IsCM7BootForced(void)
#endif /*DUAL_CORE*/
/** @defgroup RCC_LL_EF_LSE LSE
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -2288,6 +2374,7 @@ __STATIC_INLINE uint32_t LL_RCC_LSE_IsReady(void)
*/
/** @defgroup RCC_LL_EF_LSI LSI
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -2326,6 +2413,7 @@ __STATIC_INLINE uint32_t LL_RCC_LSI_IsReady(void)
*/
/** @defgroup RCC_LL_EF_System System
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -2663,6 +2751,7 @@ __STATIC_INLINE uint32_t LL_RCC_GetAPB4Prescaler(void)
*/
/** @defgroup RCC_LL_EF_MCO MCO
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -2727,6 +2816,7 @@ __STATIC_INLINE void LL_RCC_ConfigMCO(uint32_t MCOxSource, uint32_t MCOxPrescale
*/
/** @defgroup RCC_LL_EF_Peripheral_Clock_Source Peripheral Clock Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -3894,6 +3984,7 @@ __STATIC_INLINE uint32_t LL_RCC_GetADCClockSource(uint32_t Periph)
*/
/** @defgroup RCC_LL_EF_RTC RTC
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -4135,6 +4226,7 @@ __STATIC_INLINE uint32_t LL_RCC_GetRTC_HSEPrescaler(void)
*/
/** @defgroup RCC_LL_EF_TIM_CLOCK_PRESCALER TIM
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -4169,6 +4261,7 @@ __STATIC_INLINE uint32_t LL_RCC_GetTIMPrescaler(void)
#if defined(HRTIM1)
/** @defgroup RCC_LL_EF_HRTIM_SET_CLOCK_SOURCE HRTIM
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -4204,6 +4297,7 @@ __STATIC_INLINE uint32_t LL_RCC_GetHRTIMClockSource(void)
#endif /* HRTIM1 */
/** @defgroup RCC_LL_EF_PLL PLL
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -5180,6 +5274,7 @@ __STATIC_INLINE void LL_RCC_PLL3_SetFRACN(uint32_t FRACN)
/** @defgroup RCC_LL_EF_FLAG_Management FLAG Management
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -5942,6 +6037,7 @@ __STATIC_INLINE void LL_C2_RCC_ClearResetFlags(void)
*/
/** @defgroup RCC_LL_EF_IT_Management IT Management
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -6250,6 +6346,7 @@ __STATIC_INLINE uint32_t LL_RCC_IsEnableIT_LSECSS(void)
#if defined(USE_FULL_LL_DRIVER) || defined(__rtems__)
/** @defgroup RCC_LL_EF_Init De-initialization function
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
void LL_RCC_DeInit(void);
@@ -6258,6 +6355,7 @@ void LL_RCC_DeInit(void);
*/
/** @defgroup RCC_LL_EF_Get_Freq Get system and peripherals clocks frequency functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
uint32_t LL_RCC_CalcPLLClockFreq(uint32_t PLLInputFreq, uint32_t M, uint32_t N, uint32_t FRACN, uint32_t PQR);
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_ll_rng.h b/bsps/arm/stm32h7/include/stm32h7xx_ll_rng.h
index e8ddb5c407..5279603d32 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_ll_rng.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_ll_rng.h
@@ -35,6 +35,7 @@ extern "C" {
#if defined (RNG)
/** @defgroup RNG_LL RNG
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -46,6 +47,7 @@ extern "C" {
/* Exported types ------------------------------------------------------------*/
#if defined(USE_FULL_LL_DRIVER) || defined(__rtems__)
/** @defgroup RNG_LL_ES_Init_Struct RNG Exported Init structures
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -67,10 +69,12 @@ typedef struct
#endif /* USE_FULL_LL_DRIVER */
/* Exported constants --------------------------------------------------------*/
/** @defgroup RNG_LL_Exported_Constants RNG Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup RNG_LL_CED Clock Error Detection
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_RNG_CED_ENABLE 0x00000000U /*!< Clock error detection enabled */
@@ -81,6 +85,7 @@ typedef struct
#if defined(RNG_CR_CONDRST)
/** @defgroup RNG_LL_Clock_Divider_Factor Value used to configure an internal
+ * @ingroup RTEMSBSPsARMSTM32H7
* programmable divider acting on the incoming RNG clock
* @{
*/
@@ -105,6 +110,7 @@ typedef struct
*/
/** @defgroup RNG_LL_NIST_Compliance NIST Compliance configuration
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_RNG_NIST_COMPLIANT (0x00000000UL) /*!< Default NIST compliant configuration*/
@@ -116,6 +122,7 @@ typedef struct
#endif/*RNG_CR_CONDRST*/
/** @defgroup RNG_LL_EC_GET_FLAG Get Flags Defines
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Flags defines which can be used with LL_RNG_ReadReg function
* @{
*/
@@ -129,6 +136,7 @@ typedef struct
*/
/** @defgroup RNG_LL_EC_IT IT Defines
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief IT defines which can be used with LL_RNG_ReadReg and LL_RNG_WriteReg macros
* @{
*/
@@ -143,10 +151,12 @@ typedef struct
/* Exported macro ------------------------------------------------------------*/
/** @defgroup RNG_LL_Exported_Macros RNG Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup RNG_LL_EM_WRITE_READ Common Write and read registers Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -177,9 +187,11 @@ typedef struct
/* Exported functions --------------------------------------------------------*/
/** @defgroup RNG_LL_Exported_Functions RNG Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup RNG_LL_EF_Configuration RNG Configuration functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -467,6 +479,7 @@ __STATIC_INLINE uint32_t LL_RNG_GetClockDivider(RNG_TypeDef *RNGx)
*/
/** @defgroup RNG_LL_EF_FLAG_Management FLAG Management
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -552,6 +565,7 @@ __STATIC_INLINE void LL_RNG_ClearFlag_SEIS(RNG_TypeDef *RNGx)
*/
/** @defgroup RNG_LL_EF_IT_Management IT Management
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -596,6 +610,7 @@ __STATIC_INLINE uint32_t LL_RNG_IsEnabledIT(RNG_TypeDef *RNGx)
*/
/** @defgroup RNG_LL_EF_Data_Management Data Management
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -616,6 +631,7 @@ __STATIC_INLINE uint32_t LL_RNG_ReadRandData32(RNG_TypeDef *RNGx)
#if defined (RNG_VER_3_1)
/** @defgroup RNG_LL_EF_Health_Test_Control Health Test Control
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -648,6 +664,7 @@ __STATIC_INLINE uint32_t LL_RNG_GetHealthConfig(RNG_TypeDef *RNGx)
#endif /*RNG_VER_3_1*/
#if defined(USE_FULL_LL_DRIVER) || defined(__rtems__)
/** @defgroup RNG_LL_EF_Init Initialization and de-initialization functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
ErrorStatus LL_RNG_Init(RNG_TypeDef *RNGx, LL_RNG_InitTypeDef *RNG_InitStruct);
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_ll_rtc.h b/bsps/arm/stm32h7/include/stm32h7xx_ll_rtc.h
index 142c75a874..943ba4ff01 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_ll_rtc.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_ll_rtc.h
@@ -35,6 +35,7 @@ extern "C" {
#if defined(RTC)
/** @defgroup RTC_LL RTC
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -42,6 +43,7 @@ extern "C" {
/* Private variables ---------------------------------------------------------*/
/* Private constants ---------------------------------------------------------*/
/** @defgroup RTC_LL_Private_Constants RTC Private Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/* Masks Definition */
@@ -67,6 +69,7 @@ extern "C" {
/* Private macros ------------------------------------------------------------*/
#if defined(USE_FULL_LL_DRIVER) || defined(__rtems__)
/** @defgroup RTC_LL_Private_Macros RTC Private Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/**
@@ -77,6 +80,7 @@ extern "C" {
/* Exported types ------------------------------------------------------------*/
#if defined(USE_FULL_LL_DRIVER) || defined(__rtems__)
/** @defgroup RTC_LL_ES_INIT RTC Exported Init structure
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -198,11 +202,13 @@ typedef struct
/* Exported constants --------------------------------------------------------*/
/** @defgroup RTC_LL_Exported_Constants RTC Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined(USE_FULL_LL_DRIVER) || defined(__rtems__)
/** @defgroup RTC_LL_EC_FORMAT FORMAT
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_RTC_FORMAT_BIN 0x00000000U /*!< Binary data format */
@@ -212,6 +218,7 @@ typedef struct
*/
/** @defgroup RTC_LL_EC_ALMA_WEEKDAY_SELECTION RTC Alarm A Date WeekDay
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_RTC_ALMA_DATEWEEKDAYSEL_DATE 0x00000000U /*!< Alarm A Date is selected */
@@ -221,6 +228,7 @@ typedef struct
*/
/** @defgroup RTC_LL_EC_ALMB_WEEKDAY_SELECTION RTC Alarm B Date WeekDay
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_RTC_ALMB_DATEWEEKDAYSEL_DATE 0x00000000U /*!< Alarm B Date is selected */
@@ -232,6 +240,7 @@ typedef struct
#endif /* USE_FULL_LL_DRIVER */
/** @defgroup RTC_LL_EC_GET_FLAG Get Flags Defines
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Flags defines which can be used with LL_RTC_ReadReg function
* @{
*/
@@ -276,6 +285,7 @@ typedef struct
*/
/** @defgroup RTC_LL_EC_IT IT Defines
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief IT defines which can be used with LL_RTC_ReadReg and LL_RTC_WriteReg functions
* @{
*/
@@ -300,6 +310,7 @@ typedef struct
*/
/** @defgroup RTC_LL_EC_WEEKDAY WEEK DAY
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_RTC_WEEKDAY_MONDAY (uint8_t)0x01 /*!< Monday */
@@ -314,6 +325,7 @@ typedef struct
*/
/** @defgroup RTC_LL_EC_MONTH MONTH
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_RTC_MONTH_JANUARY (uint8_t)0x01 /*!< January */
@@ -333,6 +345,7 @@ typedef struct
*/
/** @defgroup RTC_LL_EC_HOURFORMAT HOUR FORMAT
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_RTC_HOURFORMAT_24HOUR 0x00000000U /*!< 24 hour/day format */
@@ -342,6 +355,7 @@ typedef struct
*/
/** @defgroup RTC_LL_EC_ALARMOUT ALARM OUTPUT
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_RTC_ALARMOUT_DISABLE 0x00000000U /*!< Output disabled */
@@ -353,6 +367,7 @@ typedef struct
*/
/** @defgroup RTC_LL_EC_ALARM_OUTPUTTYPE ALARM OUTPUT TYPE
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined(RTC_CR_TAMPALRM_TYPE)
@@ -368,6 +383,7 @@ typedef struct
*/
/** @defgroup RTC_LL_EC_OUTPUTPOLARITY_PIN OUTPUT POLARITY PIN
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_RTC_OUTPUTPOLARITY_PIN_HIGH 0x00000000U /*!< Pin is high when ALRAF/ALRBF/WUTF is asserted (depending on OSEL)*/
@@ -377,6 +393,7 @@ typedef struct
*/
/** @defgroup RTC_LL_EC_TIME_FORMAT TIME FORMAT
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_RTC_TIME_FORMAT_AM_OR_24 0x00000000U /*!< AM or 24-hour format */
@@ -386,6 +403,7 @@ typedef struct
*/
/** @defgroup RTC_LL_EC_SHIFT_SECOND SHIFT SECOND
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_RTC_SHIFT_SECOND_DELAY 0x00000000U /* Delay (seconds) = SUBFS / (PREDIV_S + 1) */
@@ -395,6 +413,7 @@ typedef struct
*/
/** @defgroup RTC_LL_EC_ALMA_MASK ALARMA MASK
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_RTC_ALMA_MASK_NONE 0x00000000U /*!< No masks applied on Alarm A*/
@@ -408,6 +427,7 @@ typedef struct
*/
/** @defgroup RTC_LL_EC_ALMA_TIME_FORMAT ALARMA TIME FORMAT
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_RTC_ALMA_TIME_FORMAT_AM 0x00000000U /*!< AM or 24-hour format */
@@ -417,6 +437,7 @@ typedef struct
*/
/** @defgroup RTC_LL_EC_ALMB_MASK ALARMB MASK
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_RTC_ALMB_MASK_NONE 0x00000000U /*!< No masks applied on Alarm B*/
@@ -430,6 +451,7 @@ typedef struct
*/
/** @defgroup RTC_LL_EC_ALMB_TIME_FORMAT ALARMB TIME FORMAT
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_RTC_ALMB_TIME_FORMAT_AM 0x00000000U /*!< AM or 24-hour format */
@@ -439,6 +461,7 @@ typedef struct
*/
/** @defgroup RTC_LL_EC_TIMESTAMP_EDGE TIMESTAMP EDGE
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_RTC_TIMESTAMP_EDGE_RISING 0x00000000U /*!< RTC_TS input rising edge generates a time-stamp event */
@@ -448,6 +471,7 @@ typedef struct
*/
/** @defgroup RTC_LL_EC_TS_TIME_FORMAT TIMESTAMP TIME FORMAT
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_RTC_TS_TIME_FORMAT_AM 0x00000000U /*!< AM or 24-hour format */
@@ -458,6 +482,7 @@ typedef struct
#if defined(TAMP_CR1_TAMP1E)
/** @defgroup RTC_LL_EC_TAMPER TAMPER
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_RTC_TAMPER_1 TAMP_CR1_TAMP1E /*!< Tamper 1 input detection */
@@ -474,6 +499,7 @@ typedef struct
#if defined(TAMP_CR1_TAMP1E)
/** @defgroup RTC_LL_EC_TAMPER_MASK TAMPER MASK
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_RTC_TAMPER_MASK_TAMPER1 TAMP_CR2_TAMP1MSK /*!< Tamper 1 event generates a trigger event. TAMP1F is masked and internally cleared by hardware. The backup registers are not erased */
@@ -490,6 +516,7 @@ typedef struct
#if defined(TAMP_CR1_TAMP1E)
/** @defgroup RTC_LL_EC_TAMPER_NOERASE TAMPER NO ERASE
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_RTC_TAMPER_NOERASE_TAMPER1 TAMP_CR2_TAMP1NOERASE /*!< Tamper 1 event does not erase the backup registers. */
@@ -506,6 +533,7 @@ typedef struct
#if defined(TAMP_FLTCR_TAMPPRCH)
/** @defgroup RTC_LL_EC_TAMPER_DURATION TAMPER DURATION
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_RTC_TAMPER_DURATION_1RTCCLK 0x00000000U /*!< Tamper pins are pre-charged before sampling during 1 RTCCLK cycle */
@@ -519,6 +547,7 @@ typedef struct
#if defined(TAMP_FLTCR_TAMPFLT)
/** @defgroup RTC_LL_EC_TAMPER_FILTER TAMPER FILTER
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_RTC_TAMPER_FILTER_DISABLE 0x00000000U /*!< Tamper filter is disabled */
@@ -532,6 +561,7 @@ typedef struct
#if defined(TAMP_FLTCR_TAMPFREQ)
/** @defgroup RTC_LL_EC_TAMPER_SAMPLFREQDIV TAMPER SAMPLING FREQUENCY DIVIDER
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_RTC_TAMPER_SAMPLFREQDIV_32768 0x00000000U /*!< Each of the tamper inputs are sampled with a frequency = RTCCLK / 32768 */
@@ -549,6 +579,7 @@ typedef struct
#if defined(TAMP_CR1_TAMP1E)
/** @defgroup RTC_LL_EC_TAMPER_ACTIVELEVEL TAMPER ACTIVE LEVEL
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_RTC_TAMPER_ACTIVELEVEL_TAMP1 TAMP_CR2_TAMP1TRG /*!< Tamper 1 input falling edge (if TAMPFLT = 00) or staying high (if TAMPFLT != 00) triggers a tamper detection event */
@@ -565,6 +596,7 @@ typedef struct
#if defined (RTC_TAMPCR_TAMP1E)
/** @defgroup RTC_LL_EC_TAMPER TAMPER
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_RTC_TAMPER_1 RTC_TAMPCR_TAMP1E /*!< RTC_TAMP1 input detection */
@@ -581,6 +613,7 @@ typedef struct
#if defined (RTC_TAMPCR_TAMP1E)
/** @defgroup RTC_LL_EC_TAMPER_MASK TAMPER MASK
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_RTC_TAMPER_MASK_TAMPER1 RTC_TAMPCR_TAMP1MF /*!< Tamper 1 event generates a trigger event. TAMP1F is masked and internally cleared by hardware.The backup registers are not erased */
@@ -597,6 +630,7 @@ typedef struct
#if defined (RTC_TAMPCR_TAMP1E)
/** @defgroup RTC_LL_EC_TAMPER_NOERASE TAMPER NO ERASE
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_RTC_TAMPER_NOERASE_TAMPER1 RTC_TAMPCR_TAMP1NOERASE /*!< Tamper 1 event does not erase the backup registers. */
@@ -613,6 +647,7 @@ typedef struct
#if defined(RTC_TAMPCR_TAMPPRCH)
/** @defgroup RTC_LL_EC_TAMPER_DURATION TAMPER DURATION
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_RTC_TAMPER_DURATION_1RTCCLK 0x00000000U /*!< Tamper pins are pre-charged before sampling during 1 RTCCLK cycle */
@@ -626,6 +661,7 @@ typedef struct
#if defined(RTC_TAMPCR_TAMPFLT)
/** @defgroup RTC_LL_EC_TAMPER_FILTER TAMPER FILTER
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_RTC_TAMPER_FILTER_DISABLE 0x00000000U /*!< Tamper filter is disabled */
@@ -639,6 +675,7 @@ typedef struct
#if defined(RTC_TAMPCR_TAMPFREQ)
/** @defgroup RTC_LL_EC_TAMPER_SAMPLFREQDIV TAMPER SAMPLING FREQUENCY DIVIDER
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_RTC_TAMPER_SAMPLFREQDIV_32768 0x00000000U /*!< Each of the tamper inputs are sampled with a frequency = RTCCLK / 32768 */
@@ -656,6 +693,7 @@ typedef struct
#if defined (RTC_TAMPCR_TAMP1E)
/** @defgroup RTC_LL_EC_TAMPER_ACTIVELEVEL TAMPER ACTIVE LEVEL
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_RTC_TAMPER_ACTIVELEVEL_TAMP1 RTC_TAMPCR_TAMP1TRG /*!< RTC_TAMP1 input falling edge (if TAMPFLT = 00) or staying high (if TAMPFLT != 00) triggers a tamper detection event*/
@@ -672,6 +710,7 @@ typedef struct
#if defined(TAMP_ATCR1_TAMP1AM)
/** @defgroup RTC_LL_EC_ACTIVE_MODE ACTIVE TAMPER MODE
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_RTC_TAMPER_ATAMP_TAMP1AM TAMP_ATCR1_TAMP1AM /*!< tamper 1 is active */
@@ -688,6 +727,7 @@ typedef struct
#if defined(TAMP_ATCR1_ATCKSEL)
/** @defgroup RTC_LL_EC_ACTIVE_ASYNC_PRESCALER ACTIVE TAMPER ASYNCHRONOUS PRESCALER CLOCK
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_RTC_TAMPER_ATAMP_ASYNCPRES_RTCCLK 0U /*!< RTCCLK */
@@ -705,6 +745,7 @@ typedef struct
#if defined(TAMP_ATCR1_TAMP1AM)
/** @defgroup RTC_LL_EC_ACTIVE_OUTPUT_SELECTION ACTIVE TAMPER OUTPUT SELECTION
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_RTC_TAMPER_ATAMP1IN_ATAMP1OUT (0UL << TAMP_ATCR2_ATOSEL1_Pos)
@@ -728,6 +769,7 @@ typedef struct
*/
/** @defgroup RTC_LL_EC_WAKEUPCLOCK_DIV WAKEUP CLOCK DIV
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_RTC_WAKEUPCLOCK_DIV_16 0x00000000U /*!< RTC/16 clock is selected */
@@ -741,6 +783,7 @@ typedef struct
*/
/** @defgroup RTC_LL_EC_BKP BACKUP
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_RTC_BKP_DR0 0x00000000U
@@ -780,6 +823,7 @@ typedef struct
*/
/** @defgroup RTC_LL_EC_CALIB_OUTPUT Calibration output
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_RTC_CALIB_OUTPUT_NONE 0x00000000U /*!< Calibration output disabled */
@@ -790,6 +834,7 @@ typedef struct
*/
/** @defgroup RTC_LL_EC_CALIB_INSERTPULSE Calibration pulse insertion
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_RTC_CALIB_INSERTPULSE_NONE 0x00000000U /*!< No RTCCLK pulses are added */
@@ -799,6 +844,7 @@ typedef struct
*/
/** @defgroup RTC_LL_EC_CALIB_PERIOD Calibration period
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_RTC_CALIB_PERIOD_32SEC 0x00000000U /*!< Use a 32-second calibration cycle period */
@@ -814,10 +860,12 @@ typedef struct
/* Exported macro ------------------------------------------------------------*/
/** @defgroup RTC_LL_Exported_Macros RTC Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup RTC_LL_EM_WRITE_READ Common Write and read registers Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -842,6 +890,7 @@ typedef struct
*/
/** @defgroup RTC_LL_EM_Convert Convert helper Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -864,6 +913,7 @@ typedef struct
*/
/** @defgroup RTC_LL_EM_Date Date helper Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -919,6 +969,7 @@ typedef struct
*/
/** @defgroup RTC_LL_EM_Time Time helper Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -953,10 +1004,12 @@ typedef struct
/* Exported functions --------------------------------------------------------*/
/** @defgroup RTC_LL_Exported_Functions RTC Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup RTC_LL_EF_Configuration Configuration
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -1437,6 +1490,7 @@ __STATIC_INLINE void LL_RTC_DisableOutRemap(RTC_TypeDef *RTCx)
*/
/** @defgroup RTC_LL_EF_Time Time
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -1738,6 +1792,7 @@ __STATIC_INLINE void LL_RTC_TIME_Synchronize(RTC_TypeDef *RTCx, uint32_t ShiftSe
*/
/** @defgroup RTC_LL_EF_Date Date
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -1973,6 +2028,7 @@ __STATIC_INLINE uint32_t LL_RTC_DATE_Get(RTC_TypeDef *RTCx)
*/
/** @defgroup RTC_LL_EF_ALARMA ALARMA
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -2339,6 +2395,7 @@ __STATIC_INLINE uint32_t LL_RTC_ALMA_GetSubSecond(RTC_TypeDef *RTCx)
*/
/** @defgroup RTC_LL_EF_ALARMB ALARMB
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -2705,6 +2762,7 @@ __STATIC_INLINE uint32_t LL_RTC_ALMB_GetSubSecond(RTC_TypeDef *RTCx)
*/
/** @defgroup RTC_LL_EF_Timestamp Timestamp
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -2946,6 +3004,7 @@ __STATIC_INLINE uint32_t LL_RTC_TS_GetSubSecond(RTC_TypeDef *RTCx)
*/
/** @defgroup RTC_LL_EF_Tamper_Timestamp Time-stamp on Tamper
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -3003,6 +3062,7 @@ __STATIC_INLINE void LL_RTC_TS_DisableOnTamper(RTC_TypeDef *RTCx)
*/
/** @defgroup RTC_LL_EF_Tamper Tamper
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -3565,6 +3625,7 @@ __STATIC_INLINE uint32_t LL_RTC_TAMPER_GetSamplingFreq(TAMP_TypeDef *TAMPx)
*/
/** @defgroup RTC_LL_EF_Wakeup Wakeup
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -3670,6 +3731,7 @@ __STATIC_INLINE uint32_t LL_RTC_WAKEUP_GetAutoReload(RTC_TypeDef *RTCx)
/** @defgroup RTC_LL_EF_Backup_Registers Backup_Registers
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -3885,6 +3947,7 @@ __STATIC_INLINE uint32_t LL_RTC_BKP_GetRegister(TAMP_TypeDef *TAMPx, uint32_t Ba
/** @defgroup RTC_LL_EF_Calibration Calibration
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -4011,6 +4074,7 @@ __STATIC_INLINE uint32_t LL_RTC_CAL_GetMinus(RTC_TypeDef *RTCx)
/** @defgroup RTC_LL_EF_FLAG_Management FLAG_Management
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -4740,6 +4804,7 @@ __STATIC_INLINE void LL_RTC_ClearFlag_TAMP3(TAMP_TypeDef *TAMPx)
*/
/** @defgroup RTC_LL_EF_IT_Management IT_Management
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -5149,6 +5214,7 @@ __STATIC_INLINE uint32_t LL_RTC_IsEnabledIT_TAMP3(TAMP_TypeDef *TAMPx)
#if defined (TAMP_ATCR1_TAMP1AM)
/** @defgroup RTC_LL_EF_Active_Tamper Active Tamper
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/**
@@ -5332,6 +5398,7 @@ __STATIC_INLINE uint32_t LL_RTC_IsActiveFlag_ATAMP_SEEDF(void)
#if defined(USE_FULL_LL_DRIVER) || defined(__rtems__)
/** @defgroup RTC_LL_EF_Init Initialization and de-initialization functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_ll_sdmmc.h b/bsps/arm/stm32h7/include/stm32h7xx_ll_sdmmc.h
index 51ec6e9abc..8d5d03e255 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_ll_sdmmc.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_ll_sdmmc.h
@@ -38,6 +38,7 @@
/* Exported types ------------------------------------------------------------*/
/** @defgroup SDMMC_LL_Exported_Types SDMMC_LL Exported Types
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -125,6 +126,7 @@ typedef struct
/* Exported constants --------------------------------------------------------*/
/** @defgroup SDMMC_LL_Exported_Constants SDMMC_LL Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SDMMC_ERROR_NONE ((uint32_t)0x00000000U) /*!< No error */
@@ -324,6 +326,7 @@ typedef struct
#define SDMMC_STOPTRANSFERTIMEOUT ((uint32_t)100000000U) /* Timeout for STOP TRANSMISSION command */
/** @defgroup SDMMC_LL_Clock_Edge Clock Edge
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SDMMC_CLOCK_EDGE_RISING ((uint32_t)0x00000000U)
@@ -336,6 +339,7 @@ typedef struct
*/
/** @defgroup SDMMC_LL_Clock_Power_Save Clock Power Saving
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SDMMC_CLOCK_POWER_SAVE_DISABLE ((uint32_t)0x00000000U)
@@ -348,6 +352,7 @@ typedef struct
*/
/** @defgroup SDMMC_LL_Bus_Wide Bus Width
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SDMMC_BUS_WIDE_1B ((uint32_t)0x00000000U)
@@ -362,6 +367,7 @@ typedef struct
*/
/** @defgroup SDMMC_LL_Speed_Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SDMMC_SPEED_MODE_AUTO ((uint32_t)0x00000000U)
@@ -381,6 +387,7 @@ typedef struct
*/
/** @defgroup SDMMC_LL_Hardware_Flow_Control Hardware Flow Control
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SDMMC_HARDWARE_FLOW_CONTROL_DISABLE ((uint32_t)0x00000000U)
@@ -393,6 +400,7 @@ typedef struct
*/
/** @defgroup SDMMC_LL_Clock_Division Clock Division
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/* SDMMC_CK frequency = SDMMCCLK / [2 * CLKDIV] */
@@ -402,6 +410,7 @@ typedef struct
*/
/** @defgroup SDMMC_LL_TRANSCEIVER_PRESENT Tranceiver Present
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SDMMC_TRANSCEIVER_UNKNOWN ((uint32_t)0x00000000U)
@@ -413,6 +422,7 @@ typedef struct
*/
/** @defgroup SDMMC_LL_Command_Index Command Index
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define IS_SDMMC_CMD_INDEX(INDEX) ((INDEX) < 0x40U)
@@ -421,6 +431,7 @@ typedef struct
*/
/** @defgroup SDMMC_LL_Response_Type Response Type
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SDMMC_RESPONSE_NO ((uint32_t)0x00000000U)
@@ -435,6 +446,7 @@ typedef struct
*/
/** @defgroup SDMMC_LL_Wait_Interrupt_State Wait Interrupt
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SDMMC_WAIT_NO ((uint32_t)0x00000000U)
@@ -449,6 +461,7 @@ typedef struct
*/
/** @defgroup SDMMC_LL_CPSM_State CPSM State
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SDMMC_CPSM_DISABLE ((uint32_t)0x00000000U)
@@ -461,6 +474,7 @@ typedef struct
*/
/** @defgroup SDMMC_LL_Response_Registers Response Register
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SDMMC_RESP1 ((uint32_t)0x00000000U)
@@ -474,6 +488,7 @@ typedef struct
((RESP) == SDMMC_RESP4))
/** @defgroup SDMMC_Internal_DMA_Mode SDMMC Internal DMA Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SDMMC_DISABLE_IDMA ((uint32_t)0x00000000)
@@ -486,6 +501,7 @@ typedef struct
*/
/** @defgroup SDMMC_LL_Data_Length Data Lenght
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define IS_SDMMC_DATA_LENGTH(LENGTH) ((LENGTH) <= 0x01FFFFFFU)
@@ -494,6 +510,7 @@ typedef struct
*/
/** @defgroup SDMMC_LL_Data_Block_Size Data Block Size
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SDMMC_DATABLOCK_SIZE_1B ((uint32_t)0x00000000U)
@@ -532,6 +549,7 @@ typedef struct
*/
/** @defgroup SDMMC_LL_Transfer_Direction Transfer Direction
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SDMMC_TRANSFER_DIR_TO_CARD ((uint32_t)0x00000000U)
@@ -544,6 +562,7 @@ typedef struct
*/
/** @defgroup SDMMC_LL_Transfer_Type Transfer Type
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SDMMC_TRANSFER_MODE_BLOCK ((uint32_t)0x00000000U)
@@ -556,6 +575,7 @@ typedef struct
*/
/** @defgroup SDMMC_LL_DPSM_State DPSM State
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SDMMC_DPSM_DISABLE ((uint32_t)0x00000000U)
@@ -568,6 +588,7 @@ typedef struct
*/
/** @defgroup SDMMC_LL_Read_Wait_Mode Read Wait Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SDMMC_READ_WAIT_MODE_DATA2 ((uint32_t)0x00000000U)
@@ -580,6 +601,7 @@ typedef struct
*/
/** @defgroup SDMMC_LL_Interrupt_sources Interrupt Sources
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SDMMC_IT_CCRCFAIL SDMMC_MASK_CCRCFAILIE
@@ -610,6 +632,7 @@ typedef struct
*/
/** @defgroup SDMMC_LL_Flags Flags
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define SDMMC_FLAG_CCRCFAIL SDMMC_STA_CCRCFAIL
@@ -667,10 +690,12 @@ typedef struct
/* Exported macro ------------------------------------------------------------*/
/** @defgroup SDMMC_LL_Exported_macros SDMMC_LL Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup SDMMC_LL_Register Bits And Addresses Definitions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief SDMMC_LL registers bit address in the alias region
* @{
*/
@@ -707,6 +732,7 @@ typedef struct
*/
/** @defgroup SDMMC_LL_Interrupt_Clock Interrupt And Clock Configuration
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief macros to handle interrupts and specific clock configurations
* @{
*/
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_ll_spi.h b/bsps/arm/stm32h7/include/stm32h7xx_ll_spi.h
index 2808474e53..437b27ef35 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_ll_spi.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_ll_spi.h
@@ -35,6 +35,7 @@ extern "C" {
#if defined(SPI1) || defined(SPI2) || defined(SPI3) || defined(SPI4) || defined(SPI5) || defined(SPI6)
/** @defgroup SPI_LL SPI
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -45,6 +46,7 @@ extern "C" {
/* Private macros ------------------------------------------------------------*/
#if defined(USE_FULL_LL_DRIVER) || defined(__rtems__)
/** @defgroup SPI_LL_Private_Macros SPI Private Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -115,10 +117,12 @@ typedef struct
/* Exported constants --------------------------------------------------------*/
/** @defgroup SPI_LL_Exported_Constants SPI Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup SPI_LL_EC_GET_FLAG Get Flags Defines
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Flags defines which can be used with LL_SPI_ReadReg function
* @{
*/
@@ -141,6 +145,7 @@ typedef struct
*/
/** @defgroup SPI_LL_EC_IT IT Defines
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief IT defines which can be used with LL_SPI_ReadReg and LL_SPI_WriteReg functions
* @{
*/
@@ -160,6 +165,7 @@ typedef struct
*/
/** @defgroup SPI_LL_EC_MODE Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_SPI_MODE_MASTER (SPI_CFG2_MASTER)
@@ -169,6 +175,7 @@ typedef struct
*/
/** @defgroup SPI_LL_EC_SS_LEVEL SS Level
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_SPI_SS_LEVEL_HIGH (SPI_CR1_SSI)
@@ -178,6 +185,7 @@ typedef struct
*/
/** @defgroup SPI_LL_EC_SS_IDLENESS SS Idleness
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_SPI_SS_IDLENESS_00CYCLE (0x00000000UL)
@@ -201,6 +209,7 @@ typedef struct
*/
/** @defgroup SPI_LL_EC_ID_IDLENESS Master Inter-Data Idleness
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_SPI_ID_IDLENESS_00CYCLE (0x00000000UL)
@@ -224,6 +233,7 @@ typedef struct
*/
/** @defgroup SPI_LL_EC_TXCRCINIT_ALL TXCRC Init All
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_SPI_TXCRCINIT_ALL_ZERO_PATTERN (0x00000000UL)
@@ -233,6 +243,7 @@ typedef struct
*/
/** @defgroup SPI_LL_EC_RXCRCINIT_ALL RXCRC Init All
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_SPI_RXCRCINIT_ALL_ZERO_PATTERN (0x00000000UL)
@@ -242,6 +253,7 @@ typedef struct
*/
/** @defgroup SPI_LL_EC_UDR_CONFIG_REGISTER UDR Config Register
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_SPI_UDR_CONFIG_REGISTER_PATTERN (0x00000000UL)
@@ -252,6 +264,7 @@ typedef struct
*/
/** @defgroup SPI_LL_EC_UDR_DETECT_BEGIN_DATA UDR Detect Begin Data
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_SPI_UDR_DETECT_BEGIN_DATA_FRAME (0x00000000UL)
@@ -262,6 +275,7 @@ typedef struct
*/
/** @defgroup SPI_LL_EC_PROTOCOL Protocol
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_SPI_PROTOCOL_MOTOROLA (0x00000000UL)
@@ -271,6 +285,7 @@ typedef struct
*/
/** @defgroup SPI_LL_EC_PHASE Phase
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_SPI_PHASE_1EDGE (0x00000000UL)
@@ -280,6 +295,7 @@ typedef struct
*/
/** @defgroup SPI_LL_EC_POLARITY Polarity
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_SPI_POLARITY_LOW (0x00000000UL)
@@ -289,6 +305,7 @@ typedef struct
*/
/** @defgroup SPI_LL_EC_NSS_POLARITY NSS Polarity
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_SPI_NSS_POLARITY_LOW (0x00000000UL)
@@ -298,6 +315,7 @@ typedef struct
*/
/** @defgroup SPI_LL_EC_BAUDRATEPRESCALER Baud Rate Prescaler
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_SPI_BAUDRATEPRESCALER_DIV2 (0x00000000UL)
@@ -313,6 +331,7 @@ typedef struct
*/
/** @defgroup SPI_LL_EC_BIT_ORDER Bit Order
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_SPI_LSB_FIRST (SPI_CFG2_LSBFRST)
@@ -322,6 +341,7 @@ typedef struct
*/
/** @defgroup SPI_LL_EC_TRANSFER_MODE Transfer Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_SPI_FULL_DUPLEX (0x00000000UL)
@@ -334,6 +354,7 @@ typedef struct
*/
/** @defgroup SPI_LL_EC_DATAWIDTH Data Width
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_SPI_DATAWIDTH_4BIT (SPI_CFG1_DSIZE_0 | SPI_CFG1_DSIZE_1)
@@ -370,6 +391,7 @@ typedef struct
*/
/** @defgroup SPI_LL_EC_FIFO_TH FIFO Threshold
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_SPI_FIFO_TH_01DATA (0x00000000UL)
@@ -395,6 +417,7 @@ typedef struct
#if defined(USE_FULL_LL_DRIVER) || defined(__rtems__)
/** @defgroup SPI_LL_EC_CRC_CALCULATION CRC Calculation
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_SPI_CRCCALCULATION_DISABLE (0x00000000UL) /*!< CRC calculation disabled */
@@ -405,6 +428,7 @@ typedef struct
#endif /* USE_FULL_LL_DRIVER */
/** @defgroup SPI_LL_EC_CRC CRC
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_SPI_CRC_4BIT (SPI_CFG1_CRCSIZE_0 | SPI_CFG1_CRCSIZE_1)
@@ -441,6 +465,7 @@ typedef struct
*/
/** @defgroup SPI_LL_EC_NSS_MODE NSS Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_SPI_NSS_SOFT (SPI_CFG2_SSM)
@@ -451,6 +476,7 @@ typedef struct
*/
/** @defgroup SPI_LL_EC_RX_FIFO RxFIFO Packing LeVel
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_SPI_RX_FIFO_0PACKET (0x00000000UL) /* 0 or multiple of 4 packet available is the RxFIFO */
@@ -467,10 +493,12 @@ typedef struct
/* Exported macro ------------------------------------------------------------*/
/** @defgroup SPI_LL_Exported_Macros SPI Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup SPI_LL_EM_WRITE_READ Common Write and read registers Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -502,10 +530,12 @@ typedef struct
/* Exported functions --------------------------------------------------------*/
/** @defgroup SPI_LL_Exported_Functions SPI Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup SPI_LL_EF_Configuration Configuration
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -1648,6 +1678,7 @@ __STATIC_INLINE uint32_t LL_SPI_IsEnabledNSSPulse(SPI_TypeDef *SPIx)
*/
/** @defgroup SPI_LL_EF_FLAG_Management FLAG_Management
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -1935,6 +1966,7 @@ __STATIC_INLINE void LL_SPI_ClearFlag_SUSP(SPI_TypeDef *SPIx)
*/
/** @defgroup SPI_LL_EF_IT_Management IT_Management
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -2306,6 +2338,7 @@ __STATIC_INLINE uint32_t LL_SPI_IsEnabledIT_TSER(SPI_TypeDef *SPIx)
*/
/** @defgroup SPI_LL_EF_DMA_Management DMA Management
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -2380,6 +2413,7 @@ __STATIC_INLINE uint32_t LL_SPI_IsEnabledDMAReq_TX(SPI_TypeDef *SPIx)
*/
/** @defgroup SPI_LL_EF_DATA_Management DATA_Management
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -2531,6 +2565,7 @@ __STATIC_INLINE uint32_t LL_SPI_GetTxCRC(SPI_TypeDef *SPIx)
#if defined(USE_FULL_LL_DRIVER) || defined(__rtems__)
/** @defgroup SPI_LL_EF_Init Initialization and de-initialization functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -2547,6 +2582,7 @@ void LL_SPI_StructInit(LL_SPI_InitTypeDef *SPI_InitStruct);
*/
/** @defgroup I2S_LL I2S
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -2557,6 +2593,7 @@ void LL_SPI_StructInit(LL_SPI_InitTypeDef *SPI_InitStruct);
/* Exported types ------------------------------------------------------------*/
#if defined(USE_FULL_LL_DRIVER) || defined(__rtems__)
/** @defgroup I2S_LL_ES_INIT I2S Exported Init structure
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -2610,10 +2647,12 @@ typedef struct
/* Exported constants --------------------------------------------------------*/
/** @defgroup I2S_LL_Exported_Constants I2S Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup I2S_LL_EC_DATA_FORMAT Data Format
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_I2S_DATAFORMAT_16B (0x00000000UL)
@@ -2626,6 +2665,7 @@ typedef struct
*/
/** @defgroup I2S_LL_EC_CHANNEL_LENGTH_TYPE Type of Channel Length
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_I2S_SLAVE_VARIABLE_CH_LENGTH (0x00000000UL)
@@ -2635,6 +2675,7 @@ typedef struct
*/
/** @defgroup I2S_LL_EC_POLARITY Clock Polarity
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_I2S_POLARITY_LOW (0x00000000UL)
@@ -2644,6 +2685,7 @@ typedef struct
*/
/** @defgroup I2S_LL_EC_STANDARD I2S Standard
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_I2S_STANDARD_PHILIPS (0x00000000UL)
@@ -2656,6 +2698,7 @@ typedef struct
*/
/** @defgroup I2S_LL_EC_MODE Operation Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_I2S_MODE_SLAVE_TX (0x00000000UL)
@@ -2669,6 +2712,7 @@ typedef struct
*/
/** @defgroup I2S_LL_EC_PRESCALER_PARITY Prescaler Factor
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_I2S_PRESCALER_PARITY_EVEN (0x00000000UL) /*!< Odd factor: Real divider value is = I2SDIV * 2 */
@@ -2678,6 +2722,7 @@ typedef struct
*/
/** @defgroup I2S_LL_EC_FIFO_TH FIFO Threshold Level
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_I2S_FIFO_TH_01DATA (LL_SPI_FIFO_TH_01DATA)
@@ -2693,6 +2738,7 @@ typedef struct
*/
/** @defgroup I2S_LL_EC_BIT_ORDER Transmission Bit Order
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_I2S_LSB_FIRST (LL_SPI_LSB_FIRST)
@@ -2704,6 +2750,7 @@ typedef struct
#if defined(USE_FULL_LL_DRIVER) || defined(__rtems__)
/** @defgroup I2S_LL_EC_MCLK_OUTPUT MCLK Output
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_I2S_MCLK_OUTPUT_DISABLE (0x00000000UL)
@@ -2713,6 +2760,7 @@ typedef struct
*/
/** @defgroup I2S_LL_EC_AUDIO_FREQ Audio Frequency
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -2737,10 +2785,12 @@ typedef struct
/* Exported macro ------------------------------------------------------------*/
/** @defgroup I2S_LL_Exported_Macros I2S Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup I2S_LL_EM_WRITE_READ Common Write and read registers Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -2772,10 +2822,12 @@ typedef struct
/* Exported functions --------------------------------------------------------*/
/** @defgroup I2S_LL_Exported_Functions I2S Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup I2S_LL_EF_Configuration Configuration
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -3274,6 +3326,7 @@ __STATIC_INLINE uint32_t LL_I2S_IsEnabledMasterClock(SPI_TypeDef *SPIx)
/** @defgroup I2S_LL_EF_FLAG_Management FLAG_Management
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -3370,6 +3423,7 @@ __STATIC_INLINE void LL_I2S_ClearFlag_FRE(SPI_TypeDef *SPIx)
*/
/** @defgroup I2S_LL_EF_IT_Management IT_Management
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -3543,6 +3597,7 @@ __STATIC_INLINE uint32_t LL_I2S_IsEnabledIT_FRE(SPI_TypeDef *SPIx)
*/
/** @defgroup I2S_LL_EF_DMA_Management DMA_Management
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -3617,6 +3672,7 @@ __STATIC_INLINE uint32_t LL_I2S_IsEnabledDMAReq_TX(SPI_TypeDef *SPIx)
*/
/** @defgroup I2S_LL_EF_DATA_Management DATA_Management
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -3673,6 +3729,7 @@ __STATIC_INLINE void LL_I2S_TransmitData32(SPI_TypeDef *SPIx, uint32_t TxData)
#if defined(USE_FULL_LL_DRIVER) || defined(__rtems__)
/** @defgroup SPI_LL_EF_Init Initialization and de-initialization functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_ll_swpmi.h b/bsps/arm/stm32h7/include/stm32h7xx_ll_swpmi.h
index bfe722ee45..7f07516521 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_ll_swpmi.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_ll_swpmi.h
@@ -34,6 +34,7 @@ extern "C" {
/** @defgroup SWPMI_LL SWPMI
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -43,6 +44,7 @@ extern "C" {
/* Private macros ------------------------------------------------------------*/
#if defined(USE_FULL_LL_DRIVER) || defined(__rtems__)
/** @defgroup SWPMI_LL_Private_Macros SWPMI Private Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/**
@@ -53,6 +55,7 @@ extern "C" {
/* Exported types ------------------------------------------------------------*/
#if defined(USE_FULL_LL_DRIVER) || defined(__rtems__)
/** @defgroup SWPMI_LL_ES_INIT SWPMI Exported Init structure
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -91,10 +94,12 @@ typedef struct
/* Exported constants --------------------------------------------------------*/
/** @defgroup SWPMI_LL_Exported_Constants SWPMI Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup SWPMI_LL_EC_CLEAR_FLAG Clear Flags Defines
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Flags defines which can be used with LL_SWPMI_WriteReg function
* @{
*/
@@ -110,6 +115,7 @@ typedef struct
*/
/** @defgroup SWPMI_LL_EC_GET_FLAG Get Flags Defines
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Flags defines which can be used with LL_SWPMI_ReadReg function
* @{
*/
@@ -129,6 +135,7 @@ typedef struct
*/
/** @defgroup SWPMI_LL_EC_IT IT Defines
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief IT defines which can be used with LL_SWPMI_ReadReg and LL_SWPMI_WriteReg functions
* @{
*/
@@ -146,6 +153,7 @@ typedef struct
*/
/** @defgroup SWPMI_LL_EC_SW_BUFFER_RX SW BUFFER RX
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_SWPMI_SW_BUFFER_RX_SINGLE ((uint32_t)0x00000000) /*!< Single software buffer mode for reception */
@@ -155,6 +163,7 @@ typedef struct
*/
/** @defgroup SWPMI_LL_EC_SW_BUFFER_TX SW BUFFER TX
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_SWPMI_SW_BUFFER_TX_SINGLE ((uint32_t)0x00000000) /*!< Single software buffer mode for transmission */
@@ -164,6 +173,7 @@ typedef struct
*/
/** @defgroup SWPMI_LL_EC_VOLTAGE_CLASS VOLTAGE CLASS
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_SWPMI_VOLTAGE_CLASS_C ((uint32_t)0x00000000) /*!< SWPMI_IO uses directly VDD voltage to operate in class C */
@@ -173,6 +183,7 @@ typedef struct
*/
/** @defgroup SWPMI_LL_EC_DMA_REG_DATA DMA register data
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_SWPMI_DMA_REG_DATA_TRANSMIT (uint32_t)0 /*!< Get address of data register used for transmission */
@@ -187,10 +198,12 @@ typedef struct
/* Exported macro ------------------------------------------------------------*/
/** @defgroup SWPMI_LL_Exported_Macros SWPMI Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup SWPMI_LL_EM_WRITE_READ Common Write and read registers Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -215,6 +228,7 @@ typedef struct
*/
/** @defgroup SWPMI_LL_EM_BitRate Bit rate calculation helper Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -237,10 +251,12 @@ typedef struct
/* Exported functions --------------------------------------------------------*/
/** @defgroup SWPMI_LL_Exported_Functions SWPMI Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup SWPMI_LL_EF_Configuration Configuration
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -466,6 +482,7 @@ __STATIC_INLINE uint32_t LL_SWPMI_GetVoltageClass(SWPMI_TypeDef *SWPMIx)
*/
/** @defgroup SWPMI_LL_EF_FLAG_Management FLAG_Management
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -698,6 +715,7 @@ __STATIC_INLINE void LL_SWPMI_ClearFlag_RDY(SWPMI_TypeDef *SWPMIx)
*/
/** @defgroup SWPMI_LL_EF_IT_Management IT_Management
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -1036,6 +1054,7 @@ __STATIC_INLINE uint32_t LL_SWPMI_IsEnabledIT_RXBF(SWPMI_TypeDef *SWPMIx)
*/
/** @defgroup SWPMI_LL_EF_DMA_Management DMA_Management
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -1138,6 +1157,7 @@ __STATIC_INLINE uint32_t LL_SWPMI_DMA_GetRegAddr(SWPMI_TypeDef *SWPMIx, uint32_t
*/
/** @defgroup SWPMI_LL_EF_Data_Management Data_Management
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -1208,6 +1228,7 @@ __STATIC_INLINE void LL_SWPMI_DisableTXBypass(SWPMI_TypeDef *SWPMIx)
#if defined(USE_FULL_LL_DRIVER) || defined(__rtems__)
/** @defgroup SWPMI_LL_EF_Init Initialization and de-initialization functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_ll_system.h b/bsps/arm/stm32h7/include/stm32h7xx_ll_system.h
index 77fc4ff5c4..450f8c293f 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_ll_system.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_ll_system.h
@@ -47,6 +47,7 @@ extern "C" {
#if defined (FLASH) || defined (SYSCFG) || defined (DBGMCU)
/** @defgroup SYSTEM_LL SYSTEM
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -55,9 +56,11 @@ extern "C" {
/* Private constants ---------------------------------------------------------*/
/** @defgroup SYSTEM_LL_Private_Constants SYSTEM Private Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup SYSTEM_LL_EC_FLASH_BANK1_SECTORS SYSCFG Flash Bank1 sectors bits status
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_SYSCFG_FLASH_B1_SECTOR0_STATUS_BIT 0x10000U
@@ -73,6 +76,7 @@ extern "C" {
*/
/** @defgroup SYSTEM_LL_EC_FLASH_BANK2_SECTORS SYSCFG Flash Bank2 sectors bits status
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_SYSCFG_FLASH_B2_SECTOR0_STATUS_BIT 0x10000U
@@ -95,10 +99,12 @@ extern "C" {
/* Exported types ------------------------------------------------------------*/
/* Exported constants --------------------------------------------------------*/
/** @defgroup SYSTEM_LL_Exported_Constants SYSTEM Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup SYSTEM_LL_EC_I2C_FASTMODEPLUS SYSCFG I2C FASTMODEPLUS
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_SYSCFG_I2C_FASTMODEPLUS_I2C1 SYSCFG_PMCR_I2C1_FMP /*!< Enable Fast Mode Plus for I2C1 */
@@ -114,6 +120,7 @@ extern "C" {
*/
/** @defgroup SYSTEM_LL_EC_ANALOG_SWITCH Analog Switch control
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_SYSCFG_ANALOG_SWITCH_BOOSTEN SYSCFG_PMCR_BOOSTEN /*!< I/O analog switch voltage booster enable */
@@ -127,6 +134,7 @@ extern "C" {
#if defined(SYSCFG_PMCR_EPIS_SEL)
/** @defgroup SYSTEM_LL_EC_EPIS Ethernet PHY Interface Selection
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_SYSCFG_ETH_MII 0x00000000U /*!< ETH Media MII interface */
@@ -137,6 +145,7 @@ extern "C" {
#endif /* SYSCFG_PMCR_EPIS_SEL */
/** @defgroup SYSTEM_LL_EC_EXTI_PORT SYSCFG EXTI PORT
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_SYSCFG_EXTI_PORTA 0U /*!< EXTI PORT A */
@@ -155,6 +164,7 @@ extern "C" {
*/
/** @defgroup SYSTEM_LL_EC_EXTI_LINE SYSCFG EXTI LINE
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_SYSCFG_EXTI_LINE0 ((0x000FUL << 16U) | 0U) /*!< EXTI_POSITION_0 | EXTICR[0] */
@@ -178,6 +188,7 @@ extern "C" {
*/
/** @defgroup SYSTEM_LL_EC_TIMBREAK SYSCFG TIMER BREAK
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_SYSCFG_TIMBREAK_AXISRAM_DBL_ECC SYSCFG_CFGR_AXISRAML /*!< Enables and locks the AXIRAM double ECC error signal
@@ -222,6 +233,7 @@ extern "C" {
*/
/** @defgroup SYSTEM_LL_EC_CS SYSCFG I/O compensation cell Code selection
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_SYSCFG_CELL_CODE 0U
@@ -231,6 +243,7 @@ extern "C" {
*/
/** @defgroup SYSTEM_LL_IWDG1_CONTROL_MODES SYSCFG IWDG1 control modes
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_SYSCFG_IWDG1_SW_CONTROL_MODE 0U
@@ -241,6 +254,7 @@ extern "C" {
#if defined (DUAL_CORE)
/** @defgroup SYSTEM_LL_IWDG2_CONTROL_MODES SYSCFG IWDG2 control modes
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_SYSCFG_IWDG2_SW_CONTROL_MODE 0U
@@ -251,6 +265,7 @@ extern "C" {
#endif /* DUAL_CORE */
/** @defgroup SYSTEM_LL_DTCM_RAM_SIZE SYSCFG DTCM RAM size configuration
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_SYSCFG_DTCM_RAM_SIZE_2KB 0U
@@ -262,6 +277,7 @@ extern "C" {
*/
#ifdef SYSCFG_PKGR_PKG
/** @defgroup SYSTEM_LL_PACKAGE SYSCFG device package
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_SYSCFG_LQFP100_PACKAGE 0U
@@ -274,6 +290,7 @@ extern "C" {
#endif /* SYSCFG_PKGR_PKG */
/** @defgroup SYSTEM_LL_SYSCFG_BOR SYSCFG Brownout Reset Threshold Level
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_SYSCFG_BOR_OFF_RESET_LEVEL 0x00000000U
@@ -286,6 +303,7 @@ extern "C" {
*/
/** @defgroup SYSTEM_LL_EC_TRACE DBGMCU TRACE Pin Assignment
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_DBGMCU_TRACE_NONE 0x00000000U /*!< TRACE pins not assigned (default state) */
@@ -298,6 +316,7 @@ extern "C" {
*/
/** @defgroup SYSTEM_LL_EC_APB1_GRP1_STOP_IP DBGMCU APB1 GRP1 STOP IP
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_DBGMCU_APB1_GRP1_TIM2_STOP DBGMCU_APB1LFZ1_DBG_TIM2 /*!< TIM2 counter stopped when core is halted */
@@ -318,6 +337,7 @@ extern "C" {
*/
/** @defgroup SYSTEM_LL_EC_APB1_GRP2_STOP_IP DBGMCU APB1 GRP2 STOP IP
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_DBGMCU_APB1_GRP2_FDCAN_STOP DBGMCU_APB1HFZ1_DBG_FDCAN /*!< FDCAN is frozen while the core is in debug mode */
@@ -326,6 +346,7 @@ extern "C" {
*/
/** @defgroup SYSTEM_LL_EC_APB2_GRP1_STOP_IP DBGMCU APB2 GRP1 STOP IP
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_DBGMCU_APB2_GRP1_TIM1_STOP DBGMCU_APB2FZ1_DBG_TIM1 /*!< TIM1 counter stopped when core is halted */
@@ -339,6 +360,7 @@ extern "C" {
*/
/** @defgroup SYSTEM_LL_EC_APB3_GRP1_STOP_IP DBGMCU APB3 GRP1 STOP IP
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_DBGMCU_APB3_GRP1_WWDG1_STOP DBGMCU_APB3FZ1_DBG_WWDG1 /*!< WWDG1 is frozen while the core is in debug mode */
@@ -347,6 +369,7 @@ extern "C" {
*/
/** @defgroup SYSTEM_LL_EC_APB4_GRP1_STOP_IP DBGMCU APB4 GRP1 STOP IP
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_DBGMCU_APB4_GRP1_I2C4_STOP DBGMCU_APB4FZ1_DBG_I2C4 /*!< I2C4 is frozen while the core is in debug mode */
@@ -361,6 +384,7 @@ extern "C" {
*/
/** @defgroup SYSTEM_LL_EC_LATENCY FLASH LATENCY
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_FLASH_LATENCY_0 FLASH_ACR_LATENCY_0WS /*!< FLASH Zero wait state */
@@ -383,10 +407,12 @@ extern "C" {
/* Exported functions --------------------------------------------------------*/
/** @defgroup SYSTEM_LL_Exported_Functions SYSTEM Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup SYSTEM_LL_EF_SYSCFG SYSCFG
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -1653,6 +1679,7 @@ __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_IOHSLV(void)
*/
/** @defgroup SYSTEM_LL_EF_DBGMCU DBGMCU
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -2144,6 +2171,7 @@ __STATIC_INLINE void LL_DBGMCU_APB4_GRP1_UnFreezePeriph(uint32_t Periphs)
*/
/** @defgroup SYSTEM_LL_EF_FLASH FLASH
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -2190,6 +2218,7 @@ __STATIC_INLINE uint32_t LL_FLASH_GetLatency(void)
#if defined(DUAL_CORE)
/** @defgroup SYSTEM_LL_EF_ART ART
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_ll_tim.h b/bsps/arm/stm32h7/include/stm32h7xx_ll_tim.h
index a196cbe89e..ef92960c8e 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_ll_tim.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_ll_tim.h
@@ -35,12 +35,14 @@ extern "C" {
#if defined (TIM1) || defined (TIM2) || defined (TIM3) || defined (TIM4) || defined (TIM5) || defined (TIM6) || defined (TIM7) || defined (TIM8) || defined (TIM12) || defined (TIM13) || defined (TIM14) || defined (TIM15) || defined (TIM16) || defined (TIM17)
/** @defgroup TIM_LL TIM
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/* Private types -------------------------------------------------------------*/
/* Private variables ---------------------------------------------------------*/
/** @defgroup TIM_LL_Private_Variables TIM Private Variables
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
static const uint8_t OFFSET_TAB_CCMRx[] =
@@ -113,6 +115,7 @@ static const uint8_t SHIFT_TAB_OISx[] =
/* Private constants ---------------------------------------------------------*/
/** @defgroup TIM_LL_Private_Constants TIM Private Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -145,6 +148,7 @@ static const uint8_t SHIFT_TAB_OISx[] =
/* Private macros ------------------------------------------------------------*/
/** @defgroup TIM_LL_Private_Macros TIM Private Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @brief Convert channel id into channel index.
@@ -190,6 +194,7 @@ static const uint8_t SHIFT_TAB_OISx[] =
/* Exported types ------------------------------------------------------------*/
#if defined(USE_FULL_LL_DRIVER) || defined(__rtems__)
/** @defgroup TIM_LL_ES_INIT TIM Exported Init structure
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -481,10 +486,12 @@ typedef struct
/* Exported constants --------------------------------------------------------*/
/** @defgroup TIM_LL_Exported_Constants TIM Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup TIM_LL_EC_GET_FLAG Get Flags Defines
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Flags defines which can be used with LL_TIM_ReadReg function.
* @{
*/
@@ -510,6 +517,7 @@ typedef struct
#if defined(USE_FULL_LL_DRIVER) || defined(__rtems__)
/** @defgroup TIM_LL_EC_BREAK_ENABLE Break Enable
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_TIM_BREAK_DISABLE 0x00000000U /*!< Break function disabled */
@@ -519,6 +527,7 @@ typedef struct
*/
/** @defgroup TIM_LL_EC_BREAK2_ENABLE Break2 Enable
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_TIM_BREAK2_DISABLE 0x00000000U /*!< Break2 function disabled */
@@ -528,6 +537,7 @@ typedef struct
*/
/** @defgroup TIM_LL_EC_AUTOMATICOUTPUT_ENABLE Automatic output enable
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_TIM_AUTOMATICOUTPUT_DISABLE 0x00000000U /*!< MOE can be set only by software */
@@ -538,6 +548,7 @@ typedef struct
#endif /* USE_FULL_LL_DRIVER */
/** @defgroup TIM_LL_EC_IT IT Defines
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief IT defines which can be used with LL_TIM_ReadReg and LL_TIM_WriteReg functions.
* @{
*/
@@ -554,6 +565,7 @@ typedef struct
*/
/** @defgroup TIM_LL_EC_UPDATESOURCE Update Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_TIM_UPDATESOURCE_REGULAR 0x00000000U /*!< Counter overflow/underflow, Setting the UG bit or Update generation through the slave mode controller generates an update request */
@@ -563,6 +575,7 @@ typedef struct
*/
/** @defgroup TIM_LL_EC_ONEPULSEMODE One Pulse Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_TIM_ONEPULSEMODE_SINGLE TIM_CR1_OPM /*!< Counter is not stopped at update event */
@@ -572,6 +585,7 @@ typedef struct
*/
/** @defgroup TIM_LL_EC_COUNTERMODE Counter Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_TIM_COUNTERMODE_UP 0x00000000U /*!<Counter used as upcounter */
@@ -584,6 +598,7 @@ typedef struct
*/
/** @defgroup TIM_LL_EC_CLOCKDIVISION Clock Division
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_TIM_CLOCKDIVISION_DIV1 0x00000000U /*!< tDTS=tCK_INT */
@@ -594,6 +609,7 @@ typedef struct
*/
/** @defgroup TIM_LL_EC_COUNTERDIRECTION Counter Direction
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_TIM_COUNTERDIRECTION_UP 0x00000000U /*!< Timer counter counts up */
@@ -603,6 +619,7 @@ typedef struct
*/
/** @defgroup TIM_LL_EC_CCUPDATESOURCE Capture Compare Update Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_TIM_CCUPDATESOURCE_COMG_ONLY 0x00000000U /*!< Capture/compare control bits are updated by setting the COMG bit only */
@@ -612,6 +629,7 @@ typedef struct
*/
/** @defgroup TIM_LL_EC_CCDMAREQUEST Capture Compare DMA Request
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_TIM_CCDMAREQUEST_CC 0x00000000U /*!< CCx DMA request sent when CCx event occurs */
@@ -621,6 +639,7 @@ typedef struct
*/
/** @defgroup TIM_LL_EC_LOCKLEVEL Lock Level
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_TIM_LOCKLEVEL_OFF 0x00000000U /*!< LOCK OFF - No bit is write protected */
@@ -632,6 +651,7 @@ typedef struct
*/
/** @defgroup TIM_LL_EC_CHANNEL Channel
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_TIM_CHANNEL_CH1 TIM_CCER_CC1E /*!< Timer input/output channel 1 */
@@ -649,6 +669,7 @@ typedef struct
#if defined(USE_FULL_LL_DRIVER) || defined(__rtems__)
/** @defgroup TIM_LL_EC_OCSTATE Output Configuration State
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_TIM_OCSTATE_DISABLE 0x00000000U /*!< OCx is not active */
@@ -659,6 +680,7 @@ typedef struct
#endif /* USE_FULL_LL_DRIVER */
/** @defgroup TIM_LL_EC_OCMODE Output Configuration Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_TIM_OCMODE_FROZEN 0x00000000U /*!<The comparison between the output compare register TIMx_CCRy and the counter TIMx_CNT has no effect on the output channel level */
@@ -680,6 +702,7 @@ typedef struct
*/
/** @defgroup TIM_LL_EC_OCPOLARITY Output Configuration Polarity
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_TIM_OCPOLARITY_HIGH 0x00000000U /*!< OCxactive high*/
@@ -689,6 +712,7 @@ typedef struct
*/
/** @defgroup TIM_LL_EC_OCIDLESTATE Output Configuration Idle State
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_TIM_OCIDLESTATE_LOW 0x00000000U /*!<OCx=0 (after a dead-time if OC is implemented) when MOE=0*/
@@ -698,6 +722,7 @@ typedef struct
*/
/** @defgroup TIM_LL_EC_GROUPCH5 GROUPCH5
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_TIM_GROUPCH5_NONE 0x00000000U /*!< No effect of OC5REF on OC1REFC, OC2REFC and OC3REFC */
@@ -709,6 +734,7 @@ typedef struct
*/
/** @defgroup TIM_LL_EC_ACTIVEINPUT Active Input Selection
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_TIM_ACTIVEINPUT_DIRECTTI (TIM_CCMR1_CC1S_0 << 16U) /*!< ICx is mapped on TIx */
@@ -719,6 +745,7 @@ typedef struct
*/
/** @defgroup TIM_LL_EC_ICPSC Input Configuration Prescaler
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_TIM_ICPSC_DIV1 0x00000000U /*!< No prescaler, capture is done each time an edge is detected on the capture input */
@@ -730,6 +757,7 @@ typedef struct
*/
/** @defgroup TIM_LL_EC_IC_FILTER Input Configuration Filter
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_TIM_IC_FILTER_FDIV1 0x00000000U /*!< No filter, sampling is done at fDTS */
@@ -753,6 +781,7 @@ typedef struct
*/
/** @defgroup TIM_LL_EC_IC_POLARITY Input Configuration Polarity
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_TIM_IC_POLARITY_RISING 0x00000000U /*!< The circuit is sensitive to TIxFP1 rising edge, TIxFP1 is not inverted */
@@ -763,6 +792,7 @@ typedef struct
*/
/** @defgroup TIM_LL_EC_CLOCKSOURCE Clock Source
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_TIM_CLOCKSOURCE_INTERNAL 0x00000000U /*!< The timer is clocked by the internal clock provided from the RCC */
@@ -773,6 +803,7 @@ typedef struct
*/
/** @defgroup TIM_LL_EC_ENCODERMODE Encoder Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_TIM_ENCODERMODE_X2_TI1 TIM_SMCR_SMS_0 /*!< Quadrature encoder mode 1, x2 mode - Counter counts up/down on TI1FP1 edge depending on TI2FP2 level */
@@ -783,6 +814,7 @@ typedef struct
*/
/** @defgroup TIM_LL_EC_TRGO Trigger Output
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_TIM_TRGO_RESET 0x00000000U /*!< UG bit from the TIMx_EGR register is used as trigger output */
@@ -798,6 +830,7 @@ typedef struct
*/
/** @defgroup TIM_LL_EC_TRGO2 Trigger Output 2
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_TIM_TRGO2_RESET 0x00000000U /*!< UG bit from the TIMx_EGR register is used as trigger output 2 */
@@ -821,6 +854,7 @@ typedef struct
*/
/** @defgroup TIM_LL_EC_SLAVEMODE Slave Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_TIM_SLAVEMODE_DISABLED 0x00000000U /*!< Slave mode disabled */
@@ -833,6 +867,7 @@ typedef struct
*/
/** @defgroup TIM_LL_EC_TS Trigger Selection
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_TIM_TS_ITR0 0x00000000U /*!< Internal Trigger 0 (ITR0) is used as trigger input */
@@ -858,6 +893,7 @@ typedef struct
*/
/** @defgroup TIM_LL_EC_ETR_POLARITY External Trigger Polarity
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_TIM_ETR_POLARITY_NONINVERTED 0x00000000U /*!< ETR is non-inverted, active at high level or rising edge */
@@ -867,6 +903,7 @@ typedef struct
*/
/** @defgroup TIM_LL_EC_ETR_PRESCALER External Trigger Prescaler
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_TIM_ETR_PRESCALER_DIV1 0x00000000U /*!< ETR prescaler OFF */
@@ -878,6 +915,7 @@ typedef struct
*/
/** @defgroup TIM_LL_EC_ETR_FILTER External Trigger Filter
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_TIM_ETR_FILTER_FDIV1 0x00000000U /*!< No filter, sampling is done at fDTS */
@@ -947,6 +985,7 @@ typedef struct
#define LL_TIM_TIM24_ETRSOURCE_SAI1_FSB TIM2_AF1_ETRSEL_2 /* !< TIM24_ETR is connected to SAI1 FS_B */
/** @defgroup TIM_LL_EC_BREAK_POLARITY break polarity
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_TIM_BREAK_POLARITY_LOW 0x00000000U /*!< Break input BRK is active low */
@@ -956,6 +995,7 @@ typedef struct
*/
/** @defgroup TIM_LL_EC_BREAK_FILTER break filter
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_TIM_BREAK_FILTER_FDIV1 0x00000000U /*!< No filter, BRK acts asynchronously */
@@ -979,6 +1019,7 @@ typedef struct
*/
/** @defgroup TIM_LL_EC_BREAK2_POLARITY BREAK2 POLARITY
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_TIM_BREAK2_POLARITY_LOW 0x00000000U /*!< Break input BRK2 is active low */
@@ -988,6 +1029,7 @@ typedef struct
*/
/** @defgroup TIM_LL_EC_BREAK2_FILTER BREAK2 FILTER
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_TIM_BREAK2_FILTER_FDIV1 0x00000000U /*!< No filter, BRK acts asynchronously */
@@ -1011,6 +1053,7 @@ typedef struct
*/
/** @defgroup TIM_LL_EC_OSSI OSSI
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_TIM_OSSI_DISABLE 0x00000000U /*!< When inactive, OCx/OCxN outputs are disabled */
@@ -1020,6 +1063,7 @@ typedef struct
*/
/** @defgroup TIM_LL_EC_OSSR OSSR
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_TIM_OSSR_DISABLE 0x00000000U /*!< When inactive, OCx/OCxN outputs are disabled */
@@ -1030,6 +1074,7 @@ typedef struct
#if defined(TIM_BREAK_INPUT_SUPPORT)
/** @defgroup TIM_LL_EC_BREAK_INPUT BREAK INPUT
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_TIM_BREAK_INPUT_BKIN 0x00000000U /*!< TIMx_BKIN input */
@@ -1039,6 +1084,7 @@ typedef struct
*/
/** @defgroup TIM_LL_EC_BKIN_SOURCE BKIN SOURCE
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_TIM_BKIN_SOURCE_BKIN TIM1_AF1_BKINE /*!< BKIN input from AF controller */
@@ -1050,6 +1096,7 @@ typedef struct
*/
/** @defgroup TIM_LL_EC_BKIN_POLARITY BKIN POLARITY
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_TIM_BKIN_POLARITY_LOW TIM1_AF1_BKINP /*!< BRK BKIN input is active low */
@@ -1060,6 +1107,7 @@ typedef struct
#endif /* TIM_BREAK_INPUT_SUPPORT */
/** @defgroup TIM_LL_EC_DMABURST_BASEADDR DMA Burst Base Address
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_TIM_DMABURST_BASEADDR_CR1 0x00000000U /*!< TIMx_CR1 register is the DMA base address for DMA burst */
@@ -1093,6 +1141,7 @@ typedef struct
*/
/** @defgroup TIM_LL_EC_DMABURST_LENGTH DMA Burst Length
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_TIM_DMABURST_LENGTH_1TRANSFER 0x00000000U /*!< Transfer is done to 1 register starting from the DMA burst base address */
@@ -1118,6 +1167,7 @@ typedef struct
*/
/** @defgroup TIM_LL_EC_TIM1_TI1_RMP TIM1 Timer Input Ch1 Remap
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_TIM_TIM1_TI1_RMP_GPIO 0x00000000U /* !< TIM1 input 1 is connected to GPIO */
@@ -1127,6 +1177,7 @@ typedef struct
*/
/** @defgroup TIM_LL_EC_TIM8_TI1_RMP TIM8 Timer Input Ch1 Remap
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_TIM_TIM8_TI1_RMP_GPIO 0x00000000U /* !< TIM8 input 1 is connected to GPIO */
@@ -1136,6 +1187,7 @@ typedef struct
*/
/** @defgroup TIM_LL_EC_TIM2_TI4_RMP TIM2 Timer Input Ch4 Remap
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_TIM_TIM2_TI4_RMP_GPIO 0x00000000U /* !< TIM2 input 4 is connected to GPIO */
@@ -1147,6 +1199,7 @@ typedef struct
*/
/** @defgroup TIM_LL_EC_TIM3_TI1_RMP TIM3 Timer Input Ch1 Remap
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_TIM_TIM3_TI1_RMP_GPIO 0x00000000U /* !< TIM3 input 1 is connected to GPIO */
@@ -1158,6 +1211,7 @@ typedef struct
*/
/** @defgroup TIM_LL_EC_TIM5_TI1_RMP TIM5 Timer Input Ch1 Remap
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_TIM_TIM5_TI1_RMP_GPIO 0x00000000U /* !< TIM5 input 1 is connected to GPIO */
@@ -1168,6 +1222,7 @@ typedef struct
*/
/** @defgroup TIM_LL_EC_TIM12_TI1_RMP TIM12 Timer Input Ch1 Remap
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_TIM_TIM12_TI1_RMP_GPIO 0x00000000U /* !< TIM12 input 1 is connected to GPIO */
@@ -1177,6 +1232,7 @@ typedef struct
*/
/** @defgroup TIM_LL_EC_TIM15_TI1_RMP TIM15 Timer Input Ch1 Remap
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_TIM_TIM15_TI1_RMP_GPIO 0x00000000U /* !< TIM15 input 1 is connected to GPIO */
@@ -1191,6 +1247,7 @@ typedef struct
*/
/** @defgroup TIM_LL_EC_TIM15_TI2_RMP TIM15 Timer Input Ch2 Remap
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_TIM_TIM15_TI2_RMP_GPIO 0x00000000U /* !< TIM15 input 2 is connected to GPIO */
@@ -1202,6 +1259,7 @@ typedef struct
*/
/** @defgroup TIM_LL_EC_TIM16_TI1_RMP TIM16 Timer Input Ch1 Remap
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_TIM_TIM16_TI1_RMP_GPIO 0x00000000U /* !< TIM16 input 1 is connected to GPIO */
@@ -1213,6 +1271,7 @@ typedef struct
*/
/** @defgroup TIM_LL_EC_TIM17_TI1_RMP TIM17 Timer Input Ch1 Remap
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_TIM_TIM17_TI1_RMP_GPIO 0x00000000U /* !< TIM17 input 1 is connected to GPIO */
@@ -1224,6 +1283,7 @@ typedef struct
*/
/** @defgroup TIM_LL_EC_TIM23_TI4_RMP TIM23 Timer Input Ch4 Remap
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_TIM_TIM23_TI4_RMP_GPIO 0x00000000U /* !< TIM23 input 4 is connected to GPIO */
@@ -1235,6 +1295,7 @@ typedef struct
*/
/** @defgroup TIM_LL_EC_TIM24_TI1_RMP TIM24 Timer Input Ch1 Remap
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_TIM_TIM24_TI1_RMP_GPIO 0x00000000U /* !< TIM24 input 1 is connected to GPIO */
@@ -1257,10 +1318,12 @@ typedef struct
/* Exported macro ------------------------------------------------------------*/
/** @defgroup TIM_LL_Exported_Macros TIM Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup TIM_LL_EM_WRITE_READ Common Write and read registers Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/**
@@ -1284,6 +1347,7 @@ typedef struct
*/
/** @defgroup TIM_LL_EM_Exported_Macros Exported_Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -1387,10 +1451,12 @@ typedef struct
/* Exported functions --------------------------------------------------------*/
/** @defgroup TIM_LL_Exported_Functions TIM Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup TIM_LL_EF_Time_Base Time Base configuration
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/**
@@ -1794,6 +1860,7 @@ __STATIC_INLINE uint32_t LL_TIM_IsActiveUIFCPY(uint32_t Counter)
*/
/** @defgroup TIM_LL_EF_Capture_Compare Capture Compare configuration
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/**
@@ -1979,6 +2046,7 @@ __STATIC_INLINE uint32_t LL_TIM_CC_IsEnabledChannel(TIM_TypeDef *TIMx, uint32_t
*/
/** @defgroup TIM_LL_EF_Output_Channel Output channel configuration
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/**
@@ -2705,6 +2773,7 @@ __STATIC_INLINE void LL_TIM_SetCH5CombinedChannels(TIM_TypeDef *TIMx, uint32_t G
*/
/** @defgroup TIM_LL_EF_Input_Channel Input channel configuration
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/**
@@ -3092,6 +3161,7 @@ __STATIC_INLINE uint32_t LL_TIM_IC_GetCaptureCH4(TIM_TypeDef *TIMx)
*/
/** @defgroup TIM_LL_EF_Clock_Selection Counter clock selection
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/**
@@ -3180,6 +3250,7 @@ __STATIC_INLINE void LL_TIM_SetEncoderMode(TIM_TypeDef *TIMx, uint32_t EncoderMo
*/
/** @defgroup TIM_LL_EF_Timer_Synchronization Timer synchronisation configuration
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/**
@@ -3441,6 +3512,7 @@ __STATIC_INLINE void LL_TIM_SetETRSource(TIM_TypeDef *TIMx, uint32_t ETRSource)
*/
/** @defgroup TIM_LL_EF_Break_Function Break function configuration
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/**
@@ -3760,6 +3832,7 @@ __STATIC_INLINE void LL_TIM_SetBreakInputSourcePolarity(TIM_TypeDef *TIMx, uint3
*/
/** @defgroup TIM_LL_EF_DMA_Burst_Mode DMA burst mode configuration
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/**
@@ -3826,6 +3899,7 @@ __STATIC_INLINE void LL_TIM_ConfigDMABurst(TIM_TypeDef *TIMx, uint32_t DMABurstB
*/
/** @defgroup TIM_LL_EF_Timer_Inputs_Remapping Timer input remapping
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/**
@@ -3911,6 +3985,7 @@ __STATIC_INLINE void LL_TIM_SetRemap(TIM_TypeDef *TIMx, uint32_t Remap)
*/
/** @defgroup TIM_LL_EF_FLAG_Management FLAG-Management
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/**
@@ -4270,6 +4345,7 @@ __STATIC_INLINE uint32_t LL_TIM_IsActiveFlag_SYSBRK(TIM_TypeDef *TIMx)
*/
/** @defgroup TIM_LL_EF_IT_Management IT-Management
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/**
@@ -4541,6 +4617,7 @@ __STATIC_INLINE uint32_t LL_TIM_IsEnabledIT_BRK(TIM_TypeDef *TIMx)
*/
/** @defgroup TIM_LL_EF_DMA_Management DMA-Management
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/**
@@ -4779,6 +4856,7 @@ __STATIC_INLINE uint32_t LL_TIM_IsEnabledDMAReq_TRIG(TIM_TypeDef *TIMx)
*/
/** @defgroup TIM_LL_EF_EVENT_Management EVENT-Management
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/**
@@ -4886,6 +4964,7 @@ __STATIC_INLINE void LL_TIM_GenerateEvent_BRK2(TIM_TypeDef *TIMx)
#if defined(USE_FULL_LL_DRIVER) || defined(__rtems__)
/** @defgroup TIM_LL_EF_Init Initialisation and deinitialisation functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_ll_usart.h b/bsps/arm/stm32h7/include/stm32h7xx_ll_usart.h
index 77b8f0f667..7852543a0a 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_ll_usart.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_ll_usart.h
@@ -35,12 +35,14 @@ extern "C" {
#if defined (USART1) || defined (USART2) || defined (USART3) || defined (USART6) || defined (UART4) || defined (UART5) || defined (UART7) || defined (UART8) || defined (UART9) || defined (USART10)
/** @defgroup USART_LL USART
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/* Private types -------------------------------------------------------------*/
/* Private variables ---------------------------------------------------------*/
/** @defgroup USART_LL_Private_Variables USART Private Variables
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/* Array used to get the USART prescaler division decimal values versus @ref USART_LL_EC_PRESCALER values */
@@ -67,6 +69,7 @@ static const uint32_t USART_PRESCALER_TAB[] =
/* Private macros ------------------------------------------------------------*/
#if defined(USE_FULL_LL_DRIVER) || defined(__rtems__)
/** @defgroup USART_LL_Private_Macros USART Private Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/**
@@ -77,6 +80,7 @@ static const uint32_t USART_PRESCALER_TAB[] =
/* Exported types ------------------------------------------------------------*/
#if defined(USE_FULL_LL_DRIVER) || defined(__rtems__)
/** @defgroup USART_LL_ES_INIT USART Exported Init structures
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -166,10 +170,12 @@ typedef struct
/* Exported constants --------------------------------------------------------*/
/** @defgroup USART_LL_Exported_Constants USART Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup USART_LL_EC_CLEAR_FLAG Clear Flags Defines
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Flags defines which can be used with LL_USART_WriteReg function
* @{
*/
@@ -193,6 +199,7 @@ typedef struct
*/
/** @defgroup USART_LL_EC_GET_FLAG Get Flags Defines
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief Flags defines which can be used with LL_USART_ReadReg function
* @{
*/
@@ -229,6 +236,7 @@ typedef struct
*/
/** @defgroup USART_LL_EC_IT IT Defines
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief IT defines which can be used with LL_USART_ReadReg and LL_USART_WriteReg functions
* @{
*/
@@ -254,6 +262,7 @@ typedef struct
*/
/** @defgroup USART_LL_EC_FIFOTHRESHOLD FIFO Threshold
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_USART_FIFOTHRESHOLD_1_8 0x00000000U /*!< FIFO reaches 1/8 of its depth */
@@ -267,6 +276,7 @@ typedef struct
*/
/** @defgroup USART_LL_EC_DIRECTION Communication Direction
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_USART_DIRECTION_NONE 0x00000000U /*!< Transmitter and Receiver are disabled */
@@ -278,6 +288,7 @@ typedef struct
*/
/** @defgroup USART_LL_EC_PARITY Parity Control
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_USART_PARITY_NONE 0x00000000U /*!< Parity control disabled */
@@ -288,6 +299,7 @@ typedef struct
*/
/** @defgroup USART_LL_EC_WAKEUP Wakeup
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_USART_WAKEUP_IDLELINE 0x00000000U /*!< USART wake up from Mute mode on Idle Line */
@@ -297,6 +309,7 @@ typedef struct
*/
/** @defgroup USART_LL_EC_DATAWIDTH Datawidth
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_USART_DATAWIDTH_7B USART_CR1_M1 /*!< 7 bits word length : Start bit, 7 data bits, n stop bits */
@@ -307,6 +320,7 @@ typedef struct
*/
/** @defgroup USART_LL_EC_OVERSAMPLING Oversampling
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_USART_OVERSAMPLING_16 0x00000000U /*!< Oversampling by 16 */
@@ -317,6 +331,7 @@ typedef struct
#if defined(USE_FULL_LL_DRIVER) || defined(__rtems__)
/** @defgroup USART_LL_EC_CLOCK Clock Signal
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -328,6 +343,7 @@ typedef struct
#endif /*USE_FULL_LL_DRIVER*/
/** @defgroup USART_LL_EC_LASTCLKPULSE Last Clock Pulse
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_USART_LASTCLKPULSE_NO_OUTPUT 0x00000000U /*!< The clock pulse of the last data bit is not output to the SCLK pin */
@@ -337,6 +353,7 @@ typedef struct
*/
/** @defgroup USART_LL_EC_PHASE Clock Phase
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_USART_PHASE_1EDGE 0x00000000U /*!< The first clock transition is the first data capture edge */
@@ -346,6 +363,7 @@ typedef struct
*/
/** @defgroup USART_LL_EC_POLARITY Clock Polarity
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_USART_POLARITY_LOW 0x00000000U /*!< Steady low value on SCLK pin outside transmission window*/
@@ -355,6 +373,7 @@ typedef struct
*/
/** @defgroup USART_LL_EC_PRESCALER Clock Source Prescaler
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_USART_PRESCALER_DIV1 0x00000000U /*!< Input clock not devided */
@@ -374,6 +393,7 @@ typedef struct
*/
/** @defgroup USART_LL_EC_STOPBITS Stop Bits
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_USART_STOPBITS_0_5 USART_CR2_STOP_0 /*!< 0.5 stop bit */
@@ -385,6 +405,7 @@ typedef struct
*/
/** @defgroup USART_LL_EC_TXRX TX RX Pins Swap
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_USART_TXRX_STANDARD 0x00000000U /*!< TX/RX pins are used as defined in standard pinout */
@@ -394,6 +415,7 @@ typedef struct
*/
/** @defgroup USART_LL_EC_RXPIN_LEVEL RX Pin Active Level Inversion
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_USART_RXPIN_LEVEL_STANDARD 0x00000000U /*!< RX pin signal works using the standard logic levels */
@@ -403,6 +425,7 @@ typedef struct
*/
/** @defgroup USART_LL_EC_TXPIN_LEVEL TX Pin Active Level Inversion
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_USART_TXPIN_LEVEL_STANDARD 0x00000000U /*!< TX pin signal works using the standard logic levels */
@@ -412,6 +435,7 @@ typedef struct
*/
/** @defgroup USART_LL_EC_BINARY_LOGIC Binary Data Inversion
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_USART_BINARY_LOGIC_POSITIVE 0x00000000U /*!< Logical data from the data register are send/received in positive/direct logic. (1=H, 0=L) */
@@ -421,6 +445,7 @@ typedef struct
*/
/** @defgroup USART_LL_EC_BITORDER Bit Order
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_USART_BITORDER_LSBFIRST 0x00000000U /*!< data is transmitted/received with data bit 0 first, following the start bit */
@@ -430,6 +455,7 @@ typedef struct
*/
/** @defgroup USART_LL_EC_AUTOBAUD_DETECT_ON Autobaud Detection
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_USART_AUTOBAUD_DETECT_ON_STARTBIT 0x00000000U /*!< Measurement of the start bit is used to detect the baud rate */
@@ -441,6 +467,7 @@ typedef struct
*/
/** @defgroup USART_LL_EC_ADDRESS_DETECT Address Length Detection
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_USART_ADDRESS_DETECT_4B 0x00000000U /*!< 4-bit address detection method selected */
@@ -450,6 +477,7 @@ typedef struct
*/
/** @defgroup USART_LL_EC_HWCONTROL Hardware Control
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_USART_HWCONTROL_NONE 0x00000000U /*!< CTS and RTS hardware flow control disabled */
@@ -461,6 +489,7 @@ typedef struct
*/
/** @defgroup USART_LL_EC_WAKEUP_ON Wakeup Activation
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_USART_WAKEUP_ON_ADDRESS 0x00000000U /*!< Wake up active on address match */
@@ -471,6 +500,7 @@ typedef struct
*/
/** @defgroup USART_LL_EC_IRDA_POWER IrDA Power
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_USART_IRDA_POWER_NORMAL 0x00000000U /*!< IrDA normal power mode */
@@ -480,6 +510,7 @@ typedef struct
*/
/** @defgroup USART_LL_EC_LINBREAK_DETECT LIN Break Detection Length
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_USART_LINBREAK_DETECT_10B 0x00000000U /*!< 10-bit break detection method selected */
@@ -489,6 +520,7 @@ typedef struct
*/
/** @defgroup USART_LL_EC_DE_POLARITY Driver Enable Polarity
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_USART_DE_POLARITY_HIGH 0x00000000U /*!< DE signal is active high */
@@ -498,6 +530,7 @@ typedef struct
*/
/** @defgroup USART_LL_EC_DMA_REG_DATA DMA Register Data
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_USART_DMA_REG_DATA_TRANSMIT 0x00000000U /*!< Get address of data register used for transmission */
@@ -512,10 +545,12 @@ typedef struct
/* Exported macro ------------------------------------------------------------*/
/** @defgroup USART_LL_Exported_Macros USART Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup USART_LL_EM_WRITE_READ Common Write and read registers Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -540,6 +575,7 @@ typedef struct
*/
/** @defgroup USART_LL_EM_Exported_Macros_Helper Exported_Macros_Helper
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -600,10 +636,12 @@ typedef struct
/* Exported functions --------------------------------------------------------*/
/** @defgroup USART_LL_Exported_Functions USART Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup USART_LL_EF_Configuration Configuration functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -1991,6 +2029,7 @@ __STATIC_INLINE uint32_t LL_USART_GetBlockLength(USART_TypeDef *USARTx)
*/
/** @defgroup USART_LL_EF_Configuration_IRDA Configuration functions related to Irda feature
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -2098,6 +2137,7 @@ __STATIC_INLINE uint32_t LL_USART_GetIrdaPrescaler(USART_TypeDef *USARTx)
*/
/** @defgroup USART_LL_EF_Configuration_Smartcard Configuration functions related to Smartcard feature
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -2274,6 +2314,7 @@ __STATIC_INLINE uint32_t LL_USART_GetSmartcardGuardTime(USART_TypeDef *USARTx)
*/
/** @defgroup USART_LL_EF_Configuration_HalfDuplex Configuration functions related to Half Duplex feature
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -2321,6 +2362,7 @@ __STATIC_INLINE uint32_t LL_USART_IsEnabledHalfDuplex(USART_TypeDef *USARTx)
*/
/** @defgroup USART_LL_EF_Configuration_SPI_SLAVE Configuration functions related to SPI Slave feature
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/**
@@ -2409,6 +2451,7 @@ __STATIC_INLINE uint32_t LL_USART_IsEnabledSPISlaveSelect(USART_TypeDef *USARTx)
*/
/** @defgroup USART_LL_EF_Configuration_LIN Configuration functions related to LIN feature
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -2487,6 +2530,7 @@ __STATIC_INLINE uint32_t LL_USART_IsEnabledLIN(USART_TypeDef *USARTx)
*/
/** @defgroup USART_LL_EF_Configuration_DE Configuration functions related to Driver Enable feature
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -2619,6 +2663,7 @@ __STATIC_INLINE uint32_t LL_USART_GetDESignalPolarity(USART_TypeDef *USARTx)
*/
/** @defgroup USART_LL_EF_AdvancedConfiguration Advanced Configurations services
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -2903,6 +2948,7 @@ __STATIC_INLINE void LL_USART_ConfigMultiProcessMode(USART_TypeDef *USARTx)
*/
/** @defgroup USART_LL_EF_FLAG_Management FLAG_Management
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -3430,6 +3476,7 @@ __STATIC_INLINE void LL_USART_ClearFlag_WKUP(USART_TypeDef *USARTx)
*/
/** @defgroup USART_LL_EF_IT_Management IT_Management
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -4089,6 +4136,7 @@ __STATIC_INLINE uint32_t LL_USART_IsEnabledIT_RXFT(USART_TypeDef *USARTx)
*/
/** @defgroup USART_LL_EF_DMA_Management DMA_Management
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -4224,6 +4272,7 @@ __STATIC_INLINE uint32_t LL_USART_DMA_GetRegAddr(USART_TypeDef *USARTx, uint32_t
*/
/** @defgroup USART_LL_EF_Data_Management Data_Management
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -4278,6 +4327,7 @@ __STATIC_INLINE void LL_USART_TransmitData9(USART_TypeDef *USARTx, uint16_t Valu
*/
/** @defgroup USART_LL_EF_Execution Execution
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -4350,6 +4400,7 @@ __STATIC_INLINE void LL_USART_RequestTxDataFlush(USART_TypeDef *USARTx)
#if defined(USE_FULL_LL_DRIVER) || defined(__rtems__)
/** @defgroup USART_LL_EF_Init Initialization and de-initialization functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
ErrorStatus LL_USART_DeInit(USART_TypeDef *USARTx);
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_ll_usb.h b/bsps/arm/stm32h7/include/stm32h7xx_ll_usb.h
index 503b12f3e3..47753e9461 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_ll_usb.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_ll_usb.h
@@ -211,11 +211,13 @@ typedef struct
/* Exported constants --------------------------------------------------------*/
/** @defgroup PCD_Exported_Constants PCD Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined (USB_OTG_FS) || defined (USB_OTG_HS)
/** @defgroup USB_OTG_CORE VERSION ID
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define USB_OTG_CORE_ID_300A 0x4F54300AU
@@ -225,6 +227,7 @@ typedef struct
*/
/** @defgroup USB_Core_Mode_ USB Core Mode
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define USB_OTG_MODE_DEVICE 0U
@@ -235,6 +238,7 @@ typedef struct
*/
/** @defgroup USB_LL Device Speed
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define USBD_HS_SPEED 0U
@@ -247,6 +251,7 @@ typedef struct
*/
/** @defgroup USB_LL_Core_Speed USB Low Layer Core Speed
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define USB_OTG_SPEED_HIGH 0U
@@ -257,6 +262,7 @@ typedef struct
*/
/** @defgroup USB_LL_Core_PHY USB Low Layer Core PHY
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define USB_OTG_ULPI_PHY 1U
@@ -266,6 +272,7 @@ typedef struct
*/
/** @defgroup USB_LL_Turnaround_Timeout Turnaround Timeout Value
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#ifndef USBD_HS_TRDT_VALUE
@@ -280,6 +287,7 @@ typedef struct
*/
/** @defgroup USB_LL_Core_MPS USB Low Layer Core MPS
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define USB_OTG_HS_MAX_PACKET_SIZE 512U
@@ -290,6 +298,7 @@ typedef struct
*/
/** @defgroup USB_LL_Core_PHY_Frequency USB Low Layer Core PHY Frequency
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DSTS_ENUMSPD_HS_PHY_30MHZ_OR_60MHZ (0U << 1)
@@ -300,6 +309,7 @@ typedef struct
*/
/** @defgroup USB_LL_CORE_Frame_Interval USB Low Layer Core Frame Interval
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DCFG_FRAME_INTERVAL_80 0U
@@ -311,6 +321,7 @@ typedef struct
*/
/** @defgroup USB_LL_EP0_MPS USB Low Layer EP0 MPS
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define DEP0CTL_MPS_64 0U
@@ -322,6 +333,7 @@ typedef struct
*/
/** @defgroup USB_LL_EP_Speed USB Low Layer EP Speed
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define EP_SPEED_LOW 0U
@@ -332,6 +344,7 @@ typedef struct
*/
/** @defgroup USB_LL_EP_Type USB Low Layer EP Type
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define EP_TYPE_CTRL 0U
@@ -344,6 +357,7 @@ typedef struct
*/
/** @defgroup USB_LL_STS_Defines USB Low Layer STS Defines
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define STS_GOUT_NAK 1U
@@ -356,6 +370,7 @@ typedef struct
*/
/** @defgroup USB_LL_HCFG_SPEED_Defines USB Low Layer HCFG Speed Defines
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HCFG_30_60_MHZ 0U
@@ -366,6 +381,7 @@ typedef struct
*/
/** @defgroup USB_LL_HPRT0_PRTSPD_SPEED_Defines USB Low Layer HPRT0 PRTSPD Speed Defines
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define HPRT0_PRTSPD_HIGH_SPEED 0U
@@ -409,6 +425,7 @@ typedef struct
/* Exported macro ------------------------------------------------------------*/
/** @defgroup USB_LL_Exported_Macros USB Low Layer Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined (USB_OTG_FS) || defined (USB_OTG_HS)
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_ll_utils.h b/bsps/arm/stm32h7/include/stm32h7xx_ll_utils.h
index ca336c268f..531ab60f3d 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_ll_utils.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_ll_utils.h
@@ -47,6 +47,7 @@ extern "C" {
*/
/** @defgroup UTILS_LL UTILS
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -55,6 +56,7 @@ extern "C" {
/* Private constants ---------------------------------------------------------*/
/** @defgroup UTILS_LL_Private_Constants UTILS Private Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -82,6 +84,7 @@ extern "C" {
/* Private macros ------------------------------------------------------------*/
/** @defgroup UTILS_LL_Private_Macros UTILS Private Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/**
@@ -89,6 +92,7 @@ extern "C" {
*/
/* Exported types ------------------------------------------------------------*/
/** @defgroup UTILS_LL_ES_INIT UTILS Exported structures
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/**
@@ -184,10 +188,12 @@ typedef struct
/* Exported constants --------------------------------------------------------*/
/** @defgroup UTILS_LL_Exported_Constants UTILS Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup UTILS_EC_HSE_BYPASS HSE Bypass activation
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_UTILS_HSEBYPASS_OFF 0x00000000U /*!< HSE Bypass is not enabled */
@@ -197,6 +203,7 @@ typedef struct
*/
/** @defgroup UTILS_EC_PACKAGETYPE PACKAGE TYPE
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#if defined(SYSCFG_PKGR_PKG)
@@ -231,10 +238,12 @@ typedef struct
/* Exported functions --------------------------------------------------------*/
/** @defgroup UTILS_LL_Exported_Functions UTILS Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup UTILS_EF_DEVICE_ELECTRONIC_SIGNATURE DEVICE ELECTRONIC SIGNATURE
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -317,6 +326,7 @@ __STATIC_INLINE uint32_t LL_GetPackageType(void)
*/
/** @defgroup UTILS_LL_EF_DELAY DELAY
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -345,6 +355,7 @@ void LL_mDelay(uint32_t Delay);
*/
/** @defgroup UTILS_EF_SYSTEM SYSTEM
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_ll_wwdg.h b/bsps/arm/stm32h7/include/stm32h7xx_ll_wwdg.h
index bc36ed88a1..ddc4f21746 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_ll_wwdg.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_ll_wwdg.h
@@ -35,6 +35,7 @@ extern "C" {
#if defined (WWDG1) || defined (WWDG2)
/** @defgroup WWDG_LL WWDG
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -45,10 +46,12 @@ extern "C" {
/* Exported types ------------------------------------------------------------*/
/* Exported constants --------------------------------------------------------*/
/** @defgroup WWDG_LL_Exported_Constants WWDG Exported Constants
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup WWDG_LL_EC_IT IT Defines
+ * @ingroup RTEMSBSPsARMSTM32H7
* @brief IT defines which can be used with LL_WWDG_ReadReg and LL_WWDG_WriteReg functions
* @{
*/
@@ -58,6 +61,7 @@ extern "C" {
*/
/** @defgroup WWDG_LL_EC_PRESCALER PRESCALER
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_WWDG_PRESCALER_1 0x00000000u /*!< WWDG counter clock = (PCLK1/4096)/1 */
@@ -78,9 +82,11 @@ extern "C" {
/* Exported macro ------------------------------------------------------------*/
/** @defgroup WWDG_LL_Exported_Macros WWDG Exported Macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup WWDG_LL_EM_WRITE_READ Common Write and read registers macros
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/**
@@ -109,10 +115,12 @@ extern "C" {
/* Exported functions --------------------------------------------------------*/
/** @defgroup WWDG_LL_Exported_Functions WWDG Exported Functions
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup WWDG_LL_EF_Configuration Configuration
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/**
@@ -246,6 +254,7 @@ __STATIC_INLINE uint32_t LL_WWDG_GetWindow(WWDG_TypeDef *WWDGx)
*/
/** @defgroup WWDG_LL_EF_FLAG_Management FLAG_Management
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/**
@@ -278,6 +287,7 @@ __STATIC_INLINE void LL_WWDG_ClearFlag_EWKUP(WWDG_TypeDef *WWDGx)
*/
/** @defgroup WWDG_LL_EF_IT_Management IT_Management
+ * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/**
IIL ^x k~.XE L8%2dcUcB1g!̺g|W( 7o+;Osxs]&h+ -OnЭA=mc%]>q6_1JPI}g33833tΝn8 D'l~((UWMezM˹ 3:A.9֨l,܉)&:c&a M$[ȍO_Ůiېui430(H=y<0q/6R}èIȌe؅zc:OCևl@vBtF0kY?I' M6QWNl0?2mLҤ]>b0 nJw@VŊ5!Q0Sj߫\_jjć`5tlߘo'dԒ$B%`}A!,y Jsh)D9I!of6Y $%UM᠆Ad JemH֑@gT9BЊcH3J}baWslF;W)Iq10*_Zm rYR_ުuJ:"`T LJQ@Rd-OǗϷj \~GVb߈\I33 Hur۫]TJS jf(փ^ #ϖƒo!1f'! 88fYlj=HI{@ BIf(|O_?^L[ ,Zy D \3|Tuϟv޿ee ]a5@wc(3)EQh2hP7&W]uz#if ơB8!Q+g:x!LW "~uyzqxnsJ;s{R䘔wD ȲInauՒ0 e$)= I0 ~:]K ZcP|pu҉,p>'|w @+,vZŋ+,XbbŁ hi& E Z-%.ƻCC᳁B1 J 'Np7"eO9 (|r"0hZLB BF3+%JA•R~+učK|uU7yU`_\#T@>~3cB)('$b6[tdg*jfacCJ6)eVPnnSc%.aq*1,lHщ:,D,h%2UV@6(ĉbv rԮ'ZDN("f0)ߢp$X0!eMDBla>Mi6F=\q= vzf9L٣z<>(ȭ$k-c%# F  ZttM9&eWTRd1H{J?CBR| n2miYR"#xd,e&7kȕNVM3=G(I¢0B+BZXbըՙe1u)Q2HDNqK. H L0F`^$>#Br$$8hSC b>`7 )!c`C AIFaX*8 lӂԏ@oC؇2 谲]E[gMf>gޚ 1!eHBq1 K-,vF(di}qpe8cqcH˷'>B$jE6쏖ia"/"&>&|fKsVؤHע"}RN=F#,yc :Gpgqx^mkd6~GAdzE:dIJ$/[b?,ls߾ :Cƶʷ4 GHUhPݱ62.֤هr#Y DN,8 J L1C&ůח ,)G!ֵHt"lCaD'ou܉HRb$ LqNEE]t`/ acH'yGЯjhbJ" "3q:_(|>#gzd 'l RZaoTbӸ)=267M&N~~r|_鄱YiK4BB:$&!ϡ6^Y]CBRHQ3]?Gpk-Ip |KV>(|L|'%! U&Rګ)O) t]/YT {:ow͍s&lZmFnLw_X_Q$$&4'0 | IC}fԳpL!˜sؕA.aq+C) 2>JFF-.;&1Oɩdm B>z`(E)AY"U# IJ $CYuM"iMQATRm Ie8)d@pݖ-KQOb2ad-:V$?y䟾tzPI1$?Lz8N}鷱LjKL/6Uj6un2 plA=,F M͝ L%eU,ACT{QJI!"$dhF^@=B1bw>jCRM; vI0(.T T="X4(IM)|6w0X\ݫ$kPހ'C 0 lM@pN.Q', G;1^Lؙ\*"l;U#&[,jZZAZc%1̼IPbY&ŀĤ mS#N 1!@J`Z#,vCVB%fvaǞ2"˅AC,F&pn&a41RaWC3 2RRP2s@l5,йd RxT(`0'!Lď#A C3k A39P2J6W Tĭ"e˒&QӉ,pSL.2lŊfiV RAa`^%F7)n iL0Č"s6HR$ɹt2@v4S& ak@IBlvVA(hcY2, 1̙ɀ@[ t6eRN Y`YLlnsd6T͍b5+h gJ@ POy{RNygEt:He 4&0†*?m'}yU`j6RD 8t_ DYff3H" .&EQ@7vDG6qGkcHd*5<{*>gr z=ebz&m6Pj+t+J+@ AS.$"AqlD؉Wl "cB&=n8&| hZN & : 1t-ڑq HMYӝ3n\gcc3Myqrj'Mc{s ct̐@$ =U8"p㝓 h`0CB0KM#2ͼR1X+j!$ Cɐ-)`KK&/VV h<0IrESa8t"HR!4l[4?b>^T S"a rͅ)V ׭o|+uG#%`%RY/E=WcѴ2NV(1nHp.o¦ \(.K9 RGNGk\]ri0ڦh]Yme:󄝘L^5h&cB9 SjXhLx1e%!$)<]NfpO8 >y I9abD@5F S^hivvA6Ka1JUG@ 8jVJF;2^L:w̢4il`tbTlӬ1<6L 6qD -y1|fV&A8u7űT䕖! ]f%_[9 q"ĝ 4z YʃkkqZ[ X㽠rw$vHA$:ОH`]lӞ9Iu K'I5{qGg<\{L8<ͣVpL XcQ'-@5"8dkוmAܯƧ3坎U`[}]kX͒]SΜZ9H0-̤h (4mx.[MV썯KWL,xnsΜƎM{dmICܹdE$l/ D@no@AxfvbQE2-Nt_ߒ3LaIqZl2EyVss96,M|;ۍ;q -f\E @a9.x^͇"7`($$<| x|x.-rp`PWGO>}y*6tc9`ZB K^GOt.=gY=# @"l=2zHbFh *=RPЮ>94PQ{Td|/#UJBEbYMZ\?\(A*sIB@=REBhawƓk0&36ME$蔟1s"qcRjIFI0 OEڵx8XCdo$z\YJ%ZyaeYՒ4&)eGwSb#PMHnI= 2;#dTw6Х]5й6đw#Q5P3!!Zr@+h`%(12_ *8 DH+0`JnA#{R:Q? ,耯yzHw<5O(wbZS.Llz2&K£F2I$˘>ʰzg+%ɫWaє Em"0I$FClo ҾNAӎ6Aфde+Wu"\|ka9:fL.PLx;qDs̥ @IA{"BP;ayDTA*D@>mX0Hs'`%d%<:M2Ӓ 99.'G. 3 iX}>,N'{oȊ::,nmMcHԔ[pԭ, T{aeUdJKGINö.PD9NM qr' bCPPFPleXq iaRl00CeBPp 7#bR&dž9#mT*IjJ"vH: ?ш F$<S%\>~x@yi _W<۳ŒRE~D 7Nt6MD!*hFIږᡦKo\R)K" ]j -X%uKJXƨaX!gc[B(iq0\B-o i,ڈ0Ȉf!JP.%,&sd6m-I-%,;E&ICŲ "8`DLqF>X]e4 [ 4&r6%5B#5paXgC8r4W$fR"00'?iyEFIR.F*Q҉UO)=rL0˨`p`0K#N( *?}`%[gԟ[ Qč`xǮ;YșI+I. b#H25(_cPL63o$g,Fx8i 2h~=}WL,Ev$6!l5#; _m&u]_\2Orm$,k"" Y@\;;PYri6Cp9rhF^`ǒ^0~]zYOO+lN;5=\t;E5)v| sÐ#@R;h0g\u #z^y^d]C(2'`G^;->ڄXqű ^ԋJ" )0Q4  XX4=\@UG)c?>N"|{h J'ҀH$f&L͉IkwWbH㇚$bE)di `hLv$L kca+\dbQ].T κqԄb^2PJWyVh܎UlIhq& vHpC(⡈DhND/PpS.Iɥ)M.f`nA 'H&P3n 5ԩ)$K$()gDBUw v L= <ͷv! X$lR}NnԐX$HJRU 0=؈s `G|ݰE؝ @Þ b.s7<%YHP oBɌ,Mu 61fdn*~: )"UVO/@<>0o0&?7ѿ9] Z010l55֤F"d"Cm"&9d dG'y46W'H2|N&?A~=P.q VpX#))Qd% !#@(*R`M%CRi<<xx1TI\HHo/#xa]u@G/0ޅ@ܲ&7s%|ٙ>Xcݯ0^gmʪ yj|iBI+_JzEĢ)IdhKIK|O-*0uѿpv0M2,nfͦ_2JVvDʉa@s_DD˙BJT=j٭LO$HKCw| Q}j ( !+Đ;ز0ֳTWHa*l%ه ((R#_ab4Y k))!8T=Bx/hl M=h˨UZxG8b#p'Cʥ?##L+8<!IB!Ȫnt:" { 'Aȩ]$1,f=N^!~o ds}Ͳ"""""""k&η9K+хETTYb~q1AeUꦽ<׿~ 믰Fiy8٬ErjtE 'C0GOǁ< jDHa'ȞOLCy=JDѩRLl6 䒲B : J1 A%-)IkCZ^+IbI,ݰ٤ +H6`M!f plJ]*"6KIXJyp$4I/-CFi(Ri,šan 3hC",%͆"p2Il4^0A *z17-^-26^8MF((f!8wsuVTrS&ɥ˩ %@ߨXJf 1%)Jd,W.uȦyJ@^ BlINi@V $@K2P2g`e6]T16шH|>J*̥&eSϼ}m')M7jh]bY- 1-HC=`g`X&$QRLJKh^(Pېؔ+:Av{Ǩ:!@IT#u?\%և#D: &7L% BcVL0 (Kh$Buw)[ewQUny'!\"R.|)_NSQRkqL7l([h g )0'$Jf'\ѫ DIЎi˂Z!540Kpm q\ܷ0%43rb̥5I]0қ -EfB)J lK i 6 ,-AMa-!D&HssHklM )*R!đgr6&ZOb{٠lp2 HH0 7D`fzS4f6sWJO>`sTջCq-* XOʽ -T,ZztX,)R c$+>$pѯRoGb!''ns+y%ڐrYoNC VH3 mJBȑ .HNaE1(+TA,j5*5m031TBC%yJZdB%,*BHk""R2J2ʬf[" C!\0(l6ibۥmd 44B*D a,2$]hp1"`((x8lX`eUVX\X%jȷyT0M pqB@6mhBP>ԪQ"kuJćo:ԝxEGxA8RS02UnzTLԉi6ZjeEYQlfҲbjU6meRVHVĊLSfHl/q8 w*0HZԽ+<OU@G)`q@zѣ7P= w_$XH|хwGτ>c0:,b_w-A/QԚ99E`D2e"SG,i7Nڟwю2O@;vⰓi)~=&J:(0{ *JEQ!k)X }}F7J}v?G'vqċ;n/߄S|a x0A( %g"|,ْUHe2QE)$-9ujXnln $t|'sÊdjGf )Lf,O'-G%#ݥL(!e""Hb(E!ʷˊJZ\$3/@5 :&G1*ц2*$CHF J$b@aݫ8U9}-4`1$8}~y%Td1@ I5c I%&L⺒VT$BDF fOiG@6 lСtfCL tD.ly pOehVVUŊthcc@8@DRCbv#֕4>{&JA?5oȜӯ3+<=gqOҞx ا҂$J@"`5X1T,)djPmk 2CEM+k&"&GP34;*OI@*4 !U2Xd}tLؒ_LɆ1PR,k1LnheإX}v,1nlEqDbL6|\ aV1mN>9g2N'/$y3ؐb š-&F e4z)SWɌye@.0'̮texHag:9-2d;h6®21!bNId v. 9pu؞4ԭ"$v[K=v@āc]02qjgrx :BWCyR^0M?O'I>'o1h4h|=tHʤ C| }bRT(N?\I1'_)@!Hd11YYo* YND2}Lh?) b !j-ho&*H"PXa@H HCA,H)X e&MC$+ P[X$1ɯ9B:NyD.p1)bIJd|4I,eKJkϦM{ҫ3$ꓪrMo8r Aj&2|:',Gb3D7G Ę Зs$GqIkd] @ DG $'a٤jc9KH.0RjSZml! " 2B4 m RԶ,5JTJځaE#`) bʉJC&?$]+U*;1_Sy;n-zK)V5&*lK-5,UQ+yu/ eό%#CM:Űo=>ctʊ>iASŒ J߀^aif>I08t*pe+{$5=*uJ} W:$au]Ѿk,}2#&'b6i|v~:[؋mF(!Iy8`n2B2aIL%pNM)e 0&iɆ\IaeWZ\ %Xb&I!N͎mmcC7&~SM EDF,Ak l0#%R\񇅁rNa$ʃ_ɼ,yD!N[8STR]Ci=AR'Py75Di<@6XmcG8ԤyG?7 EU$eD[63# 1bVb' "l$WC!50ϐ(% b C\IM9F;$MF|V6!ޗ $$QΞVwXx?e=lLpSQa`$? 1 qj[6kI RH\Y$FNplIcG@<ߝDBlj␁I[ ijIty/yjdVT i:ER noa@ p d%hVuA:5p-V+`L2ƒ &Id+if@6CqiV!ŏ  lBj)P4Fn3e_sٻ|L,bXx;2CZA;;$XRҗaA%! g}{ 9p6"u&3$i!$WC`&@`6zYHc˂ʫ,b-jm&6Fg%«KA [lj6ptA'^m.af J1Eh B:gW f*߸\B@e '_<"TCh99x >ZPD&if)SQZJY'I{b$wvQ:N&xF&C-2PF!zWL?9N-s)VRuPa`$)BH혔q1 $LўX {e-,%~azT߭ b dlPaZYM( TA,f CDJ&;L`\PQBMUR[a`aJ!0eѨ E BKKZ\i6#mEP'z&*UE_ëXN{EO(1܀yOInpE"cAKe1kT\Qu4J"0'H$@$@A% ,ă*a8bZCgG`7z׼my{8?.JDD#gܶu3fv6*[]Q; %#[K+Ɋe h)P5 !(YMF@8$ĕ4L![!L (v$;[3pTLdG#a)/EA-r$B4  ]Ȕ`XE s]A_U^mFj4Z QZBCȲmULe1 0қ*UGjtufS\06A63`ѣZ gh"B!cn_:n4%h~oRd&O n,$"""""# {=/c8c<,ۅH3{IN 8-{=Qֵ33331rmdnJINc'3C0'ʧdC}'H'?&/(!7NfIh@$oVg{4q"wH:d֖NA<*x;2`-$%>|erM5V :- Ff q?󸗱PϊH}ߧϟp~C.>{ @hT A(EjNTz@Y&"}*"íF_>;бW\礈RD&BZ0xᩤ5S2tღ#lE5RD5{T4'>]kNu&kvZy+V0`Ĕpk#@卒{k  YLJO{s ЁgE|)Ԑ%hK )`+#8: ) 1:۩;.gR/9A]6+09:;p%{6b-C'`'q1Ģؐ@|X&TBX.$*$5<_hTϢ9IbrTAT$XԠ:I>=+#Q6b>mޕ,I{J¸~$zc# Iv4>\O@8 ݋O9+P0;{ Z=>?~!U/ཞAҩ;d P~ьccu0?񜙢~^{ozt)`{r>J!5|%b\̈BRU$C1&T#:[eHëoNSFm~7|_|R᪪.RDGRIN9)2%Bٙ|E]j0 m4j!lhaA0¸dͤl,Y&IO:[aJYeA" p-g't0tBqbtЖfEg9btKLʻf K1Äl*Ra;=\C?eJ{⽥O{뻂Kq4qSLjiNK:*%jC +pC% M d0!у7F(R#J 9Rp(D@6pˣF@ 0tBd18}SI&H 54H4p6GH&kaA()cvĪX#JKbCIELb:VВ*'& Ա7lˈ85)jIċ!ڭK 5)P!T2TEBX*m$VQ[⍗mȘЁD @ b>y䘃z.!Sr,1 PaH,zJ2XccZ&5)~Y8r*^\q>(CU~SXn{Nʅ:S~!@w ds2}/cb5Rg <Ēy"|g6=PP6!6+R͵*VƩ$MmEe4ʴ22b6Mb5QBU,%L3Dݣ8Kb&DF$։mDin芞ۼᥚzKvhD dD@L3$6#66E&Jj ]#whmh}5YMu*%.}t[,$9CdCH)O;C9 ~#}P'+n=1&;#I9?Tf)c:|Kss `%T_(ޡ9Z EႯH~@Ob$'Z}g} ҉54<)2ҦT`b2 j GR4VGuD҉S, ;DJ'>*:@`Du"b0faR$0L;FnM, *DWV$aLYVeFQqXdc105[Y2JKLJ+:,+ffu$F:VI`A1HK+t```L,# Zl0#l.dV).f偳) f`"#5SQ6IvFX,TmjAK,,Q%p.㽌PBd٘$7.*iS3*e)V!*[*j*ɶMjMb2Kj͵(HB@4f€!&ei 6 AarCn'֩N#vDl**J MgZ34tI-\SC^yQQ,TP*>䡐ȾxԼ$I}$";a_ ^;I$]U%FsqP E19 <~ܧN^H8y="@cfYJc)aEcLaĖ&XDD i,eL)nYSer*2008GjT +2J(JzH?z DVBU)H%  8C:ib$V%K_(\=HG|P}P99BKqO0q :G p^Q _7Hut3,}M%0)}a9rgPz <00C(BFC>CPg tRo(2BRA"@:VuyĜr ᘗ)[)P2N LKZgopZ-T 5B9!kpH&%yTr_ʹyc.PV( 8dDABd3HfgM. w3ΛDܒH9Ga$݌ŕR ̩7y+v9G~Om B?Ac,?E"p|M#4zc<:,orBY2$ .rfl5B((B"`6q6 YLlN 9C R&i`Rˬi Sa %,)KJ8 d ,Z"4"F1?sAp' dm6l..0vk 曄w6%,#HB;P󹨚òDei ZIv# Fᒴ,"o4#J- v=hK8R6`FDكKb O4@ +*dAa `<<@u$݆nF %{02͜pYT$ʀ`N4-Qڏ?Q8J.1 H_:=أLs2#ITېrpl_1 BǢ 4ɨAk8()ŅɄql.t!ʼ'#Ī[,N"154T8NXM$j1ÂDH}pFydB҆ :ufiiieedRA!K,9S%ę0JTUpZPIQ j@!ׯҝ *5QHUp2TUIš2Th$zG4sI߄i?sNBmF)#,5bi3mtRf;jK7̄E&q%ULf9#ݕl}:R4s$&Z:^O(T>BH|RPP{OBaRG܀<ݙ}v9*wや,H)D,đF/ O[bt `>Ts}h$nzy$h*2k=c*a~=y0CvB(+Ȁ֙ &Ʈ$RıRRT+EҴ7{az$JH~镆Z~IH٘vR1va, :NMLleX?xD䜘Gj ^Puџ r4jZ?h_ws:g-%YP9Aa:P`bw;SE`BhҲH1/Igd:#SH DhV4/Vucw2H;qEՃIBUB%`ṹ}`ckp0Tx':℄!_+Jhv =ޡ0#PqdU(r nq#oYwcMi}v\] DU3 RLU |`3͡zUUxi.$=DFGQ1nB\ȭIWDB J<7Ct 7L0xL>& ihN-uD?,v2T8sȈGdVBï<9u5~X6xh7E4wW;sy/< }_zBhQM)&`T2Ji$rLM(I>/aqRlY==4jTЪn ϢVM4؍uG9}ڟSS\ oE[#n~A"b[dxuRA"*H&rg ɒ[ L]xCOs)..o#߯$QqQꊢO&'2j"{ov G) aD= %p)lL'O0OafEaHgņE ڃ8KT}O?,GX}}q%|>~ӅO`\CƏC#}{4i8oNEB4!A/74GHA T]Rev?J*rr$ <<(V@ڶ [i-]^*#~'wƯ>2B$ND*ƬMW&!%BNS-dPX)PR!IQ D|Y=.e F9t\ut+>^eeص,^PNSBBHdx!MH۔{PE&("ZLKd jZlg)q>+|#Qz'ZD{;P!)s0 rPq$X͏葲zBx* B̚VyaT{Ɲ[yD0ˢ䥅#/s1k(ǺL-e4Ҟwj(ˆo BP%<ɭX02xVN :1d՝BA> !TCA!D!4YF.dҺ]* w6xM(D<Lepi.奦al&@ɃLD!jHA"M?(Y6,0$)//#)u#+ Ta9XHb-fU&d ҄RaF[].Ljmn`M풰׼V >zR[!,\XK$0"7~рj&կFw+zH"LKn2Mbf(e7;.gD0H V1$*Z *i6!Ni-0̶߼gDx'.'1s,#l /OC?SҸ1ZU(R%<{TAҐrGy=D= MHxyL{)uw^ϤU}i\H <B:I?(!@>F^Hl|1 Np?Dқ`Bi4|2"Zd))LE)@T@!-gVT$kQˑQi%+fn5!K*kr5ChXlTehcus+cbЙJ3R&Ew#rK$JCqj1E64jL,(s0F2Lj %R!ɳ &Zd`9(ce6ܶՈ!@ /=+P |1]qF :vE<>>H? S_BDrG|ŊI t?$#~K2I,i?s%&Qv?@`"ƥ_Py) JRRxf8r#%)J1K0c aPe'($V& B `OoA[='~G! *h50[w'F* ܪkCyާc&%^ia8eE;^YdjDjˬa":?=BvRAԽd4wE%Xhc. 8CV`"4씎XdBc *${*[Uk6iFJԖi=]s R8#1g pP$EAsS9SR_&!k#JсB\]RE*|q;"f؋*-BP"?-u2h3ɞ"lJ)7JӉfkU/TS؏4FHG QCX@ii0qh1;;Yzv 4!I9` Z2*O s?2]L&,7LVHTbY%*fT- TaIHaac8ĕ$SA M*,h(APp1i D1ۃG_^g%cgnnAW|d:Btjz7w05܍Vz>=d#J9Ǫ@|2ïVHR(qh|;hYg ~\p>ҸF"ȁ͇traC>0Š R'YSGk;.eeM)i$~3Gi$arai$j,Rۃ 8!\<_6wQG{7f-G_`dB(=P<kDO;n!ZlQ#&~g@BFƤg hඤRBK ң@YBGQps839۫<@ %g,7zpA-R928a"uzF (gp`8jaKdJ=;<21znsS1ADY`H ҘLrx;p 52PfvB I}-Q؋\`'t&63H9iՏ5W|2?Hk< ](l\xE.M΍h5 ggIcUjPtRTI.X1,펢7iV|h!Ⱥ8yʆ61f7OcNLp>z/"v jʣ<O<o } R kсmx'{2pj/ &&>{0y}=O&y~SM*L2uP%2ZLnip$H$wX0RUs6ęUc\aKl^A螭ÕLd똓"ƅ)HAÁ[6N8`D`d g^! `H3ǒ<卻&@X*4*$`Ēz A< \J+;-)A%Ѯ qn$go{2Lgd-苮aMMIEIY(x0oqD1q^56p2Ŗg(5&.4]"ȡdoǓI3plfOHqH##B&({bulH9m;Rg7NGd$dq#"sF2 Z =5H2V}Ēb^(n6;Ml[K%0g}Zw\GG,G UT6);p{Dʪq,Dv<Dui0W^$<ӊۯ_t4^O$~ZPM`D^*Roqok{;&C55מ$=ґRJ笡C}C lkWj24)֜ġbIh:,q2.AZCgCR'VGS#S*zd<$''gو 1D1L3bS_=]TlkwX%(ڠN6x&([u#?"GEZbU1Y%Հa 1FC*ibD9{#e0͐ O!6QV-e(P!w ZNl[,F/fam`i {@aOYRg]YEEퟰdYJ.?bR訂H@?Np"x(Ç^WSM@d!/ˌ^έ!vq8 yL!> ^ͬ0b^2h?ZVAȅ GNdΫGtU0TLѧRPrO'~,\ΐ}7{rHOF.U:Mz4aԪ}{)ThW1HeTIPl,)0ld]Z)Eqr%Ōg^I^TۦwNP$c"+0bdt Lǒ΃%Dĉ DZFvu,Y^afD`YOjG݂/aKghNC(A _=\;b6Tc6#pMUa[#XZdR ;ޕl̚Vɂ'hnM~a<~[OW8ɗn~ЅdBA<8'i/hv$LBxp\$/)"*C~؍ JyL #PrnoմJ6 l(:Q8ƔIuw[LB< cG.V^뎬aXɪ©TSp8=)oT~QmRU(FnWmIyt,6O'3OZYK66xb&yB%N=-X1~e~)Bc乄Gh! jV+([K5~n:">NqQRE٪M@'4`.ێjt,T&y7C[zv--cxVٟޫݭ ɛ4](:dGCji0Ȇ^f^J‚CyE"HRC  I˼#tm r͞qk#;3bvl?kn$A*[bŕ%ϙYY:6um?@d*4F'h/XKiq~٨r &:^V~čW?qipdQh($DD_YR(O mIB4o\<hCȤ!D;Nh,{ E08/Y*vᇐ !KJ1D77BSn(zBi "*#Cac!j̝=쭎|VL#IS:uCj0AdLnoNΉ1|ߦ).ܜ,,x1 St']` r@4 ZK݄p^PFX i15$O  jʳ* 09HJ-Q pְQĈ*I^LdLafbkC$=w p!c U`a\D r!$7p7ac a/G l WdRIR0g+ŒuƆxAooZ f(kxfIxb:;v0iautƇuNR8\F0ELQ|,!Q,Y81W'+<ԒA (*C%GLrH0B'bh-WS91胠!OcC:XEskcF5dw) g9{8/GH zU˶FвIBl;Y:AKbAC9fZ2TJjP:rd VT}G~;Q+aB$IuY=T؄ƍLWqr4%f) e Zۨbq#J}XrO HJhڬE_(N>HKjN aemulF rGP1  efiօ8ra-7D(N-.iRrq32\ " %,Xv$L6$em !BF&܌ :1XYhFDImfjͤAR4iK xFm6z+ɬJ <#v@#,0O iTD.W37bL^PQ.P]DʡmL;YDQpre`9R$et!+zE/ m(h w1Ђfjd w Bܙ!OAA0 2k"L&C Y /ph:W_'Vрtex$S{4@>0P(zd )}FQ$:49 q<BHP!0 yuz Ȉ/lw :*QMJ --1b$QqXHh4 ,JvFl*ZVHԔ;.2 e!D)Ħ3`ѡ 4`D䘕q32i,ыf-Eia)gC `X*ᴈiFXXҸSIccE%c )"[ af FJVE0ibaMD*iӘZ̗)sdaqbd5tzAq^htF ^$!*KQ}G$XdȢR^Т]82!93<,chÀCbP2){BGQ7*QJ<L!x@y`L<ONW4XoOE"L 3 $돈Rn@٘240GP.̫E %)B'8\g i FOQzSOẁ<k80w)8 +o#- _j T  eJ0s{;"w;717NLv1M S\#"MXN" H%*DpR52w|XUQCsc?)_8 󎕤) lR68>o[``!hm`P*paDPSH:Dt+E_-n;K~C`(,=I6rP֚я&-4}, őF i4OƠHJǫh܍TdE!.#GKЏF;)"D)>o{cchtw=Y.3_QdE))ᣭc]4 6X\HP(O#;6*)'? I8 ZxZ!MF )-{'#fPئ"N,,ަoj~״vJ pIS %!` $ O}a!xlAW})m)@f(B* O=H@wՀLWhMm 7\($0@ٻX:?yې}<œ[q'KY eT"Β !%00)Ī|GC˷6#:Y'H{G3^_)UN?5|g NyXYz1Wt$Y6O`&0I3E:4% (f,1,F@!Ha`=x#mҟTGͻ">T|o,׸+m)QBNM4@DjR??jUz*T\E[pIحԒnN;l%cfj %NA:cD )- Q/7,0$*֓UQIi* JBt.ƅ6]NJ,0aD!P@$2Xx(\G ){VnbTnh!7 ''%^V6g7!l$~&41S %Z"P,$904˧ 2;U4 ZX A W jSO>u4q7}v♂Oȉmno"Y1VFAѦ6ߚf=4P1vɦ"h^$hL$iw?6ZUID{Lt "#BmL+rQDV@Zʹ9ЛY5;IGҏF? I %)W6C:{<ES ,1b3ߌ4*D$\欓:tQd|)%_^ngs=[8@ ӳ?XT:ðSYY"#>+nsY"RBu Eҿ0}S㐠Ќ@&qT`Ҍ;mVE`ROA]Â!7G۔ME| #W7$q7Z-v'Io)J,JH m.!@,ڰUTZ梇u+`8aXHֳ$@L1$&h)e-1aN2)rMJ[n Q_ u żU7U;L"j" Dz+ S4_ե&EFQz4 ,URSa86bG7}t03 $8 L%T %X"TG a,"cuLB3@~1 }8P͒N$9BP@(BS.r}6ӹ69%UȒ #g!  26ʥ*bUU=ehbrC:}9؃b!e(H)q 8dc@'HF"2JQD^yUCʇ)|0+LCǡyN0@I``Nb 0}f)B[wz߬gȟD, vr7舰r (`IL+b@`s惠_oyZ`ҔR͹&}_8G`|'p{*2w!wCa)EU'‹G}k?˔׫_ ,O7-yI驯s «ԛ#Y,Ԇv0%!IgOdF 0Jp(1A_ʱ5D+YX.C&(Y2Vz5)L|ؔ)S/8œ[2'P q WcyWE ")a/'';2o[,yo ʏ)ŒQXނ^O^Lq0Xh*ql:_ aix틷,BUlz!yk>4<@-.^BN?v.$c b|>y;K (Ab!flՒC‚P?J!ϟݙ>?wq+{Z H- Z@IKe))KwծJjh] a b`hVDi^ƌ?mIBc@[`']`Ma@a `'yT~`%kq@`kd%"VU].NkYYrG=TI-(|)UJWX|;LRf-#ĕAI((r^˙`eI"zčRH ckS>ߦJ,Qcg(*ء}P]Bd`aTAMQQ^Ee<9L)YB8HBSqtmUXi!7PIjsi[ }Jj;w4jsm>mN01!EDu 7o%eP1jF!+ OѦQhX X )]AFLW1}]!,0WBUƬ"8R1LABlKz+T-+K:PI@y1J FqNJabaN30259 a` RCJs F):sy;2ICAL9al.`&Ei9])CҔ$(2D2h(jjG=1dTSJ"G[!t C;z9IބR)ICND1 ڛ7QdY d>Ef7a/ )@U,F6ٵ)da@b1hDd ~}"rLY*NО_svclc%˫6]kf:P0%$"vDJ!BRulÀ7Ч|lMD,MlfZiX&$a&I8QˍW!m i<8ݭîl7׾>_-.7χO}}4xr|g}{eS% ֩O־mһv׮hWXlװ}7XZsx{̍/E>޾ukIw=:o{Nv΀k` }㮕@%¤Sݴ7ލ}E{52̻,ޯ]xlh*}v[F=sJU(}4^/ov AYM顥^H)A/vv{tЧM썾ޗG}>RJAHl+F:{}PU Ӷzh8ER0U{R^>_FJlUPU(TRJA'ѐٞnh}v^<+gZC,Ш"K}w*J&aB{˟wi wW6Ʒ }]wuϧf}}K罎QU۾y}7"!ﻀ@^D (*>*Zwb}| Cݝsw=:}:TI&DN}czvv]]͠*n=۾<.}}ϖs`^OݾovNosyͷ}5^[kv^͞ľW;zRswFg]7_=L(uZmU:@DjR5^nFxV|>NO/e7-e5+\tpښoM>呂;֔|Nׯvok#zǤZ_de糣u^;;};ggִ]uOG'Ou۽{zvZY2i6Ҟ,7qBYo{<]={pzl﫽zx+M[U픎wک}֯}k޵ž}i>[vw=}>s^[|sxw݇y|cuD\^u¦vaml.WZ u8{޻ϯwvMkM為k5wקzm=;}jݷ9}vv;2f;vttۭ}:rwC}lҝ4uLWs]ɟBssV;s|={^의@ qEti#F@P3`fs=]{|΅ 綱͍55;wPsOK6@w`ݲuNm.iko7=g)"wkiz讀.kr{yuYp};{nCFm]{r-<ٷmv}qJ]o{Ww=4a.> b^;t%>+ny [[{|O-{wMn4sCЭup7`T=v+y]/7hP5-nt: euuԀR+Ǐm=nùcwqU*- "nh 7wi%n=vskwn^ rܫ{O}@SM 5}:wnګvv^Gwn*ڤslV^=ҩ{=WO4:@u@\Ǝv]={zۏ}7p/-o7nӻw\I׽|w=K^W}\ҙ3څ̧{5]PT]uo{z6%muڳ:}yѷzD"ޗ*h%4@M C@jb&L4 h&LbJhB@@F` 4OLmO@H L i3B)2xSS!Lhh)4&A)='T꟤aSC&?M( 20!RPh# hdTJe7ژ%1?I=6Ph44H @&@L6)FȚz@ hu?¿jWH{k8DHf J6]oM-Oşքq{1=**G(mǏyA\eDU,(CNi"*hҊE%E$QA(9 "p"bHk0zD rqh!FV "J "m*`#"@uz5\1SH"]5>&'rXxVQE^=ib01OU1wTVLWXYb޵8DNf0]ܬBļyijOe.淜'mkEܒc0*x2\moRJj>&=b(Q8bfgOVg:tl4*9÷110d;ᵈSMJѨ 0e5BaH)!Ji\g%R1P]N4}9UUP)TBJDu6bDd H0Q --(.@ - %)J%+AjPJFbj@QJ8¨v\HBC9#J&LDBvPа(Rr`AI$L# Q#OQ`A"Q H @ ࢩ1@ĹUJ"(IPQ.o *&kf 9DPWP؄(&H&T0~!Oq"C*L(zgo+b+r4QwA1 0n~!HPԑ-%PRK*t#Ҏl^nR)*i*?ͼؤ%n @D`"LD1 nr8agTR%ڿÜi 6uշ9CZqQx'톫hSK.Z[oܫz e'W0yW6VygWT"݄1ȶ+7m{UgdvG*bmQ=pz[9WRiFp.y141$_6ds+o#e~l/qx熭cX.sghf}Uṟ=.ƻ"nuҾocb I&^7РCd#&uamC-̯ -)/X"%d ʆT#4TBSRS#Q1XU HD4USDM-LM0LUERP@RU08oӮ,iJ)wsietmh(jhi B*ZU)(ZV?Mw:;iWZC%J|F<gצ/];Wᅴwgt~ ~Aq1cT>32+ 0z^@UY>0צ_8؀eDZlmPNǘb㍹1߂oi}Ђ&~j؋\97jۤy\UQ3Wx󛩣aC]dRP"WW?tkSU:wM4+}Rm)hѧM*suϬ|=H F}oP5uR'nI6TmgvSTXVMnFy5j9R0$Ő)sCY{wv`LF)Ӫ $88#łG^[j5R8!j3Aٹpq[W=؊cryK(bτOwUiuY3WnQ=Z$DLJ6JݱE&Kg;L%DȂwE3u7vؕmVxQdl*/=vi)ªtn uϋQpeѣ+(i)X>2DNbOq[oM$oN$-߲:D`wm(х~{#+&fp;s:(tXU;8xk\NWm+?(NL O BD0! ! X|gx~"2ݴZ_ 0ܤڻOz RsIiGL&`e+"uF;NQU:Vl3ֳt߮\=~\s%jB0A,HƯ4j$ ##ğ)'&%"hSU*XbۃXtepC&3 T ETM+AIQd#!2147E;j~T,1!ɓ\P^I܎$5,hu`0e  4T:sjX0N0d#H14M,\H:B@b,#jfjL,n.n-Fmkcez28 nkWy5cQw?JkL gHJs]9ӲC|n@kprjd,"כV3y{x{xpKY`F9ΗWYugƕh*򵣢o$'R9|<ϵu)I!EõoU m bDޮQn9i.D-~ֺcQ M'2ĔA <`!q_yO_[`xmOtoxANCwG-v'lvCv#OQc`ymLPsS5‰i )i$Ȧ}dȩ5GH&*jdTL1 10TQ4CTT?')EyFN~|&im"ٹ4AƏ O_%,}Z ݭa 4M:ڒOߕ&2+n*1[tÓ$ҕ%cONAXƒTDҴd=Ѓt~JPۚ^tZq*b xj1s#3% ;dmpb$FRD#OƭH`1-wcU|KX#tqz_-=:a\h6He~}0$HC̮kE@﹞4=FAxm">٬ۭyyĉpŐCA 3.(KdUz10ՂKȔDy'2+*8]`fWe a,oiɅoO\3 i_3cKAp/sEUEBEfeUUUQקow㫤46F֪pX{Sq.a JOgP6Tn1'ljS\XE9B#auᎊMT{>8`{2~h?$pP??g'9-]ZY < >d-:ity>ɖ#.$>&" g\tq7c8mMț9mZm'F= ٗۃ8@ө(:f _i7+@hoc^7 [po+;̽\AI$9LSVIa/_s/c5$mur~!\q!=')V`wmANu3F 1SIQFH75RkNE e2N5Fuuƹ 㻺:捔U0+~")*2z2ʗ{M WtݧZ\< RSMDPD@U/( Gy4r"oB( |\9&F͘q %"HP`G/΋L*m `5pB-b O/]}CK+!qi\xRaM^h|81{ON2*<#}JoXAGޯz. s< ^|@ NHשnIU11EfUPrDc׌aΑ b"H?d;HkqUcCzvf;q7 WV"҄<ql'3_$?$&~iZ]Vh|"JgKJ%T~檘1My&V Haój9Y2DLJiP~vˋ?>=sL%AG\;4ߗ BkNCEOxwv&1WL#XvjJftvny&j O&W%.wz+|v :mM8g:Pe7]COCyfIZ*a*S$J:(0$$Fy8cunV(wII ׫H^Mto{t 5f5Tq'p[Cs$Nd8njr&.3a‚-GTUT54/ ` @lKBz 3Ȃ꣒P&A80eaD`S\Ơ$à v- $ (Zׯ 7!UD$t {h' P`yzB`A "H;Hx;` Ҏl)\P)5A2ԘE<#Un,5<qUdo*/q܏ުq<׀08V`_'D~ahr6WWb iTC肣;`#;-ܤQ^"xQ8Y1"4Ю*RuD|тHҔqWmdCdv Ã<㪖x6QMrԠm_*WEXxwű=DwX뮵 YDb c5A2\r0/|:#l7*TQdP~1*0Aᏻ@?fF@ $h5kV8ouuTyB ⧾7+9z6ƞtX#eCA qPpIk](#c!8BA|ϟɗ͏#˃53ʽ=HY7>lgdk>p^)$D6dF`˭C5K1 ғ}Uԁs_o8P Dod6H3=&9ǐ`{0ʠn{K"5l=:>hN36MHxRV72gL@&V!ym\%*c[z2~_Z-< O2\Z!(鳲-5rPʆaMB^ 5;"־J캶Z)NVJ܃^bW]ɓ؛F2LRm'4S]Cq3WhR7/愢{rz4D4#D\kr|Gh6@K=`u|k`h@ K/U$P";En/buĨ5@a TPII.Z(~1?zqZhFvhl!1 !8NUC$tTm$:2i"d~J>'7|\6TY:)pVGi3|_0m3QyӇaWի0N7zn7xw(b6bcILXY]: *5%֗TƺDXKjō&Xsl$LF𸑌&!X:q!<:y47"e3Y6:mJCyX!B*se~hFM)HGvƖ~NB-gލ? i@Wngũ!n#sײE[5j_U2T庸M.SWٓIby-3#s׍FqV2忓9O;:ۙU5\,=9]N'zW5םxϯ>U($8֞W|rsf=wj6v>q^<.׶=tz,$:|t{-ivJu>-y x1&Utx5펻 NvE!'gt-T<0=ŹGd/%G63JF@^!%sgݝVQO 9򈪀<ޞ"PՒ4R?ٛ_ g喇~쭚!㋰Y*  JoeVl;I15®'zT`!<۹CL`dYYqRl>)9ތ`VYQCۀFךaQM4j‹/y!>'^5RCrr+0(ʪ'"`nGن.9o垫3iZu8'q{p0<-_u!0F2 B#|zx*A|Ќk0"ey\aψ82B8#Cih8u.ޗPezp'6(ŏtvDApLwa%Ǧ;8ybfzOSwϴQ[3PXoލ- ̰X*1j֓yeFU%M~HCS%dq0A_G\v Nw#]D\|]19/ ]Aվ\!1{P8d>  #0H PMJ(ȓ)  J2 BB+ $*CBA +.TԆJL yO?/h끖@DDF:$m*$McLQħ\MKw|cr+s.|`F)D=>1)rjCM{sp߿ ,+eJdf{6L#d 0=:N-"K5>k"<yovA09[ EɊkbm5c PXV@U}p<("5kn*p0q-5p;}u⃤ߟ`Oz:J}< (9PKA~ؿ>=&dc(I_ gmq Q D.QE2z:r w0dP<7H?{ȆTdqt5~m_7RHH8rZo"=r n$z`)Dgۯ],j˅ h3Syϥ Ί#k Dx _ϫ8X>Y0K?  4zw)rRZ;{ W$3`&G N UrUJ 04cR;+30DcG)L/cpwv# SMGm8 MnXhuRCjxJŰ'-">(".=8'JD 4}p^(ty>㿶zRD'  Մ>۳=_u"MU|%uۇ"ﳦ־q 6e$8T/5$X>ƒ%A(3C\?bgf}~e;e)|E8Ӱ]W+xju~T}& z T~Gǐ{tK= ;PK1hs笮zw=3^l+Qg!ʦ~2$@<%?ԋmCE`oXuKp]_g9(1ޫfq@b!O}eDN?&Y&Ksj7+]z~DfjF ыS.Pv,%` j b`!fJ.ʙ pO(N`>>8@ф {0ꏰ0H 냟F!0?R~G5:$_ R(xMa@_NXܚognDv!l<1hi AC*8t@-z;J$?v ܄iwLhP?ZǍ6YkUGf>(Tj RIs?WGC$t2:DF%/0*L;Ul)@^]qp@ 7vŸ-,cUԿd<|qVr}ߒ}k%90~VL>D6G'BBG_TM8N}ivx&t'[Z rY?x:|v 8W6n?%Kƴj\_/^s2vZNާvr}"ǤvڏM"ƣ&jtts?7VJ)8G/hg@ǰMZD5=-_i]j$އv0T&1\Q]!Bt#=|uT׉M(m}`}!ǒu)7܉ nd4! $i0[6|_(B8 Qi1H>{Pz 23-Ax>7!1D'hQ3 5%ìV`!iiaa%r?3“!m7QU9Dh1鍵V鑈³C1C:= Qx Ҫ 6PRr(#X1RRDs QlAAZLsXc[A!l\*.cjT"5Уbya:ENL)Cad F,Qqںn1bLo66mBà3Uqal}3Ħ;0TH<pFlt/(~(oX !DDy 024)uUZDY.4R 6 N33y̚ t9ϖ*R4THkCFP 6шK@mߒTcoQD(8RR1DA a%4Y\tk&,DJI" ZPnqQą5ٜC=k|c56Rqvq( :&CfUQm2;V10C֤5FCU^$ΆK;iETDQTC8ֵ4Ez-:Z jEM$T1I]gnۮZM0ؼ62gyi}J)H 6beJ$ ; րxq!ZDrHJb1SL#xԃ .q@PJP/Qlُ@*F9vk =jE- B9.BLIEON53H ݃ ABʃKMMB 9 F(`w;M(zo<TF$QD~)X{UȴY]\ @8 wF8݉CKA k V8*fQ^b"J0.OBHDa@iLHhC!LX N%J a>1ASo:p2U yG 5އgp&0ɘ %~=vtyk-a7 qӰgm)c'!͘b9SOzKn m( p]8XJh^5#Z0_?Է@ a HV8q]d4ml72Ÿg4+z>Bv n*FmoAèt* l/sF صIVC+DrUe?{Vuj-(G(l+G) S|ܜ6͞⧚is>9[Bm[1'+2Һ4y YHHLfhX.vgyÆUZ.gnt5š~kyV&T9a:*yI^&NYUBw>/Ctp#! + kVhFZ9D-?1v]YyyEA!0*kY{WHmm#E핵+m_p/k8bQ" wƖ+#i rsww6~yXx#˚xaky{xQsf4V슍yH!݆HGX~ ڙS");T!1Nb/H,dJD=TzG+ZI$P7|_qyeRaƪ}fɠ8c숨T70Bg5~M0mFAMb3M@Cm[Y ;\ ! .XHEz'F: Jd32VM|o_٘bk:>xMR?KH<'uhfyr6O|^nZܽ{*{k gFݽI o~겢eM9c8|0f0?(6`7ZtFJ~oP|k t+)uU+Q*fi~V{}9V5ɂf6jn_ϭm&·ϯy/+C;E}~=X#6ݣow˹3lyVox~Z #!޴[,[^4Z:@D~KP1[ [S:v6Ca6kTa1,,*ʩ`}p0"eNl,*l쵯 R5jxeM1(Q)7cUT"ZyaGTZ{k(QpSvCH-)z7q}^NiTEU&DDEgNAo lU(]ꨍR& 8k6=Ws֊! NIa'nlX"B}_[ U! UT!DŽ3pM#Z;'M g9gs_CI۫`Z9&XJMqȼ}˞-BRx}k!DZѯ'ySG|C_fxbG~6bW\!ؓ1h#*(B/c]ySӇ g>Fֆ}49roOS16)~Jz1;'/^b{eSMZ`(ţMWzrUUX+z׈5`?60v{~ۺp 1nۯC+Ye0çw `0 q8|^^=>=jSNOTMd퇃e^y꤫&R(x6ϴ,KGyޚW*OU%Z 0}w8Զ+36q\< =pzKD\[_4'KKᓓxb"-NlLB'8RV%3QӹO2zpWDrDvv} 4UR!șbe{{)a&O_2ɧ>jxF})w5?%;qP6uy<:3 X> RMg J r򢴘[זVe}1}S׏A-5dHQFskif_a 9"H3pa@ܧvPafv<9xoȼ> y蹪"0R=ݼЄTM.gq{F}^u|2$R큔(lJl[(\kUi14 F<(i̮t4;gM`q7-3Fz&Rʀ¨xe ƅֲ&vԲ_ؐFIg"X$(q9x~ڈBQwB Sf eTJ7PoU"LHnwvi~ҋw'/ _ kw(;/14Z&`E&I2I0Kא}UM,M1zjY5NshD|S $Ͳnr"I °or*cݮddkq o^j085&KhW%ƣ9%U[ID흇!4.pyugpB.B@QlMjtCcj쇭.Pf@cc).hOWTy=nmLTD1=#j/6TrA#~Yrs͟ji;NΡ9}Wsr"d#(ܧ,]c[.;-UTPb3&@fFV'9%kкB)hոBW(6^aÙsŒ9A,{r>Y1=~?Z`C">vϣaȗJh钊I[w!}Ҫ7>tC!$![@鉡e6ߪKv.T{>趂* OW/_yk\-9lA -SD|+FbꙜHuIxeö6D{a-[>6ej^[Îu,\]ma1~|C[Ev$TmV 8С  ֽձ 6M iۯ}L_S}atu&V^i3j~T[GKF5-oL?#՗F,Qn,N Xe"z]M?Rc\,#:^g{xÁev_G*1nPy8km6{l|uKٗR:y? QW7<}v}a`eiod>ekjTizYF.;m9bBXň+]f3]]hϛ# K\&" U/N'WbX?z&=oqDSqn 9Ud׍wc^LNUY5 ʙ\8c/ǥkۑ5. 7näck>f9U3_ۦs?Y-P̮VA AXs_겜Mxo,UEl=2%s#vd#rEN>/5LmCƩghr_P3ԇ|4|PQlu[âr#/B )>4xwgL*ޭIz|Aš ޭzf!Qi$g(xqy>0sv*rz^S*"5ihִX53%@ߥs+BI 2:Ub tII(o$1Ə:6tbq},(Ͼnt'H.Ltg1}umOnco{4#qSE',0 YX{o*>hmf1Ͳ"MlvoV Mqɶh*l~sFi<#%˘é.iܽ/yN3<)!_ q&~kLN~?P{Jϊmok,KƇɻGaC $y/xjxӴhtRj~$<9Pm=c+svd܆M46Ov}1ĵ0p|'Xh{1ABECxy۲?r:Z 4;BK*g)nA9Ϧ r@0d B @B) 0cȴNo/Kh}S;:4rlHGi(A̓P6vKg.H"eɒ PY8y,;{q}x{Bi: AvB66W=Ryɯwie dK]ULp#M0ycW@UyGKzП놂W><" !a`צCd'WY|? ܹ%;#}YIüZMl jM]a@iYUIr+s|֑ \gHHߘ|gUw0xQi U۹(qa'o?*19 Y$$>hݭyx7U% $&L ף]VVA˛ W#`;>vjof8c`,A殨4(+ECda5 &*HY\֢j L.1# wNQ u{ޡSCCOą!>\rL׽P# ly<{ igdzhI{d%fD?U)!:75pߡKz=<ӥͿoo^ @B;0q>74U@ׇ C1$ @aǿ3W7hnB>J][f 6@❛Hnj͎jo  fF1- 3;~ϯ*,$~a5n’`_h0&?4J}+>N0P31OeD>>8n/W {3slSA^2 dr"A>h|wc\~afbL)H稤i˺Ƹ"D%9-ڰtOi("N yeg XƘJ4=c"(!$mC`oŎyb[`pe0bdsUdm%n(<6KoEL؆nr=}}.9~*=G\wI ~8mQ˄28C؄|'oQ(MU%Џv|Q kdx6FRey[|:OhQpm5X9e>;7ϥeC&Z6)D16b$nYb^Тm eujݴljiFک#Yiۅ b;M ;#<U&(Q,Ah4SHX Q9!><XŸ[6:|3-V;Z10)3?On PKpuW 1+Yyfv~*%̎nf&cHP6Y>xD%F~)'FJI5mX?A|5-aD*Gbf/b;ukXolŔxhOλʵHu綰θǜ9N4hph?gx?92~Etu8C?[Ҝ|^8n1'er 0||v> &=Yn^V%„ņT,dkn䋏: }5F?齃^x61(ڶzq O/*ىP6'޸n8GWE2#[?:XKUKe` A` ]sD?sw}d]7GmBJζ~;~E6o^]xWA4glK$QY:DjkrY>ThFT];S3.}qkdm8^0>[פKqW~E*Ie#͠Ы_c ^mZa1 ~dȕv9i 30fbF2yl3&FQ">./,)JhVJym2k xBڪQ~11DS3:=';U<7]c'׸䲦#!̾- 5V%ԯb1~`|{;}[! lj1Z3OĴ(_l6nLj}ANXq\e|%US!B]WsLhq&lMi׶Y4-qmCn%XUw}8|רCZudۣaz7 KE ka}OF7eEm7}"栺DEU4;>.SNTI̡\ӉFiw28R԰*%$Ns! \m,8ɪS6"8wr_2`3XX6K-tX}v9i7_eum0x l줤Id ^$|ڤXk5]CRjIe\$&.;V-Ͱ-~l9obш氶ʋ-禫+#&Yx2º QݹEӛ\{Sl,3:v&`ͪ#4@I;Q6ٌf`Bv[% }/MV`gqq$K#w+ch9V) zur9ޤUVK&J)Kj4jjIcVT+>W2HU-kK-fp++mףVSzt,-R.x6"qBitߦ,|Kb16)&ƒʲ-sӍGoApLDUdT쉠7] |o6Xug4KōVˇݦ!BdyLx^ۛiurҀmL+` ]N`l˂vBQ/VCz1~>$fY1 n^owSU Nͫ&Ϭ!;xcw !ΰv&Y6Ka[*Gxx%I6Q?k#{THTD=sp$9e7r?w;2H@HEJyC l~eԋ,TY4dqH!} 9$Q|Y-++I;_TW3 5͡}95-Jxe?$|;Ә3-¤d}$x #5IaۢL 7F;=\]!Nabx4ÿyo2kH3zƭBKY7Tnx&JezY'PX,ɛZmA7W3*7Bվl`汓VԴL/_6 ^ Y;/YaVyNJg!Mbk0ds:\4GRuX;աЀɐ93pDHHF:K-3;n,\H/Bۈt5Fa|O $dzd$ ran|{LnWڎl턩A+\SzRMS:mBqPV縉lއsDL,iBNf%P^u{p8L0mju[BA~ټ!.:+Gi8ٟn~_2byc]O|WL+J:n.b9] :)H1s8Ռ+> 4u.nٶp^ѡTv|P{j: e7wL(kCi${5@'+<\~?~?adňξ-a~=Oy98&cY8s_dj3!UNNX#u4R N:-W.7L>qQ]}ZuǺ}qW_塧p_ dG+::(HcZs|8ˁ)A_()PD'To!g[nr(*BakYMVWr i /*$Ǖ;w$U-_z;w#0O}(J-3yJ$F3p (ߑvb,\9[QqPtq}3)=2b\j4V-N1iH{g|&vc/+|(hBaO/|)͑*-I<")IPrҹ%"t~Rrf^UDSɄawE2:QI@5cvȭhJ*9U[\>54FKLZ'iŦrݦRP|º뜋)]4r!ZP/y"32,YE)˧) }q >Poy_Vh7cx_s )))՝-~q̫Y֌ec1ފaOt-h@8٭! ǺXaYq.:c#حJ5[ T![,RB۷(d;uwYM=^Nto(ؼ͂SA1 +@vz[wbV)c"N9TB;k3MU1R7]Oys!IPJ2f'ԠR0%"L*#D% ==Kڏ-2jC^W:}y./[~!e3arvE#D<>tc BQ:6:`Ps3d"r&Lۿ[t1>Aw6;q]5Z(%LX}t=QP眰:~^NX/=l5Omnj^\|Qpu̞.(0uՔetaLOkٳ̤Vzu}DZz;Hs;rNb :J TnmxE[e5`Fڴ뉜J ڱ [`]MaxﶲᵹmwwsBlļ8حڼq7ɟ{7u*^uSEYfr&򷸖o$EѠkM<TlC4e'h|?d8o>\ӻc>գ!ZqSάD|7N?*5̥T#Ji%OËw]rs3¾*3̑G>6&>e+k`7Xh#斈u mz^YS]V(=6}y~ ~GΊih^jQ9]z*ޭ#1N|_fhj཯,t?>Aǽf(j ])PPh;X_G{KJ<϶pL^[Fuj=1渫 Y~OZج~aynwкkQ~[j9Rem1'ĥuݢ;G6!ȱLgm5UΌD*x $Տ>Q3# tYd|<[wL-%4¹gO]ӵk !ZK)3^pg;}]w} V{|{uWʹ"`XqJBQ jLC'J9D)F 1FJf=H\om9TL¦wUJO:Y /0 I`ϣW=#E\ih&er0?W$9x&`zc#Qa< S4jgxU^hRFYa.!_,k3̳m8\d+# ÌFbzgUē2dnquf>;ژ<՗15IqИ-b1/ #<3 tNZ[F0;:h(#ukB|ngyX9ɫZ7WY6$<* 07^~)9 t-*>FOƭS|8B~D̍zbKi%FDx׈ct+ytei.'~HaO:Wټ7B5sz|:+*OWm]&izQz?}aePPfU2Isɑ`:Ѯwpeiб?' >;ń !90*^ĒD&H. ])'-"va+\^҈vha$7oxxɝ8{ޖ@Id""d;ҜtFf !۷>BU W}}ǻu/m&?w+TFiTQ2= uV;kgll.r$}U:+G4'I8'{E8ez︗uߏL^EM_Ʒ(4cfh5tgF- Ao6ڲz&Њa/th32Qi s{JjG1( n!~aoP^lܝ߿Jm8>#U4m׼z  =tU5#Sݍkl/[*y\sku1HC|J7-(LDDDGY~m'D{~:ᬅ.nt~gr㻉ɡ6Ls" S q@_;KT߫i&;Ŏj]͞]aҡ񶩨= 0-4Uh_0,Yy99߮gUuAʶ+uP/c'F,jGetrk,<ٔ 0ZwI"O2:=s1n {IBs3ɥv 7+E1+]}e԰_LjޝՐ1%,k!**eN}b?Yva" ?JE{9}3=vSx=aU ͿmQP?4UmQ.?Q fYq#+`M>#},9+f8LCILPۀN9# A+.uޡiղ bje5)O,·|!O}wD&3)B/݊UQ"G{&1pLN?^qkxi~~J5jzS<6Q.x5ܧ@d\TUm L3ZKPVĝ u-?qsշ7;Q`qZMJ,FONfn"'oZ gEC캄)!ڵmӕ[7.q GnЌqqē߯ت[󢥕Y~;`f#`1^-.k0˽z9Y|vQ_j ˷$KB!|,q_59nIEDpxj Պ/+-.X ӉHch,΁1+y~̇Ce~~pqii`;^&dG5ۥ(_qڸH,.zV5´J{zp_fj먾R .N{=7a%Omi5P''m(x [FK0IFE4wahKr½ _52݉ew4Î29-Q=!}ofΙQ!KLMM)KIM4t{w_qQW_Ǩk>%\;Vt*m}[iRjm(S> %M<9BFS]MTS7]FpZ9f;"9\~T5.p"8c!6,l_70F$P<SWxK(Gkt(Ynpw=4" ؆ tZ{= /%gbf%[VVB|b&.E4ٍv͛,b&aЫh"B]Φ fhU1X)+h*Z/x~ގ~εW=9l{{Bj!_!AS)"vp@7=XDN9GmKN'n7>C!IPvfnAʚJZF#&rez`c'>,nжY uFR*Ʉ~ޚtF;g=%w&6K~z̿j*VNz`xVs7Nca ڽӨb>4|ߛB׊-b^\a_Gm\ُqMx\#5ߵ&FF?SKv(^mZ*CVZqiԧ?,nCmUXxۖP{1IMl9VG PIg%YP:w}_$(DѪ߼!oY"SҐWZMh-?i&R;2ѩL05ӨBO}Zzzxla˅~pZѺ a@FN$A}-B|1wqpptQnIj#zO;wV^k9J<&":C9|Pٙ++}4*}UNN(x"\AQ-79 Mká 0 v, M`tfbrtBFcH)J۫pe*H7G3)M !_,`9hMo"XX͈"϶akiRd5`GyhĈ;=8_#+锬bY+m6(=;ðs ,xS#w:p#\]K.+r8`7kMfSPn߄)TT o_7iWt:>6[w&<=ΐN3K8h|Wƞ^tu=;a:]:U,uUm.~=BY/:Y{U0e~Vr"G{'^y략 hc q=Gl=Ҍx>6^}.1|Uv[N\.0ynj:Q;wWwMfx0;TnKZRlǏi튎W]zN=y6;t n)>Rz.33Ŷ%!ҙ$s u7٬{o3۝$qVNͻ2}b8bxcH*E4LYUr|7nwQ8Cʽ׌яpkb1XlQ$\q3B<,P+}bh@m.x~ϙxn`fTx>5]u- ްBo|tqڰـ뷵g"G2~u{V;B\Uxy޽tj81nGNh_dd umּ#A8{}(PvGXbn2fpRs{k֚b|r %8  .u9yF?m/"; Pm&ONNB{au>pk=ѾǦ AXk֩v'l {l[LW{ȍP[h0ݾ+| ]G0QIVX ᖍW՘J֍L4!&үI]\vj߅!40= HǙn;cz hݍvO(s*uv1ݗt)w~96{8OiĄ|Qdc ܜ);) g]`݆AO8>jFoѽSvwCrc(aJpk*!4>SlO*r0W?QySѳNɍQoaٜde9# tQIUzRb, ̈߅B/<;+^{8/]]{)q }ō,?i.G~rnc݉-fg&2=vHf\/(W踺(:rVe.HB+z}}ќvIH hxWHiKɒ/l¡jx$ *x_DhH\`{xLgTu&zi ҭkY۰0_l=5D"#كY7&~g7O>OF˥^E5PY@t?nJMW& a iUoG+rUw+JivTtz ӞWGt|2uF%UBvOwJq&:znmuC؟\?j4f?3eYlIaJ%2]:H [?]սM^dLjVtU(2#%\ T7El'P/vk׫-YWI{5=yQ=7TiCţ5NC!PTZ>&2=NC.o,grDEyÕ.8ЇxL"w,z?hb\ 1ƵY!iLJR| /&FYz)j | A'$7-@h5w!9M@%UFqd;go_[+}~_[g+"-6Ư)׬lʇt3P"dVAZ4`Wy kyلxe]$uBھ+8>Jjo9R P s*PGGN&tY!buG[E Ԝ[8ljN8*<8R+=y>tkmQcdNys&nG$ D$tؓMs?Jpq{'}k/ˊ>mQ'k+[ ǗTӺNѣ DNHYXE%T`BXYR~bOܐ,b vwz[0׻pXh! :}4Z {(q.XW Jz} qk}jgg#(f} )a kCݒ~A^P-áOEH@u.BBYO ;fpfhFt%ЅL)DAC8砸9_nK( 0"ޜɡ2+[w^bfc8љ3l3H5I? %oLӍ&Y3`SO拻f1i)p]4Av#uhC\](y(ʈ>םI%-PMJ/n_7/S95k{OFbB0wl_=z ̦'MkAc;ԑwӰvvZ@K KnLգ}6q>$67,-T2^&Xz;M}]UɅNc p8aMM XrC?p ҶºX(0!5C!0a9o~nGg~<> ݧn?qsP/C|\(c!]e6AX+z34pLv̳“5nxKtP=d/纥>nvu\),vn/\}B Re缑Jό2!p*K7VAʇn}0W9W UJ= FEYȡs߄z)0뙋#W_/~>fhДCC9cH0 PtIa P(ۜ}ޫd!=5lrp|tP0:[7l5HwF{34n9Y 0sɾO5"*Cj1L$ŵ\+i%Ȥ,6i;Ksf! oBW7ЎIӘid9S>xkm~2{1fC΍6]D~} ɿAj=;nPߧRnk0 N}uA,lgjitX67}?/7\Gfo0'h!8XD@Aāk)oIӧN}}}uUUUWFG.7.EJo:%\A4tѣF4 mmm͝Q ` d1O]F_{9 }cc$gTESntRb$f :JTOGم>o|PPH燮o7/}GͿ_!z;rM%Lhl[[wsΆA 3[ __ixPv|z_6 C6?@ލ[Z:)oo肄oda-dmb8nlN k0\nޒc)D0qف~.w"|j{96Ch7&GςA\Ldw;g]Yg?W3A1+t_lo9E>Ei1{xۡ:%J~蚐 4$)uϾV>0W%' ?}<9R?E7΃}!WU'a_k;PAtCކ3.tدo8p .*;*uũ}~g>**C u['_yeYeBYd<+ŝ!cB|g\Oɖ> ?e-2)B ` rwꁧK?RӋiGT=+`aXaRphZ̤6dhg]7蕍Zd(A$`H 9 R(HHl`u”N=a#Ɔ'3MVPd(%똚kl cEa_-deQ`n4.YaX係h4Q=0"g5fQ>YۀтwNbo yJ `},KBD"HZL"W2F(x!TRDDD@))DDPJPMH&JPG*B'>@ўVڔ!eBƑ3@ J``&"g/"H࿨hpU?x6G+||J}x߁MCA/j9pku0gavWP'k&b==j#݋$bC} BHQCYƟr70Og~)_0o*В?O7}`4KIA:~hWg?sOsOa~6_kq-a6Z[k= 7aW`o ^?xy~ﶊ C惑TTH$Z6eCK oذslP$G-[>(S,?Tb4RP_4ї~Wݟۧwէ\ttxF>xR]=2ٷ(~LL$I$ʼn E}gEM߬j-XmNr~'H$$D6ںHܚ9|gTP32Q7 5c1~l"wĊS3ݻq V?" V~mWG͘1И7+SdE'ZjC$ԡAʇov:ȠmRhq'[IDD琠:I֕կ ֲӦbѥ˘ -:ӥe90Hӱy5cr@pm`A$ >1 ! .ݳ2CkAIQY'[tUPL76230rRdU_JGOn^l' °a-϶Vڟ! bJ '* aG> i^6ts1`[>$IN_(ugA~b(DՖ|ǟ~;y;"MN KUQTE%Qa۬bn#P-$hӬq "i?P2f&oҫO eBɔ + (tj쌭_Ex[]wK8];K3y\ki,kWι׎۞*zgqW݆_0QPC~1[96d@4,lOw#<6~;'& `oN X O׾ IA_"wh {9IX? #ݟg4nԡ"p1\V/@kFB,/S(}4uvPq$Ӟ%Cڙ >'9ɜ+XCxJI J) 2_?o>Џi9n(O.ammWTXM/ :]Fo k#]˷X6r!?գ%p~=:'PJs晘*~iRbR] T]mPn2=0eY{LH5w4%A/t$vyTHU(>ꏺބz&r^&MUDnƾZwwF0O~ IZV$ "/M(|Wr gS}YʱjzeW ">C4W΢ >'|#+LCc=}d!!kz˲ޏ4~h`fgs{A5##E$xmg Dw[bL yQ !9Q?v\r0^ʓ:,c1PMi\;1RGu7m|&8@))2)rG@5Iߐ: T!#M̦f .q|ݎP8僇"-&͠c(EeϦqڼ'\~0pRVjs^[XV1Ov Bÿ:hEDL(ܘT%V\Z34RCSOF1 gNa̒axBL5%XJC&19|'.  {E {(jMoQ?\8\smM[rۖݤ/A=RwZ&D4&B],. *p0z+ЈOz&5?>$<;Ͻ,P'^= |fM@LLY8R?0bRäVr캓 u t6Sںs8Xڋ&8=Z Dl`2b>X勻l22bUW]v^=o;"i M#ycg׺e?)g&?Jm>pPceg ^۠l6om4'@RDLG.÷pLVD7y/a˼T.<^UN~6J`39$2GGgvu!ם zX0VDMgc{jFˣj~wl?"УI ;X?x* u[ k0#%_ ۓVðMH5X?LY0k+BZMPx#,<×GYw¢hrnb& Gي4sdt 8??'0Ʉ0 i\Ĺ`28fMxMZ1W|D5+v;l 6( AkwZwCߺf>5CNG~/u~B?Cwsyh^h&W",S9J-Xxɲ0G y줏R֢Vn6C-)( Ix -7U/7 t+ x n,/pmm<=!P+7;7GLn}WȇJp(WiS^7Hj}m$m\>NTZ'I p7S4GLM5\#K*p|}5/7ouOձDqŖ:( DOIj"; ?d'jy'F@0q?.&Z"4[/ew~>$t\B7眞 U wľ9]WWx)x𳹤*<9>ӄ nNLk܄ }KMdaIWٓ_gD}2q 6x_r¢`n~[:'~T'9F'EO}e=>3]q5Q6KWTgca7x|2 wU733?sEk\o]?ӉpxrԋQH_gF޳QcUBoi4xmyEo[MK? y~oY~ޮMOS{=C烁yTSTSE 17oD:Ѐ1S ^vcG~]0uq'#1؞d#^HIcoW|ZXC ہ$Dv0N3|Ky`웄Ht%۝a 21NGx@<Ge贬HK_7_'&&Vawgo|^roJ>v:rQ3{; >l71\w>PxB! kfaLwwwI>Xjlpr̆^6ܤ|7e]?(#ٶ~+:99>8e_U%S+ўakz揟];xmѲ\7ro[58qǟn/)QCǤrR.3};,ܴono0I!)a"JJJ;|թօuAskp/%v<0ǩ Fq5Y|S1-ǢiC,DgRf şS~7bH=:s@0L;vH?| T,T԰/(_ i&h-+s魌Ӓ9cg<><99ϛ $ooANbu))ꄥ?T<pϣN\O%ex㱼پxYwVyaUk\ʖz  L+U Ԉ<#?u'M,j~ޱݺ٢k=} +`|x({eZIR 0(J7G=Уa ōzAUQ^&*\_L&^ [ *5js{uEM~ }-Gnɾv١c ^]>~9agܼWRk4㪺UHVWipǍGOmd:|`T5~XLF0q`R}[XTu36**zT^~=+[֛20uį/sk)MEFO ]7j6XJ>Դ76Cmd9t`+q 9דMY'=/@? FDž]{ޱn jl.Xr7Z+%s50umX^+*Y ;pfӞS>>O?9~4j+> uPqtP V3]Kf٬٭ 'я'4'o3RۼFMJP]Tb)K=OAmӋN}/{FA][L&c a){CDK ST#GUމUi 9[OC&עцȩ~-BI]XvYOtٴI_^~*Ccݱ6해/<[[ o(eyvU#ShԹ (UV{G}\3s_9QpqeJ- hTwUe\]L핱qRVRqzculg=<1xeN{ zxѻaʓvڵэٺRw=5slFƔUfzg*,_i.M^'ҋrD϶5s e燎Umdh +: 寞\^4Wf]Ta)oґwl0ۍ}wBwB,b"ԉkQ۠X:a*xSuXn]|稳}'%1L@sFeHnR]Fx %'*gt:HHfq E_2̈́c]jfC>laK[[tnA{E^^(.\EU?~,xYXDǢ'5'n??mTo`صKVgmᲶ}uAC")j'Zp PVX{r@=ǟsPi5OGIimP ҷ2 *5Y^aH|z=o;>6t[b'F|P*ȻsFpտv4[VYD!y_9f19u2ʹo=]堪'v\eM*XU@0OIӠwlrw6gүi ש0SQa]Y(vt8a71<<*o$գ,}Y^WP\7x4uLMbE{(Zت٦pJ$KZ<=YMJ$. ѳd4y?V\M2WDd}UWC1xo5 r},,f&0zJD]/։=!仵Z ڥW/PWWv#l\sjB!½.\p,RN10~td˝+rmEU2Mt`emqlh˓ĹBkGh3l꣔C栄J Fz$"f1=SSEС{9=Zu| @/Ƒj4gT)<1F hLMʽ2ŦXt*%w-Yiapiݘij&-oeBc0ȍ%E2CEVQ 4jNxM: fDČa5Lr03)vy 82`ř`Q1 `!ΰGhE`e(?$C* 0gO~ d k>f (}sOXE5݈B ~Jꦁ xGp"ىH U0kI v]М?|ޯ@~2G\,@tP! Q;{Ytn٦7X@zc^Q5 U`9o>(UO1_gH"b~!bfò0a<XTD}@h# ~@KSA)~;d:iGp4?Zd c4A~!v:6ͣa< NJȋ)ۭg5a'lG '/?򰳙B-DRT3^k L*Gܟ,G2Sp|ў723$ޫi 'P"Z}NOA!JE3Ы `%aށŐ4IA ;_|_3T>)t''oLQJ"Vjs8cd4plP ګZbv7*w7Ζֻ4⚵Y+w_:fݘ]ϼx457$OqS/9 66bW?~/?~4$5GLզgý0K+c]ʫ{\sRJVF_>_e[yog΄l7c I?m?^ Yw]\%&|LF.g}$ a 1q:yNQ;t [FIgS;ن%۝wv>3;Zi4aٴ[wEO@1nu\ݰդ<@PktKf O A8W$hoEkͷPPG\V9Q:0DGW8/mbNni IJ62rr}F)k)KSW-FEMdP$K wL ^mnm4nv!\/ӺJ}&(=;o_qlgϪt{b'pȢHUĶ֦r=ƧXD7p2@ܠwXv*6mM37m: n`:Uꇖ6~ثiGJGW4!R\c$R8HǮ@HĩnhcB`"9eGXf՟w~#|:HIt8Lۖ0LcGoE{Yg}Ҍz<=#pظYa !q̪Z&q?FY2|xXl٬٬pptS0z nUɤnnLS^[tog&=<奏 ~'IMɽͻ’:wfGLR[M8`EZnB6dh4JkheXnx|,0& A`a~Wi<{ {T2 7H {(>Q<:{u Uł L;=|kնE:/|ZmM !Q4,]H> +'[}6aJ Iʈcn.HƃəɚJyQ\I7I"鳆R#^G:! c\Xײ;mK[zٌoev|ejd4QQ q:vI$6&bf/$l红(R7$%2b@T=pYBYEF)^hg /+`9MĕVjkȝHS0r@ӿH?РwP4^l74fi>K(V(aÞ\PleˬāTue&hKuiM9Jxe7i`-kfj#.+B BV<F.h =zvGa9|d!!pÃUF~2/nJ沈!&<#pvs 6 d jClqcǷ5X zFUd),>6saYFq&' {'70& nTSG:|g_i(jYp˯ On9~-hó_^14r=aÌqL5ʁH#FͮE%*/L6SszY\IvR{įyVA3 31+ID2}eGգF+X_39a3nfKu9*2cҨ FxOSC!VMaZt‡)`Qff%DҦI2P8bS*dGP:C&-QSX3C5Х@`h `c@ƾNǗ0?o{qcUfaPgX 4~7\ad@ I4 5 j$&g?eƇ`*?|vrqɨ/64 { uEW0?$y:Kͮè"FASdFIǨ@|?}twXBu{OH'jaPΛ11HG: $%H@u*w &;{?=4*$uᲂze]CB}0;iCtCF;' ۊI2FƑdM?$2\'8ԅd`#o_s6Q-NE!vpnHߡ%$tF 6yƌs'j ][``crMP61лy- `ݝc)0;Gw[}tK@n$Zu >.NMAB1ed T\cƕ8U +f)Bvi{Yo^2[ҽx0#2#alK]WMrr]͙`LǪ ZN"boc~O_23i nW1uIdbK`G ]θ@Ą72be56EF C ᜔G%w1C 8KSni=VXe齈mLHiz(Q#*]&PÜJ0\&νԕpOBB`StH?sOA!f7Gj!!7ˈ> |a?1I$d zfNuT-+(@uI@0m:i uE$[/ ՚ ۻveشӗmh^'k=}gi}qkP|C8'Rܙ\"?+A˭ӝ^To6o f]s7DE‰XOܬ3durFnaJoȆLF5;Bk%lB`]bV|g<L W.|TJ[rs.Q~q2쯄."!SHNWkzDT{𳩯=~B[w6}+&b36mruuHBg4e7=KΓh1j|;pX'UY$8i\F.}zkZ]uR|nkϋ>5ұiKT/j&bR˲g.zVn%v|۫1}j]YБx=-߈ghj4E1wmUpǥeaL/&]긤]`GJל^3PԹ 'ryF5i{n5ٚÑx"Ec߷`t:w6C>G{gNkZck%G*_Hd sCTUK{ d L~h)MǓƵh}l+/k9~r:j(anl9֊J\G'}WrYyR&|{70ЕU8%ݯ%E1Uld>9[r5 ]}V΢e]^(yKTDnU 꾚k}6m`f%>U{ #/&f|\d6ֻλ ]rVz8852e񈑊TByLawtqUnRhG[ ,o ڟFG0x" bL}i۟.49 9Gu1Q dBD}u?KݭLhL֫*Rw)m M-6@rl>02m!acnS۟1)EXwqZ7Ü}l7j'}W̬+^.k:_//>CwbC4 ȍvVȚ ˪N~;mѕV+ YAd7:Ј9YɆ8FOs܁\J{ kϙy{"~.g ۨ/ePrIIQݒ\vo>2vhÊ/h_x\Z[ߡ^o/C;nvv#+@1qw1tCUF0|y]1hNG,ۙF^9gj:]U}W'~ŏwQw 6|̅cI[YdO32 eh^ I2#:'NW-C  ]؈Ufcմ/)xn(s{x@Q Fԩ "8(@ h%Y  ]BBdgKDKa"L,;3s_ԠP~{tQ/̟ո|)CLE B0ЋJ C a0-ֿ pXd(tf )ҏk9LAniut$V 1Dj<@΀vѢ$5ASRT^"""o#,[L1Ȼj=QZQ^g0zztYqqxZяYce!fp?&zsy?҄(Dz"{ōh&RS͌ϕtz[v{]l<5U[4ADŪTϡ$[rLJy YAC3zDھM9Eڲ#Dd 4e|5:ҘӍ3p;|_= (7Z^I{>2~+R 6&d,CREJp~9?dPϪ$7>Ud[ `_߁9S3q2o߯xC6X[yO7vB JQUBZ TZvrvUg=_>"HWъq]Cb@(z5|~ɻħj)cf+ 眪qۙx+pg}8kQ/jN:R8su)ĩ0, (@pnL?'*wH3^ D>[f MNU~޷/:ApвP Nuׯ1=@=T?0TX `y3RxX3 (x` K& >hnZ51uĀlbDTݝ@ɔڑBIuʕkҋn:4`&ǧȣ"rS5$$B.Ƀ< Tc+{X45mP VMCÔ)I;1 v,o*l *1p(ȕkW_as uB>(<=o"& K\80K_}21VVo Ɇ( UBQЖ%zCWD:!E,m umO5K:r;[ƩMmn 0$/ w_U֩ M=-BzXV\-깇%{ܘuhÔ7D Pz;QwMŸbTp cEi@ݏR1Kʆ7ӅUC'PCRSukx\-gkT u3*rSMN|Ms:hS;.S,̦5.H$;S\kW qn&UJ2&Ui{'Th] t4B 3[2go|ƪ_&e#<,u.٬}+56ƩEE:4P"flٙ4MC?_fM ~1˚X?0Z՝kKħlP#湨Nj>efz#,c?ϯOfs7W]i*HB$:4x;eqC=~l#"I±w 6EOb)B|aa<'-Nf \1VVP3Ljn_ox4dmz3a|.t 30_; b],B#5t?;L$Kx`.\ٜ)^GGտ/엿Uo-_Ư[AM-- lpp<8q/\pFVeDLw|a=<~\Gߝb4n 6;%ab(*('7lЪ`f#@S(>%P{H:}C'NC7/X@QރzC],H `Аt OJji&N+I$̒C !LJR:A1(gέ) !LJR6m2~1;L @u:f#&S20T}ۡj0/Q@?jc]Z8;$b;P B@f}5>ze:`@$IV9{4ӧ 2ZP'ޣ)5hMȘ3yLN FD4qˊ۠u@>}VvN~`%rYLcgIMxk0,Kl4䓾#ҽcf_.kWY!euVH*l(s|݋^|2)"C =Z֢9Kѥ:p쥳mU#:&@1 ""Tr]=Ϙj#׋) 40T^U7ێi|ۏ!!:FbBtΆIwB#&ڄO-yt Y;yGA"`V|A'^p>w})9+"&  1;W.'zIkTƤJ G ?m&N~51{-*3 /2$w,` ~~3l呇c?_&lѠcTѣ)hA908Du,nyx"A-)碻%Xo8Cˤ˴3.`% W4P*amf 8pyvE$pnTJ9Ê7D*Bk%vCl!:QDRIEtQ,TS79aU6ۆ)Fpcmh2-ou[ $訪oG67[ELSYՆ1uAס$MAHv9(ݚTUL?qܙQD%d&>dWBTBwGGpZ"cc~~?}˓KE/W=y$AGi،VsSYNφӟs\2oYgo8N0d!31?0SZFtq,6m6<\ѡpŻa?˳Nv4$ DTB ]zCNJu薚(2 2Y-QӧN: ntA@ 9`Г%Ki t5!ӫk/9 2+KD<ID0f"1nP3髏5-.GNwn}C EϰObNo<+nis]I 3ofAQah%qA+Lz vM'c#\ {r)o, sqm>öΎU_b03sNtl֟2?&\2!9@3+I DKg 0VfgƣR,߷;qqF)L46lFtJq;(BZ5^FƷlO{Zԩw9xl.ΦFbaw{ǔQ]W7IE6ЙsN⳥mKY+4W:W y?<0%S#vlxvú_t38AOapW`7b}S] %LC^.;?}a˼01Кϊ.fa͎cyMKEWwou\΅À9spVn"x0) TEwy S$ꑨ`p(0$DtF<܁ $ad#Ouj] >o#˖*OjS'ތlcNN ]prD)5Ĝ ?.Jt,wŤ*<+E#V9ZoUk&3 u/2ֵ1>m/MspvI&ro~u YG=PF{vwqJwi(]*YA;nz(sw"f\.y|SONc~HvO y[#nNꖤ |%~U!#oO[;@R(N+ƚ:? 7W=5WǏ4.%"'v~RP{v {ǎ󗉛C&JH?3D#ia`^k.;:RKꆨ4I;8!1ĆlfՌ}W}hbbb,A0@z9`6VV9#D R# ̦0論BH /Ʈ|Tffc"JvTw9\`txϾjX$:_Fyԉr$L,sh9*;6CͯbI ETqD*_NC;)d>Ѯ9U#mjr8MuFxfC ݚOy2 cy1ˏ3%8S#WCf+Mud>7ul:ôw}wd8SE~[檔UȌ ӯ.tʣh*`9/t?hEN%;M 9%Ҁ[x­ ЂPmƢټ^b=1%4/j})@(V"*@)Z$&Zo`;K|:ϨbBYkrTwx=zWY8CZGw} s NZ-d&>:Zih331/e[Eޏ{Uy0}T90Nh^bw n]Z,*RwW(|ǎLg4(oUr0].{Ny F㣯c(cuer/RvNX0* G_r=ӳf/ m+kW2Dګ֡>Xr' b ;7!<`:"wprWm-?UH,y|4Q,Y^+ b?Df}=x9B0R /I!w38 )ze֠ƃ@NZmWF#}KP̘pnKh!)㳺涇uξ9g-m`*k7C3-hDI:3/]ޤ3ȫ㤇yI8;>ȅ̿w8%pҜj7#9C8gMjO::w!0~ݹ(~> FAB*$:K,yј:I%ެ܎/N'TL\iGU1C +\ug*u859U鏽[ :2 v w/*,Pֹ6%<=HG3v!' !6Vp*nY=|ekfw*-ɓ>c5=4GO%aD FscV@d{r^2u\T _씑d65/+mgAM壖ȳk135T1jk *BoNe#TbJ ( 1m'z'w_UW@G6RlanTkݻ^XX7;DܱRJ^F3yC&0I#O?ymml%ns/O>=[¶TҨMcZ9mj!7)+kffS|tbZL5H$GY"yNK ==:WhJg=# oX*kz(ʌ +M§)ӏQtfaPv^\ֶtBR7vkJ`!T%X5Ҟg H$àܜ;apɔ-$èlH A(@Hv#˿i3\F.)qjUcA7UWw3N] HJ"+z}Qe~. c#{UW@O.ΌܷdT`_C84VA8f_唼Bh=RDg>0b)Wo 4 v)1D`!nj1y<*_^ Nߗ;w]{>9PP 3036ƺ㗬b-33wҸ#61k6fTcn Ef[H3i=33VErc~kzSX'8Wmk?t~dq j@3ͮªo6~=u7P4\6)~r 1)t~ a&uee1":ƚ];wtXU^܆t$s$MXW^_My0@ "+_>~nV9ru507fM )1){T3p A6L1#©0Xrðبusu湬E#fg<⁣!HN>&|) 1ȃypMIRoAw}"Rxg3ޘt8&k|3X#skt(myR790$P99p'McsΆ/] 5L$$H@:"cAI N7Q|C~SRqUU]uFhdUu}{ys w !W,=+"UE+Okjq>צpp岳m♃0̆<3:naW35~3F㦻{Nf?T5Nq>cRD< HϠffcߕ[IvhL㒸]vw d>|׾ 8Q W2]ţ!u߇d3jG9'_{Y} [zK_]md,alfD?*L0$$|o2y8}sնTjE\mIaD۲;V#Jd"H4! *vR93?|$|SD/ >t1b&ЛkpIRMzZt#lښ{- 8,FJ~B;jXRzT9~އɭ}q&Ǽ,ui]6sˁែ`@UG\9\ʫ&+98L MPpkvXaͧU%P*ݖHAZ̰Q1) L$7b<:韖kQwS`GfͶ=S{ul wߞʆ&mf^.>W׃Z˻?o*FE;Djl=b<%T2UvQ$T+MYv0\|/=O}KNpYM_S_{~sJBj&v*Lu*5KAS,>!AHiđ".-qy^->1ROjg ~Muz;ד0;I!,_~3|i gov*0s.[nƏӆ͐wC Q$hW'uζ{ܠ0IfV"CTt񎍙Br4n~KvH1"cQxb4(&pzf6OyNiΩmX~f /M,ΝUZ儩XM*&ܮEhY8Oe%BnA7WcNSAЋ6bkMϬM%m:@mIsFn;:u5ivkyum*5Dž}n߅V!yG0l_poK!$ˍ3A۸ʩ77;mXaUq*d:A\R=>*-+y=K)Z%!T5'P= kǕvhP{7Xm~{=8f]l:8Ͳ_BpO{ .}3aWiJOCLHYӺ=6rL3 }לU URERkx/L,x|/htyϑ1&XS@mJ#"1^z³c.y;@0 `Z_8 mLEy@+m A%og,Ot+T*B*f2J$5IwR9TT>{ Ìw-qhk|:TS+&]2i4SF6o _`Q+j0ۮJS\auQ篟 7-(q+^UewǸxR!˷(ֲ!DYGlZJ ИH瓭?AIRRPI)-kRi6)vc:D`n# Yu{ն<`1^kbRh"/?ZLzfkEhT?;D~*[~QǦv9eZ0ulʨKrD Mm({&d[臈ò,3-mS;UU!>ף}ZoM_#bLRP6]CmM{FǪ2?!'.1v>v?3Y eЛ[>r?.dҍ/3nMD3n^h_> ov=@ԣ؄tCs^kR&uEfi-0zo֧Zl4V3ԫm*}$f0RoܙhI?R-vXsͷLGCr:]BiLop^}m+i-t`0Ʈ(ƴGL |WF1sIz ƷS UVU>}:P[fX-n;n4Յմ' rkjѥUNAOGT̄үMI8χMI"{&vje :I6it%\7fKvyN..HkY*WBYUJY[9BpӅo:k*\rj S3CLcQo< @+ew"Ux J;-x9@0Hj2/ zn!$C B/2s;`9dR~k`ybL b(]/D"lڅ-y#8U]nً].tJ:j@/8Ί("Mp0.}L|tAtP{gUѢ bV{+ Qb.ζRd˭v'jnCL0B$+TWG)̱;꾪[tȞFD"8ʅjtT9=c3".!Jj,hu^kgJ-S":d Ն"Ţ 7UVc5Z7|ZN2JvbK{ds2h&F~̋O9 ep{a6!fQ%IJWx oM'%q20~پ8 #(E˕"v˹Gص>\,hcesmTs}:oP BcҐ!E'^4,fZBXN@l<6צT{ )s4")w9@8Jz#"lN2:mNEjbxUOȋS㋱ϳ8gf= {;c+uw~2>h:眶 pS5fSʗR PG1\fMq ;ݡ&Hg"{u;iYz(MLD2N MĉD.LB$-dbB)k7&w!ږ6鰪0z[:ZY,ޙߙr<%tGgqq*b ;rksR)3i*2&&.;ᲫU5HB++V*kћѯb?=\O}\ $JNYk Y(|/yO-vƭ$fТz<˸#qǗh ?~:՗^}}XǯM(tm,g|2'ɤ:rgؼCI&W^JIM2H].;E-Y#D;!}À!s  UG-|PceWbaĺpAӘ@1$LtzK`pc~!TKgubܱ#'t{?:1O@>x9kbm4qň4m||Z| sgޝ=\T#'.L$ I%"T"Zf BH=V uuh:Zl@R46d~S/=)DOe:R}.2в4*ezN ~ۏϽƲȭYWJ 8_%լh74zt\$*J58S}K{Gi윒yB\X m# %`8 )܈1Lh 2TET9V~D?p)޼siԹ%9çvN,ܼZe8!W;u W124{Jd &+[`6DZWJ-'|?Ko{@1cB8BtԐR@zL~Cb1-*qE9@vI59 X3SDCH\C.8pفDu#1M0qLTae 9&'Զlkň4 7(kXwJhZ&N\kJo@h˱hg] p- OH%Z W qs%vYJPH'z{'XlBY2La"2'wN 4m`HPD3YY3CB: ZBA SH!/ r܉B <}2 >ؽ,e7go 76W@;iץ$(a:fޖzye&.0wp7j#9zdH hݹ ܆׀mws6!V;dB w'A);Sta,-(4R4S^ӲlBQUdg ͚D!(gc:/ݻDRO.*ox2"Wwѡ||]eKRF\>M#r9e#Htl[l&4 18nk2CASr:t'ހ5ANZ X-/#:3тmN(҂PP}L0|Z`Լc$UR'vff^A.-ߵl'ʪœf~ 3K>e߽ %xv#Oo=(@ElHi0|̿߳/߶'Nl}?aia?Ӯ=W-TƏ%?iQx٥=mǣnYvH=ڣ+AV .I7"+xV"`4t>f'b!Ւ35uZ`T']^bX8@ۭtjF4u6桊 jѤYG,L!22! ;@FC/'#ت.g`Y8^RRp|d'C`LAvW>8 ^KT)%RsE3[i%0 7X40pqn(h02"-w9TH :s(bۯNq (/f4ʃw+$3feĭ6 H--T-7* BNg0*,GAJaASt8`#rG'p[ԩӧ6nfrMP;,A$9$6=Hh`'HKg<:PY B,y s瘴9m."ԤmΦ# P܎AVejAA`!GMAu?\U"4XZٍlvC<@w:Fm(@_?o}AR"DBP9454C|Q xg-oP輤p RqHIA@`0 { $H& S nq,x>rЅ‹ߠb\1Ewֆa쁹uц:PbaTHC! gyqHykU20< zz,u Kcfڴq%:paעD SC{jQKD#HT$h`6buB?b7yuvCwtlo/+'y6$VETsE6(@;,fDZtyOX}`1 D1 D) Bd8@Z-v@ׁŋYfpH&>:=.:\}d74VE Au)az<.}^c8p|3NGL!.i<~IB>_^P;U`AN2wϟ-Pex^&#D!4)޴7~$?p{僼O·yK0`xvNWGTz&ʥ.~*ӿ~6aXztش۾}9YղȎd$%fΛc5PΖY)^ft7;EtNӿ:Oꃫ^H I1oe!Y#NLX2ÙgV j+v͔i:BsdIJ?('#?7H&$Xw# qBs\KɛǸa  ģ=\ qpw=AɊ700 ֙_nߓoTZ)(_3}&q]hi)F9m<'jc9rOvQZf I)<zs6'Zt2\C !HUKS(A&`jN?|jޛ(߻*Qx]kF"!?fk 0eƁ}DmTu `GAlJg{ƃtUÕnH; N3yCۉMQb}FЄ_hxꚭQTD2P!@-Gq]IJm Q%UU^<ULH0~>0勜0,6IIVxa5f _b.YC8V`@S),GD e;k5@6@x(e9<HmlduEzہ0$Du+Lob$ vHFQӽ[~^8ŠP7  OgmI1 mqXGۇjrEskHVMvC[.`mN 4 i&B "ȶp96!a:|Zٹ"BXq(yO`:6QaP7, j1THCF,MlͰaM$ ,ہX pAj0M. /)6@lgH<La: >!ÒBjü aH' cF'T!M@w&́0-0D^ QDA' ~}Baܰ=Ĥ/s0EI$FA/΂!&#zSQ}/=<"M"/E ǀ2oo|yvKtg$=0 nuz=VN7bXg'牽xИ@g64 LɳsW\>촨 ;w"Jx [-#e ʌn|"{3k5ϡ&>3z`Rj[ˋ#TyÞq^{DvCH:%cܛ H\!tC.JA<D$0|:Gq|t0e#kHDhf5!ӥf\9xxc\{T0AsUL e-&cPBl 6L{BCSbʖzn^YV8J$E0@YcB6lx&q'{,yJEԆj`?0za#"hesr5rtx ^lGmLaa>Rل@S>(#r#؀C&c< L%" ·J@ރD-B^"hfS(Bf*6F@ DINB!qiSq1咰\ h:@СT<B;CÌCyh&6$3O C"yG9n9`53 !r@֞6Be޵a6D+ sI9E"R$p;r`nA9"JRh swRq%Lсu=AiϬu;h/-н8stb ՒP)upaFe#K7`u<5vUMpk+ jLG<( T3̍ cMi{L+d/bcZi(}A%E"_T]dG:m$r,'|%J(Tn)! p.Ӯ ;ChSv#i{h=ۏA4Xbbr /p?0Ɉ~<,z{yx5ᦝjw"U O8t0;00HEZKsÇ]\+7ASJFwyz|b #:b%5%<c>vŀ$b*CuV!4ZwP؂7k߅P:F˙ !CzIσT Ciny Y%'l9dDs"7fQQV~%1}a&VƠ1.o[3Hc3`Ƅ"hM 5_4O6;S.詟Nw4xXt"zdy!C(m06-RjˌnE;"~bL z"rcGΨ+zw?% %W=C;Ipj4AM(ۗn9:)ޜ[h2ȧHl@v5apgCe6p\+Ãh a!hEXsYL g͑3dЧz}.6F!9g5) p=VLZG~Nr=P?~nZF K>?|G%РlX1x:PGb% :dV>cdsB9pja`C)(r%LBt%EH#!/SZCcRhxOar%hW6}J+)w'mNRE_V!]Cp :m}cs (7"-Iؒ0LQKbSsN/y)^V =eƴZlrN:!#U~;CT鮇bMyb =ԆsL=gQzet#g!|.:O~rga˵hMPLEjHhG|Yu::GwUG b;>mmzQX`SQ!` AS`(~(/_9H#$!ˎ#h]!ɊHA/SaOx6đA5)tyc:Aïê`1CmmIr)bLH t#5b[`)÷'P{߆hbPaFCꊧ@`%˜TBf/_p,hrtܮe 0"9*t0+G7j`D! I砡I7EeI^JzJ.Y5ǯ0KOI?R#8Ք3X%xŠx61t/PWW(R!Øt8HO2Oz%o2)8d!$[[8u'I869Ys z~M(ᾭ"Q;xqǙ?gȚ=G1Ku(NuRPAO+K;\0Qan& ߃޷sibT36+3kZl0HY&p߳_4lR~A#Ŏ105WS+j]fzx+5ÃBj¶:MZ"?dh{vshJӚTF$uX cM % ^ǚRfBM&ܦLCL1KJ zŎ!N[ŌpZ1,<;ECrWM(Z&(epN-hBi<5zJ7E qM%E!7@Y֥~ aATw3gYًWžڻDE^Aɟ8F9"HEH)HK?.Ş&yį $!b9>d@:אօ(l} w04}*3 4CqN8@9,:N$%(d C{1%G]JؼKxu;9< д%]]uƈkH$vtW*r 0H[#thv;ZS (VDs]S]A^ &@DW:\Ex c:p%I!Q7'rwϐ}c];~jr_<}B|cQՊs3^?nFd*6-dxL:褫u!ΰ CLz~/mN`ȤLaF AR)Dyi;ދڍxc?tM0ϐ9 Ďd!xXa>~Y IS{>G9^)h }s4!|`.m}_y'L)}?$H3Н`l!` c@ܶֈp3+ wL)ux:Ì#eAHHftayz!v@K"14DM Wg4TI'v`_L_=(?‰"e_䌀;yE<9yN}hQJ=\$X,AY䭉F(#Uf9بa\Hj?c,+Yp j~8 s0@&:7 dd:?=~([/Os*f \޴z޳) _;P$  ɦlX [i\uB1n8RW+T4X\@BL` HBѲP~݅;I+ոpb~`);4]6re, )h% gOu8GhLkAN` $Tv;x4 hq%.(5%I@@owpv#js75~?cjuVز/y'L ILx:TA4ðm|ϨFK.{e݀daB>!% @d q. 4RPNu!SGʢq bhZ20٭ @D b!A$XTcқ(p=/I &T1t :/eS Ȳ  &JspJS{d&vZ20I%O',agy9X vUl,@\fVAi=[ֱژm :U=r/PG[Ѕm Zy5"?aVL$Q!Iճoy.d?dYX,WۭPAyEoW~F6?hTW=Eg&7utnKEz*<o'R,ݜaX! #0?m<DG7Γ~WgZ473t2)KZ^#pnF3A eb61& >ǩi#Ĥ;u3p8+,c#W(w;pSG=<3L#N  ! fKcNj]Ny29"dBƌ]O{:8B[1>=U(r9u%;3DN V#y@.iEP5+=Ngj9Q Qȃ1(~ax }2f#E`HᙏT~0 ?tl5ZoH;ct AxJ2}<'띩6I I[FgF=0Sa2iܵ[Ljj/~q0k;\˩4iM|,j1,sW`vRtOM;g2C[6 h_P$2boR>[5PρG!ST#X}SQ6_Oߟ;'lqJ% AHE90 pcjOi H_,wy~N/P r.p^[R D1 :PI^ w(0-4g6K"-I۽8:ࣜgq0<>hx|[/_<<䇺Aq`hXCԮQr,DpG=̴>-Mau~DҍOP{*w &"v&!HOF!aJ3}O~O!)ثr\Ȅ8,T`P@ ȑګ;$zV7`Jh,E@ C,` 6$5f `0ͬa&\KzDRmBPh`N9J0_)iUÔA_4g>#ސغJOՏf8jUC,% &FPLn{ >8T߷E/C>rCPNfXP٠N/Л:g|]+ >Q<҄[ɩ;=MƸ>rſGubtx?N㘎AC MgyF AS&dn-u :+B`0P1!:)q۳ݔըi -kmf_/xx< ˜0uY=&]jgҚe=4ƒ|`0<̤w4a<#Iq@I3 0QU\zvəqG!&T^`i(Mdp9Q#ꖦ{@~7ͦ{'W )<,ًzB (jkx,!(̀C"}BdEҊ|Ǒ̶xS}D&;,-M/U8$ ̊v:̉4F `mszT4H ;Cϋ 6b A]Y2$]ŢξK!@jܪ=Khؠh~$Ttq(rCMu1p2HNvbv*30CZ{` ;@k8gQeQ|Nr $@"`bus9p g@Ɯ2f'$;.`U&q:K,.*{̺:@v5=Tx+/a\Cnd 89c{9ĢhM1 ׭MfEA$kl0l\PrY<'WJ!s>#1G8j)JJdQEeM$nΟ;0qLG) vҿ &Axi;uKO>XQESDUl/7pN!iH 4B=n8LaS׊¶VSuM (_ki1JHHAm~h /h`08PZ3 SBsh^(j\wHH>̭!؄)2S |vΓ 6Q`,x?8y~%zTb SCo6kF^x45808Z@sLK{141pIN(AHy:n:c%-+TP%JUK(7lGq &CYXxjZ-259V TMO`x“w怴~`Deg?P`1B4 ,CAXuBrI0Sc C7qdd^m@ kuIQwwAW˴Te {n_ xz߶/j烊h_O#Rv<@cZ۷L<w#Zh"a,({VN:[+ o jh#Ov/\@n<[ٓRI eB ! mbNM]HǕlfM<2u'@urm77eL]@D::@YU#oǴA<*#v ,z:Z8B)֘A<^r*Q̂/.{5HJIzra9ҞEO,*e}AI'JyOs)9A5O8 Bf'ek=b&-e ..6T4CcTU<4LNgBbP4srNນQo6*԰n)Q_c|7"C$(|BMmRm A)%IKj?aDI=CĀXF={BaW8ªK5l" EC'HD 9A!zUuGɈ ȅ ׺_nZ-a1?d7B" q$ ix! G7G㨊)jwt“q{g>{F~SF>ӁnvWT{N)_~H8,@㫩8!10)8b8u坸Pcaj|sAtjyuy]Z X&8D{i1GĄzѳrn%d+G䕠`,`q<F^QOtas +(Z0 4R !i D493s"~1rNvC >BCI$?{L> ,O"s~_ 1tL8]ȈqoY@ B6nm$j)ȒITtP?%7EMu ?9g&y (YL1Nhjiσ$ɟ'2/BxE]g^LB͚ .sE5  ' ]:wz9Tu4$ :AP&?/^x>=$I:mZ%T<]+'8@]1kJ5"fiޝ7U߈ w^ Üt0g` g$ħ"I5 򁰚@c&4 qQZwe> mFW9޽3^l% Oae x 1%ʅ\o##":o`LCCMX8I[ԍ䑦Fc$)و%ڡNXL}; fJt() 6Rđyq|'ͳ Lۙ!돪j5/e0`ϓQImfRT1b|qFUg=zCv>"b8䃑7+qN)P:`EEP O)ն²ЧOl6(;TDZ!p3ɝ3ʀ ULٴpM&tHYj3vߪ`MTR -WW ;YÎ:(]&u'$$x`ZH/x^D ߞ J 0'$)1{E eA]0[mdEZDIZCR1 B;-&殆C(-cmb۸ym3-w&u;9846Uvs44 = ut߳T 8ѱdn5KAG!g#e8qC\ pc1`dҸ&D$i0. be&u(76 q?:KQX@\*dWԯ9d4RRlT;Kv7)?!#AH  IJu(%tF~?и?Ŕ3CG=oҗbo`D}bn`-r dWםﲱ O}G>>C7oytEeUmNs~#&V uX*"߭Q一is"Rt|C? q+?z{C;@v@/ك ( S&! >s7 k@bG]!~Z8SܐLw޾|;ypCM`HXF=.zݒV`{i$ Q*(%5odTځS5)d3?q("t=k"O';wCCƃB?,(H㗛㪋s>ㅅ =(J3sLqͶd{4]Zz@Ɂ`©%MY"$&R7edCb`qL-3-%w0;hf:'Ii&" 8h%;6fDDdAqo9BouWe?ס ]No<)ߎbmF6u!_ye(Ӎl̯fUL,̕SǑMA-EIbK c#4aW˜͡AV4ֲ(J& I{ o-/Q>Cyy0(Ƙ/r4IH T +AӺf(w4*fei^/`3`Hʢg5AHA€yBeC=`?mtN Pv@q\vfMrh>*}2|p"d,DK*(&Ct)qGED?߿Q2QBM$'8!_N9:FU37պg [l~>A1kψxF'c#+T=sXfgV芘 H)E>ujσk?橠 1-w>bKcXozά g4A}&b~q"[Yǯ١CUtxy1M uD''7t{ 1D@W<6 ,^-.< 9:Ψ1 +.~WP3?܃^d$/;Loo"0Y 7~?|:};0h?5?_cT<_G/ť4P7 /XNT4}IT2.R6rDžIH{yV=u4|U&fͷܥiCQ?_B򻽴zLAw u!ϓWVjCBM XW[/Ǘ=\8?`&fZxkFr䖑U$Q jb+OR^ɉRҀLrʝoڗ#KS3a ;#v+:l(*ŷ@'XS EDܙ2^Rje} ْ:?i־lcu\Hȣ .j6PM𔝸*vd%g CtUr\`sR?æ)&sҩT#RVThfԘ3"誫g(ϏD6ds,&bYx+D,H䦂D5 kWjT` !o/ M)< 5`>cM4Xu|_-^tiNßV='gAOs _fwزQĘzkmu`եfm/KFmĥ!E.G>Q[PN+Bհ.rݶm(VxX<>E fTɡhuKZmQT<SbD|x0eKEoj: ZփRÆa[vF p-mZY7gcKo)_mr+m3d5I#YYkh6 j(*o$&oiNbG')$Zc6ʮLh@BeK9di.^ $B2JM !, <7FENDQpM<[6 / DBA t3`= РܨU2xV 3aJ72O~@3OMfl 4PSM@RPr1'<8ƓVYPrff0ZQBp9! Lo~1v2lH((BTc0_.c]*KefǾ7}U6kC{pt⤉Z"G\j/y#ihեN9^;fOkD33c vcL mYz*Nچ:ywy$lO>{Q\Fg|A$g?8lwA3eL ]Â7^(:?~ޞDW{ gmKvE$ӫy,;LV|"tA dsa ^?. {f.8phgso|e"=B5f$ mxo^:s-mkWi[4"fb*A]jI~= #Ã$B?C<9w l m tVkn>C1a@19'k(o$mDU44GL}I z)t0I(x#aa+!P]&kL\b_UdQDYЖy4h4ZD < 3{h1kQJB-7tv!fƱ1wnzrMhs.pcEM֙8lj*3ZKa.#xrfFB!GWW#F|qdž9_ZAM%cB,V)D7&evGF:,áګƹD*S~l-N/``?C`"Hbt:vj0v4DϵewE$zi^i',a#gSY rM`5ylk2*ӆ#`63;L3 \cUV%]UMQ[S+E8f+cjfȷx)K^OhtI'Ūp~strAQb={ފSҥR=ۛcILy2I+VϦm8ЯGp' duY2QL$|,h!\H6Q$H9 nwwq\A/{rys37ynI$! x#Chk3fMPD4JSPƈt'67'g`dcKHwW NA{!So!1ɔ1cvطf7p)1nb'x`{"m:{,sDİ|Կ:t>Glv4s2ZFx #%sóT[7^kMҴ졳+MuNF9?+"]Mjl91WqwW$ q4z:ˀn@#>!=yPҺ9x׊W" %tcb`/=VMygC^t?4F2ď|<QiMiρxL VbTY)Cs'8_G Q_[Ż;:`ʣ36Tf@ɂfTĒ+&bF#  ͕`e=?I }Op#< . 5ڋQ!mN )O&~M?֨*>=Đ1&)891Z'/>WCK۰\Z->>UǎTR/qDw7YY @!:AgvohZ(<؄޾WìJU',x|X,bvǰxXC>ZЮԩ7$.0+kcH w:`}?ǦwqQi '6Q桩AVDM3fKSh`!F1"h@yw=8{l KH+Rt I{L0cH24g8c= WGJdQ!EUVA҂G$l1 Aj-ɶq&= S\#8Ϧk]IPě1|r )蝛'iyO҇dY{9-grko(@ \j4a61Cu!o!CNI)H@y%+ ˱!{N~ d?cνsqBfٶg &e'[ ¬&(.gTCjW͚Ch .)K$73,ӫ:h۩*zuVE_!mD)$kш_t {$[;&EwDLœ{I3wk!b)׻}8giDs%` %"78[c= rI#d^gۈ; e/Wt6N)9 K0wv.V QߚƚNQЬ2J.vFi˔rx<6ktw0:&O>* )Pf.|۞B"v#VI $憋 pktFC1/bvXgf"b rfffHh<iz;˘;R "09 =:Ng"ҭ6@="zd*#}wڑ'2aF`=Pifc c}i9< HS soZ7UUU< /.h4womb>; MeehF#tN^N/),D2$lL;u x!Sl`* "Kx!9˘QMnw.q]̲aDz :PT{!s#r= -iCpI$ND 2t##]1^i+k=^?/z=Z4z=u*9Γu}cILɓ`&z>Dt 8dBuXtkӞ@tRQ3"ƸH_[I8 5`+t^Nk"T-S6 J[ ,"!XMk.(I6))dC1ݗp80B){檪Ϙpq}`Y) 2\yJ/5MTNRb*dV$͒#]ކ>1qTY'l­OF% r7 0 `};;͙jɒHHhC;:w8'Ɖ)Dr(tk RhaᚮyٌY 69/3Mഞdoaٓ&nx>|61E  O8hh5H28/:VFMÌcU3qӧɁ.*K(NxEyhFBBwqxHl StX9ȹc 3|qNu%C>#]X<|QFk E=)Sz|b$.j$< G 1Ӱ=AﴇIڏ s"6u#- 3N/* fyQvBWo"]ݬ:p}G !!6÷2Q˃@NZ JQr C7Û+H-Lv6,sq3јuvCm]_s&z97g,8O8C6F^C< ݽ^-.g0g.gѤCIHx1e; ZH)E-l^ o7۬;yzhtDSy JEͮԢkiEu4dHq7^1stݨ\tюݍnJ1V+9[ݾb=k$3G tP6 G ^cL F"#rg <Ll: %iMz`^Y;NJyih:Nu/%T@0$3wMG-{`R"e΄,2-K vjYV-h4@c ʢ*R_y]%y ᙊ}M,)Wn Ąx/@68M^/sCI$㒨$7 =! 0`Di+L5TMXRsF!5>Gq lYGu9C)_Hy|y|IȔs\籕9@Yt|NXK^^D,lΗHm(\`2d%B,rw;baw}AIH@Ti0v< ΁ᨈUׯt];OONe{\j"r|3ILR1Xt <}H~PeJJm‹3CIi3)) uYۓ4 k@;$dh^aHcsr&LOTD9|K3`qс2mr|c)f:8b-hdz2Ͱm3 41!iНuj/!;P94!;M(*#%$I !4(| gY r@ʢog߆|9IK}_VKG."(ܿJ" ћZ^<]ﬨ2y{c$eIy3 8fF囌80 pp(kBA~˓cuݧf5xLC16٫#dz[ 6Y.sdvO [,s4ii]-,J3I]xsy( ;b[u* QFCu8BI\L陛I/J筓3)q\u-X.u_?SPC՘2%8X޸GQUQٶ6:ѳ>9 p|H9E)++p_=Ƴc HX N!&I!b+W E^zvk 3! hm1Ү$E+ &AI"@Hg9}p>1%ڏcB ya}(u+ˀ Y Ig'yB>G ZUwC0[#aeXtTGNl'XhKJMDKpF[Ӈqit7:;Y̪"(e34zZ#8r¹j}!!cG`fvtwCԀ'Fq~.F'l30} BDDLr T^a9|w@4n""* QX VB|g[# hBRrLa!8Tqkvg#LE0MRI xd1قE{:D7[>q)NaQEPWzO|rC"!% _˼UNG?z?A /2ΧuT~;zc.j(@iNء5ܟBxv%>&Շ.m8HQg{ 7It&r:r8Ĭ$rG`x\H'prY;M^D OTCLx1pyH< J{Xds ބ oI [ŴLf,o%庐6Sox# j_ߺGhjlD0y a>QLT/5t5f;R hl#SJ'<{8"ph"@` ^IImB6WAQ=re0{DHjAhު c9Cuh1F5 Y03 "ts PmdSNazE8F:65Kĺx]F.4BRO^V ) A7`w6C6bzw0(:n]Lh23T FFi`a8t!2)m ԱDSQLSqA޽T?f]=XXϟH:N&Lpa@h:M :ԂFZ4 &IH&B'XI18igZ&fff9.f z@Dbhvy 50FeϬxGB ׋4Er0Ns갏` $4KJ"o}@?mt. En mD A-$B_9+S`Kd% V@dJ>GVIŒ{ Dtލֈ!jr h2i@!ތCXzꊧB>j3 ?ru2T8S /16}֘5CDc}W&绶va梢F9F9 c\ xyc h;2χ&+=΅ꭿc(5]䄞? os?hHA1E% {C5C%XȞ߲ g~BPH@Cz=1n7m;7}ptE RX\HD KR%9!+Kgxhb0ohikEaa"W Lg\~zB " *`%)i8J"(2>v؄Eg ivĪhk,8NҸxe3fV1^K<dl\b?'`f)ڬ "8hc"FkX9 @$F]0&!S [de5gl f E,PiN1r4a΋EXŮ頓 $ba,H4:"sFT G(C е5mr=yԊ>OkJULU.㊐9:1R&4YPM1g5m禢!K "?N_Æ F9Au¯Et(d ׬#HY!o?O14(C\5C)>Ob#z~S4rl+1Z5éٯv%2%Q܁S~EZl}LWxGCv**(vΤ Q(A` BNYDBAJzĚ!ddP+A YdIB$JD$$ * LD J0- ~$G4DHfеd~ ^Olƃ*ʆ($90 p8"b?:Ȱa"i |464j7TΧ0eR@af X}DxuLD!? ҌQk Ic! Bd0HPD̠()Bb J B)i$`):tD1 (b*RSKE!E0 B=rr'A IZCdy9KN 6LDdP!ǜ̈́5O%G\ Svv"Gߘ(4#)4&?V :טUPRzH()J)N$`fG%8f*f?^l5XOo~iY?0y's:N1{תO4::XiT+U8_w2)8f)4?K30J֜4*[0 tp0rstAH@wbpEC#Ո,5hɀ>,GۥGײ=D Nߡ8zS1D9 FWk4V1!鎊T>&tP1$!B wK!B FQ, QH+h:#58Q^нGaBW*m{fU}f?mQ8@Hc,C-?wug0cM7],S3xwtG( 6n t B1Dlp|%}'~/')1Fb@A;ڄ4nBO<SyJL# (g,0! nyAb\?LR16c[5ң D|` D $1ᒺ5Nіc$ri Ez "nUCdRw0x4S)`)*+ ;5PcD7l rL$ %VHT)0hX*)T H@Mw:y<cPF%M2s4DV0> |lNPk2gFՒHkF;?Qh q" Sșxa;4</c&28T'$m `n #"i8T[39iȸ dII,ЄUTE -!\SL4hiD"LDr &T@ ' ZI)B[w 7@9O6/2 L) ;rpo\a\cE9L(&3G?U7D=ьxj6gt؅'fi O2#}m .B氭7'<飅0%n8 GΰG~׎3\] *9y I@ 6y*<k WƐ́YwcŊqƠVjv-_+ &ȭZQuI^s:)U1z ӮHD)5C9zWOLnq>Q;F7⪩6B%kBrSaD7ΘcJMhnl!ؚjr. 7l˙ VˬA˃7F}zװA46qaN;;M-HK_C"]%kFL}4L7?@:uW p=vʌ CHk[ӈ}y}[F~_AkY`)⢠?UiVw/8yz-%38u9.;" 3Dx_r=P I]߃ӢLuSS/Eh(L<~>@B>׋DUI0Ez)>L/K1WH Q 4Fb~sk&ݗdLGu/y8}zJoT]o PlRX?ew~]ҾPy_3yoJ) +E0\%ݰRIIM0Jr?ULUKx4e%>Mpȼ@Bp@-FF$: }h9/k }ve_öBL093ve 4a#W-Ot顦L~chv??ɺw9RD jqWc.kp7r>c-`Κ5P6ø;<07gCIw,b9Eda0:1 B)6H,F(4d)jG%C&!I͈uzB!7"y=58H|1L树Dz};םT;^ Xn~T7ѕ8TK DTS~ Wy&4'wECJ`@:y ^JDERd)dICAf yu4+CKBR1P`"@)B',PԈ\ J@z CIv hz2"O_0xʉCǯED9rOe,* >ƚ!b LHuCz;/1hZ/m`l|g/؜iׯAq91͓PNK!qQCJՆct;ps$?ɻ["̧xC }>5=Ԓ]j@qgU\t9m)?mQA )2Pd3$aI2)`i-j^gy%H~AvjKYcRZ,}F܊e! Ҵ j@^=ФG i 6FH+X !TDL`rZb}U/E6l64OiM+B).dG|ZF6=Iש|Ҙߑx?zͮC]/%EkG3cܔVa¥ 8D˴8B ȁj [gf:MXLBop֙2rfZ;zO۵EBtY7LO}KzcrpHb1"#fC^*}~Ea>Tơr#./C:{t||I_Y! :SQz I7't APt`:vLPqbx #! HBG( V'X.* L K2ۦ&:"wFiADy Wf SRv%CP AQ "~h M[_麰Ǩ_x gCBH08+loN!>nt(/7^oG ob5>=SQU+s}$\*cd4I~,;H=KLAT QBI K9껑|-tĴ.wϖze?O|J@ ::K;|׎,=o CqOi\QM >Õ3N%BWL<9$C q"s H`(@I ;+5zG4z=gF!jdI))AHaI ex=8bHy `nEukD?% ]8`'_ˀ?h~3TFعNNZ4O~I<( \1"o':o$#(S dAkmX[>[@1܀`٦ d,t$ij6a WQZ(krejаYkXX.ZU&*O~J `3f98WXNqEQgG(`l(ITDEDWS9l D*G<r ()J~&ALQDTDQ"J*?.x2(&}D``1. T!eq/r}DrR7@2ĹXQIU 5}[?M<TD|vP"?'geYтvYkzxB G'LYH8aCM!6,J&FE( "HBYV;Y9Gq (uEjwΡ2v^uD>WE崅1YYiiMy#1L@6K#.E(BDԯCe:=9w!%:]h{- [y3alf 011ujN$22Fk1h & %j"4FJ5,b8c8 &WXaX(<>L=C)w߷ iN/pٻ=߽kHMG $Ȼwyq01е q%^CHu,A& '=o(&D q7(eQm-lg,M=݁P *ady!3?Gs!^K}dxSH~8qߑFSBukcx|0DRDnAa{0`@EEbDkLmlY+; aRf@a9)Q&HEDh4"Zӕ;3nceUVlCPEJ-SE#T--iPa*4 Z))JE͛ DmhE+`EX[i@` agNa`sbK&ճfɭ>8  $^e}Tbh.R?=1&$H ~`o`DM'w٬g4)>f}0ӫ|bL&fU+џvO( STe46H#]^`<=NAw$TUsqvUY4 {Tr7|!Ji캢5?'q?÷9׻Sl[X)A;$r=ug1wPۏIiU٭V@Q};$:}s"Y ͱv1^ }]]D Ti2 G> ~x}/èܭd (ȒUfsN h ;`D)0u{!i|ho"":wrtV1#> w:C|؊q8zW&a*TTH)<Σ.>CGX0=$a@ 'hv8d/xUYUUVFf zl.G*n> D?:M~sr{v 8c`:#|oPJqqsu #ߧq0aCSRwkD/{DZ:Qpć!Aw.á]`Q=Z3yXrPbG % "$c5sf!C݌d=$ AP$ 8+:M5x ٛsc?on:*eItM[&jxЬ`z񆆋 b܇p!:,1^xgŷg: w@|gjyc" 0Pm@:[Ι@;!%O8 98c4CYfM_p%["duWfu2X- x͚3Hyq`iM3Ȃh3R^0%m19=[{ QȰ"25E0 э !ZT@ 1=m m< R-aZoJA9Ffc8!e,ƪrz[2V\_GUD177Wrd dVH<0 1VF*(LOfΦ,Z¥$J Ccbdr|)fntb&SJ#ftb1axlcpg1e}48%Xu3NI8iq2 nAUFGfMIVd#+S0#$Y cf2LATJ$-]P[ azZ W4dlrLhipr2֗5dO"\$* FAbѩ(yevEؐx(CmTXcǭ͏J$+)gGP`F13ym;k Dvt:J)Z ؘXhdTol;;Y1P{'Dw1 !$@cYEiZ4+#m V$͸P%ŭ0a6ܮCxJ$ӝ4pQfg[ph& )6\PYx1Bk)Zj7Jfqѹ,x|XAA?Cq]a>KY4#C&5T E DUW`k&h ,N!7LfC nҝ]hq-Խ"LD=Pͼ[8,=)a}u\]iD´k9FYi.AW(?h3̼8Ǹ:y5_u$"NW-#0ݩMc+mV-9+XX6K L{j6 Ϟ,0x'(%y^N\Mray%i,78CCsNUncˢh&PZR_ Lr&Q ĩmiiq \œiLu04c2 lp׉"P4-1_N-^Ԏ3!<L#UDseAA KR(,f=JzCK elƆ1SxqpTU&D` HM^mk)* v%'Q7 Q ?U Fŝ]# ]ep忌Tx9 bEtRtRXwX%EU0X uɌur0:wĭSQ90;IW.\3TYxZ,ЂF,013p1ڋLX=e2'Mh  D Hsdՙ^5)ɜbTЉbZ '0 S)td*E"KjYH<&\!Z' X˾g'B@KȖjBфv B#՗D:qnAFfa,\xu4\ PPQU!SwFq弄*"&bŤygb`>zfTE@e~SH ~W|}d08~h8!;V ?0aFj=)o#s=Lp&H&"Id*c rdDAfxC+ DpRl3"0l!2rF9ZB&գV2@M01ڠFv„gyf"A )~) |&.IP15]A?zcD"kA5x̖Pd#-:MTibHs7>gD~ BJ !Z eC̳;𯘴>P=Qr~{Р}|M񂊴S8AQM'ެ ##1uۮf*: n()h&'jl8;Z|b5kYE)PѓٮQ2X(g.GqDI(yKӃ>MA&IRa a-֏hEBxfr}1r;:P۳Tf|!^ AAbapIbSoܻ9 (8*Dy^ݬ,/ZF9(ND=e`7 @SYOWJG3嘄QihXTL* #ϩzhf% qJ @C 0`b1e,m"qׅ$7Jz猯:o*!/Y*ƄqHtQiLY>ݯzBEQ" M{]އ<T9ߎ˖6݋40aG|ctf aa#0Mb^f\Ot ˗xj@@a.X0"r(YPL^Ҙe_ =\Xa `b]4n( ٖ<3Z#Ǹm F ڡLSDKxPÀU4CZGC>b&7D`f(3g#Z$IjNb?_8*Fh@"0|GXᗩ9aG}>Dp˗?[[o=V~k5L[c֊>T2`8 .Fu);&´nphRQzw9N.8z8aG+'ZG==heMnqĈ*l N/:x։}O2HfQ}!N2xrHfg A( N9cpSWĬ MNtd2, g)ͨ }2}۾mEa0蒀,5Ro f6S޺6&ǽ) Oܫ&e ufk/͖WfDAlItB{Q&t\ 'CZkg "W9PZ9G %7cܜPux{r! wbdk1CUַ$s.J/zCL70@@snPC C{KҀd vVDxzN*: ֓ $lkCYt*[P=YN88Df#8*VzilN 3}VhsϨS`5JtGݻ&AA}f͒o-[v}bsBeRfBBLW:6qG(Ќ"+9~(̗'u> ]! .|}}-A၆bv6S~xh!-Q"kIO3*wlͲI &u5 {5*W*kq aI Lp×c:Z>1,q 2m>SK߷pw'fqY+(‡}w "1Ӈ]:CbHPP k82 (dq4!SԑAo9Gq5 ع㚸KPM10 ňЀ!` c3uP4QU&;í mA@PNIAl9Q.(Y߆AJ( 8o/8>xW A#"Ĩ)ȈsZq4A9G!nq(֞Ǩ(ͰPD:9ys0SC AߘP[_S!YXA􉝸w z0;gќvcbJ8w&;bc֑} dۓdmXj gv5%O=pÈ!3&EqSFGY<=V7*U.8R,`2?i|(yȴyN6N(׊gC=;(Q+f6K) !&ӄ,4H٧JL=5vR5=<V%KjRP~.]&DM0ddke, n )(}>oW3k:ZM:ЍFve;, C4Ԅ,\Q0iAq$I.a?9'wiLv yyٙ~/qה'c㼚V89oR&lgw3,fa$⁉]A+e%D yprFy 8v:`DT368 L%@i\BULyoV9+skk  Bq5D:0 \R\ߗ0>=y9= t3G(tЍ4m̝3.agO\-jsGw;sm3ҋeKgP_-RXA?V_L~6y X==< H0&d]`dt<18Ρ6>?S}kD9vsSna5b: kc$:t:uCeVgn"=OxҮʔ" S-"ao4u'\8q8˳&d8qf<ҁkA)^I;W)y u&!^5dTܩ9OBaH s]r&.w&!Cf#""ɨq{ى&-hcG~m*_O4E9fW{<73W?YT˼Tc|'{RݏuӒ/[9RiCx8SxvCj3a+ +I(սż|bn3n ,0)b"Zs0*hybfdž{ DFMVua;1 M$A"ćz!U Llׇ $U93#|hB(` qz"`/CT6CfQ4{ʨ`úTEw(Rr -(Ʃf_0"=sVxː  TQhMhQ&RH& Ƃ7>H9.+JL7H{%bG1Fl{ :"i(0#g y Rp]z337 %4uc+rDYPtP ?І*o7az b3-12X aHl)ZCxU57܇˳׃6Z FA=r1 R BE POh҂e)|]\w `Xul ,GK,N8.zs߼$wvͅ;zٺ~=g.εU!7n6`i{z=5-w2YS5F%"zp%2OjGmsF;7[v8feO,gZ 3'NwE+֯J,WWEõfT,aOɞ f0͊;iI(G=6Q}sj>Y#İcnm ӴsÑVqLXC`h ”~/:l32bAë"z@}V~1v,4}F-D}r֍6J:coh`Ÿ< ɸ9. v}z<1Jwqa tH/~醂#11`_>Q@; DN]*@<͗q"y|'lt1=n3A2B"*~7ov}:;60@`L yяiLSR v0r&1BE©m4氋e[YdvF' Oz 2,[c6XH܉}|Q(Z4̈́ 7%AށMyyGc'*X:ȁ% u6?UsjCj  /U#f\nS4T$^=IQz-#{_M/`Pɘ@7@"0Gb+ኒ_ q2œA@a=;rGGj1 6Cj@):8uOP@$+ љIW'B |YQW(m7$R/e #M7 0 nMg2 !Rt 'Iqug Tc5ٯj* 8U_n!߈0yS'*KOg!iM"ۓ ŮSa pPL![K-f:JI5(.< lUp11XrdFD`UCSi:"jE 4(#X< mcdkj`sgz Xs} Wh{8h$REԏnB L]b.6T&Ok2˱sSr)c,S{B&(yն R6 4Rv,`.c6h1iG<^t0Qj ]a?i8N+mE" lg 2DxL/>RdL0Um116* vSfjΜ*ME<>噺nbopM%R xŷYFsZkVh&<캦4IitV!û δS]x#f HWe+YGVXl6ӱEPm*y4 @W BNJFhD Ŧ1R1|l F5R n Ί[79zK] D5DBAx!>rɡ\{~|}X,,] c$&ggD2@dUuY%ݰK JV8v z!HD5a`fKMch*j7uUuccr6Ў,V>yn̵؎CB%eoj;FycN4}g:֪/9HH4$%JZ؊.5Vڐި3. ipO+$l^'qSx;qw`9wnT8献{NVͱb1ԌuO'0sZ/58U wuUq6Wk{,jhuGLb$c>8|k7gW]#YOͰgoCx5'gٌk;V1a Ǔ2dRVZ tNƼds>7a,gx%YB2J5L<چINsi8aL%3#^&r]߻&z7ۛ7G^Y|[͗b4YdLƸrbVINLv ; ٿ.;AJDb)]f.0S5AR4m <I (yBH{=FWdȤ,)1C0 ((̷kEDCo1ɕ"NAIBʺTԃסFm ґ /N{+D=هvH;$y3tڧEMǺ+۰XA>WMށvɣ`;CxT'i Kdšf r*"Xd&I $߳{Xr !H֡V<&8=lc=e#$M2`T۹3B`HXj V#b zZ=rsCddEaQ7) C?fb0Cg62o{DypKxĊBTY`!4DymFx[Rk. 6crPȞaoA4j3<>wQ JPM;ªH` Y*hBZHd!%((&Y)i)(R* aa 71.DLb  4&H+nF 0[`%f 2DL|~}9'|UW} g$HU꽤{<gG|O;^SL GE/&Wǯsf3I/t'$I-'p/Ǐa҂=n%#ua3IRh$|6|}tAIJ R @@ M,B,H`r9pz@=ooj^} _ӂy~wL3ܟ]S'q J^|k f|zQgqx~V~51ZSM ĉCCJ,, !#% %+wP\|E$k3 = 7X.(?,.\WP?DQ6Kx07&MPWf$)?xyCqm܋C}TA"D $DK#/w  d&%%)(a"N+{٬B"}O| &b}&.Ÿ, j"FkO 7b9nۘnB NYP33ĔwJM@)._ a] ->Tv(*PUPEn0(1כqAIAȾ?pf'pd~=9s<% $CyUz<_%=ڟ"& (]@AJ_,GW9kك|'6 ^K>59'PX *9{Oٳ܃.oIY S(u&fA I&XbA]ƺoKJk:D7>ǘ "(=v"]w Q!˗>TmBaxpR^ëj{g5fgFEрdBD}VCj/%zFXǘ1[˄Uڐ_f>$GF Eu"1,@u}e(sͺދ;^˧L zJ? q9&lڰ;&1LD6!‡8ΰ 02q,.! eL1q ӆ$bEh.=l M6᧒U˙ܤJ9,&F2)r71J E98h$4NN̎MpbD%( %SU9Fq4ipmFv=ojtTbӅ fKQs+'-fP$aJYxdM , M?D j%I+ + ,5^%v>Er!!"yݾZugYl%1dAuEan0W@HnCJ8 :YiIb400/cL$K-m4O!ä|{olwj)Ȍ0N: 21`Er(2UI02C%C DH pDRXgUut|lWՔ9pH5`ٴmRĴQDP)GѡpF*|viaM)}DuQfg=3>Ǽ>CF8r@fhI!i L%B$DaXQ+[MfURTe􀇧T!WfG>iQV9#%'%>ȍ#3Wcĉ*|& ~ؽA`L yB@!Y=W3 bS;x ?ARD9o?'B_%H7˳{$MTTj4|aA%EPۜ(=e. :DJtF8bӲn <.j+8GAn,daΰ2,2"Ĉ` 2:k@Z$vF4MEXh`06 VX$`xauv@0J20%`  Y8fEF(59Ph#0# ȐJI#PQ!5jZ6bo6n efWhb|4S%n:ƒ4v,+l)"H65/T!֕Ci8=QJ$Y,lۇJĉ2vt33 ֔DRFeVf8̳;}ulc;@DR'&@D =}6"E F@`&D`JUeDȔ8o1xs_1 %<2%(,BjZxu+ A\QQ_g}yH*|8i )"0ɘi (hi!  )B)))hhb! Q) DbJA (S!i @& "pB (Jh %$L hiJRh ) BIiVZ "Z F)J%"HhZbYhihb(%&V PAH Jvv)+Z~iz=tHcy"Yrm7!$[Hh=PDI<[C U;~} |6עo2]Ϡh 1I )(*()I$E1QXTf[2M{LfH6q6Wm>!-Lq8o&S'Q_n=_E{Z= {9!!G?o')N HK{׃CJhHv0@4-F*J8dI OSG^v 0]fv'Kw2RE LJq`t@ PԵLՌ,Q<W!Ƭ,/[ȅ}c+<HCL c9(龛4B5Q&oqְHM7bb: 2 u2P%\,CN/TegPAMjFj1$m.ZR0nV &F#㊸t*.O,G2`Ұ&QYUDŽ?0~OKBU~CWUtG1񌒑,sxI9SF HʄCAB!bf*HQi$ B !a()/L!eVi A>rO2m`|ܸykFg@=LT:cOd$:( JT4q%86qM/z׀jݑH[g?-ʑ B ?HA)qP5Df g]\\ZHi(SzCX ntF3&՝mA? ~fR'嘈5wbK~:í403{_kk/|z9X~ bQ3% #hC`vTAF_gq0x<>,_z m@&KCPM J1_~"rU"_Q$PhJBP_8x{6+@Yv璔N.„P̋^{?p &N&dO~?9嵅4pP!@=aE֜Z4 h4W ~&"àcR VɝRLG1.\TQuMcb?I7@D&:aH*UgDRZJ3e' :q)_[tO׸S@? AzCpb0$рYp @B%`1J+;Z hٳe7zD-P |6VFCiq)!n϶%']OKNMpQ'H,4y&JN'Pozf-!HFKr)݌!fa!c%2\( ivDy8Wԑ0P4(WEs|\ZN.ܓ)`ԣ b*xl@~jgX"cTE 8a(҂DjF9bH)˳C'E,vjwvIH`G#v~FS"v6@H"1("@f(}bX<(!kzLB `.`&)HN{ع1J2.o" ˆ5Tr68k6Ev?)_?l~'~߇׷u\uHiH([) >7ݏ3~39 Е2jϫt3Mw:FQoIڸTݽ qYpZ5Ђq5㧅ޘ&wᙺ56wd9 7lslܱ]-0-Skqkvn3eaۑ688ABэ*:ZK!t)G~o`Η\WlC&jYY/Yɼs}v}-ww:-yXĮq/rRDۭhig!XP$"T!˨ț,ӲF^QN9Ő"S3bpf} i"BpcɌՀpP0hWeZ| 0a?|r>zMw ~Cv~ !?{Ux6Z\C}>~84By/OcfYT'Iބ}X4~Y O!s0 LC,)Z;q2Wo( H*;p$#3]?dCN#"І_G`D :1JgBD.븀Kp<`l"z(#)&X]q.6kTeI5y f+ $sqrHa(^oˎ;4}tP6'hUҲcNq(xHUkDv;s}uT?c$Asy J$h <]<<+$!| w *ʛoL?L 4̈`(vqb0DA'H 1ٸvEvh{0M_%)źGB6BPdQ1֑lc) k9k8: ac呦ђpJ'F0I$a1A&-1)YA%&P5`^r@=]o=<{Bl(6QSWG1613N FAhrx2#Wh*o`6F(Anr0 2l 4Coм. QPF̝$60˫`_ޅ\V (y{L]҄TE#2ir :\C11ўW;JiE|. @Z7,Lfi09e#4J/hwABrMu&TYƅ0p>pWa 7Ps5R ,h &123V&I C4$fC$nF&($ &F!Z"*IRQG5xd#$[X0k'!Ξd00''l2 03rdPjdj%db( (W i(L$H!13+$CO|aue f喝"z*.t2Zv}Ⱦ#;31:0u11 I doˍAT &y]#Z̭%j2@Z@+Fl% VAD;k1CuiIXI2fSb Մrh)l"h#Z+啘E2:\bEX(0e.l3f,q6[p@czm듙42kDRaai !@'NRܹU4osPa I$\8a3Qd`k&5hYXRZIhVFe&\9W:nRhH9%D4^^ fFEDű @]) KE-̸ ,.CCV!H)P!@- "pet30+0)(&&Vzl }BA„~j6ƁCRD28.A@B5݈rՍgE9Cm1{L$& ݀x0HJd860`J mu}LP!`0rVňʱ4B85* fʲ1(f (@1=$"܅^xZ,^u-F N+ihW}VAQFiZC2cl0AQA AA8VX#Y:f.öΆEBGT.5kZ~-^F1(Je0zPW QΉq$ f8Օ KU#Th0 3r\Js0J0`5aqŒ(&3qFڈ!+)'-`dWdd5\68`19p*:FI7 sd Y:n5N<̽ 6Q4g+y%GLȌ)p6#lZ_ 6l%|o :L)(iZe!H 5$Qt^2z;'MNIYj%i6IrDZk:]94\+Y*)`2EsP. `f$0aL#(# iIg`eАhM b8 AKHJ*²UL*H IH@y2/}HrJxu5L cl.[Ĥ_=ևu(_CU6A`s`{8ꦡ7Čr_AԑD&@ND1!P $JNfIf,d$N&B ^ e>OR;諔T @L@5hlG~x$Tp@80$G%o#kd\lѳh:XEˇF,=-/1pM f@##TmV ŕcH hi@v1LpਸL+4kjd.8$!^tC dS9EBibj Ap E#4阄n4'4!@>i=NYH^Ͱ3z v8@s30fq1)2jQX|`I\E_b% x#7o= O3Id'upYNbw^gccr]HscPequ--OiG8Tsg6qka ^}ÆĢD#!E*?!/p wsڈXFL  O t $2уAM;8}7&u?Vd1qݦ#١j74Q[NAH¨*b b(gk] ` NRNgGX1.\>Z|=ɳ$yߥPP _L6TIɢ` ’H@ujMd̨4,:dO=ʫcu'5p4v1'tRzo4uWӈ6GZ#q̉Fb~?,:?0Ն:L4F(wy{~L=˻V9ԑF 6<{Ⱦa訍%& KpGTAاvݭz" v7BC}i(>Z#aFffa-cheV&h4TV6#u PsFI1AQh֝2@bca(1X4jȶF%Y6 ɐ)ՑUE$TURD$2d 4 ktB &NTıN`!$X Q U`@oA*)5T@6d9Ғ4BeeAjsB44.[ 4l8TywPxDd~I߷2|V ;P<( 9d `m]79J' ޽Ǒ !YhX<|m%,gB+NƎпFG 4(C61s)`,%OiPqsUF  rJ PR '@Z)Jt ۯzqq>F(6rC 1׬lm#ak\Q13!ٙq6:I!̆6[8;mGM#;F@cUYhOlk#tL[ 0uИ(\& tEK&;oK3 < 3PH,c4܌e~V![&R 7\`0{؊*#Ս];U&$iVfVV$x =8w (%{h+AQH~q?m[Wy &`;;QLs-37.PQmkXv'Rrx& "M<#u0q;EV?&k*qErh?tSF-U$&z 3 31JeW`nCWI;t0@Δ"3"ѣٖ;!4 YQ{g_Q nl A (|TN ,ho]wr莀,0 =dlaAzt0|y.vLi1(&b%!JjahA+"ZأQ%iDfE), o0‚RZtShaMDLBR4QH4+@ģMB@I\NMf&FTF1#%(JJR8 @" #r4kax=F ,=oe[!v+{ L-цg,?G=T9X<_AR&ȭ4zALeD:e@+jдD3(zq0WEeCJUqo,H`pBYIaR KmG"ʘCS h@! oo v@!N)f%Sw&aJ_1&BfH@* skq<• (QYc$?S_|>=x6(|xNN$8_I㡣P!E + 5=3~ + b* ,JZ1ƍb WCq~s42X`ʨ8 T(ak!TϾ4j$ 1 (Km|HT}ҨZby ƅ;CFfEFfœizJU;|2Xf & 򢞯CshPס֑/+ 0F_bXEL 0oJ B=>A"zu|KѤacǖA)rB1o|΄~.wNpXJn ~$HClf)32 hՙ;2,TXRqTGpjqq[\p5K @ ІU2 'v&dX]ӷJDBw -|d`8@l P(JU C@8a{>!c4=EEY\hO8MDt/?;wf>:̨J|(T7vx=<1h y.øPa%8-CNQ7 6JkWgNzۇ$(ƚi{a."'#H@vctcN@ b $l3$iH@m"WSOY%#4jv̐w8m8'`1S\ѦaBΒI26NqZؗ]D6sb>7WInB҄$QkHTia#sPCӉ)C5JA3"f3+li0X׍@MSIG#"R(Dɓȣ#l,bhߞ )Qz ,(Y-0UoIi +$6#3KnP46qIM bNӵ d(uc1) ݏMiAo :sm8g 2DM(cx "O\2)<`أILX°r$VapIf4 x -f+1QIԁFS mr`D lKFlx5c(1$Bzx 4uZFKU-8eTY&Ǚ;$j Gl͎;l!b1`6*3L aqkT D,֊FգAZ1baQRv<#0c#aՆ:1 86ͳi7.I(-}a]&8&HҐD&cN() ,##` +PM A^uѳHE"q7 x4Ak1;ef7vV&BKQ=`ခ#@ϖgqcQe5ߵ ѥdOo֓oņJFՆ,~Flx@=mpn(6SoϘ[6'7{U'N6?86wA085 E"Aذ6nAGabm0HV,0Ne-#F @jajq4BkxtrS[~m$Ů&:) m^:QD7:858$1 re-Q֖֒AԽ;Ct: `J9Tw}j@VAqai v+H3!y=ʇT䔸`L%%0:WtiVqlWl #f'Cf_A54U3V Ԝ@%P,JS90a12L0^u=~x--JX'g_׭Iaؙ{5IY9{Wċ̲6~sy',=@CU(i^O56}:F4iB!X.3-''Ֆá"C)[X%w9~eyoh|Y$I$MBN~{f$I`0wuiy^?(gP/WO~w5tuRӕ0~.e, *#fhv:1E %VTR:#R@6UzB a[4P /k%̨{@aF !t4:͓j(SJ,8,3*"B! " 8rÉ Yd(YC#$0 Q%@4IJ4"ds*fm̭%(@5SP@E4f6NLnp"0&$~VHHl]"PHQ4BDb$& L(i@/&G v4HN,& 8m Ć(J4&ໟIDdR}p_G G/x9^}ip ( r#tTV4Php2L! 23 #0#X.1P&H420$AEUL$R$O~(yk.Du"ddИ Xv;`sL`Ri %9MI"@B`ڝ4:t@dy7Ja) s΁L!ƶ z t*5jCtdLVV`"'ĩ)3@ G0c^@:EP"^ސ }"P!$ SH j=NΪ?/oM<@&U/Pl- "tD$HB; "lBGF7d,NB(ѧT ѲEKH4XC+ Xa4)!w'!(YĀaeJ"C0ƒbfiۆATdDDMI1+UJ,!atBjh 0ZFF IA$(C55TCP9k i2f ( !ƱPt$]&h(+LC <=D!JSc;zB  `(jK80zv;;$2[1:zE6%]~7}5aZ4L7a90&*]jɡp51:G2! YI5u#.dnqK.` q m @uH; 8K]zZDՉ7Z &i¡`T\q(9iҾ(@sb.+ A$yEqMBW: :!GratQ(yq輨HVe %%`),E`~^޳lq"-P"+@ҽ~ٓ!\30h3 Li8ee F%H`L:7@SS.f;EXr @R c`QtC8AŘaTU=HM40P=??ҠƩґ܁$r!D+ R" Brua능x YGOa!#D>Q]r 9VH1{#i;coI+%i=`BK_drfM` A樼z8;wLȅ hTG'q WaFrp3`GPu1"ĸ*dBDT=!;)46=p!#Z&_۹l"R Q!&JT\L8̾I7 #d 43`T6Qq >!ѓ뀣-?>d_M!9Z1PI0Q@_w !#+ HB5I00P zJKĵ6"hCmM $Dgr ! 6ba2_9FENW b*P@y>=O=SRΆEkȸXbo*@V0:Ϗ{𐨔PHRгHT^D삦0Wd@ qb hAErA\D Of@PPn!"uЈJB+ 0UԦ)d`J` r(*V**h aiR)a ) )B$RD;P~@>;i~do9hW{4>TEFGEB(wqs3 pOW9BQ7`d/DCKf8Eu!HCe24|М𯕀৆ `=@eҀNE!<#ڃĂ PuT< a4$5$|N`=p,BCܞҎNO(Xz̰Aҁ- J=Eo%`;byO4dG"e'|\qtmNvX>iuk \20(G{pMNDPdR8ѠR(W~<LcsўD.:`f%nŀr y[9j1B&`}K6r;J<ތ) L!ɤb+%}AE12<>tm0D@0J1(B`#Ȱ%ZE&/cArPlBR7`nT/s=cWЉB}"%Dc2 ێMhZU&"bfH> 925T|7 @Rx&fn3[nc)k}؛#JdO%6_[Djl(!ԙ1.H ")얆;Y@ ϛeAU%K c!*32 Xpc9Bէ[a#(=O=l43bbl!\'"|>q hgv ,çyUܯӵtv(~.:7tz*v5BZ,z rlݠ)B҂}xY(6k{NkFWFJ9aF˪n2q~]aEz6lm:DzZڅ56Z&rFC3.q+$QplC1dU榵Vσ,⭦Dc4:*#D)NRq.޴ 1mr0I6`qcOdNKqi햜H`Í4itA9Z;=G r޾.i'g=p~FJA8>g 92J= RӰh c ׁYːT1 ჼъ!Shz A)t;ZOQ5<ljrBXĀheO] cf2"N?Aɡ%C[H\٩=Z1;#Kx59+㤚uBpPˮ3Y}H1-ŜݬSQ<|QΕDF8HW[NTpQY< Íը7|'Lcծn;;zhUTURoʫ{m: ^„p5zPieiE̦e}0{mPI۝eMt3=nlN)>y_=(HABz5+ }@Lyݘ8̞.sc&UvЛ-ܝ'il6 hLxw~֝{>Sq "Q?TԕM }&aT{!`}FM*(o?`߮$G#i90 !ue 9 ej _`Hc2'V >;9ea! fғRJ h)}~ٯo@fF@)Ǹ!W9@e@b;F D4XXTOCQphl}pYC#ICڃ~YzjC Xd3+3Dh=u1DXAÓf)MC5⵴ HP&wv櫣_HF$H%J |nP )ԢS<MtLbO\x,(v#Q~;~|Ū݇=ƆXީ`;V9$C0QE&P4DhԏJ[aRP0F4AT,J&T.@LRZɉrSˀ %-J~qDd`AdpW$VҜWmTҶij3bw*ރ7c*C+ pH!4ioQob~KR$3V,ZhD`R̠e dG;? ;yOt",ׁ4Q (q$g CUal}mh_7^/<: O#c3pN2LI)#{y} ?#ɀz%sr) , 9#"Q] mTez-ĮtFᣜ]1FFFJeH02c$\\kvPfYQH́!NG|q0 $Y?cnDz%vln6LGlD^`ɞLDaJ/ cF>hbE5iDJ"HJs*Dv)C _4^8-G@#I'ÐrE=:y&{ʼ=5skP'!J$!)n 4}C`zYw2kjc^>p8EeHH漏(RTPP(V$uӒ/xp}f!JVYE|ZrD H<ny+4,P@4 ҄J!)*D QRA43XT B釪T g~~ %<pĎN?l쐳QB\\xNA ^i 1Hl # C# (ԉ!JMM(2JMbb@*o€o}ѳ"Pd߃+ IAb8i袔G$i"z$KCgq4W hp 6 ~^ÁCA3{C ,C3@0FkJzsنD3H!dNA0SDQI9.@EaMSaMQjP"D2T0)) ]b(KňC Iv$ BJ+FP-D||H3A^=):6ALEQ>M?G;Gg;yGC|u7{+OWgn~y?ӏTv窯)tui=??xzի+?}s?:?wo>O߳s{7o_{(0eEBX*መablf"RR'D?a !$(0L?bGHڊ(*(((j*6jHI$d?2K8? 5a DG)e$AdIf4 mbNVȫiF:匎2I%20(ҥ;0e 1!v݌<3xM(ny9zO5~h9𼴽,7]+A>tpؐCc@gh? N؂u0M ۣOZB@$Mu~ȂvLЁҷ$$v5}#R%7 GKSl py:d8o4uyӉ^=WG s%3k8$Ԗ\vOHdfr!IRcrB<[I̗z^ǘSe&Ι4s\s'_d% |[2im(9}Λ\A"ߪ, 7zIdܕc ꑼ4tfkIrֳg5["$V1Kf"ܿ[7%C+{0&$<xMTHOwYVooM_)f4v/}PV$0i#+EHK#oHmqmUp_'::g568˛CѾWV˨2LvPpY2ԍӄ$t<8Novmm41ѯp-&!e |:CJ"tڎתѸpͽn`IG\HƑnJٟz%UʉIŕxCEHw/D < ῕bP,퓮H$oM(Y26I*]>xtlCݳf{dK'oݲw?|F>{b2ׯ|7eΓ)^o3F!Ϳk㋿/M{ Cxdcád I$M|gu;\6T2ЧC.)c/ua5 fuv1N;Geli&Rb5P!XoA'Dx2UXq %J&N@>Y%@Us^.x7fe)jےKCp pOFv:gnpӏO@wnDrA$;4w{k4H^xT8"`Qڦ׳dfCxɵShzMюx͉ %Q ]ĵnG4'IqLXei`csHӒduDBcid7n38t̟M%gq=s 510Q5RQBN 72G绔GC] "BG=Zx:*2 6ZJri—ۡ5 bj7s/OGVa )}] s1koH)85zu>RqdHC MJA̱N^a曷,Gs^)ș{q=.x]q>*kRzbf?(ى9؀jϖ$wRڔaH|(I$VHG%&:*&(dl9ʔmD!DѼ2a)5ÈSaA=NQ{:$p`H9%Ց/^8=ܚ60!ԥDf cï| c3ziOO \DsX;ခ ʭqǸp=pB(PH:EzAvZ)|bZ3N3\&2qNӗepӓPVM[t`(ƌO.a2:wy;@T 5ϭemN ̿ms ~O0aݯ(E /&-4Oc0]k"539NĸQٸ,QI_ bŌ}M,"4Z%Z' GLc&B-2p5"/\xR5I DřmEʔ(=pFrnVڋ\&*@y~S@ ?v\hf  [)+98؛0  @mC 1 . y+HL(Ap B`WYlN[N@8fyZY&S CM( tԫ@u9*{i]1y qiD:i"4.dt#mIPN.i#IȆb2$ESXbިu;{{F!T"}}dXu,Ʃo5 CdVfd)"0"Im&q5 )&t|!Ms5$<c'P5ECp'=ѯMᴝPC%W1z{ZY4=7'Y>,ᨪՅYc=&YMic.8WlOk1KTzs^f;}(W7 Ϧ|x@q Dތ=ThZ=FAٔjvxC[xmD/胱0ua]EFp"1B#mlz', HjHphl6X #Fs 8ȈcFk/#y<@֢m}ra6H~Y NBD&蝠ܷDrHX`5Rr6!О!!9q *Tdvt %n#W1@Lvf!E|rddnH>/C cOGkF=ᘘ`89~dS~sQfl|4GR(B6Um 95.@ܐ У;!/iO!KI8Us>Bx99"w7q͜W{˓{Lr~/p|05keAt?iJE3@K4޵0Qi+`dR ~"Yɪ Ѣ:uW72y[y`T9v %braKF(YT8`UpZ;[ʎΔٜE]ϊCB61Ϙ~QBIƦb|8XaJdPA .Nϫ,⺎YB_w@$,:t ;?ٻFJvlq| ~;Xd|-m!6= P|2(&L(Q}:Y P@QnS Og0>z!Q*K@͊*.A~~%mU9+ ?qLL {\(ϡ0yw (!?dgIj@6x≠yk_ųaΤƤ$0PA BPSͮ?hݛ^| x )K~FF݅iurGA].&A!C^5SC"CWV:lPNPfi"`kG]~rֶer@zybR:a;$]B…%$@ PE-(P$5Lp"!\J+ <MhCTPI,TDIH)(*?wKe~hp|d <4h%/>cVӦ8hw5Cu`D# `c6lTrǦiep,3A*i{6b >1n)ƦW l`xG,-w;R^$57CEɈ{V3Nwr )jِ:ӄVsEjEԑ# d })`; fjUZ @_li\'k,G٢%6dF|H0ݧ+ } q4 _^OIکB("TIM̕t3"HSQʖb}K"4cx10iD_{r5_fZ,H;p1VCݚBr ľF၌A1 APi u8l7>f*Ňl~oRCmތmu$ŘΠz>zDF>QpJ*duSB $ԇ!"uD4BJt@􍉪&v[@?OxgA^On6zXm2 =0V"!ovWY:yJo$9E'Ba$&0vǁ!ܶ8HY KU$cB-:XȄ CBNX$ I d[ qMFI&aUEX%xKĀ<"Zx)$2H4D=n0}qnQPJQD9JNpC“ց,Mef'_(+K@Dw4'_LyLAUU\=Jy$g|{jm`XOOHkχ1 v=!WN ߉1dlS .0 ()Ϫf~j"n~(!ko@oWj* \5y>[ȅ9O:aUZII/XO#.NK݁GpqۆC# żm0&)TEžXI|V䠔=#פLExDf:u>m dF%Ri-ه/DԈT{,9-#oQn 8 z@f CC}fFAk@&Ɗ<κ:)[xY7$e32Z7?b8!TeFfG)ǿGaDLϻFj ،;` 8f5ImMD8 lg1:iCDk3$tF &a޸Qn*KgC^`mvݖ<062n Gne-Xa |S4I|7L-lBrjMe5?E9.&u-"Y&ZwxT UcS.K x`nmq 8NcQv0˜Qi^Hbzקz6BF0gE;Neewwt?:"%;Yk(6҂c1lmSBwiks :XbjG:%M[-1Z񱐄-Ky9b;!$Ɇ $͗ ƈN KNIȡk2;AZsa"٦6Mf3Cr68ԜK `@ưDjQfQ$֡_Vuav3oCXcvN5ETb1kER)xm  2}Nm Kouk2.J#񋵚co)Te78/1 B6mq@布7Ne0^ bb2벾'8*%랴LpܼhvƱd:s hxQ1\#|b_Fs ouEb%q'$7LcW[MR $TX eʫ".Vْ1CBOK (9mR1Hb@Qq׫jГf6X61-M喚"EeF#x_{Be{Ka2])8#<0 L;MLt]"LS "P5ʶN9&XYW8%po3K䅑LLj ­{+kՙ,51#'T)0:zQPQc3! a&7m*qxbo^$൑Kɤ٭RS Mtg`魖h̫5Sƈgw#P]yV(-yscİ%{9GK ,{ rFAlZȑBnkP᙭uD6GP50ER2B xr60Bh&0VH8œ{4ɝ3:HT4Κie|쯋|6̶Tgh 7X 3D1;aWgq`/ew QGnHYnB^G`i|R Բ̺̉ X 9 j9]h뮥M!f48I6ót@"A+Shorp2C7 krcay0)L2&9HdLbj45 ᣢPl#X Dh{ pE pB7DbrS$ wXU94 h\I[L.Ɨ\Ѹ1CGk w#3)S#$e gO3/D[8eby0v[8LK4_cd/⎕]g <S@1;yD&)0Q& `!TG#\I"ET ;{H<SGkVbLXIC,"pc'tRD( }9|7oR@نnSʆoCE1j !`@Ti6hٽQce* LX"&fqoMj'pzQw@߷8~b'9UiBA 25>ZXaS1:4Df'uy/q.cS SJ5P2dW-|Nam BTř .&?Im.Izur9}F)Zbo;3M$%,P% g! 0KS jm`ߪj;'qu᜾#mNLZX u ҴvԳ #BԘ=0F\426Y Ǣ8Ң͛aC>LJ3>Gb<><">@IZDRA,I4z ,2apQAn[$x ? ~LdhW`7 6aGxdiM=MfTs{0:Nx+!BC!@ 6|CNB*X(2~X 20JzJtV!5f 6C D3LGuk^.C*_BP ԁW+O#P"L"2JE:JkM")$xR.߇0vG4RjgЃknGqydpA;'oYEcL@.Tl.3?^d$z$J(t& r k0ƭfb`<"Jd*zXU08/hvPc-UU^c`~sFuC=x<6 0P2 +< Jf(tTMiE< |Gb? RXm79f65Mx!mo)> cxeApyUOXxB2Kݞp1 |6Myi>ّ./iќWMBI'ܰǥt4/0<'R春Gx=MOE4h75g eGSF3v4RRH Ւ;130EoԆ'pd0ЙpI;83{7R2Ns:i )i ĉm`Xa:$Zsbn "XcQ#GfO8 R3T[  des & 'K!9##p4j-Ak9ZƓ&(lЃ,uZш2wJQ*֋-DtC7L!eD[SCLK!Grl4~O;KT]xO L4d )"D~ɨ".88b9Vf!ݘ0Bz]*{}UDэ=ӾT}!76Zm9kWnjcrfL5Rб UH~v*BBkVbݝ W >yGLOrP&J4!)CHBPDc ~>۟for>qC?2?xDULWͼ7!Ӈc$v B,p I@_@gi{_KǢwwi3V6}!MʆcL)Bf$N2 q2J EAaXd1D1qBqAFVT`b\4n=,QZ9B$xhdphqϬgjhrk4#M 49#;"x޽Slr"&.E0t р@L?NOsC]a~e<]Kb*O{0 ʩy[> S{f+ cl(J eΡ(C(`~ևNؼ숭9($B"e J"#Cx"D.@Y? F+gvl&±E>rڵ&xZԁs3Z#b8&gLv4Efr[aN"'' O(p'8-Rt\JJWZhQvDI_,*e(6Pw04lk7($0853 $UfoM8LD#> sY3,guiQxA#`DFLhtvw)79D_bDvt8:!s̖lȁG]h=Fxp4|*DtS|^%ЮH8q(dԪfAIE40\D!sPORdP (R>QZGCDQ>_FI^l?iVKIlFFnCgmhM ?Nqs}G,GS0"#&8DD ~@bGr!2>* h"B:] &1B=vWٛ;9D808¾?Msͥw k2OMfV;{@e(0>dOJѡ݆Su@g(=PzޣG*=R $hJ~it@Ũ0d t#Isz$YKNBj/7ˆpB}=`|KǕ& E2*OSa8pCX5չ9'tKn*nE[Qu! @&aqBH& n*AOd 4RM C!IJqU8onݰDPlTMɔw0 §x5 #m0&3 * $Ƒ!i f'`gb #J1 ʉR@L+ʪ!\D $0 $Ċ}mG@| )Б>gXNǙ=v{ @***HA# \& $~?f~|~-2@~9Կ>OD{5BG"&)юd$IHR8k Ճ ?&(&L[÷r "Uv8DDcDa @J|> sM9|bbrW&r;!"R @)F$" xwT@mOR\R">SA)RQIzt fce/H_O[T(joz^R۴'WZiFOz#?d|?A#q $? i_H`ZS( ~ Dՠ7BSI@j)$Ԏq`Grō*]10*&i 0D$(*V`JI&N$fcJ$j&H=<ٔA&CblZ Z_FhMըݥ!CEElLC3)CrA4ZQ?$)ʍM@ , YނD?S(rራֻSA׎L4ٚC%#Q*G謀%0R0)G&a޴O0$}rHk-**BOAUi͟xrQB!6)WpQmBm~I(A6kH6qp2ƇzQ`CTEv;b JbwkV pvJXf*w ["* ~D$rC=UQUTQEQEa?XAw|q(4TF>%MHV_%10 iny n(*":t(M4_ՠKT 8Xpe7%$]'XYGY3' Pv\8{ #z>A~ISf"͎04Y >CiO{|0!椈r  4=^% h=AfMJ!d&R[~߀evVZ&q`#S4Q%/~X.%2Jr2uꡉ iUCQX")+P52CEDJB BHF0~,7y' u? QRwR'yl.ܢA146v{XAtPQ9a9E BR61<9Q@1NJ(V@#%+`PdCqd IA4Rf41O3`]q @+ Z*( Sӆ"B0#(Aߺ;6@|P<5"Vj0Űda)׸ۡvpH*F H$" ) ʈHirS]1 N8EzN+DR16!Pdat~5wv:/ 0?h-&ҤT{i/$SQ$c,/# "h(Vf)f`Hoh'1DuQIH:Nl9T܂mgR15rC C P8*SDCG/bq (yֲ2ХoYi؉ H+:ڞJ00&P\ %q 9yOH'Et4[h0#& &,} 28_&0;.ɭL*Y|'u>wk=֐B4=njcTzcIۊLHP N+sTިړhnF_2<<7$bEv z=҄>v= 26GF: ]dmw[,YgNS_ TGzGi1}2pg5__ CpZ+` HL~2 )(P_2)ox @y"lr^lnN 3a"N7 ilEL19O}+Ơ5΀갃ͪITK0U$QLm 4M8O:,/A>@ ) 9&~M`9` c؈Dv&@ )䭵JW+ Q>8R)}}m k:-!CB J1 KX)7Mk]sa~[4qD@*ZcKzWMB)ݶ"sq2˘ 9P|բri Lو"*OLG2K YPpԛv7)tˆ ?T.Toi(9'jsDPF o=NL'ᔦ͡xv AnnƈZbodLbB('\UU ۮySĈm<o`E%SqUMvk$P (m=ЗG`<w6`'.K(%UQ.ɫNd>CA2ԕ7t0T}6 *$JFVf"=(Hw} q`ѐPHL!P2q\{,MDi%;j4nkBb2z 75q IKIGaYU!.,X鮮 F\+,AȞuA4arXh,egExU {8дp96lnRbH~[w nǟ^,휨9;ʦO"zt"J:#o=Q UT }ޜaa(DXO'~rH~(9.$VajhbPX  <>މm5E524%_)$&`g$ hQhP'AqS&LVXi͚̓7$^$(>~fCR;`GiF&BsINЕ|)W{@:w> O*Ae$`&Z Q"J2F&H222I I*2B))U# %AM$eIS8eXYaEUNF4fFIB^"&K "6PL)h)I)($( h F*" RB@j ( "!H R*w4a$CsB6Ǟ!>zOק_U"CAQl@~kfLykcaْ:ܢͤD"H(c OP)ρq _ֆPG1*~1cgPvH?)RPQ#͂'ŤmwHe5%<K0A*T4;?yP):k9Q@?kSn! 9b%"B%?H]{ehEvwbD"Wn&Ӟtqj*]Ba t%:y#T"1 @bz0IF{{o.*P)p@E)".?w!M'V"0иU?){, L'8M2MσБE%z4\`&Vـ ֗;[ৡ E@=hv}2@kjM74[}_(۸hs-y ύ|EAg]ںiFC yFك*띮}=1} m3{^7C{}p5lve@(Pv]e zۼu{΍;==x!N{vje2/_ GY!ۺ޾۹x1ݳ}}4s=|۶v `rӞw0ym׷c,6t؛WֵD$@J-ho`ὀh h :Ѧ44EUd[=P ;> 6 :H6&:zzM @Z %PJP5TJ"QEQ@A**4s:ݤ* ^*u[v[sv׏=>[zݥ6q絝s1HZ:hz@Ҁ4:@:_@ } |PF5@z=QV_kumG$PPh8֥b+yw]ϦK'0NgZ/X@=kנ( =( l(DBw.Qa9m@_7^Oi2uol;X:B>uzν! {$'iKֽް}mC@q6ݎ*+}m@6Vl{TocGvy t+L䢻N{{}wv滇]WVۻW;Up!x^3wn[=}}!ַ=JP^t<fV͕;ν̹GǠ;Wv[eKϷ\N6So&﫾:Rv˸]^i4['ϻ {;h-} ˈdu>8Zzk^s9wos8[mwyy>ٶ>ǮB7l6}_n($-7oӖ^ew8#i>*(Hk )}no\ 篾ﮌٛ>-sץWknO/mwݽw{;ݚ_Gf}C=c*;CsW`]{}v%Nk[ilyލ>ޝ;ν* {]<<דw{R|sM@MON- jsNΫm5>iYAK&ށxES`J{WQV/*uwuX6$}:0n9=w^{o:SRCžnζr"{GD\Ckh׷@;aO8ﳓVݧb9ϻ%T;d%vl}Π}QJc"YHT:%s@/x͵i7Vk]y}}PPԄvV1O ){UPc_f}Ϛ휗;w$U_>O}uLv}Uíu-ݷu'ς'{Ϲx-wd]ûN];}ޯq͵)ftpŅY;=uLx=h|t)C{O}4}}`SMД  =Sji6¦c%1!CASɠ *ojj~Rj 5DdL#i4Ʉd 2h$j$SSOz4af?LMSO*ySM~ɓȌ&P4_8ǁԏ (Ĵb8`N@AS#u0bwO(ͧ# ,F s|=g?W4k~ )}d}gt^(O)G?  ].Zfi$ c(_p0.٤(BC@%?T<6@8BDSBFQOIN`Iw@meÁa <=puؓu\テr'X{$xNW|MS K茌`> U,%,; v: BԽP@Ц}Op$: (HЫy-)s&Ҏ ʺLQ7f;{X$(D!ZhB%eZ !q`ù5"}t/QW|-Ayw1(R[&!AU\ŝco;).*}6LzKzU[OYV-뵯;&0V": YeEUU#1Dig,D(,1 c.9]a7KV ) =NViv}_nbji: gđC0aPe=hQXJʋGHJ ImNzy/==9/g=9X k;94UZ` a&JFXuk3)ᯔCDxZ=wH{zÝ0dG dEbt"Η1Wb!Y=-0f#}?'w>]sn_77gJ!0A>bc5EJbf("&dD%*+b15P$E' @bH :GRdy|D+X262eI$\j*oA:%<"h*(%ǗK5Zf1i"9z>_!Nnu&Y!(B"'Qi855)lF" 7v D(\CLWM=[j{vљ ^G[øLytﻶ͈5TGq;bO1h8秖 L^@{]C%41PDE JK?;{y|SkRC;)_>;G$yݘZ=:uo'ƶV PQk,HѶD=N+VU0uBEvl*HYʿw1/nS*sLjTB2D$v;9:m x`犉=.9m|Zk֍_ld9D")SV> %f-T`S"DyNݲ(ƍ?g*/K"JjQ3TGgMaҞ6e gԚZb+3`ƻW>|?KKKCZZZs͐Դ---KKK@,"ɽ wxj~ĩ[m8[3g96-ǽ%ý5$~,/X& YIԽrhPP}I|5Fd|療l,iթB͡9Y9LF0@)$")j )jǬuwBMSi`=5M(e*91R}V%M úii"QbI L_Ht35@BzՉi\*I44Q2ĔR B DM_1q'ϸq `d*x;Ymc[>2EKsppbf" ձ  XpgPEP TFJ<;&ܧ$Lb|hd"i$X@ >Ag TPҔ1M7ɳ,@W$Q693"~$k?] ih?ƌe;,;SbN vF*0UR4і DQP W``DQZԔEIS51RERSTM91#y"wtK79wV BI Hcqm\s!ƃgC*O%dY)a?7\v~TAzf*%63TLR JPA@0"P H44QII0G!ZLl1) )UE1UEQ![wdMDDDC|3te b.:]ΛARp*6K+K*oT<킩g4"b%(5#JTPQ ,3:) UH+N(UPbvkorTS<%@R0~hqQsI r5TDS[|1 l klz9bJ+欕0EP0FK8P"d(!d**<Ɗb$ZJͪw35@A P!H$DSA(311#KP0$B?vzi=b~tL\=E؇h/Č(qN&mwC@Xa{jGf͵ ^bNQ_.4CcV>m苛m^3lZU&f{3NȻ 3lڭj8SqpZV bA0[ov[R4& 6 ˈ(&RHdNaݘq<)тܦmw3q *Q8b]G)EWMͪrTrȖgFJmMc /!9Oi 7Za3[ЄO皅w$h&ݽrvbԊoe]Ix"NzkeV.BvifI&ڋ2aRsqw"ÊZi](È$Hj)8؄!!GC[.hNICYgDqS4t 6x,eƩɤt؂jr +NafSF!J5߫29:M]XY~.EKM h߽iBCUH37ጓb"Es.*,\(NփJ ytAQCBFo},AsXx,&3UW7pZvզ)t24+vZ".j=kB@aJS7W2V-=YlwX8=" "F3!HZU "U@H5eQq}(V1ᢌ9E|35 xR.D2ؐΞy$}8AK^SYaFo4`!G,d[(~ վlшK,}K=4Wuֱ-ӤHTR,S)kUCYʴ8&2& KSa{hPE- B݋0˺[@mPa7NM[G24-E$m`peʻ63+ capȒءI+P[\eURgU qnلrݚMDU*t H 9C,DS eN8,4QvuBq$* Gce:ݛMcXٯ;v&k+Qʀ`[ۍhf] q{\$TUCj*ޟj^ }b¡&QV_Ϭ"b?o߾pdM^Kh{l|=ccM97۾9䙿ۍ(8`G;hv) 3Y2L@g{ּE|g /Z/?O2:'G@=ySIڅ)N2 yvf YlIF40wjm8Co7b< 3Q<_" |0&TӢXGZ Rwjpth86$hjq8V&W=fk3etALnኔ3)ߥQŢE0[h@R4lR<F$pl㊚ǀe[Z^5b-uDJ 1Rg rh~Ώ]CֆbҔTSK|\a** p8rvN[i Y)iw_iPKvN_W̧n2$u7n-i+#d$r銮x}VB3i-D5B[#\MIM#Y-efZI6kNF}u$ío,UI Wv(Ӗ鬶64yy[_|Lx2p%@#0Z#TQ!]Lv;Uf4љcNeV|7cH- $u2̰u-VTњ!m6Wz ?XttLizal5X{q8 T!XjhA}#Ul% N74g1-MyY=Q54d~1v=mDCĘUU4V3-e kX:4e)UC|\%Ds |mz75yn-D8ā(e4@z޺Zm,YVPET9TXZ!Th dae qSut;(2F^4vN5T7J#Do<0h ].ݳjߝ. ǁͼi!a;rwþmvZTT6*.%٨1bRmmm.żzb>iKH>$Gnٔ/au8: cB7.>N[QyVr!ր.tJw᥍&b&٪)mGm' %F*1 UQfK9O5OvuY\ƒm^V")Cj(Robц=C.9Tc.B1a*DeШ'yGXTU3g =NZ[BAUh LJ8" i4% Pj6$3JCRER:S8(CKJJSE4QbB8lpGתdK`(x7HԢRTGu_keh-kT4O&:LSI8A,{5](3UjZk)%/|k P*b쯹~%'ZCTRUBW()RMyb 3LE+TE2A0MQAAz+9QI& GE)bF[d徿6֯j=lwpн){@ۺq ,*'4*Xi$T]\ h.aL0Ui8֮,!_~:&Vϖ1)m h_R**<1z̑ AT1SK`)hm:5OݵzND=jpy&j*&$zԺ4͢1y/@QIzI -DRS! 6,N"~8dSRq(uV9Jp3zQ1"nΙ Ʃ_ƅ?- m'=U̳qtF*um3o~AAnDi K.*mуy.ZDwq=^7~N:}0YRՙlQOWTeBd6yo98;Ŋg.tZ`TXc+ )kF) k3Tqڣ]ڪ"tuzTcDӞ]4-0v<7>Fuカ^ e(G\<^'WT%\'4!zɥ"""QGtQvhtv߿zޥ8Zw[uzS!Eڢ|ۛ&]6vZQu|J#Uەߚq =Xj^]xU5 CNe6MzdE(V""hGJӯ#yY-@ Ͷmp;!{pNmzT?_|N<ܥE3٩sS${Glۅ"`%_ٶfXrh8$%AsW6e}-j@?:i{ VU.jU6@C0~vmÍdK_[*:TO/Nܕi2 B VHPqWGւzz4 p w@Q $:Hie֋啤%YrSmK50Hٻ& KleM5 |/:ݿ[Re#ms{0\;̈́ADA]`}aK9:ʟޚаSjx/PmD⪚Lqe#G8#+6JAI98XT"t8,&{DfCX Xb(k`(WoZi/ Fsl_>w=]Ko(+ k4˖(20qHz)'Ȱ]0 6;Cjd)$(LIiRɶ+)'(m#ύj#1R9T $_1wŰԠ/{bnNPE%1uF|Θ=y*+WwLM=)H$ I;۾>]mY U 9դ$\õPSf ,s1-,%BZY%PQ'-89]tƖcJ*PW-@M*BnDJѦ&Q(dZXʀR;NzѺm475vH%BZͺ+5Ձ۷+fcZcb[91+WSglmnf5Qc 31%ښKwUC1̸tZ}GG2%zs_{Mk[wEHUP O!Q4,V$TLp1K҆1D  6(5tEF(SHo^Vssr舸 ,bo-50PKѰg]4ƈZ ҁХ,+UawnrmNVØ-YehZ9rtMG2*5ScQ0gb/Oi瞌+wv]yr+";s5!pGBiT7ZPiD|Ʀ"")*dG|Lq _^.L6L&Rp+/Uk6Wu+1 ,PlgM! <75xhK;mu6H tu'7`DTxߨ v.ubOQzlbRqHPx4ji{<(LLBPb1+:DT4_LWBi`d!.h"ZV (H&J8(KKE+􀉤װ*` *dHҮ ~ߧA<}Q)̻T餾奞0Q#VH%EuL1u "fP6diMmfXvR=0UR 1%4U5:(/Zv0vuС[v/Hpc ~}VfQ҆u2@t>ܞ閄 sH.8JRHABњgһHhs 8cJR"(߅ (nX`&& y%"(Nsirܲ(k3b6*%4XVq(H>uzKE-Jɢ wre RuD)? ~f#TW >ZMW(&lm-'e7~'ݑm2[^&G_)p\pٵ3ۍۺ6Noq#E'^J%rf޿cU}raf=MڽS.&l7$(EDIa&)2#Șl!sD=tҔDɘe!D0M#ݶLOWGI]qzleYNX7Zbl&m^;%}m CBS☣DqgЕ_j^x-s{=gkzs2"ǏK3Qyq}$5ViF$)掹?~L?6 x)l$[2P #ȠJ!ބ+(R#XʣvU B}wC[@]-4~;r`iOwx)FBɖ)a*0j4 KfazO.fiMtd% JۖS0C2j.T 6@aa{Mvy5ˡ]㌟&5TXM6BoJ)@:l85b_~ⷺ+r֕:k' kl[ ~iR!w9gTHH:%C^uPit{mWZ4^INSiCK_iki' +>wd$kRoGBp qx{sc)#*>ttK( N$,cZ1דey.]{͚ P,Ț(gx&$,P2u鯣f{9/PYlxrG%!pIa=S$/*WƔ t/Uhԇ /|kO-b֡3Dn=T7#k9p%3Db>sgfiJdݮ=uKN}Ȟ I) $@مjuqSJd%CI¹_dwdd 4&c2WjઑDLɛ՞Ͻ-PG@H[5V?NֹnH x!#Fơ|~_~ǫ*&83T LѢĪgw w:G\.~ӠPR3k |.7ŠYBs9O•m)?B vRm׼!A!ߦ~u-m͵V]!c\\{Z{1ʘhdL ^$dgW~ͺo)#{,\uݻviMؐz&ʑӯl6ώXSH^;vf[ N L.qu^0h7&}A/v~},~Ҕwy%_7لScA߈DaL>er& R'4 ѣ_Ȱ٩㟐qdbE(b=^x\%mb{h&aDC_h^ Xg[PƆ:v0?Fm b9d=☏?>&^$Q?]6yALU{5 >b=LX*)O8%G[$ mYmAgs(1 Rf}T-'z<^s[5IFoF+r+ҩυtV)HQ& ^Z]ugosKH^f**(Qe=dCG$ tǜ/"Wq!bI*WO3n TIb,ޤ]9xq!L\k\pZ.2H#D6~Мhކ9$G.ڣ>Zbңe=ovŋ XCg߀JBŐH^нkYͧ3ACrshdLD--S.l lC7$1CAc8Nx~g78 >L=|$K/bF5_o6<q v.snC q2$jiZVȢ2M!OTu17J-5U"QA X#CFl!I֒H(:W%4m-k ]64B(mjJEE+i?BLyA[ݐP gJSb2!hD׾pp 73KD" g-+¾2?U"`JUb< EċfӖI>Ã>(VtpzeՒ=[&#_z)򱑏%ϖ)%Oa+>@mO~9O?3ge_]=cnkNGYҒcS=ՙn%F'e}vTUU|WLz|CgQ ϖe}qHT+s2zgD}Ьt㑃qѰ^Gv;?2c/ Ls{qRЫJ/hsCmu\xG ʺ/4lJm$N<&R/:˽V*r݁/]^ߗ~zRV=u $DϪ%c褚M6 9WNYUVəAdޑ;{T-DZQ 3% wB'U2i۔T^w@ t Tu6XcK8YN9cJ:,-2|]98\f N+Oo>H+W-n=:/l7uiG3\ߜ̱- ggGUvvnbo95.͖Դ̽OůnsqK3Fo*:s(nO 3$@̛oI5սd;E sjoWdKb硨$oaPI /,d|ICDwOA6iy8SQXThm4: $kZ8&xwg("@PD4ƴEAk/ԝ.Ne]d6LuZvUzLJ̣$(N!3! <{2eɥ$J}MRGeeu";0{*K|L|$e}*Ve wͮm9mn}Vڋnj(F;E]Ь(A*!fm_Q)r`kc.JAV%6aҲ!0$&B; ktc<w/jW'맸kB2L030%M&l&!&JhJ(Z PҎ v,C@L4f0ȁêlQJN4BSZ*)P=Sa"Cd4bSHiZݝ4y!(=FO;WBQAeaz6uP4SDT4IIy|O8Msj1-W AMu-OQUDATA'9S"H蕔[Go$${W_&aq(XJB!HHz" H@v b3ȱ&!H"EdD v ί#*|r k4 99;3 pP?=,a @̗ftʠ u"L.hdoGmG$Li!un:gm<ɱ0E>'(mMfcޯ=(IFԚ^4quDsr }]Cw zlQJA#b7rׯyq(`ȵH"_OPBە B\||Kgi*(rPAվ 63Q Lْ("Ӡ(f_},]<?RI@Se0Ĥ@!T ˆ`&`fjBʔjhlbRE)@A J$2 @SI-D0+D eBP &F e"J:@B(**HhXShh) ! @1R EMAA5,DTUIJE T4ETT2,T)24I0%#B54T%#E)%-C ZiX"")d"HH(4iR)B( @PD*" !( iYb(( "T!`* `LMB@i Fj X'G$A-J)("@  huTf&IU*<ؖP(QF@)( *)X$CDePP44QT% 9h(T`R)a"Iq|hZ(Zh R&&` bb "ZB$"J! fbfcq-Ǯ:?Ko~z3A"dLߘH| |5c=Ǻ_kO~Z׏xz?~շg>cW^xT\ҺJSd]bFN9xi0 ˁ^wt???/_^ޓ0;&CW{D$o\Eq/y8Ȗ01 HV|JHoɈskz_9?6_s* __LG40S{yVX'flrCLOɮmS Yj#c~9a$!Ի=]V ;Oǝvk^wrRwX7inm흀SǾga/s;8? 9 8;A]nM [ِ4fxY}G6u<Γ$x}%ҹ:tĕq3!MyVR<0:є9{b\ /Z= l;mϱ,O|_d FaQ13FsF;*CFivZܗ̘cZ. ! c 4_xzCyb_2*ْ;2hS:F4/hbN CH[] mI7[/r;<+/Yvwhf:AG:D)OFỉO`Ba6aP?8&}* +M2+޽1ޡRth5*^/Co_σ|.ٷly6D`z,& ,a$ricͳCo6}:#O#eoeT st ?ˌE "|{WBoܾA*Pchm3ӦMYjs7s3VC͡BJ:fMՀK!`W˳JOI]˪H]*6v1898JGe !4{G_6.$O g ZcK_׶Ǣ}RϸNQMFd$ duZƹaRc;y44dZu@aJ7MHryj*>u Nyj:I ֏ }uSMQP77e0|9dI HW3+9:ʟ:1V^4_vhh7lI/'0"|M?՟PfGuфT.Q_=lb0f,3ouz6a%?k&31RDבN35:banj- Pߛp`$卥;\?_;pmA?;1#& Nb.5^AKFGrRXR2uNR;Ak,^&T"vR#۠ѽ/[Oϛ";li!dG.=&D{x*{"4uLP[qkdL}s艱żJ~|RAw}}<ND&{hgo3QU:)`eʌYPIT1?-gjyKO9OF@;4".P0D 8;ZiS ~|JÝ"xy"[AI&ze(BkE\8W;zWjH_昉i Hj*r$= '(.#g՛7š|e J|0a\mhSyzusR/iBU9r*W?K!U/#s~GҺoص Ma}ŨP=Ew"jTEJ.6;OqҘ[2wJ*|e#~ۑסn_žȗ[>F!w~m{:3|tji4sw]^`aێ3o7d;s?n.ԗncP%X!s_/钻qU(} ͂bL,aәJcݶ0 ?/ !PR YM3}C^Rm K!SE djI'r< &1b@$=Hw'is=~# qS` A2<̡oP% =kձiڊ.?#N}z3^n{G<א9]x>(Xw/;wxeAy/8]<-XvŖO+Knk`s$L A+hNz3Omj݂E:g|w4 q˜DDDDDEɲ 3&Cv|\!I&K#'gDU4lKӿ.Qo 7$?j@H*1kÀ 4OJDAiz$דe pN'&KrFmg'fA@+?={=~fffffg0'SI䪦4RgN.g7[ϓNvȝ܍=ЙYS=M65Lf{1VfL87,03D7؂@Ѐ}93SKA6 ˋ0L '|7)6dX{(L2h.'7`ڦd`'痱ih̓5x9.4H5Nz~\P8C0AڤŜ-f~?Ͽ;C~LL$;9dD8 J%";٧pb™ @ GcrGzG %&cӳl;#X~$Kcok$;r5R[Մ~D^s>"Ok0?t~t<=V_A|>X?^K / OT fiټS-8қ-5=ĨSG D@- $Q1,UERC3B(D.ȸDBHDPP% Hzÿ hO/kF0 q,DKJ@rf +b~DhN!8vOLXfZ?2IWPYF4_-~Dfktm:^2MrPU#f0ZƇ!}>w%P5ShO(,r{= M)S$P N]*BHR;Y?ZW~7{D즆@Ry@tqwO:A]Kq o,8&Z`s]]}ٻXi!뙽7 w.=ҮyJo3 luhO; +CO!DYn=?)լ؟7vFȈȮfp{U HLef2/Q5݋vQL[&NxOEH&L]PI~$8e$޸㝣-u]%IVfԝKTe(4C88ltL܋܇iN٘Nli xWվG}κ{mζ`/kc~N~>|Խ|Lzxwvԙ4Kn<Y"EN&3 f]1ڛ>ヰ*P͑h;/Mkνjҁl_/:z{wYH8]3D3Z f8LG(}Q{ '/ | h`8=J%۸L,<(%J gW'm6eۡ+MD} AlG~ձE" xi'a$a^%kΤN/DQDIӔ)<~ӎ1^/M=10I#m"8MIPڏD9oCZZQ m#|c#HaJߓ~W}ߎӟJY^oϑZJc|+LkJc*^zե/[w-zdkռ{s;{Zs3噹a>1{-zsǬtez.JJ7﩮1/<)Y4+x.)J#9O^Di6gwmKkO2XB-B!?)WSJ¸#|;oτw =q*R8ߖ<}E6d?Z!K'!yOë-">/yӳRMNruҜ߽F|~hv'+XhS 8(q㾲-Ϊs[c8cD=22·IҴq|+tQE#5L ֹҹYQ}Ⱥ$%HDž0Blo'ݜF Vvƹ[9.*lE}ۨK9㻖 FrTPﺷRTa$^kAFUMQ91\a2{WfUb(4$KbL& DHhFrSU&[lEY=xV8Hn:S횖vYM1CheP ~tͫ)ӷ~~L= oe~\EHbg=kN>K`e @ٱlM]ev(RWOcv4iPЇX]za9B/C>o)$}q8`b3HbYZ Կ>0Wsο숖&:nf/ct$ S#t܏2%6n i쎾/-S eɎ57bd1']j{q <ǻ^I'Na>πa70g/g;%?ؗTzo6ŤCJNz뽃DZl;Cθ\i"-'oƏ=u4t@ jz?~Z_U):{RWk{^1~}"۟k]?Ңg4O/5EC 9 kܛOONg-|ak3J@٬WPӃpl *8 ӧqw{Od<.g >aU9Wˇ # gu 3oZdIy  ;gk6_nem^7=]gv5u5ӿ}.8so?]Ǘ޷Գ [qT9n񡉌)e@PRғ,'eS[TY4vy';FcRd= BIŪпNL_P77ɗDD9oF(3haZ" A ^5XHgd}$ 'FMIκCv~t*ݎ+D~ ]͗k:=L KN u%I|ԷK%՛ޘb{lbm#: |y{ Ϳ Bq0Ι^!(Me~`,6׆ YVWM\  8$MhiOaC1sA1)4IBPED@B1A`#E5޸i0TS$Nc^ԛBseW;6^׉E /.vDYih]YSFfhddQXkStI97߆57mfj&"1mCq6&pd}iy@8PP(4O`Rf n˄MqVi&JiW>{IXcAN76I0 0ta`fba*;333ͯbݜhtfzr,bt % ڒIտl\v >Y2p-%6>&$J}գ*fGOBAot'JR""uѱ?15.H`4_~Lg_tsxtȆpul۟Un=wgb(m8D$n)QV=sTmk$]o'q <1Lw^; lp)?WWK[2ٛ5f:߬Unrmî2Uӿo_㾑$ƘLaL%1{H{m\an7 +k/Ft~gNئEïtʘG\`Un%&D~(zbtfgM5ZC4m%X'b²k A^ .3^'EP>YgfGXMf ~^2N(:SHEq>n+e&j&\&\,&W㩝V,LO?M|LSBq3-޲,GV>WLz[Ϣ9k )F.ti) (מ#Gfx>LFe?|9Z_5l'KҤ^RVY*Fh1bh'19tpe-w|ZI3-cfL ~#+O┎ iΏٹdӣf;K1,s7ǫw12f,;)[5!A:LJnAbS\htIGd3%K#]okE'PnG%T^X8#!$5 ㈛ q GtbJAD^{w31/ӻai'[&ixņ))o3ai~Q#C?`#265[._+Kbweq%hI RP%GUvSMHj$ݺEΘxNϮ|?Pp-d$J`AKE&IJ_?9]1D_NvN28V>>߷ 0<~3 j>f::԰1Q54hl~2q#zJ ;='qBޟ7xp^TgL]p}!c F?N |>nVpcdvFԸ ?[I!&JZNyqI/gT1=Avg[Bn?/#MoχzΈtg!5a}!$a7{ogͫ8ez0{dQE |IIAALgߗ * >oZ}]-I_pβ™:~ 9=5h m!R fdXrbXd -i3r#7-!p /iiӨRhh"`b!y1zX,Y;?Oݬ=|}b.O/O7`5rPOo|Fd +O/ i`qrkfk03q';le~犯EUUUUwfu!ᐕMS4 ȷo6'cDw;dHn uo 4b4+R1p9q炪i/ m?R7Ħ)| }H 1I1ԛCl7)vتG> !E&ꪮ$?OvuGUvk`zGG_ Q4JoD>^:O} :E׽?z4w~Qbߗ?0y{iŘ%6AVEPw.PMj yCޙ{LIOLI7+45Zؚiop"Xpֆ*I$heQM4M4M4M4mߗ\u%^^kM< L ;hV?D?]\nGi]\܏TB8{5>C8f5];IߍFs||~| ۺ_rжϕz!]&J J{=ϣc L3?Ϳ})`#ᑗ.YXB~Nɋe æ &4k_4o%c[j<*&0=袸$ٱ(oɈ?7jvӶ>ֲcYcn{uHKeϚ]SM0ˎW}6]E3%D7LN<ٺ!% N<~\= $(na%=.Tv΃VCߛFoDA77fiwXSLmă S1A豬4Dm-:EAihJBF#wgӶӘ"qxOIҲhI>Q'PS@Q+!<M>=u5[f"_៛b!#jg8^|QěFd~Z+Q#M}xp'Dp ;ד'G)D82ڳW_V59Dfǘ;}!!2Hf_u.c64:Ot dy ?[K:;~9#gk"+)ei}~&m8IC?tg:%q2)w ն"}l,d IRyn ըiOK,K!!g'V+zᇓkfk7#?AoU7gsPRCE9b5t[Zbx8yW|qmZ`om؁Gs1*Lk<֯#kCظ"Lco_cN `48..e[І[)<2| e4kЏH~C덮*̰31PRE# ATX|Nu9G{4M% o`73.#Z Θ^e<0[ˆ[i0nfteC(tE|E 8۬W50b.gA'ƿVH mRdZLۑ =?~~֞2L.OD.ȔG/< |Цq~QIG8 cOۧюw`wGMQGxuI(_Hp~H\pPA)o)ӆ=O;w4Qsr\2EVnfۡȋ< i/!dVxxZ^\ d9f3_Ƕ@~8oGὠ/}J@@%~FBT}>χU9}UFO (^Hs8 Lt孳t:ct諭MCIЃrq1"#gG'gB_b/Fc!铅Ɵ&6oHr#UJ;w֨UaQ)Q՘C5yK#;\;+ 4>pks D@D@D@D@D " r~>ʪ:~]hHV^Ric@bkb h[lQ-[p @܌o=In-j 4!y}&Je- w rfg;Lٓp~luKk-GsJꨎ*mo4,(eN2nDgd CgG"#NusWꂟvD1C R//d &{@WA&uGwa礦u|>*D rdں᫑pq!YC{9?ԙ0=ȏK+i36a5Yl{>p8nKnL{:wwNL|$kܘ)EKcZ5EkH Yt,7G{}U25Nf~a_݅: tjbQ %Q⒦E7cH5Y"QcC0TPN 1&-u*e(bV]2M7dMUSE㑔:@HB:_ _'rwO4{(TLPQ8kEoA$&ŷa$9_DlGtqǣצ#}rG#IYFcp%@p8wԎ }S[QM:v[jU*#\K~PZpgyٳ,a*#ԡO} ?}?0$s<'N9}~^~XI/Gܣ"vz72 YibV_piE܉%yL0f8x[>_kaj#G˲{GkI/EM[8罭q?L=߾CGOYx~s](Y!şt&@< ^KPa0a (q 1 { Q? /a F7\b`8N9*bNCrmݷ>&";QHrP؝)>(빣G4=}2w<^֔Y|)湵Ց}:.۽;{"hRw;=}= ;\)XJEhܠ1tzo>V"Vo+W}{FՔ] %kb;jKR0Ȣ]~kgg,3{j3pb^-g'EY et3!$`ms)p! :\xܲ&`YS.R6L]K)9g~jM7'ϰJA~ݽR!N]bm]e>;7iyLs 8y734jNX0:<o:(AcG|O٩`P":Ց,**iuTU?-XN5: Z5 y~8[,ڧPe<^M Kk? W$&L>ԗ[ͰwvkaFh݁*-k贳$^.?9+!4o4VZ^ozṳڊwtݩ|+fͧQ‘qQ"!eN1g'oU97M5܄orv}ZďNla*@XQ46;-t=')a>vx'r$U'[܌ۋ>*yIbWMM޺6|UZVa]rUԑDKhXJS$i:'s4g55bVE[&Hi]h^D>{R+)j/{vQ?ko˻d`.>T#>\ukO'I[ש7V!vQєoUEezVjR:+⸼Y i %K koZ懶py۰{iS<nж ehhCR'fնj$q㤌>IZg))P&ƲaeRʲSd(~y d8y"k}=(#jж-t%> f4~? Խ 88yC0ټJL0ҥ'h眰V2y^ tFQ%EU%eOQdK9OXZWI2S-^,{gvEV;W'X!nŌi%bM7'R_(n3gV\B@RIYMnYgl^>E~6N%D?ׇ}?/}7tXy?wFÔ>\4R4&u["D~HdH|ۻa1FE$|߯a[a';cEVmJkWE3& ]~|~>\[яI<۪,1OQs&w9굥ګaL`^E)]lH ҙhi;5iхWR5lǒ:"<ӝ]:0XHYeMN[:rB_Mͫq2ʎ` +uGW޲9`6;·8$w#dǎKJFBEd4(jG;xYӕ鱫YUr6jrMrάR0~qjMIahh'#039F WHTh[27$"dܟ$ާ96UQ~-D嗝߻􉏣~̍,43`4NH!u :f@CnŬwRخя_ξs-M_4tbO$ْ:wRG̸K!cO2]j:.Sa0R6bDihYs[V#Et%+/W*oѸ|+1R1 \F"IupK_.'WSF1mIOv&u.6.M-ȴtv//ob}>Xbic:o*Z&16SxfIۃxMdG?8:AyI@`^Mvy+^$ aбRǚea|/2J 0%[J?Msm ĠEbI)-HA˵wӿ-2de|+ӄ[ O* #cKC[U%nR[L.w}aLgwo5ge8r-A?WXVX4*dQNw-hǍĔϫ5Ey -)SeO4%Ii;@)ABIW#˿6K bXz.(uڏ>=K}m溯A.ZDJܑgIk:[R%#&v$7_>{3*̢D3w<%2C0H eBUfA,p1hИ{\"ph۟B(fCP͗=se+YτeX8*gK'|7)$WqXQ힜$p[7,i9_ZP֍aMDYuz`^=8$8_/礳ZQz%pLgBVK|$2Q9O,L%Ӓ\q=,16Bkv>o~MJE`_VMߞ)u{0sEbKxqy/8S+nEpa8ejeZȂ ݧjfh:z KkJ'|+1͒L2E2خvfEW!csiڶ'zd*|3á1֙0h/Op9*RA3L>9\.k t]Y=Uذ)MtJZ(3';N\7$j-+,xP=yOSQ %Oן/]^\/Vp-=ӑBB%п0χHa~KLfmEM6C ?O|ZqNtmuL }Wd-d6`}틙QO /?Œ>߻5V,ZflX#&trޭZ%ADQ>,۾n3?NEvf7̰a8h֡NDYjHm=o 3.2KEitD@~<+ );o`=i6B=$E|̚,4hh%vʑ ;!2Tzp?_ƛ8n:d&u] .,_Mi hß'>6 DOYsOjWoIder**y%\{&c NJ(Ibi99OnMt)&(jtʅ&az5,]&rݶt_#9D !LKE Ӷ+$3YEA:Ɂŷ/NFG]"u,yXH>2I(Z nmH' >,-'Dal*(?aX{JUW9=_Յ7hӾE3kJr-tNM0z1&-B= 1t<ʩZWeӚTsJrS U_M1ݘl+=ߦж)J)P?,ks%Z>RyKM3ѳɴgҺץ1e#z S}Y=<͓)/Mwi6*Pwt'.Kps˿Xi}7H4c]ka7Au%-Ni4 ZoF+kYJ6V"Α/^فm|c[Bo8rS2&B4{OÐd0|PLϴw+Ş33`/WCQffe=ܗN5V9e{1.T{&2 )KXIVqiP1a&NΥFaWj??_.^<6e2hIL3O7^tN#}=R;@q#|h˜J>8aڌ;@nM ' 񾰷fҖϟש7K$9Uj|UP㹚1mq.~Us%o5% wD~o-IGK JyGQ7o 7!8xʸKmQU)%K;6JEjONΒa>=t/{AOz-0!u#/]% y{a~Poؾ5 )8ρ[Yf)dvadFx]9Չݶ]i$KC dlS|S Axt}yCy8IkcȈJd%fc1gPxK_.MB|] dvrN~1>H@]&sv"1F)~S-W'7ƈMѿ 9-M-vZz-;HXhb5-ശYH?I&i,x.)EukAcP}UDrDK 1MYy:ٽnDs34$%vW:9;"t8fmМ?##ջN23|an^䛡'_JnfOwL3&C#0{"}Nգ.|SpFG7J1῏WxSJHݣe)~NOEOݦrk6U{; -QV;Ps{ejjRJQ(O{Hn<0!TͿcRѭz{q"ҫVGӳnW݂Բ:/Kx+N2`Zz%Y9*%a`c4f9;N,^N-WC&M\ Tl뭞ПC嶑Y5lgW _Ni2Msz7,zȥapn(%֕- 簮-^/#o\33XC&;cj5, I!|uNaeH\Q7,is=5yɫmmf,/PL'Ht(x:ҖI]ԕx\\>xj[m%۝wmA38%:9ϫ|}YT`)n8 %?}̳'x?c \Y)bSjMr=sr.9dF Ң*=s8 o5dt_TUUU|~mW%߳ݭDAvrʡ.δ'iƯ/"-W+Lv̬WѧOLz9Yxb^<^ے5⥥-i{*:10KXwo &c&ft6T8\ru b~W$oy#Ya%@d}~ҙBeHQZLv[]- {grcAw`Qj؁Cd i > 16d(frf87GvMFNUfZ\ᛑ&;&laFqYv+^ ~ˆ<"( @~H]qz9RU8r}O;lX˼Oɇ&LM1ҫ mN5\0F99qKc_߿jۏn)=0gNb,umr֗JEdcՌ\vȜ6E}\ HE}U_9$x@ȏ>  !|>'#~_~6O9}ۙbZhÀ>&I/=*Տ%V㙤3 j&rt:Jnҳ ppS]j½N̫2;W:ڳWHHP$BIb!44_{)BP1;^\a(}K7)y+._ !аyk~-<*bdSom~Öխ-> zU9wToI.JN^g7yh4%֧.rDZSɼ=K0%c^Cytԋ jMwl\㘮TF5v"&`0"1Uw>x/-&~7$"(Ƕ6$0 0LIC5,0APJ)\ovmf䴷]-+JxGVtƝMf1,r<γij}9Lsq}H:vS48aWz5{wZMyQOGY`Z.:z0$U1TZȋM!llzJ1Q)8q2H%Tl lBIҩDB TxE5[.]ӊp^rKI@^A'KuZqSN;ylM[ͳn܊R xROM 4{wN c>zswT7+y01!m'F4 ;&F@v7öT3wndbs_8N"vjhaMzq=8qE! vzfyۮiu.yUGFThK_ x@9M:c61Ǚ+3>ɣʳ|)W] ;b-D̂]&yE4hNY4yZw>]dKPz:s{eBD;\g9PC7g=dՋN3ρSN3ͻL Z.p[G#7*GόȏLjhK%gJkRj2+ 3?2GbSm \*OǗ(\SG3bAU]UZf_3Aa#Qdډ %C,w;8^t VI?CbfWsFR(s}6C(0.a,앜iJYPs;KvJY4sEVy X%JhfkPc1˜d,wGU7I&HlPLl'wm5-I2AΏ"-uɠ|½k-6gUdsACO9z$$!WW;,<_Q:TdCrҳXq+|^z|22qFٮ1ϳ^^%أǶѓ ϿuﻟwvN/6Sȯ^Q:nE~H^DqZ,EM<8yDD"PE = z!vw_1<(@nvBmnvĻ/*  Wٌ۫,6{ޔd$eS<N]4"e<%9#Gf3e֊\Z(C[}'T9)U(:ٕߔ&1v,1%Á׏Ipכ}}O')MFTHL|Tsھ 2p6oHFnim?7UXn0 TTTK.M~b*ogtKngwY&]/;;8Bm)_m,uQ4ݫ]]=gT|g$sDVe3pDف.i)XY;pK\UW"e7Fr5&G>WX8.s*R[vu{0EAK!,Cjk+CûV*xô(3חO>;"*" I 辬k!քbKEYu H~]GXl<'(BtϙIfnc&5kرhķͫKYIM\$@87Ay#퀌5!j 2ӟCε)?ei9MKaRp4XYhYA7zf \ub%* Z@$`(yldc\t#q~7m1-)c[b+ FӊZzyᩬyN$Q}un%V W K xT񘃇W8zNbakkiԨ{G ң,!*J7-7}Q21)]J1O:y4$b|JaˆO1`Z_FX;cV18Oӽ7j~ؐ)>sn[Ps;o883 $3'q2L^[ ?8H~W(c6W혗7<[+V؀W%=-5AY/W”!YD!|ekxHA40˱t7g2i\u~[9M0`|vOz׬#7Z;IbsU(J!gYJ5ƍaڟ3tN5O3<9r_N}Uv\`_fMÞ| 36gED촾g=Y= ̐!g&C6GcQCM ]P!$1uҘL^3{pzÉ^CyikRFG3qlz,kvCC r9Ql$7 ׷N9NSo9ݮ-.(HOߠ3V`.f"Qu_,ֻ7\{+ HXIq]$o,4{W+'97{),<2H-IcTr#x}x;8]Yqq-_89T: D (ݩL›؀[SYNHvv^B7y\x;J%U~:24mnxW wjHυ $ ldK˄7a8gEP!Jf trwWV|Izy$VLC:M;vM:O !&zr2٦^K1Dz:[ >AD"T֑{4v0`f~nkyz7j$q2nsN' Ab 837)\~[%v{niIްD'hi9NLWY󼱥܋oƝ[L W} O/*4)Z <}]Q^S]>* M:DJJ>2ǫσLTP$Z:.glzy~3i_R=uD;#.jdw3182@vj}g%mqt++ܸ&ǭyT;1@ͽHNa.S i?h͛qLHB!:h3nc8aQ_a ^YdJ+iT$GY۠IE{±&6ZzMxo"ΤVn7۷mGd#":qŘ$!*Ų( EeA$FG 0yի naL㥿&&t"b.>3. Mt[HgZaYQBW&j.1J);IiiXٴ3mڛDr˪aSƵSJ:lv9#8q<3BLЙ1q/YBv}"ߧI^qydT1c\rx'i1HFepaItk҆pY7wt=:ge'(,,݅ CScɼfKP_Db:~7U'[ | 7ɐv嶻SI$BI-{bOOҽW]6}y>3Sǣ ܱEί摁÷\Ljy5>KRy, v<3lC6p:<74ϊ]c}!ô۪a@8 .t"DϚh }h4IId]#!$%ǯi\5UkuZ#zltu)Ḽxc$uOt۲ oH,옍\[FDUuK+jѴHJ q&0;IN="}]%ɬ^XSq|q D9 Jyakm}qҁlՈ6wS t 2"H -KIBK4iTsmnJX-jz /k7AݽL?hi\ZX̪k>)y1-*63.iEo4^ziwbo[^9B<٥t8cyPUǒC?.}iW%'ۡr.3tZJtZGOUXl<ķA],K7ST:#걖X2Oz-{ԙHʗ?8Q9)5.)sp7 +ң/?Z@0o]k] 5w쬰y1le2_-Sb%8R| (>8>Weo# Rȿ񢪛66J! ^کob%zxZe%lT1M6fl#;SIau(Ks2X&a- gPs s7V§fNyk=fԟe4@IVcX~M8Apfa_3]eּJP4j4|y9rrdwWd,`Mw9kطl^xR"~61minx$WO$NRVSEūBoJv sƐ:DsJ]aO*HGY^q#NAy.F߇G&{X)AZC~%0X,$#Y7[17& ! Bd x7n9:{klҽU抐q-:5KB,J2tcOzKX}Iצ~'!Յ7#y.ټJQ_Pv' ݅կTOִ``<3gr2=6B\R8C/zR",չIkCl R;gb#oݻzQJI+f.9$_H#ܓ)HP*%`Y5:/:ѥ8ԥ~|u92{}뎖]:t;;3a6xc+YmOkd0_w=oCԢߎf׭M׍gR sbV5\KJJgJҙJV] [+1W;+-217aiLh񐊂ֳϟ9{\w[ު;Jx[:W{~5gN~8]o<>9Tk7\&emJ(R ü B5*nZJ_}xW2ouu^\}jl#GZԮx筚 a=fw9G'ͧ*jclX) W|9V|ƥc:\-<3dy{̺w{ޔ];溺6k?rm:)a\&lvg9Hɂ17+cfB2uWF[p1'ejB#'JێWljS,ji>y'F%,8x9:CB\k\g~zJM7YYCV,afۅ2;|wa)ĢޒgjؼF<1X2K֢/BV{[|H tURgb5wGt}hunO[dCUI lNQ+bPV'%gJyHŨX$o'[p`w( ]7׍WǍkdWvqM_^0֥-u>T#")PJ؋BkdYƹE- /|,k @1:DunIJi9km8}vSYJQ)Mu2뭒GQR;J8!'s<<;oMWFaE/'%ƫ{9iʻPmp]֩N xi}Qf&z.[I綗,)IP^(nĖJ3MnOFi>` Sq՘g~ H(R?}cU59!n|c[3"_9g42Aj%1Yf ;-O 6/w++荝;BVqzxul/i.|d1,{F1EJclg TMW 6]3=*ŬzIPOde\9<(+|_2Q$}e {!|΋SGB bT71`s,g8l^RН+[,h0ʷ)5vXW5rVpjH|9lMh0뽞aq;:;S"&v4$UZ/ 9y3'38* ™Yuhʩ gqI'REm{jy~ǗrhV,Z%)%/e _+ll)'!K*@nۅ&C8ŜC^r=q~sImlcOVrJK|/i*!BSpyRhVRHF,;ץ*I', fU !{݇or*7TO*̭ǔzk=7<ݨdH^NJ[GMW3I)y34ݍI9 C$\*ə&]LM+] '+&X3+kRMHX2ѹ L s- fgLݦ "rՄLy O,;{y%\-Hc+w崇I5i@LZ1Xvfe!-kƗ%s)rw&>ZYƚ&t'2(gFZLNXfȕ[QO,% V8O0\k_?Qw&%Fk{01PT!2"AZDhӷN#t7;5{hUփ5,Nfz"I^ Ws0.@i۔ym?w*?1SU΍Zun518iȪ1׭s[l,C M*f Ht|f,[{<\\M :lJy]kbr:] cy^jHmtXDХS2qH`9a5ӕ'VF5b:]+ԈyїJ/ZG$L!d Mn2c !(TbhX0f޾b4|qvVeZs?1ۚ{Rcm|l_8k~sqO.ۚV EC]9Knpc %̅Wgʴcp7kM;6W柜͑R_㻭a{ѫw 6> 笱܈2ْ wzbVTV`ETdrXA+I[>ܫ/vCu|ݺZS%UO:./Z]6Y|My΋FnИҐw×]Sa{&^83>U`g`5SBƿZU7D(_kCdmjc3P]IIynSCqb>rC)!%F']$RV{/&9]W}h2rGI3%Km7JGGrZaԣnShGB0M!+uW9b}D #^$fT|94 |gl+{8h0qnBxyT(:j0}7E [)\QD 20r9I8$im/uVê+?OVҕH,zKY""rM>j`*lZ;B~LVsU)G,wO)h9+t9ӅxkkO̺љKϫlvrv( N%ÀBR_˗i^`x\#aׇByc:$rH ʙXroNуuzfO&a`I$(F/C@hqTA*e (((VbhhFH@ R >$ PP4AQBt a JRPUR)ACT ҴA(RPЉA@V'M!A@L)@I  P%4!0Bk% ^w.@0ơ_ A@Q /Hy ^{Ma%^ Cz2wט KaQ?'(^)h) )ĀBR*"r഼@ ._38ˤ }׆of?I?~/f;\')W{:ϐǨϐ\0&vIhcG`g˷Oד ܭoN~;rLսs߁ >]f |Os뛟{Z#Q΅^ 牧iéIE-:v>>+NI޾] 3Y#nVNN{8u߷ެP~ͼǮmSeݎUD 6|in³!x.U35'//O_h$}/OI֟?0:o@0L5:BoOUy۠;`چ?D;U14%P8 "F("YjB& h7=O7n1Kva:`3'z>ӫ?eE-9 @bݤ;~e#q~9\Jv7Gz@؍摡!7{7Lη:e/wW"&MdzvъN),q_뗂i}1"CY~ZCO7ipzUA:$ZQRN~>+u9um6 }# ㏍zꟊT90;M!bXf+MKxo*M/~ozoȿN%LKJWlsƘ}? l=lD5/KLX)F{)yoO˳=)!e%Ч@p:.@[ж{nS8`_Ǜ?)y%nXu7YE#;6UBuevYYm5Y4@qъQI&vI5ןRˏ/l{}#ʷkBx)PX7ٟ/K5~lO~|I?ilenљs_$ڙLkDyֻfZY{N-l>UC1TYDhY )U`N]u%[H0ۑA7:Ȳ'_߹|p 0HǡH:ûKL @MAÎq?}AۧqؤPbq˟~޻ZXα:V=R:/u!y (pDqݪ L޻h2.~- cy9Ĥ1ק˾b :fHґ& 7Q2A5<$&31$;g$/$ԼaDpo,|SZа^5Vcɪ@edҊMD>IVLlzgTgYD~B }9:%Lf!/wCO 7Wۗfkس U)ɐkv{漰I3ųosne}d)C=G PL-/],pl)rJvN'nx (1uf4fG "`WB.86:ӬC*8eb xZPL,7S,^"Rx1Fɓr)h.Fw>xj<Ѱ% E!Q<$ˢ ;*`Ɖ(e] I ǘ[iX_WSzNjO g q:i"HI(IH 4D^w^q* cˀjq`Xr0cIC#~o?myP':"(TT@R)@4@!Dr$ITА2 0m"%(Bx|?pRa!DUX3"30>078^6=pmYU񄛎1mΪ=rol~ѵV+F!m~@Ϋ?xC6G}9c ƷH|+& >MN A`X P#2AJ$T2K2 P4$1 A B@ S'dJއS!M+GThM""Dj"SH鏇0Xr#raSAnD(uBVD"*k 䦔%( 4Ǻ>𖕥}8 ?G)Cg 4Kt`~%bSw2:*#;I|e/)e9/&t\}nwmͱ䵸Kvz*>oLُ?p/h|TO &f:?g}ff0|n]_}ޏm9|>G_xc2JR'2~KrF,}pY\It&$BQY-ĩ\64! q̳X&60w:F#?MCzM >܇+nC_?уOg*rhxAaGu{>=||&EehHgX97P:6M>A+/at@DvOc'y.d&Ki~ m(e/V),rC qS E>^߆ dE|l͌/XS3C.;F܄"C0&;3H§ 'vZct5kX%3Y A9\cE_7બ:l<*6vګ?X} ۾ Œ=d1f!:v )-!FKP\:uܨD2K v)DG 1tYL$ںe !1Jt5þmы/)IVxffxoDBCס=JnZc >iٝ3S/s^_GSrvjA}F~fd?(MS8I_\;? ,f8z;l&*Ϸ#1"c@Yzw5f $K$#njo""p4ϒ#d//䋟?歕>chxݻ Dzʜ%.z+l7& .h̀HU"} lmj9䥺det|q+Z.Zoֻov2fnbf } @٩d㉌وh}jWthD?ޫ^u] d|`̛OIc%9WGxB'=OWq؃߻1@7. `]?Gǔ$5#簫R2TPC {/-894Q? kCAX7'z w)IUFa rBLzOɰf`}%JLeI|Q'-`v8Do.!aJ~fZgYysFl'n*n{NF:P<틵4I> OE>s)7f""f1.f?eiA0'dY881vϥ6R/v>f7:}1 H ׷јɞRG۞/-9yD!<"rƙKLhpbu"@ġ;(RB!EŶ풌:u)NoIq^eh,̿0|qaIIIY֏WqAh1i,beR{13T_& Pgwk:B'0R)D;;ӿӟ#=9i3o*q<*Wpn'Q䎤B.艵 =qq.~dr>Ir/z)թZKAQ՜_clb/1Ƨ';^O / 0-8[4N!\` qц[$|I7/Ǥg` 6m@̏+v?y7{9]:cd |;'`Ww}n֟ 3>]oj (}z8I$=73xp2eJja!iw泥 '7'Q)Cw'MЧk%UEM7HnAAxr;t1H݅'4~݉*!6A44&d8Aܹ!%"h<޽bjn;E8kPIC`$$EsXNӆ's9=2!7Hkp,~93&<@pu&2wAYuے$oʹ(p$8=Im`XX,5 hҏ9v{ϟIHviDHlهO79z5 ܙ0T1=k>m s@>rjYh?Jpxu7 S+mmk2O;hkެV1Ltʾ"(mBtɌO$+ߚoO^eƓjz^,>4_.?/SusM?ޛ|w68g*jmksn 1N4Kw5Gg;}@2d}3|Ss]id<ί`M]ŭ k& @`q~oobbϪo'`r҆L?h6ӸzqߜDzuG,?J[)+VwןxO肇ot_=Ԥ[uZTnuuԺ/&9y\6쑙A3lzyE9=^qo??V}gGgKI}˝f_c)liOuD0yS./i<~s GBHCM_WqG/{jua4JA6|eVq"FU}&ƙjaf҇Xk'Wy: EYRT [A;!M"I⬶vne}a 3p}қFkQ_>>k;ÁʦƤJ*"VZOuY=.Z Qy]𳉱aeL&M_XMCL[g0v߫|^}>0mIDZ EQ_(c[2`bk7 dOwg`;a?7ݵ~fʎ<}u~zvgȩYf!(3=&2c@A\vN/N=M59_L]LV K\`f޵cysl9ΞNWF0bòŀ`B6|dzOђ˻u>6~:1b?9*c_:t.=NM`Mͳv Ic|wM<8lYWVhv2,owX9Ic3& `ZNZռh{4|_H6of4ݿ{_/hs:Afpwl!<0/1Gd@#͟*:RI$Xxt8;)̔?P~Sxw]}O|mTV]&$>1G5>k&?m  e,0`+J.eJ_w Dz*K탤Mz6Ѧ8oc??G*~_Vf:9)dO*4oaQIo?_)᧐?_7sU]GzWI:gKxgC}W2i{<g^lNdV&d/#a4R5w!ܭ䯢\eKI!MpD+/}vQwbF]:ΤB΄ĊKȁ#җ_sQZߔoM#`v!vtόǧ:oqzIϿ~prh^sjߨ?٫yjJ!9Dq~1׏AAa)4t~<|cIv]+lzV78A|'||+bMz0ԵF凣,3VuE]ʴN7 ;*%<;,aS{YR;tyQ8] #8l,uI号RG}6-äO獸Wx.#0RQSyc6gdtgNVۯ-k3)?O'db?{GyKj^^;}{ӃTgr\}m=šm/G{#I4c@dq|mǻnsoe/l1;.ւ\˳L,\4i=׭#Ic~f!"#\,eCu ҈?·˓|*]ӷ o{1JJ~izkcǍ5O!#:KGO?)}:00KQ6jzoj5/ INN&v맓z**>^nKQJxBWÿ㿙'b+ ޮCa^˾YsͿyrcƝᕱqqo߾wKޭhG>-kiYt*}Rtý?߯<:1&֞tͭIus<;4_ \# hq8~6fϤs|'m3c{B\z/E;o'ϞR.P㣧>}=CXx5s_;BO'Vv[Z^OÞ&vsݲ,&~_ xM~9Oޟչ@dzg:f1?t#_Xvd eBɄ&tC}7qyK=?/ѫq pG-<>\}|wU_y~0qo^M<=]>lNS>ziup%ҞC;+&3K:2HG ї.?3JåT̙ڏ?g@=)%NSr%u6t|3+͛Ϳ\tܹo2Lt<=ny46l~>^==#7]3lkEK 0QPҊȻgJtyǯTXsŻYٗ!$"tOöz9~oZC6lcG:]҃ЈItZ~ xoo@bߣgP=`bz3/za}7?yݻ4À򋆚%AA 2R2}ӷ|˪Ǭ8|=^FI2]9Cq^!V-})쟏(|qG/>p+sMUuw8z"/sZ]zz֞}ߏ*8@taf"e fL(7#SCߟqu.8EٸcĺoU4<[Y I9R|Ia` T\ t0NKp\v/>>?^&7}IæFbKM^w^~U*oAG^KUl-yҘ;T<5[{U{#ä `K>„naL2nrKտ-Wʕ&g#7Թ׸R緄Ұ0BϳJ?˫>΍lQʩ`@ǃb,n o8F.-ӻ,A Lv#Kh$!IۆI2|h9Jd4(f#:aQI 1WSh%ӨOB;4F Ͱٵu^iψ S2~nJN̓7Nv:̞*׹;-ʕt,u%w^;en5˯ѥS_.D۷'é53vxSd]~$>qn+ԾCub\;0R~^sw31[zk/ ';wydT è/D/khӷV]<:^IWv"x)=PmHj>]ۦlkĩR7##:.>mIh%ö%rf=rߺ{eKO,}Gl|/'t SUMWstq5W?6bvyn\xaF;]szTi,;l׷5ݬ`R=2ZMߍJOiȷÍ]1 #%ZKoCq~' o(bV v ݓ$jC7R⣾N4-KvMfUAH9JGû$Sa+t/)-/~X6'ϥotc C_Z9.z(򮝘\'.=9*tc9A耻V#\:]RxόM<5?8 ~53L&hm͇UM~iϖ<_sCt$Rxϋ#~[֚oO9Rg<-ַ$pSUFۛN+0ڦjڦ3 Kf) ѸL;tu~Ub纐unqK%%!7V 8jꜷpgo^iqXl춝\4y>޷>5pʧU69nWXOB_[oG'L& ҝ7/>?gÿ/%2g AM5p{$T0ȮRe?ZROw9=S<8 gvuEY,F:!Z&K7 )i`JO QM TIEDx*Q$_fnt|BYGe*TPF ːR,R`݁<1cQHR}0Q2$)H*YZ(U'ۀP1Q0Q I b`8!bT^Qr(8D{G@ 8aJ&((AAB)Z(ZϏwQ'Wf-f $Иqo"YLGE* ; aBTM+V# hٔT1o RD<'cDfv: gj (RTS8,hRX⪮2S0`J')BA펑b|%S4 b؄~׀{Q9lږqE O#AbgN77@% qcIhQys6y(c_woUaOm%x L$$FBf iQ9KTxA='v +' |cƁ<? +J ;80ْxj?Xæ` 8Fx1\έSejlUJbtՋ${f L16.2:v2^ﺐI#? ΃,]fIAeaD4qef_uA>o2Ӱߟz֎֣mFtN0 . ̘0d;F矧r++?JdF!?x̫-{/;5}ֽ߯VZ5_ȽZ~z]ȵr-j/nϊ-j=>Z٨$ֹ,S'N>Jvx?Om󒳓&ǥ_Ib)9QAyO!*IE%#~N]XujQP5zQT.lza=\]3P2'V7™/mdz9vJC"FOu#G8bϟ?OԚֻ/_羧]^ɧ^OZ7UkHaL|VXoA" z|ޡ k@ar)Ey ҆ P,G8EYiyRBlQ4ʏ33ºDhi\iwc 9G"c?q12E~Pu@h瞛xIlHխy?9QDi2@@uz9?UOزȎDIv*p9'I:>B C4n&s-|HK&}D2JJ}4C"U@YT>iB]4^}<CO's{ɾ&`,:fMCPPxk& 杛vy7Gm۲_K> >@nmF'n0ɠƫf5#9][N/"R4]OZjXww_rY^\ϧOrG3ήy&7~1>t/A_OW[|Oy,9t^-<4S &sy"vW)zwPFyK/saʧGo?cMPWN2ƽ?yTU7l'/6},?3ӏ8}Wq~ՕPROXtl//Ap`-n^N& =Ŧ'q2mNtGY S5=&%l;rBqe>=-qfMvsH`LU'zEkR|bK<=MVI\ U|Cf  `8|}_'CI2$dsټg:|>8gw_Ӱ.Y١Ďz ,3Lf%270'nBR0{wS]Iw?.Y_ E~X6,Z\827<.N\Rr]]=W{?1W1b-[*Eay4na~ӿ^O*Ha9߉N mJn^WxWa9/0 }]RX&Rsx/$z3 φ t>B&cZД1IVB&p\7 /|:۩O^ wf%Ci9ǫ4|:h揞Le^wi!őJ :v|ÿؖG?"'? M_4:_yQ7WNcݓ~{J\>Ț'9ϿG( bcxqSG1y}ܴs2鎬{\Ά~yAӪה,h$!nK' fYJ|,H9#DTVޛi586MvйX8CڽQtL(ۢP;7ȤU@=_#q Wrء*Wãہ݅~WwMj!twC81۷K[%бv7%q19^Xk# nݙЊ71ϗ" ZFB >PPF%!"Xa \fsؑW%Prέ5 +}c3& V1zm 5]_k7w{pmp5'zIK7b`d;]wߟ nlWˡ\m@$q+-n,:R`|fqy7j^O';vۮ\,$>*$H)3Y4qPysش_̗BsJu(rzVʓRjeMN=t.4M?9=*(l^,mQ[tetcN^C*iFDe}6F$f[8g#m&yOYɽpFQMЄl/{p,1W'W56'Xꌷ#Y3hgG+|/S|Cܡx|J2<q&[ߣ"f¡O.Gx9#ȩ&|[g{CS*E00y<*ɠ,SL>~I2˝Ӝh_ߜVVg1rx8E-4&_`8ɲp>/C) -e'|DF8MS$s:i@=gI³Zbd5|]]EWy) ;N˱ּ8FrhLeJ!<GgI|㶘J( !tVr8pgƴcMo([7&LtPA2}`koӆxj4nHT!Q0(A͆ݘ/ :tҹ;/bq!GCl./( atvOsRܨ`ȷ%g2V,,/) 0B<)c4uҡWsCOv^&`>M8~'iGo>Cg\߈fcH=!fIOk=zqJ :@qu`l U4Tk(h4)FL@"'SQ?鿬w_/yfM?a}q1; p  &1 h#3"S1 M nnn|mϼ !4_P2 (h^DP1`9dͥ025t_o1]½gJ+GiT`Le{@zm)=cg= IA9{9 Y2 Cꓤ5èrS 8AtmrJL1 qeM] S!1rqIҘcr"@/I(^rCZ9YeF@?zch$wې^F"X>L!& ̖KJCMA#) B0N#aSPHbh$1,0AAe I#@Pl |hL%@PG Oks2'>_?5~E)8ÿJnetZM͉s&Ha f?>o˭?}3圷: Ex>$XU%ȟ ; `&:sOOWk-j Q%M2I v`D[m|ϑ셪E)?;cNٛ2Z7!]``@>r8[3>8aC7%Zoc.Ɋ3%Qdʹ }"$5W(~s xn! 7BOfSi$c.˘9}Z3웹o WlaB:tf0ĩBFɛ7^M90zUF6:Ǖ 58!OW$@K Fcun24=rXM6z?Sgu? /a:ey pXTE:wΕOGYoSn!>CbDe(lƙὓfN+s-z;؈]DȦ^/ W<,3Εء#;Hjsi>2Sv R Аaxt籬D>QF{ˤ̂HuZҮ5'O >֘)_ҳz Í~* vC#5tE+"T}+¶^^H{n:L0_ES5Trʗk .{OS}ܭ󏳳 vL|nBnuzYKVodpE 噷m潎DSꜥ=H$׭c)khcKR啟ƴ0l_QMjئ_ x L^[Ԥ(>Ry56zT=.>q|\Ptrg?OC讴E&>۵:-|Kwic{Sr8毹=4ӓ^LApu ))[7E*j^ҏ^#Wͥ{VwdԖz$}WhN%|W׍ Fu>>JO+߰bj#-Xo{<%&sH:^xQ(?u} ޕd+iZo:wIL~I3$X=5/iOsIclNU\#+ĩ#ۊgn9A%m&O{Y8#q;`"aF.ۆQ3LLW)mJ&+)*wޝHG DKFߛwDv06 L"{ f6 D̎l! ?γ!SuG?aE/XG x ɯBk=zf8N$9&)țz}`fcg;qp7O7 h'j~&60A (o ^?˄3-(#DˑLvknCW8=_i?nV;(No$%3:6Ke70csA61ܬbW.3Ж50ر-b315yD^R7yaӠv5f1I/}w?C$&3o+`7!iCCF,Xe}SݷهW)ŘG,7߷O45!5׎]2)H^^oyl*cv]+Y,gfB S21R1/ųXQm##L'Smsp|t6prKhެ}!pI3fv! \Xc"߅(K믪7MLmg2!kP6d5_"U! #4^fޕ-ܡ;:SXX 5)BN,[+>cV4N*|W^oa>p })Бve^BB ZB~xzWMcʣB2D'IU4;q P(nKH=2`&b%bSm)v6Ձ 8ブ#ZU[aGm4e<shdL B#I˩[=oٰCSO>8^ӏ@K5g's]% % (3v}XG Eh>M~߸OCo͟k8߁??'$;0A%1h%8a%}02`2a\w%'s ۄ;$3nokmQUE]&hw!t"0 ® ]\ K"XL;|Ynbn&|^ c1C34cFC0eǑLvesll-2}kCO+IX>w@'G g=Caע _~/Sm|r '\2S_?.$ oJlj =4V(_g] rRo*+rÈ3PL\ya ߚSb7I"3(KM? os\0akIgyf\pUj%I!V(M|L*9&ivilxěk9P3Cow7aFf??ncYW˃0E8YC[:q߂0D3ٛ'fL64!$ 7ݏ4J[4lܷozz+ڵ )?S %{Z\1e[1c%M ?qhm|?vȡJt  I8|'NGN}4Ѿ 1oP^+Z9ܬ:[_c8 uwuxwӞ5t0KPQN>/}nt檃W[o FlK-#YHyD,81DU_hjiNWy(U~mguTY{|O㸽huۧ?Ħ|`0KH߅@b@ BVfPңN(: pJ&,mp$"'yP6ׇ9q?X/:(A_sÎ`Y.Kv޶ŷC.n 'x?s(bH""""֊(*j(hJ (hETij'5_$B;&*)*j6 EQ3U HB`C q;%.;]&Nu'MVfu_RmHgowI~(b`xus J~-o_<_apA,+!(ܖMpUyg3sK`ΩM(zOA;g^n1E`)0{Vؕ P_vO43 -NFy.[㎽~??yCz Q?w6OCi>c{g/ՏRP8"SLxaD<@$Ӊ@-N&49|3}N Qŷ'#5ϯ9'fG_jkbp8YuRoADTAd7O/NI~-a=%ߡn gMUԼb[H ?具xJ spn܌C\+___^} %Uuo &i!@r^F?~?ݴG?Q!q $smqr\>6}ruߥnj3qFq6oهÏo)c~3>I۪`Kk]}݀iDj8BbF8Ԧn[tj8!yf1owcx߿5Ht?LѪ%Ҍ?R^8eKg5 N{Ihr͓b.Ǘzϖ6k͒&hy2&sQP\p&)mFʭ6悍jDyzߚ\H +˅0ibaQRvC uȜ5s^hV<};kW%ou8vze.W^0Ɍ JOuێ/M`sjU{[?ߧT90] cpL!7˔ڿM1.^Ŧ5[H"֭L̝ZT} /;^ - ZBt6o:SI3ীU#_u|Az{Ub+o3 s5ZTiN Xx˽8|ϷY1ziXND/ _̙Ř[(~PvOޝ/ ?m%/M}hV``u#5bo~ !?)'vYc D4y#WgN)"XÄ䔚IUXbD]cײeʀh-kG&ɳ<{~TK9As1Gyl=Q=m`]Ռk s©ɈQ5xoYZwҭ5DI^19U-=MjC9 ouw;4}~Nk@[qڵ@C4;Z~٣DYa=9 +KM[m骧 xKqe8H]e,%ai,raE4Wha\0=>5~[>],cyLvw&!@+k|M H3ök_wtmɀo)n'zZU\dwY\gSIm0Tb#S $aZMU *]k\B&Gady&ƝSUCM/Btd9LN݅5]Jk /+̜}u[{8НIrL?1x"-i.aa2O7ȏ2RӀ $'vt39g<9H-@ਢ(ݷI-Vnb\*W)ϹZ.`YlR7˕l=<)Tq i̙MS,_b |72u<F{fOϨB֖߾XSƵTQ6ǹ?G@ͺ&,/XmQ4n|JMh# _[q+ _d=%wwI.&7:9e5,A5,O{:-1iڅqF^["c߁ cx ɚ[7T3=D9rǓD.__9` /T,륚hƗ&)83,YL+w]ӳMLW:XvD//O\C :bH"PR&!dݵ tggl,E-~Ɠ^L|~mwk|t9}!59XoiϠ^~mg;%BK<=oe(i,X7~{-NK^"kr{EYěpܐ#)?^ҋ>{ q,EssF~ϝ߿w<[fiS6ۨxoGWSO?RO%'+Ŗ?6OY3*3sLkɲ lpPN~?͕Ym?ĻtŦӽJ7CA۾5,f+M̞@GsnM¹g߃y:KuΤNL{6iXɐLjQ!+Kۄ=7m128G<'}tfY~H` N³3Y~Jӣ a~/άwMدG\ 5;wON)I3<ÉmRl-[o:1[#<- (SnO265'"Fi $ %m3ᷘ6 d?- q|N{/j1 L#tѼ2rj}U>d&~τQ;Gszc5Hɓbܜ~Bn޹ ~\NnrE)пq:`+D_Hĭƶygl2Z(WbR9ڹNiPUqVxvκeM|m~Y 4x74RYSfViGbY( ژzGSydrp󂋙/.D ha.R~>n>z{=~thD3z\M襔gm/,( :p˃,q($4l<_ΙDζ]2s'cό[|ᎭP#ɯ;z|I,-+= ɂSė{kRXj֒$gyn؋95}5 Ӈյ)JLWC`dA^+vZmϬTdTte{r`׮ok>oBnMZAMRx'b?C6f$[N(LSɼa}ăg'/G/JZ(o :]֔NXWE}_>^Q&. $ح'/7::}CO$s]"h:!][&?Gu \L}ZcbwuzVV|GZB3طrgzxg[}2Gn6RCq^;wíQC:2sç'ck~2L;Me؛9ɸ]HK_Lr^;ۻ\󁤣BckWqݺV\?SםrJٗO>X崇jmed{flVD s>tN51NVzY۪J͓]l <D_Y#Bkb{PS#(5iG1G(WwԂjJW1p]}/E1݃vOU׸YΨi/&Kw-86M_ r:Q{̞d2zQH?˻,5ɽj~7o\q5^ rva'";n353Y&tU`RoZVRG_XHۦ^;n$kPH $.y]Gcw1_>4UleCݜe;<<&_\ͼw[3onT9'(?4zsO'o.%};~k5FrpѰc }/ed15ㄌW\`aL:u|nZFʮDà݈'z}RLtq(v.{(0T_nC֏f7v5S}hbrM'Lk'ӘְMqoǞrO 1Hyod/aO։\%LxY<"MF (InvnMB81B#PA[X&úP+iCe 3Pvmo{pUNum x(:JA`c vjF{c@A8tL*E'ƨQy79;#r|Y| /X#Go%+.3菟o y fJ )zӺ?:,o:]SW%M^|BC/%$Nwe)zKJ7v#XfX1@]7ZK;U/%; Gr,*ڜu'2]s}w1))<&tN!bكu|eԎblL7#ޚة([} ];ul҂8>W=Vz9` 2R>C_v8Hk&rdF^cF[ =&DU\v{ð՟շ~|_${1rhFBh@KLlYyʈ3MI[;m{YgUw8qcR]&:8ѻekz0HD&Z(g-FE94ƢmH.|s5*YsonIW12bv0;3w+q#5#7=4{9{;/9yZkRlzҺr6Fĥ7ѦOǗ2O=0;j\ğ>f"Z}nk%f8cV tYT xfEQ{'tڋqA8m/G?3*ڜ|0߉܉7,y菚LsCzcL{:?Z?Ý|nSaw>L̇&<2;9-=K 3i4W`ň\9zؓ*t(pp+}$J*(VLWm~vU?׏S%P-:߫:u3f#կ) A֜b+\)N=ɮ.2dm.P8Лt.a8Ԓ{zw}Kw|~| !Q-M7fwNUhN}]uT&FNj>KDZ-xg@t3?P@o^dK(*gû,Feͨ1Ew$M%0ply0H}*4L%'8‰듫cÎ"9}0:* h{9~"'JJR!2I;SSJK6,S)NIϖ謦JŞ6pD]$Pv|aRSKlfAKSԦ[ezFm H|Ffa'%(E7|q'ٺ-=*˗boq_h)67@$$t0r Gޥq.`wʒ Sڢ_G,]*m{CsbTBHL/~Z'>p+Z3:)H4鹫A쿭b >k9yE)(DDPxH^e!|on3jKsRV)oуS!1jCUp"Kň ow[ Lj4](S4xԜLMfN#)T |RmSW xtG72)!M@8Ĵۘ2VkA߾=?? b?hB>T)H2?q<<6,Yp`S 2A҆ӵBe('Phbvh7 ) gǮeIoY,`Yg庎Q䏫;Ngcn͏gC߀Nc*tۅBǫZFԂyٽ~ EF63 ٹW03MVOlropƻ8zwL&0go۰C RHRUBHC  ҡJ= {F'6"/$mwOQ0I of#,mRS! 6|Hf&!!I @"@D$e"=rK@?xd?@<!,Pm%8F&c<<5KDODp)Κiٔð䙭ǎ;}C: G${yLC`9{fM@hѸʹw^>F N ifjV'+R?7hh(v,Nt]Xc^lYYLB@ Z:pgB^?nT4˥p¿̹8N?!fp@ du7.`E ``(>so (wO9\>Hn 4 zn4v5n4 "P8Ay=}}CP;dDdNE3 rXڃ0q3N4nRn# C;$q\3U1UUTQ!USC4b*!5Q{( QRtggsq%MQTD *V@H$i -Q5EUPSLT`LU+UD)D@Exv Q&@FG[I>hHٷ[mW Ҁw#ψ޵-.*=v/oW H_%^CT'PI.`q F UTh$ }t;RaC~@a7>sl(@$nA2'#x\LW`(>z9h8^81 j8@xO'|?HLmo6we~[H yR 4$q7?G6CBJae MM Ii?L1M%EXT Z&k%c.Si$4U> e]Gޒ@؄٬"/>J@ pϭ$J~W~,~~vw0/o(j`XɲOO`jirpu" 濘}Ѯ^:9Ur( 2 .T. M?u<J ͙3?d+h$z!2z]G{>)>I(`ErnbmJ^h?Oxtpyg`[~ `0'hC=0_qm!c]"lM?y>^/ӛn?ҵF[L0MOIgoG2B^WSw N':[d)܉'v@2쓅xP;5'b,)T;8Ľk;&=.:eԋM!#d@)ȈL#PBY_lIb쁆n1<=ȐO\QW6 3yNDHe" F% I^v÷bvQm/`[uZถ-TW%Lϯa?M$0DI$)P0R! (?v-D(J)"_- iNhJ( `Ws;D+b 6T~' 'P*zyE?IadS|)Sz.&ɏzʉdudܪA;qn@$1"黶k%$-\YewfQmLAz6&jnVc-s@uWTc/oUbAKa= $c<߃Sm;iS p zkA}dwq<n0[lvup=i8(\ $7; OCߠ.;u /  GSg5*:&{&j|왽ba"WJlrHI*HMPǣJ3ԒR7XPX,Q̝x=amS{yA:pqu$#R y~vVwI$'cBlti$^3IGM;tn٧PkO@l8&#p( B8a)p2̟I?l'Tv0ɟ0ݟuyawC@kϿ}]4W"0Ύ0Vp p4$Nmvfq3al$g db=e[FkWRB#r`݌fY~ &y٩ 5hN Qٲ|Pxc0 $P3(#;_ 9nnoɞZF2{X{icp;/~bˆBp ?8~&I&X?Sc"7a=$N1  #5;Na< 2nEM&;ݶ|2(>AKx¾f2iy4T;;sn%)`}G|ܺ~qEy=0fgC M(7Fn^aۊ:}ݝ#>CV0g"atv}JpalM Qͬ6C3o_Ś{oN?XJ?< L~se6f0GUBZ'` P"T4:έ*e-Z*9;LMN{lD 5mLI ybza!!{|OgvP!D|5TK6C,xp4Ta#''^jgusjzlKk2lEd K+FY*[± 6rfݨe 1BH_l(%:pڢVdRK,U7rN{OZM)M,U+^Y5ą!ʗ׶l<sz&ѝj)Iv͝* Og*G|m)EA˜3Sp2aK|(b c~:^x JpBv Lg=Y_#0O'm"5rrz}߇CxZ8㲔#@6uaM*}&4 MIq-$&Z&)j^N5 LDѩHOvTCpN@xnmwlpc&X]x63 x HZAMcڮ0b!\ͤ7CQFa Նlӓfr.Y vI6ؖަK,aHǁ؋c/rqB >>7 ܀@,cTP>Tr S272wf9m=-Q2v9;=4DR Ɗp|gOI|xD)18R;8OY4>Ip%='ϟC8%6{:.!Ϩ6+O!l>On)PfzF gXRȓ=E%p뻲' .ۅ!Ck.:r`t$sg^xa0KʦwC8xA)6Æz(ֹ,Ix&ϾpCl٩k ަA~ 80 iZv?75d,avS?ژY3AN#z` ś{0?i0<{A&4g;tePGQ&md>yDMzOq6|eLfˆ@:|C\bc Vy0@^ 0< *6r{O߱0=|8J >#`܀e& dtTc $H`0CGs0:xMNj>lɐ5 C4Th֒l')l+gw~XrjU4vG?A{@ĠhCia?&:.7x<"l> \/vFj O!D+>Rp:2rC)!=ɲS4ysS6Ld-P\ `YJrqG!s\Wa1 }a19os;Vʛ=oL/,~v@8 AC9q $'p9=C!QW,DT[&ji>~#&;TՀpTʥ0'X; _dzSl|qX Py_܀>d{ ^֩K4~7:9!7p6C>6C%1:Cg6әMrpBYewlZ6T }C?xCcrS` ɠsr{Ot2CaXZ2hzkdYűy'm}Y26Nm}@5? o>Vq!07˹`fx+8kFkǪ}9sXx옫'BNV[Ab$?̲"p  ,q!OICdL}##/Pb5' y@<|= J C2ufG!o*˾= ;{AW0L!a2BB_C ͣ\-bv2;{;4dK#JY99x8wfwF@(eBeWdQLaV.>n1{Ar !ja.CR[7U:(7_"T*DX>()%刦/6LF{]nzw]+PUU6Xh4 a z /3kzPU$-@.tTU8""%""*n 8 yS19YoeK@ M'q̇ 2M11&aRfT9^V&4!U<ȵ'5Rp,, v]ch:!š5`ЊvdKeyT3;ƸzE8:S!8%}rp "wrv s7$쐅F$ЀPb^bspӹ۳]edd}&Y!G_Q 2_vWWUYWQI)e> ;)I-UJxÁ~C8v!r EScDʹfԿmކF;Ճ߄0ʡ/rŃul6Mc1{Nl] dԑ,[&(e9B vQ'y$  /m ӧJ805H! WsRx@hX8$$f3bDD T/R ]A!h ]8Bj<;Z &ĥ^LwAC_g NP]K6$I9Dg |O9-?i~&?0ZUkv'R^82;4F',;$8Ct.PQ5qa??^v+s:"GcċM{&xnRbO]FLf=b =LJ%)D+Lp(`WeYc9|!ýxCu%'0C $;;y=O@Tsf0]{{NA7GieIS;,e,8<̝xICaŲIx]b;BLOz[Xcˀ}dy"} FpQHE|A]mЎhc8uS ݘYN'1NC^BLmXNpPʤF6/at*Hc !C' 1=PEǥ;(h@̮ڎ:K Ld=ro C1Y~R5 h%q(=Mrz6#ޮ^y naߗ{RV_DE *Oy‡aPכ ;^{ _D\=>r!ϝ U̪20b`"?ekRdv(LA'I*~%G=揄iIy%_ylaLi;x'9086$_c߿}71U8c>>_R0j&sF~}6{_U21g27iQIh~87ۺ*Sl HP]QzzY;ѽΣ 9#7al+8pwtz).Ar`]Cyyoe2RQ2nT9<Ġ ۬Y9[m[A #ݻV({WhOď:yubS:8N4HFd>#*Ja6ICO 2Ih&&Oէ<ȉI*HxUQ 4}=?2gIG\ S3uANi5PPX2%g,D1f&wɍ ɊZIcO VP$DV2C0B$PN!#?J'$Nn'ODU|P>SۄĂ~}$aG O}Bl1񟆯ïVzm5!. 2XG0xOD!C/:Id1ā>*(Ԫjtʼ<`w3=yCdO>Ym~lo?QYxcNEtQPF&.B<x0MG@sj$ ud9Y~'Ü2 El= e(wd4P`9q?a2wSD9_Tj/z.8h?; ǝs ˠO+k"eP{MHCS67dCZ,,9 >9FLd#S+ @"HN`u:TruRD&?/cFZsq#}LB<>k~.ZU&ovG*M{Zf'|I(OC j9d S@'|`%Gv'&~ 73S.0Ew9UiESovTkcN`2 (Q[Íti&ap(r.a8?yܒn:[LeB;pv:pN>yrO)l`:/t,^4]urx(?h 'OpO!W缢tW" ;]Pj3w>35\yGOF3k#5ؐ;`v!}>r O.=ruDOY$ƥ=3C ;PM@!)JLG.0WtdU&fI>IeNPE:?x9N̸+M#9@ x`]wlS+CZDH#1NJ AțuL #6^Ȃ/YSZV@6N,Z!8eim,,ıvcρ"(40b(I0&\ V#v6xz|' B 297f$].a$6VOZ 0PRL4)A/k!H8!( |C/8\SL^ VucDu27~ys%NڙW=ʽ^"=J;>@y+."; `aIq6Ŗ C7Hg=#19]ws3xW }cOx/&1TEX` T6"?86pElЋTQ"vD;8,$4Lxd;YoD~f2ig4i3Z:ty?_Io,ѪÄ8 5:u$8OA^RA†P] o%UHZ">*tŴi]t~)̧nv۩v];;4A ݟ,Vn'k J2GspdP3v$s͝Hѓo 5YSI/iy$GHh^}p{Y5#Sq.W/Dzv:P7- 5Q*}yy{ "x;;f4!d*8mh"s[h5L04ͶH,mRICqӠ&wAcCm4CRv|y}O:'tljQ(R0JRn~!=1G;y0kI{a=wok(jrqn['j^t6֏ՃRW)e IJp'AC{ƪ{a?nzp~`<2l,yô ?*NAߩA)ǸM{<>CvCٰ~Ϸ"(xg}|Fs4p'*D5Btf j~14&`3ܮ1?}CppSkN^`h>c Y,\aሺ7pl\fm A)`爏-  puT290_[7LH~Zϣ2c5O!?. Sˇ>'fQas0f '3oNJ 1? ͮ3>b $} O0>aGPA9q:6Z8CyJ@zw R?O4 gD!ԑn\foZ%v!;#^  MZ?p*+CѰ/|Xc&\A#$y\=Y0Fb M ߗ@'bx"kIчDa3fUV ~cbƍ@cr/ޚ\@r59O{eAQT *&ŕ[?ʞ͚kNn b B q|щz(=*-6aE^b/nX=xM$DqJje0 8΁5pyr`ff=fc1L/(p,() }4 q;n<S÷݌$NsvP$XL!,d Hu} ~#_x`6fE5.1s ??C tBɬޓa(FnSgtNd @'0:!rx껏.$;4yyп7z>n D=($GCK/UUUUUj$P?ؿ=b&~,/"^LUR.nZ6?>RNFgk tg~$,$-',aLFK?]%?k^}.~^UU{zvU{ I%lB=.j6j0TMI.6&"ZH!Og^ʱr6 Xbmqi#ƞ$y֢5D^gN>faQy Qa.y#Di$ 6rc$%RCVˍ.LQ6B3& ,*d2,qFp2@7ngS4#{ɒd"W㒧8^R*9v []h(jSBHxJl̂ (y/w\ߒ E h.n,0n&acĄ4f]>3[cВB@Ev Dk JQ3?Pw1}u2Y> @ov =XRZ[ڕc/!16 1 i?Z2F! XYOoN#uw)Ϸ2|)+h8n44۬ W5 a3HNGa 2|GnviypDϟwO>L,l!l[jdӪA3GHs&v&݊>ȡ7/>#lZ]b`9 KzeFR y""0|DE'zD޵dw$$Ʒ$渒K;L$$渒EĒII5$ֹDFiZ=Q)wZn0bzk瞒k;XhdLe&d`A⦄ׇ/G "<Od ԓn]<rh;P8cm ]nnoJk)0sMidk`|x9^~aW:szm=ySᘋGrkN;ajJ1߬SC1EW4Ʊ7EܫixdW+rtqictںεa W R3[@ǧmȄ'h0v&:8'E;CdxK>ljip1%& b|_!{ SE Q5$#S* g!L:T=ͲnN˫玡siThX0wpƳÓ,U>seLn9>I;;?v *` )c=zG1d3@nu,pL8ɘ2,h}֗wR-<ľ!;/o./Z|GpiLn%8>:IJ<EOwz#ǠGw\1HiCJA' M:C`cSA?xn)'(cQf.`֘z1cX4:ωE>Z:w ĬM\CJx1f,AAH7H$p0fiݲ` ۃLۻ1L.c@#cDqla"J7Gkv Pt=Q=}M[J_-oNP;۩KlDar :blrQݔy".^o.ud(1o<|rսo jM2'ƇDDI6A1015;pQqey^_$cT09.GnCqRIRw:Icq;SزvmHd9,pvlLws!&pCMho$fᇫ&*9=x{;|9QE rk^2䧍A{@=z"a" '>~xw{<< be\{NY fXrՌߺpɆy#ps}:< v:;=|cGcFS˖h7907 q4 qbdzguaź1՘т6&c!? '3G>%!kǕs;I.pUwM7.lEDgRqFfh`f\F`g#61/7 jYy Жv8@@$c&-OGC]ۘQ uqM/x#i党,CI>|  2R(@|JNLRя? aLU? 1wtn EAUtNaə_0UVUt;餖oYNxⲡHD n }"G|p9IEH0Z^댁 vvߞiUeՇt` WW;ԀgjD5ԅd˘^j"B8A)q0`\Ω޶$L}Wpui\nh$=tc0rMЋm[x4f/,+ϕl{=U|Ѥ8DTߓ8<`";I nIn7$m =tR*0)8X/Kޓ65`-r)e=P @h*ӫS0S`dQ$ `T$7CI'860,n܂5A؝(ks2Cs6yTphOq^7 g:ӥ<.;榜ԝCdyɖ#`btS9ψ8Ǔ:]x;~::U$/7BqS}1f`k1iShpțC#eUDXMIn153W{׍M(0Fr(9Q9!YОSVB=QU̍0PS2+Z3 -~jwvV/q:A33}w{:aJVs:roH۔+;kTP}I3&i0\L۰1`{}!$3IUbcp.(=8A4z0r0ē{C !#ЁBT ðm9wKxCcn:.FC` Ca9*s1ƒ<TN"OlCdA.:"e;Ɠ!`c >ÌSJJ*'Hw0#ۺN C%x=#pXr`XTb[BEJ Gǔ ,"z^ٺ6C B l0@ ӿ-"tr1ב˴aV Đ* T*k0 vl,;FfKp|4LkTnmy@xǃɗ%LX:ީ.{tBМw@"sc%i 5mԂn_Vq)}N"oNA0k$ayt3OnaS#1|n A҅Y"tI@ȘtnhgO~}n{N A/* ~=3]C%[G:)R2ܫ atmo͸jsλ.M9b̴{T*+CTAD9bHf2\N SIMcIzϸ?ޣ< _LPlC* I ARVl;Iɴ s* -& VT6h,m+\)WYbXd(6g|R:Ŕme(Gj <3:fnLNߟwT6RR" >;aWHu12Gng!w僴Lv:QW3+DyX:%@SCPAěKeE:*/~hqG׻34 UdSOhO?7x;DqTQ2E- sd*1>:~TAV ?5:tWiNԪ@LJj2;Jh@&$CPJ<]RNt>R*{83@205 m$̇ 104ׯfzve)S`Mw9 &IBb`šH4%D`DZdNw93N-`9̤atC6;tE:Æqwܣo'+i0AjT: "TaULaSJ?ID@9*UoUUUB.:X.ӭUmH9! Z2s@Mc27K@JFh8iaH8PA:5YYkVP4U`ݍ$s֓[ՃT֎1'ZZ3.SRĻ@U`%rZ % ɉ5lLHk T4a`0=vƪ7;BJ"1nv`]Kp#Gw9эf̹,:R P Sz~r:F;os72MݒpdBidtiURxq9:"r4CMR}Q`t $NW-R"1]a)79Su, oZ"cj>uԕ?.B+8p<7H~l> aP89+!_$(4,/N$)˺rcxʜ%ix9 RO0-BM %D LDH!TF8'C, JR IF\8?ǯ_l>uo1 `q HvqvBS~e&&O) Ǵk<"LQ35J3|L»Fwrs;bQHڰt(yA" &ck ݌n0&4LAOos|y(L; Wǖ0@ B! B&o..1!I^~#M0)i\ߌA (?2* Pw'Ԝ-G9>iSht.@6@<53$S,A ҭ"SIHTB$K%UD1 (!4,|nzlHNe` PI̾oX[6u !-^C<90 $gykkVy]*l'PPA//<Ň(ϛù^RjH"H|_?= z?.|ե͞WQPvqZ,U.9n;5l4K }>Ǒ;8R6QS;& =5TɿqܤqQ+FhX"Ӕ`f(NfG߇TF1EEDGU\3rBTUU,D UQ[?g t%:.=B$'- >g@~K DMF M\lP9Ðhh3lGto*ʡ|-# 8|qGL&[q8D<M)Gt -8~l ܀{~` <(}ORpɼx8Mz&a3eq Hb_HvTU @E#= -(mknLpq`҇=߱-FSTl6 RhNh7.d'Lz?'NPLFB8P|ǁ_?D$?sB'w~{K- f1h~ψ?MhMbS =x@p"O|z%2J0$Q4)_$Ja""bbX?o&SIFg'6 PQ S}hfdE*|l<1p<ވ4̽h5-aX$&RV{6L9 f>]Iz=᦭@LV͍`+c+ W)X6K_|y]{ߟx K 2 * h-/sq1O5$.AIxBbb1|7~G,1{1$ah3,j"<f*QZtQT"<‹RFS|XaR/ˠ'%4ELSI@Ē3Q Q E8ڟaeXP_60ew W-vfW mߟɂ)4D}M1PtEGJ^}$|X2*ۤH]Pmo94F]% 씼~Si|Kc'd`(\CH}3WH)NAS(aA$HSN*B* C_\(aynp"RCZ$$p!ѯ<Ԁ#*(zb"*u[UD '!W$EfowHZ6_;e 'j QżU[lֶ*UfUB7bљjZXކͨ^#N,՛YF2c^|b ̩`J(n&*''SCIhϖqpb*VV2q­曑ZFǗ4^QUj<. s.JFSLEz"TYR+ߊ`x 8c*0덿܉:"HػaCYR~cdf]bf,@ig_Yv&wvF듛IZQtw!$KZ5/-Tn^Ynx(\-BYb=]V*/èpjɷ$&xA ט?(>uC3|s5!dRj>>H+(rp=r4fӺ6dUI?yjkpͱOmfq5> eHEY'q06p>n `i׀8~ 2ȓO@zI'~mff2OPвBZ"4$rᗇS'oOOsGϬ&&"Kْ dXm `IrKJ3{'gFZG26X+k2NIs܉VФN&QNyg x) nljGyfNeQӂc40=?23 swCwowc,i)ֵhd )ɓ ^Խl&Fd( z7}׊y^Xs?Ϧ0:c8֮ф~/AD=H@>p|abtct#ylqJTRTg. 3S3j)[Z u֡ր;$OϲeeXei/ZiRDm8}0"B k"?'`yw>s!C~L:{vHəgq>O>2 Qai.1s ̫3us-/?_T({CPq #Ux@'=ձ=R`*~(v%=r0$(ʢgoAaKWi0C$Iӷ(4}1?Gײdݤѩ`TvpP^y )p L(1]MHmv4g?+&%1$i ) "iB ꑤ)  RP%Nмtף`IcB3rA$;9R#UEUUUTz  ZH#/㾿/ q* pP(T,r!KCh74=G Eꤌ Xg\aZIV "Nʚ!HjMup$}N>{@ CD1h= Hq3Aޏq342<Ԏ y9SN 3WQC~a$Xr:Z7gv;vJ 1&N^c@PdlD0hCUѭn6!2HdXzt!RUZ ZW;HB:5r GkRMw-Lu+ic>c}gqا޾̤Cdb )h`c1&RQ4G]!3u>uSv$e[!LtzG_auAsNl{6 OD2U%Q oύuÎZz585E}2(!CE4$eӹM}D]HnS1gӸ>)$f)C Qd8`5c ZX C@/)RQKDZ "m;Xk6,,+-qMd3-\3N^8&A KD[fwNz}^gw|{{b-4lU#w%N[uyIGʱU_crGF-ƶƢ([-(Q/1 KHl_G!ōj1>l]8`xۋWZ݃HT4wuw @41=4wA2fQ8anW1v(B ( Y$jM(gP;~"0(a m)OJV Dv=<"rW .@ "qT$+SL6 u = fI>=R?+gwZnjͮ_U &,JRI6uFVB'ǼwLF'@(2Cs4N٢Qy7_#gb 9풌Ϟ%, B>^8`pgwB\*GWk m&`2GFZrN "!%d=: w|n>6 )+4CV#BFӥ*$82A51i ٩dCh&ӟ)y>dɨybl97f p"ލ.HFiNUl*Sv3lͅ!XO2Fܒ4qpsHwv$mֳ-S&]fi4uKy^)WT-\qGsW q\\Yd) C( n+FciHIe!6" )#r]ݷrrf櫙Pim̵W!¥eUr\Ƹfa23 qaF5rKY$wwr[bHRJI$%KJ$qGrIwrҷww%j]ܧAF1`2 h)$I$K$IvڗgV@q4$ Ue+mm F $rG%:ܡ X$b,㠕69e32eG`K}aIľ܅ΦbT*R˖\TR8%=n ^ЁQ򯏖^ I8!C*SN$)H d(iee f(G$&I2|3vȦobrMAȆ{PL%|]w0xo x<<"þ FT_ hn AEd֫8[LTYq\t\'>_b@*!9Dhs RDF )t !H (ABRM/$(WbE2=.U)e'X FAIA ?YLK]is D XLrؠz bO"<%x`!:Lb8;dW@oMF'=oڔa 3 @^G^فYLTdcz v } ʈ"->19zz ٹww]p7vc-UGv%ClӲ[סH@86ON>.Ear9AdHM0&蠎0.\u($`|J}VW,Bu2T_#}+ъSX]84fK8ɂ3b@Nrn!m{9V IPޓHݦbp˟<$ \:ВIJi*HQU: RUl7BHEWbKTИfF.N$^Q6Zc0*2lܔfɛ+"ZUoKDyw-Gp,|eyvd0 @A?7vth7ISYyɔ֊uE9eA*(=6JB1TXKJz%sgy#7H_[8\^9Νŏm,VSU^u!X%8Mf,6C}$.T: 1QᾖC,dw ]PQ\Imdu ғU*ZI0J*F3lo8TԶ`shq b1׻ rjBҺFCĘsGJJMtSH*Iy`΄yP3+Zw6MGYV,#rQH#hjd ѪTD T:uHPQ.#9F$P8d(nΛr Fms d![U$b^/TbE]ryU. (Kv#iEfF$UbCr# YBGvPHT.QER^Z@6b6kVݶ&;E 5 wz]VgrjS֩" S#GLN$Z6fI![;qyBa7u-qMs1uaF`:uڭ PY`HkQVyxaSœr;r5b 9iuuD F{VdhXlYxoDx-a=^ƾ3UT2b)S eed*OC `*졥M J}c"zNy c0ax876M䝞IG +G`3sΫ.'3 1 G~5ހh_j1zm uuuE#j:K`wLvfA$L97l6؝'AmO ּsk 8(P?%#I"&&+&[ލH_ 'TbKg /;"% N 5`eL_F?!@Q[PUĭQ ^.<"|q,$?O׿'l |U}5o |b͆pi󨮰=J/ ,$S2]Iso,Cx9$Vp15)~[wt:#`O}9UDL(fT^{Ѥ2sty"ޜB',3x=h0 W}aM=F5bh &3[$={/0gD92fH)Yz) 'K# e~"~&C&g"MUˠ.e:S&>Dw كp/nl:|#Ecgu2;U}?gal؁7H M ]/_َ]+\֦X]k'}zVa>zA/kwwnLroe2Ș92~|?gK?*>܄dŪ\3%D&5Qv.q.گ`U=mUmTSAIzx?FSy&ol>єExjYlPPJT)A D F)ȈC&RUU5$cH|a`t`vM(A+D]@OEtД!PEMD#~9IB#~NP߫}ٶ;5|9鍄|p<ï]f,IWr0GS0ƾfm67x̦TA@Bi:ffJD-)A HPQ4UIKATz?kh3&<0H(egp'䰰XH{贇W|#-)C1JQY>Bv_'~{[ D% 0P?+2xQzHf+ r{g7}}$*]ۼF^M Jt!d2܁>HG&us "'ѯ,3qL2z2Kao`жB7/A<}~7`RVoLOO͏_Ѹ$vKN }sH)=l%a {z9GZ6A8zȽЄ/ҶZWk>g;yO?D=>8hy< D{ىH'$|r{c-. M }.e ~PS%OVF7KBoʳzRrރSmT"Oj2c34CN/Vkc7f>KV7um\2"By庛ʔ5c VOv4q4f_GPﺇ1m0%fΉ#[dCFᗏLo`0D(Єiژ ==<Ȧ);Nl,HD0U@XYhBIz7̕2@V= ۷`q<0IAIQ!8s;F;1EC,>ұ.Oe ܇_2wka@CU$HfڥpO(7L#1l(9BSnރxj).l^ ,f04B?_#9BܡpՊF.z9ݲ&HC8#==O"BS H b@ĩzĽr9;@ `㝗̨HyuqxCV;%tɍ BLo4Nhw[BƘ#XLF{ T. huT,7 h0A1`Xê"Pr f%H'|LPc0ׇ^+@U+Fip}wwc1^cH Bqa9ꉇ#TP4{Ӗ daQ.l ^юSf eܮZtfD:*{we0½'oXr'Vq<><]{db`KcⵖE1Ek'cjRX|gR p$1d7uT gZy6I&fMՁݲe\DzKt~Ux+bUUV}mT#:Rerǽs]W55*m4kp⫖PqɴR. GUnU\R1sjkPHElO_wY[#9(o a6lZU؋*( %M*+U9.QDV:^nr^3>]w" Ӟ AE69FAKj-޲V׎|ycN{WbX!(I-=9YS=c$] < y]uǓRG}c8>UQPkѧnsٰdȪLeFprtb5)7XQTX{_ ݙ^NkLn1I;Q\,ƈLY(vŭG'NGξ4*+Т&xfGU)/m7֏c ڧ5i4PPU,l,B;ZRR['a&uef>;ڸ=L X #zKt90$YOsBp gU 1Qy;o{-k-6bZ1|r}idm=YZOơόynK6gD3O =omۯsxNYc iQ<뺼hmr EsUVz-b8:QUy]?g* hPTнpգǍ.Ѯ͜2j%VQ"+ 5yu89 UNUvbۋU4煖5}us丮BkՂ B!!$&bd#l8-v23tqEuiS"s5wtWb!m{d l+"lI>tom麢rEv$Gz$؈bܙ$UpC;3h+k'Ű%bedATaڗtRކSv  xR:|櫺K9c;g>Z-ڭ~mt5Ba)T4gg˚I:(6UEEq~ΥX17&Yڐw|e'9PYߗ~|$EEL\6[tb ʃPi@E |-Ŕg/SEXmso3g"v暮K7`1 JuEz|zJ|G֐W=^:vGc}7(Xh ׍ÜQAJTFe$kUs)؀ϣ+;AC%wZ/PR[V]L8\WyTWǞfTld/9AUNkWPGǪ:eq =7g=KYvPZ=*tydAЬ_J3y#SH7o SmQڪQj%菀<%?eE:@б'i+ Rrmv)%ErW %L433oIt6*lm")ybLl㣼CBӮs >8Ajžk-f˂-LOQZ&Ʉ(m5eQV-gKA[akF$Kr_}Rub5^jk-FmE^}cL:l%bq<T9뿶*QMV[lvѲ 8^M!*O("mya+k9 ڈ@B=PTqadtc u=ܭ| Q\"ѹb!ȷD/v*[Hz(1D+RJQ;d%ceϖ='p9IBЕt,Hl;rA(BId,Wt0Yl-4VxW'*3!SDWCt 8e2o+{3b66z5BAI-d4-*ZY^yaƮRllkm/W -{$ ^˲ܭ"񻐴uj#:Lc[r._i֖ox^j\qgG]5}r ѫ"wgzb3c8\dYvXӮ/|k ;Q0QT{Uhc"c> L]$wt wƱ,$fAJѧ-4]g(5JJ5'oJNLc-ӧKɊ*2nf*hf]&yuD4 !a.Жzz_wE[cbjUOʽZq¸^YyCM~0V>/MqVq?8uYUJ/QD4+iaGãhxꪬ=s2:C::T q %zDF6 5GPa&1i[Z LeT*%q/Wꤻɣ(g w+}:)m^yU6jt\dcTΝETo 5`AOq|/PQ%77ky[#qsD\"d#"(ފ /Y5W)YW*_g; ^]]#v+Ζ*AU8ӆ 8Qcv6L=HU7!<5Lg=i.V3hj`o\7ɝ?I%;y:زǼ{zQb-T0f{lJ,Cs^h)SƒFi9w.qx1;&Ch0q7X27˪kvjN=N+:30;/CcQW wt%/ /NQ]$*Rҡ#VlZW1UW7BѭՕf*lJUSJB1̕c;TY)@994)& qGF.A͝ٸvm!L n#AAAxy<|/-`z]D-Rt9&pPLY6֓a^I$;z \֜lPa6:~tAXAXYJa5eQT-AK(J%֣d&&PD|DJ<@=0%; Tx_i"ٜ$aO/n"$rO-n2R=_ܥ OBFO=aZH_I44SLAE$D1P v"~/q")"P(oD?L'ꗸl~år؞=B BGO A( P*@=3d?dަlG.FYdP҄45,ha6[e0+7r3!͡Et-LF1m`o*\'Te, I)xAJ ,9SJi gg|pC$g^d_@vߣ0| ؋D,"K6ļOwy=l. [X[AHGEC-O)>;Yi9Xzq@w.8KNnh^WUEs:'KPf'vfpE Se6O2Tg>uV*9$ndtcGN mφbWścKZ>=.0vu"2@}137Xp6 U%+UXjJk4^UU=#zʻjsCO}\d[[X>ʷ&d>hJmoh78v)urԉ񛱍%Ja\/2xuUb鿯ևSIW <6gOgs>xƘʾձ'C=9҂z}.$|9,:}mot|W6AGfï֋=]O4= t k'\eۼx9Ep#|{?a 駤,#2qM-v @zIl [elKNmbL,ڂ4ߒ8'9z6#bfL$Yd=ZfZL)^fT)( I&e%R$H C {@;>fClU)CQ3H5@)+1$"Ne@|~`dPBPhY%IJBTjVXWxexR?M0Vǩ>Fc|E~c9$hۊYR)NG'la C-! dk*5u=hEGߝ4S U)SC?ճ*xfw'2ykR[z!dE" PV*+˦gM֔U$=;"i"f`&։i٤Yz}4KisCK@PuQ bi6пCŸJ!>}&u1@'ޞ^,~Jh& bAAgs,,Y"Sѧ/buUOM( XeJ\$ )F^,zb4eϬfs@$woT4bB4cGط5F D۪s@@tO ˣeOQ4m]VAÑSN]_Y%*$,W B 9_!{OOXNm@g;0 C))F(Z"x./*Ĵ4#N*#+9S\LXi' 7$MD&PJS Fd !A]B6P'zh ̉J:u .I5nr6RY6RV>8΄ak֔"w.M5gKBQUՠ/HjF"&Wjpuc{| 7;8X0hbHǗ7moFѬN`wnu'( GO-b3 PR4LA$LMK%Ձ៉=H&C1C0AP@4$NWa4 Ɔ A&" XP' ѯ$=Gѐ=x:mFtDH;L! A1!b>Cv~__{CGVrQ͓]8>\M8'd@yb w0?9_->`dPبjQH4FEUqc6E"D3+iF 2G9&[YeݹyA0D.>e1 } { WH L0#ˣ&U˜'%{K<7?<{1)1XpS=>$|AW-?D),BA4BG~;)'N >A< ~USO5(W%Ukj[qNp1R V3U  WŅ?h1R7nKKb٘UE IkF GC4Y4u.~(0B?lm=:qew,:>T D>W5EFѕHf*v2K~ϿkYJ;Ԟ# 񟴃dNZ>& 3t #Шt)`4ꪈS㑱35`d&@B$3gUHE<{Ukøc1 HP+HRR4R'!ԼG)2<" bYb$ &jH [4K08n$QM7bE%:[IR9Wwޘ8&^J`+9rL]5&|1M/XxRZ/E~){Vk\|7W7Vj:bBa+C&QhLB 3U4RT1\.Nj:1x;f=[նs3O3ZH]qu^=#뎻 ;"atWPt:O/| 2Vs9N3^Hؘ휕-+zX naҥocW~Z-sodm1sѺ.θݦq7fլO||A'Eqe !z Rk{{KY̥gl0ڦ%rDrTfseުhsEWvAwz;{$wPG!+FKƵW`!43|Hv؋Cc",J(-V8\<[K5U3\&Z-U\lv*_IJH؂MQ4)Pɤ:*N4 UqwԴ*H#)L0dIv6aDp:0Ry#Į5jRC](PEMFz +)֒ˊ*Ѫ8t~X&oXp,WߥVŤc8Nec8ZKSapFۿ9qD"ӱ؁5g0'f$v2L&r9ѫ}kϵӛq|uGO.c$/xQ lQG$G)볒6rnR@)y-뿒okvucѽis\:g,1xl%%8NJN( RN[Zk]sE*tpζ6qSl`x;q!ybьʜ0|z~TJo[PG4]vO"5P!́DPS*(I*G[@|=8D@I`SHE 4Y >g6mLQT20AaХQA9S@[ bfb"ŔDBRPA,0hpQj B'U0U 2}I0҅*p7x80=*R%4ARQJe @Xyv5~L)ztÞas 叻d*{$'; 4@訽r 4͆Ldj4M $ y>+hWfWցs 7Ӷ+bei2 I( v>ğV 2_gSmjbcjtHahRħq|Y4dO#Ʊr2\ Jk5FCF ՚ZV{ tf 1q*F;V:i%DX^Ң0CYUFɢhҪ5h!Q/wf' .^$hcfQmYe*1&ؕFd\vFCzD2Pe;떷hpgR6TYQ[sOvMchI$!Qk, IJ4=lh]røi/b$,\0ဲ hsD2԰P+G=ݭA#>}}5z b Y $@R!VևBQG /U@4DG!x1 Oo!%b@|dI18 IB#wq NX9^G"ww?YN!m D XLVꩳ8% lfPOk'Tr|7"m}*I;aC z3WCOy6A upB*4! 8٭N%2vS4*Ba1a7]ی訴RO]:U4nNCYE#A8`Ӄ $-8W!OCTPusCIE.?W X"r &ܽ;"-*Ҩ!2 4 (H,I@yd3sJ'Tv1 {8Mix l!U˚!4-49}=^f4FqӶ˲ErPDPUѕ04s .kD7IYH`jb,YC(ae-! f=3dI|:Ng9].1I:&ȏhv7 "1 !JeOPp%$ JAw 3aX|iBJ'&ev_h;-ӜI=F0KިH 1\M$ `|xwcF0av>({2 -@S{O{,Vo8:pJ]בUsj~9F:ɚCOC,B2 f}a Y 0$"9 CN!}bl]@}px~Dȓ!=m;"ȟ-ayC60 f/y,0@oLJl~ ( DR"qSr #(8xɄ8^b} Κ%"v@[&/}ݓ<>ޟɽwR'@ !fq*>~;^XCەQ^6!2QS8`i@ /s{vZd$P:T/Z^}5 ˌ؀EIk2`D/.AQǻaO7-mVѽ2T7Zd|p…,uTc^ݥazB/a@qjeBl`{Ԏ1XrrIQG^@)t)@КQzWP%?@*āB2^`۾O`$A SP@<S><~ӑ{dz~>w(r솪>IKEL&S #RRwpAXTn,rRlJk'idѹ㣮.̑Z ؘ`4rl3#L)wwA @ RL*D'/~b@# Ǘ#m b`e7r=#ZBy1 aCM +1R0;RpP{0gm6Λ4L[lE!^8lNrS J:A8QQ%(x@D14jdO @:CI!Rb\foA"%0@rCasc̴!IYB=t@/*Zx i@F.R[6혉B1mtE5YHl3m )ĝhjHt[ df0$#t m03FVe"TOꦃt&Y)E &dNY8e.YJ%X˅9sw&Ap3!. z* wWb K"0A,r&y8|"P9I3&X@t=DN $Z6 ![LqF(ADA񱳩II|:1"IhXoh5cT&MDjC Ӕ!D߃N fKt6 F Bi n(SrU'=ة/a=%XZ#Zo@g 7("(sgf18$x&k8a^bc)۞=6:K 'tb!31 QBbD(D1 Hя 1P8ũʐLCb*5H,0O%yBC :  ^*6GnFb> dw H`1@DZ ${'!—(zT@'R$L>sb#Ys V頗;jѪjT%"LQ? ~vn"?# @jz>Ro"(rDT`)8'?={_y (@b O w 62?~ Y]*wM24%R\iGaK!fWHhJ +M XA՚ApGyLCb2BiaW჈LqA˾E ?8s?E.+AF%cMHBj6e2uQ!QtH*8#uVzG>Tx D-7GG>nnHRE%I(Ҟc4i\),0ԣ nƓUp - 2ahau<>%h 65gM$kQ7`5Ѯ#]h"</xB̰H M*TPJak퀶XLΓBYӏ_AuX aO*h$tn׶j rѮ^s&Cb9Z#gW}*_Wy r CS-Y @e {SMr&$ pSDPJ@C*g`Ce14Q01 ڄ-gR1lu0:?42M`mCH0;#B&g:geTД(tf`Kjfz蹤n8aetn2H [$ބ}o915m*LG&8Ȁ "1R:ހڂ'GzqJ`s4N";? wfv.f= y$/7Nr!<>fx.p='hNvMk ޣ]؀BC>LETM ?"(Ms0L%Cg7 m|E'ȏ.?t BٰPo}Fd'@Ɋ&ށH$~巿}9Hкlᾀ<>N?ʅغɵmC :IcigkO"O1+'ܿA@1'nnE%ٶf?7Ϭ,~ ׽< |/~h̀pf²U0`3S)Cpݳ^^l+ѸPvKl *'ȠQ󠄤 )Ln82L Né7{ P/58]K"9>~24 }ۯ_gXTxç* Y~``QbM!8=7i& Pyi1ďd&3nV|@X@Nisl18N{^gǑ\N)E:Bz㟷(ipy(i¸RGL ɞ]y0Cme 6 ՛l7 ZrFqL)\ĊV!0a$·Kz7hTlrm,`/zUagȞux|Qu빱[4CPb f_@j'G8_gpQ`6 0ɅυwD I?'2-`^,2w3t3ts>q|:!yvWlSL5DE!HSL2d}? ij] {:ޚB/> e5[Da謽ϓ '>؇@󜀁=q!;cVgďn;Ô izA386%).9D=m;c53̄ǼM5,D5jVAF!(B}~Ǒ i بmnVlŬ*8CMMPhޱT.R”8Q1#Lɠje@GfZYHCo:b&`I}U1^vN*_6bǬヷ=$(b Fiy&T<)4bu4Z332R4PT0UU112z52S4]SAEY$@A-J11IPCSBL-4-Ujh5Z0DyjK#h(*}X(PVwh@QMPPZJIؠ)4{T44K EVʙоIf+j(}TB/ȃ_ٰUB=Gx-2괚K2+LJg{5cn\"k P+@ -)$6SQRRiY+5{ 8Q,`U0REDO`(Cy(y|x !WPѠÞG;=tA#HC?$|dA B:JzдxJh(ǝcK'MHj j bV SH ”/U@B`rh"C1b9@L0uQ E@RA-4AK@%^v9!UDKH`y /q!x ÷n&+G}:(|RN.a_7{>6*pTh wMS;a>@d/O.ĉ[JbQ pi..)1 +1:[m9xlw $ Pt?P|wgӡ`>Oq,UXf&4b0۟OO>g Tgv'd~ ݒFIA4;$ȹkط,F=[ VAWe'"34h}yYe>볋7<_Tuh2Iϔ\}Lb$1 %X`_cҩ=*9F Q(&YPC̡. aB|86X=/"˦מug$k!Cdž{ddh~AD҉;GwNظ 9Hb_`p0~-:c td\Jo›.-tȌ=A.Rިo:9Dy_QL$Lq^N~d;^hM`5__tB!^H!e| .ӽwB~--aOUQ7VV0<.MTŖ5%i ʎ&XhQYHe6.L%iV$QxQMRM&K=qu5qVFO)8;BGVtk_/R=verX:6N^V~Tkv=WFuwR޼.**l@.0es}(u[tkteQ^x'D~ 0W)hk_oŚ!x=_M{N|tn8YQ*GkuTʼn&2+slXK'xWD8ݐWg^0Geb9^3WE:ٜU]nۣm:g9APLP,tr¾9+b)i##I+1$/svaѯ(;ҳ^~yj +r5B [(v'?k @g$g<2 K,#_~iP>@ICۈq~Q64lBp$?RL燎19o=HODfQ|G^^}pU|H"Sŀ{,,$@oql>_O%6bf77oz&:e `Y+ɐ;8Dz hSp̉"B✡;M R'4+ a6lhU~2ʱ:pI3̴SA0@AQP$$d"Or$xA.B*y{DWqTl;qpm '6HjQ@NaQ(W5יzGWH;z8nm]%,Q58yA>#WTi,; 2<;'A NdX/f 1cYu6 j6t׋5:{bo$m\{?'8pJ3#pF((Tjv ZAZRΣ (ynCe"/Am1%u(`Eq !aaH4Ъ`Ц!Mb L(RT L5E D$LД$C Q' Q1542ID`&$ _; `8pR )Ҍ|΁S6BI /@'jϑ v(+o2@BɉOh>ۼ _G_` SsI |=`~֢S]$h2c_ƏB| b () h(jIH`hP)&(i")a bI%) & )bi((( ("JB h%(Z= 5$DK R,IL@4|@"JheH()$j(H hP"Q@F *@fPZ=*\@A031D}ݽ绻7o-}-lEw44s#(IͷKQn,nZHPQJ)Y3*}LKKgFd rrs2h8 fXUX<+qd2ۦC1ry4Ϋ8b?΅mbwu3<COܟv# r@RI+4Ӊ=/{IDPq!RB0>-<%P9eR Z-&lp/HyeHTI@^Go'i? &"i ""- ~L0RЧHPĩ4m r=q-BXE(i)"ОjUY: :2@6D + J%JufheG#$ @!U4PI]0i@M!Q 0w`\D Gx`rpJqaـ,@<$2=+CَKqCE#)MC-X{SvQCu{ F0Cyx^P7cIo) 84`tGc1!"HRoyvCDq$="<T 9%iC>1釓 >^iEQUQLU6S7_v>2q^0L- UPU?f #0Tڥ1Z˓!7ԄU}a`82|w?,]'gF.' )$5MR%jxaEB  @vHꀞ`qU!<`[j+9Hee4فeՂq[ilqFaŸ8 ("**緲nf SˁPBQ:f]u2EƣEA[kcHN 5rP? .B d7tTt(8X!%O[ZWzTKJ |4$Ua5x&oCk3!&Q3Eyェxb>{b6 LtWcp7K7hdS<8@$yc e(U[2cCvXLV 2̛}X˼Ah%lL9E4SAӺ(2:%z h` [P3FP,\G]!fݸg߶W0ȥ0:ؓlaU ,Y `ոӡTv!%Ln'`2/5NFvsIpZfTCNi7fbr9ɒ5ҲPh< 08ln-Kc\.bE7e W ô@E?AIkCҰm6ٿo-$.!r!Geҝ߹V1UTu̳uNZ}Wk96%[1Ue凱tPNKyN,io q{t4Q'8|R=9(%U*B**6ɗJJ n.oz$lNS-peYByFTisL,pH3b&!9ppT-XiV S7 s#¹0s)΀96]d!c m 9!dv؞[O=P=&>T?4P- M I JBJ C۞8\}I !C0Uu8з{5,i,fÑiv*? Q=cD"<=>5ƃ9gyvP ! 'Lj^^jd&a|UCm$HկUyܒiؔchB{giL[**FӊM*j슂I$B)R'hs!$1퍥,I-ayI qDV+54&,%U6 8x_0+N[yceҳϕ<ӎο6`~JOL(0<0 "~]ĜfxbLy`is2 x6ry 5._v徵d0|~c0SțGI4?lChm<9!rO/WpCKV 5+( $kD= Zf&d?뷊_PǛ',55 fF$lVp}0q0.P] śIkqz^LƲPU% * K[Q烍{6)h7xBa:yV̫644'FhŐsӼu1DPqU .3f@`9< BY P"C^ . $((i*!Z(I!ZdF(iR0t^HJ4 *i7GY (@3v1돠;zZ;Wq9ۣLfVbA5hGY&@g䓘͘ &B>)f+=yru!4) :½)`*;LG 1l7gd;y:aU2'0pv]拹kG?> V]p,#&dIy {Cp2ywH@N(:2owxL'9قH>Fp„ꐣ)ɥR`‰4Cl~$'E"f bFB {L*APc(?OJs?P04+`y/4)D19Q9ORU_9~h ב9v2aL%$C`z(!`p _B sD0>YHh.<IB`(1˻|f6I>zQ_"Q71)y.̘eEN?nW 1g]iy\8FVkGV&N.mJUmh[,wX88[yXɭn/K Iq'7[:0ɡ9o|lVhU݆>fZDGJ'ȕ`z0#ZV'YAmiZbC㌺*aMIYo gEȲHX ^7ɀh^Thn"h vpɁZWO j䭒u˄e=BC ѲjP0Pzd&aN)0Dr۸uM3f}2jVh]fz>4%\ kDDLIi (h m?FHGDvRm(Bf]nePYZMF_R ECp6ȋ̐ t4ǿ9/ƅH}_j '9% ='/ѐ``SCqS 7cz0 &]1%(UϝGѷyaE6DEPG^?@p!B@`z޿ZLt0/f'tO)"* ""DA \_txJ|E"J Y!6*JGs߹סɇUӛ79ViiYsh.: ,Mysի!3$l)`Ӥ'geusOp.jȳ 76h:NCk"kf楧X|*SN H&@ pA^~8J A{ӌnu*( ψZ"lf;OiOO:XXE13I!By`RRxbvAK٫K&IlX@_W E=ˑ Y f%YyOoF2jܴD, 8= &̖- 0PPK%4!J H!H* P 1ЮPB* (% 8"M~X nj5 s@>Q+W<9 Wldul[ˆ레8(!"+teѽbs%V&w_\RH|#8mvR" CR?.ચ!dNs^hw2D2.{t9<^(T#1qm3qC"x}\' ffwe Oo!H!=^q]MJtӝ L[ٶ d?G.Npv3Y 8p:Uy!|ԏQ.`,_<>RPW}:˃-F3<?Y!iQaHFsӐ@X&oO!{[ZkWx,fF=hTtqD|ԭ]/=BhLY! Oay? S |Ç7شڃBwx <@q( ;gd:@ a*_<=fva7qfF ֶEE3'8e،EȰń{?!@>+t.;jvyXE&>(B{eAաɍݹ9w 9ɏq4bUj;6e<ƆdLBb%)Gή 3nm2┶r\ `/&dqm]m`*\@hZa ED)pl%yE(0CpK{ϗtW2AG4o +!BM0Ϊ _G]K]AΘMQhN,IRQkƘt,q;ֽmH;@׆4sO+hC{XNyN}`.g\ ؤ]8Re8B!޹!M^F w]A ݎsGLm#yPK-YZ7Pi+t$7v]?M05&C$psr@9ãJuMEEMUj2mfOOd˴>RXfB퍅o!*2yvGU^p[`0H!2iX4AVWIb!ܺX@}wydd|t8d/J0[)|/IcUuiʂDdЋ5MTzX`T3CsyXap$JsfTV@ꐭb=f(R.|辑­76V,O R3@iMXJ,)m[%ysk$bqu@n11P Xrh Ր݁1hN-p6Y0nv6],*jO9epZ.P^&وf΃DP ԴpeiLD1F5gzuSLdaAƗ`PukUdM,E bÒ[#˄2f عj;LQ5LVc5TYն84T&lr潝kmX&d̒n&zՈl^^hJ^osT`aiD#h8EnSS& UvudBTӡAP`bhzaJ7&D안Q4BJ-9SpƕiAV!ۧZ*̡/~zR#HmtfB\raBB4$70hn0QF2Bo5pӰlUB3NO>2[a-;'V3YMs]De yo!1(!kEJLu伎sFTDI2Zv hI \͹WM6]ȊM 41,Ȩ2Y$YARkl8\æd ¢`cwBj=)|$i4IW|`'*X!֜={/Mj!MGiL U"

(+w]7+cy:MA;mpFS{laR!_,xjmwnҺs ֻn΋d%/$Ȍ1UY5V_uÉcY+<̩PYӊXi&)fѥT f|n6ҽC4sۏp钏sahfǩ9qf!c(mky-2@Fmj$ Q.ت`Y\lm;,ۿHSS8`5(.Я+C=-*7]uDB>~^h5Z?er3<*dq=3ЩAh:9xfVMz˨ԟ~};W# >v?~ ~BtbeC0~p<_@mîT Ru,'s4dOÌ-Pf\q,1Ѷ1fghӎc& \Nə CM͐aSBh) 䠐`ԇ##y`v+A%@q19 J:]$HR1 (ch 6t]Dz4Dүs&fAa3Bt vg I@AD34P1v0@AHU(;MZ,;M R!{}N=N,AN mMwpR3b)U 4"@@` IBikt -$)!ЁJJ,J " i E+@R+UD RPIPTB&a'ڼCS1TLR&4jL:ba8 5lP] 9 sNftxuk?;cNxyz]ftϞ=;ll-!lP3}ݧV˱3 ɁI%SaQc8A tUT4$RA32D!HP@ y@E5 +_F;;fhPu>RAy]8䥨B$c0 7Rd>KD(`/XcP BV7,5f9CeOZoZuyP;BO>o)3a60M=Kϥkge?bRNU$Sjtʛ%ժX֒`oHĩCM}sCq R|!3 ӳ{16(#:HkqSbuLAw&i, ;C)Pm JDRp91Q"Ѣ< liE)PBE!PyPO;ğRqU6 !J4Lt.Nqu`vIe$K#dY l)DՃhO*; 4+=vġQMfԺGN'^6#B25{ow&* kUU!@UE4B H F`er1.sH4N"hΘH+v8!}|d h2$QSg<U3")S$'d)JZ|$Y6& %jVsSTLQ&Vi(ݎC`44l'AAmZi.4A ;P֑7c/”A/gIR0INb@LHfGĴ ) 6ODD,TD1)Hv)G"ѩ1TІKaP("P -V"* g8 V`ncTqx&ђ.إE1ӖbBIKX|G<&SRKF -e:\b1(1 j@ P4!Tac@4Rt4 &eL 2)2 2yE1&X϶R@H Q ,`Id A3aBDKIT@mPx~ @iTCA8^mF$lK4t#/Es2Ij(_951 PiѴ<0z쟜}2E>MÜ.H1Ykdܖ0`)A0'+)lJC̲wSb'NeCƼui] $Bz}w%2PCRkBz81bHRR P />8~bGYCa0LzC=0& ᝭5|)&fc3eUc׊*N:`\]^ZwJәBi+;2εܿ0ÛI)"sw X)U)[!6:Sh9T7 (;B0I1d:ù%Rkj#냬&!oN.kmwO iΛx'7P8CWHlSdH"zf7bG$eTY8MN5!r(M\RN"IJj8"bkzZC OFI.e8{Ouֆ)N:'T<$5.BrtCtP2W v@\1N@xwx9aާdr8 1$d9tLs\dv&Uf JѽF\%Bg,c#RQj0Gb* ~D ;!HPl8:() "ҙ &hW\Ŋ3uNŌ!w\;7tn\wqcvpE[rv뎐[l;vqk]q9rkWuݓ@I $tP˶ 2uخs(y h^M!gxz`#pMDTBWǁ*JTo;AZ/s PL:za8gEnduYm 3ajC䇠2]) 27ĕ$BBE4F$ ) @y A|G CKHdkg(I*bD)(hT*=D:G!t߀CzDGO\EJ1RHGQcG)~"d?}oO)=,k%i -Bd 91Ć.)pm`gm豞Q+F+X=7?FEh:1=Rt\ uݲnC@[`9㸚''k5C,I7S'u442$LD td~?{;"4<%(S4HJ P *"ЩoԛÌ]8 l?9wIS~qPO@&F3iLqrT^T85V?%)B!(FbXLޓ}DA0Qz" ȓ}E2F)Lbf`62!ѻw)XBI("bi :EQ"B%Id)P(A_Gz\I 3H t8'tM 8 d)E<\Ey^}3"`6MTѥ EytCȤp'0y"=*r}Cjd)b)(T@ tBӿ Ele`&.=A@mr -"A,oX*LZ!E$Pj hId S=!D7@;!ݒ(Ia]m}MښMd(nhO(^&/ āݽm$JZ+0̍ A$!3"|f@l^#z}D_ .bqx"(jH  & BVt 3U*dU @#0>hZV*E*"e%@#+B4CKN^_qx(zOQ?u d/@2IHGB@-}0T(A* TR|cgҤ8rh3"ɘlNlnj$:{ |U 2h i)1TzGsG v׿zd@ ^C3T)@gH '9]=312}^Lz ěF\rDior@y((Wҍ"VX̔KGi?h b !Ltl8Cz JC( */< oQk `:` `)W%UACoqUTU%QDDUUUSD DADIADDԙg(j[& к3 lذ{cF9S H>4ybalUܮ;hÆ9#a&G2Ql.S&MVGԅ'˒f JR$?Ǩx=SM R4 /VGMuE1h&//#))}'*Hs3z!Ccw9 p dUM\Ub.ko/>÷&pxTT.~jCUAIKLDDR_4}-:1㻹SZCş~@CDAUPq >m1.RY䪰N$-MH0_C6j駳שf0tm^'ڠqSt&Mgc1VqEcDL@3 qj}s)6Fb_@z'aSYPpR\ *<}R]DU 1mIG?Q'MyT&V s%;Cq}ʂsHQL/cd@B #;`:Ԟ$)ƣPPb5I 3/L;ۑ"p/6(^N}nF %Slz.(*[FY4F$X q"Y\{㚈%.\=M+)L֥$hp$P|E1@~QWeXuj `WAs 83QXe(]HT01B%=U(?RMy)nҊ19.UIvZ^SF,tsƟ,`ݦ+ %u=A=,ł%씨wDe1*'wMϧG󠅱.vmDC`HnQâbٸht7؆lK"8cfΏcYf;smzlNZbIl94rihҚLJ4٤FFLNBT'VK]`O v ыQ -v~)TGF7Nwhg:&^dDA+sss)JnTʗs,\LLR;Q$ɰly֛YUVfϹuGr˦qKDy'3GvkyYS0yVZ#/q2"!iұV# ۨWFDkfo)e FRUM PG]ysg$X+n>poq9y `:AC'A=$( ʱNvREh0 (RI:t*#Q_*uaZm}}Q!r߈j]!&q 3Wj]/WH tf5ewHc$23Sl=y^v1<, ~d6 9xS͓hXߙ?gUun dmՊȰ) 씈DO Qd :*(:IӮG9mh!ICtbMrBь5yVZȯ^>okERϤwlΊo0^PvarV-=yk(rn+QT$gSyZj +ؔ4S@2c㼕^&Dg]+g-_ nL0JK%AA.p黝f': KHix\ۃ>+7X7:lY'~)y~ۡi/[xMcO8Y ޓbg(`b b^FI(ilNx˳:h'|C^Љa7eDINCqnow;7C]yxCH (nx$AQ|P98ne. i5pCJJKI`p`2Ɩd))`ӥ AkIŀ#7bH<iy*Pk9dXBL > FV (뎛d 0eD qL/p~$2w*8i*%--O ՙL2N["Rm 88UU#p&О6PCSㆵ66v |͇ 3O"Q'38>r]PSA`5P-)8ˉ }H0D膍1gD:qNI"|G qwm?GЧZP˹zZ4kSF%_Tt:N'w)"6L$cRL:a$ã'@HݎMϛ>m 6F;VRL2\UR}?2m4)W/K0;9OB2Pm:(yDxXOJ'Ԫ8jJbV"  S)E-K*/DQ0 KDz\ǀQj ~ƨ#;8` @>:!ciAXZ8("߆ ٰO@ CiOZQ"ZTx?Or$|f舊UU W+PvyC0BU,IRCS4C'hpPRR`)b?ׄ{ tf dz1#}]Oфx.( @ME:}?3Ṏʪ{])S$:!zay%#`Yat&"@h|cb<M|WnfT!;u8&] anCn>a_I]h \h66.Hf(4& A2ou;LAIOzz`8pqs$;!+X / [P:C}-p: `z Rc":t:_.}PG&GdwE0@;e`zգf]L6^)–`V xРrN51X1myMX R+ʾ`{q M&Yˏ D>Z"E/+`0i)i"b"B JR8TAA@M#:(۞<}kf &! l<ԉilYD?. 4HxRl;>`ط% H4* ( aO-u2H|`SSR"h`%C?>bn¡%*ցvf U$Z ?STB>af6 ?H~OJt8(P"X6Aĺq5a#{=:{~To0rvaT~Q0TIEApO}TY?ߋ۹QeQa 2ww$SۅXwk5C\?s9f 6}:Ibybj:|fy- GB9cFCH2RP,vX eeX_{2Q9ƌ<'Uؿ>5AuCn?% d,#i[r&"'. E.aoAr= g1X DcGlAqL09q7p0!38RaxH3޺Lw qYO@IU<<!P_ ( @Z3% rOHD YY5@oaM/9]:_w*#E=%PIJ'hU{O|'9mJkyVU}|Nr,=hf'eI?ZV}{C~DNz%E =Nf~:ժ" jf%e%`MNq{߁HpƐCxjqb<\x}=o:gC d R{5>)hY@$ ݜ>BgAjͫ@NRfF 9ѓբa;92h(Uzzxt5=KM,SvVmA Mx]x>: rP yDy''v@׈cUM,Bec/#q9"?Zpї9!'-xpcSAO"?zX$4VC%i5jHiwaBsE #fj1LAt8rRPpbdCZ;o,)1RJ$(ЇJ(?1UMYy}Ec-΢xN C4ǹZ[%;EzCHJRad4IG/tKP[1ϸjXGt HH >aؒv5I}JI[fЇtX0q dx ")jNg;#BQ$4[a̹88&ˤ(ZR.}/’e5tbu'v:)())-HuCj=P\;iޱ vCm8V(`Ѷ8R]5(4☈ s8IOptLDH]vL=ր HA#tIs S2B\6I Y uAYX'{'HP2q&ȌV{fؓsꔃlF5IQ3-]=L,HoqtP;?^f#ђv;,'{i0 v(xBa+l:ueTcEܘS%ijɸ⺦ţ)7!gDHA">zLei8q}c2BKVwl$ PzтlV5_!:'5U{9ԸīFS29cQZ[Rv؄h ĭa1!"jeT1'2o/6TU f'{ {AC:\K<sfp;,,ҜBA' ˗8:TD"_=惞r``æͅC|{%#~:Å7J*IN9z DKAK=IO1JP:/MR@@yFЌay0o<{^$<_: U]qR|a,IA S.͋6q3y~" `]' 3 Ӯ/vHK]7K^'"HK!*/l$)Lщ]ah ߡS(y%,\(^O!2fRA8 {8SFR C pQB:n9?SIKZplbws2_9T}R C9u6W@@MPHS}g;~=zbP;w&3!.:hXޚׯPʈw٢ 2~i=m@"B ekyB۰c"o+DcTD˼,Y 6g1on$Yd8܄۔cL^)GO9CO]G4*Ùɼ9KK-6 M6a4;A.JkF#E|*y=ɰڟR/bxZR~D{LG‡9Pw;Ў} (HU&N8A7"hI*?ga?c5&#l}E@DZ#DSLh &`XwT/aӇq0cu & w\ 8@Н izOEV+BwaT8ԇZ)]|/lURӥXڧ3d @ٻOOERcדr!܁OH9ɕk}V`# ȃ''b,8j IVI:Kߚ`a )X(iC PK3 J - M,"ʨb1t"I/ [gm`>H̜\wOsHR0|Y 6\?k;Y_31Y7 |"|J*PB'8 nOZLX9,7$@hqsAM $` iX(`NBx6]j,EL#%z!šNy${Q=㸘H eQ<"oWTF"B$B ) Jb.2PcI$bhV#gHLMGO83bLmӈmg̃EK L蒌'q4{O sk%Bp];&qC!TxH(0CTHW0QQU`F!=T$2PUI\0Ah"e}(*(" B CO&6X }* JBBnC>_GB*H@J3T\+ºȒA;I([Ms )&YB@xrP~>d@}H@VD CFU i@B%JQ"%b L"I+H$EО-:sM'D$dϜEF&!(BڿO9I*$e"& &i)"D!$ e@ J\#n(X/^ z=l!q}''x]G >r|,? n\m}=Q"sTjG_`xa@dUYX(D`&` `(P`Ww2 'LۂW6Yݠn(dTOHjԾHPV^@Ir^E ;r:cFZ/L}ۋ;C ֟<@T7P<{0>p!=IN S}J} OH}c @A!C[Q3 d['6w0NW5aP΅pf3OwMܐnqy52hT ?4x}p?rpi "i4 l@9%WF\9H# ~*Awy{2xZ(?}'/z~tNJxɑ[(!TImG`TYM& -i< ,K<a,JS3ZŶ-ثYcV vXt>ck@HWڨ G].J(ּ B/сzćZr٤n u,q..Y9mUԹm9Śc >hͷ`վr]0E̐%Ͱ5ROj+IsoqU9*-d[UWϨua\uɝ*kDҟ-`YkCViZ$˧Itms+V8?/\<?f((͓2vbtVT[+p79}P\/X Mʤ`SFỹu'(,\).4z{Z41`]BRk BQajJ٦`wWGeل%}"Iɒ1۩3cԆwdfz(JfqZc8-C#Ѹp9]Lq{όue9{KjRtoDPGTBZ7?߳XW^-8p҈'E2"d1vMuvdAL0'4fqbeZvLL>|)y`'pWpx6/ \~n|<&f[6<ٻѼMg1s.&svZY ns%+8k$_=c0Ub4dN8-lɴc% ]jW\;3fbO]mW!#otjmՊuko/-u+s:Fx' rvg*p=:~.SzXk%FX孶%wj1-XD q̾);m̕a3pߒݦlI52i25·w()eM5̻e# Q|-m:%}ua3NhRBG,ۋ _>{/yڷ'Kpz @OF#{Gk:i猾kMqRM,y>#8m@SHiC-#aB&8̧DI0kZiOE\ V$.|{h&U6kY9雝#ܱb+z9;:n I W<ofǿfɂd+pfq 6n;,^$ZwS{w6M{,>Z0 ((UEGRSٽ.Aj]D4'dQ74n ݊%&A)RGZ%Ii)tw]jt#g@t#cA~$i~/S<0 \ e<:=-OjR~hǕl*"~fo-"3N{ M'{ءVy JU0Iox`>Iua*g>#T)H6(K`,1߇]Y|N@ULS8[m< FV0ܟCEnXC;d(de6=읬T`LUqQ9KuKS>RMPtiVis9,2>oz.!L50-|,ern鄏~6-:he#HxtF~3 rM~iWO{ⓘW=hASڇ'e7.ʛn5%Mpl3*cgFlHYXQNĐTTw'L35KklƤp'$eƚMk{0raI:@sP%y](ëݜ,4MuI ~YОQx>:i^}6_̌>.[qĞQ)Y\&=^ j;-y5c8Ho[9-6%7#ps)^ebu.zoͯ$OKPjjQM7|Ζ=>y\dL$ :nR Yk ֖ASt^^ߘ_Y|rI'-o'qq}Waރd; 4~נF O} q]%T5}>u:b^.i ~h>u㈵ny? ۾ 2fc%eW|v&^Z=2L*t/r 涵.W'U6%WjIfyz2(oSZfh7TЬ"cN CN8i@{gcbI;x085BU'ddw`Fq`F [~g=0;0> NpDB0[ r9]HldODv `5<@g0UȨ$ $ 'j@9rqК_'a4@ O2QǬS@a70vrCVw<N @̞4DĔM$(ĀEE*opNy`Hr8}ÿ܂h?sͦAPQ ̔6 ؃kVh l߇wf"] `XW=39@7 h Ja?o7ZbUK!~lqt(`WM2sҙ^!:^` rx}O yT,$@<&nt2-I"mۊLqzOHOPꕝ)ҾUN!*^p60bG13TU4=$_>WZ̆d2dc[ X!ḨF]d/tQT|l[Unl^ࡳ#@ɤEM$kTZ hEazuZƒ3#3N7[ZYjU`j(ӶˉiB crA%ǩQ"e g"nq]UF]XM'YI ;-X"HuLxJ%s29;m %ݮ3Eu qJn sbv  La'`ai`25;&B y)Z* f=8381RvdMKڵ,}t"L,!dpS>z{5I*TbXjdcwe|pyX02mIUt&;'z^9iLi#hzoכma,3Q"vA00@up4 ęW=wSE-SպrC-+tEC.qoL{q^UGjʴy3;pueeRbaaY""^!Luafeﲦ! `ll֟-h~! ~a[d2R*bpU!cucJu8SZiVp;$4**D+z2GҚhAXboM͎lDQs`lOş$a &?4sY\VMhOXy88R9dM 9'`.N~׍ { CzĔ!؝!Lp02Xp aKդufknyg췽/wG+%; -(S)2 J]dH2>@S4YҠ Mvp {_Yg<˧=?혘@ˊ!yt0=H)#]A Q7ţe Gb|hGwTDKGX4L!`ns~:5?v99r]:7?K |!K+JPԳ1?S~zO]1`T`P7I(ޅQQN.P@,4"2F40К Ct!G-T PdCKKC\%(A@T+ޑK9?'#wB`i>Og͓dzH{4a̧]뇂J! TN'#-X.9a2 E'^`8aG覦htʞD 8d3 %a($P0h⫋?P~*|ΕSh݃؏&NOFm9AʲphnKR#6 I$w1^sBaPvm(0C.~#Ĕ<8l [8.ZHO oit@>-r(^3)JSChH44CJA"GdQ4} [d)t bE$<[<4S1 ,"|`ʹN25.51PR!!*KBYҵ<IǦBzKF.=1%pD֊Wxz:a0WI"=$&bnwvKzlA)0UPyQMjzcg(ޣ^*Fq$F$uew eihhZƤˤ2 IZhd+2f-TB9(-anjjVH#Va)XcFDbZ6Va:8l]p* XBBDD)R75i2lL**XQ;KYq8 :Ne)X%P{Ҭ{23aw%,{ O1P5)]O[lvy/=NpƒL@hx&@>c1ޜ ʙ~_F7RS^}-QaN{ndcp(a60MXȶcT--k"$g$"{KOK'pi("F)):Y??Z$*ta9Oy뢽mn%VoHd Z;ȎeUVn acEڪ֍wj9SB T}lі5D%NU^+A/Mק;Ȉ(TFPjTSɐO&#oY)'SV2I6P~tW/x(9.$ |wƈR$,$?ICyL#T(2|8eR6p׉;Tof)g&{r]o@!N${bܭy̑*M1.&I(H4q2ăZJ|$.3=^YTۼe/a:IU.Gΐ4]^usgf9;ۿAٌY6E9SG$Uwl (ЂSOxΙ>0Tv]]8'ټ˲vg+\LGu~okF\ouu k*4R"lKe 4ֳ^6K JHkv?^{6 }w~FFN\D|s̀y,ݒ;ޭeAxM]K`RpkκUSwSyR^_9GatȧUEg-5fwƯw+\+XY0q¶g}_#.v"ԙnp5txCVK`+#f\3ȼ3%4Friນ[6xԱMzmϭ낭:j45j .7йLJ+8WtKYPk^>-+<w\Urdz-^+1ٚpo~r/ɠ.^h/K޲=ڇ:fQnju >-]V(-ؼhmy[uwaK:GjK8 Q  N} Jsƹd*yUHUY `3"P,vM쵒6%6Q@$CN.=rGفa#t]p ē4MG2l-])|vn cc ,NkVM,;+D>@jtԺ̡(q]C)йe*%+ne*~>qWZAi먉&%v`pΫwJ8{hbUOaUk;UE@!U=ֻ08:[^S櫛)vgZKoi/ΊTr(^+ `ͿeZЏmsDUn'vsv΋r靠J{]΂s*&V|qoZ3X[+£-< Ìqқc7vvww& *.7b҉Dsq$l-I&vѫ\_,uU\aU٬TTҊEG]38櫏sĚu 7Xr+)6W>, *)K󭖔gSv9ZV]@תv>YطEUZ;#8+OS"]|͌.8Y$u;4iBhUUi=!:#霣QU ^Ql9XrӤ}AkS*l:ATرWq|}ƃ2qCt!,+"\#kWztŸ(qd兡;hq!̢cYE¸R WG Ky*Ɩ]9J*sxiOlF^Ʈ&z ;gXK<x^R\K(mPolb+ٔQ,V"iX!0O<^iLu2Vh!yoYUʹ]vUnz(}<[|笼eߊK/$cye+'P'xD;B j/iTc6hʍ8MΗzA9CW+K:֥NxѸ To(#$rs+`brrVUrPʺ4l'='9T х2hcD=vq:10Ji4j qubx#%gr+0mU-'LF]fF :5L՝r KVxQ,C\b?=sa!C/jiꬖ'҅p/p5Ʋe>N䕰UG]a z隣 t$f7^fմp4"ҩjXQN";}q$='ptWCZzH(zO U[W'`*+f#Y@%f*N2:N]p+zA޷^V3]!w;xvo΍HX7ĮJ{K=Bo]"ҳ#i1Z)RORMK 0C Aѿ/ܮʹ["fg6TS-\aΗjZYlkWtx:0O3*}̹g>\xb)4TZH :D+t/U]^8p#n*@d)%;Hܻ( D$%I{&P{wI ,۸5&O|4t#VrzYt>X3lrzTChZU0]y!-hSGetc3+$*C0&b("n 9&UXz@v`N]U'* 8 pHJUyK)th96o=AʤLۍ6#e;$YFnf&.). LA;Ѹ&CnR>8A>c@Vh Y>Ⱦ\9CCE $1&|es,,=}:E[}7&N7OèL#(hhbF Qh ]BN("7PӉ /!zݡG I$>! X!)CCځ*- Bv=_@Xn2YP& v@q¤F%N5o$ 2$$=˃:snjf؟F2JPWl(;v69`0 Х˅$C>zCHi -^@P>6wωDǯ=tyyFi}2y'^Gx8׮Avq@u!=U7q e* fFCV-9M i V66ԛe Ґ2X_x|RS6X,CϏ##/4x`eSbmɂ)J ,3`5X.*B#5[fOw "&$C,2yWh>pi9 KfUNcwUW=0ZQUVp$%;aƋ YY0r6e4nL Bβp|=4Θ 9AU3pRL2Ƚ0K?XZ }")$T%^+ NDؠ].ˆ LKq#!==FaQ5s&l΁zC `ÒE4'&p[ٚ1/J@媗Jk;#_ѩH!K0wW 0--q{s͙ `=, nR6[anm'S4I;_Y8NG4?y)iI ;o.CY.Ⱥcc*d{|@d27);<ь5dI^1JRRFV aIsJCl|_#T~ "HG& {yHvMyoJ3f'"a89Z| UJ*L)UMk~fA'KAôX1.gj8p R%\C:E!NkceaJXQO+q2 C,HN!dƶQN5U8!l;2z|yu& cM*Ac|JF X $ <31JBh 8!<,ǜAN-g(iM0,+Gdi)Djia1gah*#X@s,¤x[@0`@c=~~偗{#͙=4̨t4y+>m8R[lDbam7;{܇poz,X}f1W]iLD _s{u"B-AU\6ݧ4q㾖wFnc%t.R5 TbTH鵃$v˾LrBPA!]f;E,Z^.N4\2x/Z[2mx Nٮ6Y+rƒE~.pkyb E`<ƉN#tHfSAG OrZ:9!S๜O4vxPX.6-Uwwr2% )9gHæo3$CT):$$'4:m~g@(SIM|y=KH` 9t` C‘]k*nBذ3߇ᳵGElU(DCʘYl܃L3cJlg`vˆPO71XUH @hTN@Uv: sdƪ 0QcU'Av9M]X'q=gvOSI=Xd-Bx@N .8PROSg`/nfCHDBdQncrm#ȼURba5rN#gŤ2Cca?S("j~UI_N_OTnWCî  6`2?csޞˑaV1ͤ+ bZUX歀>ϒv! :]FJQ"$§#̽(:t^PƎ0t 'hnCKQJE%rwaп$;9_ >@Cch|YTJm7IY5E21 B ݃zy0CȜ)P3n h"*JR"T%?6Q@3 @Q[3-*cQ/ 388]?BV⢺=dqĄBRTp#0 r]<h 40_Q))( B`&R !Xh( D hHJJ)~½4-(@tH0 Nw M c3_r8&c~"xy̔s8}8F# Aim^H>"sBVXe $E) ;OC y Y]icN(K%<'ϐ/G P6"P"R"*"JbZZR~c(}D (D  @} pO!R`ؼ>N7"%"$2 h#HE OoWIc~g^폰>v2:n^\]q?l;>la+ 5 EAYꤒ Ud{ 0alps-֩> *l0:!076HwIF/uw'7c2/)q Y(WY?#wX]w0ΨCx79 9^ZCtlS4=Wlτ"*.NPCd.x~ȏ( j=]^%M R&qUBB "o_ \rBI$Qy#YC&TpYn2EM8|-cq./x̻.ʚ?،nom|:vhwZyzGTsVBpp3*ƆYVU" fU5Fӡʢoـ9 )C(3ѫ.qhr#k8DPAЀ= b*1%4qBԚ2zh>LLAi8z( ޲-KeIE% lOD%D2LTQTX&r|G($X̅lwYSMiJ#a2Ry|hG(t:S xnA0I,bⲟ uЁGf1"hYeI-v#Nijڍf46?C 1)a]b?ǰcn0HUbf(O>1 k`"fhRѨX$)C(`!X>! >mhcqjv¸10IܤJ~ J#E*L$A%"JUP4#$A6xr4r]_'a n2.IM~ d5&:9ddJuֵMIq E"kH^IͼPΝ8w3 pn< YB}!;N= 2 sb< /'*N\fԘ&eNAo^Jy!x4v8\rt}T?F pQ:dc0 O仃aue)UDqr!Kr\ۼTldC3 ,O8-$솢)RB};cbAD1.ncEbC"Ѷ ыh?cl1OEtQ=vƃ}M᱉BDaČ\0$RhhnPQJ/f""|W ``W_  $b``( Q@U Y9 )w7YDFGm7pCI2tcvW ]jj$ نr6A )SУ#;'\-@ {4W!A*"I &*+ztʫی.e6Sø2 EcQ^ *4d;_H_Q AAD- @̲ҭ DBE AE|ڿvifZ1a-@uƃdAM^0Dg#ҝ "Z!I)*'2M((2U1.b$"&%4"tz1bl VlnytZ|>_"w,6}gA%ed d jjjXJTCO ~ ՐT`wo0,)}K$};B<}9X>I˰"ãxO"A%=EÁ(jBI{aM?.νƫ Fk.g6٩{0̣X+ZN CTvs6#c u!ԁ>$ j@܇BŁ)3 +H B ?tXʂN+8#lڭRDt 5&zSx}<2c1Gd$Mvg/S8ѩ#EMHfhO~IɁ{cHf,U>t?ڨs+CBĂ} tU Bt M!_="=™m|M0q z>TOQM6+YnXTy/ JmLJLk4tǻL=|4Ӻ;Xr|d((7݄\bm4ћ6#Qp<;+%Mg6pAM"E"P ((Iܒ%!KЋ(_OGk ^ec!憅tLnqݩo]Z^{Du3C6yANn{ }cjkL8qИpoCEsX O99H,dԻ2ffS̞ tn)$VM!!Ӗ[9lZrvز 'JRP0h&%Ʌ=\! ASdO>XȅB{IP. X߁U'ty3X߀ڰt_? sH4S*ȐB"#4m o c|;G @$nze"n44BS7jEGh'XA7]2hԐ nnQ!j2c;NIr$6evWZX:JucTiL nW K(DMm>qr oF셭1>!ZA {TA{fз_z>TvD. eZ-h07x$0,"Y ]fiJ?(ZV겍ւo&"8IW14LoWx[h, G|>,5RKiO9L%J&M'b]j%{߃/tcdS).`4T=jǴS0,*-H8ZHFK'v\hA^MMp9\+jJ>pH\YЅQ5n, $$'eև=U.DcQ4:cJM-Xp||vc. j> pisj5_-ͳp:/rgedǰjc/oe+p1yLk y m.#Sf֔IQhhzp4M@&\Vkb9U)* 2u+Brk[N&V,{TJ$QHI/DL}z cRAZJ7Khy>bb Raib("!!U`dY zRC#H$7vS/lBQ!KpB 10 >'Ϯ;ϼxSЫr^?l(!1 DMgIp.Gp`=߳~r@HE)8Ȣ:i4(%ZF>H%*(4 "aHC̃YY!X* )"( HQBJ4DI@LIA,C$J DHd(B BDI L_pQ2DJD3 ) { jD XO߅S־oJ)?t#!I_8Hhhj "&tP&%&"H"F!b$"@yKh>>Y':Gԇ޻?ӟI0@P|0PDEKLGM lKhCj:$:x$ DM$@_4N %)QJ!*$"F%=reI . "CAB ʬ0Dxwp2=u.VK]*ЉեP H4n#o&9v!'rlL++/2PF[ 2ezbpj} lJQt@REAT B>ǁ= iW IE?{0S|I Ag'l/ADh>E좧y 2ȸU(<ߜb&[ֻ>cF8^}|n.Ɖ$}RGwt}kgFUыa={p'ɑ7>}wVt{sv[c]|:>sO={{YΪᔯ}u޼}{'Huw} [g[;;ǟ^`brʗP Lܧ]o;B9Pv8[QNn#p^|;ꪕ>tPZZ}4olvI@wo[ko#zǟC y˽އvwَC֏7OD׻o |]ﱷ9}J]+%mv:|'n^g}o;O޾=^y=q<=F6>Ct; ;9-G]k})%t}47=fY=-QgJ m{* P>wfst o}>+G}qs{u}.WO>;yPC;lmz7w^^aw>`b-MC{; 'v>>积|{ >niٛsn6mr(.tN:wo*J;7;0ٰl4 gW}۹־(w=W^]7=f}ۤTtiAu/vsmQg٥[+w9Cqz}݌ciӫmL7*6Lɢck*7{i:< m\zo{uۣMhVm6w5QKy:eKWbNvNv85ko=g6e/]v˹ՒJm@kMmmFxLuκ!5g{]7v::z'Bed(mn^ulͫmfmfKXzssk5[`-mvH" :ʪVT-F![bRU@QC1:7:wJXbMf.E}{ժ[@n[vcf=z fΠn6UE H h^Ā@ hbhbdAO47xL@4 4dhz jS@DЃ@ 4 j5B(Wo0c8xUYAjp ̸/DRrgEԓxx\SV%-LPcQ(6>1rg.H&:L8u8KW5{5;LH@҄H(BH:,$Q aJB4-E*= $# 0(d4$,Bī +DBH #0JHlA^z!"W!#RAD<0b\P%ϟ?GT@@% X<P "MhBb T6""'@%+x+B0Q|?] ?kbU\k""ZdQ2$FOݬ?ݑޚ"BQG?,[e!*48 JQE(~ 7`(8v\[CPSš8Gt~=(=\n*_DjޞqanL5tCr{gvhmǨ @b@܇$30O iГݽ TV^RպrN-Qݐ226p'3z,l L?|vhD 0T!$(0?wVEmQVڵFu$OfP0z.7Xps 'n^$5htqBUc++^bt@Rjpb(Vϓϰ"[~ܿ= Q}֣/ÀeԜK쑕W!$n.B UIꨣ$kԸ+Qj1ofCJ4-J+=bA{eb[ >$(+$ P΅-=_X$]ťuY`ԑ[lav N:~7B%E=F+/Z?N椊&jiiJH(jaI,>5H aTT[[$bF01Ȟvʿqav03EŰK B @-QPF2WU9BP̎m4|w6v̇f. ;ȳۉbMID |qgqSz·#"s*j&\H ̄3`PaJJ&X(ZA|rۿkA5lyR$G1H@H._a ?UӘ ('^TZ)_z%ܦ@`  !QC! J3 03 003 03 03 ! 01EP̀|&Hj)>d4QLRJ|)z P SyyO!&RA,r O/zX TA7nBzxa w5B)MSE%2 J=3TytwOjb:xƦgQܘ87xYڃP_AO@^hm%E"E[/d?ϧg_Н!P/:" QQA0҄NU^n1WqV#ԯNMMmvPqPol{?4bT=3/XќZ֢uC)` t~xցP?>x e\Ə5ADGG>J.a>YXdQۥnePBHo.d.O=$‚J (aW0xy +͋wxE* )c1Y,R2*A J)BP2JIK0há7ۃ}nJ)A?D:I-r-(F2 `1S i'S yX:DԴDGm)󽙣v%W''< -d?_]L5j:=eX?F{/dbC=" 2LФ2Pf54BTU- HBA+AB0sN첔m"Y7P&R'u&`5Чv tM SQdUX/*Ŗ"f73.=,RjN dȸd0=ZUFN%,H#؀$bFB$dsVS%]jc6Тآ-YUUjA.{kYcQ3TLhC;1S$xf"RD+ƃ[y4fd,"*;c*,*A13$*j"F"HњrD5R"L,"I0b+1$4( /?H5Gkg4-D\?//_3C-Ēa>*o~nO#kDwGmغBi'%3#I+wRo3)6؆%))2&oɧ B=$x<2AO@4<{r O sLʬޖ`b)?VhÈf2l"J`IAfpj&Cȝ]QnA-P\gqTM7΂rôh4_<0 C gqDݸֱx3nbSJ#Ӻ#`gɜ_ҶD#A3/v=sb֯ /տs{4chXYV8! wP/,TO/}|y>Fms:bQ@ )#rRBzyd!0ñx&ݬr%%{CFzatshiIݜ2!Iii' \s D;(C!`?O z吳cI a3 MM3m8S3zOdU&f"T~p:shkH7 (@Ye1;VPCU$$BaS16ˊeI!*5pw&,;b2| =sX!^*. Z+KbA>=|~ݷ8E5"EGl544 Rn Z% x ũ\xDx;x=ͼڅjzsH!JcHHBC̣1cF9uaN?Wx/&NW{\4|`C"}zk};Ⱥ(Rڐh"*k&h$!)LR@H9׿US$@󏼹է\!Ӱ:1Gz.9iJF!ݔ] 3¾Cf.!<(p43v;il3V*=6Ffd9hp%ć9ĢcPp> L~A"Dj_C UQrF;8N'iisn:**!B- $5 W& q ""!m*+hQ Ϩvk(nS[`knh-cTxW2SRnf}| oN)/r\yˎ 7E|ӈQŞm_x$ LC>'9Hs8("l y @=ZZ"%֜K$ CE'>^dzz^xP^s@ޢ 듹jp3Mû鐔.UY{ȹtl_6 6 p}!(hC*O1qC=v d LL7TfvҠ@X 5j=Eu?<|&CDO>&xF(3\ ӝՏJ=(ws&n|2i4a4S&|/XD-?? aYu᠆ٕޯ2HTi:Gir.3G_t͈2A"΃yJx#V:*򳝼WA*#v/9)E @ E|ĔQ ̹!,!IBdN̷֛9aნJ}s0ܮWESJϛ6+zk#&"; ô>J(@QE1bqd)D([Ʋ*APP(;Qna5GK3}_r667i+)C:5Nf.akn׌1t@3H9j432 rǗƳ4$Ѱ_p,OMhSOciI4q#F{ ~U3R AICN12s"E1YoY}r"jƱ'0ɘƈE_%rICN~_P\DA?_ zk>o>@|z)K%kUhe0H@*$L[!W4wPEKTW??9!"u(,u+ן`p;G8`ajƥFȉ}RH l>F'A1, e_ PRmtї,@s.Td到R( X(IvEG椘%Ü 8X n?2ϖvQHaԉMyYˣ,_z={.0_p_͆ϲ DJGu}9nA17/@JgByi=?vu"o^mAW &.nblW Q)<*ONߩm]bXF5@a#iCf*.ٍu|[e+"r/pvX| cr`˿K~l(2@;ޏdB٣sUc8bz¥JguaF6/܁#>RR~h>FhvˇuI0 ύE é;Jb[=">u Ӄ.由u2V HC .iFJ(CrqfNK:ӄy(|:U\xh"B#S7Ti2L= d:<Ƴʼq@׈bFG\W`z??c}n~ ~Պҟ! 萉B@6@r9ɗUTs?f&3c!VIJCnc\@fpwL̉2=_sLŎ3?G2Fy :4[E$Adyiq}|voZ))(sz`81N?ki9! ȡFeI}4M"l>ȫю˙=Pg# $ 2^cD„&T,5 5iD 0L$8wf=`>W? >s$!gJ&S5 yy%%l'\?#O:"kYg\I8fԬsO (p0^HvQTB ` ,:|'gU>}~pݺSA9J xYpMU Tg+:y$ zF) ǝq9k'0)¿55z`J5pxF #A0Wɾ!R */6OtM5MbZԎ H)@89yo~Hçt>Ǩ=H$M.ިtu!SWw^ͼyg1wWә0w9TN2q0Xlt'Jqv>|Ih51q[C2hA7{+9TUUUg=# Q=`z҆Moo%ǜh6Yϲ… E5"LAᴂ2L(7$6YU-@L;⩦zo9?NĒw~ b BEHVZ $ RU^crV;~H4H$+Gfm\\Lt}.Ad$#mҴ2$,}Be)8BI˴f,= rZ{Z9w/nuN(_4RSA+ D!P{ g;kL6az++ݜ:0dj >/G4ya"0aF: cX,~oXp,h A CQ׸Ej (0, XÐ,Ȋ؋7H+^"8lO5T25=CȹqrqHu1q(wҟO\jivS l~'v84zFj50ZjA,LIXH/U|viNv̐Tieav-]]Uӳ-nxّKw@+Ƅ*AKj޹h 3vQ_1oG+ ԟ$_,+sbC]~jIuΧg|{5<֒F$ >]x"G _ζB3Z qNANULWU[ۮ9uY,IEض!T>Xiʙ6e `(>Б)>?윌[ΗX*\ a!h-01/H\UĦMx@XØA~culF$A^mv0yJ,b:L]lVKs꽂ΪCl0t2e(tȷt>1X;A/O{+vwb, VABҒ!eQdkj%}#hYօa~՞ׯ2g♪-EzTY0uuyX"#NtP1IО1 ܡP HVf,$JyiWOfc j%=<5Jj(NnD6lhakPb 2ug~paМ.x rD\"^!7pfm\?$5B!RÜZ?Os+[-N.Rou$}~+{~ G߿soMsm>ruvu9(`Yg2N~c Jd~X*@x Pxm nf/ Wݑϙ_ܟv'COd7j0>߫_iJd{kK:D2:(S2O., eKÂ|K'{ZrBH6EM/|Kλ~ٯ"*m.26weypILFwZLsn.[$:>4{$H鸵Y=6|kھ#)L)˨"=p iÝbHH]sZՔx!n5q&ئ<8U&xuoxYiLi|=?VԨ4c@eӺO0(2 F=]$4RddVeP/`+\&$PP F7]d9Mw`Rb Oh<%D@ P)e{$DFٓh?]ׯlOG0g)_Q؏AxD[Ƀʩ`1DUSMi Ys'ԡYee+pvŠse[mQz9trpm`/-"D4Wc0IV cJGQ) c8 TN.:u!ʆGTR޸8!Tw{V9{OE.>_W;a1ߣs㗦移iY%h1.Rpn20Yv"^\JA,.zP?~-xD!IUynVeؾ2 i&\SWzsivN8OlRP|po ~{)394ϥ?at6b[bSVC% ę&8d=2$IHy 3 F9DPj*$oNeLVD\?Abta>j@N*|Lwly0u=kz }:]uZRV['{~k/~ߪ0x'W08#Ibzhr4D sp{U=m@ҰNAgFSd^/;mEq_k{00kNS[_ܕĈkTT Uu(>*ȇB $ԢFwDwTKEm?I*kDԪ"UT Ҟ=HS1 z!C!oVyM2^Ӑx% I7?^zgL93Pö vҟ_x\5B溩 @$Iܠ)ba \dA}Oc|; ~+Z[%X< G8nfЇ~XG?ϐbڳgٍyπ>XĠK 4"_5qN(BCȃߚ9%Y\<(DKy ID & e(U<ÙumUA¼< %}?{a#mBUzs^S}< W7lxP <y Dt|QCD9fGV-U/2Hb~%z1?..3#:ljr;J-`@b'һN\'FCF~.y ~ $';-V GXHp*viAM0M{jʕBD؆dx!CˎK~c S=6TѬGӔN$0X.x< Pn*, < LHe1v5;فp9fd'hROQ^=q-yhm.,z:wAdq*rZPmd٭_z3t ҢKd?i7xm~юo˅P)0} ?ap0(a@XDiȉxDJ-PeP2`Π`f"OI,)H[|3P h(LT?#)|g8>KeuxǴRM嬨u. yہa/06S*|qDžT `Jh0)L:g7-vfC(+uueʻ9^e7Sr`|,4NM[כ5PM=팞z7CPX%7SUK%9݋9(TO",CA~_էHc8~zυ *z4EV SvA0RW#BM ~s|:uvoZyA )OkWvtR,!.Vu;FEQxĨE;!RD DeMJ޴i@.+"r0( C Gx܈PjS߂H/t#p,^Fāzp`<;;5H4%|\&xj؀y[!( Q_r+gcQ7Q@7d*}LAChPgOn1_IN?O΃:ܗ;Sxmr[9/GA$y?d"{G'4Dr&(ÒC( 'ѷ|UսDw4_td=ZP͂|-zL y13k6q$D/;5k!.vEhz^'8 :wDNS k"WmJ%wRxYHH +BPD`Jt脒B$ '<<ů>]?mIN#hHiVTZW'mHT*b$bN5sfdbc'dJ5 9z|'r ^K;YՐ,Zⲝ9̽-֫OƖ0rNqZX5'4zH3p iUyrqz<;Ӷrlb/:SxB<8ޣ:+ɣUq_ỻ} ZqGCDCK8`@4*09~ GiG%Hh#~T/j|F|X+.E <"=4ĵ;8 h}gIAi@Rz "yʣᖷrsyZn]F#nGs׏mq\*)^rS7U泛-orrۍs Nnfq39mA0?=çB) IH( /ZׅO욯u)E7ۺw92? ;~4o@-k:h3XŒBUĈ_i8,诎/ ſ崰Y>J\o ,1\MBWn<+DEV%'$Ð%g!;F1 +  5oB$ +%׷Rrr0a4,!YkRJa\WECRƅ cd-(D)`EOFnB|Q/P9" XؕP 623՚%A'$U#_ nRj ‹G\ C`b8_О&1EX" lJ 8)EM魩w׸l T4@N@."?G%y`D2 8B!HM!_ICͧdU`g9 uPD8`D;:Û"B(H)ˮZbDz\ji Ñs|0TPP!QZWez>?֣}8CrGO;^7N>Gj{^?G}۠R62f\ fxTq ]nx? kY%l/jѵ%f*_Mq4Nx}*'݄IP{XWAu|?TF?rQSVJc7ʜhTACJX-^lfΐu01iak?10q|i QD mvs?]t h$,{^?_؆X!q]S L'_ էc]Wa;z%72NpIr ń(ɺ5ED V,^YmRY5 00?52G:sgrxxzyC!Ժ U_GH0í,'JJ!I4堽PO×=7{`ѐ?>f~5Kj5ZLd !rҲO,&oOni+u)۳7V~qd.>廳_Z(6>v5r`tl(ܬ$"l)AcڭK׼5kEt)#X RDˤ}%E./ƿM kkkkkkk}kZֽ}[Av L~I'$LJ|L|͘1[m1{<^/gNLxmc.[m.}d! {AEbc$:W'{fPkTQ=-[WcAM(AºV q'}qNV 33M!ьq<40Y> bϫ߾I*"<4mME0Kqc0 ]ף: C =ri2::0 #@zg2!z]gY MbX1<yd!z{*Cխ}΀߬H<0 nΖMBʫ<0~!'ǃXD_:2,*ɬ,IqOR[D~}Q=hk33eF[v (GSDT'PT@~'Rz+oJd0 xW;(&[>Py^-[X\ =o3}ifN y7ۙSUle6ez:ԟT}~_btp"FB4YLM1'ٸCwT%_2I,#b] fl)*,!(:0_` ~)P(ԧW">22>4l,xS@x !bPTE/?{[TxFBdJE%A)Eb PJ B{>WqB/Ҁ` n`hP80P#JyŊ`ڪdsӧ[ݾjUT?a JB}d{} ʁw5j+gXZ.+xlߊ4B y OF]/ˑ $)O~9<'ͧ\mMlvF7,[gD9X9vi˽f ˂ߎx_MJ}|{hr:%H:lg6{4 | )g#l7aKN·Q@Bu#:ӑi&v R'uEh+D/#|EɸG^7>xs\tIY~ƈ:/v_ wS; SNa 4UMna2]ٽvId1I$  yԛ#Bi_<$

i `﹍G=2ZOW)J7 e ྾!D+p< y0/~j p#gλϿ9w1d $ sѶڃE&UPF% %xv ]xk"*G&$nU$EݟwDwhb3GMU XN)ۭq FR^ILF)An*E^Pzj'8cbg"@U6ͱTT*]PuBW w1`>(A2<@=UUUUQz<ǚ8ft8UUsVUVW^8bkuXY 9ƅ(5@d$.qMp `$K*rwx6M7I2i'4+kf%v:={*\ΡP{p&bX" o.gDO<³tU"U-GC!mg=CA=59jmzRoG5|՘ {oB|IͷN1:+ʆQ]w[n~߆>Hk]7ڞ$8(7uv{܅7swMؖӼPEG~:NXv}/>460+yzKNgRF o]9䯢u.gbhs1biY8o” [/o_-CCK@y3D$HNA/ݞ!Ϥk\OREŶ'X}І_i=wgOxcF *$`IU!M#N!:<ͩ]P. XT҄9?ۿiEQ82 N  "lS?Bhh`w7klKi~^u #\k-e/"Yk瞡8>!/ >g8}h)=deuZiG)bz=wMA o8‚"0?IsHh[u,"! r%p !,9FN^A͘ w%12 {|;*N-Sɚ/=Ji s<*%_Nɋ~OMdDŽs~TLi%y[)!g72vDCB&y[7KR̴ϭG?e1Z!W K_ ut h8yg=<zSGQ'^#u+`i/VB81݄%bw5b!Ē$)xBqju5 6i0v8\9_:d;Hv2sLqцAV; # /c/ L@@CT j kX%iO++9l O%ʁ&$,p+dMvv7 sfO83_(jg10ıӱ(@ :c!ַfBdbFF:-6?/h|)z?湣 dDA|cоv kƼH-v@mg*S:WFQ԰ WXK_kdrZ燞OBXeXw:E_?Lߗ (OPAT1 x:p'O ~ߴʱ0$yɔ./CqLBg P^TM%Oj@$NnGg(ԥ)JR49r)JR)JU|HS9wOoK.I Z P4C$[?a!87zdyڃs3 3x(QMu,\uV3ݢ=\i ɻ 1XУncF<c$8<\F{xs-ޮ`%zۃwftGDs,˧*[cŽS;\8y4bKȭ+\2BI':9;mك5CWD{Ӂq:yhM>'j$&"QUcZUH Os7 ˴8jW] /EF#̉n rC]z2fLD݁\ 0v8gJe[=!=0lٚ66Uuu68:M=3Ԫ{VR)*SRTU# Y $GR|Ť $zDx,hᨱp6ז*20Cܪ( .Zf|>1#F,62#(BQ[ӦO:{vN^^0=@#νl؇ 2^բDiԪJs`aIRaVҋX IjCd4muۿЯџt bxB׀4,vX. 2pyS)6w7-d"k{8gM4bm1 GEQ~# mfų}?svNhq9.Js5oBu8ЂoPΚ\Jw&\xyqP){ B @XU&X@#·dXN :`yD[09^>Z׹?ɹAio7q8kVCa.yRқ1(\88^fP&weNL8wMUUUUUUUUW>N;X"N]9'9)!F3p6n3%0L>]ƣ}: %49gXjb e^n@3o7@VH.n 'fQP:2 8b? c5m,dGH# 6/**,T>,/5ּp7k?8]FN]&scd_`FdI& +l `3 gn#B/DpI9"2Laᔷ N\WS FlDݺԒɢ9yl]FPB\)<2q p`Nڛ?I;#51|L$% a n=MZ> QTc+3UpbzuF59!QXAwCg jA4P =}57#N2x<\:_$ e*@OߪCeh߯[A͍}P1lF0^ O2,~߼q>x]w<}Twj\t>Cꆷ,ᩞHI۠D<&GBrO w k”MP iJdY/ImIZ$ҕ)hՑm%Q(9Lt>LyɈnm/NnrViWPFچH$J.:DC7OL^|d<|Rf9wԶyצZq GsgRsgC]5M19]@ p44z-Bju'MF/+tuUݓ9J~KD ([Ł1^u@_ҵR_4ٜ/ ~=ʼ8Ax`8h>'D5TUfKnsC˱MSVY4Kf4LӿeUUUUQ.aG[>Gu`Bt,& Z`@i=$P`oF몟b Gt ߿r%z;Y?+lNrz,cp[){{Aժ$ U#Hg[3iG$: llzcu u,oNSQ`C=^` @!gφb_ 35-<ǿ@DCDomuqڡx( .IA HƖPxcTkӨѵݫ=Qv+jk8b`r„ZD>.yΛa A9~k*'꒪ 1nKV;1ǞuM$ 3ylB$"Y^ߢN6%3߉MڮXnh4H\>4ֲ:)$k1h@(_Kh_ FȄFgJȴA6kKuhisx]ոɸNյ?cǖdW77EN^5Έ=`0agC~f CD7^*O6 =|< ?׻o.Ҽ(U=j#e~LP LuS RwVpϏlɊ$_ޣuE;.r"Hfm?&^4"]PkJQJ+W{` ѿdG$qo푫AӰ=[0<`[nbl\5mH"rnzeN=OW6p;HX9GX3S& )Qd:ުQtT} ~XjoRƥbV:G}]rDK b;uHĹ^~/if8޽Ɏ>Z}>j]3PV:iJ:2 | 퀾RNkC@NCFϪwpEd{1?ɋ(:Ye‡ov\,5 w T\fZxj8j·@~i(Zû tS>?V5ss+>}+vs}U18Y^>Ͼl=l{2$tiٴڀAA32W"b;&#$B/޷8!#ڗxh̡\ዸ>o*n32-l< y$wkFty'WQ7zyl{4}0c|z,34-ck94)2ם~w&@r0]kU-[gyJv zN0o<<|f9gܼSr׼xB{g&Rq<_ k.orDRΣ}9>U+x JRw쯈W?я5ɨTi mm$aLmz%GҕytIXS!ހy4CNWCLoh@gV5xܧ ;7wUz47 1Q_ovrU㺥'ǃwܧg%vN" n.sK%(6a8S1Y=Z5ZΞ5zZJ=ƵS4{^b3=>L-%ⵌj1cON*aaK+1{c.Z⦬_gm k0jcr^rTQl#+U7k#x^"} Fq`34<6aUA"2{W#e./ԅ+3bc8b֔u:̹l;.!{9>N^GM O(>f~7I b$Apt+g b͇3 VN[>"1g?d.Y6qH3C!9,qmlZl}UJs=+(hbԯx̒|T3%das9T2OQ)M۳#ݙJhrJRED$|yauk!01" !R*RbxWE(ALtyÅvw: gJMsꈶ>L96F~? };r}Gh{@{m,l7N"x xgpf;릀C3S[VFF(ds]HV< X[>OW@S;^7D:H&&j@p"EgK)Y:YƖU߈a.]≴+{1·=8 yo{%S`ŧrٜ7ƭ#pTKah9_ِo[ 5`=ĔhZyg-Q;lm7UIbIWNMwth9zz7ݱ{>w`⣅͘_6V慉>kz嘇b<(|<,qd|(ps USQQ!΀<HN5=Z->P&fjP3vqNf \* (gߗ 5M nv:Z!?}J*)wb8f"ꓤkx7p=r*c8 |R4$ǖDf~wKP+!"~+Fq[Z Aguv^F*nP%P$Hgщ`)> #).ŁcC6NI/m ۧ)ڍ/Yj(-P[mmijmmmhRX[Kolmgx~q--)iKJZRҊ[KJ[KJ[A"[E~/a "ًghΖqPD@q.^8]`07߯^H>4oH$4cEڹ0N/SX5˪YB9PbB {#4 2k|pΏ kIB<_T%3ųM1E{_tg}ь#/K{B2C(M-bw1'&`2 8+5_ݐ&,LB;H"z1':8F F02ֆZ0j4,–k2g*F"o?]-RXUXωrH\ 59qrHysouAX|]k|>K2OUFd#kfuZ#-T|CF{ؿbE|]yq,?MXV{H4"ACDVm>szhʠ}OMc u{aNs~52|U@3%<|NݱtPM[6 iZlevYNm& -QaRf;6UR!t W3]/4"h e sp7^sTb0g .o#ҾE0}zbHcPi.HZ k.`ڜzL8Xs3j:)[k,ic6qkv|[ g R Н~6 F1bǎj6AQY@b+5.fe p}.v-Б_8@{ @k-W-yt젧̳8:,O"nK߉+d~j^.-M{T(\_O^ SױVKCG>h'iQӌ<Ԁ>0ir%&&td1}б=wUS*ǭeZLrK # ~3Mon܏'ͮ0^QS&"Vw(`?5MjƋ pMV#Ĉ'aW<* Õ>.✰?Fۺ*"YtrȒI$: yayznT *>֘94(~xa2e d%Gin[gq;2ƒ2x@dAEITD@K2 CH$-RON׎YtP*N/N+#4>M6[&G=Ԩ~ωv#͒uJ41ZXDgM$vNJvZ!CJԯw%6sUԁ\sjx1< B \^)qU7˖ߛҥr\XD!sΗ?TTUR`0x ><rda7]1n j%iT+qȇz͟L^ \C,r}ϯf$Z(w|=y$;9ad3u0"J8;|G$|ꜰ4f >/S캱5 [I"EȄA QQEΆ>2 < fCAX956>ObBj}^,Pv-1N Vz"("^(`>\a-ƹsr:g}`+bkX7fx\ kAWaOΞ{Oƅӗ495qY۩Z"Y/.(Ϲµ mtm qtBfs+偳N_!s17<$x)_pmN䇺l]RkH`>j7SrUT?@9tNfiog^0xphו,g0Xo9pmϋy|t{sD8 ^b>N=KSY r p{'1$Fl 9'8b@\ϭXK3&iNyCVPIYȶsb""""y""[h*]B0UJL>"@A\9ǿ~t:h=$ Nf3]sI|P@ݙU4^4X)6.o>˼kS&!v}XOT'4WJh KX. zBpυu=fkbXATɚ96/q# (ʤ,] mfi5wDȔsw6ZBO.xnQ-9֫"9wS:8fF78weYDi;$i+Bhs66uGD'f0u,zih">uBIG_/wLg8В:A15bbU}$hjЬ++i @A xyKe8.-Š6*Pb#m+8'iKZ.TL&՚Aͨ0k86Xc#L| 1O ,^雅V3^ F /K!8Ï}btoG~?($>g^SC"U /zׅT7\z9'Bbtkꀱ @ 2Ifu5--{h}h롅~鿗n'I1&=W/6&>lu.5,tA-p; u xBͪ4yr|=`QGo3Im8qNncB8W6{jU 'uQ@s1Qqi0٘<o bþ-CG9=l9WaUUQSu*nsl T?n5(\$Z_2Q} =5k\7_,gG C 6~z[p|ݼiMiVkcLo=W' 0Yݹ1HFo3Ġ;8?sC4ݯ{n]]M?;1]lsi|^|:cݚ͸qM6Gzj: Yz08Vp|ðB_gdݣ/}3PɷXL$%d\%>0bOwz-Fo N󓰟k9moCb,X|ȸ͎"nec@׼{v+Ne!I xkp^y 9D e؇2=qF?m׿Z*61Q\dzQ0xÜ&?:rDKfk~?a mՎhȭ:"  Ŝ|*vռ-va,'D9`( 3úբ=ҁ((r`7 EsRBD#(gӂ`osLH~>h!u'q kf3X  Ot0 ?ػY򄤈)'xx_ D)f^@ƠH|[Y| H$Lu[%Ikԇߙ)F@I|-gayg9G}@* D87̢#X [m]);ǮWz5,~dxhFQ ,㭁Q9%Ej~Om1l`~.Ѝ^`;y+cz, ;%ߢ[ƹu_5㑃N|b>{qwI2_nte:y7\2fRЪtknVZ}-\~}u.wNL< gxB킰]@qS83l\#v`B9rZ. "/CO *a0DQQL7kfNs9v\M&?48;7<,d<7s(3 R{睆V zǒ{F8lq~kJ> NTfPll 9g: ##.xoC%=b'upW{HfA茈!ngYT9qd.3q)t8kn=ޙ|pjL7D2q dru6&frG]8cP{ͫNW+ugLO' <ӈ&5ׅߍ+o᫝5{,NۅV(IlG LmL&tk6ZZ=|lqg'O7$E*~ Mq4tG.;!o.v@L&.{v_b:.>\5NǎeNuMwG&O{Naܗ`c:\~LW'{2RT5W41dzn`-ob\R={';nd5/#6 >20bXl 0ӝlֲOma{+]n&m·e0C{bDXzM:q͸VMG<++ 1w-Ofdj0=ltK׿eᅲ#WU [+ɿTT魘1/Acm!RZKcCL}XTiMz1ش+\ehft1ltr1\_ovk}ח;\T2|k說檪*7`\]GC>;᜾_n-S^[ skx"`U"" xgwdft;~m@HoHi@uSqTH:W94.k6:';\ .fTXc1 C5@"'q~/8cF!~;9p.# QUl:p;2N#x[#GwsΦFx,cf뷁&E"B+{N-]B(;* G}L8hYKzUGw1~S^޾{3G|c~{?u/#@Յ/ÿ'ˡOܞ?0=?>}GG|Cy_!&F0p1/_[%wiB!:LĖCs4NW5Z!<[tlsrjpE9 0쌕A.]e]W/Ϛ.WG7V\6ɚ rƩ^Jz^dԃ Vxla27N7qI|']e> ~4WIFvK=} Hr9frK4ȤŘaL$mes E?n6k=4;P"A G^T͑'v}==D]#k|nӽ0 X`{Qq*[},@lZLxG7a<+yB=I SN#ڝFf-: qe)vorOgg\|{pe2L'wMLdd5рZ.rstm59qBB@B"Ζ]b8MJDY%NyMqz'SIII\&EQ٧aqqP->y~Cab2 a| ?Ig0X|Vqo=wѾ+:{|O%BCCEa<q{\R4}ͧ7ᬍ@T5UwšENsX ' P; /G|FRa9+$G_}@r DB|=?/?? E zUv^i OTBPr8HAӂktcgA!U pOafn"O'`l7`%kߞw?ŶXH.2F*wNos=p}ⱦgyq@ c`1U7f)5#MܸWhxŞn l/Xu;Wѽ%";Qq7]*qZ;)~!r8LJo׿Ayi.^Qu촄|$ T!(sUH*>S PF ;:yS|P}&ʉ3QUTE '^ަ]fOuL0p7BqCQrI R}s2Γs3 /KbE3Uo,^X, s&:y7\3g5DD@e0EQ|# lP_םq7.ЈuS2➅]_v'vs*᥯)PMtfFTNjONOo:1| 2Wl)\xs?[ٛZo8f9.|T9=N4T`;`(oÙݪǵ;q@t&HpXq&) 0'˅ k w8/ 2lM!a SOg 0!0>A3:1q% 4BHG ݛPiAؼ!+莑[?D .3[Qł=! dU#UM14"D4RRi &$"!("Q)B);YP1 E4 (ҿ!LNO6ݘXwc`RP=ԶA[Y`rr7:SNЖRE.AѢ?g5C(%՘2.SSBQ#v8_B5!Hɬ*Xmq4mJxzve`:OG388888<(n`pT+⺾զ7Jx-d _8/!94|PCsÌ D@9Fa1K比l^r~G _1=Ͻ>JⱿFO=Na_w y[,]fU !E1`r/v=܇T$O|-,ȓR꧊@d QJYC-Oj8uِϽ0v|_3MJͤ,_?v:gу qB˟ M8&3hPdJkRsc1MvLwo~!(R],1X O/_lD? %=tI+1{G_AX™PrroƳŬ} |v|5ց{"(^OY&ɯ8Sl=wg>Clm/{t@CG,[٢ tX'Hn<o@!A]Jylo?,sa4M:0>F|̎F *9m4v]ꀂWCcL=Wqeah 3[}{֫W/ET+?N=YӒvKG(by8ӵ}7R >'rNhճ& Ep0/ci'۸?׌_oL fDCT˧o>ӡ@L,4Ъ^aLʈxwxl0Ug5W=HȂSMވ+CkH4#F@3$@?k W] dy(oZio$>\@#wt'u< nF/ɐ`p]apH[@25L5ݛ|_@]`էx>*9bY  *>@0͚xUkT8}<Ҍc1(>۳(Sz9`>pp \GWn]/+3Hwż4"=d fHhBO<ԣPm; pBfE,$=w.M>ޞN߽$-CFAIJK,C)iQ_ rFbBC0)T)' ̀QlZE$+D5DTRA CE1X)%2# 1``Roy6pqaZ54j2?ɘq"E4 #?꛽ yO9GXx‘A$M勁BĂhŦ?@4:vg-C0.T!R I2':20:hf{Ufsr?SY "4#oT&Bq b$Q&fTFV`|FBB")H% ia nS`SP@`$%Gk|=,9$U(o=v{GO"8nVݷw>h| @o- ?07~\.cwn.~~r>23쑙9"T ~?=:'r_?ë'[|yyOwW}sb>G}_rGP}_{rU{f8c)<'m7'p̞)W?_zϋ|/8h8pD?)F=ȏ`1"Ydd"dS TSD9,\Q"4co\${$M)hzF&w6"Y#H̻x^O!)9p^}#cvO JZ@$HJHFys@I Ğ:'L 32D@ωI,G@a+~LC0s(A!>^-0&gKdDIΛ9оQG#.@g|p#ϱ t@2NaAZ8\; Hb>*U!JyC~khwPU8)1t1fጡXorX'Na2׺p'+PvPNT<إ8ӣ@j(eBmpa2R[9k۷zӞR~[gDMY9lێ^ _U$ْMikVꝯ.[.Bј ؿn[s|鈜u× 2Wv)!PfS\)ԁʸ1-nYOL$4kK3R<ڬU& ,t!guY ML'FnCO J`諓\C-Hlj_0dd@q)l' /Nxa# C"&L8 Cظ跨C0ԩ;K.q18x] Z<N\<_<y~'msP8ߐ^lߺٟKsc\@ ZWXV$A5;<ňv:\! )D&㚮#y : CbQF  oTTb@E 缚W&Z!rs;\_s@ИMdr=x 5;r0:!g4YΕʀр[a;&8`Glr3W8Gf馹;vkLO+d/i`}JB3V4ek-R-3 { ߼W!9\8^л|rG*=9 o$ ,&˴c< x;a8z)Ԫ高՝1WAYmϻ7.& *Ro0}"?lV£qpvnJCr HNsvF%߫;ݎRzuv QU]/ڄ?{@ ?4G V |@ x^PbJ\].]:;UI ~v\8OT-4YGy_nqzSќ_;? |@$W'otP?=e "/N;Hilʰb7` A8|mcNs# Zd3 &3g@nD!/"ӽ F8|9꠆^;X/scZ~̻V+ܝY7gg䤩F)JR'9s|G}d'~p? =ٴs&#t=İy Od9Y.\ra-䨀Vna)s4j OK 'v{aIyaX*jW᳅8w\˘XC!Q){[7X~*tA<0wQ[\L0&s~WajyFס!Mc[/c:X5#PDG .J{s;q?<sGGL vq8\5u,B?8v^+,H:g29nwήőBI469 D!-Эګ"R_ d8{).5.)ޯG/^K 5y9$zv`#~{C\{z&-T邅R$I"è F1{Ns|\qZ)]Nd t7,#kz=Q528Y;_)n}U]6ͦ|2h?N/B^6bFA\@uosвĆN"=Q倘5̓$2fLԶmZmmj6mʃmBkѹuu#Rv.1/&:";9a@$9NC9vNq"ڛjCB1{o}^ΛUy:Fd>Q]畡nepd@ _;Cn &EG[x= ?U6u@XOz ~)mw|3J[ [^x(UA1Ѷmp -:+b.gf` Om2tc0"F|jKY!-H|%񚱯.GxuT!O"fyN8Crt" LG wmDr\t= `|χHNy5v|;zK6 C[Pw0x;nO9Ԍ.ķKC e8kU4.X`Ε1_lO>̠}a+UUijP -!*mWTCGz<>~Wa\>_Fk.xw뮓}f&瘁|EF55޲*Z@ 5Yxʠ}P[@S._G'&̊VE1xzU~"mYz OQCx0Ms_щcԞ~T\4BlxnN/] QwFOl|{@04oǣG>4O|;eL=A1!V|7M8n6Ƈ: p6F%!s1cc6ƛmrh~7~Z֞oVS4y<ތrsǓO7Gg.Xu1#]#8;9;;5^#Hz$/Ӽ:moomPpm({3zo?s@/wPyMs@p7;r sTS wJ9߳Ѣ?Bx~j1KGhaRT(v۟Ap"C'-.;[wh>f>ZseO|z?>~fuCD4NXwwh *$4zJ&u}6Pŀ"jVUX _&;%R~!7b:ghO`>_Lv#K9ˆa瘁يLi;kKwg @[2[uwg>QX2l3T&:_` 8sC> ^p!#0D,4"g79;c{4G&d8NZK@&w}r$Mka4Nv`7R>7qv)9qWsHE `np/NnޯOaCt~z"A"Gc^aEAe0AHjraww]'By|)w/ U |qw0Dgw5F+L㤬qCTouq*O9:^޹F_Vڊү00jvHG{6qSv☶NZ!Ըg]&ks6R36?\Ybj 9h@Q{J( 0b~_ T;OE~vÌH]8U\2HdJ?tQ4d2BB $N1qk%1q> sԵS-I$ߠ{dhvFYs)l7b|e^ŢψI9og)Nr fGm#e[b v_8qg]*6װWӦ<*%ͽп%v 4^ whi^AN]{%)JqLON^A;Ϗ!''??hV aX$_*^|oklyDq>̱m r ԃ(Ʈ]}=o1c=6^>cR뎋B㥸qb:fe-"qOw8MQagy V$q(1cm u+h\v ^eÍsQvժ".|=`l± v;?IzĻx+Ǔ/>k*;^,2jc58sJ쭎[:Tk,c9~>p}Ќw8;+^zhDu %@$ZE ?Ţ*Jb %$H@0 B!JL 0,% @P!0SJDP;Z1SF4bbJKf,U(5+"([ $u** ٚ)"CJ!`J@FI26H H/$F:ҠP`SpDBTCDӹ3~+ z9A_QR lR'"310A VZX&1LV8NbpP,{@(Ē QqFCYR0=x8PA^ch ` +@A ɚP!=mF1ΛvCWD#ڛ':kK`SYP% 4, &<۾RԊJOBQ`C4H(KCL=4<OߡCm1 ; +*Q1*D`!*֪ܪUPZW*mmj Uj-@=ET@, H*;PW$ O* O(CE@RP$H(Y E )$_LAP%Nb*9"PPULM% P1DTTSS@TT1PPPRDR' 4?T$BpiE%P?u3z}bOOH&POS@۾/ eAy~d~1;լ|BFB*`Kt}MI;V$g# b QH5T!?> 7ӱeAF=ߒ2xjқhE`x?(mS;กqr:/Wb/H5UsRWtyp0}bj!0gB.)@QVA9JZI P`E|$ ElRUDo(LBeJR%~W ϛ18x(pxIv @dUQTUϛ{G*9D"/y7ev̘ۘ5?,c@HTDIMA̐AL^j`/TC'Ο!߅L??5$&K8 pk."mZx"2$?6+QYavwS@?w:A$ިq$s$7S?ad5bRFDzL`N2>xӯO߳{thUka/>;Ņr\LgѦj鴨'AHd;Z"6GMz<\Mak-w6H$Jb"AM_/G/޿oo/7C:HX`CO9vĸu4NZz41Gy5_a`8 2AéTa7u޴aF{nl5ýXt?8?^`vpв>5[~X_sŶZn"=PTC+4if~|kݮP^2>*c*Og-Èٽpl*;WQ{)>h7C|/ 1fjRIqDR Lɇ`5[8d$ݧ{ǸMbbڛ1tGeO\t vVgq4n P"j- Z3dXo P QRx;4aX!=od>ҏ 3S9)mc@@@ <|4z@1d9bbhkrB>Eޖk=~o}p?3g-3v4C 3z{̀wl9AB\ڛfBKQ{y=DsLx6j~q@$@;ןNz rN!'8ytaahFHr6O%.&西?!0.SY`hsj1 6Uxz8AM _ 3r˛h7X̂ORl9E+e!BҐBg|~6{/<֡@IjB\5l{MN5y'1Ba 3.0juW{9ϒP,(^G7uϴ>nfNGGU Z?vxGNXG- Ѕw> 1\pABD4ݔ|Aӣk@!}ZAg}ֵIB1'M}Մ/p1ׁg8㋩4FD|,QAK]Z%ͯ@?4tЍBc!CֲYmј[}3HruBVCB"@oᧄ:׶]\!oy}_st:Jf"p`ǫԐA!jc>Y"< G>nZ<^/} -_r m8zW j!fj/%u1hxWmWEihWγ 5z@Y5wZ D:m 'IcyKVfI{rus*{wlv|c0ą4Oٴo/^ VW׍FJ$A׿xv˕IڰLPc;ӻtx^FO:ծ.@OngvK'EHq A/!tcP;Ў|}ȕVք }7WG R;狇oݴqǽɟ<+2 IcSJg8~F\7~6 yGko'0sԞBQEQEIo1CTuh׌zT*3eg͍c캒ꥦ.66( ZM:zJYh\x.Oֱߦ)M'bDat, x987֢7.^>;F*d '|)G ޳X.F%oh6ٖF}C+?,}_ n9,')Nc$SV3\j< [];9x"a `9':e @ 9_-8F1tknݤɅ+qnux2`-]6tGxB%4uȻ;Wų>x2Ngz4FDTmpm^=:-}KTݰ(ØqLQEQE.Lnw_㳠-mgF+`* 0+=HtY<$$ydVDm&G@:l O4M§cٜX$49_VKM=14WgZd;Kh ٣j+Ya`YS[bk #|<ò`>1ݓ m%D?EGt\fl(Nlo6򮡠rQ,Ӏ sǁo1œALpOI]F Fݾlr[ڮwiUS3= g/FwqXzM;`5~*  #Gw{Kug!&]l]}ߞJ; G'O3eڮGl4GIw΢-%cZ gG*ս3t48TĹ;K&y0sϹգP,# :L/ [i+,vI'VNAUFB66J;ܨ,pW\;cD6z8{닿kk{j5/u%<68yResO,www>|0= )ʷc'Wŭlߧ,ɬ } ]%q lX{1 `V!?}{mv? 6]/>|tZZvB#3=|r}F+~B/s&jw}2^G\)M<'+9D?hɎbHo dcB 3S6*N) 4kP4GMZ=Np--SGM$u#h{.|V韫>PuoJ >ȩoz+Y1B6y3:X ќWP 2;'bݏVS 5jo-:~LaўjVɽ=`!O!,6)WwdB&=1QU6PapTaW01|{o?sGZ47@w9mt?Yא>Z(YJ^o_' &H H PG QZ?LyFqݿqLr]QT]^ fϰy9THs%9@N~X^>_C]'O3ّSB* XCw O0vhH~m NF0@ h܈܀ )Bmi7 A$*[]L{0(+Bc[zAcs?ycM{{-`(兀tq|& {}W|_hB@&< $QCOY|ss]yv\yZۛ`ÕA1I*D-m6 &Аu.p#$m kEqJɿ.\ONpƍ[:imv`O_Ef!^;e.@"J`3 M!:?Uw A~eprosʳ/C xZ^2'@/+ϿgB#7+CDI(J;6MMVi;5MQyNQUVҪn*vSp('SObaR90\V!{0/sUQ’&38E M4os\0*<eICsjIl>Ar3P hF$8a(%¼XjbJ2% 3]eX)aԩ;:RxD'N|5n,0F|ki iQw:3&-fܞ'XZusVwU4\{I"4jM(߻=֮޽ ·r+γ(>bHBw^H(,)olyr)!t]-{8D(0%ֵnˤ&HOxMD9*dWߊ .P.FEsCJc+i6#cr玩,eA<;^Yf:f'ϟOCjK @4,,@~m>}ndzs[O2S.堕J! ?э ڟk  @+o|Gz-qk5r}?`f:?-u=n (*~(XҚa1FEfj=+%>|'G|~bb2b*!:?>3fc =Dlgݹ@3sy''UE;whtUQR%N۩$A^|2 f'Sy}Sp<ȃ!%bԔ z$]U/j)bs Ԩ: 7TUUR-c |rhZY/4<^UJR:)JRX+H:o/_*B~?I;)d7~FQVҊҫ-]ۯ9hVػ1,ay6DQEM7B~S0j| *$jTM4%!N}z8u9<(@~nw'^jG*#iu 6i )Z!tm QԜ#*[:::+JN(NcBGhHL1gC-'nfO^/TOgfD}2t5BoT;T]Žbh O(a$wm<2 V\3Z?Si͡&Ber!С 0<^M1!P #jzǗFx`I'"bPl3-/GXԱF#dLLLLLLLLLLLLL}߬Q39|+G ,Z DE x.'l7O~# HHvAFq tr !+U\[/ pu.X<!aE4=|WWEgj8L.zNC =*c>}<"wgf!^-1蠞CvMTgzcD@`vc$!He_|mIePgc ALM7 CQ?͠CHf^00Ǿ\Q S]lb' FL8gw%3 aUH|U}diyB[$q- |?~>_eřkk6BxǮ35Ԍu$ns:lBmvfgC ?EB[a?d^U~OiXlst/pmH]8cl+)\ß=wg-C-cٯxgELCs88Dh¼,#H1`ȸ?k@~`"SPB@bB)28 Ot?0Ý3"0MQ DW MEl-v@$>yR;>7:ujt/뤄= @v{f%紷NT'0AZq5n &L0uLL̥35EUR*O#I`&z hLiyTkf{ `}vZb2j(uPcd F`U<֫ٞ za@#  xfQ jݝmusnYy$yxj{ 4ש=w31iO=V%K14e4P,`p6댼[gU̿ n;1C) ;x|;gy1D!%>1un&V/ $+Kxv;Fj=Ep|MIُ3Lw^&3O}_e _Ѹ *GVCO !C*N:*0=mnUm8TƏ("2wj}Wk1Os_%”Ӝ@r{W>@lT\ǛlAmz"9=! )˓p!2ȍ{PX ) u4"$.H5Ԡ I?3\ d0&8! 8>-TIkkh5ߢYߊQZb @/CV$+1gw [-Jћn1UT0.;Xϐ[ݒvqFǃԠl?b kcSt%ISHݺlOkW ~e#X][$pϲ3"[(mZ4救PY]wA/$랙T\j5/>‰ƟD 4cj˳~ <K^--@b1C- S͍ޒ3X6_lUWt~:g`)21KDJQ0E2V4GC_!0R];D<9KM~Nkr >"0)X0w1AXI[$7݀S |%s'Pu2(G՝iE"Զtg3egK3B;SbqS8e~}YG¾[/bI }- 0t.4T#[6 YuT|IdR°!^霙)($}@v~wFvxw|fh^DJdG`BR8tgcv݀<ᘉQ͹L7SClmh~h`w/c^6o4Un#Ig@P>=ּs2|D 7 )8vB(mӏ-c$, :d(BCRusO= AvAMK:DCD~?<͌+G^h]?86$VpY{>Ye⺠ /"Wjn {1l}6b!22c0u+,!`hPfc!|0CZA(!3(29(眀Ul"G{lBQ=#R  f!U"Mܛxm/-D lN8$S,W@y:P:@kiGJJ,a$ guqroO}-)}Owc\ǀ \(. i@a\ ~:f i߸Vxf6BF}61Baadׯlv6 qzȓ'(Y[ ژ8v ]ܰ]N5Y<0s="3{/h`<HI_|uu m@5V:~K@x%>ۖo{iNh\c_.ɠF L 36vTKw#+z})M>_TNoiR-Hf[?Bb 0+9n( sϠTH6v?QC"j|"@ A R1!Pj7[Xf{  |J\+De#ɿ9{,|/?r@Rh3^22^z}S:8'F 5  ݊y*"aXR\1E+:TUd~Nkt&so}_@p^wN ruQ̞$*TO@[dE"vWoǞjOl{_Ȫ| T!ʾ}/{p04JW]5-=:557xs*b^TpqLkue.,'-KRҕ ^H~I6:L÷5R.`U{@ >>.+wgԂY 3 lx[_X}iU^}~!vUL;ja?"-ڵ'0of#E 1\l0+13 P؏6VLs**Tt̾_uC,ru)qa+GWϳ2v/LY '\(jL-tF܅I#:☋B|& qZl"b\j#IaJzT#8j ,Wş:ROFb M:h/f2ﮝ3ǢGnȰ͑GR+df")zI9FSJw]:UntMڊ%!K H(4m4DJ e=Pˆw>Nr部d&HI2BC42r+]g= j^3e;m|>+*G~$K=#-vd6͡v"HL| G@!i?Y^p'kl?3$q4 ̅sA½]W(^TV%8C%+3WRK.\`lω2?Y8$IIwvPQRUص>f8~if)ڙQ6}% !uUJU[[任֏>Unz4Mh gfwN:jCF#k+m1R,NM#B:8Z6d.a| !=5s.XyB=,5U9D;v(H_7쾞8P΁L<9t)ts{"nJflt]Z)[m@>(Þ'E5TC(%Xqi* IY_ u>3 O(-kT$EaL"z (Hϓe79c~ۿ <۶ᭋ)e,DPx>U%9P"@wF׋0+e&r?v,|pC箂ա*w4{=9RFܿ}l&Gˇζ5Q<&>_<ʄ!Uu]vJ|K+soǃ8=8-qmVVZt{Pk<$8D;F~|&E+ Pw'"{o f;lcW\=#;;~`ok/~u]ͭЗEQK' )Ay! cfa[GΝ3^t+>voq8;$zŃ0 !4}۾u]W=sX1ƲG;>.NPRxP0:]H=%~X'ce>؆ĺ5S#/ξ4O|Ν^a("+BB$Aa\(JB((JB4.`*{w-flUMy<8`P'OT϶?>*!)j5Y!4؇n@n^Ep%Chڪp?ܳh| -G6 :hRtТ4q^z57˳}Nַq7#\is8]5#rTnɃkn;.OG,: S}Szo򫧆d g6!Zx/5etD gVX|;ZpHܸG!p X'toӴr6i&*PZٱ`42SzcR%>XN N'ZF~o6&L.?|IHbq^4 AᏁ ٖjܼfXYSozHP@L m rh0X؄2LGWzjkC |q{Bocy%`jb&k0>s<+_7pA!yD~t{9jjN]iQn]D#Q<wWr/sŧvttco7t~Xy:@GxX^C'# I%.AJO|~"[GDf*JrxH.DbPaS_s6"m_ 51)B;~7O. ?wj]{ukT];%z$ۋJbCT-`c غ eA!<cѹGG-R&0Aq>hP#9s  ~&љ(>Tق՟0E,e4^Kel @{"1U Onmkb0I gٽi>1uCR%~-gC΀ B{huPUm'U뻶HGH$.[M([`|^y(JIV,21U*Lk6 Μʉ"w3jzm5@sZ(ذ?^/m†SLj24,wX\/6߇LtNML@=ZzXf ~'X-ʩ9i@ k{ݹ|餚[QnKH>7o![Q0CpU; S$D(q<4_uGDѓ僧(d_lLMdcYqkIiSr9ڞvnaP@% ;El 6&8+A31薘.4G'4= \~tvhQO#9 T#IǖV}?CiPDzsaJ-A[_8b jkn߰HT11/"2W#MЫ@bW MrBh8aop $__3zҪAmO>.rP=YmD E=KץR)JYXjZc6 SdNm0Ag$bskgO=}QO4S@}kQ:@D $sG52ҜXk.R :Vňqah\5tl '$%*JJ91c6l̗[>[nl"Lt5Ȑ`0&B'ˋ~Er(Hga&g99x_҈`6Jx޴ K!Mfjz4 z:01c].fcU)JRXs2ߖ}뎚VHځ ~t%޾$"ɑuޝ"&-bN:XF^Aeۻ[4I&D<$*I'>M1cs#@`(hG&rIfvM72EkΑܣi 5u1b"0v,}7j_l{\cok&IS^zhOw2X;T#渇vt@zr<7Nx4ݚjFxJo-+o\2OT*|`#ݲ%X98\#{ ӽ|֗{ x,amlV~o8UQLjǙ{V5-#]kUJ}̛iٕ8զ(Zt3ߏ);LY VRD1F3GfGtݙNIj,`C˛,3x:* {ƝcwxNJ:VL@0̻Ei V Ya0Sy(wqcOmTw=@w % M?B$$CG?)䧐BXK>rTy{ ૭ރE">F̜sƁDl=y,9Ho'""ECœUD?!jJ䙚]e,_ OV hnkHUeSKh"zZ y?x/`.!p mR0?}ORXaPiWQaaub.]EK (, nSŜJ(J!A$g |U+(~9[%O朔.hFaT'1S ! C蒥(,H2Ѕ- dԆBcCZPST4`'h$h׈ЊkLJȾ(&p# A"QE,íh(Cr;I(0L"(;B4fݨ̆aﴂo,P/4OWOXNMݱJa|4F)n`yFMD-4Ht C )0( Aoxb`IQDA1) x$WϼoģEOd S#|e~>L PuX:'qiND텹}`0:/&yTU./[O]GGFgeOm c9e_sl!Zpc$DlA12 j!Xd /?oޯ?~91bᄸzP.sY>~>ꪈn|#@φ:-ca} (}pYu*FxbuE|Ui?gz'ـ@?ٹBZg*x|CDQ =SaYT,QpChENExh${,7 A:C|}ÿn U>RXsJ Mc5 }%"'a4b H3n#z#چR\g 񲅯Xi#@yܵ@◍|䣤z2g*;/}P6s:i+O5 %hӄ+9j^SCd5 7'>ʢEQFJTm*( Z?b=js1I? `BN>lt(cG9(<|+՚tkպmDsntL@؈&SjSxr´u5`z!; 4<3Bf &eV$OpJW8&I 'gMW/P2-*㇤@@""냒0zV D f 4a7}RyGB(˘E>_x8,_yͭvo-8M`hwCcH?'?^jqAմv o$Aa?st#baɡ_ΰrxy_[I5_FRCN>x &gdƝLr}@sČxh"^.W1Ch`_5x8S#D+J S۰݊& uC%ԗ腉zX aPaK)Jf^jtm<ɑ+l\߯=8c6FP ) W}e?ϋ_Z/^5~Il=`u>S/vp]?k0@ l(,`- s`sÑoKl!"; t D PLw40(|}N^読'2vaWk6oz]"(Z2Y05DխB@i8\m͍ѰJ-As>ϸۻҔ_۱m'\ttisGdLP(~i@Pj/bMSZ%)$~]-':y-0G)/kȗa 4O:aigEMaآJl@PAߗ3#0%6ERD1&YDYۼXA~ϿًX[\-\ N x !b'p}h7қ 4- ψ!+NWs# @LH,S>q?=kYyM2l eMA϶puf0-U$.#$Oy#5Σ(C#hER!.M6rfd' )%D$VZ]  N7S$yӕ:gR r*W¼vWgF|W0x[yNc?G׳4rI~@6y o8;WQEEcݝ2J?j7d'DFF"# ,2-Kq!X^,3@o;;E pR<1j.;v<{yݛsZ;D:q+ Eun&T>X ԮQu3 T@ (QJ} q(zpTS( LA<@|?eBDyx ~A9<#G's^J(aJv +힡[^VJ"(_@~s Ysm}~d DЉ]? `1|do*`|j>G׬>s1+b۰(n-)iYaaN`Nzqqq5`9eJ`=~mij/ B(Ǥt6i ;"Ě{g %!4 PO{8πÚ,OODǡA.N # l-T}T)c"FlϓskJo_t"5p(]QWG7y6g"_71"rN@)“ܧGG/H* +WR# \ҥ,)tUnX;U)HDޮ). |S*!&S}&؜! B)"!y̅a hc))J,Sq- FEU"A@]`PT. `aq`XtcL@BH=9 c`Lt~a17cCS9_Ofن|v! !:_/#w^#ڟEUxgPAI{ >1E&@T5ș. ̈́œ8*7 "D~ܔJDԀ~9LEDUU Z:^/ǿ^hήD8߿yjq Dh,R Rz, ^ԡ)(dNRK 8S^lpŽ0JpZMAAƕ!dna mns8 YdcAv^P}I5EUTUU/d0l2H $ Q|p(g;  >dJXDjɩGQ@*N7Ñqb  afnki`.j)F2vP(dB0`vc`&c{vNQ"! 5kHE:>Y8:Yٞ\/π=`(H?;x"z+[-*Vx"b+ RM(Z~Z$NƄLL0YzHDJRw)ߢ>䁂]r?GE[%ഝ/C3sru}>Zjp2j,r2vNPAJL5pi/ě( *0K U+uC-94CRUQUUUUUUUUUUUUUUUUUUU"(UUUQEQEUUQX*"**da z98n05<5z|MTa8ͿO D~q䐧 7&BwFe ^$2#3FH!ERZ @}6+?) NiI8Lk{v#h_R$hiZlujէ&ǔ4M8`p2NEL^d)} K4FˁxJ"Ӭ33D`\װ08 H H4Y$tK(H! |ބ, x~7  8u"./B_/1\c`E7WRsR\K;ˑFNT r[ N>۫`($ n cnqO"C=G>ƽv2>y~;/P',1Hj$!HrGh%o5M֡=ϧw!F,(Isr'*W:lCU@܃A7D#κtI0wA FX9w+|5d2*#2P`@bV(R. T MRw B!bR h6.bm (06N@kAO`xf>M7t p(Cpaw?{G a6 F`B(3F*:"@2j/m>ȁeq{tG \`ޚl@VjM!4<]iBIjhIR&:P¶'!Y\S'W,ȃ4rȘK:jĈPɈ`RKoP ?f+ ą&eXS|bjL"L2Kp~:QcIS!!eu )2Va ) Z7!̜6Aa?#$(ꌣ>*D:@^,ъle imD%Ivų(`Hlb~[KPG߆ 2617L~r]-vm,˦vR;t]'%o/?9#!G9J!=7:9Y!/ 7OdPUJ5B<}Z8P'pnRVg⤽Hikf{m14Mv@=hb iQYA {2U!V:$.s PDڦx촿 "+!GRHץ^{<9R$*ށDd+r%> / J"?C zTN: Z[Nn"| Tf8ZiQC -@Cr.dK Pi Ĩ9b&bjݠD/J`^ORZ}&UI\(hxÛ OHJ 1A ʃ v磣 xz$a!j-ao6 GjX{(`:t?D>$"_5d[:h@\9i HwzԁD+t;qhسt5 IC>1,۵(0 ҪUh<|Ic^rwtA靁SO% ('ѦS3oP&(FGpz1͟Ն>!9d?vt%2GM#އni!E+5|[ zouIOZKaq-RKe- [)l9 -RХ[)l[3Ke-Ɨ1--]lima';DH?}1(Z6a G!dCKӹXbӇsl f)Lf~t_Y11 q{6 Ti9}(Y*RtDvn%1a51-֭eG5L V;(MpwS{8@G5BWD6QA iT8s M@AFA B @"0 fKW4/'REf1,iƮc'3z@\ )\ [I&C'>50CYmj,ihr[7Ŝ5%K- Ƽ4M5d@e ƤYhYniXK-`Yl -%[ e,JɦeM5@STTSUMPʋÀ| P `cBVw&ىd$0 A,T~A"d_4Ⰳ*b%P??N5AXpB2}v r'`@;~҆% $АQv-OI)w~ Li??n ie AzBZJ6&ZN$ukF6.ߞhF?L4$@UGA}Znpw%15Vui^Bv@"֭TDlUܭ4 p ҌRWT( `H JTB̠9S!L]CQ a*<:PYݹ˷֨3}#pMe]9 C*߼8ri"0#PFfyY8~AyixPyk(kx^yq&ȿU|"z]N1{lC fΕ9!w~OK~t1>-pyle l #r#M8Rc|Q41ix$HEM3!^ mrkD{V$9EŎxTLKw)}dg/=CbIsAJT#"V:t) @I! ) ӛH4@`spÜ w;އmuk#V~7q7/WC'*19R1B:a94 RlX's-#;;yA<qʏ-@$y*$/BEޅ<tGO˝_XH1[̈eR6!}x]s9t?ҩ J $'f$?4u ~nƢ5:U_~~UQUMZ#UEҽnD0 E*{;WJ;;{V"QW^('N)S$ Y`++os{EiĦ%FypCއa# ^;/Db#؁GA; hv !A pCj(RsքqQQ0KgNP,;ܤV#* `ϊ}׈o1tD$7;#`CRrk6rzDx}&zǷтU"{z*ZHFXIRb8 !Blxl=GVC3,vzwN`9d>}# X'w)[+|EFaqd 754r80@1˨$2~gV A@5P 4ۄ/+qh} ޿[0հs2c Od'^ؓL 6;`:GvuCC>Sr[CL R(F3=g _=__Vcf|NA0A='h7VIahpg\14]4;k(b c9 / fqOx03ء/`z0]"0L"1q`p$& 66S1YQ@`F)dI :* |xT34*CpGOA_}eAP(??&\X.H(QR#XTml9zACѳ:NݴԪ+!"|T7!R HWD˰c\kmJ8lyiS =&_4#Q4 C Y5"rhYdwuL9af`'ADPUUUVҎf a-QHd%$BU")8UQo!D?yj3Tr+h!b;¶Dxs5jmi?Av iJ= &AѱܪXR#tWApػ 9*X荎י`D{=fXafӃ<Cr qݢ{ h/D[LW~7G4%Ep~㑖ټr@T!z7)8R `iJCV)45i@Xu)Φl?}dD;` ,]:rW%Aۿ =WmJW=2zHd'FlFB+ז"1+v+imHn8jBh5>amsP iD{ au3ñk^XvWa׀hm2 R[t(/uH4 [ P+=2ӐgP;%j$N@jea:*bctoeĆ&\+)6b msA1sYÐx/r !J 6@ W+ /p`AAD+$@0o} a7=heX{-D`Z`l)Cb*]ڈd&!TDEߔqQ&Jh"_2LPh'OOaZE~%TQ~n/ҽnԲӡT Ns 4.!iZs:Q)/~Os=(*=cE<X#;6N!FE%qysot/O>:C&6A+2'x=zT`G arAPem)ܜTv7q%¨M!W!. wC,&\ L<`t2I5wwOU925-YCe1OC!mq͂B>v[-: Wc# 20d#QY>uYH Lvϴ})Nx%y0P6O $pM|>wU(X/ fI4D?#~0Du *JrG*bʼt_< Cx@:ഒ-)B{GBL 7'`;\W1 #*+z >EKy!b0keGWkd@d&A'>.#31$I!yNXh :"w ־|0ݱ~?qE]ztCp$]a{<8Q (4"ċq\DHiZ{d;`/掜t9sFG@>4嘋>4t>QzBOz.(?Ba´{JNcRJ[Ճ P|]ަw.,7KoKˮÔLM+z&h)DRJYa1v/ t>9j@ ۗ~pwwqUHAH* B텝RV$4l_ј_2#"h15h?#AU.SIT5I|l\w -?F#s%Hp?}{`\S}8=|ԕ,0::Eb˱ohXWFi4j@ d:C_hLT%yA(a:"H!#Qށ]Lڦڽd@MbB|ۻ(* '@1l=ot,syp"I[(i[`<1& вi/Xi+KjO!1b){AK[6?3=ϓIp۱(AP킞-?9И@#K ,aA(T3vg@F2i(?pP; i?wDא ]́j1PlC6 u?Ӝq2e  Xx#wAˌ&Cl R~'ؼ_d8!rABG gD\%8P#&NWK җb(_ts7@t8Xb%z2bV&KБ?cK!!`l lR U@?~O{$k :K<7-Hc n1ats9ɥ9ɟ@pqr 8R `Q RӾoKWlm`xBɣuDVIOF>aeZ:.s7m84B)kx`b{1?A(8 2>0v#T%EWI5P@`FAR m,֖?%_ (h!{{Gf0ew1]ta*)JRags߆D߅sm1f;6cP g)?{6>|_O0"ww/~ݡij2(I$W%2L#foWn=ݽ^^uݏ"w $H).()A48o^ n$(\K ;;9,Cr.I#qb#!9 1CŷN,?/T8D< yٕ+YSq;DJ5 {587omе082NJ>Ps1)>F6z>!=K5H=QGaġi@:DTp{ &d&ffBdXffBBd"}:~=}[bիE*T:9! 9xh@1̠> C drKQs /xּzsY%_8;ay2 yPB~!ߢ5{'LڜP%w PK)0,I~; :b  9eE`Ey0ר)i:j"pE@l'!!sq!"eK(zwSDOE:v21AC E_> :'ɀ yX@h Ҧ9=*TͰzlY(YeQqBl!BR),xqR?GQϐ7E0C"* 0L0Nhѽ # L dH@C1v'uH>zd *(~(zL DuW,2`9 deVB0WuV]ݖQF5;`hCay\yӃZ)_$w{}o&haiaf{( | ;觯aL`Ba`8Xb(8CbgQ4v {D;kEhB~{F)? '25@t68Z1Z1 Гy+ _>Su.w@آe.v-S@| ^ (J^&co42?@,oPD@!}*G_j|اZ4hݘnDcjkL֙0u,~rUUO)/>Ҁ$-P*N.Hy9lZOUPsj`n2Df=y†Ǟӄ֍4մ܉zU\125QEPNP u ?Y?\z~ E">8"|匡h@?4$Xdп 4Sų %Vb$!7!~82#1 *O@ ?Sq%ha,ZGxنy2o8#N@1rDC:H\‹I=U䆞GTOT=}=ă,3) 8888([h⊓A ~iTC FB)0*@(zX_h5hB'}~v֫n\!Oxz  kdL,slVf %5 \J. b-4Z'QZK֑;S$k5 +"A8*R -AAT4Q- pmG1D4q^>V5[j5˭)Hø1.Z!kuMXtME{.ă {[𛐅y_vP\$3ce ^8[X<)p5G Lc8'Dd;tC[a:ODa,@Q⮶ p@(DXd~T/ p~(IDHHPjHđ LjO ,>YN 9s=XL+(.E!tw|Ww7DLS2-;;gKah0EEPX>X!bIJJ@(h!D1yJ2#h͟ܟ5V$"Ѯgt EJ~bYĬC!. $HDĀazć1ಘC!!P8: lEP*"iZ) hA %)fSR# *,H \DOM']T`1ߗ`l` :mJdAq`dPҗb:ly (I3<CpHEO ! @5I2 UAC A"vB'&9 bg0Qlh5=P&K ;,vqB'nJT;!`J.O4CC?IuӖ93z)!U=Ip֗p{Owr"3E{HA$MOlp%bB !zÅ!@NpSPIAP;'E%f`1)$o oi43zh} $ 9bXg/ '֋7\w' mKsi)zSH[NTP#o1 1bAٞ1/dH2$Q75x3euЄa6A!:h!s2 |ei`%h)R(BaCIy~ ~ Rgcn;lPˤ;HzcJ @HyAbޠ{:M,70faU 5?~ңzRFhhskaǾ1ܬ@)@d,"PSR,K,dؙoy2s{~!|`*33%SqSmH&\&)P2w, (d94fR@Ŋ!VY)GnH2D(I $*EJ|nE֐| A4CӀ?M$QA Q+* o6bHұ84v{ABS0e$M?ՇHKE/{y4 a͢J 5C32Y"a\<a@DEwSj~hhB' kL~?d#iP!aR D)(9GycVR_dHTbU?3wtۨF1lO>DN@@C_|,ZĹzgQ'XD4"(%E<PLrЖw{G70a D~8Q.yӽ"e ω/kSݡV"WK+b0(kks>s'́ qeL3ST2YDI!D2CڬutbaBJY_=iK/{3uR֡y]yaP7^37A&z*~{XF)\iJu^p5!Ƃ <7{MS=+ =|$²$8T"1d? OYddVA=?^L{?7џ>dR b Co,C0BO=C \aX& >SKۅ[ { Q=R:@ץJc05G ?(e[~D:|zmN fMm&8^h]`#:@''d@ Ϙp|uu+`;!ErWDP=4$"E*>YECS XSPQQl!V^>(h>_,ΨY #MA!,8`p(>(" 9a(mX(eb<tzbE1PL" }zvCO$7Ƚ^u& #1̸r 4B:? !0T!E!I2(yZJB~b&f.Ydpv T`uID~xzrt8-Jy)MRI{j hC|@a `'ƨrؽֻOL×QaaNӗFG $FDB"?2 &,>?Ӳ@$~<mj"ǀӠMK\DtB~:H@Ww7ֽG#HpD76EL0x,[cx!OJT^@He3z {Pr;B A_(% D]0~kȟ>BPUyi'`!PEQC+0hņTlzܰL;'8v_#}%19U9*k,;3m$'r4 oQ ǫ6?>14xKSo]>BAi%@42;nU3J"Ghkwp(*mr Ad|)Oc"$tC 8тQRˆ|Fx+h!H[e@)S3G\:u 4M>y3AJp#ǿru"8 h%A~l0XH<#0ҊsqO'axHk+ )H2B<.D,&]5dт]!Y@`yeI",4(%+' ;nmXbfntnzXdfľ!7ڟVh  MPD"v@"\~q$_8&BEAh(--j+P[JES)s*i0H" `#q`H" !p'C$ Ԯ7ۧI>rfb*B4^"I''`il}QQK(D~tUL(Bs0J2R 2)<iEXۜZT;R4 `kV2bsM[ h)!` P"\W3# 3J>V*"|s",("MH@N!*)jmHNW.f]vbxgx3 E7G{-1_:O114m5(d(P,#-(ҁZ(1JAY%W-3iBA$!b0$@#EJkl4lx= IG*( oݑVo_F~ʯ?f>W71FJ@0 3|L.#&A[-i FБ3vO^%2zQO`H(od4x!BO P|0A䆭['nB%ݲ(OZH:[4i>4>r aɾ:XJ}C sZp& dzA2=zl31*`@!Unz^m |TVء{+{S:C|B*iH(D~@|cD08Q~hZ\C`W0lHl ̪D4eWɄ.Ǜa/<|>XiaN|U}/GF!M7OL2d uCꃗ5Fey8)CYnވaV4k_Usn{cܕ(`$2;sI)q{OHz<?|C\݄7Ww~^Gӏo 6=m}QLJl!+qQb %30bdߴ˶[,  ہh} Ն1T+Zi>򜃈D)GRnsGYȘ":75ȕg,siP1' n46[!m1, F0_t,-p:9;j0鍐BϿ{SX <;zcaΓ zh3654G4d! ]<^;S39;89eN%xpv`rf5y@O&i{sT^lV3ߜ1Ĉi!lϟ *F&Ju< )ǐ8;h%3Ps >"P5 He0dJn'$'X)*)ak]˝{Ƞ 34ɘzj@a {FqP!pXR-c#A+'Q^WHz^sq(C˳:3!mV[Ah^>IBNJCTPP IfBELaOO}=𼱳j"xYbf+D;1FGe`˰9HT+FqC.l- '_Rs:Y(zVC) 9"]T7ӖE'StII@ $*-SJPi"RolgvcbH#{J='0}sܤS(%dEJe6Y4 Ns>; )I"ذLtx,<]'ezَ!:P|O<&3~ZQ}0y3g`? ? aDQj$KπX{y:QDI PDe18srݡ<"J0 # 82LR`q \( 6ȣlP sHItp.A62q өXrb[V NDv8Mh'60x<| h2NsjSVđE.7N왞x;iNl†!?m_B^f̃Y<p &o=TڊwUMqd fZ vꏳn?f*Y8 t^L5i^|!8 څ' ʛi2wFPCl H` / ~yleO)@hP[Rz N4=7E. gJ R)vU 30J&WHbNALLHY`4.AM)ЎGd*i#p$b *pReu}P<Ȟ>@ )socuQY"阮?4ʢx'p?/;2'WxYHd73"@V~BNeXk\ TjfCػZkP!F%0C@|@e&nH~jEyωC4B"ŸAe Rf020Z # "QAIDB$ @@8rҶ.*CHaR*Qd84)HdJԕF Ҁbbi#1@(D4 H({L!}ԊVU { ݟ,9[#Z=g[B~xf3mǴR8sM4%WehZQiosZ^䤑#%J1ZD]臃{ϴ4ja/*"DР%"+ʳRG ^A ́q `嘚SLBϢ$Dzhł "톰Z(1hOM#-TKY n}')n߽O>Ё₧ßa@~H(WI$giԣ gեÆAAHBxRq|$)Ħ:Xs$sc44pD8"b($ Ѐ{Hum>b(\ӭJvh$2 9mih}םzHYÏuݭ-S!DA>|΃z [\wݪTӰiHA בX ZLQ}r0 yuUULB q雂}yTl傡Jbؽ0;sflÕdjDݱ=]E09 k⃜ZL^v^7kS40}qǃO3mljiXI44;9 KG>{aމ`2S-l:TatM9cǦ:D<$4f^K԰vl#wlW](;3gPH]sS|bR0Gl@ܡMGIu 6{b-=hDwZ9n+ j~`YL6D6hLїl &Q>[.{38x,:';i]ܘ:єNfK`ޯ3vxf5@Fhc`AiD,` FdĀC6{xɮqi=kvdהlXit&E=Y<_CXo195?lyZQZ`ي8E0l`ގMtC \u)+‘b[Gx`.;Y][n;8zo7>'CzxX,4؆g$2*N.%NsFȎTU#:{ p1TEw8h0RLUI1T!3'@%GbL ms9#b`^䋁8$HQ9A΢; EN.2f@ɋԕR48a) d;w祱+l!ĝ;w-SA)gNwf f~]1,(xK~s. 7WEV#w9rN]=C5qyxOvm2##CcCn fZNEOd6Y9&i2jgrS妞1o讜X[;#x!2-Jhlj; M:ɝⷛD$Co^cyUD⒔%2&),8`@&} ,7n!0[͸kO{6RˇЁ"i2m Q|C$c;YРt !`QfX0ɸf0,"1<,r9T>^0Ԇ-fSvlΤ2Jf|yѢӊhe/4DT6R mFLo]g<G\nXq8\pdi;ǝ(=-=76`]v˙G3˚7OΆfh԰i!Lnpl} rbi>'4@¡"qP8NA*ebp@ ԉwuA!wiQ3öUN vV!!"پB,  Phk̙/%Q'$@ ,f(b(x̆O ^mP< BQa@? )xqj3Fipxsgg|})Lm<|yvAE @ґ@ц坓;&ʔӤ`>L('ZX689p5&d Su@7hQCla%HW (2&ƭĸs!Łn[&᳇DtlS%3F0c9t]Bbi#aˤI VV% !|U7 ED?)B!ӣGokC4㽝Z!K1e:~0[I t|GAܤRt&zh C煊_Jz96@_Lc'r-`CkF4b{/ (htD <`Lw:bpj sq 8Y5KE Z穂esp\F@)x N|{}TZ9M^n},ܕ_G|qw6!^~-zwȲ\k#%,mG3fLgyRLқ3O)KĎlU@4? zjnWITZa?qry72?͈Bm.rխaݰOw~ zqIB5 Hh˲fkE>d˵fy⧺[?E# OacL6Mn9( l%.4Mn̊[e{,͉'Ď-߇Ӱ-نY7;bv`[(5݆jҞaݵ/T$O{nn`BGy&e0isqH8M0$(2Q>Sȍ;Q;M&dl4Up{s3ߥg=3sUp;"DVJzB 컘N9/|T9 x2.mg}[n42| 7+xuԯ^Q+ьFqxƫږf`&S7fjp r;E|xSA:04ʧI .::P(,4z,Q/!&wB|G&PCYADNN@k6ǖCAHZ'@8kU^Mx(5k RI1'JBè/A,4%A La2=gEڢITR)UXHjPI~ޞP-%ny,$8 BbyTh4M%,LWJn`"b*`sO; e7@;ϨMudy< &yPhUAH@|ٙL4'04bk|@0X) \?q۱2Q$L2@(D'ceޔZ]΀"g  C+e{Д t {I J#H)+sEb MIӭ5R"4|p r8H d` zєTD`D=K!Q!&x>0"Ht¤$ÕG69BE#)H D$CLDBROET NHLPlUPP?Ԑ-J5Gn\Iwe)cEH&gK8Q@[paSPP˓)=)HbɹmEa2Jgן#y({aPʝԑ02ͨpJ HfMA䁄d"J5||d麔|R5C@S0EHbȡ-D z1 I!nƾy)KRD :2QlĶ("s'FBCP f@b @8vvB VI!(IOn5vԯaFAOw^w {1iuxp)s3r{@8 0&6*&4K%SJs HNS*NK2w@UwčP;m[Rʆ?V/wclxVH8 Fd):qpԘCƠ"Ey,2$xM+zܝ +Ft%<N5 DIv=},VOf~_d0L3$ `1?Ut= w=@zi IB6h  HˊҕqwN^Gab'AWg}تh ZHH@!h)"~Cbɮ6畺14L8# }N8ېrARīC3{ag)3rsE`zS!ْEsFfI mE(x6qs[QJ6MpgY,ju qQ/ ʓYpExQĵ:lSkU c}lk$րnTP0t^YĖe,4#O%zlkESէ1fa`KhvxŪjqg lEDjQ=gD#J[j'5L="8 i;P3RV.ʂ8l<5TSg8&w.y鵳qv8xdS$w`r0dErD2̈́"+;t&\)p45Gr&$Ry: !u 32$f&2k3zhze{WnbikLC7:u~"txnݛ ɔtR`hLf.MŢCJp`bJts&C2H!1 9н]J 9-0P=%vaI uE~7`I$I= uBrR`O*kye.`ؐ]1<݁$" DQ;=z8adI/%E?}`wdN`\uZY町}(z1l2wdA礟>{am<=W;F׌MP{1=>T{Za^ PΨj:U Lcnơ@J³|4!鴧W[-/و} Do5)%Y7=DЫ)%dbP)@3NQ?IK&6qڹNKzm;;&52g_:1]CAa0]Tc&F›j3j`Ea C?1}`k-^c/q8X-*mS;KtH78 :q%ܨ'qϕevx5sÑ.YTwf77 ؉Q"UcQΜ8=lu5xsKJ4dPUsf;c%3S JmzQnۄeݧJI.e9Ÿat@" ;bU_=OڗwV Y;/[֞m9ĿUnXIW Hn7.((wn%P$lk1@D=c# \/J!Ȉz$eљ]1C$@$ׯMi趢"I("XddrI BM-anF3!@$Q (CP*犝"0Ff B?byAܗh?$UQDSgD++Oc!# zVA=u!Iڗ~,"e+$_!:N0q3)=y'Z; L|V}( yh)WQZhQ`0HMeB`O"=}zU%Z!5A>B0<׎"NXd3$HUرd6T}%DTdh x! 2wb=;NVTna #7d/>dj{7#FIx**utN }A1!d0+o/H"hl~94hf8O2kܾ뷝 "!Y0"&;cfAHL ]B*đ&R$@@c"B$($'NN ZAhBFДao c)VP,!YZ$T7dp̈́7(Q#ԬD⊎JJ0: !TAbƔ?jE,+5CNYņ-g³[a ,lC3Bs%-)]xv=b\ ٴQ  %*jF&BOI-%fMG2 fl$D‡,ql)9N(,k5 > Ɔ_/هmNLC!H6(-bIKBVqa6 J'`"H3=dηKB bQ[DrذivdfbQ "AO0 `aCzy? xX{حE%c!3$s؟@'8"HL`q]>M!G ?015tWQRBbQRWڏW@ځ 8mZO<EE^ir HRXFD 5zљTGS KC9@PN<^(>!yBPO$R P`~\~{Hsmhq<Ӄϟo8P*:y|8CDd+J&( _.L]H98A`?Z325|SV\`n&CARAEn"/ [jI?ۏ]O>w/A`!)d[N3_HHX3؆P+R"@ w@Q8W<!_P-TI@lDG2Ҩ$v+z1-`u t/]nʏ4l/b:ENO[P $pMj&&pp Cz`Z@ʙ&2@vo4SNa"jp^|9+ aćՓCЇū)kP%*la)1%;C']p!^)rݛvLٷ Br)M_[0}_ ;5M-O7(zLay`_MsV&&yn!3*l;NǷsz|@BVe啑C3nDqʖbCȚ e GYAwxeZ7{堡3ԖY>7s,FykqJŸVg#Z5PBnR/ b@FE43bj.{̺~佷vyQFmJ[=h2H@ۇgo1I$z|ɆZ%IX ?b">$2$%uNP>Rɢ4#t ^9̇qȓTA@L&lxSߡOPw;&:\ü@n:EZҧ%YDZ𘢨LЌN{>K! uW=YԴAyTV ?g!%9&,]C1JD,,"cg b<8}+ xxxRTA_h2mI|.[, >@^BC%t'J-P^EEO s^i֕,uCW6 i%)C23pjLJNi.AgA%jԥ*šՅ-$JBdnN""!JBް9KPER!- R )^UkKNRLL x'fFFB I&H!0D2f}'CU1"GXؠC(i1 BR `=&zZ (4 BYٳ}41 FOJْ?N T-hOޕ~8AVrldb*("`Vh h"B)JJ B*fqJ LT)hRI 2F$J(j()U)h\ )[0Ȣ%1TU|[Ew{`t;ޛR2 fHDCMDQL(q Cڡ{ 5RDS ,SU4!z@ YiZ;XA}=B΂%i+zx/DSQ ptҁ:.eP.IL$I@Q,L2PRHABs!3C1JD 0C -KS-JеL%0̣JHl 1RX H`i܊@ 2"VΛ OMeb"f%7?Ĝ3;{8?&f(iiJNyGzAߴ\FF}UUU:wGz> u*+_<aNwjВ&%&B ޷p4ԡarQ'GPo;ϫWLE/ ^=)$9ܙ̇ypޔ+bG`h®ohY>h¬L8KZX U'Ϙ))DJPl8d1OHo_ٹ< G~sޟMUSQ`H%~%x>ȡQiSM* . cP]zpk. btFOS˹s  B{>}0|'!8_9fD58.H5rc(JcrWDž.I^p̮3P%R_Nd) Nlx3$rd4KQ%TAQWy'%.U}1b C>c~2àgh̹d 4 Doo/6Ek ))Ixn@iDk.C a1e a mB 29rKG mZZ0}mhȑ@ d(FZPynJ[/'hT?ُ7[,QrX1֔XRohEQdUUTXR#7 eW;jJ@Dd#!同C $v18"#d ttPECij0#KlSVK!@Srp냉227/ Uo fCP;!5&pPHR`"zh_v+i?E6FܫQ OD]M >Zh"D0R80z0)a$҉1"x v$;؅3$ ^S  E D@@ 38ZEF)͟ ]HПֹɠMFśF`\7b5"M ʕ(]H*i|u Rb!bHRasw#1TELTLKC,IQH̤=>""bu%@t~)%`'⃏}oG C]@K9UQ[i0>|CPR-0H+û2 9Ц.2=`hL=th]k. C\N QAr6j o\<沪"*0ڀ[m5۱Zם| 6X1UQ*u w}Rib!b( #GR`%lJتgEEX޳A +=̉~OEhyvH>O`Gq`BadPĴj-о>)ʈިR@@3z sֲJIBT'QQ.aSԳHt/qft13"ҡT9!GA$pgV%b4vCSh{;?~7&o'^7DKvG#\)FX%Xx>9O~o_z+551a3t?ebÏNќWN뗢+s-xs?Ns/KyR*\+AOL% 9<\8}p9L$Žuv^ѽv4-Ta;aq5,#s[b$}8}oFJ`a$ !lD,P%l%A/BWtW>ʱG:ejAOe=%wV M$XZ 9t DPO_c)4ûlS$A' |: пh%yI9`? ~S ̖ \Ĉ:BFcL- ̤Kf %L B yK+.rbSQS<ઔ9A ɑӎ-?}q" J l:&$;oKp'bRֻ:^}z_-޲)[u8)u]7uC V:`3N Ξ2of}%d`ۮ0q[C* !PEkM9 ,`܀UL{Κ%{o1 L|rۚXFTV(awv&RL~C (H}- ESDW8d5"bЂ4J@f6*ft#SY!6NKL`\v,A"X DD A6 A,T)F"xO#D=uH L$@Q7Nn(eR(.$2:]TH`%֑JвTvw9 3YEM95#} "92n7OpH!ǁSIWUc)njɒrbܞLG϶HCJ~ԆR,,?HqD= 7zmijURО%}+6SрGDf`dxL8ٔVPU̳E<ЊlEdJ&]fn$셭lY]nK)C'y Ե̸lF1b,TF jCSrsqigDkY1PQ 厃"ĩFRhHs$ $d4O1x3i`%L]h1y&Ib:0٥C X#v)4L:ry3nٷ lA류5 h1Íe aF#ÆH IV'^ $BB..ՙt3ZVS uLܡ8$gyuD^^^n2ddSS݁9I`-II8YfbBa(Et @(diVQN`"I A~}8&T `YAe}2w)Y8Pd%H"KiN>M}M9~JGBBARǯ~L*Mpۓ!<^M'g S|9 Lԅ ~R jsj4% ,TI n]Q-JeB5`Y/4 ,5Gl}82E" QZo@>žŰ𑙁 O{916Lt1pQw_CN#0pC 9M8>+yE!I@DLP0'u-e_ C)ג *$a/z4\]-Z n%g;Jdd0ayYEc8A ! e+&fm % )*7t$'iy49"B#K@a& lZuDn ^ˆ"xw#D$$5 Lt%@!h$AHz%/s"+#䈆.N깊{w@ 蝯͇fžFJQ7Dҝ"w6 ŷr3`9]H @'o"\RʍJCVUAm%b kv'lx.OJFX`QhTBM#(KLJM4~c`rXQOC^oX|]&IJhs]~<5Pnp'lA@,,-ōA`/ ASXOv|9b< BhJ,A)w"4hCIA0s*)bKK+$'%*[ jn `Gs4m ADZp0d5l 2ƺ}}BdŢP9tD .inup )HU@RrMLH4DLFO`Q(Y(KD4qBһ\ @ز+5!8JR pHXkI%e$$dE@B 0@I4!:ʌt$"" !F,AD$dhC9l33DH=!J㬉KCvU:uTjM|v4[>^GMΎ]9V s{%FfX !Sj^ڃP࿢lLF2IFyo V((l*)&)pu}p#ŗ|5>b:FQ9< }s^=pP2=0Th%#&:i;52CrKˠXj(`#UmG} 헂\3Y*4$D ~X^e>z_Hx ="=1! ()`JxKBfDYHcd(P!J! )BPi(I+E* jCB7% -u: 5~~\&U8aL+'.$~X(8:ý)p'O  OVP<ܡ T؄:DDuT eC>q7%?!"{I$TP j|pAB) vX'$8P` r4(@*ٷfv9(uBL]%“T:&9DE.w6蔍4e6DI'̬̇\.Q" Cr?Hw3 Dz<Xb4Si$'0[T^]?9ފgR|Eq+t2M-cyAOl<vg`rjr0<(yyÁB()5̜$.<Q\G.NzNOǣo!!ZCUMTM.f׼M|t 0M ;y4І/7n0pאiR3E橭1H77''.^3My,@ xrт$(蒃!-?&唃m^ӏGV9tC8wKM8[ip&4KRAH5R@3ah5   P)﹠^lP7h >A1C,l!xRWP:P oI씉޴o:,gS/iOHH} 'htQj+."zt@`B⌁$1R@&TVJ9DXlf#RqJIKŘUQ43 ?Cjb:>z(lo1VgVf[ZHYoNY1 !9ױaꡎaf+Fn#hGnGg#P1V g!ߨd d40d`'*.IP1S$9Wk=2^~H(*QaBha!VIB`lpD5]?x_@>"1PA8qGݬ@U}&l2:@>䡯kB 8ߏRݓ#RƢNM3myNY3kd꿒/J^4hpp[B d$XpN| A Xśi1(OSѢɨoFPZ3*edJb ?w00랂>)PpWrxNxe!An ¹p%uQ^%n9{(߅J imX0KP1nJGBU:@H@QR)`a>A9j!9NS@|a%qGI`V5$Ak jZbSbԣZA+`R<`Pwq빹 .R_&CBdd`$rҍ# C^AZ( ~ZÔyR}p42 ÁVJ& ,#ܑ 2HA)@@E ,)KPM$4PQ42#hzepM:6+c3R!KoX̋$ob!j$R ( *"R 2)1( ! 2PDJDE >ad(v̦t)˫i$!!l:B{7GU4i2s ;/Z AC@/0=g_TVVu )HnR$(B HH0 Rʄ+@3 S!4AAC2 @* H` " I Z&&b|iڢ,PI^L" i P :5H O/VF\!9t܉B҄HB,I1# h =Oȇ  V$@QHxJYBd!3CYq9+eW;(~CMhO;XD@; P`O&W4~ 3۽v}R([E-%D!IBL"D- Iq*jb!5h4 taMDSyϢp{GPAJ"WeЇ<Q?= B! g71ݻ};C,O . aWCXV&NcSX6"r:³HГR@g7 @TW@pAK1jXb,\ 9ILT#s(#s*RP.JO"f[f!# ]O B+ؒNHK1CP Z)P2 p"J"N&u@%qj$j%Y52d&B PcPsd!D2ЄT@s T TDP@*(3c B1!T Y$"DJlAkiPV2  .ZO8D=@`2X |&H@B)5(dS(ʲIZ,XY0Հ%4`YjTUZA1! LDƄ^ !O1I0q{PPDpI=+PB,(Q@M50P$$ " % i@9^s" eT8!)KGl{+WGtP$Ʊ(/߆lEX*UZ BJ3t =f<ǓJ ߩc@jWe;&:A$A| 1vʹrp` NEiiP`l)#5=)Ws2)|ː*D *W2@Y|} D`hDEXr5Tvq5 P5 $KrWqqQuIr W?1 É n>5cn1fN:fP9'/iZΝkY`'Z6?@Djd\V*0jVO5C|>: g** xޥMl&f\$̅PV–іN`c,Y30ED_AOSDK6?2~u\ZakH0 G D!nN~Ѐ=\Muem14H`:ŚPȂZ X XB*$(Ґ.|{E1. ]3igbQqdQ!A@%@1WL-i20̈́ AJa)\bQTFʓ`ș!!3*.N4.2Rп|_33@hR{@5f&^ qYo$r 2E C](Os>ҡ셹aC;B,~0c~6жhi iJmmNB ,H?'!J;8\ I*o:@t@|@CBTd L@(K- 2p8 U:D uAH lA' &SE!&e(kc@@YXR%Mf,QS1MuU>XyDānʌIDTH$3]}Xp/28:7pWאH , 6n%}{@hai4k,:݈Z.i*7m09BXrtάBT{SJBI$ =o㙅P^ʙ! u{5 RBI|0 d/5˼640rJ)C30b" =Ӳ* 9с)%m!{S]ur? ȬO=a. $"(h&! y'@?X1VdՂs!hB*E(jOBj>n)xM@I# EAE4DE4B^)0ST4J_D_  B<0R!$,<2ӾnF0Q)Eeu@yr6s{Q dP f^4gĨ'6h!{e) i'b8JB#@h(" vyb+K0=~Bf$(J(=afbOL$h4PucBwDrJ0k ;rJ4L{`r02FRh(" CH(xk SHrz] f79%2PA1Q$+߱]P(~Ϭ '{e 17({"G椩&?[}v!|}<ΞdpES<< ">{`ƹ4{j>"^5 *ѪPXͷF Q5$3F0xE# N%(s^z#H %k H#W?~WzA{@}ìAa` '}ˏ= l9ώN~6ҷ:~$d#AEEuCpvlF FyWx.PHvpJ=$Qfoߜd1*u^4oh #'ij1?b$c쳟-@E&q[X0,=նoAJLa&2avyW^ʃ|w5c٥6R2Q$ p+C&5Ɓͥ Iԝf)L)Pװ^214RQ?O#Pym|0`Q*(>3:'\#X:Q AA4m:{ ^O e #_`lڐ&fgA]u;gV!nliBNA*iqd 񰆏>:IҤJUS990RxyR:HtGiPC5 e  8<|_(ɽ~hLA% E tH?c8EO$08D'P#`_n&"y{T<as=$#PO󋦂bӆ:FOP$ zhԢ @< + glSFP e܅ߑNnBzPR@vIMeCVhޅr E!l^)N S ,- Ef*beAZ"fi=ɪ ,90_¾j>{OKl=  &1pd94SaIE'-2Z5jY*+^:(Y,1LM6dbd8Nu˄LLj2`!NF,DXXMaPУ&2j&KIqd!HS % ypEE+-H| 8UaA"1A`Ȋ(xZheXV+̊c &TK)&*I+YV)īD3 a%/`*D}`DEB*XHfuX$!q+%Eʦ1$*baDd3M5Q=ɠt9L1i6i4ݠ,f~F'BBq8jp偹(R"O<xPd%hRs9֕08r, %9""L$5&m[k Nb3Ձg;wT(}^ʍ.!ԡ`1x9OBXkKC9AjdZY}ΗNB6LJCqqCD$4B zUTȫY$Etd$VS.6D&ɸ  z<&m.(-Ìç-q3I8(1l|61xe.I\$' !llVČ>["b(:u*!L t!j M4ESvbM4$j% H*][Xa«pHl q"(GAz‘* @ QTQ11Xuu '@1!U6` (5E S3u:PM)|ĀWi]+G=' OLC&GGC>(iaiIՀ &2R `H0 $) DTRTY '?AaƋ?`A~)(E* `j] y@M+SBCRB5% h>b ~GԢʀnCkoh+a-̙0\UUNɎi_? E3=5LaBX";"L8J2/[LL)+QjR"?|GW{ ʪ2"SoHh/L#YA ȉ>5(b,)P"gM 8"-. b9+Fvvr@A8d&?q CShWi႑ D֐0EHg|v>f&:|rRa 6OEl 1#w~K-GNgp)1K0O_23aZJ5PsPiJyqXSPBTd)O.`?0.b;3!eK}Ģ~90`*M(g  w !ERHކ~~5Q+Щ$F tR-&B"2I{'^ 8!~Z TD4ЁL@@B&g ?+p>?o7?Sk_}?lF2{/6Y?wC[so?c߼TO政we/|Z0'{U\{x/?nj#_ꪯ/Q w_RTѣ)O_P(s$&S iR$܀S$`S_fQz2_\9ya҂OLV_<|dKEs:8nt'Sn@ t0!hkF!X6ihŀ@gI`"c F~(3!Q$\ TC_S骪H`cooMx(CtBB05sdF]7q3RDfnj\pH𘗇^Dv&0L!vyit<\q*ʆ̒ܮƠ2)*`Uӑ`  TuWl^:)a[)a6@4Lq߽4vhY-r(*H*8 ( B"mTyq8f2"<%$fP 5Hl$B `lsqU78v޵؀y_ה_P÷v0J-gŃHYtuZE+,xl]嘴 e`<0fS!̑8θC}rU":^yiKb:o:Ac^r<^e6 AtL[V#"Ŏǘ -`;)H† AtWL! z2GCer_WD;44Ϙ0$%f5Zͻ6oo(t|r.bܸ#SS03JGw+9$w(Jy} dFZAmgw^ CN&[\:ni-7\0yM0Um.yF(\*LjBDC,pN61{6='/ J(aRt9cdz3(1!:8v q%CR=%`0R˳e39./5 uϺsJ#}}Lmr[tp7x (E"]P6z6?uo16D)E2L+V%['w D*N}_j[sUN6=x&(l4&8*IgUnh?uĖjvUƼ 8j_kZѬؼO0kߜ-c&9Aqhx맰b'߳bs 567jhBMQϪ*ч273hق;tDpzGI2p"*':i AL`8D`"tf-ȇvfPY_82d6`2"aj cb_6"5|&$R * Mucȅ/wޤ9HSTQr7| }w|dHGBiÒL6SGS~@uv4*BԪnE9f% ॆԆunTLiv^KVX֝n$p4éd*Ddzxl\$LX ,[1p.w)DZ`y=WzGIhTRF.hRÒ9/_l˜J^1t $7]]O,́jmD;AG?AmH(Q$T*L"$ B)G0GGwN:p@B7QTi'BPmkLSۦ(D`S#_%K)P-XY~π"4~ GP9xvrpr٬d,btr WT0}1VImQ<\-Ziaj))(4o I۽::GĶ}='> jS`@Y~¡aq2C}M:OzpG@„,cU z֋pA$ }κR rڰ 8E)Oo-uu{pCVȇ ` Hd=xH;=Xrt 1 S8T=%|z By@ |wtESVʢŁLPSA C!*X{Y3 &<]pZ틜 - J8_ߧnkt>$>LJv5ϬxtJdG1v a!M@?ـ?~!3,ФP0BL @TBʤ J!THDTA5ԌISȒAҐ1(@JHB(?iSz_ A acmi+"D$YeGTCuw_ |_I> 1YYlX*/r=% t)qY%< q2q!! = z8d_Gs 8Px$3ydҠ8 ,IDuֽ8h8׌}\/xP La^98\Ysj ז;? {!0K[\YADPc9 O$\ǟ.흜ܮ>'8j2v >5&H?G/SD'0w38a$R JqH T0ӣ)b!zJ&%P#d10oPո13N-_R؏ gBǕwX^<*pTB z2UxӾniR<Pú>Ғ?:@?N( {Xv'*t0!>;bzT}̘m.bTmPiuIgև£kڿ lSۮg 29tVەŸ u[WX01џHcdnب@aLp%iz&79Bؤk+WY,QLdmrh;5X o˦B6Ș̃[Á`0!r"cW@!ZpJR+. 3q+kjrA""Y- n0MwV] %ͩ@ެQC@ E^x. 0lBgcQ#+B@Yd'@ vb y k瑉1{pg'Nwu\YIR+XP5هr d5gk3 7<"i%?Á2D]0. qy|M^P)LHl1)ۜCh#(7%pBrp " *shߥYLsԼhzPfRX$F߁A4'LW AxэaْWĊqE+'}rGfᙙ#lQ#tnj"#  Ujh Ra%U@OA6N1ͤxrYMDbxP]I"ꥃ$cָ_ f$F$O8F&N8mt,5&P$Ȝ/ql̃pq8g`d.DGb/GL8'M2\(  2MQ-۾gZPgk{M:-s!^ H2"烽ˁ 2) [h5tf͙tc%Uݴ\6` NQ2# xYq)C5"0]oɂTaO7x)D00BLAdgH5:rJ(Q J9dvXi `)0&&+{NC5GUtI I3 }E"=>ԨEJγI8Hr˻C4ҌM9Kmv 1n)qeaiN S.6D+)M';& ,X7oɽyBMJq<Ir+pٛ}"5q֒GFNG|ӻANJ!NO).Vf"W ȪY).J6 ˄q-6h⇲2.$N+9fkdيg<|KG7|yeq_k.j+`QݬL ᪍υQk]~"i /<w&29 --ʲR/ a̼be0xS% ';N\ i'Ǚ((^ŪIiD#E藢š6=]4wHH4p:};|2 DCI &L015 DB%`:#!֑t|rP._a`n_5 В58z~|~roc{bQ`dIX P Bz=SS+,+%"Q~xu |~7B{ED\I`YV|gt-cS7Cum>|B$BQE403AU:[l"Mo_sOT{ "|PZkLƒ,*e"0}HDVAEAr)zlCVPyS=NYO)Sd:س:%MB)!rM"dTkmH 5!`5bDF M dƕbQ=ޢt< gF K+%EwKu]- l >v(wȘ}:;̀_7~< - _Z9p9d=4M|L^ fITf*s;x$@$1@XOTi ;6 #OE#ࠖ$e$)R`! {!A=*t!oEv؃$ UCXN YzǞ>Tް3zgWF%=t pL 3$q:) 6)IGCh"QPRC0왋kIrR.Sj=8IE2w+)DX6G&h! kw'q zBA4qTEUEIk>7^(鞛'YJ[Al|rg|*,EGmڐH  E a~3cjnt bE#$UYı&m+-+BjVS0wbO XQ(.UUR JΟ&JݭQxJC4`V u@+sE9 m,d,a2<@(JO4)pʴ @2\G5*ze#H@^ʥ*TDC^(}4R"(%%TMIP@B"! 彐{q8^=1 xƣWP(D!G+ do 0X(9H2+,jPZǼAi'0oa;V1#509NbI!N R|<^oXZZh?zc)ѭzHH$DuNJtć Ȑ,,_\i_ \(;\- xssriQ4!-$}a_M$dVD^ݨ=NOA;PxNI^Q\mЧlλP^ hzoBkմ)m=B<Я3iX=D)aNXf *U8-*mxIPo& Tg^wȦ 0T Ŗzh)rg59'αk!ޖsFSD%%YA -kZ(laI,7$V5}lC!l"VD\-5CNnݢU˜@pELRpNQ1W7 D013Y`"ȨED"gzh P{NΧ"M!L7$P??pb~8ZAQa* Qr8V&ҁQ 4;d)H,I* os}C%s2aYC?j={z'r7ƇHr? C^r? Rgb4BhUnHdiF;NZ$d5-'ϥ,J<:[,Ap#鮴]#J!pCJ2]BѦ ) ^ y PlS@_|;ܚPZ5džyĀrKƅE!5##{A^yH)hp/_`sUŨc+4 ҫ@*"vP~`]ZX)[0R-PHBR̀L!K$") K+~.Nr`!DDWu%dj Q JbT޿|g~ڔ!$&8msn=|z0y^@2270,u7nbxdu#B%g Рc= pZ ih-Iؾ` kITeXŲnT0|/eG*&ҌUڎm1t+6 L4lVoa8,K}+*~ fQ4{H鯈Q="?G4C0 H 1|>y a!xXsY#l y ŎE,C~ 1Sv[5/NE$*Q;, $5!Pbes p&e@PBbN1 B:)IH҅! =iz r$` &FeefCIA U"(&T hS"A% @?D* qSA(]YqF^# w'j k`?pA'B>D `X K(TU{dL-p?wJ|l[Aٸ)(0,؋e+kzZx(j35^%o6;QJ(N4G΀|GH$TOdY>a" oay5~ vؠ(lup_jm{~fVׇ;-X$~[pTVJ ;5- g[ 0a"A*^(@" P"RGz</aC882Lq a]a:z%$}>fe{%{JcqEyr(HHh2D;J@Cй= R(LD$)ִ " $}|$)ct*BpҖRЉQ--!V)a`ə:jbkȢD%b`D %A6DX1@8O{ QتY"sLRֽ2E]9x*%Q((lALT+ވR}R> ^L_w5WQ0/>! Le`"iN28)IgVb$S$G (+0,H qZP,зQAHa +tvI14)=?C^$MYcaykҚhJZ"Q%ʚ_@3b2Yۍ-C!HaJi &H$A@H^V)AQXGNM2)h%IJNTA&^Л94DQdTBDxsH>@ OJ#$0`&N3$5ЙadҴm@ tp@B$;.ŴcS)33 ^> |B|bqAtB8S]5:AZ&%6 A DBTU)I:x$ԃ c ")B`?*$W&&D_C(yXl¸r`l<\!*|*8@dO4HBַv{%8=}a,G{{EQP=d*p'W]=_B@j8҇["'"#"OK<TCUT:?&#K`ɢ736'#PBÜhV(Gn b(f ƨ+"Pѫ,WaPf:`9`9TAƒ"$. [A9@B @Ԡt㴱zA:H5zqj1euI+a~*gPz^(!Ȕ#"0xh^,(b&ďHD~h)}z# 1$0*rɲG FL}9򏂭Ch$,>e1-41T_6eS0 0)Ԩ"Ruإ1b$ߔZAJm],YJ)mޯ}>SI<=Nu3mmm9[=p608$oޤN蜗:Bfh$*t}h\VBh8K6= Q,yB1 *]/N`yt63+8C.wh͉*h~+<Q?*'ںYRaM]du&!DZOL0!I^(Fô4IQ %tbXEzz38A$%B iHTE> CfaM  zRtthq  fBa CLB1!Bd'N8!2Hv !2v,3!2 c*0@!+N &8Sl(}J! rkPH= GlZ[aM *R0M( Za|DŽs6e %b"ʰJQ:vL$:i 9`课1zY&JW-aRrΥo<Yu)<48ٝP0"[.8Im nm+6&HOpca#S7O=$Ըx5me :{Կ֕U族Ȍ2l'{Ϟ *#Bw 3 gh4dVs< qDNLH6nɢ[dFwShmFe2<:zL.*!&#MkS!4M3M2sD|1f5 hT Nק&V^j0af3XvGjva͹c4_g)dԑ$wcKu 5f0Hq͏pEDJf\"G9|N8.!Keޞ.[5P&p8wfbf ĐwiXG~#=#m\Ĕaϗ!u7xS$X)(O\۪Y;:u4hC32 S`е 3q4T B^\B W'@Z n0S\uB{ijBХ߽X!$[lazA:C#&h M\sԇ($|Q @%bJ"*($i* $ia!GdvQ}os]ˏ}}뫝no|yº]H=G]m{ݸf5w";u4ofo{ Jзpxvtb葶UsoGk[f>;3{5zw\U@Lsq|>Jl,9FuԀznm-} vtjwqk{]L>%o.{>{==oP&y׷:秞=Ow6g׾w}n=o|jvq,ݻ7zt}vmN2n.w\ǽOmoMujګ;M˭2<ޱ k@ZkX wybT*GmI=AUUk%-wom pXH.TV.S\kT(+桐7fm}޻pP'{}:f+ۭyw@SJa۵yv׷cDU_]G5Z;(hƯmPmzuʨi@S rց鷩wL@ an]KqwA v$O@$f-M^ք }r%=i#LDWN ]h2oMz6ְݍiGHtΰK-Tbt;GKNÈ242g;N|yHWݜ{MMQR"&T,ݙֳ-iO6}5%ш :v󜼵RǓ{1m(;h:::Uajrկ^sx9yb|klIѸ5Izd+6gtܻLܧMn޵$0K m `\_aS1aM5z=vMӢK]yDdMMd F!0ҧ馌zzIJ6MdSGMɵMSAG=OSѦF F@i4A Upon]rZ(Œ(Œ(w|(Œ(‡1c cTJ1 i4x"rbUBBEQC t HfkY|] 7-{/*NflnX|G{y3o9t걋Z%#YjjG$r5gJm>/N0HZM;L$ԓZ/Qq8(-)&M[-R%WQbF&,ĥpp5)NքDĽTS)zI:L,DS  ;$ +v%b1F1Tl^e/UQQcc1]Q)D oCP pPZe1pRfH%BRJUHb`Jix6ɀ E`$!]Z]SIF*#I@m ̨ިNCPHu F%P&UCb\ FEECx܁hP)@@ؔDqLRQ!䐢QC!ʂGS6 .2H 0P2/N PqaiJAX`RZa4ʸ C 2P%]*J#HB28J;- A(,kTV"10Tр6/0ymzuqϊ5ɦel̳BBLJ&0u_ǃxZX1)$֦GF0upxF,LֵLLeF7}=D;PFdKQfgd!FXk˱xpRAY$m3Kwo"mj\Q7:Xc/M#V29S2:3[QϤl?3y86>A/ |QS21oܥQ$T/)56?wzzpqc5L=5x?ݏ$z"(1X̃UC_DA'ʦݎCBgI2A>jlgf62Nn7FiHRoXjL28s0ShV1eAPcgiꛚdQ!}na0bFѥ"!"F^JW$2 r@f44Fecp**6TjC1  C6.QTr8Th'X($Ad!)2 &U; zz{5{R6ے d=˙7谦NsљTbDSƋܽ/]Q幭E$AbۉQ&U'rѨE9݉HWUrX55xFB(ԤɭuJF ɥ:Y{*v]5y=(+1s#$ҫ󷊣UHMkew^%VE\uHWj$6MUy߬bݷ[L6jGG\֒G60+VG.k(-*0pTυ<1X$; E@W^Ix+ S%}xo]ը+ARޞڊQLĶ8&#8+Z3,2eTZqqgj=[~@HՎ ?L(pf Nxyz QGgP!f_Y¸=tYSӆ8UF݇S~gn> h*z_,/{TM ҄BλHh6t@XvucrsVnx5v7؎(,C$`9>AA{mɹ-r%e}~1'T6#М$KYWU4&Vx̂G,EfW+#!cM~9G+a}7r1hV:d:У]kŗ=&G̬,DbI6&v䩴A6ﶍAi$u4!B`Έ"HSbndYF >Ћ}5B,,ǯj֦HimLg21lTVd3ZA):*~0 =bc_/Ўc;'4 \I2-7bL3D4ӑځ$)^ͮ#q jA$+V.nmt e`wP$:ф%&bkr!`d%!ʋ1MhMԋhDihS[!9r-8b-WݔO]a5!`bU5`|fz %#>ƃv5.] Qdݎ+%YMMo&a^H+ytݮ;[葷e)mHy%IP5 !]W$hNguFͧ0c5gH-+ZS!T fJ]ĸ2*vd>AKw7;z[̌Lm҂HpB|6A4^q +0-oMnݻbSQe wh2:*0< J ft~Y#ݵLEm#" h#X*{:BOANd]=FY@֔oE`jnܱ5Iv  $_z{+'J;>9") wн{oeӇn0oυ\r%/ "kt( r?f413J@ cwрĿr>[8L}åTSk,z4NYĚ U i L5,A$D׎@p 7LzßV*cڛxeON8$$@I,(VAǞ*b1hP.E;@saxf|]znʮTfp#Z:taQmP\+{6;aƱxܯ,n2IQf r JHSqUC%ӏ0(isFt$3^j Ld.wH QA.Y776m"+楑;WH1b5OX20 5 \>)$夑"6BfAK25R`BAn :Ηtq1HiUf2.ћ:fFl?pc{Ya}y{=Z˼hnΐIR$wX_Y 713{B9ք~nfH8a|?ViWc 5yOl^>vqߟUkNӎ{08@ilI\ ![;3B&f%C@P0JiaV!7oЈs70DA=h//P:t n;*p,F#V"m2b2y3M ʥu%2kT3&e` t0fH3 2&)S h$$U3D%a#Ta+K0 UءTieJ[si PdHX#V-"Զv;_yNRيy;lQH39,NdeM [`S <1+3nV[Dx畯QZ1)G+Wu;.aPU8x' ljpm2)SmɻxOjEv6064`c1M;![%ffA+pgCCu D;<2 ;X͜{Y1&YD+2PјDq1,eeh1]G`e|zd;9&;bݚ! "l13&"dh5df.Ӓ&ܕʕٜ6J/J"̵D`d'ҔҴ܉|ȗx4rSx r&"M]uw;`74-z[rTk+ڼFQ$uP49)B._޼5rB&9͔'S\-4*wՊo K0dniԹ AW" #9KĄI'(܄V&AF8k1%Xfb2XR5E.ٞ9i[ż#Tחn,)i]{tGIvk[|瑞 X'e˪[PM~Ͻ6le*o?^m^2f<Q8u޿ۻD[ I0);-'gD` FD(D= &$@{'h jk\`SI9R]KIt_z(S)/U҅)4p`(ģ%imS{~OX+1bc]ĎK߮g4pZ+r5Γ #! <\ah S鍇󞻭؏؊3Uu|]d%{ ƆJP( X!`!`6M\ b^J9C)=W\+s#f?~?r:gVqbgIqrjif ׋hvpS1E~x(MrEƜOD;Be5f#ٗײS_='t"՚$)%G z{|(VGmBB#C}sZr>"h &Gd$*-$#e:ܶϝ֌Pc9yhلb$4HI`$!C+ ds=hBrUGm#U͑#&fG(qy|AUI1_Ĝ|}_:mer?Kh7 3!e9QւV Kz }s^άb^|E]NV3DGuQjT (I^_Б XffvO20l̜L"u(NJ$ag?~LM*&fh9N^Im} z@z|Ȅ$[ fZJoD'Yd'PJy~H%+ " qm7Q*I%lBuSN,\QGwE w׋[hA3Ewsm|$7rND$x[̱}ņ9OHm(8MhB8]E~beLLs}GHỀAuͼğ03;.Ӳ,x[se]2I6'*{9r vm݇dWzUUQUUw{e>Rϰ@Dd ~;}:ALE|1s0aG$j4@hnk5zeo&7_G7z4xoZ*36hN8 %5=I-}Pc,ڵhՖ6m>'[5zӌrO_5@_J+C;J 9XD(2n3^{[U= T5'- oeD $xn%@f[7g)10]`ccCkU_B+qab`WA4uL -u}= >RtN<뢝ui%V|'Hf{T2Yf?NTٌ}TN҃Bk_hIޓMIdB|иοeC.~l(фLpt41O60'Emb7k#^t<'v<^|yn5UUZ5H3 XX:O~+Dz)t+EL&('Kiu0a {,mmm+tRJA*Z`m+b+)b<4MP b"!yҀv z<?fgwHAh,NDmx(5' @ʼn̸0L2CMN'$C'A ~]؀{#`BU_@" #(PQ@,qrAq@@œA]2?Q∀>&HbL,3 ;sTc2_brOwaIᇆU["Bmm$+mȊ,]}ۻc>ƊQ*UxRӢ7pq!Vdj@wVk.吘@ܡɺ!qD\ّ) ɘ>4+f{> k]| QdC!`p$*~|OO'wcl7eb>mB]n GyH*e.a~^8$j"҈<{`RDl/tPlC](ԀHPB <: <%s_߹aF`qhc ^w_ߧݚwjիVujիVZjի۾vjڶkzGWD'sx7Wqi2F=l~fiHi9_~ǻ=Uf*UW/ƪ>E4URQU]]uV?_C_ 'M;ϠMaߑv{j.:A.~V2=%q 9~Rwل'QMY(bU nlbԤ?$` b3 4]v$˷zXBL( QR]*@#tU[0Oz*r@6 `(h8;&"a偼:ȜB'M8P!)r10u#f!0 `4ĊkhJ!@[W TŒKDmTkZ]ɬb -;b ۓDakZlU+9$CWt" *cEb*Z@@R4lwl: 3ЈP)]" ʥAL0F12CxBJUR "$RH7yÊ,jx9hqM412t(!ɂO^iS!I7W}8|Nb.<06c ``(FW~wl$8&CeF'69h^ 7OͦVlB3e+g>fВ&E{>3͝1z^>,m?n}RapzoUעG11 xq>: 3JUէt 5an):C38Ǚ$5ùuT9n;j!Z \دӮ87_O?3t_&"D6 -FfЙk6 eRa8LrE=i1r=Y6P0H@qz쾸g{2Nk2%ɑ*3{8y>|/Koc}|hvd. Cv}4RZr^qj>~ֺ;Dw!{\`s3EÓH=2+([OD)ngU5':@4]U%=۵S^Ng{ J5jTg/ ED(WBmﰦA穋P xH.[fR尌,Jޗݯ\zg9h0q v PLr\>l{6嚶D:[F1<] 6umւ7%A+Tޭ[F#_8)FFȸ)]eWBC265L> "8 Rc-5P*n/er1gNHO9[N463靼mS7.&~h?*PlБ8=}\t{jVTCCx Ú^EV f,˶W|;Y&f9a8jZl`=ikSѬX=x7y;[B ӣkP0 $Y߇y:/Uo5 ָhwxַ8WZZηc8N/LyB4Y_|^l١%/Tc4uGnWm^'y@?~ Ykmm̢0}^-d.u>{΋fѦ62qj$LhZH|Ej~E*%܇%C2we/4uG+uP'zh6sM۵~${䟓د[M.R=#-/&p3Az{\T˪++*=Z,2m[}Q*&xx""evg}5p$OM~dzAQ}\ŜK[z[\9&8v`׆>Ra ܋}V$,h't|ën6NnO\}GΨD# ,O4ª"(q#Q 2#m,'cNNtl!p6 ,33.==fR.:カ$3mۥ`l> NW#Oϴ*;BLI򄈪7{x͜z(!u4t5,%ν9 γ wwբ1uVȕP0'*Z);ao6\>ψmO?pŪIpt'gzD&t-0AAVuxҶEUE" K[¡&Hz_K6z[ߺ$!lj}RѸI{P?'h!JCaM`xK1^#|t{3NC5ʋcu|X3Vn=axKJN=$0HK;]FM VӯwpIÜXAaٙvzÐh0t ?8δ걇^3*ٰ{)#5m;}//bn0’v|@Q8(v9; x.1HIld&eϘXHC}Ii_? D˹&1͚ZTr)ˀ v B'GټL@;$7 3q&`MET A"CB rSD#|VOWf?`m6dFɞa+7~0|&zokiOJV4;i; : ``jO$k*f$*̀]YQiց( 5CPH'% {VvtnE**5t|L\m(G͎3m} $g %͞5' 08L~u\LI$HS)CJF܎3]ɤ{; ֪Y #iDIB=Hk? `cu3 $ȣVY3 &;Ĵvl%V@ _ir*3 )1{ZOhAI]3T;ϟu}|e23SxJ/.jȍ'cw`Q|VL h{9CFCh'?V:/0C2NQLwGHD9Dڢ'~Gt!{VTR@+/~m}gTN=;E":CHP WAR(G Yir3DѡVV]nz|k-Zsg90f^iC0ң lvk:=u6W߾*f&vyq=g@0^.Z%FRaF5oǣD|"C{tE^=S xQ$JBQ dv`:`^1=C屇pRcA -q _ &r6 Ho~M<lB׀|d;%Nhs /.eC"BbtIi7ǒ;t ]?́U%#5?.D3rS}uߓņ*{z@6f6dвqWỲR|t _B ۳;[~~~5QWvj+`LPS1y'beĶۿa8?2 ' YU]Ls3wguHښ;m*BѰ ZViӟ ѽIYZ6K3E-z e}5[gб;Zj"+/zPj?!Oă=:KXW(G0>TUwȩ2iOm|̭؅f&e8v#hϼu7: <-4eq(KƩz%*5LB{6!ٳAi{5_Qu'$ʟϐl"flO:?SVEi+5܌Ic'Ⱥp`zcQbb"h1FF(DI/ȯͯE+؊(ъJWѡb IE* GA #NL1b'G["!=dS,k%aU鉌,E2 @ C$L|}~ܮiO(Gl器 1j#0/TQ]vv++3dd n Vwxۏ^>Rp9cq 0h5 4PVr6EAhj| lYsDREr:h=6淚t|c#J(GZ}8EcHQ :`f纭}.H Z /zO)PGKrLaB +`[̡IdDTy}g!)3kC m.U,6rVZ53,{zd>ۤiJӗ^TMƀhC=Fځ>b@FkBBQG̨=MZNdL:dvG#08Ćj `[֖r"mx(h $>s$X} .5RV$a 2mHquz5DihQٻk=&n,oIqN=M`1h Ld ڙyƺc k&Lh0|T5FLikHg $Gwe,fV3.:keCp. B`a1XTaLں,уڳ^L׬(+L1;tphȹf:kuN/n¸y({J' , 3[VB5|̭s=WYEv5Nt[=~ˡE^={4w35r^Glm_~ʾnWX 9981u';VUZ@8rDOIv3rbǞn;@.E+XR/Lh iglCciHހETJ Enp_ 'ļ! V}'v,~p{f.-љQ`b5+H$ 5yqKM5VUAx ԁd{<>%.ͣ.@tcԳH][PL̘/faݞ ؛1UbX-0vaŧ\=@T03xv 2 T+ņFjPlR=H?O:J͡c0JS[hEx3c}搗*tyntNF짉api;wL]nN˩u;.n靗StvE}5kSjje3sA<㰲|ϋ;'yr XKC*l O$dT^NŜݥ^)66pHP#NS)f?Qc)N;djn.9ϓFi:4u,M6Xgl!eu, +ɝ iw[@~UU%r 8CԎ6raĚ8B,`waxj gzdO46jc;2x iq.%i=a Q:~oBCG6UnpR01ҐkLpjR1VkU&~FhrAfjnC>/zr4xúM>ghs~~} 'I4Ud19Zrbi( zZ?ZDvfhdYyW~+1$^~eT^爉M;-B:@G16;Q?-$$nqvu/~Bo .[#aZDʹ8T؆̢!T96\Llĵ"4'0Qd#2ny%dpU ˉ#floZ\uqҥtH @bN,S5N@p/ʁ瘨CA]L5 Kã5 HϷo;fiL0E8 GǼaA:c۾;@@SQE>zFUS>i0/ LI[\Ϟr@BTQMvGy\oOWy/+= =r$9&ܫsr5-۷~_S=d>fr^ ӵ4QGX̍sfyj6;Cţ26ՆHs)$[=,ߩjF>=ڶo6v|ۯYjL.ÃRXI4+$$g”Ğ$fXvҘaRlI3AYDPX#W)إ׮u2A_m7'MƴdJ .ma$eC:PM atV "uJykÿJP6--x]q1 `^Bm[y+W{ c3YN[4C.VJzN7խ#3ZL]~̊t^<́ZTg@Z\+g\gBwD< P8:Fwl*:Y o)9p" bm,!2@{N!'e;9daeBDLa $+X> 3ӆXь)nmF[^WIys ;/K&Q4:`2s}a-Xm RJ=&#i7^]N 13lRf8e7fAĵVȮFgbkkDc+8J@LTDrTia)N\ZP0!/pXL@,G U;6߻,i~~:y" &[ȏ = aSsA~3xK09HGmRM& !?;!\I=*ӥ)on^Yw f-d3ͥ%l퍌RQ€Kj󝇺ztQCIX`Rz{q⾦_;H[5HmjuXU\ $ Df3#|GrKg"b(r-l[95+3evvR0`sssڼR˲0u5pQP GeEE9-r FZSV10'XV>l nRдKUm I`{& 4} J]y˅YĶB試{<{WŮ Alcm(ټ}^0;iq|wan~s*ĸ@UFŰ9M9j@*^r_&Z`,\ '!Đv[vI7t`mTy1[/븱V݌"$J.& fME\P~QZIr)I(OF^=B I+mq BdT"F^_9Ǧr@UJƎT=qt7'n _ᇦ)p]tar!c^d*ʐfwU %gMY U!;~D+3#Hi2\{0fړfPҲh#g P9.0&03!ثO>,Ӄ,ԯҀw|Ẃ(B( "=9>62L0g9QH$:讽 OeUR(("90"94&o&LV&-QnYO{00I@5 )GkvfhW+*Dw,x$|dOcЯ]t #d$|V@¥"]U)Њj*{VYg*nrd Ci>A  'Ӄ&f@H$PLGъuäpV0ť "l-3fdlxozKoFv4_ CC7Ӟ ~~DJ0Ji#DvtApe[NJN(h̳l.ZbXH5[o- 3N -OMYYl ;UyJIy22:gz):}m~yN 9p &v4í9fㆭR(܁Lir )76W Mfp0R+ϾϜ|umXrY t+>Ot /}x`w=)$_"80+8d4_in^g-2SGMsGfw! n4,v$@=aflI% 0޷D+iH0!2&7CPb q3vyD(x3!̷/G 7Q & qwqiyj"P2{ &#%>% xޒ3e߮&Ճ*?H͠D!qg|OY `Ό(0oLUNP3Dl:NŭI;42ρcz  #ӚT.9:3쥖1@\ӇC]GqbCVF)V? 'h_Dd ] MƠ{!I&6ȋ qϖm1u %1;;ǐ";A|QkC:Ñ"XvihdskPkf֥ʷN%Ц2&׾*NO UaUplr5cm-%V6SBQ&3D$hئɯCQǾoAU[> _::B_7Gf6O4 prQ5* ʟ܄nf+eIh FeMHB}%/0FI3o& E`>enEJ\wzx̯AϪ[lb,\.jHbeJ.1w҂u4D-)% 6-4tJ.qZ*u_fnԸ*jS !S/U BY%TU2;*eiLW|*m^6(Pv§yJ6Qŗ*k`I{D@$DD@$DD@  "P H"AA0`Xuޔx## S1P /+q0@#0ۭ'q^[ W2! =.1$¼BE`Y-J HJJFhLFA)$" " AB A(JPE'!P$!C($}.&bDPZ=e~B٠ kj ?3vڷ^nz'i"}ͣsk!Ȯ yd^a6F sѡP3ҝE8'B  ͻ=3 'h0:CL p®P1#a䉩 +yd1͆4Tj !Du-]HrLWYF2|yfJB&YD3k0P2j5 8<Ĵ:d/;5 =(xI4`ff7:-v^>`@ܦbDŽ)+bho>/ Yg)/{dƕ7`DPn,q:F"A&bBQ@#xv(bO@v7$sc:߼2K`&A'C3`8 1w,eV>AAU]2M{Ç0`ow*j˰%Zs٣F _y4F1iiŌ{=! Gv8&1$W}m G06[#'U~*N5La21D3/^R h9`\ Hl3f5$_'*䎩J` #n&ˊK=+b>$HQ̒t3mZdPDDQpT+ qUrA^zlEax<1и@bk#2f|g" ٜjNI[ح= ĐbG^;diʢg]G8Wfݶq|Nn8XqسB)JY:׻U`If2U&j9K7ƭYi^ARt*)]e"[^bf(ŎG<_Q#C赆orøpSHlI$s1Jɼ<~sr8†00?4щ÷l d Pa]jFZ^h 0)ŚX&Mν?&َzjW-x-$cNmV&BH7oiMOo=56ANJǰwCgXxN)GNc>Ɯ3c:kB__L qA%mv5l`sɨ/K"x>kxwyK;NƜ\{|SGv7ZnTgz\"5fl9jĝ@a\1&+i(7E0ΌZlJMTA;&&fJl![^DS "Tb*c]}4Y<嗂} alw>4ĐM/$nx ,fS4a!!#x]tƓSx#)YCnD@DKӉcaZ%PΠq9K1v5lUTErIuarmݥwfsPaŶ$$ dВBX0ĠS(!,ŷιb]i2&7M#K&LO噃~,{K$i9Jگ#Rk<1:Ԍ>+ &W/VQ+=WUsQ3geV@ 9x^a_/Fp%w2ө9tqfᠪ0եpI $$Sg>D^~/~Qyj(g2JV%AtVWZ^2uC_5Z3}^j0 ȏTnkWn9=" )H%2L00&`\4h.(,WM\2f㝱u]9t*s3",,\)t bpG48 G},g{#&~@ 9 ^>< a!B P//3?|ka=$OM?듒]!24Q;1L$PHΛ=}s}BLă(׵ǿ}'Cl(3L'!JX>lDGLm4f skBAktfŕ*[4,yWS*VCce-3;Ԃ9hNMk*3Y\!l)-DoFDѢ+s]tcWtnS, ~a??OkN&1$_hC߽Mo,kпj`~r0–W$>FJ_eQ3WLdbi4_8 HIeg营 0;J}~ $Žcd肟']\Ȩ!8yr'%[;~A2e ڌZ ;yG-̨ȬHnF ?+ȁvYթ$ 9+cܦH-uTy쿵5'÷H-뺨c'6vć<϶njZ0.z/VU>3Jzo-BH$!&9]g(v|^SŸStW4A$t[F0y$pRvD=џw&@{}] z1 _.&$2lrgeCu,-?鎬V>[/e/fkɮ {3ϞV)tòߥ>?c C?Ks>Ύ7:yrzبЃ uߟۦͼӜ. (t A=׿{* wȿJ! ՞ΊC2) w(;6J*ꠖ( XAMhbb¦Jǚ'M1lܯ xs:P8%- 4HDWýȷ83^D~99 ^S.Onrq>2_nuw7@ŷ d5^ěX/z!K! HL`TaI> Uc+5*ʞ(H'̪kp2 QC(]>ߵ<:PjYD0Oa2uP"W q{28F5_)b'}?/?1&<\ϴ*6(&,(NpO G7q0m?2dn@'`saQ)J:\_x>[phR AFHiLa)xȘ[gg8%D6؇;|(O *Ս$TzW}/%Z9mxiHUJr-PZސ/)A6M`8CI'Ѥ4k6a1vש ͎klNoRX54٦N "%&:`!=]zDi&e662S HJ@v CՃiLJ6׮ݮqz&p.ۦLePa)b|"aAd@9n:GcA˲ȥE,d%@^(heL9%݇I5SҚg,Lj+ fH1n3F+T]+T6g:v) 0>]a7-N <9l6 9S`H53w׍erم)H;"3O:WʢQfb089s)EnXI} .,Dv#g;fɉPwRfS%b<(KU /̣+KO!P_i`7зm6tGZL@E+NSwc5NV0HR(6yx!1M~շ[ļ#"e3 G܊ca]5u2\A8Ql18TWi4kf”nLaPT֚XЈld'\Lj S6M$Dڞlƍ|vĩ>faBH'U"HT$+Ԡ& ߬N cc" YG(cgYN2#w@ Vc_7fT7Ũ)ɤ<%h7"R-26TlLҕ%o6%ںm(h48&iɡFhj10h k}kmFU;KʡDO6Χ%4Lٻ~;o[i h~׳M:\X HaI19 g)ٶRc17+u 1ˊF2DtJP$<,tLHEƆ $hy5p69s7l4*{C ]$.0H,ET`IO+Gv}a-c݁1`psspZL$#twlQH3_@AWuΞө!C-;Vt&Q?<5s;[jE6#RP"y3- hP:GZjL0&)i\U%o3ZX?"_CB໾kFREaEd. %t4y*/t: i!+>!XT|>СX=Q9>;) 44^(#C'Q+P :V[EEoeݰ!D_x!@?S-#9hm[rh_F(' Q |xY9U5gu߳%CxzNb'(LɀvcZLو4T_i( uJ9KveQt4Zl}yz])|Gyځy;N/|3J#ܸhGu,5^> ߧEş333{r+sw%K$~#S$!t)ZJNGt3K{5&asE)h!x3gAEܠ, hZ׋i8.7(+OD#=͊qPY!25аܻ8bKzeԺD-ΑM̺;{|۱bUos">VeYt2>HdS"Pzjv1%R{3Y49z) m:S B|*{R$'TULtL1rr:Q*~Qy_w=?>n~ZSzKT;?KJ=w19yFa>&oO Twx8o:_go 0lIARIBz|r~Zqyî2x뷗:))RR G>Ry|mF2*33ZV-`0n;/>HgTD-%Ij.Z9n.?Y7]F=K{hMúMn?$:sw Y, T;k ꏝ msow.9\U 6g 8T*d tǨb:w2QZ<~@rև*~֊\A Gon!vLO I2t9d}xt[m@'(Oh{DܼGGhXTI~䆥DLdbRE4z (T\LV"UQYݵ?6Rz8Ë@>RspsaP)9IC !Rw~ fT:NBACL>{'h MQ&f;q5t$2)"Ґgns0'.*BdEl ƆӜ[nxvGƭ<3ݝǟKT_~^4sDȤ!ZG=NmȎG];8{}7Q,(vφV47Ӯ"YCf]lm,SȨd-[6WBDK,kG'cxCe&҄Ü2)\%!nc8Qώ0`9qŸtQĄB$TUy@TȁU 0Jł?9m10#C0-f8j 'CIAm9"j{`t&2D"(a)bSH"ZO K.rp.T uvHA1EDMmM65""ֺ׺mu5D9GpqMcڮPBȴFf E sm,~l xOD=54 lUݍ$=["( bnes$>^;eC+jA=1 Sf7{lG3GsC(f84 ) AHH+ A3yRQFw ?'5TUUUUTꪚio:~HGb&c ?;Ŷ* bli#gԻǓLmwnuXA1*@O 3;;܏+R9~-|:vI$WDS{y9 0uTZC7s:J>^mia)-0Ayƚ:ꅡ㝸Bq!ke]z$3 y@āق_W0=Rzf|!|4!!fy$a pɯw2*C[Gy11յ#c#/LXOo\5JOJ-k`aVE<8xql(4LI"gC\j#rR6[ˋ^BMhGTX͌wXf!z׋H0@_ER #89;|!wGB봦Hk;rnZ5uGmזx{\)5UÔe je$19c5m5=z d#ge6,=C;)oij9Lo[Iy@mDg眻ƂjHQE9 l̽2adhA+lupkx[qg~ޚY2[+=mu;0O#'8у]r3ڦD󐐄> ]¸F0|7H JjUAsQy2~m ٹ.ّnra=IzC#lcHuN>κAQL5ґK9Qvn3rW2A.,9;BFZ_#qt]s#˾S84t쭅aؒG5wWq-3K`[HeV:liͮ?16\f LFHkZA63c͝Sl4^V:WyK٪mx攗ؾhf>_3> tHNN]ۻw<);\!O2 &䠦oq\+hQ ljfIхL4H(j dk Uׄ-:=/"y!/„juQ>ciIװD|&oܘ[+1a+[ށ9ō$×Wo+9(/Z% cȦbq,iã~٣=~cǝ:3 BȴY8hePRҢ2 "B,UJ>0 { @W?<o;*Rm*\"{~#=!?3nG h[L@E_ILF+!^2)'x|Niݓ;0220!GէMYsnWVE4heprX&L3l^^+/QDl?_%QMA !ǝS*y*2ݓԢ GuC*d߬+yOB֬<* DdRxBU[8SKäwkkjC$$AA|[|c~.rVj[&՘l\p H5r S˓:u轆STkI*[Œ7.}3+&9K/$X:'XaI*J{҅^W(m:'FgMaMD8oݤ _<@@+3x d !$!5U)$Ar}t&75xmN[+oU pBLzbgٻ!;> >x$>`0\$GSڌeIWGc|=w!6>0jVAJ# eTFˌ{DnS= ApB)f̰,wFPNdzb.w\Ƨ{rqyAfa|D?e?bV9<}Ifؙ>m$Ú ;C+{bϳW}/?2'{?a`*, +Tx@̙{uᷕj(Ҵ}ߏ.o z4UdE|LN5(*Ͳ HkIm5+B p sU-Um&\vf}qa3,+8! ɈTV1Iٱ+*0$= 8.y#歾G@yFHwES_] DRl㙚3rqp7nGSBX=UƍBu 8/2ܥ~] rI2=W }gQ9HN"%"%"%Dw"n<?{\u4}%a3Y[| Y 9Ǡ&LC*vҳDV|޾w. ln`fmxM=kmu B# ?!}n̔ 8$f}'+IV@ƉB>"!A "Er4຀ A2 4f L6㭠6 uf7Etm&T'h">n!#"c4H@!(6k`FSQl8oTb+ba} AСʒ@sbC3<@BQ> Te6^-K|;; 3gw cJ,*ggz< f|Ч>SBI$I$I$6/5מc?]xi>{O.&߭k[ ~S`Re{k:ֵZacZ5zֵ{l|MoS0`̙6h٣F{O޵ֵoZ6noznkZ{޶L{k[$I6lٳ'qH*O#/u0^^^^CĐ LG*w=h@!2o{b&qc)1i,w1QiATI6"pL'ֶloF'2w(&xaϸƥ.rr  à)JWJ&cbsiFm'Sacxľ1 !('+@WS'\%mY]@\rlF (s=!"RI$H@wwq系 [:X;똳mL|+\ҋlNh_yXm;Cn}k"E6GR=Q߅ m 5jA/.Ӧ=ЩPe NkpXHWf笓8ߙ@"iȓ1f"r !u iaWijl!Y:q;EEN;''|#(PUg =qf[-CrïW5[.c8N!D('&1_﫽=P 2S#hH>%7@҃-A u.uDVХaw#=i)p\DQ028qwM(~Vea_i9PwN'h0χtkUZ uQWY, )%/YC&qլ>7>B(7xeEsJTH*>B~I@R :!PG6Q\kfGP |f /9^HH$$XAk?OG00x%UUaZo'g 3Pt\[trdYkZִw|W3}aM+m\&3Lo4 7da E:# ژT(/bky‰joꭏey:Gpycvg8Q2O%ZAFBt;'2w:iKBD֥Vbn#jNw`kr7jsE$UM^'r1d;ꂫǹ3qP2v;lmhw$&f&^u=<.^ ^6 /FoFg !*ü0,+Ί$Қq_9VX2dSբ>aAQSUMQxxz$w7{ H qme_Y^1jA,2q! I K볞~&#ȏ&.xy3|Oo ͅHBB@NG!~:}:7 ^PEW,/)wPl%_BA#$o!^ |/mnEDQ'B ZU B 2sUU P &yGC2q?|+߉qdUL$'ubM`tp uV%HT'dDlg\['ZBEm袄(pl|GLUALU ~ m`lp'N1*u_y JAW+qoow581XNF $Bfj_CـuDK WG;icRR2̈́ҥ#B C/^hvQm]p^nY'KpNE4oOǧ4Fd*@l ~pe72&LJѤ5kݨs{1qIgt8ev}ysM_[SuaH!(@= {v=y"* $qcW~Z,/s* j|qp,ijM~W k I#i5((3 ѣ9- *6 &{$a 8au:gէrVzEQ}X||_ :($scpI>Q;ȋ㗡$YXfeH d0,UވkPjI Ӣ ٙlMPW2t7mMW7r0eYlH  &>ê"=,Tn\3X[@$ A KR#yOT!#,eIh8F,㟻u:wͶ5MB l`K%v zL[Y#J+@j(V2`ؗQjb/L뿕#/,c&$B@FN[`{Ux_a'K_5|0y{';ŷf16d3-۶;6F1$30PGOCzcӯ;`5\px|. ,_}ʒi\.јHjVmHAyhNmGa-K9Zj Ф "JERR(H+Q}t0$ COQq' .pZm6\ӣC586bq!hBd2B>#6dfēl SԛH:V܅% `y.*O㲅[}RJ*WRo}[Xqi6c|'kgh1ahh>! }!U"#q8An')q,C`>6]!! vw62f2o(ʳmֲd=Y=\IqLn5b[=I[E6|:4y:>*KD]FFYg6ԖA&B’}[P-ni|>/}L7l2K _:Yahi"!Oz*D})J a]7ۦt(Nm}*qJu?|c Z/9n }1әSƇ߷, TYW>]3Qe H&jTiŷW#=[FIHm~m֊wsk τz٩JJcgcב#I1^9p]9^ϒkLAxt쓐uci\$ߖ*BHG;ǁD|9ߦpʊ(^м\@Wᙳ9?s lÌ8i}*6G$ "H:<3%x:R,B:ԠiWј 6Aӥ 1Bvr 1$m VB #v#LMw|wafsf+43XIC/JhG`PӲK+SdlIJDrBM%!1q*psqd1GKmw\yCNgdh(0!|o@= Q?}&}F~|Z~^v+SʲDf02GD%"?P0=_&?^;k`mHY1sBrb^)WC3EV1oE)T$&|=}&n/f(${۷&f8>Y|si9N2>j?s>40 vav|qFouylo+N"bHSd}mU_kOV$6>Fw4-05V=[ێ(5&z!=gkGkj3 *hԛzy};~ڗ)YxOG$1)@g$Rt#ٖkU;Ƅiw r L n~rGN `j?D9#yue3(>ݜu'ؕDBD!Ue@>sֽ>IE?J(fiQ|!5'Q.*(*b({YRS7]SzQV)0=Cݔ8ç>7n7Gi3J[jNs3:U]A $I$I$I$I$I$$nI$0PmGh@9>ҝ>7o<ś"s?:I~Ggv\:0} 1y HL$h{iŐs O'@T臘U9FH~ߖ\5Th{AP ܑi69iZ@*0h:{>}#HsȬ@_>!Cc5 ۏ/.cwڏR*fdPijrg.W9rCS֊(XFUCFQ>i8KZ4EJqBB;ĝQQ7cY|ɗձ-+nOV]zqb#J9TfaL?UDW]z~4M.#aw1bmR͆a7+foݪDfvg@p6qEbh<AIV+EcAAþuϫmDKehHH;B[⣻D%Ir-zP7ÅijU݁Ȏ""}?ߣ~{ @n" @n"@0x<[n^<%5bZ:J uI"vO7Sv(`jqo"舸3@.ׄЦ=c{Vu}?L!aЋ}66 u@4+& uqgQw/kZE @WUk+z˘lq7bZf[?fJCjl!'1A5CDzgG4U sz`@1Ց8s}D%14$DD] x#ЇfV'h```U4 v@r2(Qj%L_X́ݻ8uc RJm+p7 \Hns FcB T/v<ޞٶaAT fb )*<9XE62QȍPn҃@0aD6ʹܦ2gQpI紊󊺐+r>_T $ndkkEBRlfEuj>UZ5h 4" aUaҨCMSXXՕWR -烕u)^yDzlRUJ)ૹ k}+<~>x2'V8a%DkN1|$~<𻧉{x۱J8ypԈQn1Ѷܢ4~l*f퐧)>#P[@t;$b"J5mM|xA|Si7Ս2hڻ)v{γȁzJ"񨡍YDze:'c.5.˻a9ýeU fxFHiGdSu҇g8J>9T k+tDV|$V©K zYH>'Pc7f#AߑٷʔJ[TQlιNɓOMB>݂Ҕ1o]c80 i.| s0\xO6m|Zq2m뵪B%'y|=:t{K$8+P m8wqT 2u1_5cA>\s^7z{l 9)2;N}~;m},9?$]ͩE<'8@5T׭_z^Ə-9TSyh0`@i#.cWޛBػrtiWeZ8u|uF@qy.g6CHSuxΉwy:pf&=}UY҃X»k . ,ar˹`Wgzo(k4 $O'j=Do!|(taq~hHԄC[dܾZ=8X}?ӯQx'\_> _wJDv0/}溴`sYf^ 뼜D-dmݺ Q 5ţD4{)bѥ߇BԮ.)i5U'EU+s_yZ" h~{V[CPft PxkDTDZc+:~}tDOS~(4ғ-)x-,>ZNqZ5٦?j=ʃO'EG 釃:|UrMw~ZYxyf`,HP:vtygP8$Oͪ/t("tyN4nwmm~"һ98]^u\CU&ؤ(U3y }cz6G!7 $v(YzJթGK8مv|ǻN,QS3/0rvɆ`0wu%S;m3Ԥ>;\)D˝#&;+ C|iZtu޾7uXۉ={ILڢeCLj}FcI>ڳ1u_PHIxCo#yT=썂|Qz묻$8cX{ȁtРS,0L/\QncԒI ߮MUhѐ#=_;;:5 ߪo/KZ̹N\1~NV Cv* S>\';lCRa@_(:ϳL]/78Xunh8vepZh h{Օ<@w4iLAgә@-'IQ诀2O(v(h 띣VpfAdt\b{$<;8arQ\w-up,#xl`P߆ӪP,~5$Y^k.G35µ>|PCE=&`zMd#Y*,~ZO3ƺOfo84OW7zC,PvrOewzXvns2?D>C$ rYGƜWN1$G͚,?b,04;E{m~6vb=Kt3 $!|~>OaDlB>6dZ J?43*6H|H }\ ~"p6B SH\p5.vјL2֑0L`TsH&. `6Ո1(uFb &796mD/eRJkIսlau)8#yZuNTfb:$M0Ch&Be!IA R52]1B6)ɶbO" &2fZ12a{}aiQӔm:T[7jb]$tJaU-*dmNT0Q27\{$J@&c+,tT9EO49N#?y\D@$U~)TNbrDn(n?KN(cH~HhH!-"8+|{O ,Ih^ dQ~lj}ϟÙU_?伹UW ̪tN*m5^ !Ӓnl(?$T4=N "})#ȡI`}1:UƼᭅ4$3@̶ZJGL -<ϒh^" :C^&ӓ&ANTDztBoX^0S "'<!8 vzy/A4㸆H]G(& ?YlBJO|`$z⁧8*R#,I3lr0?<:sX-en7ꞷB;$18?Je+4l}hs侇erݖu`LxgDM.-hj@GmԉQCW֪C§OtWPP0Z߬jȦ@7*ES8IW!ȐLyp Uڏi7jz6~wQ0M=5.Txq'`0}!J\$H y0" $ 0MGgga~#␈De`dCMo_Xu(9&ݡ*k(c˵8hi5:pؚN'v) &R EY[)}l$CSBU_)j6g31wi<>@&rXZ8`\ꐧػ0DQIY3a$TOOTA 'G{0=ӱB6A/E U9a7,.PJ]7(h4n_fhD'^[RrN)p<dU%N8INA/Hd66B*jOPu=0r! ) }vF (u;IǨTUAmS=9;a}mbdA]hDA]՜H$` &"%+ ˼ QI?f.ϯAU6[AD<%!+~RWXa$}/[mmmmmAي2Y)ܥh< hu%xl9rG"jC/:L<@ԑQCJgxwG s9X+-?~ HYo9, z/AT؛">;o;zM }$0(W7 GQJ~)4!?5uGw0G oI7u$F2tp@i9vl?d4Q k 糏OɚudL8Ъ &?-w~!Ђ'9p+S_*;il>1wQЙH L29}Hp$T>t{0 @:v̕Ѱe݁?}8<l1HW '`3WC`HT9}e6@ATmvH F!"JJV'UvѩNmPjpR$\SPC! _!a2Z*%oiSR܁a i TϪq\̀R HocOOYU9_ @@KlK9PT- U =j=@%[i  1bp"%({)FF8P_7SP΁EB2AHL <ߖ콈PTxʇqăFV ΰB?ЁdS *! ަk [Wfa0=ch$# #ȌE [ Y%mCGv{d'܊|q:h{L&(MQ8@r"Y2DRYrah2l/hRvC9PQȭ?6Z!cւC";4̎$Q(#P>QP0SE®CHV0(~;NK lvD{:_&3pww{&~@Nq2︅'RL_<j)D#+Neb(44q58pQ|$LCmG.q"U`>~bCuyyq wD6Si6lȨ&JQ HDX?Hለu @#pm'NZ^^^B𭊤 >V!Tc`z:(rSpe0s0JM0KQ`+>]xe2TVJ]]`JEqyUy<9|VDUH. q? /Ɠ3w袭y*;JJ8Xfa>5ЂA4!E6> ^X`UXPr/uOcc!=hB8"_6ZWc"&" Hs8BPPѨH)bț "b+hC'N`ՄPCrD>tpu΂4Š6`7z xНAE4tG` Z;X C 17jXY 8?MWZ0MC Ƒ(u>ybܚ>]vLYdɴtNsbJPMCD|&s`a95\'L}#-{G!? sT-_Y1h~p^Q|z'1}' \8"Q9A0<V ! >lDʆ5iE;HCa(DӶ'oD@}iF&Aa(`܎WdQ [5 C.r?G'źA[}agB3)aav\c`څMrD}g:k-i `-ls+#QtAZG"O o"c &I)"?bM-]1g -9V;v,S)PZ^tU(3T7}/m[3$!$'Mܐ bc [Q [ m?'gÞ>I}?E5=Y45$$x\#6/!# vڃ? [gf B" !⻉ C/ܰ\zGLPTNE(+JPdQ *=#!I=`i05R^xW<z(0ڇ?LGw(RAAIp1j[_Ooon2,(}̧ > ǀGSdnK% FKM:4At 0VKr `Z+y?43Rل;_T>^` TZ>(hx@r01> J鰝^Oo94f@7Ws5mV8*GxuKX꜓s6&dFa# I"cF Idg`T"j+J ZI \Q @ B~A;{B5çUhj̈":)% Ygy*,+ :<܎iK$CC!;Br uu3|>wYÐ$a9# |]D%!b|kKk! CD\˸Razgt@ G`$>.SL dRyZA=@nhIZDдeflLCT! B"h$MWa %BG7D,I lu<1Hâ)Gw`p <>3ͯkw4@VQzi(P"%8J;@B)? [MB.T*1 +P0@al@ *wӞ{bm;Ivzl NB" 07=!} ’`T@ %59 "(0+:ikBέmmBE*b؁[mv±+bEmmo`z=,0yB`IrEUH( ~d.}%@no?b`/8l.1wf#^Z?J~ ŋ{^""ٲ2dy{yFΐfIdrBB2 Gm`ǻ ޾@tC}UUYeBz]D6)8^HHּ8BQ d'a$ 9"@_fϛ2 (m-L9QT>%Xm rgVq qWQ RX{@R^;%J& b?'nQ+99a8O/ʪjyE/0\.(nB%n.$ (N܇bx"ѮhrA`+j@ CQjXbbB00$iW\GA!ӊ&P9X)Hu"X+ <DZ{‡XwrJ5W(c'z"lb@L2HL R.آ:}5ǵ8h@vR0cT6$LDOP0:$z.Az[ $/]^zM[$pfDͩZ٦2 mzn6^ I/.+׭ pX$╏A`eeF`:KRk`Q_g f0E%/X&;ٹP0/9~l>BF( Hr% K(>^ #g$F1`"&6&)fa"ut?zhz|8J4E!go¡a"$zpKl@jdd4Ƭr#fv;O#J|ݼ0C:z9+*$@;X.f56Th ~w*P_lX -)CE4C_h0SuFwo ڏP˾K=??KZO}I$yTB>~Ȧd\v0a(bIdI* "zy,b2zS$T(h~uGbF"ScC! $QڄPʪ301\Bs)URu1`p KE-?CFLQ( D/OVmmmmmmmmۉ1}i5"Qƅ/uM˨ SW]滳QI[O/66FcY eEdnI%qۤ*uqi!/!"c;RQZ&ˍM7qN[3H3X|մeѹ.pH@AևTp<2 0Q " Bwn#NB1 J ^~pxѧC,`(.,h 4GWFK3gS^x8GtașvDIRAY ǃ)p-9+^l6mCGL"<-npPE =Z 쐇q"Y!຀ClWrO6|r.OMo/8o̰f :wҤT) ,徴m7*i:DЁ]2$̊1};67DRBlak n~|?Qi@ a`bPmqfB7H6+oh?r1/EAbC"Lk`I,84csSs?̹v o>N` L;Iuv͘ƶCӾ5uQR#924(mHF,`8qx! Z_>k?[tG/_tA LFun ]"SSy70Ch/'(t')opf˰)DAFf}^tLfkb] 4BW\/Tr"Ҷ-ܜzlS6^jVs|EƆC /\c [MSɿzuO*?Y~VK1:?uX5MRl:#ϴ`rY~jsvZ+S~W! YU0%;Q<ޙ!FyyP[8 ֈf`P +@Rt>qչ恸zo(|? tThM9׍Zv _$ŋ?{q\`Z 7.g.iRP_JӻȡT*{#`ڻ؀7 l)!8oe|Ƣb9R76A%k#%Y?F7G} RE1՚&`>-~g#>2O%zz 0WʇAXQNȳzZR !_ - ҆(ji_MQI:Z~E(!r'XxOޓNXZD f6]aeQwM$9XUppqHHp~mI$#q12Bʇ`k ߩ"yl= Pmx)4EtܥZ1PD>{8>N/GtHè_RH,D($c6%5հP\!6[B dB#J,(0Pj&Q A;`@CCajƓ˕`LQ~/U"qx( 숻TC}Wm̚`+T{7 WڞʽJ|rh0Oc70*hI6ΰ,  f+3 Q݅ݙJ-Iso$HrA'CSOhF\IW}NmnHX!q&Ts2-LźE%OSc8yF LU~X:<|HKsBC<Nцߎy` ϫ;|$œ!G8LC(HCT%b 1b[ꁪ\HHgB]8p1H2 xxgYSCCFE?сT# ͛ A`6bBf#, Ϻs@7KEԸ@ ~THEY&K-~: |8[8\ PWl[]Fk!eVfkJBeB.T @9P;E0f? 1Cb?&͐䡵 f c+1a7)D@486YX88Ay&€xK %{;Za` l60X &郞L]Ύ[ PH @ s3:j7V(:rYˑxH sG:L`u<'YP+:B.`88@ `_^$LIz)-ilʕ&%MŠv͐~g}Zk"vap14>.Bac-5&lAHV9q R@hIj2PZlochÀ{S6,WNfs}70(.;4H#Iԓ$-a&0f32uF 0^bۣF!(DQ QK@Q$@diaxULeMmVPC?>*x4p(( <g 5C!EhE!bXj$ZNj q`:T0R(C-&&sP!JdGrk‡4^IHeb 8PEut^=I80Yɬذ7"Ir$م1;:;*'BaFPDCPr3ц!ܣ:r+ l4Hz'x@I)/@$H^VY8 ,٬qWb!"a*O:FHs6jk9A !G 8SF{]E&%$!XqGfB}C@<^s%W4yx!4NCiw9U "bbVx_1)=GȒ!_ >ch"ClB h'xy) P @E)@N0yCO'G"! 0 urDC ?dPA  P*2>(B'w!#^Ǯ(PBH(ݨrgUUZ)^Dd.'k )i4b &+%$"1\ϡСϫ_L>~AD9rLDzULM v$bMU?%&{#z@vS; BR!A)D7~uvCh}rGCF(yxLL[ĞSOVWk8Y@83hƅXSSs,cN(plW2kEf[nL!DH0EKBQ-H of/X'+H$TCnjȚ@C܈@@+J4R-7GN #ZJipBLBNT^",'fBr!8N9:!YRx; @$(JCB PU1EH  f(~-iiesQjAA! '{c",<@6B?\K䚑29( L䦄 I*ݔsACQXAJs@M Op=[uDQ??Qف^ {Wwb|CCc@=5uUǸD :aw"PL9|RB!PgMzK\!8BPQvuUz`nU%%Yzipr"8S􇺶C\@(@'`~@QJH"6Z7C5cGآDe"Q%1`.V&rUO_[`GmaE<p`F( L3hVD-W*F??_d?5F~njj|{h)  }'hQ9`A|r_1N*(}P>dqCUlB:`3 C[%F E*+lBcd;M|kJفH_DǏ %W4Yxu@Lنa ɌBS${s-͘DS?}t U5 RL h]]O_yu^]F4XFh5A,ݎ?14p`}<lj: '|@ 鈮_&XZoˈi&OfEtl(TYH|8+n}z DxȠ W"5K "L ;EªJI.1T|T :͵­ f&mɐSe8CgԪ!sMIg :}T9+utQB! ߳feŏj~h_܂ lrGmP+8vڒȟ?a}}hk 8f0o=?gEP1-U|CS{dSx6#fcK*&rWՊUMIp {gQE`'FC"kWa7X o^<Ǒ e<`BJSfWsW JU1b*jvPl.B0+v2v׏8Cӂ 3VX[EJ P :  6ȯhԄQ f@י/H&fo(ngmTj dC$(/nrc[[cH)UXYnjaÕ UF3pb(&(” \3Y.5c4+Bꑐ!4 812A +.=QAOD@Ѡ 8ƚ%#\0+Ɖ"+K3.`fKDs0D["V54b&hQ!!$٧b` D LA o$o#fì@y;& vI zbDXFVQER fA Pb+j $SZhԈʊwQ~T;P.FfH@fоs?IIvO)1HY? G\` I $B'1/6bPg4zx|A9*9ĸp0lQbq 'Ȍ,p2$#%f/OiQΜk[nEʷNW"[fmG]adQY#Vm#ZX!#qF6svem;3%X컲+s(,B|pB10X DFP4Ȃ!H5B2znØuHڿXn{+ ER׮(w ̃CZ,Ny*5^=vj @ nM:Q@<=:M^8{:޹ Cu'Mp T0n lsK5,Mɹ P4pY2\NssL!! %# 6 Ipfd̄6lUZM:jeVf"t(/^Da m٢Yф| ?ot#!Olx {D H9B+/Bo:v`u 5)oveA[zjM0pJQ=+)L1](LUp&hb3Մ88-1 CPGzS~HlI$;$6>m ؜Dus EC -wyo Hބ`|Z w%sflozkasnjϖ\g6#Dyq|ng]{]@K2dw@S3ol鉃k!));i{jTi?1UqS̝LL B1;dC6)%^^5d}.pi/ `IښhIAvt)nK19 u1 37i{N렻Nmh:uyネ\\aחnIϗ0ۑMCwZuQ3ۦ9@P<ݽ?>$1Ō8xGZF exZ=n3iGv]@7 feNZ;xv|3ٟ)|mhrnvLk1yhۺ .ga I CG#{eETmSf"{5g&.&BI5wjgNdxBfTa;mtܓ@` ⏵䐖J!#BĎ1Ilu p(ƝE-dwl5 ۀ$ӵQ7$vc"gTwn9M36@@{k{;'ņaqwGf~|:V <6Q!sɈ]RȌ^\0MbxԻNRo$L[j_ɮtSmpH4tb 46Xf]fiʨ|!& B݊ āR,@@ 4)+ b  .)([RK4IJ1 2?Bdq2:%׏ś$39H22lk(Gk Q c T,4ߦEcW!P1A Φ퉚O#6a3X~d犭$@*r&&TwukH0MLq,+q:&D*(j - ,FPpd"xӛ쨝C')Z笝#|}4NZ E 7 ,G:k-niz ,SNyjdsI&1E%9.#$̔Á)@ f UZP!e A {d;bYI n_Km7aCf~:N J If8C%BH!ITa%F) JS |lhfW~ |Jbŋ,XډV0T!cA# DA?ӣ1CJ\`DbЎqQ.&#K ")[(4/OeUUUԀdU<@MchmzL4_GW K &J@%4 +dʾ),] l$(Ie24fY, &2Aa#(H $W}/BH)l<"Nh4ZxDBr{xE:Q}ˡ @{=XG%4"W1asB ▦Lʼ c {?HF6FcR Py :&JP2@iEr&aaRU eP.$OE`H BPlB~"ĆMT&@ ZR=_ɸ&?AG@?4yuh~2_"P;6e`ϣQ({nRRvG|K ڦ*^}zC!4nfװ=znZE ʕ N"@0wWf >0!IB b])QZ- du*K xEeC8JUjm"mhrx81EPؔa2iHnlѮni jqGH!F]SeZvVEҘ+)BJ.)?=`"g_9rST75 Ay $COa0h$)T*DPPHFb(~뻵YxR#KFu`eR4ݏ#(:)(v^IMH|C' | g$ZUBrЄo~ݏl78~ j+ !p%I~HH4ht1** S*5[54C 7p 3Iko%%n&]Ihsve6xIQiq!P:~+p IP0V~HPgKO9eHJ,<A|gE7VWtdiGwGe!J)d`8@ RN=Gx0]q0]I̎Cx'xYea⇈ug#wwZzHBCr͏@\̮QtCG0;1$D'HNdDmbDZuR5E,N1@LLF̸ *ĜByr`h V[%*HA՜i`NH5|es[|uۊf%itM|}U]+$C[6B,nD;TqGg`XT8!)wDM"6*:t/IrN_F. =c`< "s!G"iG!Y 5Q T 2,@( $ī^nj7rKӓUj 4c劅&H%P:QQ6,.<4Ek-T*,#T@0)^$'T@B)< !1ݠQ4NhH@ʆ@݂*>A#b>@C"fi([MQhլY۔@  iPB$DD0${>])hfWP:|`Mp;pI:΄Jy0-SV^uWЁ Pb6jY}TEB !*A@AD0",%CRH( ZQT9y7X_4GQe`  T s9?%WĄ$Rf~Gõ#  HKj T;N@ (Fh&vA@%dIHaj?l+}ZO`B8CoV)N"j'v~#"*~ {$i)P *4Y@F|!n36f 6Wl50 фf8y( " "f TC&Cgr"( ,_`bJHᲰLԈCPqh$ "&86(cS8,X0]3)yE]vKtI7̤(T á= `~8AV,(Ԙ Ȣa Kʅ@Iq'Ѻ$xhlv$4 !H# em.1H iwI,̪,͍U4k2"Ga;dUSAӡ;iIЬ@0^IȺ@O`޿22kV(U4,,b2 HT0R!8()O~ IwO׈RkF X l~۲V\cxIwc4g&--s?e1$7kf(lэTƚ7kG8ɧe16B_.tC#:0k} 3/WF 1I\JuJ,|F!P9 5K !2A@@L?I(! $5 4 JQd ( d@IaABDN}$@H sRS$[jݕ"cDFI(Q2 D)*`;,1HlWءBҰ t;:bnk2aHl;^UA?PFe="Jq*' NP}(~#!cCqו0+U.C"D~ӇsCxQ,1CC}-d/dJsaHOp;1UAE4jT~N멡"(\-֟U6'o !l)o]4%LdaZ0bQDrg,JJ);K~=- :>}f8b~\ "\ eʆ@ZCBx:# iEsTFmo84 3x ~уp@]@ѧtv)%j쁱EθOkvNtB`lH7Yİ3/L6{ʹq:HM|7uPvpdz X8D 8S41N8 `4Zl:L.:2Ws) LpJh+7!uCαr`գ?&y>D"̒K|Ȇ()# ,{ę 0'd!C{U MBĹ_kD'S )DAWJ,!?QsԒAX"DĘ R!A%X2Z&Q"GIƥ(]"Q)P EE|!R? bPb@P1 KY|$RP#A1IMFTVޓmTf+TmTTUZlL )BP)~hxS$DjގRC@}6. &4nsVi֘B @$T") 4!|Qlږ "3pB*?^D'zHT3 Wez{ГcL*|69會a&9 TTq㹪c%Lܵ#j6К !`h!D}ALDžc`(6 @ J0a[86$*0H Vt6ֻtaUwri FV ` OT(k:["~xb9#x-<! ,U=.;L tG,{}ś"iK4!yP_ @ mr,ت"(4\I/2NI^X;ƙ~{f~ 1h#X&-8nMOyy*uCsg${1 7ɐGXf([*UC,lJQ/Zt<]c0 ad HY r`P# SdM&32YDiEEmDLV)RljD9 Q)Mpzp?%C_V*JjBVm!F&\Ƨc"!'H@C,(*!ʆȋw!&{LDhY T EN1L#doLA+P{_W#~pz֮5.I! C:x䊉4Vcу೏NJ @31 0-gnԊ$<, pu|Ճ#Q0i8v+L9\˫e2]^"`q WGi`rZ05c ÖNZсfr֌ XÖNZсrZ05c4zՕ.[hՌ`uuL ~(PX4Hj+j{C"QNIiMH0%MчKh aqcM P: DJE? ("Z, OUؓgk@ v*PLH$ID9>D{F̮j{(. 19z5?{q2d+H#đݼZ!" aPr Ait7>着$#vTln#k}\9p!TWp¯`!g"=v= pp^P{\< (#]:&d,r!-ogX Z faSK"= @Ap6TqR(e a& RTi7Ac3YmPGJ2-0B-ZG:E5fVCbԖi5BŅ`1P # K!+e7$XI`£X,S欈@b@@!ZocC&aq6F*Fb`(TH-f,HckR Q+b*Sv[, X3q0Ͱ5cFJa4@f̑pkpV ,`DTeIIB . TL `I4`B\b L: ,}t2q6ьAĀjiAZ(ShԢGdRo o/xUpC;r 16á ab,(-!G$^SAvM!՝00H !ـ! GVTlJshZt B 0LdIah P0 C>X lE)N}D97-F]Pp"{£,Q9РB",8hfᔓe@<ѷ̖҉?TMz:dJ @@H.:>q'Yua:/t@C J+0 %kT@AVa Bn'lK[˭]2d#a u(iAb Fbk RBhiac8 ʚ2i\"bP0\СU~،%dT6 3vѣaN(J*a1f+շ usl8FYnQ#fQ9*TEn;0P攙ʙ"K%L F+nc+*kU˻JJ5a7vVr+KaLlNDZб-P zY L I}zkܡ!_jd~:U iDRUT%QiD'11S 򢬀TQ^C@OR&p0WES]IYT-t7%3$UULQeR P%VFaTfN`Pw$1 "H| ' ̆UD8}#l;DđP=v.S;(ƁT%S m.ց2P`ýdwbP^,8Xh&@HBm~s@)lm@+*{T\/ޔ[8"LW0$;HHR,7w#1 A'ϛAJ'ܲ=q?<򈇧K/ڡ6'j ) 8Gqyn(v=a* Àps6%J": J7L j֪lʝZ]%uҖStVW 2H0aX$JP7#"Pp󶺖LƲ+&D]{wK]KVRhHL0G10r1()v PBBZ!v+)uݲ]Ѩһ-vԩmlYu1kWYZɄ4.JHISJA mJC$ E(`(6ΨMː SE ;;DK7^NF3ۛJqPIy۰. Y$9^yzm΅Њ("XX (P"b~ץET~ [m9R>XH("0ha"AA RXNdm ?nA^Ɗo/'/(@T{LBCm@x@KS2 ,M8!qNʦlTFbX 4QgYB`\E[vԅI.uӦk֮i'Sտs uPp>HHJQASR&. P@S\>㸔ޏSnw ޶NT`` -!L(<Ph~h !JbpcDL/o~_vq~^N~uw^< |OOc@2E` *`4/K}B'AHȣB4NސH?\8@=,\XอJ;ri[i@"+R @;K!Kj(lc } H>-2b'Dz@((;J"dJ}ëfaÉl`/™M?+HEd~!8,za@;?!=dR|^h P=;'3QNOBo7j` x2\5uHщ0A9Fӗ?][`zTy3YLys#hWzkH(={ۈcPP c1M)cfjH Ӎ:1$S6\ndZ  -ā!8hlSjT*!*QL)nu@ Ck{گRx uB46ㇿa^C [h54,DY Sa`* ER M|ŒR`CtCy/Q4>a~CņB:h#e5 zRJ#L~5 R'qk=U"q&_65!`6S& `l͊;сBIb hO2d1PHكp*)=J}喞Sdf+#B!ʿ$*!$HC-\ oV7kRdĺj B Bc8SI v\((C&zz@"WJO_T9R!xi(j'pZfj 5JNم*Ϯ_E:7o;-)ڄqaR{Fphn&,L ڎFlNH0oЛRB2<0\/IyjEjx< .,}8o6>f2BŦAxlaʈ,a B H+j &%ȃpys:~_ͧUL0hM"zj"QąDfXPdC^i{`Шگ4Sa4 ' J !8Œi(µv[^]1SRjm~e%הoA@zcD:Zk;Po9~%ve` "$ }o[_jLs,rcPj 4n*x( BQL] I 恵0`ZZJ~)0&~(n=A1F^($p:GX7ުBY#$FA 00x csʌB:@#!z. mti(*MRdI%lV;]ARmw ֵE4ED &y [BjLT= :d RPЍ*4 h&8 ݠ= hr1BA I`X}XxvϚNnqq?! 0 /k\k@> 9[+Dqh)% \4/ր3djH RT wQH1 $uJ ,d\-%wQChRHQp00h!V?0朧`eDsX$(ӗt. P pWPJҨD4@jBHa3feaHEA wC5Q`UE C2"b RH>q!pҺr ڄhH*A"TF% ]%!I0D(&23H_ ~♟ӿz3:w|'w~_"<fw?k333_nK3wgG1Ϝ(C#g?לc_ބ?ֳQm~??SO˄=ΌcoW݄/1j蔾/G_ަH9Ss>6Wi}R?s_9*).ߟ_M?M?梍'~_K]497?)|_S?J}UiOgyϋg[#}O|vOyOX\|gg/__)~RcDҗC?Gݔ%FG~crg_4QQGV#??G)]G:?ǢoǻX#P@R#?d (?ql Z!նFم(;J~4.+L8D@iRR(RlcEAM!?Z1At D53aM 8R2KaQD8J+R,ģ1B'iva)0? **E*6/$]bZyoIH(#[  4 T:i&;Q@S!)AěĖk`r>'9ٛc _0!KyI SC0pi4?CtكLf-QUtVҗFϯؚ(1GE2r'g ޺UvWgT3f*,~Sr=Q{YVx xS~Z s1oUF nC1¡AU4lpf&VA-hk1қeʁEJXPiV.-D^XahUPP.B v%H}z_ 9Fds MEGDT{ @x|SC==S\85^oi`\ ͵o`4R2 Fh!J6xn;=Fͫ`D6X3y3΄&ۀΆvbaCAME aCR gH ņ;!terB@3@(n-( ¯lE)F ݓT-}|}A⪮O#WUUUJ?e;ހ1?3 aȫ(#7F86 q0W00~L4#C[aKC3FS@g,tK\H  GPq*\bMmB2mU MrPoUU<; Q0ePArcyujpER6"Y*P\iHCL  `} pG~h5UPHhwPk $KG@fkCQ8ýA0Ůa-派GJc2y ǯ5Lhfh&(da`VBF"aP 젵6h: @J#2$G! Ǹ@ܼTT @{c:ģG3"3thh8}n:{Y"ՕeM>$Jd@(EoZD |5&ն Օ#2GJΠhb*$p 햟&^EU)I58  Jki>_}^P @hJCLFhN '*4XZD}r6M~_`, 1r""olDA05WseV%>܁mJ ODf ZzExyl{'"=!dd®(#!Lmr2!AТbwV\I(.1w /j{fXhՐ TJiGkyLJ!찵@|5*MFKk|hƯ7 {'|m""QdyةuJ>x(C`}zN#Rp`,"F hFN=G,uB">Bh/x`W 5&iuƫBUn'F))˖̹4<]& 4HhT%` Ц ƤY/!"hj,2%g#g@7ItH˨ID щ "&[[f֏,҄ p@%\l @+9~L DJ & `DZ`@7Ц &J@)Xd$(CZm LVri@E:2hz͡vȏV"sg?}{jR.h)DE.R- %?:{sV%1ex:|wOAb$Hmḓ*ѶJVRkbj>>dࡿLiX7:ۥMEh 4NHməy-qtKTc_4N!9 (I/9HQ;q9پ7N80Rl)JQ3h?76J*?4DSh aS_p\sq?<<(MY} ? 6C-A,5g`i b#RBt=Fp8/1}$А(a"ѩKIw1Ph}>bHg YkfJDډAf@jc"d6û`~PDwiNhIA$ϻ5EWc>vױWge J.@ Q3'H{DQC~LuiY ddB$ 9p$5s@ވ?9J DwliNN!Q WξebF?nTIK2MQ[yW(KDЕ^߻fiD=A~NLqC@DHą!sJ."$I,hj RlvG>KC b(8AqҹY#$HLlӉźcHۃC8r G Z8'<^\coôq΋}Vwh/Y;#,1.uGt|h[b cF'-ܩ&z 5.;O=VBSԍ:apcNfs F5 c#Q("d2ZXux CYml IZMZgL8A(NoL_let6Y#2[ZJ$SӴ:N[[<+N36X ljvlj# t˴4bK"l Xvy!6n24@(@ jf2TR)8g% b#tlyZPk II\06VU2m9e )agcg0 Don[Z%6-(p:|qBn,'nT3ĉXkHS3fh6`{)@rЈl1pFK@mykak:{N)qREE@Xv$)"#ʙ́K00No!2f@F [Hp%$:!J s& l[8O.DE* {ʍMy'砐Hݙ{HM4 |`*keq,"3&6`q.+Ʌb"$FKmhԩ:lϖIi`` btS#3`(ؐ qeS-K S-2IipI\㌎I d0aP31KopIuPf * \`64 fj"BFpHIJ1LiF\l"9 0(GҸDCX"kb@`O8K4dbE̩IL !K Fgvӥh<% ˠj HX$}i ԋDwc&އUD"E xYLQH  ,`Z!pVSQJj;%M0hMDh!@ 솎Ȗ@7 ,KPa TƆBf XaH mF(hNhw%r@rB4@~㳲Boq rD" +0 %pX6lii2b "CWa(:dOF(%$/T#@'!M)ܶJ_&j^dU`0hI]wߎg#G @ Z=vگZTӰN!K`X,P.c^}(>W P|T0T6h@c~l"qf1"v,#ϐd\06w>-r ;@j6"^MͷU+yuP"huC!DA:sjY6f6[#DuaS7 V]LD00 ,BVRXhhC Ju盥.W e4bu% kdMiP Ѻ."0W˫2ىZdRAޓL#67oBP/~/HJg "-&%!xW72@EHՖ^a`u{R EB?E ^c!AhA>:2123 TВ@3EY𺉯z<9KB6@C, %)_3az˧=BX6xn$~PІSDJED57anSF0(~Y5i0$o@I60 QqTX1U e̬?ӨHv30 [:fP<$3h0`F$O=3 #a2Uu(YAoPo GD@>d1zFPTm(Cނ'0_)]^:#A A&-NJ\]1~3]@J=QGiw >E|քA~~@5`& EBĤ=qt<Q"V ԍhv!tkf ogR?HPb@^APN 0ЁhH> E~ǧ"k@V9M>P /CdɚD1 kY"aR&$JbT(%9'݀<eM9cDH`HA|Q@k#C; H׈=?ʼ,<u:P HgkEC2Pa ôtn|['xK,^>=,t0H%JR3+nQ`HʨGT`v\NHVLilmTxl2o5r6ԅR!(ѷ6;#[@LHwKLٖͨe͢Ʃ%IB@%*BZp ʧ8  ΨT6K,7C@$gIHf`2,C}ΰ"zS 1T}(:D hMgs q)Gp{D`G<"60r(r@gp|<,`r/dzTٙ7s MQCLD2!0eYNf#yhNiTr) eeo[T;c Sn1!=^RCBF|% J D"GiK_M Auڧ0/}XT& A1{a>ERYTHI Kt`@BCUM '{6AǟXxJ ,sN1g~T" p(GU H?\a B`"0{gDІ(li $ ;!ل%5p6(d`H,H @'Nu0nVƅBvt}0D$/>g¼`!#e˂(vk/Š$Ù"i@6(L 0~HpL2\&A$%& Ei W{`HӀn?ۜ{^; & bbbκYSbKKpU$̜uaa- dC< . ab c(8bL#ذZ<QcA?&d;^!Qql5-yGoEP 2Ee\9 LeC`j%g 7R~rQ PHdaJ$* 'ib7LȄ @Ml:ܦP2Z-3_Rk'?UMI9nEP1BJj fai2t2"8C<6:Hf^p e?rGzH?h82;Y$I=!;T>$4~!ɐ ڣX#2ur@[&aHA{@7Py:w#!8ԕK~t 'NEb8l{s}ͩ p!9n1BBN/WP0 ܧeB1(Rd Qמ"*z BB4+I%Y5%`aD4F0+„(Վ5zI@t(+C>,QF*a olf+$J@BҒC#0*P1R AwS%zK`LW̻\/:ŕ%ލ} \?d$52`'@OB/|@ {|ex4P9!ű%ŬZR{yUk*%WwdDυ9~ TMҩFMZXյݺ$X^vkWVݿjɀKk_C?NB!<Q`8KH &@4@eR"rGy *Gd7O, % F IlO\A۷ ğe~~ bɊiHH?1AY&SYu o~jxa ^[:Kf溠+6]tD;]*vѶ@3Cޝۮ6:H{m͛h{\Gjͥ ֌\wuYmvm׽Pvû.;{t 7,Kh6n7BN|o^oVw||y;T;n;wi +lRϘM L#4ݵcuxY5{{>x}6ٻ@bH@ѕy* 'C̨7UlӬ wvݚ{ZWSݼ.wnN87awz4Ύpoޓv۲d.60Sn{{ݽ[ݻ'm϶ӧ;uvgo:ٚժf7̼z{urE뗛Q!2bI3mӼ`5wqmZpWfQUQa+VIW(-=uNJ* TJTGLBURMKRi49'O^U{-hv)*Ͳڏvs;mgj6żd[wҕEvh墨^K)$2#܉嚣md) Q [+2c{qq$;n z5T G(C+-o-;c*$OZ*E֔4*&ť&-4$H֫nhoelPZ0 P퀽5;)%0.AJ(ʴǦR* :i%R=Mt>{ vOcQ-Hm)j@$4 bɛ0]nl8s{Zrʔ * irD @04@#)~z6!j  4i4D!dЛIJ~ƚ6$$ڍFzS@=@ ?TRJxOFT2e0A<OS2z&&zM4400jD4ѦiC56OMLڧF)OU$I0SjOQ i@  Ld<S)ihhD@a4&dM <#S@I6CѩH4zEv_`ɲLʕ*Z*,S@wEykCZ6ҔD8e*%,fXYheȴRSxF97s8ȒDVaVU&d1Gy/0b(_EEQ,4Hk d#DMέmmʢ$03l$ 2$`֊$J*ѠU2@SiD$kԋLh&¨#@H)A _݊\l_\̓3332L~S+*2,.)β#VngjjaӭUUYvNX/XV;˪'Ss f\jb+˹Fj5zUi^N&w:"'5#q@UNk*갗' £VdYqLNT̪"w,ÜDS8AN4g'/5<̋ecu.&pֵkZ֍j^5ZֵkFkZ֮*9lk.(tD4*&1BI&b Iq9צvَoCRRGmj' CDa7Vl֪ ɝFNY +QQR!bԕ)R.Bnv*j"Ӊ[.jp1Sc/T[nNHx˫d'Z"uUF,zM!)z:*aۗdF6jA7S0U]fVKʢG]pBC.J/N{ˮkZֵah֮bfZѭkZֵZֵkW[A8p10%aRIR`Q@yLD A"bԊd H#Z(FJf QߥDC$DB٤IJՁM"JImŭpա a)!PpAH2⒄=Jˎ$Fn2PJD*HUb^ \݀jb(?-҈@Lq\ZGDXӧp? Ean'g `Xéf(KH("&c Fp;MdK di ;̀؄YD+d_7_ 1dn1*Z& !=[I^ h dv9Lli%̼c"ܲY$g{S/wQ!UFIP ߜ@ɸ rɘ%8S(.#}JFʩ73Ygty%,4)hmJFM6*Pb-HZ_CB0]?{SS3$zd16;!Ua fƔR:<:atIqZ &%);`"qDvUu]AS?tWmKѣ DfHk2jVqe։)aKA(MJRJD5*[;IjS(Dmn (jZiSxWD&*ňycɧPlBR%!?\Hwr%5:'% m(C@lDIsJq MaJRdiShN(tkѪ$1Z h g|m>> Y'& ~WEJ%bx)];C*bfM#:49`c15[ iAa=ݪM $ #1UKle?Tkl"X!ux|(s/+z.ww$}2Iw+,I1'.YS8A_מnCH /džĠ49b"Lz$T[صfr>P?EG(Y 5l@v04Yѽ}OpRS׳`;"Id'겳 !5Z{i?OJZu8I?_ wg_+NյiVfЧuB^r$/#fj3ĝQߘF}a:0ªVV"خ-g%25&^64N5))ad6(¶ږ3V)q[cZ6UlVz1z5XCf^_k)mOyۜw!R9[B4$_P.%_P[HE{mrūf2ZɥD()"CLS,DiI4JFJI"e Q1-  x&jAkQ.zOWuY}̌&W?v*C\P0ekIkSS `GĒ{(3鷋Bjde 4cIIb,TbDPKI&Yx˟9FK#%SSS#iJ[ʋ {Cm4AX4k{sCdžu֡"XoE!_|J 9'd, L (%A1D+%Y$0N {C.1eUp55ijkI` FebeWDIH\@ JtPtְ}5:qOPk~ް$= !D, H{kR|~O W{w)rޮ 굶ob%@TFL'it.&YLma6'1g xԒ^]P6_c_DC;}߆-fhLc,rdڡbQ( 5 m/Fʈ4=pE{\@b}56fd ;(M>5"*&f)?}haClXm5dՐ*o6baXn`ȋꍘ6@8 J!Al\*Z!ʡ#!1Z B0pP>El}(*j霅!\)Ď e!Ie*QFfEPDdnJ ۙD҅=6S*Aki (ywXfE]gvwi1V(!Ǻ9dM),:H4!S!*Āݰ80"LXJ[-V*.kW4DA; ѻ#]J[DW$fQ S2da[xJ3i11$CJ 2B\!z344PR#fdj=lwt ]ksDIEȄF"$6R*4+Wرwc;]/+]ZlxJaKFI)5&MC4IQJm8dʶѺ/3 K%3{qIbp,5ܣ\K)KrLQ%R Vjiƻ*䙷nWh9n1LVkvm ŶfAM KQImi66CU[5dkS"9Hc'[2Ήii ?LS'6 ybD"M2;ݛ{ل6 SD@hGUS@*4B$!BPBu  oFrўqQՕ;l l ~wZ4nx%D1d1Xˑ찡BSH۱m Ldҽ0^>j(Fc6& pɩZTI((B+.@'pk6|5{R'[b[jVBW4 裒c'rK(]^vΩI,ώ1AdͰa8^~l 'A];vT"-l (_%ӠtP<+ijš6JbOl U)O'b~g4~yA>驊 LNL')v 막jx8#1cBWD胵s:] ;tBK݃|_%bY/ g[YTK\gٯtL/!gJh$*}e%ʱay}kuQmm,O瀚VTdJ4Vmis?v'vhb|W#Hmagt|LY-H;5:`YvOwC0zpD$`>LMfK~q~w9G/g'm3 vus-[cs{Ks0v C)y!?/ݙޖjdlbR<>Rs=ף_k\GՇj!aFHF$e"($(mE!K3eKZڊlRS $!㗎;2J~)"O]߶@< =0$DI/<+8$;{+$#>=!]NO(y+uմA~N1ɍ/'f@ZFQxt珓:%A2{"o'vt.K#iY_0q=ff]E])jy74kZ% to{oxaDFab؆)3 =a=?^#9ϑ7+X ?B@<o֭jշt$&TCӑ cpv9'zwAAAAA""""""""""""""!fC4RYMNs+3sr̪`Ӗ-NZd,}2m}i}Rge?bc(%b>o+wPC2V0e&eHC(M4\V"}>{{yN͏ 2 lFK'CJBA@1Ʒ#b%D0K(kE|A]7q#y@^_03%X&%Xɯ'ܺnuuS]usVU, T#NC"3`E6 V&7?{q>(F % VX. Թ#hO $ TcJ 5*T%!{_ ֕deЦIt k0UoM#i Q~<҉ƖJFU{CxN%?*@ R !6  ;Wi|&?b2tQݽ}N]lAPGW4=;R|H$%W\E`{'&0ebfBąl$Ԭjd"'`cN oB9' $( @$@CMٴ `"sIʁI,)5%Wc qύR50P_BXQ[l Ra .>15_<ڔeդU ,4@ @'쐂;5~(H$0);ˇLdV[a&okӻծ=~Jf[_}w ̑Xx`PRtW^!ow[cSyE6kH|Y-glV(&w,7=٪7cJ>=}WxA{h<&w@ Կ)(!,tͰǏA$q؅~.Ec.e҄W hv Ѱey eP)w7 gklk䧴'*-ku@@|>m g{33;3[*RTrwjK_OFt  h ^XV\ZE^Y^~ ;\H h:33p(DFc>IL-;#UЪ@@ȏT::C H[谴lHxǖ1u2c۟o[gw$ݽӦX  qI:~>GnX i7g ;sQ^/;φ|`VRg׬ZSFdb&f,6<>slZEUzL4^0{#/l'+Y X#,8齆jn dVቐĤ̐@X-˻n]wrL;]Jv{pItk%O\>7c+A)`E ^+ݛ|wSIjsh2(ms]`"F 9R*!w(\&xpnlkjЊ3ו[LdN>ʙ7RLd4'Mf Yz笒4뉩D$kWغvƵdH#=ݽ:a,R7 oS%3UiBo{U!^8"c+-3gwf;3 /lN嘥UN7KVW3oZAw^<PK-6fVS \}+0:"7C~IL6-얝휲QFi7,畓InRFLJqӒOX2\W#~wU5EvcL]ŕba#EEns٧~ 3Kd.w4@IW=KƄҶVv'|MN/F`ǿ&/7[6DDFL\7(4,MEDj4J3#2F?TgƘ"RDm/kK-3o׿0l{??DC~TȖ(u%'#fsrmQ,Hw=~+.dec1qÂ.:w|sጚ; ?W=1:wpϒN`kCd= 4!۱}Ru;Ts &LQۑ7w A*31s3GCNmҵM2#N( NH6!9ȼ #1{P>08acCbXcy||-i r\ayU98vS8&.e]UdEKEnb-Vm7inQBc* x#D8aZ׺K)j)a@s(.W+E?3/>MgctlE{$ur-neLɺNfmd2>>7lϝ9%2i; vM.Bp:p1:.>2dqszOywh{ݢIWz杖 xO>WWa]彧TW.ce`وmf3ëظ%G@w|pփ93Եys>Cd ÄѴdQLd=jWj{6}AbeK%jV)IdB%DS%d) A (mFowwa#E69 8 `AT7sSTLLMmܸ b%$A  Ш%DEL.-1eIڡi,UUpI01db-2ۺ"B;DiԱbaV_s˫Ԉ{Ӥϲ#V?.xZiNͷhcLe n|0 i@0@$JKe\,ͧid(xWVLIާ~_mG0)O>$~+{/'%}YDrGe"M#=}߼r~!Cih@(PhFY ?Ǎc-(. N 8ffff&f!$$ffe32I$Hmۿ$%@ޢƮBB d0Ug5Bffe@D!zVNb³.]YݿͱJe ؝%beE˙aţ4GH$i՜|{s1oT-yY"n]Á=,g<<0s׀le1lH-6@Ͽ:O.hb9v(;BhEc`[(mHjSS=r {*_iEkb"(uˁz 㿡GSr((Qn͌d0f"M^ X{Qd^au00VC)QAܫf<XI}@ ON嶃8~mXpq3weY+ xYjGDd#_7^4Ѵrno=6޽GbNDޝFkOӐLbc4AXV+  ܇b^ (,e1-he*(&Rhe*(&R!^ qWX*âQi0bC"@dmݱ fe{|/v(b̍ Aݹvz6Uc*իW<{.T323j?U5Sg1sB#ŕZ;)9v&ѶܚjZ3d_/?o5ךwe$nZ|vc R󋻾E6q`auf5MUVZ=çkg5uz- 306>_mgDKdmh+m0(I̊((w^s8O.ìB\\LUVZtihl|3$N&`666;-ek:)|m  ffffffMRU5C wgѲz.n PJ)f4PHڼP:51߯Y 9yWGħGV# /iE^^jRE%ɵ!ӭŖH7zBH'Vj\=ϗ36XvQ'$8;=}v~_rHJwܓ~+GIΛj4RH6Ny3]I-*?"~;n[n6s[ڳYjoj-z@p\FfEE4*k=Vw{ k<:s<2@,s_9O/9kh"i@cNG5rBaKѦđ<}$Û RO}SƎ NɖqǮƪ6CV/F׳e4ݟM$* psQJYg;T.L̙1$Syf~:0pHK@2H2HIuz6)O߯yǕ;CLZz+! y|^GArQ~y X:$C"5-0FPN9OYs `=Ӱt`Gj[.7y+,]gb&F ؀q!;@C4<ʂ˸|'<=|!w9U*'fF> fŻTNɀd`](:oxmmRwhBTc7̪K`RP9O4TxTCh.XEkT5 aNM j L,IOj*, JQVƷ=:v"B7!>6V]p X]5k#$c%1eSI"g&oqSu1:5Wjxp4+?]wJ'K+YA0eD$% dmĢ&QGȡت0,ʪ " " W}ؼ킚ZH_Lfceb[-Ċ[mE )Q4ABC(pWZHԙf|U ' |H {v}d>:ul'!5|1&5fr,՟lXHaո2%lAi@oLyӏ.=l`$b $@#}x`HvAӜ9X5!)hn? 2A5,nĖ$UGܽ'@݇vYYhsM 3x&P֨LZs3Z6cY{xl:^I=9*I$I$}WW(T C lQ42ryѿtI)ЫfɸUVr&z{p Tܤ,Hړ*aa6pͦ%ll)-!fq֎٧TTo)<>Qh|4F?[6gy&qCa !0ŤCa -"C`KlYa"asV$xqs\ PÞzÁ=L0 H9 dޚ.?kَ1Da-[:yqlpDBb&fۙsLJ̽y_1"muH G " BX(>)f3"lAlF0Odn^UUBe(MA`.3]e sP.3"Orz35CwxkhTZz<`,xzNI sAv S$,SJrIgI>ˏG\iY~փaZ1gn hOq8U# [l(n(Chơ[hF8MLqsy9E.j-Hһ,Q&USC#3*"*Q!*d$YD^I3 4m}Q$ATY}y{hfsѭk}1ffLc"("!I7AeXA֩G֘Zk3Z ѨьmFXiDm1!ě6X E@9a%A 01h21=X ;:o|aV\"ƄE-$v2˃̄|8.Xo' j`}wpF(J~'vbr.ʢ+@BODc{H̜4@n{zBX55+`H~.Щ$nU1 mw;^gք@ߔG yYt% -2-!}8Csgێ&po  3ky.Ϭ\ a+*l1&*Z !$8dߪ/XdzVsJ|h[{t\++t1pA5e @J\x@L'K "3k|Ogm?dmXt7e>uU^{GYp pMg4k}_o6A6Q?^B9DDG}xh>G'#bA2T O9cXӰ`&eϠol;n(82pP:K],$" @NpUTˠ^)n"b &^A0@${8akZֶsr67q$P$+R\TT`d:%.]KszE̔02}~sa@:Ma=>spq=1 fTI|9+T˨k|kE^œДum Cl%$3HfE%Qc*,a$a$kD P/)A5PT}wC& w괼XGWO NtGUjZ| >* OI~_W/U[uUuUWq[Q[)IΘE%3RDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDlq7v*jp[˸|t}djdV; <q?QYXl,3mD'S6)as4$p7wB1dWvφi»N1*~ *y}t@u⦈D3sY/7.Ys2R0~d# B=:h(SaNwMvtzZU6qZ{7 !KQ$+4}&|ğ ( =K=9:Mf{=^{q%6I ĒyL h|n vq$OfUUUUUUU$I$I$I$I$I$IX}ͱ.p5Jmdt0Y@;K/{8X ,9 %)U^s9 _VdbDew۝K|KOͨ{' 0, 0޷ ([(rMbXO[zu4l3s JR3=tDDDDDDaaa\i{nz饜|q2gz@[IvaѰ ,&"ͯ?wpUUUby6,`kvygHvNĠ(HaJBccs\x*}:JWx*P(m9۟/y)4yN$ɖcFԵI>;($cyJ&cH:O$Вv3o5͇M;"硿BLx{pmnif!-ޚsǤA6U=`BO=X%MJ4=!SlWMw7|%%B<5sy=6]a AWV($35v]fh>^5|cio 25wA$@BJe}v~x&pڛC%$qi)*HI-'&CdgCiIxDnkru4 RnŘlXƧ'*4gA{3L쪪&\Tf"fff333133bI'w~1_r@d 1'7wn035^X Bj~x=*>+ bƚ?aV @N͡sYȝI_P.Dђڋ93ګ/>'4FMk)W)v[qdu[P0a>I`7cNI돰cxpd#Ӽ?^HyAs:NS ˥^ U9!9fRp 9Uv>\?t*,`2pe<4m KU23Bhʆ!2ACp#DloXXu0%3lra&`bEfjuLM1`@dIܖ *=Ra &$UD*ʔYHq:r_w"R/.'w϶!evv[p&3Zt :!09=&>R`K^,KE}>[}I闐]>{6NdNdn&8\Hd0sG$c/ %!!i&#`*_/CJ 0'AKՐ{[ q hКDpu%ncݜ\ [vx+w/7f7!E;7A9tJD^~[*%˯(Wp6'h$z˱ mv&{^N\3`Tpn%n1)))8{wߴ2P^{aP6v!WCAk?L.; i$sföIvN;RSbXfw|~NU&UKW &3A״{v HL@͛\UA |׽RjC%un}Ѽ7̽m"b6ʇ_^q˛a l7g0VJSmhnKChSLZ@y"z; }#mpZf3PFM&Mn`s{{L$!Goo0-tz lk,1ibКb=!Et%puL`\zgգc|-JXQWܢ2XŋV4{md--U00c%#tA4 ZG z=I,NNzk[ՃK;1."D;s "X+qY\)XX */8G ѻXA=^6ý֏i" OtT:&6Ó2x0X94m0pҮ"RAk1Zj*h=0WwmsXxo)8t7U$ *KA"^iyLJs"PkGk(LS'S=Dd?E.yNyNy3%2|M&vTDcv 3&aO?)<+Y}X7ef*_=;V \C6,-IdH-,KRBP, oGfZ 6Ʊd*ҋ*Q_+xG-g4y *DH%3hIY-KkXo#? ٶ&*AMUswǿW5[ W?ƘІʪD1P`޺M#O $ǓQÅ<. ٝ:$K]=NfX`&u.߻~~?]u&6DS+z箫\\(]u]u]u]u]u]u]u]u]u]u]u]u5]u]uqG Nʡ.g,:dxn0Udj eg&UkأM`wڗe+-[']w!_ M?]\ΫE[C$ ^.0tyzkg[-d¤IǑk 2k;E&*}jrjWsɱS`t ;/{CEc '0{ܨY/a#a [Ò*; '3|ν]?O4-?ƭoTǷ'Qr:B-+g᯺$wCS9 c!CSR"n^9oVGfDNBӉ8'| р}K.%w-\r-مb9^]]ϫ[+?z4B6 Q!O' 6Rr׀ۘEaLu%پ[8F{ʱW[wKS9IM%΄iٶݒSsݙe7'r'fu{bZFZc9ZksUkF7~HCOǷqwrh4a-f:5f<֣lq{v{l"Oj@HC7ooMVCYĥB0UMq⦅o:m/G=^8pš-UR5F+cX}shyg7&e3?=퐨eJxxM F8xgO>5 B*:;7Itڷ `#L_\0)܇vX!.'39= < W0݁Q3vќfhr_V{ͮ_51/5%s=8}~1}e6/Ry. "US8Nv{$kbRZ6nv(s^|:* &MUIEyY&&.F|Kk:^ i#ﯸ#BeT9Xxs%x\cy3xQV[sMQ>;T]{V1r)*1Sdķܳta,!7 -t5L*˜C}aﱲo/VNӄna0ə8O7ouwZ=ft*屳lc,:#۾ϊf2;%t3Arfw{::`V3\Yx{|jR&eo^o> ;OI/II&0TdSO }%!O4:q"S!MACTA mUK&M-4R٫lb7"D#NJPKr ]5 j c1%MZZZhp,X , ̤VDɒI4RlQͦm>W6̕%&Y&"J!La )),SVdm42Qyaf)hRĩ@AF)AnIRnSA"MZ"Ӯj7%dYԮ%5dI(bbbH 6P9'D_Ue`W $! !HXA.ŐlAlIHځ;22$@P?lVaX p?\3$ &('y1[1}IXYf_idѹbSTA -NijW${\Z=:/oZւkZߔ+aaͰ܁GK+K P4@Ĵ@Dqi4h%" RG T*r@Vu`kɗ:pޝ##k,Nl (\ưC_Oۦ"2PR&#6/D8uϗ~]v>SdKN ;v3Ji~;ºM_,M`+_]9]RwqAAAAAADDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDG~?/?jUh?7yWYNR M >}k0埁[30P6 Q/N It XY7s# RvSNIN! /dFE-Ζ!b#N6#0ڛ8 jFHԩ`B`inMTO0.m;$hVhsik]eEے: PJP.yB5v&0Cknzz4\_2b`ܰ@嚅CXU%7$m % Ur R޸ՙҵKsRRw7m 22`UٲY rGCcwH4br8d(?,<m{z,L2}!iPPA'k`{ U/Zhz"J$mڡ,ڙ?zjO+VXvmM n(6}C?'~}ǟeA&@rz 3Pga[og6ou.\8L/.ᣇѧݽ03,ƾlTr"(bi}ZWU6!] &!!UR{*TC h]gsi<0w\Yj0ʹ!)`KU60Gow!ZGNu;H2eakNj#65kZ֧)ԙ%5iȧA6"3EZֲ$~y{7 A qJG(Ջ_';d7bhQ'c$OOg]3 '@rNn? '6A*嘳wF!7azL\/Gdf˾GqL!0t]K&MmLZ0ǣ<@vJl>㖓Z] F~iEْL Hrh6s>_~J߇'k9`>2)898+sMGf{m.=7͸iY+$?X$ %Y=ZF]Y̺0^ CAvi[KDJB\ӏI%?=/H RH8 7clu:SPed&a} }|EIu!1̗Kl%0 '61W&|?wk'V6=\;*nx;wpt6t~ rNC03wc Km_Ѭmk$BYd@!~tpzx5>jt2oC7twZ(2N rCS[=v?4R:`h0vvj-[rV)dcL( cJjZ/v+ۂH@‘PRP)ĉ@❚5%A"ݖ WpH "BAv2BD(D F~xtߚkJaJOH6"՘&51(0eƠ0 cE#a*9hkվkZ@1!!8MebT)"c| ƑCy<lr( ;vϲɦdS_W Ň]k䏋b&J(ϖ/*p"P&L-VmQVTD:5@~V^I5:Y4V !,@#%?D W;D֫mwE[m%SHڮȀ⦠ T7PsB~y8G#V!S|#>1}$\˶W#iS~zļA!Q b:v{4<|bzA%sw=˂¯qBJQT*D-VUVS\`eg߉PȰR zVh\hu K@G2C%VPIvH2v Ma 4((8`IP2bBBI0.1ev]D H/>:IںF$G['T_<`P4CHb' $=V?K}qQ۲i|`=^D1G#p?R5 5`OmSG׫'.eZQ??{6zf[0gʹlv-0;g#- YIBDɀ(!L 6H~~}=ϹG\E%ʔp? rHBoy}־U/ >g9+ DokBO8_C۾V]jUdqɑɈMR S$-@[!q8Cl3 T+sR&8ß&F&ՠlZ(?Ew}+Ibϼݖ4Ǩ<%p0f/zM)CeA$3D<΋V Vl(OP686ƂKvyl0f!'!8BNh~&29;5oSTM,ٙS*#FtL6RfQl &.eS]Sg7&.L )Ȧy8chUUs'dqo渒@MVX2O/=vx=۹6)5mXȻ=EXAƤi#XҲTyf ۮsF@vJ'<7 !DM!&qc:6ebb\b~. T,ޞ|rng-6*HIO~^pwņv̚MtY0ݳw3^-Ӈ9H2DQFjD8,tDLd[vCf1 #y `9U¿1pzof748'L $oW8f0{,q5xgՕ=?oq} \E]7*hK`=lIuSD=׊vR^o|CeODcJ.#wL^Â謨Fl&I4zW2"RaƘqkbǩn{ R6rm6*jpG,t!|}|^<o Nv2:_û/^v/[oF9E?^UK,(Wnm9f[2M>(ZdU8Õtz %rEG*Rzv2OO^eFР/l3qT?ZjÖom@%!;xD nRmn eZga|icIn0ALGai=Y8KĶ#a5j{O ; ⣄#NHO5XqH9Sat}30 !d[ cH 2kK+3V! LL23:xӮn?r< 0c푱)jS#]jI.(32H,#&57 쌙&e ZgUS&R;xh]ߑ|i%!]ɜ?~<7H2 8aAⸯjfScCa 6ZDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDcj7.T%RrI8/ZI I"3E ?i lcp5ʶܯ.'o)9Qv~cAk}07;qõ_N:fWor;)hmD8gs eU u2f8+K4{uz\5ɵͲ=t[}o%kkks=s<]u]u-syk+뮺k뮺뮶]u]u]u]u]"X1 !^?I՜ն-#Nǎ7 HKz}|^^/w^\'.I$I$fI$vvt>'n].Gо,߽z<{o1u.ʾ/{@ cm8"*sj쉞bzYf>Pr+(_pfAp?Yl<堞v)qTUO٫1c~Y5f* "d՚Md%Cbٰ&Y~I\f?ΌzSյ\-GBG2(-(9(G,W#H~ Gzsw|?IEgQb,i11~zKNq9Jo6ȦrR@5MHZ!wzliْX;I#]Ñx &gC۔,~T%řRoq͜o8} ~[𳜀94@8w3^snujMե9s 7gT ]5 \RN3sh1MCQ>B&I/qHRK댐qrb:GkE)T1BdWv{<~Gժigz{}~\!3 fٶO=ml)7ӆ$u{!-q}m>lQ㕭ͻkF䖹XWB >ڜ .QgÖ %Ͳ>{0$_Ck$C-7QsӨf~|>;Ҕ+JXJXJQ)D‘KYF?A7uy'f:&.Hf`JۮfшTVY {ǻ-i GHiS{I6ٽ$eV!mZaz(]8}Ii.&jJONǍn}>V# a,|HQ)H8CGĶfR)K|9ӅkZּmkZkZ׳ZֵwwuUS__7IG6?/3?7xGZI2Ҡa~xk84~{-~DLqTS`E즱'~DiڴDYkwt :0:gN^F"fj5e&6h^ykff`\mS6T6ն/qG6ч)0Nޘ /A>_'3꯻D}?tUWfff}ֵ}ֵ}ֵrow@RPxB Lc'30L%K:q _Xb0׃߆y0 0 o 0 ""#{DDDDDDDDF'|3nUwٸu6V|>K^oS̺ȉ79YywwzoZR 0¹W*XV+RxYZ0 0xaaDF{x3}eyya[0 0"#F{DDDDDDDDDiUWͲ/9m2Y٢oW~ zkLt @9@a踁ެ ۈld; "/M7[vv4ӋdICr 4I Pa3pj^}Ē 5'hQ:vK#adx; *:D9Njrr棜((棚ISBâTtXTXB?\DVjz|8xK==~Nky8+7;oqS:槞瞳U: pCKq97\*NUfֵkZֵkZs3ɻӶOSUPܝ/Ag!D Lzl=Ct==aXz=aXz=a Ga@u66<2I љܝpcIs i0Kz4]UL.˲*l%73߿~@׼)^xə'd:.mpń|Dg:ߌ3ޔ9؅6l٤[QɈL33+gnlo‚ `t*s>&82/aXIBR&w 尻@ͳ;F`,Q )Q>xk\qp"(XI0юNOv͛8.r1s`lK *-QYi$!Pi6u@hFM~pȎ5jWfУJڼneq5(QEݼ{o&2&#lDy9<'@Imz_Vsf?M@~(ȇj@cPQ'M"PnZ9SXR]U":E%FKmٙIU84:hSE8-L(d9Q WJ]w1a%Ww1breWT$W {} D  (tT Ut@I4(К$h%v%/r^Rta% NT d!sm%YF&v֔!½t8 C)BG\_Jߍ?*J#~]#z7H+ H"# {>ymMkNX蜜, ԤtSz4Kٽ `aCs AUopZidT}^EՌ-[i$uDGUO@a{+=^2̕ݼA$}^YZx*XxwkY:t:<6o 7P&&cDZ50BȻ^zxݪpb B-pDz^ 3cdm7V`WaNd\yǦw;ƽ7o@ؽS8" rc7;xzoO{þvޛ $#4Xvv;eaob$3zEh~['$D On wi)ˁWo!yC(u&'R$*Z{#o4Y/q_Qa$SXͺ22+bbjZc{i3{ v?s<^MQeDQ|`~^5b`vILI--.P¯Vp*숣bd o.ލ$j(8KBbRK]3e)JYeYe\#) RL9Ri v6})0 <%rš PȋL.c` ܉D4zI)m6۷sT 3 Ɠ;C5N:JG/gA` reYN9+v=}zlN:|7AR& ]wQI$|āD@IF5Z4,@qTl9f L6\99RL˒aC)%2ȗ.H%RWސ픫ٷM&ؙ9OP=[l~nzmWnn A _0/49uР*("!v=& 6Yplp6=U$hXQ; Tk͇khKʖEF%!I: a'K> Je6D(ɦN$Sﺑ3/[ .M}ȥT3rR*Ij`p,F7% 8$YNs9`ftPM@QT4D?s̳2;M8AE E$ yF [5%tw8izA6mbfLɲٺ컣^>LVK8e}=iܖ7n'R$dY\WRyno/r+|̹ᷙrtuE̥-zjk瞛)b)sVN87#|yp5*՚**t Ptm^dwB@k$3]Z[s̙<dId,mL8 uܼ]̂ bK8MJrL^>I0xc=zވ7;mUUTU^7]aŠM1iy'[ ޔЙejELc\N @no3kjU{ T $!]V[sk](!FX IK]7>>TլD%QZzy.AOM$e:34U7@R'پ Dܲu9նMirkiߋkF1M,> :|.5e]39%mĚ 4DIqj[! 7wNn$1Ohd;I^|ca=)JW{.#@B(D$]fvQZ 2i>~OFKMX0q‚O6L͛6m#!A\*$Fcֶd8PYce^C).4]Tꩃ 1*VoT>aa<kq^JI &m걒ǰ`0.I~'XZ4j` iǖ]n2:P8qq.e+Q1s5=}QL d6֙>=h"R<<.],UW0nPDO !*e _G=Z6G w̿"{ԑRSQҹB=O㵷vw="qNFèxXШ7.ro x O3˛84r[ zI$9"W;^\C-Hc%/s^Br2u'3qF W{5 almmG+<`Ct Ip$WTۤ; 0hߡhJ/6mia{hd8n])NmrfrSOCG4^+J>1yxUnM=UV dN8QY԰&u+(zv4b̋-[iŗ:xF&?/篏2|L9YdTDw vXv9XeQ` %_?ےy<׳tR ,3]}: v{W{10d8%9֧v:WUQ?JQ58'dn$lZۢ37O0UN}h^d@Ja> 1[3GT{ce#m: RFr**jdK.*ZpD67W7_o}(!?/jp5{} `fW8w=ͤ7ݍ 4%znuFق~u]lRnFvWꛖo)#%dk7oL_|ր`q w%R3$a 4o8Frs4sL|Ft䪎;BwjRǩefT+r;͋.YyS CG86&jmcszD" xоI{Nޥl9BfdƈiBIP@UZzxeTja&jRԽD)L?B=o?._gS ,:ZH-DTőHG֋q)X8p67N1i6MXPJ9Vvƻ{C36!,ZnJz뮸0|C/aC ñ۶Yg7!zɨye}ً!$k&:t | k.6,c͝1.9ai|gthj b0 BYI56cK41)%)<Ook ' 6 ^lC*4Wk%7+`:HfH0gZPE ESwiW1ԅ0OwY[ɩ*gɋQ/O\K;N*&&|orb73pJ'T}LD6" kλ qw*s^0fWw=tjfmZyhVNRN|k@ߪV(ru,cMTˆC jE']uUUƛʻ,dޘ-?}yuF.eVʭcfg"ɶ`5ffYe01ҵImU8w7WO,,,2 2bM"R`S,zvrM"8;nہ[*asbDd)L䝶nݻvyxS"Î9ĭ4@BMBDJ# k6ɱ(1WhR!HT፪!y9nKsDU8˷Q$CeӢIO|+pDGC3'mfeae BTRmܪȈU Ufزe;W qpQx붲*nk:|7,$qɝDR9r +u3c@iZ{# |%ܒL}C<>/'J1gGWk.,qwI+0J=gdʀhp% xfw9"#"i"8bK$Y3Pʲfu59*s{hg|kZTzs=&\Y#z;B>G)悔 +.z}713<+T'ڽY^0T5$rϟ4*jRrh%i^P9EB|osӗ8 r *Xӥ_T)'xѬsiw 30Z)V.~^dATR=a=zоoyZIoVBѫ/@̊aJċ.ggL|=;Ix~P#P~1Y޴J(J7vxQNnpf 7Ȅ^)\JVhK#{޻JO ֣֤~/)|Gdid \u72X0Qou&^ 3޽墧+AUt[vv=NTՖ{XϛH ͕3L,7gϏw{{1dYOa^OX"RĚ$T#V!>OwOb ׾iWۊ/2}p/ѥ ;B~:=}BJ:zYL^>Rel jF{1b6純Oԅc3DwtQ%v6@xPfw h~SZ㆜TEr%=i:ndJ(iCD*0e"_oTsQ)-9#Vdp$m:ԎAMdg $G)J Vũ~*5?"3LCh)v ͜fO>R7W\eR/HdgGGŒ ﵣB*wwwpjlѥ(xA_`3H.7SOOOOMa$v$ŇI-ào*p( ~/`@ H2w O%uh9?d##y#XMCS!jITl5p+j-p ?rS,5B-i؝?8j2hhSeՏ|"b2IS/oN[bPrd\ʣ(7Yj;{@Q `CxYRf4x61 =(j!p.JYٮY@̬\Hm 2$F " R&DCd-WvsV~$$(hm}?Xϋ2W~aOBYҝg'>LM"\c edY?\FzVOWaGNY~X~0~y>H s>'|ΏdH( LRBwQ {6l!"A0؁d$dvD*IU [$?tm Zg%qXU`rne6ljLTb(wDq Ka6Qq "wy'WC ;H8ãOTvD'xHԋ&`nw0"0PѠ؇_.k;iǵ^I!I>+ $ޒDO!{TDt̉$"LO`!=Ǥ_:h"YoTpڨUŵmO2BX:ʎVEVy+% 4:M5*$jHO6Hj=( hv NG(끁BƃgJI, [RR 9Hr6ĒI@:L4I IN8D* s>m0A)$DCCIZ TaM"Iı'BH:DHz|}\N"CHL;DT#GRN2>~#9xpij8D= " Ē6O[X_L=> @t/%ت zFaa Q Pp  t#br&hFlyxB3ܓFD*-蚙t=% $!  )PB?TASҁ0~]Efʋ/x`*Fsǖ!lki>Tcr^hsc~L{tU'ɿfVd Cxrb9}l1!&MP UCB` O3!Z @df AIP=?20N*&?aqG$bIMu't9FJG@>of@Npq*tn`\ ";9H $Y #z< <R)$EPK7'|1<$;jâx$:l E@$ipyg ?dI6$_|.}U1[%cuPI 0=ܒ zG'dꇸB7Ox:D*tG_)'~ݒRxȑ` pZf䃂Nd"I$9s8ZaRHXveD;T JZ((U`]*o*:f-${=u; QZR>%$<8NCDL9zr"TЫHwI`bC ʶ$0pj$NHԁ{J{DFIdd*Ĝ@NY ,IOѵtdg/qGͻiݓgr'I$ ֍Oh m$Q!$HI_ys_C_wrB!NrsT;!Q9WMj5 ɤ%ǒzqP2 ; cj$SdHvE%9P:]Oj >D( HXO+fǷ G)&с}SPwzdGUIGB}@l,]JuPUUQ#EDXu&/BpM*U*G`7@ @D/qd2N\sjz!e,7dZhe@u?r6[`~ӫ~"=ɜb CF*? I'Əh֡Β\~_.0rrG-Ldž0yiH+jdSqô.]>NU<F"b&bt1Fr H5$iB>(F OHTL@;>1/zx/hUz.E`oDD ;A$A6 AfH?_Ġ AǯHH'_.`hI/FB`%I (x>~^9"^2)H4tpN r%Ȉ+@ɱ bxxSMA’FBf$0&f(a85Ltr*H.R \z`lSH,N.8 G@hJYIH$ <סhlZo{KgA a:(P= ;f)ѦJ٢8 6 VIlH#qg# D4)ht&¢}mP'tjM7G@) ` &DW$H#AyiLHx|l4=w|"z]m0_sd?:Ht,HbT}OGɁ&bZƳMi FaHE#ׅZ889IR$ӐK (-etVd:y+>ʃuWjBȭ= ؽdn&e +URaHbw854"| n&拸.  pЩ"$Ɣ/kXv9D>#Xnu@TD8q7E+M<,$@*hI1''kA][$ڙQH*'!OQ CU4v*>`ѹ1d`DاҎĢC{|GH(#ԖXHb@Ђ+Bbʊ;=M\E # ZtDlj4`|ě a2WՈpElel'l?a JN2{ޛ.gKmkX IRUAij@XǬݼ(QH,B$ZHPYc$Hل&(vP\ J$r#Ëj I6o@β&ն V'Ph؍d4294AHƁ$ܵwۚ!d@X`ɲkJЄ@ HH $a "@ T%)$LA!d @ SEfИ$  $@LI$@dB,$YZk),@3L`06.sU\ҫޒ6ų)u9NlY"bE)mK@I4cH!-kYZsmЅb́ic>zXH#yٖۼkXJ@jibf&Z)&u!zyglk!ȖG~Zٙ^/4ݹw*zP4ҠQHUNxCH D s29v$vL 1I)(40%%RBI]Ѱ66$c (DWRs"4ܨv@xN08OR䮗Bw1vl `zSH,GI#qκ$β@No#p2iiÂ6vL2:x=q r4*pG?CagHCr@(H2B0AQ:fbLLXd!"JUe5pajG,|BHd/C%56اM8L&P5:LqQ7Mözgա;Rl]qpȲE$Ϝe$%LLZ#~wc T>~|2E HO>E|ODI@ILH&G97HxD @|_ Eg ^^( <êASIP9VzfHm;z&C &@Ǧ3HMH a4(g#ss\RM63*8jE{C2%Y$0:Tw2g~S9F͢Q4fe$T93)*iUܰHVِacŬ)rV6Pbe`Ւ-NdLƣH0EA 3 ߗ[V6$ȨB^C؈hNRZ(?*L&?,H*d<Os=qUMB32zrckۖR_@;[IزP;zSC1>6:/#oF`Nfi : s  q&"Ē$6qh:&M$ɏ=ͷXuͣ5~"vDpX#lȰ&Ժ Ʈ24[W.ycvX'ky$kՁZ&&p;}3TI vudD2))}ݔ ;GORo~m= 52,Z^}H6.}E2;BV  :0ANȏ|~_ps:"Q$RYM!$QUTD(LO2(JAFrFhhʈswNI2s+=@~~o=]&H"18c$_[e݋m {;!!TE*MEw䦦dx!=Ozc묌 Y&O`Cʯ&cC! diM[10ٌٍҍM,W[Ian2FKeċ*Q%2qQ5n[l.$XE$MMۆB P +e;5@8ٽ-[m}Dos~AȻ%.:&v18n L# nmsW5s[fr$$ІDVAI"wd"L[pԕe+ĐPBPYW,mZ:"ҫ"/`.˲z 5S coBmALTɇb娞EG*4ۑ$k:DSNҶ3o!'YUIf@6k:: mڰت*ybGte6]Q 7ךH4ZV؋u@֪Q5b/W%:W k]U%$:bwbGbICILQ A-; 1&0(Lm@JPtiV5 p7C bf@ V.1M-[XF榶jhnVdsLP10 d9QJa*n۱&ɲi F.E1u5qd̓4J(UEUEX[nAd%!2.j]]LMےKV1JXRu7˺ݥy.D1҂XKD~EϮA8\II$tKt^qnDua{!.ӵ.A^t"b"q/Δ|6y$/bXPtmV V66OO(*iU)p򓛞]j!88. **M S.1!sKh5cfI65s6m[4YuR氲Րe1C : RH7ڪrT UˡUttRs^19DN)}BHd):-2ȣ!4"С  1{=X!NB[DF'M<ˆ3;䑭;bSF# ͆T1nJTcDK"ʂe1\*@x) kElՖe5eʈP]^Zֵ ,! "ón 0TƚvwN ٔFCī̓Ma| ܄a^Y4wj Qa!UZ1)*R[Rي"{z[Z6ۨ"1u嬑L10#%̃+&3q0̳NۙiS# Ex U0x@%SQ*Nq iP-V>B! d!p>cQNy0!˕pG{NB_2 ?m‡tXU`12 Hcet,gVem4TT1Gfhz s1*\i8 xnEWP@4DGv.l}OCyN>]emVN95k5|׬BlWM@. @PצVr=c lh@nr0! 爞r&e 9\M`q e#rμqªH9LGn] ^9lt`/O*As)) N QXV[ ͈w6̀F6#V܁}]qL:k 4 Pӕ2DO=w7sE~k^$YceRɠ !I"O8#Η_7q1dXHZ* p:R07 5ӿu5`mjk}D0:Kt/Cu ۿ?~O<ʈUo ~NhD^f;0(`HA$L$s=Est{CG)%?g)`:RԺ(PjQNfgv{f p)D3Ȃ`|"Dln) R$SOD{G4IHBGZm)L5~~Ы! H 5v|^+JTt{.UE.4 0E6 ,xۅpmPӆqҤ&p, "D164lUp6i yo^D5RKD~Y=Ԩ du-k[,YԱva!XUB)M I;O$:sEXSJ`0*bRn7BWe严bB0[m(`CjWLԢb@ `|988|ѹ`w\ KII ~y_he*ނw&ȂT1"/Ra@>=Da¿X"2>v5Ӻ}p SZ ɗ⚉$dװ(PIL2DBCEbDOM13 "$C ĪBR-a&DREe, QQ-*@[DZ-Ѫ5`` U`RF h)"QZ QYR(-lmjUETUi F @%UBP}ǵCOv6 c~^e1xvCSYBߐ\JRZ*ƒL/Gi$98&2J̸hmNæ*!B8ȥW%_gˈm'KriXVp[2CJ8`,WeDPjֺ!lWЉ Cs5NXK 1DJs0eL!BPAȟz9j{H'>GY'BZN!mBQ> T(QCЈ8dX/,_aEk~oL+z뻔z$/?9Dqy!Ot,|Г1!)/N1PC7 ;LsMa$C b%9M̚E(GaN/ְar؆ai?:z.iC,X%bG^o!8H?,z옆\3rl`'7t&a7}i?wsF@6BU(C ͈L ;[X c[8 .8cIڲMFfUP8ږH(d%8OLx!YBFQ9qqqgIb$+ԁ:i$z /2Kb_UB{iBFJLWy\r䒋p m g,,{tSR$ $?[V;`:8!;ğ*JRH=Oyvm 8c"9 Q@taM@¡H",|بH1* @$(H3ܟwHY3Dtm_k%ZNXbR*NT徔 Ml[>p !\9ᵝ#| e\8'R(iJEv0Qe4e!eX:ֶ0m'FK#D]!+KcN.[KY:%T!ZpІm.1fM QHhdn+wnl2FQc2Jp#M$K%c8oSleH$'jIMI#I@r$M<jQU<6Uo 1$+V"m8\"$5j # 6M070j `4H6-i3sbY4=NO̓;0heF 4₍I@o@o4L62Whܶ$N.Tpr0̞N2s bЂL&&0k&T%ƀAFYf,69:m- A#HH6 &˦LVTIR"C} 6g!Fȑ0̓5ֽ xK̜yɰ/YKe$VA(Fqf2 npp &YVV`E(QsXhZU#EPˑexD6 QPSCJl])I&14cBL.t4)h tf$M R6SA{b/ٟVمʃYlQ44Ɋ=B $|Y,TD`A A0QYD! @ ]Pr $?ZULg]a%BY O+1@:olG&%Q* R,(;t OAXeEi|mrE!!/(}B(_ϳZUGa>>BR$(?_GbxH,_'&ZUմd%%(RJQi2MVv0Y$(R21i"]F$tJU5fff8`Q˄`Qb3,JҦf Q4EHkdK*@l@zli`\gBy!%TwSwF~u?-|}"z{r8tfŀ'aaЉz;#0;ȆK)t bT쯆rIdvco_z46ۗKa+F7R7&AL#s p:~iaqpi>EH?\&xnd A/M/tg^uU`eCaRDpӝN36#KG:1]݅"D@2%2E1 mrOpw9_nB蓵nRhƒ ē|bv4m Y&f*XܛRfSzZ**UC0&d#r͔N'R E県:BӺ %h7I9B]Ajz1@E@Ou"'!h*%%-vLAO@0y aCbã\Ѥe6HFPp %-(ҘZa!Rp$qi0-wQΔLs[.T^'&8@u}+g |#RԾ(%5kñɱ->GL™Q0y9**\B1q2;٘m 2DC\-P쨣uBJJ,|ڣ^"]㾬l~BNbX* Y[I$Ɖ8bg=qhI <+aQplU?)μVkRcmCU>ݢP/R*&\l;kE`uْ^%5=mau 0VnV0XH쎒|k@ Od&AM"BsBK#]G0X ^-|ɦؘ9I=jNJj cY"+ߟ90r8մW_q>?k)-J8l8:sHŒ&! z_X a91dʦHi؍FYu+! (G!!_D kC[tP-1avN%D3eiXI #FDt$p"0 !<\4v[kJj(NF | LKT#+mS[x;EKIE!s,Lcumf* jm``V?VFSنlo>|° Ĩ!N4 ;Ch!et w< K 1Z'S'cCN:X9:BAya#plY`B{5Qǘn{ ۝g fۋdr譾FhЃ Oo#IGm{$sbmG@iIm^;C&DȒ0- Q;nZ<M!2 < knNAAg㳹'!L6_ nӝD 6 8["X$v~mMzp@ӹت 鞮b%<dꗡ(rE%l%*;FݱW'\N5ftI$#vZg@!10qnpFKdx vRqrw)gX$E}1E2U;0y VβK߱T2$, T$ $RDw"Dk#ʻgn!zS< *,Uj$Ԟ(=HĻȐ*m!{uW-FL1?IoZ'gG>N}0J*2 @"UuѼgʋsJaH| `ȴҝJ5쓶8, ʂvrkC01I"rͬMf9f.$KI"AIŦM*L?GRn>G:'{(W edff!Vсkլɰr 41BQML8)"CAYr!} hT->'*R:#/@@^Ԡu̦f(uj0b* Y4I[ TVƘij4X0 NkcJ qYp3F80k)w4jj 4dM$ai=(ϔf:q#c~idUsqԝMO뼄^ !>ʜO+|(c^l04-‘C*~ $pI!bLS JS$3sp~v@s"ҔttWB2n@RHRl^ B[fYĜ%h?L8#`-P(;Dg%J{6^v7L8euZTqE[r27`Bܒa #!QVc"HҒB@a#s9gS82xB)ٛ%)4XܑxRCrPl*T'R[5DPZ@$BU 0~oUJP-# U~1Z;%d&Ih I "̐ |ז; R(EE%A\p=!'P۰PHIu$:z$8e:>x:ٳͨ\cIcPKN3{h_L $$*#G|Npr= S -1o Ba0gDm|p[7axPyH%䒐8i`N&Z9݂FL "ta;NB,=nȞe>96!,Zr2"fa*ԕ3N6XXLfk;ot)` iN;:;,DMB|(Ĉ:BJ?xyHDJ*)@ DJBk#,!>.t|!i, iCm :եMkȲ,Қ5*Y)*V[JTRn\%f6lJJe9r3 3 (ULT=̆`Mjʹ )8=";l5DGXt2Ej $"_hߐ4~O%#m?9+G{K}G9N,"7P'@WMȽϮ͢V%Bi 7htöh55fm#>PMe㠛0 b**T,fT/yiZT xTؓj (j%AL$%Gҫ7>5ZReK"FAw%2e8rܔɉ*perL?G??~/"iRP]$44M4I,Aa0 $10Ϸb -=U6s_ |5rbӂ $)!u #O>Ff, w$AC @? VTN;H DT#DcfL]B I;_lm#}w y}hGe_\̣'l>sK{c1T2c<1[deIV5g1WU`?j U@ nJJJJJJJJJJJJJJJJJJJJJJJJJJJJBT5:`Ք;ؖ#\]vlC*UNAaMwA;ݡ(8+§Qҁ#A!iM4j4l&`s\K$2m"ԁT Xe_5TmomO?{TDWacRS$w*a,Pg8xji70^Ř^GsPi"fIM0lMcH裇AM lR7wK3X- fʕP I4w &Lc#Y(MM [2X Bl,VU+,\d32C6!ǰ DNJ BhvPa_ND]q̀7O#d{7M @~}"4VsIJٛA;&V3Wm3N}6KҲ,("@cG(c .˼KXGG8._zБTiWaRBD| A0݊(ԈO> 8b~+̈́| p*@ WU0Hp$aAPHITwĜrE4W BUUd! HXR$IUIATyqa^φD kل@Ѩ5"Z $B5@2C\a`a~vxlxz!@ .LA/WK|Y鞙lV3e#2RR$D PJ-C#DNz@i,}daxI ،T]L_"  R+JX,_f ٌ(kM4"YE 4BȞA(:l ͸''W Ax'p_7uw0LDM Ixqog?o:2r*#v= Pz]єcH+D\I. $dfjç>Z#[$6jl֡H>( R}W8| %~6 UD`|~(^Pn޴Wzۮd}LhIjRT56$rMn"""""""""""""/W9xRpCGn /lIH=XN\hz$UusVBBIH drD!9RalDUNj6RRTl"Yi(,̀[0ȆJ0qfը\sjrR&hY jhsns$#!\Zʴ֪iFl-jP˗(h̵\!$p\Ūmk6N9j-V26̐`eQNٺɂ!@J~OSJ*b;GѨǧ7C䉄J dMSpRka6fi5AKmfmY[IF"ξj?"ǰVK$y>'#X&&g+k'u`I MO&/qia "  B^SC@ )9G) Qg99MA#2th2fg?¡ybx1t3:VUh~pA[jYYS,nrnL (@PpBH)VH$aF r>;bhT"%DJ*"|2czp(1tJLI0B(I)DB䠆J#ʴP9A!6Qr Ԙalm5q4kc"(m)1Q% HaLɌD=<P9\Jm%`@4Pf@^ @\䘪E*#nG5I),$ԘIQ&IlpWptIg".xֱѬ̊m0S)On^/f&Pr"e18 `eCt I1(2$Oxf@oC{5C:G(ԖkDbkYDְ1iQsU cj0܀hL2pe0iYcS 8H Ķ$!HRX $`J[Gc!$nw[ +7B$%0aɡB`_ avq2Y:ؐa!%Ъ H XֵE7hqԸcTVP4SA?3L30+0$Y 8RI1'\O=B僢N!*$` Z$b̂ X $jd*1# ,YUqLѶV YYF*CDj-\%ZBmVMR)b +<Τoj(c>A"@YA RAȾ U  n4R"I7wH cK~" nWѯ&*l ̌1 <+1 9lЪ`ǗnNL9Zbj՚QREHH'!P$zH:s/.jk&a1  t+!,٠TT{GԞ!DMH #ɰ/Xc]ފy"IHH`U`3@JX`<q'~?SB">*w '3yؚa6LmW 8XC!V)DMIIi͕*ʖZTKqJ\mVP,aDb&Ihɴ`DI c )DZl݈+*AbHD#ی@PhQ A)V]('@ rP$WE U 5(KR">VgzXКLs6FR+qR$XUDH i! HeTbhD$UNL!NHn`(˱^ hHabZK-[FR:mʅ$ӝٱdRPrtD]E>$=#IDrIRIGU'VEl;D3gȌ=B+? =?J<@}\dS Yx)wؓ*t*ܸ; .Ch@ ML@h"&&BTVr ݭe̢ g1($ fDՔV0Y*BU h "B C AL3!$d alJP$q@e"pVͥLDW1 P$"I L, +¢Ȫl:\ћpy;"*1L$ǟx^D $}K߳H2r!I):F_TIE|ϕ6iЭБ6Ԕru$a@S iF3d0 „q X L/ $!^H-"&~!0? -%'DSP?OLFPgЂA s0zAQCP$Ғ1SdpDL .BP a5=,_>lhL]3<$,"&$"xHAEBk$燄h@ #P?ÚJ_1UBvY;@ Z^pQZUO܁Y%IIeJDq8HE'_WqhN v6RQDjQ428 RIDZ}!|#DzP!!DSjL#0*RUp&tِq&¨mHX~mqc[dY 1L9 3Y<(}54ѧNo (pN˄A͆6Պfᛉb0@)!" vI(?sTS$DUV$RdX4 D4JIDį@u;4L]DS>8$D-}LUH %B?qY4)CМ xqL- &Y"rLt57Shd ~L>̃1O piY&Ij CSplB6WTB"/>d'{>U|1 A1'aɿ>,b AI 8# 7m$y$f@^FO} )S Sh}_2~;d8rqܶ&,$N"{zԸ?!&m:fԤ8fam;x#|6\VmuJ6{fQ؅[ST5eIJX2@0^} IB 14 Iq&!0ϖ$` ϙǼB'"^20rwز)B{\&JXE6͘9 +`YT~a~!H)BH+*J=W4& @(`bah+$=e,Mzpm`2Zvu-U,bBM(UF,efd ҭJ :]N9X+Q)}|u)ί.{ `}>"7T=")X^5WRe]L&`+4c{s6ECK(@{_C4>S͇~¥dրH(a+|zA0H0p #QDB!d#Py/x>MYw"XBs枍Y#?!{U3Jǯ@ZQD<|Q4CDi$d?bIeE(#Jþ`DoA[$c$&Cy F BJĂIJ;(`A-Y`i` $Vc.0a"- G[o[Wk3'/\noٳ{{v;O#f͛;v_wyx_x蹟y=owg};m/zc}Un{;?wwv_{=vݻ;~!_g#^۷^ٳ::ۻQ|KMzt>ׯo>GA}zg|>^k?ugO^츾'ׯN=MY7Nooow6wߋs7۷Nv>:~O|m?N'?sm_o?SVϋi ?{}3SG?Z⻿]nn5wwۻ wwwwԻo˻+vNMֻ ?g9I^_/wwo8Uhj6empm&̮F34͆"! /__Z-U9CW nS x VPΆd7 pŀ@ eb!5(', edJ$ˤkP` һf) b8ȵS)A ŊSU(O6D,"O(10וPV P[lY$pu23`ҥ\`mlC[&I%M%)V vL6?b?F87V2 jC#qڡޅxD͓=y%]nQ b!=CHZ$3R(aH(!מ I #PPu{o:=?uqi !$$1H}xxxlًuʔ*Lf;gze3K5H z`农-I_ Um('ekMY/Z{ht×"qWpEj\7DHH AB!!UBH"hGCϰF4$_|_sK{(Eߙ)0ItW,F1Ru_:=Xr߬,! ؆YpD4-uD6^@c{s]*9!ïv䌬 {wCD]A{X8Hm$(q$Iyzy';lBe(^) x!g.'#vI1T{!HO'FRՒu *֠a` 4vjrUn<\q]mkY.`Bʮ4H*0TT \#N lcZOp,X*\3)jj!Pr"v:IKlѣNQ"(e2IWUW678DJZ-? Ԙ11LuʈH.1L1'BHhN߃\yv!DmAƪecvrN9#mi$EG7#;B lY-Ų-AҦLcDinZRbd(Ņ}:}[9zh^ d!. yDuOD&p o!4*k"K$LHFA%Ri7D>Z} _? PYJI)5m0^$z&)i iaS0zTPA!{;븝/1HQXZT4vhA&[cg\\8%TԠR 1*n::Ӷ`QobO rhvy"Mo"bhMeeh=q.t aIZ0ecZM`X E!hq:9FXêa .\:rrሄn6s`Oڕ Mк46mhh do*kPNEH8ʛd  8@$4 C)|](C UB£Q1YZjpG~J#V 7&pJPv$ MY Du:ѝ "ДJKu$7pF]]< PrJ([]t Q&pF!^sB;: Xl6IeZҰ+`Ź\u(|H+YbIj@q#a:,Ӆ to V*] O!̉8t]MGWP [V;$-rp)UO<8knU2AMȝa%cdE FN"8JĔ#[efĒoFi.mh$aY:3hzMve`qMI)A84.X Wf6#~9((5`naBPIPH8qv&-*h hPYWW^]T! R|,#}%H5-#5U0UU+뽈jJv=]qoImp6cnVYXY"i!0\J’!U[ B`s$a md@iI-dMM$)UJ$ ~@Ame9a$0-PA˕u+8:iC!E2!bZp$TeԍYL-cxē(JZH1U@nbY4$@ ~ DR&* (xn`+p2%$7SW lAf8 Ph i0eVq9a[MEApr&N$I~Đr'٪K,:)\q92$f^%om^pdIKL *`%.W=2F0vf`+WʇS% 2O` 8dH)<6ʉ\FeUZ@&") X}O㍬X@CG ,0AUB; CH%^}_]*1LhSHx(Mo(+cX\'A 8 Ӵ7V!1Ȋ2rv{RH=ԈF>w>&dVHxɡB_Gvxn,POR_K"e G I&3Zz( bKt/GN,e!K*&S{ND{N*<Oٞ|鼷ڒA9܀@$FE{/Up~̿ fyYd=Ԓ s[ lN 3C(%%" $$B٬IIj*e2j65JdW#N8 ;;}B{"~ ("t(p;}H>B!D>߲rgy~Gℰ;PZdO϶jy*q'=HSp>[ Q=B`asXI-T"/| IE$>aM$wHva ,,T㰏Ԑz}t$ ?xB~ aBs"Er1j JHO8H&H$.@DEe">݃d@M w'& J]HTGd#Aҥba3"X`XJ*` $-24`Šblr EdC ( Hl!#!0B0d!! 4@;$&n-U%_,aCJ ).KUIeXYaAedSC""!{'k:UßGpw0JNO3z15Bb^d$$@(£JĊD2EJ$  w{N4]q_FmZ4=8cMSgNMԎ ф "$LlU!$ى$2!_dE &ouKqs.4ZC@[mȪɅ K @ac9lĒm$e&n&,MjRhi(rY  niH Bmi#h#1 Z&&bIaD~փJ#,5>O>cKa EV;}@*"s~)U|9}Q&F2*!)?M+Q GؑT FC`A-黅7w$e. Fi-փ@[&!1AY&SYXT$w2qЍfpc9uя: uS7\:o6vplPٔmܫ`ww|(5GZtu͋s/}{ݹu}tTw5s}ʀ7jZf =y|=mz>\΅{vo޶uNKy}g[nMvtyE׊wXW=ǝ[NzUvM=ǷfyX}vYn[uOR<>6R廻OWnoz(Z۾{|z_7{Ώז}Gv^ Q:{@t=g@:S`sU bە}4kJ;KG^@P )+ô .>TGc] ACv!tcR론 龎0{[+p]hчM}v8Ϯ7t2 z^ϫw8lEZoyٶ{oI؞Y|6r]vbvϮ{P}ww)V wZ@nAScJH>u ($٦s=Ozڀ͠:((U.UuϾρ&E( iO'>:/-8}svuݞl=;'u|w7 W٨ϥ[&gugCN"}ݭ]ۭ6ҡǠX}C@h*zQJS[Cݞ_m@z|t y  fӶ^{֎Wv9 {Y[orq9w}{_v}λz͡o>OU}>\|ッG}o{r>_L79n׮{׫<=}޻s}w9 /^}޺=*Den.}vnql4YmwwQ]}={i-Խv7__ok=Ƿy㥹}{kӟ+BI롺N׼ǽܯnݽy]6@˻;w] -NKkՃ{׻fhQZ-Vh^7`]w`8p5leGP[`Mu㣠5s4[7.ey]/eaÃ]}SOtu:ww87`˶6wpogx^ǻp:Nƞ^vwg^wo;;w-mmCfW݁uPΤw`H] n {sly;o=᧚WmP;WJ֭T}ռ=q]];Åt6{8q;i4ѻPz:X|w6k\āS+*. {1v>}w% ETCTwpVmCKk4C=@k:lHQ\0)+!{b^mۦrRкgNww+/޽:^ϧ}qzyzpwE4tۻWZVlۧ=X-m R@ R:x/=^BPHdQtv}=>pwNsWXo{Oa]=.[{Wrⶰݵ˪;V@ QTvU[.`E+]њbx;{ǽ/{̙g&<۴DT=nz=msc:cSzMݻbi AO׮{+t]fWR[SE:+ˣ:cw{_zHW%}+mr; @C bh К&aSԧz@z<!FM &* V.c9o9&#ҙzwP*,K A1^Sae$\c8y.-(-&뱹ǏGdFVK%9:gHQI( 9(䈔$èh), 310,31$&r(( aGBEu&& 0abJRȒHS *L ,,DLa%I,)"M1TEEAa A24,Aac+PLB3$HD癰q#DE Dpa ((J©) &)X#F 8Ё) 6m2D hYHBJ!H8-H1Q2C-!ȤK44DP$@DRB VR3+-PDQMұ6(fb * \bX"&Z" "aATH$ $(JQ($!fA:!$HRQs;u  'S MMHK !OdQO)HGPADM* RRt# 4"2.QP?/!b^{khLیZRBWg{A:أv!dQuʪĴ%A( ֫Inҥ@a2nQ0ĒQ &6ԆBaQrp-`NG##P2@h;|n =^{Ⱦr!j # ZC s0C$PxBQ@4 Po5/c?ϰL$7K/(ƂЙ'_̿_?WCf ң N5&%*`wD+$ֳQε3=K(n'N51zG~OCLLa;sNQ0xtf ZE_emFRFE"DR /F VFj8 BDIQ#LhE  0 uo{ҎHP@!DDe3"J RcYL9aT{~[T2tQEEVfVQIqQTXJoN51[=8өY6dQ W$W=g$8h&o:o@Prb"yK{9Q\1eQ"LT@&fMABR$+TSEteQ1)i /'l.#vLAV=u8X%)Fj cDLf% qDVLl`:@ TM O߯v@R FȒ tlЬ\'w] R (*%j\RJ-\pfH* YfKBHSn& (h* (B*j *ffjxux{lZ%QGJ%ETXU,ZaL8]: wl;H6:- VjTZZ9& Mk ӉA/悙h $J**qǨ2pl-kkm!172ݰE` *"(k]YaZrr()͆2,wFP"ᆭ2j !*0ZH9lj™31s333'*dѢjRIHJj"*&jLƲ9ĩ Q8"Ó[IrjJ(FNdfejֵ?b}u.1DE#,6`άZ (*1*H *)3#,# " * #cf^Vd*BP "H42RUDM@(I@MQ0MHāD0T`D?pqڟ3n Pi6$qq5Pu)4WDrCl@x~D4FDyyIx;g>.H NP#?OljM^ .)՛MbV0.h±due'i !*rGKyd cF6[/&xԤ@8fYJ?} arBv!X":&\įFa֌ xż2235fri 5bbP.,Y4lFQIi8s$%DN,͙éhuAVZc;у]tK\SF5e~\.dfhxJFC|R:Y4hh5f5ę%o 5Q@4SdIg3qT8iRS!5;39NAymN KWBˍ&'էNabqZ DnJIT>%Y)4ƒn:2+&2GPۇd٢i3t h%@쩴&3a^mH2TY):Ygp۾1RB͂bP)bChcoZ̖b0pqjY6y ŋOLv3M3YxtΆI)B,Zxǡ#K|'a3iN$%M9Pz1T&9dj1m0+Cjmf=`% DbRbP+$ϔ5LlrD"A@h7TFh4.`F>D!6,SD>BȣD{cv6ÙdHq!7.2@f]^VӻB*PIن%XQsk `: +f%XnBX PX%0X)Rp+pN[ tӝ$Ekdl;> 6rZ#n4EcG\4CaQlT+DwKv.\X\&ˎʢچxkN)iP2ZxaCOZF"Z4CUC4 @D֣,bY`$lܿ<^dc`ޢ#B4GXP8!3sXҳƱ Y 3hQ,z" "##4lқOia'>#g;~f?d{Cδt`1ޜV:H6.dV/6~L.su96x9gͣo.b)TE,0T@|MDE$TQEQ !RM %U Q-#2=͕MP6[V6 }צ3 gp(xe1 8M&׶ff"?z p־gZƂDϘHseFUQ IhؒfFTLDDVaFaQ1Tn3E&dAYKXµXd *~M6x23e zo+j!}bJid?1׀xR0pD9 1 XtclhѶdc H"6`AK:e̊,̬̳ )" lɉ(VPtVxf(6FU9z? ԇbQ`wNL,SzYhuV}@JO>9rn5$G1 m$ͪɌ+] >)N"Z?eR:՞nFم<=#<$L#'Sy#I",9`zcKL])lih6a`^0<;#8u#ԃg-2d4=t+S546)Fs VXngϙ45^T\ om\0·!mPbPr)`2%0Hn1RiD%jj z2Cp #n= 4AԡUYm5J2r;ܠ7ljݖ圼y4iS!|&1֔xble)$`dz~"l!"xÖdw1U>! 1M '#;Zx+NDFe:o:7@u=J 1F9FhQHTڣ5ad8ι0uaKES㶱0QblUiQ?{caVc̈cKaSDg(^ء*mpc!%: -AЂ~P{`qx_c,]-.2,s2~rw~T]\RXesOS2&i㬍1}ϗ 3MU gc߀t ^- HUEz ;ٙK2Pa c% L@D"4҅%!Q@ARQ54L4IJR6@AE4Sp;?7I6$m ba2FiOawAy|^{c$*1T K&LQEa"zqc4k1' *jJ}NDE']{Th*)P"W: r(5&*Zq25j*J"&BK%KI[ MCSBEI)4KIq4( "aRK@VQuLA@FYf`c1uᓘiUiFyjcrR-4E 7J9:2 !vJ؄asS/{ߣGm7ojW?6棉M{SʗU~%Z#ՏKYd~| p?z#7CQxq:&7Ä,x00^ *4lghW# DNo5a;/ֲ̃܌[7@lIt٧j%z 3fGMl3H= :HtZlKۇ 'Kpǟ~9 @ă@yX/"Mϋ'Q뢘m%z[,, kfvEO1XF_x׼<$mDdM2eHY m4dNl8FSl61b} IaJӮ,@rGc ĭ-E)j(ͽ&7KQd-F l7*QMivRPW}Ds(3$084hZƊ4mkFoh1_qc13"ÃEa tJ(,T7--RRjR&0O.I4 d(QP&[,чSU*Qw EVe)eVI{LFJ~|O_!i+0 ;tv6҆^_w\]Z}P$s@{=!M5ATMI$ AQKV=gA_]wQ(>(r@ A8`Y b6fOHh>I5a2TI6";pEL[ ,f@h!8% 0!#+k"TBiecWM"9sUUc Nvc40J2XbF@y8&E-2jfS1!#4r2Z|iðZhwA#ŭklí1To8qjXL[CP`0~<}?hp…d{3'Zwq[mmȈA3Oi6uUpQzm;hEDD?9AAXHSZ:M4&~gO/0rl`%$ .' GM2CNyV-q@ٚ9wG׹r&ƐKU4 X#Mm̚R1 ` V$a ]d:tU>g-q B0bBGcpbqW{4&v8 ٟڃEpJT@4-|1rr6 xd;:CoJ\^|Xi+BFy8A gH84$30m0Ž5v*0UQ! ؊?{ T7R k͚,̘jטƲMc-S~Qh$Hʴ?<89վcj"4:y~<θ9a4`IVEQQhz5iw0{A#sJふdc#Ooe'I*NfVo}U=2QTMEUP_(3Kթ<>gϭfzQqe%z~npg*칐}ΏC}Hb"U⥎N64nfHnP uxT$5M' t1Z ;.tZkDyd<"‚{Nl_8Olس}vVc]/'㍈|$N%3MQdIJ=qJCUlo:ȊFph JhHZ3`0LUIUUUIUM-UUUSUUUUUUUUUUUUUT5M5TUUUUUW{D'%_ƑfQk7iH0[{zT2cM$IBGϻcPx)H  y$gS^(h!ȜfblGܲ̄ |lMVS@@) (*beMq<30sa[nh,ak@^ &g1LBIu4:Xe\_ Alw8a_vX}FL=ĄR-ދ`dSZÇԹLb C=Cau"8}C#BҽPOHpkuvY 5ǵJ0acdr[³g^P@˶705aR,7`}> C#*Xċ͗p]:Lqi΅laf#7z|&݅IZ!xD( i),a~.b M}-FSS4f++&1%?#Givۇ9P.?U'7%!+S=Q8ߪu_yc$B•-Ahcl#.WD#q;!~Qd7`!#(j(Q!rZE<2ADNBŊf ̬A 2 nR,P[I˹Ʋ*PW:dQĭm#5i(<ײx-+ՁSלWs?s=i)L-]ICL%U_w4Mc4Bn39VRjte`RE._O{q.^#ϏdG~qk 쇙}|"Y=FnΒ0ӝj'rgcoDQo](aCk"|ɘۍ>ީl;$ٞ΅cUX$̏eJ+C)T;x:\$D oQ`05tϳzt 6Ԧ&!uο'jwe9^nWvnG|YѥfqflFᲚW`5<*C1N}f!>q"Un2"dFH#|$m(%$@l3KRkx5)qb]4~U{An9o.O+_`jc%yEq_mTp?7ңn“4K ;Λ|/Gbfo;Txp~k߆T,9kWZ*/X|tY]# *~ɵ ·@9MqR\I|&Ӽ/^ޝneZa[_#ltI:GWH V#lM80d0&"5q(vRCS>[2%rMT<>_fצGuP3!RykMbWq׭urjإpxљ91y3;AG־s D(H`ki}RٶVy.1Օ tjܓ/PxS~,muk'⫿FBYfmUm"ͱPU<_('6գil<B#)V;C dc6{:RoFcA "ɕѽg%kQTϛO}~=s4Uh[5riz !ﮟ~I8_Co@鸞jsoҫ%Uwxt3VhJqQ-f5`wȳJN~~6xiyXJ"ERJ~NcBה{yߟoOrH-y$ {j)]ޔ OeG\h#L=^z) vzX7"XJȓ-62~sF`vxs n͌ˮ3ۊ?F>suS0Bprl ƟRoJ+$9P$߇;h)TY ' GE?⎒| 3/}9ag7v$Z]~uݷl}3 JNY (3I8JAGf`^ ay<3hX5G[vvc, Zg?S9ap B4>ݬ;>w@x(λ(vvtv7A0:[88gМc6gO=ӧ`vysclp ̝F?YPnXg F&cAu1 yT% !usՕ?t͖DkX/ܭ<QËƢ><"vp$4Xݶ[yڧ1(2μQ2%T|Df}sUy4V수OGj<{'z>6cU31A0{  eY`""BII2QA1LYqY!qEXIAYĠIH B1HL iDSO,fa wiϗ뱐ΆBl$s?_8;m޻!]Q&heObrY|7"{cg"tyܰ Ncg{2hwoDdօ Sp3'3"ɧ; wn:üͰHFą

X<4;;6o޿cA[vot@=:6ؾ!赆fde5!t_߰׷S֪4n|H7ȋ7|~ߧc py7ze͵,)@3"D(A-fb9$ E׃ 5  D8LZ,91CR0wPXDg@2뀡q @(@ ?. #Ka3x;JhLX5@="!qSäkxу:CӤϫo_ϛ[}Mhux@Czd@f3tHpH?IOOl '@g|eRWAV7+'ȈÙK3&G 7ACD4J Bn 4I *HG )W 5Һ}P_Ciqy^m0 yvE ^Voc{{13x8yћk/V OTEĜ;9vvs鬇ɽ"ů8\ޅO9"NI~l@('=}?P67 'tنm I tHp`=&` =T @ͦ@lH$3fMlfw܀ `Z#;p! v^NCCg6hmmFw@$B<Y`ah\cs.אo/Z#Ɔ8hhu)LS$;~m?Q}!UtwuxsN.3icNtX1x@h!jc[p-}ɇ8A8LA&G~1nső( 35u~NKH'ݹ>>DibensDՑCkQ(fj=A5oyD@8a48Vߓf:ov<___5t|~1Bvݶt^Pؼn3yσRTzft]u]u]zѲ {f;>o_.cBv\~Db֐" Lj?;@}ׁis?ծַZI{N ww9I;y!侁HSNo^-faA%Bzșp!QO0((v` @D`>~&N42-@ ߚoZ0:%|Y+k&  ޯp,aD6,|%|l;; <ϗ[z Q0 (@=>wx_F*il5Vedže32ᙙsZfffiĦj^X]F^}tLql߿y1 #sķ$`;"Cn} ѯCѤ$Mq {.I*aP(jof iRM!-f3x 1 E( (&bݖ "4Hkf3Q4&,D |i"%VT QpČ*7Fy)`0KF º32) l'yh4 ' (N‹ Q P[W9U&K1F2C!^1 ՝ i&V(Lܣfd"f`sgb1H)֭ATMDf{F" r!q% W_U6 MfHJP#/#`h0UNC"BNby$ Flr&`d.6ff#14hT%,0LoBʡ>G(lii^\(@XP,n n*b0{j91C hѣqԉeFahlݡWEl)}:5w6P%ðiȄ"`?]o"C0PJ-|:W_fl2N2CH0{.=u>'h_eXgtuuKH@G&J^i8Mehcl7e9wDCp,!I3OPzIWV=|q}v(`@)}eXl~VxeR0ݵ,Z,ɒscEGU"ϔ=>|Zm9lbٮm73ׄJl,0f#3fI&Cg9Qα$|+MT2gO㲊jvBl&J+Y*r9  #{b@%kP31C{x٘>ϋ-eOdP .2?Ʀ:@FBai!0y72ס!A([4FʏRUhhX|_z+Rv?y8P5L ZwQfhu NRߏ"is<~?: t`e) K@ӡDX4~Apï SC6GTR:^=>No"n!dg/;j3>GW;Q ֍C`ѳkEuNˋp`]{=nXs3k@ /:#3\|GT%o2b?K앐r2 v2i!OQRA%^hCg [ld/|5Jb`wU<~tM N]Ox@a&0giQ*TDM(L8N835!|EdEp3/]ɷEC^=RbDVBIʬ={بa/\@~ g,ӨKaeIbS ӫRs{0'xiCC g?M $aQD{"iOz,50J~˶0ޗְ+vm$̫-gyNra9Q0CGӆv A*H!<0$\{1Ml2F Qa41g8@o 2~3xlbRQ6Sor"0hxZy*v 2!䎦֒걊2H|ÐdžrSgNesRخ 66 "hYapcB2<~!^W,OGyߊl 9򡘡9AmbbIɒ[&^Mkfk<.MNaU0Z9DB\klx013E1&`p83%'l.~ꔺsȴ]p!V=ߵaow}>7NmUUUUUUs?uY9v~;d~7ϔt0e6hu/w[K,fxx[mę|Rc0&`!{!(a`!LrVmT=6R NS̟ohc?~*|f4FAҷG*ͤ5ۺ!B/ 3e-N $Ax kf E>$_NOa_u%%#4{1;}";qLN/sR` :;EN=!7C$xf`9`ogJNPRUP(UP,0J^1|>TM&~n/.}yǦUUHﶺZWi lj3uC_',I&7{4e!q¯iu*8GI{%RU~|ƫlI :y2~j]yadFOFaUJ6:@EP@9$@PP *J"nAOOI3|073AG>HT,>ڷV:uNvCݭ!J;$ vI!.vqxޮ2i|i% f" aOh'Y:7Nk71H$FggϥN $ns}ߡ%uHxS;.d)m%H.vMh@ JdpNtko~FQ(IilĎN~FVoswumSNKltja5 OWU}L  iN7V=N(]=NnaT @!„Fع`Ն~#D*/_ۈ T?!`AFIHt;x~x*=\W0WUVҖm'U'|c:/:u5YyU>OIn_k/%2k/Eq/,ZUsw0/Kt(KV~JBL}>ogW]}iQGziU)Q_BuFow<>*12OR5T?>p;ںv? Tu8C(JV"W ʏ=>bzrugf3`WeQ^mp]a,e]1kͻxmu@S|#cNfbs3~7Y;.&i*HV"-Ce~GwOv}.s2b  b A `d@69! ٷ- B`U?q|94Յ?AUb}Z Y@423q,_5E[}7S!5~t@x@ӧ)$D{&ICC3P G9 u/UA:J^dKL0|Aw=ߞDk0@.bxTedzն&XC [d j(W^Z)|:B&@u1v kКH?<هoó|CICwO_댭:]ƊH>p^4}>U1h.-p Ы?EWoSuTcm"E޴|w337!5DG;!D;2?)mUiS7yomo9qTG&EQzYDB$ x͓/Ҷ&:!"zcM= ǧ}g&tvn [|]%^Vcg+3̥(%?Ry=J^.L(LPS>;~}PׅbPm[MFK0?Wj'޾(~q̺ >3lrD4P]vl5-lDkPG1S-[G ?2XeENƏ "#?f'$e+FKD[kf%UL?t2J0;u eyzK;G MO_`rI\w)ZOY&(R!BQCCT,gOks8tٯiz.?7Y׉;  ~X!߯}8i4=7!"eHG ZT(@F*`ƒ-|˄ F6 ' &q"~A3j$I[<.13l䝍6Sw#ż~jw&M/܀ bF`d[vN lK$ͱ'b9{B,53Y[$ MF: 0*g3:;q *ӕɴ)Y7LmoDS4UU_MDCI-Aoy6QF%LU$цTd-Y8̅LFa%4QPT+50qH Da  bRr ¢J ѽvfU2ZMJ>>do3pUgdd!(i(h*`)fHSbJ)8`h%8:х? ƃRN8 AA6'?~~2h%V.}QFަ&Db?")4,aA>4f&8ې73] ӓTtcl.xHx?P"3Z`oN*Qw&%*ij@ HĝeZ֝mf:$z)aJP$jMIɓf.݄F{À "%ah(UU&BD&Uby}J* yP~,'uSF0p'徯kjQjϹmr90ϙnƯ.4B^^ݥd@x(l˭8gG*<:) +d$E'tFѧ}gJB:1t>}_ٰk|paQ2V)U^U_2̝>:6DzYnKJG$9d&'wRx~w,jm{m9 ~#_ϭ*5d@، 5_}m6}!+TUT%R4P4#mß<ƪFbuJ>a$ifo5 `{&y0`gؑH. Ai='m%Ea'1i n)_a bZ64Q ȁ9>@Cd5!U쀶i8݃朴 &p00UaAUMUZJjQ|PJ:{m2L8a6O#n/_U{]|,i8AE6Fv/*8`H[7ty">33FP/59Q`ڷݠJ&jæaZr)bK©m+4v^SǛ8`g(ze@?+hɆL͏]qj֒c.E^&591|LQkG[.%WgõH}E 7^G $0nw;{ FpxH`xʞ07tHN׭Hxx#@o0[d)~ 㑶@V3z):.ðMI"`.LD0wwQҬZñ]F!fb0Law95Ą0.g ;Эn'ٯ)a$1­xXK;h{14v*W.o6[ J5Mu89w;e9!.z<8W^v4!A )2FF- W5-`_=><|Qg+.R#WQ6p˗w:KOd!vS§UZp]M3)ȶ.z۩""{p525oR8^D d*pb*JsCࡸK=8rFfj}_WE`ɲu ٜL&K-oifG̸>ΜO*S{vկ_^N{ɾ^o}?GrYx+z}A-T0#ȯ/yQFG:08׮/)c=&Sn9n۷%يh-Wf4ήM'3'{mmPu o8Q}|7֐:w?o|&ו>~'m&2$ZD#5mLXaU&2#K RG=XiUPI;iͱ8]Tن ^pGlK0(I!x3 r4׻lG-]'㳼=m 6#9Z2gj'ݷ;L_P|F>52ﱟpzp#Fey kiPSzrN"Fn]lXM,_5w__gSCN|3ߞѡ sGu̠7M%yZ^e\Iu[kZ׿8=Idr埋>q:K]@u٠=_RQtҜ7d#^U Kk8sI,vr9m$.8\pa>++!6lƨb ? ;Nra58l&2Qv\M/yVT:kZߤs 5NK}c*5BJJ  kۑjhlʶF".k8vR?akvwwI WT.Tw?G0>0͢&pQڄ m ƌƏW'Yt2$jgxkv]uMo4M PG~ǬZl۶5{}dzt1j DևO1;M ;Q@HIg0+Mxkێ\ͣ::0"X_L&f Nz,3ˑ8&$xV|~ӟw.f3ǖ$f'P&-Uvb5W#uUv [U࢚iiifcHhN5AL~!Ibd =+ݴCQ3Ka Hڈ q1æ|S1CݎVvQOtL33n.}5P=l1I&fg`;m&IGޖ*Hi>jӎW*MJ@{ZmTɉ[;rZCx@>7ԈI_}k2Fp{m_/ϔ3ϱ:d^|m*E;+*ֽwG??..Kףe4VƬ\ G+8gUsgpL%j4jca$){^E۴qaobT0W֫~WjK_Mps[Yg/mj0k(1Y^; j3=<#/wcoէ7DŽx@NP#lO e_̯ Z9_kA3Q4xs02%h1$15O@I$I";_|Wu7wwtK,3Xlk6&H3m2p˳0 5r?m:4 i<2|GꁁxSē32L13$̓32F0F15> qfm&֯'FP:F%IńG4M8Yڳ!5N;$ 61}{03RSa&S(G07|`jʮ8=d%Zw8=iYcs!#}\`B::gho+7+zHV,)ūo>Z$I ۣåҺOӨ1꺑Hy 򴌦~nR|DUQfU#Q}@C.MT7"m}l!mu18G~SN3r _#2 'h+651}u{Ept!HʮI^;K IY!9qɣr9٣~b6=[M{t>}R"iqfϣRɌowsi90I- AUCL*|!aL2L33Ȧ4%5!h`>hxe^¦̚a9#\{pprs !Oeϓ c*i6rb5KJ1zG'wTTH?o=[_";%JP)$b6y;+ϦI_ }L W]'{`RG^#+!<9L]]g)/dr)@EC D>BvUj3ffmG^qOg6 DccJ -q`%Eˋ cx}w1PµL WsY߶>n*G=GJKqrjЭEkfV6xx,3x9hǎt>5N2TѝcGffI&fd>\z4ch61I)Q5jժ$cČc&fdɊ%I]|o6طT}hbHg}ˊGovrc闔 Bpg}@Z]oHp*}N{m5PDq h4򚕔J3 **jXف%2îci-,@LA$ˁe5N4\tkaWCАJ`N0ՃjKWDj:#(b*U>H/*k wes5gk1A~ɘ&ˤ/">~>zᄂf&I&fdU5˷="%3,Է3=P?+1 4/_m33$̓32L33'Ҫf`B̕v?/?$ϽA^{~?i@^ҩVU!Cd x?SWQҊ|hȝBsuG$~EXe6b#6(lޮO\\g2˦Mu<UUxn/UQJm Ƹa6Hz!egN7چ!ʿB5C*&GNB-lSss_b+S鑍#m x򄄍z2dY(xmՔ̜P'uG>:NdXa5K;ܤLo7Y|\)½Pëy!C~F^S`B )'=n8ulLd訔7>v Z{y>wt*FEBYg}gW ˋ6 LSHXٍ' ZJo<"[v Gr7ہP|3?pf|3,5xT-d "=l&8@ۿ~z>ZFZ"I- CTixARJK}ReuϿW.YʪґUuBT*WCP5 ڲWZL2ƌ""30fC ڲV1}uH1֤b)D~v>tiTEDTDETED jUUUUUWIm7ΛI$I$II hMqfP06x}~pf m0g~T߅wy'o^99w);$&=pr!vU%FTOk~U)}[* ᔠ5kK4wjg*apTUjއJdf3 w-EAk[n0 ŚJժ \mU4+M/s0rUg]Ѥ^KSt$0g&`)Lj*T;|R.W7H7M׶^}EX)kctmDovҝ# ܠ$Gxc0|D1bPrJ3KWq$hIWח㾩FkeTDRLF0ձE)KnTZ$mtvm6piF~B`ZbZ6 ~֏@'=ӿSzLCu/$ʇ5,[<lg AYa'="3&]l` {2tIe=\,BX){~\YlrrH۷:] h[@>N. ȼQcED8[Po1N+t%OC;\=))O]"I$Vk{4;91H#lEuJT5|R+Dߛ2H;j*͸W8o)nL*iw@OS(f~lJ##՚ƨYe!mz8;0~fTrkj+es/-_\7eerjuIB:YCU`Tt ,D^OE\Ud'ph젋[0]׽r꺒vqd"Y!-&>97@U3`B}_Ee1a&\8U!B:3i[}:킢?ŷLibY"R&:#3ٟh>^;>KЇA- EL2E +J*L (=ߛ~W3מ1mί4,#bu~z8aj`s9Z$ίc@}"%nʪVǛ(Ab]jjc3j 5q ]ou}8]kex|`ݵ鐘Ap䞓UˢyFo&i&DI(#]xMT T:+Hcx\[fI+s6Kλ%$]gP Tejd \b {'~N]DzSRe h8M .@fZRdJjRҪ 8nu\5PUv*)|WRSS9MNs͈1X1cd,JK[6vU Z9l! TcFzZ 4xڏ=:㈨GL>XKBگpWz)=VI#wm=3rX#.nB3kyӑ;ӌtq"/4GKD IE㺮Zr/.2֎X}43^୐, nز㋖A?+zr]nMڕ2~lH|ð3q_i\msLSB:ک5gZorΚk5DgkFJYՃHbǷ nzz=-fP;vӏH|J 5-<{V䏟/RG& ;KlZ`H*>7Yb$IPb1VZLgsk*2C2 X>28KsOA3>!PkY@Vv~ژmz5JUUg&BT@ۼ~#29׿W?Wyϒ+BwU՗Wkn5EZf0" *Z}yjjA[\7KIx1/}~|u;s{ğ2tq2O~|[cch=" OdW2ULWX%.M1 }xo8iFkQaHi\BvN2.Od9A%zU?BWqM1;0 x@8Ux  9{i_#L6ÐglxQTIخsW5ULѨ6B- fT0,6_qVu'Q!agnB1ow``džĴC(,X͹0ĩ4`fa\TF !#14q39w1W?{#䦹 )nzye~:4:М 81_+ 9Ug.zL?̣LJ`WmC 8 )|#+`0a\"x q0r&#\,Tzb`Hh4C~oAxV~ vD*L:.yJW]&/k7&̠wDt:]z"Q(NXtY5{k%kN_Q[Yr{OK}Jpc({ܠ_U-9U2#:MUǚa[WzgdKIɜNY7i {#×t'+13|Z}6q9וF@[`fԛ0WB<]ꔚ^iSEʧy2fr K# YoMmo7eC>݆nƒYg1c[B4s ũF3s>+iс޾Rd3kEZbސ'TmO-ܽNzvC{jp$Up0g9:fs]$Ɋ8KF0&k1 ǔ3 ;F&}B߁|;Gujgr`"7D{(U*ַtj|շE{s/g,{Hyl#S 﨟߃KLv3,ԟN>ըbsc*#= s$_b2 A{KK>DSBDXB|WĎ/vk-_=\!#ſΫ|O.:Ócou6n~Uv1̈n7^j HSluQՙKf3#7B[瘶=̀Y'RUnQ|-<D\Ko]<[A,Ӣ4'N2m`wDjH BpE|fb w0Ҭ)ԙk1 ~1猪`@w1pTZj[XWN. +POVr@MY'BgIWobe²R7i?>/gq i=FLri0U1S=68x'+mwuc8eegf>N̐ȾkvEҍϭlN8. x]7qq.uq&ѺhMKw.c78yZhG{t|R&2P`DK". "**Pa1 B`{8ލq߿ըæaAGUsq_Ie3lm,qiahKWkq\{!'QT\gc"o{H [>vT(VPukޯL;DsYǗOj<̳r{HpEU7aft+> nMN_;!'1g@QQhV j$ $C3u_ /U1ʂP@GaR죄zXEec䮑U cvxO<|iw.OgsG 0UUU))3U1i~:Wl賔D EH}f=etŒÇ9n1󆮿q=7pTq*>lpkR(Vr'ҟ2%NGj 'S@yn+8=e4݋*`k8섭}$'~xYYO?ɽ|(f%7^C32Sޮ ĺ '&#+b*^։nw^`7mubȢVF?1zl@p7mL 2=ݕi0`mYs[\NPYEYx=f]wN땼&~+ff{L͎a* Kf$a+t<>S6 h|s%fާؤ;;+mc_@ĄXa&&#wB 3rC*duʦf6W[\Kp*Ϫl1.({jfdbTSZ}/C*˄(s3)#l &Jy@)2+S)(pPPu:g.6=i-LHHA 5#)2@2Ԛ19.Yx9:9e!!z=ޅdG&CŦ,!O٘Dvski*'Ǫs|˅^ )g<7 7ӖM ۷+vªa}2k;Z6HT0y)[jV,IK+yL9o)fg}|"9oyë٧daӎ2WT&'ݧ#ُxa\#}*%Vα<,>tGqsgέR- (e"J. 4)śt9ڳiFr-p0m\Q)G;p:0Oq䬋} 5Ľw#"gk䕲fo&&N9VG}fHƨer+O#«]*9<񝜚N6qlCC1+c DM{P5VoZ.';o .%HSqige`YjW! $͢&!ݦ cLѕMVΰ/}U\I=/)<߰Gk39Lws3*ԵhN\Ib'.Fv[wF]L\j0w1;8V(,~{ՎGQCTj\hX_fl827Tit3l$eS24 ˩%%^ަoCA5bt*"!Un?Et^;hQ3%۲fTŪ 㭆:"DKy(A+hI13m# <0hq[v,7Mn0 gd&]U}]?]\}QSu͵ k{s}E* Y+ut)zjIipTբqeTZ9{lrf#\n=UUۇxfվi*++,T2~Xm biPW,[\/"ّVwbyj#upD&o@`7\eAN*Xᆴa "7Vkd2-#3;23VĶ~Ip߱uzݜ+bn qPgRt^2ƘO,)^^ %b-jY)E;8|ToN* 5K2 ފFh̕`99{yO߄H΄*϶4]P &oVNӵDi$_ax9^f9-c6jWؐ=ξ+l)mAG>]=j]UߍDVZC ]ЃVmnwFr׆+٨$ j24|F"(CSܖSG, 5=͎}]l׼K_ͣFq4~OJ#߯2nwJ6O X"7D)H6 lñk b3bH߾;nL*b]0VeUss\EL=ד!P4tYeX5 ʑUmV]}mSYvzeIdwXٜ S$ Vh o rr*c1Yylz[ B7 0NRߵ{MGX â4+ ^Ugb᷐)2ırռ}eh_pq fs7xcBB{@76%̴V[Kb~3,5#. vI1aH#{W\x~F^k1ίs{p5 >cӬSQ YV? cE!$?V\Bze< ƕƂpmT}YA`*"1@ro6Nlp_ }sG4!䠯9^fӏ'p"W۪Q%ۃMX~8}KWEĔ6j4XZ7ݞs3 r}WΫ%՝ X&fEW50ߧ]{)_)nR%(D}S/h=o;\x`+w3Tq&#|!?.hk9ߔ'A^4D7cmIC^@=e,=X]nމb$ya0N.}V)c<0T[zCDw!5 f3ɦZQtOIf3V+b8:) ז0JzI~+xG ކ/K2pfaܵ}:UUV(Tz`.зgS$]j1c}pgZ%XH/k2pLjD儵ЧzhMBd2νqu>cwr'ϪYHEF4)D%-1t2#eJq k +-ґf1<}kI*uU|WjuKzky;!1w3mԶ`I,mj/ Lv3|M,NM1,rvh _澱}.KmWt$Պus^.nSDeDWP=`>#Uw nٮY:O(5DS4!%y5=U!r)/NALvtb\T1w<:핥.cǃdwTkŽ&6rT"OL"J82?v9-nB] uݰ#|}|qmƻ?Kcg>w<@1 ?RӉTmL!&.ŐF 65It$%==pcIv*\匴ݫzӸ~7ۼ,0lcFY߲`/F F$`ە033qWGN닉1,Sg{^5gHR`AUxx+};jY]>?-&yv1~t7NY-C.߫~Yq_;ë{?N # "(`>xUI%v)=OF<'O c)Ng8:wok}$I$Mmζ|}:u $#qIIlI$I$$n)5% $mF1faBAHfE#p4lRdH$H:??₵xmߛ_'d#"fm'qA{a{\PJggzßg ׹`U:{USb8HRP9nаGed-]3IŋHx[WD[ /9oa٩Ls`jfV!{__z+(l8KHwjǍ Zq;"Hr`u(>I0պpwNqؓNDMYs֊5שƍz <& +@ ~c|:vcOIC 1.>냰ꔠ= 4[MdjId\"N<]І &|ӨO~QB^.?26I8.R:gyߨq9`i4̞IG`}|S)6o, ՜ }rtr~wL4Lm5v̟ zG31 cg-o5VmR֫s > 4hּcHh+8꾪osjZ"f#1rg30)P*vY :wJM-"5OE.XIC$8" [/OyqwWC)B+ (A_77}߂+u{_T&p$S7a"P2L)Q%[ULU훱?{'L<چ o}<ۮ%^}<,BBr֔:ɲNLu7s෮:C?/Ԛ8I#V}KVqmwұnm%15BLL?3^~tkfTV\G0Lj._&0l~֧aMK8HdCZ(qc}NblWRf)781pKu]R_*ɞj.,a5ĥvr,k,ˇo+~oom.t<`ffw^dC`p<8zT1*p>xxSܧnżoEF~7ukNd g/%w,;XK7كu]%rmFTgy>U%pI牬c2jRן4$xjΨPUw z;,UE i\x|zZ8}Z~OC$E]ϞO5LO:Цd4療6nٽ13ysnWa c\Ge\Wubf9M73x&ja*x! 1bR\)ÌhO_ÂZ9 KG!KiO1f9`y\td|~`// 17wl@ýfi7./e6a:2>8;ٝy|uհޠ-sBX٤Yǹz `6qĺv`|m`VCjRwepyF#Inq?v-0@bH_53q\c5)-*\ ]>w!6l(T:sJ)O|k<>5,(~_7WCJS9(tsS~|~y' %\-,ǙSωqWA~koudiOtPYo{܀_.G8!ΦJ[9PzQt ;D"Iiwqn=i`QlBIwE~^ŭqnm/ŎC:ДExW.QNxi* K¸rGx}, 5O>Xљ͑S&49{f$Ԛj{uHSҟ|fb0@DAyGw[)؏8}! O( bs]'cJ: sl}A˶~&3f [tn%-0j$zAWwl* +oaCTrrF+a-Lj +J(C!QY mdХ%VBCl:s,$A5zڮ&FC SHǦ6=FnAn՟e6k%a͍@1@M-plZid<һ}ӆuwqAJQVR1.tcW'869+yƽn%a1 @*:;0SVPe69B}n7[9?yW,/OSqN=~4ǣ0KQ}em&tQ޷yaKӥ⌋\kqoOҁp4fG;zxX6fcU?ln/z9efL|y7c2fU 󬅸񵃼`ڪ:/_v /?fEP'<ǻܬ|;R2GLldyM/{ɜU4l|qry8ry=mu9("$$L!)A! ! rE.A1hi󡥢0F2qMѨ?x-|=UB (i2 kj%{*q9dYˊkمv3PG*ws("\uڈXw-3]S[QgDT 1iȫLWc%Se1#TM mmY~q.8sX9ìx)(okMנ/ctE[# u,XE uC鐮4ҚFk % k7w`QUUU_%\oծ]4S&üfIc?I~UӿWf`A՛龜cN׿wym Z&Gy(FJ+!zJP,;,;Ot㦹e!vMfg&tLI"Mp1k9Npe5 uNKnoZe}٬<`9[ }af̘``iVݼLw(Ow7rvqlx Ԅ 2`KMzyn\u,wp]uo9mBX`  QB4J5@R)IERU%%QI(QUR4ARDHRUMrәBЕ@4UT@LIR-+% SJDDHR"EJ!UHvK M)CT)E%4ĎLLJ"*2 J!&()Fi( s%3!S&:P9J&ƦߒP*$!li}]+N;m=k\ͼ0,>+HTKa8A-62 u=el3Df9Q,Zg&s%}_4wYjշ>8U9Lro9:#*$bAAvo><2sXI`GG˽=WtzqRmQKv!чzBHm;M;J0LڙX"BHA}xH@Ҫ[%8RbSQ4TH5q{?I/ڿ2]p-Ct= Ii.*kDrYq!BI"aK`0oMvaSW\kO.CdnmH(s3P9tOwV}t4xGQB?=}lSy?!_u vol9 sd]#g^Xo9a X@LL]\cH1ݣF' L%aG9aJS)6N\+lwK9GiVbfz1ee &<^ v|O/ټq˖oſǾ4iZTY, 3kP۰urUX0`cm` 34@D6f)a`%)#͚1Ua!TXFHU,a0/ !a 'Wukn{bX=RbLײ7EfT NTME;玸w=~O6?:+-urckw"ю9B0.!r)Ltݕ+RKx?\r;R-\tu쨧Homfx}eQLtY\7=#t' kw\R7E%,dEw^K]<i!dU4?g>7CAQݙ`Fj]ϧ>gfYjы_5/}s}Pg4 >8|TR޵Б+~1onhsJ/j/J%jp:_e>=G;IShvw"Q0Qȩ%GqR]srv}_ 9 CƛvLBd(OOWB|O2h@w#,f'`a@uDos)!#`яM;rrgbL|=WȑTa?ʀ\bZ(&B " " $)d $PALBDL+(s :2fcg7~OOotr7V}bpN9KѬ}- 0򐭒D>SG]5$j'±TKN&ŭi<CFNS.3(P.`BHzR 5#~k~ $6 ͞'X"%d[D=>6bڄ>1qJ 11S2(#Qa =g0鏋]2!˹v-*eB{CQG(UziX[jmwSTC~ CD{EMv#[h%^ hm<("C)3y JA{kfu5BB3E`AYXe‰A"{˿v>)b{12 Ni&aɏZ*Iy]BaCas, bgXH;\ADZ>dV2ވv3)2ua K>(<6b/~~Sp^w/D0?|O2d噕ぉYYZTED%&%((Ty8| 6f<$ć9`aa9EQFFD=sb*[ X32Y+0. weŹu d!XZ8@`WH#LAP%$Du]O_wgGoYpp?c;rk=qa$?FU\x:z]lZcžw/ߒ{S7|b ̛Acޏ1?捙ֻ>7gov=>g~o= k՛5 "&]wzp線r2M-D)[ JyT6o_l<ʁ7GGɜ#,L6uEgOL &Nh(u :VUnT:}DL)3u}&.Y:RANRZyX醝O<&s ?gǞc0Љpz &zoH:Hu y1,M8)JA/w6!Ya Ύ }?pkDд?WWy#JaAiŹtT j-mJl\10H~T>{"wt_=nh?QWIP+0u?l.gA123A1 wc)Z.j<ۑjut< 1~r@0l|*QYg&rWcPqaHAđ4js dL) c)VYYgX4V19<{.m*#M&] 3J_ÝƶĊ>[Gّ(_ADABnwL`Mf>S0>14v @2,c4lXjhtU( E"`!eWG_TD3>vmч]/Yc`+wG؟8;wHHw*FD'3>CMLIr sb~k 8>jǤ./DmA'0\.jW [ 6,fhH\&<}ӟОʎz6=vr0*$$=Z?x ESnmܧ űK`@ڋK# |'8%|<9;dތǬ-ɴdÌM3r>#gfB "7 ~Y&$!$=c: kdjmsӀ(Ȍ8ugCpvdK@~ 9n͙*N]Țq Mݸ7ߴg! DJV uJru7̂3=: I0|W\e*v0+/x޺ bDn.׫k=εW,#ްU%n'z<}KKi‰(aKgPa@L3']Cg2GUIVT5dm7qۍFC+Jr8'yi YfGA40dV#wJH9V@&wSؤ;;+n;MPiDiP{9g[9{z^DohAj`W"ghj_~ zQҼr6 xTy2m25 sx76붩_=4"901CNup<JPFT?fˁy;gL1/ {1P'z| r?szʏ@Cތisr4F=ʕ!E1rmn~Ɋ)#nrDeq!M,*Vk4 6fFDscwC'Ѧ ׉ R5~,<𝎐A(u"3UGl)xcec T7Ͻ F.\g g1us[Bz4/L.uJ ]S΢ &{>if\;7^1ÒSlY1 W z ~+*VtʽǦG5jw)o=l Co;CpWzGaQG~;ŻEd,j0r9EOW_1^IHA0*z7<r}933339 N0ʫx͗-4hѣ,{p2nuװ 6`QE^F,N ~˄&/b$ }\gC[5K'A.3ϷYOowwA;Lև{`Y/|mh&fQߗV->${~o%c8կ/~)Z,Rl?Wl=>9m^mӢŵHL&_!o(>QW:W0HX|9{I_0.KZ`OW]C37C|l w]'@)l KҀH{.p4 "< iAHE;57ccTKiҼ|T imHTkE)Q [Z۟?qGo) !msW%uꪪwWv>ʡn6/ ڙurHlWUF6WW ,H5NQ|3p n}w~~bsy}FKUg(KwW˟gp1TրB4*ţ3’YЙu0wYzϋwͿ=94G8{v}_lU&MɿWξ}/$~t'|B3,1fBf`kvK,9aW5v-3xrɹ؟5*hp/KyI|~sUIn/KHHķ=3%"͹꼱 %{a5 ׆5\On]IP/_ 8wft8esm'^W4cT?5(%*_ڡ{0?5F-mYv'"Т> 3nĦSP48vG4)q[jtv5uN 5ӷ :bx JV XJN:¦ϲw˪]yS-g ^+h^PU:1,/0jF1DŽG+q? "o<_ϲfӿWbٞ^ۯ.8s|@/,$uP:{*x#k}8_Y:2cWcve\"N8&38wU[ƨ_f'Ӆtmv᧲T7Bg'ϿN(Ń!dl.pZo"t #vQy!=襒I m*gl;ZƂyH#FE="@s+aN'YrRlQe`B~q.vҲZ?MíF _9m,EI_k%ثT*b.ݗD-]Én?'ɛts˻#+F} 3zr9{ݭ!8@ )鯿"-WA E H:}E MӅkTQnVUj\u[OcJUBϨʼYc1a: gw-G>/[[$OS~]ѽ8^y^jLV!Q>>^n>J*b߷y[,܍=z:QՌ.7=<Ma pӐDtxʉ&ay!ؼ,39N.#wMlY>>ݓ9zqmcЬk]m=p^hr2%K`K18uҕ|P*E(V;wZg֎syߺR-#Տ{Q+gL^3oɥs ހQ$Hf4Ow}&Xk=]mt8&G8D0!&d;d4\]k5I|ru '(0&@s$Ƃ!Swz99/濖t+W~ !yBMBA:JބR`ڸ'qS0VOmȳWhcԘ/`LDړoGy g]csqecNEII20UXSqRqȍ.nyJol33uxݔjNjxyg5wWWV?k!Dp8H(R`41oC˒^eo>cmD7g1 _Ky,*oߞA-)qݺWTȹwM+h44-c .nqoͻ#LW|ĺuKG_ɝFiJW$GklTQ^ "'@1pѱW!9Lr2kȝXpEONՇ!\1?Ƿ~8:"N5| 窣涜yGf U&ڮzldVP׬ӶkKkW|8I,^.JI~ju,|0b>_Әa {.xaiUiNa] WI?3}rыωbfz(h0ֹ|XRx>׭iu|# poyw$'.B4g KoAp(Bo\ f8ctg#g2n q.N]k2, 5ήK0,#yP[ƖzSޮdgjdǒkaՍj"OGѹ>qtkbeѢB8UcX5weD{[^ފ5_sV4ea'>uo+Uv-w#oZ=k,`5R7׮Qs},XWj|1wKH6uuO w¦xl |]ߣ5cBF˖Z"s҄r42, WBڛz–5{i/ok痽]t_UKwUlgf0]UpQ/79n.~?M?SDa^LUm^Ńs% 1܎]Q`=~rƖ vv>:O{l8FUtڂ\I0 TdITc3 3C@͞:|]b}3nY=IIa)JİD;6%ą%^x5fI)BIPfm^ a Vd&25 l&pʘ_Z̬NHwfUbcOaI-61b+,1Iά>mkEMk@@`\moOw<->cITՇœz)]?묒ņaMD^Zra~yjNՑ]L2נ/q 98(3d Dv?MQHl12Au3vo)nG>gբ2(AaKϗ/Ds2 5r咛7XUDjl\m+H\![Fee+!W !WWm-wA< d>>Ҵ! Jl}B)ml,ZOԙ& 5rWih>5Y_?!n9+9")4&B 1~Q6]+kn݉(5|zKxA*1*bb-岽3%RZ؄Hg`{M&՟!rߡM ]S0F E'l s~N[d55^/vˤG&rٜ?mr-+#J1aswEܱh"9rFWMxTVm̮6.Z ijӮU_{נіE WAuGa= hGm\rf=$q}vj~Qc-M&З1Q{~ͬ:hCCSe4ߺTy*n߯P4bGYއQ^ֶYOKl`.ZiOR(8unT<|F=svNl5VV5Pޕ¹y9 iZֳҢ&=МO~8C؁p#鸢0xj\/[ b#թ;xFhihQ#q0 %[uAjG}Ge16۔>OFk8].6Y[Ψ@34ٜAO5u_Dk hoC # ʰ:RMq(R Lwz-+^$]Eem͆1 ]dzlX2\PLJ =Uv))XQyk&>g1[ 1H$$X?E8”f>$!T`[ҍ!ZlJvcR8d/к쎚 "A7& bTnjxbh:|Eα+4N+ a!+,C\2QzHo^ G8&6aZs՝,>E7/-Ċܧh\xY@t{i.Mȑ:?y -NWl;ceiГj1!ӧGYG aWzdA݌!7d;V+X)A6[@f)ae}D nێ%FG%[ 7.<޷+-5pTڨup7BV tyzϜ#%"# a|#ﬥ4wyDA'>X#DSLvL$4$N(M>Gtr@Lh`G89!M8M,iW-PۉsSUr#zʨlkv@Z*2$_Vw4Nk ٫ g1KrFF86C}rёSkB,}v+5 Nnv\kLWm]J[^Iӱ|2D6zf4鄗MVq۪A;kb4;VMF 8Rj!wϧ63 q,A;5] z0EPX}4Œ4^ak^dtCXe j"^*M #uӤls2$+~}|s'%Αf#D -Q[,MR.|6n{qA JxkٷTH+?󂷦-?3sE~/65[#dFl%6Kdl\GD@FV3I64#(U]aev>M$<`'S ߮Xצn?~X~ -`Z*"ؔT#ctP4vlxy*|/{i4Iҧ:V"j6ſb9Ϥ։&Q vp=ph!1Je*y&$|wJ=Ob"^<:cxyJcYca&kUQF'VsM@鏷%PmMh0 y .nl])*?k.o{TxsnC"Pt<s w)hB@$*c8r]\$zZNȘQ 2ETDfyD:csI@RH0NlA`3agE+ ,UdiUr}zGB$7c!QacKrGSW1Mo9@IqA؟k`]A+60I62"7U0Ps5jx4o:l78:^3K1 P_ i,_r~zs3iY4edʽ7RvgL-Y]zkɊﱾ[uOm'䙔§`bfKy)ixNW6leUXVeS\V1lZ!v۴Lۿwǵ7גUEK +:eлg& \ݏOU{ǷDg7/{+_zb+}VUo}ncgq7IsIq["B"z9*F_~S >?I+-Vie(a'wlōM&ۧfo$~'UUjM/8I9|3N9w"_li/hvmjoI=/nad4Do^Ŭc }0~Yߜf+O[O7)Qa GcWuk7O r楂bM#M0utw܂Z-}W (J[1DvMv{5׷]quk~+ 8L^i'tX|W_ M3ԩ'L9j~5:f#|! Z목U/"ZT+S\ %:IΊ=hF)Pj'μ}kNV[*.7ʓʸf$m_al)؈z]< Jy< ;/O\;fwFvqP3fYYawYu5R$5jޅeUt jb^yfR{/rde}'X6i5G8*F265jDnB.#%͓m}8s]ԯYM5n^wt-o]Fh,!,*v%];mvx6Z TKϤ즸?џ%F-nGK Jla>x*_ο<+LgOlN 7f~9j|4t m p*ʓ=ү>}l2炦hܗ뮯:m^!J#BwWbXןJ%N{r\Q+˴8Mb{ ?^#}v:Hӛ慌;lxxy 'Up\պ;5&n6&dSwLMHeib!O#HLX#(*O>&N{Wݙ Wφ/ǐ|+q=AK>ksx\Ũ?1sV@=gx[^s:ww;6VV@*kIir53UA P\ >U_÷rE?P˄KH%\{ j _%:B p91^y)3x%cf/㑖5k j0+rMiJ 7w&'7B 1sL<8Wtmyiq9oY8+ZwS)k?uqZFYcd */Sl J]s98_ꗅCO mɀҏv᧼hӄ+^ؠq9fk.RltY^%a4֝pɪFBKh?Ї>Wo2tq?`0^1-kF SPQl4a{?s :UW)HѦ2\-]>$jhpNpC[Dɂɧp+va2?4o|/r>*i~yĚjhB S%JOP$vtR9J~`f>E2@$"psƏh]*t:w?LCǴ?JO_n<[I*$NBucm N4 8NlK˜tOȀ(ÆL3m!mO9Uf% Yo urB hxaˋz r  e}7t_xç"JMx$ieKG\2 ^''HC>nHm`i Kpk ɻ7 ~=ApȖ $=מU%LwsXl33%S0RB3b!mwvp*FC:L VP PM_'Z2?PP=\NAn% \)ǧv@1ywH- wtg=uK`NFT$jc?gV_R|0Ő2-IE15UDEUQTDETDF<SI q.IRC@ZHrzoFQ?#Xӌyd4Д+'-L`:DɌI+CBdQ{D"h ;$U*YiWDg ֐#O_~?vVe?)W 8ݛf#@IƠۍ'CMjuPh?nHZ7g8Qk{e fotΞL7sǟl0&Na eHf&jA@iy31u~TH{:/I-RQBTH's˂'~OFQHmFa?G r!te0A& 1PޱHmrY<4tΙ*Ѷo 7у[˳ȅ=Kkpd;á<;9 *~#Q|aD:N I$7(#s*BJxsxDMU ܆ ɘ7] m7x (46M$) @ =NfeoW-̶Ҋ|?cq77_Ï_hS? $WPƯ*d/MBQm8#2] *_[ninamWlma^HHnB? 1Hoeɯ $qqh`?\֯<듂~n !Mlwwa㮺D$}NGFtv,`*@@zW$fdXώ>ax;6v$q`H(@8ҦIgA6CfEpǃb@ ЏAXfu2_~Gwr3pE_1V ͜>h}1,Wʉ'3QMj 3q>RT[>u!UMja4rÕiEy흒uHKswhA,·5p 1%@l1$|Z2b@((H]JRH 7\Ӗ)j I=o.?J ~aIkXkF&+ bحƱ]QdM 32J1V&6 hTY#YQCde])NwUON!ú58,aRYbp{0kD]=3؅I]Z?8%+/F+C~/TWKv%RHbJU6eWodäC E5S8r&8"3Pja/D7U?/vu^癇vBшcN Y5~Wuiՙǟd߯gM?Ӣ,b[fvn)Qݟ'B$$ j˫U&7#Њ\8SU83$;ԂF Nq/ɭ? Ɵ@iXȖZxOǃ2C=iW0`tvfl畫]X3cvDKW`ھi{#wu+Ul&Ž4ʦLff}RwF͝TI  fo/`foOGр=ܓ]| iJ=.m=&oK:ZC:B?(~wIu qQ]Lr Dta~osip E?w"7!~N<0VUT̎lo5LWyH2NhG rx77UG4k(jE=Z/W!%k.t;Oc!25@2$3u=bSOqTǭjZQ䦦."..//$ZC!Ӊt%]7~wRQ]};W%t1H#,wEv-?'z ,ڱWщ>.cψ򂭘5hڲ_7rhJ n{|˺Xd'~洛u$ox߄SJE\<;XaٙAִhIt4mZ kZ8KӓFX3ִ*U#\:UV^ڭq B 3&@ҁ!WTӑJ. o[ؑ{$pAUe: Jzۆ 0a:ˍZ MAUVc!`;MάsÃa+-!4St9dJWU]MJhs|y{ްHI.ߝ7 Cɚ+^eu lQ~ xJk<-{$33m&Q60A\w\oo/6@y,41K"|#<@OoW:PD_Ia%:vcĄ;=ϣ>sP˞q2C$9ub뮑ʉVWd L88p8wƉr}oc'DcX]; :`l ^"&9(`?,j : UPik N_ `7 E* L) [INvfgكXhU`!V&91 ry04@...> N,ES?n8&,U: rY?u"8'CJ%t}lM4j`@rS!$Ǜ\u?4[{{ 60ǥR+rWfx0ڿ~X.ω26* P/|QHegf2 AԢ2:'\D߄;3?k2ѝ,kiZ8r\!D@)!qiu짊R+Xs~`|2pmv”!rXQً5 b܅hoxLE]藱_OzhqƈU^-f04҉Nw9[X;4;z$fcHW0WuW_[b  tl1џL<~f>0逄:# w,d$j!QjgGsL6y,x,X&aZ K(8,rqqn6v.r#SC62F޴qUîzXrH+=pVI>hi(,U]zhe~_3c7mn]G~& ՊbivYa1p^7rp8z׌H}x)ۺru'Vw|z+ZwYd)+?f0{'%TJ|+g(Iک4B~oLQ^'/;7e'YSdrc2*h@xӁ̺֩Z^*7sGyhP;ԅ#}SlI0?rA&-i=4:waEr`zRfq 9UK >Nf?g} %8`-B fx3+28<ùQLY'Hw&Yw$8Hm OC̙Ldž4zВ5 DXdY`?^ źJ9VK+NLWPT ET2qv"$ &\!'kwwn:qq٢>tqCaUzBͯ "Ž&sZsiȸEϤѥ w.bvF*49'N+T!O j 7> y^8מyb?U|0ǩH&RyJ ϾP(\qk猚ݯ![q-g%s"緬5 D(S@ |)EߪC< "r [v]z|q޼GU`{^s5FO5مν<c3+8bna }[M>0v5*Bdqe K*:c%ʄ hM3A1)Jl:*=\sFXi b7m3T%V\Ͳ7;mAs:]"HqgZ_/s'K9n9^ 嵍&:!hty):n\?+l]=RIi,$vR,zQV'$BBfvOiތK Bps_sE/[e—%r^Xg# ўl f(SJ9.+ϏC6}z0zA Aui"Cn < zmmR6No7S߸pCz"#tUӷtƑhgvmx+rR7"`*fM9h<1B!z;TPa\bV#[}ZԌ4%ERaTC&v<&(1ͪmٻ/vYWS\X +z"֡d̈́צs]X~'R>c,SUV&8U5JUE x+z\>qh|7 AG)y/2Db.RyӫLˋ3\Zr$*T\Uo]dr,"UQ6Ca3i\fn0Иa´ҡIQrɢ&DkTlJ$)5EZ`a`xDyU3=~7=r}FU29Kp/7vP ~Jd&3t( ]yfsy?_Jӟ{ޔjhKiF MqZten%Z}kӓUw3Jtn&-n|]Ϋx7)H &/'=2 H41z}tr 6dL&ÛR~!6l}9^%Nog>Vr5lmTvdt $O.h5^ < pЇ*p=A'Vc|]@"&zpg;tipDZ:$'I_JqnGG\zi>8rD~aF9ϥWrb##;(IǏ_ÇAK;A\.]ncllYʚO8KOIrߘRJ*و׷uv=9\?G+_W in^\V4yS>|ª4S7~<Ƞ@,f_ǺrY,u,e!ؘ7#YdF%n qa$OWͺ+t|^JGʏ~gw*;3Ν+)x!^Yh6!"PXg2@L[]VOZV:=5?{bsufah)g"nuŘq Su .9IF XHc8Ef6bDDDWw"rF1AoT5S" 0߰s1ZGZV uk E "+Pr Q%-nHidQUU0p(-.㍪'0b K2.0,d(#N)uRu%*wλq鸌:5$:RLq^ rSm@ hċHtVF%ըc:B,2UOxəA 68@H"b$"H)f"f"!PHlѦUq e4m"4:UeUZv Bl7 pĠʙD"" )b)ia X"Fm ml m^h8ۭn^x1uB!ā#EP@pFVCd/27 {' qQ̬NWaۤ$r֜IoClF"P@Ð%8##g:P9);!tj `9$p0JCr$#- ]s;9m!nN:~o73yo"q/yCBv)nouS)+z<'U,%d4M? sB)e 260jRgJ-6BEA$8dI^fFa"bz/-i1_ul=w#wLm;#30ݴZ]z hjZBç]Ȋ'*Is8Մ OݡߛEGjŗѧ twEFv,L!?,zT/2M8|\3<'#[03{b'SG_#_1ts0)h~vt?lSAts1}jQ tTqFNL!{=L||A,!@~OX:S ̮TYdY%i2$fwf` 6!R P"l 8 TD3#M+I NNC1VLH/8:`\~JD%bnۨ4l#7c2Fi| 9#19d#HqBJ.Cl~ELB36@z|nK#QZLQ|,(:`#3^Yhp[`@[  M~ұɿ^ˌN0垦z GqUW@q:c n;Co`Tm,5^(zLƯ\P]lٵt&кNl0~#GǢJߢ" u(NӡdhT$نP61150X`0wlq"JsɆ#]xܲtZ! @d!ԀcI'XjE~cPI*|Lf劢J*YR"'wYQ"{KAtHz=Mxh K6ĠCE.U$p<ZS#2K P!8jde1^`s9m&.UG_QdL9~ⰈAOA zMv3j{XMJ lHpay%3 OMlI-Gה!"P ~ն $_j2&t|Dh=E͠8{h<c4xz 牟{pN7Ѵd{.[fճ⼭~e]XU#taf3;{H ]#÷q.&$>?6Ou}I gRyR/54$Gr4Xboiy5fB?G`nKeq"H=TGa8OP_&""NFe!8֯[ _aiMݝu䞡 B4{ ]I%$щ%\w5ʮ5P8KL[=PyH,p o(:.x$r$PC;SLJ=f9CAxHd.b36"|`km}_<.Z>?2Qd yWS',Y&Ƽm.FD_h?i# Q+r^;$S~~ 9:L3 LGO H?T7‡o.>6ʐr'A;ru#0"c3jxwS;{Um!fBF_:-/ 4)Hx!Lԟa&5}EwfNob!!T%RQNY\.z:rtj&n}Iā9 4@5~t>p]>\;<_ u0ӉIkɋ4W^?wwWc63:MJrKOyy8_|A9$;7, )'.Ћg{VgvcslE=2ml̳&2-"Q& ` hn m9kptM‚Xr33gasn[vwF1 ;rqŬ}x< ,;8S]svpgsKBVɝ0I'>~$:>z4a6Wf?~࠼C/\s`xo8\$o$ ųsy -vHjZs4XhB̈́XMcM{Y!DzDmw͈{H, $ATm H#4oۚ;&Sq&LHpy u%axVf#V#& 3G )On6`%B]z8Z %J9kwKm/xOX,fm6¤J @f D7{[ #"? $"xb86$4aB'hI穾֚*KgpAKl.0#̓AJxL8`4UܜĔN!6  FdГtGMLidTAw! ԏQ {CDt$9[a68GƜ@m$恉@Tه@)09)/$bؐ1#6㼍(=Okn! NCb^ Q/0vBWT͆foL1Oj,BB۱fT q V%)1[>C1ـ?K Rc7HcizX1=>)9Pvl7IOL4@^y9x#߽L#)U&Ho2,~СSu` p3o{7Mq MC{ Hb c]'[m}[o?i3I$2y|$v;KTᅁ\C`/9g QV>%}}r}OS<>~¥ø׀! &C'(2lN_l;+upCDiqgp%8KxADLZb3|XQ Nhݒ8p+`E |sn`vܚHX2x,iv"?;D# owƔ\cto{So=( @pFEhGiw5ȱo߬2!{f]l O2G E@? |5 OSx"xq)y`5;H摀FAxb+n!x) Ch]3& 1Gäa@a{A>g8`w1?Z.*PPHuFΫF],p>cuǂx= ) 8HtdD*r:?b 2& iL!,X=hT%k?x~d?Џ߫?:2?3R`NE0q2{5p:y\T80?MBrc| '%_@RNh tR{&( a2:`(@_ aLVu6C%;R$ؾq' v/*)}I&Mfȓ:sc3H0]cQRL@c;.h GAo@;ӛ Hj2N;1v&!j@E:Xvx@LI=\{$VճY\Y>\*" ,IQMFL8Ha;7¼gmIf|f&_.;xrs]ziYLǚ1 77GP 9 SBEPdK,vP`\(ϩ-D䜀U \Q> ?> ڃP8hsq(w^~IDсե4Z !;1 ɰ֖avB} >p+wxï)GtN̽.Eu(cˠ}/0>Ӝ0}uSpgs} t6a!\*xnMFv|y9&Q!f/){t/0}>f p%6F@;X#0oߊsC(ЇH`E`DX(PXFłWAzAV0",QdA!uC)cъFDH;ĀR+48MiL_?(}OOH XbE_ɉ&k3 `8SQ"^iu~TM-9U@;9g=$j'84.8#ya;L MH!܁Ovwu}}碊cb6 p3`09E}"l~+n*a=d9 z'nKs7dX?w}M4AHڨO].ސ@Ɯg'g@AUMH~s_~EuxQ _š&p6Drx^CZ#nK`3"0v F1'=B*&Y z&0vbm(rr@$4:8jD>Bz!q.=&jV*AY4@whzYMX!0 &"ȵN!3dG6|pxyqp jH(K1%&ʨŊmԯڍBQHd.o4Q0L;j^ @ @3"}CD\ *BAPBFfPšbh]%oNA7c4M #sL%!ANdNs>ax~ݏ%7w=Hz@U+gWC8Wzz@0JcÁJMI_a{.s$p+CʕCzm4~ s ܘhzyp]}'RҤ b7:{~ZN;#=Ɉq^Ax5۹xqJQ{HuMpCb ܍/ۄ܊Og-.^8s/nS!@0(lov@90 4s YsTa%܆ǝ`{A}N\$LAue#Gbl# IU1lHJ%hB(J `C'DZ{~D@0Zigc02 4&BʧI`S-50c4#UrU@:eI_eb,qd$àXep~0yY%9Z$}cabK &{`鱐7Ψz͐44CW 1iS%shhA0;%B\cFgSaN᪊ňJ8.J~'Iϥ R~d"rH:$I4 6 A$$C<;;>?6X"$+P/Bl H#@P6!ï~r.>300>v.~yVC!99bzda2g@OX'#LTӹ9OnDVʌ?P{R~N.n$8WKʝX-QO+!، d;bLl2CE . $OA:p_#}iFhgE9%ɶ&Lmz+bE..lZ؆gx`Q?('m!Nu`^U r7| !bL&y{%6$+䏘<%I"؀`id8ZNi WPtmߩ(u,&Z3m:B`q&*|8wC R !M Q uy6 HvgEBP !&WG2h L6AK*x>%WY<ؒ휜¡ک#72G)wf̂=И/e4?]Vv6' C!q|@@71v`ospO䅁,!ΐ|c`|hJא* h;n.t8T{B* _)?v'#bD! b>6M5_a'EяJ+M6~i?q u>\+Ft= v 췹yfd\WT ]ӡmxX~Tc?$(?$2)7݁}dED>ϯ?; ٶ'́Vu/=4JU h ey1?5tӚA6v?n3m6tK Vypڽ̀F+^}EUEqLv+YO1|bgg!xf` OXO=E|bǔ,g#~41L}r Max?!0S: b-рoz[߹В?>#`"ީBHa&8v0Ie(|V) e72"cCzXUN|JSru .''~<5'Z?`b.`YCA~p&XV2=c(?;FZNhCng\x5W  L# P"7Y{9|*. Ɛ 4s anjcHy%pya C(/I&D1iv%J(\F4j0ii70#G'{!*:goL= J <ءА6  U/?t).Gk}{mh]_hJdIz|(@|b!ђ*CS \"{1CŸD!rr]xi~p`<#0^A%:Mפ;ǜ8W0Cp2yWA0= w$oAN'rCikp)un.bvYdа$C|(2'g@«j)wH0$$rG;86F1[Qj!Xb *!b""P !Jj*(Rn),,(HA,gVmRA @ #A@D0 ) !1 * #6tY]< {%ko]RE DH6I $HX=@l'WZ3 G_ cj*a$$JNi]d S}&2ہfkd4(-PWZmv&ƫE5TʲP)(G+$,=f򤑆[AJA`@>)P@QMk#m|h]  JH{@>Xtf D@jP]E @\%0y{G e7ҼwiP2~>Y)i8<)_:NuR<ȥ$dž'] glG'._)c 4_QBsX#o x:4AyS2 ,́ٺ* (~DDR4} kD@zn NVP T |BszWzE&3#q%PlYNd9S {j"K{\޴K Q ѫhn3#+^Blˮ|,h(t5VTb@fp>s:!܄T;vh'S|oW[ͣ:ezza)Mv.0KI xz74=4١&kqHLC@t/\>6J;6AN~S"-&| +~ۙ p)HpCvz̪<>OU41jn<n\t?!׏8 ); j8 1> eih`HWx)&DJ< `!!m}NXAK/!)!vF+m3lo8!Y NYY&Fify_J>"ޚ =}GJr)D!&ll2[cI$` }_O{/h D(9fB勯9a;.nYl+}jIӈ$Co*QdB0/vVkfZt vh5&k$4ބ7\8|n8y="arAʐZ4AԮL G+"mkvXC@CQjr9||*YC`>] o] µ`=س-DHjkX t5KYb2ڽvHOЧ>x,bmTȧ$nkx;:Z](`Kþ=<#مSאO3|WOQ^ĿyN6:NYf$Itc؜>= ,:9 (l86FfݢYvlO~Wӷcxbt̓<p4h-D4c~g8KXl/?T <nАy]qFp1 h[c*x=  Ua˻V45D@4a7sӣo %1@, v$J5 >/PK%TAG uz?=yflۦwAJ!:rˤN;Nt#:W}0:}ĉ|A<Χ!#QTh􌨩C7 Dar'$"_Dg@=\^mb!<GЪ#E0 t1$$Lz[1`~K`̣GhQA#hTҧݷDr$)A`2826pXut;lI_zy9U*@(H!"H28n*2ɪ3F$#BRM4-D`* R(`#?,b.Z32I$I*S(# cd I|~yž3ٲ W /h4,$~B4hy;;GiΗs9<TY[$1i59*⽟LAJ!c/\yøJD7"6؊{y<5y\˽hC@6gp<8 SRy#A̬q+$~"GZRz{iFhfvlي|P-5chIfLɕKW:Kǰ;@L{E4b4&@ҫn7p: >O/ny,z8g}iNI(~8c>m0QQ)"4Q{y"-zssa\qqQw܄*1hchD}1ڨT Ԃ"H C4_bWLG}f` yTE^RGSX7$kd1:O3 ƭ8Q-#ETE$}P|vWWS?Z+@Gl+Lz}7yɃl1Ikojd,n{ψ~J#?-ZW[4Tl6yf@֜Ggv{ffb><Ɛxm #m}j 1 "hM; %x#Sd("|47]onecZ~j&-,m5r;G_PJǯ?aX8a1#)ߖl0CSPj 8ò|K+ڽ/i_47[ YSkv0:O ݬ?~-z//;ޯj22ف2fCHP< <*\H"cFBQI_@{Пo(AF!~&u?~pi?ʔau??#icBntYU(١G0v  ,L/@K'|0,'_a|5-Ĭ h>^dG5?ob[M[*޺lcwv&~4^8F(7lߠ~}'!xoGS9}S-QB;J꿤M|Du07BPp90v» к7wGO~-Uu2G)r X@;Ox:z}OÑUiC/d4r||3.\]w+UR*xSQtS4):E^3.i}"#Ϩ+ `hzh|gu/G'|=/. Rk@2 I{6-~v!WHRnw/$ڔ5с/ϟ*߶nScN3ђSJǾۊZhXKR޶>4~n>/9c(sN;7@@aEEQ1A }'?Q5lB~6ag=[;<f$3,#[dI$M[[lq̑mlu2$I+z/pC>"38@ɘvqLݜF c~vjJE:܎ uQ~0LgP0~8,> Coc,V/WwwWWݗwW m33}y z%EM~UeϽ$Nӝ6>ٶGqzNFasG2L 97 SE%p?3,ʤLa .CPRͭ~Kwwuc,,=Պ &L0TGX.  w6EuxK)UU]Z˲j,,(]d*'A6N`A;'!Jx&鐬kS:/Ra/aL9O߇?=lQ!(5>\_.6=ܺ΀ ?mo*Бyz"!ӹLYMˋJh%z}.%RVj]jSZZ˚zs%2{Bξh X 0yŎn TEH?稧̣6ԜfTJBy޻ fG$0P,8u؈/H<3hd6PwwrT;5~?htga LNFQu˨󱬺FhX/ C|_xoz|Ͻ$d8h0Ӟ#Ӝ_t/_һ M 5 6I˞S9SS`u9s9-BcXƶ8HZ$b`fV+-{,]O$*%=u04𢗌~v J=$C0@=o=KA=F>6ד "{N@g5/q78F*1]f# 4XPaek{(0ܭlIu Ȫr%2@RC[#?_,:A2Ȑ@aZؒIBaB#bJ\pPlԭp$.?“W>]XܑRWі"x$C;4:*ffB‚‚ɛJm9s|<eL5C9~9Ujݽ~O̕'?ƭ.c=p u]et)q~h |퇍O0C"w;YUJvٌMvk.OP~y4UUҝ4I>2I,s7/$8N2dgEWBp`mqJ=sB "L+m44Mq ;toȤǐO\p؜gΪov޳m[ʸR'bOxqy_2.eC 3 /cf +b,>?q?tծNGOOl|~maWbȇ8#1>d'Bbуk ˋbW?C2 .cx UGoB:Ghsf M1 sv;;!ˆZMB4hѼͥzQx|'ctD8>AJ33,QGaQFD%3I2#660I~}jt1h.ˀ՚*KQK:ȯ)ٖaUYQQ! QfE&^ xxuhFqtKѳցԔR1=whȧE4 #e0s$M~Z Z75=YНv 1o+5X t'diY''* V dlXW`f?=mYDM)ZvO=H8LAK_fa\bG_! [mi-nt^>6?|;9mE2mA}{;{Ž; 'b ϣ8PfTqP&ֈxHcDjjIؔ8pFt.B|wr8t9J `ʜ{/7JP'^[0fUnex_gNd/'UNzuwp˸<8cgd=9g6p;8 'Լy˭K>J:]gBUUUH όԺԹMj]9.8.}GDc m'fn#yq$L1&Lc4x~v[|R"(Cxa_!oMqOfOݠ@}Lwfr}y,c&>I#{vfֿ.5UPTUUUUTLUDUUUUUU +UUUm^ ,~)|K5{/xtOMR0.1ð8egMv=C|uDQUZ 3eG ;|&؛ \Uy=p0ߗ03 )pҘ`J\) r\A^L@@/;t";~/3kWfe^χ$sI#ERY,,pcpM>~#=!d*ĴpoH2hy8 CYd "r KEoCpdWR#Ȍ- 3&)`PHgjv`dW$ݎ[؈9 $эgeύYvWˊLr߁$d]>16)i4a" @6PJQrq< rn0GPʜ.C=w * S0ނó.ԉ8]{\=t;їZ؂Q&3R}2b& aed 9÷Y[smހ%ۄ;1 rZS 0N#B" """#bObBDIz' y&]({, 'Zw"+WCp #F1fC  %B=M'l_?)I3/'(D*Pw(E=kM . 0Y2 &@("iOӴ#ţwwww~0qZS1|<"9Ձծp]z&f( 7")pP~cPV}&|奆q`caA`6Nu;W)?yiu j`|YF!1v 9HKKDIv11d;A!C @BDpK#!(R51L 51 Wx<%_&̎ f*eQϘTP72";hG01 gCwl;҃{8}/遢Sڦ-m٬[4Fl nX3Q D3|Ҋ%s~Q ?}m#}`O@>xOf$wYVlK AUXv Fr%@LiUaAц-OXBYceumkZ2Tsfd32{?'Ƃ$MJ49.TL݆4e!0*ICVI0f]#I UU4DSLEDElPtbMlj xf32+".eH1CdmG=cz Q`2T"@qf!x%%яx?q? OIs&v#mG:<3&edMii І cP 9BI2x_$[#E0Ze$h"H)q6b#!'0or>/~ij `ui]yi1梊MGuqt92QOVXI0Q96CG\K̛Bԑ"SHSJp']!sk;v'] x 'n4v 1&%ٷ9ff bv'ĴR>ZPG96;q%<&9? <`2{0Zom"qyo0?H$Sc|D=#$0 _S_ "!@P5*zʼ a#$ bklp%TLQ0Kcj\Vl4BxtJqT>+٤@& En;I /X &Dl@G$T>xr0S}MH{l0&d`#VCLCn5Xc FbA5LS|9P&Mg0,FBt-Q bFHC-${1,=?yk'b*92]l&Xu$4 q!cI)PXߛjd.`O<8SÃ=$/0_g̎ k b`r35ՌAϕ{s- {vOg`꺐=ʞ Ji R" iB(JJDhB!&bQd( *$%(SHr`J\4\wQԫ4d2:3cﯸax% ~+OI(0TK?V>Rdj2lL)"ZE(J) a`"X  P0I!Vba!`.GhjL[H}_eD`M~5@clM4#БĜ7fbpiX Y+/VI^pp/׾D?UQ@0 Ud :X0K.!oPdEâT~q!'i@w)d'D2rO= _syCOBn&JIb J!& jf!HPH eN1} cIЊ =^@5:$ yoì3VW^}(&<}<\CܜS<bJn7ϜqG,<(DE p /bPiczɡ77AS/"@ =:ЁX" B!!90>Xcn888B&&.ݚv (W@֝R8SbFe t 6p))E%*VNPvD4|^oD"#a; DN#Y. 톀IFĹXY"objHh!~lԝˮ]t5A-A?ceG> n?[6AI(e.0e2d0r~JTɈi-0 Cbn)T!]Ǘ"=@$b p!"M#ΜN @i:JfVƲ ~bdK^zzkuzG9ΰf]0o5tq[z.Q4˺SH+bpK4%d$@bwH1^iUQjF g=OEǺ<ӑ_>x|K3Col8 2=nnt x.H V xVg(!`DBJ;ʾAtDmr8ֹ$mg~vk$ŀXgXO R#8 hulh`Y3  8٭xc14ňF-%3 "v?هWKJFh*"$f"kO oMUzRF(~55``w.Q8DҊ/ h7դ1nSIsx{T׌&n<ggmG?^n "tװ ynEԢT򥢿m`g\jI!  98j>a(&|C-a}1"<0C#5c$AwzHX9MHA E%0 4MAQhpbȊ6~&Ą&ҵNKe̮Q3l䵜zD'd4b!!!(kqy7.s}5IځA$ƺL3D>A_I& PbLbf"!ymwf7aPGXtA'|dijYvc'v?ҥR"֫Bo۪HFsv?>u~O~oW9.h ]  vp7_5?ίDbI񻉌r Lß.$X":k$W lw>߂ocnFJ|+k>ИѦ$h*KudҩKO|hSp]&tp`'3ܗLHeB.yaP>^0<3@נz33h$ T]rYg#I.A(QAG2LL!ܶQl:4ɸDbh5`R$ 2FPx: DVd2W (D!C&ZQ(TU9Q `b:܏k=D b% KN@, !&%THo;fѢ/g`!3ktpɮ*wg?vG@?z2h }!Б6J* +g  i60ư_J}'}z$A%?%Ay?lOޜ9CדMxBl%>(`2+0{G4>߈ߨ:\!g_kRxR=1wLv1DK} ]Mf tSCZ'85>f2WuR–s|Fu3PC3c*$ gLjRCV:D]tzH~y3-q;~qTQ1wN3$Q kJ^{ѤAb&o0D(a\A5+MOv1&nYQB qH I|pi4N! 2BLELfٺz&P}N!|āYִC |w`vCB8 N!&@j (yZgٓ!i $^nwix_ Vm^] l5,b=>~(EX(_}g  C&nnް&7SbڝI`ެrڱxSG=df fLY3i $s+,_pMa0$Mep7,nY{8;>|zDj`J&"_C\0F!XkH1CKҸשybl[7Ng/W982]ҨDLF s%$E9yFW`<>cn26p,Ń01kl"T, }`G@c Z(W(>I*l&.̪|jٲny%wEh[O 50Zg%a-*-DeV"c y xrIMo&{lA K9M,I\~ڥ*L7 BVpq)U H()^^ 4ܸc?PW?ןz'&P-~SSK˶G^OO ZrcusN#y v`k5:-1ghQ1U"Cػ{L}J!9lj $!LKCC$*dz,ӣ6C~CxU7))*SAd=֧3$$~ 1!Hs$ J97Ma8-E&eFXBS2E|I;`szKcp}0} IdTB 04I,LU!I1)BE@QP !  W2ɢ _;c-BmP!MؠΏ{ "f%G sXd\U,!`HHqB%x D ~G}iu}?>.Mh2r1bHFdB] %AELz#17Xn)Q#XL4dA%iq֨5:(1i Jj^LQ~@R$\$Tڑ/[[[}9Jw#^!B20`\# ѕe]s "1 AL 1H@I2F1 H iN]Fʪ}gԾXrv@ R1ZZxLp楫k)c.(Z`mh8UIA€msq U"b?@Cvq꠪UDEdXAfQ찗rP?Jdn߸>kFj dAdV2cpc%Q5XPA fHH)3 ba)" GjhDYB R 44:UX%j"&:aFEDBaPDVaF%Ȋsp pꠥ$,̝0ĔPH1\ jIʄ h@BXc v!JW"&eHU>ZN3Kh9&T :>Ȩ!JH!X' Da+-g6vN~Yz\4 ՇĉX38@tpAR2՚S0 r53C 2 ̖' "f1k 2 2d$0HՁ(i4f8L! R*Ha*jf( #QY:LL &).H$@%BrL( J H7?v*h3%0aI|,mG/^cLYU.Ṫk=^¾ИO䞹N#vp.%r$YC[7D)h~;x)r2d4JicѼhz9cZn~g'TE{2Y) (!E''#[e%&'G2liw @u]k~:aq;E٨ 4r<򆃈lPi{~YQs퇬e91~PŁBI>i$I$: =il.}@|xII+^q* ! *(i' >)\2Ƚ5 TqI1n^ˈi%=وBvr凂"$=*QPdXp"uj`|A wI)Q=qsyA^S=?PHcZ 2(3baCЉpHKr}ɦ{QIc13tʄ1*ۄCȣB g|NIXdz_)Tby@':qHHq!K{ֶ@+ #±`4nitĚJlv-o] =;;£!-kA 3R@T11>3j51eMYAzAPi׵ h'  U(Ơ|3>>@NO? Bh=O/4fyjUC6=(7 >7ˬji0y2ތy`aLTh]LW@HK퉁:#Jv!CL;1_MV6m\ ؚR+o?>^ ,y?y7I!âv)cdx`צ4]ZCSnH 3D3L _jko_(@vN:frωIНMBv-"{- lEG;,5DX.Y. O>N .VsD1"H pa4ݐwi8"E ѽmP ˛ .k!%7R[x`!ƘĴ[,D11\h)Wz nLHi2E iFCG(;Fj99!- 7 ,#  p#N+oCDsNmH#mшe63 PCӛAAzn,ۃ7s1v[٥8F5[ɅCi6Xar(Ix=eԓkjN2xW-)1UzmW#Oz{1!tc#=;5lb1f01s4aI7E ٻn0Hyc%7{r(&naxr zc\Gyh=1Gŧ)X>7u.To7IeNe3G>4=FF7ZȈYl#8SҠTEDZ]2PPey"F`iĞ8&TZ% 6j, ֲ.r\wCLXLiC1 6r5W]5vf6RQRSM+pzvpCTcqơ!fY:fI %GJX!{߷yq7?D(zI*'eܷ!!90,i# &l9 d0ؒNNt\@Wӆ 5&ACu#]p0#{OQ11- T ӆE1Ρ8*i(CT }Ѽp "(h7o՝qqD2n$$5vv%/EP3 ;+HUIĆ2t$$@mol*x >TmXcxE#@az{G^ҠZ5T{dbEGX)т0/n"[G ksh J vL `p̀42xB^≳o|r[ɗie@ZfD⒠kxfV WD01)1ѣ'fJ:Y@I`{I@0b92^/2 $>?Wn wv{й$@!-<9>L^'zلG}.@f k0aFpu(, rg D2~qdo|:؎{}߰>PWۗTҗ#2ѯH3 b!f0y[GTETTfQu}mhcjB NZ5Hj()1Tar@󅔨#D1"0A)CB1L0OQ\HA~VDA H6"tcNIkՁdf Wd20Ej] KBj J;o)]I :E L $c^mR;&K5!0P?K=G'QO&ЉgKfX!#" \cyPɂI76AQUDR@ )C04* ( tK )|u;?S09(jV!POu!P qS aCGŲ"& R@u:z:s&R_y%ѐa҅/ЛH'qX(}h)CvF9ai48l(L4fʼB>ZbVedvyO A=l ={L{$ 11-"3Cj 2%ɰ",Fv""'<=FbX/O>ۭ]ƿ 5%IxI=ƀ]f,?2/n$D&Ңp-x|N;ʫKGPBSAZgȱ]ۛ7Y sVwɡ5CVw=glWavf%dch"E) LL?$hW"HL6wZ"20-OÞ Gy!]۲YڑW'X&y0H ]xQ${߷O٫ll;-n|;8N066dDu)W&5I&mf@Ub2<`ZqlrˌJ]h!?A}o<[jQ1QGO" N"7ҋ-u2Nks6^F">P)d#q ȃ' =6Pz C[ɒ_̜TPY`!pÀ3藐Yς$8H10lC#xgvɣUp@{-ؓa:|ZKg #5Rs2<a\SRf`Z  .f:T6d0-2&P/flF[~6&cHR9BI(61PmqnfN81a0MK BH .'mLބΝ9\F%80*((QEQEurp4kh,ɵPN s :J;\6Vf92Ef p&0sOQ8aIc \.): ;DYd8pW `o1F!cUd@ڧ+їWG)q&((j&hm34ZlLJؓf"* 'G(x1 ݴ nLЀ ̹8%LA:]o z6Yͬ .:u΋mԏ>T(Ga䳗PPO+'|=:fk$q*F9 '](M+/Vp b"b3 6QsIs" sf^<>wZ:7ڸ;A3X7*md׎(Tum&%a^qϙ$mC!ͱ~qE'!yd-ыؓ}hdߞd?f6p=wĶkұ\k%3) X~^8"gD#^SRHdɑvG*tR=k桺;=s9xɀB$+CN0t/7FA ҧ20\e뇮FFؼŐ&3U)dDkyU}ژX[׻nV̽Rj@}O: kzT$:ZC;ٌ&1[;g˷ z`o,nAieFIfu=:I&db qy-9:$<+z!v;x?CR-ÙݎM4 M&Œ]ǍҺB7.31;sZv =a96~ŚbQH6y|ou]f1D=7h^̍ƸqŤ;*,=XlXMws&2ң{恵<1 7w@YHr;١f09<犌]nHBB٫H>":4yɝx&3] !˧6ԋlE !a6Vx"x$$$&9"YFq90yq/vKȷN\:gd?~kH‰+L>_y7‚%s2IP٢xnxiWTYxZL:wﶝ?nF{ϙ: ogG $'5>~s{[T"0_gt1ޣIEvgV eix^XGRx3`MFuVZ 4St26NĘ\h*,mg0%x$JoL8hPFrj 6"$U$ebe$0f% ),5pIxI0d7({gm1\̃&ffoPv'.6mJt5mm.ڳ djݭ"Դ#!xMs&hqJsSi9!.kIG8XȄ +4q|]8# m܅zAlLn8~l!'d77w7 㒚iln4[{cxѼ(#c js2;&|>j*)<=hG,pw`f㫦U3Wj"P@B'Lq7:nZlQi͠  Izqr'`}OHqDd 0#GQwct&GDY,9ddv^ll!T9i%C5v eBѬơa` 0V͍1zpd2;sc랺v.h j̀rn.xb4Dp7ZLh|lN ̖=u4V1%׋G=usҭJS*-ʥOhq|'\q|yf*p,ƱFXsPf);+EuιJ%!~u`7mF ~;q)ߔ9asLɆq$n^0>Ap+Ѓ0U{!'5{%aOrCJN'`s.Q tP`DڡVm]AEZhX:@:\ERESUEU5UUHDgbD`~ˀboC033 *.u)Mzsq lּ2YZ4q%5NTEi,6]nW3?ſzZsG6Z5 W pĠvg!Wl yO{1cD>԰ىAe!  ,hVn2QEgrRllB@!!6>`wd;ʭak<u&!6;Knn46C]@eÃdH363d$,1>S'ebj%|7tyt> !ec] ; + 9HFpnG#lZQ.u*{›xhv=Cwqz{o8./e cӳ:MiHt<馂|ypDI1#޸ũRa+$2˖oӥ9uſӮނD$$FٶY%M4=jFSYVk `H$UU_3bs3P@`y!UU\)abSRE r[8sdް`9 TDFwE QS^UOK')毛#9 npUtBi{6&oxVS%ufɊcQmhZh?*MXf@%Vj]TS΂ !ߧ3h#pݝȒ |TL0mNR?;bn{,+VD^ sWv5߮ibg7=@~ʎ'O6$ZD I =ˬΰՑZO#$6pJGV3;#rA2Gd@zyT_S5ش!iM376ݵzvu338._f/oHXzMrc&#qtPcw`DiESwxyAOUX\$\KDUDrxbë=UֹhK#ZW_9kCxf@][wMݍ5E׵qI̒~cY08>+ϯ//H be6@SqB*#͊'bT &#(b(P >TNUx/(&J((&YYh e"=H~.GɈph ȬO~$=R_UD?A{|LB$K ICCC Ib+HBH$ZJcH!b˕@JĈ#.` !͸E%9uf)*IL(1XVbda@SQWo׍k`%JE,,1L^yʾRc aL# ^z8{N]-'9%L l8y"A+A@c]>H|2?{G(l&@hBdzEBXhJ dbJEb I 4?c4dcfi1nod74v'=f(7+П?ːD8s8ABdZFoZQR H}I77/ꆳ6H$(H(cmXCܘ.Z4R4#e$Btm"I" !  fg{w fcP9cR8ݍ 2\q\Q" AnkD!D.C`>1$Lpe0t+c)]a h 4ݵv6"7U_DoĩX0<L)DJDHd:`I$=^N!!A;VwǨA 1~>_{D20A-4L2x~~o:ۏ}rM2O w5&9SlcJ:ޠdH b f RR$jb9Zl8.IQd!{ԶQA4lk5L+!Z Zӄ]jh//f掎&,N:{<5Nn M6JlY{VȇHȆeA7 Ϙ heHD{yCaoט.nSr$!.@1@Gj׺1ɚRHZ-lbgXJ>CԇP;h_NhU_1 s@f8( 4t4Ԙrp FU#lN !ԩȒFC&[Hփpv"H7`'5#NEKdA~a74ܱ|^~N |ALIKQ!#+"05v C$[2̘bvkfU~&G423K83rC6O.NqLe $1UU:3;KMyqԛKX"$Iʱ:Du""z3z զ(3cA`0³J~t8p-X"h3I*g-CC˶R6bp}}6;F]5k0V][K g/nl_]jve+A͛/5jWJV0kN˧ado3 7~ 9w!,tư뭕>iXBFI̛բѳ$A7JuKurlŖSsJlnh*ec 9j aQvUN?x#f#&k=+ᆔvlu7x!Kd뤓j=t|5ĄFcP4v'Zvnrry`v z+ɍZI%W."&Tr$2 .Fqh!b;MD] ]B ;UvE[L I[rYL3/HT{ b%`ѥanDk46;uMzfzr8n(n&Ǥ.ImqU%lgl-ZjŘ#Y20(i Dٚ#7kx|dRWFaDX̸0 $ک@pm#x:^,&ݑ3!f *"" T G#y<(aa-4Fg;=Mn˄Aw6-@Jmf2 ~`1:` x rCC^|HdG^C@y?l F#cfC6W"=yhfÀ01]ƍ@E/o|1`m +OiŝqA'Ŵ3^bӍg"@djO1\S2p׷jb@Eݡlh7Dn.GR@LP.?AG;~r&KMbYk5Ux;ZD> JBEGآxk\jZV A?{1tqaIN0LBCTTAQU5T*LC#THA$RGͧyhwrQLOvns^<[Bڶc\AߩƱɾڏ~;W&;ݕ>as1Gx MmЮ8#H߅krFs6hsWlCB=:2U"u퇭eS9! 1e% `|BZ4,7 /'ndMHa$#Ո 24AoӔ D#U9e4DbƮHsx\CD!0,e:Cl&fD[(,ɝ8׸p$EMLR*b1p*!A(1Du=?4ݔ-X2XSDm[CD'޴[pAz]tiWA :`șJL"U7*cY3^k%6$L`UV,Q)eILri V̋v/mL&JR8 tΒVώ!3_ ka,jh} >K1~2n1 7DD:0AI! (D,LL48 e )\q\0S X00¡(d" `\`hhZ,TR9 rfSꪫ0 NQH26ic 9vEq" N* ȗ)OxxP|D*z6ۍ4]"p;''sy.,1M1kԙ 0hկDP\t@OQ$º5J*¨PihU((FJ"Q(U(faT` P""f"&[>M8x}ch5Av ;@lC'+21THħe)%~0R~}A>GRAz!eh$ B$_9;BFT B$*j?,(5L5?%@$Sgw  <#gY_ӭ0ׇ15jBI^~̎/3BiqLduݹI<Ns1DgLU_^^Kh2Dą%ŀu :‡-"Id{ kl]c1LfT4@m@wkR Z~Gz *8|tEhqA:%D9 $H_gYtl`Ȁ=ۨItP{Ira?5d* 2zd@zm RGftoY#I' ڔ|O7֞3=2,ZF b,7NZ<a0hx-j\ƱHԚӎb) ,ְDТa dcVBG ڎ y c VjpCuT;'DdoE`R4ݖE"<Ӑb 4.-XnCXCQ'z6Դ?zcp@СP%;O4sj6Nb"e qgS] "N! JZ1W3{E@l}QvV-i ]ˆNr=&g\(e6K@5KC@eW$&(_u u*sf(}́iPԠ.fAo">3R#xzXxO33gzJKyc0}&rFc(f>|0r(nz4BH&c  4U^K>fwI%z|8aS1j<@21Eǧ8^/<];~HN2Pj0ORKKB" -+A+>/aԾ62=xѲ,wY|y{,+n}j-alֿ» aV%H8Ew6.C(dR::U@ż`yY >\I&i U^V ;@WیCỹg;гjTAIMH CHTdxԯn)r.)C,OY$j@ _8X*nP!)x0 wPtgj"o?*K8y9 ʑe,(Z"m嶭Ţh9T <\1(Py[3-d53LG[A[*h$ l %li6<|7h|B]xݽUur!9f(.JBAZ!C*Jw ;H F`U2)̙X疹z!~,vnovbd#ct!K= *#aA ->2q'0<;B6}!A?(Aae c`#lyE (Kd1'-S$H| `a5$$@ ,|pDIP~mU2oc.`=Oz9@dLRPTC%茔 C,2%-B20D ԆXЦ #& <|'q0 0h dJ,3IOMQiCa|4w[|(U1+KGD#;$p;|~ȧ!CJP4D%%- ЕB(DRT#PD.T ĀU P4JR4UR%PE* d( dB@d@-$@AHĩLihZT]A@4 @"TȕH!*'wv,&G~`;3y!::4S0IQE#*rHhb!Dv; $ L( aBJ%QihuaYf`D9Hf">ȤS2P`mm; " )+*!@O;50KNNa I$=b/d9{x8Ya9 +L$M% EE)HK1 $!R!R$0Q5DM@Q5A5!4C PK4Cwtos 49Bo'}x CCqx Fޛ@szhJ8/a@{L$tpǯs>.A!~LHA$$D8\,of?u@,džl&GXCKkHbn+N@DUDGg@`vr =L P~@|yqѧx)zQ,nD- _߃ !4`OwI-5gHQQ*pW0ml5_//yhYBeMw\z1nj@L)F̒,g =zn˭Ao7gfG&?Nb RyWuJܲfH,{NX<b <oo)9 h/4P)C2x8 &``J {4ҹa`4.2D`"BAVGND(:r9 % R(jT=] bG¸(hF"RRCWf^%CnJztj@i2t%ꀠ(bb 2Hv̖q vz? PpH¼`S(lA|8Bd'Sl Z݈2RU K@@*ĄAAD? `eZ61< =9cbbȀ)/tHt 6pj;VT8w2;qpfw={hxawP8Hu41d)hĘ@6P#C CV=[Ă;i '5 HGR46Ɖ W[oxq2{Y6(Gkr 1 ͹> *f F3 '<=tMmS%OtNuvI! n }6b7w㯅)0SZ3.&i~P١uQ 2Yې(.//d:OwRzS߭ud\?Y> GHY^jٳz Su::(2!$p t0n u{A٭-p3(.yڕt{_A|_zL?19ϛFJ@RJ!!ZS;}!="Yy\=c"~|qLI B&C3!:Ef8B{0?v`c  R y W*""RR3#0`f5&$ BN2aB"&0}ӑ7on*8 B|gAΔA433H T[{> ky G#2~{'j6k"F,δkFCX(("&Nn>f`8cetJq8(: \ďZœC֞: `(y ˰P;i֐K CK1 fv0fƘxGslÐJ MՆm}@8(DecDPku$ G|kBHb_Wkρ 90=΂BzQH|5. <* SfO @;a@XMr~ϲqRxD ) 8>@"i)S$@+,FrQJ$%RZu RM Q@YE!%4 ATHEK`TH,\a@V0́d P""UhU2B UY TmCCT!$I$Iaeed0 9YUUD0#VfUH&TY8@J!UTCK4IK,B/gUDDRq}qװwb܍EoT3I6X66"%vɉU,w G.*.K3)O zG^~ H 4 b' aKDOlGu\ꡍYC 0=1p a 1EU(Qep䁁LТ3Z rHWPeLe뤺%!HFh?~7ŬCz1.A۳RC*v&g ppdc $ 5a 7a+0ק_S-w䨔4~:k t+sޒCxx`x6AZ ,td>^EʗcvatIQCPi6$nK$IdI$$Vg RaR\6=3~caS+r/MڴATiVխSk1@J ѧ'^O>` +U `,b$dk,dV;pLtӌFl07[| @C}O n9)UBd`#,±4BS @@}`|yH Q?_SF #GYdY$X.EZ]I3f3f( U-d JIUPbKbQHF&XJ5>=&'']$]w?D8(|G8OENЅ!CUs?GHYOk9}O2= AL7B Mfȣ&0`\NeFFAfF4TA"%quy:œ'':b͒=ȓbiJdCc3$Y&Fk]pjҼXCVNr@B"$~O8JL#q#$2X؃ejâYXXŠ(#clT m e dDed" 1IjHPD#HehAc 3ZJG#Gmf%a1$I8zGLD02L /F# GH$'G`JD D ad10f&@ﳰA?pOD~{e_ƱEPPrJ32i =3A"e(|Abq]Ġ4+L{OH=VZ__a@LfXl2l]΂uBZcLN)/&@Dvi(9"}y] -nuP& JC b]8@*ݶ\ d\eһA$ք ƀ>⭯ (e:V,*A; ~&&b<. AL|6f mx-fg &H_ PIl*pFX@bh~<m 6а֕4C+$pPm"ٹe RP8q$D1(w7Qr(@PmV&T `k1ݑ`Ns:Į 4 X%d"m#Zԏcl7 Ӎz,- Fz&;6"AȠ`loM07e4HM3MF.:&]iK#5 4ʅZjƅ#ue̙+cIZ$3qy)A|B@4xxx^*a2cnF ÀBL+": 0tDꦖg]w9-ԁQ$`g?96e%D;Rq &4({SU:NLDed$M"*&y|0fF2J0R!IǶ2zC:cFHH0(F0Bi"G @`̰pP1B-t$:MĹlBF)!Fr4D0ph`(5JP0FS>_x ~+@T5XƊ`ehӳ Ld)Ɓ̢IDQna,r 4FV(81(P 1 Zf"MJI%sq{K=L'xYX"dPu, ¢2"&$H3Ā]h^*ݚɅs1:;a\)dZ 5qRҐA †.fcHeUaJLPCUIa0p1Ԛ!aH%%heZ0 e Qi+h(sx))"!)$ T $@l@2 ,0Y4PhB!8Ԕ@{;F%f"L؁(5!rތmfhC=xa=^Oh|D4ɡ"Qg u9sluJˁpɨ:0 V% oK'x&fcƥ[X KPTqͨV )~cd*Yۿ\|?()&&fB(jHa/|o@8fʉ2T61G!HS(*d) ,I4PvEDVdPc lpXnC&!Bʣ`(20 5K2J7 !E3;P*O~|pJfP1s*M,ָTX$X@ y@ O>*'hMr_F{=[>JhGT|7h e`윺;Fuzrzl9, rg)=q0u9P`4)P՜1s: rx)C@d0Go M&(P/FOK@C)"O҆c9 Z1P7ɨCy(C$:%Ս<-@A!D5)&2&u ֝1 $ 5n0ӍU&-HIJ C`c6cX1 P(j(x i'8*!y%(h%)b""HI*eI@d"@ h T YS*N!s#"'!PYR>oY{ xf$B$P& ]VC@+ n5FCE4J0Rd9 N+h XM|$(7oQcᅫi{иIPb1#>PCc%P簨l#wpl!Ȁk8 "*djFT( gϿGfę?Q_[ $0آ7iϕYljUCUBgcH)mbIx'6lQ2b̌U8Q3Wca!XDEd(R /CszCyDh@C@r J)J>SPzD E,SD 0Br^yo~!CAo[7dn^Ҋ*q,r`%G5 <DJȱ T)Z{߻e3e{aqɆK9R# ] 3 5ΕrqQcp֞3qG5%s |c:a!&LECNr@31l΢>5 ZV(^쯦N.8ֻ%z5mvi5TE4e B<4ʅ1pZZ-8 p J&]N5=\MoYɬNӊhFcᤆin83 0vl]wˮ.3_xf?I=1#6'1"vwad xqH'_9&7b9,RrRɼ2y<2QiT1a5zQG G336YakSfJ*m r8#00*LD rw63.`6b7#P@ 9^F^9:8NH0{I+LD!PZ9!$ &C|uG>eYeYeYaY+;ZEQ|\9רϲe>kР2mnr߳?,*䓋!FBڸ@HHӌ_ i=@JYiQ>q#:(8 ) FL`ު J$gr|Ctm H: f 8F G8&%QU_fH^R*r$u1RB|ݴ^#'7*<7d# PX\G9 +9oU|9RDbbv yjb,bC$2!L$Qw aAmc5YV"r|bp fYD() @bdh@ B#0La4B@&C`9#24*}>8\׳:T0@|)IeigPZ8%޽e"P g*XF(~BsxK/ V_I a䆦MGmfFB}0%{ƶ(z`k1aAb.h>bU)#F)2pZ2-o6t?JP G'#%X=Z h9D0!$*|QOb#ϷH.|GVB >: 4%ٵA"13 R;G$` ===ӕ'(Ps gYx}㙙9&=y~| WHq+(yLJ|$K"!A>bO}g?4{vp4P!!D|Ͻ`@QESql6aӻcN)qd&P>1Wv!)5Fj -a$PA}"A̐{ce֥PY;p@~y ug6&66`7¾bltCU ~Gd1j{N^'×ka48dt @1Z$#Bˏ?^s C8jHH~A%8<(pEM֌4;Cz$zdb)WFXF1"z^a#*,dže#iJf $jau)2Q{+÷'Bqb8$iDMgd/zPRq{C%߿b[g,NNy^=q+4{ q5ˤ" d;UܘS>0ޒPJ@ 0V%dDJB >6- D RK!7 ! 02+0'&LB($ J̫H*L (*u""ą LU#$0K#@T Qr: oUt  99yCHqHWINP=gY(YEKg0tCtfq2F#*B)Gtl|b!vb(2r#!Iffh9PaS^Ph DT>|}B~g PBROh|~C}$AMpFG\}ZpII,ʱ$ e%,3^"R?aF;5BIM:aljVv}pdc'P1H4 fC< —p]p14{uV2 $riTfO=OI#ZV bvitj5Af(ܡŠ- 0H$021- "!(AZ$!; Wl_PFT"D030Bpu Bh"<>pd0` @EIfHjHDdAo{Ր2H`B>;$ [OwD@G2Eŋ02Oac[v/WoxbhhI`f&!*+OMk:F"ڒ'":f!xd/A]3WP 8"U~2*!!$HD&|Έw4 ̊|0Tܢ @φZz Z@B0HӘ6br.Z&@X#2!EwZhu*I@q)$Ԩy`$uU"$" !4]zd uD!ai=%q 4 @,A0WoUE `dzZhFQPL  + $LHH-!C=g~K@J̔=WDQ|"qC #6p܅34PQ;p3@7"ׂr$Bd)"Y*$ ru1;R NG1P(%"i=V'<":Q-6Dd@1{D!{b<"BR`'g ڻafL+MJjަuJNfbx eRwu> ~\ևX  a1nsa: 4s>=᝟^^}2`)sC_C!`s$!}mo|I=ػQBd FI?= ;OCPH3ѽm1IX && ғd\!&rF** f2v!zl`@A0эA(kXƱDj|;~0(7{f$H3,2L2*`PH& E]ځ‹@Ay#v73 L&0l ۩Kn`z;FsPpf@$ Msԩ-3S g+TiPJdZC;KdI(hHaDʓƟi+IU?Fh4H bi a` ;Tࣼ_rJT!`#151$3C0(E ^t̢"",  6屏CEMl&MĆCBH! M!@рrn nO?Ʃ֯^=Th7yE:F2:% 4)RcN@FHd" @1_*{Lo- b@;~r 2J2JB"0MvC*XQ)4X0ԏxw jȦf TMOAlB+QDy("h("J(j$*R!b)IA7Yɤ>H9vxApȝd1ך`&kmZMm`h;TJG_[{?h#O3Y)bs$on&0BTAaT9UAY$/|~@4 Rf@d ;'jFjBhH, C% *`B`E.Psܪ~~Cw{;Hj25 Ѭ) ֻHɥfKF9M|V"}p2eNPnXFD`c@Z")j[mmRq&+2 mUevFJX$C @= UM"%´(@B l6C5H^"GΓ3_[1$Óg9"FϞ1lZv44WIy׎>~;;*?I89CC I(Eۨ>уGÊ;/" PriEY՗,#,rV[d_ y]6;C 7e4b6D`N]t<nPp1/(Nv: g<۳?j7!1{ l o)2s b=d\|cy^yg׃fm 4T! xӨ ѝv8_IY.'d͘E+SeUFN:t4T_2kmd?X{+66V1(|6b`m-Έo?ʴ)"?5,Cm-PiH8D(d*\).I=s1Oj+nx>k8DS\q$DDTO*)j76LB1fmj~lc ,'N(>tvd~fx15 I!="xlt/„v 5௳L/rF(0bdGXv;C 80N"X]:3!$Q RRg+ߣY0NlXHHyW%3AUMp?A:I6 ٞ 5{M=QRNg^H B ]D=ZQ @J1:$5+0H?BWg/'ᒙ  %.No.8`4gnˣq9Fd "=p뜢fn )>0{USy+|ׇtyo!8>mddoI~.ߟ]l_&@=a²t#D@MI8~(r=s; d>6#3{5IlS;FˤH8HQyW vᵿz&y[fjnML`N<@PaeUPAfcD (!|7@!{,IYaFO_F8&&݁-4EbY#"#CSp!8M. vB0k /Q(T70cgDP DxO fNt.A" BC71&5M6.пBfd ncT, > @єߒ^,^IN?7yRĴtAZN? }d}->ԤʬEքa^42@褘0s{!Oph7H9ɒsІIP`A~ 6|i y50u9bu4 31E_MzY̖bS*'}")r #ϐ@W{N4A&4s S'a}bU!SRC!5Ix$d8I LGؕӁlHP ES#0U h2Mc|,Hޞ0{Ι2JfA!2OW4F[ >2UhNCxSExp0QB$ ,MPM8$A$.rt>Q䆪_]Oko>W Gր-wTD!H߆sy"Gϱoi47mQ85V/hhfI+BgF#x $ްafY4[-+uQc -\Κj/9G ioHhXF<8 *.8IDMᶌ(2*Ci`FAf&3zoF#4""i) k PȉK1(J paVt72cCTh.2j"8ORډΌi!@M#lY] ^`TKl2b]7l-i<2k~w2住,Qr T2{/}ZP*irUa{ р|2r&`0 G=pAB|F&h$H: A H9\r#1\$i]!t:N:1 \\cb0 2h" d4@(nD@Q!B6cVIlJ([I\%#Wrč?3q6h(L4V:j8:ٶمEvF8V %&[H<-@¶VZ񠁙+el:md X݅eƘH4DHRB' xhxCOPXat805Zrl<`!L`N`@k|{Q.F$GHHaf$8.ս ѬYRA2ME/UGOj b%&%߷9;o 065h(Z̰yi\(Fr@(1=e"1 ϧS AjFFc)ƐHEj %"C$\ҧ|p's( (/hO9p<0EEM01+2MBT2(ڞ$w¹fΞY;NH.I|ewA, $$$a-p^|rEBP$x|mo{I$D?qѦK֌T L2}$wiWsBq:fgd3 -ӷj,?pe3@A‚'d?þ>)@y OdDɲJ$h.P]PfhI,mEENK,VMƬ\Ɓv c#lb@c6z>7vAf$3x\@m MȆZbaUPl$WabB?a5tiiTjl+#U1T0&"VܹjL*H$!_S84b!  RviN!m: db >hҝKxt%)G!qҎ>@ `&Y$@ bP0:ήCˆFx0(>S@qکޖOOv.;RDxTHCqFw n@cI$H(a'>+1u"Vaa`"]XhQhD_0JLPE}!TRy 2 "3vDS*9WBx=t;&V""$d `kvSD1E0T#)2 5@0Jʻ7Fĝ QPD(qH5XADPBʜ<@0'3$ % (!`@ČP D L $ `$ Ew\|`J51  LǷ&0!}B, *)$)5 ( @D ¤ШAM/PVCB@hM+;\ɓ =9Htɪ I6'zaLJI@PȴP$F`2lq: 1@z`D{TzB  ='xW##PW|aAFga;2_e;_B- $6Nc|kR QQ!GHio !!BP,C,BAP:@9@@Hk)#`T4K^SI%!QXd~;(~k(w.qK`<Aǐ^a/{Ø =`!D>EȞ~cĆ2B B(_8h*CvB""v~U}h(@A@h'l b* ( "/9Hʁ,D@10̤V4 m.VM4[; cua NXB0H%JU -kƈ䶤4 +Zfm.ӓ(\ D$ m]܈PR!B_ثOe1;چɥ(,U0C$ B mE98!P0j$ʳ2!Ɯ+p aQS XrRE2D*X?4 S!wn_=?7m??#gy}w_zgŖIWo?[.}?o __m;u] m7޿?3d~#,CZw?Ϊ Y8UvV{m,iƛDimKr ㌣2ƄZ*Д!I?b1 v؆gu|iq Wv NDH8AיYe񽆊9c2<A3 LDIDD1$LLLLLLOa14D11TADDCE",2""MuӮ&sȨ"H鰒" "H&;4='noEGysT6#(+UGZMSaTLF j$8(07* GՐOT :JO\qLV3XSr膣aRSf Kou2TYQ`Z8iɭD88Ν:Z FpK6P&Ԉ.Ѐ6.,c|0_\V1Q/&`q |p*R4,3CsW_MǚhX*Tp 9/X)?J,.-`fP*hq\T}]tF<5|Sц=fx8R8Jr)/8^uχWлZHXg 5[m Is0WFc@fX()G 7/5Z~rL:<  pʱͧk^Aň 9˟ej(K .&d@2Q>9$ǘuKYY[ؒ s0ZА3HUTzd<s*D1 l($VCԉ.ݥ2H ̰z߷a~~9l@Gms}CAMM hVo\3h/t2Cj+pteao 6]oVGxyTund7[ '~Q>n0{CLWܻ? _UoHny%uN;;-?L_-ݒp>>XgS#83, <ٷәot%;]}bzBLyU+&^ѦI\AU hێY9ymg9/^ }yLw]0`Ba8ij/OME?=SJT.!][SVO] 634,/7Pl%@HS4NJ(O=9֨שf%S9 _u[$ >7L6Fi[}rVԂ7ݝN8S';A\x-nA*ءsy:Z[Ure)lXĄ㹪ġRg8˳2v65u˽4R(k9}؇Tqpasß+joo+V9'.βSpWf1"qF=[ hn;S$z ǮoL$~v_#q9G0{τhxbs8+\z w"1͙ͮeBngd+&zE^oQ5{=ݾUێܦa-^M@R}:R ]8ixj>Jx`N8['u0SK46X6t#wd:NW뮧=Nc3Ȋ-^̶I3TG\Gtg '_nǴ>?dq"9r1]dĹ\/(yy\<&B˾n7{KSÈB%"/ojchDOsuEͫ&1P BKLPm71O2O\b}dS<djTLUQa{ҮMNu\>.?9==rHlA, A=8h xˮ]I/~Ȗf*<;ķ&=xv$-rLiL} 7x0K  ]n R AXFdt- DU*݅(rсaI<k(ܠ RID= BXa,B9:w+O|{%;a/f1R ڂWG#B` ,,8T0d2Hg @ ;ZrI*5bMr_h lq rQ>@"E@AJ>- =0WU4QE*B%D=|B܅I(h>q$Gv44J-JA(ς_(xo*;9F0 e=Zz~O֔+Ucdm" O/ƏJc*iIRy3JѪ ӄ]_iH}Ժ>%"/aaLZ_YBާ>$4OHe1@SGrC]oB! Z(҆F T n:bE#&DIipc ƦZ[lKH ve8҅æ;pÖ7. B6!%Kq#%d<6f-j" HgHT[1#\4RƫGl@laB)tf,d0͚8IkU!&3nNbtvԵ )r+'LqLz!p Ȁ:i#\C&0<0 {AՄ$c201HatTR r Ѿ!f|*nsoejhPDTвݟϙ_\ΘKk{J7 2h&0[Cm 9W4p !rFCb\zG~L6pBB 'ap <b -C.KMy`ibfB x^̧$8&'Zd cS'faElwqDA'1G0^4AnנL%~>f8@DAf9oxdna 8]@hD3W,eS!H qaI%!0@ B|) O+,[P\:YC>d컀_8vMABB BrJA]f3.aZ#RKac}8/F -E11%Zv5kc)>=>xkKn:P쐂@B`"8d9Oa'ckAyΤ-Yk(b9Rͩx ~`~ ":cn@a|yuijȓv ;=>"z8% s]uZn/! jefI/GCJ)o AJrroͶ490g:F!Hk⪨m1PTnhepORdD 6d.Ȇ(Ș ZHdQu"Z,{f)r@,̓ z;DLm~3v=ZG. `sM42<IO z-ʧ _V&Ed쨏;h \zK oi$ߦ]Oʠm#ֈ,z kJQ$'>mpǫh8mv67R 9$==GcԴ o06h9rqQJ&ȦFҿj &e;샨 N`lf@d=ȹCj|}x C_qGlzB*#S&C%"&I9:eV,ѥ`g=/ݵ/:"*2(q"Nx`wq5 8Dқ7 lV4SE ?A"HzKb(>c?h{MlSD ы)Y9[`䁙ax!I2(B(Er`8Pb+@H@f+B\Ël %܇DT쒒`$SI'`:;Li {!_5Oڇ*EO{Y琎%_S!fP)F]z6 NKHOl9>.&BN@!y "xqnY7Y`"D{rHnԁ])7!-tqnL$Z#F@D@Q٬)DrF|6Iy\\Vv=|O3 zhiqhx_e?/׌A>yTآg^|\9~SM>C6nfK:/?@H"!& &M LFAT7{?+%Tģ> Z !*dE#!UN eE+|fj 9TD{J &,:m%I!bfBSH?6 y8i5 /mf 4vy0%uˀJi9ffm@Fjϖ6=kDs553Zw73Y-1*̖qxMw24Dgz6CJAHACZbͰXRG#)*㌿}W ֥N`v)A2|iSptS܁蚎;`ÎYh9@Pr3&b0ݰa:i1tJND8pO4ӸByABHк̷ȨG"avQyPH`Ddr[J("5tb5iN3WYHH$Mr٭yeĈdp 1a00%B d uY 踢͸<7 @8 ;9}T i&c('E6"78+HM7X=BfINNtLѣ Z.0kF(v(p;nu%VSKD# F{]nӸSt<2lP䁼YvZB~>1ȵf yIxs 5 i`Aݙf2m%9ncQtIX$BV!@aVQ24_Øo)t0)qӖ|ZeuTEcRP}ш8ƴ/bwa/tn2nep͡EgxD9(xgY^ka5G22Ѵk:*ڷz) 9qBa6ɒo^ i=I®ӎ EN8ƒ4q2G!et'6&7bXvIi˝SuaVxn8nQXpYq je6H24l+`XU96αrmK0Ɲp3N/{~27-Afnˣ͂;p`j mi wpR̉Ya xdE Ucplv{-:;e UtL0FjK%7=piTsK_0.1n.(qؾ]l$0֥Y+⫞=g>}1"0RqfO uE+Z[ck϶NHE>2TbL.ZwkD'Hdԉb8v|8M;SC@i.9]B.VpXF@5&ّ%qC9WF+/*jdHR*I95!bjXaH68m'67M0-.89oS0@36[@$y\9Íjx1Xy@W;Dȸ10&&PŶ]JQ1V=\ ;_nݲuX)8q\&fK,ї8ˀSCG7ӿ8sءqPƁ7W5}Ɯi0 n5iLK  йb=;r JODAHTpݒ$lL&;r3ktD ܘ1εxx2 #J`LJ[\Q#ы]F3EQد3 O}S4*jh_jJA<8<;Lݦ h0#/,絸-.pgYuFUGjLDTte40'r؉+WF?ȗ(gdd](#73q&!R;4N$Xw46$.Ɉ7G"1k8w{jkǵ۝ŵ< &5jIO Gz> >iqg;yԉ)(crLΜ3QJ=:6f 3;`b!$g9ih5{2Mkje.1/9)aę#" 5 TBz) Co ME,/ jMp\]:MBtbGqqJpt[F-`в1)sĽm~Q"8i0J"`dͶ +n'󎤮I֫9.DUUHINǐ;wWOŴͦi&mvhjxABa+"tcg/&ԄP|Yrd;*Gx&qW-qlf M-omIRpląG (rt&FC2SY hv3#[}X(19/ f kQJ,-ፘ46ˏIYf3e|ċ)aw;ga7sm=)F00Kn`gCis W`t6y[wNکO3ޙC aoJv")-DMN NٸdDM".uZOx'У3`*/h2L+jcre"Pgp&rՠC'";ڕ~/ňQ g(wK01 ĥβ*'^SUJ#HwrXmN܎7x}d3̊" rC$mH$PDE5 vlpmpbN+*H<ˡL|&!ri2<4DBtG%}QOcbŹ@\QԆ6!ȲpypUU^óZ:!:6`u@ G$&'jvP<8I#|4op%%~Eh]P}oesdqHܑ/`pB 1*h U `=X ңA`z }A0@.:#ss_722#Eтt mzMg :N:hr# qRVB"\, ;4 +J$c֑'p;Q_e;@&70!W;=Ao؄_e 3$6mڟIɷ|PL`c/(_B{S#=w/H $ 9{=V[EU ZhF@44(+=ϫ42uÈOk&XU?E ~c0.uxH)jB , I,LHԇ>߽Sq`=x" (VPgm?Z@ybxE!S$D>yu$!*"S 2q"8, eQ%*%`IuQDR0s5$@v5aayzT&  4a3mo 8K)M$:H_THO7X-faEpD6kz)06i,UUZ3#u9.#B1R.vN[#QԚ& H(PdDdj4᪮j&t,c#ӲvnD$#+G2F<`O0%:a+QZ`F]7'`mKУHRȈɫJ Lh#n,ercdPLnP\£c!0B DQ@e$aUQn mݡxM֐q819OӹN:OʉIA4.0@D$(rdS\a4&C!'xaJ"=,vqSTʴBfkPMz4>d:S6 H$@ pEW%ۣ9Q*}{; ?n @آŠ4EQDET QQMPQuIA( 霖U fҢo^y'YXPDfhnmULLRpzޅx`DwuA4I'1pl{XQF$&R-[ q;̸I2]A1t783p#Dκ`ClBlQAiƵҜ $S*u(KR @B#LM8XrHH`Kq Q &ACƠI#)h{ $!ZHL0( 47#ǽDTDi  &ڊ jmD,&)щOd1R1ع(T`!&32( Rc2.ƌ K&MJc.clPdA)\ qFPhΊa%vIKt1D L@7̋*.Ldd{ kxica$2@T}r}v.'%^##?݀ Rj TW$@L HAQ*0+֫@(" %5r-th;-CL-`FU=sD*>ٸ)(L hppG41ǃcF5B(2Zg(M*(Ӛ5J_i? vMS44Rx<C)$2D4>>/Т& %Py27({:XBS::DdD@pAoMȫRQH L-LED'Bs 8xڗŐ tm|e0 S|v˜Xc[HYJ[dcaQhXɢP .\ !_?!`KI#=ii/Z송30Q"1 K:9F&5jۍ!CVdQȡNno3h #z'"$GAUc9?R*{@>BJ:;*/#>XH|]p*`aiP`& t"!YHD\r#qhLF4=d}FHhKL*oeU[%% ru`>)%Iz?s&e D !` "&J[zf)3U&E\zg4%oU.-E{d$} } v+I)&$HF<(_P}CnbJR?hCMh/bV=A(6ZpJ5sa ę%0# x=G8B \WC!J"'F 9&Qú J&Y^o摁~!,$VOl}-B9rִa3yq$|G`<9`xhw))}o!(!`/aJ@s?9R`0aLAKH,ZcM$ƋK$+0d )FCx267fy3%(0D&$\@ hl@ҐNOWG͛2ݮ-Y(C ˊO42ANΥH ZP|P]Kh 6bi}D@AEL@|z}H;Q4#ZApXϳDe+Ӗ1Pcl0G#.' ~\8NN:s@c Taį`u;M.h! ( " &f p {aUF`z(jgKzv) >AR}R vnf"d$*i05NzU<+ @P nőp98iTn;F9)\CVqYQCTJac0b'DS SHS)h* )&*+J74w ȥh r$3c%'DvzHM\{5%`#aLGCx‡SAQ2茐jt&&eHDEazh4Q8DY}VkyT|f(FV"_,`J @Xk%BHFiГAE=ކDa (H!"JeQPcman0,T $7n ޴f萤 RU",,Qyw4bQ5(5ꭀ;f.](6Mɼrexχr 4 WPLA φW6#Fpt#w=($x`JEz# nGIMUSQ8I`|l E4UUUU鋀I„~َ)tI)3I$@SH\zEcqh:UpjHRA' KϲR #.eSvhix)^az ^_ස>8m!9^Ru-8{Fp6F5ް0%x1 ҴPȲLtowWV0XC{ YTNZe2[-)?F78u. BT4:ڏbM'D5 ْ <jrpXJsfRc8Rsd>W_2v^ bJ<_ C߫z(k aN,bcHɟ5I;һ!thA5w1$f(4VA{ِ|f_1g\Λ.LO*by 0qNo~@Vэ!486yjAO>ψS A&IaDq`a̻c߸5A"~b^"{#%ᩆ!@YiO׈r7 x BQIyyG[㎯i Uyp(D ps1HFeb"`I=a'ח |=@-=Nj8{_IHI^1 S'$((& EG=nx;P%h*@ie& c*B!HZP&"FRb&RUX*P#0:}B34=N)(Xhd $DҔA-R=s'YG_l1UXUg,[0c%f63N }`S)KL #k / PV))D%ZB&&JE7-!Dޛ%IF HhX j B rL1L<_SqPH-( T(dBnfy4QR((B `)F$XG @Y3071IkFa6L3~fnP>TҬ'^ӤPNzt$ N!|'$wڊlJPOj|qgK%!`"`Є@  r,n%pv` fL"Z`}w|1Qa2ƏSɦ336k , )` )0N½OxOH uBB~'pjMEDDTH;vOpA6wm\5FF@@wl75dTh-`G!8 Pqh82I&Fb=2P 0',!%-}mp!f/eUe5˃h}jELj2v|UpKԤm_[g}}>z^sʡ 8lzk= |>_@g4N}_#*%<'|w[m}zowv%O)!}\B^ywso,ujww{QP{G}/w74w-7ӻ}{-%(zyw7{L_vyι7f:[zS5$C=Ԯ}nuz⦳uwۻt="(ϷfE3ҽWKݹEMT6T"le思{>h)J ݎ)).u(ZPPl]wKosYH ǯV*TZ$WoT˾:K֚_x)=&tryvGMUɯ[*e=}¨vz}@;v{H yڭ pp-=WE4Az^{{uO;qݽ:9)۬<==1_A {{sw|W}zĠswT۽{#k2U&ݴiRo`*Q-Z)o-[^`Jzev[WUoݴf ^H!/OyåEuȢ;P[}Bsw{`j"fʛ Z[`'Gwҭwq@-j{D돾|vfrc7e|B2 mBo@';s-}4u糧wo]EٯjڡA/.a6UFZ*S=7wT׉듯oy[jwW{$4MZ{nn;+S[(,:{onw} x/99:kPi҂޹Sbf1kܷl㽯t]ރȎlס};ew*rWFo{}qXlyc NGD}wTГ{qPyyj('ם0';}xǶ.f;*+}:=sݦrA%OXϛo[Z]pԸ@QidmP cͪAikBk(SlֲiXuܶ--g-@kr4.ܻW\taww)ݍt{YVQ&OU4Ƽxm [ILhojwA{4 (^w軭8 LR}Q]r놀mg-_}μSwk0=jm ٠TQwhmv:oLPzu7kss]_*]j7{p^>Tދ}DP1}zєiΜXawg}No2uzz} Mh OJxІLMO!4F@ M=@izfHPJhB@h*xS4zeMLz=Fi   @4m)5<~OMOLSz=S&jHIЀ!0jii=OI~g=LMhXɋ'y-^sYJqjs|oU=S/0zڍkN)Y402?$1~"AN h 1-2BҊ)f]**A焈BB%EtRP@ DH MhKV%DbH ! * .y$.(a^BA@L "`E{Xn(*y @ECMIĉUT ! B TP{bF$$d|S$`@J S@zJ J((DHw\v>"yB*~ bbe(04kẒB>у IjLƾOnnա? abrylۻDRh0TCIXSoLJICp>%N/LsuRKܻQ4et獶wY;eJ[o]dm4gk!?ψԉѥ \9TSϤev+S,mXv26UHVx9stn4d _Hkg)Y1KVj) $ ϗa)cF1O ,jOtҲ˙$I$vt9گT`7@M>hBĬAo  $CY?ij+Y3VsN)LTU CMEljH&b"B!{pqPJ%ne$ ^U4yF`\A&>X̓ ,C!E @Iؾxm+g82NV4%Wρ2ب„@?\fSeڵbv![ZiSP,$yYzR$~U]z$#b*Uh.ezSz.::NB!$@]D;~U+ H m"4[Pm:h=%2ou!}9Jp d4qi?ul"9s)HYhVR4뭲V:B5]_g8׾yp*M |=VVG< *N2%օL?Ɗhj 6նƽs|z3OS?/kT˦!ׯrFKy oU__4(r~S3湍ɬ,1ḇȱI&0cء:3ejVW)64NқY B! {Lvu昒%*b DE4DHMX4z 2|A7x M0ٮ9jfͿ`aã-5jc_+ɭY WWFH<$H/ˢ#_M'}ˍ}c'`ef =ɥG!XyǑfuN?'Y=V9 q6F8Mۯpf;!зO(.v鲒HwCIT;lʎQE#AMÉn1-3r(#꒨^Aݻyik!vCh6q[ĢMǿAk8?oڌRbekHjI.2聧Y;>u\f!!n]#HAY4dk ;E 3υE[hEۛFՌ^&Ȁ 168PUܰ e 0 !_)!mKF핟 AkC bk~f̚{DcwlIf,%"l1A - &11Pe,ƛ:k[zM`cQdwքs``XCKq-h(i;9r%SMݼvNAAI)w4ᜍZF, 5XI݃AloE4EAPmf1T4lF3Kf"Z1kFff4=d[<츩!F\ *6y±Z<Q!Mݨ)c5T3EU) 2?Bbm4H,>Xڮ5"6aq!iRU0dpKu1ǚ^qd*ԞAF)i쓿K2yB]$$5 `Dk$e.70L[z f4h@O#U̐L9+Uaج~s;w}&yQ @ (jE~C!q콮J8;`{ fZ޶J'|.\SB%FžٵyǓ. 110Rm d2}* ~v_߂bc\ iP*T=a꿻cvٚ?\8 6gB't+qTzr<`$MyXFh5KiOӾS%#j.bȺjn ⵕqojW)0U*늬c5L\fzIS7s?nUe ," 9#4DVYJ`a]o.'[YKht^+wq$.]Jrupn[4:.x?nW7NJn:I&I$cKIͶnrY*=C0|hfPhk[dzm5!V" {+c)RkWai l=$o^Z*y*XħdZ;M؝]TT13ro!0"@p/ qTU9t;54GɔݪXYCQmcwtwZxpň U29LWso fh656 & ~.-|9lg:4ld(C3{ՠ6?d֢ZJш@+ 6oޣI!gwi=gE]%FVU5˾b֤$i7&#:~* deQHc 9>GMDKL/r偶(8OJٍBMv5>𝧵C+Mu!:!/2*h^6hZ'(3 Y~n! ڼCE>MΑ5>=Ө$[n:=Wmld+bܜ = L9;: Nݛ-gvecx7mQyob:QO&̭%CdVCqcJZC\d DLn7`<Rmցʹ^7&ZW, Y2u>ZtTʕ7ys}|62cv `Gkv2Htagǿk)8Ү>dVpa?y)Qy #F=KpLEHa2Û7#f5!D8{k4"n-ܙB)FjYmŚћۃfLcW-D(T65\1шæccld;f>SñꦷS'UܵS 4;Dau.ّՊS' B&PnC /dF6B̉v}pLUE54q/hM O |^7R;RaP1J4\ʱ3 PIíy4ƞfۦ&>>FàѴPa! tƘ㤒۽}C8BPl4{NI`̧ (?.!}m3Aq mtl4BuQ4Jʙ]:tF #d/xQR2!&?F6 1)t-)PCuChTCXW 84=fbJJN^1xNaG04d U;rHNZ鲔'"JGU  qԞ6!3to C\e޵ܐ;!w3>;CTrm6JmBĂGzwrwIy TDzUO+p=U_ \EUwROʥRAE} !YpI\b`_ݠH6~V3U%{fNKb"(}iD鵹!I!Qb4"Hs͍i[idv0‡N8R5o9v0WN9pTk[HT9טt퐘 4IO/0E z8œI2Fp9 /%`bAuFwy3Z98t,aYCewBn:#$Tu*Qc'5'7xFYF1ۓoMkga K7R x7G%0$x9sƎ4pV_l:TЊd?i;Mc2PΪE xU OR5K|USqPkt$I qjGk迅 #ΜsU!EaֆiC7:p (=(ƿ˷{㢓>ܒuyQnN=/&+LJdy {Zl|1z*wt?QN4~pLgZI)7"k^`;L3EER?f'6}wuzhx53E+,8FnTS{_ F1f㱅dx7?7םkZb">Vŏkc>VA2Zњ1u|Ur0mnIAt"ƶ;Em7.?:?OTL3_ixu7:csi=<:;Rpʔ*N&L2RGd4|ȈtHTTga۟0jv}zywЉ۳G ~zj6~R7Bߠ`HijqPbQ#W5-psDǽ(gI2C :ESu s;x'W>p!kͣDP #oN!2dtG6i@U+ ]qwbMNi]88A OH !Rvlv(݋r%=kugsOS*<4 M*QI")4/*p1̛z<dp-I\UT"@%e 4.ݦQi,,iD+pϿ~:@4AvrSHDƂ63(hᱧI0#慨'&qKNiykabt2Zx' 4EgE8L ᪂x@!|A )mAѢkT)I15FAgh( b}IRh#ExطTM ŏ{q`oLYxj% 鍚ְ^V148 e8I&N6@6#H4m{3#vVGZu:d lbm,iJkk2]-+&*F3g^l=vn;b.EBA l"}9&P~ ~ NQxz||jaTWrQ'Yl d*Yj60dou# 9{&0_n]/ޝ(e/$M1i&\t?~%L\~G(o!hV/ *]a A w6]2˜k{[ɪf2LCE=J5;f.w/Z7qu㈪_٭QCm}}cvo$_mڠ`׈'bYAžQ yEj^mO>;hln8v> {s_c~V=݇GE \>lE_T"wzNI)AC eCH7i\.ek.{:GG f.N 0B~AzQ'%C^(D P\ݠ&KpV -כ9Uf-N獃-vrze 0āl& B˓NVRGI8api@|Q 2pw3{LaYCUY9m`O:߇(a(hs0;;J(쥙 &Ƚ8hEi¼q!&EHQ_b;欜D g Ɣs^yf<-Czf;͖'ɫ٬ʨX_;;I6zp[ϫ29Lt$@q5,ja}vd̡q_ L_(ND"jFI e:Eq9c{vi|c0g֙>>*Ly/5vGE)SWXc3lhj+=y15n;A>'Qx-fzf ,TSWg|C"@&b*! C7.  MNsX$(VԡV&_D"we >-D$h JjM%@4/ڗuWj |C\oYuL7Rċ}s@F>sH &WaQW}ptԫ3#;A+ FΚRtsh-!&nՋ't89D\JE#<&r0>wyLHh  $}^_/ xDA~!=Ү=ږAh: M~G4p̈́l&@/M?# )J;oF.nl녊]_'LPAGbg2y<Ӵz-_ d#S('=/ao9Ia{WfwxvEkxA6]זWKQ3ȸrfcGإ|g>]]M2(Ptc4WCB|(^WI㎾3-]wﷄe|EOpH# ~VtLXmCiHr#oM),'M(E!pgN;# ="ꭄ R'G^_c Ŝ;%)tJˬDnȎe 5s?41-bvWccg d3Zp/>lEavQs%9LW^0aR!{҅.w 3ۏ?~վDh&Te3΃?[8[PFbD9{> 7B~\8Qs4{j{iUmI;JǂvޱoϝbryPTRcyO=~$s#owsh!_O41BU5)aVHAO1uدhɽA)&PηzۙTeIQw1ߕ${{1*5]6p& @!pcT$5JP#Ǟ)mB1I@ND><}==V}XuM3Ɉ ve478фܮPOI苤C?5)|_ٖ[շLLЫzꯌ!\eg=һtkD8*fF9FUƳSH[ݫv2ܰ)kڗC&&修n(?N t2qziPk4Whk~yzgp. (Z&D!БlL$T7}/3 cw_C &+]&q fn(]gQ b vuM# UԢzahXgfPoXBQq E(T'|s~k$8+BO<oW7.Zwb&yS=s_ i(3 TJURl-?g5UQR@mP) Jt8!`*f!b'R4zc3PlDjgM.$*/%9 IXj>ӱSIE!CM"12w%4 UQ̡BL2READU)3@v E+\oAԙ1s}4m+KEo1EDҩ_zF~4?ް<.zr~;')婷8bWomZ?pGuNjuƈ0 _)нj+'Dn"o_R9f; M1#/R4mھ=g,o׉6bbmnFNاt Fԭolij(-GĵQ(vyhv??c1C37 C|6t⎐:@ A4` ?T￟ے5BF*`ߍ @R%/L:hH 32c"v19?p3FEU†3ˆyxH>71`̥#S3w.V&NBI} 72,kKeU5P"(4F{**ǶrBV#iܝjxI"!:@=^ \Qݪ*;DPUWhZ"(*IE{ mJZVH "'#(9{͵(lOH Gד~F) m)q[f*ΰt&\PH q~;rDm1TWI-5ͿWcp s9ٲj i<5S\~=M`7CDM׳:iCP@Rжc 9*v wC:]!R?>Yzl@WLGj[d*SKK#=ADv/O ;*vDE5K rhhDSTb=Oe r|6BiQF1άm?pbcMn)YF.Ǻ.&:kwf/ *%J#0G BDHJ$ D̢@$!#B)J*$q2$B*4HD"PuB'~Q0C4I3"k8 |?ˋD0MY%HQgvhI?DBWiV%kv@J+x~2Xyfkbj,H/tC8/.`X™5y@2ly ֆ !˹3/5H~?G3oj߻Q]rj[Up5KdU5GY$Vt-PÙ;)gZFnȜ*xI2Hlݿùvw")1f-+2Xy^޴T:mk :f`F2 t TR Tr.V[Bm1&H~WפE g ϑ]5Wz^H5.VPc}>6n-Kv8LCe |!%Ta=]-S͎ٺ h8*B؍^Chc:W=/9KYV־rݡ(9Kwbc *3pNFNe' *߂7`nTmc 43WF|Z<~9jUWpt!uUq;9+A HC:1nͰ)it?r4T]q!9d@pxju=n۵@ D 4!ރt鱒a!h1 Jj0uUQ2;$AZU ,ic$c͏~̞M;òb{]=G6oQ)/OJ"& G(%7"Vd1(|}#%L æ)2+Vt'7:c]v D(D 2"P@acH(I.SA5kjޏ}zy 8Y1י* v@Pxd;6l:Xjc1Lc2V}UX@?ALm)4".Kb~XI EB$ )VZ_8|[]vaOpJyO ̓IH:Glc_Ԙ0sYW\3t߻tϹՏG菮*E>WFxF:\'#,#1tq*%A*yNG"GA>q+4bVSb qe%"Hҭ$4#$;s8顭UUUP2dPw 쥫 0!*q@0 lSNr@<$ ]}6OU" H23 IwwEW:#F#5EȇNA(RPO2eWL(uw}a{>Y>aBPhV9gu@g'ɷ~LlA+=7E(}!/na!H8A&{'FHbbFdЉʝ q`i"Q@Ml2jqU(rV~! "l1&HLo Zmõ=m|eu[#Ҋ "aLuكeCH"HY6+7qI:HA (I9 ^.ySS?eve/bMM7.$D7㟟Ojj|' Hdt|z,&9\ub6p #`P|ϐ>uv] u;8 q$qsw]b]C%;] :.^i>XAJF~=cyC]# Ɍ BI^TgMQw$$<]{m|Q!=_7ĵ^ >H|R&4ኟl.$#H@a0 _P?ky. y  B%##J $0V$_kY*_p!QB$Y͇ [-WÐ!gzL'Jžk9$vA"|$4ƲA9?R5>sh4@ 6ycݜa.h5{~DS&Ďïﳖ]ԏFnzc;|}=<y{5N<丄1Nx'sD4u TX;Tژ$Jv!7Dž7 _F FSS.vځ1C')8^h t=as@%/Q~}i2aڝFeV0{ eH%@*(3uDfeW4{&vq5tvkdM B@}b qibCAiOg:霗On즋 nSK3A9 bexbkt//=2IӰa-hy@a)%-A{SRZE<{$']'_DI MBld=|M m$1-eȇ2 0/=Ĉ[XXb21q tɅn JGGZ\aN1LJ901ջnW㭋DE; 8MFvJT\7[ymPLA m tjdn>;!h/yuc:dc.N*zNò>{# M9>qo{3Yp4=ׇ0`#jiȑ0M+| `q׋3GTGƼ])h Q(B ϝcav68'|b (>0S0&lR9 wY`K)Vl%n gvvjy<|7KyP1&/>Q=,DD}$ 0CBe-@v8ܠH4ZlC(,i<1 ?@҉ED,di"O_Bۧo^ޡã(nHgEqϸ|1#4>'jGWȽqʩƔ|}{Wѫ>v3YX,s U*GV{6l݆cV+}Z@փz|vvhN CQ8<=ysOWT~wOۛÆ- `QE%@?=G>#X1c83]i?7eA!mVTw z|G`" {Faz&b2DLW-U1ns 17\5=f+<1nA:ӆBw/O >N¬ zʠˣ'#13W': \&h 1B | ( |.o7rZE'8U) Q|_ӛoc'C*D 6cO|+ 4RLI_n+C,t*?z[P56> aK#;6X;&)2z5D&26X.{. tfm 6fxo 儬3$yhQ+w? n V:V6EPpڠhօ(AIٿMzc%˃Z~,%Rf($ _lyWt\D5~1MS}gP㝆x& E' ?ppg L,_^&@?4~|R=ZL4u@: E EOģPr5TQ4T\FESv !1"~q!nqq(qFGi!~2`BCVVX %x{` g&{L!s~+|h? e\vSTi51l.h{2a`B]ڳzS'z+I ?Y[UK1P )WW'Y(pՆ/u"|:U0G2GCHz4heD}đ}xS8Ȫs˧JjY^*oS @+A ThJRqN9̮>( 4A3BR+@P+0$tZj(gwY&e)$S*Sr-4d5#8߃OѻpѮhťTnt|vK7M͸ZM&ڼ}$|%R4Jh2pwF mPAiZUXSb AAHh}vE ?d[pAGJT3gF,E(U"Sq6RcY"*F h"!D,Rܺ zÒ0wZ)aWDQ 2dm", 1%+JadfcǸa~e 2?ID.2Cđib"M0>UD*m,We?$Wp8mˆH;CJ&Qebb)Ad#BEҧ# gsbFDMrsJ#; %Q5䰒'=.dLL HXAeUZ_ 95r:BP/ldd1 zN5HYPdleUj1 `*xψ ȗ^8Duۖ1ucǔwp@6*o<'xN0{#g7ۨפ?!]~aRdJ3iM!i1DFa[m4_`bEjmB=[un;`sB\TߐJ1p4E0!F47@SYT~YL qO!zՁ:RD \* ==&{J;gwɻ'g:X}CPDiJp9 yB*DZ^p8vN 0bZA*'}[\ Tki@!jt&E+E@jWA=IJO} ӎq;~͂rwZG/ȾxmI8Bxgvj1]80Me6;P&R!Jm9tQbT(NL:{Wq0n)pzSLhsI Lz}דKQ Qrr;/;SiZ`Λ<ތXeU0~M)YaQ>f͝W $9f{F4\n~t*LɣZЁ"B,ǪZ5+c|NW<S3 A b vt !8|W@7ԣ4@s7:b%bXLش]hЌH*bFk UT 9I~czH!Y1_IoZ !uT@ ]>(P.KCvMp}Gd&Q捑z5P^L>: 5IcrBcQs`lX¦7@AC,'eU8@ ]U`4ō#Jٮ9i'MJnb ]79{_lOϩlv"+]R*hF+!Pji q[gOy%.9& 颈}fÍvԩʃl|wJzpu(CTMh@k ҆unö eǙb{4=AJRz xFS(Ӊ~ Hd,ͰP >yNp:ߣ9!5߼j}+{8ȈfOt`a ؇e2Umjݕ I+ !gY-9%1N[UjQ5x. 7D=o]䷖1'xv:+j +6Vc}rڸ0JKѦ׎lVPr^O\,.Q ۶P+8niJBP:wNî'AX 2ǾT!Yk_[Mߟ]$7es2f.5k<1fr\m9c[1u[5kIxa+8YJbNPltH˴;uV! ,H*dLฌ'J46Ǟ9/V$3s~x!,20РR LĄ"('5BT2 2% !3 E1D2BS@D * ZHԅTTPZ0č#@DEEPCBAI1"%RJ4U #24EM* JAH)hSjKsryݣpy[&?͓MYMň6Jij(CG ]{4B-Ue7y/vM(hlH[hFE0ri1: 44kL8 xmPP2\{2T~jNx4FHVF=JûͰ14@ؗ}D#{YfBo%:-@>a'M%ET0;PdDw-ҿËgM[?9$Ɋv$u?R4;Fj }ۅR !L22yc5G-Mʾgik]D9[(P_4zϛR}V&Cc:sp=$Y&ֈ-6lXQt%:rp("  dv1t۳wiTMJ`-[ux9@5`6Emp5!_`+cF\uF1B7e \wcę L·BP ]Bm=Ӷ\}Nx&..GKl{i9H\pr@DzK*xQ~YnJ1_գNzI8by>)H9ې17W $wM>wo~qMhSڟz^='tƛK}onyJguHXJj3ӉC7YMn<`f_*"R1%YB2\O̡OVFEHM*8]ca.L ȇ"<0/^z;͝-q^Ƞ؆r+kل}l CНa|^GN_-K36_LL3trUCjzJ3*e ݟUm@/< SIyk\+Ѿ+_~Bp j*HCо3; uZ{v*Jn*0΁Ć>xԟ ;rhqSMB9 H{ZuTJU;4\s7F,|3x4$ 2r 2aV6|`}T~&.\~\$hjg!|6A (3*QVDZ&:|MVܬP>RQkŏ_2AڄO|j%hf3!+73jqF\P‘`gG C+Cbr7n.))x%lcm_]V;NnIѶۆƒ(ӽ)۫~'۵.۫zSKUxNcqgRlaI%>nnhLڡ3=sI_ݾXwݫKFG_)< 4{udd;Q+= H`r3FW"̊TbE@v%_Ah:`NݕS{jK"çL~l)OB@k$"qut'/Il6s{ЛZ$u9FGᓛvXc}u"U!x}zeQ;t?N}1op7vCE닺?uY,sS$!05wתs,5wL8ܕ]ie!Q,p`Q}_a7?ZZaD;ҍUECQ4`xr ϓ]+~&rK'Qin(I<8?\`V𴚍&jp wl9csiV=9ʫV}\̊~xC5giB!hGfax, )ꇜwa@2j#]Q46"?tۥG]a*Aֱ ?&}$#>wˆ -! oG;[F$ńC{7LL!6L$!b-n?!]h?cDI(#/hz;ʔq4c<@,ڋ$:FzXnY6߁ hGNTkE J HMcD!@+T9iRA`DC.(#AFwU 7+ph a#hMqƗYD"{s y,0-4ءߧՓӾ}Mr$ԼЂ#E؉&A(kbafaYrŜ̹ 0֝?7_`\-5[k~ #.FھmuVlqau#뵷hNl8~}7 *D|Q2DhQzAE_#_-kj .5C\9"f`]xY`7!I?r/@tt^R.#+uq9O"ofm8񜧩rAB"HEvˏ%p=/ĉƿW P#T~5E=^WST$-=(7ߟO/U`#eT}~cۭri{?φ]k SX1LIЮ Stp| "bR޹]c+du xz1(\|4FߪJvGW_a"h;;gmc ̐q˄$釀$$b®ѡQHX(?0`b|jpYG'*5t w5bҦ4EB,0{<6}0EWW!{_wLg9n|Il˫n#jF<,lf^PѬtv] մz:٢ #@dj>?dtvFmk}7JѸHTxdCU]RF5jjae!nX\ؖ'2m|A]kV5ꅶD0j.蕩>K/WOq:1 oY1 ft~R h|}/>b8{H RǁչoQw7!K4wGv/N5%Xz >LӎzV!Amu}n ͝# rL%.՝o}P$`P1vH,_1F rߣ6utI0%m!jM $&̂7)`L32d̳uVdkIHϔ2߅nrАkNn-6j.r{~VM׻oM+5E7x09!HZrd=e(!㡖ɳoxZo@ZaBjlM gp1%]aLIRp!uRЂpk\ۭ6W!E_؅!SN]ܷz W k Q\vA~6RO l\[a%!22f=kd87Ng@S)n]6qd>hNQb# wE`-WVsL MLc^֨#(RD}m-g"bMӬXqY^ d?;ތF zsxxIwJ5ݖ`Lɂ_p|0tKza$lkYzm7wY3Fy\ :C=f ˧O!N^%VdiU8Y(B4Q]-'I4TDTP_ߪvn/doveFo̗uTh`Q =Z M(nn\NZv|jޜtO!͍#`|&$J>N?! F rh|k>8 S?;ϳz,C8[Fd[#Z29 )ռ ?мHaH1;~)Z6nzC^;dOoW12-zsN @}ӗ3nYUxY <|ӎ|IBđX[sRʄvCtֽ`tzpTU%@Jk/>,6HY\x?}V&l6!!f ?a2"ۭ: ϮmZ̪01G*1UC9&5F"c?6,rų1 jz=m2RImw1)%9 kQ:bˈǖnD9v{pAnl۪7t:MudwǑ|-WFlir!h@ 7Ei\k2h\&"0m dd#] f Yo+1j2vSxy)s[}(|OƄ7$fw~8hOfM3/􂂹-9!>gg\K+z,cY[nRX m$(/x54_>Wv Y FeeUB Z_?7<{+5"׽s2B!(N=_T.՘3M o`0D5UUV(ao7aK,*IA8{HMtӪ%R&q4tUT_{ `#֘(1ڊnn4(Fqp -z|.vG8zXVf)\"J!>wvQ @vc&z h`$H#jǐ^N)PxԼJH@ .x` !bF鉓簜Gk7 1$ %Ye(]ˮk3@#(⸭ >e ˦ע IڤY-:\8 <@쥓~#Kl|۪ݾ%xE($niWy:s% _drEhfE VJ3u~k3X՘0NဝiD KOso~Ro휟RH]u)d60V6aoQ@@8gl~^S''$c'`jӉ} 6 hr08HjY4_ D  ^gix49!NZڢ4E i_l{MDCDG;;d]tGZ15FK˭DzCUUɫA飰+Zרa\w"֐2 ]~wxL{/Y-rt4y/r?D|ΟRgQ4cܒF w$I$"umoa%v9ʪciU_lj~Ilmcɋ䩦+ zyC;*񞣎p/cR;f*2޵UC8VIZʶlBޫll) Kf Xc1[ũefദdq鼝pJ^UGR8-۽;v6nU]nS2Y5 ":mN1g =2ֹ1FA2i^dr*#a-d(aq㙳18vkg"(gch Nza3,) mj2P$g #5Bl}3MIm[=nr0,JV; 9~(XqrJ%[-PNt^0"T;E|d m9WY=笹rw׳L/-z/1틜t6=s=X$z X"U1Eȕb iubF'E =D!zJ<;a;r{Tw^7l־n߁O&rp 4tR(֨Wꀿ`95ܭZYt$e_v99h\mj{BeTϱ~ƭc#1ml>.;+edWᫍk_3zz γw#v Txu":?#-9q4\2ts]] z5/C~$]sy|OLU ϝI sQSDr a:kPov4஋{)5,ۏ3G!C&=aL%F+2ŶZJ5ARkUׯXj޳=xŞwLJ۬BL@Ү^'xxae-o59W`yD e\P_U_M4v|{uw@xKg*N/q7茲82:1u˰h}T"HTLK!M7@u!Ц!"Ëxa4o$B3ɣ1772E #5sۓƄBX#5+gH bVs& nB*փbwrެyeXt+|胳\yʹDFpKG84rgtIK {Z%PGVZ'sρ Bg}{3EwˉsQuN o%h~^IN9( ~lOk/cG_ dx!0H1(-6Wuqs4y%՜urݭKEYt&ȵH?IR2@Xj}3^g=ݙN&j-f*n57}oӱg`jb'G,pP!*;O%!n'g|??|4HRU2  zlIzqr7L|, #le6+ aU-V;՞P]zToy W^ס ʨ*RlKs'-F_W4 2BQbs}Y{;FtW~1۷m (Brf>tèCмoFŃxuXlQ\.%èNJ_ ~rᄯysĥPUc᰸붵.n4@0&dS,8ouvVYyN^iK!D2ANv V*=Kd[C$Kqq cCfxb A5\I 5W9z$]oNgʍHLiQ \N8 ̃P g(>l,L]4Ɔb<7{z:4PJ5D;z32nF3t_wסL L!C[NFBG\4hfц?k j VF=5B!poFar} 2 pƹL`jNy== vL +c}dx?[EO,!Fq@{.'缗CG%5 C!o1^RuAp1W$5āԹgvtZBo1z9 >\>F"vM'>PЀtmeP7ٸHl% f\ItBAfK`A{LɑWވ_o/vy擢]EBQ 9Ys;k ;AeO4Ū㍞sg(!е!÷YǛA7,E(N$:sP( BJoouR sH_l9'0LZT'6.wXp%w(N_-gY/;a +^2 FTtg8-{~X4M@15ƓΒz8vVҢ g:ocSgWêޒz&ےZh5Q<#̡sƼсp˧i)`4S(Yv33if (5 d*ҐC+ 3+/;OյBMU;Y[0H'ސ4[9n3X#߭ ԩЁe)cmwy D$GjeRQM@E!cmPݩwgT$:A!F.\~{LPc̵}W~>P`mI \ $QQ*ظC#L#sYqnsK;^h% [GPUOaN4B}-<@ԦSbvtK=^ߢG!|b΍`}t4ɝk5Zwj -RXq N+Ϭv;<~ I(+x}f68aΗEiqlYu?.ٮ69v QIX=pǬґ{kpV3\1deD2vX0ԚSaPk+U"or|2!vw.MN>q龼OqXGP:C8=~/{ 1w^)ni5O}E@|1%lmC{9u"#Ng~S:\{~qi jT.dd#"`ڱ3xŘfcy j^ؽQu>m߅nIΩUaG،v[2b+AoŞm_ =`yuM >Z۲JKg:kW r8eȈgmYO8@"hw`|t>k.41LO,/E6* mT^c[&}kgb[ɳJcЙGCB"Ǎf(k>Kc.Q$*AUXt0Y3'f;z$ H$BR# Ϻ al+#xyr" :l .8 jڢ.X&CR#_ty^=!+1+͖c żd# 7 >|RH mߥm*H5OL6 Uk>:MէL~MUs~_p@' !Zʬ^Vl ć:"("Hr\0(-{6AL @xOS*b=3DV1af&!>lv_y6k=B2&~ܼdtewLKtL23ݍx72hN,uuA `9yUX8!B`h)=o-p~W~_fPm6_bj߽Kk-y~ߦZX5^Jy9!tp/&2ZR2K$4/dkFXuLmfҭ/p,ܦڌ=N>&;(mS0҅*mp+PetI$,2Ѻ-쯩MarKfvX ^u֖j9/,~'<}Al{{+]jŬJUH6z5PRS2Azf\Gl垤w-q'bH9 8UBU<Ήî^";]FW#2 Z@vôR ~{&S.9'rǙ'8B}$rpۄ*j-O\)qWo"}J!|1G T6ZwX~sUY +/g}.bYS1|fN*e>(톸aE<߮vHR>2gGU @ 2%պdXD^1-eZ׌v4:3K|kzz77q&Y{.2 "L~=3ܮ΢)2.k[ќ6oE 9A0klzw]t9Ciתw޺+[-AeArup4nI@$RT(>E5_ )-vSToE6˅oQi:5JluUiaV:]_ a􋐱-Nvx^+rQܜϿN?X7 UԠEm-p]sm#}M#s ,ᆔ w [$hM+劈+}p@rJ4t=Ύ U~4,/ICA)di&٭܏BQ\c G"j*28֭^WHSP'9ҽ ^t: .%w]lũ.qP$eChsU]w0~O'Y/{FaPq H`$M66e)gHlL>t\Qn݊HW UnjV%iJsY>Eo74N 5a2Z>)EUPRy]srd'34%jp瑛|~J5ӍRS#v~=sxcUPX._Uuv(^MQrJ )xqxҍ&Na*LܰڪbMV͹ ٹy=nwc>[Ԓ&OUlK0 +xPJvM,>4205.<홹G R^[KSU2H a8Ri(Ř$"#G-ڸWXWTF1LzqKLYuA0yN3k/̩#Փ1/]"n$xtԛEq9+ 4㈹n],+@@fc(JV R^<ÝP ?`=OVU#KFbhBq%|歙?N"~/z ~> Sq0'3{*vNZaa/c;m>% m5´ "oTT 8D@ބH%a[c('eNu|w.>3ʊ>O֭gqha#|wմ9zv;eG5NFB tAQ,徣ix)>43n򰗚pnw7zP)("T &G^=/Nі*%-hYK66Zk_ꪓyq&l &+Tlc}c*'#.nI̾sOuQx哧v5E'f?WǪT[`!hKq8YpݲU1zxUĮVrge5[*TWF/f6z>0ņH[%jd1OM^VoBU|KHj| YTc.\k[qHCݴ-uO6$N{R1NZ+HQ#oxHd':J)_nOm8*_ ;pml(cxz m3Й0ڲ-x%jKvgDXo@mHŝ} NJ6>Jr6UMi,_UD]lۚLr)4\́n2LV8:8PD2ɟp϶:12#2Bto"}apNCxCmp-I\cعz_LC{q M fӹkQޯڸMspZN'K͢G=MUlE7l7B*jL{"9:S0=f 0̕*͍ܾBض;Cnt4j@세& -GJ:cWtHPtgUϾkFPcZ z+ywdϗ뮾FkȆ۵ ?ȣ*fޘ"&f95d#$Ae^<SO9RV 9*=BοuxVW?ᵬ, *2Mod@zV}7_=(n>53FPJڈDeU$57>0nxA7r{JR布8=OͶܹBWf Í)=R U}Vr'۝4 WJ+=Ja^\[H癀j|!=' #{GƬPWHI˒Ƣ3|Oʛ⇾ ՟|o8a8Fjˍ*.y$CZCGyHW9Y2^ wRAmZ)ML ٽYLB'2xQ<, zc4cpd»2QJaz - pU;WS$1ξx,ʠFc̜ٔ1}={dVr ilU,uE9 *`2L4'En^uTf l X.\BFrL>:L0^l!p6n/+7d84/ڞsG8DDD%Zs(_"b`&tIyr*0)'-~x ó qneϥA\-WG(Ę?tH՞6]w4>x0&qv0,vOaUR9‰u]b1`'KoLk5? D߫ӅW C93, H^  Ԉufݩ(flӊX$vXK(Щ!"(zvmABJF(WD+0r'0O2w˒LA2hL\mc r['jtV aE, X5FM-WU~>q5]KToilUcI*߷"lXbn r悒f;0u5|fdÓmˎ̻2dƺcB*ⵣf{Im&ft#BہT?Χ(/Nqzx\3@"8C[uzTɲ>V(s޴ww𧴝LE.{g-t[t;C(z]@; BHF 1pc 6gȢj7gh3|gt5 FcT2p|8xfUxy2}cWx#0 w*ewIVt3"fLR:A$G֊/z :DU,EDHzxz/l`CKmޑOjuG7sГTZhڻxAB&ݮTl`߼]s~ё,~hvZ}1sϮ 6=+5io/ױĶoFF\`6UnڊN<<61sE}x7`lkl\Q;7ϗ_~3w,zͶ ߘ9tM$.socX߈Ead7>3r2doy'@^YQH8JJ#2I 1T|BTXKTm#4a8f_n(y̬}Ou}ퟳ:&6(wCLD7{XxxO%&*^˶&G)h[Ҽv3Nl4' .^a>N,#+jreMʍؒ*^^4> l[:7&RXW%.&aϛ<樯:߹4~'PYT]v}7^𛨴&`h8FddN.+G2W2R[e{}yzpQקt~ܿ\F+?džܪL9bs/9<ͨ{̋5 `X#M:R-CU *V*w9ɛp5ܔ )@OvH"F_M^Fo} d˟ZiPsߙd'GiDRrrLDY6FEHnksUTynECVkZ=OS̿bᜰZ8FgHg5͕Ȭ*(\cgg[ẏK_ ϳ9\?dS8uF1[sv ʲDat<=Q+pAH1/jԖC[.CBlhkMyE4=-&=S٩%ܲ{u=H&}MXS 30 ns]҇$!sPzR}^e "z S 3V Џ񜝿4>y}:g7/~mIZ/-0Kl{!޸V;Iq{j@.IGշH J?7ɧl5$>DI?ɏHmL{?0NC T%4D$LWTA%!2~W)5%a;D6LM;8hwچ grVsXjgΉܙxK =ߧQ,-ivc3cw8xrcbb$s.2P/Ժ+ BLӣo45g.EtGD1zs镵E/zAN-uN~i$VejTm@BQrlՓ>ݿ^M$RmoOo }@h3N:"PksOd Sp)׬ WP{_oP' 2, 3$<[Lp^ԊQ( mQ"iWC?kɊk@)u+\9e5]#˗KG2u@nl٘sֈJ:p9[6]pJh%+sM„?r9A37uÁHԃF/ìn& ?,OLl >t{_{{>?'{O?_X>M~OsOК߇ D/~ˍ67 2oҩtoJ4N}?8sjU 1FʜybPV6*FlFkmۮ"H!<=48} 3}?[Ƅ`J߿ޮQT5z՛~ԫbhIf(5/`|~דny +#dLW?=Q7?>?N?l5z,Ǔ=&% kwX2K`pg3zΚtG,ax"իqURCӎW И\CUZY{jP'#2L(RPPr]feܐo gX1XםNno\c*3ypZI?4rwYTP[F5PoϿ <#E&K`zň0vY6yr-"=Ѿ&k^&: $cX< D~(+\ɜJ,g\Qlcnx@@Gn g7u(HGpgm8%*H!zB[(bnCwQ^x ی43*2i t85\$ݦb5 2 i!Ʋ^(wRz~&8ȣ"Zv],̡ .]cRqgD PG l6*:;ԛfؚ\]Bd'ltp:qlq@l3\Avt1(Ć'NXzA1?SC`÷>&R|t2)cM|fs`* ϛ.+*$- `G“!r9깏|r T^?ZRs'?Q 0΁6#jJ18S#?S{=8/x{#it4~E2ETAڊ5N*ՇiMDdr|P Jh14<6'C?0* + g) >'儑L߅3HFI°Go)>=Kw{Ywlz"rˍ>V)ZA:3=2PɢUT߾3SP>󢘇8/B` svU5Tʧ^O&, zQn~׷O`Kjt_>C@"AgPQ<=w|&ʼn!|O~T6Ўd;p>q%XnJrlt٥6fs|T4ɊXDXM8F@?2s5=; 5#ǚѫr$ar m?CpxgAU8݇3z]/>(&1Zv 6wns>t'#k;/) )j T'V9>q!PMXcI`Z9]ziT8W Hc־PM2hRs= hZ9YRncoOƆC& A(2?Rc WፕdsZS4l\q)RMCؽV{@ڊ8p"wBҟ S.5>Ad>!t?-IpxŁi&{GtȊ/@{`@Yt=% cap|}Ft`FʦHM 1y)%"BDOz/GGbYTw 9}p3ǿ'Fo8S ƝqEm 9»jl?d[Z&Mz!FfqkR ltM+q.<>tU E6PCh\Dui Q dzB/Nh&"Hÿ?9 9 Xk3LHBTiu0<u\?4Ot=2KrnFnV(3A&zR灳tb69D"T|̐6Qs쇜MK rebP#K:4S `_Ѣլr;lDGك"MI.fB.+>0|)sK@0A0^69^es7- 7;/Qd'ch¢䬐y(آN*ӫjI\? nd&jjD?K|jJlgsx`VqzB14Eɽ pU:ʲfCf`.OLe.,a į+pw~,|:$/9=[|HmA;:Y S~I;kZGݱ(2n| Bi^$)ר}JLf"DNQ iTxJQ#Cy=ff<u]U1@pB*X}[ 5W}$;D7@7AJ !'d_m/ܶ>.@}]5O *ƘN_OVD*v?ٺ?y4w*1o;hh0iu p*C3VP8x PGú]GѬm̈́mê4؟a}Y 1P:n?t;+g"*AUk^z6c-!uN0g8I0 aq_3+|.Yr鷶`:q{Mjldv\҂V=GKw|82fI+8J#[\ ?dmQ=nX|?s27MnͰS܎Liby5P93=cHdΣ=p)`LV$ E!nV.ʬ!H΍+_s7/vQ.R ú]D(n.;f' 5UJIFS<͍thBU>ngB<>}UE$PvyL;pۮPPzLߔo˾-Ц@4n7u&k3/|r0mv<;BnO(Hkgs2}SAޚHQHv(0UT٧v=)mgyMDa?vh3X6;;sNߎwR & {#L5&ip AVˉMe"e/>*@P' viճ ͬ9:v˗4F9 ;zJ}ب씞Ғ/Cړ\V# jPbϷ3}3Cy ^ g" g\{9o湽RN+l x*Sq6,WzU d>H=U/j[һ0~F5lTk9י6Lɝ1464u[GDQisUw 62 ro%n+^WJ0^_'c]#BNNut:=|6`FSPq&iUҘMY0Zhc `5^SסGeAC>pZ h]8fKD66B>aDx Re}u3tjROZgv?%2L6k^T2OuسǬ6g:^$n<) #&*Mlr|rl?nsjw Qʔ8J;l{WlX_Erf2m6ۿƵA'5g`ܡMu ? rNvϯt2ޢ%^;gcdej{6UOa7 -f(Sgܼe}NG:xJ%jxw \~_-GOmWU;nCxcI#i|,;`(|[Hy0:Eaիl1Mrb{^ť&d\ȾW~bi;ai{T7;?Ƕ\~eذ=Pi|njc"ߡEl๾F~sr It7Hs+HѣIk'W* /m̨rqFV_XՖU ԙ ɟ<uЩ#=A4ͫ5yٟ\ϗ7JNh-byrtw?;7uW]CxsR>Xʻw)  yo|j&< a˻խ`v]2&/6^d$tdv{G^Vym{/jF^gW5vǙiVXwcmD¤.&cGLzo/v8ۼ1a7]W*5t&uHì_E[\7G'5F3~ oKiR P)FtMsLTEyivN}୹\2klOZ1k)SmPl#<Q6&5&j vr#0 #"ٯ|Or8I90ԏQd5 ¹ HH,v m嫭.HVm.FX^ߔ!hvʑ3R.CMU=%%l~RǓ\J̨Y! 8P(J>)mܣފS Zcw#nʹjF~^]ղ|y,}|ey욵,{yỢJ+sR*Q-B{[*K]S~5{%o墿hD|dm⻳.~x1th_?\!QbrɬŎWƯzdN5=}Vt~Q;c#+W-Զ&/{AN i g{$iZ\݀f-熬yqiG)7Ao2$J*Y& ĂsA){khpt[F=˼ӊ^kl#:/wޕi>3w=MGT/ܥ2B) :ӆ߭w ދKsP#3+8}ؘ2IĖ!Ɗ융8+BսK1ss4n Rq#pЅ ]6CD\%D$* ʨ%$@qmTXrhqYt8m vXƴ kpugl{O 奘kl3NUѱQnlk>D:tARYů(آ:Ƿvd?1rb )Gw& 0+(hsZR1 >|Oܟ3Bӯ$O*F3~`URJ@4 - TQED“@H-- 3"A 42A$!1DLS51T@P%)J P%DJH44I$*22AP0C4)! P$T$HM-C LTR _USA!;P䯵M(FSҜNKbU9 ~-)D=Mz;Bh("^@PrLNHb9С@ ܇% dJiIZXOɀ%fFYO`d*/\Srǫ1HAKZ_nJ$6$5wEj"$& /#1UI@ܱFD"}NJF;d ,B Dr3Ν.mJrqC

0%5;54&LJ t77S|գժ|yd\E+*Δ u#EE ϿfZo/ɅcY~sq >;vyaQj+Xn7q݂ۖl춍H#ۀ.8lp)?3($ݽ=]0ÜF:e> f?v0pQQH wִ-Pb|QUZ@VD 8TQDQ ?Ib":ʰ3QE(ED5 lb?A8L&(($ &pL!M0I%L$KQ)54z[j8Z 4%&B $*Aa`b&sbI">v֯$d*HB &")Z)$((ZHZ!b&Z B I$(i "& V i@hhIZ%" fb&f((EQDUERT1hO&LubR|b fh*i)h&*" LO2`Kb]LTMQADTD%HRԴ lsIPAҤ *p8ɖON"A.dj<~0҆%/bJdbZauǂDj&hIbH*"]? tj2[pH̔CHRPPR_a 3L4P0%G`W<ֈJ" ` fZ % DDS  A,EC2PEEK II $;ɥѤ1D)4SE4PP ,Eb'gT;U!`5!UI%SUQT0C4EQ QTI$QP QW B2,UBQ.ANw`14\""2*!*(*BH(b/8'?oOqJb))!_$i )*Z~$)Fj* &I݂YTDA#KtۆV *)J"b&R%fj ih^S$Ufj/[EST'NW$&sam;eesO[υ}Λ2Oǃ,LBT={8E,QQK01LA)E$EJLPSIA1KSD4Q$4!0U24EEU5SUPE%PQIDLQATLE4U5I1E4AL41TPALPQ)5!UE22DDTDKA4 KCTE4DHALM!4E1TQ-TAIE%4ISDDEUE55D%TAD1,QBSQU3EMUAPTTL0C$A3T0D 4AI4QD̴EQUP+BPдϴ~<~ҫ[ku:_ёs(!Tf˳ %VV-Das?SEAQmbZLD@LA DHDHC*}?}|7J^fyBqX40Fq-͍}5LZB*'cH[SOR^}Poo}cC.=ZA;5!LƮn˥Z;=T* " AX***-:aaK8pQT2Q%E"`( )ŔgR`(~ :- :PrdYe˜= ?wɡ!HLe{q*cÐD$uVFW 6#4R(kZ3 I$xzpJD*XyٿaYY&tt5EE?HWٷ[:O7.' hb?Nݳf*OHbF#xTn/N q̯D ]Չ. MX[<< 2O.~Y9yoL`h'jk| 5L+MEjeL/.H(A7`J*f!F֔lƳK=uoh.ͺX"a&΅ʱR"0:&MxaɃ☆*a'V9~m-3[c,t/G!qe@A $7n0?'wuuKpzt (JWa'[ Z_[/y||V 8 7MVvI'-yIC%)0l& ō)0H=,^-y'k1$ܳle4dg{sS^O7w W'{LAEi-$TvVH"%-*զQu2yK ZKU1FL[mOu>UXt՞WR?lYْf s:6p Eڮz/n}GdP?>k{TZ5 IGHtvŻ39aggseXF <{20OkUWsϴn~V1Ht޴\v+fT!c ݀# lrɓR9<$j΅(ڬ i"C{EtδrQǥt mVeQD ήoS)uo~a0o͊T"*"̬b"NsCB),gruۺ2n8ɗƓI=:y>*}ߠyA G͹! Ap9ELHlxh00_g#D8c8ߍþ 9<JEQfJ %FJAvNXuJo;Į &I(F Bt˦+3l0ag+^Cf.b p052dshf EVͩo\D =]z)x6at|N`+{Հr0NԅM . W Յ`"MRutL"8;̌z!~x@׹A\΄8"f5/^QRC.ⲫdѼ=t ՆqV9yWk0qd6&QY#iBPgJ:ܺ?RinQ7QN %{ )9PėάV)"G`68ꚆLz{PPĠèV1=w *z|1iQr)6dz->Hь~8ʯu1"D3S謧lal>4 ً,_. kub5/] DNe]PciG^9Xwx(1Y"4CK9dhXFH,5"9N[*[ti$;2 "D$4#y`J KIEQEETAvIa0 ^ 6ʒv194!"$e&"" JFWDwtOX<rn™ `}ðv@DzfՐlVQ鋁po5)@-ne$$BP |>],}FUALS@D$RMREE%SE I E#S}؍S- 3AED CS0ESQPKPL#2%1DDRDSD4KI3PD1TTLQ,M$QIDQT$T3IDDIECAlhh(%*(f*)jH""*`) *H% ($h(HgI@IM_`LA1DU,A3v3UUdch`Þ@1:`6PB1AσÏD0LRF;`:?<| @BP4'XiP bB .ACT E*r2%8S %ZpAS 騚,f-AG]sK6vhQnt bxz2vd**!1NymXJ*M̅@jjb"Y")H(QETbr躺CrEK1EI5=@4ѶVS Ixɝ(J ΛR@m`4&CLd :B ut]0 M.K)H&@Dه&ģHg)(m&ݹI2߱<4h6tjV"L&7&Z& >{L'NHGKsBȂRs檪%gj")q/Rw ((X(` w[!7Z  DJЉH HЭ3P#0x=yUUUUzڈWmM4 0, I- D!)eb#pBTAL0ıMDKԀPa/G%nE͢Jޜuy柎 S*AE'Jb8qz( bx:@0`ċ',PBTZŮ,hV^Y2ӁQg.FH)`##$8! Tid) b0hRL|$ !BT@It`%LDDR% T@D;y&CՕ48=o[t$*%)(m\ܛmF1w3 bppD{WHзwhHC%@1]Gb))UJm"& SV2pbZsFfge*"*( *cK˺cA/b>R|Os &h :4UĕTSM% c^e-li$Ҡ` !CJ!{8B Hj:Irjd4zen- t b$vyP`Å;wgV4lq?u匃va(o0J(|`t[b !B*@)(ҫ`CTl."h%`a)Y&" Ph̊%STS3kNsJaG?Kqiq_-Ƶf3H1Q'-ԁ"ugg"Sߧ 8/U 2Q#Q9ÆB \q0wBz&wV6r;2' :n:%S8e}2u1W-4NKNxZ1׏sY؋[B3Ynrd exa (?3 xIVBA=-ayDǦW/T0bTD!ڗ=v xQdǝwsw?_Tފ1`A9ĂFt9<5?.A͐>r7lHUsr&LRoy kBڞi60y)nR9,[BP0UJxpwYi/ϢJsӣ3L QA 泐^{@N%, }/_~K1>ȔN1r&&`@${Wٹf17m)ORRz:N'/wҔ =#"Q0w`jogÎ;lQO|G޼ecU}_<43h}7̙39y ř#&vCPh*\d0G":A.߿;Ɂ%3ҴV"䁂^69W"z' ψ&I, D_.x*!DO8grSb @Q}<8{sZ.pmS7SCPf!יU]C3,E8y, fexs%<4sdrTSq:$+7eg=nu 2L2T[)lƥcYBѼr]*^dC,h);-8Ԁ$ Jw(\L0)N$Ly8H"4"*4`%FUR’T- @fIqB!, Pp%6( YlJF%ӪJr+Aџw,1m{3`km[ѭW2rKWݥSs 9Yinsɖ9 LMIj+&RJ La^ j98ȱa:1(?&/Ϙ}}7DĞe!@{yFE$zF)kth$@@4"L EJ!'_[=ʄt ( )b)%t6$zy ~G2e8Epi(fOvMD ΊK!rՙ~mʳ <6:sVPHSK$S_YRԜJdmuRmISf:n{\#3'dLgU^̜ t_B:}٬/h oXĞu(jQ̀%!'I6=l?OxAC*~% PGDQ~dlZDBorq, Bwڜ<˯3Jf֘jJC'pN.pͱ.^8)'|ݼzͦ؎ ^YAcBF ')f)|7h)LI'[.LnpyQEÕ ^iHsde@vЮ ĢiӁ(Vᄥ,!:!At3MW 3'^Wg\e㔕4 AN^f\L;`&HB\+%X[䪈軡kTNcLYlf5B́CX![S$Zggu1"s{˸QVv#.&fI"d>\#uGJ w,>)IEZ16DڕEq%W/Ҟ)")e;{j:>سӓl-JQ&b6SAiGb ئ-40QI̦|:xET T9Bm"ۖR%ffR\iIqĮ\A5$%yTf:Qp|+{m%ұWU* %m I1RVb*c~I߷qEe}&R N)Z]M2lmgD"JKZ,MmHLoC8m}H I ) m$o$jU"K!2 D@F0\ǎt1a`̖t$x7Ew[Me(X4 Zm,ډ\N\ҌZiT.s8ة:}<3[Ͳ2{hW&7{No- 7_IhB^x u6d<@JsrLB : 1 &UO+3)Jyf`9ivԝ0Z^t!q3=3aҭ0ܪW`y>$(0UWUJAi"khh(bӪmAWb$P>{EB%/XgQG-d"r-puQioVS+K~28 `hL6rg.X" %a#U⫼H3]2E/;a}'1g#$6u`p҂˩,^kq;냘$xE1.vfS{,oj py|8M'ъiMP!¯=ǵ%E )4~~(?0(k!hM[M?]"71e T*UB: -11PRӞ(2W fN?䀢ǗMJ≃ "q:~sbFLѶ [mY»(g:Si$sKC5R8h{NbiRbo8y5S}3 yEÊyûATM3 G'VC0e,v1꼓,C:wƆ`3D+f3---TX֨(1j)D *k CB&RJD &MTc;Sz饌ug 1;نWm{8Uyjq~a eb'i1f`~iM|3-3Ow!Q*SUR5bչt#DNԣjeqՆH݌nfYMo8*mhw탖(eqh_xqr""- iQ?%2瓍:64BTI)T4Qb>ToE~B&[p4m;Z%$ȔG:EbEխ[&+6Rf~u^͔LlL7VC"ZѦgLLFIJLrB0TEca֌aҘyk5q'\ fOtZL7Rw&#{kP (SٓEN)#Dxfk6,`֘  ݗvd{鬲"UQ/J(!Kh"1 TKIYT+haD'4v-Cch2YK)|GvkQVoۆ8[u gi\ix؀阶[g0XJ1鑴weE* 3$o(k F*h㹳\O& Z?Q4SB hEIC>7shCm8+*ѴQ!" bLgm:;-)$\P֙bq̪%JRb4RbhYTPInSV9*–.Ew] uw]fVF @: cB)C#.~ȩSRfirEu<(T&b# )Xys0ʣ//ːD(KѵhtĎ#I螵!4KEKEM!KT #HMQcJ*`("X+AUMESN֦ZeuMJe~k:e{ZNRLAO3qz{:$:9Qu!4[K7KMK j1ZLT:n?YicATD,6CoPa3-&)NF&$v nHR4d b Z(cX*/& LAwM=0f:6ʻ # jBtNN $YuGW&nt ȗ0_fS꾒a6ߧy<{q[7=>*J#^p*(<7|ZBDſlD2taZk;IUG~وg̤MT.k:҄mfHX"´_Ω46}^͢mlr){}CJ? Nђ2\fgvfr0EMg*.5óiQ٦S&&'?I/Ei95v DsZ2b= $@ayy4#VsS n-"ooWH)^&3ډ9ZDkYmkrf`?eSQٶmKUV`R+iqɝ̣?߶mۧl̬:`,47w|zn_O_rn!3d((]d+ Iq6g-^^2ƤRR r]TF(W.%Fͥi哉hXOܚa5-k՘Yixs[UQ@(rySK&,W e6 #F$8f1Ah:b-%u.z@ЍT⊽\;X +TKyZ+ ŽZ/x`<v}ہՍ i+P[9/Q& %5dR  WPV )Z›L<rH?xJ9J[@.6S4z_c~=5+6JV iNckWו3y,sы:m^d؎3LY5ヹ>peQFgK@Ge#RBPN=1|Uvb`A{FU`RQ8!'ߧGnK$Pv÷K1yL)UGP?aa)=5'sf% XiXQI3!_\K(RґSRehEYQ8J"ə`Mth0&~H8jZt?7Qi*`* S,A_y8Ph$Uֿ]>tO|`'dL^8=c>^c ,W,*!""E<: 9 Ɲy{)zg9i7޾5eJDƬWǖ?.{~WNduqdKPk~>;·Y+{Not:?ᖖ]ȣ@~Ui a!G7*FRz@s~U_ET@P?جGi`׶`;(==*`HɃ$#UKU_r/hiZJj!(/wO%72~},8-ڪ ># #ҕ H!˖iI͖҄c<:Iq6DB2\|wtҦC`a@PI1(3_ZwzXe,l%(kpL<;O(1 *,S&X `߳,2ʘ{aƳT8_],&Xg GZ;<3X4#3}V2""^YZ:*da5|͜mV#eu⧡xpYg:CvB-hy*@ǖ_0,Zl# **aCpپoP~9ˤ&81W$]ղ0}o+,(e;d"J5ʹ'lT &ʑ_•YU'!_+a@=d?|y\@FlÇ٪Op^ԞK ?~W ~}ݕ=): >NN%%% %OqW ^y*78>qZ &OyS"Pr("s1Gf8O4FOQXY%*װxXr+ec#֍1I1TLC H}^._n 8TňE"c(HiUl@X\;|Cfq "iZ¥uN8Fo\i@\#dشt4,p)T6c)ϠG狆,*:l~b.@.D}JHI 6-dޝs-:;"?Ң&B'z;V#!"ćÎZˀK;j nTQad;ÿ7G {rc_k:kxcuiE&?Kk~ rg2ϡpj%hH5АI cs_7~l 9;0ﯜ̂KnxߺR}8iwE,?:qI84c2{8`_ts>Q"@ymׇqҶRJws1-j-S0S RZd:ӚaWv5YR ߣs` AS".Pq ,HX"q;bv i^N1AxNNqM"CEܓ)=4†!tH#Ѩ %mJ+PN{D o?چ&s֕*|?l`i+U㴋 _|vr8@U+28 ACP+ {o~+0B @EyڠD*|? vmG;(! 5Qª;Y4x4i T[1pED@Lܝ$SPL HRP4AP)l% YvŌVؿ.PO[zŀH.nzWi)fRBYH Oc#-'eYGmƓbgN(#q+4 LLP1t:BP0 @DϸQG.`ihIBaAuN?+Jzd&ǽ,RVF8!i/cZLr"Kh@/JW=.NRBfRAFJn74KGԞ'D3"x(R$3ptYt"Tw4pGAѠC @f\1oUu@gXG$$N_Oyy_`M*,!Ǚ uͻ>(wޗ&_qޭP[f6auqR}\V~qק΍8C[*v]s_*tf>c Qxq+_hҀ8:)w(~Ow>N(*-,$=?kQcwrB*Id 8|zsvD]*khyT'LHpbg @ @7%1t 9zt8& YrX}H|Yٖ ?d Y[9pM!L$RB40BĢpfn{yΌxդPFMc4BVimaSL =r*MbJ[SQ2)L„VI7ķU&b{$(Q#RJS,Ek3> ?1%c ʢk'2^kvN$>7Ej'~Hcx|}C16'NۖܵSު*D zNGq 8֔z @}HB%RhK$koc+3SG`IP_ "th|QTԢm0eLȑ0724:c?g7,ҍ 2 ?^"PfX! m]c'wGaA ó*ir !0v^]_ {r"h_&6l>Կ;7Vb4 AKgloUE KxFv"=/tiP)? Ie6-[F/oCfKOC''w%?RE8{o;HmnHd 5os\76MFf!0넙>C)~"W;T8aԡ!UCp));1)ʗ lYwA+p 3/bW2HGSx'f.gԒIZR&aox;^waPd* H E hF&.s2Kק. DDÍpDWfܿ? _v~NܳDˤU~С?[eg_ ] Y &ϣ@ڪ}UŸ7\M??fmuUUU yw>M@hm"pN0Ɏt~ԋQAUEAqRDϙ4@tUϮ;cڢrÚMxJ?I4[:b,D <߾I;ii f0(ci LìYZ9 {4 z(cV! %r@)N}VłnCz)?Iq K)(w]ĩڞ^$>=9!rNxwu,#U9w&GINfOji!yCHA/;ـC˲"iu>p$ ό<`vD(HJybo4WK^ЉGmٟi)8DD߾v]j=/18Ghh eP5a:v(E'eOsҀ(3@B|unn|Ge2 lfi Dn*u-^]ti:R&Wz)g!־%_;'7HT?.[Ruw vT0yHeQÆ0-RS0 u*H?+HϿwjzY%~FiMt{OwTt/r ݿ~y[FH@VDV@&Du'^fAYK@Ǹێjva9bÛ T$EduECUMAD#ISAij(UT|cblJ{|"$$PqΞ9mhfB`( H(af" 3M 8 JydإVfI <5Q҈IG6B Vb*I 4DAU˜'$4 $*bh9 !YȽج"1 WK$RL3TpWbJbXa@)(")73(9T4ST0sh >GKM-HQSKRE5D,M$v*XBHi f(jbb$qɺضqTǤ"(f *m[:!lU3ZǙ؉$&&*i T@HSB=)"lQX$X"LDMe(h(9}HQ$?IPS%4IwKLPx$a( EE(+bbJfbi*H8m44vU- QLE,(0(x{3^8D-Xj* ?7>ZT"QUW׫CEX$F tY`ѧIMMD CTA bTK y%Qm,R1QRR/`w袢ð m'5odhbI6 0MRr%]5 j%3 A웄3S@a .7ru T)_ DaTѺ{)HĽ9jnQm+slv+/gNߒЬS$w(x p{upl^NTlM-(L *ĥ^ &=Mi QI*@@ÔV`\Y5֪Yvv kmYdn Mw4% d4BCC TY/^ /Rm EUL Gy&=4mxcahQ8{R="vxƻs< K ˏLX͟d9;X+G*_É)3=(XR JF#dHu O?ȥH{d{eI1ꀦ3;B"c2buW2a]R6Aw(ti YS(_,}Q[E)SיVbAcW3)RD +g݉S B)'G_"?REցqY|xsb?ZT'Ϸz(~ƒwneUrQ[l_&"[P] {=luf]8me;sݜMGlybIL^GdQyZ?m?S J.f=~EtAFEcQ_ DW(yX,2QiL3Hj&e:P+,Eg@m^^S~IS&LOB Dy/E;2ze&^Z[ia)e)٠NX_|s)Kd,h5A8[F)ZU̵xgc(LXk6HĎL$)P%Db6^zo'G(S<^o5[P.bPJ%Z[rњl= bОI,Բf$O,0SJ>G * `H#\w2mm=h` K&z(=ܲhmw/ݐs|Ն5q[ώ2:JY&Dkc )_ Vʄ|JM frB wҘBL@ܵ :UŸIFQB"SM3i+g=;lNˆvC66G6K>/\8ۤ?-@r0l]}U`/a V!nƚBCνnzO/ɏ 5QU!x~!5_A>ϧ\PGm1ǫײ5;"/+Z{p[oowB#2o}9?!( j/էN0_e?H틉S#yK/lc? J2 Ibb( {w3fO+-wO_U s~|.ix E^oۯ\vvOٜJwu|nMFvsh^l؄.:j Vrf.=iɛ7Մ):7"ކZRV;{]tH=!<#A9E:RdZc3C^#<oM5.ͧ-mc,!""hnw;|NP79pv^ż G)]~TDfn hf)N.Ej`oAd G 7 ^&qfY_G^{=64@x_oӳnal="A#73UA"أh# ugg|4=bq:yVIL8F"^#ieY 5ݥsvJ>[{' 8D)`ӾCs ^P 9!6 YvJ)0Ĉ]Ap~0E? ǛnktDHU `c|&,*f?@'žlw?TU0pc c$ξJQ7 ljVBjU^$H#܇gi Yu6àlPBà-63ѵ't  ܿ_?;DZ z% 2/pfآtG: \zpQA3* a}Ыi*IxX3~mZ6DlAe@cTKj>?}g㯄^IRPA"?{s{oH}QIIQPRʂ$G/x`278P]9H{r~2#Q~PbD~Y1 }ht@5_T Hi',--nS|isӔ,ɥ~{4n󿳯I$U1TF5+r;j/B<#!P"wD$>X+Jߋ StҦIhh(ijf`TKmʖ5vΗNC s遴?,)"`!% ICX?cN̙dِ$ttON?CɵFq$WOA%n=pDZ$o{nzl?=bug̶1;&0>jI h%=lltlcbk3۶9U@߳m E?1e;CoKLGW&-~s.fl$שN{ǎ ]0jW肐A˺pu&!R:~Z0ny F AWk.C7[I% vpۏn\Ҹƒl  BK@x2zJE~6aDf@rE/m7\Q϶A 9c[6,$I !h(+~Psv#&`jb "(HxtAx/868e2#D@霨м++S*xz  PlUWk o^V zjdIGqT 94V9:O-0 +pmuPʛ r0~B$ BV@xc]O)A9CkSh42]Ό)x.J@/on3VSN>W;WљxWq\eް;IU`@D`P: bBK҇҉f'(֘A@}U b=>VyB&;&/嘃 YP{c ߷F 9 H8l )pJ' B_Gu H) ]b(hvLMp]ej{{d3qW+<ơAn^'$FS\Z!uTgK0s#rs+P@1$0kǵ_NbAȹ4|u֛tzrh._>(x»4HlVy`3h:}8~EMq|5r}gMvִF"/\lM+bi!D$F};Mu*;=Sӷlz}K׭! < 23ob%ALe #^t9Zlm5<85#Д{6~)u_=n&j&q>Ϟi :%5}mvk(ߞ/]bM!AЂj0DM'nu%9j_Z糣+;U_I"5OC p,Hj~2 9,Sb*`c*`XvndR.L]?Tɧ謹H  Vl**Juvt?N>3_OԚU}9XT墻nGPkG8VUܽt_>dݧѩ M)/Ə}ՅW֪ ?c4H! @&! O*}1 #Gp %TFIp*(?:U%׼@;ϒk/ef 8lU]v{?7})BPbpA}?pCO<()ݱ0`0C劳H`0se4_s.!CO> ##߷1vOUpCN!!ݻFZ DH}[$J 5/5p=.WaxJI2z;"sgߊ-E?16jV*;lLuk1 ǫdg(1;^V5,~_܀6Ut| gr*tǤ(ӼaeLsDDIqʉE yE{ײ\r"5:Bgd-be\"B#ʮUt2#Cl0f-mԁ<ի{h^jEcN & DBp(83^:bHpK?_komYגi_&_ l U)hWZ2^~;oɧ;l7ș{18N"4XJ#Qпp vצs1f0HҮ ׫>sxZcIU5T|'CۼS1HG)Iw*ҪҾ=a^~Z) (DGQ^**+9qI]imC]8]U{?v< z@:(X{(K-gCEon씎bx ]ԟF xYV\|X ?`aUدUϞMV~UtX*7jaUZg @$92B'%45tu R1A0@fa!;l c1q9iCaӶڻRjൄםfH yױk j!!C K'Yw`{:?-E** g4DD\ {g ⣕Ufg%o~uRt0뾸n*8JaWe׷UWv{Wo+JfbR宅#'^7鵣G֕-s8^kqV9_dN|>?'IPc&uo 4w$s'_ bw R0CtS6NW,݈8a $=ɀӥhۜD$C`ۃܜSsNE!RV[xګ0`%*}໼.m &J. lFwWY>b/?AL@袨*$GYI ?.GTiZg܂ ɰѯP0D0tQJ J$pMDRkHRN#mi;˓MQNR?9EˍD/]>wk[td 1oGm_3Uf9#~sQgx).]M'헵#(`~NY{F9{^a>v>~GI'$U>U E!D6Yzv't#g7Q}S+?ƣfj3L Q;^QCW;JHb) M2v,ʑ$SDT"cY5۰G'׿3/Ϟ1gW\,|hgGwfZ.vRϷx=c ]U{q3촨%I8:qnYeIŠ֭B,ĮEPq~-Z[z&={'6#ZҤ<Ίv[ Ozcی\g4\QzDDB>$yHS W<_20!V8x6ӚpLp.=ȃYN225zW\Hђ$$ZJS#(YQFi K5QneJ3C6R3*Q"K @d X2l kFJV51eB] 9+ߺY$ ǽNӪ/)U󳕌˝*=hIyM%;G5R/5:4lr^R{|MUo)HĬR)vUR><^pr_x- y)/ůxIڗ+:Κ@EGzF?l1V,d'+! 4En6g,IwYh}aʔZ"Ukw+F8(TM@d9Cq6ԇ UF,8/**nĬr7 J#ayƃaD亁ZVmθͻXBjgyD@0ox+wAEz&kR'ۛ]bgѤ()jlxJWv͸j5P4YR0MBΐ`:VcL(uߨ'x㗅3z`X1u+?m\0yUE Sb{)ykRزugD4abm[ZmlIT`_"R+E"!fb i\E4o\_4 9g RW<iVDBքQ]Zoi}t[(r\J/Y?ֺE#aEvWm=e&SUډ/]eL-=s˥ғz-Wr9ʷya3:uxO9o:t^75&W{ZL!xiF^^;>O?,[jh/IH-cXMY '=G""vWE\Z ǟ|hEg{B ;^0l^p۠VO@ݤZL.WA£f{"#IXJ<%(!_ೖS^'] JPZN B1I#^ڴ7QP6ue1ђ+=/ۧڝĮ*ZN9y1A=9 ՂFWo- oY_u5_ODDeH_\5o}zםqjyN:֤Vӈ i p-t9dtLĻjDtҁC*(䥰vlǗ3JN6'E"1-٩}O^V۔q{$pH$fTP{ bV^i3Xڡw*JVV7#8gsZѼ1{uz.ʁL1/6W; ϥn/iX\΃rMBj#4dSC:NV/,lk*lư:NŖ[>rD\\bZbqObxM/Xdn+^Lϙ~ *z8*F0ca8ԱOz|4MnoYAF [#8V|_}"UI$|: BADaM ˜y;x,/L#$5Ot(G8\GtI" AlUqSZaL|9sJ t$jPmE& mH+ɠB)%$5ZnIwsnNnʂ칉dKnu()ލ嫜ͰI֠d""EzT=O4ڮ? >0Vl Gdfc8Q2pN-xʽTIv(+Eۅ6.1A͓ozU6yBV^k ߍ/MR3 4b¾d%AY5G fgo'}#ِPVuӁgόRQagI4-9d'1z3q@+ ٓtMAqool΄(H  ;3 8p%Fn0yRe}":Y nl)7,KBR80ۍk ꧈QYv/HBxUjK*e*Yv28U l ׭h$y9\#V #vtμ?7`Xfl˾\74G~y%%ײK8(|k 'UJ [Zfaayd+/+ i[k*-_>Y JثO 3 2<ɿ[@8ywxzoRژ#sT h؛HďbwH].ۄ4{RRu;L (&Ğ`'&*I'%Z<^NH́l`n{qջG(uv$b@lK: `20XA޸:Ԭ٣5Jm51FEM¼xRql$-u1!m3 QL68Os ܍JJKSNJZpL7.H| k?*8'`R"w49 جDx7ܟղDV[("$?4âDt !sagi!1a(F>迓\vDp >̥VB.&t[׍[ QУ8LF8=t-Ʊ͒ᒨ`悊DkjA ڴmZ%7ԮӊL7]\MNĜ)^J1l"yDofgu<!A-Zk6lY-=4w;kp#fPWZryj95'˭#ʓن{I@˙vUsHx=Ga!S^[v@:8Z.ދQꕝxՀ!j@z:JIZ_L0 1^]9yT6͋5$ЎT[t!UA<3WhA+D, VAgzU-4CWZ.0'5xZ{V8ЎpbL4j A.Nm֎/G!'w!X 3HWM|*pmL:>1Fi8rF(aF 1l@Lje XƝbclWNsn2p#sϣ!o1 -d,Ksçᠫ <J0m=7&ub'/$S%uhBK %2b u675F29ˊ H:P"њ$)ACh}p}RS *nq#FTbslTwCQgͧ.cNȑ7^&4Zo'.xfa4h9/% qD[K¤\UJZɷ> ~Oo[ƀq]4Tu޷Gk?NsrI&&QLGQUŐS`Q;(B5Ƴ A "]_ dU2A $Sߐ'/GR,(/8=:K(8cΉJ'y""'D­k ?/q f UTs6FnY^3HSϪb)x=Ibnp3;$Ș", $&,@H$b`4Sxs^//ɗk m7(n@M@2s0)q!W,h#^ݶ*cIfo)5;c;feҚv)$I9_ CwFH,p?ZMے ݢ3bMu ;CrNT`$t`Frb D5e&[V.[z-9Yb"?`k9n 9O*(~L}<.*!&Ad:[6}C!/p(<;kQGp)= C՟j<7Gv~,0ˀ\^#]-C tzYkь fXR3v1\>F=_`]%nJ)yr.{1X$ "):ʟh ݲYEP $dhCH" "GlGrr*%j F;"?dm{q}= 9vrqUT @tLQ!B:+uG6ίoLӞ'&P s>?&A@}2!!s:=OHLa2}Ps>soГtCÊlp\0^a8tq5hG5- 3H;HIe[bqW+7?sLf("[>Q8QêIMK:؂D3u()0V"#Ri}HVRHaʝmmo>C9)a:'/ɛ{َGziqX3D M =q e>[j+,$8TK=P N8g,FIUs찵HgI{tO/Y-|:}ܼzkz,V'/BE[߿y\3zD{LruMC~-q~;vc~U՗!|whpSs;Rv@R݃H)5o"\)`bJ팳C=As؉ꎣ F1W `њ WwN2ۈ iЂ|USyJr,z|Jِ8jkFSkf*/OƟ* DP7A>۟8v/I:ﺯihVH)I@9^:]N:um6_)ˊɮ`ŧG}wå*/%cB LM. ""XTy)duy~ ۘHaO 4.TH)VPx@K96~*l wQ[32u(wegeDY:hbMg@YL+ DYzDDB&!6T5#4Hv󩏮WwM/2Hx!b0fl8`G]n [Q`zgz8~zg8xƽ! )5+ {)?waڻx~/3 i;^,KG+iVÛʹ@!Gة8XHi8O)™ǒb)Onaz! mTRx>kgVl!XmhTa枝~m?XŻ OE%D!gF]>y+5f+ˆ_^H}tDѤ5x&:w벃˖ST>.»)z/ ~B $MJ(dz'@!xvj"Ax͔b. b,LVA<&3ǀnMc{ll0B.h3L 2EknerPtɌk "툧j)z=N9S`Q #7Ux~'\[i %"ƻ' =ֺe l{/:n{Jv`B ՝ <ayvOaɯ*aϗ5Μ:}I`ؒZ!=`l>IcrWW7A v?8T8SY%"J`S50mvzVÿ$d ,lfu4hjA85Zu!MM&2"lSŐ fF}Ȱ@9#ѶǦ%$I|PgdnDkz (kY}R!DwT)#_8ӆi(ȢX' x'd\rNqF̘ aVlA bWJoպ-lݲ.73kx(DY~7s %ke GT0r @T+'y .ԸVgq|gG VjYo8J165.5hCfX2C>t;aJ; P%W:[4elҘu»Y !R_M(s4*򃮧&3T B&SL{W"qfc}f1܉9@7&XaJ%Uѡ+Aj CHfr1C%xiπtVDCSD4U_'u&y@2oҀ^ޥ@mAYZPs}FyohJg'NX/+%'p-LՠH\AUf;#䟦$Ӗ'y6Dl Xb/*M$LP. fK0JZAdՖJT*Cl$0if"I$yg'EO"OߑAR맑eI s߄1sD'7Giػb D~`RD)I`ytT)-TXRM?9њP?Vk3-x7[D.&߫`%g4˔>t$JO d*Sj;n.s ͘US1nܽ<C]DDL:<.ldxHuuȩ!l̈!OyA X~3ݱJ39؂ TCgY!'v K+er9Nv:14 :x.H*+e]o1gMf@Cy{8;!,;d cݶs2U&s]5h@?EQ. ȸ~t;]dxoNIa:*čݛޝ .6ѝ:gH'4| 88KGǟ{@/xX>3o\KĔHQCh05e:|/AX A/FgP`L^WUVg$ЛIRޭh~\T )3Sob#uƦ8-%ZVrw*itV4 /l ]1-lq ʌ}s `Jx&DDDhq&AZK1w|pu+H 6r~*'qqE52UVz㲨|vVd_qG|b sWdr DDjxG '_Fދaj+[oNf1PXz;MؖuaRP1k/*,Yjkqy5\!"YQl[p jPsV2:.a iOɃw"CfyDI⢳·7_~vQq=.*!#!l`o%U0 C6HQZrx9ʊaP,8TVǹ P-{( FH1-,iATY%1B44u[.uӀW|ehnr`2׌ux7 #[pyIbAte#@^.!38 (>PA]ɟ/_3nh AH g=Se{=S<"\D7&(k)*ڳʢMZ)˫g|eCfIiVnG CJu}9"1Hfs>􎟳b_sѝoIO RkVqAW5BzehՖ=Bg4u9uמAۯS=}bC͒[ (z ԫ"yC-z )8x@y+t٘興$ 4} 2J,cJA1\r qY%Y T9 z*6NofͰ݄Ȳ f,!;Q+U.F ٮT^b ?3Fq5=<_ oJǔm }e$л\qIwL>0f+\Z)ꄏn1),}AYH@ZZi(V_SKv9g[8N2ؑUSAp^5epGh$z_I⨲jѪ#;f'r2V,cmX0!z‰Q:@V~8 w v렬.LF Xe"b8zX/um#q]@vW]e܂c5f1v[\pnTJT޹UBo4`  ,¿ڻj*}M{+`N2ǭ Z(ÆR>˙2úxⰜetY ʹ/6Ŭ+7ZPJn;_k1w\ 6[gEE#u\t:6jYpm%,^*¨ؠ⭵ P0iM{lA_.9e\6N{r>LϻDQKX$oLDLeb:<ޡI}딄(Xr| |wi!uVG*ϥ+ARWg,CSӤJ+Y~GBm)3=o!{L@$ٻ ΓLJh&! *\VsJk.uW`h""09y5f D?ngbڊAш[rl Ўqt}LYVCw,5[&/ʦuUMIPԑNw5iew电nS J~|щ^M^B>'_ŢEU;ZK(_|ӵҰ۵sTZ/z9Bciͦ S, '9jL|Taqպt'1EKh5&حz;:VFw.Mt v, pӧ!W\lx VYnMʛ|h\gp15J-$:,PC;S`H|ȔG>SdsnMke^dhmmi2*v=M`# [gZ=\Q>tR$Uo$PJwG~84 Դm8VћB9cE»-مv][G@&zv&UD0EQGAF0e=d33Y2ְ!U.(#ElY=$_k(:kЊ5j~\HE"׌bLO8J.gX SY__MZmIaLU1@\B$1bÒTB)k ` NU`U֬{JdP4 4i@V'5ĺ؁2A roк uEGh_ڠ o?xkzaO=ѦӒKm(%ۿX+L(>^fETF֙V;nUyHvZLHPfG~BqhnQ~{jH) r,}8s4X&b死n>O)f ֟1=a #Oܶ X@SYqM@_|t\_V4­ ߍ}7@ToaObl|8H?@sO{tn~VvRJ@2!v9q|d#Jk D~SjȨ<GNYPmvĄ@>\zMިK1^k?5k{\]ݬŖs:&Yh["RHH͒HqoFqh:T~]=/[GU)UO$Ui$+2@-`0P}Ex*U+Ju=.']qkXdH\FlY01hîx'< $@Vʶ:vy0a3z  jDجHY"bI&+ S|$fEVHiRۭ<{r܌@> qQ!E C3]GxXU"!ߕDyt޸- TiyX1?W0(1^JLRn|06'W׳h#Q u)A 3X醄8Ps0Wvؓu" a#C Bw4G /e <ܢ c^`,G`5J=7[glz >D,~\adY.k|ˠQTv DB fdlڣJ*9VN M͕neYᐕ` P(ף@~\n3zC˛aЃ>T)++v]eyJП;=hl Q;gGn<4W6|̍\$¸ώJNJ kY[D%X"t?lKETxITwt|]"!(7ȿyon~6~).؇)Lumv12BHA-YN4ڱǕqcުmf/mk=t-yyFrשT V>/: <bDBM#u&3 uܙBAywAGM"#""'Zᬠ#N2CF-꽄, 5Φ*`ܚ8Y S`.Kc興*jWFJ=fwɱÕvvh ]kc`;Űf/pavv`D F0M>,:hmη}tko8m|Exf,FF<T"EM ?ƳU|Z6/,2' ^*{yX*}.zSZ[%xȭM'y4U #HJA唼G^{d!ajA;BdIi\Qg =~oe`Csѣ*HzgDDRT#NDRBhyr5d !VNTs)]23s3Z8Шɑ"{ MNiBvXRi1 yj*):qptI_ۊ&x|Ҍ[;si`Ȥ}CN4[ӎ) @G7a%u`Mȡo_'HAL']c->cf%6?#a@`IvI:tdkO yX,2ph@HG~nHPHwv{z5%<)n|hɽT !_t_"!?8b,K(z_'y?GP~qwg_x%% >I=e#`q7.A,l#Y\?EW9RXuZ 0՝+ g(&B6X\DDG8p8Hv8W%G.6h CWt\ݐ6jL!]E zu7"(,LMd"lRwј`!F\8G)sYOc㣮-/6fFMoEٙփܜ֧~/n1Rrk AZyM͍pQQ h93cVܬBJy4F&fX555aQ7HgTU.hHɯ:xQA7kzp5,͌?\U+ FV0tlPVfR3YLF3Lc E'aBԃ{sXbYoO6NJoWgDJ%HYFD/f=7kտ&@0z/(|1Ndt<_5|nζf/'*No&ZM_}iS .9t^.X֥&/vH+WLNώH"0l~e,uqlO>5sENQD=' zі 2 O$C2 Oԟ>'OHe PI%SMSzm?h(fd#LÓ.3ǐ&}sf]bU]`:fYeVR/^1.S|+!F]9 L@.g8;+!9@.9W:̳6[]łdz @#YOT.f*q < I]Z? 5[*%4#F We2Yr(0̰82A(z1h|F"g(w@ǷtvEM[(Cqx4'04ٖoaI ~aX(]Tpc;,[LFAMFao*+h+kYE-Bh Yr7,9<'|[vwINd"(V"Bp,'0H1ʈqEZ!k+;$@F0Rzɴ! 4 ny,P6Obb P8J"]: pdasq^hIOZicqnɛ-K^7/?Azvm ed^*c7"`ec93UT),N6í0w«9Jeke,m'5baDz՗ȗeE5QvDΉҭr0OTN<ѣsZ֋YӨ#fAߓKV S^,Z5#Yry  wvJPY@s!ŃCLUXDu#?n-m=1ڣ:<=Il]i]GQأ>&F=gU}/6DD\g~lM)K$)s #\T9v3 E!X~qtOd!f :9*ij Ϥh\܉Pɗ8됨z)pF[fCV\ .'cw`0əF͟ݳͱ\) MNz4q1;E]Bk8>)rO&꓂ozZ( v;!MnST1[nat*i}f@:°wspZ|uU\?rj\D!z8_ tAjAd 89Z0Pǯif mpG!:q]P:W!z^G  Ty˔5A1]~!*BNї["^mEc4U T&&!>5caRʞ(#_T}3HkwKw#(>E7^[JZH,axD3` fc$bI޹6VRKEJ)h8}j?ԏȑ}7gBqnR)pO;]>Z3buX2mo]^D 1I[G ĐҬaEXҝTVj> +RS27opVlw\e 3D2o֌R¦y?KL'w9&8c0?GZ[@ׇ9cJ]={ پ!ǣNfi%Bњ^_FL`$,Uuݼ>n a cᮢ`bVETl11U7^b6pU_9G;,@W`L'$|98(-3>QیX^j3""e1cs,|}zdDE>i3st0'@>;=cWFRʎ4o#V3J4¨6X>~sn??JAB :ᆤK8_as.l hV1H4 JUU[@T4R tP)IRU R4D,B)]H(}(=)TvHrVj?|=]B%'ȴM U H|,))_x}-=!pvC# dru OVҏ<`?>>F?m"?1a2?ދ3P__|̞g}~v:|j_, >6"qd9(cymH>VAm'a=A!%#,;Ǣa &/J- @Qj8>HEUPf$g2/jy>Q2Ѵ)m,Ahs88@Ӛ s2"(.3O!(A__|o="$D2E/~;P L@Uod(?-1;< { a9j62D9F"Gα4[X^oxͫwϧBZi'PBFF3Ϯ='7N>X Y?2EJDsq0z`&ݻS=zCor$ J>_g[TywG68x;ac_Wςn*KV$yw41cTZJ _zCOx/mvc#B9SDcr}>~.qɼ=Jm'.u*PW40]zVevŽS2^>IV} Re{. s)C.*xe쮠 B_B,ƟTȀ­Znx};n`yK*PTqʌp_9AdYV`34aB3"$?Փ0Ɂ奶'TWk20wAH ;__>W*# cֽxm80 emYT3m%c3lуE5;2tz 6G"#Eg7 E5ݎɋh#L &aAcmr"Ę-R8ЖX4[kABU dH[)#h*V161CQ,p" ?,d, F!Тkb 2& W\=;Ŵ!DUT`_?*,{'yC n YbC QDEBDDPwOS?h33!~}`0t60*X 7 a"y8ʁ0c&}ֱ0}*M!,ޟxtٖAy=NbE""vw5!r?LDJۦJ(ֳ!OUVBd)R@$(hV$>pQ fP8fRaJ%D4TOa%P#IJ@y.'w:` "Zi($?ܿ:]mʑ(*m1&A Y@* I 3 jTJd)%>["+bqm)TX'Db1sdQ# )K?,~ϟUu>v1X%?i}'"%p;thR>́Wzi}ry*  8AGQ|XCNqse@*T_A RYQh~VܱXswPq AQE5xvGB A|'je!X{*v ?PZ?\N_}$I}gOK<C=\u%XDK_] 0.GR* M(jio`&Ju0yvmb4 {jzE hjmTlOYUqX( /#fp }Wmx>)P!r>&B>2Uq P8sB=E/UXTEegu<6:8SP$1%2obIA|KHUӅ8DD !cq%Go2V X.AFy Dndj@5Zpe_]@"Ƨ.h3"6PVnA0VS, 0,rN 'Xw`{6[ӈ|>O)RXR8L*cYDA*hG7#} JeRzwtӌ$'mRTFo;~ R}`F"1NzyE?Nu/ zlj HOk)w;;=[;3͘xh}dl8V^z{h؟9"+EA$#3\!?삫wvq=|{"bT,sn i~׻>-D!U ƹ>젭yб0Y8O!N<8BQ?38:DmHt%tҐXyk^LII?*&Ku yNQI9T` *R=gi/M E rVw>'ex͠3}wT!2 Đ`B hTHO\:#CB>g).?F:_P3&;&؉J3') ?yINՁ~$@1: 8LّC*nOOƵM#=LH}L~4; NU9^w˖PY#NlPaІ g}?LdY/ p} :7ODU@iB :l?o㢏E=!||gd2Zl퇦I۰v 3%=Q؇2d>x~nw2xaC xP@(C5W?nW.d; 1O R}{2@xRpˆrKpDȿ!Z C;fOx{KGJ{?\cuvPg ]䓗:657Me`E֌GL'D !30}P"^V{lp0;Dq˚y(ޡ{<'jS`E@7cP`dBx@??w~8}t;[S$)$D@N~ ^! ?x`qԐli[^@d yzrӪ]7EH>>zZ5<}Ƚ5Io.sl?&NPp[OUTww3*BNOhiָJ<_oߧ Fj(hQ!ES=~ɏ䧲"ڰ؀-M5 π5@0{C–ElCl}tS!:FZ gUutW#_ls ?`jhb*q!=>) %7bݙuCɁbbݏN 3) 4$V!WקmQ6>/Oڜ`Q:pS({ uzgslm#<}>@I}c[k:;.,HZ1bⓢ$|JI'7Sy'LZJ183wt3S&!=8\6% S2ojp f=Y3WkBfuO@R+uNWF~E(}Hl҇;~h=z"4?H'Q>9 T5b# y PQ'(jQ|A±WG6O/OU](?y랺1>>8!:~yHd6 fjAqYi#8:o "#J:aot"\8fnW-F= btǟ\ 1n x/*$`Qߣ8N_VL;\)>Tum°,FhN\;'龐UC|vKh L5^ɌG;TM%ZO߈y-&DZ8;tHCk>ξBTFhO0U!BZ|/׆4Z_rKzHyS9uuyD UEc4Զ!h,OXj^׊>li.3C̦:V]d=}^?35]Dc(JrۣzJzBU>UPo>7no' d:9QXHS7 (6j ^.E2ՄGf0u#O`s0lDiq/>qœZcZ,aqc^} ke"|װKgf}>ħ}b{s1WPT#8d Jt`&x.2A.xzJlf*huИC'm9rqy;|}tSsB9G?dӌO۟OD:+k|sr0d)L۾?X?p&ߩ E}C03RqLi'= ͥx>ndg$+Fbѷ֢^r#߻ݣj5:Q>yg>q$[Ҫ;olO\6Fq||)zSaX~ǫ=GJnöٌ~?{|8\f)^gPTȺIJV UTIAf\qc/EJdKֳx? 1WWԿodޟB#>b?lGaOQW 5t{>H.\:/wҺ~`{jq}vׯľB)׎:1^Hr^uo$b:`Tˤ|v*{XWDDft-h?['IO+qDp:=anD\<„{}Oh{z MHޭf !J xϐY ko} 1]N08۷Q??A; +?w^W=;Z:K|#OH9}(:>]ܹ/ &цS )T \uZ0BHqGʷ~ x(1"dh:~^믳ATmOߡ_f!@FܳPϑ5Hkҩ4A̰A 7䲡ْ/ϼ A*j2H1i> R8o.!o*)e׷ HIyE|@H Gܡy1hazr]7iR;2x31Ӹ['o}ٕx/_DA?p 3D/Z$t!1)/Fi= Lf0eo*;>xc!x*iiW\WPرtxO*߀Jtmkիli&6a(COgp{^qWϣtdkZe"U&st|_dx!q`@Noq]['{Ϧ=qKgGBzz# ,0GLvNyzoқ@#.i֜.oj7x\#׆Љ^N)ϯ݇9| n_o[=? Ĥbܖwy $KS.nj뷌G# 5)wG+!rٽE߫@8bw)pF`#wO/yN: L|:?Ί xMs{slős۬Oa*& L P%b da. E$;.j d Je'6 Pǻ!Sa kTW]-vX^Fdl=z,7[ 1<sG'ke0un4ipFxK+6h+dȻ R7}z%ŵ5bC<ڪXe aA{O?,7/$mECk%ıUT1-5ihmO>9&ȉ],D4Z_O{?n'&-RjIeã"tdFÓn!BJ;mӞU蜙ɛ՛1R(4lN{M&*i0 wꡣ)zP9B6>m$I'p:A9D?‪5_pd|܋ Ϋ~wW˫}=۷6{1"0@9ni?Fܐ z9s8A%jW(St5{=P`/p[|<Ǻ<=z$βt&#}w߶?3Ca!eݬ:G?e-#B+uzovJ]o![ӵcM=;`.2. l6nG`Uô60ҔR5-綜{1yq$4v/S!n7VrFo_r eF[rt k7KuG{Zc1qlZi_`;HsoB2,u}<^{/jK_hYSDgWl;a{?^GZF#6e87my-w=m؂zJ;|?/A)(!Tӽ8;|R2-LC{)}GRBtτ!Rx6c!S3OOʸis܇]-KnMȻ:[l7#p۾M56ѫ+ 9?Qy[5lե.%QeE p đ.@z ?Gsn ʈ}URH$p'ͅ 2gY-aWP=:C\i6P~+ii ~ {˰?*cli+kŚ 9 XYfaeq59ƿ }tYttvPZfI Wf',.!ou:L.ko"Aj{/_CY;]zx^LGuilo{-6^#$_>S{{rXef#heQʟo\0~1_|zxmR:R&Ez"Upf,UTJ1@3c2owsw$B_}6*~z ;MQEJ^)f "I8Y ͱ'H\$r 3q3^~M\mbF[j[Å_7D|uo=4lRG[&)OgeMu7 q !t3R#J'(D1_*+fxj.@zǨg؈[@,|xN_)B 9&?;f N!p2H?hw4l z[l 0F$!dvMBsNvts'LNC8t'Y-%: $@~ĩB!~{tjaibNNA)Z" DR;0J@PBSU1@ҀRH"Rȱ̩ҬR%@INM0PS%, !HR/sQariWJ)^.DN C `!/*AJP Z HJ&Aiz/R!JBBEu8oO({(A "  rj@OO { P. HL򓐣!?ށv0QX ǝ85]_Iw+Q"A @TLUS^ 6Bh~T -PL? @Rh>0Fd6>޲G?>ӝ >K}M?e֏p?4NY^P@THa;baB,bTbRaiM)X6M@K"a f36(%Eʷi-PN-KM1e 0Y0/TF]D`γW7;~/},/%ӛ8S\vB'3O"׭ZK`=< ?>_"au:]'_ٴ,x`DJU"E> SLvr߾t ck>^=P_KN LрVeVlRb Q-\ߢQ[dBxp0x'i~Iy- =8]} xUx7{ 1%,Ӈ#,kWv9^V˥o7}܈=Z(RvF>] ^iOn.}=c6h9 M}(~fG#%dQR( 0!EbҞh{Wvya 8xĀ@@iS۞:9զ1$4@$ZPfCyP;xwG2$XH}D(7s$# J?6T>hB~kaОznƃA$;nH>i=7XT!QNyPڝKSc9t'b#m?8dyϲiAϬ8D^"BcQ܈RH&A/sߟ(5da{܀{m6ݮB nچݣJeq wn#=~ U,VۖJ_yv:N*33ڂb+a$U{:}kPUmU!<x|sƱ6Urcn#:7atW_`xc! %:[R<@$s\H0tPPןb O?>ZK-oa *O5V ._l_bR??bO> tҡ!*l"UwA ꎼ}x (7DDiu ;TDD[_;y~41E M+N1G:y0EwH_vhEUD|Q+Yd6Jw{?t9h6dBr?KOr{ k `\`u +pLA nPϣ~:2UKI^zSPΓDMpwQ )uK"]* 3X!X(\˻1wpwD4(l:c< ޾xh?Lɣ:/+="YnPoQ0J%cr +'{{ ;V鵆HtgKڈt]Yk"aQQ.xb }z$%/ݘ5"znk r|1cQJ@ޝqoSf*AImɬ >M%*b/8]Rd"dHJcNw R|# %a~hY<7A4uDb`IVYY©;&I7Onx4oEx4`/1< ES0p 5Dt1Eb [c1T@LK4 a{=Bwkݹ&bb»yoW |LFN'anrEg~aM+pP\ܤ'ᦗb42opٷ!W@ MB/lϖCf E030&-)*";Ɯp=ŀ>87kͼX6maiC=(4ITBQ^;?&Q?:?ƙѓ(pWä pKꊱ d"QU_Cy/8cIQ(ai{Ƃȧd-/-8ϏP׾L,{lc±kR {/2 AxV -O( ^mꢜq} b>V y.@tL2g#]-h NxƟRp8]u9{>akT[G?@1'UxE}Y9&2ܹe-3>Ej~1埩-똚ul)0 :5a%pަ&u;60<ׁ7VBuެӥ{1ُNH`5O sZqb ۹F͛F{1R PK>Un@8F#Tំ-m/j/R ^gQishGU)t\GQBİaiH#G4Zupw1H#,Btdi.ΓI4b9pjR&b8B HVnV }خ7 j>0,bg3`Oh?p%<(A!"weW.}~KT  A}9>n:ђh+Tą +/}n#1,˒SϽ 6i>*3zhA=>=9z^D8z;`~Q i dХ "Vq岧h8/hldhlտ,._@.0 C.;݊J5% 0OOe{] x!Gt{{GlkrC Dt/oyOI'lmޖC9` +d*_&,c-R&ensgѓ:eDzmn]p.ʱ_\W d AUP]zXT0-Un âg 1%F9 ,kem|MyƢV,sۄRACgڽg;hAc uN p<:BH,R:CJ%DGF04Us<㿖g|XT6RE$ G_8cÞ:iT4vfλ6Umv.m\3>~bEZU$(~@i*~RbѤY]dVn*ӂ͢9W|zN٫(l /gl,`Yn42Y%^/19yv2?ҙou,lm\6!% BS̵Z/0;^s@ML,|eX<zK TʵzF3p+iH]V;V 2c";ex(,ӵmbDJS_aGpϜ("DK|ͪܗ|4|8B[l5V,E"!ƔSj,WJ*'--;i& ,"[rg e-GW)3yV+6S7] UH|!}්?:Ҵѹ& U0ٵq;axcoz&W"%4o);e`AUG!M"Eg%G""Hsl'W {#ϧEt9&~ تOg/^/_;u_֮xv'P sZv )šP}(/ZO:&,wf(7#ÄbjBJ"pl#m!?Id'?@rG?9AZ )~?kFX,-1 I_7?!O|gOG]C4pS<<seu-y-N@E MشH aGw3Lޝ빠uOs >܀Π8S@C)K^V^C(C4kXh+0atl.e!Jv8^]Jh6cdRXN_IO _.ȓVsj~LDG۴R(C55fiN̑tԝR+2SxEƵDI\DvqD"XrɦQ0rb;fpDw `*i |jauT‘]K9-5(-&o4rAO\lIR<Uy=H_$/?Ib A` yq, Qp'@y$hHD{SJgHч`q aXkdr(V50V*b`dQbQCCSZtu04&*RS|̺phɲcP;!w0Bd $N)˨d ]!).9EA.fJ$)1ud f1s LIJu:E5S$GR9u/D=G 9ɤPSPh/ i梴 @\˒rX(uÜ^QHgLRJP:i}ȤbKBT6ڂ=ްu*uDؑNwTrN/ 7kJ:H=9 e<@vI!Ё C''^puxt/DAT<]@pKAziz"n`'p!%ԍa;Py'C?T?0iNp_イyK<7M'ӜUFr},:@:DB`t  L?\AKN*74.7P3Ɓ^L6m;ǀo1\ Q*8`<]}=ֈ@瓔"GaPoE%lyh"ڈ?j'~_Kh>J>2Ûɜ.ܴ5zW5@gG,Ü\C@V3yFgN'w";'kIf橬-]: P&__VͭLeM~~<}/\?R3]iE/i2HtW6ӳs8WK*bv"'G"О{F9cy=$@pW uDާ/D顫 A&?a54xFC "_dS1ו3~iv%"mDƹ0\PZ c,ZEFTϫHl"}3W BD$WrvÁ'3ë}_}Syگ{' `@O>D-wtMiews5̮kf3o11x: ']3ef 62Nxs7G^/7&?$? 1Vz/]hsOYP\fi92fo9s̖fvg_(:b6򼏢 2z@OpxY ?쥲!XRRt^)i$FA8/\gm Ztԓ;?Ìx=G`ᘪTUtɈێ߫N"*7DLDCCy}/^4OΊIZ32RX]]J ABTT)ϭi`6h:?OU;Gx)C;ye_u܏P~3A䞒.)SX>E: 7?o>&m.#xF/O_C)AKAHA (Ta e 7)c*Ӌ - =-`" 6)YCX`D>>oBV{o߈m!qOrɔU89]grl RD1q(AxiW‚h%:;-?$wb*jyf0?ah"d%xKQ"ʆFz<74'6faG8_G)C=9|~z echւl$T0UY?U3by(Fa tqTq!ӻ"6?kgZ#ȅ؝_jm\Ɏ?@ͻK!Ν2fETD3ci4YPX==@i8S`πk CّPB$Kx(ÁS4B-(\2/ 8,UmԷEfBtO ]µs2!BwRR'||9RxpvN$t sUׯո7"҂lǻǒo QCLaN {XmQ 10Y㪟ۂLӵ DWCJ 7ON^-*aPdLG @LA* bV""0AH:xzkg.@\b2ƞڞ=!=y=?{3XZY6V~ɊdItāV?LG_f_jgd`rhɆ?Q_ERZ!\,{8A;qXq!"c "`|;>_n^핷w Z  v,>_?=Vo M4FbYtOoˉO ߱OEpx!8)+H -yt FzLuLfДlw3;Yܳ6D ]OP[gX' d#+"[ф44yBE$zs{`ÿ`)x3Dp_0B8\<D{0(D}z!XХG}L}$nPxw!(6L>4~}'?U h?AD zHi񈏸/=FG=u8}WY)E+"8ۊʙTN׳j:ɮ`(` }="&`jQ$~ NP&uzf3&-vR9Ƭ!*f.՗R#4Q{1݉W^IVJ9;6 W]tC oD wv^V'Tl Nۃ81/# SB9;VT_{gؽ;g?W2^Fη2#J^7%c(\{㯯b>0"H$2{}zz o2^%vW[U,YbQWkJK{2MVŊsۊU<Q6]Y9 J2wsg&9vEJΌe'Ԕ77COrS 2B~z,Q'1RHG4O|N/߂q3+܎nQ bA) (95q.g^n(ڐRuTIvp|i|l͵{p˞6G^_y<."QG\1L9JE A@}`'N8fVh$&u*%jZ4zꝞTd/FtR*,.dMj˓^`ZP{qYfL<LEbxP>x $(@,4֎9Sk8Av/S׷(ǫ.zS-"%@x\VnbV8TX:#+ί5;tEnN6״!g~jK1>^3ަ8l2ԍsPcWFxInRt]keɲ'"d:kjbTIȤo9UC]y{5&p4O6$* 7ZY=\VBU[Pr"g%Ȯ=NK zL1" 0H m"ЊtPEFν]$M4禳z]˶M" k%]0[Q!R!PB=-~S sUgsh~5J8A%J֒)EڮʔaCLKFu=͆p`{Πu( Kڮڀ'q_J<#Z}XN7omz# ~8JW&`kgx іc:In@TP3pR,bcU崊&^6-J-~U^JܕEH>љ̧s|,>wi \7p0Q7 cTaFgQ oBp>hlMf?jRπϳ.#g^(cjP^5kwИT*]h#mXn yЋeMU.9`(^S%T\̸eq:Zo:AE<ȃXEI&`FRH˔鬟Ց*RVB8jѤ 0Y\8р ~8OFIit!HAXjt=mK7 p`k0`G k,0^f̀aEQHN6Ghck4ko(<qy<3ٜZ yo6PLKZ0oyZHzF @G`d9W|TvXìT8 xy Js6eQ*nMȩB%GI$A{?pOur+\?N_?x0;,ku|qE>ö**&Bꕣ^@P Z0u6[wx$"; VMyPl M`(< b ,7pkܝf;t ۳ns h3<^Ǧ㣳P (|f[-Mhzdžj3 [ !tiI# =:P(jd-@ǏFK.7,xvacܴ jb &1є!F)@tG~~P{"wG̡ܩ0hboΚОHa0?fGewR/ b&/c9 m, {bH MC/Faml=tYC>Jj$_ @o`} ~B6UP n! |1E>t;AOg<y}mJ=GJVv|a7hfAv@)EyH,&ʕꧥK "Fp:ycLszfPT#1ccnf#@\W`Ӳ[Ӗg,F_sx(;UlC C̈́"Q.ʵe ˶qEcǭs‚1_,$ne]㕶۱!3m;ó^mI'  z'k9q{>H=EְzI_C/,N/!9v*V[@U 4OeV0"0brqW(?qTj %Ų*]qļ%3x+(f&+<QJP(m74':A6T 'Xc:!{vsˌ67aMST&`)S "ӭ@O= v=DIywCt0e{a;G)xzw ^AT̈́H z(uUJT0@5W-^9oc K\߮Qढ़[0ܕY@;5oTIJՀY =dM F* ^ʂO(_¯Cv6}>Nd٘>!׳0j\BIKdnm5{NXa]`現yN!.BA(I" ޗA›+$)˪Ƿ,3o9'nqq8ؗp6XLQm Ne33ə_S e9rϗKXIG`UVܣyyo_E-7tx^omgXt:\;;6phU=+ذY8JBީR;S}YD,͡3SqU>Ap+6brE7v8S~9d7LkN7xׄ ģLUq럟FyO;ټ2"6}6Zj(@m>1wf䳹FQ;[x(?{Wso`,:-qkJևCzcB"[8X XKR諭rl B#Fx9\֕QQT8~l!k$TbFe_+(9I|@pL.y RQo/7?2ѩz{YW.,I9;!M"'aâ:[k.O;MR>-|U]HyV֞Qf[콌s,"~J z#0;\-4=q** 6YgmuSˌ/Lo'HtuX#Oq&;21 "_ ,nFh5ʬf*|B;f`SK<9&}DdSϻUQ_{oꐨ`(R{/1ktT,qOhףmvMdODm}qYHA*M^*Gj=P{#IoGzq&M/[94V%uޯ|cGN˚.)᪈eHugh^8{W @߅^<:rxkL6N]U^mEP:=Kraa:ulM >q~|5p~n|K'{m;SeGP! uo#iO}Pn]m+Ó-_ctIT))p8,ș"ßE Pj@3EKXkk۹Bz[!Z0Q BgDmɮӣ=tET)NX}%ӆ}tHh{*aU.m< s) zaV# G@TjyGq1^ zso)#貞yjT~䰗+J:!aH#pn~ f[kCҕ"d)@ wG5Џh>%i=n׍LӰ8*RYj{.,eN n$ $ ea_` e$ e15T`S>őC!X6`M 5W Qt2(&B©!~\vTBlw/#^8eKL,/Raa]u|{s؟o]!I>"FHb zwvxr{ytI,YIZU>M}}α*"| ?:T N]|eK6aJHu?U#Yqn(>_"27QJtDᔁ@Q@E~- @qQv˫^6R6 'od2#4Qgt%ߥjh ` [wK~%mH0s3u/"G޿_3cBwz=9OBBDE1R)MU4THD e}G?N??4sfOD@3A"'C?ZEBڀ?Qk`?Bny#F#Br =I/?suz`A~_f+v7];cCDHPIj /A 4/~ENrW̐ V !j#"$,4UrtSHDq"ѠEt1ːr+T=?(($('dheL{-5N"^XYEpqөXjfC9#Q,;Ngh0p&F?L&1J qZ"ԥ#SDŽiwdb8֩XPFrִ]1M͂hb`](Jm-^q*! LQM 5AT1 SQ"SC4DUXȏ^I)}/*ykrX-s!p- ,Rl aN@qK&Hʀn_L?~UBrP( 3*Oc,"I.NTdFf:U"`sdz~3/ T}pAY> |#:!d ljı"~OۥYpՌ*_W@p@7A:{Ǭwfg4 $U3Ӹ?%Bs#"kMX42b'X,w((Dsi>GH |X2KbH $N$#H t8Ta*C%z%yBg-Kn `)Q3G;Cȱghc{]{PTF#$='׸ i<Kd"0?TVZފБU@UݱUvݽE~H=HU1QMPE  ^ 2CsK} Xf}B lǬin‰+;(`65awCd6o8rx0} gn! xė C C)h=d˻VVu'p<xI$30$MŇTIњz/0o;'Tv'v_afmCYВuDEW*U_*<"m)x[}<2׉NS2NfJed] FM6r6TȘ Ux(lpV&rv:1n0D=k.FZdywYَsSWk}Md.T.KQ-Bf;8f`68I|_e:G"{pppbH)&%`r7UxAXS~ҤHjU_ΰӂe=i8"eO ǃrM`fH 48R&(fn 8pxgE;䅭"hi^%znRZ-5yJ4[PSDG jt጗rH؝$LYCҔ0rt% CTE$uL_0 @@G L !tP^*DOE}I7GjI}?!}z >!^5CE\0{zs;ǽT_P oѰ:%,Yov Wsj)V^M"Ȫ^*|BHxPZ}Qc!BADH}C d"w ᯇ,vq:%rEt~Z]n{꾷&3WQ&<1"G d׹)))m6~PngbJNvaތU K8pMmU}xD'^O-!Ǔ> Ve')8x}8k$uNȂ{Bϗc="EU}S3:#UgM">ǀ`AWIH^wg8vDWUrc&VAFjzob!Oٕ9yv)B2@lEjkA8vۜʯÁ2qUTਫ਼+  : H ,UkO-Ì`Z@0șD|cy(܀<ʝP[5*.Uzұ/;!Uq^>s u@ ^ gvyCWIż@D{wmot9Qmo`0.šcHŨ!QB:iBUl9ZܶzvVzTĄ޼v0C| L6XQ[l=κW6Dq|}4?GP92OB y3ܘZ 1LI i  sfH!07x7ɐַX9NcX@'#0$PEpSŵ. rdGCXsI&`nNOWt8a7H=X6@XT}M;q|<{MxI`hv!}paos6Da4:&,khxUQ] ;!2~*(P WDk;Tut##9&-S)\9(b"!@buJgt} aE>\4ŸIDP{G1zP8|=7<֟2[\Ftʰbܺ4sHPhZT<~˧Јn' Z7lQ;9kᩭ(#Vkˈ}G"o Yp!EPX, ɎF)E2aE>@=A-*IMf8cf}jNj iXvyY3O[48 "";-FtU]HeH@{ Avna?Mw}oRUWkvDŽ aLV 'cLKUU5Jff(9# (9E;`:le&=ZUPH6.z 6%A&QPPtS,fvڇ-zY! mjr_𚆁 t-Qg䒐 LvU/TP /iYpR+{VCCmxiˌG#w|sJ4,q" MgHCfrI7hw.&7Ta@ w5EG:J9Xx5b:QR˸GESj(bRLs׸;{~5^Я3m1ݦx-d*miT j?4A3SNƨ @NNZ*ʆɐrkQ&!_f7D+ D:JxIÜcEtDD0]}(T*D!}1# (G·0DRNL蝃R/E`m B& I`9{䪤Tư;`L_ sQ;i xzibrf$qr,=>4b9>034Sr (UUUUQUAWI'Z/l0z+םP49B̄'}1{PɩAw^\iV5}1V9>@ߚEH~HÙr[nT_˟p̓vq >F'gN@{Y.; <Q!U_W6NסMXN;(!؈q~qҎ۽8Wxϸq(OKwJ]dtHG}U^ɕK**]C@l U4 vD0(NW99Ivbm~OIҫ(:f\4JݹnͥN"A̗.0w`k~_9Z{hl?tŊG| 2e6{|}pu!EEVkz7܅Y;weCJ{>gWz1_992C8կNRg^מ%gֳ}O pJsqdIG7@i)(#)kP`4ˎ16I1QBb"iiPlCCxM nQ~:zԨWRik# ŜDqEJi"(rgo1(Bˠ :rnE}9{T=pL)Z PdJ_((|shkũ1 *!=l/5(.SBԥG;yw2Z玾x*2 ŇiQMaIiͅ怚Сf`].*Z<Vy-7(-t5Uv(Ua[ _&;TcuM`Nat8D+"4}hF>ǗyOP>`Xs  vI;acWUxeK8:rrh~a xm%fܰ fYQ:C#j+RIP4!HR+U_ u?c:Y%) t[NI{@CMBp}βq77Baqz|_43H PZcdSoY,тXotnma;T=ƽcsOXvXDN2@Q/AD>u6CzD< @sNRсD' םs @2~R"(&<{zMbs/:`soKqiUٽkHm@ q9;ora0P9Xf&qy0է['`dlCbcVRʅ̖6P>9asИ~;{笈AL\{zmAS]>4b38ly4AS򛝽^g4p;OnἊ"yǼs Abeu0e(L#wIU!(VP0`78* 8D4h2m``4)w,1(,v<|ƊbKZ#dzY[4͊hjtQ\)h0@|.!X =X,W M)E-4E)B]J.yOs~KΎ*AG.ٜCmJcWkULB7$a*(Ji $UAAb("< ě3T؀}؀x;BXw>VUo&=ˤ c㳘E@aB9&;!>iasK9)xf2o/=GKTDDžyT((?IªjSh9),H"pg&#m#_ntb){$Q4rMDƊ-jY9:Nng߀H T?$MoI=yv `X(MHVOyJi +p%>"T(b"虣aҘ2auix}n*QM@)rƀNg0JB D9 h?AFwPM{H˻LfvJ0|d@9 G/k56ќͭ@uJqHm K s:4J^ n@$ 2O8{P)<y M.SbF@8xeopWdyD8M‰ˏ b' 2$84MH}8"NlQT3OAمg"`•K y޷h70qN ~ bD1 [GĔϲGT}fR*<#N\SH*t7C@&0 xڨTAtwe :5 !Өqvy1¤b5tNHy|F"v8>d莚ϻZ1 z1քikԆ7:$;NRGhY}^S96;c:Y!Frkvjp8C UP(XTF!Bt<`@ YM=sq/t&HcX RqrwL.ﻉSEt58ӓrH }\w6\wU"Co7s(uW8q6pL!琫]+4} =ݓY 1?|UK (,]E)t5|6 U^*2 *D("@Z@U(%DyA,m=ĵA {0^kCSlSDS >^,K`6~TAvp9F:5"ULb-#elS,;qJc@Ft oBI4K }A .MXn * e_q͏ +ݕJzCzVxΊ6:Zъ./E:ź)Hqh̉w yJQcfy;fPQ"MCC6ӊXҸwLXV*{\ s|&[6 U :2Ith߃6`C{8#_xMěSW`8$m4ɶV.'A{OPԝpi pFx\;YOv!mlO?1;aTUhE5 *3==\[,9b;D sw!sNc/!RѥBd*K`TD;nૐ@& p8EW*> D9vd0&EzSrj;~^i(I*2#9|˯ N\5/M$4 P(stj+-bCĸhعPZt:?H8̳!$?TƇò):ՓکA/9WQc Q3!C/*G'b#X$Y!A^}c2I6ed1{SUyȷ{6,0쑱,3FmgtKNA Bk[ !87-80HCq<: $fɮ'!ÀH&A0h6ea=CcB 6R(Lnl=C$B"\PD65{O]Q_NW,Zz{/ zG^IIq5+_]S4>4jl]QtͲx!2>|<0#YT gH QC~xRRf=D%*~6PiI 40ù:&yX|Ĝ)MPD =C߿|0r@f]mm0.@)FeE틮Ww8yECMMSdbR4v>&\K.H\` `Ru8UfXFB(vb"^_eG>3$ 9;l-Q;۞o2\2xþ\7AUX߉ hai'MJ#(fh wNG"zG2r<"~o풓j}c׀H %rJ- =NpJp2 >Q`mFŠ 1"|Ϲ9x K^u;!'0w&NѧleDyO Oè˻U\^x]qqUjĈvx$V m;\e؍iu2cQf}kDoÔ-8v,(2! ¬VYh6Ԯr%\anz!oq,(mdRH'B-ʢm=N;W3Il8M- C ( S:T% z>få,I<\&N7;qyT^F\mgK BɒX?VdK?J?QQz`":%O8j/>fY #4l(%@4=t/佴N꿊ԵS0e tQeE P YBB]w}x2!"`].)A1Q/(28h3 %f+LfzwNm[%$pkk; vel ɔx<©"Q9=`H f pԧ.Yvd]`ߥWz~ÉNpu.IY,\*b)cZR0'gnv>G(5ӦNRv^a͡k{4޼𥤧19BYQ#y}D h"KDG/'pR9.`HWK88DG[zߵH<EɌ^ZX67tGYcIlMcJp] B՞RBP5fjV$(IB# G|i囷9>5U\^xHE>gl-%%g:}4R1)1TmBM./N}v(|1Xҟm*8GgJZ7 li576эs+AVg71^R#P-RQgFrH:Wp4Z5 mU:U] qƻ.Я퇬'SwMkF哙rwC^8fͻW.[ƍHܳ Ia26閱^ũpԮOdj+A'1̹Ӽb٠|`e?*W'`wI$gCmZ"^s]Ƞ|~AR{Aw tvl{%EDY"y5cYUET`}\$CY?&#tR~t ͊|; $Y@`(f%BP3U4UW,h+l-`Xg S>Y0c%ݜh]c`zyMQee=6(Dliq̒HG!]ї>={* )48wyt 7xB,H7U2t*1hy 9Pkoazp6tBw'@ ! eH0c_]|ًstdjwm\npg l)>dHtZ;Pk4 [U{i@ :5z^U?E 8x^HT+r`#h195\B [+PwJfP <RK@(zE+:%0 UXȚ҆XC H/O+TT+s=(wXw(QDknJVI$ :m(,& ="AMsө1UUtV2_H :#9}`]FViQV<@n` ׏!`+uPrwF(i+΅HAwb7*XQAd{CKUy<E6>A@i9nQ}0=0s" >6:T.;azf5]Xd7} rh=Ƕu]],<=U_><G #tUpw^}=ۛc01P0D!XC w TUx$" h!TʾȁT8b&<^^9 c"$O7{J붇MU@4 EwHw)ɐ! 1{^ sh7Fwv4<"_ǿŁ|B'Z PqRVġ`2#;,)~ȧ;qUvZ: @Gv`>T Q󓳪a1J,#x\v,4qN'M4T32A{  ~&Cv\geHVNƤNj O)BHS;'b(gR2lKJ}`^=hkz_3qB"bAu Jg4i9v@?^ҘL%ߥb}g/{=>9n[J5K6ƸoVLU_\*X*]LS>x&8[VE]Vk;1 niEfQPg[SC`" r3ˀCü8$%Qb=pSmERpyo; ?E>@j HiqX7D dh嘋3~ ֣DiTEzJ(*?'筝54) Jз? ̆`BpvIP¨통~GR1nTυ*veBBe-I4dȊ)V)#xWZD{vG3]`>,OBF[6aRAw8jiƦ=FʧDЅe?80x(]{Ukjx\홋tTZ-r+&WlGIxHQ JVʫˉ(R1xЄ T31ke /uZ^SƘY?XC? S"3[%av^+8@-W%;tqITru  FHbU=^m^x|2zC8P=LȳѣFtpDE" 0;|??CdpIu:^dkGt<޼yq>YVc=$"Ý $~'oI粊qHKx`syvӺr1^z/ oc F݃ǔn<8wdGTbDd}@8$U$0E(Z;r:)=W.9I<Iɤ_l"\_:ZoY,upY mOCc#'"/ZΘM+$-01Hf$u sEl0!Pw :tR(({̓Nڈ^ΓDA$ Z|65yyCv]*SZBPU.%\ (I$GIE9vqhzMzx=xq99^!S]5󙍀8wAxCTq,%DW&k~wsrp#X*oh2P 0CiO5m(Kצ"NHCGGLW8KE:5>BͲN7xq tӣiaGH<-BLl,˥v>ON~4tPr{D$[g7r/_XysrC|Jzǜb%֐rߴ"M4𐏆co#|CmQ1rLA8gdU(MnD I_zTQHA vЄGA567`KhEi*nvz (z w<9os::/!!MI{{{dg!qCNmͨ -&u65W762<#?7yHX98T)j^"`A (4!BB{aN=BH(S/?w^? X2"AG&VkU@<-cvƷhaF\8(k.o:yvJJzhnj֨YG_o kGgZ8T3W$|=L:<-T}Hunu:o| OijLCI` R#M`r!Q_ {J*UsyݹSS9ӟ >$a Гxb($6dmgtVsXBW]4<\IωvA ãǧv(ߋ30ןwu&0\wtHt悩=YBk9p @ iM^󾵽-#˷~3ӱ$ RA= B3ݼ-rßFDnF)߽|Pqܖl.9dSb?'=9WyLG6C{cqM Gg&!b:Hw=I s DV*xW!3 8yL@@50KJ x\&42K<(=G!t 3%s鿣+^I;{V^䆺:NzwVFM:8ґ|57Q'Kn TG)#'G)B'< :7vBE@}m hlR(CwֺmtӀnv؏N<<75HE$96P"mXkQ#s}gMS "S18" imo.yȵRF[⣊|Fw,=zz/'ߎ9zn^|Cq0H/J* o CN@/}Bf)h&f,W4I a8^F-Eq54xxk l%A]'[ ఈbC/=Z6őd S61F$)x7<8 Nl=J :+B1"BeGw7;QA5%ԦōLcIĄ')'}-.4PE&o7'+u"5={{:J񴫜Cdy9Z4 J Q]j"hkKD'vZx5*U[ܦzRj.Qx#2g/"(lK絣1>!<߅ע Ȃ@}*(0@Nw͜H;'`t "(B(l !&0PDGp5=Ӕg/(u7 0'ru1CYx㵽{[5=Hz"tǍ:MAfWL}RI=6X٩v(HPл'=(]TN0Iw$UB-HTKGq}h;;4;q(LO"d<58Rw7wHjI#wr鞛쥝g8/.=њ8#qwv)6a sl$2$l`NvwSv7JGbvlf 5&Zq@ig4` rt)eF6 6U-'`Djpp5zoCv:.{r##]%ddj`ZI_>U-$o} )tOqNz!{#[/[ԅ7s s$ 0s/{4h~׮\+k@b09])*"^\]c>$# <@N=:@dNeHȇ lRHUA yca Ȥ,shh '2QHeC"` k/=ng ގق*cۺs !6s۫rB<, $!#xz( DTM?c>/4_xϧJu;ѥQ0EHE)|k`Ʈm0H0 d &IBTaڨ`( *"}zx  'iP4 R}񚁂OĤC N!D' PZ`%{E]*Iy?'܈]2¥>ă#M|ly(ryYJf ЉnLEEEYlJA\f?)YK&!3&¶H !'i,!ӑ9kDf[Rʩv2c/:u6Y1> 6< tb)øs1!30 ن`Bɪ8s.rPb2KiO5"RFܬ(MF޷sj-CkrZ#|EV9 # !GJOl1(PR(DN PdFā _ֶo[`=5qK((xlrN'>HQBEX=NSyXm9M"rp!L@!hHV_rJ }PD=oKFu"dy{~mO>z H%cg[!tw=w!H%x:Ɣ3(l:k75Q<bB)!۷Owd3t4Yib\%fT5fV$#5 #"͐/oӓ2n3Z~$M"h؏NQENT#"C$AXr9y{Ōی4'OE8gH3S^J((x˴T#mXքኳcȹPbC*wNa0Ƕ;uTi0R^2HH$S^e6ߴVp72'-Pg!dPI!Xkp) 6PFP ?T,΄ika(}QE1*n0Kr,~nĂ(ȁ!kqt~0Ih#쐓ޡX,%)b@` %=^(B5t4=;GMD$9f]beLxD) **'7ކJ .tNc8Z tQNn% Wi57kj6[cP[XmG u$=b^ֱpj6$^\ )c[f iS@e-c@A d ymy@@:2O aU.Y":fhfEeڢyz0;P iixǂ33ⱂ)7ڀ"c0CzBpn6}|M Y2Zb%u,i q_)P_ӂ@# "ʙPԮS= Eaf=hdSn]۵7xHt! Ѹ?MgXCaZӒwÛ=CAEoG63h5|M\1hHjЇDQ z/2yo>V)G4,l~gRo!}q&Y^]W+吺#8 JqәeRL_ad4V̢"< TրF [k;N46^أ~S'bSIuIcI 8e(T z7!~Gv__pLCJC8m#IqR(~w(u Y!?XP^G! )*s_n%#* 4&VD B(TX@/]d !HpxEyh)BJI0RFPC!+ۻ&:H2P2ac{. ͖p'ԗ90bm1O$ѼL h归0`r8X Ud v :9&tLQPh)jö~؂2 :qP>0?zDoU&m4> vp`/S*S ®+ m6Cq䟖G::I.C`Έ{w&Y7i!Snr֊tkRS7$!R`]݆ G(3-p T„[(FMULZJn\5LEI:Bċ@Vi&LIpI'Te6G@oNf1t0I¹}="Ck)Ȑ< +z,/?| 5Æ/[&bM[:\h8"!ζE.> FF8iVD萝)qoc2ٻ,3򋦘\̷2cЉD5h[ Rwoj*px>kL%lC}7ywA~|:'Vǎ?)<"~i!@@#r 3=`Av!G̐G?t_*Iy<(>MmL&l~,Cx(H jA}_ )TowϝaRk`tp@&ۭƦ6\\mk[ShiA &$HuxtDLLt ^@J#KԯPpԼ6B=W};n }(`ע P<$u̪󜰁 ז8Y j90Gi|tZļ}5{HWׂ1WXW.,Ie F`-DCQU,?1'1TOXYri`:пSԞ:{%h5> N~h$HA`%aN#n Wz`[ p8A∋H?|~VuF3 s[fk'+i#$PM ,H/ }0**U3 F {Ȅ y Q8LzjR{谀~ӳ=l GϿok~qO݀ $ Ik<kO9 2$A/Q#O4!k_^Bq7;?t~AH柘RJR$Kˡ" ZXHxE8Vw8[[(ΑǞBºmAv#ԍ MFㇲpȞNFn JJHHdyxg ZtW H/V-aܸ|xT&QD =KY=xTRP BP&\ArABkӮyk<~f߇8(GD W?-ѼKS_(E^Wu| I?azyh]gJ52 c';PJNuG2I< +Hˡi߾ˤc_cvo[ ),DH! TQ(`膢J}=׷`^uT&ؐX+ f6rJE.*d$5#4Vۛ,a{*yfM&@FXbnZBc֪J-x$2}&W+Q IE""Q$GQ0c0K5*e?>OA!)„^wz9G@uӤ2W렐D@wX.p<8qȧa"̼Xx{CKAɀ|^=)sXC`*Ff:S F]DR#]{ ̚ w]P )}[예WeJ }0'ۢQI<2'k3(" ->8&9W;4lBÙXXD+]ۜqQ`a9ʢlT Auh.PՊ0(:#vփ*-Y 5T5yR(I:R`E)$ 2`Jv&[rU) 0RR0k."+цInK6l6DD Df3Xզ9W4n.|{@ PByǧ}rJ)t?#}|1*d|e& cb0DQɺFu!.H/(8bϓI#[[Nniu6RSu2.8R!]l⪆2fD2]VDq?L0 ~4PθZyD{Z&B $g/?خ KCxy1n 6P1o`Se87 5:s kzaW(9!̜ӌXTҡ R)1fx\¡R.)J#Qs056`e!h45%jdSg&%"h,91DP49Sf0`e3ʞA3ءhTh(nB AZ3 K,5I2HQ91)]i&i*b"" b"b%&J& `"BYJ 2(&a(ňЦJH 9'G&85QdVlY3FP!b@`:mH}~t~yNU-THkFRDm EX%ܿ8\y}„ެ&.ϲDٵ%sc}McP)̊06 Ϧm`2]rLD$1 <$Bj DG]y`TvI%>DNwQղ sluΣ6$Y苍-gnlKNdq*!76~x%hS4PLq5DK2pK+Mx0bs6+py azXv%E8/Cbi۩@b |ʬV(@yUXg˕ǰ!6 {?ה?wv{F%Cd"82,rݠB$d<>xSG" Hvga6M#\$*v 1(CR8 \+x9(:~{h"\)@l+X9us1q` ٚ~]oؐV0C, /C-\A0Rr6тXxT֌BڸWp/1@ [pfoH!mr0ts};lҢu=RH~~f|^vv! $ѿSgNҰq,dnQF !!Bڐ k1iPLhD;d,CUDHPRW}c! IXaTDUdߝ(5B 'V 1OB=ދyns*3ƺC҈Pl|$@_戇~w7G ֫a^;DRp#"fLQ7₆ 0hױBc LD!mtTҠbE<PP|z2<nd@d!Xbwu(D" "4D?դV'Ryh jeAjr686\LBkA[6K5gR͞k  fwYxũ0fT=e2̂uhRfL mb`F#.H`ZSmz֞Ilu8;!RgK+ wv|) ~>I `O^[g <|<$NzwLhIO{1CH1FI1} Ri'1'|0'KF7p;sq_nuع.Q6c'dnPH؝AO>5.B<]o0Ļ- JW@lD!dzdW},b+LDdMaJjtsM?lgcm5I1y|1T3/ T ONy"Ux#gn;waDIv22+L4a1-|ЊrW@+Y׆'H]nqrn)I7`m BIxoM:&nLJrt: 97wȰHI(i.c<ZU6& !rbA\k+sn  Qy / $$ vtw1:Gp ޓ`s ARĉJQjmL)CZTzC>3mdW,x%]rj@l,iK^jؒ<c o*!eb&$[Y1j! 7| ȆɜfH Cg" sY FۄU#OW7mE"Zn𹿫10EC* voui$>/-&C]&6ju ]ϬNx(Ʀcc;p~rsG+o9.:5kX CvuR9x*ȢL{N.À; $Ǐ's:~N( d 9a,kLa>t!; P/ D*(dqBiT0= XC9OP@(ci )o'ֹ>s}zmf AT'2~i 0!.|)3dReB<5ޡNLB&뙢$HgBҥ ʪWlCe9!U,J_"H"+R &?;L tqxt/*wBG!WX@̢N$"0fʈi]eZָ8QHI/|ʊ@CBLR%RL2D-" 4MRR2b- 5$Y/'ײS.!`;PTAa~28Ą<J?CrNw>6ԻJ_9ҜS#eXD^ϼ=DZԼ{[}Pʑ0okQXub'j!&FJh%$….f(UJTYac @7>!6*R 8S"%*z1?,1YJ&_¨\C`|ʈ()Ǫݷv36I#l#Ϛ*1U?jψC?t[O_~KIl'ߊOƇMVڜN%P̡p J)*b{M 1ﶷ"b3Iř:񃆮wxw(i|`헳\O%׀`c|F!=\ wAB@>[z88 )UpAfP _z@(z$͎܇ڵs3૥,d*0A|M"d= L"d_Qu2b4AAU@[0tJ 9rn&LOoaDGEy+DS|!"iNYXhC}dMQ<ѭIac#'s>Ϫka ]<0F>8"AQ1&pG>@> A(>P 7W?V 'OvclT]莱b& a/Xa<1RHQHIU I S5,%CMS22H BIH,$14:"%ZI$E`())"&Q&j R @YU f"Y B BĠ00؜A?>Oz+\#Bd֑?OѴ؆\խlʱV7) Cϥ|_+nRtx.Δ>w)i 5ΡC!db^1_M1. w5, ( I<ð__}70}?$5fJm"&YfOE-J|r,95'ZoqWk2 FO_RO(m1rn ig|UdXDUyD,.Wn){Ӧf`:C8j~mI% RwI9 'R̲H; $ #3IG_`~;?49W _GpGM7=xMq7P lKUHer@$AzH c^|x$]bS?˒o 1A`o5I*Cջj5x:=x{}gO߫ ̾Q:3ńrF٥p]hE:Vڊ6m8k\l#|[Mp˛44`qp1-0< ";Tۖ{ugWG L,T%Ʀ:[qr|.kG\ҨO-iѠd(kd(4\p,.sM*"@h}TDt9J4ѴGRu3~A4hH \S" dwk9=ѽgwyӷă DD(#➀7)I᮹wKP|'{O+ӈeqּu}snjfEFJZC^ {YoΨs^y9~\n!!-i2){~QQ=?wx8iko6L8N.{½vKTY"R|+K-83Hw:Ebۥڤbl>wwRuj) &+7q&6-}h52%/7=!+oiF 1&q\@KcLU'eSmͯ9GHhPVg_: xkўƽũf/R'tUH& /UEVYQ6zAs:cɮZ Ƽ\j!|vPmV&RXǻV\-xl8]NuNVkV\}vݫꮍ7oSWDWgMlDÍRiaLz&N2KYiu]x8x+:^+""2AB8491Wk\wG띎]u;+dm{*1_5^pȰ6)I&('KINs<k!eSu0=.sƴx53o#idQ_]=\\s\${%Hrc*=kZxtbܒJtCg 0EM\FplUiߌrun,:Rkј;vzq)Dmyρޥ|̫ lNn8 -;֐?+b"W׎`x  ǀPeJcA"yBVf'ƐZ\gy!)JJ)~<T8P ^jU=W6 R>O,$9{$Tį0{(>ʷOt5նSfao|4cpx昸ŹK!eQlع%hxCKjO1 NB(ܥTË* 6 ˠě2SW4B]Jvw*I> t{PGd%`xL0ְ+Lgw4ayaDAiyd%ǥ\W Q]HL|),mw(֭ɣ񹗺')LyST)"v?0W]ēFbz8rUh)0Wㅵp Vlt%y/赿'߬=?Wo~1yICRQ 8bp3Ws锬9G٭ bF溞8nW^Rycm?4g1 ks;Vz7.;_6V0\`y`p(4GO"ڮlAЫBQۧRg=zJ\tXSw5oAme Lq HL f )ELdg\BCJS,ۘI‘DDGjgFy1!k 54jY/=9]-5,A6H;GK{瞺5s܆INΆԼFw|g.B|\YrǪ%h;>'xqx"%AM!qw_]-d)N$J}_oW:A显‹ ճ(7""!쁤pS^|TqD$kgnxHER"7o^:h)c CrmFZG&1K=#~!*Ҩ_J(_A>0/?8(~ J"'!a <=N7=}.UU%QTM枹h* 9;LHfnRD;*"pU7[ɧ[`]0lA,1 b?n!r9-q3 ;uSPA PQC(P3%O=?apLej~/BGu41&t< 'v A6z Y:k!U9GI`cး+M6P]%!Զ2 R+J?^߰Y:Dd$QSAN؜ 6QA&>lL2\O G#kmB{*iV [q  p=3J`%[̷ҫX5 BY%x10蚑Ph( t%upKr[(3JKn )ތ:M;n-1hae^Z(A=yz^=КCɬG1q}4tĄ 3`u;J؇|EY**TL),G|eF%|HQcm 5dl8~ l|8#<v?!! p;UpqAX-W纞X1UY>> Ob[Ӡ;'j@|v*:Sw0AmOOOmo$n{xg-(z ^f[yaeGZk:ӂ/rGmz#Zme͚* Є0(H1՗w=LҨ5R;8d?q\uʣ-ۭ#7Rg`l"LԀ$߁!~f&8H=Dsf; Z`p' 6zgN<*,*Q@ 9#W)!x22NWJzǜE^0c˯^*qg0?bc9!@@(W   #?}BM4"|x!|; v|C>OF/C&IPGLS| S4!EP],%-vGGu8\ups@@u]d3Kf˺B.W)! 6ahnoߞ6k*j*m OEBd V< W%9qnIZtoJvh[w(}#D t}}lUA,PPla*?c=M 6I84BDw>Hj)bZC>O[O`E607{5pzL-)"|Ig.+Mcj땼tcr=ø\4fK㳯5F3 ˚oQs%chlc|No=KQ;CJ]&w6Σm4QJ-Ik"+ VZ\p l>d>5rb0+w6#ˎ`gYħuҲ"#U^rߥy␗><(0, +[ W2349jz>Jo2s{"rjBl 2i‚Kbk=Y ,0h r:oz^%8^'Y E- . G61`UeBKAB&k/m$Sf]gs̍'i\3%I$C}CH/Hv1СRV\HAGלvXNcjZZAc%:.%FbLM4hȘۮ'24\*N)HRRA ׺7H}YBƗ2LGĦ, k˾X* ބ$5څlRxE]6&Ǿ&u)x$JQ n0C:3r4"$K)&Y1%HD)3 FƱ0ph\!% @D-VN$mYi1ii,סV˜&d33I$XM:X%)]*SK@V2^rLog$bH+bB PH$2c7A- };hI ;jEB)j>7H %M9լ2IC) Qz$o&+B%A6*}JbU)UB&ʧoS?`D%R,HU$=Q_UTB$K LBES YyRRګ/Nf"D(kM$%Ÿ4i2G䄊HKȃ0KHD-D09K&Bw" >r !1vEٙ ^d@11 GM'\cM  B?<Nj6{O`ܪw"@D j~A߹ D,E' |CJ*GrХpSʔx@_ƃH!qaG!NZя=:.|2E_kUMiCED#+=d$@rBP uD4(aDypz EmL4=s2D DMuӲuX8S!l a5xc WoVNAl9)(Hns 1JtҸZ*1ft&(͔wJTh[ex)E(L q( "( @ ?oNGhrgF51DisE.)yZJg@٘xptēiǏ5 Kl TxD0-(b. .﬌'8 WyXm7 dm fӪQDd @ ؟t^yR4r6 2Wh2}H!@E0ј6|G8~ =NyCZ' `PdЕ@P@㵔 OCd;(d,.i?Oȡ7YZ2:3<|y~L0W:)ЀlD ~yH?ĕIL˳d:V'Ϯ""Ҵy>q.n;$5,猲)M!&ȁ -{TЌ דG߬4(Y__GchFnJ8llQ{ ZO):l`">ݤ D}Cv](;( E9rN@(6w2(`Z[cXav*R>TafnTIM()U7I@ң֫#? |F UYN4u'WQ%*,XEg7 >_1 lxcD?QȦD9;V b}eʢ{ڄ#6خ=' }(E0"֨}Aur qST1"hs~FDdTAJP^zjy@D)V:H TـE]6pnSZr+]u رL' vkB.;YX i@}Dx'd@rEМ( `"D3\FleZ.X=}`?oŭ9te9AH*C}9-??=f~:bcç$t&I }u\Cq EB۾a@CETj$j}q@(|_[TXGO7'KWOO}'7'S<&HE?Q:ɔO)w&ws 2˜pB袪S@E-ž}m܃OL,L%QˁTģ,>DqE -׊5@̩($/d<{M"!CԺSUQ:!|wF<ԡ(]$@FC\oLj%S‚ECxv*P<"pP?iks,3vhXBdsɓb GJ>n٥`rKNDJg*Vu L'@r3v3%a% 3 :+ɜ5y#!S X1A0 dLvm5SQlTׅc6<wA@pZѫO< &Tcsx h嚞95IW_7GIdWiC%īP%1B*Ch]`|<~yJH2'*4>~2-H`R\.CĻf5V:8y%0%M!#qA(BAD߽ϙfᣴ\F#$}Z25!RL#;##onAKLD F$) 61QQQU5Q'Bk uTt8>0{Kwj>) ? 1LHR&) %CnX,Q#P,s?S#Ϊbb6"맊D"Zb:6k7² 9o.^~D'C0uQV wS`z ~"{ 2("0I[9O;x^8(:5n3#MsF b'23M߬ Tj]-SHIISSTN[]D!IA!eZI T)$j VV "s PH$4@)i4XJ)ti"(aiBf@4:@@EȰ"|uҎatTDpvԔPpˮuT $fh(]B-S'd&#pY~=,UvC2g?DDE*i)("&(J)%#l NdOLjv$="ffmI5bS1"ѨYgΰr5 pI*TNYÌ4Z89!F9a銥PTFEc?v(s#H h^聡c'8%Pmu8ʭBHB!DH/#)DđL@UTILIPSQSQRU $A@TEL-ELPU14D=}1~%'lG)(Pٗ9k].kefs PGJLP`>;)_*<#KV. pDA'@'acP}aE7qIGRm*{@NI!$6nܿeE ˲ "]Rʩ@taT^ZOaäO@C(69t0E63CNssc+>ƿ_3 IJ H(n}bEYcC.3Բ")&5:~31.P_*%ʄyO\=i 䞙XHvڙ@Sq|`,7.GL`3,߂P[wv/_>vHF*`Y@UUURp0osZEmU"4R EzHQF ,yhփuf-ن*x Mb0X"DO'p[*ZmM+#~PaB?5KSaH*2*RUd/WH֬@S˟? $d*rZ{z H D> PSmO(6Q{ '$fKv!!%4(Q9jYfJ;+O0)Vנ"(H7:*:頍$lF2잟Rbm# TUR@7d?̐< gw= s20jf"QX/'z$#/T/dO|E (ĔcX'~@9yŨUۖ}Q-qK6 na4Gmc~C=\Б"W^mT%8k <7",$y%Tی߾kѾ^"w'dD,8#/"*+YΤ%BY=k憎 vRq{˷2jE`VRQퟸ6hʂ|ܡZ7&!3VzYae"P-ڊV=quIR/հ*Fr[;0~߹̐li1,EFfZ ˢ(;8NB=4JrhġC:١h%i,`ce=(:t,b~Dbznd)rE=cڗ]1 LA)&PiR(㻗' i F . "y21Toyr(3PDx^;!͹s$4 .ɽ,DAD vN#4PU.,FsaCtEL=t>@k'Ao>7) (h"ZbO #pp(3* z2l5E=ne73IФ>:tCgh0?tSZ DbۯH%wF%!gR37p&ծOZE;nM=;`OũO,F:QXDz|>TB8@zU7>) H"9#CVf7R}IinD #0c%;<{s_0.KރB,ZJ7H-6+mJSpFsҜMɣE4VN+vI!9o (aтrdɓF{=(v)UfG{j$NZ!({X>ϵ PGV#-JQa@2Cӗ<в7U$c5لC &kz>K9:qr2?z`dB(i' ({xS0ERw>g3o\T`O(S|@(M  NѶ@k[q#J\(,8G McؐOLHBoa)j{?㌥?JUDGGB Vp!'Z2HM4:'X[y#t Y`[?=7. 0:$iW!8wGVD%V],BDOŜ2=11stab?' ~L'oemQ1s_CC"{> APliɑ$8eDzqۅ Űsa<}&sQ)UHb?GguJb\,Q4XB>iXL2xuybw|GBu0){%&\oLOY:P @t`hoLW!ƃ8:vpdt [miap1;"]0)Aǘ|J!B܄݁RQ:"<9NYRk'؟fbxhM4 Z#S jXptܓ"h"ʝ"QQQy O18=/O"y&k6˻֦X5+9nTžea" R(D43{~ HfOٜ@m|T2?aݍ%QJ9T;J) )!7#'NAm5X8Eb7 4ZØVZ6u[ 5@M{8= +פ 10 |B DTA0j("0P=a;l;L~0';߆B4@>Emt`"wLdf gg;# 8Fl23 2JP O˲mI(YDPačlppB*4?={]0 O@Ky%g??!o'ze(+͆cj| ڄGln`D[w5>4:Dd(2<ΌXSdcFpb"P\90'Jm`2{-)T~^ߜL]qb"#5>\2δǜb]]~xvQXW^ tf숈 < N4P @Ҝh4!B47ִAذ MEbta6Hjr1%W0FfD9.Nh%j>Ml:@h|_ݍä'Cv}1׮(@δ(X A+d NVKX+(3TWb 0BF5.ANp/C1PPE1'Rj b)R"(e isfCd7_[&%B~ P4C-fBoDBMd0 S* CPٸ4xGK8>ayD/whU pht nDf%aCtF F İAw(`cq,FŜh$6 (*&PKr*b90NHUwpF$rL -юVy{1!P@"kCإMD!\slhW:ɒM)1 Z) (Ѭ؃AJoMuB@ړDSl+!PdZ@,RGN`  T-(r* ܢxS;{ƒV?1>׳dA%7,xe@SNd'| m4#@<;yr9`]daF#@,C( U(JR)H@V Z3VC,gQRDCtka4Y4HRP3 ATBb)"4Pb R"E _la7;D~4Md`DZ!C #aB4 |+O(>gjǞ)ι2 HG*K2"㠹צA՟ٮ1BBmBJѮ;=dONA"blPTMZwo`$#|,qE(a]|ъRRYF-"(&E4Є% "ۓHDXHo+Fw幰 bcmP1) ilpTA+#,י{!MbޞD A?B\r0+.[``1F(wb9$0lA izOKf:Ld$Ai o+nuKIi~Q0 Ǵ__B6ب0EnE!>ǫ&5O(4SMQE4SE( NVEUWjj(T˘TUUTߥ?*m; Yv;h<ɾp44QSHz{G-<oNJe=`)BRiM'Zy$ҳʷFib $YB|G8Y =sM $iJ0 ;a'פ'E@-:uLB@^' D^wkÈ\ Ƥ:4*O4.]ULHWZ&X,eL:)ILs zvcy=nD̪T=ĺ [`> $KxV b{U;NX8 HG!-0> s/55+PRLAf 5 AD!i0TQJ$10٧[d+j"럜X3$`">^hv(_ZdÁܴIbr:=w!!.s .\e[lun 0EfC(,ڨTŦ8Lkkj7*A‰D:k7j e0RAdCQNMg :ӱ; ؒdMYT2 J2A7,J {P0@aѧSSlbFAu\z@MEނ |Xl!*h=3n4GZWփ"pH)X'h*A|& ,0p%'g&_?w(E>iä:#){ܸ?,sd &@;?@ⶨm$@8!sp( . n'Y,NhT_?xz_g |:.UQU8{> 8[ڊV9w@ {^ܥ}W~= TdAEv=A͎Mj,33vXRJ}`KR+8uw')ӋeJ\DrT}%4#l"UhJ(i!D(A_P@=5gc(dH/ve5{jO9 jYw(9׺ckrWŕmjaDNhx_u̙5`/pF}DkQ|8OXǪ=A aLwi4߅ZLQT>u6lUGp0jd,֝Ll~/ɰ'J"h%:_xG6C:Mzv|jQQAݒmeb1J ͘U0= 3}9MLm 1ÉK=n\CB-N-&?eNBG["PěB2ZUi9cmCAԊ'N!?hW \F$8D+ Dq"@.ypPRRJE;&#LJ q)De<70 1J0B $8r" 4o@%UEPL_ܧ07~4<OwlX-KUA"F"T):O16|Y,iLq>wB(OTCs`-$T쌄1B'H-KeK*1]n<J`QqOpԐs! :2V,Sfhg9 /Sp'aGQ$iw%!-xۼćtO ,Li ^ ඃ|8s~`żn aѾU˳{mۑOR{ջr'EJ#j:b3{Ï:Y=)O/\jmjrlCڨ59ޡB҆:1S`j~ht9|xʁ $WӬKJPp՗sA蝔,A!*ݽxJ5l'+kXB(?MboFj?`@Mf'd:KP/$ Zs} b(CJRP JD@Eb7Iي0(6-c Dބ2 $. =s K6 >!!1/݌/u535OaIiژȁHu8]%*CY&%1cU A *bCL{mH#G,Qgװ=!(68 WF{s2O^8{F}X@| 0A&|nlj*nXt8Q/cKAE~/lIgK2 (`aV{W_xN}Sj  ȟJ_Nw7f~o\3r +s:|>$Tb*2#1 Pw!oI2 Y%Ր"}  ??~y bڂeCIq qi$hq YKe?E&m.7Yx3CPj2{ZY| ijnTH.ieԮ'Zn$˄vQE:&SYV;cdaO $J.!tjj|u['efBC(=?7BI$0]7eR~5k[##hYq r[MzvGVtb$TN5t?ÑlS[pÖlL$ߑϜx.'l^湖ֱ@!wfqAY_5Â9e:pRHIEg[qΕIu``oiBOn#G_[(@EKIs., ˲N3ax҇CI?wm0 rIh>8SIUTK-d oGCXeZJ5da%DgN-o$:jrY3TpRBw4!DAÅ|VntQ8.LlbVcRP?TW[P$ U 9㐠:xݷaWv{ rf!q"}E>< 'Zx*2ɋq#$@!,!%қ{Ov#nZϮ~^Q҃85ܘBZh!+AٓR?C}O/Ț?~=w p :￴ ' T\a4=_]ޗ+Lᅣnw]'/rm/s>EU:V*^R_z/aNH *ٹ-P⫱%SAd,^>W+:ŝDt >'m&?-,VjA"_D|7^9Jgaj!V {yiE2aRFWm\$" eۄ?i#P G4@4R4L!!T%H~ooN/q%60Ma}Az$b(wJ=Af ڳ5﷖Ė'ƺH`\FJ/Vᶐ ӕfC<P xQM54(Ωfz$A!&JY,U2MT5 ߆3p, NqTZ$豱 iDhuA k%-fL1{Fj$ i)BIN@`V d TCF[d qTZFsWpdC<\h wMcm)B9.H5M35lM4je dߗ1Ne'iZN]]$ =s@MBhi"uG,Jp2c4P"lts~†d4h A+gO[?>ŬO6cZc>芢,|ǁ,W%>*DC'X aV2[ a1Ӭ-Ua:48 AbHPv.JqNF%F:{=6rMY!(6QڣS' O] $tF^U#HdӺ_L{ B!KH)$MJ<9 vi&h6F$v<'lF=ͱjcng ˅nlL%<11UzK'>S3Ͻ`t J* 2O_$}$5Ƃ(lP•h l8?Mxp`-d=ƢI3;qc̢)HPjR1B$/6+~ȯ kJ|(mmșm1a'ouIU QF{+M^ȅ=un*D>U{vM8zHu<s!CT <0ʘܶ0v OZNKjRNm,^Xv] {kd>hlbvcL.*DB7L4*I`c&B7niRBk|14 `֗ƒEP}^OLV/L%asõ6ve -'#A!U]hL@=\jV4}fHexްeM "7Bb櫫4qg&3X<[<9Q eY#@kh4 1bЊP hT-$bbCn]FE^SpzH!$@5M;yQ{#[u'J"v π AEjXZ1[<4f*J|;r>lX?dL6^Jz&جbϕmuݓT ߎ_<!(H)j#+Ͷy/ZnB4+'y+JPDD8B5A@#fE%&ɧ&C՚ @ѪF} w,~ІBBKbx} b=M @ Cq~`j" S±B@:ܽ?^B3 ~dj 5uEHSxlE\+mRTW4SwH1 "[)b4\8jAH8ˍ</4{{6`zD 0 hAs!UuORG5w4va]sq3DGd"NwK\w8P2܌hu)h)MDRj.C4 =&:܀62GGrp1X{J鎧10p95H$T\u{p!ܪHuRLƚsLc`臆PjddJALsmÊ\s5/,8W$QgFl&Bfʆ}fApImkAv;,B!#}nʧ) *ij w0 r5YR4KHP{qC9cAh8`Q 3A ĘFBdj4mمPR oj+-8Jh[*Mi(\(Ї''T@NIQ(fF*Y )"J~ DDD1<b&Y* Y^A {HIT2  kQbPO=OGyb (Jf >na0@U"{X{cs(;0ӄ!UDbYiA,%=~>VciѮs0pYJAJy8=,28S.>KA" $Oޢy0XY(Df"M`1 `9Ja?=:gl 5;1NJSNqѬԿM:$T]K;Zhb[=x$ٺ=`7}+@'(ӌU<+ҭ, ]#C{n_Uz=RbѦ}cVC͆){ \T$5ٖY⡤Ow:׌P!0,' M{ P3mUUUUUUXƲR3}UUUT._@@aibDO3 S@JAD4$B!JDP  tLT A@)AIM(4Ħ4H4 JICHL,P)R)S4ATAJ4RTAM DB\Q~f k.G/"3%!V08@7B@~Fy%J?Z*xo3PTޟ_N~f{Ӳ *i/}nHۺB˶F("~΀ @>~E_M 95I4<Bd``I:jA!(ud)ƨ! 4 pѵьƈҕ"-9ۜ L`d-A@P bcCTS4F PC8u6L[lf*C QNc1LC1wsoヂ"Rq%A QHCEPW%x{ksb֣Zyb2A6ZiKF"mY":瞄peL $s 5w#5TH6"8j<(!I1LiמqPs "䦐M3P$Aij1qZJe!XdY ؼgx D w'E]6"h&ۜrOpV}C2pIT선j()JMU%)RST1 pdvIH"E d=-RI7ELM02WCg>NQjTd(D e%14XViN@컠On'>9WRu te}d*x!4aӢB#9ivP֐ j PFeR5o#b" C! ކF؈(d?j_iDž$/}wHq<`u!J~5?RD 0A>ȟ=A{ʔB11DB@IS?H6ޜ}`?W5F@;:D.11l?f~>݊~z\|8p7rtdIG8(ŧuI{Zi$r⨜\aBpqx"#p8密>\@Rć뽻@q.)|^ ZPE:pCL+ ]vڦ 1FC cK*ͳ@6La VAژZJŘS:3!ȏ57džԦ;sbbURP^p$=|"&Gc CI>)ztT&"8Zvd#X-~rhSHOY\@2R#W$NNG{ Z3t;nm.dqrD$R)tpj)L3O`Cg88㍷N20ہc#Rb1VL2XFꉡ1 8) /rӞMj2.&N\<'fRlPc[P#WғK lǶqƭ/X*;eKE)`njVMU]G~YlB!"K@@! RK aX+ $(xhYb$P@OPXL8GL_4ݨm>i*r/?Qz"%"$=UUAL4 $Od 4Qt?2hJ%kgI 2NiD)bbJ&D(%{P\6`"z(rՁˉNz'TP_ $ Iޜ sD4ÖbR.)SĕIM!1=BD}MKJC"Miׅ12 %++t=[B2rv72!c@W覡JHH``bWj{MAW<:D:EC(D{ |!D@=y* *b2+_`J,TSL|q 4.=;~9 ;_3?Hҡ݅X3{s{ؽBCSUƈ sLs<O %Y-$ I""@CA#O3M&rϔ6{'5"40'EC:`~An >EEm^?5R:FKqM =I Fk;9+`8~߼'N!o4:'r|lg!= &B@j!F!&e L-T1ּpȈWqTJX)'R DL>ꤩxDh_>|*)m# ^|fƘnI*!A'LGmur+#('*ڙŠt;9$udb!45Two\r%b)Co~,5҆.ل0URX kF]r]+dJ?_`Or,Nѫh4je{1!&KV$1 Aݷ,kXtfR5 rD"'q& \\hhw4rS F0t*0=#DAw-;2#YU}$y**1"~\e% i\ z* @fvp2LԃRQwY3*!8Hpw#ND)t< )%OyRV$()H<^Je(vY1c4-(ZJ`A`NTI O˙LCro-a'w.a@OSd9+S2?DN^JZim71UM##.%i^wPLL tD ;M@ l_dd !9TgA$Bn@OC#АEE >dC^vw8XaZm 9D?( EHō83 ]Qli48[c nw|IOJ!8 0z F@¦S# P3ԥRLPC7h;_?|IEC {O23H/ɐ.S1UR.$iLmDSfZ3716jܗJ.X7Op-0v*#}|ڕHqAJJ R&m橶)"m:HN05qJ`{qFPxDz}h@ -iH>@N2@D1jr6)b*" $"Hpi13[bd3*~f`-dmjMƓ536( 䋆VZ<̷Gf QD+#xx$Нw>x8BEd 􍒌DO" yufMiD9+iL&?/wHi^np+"b\dGDif;+Dp'Z2ШA%TFƔVRfW (fbEM?h`}4n O1FU0Ay{Z6M-T,x%3gY sTAG2Lr 8@n'@(\oilS{;\YqzM8D"C#ij%H=E ,Dk"{mu߸~E~61%7c{U$O,Se"T/ Mc_m((f)ؠOwvrwRJHD >I =ځ)$fLQ $ ^&|\ftWEBu1UhL9hؼ]>כAPco`I2G2'OP;`t_|{!HNFvkRwXs`"QP,7ꃎDʅBKp*VqШ|Z %J)w}ZK}_)ݵц 'S:"bagʸG^975&Ixi!xH;x:U-M~D=yDX c(-鹧X&P3h-!ixJ;.!p3Wn7 "F!E}D 6a$< 7H66A@ߞf)m^h~|ovo?3q' &6}حfFSߓ d09q| z !xKYD"7)y5H(F 3 9p%Q%&Eˍ. @0!&b6D8&"ɒm )3sfK-A+A2A Ҙ2DD8xb8Mo |GfKA0*rkx00rd_0 |YQMcؐaRE ~~[ i4.aO'о$ TX;zKQm(ŋAHi && bi b[x@n0kz$-@JTR*T3Y³  S6L=6wtif.clk1>ru>}Az.SonBDv@K1DiDhDA㢚`#n?=%\˩Cd A I"EBhp{8 =O$(i` (jV&/zB}f09'ԧG</GqiC33(jC[ |oٳUYmڨo-hSJ8!'He̜O#tNXi!;:"'F@ ̩[e.b8}E6M]L19㧞MW i(sPb*S!75khh284#H$դ6{2x@颷u 1A20D0I.WbB! T$S" ـT Ҍ "MrBqti&dl  #K -)$!I5?ij͜7LJe65 ݘ!$.:p1c!kšN"XX S;B!zgM*$l N%2XC̶֓IYx5gǑ0ZpXDDU Ĩ!ws"Wkm5ґdTMTPq<=1TJ%u% ;]E PX"TU}\CEknAQDՅM4\t[6FA[g g7CRLZ[vƄ5U<4pXvΖ66%Lr⒅Փ+-t˩QLGq Tш-I`X)FVnC98EPsLcRi|@5۽JUbɼstAhxU9q}ݞH`hz2C6hm\IQLۅ[L%&D % *{d{ cA$L#B ׃b@0jk z. ah珙AxZH|9x$L^Odz+fP՞lǎ0<цzXqMa=4Yhryf -瘣V]S9fQ|i HZA 9IJBΰ[//hh7M-(DVY> >{OX~7-gA& *=,! "MMq() g z̝2kkjdTͲB޵́\ٸ$ɲB$wP!cFm,fd,=Y8 >+P䜆*F4t}3Ͽk?uVe7lX+a`9A%! CSBQ,HB>vf$?^MAM #Tθkh791j˧ċJ+8A{`~Y؈GlN>3_k{!U/c !.fW!MCj=j %16_Ljlml0ȐלF DF;WOw,_/CjQMNweV 仵ZQEQkZb֢/yF=mԀH>\3mfoAR}ҚS%Oc^;I!kEDSHABP 4#_ ?QN}'{3C$P/@;w; П'm`ցp QR}TK&Os2it8s(XnyU$m^$%5' ȥ:S?铸G eB!I-lC^˗Cސ*oڵR@&z}(^5tL>h`!RϤ`>tS4HuH䅈ZbDAHrߊ  Y~  ʡr}Y͉[RdrBIOQG)֢c@eP/ӉAϋz?oRU&Le=x%h%AĨ@\xu~wpmʒ8_ tks~"! n8d<@I/s"!E%)B~n L0QPR@$@ ^P~' !34l4L !m D)|͢h;?@XAI!S   ),5XQ8rx=P ;t~)zҧ‹pÒXpx'j s0zA#<?:xˬˆ Q (S'ES#ADK}CD(?DP2@+3144r.P="*O(:KCg*} BZdiU@6')rFB4ggϹ_M!B~ >BPv#JQT%$ҐBH$S"4 L%ᔉ)Lz)Ix/)5YaU!OdKrf-t#S*(C?stNWAdR@@}}f;Cr $< Pn㷗ώRِy\Ogݭ*އ5I}ʝbi!yɮST:CJe@J>#}7UrZ:y1zR̳ P˜Fz@1PmQb7iy1iHxUga VH(pz>3 Pd?jW]>^!K/;6;(MeHT ̖#([@C4C D78bp2IXt"!ICbr)֬c$Z2N"+hĔm*c՝,^{6r٫u=F7SE2 bNXC9P F8!AN HNNuc;]ZK]RQC,٫8-L-bW7pӲպrhlLtetG~"oA1Qsʘk 2e章:qPD!(Otm7A]K6QU3ˆu<ԍԃTh!%>4%j >{ϥߧ~_>gooY'J83_gD&ZYȓL` 53h(g%0iaHiC8"(wfBf5 B*x~Wۚ$>=}K/MmpO{xNMri'>7hXAFKY߰!_Xe=3d{EQY٫U:콄UPُ(\y9-P+U__N5Bbj;%Tf Ƥn50H2OXբ8lD!r>gV6J+“Բ9p DI=9>ʁV=o,q~/b}w;ΥDDڪq!aj'L7Z ]Òջ #Rڡn͞_:<ޮDW}$퀹:~Mu<έu}sUpA^ ή"uMK>X}WkQAq]3}j6㋐^ĩx_Ql ȭVӟ))aIR8"ڴRPgTrCѣG1B7g'G^.xaЊDsv"fmD ʆ;R94x=|;ɏ‹vaT4_12{Rк&ESσ\]HELps;)Jj^ . T%ֲ2{}?-N[N2Ȉ3 J;|Rft]&4T,› L&2~#,V< uӌ:G,Ƀ9}~f:-#AB'7361 m8DDLLBVnb<>Y}­xtɇeY9T7Ld;@JM*=2T/|&!2ms禍ra8V.ҫA-A "?UIo2z;0xOscQG澋Jz7:яF0'\kښpw:yr}'-ѹ2iu`8Z5ތD^]Ws4"Ը4=IQq`t%C@xzspQPQ'ELi set8O9}>m6dnfOLe@|cNԝ#uZ5M'6G;z4og_=Q9~0 +Wj(yMZQ'!>tmс(Wd.āR"H(#@)HfJ`+ tQ֤:Kx,DN%%g@ &qM6f-Ky 3J p4˲ċ[nVCޮIJ<-p0`笀JT;e (kZRC^jFHd1k? +{t%.!Gi"T-!xU؇6sȈϴ=Ҕ8f `YۤDEӞ "^㈥58V+\whrn#s||T󏒉بnb_ ~s[yUhe)<9K퓆*f{e)R_U Ӎ"#7F"ޥcy"uLus;֑!Xĭˑ-520[$+3C59QaUa{RJȉf%MD),CaU :bm}KF.fIl`ЧNqs ~@ gZޯZܟ^^~C۱Y, Q,6Jr0+urR ij5G~O 0X╺3L:ABRi|Nct%*}[Y_[ޔMK^$0{g{8jr]L$]Ti[NH6h [GTG.UP)93@;|Vxu;O;0_8pb/H `+&L*C֊Ć2|"aKtB[%taс DG.i"eWC#4op `":e,#`Z(t (Hw44@Lhʤ8`&qxZ&<8< blQtuːFF!fJ  5!} ?sۜDФ=2P_ pk(كA5" i {sZbxAMx뇶`3`4R=K(Ȝ-2>̢DLh2܉hKB4rM:+gFƦ{d:}0'p/si:G)Wӂ :Y?iCD SnwA.95|za8&):A5pWL="OL_v`^q[haRxFa:ZiD#3 '؆i`DQa7MpUi K}*\GP.+]ZH4Pcq!Q;8(HD杠AY?4=>RhU2H'1j[h0<˜n0]:+M*QsXhTd+VLŠ;{SfH M-7јg2f-`nLtM&M-38EtFD.ssQQE( Ȕa,NzZ>jùQ$& /.&c=>;hR">yLCH|T k'IĘ!IBR^󸞿tUDKESQ RRL 0$@EAJS/2I 4Ć:G>qZxlE?2,D'0CӀ4{\1rQh5LՋzn^͙ UELﻸoxz }2TAHA6e9\݆ԱQ-|h8{ yD9'B@7DP \DFO& ^V%& 7`c4*sqDQOu!HB=O"΀ҪiIA8AJF~;=끽}<@w>ϴ^HrA~`npCː }yqj؛tqDS.wU}`:<8jGKHP:PҚt4&⮇ 2"aNLmQK%m'ӥ^NPmI| Į O M!YK+W~PDtIS<0h!z.ŸR %cώjRp%'9ҪܽmĺJHgUeb@:VX‡#<"M Ƚ|>j]RzrOD* d+V/ĐƄQ#$z򏂦@`AY变ʑ=kBdV֎Aw{\?V(fe5$4*,w'qaﳬp%aAJIlh@ijhh!Х% 0䙗 &?_h 됴no5Q+PhMU45eDmx!O_dIŘpF+ֺBɡEH0 ηr (f4J|jw=ࣟ Fp1vq<#)::LiؘpW!07dJ_bL*"U){ QcFHDϱaZý^o{ˊp!q#=,OV(3S kDCPs3ƔtiV 8D35<Ďf7wK98f:ouAžMve]!IcQȟULzh9}FNg(z3C|k8Ysa+œw鮉mi:ά_H̘Vq5!=CMg FD5ZeTNP ^DC.YQ9 p IۨҲeOi[DMc&7u%2! #Q- F|*^uР>TpzD Nm?4lPk(4z&g\s:qp1nxp Bexo8b"wfធBHB܅-)TkXb8?x뒹^2q`ʂ^jt!̛֩s*z,WXZN&KH&OۜsYΒ|sϗʃ =K9zU26x:/th( :1CB:QS<:Eq,m Lf Ž¨XWW6(M[]Uqq*x&Q[b67)F P/"!UoXk(&@`*mt{qÁX E4]YI*jjVM픗rp8m'Y#ZѐAP `P(bGJLG8&oTݐNJplȩ3:+ O Dq] [Ϊ_|쭸#5"XBSs߁5} S>h'l ?UhIҭ]A< 8pցsĉE`*lk d)ᙨ%r4*- PazF cQQ*VMW3JQN) 9;5N qQ>Ti#A%,p+DFU|%z4.{&#k$eDjPk4U}[;8]mP\R"aSYD:hԜ#BPS,ZRz-? I*=29Ѥl9NŎDw0t2j sDxP/>³xS/gdQJ""!p9u(_xԚjQS4w5b"mxC^)\C-)J&+M;֛B-e0 x aJ =``L+S=F Imd0lM;ڀn˶SOhbJC{:7R9m `ZB[\Re=/Wol4n @!@G u$")(" Z(8P[9GS8ihnh Q$啱P h'}.чTRV7ƋOH0 LBЦ=<H`|P?d7rIcDU-!BRL?|3ET^k10Zu;n1BrU 8NYv_U|f/(__HG2'bUT:IGݟa|:,ChS tN:In<OC[f!ر8B0׾9W7WY2;wn{hYњ6m$eQP;rh[;z똩hY`̇a1PX,!Kq=yv%A9q:jZjZjٶ] 5Ε->R_@i<+{|4> tT^`$(((((()(()h((QEQEwk#G⪪UUƪV\-1cg4mZ!UUUUT} ~` }? tjV|I?3*HX|raC+G#4.18S04&Qe8AD$I 0143".]Y% Jֆt f[(%ox1p L˚s=$9f]N^P ʛ)"*M(E L1 *N$@RRW#"i(Km7 PlP(Ɖ=eh=\EZ-8f& "Il7&,$&DdQusGn禜rh3BWۂTc'DR2RÜ&5: qe8˕6qIiz(xQEIFد;WDD)֡8AEAKnsWU7Y^Jי{WV#O "$$B $6(>۰=IX% L2c(=T8!|NAޘ!p_` QІV;XrR~ʩU?p|z@Ċu꿡ړ܄ ĮdB.QGrtH&h>}(^ÅOqM a]*Zh:"h+K5RkT0WhU)!##b$= WPPJ^dRu22( JBXb '*!LMd(R~T3%2 Lm["NT̄K S2E .mӷyu NTˋ~IC0xΪ- ,maIi4KOVwy}k`% />po*,e3 {yRf P[5y3*^ s,~'i9sا~q@Y+!$r'BQICR{D{>~JWDh~9дBEX ")JI}M}hV%[Hh8Ў Pr༊4~u+\1p^@n5+R.zDd 6 (/MouN@%`9_!gƺC]/8N@@@ \ VB4}'!SaP'@HmAITE` ڇ.wxAiS?PK-P+/ϷLjԸ2$ztbYL$+P O Oqk MF T5RXѬ%`3~.aCX*C۵2 <1,ЍBJ=~v{Ad}b|o!e 9pØY/)IYIKȔxSv+Xg$ $(~ss )-ǘ3Q :1cca2y8 pMn8@1 nxS6dZ2ܴee7sNGm2@Pd=_nUIt!@zv*?]ā# c,*rkr #I)*ݿo_" !>ufYX"2*nEl-;=gv'vhϵSy 3ji"@hࡴ` ,Ȥ6ȇh.|`9 /#$B'V$ u0a [k^|QCG_7o N*y;p{"QJ*vZ d\M)Lv&yCQS%wd ~Na($JgdtP(fQtCGã4bj FBꦿȷ^'2 ZFѪ=l4/Qj \7a(Lhʊ`8 W )c!}M-%QGW@)C@d]#RVXF*ӯc!"}. F-7x=KȂTj!$ph @DGd4Uਟۢ_YyF}g意KM˄kNOq[-ɔr+3Wh6̥$y~~Pn~rH|?b$fR'g緯:dkDa B@ir, c< bHdΏ궊"ZѲl F *]h!l~E;ӧ [*LĎ-qB9zN+3[a-EX\3KV%h!2;(cbJ&$bJRV#DīH$DD2 vXd jI(BaC&x.Pg Ud#)G R+ܧD` Ȝ (@ V^PhqJ`EmCx#sL'=E@1&"J_}}H1ati\+U3Cr@a@0P͔iQo{P&ӀtcGZm:o'Y~jT %pkTތx! 8^zu Ɏ1WlnqEUo7]7)u8IXS~^Ц!LL΂slBI$5JX4/\#`&ItHkz>'Ԉ{ Г'`(llũ\ER OH7&0:PIa%mvL B.Xʫb&sC63v`]v\%P:9SS$]72<rOCw$ 9- qЉBЄi$f`¬06feŽ#1.*ĸt 70nlmiq(s5210T&~'}!Z"MgntryP>qI#%|H2.b~Ա !QQ4,T)U׼tp8W'&HLuP7=oo"=9uvb[z]6_fu١zׅ+& 4I 9h˹T)='<W NBAVYrE-5^[C㌞! x wa"< ,3~J";"gY'l2|'8|.C(eFC0ŗV.^(:|"h(~1@ΘyPc) B7Xjb>Ą ai=P() Zc ?.7 Ô BQN;Y&t7`̕1Mn 1ryTqZTsDb:ӹuw\vB| 1[4YHDSF`}(O_-,oOr}plƃkۜ=ؼ@c% 4$(Q L{L`ry*0}gN0ò"Vv#VLf=e>|e#QLs IG)w3Ym^(DŽ) 5sw!E Q%Z_TKBKR2E$@4KBKEͪz5,w U ӗa#)Ee rfH"8&u`ivW}* V: |jNJ|e=lf<(@|{1` 2گ Ktz2\z9^G>}{B^Nvm۪]>Wr@ﻨ yՓCn+U:ٍ0(Żc{o:7vy)RHTT5!@ ў'W}(D*%F*T*(PPAJ.dRB: "I")@RX D @ (E(+ݺP:4T{Z=4%TR tz+!(DT DRI% !H"(%PmE(^lABTT5Nn:4uϽ oEq޼%oZ.ö4iizP אV]`\==_]ή렇tˮiQ) f 0n}CDHJ ὔtP7cbL:ޝﻼ_0yWn7Msw]@ZUoc{U'l;miQxx[:h@ 6u zy4E@y7sPmޯ]i^ݳA}b\>֮eCunW>mnB]b(lw{k9ww:[vykw=G_w5Uxo}x; U9vן^yFn[KR[δWc^ywٞpR'`7`omjֽ'Ͼ}ƷՏtm}W}..Juq#+]gl ^G^P޽Z({.YÛ݋wW 轾Nk6oQ{d5ce{^;ܗ\=öz[n]mזKbwi=۹kkMyWgitxݺAO(5-/{>yw{uʽ{;mKC3̷ =y_|}bC1P݀y Q* hs/J_@)T@= 4/}P^:ʻk=}WF>o[9 ΪtyRq*J{ vCyVwp˩5۝yjӝۚukn7uѻgf̽]l)ݻwJ  GG`˫a aOShbj%2hd 04 {R4@4iB S Ѡ ji=4i4jx6F&LQ~OP0diz&SڠQBhIS&jQ=5OP4hѠh@ Jd&Jx4ѡ2OA?S%14چS@hR" `L@z &POj#OM ɓP@@G^(__y㓍ʹE_☔JHnsfi=̉ $AGMa6’# (;QU?|t bQLUEQ1("(P=R?q`??a(Q8GNm<11L@SA*1yLmqKEV +ZXfWk1Mi[i֞UROW8:ߘy*@` 6g.o%掶n5t+ܚ*OoXRWv"&2USh˜"UynJ-ui2VvwNwVP)}3C~qi[fAMP1l"!v#JZLUbG,bN(Ў s%h#d=hM d 'x1BDEK!)ɒe)" M2) y,/lh"8ЅGB9?|ap-)ґ:K_H{5$@2r!"h`P(r>|_ڗ E(D9"zAûœ~0a` >"m4ANH} M i :N6}#;ІҀq~;ٹyX30r,KdF?N]{ːJJ#CJ J/n { 'm#R5?Ag7?8;`)) aid鞟xOYޗZݝpHo[ r%ӏ" =TlQa~=CJ̫ *$-A󙚯uG1\wkBZ^a mGmq7 y#{զ=dI; (j'A.*Ed@9'$?7ޡ;~&ϭ>؀aaevDD02H Rv[ &(HUM5h?&jԎJCA6aiGD:oD|&2X$h B`9"$"X&fHA&H`1 {=s 0HPU1%)A@E@MK,M PDML0SSPC 0 @"2Jaz`/N3f1N֊DC1IZl Hzu;k")2"z\|{SATUF! Y)X0AA3A$JAUL4204 7y8:07*"J.32Dg4jSmlJD@w^5d92wf0I-2"9 7‚lgSW Ŕ IXR)d)`Q/oO1#I}:8>}*6dxB]  &u%!!0U0EPCE 4]fk{/_jz=^@("DZIb(&4Y*1("f$,ZZFTSU:QLLRPSTM1 3,MQäB6NoAK^ :թݗӳ\{," t A(Ť>N3۵OKGf.xC2! H 390>&b.=f bB $$?|^MHu_5YT a Igo+S2"I:Up7RJPU>-$mnu}QR *{'"*3x?F-^3?hp zt~UC)MN:4INkΙCmT11WYJ_ 2AeTֱ +Z'CX=?Z wWW3+_jm )0QM搚T|UjbG3.)$Pe5fԸιf_#%&jZkOKP+(QgX$BÞh(b39Z99=gi_\f֊}X`(*w"#8B[}D0Pbzf'w71`mz[yKy)cW9NbjNZb`ʁ䲨w:/x8 DV 2rPŶ{f|qO-~o<~6?JG߽V;q@`$A 8yI QĬyT*p?Lϳ`/$CI Qz۱22Wokц)ѳ(8IKńMxC-^I'%u^}J?yP+{W>*LQ uX_wJ76!ԧw6@3N2B.c(” $|?7NüЙJ*fD1`&jx?6*cs<30["!;G]JPUUU Gg^Lt $rMF"'AQ =p^h j1stbQ6) Rpl6r |Mb{&TM60R"Tb` `*f)"ba?j`PFǗMp$))(e"Bjn=:yO}Ac4A fH P t.uYcQhU@Z!*!"`(harhh"(b*da"BbhiZ(HH %)*i( H&hhaiwZgJZ ~ 0KT&t:RG8 SJ& Ib)&ۛ"dx I~|;11of `xydJn:s.8GU$,vb mc SuZQom㍐xws; :`ddAi=&>Y6癨Ƃg@(, S(ǐ4Q@HZR;;LuQ u4L45IJ4(JAL IȕC4M E%!E0RQ3@ RKDL* Jv4XJI@iueHaPB'C4-컝Z2 S_x߾|?~4 y T#6Pn $h 9q! R lid1I;N&&?9F3oX颊VIV=vO_; XIXLE#pw6RǛO,w'uvjޖ MvQP?jX$ (Fa-zzr6-(#Ec39V9{$TA(< gEE%hxT( my|<;)wO'}@t;YT_0[AN ³0浡!Ui

2ntĚFu2\pٞi<.G(P)(ɖ)zXU m)m$Y;eΦ=gd70b6N4IkjDyi]͜9ΙU'}(#4$Ć=itc"d?wa >`/zH9 Pksͅ+"')Br%KNapH|fP"-k1!fU6,DMSCE$a蛴O;|O^XPE8`46)ND)~NO2Fp§SYsb1P b2-Fq4{|6pR%p(qJt{ӞtdK{k"鷎b,MYUbȻj C$8g|GJL#BY0`ixCZy8.DZ>f~F(=zV4ah Gd>:11+jQ!z?>?F~CBr3P)4T XhV"6AM+x 7Z gI#հa3Ph31Gǃ2UE>(w'fnLp,3,_)<>3S GL@RZx\0<<q[ί8\Aא[0G4֗pWd?N oM%I#iz~KG Q2|Yi8n428GE QDI- ÑNL'>~FQfݘ78 f!( CɡD D?i}s($y.ex>NQX\ɽwG9L0VZV[/&vdqr* nrkC% R~ͦ _JN;m9†!ͰT*Rw9==GV ʴdD蝒js֋sl4eJDN3&C;O1?Mw5:V c"z9$ /s.Cwi :ydt#0@tkY 51Q d+ F T^ٖUNAb%Ǿ:txN(X uLθ^3#p 22* )k^UP1nDP"839GiN`}QBhsEL݊qi߁PQ4[`gmF!!eN3ePbCc1MA0F;=sLa # ;qDLv EgVmDWXK:: LђG{w|-uycs-4`g C2}DQQ(繉B\0{UjMLCHxL$ef<VX v9z5V -7fo6,+Ǒ3חC/0<8ᐅ#J$Pɯ]!d @!A"u 'G%q/9pMM8Ͽ{G;}Z ^ҙά%)S ()vZK*0rN6$c1׶&q4ENY94u ړl @ܼ`VEy1 @Dk eܸ"(F %VA';3G\pm\iprjp_#zN~Uߏڃ+l!qw9)# YO#6H*UҘ:l~涕+݊u/jRD0!HAS۶#{qj bY]ʒiGMkSq4Etiޥ% E2fPZb)g: (W0}m5I:^͊u阿^} e bYۺz:U @鿞q݄G l"|8/ȴxD( CW1LG(߉ $r*/q\e_DV ݥ46[F$(m)i=:^%R+ܪF&u$ JlFpr=>"uR Z5>MD~J4тCdۑD{0M~wsp@@(3A*P`,ۏP>y^MBE}0jHkHoD-#C~ w8!Y>I$I$k yoMu zColA0~8mX&d>^/#*pzt v UN|E7y2;㍹6'(2`PTJܠ#""Da*@@+ (_Hѿ9KPeQAGpg; ï 0wtyv'H2wDS=0JƊK+N5f<w; k?q^5Z9n&QW9!HؠN1qmZ"~BQSBHB_a"?SODo;HMGb=ׇ7A!FQ@òN$G\ qE%9?t%~,ޔᇓ udԛ{IwC!)!7gvy_v^x4N7=fg,Pz)v;).[٦ ԠR 4IQ.wcYcx' t= Ë0&B%{fmǭdA Y(֖^!?Xǧś~ ,"C-E/Ǜ+Lw%U4, =qR&d$_N>x \ $(ʀ"SvRofsܼDJQ]W#~!56~!8*I$I8t=[ݨ;14j_sF3_ƂVOuڂUդLV:UE#o8Hk)Dg>BKNt4edIsӔS zq~=% רeT AL<8ܭhNC) hMYSApj("ej @D/m8 L h|~|i0PwMT@ <QmU%O qESICA Ge_JEDF"Dߦ?W^ {G+AZFLnJ?CP'.^yw ݂ү=PM hC$P:z2G2 )HXHٵiYqKΙǮНRT31ReI[&vI\ gz1Q҆GJ H# }q}x>ұ`;X/*sB*BckA?g~x톧޲ "\fR~gDŽ\*ݿ7Dcޘ&)|q3Vl D`<&E#=ՌQC-3)?qMfGD'XAqfk8 Q=$8~C[=w zړ ~JaDUЂO8Fv)|`CZd ?W+r~;W6a0$dG "~Oϓd^ `J^(xW&K/Oѻ o 8IE>HPWڟ>vsj>W  yх AU~iNBb<7Qh6>[YDnNՄ`e7 + giAicf o !Yՠ9r7:Qe5XӉF,9 @+s9%vIG::O:Aը\! *G\ljr\-{imB> Q_ H5^ qnŤPtILHģ.]C$кHdl/3OZԳPu=,3H ;Twl (_~RQR`waن0㻛a稑2NB|OU i(\$De(uN=rp??hsӎw1͹oyaTd{GGG,YE+KtƘk&a&Pu:z5)6!dJ QhBkf}4 .G*߳ާ..[b绱VؐLDH(7F"J /**jK)AhHZډ祐0#˔q-Nlمt6C鏋? ymNݻm=cn|ِ/ PmEU8o:SnS"h_q>۷'̡]EtLH98D(8D)o)[)N4QmvoS=BCWh`U Q8n&%~\utOqƮ.E7o低OgsLn|+T=~).?^a%Ckՠ-*POn7m"b_?_rܻmG|()qOiN"MFL `Y`:p[DZ v&b{~YOᘂ!ÃZQʫܕ6KK-*6Ꝼn~|E>4YPLࡩfYJ1g?8~D>'ݿCdx}_^\:>vZ5vJ(O'02PJ|+@N6)x?'uĎˆ<I@q/6'/v?Y`ܧ2.,CT I(:ܑ9agס%ѵUUUUUUUUEUo_"BgqO+c/+J&:n: z7RJZA|ߑjOI/6pR|Wej>﷉ؿjo^ZP_EwYe~oo4ӳtl ~|Ҵڎ_lҴ"iZƝs*ǚZ\TleXcZ,=};sYviMME>_gLkFQ9VR ^ 68LRcLGD"s0PY Tf =<3yȱS uBೀ]5]`u.&,zx,>x?O v^ݎPRapEvmѐEA%, S<{Ȍߕ7=D=b;9J8uP"# *IG(d_MsxOJg/jwC!J4ikLӂCrRSrm|ئuv]};;3w,2KUN-fҘdGЙL1hK5Ȫ=#X4[LS 6kcJNZ{f FJJDYƂ-s t_7rR`'Nw+2dw IBvi۴ /Ӈ W>}kPV1(}CP-`cmyrQkI'q˂4n#5$cF;+}wy:ޚäIv>]qK&UdeTC%yXV%||-N|9X?ւR ^28(VbA] H~"*_F/5`WnG_Pb`H,,( _WƮ 5#ͶDhCtUiVn͌EL0ϜʗBbC;XVX Ѫd$(//lC8ZQ)'EP ? b(4rDLqw@bu1w'cEK H{6چZ@*iFը>[U*rpP pL:%m2NFr޽b>`!j8 }# `؀D3Ɉ92gH#Vi+1<:J n%X6~9kأ0yhwhZ<(jSڜ]wjKLHWJI 1%U 0uWdz>|8ψu)Ls.@{# (X!\bIGm:蠉BrMm%P HG8#P1=a?K|d9,r'nU:G>/dWӈcF[ZPxeH wTl8H$[n%,x =e5b/&cwS2fgє< a3(PԀf4~{u9DJIp 5_XHv8Zf|ߣ~(Vm짯' fO}IE֦mx03(/6 o-܏Y.kZ4y4W08=`gf2zz21,#hP)PHn#RZKr9YU@? ܐ#Fgut(b(ccK!0Ͷ > ׎n#Ǧ-;6&[J(݄ե.}Z߳Ovm.o^4`y$Rg#R>_i3eMEV[|Ż>c,=, }ϴ@hp#B)5# p.M.%]jZ DlU%9pPڱ- VNӵZx=Nd|r!V+pDu٣9{N-䣰ˀC&]4"6v<ˬD\1'r|=jj؋LLɿ1*mVGڬzB;W\gԠ}_;$ Tz%ܱ/ndsx`W37^GFzt`"= ~og?.sFUڼQk8;3=0cp4nׇ90d%-:҉pX35N'f, ә ϊ?~G#ק>Yx[pW)rA)H1UD%AVB;[uـ+D=)~$isqh3\,IUו%Xvb=tPA2{~l&'ˇ~0XtN[t⵴PUX&@AeuY_Z r6F E ((naQQ3pEBҩs ,nqZNξν!ͣMuV`qt1[m JjbXbꮜUE랴iF5.N~͊tgxP7=@#~M{~f xu|`W!b@ߛ^v|%`i񺋸_7I#tlnX?WhS/H~LrFL$18nizO'*eEnX\2 ;9ZP\ srhlWs e[Iix@:ёRm9˾qP5Q)-(=p~tJZWW0RSl~Hj-gF.dn?v3͇_yqvʷA'p1U\+É~.[nnaSA(֓8TANO )n~}gל}vVs>6W>yZSF䂋f.rN]FOܺ"ʯx`?>H/vu9 &.H;#< ?T:B>뷓'c1 6Ѥ`,C5_D/o%E6!pp#W-T3mtvgB!'jk|'t?2yHQeiKx- iQ#JQJ,m?"OVȠ'T[lU}gH>‡cHHn O vU!*8)TO`ҽSAb[/Ȟ `?gm*};v -n~w"lNaZ?E>xT1#S o! S!UbOOW}E?ԖF)2`44A R/0d%* DEL?oտwK\b<(z@ ZxH<~LOb_O~Be88zT>n8<`2q`17'"T)\LRMFv %F ~xuXЋAEv ۲x 0A0T<Ἇ.p9ڗO&@P#f!3:m;:]I?1zB.I) ookv<1jX"fdcey J2&@K|tMPTd*bBXHHB3}e嗨Zív/cʟtЇtH#,a]-ff(4!skCCnχT%AGyxX7"/Q/Ӝo y־S=[xFUϔչaׂcM 9gLTJ?2Jp;SAǻ; Ђ$|Z=M1JԗPl_A0#|Kaч@pwl>!]ݣJ B< )B a׏nA-yCf8(S1b6?(E+q\rzUE-ʃx@8?gM\G&Dń9Ckf*YP }*gC`u0gT}25AݛS:eu>ϪTk(ł`L쌰r GCjN3j;VJG,`\F)H2}jY$Fl`Ŗ ,')66+Ibo #4ַ bog75ľz`o.006f <I2nyqzNv- ~,fv-C~-I)NRD7 q.&xsm+99bxwBŗ!r"v9,B#[+.̗ˇdQHec9eݭeKOMRNjA(@HIkhf6cȓ|Ճ =*C3gbp0QCa=c7XQ$nYS}:r?D_OyNyq8=RE9}W9N҈lާMDE$^@m| wTr Dg= f2 E25R|~ (F8Pϩ]g)#3Bf9w,")p((Kwe.thSOgox *|8{X@r@Rwt$ l4XiOf~B78J-*;.q%2j zlr8vsآ& *3~/׻oL~}}gq$) So)4cdC@EBURP@{GDd]t>#ª6і9n U#T" -'SžٗDB>N M5""]B?pnd"@z6o?GMe8ɧ9exD{[O<'yG:PR7/lc!/~x?X$SGhPA'<+y%ߴFQ@!w "U]19U 8x?߼ ˳L+2 GS}Hs,U[^S^jUwr94(bf۱֪1"\;3{'6\Z\aeSQS0Zηq89!'`#5Ť",p\>I4'DƱ(ʿxI !8LD1"HN])Z3u]##dc"w c|+ոRH$v8J1=Ӎ,QG^ ܍ذՁ=Un>[iydsN Y$| +98}sK+]X|mXSz'So~'ZIL,=T26cud?IHc<~&\IuE6;j8Ba X]1KK 4QW+ot{ !b6*zM4S-6`E)?|>q>CF0~w2:~u]hX7g7,ǫ)(9ºyl{0(Jc eW÷9PoO_[:1.?G/g\$7MW'ըr<;#9mr&0ʼoP^EBPXml׭(y+iHb\~C*Կm-dʉr^(,GS)oP4'|a{c%헏fGd?UK; ԏ[LIrdy&stAǻS!4(B:&OY(ƸmOВ1麸ɱ8 e@0#83NXOoASl ~>e'绑}Pv{G>03ۍ>_ muT̓r`_;*G좠缜sXn<~__ȏK%W $|oyz'5ika4TG߲{X@(/6djδGedb?P*>QOr4b G?}f;o?NAƽ?ޞ26'?.`28qebsN+K6uɆ\$G|}3,beRL3q&!M&vG*"^&3O 0]@:WP抁0(02B8 oClva >"ݵ F9u"rxAZzRT3O) ]&t! tGY,JSN@>"Lɓ3Q3VX3@מrD\kDpn@}k=O-BHۿMޣ;wËI;lFHvb@'~"^[O^S;z\@oOT\"8{'oaO/"41Ii?}~A>H$6>ʳ?o]ALw1QI1ƌ>[<@ 8ٺ`"%#A)'ܟ5U`EN>C~3-q߯C۷C*Lzi~ȏWǫ&=Qq^Ǥf RB4gg)P䨄)h70D^?V:-iY DD%;i_^Ώ'_ ԟqCDxzi%f'ot?aݧˏz?3_| B5 v[~D0 JS }@:N=?~!3x]a˒#WwӠ?p4J"+7L@v?2 (ڻH5)_ D/޾`kA~mkX 0 ?',4 :  7%'K*++Z!`*~Tќ:M}ZPOXn8*tO/_h/QL5A#6a+6 'v@Pz{L Z.ʖ>v H4MUc)%]z{~p>($?Xq7w~ۄ3Άy. CDa؄\>8jxs]TJ&N b/<7xIf#TF!@#R3T#w]˪ ЎrFIy{mrLa'^gf8/9-ضM1 r{F]p+xs uĄU}6x!I?q >BOfc]ĜdvB#}3zŗNj;ڜyfO 2ԑA"hj J">\;=8&ajO^,PQ^ ` 2gIwoA0@w:W䆍(DÈ3;Z|8(^Q' 6?g u!Џ~%>K::XT?c?0QeH}< !rďd̃ϝ:c$:$\z.\>x4 T\CdQ4Ŷ F=0X[f61e"iѪL.|IŮK4P~Dq  e0QÖJ6[԰R8q܆AZ}3Ys֊p^SPg~0e #B5߄7B$pX6QcO//òz^9\בYvC,{\ۣQw?AOSMbSc06CSO>D$@22lTrx?,F(vLDST%^fPEH{ v_O*58~l:) gչf % Q-LP} *A*vUV&,q_0#b <0`(r~^p {Z`NY jx)!8oB 7wP} : $$~^w1($yYBô:'yM^xa0OqOة*3Sh9(`uٯQJwӺrR /0D@Go)y+UG&G!P‰#Lh4)4LBqãL(~w_VJ+$)Leډ n~oGʉcLz舃o5_jW*R%t\; D!XqC#T a숃Ő|Ehb%d% f#D dRʢ P:Ͷ)Y@!(>y d@4=-I\ќO:GϥB|}ݝTY2e؈#R4*|;חpyxk}r٘FJ?N'~&ѫtPD|-8APl Fkx6}ȟԝ}OIM{PS@i9T" e (sMoC7A!:?j)smѪR&^{D2&h%ʪTQcm凥!q`UܥQ!B!0@ (s)ʱj"H|?;FM̪`:O#Jt2?-m}-%A:':(qSSS8a˶5YFGOLwCTϏAguYwn P kg%P :Z%ezG៘T:}m4yA(8gQ9 -!BEs|0]J^4Hygd n`>>H |ޖňy4fDEA8 <1P tjb@T(3M 0rDHy&؈ ?O nlY `HDPz:ޤ0pR 7[ <}dKOK衭w&~ |EC*=g?j$z{xy7Ԉ}}B**RJ}JpWyJonJH~pA),%D@$;\1Ȏ G7dr"`:2}G^.x aXr$y,2" D@ yzD)G(5r#I! j"]>\Q{|ϰhs33r2RtHC%miZȁB%D̶;/^l`ɬL@#&jB$ R0Cu\Јn`@Atdzz"bCٔP4 Dѵ@1q\{xD=s{B {M'>p}/_w0?cğ;~=czA?5֍ׇOg)ȨBC_h`dzQ(O U=M'D$t{0(>f Bԕ1?d$;?7A}7wznj /< ˾=`N!g +V:_| SQͼ c㱍 hrPEB>O_#ԠD@Ϲp/>NEe(CƯBMC Grx,$;:_rRE y ~rJpM=gSe7 ̈́z>C*ĉʧ_`zCg o~ӈNdxaW :d'_Y zgttAM,QA%¦4R| Zd/9:SNd4:vƶuj>E%3t1g9Tu?ty/kԠ:k8㱀+:[XϦmLIY`R{4I<{vp2.$D" ,q48Geę8Fg(FR[D7~ ahfUd"""wR '?Q8A8Vb' \{@Ʌ ٣(1t7 0T?%*z)ٞZT6g':O7ÿ =(6RҧŪmaӇ~W_螊x@eb5pPI* ("&+,&>gj2gG 0(K4] 1 3*O`_" ˜& G9$;4#JFz __'(=x=%E` +B Yn>}>ESک`8A!'DgiSIJK WJ# (6n8S]RgFK]'~{z3S#XYJmU.&%[ ߻zJZ){ ,_Q*d!&j(ZUSQ gnl&! t}ՀL3}}Ubz盎-s fI?ۏҍfͅ* $' v X!K- lzUp d}-4m}]ɍ>CҒi'z~.g[>Q_{ԺX[Q#HRhJ#tď`wYswƔ]‹ܷJZs,v̙\OF5Ȍƭ4.m8 uQW{{Yg! |kϫ{܏KkBտwkrls gLqRp"ykωFo|UmDDѮQι986/)E Woe{Ko$D Y-r+=5uiϭφymfڨdٝ(\qpFVAyL60ApUO|gL0 .$&Abp7'_Pq&.J(ָxwsu}=qujJTµdJE\W6uQcj-N]o'Y3E`+hHAb|.ZBkDH:M <25ka]49d"/{V"w*w:5՟7=ƐT*{(E@؎Z+nc8)_(PZHDzcjXEBFPtWqaHr&ܳ:8H:uaAO K [lRdOn΁, T^*% 8d9&?ۈ~]!hu59kx*U{Bn`Wm2P8'IrpkQ'P",cV 4paX~0To5>|Io|<)ZŚ [kZO|kS|n?EQ~56.J'Bj1ϖ,wD!N%"^u8ݎPn<͌v.JŔ*Yu`V ]!A-"])N0#j~ Uy\D7E`]ȌT{{|U\:q%UU"kuL:(rN ޝ㬻7""͙&2 V' |0hD@!wݭQԙP"a?+ <^gҴoDz<{c#6R?Ry?>}sVѢY-@jx+6p{Jnc"7QT$6-)lPb8f wLe^l@'F"tmcxx8!fqr2#ZJp8RHY1}/:~ˇl1ԯ?qb6A(+[}~ZDA]}SƷoRs>Z3\;xƎ=_ǒ+O~f9&R "^c𒁞N(s_3|mzo<ē^5N "" #* QopO$(b_vLw *Wƾ* If5 %{k2H\eR5`H?8PU(-Cc(z@ B@^8af{Gߏ:3OE"NQ6NkӜwT:;G*ƫM8V{QHrdµ՗J_J&g;D6@5>39VdA¿g0B/a=Q%FD@Xl"]ԑ%bw _>dd۔.yĽ;{OG#m+*xxNk[`(7Q!V2A!n;4L RfjA%̒<{QmUW"G}%@8 4] Ī|U[60OH3t0o>N ^q3СVab @H>v",C^L3QM͐nQ4)}owW3;VYߎ7SuUAb$.SE\9e{E[Lk9E)"੹lTJuN*8jcuR:lRmI%" &**ܧdS5wu3J(n)&ݲN;:TfZp53HSGqJ]ިr&!®vᥖ#|um۱PUkP7 ៙j+"fg5__|{]I9nJR,>8O}ѤY1mB*рXBQnQhe R@""P;mфn, *R&pj)oG*\iy h-~[.`&1Fs\ .Ր7`"* Go %N8E0;; T=j0O[Ld0׉ ㇡ۂjM`T"A]e 3(8كB;ٔ Rl6hfl}Ex;Ga7VQٲMq::{H$zq{H<"|Oâ^uyw$M}yӿx>w!9 מ&]'s9щ\jPm>Q̊x1X`yv;_1Nُ*#p}WYfS||\ Axƛw>TW=GzQ'nʁz5{(z&lk6`jC,<8B/KM!xƏ@m`-,ѧ\p/Gd_0Uyovu'} Q~huG5> "$ "10)`Mۃݻ<7& ?n^a3QT؇󰇰wt 0zJ7L=ڣ=VbSs"+NHlX(\,,]mPϕ-%  _qR/OlkR}5MhkDžH||kno˓?G Q:,0d*rzXfk3pL vV/q sIO #N$4{ "ڊҽEBw(T봈T+$u`@ &1\fC܌SR YRh+TȨj %`I6&'NJ&ٰ(DF=Xrp @/zҫ#.‚P@2)"0^LBS] H}6jPj 41))ŇJK'FDP[&h’gI:<֥{Gm)E^|ꛆ=_oD7ZH 4r>#Ԃ x0:T߿3?ֲ|֏w%QD3Qb0愛/PAT|e3 ~$@W D;bQSSi&K-98~9쌉G_] '_%.ﱱޢ:rEa cW ?'E3 {4CNPE 4;WdDmZp[e]`-s'JgS!(;61 (Pez')zpPR*J=D `{P'ۓcTU6v~zO,+HN!#mW~J@'ln9DW}Վ,އ}W"}>`>?|lojCI<%LK`T$|l$]rSխUWݧxBo#kr)ظIdkRD,Jj%l-g' .kͰb$Xd'mJyI{8ovRh ġB Wv"|(MHJ5UOP^5R(aB,*E;}[E J SlLյ Ztf\-Y/U#Xv/l {jwk)pnp@j+%pp56X' L~\TME;P)R))*+/N*з )IOV!?)2ήU 8Hhl8;ec"kЪrE:$$A4)؅T{j$Y|ݚw x" [X]\r.8 bp4n5qK-ztN{U91c+@DxMB~C>VƛyJr~8dlDM:m?K^Kq$ۑ b6bnީ,7P%FK=Ery4`;O9){Bg>X3D@rh |8oۮkUUmCb&|4 E5 *`8Iהl׎$k/^^%~uKHxC9체#rYƒ,qPizDhKHaKH 2n\2 n"RRM39X0}d/EM$Cs "`9_rn'rKD8=D`@՚[&}#ں6N6ٿ h>CEP9,+#HQevv.] kT܆ g?i }YuLq_W'P0MZw(fWZg*?7z5"$#qᒢ-ZAaD@텘Z AFp!55IU1p!.EJ>i6397rq{ 1Q%(MlA| %4<@iP$ f<']USsP[B (aEܻ7 ӦÛ OJ_˖/wiY~"WH%d(斻(%iB`1 (;uY@_-84H\#h-n7&m ߄|~~:/!=S121ƂUYD" ꏚcTqߊB͓ T)o/QM$2ۍVme dɀtuQR]5QPc* z3LJ >h63U_+heٟ,}=x3 ԀYYp Ѥ %4 \F;6(׏ٖ.aq2ME>'m`zJ B eq,y3Ae;Ȁ̲9G&n/|p;0^!)(<Ǎc1۵cWbZKm`JZi(6hjw(H)|p 7Ԓ8`ԱmU3ЧPDkcF=y)vu3UO[yJIsR|c9B,F~leL9uEx4%F.s5>ꌒ"8q3fTﲈ@u2F`HrM9!(ܙ:Lf{7fSn|!W'b]$Qƿ7C\σgɥj"IV~'UU5YʭjCt^obBÎRn\auͱV'I#~?&kQY;^`:,VA&)d(mFMF}%hN.#ynSpL,P2]Cf Q_aiJQc)fQ3;fp jq,^ P y՘v aw \& `T(WldDzK /!NAsmq^4gC,ܠgYDՅFy=LY\I=s1^,*2҂=ba>ѣ{!ݛ0UYpnYw,Qak?{+P #PO^C8;3a3Q"uag'960m \+Tjp&?NFI(~LN](>l³f%L[hЪDK)=SH$E6="oYn&^;d @2άuvV1PZ\a M3㳮 g$tL1 O(:3) '"qU&JǠSJ˒RQt0'k6XI *qQFƷ=]ce&{kǴ&V3 .J6U:݄5 PU N>ʉs jWBTu%ղ UJw`|ʑI 1؈t.4^ )s5h_d|λ3כǴ˓(HB" I ]pîFqvT#f蠧̌ tr'7Ţ "%XŰ/};3]n^ $bJ9.JxKZ&=&33O6fK,-HjXCR쒟51uz%9IQDJ~%"4 ŠB A5 py((%{ V3/X?0fA^־8a_{k TXbe VPf|e)/9M ea9[XDy}̨yC+R1`+.n|,<9>f,\ގlfZ"^y=hʧhԵҺKpWm%)*ˊBKP\DQ[kDBHeV =uh85R5案e3 'ܩ-ptЈEL`1Uod0c/\(yr3ǞV#+ J$7H5ݰ]p̮dM(B!/'c11:j4`Ƭd9k,OO}C'^r޺ Td7R壵`U NB͵=rmUUV|`/~_븫:s`γOwZ%^?ɽ/v, мv P οnj!g)2i~~3J-w`PҢA4[# m7t="{ĕ:q/Wfʊ`ɛ e*DAD*,L)r~/A}\ݫÄQ`ld$w+ఓ̸ʄYL0 lkW]l\I*wG+fo`.s4LފEٙ[UGgVKB<-r x>r >@蚭%Im9xHT׮k+ECL Q))RVu2a9{+.rԼQ-UJE6+AzȔBw"xҠl>/{F3bJjE)S43<E+A43ݐCqYK2`-1TYXLA-uYdE)%Q{&23iɅz7%f,0*Z&"P׃w p@8McI,q0GbǶ+5D@3eXO&k&3DPuꗚ[m[R(-$I,`.q~sŲWZђfk׶3R hqٺ3i*0"Uq"w>*Ȯ"=(hlܮha~:J4k!#p)~ \L!}{dFםtN$Pl݌3v$c# SI.ߝsŏV 2D삂ªjIRx#3#ciz#U5(ÝT+ȇFE\(rZ7{,a,l9kTȻOUಐՀDFf:9iMjg0JZ`$:ѤČYވ) 5P6hҌ(:4e'HsZjX> ;W/YZx޲Qʃ )ħiQ%^2mopxnWh];4*rh _ D+I+ wɤ&]㚄pG;Z](Vϡy QHt¶"1SHNvZȾ|(0<~"w95szI-]xzIr>zD@o[3į%V|"Ҙȴ"7aXg]pO5O_ZFu~U?ݐ\0ٞubWbʅCAT]7y8FEJ_ˏ̬% VQD9{+>=$n* >w¡_Vʙ !怠Q v: u!+njH׃ 'Ex<KBXZI.C^~H$A-PSvey9|s(*~s,V2wVZyD`>W/X@ z!$DU %WcFCwM/ọʌ? ڙ{ZEڈ4ux`̛EIXOϯ3m5,s;PӒX{{L9Fo:zjWZVw˚_RDzᘲe}KO,-wAv7 i` Ve -~~y| ~Tu+ $7vDP=>O" =>ޯbMf1=b[t|A&ZM0^ #,s)5a;rw #fdH'fBfU]qվ"YnQ $ U 0bYH ue#>A?7$B^/f*]^L5nBe" ;{K I62RX&sV ܠ"D d+84*DM/' #1{]CKZVb@0geJw0.0UbW%H#JnkQ:* ST@& aqW|!46ij߃ y=5!a~g Pf]l!"׏3\R\1% $쒍A呄 0vAȧe䳬"J# 6XLF(ЅFhE|6 e&cYaQ"ӭR^ʔUnjߩ`30B"(߼rmYjhqwKaVVͶk|.lipQ59F@(`v`Dɝ<-|:64"$#q'f]msh=(:TҿA,YYݥ)}C|]w@̠ .%[a)gpƊ-m1`CBR9!Ɣ@%4"Y1 ] |\#C<Շ,H iHujߏZ)iʓg~T6)b%src@_VW .1G:Y퇶\̟r@r_M{-+}]n7Hm&RBߧV#Hкg/ң_j״f`Io;KZ^2}6JKN=z kDDJ3N-=Zǂ>W\sLp,ܑPM-Tɵ j]ڕaS3Wk2 EލUS*hmXQ ڒHP')5Px:JʯRFlt J"3Whi4' z}])Mʛ_.ߵtr/)RuJM4$o֨<ե72mKJ|=h^GݯÍ!nZdn DsV9j _F,H[ _T޳ƚ? vu?T}QsBP-OTÑʚžrv9>S/cK94D٘͞29£}P\7pg$DǞw1@\O1mjkX5{RU3ݗ7#Qqs @תFV*H|RA8Šiz 8jDٛBы>rP3MP wR7w%D& v,wJl F'IG%:)( yS.]}jTc:$c$R5kHP.yuGܪZsK(|gRQYr?u-빊>zLVcUzy/\eBrۑ+hX#{wO|J{]9fMRVmVcX8~|s @`B$,'[E]^<+Q@6`ĥV5Wȓ& =dEG! Œz}sCٰ,vJs!XrVaTd{#L$ ^ok0ey*sVf;lUeHM7>R`D@Yx4"*gDXǬvєuZt"d JeqVhuv:Ȏ5vXu!h;X 4M=[G,kx8dLVX d;^+XmJ,b3u0nV[$7`J(lg9Dɩh˻Q$yr=ҳo/@cg"j4v:'LšYJ5JVj2i3jfDXZZ$]˹T ;pi.o*. )uVSzA%APdk %w߹ ,3ߗת +JMD@pD@k _%B [kk7+eG(p@=9 D(MޡYAmDn0f q_| @"5'{Q^H=ѹ< J<51|rA5.vNg hfEmDz&a7T$f04,p8b3&a^.U+5ux G("_,)8Ōc* 12XIJພ.Va!Y=fmGƒ;hɋx +\OVAs郗9u3 G2LCxv߉m\̸s@9m4KHy?ÿ jH@Qӓm%Z ȟȽ$+$eZ3F#1iD'"ڳz=7lD@<`$jY;䈀Nt[*[^TYEwY*cfAk\0pD լ ¶"`ATVlq# y}avtۅ0@ MY{B]n Yazt]/ j18$  ShU%wH3p8ɾy?g>V厶37#zsF֚Ggfis:t b#HE˾ݿ=/7|( <ty>Zek_Tz!FV??0%5NѼˠ)`@]>z[+䁞n$Y>lz͞jhwI{my p=W!# f~&bYTp!Q"msBњG$n٣MEGj"qmm 28 =4Oٯ Nh#wiRH$ ŶF5IN E"y:@ Ϟ ;Nw!6BVAwHaWfsfRQJuBd'*oTGPc* yr7 r{>;)+ E்0 A(q%]S5 r9MWB PX%"h;ʃ3ب<yR==k frד@Vja#F~2#28 CSW\ۈVS LHi`t5h lgbH֓kaW8 & s4#$ 7!@Pps HO (`(RDr6q)GyV}vuv-f" E?@AAJֱd챢A.?'UB'[@ALCW#6R7w:@+6֣) ԏӒLcǭCΊ FmM]I=jC9Xb@X_sSF#nB%%t"#b$\_\5A9si`Uq*(tr9AyU!W"9Kh"`3i`#b0 )>QA%&T-+>c3s(uҥ 6dy+׎ v΅XvnZm O hKe 7ϔblT5B)^:W+%c4C|ct1jfۂ Z:Vf!CaN+p5P9=!:EDE$>}|>?pkuB6$z=JZNySy@%)iMK2CHrH}kPƺD! ExJ%0JV /acPV>|4 /mG-r5ўTJ8BѮ,Z!Lͥ_N۳U {fwr IDbF;M g6Q흾U]Wn kq8$V@z|}j3Uq"R&ZD`@*N"RAQnA^l{N2[D4qu 3]&4HI%Qt0 @x"gu(M^Ҏ]8hF>k]K6 %ڽ6%yGξ5q̥vfr6C, asF `(yt/ҹpkF3 „+Y1݈&rDG!(4~W?/5%r\3Iw>&D#g2]TR!x#L`!K7>=53*TBdzE؈/yk@>&~L叚Q(=C(%=ǎѠx|UAEJD& s7™C n%^@sXkem\D6J+AS2lj!#!ȿl5m:N.5!i? P*e%Lbv˥n #'C뀈ZЫ|6PH)e`UB Wq.äah9VE/P񜠥=!x6I pϐ/^E8JCg9C^s\LqQg[:F%H-EGtSdIOTߚ .@⇶O ̗!.AN16'=b?$fs0S]E`РT%zSa!]G@h sNXK(#- :&9$qA.{Mwk xH+C!PT(V"dP O 'J *m @"hc i{p1߄:,@2ljE`I1s )خN.}{H 07ɊZ~ĎE  E8$i!>Jxg:'q{##Uk7=C٪%ϋ3Q6ȆdoaQlRm@ΘAΐn $LUjPJ  T j "H~!eES2y(a@aTִajbCe` PJ>'! rsq#H@}$)TI8#3 t 9TA0"Dtթ'V :|M{Q>_ү3dG b.Px ܰjh'tCo÷K gۖp/3e@9ƫЉHbL:(ŒF_2>bۏ$a;U Fs|V U҂(pW|&8CSxͱӲ\ک9.ŷ*/f>bNVpi\f&K$=Ci69*Nq{GYmO ?$c{u#$Iw8]$Ic](5m~܍X= i P\Ȉc@1j%y.b,T20] *FD?ub0ZaAL.q=2-Ca i)4$9M =!Hө7p2N  # J,TXBŇjeVVK7H*IQ'm00"O#< A A٠ȁT)n~ӓHPn ^@0(/d1SX"mvDRgz=@技`@nuPdQ.!One.l(pCdJ#0]"pvO!E[1=@ꈈNpD&1ji"4{%x)Z+҅UzL%P!A ڟ-p( w~<hx? ft^ E'zH0h5̧(o\pK-G1q4%Bv`sPdP)ڪ0u1#JX5O >_|ѠԾTi@V|%my`?"bDawcxkBj>"E`*O gJ3$&FAI^25R+'0`pȠEP}?Lz+s==I՝v\1C,Q3@N;CdӋhEzHMꙥhb^\zs3 x 2G=qχ< U(,j4~N)F!j:ImPy EIŔvW[0K;=]/jΣzQ㋕w2[ NwK˘i bqeA2Rqvf῱a>i˂qu.DbwxVyAk|%0yKOkBR`4ں)6jQfƄcw PaƉQi<3ʌM]sg~|}wJ~샤F_d~dL/lmp XUNDDR#6BI%цS|L!e'WvEB *8Ŏ**'Q_a8%Ghq`sO0q8L,XGNs # #S'?qNPD#21~i239aF+(8+mPgjp'Ùo| 8ᾨ8"lT 䩁>GPr`D8ڛP5ÿ5NO~(骴Qi$S'|!@6 ȇ0D:IoSjڽfxE*&ѿImLB1C` AwcNe/G v=f]!l".xͰ~qfވDDUFH٫Zc{@0՜O]q1ދh6y mlFͫM[$Lqќa C[To\Y1 z/-cwDʩm,Ez@W|LQei5y 4D@P*-fwuL!"5%ZH8)}34D\Rc~'>9煰asJ%iBQ)g%J1rj ,gjl@m f̤C}XQ+C1D-L%ɨu)<^:n)p_HF 6;m-FRbVpŞ0^auËℛw61Kj=m@N Ek5T[y*K ΣkaZȺ3ڴum`c\9.wn+JL4˟=o6.˾¸ u}\sizg]'Qޕwq6M,ޏn%}5dО޹˻:Y8B5D?f1 7:&@=iJr2#k4V=Ʊƽ8zWûߎw$WȨY1Bh/3RcQF K yB:2:^p&gl95F'ub^vO|pHL*y]u/ҎgSXZZIIprBJ]z缳e?ZƭsD=Tܔgs-W\^=W1l6Θ)31$reLcDiJK& Ƭ*wŞt3DηhtI҈n6z(/w=H#r7s:gDq X-ŬP'<*Mik$pYXq%¶AM*a aSΐNV|KڮҮŀ;Txd!iϥe9FbuAI£NFF<~G˝g}fe~A@pmFݜr1qNN-e;=m]EkwuЬ lcG{b%l0O)VX<1:笨~zhsOT(cyM!;W SSe ƉI@fQhPզe~S!?LnZ+3+^|e@E4"v0w\@8(T'g^c/UQ$;~ؕ~W"0f}D%Y M=p)!!q֧n `eZf#97쀜~I]AbrP" F 6Al12 ޲`a9E榏`*p!I@axafJ-(f{=-uaрdgd{p]4jXB0ʓ*%rqQut>\kk^D@kqEf5N1o[FHX;AY: <J+F֙ڭNj:q+dyȃ+p`L A-bǷx&Y)Jjw$ܵZS4Ϻ/\Okyifl#J؍fYAX " :cѣj ;_lٍ3v EaAOɠlkGA谳ⳃí W}SP56IbA͠"T׿-#?s[Dn(> !U c*ECK8P/`֒T6@.9z̶ڲcԣ wp܌eˢsft ) 3Ǖycpߕ*f9j$Feb iN!ڶ-Iб;@0ʓR#u+@-6pM#-L)Fl~r1ߔ Ȏ“ I)4}QBF}>qB3C ^\vRl޲(]zU?bD-lnMn0p9rx|z]}.]FsWQqjTi~p\21UUw^)"ʼn[/%ZT (#ktjӵ(&¥J44c2`MaɁΫђQ?%}2G2ɱL ;ǎ84|A2M=]G@OL]g],T#QUxu=f©E/̌im){  Z̙+TUO]hwsHh{h/#.}&P%qjb_k,AGe,259›9T;mVD~&1 v(,:`4TE%Cu4 e9qQlMEK,#M f%rQ_/y7fᕟuӼ" /sїQ|6#T@)rȢkbF4p0{MI Jw5;W"""lA%ű5EͰ9Oc"خb&2I{@gXe@XZs )*(EFwb9Aa),@ps# NB<bl q an<d{GLGx4Qjh-'VN1 ͕KUSXQ{È`q 3 (>#  -D$u& J?^*#65yp}ќxjkzg<{2ۓ@r{AnÀm:/`F"e!Hj2 hj:h-C V<\qjDeZtP#CBPЖM S S=?czy /F?)|WȒbăTtuA?F~m &B~LǀeYrA07zhB iW!lp&;+DAAT6w(LN[apW+V@ 1D2|#Ј׻jgaDb)O?`~z 7uor>սC"0?W |Oִݽڞ8/ bUHai=~O6?"B.2.@Xa$΄Djzo$@ h=(b?  #iDKo9ydGUOxvK mE4eT$"XO paIUA,&O&PwZvFx;G7ɦ?Zx#O[愔A*E% "posyQJm@9)o8N<=ӯ ^siN(8`\y$J(--+M TP$ $Q=v0n1Mz ׳?nj?T E@B?}-Ďt6.<)쪿.*A:Fn"ʙ~}.)HY6|0Uwguj #f(j}=o)Г,V%2үM? .>bT渌2 w FckD` "e޾=w_Oޟ3>:H O}I.R&`P1@n+"=O_dV*VyM@R6dm9*b;O_ - NE!<[[ űP$D3f~rz9#*>!91(MK2 TG8φ#O{A룑!\%J]&㿿$!%'ˏ=/RyИ6 84:a T4H~0tI.T9( b}5OKHo% TD% 4iB` KҔ1t<5JMU`(ALʽy4xRjɖ-0"L?I > ld8auJ)HR"% $APHJCP$)PInADP(M%\T,P KlqQ_~\SR'-':P2K@DSETUPTn A3A7D  3}O684`']7:HRG!&JJBR H!HA/ʒ?ݘi/0~/Z_MyVChʹ?=~/G&d# 3){T} Z@w @h¼*?UQXS<'0v8@>agY?O^|:y>CTH|-K?ɓwm$8!c?/f:P:aMzh6'16=RT6:_8!HuP*9i%+jU\>jCj`7vv+Վ>L'8~nGlm5Ejx<@yz;JPI'd~\*28R"Xyĩqew,Z KxgnrfW-5fMKIJC+#&p) QMd޾upK9CBM6 DPɳC@?]fS"DYi   $"34بF0HN.0C t1 " Kg:'xv;gP0pNE$_@l_–]7?0uSwǡ|G>wFqe)/HYN  P9)M2s4_]8ɰ C^?ҟง"R=%f.pX*ļ9XYZX9֔Oc]O*k_WJQZ嘏_hvc*d3 ,~w<>M{j{UA!ɟQمh0[JC|J=g3͸s~!H\#5:Ma:4]IX*L8>/\/{k߉$?<`{%:{ 0O 4}NǞb q]bYϷ]p^(*5׭t;>2d4}\ty1>#m}Cz|MOC`~:c.5vOvDDyC}GRd m'hMǻP|etaI8hd_b Q ehz]\Q= jOC$26(>HaˈJpP]|װJA( A\!|4|f6 AP *$!0΅C3@>j@'d' .I0y)ҔDCĉ32  _UDf( G=(=v3$a5v5 o75rKh)+GO޿~S }`u#=GC (HA$EDQ(=hDwg0' HU [.jk۵A %1P*kڻ gf=HAt<>PXr;CT:OkP{;^:8Zrs 0 E@($F7 78Ju(8I(#>עĞp'ÝgY= w~hI$g7cN)@ב;|DEs.P>ggo#ێN@Fq➀0\TTr!MB`Qb@`C >P{# wzbF-_reէ +Cduh  |B ,0k8ėzP,nӉόSˋK*!/ϴ(4* ,CK8Ձc"髊")$ @Ր }$d>nݽ8tosiѬHfGG/^9M>\'0R!.wh|wЙ>is*b2hhk;kALwR CȀA fw%?X\9m~|CؒJُwiiw2h7屩gy)+!P z2"' G&4Lz|ќvZL7 %DAI2% L@ Avo"HXj0p<iFL9`,;O'3GhX-/?0ؠy 2}]OByU %̈́(BlVD5=d:H.( :hoowf{#^dG5oi\\z]tu8)k|D\D`حBNb_pa)#s"!n@'%j]>^&)1K<=[I:d0o:?H3~?HcѲ@I+O hOw!543WW 'g~B]~~Xw䞐7?WޔSÎ(7Bb)9lRyGU @D(`S;]Ňb,I, gp? @pc:3z`_TwO 6}-.Tro_lM-ӧurܞ|0>F#r"'أ0v$~3p3\[P .A"TwmB ~3´oɂGTE"~8oJO[&hs<;8}:-Ljo%R4&Wϋn(If? @_3xvw0젘o00Đ}]cmM0<xBx?01 {@^:]Gq# 5$!CLv! d= |f9`ZDR=}~uׇ:{|2174?:N2<r MqC"OٸCWzaْԝA "m<SXV/Zۣt8T5aÂm"3GQ(SP}G9kl5ק d/8u|]nZ}ܣh\#.ل=FF|ONA@o:h PY>ʘd&*OCձ%~vJ hJ/.X=ևÒljTTNaTABUT9@􈑚'5CЈy%dSɡl위(v] BT N7B[Ztl]D_9!̉8v^ֹeB$` %b3'L0~s-5/& B8@âB$?ph9=J=&,kh=XSnhVL*KD9+핽}P׳cbL"^"1}Y,VK t|> _wo+&<4 7ylBr WVCAj;Gg>`y'ӌ)1o[.ְbjFhb33')4%PoΟ=tiE+q@bͩ 6_q5<߫vj#2?4C48cHH=Kj`FX`yEԲBB"s.,5 >^ )D\SS  !? @2{ o2eJ??%jL\rʷxڒq0ÁQchQE^QR i-44 >Mx^ N ]gbdR*Ӗ}/}0ڣ_hv z-f6Pk~]䞜b$ (Al|ЦZS9%0/{BD )Ay%# Fh`7c^oa`y _xuz"9Ab!Fn$"N>?WD!1=C3~_K((;o(t?;㗦? 5wg|!Q?|6|4uvlg^@2D@A bA& .^k4_|V, 7_=}=A}3|+A!v#>ؕ  ON(9h Y}0XKi4lFsِW ݀((PMf70ǂ( ㆬDMPP1JOE`FKLF=k`z(1˨G*bA( HU6J0DM^'<]$y1 iAl &qoO~pvMPp3ξeae`\= C>̣ ^Ud0Cĉa"{@W SkHqɽYJ<^,ED~P7_GbO54!liJ: p!>5R;IBTBX|\r󾢲 Y-,a߼I(i0gzpfһk?V+O%UL}:3u,HW^xfB"J913UE/#6Mk>*Ds4< @h\6o{`9??$hc ' 0!DI O?IyZ!5SЬ# :_3 #ijk+Yb=SUShzs+%[FJu:7ylpfh n-ȑ~TP^@Vr&DB3Kd?xG㪜Pj2?c}a 9 wlHi\&?7!]F<=#>}۟^YK8H z1-&i<Xz,'1Zi\(~?c%-G#^q3333߻ 1 AY>^: [=`Ï`1` ?D@5c8`LFD[q~j:k=!!/.sΣU Z1Δ1,\SUnAcI~R)IJ'g x6#6f\Qg[57G?IΐӼpje\N%P ,N*+imFb0LB%L|}u>n~|ey5+!=80U)Ρ_7<=b~OHFFBB29 9CC!G!#cd1HFFBB29 9C=N?(8([(j0#Y2&ݡQd>n:={>*@ $>ݨ rDzO|PVL7qD;yշ?wH{ZMfOxWf57]|#B_pD@8u; ]߿ӢFGxAay{WRJ{v˵;gPO0 QüG"t|M`lII5lD{r׸ߊ I)Uo0>uj n}{l>O.ٰ~H}Rmr;xޯ_T,(xջ+[ pO*P@NCpܥZ#w瘭#ZaHTB=Tq߼q}24\駞DEɡTea) ' \[Hr&"BnKJ± m݋Z-,/ P! U/̜M_^!ʅQ$tfc"E??:,/1LyWd_ _;_^IJOP0vv B "> !|#x[i(=7%  EYH d7dU$3  :\4ntP5&P9Fwa+Im0"HBGf{f$(~?n"#`# s A_£,DkEԆhxG۹cЎc^%9@zE0up (SEi?lSe\p𥚐B)az&S<-|3>E(,BE_d<UکfK'7Gܷ5"$OyM /1bA-=dPeN &!$m##-8z!6:!/1Hl#c`;ڷhDE |}= zT<@V$5t&cV;}GEI R3?hovH8{C~$> FUi,.y/.[Ͻ% ?H@3}oʈA8OO8:ƉBSh'vO'jP=uY_aL?a~~BE 7>G``e(A?$t.gKۧg(AGYK}tDdI 5A !}aG9&9I"j~BH "%}c`u >By GGG!BZb?#`|PO'q$8r_*UM $tj[d13Vn/r3NYVAn(a#lZT`'8Uoky9AmTu~|CiU'ruJ5(ת3 Mѻz*3nkhKuw]r cZZ^"-c7l.Ʒh-ExdT*KXk i)Fwt~" ICC-XˤW<<:~po 5C,g(;#qW;%(PhsؼW4 ڷn,]td(nSPx^o}u㮺16j?x@^lqfQ9=?n{.8\2xGusU<(m&Dܹ:tfwjTMxҢ{+(G })Ҹun#~BSJQ÷^ͅfV6X6ΒF@oCQiYq}MUDL9trУC3z3(F&~)+i#mFeo: (<nZXeՏOLekx 4ᩲ|{g5kn5/C I4#H:-,{aEkֻ"XB,̩u8buQ(QaˌŠqKNI6$Y~![-iQLwL{g"Q{wji'ImNqw 28Ә3 (c3iRa&z=H?%@vͿ:RD,k`Uy íhp;.ӽ?_VH)4 0S0v{qr/&1Jo ,͑7zw;Ƈp6VQȃT~Q," /ۣa}"w3_8GT' 8e[~PI@CkEPw "sg|3O_ N.nqwU xw!D/?Q368(,+@nBn[s~mdG0)bNZ9K$1F+jjB).vw;8dNqc?D}D@?0TaU$V Bv> s !%v%2$5Q0UM4/oejK 21COr?zljTA~'>ڎˏ>ޅO;k}q,I8ܬrVE/[h:Ww-.|s_t) +MkeI6=Ѭ;0 " `QyQDZ$bC;Z%I+|:މ.x{yk"phCbA0Aa=g}{pΨ'w]Zo!{F6;?|<gD<Dw %֥p̀y)I <;4ɪH^wt7MEq%e0KCzhFr w|ss.XƤ:س.Eˇ kvjyŝܽTWx(/֖Ww>>ltVo _$:թj0D'd x l*®%QJM7O ԉ+AaS'Gڪy' c8ӷl[œ$Ђ>"nBʭ2H)JP RPPTR)#(.7N< jEUT< x(qMAMdX)1!)@)i?qxFR+Ys/s'T9'Ҏ6hN=\gOF F ,o՘b?m_rqͶs`YrH׵FABJpېtٱ %'z1ZR5)  e:鍊O,bѻjb fR#4"h>/Abi|yB?TxBsD*D CNC>PzxotA4" <ؔqr#:8 W :aq` )_ʟ 䟘?۰'&VFt(iD~=O!yāI!P@  jWU4u:q7k D)A E tT_> FdV!C: ! E@YmEטН|g(`bdIOd O Ϗn/#A@Bܓ<Cĝ *Z;NOԑ?S ;xS;P0iXX%J"%""X2$l=iÃ

gr]A"uRLlϱ@3Ź? Wov;/?"[jk> 쯰WA`S`ɫۣM41 ;~olܧDHJ̪IBIF#\G'Ҧu'<apLJ [nX7fT_ 5ů PsQƗs1VIن kh{խafAO?)!:JH-[bA-Q*o;boI,,,\g"pF;sNήon|S~f[RΝ:fs*2ɸmESڢ.N?O|̭A! (v.@wt1- a-FATFG G~3eO4@(B]X:O<$:&d*级MV3Ȃ jg "$T&Y,%(p9Xbzp@Dxa(% NdwH靐2`p[J6Ar.8٣ ^6 `n$dZd ڕq6p5]^"";U' >,]s$@#FFFރf*_(绂>%1.@@Dā\ovs1tB }@D 栟eUkQ-kyoWV *QER 3ſӽ쯋S)D?T$,C֔;<br=Y41*g߷of܉4sOɞZD`PviYrWLsPE|@\ fq&^ŏ}uP <pLl6mUU^သqeo׽w&,P 4P* 9G| hu,线Cx<: /2 [if$a,=Xv^12L}FIa[L{BŽjdk"00Ʋ" 2B!@S/ԫQD& @0~ٶס^||<@BbP{/X R?1B0)M!Sk633uw:Ch^ר?|m`v54]\ɓŚW9Cm;Nek y9NQˡWzjzQ?BvW?ު۲lw}Ƽ6MvOvzA a"f`m0NRM2?݅dFE@uջqu;||_πp/#_'k?|:m;|: ?Im焂zďGSݬ# &NPzXc{+P=yn1SWu R "}F郤AQ2jDl\#mA8t2D @p0$nA v Ko"&lf @ ǃ4D6<Bxe_ ot|8^Y`0H`ڂ!V1jң զlUt2(\bJ0RoÏ? ?Yj(q=W3,XQ* bS??r:^bFjk{֊tA#|5>\~<'#sw#z֦qͩN74[M:ӄ)&*xBM)&f2+[^^"DeدmOF=s-ABCILtt  BEb+|߄O!lCE$}q45gorBΆl ! |TD/ :K;F@ $EW AY h=fą`NEQqAJlx޷gVZVa@L*JR WPob/$%rj9҈Ң׿n ϏsQGg܋P5HH/ܢ=[v%hyoOޖa ?pi >g9Zd˭:\)MtY{DZUn8LXsIq cI!PmsHacQAD06X|wn$D`2@C ͚ DBl^4LwJ"ejB^# ҁY`+ P@4Ҁ@ӎ ;DE)wY LI%OM!]l@'8j2 t7'̈RzքhpV^ zwO?<#)+(-L1^MADF)7iʠŠa=U;D<4  EY'C07(EETD%&|!O5VȎ2qy榁ʓX\P?_"JѣYC[FTM\$ (Y" ReDOws_D :O_n1I(O|@]#GhzW z ΖO%Rd#`cQfuC[%QR PE(+>-Ql WOU*8ZK/q}ndmc(M$);3O3/4YlTB1C~'ֹD lV EX]Rxjd^ Mj" :GcE%Jóx+U>eɜfkM.U!P&S.x^5 p,|Lu$R r@J Deo -;Q fT H$Č>p$ !0NlGy 2&Yr4- 62sTWC Й)(rXM@S5JG~~vrbQ,72Ad( l>~h agO?).1ב>b@?$D}d' }(Աʓ0AM7zc{9u8. 'U+ 묿b'oF|4Ƣ.,MG#@Rӗc {뻆8N9 $<N); 'Le*}Wuio~'>z^pjmxJ =u[qbvlT9bF+*O(E1=U)`4nv~ΝcqoݫMi VJW Sn!+N3T_j` .aNWXYǖNUJyQ@ߧp2#twf4=&~dO?<\) >-QQw#?`T'0#:2ؠm4CA@>sjeHm  8 &[QS!d`1:B6`Ujd}W,SE-Ȱ:y}z;!Ab0w;ܗ[dbG0nTP͓G&F8+ ?SEe FİAՇPQ(螌€P\Si_ο# a$ GaĠL`k>[_ p#O2=~Orn˿?F)48;hBNba>~D'C+vu ips9h`P'02z`6l;VNTa|5}\{=^=yOވ?OnFѴA*0ERqQ~gQ:n:%` c+Db![t#ٗb@/TO*T@vvkǐt Qw9 F#:N 6 5؊4/#sQR B)Sx&C1"`x}#uC(ߍKM7($W;фRr3c1 f2[ZJs=VTW^ l;Ao=㗆ˀ>8S ~^Jc`d|٭2En7 }n'6Q8ew*DG"+ AjL|cO}7dT~b;#ٶLN> ]^ynaJtʍ#wǦIhjw=&@f1" h0›ēp)DH/*YJ1BzW_G|N ? c!r;B88.. -S?DH 'e$\ P;G pu4۞0qa+w41m|8Mnb2((wH[1BiVjXh<ZFFX 0eg" 'R͏am"U'$pw)@GԻ[m |mF oI3BFF$ w`( `"q寅vx϶X݀ ֯ՆiDrn+|R#%>q4WAA={g Oh߷>x{eP _Ȕ"$"Ó4CRGyXN9a3:[3zOo?`!o3DVej!-PuZhcP 3}>ZRXW)5=´$0 s u膘 1W;:mВIv;)mAڏ)_o{ٔa1U|dTxNUTUq"UDQC&4cdp#PmvOۄL%bbB~Ҥh2!:g7)e7.a"SMK/.^h'ٞ)> vw7x'oE$6 ", U((ORc*OCN}ߒݥ%J'*9#U-` #ybre"_SN_uyg ۣPk_پɩhD? xC({PY"ALq$" nځ8@Q0VhO*%y(횤ls \;~QzՓp#}Z/T0{+'42sA딸h(fhp˜ht9kgƋyn2KB؀0(V~DN]a@)xyp yFABM)(c>:(:cn?4Ry;]܎al~@d~ 66ojsb@ri䚬Fu:D247Pzi#pɆaƜYuQ&y ?"ֱE;~/Frq9>R>f&PTeQDG jjjWQO )@ȧjC{?i{:@Sr$#"2J:}^`/^MKFqVz,LTA G}_u[+^#d8ALT _CO}}ugvC"[>H(reBŮBal"x!ȟixʎD ƉC"% o.P8@d|5}ǹWsh'u#0%T,KU^4 a>HTCWb ^%pZ$jq_Rۙc<y;0+'-w؄u/xP|Z) UP ;r>?0R0j<3A #_eʝ<W̕~ϕiGcB[>xBf^8(OJJSg\YwQIȺ%5qGZSP%Ypo3yL7omM:eY*-s!"'N8~+3x Sj=sK=vw~#Mӏ7lr=]lQHchşsX=h.}-lbQ!%Ct޸}aiq-vW轩(AmazSlozo "}jy XBd ~g=$ݘr7BuKf7x؏U{sAY5AH;}?V8c!9!';}nOgo?կW07D/Ae50Sv_a9(gL6ңaI.\w'nF@u8(gm:ޑ?Qf@Sb2tX?yLʺ4@IJ|=))*_׎./F뉈32pGhޕ _|NDQH;u1t`o7OIOF?Ɔ|S~*:p0ǶO_t$B}"2o>ij?ߗi~)fZ( B"Lo?Cs\g8'>gi$]1-Y*(`B*A@EE{ U=`A@d4va Ho%eVoSRaǦ)N=NR\8"tH#n<^IM!^SCQ W!CƔzSP9 ҟB:W'|O!IKOuv2 SG}T:pvތ1'xZO :j8 d=E1NJGS*>P{\E^>^xs˜@ hG{P GԚ;a(q`vvOb N)::)BFuPȧ!U6AN<NaT&Hy먝pT>;/s^gG 5$.ʇB.SXP+aS X{u>~V} {>\ MǗ> ~4rGJ eq>F/x𣡈 r’Tlkj"`jCv'g_Oqބ'ObpC[>1?AA J`xb& :D)ۂ3 yo 9*7'N} h'O e{}[,4V I7椶,>dy'_0ymsj/y89Aԍ?= {]@:' }v `T5tCϙs|V5e. DPrfx{״fz m̌R1ɜU_&#K dFT%K X2yYCU(aAz(<{shc8@JyTД),a #P$: oAX*ɭX^KQ'rA_J $e~j IoE4=9XB-PIGo4CvK TSidENƱ-<Ә|S@+uW<~q5MEDU,S4<\eW8<CNCCڈG\N>QCg$5>=Wt3ڪm301 i'/y"7O*|`k}N6u$9AO R(Q;8H)=SbNH'RpYIt*kNb!  }Ql$a N $M(N¡I!"PړFPB:_3 Dd)jTe5 ol"Xo#GAn vElϼq5Nu_e!!(2BH;Vp:Q5#΢Ӏ8fǴ'^FuUTD\Cy`: KQ@FG=R艍a4?O?'8lLMQ3mO~A'`_DB^E/ϼ d1^{O`>0#RLϟN_ $r#̪J1NPFL@ @xǮ!8>(À&@mTAy_yQ #j?]ٛ v\h*>ܛ~蓕_Wbj$|梑@!D0Q E'Tk˖^G~C{k9RkBi ͇Wt +_oApB 'vA 3Ȟ2([kŴ2kS$qW,W+0vid$l6h(r^]l˃Ys6[9w"<.dү3=@h\xN9%7f֮j߫Gt\MtpJ_i'2\V֧']DDA. (#È<<CmO1PBwѲd"4/o^6^֖G:}{zV\S/t@ vDzr2>]D25{S%9#r18.C$B% PZk&! ͳS7DIR N;)áP3L㸃Amj'\t4aW \9aWbm^1Ipƥ)LN4G6&H_@`>Ch{)4)g7^:9&KA磙s1^W-{CCM ͇\t!Ch"d(~CS==D1Uq

?ŀ)5&DgaJFbφ!pNih8nvslzYA1;*|p&ϔ>6{Ϟ|49{fأjQ irDxD*#*G;\I ڃ'|0}HL|JDIp s;'msC}G@aA3fФaUUPgɉv/̄3E1\ ppdM523CS5$13S;v'C(ʎ&g%'W菜{uq)>]8 ;d>aDS9㎠i&Dt@Jė\z.W9 Ns8AMPGӒGu#} V>+1dsH)ݞp NZ8zw}*u=3z6p֦T82}~yfCf)JgCHY!&9 ܄&NЃ`.`GlGC?=39!o3!3;p IǨEY )xg9{nd.'/z9Ez @EN*tG1>=3ٕ\q /^[]wxH=]=hrbiOOq:h>D|vbeE0P~ !! -yO"u]֖l(TQ Z8;"aHT&<Ξ9?WطzmoHJ@ pu9oM{zejbi>bHDJvb|:SN8wast&:uf N'\<," rt~8, &flrEM(Y6M ͔FkSD  xO3ɴ9@OCĦ %$("PbU>"ހg %"R)~;# }tS u2lwhCCgQpsx&΢||"cqȰ@e#FR"%LH )"{}?X[J 0;E]}B?s&:GT| a+LJ/.2ӲҩHbɄ@4P*>Iv@B]O3h~ǔ~u14`}E@# c+CgiWf ~CT8N)~9gpqߗh Sy1>'o.0C=?#n PLL0;z'`RG4x POTo8XӸ=膁  DMsJJ N*`@^~̚7#cGOmCG) ݿO8{|Wb:kN(:› CC Ҟ0T=Z4T>9?'rƢnujCpp |gNXf |ۙ{IQ<V2 p]3ЎiKo}pi`0ٶ'i :JeW:B10ݡSM}y3wQc =rrr,>ngHa 8zpS". v,Y>}w9 YzUBD]BrNth"ofs4dTITT5ME45AI 2P+Z4n0&h)A$(`#01L A#Q='INWlcccQDQA5AECA1Ely`^Sֆc[}Q~_e4KUlF31D1:nEB pdw4oC9!dOqo Mo5& 3;8v.>*A\&Ϙtb̋ 4Z) 4SZ6e(3;|ε4Q  a7#,80{?)N^}.ضkk:d#I30!Jr`XF0CJ%^rS'1""`FOS@ |\UpDNC,DR$0>;Aߵ _ !{&`.([P lfJk.(ءj @qa@MM]Ps1 ).nF勜sq<ip9~(&ݚ@\{G1E{t @i$=eԱ/ʹˎeۓ<wt@3@y!!` fQ  RRlAB2!~LG 7y:?7['AKpR@@2YTe e;ןð@.ݛ}ަӣ7DqqE= 4hLh8nyM"'ǁ9? {PdV|*wǑ@w=;y<UJ=ļx. A§=Ľ?tcB%6{0Abouh-xvq¡>cK33=LQ )"?@x{bSILr 7զR&ьyA ;H4#ĄHq$ h#50ͿKoQ[s_!BkU]w;.D=3  w)MrJz^@?3Z #z *]A|NSk6q&T<6S:9a肐~'|~=ڄm`AǠE6DıY1aPu] ;zWXgՇ((((BD SUU3ꮨfdRW5UUUUUS3JTʩssUWU[{G&N _N3TJPbLXT"CIq 8pܨ4C= '4|{~ߎeSLJS|Kd>)2O%0hO7 q=cݰyg ]k?0@!ݍ 'n<&`#.`.+>i^C?k,lN@AW2 P@8a)>vS<+=j&fffi:eۈN `0<;3)?2JJ @!IER%+A Lk`mif3g$KOGtHI?h0< x:Sx"wgxGK 7`={(,T ꁄ|(nh!!`Fi@i{/hFL;:T@`6A:BMKB|??a=<* (`ýoo!6(a7<@':zol < K ނp@ 3rA9}mzyüb^i#vxϤ^N9@ ̘%Dq0Ll4 ?T (#iК@)L2% !"f{;d9y'8.'fƠ;djA@$HBE>:&Ǡr2.8=6gs34'me`'j^(pDlbQ?90heBBrDZ(O"_xn:R_5v48Ý_8l 悛#Ps &@ 3P'HP>qxěSߝK۴LWDS>նu=ᨲ zqQI/؟2mk[qv^&ГOC o^z ״e, Bm3RAj[Ca_= 6|H \  N*B-@g,Hq=O|LA~ oU}vW>~#/% 8?x=7^NؘqH) 9}$#N|O>6xe!X]8MӲFj= x 'D~CI˝3)h:2)3L9Aˣz~aZ7dְZ zva@RxÞu> dtԎT_wB,}#B=#ir 7sY=fd$A(;9Y`N  6PلO_ܧg)2x)Kv#FC8lˢ=wDѐs%\ x,_Mmy:8q<'@{]sk?uS3~ó47Xn7`o4*hQ%!z)!w12D{p t|9<穾ch4c#N.eU2#j۰kޡ'M;q;9`;/Oz)=\dxk*ヮ2;CZ {nݓH}eoY*vޢ'PċA>ꪻ 'Gn!PМP{⢝>^^|Qw}qC'>xoL=ƞB7hzGtEO &¡!i:wGqQ(8}A'.-C& (d5 V$ PkJD'hN`TgpgfR)$>?^Vo!d3Ieu C8D<}Nd9Mʞ>9^&] >D^QOPP~E/MyFW(@]C`mNp;҇9W,*:?y>Abۇq:n=qa.A Yo>-uC!Md9ra- $%CEE"9))"`BnEC/,!I6#x7'{C+)-ϯ0$m6C} &# ѝsH<|@,E؜s?D|96&zv6! @! a9yS^1P`\, P&1L '{8Hv;Ny3˒KT{&ȕӠyzyd6Qz)_Ppn㸝 CbNJ  gywU9 TWl=)9) " +ߘ ($Lc7,O Ozzl@w Ivw<>0 w[agnM38\B4CnEv'TfSE@AA6?zqZ9~;\xCT0CqC0NQ=4d(He7#JA;,:!S <>ڍs addLL4tpz4l=d8}QA^ -=+>פɔB^h"*)nrdIr?eğ̏mT|UH)T SC$JN%<7Ҏ^jM;S@d~\Y6Q"6oD$6r3_rpj "!`ႃc..͘_֥tQẍd A)R3s àq6 M^ENq>E**AXu (W%IGUS1B ^֌ҞmQ!Dcn`MØDQK)),:b !$-,ۃ-+(4Le%/c3I "6v<ݳsԌqMIP#7NF~x(Dh[̯y 䧿<Ȟهt|;#IaVD>pK΄>wOAt*#;l`Ko @z5·e{7s{O^9 B2_T¡)*'_iA8Srw 2:)×bZcJ>H;9gAS/Mc'[G{zw| 492קMR4d؂"(I:u8;^eW?Ax~"zG"zTy0z=P8yeXF{4c؛yCЪz@}>#{@;͕}]a=cnY=;N`\>X˕|$?Hwf{}< xOV:; G_$輁/`@`5Z:!JbO@s胣QSؿWWNJW&`z@7cxQMn( CS3DldjM;z~_?oV}?, T@:($.K^ 98@'xrŬSX^r J':C~ 0(wz7P'A&dERD}$NClO ]4,:CQG!08: Y iKK Օ()FaQUEUUUx'9T@!UUUVaw=C##*zw z^dDgf*Cx6v1ϧR[6ß;e ?&@ď֓;ETJT@X?@ h/XPRt ~ΏњwZa3 3S0ako@O_ݹ {S5Gb/(kl"EWCA!:iw8D@A~T:bHSՃ՜uf@RI(qӛ =?oFF#\mԲr lP/' h~A* 5` 3&|3+Aϳ>A}R $/Yw} 牉2a8؀C@ 1*4 ?N x o; |H}ci Gie Kbv>*7& ɊF`pD2?M6d(Z9ʰN'g{a:F Fp#R>(v EդPfU?ap}l,LDGz??qe "?:~jx'`=>I򂟀86  y!i&Z` J;o㿆y&BV 8ǃ҅w MN8tP6c,nn֢\R, \%t}mJCvꥭq8kgp|DI^Ѵ 3Juroo@"B}qOa,,o~~d}*TO2/UKQ%[J@%!²IǴ|65&RRxat o=w=U'7xP'USs D0gk! dAd.u60F(ENGz=D/!n70L `g~=WsȠ:bdOhun`=tv21@!Ө!(y}ygnsFYl(̘C?^C`݀83)HV"">JFC܈}RB#HꊉG9Mkd~9jnmkZyfxEw^~xAmM6%B9Ul@Qv5lA`?P9P <#$~bb\쫰@JgY.a2n!JK1614toLM( "}.)kg:f{Gn\pAw&nn* xf#e*&(n/]rACJrTU,ȩ^)>ȑzd1йNT0/n!wykÿYnh?>{8ۉT( PR'<1.u@!ʚ.ܲ`mrBʭJn.ZD1MAn|a"T xb= ģCBBAa։߆W@T1D婥gW8I%OTߖkƱb} E(TQE VbϜu2 |P"wh3j"I(T) $'9hH%X^2`$9b"eά|g8Zb?Y_w^|Yd qY'>)m~R?_7CgqC:#^d\!j,~f0*(#Iԕ4<8Nxc˩cqDek"0vVRFHC``28lٲ(D1^04,Zm^Fu#Ϣ8F8(-% , RSL@cb*Wd^n`|!D0Z7 W?T7?? ަx2N Niy&po뱹guG!#A%Ԝzِ%6M[k#s=i̔,ķS0S yx,̆xNP¸x4i|W7MC:!'xtg>#:[Yvۿsm% UUi̫H+8e: H銏W)8֣=Χsww}|㇎4C I܇@<`W-"yP 9pHVˬd2v~D}TMB@t{*88GGu̍;xk h`!!UkNpdaW /wC"3JRZ[A()Y*[LUQ3bz [g5iHơyx݃y:΄_Qşf}EIVEE#`ܧAه8<|Oo(- ͖Z؛*ApDHPuveH# IPhU?ʪT~(0J !Iu *HvwDwQ@F-Pd1LGy0rA*I&Ph()T1w.#о= B wQLE9>!DQ X}NGW++_0zF/? :2 #|q+8PII UGL Ak+=qCew3<\fC޺ v ͣ[v=uh ("%LC0EȿyQq:50 ptCT z'cfi'j|wf9 jw!yq4{%d備gVx/b}؄G#? I'b*zvJA ʪ) M/3}W`$\p} Πq!Botq_D`NÔH I6sK?Kq1pF2{zލ9=n ,q*&T~'aD>R{]ݧ_J,E- RjUܕ`:s)9nP*z*u4]#2!=$E# E<2A{ E}L []c#<}C2e 2<\ ^H: rj ;!9%N@ y& "H"E"̞ kXtdNvy?;"qB*wC#Q0k@vxK"6N,"/g׈ {IGY< 0NZ,WgH" #O[ϐlh( ]=;LԳlk8>xˮd2&{oĊd1v]ABIo,sV`* iu !~{B!{yi|'r^l]Fvs4j7d..I:^/4 (F'~eS 9{ܒINH3`&H>I :Ī ջw0ȚdhCʇp D(3/=I0lr9%JbnK.5V 8'f۸0Fe9G;YT# 5wC>~HP AW||L]7|SC;": i{/uͥVM- X4bF:GBzh=**<*s\ oGȊ0ǩ6 KED;^eIL;dNK6:ps, 8ہ{$>kD[`W Hcu$&+?Wわ5w JK/.CrUʓe ג{ח.G;np{_'D]8ށC>҄!% }й1_آz.󯮆.4AXKa'`AE5J<aCd??R)`C'֙O DK*J{_@CSԇ Hb (s*#ܑ DRL!( Dt #vN>wܤq=^f't ۩/yRȭN<ámH#i CIH=;ɭnGd8HBndtBi$ z"G;BDP1 !B/Jci.1ӒT;{m-eFB/Izn'?T:yօy@pUaS'1"_ѳ:4Al/^rN 18RNzMaOWu!^!tC):RPNJM,}> z? WpW8%yMb:tI t"yI-rS<}Uḷpɡ X;d0\}~*R~'!=<=4'^ph)&[_һ]`QTDG(: G.ɘlXe'~ؕ*)P4AS:(( yQM 00K]NʧBa{B?H|PDމq?gCԃW{^<,L'ac#ʇ/v2/ 2:$C8}B:D ns0au}fsa邉Ʊi]/p`e0T LaY;fvv֓qɑ:C!YX(M7""dcX_؋#>~? ܐ دQ u&Lo&[,]"܌59# O֣Y2ib#({AcFGQɸ44z&\7 fK9Rp]_ );퉛i89{IJQ(T6NoZBXYq JZ9d ONY\>8܎ϰOk RR/9 Li!/a,pcQm3P)3Q>s>߬zOtADŽ6":)9XAp dLy| ACEo͖,r.qSh,E*4c3rjJT|(",Ch^f9jRx˅̲5%qS]u@P 3B wWw4‰,1$wiufDt5=SEEK Z“pmY7OBrjHc$[G *bH 1(`u FQhz:?(jHH$pHPH n A 4;4_Hˎi brJ9a_T#@-13PR=:zl0߁[u|3{՚".g /DX q.tCh&g`wBBGD.Y/1D@\ҸӠj8V%lz.$RVʱz89ݚ9;ĪU#"ιf"tqXp̂h g^tESo\:LQ+BśkJBL~:/ps'jspfՆsw#RFt@ڌ 4k+Q:ht%PI. CB4ubU$"d@h)(_rW`@a(~sn;"0J*Yj!gHVrK),ˎ3x?x,5χ BT -C⮋Dy@ȉC:)`s22!pqM$x&8jK7iYEBT ӣ dp'/\0 *)Nm2HKU$ER%Ԇ" hJб;LC0 |@>I- HbPr *rw1rSTx.6Ji鰔9dɬ5`EDh & H~6(! QJ MWߤaF\魩oJ `(vwݺr6;$E4"q AJ2,O<ē?+m==rD;zrxזssED=rz'Qt0r8=p= 9l[]=Qp$SSW1<(NWt~F” ?Z ՒAMDMK 22Sk2P׫E1Ԕ $t39Ŵy 0X DT5ykiAN׊џ<@njD!G2 Tpr)^IqCp@ǠT@ mG_kuDI>gۡ-Z,@5`!τ?3=h ,~;' i6N+45! _%Io/8(,ۨ>?6h~R?nx bDЏb즩v*U!ؠ((*)B hqX2)i2qáNP͔2|Hzl\^Hȓbl=$<~t<6`C |Yyok3{BMo)Z.OB?hkԙYtC(㤕hᴔ It]BRV;xk4$b>Z*D{w*MHz P-*`lZ0KJGbz{^$yYqF#NҏaQ꾣CuS_;pv줹b(jEy'j`ڟDStI2Zxv.a4)i Hmٶ&"r'2s1`mFs/8'mc~~!_*cR]|!ozPdaf]uHBQB_4 {{%BcN"560%;!!@Hoq@.q˩7^51P32bI]D|? -RJ"'^!% s/ӄ(`} *;`YwW˭aك# 1f߾WnqG;}sUZ BÖANl:p[Msk [0djAiC/OEvse``+Lh$g|w:tI@1B&&9J.&w6C P!PHp  XH1@$ڑ@`JD)UA)hE)("O˻ "WSA؞7M7iCyWWIzJf2!X@6iAj:(jfǯs"s&*^O-e /I/BL͚\ fOZS]l|=N45DD##I8A:6yZ3ڄ.& ŧA!Ӡ42\g|9^뎥csp(fLɥ* w1)U&蛌2 So  rFYv CLF:xC:T ΝfMYj[m;8 zf;u؜_O΋.SO$p~Dqx~>|u=LOM GS6UY,b m[姣6U4Wi"FVJiLL 9#rr-;tk k sլmJUJo[իMKG3:f87~jeLF'V vE{I n$ d$R=T3t7 ;[6E8Lm[jLVql!A:Ŕ۱o_IlhڰB̗6.jf*{"9JK1`f"<;8Ȗ "PEAVD]`"" <e%1D\O#(mcy`uA{oB23Ѭ)0*%Jڤd{#@ mAFG 'V'! tJVƻiJ_CD0f<~f#JREӄ=(O~>~C ?R(P)$c dB?IGvCUR;8h s]~N}8Mo"\)DTT\@UMʵJ ga9kFmǴaRÖAIa:]3 t y ,1 Y6I8Zyӥ%HBfkWZh??A!!T󭽀?Q>:rwJ~cbHC`XWÖR3?l ^f~C>>3f /ԴDT[b)>bX$\3=%%?.:I2rS@hGAp'@ҔFa:2TA@::CJ~SH@QKJIԉ9 4DR$E@~.z%c|uw&՜!?x٫TfHj;;T3%u*0)P_HДQ@PQli4 U(:MlPЁDE0X )Xjy ELzMAwݏX ^Q| M Pq.[ Ԧ#nӿG^-G\nub$8G4y}$2CAM R "0C_J{P/.DA"ȇ FerS|}cTN um|9~df"pz祰 SÜ=t?k!HP$]0?T{ld&УGB؍?n 2cLO2Xyjf遲M2cD  FiW1AĦM%q?kRc %: r V54np6d(:Z"iRܨO *RAHR )JEI$'bpmӌzDߞA\ ' 84< 3'Dy kB(hIhR{ztp|ӼDQ|Ӵ=h MhQӅF9$Y#)`+ #]I*0@M<>s偾c֞ŐA\݂7MipLp@0\Wy>#ؙF&- j24 @^Z~vu0tHa"1 mx JȇV@&D In8ߋwNA|( h(PAK P8Vl Dpi@-@QH@>9dPxr) 9 0OBJF!Z(PRCB,J)0PJHPRJDA&%4DeOCpG!)/Y)$'Ax ?Bypx 0TU9K4.5P&JI}c195&CPo5L<̙Ɍn;<ㄸ䷍8^ n=.[P;.3f.āLbh5Hv AC-##g-wFj/;60&*UR8u5vpR jm(a>@URFPa=EDD舀"8`GzWHU%;z=Mf9r Rw s&]IMnvH(&>ff(J@$S=%Eq}ws .*`餌tLa(%R .L.Ěhz11ݓh*oCj 2av ..mʂ &bD00D0,u9pch34>P4! zbEFbjL &ogb%:$x cAE$N-H|GGt,1ƒ&&(]`hs]8f`bN:b ,+a, n7IpX@X)ؠj| Ql[ZArzXb<l"(#(O@eɧBiiCbhҾs)S8E{Hsmp~0v 2 E;P4DN13\1-<x=ׅJ7'/d4\M |56U Oyz^o|Wp8I]@{׃n;>:*q=5J-%%O7p58|+\4cLdt2?-S[W"Ojo =@H 5Rۑˏ扷9ZAGJ f)ÚZdƈ(HkEl/ |z:DBǽw(u,K66/Һ(pf>l^ABa)Dd J'1-qn!t('Å7uԝ1Kٟa{Qg:)unde-O| Z fS x_^ن2/}M'C>o$@cw%$Bu@G^{-̂PI|Ψlp}"Gv\B ZTC$|:ʧq)Z4=;\dclh{V1*B 0$J?U}E4'=l 01%'gnxfB(UB$6t BФJRХ 0H 1%T!T0dA3`DAFUH)$ @H)BSD/`~,zAFC$4Ó z`pA&>S|}Ӓg [K҉9nzϰۢg#Ց69 45(d AMf#cQ`ڝS#?>1gy ^3 t2Y4>1gBhYOGhDǢw^}D<2=qK&%E%iu($P((0E CȽxv|r@> О'`BTDykHj/'sT΢C/Ԥ w> ySR3F(2El”֑ }YtBQAD@JmReDhΐw^7r PT;dN+̂TU^EP NYS\RU9 'IDAPbxrdDPP֡MJ?/a$O d 8rU%4Ho|%(9EEU-S|vd6<~8*HjN6b&"_n=4x0PU,Z>ũ&"{8d C9Z#!o nܡSE SВ$E1*F,!B1"B2-1r )kqJ9&;@%6 _17'U!Z - JR cl#:u\etA6f'Q0fɱimjR8@Jdkt4V4D@\] !I Q!;Cvwup0i<ٲhVC" pVeD.j<3pq=63v=ZUW%AhQ@09If +r.ܒ8"ĠO̯ %,퓞í~p古DwHtK1 '}r jI :٠H>UDNܯ'v[Ш*`T[(Z?AמGz5LHz]i>I B ShMzȵc\^fS2 &Uƶ*u:4~W_{ Ի@vZf>$SP}lPG}4kfܛùtm3;ycp 4% W1iRwys$lÌI DJ)9g=9eO;G`4vϭp.iq.T  MP>*"!A[K'{Dv v ZΔĎʜ! "@ymMu,A gl) qӍ*00JO\@q3 pc|YSg0I 'b` ;/tLɬM S9>: ۃ`~MU~wT<.\X"J 4҃U?jjvdT͓b*J4nf-㩋iZ!Eu:uxzpq۽}D7͊Y燏ml NN!==1=6AJDS|%՜{Nw0'#b~DswŀpXbKCQyA:\_Q-1 BB#_@Mk8(֘ q)O\YgFDs- Dg\Cǒ6)b[yU2DtF˓Pш_06YH yav\VY bě'IIOEޙdE#=ũߤÞf֛,`:cDk5ip#j$q (W5$ek13=o{Dt"ݮl1) _83K< a+ ZnR '9LU6z`KH(X(Fu2A N {Fc, ,F^dj y0% EΌAq='ƽL滳ibQivD&:iώҤqOthodzZ$[*/=a&vD@=relDLV{\d(.ܔygE:(7Aa/\I҄ Z5WDބLLjGr&Tsrη4\%[#FdAnzs ;XYf(} Psœ+ׂ g")|վrDG>US6(i^ېm $g*#hM@$A ^حe:$." 6;\D]!؈"i#áO1κJ!&{~Ih7jcR Q\Nx=fTrrOչ&-\=SmaW)zx;u{#}G/AZsp'jc :aHh(H4Mɪ<ШoaPt3XhlR"ReWbEh9 > K4fq!,s>d/.oEͳ;nECg'B:xo /:pGb\q+ R䵮s^a&=GchGgY}=xo9^&fWWޔ$ uP(=!kV" W=M4N&fbٿ^ b@("79 o &/L^#UZHOgj$ fȈ"!bVwebu;U6qvAQ VTޜF)" ,߾ÕO㞴 Luu0 é`j9O:6tɵpR4:ܕs;`n(!pȉsZEJ 5(,8A҂b% (8A-H/RAOlЇ Yx/"ˈ%Duԑ7QorJj̻ٚP$,GV$\kfvQj=QW}PFp@@=Jt)J׉5e4faLW{n *zǞOGGV/U8Pa*kD|-Q:.t50% '.Gx=.7j1nsKLuƎlxIC@֍~5 0\W="B)Pilu n li!iltB,6Ј,CUm8njj42UާK8OXUGxK R>+PsKR|QPBOP|zTC6fdځ!dxGg\VU'&Yk/CYƦQjZ0<ݱ|$8tNL3,QKSxOS((IFFpۉh~n(Zl.c@ZDÆTm]!70 r\CSB#mT8I(bF5[HhūwpԖfė!c,{8*c~uכ/6[R$tCTuQ\q CX6~RôD,\xj5_s^.hnR=ԨazSNѴ8ţTgAv`0Ʉd͛6^yiS",-6+:ǵھ]dWk~Ȉ 7s0zY4Q?D¥7"[񘻍5!d,& WQN)ii#H|f)V.I5Ե*7ě,B҂4I2k.}rMhj.noY v3$H$qDGeiDqz+dʉ\X+M! BXavwd㖗{c]~4j{R/31r0IOWXвw2vs]gSq<4#PXƔኊLǚή8Q8N SkEDhWo49F:}3㛮+{5g|pnxmܼݩS'YNU|kX9h\ imJo.) fTڤ!񬼑j !#ML4fai5ģ-<Y,rCs8~[#=βXcO G`ѻ~6Ϙa Pm|}}j&dʃ U=iH8CS>Ff> t˙d$\ORHFɉjmυu"GJ* E6Ϊ.nηݑcT3&:LG j KAaS 5.dqUmkN{kIQ+j'ot.q:Lҹa-gZѿ_+u_2bQu^%ʈJ x /Dh`sty=(>sY(+»\]ג^uqqT&t7tƇGa#($@vmq;&| G\ Phc#<>Z0sO!@\%IDy=%J&WB?g|OQ : =2I]si9d78$ k%˶"%H$Lk,V8VQAvkArMT |3Li Cd{۵p4xȺԍjҡzVHkக&-1 ,5 )3M#Aq7.۾#W_ 'D_pRg,M+5[PtQnt*yT DaUlR*TvDOkW$oҥKI1O5xlj8blBbRR|YS[9DKBM)qXoIW'qO:;D CLvu٘x4O;fZ'A.~K,coKˇ=x.QNH*>&%JEU]c&i_y= 4{q^8W[ϛd" 3N%Ud)rIؑJA}+" (ֺ@O~<$Gl*hXPy>C\I%μw\TAZ=z3ǙQɰ-D[r97=ΌMsR)jNZi-(*`4N#J1g &vI2i3߾uύ'I G  "HkXN}_b4S~`laCz!@>U37^H{GWN=[h`wF#DLTA kj"S$@}7 1ʣVex;ϧw1BCL]#p;H($X%2zJ"*uQLo`W(Hh!&ZA_#J'+_mrqEE 1 #BĉJ!Ê)TCTCv!=^!hH8<"'$1qL'r؊a(y!qt4wkqMR nUnq@9v#ڏi>^Æ>bbpr$4^Y86/HzrOt$|AaWc$%I~I<LC`}u~5?CǗwnOE#^;ϻ֌@xA4K/fAQ$TA=s>k3j@m`(ЛH 176bEwr.bcYlɢjO ݐ C~DY_K)?Du׬E)}-~ڀAFP8L>JyĹ4#v!)$ J=Feh@(F) ZU%i( %ha+N+NڀiJbB9RyܐjotY,li`EShȆZI9wށM9l!vÅ,Lf/Z`fr!%)Ưo@Ah`Վ$(u6]$ jT0329ʱUGX]לxmK#I3'7lw`J%QTICQ }(lDBvJ5iivR$ˇsNgW;s$[$8@>ƞ}>yz=J!BvM&T/MY޵ftrJ@?I#Oѣa; M8#zuw{5(y^k9a MW,>Ƌ[P}x(۰x!yp`u٧-=`;M_*(G=7Sc(RPR|{9a}!Q݅'8"˕P:%5^TP`^RU(~a'% LӴ:\pem%xK@;xpS*Hw/T*b2P b=d\\ Pe*,E h@hPIX=nq 1QPsL8w&)"TE?K<;=K7VwxrKdQb{w] K&2D@"B<8EہGVh2!b0Ȣ͸y AQ IyeUETouETN@c'B|q!`( JYf $ &1DDلadm8NP) iD y 3r\NE<I+&̽I<>'bUGX#oV4D\o42)CEXT F Wdc uejFyZSbyۆ5_;';hġOjeijF lDooD),+ 2P1?fVn}>Q @/ëz9K{Â#usъwG&nd˖]}_"u~zS00}E D@(j_;{4H,P;g< aꊟ߈dHD1% >:~FQɜqqjҟb'jW{P Xܻ֯->_Uk{e7iTtG˾;v~y O9!qG}bާmGh}RFM&f ӬdQvPRxq[E 8[q܊;O|Pb/eus,/s0t@O ( [H'K9vR)I oV\9]Q=.zqT)RsYLWbyd+;=j 8<5Pz@čZO6(=5sJDIVޤv( f$vLR#cP\|"+QbȺEㅺ\+\:xz~NK6w|K\8(7K임hF(4{9B70r AˆͰDr&戎4`A檛){ن h%ֆeR;: ! Cn Ԯ|u1Z >i:Aʈf&-e3ThriRL#Ik]7|'U(" XWD2%A]TZ%!HnXacqPN५aKoKxӎB$n57:3sX29NU'55Hܲ+EHս㊤35ԒR&m! M>38x+)jbmMFSS~\.c}W0c-9]7g>jluaۈjNfk)5\;O 0#q}bonQkΞ-О_u]uMp53 [Y88_k-jS3rwͤEq,M]b]ɣP9ZT,<²2w@EΧ18|NS8id`cA'BbJL Pt́ДPįj ~z֛Q0%%S@5PL8jp*GA$ F=c A['@z&D}65DM*0s[ˑ ZR0C?HI_ϩ*f}DLe!h$B$qAU*X)HyQ6_?Ͳ >Rrӳg8A_Q@nghr_W=#Ԅns?5t#1vj⩇?EfNra;i8v>LқHO*t!!L{bRUeá8gYQ7& 6e67}l|S!@/Ϯj['ᙒGcL~<,hgK}h4"B*]4I0'\ekV#3QiԚLӳu9Icì"fse2cT q;ՓK[|8z2cI%rXx뉎I +ğZ者h֝V5x˞%qAH+buָٺ\5OZ)lT |}Z)”wCε\˃ŒQa88  wqh2p"-+Db-LΑiZ㮹=u9T8KqJJNwYҩAɠD sz\e|/ rzx rI|O5k|)a5#)]o{O':QQVxo [:9.+`Ul) Q@JҘA:Q彭&U&4uq)qL3l'kyRU5 9RN+wώ8Ɯ\/sQblcEFrelEʒba P@pWLGWkNĦG7($gFrŔO9]\pfiFP51Q#!.| 0ؙ-}?gF|ͯu=іY+h=VY[6rɣ-r5y\(-*R _LμGt͙sźΪč=lu1/<5EDD .,6ROK6ʟoLKCH߷|ΰcO/._ {fpsR{?Sݫ]JwG\HRPP};F/Vr,9u\zna.qH;IVF#)JD^^U%\ i\;]|WS$Dzkz3v5ڥV*S{|T%V9o. hxQdt:խO ߌY~xy߉ir䫸F>2[aU`2q[ifbV[X^^y|;@1„!$ P%%7֋[=UEpꮧ䵘s>y,|IǓ1D{ux@b@2p)9UPw@#&6A>O( $adrAߗb稶LElI Mh1tPI#.L(I# I6jL WճE"5G)dɷW1_DiP>6z;2Q?&i*XN~cu4oRIX!R#n &y]Aag$tQ=(4Вr*'H)iPi"O~Dݲj"(TQvQWN^tÇblj1 fB?S7rkk@azAwzـ.hd3kŜ8x60h^kDZe9^WL:o;%9, Q)AZp]E>_$y {Ĭ @$~8'n_G0Rȹ}zb(|RLDn}YC9t.`%/љ waQ>vS8. 0jӣtab[(C-F8~$gB n¨= !d$bbR'0";ro@2aETG=<  SaGBPul CY@ޞ#DqhscK=VS&24?~2pC px7rP.,S!(|AP4 T`}?&T% rOA@xaIIw%s?D`q#=Rlcedy LAxI%Jz>QKM$HB.LB`ӈ"% ( #N @M3Bh`DG)H#B@rCPN2lB Io( ml)kPG}9A^NM-!GA)턠 M!;.DCaD)$(V" r8670ܓm|4v|MDS$qZm€@0܍BHԉbJIU SN#|񠮅R hPi*0 1 @Qw8  liTs r9 B`t%}7z@F0ӮwhV([b* M?RZ*zHcsII)O{w+!J_|ǒP44^rzEq /Q(LA NBh !B&4%6Bd5 -|CJnBRYj$ERKAA+EaCN)*ٶM.` HdZ C{v́NHU$M颔FY(iqw 63-8N2?):\| Ŀ0{<\nCw/Y.dEW6$?ܓ}ۂ6Be⸆y]oÞ]lvA'Bj>Ofu9H29P@MP^ Car`D1(1AD$${4n/QupPI(h:px_M;B@Pp$Dׁ}/V|fAV؄&`K E !}8!`K=s$Sd| {Q>T:! [ R$mP!U" ٔ7'RQ @Xiw!;HR%t{p#":WL),@E(C Jcݶv;#UCNͼaM fztf vX jR'$БR]H;ݔ^H<82ثn0]#:Tȅxbh81@7){=6G;;p(ڋ b:OLh,L*7=Rfi5߉OZ_N pd Jh0Ūs~ C$sf#=:)odMju$fO2P}^(j(!!m;j; $=7)a^ɺ4D !3E)g;qDG$bDJ( ;bRzQthҤNGF"$[dĸ]^61vʝFhS =͚؋L\UtqБQ&!36ӄ0*]Ap:D>>Ii݂ a!|S`0𕡃(4)eZro?1yuoA0?%#(4 w^GLyo1F0g8|Gu;(cMǵ(0<'c H )pq^7 #tM>qCyU Myf1Q))!*Lrܜ'sʹjk6rL3'() H?٠=B19@yl8&FR)+!,g!@̔$ A~Hh д PPJ:)8QBT $yJQC^@P<۪2}l d TE5PRHRPAA&U)yC Z) "J$"i( jDM~H4DAE3HġD44%!A MRJCAQ CPIЁCCAB(P PQE$HP4UM!1RS'h)(JJRJj a*J*Qh)J" )bh(B((h$i(! F PE4Di4  P0EDQDI!T(PPSA!I@Dh*)))((SICM%PХ#J$@#AHIEv SAHUPT)0AQ SQ!lhh B`!))"" +@jbi(Z))"IiZZ(JZZ !j" ih Ji!h툂bh hP)))D"H"") B^M)(i "(JA @ h ()B*bJX)J2:Nhl{:ӝ|ަvz`:C$eh S$$j;N@7o>|]NQ/Zӵ`hI4Ԛ5W?tSU Mdر]ܜDkbR#mhkHbBrGD`tNrk0v""9;͆~U j #Q&)X"imec5.|4q4x`Mi"9TSLTSE- 1QHuG.Ʀ( ZN=;&N_`c{>Ϡ6IM˨;ô6 h6,jO#ހ񱦒-'n?F?n)@$ (OզIl(zƔm~b!TxmCjTVqdC֠\(=fav=,ѴO'CJatt"`8(%#^>D5tlUiz4?# >nW~c^)G՛aƄCcI]@9}p,PnP'P~<^Jpi BR"gǎdQD*F#Bk  "m`  i?aRTLMLi0ΛxOw7:`G`"aiCmjE$ QuE)$!TO nIX| /gmӦƜE`~ї:FW323P#M7p˼x0hP0J$38A xn+*G(e|N;f(d̖%4tzIEIא" 4:uN!P쩤S) (;&Jfj6'FX *j7i(@ I_IبK<0?9#׏_lk l(P?ɹw:0a2 , \q)Ġ lpro. 9E!?m/BЌBQ'dDvm::e;꤁:#6!!1ت~;:[R9; HMMCqGOKKJ'=(چtk@"ޔB A9l]_0!T4Jʜs(m-,z^WNUٵ-;4,rӅH56D VĒB}3|XqLk2cK "9cG2)7&oD ri'}DxRS ? 9Tth'm`>|fZC tΦ FXOvb.H)HhV3PCu!iw*yX!5)@y aZgC!LW{RgQk4TVZnUf3" ZBӭ;#O7A! h !!G?@)(Wd@%LHH1J{>d=Ymm(q5 5 \AA2ďz' ˏ-!R !0JJ (Jjdi) ɃBd?qpN@G4Q?P)A2}1Hl"LP!""S@{<-ؤ7Z LL`60QSwh}z^WDnŸO?:~D~{9֦'v ۳IT9{/*8ZlQFWx2 7i @<Rq1 u4)PH 3bĈ 'CP+H 2@L(tytwhi0 Ka!B4L"ЃDB;>zó=h9(Vfcai/n83}׵w?$iJ @4C@DЄJF2^ %(T%t *bb:) E| (iSJL,#sW졹^׏}QE˞Y%'9ۆ4%)H7㉶'dЍC. )"!@ îxNx*;HYڇ c3ruNWMJ(2)y sU" @ptv~dzX8PܰXMeH, IP+mkdœ Pvm8!u[<6 0 'z_2LxͰ3Xxu/0wN{1˸)GLN.d#p"1& ~LOBL\p×*f* H" sC%=ˆ0K"f:DPsp|r82Ԙ6dO3+pvoG DQ}GltM:U_u v}<+@!n [Rm@ɐnFcf:QXCR")\\*d4lu F617>e|5h-[Uibjac1CaiF PS5!Q,'^#ȤNaR84Q;DTkl0:Y]72OGB~G~tC`@B +.RR|%8[^w7~߬屇 脣-=hyu\?(B雝_Oѵ 2pŝ fѥ(aRusb®bT٫2dnCHJQH"5$S" =HFMZ~0X/{d߮b95NV{<9|%y sF.\;DNP=|,4ju=kXmprU@ D2.g# uYAZǎo\S9qõ{[Z ZDKel ;viW<z7U|]$7gO~Dƍs60OQPqi;I%dȨgC@@41(=x[==OyC&B\  ҩ!d;ՑF\g*"&J )J*_=Mr@@O;"#!iJE$h&dsGo91~_⨢(+=DTP1%?l];g_kC]1h_etSi2}Ci=ovngK\D,{~H=t 4>]| uhK9nGb} G^CӇݰ=FEٞQ4 ֲB׍p[%6&y.kù'yD3'WXTUO[ԥl(;*u<&Y)#(CI N;?N4Hr6JaIl )j>}:Fp,z7&eI& >a}ěW4lT7a㝚DGy?L017P9WT^`p>Y>f Q Gu\¡5`7\pwDJ">=PBm}C cv tRn MC'4B~x;чRc &hr6h/ Jjحt!F'x TiSQ4H-pwcnؠKmDBocJ ?H@ _HJAdxCh.tkI 4^"5"Flafu Hl ֫}"K  8YCsMZgIۘ[''#jmvK̈,8x҂JboM>PW P+Pd2ɴ]UdLauI" +!v, jN!< Xrtr!Ȟnx|ˎLCxDN_>G}<=& p̌zB1)HrPBCÏ?-rZ2C3 1TpZݎDDC]> zDȞr~N k'#gZ҈(?7paOoFh+/J!4@( Ks $0PQiʆ|y9XQ3F5c La{ fF!ؚ00z+xHj{cݵs.켏p۾C DByHӯLƚ`)s e؜xؕcT'^ 2G%?{rw(9t`(5w`vC@`a<|~c`ġ X hb5R Tr\9*3.6,q3 E8M}qs cF 7' `"u#wn^65;m=#%Lp0 6CFgO ܪXHo0t=''mG]i 1(`&4xUh;,8ʊ02DKK; l(ϻ2#9HӎҜnnK ᘹ.knhf4.̊¡S-LƍiT»edeس2d*)9fV6.PuI[8Jg1DLz[1lw>_Z݊  1 sɘ׈@=vHCa4(tDмP.~J)S`]; >(mw˼1 (Ct9CvN-rq>Z2+~tj㧲c8 2 Wgv:c4~p6 v?WC\́(A]@[A1<Iΐ%^$=Ifl1ԍ U3!<+2-J[nU`|ǧs6̼wuvS/alaޒd[N  )AKo"k2gXŗD&!M8-NmΎqޖ974W빞 y&KTq ORJ,R̹hRъjz" ݈>x!ѯn=(jY3g QhYGv@q1iiif-i{F2DJnAtx.b@T:>H}y{p$h,; ) $ʨl%r^."& XX$M!న_L, *  dGw=iu&l'ǢFO#8㑝;ٕpcqlã5T{x",U!~pw Bۅ>nFxn:j,G 'OʁxԈ/J'SYFW=rľGU 0S,>|[) @V{~T2%R,C1̻=P{2= RIj* %Xf;f{r8TԊODP^k9C #<|CmD߾Ov200)=x=M' 4yrK+JJDN7$pT!=.@Oۅ0܃Zy  O!Y XLbh=XS IO*4Gۿ0P^CdR"D(A)*(BR!VBM H*?_nwC"*TGojG|faͺ䧸ho } %CDKmOh(n#>7 >IƳ#֑C6rc!b(SJҟ֞$%Cr2(K` 4BR*P(w f T9N$ 1"2E4Bą D!I!UTLUIQU(MEUU-Qw&` {Ñx$$0W}0PfQsX9>(~O]K)ZX]>mc@_>nÈS!8u㭹9mO ǍǭLEx3ZD\9N$(C*3m4A0X~8)j;&|:zrt!?A(Gr8pp"PD$9R '!{ߎܥ䞇XbZrQNS ‰^Au kPRP5%8W}zFFn!@?BRR_Q*t ҉BE1a ȈhPlwwt@{QqC=`PO[~ (&i4xŦ5X[f9Xi@蹈N50|(MJm2iSbuU"qTdֈpp(H&]̴ԉb6cG\=WD5z- Kpy{RZ8[ɄL*nK0#Ղ]qg]d)x̙cߦ%$3)gts6R(U/훴q@U3LY+F"1Z2RJ2Xb.J_GklJ㋄TɊvpFR rO)#)l)'T\˴:!2e.+1"nܠPV(uV[jῌeAaӧ-AJFTylİMNd13[\.?qn OB=,m[/cC @= r)lsI3Y$N+{q];F,igwl*r/N] ٻ26Kl$` Jgv]V0&1):%'5O4IA{u50L@h.;uD/ ıHL"GPi&dQ9(v'ΕnY|7QyCM 6َpgo`N#^%*uͷ)@ЙRJ S%-WYQW| u鶶FEaX}X'@@:ފ4Q &ᵎ/M0 G'"c/Ԉ)Pxx~z[su=H q)|=;̂qvtߛp40_ 1KK6.t{R\8B]l,lLlh+ q!Zvm:չȘLSIz`PT|\0B"d,fFm lfv@{| 24h$9'_B(t]pOg\s3hqM2iЊjȦ; |(g- D#4PЁJ7|A:; ѾftW8I)΃VeOg@A 4~D hD "U ZT6fb !h:b"*h"(JnRIS5DBL22&|., ܏npD3$̣+]EC6X'7(Hgl_B(S؇/gOxv=>H>O㊃ӈ`(.C^i}NCゥEIzHOd54fHS{OBc>N\_y+^4g*eHiD#{Mlv+Gl9#+,T"bb}Ph:8oMǾ< 7{>>Dʼn<CIRHRAAHMMDR9# $Bi "9T졃)מW4΃=O@w"գ'Q8'u`1T\ i4F1Qj2--3z%9RURڨ2XD '8. C!yLM`b9 }W7g*(aA2A[Gd"CIafM8:|(TհU6Ȫ+lƒjhQ#P$ TPeKe9˒;2۱!;P0QCPnK8qkO SQOL뜡6}{ȃ& u9B/_.\%̕2•:RNA@IO;aġ9q:0&aN "D3(gYh4)F^8J4k0txa!D["i64#KDaOasUbrq3-L(a8#O"QN6Qa P: ҖꕴWl:8x7K@8SMO'qf3$yCPT.t#V\AmbA",5Nap^H/p-F }>C;9:$s5z; d R7w)OcڋT;f880R-Xƪj\m%*F ByV:S/&\4I9Z,ڋ;d E$"BJ"a10B93ԕ,]2& IdKS l\wqªl 5.9ZtV#GgkX0Xf81p)KBDjlhHD݃Cq<nfnl#k)Х C\t탠-kۮζ9Yi(1dSbYftvEdkÌ mU\qUUG81L&wTSp3QdnA^gDA R{=>]n6#ó3:+s)6$" 1⊜gLA488 ;f^QAXDv"nI)p:bZPeۂU 8ar[:E$&~_6 "/ou<,]'AQ 'gJJa|{y*9b9cj Ì;{#q!gOHoO:)&Pp'1N`)tr( R^y!#DN "/q71c[8ֳg9h6Ba͹6!HD9-8'bUfmt80: Aaw-{Af"3IwB?֘h gUiG2a|z^o0U|~zq~֗^nM%Qqrbgv凗`D}Eukӥxk0Vpq:3g9/4.08w9ԏKH4\C͈i!'r|Z?»? 2`J"I ^]4%PP+ċ3CU{"#1c<77pk#x+̵@fX&Oƒ' cc}=z=LG{9e>/zC6Tt_{5ɪTx&(l>o5D6z?:Gd6'n= !%QUA =|ߺ71V|>L_N!gs'sNcw_q!lqyi96|0ٷ`0"me%>+Uw( bۛRIѣ&2_Í!Js鮳rnO?N N$SOH\y-'(i(I}K2iк] PVpDP (!4yݠkBd |8zp`:S^ˡ:m Q@ҡǦP10c d5!C='ki34y({=Ny܅M9qXRג^M)m2n\ fL$DiŐĸC|%]$JO>%O†}{qGcDXSY2ޚn(>8hdx N=$2%@ʿlKv{Nט;y\Љ|Ux0P4,A'TU2S0hDJ@Ѐr5C5DS(ka()& $TPE CP44T$"KZivDT% AT-!CURA !(w0YXHUo),x\2`a4GYh Fb1E`ۭQ\b.Ϊ &:``֝rBukcM؃̾81s "'Ìg~~2LϏ8N&)>u^HAעbdW=>F&+l?7t#މ3/MCYp[BZ ط}>C{N# Ok^Kyn:|e3|lhЏ]h9m9tl9KQh3n0WA<vLD!QCC%4]vCsr)Z=RX:)ņ%$ $j&)Tt(P*/RsP@:'LO\!JqJH{8ML}N>Ű[w"RP6&8 gadz#"7N a@(=Dm8S:Ab7!X` M57nu8Hd"4+j4m‡T5:ųќ@N`:|hiÈ(GOF:A(t[g\>:)y*mD'^ s+M) ̜1N:& {",, $԰ rdVH_0JDNB)ߝB X8[B2B.sɣg#SɅE(bZXt4l̤IفIʎ#$k<rbCM@W!,@ƜQ1Ȉ N~r BJPUt@di4 R* gT1!UR' 䥾w-'Y6yX vՁX C%ύL&kLx8QG#0VQ?;%ܯ;Ƀx"MTbDaEbM!#EXV3?f/hȀίs"}>.i6%)} }bDD y.&#݈dhh5ex! o8npP?p 'TQBDD41yC53 HJB_ |m,H|C-@2?f01AҨy@8B<1jD!S@&ȘP"bHbE4!G}e!A0 #@R!#RP2#PH@@>/K`%# @ ~/t $.a=yDߴ08S݊ދA <,<hSma- x\I5'8MJ zNjRXm˱3d4$1GhF=hdhF`;@C_P:HTlf :@d@@;$5 irh_Ac1 N/hSH>3EM$y?lĸYkyu7 iT4)l(:J]1!BЉӈ% =%qjP:v}}e8F*hCR SDYCq_Z}}x SmHCadY3 KA2dgÀ`؃"9rXH?9pIb ;8%JAH S!`.B q_t ǖPPs <$ (4҅>3T~3:89i# b̗}CHW }m)o f9 L0^܃(l!J J44:9)⃂MnyA@RP'IL @`q| hD(FRdy =)!Q@ ~#JF(:)Ϲ0A *P3% sL|c?>]r^8M({@N A-q;tWb"x{Jdg0R~Hq,JNMh:+ԙ1.+a;'?@`;R!<0Fs&HTGOAR''JS _s `CS|iqI`?ӄШuZa *4wfdBsf02ĸl^zQ[>!:IfPGmAA89dpNf 9qLp;ąCI0pT1n$ШA)t̝#X1Xe)6N JlO)F AHjH96a@EHwqGv&^u3<︝D;vH1/yOr>0"d5LT 0+vK9 lD0F(@rU2ܣ xw% qM{{JE˖J% (;`p`i Թ4aH"߃S:Nힻtz1Sfl5TO)D1Dj::pr+ȁ3 8 FTdϠ<6c"J84L7<ǖFS0sӡ5%!@(5Jp)ld4{ja8y ZLffHjL (*+`PJ|2Z g?+8* rylhCa7?!TQ5T4E%<Ӭ7)=V˧!2-G`eb@bCI"6+lQXcb"vMQ֝V8|Sȟɦ(YAlrk91AK$K?bm, D$yNG}P[bMIhR(< </a=AÊjOSOϵvx-䔿 m!E L@uAi@ú^TWn7m:5wY݁mx6:+#e~6ʡ8$0G֠*|R)AC!G)|zk=sU0QTCCA  c9p|ÈPT!=kA]͚_v%0wOYpIE:TtZ`a8^GJL,P4Dҫ$21 y𦙍B| YhL2abiJ1y Uw 8*q3uᇖ^c&@I1"t&Jҹ Jpy&:u)&z\SͳR0S 5お'˘S \A^5֦QRбD Xy,vNck">#!/WѺ(NP*bd:IhYb~` q Uf,9:L#Ӄ7 -z2\M.Vcg΃9.mMLnUSu!1b6f2%cXEerboD-7к&51KT%s0`]8M}{mUGq 8}Q;&T'F% #{6sS|Dڈyu:p.4fpL5ő~a_ }'ZGg(br`$8ɡ* ^eN i6G~b 9{o"QIB=P}Vzis@ߣXl: u” `  ?zrsh3&!?LOÖi9L!gȒl(~Mb֕m-ZZ98*t-36L; ă6xP &3?m]ىy7(8x!'xq<4&J|Swq_Ou30bjVTRS ^&+?_qD,C$>Z}D&_f~6?5u^aK􇽔 |8B Pke<<]CayY&hCϡAGhz+?RZL4Xf;w}KkhpwU;%b+dN>oGtߏ0^y!Kw0ɉz! ;Ƥ~rvϠy wz0;uS՚]tc$gϒшy¡\h2^Ti#NxW;cpk7>%Cr 4-Y*mjlO~^þN1 ܹ`' L[bBf E4GdWᯁm>CIaƼ4!04DP`L14S? xgmG+|"AO=hx@SM׻/ST{5䙃F_7ZS1KF<VY-@%*l$9jDBj:^iN(Z@f?#J*W[$h )C[vM !5}TdQฑDEd8v *e(hv@冭3ER s*zOTM-($½:+uPP=&GCFx0i 9}p/)u &O]:(]Z_Pe/(ƆU }6zOzA`)ТpCˤ1iJ6 @#=>#BH"fI^"Sٯ/}GjI#pd,?rw==G C+vx4CPasWܶ8.!܃!=ꎾS gٓG"[S$?H$' _W Aǧx'/ <ڤ" )s8߾Cs  T%au#* R QTwPNhiQ &l<+P@,D_8`O8/inԩVє)w̔{~$ݰEQDDKezi*Xň(1ECW;WUZ#6իEU|lWl3q:QFtdY* îuy,v} &.LǛ}l@XNz!KAеP&M3Lk9忸К0@PL @\g[X<%Y%"J1 B:SEXAo]1M7Dt*`5O!uC@H)I $%aEag.젙,(߱(e:֩0N2P'j wO"-Oc*>K!eV؏}i=H  Vb2!ju06T`PV+89v+o/>:K:!jO{PiXTȤuC׶2(*'>sx4E tKC{rʥ+M ؆n̼BEDEPX ¡Uh 7')JP^Ƙh1C@b$퇷|ױ PNvF"/x〈K?CDĪLt>N%t4TSL&pgQr'KCA! %(f=xY):tkD+䦎($=S^VƢ2ܴԪDUGx=CE(KQB~1q r Q,1QR2G;^szfA ,ܨᘁ6`j@ G٘u*&%(g㇉Mt-AQ_;#T5SBTD ECI,A0"@ĪKȡNq8I(h&[xzL\bl1@ZTջf5K+{ԣ2C#I"!5p^y6$=)(gޯR]/LC:n-M B /WhR"&47psr4 HLC' bI9]edGɌ"-p#Luo3i"[HDCR`M4dF!EtڊBpt'@Pb"$)83+ĥ; PR64~dJ"$vdbQCuM'!yUZi)IcSU' Md !0ӀݭYjdvD(_T#5it͏Fv N; tOU]zѪ 8whdNMJ5fU. rJPZS6B*Y[xa^LaV]b% ɴ`#|1n%V?@=G:_G@$u!F}zp@Bq+:^a4H"oyǏ aI-Y2 ֮ߢ` Cp K!X$!6M HusJ":GLvٲzr:WzӗO27l>N<ļjymP_7PRFF>LBd B9Yz?喅 Z" Uhsu8aą9TG;0[* bvFD0|@V b8C^{Ѩ*=C  0t+$IV60c#S2T:0MEMMP4S:ZxclKT.%=4R!ABH14=) <:$@ih/[rጄJJ*y ef;8 ]"@OY|Xm9%==]T]&;ntNRfbźp]mXn[ͪ|!cnܣ7u㼈ttkAaSnfF M" Ipw(f9n9 1Ҷ%j2sAړú2hf MɛF )1Z R L $Z(鶈/}[kna`X`.E'"T8na Vq ۫f%qKzp0b"F:kƹ6r$=bC碃n ]y)J=ۣ(U&W-M}"qvz4vԇlI&h+Z 1*F͘ G:3 %)]t|/Ϗ撺P=" x),Q6X[/MB/; Dr\8 J,˸P_GHz6!@DB)"bA tA?b΄$t. A BgHLHejdN?ZC @UL@c#Sz&o_yhSOHh`>( GN*'p),lb lM@mh:Sl2iv^S p)RR AQ $=0:xY&+' 7(YâH sCnJ"(>GB ~O Be(рiNcAGqL6|cȀ2~ Ը 8eׯ\ׯh sw҃_H}JȈ sy; |,$57B$Ž4wFR;JA93ވ99́* W y>e3?|3u3D9{4@7ݓNxRM^P RE(g:? sĈ%iVONx$9% IiBaW4&E !lc}for0K-bw ( @D5A3I$ !d%PY@d}B& yJ f0P`z͏HQ='aU1SE'FBBhJJ(N2.:m!JPIbhJh** q"q A?|č@4 @JBS/?D 9?r?i=Î  QKez&B"b b`F`iRf(B ALA0J,@s_ FtҴ!J4BQH(дPM Pvv3oCn@~$n2\ =!TO_ z(}pBygT4 ,G R >[| [wᐑHf -L@k M`0] !倀Yɬ2L'8y/=NI8O2V ?l<71Cސ0Szhd՞U7!?8B$#ש񛏲 h\6 "0}џkBwӲߡC 7M<;c }+.Qd?9xba x 3qotNP6r9tB B JRN!54.ӌNP-#KAXDxB~N#t:|GJХ% |BE(y1)_F b#\$%A% D@D@L!, !JQHցIBdbY$] CTQ`8 aDCLDQ2U2$)J%gD qC hhEiU;ۼf<8@N:@܂e\ylb 2lQuؘ#3"% t,4R11PI]!tv6΃14 @iq:h6K!If'b$6SaP&6LQ!9I a` ƓF(aKO??瞷_:w??=}??'?O?{{[f}wGNo?oW?/og{/?s?xp !P. On87OW0I3&}:5^t׭ik-XH~F_Q!kңDi*AHsc|3?[o5Yڑ`ڨII #̓ҥ^?ћ)U,Cϻ׿QPSvz@"/Dce0FT1f pb [lӡeJh"qv-رb-]pb=qflccf{q@hqsj#vu,GZC!5U#(@?HD<}/KpPp-!9q~{A S=P4E(}c,ŝ8-G^xD08Ϋۼ"(jk݌sHFleZiTB횷K~=@΢3*51o"#>g[9=MH^jm\bEږ&2TrRH:.:m-6ӱ>_LÕQG7# H8ڳ-SKwR&Lؘj8Ҕ9ghUBQNIvpmq4(Ӻ&iu?1CpR=,㓧FdGqgJ٠^RZh#s = s(ˉ:gaEx3խNR%5F} ǚ;Q+U+E;SETqӵ:k(Vdq0[ LJLv%Sľ!X}2CJSTEYt|͵(+~օЦi|=6l5A)Xw~ΜaArbNX̹MY2u4̘US{Y4/5!&j(O3ћ8.(iqu::!3&9Yu"*#I(X$ɓJ q&zy !G%2f ] «pȼ5RCs0cj /"[htݯWIse.Pb Gnj=f4Q>_GJ:q|kP{@aEjJ=Bɍ)MMiP\󾧩 LOʲF-͂ʸoiA#BYJ0B{dg:K{Fq ÙC p6jiWyD]0T bA ]hP- (=(ԯ9+Rm_:C^oݶ)VUksIʧ+zi@B37+f'/kZ->z56'u$޺5 j{D'S*)|.[Q1^ސ9-xx*H85tVθq\;kK鞜.͋u¥sQ%}}gbtA1߆|-?#9%^ѨjۍM0J(U.\N7Jf>0\VD\gt;Q8E^1iJ%H4νZLuPW (|6o|lyjY1nqd-`GĶ@o(R=,JFH.vK5z˹Y}N$-ZI.UQE`vpNAeQ!cf:tH1C8%|U/yqt6R>9R&v' $Hl.ZA 5x¢ĠhQA̹{>*+ Dt_j׷ 0(Z"",[}8B)AʍyԨi- ^`Pap4$G˯%G$Cӎh%JJ?>w]nP=3 q;B${c~PmG(-ps`:sQ2|yMʎ>vˊkUL'S2uf#H H84)lk8u^|vҌ&N}TVj Ef) ".Yڔ^3}pnikQ6 S秊?Lo#{ˤT5*&@Ҕ #'i" yt受t*ll8VzVJ=ۦqS"zQssSC_$Z8q2! &m\>>*;Dt9:5A/\byָr I+_u8y/wg,|i~,yuJ'x9 VAGnxۣ Qs ӇrP3տgs^^M\ }ԄA0!!3wgxUI|̚a\u\`1⪊H]HR?:iDys3e_&s+KT4n犫J)"ٽÄd.7T殮fVR-/.εD[xs8dN$sTERxN*%Jx*G~/'?M2X*QeBJv)\(QԾEe$Q~d6/AIE$ v?(fPsԦR( 8G_<y(2cTW5ˈ}$5T['žeI8B6L͉|&,,O{'rq AebMmA^iJl~[^5K`Tx׷kPPqd2>'WsCG҉ f()`脂IysHLGA!d("O0E rD:N}Ø`C4Ɔ9$n"H.@ ptk?q ?b9g'lViyx{O1[؟\!f+eB:`YĀ<kx1 ޟMP)THISDDQp_ B7Ƶ&gu1v{.׎%F^ # Daw#ܘ'W9h:Rzi>wH>CPG^>3ae0b(Pڎ4 |ޓ4XF鶉j\FDc ) HeIt 2Q%aO}HH&t9+dz;Xyfaju a0I. a{\f8Sq7{L(8444#@udx?{St!G~Zq;'F9 X'kV㣉p! %&O( iVM+60u*)iTxN6h3 ',ĆLDC!&ALML#"b d33wf/ vԄc,CH2gP fT 6^|[ #9Aئ:lC"fK6?&<#5]O~ b3I>H!/؄#f歆˛FR0DsgHS*L|󮣝#Qf /98E4~kŹ.YuS~1A DSC@R nA8=]'$5rL=0op>G|`)Sh#2 N{{0V=c(*hv1UQ3U UiC6tmD_gFHC9e/9/l(39Op9z9 A|@Ό}LG*]k] ˖4q0R@B0>o@Utg68nrZQ;2=i/ r!M{>Fh:Ѱ7 󎈈3h)n.fTW& %#.Ԉ# BmtLO #! y8'{1"&ӓ^1#ZqB2(xIV JzLry?TO?Ekgソ>y@m'mhH2ʼn!) *M mԇUOE{-Uݝ (GU24QE%-RBBoc'eB*cZgpP*%4_倪_[_co򐢁M\ͼq41d\)GtnjX8NFTܱ̮d!̰T)]Ed+n00RDKr嬰 *x,MUQ;qSt"Jfs6#$ 9p֙ˡ?^{ zZX.P%e#*uEv*HAvD@I˄BSqPSV^sr.A.vM6jTD`có7uf̜fk=WusLs U( $"!)#qefH*\ LQEUbĽ*|y0x"v,,u$>G m\u㯟kVN$haN":gd"^5t h^0vk=gxf˴+*0ᝡryug…2~` *M'R^"e/3x2)ƜCTj %cc959i4澜1t)(~2zfVXaB!c)'$@E>`s7% I'J x31~ظda"3p a$C;tL;VǰtIYSiUh;'A=tO_]`l| )AA D hn08VCDп|INĐ4!Ϩq8C'JP##By<"Nl{TI6ya`vH# dޠ uH49=h/2(IwXw8DS 9;4`wU)Q;ݛXz:f6<08D7{8 &K5UTTlߥrmM%!.eSClmVM2Dͺ33%cD0k;2zypf7Csqˣ.h={}ϾsE)wC4 ^FI!pWq݃ԱeNS(L$\TwÐ>h=JUŴLvҷ)"60lmآ:yq>rN{yhxAQ!-R 8ϿQPV$3c;\7T0 ~>ḱ?8wGdj^$`T(deMH np0-*Ubsnâ7_69g%!AT+?oP"J/ dy5Uz) A} 2$t)F_iuQgMcѰO nTie Q*WmoDHNVML5H @փ'"mnUZc(1,k($P1mq()ݖ/9\NX|0 ޣ]t%`*E%]M|F;_+rᜇ!c}?nv\wuϟq2|\*H1'^8Ǐ˝5J +Y67C6N>c%AFa7qхU#.XRr(|~VY)1xx5Fx~%?g7Z+,#&6v?MƳ ۓC8_ϩ=q+~x5=n9V:'sԹou+z5Y]Z{IN$[XK8$wКnV3TN6b ~YÇADk5 .HHHHe98>Dn\()+QwM!85؝YGQ IxHv-M)9 HʜiOqyzhw4@8`HDrx/k{QҀ!psn&h9cG;FL i'sP:VZ{LDǞAijrWD%p@^녩66B! ,aV6(k& 7n`MZLڸLPI1# (NԪy&G[Ϳ@@m^#' :W(( #q(9>: OWL3)!']\Be#v6D@U &$ؚۙLL !‰f'>299%Ɩ=Nч02U۶Wiᠼ4q7VKFI2o=|.yUF8Q}u|ny˞,uմOS\v:uH7QpjP BQhfjwӔp+Fz" 8`R 9#S rӬ]W6eD@LZ xfSw;2QGE舀pM2#, yNggƆUQWqE\M=Cmps<߉48"2PsG=^ ~9sbM=k|([ZվP"5bB8lדgrhִiU˘l܅Iηc a׍PF0 M7n=j/&i1Dxb׍7ƔÈۍF!47$Pb$V|[qoqqpTAa USj)8tlP\|"S3/fbòk "=d$@lԣu6Jx\7kB:0Nj!ȋrp^ǘhIqnN^Y+֤l֩KH)2 Uu\.;*v<|ϚrTp' (bQ/I#5NrH<()0Q-:r^/ % {.H;~@Wˀp*fP"+Jj6Gr7̬;䈀2ҁU6oYՁC;O9$,A pw0PЄ/7Z0\ L.u*k͐kD._G,fU$.e -rg \jknchZBǨܬ$. EkQrs2Dd=ԝ赛nuI_~K'ɨ93B\d#a!r{TwD4.@=r*4#C/&G7=8)q6.; 8Q(Qɮ9|t;8]w>:#礃PYr7*{) 9<'vUF%Iys xaF:=[w08JDSI0$ A&{+Q#D@4PDSNejyoI(5lnS8 ;C89@4\G)<\;g">5" f*$]D@N.˱GQ{x9KqĄ푬Ws;8ZG ஔDDRӓڗ>ԜS\#J8=yq{ 9СyAFqH $ qA-,eƴapcԆI쁂sߝ*a2 J':5㊙ + q bÑ<QcO>zHA" <1rc h OA:BQ ik<;EIdg ;!Iߏn%m2+ B 摶 Ev9PǮ$[+yH9jpl >kL.]afn;| ; "d~KyHggD^H6.zm*&=| c:bZ;\0|_Wܝo>|_GA*doEZ&Ay/b )8"K"|DaDPD : ׀^!@84VMz N̆6 "M'n L' x5'I3cT=9WOS >N$O /$ˆ\&6ÄҀH3Dф?: ـ)W)fZ-N&bSJiT!D;ôB z ĀbPt=a~*PD=.BS!A Tw ^^n)S%$ RR)KU4Q8`"70=Cfi p5T$ $z?=F($4+|myLvO¾5,wf* &àZ ̷Ak T2DM\S QGd7lvwTwq^hImDz e(}{HҜc<{z *$L4aD#0xrAt8 EeVaj\x('LTRĭC62M (Ƞ$('fL+Z$m- BLR̝y{k47No&hp""yfh]$4D#o"VAA?{dRO2\5toT-cq- F E*j`:V8pEJ&8eZq⎕Pp(U"r Z|bqNDN ӫqT aXf%& b\L˲nɸ%/7*#[Nt HDdD@qȓ(^ CA*jbnBܛB,6QfrQxnt^w J$!$@B#E%F @bt&v5:(p$ JDhaiBNCO*{Qvdh,jjjy mR":w' P=T IBrbv|UօoʺoDxSCWrd8֛ &f.2m#Alh$BѨ[p DF9јrE$!@ DROd_,ۋ˺mۡ9lhS%(%ʆG1WqC{@|tTĕDApQr`x6 v]pŌCPYhFJcbN)fOFkv6: `ţg2FT4HW6^ !`jQ NxSU{>rTJGoNDt. -8sCAVhExqѼc;XMbCsW[9pI?"Bdm8aLI9ن$ɅA8JԺɩ%׌sv\7Έe)x`ť'5V)CN%oT!(% B|_SYps -UQ To-QPxݠhII' H7RhE)JT)J) B((J hiiwE:J( h @ .@BsCHR D)J-(4thETi(fjB)PӠ JitDi)VZJA)@%hP(JPPB@4J4I@P%*)@*D)JQRi`(J@BhUhPS%((@wJEJDh_ 䔅 еЄʨbJRf& ޯq֨9ևc=8oyYbPO\)Wb0 }P!@.O]GG@s&CH8 %qQS@꯳ߵ )ËGl"e@anvw/{ϫ`]5KKJ{n|!!ߩ~9^SsBua:%I.f!v@ $G5&VȘqG1?g |teXUW6GsLI:ajVp2j.]n;ZS_8DGFo~*Ä>&si(/qM}+ՙ(g`b}:|B;|=|oMm+dLWD<# jkV ) :cXO!y;=j4|y#o!bV"Σ;B-Ry1]шs#heE5C?J$F"m6NK"/0H[/@tke*'l%iwa<=c6 } } eotwZJ9!a8&$ѡ48dwk&D3!1(Nuʍ L8&;*' pk K򉔜Xkj"LNRU+6hlba>@D60b18bdm2Fb"6rCN>N}Ӊ8*"x5uχ5o;Drx}v:Gd=cL7B L$yDmE`jH9r;J8[75:aYEn Ho>o4/C`D` 00nmP45oϠ+@x !>=Nǿ|,8,"}ITH-!==qLx<3x(n!T a *Dǰvh A)CF *'*6IXAAԈ+*h!X/t)+q:yw&ʫ2uB?%` =ɞ<0|=r:Bd D/  |pǼx_V?^` p<> hb-c}6<~Ρ$|@uHRϫ h`™$t8(m{XHKU͢ 7vNKX998; 0A~B_=ՏO 8qRK ! gJNUp)8;8]DSw;X.ZXJsuz|A 'wD\` ~0DԘ? J(3E?X?Dms/8d>@p hZU"J !*R"'UP"yhRd7;j!hQ) G ȱ& c)%$ _8 ZVO@/"-"ЀD (y ޠ"VLڤhlяSM\8a3B1 +ѤN)j \$ q>bl>/L2n~b/݇{GCt׈ 2PtN^Z8G.! k{"` ?`T7H9wƍHt,+Q'?#:u~Ew8"}٣KҾYF"yTCrҝDv)< ?ԡ۫fl ޥ>N^v@ )0+Y w!281?GIn֋~:']4t.[i-$gXp$OC=urkk4\sS¬=Ψvdחv &G*~RЭH;>OmrP IQl wG׽|Qi3gG&PG5bPr10]C4Nh*6mZ4r9d"so9Lج*-)b eƍƱ=KxÆddB"1DIKT4DА{؀ \NE,)t1pƌ3 /8C1ߍF u'l` 6<t8I M:Ӊy&cTR)!|E|A茖)mba*O\2wO(&p7dێ &&g@Y,~]0=E CLXDNSbYK! F e~8ƌm%1v<>^f y 'C!.9"oOtT ~!r1 9qA]41.C {6qN=~bd#bs[#LkmA0mL؀AֹК;͝b?D莵SڛPlBAd[Y@:yf@dZ+v<T:_-Bj*1 TN!E(PP V$HZQ"" GmN=)$Jlq/ Fb۪llB(GZjt($v0:dHDCӥ ~O%|34i2bCIw: g^aOixSEHrӡ!1D)G;Ɂ+6["F5( @x2,|8u'e8`S,j@fTE(jfkJPY>=:3d?.3nIL:IE>78}!ZfsdG4SW'))2Ox'N)%Rmu00gz`OG~7Vm&ḦYGvP*w༂(N4+ B`tA BmvEuVoCYjgV3.i=G'M}<݁m`y2 UP7pz^r܋'9:JDܡRA siS4„?7'9ńpŏjYOtt߉GJZnQv/p1E͇p_ OWވ{;8r<>PQUEUA@5[N QK CTet zq DQ |K:Dx)9 T'0:c SHYН8af`~a 4ڳHu]*gC`Yy}pғDs0PB&9/ZAZ)wPAIE7@=r"<I^$t^ D&uٱˠOIMPUPLXtrjѼÎ 4 AE5LV(* (DLCj(Y\LB~(&AId.Q;`F$rJh*! B q@3aс"qY B-} y\(ixq J=!O$Q&jhhU-@( (iFi%T(1N'`Jo563lP4%!"IT[h"i *'Sh(Gpg=rzAz=M'2i߳h(;~r>'}m<hܰf!<' ȾAD?_Ԯ?WnPՅ0 3ٹSHRMˆNؿrn`Xv3wfhiMΟ0ˢ ),d@=L̺q-)͚xR DD4l  @PБ$5h+Hd4aBQ Es)o2 $yğ)Z(:r(%Pf?fq4M╭(ViqGDF4`嚨 ,Q"u|PA6WKFR] AU`ۈzC^+\Ԏfb G$ڿMʊ1 Br(U !4PS2-kZoj|au C;->GrvGdf$$<(H=ӵxe"1(_XM)(ؠק9qF(S|pOr0Gռ6.x<Ꝑ2L"hi:C ">r$:_!>E1 pY1'H)gڛr.I+F}}wL@*U**:n-(!tU?\#ة#Aq4j&"|*ʉ'L1桓ccHdnKzXpDctHQQ rBP6Tm)r- @P@sMEkTIq%[iPKER;qpVaJ኷ MV60-"Q̴',6zOQ1﮴*"i9mXLF2Hqx7+0Gԛ9];qD@[^1ZZ-^ A ͽ1U -UT]z*QgjhMN% B*TPTӑ9pۉ EXim[\(YZXTRҎcN.bxh:'ldPMpsFe.뭉(WQ' jm!Z)82Z2b6S5dá*锐@L$bnuH ؽ2q0M;L):j֓fO"`N:;\xL: !͖.2sch\pK@b= N7du Be݊$M4ĭ!Cy'jrmn MuCB<3o{ /:Ss#șLUm ģ"B1eؾL N"c9mBQfrE07f>}fKJbk1[P:P=IL2&4gףZ65k!\ES B(88JNeԊ%H48zq @_6l؎a&pԀ>AyϨ%ׇWLh< ?J.ACbP'\ԐH솞}UBǸ;(( ;߯sMP-(-vL%OkU冣ujG6zhQ*@KC&(VS%ns׆{* @T XC&-a>0MDѱ@2$?ѻS|C:]dN,7 H  HҚAM"oۈx?UBĒ%=~ e5TKb:?ӳη?{~چ2=pbJQ"fkݚy] |3v>)jc]コN ͯyfw.v[;t7'1x=MCy yVfs{7#F}irQKJٹ7ovl\9B>})ϡwO{ž}u̝ʒ٤{{h{J;d".m5o¯Z7`JW{P:@o{f_wt{:&}=xmomNWŊ/ )BDz ЪhDM٥KYkJ( hQٔ@/:uH*QC@GN ()T $vk}@Zْ}Ε ow;zyT=y=޵*m=ӭ4vט;vʺ' >zlH@@ۺ}|DTUBF:lch>=hmmt@)Ѡ\X=:14塥t5|־e7pd=v8wPf HJ GTJ" PPPƧ@iC3z}uu}8_mSZlsڦOsG>TͭfVdۗb̍VUjcBzq=6()awwh*>WyVbom=e_'ƖJ{c}fJ*ubޢlJcsׯtWi})ᄍ\<Bޔyǝ3ӮJowkٻڭi5O}}0{:}x+5SGc[9ksyC|݇{ӡ}@ ջ4vg{mqۖGw3Mf>w>{UmD{n͸r-Skנ<{}טp^QB%xȭiwMZ>޻Yo}Msk {z֨ih7}+:oo;z;!\Vlk奮z˦o{FoFmw}鑫ݼT\)\:eNGyO7 󣡻}5{ yg^}03ִns}wO`-o;¶z{t nv:$:w}xzqnVUtB2bnޢ݉2Vfս禇lʭHaV6s`Wl[{w>@tR}==xp}'yg_oo<+QenOOv56ӸX[ϼYwssvkϸ6̊}˭{GhUJ M@2$d&SSɩzS$@A !` #M25LIzO(zfP$$*~ީhF$LTO5OSi~zP0Ѥ!5422 M  S=@ѧjR$"1SLTL*yoM#Bd&#F 4z 1 z &ƣSJz< hTI&dL$5= Lb?Ddd=@y>ӅqK* qo s@դ:X%۰>ց,kv- AjT&I)vx_#LCrT;m53_w2mօXM$TIS4z02#D?\SPQLESU$T$Ez)hDSAMMM@PQC@zATJTUDDDsЊG=tJT H4!pi*RJě(_d$A.'Q/7+ʹ& xSed5;"UO-ENT]e2M'[^d;wF:ɋp]UKj^u9*eԼ/%j*2 ꙐDYT=;n4ǩ^F'YZ"3.\fS0 %IB}A>/zUk&˸c6ZȼZ"^^L[Zqu&'S b5W.T uEQLosy{ynwO[ԏs)V2r#7uȪfe蹶3xj ǨrLũ.ntq5uDC3o0X&apD`bi$X!T%e8q.zspJCJJU""R@8)HP4X&DR$ g~.B/0Cl 8S*:JS "D_NU &:WP| A< @ @ҍ*B ]JJщ cVěmt!R'a5*d!0 OB$bpCրN ?;p0HOnt i ~P4Ҵ,D1$H PRC~0@12YHC-L)`8=vFsPwLb.ǹrA31OiS0k{|g 0#>O\;p&S>$@h(1o"`q3%iz_?ʽ*n?Ӻs`1 LJ_vBPa?r!JRGPMS$DC1LB1%PDPR1!50,x!R !efih%PB$HPZ  5E R `CXϾ0s2BE U \tA  HADS!QD Ҭ1 DUE0pcdV&dbB(ZQi `d**%BIbV&*Zhb j"%FTHQ%'8Xe15Gf}`]uѤ(*ZR"&#:zTa)xfn| :m6>2X<@ *Z(Av΂Z X2IH~G.i=s#kFՀ=o7zĔ믌s1?nOqgaǧ82h%ׁg{Fa BA&BoJpLwЫ;^c^o<>u.ȓ˿8oІ* Zƚ`Ǔ*5_$~,X̐UOLًRpD^ 5. r*J  A)VB B*T2D!T ADBI,ɉ TIE 1!)&@јBH5 R$S 1EE$AM3D4TTSAT"IDC+A E%Q1 $TIE IUC,1Q!'@H1"y ٓI+ݛف z"I 4MRQa?9pS~#XDDb&8f*P@Ĉ G2 ndC 2 $H+CE@S U0U2HD$51AAtZJT%4ACHr#Ur*N*Й&! .1Hj )U(^rHi*|a݊ *mTUPz&*TQ^^@#@TB$L)6gk-Z*m5Vt~+׾Qޮ?}])EE5E^ { }Pl֝w=e6;҇LFULR3EUo[" <۩Q_IhN2ɾMݥi<8(&!%wη άgvU<=wsH7Y\ YFrNˮfg7?]Bœ7U{l"c>)D0tj8=nLA@Gm̃8^@Yw%H%*}Qxp/$kǃiWL5X.yLsrZyP6A_w ?Kǵ}MPU!@RibɊZ^xg{xs#'``p8lԥT0AZS8jMjעF!D lܴ7MM1:oYW,ê>eN [nlvjIՄ:g[vVd<(s#ld>E;tkg){s 3QnV.+SW bNkonSlV&ynԶDVzgNjia) d*QF+"`SƠ8SSTD&s-M>IȚI, vFAm-k[\6~o?}4{1$SS ȷ*o"co)M"C8cv[Id3KGcLXeG`'c׌5+i~"v\>n9$wLuG :种Z}LPeEUD0_KfBO E5QUr.lc1fɣ,*+ D,p6.JD Z$*,*n.;#~ek/O=Bh"qRl)~>18mˎncNc,uQv0 I4Pq61}{J߈;[ͳrwVa`c@2hx* im|Vwyy2BqN:>VվbnآagKN`5C)K_0mǬ&qٿ{i9cgA5G Xeu{6*adZ*7) q(<.V ZLA(u$LuDw1xLRYeĨ$$ʸ]ƵX4BhKj^œJ(dC"%lH 4a|}֔:| Iu+)>OA`& #4s"E iR1o P)W29x\պM  Jr̍\úɆ2 j zFs>[O- 1P4Ș!%ZhDqzԕqI#DAmaXv78w#{ v2kdLj[kf-Y98,hѯ2 x "C$EF5vJy%,w`Nzo3-@k.Ih~u`񒂶חVg5#d!3 ><6q1Q)2aR91Rԋ?%h-rBh(( HdP@ bqxT+:T0)݆ͣ:/b, JoڼɊccQ~Я=1DQݎ1󼇣JKȍ; h"ӣujkc5:ԉ/D{q`W.9fI)ul忡y-o"jL!!0N|bDD{Έ}]]pPkA^F#m0妊:jR7SO_z=ԏi܀jZVvhLEG5i"&CbA4ѬIktL_^誒ڠ'yPykl d݂mcE^%0Mhu}Kja]rBFRq~X"p=hVI>p\YћIjX}ǻ߽8u]Ǽ?y@ ƝXZ]oߋįS h%em(g͂. GBWl]H-#@C;_G(JX6) yF'>]mtTj:9vQΓu'˽.OaG| j*ݽE^[:ŷ|c-<˵McMF[ JĩDHE]p4܌ m#L!o->j"+b)"ebdA}g;yg۰w!ܿ=C1D$B] , v25ޜ޿ܺEi%)0& S8CMIZF;Zz-!C ED6Y}nב~ ah|c+|3.\[4D`HG<. 3 mmmogm=]Oà(RE,A1 Lo66nrYD8b!t:z!pD8O~uq;̕ö yݽPVs^HSڃlԯp:B1ݍ%>CNfWb\7 NJg^Z}q,5leuW\b7nbVxݯfSK| ׫,.ٛJ\'^YISʂ.I'72 $m>2by٫ˎMVךX7GFTQqMu(D:o9iN^!p1C} 8S|jMQQ+St4ܫܺllk47z/:(_4'19V)R1QJ%)uf dp(N"+([`E%>'ap!(c䍡5NA,g @ZK:ys}᱾wmGTc!4BodԹ#r1j`;pYS$g\wAS٣nmj ^v6Lqb"pԚdbZ<1TkJ3\Pbl7wo? p1W"[O'I^[ Kq;y5}-D'gۥ?:8="w_uΚn|zt(6<2ReuG cYmdJ) ":j).Za D%wtSzpۣGfv3u%n?*/ts`}yףuM˙`DQo!MD6L:$s4g`L& cog1A,˸?|L >Hd.2;T~.Bɘ;Y [g~DW'|Y+W(_6%P/ M4[,"A 3Q ݊^< ćc/5qغu1Ͽ&-9ZUty:d3>GL I;eݿOD5>-]) WO4 4ozKqG(!JO7yҜFgt:>{I!ڭ *A8n@b{0ύ4B;Vf$}JPV~8L]72M<2ss_5p4L`<5t/>Iq dh+>,UZY݂.npU(]H-Dė_߯s!튁߇iA V ZT?'>I_)?qH&fl.Kӳsb%chrfh%fGpk:4tA;Sݽ\4dI<5P,(?>ʔSELʘe C}4bHKG^G_߀,|G`r"j;wȪ _m$n\ !Z2yX&Ǿ'is ]mU}bͱSmI4¬?g6sSǩI>9qHMM4/iCqv4z޷I$GOv9nERd5QCW}lȰKq!S-͉,$NxTYt##I~+\ȴy"`hFAw$@T |u/o!ՙCL?03DC3T!L1?.1YJ G +l{R_ԍ љQ`/Ⅷp~s&& 3^A&٠<$-cۇ(jɇ8C7'܍ҧ#oNNgɢϙ&hy/؋iڃD|NNrZ%®Sw`1?GΦrb۹ C'c42LM|+r%LҾ{xQ_]b!ZWZ׺檯N:HV725-!*zqmiä&X$C_31e~tqP mc RdX`w݂b9An 3X;~!ea-5-BAQp4w( Ή2q)FewQ!\F [IBb~Nfm:\wٙٮ ~x&!7Feȸ!scx7%3h1r!-nvV;_޲S WfA ?DLAċ i ܎RY>wwN!!ﲵCtDw| 0{5l| HT?x:L%!P˚'TRU(qL>i^I_0̺ڣ; I{%!BI͕}t͗VI?E5)44~; )t{R,Be@D%I=,05 H$ݰʛݪ-wphTbJr$ZQLPi)Q JEZ* TQL|#54RPP1P1D0DP~8bN*I}=>_|Z\PcCʒ.>?<ڿۃSRbr3S,g'Z&$~]c^z`I9^G]v] Ę8>̑7;⌲, M UzQ%;* \qᮞ qF;i[uzU:w[eĢo.*uK,=!=tCswcdjk,9 (;C b CYp2Y.ޛ6=CK 8>?3HvgȪtׄt;7=`M;<ٌauuRy݂.Ύ9~S9g7ҢHSˏzǛw8/x7P?p<{ y@ *D@$%DA ͘C@ "`qzt@EtaTJ((!ӽ_PR2TUOibbtXlw(yt$DS!DDDE0wUUUUUWrlf 3ױ9@$'=($h p@ںÛNY}{pe< dB(G>ƴ5cC2hˑ79$exzu{VlO:̚6,9p~n_xa ֈ˃SW1n<~UNmj TOٲgǏ>v k)Q r0q41 6 .7܂~#Ov<&&CBvCmJUHUU)&1C{!x\,+fDk2 17'SSKw:(MR3<|wpK%+G0+mK0uĖf Lm%2V~tP/>GWK."CP5 tSQz: EQ~ 3 -% ࢂ#brA:uHu2udݟyAN"((`+A4m,X!VHOM';aRTh,׵ϐ54 d "gqc{h nc8ޠ۝0H#%(-E!_?0^jeVPQ̪mP0)&)kPįāI@M ,  CCRċrl@)T4))e#}$P9ML@^"ܽ4bt MPQQvi4zJ4C䧽&GԆ (-q8o0'

Xm֬97rIpKSwV$E$&+({Y pMb ԰_2O\`x 66mskƱr+MmuўPbci m8[4TC=*%eeWyMvA ˹|3]J <2P'R] V"`ɢB#s\MP?I ʦ/|LR6R@ J(\'B= R-QOaI~ݱ#Tۉ JFzg#L8)$*VJ͋U IU_S2* B`S?lkj.72}^pQJ`ed " (oiRAJJHMRP L3(hj!&)B"ZBH >ft2D PABTI Fʘ (B˰PRAQIt:`$"I$ &!"*(Q"`fQJj d(*"$)&h! h((* JW $( DiXb!E2 (:I"Z<aIjR6AA @R4ȩHR5 PRP̉IABH@@0@H )!  A- RRR @4(S0!L%hMJQJA2%34A@E@R$@!{fqc Ն/n$թi[Hi-ƧћoN8p`-LӖ&hC]q=0Io 뻟,g9u6`2@d07_N"Eb*d$^FlfPodo="I(Bi ~! iO sIX _y5uwt.!H~v$#29F<7>1M8U&lT#AkyuޖkLD` MޞpِXjSjoP:=f{YsgtxDwY.(jzowC8rm0sz,A !SC/ArQ`>5ѐvi EKzD}{'Vҍd(q8r _/*=um|1he6{Nڛkrk Pz0:~Q `J2 Ͳ9K_[@Tסh}o[p|Q^ ̈鐶.HbRdFsO;}*XšxeN 5(#z˺=RvP;R* %?#¡ f< ,=)zA>=kΫz벏3Qd:{v[}\}Kbۿ7a(dmNNwV7H8˶[T&XZ $s4g6R^C>+Vrl:L;rm9nCw/xbXzs$Ѡ 7l_fiDC d5A B,??uzcPWR~^7r*>-c1wE9d00FTXWO&<{̪/&QF1%f-~MÅ-3s0Y0 f>뇝M; TfE&0UfJ%w?k<ۅ!_혯?Uh*iL\9Ny716Xvt/2)9%$j@NS4ԥi NI×F: [.g(k! $5ֳSſ8XEU44A-0pENwPA$2w8d-'{HhWHh &ilyvN_h"ui; I^_LCdK\@@MciSBDS0 D4ǠyWgx 9Aә@ν:(‡(bhC1hH*iHhHtU(5Hxvz x6=5ԑ,JrЛ#(TzYDyAbYspמ5KyoG +ʃϧ_كQe5ΰh?M~H83<7[r'@=}z |QLhW=豽P޳ƞa< Ieo9c=l`v6fMf6h敘XgG_2ͪj^\f<(-9_RێM~!̨=Pl-3!hSHam.iXYa,HH !%IaSIuz` dlqfQē'Dovo _=>8;ξ~OlO"@Xgں6vއ?5Xaci-{wPv5K'6)얚RSV1!}d=j :eI@ M͏VCeCGt=@2C!xarT6X#z=gWί7gqL%O=Ah|{~Jπ&@ mbGɻn eQ8`D K!Їx;bi{Csx2[TmıN-ffWBORfM~b^c,|O%ʇwI:~g#x0< }&5}IPcG̞w{(?)ScWn󛧔#x.qn ^Z7vDRFͨ|=elW+9n͊j DJ һG,tD ͬ 8K=וۊ61 OfPvqո99-6up./8_Ej!>ozn\IS~6q9.Wi.V5ig^U9{eꈋ%-;7;17[뛕:!L꿣OEm$vxr2RM̢Qlp5L7Wdvlfr[5(uV>zFRn0+&@ŷ6͖<)T|m6mK"]tŹ&nKXnk\x36/| d3FÆqfysiK=tux.-oDI"13 &kcNF趘p" A ]q࡮@/RӢ|"N쐒\f_G!Saᘼ!VL6o="Z4JDA G%aAi"jih%B *(%V))ZJ(fX$jb (j+ZJ"؆A(_t(f_^WZ:=9_vPԣ怣a JAM<¦D(@""WĤʩז%222(QTwn ihJJ?5!W}2xW Q)FB(Db; J)E fCBrQіAN0/^0s!}|CAh)\퓔lja@ac>֩K⅝d|/,scaPʨd!5}6x>5m$`e[yB`cy JF|&wIʼnP&w{&/^&:IYi89.xM  o[ѿG={.G OSլń0Gs"uŇ*}QNx=o̢at\;FuZz !qcd}Ɠ5 z~;aYs=|as8Yٰ徥:\^H+rSM"찬@L" .1[kxRri=/'?+%( >GyA\ʸu.Dguz0ٿ AѸo5URoV wRdSNIO7u1_Y坁B-߁r׳  'C"4r0; w6[S)m Ro 3sD g2MCB`0@.\`0HN?o;ZhMRPWי oW5g\V 4j ,eMBi+rCaўW\7GM:jkJ׷ӚZen*!{d=#lQL{e\8K[+ysqS|b`G\DX[5'r:;)!;PV.vuOJ1j,fڤAjRo*>n]ad rdvM-vv!LiRµYi>. ({M[,~޼{^/-u*H(%>jWsF3j\:,"wXϲd]+UC[mE.. c懠 *[(Zw<.*IMSff梆A|UDM~  0Kb%v]9D2ZڭxU 8$'SU6j \e._jVjiluVHG:mcٺ)gD_U٧=>7+H)(Jަϊf}$1H#s%5!gtTMC?_?rX!qеl=^~x 'I~}W'vlb/*uʘ-pP B`wdyz'ahayɛ/ȏŭ3ݦŐ]_3 FgGH"d-H}H0hLDAH)ec>g6$BA0P*?pP/.tCwH^s<,#Kj*jG\MyFJ^+P,@WrLy0{(hQLV9þ0Wj- Vl?fd> 0^#LJooq{V] }soV|hY)qO$9CŒILM /'tAc;L{cNhv1ڜ`uGO!Z>_S&f8= f an@MW8LWۗA ~twBxN$  5;|-d{,U):iml)֯:^-> SZRHx){DLP|[k;dSbk{;eVXITws,8ڵ H*Oad6Au]m~7e0Yʻ9ۊ(~R7]?d}6sΉm5I@pTu "`Rʾe_峤䕍{xl½V"덋{Éς{7L}i3j1iKӏ$1=z4'>QW/D~{yhMziTRgkh!bo ӡU^^sAeU 1Y— ?`"f{ϪY26ZՕhnѕPs4]ԕڃbFCf'(ښxIM [y>4f6:Hb"< l:qNƿӰv^&w"| ȠC&ľTĒO`źD'v bu_|N8A}S? } 9.m_ y4Lm [TRG02|pN${:HsFS&TXq9mz[ t:-RHN4#&]0?EKbyhcb0{kaabw!6(tf˽Ң;ԠvG3hTAj%Ld=HZaS!krvg)~ٰ7;:Ij3cK0lg}#Y8hmˀ<bJl Ull;{O\6ǜDHC5;n.~;?HI5ԱYFJ;Ebk. x;r}LrHR)4vBxO~BBvRdAsF lmi*V ,NR.\ uSy4 > 4ҡQG[uAG}|J~w3U~{uX8>5!Wv}d88Gc泡G6n}]vf3|MYjE7`ceZ[^l1"nݧO"2ƽuq|Q ;yIʆ@5!eMz猜`JBCcLDYX'M˓Zub磎N-wtv4g7Y޴܀Y%0ă5|=1nOe O{sj ߊqD Ҙ%bB+̯g/J"7^-Gb 5RSzoޏq}`#I.KKKwBn x+{,b ;n@X`Pkl-PwR[)3mcz uÆƷH0ܙl QWGA6̏uj(]M+iLC^9VxJn»n}Ǘ’F0-.͆n#o<)ia<7ޘ[6-)l&~a[q}B4!_]hcC**rw~X20vn6'v[c<,dmO}m_W+\2\Qq辥P6 XVMv;#7*.q &rRvTc2MucR̥fz6attk ,ؔM2+{S]7Onvl78t`^Y|hqWj!Т$4g(q.MYL^F篗uzvtEoxaO UT1cuD`L ..8?+St9$Dyn`rT>z_CvfqˀclZ|_;Zw0^CFmF ɝ ܝVP9!ᙶ#ONo))[֝S zͽvסTd1]=a#1Ub1d$hK3|0!aget:vu; HǙ6@oOgmGݤ/pYN-~̓ d,3t}=i-ϧˮ;Ĝ*RVc%fI5JJ `/(}g}DG_wԛNENSWWo`fۗ5h|O2tEMYՇS k 28&;÷-4>AN&f!ӨRhh"`~ؔ>*v /du3ɂvP;F}phz02tqt0q'?'쫾n)%OVs_ge}mtWG߭~#z;<`Wªʪ9$5tc Zn8igT(>irύ<ژ!jس$r1}{9w} Q>i$_P;+̯h??⪪9|ܢ=UIGG}vt2(Wu[v؅4Пlmmn%F"08ɰ b O~@V?4p$$?@SKor0FF_6Jo?!𮾨u_!h:>_xNŐB=(ZmvGsH1/@d*@qWa=0t?^+Zc&ޗ+B&K neH WI^~i~L%fd)p!)?Y#lg1W *u\g#FcO(6*e|ՄА+mv32>ϝ <04cjΚDb;bb\|fl|!oQ{P|:u~L5$c~oDxu"&⼳w5a̰l"$1G3~o,'dwKfٷQRnUN40Fȟ\wQ Vd%pFn(҉' |#twI2Rb Aڧ~eOn6z(0~qLG$SN!886-?s@mW\\9J*Bhٳ3elh:gL Ck,AM$o$LOpt@+7juBfyjqF <_x[$J#bduWC񰀱L^[7afoa6fr }%sb"CټHO=CKcٟ;;Gvӂ}i- +za{w !tN ѬOOf$3 $z~|ItL8bD37H.8MM!ܩyۨ L'gt)f^C3^0 ^4)ݞHoMJ}s +o:|j:_h~K'HHm%؈+LN6XS|abbJ//AVLGi_PHnpAE :z7vChd4vl6#hQ33y'=\JY&uKəGK 3@0W4OV03ecKh×3% ǎ/x hWP610 GcөL:6d b٥g˟%}?^J x<_|db }v=q4N'?7G|o3H,9>#|c?zhy__,=rV*`n6 -l6$T 2ۢie6qX`?S]~snR$Y?&CGTrdBi,%N! (`b*C.FvMb:ӯf]DHb'UZ~kV%1~.FI~6^Gq?b7ߙaͧI7}c~yt4h®5b?eT@^׀]ϖ1Jb_@omC.ȉ $C|V S 6[iz)DF D8)OneFg ՛/amZRЛ3)K7l]0. Q%d1$,fwц?2U P 16UUUVUcv5MW7k7e[mp8`))["8˴qDzO(ưjtF7&fl*T1  f m~gs P-")3rN] kڭ[_﬘p oDBB&zovq(C0&-eqkF"aׇGڭ_PP'cjs<NJMcZ,≋u+#_""o3'ԒI$DTEDDDUDUDTETEUDTEu=: G w\fb34F+<),0z,5"(ϏJf enpi6*.NE*OK8WFvf߯!/;ΑmS|+O8puԔ4[ZVmY}1k/@ElQG7{~#(x/pj+"ʧ5osW͝${(\>#癿%% .:X Sx[f( F9ūdɭ/ U'٥^ֹ"!lNb(혺 }|pIԣc(+T=sަCxdC^cLW&2(  cfkKo<܈i̦vg`,^gQمx*S/Qёmv4U>]҈D@cB5&+k)\_2^*`u:_ʵ r]R7Z5];mv&sǘAD{a'K,V):jo;0|#<|kZk45>~T/_ߏ.fkP?? ]v;:X@wg5?%$v+\Q .M(K*˜*Y'qᶙeǻ+|[6 c\_Xj KZ4Sm9T)$ϾS ZCpR\<Tpcmi/U: f'1D nz=LVgB&m璔ɍ`㏝vqH5UrC+>@!!)qՈYism$'t6B8rD hrMObot8툜@= ΆP蔠x1"$$Z[ˋkj"T*TS!u֋V*oo4@t&RPeL:7?EUѣLDMo$XML%+i}fsLaeeŅlѤEIXe f0ϾZE~ZW0}/.+4PQ]`RTӷJ3[hCzSBA6`τґ}q\6ih"ŕF\CUĊ@1JB泚!V@rfm'X=nWoP<.j-?>Ja(5*&<ؤi)NqI3 /u_uтpĜWFivԆAͶd:8yPBtPR}Vyz0 |k,V55$3s'N CXz0bsNڐl9/}$N~.m%wB6[d*J2%ImWm/Uҝ۷Q/8$~0DA &k탇--\@2fўG䯣o&V lV_ ΍t q-I)"of56l %ٸT3z3,X[8JL$"&6Vr)cn2Xq}ι4GHCB d盠)1ek;=jo?iEws˞ 1 ]SbJyD9moMGS1fkYgiYcC&R [ J>ݖ4&g( gr&] zLNhhnl p&m-[+lD[*_8vgWgr5D}?=b$us+T엌1fKe̅ b2/ {0Vc"Y}⾮y޷>]\\"C,J{G6fЙZhB%oɿ_Lz {?_Y!yl&fm6¶[ՙL3i3tdҿ=B>+eۚ^"'p h"[y%g(6mH{1垘Llr~Ikiž`V$㊶Yν%LشϮ2oݣ Rb>UwWeG}㋻fHDAU/MF3|i"K-]Y"3-h;+f؞Ur%m`k\1L0c{^/v.^ VTS#:g=&JCV H BN-EujڍI<1GߓjejI~rQ<\S 0~xZTFqkպiBS}̳kbSb' iU#emk-mU 5#zfXOeFa}ȯjjl[03X(8*\mwA$I$ȭvӌ4,q_i#";ӒZ1NyNk !37;!rOa:ުj.!̂/TA4j-~ɪq+&"N oxK۔U@5Տnꪪ w:c 2L 1Œ̀5Fs˴{!`UGz/к:=m/b]2c譿i=DeEkr@R3ޤ(6CEkG#0&N-5×LQS.']Wmygh?x1"~8\ȡ 1qm.V^0'k~Fa/VA$Yvu7*ݓ~.!6m#@nЛ4HlQ֊馉x$ M0zs2QGs,UvЮq"z+Rʲ*xJ8U1rGz=ٝ4/w>L ߁gO1zW=w9sUCYe3wIU<A~5 'JғbU!ń{mUrEm~4{'RM#$۴6:smslkf):rL5DΥ/P&;O-7m=g>Uu"ۍ,}^fY˄_X_=bvhHz6Mvy0 fpG1A\S-}sge~.Lu&{tsXMe-%$P~#}:eDk JN۽;h!;'W+&e< =?t@yoSN=ɵD\z2(ԵOӑO#]*zDU"l=9111s,SD >_t |gDʞ Hx8m=nwsX܅^P]|ȃ]&|5#1=Bd7|o<Âf]0.W11O?y2+ɜM]q/#K&HvbPH r)Lk &uMc2ӝ{Nq&J{\VJjkrzDBZªyQOCfU7ncHnmW*]Cro:C6!sTy0Ө9n\_M,h=*WDcX3=xF{%=6-r3pWc93~*_$̄l;3tw70:Yԓ/`# { w5, Q2fy&h)ٰ/-'yןVxކ\AMl $d0&c}f-b&KM[KA)O~vF7i^DU 6+8j"i:?u]_e+ biOrEܶJkK7JX!fuM%traQ14 ʝ.#ȝ6)bs$n{q;Cq:M_dŒ8;IM.0F44gA_:ug5 칛M6?Rj^]#َUNa "}uqidk LIQEG:Q ,|1QUcb= ?zK-W \"/QEm|,:67B"y~cGD386۸k"Q~1MW^~&x GD,ԖtzOZZ5[JjogK(37Q-<Żb*up:I%z2clCl*ً2+iˉAf^-1ʜ϶9A8'*WdK-SNG%dUbPHHHIHH@$wm]/k.h~?Ulni^e9a.q7bHq6PR[PEHysyrXect.h7ٚoIfspa K!o@ip25?7icjez7l.E~ur+K\*w,r;XɄ9^Ϫ,E>8;ri#Ѿww"5}9d4n2W] ,1gjˇrmT&axfl3gT686[xPTzs@lmʮ Az)?Özu“Huz+2.j3\nM{jA˱ I0>porGU.ƷОO"3P#VW4,p|B:T .pI$_^E⫷fG7=[Qra߼G66T1* **btYMa⫁P^8ZV *Uk@R%xB0ء@tdID9g5$J(A'J-3 TL񕕉PM Vִ"#|'ex:Tx}V|j<Ί[.Tl;vֺؾQ푟PX&f5z8 ufAO-&U.v<2nkr>2yGh5.yݶ]\P;eojn|1 ` D ^N+}BXh{|ywBOp~ EIh>)/=_ >;+w{=q)7Oّ>ao\8o0RH/fiWg7ZHdܒR 7&I[&&iNiC$s[W%}tNr@ؠ`h~f`g[sh5tB53)q[\`~MAz[3Wl[ zj,rs>7Npyy~x\YP{_obof 'ZβvV1}UX}!&aY_ۋs&ӓ0dޛQ$迟ɼ;8m8ZsVQ$Z˲ޘ^%fMf:EQx9t4 Vm[pن9cI36,4rI.^yIoZyL c9}d!+* }ゟga>ONN,mY9mؚTY& ,f-l>CRJWqړ/a1 a@` o< X[1G\y\+w|&`s[_BM(BJNA!M^:eƗhUy#i}RNx8n;'L1o({b^jX6ѨUD$D4η*YMl_ރН?1[?Q.LKJT. AcOЙ5!ef-Xnr]j\;5v\WCCk)IپvVˡljC8& PD"b!`pzD'[/jl#ym*IJIU~K:+&GZ/Ck`Fha2wHis;gyAw~nkifG[wײ5; |TiM1rNnnl0l_}y[hң1IQ+[*,>~{}?NDp Aۣ:?<3㝒ڦn21䛮N:ܶA[JG'Cc5xI($RVq H5< uztcef:#,ñɛ 4|CӞGLm &0]_wP>*q_n%giω.H^@<)cwv$5~C&p|J4 ;L.1z3Vtzxݺ[J-':4Ŕ_ rn}8>WfxT֝6 Qo~U_6I1CU|(mLzՊ  [w͝(m[~-L&NX.ˢ`(G@gDAf p0Yg{qn;;k )f).7=N1m8˚LsXfeu*fg3%Nm9 SXV=~+_mEf\eV]pyB1uLu&hȋ$8YkF8>#čVJn5|$440{Fݯ\{=8ߣGg^uY9-"K7;qv\;`Ɔ3Ȟ_|!}pLwuĦ Ҵxz4~ƺqϞoVj g<7;ūxx!7'{ʵNC736h28-;rX]^ڼWSʒ$wG|g5w֥Y{]^BjbmzF2{\),1R082;q~X+5B ë#VC{ך]zX]{ oG3^wnb.OYES) <,7d9[@?35*xtuu9qg:Ҍp^xcQGnĸמMG<émneW/|s{z~#tvcUskG~[bf{b~'-z.y5^vH؏z%>{1(oFA'!y}pW,r16 YIOYM\,8MIֆCofVr7%r.M gNr֚*,dZ2}IL/WVl"x,fo@pI|%m~SLj7n 7K?._k|p7Z3XY`qbqb QWIۅ(T /db)īZa)VG9Av#7`lbNZBhK)p`[6k&rϦ R_+4$Ủ6<,WXcL[<}wmZ\gaGݮ1ďE<,akD@J4!Haj( %(RZD.y`9*~;ehF]PZ2OUi 7=ɉ#rTIHR 䭉XR% ?}&~ CZgxDcWH6}ZY<q>?SvzuIys9KvGovgͬ^&mX}߭%Z$ zhL6<=K[7~[͙pxXtqK,ݻg qv0vkm~aPQۍό}ߙ0}&f.4vn|k'sw=fw\rkk XJn1] i'NZK2MVq1mڇWƘ=bhpCCK=)z<5m*tI/N<֞'cJ xD tM T  fd$)*` @7ՋH؀wrf=YGT z>.B{RaN#9] 3yb5i-c9d{?7'3NAc-P JJ3r>aK0B!?/|  NޟCK>1vRq/VT3<};FWd!:`"} >qy teꢮyi %/.ACHGZ8}xKvևB/H;-e(bR$lDP#M8jeqsPDWH{8pL- ʵo]:_.e_l;+N%{8yyVV=D2;[dlVygu7^|L ܾA0%饕`P3"6/qy⃧f@ JJ$P@"*Ҡ PI".w+I`c$䩞Aޘ;~e Ee+a/gh@KA)#X p~tf?oc! 8:iD Z $eTYh@@aDb>EȈ~y$CDdRI!}?qu t:M#W׷4hZ;h-bk'2#p[e|HtOGbxr&!6re Ѯ ,H2H  A(1t&26h+?O<Ax17LjT,dr)E8VLǫSYb{̈߳ 7$&ci?'wb6;0,\WșOl{QZ94?O{2L̀͘TYӇ);{9Q* \Pvd搿SD/PlO8pK<nZӆv\k!-[0Fmeq,-#hp>Ax= 7Eq%taKJ$oIab0*s"C\Dk2hE⚵j+Z~^xdA "J!~0縏< ҍ(rHGn0QjJX("/z0ńK &FtEbq-BV CoLczg?ߩ6CGi_[&jxsA$gW()$DHTѻ#X4)`xhF"V@/*j à ʺ&>ޙY*Kc\!^_a"zq/I u(pv&5xmBʢc"aXg_|nq84 Aty|J0K蔞2Qk"}=%y7>]u0aH|x\ E IJ=Cdձ(.Hs'XZuD06p[):^ڻNݵrRaakҹ9m֨fZ\Hat<\!t6rf2mXF`6vh8̍mt~pFͤ«끄d!2eyDAʩ,k죵|qM߶N`Mz %&8I:! cyN|bmwlJ"=|O! .`/7qYe :c 7jf 7NBI*S(u:U0 :CWAX’œ-s|2gMhI+&vGP'OFVan:&[VLY(dl/FIⷿr#vIu99Ν&gԽhFH@WpC>ԣ &9EMM*U߰ &&Y7/3m>x|ɬoQrL rN\ L2L{I'tI&I$AAy@Kd{;UD?_cmYDBs0$ 4[?vgj~OϓKzҼ;J8*BZ8W={XZ22;Bmh~$_=!_&`{o~.a !*WBiH0Kԉ:l&=3R,8҇y8x_ @1؍pnBBG#qO&$ɭkToIְ4#BnsR|?| y-8L[: }QhSZ]m Y}})Сw.l!Ev5{{E Ev45Foks#w@4zgP(|B,VLLds ?x}.NB "1)CwQl[}(?pOHhz˹#qٌHd3$!~ʒf"=OlmV316䞺=ѡ'f;;zG  D $3֓}Hꪥic}7lb&)Q[)3'juFsuw2vCX3~bK` %jLröv32B/%ˇ30ŵGE=~E"Gί@v3hxPL|gI#^{w՘ftvދ_C<_Ju&di#L dI$A^!:]'"4lvgP?8%e[TjK>=r*3Usło>a2Q{:NŦXJ4,;[t[Qg?X%EL ]6i,iB Im\Ӯ)J_<xcC7 3*M˩Y=λOAuq` 9Ɯ"q4=;0eOS~>O&amgu18ZěZ^dOq#]kfkyK{JtMWf?qyWa=,+Sj 4 \Z}`~~6hg MQrIkO(idk˦Gߑ4%*b~?URo[hfs&+2eoXrbQe mx$CȌ0,u9Q~8,_䴂MGLF~[7 _&\kl]q}'x/p F sWx/,dHl e/9kcyirL/ fEvT?3W'I7hYc/vҔ'Yb9OSgs};-)oZ}]g/E{@UOh͑n' V}.K-C 3c ~LKӱĔg6vsfDϒ"LUB&,| zb30;a׶YK$# M/J/Y>qS}+VcjL: ރ=i:{^|TRm?U{42y[pć.!3&my M0mN3g&s,dfնJM[[ف DItì1} ߾U-Dn2?rg C@b|6H GY7 م~-9"Rsx*X̣PNaw.7^Cȗlf"7"rioڞIS%:}D.P_1wQΤNٚ{ \Γ8$$2R AyCʕ h2UDQGн# &|{=KSb}אYv~k7L}+Ck}?{)w| +/zz+7 Ntx\Hvߡ+ӗ<+w#  |a7#Cdޏ*c4ýܙ.q|Oz+La?fݾIL?ϲGM V:g~Yg&~y7Zgۉ5̖ &5F]mA-j?"OuLf#]XTI%urQOmfs\ݺuMAͻ|c[/ _ sm۩6yZ*|*-t 1|~nk-Ês%"7}QTER?P|};) PR+ʎL֚yJ6?H ϦB{PpФį)n(К=J{S8m6Ўj\Ɠ(ݛ U;^@k0!Tafe"Nחs+Ի=V/dUOyf9E0G+Vor,1kgeyDyoiuJ/k;k 'dK:-ڷnB R<քԻcz}_]vi8E۫;-񡍷0vU{O}NC,O\ /I}0uv_-w4gUͺ8J9xގ[kWV8ԻMaug>T>K7C7hpGymϯXřմMԛ{4{~j}"35BWrYwlmgw' ~۟oiv UMO P߁y{U'? Hg{9lciSW޷~#m}eiV^ tvq/=09eOD̛>@z GO1H:6to5_G]JxcilGv GI2K@HKՁ.jk &=;~{nʋ}ÊYwPwCA|jl/mu 7TK hzO[3q84UUTޢ^NJJڒbI Kg[k˞P/_lԧGyiD'ۆ?!u&MoA;K %l(Sԛ@A)0\%ܚRis}[{:Qݓt \hF{W7?cj:< ?/4y__!ͻ‡5}l0 &6(t;SmK>olB]M!M^QkR@FHo? ^x'V$Jma:ΙfEм磣7^]4vcs fdRؽ 0'շK*SgrR/nTȸ=if~\ Ys@~&ha! pBҺM3,2P9aUڻA2iɎT~֝U&#?~Sg#Gmou'jc[ bC&T lM:6yvFe{%\`|[i ڈ֖,*B-i%eN 3gn)bƖ^蕊YƆ-ہڷa3 M#cr4u}%F6m&9pe9aDpXQsb]|r&.:B@}񌸕rw%؉/e 5M52}mWJ+h+i鰾ld_EQ̼XhD4",:8@Dw'Ue1.ire0_|%O}fDlJw{T.km歁))bDAUֲvxG١Hޛxe9w; zZdf_Y@q)KJIPLI7i.tuKcaJ/~LrL1C7I)$)QM2d!g ܛFe/q=]skZֵ7]v$k<~Crdə Xؤmvbc{?O|g/.}Ѹ6|h-k4ZW+~^,w'ua;v*&l%goMok}MeɮH&87}mrLǷrկ C&^r5N+u5g"\<׭7Hl칽Fvvm;SِeBN6GTFܴK?R;Te1Og'~?Ft~~MA&ҧmїL;&Z 1ڧ@>$æ-G2= :g#9Y. tw n5&-ҎwAks^nJw*ʐPLWj=:(iJ@ ć{;2h(p J䆂'м FuHQ=2"::$y(%7"fXI_:(RDI"<39F&c2>m3dq;a#Pq@l$([$c Q[:c&(vX-0b'*K(ICWR:`6+Q$TƵWk󆂂8lbtmH1@bT}INft8hSL2|j61)@ PlڍF+x|/MK͉ ; cp2$|GbjmKW"-iG!tÙP g k> 3(eb !&gC+3 pr@ $FKUT6$aVؠѢ=ufb DDhUcI"?{}*y aSĩ$Ȱa Y O'y~g[ȓWQ/D(ذ̸,1&T!R8R)d$GӳIo~] hOǨ=:X=*{!&)E*(a[{,5ReODO8Di)i )T.(X@5/p_d9R{<SyH9+dGh!_.QF@x|g $\kC!w ryI!A}R^ZD"@KmJI\&$ A8kCd>ҟQ&'k"qVA O{-'Q5ktkùӛ{qݐ!a>RJH~xf7]ʁg(4>aQ`[R5ƣ!>;FY JtˉRd|_9gIځ)@hK|YS[e}PA"0.HdTrk%i- 쀶\ 9tl"ArfI#7K |p>?g|9=G)m 5>콱}O.6F:y@݈:0ʇو! enݟ7'uϐ};PYs'￾jEGo%wENj! nU]*|(vL2__+x9/J`|R4yK?=/:có\/'wSBNo] ГZWbt$ִ+,=YgJ+.+Ȭ+ȬwwY߄VYEe]+,"+,pN:3^ :u Iӯ!^Ng L|,MaTd#j8-j pg OL#{;uGIu 1^juilAio xO !<'eHd!;%=2PLu+*> z$;Y*Iziw FlD;ej|؛[wGVu>R"rӮ۵Fef[/OȏΛx[cϭ3J܏wx|:Գ_|H:0hq#}|n4pEa(k^XU6rL\e)Q΍x~"a񇒛.'z~lI9dYv.\VisUoU=6Cihng3pá]*08ޗ׎qj9jr%(@s;=Cginlb& y˯`\ІEó!x_À^'p[>nMNzi3!M"AZ|;ٶSmi8O3J6njfXo5z:?lAkEGޗIO^{.;-C8=#Z+2浯''l^ݦjt fGu3i]b ?%P7czǩ>913r\ҪծS?1l\;Blz 37@}ޓĻfkFC3$Ax^':68XXaD43#8?lޜd6{)7]ȑ~D|?;+s|%*|ב)7e526yZ6aI5NC˚s7]I2̽_]>0h2<2׽no)k~o(1`üm}뗞|/-Q< s܏Jpc)supn@}vlx%I= tM8U۬ <Tp:l1z'}@] oN[ oBaZM9no>>vJз䪆c?d?XCG!0*>C {w1&\3. sИ3eթL͡c~t 1%|4G[8گ%щCVǡN^&￞=YطlZMS3bpղH"t1mu6'6CrLlvֻ&7`]\ )?)-,=S9`yoJj[krs\?5 Qcʉ<0go %I>:TC| M@Qm6_Ųo1[+aC<(x挲Ld{!L[pVCƗ9.BU kA,5N+b7U=RuyE-6ҙ8'yr?cq;=_O g8m]>@E7&OS2tfD%6[s춁q39`t#|:+5g]]8&˴̷LȵW k i֭OB("M 2}vd'>lP4xD\[Ss.nnI*\uvY>c_EH8ʛ̷EmdI~L1dΙ!Hrȋ'x?X}m*w9Hg\ieݽw9[ZdSఠ ܚa.^dn;bM#L׾ՃIq]S, (H9yZ f<}q z=]>;X="ߧ eEk7b;=Wrp ^vx~ƾA7b[?ay[-4ڣZwO+*JUvk[nn^QNjuDL!TLASaQx@ CfdC>aUEU"jW^PO0 q= xpJnK0˚yW[ftm*1 vHFPu&UTM)jD"#g9 \[҇FTSIz&$/1 GTҸ#3eS,Kb @Òt>Pۡ'7.i8{AAF"$s[wTcybâv?or{|9Cw|eP3s;Õ/zIk9iZeyg߉.:61ytKN\u$}vt'b,] ek1fJcq# <W"8WSW;JBRg婼eR2(M7efkw1F{6 >:\>Kr }̈́;ws İv;7W{(/DXQ4-'nV jK[rS\S7,flz_kSX[lW#ƴcG/VD= \ٳ>sрiCX [r 2Q\ff |ѻ(n4, bJ4 $ 1n a1#М~4@}Y(XJШ8K&\bJp/La3 7je9e,itf(QrZ%"#l s}ns5IM:s& )RtN UUx@6M4VLM1Mͧ˖x8~Ȏw=@?/k~yO+"9CT*twH1U~~Cå۬/>~RS72SqNm)b{{ƒdYdYaB~<m cb醖57.^O=k/:s^ZHe[i (~jVǬM0QEw44gbV-~4maXZM~kXw٦cҨg=W Z]nZ_,,̩`HVY(.qwk/rmJs/[h"Nm|et9n[-hYX6VcmdUV.1)5R,F#[mM\8)omݚ\k[YcbA`Xc~7_qv9$ZKG\.=ktSy7cſQejcV-6x{oJ\sP=y`}0hh}^=M祺A䉯kqv}Cn`=nRGi Vw=B򇹮,SDZR3kuy)&# /LVij:KXܲwub_ƻ7_-|kq$j2Dj* FWapf9mI$WБ1pr+7/fZ4)-I::F#;%a^1 0S.&LYl ^ D.$C郥Miaޤp {;+rDpCJBPRxGQ"1(6zB&P0M&zs4rVaHSGj ޓBu .7_Mq|ʽ;!|6E;C4hE5DUE#% e9j&j)S a'^Cܹse-˕-qEza_W9_-ae[-EZڅ-DD=lʫ?s `JSG42"=eL9˻㥴}rll)1#a@{fb!v*lpLB d[}WBKa`RON۷[sr)B" U"|up:KA2We%W(UNĠ'"v-/|a($|r)#aUO"??!`eA!!BIiJe FF)@Et *DJ1&lc" ?I7"g?CKANn `R-,G[,ל׮t~; ~ˉΏV"IcRDȖ6(۴QJ- 2*BE#"7BN`% .aZC"R"8NX쬁bΥi..PU'#)@vGTzkrirJLSW-Rf eED,.s$[F06#ؕzd;pVN7Vƺw|˫/|JPXIR\Ĥ,"LC"Zu%[;J.=>= JnVU,FO'hIv'P'JH56Qύė^U^\w{*釫[׻^\asQNɎ?֍$~gzD;8&NHb ݅}!Zt//YZww߾y a'+cdoɭ7flߡd gf[Mr9ONs].7)m)@ 'àTra#dL< m8mFd3j }E UlxC6 Wh.#NfݼF2IqBFg ŚDe%_&|G`aPeXUVb:59mV!t$"'j(>㢘(**r~ 0B5[5D+X7* ;JRatw `v)~~YDA}=ߖ Qp\TR&^e)ٓVMdTk&$!/$4?޳fRI>]2؏UGՉO B!bJx^/? {u%Đ[BB=+eV$3Zai81A_z>^?կ~)qlUމ:eߊ&~_Ҧ eλTkmwaL8녹cf6ouq1n;#nV͜4Zo,0,|eͺږ%wl[)wдgT:48~A1~g+C wfJ+;pk I>nb@ wDsU|=.T龹/YN+AZWeqstrj=.{O`; l|눿rdek\q][s7#,? B@\_% _+quSeliI'?G//w.$#(>n￧ΝT8<{gT h*')Q?zlrĴ#Ѝ l!a0P\9.|<}~\z*xz̻sq5ys^Z: h5n.q~2 gisңV^'{~zlq)4x49P?Sw8QC3n](lF1Մ 3tETfd?S{x3.cb_V/+ـni D'0ҠrI$? ~>24㏛L'Zbo`piv6yn.L@l7![FЙ"D/on)=f J`24&QWfc39vGw0_}P7k[(f 7R 2 PcƧ0]#Z."FֲRRυ^nRφ64;~]REY2Y, !110oe,ڢ,ī6Y1*6,0sz!13'1DO} 19Vag#ˇZ ]m7Al34܎T9ˎf> ޷݇7#ƻ3"8f %eUP劜M%1%X\Sc;L sǙhLueן#U 浙)8v.F8K^/=LͬaZmeP'O݊46U"]d[ g#|bUBӚv|.e︥jNܙ?Y IwR8>+UsajWv5b-2/vb8 H:>SH]No<4{Ӫ0@nr^`H17~9Y/˘DEݏ-6&.lf&>!xl<=' rOi_f҇`7oQxi,ۆzCߔi*}0S҂OZvE&ybg *Oc vFaiPXk|]L3 c4lX_Rh&fuHJ V`k=Jp2WW${H+i#L3כ2k 6{0XHD2[B9|QKm tu"}^ܛKTm:Nn(waCst*-;;0 3oE2@KA/L]h F5$Hgmk L,v,Fr%faud-zs0!b ;!ZL)9A^IO05"  AD{w~BH~;Zk730G,1aYwKtc9DqqdB.d8*j*?\[4G?y?WUZ(l:K?<1gh@ƀ؏2jRNjq^ m}\yXiZ؝Y檾o;˃ L`"8>1DErp14BD yW.~d{-\ؙ踘f35]HcUy̥sDcARkr ++d%;x3 `/kf䙄z[U6Y'.7M߯ ? vf.-3f M;u?Ebz,Xl"Ok+[kKҞw֞과wyw7v|krOQ {Ik+C⺺ud9ϔ v22ٕ/jG6<dW_?,=1H&$o~UėǶNj&&=8$ 4˜TUǫ,M8l{Y$Px?zBII%5T4gM70Ny#t>I3x@"/8 G})i^k>_.WkhH6/5})\""eH=/݀?+g}5఑a= ? "h֚Δ,xXX/%"w)%r-m N?-ߝոs:}>c{.bCnFW>ߎ9yv|u\v!봨HI:w=Wg7?Gq/SI)^7Eަ5j.b޵3:5z ƕIPV$ )w7B| d0[,o!vުYl;oi&bAEI, ˰ic uO-E bOȝN0h8Mjٔ:8akG&/YkiO-U\@&,Q^*m wtM ۱Dg4;z@6UqML{+ʗ)4˩a7%, I}4Lj# :L%'??y`nO7::^*948aGu)IWy99ߟ-G|Fgo9}s\|VőJ|^lꄌI Ɣ}|d5{SWJ:l:JeڌKiqm(PD8= fiLgw P6W(zȋ\$( .̳Zmgdd?O5ftnFiK 9AQ dA,(6HVM& &pr2~-ݶ؈vR1o}CUcC6+s]u6lћ6Pzf`n=ŝu g鳦Z;:?Jo2ͻY_R YlӔa^A?lBL7ood_bG0_i7mĸG2Mj!Ľg8u5-&^IF1 yQ\\`W`>|]E#D,0NdT4( ()(yōjcmfade^׫7|Nt"{~K8N}/:m˃3lv0΅1'΍rg6Ř |s~wz`@zf[iB'/-l$ {ZK}߫6uѽ)*kum'Ws4w͞$n ,k]sXU-$.8AaeHwT*#W5ik,9QΓ+:Dh`;pZ57h;W c$jZX\ًpIGR@&5@\2 pneBd&Bz>t1%W^ێ5 >*; xM FHO1n C>t;Xg5މgYCP/BdzF(g6gWDn W1-&bDۤJ{ Sx;f0.(v5hrZtpi0x$.*(y"(w-hZr,.|'9LCÎ>){V m_6z+]_.^2vkfGbͱ"76_5+$LLݍIsα57`-G(bP{[n*Djl{,I9tf{#4 vp[rͷ$:kO6[1uZd.p#PX3|_o)z1=2[h>R^qN:aP>*jQ5W7 D>t) :k3ުTt(`=&S^],4)vׁm.:=zΖOO&XßoI5x[.^ky(s5C!&,.d߭Ta$63@*! a)I7 s*V0G'ԭDA3.I{rDcY;ӑ̈́Jג*Tsj|L!;RC /Y~^'7_;J턕Xꦰv_3)e9߽Geī;a&uD,'{'Y+|%yӽn|>~JA1!ol߷Vs'|2Y~7%T(.)"%&RRi"^J4@cx{{ 5wjZr3X"@^:-LAVJƬpF#n;ؠZz^m09onKʮV粄"~ ѧH8ǡSo7-,ez9xDs;ִk$~^j\xeV|Q5*O7&dk x;ChN̙ kMrsFt)+KZCy='-mxWc磛P=#zg_|6V.8l|45tUlf6 B l.s^%|sfΎ gaRߛ+fYIPF=o~.[o+k|lVVT}k (eFpa-?p:꩛E f3{DHJP3NRgɢdžcNEӷllg7p]}joE^*g2^]O Rk_{톨_Rx>|&Kq|Рm=bGOE9>`krעYxRrcݷ!W\ o[׿Fds> ]e"XތHj/MzL:GlSLk^0hS{ܶ1 'k#ߍbf fP_`߮Q r|ϣ=9|_] HaX1"ivNZ\_dT3lE~J[HIIN;762U|lv&Aɉr[krFmXi>]ګZ[&ޝ5]rӡ[k-Wco=(-oOlŦjF»Rn*^w$lul X Hz>H/CI w|4]Rh>>B3I*dVy_ڕ{x Mݼ;O'KQxC߾2hH:M'‰z~ HPۙ&RZ) X5lLՐ~&+XM7:39'93PdldwIZ !䳹or':;niyfIe-,x)?r`a'tC,m*HsdZ>p19`):.ΐu&J=(P߷Yv쿦 \]#b%Dȏz oF^ԊMN" ,Ow7Ͳïmz=m[3GEZnksI6vv}Qc#gVGRC>UX>3]$>s) F} KwZ2-L"5ptKp7)!mv4.lZH}:zerXc>k:-%%zE#xV܄`WͦvE 8(OfQu5/Aۮk We:K7}4ƕ*C[ :)i=Uڑc/+Kݮ"D`绦%=¡ҫr jɡq21I((;?v//'d<1푻۾;P%q V$(j#3lv!8+Cu{3J58^O|Rdۈx燞Qn ԊYT|R,|Z*?YLg4 IZQ0Gחts?ɽΛ4 x['lpU5™>4ple1fcE=CWQƒ{+f-ǹ=芢GemD$}u us<=.1>gT3 4\ľC* Ʈˢ /Kd.~8!$$$KFm 6ӈߎo'ơߍzߛޝk543;95˶^$C4Ӊ>Ț򭞍%O]_D68F@}M\DD*JᯩjK)/{؎H&)v=f8|.d}bs{4㼥8/0N4)lf w5Z%z}u˛*׀va17WZ?,xN6Mof'1ζˤLh]Y\*|>7a7˭q,1f5fޖ;!Uto?mƽFRU1U.,~wfk2 8t?f"O\|`1J%Tu_oؕ {o¯t<>?=~=rgwvdbm: DV;؆ZR.I=|WJ=5DI':=ΧUIZ H)5 a%Ҋp0)R.&:Ѽ3gND-ыJDleñ8Ƹ;NYMr]]260Cu:XSDLcZ#%:t1nraaFq:lmD!XđA=G,|pܘ Bt'0 <f#HR4S$r |<<T}d J/` )7\L(.AJ5 ԈCqmQWUVFaA Y ^p!'.Q]`!vm\3H'8p`x5nzt:DBk|HJJT)`@zIv_Ab,Qሓ5 +k!Ԑ4S TbXg;:tQѧ8C<'cJQ$m<0:d0h;}(w 鐇')Վ{.k"B>Z\@pʡipr'F b8}oe!Л3G?Gw8ZƋ;K&`eq$ފv˷VGg$BW+E$F Q~ݼQp'[ާpAz*,hk{x=DtwӛƇ9?ߣ☾%`BX^uGHyl_"JL- qOV3Q)33 y%}ϳ+?x矰|pI6EaY'#+>g7IGQ jsS"GJ,206 {4P/nA~hLD/lG|YkT)>9E̦D  * `80yHA@$ y^!!>?{sp3֖ۥc55v9TU J-&R i"Q)BDڵ%--=e>TWJŃBI$$ %H$ RBH}5i<:"`hJ6Tq#?b[8Y=w׬r "W3وG>=5ʈ$hj$arو$tuU6ILk$HV&2jZx~byGa7A5GI⬖<2hFP,қ=ݞu6شlsu5u33L*"rӉ5i;rs|b<.L))b{7t,Ha }..K;1#:=}J'T]P6CyS}Шum/'H6#/%+NNy݉랖HHS:, /ٰGLU?kWLP4>1΋?CD qcay̯ cm1wAk, aڇ'H NC(Z2D 9\(5K$M^+iEC1Nx9O)5hH[Nx0=b Sb`%d \:XxdO#9Sy ؟TS B.<ӑ\:ıA@|_9 "P<н=!(2GK jDOo7I<#N}`gCY;AY}ûP4h@W|=*b*f"=r0i{+SA,d9Rh5ShE8m eᵇxʰOERY_GۛT͂ (dc%lf<Xccdn5n񜹕:'Xol&Є%zq>frf䈔l2J dT9%.:8[Xm<$lGq$\BJGܐw؅(`U}(==?CveGϴɞ\C'Їu3Y4p1RVoX\ABl b=SMh euC}*ضJk  m^:;O}oؕX>ƒtRRl9w(t v$4.`7r+.\\66= VPüI%La I,`=UdḒhʍt8J$hI<=K$#;rӏgčx:ȝmNG*a()ӒӅf,znݛL|IŐMJo%kG;6J^"Nʄc6&/>Oi6Y'4;&xNr?]AI'sYP=MamWޯz#P>0d9dlv˖NڑhmF`uScNm+$ M,#vs^e| h-£z!e؛쀧~aV% @z{rYT`aP|SMf=H_d ėdD#o$9w|8o%G{|{[Nĉ%ڛɴl80ߤ9<ț(I(=^f&y$(IF~ "&$(i,@YG }Gphw 9חt?BRb>$a$I(D6;Mνv> ڽ!JGd9;[j `HH=f^^`@W#wA_2RW :ꪪ^ :7v>K H S;y`hO YGD'Fo94/Fn%OYGRyD򓶒USO~}Dz9}G_aA}eK< ѿR-!Dj7OZ8'T$9ƒ֐\qVbP zlj1*maH$$M$ETEK8NN#)dK!7Q/,r1פsOM<\"? a'rʪpF{?0>8S&T}2>Ҋuo>+K-]fr7İPlvMo!"q~NBL6A-$HPSDSgz\;ؤ`ʻUMSPv$U1yGauPP`В~?0tI[|_k6#"3y]b#aǧ0 ) d: Y4'z܌pQ*]ȽM!XOq 'H|Sp[#xO$@Cޮ^I0%q; t}rsEO)ab(ݤTTqeVA R |^*G%*?ٓH h$6l*QY4D}%ጄo5e MF}$T331>~(% Ќ ?{<U39FPgMUx$8| AUU•LDjZ ԦIӥ(v/<6""%""*䷧6{ue{i0tO ?x2$|zg8zXrؖƫM  8b0Y䁈 cB)@}X F$x!H}GY_,tn6sby#yocdo_'yWoSEw^$|n֚6OtD喏s-4g!^Ge#+vgFlX e,m"dbv&;~<:aEDvi#BZ$` pxOV_O@>QA%zΊ%(?|Lè?hG\&'o=^\ke:Sʍ-'33Y3ݕB!A(î$I&T ?BC`m2{CO_I,N$ <8ēnlij>"~ ٗO1 T|TjW&z3Dn6I~MH x9vu&w:^ًQ}X0޳_Z.m9&}NVJpȉёBDMIv1 =zڶ4jA1uOX|x_>{u B@R.%̅PI?`]"8wxlhY?)uWG!b,6 DԁA>-G"Kiվ [ s]Vͼv4rG!4 0 _`8(>2NGn| s0NMHsb[8b5tl`2 V4ʚPڇx'R(b"!fz-zQ ?n c04>heG)*$) RIBH)(wV9X&o]1^RETT2d Dg9nCxXdL^XbƤo+ɢp'$$O;6)g CrT\5TmϢ( h4&S*D&@6@vAe'Zr5=9#hu˫=?93İ1hr~ȡ3DfJ3L"Q$LXC?wR~_mAE+< z} %M  :@͔d0ERzP#hpVOϳ+ W*L% z?/}_׸p>\U1?r#&M%ZEvV6YF>^ !Oz~R#(GM[}?}C 0Jb=A_IN.!IM#^`Y;'gz䕋zxN[ޕdGX '3a"88"UA/NV=k:F\/!HX;t$lvd_Ax'DHߩ!4ixc#=rMJO{x6j3JV6?&a&"}_~<$9 _#)#)jGe(u{z}_=P4֢K/> nu)p8Oq! v1o|A9 ;!l );>8$RZk'J6I=.:Mx{wBաHs5zI'!=DDDtJ+˺ߗmwH΁!=aL"ьn"i%X#qԓ%=vGF%zԍxhNjګgz,&&OK)SA>܈_yq;HrNlܪz#p ʣj$C"ԓDA,X0%0b@x 2#9 r)z<$W^芍RB8X$%$IKNDBl,2m G=hUF@gdOX{GoYTIOV2Ji0Ra5_w" CH״*i6܈0I0=*mN'{g}}2kI =sC˜0O]:IPv[(P32CU%"f5 iTz!,>')˔2ez5Oe)胓gWʾ#C̏/1$~O~Oxh59RhÜR#I-L W|[0ZCY\BO:?`(r>XW^XFirAcj%#jcDUndX*|7C62F(QT4(U'A0ÄTeljq( qsP@C[frRiȥ$nH4R0+^_Qfh$`(>Ih0 |> Bu,/G 0 ˇS:|pu<,VI!v|0}qbrgL ¤}q'*|:AUQWUmQ.R4 >TiЊ;h^)%i&@&U:C)/A̝1@>US*%OLWX< 9]I5P(d͔56;BLtD$7TN$HHxD92+#Im#ikPi-$(Ia@׆`@-3ũ&F)I ":x/~OhZ:yB@g9l VCQ%UX;MV\|O$rtFxMp>'s36ԛ>T ^.qܦ%9(j6bdҒ^dID~O̍+쿾?1K)W@b@?9`ۃK R/_^dG#4聛C0Ft\rww3qԠs)"=bDw Z,XjE'vGa0h~M勅>Y#!ܨp& LBKQ dW^/_X8Og;0#Z޽Bޔ.CLE~N٦[P[l3i('?!i ԔMyY5)/u r+:kv@C0-_8*#RG-/3v3ߦg]380TLF}7:zx/PpQΟMA*<$dD?XSbP>(b"`d@Y&ɴ59qgp|_4ALl7h8X8p|S>?SϺ !K9 ņr{R3Qu+Ic*(+˜>rD?;_g B}4%--KNMȂ=t-VxÞA=yG7t/cB`(uߗam;t06er=^6\H#ʉi dNid TXR,RklF>&OCskj vH0`l[7I4s%pN.Y$wbӻM֖eXYU`@ܮs}|>i ψ6>uU*y'CG7|QUQh9ӝMcZj+/tĞ}z@aBPPBДcbEj4D]3H9cY)DB60l pU #SjX$$Zc!Fgw L,ËJljB)4hI9ͤggyS!_X1*4aDu;y4w40z3mhl!wxhx_ZzD<NEs !Oq:pv]"L;[*% Aa!Ԫ4;Sk9/%W(K |SN UJEfJY(S (JJ̰$ 쐦1E݊1X~ Lea`y̹:V.&pƋc` >$!"|Du%Q;uT|as> DC jAEēv1$=#b; X_" WP{>F0A۶>X;tQO9xFmí=j|\u{ViDT7F,!'U[wT:c"?k#ᚂӒ;b~Kc]N%h3R՘HMt$I\ݜ6ab@}؏T;ybF$xfA" qញ8XP!?^9ϕ(.', $rOIy4%ɩF<#&%2QGJ@]&!Vd9M\;-"TBsb.Q5+_WfQG 6v΂=L"!&j[ b+$ƌ,BY52]ɶ %Grw Ol'֒Ã"̒ <%4*񍴉d%X>2ДIRHN%L(*FG2@$\QHV$%-nckc4iXad U=Y}3zF vG^cMMD:I$i#Hcˤĝ9%[)rW<>9BwTa?t ǿ\x0! $5f<K2UU $>̜B%$kR8KI3(BovA,6j 惡q6ߺ'P+;A:>KlޢJRyٰІf38~ u憉ل|WY4[%EjO؁~$ ]ri2J^;W"gc$u;);2b뮼AVQG`#ajq᲻c9=߷/M/J?s?=-34=AJ*H` oꟜkLX"&?=i I|=f4aZbfs]ۮ́eטܩ40KUUiD7hqPm? ꊧ'FsQV%Xfgܶ@naR] %03 &M[-$*ǒt_{h(S*h "Q2jbG_J.I(ұML7CiXpPY7th M#|CԣV/wꆬ,l `k+:+DrHyTMG ӳ'Smֱ!$7Z=ry*F}HRc_`:ن!TB#J9)]q<5uf(1!˸9HE * #uT5 ȮJ^<F9-'eHWqrr;̈+(ggIt#O$ZAiCҋx<9̟)SI{&sM旳QL!?a_E';<}*'ϏkX"'%2Fh%Raf Ă7w]w{PsLGr)8%ĸR!DINX#h|*R=tts^GFKԈx >u;!> q*Fg.a1c7Vm xNBt P*kJAڻ(΀tի^s%jVU7:EBaZ-jZjU*"ب։Q5UNۗ7Wt(iӤ񌉈<<.|5sJlenB'8Q ;zzAԎ | zA^:u ?.7Ÿ =J Ieni9˸ ˿PCwƘHDN;61f)cuy&yD?AFc)34uz$E?7>%Jdҩ6%[e*i>C BLoXT"Tm:ttfm%/ 1Kxĥa sdc ^@ox! pO(9`#&{sGJ^1L#~{,;YKObO!N|$'}m@ɇBsXd !#N0xGuyAk7Ts?׷!c3i5ªI-% h|Qx{fX%b5|yvGKGc蟥:-"mOC)x!Yy Z?W FМ#qQdjZp#vlDg|}v Lr6fo:|4sI(M}=zFG24&7V"|IýG#g+V;LD3,"D1Wn=N]%Kҵ퓓'%9=.͟Hr &ҙ f1٤9YmͩOI*pO^oF}yr 1oj X~2^S0BJGf5H_o^5|/c]=@=~Hm/G[)"|ӷzt<8#7t#\%xI7d$ ftU6͇[;#>>k=-$WXZ RamB)5)vPB$P>>LR``KeJ0ڃ Q:245UniLM:qnsY#Yup'S'E?Ow<%w~CGǪ'ev)(Զ3$=A_ӕ缇 /yו<%xsf !O\yZ\{b+u$ d&?=lͩ[fuˆGMG;AUiwßz L/g) Q|3y[IJ&F ΍yu!Q㥫Z}>+8ѩa1ȜsW*D9[3k^oIYwIW?R[ڪ]o0Fí"8Cce@ #Hx ld#^asÑu0-%ەuA>OtD2d9" ZXXg]& BP% io'$n$ANC=>c-u6+Xk,2@`9lf.]xIBc;7%MȁVoVʈ"E]cLkv"BTUal5sd^"c`as6f\­JRN7:\! fT E/PV /# B.x<0Gz)OvCt>Rm=ZH<Ї8;+n$'xIp!N^;qm/u9?$Wcw o/j,|\]~ʀU^y:^1l ̹pwlsadB*(eD1B5loj+ȏ|,/-w1/MȒpC: Z$r |sǦl`rЇ%}0Qz倓_o 8@6*DJO1UE*@J%OQSN\j;=Q2wASZi ^6iI!>$䜐#W2nsS$]R@uVDPH )Fb/q}^C*pvr.yY)% C~3f=nz&:tWdعR'sl)l CK@"¬#Ab&WmiuxRt@Kc" {$Q47TzGH|hJ8Z Lÿlmtvs_by= 3f*("Έ4p8 "h7QטBo#sn{#ڲp]V5p4H9֩bʑr9tA:)A2`%4D"Hs߅o/K.d6+m$GZ*b=۠6m#X˿#JðpH vR1 쑲=&A ( T Id">7 a&6Cc64HV;NUw40CB('&BzX1T麹AB\pKĜCf$AvK,#>(]BYIYaP+/m _ua5Cn"i*@AwDQl|R&<Eޝ)m RTR8(ozJaGi饪=o7 u<*RB{xvUzi'}~snKzWG/?{RO[?뜏ot8̯r"HL/_lu{~[]䉸&$0HվHz?nTҌ3`P1^9G*8A*$/Li POL=@0ɳC~iE%?if48ìY}W{8i{44jlK'k \ݕ>6Ա2t 0bi247PvI `<6 B K!ET8ͭ'xR tg[^7ۦIQbm`H}|bZ)JPҙ~߰OC/q 艛0ǝ0??, N]#x#ՕL22߰\D؟MD C2bCߖ a4|_Z`=:1ET7Zƛc`8eV$ byJJcChd[+ \ku$h VOl\ (:7,΁x"Is'ѭFI5/GE }yazWf6iư?>dﱅn֎YG>{ $' `ƚ_S? <條 lc"y DKAВ$ ' ~]4oc\z܈ӃHP'VdP`[$WdoѻܪKْ~$xq*H*{O5yKMMÌkFF62@s(m>N?}\wxj>Ϲ4B-0+>O{Y BAQ(2'qc-_[VI"GmuPy3{̏-k9 D:um4("Q Cb@$S;Ǚɀk *~]P^Lmz^V\cf)4Ew$9O"ˍA*cd !e4`MY*A mG5Z僣gy" 6rU _ JC N-}#eq$ǰ!5"guiX6sbچഹ5tB eG9w?K]s¢ RjRxwofd%!H}#²> 4NW$h0i=]DÅ Hj/ ʔuQbuw9$),$OkT), Ĕ$H=u؟*G q*ƍB`B"P$KMD jQ9ȆՍ΁AdӖJE(JR"[b,{܇߯_gy^zF0ڿWIdMy!@Ob8[3vm7`$kfEݑ˽_,ŭh `bƃ}_O!PM[jc@l:qbCwV}w Bqbԕ<V(eBQAq=@RN9zΥa$O4:{0RJp|M4MsH}׃ N44O}MM𤋮9#F1şֶ|PY-2ȟnD4%! ȝmNZ1cO d,C dr2fB}/*|g??`e ^<p9$d;.8WH$CP#4wFTob".Hȝ5Wd)ۍ`[F24QE/pW ] zg&dtnr*@QpىmUWd8jd,VL02o hh&!%3b8 M/=Ou0qDg~큐& 9tQ hR*"HjMW"D-)jKi*hAL: pn2V4 AHK` GM @XvۉLʶ$ 4MD;a $ JJ )ɽ"o]dZ %$جYZq'[O0%Rܪ P͒)ԇO0ھ' V05\വ""lVqFѱr %%r܎lM 9,2u!%Naʴ>][E$ C#H4^0':NW)a*cr1 s={>gs9fKǮp&&o<&o)@r) yvr|8ŶmU{-y?wOwFWziP*KFBQDch(O9PRڨz~EL`c`} c"oꕆ$]lvJr.F zONs 7ܕ"EL7S/^D3ä>dHO_%?nC&r[Bؕ`nOkgܧ#zL0'C$,L?V}o6ph{ђFB6_/TG /ySǪ)=Y$J_0jZPXz$&=߳lzJ}"f c;Y^?G {9q3 <,[*+w.,CG'M~2\AM-[ޝU AЏY@/=g撃MmG'v}0J _Ą5;Ȏmlp}(?d'!~ݓ>SoJ') D6~= j&>F'ra8{0M\?z(E4{X Q`$d,;aTe1`e3:PF,bJt H1&CKJL7 $>,:_:j5,Je̬e/cFÂT>KH`ФHF\,A@A֧(釜Gș"c'ԳsdOot(R܌"904RlѨd}!@[:ak G4bo)-dƐhaczOi6R2s"Cb :ZC,VkPB$a7* 9 8st lPzPH'*\ ^5lbHr(B텈 ~[s'e|Cߜ^z($ܑ>zyN$=8?3<<%VN as{$Gb7( R667Ƙ !feS߯9k3:@$b_1BDvkѮq/Y >25p՚nK3ټagM$#0TQ< RjX@H$]%@:d(mB,M #_ʼnE(lExO dI$x rQ10*ejwQIsk.quL:lct7<P%K`G$s`~2:\wEQ>y=Cآ"-ȁ-UUUJ UUUE֋<<=30W;'vYYt]FfÀEQDH^nz=cA]ҫ̋;c[;Zt&ô⛘E x߾86,F#Brچ y(GI$29c7am?I Ql]6d~!nd@6 怡"Ff O^QCP JJuZLQ~X6#L(oDyD#f@ ?aMѸ'ӏRG5IuC.IQJEQD,QDDD~>QEH̋CGbIII@8 **W;ئk؉jEPĄ̡ H)@P @ JB$DJ 1k4];{JsH$a❏7ǻү}tsq^W&(B, AfyuS7%$(8gJA{gFVX슍 *(uðpe:Es"CkmB=lr*)lu/B)KVIx3a}᪒L$^8̰(w2ټeGM 9FR맖D RdйK΀t=8ULU%E䨞D+OT;+(;>sۙa僔Eh(ZT ( Gd%"Rq;zהhҶvo8j x_5Cˮ׼ќ$xf\i7 e\&n %m%)Ȅjl%D$oHVMO>2 ؅~mz=вFh)iCMNG/Ts X. #Pbh-$1&@ݸF/BP8O"<76`9rq0Ac.j9s8H9H[tmrcw xBX&< UѼX]˜_63x* Q HYc&B㻶lzG*9껤si.Z; ݔeEXCWIv !xCuIjPɚ%y֑$tH5+cm4Ry^eIiSІQq=]cFTwcbJŧ;;uv6-ZBCFSa^<[ {bM'#gn WcQ5=3չ2HE;^|&9 Hȳ 1J!ayXNC6ZszRH9H8'xdpP:mב0>pq03# BL000 B:@̇H. e`R IVUd)Hh'H!L(0FTpd$!Ƥ5|BѯR?QO H :M3n7=1)JOn (&:XuWTNϸ4VEY sdT2U# "*7z/t*I!~$\4X!}H9rq̱eG]'\#7#~^fbxFNQu IK)W׃:q= m8U~=l%:A찜fjFA[0 LM^wn[rQJʓ6/ŕeHJOgTrK.VU>cODcGe2_kw#1f"H'jr5^┊\ 5\ofۭ*$ 2'(hQE'i!ߥr) fG RS܈|GOQT1:?p^>kX$'Vպ>hl}MĐdY/ݪ<K 0^~O-~=:1<=.J$ Af}}~/-UUW.z:/r7vʦ`ݻp\vrlr&!C@L6Ѣv]]۱%*nvq9΀JsyBZɹ¥Juac4\+iLpXTb6rC71Do[ۜ9sۆۜysn)m.6mpp9s+uWm:u8ܼ4bpcDW[mT̷jU9(34⦉UmgS=uҺ+vWggdlglԌ,,D:m.vťƑ!BYKL$6m\mkTiz<=Oj<`Oֱ>^*9W˛*$ ہnd0 J(6:d} $X*`{)̃l~0%]~I e6xw$c)8j*RZJi7up]EE{?a?YbEm)!$bi+`uHA,C(L #$%R<"0M.6JVZ$8 JҲ/ ȼG3lA1lcZلRAy>q4@T!ÇQ ˕gH>(@kF* w#Ԃc=^ܢv_8FSz}6Eִ(N$H}Hܤ/3SBPT)ZH}!p+ jS魦jp/<>Mm^R|QBhcdcN6Cex[ 0ݢBz8\P6 򓜐~u@T)bDDcQT%䚍E$RK%F9(/dæjcNTލ-f-T$:  ˀN+A'b:PGǝEP=w76VznFЅ<ϊrP]ifQ#F^K'9iuBCYIB^ PM@mʶ3:tC$HNW [::rU!̙6`o  ,o-yYBqL 3q;෥0DqhxY;e'rb{ƽzD#D(3ϙz[̡4> ;ӝd1LHAæiTJA@d[wIGh^d)(YQGCt 钅SոL)SlK!CEDo$%9LA -vc6|0{!j Y]-*Tk"Q[>Y"d1?xVqOptO^o<{$!Ld$wF5 B8ty=Ihtm+s7Hx9 W8$v x)%)y6!a 7 pdfٳyk1'SI9v$GdO_G/dY QH&~\nֻy[byg|솔x`ҧdelJ\ptEI磼4z"{PCiZJ)zo!U[mU0dY6hh" `ҦY Y%#b[!=@*V_Nj| ze ~+Cw{1L/tby+a{y~;a,Pb䫗.>Sə)o&I,SY n^{CcC$`2XaWUJG[--dz?zd2ՑN4Px>6!&pIO98qIG[6% !^f BOp3x0c4nړjō&s QW{ BfsXW??r^EYDZ {wsK*q0{Nzt԰> }[5'v5m{=*`>^-߳f`fj{rD|~M=R'0P\CآTulw#чF|=|jQ9W_?R&G%|" =ϯ3g)ճגbX"=r;,--nMEIRUQ8KD35?)T;x/Ȩb>Et>]}?o!*4Wh,Khw z )>17MD(FJ/>q9)MDR#ŐU:MT&P4A1 AP0Фzx6qL%0_}.۠FG<އIzc-G{c ML2:j9.5-_4 Ѻ{i/fq /O]o'vfxDy:wXI߾Z0+3㻶{q`!ȸ8rV,;=l%JP[-f[,oqrp>_SF+1TTESUmL1r?_Zg XzGD[#*Jwaz){&LihCTs/Mf| $E_+g}P4t|+RMo1$oޔm@['0fVCn('N.0A+A$[džPB$H΢ޛwUƫ ig\(k1A٣7 x wڵbyqy\j0]y#ו[N/_K @.-snC;& ݄Ő:) Wx iu;bv0*Ւ?h Z's*L!q*xuJBםvQ;^3-:?A t*cZX(KAA4D<taqg秶@I]gZ-iD.9Aew^6̞ͥ DDCčnWq8Ɖ` %] 6hlpjo!5t W{"ou;µF/ `Ƒ cH{mzKmqnj͈۬ċ7]'TU 4qk͞ y" %x Q0>$Erz͘t@v"I#gx@[bp B$s'>~ZG扣%5~K72~ b"H9ĕquPPٻR]EG.R .}rnk&}?P wd{$ldO/L5`@7N90s$vfe z cG_2Dfeqk!x@vb1qԫlk!%Od#ptG\ϧZSG:Q{^|>,拌pw46DLеƙCJLis"=![R:!T@.f}$y)MU9iy=zu2ic;d̄:U׍<{hQ0#56ļ/1 ώwӎKܼV"n)7423j1RxPrwը z=Y8Wj\\k4[UsΘۡqԦYk8B8eECXc"D[hb1q3FKݤPY]gǧ~<\j,6އ( B;⸪`#zPF׊!lP (4r vsr_SkFwߓfl\QJE;o+6fYDRРsg~ywzkA K Q xSx5]Lͯ.{;(sܐY/*$63uSSg?/'Zۡu0U 3k66ϐhgÔ!!9{ 7 TIxV$TJ8\+p|ro%QA<~ 컂| f~<Ԟ]vu)qݽ]eHih 䄸%%OO =UF:لZf\cioOvtz%61ˡ @)fu0VJ;q9FO.v똬|身d-Tq<& ForSG@5X#r@r#rN!#IYϩy֊/w]VGUnpEEeoTs3s)~|~JIVH&2?v{gH/ü8ͫ} K"|h{406=`SJ% ` \g2NRv7ZQ w oc{)\V6 `},)]w & Dn$$VB AW=cCnd?𲂚Or  RND@0?"&)h 8P9s^3 $JD@ }%4yH~$q죏DGEު"cbPBe[܈=Dᅵ~wCEPgsFrcfo۾J琼=jf9dLĮ98G$ATBR).Z=tF9>xsg}LvzgW xNT=({r&~d=L(k -&<Qy| CIkd[G^k:bE) 3amfhh'Y# -"r بY 41Hs//˞C\MMLS#Ƨ1v!ig~+ͭ*ױŚ9t h["qVctLja0Y |@==LW=Kwow䜠8}5˄=o82CC92ʺ) |1B)> ̪ *WZ @DKRIx8(7G/?`]*#(\DYUzwz| 0L{hHikxص(1~8iI)\Vew&0*BB-fѓZUI ~p=lK%,L=*Wɢe[ OtpBlQyGTNPbHe#Q: v7XR~ #yIL/JY&Y.d4Tx~4U C٭t6Zt[W&O `fPDb}ٔW&a"bHHh%>iD䧯ܢ_~$$(R,Q?v$Yj2~O{"$HiTpߎ`$)'* 7 ZqbIDt|DD @l;9v=:G>G2Zh_wuT_;<¥M$CTQLT0 J̧g?a {$o,Hb*5 IRlXW|8Z<WSg^"  ^}b 5lݜkPO}ܧÈcc:uȟϣ3 i @="I=2ϛNfu$wu^'5 !JU HD 2AL *TRT$HR*K;_Lh>:#:֥Ԓr?mǀ:EIVZ!f}U#7$)ޛi~ $$ò$Dy@:"u4ʩe78;TԬWGq>\xQ}C29d73M6qǐkGXn#LIZ ƈP (u9šD5a-A s2S9l_Ƹ롑$3$ʇm~tѺiGry2Oe_j)S܉"/rO9hJw9I< ` (h]t|̏YIC5I99AM LIBCIȑwscL94鬚Ns,I<3Gr.IdΜM|I#ah`iB1_pO=jR`H3gA]]R8fzlMn7clipUR*pyɼ FAD udG*c(.VK T;D"Թ%[5CХ?!POTOEǪ%n/iΤwHI*lshbh B$~d JBF"F!gG>g)&";;- x|yRIʉrN_t@liwpTO9Tddd=-yl̖̆wJ^xVs3wK)9$ ᒲA-%ə6p4fpu׋"A)DD?c$]:ѤOLHi*+G90{AN2WzbKmpk6d:هJsPiL#j䘚]tpY*Z/u hƹq0B3 ޤl1w=GH_)2 $8E#HD$ 4@B՝hD`.-&- bd )4$j -؅ʩzIB%iPfh `Q@(`a@GJ!H H8wۡI`! S>1%LQ xr"@B^JdtH;f42A_G=!s{S?6:&ci]v]N7>2PʖMQ/%r`˽Y~iiI6Z(eY,lF[j1FP@1D9$QolD]+eR]Թ 8 ՕfQ옧bBV9vE= @A]{3ִ:ˑl 6(S !(`еq?\8F ĺ=4S8n6C sLrCJ`ɩvU֛7!6 83®%<:Wj N; Uh'**v*v伨rפU "0 9!)Ÿ4M(0|́H=AS LSTCUMUDUQ~@9 u h5t(%/aTDET{Yª2!bDi&(@`D *"Zx4qGm&;"]<)О=f{#@"I9g3JWmjX}[N,[=rNaf3YEQWwTM+g5ȃ8ipyʚ;T{z:S5ݥTidt~_T % \`TưLCxCL=0u1(R4DƱbk u'(_!is$\l䑢)(X> A/OjHة Y9L!\c*)@L $@D0 R4I@?҇AeLb1p5&65[oE-11McAnؕj`oX<|ejأT{{1RZMC<Sl@<Jz<y;Q: 2'!LzOĜGznWQ`QY$Xo88 u= &1SuMjif#hՄ1)7DBLDUU3Dܙ6 #|!Q*$F :8={~Jj{cǯqNֵ00 !udy 0JZWP7ܫh +REThCpva(7BDTI((e鉤@?1ddStb{6>?~yS?eo}nb@<HqClyG uRIߘ&ʪ&?!Tn"(* s܂>frPO 󿽧qZ})H?)ر]>4&A}{8'r0Kow쑩-Tၒ-,.X~VZQ=> #CI8`oK {ZGc"oBB;$З$ɐ{SEàZP_Υd}X3njr$15m%G٧c VIgioLP3X<3F9)):a3>ꜹ/xSy;=S4gw [,EZ PIՂ??8kBu3ɂQZiETZ"Ԝ֯XO3ҧW؉}w# ՂJ珢OW:,VLnCĚI+{=Z[ ,9}_Y`pǻѴp:i@Ua'"};r9{dTؐZh|l^K wijbԠԣD^s V*U9]K)ǃ$@=@y8a)"'Ԉ@MN/\LCpj\v`=S &dwJ92K&Pژ |)|`&h9H=DI !f]mkqtСKPփ/AWT7`GCT;zdGp?u;QthX0:&utٙ) c/54@QajHeqw󫍢D,&z1nf/pz HfQdk%NM0X )SA 4$h4<Ӝ$R -zs3$Qz<ƃz$q$Q+\f%D$o Kd|{ =rqQ |vB)[ˈ&c9W1UۻG]xƆ0airͫ- Y,$05=}p؀zT"\m0];<.{13@Hj@*)( W9 9݁0~I˔NŐ!JxQʆ "`"tpܔ=}f}Ր;Ù9'dՖ2ь`FV " H:!@4P4P% h 2AGH DD4HgdQ ݀8`("T IZZ;jE" $)HiT*%)"bd F"&Rd  bFb(A$C2$!" GO?Bbaj9zQ)$"")Y2I!ES"Hw]:1'QeHY4QmgcK*ֶWAIerQ܊LЃ\IƔ6ULK(ZѪu.5~~|>%8oXjuMpcBӂk@>^pI /b6=\.t32rVޓ"93*T!*($)hVh&aRh!"h1 |KdNŒ!2V #B{z圏9v"#wOlm u:zW\c .T>$RcxH֡ow'BY#D5ێ$$|dOXT}^3t{m auDd!"Y dH3*(! )(B!4KЍ>$w[S੼L WFDڃ`#ft -w0Ɠ[eNQĜC~3;̃η>fAg9Rؘ# j)'NmTjCמ! G%$DK]>u0GŴ5^||VB6o66ʜTH%I Ji K=eIyd-ÊXSQQ`"mH]Yjm>mc h!Y$mJ5F>*q5P\r>~n޼(0LМvKYJ ZQA2baO8<"O ZMq>yIx1w26AO9`SW-QW_8zȭ>?zNB$#!$_Z+!&"+5b@!!;3@00[?IˈLoHmKtS{t!w$C6n }J~{G0iUӈu3"Q:ԽS>#Bφ1O= -qpzY-u<erM}aH[i,.nR хfDJ;WTuCpHm_m8]2"?Ks4gjɲ' g9 q>Hyu2 -v֌MZŬ*8ɤ3$t;(/EA3Gʼ</N8>/-*;>c3ZKYЗ?4+s8hs/R X ~h?5l[H- 4+!ڏ u?îRV'ZOMgLh[gܕ CbҕIŁ~nrQƥy)0Q+1544>m]b )т ($] T I`1dMS-U#m4Y V1$S%qؒf HJ)a0ӥ)(b%ܹ"a)bbb$"F& $ijhh.4[ * (+A ub"-{P7ŠY(S٘ebA*Fy<-K_ԎM_wwDnv>}V 2Mh>z(_^ʿ>IȸICDruQBb DG ٕ>?e$wa4=OH;Eх:$/&V! IDdiA}'d$x y d¬<{Y@}6H%B)f#!=K*Z4J~'yvz9baj8^acޠڮ=<Ӹdz %ώ02D8L, +TL" HZZR!Y i@B! ZEPQF-6adId㣷~߰J$)T.1?WvI~*$dy]%uP쇖!E;VPd왳)é(;Ħ(^AcgϿ-L >$7>:p%j͛`M Tj}lQ>"TGjņ&X=$8F~oj1!'o|2p8?8:_8!̪t- ~T4D ?'(o8 \u$j(,P׈Kk^2K!#/DC9`^|LjA ú<7ԓ$/̇P +hxt5JBCMѡP(pB&@zϹqMN|Y%1"\3a$x1s?рe*dH|׌Jbe-M&G,9gGb+d 8>{kkrow &mo<1.9ll]88PyƅtsU[AWgAی;:-s'|vy WtG^K~^;-?$uE+ľ>cS`RInG-1MҀkOˡKϞwy047-ah57pB@^؏HN/kZu`fm`ݘn|*yy;w+ncd((zv`b@S)0!pIBQ grUFTٙ=^g"S!I ? ջcm~šiIXHSR Z0\}l$+vbh  nѪ|4N+A<8Dl^FX1QUQl5߯d91mC1)I `IqCv!`֞T0ܖ99u0 045I)(ܚ+2]z''{2Y;Ci; ũp= Ã3y9 W|eGˑ:9^M1LTPAD PhPh,{u~\mWMU !R:$& 8ZqO+|pHpƍ!D .#N'^zNIRug5;jH gwB8WC+bCN</qS>PUAyѠ~Jb@sea`>͂?P ɌPH(+JD $B-ЃC2QAR$$ l!"6q 0L!C?bJA(yڂ"PDF "%@ Ch h`?j_%И"I"J@(HJ.BJZ=nNpRl[ѲOVS-?_]W0JPu ΚE磷_Xnף{Z@&IGHT6̘.&IR^n81@e̊ Vmb͑y6SgIC4ܱ&̸ma647wM2۷X$ͽćKtAF{n:/`ŁKCdY6mAfȲ" qCUd9C0b0Wgy{g1tqpؘؑcz8ۃFJtxd)C/;UJk0,jOEHz^T<>kH?(|NGTDEAPNGFm ]#{uv0`$*^=y< Ui"9{x<֥5#_=XR1?%$@ OwcJ|<2s$ @,<Ȕ&)͔)Җ5'Ҿ8kS*J{rFK)¥9!;#YSbKCOЙ>dc(PU@4~D!,_6"1젦$!KC}ÇD ڌDFGEŢSfږMKr=o],0ݶs2#!0’c~GES}3y!C,* QP d>rEbV ?qn0:HU)% Ɔ2OpAA$r. %   `E- A~ şO9̨#rOg4!;qzInG& \60iGF%bdlC-ѧT&8snBTC/6b7W=:n=o9NX8] : AAclb/^yɤ=8*(O1DkNטxvds~FWIJNg, y )܉IC'9@{ tS#nvS^sF]s3`;פ+ʃh7F =S~/vt $J1ɉ9r)_|j"*a?`Dh X B6I@sfr]Arpeݢ9N6 <ٴmh7_ ,naJMoπBǜG稢Z-bw ) +0сy<=y"5 섐#R:Rzxpe{Jv&("ͤv̠@œ&_.&b"9OEH :?j pidpt$Yw4.dK5 Ki"ET0,CbMcA~kھx{MAK 4ĨRRAw4o_ zz9 q!lԹ6D)IԋґLqc1ȱ "RRNAva((b޽!J+m6e=pUfg YLLCdGg\G,:M{[v* ߮Ns mm(* _w16Gƥ/x0a0Gq(tR>5 &4`S0xe ~!;yI ߣ0hD&h;@i Z@6[K^Y5 S$(Pפճ)RaUM8%Df mUF]E2CAlH\}@7qowNbqN[5G@;Gѐ5ӶSHxO//;.B,*lxN"I]jFm: O,3b! )/郟Q9WbCR22b 9Cq?Dℝ;@hD]FQ iwyG!CMQ9蘞 /]ñDBܱ'׳cG83Hy U[)uRmO&V=XОIYŇOM(e q10@ Jս٨4`@6k0Qx{ $f-mSU^4ݣx cB{?cLq#Q5r8[{Vq'@%fa׭؉$e 2N0wmqgE猠燩*N ]8g^?L>;R>tyt.i l>ԢhEKc)ACȪ!^23"@^?6~X^'yʢh j!r]7_<7H|82b ;S3 oDOj?T|]֔GVWB=}3I"|_T%LOF3Vi.TɈ"cK⼴/1~q\ %F6<Ju)JH$?Ux9׷!P1y::D2 $i TY teѶ`0v!΋mNaՒd "ymb ƮhL/h0b $(Q\. k.HY!%]jQbD) Pk(<Wni=N8u Ɲ*>L7Gx_~|id޿wMdAeGօ `*4р ȂKM?Sǻ)*ya܆h/Ho'DD3ɤjQ/VsመO4v%{;Hp'^Ɂ/汽xNj;~ﯶ;!hg>xm;nE[Vx1)# əRV2{j%bZ0!GtΆ-?{dwjHKH a*{y xO4#I}hwtC\PGpkrRo=)^Ns4=3f:W+.cY'-qkCʐuvzi9 U &- %TpGAJ.^Ҡ1QևTM T9iwWwy}0ʉ)|UTڒ[g%P-;)ԚdΪK,!g!f=n97>.8Ycs)DCZu|sKUj@ (ƕw<@kwhMŨ e!&yIInt`$-kP=rMiIoftnwARK:%أ(SB@+h^m`Ah$47H(KE, 2DLcbA9h*( A:l3ˡaNˎ$  (U" z!X@P*0-S,`֮1m~_=4T"@ 4$ov &&m6&WwA ޙ1!HC  (ZW] Nr`;^ sfm|r'' Op`I8D$TѭH]̄OrUkT|M4'׹?I >  O~9 od3ݼQ:G,χ~|BK1yϢCL'Z)B:ye=X|ф;IEfk׹*2Sg%WK?ܒ0BEU6;9\}*~GsW΢|p]kv P=}>?P)I2P4 )110.wH< U2eVf*~>5qwc٘~x!}ȏ9DR4Q0M$W^an(4ƥ3m!$v}ORE[QJ:b뛁nS H E҄$I@AҔUR) ^ (I( $$@w|{,cw*‡A4y(px<.z` hu>l1""ky>^'iݱx}nG7e{G?g`KJ׻)wqk)SIO%!b>hB!dP#I=DhMbBzr5>QV{iŏ_8}6m6p8p=~W%Tbgg5:z4QCjo/o)crF@ L6N!‹#ݽ!خa%JY剞{sG8*;>xE/<+?5lW7?<oR`dDw@=J vn+)=IQ{>-BoWf=[jֽ۶؎H [5<>7Brj$ Zol{N@CWlH%T)O_#S ?I*QHnqld݁}9IlK E48l9:a!# D]uNEVXz/w{?QNˢ'{i >$X,5ݣE @{%c" 9/z>#Mo3B#3d_xY3ɾ SYia:p.,dpܔg iφrr217R&tS'rpx/ddƌ}SHOr$!rr֐y`nQ9VUUe2ՑUT]=>?yr ?DPH, MuTb.S")!-5%j\ a:D"Qʡ D~82 i2fQ6إN W^ ]8؁<kwAt QS0$%BBl J.y^0i*ĩsWF7~vHNb4BOhC4[4YD/*Íkw*'yK|jAf!!̄!@ؓz v p2GF`1Q^zGɵ}d<ӎxCMBZ7$+3- )$LԺ%Ӧ!u$nK*%9u5)-٫US1ҁR4I*Ȫ(\P(ӚtNH!o(.XcA4TT(J-DŽ^Yx0I}]z+ZӀzGTd/U;uzV˥?|)ud8?5nEJ[\c@ͨ;]<8[s4(H&aE]NVKTtd5+rq&ܧ ]b^ӼϨhcreV\ܴ-\<⓬:N^:#в^@[N]bBF4PvKqi!骒" 4;d_''IΓX1y>n^.wi.?A#H Bm!J :/ CQcNqZ *RǍxnL9(д7#){`wz06Wx`cwyzLJ8=TC=pg0E蘵u&Hr9ѾpKI=?NxssKU!ι# L%b))K$Gcv(XŹd=o%T"@" S/0DgNd<|z8܆"*}@z~bk s .v8ٝ t=Y4)ah"? ټ"yDQ3&ǖa/I5XR(#Bt%&"hc1 ( ʄ,/C#6 IpMI56GX;>}>+9 -aZM,G= TF~=oJYhd&UX\BvZKRcV1BVDāLo<+0ZփJBagp!_AE*(?Tsa[37{yxUͩy"k2sjDDN 8p261Hfd]@a2WbULDLjOh~Dm"Y }ul,Y`8ٖ[C:\1&IO4%R'9+,HA CK;ϯS K(V"Y.h2۩Eq1)88WJ@RR &Fw%r@ nfvՎA&54D$E)#?+;7HT`Q_'# $E+PݐҌ|"X@{K Xf!mT 5ӒQ4J&IG#98p>qlyS +de1rSHb ?l{Â\}%W 1|yRDpBP$=#S Eza0؁ILOȠKNphQ)PX&T J(IBhfR (&Iy{| D(pv].St.2u7 FhrOF2((M JD FIœDIA 4F S!AE+ 5F(61 `ɈLTؒ'4["XA(AH S#JHsbcS6F~Z;@Ͷ{ |(:{M9dѠ7Ĕeӟ~-=ar0?Ddgr4r7< &jY24fnٻh@QR|,F(}Y D(( ~ϫJJA"J2D, &)&&JJA"D*JQh%bT) )`bZ!"!ZHF$"QiP%& Xd!_ijU&Qy$8j+S@ڼp ʯsN߈SfSDcoW0@P ~!&ñAf0dTb#,EZI b  Q \vPt:x&)PRC։2{GB6} I@~K?I%Rs dq`aGr{\!('=#i*$JQbI2{ ߮k^|՛'\?dSS$wIZ`B|gՠܔN+:֠Ӭ3̚Ft!/P&F%X}SӺ쯜/ôNN/m6{( R`T)nST鈄 mY,M&@Hn^7N4oяRx)9Na#cܪwTSITU  BI Kq :$T(ќ(.EXB-yL+;$…솚D#̀hA4l(]p:VgX >q©K!Q(f,X"Q%4iНXB ebpEj R)=kq&IBiM=ґ"PPBDb"P ۵'"v%q*hŒ"Lㅷpq# BE$$I$-̡+lNx/{yP^ \~p^) >ءAG-,aN@U ~;!$QTL,$J +HBސC3E}<;n8SoRRdê^A G-]&&ZYF1RL`+! R!a|_9oϞZr=)Ͻ0.TY B'Ć|!8; po|եn(Җ`Lfa?Oq) x_ʣé  kJ~o印>}&:Ws\@BR%JZCLwlfXA_ڈy?v ޳ |["fNX5\CI劁E9iu7l\'Ir@:I߬Pdr]Wn-btby\7}Cr4'@Y&]dkʱ|Cb!bh44x\ pX492O5okuNʐMqy*uQW+{t27f$wMvoz/aGetRшR TAR7]E\q"5,Sp%ϓg R Paٞy  ]\Q' vGiyw#ǐԬZ6VEArvCf-m'EE$IiBJh^i6wel5)Q ]#uأ8[]SC:X֫g4nkfnl:ŭ Wh5k&4AUDI &"we˚d]V BJ'<I[yݲIXTQ@,Hĝ9ξ]> Uf !}hIO#/EM8 $+Rr%LNQ١9KN 'Ͽ ?Ϥj-u ŏϿ6!pXG% _iN*%H!*a_ H(T2/. 4=ʼ(!I>! @ L +D*WEM<(rc' -1 Nת{5QĿ6P\1?<#`bd퐢ʲh  ($MWb."'0J%Y 9آxX|\7ACH"QG#P%z*@'I[R<Be ;UPp )@Y?G=o?v?U0ߴOٌ2wޤ_[H"]4%ЬwqC BFol| QI@ ]?a>F'L }GG/?-vU> JУ"I9ط!:}|8,ְ@a)?!CBeY hbBbeH@}FJ>0@B% >x H?xA"R0s!}F=h#(*i@i(H#Д%-*$\"&B/4P(0#%1*jSB/4' `F_ً  % K!Hmόgob5%$Q%X>ɬ3 ~عIRB=}!2Y&064$O$BD% >eARP@'ps( 8d%%hC`BW+'ȃ%Cp ¯S H ̨U H4JD@ DPT(KTRzx=y~@1"[YVMޠvBH0ljBLY!saI#&p88Ui6z$zbJNR{eՀOhwQp9["<Fz4gxF.~hI&bN)>OrєYqe1s*Y7/7˄9S}1Qh[HIPC~~>ʊ""*b"*" $H "j co3E[4E5VɈ2#۷L B%`bۧZ $kM{r "yCo/<.A?ih=#RxMP{r@LWM>. X[Ƀά;T8 GwlTD ED!7zBwXj)d:nq4 Pׅ ļ7\OC'{1L}( T:zD GaEC$! ) AB *j}@9ƟqWm`-0 -l2۸nဨBCC() L=0DYC'w@~ H=HK"x#}*MT?A|ʡ R/WG{_̡WSAD##3 PDI#$2ԌC}V A" Cp!$TEUI $;ͶR8>Nwzߋ=}i?*A q "/}ꚦ7d 2w%3DM7g~r*NYȱI9¥]HBHp5_ׂqB.@̀|)# K-G~}4CفLS˭(޾ sԓ*0De8U%]:7$QD%$}9hX_Zc̜rv578,xL&ӱ jlK4)J0zqf oڣ>R+#d|{M*A_я}?3D"[0t"Vz~/? 4_98/_#rZM@8w:h{> nzyqUUtɞ ;pST b& > c)xpPS> r!9)1e;6;bW/#L3ԇ#R2)ZF jskܹ$f{”F&|9/,))P= ٓ?؁}^/9sϗ)K FHj7 ,\pѲb8]ިӰ`F,Fwk yh)u:{Sc)e&Sp"DR ឡ.bv60M&IH?d`6z;ib)L޴,[ eN~#5Mjvkv0Lfq bbq<[r|ϻ9XǺ )RLV?.sXvTvrWnv}Lr% mI"Yʧ,bTpc qrK4-8S, [b! @4 +{@Υ{sĻn)r_ ظB,9E}6vqS!5VF6SL,-3n sBweP2#/)RViM ![D˃3%R8,,F d!ScPLCuL>mj"Dɧf(܄r UR Uz&C#m!g֤860qeHm,ĘQF4FPSAS$}6i(ё|!1jv*!zpn14X_)d*@՝6n?7/:Yo'<X8pŒ>8gjrˆ{]LJ->=K3'Yb!#{˜O ~9>6$\+=3_Oxf۵4T:PPDQv4*`@2(*@"3)y<OQCB#"r/Kޡ ģ, "H;.Ϟ} ȬaK aۆ.#1G ¼HaW1Gȿ5DwsA;Jzf̷J{Guk}PCYu~Of9j\1=V>Ñ"=G$J4RJ>IL?j|qkݚMtЛEU6nVLڧ< ) B^B`x0C$>T"}69A9*T9̘+K!d=x:~I?"jXx6Cz}T8P> MD~.Pi} ;BY5*.56in$q|=Y~YfyaSaޡoU]4mO>xu 8$K%@@GY--Rɛ?I(LҐNc?FB[`L,>DϓѤP/V&f3el8;QZ:c7ȪpYX 0hQbG9+ool#튷׸u}\x\ GYʇ$(O'=2zp)1bBPRA1q+h,SOUpf 'Nldx~nh?,'?)XYn+վP$cQPԅ"Px{ ||41z_?͟ՒՁȣYEqlHE /ݓ7d:vk%t0Fy6/0x|6%pWT% P֑4(xw)ڑr}kZUkZ֪FjU_oT'@~BB 20P):h=f Rй #<3{现'#x{#Vn4 maX,L>>ч-OC0xz$KHd2UBY-ݘyYcKuLbG {=ۍb%JatȖbJ"㤃oߘgHBrlbTm{Y8IEMiLyb 082`CR!+h{E?Fz7"p  [nQA5\ɋabCg8UIwLSFzsƕ6t20=6G1i,M(KD4u)Ӕ8Ǎhiih=}EH A3%RTpꖒ RyǾSb-ݹ.rtX{=yŊX!å}=D>#o[AJ"`2a4oo$NKh=wabF{ !@QqTOP' zgqxGX($&Fg @LJ.j%P :tiiLYLKt9(L%Ix mezr!0 8"_Db;p99Nva/zo1Ou)b_Y6lP[a~GgN@|b-L_6'Д@w{k"Ug*O}f9ݿ͋=D4!" $JQ01M&]oOXQ&8Y'Ue{#_p䯜1-l$pA("F) *rCf>]4Jщ*5**,?:}|@q+xRn9K!%G`k}}<YRrEHffK2W4eM) b&b!h(d{֧dz$*xȳV;w>w_RĎ60]}n4֟=F[E8s8ch4-LER2%!@Дi0wQ @gTZLYv!6Rmp !rx{P1 :I'ł(qնHYbsL%~[;Q@=_:~@np .:qDzt T[b-BrIGJDi` z'ѷc8B@w (p*hEi;"ЉđarA31Np?%:@b : Cf2f) V`< z@v_`EVX)Nt[DXB((5,#$IBHJD{T04]{89`=ؚu9ܢDN)22'0(ȢZH&$( XHX D䈣?r'`P""y(x'~#`NGH*a$3Hz'5z3: !R)A!dRZ[$G>=C hV}rP`~ߤ߫{H?tSrJPG"7P]NZo.`=L~i?8d1&71I;I!w =p=m3?v|%ٷ$?f3"pDMJ a !J0co8~zMGcJ;l!.;>y릞zIc9%`f( Q)X h:_Vf$M'e}+e d_)ػXa@ !Pj|O`ח\ jm0\6bMlsPs$ #8fSH%B}r>3!3`ʕPlh(KeH (dž K )!)tF0LaTegЩ85fPI0 2s G}'ߛ߹7ᅬ?Y_߻?]w#>z???/{V}o:?~/? OU;?߸g?]Ϣ?3yo_~?_SG3W?so?_?_W~k/~#?ラ_y??eGS'_Ko}qO'_Ks>ߥK?+ߦ~y?>ק^wo_m/~/?}A)d~+$QD+_)((aV!ҵ]v!+Q i$1:J Lgݹ[mFB%T G#A$?ޝ_p'^n5e Q5Sd2% $ZgI~/,9VC2,c%hC2 4S6K>| $=Wb8F5Tiz[tibKmA ?݇/s@G|3jXv||q,o;Y<.#מa #`imkYFʍ{<2,8.46ݰX/ꇸE_9RUymÃu%6A%5‰g}_X 9Z|dd{whx};3]KL7ۻ,|9^|9=QVŌJe]bV!hOwг/a#hFl)HBYOf?X[]YR $SYxyn^-ټ Fk=&~:uG%a]'JdZNb\VqѰ+@qs4׍xKh .~Xzq`_Rsfs6a~aДP{L ZGrs1LO[u v&d߻9|\t 9'-׷3=dN-?GkS؃;BpqG r3{p~5=@ŰQu+CMv%ga0 9⦸'I$#]=Q=u7 o!+gյ B9-{iWZD),|Frx\+dw=X9NQZ裇Dt8}Uᄍ^S_В9oݎ5ZJ8 $=eyh2;S@i&^bBIYğU4Hy>Bͦrv,R3Zfr`gBIVɐ-Es߃Ec MC3Gݢk.=aӓb p1^RěʯJPyz6fr9eֺE ´&cͥ:Bk/6,*xY'#+×Vlnؒ*U&X>ڙm.!6c W ZTxFo'f+͹)S%Aܐ0 )(m& sK4jT L3 \xPG WG2{Vg}JN5e)P=C;EriKlSwzlۊk\T*{K]Kl+FH\%ыUI 1HK (ŵ>nε^&5<6>C\1kU~7*^C2 X]^:!{/:p}A($A;:q_uLQ²)HJD3Ed7u0 "Ɓ̪'H }(12^< _Qe|)K1&'Jo=mJ 3 l M{YO&7U1 9c/֧[d8ܛ fM7?P mG]_c^Cr@zAcY.ӝO!Mo!+aZGE J=_BmQ]Q Q]H;t{=CbMwMjP-&^&;l?GzwUS? ]ہ)}x'gZ U(TsG>eϚrCuEprw ώJ6DEY%#qjhF S+CNVnhôɶRfXc"ε=..S_aҤN"}TQyS={VwvI4t+)JCev8val<瞯t,zG+nWOP$db*X<N'I'V0i Yl !q=R7׮/j=ǽ5\:>j"A: h%+\ zȸ)kPCoZ#l*tQFnvY[aS->'=OAUQΤ3!t 4}ſ;NnO0,$ʈ`:#l8ߍtpk9ci &ޞ7Q&we#e1Aa 3fՍ,TDB mT\p!d@D[e,N6!eʪ=[(VV"@Ό@8K$ mpbShru,UfUTLTUQUE5Umy="f_Hx2a&'_KO)&1\߲K%!됔:nDQ)qy$s\ xjru!\" h]А-m- Qlڑ$Pu{ =< oHxPIQ đ TT6k@޶xbgTO1^_-tc1ML`ۏ!ۭvuo'{j$HFdI&9Aڄ/J>吽&9,GEw=L$i\Jz0 % c%TܬV}eS&_Tҩ$ v\ 4ljW-S-=2RYiM+&Bia`մ{"˜u~J.޽LX f56cdyӸQ8]^G y|x|pܰ0rUOtTcMPUI%4E{"LmbPG`n #}0!E= Cq $!;YilOFXlEg@" C ui)dk¶LG.z]jَ!Öww?d;HAZ~+`vD`?6R }V2/A(NyQmGE\ߛkSU}=!4Вl~ 15A3ۉє}|?}`y톜/1Q@%RI"RHx?&Qc·U8<:jsx.j5{I0 6'3Ѣyh)ecK5P=`1SU-,`f2N&'yĥUH"!}ʘѩ3ͼ8_}Ok$mXrZ5(J`5a}H]z-I{_GwoG0o2iui~!Ԧ8?m^Uw듸$i'9,aWՇ^'4vC3qtd'w $q9Wpè @-:hS=5/Gh:Cxr%O~24<E@ z>(hjC-Dtw6 "lNj_Kabt+3fSvy:4MOEKRc4[i$<=urWeF|UQ[$67OЭSTQ9Ʋ&1W6B+߅/倯ѹ O$z?. d;$t` Z$hSc{9kIf:ctpl`f噑?>=A,1I&_i)Gji C*kbbtC GT,;r c{y߭dD z?aU{B4}w4LlAJ("}ʱ>$3HI ;=iJ/u,/MIn;te{H^e £w& H7Ȑ;FB4zP*-=kJIWA3y!DnL|1}=L_z"ɪi&ֵIUS55%#H8gMUEQZtPMNcoϰNO# B%E*$JX W\eK~/]֐fZD!(-ZQE*9TOBwa D %&ApF65,kRk7,mg U9X=h\{Muy)^VrJ5)ة@sp-:חcNI5*y&V_V;RIIM7IU!n. ]b8 v5wRc IP5r(X468"iˆW)1: sCOwfd'f@?W9XB@)]O%FH%Tz$_[i@9vYs2XVϟWa>f]\r{㲈Lu`LUv or_;v|$vtZa6FF`lD!Q4K%+b-U5!s8P\:i CkFínaC|)O˩D|mF ~C|ElGsUrd*0Y2OV=#7[jgϧPv.CA%;P>tYSy PThI ֡.90ipg!~WcMs^7Dw=Y0ޜ:G:,CvH002 XcO ~X (}*)v(?|U51#XH{~x"NGvNb- cV\PY%R4l{|==n&Q)rʪ|t=b:r2,=d7v*Qўv96 ;OQ%ӵhW+^gdQG|u@tlĒٜZԴ>/P>rbA@?l/TL/"ϵfM3'T&t&Rd#Ґ@ ?!-[<'?#VtE]EX5n4c0DfNC(ch=v9zBpקR<4mj*=꧝D;f/Φ`C#TJ߬?MB}_.ʺ #,aC3%Ldyu%T0(r>- }]&?He>gt4<֡篲UǸq8bN6ժ6*@#Y0s氼;j ,gxZ2\Ű`S%xin,"ѐg>Zi0H;F[vS@L412S, E400%_+ %!FPbB_#o .b Yd31 ]]=Ɓb+]pJ6;dzV0] 8ey Dq h<Sp!"iAL ؊i`6RC))ejdn(!C7wfwMsvӋ{]Ztڙ=wB.0kn#47AYI092? T.QޱV4G\6Pi+FW*sUYU\mP!G,}dS4bJ4hgH)ŗ lv]v֐\2KSfH,a"F@Βb\1i=i8=m*.Z;#z©Y(Ä Co8Xqؓ!@rodӖ<ԕJUbl]&+14l{@9 %s>ѾUQ(f$ l=wߞ;tY*b$H8IB7ۘjS)%5Z%`Þ=ʒ\Q(ԮKn"pbLi&VYύ}h]vm ^_,:wW4׏&ߚ|QÈPHv.#}d+#W-T9kyލRUN``T`qپgOn&Q㎗tϘ>V@s]x&pÙ`q!~J躾M8]\*r=oLGsi'f2 FLaWjs'5%p\x p\x;GzGuՄi*m:D*)nf*i$ 8E٧NGtzqe^-v}q'X^ 뗽ez#:$Az̞CqـdR^Ǔ}*#Nq *(Ŝ$!roukQFL/-i6&@A9DI//99 $0O\oOK`cHƢe XC1u#4mq<,EAj#~7gw[N ͨv;4B71ps] Θf- 7&T.G{c|u}P;Dģ)q۪YdzbErlT:ޱk%֑ǯ~ qzPgtFF=n v|-m?5@I= Ėy%2ʈzk|ˆsP-,jYDLK) )j[n4`:#TahJ@! |!ZP'3i""J݈fI4'dK1#wYV PzW=ڠ dž#K#AJE<Դ3s3Gܱ1uw1nQKl4"8JZU(yW8hŐӥ6lloE'Zܻ2\tGԡ lAۭ(c 15DJ!xT9E$YMH¢smhrIU8C6e !R@i ) d]]iֈx ~ *pd*|y=)gnF0(yF9932 a14xnqh #iɍhmj(l tJR0 ")]d4'hG,-HX(Q#*-UCr") _9J߰ j +tW(Cw~; t.,vq,xv> 8#լ4`B 7uJ\j6Η)iۖBNOl89Ph] *'8n:ldd<٢sro7[A*Þ F+mQcH4hm#|-h$H3 a|Ɍ圍0Ozp>5E =<86~xB$E8X/__}zdbj\78⋂@!QE öII H" 88F.c DҤ*dA?2&DG5#a@ Pcemu6.6O2rvvIbGR U 7YU$!9PYtS'B[x?sR8DoЌD$tBÙy&4V= 8ºמqOAFW!0^!&8&57;Mé؊}''AjgN i]\j޲ ޠƸp h( jp LʆmְhhlbZ Xx =aʻ SH D^iW<ObC}kT؃HFbX i YzC(j%o=+<ИFMpٷ>_yB,RN?4#}rjzWFh=dUq9-&M4\zADe g^b')Saz=@ +~ܡ!WSvB' _k|=&e[%XDd1SsI  "BB|zECbQi&i"&@R@(DOS!$ n@k3kzuiI$ɞ *x=hoAPq)U>EaPO$.;Ih`"Њ@ H$HtDTq2̠CAT D8H#̣RUDA4Q49=ro "-'!3E?tWq#xW~:ow SdcÄb)R>;mɥѹB !J)G"+@)ɦlF٪EdnE[hZxdL<9lWW! b/]FP&DDz͑PP҄0-&z-OsB~&e'åI'GBhnl@;C3R{N*38*V: ga$Nu/9 PSH#Q%QE~;ϮCGH~~o{O}AyBЛ~cِ]}h_'Y$t=^H륟CNRC}$YqKV. !hO` dCAIZHșrHJ_W̤ 3$׾6OyE.d~!GGz@FG­Izݘ)I>[4њُZshR݌=ko3RuC%2OL$0#qL ޾YtgXƊ 'j(m߮[-aJ_xi1|r)(955TplۇD{faXk7M\( 8XtѰEN~8hTQZ9WPi*Z ZV(פuhO[;&ý{旒B$zzg{ cA+z@'A Mb"|잇 HXSvA91Z4Qă#PYXCdF{ $,A,%,ogD믻¬\(Ybٹ{q"$m5$] 71 }):1(m7;K<;4|H)BSq jI#ǖ2#;)͐hQ b`]eIJGnX%n&!ObSN]r1v+5!è:٨,&%=ʮ hR[J3jT1@_0wwl! lG'a`7 F1c}Og0jI.#TSmʀDn Idd45rʹ1%lh7,9վL[PVcܗ,U;,ZgOeKHQ-/h{b!@[w3Ȝeε>'0kRv.Rk$궕NBQHQ*BϜjB)˜%V!܃lq0y"JQ=,by&*wqLiȭ658rf8˸b DK/jI)&2P1a(q`f2 X9&nڡ)'sЎ1.q>:kaN9#O7q(G p+<9N m"ARI'O֡eD$?R'H9mX"32!0@9&6쪯*|$r7%s P4H~oaxMYLlI%Q, 9Te[!5E^ J@R K@ 2}HBe!JBZa "U pEJSJLH4PL1 ! HqGD% K HR4%$4tJ 討8a@D٬hs""Q (D@ :m_?ܕR#! S%b2hh`D}({S J y iT7dK!J# (ЁpӨn)%<9 ǿ8W^JvU:SyNTW2AuCC\KX:I֛4E6_ ^'#J8ZX 2P3d ^NtLL > +?%VM ETAA=~AOe5¬Z量A /Y{( *]6{z9<Z}7}-}}Wܨ{mݻϷzۃό/ӹ$ڙXr.Ϗ:{g@8XZ=s}_{xw*$/}oskwB{a6|==|kPCD{Owl 9tNNGl|݅򂾟]s{qz{PD*@=t8 = 0AEتA$v\5BTY(EDTJPR@FͶ}>WA}()D  m9r9}{>rUf}뷛ײщTPtzo7wJlv{|/!@tSB[m+wkm|ۭd$J囮Og^m\-]:]n =4n@S@BPA"(Py}l x9unpTm9'Vj6o}Q׷}wlszq\^kw6ҞK_W@5c^U(s >_1/V׬_}gf( {=}}]>{A}FC_:5lI:3i/w}wFayxR0_7ۺ_ svN#ZNݳs.3u`o}`}UKS=yD@h@0&L&!jiM)5S!"`) QSbiG F iS &SzCMOi6QT#&)m)(4b4PM6iAF#xOҞ!%"$i & 44 3OJh2ih42 "S @h)SH5OSj{SSj?Ti6 "jE'cD)c ~OM(4ʟ?TԣzSjz3P_֟Im?RmKũ)a7b`[m2b /Q?N/GYYm %y -`qZ6iԑg8m0H@$Dx2lsiM$kJ1QTDCM$_ 3QTM>D3QADTAP^ *" " ""R"@B A5*dE˄@m20ȠDHD0bJH&Z)bB3?Oy⿵1ۑ59Ku=bp/36CUSApA4M6M擵^[\U)\jn˒Y:Ӫxe4Mb9Sk-uYK8WRUKzk hSXtfZXļK1ZuYIynhqc/ ttD@1Ȑ8Z굩s4'B"""ؘSRA ĽJ ,@E2( B (1  B@1Ŋ;t0B+0 R D#(t٧J@HdhiYAX& hTd) @M9AY* W9U# +$ 1ʜ] {4JMDA3oFeNǕɥkQHQI@%i>aI8,B}.gOj JDU%}]}?D%q 4 p cDSLM!JΰBRĤ,DдRS0$AA 4CBPE2rD J B%"*f'lF(V~~ϟZ窕|/%F 1琔Td=pou 4*-aמ؍ r| °jue߮a1IQSKT5 ?c9DU]hv h? D΂Fїc;vH9†Fe̩LĈi IA%ne~'OJCmC@w_IWO:|MXJII5g#e熌Ee[V"Ϫ2ݳ&bo˝9ZrgsNsP}O4菕>rb*R'xhV74ѭr DstP&ChהM|s!R:bs~5]Њ3N֮qn) tĩWe  hd@σ#VdsJ,ĽkSD/ OX$8Dۡ8RIÂdS ̈&{ZM;iIh,hC<-J=6χl3#ffaE}&8dHQFV7\E3f\UlqJQޑF3vZD4mιu-[f{ngFܴ?;RN9i74qAդ4`>#A! 'o+„8uzzVmĥO+*R|<]fk-[Kn M}YW`z;eh4yl׷o)=\)p;j^9⻗OEC 61ڪ@hC$0ڏUYL~DyŽ/yd{tKR_-gmkW_e+Q"%0i1cx]>Kn=e֯/VpیȊ*e < LH,K]"Xz/M/e5ITƞRD P9$US!"J&/Dlh'7,DLBSPUW{ΪQktQy7a:(hP:{<Ԑ94d@N |"62?fb#Pۇ*~]q#j×gIHR_iE&)4Jt3mQ1cMEsy==BdžH"RhK t;EYI@ Ɯ|?\a2M@dp>:m#ӵٻT5h_ʚ9D)2l9  %p @dxqqF?UjCI~|M[r5D+Q:){Xm1;ܯsÃH]߈,!dAfG-T"UsF;d ):ץ J_KH͉e$Վ͎"!W|PZL" '~_ͱ"#ըj=^x[څ)M6pq7KaϽ@Ǥm;DvύbcO?w\131v2 f^vqİ9HwimSl˯<2VJWQ`EGDGYVv:,4qeJ[Q,[HCODѬN-(g;q"iM mpnBIxʌIMhKS,M$w]:&ꪮ6^yUTXV]KvKEEI%DUUոwkSExfꪫ9C>0(<,>$.F}_?U9FxW@,% oWt8ҳq0ϪsGh\POAb^f f0eMRq9( L7%v|h9=Jn#xKe" %Oۙ?_Sk>a{>#'ց,CTzHٵW^PpX}Ju:XwQ<%wCEY@;GN1XvDԼ xI$X^LQ8O@ဃ Qrf(VR ;i(0x!C j @TP'ɂh &) &i) b"^ۛOﴉ l;E+TE0L@B +UQThP饭LiL%JԛAʆ(p'U/Ef9\<2d+ 8-JdRRkAw\n ]j$nnnы)]ٴ e jUص4o30s P43:)+vf6R=/\4^17QHDi׌BA2%B.NTE(KsV UjZz )HpW-(-ޓI6 q24]]uأMjL7QXW"HΕkMBeeD-ZӍgSjMO}ajHouOpq]g\@jr"BRG|13"j(&cHq:  RBa) Y[` hbs/Iw =.`sՓHɌ+d4CvgSw@ <[hy,WsZ \^匈0*x1'qR|_@StZ{c8| ccҎ1uA*MҨW![f_;t肳 ie&cjd9DQFA(k!)Y8Z0>zҡL!$%5o6h)O3"ߴРt 9U  ֪M< FYRh, t%C`Wp4PNE^3ឝ<:$JL!D4YS1@%Hh6O3?wvxLSQ fo{#=,dBtۖ \[c>*^>p0 bgӽ6=<щp%-W3 -[D,> y1sK@8Z܏n0*1n10rOWDTuhi4#n*=}Aq8-P, uKwXܬ6 .! +Nۙ1$Aly})'bc -TE8ŽE&DdP!!s֜!eTLXLZooj}3!DEMO!]]oHBs+mUd;]=vbfn el7J\$"C|nAlLg_<~/8ee0 5A&&:"I{?Vq6<#W H _s2h 1O(%u|=+a%ތL(ӓ$sr•v^'CMŋuK+*Q[ԙz XaO&@]f@8M|XBSN jxwcׯzb쥛ՒN7k`0,l=+fCTS8.z4@|v`籡CAŎ !`9ŇMCsbQk3!qym<> (z ;M-S4ͷ'787-BQb(F̮>AIJeEId(JGA -+:;^Z_o9 ZQ k:#PJHq#9zD,/kvf63)7"cBqI#:ưLqT+$=/iז.BnyN^0'iEQͶ̖ۤ() aBaZbQ?.S Oz^UwGUgJWd^S22}AX.^Xh BUu컝#@zErN*@*lg(S]7v2>URbDB$"UhyQ^+XG ]L$˰.Z(e[֐K9NBPY  cX',ajL~ҶJiCZ}!Y2xN*\} i0Nqâ3BB-gP$=iI6&*]gEi'SAF !6dS=Ys`g7iXЀ *pK&O+7ۋ^֥8}aѐ4:N@r@DNP GL  w UxHKE5BED 6(’%m<-u*e3tn YEqtبcWLC+E0\䌃ڸ\~k%P#ܲ$7giWTUpOED}Xq@`B&G2qIR|Bj7/+]^;)ώe>ugGVБF͒xxs*ߞ7UиXO ''rknI-Ii)E*K~NGå2%F%24/k5EmG2l|GbY6$J7$%(3ZĒ j⨸i2G<%؟BQMEK?FB% bă޺<5xϩ!D 'GB˜@c>&cK4Q8YuU&sk,4èID"4&Żma Ydq[WO% Bkę&Sm%(f @-EyԲ;e*%PU}^fEUrpV*ֵUUUUPDuTD}FUQ|nЇy5ןjGQhʪ̪wUijZLe>^>Nlnr ^ղL#! M*o,OG8}?Nq7#y}=mᳫ5DUUFJPBM&P/I~ö2 awٝ+oNU6cL3JIC>xcxR.#\ l]~8d*b3pޗY?׹p`rlpse([pn ڳuꃹ:d_?gCv D?>T=׌=(JK_X Ń,H q"OK0b!46Í>괐Y&vG7(%XВ,2>YƩim68VuEPhДl "~haXifŗkݞ{6hD9 ~hWgp /{4PZ_d?p7ߎEoNji+Kh3 ݱUMfVB&sA5L'i=NAr^Ϡe8pTSqzσXXQ#<Axɋ;zN`@I! %zCyID?7)cf \m$-C P<$L&x@3ˋKV 䕹2Jt2mbt&|7uKõWR24CA O_׻}'n>S9'~[3ߵrz/;/x|7G M_m.VZE׊JRp^_FD hba~l78CcMގvG <ϣDٞMG?'}/`_>KG9O53#Fze~ZQ8ZӨ*GE:k/n'|r]D1zNiҳ/9LHmC?(1KvAsfKKRȿ/!P}#q}nkF}1#(/T[\@Gتb:~|m)D%|r6Oj^X_gOoWTNGVGkOv/5s'L{i4(v5r]8N. !z-z]Gi]j^!Ŷˍ5 ./X%Y#CMDž}?^$又225_uԿAeNFovwӦU>z [Һ8_$f{irkABP?G2)ݎ%?2Fb$ |vm64Kv[lT-ů: L0ꔦëM;﯍#w#bKhlGCսI~~1]dVUV3.`wIH.pndtK6s^XcY-'s:w=ue_ cΟ}-1iڼeiR=7c6Zr'.u1:++ tvKͶݔNi}viS e]md񤁾N$&P뀡P?xyxF||s$oq \ho8)cwu_~CAmj1Zi#a4}>!!HyLkS^t:Ro r|xpd6rrlm-IFC"[!hXwݮJMnv)mt{fSu'<bjaX`Ġ`HD(3=]ptΙ߿j*Xif i) HЅyNJe{.%.غ1).=/,LF=Hב:x$vu.s 7bQ@dr -1{b1'y+8Ϡjrz/ԟìKqYh1?֢|/ ͫUbd?SWxE?2)@@Ҍ2C @- HD!#JȐ) %2  JCGaSI HllgR#MWMv,<`2Ӣ˃G 2W+cA˺7^dB|̄4gHu&~p}eW?hw LWX\ـv`>42}q頥h jBdĄ IY.V\1ЉBrP$'C/OLUU4UM|ݎz!ἧ1ԡa1! g\MC.q`Xe0XiBv|SS>:(B_0絿kgVyue}pee<=ٵz<8y6"!/&E8Մ]|'DT 4FǐzqaY!&RS*\ d?xs L\A2a4чpj(& fh"jk9 鈢bjJ*JB(jhZbi &( *%jqhE- @ qcѴ5{xK ɂ .a'`B a^KIG'ayvR_\Ht~^>Y̨Bv2L )q M޿q #a#*c1z$zinCp&d`Ar ȃOqI>GG}aڨr"s*(t@P= 7]28 'dit¢#D Cz [|$N9js{ > YmλDP)s >6ϟ>~ϓWiavw>\;O*uR C\>#禾=>L5gU*6Z6G4.|_}|)HH"RJ_4B*} H/P~P)rt{vXqe)Lյ|Bط=mIAL&hI]{EJJO |$[qIh/9ɣ ;VƊIۊtH20U)W֡R@g\?z܄̀& lgLΤ"!vJBP~JG RKA-6 ^V"h Z< ] l ^G@= 1 5 >z)l=c#*BlԶ) nC|XI [TtQ$p~?w)@Ou. &e`Z*&iAeXh6g]2#Du ds BVN$g~a#HQPx4LF("1iHAA@I( Z@Pm A z DW\gH$2  \,1 P<-$+8Ado BA sլ(' O8&$D|X:@ߣ"/A ΁2E(kgR$7o9hS`B%ߣTWk@(MO8!-2q=maƨ8䈆d$ ("m%ʫpQp!ȅ 44@H WSAUhZ*2@P!@n$ ?G:6:C(V M ~"<4OӲ}tBY9Rd`t*hRN%(Br/uҜkX>G }LĮIB_"i A#K{.]tN "| }z:f$g;t}(*6bJs 4 ]nRݒ0Ky~#OD$GǗ#CIp.d7JH;H -+ynSh4S2wmG"LDq%v s Q>HNnnWv5#(Re cT.>x3-QE13|Mϗ|*Ƒ->}{O5X}~J#ǫotPq 4ßd>xݖl4TDXhN R GT`$5bH AC~?VwtDr=.(NU1E _pÑĨ~ O&C$̀0&!&:8iu"' _b QĤ1((J=üUZݞW!ӱf` *OmACxHiRN}K7ؗl[4e!bė^[liS̈́$ )'z<@4II(_޿^mgqh5GsWT7n6n^8Llp>+`S<[m~bxW\{t-2W4gY;fuYS|3'J7N*(l=Xo} .XG RD2 fRX]w2$y>"R K>[$prcO@o^lH}r( m|mio6~Yy0Z4u^s&--]>HTGHNM^՞L%'v% 4_tY'!^f{]6Jŷ3,3('${,NGK1NzxyvL6c]x\I& QcL b- B&&RtŒ340) p1BplMEd&97K8]K?dzX['uJLi{.6͜DW߼˼ ckܸog|Ho}NUЁO"\XX0 e{>-xbm4n;:L 2;KobRPqfRDa;fH>/IVA'ck{GVaf ӔMo:?g_2W4diS~f*ԴIµ\÷( F|eYʳsbSI(77۹;g0Fc%6l@˩y4:4䡮xuջCIJ5!pG-/К;$E\"P9Iu>.:#E1ŝ-qӮ*Idt`DYiJL 5'd~w|׸dgH'o}buqm9$./X`A/X.bi:g8%i}t9;CIdU$,Gn;qY-ºߞ}9Kf8涚;}(i Q@C˗JCЀ:MDR) H"2K#CYJc4  ҌDӉ4# £T6ˠ4D4[& D3* bh4EhJQСtċALHLHZYh( Fh ")TS!A w?7^;)H<%H23@OA%\) F% KrUOASاwQaAsg Swѣ^xk4e+.m\ TP %DÞl>6#|0Bw^aZMy.dE {GE$ISuReXVPZ6|BdzKn{^Gzo4ϗtZ^iA@d>8CD$:@jONb2?s̆ǚGB+B"5$!$zwE:n?,d";t(L[ZH!.A2:|K49>ZAю8áh絝^^z5,Lp~cl[Xڥ+'MNqF}9[ePԕi1q 3G!CGP;L7-3ܥ_%8Tk|\::޵ާwTu}~S-nWLҷU:{>Vޙ݉ 4X4v6))2ujwU(yUTыn)q׺<;|vZM9rғYWΘ:ju̎H-"߻Wi9w馹|?շ'՝GL+ZuK ;thEzHޔآS Q&a'Z!8RHmLSs @'z !q8$D״YZW2F rԅN@4VF,ᡰ6:9LF0 ),So "'+)X"<5Jaw ׬|]eG`zŧۧqvXW9dp$^IEA:\Jɞ(4g:Ah4mc,M:,ƗY/߷xCO\uxލy)`"RF02A#-f)9aLg9eڟos2^X6MV1%<E=[-<<&L˟Xfw9f0ZJDJqJ0Ș N^wo Bվbek"hy:ylǫӗM 4h2fod=7ELm+"#dix?f92LBPƴ`Ϸ面J| I%dZdj"">]: ޏ?N/+cK4k2˒b~z,OMBL%+*&3[Ky5/x6<6mK qyV s3,MNW*rϷ=$ww}5k>7VG|JFq<o2JBW h{fAtk Chhkm)ZgA^[_)N kxOGd{wN޹D}x`rYJ<.ȝ=.).oy\K^[ԃߩ,o{`}A[Xi gt5i単\)vy+w"s^w ꦚU-43\>Y R냼=E>k>[t\OdRPbd Uj8^LۄiY_yA&˿"FNikB(BIÓ& QoE8×DI~ţ+BүB,BGN6KOy6ߴ&_ҖڮW ; :OͲw !ݝb]89="ݑk,dԼ`G|r%6Jg%:7絗V>춌9ݸ롄ۑqZkѝ|ii~H39j`k4gEIJBab< xo{aYI^lRrۖ[p"mLUSx'3C;%^`hN봔b-ݎ}I<0em(J M_^aV+(@Q7b;la%ޅrLvV):H(uRYaF+b"Qg_\mmxr hlw xaø7>#+R阘&+gSUV}':#3nɕE&1.,+XLT"$N{+(e%8|]RϡMo7cN)9(]2J[CJ؈BRE>3BL¦;t @d}i|OISFtEҩ1HGLTc֕?%Wxrpt16h53ZyA6iLgQü! daL]s3c ^ gd(}dkΦXC̒㻷"kdˢM#H*ZI)N ffv;ϼOiTSMDZs31c𪘐Fڪ |qm`\z6D]ULWf*eZZUmJ=mM %(T 'lbS24^g˃9;:']URh Auo>Wu:yQYu–;7C_Xӊ=?&V^>H#mk.y:ܿY^Yz&F&x i^;ӳ|t1cyHq^m=邆y|`&]i+q!2YihN~/Kl%=螟l(a\qDoը[ JC5+375 "<쟧bΫ%+Ea[|}Wz0+$f~Hyp\D yU"wg%8 6VsIee(yJ%~@ } h/+\UoS" .ehK4| B4~V帡*KV3#d\pc.Dm%[iu tAEߺFNEavt ꉃC@4P#TY ' ^Kk\A,"[rn )ZB#ED\@I`C(FP롚f5F珟Y0U 2Ԑ"2]uTU Rآm&'lma|}Q+u/>a;}4;F!%G!l1;9p@  AucIo &.d_"<(CqZo ݴ U Q `aƹқLF1ȇ)Ipz-UևW[vۥӳ'k; 9 z/BErCD; Q<:D3/4I ǼLRQb6Ė7`!`6[fAwTR/f><& fۊrljIr:> ,؇գB}_F OܓXܗ q2B]9!N-oh<ӻ];^JXGaw^+$“9ӄ|SH"m"&1= 0ökF60m? h(( vuL3ٖ]+ŒCؘ8L2צ_;!ua|yӡw-92jel]pw'H̸m}  :K_ϰ,j86wy[P_ EzZ*H=6KҚ Qq7|`35AG뜊k49Th#7ilڤ!荓,6AdVSWE[F2o6V;i4wbEt žRV 6LG >CX)c6#kM8'66|Ep_ n~{\},:<9iDD>mJK*TԘ\X$TY70I$f$2{a'sY4K!~@a @PHs98^R~*>Ot ? "PDC3Ȫcp^1>~Vم/*Rf#iI!]5yxbpquwCF]j5prrJMH,jCD]:n")Նb.a 7rab*S{8sG\֢ k=?Owb>c(e0ۢCSı[&X(jdf)p {zC:'<kfo5%:'m#/CM7va6DDDN$P!iR{% &fIelbEupA@ BJDg}ē80$~+CQ(6T:ՆbiN R,Y"W%rX42.RH1QP2ETiw-s;bs%t***iej:Jj;0SO(R(ղnk9šRB%,Ӂ0`6ҁ3DGK_ME03ai(y\vL,8hFbJ_H%Fkm)2e WalDg͞4bpA/=$C2s*"#_jw&y־X]cůskԪjs>LJσT(kD!"43K=2+'^b!$I$J,o9pT3X[ ]C ƨr Փ[޻߻UHw%-6C5`$ئNZ'WrNUnn4w~}}$\jֳWѧ#ko~6SfscK|J}iWdUw3צ|]>O^;'9{=jxu8kzw'qO^·KϙؗC8;--hzQz,wqd"":K.LZe椘qɔQs踨 ns>M`1  W(f:a$\·5:@ ,B$Y.\C#-kڞ[=WRxHX|s;o۝_9\qqg^g!tuo0QxnѲwEA.V6aT:@}%\~鿍7g8]V/LVFx\Jme?YҊ:SLYv; =!b@܂[k y./P~m ҡOs,΃_mj9@\DŽgLʕK/%}q|vքΫʑLƧ=驲o2]`t'&Y_9 g?>p!2䌞9q$Au>ӿ/wMTZrAˣ7Yn96`^SʣDjL,\$U5SwåΑ~lN'N,Ɖ=3SXl.Eոt{фh+׺̼"򲷄vẋx^ѯuJy=.˙a/#Walr̭/6riرow r!ltGze]>IKw鷜q^<*ĺ\n蚭H~M5bw/1pI \uRqocΥхђZЕvp|f/1xGQQ)8\g=)CE/4iIY`۪^BTˍtha:;PF-Z)DsUfy/zV87M[yKRf1_8*BaI,|FT٦if<zʓvDc۵;VnK>x9>L Chu)aYXW"܉^Js7ڡf<|\p}!kG˜Ԍj"iw-`(W3 nnmR5J;˛QJj0 B,N-"ÂDFsv5`ќiLF r2AC*jhD-L"ȅ&FȢc7~ҽNYB@6! k <~{ok QGN""z6_8cy l5/TJͭsn $[CeVA=1ҷ{99m"O~h@Ud""נW0$}dZX f5$IGǩg|ϻkqtiE_-֌~pmKwϗߝGWsMd]X Q$cG^}9^ f9NfRFo?5&m`αFqmĐhIIINHZ /,AKVyQk)b;ː"ĥGFz9yQx`؇颇k! D)Z}%>DPC,Nw,ƌj@Rܷ *"r')FsT˥CܔI$obUOӆqNo_g,Bڃ<}YC1jn"<.̢ĩtVFqђt&/dgǡ3 .(cÑ0 CdHgLس>da\InaHD2:HC!kרﲯf1ƪUpYGCRzMqsN}(>? luF0hIDysi$#״kp!@h]]G^$47<ם8#,x'6|uF[-)2Z.HJ-S^JB|!β_d0׿R;=LۿMnAKvɢE"-rpcL7i[ a,sժTMc*X?"WF6>Q\9=}$[[gF7{p2B:Ӯ[NȚښp^r*h镶 sWB\F;vW_ ^u[7L"i܆u/ЮPs%4a@a;7T) ~$$I \njA~ʥ-zs6 81ƿgwtxLjiT[hSyDĆLa)O_L+w7nz"M"vF/Ӻ.jJk)3YvaղO&M^`N~c{&\p!o0:h&0ò&@QM:)[Y,hV1knZ:"*U^XpϳLaPh˝Hyʍ'SwKՌ 1Y(Dh*LNvguӇ)˄gF.{v5;K{|[)3@ƻs즨H3`=yXANM!Xo>iR\_*" ѮJP6m6 axH_dm*i3ᷓLoAUcY퍌$|bvZٯa噲cʪ9l28TYXR)A>Z,>{Y`n ~ɺ|w,s? L};8#tYV{K>h!Ѷڇf< amɭC_.rk)[gҞHW9%mV:vݺetSN7V'ٯu~ƺΖ5`/SpWܟtȶ8OojOJS.mdVR/оhRLpJ?(t='Z wNnߏ46dYR_>Vm] TeJ!1 UF K@ëkVc9 3.S1,WQ 4YY54a_Ot_1=ǬutY ԽpZNsy}RU?at:5 ku:sǻq2o\uS-m5Ӹ'=NC| :&RJ V4eҧ˕wpyNV% ADÍIi-ourpdzj3~6LLkǵZ{)1"!{lfDtӥcd}Q ^tS ^I2_C3 {ڗ{FzC'%r/8ʎ1B8z3D>B9'w|Xd,RX|,I.ʟ\}How.xˏX"%:<0s&OI93E#p S̰#a ^W˴4t:p 2X^*%IDc['[Ź+(jioc%Jxnǩy#AD hlKS᭫ {waRwpts$o( \CᬢV89rv >Y5@{\ʡ89~5Ӥb:'(Q #Py\Dd\{@ǁJENr%)c!S+d]+xOdOu=k#;EN뼰 #@ ;oVCJ "3bc^}& : υ0DML "9ҟn? ^k% [ N@P 5Y強 }yJt[|UDŽ'(5Uu^9'W(bT28~FD6=[}euR3+a[eaa1DC,{[X-g:ѫ\ZaF?=k+wN7/D>;_^ Mp*TO?pq?Y|i(>&Wg3CG`;OU f_s(G1̃V3a٘PӄR? w:1P%Dt(t%0@5!ld\3\9| 4=Ĕ6LzD6d 9EF'~Ԟ*\%gu6缞<7EVS1YѕSe=hR]=osf<`ڋH!B3 -es7MiX fNz[aN76zsdǚr$ nG‰6ekڟkk'.bθcYtylM? 3N}V'scnT]I{}y H)9M0f$D1zM}?A5(:)1*R:hta|yn^ze9)]~3sC^WVM~^WWdv/\Q{DZ.c?(2R H9bM0DъH7vR0s8ni5 hbR J(H Eϕf{H'^g/Wdȭ)I Iˬ|&yqC/-æHdB~֋XЩ<gXS}ۍ9 ݋vv/cOU_A0s` D7jq5&rdaa0֤3y!AB}V~s `dG% ĺs ݲ[YncjAefê3 x(?$/80!| ЀD}[`ʈ˘_ڄ, Z~*шx29{샄ẹsGb,.AX]7@U~`]8``da; vs|A<ޔYH̑~ud&.u9>yXzL5BH!ڄ:D@J}Xľ$}:9ujӻlְZ D\`B!ϕs#$ XDnr  >f=((\@^L)Pl^ɩN2я 2WC߽! 4bV0bxb1xԉ~V+M280Q JkXrIxd0qp g8 CD$Qܻg4QqMô,O&$J%2V?_ 5L'DIc8_xu}YZds& W65>hr 0Xg/%Y P1~L!+޿0{G-e2 okX5:oLMw@9#w ))*KrNU3ي&kn5:^K3dN j-lVo5+ț7qYKJץ*F/ iv~1!n{7fX=2q'jOBqiL͆IxZ:_(#G|Ib`cK~KL͔|b{>O»GI4ٯӛS(tNPJ/bNRġ? R.U+m L)&Jk\}6'@'%.gK[Gj$*tH}A|BCjih)qQw'=DO}ц;];F|Arጣdtfo%[:)u5XОȺN2M`I?s!3i 4*Mc:94:*[k 7DH7n~>1R+5$Cwy5/vpqL zoKI.e3.FKoR9Sd^tl̮5ݒ1vRn4#UI3;5ibƵYL6)߁-0>1viͱ43$*#4ºdKe W9$B yZuf)e.Xx,/@1{^ ˄7qsZ,qu@hێgX㣫][-V۳?_نZ-|MqtN$W >eNh`ZUan8^\~X3<M8pj B =/*G꼍, )obVaďvݓ̽:+Ѣ jWZ}ݺ8˧1۾)8Y?EE,nVz<&$a.fRy#<$wY!QB(mwl "m:̌D̶ha/^ĭ 3{U!@GJlJ.o vkϑՉW+FS2ؼz`o"դ]KoL)鉲V2NY1EʥE:mʙ!pm~vꑻJ麁WM{eVXlB"wo-5UHw8 {_ΑsvQ%xʫAӹ)c輚xi25]re|,HOIZh_NS:tq(m)2T . R%$"8ӏMwۻ#PBLԪq0)QMaxj~ɚ4f̤6=hm2"씢ڜHmTk9f@'?WFA^j.yHVYᯟZϬ'Ye'a%.m2ni!dЉ4F,ݩ\]JHr;y]yyU>KcxvIH<#܂ bEH0 7 D |([_dΊ񧳳fp*O-0y5h4{>$tȏ+-FAS:k6Nw=b7vvAi4Ȍ"&("&n~h0ďh]לd]`5H2d&4d޻rךPE9SԄdx0(agmm8#|2]4QpaiU]{ޗ]F111a˞Ôoa11da41BC>rEA4Q(t1a1da1111̏AF7 6DLLM1^c3LLLZ1hс0̋~8j01~_SвX숱"Y2'R1&aC68|{O{| }dedp$Ab8TZ\f95z9%{\I}1Z?n"<,UUdHE?7YBGk<>}W\07us;rkT6{mEAwt.xt-qӅ%CM(|HoI)Qb glC/9@̥L޼m]ưҴt·*m4=Xys6?vLOI\b,a̔{{`e(xq谤 6"p9z'*" Hnt{(@ndwZTLd7@ * +6<% :L%EltҁUFB^fRų3/ϋ-ą-|J:f8ofU-GYlO:#b?[pQY9zR<&g,?|n'{38D (N?.jMlmoIt#*Xcs캱tqP⻶֣hs*m%t._S;2jB.7t'9b+eĶkŷ +,va(f\km S%p%b&C$MdakVl`w5|R%j6l’𜾫֋MyE(D>ҌR6֯>6,G:$gn8`I}fnߏF.,"E#8 HW5%J‡N6-BdEy5;`(6HOH%.bna7zʢ`h mU~!~NsL3a$=x[Vz5):>@ڥ-hJ9afՁʇ6y{;v$3D웑Wke\I\GA*ԪE 83*]00ÿmg hmnKkr:nHo˛mD#  &(&$+)7ADˌ{j<(ôĒ H]y91mIsj5/CmHw'S[X\_1xycͤ`= 8SZuMqcv+dVd.}),o$4pz6owr}$ ψ"#_`&!"QFjI<#3Kܳ9[UҾm 12 N IFK2'0PNb*?9^+N,>u{78Y0e+FQKDN +U_%iܼfD*3u0䩲D[|]ۇ \YSX[CTX9E|dI_1k?Lz@ /8zzABJtc[S ~(mu-csߺ+a1ji#cr"3tYXWa$b!&?N^E&7^\m_Ll#!fMs˫(%͕,^7F0ON]\p~w+ g.sM׋s]-{33.8Zn/QIg:PivB&zwZ&+K 狋k+kx4wqyb<^1ߌUnwϞV+O: 9qJFyk{:Ι[+F]Ўcu.*yRXiOToO ̸G=n9 g糖z^zhQG׵#6NT+8YdG{{r9|DQ*9,K.v$ -WYDZG1 ŕTWz8m%¨筝a\Rp {Ί;Z{igiK4?3⮣\ L:9* 8|n}CQ\qXo smk+:9EGs㫼y:]_Y +Y2LA^b&EcDD#h}Jڹbλ׀wILW ߧ59,z*zn7>*4$o'zS|cgmro3}do= b:i@5e z];oY"Z;PFXɔڐ)/Y"qq||aȝgNL=t+|<2L{W\=EOW8wwV}Oz zcDM-W}0v\=SGK. Q;tWLN|ζn"ٮkCAć/1k=JpuOg\ ^9&:bI'lC35B7eI8g/- Zf"l牧t8M!%">+uwo|Mү,cL8m1D$1s\f`K ]שļIhYCKfJ:>`zVݽR.蛉([ "<+&,'ӟ8#ζ'O_1D-{N:]pkǶwXܒtTN BQ͘?76b#\]ݛZ.P_8"Sfy8~Lu,` VOҚQX҇,'zqo)NJ>f5숞$|gezOU^s%Wt>}YX3r$P̂G}T5Ts׽QJyiBq(OsZC~  ̤{r(%BLy%ɛ B<(CκGqq,{=:6;NKw\tuR߾2eir0N\6_)Jl#$md}tޛ#Ӄi%76dxB>b# `2'J{!w|tם)/-^̞𬀟GIIdhK(oreBt'O}p_k]RlbbʆjJQ-Dvul1+lRu-m&DU'MRGm;늆Io낅}Ȭ&T:JujUR}<6VާPW{g sq&5.*| =qS 3!E34o5'豐O(E%9?7%ZRjsR\Ц-w4 |{dYPnjH,rXՔ1tu~NzZΜ]MWld,K"1_?ϯj(D]پxөR;_rF"9e)%_^ԋh9Hil1VjQd&ېrsZ Jٔw@6e=3" R菻~O]Oc w=wǬslじ^|K3uܪgyD>xb$G(Gר|~c8ҬbS~9ߩQLN*=m.r̪V\m7 iWw~JJDqsy=27XancvN8/L;tSIK, C7灚/,QLC&ehy)4耘XhIS["%eKF˃cA=3Ko0/r&w@JF".60Rᙴ89RRHwu5:k4:4t W 8C:0.r͌ѺepQZ`nDܶV$P)tsqoi\ՙUWȨ9㋼Ǐ瓚g@qSbN&6T)k2|rw.Wj4GK=g,}']y|;4ć#`PصѶ3B !cOks[uFԓ8JlsƯl(hDHe7X㺏XdH.6!t ]AX_o{7g?L&=ǢbG?2Mh@XR׻M*fLd_qHoɻ ڱq'"ҿtJ3.x/ O^),< (ROrXXf<><Wrdxk}b1*^g+'~}%HsxgS5u)yM/{֫VMd$30P ..v(}JR,E6n食w;_&n X2n 5}/I?UlYc9T, 􇯅V `CN+ns+yiK9zz>n³ҫRV+nV7ϒ /ZM {p|>/17aͩ~WpM T#BPQ5E'$\*2Uz\_(G;#ZӸfc'ӈJ*$!?`dx%x}}'LxQO?+i 4/_gr?wF܈}n Mρ}`?G6\}6 ?+9^_~9cvY_[W si?W(=#:M>)Ē˓p|leo_cu龾F.ӗBM@Jvf>ڂ%NaBU$5!6%~Cxp҆?sL%;V*Gq_U}'foٝq_ݻǖ&-t%wGg*KnQ0Ytʺ%i #ٖP˾)^?,|ms?`ga/cWY$4 ?'ο{^&][Oϰ=׫[|{ɡ3~6 (@=P\+ 劷Hp3m$5w)q{Ka>N##7ϸˤ;?_Kh\&Np`Z[r?!zsr\8n6NwߏTWcuGhq9o:?]x#&!`M6N#a6f)6B8)O19jFCW]03"dPe1(LL4C5&vI -AfA)e [CURSIBEJ9F@0Jh *@P_JDJC5 Y Rb*;E[X8u` @@@t&*~h4Aarz5|o$ tq0ԑi@: TIgi5&3 g `H*I"RvC``ī@ɐ<ޢPRo?3(e'{I5`2rԇx4aF2~CrvoXD8=1Ww:'h9{݉0ZU 4/_,JH%Bg4+4/֕m*l=VGG߬Jx{x_\?[#?pR,JRn2 Wq$a|nrA6̥H}$q"y_H5cׂJ)$X:66Ѩػ&3 }0Q dACqV[+֬d Q:g)G ʘ`DX3`Âga|ޏ":C(2r4hKTAh 烏n"2f9vã |y&Nʚ41.@lD^OIF!8bhA'"(JI8E с`otM@=y'#xvI  !~F Cʹo`-*YGz3ssTV̦uȦD !tq[G3FИ&7í5JP\u-.*:oؚp˄4v֫@T\ GwZ{Rc +Qr̒%HPPŌbqP+kIq " Op8jσj HQgU0YkrIoW|}"Q!AT88>Fyt V`P;;)e1ETh&Y?¼g,N9te +ehgfAXK?c\qBӄ{JxVʮRF4JW0OOa^ F!*}s?7g0'9+Ƅ÷l˼\lҭ-ԭ.2E]#n9·fA;ah erե=C6%{03`(b Gcq].\W, J $Ql̒XMiPjOt;=ŏ]wS>uSM2c,{,jClPRU1݃ '};aP;<7ܺX<>G%BÉP9tX|'H(\=i1DP ƒf; HImMC՛2jʱSSnej'Un"Yf'z-{>N:DP3/?f/^syOO qNqx|$^?b i'+7%Ei.s(y^~ɤc5A4yˇ@Ȁg4\TԚ"90SB"̛,3t°VH{@YۉIm3bxfT(CNAs.)̒j_8X&CAzh|$6A21bK 6jab|[ k 5vϻ_4lG@wf Y p.P]0cAAhj& )ه}Ub| ʳgV"GTb;6ndC4|׮Gv (iHwHEo JBUjMZѨS Cru{;2FREX^.\$NyJJI!-KJ`K 3)yճ\dOQ|Fv@ޥcm~ZS# }$p/sΒ-H.֘ʢ* 争 s< %F2MEd.}I~ga32Y!ur(#q#*iAZ)b>.'EB rzR龔I{~h p뿦>_vq_H)& KX}/ZXtR[a[._YO GHy21G"UӪ}Z(8}*GsOs4'=_lKcӷc5{Ƨ"=Q?r߅y忶/l9;,Ûcd=~{˅1cm4šl&~}|k-1 _c&j} 5%$)ș;ǦB.:r캘i2-5Ƴ?f >T/F|BAI1+䁡\d"8XvIBJ?m PdK<\kH`1_*V~ :p!z vذ] =!O1{ >?94pp oxE?n*(7R*R /|cYA]^7yMǏxߒ_bJ>:;]~Nϟ~~VPx`~Xqʼnf!"ྜྷ4}hnvxR0_>@+hDでHOd&i ^Z?_"n]t-/<Cr@ږ&< ys+`wCff!By5uiG<_.,"Mׅ씝o;ʌe/Һ/X]c<Ӝ~n c;/q脸xS(_]Mz; ߤj A5ǞYM^]Mom w(/ A572pIy"/QlPغ$M %˨1όLW^tۋfjt賑Ɨj#JkG\p ߨ~xa0.: 63jh- 0KuIJ?r<=Ϭs?q~\ߐ;Mm+;RǚFZO|>meTzYqi97ݘ{igg Tͯ l*_%$ߓ.r3[~]vzcG~u> ]Rx@Drs 74^3X,Y54[Z,hm{Sތ3\,)NX쯾xy ̭7NCg۔^|ۃۈEc^n3>vZ|ZȐ3ݔOoLwuؿ)/JP-Ǖ9guW)@lϧc ti̸Y=SWg2JQ[XKM|]~M-:aztzߺ3TK%jiDc~~)OwW_ 'X4Լ$4&3?Dw?Ix:Gg{$OR\]$+n:><隧 ~w_Gi҆nؖAci3+s&Ddxc)ݬv3ә)gʔۊk.o͗b`h0bׇl=/ވJw/ߒv|[>6^Ȥ$yi2{]'sx9.Ivhx?.X:[S L0i]m67EuQ]>:g^ vf/-wL||]A Pow.?3~颊(p"2 OVTj?d,Wݾ02ϗM)S-A3O7bv4h JKP֑$~GϘp;g)c:X@%{[`GoJZI]V6&#G|7m_uu^Zѳ?&zg(*A})K%݆_&X:ʼnۍ䀪$Ywg]m=}wvF4~!">]J{#Ɵ&ZHcqK0JxyI:09.iCQ,9_ 2EecqMoctpjm0%ъ'U/}+@i#nI:&ICc]M/Bݑl/,8NwҞGk6l!{%ރClnawO恔6@R~{tiic8ӻ2<_𷈏f)BUI(UPaPHZ)X@"AXbR!iJTXB @ jJjJi@h***"IhbBYB^f0(vhf3HPHBCTiTWD ,Jh5n( 4/COa(zȃѳw"!M *+'$4 1B*A2-*䂏&a(P\ 3(DāC^d& AR b[I0tL(>@tLBL\& QAk 6UXJ6CAN\t׸㻹5NɃeʒg1c:&my(x {'L5 <O 밼TDka: o{jT6u^j Yd& h}ZBd[ &X 3[o&{ Kcڠvp 餓ёEEv) (F=]bI%C0JDy(!)9l4fSY Wjd?Ay8vp\~"i46K)J2a8ƐALTPPEQ5PM lC[IK'ׄS{ٵF,'&". O-G=*!546~JPB'B(*Hi !i (ܠP Ԃ:~~h @uz>_$BNJԍ>h" eok[ b%AzA1& 9ⵢmWy 59;;i`#cDcמZ} Kΰ =0s*_A6u#H }g/5!1 DB7FAK8RZ\U7bazޙfIiA0Yw<M}bt-Hb"" {D߻? }Q@L$Ң 6۷o]kZּy.ye8Z Ͷ g#ψMv!\M  3(ge?8Ș#eFT)>L$i`*숕 "4( $1“Zi;n%Ʋ;ii aryxq6J zy/IqVUÏsj#~cal.قcWyR+ Q?d=K /9^%|3m&5>OW1;}tw|Q|w|$<^E|}}w_?.K[>ϩ:mkXs'E} ;Km~q+1Bp|3mgχ؃iѭSD _?>[W-+krϊz=3zy>/n%Ş-4gibpaar$My%;c.$$/ qilɘ e0,{Yo<恲%FaC2cr&܋p{=wJ-@}}i'O˾kAc1F'oг($>2(f"`&~ꞏ!l> H{7Y':\FO}?;ugI4eXCTTdTHkp=& !"-G<$d9H(~ Ǯ}F=x5Π32PY'S\Y)-J'y6ۦ$S5|s:[Gz\tc)mJxwht,qhգ1 @PS .t, }9$U7-0NlDt,~ cK6,?ͨGc6q,\`Iaљ\q~.< AK $4 iiPgefMjۜ1ZZ@ Qd&y`lra|~Çx'fb$j\õC)DۖR!'~)8\ۢ#$Hԕԭ=tT_)2%eRz+(>>ZdA4Ɨ+/9~zWM|/=҆⸊(Vc+9ye%]=Y:Os"ܹ~w:wJ]ʮמi>;~C?n/xm3@>bf@Pw(ٟ#]iwl4$Qlm$BcmeT0J$Vw7n iQߌ28ҿH\^oj@ uÌ"58HIF/F\ +D?x62ďG 3/N͈x#FuNOGSrks-Lq99vE.#6O7L$wL{p3-vݝZ1f7g-tzg>+ץrvE)Dk__T2߶7E15mrלLrzFWySLX*$؛DŽeRE/bOi'w^k;D'T^ԊuBt"s(7֬W_p ޾!r=.v0Kh\y8 lm(SxtloCv0ߊZO`[?XQ+3Qc1Sѧؚ_w8YxbOD.9}.-痵!'04~B+Bc3S˯~YdVлzSwi)C(N"1Oܾ%{»s%LAF;mZ1aRrfHZ 56ȼz}D PV(p)O ⹳m[}Ryl&$lǸwjipO7K&_]cNFOG|Q,-YƔS2&!8`rk4o9# CCxQHW.po!7# (O-B +7~k& p7"(RM"`112y*DtTK`wh^ !vZV;DhBݢmr#߮o@4k1 I8V|D83Hʴ;T DBxB$eff)!}>AM?Po L\?:u<-zaK% n #Ôi2Ic,Q [trďԚw&U˚ܻs1{s'PV iyK^d"G:%y2x.B9 ڑ"u m6\ >%!`cr6Αu)=K!^܆MW>nCr ZDEL`8 cl5:rMRQUE-KS;CX:FKgtzp"?[ êCb um<(:qmUQs=8: u4pZ CnG#@8/~. (" Lv(/帲c.:iP5^9n[sPǓaI0:ogjp0(VbDj2J yS^OCMTPM4PSM4STSCTm4 ES,lQDq 5EA~>ƃ19n @ sPH<Hs6]!3dCjxÌBHC*0tP.&M8"7 gnvH8h%M4y yPI{^h'+#D'hirF2JķE qݻ _C_Jb9U` 0zpTng>:^[ӨaLL7OuYFec);S+\u>LMWFu䯪Q&9e`Llʚֺi--xvbae,e] `s q'uw 5|f3C'xM>l!^@%!xV$x$„@5-L놀dY;Gw(:*M!RGhn>?f|gN;}N /Я#䣣yʙL$9A I|yٹs8ݥUU3ELY3"**n2{D@Z #yj%R9fffTdQ́/+?ɇaO8# ?v]Yֆ-iwqεF鞗8kS+=sn4+۳nsݳyvu4+tW(iiNzog:_WMcv)zk-RN[6lyƥ\v eGiܶvG_y<?R( #끴 `$gfջoH3!O8q*}fkTd$FG~Ȉ]'(tGUHFhB?fN0H@3ſDChL! AnO)h_OJR ğ+2rɴ;|z޿?$/jt@1N}Yi+m\ѷٚfqZ[n|όq{':gl9j"(&$bQD~85UUU UUSUUAUWR8`: /u>*uSt%3żVbn[T _߰S2.+Zosd9:bipt9MH̷ fd;gp[YW$)=;-L_O^}2?˴2ٍIw&u:1q{s0y_#4Ύ>5,Ɔ3{+XХ7<nT];y}GQ~G-rcd#\"ԯД 6w yϸL~]{B22qyPz^x 7甧06Id#*((_r|$Աǣ}ҕ)>8PG|Q+n7n{%jV.dmѽY_ٿ\.FW%qːoRC2wFɛܳ{t{|w˂8tql9sϏ$0nڮcF6)Ç}Ư{ZQlli)b a,v gm4yG vݲstةqvY ewbnï3w:ZԦ%eݝRpn;idJ//#Vv0BXH G~|a&Z   O~i2l 1uR_osmӛITܵsvbyMNL _W얃*Nw_-i.=n<φM[Y4$%piyTf 1X²|eXYRb\Xϐ޼0Gɸ{.aq*ЗXwʹxˠq,!n]w@ +[mAwLq]nFKɀKA.,gH|#pe. ($ôyRA"`ƚ /c`r~H3 pb~%S^%rs\NÖ8z#]-ۯi[#rF~m6lLʔ'-{]]va)6fa\:0)4n @J$=0d*E$櫺h딻3~HU ʞk,]:sJKIƑ#򴭥"Dr7lr亘p$vi #oEI w }B=7Gp@Fn0n/RhŽ){(itaR%3O*:wv.GqFhP#k9@YVfc(X~~Ň "9r̽OAGDx;_WqwIq$n @?@@I3k,OR^J-8nK 415$ջJuUF h nNUZS+ʚ9rrM)Jv풭mDdeW,l:b0v8[!]4#8ζ7vϊǮ6NWW7Na84o{}(=Nڲ]e|}k\ө*T I8Yo`6 k~tcTc#+}­qNY(DQ]sN8Y3J]Z޶_ Ng+Fn( V@@7z^Ƨ8|F@b3u뤯f[1/W, @OyCl >jWsLv"UԙQJ2!(b-iIy™'=~ʞx>mȎ{F3W!/Y$`#?Z j_?ruo_,:vsxꈥ -3-߃%蔯.9UX,~ы|Q,v[PlmcY*5 pܿ\q^ظ—{q5fZr.;k9|dj`7R#zsZy$/J./:f_ec#Y# 1//15@q; `DDG:'xj5Tp7&%Bi/}7ⱊĪW]KSAM.?3|j qS,S8Sg1F|u]5x8VyÜg8ťJ<.1b&;.fQh:eEޤcʆ,zX"^HQ\0F˽6xw+t+Z!ċѩ )KpmZM iCIBx?W'^?O\}[g.H< GW=(oWGIo9|8GFCLteC[@1!1SQȢApγjajNGS`+m_G`N5Abձ?NR3Mvj-et9`7/$6 hX y ɊqľE[+(L>+SYq=Я؃i{n,,!bb4"nA/ܓ Re6aPC/Uz+4pcUP7L35EzDQVjPLES54/M֎v/o&ͻސPݯiwfak;RҹN}ͭ]"nSHxdz.4xC=>q,t<3;'殺"yDY+lu?lfivG Kgdx]ѽ9fao?6zo9\g yp0ׅQlnk#yF0r4e2+Zثl΀fgE)=7@%t |9eyWrbkKєl^aIjtxD6*> 3AUBkd|P;p ^<.'=~NGw@'?.դy长oGdi}N_$guO6e\澩ژCxbmӄ+2yAfK[tpᕩWF{&wqR4a[rtюmf\-&{ړlxEH/呷Y]88MKJ^ggdCԿw}Y!]\ ׇ)e9٢M|=;t)s۸ߞʖE9E녯RVpΟ7*$BA Wg^rS^rǶ7^r];YP=+) [I? z)KkLg'V{1pZiNÄF9p'U5툛9>L\z"͌넲:i~wj/< uX:Myqn>pur!(Zsֳ鵸e<]:`r˗,61I3Y8fw\s7^?y.6{:% h^t\3ŤЮ%p#MՕ\EM D?R]9Ԡµ4ddvkFNFAЂuוEJoM3UX0H햤7uH6HvmHú;:5iW]tcæw{X i|=,:.7V= >zwlϫn{8:u. ^fu]FS?9MI|;,W*Eq‰PxaiKMv8˨0.b%JK wrgc85vU-/Ǿou>qz7V&Уg$$q`FqOlL͖_Z̈́O }yHlk&WXet] Ug778zPO&0@E%8II~jJAߌz-[gՋZg!~:{*0rɕ 8[zݜx2lY>1.X* +tD#I Eq#qJ'.ӛs\}P C?$0h+.fGt[˄C!%Ov˴*^/6b @EwRH}H0:!!! 'd'HOh@E84 $CA..sRNڕzUQ1}O)waZ%T8.˪(l U'uⰉKC>LN#{>\^]f*d=+EG}`oPm(^F6q R-f;mfI2 de2kSFwE$}ȼlpݿ>"xH|OVzH;79F9SM# ǚ%$ * )vb/9dLU3CPa48a R5fĔQDspp1XTT Sr[AN a$tr t ,LҐr{QĞԣ^r=17Kҫav0] Mېb~u>pU0_u& ')vB90u~"b"9O ѓ4eH 5'fe0A=?r"U$'#i?mBP!j9 )&)"<& /;}}QMHLARJ g}קcyy`,e$It]-}o @5H@6 ]rOaYVb6{?!#gԉ>BJmu]JDw%B+1 p%1;jPᅐI`@Ř<6[|wʟ \ W/\Pw O tzpS=Њ5]C@p$H'A0);ixvB.\)򙱤4\(a~ L.VU&YP@ <0`Li>sh:,X{h2P!4C 8Cnxv 3(g: NG\-3B;%'ڈc`! f+"q?z=!fiF&6Nk=b)̇~Dk:3xaH\E!w`vz$hhԔb%@3xa:z(Hhr&%@Hr1̀K,C(C؞)Ss uvG~FkӹD#É(R`@ǖ>ɢro~rP$I&EaĄ+ájREo)[l,pJY>ٷCvbMI j *nrcFD1rW PM "ӣflyj m!h!b4G$1IEPۺPERBT 8jҳI@6)J3<@!Y$He Ah?u%/\!vD7jHڧ`I k ٷ2|]&Kā"}K!HD\o5}ze-b6E2sB{aHH޴ǻ&i;sh`;XA$fXuq՛; ^kzT:wYĥEKJx˩(Jy&'hнxͮwϛJw`M !#&U2lβdݻnO/;H&eafa` JN{IsxPܕv#TM)͐:XB"7$H@|){ۚ@ׅ;r}3)Ǟ Q:,/X;9Oɺps?JmbL$ N JJ>nDshE2XfR&Y!)FaގC#;Q /JpYt@KhףP =J Ni<]'99/G_o#L;RP$`IP#4\d b6Y9nZ5{`xy;%Tgj+3xLF`sR ,CQ8q2^;C@Wo`$@Qʙ7:|t&SA>6s~uT 詊 qfC$ <:O?Tx&B%b<6x0NԄHt kU!/{{1x(A<")(=a_~W6mw6͛8J̫$ P4Dh<"& X dyd8TTwWv h[ f5˅l7wYc'`cOGAATpҧ6.W5܎A~8GU+*)>>  C R+~8bG%`2{$Rp{ki^n| WhU@g 3]s[U09|zW:B2}KQꗡ?G_KHa >c߭$I?4󍍎A@,DaΏ"@Us DPgfgobxIIH0J"^E@Ʉ?(Ő94C(ĉ%\Q.~ߌ{dhdi@a807IP"ue;#vC:I߳4G!'=a0qP$rc ˵4#& Oq߃M!316dg,Bq?E(I6I=!%B}()2HrO@hvGp q@b7gN@".xvWTx ;Mf4Ud?A`N 4- ԅ k e)\I5qۆ`g@q ??Z{mAPBDc0_>Oӽo \$יNc Kf*IV^$ʠwyb%ˏ~nZU |xz|%V ]}, m$ߐh4֖=VXĨ X< ̳pbT^az$q ^1΀ )FԑPKŇOrhaeg=wG7Ӕ悫PڅtEi=$b^1I!Q 4@Eޔr}y_ ot '8Gpȣg'(`3>'TOnPp>xwLHG E0VS0FmZ$FtM٤wlQŔń#Lj Ob\'?1!Rrɘ荘{''8y>JNC߆##@P% :0DLeDþ߳[_PL}(q1Upd"PL HlsᕠZ@)!d .DO!U94!hG U+B+`w `}g+PQ6d`+dH.Z9}*hŀ#bC^xWH!'8?Q>A?("H?h;z`v0|3Jє b}|N'<K rBthhbP8J`.]؁T0T"6/D)- $L(Goka g'NdLKK`6N9{<'뒰 i x}& R:53&^^=!MȘ^ZB jGχEDU!KLK.HڥpT*x7$v/e]cd<[ W# R7^^|#^㗰&MA*% c#xBx$d+/c 5J(<O@z!P+ u)4/$`$t,{K< Dd\`jܧ mt$^_~{=q`VH| )o6/LF 6 :*6?p}^ҡ󿬣Illri!ǎ.i *1M#r9 }8JB$`{a%K3! >TnqXG_+u}N[jXMP /"w*0Q1K9@\؏R"ȃ̏҈M!l -c  {u+"!CCCI. rU;X~?N~2DMI2L% N$2DCB`m\BMsH+pEDku`PA$!Wwoby:2!9_Ą! )?44QEQQXqG|6^F>hQS}>n6WRl0Ca= z4;KMn Вbi=CP 0""h)t)8 7yOxja h]@?\gِݤ1q fC_N/t؄ B<_i 2B(ɊJOApJVaكX: $d9'Wj^oC$B)q4:z D @j?KmArA3Q!40$8P>@#'}bfh_Fė^Z">Ƿ RAUр@3\H z!lp NRz:Og߿Ng`+*v֜\;KY XBcBY0IvG$yԛݼa衊jHoJ&d8X5W(aΡ4)d@8\]5ҝb&A(q^ߧ?G8(CT4kLJ OTl/xO_סG=ɑ8a=." DxD,J` '_Cꁄ!NK G_0>t\j6T\#%ZxB'N>M+ (~Jb4j1xo`bh#T1=*#O_9W< Gש©e $lRNֱAD~]b6(^$Lf_-$9C*:D9nwHD:">*0 nA/ɀH!aD˂ 2p1 L!xx7b Tfl;lT 7/tQ I$ )"&ZH=˩zp,H$R# P;?Zy%TsAj9 $ $sD$J1*w8>kM!qsXl чzI2{P@{pys:o @|G2hjLz{h)gvCP2'|q+30)&=}~h!?sULCYBJ}C]bYi#ic]"s5T,kĄN/܍斱Z2M0,6\7 CPÐ޿oC-:(ݤ̷!(l4$ܤ"kFTqAw<ҬX?d&A?RAne3_d#q%~+mD[ҥ) iv$ BL:0ݡ 562 jp{P B EXKt")Niy{vT4 @RJdO.Edrpq0"@8TCXP:0yzv)E DHVߏۘ5NLm}clYq+T?˒xΐ$`Bi |M}W'!Ƚݯf9):!`cy y.ۙu[mKŎGXRAiG,3DÕ;Sy, *H-kg}8NJ%;Dĸ<2XĥD i<iG8*!-Aff%T:zI+ bC,,pF4'x`Wwp1`~Fvz.q® zW!v.zUg%}^M!>J O)#ABJ{A,A$yIN2L")02K H0!Ԣt}RHg֯ILHK@BexJ0`;Bl9VDPqX\b$ ,@@Bi ݆Z)HBhPd*PDnX_5S(顦H< T0R61 : m#!N R2eIߡ6>X W!?xdA' '%Ă!HL.堒=vNpP:){XDI`&"/TI(8aI~)4JJM&`\(FVE3fH814\Ax"J(\t $GaG );l$Pd&@"c/ 4q *P0 ϼx10~0Lr\0?[Cڊ$`#v !a3'~վdz>fύ?^2F /2M$#KݠG>+ Pj]KOXCLQP[W#?k|s9} +JsBf=Qgx O5yƗ->0KrSzf͜KS:Em땏dXfL% 8˗d ]D\raS!6nT ڂY)"Z ^E+|J#\5j=F=uĮC2k!fsI'8T_ʠ CPFqdP4tr,=U\iTNd]7)g4p]~e,b7a)!gO?uЖ,[m4IISdzFVr Abxձ14W&݊@F[ . װ%Ii Bt"Emz*1 OCI$*BH+:d#:ړUs|s@:K2%Q]/"(D .GOEPbO_)H~s䂾"w"!"kNb Cѣqw4TMoCV,2 r;H܃/' #~u(I n+G1yCm p7HCA 0I 7"9d !@@BBA{NRL^V̴>"&۷ۤϪ_Z>KdG]fg) wtH6u$ql/M$Q\M 0XD-Ď*fF !,˂B^!-^ ^.>ɟ`0EBH&BGM"Q2;<'Ss]Qe@a@bW<a_.2;Iy#p !dأ)آ}ãٷ`cU3D"5 hu&Prp{wc;">Ozق$e3,1q'$€"+ J*0U3y@SΕx!s"?ӳ_Ϯ<1_TZ]K\77>@hO5|׵&M'\E&ʘ'tA6+ߵNDCU;`h\@ P#ס0 wFdB6F{a x%~&n{u(AP@ Fv EPjE-VpcLx|t*D(d:x"KawZ ۤ 4 "DlbU z)QH'fN;#v' p,ӳp6m9-fe;S. )&BB :A%8 N‰ZdŇָZ޶akHVI? }'X F" "*iX"DB =l!](mTt"#B4 `y4Hހt ڮdZ'rY[^2|(5(fWhgzVduSpکkϩ{EЇ7U 0! !A4i%2I i?IѷZE X⑪æ0*R 0LHiOƌA#Ւ[ x$w1E^NyH+WMpE-_ەuX(@ir:әHm4CL-kwaq0T)%_*69Ifd*y JNʕʆ vw ] 7#ęF4AU%0(`^gA$US o3xG o2E|y(4iBۯN.ZkIbB2`kd#bO4Q4E` $BPH[S_L.MJNLƁ͙sG)l(o7.N58 %yS,JG;*G >B@ǀ8> /h%h QCzG抁?Nq`~h~p2zOUc"C쒸bl7xH9ѫ`n̺n͑[*yQ"5J.4 ܨB1@8,-F: _j@i?˃GZ>b}?5'rJH*܈z UPI@P?2h+Fcb[):~8RdW1tmʩ'Y]ofEWڙKy\-pX[Xĕf'+?Gvz t9l.%OHi߳Ȏn1Қ6,M@swK~kkyG>` &'KRf :]ߣ-Q:{}qwWu{Z:[ҕ+kumZiOSzch0njY@"P.ud r¼J&|}}abF¶χ|yg\UUVm.UUUUT -UUzzz}JZ[)@#RYa5'mSQU\ymwl@u u3G65$ -sw=U: HM9pr5K Va$z}M_+wh/ee;Jwo@oAP,*f0:mI(f>Q?8i.)ilp#-̋cm1f6s㵶Ǘ S0Ѱz P#x HH ^gh*,敔oH$vw(S^ nE5lm6?kmA ~ /Eˣu%.Z֫k$p{=KE$LmMvpII]eBs+.~ʪ<2Q;q< ɞ3+c6< B e v] Z06#" h N5D2+:}bq|ќVypTv gCI\.})D|c_ߺ ` %x 1W7g)&2#o.fҚR$ 1 񝝆vUh~9B $V/c!C oL9ny ! VX$b\ u,*;}I13"#co~Ng䑠QC__@w:"###3@=o\^TyH;íw&25x}:\3P[j *XzdPc+ϐmsbTIRHF #&zD{yǚVʤR"ܳg&Kx偎bq|)A1LZ]hOIY{ɛC~m464+ܥgRPܥ#B b{xȗ>YXbUTdxp}H` \=^Bm\#% *`1z{>TE-UM1DIy)HhE@him4LV @A5="*\e!I.) CD]Ba` #0{! eII4T(E PEx 3p%Gi"+T$ޗr^HH620J-_$9xI d`by?AQUTyaay!Ci鶫e`Pq׬1C- ;wPlw}y44r~o B,!y8h*Mxx@;;n nW'btHv;8!p9~G_Xdt ]QV$aTdSzK`P#Eo-zJmR#w }%_8p21F@=V r>P#^%E3aQِ-؏/jqf&$= j& , bbcB8GPI$u6MJ*" p3i~]_]SJ[./ 7UV#J2 l B!ļbpi=GF& SKu|WHSf,ۻ$q M+Re@3KK" ܜz??uiTEtr/`wEP1Qv;@ߦIW0$MwBW웙d<QX;H9ܽ˄#'دQOjS<|LU1}ϟY}W}޻ٛ&Jc;|\*0Kg.DžS 1ȓ?E۷K16!$qQ8iBh$JNcFG}aʞUGpT& nݤ6R>%{b!'8!AwoB= M/F9:CI<;cOI&sLeN%%'ݛ r~" ϖI C/z9`1\7"CJ{uγG.'c9J_څ_/meNJ `h%!T9|}$M'?AL@M#O :#GP1 ;["Cqfi +*G>!ztD24~ 6'۵!x66[ a }M;  |lX S3|pIrEj*DG0+)%rIfxvcxxvuwlb&>~ +H KzAhKp $ˠK3jBA ̲B۰8 dhDo>2ݓ*JJ,,cp<3gE(F'˞y-][u*ӻwt+mM"tr`ILDuԬK^^ 1yr h0| jFQ& ٬ؐS&_,Id ?~9c2EQ48*B[M@@:Sa!% /#s$&Se\+$!! 6GX Aa5*)ϊ )dۻ9rvtj5+zh'$ lk<"R7Yr&K{l[KyI؜1ޏF\anH*H :TEkH48v-qK!+ e}^ߚݤKKֳ5M-|St< MsKW@h 9<1G.M7 QlYYT(;QQ]4yɎ׿AghѓAeq0L|o4Z}}7)+KDK`X{ԪB39N"A= Hl ϚDw">>e].ҹE14Epx:!? f*#qÝ=CPv&Ls.61 Gh2BN#ZVfc^WG0,A #[D'ևvCGf Dy8q.kA6nIƈql!B8Zҁ(i,  8 \ wnml(QY+ _z 4mwZ e^ ""$K)n̦Ԧ:ZS ŵsXδS\zL{Y.%ː*7z#-QIblE?khcrW2*}!zM$~K csBXRGwex1I0Bb]d3 0l4ۅ!qY=idҤ࿾˄ "%C3 z«ĸ Lab&"ؚD4VۜMiMmQaaj9j_hD(o9}s"-dbe9v'>e}$A $2DQIDTGAI:'3:&#$h<4 ,DD#suO0 bip8sO*r rOSú{Lt)ؑ}2 ;"iHRl RsxO̎A,ތ/az~쏸GnҚB"ل|rybGsrv"U7JE%h%t6O|n]9h| #:~BpWHA`w ITRR3z (Q`)!70s9)"L(e)*O_'I12"n=ӮJC>Gv+ObpJwJI.0AC~轀0_\%' maܵG`%`%*l6+ʷcNcnv W:WU`F+ !i<ZL1H-:wq\ EF,MԋP#l6?%(, #Ea*ّGH!I&xbJާ:(+#ԡ@r֍ `(mтD@&pE S%4NyhQ" rN`B$QI*P<΢b-AC1FV LpJe8(tp$̎6{Ֆ#\k{@()'2#^bGbhq•B-Y Z,/ (3Y-\ P0Ddyj AB{c^y;;^OC_Ay; b$BzBKSYYQQ HL@Z%h@Ny@(wNpZ5|&`,Z!T T³ ;gC|G6A+4% u!jkK;h@ ZA5hR†jTњcG3P'[yo !@D:pLZYYgp)_,O9@$4CC:H<~{ \ԍChbCPB<d / 1>Jh (T( A!~|( ?judxe;RzƝ C+ 1iؑ & kF'@n x ,`$qFf @*() X BG?)Ms|'\P&$ҟ3t.cAJy $.1*D W'!H $DD,~~gNDB_3*Ou =rB\Cq 䧢%zޤy&& ;0C4H]{/" x~i:0idlJJ4F\ BHzJw%"U?q aByb&v'|Hbvj?2.Y={j];%8W|_ A(Ě(?.#,p{RcBx9 ( +C)'/0䀏k22Џu@30I{`4KB LH}eJ(D;qόS]}t\BQ1)zwbDp _dv?130N\1I$D:4&ěvg) 0O != B1 %Oh#"$D@{ tHJHHO/z_.5ٽ:3@z/ kYLS,+\`ˇ;!frmdř)}r j((:u)r#AA={􉽜?ƣd2$@ 7!' ݞ AƎ8QacnY1Z$oPZL7*x-8h5)fm;ƥ@ l>sPdE  ȁgs@AKa8$@ɠTzҦ@dQd-UP&lA\*+220 *PZK!*uURDžH2h&`3hɭ RXV" T)\T! G!e" TKx1AtgqfA)ʭ.Җ(n@RCP'KnfElÝ.&\XsVQxo (4(BB Q͙{WG!(hLn;[Ćz_= D v<*<LDh@c+UQ{:ِ&Љq@LLťpd˲#2\-],%q GPn%Hv- E*`(D8 )JD9fJ74&XdwǠ66e 2* VB(8dHvrh F0۰KN{`N͜|P!!H?~'q qcc_.W??a`(bT:??@`=|M¯lC MK "#?f)M b+A(]HKZ%Bbg=Byc'Tk?n&cJҚJ<䏑roEgG~#J_$?NvxsYQ5l8'4ln59A aUX 5B,"|}'k7O_׷h}{dȠzk^dQAB{?^\eNyI4䄉~tzF\QDw$#ž= cGQ|˔@) P)SELjI-fBF`{45$6;0T'g( jQY$TcЁ "`Dt-4-"P h%4:ȁP?Ð-p˧~a0Ƌe!G;`Yt'M'qGUQUUTy5Cu @D;bۢyS>x%ei b`3jgaU&~#:zEnD%4:o?$N5}'$DPd5ҦՕDik|eE{< *GCy~7a%D-ji:~4@13Zk)r4$9$C`E7a%'9KBPKrX _SbЕ!!̐S ʏ?7w! 8 %i$/vk\S"R1gfqH o)6H"^>\ |\ l"oPx-E MM &b^'V*8U"J&U<`]~Eb i! !oC&G< j!`E$d $( d=)ABĀ)@2IT3J (a˓@P X6g>/Xġ2&%Q#!w1>=㿠a2>蔠œ1)0Wsvyk'dhU[4c;'Ev[98؋[ɪ9,2K -:ւ[cI3DEZ4PƤ88W L !u\ }Ӈ=^G1< k "ֳDxБ!@PAQS(1R|˂\ ܻƈbGӻCW>3%4pxxkJQ2 1U\YlblJ琡U 18}$X~hĀ1D z)l(,H.F㜺78}ڴ_]0M'2 ]!6 $^cRhع$EtAQK%.0|bHA2ɢJk:^+zh,~/WcI/XDvr`)!132e 1T,$]:C^eqOD]c5& $JfpH@*(02AԒ3%! m&R9+Oׁt;Eݬԏ|hC0|h?nj4M̲<La߷rΕHX 0_%-}LWꌴ|JOy!@HO\ ,QLH B8?ު∿.#6 w$AoHfh;R?|0:jϠѤ:tp}1!0gd9( f}dګ'FCAC/^s bl!! չ [|sAڊQ=AR3dMS_ \oyZ-5WV=vE5M_y iDx ?[b&ji2qO"RRJ[< Jz!_3FuX{S((7 GDDc ;ci2Tj s4Wr$T@ds rCQ EKaD, LCq?YrVuL1z@|D _@! RM >VI9m68S˗ ]S$? ^Qbleb h"!N'&ƅf $>g%$ (RA>4P:Ea!" $6W2vq K@{EX% `cÍz HBJEDI HnnW!a!֌_<>ŀ8$!SQ$+D 3{GhhD1>{~+vrt =&Cw^zrC{cVW0MFyNU\n 1D٭DP60DC]5t d)Q7N{"uV ZѪWY,ৃa=.[#-5Nt6BJ˘1wDn1xHxBC%k!)A#fX"V$`af $a;V\=]=2u"RG2 * ,*%݁ "N٠hi48R ,2-c,BjNK$`B `S uJ6$n vGb4Ԙrx- FEDPWww‘k!(@K"蒅u2KuNA.< DAH8'=x[W5m)d('rN8A9yP\:!]Ɠ!Hވx",]DJ" DJ# /(X=k)AԆPbU YJ*IyQPDsPbnө{1Nk { HvrQmB2ݢ,oH=מ)9OH"Н#U $q\gaaJ-s;wVp4B{nлSWʋ 7:ق5!X1;So;r/n0&BmV)(HP3IlX`%\8G* L1mRvUd. 1, I! шDpTԊ`Jf-+7LƖbd+z'APhADPHТfW, U @wza-L+t ʨ˜&d&Lʁ91ՠfh{JbG9xLj:z=8"0K ~cgEQV~y۸>>$ؠmm%/rl@5l{=9t<Bt)nĽa&v%{y&I2 ]t>17/9:z݂ )@+o(3)T2 ivŚY㈺ЈĊ3BHQic #G8(%#8Pݶr@܁7#- Lkq>5)+s;% 2qC+{ֲ1TTB@ٹ 4nJ}I\ZT$""MGw|^zO2G.0,ʚ5C{Qjaa]Ւ,Psygje=E>8oPA_ⓆJH$ %HC 0ΈzvwWr`nY&@E/۹_=REbGo$2D@7ffb.hh'=gdG oN`tdT$*٘Ms;L߬A4$ T+Bͧ-59rBƔZf] D'zOo/lT@Q4D۔i"I\:T (e@P)QV\BYTA`SٱJ`̘슺d Jtv|#U۟vNܡ4S !I@^0br4B*U bʡD+=WѤ iݽA#KZDq'סEL~C*TA9ŶeYB%4 aUAJ8 !3mPІ[I!`@޹{biFÐBD"0i+,>T?Jzw/;!Z0S!!i<8Y$(&#|0۪?IY9ˑ1zoU<*>CҐBl!$(Ŕ pn^}g%JDHij'w9z'];e8s߂19X $^ 2taBrrs:;qhs*$Dm3m*mgS{p n /Zuw'o[ %f`7lDtD?)ZW}%z;FPuI1<"!6ces'G7gcT?H#‰, J"43(QPá$Z\#P/-͢6e8Q f1$©-\BkJ)abELHX~bD#>oP11ѧE90q3<*6pTq>)=(q0r Iu ew@R(ʯ&;o^@&9.Kᣘ5;8!88pa enѼ8IkL[" ')APd0f$Ҍka0#xpu4=y<5D]sJvH.8J63+$հ+i Ž Oth|}Fa][#DFEQEs>wPQ@QQEQFآ((" (((AEDQEPQEQEEQEQEQ^vm]uw@r HtjCApv;#"z 6MKrh #!W"+m0ܱ#sYg} 7gg#4;bg@s:tv`(:ghs5&x3V3YxPX胤a8gS(+)Q5w-J9ַqkDBsv1q9zn5 D BCx@ZVG\ yQKQÓgA`s4(-bZh.#Z0uwfGbן{˃ D QIGv6 f^cm;7'7Y=ć|{3.bqNR|fQB/0>$ϊՙ%>ziJ)a ;Z4jYAAhޡt >g9H8ǜ\(87X-${ɕZoIa4,t Vē+\A{ "JKz[M dҒ0%1AVJ)\0Z9n`Di/5+m*--J$>*qӲ8 Ʊp"3&)5j (()LCA±"1@1 =nrS5.lLF*B,(\Me,eڍ (/:ˇ .+k6.0$@B9pP96ϣ AEpDa1GqVkF5ẺpIp[;)ŒExA sO1Rbx]MkkW;DGu\SG(sQdxv,ߦSUQTEfEIkŨɸd.ёLYA!FTAYMab KOZo<wf DI\\6hk/cN|qsqzJu4sɓ_uPo20>q^Y+Ng*2$͠&s2XE?PA X+I<d7ʩ,0z|88}s3owdpr>ZzOuoAhBQ`a@y\! HdХj PPFr8hF чl&RmUNA{ʧ!1P6 "Ϸ˚r*f** h""JfhJp)Drq2ZL+$;P7˘&]0HK]J,+js;cnl$r5V`x+\ oU(JJ0-"#*&u5A2%H9DŽV:Z=c9AJTP&UWgڪ*dN6DEMSUdUm&" "`*j)hJXiߒ (*mJh4Z`h`Q?f,mUgd+e+Y u D B{bb6kUEõ0`y>.""&&8`g )&1`0f!T ɫ+<Âtih[ F]-5aG/QxFU,(du$J`('hh|eDTIJvֻfe,*RO8C1,DC0A,M0A13 DAM!p<;4Aq@Εsga.#d>0<|.Uo7M0Ӏ^(("@$=J4 *r?3/rhHonile=B?qjIKD($;D' C\}3& 66>ZHXj6z`Dh `) & V DD_-||`Obxψ,~jĒ,ˠaH|Rx%%!I{Dジ{8J_DTTK-(j\MN2'U |qNĴD"тԢJi62s#3ME$m6'I 4"R?%t@"Hk97r:p2i2V-u~YCq|?Ui|T*D> 4܉(93`PUv)Sdn|\/<y<_-E3\cdq|bFAGnV@xꉰ6 NԱ:ȫ[C?q1N3Ċ`DzKk"nAÜzQу<4qdF*+uݨ >9s>q87"#&[J79F Dw> +dU_)IR$#& WZb㤎g2x[OfYctĦO/|t)uCm6TƶqƗI|E ҘǏS_=8⋭LIDB8k{ǘ^o}D']L'JPȭ"!_coD*A˦vF'8*ȣvxĨ#׏ƹ-h ;W7Pxzد(ےj- @O:&"8MDo)Ec$aɀ*fDiViK`[ Г=1YO3fC+se@a !Q`y@R#醲GS2S6xEǐDĽ,p,Vs-<9(i$^p8,7-\8ۼ΢Ap)mR/),“x}/GM._.:֗R瞪ijb\WcMhxu/1~'jzaa|i=^G;Ֆ}K : E, Z = ja!iIG{1 (UDW}*,k'j"8pshJs5D,|y!ȗ 8^&:1E`>ڏ%J` PXS}G:8a-~ٝ K$&{M\ %{SN@9>RGxf8`O:"^;<`3@ $]#iB[XEr0!r*|i'GĤ!ZHVBd(Z@ 7󱰏@D2Kv(M/86:WmC\stQgDj8`dD!4*##H<@AAs14&%%N$C @&^$dcn߹1#u.tMУb}g&\0RJII6x t9.d~cKqB /9D~'=➄Tచ>ړg12S b.,P8Y 8Hz fZ'a DQB6tgu2]ghr5V\dÅN j7-gtGr:`0bD Bcu%e0 "#&TA8q`RT@!} i04^0! #b*)eM/kXXXj)Y*cW# ?~>o-Hm̝$"5"X 1:+^8n/<ҘpD#>U͞I1&ׂFI7YDcamAyKooT㝙\X"׊6qO,5ߌ.K<-]6>9"qllu捖Fi4NS=kq*^h3w|.xbٺ9)uzyɌXN q<<;}{>~Mʸ61g+&Z)tZq81d'|WM;D굩Zg;ĉ3 r=KV syyOu9rE .w)Wugs<=t7┸ wy I1q!W%^w%m9atw~d>`3ɇ b ,0'}"SJm Sv{AO-v>eٴ; ʘ3-Pv4L]hb mPF+P`K6145T L2 dH*hD #̕}~윐Q" 0=!CHsv[\mN(6_r[{8c$PHI(XHUTDDelӈ1t$ABIh#aI+EwSU{6 ='qЗ eu ,F;8bk9\CmMA˃'kO'\pdԔHtTeiBQBxSF"K@Uz)@A'( DbB h(Q`\2Ճd Bp~[qaS >T(hOCI6a&G@؂s?Q) D@)S 'b!tw%KhIoDnBJxðw3/(*:bWr|Ĕsz Sn`AQ czYUW0\!933Ax]"d/)qGsQ *\r ',t`# R$ v@Ŋ D CA"q|1t:jr0/_xÂB^C? GT~шD0!\Bj& < E!HZ&PX%)V b~gZfXVIu4g;۾uQ[q܊cZ u.#pl&<т"jFN͛5yJn.IYTI2GQ@BZf<'tI\9p;hB)p±iP8Co0i"ɣGH`ɂӍF[g꒕@RYD[Yȸ8ѡ1hcbdh&WmSQƷWIbZ f sF1,ZbzA:40@ + 0 4]GCAᣥ*Dl7k~~ z7hP:`"b `"G|#xvkͧlN"Nm LWV ?AGx<䟼^U]aԣPd Agj?v{qBOPlx8SG~cꗟT ^I؏TBKP.T),zqGHL̍~dbAsV1#["D3ٰ•'x<*1I'҆C1Ԗw:N}b?d%#\"LD }Y0<Hh5]@R" 0j:?o!($0 WBA׮ہS=^d |o`){hJ m1[  hFOcsjk&9Js0UV/꼘*n  j Y<@2glSCH@`F<*FC0؜ѹ8O }LfseiMD$ yQ6' e|q?Rm!=0> I2_֍⧻jJBQ-F DC PF4"Cx@ L*8ܹœGsH!zbTS9ҠG0ĆPIGMMJ',3D@D T Տ2J2l@5qXW`Y!y?M.AQP>dxGzuI$Df{d{_PF xxu,( ;0j$_i hø;D9=FKuv.BbHY (W^ z0f "2+G_%:$9=w".0>/S- GsIw3։ 7x &r @J4dq"Y׏ZL01iIf:X̹dN,8xI2TMI0) $Wq |0∲*00B + /yKRQ^%lqB$ JHiTAԶXyDCg< 4y C7qR\NaHzxS;P^F$H;yD&-0){ #JygNlﶗ gi0JJ(i#k46ló.9tdJOdj+:HCl=G2SkG821ȱp΃~+ۘYZUhhiDÚn=Pb t:?T|J A )?WA=? G4n``J(Z]L&!|0' C1(?m}o<`1#PXjq6lz~7A*H I/r3 Šps:<Ljwj)I ةf5km$$‰054:4 Cx861tDG2qvz օ0bۍ4wDIJ]XuJQ0C<j*0œpqM}X^qu$!t-gKQ EsxK/G= 3 aVώ ^S|lH::-ό{x&/ lTiBOi#60!Ü?Pq>oH>#øLM$@`^C R&$\Q|G@>h<"1Q(2 B { !q ?ID "hh)aM(:&4B$B&B SK@1%i B %DLLL #BT#KHSTPRi31 @P҂i)BJd JI)+H0PP4@P$AH,J4P+JRЭ"R )E4QPR ҅ R% @$KE 4+J*R#@A0H"K)@S0ԔBA"jGuTp4_)4 hh`L81tTE4%ۂEy9T7d@<*5R6τg|PSbEQϘy8;irB$N6}C܇ S`1bL1Dgz EUB4EI0 JDQ(S L D5 "BIQ3!M%A S%SH4IQDRCL $A AP02QCwӟj)pX4k=+зXȩrcK萑 LO$f{Qg^qԜoF=ޑO2)VhÉ$%4Rf/~P Ih!%@*4~Ԡ#` ZK^i$yXC_c/|xJs$#W@zfr۶!JBB$|̿5:X6O/ԅ 4H@!p8 A HL8Ҝgyqt\<쁒eD#ǂ cb *ԅX *wR!#|p8# : eFtbwm=h wJvǜA^` {]݇ >8sS٘a .5ب9@jTA!/A7 I @UDxQD4czQB$" N^+A!RЧ_\: O3+3ܓg\TQEUMjy@H'<]u IdFMġmRnoK`$(])pyM޺1Ej7yP{1=E3)zgN12꼃}P%5 UmlU ,<#ӂbJIah^;X|>o23_1܂B_ |vH2aqpĠlfB%8\SO2}JIbn&h:L %8 P Uw{ޕR$, )x#& |K=W*fܕ1e~A(a 7/.g*_:O[oM~G 'yl~ΧL%-#HP,S ߃p>TH۬S[æ5Y'%@P" QI!@/0뎿M~sP4\!!83a"@<D/RHR f A=u|0/8tʿWh=TLGyĘJ C¥XT!`_$7 X G3 r/P=i0}1C9; ` XQ)2Qe.l|AxG=D ZU4L |#EySl EWd519wxaa"R/S-9"L^ 61*Np`=+&XԀ(SA4I2C D H%%(ULDQ $uϚ~/bO$)4S DЇ'z2"(ܦ䩡M+Rj5Av,YtQdjDT8i g 62_љNCA:lwȥ$툁=!O"+\ՠ(=nF[3 6 =Ļiy@mAxk)圍(W3肄fF i]?ԱS@G[HH^o f tQ@,- DH)r^}30L&Kx>ay+Ug2 |=C.` =;L:<;sQT)A^ǫq;xxXHZ82KTWnn1.¤v9WNlX"0q^`䐘!hD($#r0Wz>NS " 4Jt#4.L©c$†!yy ^y"`{Vi!Xca\Ԅ߹c9*E&9cX3#' 櫇m¾isTiws\R,@13)%FJW" wG-C YzRD.k|1#KQCG8{QFsSeOxyF8#a7b q[Kv\dI^Њaw΅7#;aH`,Vq $kl(#&D+ׂtg[[o0c%Qw >.1]uqB d(@SJ|h}cX`h<`e{DZLC@ >P v 'ʇH>3BJhS> nAwUSG3 +mHmxh-LQ !ZrW #vpf&6!Xc7SL<-7,7ќ5Lɔ,B%ۦmbɊ;!N=>X"BZr#&ӄĒ2SULw;"cD0Pp8{"aAQȅhA+؆>SR!ȎJqg  @ X`yIr&R# _d'Ʋ~0OtNJ<_pOy2(r5&lu8]7USyM S)Eh*N6@QZ#%b*bi@]:R*[ŤDҭ,em-kVF+c2& ]P@PJ i m!JHF"! kQZ1PD'lB©J :6ĪMVd$PV$)6؃I2 $ =h]FРb$(j-(֌X*ڶ a* M*;5lti(M#@Zm!+%m (PVUl,V""1 jVUjQ,,UUmQUTUb"Jkkj&b""H*j"#[mbQUZQUUUVK %A(#mR0FAD1U U$Z"+ h1 #E "P!Pi\Clm1 jI HT>%$Aɠ}cDDi46txԌa쁦4;ɒ3?P6z"-gas#|6i&ATu4VP*.WI&8CR(dA>$F6ȜQh%h(#yao.KĤT}O(!bh"bi YI"~ fB= "Jy`tkAdVX!И$hI`Th B%iCJ(Y&@fB*J-aR`IAXeEe !$CԮ""*BW/6;]:$O>ꉦ|ġ"(U+?N^|q~g5Kk|};Ñ}CQrǾ]H`%b`w$`=9{{r+2  4"aNmB5EZz+$ JɅpy:v1o)\SZP|PØb`ğS5@xVQ+ 4PƂNQG.xA(qk1L!s Y:v4AKHG>ݝtdRd8st/z)of@q;NvSȷ{?GOT`r)Wgwr( JbP2 A$E# B@pC%Kz¼>G[.U]0#4vto>9S694R6@d_߳pۃ"XK2:sfӢDk;֐[i诛OD?>é*B!W󒎅NeB!]A屑OE$MP8$CTL&؀m%M9*j> H!rS]` q$|zY(RPWy 2-pKQ!y9BhsKiZ1Q!PDh8NC{pe] (1;MSX  @ĩ0 Kc>u$xD]H}C=[ f9ZѣoOUQ'nחiv;KQc{ |r)@$NcO`.KeUK ؖ2(tI}L;p= *ƌl3}n8qh9lwV "vhQUQLBH @h?##> B]O0D >G>rG)2\s7{l]H[6I),Vn3tH11EjdkmdSC'I"I"l)VJ bn4 p#("K)l`jF6Jpӟ?gm7V՘/^}zCAW+d&\.ڤ-IWA'%&F^@,t[7c:^87XH@l>!2u eT 2*qKLfgo/$"!>Q4eabR"8U r}6QD$?1p߉ц_L)X>?p6W"Q3XJ,5GwD~= HIK>%)5~/Otz" /pUH@I f)BӰɓS'&<uY%]r6!ء{wG]~@^H/$ +s<]n]] a^2̃ (w3†S\>8=z3x$10L׌}b<`]vִ<ݬAJ2ɏ42%I$^Фa!"V.LGρ,`/m!&(#L < rHs6*f*[0BznqD շWzc઺ %FIJol^vhլ`ƻxHW#%7 $]Æ:$)g9C%JH}*+*2{@!$d@cXz6sV%~oT0T(R]( lՌ¡iX888 ƥEUU/58/"yC&1$%ؽ':p-۞%Ɠf )w"3K#CRh`@TC&[ȼA,%tI,rRS En9(ΗpJ*i%*u@WMhC^.17! ,exz!R;|k#[&6A#3?Y|ɾDcA @Rm& >iV14TW3 D0S9}2?Co/S""  >:2lpBr ! s{'pJ??)B &jj":A6wI1w5{<]$,aD^p`pOi5=.٥A߇EE)$HN Dz9'UJz`љw8p 0ܙ_2l\*N7k2&d~؞_dd>Gsm|õwPzk%m/gQnVm(3 [!M E]~h;Ъ*Ϭ1])ؼ sJ$O!*B)oyM/ $TCFUk#5fe<\g;X *V֙INͲwۮCf6\vb.0P4JP*B4ăB%xABZhC-U1DQ 0!HJDH%HR$M/„4{yI@|egAm5i<@D"!g-1705y#я$R7Ґ.9<c Ýftt-#B2(he`q!C1r+-A§DF K{;U`_tP9Ӣ(PSk0[A[UNО@W"1szF'Z F֍:Ѐ T)?B$/x:O$W,2ZQ˷H%oOMSP}Ӑ Ia4= տ|萆CsI3{3ψa[0:wQ>(/ps/nB11%}QP2x8C`~C>*)G@?юY*HPOX4&ju?.G|fybk+jcc89ޓzLe]rN|ǓCk p.Ӵ'7 @T#o+tvD H%:[ld >@(H(Q_}g׽kȨwi* I|ĘWabYb1N TeTfy?w~@)[0|c %;p'~21r"Hl*P}dNC '?N`u3^s+ӅLBmik,%=u7wl&.(4XujtAJ4qNa992'ͺڛs) ]ALXu/o:޺d ~ P 2SO&W!iteݫCMsxpd ܢaub{981k)d(^Bk,$rqvDNJ@LI ~>7X,9 @뇍&'F@ZQzz10!GAɴb um =wh˯f{ ząl&:G'=Lo7Haަ8pk{A:6q#Ihu 1)M0C ›wP޽>4VdIe){pĄ DG=` ڌпd#YC`̱<JIEP Qw%$` jmLF7AB Dl 'O~/ 2Y8tmۊI Éf1~[0u(c. D3}xE/.a-R!dmAwnt"nb.LD 0Z)#Fyx9f$(&灓r29fL 0ӊ .=4mkof!Fk*8@9iό"m"!q7`fyu;j5vi81jfVT^P;nΟ}ݢt]ǃF Dj/HAoxp)yۭ;3Ʃ'YhQGvLw3f-,0hiuS("Y͟ofZt|hêv(4DtmEURd0IB"bPx x9bL>;'s3{59Ջ3 (LL%5t vJ P0Hh ؁:qD|ct:pP;9|oG$56hjyq/z1%]$Qƴi4Fq.N bBBvS#z$=]g"АocJC@S0/0j瞖w4P&lBu^hO޴qg_&KL$-{9: RQE$P"T%yy4CW$ * D00қc"&H% RCj$(0Ҍ*Flb"?9Fl2KɀIAHctvNx"ɩƻsq=Y 1PHI!Rt}fC^q!Ok~*Oܘ!4T`OpO9XlGŬݻl4BdWB'KXCU,"$x 9ʃM0[+JVڈlna"\Cق*}?ƿIr>"\&H#W P5){"#"lE`>b'Gsh{r6Cf)l,%d< rxǥ[ȏ Ҩ<;Ѥ=FqKc=!v H|Qd0P!z^O NM"L& MHW'OB 1dT*(Ti0 DP!P !HEA8iS3^Jy5XbK}|S{z ʤ2}OG!/?a3h/<, 8^}_Fڗ~+Ľܮ]XV퍢"!kXOr_f AK0KB ԁ M!xv $AAJ]dBt !JHRP&LIQ`کi֕٤J.8P] =tИ ~#Kh_)0\@JpcdYa%&Ye- !9yCi(E(B(i` @("jh%bXBVBL`-*^cE('ԔVP]B!k>[a-]PCkf`` R @wuMVm_r*ahBm&RBGzProfwDU#N{.Cß<׼aBп3DZ@ȆbҧT*҉; VLK'7̶L9*BhbkhNd2Qp$rB _ `$.(Hb87%a,h 18ZTjw̭#G`~pHTadNp}I:I}K~5U4? 2Gw!YO&{*18ŗB.z*tc 3 4RB$@uC鄋W9'hr˾p^3Y{8 >!eYL V BT Pá6zvn+49#ؘ"! JII)&l8Bv۸̴Ru H. Y$ѩ (mLDhwq]0LRIl"h<@02A9ijhb@R$ j*nhB@u,MR!%?KZTȚT8+*(jMK(<Χ\f*/!Ub e!L0#$ J%D,SD$Hgا4"d쩏C@1?d[|Ny 0$R&]HH#д4]\pq.\܋q9!{p$@ayI*ڱB 0-$E&) ݖӨ9gfѣ0ؙ:b@ BMhxq1{vffádٟ+ zbOhBpoˆ"JX)% EIȉ`J! ‡'\uOZ>PrZ@bpV =A@u}gI|da:F {d\FV$ H ;xes Xa"h`r,S&0X'wB I DDGb#A45mP;!7:"t#6 8;U19D;ꓐ}H3:Ml76MQ=\eIw> 5z/RQO/&п?%~y2U%EsljA"('y%łkCS*@Ql%fpUQR#\]s?;sIEvLh_AD"&BSߺ֢ L_bdI3" -tkFRjAw/^2H H~|6:0[Fh+&4WM PTCY9A'Q:-]8 z44{ٛ06j cO 1D*@*g(;XE!bDhc@˴ov!RL@}: q`Q͑ڸejy8?w͹lp#{cVaoq!* RyK_r&TI `I)ՔJ4s͝眹T &8gSk].'èg'q8.Cx)f$ hrAtJ+ex%`s& gSCz80)R@@aHL #I/)hRI#R&5⪁ DT#y|/} S^hTWODҧ̎Ze>@h)` CEE('%0 Pu' 1*U1f N 28z2xs"7@C8w D@)+L fSQ~2Ip"N(x޼2Uq)C$DABh"_|' ])N<<|>A )i 랁M'(w!D4[ʵA F60\3~X(5CX1uAm }uW"}V`v)B5 >$p#HEDϖ|AyEYx0žMl6 ZF؃BdMmK 2=ʨp HR2H pV]E9 0Q`>{vgI庰G88\glL8 AI5j{%e;[?qV߬qs` ^vU\ 5[&C"mʫbJp5Kx Nb#02M-L]@j'54 "{ rBKXS D~yCV;qD!L$oiE:Ё$C6Aطn&Ti}=ҚsZ N"{:P"i=cQN$@xSQ0&x!D)IZ?pеE0ˡ; 2,)J[HP+5ҔFf>%h".;2)CϾp׈G#C?QБi6lmDTac_S_hII<"r4_0t!* j 5|Hx6"dC@1aT 6DU^;$DĬF)KK`( dY;HPzW)b܈ ۪gͬ]OڂbjJQ & FbH!qCjt>3pypS64Pv1 \zM FSu䪋0JvqϦ ϬHܞbDPhS (Oyx򈐙9VC'.6C!F#@rP?˴T$EC4yX/G<G5A.X2>yҪ|eo*$ &#SH jCz$Bo `1JC!&eAAzŌdr~ ٽ8#* 0б4{6\l$`c"c#s:{eJ@֬U >#%!AKLC@AKJ!)B퉨޻Cv J&#akt DPLH %9p6 !b,斗hiBF ln`) p҇ٝb\?D`l'! ;1W,LHw '{ A%A0(xda< ̃2l:Rp֌{[gGy((t7"DxF%@|Few&&3D?I4/  „n aɫ$$5b<3 > !$ 'HO̪6X^#NS@P1 @!0b$fi!ަ*@xxk{ 1@(~ T!7KD /nZ(q$Dp\HH~P=viUc4=Bm;S ) *sEz_1ad+S8qMjyW%)_q4>TFfHbU"z*AMʫ=㊏#ZJ nf4Ino|'gaaÄ2iUy靻6Zb+q8OcJXB1KRBP4UB塒((~@u,{ۯ6:(`@j$cQT@W=Bnbt) j$ć(d}AJDEQ ]t%(⚢)#RA;9"N+c"R{6M,yfk0ĴmŒ #&> 1#H#bPQ 2i^#ʘx<"!`03".7w-*CqhTSn&! 4p(-.XI\hX&ՌT@/F(k!g%#X%:㦨U{hӹ1qd`ݜ p;聓0mmZP8S'|ak0 a<^2L,h̙<]ҘؙREAiRuhŽzAaDUl c`4"Qˠ*@J+RrED >5+L}`5: b=fP $R qNL4 orql&Hhbǖ(sxp-|z 䤄P$KAAB)'#G߂`NoNPh:.NqmPqsCbJlM2l!ٲi0-8Gc׉ע"\ ::'ۈX:F85KF)L+m13ݦ66ɋI-ccmPUMpYd6, $MJRGv:r am2bD%|l )తHֆ!)=x~~ H 0qF iUz@ɣ1HHG":PRTb,y:50>xTf)UTs-؁ 2a" ^,y's'@}QM10-R~s}=v iv0HWn BR*XDl 7'Zh$|ki%}h`>>*I;n4v)!$%Xv/?iOJE/8G~acC̚("ӪzouO+ n1 ,g̿{R҄S7+nh,^t`p 3$̑Qd(U(uU;Ҁ<S~A?yqQ>/r) 0AאZJ% [Q@,5QCS؄@!"$"рI@F>VT!"DDC + C(EQC #2BTBB H G #VA J]$TO\, B BI,UU B2 "ҋQ!J%똫C˗' ,С~("'? AAzT {R&X)hf) xC82~w BʼnBWxCق. <xU@:x8i>2Sp 0`)ʩ2#ǻ"H4lS$PꈀCbҐ'E%`Uų> 9Ly:='%PPAdu#" +dP "j+d1k HB!*l*L U@JlmH`ڄCJPba&>O>kпO3?[g}|ys?}cSxo+ow?^޿?S?KG~go?[=sk=?vgOKm{^w}/Kv_K__G/~{_3+3>kwg}_?k'~vsk?q~R7kg#O?-JHRAi e60 pP48B HDJuʕdDUQVG"$AQRD\d\ZQ(qa UXHDT$"+Hk 3."#HB3 w-H*L ((С % vUUG"@. d?;Q_ܯ8d69ƍ@}O<%'_hLBJJNt,,H ?&H X慹k `=cRJd(j)8N84qׇC<jHGRFTҬ)`?XaJtfDI_x^}4BzGW#y`PC @hMHz f@id%7,F`fhmX+ۻbhd pżax ?GrD>8=~TV8 8'jqP#Ɉ95P$esfN_P1L#8xeFfV %otrqib]cQ9"nk$93Ù%jXsD@"⟋ R7L sxKL%mY+=&I FT)0D仢& Ka1rs0B3l߃ ,Ie5;pQ-O.d%҄xr- &S*)yꛗp %_9:0bzɍ*xNY|TM)M(BWu3/?7H^2lHz(1䦮rXv|8I8/c""P侊;U OF:x `HkOMNA+=ul9 U\{M,::3ɌeZClGKWaP@$3S+kr mc\Lyf՘h^ ]e8Ad31N-O^iۂ^.}JtB ΐ|!1 Vx1C`ӑJx#'h҅-F99*J<{5I LK9 Z_tkvMYX !IU,fq uqN2jȢr Z„0DDIW?_=5﹒B7dr2ujEm%x &JwOў1e9|7]϶ݯ5@< ,|3*sP@J&8äV\DAJ ,hVJ!{j>hͲ9,ݹ"&*?ӟ֕|uZQ'$xOS!Oru%]х#$>b"Ǭ2Px2"f<:VEcqhCj3R@FnbxnzDd(=JpPrzu2l7/׫ʜ 0h:J(Eq&3(/] bI﫨^j2*+zڥ[bM6r`tOur"LDP>9ݐvc&.pǪvmrWʼnI];5([=ZאqVwIV=z&D, љ;!XD]zE0$n tUH۪e](c.QwدJރ+0\-mL-OWj~Y8 È# GU>Z@d$@'^ΝsyBnq5/$VM5,֍z GPܽDzz.]Pz]O4Q؛U,wRdIV0H,7%H6"J"ؐ(*]krmhaZ77OLq&hߞ9]Y U/=@j'k5'(ޑIz 6dIP( "ُa.T6N6V'.vj/).J#Tq^t71ghfEs@kb, $o:Ϙ"eT7ܞL q9+8GXFܢiʄ K5ߩ.mw60 (9{ fP @0{~=V%Ԣ_ 5*n98) ڐB9&\ JPSŴ慁ýն#v7)@Ý` @t"e%)LC$5N#9E]\k884&셡@JTvЉ$!D( P"фu2"7( n/R@(@c!#(t1i"gy~ҍ>MsQ U7\q«r*e穯N1sg.$Qt]ɉFE<*.s}k>Zsn!0A@(ggf mzVW7}a 4Uj1N~p@`?Yb r.Q0pĨ08$uFI:C!h=4h`` UU1Dw! QGxRGp`XC|;Cp(0WOK$v@ HM#(CTUu  $1 G*7x5bh20:-Fإ~0=?U2AGr=E!ŏZwR!T#a ĐĘ! >{!S(G.8MPjBڒ6/'@ 1룬~2o2Z2ԅýADc*$1i\^ܦJ/^zJyQދ&--o(XZ2t!&WgK!HTЦ-`[b3Yڀ;Ҝ;06r /QUS4G?>a}$HLxb{=+4tN(ȥ)L!FbAaSBrhYnS g'EԧmfNGU0&FR_o%E8StAt1 _surŶId$]T d@;řBѽ83{7n䁨bCМl\Q8^BgPv Q8˭w>cw 485r0Z3 {Ԝ Ӄ[SڠE )$ * lC=&>lMՐ_LxWބ,[PL!xv/{>EQOAVv̾Wa A=>td%>фN!7ctb=!SPlxV򄍄4TW}πwN&~ٌU:AO^0czTY5 y!G;W=c&Hl1xwq) :0d3.@fPȑ#5`9#5'Qز N)i = hXu$)}.Ҩ(P?@A2AWP"'Rδ~ 7_o~L0.H RiSC=eoe$<1@AR@IaZSPD`3/;L} M= <~)HlG[TnED]A2I|6;["lNpOe'Af-8fH&|IiXPP@:L@ qqAETC>@*$B7ɳeD'޴$/Q3E!Ś(h #$e`Pz{G21Q1PAEUPA Qh1٘Z-mkQkRZ6"*-bbbm!@SU;2v}!P̬BRL$R4dJQH4 Й Hi h"hI@)V%(is-$J*1 J b!P@E! D4q#`qHX71B&cBB8kv[Ruo9ʹb*̉IJAF],Q2pA.rM 1@]M1D&Kɶdis7LX%ls.qPmpMFEχ` Dpp⸎}`@!p#Z#T. rƨB@vm2-L$=qv}To ;>VT8]孎 0d;G]l;|/ 4@m_FK!EN"B*8ad$bpN{Vwx7j rC)ͧii;E G2Xr yt?* P~53)B`B<{D>A a)$B%!D6+4?إ;W=d4G3}a8k)Dkm4;wpE ͩ HB$?B`դ xGmѶD^ʪ".v+5,Z{yR #1E>9BnPDnbmnO ~vSyfywbH $)@~ҫ'Ð創 _HҪDR;(( QzC]$T" 7o\RMF+qs @]؅1)A@C_;<┒'GEEd8]$Jj"4КM1 @9,ZS6sL_3h;>3uR8z=I `LM%j|IE:jՉbq'^ /Fgq ܰ)uM(AbÆmA{YS⣍?gvQ}FN< 3'.3\fȁSE1n6 -*bq9֚Vrr K Ϻ$0(f`_7msq1̔ pCq3&3fb~Q5 dd$,erZ*Sx%GЂ.jZP9pᨫ]tn"|Tj0eѸ2 JYZF5uQ#[*"iBLĤ8+E9l'J0$=ξyzK|0s2 шH<LmL´[ .n'Ů^ԓo0H 嚑08`:9kJxz3mVG(ss ˻ sF4U;R,=f 1AWUlӕ1B"˴Er8PՈB11a9G<Q87yy(XgQ xxcĆ/rǷgLf'HF*y1X`b[ rImIy+p.Z/9d eiHKWY;2k('CPIJ&AV,l()kX]@ޗI CBpD2dhsW("UB$h!+ʤC$`8fUm^C8"x06E'c'F xG1uDd]>0!@h! 1@zA↼`gj(iZȦ,3㎢D+Z;x;-fL00(C9l`Ȉ =w^"P@h /Fw[ Ռn{ F&c \gX/2GXVwE1Ny[D3FZZnX0P2U!3B;t|hBRsђ0I$39 zR AJ )m$!Sc}>.!L%th:8F0x$gvƢa1Z'>E!^E<,A,YdH_3p&c"Z }y&S"b0`a @7FESL``:Iph;5f8Q<$O@mO! y>=}L2Ȅ ĮNQVZH.Н{E&%5 ^Hjqgd; @xS< SV(czBQ8_p@+Q)H'-yBrTF>uth Pj<59IkQ<zFFE\ZIZXZd1AH$N멪*|JbBzOL] @8 &)(JT%$A{;9j )Q$E3$BAQ24Q,TLEJkX,^)K"^8#BOcvEUxmطHoܼv?N =@y+a#$<jf* ) SUj” p^5na8ѳ(Z@=0Gr}:ޮdžؖI$)!|#H)e hm&``lh ,£.6)O*#1UV2 }hĨbTFbRϐ,T |^Khg,Q赝n,$cFrDaxĆw #4&fR.r-AIBqV&xlaD 0ZriQ(Ysah%D`"Dx[0HSeDDiAPI2MoݛbiͽhREimoNYdT` "ȎB(sP<0 (BW쟨< D /}fJ)♂:cC{LǖӮpʓ)"G FT DBjhFZJk@{N `FC#=@Jg 8z9p 9D5 QO_txF ӝы4"lJ}9괼p'87 !$:)l&ytʥ#Yi P<Äb0(+/9E BHK5͕`{󯸿^ܿREעP׷y9ϯyijkp`hq8" Fmk:қ-S5͕\jpQb:y-QJn* f]LPKn68GvA0fB 𲐰CDcd< "(Wʥ4;Z]0BmL%4T hnÀXe0d6$ v!ITbC)fAa\vƻE>O trJC2e )V! P6L8jlGg02·v! @gN81wy.*@ C JqQ`np &ӈ)QrPyUWɳaAS*C21Ol)7Dq@P6Q|TB'oG>s| p˥*+GҡGأڌW0m4MTlҗH!,$ K j" (ތy$j -ED_D@%\81r+x¡܎3 aAhJ P6q&R1'QG%%J B$:2&gRA#OC:"zD A.s 1EdI˭:) Dza"KqcYE\Dqct59j8XPYEG 8<($6pcÈ`6ɮI;FJOz<:eO A9y$7AsVLƃ3߯ϳp# r|TGѲ9tJ '| o&?=ܧxv8a;40'iL;`p>y)I0lAZc(6dV$tI~ `zq܎Ady@$po,5ZsϏZ 8aA% ~|Bw:SH VؐRQD!)r uGټS>oἎDyTe]E<蟿y]iuVW" FGݞ81E&?#AੂflcӅTP`TVD0"HȁCE@A@yh5D0H2̡۝2! xm$AA 7ݴMsVE-Z Œi%DW`v<%pR@ JaZ(^AQ/c/OFfAzB@b0FDz4d$P ~(s1Xr+u )I;a'g]&$ %X>6N& G2(]*>?%i)"x'h0%v ",Lm2CK<ݤu4rN?Y ,JG<Hz<ǢBJB.*@h30bn,V7&> ^7} QW:MPC~zv&B\r][įuKsɉn`Qj()G)x7㧙 d'3E:?8Y)ܥY3EEQQXUF5P)vT>'X@o>+ B~g((<^*O~׉'f!\v4[>!1'"@AЇ*BdJ|z' gՊCB?Ph@󇗝⾘S!BdI? 9GcbˮFh$kv 4#!) I%${M[ 0%:%/ K.~%׮3TDxB%QЀy2!B@M !T'ڊ4! %+]PC`hQ})" x0Dv:]o[$t]hEl1EA 5H`xH&&*w|"@@cKK5SDڥ 9=!Hܠ/$ps;ۗw>wJPDD!sGSLPi(P`GI B{? (8C|!G<w噐=9 0H1@d^nҞ2"S'PRBi#=!>`MzbU @qea#o& Tz0B+@ch1; ! p P"( hO(ZF>>kb@ji CU_{&,Dl?ata"E "*h"! *Rd- (>XHH&YXIid haS?QU M?1) $=j&ρ~{9YZvCGv`=ۦmh:f7;泽oqwyt|0 =GOWn۲õ^7;{O|z cyλ{hC神=6 ׽;39}:>^Gz8Ɨ]|GѸYvqqo y΍}{˕znooo݉w=`S&+E] ˯\ۻ5S6wHw^xҝ4-[}w^ف]j:鷻w4LXն( f^nZw ;m={jZ[7f'tv͒Z3evۢmy䗲2wx] Lmv OJ P{G5SMP|kZvl^6/ {:cͻvr_gUS}=A{h>s:m=KҚoF.Jק@2oMalSAëG^^v=w[hOn>YTtbw.eo|vޜmwSn{fv;(W%9g{]Ā k{fw͞vӪ=:7pwO jܾ={=)D]:^Q:\狽ǔk@:{{olöԫ97{2z4ci(+>w=zxŽQ=gq}w_xiޛ:;oK_oK=nK{{-ӯv{/3FķfhֹpmuK>UB ٮ5U[ mfl{PVl3+uqAS}Ӹmmn.{J>V/风RZQQN̝Dvw^؞nr}d}SC5=JWm[V'rJףŠサ }aʹƫOlͩ62Pgf>퇻R٫utuAݻ` }g.^tmPʍڌ RtleW shYvjM^Xۻόۍn;h+v"d6ۮ휕W&cmH-_l骩ݻ탖u:l`&F()[ww@7`Vp寱6km3()qajwwou;c]-J GxBI^A/ڍ]w67Jgn} ï_Z5yӝ.빹d  kWxث[kDUUkO^v.ƅKm{>R [5!cݤf{t׻5mu[Hw )vts;w2v,[aJWh{K=ǎшjrM\`5݌kZ=uڨsX{OK^3cL6ky};e` @4#@Fѓ@jmz=$14i "&BxڔEOiz`SSF3$4H$DS M5S' LO O*~4Ԟj?I4J6h4d SL5= { ҞL=Mm'4h1D&444LAM=S4& !M!d@)M?hLM&Чz3h"D>GhFsI1S% r$uzEE0Q78ɨSu<0#cgw-e/]7XҫWsZ2Yjl`T$Lo6_Ƴ* mm\$DUo1"7L0׺ۡ̚)Bc6 m)~j5gښf>3jpEXNb&f)3(vY#k=dCQ3PGL`9Ң! ::`IP'0k,05 KKɌ9pުӣbOAlad\) rHb# ^v|)Q2Nsә9͒dh$$&I Cc9ڀe RrWՖ=F꺬4}_zk U*+\L#.;Xs?Gu E:ڲx^r!Է_qJs+($u)(&x+-^~6Kc.rK9ZuB8a$Q mmv(,|#(JI_@'"VyZܺo]JzAZ+jMVMq΂&%n::ugi;rjv c` _C0c4gX`ˬɌɜ룷};'9b5BL1uɊaT-~ٽF^P2|>"pyNhy`FZvELK 6so\г,ztttt{S co?s}IQɐF$p"$rHsMHpۄ4'/ߎ6Sf& sh#b0Wr山7Jb*1Y%#6DE=99$䈓Gۛ lQ_ H ,9-kix[TA;T3 OGT$]D5pdJzd!06MOӹ?ˮ|~Gy,?fIbsbΐS`NNsospnNnO>nOɏ7gwuy/i<{7mw{k=c^o'ӳ'RR)YU&Uԟ~ªQ==1Ovn6=etO;uW8T*}Jw)TiIJJW66QliI[>/gQT;؎6i%TxM6l䮎簯fzO(aq/}*A{Cf/0 A\-6aĉHڭtm&Š9f=XOTi*n|[<*6W&8iMMlv !^-S>6SY94W] iWi0N 00V&*#iOJ4P@鰖0x<cu=nY #FyL8USHQGF*0-99$ lJI 40.e\ UuNzgMp+b:5#YrrC'8D2Qc'S*2xZۯEr Ħ{ƍ†k Ǔ@:Lḳ2`bdGF?u~6sF6 ri liɯBOmB2UbIOwC0"yH _(od:h| ž=zgos8k؆^c #ɢ~SE%1;5"@60Nň\&}YږSұadV0m[3@q!Cۦ'Ҙ1OilyG mi4ƞ%NM[MJ 5TXEE9i*4;<{GDSke8 n[D w=5VxhGє;iL߽?m ~?oytW=\S={m 0=Ϗj8qeBBM69M;ݚx?'[`#*OK*yQ84C䆈*͙CS4~9kٯ5:z4VP;G<Z&"abyŌa3J#1^y>01MPPT?Xxq۠$I j.U\<ӡg4&L2dͅ5 H0LZֵkZֵkZֵkZֵkZֵkZֵkZьc1NB qsžY 4z9hUCfzef8g>$BC :P:9ol+` oo )WQ&3bQ!dH7gS*>;Qώp#0`'GybIVʲs1U!Bb{U$Kmo>d]B97oUo齷)!Oh㛤LMD{ʽ:R\`H>D]Ihgx9$\ZK)mq@I g0! 4fHJ)J][Xnά>uaUJJ|M ߎ S~Uy-zw g4-yimHB'0@HZι,o(nηɏS.36tY.J`#"X 6s(yH &eJcR9Tb|:z#gW%T*{bdnѣa|wcЍi1ɴ6MHI ɤDL!UTT"S_Cww?gR}*-JeӔ}Qp/;ۑE 韥(Hvx{Ip܍Ҍ!O}VKKcF%z3fБ,Ma (<ί</&8DV70 JH*ٽ^O0ވ;Y"pvGT<#AA\:sYe9SL{4o`&9|ߌAz2bbb CvfX@c]M:]bLP VFG-F/I,cUsv0j'6}MFWhF:m N6,C}~<;Q||;LX6M<ټ&[d%Jڷ9iDjZzbmbԈXQ)JI%S$˲.;.YccB[ /} n;O{SL>j mVQwִ[Z5֩{;eڳw[xսDF`oً|:!ku&Cm_;~=c|矧* fgA",ZRSMwx.uߺ܁(z9hLZ理=j;# b02x""6ia-NooEVCǾ&Ν4("~nzwdt"*ay: vFE/khɅc٥Lt&=ͣtxqG<]fԓƃsePK7T&ہl=@uÒ]UH'64p?`SYEr|y5u>RC=v͛wJTC d_4Q i׶FqU3;Zw[5j UL,9[Buؒ#g_5+s):mC$FatwFk.=sNjntSy:-Tu5Fm靦j1ݙw| 7'%t7ɤ|m.xqQŃCkelk*"73n~- *oѫ=xl*YťU >Wџv[GPRa)999ɰi pappAG/[[>y=)XBTFuժ~lQIA],%7羟ᵭmi Oַ71AK V|f}l@.d s8'.;*woh!Zl!iŊG5"Ep5m3nZS\Jf_nf@#TTku=5R9q({OTyۘM%-a]Q2ϛCG^Naa\ $òNN ׶yI;i5F[TJKaRHB@$.4G:|}7:Y71-bpӇW33x4`T+v&d P`Ax1VTdbXmʂuaˁ@1v',Xb „(?s0Y0 E*w72mU$bT .-HjXE:UUBI R9af=rN,Q 9sF}w>V+Ȳ"*(iً C` Jэ ~~=ͫY EOD owm!цn4SO 3ɬ~L|;BnwvG)\eЂ4Ɠ* !?!ݧm3ʴkN7iraYǣ6 EҌXsgs#1/0;=x%*6HńXApj*,_UEI٪3yAs8zW5$h2a4(XFx~څf.ibr~pO WH% X5 ؤ=x6?7{'\^DȺC g{X5#B!16CеZ0Ƕ ۩PQ Vwir, qbD,ӿ.$w6 rd DQrO5F W>VZi/Z`c)mtKm&S(/ɖ}.(:Q'w>MF|pFϽ‡!_ֱzCZd#vHv86Z(6 |\&JH*)͛MϦΊٛAAj 4׆ &\vz&/b}5Vxأ@0`CF;6u0KLm%^2maA"u9}6&َuP~!a4_2<ύ5tJ&MS9 "G* Zovj/31(a"M$VnTSt덳SXn`bbč6ģ 6$\E-/6J&kƦQ#kבaOj4;tP09qcsIIvNy0nQxJ;Tg@4ϔBoWH# %pwDR0~ߝ8&=PJElz8cdD9`WlB KCIʞD<[HvǺ|&D.pV80D a%ž]Q? yv4U蛱WNtPvE2,z͓OA v[UOUUUUUQT9}]ԛ{ ,yWtz!3oN1˹=_7u[ֵR kX{9nI,'ySS!wLmkJ_bfȸʖ*Us(AFGS(0I(u<{H*: l]R烷~N 8*'O ڡ1鍅Ppώf|3?Ju\IOOZ.x$IE1;?2o:"+4'3ql@;ܐuF*2$ >_p@;wr`\W6t^76qK"KHdcJik(h0x~w0kdd%Bt&53 YYM0O;/1m rǴhMxB !/ y 6!my fb0:0@}CEOeFNZg=` .4H anF(wse۩-28V3ȧ鶀f9.l` (QTlcK}Jlmf@ԝ{BR>kp(2] Uއ*J`Z`Lke"``(;@e9I,?(@SH<~_ifĠTX+n"RB*CO^W 3_~YW8veEtџCraF@7 @kT590¥^ w {\!~7,.Ѳ:sGisua4\kX`9Q"DAsQI^X]'T$u!ScohJH*qgnܜ?Dm3x"+ [hG A+E>1X7Άќ55YHm܉RTh o Vf5&s[jƌ<~nfbX* S=IN@taz׈05h9;wB-/;k !9V}^ T&"YloNl|^kԨ(_b .0)dN(l Uh".*L(J^(z hFbN~D:Eaԍ2&ay ~B`Lc"ցƓ1fC>q9|^ ANHvFJԀ5&p "\đL&b\&W$V!CN~ÍFfFE8 YJ(DTG;bRU>Q~ƒ B'C\DP$bEd8D,upFu__MW߻/9m1ZͰk쾯 ̌ekkW:޵Z 1jxR0MV-mep&$,Ͽr$UJJR)Q*|ll17s> Fh}nTKhZAQv29| 2lcGdAL6I~|TkQSӎ_}oOulss{&&HMٹ6UH(I1D{glٌM=V,&'}y.HUr]mVs+vdO?F'ʅ+~DiդџBD޾4{F04E4f~əxf %2>kbgYocylL~3z6n,SPnuYj>vtjeUlhއסȲކh'*!Hl]{Ș^``hR=iaL q(p*5Tءd%s"6,ZI(ʓLb*(*$$#6ϧ#@:CXoL?e>uϢRCoWsLHȉ" <^_e:.h^][>Zj.KH6 MIMHf`2DLXRHEi< 2 P2 d8y՘6g'ɖܖս2/SiMan "I*__2l՚Moqma"!m:. LkZPXZNi\7fy, hsƺH=mސpM$n@c`=V?@JF0?*1P&:6r6XSg056n4 4&-Ym#6XZ0AS9qT2ҕH`E?S#pPڧ_k}>Gwf]]]]]]wwvvr‡RKd0Û8 -=zcM zSOOLJ:`GX察P~d9+.Ҁ40Q@ܟWO`ͬ2CyM ֐I$3_% 6s6u_Ss.ҒL"z >G"92I{LI)LokB!'hj#[0p{fW;>Ө"t?a 4> Jِv1_KPћ寊2Ȉ22vk96lrM vQ<|‚LB / Iy 0p2#,&=cSt\0RU =i7%*G)YTx`w2|ѵ؝|E"MUPvӺpEI1pV8J!Xks[W>𕖱goUW^^=(M"tph26O1xf #qe8-d DBs2͛6 `)]{ >!vΠ~|9Ccaڦ|%>j7DJ caW\~ v !Es,[롩<`S:S%1oͦJ7oř:qTjL3mDo$I'=&Y=D=G f è:Ki YBYOt9DPAI+4 mH ^XpxyOGT>Ogك^Aǣ-i{lm3X:<fjeb`|S  AK}fb~=Z25/; Ns]~EP},P'9~ÈUg^"R@0dٹANu#d?ys<ծ O8n`wZ^W, ; WƨT)yRVʵRyqtЋT$$N{NY*Ę嬤0(~Are0E hq>Sy#f:,_UCsGy&9'qS;^yU|^O~wz=O~x !E'Y?Ѱvݧt$2\,~_ `ҳW 9{ucɊѣRXID>6d ʇ^HIl[RݬXm^^ϝ ${Xz]w] L <}Ljߣ3Ke\D۠^ʹfI(ش_iMjR@|HƏxؑ}% ~}:xr{KJϽ'Sg/W+VvG".b#L**-3 gy9]i e%%%%%c #ϝCI1Zy`(kߺfN`jG~dkLiX~o0RѲ :Y|9:d+QCΈBKi`aވ}Fol-MG#ƬgTTUv&2qvI}QG(i5~<-<uWקMZt2di/>4i?ZY@ą2dɕ=:z鮺뮺뮭s3,q6MB"d]{x̳1nFfFl͢mٙjVǎ@~>Y :ºLvb&RoQSUq ωDvO?)B 2R~AfR@q=Y^>"cQE>捼.(3 &b~AYELNs7G"ܵ)đ!̈>>Ė e?3}}uͤHIP5@7~DգDOH~Wp ̧1Fi?AX]B)$)C]M5p):L]I|ST#o7W_ۄ>⬖O2 >dBjG'35@DH$35ݗ;xReKS_ZAzYG`a2 H_Ɛ*Ba0~yyZ_5,!nha~Q*7~vÌQHTC|Dφ:=P7iSOկ,~)IS#裏莊5#* eTUDo_j)S]r?h^DId&AwӦ%TVڶ,ܵ%}G1xQ^$H6Ik Pn&,0aaBf=C' 0 h%N=NiNHK3Z(P41t"Ha67󁪁A"Lh*D0iR;^7@m?d*%=oF웮4|a(ԃ"!,1e0W',?LwsA;A9o&nY?qjC6?m_oKңSV3לd {Y@oF>OaQɕ̯+Orp|B)2ގ[0@2G1Ha>:XOC o!d m7{z+3=bO̘VAx<``-L(t.Jb@`j'`4U./Rdm K`f%9j̽a)BPx*ރj>jWzKq----,:Nd32/gCe"z`:hX)9~L~[ITsG8:v ?s1@ 0k: '}/yr'-!a@!G=K0}Eec"wȦ$dd{2a:vb_Rw 7$kjE"H )3ؚ?q޹e D=9U5MpULJw؟sܔ03 |j>5~U"F#$9yrE{+7ي]Zjbm*&;>@ة`uI$G"NI?[i "E@9>>χ8٣"h+A_+Zf]''8\*-;ӐKA6WL<"goyǖf RTQp22u9^#"Z6K픩6Ӕ`]O%xN۩믮5cWm.y6t|QՏ5D7/Fy]Ũ0v` `n&uj||KS98IX ݚErP;s@6]*LYJ 3dwՑ~Ge;aa4Ȳ %[6Fe_vx4H'=Z[{XoCCƸ7Sp+k(L$꫐t͔yg9Gh?==(֢)RN@BLhW&|M&]ZFü̏vuqZԥ(=( EuFf;=36yh%հ5EcƣmCf~ Fƣ1XaY5-6٢ͫc(Mf(aie35 lDȳm--kA-fE֙[jbe[ͫf *lj@Bmam&IlA$E?'mTiffKm[4H#M"ml:ٿlv1 'TN:~أJv:fBBj8a\zWej04~)k?) #}"@3F=-۫} C]ٲ: LM 0@KFS{om 3H[w? |A$3$0>XFY\FLXםСV>o&GHw'Vٷ;$ױͳ={'|*]vWayRл:pZcMRU :ҸR-B-B-B-B0#:=CNjc݇`e[wtSvVTzųnݳүщ̐@99I aNm1էCG>+[z!ncm= u1aǶFMicmmm=C(bl&J1M+IZlx<ncf?Zlw͆>ŻO S6Orx)nǩ][M4ӹZ;:1٥SN4No172=sos߼sv94l+wG 1NG'GҝtlzrSqymq9:St MDeZ ~_K[BwO]]}读_Svj2 eff%mCI#?){좡A;ˁ(ͻUY,sG6fKoE !oipy3w\ @ @[ͮHޮ+FWG1dxr< Ǹ HE) PR9G'.1rhf8($ @Aq0 \y0;5m~"Fц pA.VK UGގhsK=J&ia{PgY(w&:wt_ <";3'><&Wn9D~D]U-9s|9sDUR3RVb2L/Ss-!y,Bd8Pv o;EN ~o0&k􃰶#bIGlٳM;KOf:Yoֶ|n,f )`܉a\oY ~2*ʇ؏B҃FPv_j(BI"8E#pO]iR?ge,=`ُO`#i'@rb,C\4bDj `'78C@i _f,un)$ݣ__/1L?m"vA ?! 1(}roEpAL-:yAЇQA#}J#Z.cdFư?y< &{Gw8Ð]t6\js"f+XD9sq Q*V NFA?!D``< =.0菱ny;1d S oPb$r!׮ƪIvi?$0 X<5(2 9*|_ƒpD~x܄h0 | UwB#Um.Ab3eƘzX_ެEq?JAh2>+É3\ͺ&= xCšl@ʑ6>b0J _RE,ڃf*q)vI|z∂}bVaqBH39p"-=$q0Ii_:pLg[ ʑTӂc:q(#F5'(pnaWSeA󈰠2FICs 7`v2e-kM;V@>յ7aOP:Uyf+*J1bZK 2ws5_i?ٲ @t2(|KxKPai:;^84[FN>3vYmuNkC?CDLg:itSfɚN1Sa AA/eӖqmw I1ak@M_ uPoPSM(wOx F-'X]PE0G:wuUr>^7 fb0s¯Q~1Mk,v+(/`%" (0([E'>"Qiu PFvG .Հ|%H児D^]?RAxo95|_)K̓{zDo;)\ĄK|*Áf| 73,Lђ/SP*!?0hr&nZ=e9gXz28!lA*[d1*d^>I4dX\L݃9>hń Q*tg; I6;&4H$5 t}Rw @q;b#a#7s?Вb)^j`YL_ЄH~_lcGc_LXc![_)Za>^}/ArHt3}%&r u]-3p|+dObD ![fZu`N6~M$ʴqCo͌2‹ 9V #zTuwUX g!`_;'vݛB >4ix~-&chw|FQ샤S1i?Pƃّ 9LNIC)s.&R0Xش- 'g+L`>#)4LGzu^Oze12< uR|{ԇ 6=H~Ѩ#+UaXzL4鱂O4+q$ PDwyRiGqKIsj DRң"c\Jȓ;X<'"6dx9iⴚRDC)n~ZLRCd|iloJNH 9K`b$;ɨ`ViūQ"ы˲M*$1lUWrϐŝHNvb}_j|a~@ʛ(^$rW 3AI,BLț;־ͦtU)RB$y bmD1.dKI r< Yh<~}ߢ67U=^(o0tsqd=]4z\ RљB*a)VyV~vio3/+8cRF_۝InTхA̒ʂL)@rK!2N\b@tϓjr'u1zKR<]6 3q}; 𼽃躙`9^bշP6xcÿۨwN*dĽmZFs5`dQd0~}ɟm̢(z@AQQ h%#>  ]P! _Y Sd1< 3zC 0ֱ̧<ה BA"_%%?&i<R$k5T٨'}ƇψmhsǾgS:%) '߷X*nUUV~_[=UI$;nlx`!jWV8P Ƙ^#.='C2X= P'-U9E,^+i:wJai>qg"L-hogݚ ʞ!u|SlAl/QZYJtsFÎޙia.),. 1'r$~&?M NE[Vímoe :)zQB!vǗN">.OlXiQ`s67/s*D,Â]&L/xY=3Q>"e s?+,^qkcEvݶ۳eb'c^oWA|>*:=Muv7UP@W eP5T{rhПQ4hw; @BUY10P 0C b-,-K4U<(6L2o*>Q$1n=.Noi4x'7އsf=#~A*PG$qspTJoXו`,jLEIDO硺6{taIܐ@+ҼFrEEcbU3#eW?xbD%>bHnw'd#?W4mS>E~TNޜ4+Mi'ŲUbvWz6i7skw ˛vSa&0wI818SM~CC=b{W1マzM UVOEu]=]QF, :F"a>>}oaCLfd\fMj~ON,i/7J1棩=ڱyg$y\W[fljω/ꃂG^bBzqv4œ! L$z471C}K1gTR>< Ф$EjsS]BwO 6ifsܶЃ$}j֏\-Q ؟@t7LH7T??|N$G8%0-2*%QaT+pE̅D\ Yd\6hDoNNy[gYlyaj6l[mX6EV,L|}^7}z74$ffZ XTPT<'cų^bTE{>K~'ml 4 #̎SE#RqD1!h縆O/<Zi֬ QXO)p'=9IƕUV<|ua2Y`"r9u!TbHZj H9Df8{}Zm 2Η_ -hоA 1݈i).%F<..]7\Juv,ڥZZ?.ݻnd7ι{d$T^q74 T:#ǵv"O3=mmQl"F)FK %fGۭfyٜ&HQC%iظ74w<:o'RA y.hS SJ|:@`0YSA֪2=8=gO#]<:Tu0~fJX4 %%L;ԖM|6F&ퟋ1xj'6^Uʓ$7dHrC Hpڰf:B3%lyz3s6wb am o?",+0{WߛA 'CQsPy ]Hof`fQ%`=EB- :V^Y+fc03Al)d\VdP;nŝA@Bf-Hj舌J>?sh_P&(g z%(Z1(0OYs}gXxW9ai3T1q~O!^BQ~glft2&b{-@0qy N6nE/v¸$%;aFDJ˹9\hmuKY}+=D fyzTA|B-N ;++gm@41DZ2H)$Hzxg܈p$/~65]͹$a[n.;Xfj@{VCm[n GjAZmW(T&A9 64 ]6[C>#nc| {zjQ\^y`xÙqt?0FɦOϤ џ92tb}&GRӨQW? b{-rEQxO=T=S+nKGctLѶ$&RV K19;:H 7,bЬd2- ?`G X \W8 1cvZm]!`:qoFO%>H^g4N< {W1h[.a A!4ChLjZ v<˄^XuI !$$_8ר 5L uH*I0 "J 3h珞ZifCxgs8:X *MuQFIbX"T/ү2:KmoECD<$Kx>>qf s 1 f'~kERP0l(L(е@pܡhhr({a0hN:lP0o22HBBzByUBexYDžbc ("x`(iakqJż^2 SuM^hֽpT(wO=jmax\l=d_x8*~O9f<齨twTx4`hr?bZAcdlbJ[EbH0<wuias_TT 4 +B$ \.Z1ݸtgBl׸.'K[ӧ#6\!AEqi%4 |\p+i鹵]R NwIZ00c% mZ*'i4xDFntQe\j(g^3#ҽݳ;o;# EjnrX^ HG8Ie`*DZ-eP ėpD\΂ TºXz@{*pf`bsVW(A~Rl3=uP ^86n P,a\' mƾcg )yIrF$4[MFvSW!a[b+XH"@< 5fNg#W9kݺ:`W&eYivbH'" #1Xw QѤPyK0 +g(dhҬ`Ӗj$'A4}-NA@Vָ?>0ck6V,!3Z*$B;ha\!MA3Cˇye~SaΡu U@~b DLPs2lء*QT,b hl}C)1?Uĩ䘛i! *hq t::R v'Zqa٨:틮5sQr ?[ ł XEƖL$ #s0;GiFOdh jիVuVZjէni۳ZWJ{Y3J%@ڪ(zqsWK7;\ӿn*I*M+U4vӸD4˃9uWTy T" .-V8%"aX/LI;a`L;j4^r+ya!jo*e{ aN\>^fV;I=iEwYfd"&@MtH,s2Ic:L?M=qDh/Su|iwBߔZyhI+{\hL͘ |/rxkkT:'W e4zˎ5]@S*=a b .( @]r9/ɞ}t̋N.WO-c~F;& 1I(@[T4 o|V; ]ޚHȲWwfHSN-d nEux|~M"14|/ƶ_vCcq՝/`򍍌}u"\`5 <P}CNx;kV SQ?rC?b@q_P@B">Fl 5Yf@1i<13 6v|lwYy3lZ`רY$}E5'P_d4|8Sv+AEH=/ίf?60Ixh:^frQDw%pJ>1Z*^leZ*3*T1RV)g*f[ @Ԥ&;vРTw EgX$Л3 +#m 1ঊc <LMqiKg@0瓲I,.o6|HR$G)ʼ$X-T$׋ɐ9tPQ`'s k5s:H0z3?8R i.Ҟ;6Mg%"نlHϳ¶z!1 7> Xk%'⟢+k :uD2Ә ZN-%`0&)ZEA[; '~aQNBO8$vcD,x`K#wlm5'J@t`@Էq(K~,2O(9*aX=N8Ow1:!;=[N ٿN5eqbs[ƙ>TϭHD .֟eLOp`-rTBC`)F 9aTP$1xW 'Xr[tA&@ߍi7oP/n9hOS6'4q,{(Xu"6duiĪ}—q=œ(Iw㐘E(o^y>JvLv'tx KAuMW&IȢǐ%`_yABL`vW]և'6`MCK,Ryי`̥_;dDM Zmj8,gN7oSI|IDe)/M4M4M4g~6 RC00/o^=:ܖ]_B)@ŇP=lk}ڜW0 \'d.;@{qAӻM1Q 1b˄ضej%:3\67y6!$֋,s6xıE3l cէfXW8\0Ƥr_PA>Hݧ_X;O\#YI0mBG㇈I$I$UUUUyx3n5Ki$PnWQI;<5i ]o&v#F+獅t+N˖hipǟPSZz5vy  c뮼FD,慔n:l&ANxL,#H4qꄘўBc9H0uC1ny KGN*%9p::Lj䆧9LapBqp9 Mq&VpJrnR E ZŸw*C$q52|ǘ p44zaᕸR4PS|taӊ#)1 ױ…ȹv`dbj@4S֠GB *au""GP,p?蘜fLr| N0G-fCH'oTL 2(f7aѢzk 1hajg26|kBFQl@awhMÇW 3MekPj( ϡbz5QmL2(agP]^C0'٩|jPBzrp/&tc !(ȳi16SQ( @}"3ql8ŅBNA YV{4< B-Ϙ%ʏt(|$u\:mr+@ 1p+B7_)7ﻉ#KTbۇ61T \qC]ܦ '2\1=/bRq ZCJdf9zx t¸,R3: J Tu~,A !r:q1L6sU^iuM.X01k7Ydb^9zoJ98 [0sD3D`_޳=s $Ҥ]/_pW[lPgޓ0Nj/RWt,fQP aQ?+h`bB{8ӳ?dpzd,qX(rՕbL[&Ś9Ƚ쟨.;o 5Ca0@d+C7fU (8I.^(D@A]z2!RBi̚Yp{nBt鿙<? #X˰DjW༴%0Oӎl), S_Ĕj"d7 z" fDBd ϐҼ F sOw~v"L ٘dn}/yO #[A{Gh9T58M J; %k 336*PLQpo!bL͝Oki3ߔefI~\kDX\WXX d B_DO0V"y]Ƨ= 0$(8ZhH6 aXӅɉ:}=vLG(t|~h0i(,(Q8B.8Ē:͓D#  䲵S\NovL4TQh`1+sS =#%_cFʔ9T@.|}wRXmq'`q1lٱ$hWkh 'Fڇ33d-e9@jp}AXEtwwwwwwv^ČxѳA41>#,:i'+$IuΦ.l'AŤib#59-j9y0ݼ&:a3GTDY0[>">=cG~#c箆uqm_f,todjس%F'ȃQ3U0`LqGmD2N =w`#~$^(OXX)L @i Qa, qc1(C(R8OEȱƚf/u XZġ OU*EZMoQS.s1Mvdy}V|O7Hdž}>Fc^-ѫ2p}XdSSz|z5ӎ N`^R8l2siu j<<5= ],=*gEOE^ݲ.:`Yfe`AaCMzA==ϐ!)͌Ѓ6Mt2}]6mgǃHRT^(u((XkxA4r( E …Sّ*; r[3Ɗ\dg(/ FDeΖ(X8Ҿbr H)*~q⸽F&l^Q_sFp*v8?D(3~~UsV}>hcY+0^a:M;AzZsjZڮB\]RΗ@ӸT ^T R}p#d| K2{ Y!SLo#jz&`C,s!l9cGΛ>QO?%E9VE# 2 !ڎH\=E9unѐ8z bb%%cia 2c0~q;S u5"Te2Cphߏ+i0hV,wʅ!l[x3?=R얿]-Y5؜RXxNZBfH5&d N ENP##B *@gH+ql\=:7b&@weXJm{3c罒:pPHƽL%U.^Iq8JvK5S/Ć[~A紼u;#9U# y-wz8[< U$D$PBD(=\CUaU `qaALEa5 Yy{}Vw {k ` Ndi=q]XHISǙ ËAye]őOK ~GKzBO` M_@14P$cOųfj`gOݪTE12fAJ^(H|0)-Wo([[p`9˘r)I& &@H+һ:LZap jrn)wjU"(v331s9P8{io [f-l_5&bnYފgNV-BQV} ae2<AH81EIێB]ۓN;#P+-(/=U,,h[ bqZ,HfM&nxE 00k'Ҳ[Ґ!RR*(L8ߵi,p݅qOl9 2O˞0i_1E!A 4BP".LEdT7itlNPq /(|ȜP-%j)$_Y6.4,dKyE0iX8.4ܓ8 KRIEs+QkoHeydؽHG '(:UcƆ!hil o3QTW"l N.8[(ԊOҤ 9,ȸ#bʌ@^l- A/a`^u .L.u4<*cpN&KIm,ߚG03Ɂ0-25I_]JL%:yjqih GS;N0P\ &AKPU+H /p3F1C\z&z8[OkA92QNÌD5P(2?yDd"¤}My^3q)Bx+VD (>4q8Ac 1Y&n^@PP [LMYF/]7uٸsQr,kq16 7\DEw*_,YɫGCda$h[ YɥKW|KGRL8- ɸXDR^+ƋN&A!Q ͅkA~U};طt #=ԽAܜ^mjkh}NhީbΞY~|nkw0 n0sv"qD\vVG M" [A=9dzHm3 D$rzr(BkcjÈ$MwHOMhK _d- 7fq7ZT,?KΥi*)#PPG4@-QbJ&Q4 #Dq|Z%ۙ:+KsSʖ&_WhEVG \8 y:С?ן؅]#elqf: zϋHl'WaxɅwǼVR) baf.$h2*976Ys3ֶrx,P!&,UpSIPI ^lBXFL3[\TT>VN|+$ EoKU>цcjZ{f^aL]EIg#tV `I5WhcI{D5ރ&ˀ0)0 6#d 6ʽf3gRt.XH2e%YhV٭~+~6|#/?IY j# Y!amA2Fd̂Y 7KfS_q|SųĮԗzV8||S\?{L[Nc}l w/|){~zVg}S7p|}ܷ%"\6lb29Fi_ U Ȫ'si~^nUW.ekH0Y=8KXnڨB&f (rt2d v5WQJrKŁbl&7ޓڕ9|ul_XĻۙ˳dqhջ3Q!=.P!}ZzUx0o=[3L 2_8%zƼiۡd 2-UB\ha5-# a4jsBl&hk`1 ,n,׷x<{LFۡU9&s-i Ŗ-?o^ޖ^)9#"șL!X >hdxGH2;x`uMxή67 2K1!U2@a("Y>/: @ !חY߇v/~9vv㤨§[YTL| @^n?[go8mѕ` ؁* ["*( PP $%h2Alb1f?3~h(fs2[1mjjfz܆=cP ճHVbV?+}/Zof`2^x8 Ջ<]ǘZ%ڐC"$r=77fKĶkkŬyt'}Ľ>XJ} }=1ƖsgJ 9ݲ{ t|J;QvTYdɑVN&mipBH,11R4Vr3q{c-e摌VU"r?6Tq~dOpGr`I=<٬!6=r1$;5tLNf̰^}\ev}rA:'GB';!Y # `%N+N4`cU (}~ BUouFd.P rVwջˇoi}ed~TO/ĎLF؍ZȘX15>qMbd_e:;>O>c_Y=#\pOSn9 /xl;ol)iJRQ׳gӔx99?b1H~?0ZĤaxwl|jorH$HB#DA ;'gba&ZƟަx9xxɛod&97&97&=Ć$Ӛ&WW"JCwFb2549ጩwD6\N?+Shܠ!0|g,GkK7k*¾5 %HE_]bscG G҇C<5Y(0i$|D"Xҋ+$ *,dY,onDq8'aGj88RS~밶<|C,iрTzg|D ?9gc% u#3HIl`FG0ZG(˞+{ 0ΐͲ}<Nr O%.1KCZNJ k:=Sا dcY?V)J(<)Dd "\8kW[%ĨmD"Ӝb` B6P wI3 +'P$B~qkN(|}[ĕB <c7caXLIt*oͷc"ERo*Oų" f(:\.'$,}XXhLd |_ bHs x2q? #DIbc#.Q& "R|,d$I&c!!E2A2Qr8b[rrtiѧFt4ne Đ04I& ,HLtb դ:Nm79U̮j:;DӜNAaqM ahc-@ Xh4}\5 $ z巎$(DfqѢn#̠\SMd&et O|cq5!;x&TJ[I>cdf3$umY(#0ӑXjZnq"m [#lڂy4϶b q@,"Wī9 Y N'/Ѷ,ă>fO״AFD_;qo:z׌O,BȈS;C]Z2 F{}zI$UUUUU/o/S7zA X IyZ'NIQ&_}G6GnG|3hH^E :#+fTNY\JȣT0AB-nl8D@AX6T&s%); 6D[mVap43΃ ց+MuZ4jFnhWBcpk#sCHFa{{<2}d\Q=Ҳ9t-NO*L_ isgt̗1aI&H 4A?v$L\o'ԅ`A@^0t Zӕψ jëz9XJg 9YBHCP0ڊ_oE5d^SQQ:P񠉑m]\iNgV tD<ԓ&wdJRξc1hH_|h$wMƂD>77w5`oBj5Q$XeN! Bq3ɸA@#A[)13I%L)!˹.QBRtW-Ae}:.@31W7AX}yZ)'aȢX V`<1"~-m寷G˺=2أev*31y|?6apH@,e/APރA8}# mT$n9d'JD|&Xp5.2]q}0HT>H*/Dz/vnt}~y. 0 0 00aaa]{{bQ8e@&>|Xs8>9Y>gN흱ͦ*8g;]ͤJ,#&L9aaSzÔʾ?m7VKW܌E ib^K"cktuG(WDh\17˝;v6asi=Ƥ,ƶ4h Zv3"l49@e*<}[>_}5C+,Ц}hjFPc8шq#&A[b?;L8B2?CE[+wsK%ukkܶZjYJ6$I mkfiY&Zh4bɳX3LT [m6[, Lڶ5MeRh%MɭMM1,d5FأM4lV4ɊBYdlMbfH[PjֈKK$Y&He[mYj6je+$SXM)Ư??3??9;;[bMMZm|gXu$x\^PnI1h}zIMSR%uvҫβ H+ϔ]VF>놓j|q6e+lܳPUui\E- 3jٕd)_T7*b5 (@kk7FJMitM϶fZ0?R'tQ7IVYKY&Ϛ6џzZ0Ra#X[|%$pG(^Mǡm ?N͑eLU;?u_=7ZtѲ烯n<<ߎ1o{Nڷ/1b5TUUT+la qmw8뙃>Dߺ:W;PA"d$FQg$ dO4,1+O0LX(m(ѶM5og|6q`$}gc+]GdBUyqc 0wP'Id}>`|u``D٫?e}cݷ)K5rc? 00@bE%$ o_S9+)5>.⯝yzDsu%FwXBA+ĵe4!׮=ֵiDFwi("+vݷm6ͳl޽>w7<ُtP͏wnnڂ49GS2SmH1A__eYC 壎:megdgW=e`e. K\ͫ Bc! 5h3d%6I*h X xWRb /鲮;]̰n:1:C1USYWMe\ٿofy wZ}g}[c02 + R*7w5QDnћ8"#8Q2} `>d`O!5׳Y ^~lb09YL0XUCR[ q12ۺUiZyqB,K!H]B~9cdLWnҸ+!WSV띜{B2>]p_y P(U4ƛb1BE|taFyx#G  P0+HW0)7`3c}Zmac3w =s9¤B*ePUî;ic@ah0v:Iˆ2ITXe\i>]"UT؃EVd7ʰf8DD" BMؽdԔQZP+04ڈ9^}fghFEFW wNv2euA爤z(2r i`-ɡ#JN3rMO\WD1x `g2Blx Tryp-U dU)NAU /Y+ @- Htn/Vdk<{=B*B-|іҊ.bGo\h~v+Ag7oۣ=Ϻpω.:>:I"C)2di,6g|`pg ml/(مL&dd_C 4$,vUV39y39fe#9G$z^1m6vŃ8_O:7-NDz$,q$a4Iݞ rv/!ՠ1!lKgZos6{$[GGyy&gO=yFVVJvrs8 !:s:t:Ct:!d2 #"$IF2dɓ92d&L2dɛ{xx|S=3& V````Ma0r9~9Խec-ŶZ}ooc_fY$> ٹfa<^Ӭɤy}7"pC*$ 䣶 ҆jq䷏??~V˰ 0 0 0 0aaaYeYeYgNH̻E!mAI\ Fstm31AcֈZ붉͙-WêHO-Ũ/[Qj[4Gt5EJOz+T)!+R0pK\s u:/~eY]4t(i $>,{oBCPrR!ֻa29:EGpg&0ґ o((GQ4c1ebܯ!m,99L^qc+*[%5Ұ6 y9Al)%R91͖$bqF  ? -! F e(T 4QiX@L;hN!=I!%A]0R|&<&ײ}Xdh>(֤QO~K JFy9a9ѝbHHH̐Hib[jRW4@qOtw #!ߘQwgsXC#`qӵ.+ Д dfϫ1kUc$c65byu8?@ 7BIO܃n$v%D<CVhhl%&C3(MRX.ⴂ1Cؑ2J`/Mc-Hp *2۰[M:vxa:ŤD= |E*c$zh ?g-=RT]O}j@Ԑ@EN~t Vтt_y殶,z)A*fTq#Ԋ=C)*4X2 %U嫍nEVY;,kOcc\I0RB 1^>@_Կ>d1+]_]D6sS,ĥQ5B獘`kWDPb/C<6v5˜څnPP0w s2śAEmvLQ,-g*_ - f8! bYBKP鶗*y|﷤mLWヤL1P0B_޴afݵ׎#''g.:ߖ%*JT/vҦM+,* s͂ _XrvИagqV) Զ1fg&_a_a]+9Z{dYky,ꮣ['YwbEn[< ^noOJ(=huTǎbe~ 8\@/=v/XG; EX]ύ#ʛ{L@M 뚣h5GLc$pǻ>ں%^ D[,EvnF-"/ІW-9u93|v?ƼBYycZ}H,u]t- N!ƞt牺I"3'!Þ8#n,}gc BDytTl{Vnw((lllyU"I5MY Qox* r@\E{5wtX!| c6ѡzGk$D۷0zb G ' QlP잴X*D{~e_=L""DQ;Q?ܪ4#0f-aAk腴yD|CHut' 6A"\Q<$7Eb?3B!hF(_1*h-"m`U H$;(%*,_l\(iC.U_cAFW:Aj6On @ikX 'D[̨c[UksvF k95(bF8:ees Z:4xz}{P$C+Xgh'd2tk ELk4Noě?3OTXd058YDLzSCLA|rčcvHb5ٓhuV1 a`Keզ+ eO + ?űj}$==ө"|~H0I$HQP C| 9NBz@I\+D5S#. *1DDD UJFyxuyQObֺ-/Kq"&* gZmZVt9ngVf3V͗vB/9I,3tiG}1IdR?x/! gRr.@hx2{cHfe%`X[sQoҀaP2" h{ JũCPi(dK8Y'-ۢh[{y7[Ë2/0 16@ QV,). 2VE6&{yۦno&k*@ vAQ `b5ĔĮՎ1Cs&ܣz=;؉ fɼ[ljZbCnXŏ;4 F NMmI @] !#y4YPMƒU΀; (Gtm-0BP`7 SA*JSlu^&xFA!c(xHP@ ,j :I5}] $18Juk 5om'\f484sF._`ڭ1sE`z D[H# }A}<) ?ȁ/-H_p\}A5gST@o_^uqzN=z?w~YQQ5BIE$4~83?j؇'|}}{;Ȕ?Q#79zxL ; gGmmmm)4_rD@"$=)Y-.,&XwzUMUf|  + (Ms}<;׽r/{UUJ -b-k^^"^"״^ХK%Lyvaճx?\>HFÑn/S=gf1hoۦp 9A)#1iC4NR,/%:$Geq֘aAnon':ud2p3$m^(}y6cS X1#]!r1;z? 5 $$Ǭ.䄒UUVfmoMTɦllV4cLVX?ܜ'nrNHdh:Ø:G-153l:\~b@B*=1;x۹omO6dd앇P˸~*{<C4fPFNw6hQ$v7H$Ns]U[*T2*1 R Z]ǐ%}[2\ 2PCXl.  qEȝHBBB@:^ P)[H[Sy#. :K4ȲF)#_yy}Gc盽khWD#c{m&SUD͆Dx_Qs=TgS9ows9Ցs9lqLdWZN:BLIEð"LL'aK(@Jd?ߩ̣Bލg3B¸(D`F ER*fd9 v!XT,Q|ׂmE7/9rR#b0B$DV"TJ RX*ZV3 yG$T0 DKbaE&۹.56,bQ^"hT s\)kbࠤwЂ)ԈI"  )J0 5yy89Ye:Bki U=v e2[5sdϡ[Ih{ctm5A &!?x ¨W"2$_8$ ,Ԕ0vRM?`[k8H W'gkS.g=s4⡃RBς8a%8AIa;C&R f$t``23w*ID<✎fB/"B0! 0| ʍ%$4銪jlAvcmm7=5B? Hm4 'IGEWF>W#XGB*6%e!`4'LE!\l+nz&x&4UvC$OmնmFg^kV۱"4 heSgu.2 %wit{j$SLJź)Ȗ,?lSx]Oc?pDT`Vj ~Iz I i4$I$"dIB f`(VbDaq 2da #)ZQV iR 0C"h.QURΉ 10 4,"#>5(DS &4fHSRE)xԧȘF0`[1axx*rrW7;L5N鹭,(ՍD3MUUұyѱUUcML#vnw_aC&Ng>1i1ciɆ*OT2A&b1+Ańޱ 9nFGm)gQ5˄1y!"UVi1lV*"TO xQi?Nj"0ɡH>?4o׸6fOMQVFiwoq^ww?D <:\?uu{^m-=ook/PNΪK1܆)0TZ-?940/ :]mrHNCK|AN^e* a{po)LCsc8Q/uS[QC*p) Ɂ/p}dO x."sZҲTG(׋qM[GD~޼\Y?/+<ZZ?dI}J9ۢcMhNpOZuQH9wJT Cx=p*T3YPcVAF䩩H /u2p\NBɉ 4'!KnY՟T_/ O X# 5j<8Bq|U@O|"S@9¢309(<PqI ? ' HKQQ!@8UU}m)VdL/^weRU~G2rzg /t㑾 '7QYHVV%n4|WtjS7}=lϩ.ݬ|mh˵mơD͟E`%,GTMpx`uNgaVg$81ro"'\IP*)la9=kvؙ\_ߗa3];Ւ~`&KI'0?%6,MlrPoVDDHI>/] G ;LbVl{b1E!ؽ "S*8 bحY[G3˱gVNf.?NYWsFFWbBr[cL?AGE</Rt2xa!aH޿-O=*lh)5 C0Pq:ĕxHkd { c|zfXUt[t c]ES(%>"R6F&GfʬfZ0@g;b(;ǥdn29dAyt<&ZjZ -GZas!b+,nJfe9SdNct MD[zRE9T2J!砰7}RNoh *9q: p1ʘ(4%*QzpH~*(ZUjuޜj%RQ#|&%F#s@t.p\w̱V.sQ0qƺ2s>eqUЯz ÌjI"8$F&"1ϗ"Gi)7 $F1Mc @ b!8pƖS&ӏZԱww_\,;KEEy3ET4| \fm`[iy%J̽ Nx9KpzO|v;Syq дs2z[WmFKO=E'T^m$w=˿9jł./<s*hg7bL{I쭮 ,VYYtdh…oePN1vg9b1:2| ݡ0d_K`9g}Ks@@m[ Bvlt4]#F8(r%(Ь 0)sÅ6Ns_12/ ?ݏ_}xgF+SKor=n]IWr8i3(:"L`a?)H>h&uvuq~Oy 'XbL}trlJ/ѱr?$,0d#ن*y\~=}ø9U'0jȕ @&ĉh'weÑ|ZRQ?mGT~2!m[ Kfr}"vSpX2dml0*+s¢u%%Qd"HG"H?_9y9g:mp"y0j]BU+TR\>W0T>>&k(4uOZj#Ycb`,ٶr[TKh-]\ 4^u>6D QՏMƳA:"iഩ*U(4/pꕣNQWB*T\F\y n˒ Hr;gLPqo'q}\ Y^𣤂ldV+R\=rrsHrqgWкbsEw6n./SΘ'ϱ.BS\U E +%*KqIEpmCQe,jp r/lIgqĮZU+jZ IfZt*TY hlnёk,2C c\pCfRZJ%jՔNVQ)H|V Q0:C$cipjHТ2jXQQVx>F6,6h4ȒũBMEh ,GjƗs]9 x?QXũ(jꩵ85ajB`ӛ~[43JDDޫ78um-wz1\UyuSL'u$`'`xo+6/@ <rLI0I ] C)/6 }r!Py;h"mfffK@^l547^ph~:PeEW)/W Oݺv $" Fu{z|)2MǸoTW-h>z`:.@t% 3 Ϟ|ARo`F6oYpb_|~VC*o5?Q:HQ M*-"pfp ?S)(H!x1DKfꑁ4iFs9#t-%Mk~̟UUaX}x3k<1< R+ZTH%)+フ×̓;՝ϸqyCev}R'KH3GMxR8ma,<+v'1BI$[Q.[h*"PWs~袕2Z tXC]F%h1N> A0^?VjՃEM6ƟĦ&$,B`˻5 eY$WZP[㻐cъPjkMw3dRNhG&vSjMFIkZEH+ž/ l?ҨcJS֘ E?t3[ CJdr*eTYƣjZ|@ʹe}VNR۳F!P+;Ʋ DHD>ګT`=֢9XWh+Q47K'Cpc&ru[$@fC Q$/0 Bq8X_U T0_f2;ⲥr=Z>C21d+Et)X0a =廓oL{W[ɿwk-{]ʓ {ǭDF9ρQ^rs0k=eEwf^B W)?iwn}]'f1蠤BN.O)CZam3/\2p. Pkav Ќx\s{TA)g߬2Wp}PR.|ΗҭM"EUA[_da!}d*nUK0rLHB$#T7e'|+G g 4iʾtL^ ;tʫgp$\lF"NcA{feT$}*IWηZ2Nt Ps泎Q)[k3~c _< `Jf6t^`92˵NK}^F&쩊u_;˘@ i;#谢( bdQ8Yeg!<^UGm/ӰEҏ)"ذz}B?Ć t7A 9#&=1IFC"v\"R)>HWdS[7o9 Gm`sؚ̝ȁ923~L襷L=uJo,lO@abTu7e 0G,1e1N++$:K^끓opIxn+t藣}V׆cu{:] 8:W,e)@ޚQ_1&37q()s)V/ wh,"yICB%7(u IĐ}cDF"oΈ3Xk%0'd*?6| ?)7$II&t;g(-cyb ;|.|wUpk\kZYYf7Y!M;97N{3&vקGYΤ(((>S1f)}f?2ss~f4,mѧFve&C7Кd>,"$eNTQ-۵밚,K6RiQDCCBHʮ1T*\sѣJI:q= ! iFii(A2|H;8\ f屌 {!SrߝIP3Q lހP.--h#T9쫘g)*H{X*0`Ѹk Om mugeݝ,=O<>Ś?W~QZjSMF}. t=#%vY&0, qox$9[Y@krq+,*I̤@PMa1y0!HU[4g4|v͋ P9rsr{;OI$r;w895SC3Swi#脮]i*Ipc=19Iko{JP|F|ǘp rY _-7 ѳ3rtz9''iӉ \WliQCG&{͗@H9H\bm6Ja:)N5 gyĆpU 12fPydϥfեU]\f$\bUnEsщǰBHPUcQzhf߀|F|H1qy@iZ+EY9Q!>i a(y=28Cv 9XKTHH =g=˴읪Ih1e$ 0LWKcv#*3>V?I|f2'I IuC 8T_~."‘:U i{T_E# Izx~u(Xȧa'I$ndI  D6rFYo 0viW{I)u5qs}N{m:?Kq5%c:@%=!%㻟ָFnU̜beޝVtIT^d-4+FKqt[WY ٪=cr1"; уsL[4pWa+6KH`@AIXW6s? Z񵂃GC>E*0äS>!4sXMEd+ZIi8RϺk߬&^͆[vxW+vc0œ;K WAbQԐ$4,Z\:b0cFW&cɦ 7BтJXXotf#-c' x[\:@ڜ.L(8d½>MPӷxII$<їBCutTiqexDcGaf tNQ&I2I$MYhzZ M/ FB@I2Ndwv-krТ^q%u"xyk JգE fApḶ7H0!ggM>w<023`beV(N*+:u:Q/G\e:rAsxoʅwQ*wҊ0 IrCRx.lXAt5Bux EZCNrI؊a'a*p}ɇ9V>r3胛X( (,CkjZ#Jg]22LN; W\"?t rxq0ˎ"-B @Sx|FܝНa6,e>b1%Ku2'Km~3Jc k/|; 7$K$I;H>9Cx ?y?ѶBeQNP!HNV d<9tM5ҩNfP^4';V556i4疹u#;0Ux e޹Ÿ34Ȏ]R-9vBR/ m &9q4KGE8zqA8  cyË[4t?AL8)gu)1gU!zHMI} d-~bn@cRD(*nC[]ޙ{6ngv¤ऑ9 VPAݙǖI$IrD?Oߋ?A{9E]'v˹2>D絬lp% ?98ު?92&cmCM) ?{=]f ƴ;_@[h+꺥7wrE]R?zDTw}c|ˍ\]C5I\:B}~I_~?8Ͼծw}\}7~Xtbo=,wg6 cy,Ŭm<,-bʼ0m Ys"lYD?UashZsC>~㖊=]gd׷_`eHaQ_5en͝uxUNOX T+{[l3Y3ld9s*+_k{9s9se?Sg9{oMcc{o 7ҟKp},㮦fft]Br{33Iu6>͛6YeYeUUUUUUUUTns f/*M77GFږNʑy;#4UUBVyˑIY-ag#}Ny| 9aR:!T*=EaK<=˳$"?=оapץ߇> s(HK='ߩu5^{o1Lt,2<$G UD g%4 `^Kc5Z];ztMHt;1C Y4\~9w_!OF>v7pGʠ‰#d,d0hKؿƾ޿ܭQv#"}h@WIr}(+uZEYTማz>XUzoɔTåu,ᖻi]CxwvotPwKiM'y 8 $>\Ҏↅ~ hyk'QQPFq*AFR=ϗ Hz=a'i_†yh5M&u/woU2N $OěD@2bLȕ6\o_].ʕlkwEZtLJT48D?|5 Lj0hp9F kYJoۂٗ.;?+?DC#=p &GI$ʪ᪮ʶ۲8#M[*{cXI{* a@GrQbbz__jٻ1κTN6bG8;L4/A|T'9!GyR JRшSQ^C$Ӟ&zŞ-+$VqSJQm]/c"G' 1eU;-NjTl:T92 "{adL?.L8Yc=u./#ſXW{9ċ|>[ok!=({b u>Na %yHQd10ڭIoenV£&Lή bƀ8 "E (G/ ))ѾK'tk w8Xi<IÃ";q"V*A42,ĊE6lY Q!A rj`: "(=pm9k>ٗʪTԞsy:]0ibC"FbK8$Dp} ːEP8{|DEEU%ψ@҈j/A M)g8}Ojh݂B!};kUi5*i $ҥ,< RA1L$)'D hLǍB,Vdt%j%^nZ/ ] =ApA!{Ɛk⼊11RP_DZɰI8bR2İHwnܜ+ ܊pnhGhd_+kW?0uWV9>fH#vx*jȈG#@nK=ld%?b!Iz2;FjCO$P}< s+3GYqDW)&6і7cI<@i : 2DAG /sشCr"r-bඖITPyHșP#a37Mˆf(̎ \NDuyw'npRRuCCdʘs6{=psB4bP1I;C:CcdwصR l}ɹL@O`\2xȏ(uQ$K0q#!Ht=1ZrECꅝ*jYƅ@&G`|iQ+G6O)J)K4xLGS ^IK(9'jU[N& tXRj12:&rkiTw@ irrm66`vC `Eyh-)jݤbUQXWƪr͙-͕èRvJpOTQQYH/D T oG on8 Ai>n_!yĐʹ6E2PF f'f#-;%r_Wվ-dթmeUElPC6AmrM$kyyRUQVRXX2*e^;R1,(H~910@y9`xSKQ;YP9\ܹI1-E]TψN2QۄhNzts0@LH1 Fј-Q (i`ct_CGN΁{h`Q=ts H,KZְɧ8J)))*T 0`CX :qS+C${#ƒe%p9SH*O[>99OLIRX( +F: 9u /РSzN;ꈣk2Gh{ {=p_略 GıJhR&B TUNv`Q'$0sgB*j2"n!Q'y-6dV;+NJǛ5brXP-/虂s(\@S,ܜQsy¤G荎6PlۛHhlc|k,Q4o1^L;o) tAF :2:DI+8tt7;I) 0| ?zbe X6AD=I1e?yq8<ʮ9Đf2JâiQ*>R< ~eaD9YSe1sWzC쟵=DĢMW*>HOnprEAR1x_=+bH9Ab(}7-f// "L[;O[U} #SJNšߖkjCg{KdBD#"z AL>jW (1MM405A=TC%["LKȓu4eIJbc &0;s8;sG78;s8;s8$ssGh@"(@)aLB ҐhzҲ VibI}*UUIUUURUUU+.Jx88 B@|<hcƾ#&AX!|F8||%#h0?|1H67WQ7G̒^RQ~I>?[m,` 8 #[H(q`zԍH)9Xi蒒FƚywQN6 ? 1SC{7߬8XoOV] i(٤tnr|阻ME AS31O" rL\G:B(B =d>;H2Ċ)(G\f@(X'Hg 9!ɸP7N+g! oGӓ d>B`}wŕВ(Y: IjYi $KC`(AxC)X"B'gCx!ۀ>_>ȡ9;cp!Q4PL-D$d0+0jʄbVheH ^o/:6f:?zhBy=1:2iQ TקHnn¥QX)FvII&Wk|= ͱBT2Y=$܋5K@fb43a$qDÀ:泬CUHU gk 34DRbsRs6U>A͞ױ{m葕?㌁ɉ [ rR4$ʫ"xEи[HC٨Rgt'zE=dç㼉ThcrDbىE$<u`.`sCq<)qBLHfХSSH~>ŏ|ޅL`!B Q"q"O"lH2C̼zVB*̱62L:z7c]&n얭5!,d[&e%d3@ʠg VY$ 5z\xPKl*e6~}^CGQ* 4 G 9Lhi;xz<0NHhN>29=*[9{vFg HQ& aI"bI::SIwě8YUN\B!Z #TD뀬B>UM!8P1,HU D&EK:  hCD, $3L-Rq}QȡPH#=C"Px,=oSh_%6ZmS_rQMƛw 6JXp=lid4;d4it 0%|kmyeqj+WS:̩\FlR6lB  AB[$N[#,UqACTR e]ˁ^UП$?q@AQ!nx941A 1̋s{;;FdXs_mU&_:x8NpHwqt3Ϻ7>C ˝ʝJ zO\pg2f'2=J́F!ӯCR*duB*l|5Á6!T !_9H$T {]^M6xԿs!z]l'c9.C̲ld:!̑&ciRTEMxNe<̰4D'#FgNX|,5b.؉1BAH+-Y+p1FA05\FA`,1I& ^{  @d+T=1I>JHy6RaijpCъ^Ɉ6v=^3Y >B>ZTY;*w!#I%-,GR}"țft3358}  ? q> 'GKQR{[l i8kM$#f_W^6'8zaC,=:Ϡ|Ri1J4bM VIұ1TVn;XoO=^WO"tUkSˬ uRq!IfɷCfSrXFlH\n}vybmأFXecZ3{kX{OX?p~Ã↖#x?ֈڗLH'oT{=cLcf- /DA Ɨ9m2RШGP@طm b$T&f3!2Z.% )h.f@bqwsT4Pď!lEsZW!KQ,1! Ǔ1A5̬vQ})KRȖ]݌F(]N9BsW u=LcB卄l͡D ~mՄ# l" wy[rı,Kı aKķڛ*¬/d;g2G!Ry4y;j&'dRՐvBCCwneIfr::;gneI32II txi1ck5,0*Ў(9EW=FnrPi} d|’)) ?/H@»h]OOezoZL{fzkIy:hRáتl[&8 ͱbXgǤrܮ7̙E\606h,A:gcc{ش#:R}ӂWEI]%tT5EI]%tWwAǣbiӡbjIU 4$hD4)ZE\x,SJ ]%tT%wcFɫq>d[iyv,q2$0kmf 1N85p׺}]̒]8.TZb[zMxdDN޴R(|G!>ݤXd*QRNnL|:<̉zUD] ڷl Q9ÂI+PL ФX#} ~"@GiÈGb@YoGN+}D[l3ǭTRjUWtI$I&9ӏ?Rt](@5*i$mh?|&j6QE}~r1ǬqOW>,9seSȃr7KmߕDz 4CĊPH`O*ND|{}kJ芮b;O'MC8b"6* ACNH*l =D^Xks|Ѹ F0Q F/ĴC')8|b>.nFe&@+䥐H R! OϣbRīJI#yflX0ǚıBT(i !78c'CK(4J^z1rݴ :\&;ʲzIF~DGR<'qe, udn昜Nn&8sdq'3!fr'Sa%huYffaY8W SR75r, )Ɓ,6GVIhc4$tHq)ӡܲ+ w]Z#f+ 8uc+bM:tIfҀ;r a(E9sqς)$q]j\,Y"ol hZ-ETtÑ]1r'f&CMBY9H6d壝 q @bPl|??SV~OuwLYƜqWb⪧$$ Ie򪪪L VusU)UUUUUUUK>%gÌXoP!l:C."#~ޯ\cY .N-Uq@ ӭƒ$wrrF:\D/#ӒV-PӍx;Q2nD ;1\;pe)6VQ8S dmPӐ~Lgv g;H)=$D;={s&|Sc# 9crr79͌\p"E),9ܢ9$$r(EvAAE z!;7_u/9J~G(פO1>YC'1GSĆd&M?@7f =7Tu"h(Ę݉#Ѳ>y!e >P#$Cg kj4([04X6krmpryLd}!{L>FR$$1g->2R$ܤW} ,Ws| /vϑa9䭛mydðuN;ycJU&U+fػ6N1t71#pHd;as_R|s33sOJi5Mipr LM{b?MilK)@ ?ںSi,Ljᙩ &KRTɐi11% i|B|Ņvp[je{(ہA({tYTOr6,;0iwO U~ <\ߍlbKbQn⩋ggxVʙ.D;'l2jz]mσ3)ε\`~.#~@:/ݳmmUUUUUUUUUUUUUUUUUUUUUUUUUUUWo3x|V=P}iJҘ1觮$Cn"ZشJ١7|Qa&4GNMlArÒi].N61d-X&pHSnO7Cc7C21fw"v# J!lc>p)>ActM~MŻ,s,Qy(C9C*4Yԓ"<9TxlXvKl KeISG\},'dGj4@@CSd)e)ϵm~i]oغRuMVtÓ'g6C'wRLL*o8fGUL:`M3 Q†P,s 6t(w ! ,Ay(pP)( HltƧI49Wx<i8[JZ40:͊l`fF).y@q̥a3TBP{ь^B6W-q=ymh7l"ՒV^@DnIZVo4Bm^V7' RIjA&g`!necVA0xd(ֆ,pD*r=|u&3KKdyj(0 ?6D#O !%<ò0QZbFc\[!))jhAWlhC2 w;Ogl&  gmd2iX8Е ;ރܿGid#֚HS}5I)+;;uOe6CQ :NWyPiC~_ttRUl&ΩX+aۂ>Z)#Ho#+ljDI'Y2&#ZNl~)o]Q'9"&8(nl@w;`w bl#؅ AGYS2ITc-a~ V".`K OPdoXXx!",%bFiψnVUG&ؑG?_囿ʳ9L%6j(@5,Q?sMoJBsHh xWr!"5]܄bh(rH ~5Gtf;ײtXVpKiy/5O(tSjwI52v'$"q#ȢnЙ'`4F8Dl9$|̍'\ùD6'JrX4S'YeGif;ku" aa?G:${i 6"U=5MR'Nt%y-:%-CrS٧VH&C !E,$GͅKS͵ӫ{=DY v"0$VeRC-ߑ-EmJ[*Jɬ]\o["MnK.:UpW&6cf'"̥NT 6 Nθ?%!٫-nPRfDzD!!AGsJb`]l`a=SC_3rJJ su0 E90((-0*)39R*O-@rPP[5Q>uDrr~VChr7XmJ J~J--m?ZE:Vf AM?fouS~?/6Gsg3 ~3hs I]#?]Ѥ,h_rH4Pف##K j"ֈt{Z :tyVVƧ/lp{4vKǮ #[GuẸԙc&4 ħZ agAZ%g؏둁nԾAoi3JEEEEE__.N3?צvSd4oȐ?SƟ΃H?J  _+g곣 1 `@8DsiZT147Ratjpc}R~@7 ]DB;[4rNHD"/FA=\LLk,"hq Ö́`ٲ@2oc kG=.իVYZk^>=z1ԓS u#y_-| ɜ2K4gA&hѠc  *  LyG2BdE)̣3( R藅 8 {`4A; R=J.g=Go* \2Z˒< Y:\[?A2fĎfC9"#z[l9 ?|*S>=&i{pkܪzu{I&g{H&iIg@UEEKaҴtL^3ռQU b Pp PCV N̙ϩB!dsyϊ;A` ` Ng40CS3Tw϶ Y(-A~Xts'/ęH6Z4(7َa- )P5T +(Q1T/O# 5nJ]7[u۴?ɜHNn4?MCŲUrd$#9U @NIz>H})e>"~EW`uy<;0C%<ǁtN8iSw?$-JDrNb&^ Rd+暰qkM$ PP$L8g5@/[Ior`$ GLD 64^2|̸sI7Ԁ:B/7iy0 N@pyP$s7 iИP_ #mUsJqCmD"${9Sg3MCdWMuH2BFmQNaidC~rZBcA#R?LBM1l b}:,A=`yO?SM>B>Oء!a^b>øN.憅=b)XzH{&ji^1x C34cq`q#"Tv{ApdfdC{1X ˮ e@lU^L!I ĝ [ŕԐb*JO?>cO~Ңs19iiiiisf2dɓ&L2d`|݌oOq9|9sl18os9sc<7<<}e{?q89sg81Z9s|9ͳc3|39s/9m11Z={Y:9sg81og\qFkZcpK0AI a1J@Jx$JB)dv{ߜm BUJU*O LNΏCej1U U%XIۖ;+`%IQf2 `UPZH, k=Q K,,GtG%R<'m9B,Pm7vMdF${N`BγF =dcGGu:i#ydW8 Z$1 !8GG"E=/C*q+ht7|;{^zi=LcCD5?SϱqBxkt!H "o)d2Y,p0l#]'ALþF,l2^?6U|Ύʏ͹9%xyFV$VDxm,@  )5xKPPTBXS#`4C'jhcT&psu#;[tYD+&.d1`,f,/16+be_~;EEFD=cx#߻3$RX#\*h` ;Ж2Kqaq.&%@s0Ks|辤*}.N9P% Dy5V*TSbf#$/8p#@`آ}CD8|#bv=d2`)V5U(e%K }R@C7քa2:>Wl|ڎL'g{w}C)O*m?!_UHLWk'Y^nNIR Hmު:#$#ȕa%3?&ITX{LDe\i.κ꫒=;A 3b\ H= >(2*@i;bv4D&ӼkC֯x9MwP%}  ΂I]Xhh } #"#r?1cO)q͡fI7L,c4%pRH`=x#ݯb u.;xi &@1DQTdVWUUMwyM}M)@ }M~'_щQN0!+6Q%) c G}!NG~~^OeZUm*,k]`bikR&;a/ZJ{x3BKD#dabF6ǡ c[Vfc2h֏}',}&gDCF4{zIxr#x&3OIc~ndŨ%9ŠU͠ m@8Q٬2N!BK!$|6lm\`-Η(^8azf*I$SjP)@I$o|IJO"1U=1I ;ިv@#N |Snk q>1DI4}?Op>͂:6uWНu|7蓾m|8@<߱ÚF.e b ^ܕw9fg%S$NgP#g'N_;F۷A:*RdR# D(<)H9tmFaH&,3XnVp Zb䡩r+UVƈ G*ЃltSybWkchZPI-(<j٩M0ALG)JwAM}"Ԙ/l'ЇCn9I3D<{VE*S 4cE6@Dx @1$`( +%"B "\UFV7ېݹƓ50?3葨~OuUxăʀDjG,9{.w&I?̭Ӊ\G&-RUXڴgg,5ԄnyzmlJC!Y.}/?ȷ6'aWTPFp(O1e!a>{HC.]Fz%%뼎~o0U9Q;b% Zy8eb2'K jE{ A1- 䁈e7U|tc?aj[C &Hܤ٫ďrJ Ò,DĨ)8%_fyvMےpp⌼dJM4cԚVK 2SL7IQg*[LO>6-P HM"Gz"!==/'U?Y[M77ci7l7w'[,sV:.l&YmZ$RY(8^V5[O= Np!V +k xE1 H*dbĠie&CM qkqA>tċ\l+{z@t`gOh0>"PY?cmlMϼ3"41yPԊs(AjF$>jDRX m*&RTVZbHT kHLdLv׻c)"~“CԞ}Hx;A64]|sDyp]$Lr|Ř>u"y6 ȧC1l PV8[M M6VNC:ŷfH䴁sJt)=萑@q}ȝ(6Dif$ Sݦ6w{rzڻٖqfle˕+/Cϐl_EBFD {s4EJ]q.rr![}$U&†n5&IMH3 lYߩ6;ok-yOx4iS >bes 2meVٶf?AVJaqL\BtPTٚȪl0"=Nu6YC*D䔉[iցD鈊D$6Ld?0~͞U78mؑ|\A(0m(ƁB!?7?oBE $$M.Xjkw3M VʕT*B4Tjհ5Pζscpr>yxDukfE` L.dmlVn|sj@H@fX"}# iO)Ch,#vÖ̆k7g.3Ds&B~#޸Й鋏nsj 낰;?!BHXC? O˧%>domt?]gX!cLϙB,`+EBUeWO>% S#G0?>h`_J1_? s䟺;~"2T䌴$@b**) " &1ZǞxULcÛz.V=-oZ-;gMvowmƙ6i&&LHZp0IbS38gM5}X鷮ҡf_m+-]TVVpMKS5t%!%N MpRdMƒUGPkxD'1BSȗ`Aut*q8'y:\* AQ"5܉u ހ9050 4/K ւzv\+kt`2 pp$n nq4"爆S!7Y2Q Np8C(TY}D򛡶PvbqM[>'VJ 'JYQ-(iCB( Oɚ7N}.vUZo̳(պŇtM5n9c7`)C0AžeUCK]M{_FBA%04Ph !HAWCagB kO [\ BRLI.еXHSm1 QagPHKgI7X) 95\EB>zE wIR_W]>$;w섍Б? tNA kEJ m2db1hg7cSxһ=CqpN$6YbG`#p:ghsrfppi+ݟzNKed!IARe"kZem[Z?XYXߌݻ eMASCej{񑲐"2L?yM25Xgbd1ѫ6nY)f݋MBad>ܓJR-)hM$w*g;}r/};l}[-*kU2"R#c֩<$e އ w"+ 7\rDH50#즚'E X"ܘL% =hPrb>D[I9{ؘlAXD2I$?AE$c:dnϓ8{'L,̜2jl7KBzYsJt P DL!v"Նę*zʻC ,kzrgµ_ɶ4εS05_EI !b+ P(wg 'cv{:c^Ӿ:iX:KUUU_-ڤ1$l,C<=h__g+<][G4F&+z6lBEl|,$ښd'w!$~}*b-O?V4On=NLՏUa%xty7ħ৓iR7?':؄)THX{|cYڄ4K C폲atm)Q?'D'SI'ZpR-'DTo~F$xW0Ēp,I*"`g|S-##"P0*U$ZTГ:?H_QigSe%U +iןJ>)n=2s8'zfBofĹUڪY6la ȑd,PNF A*,崁Ւ$&V5mհ8i5mɂlO攇dWDƂETB }v#APGWP+bfOͱ3蛓_PϜpv ѩ<ܦӬ62J59 9zVoZy e ?J+lհ̌52+ %,QR7Mlc؟?{bdкK.eaKQ_M-zCRd-$lTd0] iR,DHMʔ~'>OgT)ܓbÓ6I0\"pω bxrgy` F4#|`:d=Xm[j?"y$zDDA%FON;+⯃x'~nL;eжo wnj&([P,BPA`<ŇM^[fuF{YSj,EZ*39cIm2tB!syޣz=FzuVݵF|okf,0H"Y hfai(l6YG|nO0<Q;2DPi)LƇXG(b!)/[f0֑Z2#CRv݉7i5eňA-TCa,; _ * p[YOw  C$$y ,0'JBAPAJ2r BdF-9gQ;3<9RciL1ȡ|<2 QbPm O̜~sOR>:IيYUO=d!TCO!6"+p򤎁Fj3=1!e-1+Z,FjDlŃvi`hFE+Ki Li3d#[m{SYim\H#h"wJF)D u&wdmT5T-|X2U!߮S漻uOU{MEĉS a1ўRQX`&k0iP ZP(8zK(Y VYZlkl9) bDdMbI "6MM0mXKLVV+mb2 3mX ~8lu[mbXkd3ݮ졫i6L=Fʉ oBGrP30恿!iCAj RG% w TR E~vDdȒQ _9t&L#K!̊FTa `6lef1iAB i%ؙ!,Ǣ1Mrch ) 50qH#dQpȌw]"vf @ R %ifgձ`V6ݥ6MPxu/V >ajTdtF';VyL`eDO R)J#rAJ{Ĉu(6`?~֡w IK܌)aD3ߏX6qX1){l_N Ej{,` $!ː;v:5fG&v*+g˼3૒bۼ)ON0"@0`rF*{J\tzP1F$&ЈE4m1~ ГP)a|&Z٬3c8_~<͙k10Xt=ʽxLs<6C#v}v_xﲩ0,5έTWyfE\Yl`VAc!&1etСƧ'rAt;пOP<b;o|c&qh/PhV<.vzbRڽ,1֒BŸ0 am9ْJd!Ӡh8" -&Aᩜg19kzK:at*Th^S43& ,XU2bB", ғKr6aI}c#́X( rɓt&*rAM Cܶ 謉vޓIUIžYvʥQZ5sMW$a0XYQʸ]28qrψ$1MH&#xTDP& j&H%JdqE!m ;5Md,WzH tH! K*΢հDUB"!&Q8T$7T}HqKP"2 !AHMNôQb;5^x QXvqH*.Ib(eHwt MBqh+"m!e-SωEɲ"Ii`89nuUJڇFv:5#qI9Tr"DԠ*&"`8U9cs{[٧$*sNδ΍H"SEp⌐E*a=P1˵ Az}.%fJ3&HPP 2Zf*zvq=AAߒ܄)}nUc4St`ŸNZ L2.y`|M#N+p3d/5N9>O})5v^̢($z f'YP(Q3\m48/+m-ѴȢRT=#MBr+SeMq8|@LZ +͹qazHq.MN3$@s4(#,6y>PPQD+mnb٬MoGC bk8G:{6–׮q<%(A9&=@ Zs8ötG4Teo,]J!t5ķ%@qX;9>b`vY'd?5P7G?8cLb 9g'<>s_ߑ [|gbTQjR" Ԉ'=H/`0E\`X HXXv ";/NGvi_=E5Z.Q  6LܓxZ%/`cX#(XfIlaݦ7ǎj j̲VLPP+.+ A0'8C"]Sv:"BFEpoT0,H CPO?,(dXmW}.6q]Mcux6cMr6j:\2  F#堛fNXpz&8m9. ^ (hL.|QMF]iX"2́F0(QHeOL|%_E, ,Q&Qw 7CHiv[*FPLaq"G|dŪquaF*`dq,p@ܤaCڿ^ha]*0CY-CQbyp#8il:OA\TmcdXY=zMbStI p$еqxH(Én Yq^yULa7ZQ;i\e&\e8/d00*~NG*ڛԦ[(-B6aҔaVBP2Wl uK#-D0V95?_DQ@䞚10?ø$KQ1 X;L̴"º0AtK 29 K=zy*%lՍIX6XIEO[Jbi=JLr7N6[gaR,>؎b"?!I3FX8duX]r; T"\JW+,]2JPG c !t0VRʒJH\Dv_BYGe" gkIbI;mhZ o mb"50A@>8,, ȡxX0a(u {dڳOldTecaU,` $֖ZHsĊD(Ӊh١mKmIn\/c2Jm7% S x7Dbm;|>ĚC1M0ŋHW?iLCrPy$O/Sb2! 3muwc|># m,FPJZ(G9'rU8/C ,3ïiK7n[hccCcvnz΄wxyH&&8 8&9MB9AG8i-HXNB eKqH0 B`GR A_K52Y'ȔGdC)E](4 V:)24@+d& S GnBrC]Ь0E IdVV8(}`,fEqK"ήb+n @HR XR4o-I7p3;t;7Bg˅t1X4LTehUv,;Rwk20Y6aRPKpE 7JZT۲9v+9%8͚o)x0 qِJLG\2P%S+UwWT(da46Dwq*[WDI"`qbLYƐٌ뒋-LR`41|~ _RiDh-z%z a4h(=L }³+XAs>^[$dCQQe@dpd4#M({uĄ$4'ʑdC'$a*Ո(r%Յ9!Yr1Ucj2  T^PB$;x$ca g$ C ۠PKZ''!7IY*^ ҊtCS=T7__~HHDeY?Mr>_7mܕEH>H!,n+d@axFX,Tm!qg9"ˋ"ʜ6 Șˤb҆H 5C9cjqU6H@ ċ-! 0+ E#<M2GÏh*Xex E`U{uvC.]*1Rr I pH#"*˟E0*H~:P%GBtD]H ݇JtYYh\{KFF Ѵ#VN(!tCXN+{I0$XOȜU%ۦH נv*\gBt e /LUI$X0QO|a|%w e8#P kB4&z/pOs{*3:8 3GJַF[KF-`L,$b Eۑ;'Na'pgbE,mfmi!qgK ,ƓmQݼ,dTdw4 XͽG)BR s\̗޲%Fa|ECC)1HH)+yн _j~knMXڃݶ p'ájfn !ZDh mjF"(T*Xa!E5m7~nR~&n}'MTĕjxTTi]6XMR72L.haDc>? pV"qUU*,!H-tzo[l}ڃ$MD*DsDX ݁PQf삕m.G$ſ@@Nm3"0sMoꤕ%wuͷ,ܠ CV&yREF`$ Å9A!^KpЅ"uŅ%RRUL(/9wnh;fyl'j+WLlHfq[2=o^MTFXGI!aCT*XW[iwLm[D"SR)BQBy mwx|ܻt"R jn)4;۲cS%i[A HݍX)A\41)8hB-$t2Ah]i&69\9jlj%\# *S_o:jy|n) EdYEdY%8"EdYEdYYB ]/jEv[ \{c@Dq.Ǝ jL= ;! OUO鎱5,Wݡ_$?Ąz^«Ot99IScޢSڐ?ժO4/9h9hylUT*e7rX!-C0z 8v[$ƊD[I d#Sxc'%&b'SEGqv_ԊvđG<ATg%Hr"'4aQ,tPj*1`j?ctXͨʨMf" %`iA'U+`8HQRi}Rɑ'`c<_5噒;T*#/JSIoDA0h63xAa"<DjZwl2B%wVH)*EKi"?SG߶ i=Bi1]vx܎q=N~;#((vGEQEQEP쎊ˬAƈ8וV ]cA[rN|j7g L|g;s3)JRJR)I)~Ǟ|Vylj(ymdmF}rbA-FȿP6{7{ >!|"{92CvIvwuBAA-Rҭ}7Tm ŝlVm-Ҵdާ̩acލz[$K#`KhRD% 66PQ0Պ`+SlQH1B("a,b$$#5#-FB@ڨthXsVѭtLF=̘D;K)bCXml($hszb̼QqU $&7r! .ЌI()!hLv ԆPlR[\x Q(m4Kadm.&PvcXjY2QR(*+1EiWk2!cCN,suj3XeĨ1V+$d 5,^PN3{`iV#L[*-2#FQ_BdX<0٤SbvR $_^$7m#-NOe Y[f BVJ-EnY+]HS7DdCn4(ehAFdET=o$!x|G% fifۘhndΛHuTْw6M75(¶gh"`+fv-&15;lVmjٷilhcŁ2L16 :mkiLL[v&4֖%ݦ+1[jl7g3n7nL[HعŶdݷbǍucr[[M0յ`n9m6 չuֶV!:~}FB1uIifɛŦQ/2&%d_Wm\B]io 4e m&ߛۊ&lf[wle𶂦RT & "%`9$z#)-m4MVLfl#a IWOgA8;IDK K R ybrmmome!m-;&bj4d2JJk[m2I+)dBشh&֒ԬMmdčM Y[Hj+F2ړM1Yk$4[-¤U 0O5A5Z8DX6uCE+HB"44RACJ[' B Z4TrڭlkB§)ã j2$Bip6.(I%XLx:sD}lƛܤmֆ@ɘ\j X5T@#{#DC`APS?t2Tx~5*4Z#<541gm>|-KlWٟTe렭t;G;`՞Z`EW0"c7ҟB1o39?k,LLrRI$$RMjj6"@^ȹHOAaֆ ]/IW( uz<'dPA(Cw"cHAd,0UIh741?S33ETTbX:Mqs|j(7ٿge4눥32EUiѾ\)UZW/>X0D+RB|Zh`>dŲP]}k4(BQ[qIh?; ȩN\JRUAQ%Qr}hSv&-bv35fk [6ٖ/`w -tDUǖJxz WkuD"!ةPΑD$"gc7vgb6%ns29z͞"y6Rض?"ARpk8 Ag;BQufM%(& (i s*Pt8H7xȏ*PXb\I!,Sm1ZJa5+%VQ(_!a&a! $Gy-Veŷ\%̇[uжΰڐx(7MDTD,)ANp񊙡u%E,DUXbghߴP1^ )'М~Qck3;hoe B$/b+:E^g4zi-TOqzϧZsGdMk6ߓMٰ4Ȍڋ&m4b&xmLM51n7kw en1lbmܙ2m-cNw6[,ֶG%loiK">;{=c b'GNy!a;8x:y Q|Ee>D((|ґUfymK&h՟RA#,wRG2uԉD1RqRgXQ';f|A=emTrQXG& P*"%SZ;аHC~3$Z MT눱XJ'nAESD"Gz  P|lw1 ?S<?u9|BTQM&Yfh:fY1l/&thh+lVi6+m6ܳXi"1Z"ۘ30$aHkTȌ# )`߶}#8ѩA_Q5{p3h{$H%s~{x'|'˨t2 *!'*79D;۴~UQ9x$1䃹5`!jC<4TL/N^G iD*;"GD螕N ,ȬVj53k}flc["Ul+fjU4oC[&-m4i2m hPXƣehXmV~lHɫ LXf[,k mlMّ³dhdIm0~3M5[2[,R_ڋƶѯ=5Um[DJVű+YXY?eXٳ 4$;πg'dža&j4QDZ6O~VM[jJ Lka~s'"_VC LP?V?{pbO3HZzʇ k4}FOD~jӑjb*!bE%({2UONS"rE*/*pR%4Ҧ94Y80d^ % DM1&MmjibEvXֳ 털idD\,f鲢jŶDݟ =Gg]y< u]$N;>@ >Xas|jQ$U;!b?4BZt|ߒ!J7l`P-R :'5TzGaM(I3d񬛝-4][pࡋp1׸>):3X2H2$ʃ0{B,X2hR9NE[kcib{0MpJԛ0IT <=90:NA p;"< Jqx½-tMĥ(F^"O'u#d5qK/>htM?XJM#FڳvlSWϬb?$эX!K*%JFJ6+ TErjʕmEޓ';Qe,7qP&d̴)`7KTnt30ba8wHّpB Y (y@j, 8f&tF q0bS'953XZ pE1˺l*6jA|CれƠ J^3zI$VC}/% Ћה6Zd+ߊgmU"omaB[cLR4B&ajST#Q#&*+|G)?*eo쭎MFnvyl&7g유~YTf2sڎ2dX)q& ZIhX>B' @h;J+S%22͢CVj؏ܯnyc~8+b2QQmAb3b<4+gFiPVB|443T hmZŧ$n6~C{(@+$ʈvELP[eKGO퓽{": 1-d a f&Ϡ"c"IV0*3vYvT0pUC0=\$q:{UQC'VAswýB 6 @PH

s E0EvyڨKQJ@Q#ێ=U?8g0!"BB|SH4KtH2X04S?|f.}Ir7 mEZcԍ̶H윻hb'l4N2gJJ* ŪAXb.VKV4P #acm)#mn'[C6oN~zhhb ^aL V!'Ǜp7Kόp{'cIG @> yeH#tM!Ih_#|e-pJ I\? 66D۱(zEtN؟~bϘ1wWTG63Rq#=I ˣ+W09-L?Bat/HjH:X!pZ'uH0PP !pmJ d'.֔ϟb}S!r+\2(; HQQ1鞨{A_7@nR,G|M'>5|RP4144AEDL HU4 ݘ~Rm )Gdu`4a- ACDCPA- C2"(wBP|pϯ?s­"1"x3C݁g/?^F`ІH}Ƞe*ONughH7y[;~'1Ǻ¸J/L͓p耙 D; dTyL BWHH#lOqiOww꛵mxӃIX -(l&Za8HF\Pw`=ϰ(Ͷ>ݕ5bTq.'v2TD;8 '<.z5T}R 0q1* ɠzqq^]J O,BupTM uy(Ėk݌&57;嵑&,( '"C\5MpwwE+ /@"4F8z=cHpnb KnO*C֖ 3=pܜ)qJ)xGz=<&|eI~Dw#UW8Fx>|ƙ5Z/Hk 1CO̼!!BGY0% k%P7J`w3la}`!EkQoW!Ck~T[RjEtߵmAb"&U)*5+̿.Foh9~4>ǟ5C0@o;#[Yw3WȈ%Jau=|wPF[Y$vR(Ǽb(Hgge2cֵtsst+~ HKz:j0QGĥa鰇H3ϵ}rƆ f|@DcPãk{9^XTiQn8[T[^JkOR;H\+Ys'='&~Zҍ?Fծ=.ec }ٕN%'J7?hswo-J覺Wuos3\lןp~ÿˌ\wCL#Bx\Zn:6;?Esd-/Pbع o5";+ez:m/3vHAl7ү <=X!)A0$b_ F&}vj6;z9dK, )4p,rg?o p>D7FɃ;t\c4Ӈ`u:l$繂qJ3Iۮ1fs@q[ )crd +|N9vE•Y~QUeihe!JHã7 .sFsjFʆ$LDÔ0bNAh+"I)G5y- l~ooa #`/ہזNUdU&͂iRqn܂ z}z=4enY?8s19ꃈxf79Y5[-_J_$(;y݃K6eMkspO.鵆Q.屯9`ؕ#6m(+,:լq^a!赍8"x@n9?9= 4QdL}ɣxH'3_ǯ-Fk_~eP̈Qӧc2q ܼpǺ.l gnǾOTFU328y5`6{!᫁$H-7*Ln2KӜP׮CDݐc3/I`ا`< 9ywkSFNCQ D, U3Oa.DZ*Xqyj9f)At mkGv瓋Zƪ8soDDS)O%0d}{S=z$gD#W>U ^DYմx;|^DɼBO1[o\jA$lMD*čdfGC&GE]~f Q-BG1QI3 ےU(h"EG*Myֲ0V> 6;7iq\/3zE $WJIkZ׮nȶ I&:C}؆mB<<)ngeZW[/:W^DfdhmLG 5 mw6 }_P!905eH{FFsi')(n딌eq5Y[g0 Gv8K]D@GsSzy׆<'T^9ꊇ rRd < U]W=y ٚBz<(jtCHR1洔xw|S= 8`)ݎW\Ή٣q#jƍ 1슣U8DMUs> bmdl}3=SDwUt'T_ sg& 1Gvɽ}Pzj/5Rgҥ#濗o-, L}'Y87]܂xRrvXDӔ۵X[7x?/nw0>̒H(Uw]16@!rIH#?|LUp3/ ?ٽ RS.Èb<{޽9;'$Х! J1md 2T֡KetCO%Ab>ry. p'pp@D?P7ƃ!ANF;kqwi6`?lӰS'1;;RH񗌕^iCyAB=|m`&tЖQ1T?>K DP009yԦ^X!,D)c7+gyqCR2AeeX"8GULT(~G Q0$$&mĜdP! 063ZpV8A*< ˮZa` aV^EFg#Ut0Uf1Mj"BFXz: 0d\ZbID!㾜C*8ATdvyE]5ߦ'KΒⰏBbt cnNHCnOq7Ev@,SU p7B:~<;R`^Dyp y!^JuP`d1x i79 $[mPJ <A,WuaIQ3LG5OO &Bґ {MT"GJ8j"td%WWJ&鑱5XQp2 rMMRaz%JgU˶j&dldecBC*hBwoCü7QS`CAK"nPe*`橰rwi14ՃOK@ۿ4I$vʴ_P67,7P:Cy3j肝CHzƟymnƠrꩌo9IYIM Rƛ|fmz'0!a,9x^-p6XK_Z;=G:ΖRْдyrzR͒xm%JL-ҋdzD`ߒ`(هdlUG3=ϖG9Ya%\3 9MMC$O mcdRyMFuP?w}^x}\F q,hj D5P'3F5 c&͌'kΔƙrɫ5TE0Ql:E?A8_ҪP񆹛{2   "_~.xthRu+.852M~'.^_kKp~8ڧX,>N{׾u9y.UkkRSV!Ȓ5/r ])G3yb/C5LyN+7PX+_@ :! ge(/_W U^UGWQb>MKS雥 Z,x-:׽gt\=o>zn[51z="9:6ǧ* EGh+Z~YL$i d%UeY\o$c4C@V弰Go#48+wzva֑=.s#33WVmI,>cJl|Oa Jް ǡ# (Se <p4/iL0e;HC=ΜߎHj9>Z.c\ۀ,%)Z;ЇIACy@Hq#L^V =LxyCE7vCĠ=kB\ղvɬP>2U?O⌄E(@_A d4~M,;ʯ i@AO?bb)"Z""X"Z(F(%*aōAM,34iQAMTPPE -)AA!#"o+a6a_ӆ'U_]WR9/~(MnyCf Jttvz̺iLSLp(BgGz|]jڻvݨzB0X1C6JF=L#p9jA8*=[oktT;6DW_2ضicEO؋#?U_\Q)yDqb=r/%v#FQ䳓rSb6ARA]ˇ0eW3 N1eo#k5h8䢁܆<%O8vs`A4GSo^xo),(-͌}8r[뾽lW錳 ?şcX~/$jEU5nV%]Yj&GVVEUduO֩Iza!|CE~ |ZJGp|R,.7\ eI԰&GPs1&s@ A#:>c , $()VU%ݚ|<0&1zx YBP+TX C h2fD>F ^A xi Fl`u`BЪڦ;$ɱ/% 7xrcT8ˈ&X"`"$$)"+b9w8=ZCbP0 a(2s h3yfOĢ~ovuJzzS7,UZqId7mܙKd\R)xd|Yd ^ Py F0׷;1 Rꞑ&5S(iôSq5ۿ~?}<7x{y{x?dFy~Zcԛ"M͌gό9xD2|Eg(re2'n}P|4n$ɤ"TJJGfl;Ea %夡s|f|AMT 1{WPऒD<pzډ߭ qĘ(0Bw*BkTI דZUed+3+HȦ *GDҚ*2IA. \Ue!U)rCCq?}_](P5~߇~--_(Ͼۇ3:{L6\wR i6g:/9J3YSVpDaZE8]+6mS.MvFwBdK1~ v'=8ߎ]wZxH5OY+^7O_S\fM:s5KN=x$8 "Op l_`4wB)`~J}[K*G[ sSma!E8mZF3ưzQ$v5+Eq_|m٪GYZCBo;&>+$d,/!3!VNˍoӦ-*q4 ]PiS TiL!h|I|6V`"ǎ' ߣKu ަ3 I͋ˑh[6iVD0ȷ{~ k]kӮy#۞%U2C&8|ú4"%(eP'RN6m8OOby} XgIɲ*ˏ˳o= }7|A_BHI"O#릕$^iy&M u{t Mn.aD~4I!|5CNٺ1gގ] =흦lkFEl:Q]%6Gl>'u-PM`ŮU0i&t!b?w6ng>n^Т=a;_ʎj361G:a6ju}deQ+F=5`e="lyTKtEJ}fZ꯶1lNDxyЊGuڰa<`R{;&0^#Ċ)^lo_RNy xI$#?oMʚ+D-߻ m\;Zoyގn,_jU*K;v^*}'ZƷ(MfNC0@T}uA04V G$ǛM4QN"(+ E$C2DPLkClhCzb#'f71ꊢC$ I0$;`Lxjz߿l(uʓxIBrhNCJUdGx/˄7O^VD.`:^;46Hg61úW2knR$ו<"z GlesS>zQ}񘒚&,$plطgyP( U?BG׿\Q~p<<34"qWVk=T} ]W_vJw$Is ( EyB~yU'[_UǛ6Z !|feUFEbO)Ɔ+0[l@rxqx&j I/߮jd秬Pd&99~Uuj~nNj}$ ag?Pz~;ɬu Wo |wBc(µk9c6cTK~|3Uݘfclىo Q|<}e|eF d|vNW~hՂ>gs,pNWbyV3|xg?:`= wVӏspΓP+2G3Sys@$S|{3Z|zr N}o(D_O>~O˅DqO#g$[QW[B<&z[ڞj$UHNDn 'Vӛ<5@%/_kN8^!.zK/b n? }æxn4n7SIV%>mbo2fyH2UvhƂ5_Ҋ<~9|;j_CQ xZ鏐EzYjO=ˡsXz`j2|fo??ce֮[ߞ|I3 JZ֤Ė<榦MXNY" ZZJ'WH.VQgʉ&a_[`:_}m&,7%kg!:ʝBCBk!JP"Dg#./3#z^;ZMjN-KVzOUPOU 3wQ0Am)|9@)gZstii)^yvZC3] 3/68ɝ!(F:o?>[Gx!ܻ^-1C0k46T eyc:v{IڄMH/X< nJ:8:'N>};N[x͵zZVBwkӋJfZs93 S{`r*1>sEL0yk zƤ߁` 9[֊:]ROcAF{f`4 RЀ>s`(e7?1D,F+Ox D;$ gۥI]aAuy.97)cXGNmi;6+Ο:[77ïA;807nSdl1Q!@fj(:x! :ƻ^>MIԵk1(PZٛ9V6e?'3B%JZ1J)b{KC͙h&Fo_[a$,.ʥ,3L_Ym:kUUr=0M˝L7vx_a5)"Sz:ou쑆5O;QΦ 'hDBkZ|Ei\zglAT ~3}Onu2~9N|cfx˗(|lҠ"biVR-VϿ\pt9(D ~+~ zow5'>ՎV?Mu.XPLxNB U~,ʪn h)yEЊa qNvTU&O]UJaF YN2w*t?_|(@ ߣh|pĒZiS !_,G¢Td?svQ(͈BLHAkچelh ȇΐ_DО7<07Jr&=teG .l1! i2J ] \ 1Mv#~=v6k>XĬi_ϧԭmb~HcϺ=?y7+j.[뮦̚vbK'e3IIT4H{A5ZՕk;L"O-,o\ͱ6,VTG7}ֵ0Y1T0/V ҮVqص-N%ݥw0Vjg!GT+J# >Y)n4S'?,jN*'ʣ83l5z[ #K=lj=QҫebYq(>:q׮ѹPV*LZH* V-1E_g5q X[BFyF͹N\3!!::.f8>0 sx}x_Yk=UZ Cل0稀hvGN_qCrQ&:reFDڻN`q]Hc>LE:hjFHX'3¸ȉ=˜UjmE~n /|N`a ^@oJews L/PÊGfur xcZ٥f=Md{5-,glzޫn׌N09A@"Ad(I3Eچ#؎g589PZXr'AlN*woN.$y'52A&[mWZNf7R푐lKAݏ0_1؊ūbdwUվ m}N1.Ϩ -"PB6npgcK9:" +^m{%K%k^q)"5yn"c~cmֱVͭ&?n}yRv66m#;S¨8k'aM(Cj5UWA%_R(%r{].$`ޤȵ4ܭ3Q(FBAbry$#OUS熑s7j|F5o6#+!7CmÑQQK!<07i2ZE@'XIŨw+K7N9m8p0"P2g a:Bi7PgȐ]0E֠@ U2<:ړ1Ұmj\εUj N v u_QN=uͺzSZ6& A;9ٳ/^i y·1[$#ҽ},6NhBcS2}T-]bvK\#rc⛝7K Y]Ǯ u{msm<ePRӘ/`8:UOVUKf[u ~WjT#wnN&3l$Z'v2MPL/Enw5.,|Tyi}Om]wA-њ2tɆ:sm3xkR&SrU@CbA I P2.j=p<.2Og@uFZj#V-<ᲺL)q;"GPY˅+̆yhcUUGIY6u4zoTtz>u3gyKן"&{pϙuL`Hy!?TzG:rSgvzqx*1pJDО Fu'ȴ?EQXUouR6K&6Vc(ouc0hՇ" 6Ѽ9040r$^TfhIs}0 ͚jVJH|9.UlDO:挘3YM,36b>V(">)_Bl"&6[^~aܥ}Gbj" &Dd3"U$s5&ߗa! , 'H6Jk 䢏ĞELQ B&U0pNLtL/k89!_7)i:#{R|HyA8H< 0惋bTDIRStc;Zy<#UVITxu} ΈJ.d~aqAʜXL!SL4Kl_#@qli9Y7YdAYK0+b F<9 l5WsNP׽6JVPFq"h JP" I (&qJdjhp9L1ЙG0AX@lGʟf"V0d:%r8-US4#XEƒ 2{שJ ߑ !0}¡OdlC+~h4@eݞaM F!(Wgf2@GG6'4 9rmc5~O< x~ԘTQΝ8_:t8 ?m؇D(7h"pxwQǕcU3u[ab}'p Q֝!9?dXPo?h(46` 4@-KxD龊 :&#)k(  Ҋ OgxH"Ag4s,6Aٷ`&[xQD !^OމxWV|%zJ聾#|$;b zHI :AQ?O{  I*t0 C=҇wl0kȄAD% c0"iJrNvwmL<87Y_7{?Lh<~ԟH0JG)԰ry?@G i=|!_"**)P}(s_ X ˦ȟϽ@b!uW\;+<@v_=ң;3. ކe`+^f*mwɬ`Xt|ol6:ȬTALb,;X;3kt@3zm'CuwZ1(w"l@y6qmZث@;parvվE4cC`HDޛ\aKO&=NxlQq !bƅvBw %NW=[LA݀P'")K)O?avA&a:5ӢWLn&G,K,w5M52j!!u)$]"l 6drFL!@o=T+&[;`H_B:ÇwJ BA JN2ZNuǼh6JF:Y(;S !G9?i<C2ka" D ݅ȄP@ҼL` vOFyCϜR%០:1DJw9`-V* ` >F f@?7?Dz;zqm1? cSlpׂwg4H-ޠ2a`1SGrM;o1ۘxRإ)tqda g`ꈀE ۉÛ$#}E;&(oAD'a"kHN d[;#pjU6`cT"p֓yhmÂ.@^kԸ}'zH50PCq@1mO-YjnMє[˛ 9sFC8Npǥ+U!ϿUEh{3fl5CZdba&hfyaZf!9V<\9(YD#BI8=VBX[Z &# Ȳi nz 4#L\]5 ŀ`njLA f!hٶ;E;1F,H>b]Fp_oڐv:N׿t}CW]=>%b ͪ?H$?h0}5+ JcQA/4B[ "{i-@+(BeQM6YiilS 0B֫6ߠZ2ƨ.o^9g FVx3Wɹ ]ԍ%ᇂ[nY+'k, wAdEi&Do!C܃Mp{gܹmÒ!S< kw*EK,!|"hگ'۞I?ͰϓfNJlۡ?E6mCœST õDzw[Wu|鿘3.D~tC4S>S²hG(S=2dzÀѩ?`aRrk+a="CQ$a߳ˡ٠uI}D) .&!zNӤa` h**&=;.!S2V~n?f?@0Vkϲ"{9mlkQ=>) J"@ȞqV*z¦zaH'tSѱűD]>Pb|E&j(i@6 Hv jв@A sĐֿ']wZ$FI!HE7Lt&x # :aH/)GAhpPE16M=^mI` i0` DڀMB$$8wYXTǴ><<(hPqkG5κW~T5b 톃")O ~LST@ 3Ez " 0CƏ*k{QM'701$*`' o"sr@}ESxsj PnezNHAzE- HR9  $ 䁶[z,A_{a^G/e(yNwWCd)I7FD(mRMl^eQ!iNשP jG!ehA2š|!;F’"dO!nɳi_"BGWC ԁVHh"$:--!Ѯ@=XPu\)oI@{WePMb`8/ PڹNӷZ`SJC!)PPKP!ZiWA"b,TFuc`g_ٙjx&Fn2t z ('ytL M&2 H(h*&Bυ"#bR4 O^yڨ`B^q鎟*>H>UYړbYטOO:9lb!f /\gp{P-*,G&"f!L 6 `sRT淈@b62[f,48:~/޿ FMMqn`N9Oh2j@R9F,aܣ@w5ȴhhd`q>i[!9S4AID@@TDDALđ'n!.X̼ *kbJDh\`rf>=e !G17W6Q6INY%q|Z-S1[fF.`'X4`7:Fr5 Ҥe~?IA˒BwOb&0,ffPKJיa)(t<@8)"Gk3&!vpCZ"䂟ia Mv/F<2D԰ ݔàyo 6:K A)PDpg{w\ 瓭Ä+۞6/9 iMҎ`x"gā2ϪH03tyd_7q2|؏ *;Yl~a:昣}dZB%4|z M%""^Hv(!ux'0VØ ) Q0^4zA/d0^t=&2GDzD'M6Sq  ٷ{jE/t D ?4` l 1eNGB sQҨ=!YڨNMTe<.4?(BX '(t(7$mBz`SSzϋ|UubCC*I4R6I:'&ITNY3taBBCYhUTz||PhD;_x x L bۘ@ILF跰0 ; |P8(# :!G,LC3>ʐuDyIHkPC@ ?#]*oTr3ްU"v@[ - <{Sbì9vP*َXͮ _ X"^ qؐ4`ހ IT)eޣEUcDtTp]'&Iqlp`]@vr0G ^*ȦAzA@PM5,]w6H(UD@OG}:NcJP¡ԝx*%ALQwBAw$S2ATQ*JTOIϒ P Z0\KgxZ'ʘAL)˘*0I FRpMɡ  ]PԐ!VWP9л@Q bS7^!}~61 @H8J)1(td@okf: a3&q}Ii.)7RXƒ  ŵC`d#b"lQbCd&C8wӀ_ | BDULp!FB 7K;1[6 OHGI* 3-("[/iUϗ$W3:63XuߖS]7,H: 6=_4moh_`?,HptDh;ps`|Mp!]{DIi@?"y]]J눶 ކ #,^җ.| R'@Ű1 !z9 pS &nv0lf 䠴K)VA ,h=ӎ }q!^`z>bILǼ s \Y1' Ml~> 1_*# % g~u2bʸ3˨9q]B6x8_\ۖFѯ9qtma$Հ$, XU! )),TyƓk8&4d.súmw$t3ZrXA)iqvp;Z+{jSZ"Hn H RT`/&>=u('R}$ODc|`:N{PߠfK@\@Lp; F D/ӟhTrM+∗ZX|  K|9G! Jq4*SMnȯg>Pj b+'`R"49B F64ă0q$~qA4jqfS7Ъ(IUM *3맇uNޑ I*1{xH4PCQ \u'׻C|U~1t gXFy9́` ] " 0@`d)0%Ъ(m8RiY `FTЩ rN0 6i?iOBN#?A|"W!tKڇrrʖd<:L-k(l 8h*zpd);Ӯ_&u2ހM)hξHͫoa؃ Ei9 ]! 61A|gF@5_?p\8AjGi*sC +ݜ/P&(8Db.W @I W#( 1>_ڂŪzI1&?c1900:.Jb:]%5CCU.$k۱N衠fb J9A K& 'w(y ASb/ljK6֣t4{r< ]~X=>ճyW+0T*[YNfm;i<'`LDdwtӰޒJ8ĨhQH[6t=@ڍ^ru6?>~DOtmc1`}V7v]8YZX664ڨI%gs<|ݳ(B#.?k$MH>bqEX}r>MtV=}ܠ(H@^Q~8ԽdO1bBlZjl?X#pdH!F{]C#9!oK jΘw#{4r3RZr&uk IHFL;?>EH;#{/G( v&̸^)͜ߑ . )R/sx]mN+Wi˺s9M6:b\P^Y^D;}j'#tr! ;cSUhr)i>Po2!ZT_ ?By~}y~iD(~!:!>o6lLӑ8PpB=rjJ nM0nbsư Wy`t  x$G-rE\*@9s5^PxlwsAƁgyT; SD7HK @`эfwyȂb#kN<-]C@:dG.B100<7 Ѡ|^rֈRY$R4Cd褔ps67[d03A74} Γa%21pM&;O?4p`l=0uU(CPx8 >hSaOY(-@1X6/6A> pHU#O't./^=Dc!{:1~q6+~ =P=s* t ^IJ&~SP)SAS&A}@r! ְPlD:9-X R,$ 2(^l>η6jRq`Vh@N;cewO+DS(:(X T rP 5p !b=!y!*rA= T6@|;@%N~p (yZyg^ ҈  g n@E&} ]V6`ak䍇)J8x>z "l'C>P"yHSG/91y qR0BIٿŞ?'Mʃ\r'Ⱥ  xLQ6y̥z_ DFid_}%dT4n;,Soo7j3v5\7"~͒)z(eoڅ&fP%)+W"s 4 1N?sv9#2m4o,c*Ǵ>sHlDZT9ðCf"Gp GӊsB.RxyUK #cn'ZT >%Fdᄄ64i}<$sbT;1pa$K ZcdL20w 6vQ,b2l`*1&mybGXlCT-UN'!UQ0(@u^8&rQkK 3:l|""Sbԛ?|~뻷eCϻ]W۰g'7nagCCF >5DcW^*;A%L]+Š"LgHlf~Bs;h{B\'wGı'Zp(:G ]i!u z'E"O?J'# O÷vQ'b =lllm PʓT?L?̈́7[ .:8% _>HE}A۫dw~ܩE7  ;f#0a5n8{652`n!A ,VTA@Ԥ›)acrV·`(6,Ej9\8VWkذhAǖf$&qBwx,cƆ(qԇ E0nd!Gs36D @iQM25Y,b`l;Y?y ECSRUP{$l ~aah[\>}o5|Kgk㱶Bu)4 y"V\1/M>o UnW!6ux#}X8<^E4[AӶ *)[y8A5`*b0&! <Y҄ chbWVҌ.;(A?][JBP&;ַwͰO ~UEYOr D`bP A"j4DZR҈˸"!lhlJdy9d48"Y"s\ tvtѬ.70QS%L7!m@Г@tvk-Խ}Q$ 7N\U0eCp'3؆ֿ :!q%dor괔:*'SufmzAs=aF:l"Q ç$ tlH{8kx$xYgUc[`<(k$ ٸN")+SkA)dCM7n/Đ'ġG#,0b`A;oUW|A_ "Q1xa0h7+9P )Qń& y~o> ޚeReQpdmNyW ڑ! Y_^5m Ql/s@nǖIcHxo!Jj/C.b; BX8Iap`P8&,!7i;}{q,2lreR,Ht`o2N 6gtӿUUZ:Ex!iQbI$#f5Nr15I \fg@d6^#{~:Ln,lEw~3&B5TQBؓ'U$>T~"1;oYh4qaQw=!<: W)քlo`wyi "jIȑ~=绻5~sp&CdB292 M;}!(BOp2LkJǨBAC3(~<<\` {r+u?I4j37_~5UTUw+ƴL ̓NaLQ~66T~!E ?Є*~|}>Ϙe1?]̧Ɯ@!_cX9Gs(C@>>My&c2`X`wOw*cO {6:6G(?0Ч`` 9  I SIJ4HܓP@ Kxa|9>?mVv*NG2ZQ<܎_P/@%>#+<&n էœ'S7ڔs#`LrNH =iG[(T0mFZ.CݎW} )FN:քjN}WPc ;C6/-EԇUJE`.0vol}ÙaFz:i\ H]Pǻ9|C.[{?Є   {uP)%0ݨ[ZZ:وp ٵO,j?E,FSw{HCh( ! "J*h]և & …u@lWhIcba-^ܢd2TVk3,(VG.EyӮqMS4p@ BsR+; @ŰKۖ4j DW*I;yDV>ѵ̖DnJK@wV(@uކ>a;GaӇlKUFsJG7%Ri"g\ufr߉CiE@ )5)%"RD8m $dU$J!/ UK"!ylƩHN6yxf 0H'O&jz4A@x;M1UUUn; ѽyça_,ƽcl!$da&IF"!is,7Z h4_|>t׼FJY&0 Nr1&<(CRw,Lva#/?ɰqsQOUCg%>^E!Jwn=d[L,ovݒ2Ӛ=/X?3I0c5">_~f`yp/g|UɊ40 /6Fd@},:oB0kpmi@ m@R*PD!}x1 JR"3\8䫝Wp= d `{LE&2HsĖ&}V}/Jâ %:i\qݬְ_RPFdV^<_u0)Fu`canC()*I \L.τ! `I!5s3x;p6hi9F&v>d A-!SLk:NYׁٌ˒H\6/1z={APm 43 #>+ @eЏ$G yWW ^Nsd6nNyvD@g9-2okj`3Ep {D'eTcceGL#;֊:v2'i*dE ?3PB% k!#1{ jI$ty/tDAO#C lĘ9bx O y2\0jqX o(HMM1v7JK hP[\)OFGtm #P#b%(XdhT p0 "laclF ϊ_:=nHx1(IMEWA"2Ӫk@@Ua`t B) w70鴾nc xܑ+Cp*9d;Ϋl BB!-$ u#{>@0a ƤMɘKhF<``1sZ6pzȢ:y!AN`@u!C:.^S8D`85sx#& &zެryW(^  $樦az:8$ܑ\_DNTg;GY8ae{m+=BHXVJءސ]“L$-".{0[?räA꧎& t34::Q9&W^:dHRuO@sRۀF>xx}鈂 P@|~mZmWwNZa M/}Cr#b#;(Ln١21U*EbBۧJ1UD!j:Hq ;CD$JH-hHec܆'`MFPSG߃ۢj ʍ!&oqy/%^R،ƷU.6{ ֬́dJFQ4M(`V/ɦ@|o\W+`A')\0"M_nv+üp>! ^B@Ov,ԓHɋ\g%A s0c(LxߣE< o9Q|G]-+^PY=w>dahl]0P;0-L*M3VD{c *XcH V[.,xѴ$XRKCD>GۤSw:t]=C`fRaپvkw^\ګ{"33\-00!"DkF;kTDQE`I kdzyYd턃5Qj5{S}y蘯t]wV1v&:Uwmb:~A>O]A)aсM gN>OlZq2D 6"ۦrl|T='GNƒ;Lڥ 3-JȈ}jzW][A Q@ф0Pf ;8-8]L% ʻa!Π4ֆ1ޑhJ !!Y "2&&y҃.fK1 ~cp`mw<4}М$d-eAOPLp%KB= TxwC m5?B֣֒BNgr"@Ɯ LLm)ci߿hrN MQ%cD,Y5^㩃!Û[P0Ȩ)"h%ybFqSN%O&:BXY4 GXHxd8|? -rd!"C{3݃dC4yyNR\qҳL<  b'rZO0t! ֛dKqB#0 7)n%_? |P>91i,4kuЇ? %.o~٬{%L/N'~6hMʌU-@ } x>~b$"O<>JJ9e~/BJ, (?N4̡5NJi8r·Լ9g -L2Uxy@Ao`m4Q&L| Q#,Eql. ƒl5mb"@)D8cxz0Ap gS'rX2.gm$ԼmgOPdX$%E^s|8ZĴj_ QX@ygZ[#6lrC`pGIqTv5?kDUx3*R>a>syʞ= :z!ʪz8S_GoA:PcaF4(DеH11S@*bh >A; P_[2gрzY ѥ5h$1Lp%aJX#L`&C$}!}̣ gd;I R$>\!d~vnԹjP7aO1H'?t#~h`!A IDt*)('N*S>9s0e6>Cq>p]GxcݭJ\z 3pJ\$Dl'/T$ԗ@ ~zà Qc=*n?k<Grzp>;pxȊ ua)AE 7wmkd@^TB{ti^5bLi`5u`s6"j&@SqD' Ԗa)̀ !+Rr $ORU2|VΊ1@Ԓ?pqb u+i;ΰq[i073T@R5Uv1 4Qt&1ܞ&<Iڙ%5,qzܘG  "7P, w׾9K|>-Ov|"`:{5h0(PEQ,݁3," ¬4v/AvR񯁢- Z˄-Fcc?WF/֫dlO LXAcYwX1s{lOohi2d1kQF'C"yÄ&# #49"42>h 8(д m 0#vh0qB҉++@Ft(y)uE$K\TZ}/D sJHmIAxt c%"z=.#Ă=S~6X+Yf"r2TtKm8SvIk ="8bܹ$ 4 y&4g׬{E$7Kx-mX0e >P&AI!RHN )_剀)h`!: :(CC4Q+ŀ/BZhZoIhpMF敜/V*JCe" LU1QԂ>R1>4sIEdTq@%&&ٯ gvMlqjk1.o 8%eC\hcD!n5%Rԇ% `R^; (0 > > zvÝ &_ ?eMZtx0:mNvo'_C:l:P76 @eT ܅Ѷ zxwхIүBPf$L>g*:! a4#Ou>(J0,:Ii">]~ vq0##%8EJDLzVↈY~T1Fg!GJ,2MқIX4ЄpB, FF|}n + UzР$CIנ|j!I`_r>OxOS Q\a Fh` Ӂa! Ga+=GÍ3t_n> @%4~_ n1v}u2^nǁ ߊWd7%͊AB0PA)R"{DJc$}z_EPLϧ}J"HNF0V;i!2 OIP$ƹnߣxNz@!lb744IS؀0U& >EFbH$EcC[L Ɖ#{0x kw7ʾzB^Pݥ" :ȧ0U!guvѽI(l "kg!lOg\: $t~9 V⥢olm) (J"'[8SO6%Tl ^AŌ^"p!, -*/s_+2_;<[#d?\LA4*zc(&9KR(AWHkE"(|OsfT) (c뉈9vKZ1`f4yL؄2&Lˀl!#v|+K ͱSÅ:aľp}<*Q IFɃeN2d0>S#ih!Hu!ATDXr{6EbE' f:Bk80H{9a;ШDiVm4ސa9G9X_ψ dDPW_8 ȇFDr)~Ɓ?0tDՄ Ѝ ljۧN=Y 3d pY&`$R#D,RD$04E2B"HyOPp!i:zޙ<0w?t0R|ā@*5HP !࡬jy!09iOxpT* i~1h@Sh8<ߙ?ol:@XW8xKG19:cߛ$79-'6+!2BYL%$p댧CKkQY( ZjLeMWjQ@#G")l=Uw)PshH$]Bs. FbB( \qb@C(půd&vތWci.1CIbAi:%qj !f {ۖC4BhnB{BT̰#F 1a $8$9U#AedEHM^ex : avibc: TV? H,G7벶rT; &5NJc"»ä~!5 &5BqZi~O/$&E}gzr9hGV/˝zX72E0P@4!Mu-JHP RkWKjch;a8Hz$[r]4AO@pd3 ):@r3 $D۾/74l0JxLôp; eԺ )P44"1!cau`sU.4kQ~v"g zeMGkI6% `F0p6ҩ&?YX{:yhs$*28*т"gdH9"|knb;bzuD=;8q'd&ȬzRp^ЌN@:tC{d̐b6(l޶Jf&ǟ);p. 7(Oe#b^\d;9Bveu1&xFE[v{u|mċJJх3q YnFec#,/ྎ*>*D[Hbs)@h <_O T^bX}yZ1Fv!B}D'˱2jk`H[[hzd z Ay\2DB9"&TV{ ٩y v&?Ml=uiFВȏ I`c-d7\gXE@qwDхDD_Y]P}R_j"w< WRcIfCZA1XK,DJCĔ.Y޼tt8@Lཤq*v2(a,@*Ӟj qT`&A xBhā K{AL>ib4t GpCD-%J5cza9:'dD\ 0.dgZ0<4v+vR荵q3/;^._֚bؾ7,9cXL0N!tf]=;Kuuqtdd w2fVRx:6/1YISƻ8yel8 IªH6l X kYk\~30iyAULD-g'$ʼeYƇxYV?9=鱊;Бels-7Q&bhHYz|3:⛘g螠ͺuv; pkv2yGhA˲uDallL{#N`ҼJ?zAtCF;Gդρ 1ڍflȉ©4+##A kJD?(s2^Q5C|13ةk6i X a۫ښ %,F{Ρ<,l/1irM$fCճSOuexf6ĥ6l+~d㣗i^,-tqo\֔)%omVq\q\g! agjg,pE_%Nv90(y pX>ρF $tSke^y;pƜi3.ɍ*&P9~Y8%ݮ:a%.Y'n6>|F'8ᣱHw˃ɣRpFcs :87$3O9 ]\CcLjKtu!k^H06[Nh0`q--?(/Q*`9z7USSU>.'܌dԲ2 :ۜXm,Z:mG0p_ *@DD$$w7 3G+#&vi ( ĞGqk=@l 0BCFQ"7p.rng`I9W(mҺaWfwfne5 3oX#}HGnCQ#Fr'Qӳn@6XjݡpŜ8؊j @a-t;mĺgkSL"Ӥvv|>ehI3p[b7d_ϻ,ᳮc\xП_qqNqlgW 2;w^vQSA$Zl\?M (vHbENZL騑L.# NnhE(wa` F> 6T%OwfCoZƗ knEKӮ&8{sҙ"w84?xr7Gd$dQ m %uwdJFW=rmhgi4ua>ĒtCۗȎI WimᎬ̳ټVͿTz,fZŏ [SQQO!l|نbkQ =1H;pS3Geq>7|9i!Q 0k`S/{z 1*C'G.ghɹb8 %PG~A3D.4~;IBǮ !ÂAި%dB53LmbMҟd2t rrIJcZ/y݈AZpb NGff8axѾ쭮y+<S̖7/<&EѰg . w4mTZ|9CjZS\|#PM9=;&iP-y3^cwƖK#g{@ȴZ%8 @U[\Xw$).9=.vN=$cfn9{9cp 7^۰ܣt4eyʞP7"g*01av]m}ݝZ7;QWݷ63٦l LEhMcI##!% N)Th0 <ǥɰfPWdrE[ )$;W )<0rMB5jA\L=ジqz84"FFOkE(Dy2;VI^IJc2Ec%fWN :hyks;9c]t2'okz ́ F;] g|_Z7rm8wU߃s~^$Qk:%Ί H.i񘱧Xb1 gGB&65cZ*ыy4HuCO> h9b8)1Q&j9sF5N*2gcX7i3JA;C&3ӿ[f(Q@.yI,Ö:TZ1]LNXoO?8l#D‡,0Kl#(l& ~x8D/s8a}S[͖ъ/}b33dOn%AĨ[c]j r5_wIz9iK fɻklՌݘAiCY$T&! T,8T\!$ 3!bAHC$q0A- PنġtyP 3qjMAG [u [6Nb#u*Leb*('eBz3]0 c[t&n:@4.Qb.BSjTGl =["pU .j0Pq8HsxDd+Q$L9=d^ʛ`q dHUόrCz5"0#g=j4KH(Cgߛlsv\IcԻiyEh=ﮫ9[&`#rP}ze rQ@ѹޥʹu$Q޼1?*G-H 1 9jpJ'$JCq\HcHF F‹U",d IV IDhDϟ$Dt}ECHӢ3hJEV8 v'H?/W}/VD~'YB(r!iU5  @CL#߮Oʢ@"uPč ׵x8INbO\  6R+(Dջܸk8)Lzz´˧dIq hoP 'hB* bi]O0Zs轺;Y֔ο3N?x)3 9L6O>aWX8G UÅF${0߹v,pg/ qsfE't HLӳ.|77n2F7v"3U σﻅM:F:}es7\ S-bt+Nt˔De6f24Ǝ`Ӡ*du6:~\kьA$?N5O'JYBUae@qݮ||znm10tM72A,-,oC6Vhx&PWHh=,*# &_GZmLGLFNv2 Wm#anٹ-$feS S?M~|&"NwhHFL[n!zy9vfvsb~{8c랺Ȏ hs cuH9Wagp:iYu3xW02]prC&Fû6İan΀W6VۏҴ׶ J9 RVL|lG6PɥsC9|Z55@}^cv`ye$%qPhtlc$fCl)_*bu 4)$/9.fb os':Xƿ]n";#]pbGb"M Jp,P3?v&S,1jfi'7'ADGRJJlFPDDPa="PQw>Vy_}(;{|4EEr9wđƈpPD%a~[!CY+r`ٮ׶xE$GaN15O|9yeX64oC)LJjDt:JHHAט^Pz9Q"RQ$Sn9¡Ht]D<&|]`iVD & |8APD_FvJSO9T~oh~j>L3 JTBAރhls*R@:s\en';(~:'D{/\alwK"a=s `HӘ@BT0#A PH.>0Pa Ѯ@e5L%"iуE+X n$E 'Ǭ6lP!8N n#8,*LӰX8~(6 mb=ACmaa" LG|&>Ҷu $Do`8{`Ѓ̀7t V<5UI7\JB"̐aMΈMKC]>NHαD!6ӽ353MA$V,dZ 3{ yo --yg4=޳zͲf+Aގy 1+m&Z˃9B6S\ٴQK?$fa^NATg!=E圮*]fжt0eٮv3@nl}Z1 jr ɺ@," lPq`.kz$!|E'fڠ( 6yaTcS K'WLqwbVC%(@_iȓ Z'4#3Dy8Qm.JB@RJQ>Y/ hiQ|ь_`X<7%=g?F(hj,tWl#i8)a&"u$|~ R7t)Ʌ]t)83ە9IJKD=5꿺.6TIl29%HZ& cSo) +_j`Ɖi=';hˈ9LX?)" eAbxS)O]JKƏD‘ʨ=QzV gK܈κN%_F?w'#)j]DvՔ)}7.wAcCAph)J?n[:sJ)+'u$/WÝKw8/#I, 9oHyӿurïC(ǃ,W>vEؗs@^}%K&@ gOhuL 5;_jJ5Z=EŶPk̳?i~Jb9~n$Ol/psyB`*HΥa aϸJ `I`%lM BQ\t~;ea7RxZ8M {qnh6LoJh ƨ~8)$b/ʡڡ9M$(& J:>@P= ^rт*:\%'O7r{L/B*Ѳ6Œ4) G, O5 IP"BU AbTD>z-ùְ>2vN!n0ڧ!y'lR/6oj?Ia4 ~A)yhhfld00 ډ6kKs&3cPc"ц5+3o=`{ö8FBBLTήן3G6͉΋s30?T]#~Nf qȸ/xw ӼQM? r+39&<'\-Q ףœp@(?"?@O9LRtp:-$"vm$BM >S2xǨF9|X,>EaR U!Cgn\DLPlByiiÿZ(/c(`DC૾s3APwY8`j4G)fTzSe)$cVrhH"!Cs}4%(ߐ0@ i_KE<,*j@?exHy,&($/X1Dk"Uw >xBL07Ne9UpA<"&#`ˀ:yD~]"aRBmVtQw:T^y!6HD`"?{{ >@OE=I:7 W Uńe%w)mí Ѷy!@F6K# ^o $Zg+~r+!`3YѭΦ/(4!1qu,gJxNkXa|0c  uo[>߀I.r䕴H: ΀㗊2?!v5h֑:C)>DuyLA/?J[Jr*dR @ }(O?_tX8k5R k(f hiLi G   u䞅LL=tYe2C?\iT"L9l2j2 2 TdQ>7osmѠ: Ot"~u~MAlmi yEmϽH#)\̑j{(/yN$L&)@J9z~_,APRj^͛:$Bvñw$EcalMm*6L!!F}"@&28>޾||  qq ]B?Ňg E~(a@ aCQЇaC1ns"- (ևdI1o1@GsņE;䀁rx By `KE("zMsKwoxȕ& H}(|bAO`/tg| l>5% A™'*2H)Q8>q: ecpJFTǻǶ e8T{7|8Ho}YaZ0 uAsJZ}Jay>b yP6 (:yQSH5PCh0Eܧk6F@) Cf@PрƋFD@{RhWA9N$ D1ArĒM `qbKݦ=q\&K`GQBͼ }<&3AZ4rC?px!F=ӄ0$̔hB|5RUJaB}ŧ '( uz &U"|Y>QvGtEzӃl NHy}H)F@"smr{~ܣ9;/!!&ə L% aOOg >3!A=x?Y a>&(|zbϥZ+/g">Q oIaaxNw3O~R{Q* &PA"HihOdl r =}`SO|~_1E|T HQdcF@)<5rzs AF,8x% $$N<˺5d!n A2-hB TLr؎2({9vVSqb(Ě" (9i\tbtA좌K_-! -beL!MЎEzs &qc <8 pdžX!"q%PN 5e a22!x _~z&sO aZF "8FUA ˭~X)JVZFO\ة ZH4)_ٻZ9p"GĐiB B%R iYJT)(@APh TB b)!gHih()Цi iiV&J(h"J(F JG,"xcR.Ԑ|4T3$TE 0(JC\&ՌiP MF-Z1DFs^qHELR}k"hF?JFE`G-jP" 7c"Oҡ˙#7MMEQMbOQ؊_m7xc4%\Z4 D @ 4D!L % ԔB4 H D4SE RTMq:D؆T@Y`@215_^Fl wLg9"44"?vX\?諩Ld01/Y8dga m$ck5֋*6p ÷!m cP J <dVPD8vvcw szꮞH A`2B;p`0-Q#:w^nֵMT9&[E#"j <"qY1 >qSWiP@Dy1GiQ$%H7 Ox):ϝDf @*̨"B? =1U^ʪ,>uvq9ͭ5UUڪf0eC҂ 1Ƞ2Z<}b>$fa4s "13Tyt@'bhI {(HAt;#ĉ xZ܁TBҸhbF` X S,D%c )zO0*C(P_"\&C" W"W*d(4$@z!qH-χx!u?i50b7%1 [Np֩b~r}S} ˪؈RMo]~!9]qt|桊~r ;r?c:}\m Rհ;p>mJx}3{jǭH='QW%Aq?F)~\&ܣbQv<3;CP5ϾZGi$MKȿb5wa"סmu '{Hyl(` ~J^0}Ӂ(0݊`| R]Pd"&K@z޿3ažAwM/yiCgvl*Z" E%|3)J 3.?"F$?MAO`7Kp @ 19O&0D>GƦʲѣޖ"=yUoLJMt@n"c:6  \A@N;{O!؂t>܃n ޓ*]H$U^52޶h.Q8")<<Y@ zK"҂Gg惃Oq)-#` Pug;MEB1SDf*AtU([ hb%I8bQиHfZGKJ=5*@ʰHa&E8ȫiTҔD,@ @PDBRHHRA!$ OX=k[Y%; hQqS& N힬֓m,rUUTCts hv0U2hhv@Xi xZ6$_փ3q#ib2MB0N)Xn# 0IDI@0NUAJNeW;мCE C;e!(fR.!y 5RR@D;e`"Z,B,5J(Q2T 1 IUQL BP2JMS AĬ\T BI"d )F a $ȜWwחho88 v 0%! )|z@tmW/\EÚ|>hsH$A@J<`F {|WI"i__h+p>5U:d;씔EۙҾϸU(ɀD]]l ib";6 K-8 4(kBI<؁\2"UNa=`[\2C fKA=zSC" 7`J?ʨq( /dqbB;&ԸKDMMJ"@s@$9Ԣ $HHd&`>Z= Ϣml ҈=#ϚgFl ""J94;#Z$~YVkA Y6QpHU hq==W*%.5ۦ?P#6Ak`iD[*};XW@n-^s$LGNci9M |'ȋk 121R$E 6M*7kvc#mM ơl2Aj(@|#.D A0klf9U *#B8sFU!r\I>'$%ulR),ð& jʹG#z9V#&GaV@ ȘeSWaZCoaZ# mI AI!`ʭŲ5LM$V :SPkPz{*C` L>B$HLj0ϪUNUBl>=;{")zW"'DLu$h AxQ^lF=Ak}/ o9ـLPRQ  o%αk"h)r0Q/#h ;^.V'IG _~с1>DA&=.6FSxz#%!02a$`h^"(y]m4~$6J#D] C]DQs7F NHXx=m*̝x TgbstIj0dI2n:J窍1AD˟AfF&hhp3*0Tecƀߝz%${ bD|WX, Б]33t/YSq{T#݄5oy:|6ߜz}kӁHqc;9wob f=UNF 3{cZZi%po |j G=ƌX.:H&4* : ̩rx B@`nE mȃ'`p$01_xH hFR#T % "/-Q }c?<8d0Ɍin[fW}@2ht4nztVxy Γzaw&jq%/q#A2PH<ޛʒ!$j XR!zŬEGNiғ'ɶ꧴^DH$|Օ< a=y筺 hZ@=HR*UP.J>x`<4!q(^@tI ss#ט1'x><ۇ:GJk&aII2@Xzݵwa |nBDj1\`:>ڒ-f fqx_ty濾g7?cװ`3AGcXVaٲʾ0G DǺ K1I4 *j*$<8*ifh?cKI˔m'*B [׀PC%7J!(KY9>X4Or LA/Ӏy.$s}:z|K*uUTz<5?gEp?8/(0S<.HUߤ{΃J Opk0~Ñ !UJ/>LLDq>'֑@S@ꪤihH3Ͻ모V4Q\3KT <1?/ts#Cڈ'5_|>,gSg6"*E5=|!AfW6v-@ yyfB0ˢa4=ad%NZ } z]~ƙi%QzH N[ ' (XBpi8}$FIT,O&Z'*@vi_z8`|5J0a| 8 mD='Mâclg;_8 +@q@D%*LrNI&dd`IjوUH։Y"j H$RD`=wl6t=߬)<\[_cӪ$h$-9[[&_c/¢71Wr. 1 |{ĩn% f5{*4: (" Rbj"Ӫv^^#7{rVz~1Psc?n~6& =>ʔ- gXWb5TRK(}ۉL8i ~\%|{"?N` C _\{=>xgTgGNbXЅ,BBT{*p!;^Xa4dQڀÆ00<v܏h+kp# _K"¸d/M1nABwV R8IwHqbb|<MɠO0o$ |5XqBQ@ۜnP2E]usބ:K*wi,r̓g[xlu<ٱRc6\q8ëdc`1o[Z]}loCk S=_Pb j'Gh``7cj!/WA[đ9hxgd$&]u/N8ŋ5Rc;=NEMd yfꀺ%)e̠ftfX1uI5n:p~8D~XDC=V cc Hbb媣ω'#% C$vrG@W ?[q.Ʌe{h0Q 8݇UO*T@d|l(^Hg){~ _}>j}8r hB8rsAaN?.zc!V=V _<왣#jjG(̤7<.g6+ }1@}@u~-ey+XN7I]UEdccQb']}~F) ,>S:û " dJ~DK!s?_޻@Ia% Sb]+ ۇv5Rp0n:xph3em@ILj s!@( DTQF(z[#cۚs?mBHBAHB,mK[Y !$!!$$0"78wHFݨP3Bvπv,2^|]!w> Ly`+ʲDlE#TnBVOii 8rTiEm+1'046$ѪTF%@Bp#F5cɖBCBB=;G{ޝ^t!L(1HmِQ-cIJOBZfnV~R&wA59Qv`5<ϛ#G@JkVB3ڄ&rʞs~HcL, LM%/ S4$#' P*i`Ì5۩n2gĝ L"X8[Z0M4ƴlAA<9]lzNnn dV?1%G](ʛm672c0;HsD#Xi2s0YZ2M*.,alM={,-+soeUS 2Xсst&1a=rB|%+@笽RJcDЀ!2$٤* LNHXj21նX;Td.'e]LUnQdq1s"Е/&@b١<Ω.`.@Dz <1TA 82 $;.i1 8c fdxҥ$mI, T8,°*"L"Vavp~4+225X\qvN yxaK`"`ɍL9 pv;DJI Ny}k%&pq d&NV'8@Eˮɹ2)1:KsĴ+C/μ0 &FP$QxjeZn{ن0`m  H\:.q!`yÁ}U2&IyR!BcbaZ"Dmh (FxwijG7:ű҉@״ IC١=\! H/ J >L#0`Z,7 k%(H E`,R^ r&;EeX7+AlBxUmo!7 veZ!Dr3k<$X"<.$a8wf: ֝{lm:5ȃ8~!/>$ζ_҇16~Ltc @e=V1ْKfhz3l\1i`3HAzi6Y=έ<65?xux!!+b>yS6&`yӐ9؀xI;f'#D`%=%Oa ;ga!U'kh̕M_8]gq#d zH+"=JCkn%p$7r `\yЛ";k#FY4ޭ"14N{R(1H^AT*W'^!_xv>HY]r8B,!z ۻ[LE0V7C# t2$N#$a @x>%xI\P^e}Q -d n, -o"(Bo #25UExFUjfJ88i$U9E TA15S L@ PECME4 AJ2@HYB5L@Q):')<7:J0يVשv"N[p+ G$ÜNG <Ō L'x09Ar' \{a|lzY?Go,\'xQ壑 ,&Bɕ\7C0Ml"i @ckvD,Ht>"_VY})Ny@SS*P}:"BX|? Bb i  JB'JDDJ%`7 ~\Ɛ(:6Qee̋| ቜ>HB`9dCf{mD(R(&H H@i*B5!#"(LE7o+M0aw;A)T1OtItQM twFh7T"c4,K)%SD `h F[F_)}1\m I ,y`7{_N~T85AE00!~}b`MAU$ x\K܋bg8R1\'FQtCNFMpVb4!(Q6Z,{ptL|^ p EA8 s \~rZ(2 `P$pM0RaAdh=dV #8Ψ؛/_3#;BށD~s"(@d2Z i@ pX HECJire=A5Pvh|U0`ȣͲ>m06 }:l[/VNbh!^16A ѯ /`P=C0>%*4xm>^]=G@=Р "6 ugN;N;hwTtG#;c d cöN5M4H{|L=݀E=̞L:jnsӳh%W$*5TIQMS ARGAб+Q" )eFC`<B)b I ̗4D 0O2O1BLM)ba\P "NZ7Uw ؉@?]>oKLD%}aЀm`!H4Д 0JLv `!X ' *!NhS0,PI7!@?C% BRP$A"1moS~ ;^ _GOI|l5IM]AFlj A%a1VƥDX!av $%qUn c*c+hWJA BԒ ;Of`V>3;M wB]?A6$\osPCR"I lYbr`{!G3[n I ^/{R0YfoD~,"CʘHDP =o2I"'@BI0v@D+Jp4Ddk & @;`(DЁ4_\" b&L0!̀I2d%Hb@c)_r@ vvl}}%߮.#d X]ghnc w{o/$5x@Ny z+:TBF*zif);e An(XGERyaAMB RHL4I4C|,CFq3MT!C [U? .HXd7ZP§`%bqv@1$<J 4zYBNp)0)Q'Ӵ_ O[FK+Ν( l* B>SSCd vH"JC3vD@}:; w€Pi3H!Cs+@:; b(P" XH SշO~R[%5: ) A h<|, !  ^p|snl=3 COv Xd "A}g~\Q?t}p@E=<vi `R#HP=ߛCo&~{Rh HCtd6݆=Ih1PbAWPޛHvU^k.]}ZQzcG䯄D=ǀLRQb F88=w,"Nbb<ŤzzUj 0Q1+"(c`%c-riFo[OQH=͊}~;߯:Zk2LYp3Â7G4 PI,#f}1 @٧&xO+<'irC\G26ɈΎHH4eh`AĹ닠hfAee8GD T=o'L xP ְ8#'ĥ<>ci&L8A"B 7%unF[)!pQye"=O8b#'<;%](0wd6tKx/Y@T4 E$"I0RATPSAIIUR17{I MGk:L2t?ANBD,B(DB12 )$!OӋ1eпo,;," m1} < r:gp(y(YRM (X؋J`^6PȜ̴F+]Àq'$ BVw:'VCWx b!Sq4HhQJ;#&x6?!w:Hы_,Ɲ!-"5! JGAFn袪jة@P۝L%JPTPP<]4I 3-@35-@206kJFtiEyEN{HXx@7fN@fCcYGDI"M)N<|"uoCO-z @3y L1)i\"#DDl9ynO'n1c6k3hG)Eb&}z_PTIW'޺F 1 %_2MZ L ðr~e}.|xEGыT5!criI\S Ϣ"H">1+,iP$0ȖW@5('k7CqÈn[ąGRx$4+|,`K7_>Rm]IY)Lhi?d],bc$#⯘?oi h#J8M( >d6s$51=rü9-*#j ("&n^ڈz VG]BfN\caKH0OK0. 6ɑ,mbfB( HL) s@y"0596yL( V͖P=0bT2 u1'?GXv]끸 ߹Tn#}4OOX0PMhYԺGJ@"( "Aň⋹ x-O6|2A.N&dutU9$ba/ Ύ3q=XYԻeklFGa}G<|Ĉ'u9E#䆄ߨ61O[g4P~ |%]5A/omm8;~uc::yԂ@|NaX&E PK ٳi@s8 JQ*}H(aQvjvzL]=>#T 4L,]Mb=SYHOԎlad! Kda)w*d"0:`4,DcM\' 0׮ᆍjĊiՔJLN8c ~d!@POȪ/4p~]%@AcI4.oW\QDO2^]qKD)pfb;s8 >"[J 2'6OS))$i @L뚉pN{^0sc|LP%(O ' tg1+jEzsFZ@%bqJʌA=1Q 8”8VG~)R htfXȨRݝ2`""\B褙" DEFvNܩPU ETQ8K$b\!1PR(R0)ܰ 3FO{Hh%FKCp`B&Ib#AǍt& s}fQ!0b bB$;p݁ыEocݘPFBVS|icA {t u"aJ6s`1K ) YZ yԄ$:Mx9 9i, DTDΠybZh fƃ1J9D@^׷m66M#Q{erHDL^\;a:Ǝlr 3Pk=i!,6>ͣTR 2ㅈwǀHD4U4L B! J1"LU K C>"HjA+d'XE G=cGƐeİGcDfN(%$eք$ -PTEw4h RZ1($j {֝&ATK$~~Q3Xv>PaX7ĕ\(Eb>Y4=݄"$0h:i/rUȍ 2f 0ӽv;XqChB|;uRσJGQ飄;Z ?bNG#e KJ!}9s+lCLAr$@7eiT1&pƹyV3(ټ(mYŋ(bx,441V3 mhG\cҁ%ñ x>Ƀp+8V/Hփ[Ab3iLg!ǜtjV8qؠ1쐌gQjVh? T 7JeY`ܠ++=D->: a[^; Gޚr&$Z9%Cj6|<`aZ57a}f A, a17vN.!T;) cra-nZ6 nNqL; lnt\эpʈKkɣshE`T$eJHRRKyf+(I?94 )͔9"<#j^QMa,b FJ,\3XPPoD伸-x5QwEK*0bQHpVEx>(ewWG/N0#8ӆ: q (,@J?XULQ R D |-t%,"U2`HEHMzC@%b "aR@]' kc‚P6Ap:@fAR痦A1DP?E+`BY7ih|_,!3@(Sd);E;Q4:Lk zGѠOHSѤ_ ntLqpXQ"d{ߋF1$ C&@w*P<%?S$ RhQw$(`fEPƉt*y(jh$c8$d,H@ݸHD#Ys"RоZ))WR%H5ǚ C΢Da6~O&O__/_Ko{)>TF^r_g_t~__?{?Ϗ?o_~Y?_׷_??okW?{O__?Ooˇ?#S>k_?aSE`MD(B"A'5bH._cqp/~p1j\BH1p}e렭|̰J_ႃ0gC H$!=H.Pi1Bc@Ɔ5hlF|Xwĝ3Q=GfòuU ʫV@>yD_CvYr}]=^H$рѱ}0}$͇d6?duB1agqZA1)'*9rl6ov0)1Q ih=woB~)/fkh<#\ '!C+ (ooh^>ĩpz+i.d nͦs.R8`*!QiR)޸|r&xf(`"j 2v/jjjb "P5jSJ9+gm{0ЉK'wjV`jNJ}7=-Hi@$B1vJ0!Q??XӂL8WMoB<#HU 66B8*.&:<$q(6yzҵ^v.UHԙm6=&\0^ĻNP6=DWG+3$%3_X;!xvq i#}(kñw<>lBB \`n4t3Bϗ-٘ r+nq}qS7+l8 ʓu{ Ҟ΄oF,`4AhalPwsM/)(iv64_=^gD7H9e͆gn^5stoY'+^UOވ3:qG^8G]ݘtp8UiI y~7%.g h#*CM`Uԍ-;=1pO/'HO,y7ϰ{ 3ziӿVecc%vF}ɬ޾gݲkچ7Fϙ9Kd JEv1ph˨Tɞ`b=ℬՎM<+xc-aqvQ0PaP"M&^j <,j`$YEfwvr a-|۩^7S3YCQȹ wQy5vp TP'>vuGGD@`U Rkۥ K SJ89՝!`GdcEMs=4!LA}J| 9FN`s8J|m__lTa/i,a#nB#yS訙5JUcz2&qSWR@fnE;tZBd$T `yO2Z;\*2<A-"wbH"TȦ8L0qf$a $"٘嬺_ 'luAK!XqU @@Sz ȮI( Cp!._Șr3PBQQU'Cca Byȉ`0&hQBIqL >TDGpOs3ǂ8<(e$&Ƃ!k Hqd$2)i!O"PѿrcA)z P2pGWˑA8r&8ba9 f@MC68*@RHyE5TSvˆCm9&\@5DM[p9)ӺL?ځԯ#Pt=0D|eF2Tw̏:PTs!D0aG`gnQkuFC}(Yn1Hi=_6]A4 x cJk`ő-L:1HΣga]iGNxdxn=m&ZсY&̄ /) 05,y G3_}ft%J9ο0܈,Lb$ C}qxBF g~ʞ$tJ_j!3C u2/`bZHbhߢX$4-(QF7>z`*eX P8|PH!2=` L$K XoMJ>сZ@V"j[TMĄAnBlLq*'NS5Jw!%8za 'YJ0 Cr{H/8< }7lU<Ѓ^LgrD'hu;Pȕ5b=lzk H4Z2^`Q_y 8Q $`A_$}#G9Oz.lbR"TĜ 0IdD`X9E!_JyKH:9\f=&q\) 0AǪr #g%&/X~ › ʳ/;T%Fy?g#E1('vi ^x[H836rPʂT#kڥZH0&p~?\p}#PE8-?-!>i5u\!a'F2 $S (J"U( Z "(v2H Y dviEFX &Sq 5,0CR!1=1I9qS6s}`uCz8͖c]/z/ 4>"7ݑCnO69ϾatxȪM{DvOM@OW\B?k%1 2bCNAFޞ2 ޷6޼ڑrJ,IaoI!, Pu1P69i6M Fi dcTް{Y0&& $Li0YJoh?4bTa^ #MV]@Z5pmLuqAdyV˻w4T7[B9c _9l@ dkjdiL@nC@끄M@*4[߮,~I>NXGY?O67 3:ݼ 5d1-V ~X!{ʦ(ϛuC\B b5#e( EH0K2~}ϻ/"C}oΙ4qJzbG -#V}&!IHf`Pl2`bRĠ4arU>8 mjj|D&a$ v q:jLs-?$8@8Ω9FP84Do'E- 14LRIP !ʐ$IYBp`]6KJKgC $Bf81O)D>&('ŗCĜI|!SC֨JxS&>KD L6N53dZt&wdp>xXĄǐcq>C}]*z ;ChI ?[ %<|a;P{a؀zLAⲷn! @'Úʄ0{P&CP_sxx @H4Ww`!% {0Q ZzSrͭ(վyۆݿ.3[6e` "9DW*X/v35R$RdV^\P΅TQ h H>;'ib"${f,Z{06{A:d/xx!.;=2ն[jvf _\E"#UeBXb`ux:[*#y xL6V>0lbxɤ-^}b Po b!zn8]=u˄fBBjHO'b""j`O&! ӠvB/V6ġM0rSI#43RQ 1CRBOi@%dy ˣX:;;FQƙEGƐ 9Hc?_p:;vUe :a I. 9ǀWm^sacW 2I N+BH|k2MPO {<,L}̤V_ŊRܛoox&ōaARQR6GqA䯇a(ûeMu# &LQ3Tɱl3J0c.ch*Nًx nXdQ$E9ml=љ\ 5'LYzNFs8O3Ƃހܮy+Ku czkU!nqN%`.YE9D;TD78,LuOHOq k(QTu1:hf9{dmuLLuRϮB'KF8r piywNH1gS!99tdI "J Z={ږbo]qR3\q1ǜQm0\" -rF8GFzỆgvjE!iŭDȺFjFf6˹&J䑲AXVy(Ɯ/&՜CkbtEґ@PmvɈBѭ71#w٫$mNjj:3C;P.:/kcxSOpXmsd/S9i9qAHrHΆlCPҴv?!0i8tn dǃ| [ZHi<7졚DU'un~4'tТmK =@hrÜVon"̑"R2ߴq}S):X0O 0/ ձ\vQw@h`IDwi¨@-s6RER'L6f%ZCRBv*{k% Ga+zX.&< `#t&Mm%YAVC3x2g) 8ݎ3ROAAyF~KMVyHmB'lk:FN CT;C`B`߾N:Un%tCH0݁і/ z]сJ-uN4HQΔ kcd`Ninn9VX7F[!܈-4=N]q13 [J+*[5 m7Ak3\Z-1p;BLt#j+k` qogq1I 'N#G-8MSxFvDJD9L]5(-\ѪՋ4ݻh4}vNE i݁PLX{抡aὛ!1ZABchgi;2(Z클"@'|! +i5Np I>:vDHE:PJ1}'2'tЀP Aظ\xW+S1!J+@8P34oV0A(1XIIq8`|E+ tS`lǭ6_a臲^ Crv>,)s3"}O0,@H4AE(;(J >XjJ06xE"+JZܶAP(guJ4٧hyFOGhD"RP'P['T8Eh= !H^dJ밌JV!" >i>RѶ¤⿇q{jwGBIbNlP)?DL*4/G$v>8ccHb(JDElxyᝃx eNBOidN? \͎N*+ӖTv"0gKQnsh+sBF=ZNHyϐt11vha]k$*`F,#J"Nx'$Wt44lUS \a)(f( A[T\x?C3Œo W0x`bϣ80I_QT&JBH. `8#ưBcm<@U^5E8ʹGmFħ6Eu+[X͕ue@\5azlL1f,)x466B8.DЏb $0F14#A dFZQB%F5FKM-$hpz.>ڊ (ЌdI=%yt<G0Р64V' Am0A'WY! `L@mz%=%%XhvMb#pV@ (;D#]K]VE!s#AIqNNO?zh}(/X~x?ӳDI7`b}U݈9$OȟC(D7\ȴn/#)r=㩡Cža!@PDM;38T$,["<7`#!HB(&rUʉM~d2Jxe0~y~: G׈(RC#bhOٲWт,FJJ?lyE!&VV6da^\ͻ3IT Np2O?+^3D#2#s@}|yDk- ( A/le  PNu bR$$=A%%vHDd&*eDҎ6 'Uщgn<*N ?/_k63p֖9|b R!%_[ť&t1jӻD߮J#TDy5Acug':exIG^ P܄$HF ͮ@s&F](u(BՍh*`cB7JlI39c(`> ,Qi"#Dݼ*.cM9?opr:P(`Ĕ3(P<[cv }7g4dx&0hM 4 RƆBs̡8hANAi㘟g8c 0IC5G[|&m& aj&n‚4!rޱBtVBC#@x FEwv]Ƒh*aGXd9 !3HRD5 R!{`0BQ]CaA7sl&pU>=0"zOx'zq  _*o[lW %`CJU/AȠ?@ r%80T# B T7]DC!F PhsG#"+)6f={iҢb݃0G~qPL@C.UEp 4Qdkw#FSC/6=PC>K&"!j OPqzNXb1؀$|Ho ^'UQ,v`#S#d'B@1c3#İw)-߈jȾOmRQ ,IԥƐ(AF{L6Bq ~ aD$(~U0r͢ |^ iuL\-f`PN:~Rk@DE ~ p$ |8A]fDm%NX R@p:d܀c#B$P<ŔR~tʟQ H0}໐Ъ(ݼ!$!Mr_C={rBƣ²NQ'-Y&XZuڡX6Lh%#G}mV1T;]va6 UyGclk")q*J(=8a/w KC 4fp{=c}[ (6BxAC%|F*}8vM{=Ⅱ~464OOt e̒ӒD'[FŒN50 ? L+;rN%N`>Z)1>)~3Cj*,OPq~hný4ޮoU5Tx+futgU0 CR؜رd:/+`zCS~F0IoZ7"HP:TDx~EOa'Rsx V(w"m %( ?v|ezg'9ɇD{rԱOt܀b1%$4GǎPP`CH=>¨1 PqDO%R(0!THPB h}6] q% dJ$(hh  DaE J @Q1Ï<@y b n=CI*fJn0#@gV&1s2 }͘T!S߈&+ld,H~{rJ921JR0v "oDrpGq/w=OߜD&z'Ov1 /&a"]}?^n&ϯl8I*01W_Ve ΖG <{O~!0DWh9A(1Ow}Ԑ LXڥp~p60lN_ߎ2JG.#S: 0rc6A 4 h.~AАYfh#Zb@SI?lP3(_{"!Z/{% :ϔ hCd'p (I9:xwy}`o\2JHv!D@MAT<:{n qD,P,0 r.4FsE1|,eHA! 逃%TDhN#j&k'嬦 QY4hCB*A@LPIHQ/X@P~.;Z$,mgh4jfc0cۆMg&rcDUՠ$9bBF, poN$z$R6e"Ith0jd^!=ePaC1#QFVΣ ȉ-Y ~9u.`pEMV*h;7 .u x[E2C, L5#eb Ibf(_E!LO#Ê&aFp ֤*[d,L ±*Ff2h۴l<[RT ITI+!@Ĕ4 ~r gu٣u>4@.I} nP~4餇Rc5!$ps%Y1FL s?\g@}UMdF{GS+!ǏD#M*'ALv_Uz|?x8sę5|w8@ !|߻~ʳ/_G 锥(瘰;I~h{_A]H7>I_@>Q<fToo}&C$y`CC|% ;4agL]6xphجS!:=w"Ot$v"$pB L CqA| 'ܕz8a31-Kˊ~ ;M#F^9@Paq4A fA!&Փypz6ʼn<*[u68Ⲫ?ڱD?Lo:g;N4<=Y~BI|)Ƕ 0 "+5\)ca<,NU_ޅBd /\Q"(K֪ iUB$RGl&TԲE4(,TQE0jQJ R#JfJRb@B-TCb@"WSȠj#*s 4SLR AD$QWQJ5@l+ Cֶ-Kd3QLEO\I4X1` %-BC_QWS.` ȁZ?~<<pF44O4vdy'3(4jђ='|kRG`H3'Ϩb?f3^*"qLif Dq9&>V9 A t{&XXMV& dg-͝ ̊D!;6 >;!~C1B#1LA QYJr0t aH  2A)P/ +9}\#>CxzH@H]}(@khu`3qOw=_>83mwᡖl]=-޼7{y`v4=\T;s}ޟjbϾ^P7zc{^79wu\ۻrަAcێ{`GP;;wܹwϦ=/w|}]7c 'A7۾/T=m;t}O*!y1E$;n4;aSݻ}Е{QJY]Om}w1 ⻅R>#csK z*ȡ@ݶ%hڅ%lhLψVwJHGMP}}Zh4GviӪ(Pnw^Ҁ=sxp{{jh: M@v(Wo\o{ʓ dtt=J(h++tݻ^v#nσmk^{馔wP[ewrP}ݟ{ 4HDW=hhI̒==.篼:hצ ɨtenxN}kuzPb1IudoJ[U}{s1GG}/{ϝzwχ}z>%)cϫC}}ou2'kgUݳN{7vHC(=@N=%W!%7}InKm%$}wزsl}8o>[hn=SagiXhg{-;]nΘo{:I{4}dھ܉NMHlq@՚[w64;]{]d:gmϾڟvvwףvz=onسc7}ӆq|a]{u<>S4{;朧׹fS}wm9ohZ}xtnw Qr׍wz o{띵 kwVۯzٍb܎RCc oCJ_nm{ώμ|=ݢ;gwyᩬs8oz`NJ`vĨH!]QӮ;ymYYy=ak%ݽt2ZFj[@;޸ {s zZͣs-絥C9bwG;RIBם}g7ZVF`S"/m6>rnG٪)/B6l- *.nk@m3\txͧB'۽G]jtne]݇{璁u {;cM"!D:]wJjG׭Ga)vqH]>lOVNyn;;_{\P*v׍؂yގ}ZhwnP+&"J|=]ݴOaNl$wX Pt -Vr:ʠ[ p6w8G_qλV׋s{.j\:*h4!E(B.ݲBuԛRS Al+ETm}\9uwb@3Ns}P`Q"Tku PAR ?.bM4P0E@AkvȡeCIHD H3/_W_fNa2Wn$ҲhDKšzzdatTLEګg5RlDMͬ; Sq5ta%T5Wqx#L0ʅ`"!g $ýN-ڦ17I਌SFMX-q*SKژ۫U0V(rbg.)^'Ryx,STa"aɼv54V&q*)P}/bF $h5)(E1)" 01-`B4 PEc*8"a)S"hCR 迚@tCC24LLC@P1%$IAMҁ %(ib%" r L$hD2 h$X"@L=T!h "bBE) DH P H\ٛ_k4}NbJ$T$NR9¶YUA]yF S1?x7Q?о^є? _,,l U{jUu]SDVfUzkF>~OstwR&`(HX" %dbPBJB%ZbjRQC@qoN%E+Q%%J%(&IIh(*&b"Yj" h j* "J$(i(&"f"jh("B*(*" ) e23,SLL4UE 3RQDTQ1& uPUQDUS3P"EQw;zU8F}PJ{`WܶUR jJ/(j֚ *bQ("&`OJ" J !XQHEqR1+KU4TTU-MEEQ(+% C,Igᰩ}%5ׂ"ŷ~H3MIPaLL4PtqȪ *($(hCC4c)f55UC4e.рRJLeeXZH"( Y &e(j "Jj((=mM}Xa:ƧOibcJ7P.~s Ra}gQچA?ۍUY5ðhZUbD R*Bh*Kj'DX`I HQʧ,j3Ls dJ@:|_G=>ѝ>3j%I$_%Zpάg7`ɝ:.bgn<…"b s["';k=ZAimNdJuppf`xk^K٩o2yks>Oof^5]{y:ppfNgME [ȁ^crG+6a=J.zazCΑ8wKTPbcĝRK5ٚkV+jkZT}Ԃ`WmOw]=!L:,{#vrfu};lzW~f۪Ҍ#Ɂcle;c# GL\kw6?[Da~il( .H}Wzw1Yu֕F&٭-Q̆$Ӭ\ B:eNIGzS8.qa;1F+e%T0bӷutUU1ƒ>H3Mˆp84xǧ=ϣɒ&&b4Euz*t/ls<0f뙖kqvnؤ p&Ո AHvN6?V м~6t\ ȿJSm~2s;+ljX&!]c!cPQI!EEDɁ T vхEE!HD B!p9*DI Q+Mcdcub"R """ Tʰ4D%Cf0Tɕ$RR 0ED:} H%63TQ3}2"&& X4Tt Q KPEQADQ4CTL31$DLLL5 0QM4AD2EPLDEAPQP2BRC,T50C-PQP@CEPĔ5AUKEADU,R4 eKuf‡xa"P- 4+JdmnX#DrJUDRDUӠFH(5~ha0 Y+4Rt0r;fUU*ʲ֓ e_eQO*VU貪с`3(9=Q3YɮSF HqAƢE"00s7iSDE$+ 2I4T0+DI 0H@ID$5.b9sE jIq,0A8 &b "JRm+ ASB)& ( ΕN^F/w*v&fDTA%P4S0PEDEDKw"1 Э*HQRJ!L @CLR]O3X?:oE\aYn8YL&n\/_ _yQSB2wp`KgזH9&awI O;(~s@*ź4xyz&&.NtdC×J\$XQ*c;Q-O9Qq69$MMY&H4 MdyG.n>s5&*D=l 1hMccA0eŠfBٵS b)[21_EOl4凇l5&rɄ'Œ+oG1.CһZ5#_wL?9|,r!K !6dV@r%7%GGN)6ŻQoۍˌ+ƴPmJhi!lzfl-" mĎy&4Tvpk4a0<eEcUO&Gׁ5m02˪<{cul}`"ȗ8UTjG\|FE]F<p[f]X9Klj0N6ܸ;,RsŽA6YŜk0Pv e̺j=3C7`7RkDM憠BAz'#ˀ͵\>.b3جƛQNuk;Z"74dR\Jq0ڡ1 8a$h 5@rjIf`3v@ppNlÜY B0{v4jogq HR)IYAA&O!R48ЗRUEM6՗vy*ᒤJv밊`lLT}x-vӘV`|+#(YػUTW Vv)|:sץMe-{5#k#7dX) th 0˯PInE"ᄈž*n] !QbH>5/Ҹ׻6Ξ;*aTeUeKH Z럤c)UD}?xv zSśBg##1 9ME?ddTETM!PQW2AQTyJ/e\Ӫ*b`E3QPb/J[txTT8쫿2QiBӔLaaa2Mϭ.3p*`țczY# \Ҏwٽa=c0ǢxaZ jD GsHmVkq>Hif.+Էchl'&u&5ѽ|F28ML cmh]wXӆZvj݀2&`c,B7GurUF:d#+ y%u3XSzc|:5^J'#EmTV Z LY9@Cqc=H'FE2\o2_L ""$X_7t̐ C2F]cN>U7\V|Wgi `KwaI|]& ђdIQF63ʜ(r$1Q<9F"=f Ƕ6,ѩ# 4$IG뵘H|X]$b!ȸmb̝T!]sW?-}X&M𵠉&jL^O(IVuiFIb4Vnԍ*ے 1h#+og:Ev}Hi{EBrJ*Ѭn! !yÉJN´ﵣyO'GۜЭ.qi2W J Zh! RZB! *T Jh\Z16HLF,-IE9BR<ԠyP3!*J1r-CY BkYJR^cAjM;cDg=>5k搜McR ?勚~7tg^l'ʗ$:H|gLE@8h0(hPɯ2Q˨ "S?/] sư&♂z QU}2C ~-!0C()7gZ4Dh; lLբ26A-)9|I6Faqʄkv~?bb3!ka _ `NAw|ٚԆE$fM ;;8tq32CUcoԄ2nЈT2Zu: :ɌŐ_AWV#s]/q!@PITQ4T$EU*"*a fd'xy]W~\ß5<ǒ 1zәQ '|6f_ =[:őUkmf} hW$AY԰R$%jPc=m*h{37Ptwt#"#;4Ev7]AArk*(W-fn lݞ][MoW7]`P='^3-^t52彘6Hi6'yn;N PaCmv?n{7ʸ*.!HVYLr -4!ơ()/,*Q5h *n5x}C82SJwR,MkE jLvSϪ 6ѫÆ.(615z4%Z X] ckh4Jr\uq0cAgx5k55&L7Ioծ ˍy:ƶCIŭnJiޢ%sׄP[po*ϻZbch00ruuvddT39Mq%5&ĕ6Tt伱j4R0K/A3 @NgQ.ӦA7^,i>M_~(l*Z[[l~?NuSaR]M**8MQEN^/лg?_ayMmԤH'+kthIp$M$&ᣏͼ,m:tܒ(j3^+YwBgYNu4 fiLɩ5GQu4\Rq\avq8ś3{I^Yٷ$JuZsWjAy9V5UD_{:tgQפwzU Mzb2Њy ˅*<F1CO{47G `bf:{j4us:Q!٠zg!?/og:ۻF(ȅC1,x1+u( WLOs>n."#F烈{\b C$f9LDd!Ⱥރق(y;7CN |'v!UDq@PC'hİƬCOe\B5DO^μ'%"vZW@K{g\t!:L듃>]pxGοn'uw a$Z>[ϠΒ +mmyw8Vu==}w$"d~M(.n㻟bյ UUWіۼ?\G(cjO; %aYX-8Lmh&6n#[l8V|Iއ}Ӽ"䓤=qs$Sk01=x~h Cei oEl5a24>4g0zh VDTT#R& a!F& jFMf8y$Fie8t81` 55Ve!4d<sU#cqUe~V8g}hzg {3BimHgmrp>"ZDhcZ8ї63˅u-mGmgk$jVhu\#fl#ckpeѩ.s&=!  Rt?g6P/E:[N1hu#Ga5HAIENsOp[.D9i@>BңkXGm$)Iڇ*uv&Lͅ1?9q&‘0.!#4awy&TfϿd@pQt7#~Ȣ5}QuiӇ$In_({B~yЁغ ljkyb:̞e’W4N% e?;"vȪړ$<ՀrЍG|cx(+c?;TA$Dd;jc81GPDZ/mJѶbN0XlQDoc&JD&q|::D1*}>4B{Q Y$.Upe2 GF $?>BBvӵ1)=iy"L]0$HzPdGrwyq(:2:D5oz!ے)? |q#pァ~q)y*!X%Kh~a17ΙKiFUBLCxUYAT.ۏ5 '50U=zgT!Խd$BZT^|s/P4f"dz#`ו1h>_} ¢?TIyz,|W64Adl|*"TgRx;MY;h vsna5R6 b w/j@JdGG+j) ԡm8&^ ݷnѠGtki՜ WF~_,h-wEm氲&3Ps3|.0 6+GX?M @ W̑K Y-$wLx޻oBGB˭]MYX2.}_jXplm'O HID3QK3y7;%FlYn Z4]|PcIxB*;[j)S@S FiL,\Jp@n(,:ZcaǨ[ג j"tC3Ql8aqI?WIIhq$VC㏪’kt3gWm/`xŊ%%VME RB Ycy?}d~ `Eѱ ~1EfU+2t˝hHstTxNeyiqAk\-xrVC=&ϝ>$$$"<19눖zLV"\w>&HgPPTDh=]=Y̾9+'.V[9~Vvq!,m9:4]3gvzEy7]!fPQEQ$ES̭ÿVn\[{U?/PV7\0o̽8ac eJy-1F}mAƫg-VΪE_ZcMBtpBSMSXA7A5cihz=ܜ1` gNK  SM*alT ]"t9Ĺkp|^ pDj~ y5WP AHj ;o\Tq9.sBX1AMa 8=\t@rv'!mW.1ʤ$}}gHbLhHhs?^;"cL BJjLLyVf礁xӅ-{ x_8@5~ju#7lTq}U>3J@9tj|xfP$F7<ڣ^W+K'\1Sڮkع?o vm]siyf,Bt|搐Ke }B hxq*F7TstJzxugCgܻU": '2Eʠ,HF>\yx_xE|+WW_ɃKױu|ZEzB^8m=B#]}ʨ$o)5Χ-R8Mhf9V~xN3_jH5@ALI Z> xV~w]G֏N1}Kz ˋ *7tNy8ڣp+nRP3\E7AU-6$w|Ζfy.81AV SC_"w]!=g*$nAp0֖5ϰGAL>2 B#LgbƳ &W#%7p:P23]/hPQm7H@..O?t{[jguTOʼn߬3ocT:m.FbpD·-3 EAZZxh٪KVVY LU'zoD\g;6D}4֌,* qSX7U~k:T-/+5Vlfߓ$ׅ*6$dFa>7l.:Mp7iV>hqYMf)EQ9 YO^}{?ݸ;0LLUALKJD҉P̡8M '|zO۰4TkQeK n&p=A~濁:(N$S$ 1ds!O1( @d)2| L d%wd2H"^*L^95!|@3J dSu )hSPN`ٙ4dtZB_{|L/ӊ.P8>S`$ Ľ*]GŰ}ʧ:D% H20 "@ :YdiVHFB(a AIR`aԡ(o00LA L Ġ"$m1LvB#[o?o V-}>8p^'>I$&F1N|xo-u鰨$%}!U4,; PIfe]$cepclZ ~Ap|~M$=²~O`i!ftN *}Fx¬Ωv[qM~Q*[2Ժ) ֖\8>wߖ@%1":%/*nA-^e i[ws$Q9#,ޗ)Nq"B/)"KQPcM!a",Km"[ u33ItcaL>ЇaRnA &Cpc5dYCLy^)J&\D"D(!J!B=6ޚ`߃u (4QTR  hC\'q< 9B 15( 9 QO!&)@w~+Q($h@UŒ]j 0@D{|}|_UoW[O06uAc2Kaػa+?Zsc= k@/aqӏX aL8bh(աqABYG?su!!"8@ PaP 8==)TBC.C~][e=lQnYw#^Y=,0F7<]! ?)(i 7n5 x 4v&l4Bw,Kq0ņOMcґ;pl7~6C[>#>eQRsL TUPBg [ BF׫EΚi+ۺEuqN]ĘKȌ& K58yW4S/NX備0^e@D>̠} "^ 4B! T6@>mɜʈϛNo鋋N@:6w|]}[;ؼц-Z#BXPb)@\Emuh\#)-^w|Ɨ֝Odh𤋁fDM#PD~ yCϧN7 #DCW"B[{*oz~'9}'{?O|?G{J(T )!8~/0!4HDO0A߅М2:C\$BPX9װHCe\•07b4^?{N&"M6}xlL8O_#ufo6l/^lOfi8^ٰa9ywVc +b^[cy`"E2w݌# NQm-ЁN=l達ƀ5cSn8<|j3 DibqADxVz2?sr2&IA+DNt9yEŠGPDBFdOUq W ^ _euD2뱦6}~&pp+@Ȣ@@QO# z<!}ӟn[ Xa#D ~9"tDWAY9F-*fׂ;8G~, :PcT-4>8k4 Zq$qaFG]c0fـi#4Mh&\FaҮ$o.S4ȡQH[ D?p6!P5=~*֩F.+-ver$4bHCWu & APcyd MXD:{G'TB"iDM'gp;Igۘm[7TXA+%Wd5%†&"`CA'LäaOS2:N in e*sITX&FWѥ{')ӌ7 v(ݎdtM'œ3H&{ n7Az&š (JZ7IQ(RĀe=< o}_+!d!HR}%FgH`EއV {nebؒ!$ +0dDA L@$҃NP技 bA @!?iF6>6h)H?8JiöNSnHjL$AoZ30@ =ph7]T2ư=s~_\5Ѩ@yWRIsvJv$1\,($|H=PDd$m©([{5m6a 1QI[cesAUKޞT8JtC_)<ӠN0@>5kT y~E I(^}>SvsЮa˿EwbY..Ԥϖ>;={pҡWaR\NJ%c5 M!>7F[j:wݣ`zȘ2:]R#h=1!MqIٮmZFJW%2e%Iә(4j=[ʅRr%hd ULNZ*Mvtbi^n'd`Tnd@SYx'2N٫tjߘB( C+>s5x)4 ,^(P3(R !0h)sA _W?gEPcmzϿ)ʳDja}ȨT~vؤce$Yw}E(9fo2 u\0>Y>)Tx YBZ`CD!D`گ)<3y 3rȶv:/T 5rn&TB+ře|sԤ עumhA,4 g0-+5z2-mš-+CNx6]z=*{||VCR';{ b )T @aP'VeCJAW5[54_vA1}*t?N`"A$Sh9nΙ3ғH!̝ hhZbbii٭9צ=.7\ ${U,M8$B1sqհU Y2豂$K #>A/=xq*`k] FTY[dbiU)B̌< שc@ /Z*RGůT<"%G-yD3]P0!J<:9}&TJ4I垶t vRtR1󃯧s.٤"IݢIv؜`("#O.G'uzxG'퓆?"dY+ KD"E zM&݌2(Az I Al?OP,vV|scj~O~dP\h+~Z4B}@ u'&zbyrxM $H@|˕g!?AFc2XNya"؉@|J9pM̝{&"%Gsr[-& F;`kC_.T_Sp+s=ŕTaaB(Slu{rt4SADdLy%*qo8(%LPPO$#;W_ ]ATτ&(t!8GrbE6bh]`m\!ٜ;"2\AߝN;@{x j^ú& i8eHx%x^rk^5$s0/Q-vurքǖErPpFyn/>0 QUPMܬi::h Do146 >@X,;&{c 4[#4ڠ] pLȝ23=Ņ3bn}˽@gL|-modȝpϥ\!|&}bvCpe0`jUBcg_7jCh#܉AбPUu\jPJ(SxP3~"/é>@&~o[nG>xs{H-D$TWSLaABpI&7r$Zχ<|cvCaÏB0㯓N,8#"_鰸G# YR˼p ɽɤ5@; Ra,EkA%M.!.l&GXZ}U/갆Lƈi J_6NH&:ȐHuJvv \˸8>l^; MM={$tɲYL*fwKD&"dɗ&^]Lp䩺k~i(9kP.`ul_* M]s,LQ cj۷mk{\k_]E?yUij!S1)fCKwnOE+kܵ\ؗd[HX{)nbVû{y)uĠH6]5ι$&ï/b/a~ o]DڳdݞTDŠlx@v*R[-u3sڗ\&j%fa:duW8Bg^kUۦڭ@Dr zOEM2dZ FԷ+Xy&~5BH5%cmS$PL EJZqStyV3@5jM:!"vB( JB YbRb"BhV}FiCPxj#H 9(%dfUFіA@ $с%46 Bk33*",+ 2e4 ДPdQFJ - *й J_hӸЉc%) @Qf-)d;ZWp!v! qݧ'[3!gv?ü z2M@rKQ0?%WrAemR$Hhc$ dl)6(}#q-*z9h3grp'k%&z{oxCdfGYt@[f̫l4SM[ߍOIq{Uh73P1 D4BZ6 Gi93w8܂L4R`fF<]mj!C42è"WM,wqCHnƎ7I7$a45$Z s sO׏?J+*OnNF mx?ny:@2+/Hl7hGy[alrvV䕑97*4۷h%7)a%~n/,:{etUيۋjٙo0nЁ$,}H_d:J9w 9~ƾ6}%*AH2^jO_UNKʛ ?zh:J-YeMK:5  WA QfJk i:O}\o-塎_$ )P=bCC3uYrz0m9O!8FuKfZ;%ױ|oHp)nLAEٯg-eBgdw%c7-tNʸrr}(wnMwũ!DX1: #R,zS:hm.zeMئ6忙J3.S׫%%ak;">/er$67s=X*D[I,/_(ϬԵnɈ&xVp]d&Sܷ6j1块Ayl-s~Cl]U7XJ'񥯂ÜM(!1dP &QI<3>rE /1$#_ڜj'M'[He"m8fpUɮ#zqNHYE@5L|S-9znѥ3xqH$!}KpE9J.7MJo83\1ϺiV|_9' 2X01k]7xyp+TƫnUu*܊Fs *N؄p_ζڑ~TJ=Q/h^7CʨZ魮w8L:"I9#Jj92{p9yH+#];}QI">a8b@"_<ְ3*:fl0FrQAqK&TR~ΟCydϟ/D9;DH{:KZx^^Ş'`6_,3tw2K׏Ka{ xm5X72K2݆5p$;J&L9+@|$:xvWl5!c4RT! *-IFȹ2>wc^uN-VAGߨD( .bE=146fI&Jc?皧QMM:h<*j݆?9lTNtt(|D.D!0o$ٵtXu,}=L?7gpwe8ql)0~Ù}({ j}+b(5g?3J~/-X@Cz$OW)\MJF>5*cp "e=NI5pԴ0'TkgE)>#Eww֬<ˡ>)(/>?{׈|xc^:8x9B uAB8Q,Ad%!JRl kk TdeAffYAUQ$!XcTD0RacK6faIژ|2pRxxEዉN#~&/@KQEAE+"hY,$IJ@jbb *!ih1T$0k=ﳻѿ'"q͔a}$!Q3/DgYN3wR34_Jݚn YU˫gćn0w̼M_YV/-bxNX2 ATIzgs)>41!66XDh$;Iy 4=>׉ֆ@HIR1"2>h9)5j +X`DDFii4Ѿ vyqˇm*]+x*1~xyZ.i"7}+__ITjE3sh1ak0{cU~ aO~%G_\{/f*ȿN&2UOdtFuPac OA9\tBv)$ 4ة_ezڂ:p& Z|>RWңm×ӆ|7]. q;"&!?%{E8m|mJ5_WUMRv C"Qϱll&R׳._?WC yG .Lv\#ׅoq׷hT;;!}tZ(LIS7Ph0!=/ ̜}07ǰ[$o !~#]CJݽD$̓!"jk$Kct7IQ͈)םhijg"v(eO 5-k;%˚]QEYJl"$mS%c2 5G149 [L5Tkč7 Z܉R?c"s&(#\ IZu]]:]anFwN,w j N()5e.yI>wڱmRd)vk:hUХ!xLJR9sVlKrj(Yy > }8BbPyxZ}2=yO)jq8vihΌp;a# ^x_u3@"EU>iQP^L0N> |jhٝXcAVR=>QH &n7p'prמD"mgk|Wc'yi'r-ҲY#H@`.!*!^ q?^ͽW%`A4ky>'꿶arlLd__N!U{GB35_~f)#Cab ^1{{*ٱ WChB -amW?>S9>hCfS9͎l{}zjHOOINwYQ՟フ>o8t\'wic 0ؙھxy}M \HA!j4 2P} ?۳Zޭ}=unP" o4{!eS֜Xi~ |%~t RīZ) ~Kd(6 $JH\@g.}/<`pP}@Oq?ه!I$$#S7|6pZ{E)Bώw@C Л]\)U\܄6 "﫨.1VMXlRȭP?x{~nֈy7k("b͛bv=SO_W>Ļﴣgf8Vx<55G hJ>6g%mYM1GY!uFy@dH4p{#o%$"WX39?A!1<΅R9X'P8R F_,'`# ۡYPWVR+hhʤnAi~>>><230 ʌ0r#(8V= xο/u,= "@ԑHS6)OU]szTޒ0hao.lkq3Q?V~o8뺲N'Z<:QGtlbJ'C^)BCNl4**d<Wb`;a3.Yc`HIx.7 |y^: R(8dI$PL#  hCʡ AdC|TuvqrvkPHHv*%6D9jAC=޾Vp Jp?uj e5WmEIF,:Va'TRYo^R}&zOԉOҳ;QMȜO^llC}Ͳ;E10fODk'<$Ω2Su_=Rg_soFܱO I 䞩,emd E8CR$ r8˱ǭR3LQRKUTK.*Pe~eL4*`U rpw9=MA"! R&p@P9;8u 5p""y#i[@QD&CGtb4-+>paA„ ܷCS997i:~P9{:J8r2<Q#QBwrPq  OgK#|D.7(A Pԥj/Seo6Xn3QD<۽j'53qݞ0m H@P9j`jI脯/OV:@:}s)#{HG߁2\gg~1, H^y9VB˗%sscP/#GtkBz;>uOBԡq? ! /~iԂ# $I| ~e:!?eN]ڰ)S"B C`R؟A-',tm2K,ta#(" # rh*l,x+yO%39Y>fLqD8Dǎ4'r1IR$ҧ:wLA'Ide-ET _"IžRSl}@3Vm5վ< Qуc )7_:ݮCħ y RC"& ͳ_ B gU:PPeQESSxFdNKR|@GaPsW0 r+e `\9AF)fd#+"C-I(u?t~rS STBy%&᧻2/jZN1VҮs͢MNv7P !OK_3>\tV&'qz Sb/zyϲw닎?55LeRI$^>ڪlu=욯7GEyʧ]*ֽ6GCr_~9Y濣Fp&N$5FCWz쎌z+ucL#͑ ^kn~6sΝ7`9g rIXGxd>iFU6k9ϪUzqʾq Ω>.:*ǸJV{]:0%g0vv&.uDeݢczHSĺ`=J'rI8g:~,uw&:-hpeI0ERFgN^sUZנ35ٽq\^qTYIdzf~ogƵyX5GE.AbVrIˮk2gboDzjpW.^T8tvx?ߛcq|"eD/+sݓargt\<]wd1&5 ☶8r[BZE/e;G+qp5]+yX$NŸ>̼;iܩ<oU 6Ӹ_Ϣhʵ9b֭8(?&/, U]"ƹ$/>;i]fTP4R]%>fǵ)'w9֦7j1 2]?Vriz,_Yat3|vc6Z]q_pS;s雥>R>bs1\]p{=^fRb-0f`{ʇ!P"L[DFt)5 efkq5!kY~lPGbiN"|7pZa_%`q {t3*I#OPrpjb85z^Au,vAHœboYb*gf!Gfy/UR;dskdxd& =v>y^+GiQ3\/kJ‰5=#"MVWiI v'ab"=Ͽ"Tw%>Tʈ#Amq{{~C8G^lZ^]!D| qP}ًۊx29Rp3)@ݙ4LUucHOHc:힠JCX7k;^9q8;5vCuxk1.weG[üπxHEJ0q=>wr1'ܓ1<0Fڅ bae&A7g¶aP`U1T RRu2v|*CNqG҂F6l& +קo,dryMC=1lO:LSMFXЍXpX^s1f4o]((YYVymxt EY,h;;k^Y#p:٣ua~?Os5\ &kN?Y[Fb5VF|/t7qss%" %r%H0!V=sDU!UB[.#̈pn[˰a$vuCX6kxw$"c(]vxar0&j8iҏkpH-JzYETQcKqVQgM!̺edY4dvPc5CM5·.$pADcV3JØ$†4Rt~} xkbm`x HEAԧ5(wx/Vr]˒fܼ'e$?"p. iY7T!*‹)q!hTgya= _hzFF(=K9@ /&lf9*pCտ>i\Gxwmxʰ=62KeEv#NBh.x4ߤw%"QѾi{gsW"\?F2$ع~sθVm{IJ J=D2J𝿟7a?޼}JBso$W^׹b^Nt5.Lǭjۯ,SNq79><^SyM x: }'53-o^> _=_ %{NW0cMW:Tm7}zX9) lZWXhmUcBp9-ϢnI=9ԾP> r;mU\nK*b(chu2^L.[i%TDD+]_ ߑ۪}u=e*PFEG"REfxcouHBaϯ$m-,kb?(d\EMb-G#Ⱥ=Joe\i*j͠d@w?bo^ˡN^'2G2jHOֳN40wwtٳHցExy% UoR(=le:(.jln *DذulUwfYTy{[y $$9-J8SS0׊]*g4~|'ˬ|߯z sݏj=NnDzHW,(nFŬ#glv=Z~?}N`|.aMRkrDΪbņ R!չ*dZN"|Jбs5 oԁa;,SRL>jZm籦ՋKfZY1c8`"!EE׊`Tx >/s+]-KwƅE\ہ,CexY(5% Hڠ"҄TZg _T:[72Myv-'Y]Bt-ZTm*۵+[k#` KMŮZAGɴxDD+3= LL}_Ӝk@w;lPtDBQvߠ@-+vJ~OJ+D&>{$5n<*a\ 99)וvsrD QWp^*m9["QTvE]S]ef/̴5ghr A Nђ_C8t!#ɭ>DTL81,$H|KvGޡaܻkӍ7PXy8tSsȬua@?\ȓ߬Qf^sZ#"}Km TDVp &GyCIDIn6T1t45׏gpR)k=t T_^Ӯbnbp)((Z*DhIMij"F2HuED/97'{Ӕ F٩I'g\1ʈPa͆;'aBԴSCPC~npt>J%ՠ|\oڸx}/KܩlR&{^3˚Ú\EYCgC=]DaU'qi:ޡhPRƀDnjqxfbrLMP9F}_‰y wj=Ҩ>Ɗ(EZ|hij1:PY#PV_Ӕ @xaOT?ç+" C~k1? _[DZ '0"97_Vd\Az|ǫz]wkGnєJYk &g:vzKާHD[^C9idHa®݈ن'o|6g4P9VB[Vz"X%^}iA|7|n6"FƕY$x`貹aI._' TTmcPڎMG3}sőLcER6eB+Tr961 k\u=mn!̣)#)"J 2IWbNbqJ u PTjeA}}kP Y$aN%8H]g2}j[nW& aSc3>)Cn%wLK;4;59[Gv..0K" 8oUx>wSߗrɑݬ.1,CO=jUw샾[a1"7:1׎Q'$&iR6"/Oz6m:z͚mrȏ'aWσxrt324B1<%ȅV,Mwa;k+ٌKGRs =8&fLgNQz/Q\Htc(U nfzwڸ6R%= :꼕0ś0FŘuDj'@./᤟g z!%*彳]X@ WH>ţ!ApQmVVT 1R(]ͽ첅 6Sĝ١}o̒pL6Rj?6kȒħx(rVdjt\RzB4Q X̓"s'N"04 ˘ D4:){KF=~xhP?*NٶEY'LXcl%{"7.q6qUUM 1s?L=/v}NyxZbDtg&}K"%ZdNO/NEf:G_=1‘B0VHՔ4b TRLbn3KsHG9AY!&O1cgT[8PH~qKl*8mN7xu&OqTgzԏfp w=ޭ{\IUuj{c)6T-NyHRӖĿZ/B;|Lm-^갣zY}+>͜sZbVcӘ_z11ηU#24yeiƅ^5-TKYhw}!m׳TZC۹=ʼzx8ί,m");-yF/9UuV=͝r=_2:2yIu~@=:f^W[L-~Τ*UYwdEWgJU:b/kx;R ofot,r6t[Jd_k,CRa_[5S,@CbR[ғ;bJT>zz&\,[ue!jy^_ɲcҫl9Qq$V,W2QupI껓|LjOm^1GBfGfYL?N06yޭclp+\򦘢0.'M*T׎F_v.R=m.๵HJ>z2"X$k/,ϣ!qlY4l@ia K H 6PPcTk.E E7ꎫ<緪 = D!ώFn.Tp"\b3jq Fo{SaxaQmX,^XIob =xHO5+OȘ@⏇d6@>咈 z3τʠG 'ܭS6طGۑ(xH7i+zDίe)a6 KH.}xQ#+h4|N *qmp 5)k~gVx|pM\ iȖ'd]h1#_»<ۇ֔fS$._¬tՆeĉo=qI•ϢXgoi+-+G '߷pQ-"js孉:>Yw%%zHs;|*'V* o\/е,[Q(m#t͟t oz%ng1B Q58kK3koT"YEOAê S}Oٺk1^Y9fD%oFw:Q.䋣"C9j*kVŤF璢?JpZfzFeebmYBkeM[Ǥ,{: II%UUT"&nSlwEƱaU㪙빳I ߒzaoJxPqg;\kQ\H!#M6 ǟR^j⨋2 h_3W]75.~KK#hz$STrL:lBBI O1G/Lo xٿL*_zA[FˊZ9w,Rn$!5"Dv W+ zYa^ߌ쮺YjF4"_ j|d2ShLm̫ ,}N&WtB+B£^;/\UEK D$APο#Zݾ ECWvMhqFӿn^** v€j;2UAF#DQ_JӒ ֝d9%ĢE")?(]fDdQhTGS@ΪB)!'O`zp<^mFkwok ]Q^ei$A,!`HX >Muai2D<ѓh !sAܾەVfR˱,p؄$zS V퇗-NiB j*T'͡P鳔'"i>8[FHY2Z ),5ޞYmwj|,8@- e%I*Ngt2 )-dpmߒ[]6ٖ)Vݞһ%q"\̮2jfJNł9x8úrySfxRɪ ;:XWVY`y|Eu8G ;.zrGӾY&>3'[Ɇ,FO_GF'aەÚ%l";&NP{/׬h,}K\7f LrlrgoGhO+L:quqYy.lr^;šm=V'xt'N~h1 eۙ꠪≰dQ̣+ 鐲A{WcQILnVH#"(t+C?֊3uK?Ȏ٨ G鵶!Wxˣ~0kjH-{ʥw[[Ѯ˨œ:4H {E Oϋ~wn" 2`{v܄3!Årcב#4kK$t8t$!Ԭqq̳N᏶Nē]VUfH8$gP'PopmzXs(֬W/@ {#k鉊SĒS^\(i9Q80S*_m[f*9oƺFju!+62Vqdp~8w%+ p \nzZ6#RF60><֮8rm.7 cn!Bl]hM rCFX]=[6[DSHЄ## H3k:m'^^q>Z/ߠǯ1IX@I:Ӊc\119b+ˣ!{ϯ_=O31' (X"""'N q9{4~sr"Uk7sxT^dJΑw(reisqdL(ZPBDs;WYt'Ɗ;< w;L;㾳|\J7XMY<{g+%qyoxxK`9*Wcٷ9ȭIM+ФHb¬a9>ϟ]خ6#B5l"Er2,t]{Lk|!TcK޵bՃ! ՜׍#SZ2GbQ\2rШ[ vj%Hܓ{]/Ÿ:+EѱIM{TJ pNuZl{$Tbrf-TTU-[,6Tjl(nqMNO7" /{"CDqJf`'>4f0;BbׄGeTP1Ota(YTod*"! FfWɫ:F O,alSjo1F\a;t{lHsJ>Uq8!J\:0^Kc&9;׵[`(Lo[i֝JhzSC-Y\PVdA -XMdF2{c|3ΘZY~)qG!U%2̨5܉)=ֵ&R&0\dDBw,S@b'@ zȝ<Շ=kI'tn s¦Nl=w n@%15&ڳgUT$0)w@Sniu Cd:3m>H3'>!4sħcf8$${f`s<ǜkRz 0OPӤ?: s\r/Il|?u3jbq;&I2cbڦz8޼m%OWUUUQM8#9;?.MU"L "&ANɣ'UM4Ax miȊ(ځtIC9|G'g.m}0r^Wnp#8h5Ns5ocp&MٓFr}DE HHd! I!$wDz}Y9v"m7Ԃqy-1e" 3]OC1pҢB;pHzY8R0&6;!7$0mQhMY  \3Z&;#,ExC-״8+Z~.=Ei:>IWhP]I5NDOk:Z9In9lg+VܟϳX {yPBPSjߖl,Kŧ翠ֶ@Te$eO/ U[G;vD1! 72"':Un:hEXC5fY]K*+!uoɶ&W~o5EH*b[Wl i, hBH!\b/ aE{٫tz33{tʀ>=ωgI0aqžpÂb+¶'F0 F?ůcꄙ*qZ9rsƻ{ܝocKjWӟ`&*f'ޭc >Mqt\||X^w.p(F%U V$_ Isk0LdnC˞Ν720Ǡ@ hC Ϸk CT*xO go9ֵpuS8w1u-=#J!2'Z ;HJe$*7G_u尾mmdco+}O71 t=9$Aڛ͹S!V_b"rFL8&^qᄇڅ˔ws_ofFJG{v" 'm9.us."0ϒ=CE HM=~2n=\2+YOr(tNyU4h.vTͨ9LJ(=!m`wL mE22-f[=`&`aFa7;r$X³fy!WMkI>v;n$7 AGl2^mF1"C d1`l,^%*ž\k7;&Oa]dɥeEQME͍+:7@ԓLb3Yra6riOEGn\W_e˝j8B1T,Pot4Fk_0vv<}uw f`lE(̩ 3JN7(Z!azz㕵؍?|vy88Qd A5 cICb!3OM oO]O7QɃlcP݉ȸ$ 7J yOֲ\6xHBxkr8xĜW^˝h߈lNq-D[HQVTs5W͑x9޲_:fy%s߳\x9W`O0w7 qyMT^k8Lhsy{M~g߻Oq0%V9tp;K'OfaؙicVI.t@OF9 p_fc8~4TeTkGԿff(u>}L0A5Tïf[䳥 B]DS/M nU(/_kOk6]4)bsnxԤ6̞;ԭܚl\ H㎗YW[Wnф T6,GYn,6 Qde5wڮwM |$m+Kht"-2eXzE 5#o Nu0R"=,[>d{iYbJGbl_+f9^Ltq3clw F'":F=ҟ"Bo[ȶ֏QU4O*@ ډYQi,~=U+t&w9 !9^DUq|kcNBo!2_3%v!3.mkޞH@d}*YV^s|"IC2AVi+#Kqt>(rQ~Ik瀓})HxmƟ8m H@X>Aݸ  R` t2 jմ5,+H\biO;<~OtgD)BEtk|Pu ԜbnzB5*w)5UcgTۺi(=aaKz50xsM"Yi!ԑ%s=$H*=M)VZr~5ccܗP%( i *hlKkԹP}z(UG6>kEHsRZpkM5j^5k39ޅ(T2S3sq)X *f" pB~323&~ߗ8Y;b#6?ه5 R. ӮP EDP 4䣫&n-&Zsr35|;`Yvk[Ugq畒u9<޽GkȲӷ{¨p8}7NB؜.(4c{=4ƜKo/e 6bhmUDܤT]_] :v|y.15LC0p"(y<6ckf3M]8?o_o8"85J@i~3|u32o!/rG88RyK 4k~Ueq∈[ wϪv5"8VDP>3:e׷iBkrBJ|sr Zm?MI$:u?UO@)Iyu_3im,+h3qC:fX9ofR,WL.E#jQD6+¡PGPR^7B_Pou]U:QJRJss10Xɽn0BHVfUPbZgyzOcYeYeYNџ bLϔ(OH}PBAOԿ{OEڦ}>߿LGA"{"D!+$QKC,RLAH)FH?Xx9?}$UGߴcpx8&C:Ne6o j_Iͭ Ш<: fUi}71pH!Z:;@e'T/̸3r117B**/O*JCoaT:U!;UtA\9.{*,|TaYNuRb[¨cӍK4AϏ$/mdQPTFKAQ aXiF82/c~}?GO1" {Ĥ3ƹxq?͢jPblIc _鎖yкNb%_u]2䶢 {u,_gƂٟqZmfxYAg7>}0$ҨQEUk|^W<~һ5iǭOG3\f'οGa |_d>V7TCqNNуkw}Q@w'I$>P;z+ |~7տlYK,*R)JR}<1tx^=g+%NfxiVSF^%ȣsUv"bn[ X{3}.Z ~ݫQ,<6]0_^q+&,UTLiI-Ca5O?{MdmRݴm \ ˜~_%Pgҡ:|Fn}$Q1bgjHEn~zK!̪'8J!$9VOO{O|>-s~Ȁ!O9{`s6#_/ `桪)sX6CCMlF E:b)ì5YSQ+XHC@j,>iJ& A9 F SmA2 ZRV +`V,$w??6mQQ QMF@MfXV9~jf @cN 䍐oxi ;Ӕy.g$UUUĚ+(?̧"C$!$&+^?? "D? Q((PRTF2@LF! +LJ&Pa)B^l}#05c/p EU zE`]@`& sHW @ OqhT *蚚Oժ߷Q9 mW9#2ahB?26+G y̌FԎ+'O>V~ [uvgwKA2`V6RƊ*6 (0݇.z~0ȇ:"鋌:bZ!s%3ilgm@O/'j4ƛxG!X onW3E6 XeP! ))!E|…B;x62ͱ(//5!+,P*40c)?Rce hꏿݩp $əiX 85dcAaXHM9,7PtEѢjٻCJ`xډj& -TBR`= O߫}zw䣧%.0SRS|~~IO]"G@5\h{?cJtP)T7Ve~߷Udq3LÛol˷/q-Pf@YݟU rh??FpBQyS U:gK=0R*x߅J_eoFpT@#{T+*݃Zp؇~MxN5l߫PͿ\S 0V2m@> uߟ.??0?Iܔ%DO_vtv|<<^{}/0000/%yr9\Ƴ6O0Q<џW?V?!E!#qh3LՆ}9 ^ 6~Y^֬S`$ESw[mQ*;  &8~{[NewpS =ˆ쳒1mnuƸ {cm@=!B'b@sh*"i㻶f\n8B> EE)TD! pRaoώV `¿>idIjTMvMrF˻pgC. 'EcITjé>"BM`gWD Nx&(1OZ7;2rEh7+>8piY`:SjbwG$QS]kXʞiD8Z^p9\ H(}T8Q"V26R'bsľ:r2H{7c 9iAC2ӺHI:&߄Ywʷ?㏱ÝI3SO܇IBx7mTV HC0씎pCzZ!#gb%B3ϣ _ 4=, g/{9}Z!6۹ݨ{'"& Q6CwI&9\SVM HQERvDVb>/Cī޲A?tit0`2H>,䃛Gl6+׃1'yI"QL b͋k'?! n]8Yj"H<<:nd_AAI;yTkZ4-VtzxåQ8Jȋ1;*>-m.6FpPD[qĺHURsS5a#?,kJ |pDEv,^$a.6,!փH)FL.["ⷿŤ#Ѯi_V}!D .dAt&$MfϤƭB"p6#쵠HEqQV:'0pQ#vQx|q S=iZxN??4UB~[ aboM52`DQE$ fn9rOwKIMH~D v;&挑λy0z(,𰾳nsl>uE0.dn!"Y;zn3n |d)0h/A 2O~MD򙐪g@fX]$5P`r0D|xh]mj!t wLHD.!;3`J*\ުE!>Np"q˝ض\0t#̱:J뼶j{34XnpBNE]-TƨwU#WG|Gى{ODbu`?$K~{*or&*NZ 4>V)2-=HTaBhTV voǾZH pʼnNg|z᭫5$Ot=zBb| ׅ!܇ƨ ^0+Ai`˭E7EFI b 'yƗ? sdw^^Y)wQԷD @k:TK FLr}ԮB|\*|ĝ,[8f[@\smM[rۖݤ/ &[H;n-Q& !~dx}%"o誝[ ?$Rݴv!tN"u6Om͋Z&ٰfS/=YQ̱mՉP*\!byY˼\<0\0`bC(w~/1g|+̑rU/My{h@aJ~6.QmiBd<<;U5Wg儿؇J4{|Rэ"̼ը{bIhg^g˕H?~d۾n-Fr2ûR{k8 >Ζ2; U@&;i7 ++}c|Ѕۜ"~ ?7v uqI(b-Cjz=AS(bQ:pYz"֮6G䢦ؗ,aaviI$>.U?Do2UFS]iAA3OCy'WW,YUH24s0J0\zV{'ש\f8PMz\{bjֶTybנN:&/gf; / 6+_̠Td$"hi{AbWnU[OwƟW7wg?'E}5yc%}TDH+VZŻ-Olaf$MFWU}ߺϰ- D:αj7 K;{4 R|<6"M"} G3{[<%AǤ{ya7QooV)u7zuF-J&DzM&yl偨j4^ɺM&}cOw:+ P{{XehO*{{.л濷^v}Dy4OTz>ԁW*}$]K>o?MIˎ:}7$n;|%sn'v-zCb)M^|kܰ&n4 *.W?lRܗ+ܯY܂@_ZA A}q yjLHbKa[T7*U+c$QxCa ғ×[آşJ}:>bFx9BF,vN*U8B=Dъ#Y߱MP6ʖu8l̩ʾt}Žt&OgsKU6Ӟ%Bujs$jW0ye[|ҋˎkSs٫]Dn֬%aW)lv5+G ױtV_~ vy$s6ۛ}yh!ndM-]z6Zu5}Xg_PЁGސUhcd#yԬh|N3,P*ojYw=KlZzïGwwv[,;Mܮ̦;g?^OPR}kdᅲO/P֥UOg#i Αu;Á㻲~9W_vwuSfpxN#8VΚ2h1RNE{UZ8Ƽ˪xŐdOݨKɒ_p KΪ%LxJ~^y[-@FIppB\rTey\iK2+[JU_,o0U8ʔ>kUTeDw{ 'h1Lj ֈ$}i ZɐоE^榎Erۗ.D (ќvdVcO/Xn:t m ]x xv9s2[ ?|KxL\ʯm8-C{*R+ҩ=W=QWV!S/)iVk/%29MOv.',Ѭ`^_cYk62. ㅄ7rH)itTJc.PṊI?kbbmH#//\:i7ʑg4t#=7l*+/s(ɺ~kcsP#^&Ԑ܍]x\xm9Xm&8K8}G~lfL6)h EFARsSճե-k5 g 4.5kdt6X*VȚ ZX/3Buʖ,Jll+-pyWL)c-ܡ+ [ެ*sO<_+1)IZn].QNL,ۅHd cJ+)ñ;TC$)xî%.ms_\潰z*K$˵,3]0[S_]UdX/f*nxtPJS«{yY0v}_q}5P6M i4GGjq*XaF5Uӫnr誩+# `v6Z"@b!cFb*Mj" Ȣ2xqgT\3T_L!B$  B$ (b"|ugA?4L@U-~BQƪX"$(Bj"*$ZJE* 6f(TN$߄R@* iTf *&F)h"j [AJQ ~# 0BL2BE->r0WR 0c'/4?~A}}d U*"v+^d*Ќ2j8D) /2!$p*U(*@(5hC!-щ65eir#@#*$2"S ݐ+k,$rָZŬ 0b RaYU\TF&ܚbJ)ӈoQ%!0B iL َ!0`b&E1sAf0"bc4#h.c$$ zq,12K 3H$<1'ICS` %֙@cOJx- Eӧ+DCq8AG 2&OXdE%0"`ݔ7@.c'"'Ixjd8x2(/|w7SR}⺐J$J%QH\rPK+7HY,`ZF8@c;7&BPNГ 0reAl:.CHȇ$jwd؊S슀鉥d /y`H>ka1(|hEDL.#wv(}ẺJIޝtf]bPkGhR11RNeueʸb|#IZc/3D0: ]rޓhwN)h(>*6AՆȒTPW }P6+rL-ۓGxnZG@% u)|_G(c^;J)}9`rQ!ٜR^n:ݬX1m\|'9G '_`1_`Yn^fc1C5|N>BE a(4y6Aܧ#bWžpN0Z:=*n ̡mD*#!2ZT 2?ˀ)?ԕ@*#SSq"} !?)\ƒ~9=OpHBcXm~gvA~gH8?˘y}H 6g=9ܜz8!Թ*;sSb|A-pBk ʨ,sZq؞30 3բv-'֢W?!s/C_ϺWD>xլqvgH60xj5*y?ؿ_WVIQg::h|0[8G/63/,NMZoxǤ橶ndOle#"H9؟l?(%6уWO>v[|N1ˠٓ<ܻ>*Ta5Ř/C鬺$1m8mc1:uG-4*\oALvX.;s1S%|05JA8::)*:h=a='4ts\ZcU HW|ˋ4@WuN칭lC A]7*Kof)W}:~rvm,~P&]$oJ + czN1O8ܣ(x+̐UnpèY,euN^-ʴES#;ޏ^Ukս!lktg (4VNy 啼<2Nm!A=$>O! 'ͫ zH`u!bPa,7;P'PȈӅOoˁ01lb" * &(oQs7m<(_ =R6|^'Pֈ`x 'Gu${q6c(L*2tu7l{nJԐײS4u#Fq"*K}i4i I ƨ."Ņ 6Yu.M :f29 ImM50lftt0MM˾e{ tWB2{Η.j6ca!t Qe`!|wVo0`c*YyIU4E!׌ϕē4&_h\H^fPN4ۧ5jcN5>ry{E;I=zxv=SIh\"*kuw Sz>4SR57g[VZl$ YH˂/#Y3+O,>*o \._pU-P_:d<}1]qb7#UeSaZ܉O]WnGs;1%]C2o7o"{^iؗvYK* AI:O8̒z}]5q)T#"&vuv.]QW9zI)Ѥ = ah]$i;SVT,@$,fͮqӾQ{sI^n)%n2bV6!( Tokh`!eU2d`QEUSu/2HIFFr05dgXu:3}_t9:DhFYoXo8'*29?M'7@n5zDDQDM~\0,oWg'7T7tgI˛Z>uwL1P@Sy\ <[ uPV}ug wBFf&Y 2VU.íQWA1Z\`m˒$Yj *ㅰiw[(I%v!kˬX ؕ9@Wk7'F""uLUYyd\H.ݿ!H *U,nfBL]BEmR{&ɽONS,^8ÚK1,}AMt p7")G#ӮPT[xDϱք/`)ĝpoSeD3mҷYW*Dx2]s1n3 O߈}kE'ϨߦuތZ5(hၨBj9d$%&< zy 2I4řYAz6lC=| PɡK/2\ %r 9ҨXW$RB$1 ?o/? U?GٯNdDUdyo+梭:ɝF0"HC@%מ[.m_쇲0l$H8:)J #4rhOG9ow&˺ TdP鵣 I&)0{pJk0MeKۨᙧo&h&)Ot,ሧѐL,-)٠ zxخ|ʃi],J" NBq%kǁY,yꢢ?NIE գE_ Tѧ<(mX M[cd7xG b0eG4q%sY:~ cPi+|*3ֿް7anL ȋY""̙1+B$6m0q$T׍EOgڏA>SM#g`=S&ݤ|8@>X汗k$ƙ%֧Ӄ+IdJ!ļ(d{~@< [(t J P LLzHIZ8:@݌j| \[F:p.":|/ ! q&I81"bET' bd貆 Zh\,2hiFƷX!l,Q(] Bs&8! v( ю1C z'w^0[\gx)4 Y,z& rQ-9ۄE]9t7k^QсH;70yQ:), 2jLC!jrWSǼa'GlrFJL%JA)h(THz=Oi(m)[5nҮAbd aj]b`@=D$'U9K:Nr(Kؼ{}c%BoI40()s`И4DP j`fN6xC8ԥL@J)w%9ľP.LAZOXa15$t7f7Ɉpu/ɞ*NmVO'f˂-1AhlqtXVUŠ%eҫ~fZT.UV˿u#ثsB0Ebn=򖶕P :'wewi۾7Y%Ofp2_UG|J}2-s7|{'S *96!w]PёI^L[ 5FǕu.|Kh~1tI>Ӹn_+3jO7P_A+:*Nr1~S=iA;lEc#9oF0m\;鞬S2^mUs-9}kȽBu2 Z! VXZqwU@y]*هo""b;hR!2'~Ե9Vu³PYq3ufX?H?+61&*"d'\,2o͚rezE ,џp:8yNz]lRUq#__w{ru]i:8y)N:TB1Y ?&ѦfBzUJ^ ۔|a>͇=؛MQ*gmμq,+ *ʚBt7ݨ>0?ߥImzu΍'Nd5MHNz,LM;:GŻ%8>.H@ ?t1$6b %A.=}ܝϟg :=~Xi=$ÖXp=Pդ?8o]p=Y]MDtAa)׏w|GEojq0ǝz(3/&ARhImsh ͳ[!ˇؾ0Z|~C?%)]3"j}CA=r\\F1g"U!EC7u8'n)"@dp7 ҫrɤTܥb O!$0mex?"kM]UBnPUGs0@=QR¾`ONUi;g'/T=$_Q3[ҋ۶7/7Vk[dGL'Iì~o|}bo|r%ޣG6r^MoL tmiNy M _H+;ٕCY37Ih;Þl&7zty=yM>^>wxN ֧W㥔t%m>pooV+)R} :Hl.(hcJM*_īl69ӬG *S׮omi&/NJHvjQ/}L RS.qG5TC{ogSk!2^R1dϝ\UPȏߴ?SR.P=0 ) NH>9}"?S@4?y.Ik֌:e*. Qkmh%ap.h_6l;iWrdS)$ A펳3|8kQp(5pKhdr#:WTx33ߠu\"slȹ z)2d)A^[GWN7Cz#EaM:$V;6a;rMm 0$MզGJXhT--8@rav ȝI3t#3OMe[Xry|vrBь5ut 0&@Lu$qfau֨O:OTT?Yfa4"b5;w<+!E Hz)~tN>ϸ!3SSHq8-q#3*Tבd'P9*\{x12whΧ1BNrRzb*;2N?ѓWN!$e_ d$DQTQD!wps-ȥbLJ$T>x?O?Km8cizZ!ނ'/ODcb0Txd浖栂Cƍ[2ȣlPH OR~'@7qoD._Givig;Zt.n9_K:=Wlsxcr-;.(s[qĂI=̱(UwlgCcYw97}8\c?~]b&09dhiښL@vEpdAhQ%%e(Y#HQ[PǜD*BcI82kL=tvmƂOaԌI#nR]`ԟm "m:ȼYFD^a {ZPJN*ntcp6+(4xeJm67b`u: ݼFc#GjN>|l +xSB`Qs MIYrNwKBS(+ CW2#*8<4C@ĆaL_CǯuߌhAsuS jx xt%'Ρ9{?X jU(Ņ,q<"zA]E,/8gvʪR6{_ P~&u?d1<3?S)>KXwMZw.UF1w/QP:l BHP8VFf"aH_ܵU%ʴfavˌՠ 0yYEvNJkӵEBb"`ޏC!1*k/ׂ<m*HE-kIW&~i'9Kf?ښf$CWIC-KfG#gPRA'{NIdQT8|vZ~[9,0AD Gq횧LiG:&^G1*y.*SqSn SP~~fݘD@#jҽ')\lW*s7ʷDfTܹc˘5}٭v/(߆ @D.95TpN\ϋ>z9pǚIy `vzWJM@ iX.1'Sw;ABԖ,l;ad3Ҍ1wԦrm2VAUKhAgMf6z S|bx8!ǜ9'%Nމ/EFk9ᅰ'<98j9iDļ_>; Wҽjz$w"8tӵԲ[fsMq8k>ZDd9<(Ypf&g>gAB2"Pedo] fASUH#S8Xit)`p)cXas)OvZ5[oװOW*׮y{I$j:Qs!=Wۈ{pef9e!;uKuѫCR*^*T:e򷺞ey"B-mV@!+05,z/<-aGߏCCT=DHl>t8\OT:`W[3ZG$$1̜>+Wfk'Qq6dj@ztرE$KW%Qo=)BH,Qv;9mlAضKՙWcCDc9ab*_j]k&9zlONi?&N e 7t1]?^tH:b4'H 1;`^Rڒ>ڐVi#A( M VfPfINYQEf?V;)c7gZX<;3 Zr!s۱#GA>a(S ijD*Kqe10r{'*Z(Oe%@@BbH*IMz = 7JF[ ߨqQXX1XJw EJÎ5|\t4uuԆ Vb@v'.]W?;- 9A_6ʩT)#HIάĘbߣ^Nyi{c=0[V1 )\PQg2F^Z~ԋm|+-t~%}P*@E,a^g)0yuFޟX2aӇ(g1n":YݗSKHFͰ0+FEn9- JᏁ--푆1a7*%:}=D]x4%'L@n֘ |OHqฉ^&ݭI5'͏Z!*|zDAo0J%aEyHIk֐e[(T nѷ W~ )qt@7ՋB'6M@կ`re!M1< {M0qaEmZQ1 >g |畐 J|G8u<`վ;C,؞Flβ}^}gy2D-sVR#~uYk.~nsJu]X+yf3 `h9Pikx!6}m^-9FL)8hgH1ڤQrc*QIBݝ0u+S%ꮫ]Kԃٸ!aƻ&$z}Vڙ\5B(aOոoR /nC{Mc RVSd A_'bpgYʢ'??aZ_:fۗYް`VJ 7O %Rݪ!;!6prZWW9#|Z܉ld-ƪבuS8+TuW! (/zQ:}(q .C|wNqKȚT R,h@7h& &BS:_BACmi">yxm!(ADt[\d WN\&{3g =7d}ᛪXU RCXڟ=-ҤC!˙_f+ّũ29k,"tֶ!5wXkQOd_k "*1z\j4OŠ3g̩xS4r.HP 9vȔ}ϴdL)uf՗ [/AHr!O+-kufY>X֖BJ!zT%^(`!CR|zC̟TMR_=q7W⯰Z$n=S˴ðEP*Com&G Т]N䷈#>X7_7y>&~GcN7f1^ĦfE@bƣɳhŕ\uKR0ycЄ@ m7 uGO-c2yϙ=C{2=LjCj yƈkL6܂":z'/MfʂlK"q9_K:V G.Lց\Ṫ * %͌lZe]vu$#!:V"'-K=^roxsճoH5ud0!\͹Ֆf'wvƑBD9ٓ#"tK-JL4ty}Χlkz$&51]Y=J96FQ 'v5"|lMm^ϧvqSf2mbr\A Ktޤ +ΣAFS^HE R$C@tk8tZn+t7ө\dR/k 7m tcDp]Kj2> _wb01rI!ove'^d<vS*Es8*y}~'5Vwu_ hTUa/]50-r*ãREdzWOA-뀾eϼH"/>?W~Z2}}]ε<ٯU ge:^dYFgzx^e][@:#l؇l38ʧ.֮OժrYNk5*յ>+F[w~9jg X<קHG 8A&e=KI5^ѢwjTUb[M2_'Rw5m-6]SI_^V ts9 ZpR(TQNW\Kÿv5Ryz*w\&55m) !԰(+BRcϊ좇T*h=b]뱎!rvvhb;vɕV AH\i; ~=O'KѤG"s!:=^Am>ޢfxϢX[c&籗/Ci4R2GD6 w??'%%#x;quox8xTmT{Pu^=|D'UAEC[ Y$(3lЏS'4:5ZN#K4ѯ_nõ ϧ41QTj:1wҤ +BzpիdhuZ+,t37 *ʜ/E$B>>{ޢDQ9k9?*Oz)5 5FfbÓ2V+/>-B9iGB0t),[xF6˔,x5h Af -ҽO{W2s\KrOE ۬CwGe!IU&5-=A7Ϸl&FTު$VXo}to*ƭ*([& [寺[B^A!v.Ae;:ڵ4Hԩ#5]Jc:qBԨb5!űTuХ%%)@;<,aaYuW.#x޻f|+O~u*Vu27Y+xg u/֨]NQ]lߪ//̃ ث:U_OFΛpw Gx[TEjexl_uqFT?o'߼u(;KR$/kYZ6&& 16wo?xz*ӵɮRfkė7c3 ,cL8@!L7lOPY1I챺4k^_vMα<[uCYZ ":$`ݴsU4KL #5^]P|AxhE^PWzooIsVrYR*7ףM0k+('gm%mgS7Buo_3UI%V{v4TmFQ<ߢ.bOr c1MֳUT⡤fxjO&7ܜ9HL7x(4ooد}qj67o<1/dYxMQ9K]kxT@*Cm5͙Ui¼kUOt@&L w?^-u37FcW N۷:%Sjm3e*Yuzez[}ZDN{yi苄MxTOj3a6 1T.~wvVӞܯlr-˛ KGj@I, `l#oæbI[ډ;Z+z$PPDf2Wя Gh+..٥l_0R$2X?U}#7kT[9; k8ud{N\<7#Y~WcW9n5Bv5."nPNN_R84tOCE|1SF$O']zxi6qʪBNqDzlq#/WfQ>7q> ^qK1qlęĺ؎0T.j-^ho w*Qf-QC,$W%{c=*OGPz'^8ֲU6tl1#SY˟nrM8c<(N9"/. z\zm(Fk+VgBt:M {˴Efi9R.J§dehCS8Uxi.Vl7r֚(g`r4a tBBŐdU[o|e;1ҩgmSldmWa:p(9׍4u1G4%W|x)֩2x{c-蘦(/X4,n9Ul+,WE$鵮kqǾy琤"kQ|[f;$61KB}V,ԿzK5#UR9/C^\,xlp }ݝ]a}$!2ht0˹`;WuHSl=[{9>KROF5/UzJd>3@KHN"2h_"Twlkؿ^6Xܐr~{5UOCvO9 ]GUt%<|w=pMjI_|#ΉMx^8A ӕ"v~wŜɻŎiSVjQvHTCNn?DTJQUEE{z[OУ~Tt6+|V cnV׮RupZs>?[ SX&3~,,D0!/G9u $u`xs$?矢>Tgzf2ŝQ_ -}$~TOMpN9e. Kuj$jvk/4Pp# q:@ u<56`B} GE~ET 4b>hykWd qpWf@R2ՔGPఖ'2u^.*"& xϛ2Z ɭF#=X?J8M2o{:FPYY0, 0'ub"& D1]|(SVʾ8{<\?38Sw~k޹-녖A%B}{a~_?(3̱[EА*6j,?~$s&*='t?ОJ"kem.:}UVT֛E 6}GVoaD?C16æhC];V~Oyٟw@{|Bp QRH!ϑq_,K.p.{rElp@PyH8 I*[/Q%Qf31$er5Qa..UO1(7AҞKnC\ (AQ! G1L8K QBr(B _Z߃Ha[5ƶ:бl501TͯRQH{ dLUHd6P;Ӯ;l]ג81.qD AT]cMJ7(K J0M@=oAG7D 4%=sEMF_NQLt@1;A`ǭ'LܪET8i_v q0Tg_%QSg7B<hq&I#u #!Ǔ–F%%65=`ߠ0PRtirhn >fl۠F W"Ypz.HH?z: P8B`Ǻ}$?T/rTk"(ݍV"$kA+UW?rb nD|I4hQ!24'?NAl3a byq?A@?!cHXfwpPXآĆhט`=&="Te w0 ۳Y;A ro,wUU#qx#Cw0ݾRp+ Mv% +ōg䢙  UCAײwpOGu_$LKb Ab T<*"Wk:G=!\l42!C;MAWT*e2T#vL tu:*g7+U`SELQ 3j~:`ypn8( &0X4ȷP{ӣJ"*aFO>GzTHq4D`wS$ GR;@2EGS@z5TJN-".7ԇ.|8"$A ݨ|%u*Z s "P 8JT@i!bM9p^ .ʟHH2CD&Y&Mp\l+۪TCD Pg`f+>n!6~~S$<> Xr 󔈜cwFߔ=WCHLV%Pȃ 6*>霐P 8 8m]ΐ>Ѣ#@!\"|J@ǽޠ`8<:|9|N]8 #j`)h $##0#ױ>D6A,W:-3gVorÁMCqԳRr +xp8 !*vp4Jv;p T؇,t%6ȰGU2rqGA12ǫCo(fWB|^#^+㢃CFixr[A 9f1 _`2QVޕ3K vdIACȼ8NQT[rhC ?X ..EkAr'G؈IW!o( C(sb3ǽNCX7~C#W D}J7h3+CivA!0|xg>3%<ٮu21ѼG2l_@{!b d:(F8U! iB Ȅݼ%BK[1G}_KaDy!D,Aujh6K{w0IGzdHo`t:Ӡ\\PJ,C$Δ xofDU+SW{io4{N dX󗊃(88!.ӂ3\Ux.y/942Ŕa$Iø!QhF4DLIఁ!Kc9߳#aUझk pJk'D- ,`DXEAD!lA/תrot\ 4 ᅊ"y pq=q ! @A6Rr]F{P1lA-` `P@F68MhCfo LX@6\se(CɗCd@xT 5@@(V$/[hІ]d_N,ڤ ,8Ҟ.J`$` ! 'HE "2ÎT Djs#Ԡf w~paSu0~@Zbc&j @'iCKUhzh \Tq8r(*)^2aPݖCrņrOLbvzM4}x"p S,[|7"㭵L(2Zhxl*:A'@T7M` q&ջCuRjShPtEx{SEFRD u97iP"CF/+fL-/alֽ 90tw@ Geap.YQ'_# AV9aM&z R(i箥 {dPgV%8ꨯ ڍyAz;6֛E>|*D˒P'% t"50,Ot^` 6'Kt~vg`gOURWa+JPT<$vYQuE=_F.Ck(r&Fc\XADytU$9tHqAJ i FZvA NԯyۨA nvŕ`I(f5pP)ԈB)94/Ofafr }`1A=EMu;mG"g#QU#t9J+S} U,rby9!Ƶ!<־z))ŷ&sCRcWr_६a!ȥh VAϡ&ʨI!!B`wq/id@ʢ+rN $R6N'=B8*TB/Q:42  OVid4,LX 7vWH$dDC7 <7x !VNP(pS fJ)JH-6!O'nifP IBX@T~¼:OH# Ek)z3yzڴ;]ϛ oC(rzZ2ա9T.0@m\?Mcr-Ot2!(@"+z|Nå H2iΜ.`D%RYZ Q27:<{{W]> -K,j*ƖDa5gНe9!C†%r97 maȳpN(l 0YY:Gbh)^rX*wH~d*\6 Tvg ÕBH Г)`q( "h<\D n:Ѓ`4'y <[twk@ f'@ئIqmvxÐht9 %l? ZYdb4LtExu<)D? :EeiV#Ku-[]& l{ɼ ) ) Ao96Œ1|f1`{HTT@MШZpNGC,hnspȥusrp8b0 ෈1ޙ.˓ϐ|'a sydhCMd*alE;.1֔+n-!n̑ʊH$uLF F"Sx<2ft.Lo #~lȯ8u=]}qT{%aC`%k0baF% x*aPw[I-sa0${ wS%0' 4{hW@LM'/.yi ˒s̶F2);1GHf&hV)e J Z()d҅3%p/g;o z;n8{hw ?#$`}#0A10 @ t],Д޸)M9R AaijZ.hF#k@Gr ^cfN׮!yzhLrJ݉Cb?kK+w#UUUUzfܡ@\|d55JXvjRĬP%STЪ۽ːǖ vS^J 0B# `QQCu\5 NNӠsGyl(HwT׊7aT7h P,2];}fa̦W /Y Pr2G>*leA z}-)\+y~HoC|64 6 z]!.dF !U_c! j3,O⊪4Ut$0[X`RV-["R i h D2"jv^e   ;@g:BCKxBՁ @nV_nE$ E( b"j$́zsyIfC Uٱa-㮝Y'*RP 'GW9Q<] tn;&ُzx֧ Gr @ {GEnTAduyz*cHa(N!R½*: ^ (2DCc!#kK)#CDUxU8PPH@*0FнTm[Dc:;2paw&LXukО3~F2CSB n!ƻQ ɽB&+ Hxz9k7X"ڰLD1i^ 476"' @|@>]m4 &IMDAbJbu󐃲u wc "79=6cQ h I' :9PQs L${}'tBhGfl9#!6L8]# 5[S/82He 1ϣ"eJ a<`J4!ЈR:y0 t"E>:<3{Wvaz֙ˆ!$\;csvyRT+c deln@˯#$t5qP7oE\ǣ5Q7 pRV x qG P%!PpptJàT ! :8\<{i93戣ӓ" $AIb=^|!խ0df{:X1Bd'^u0(2u*fdeC,񠡈ugm `tD *7A,2|6hB2QY&{f1ghEϗ%Xsp)IBbC 4^4h:)އנHs5M1D3(יWD8Q $S$4D(bBW.J@m4?y2zU`8Hi8F͆ BTd@S:}@{!3PQD/CЉHHhC1 ]HTGLYr;dÜ-×]|-}g4}%?gՎR(hϜ``of("0G`q3 w f$H8c.|mov$W)@b vD\`SYTQ*Aw@1X Aj6acnzE,@kpAΨmhGm4j>B 9r$-h$Bt 5@N ۢJ:<`nXQ| a I \PH@Nhx; [ baW8(i"y'*>u5LCڡ*)nvl:KGXNޜgMNӚ l48ٰ\s-?&71vj$0D [uHƓsQVFh#V6~R$5KBȒ|P1x'v6mA:PnT uCa!WDH ^Q;w Yz1(Pwu%pJn\F{<.0Hvܡԗcza<7}$$&<\hF:uS` j2[AirO?)+Dh54dnJH^=bYju\.Ø 1=V.nlޝrmG5'}SKB-Swp J{H(FF";?qaa_YأG&rl j!:اcv-' %80"+B#=d Rƨ|LLr̵ʽ? EYLKP7`'i-j?l=' O<"! 1h"v}SyGyx'iYixd^GV& yzEbɓDAA.*ư1ƨbZB{6&\q$ zn:j|Q`({CCDNxֺEEȃO q8is|'BZ\ `۶ツ#-l[Nh\=L鮤w"-',j qC58xay$ !,k0d;.@H%!B 76ǥ]VD![$)S۞s[sǺls#G2^5K/"B_Bwv6ziHA YخT+RFb)ɰ8:d&FXo>`f: Ly G wTGFS&[q69Gr&pL?{s+N2h7eD_'"AdV#f:iVф .;$!G'R$az++R6!kI*GG3=/禐 tc@<=I8 (';?PqB]468d"Zy{$ `# |(]CE(NE "%hPͦH \=oԎY2-FcƉ8Wer?G5D8 txKmȝ AJy#'rv$8hb ʀ<}&x!"ss{0רتR#bB&ڣH&lL;]&r(-jWF#Ѓnvǂ5|PXqnrryua1{TAGD@-o~IHc]4S`jrk5/%BaHe^\{VӤz3chË v8; cMK A'&Z a p6$;G#er&M"^UA#[|OwsB1pl@~YOtjT"<:QCH1p2&H4`aժ)ՑU:Z d0(0Cq N))"B*  ZԏOٝ\H$ҶO}L$7 |@4&0^=B"jT HP"6MH`l`|bD?~+Puz(qa/gT@ `Ēw e򶿴Bx64-㤰(=ϛ آJ $,# ,((zTJ.!UYpP!A.;Dq8 29"$1P48 H !wt;^Y$ CzRӛ$C2L.MVlq[ 1D .ik t)%0k5\1~HDM䀜կ|\9JKtW3`,= 9TQ B#6ʢ$QQ2{= 'p8/ 7#]9vmo ijsK(6DȍW3m݆>C}q~D<̄΃gƒGe>}L5!1Ouqf؟l$DHf$EDSDP̰Qd,?pHx +aы>HU8vo?krPMoX΂B2h[4h@FS z/Z͕O15ȼFOfmYkS8?Cy jiGx_Mv X'f-n+>O>]ގ4w+ŘТ, [c5h5t_ijԛ*VTQsic>M30ğ> ȉOO1,\H3lx ,h̉0ZIKx<^eK OZq vSI1RG.;VTHBz&EVx%~*icjdj5*:1>NQE࢐y7RBT#Bqq昞lJJoTZсBWck<*`fU,< DpZ4떵O TWM.VA yBҬHw왉q xU'^1ا0<9?-:˞Pn<֤-ө *⊡-wNVm!4N=Lp6K%+]y1rdߒo<ٿ}%y3^C8E*mUR}KZI f+Ty[?:S,.^r LW1u_l*S\!^bD>'*Q~Xfb!ԟĸϰkpLZq9 67q_ϱUT? [b^H=E߸/$[ni&9댂M?Ga1:1А_-uC5!CvEl }o9$S8 Q #"-x4԰A%/Kǁ\-vbUt[#QkY%C7schQ,EP31!7s?7H d*. $a% xލWh1;$r!~Gl2`HO n#M("ʟpp{5z@nnUJAlkUە$eu#cTƝcbY{XzgtqTZ=cT fF8Gr(·?͂ڠc[P ~|`(0ga!'0}I֒L ' a:@\퍠Z$ĕd 8wWČ;B r LB)EliX5"j;߇$;_7vBk uu4ٜÒOss5CHx&XжzYPDSX6BIt>dzPǫQx$?9=*\zSs3TLsHSesCBb ݨ&'afB3E-cmUQ"z @4胕;M3gƺ5/M1+DQ7UÐCc͉vB{@_1A"v.שQ@ yë ,!Ԇ/NrBfٶf,#M! aXM4QNAކ*vw hafaaUXTݜ'e c*y0XsMJh)%lcagP_g,4zJH^nN: "D xEB)_(Ew|RInT>?=$6IVPUC(̏3~tB$X%l<"PD"ҘG4Ƽh􍞃egNasď8> $! &I%y0йUW{5@QxϤlbCXgf"b eff혠Ӝ>G$~sU]yzv# leہ# uy.t:nLP'|N;`HN[J0ܩ(k4 H"yE"ʼndfMUU0,ZqȜ\2r"tޛ,,,&^lxCCaCgkF?DHȓ`L㞇&00#fNoh !*t0He]uDo܈!&iAԐ*ZhtReq^*l/|^b"4Ӌh5nU\(h8VX0؛ 1Kt::&'IGHI@pnMum` Ǧ1D`QSe4nc!TUk&uB/'6'㈕ YR! p' D4]~?v[pi MkiSZHHS:45H`,vb ^B6sT%N Jz-8!]Wg+c[rlQ) _ $T`@GA44X `pRmװ!F;|Љ $ڭq'HwHpM%o 4ɐFȫRTJ}؏&^iF4gAՌF2@˻QOMkp'D'Pgraċ[1NgAJeQTWgB =u5Bo :az BAF_I(QhyB],vD$sw'J n9)kӖ ZתPGQ+˔( `j2i*/Rh:~'wNITκ+=UUUUT)g?NgѤ>wy{փhq#fuT뮨; J-)ݑJӲߴ's%}E!'fT@Ĩ2,*wͭ&ʈbǀݱ9wmdm<0h>ycΓ2A`&Hp|119a {Mynm)!wt vdI֤֝0@pSI,"ԯ#8D؈0f 0~-63:oo{8c.Z" (G&XM&c2f[i2jeX4&*.!Y: 2@?I,W%:'p!צ*0*"%!ŃiHePU@Sx=aD*htYxv',tb)Ȱ\3."@2rDy Zn'w$qxCmm QB˺Xo)KG^9ϒrz\%+C34FCiaՁ ]iQt/QuGU㬁!*;ZITGߢC*! zIb %A0d!K0*\TX=ÓR<wa~00 >o`wRb$1"(Nn@ՌX%MSi)XI!B1AhƛAO#7ޞCNEj$d $!d&CόodɣTc׳ri} HGF%r䉓݃6D}Qd"Ӵ{TqU=cTƼfvn:fij_0#$ɘrG4/LUlsdtI<mæ6=WMX VҢ K1ӽ(NZQא, )HtD@Wh2۝u<*'2sEw7\;d ҵ"G1̄Xt;O=FcAHM= YE5Dm^5u:q $g{",B@ݵc"f3PG,Ȝ c#bH ̫C_8 "t |(GST=!$*KNF;$0BN a'+t:Ǒ2$IKTIfptchӧ,KUbq36};ٙ5t-V8h)"Wt``]8>89[mR4 ;eVQAΔD$DD|Kdj짉;yw |S"*b"I=be6rOgoy|#Ug/C/^^-YwLE1Q@Lx'cGnNh%8~AF6WJHu`l-A/"y;dKUCFANooOf4[z}7sd0LӄXı-GBf@lѫ^Z:_%|_h>/G;GJ`!Qr8|@Gpn!e_#7@ӡz&) "u+S"GmGk061TѦ0&dxƒq%..wRM0f:(CŹ3 dNwC. #d1v͡:P'+C/905A@ 14dĥg[4ֽ$HJPcD&,"lm1UUF L35P%A_Lr ydtEY=AP0Of dtR.Qgx=Pa|SAD{;$GZ*?HcQs?p)nn:T>r )+! Nw1YrHDb0"h+WX 9N"I!qy5a]7ygrj+!"#0c ?Lf~RxJJ2BL2ͅ2 Հr|j|ؔ!M::c0=ٖꌕTDFrrs OgoD5|b/.M" j^8gm}'v1##rov˕#E2>f5=h;,vHEB]b~ʧEH/ ,LMnuagrN6]%<Ǡ8@xu: V +8 OPf&@#Bk\ ^84,R $(w+a©'_ScB%#)@' !((TIk*;uHD `܏(VofXfI{QGF҄;,h#u8 c\2!kEA%,p*380SHR.̯8:@Hx?ZZyT$JPU.0o]h̼{JPLq}"ɆsI01RIFCpFwS23Rm2fx&3e>c Bhi5*;eT@8П2"-UIӕbDK(It)/l&`kjH깼#{F>]D0ڥա -fI++1H:ked) A(i$n%R4@Su"Oxw" & o9F@7+XvXլuVA05q)D) Va<9|=wig Fh vjtV5 PT {Z ­Cf'_am0;Aj!㝡0:K6I/>px-AD'Gu9l'2+q5P)ۤH^fQ*dSF]f3nA:k0!6=' H Tp? ?P$H.YkF6Dž"tI" Aڊ}9(Q  ]:*a""S rbrUG%A4 D d @@x0#KD}zA~@$4r|x""Bc]Y60̩c1fV:g:)Ym4`SmE u.$ T܎ۧixyv' vm\zv>/IB@"N4$LYC!  ]>74 TZaAJD KUHHB# JĂJBzJP< 0@Dd{źdA?$$R@PxPu = rqЊ_d5JLFw.! 7Oͨyr'*X_`1]p,]ՓG*- U'G"# g} rYd2a8[({?qBF/Zן/ #cG$òk mj6!R<)?,`;{ 21 2S=Iebt1o0Cg$vh@ Z!:(;*Ȋ\@ lx ĂiZ6%i\h(ZAEZ2]$'AG(">e h]k>?"PV& ! &CNC"Tш{dTP H9Й3&5]AsAX65#gڜ=1& $@bK0%mϒr\ONxI N\Zu(æR< h D(l*>e̥pQqB{٣L+Fn{)Ѝy4eN&ST'EtK|_=Ppc@4D,Edt"mTྀ5muW⇐jΙO7̵ BYRGr13+jIff.,Ai xWqGq$lxӯ|a&O2;$ L2>xp>?Vp*kT|b!C'Q#^!v!邝E#@П ε#!Ş~?dd%|?MbaxƁ;@<[*2n!mo!Ѧ!S)͗ b()u(;% kqF4$IZ LLAÀmd3 |m~!VH]vf.aqe`Kj r w /Wޓ1a&Z/ٍw2y8|=mZHHc[CT #ۤF̭~xFD3DIͪXt̢("$1YP9q}FL 2(;lZ yыG.)8yI0C*8{'" Sӛ*9$HnbM6ޅZ1ب(0ls{DŽNЀX'K>&jٲfmTz2dU53yD'e!qt;'3_mӇ9E;&s -kQEPߘ1]ȧ9%A D8 0P戙=<t\0xi 'Qx(TP;rQF9t;5n!!0$󔇜 hCIepYQ` e'} y rJHD͏4qj>t>XQF.؈;G֌nx.>RG@ x sMBQ1+|țdi1/.tL=gUǡeFCNmVw4Չ"4HZHV r&Rqq\Lj\X #:>^z0߸u?AD;ҚH"((?$M;Ԃd^)d}%xkM- pAka!`)q'YOPC+rê95go@I! D0߱S%;m !C! OZ "&d"a)(eHP!r(iFL :Ft-#:+B|OQon8OA` !``ej T1atەҜ0`0=Ű=#(SD2 t=TڱC?/6!?slPos s5P/_Fahp"BE&U`mbRkjYT2_`X+>=faEaaf2PfvoAfL(0-nUI<(p5+j?_@ 04x{)AiH:mPTzpBuHC Hɂ9ղL*bfZʕH AA?za玽35YQ[nIa7ہ(bcu a!!,a?yȃgB &MJ `y>]OO;֠Ҥ)d!hAI҄Cn)MhG0 IGfb !#"f0YJB0dVNҹlmر$ y"(ԲBQcDZaTF*r"!=LqZ\LC  kYf\yJnMQN9HH$ Krj(6kr{hha5o{;|  DRK!@O 6zLH8d^eH<]bƼڏ$gfHvdff1bQHB j;i%F 4\RdL3DZ86`$qFү+@0ibCUa N@w8"Ȝ{8p8f`@}>|ȦZ\(h7뾰:fd?yp݉ {a;I0,(%#,W 9? ~309c,s2Yƨ""Clr0'"9+&ii Č1Vs[&Zʁo0"[1Go.%t@S3*CY.4 *@o$aI^B7ǷZpjgqEWi?vM,hXeM\.ޔvD?&,ePkhl L$Z O)Ga]]rѓ_Uyi]('Ty|҈BC,{T}tLoKQ  R;Uv: ]RD`ǓZ@>=2B=gI>5&h %0 ATfjR["@(f ȃ3^McΜ?d@`a-dlK*~eWNa |IC"`ZqE<_* DS@3(*;8u;} SLjIMk(k᠋ ꯗ#m&#3_Gʎ fh*V*ݶb;H6F] VJC )"B 71c(m >} NKS<1[K(nF&IՒ MfJl饻2fG66BQ@mG>3R961iJA8 鳿b)DЄ[ eBDMaY=Ó|DqaN%>-&>NEJw:fy*Zш%;cV'Ȫ)`Ѽ1@h3rgfpj+@!6P b/ K6 y $:T2DTƑCآgŨ 铖FYXp+PꙂH-#@ ֧5fjU (а&= 8hJu/@գ^7REîAe\J~G "<tY\i1& u(q-:v*(I ɸl62j7 ѩᑴMѻ- ݈=̏I*1p9#H8'AFV͍`6eC̣G P )Rh~;+QDF3L,lt,⹍ 5|Da" n"lF@sI\lO=h`M ;SHi)@fU! ëi$`;E#I_+tz1*;jk4{S[{LD98sL`^Sn0NӜ1HQG26aBfaFMn2Np195Ey$H${!9:SqME[Ռn |0&Zj,Fnq2(H$7&B,Î|ĥ(#:];rW`[|]0w+:Pc\A:ͮ [56j.$ "٭+e(t!YVZ3P:yuE#SfዂO5ru_MDWA6._t`]K3lzVq&HC[" *)T+%7PoqVV(ƁgOqSG>-׾4)fcHEk\5S&̓u;=zWN+f!Hݍ0NBO8vf' hORr-Sm>ʈxsi_U$Lns +li%Net8)Y09{[thu.lff`F41 &#  0'sccx³mM,*@Z>FX/[¸p/t5lC3y17 Q:q˄U@Js@ (JA V0 MchIߋai58ׅL l+ #cTij¨'摶oSvSN|TC`VV9JZfd`!afH9jTU "3%K)7⠓A=AۀtgJ ;S,HU8qau- OP081YXF)Ttɢ.ɋ"~!0v4bh"=vn"8M.8sCTϟq j9TnO* ?8o>D}~>]-EPTIs9PH zL$|e2wdT}B*TJB PPPQH!I4U,:]HTI}fs z2s AȊ`XTP (\+:P" (`ü+|T{  vn$}TPyfز+lAC2խ,& j*1eM01<1qafE$¦AhȖl@S@̣ H&0F0}}Ň4S/ʅ-w *iRIR^cwPHϓ~Xd]#{NW<,=esRKuц3 @1f&4;x @p~ @9H,J}N0<ĉ2L@s0Jڔ (WyP7*rVCZy?x;N[Oչ؁`wzl^-gLStDpKOQU|/TVDM !#IE+ ׬5!pPg jR|O;M< wьv4_HO/W֍w0 ܔ%¾j%Dy8fb8Cbؗ8 zr _skh f% /eR /B : FRUtPS&ݒ&Ϋ.rZ :d)@8@P@PTЦ!#-# 9PA#LBR`! (39@YI q7e+0CyٕWK@Mr&x h# !UDjܹJN`~kTvfaNySzo6 Ӥ˝]Ia:Iz/w>Aw4ͬ[01 Gѫ ,=<҇;,g  a^}զv}ߩEK %R텉\ƳU@SH#zaP *c?h!Wgx!N=6/Cd;<)$ߵ ]cYwEBL^|s/88]'G9F58oE|e=^4Y{m0~\ֶ6E߮;⠔q/ȌI6Cu- GB8$n vO+;gz 86R4# ]sϙ# q QEwC:gL6A3&!8 ǜ7aa>hE ӊsm]Ʊ $3<,+}dii;HE$`! ǜAdEV7G r5yI{3H#nI9 i㭅cޒB0cݙ1| %4#k.5Z@-pî FvYp#8 6zw@) 4j Z! A۽HjzjƥdHw3YCaRȺ490 =B&׌q('Vb]Lxb &s5~7LѮ7#O18^26?*-`VONn+wl`xN&;ZJ' P]XξO\Cx]X"O3< $ʗr6m0 a>|"U[<&P"u V`!&y9B3UP4QV`NS"xi=;ӌ^X(خAF1Mq/'N4A T'BYPsL8a"L6fZY0x70jё f f/k|zgK{.rJv#qL5vh.P,#eimk0}Z6Wꗮ;㮎/8^ܖ4l.7 M-Q;*`UhxݑufMi1oS0;38#N? T I |&3&z9;ᅬ&n soߐ-է/5,а.НT;ΛK; :,8 >aW]̄8NNtf^&Ali6u1r n%.`@}atwqĭ; Q֡60 -9Srg31MpBi X:LyEqÜd?5 !wfCVk'wg$n7/%0#coL6[DnV##L Jwx]7l(/)kŹNrdm݄quێLH uga7= TqvAWrB1vhۈuC'4ve 黲g@ 3@)//07T'o pO-# ,i㈁2R j͋grIgtY~a#L ]ǘ3"l;Bԇ t ޸4D9!<90L31suH2t; Q9$Gk*x/ҙ -:XO]c\Jfb#c)9%$ tM{ZjJ13|kG;̏vΦMJ2MRKI[ViI ZF\Gg=;t t\uѸL,> ;qdf0 ! [ ӸwƓ+;J,a*gVh:* .G z7h1bZX0BnÈGeÚ"R <"Q8xtq ᳺY]ܕn-J dxs35_,@ }ƗY -7n!qStץN^,CC K4=TV%w+ }TGEuVjt3%hwC&qxOmA7vh.w*jpPm[j҄LM<;;w ]}zHI#W-"˻vCԓB]ZHGM(|e$ede aW-b p+A֮VL顤cr&s^8}B 9^c(Gb46T_[e+e `@R9af3 }LU.m3 d:d}\Aa?2ǛzLyIHEo/B,|sgi4ɓƪ\& V-ZI6-&MrӶ͞5^*w1O=V-ݾi? \ CxaEv㲉k  l⨩ӷ1SEh/^5x)Fdpzb*֎""4Glje}a GXmJ0+n*Ih;:ʜeBn %IY^"ѦB;rїwݝ8ヾLFgJ\3~ls-Q[>J7ƒ#"!!mGDoR> !ZkY;VC"a% !6{k]6fL"+N7ˆLg }6urYá l)cb"k96;w&m!7mMBL"7s,3b"@M'2vBI!2xph0p%B.zjWH&'r" Z;0M5xi#J0F߆amm"Sg:W g]%fu؈4tL.̥y\cP{CKsK60$:0i 3Ϊy]0X:Zݺ]hyCDNSwKerIϴF32F92ayplTq9^(:ZZzĈֳYӧ46Ptz7zj@ݔNuUBBqˀo`#2R`FCD)DW*Kh"ɫ7o1D0zhi58&Jҷ@n0PDBY^4 @$`0h4QcUHcљb8  HI8$O͚FGG]HTAL hԁliKcҪCbl"%XGU@nXƇC$s 0JM@ˁ9Oŵةv;r`r6 Xgsϫ=~)?XP7ġ~rߔO&.[z>x:d6޹۪qv$'I&l2v仦J @}gw0{UC7[s0jܓnŧɖ{"Լ-930F#-P'9ћ[JGg@}Iy~oYBZ#B.plCʰ)#^$PPN P*bPLgmyp:k؝|N20' m&M=X;eHSu:NT4CH8G@ MAr暍. 8Ύ ^R 8DLVW{?%10<$A&97h ', %&O2 Hmn ^Oۅ^MQ\cSQ@TF4QPr=jp32 0NbRv:b9k#":LrP4lL8 mjgqN,`pv(D8pKhƓ͡#d\rTHB@n+x4?R@Cڦ3T=yU7vi?LR@IfI"Fz v(}1%AC4 rbi"nGT4<$OԆ=&c8J jIYe!׉[ԹDUˤ\!3e"fS`lafAxIB`2Iq&If1!H ZzDCqoS4@h1p (u ~ =lCrh&+9-redpO`2{@9w8EÝ/>SbϜa caL=OL)s Kr6')@U1##QGK1<8*432IjHLj0I3.+]NQkc!I#pnI!Kc;fkrt'dHpH$5+xMv&^ - +qvq۷OμWDUB~,RabMǺS/ErT&Q5DqC8,SJ! 77wecq H\~x0];i"D*SU5c^ra.75 8#[, C;)#mib" {CWޮLu- D^lڥ|f)*;ڥ1ah -usqfY`tdlܹ\KiFxK3ݔ{tiUA8q1G,Laܟdi0u<5KmUӕaO>ט1k()BYT(g|]e#&rA&ts e9L.jv(N!OoX1|*بSѺ>I"c[z{ hڅdebȊ~L+;WN@[qDkL.F r،~Nf\j:Wx9 ɓu,9_Z ĴňL3 Z6S)9;a%t]Ω i#:P 9<<OEC$X0\2þ :b`l"n=].i' 3Jcl Co$m!`#.\'վ"E v1Bf7ˡ-\eNLX`Gj]gc5U嗱nnrbbn#) &5!%K+[5a r[jo fЁI@CޒӀn-`kf`LdL+v I쁰iFV=jT@+ig, wnHe٤;81$E-EJCf#ז`D(`yb`sȱ"B@ypVpЌ"䒾5\?(doVȒAOA3w @)G5H40H܇]\V*Z*bhgTz\T5>N0)% 0kӕR Pm( ?gT+ >o;̲!{.t6kkQ( @Y0VK3F[!t]gG0rC֡T1 O7y fqf3DDP1.N$܄*BudƓ"'PpM|)?_u{Q"4hT4I /UZ I `.M迆bI;3<6n#o>G lKVDF&UYzkD;5jv(x2KuKkM?q$v9+.W{.ˑFŽ+;yw!uKQu<~snMAJgk*8Xr9l^MʤDp"dQ T6W^pS ZZPD"% 4T,@D"lb4D <;Pk5@м~֚$̊b@E9RHCӛ8O}g*pv [_83ExWn?]uj}0OB.!_#.TW_. {Mbl;zEC0@e)OFLEb pu{H>W l6ƚشP"d}v6$B9^cJbJʹr/:(GP IepMtd~<#jP%iϞaDzOC D} 7UF p<'2Iya#Sc%_#?<n.A~G]OZlI R_grr/p|FG*PAGQJB (R!&J$B &H @D4$ʉDP2:5wJu3K)Z@!Y|*:,vaJt3qL[*kDw* `0L3uQ0a918y%&̜AGHw r $1YTrsPI 0fx c@ܹ qodh&`2@r"QA?УpDB#`*:pg dq2X=bRtJ%(Q6Q%L H#Rj0 31ph  \`## ЅZRhƄaRChBKS5Z^%S%w"NcT0`Z5j(H!"dICqc۷<\lZ5d?&)j}6{s^ 1rQ̓mD# l`7~ ǎ9&̃ 0" F%(Kg T–CP~8}ko] qS\j?;.p4v}LQ"BʁЗBh>א! 9c('Q:=˘t*D, X j"GiZlFkǩւ=?b<]mQLHĄKr }Q 88 丏XbT`LI=ZƢ"$Ho҄8bI':)7l dg}bMT@:<@<~=I@'D(#@f~ V4AM5/Cz9EzSk͗-zI !I휤 LFLhG~4R'ʐz@BgaЏ9r\> 2Z]s(u $iw>%}PqDE 6V$j+&!4trWlpA;\}P5tsD9e$&ϧ\:.;%Ẍ́ytrF"J5wƱD)^&3pAnx5%fd-FOr4®  1TD: 'y* D7Ax 1'Fܨwv7EJmޡy8}c1aFsVӪZ8*$$p}$`P~2Bqi:9pǾ4#kFdUVol9n^2Ⱦ{-P9h(<Xf(""YVQ5TQEd Glh]CC 0)H)K)*:^ L)/Wj1G/ d4MI0nN0]u&ؖi1֒Ii& GRQiE2܁sf@! #ÇHht `@)DHr<=}}ނx!P̃&d]"1L L1c`pH3f5.'t.-i aT>f0QJ0zCe5uV.e~Bo(}gg3k]fl [1PbT ]eF#CM[m;!⎌ f^t Knѩ7"! )$-!̍"l ""c:Qp<䆒K\p4 > ۹PpH} n'DdGDMf7l0O5 6@ch4G_–{H] a {r,I I~v]u!5~8'hĄ灢!țMO~$Uz E!]2Npu e ̏#(?!g'O@pe"G1_oG헩}qai}bih,*dM. s &qxfBt9޹ёR2 @LTUX"ҘYFD` Y6ΈPYs @ɨ0Ոk*0L1  *fތB3ʳ&1@c4N@XF>Y) PrNJm^AsbCxHI d%9.Z/>*9 PN&~_f!d HJj M(_4հ.| HI!$Q$-KCB)PL1I 4҅ (R2 P- R-DP-S%! T U")E)LHP!  EL2#ABJ P T(RZ hZFdf* iiT"J ) )bH"X@R$f EBAC487L} P2w<1$(H5DEUU#oGbc"%'S1|ph m{TSFAf!#A"ȍ> ==v\ m//zψ$J%s0ST}S7,(e@gV%7/(:kͩ$ 8r?nyժB$Ө/˓pKvUᝰ>oX?/&RB, ^G Ǭz40\Ee%Cg.N HcO-N]uI`ATb2TbS"mId 0eT~GSf ݤi O޺pU~LuJ>$(%IJ'TUNBdLh 3[6PĸiL^{5M&"JNB5E5tc1JrR!CuiAQjT0%XH9 }tҒRhB3"T3av* >n?H@ Inl{Fzss%5QĸN"C2d0:OEU?l%aaiL'fD6RƂ88_31ՎH`aၿRhϜ &G#ӵb>c ;Bz4[h)ZyFr;ŵ"N\0iꮲd6)6BQMY ^;f,2tp<.2/aLoy(q ,'.e0+ kf0M5х{FAVmxCFA4]R65X+N64-44#Jx\M M694MK6M x#qC4MZdqAa6o4hSwfTq!cci'rCF@(8~#7 bbnt9D[f51LmYy[` Lh8xcC21m.,AVWe3枫M{ J& 6#DkM74;=lc4i^43yz iwpVpe?t0@XnYƑ+GC{HёB) X1PCdA:n uQ;O8ݼنT Ft a- 0"`ʺ&2;V: gNfER" ^Z$FYN ! SC0{{M"LbVb!'?)/E:"RR%PtNN183e"hB GD"*b$OlaMNn+LLK91 X " Qm3j(~b@&ڣhv(uI".ehaW_`>`8 ݈,DHy4Sت@j$W]&5fLǔ6: BN? P}:hKz#?h/=d\Fmß?ىBS!+R#A?thQۂ#Eأ@Z-_ 08 iDPRP#X %ޙCf:DnZ#t2%]˴ѸfR4H`7׶В/Tc8[<",HW!;-PC@(h<4zʔkj NݯR0LޙXAU=P& f$A_89',s*" ߙN 򨐏|1EL`_ƚ4xV-!4cq RiVP9h+.t;"\\9u0Nmܺ5,$FaЦ. 535&CMsVG U'Q*tUQH\:*fnp.PzfYĹ5֧;ݓ(p֋֨xfܟTjb#98<`.:P+ uQBRXk+lHhŨR?xyf,l7^߹'W#Heᙄ`>L/2J@uӏF\O9!bQNĉȊ2\iAjbfPX.a'*pIZ(baq NN2V1.MU~ȁRZkӷn"8тM}S30k'>9[ceE+>rC0(>!ě;f).ܴbGy9VgJن+}= ;~Xa@Ln7*`3\ʕqާ=g`9(g?8dC˝(1\XmIhD U94*?w;qxa;f!dnm;2w. |&^B.'Y Tݧ/1 N@t; t"wdg%/!TCG.Y~Z葚CW**>=Etܴ_”?,l CA 8_H?=Б*ז~^;)A&ۿl*aVޡBR!L$[O?}H)^j,`93TES!*Vb_ "03"aD 'ad t #F2a0wHUc m|tCc#\L`>Zô668D'坜{A<mP*ȍkJDB+d~}kW;SxT D7Oth ,;4iwLC bI%`~XbK_:& s7/v/8#]eGr+Hz(E#}j80QAăpb#\SHl(qm"H_' ;Ɯ nvN, @Ї,v0sKꂽtO@4@aJ28K*PPP@Q(LR^l)[X!T-ERUJUKS#?ɁR "1d j@  d&E TY!`J L"HRR ¨d(1(1Ufa23dߞ`,|"_i@`Q# YP܎S$UN`@cdg`krIhPvZ>. j4 =H,`wU(!{Mn$dtȺ~]kZ3M&?fGBNh:E(ȫ#9(J́Wc@REBEmKD@|2KT̋ @! &J22BP:N -ŚD`)) E`ZB1 P*b )I4DD4H4@LUQ`EX9!4c(h6aW,bA hٿT~nAPU0 $U%q|j-bKE:Lj#3ψ{6&<梑U%9sy$UD@@|ݺC/ Qm~# B$jj2PNྴ _Ec/f@Ԩml71._z,n#p2{$6P q8@aZhߪ>fEԋEVF`nX9ɞ;C,&%."1P5J1hNsli8 ` DA8J֝ZkX,X`.&`5>uyFkR 4mbg;r_ 耡BtE) VMunyႡh,fo9GhREQuuTSI45Cz6a T $Ƙ#1=-HH{SҁFH&t>;,@t]oHbaVt^02H@{82^=Fq ?(GyF™J0m57ݼ$Q;U]>`_ &L̦H0 ~ޞF.,X7= PP@<фNܧJi) RHEfG|U=¨%B5룱y򶃔2DD? e֢ }Y yn]?xP=d^l L$ - A605yz(X#Hm5[H$ad `8k/J)4ᶧH@r$@M`\D1%.\PeVaEZuE TI3@U4Ed ņb*! sPHkl#l2i饆d(( hz P2*!2u 埽*$10 n:mv(eA@pD" E1! $\tLp"]D!](QT)CF!52!w{ H?mS0#0pc*p$*B"DS۝ *솊j$&rdt3]hfhv8AK,4OX|*_ƅđ:r(a9:w!2FnkQ~Z B,"=&mG82*2#4Yȟ+6[Ȕ@5,aɨ4\ ݒ 04K7xh 8L/׫F/[.uĨ.ݠZLO@">"`BpMNE\NEz@mkK :38k[L#c>K QLv59voAA(σ:$ܻ=w,#NHWp5j%S [XuX"l D8n~]sb8JV3p$ $)V% TfIEE ~G@&0睹-Tt91F8֢l̇L nAjyqC r0 áC$@LL ̘n2 LA8hu o5f18.:)(rLXA԰k9NЦ*@ ADbDC@%B&@w y&H#Րѓ1|ֈVKyi'p+1E BԨ&2qS[K?jRqooȦ%;,<c0@hQpp¾؉+Y3vs84mFI"=xTnp[\.]0 HcOK'gE߸~$Hדn7c4m>P0q'˲xհr:ɕ-h݆]3 $TtTE;۾/\ ޵dOo7#Cr~Q_cI쌋|578|1B1)M"R'=pxg`h `R.Ag ]%H* 5Xs0̥+}A-{F4%ċ + tM]eɦ0wwDH&P(;'κ*e$BN>y8ȉ߱P0(+42f& M$ܡW_@]dD@='"YFX (iI jfRHRҧəUJPq&+&ꪽA>p+ivFVB)Z8Y 7N4C?]TknL6zP4BhzL\r˙CpʑgR%Q"ŨL:RXu9I{D X;:3C'c 8C$8gxu)(۪*ţbGI6U :F2}Bnq-JIWEđ0xu1J ()T|$! n4(pVFD葸qPL@_ UպهKj⦔Ig:0M9H|*ٔ8rg5\:eM.&c7%Շ'-g3WSxC1) 89h; " M+ o-R;j8Q N0VSQܵ"kJ"*u۟P5 IExbʝMW>MGs>e@q]! |`ŏFu< Ni1+6&|oz`n$ьMQSGV*`WQL WMBbqF-hjՋx^wreӃ:G`4Nh9=@hl2;j &!mxL:BCajhj/FrP[)A|#1Sz*}h'XXI1-"zS}jXt ^G^qƛS:ԱF!pHdLiĈS\bp ޴b?p'GCr$L0FuTjd=&ͮE)ڠtv5f*G^|GR8č3iveT>@ɣ멌A=s9GF] bcۏ=&C{HU栏}˟vC H7JLʭ L$*bj@'UUD~JL l9 &M5=p{>QbCp7P@u1M.m. eJJ8Rڄv%t  y^,rE g!A$D0NM;׵{<@DNT)Iv0M0'oӒyj0C HԤZk`E DϹ[R/F|, c^:^64p}/t IW34԰p6Q Hy{taM bMRF jTⰊD8E5"?&uQf j{ Iėgsp['0isM6*'Dh7y#C? A8k@"iHȊ d-ݺroΫ"A\oҧ4}=wb S' ($H`"(!""@i ) i 0$CB I!`Dff ЅdU1 .l#LeQH̤eiDfbqFh1$hj"  )a@) "ea IQa1-^6|s6N xH}4ݧ`2f-7\neV,QwxXu'2v@oTRZUU9?\:=6 [2ӀVzjzNt+JQɨM!SABMDWcmؔZ/;Ehcrbe*&@i2a d>w0` ;%iu0<`{3F Bhy;0:",Da Ve$$ r]r~U#=q\j0 F|Hx4=bu$j#,&ʊz҆4_Zh*@+¡CpxI*aQ  N0;~6kJU Sp座D}bJkXFP8.} ӒTd\b7)kRz2l|g?qYasI%4E ':S p1 RZq+d50a (vX}!=B56I@`p*XRb%3ߩrn+} A h\^#fH& &@paLM#hK`0b aXaU D~]d%=^Wz mM/Bdud2eEJt?O N Y鄦x(\8&mHB7 B[ςyX `@P6OLQڢAuUD`Hig9ETPӰϚGz\z5XxC   m~FDWM ? 7g+WXdp̈́:=2_ (qt> )[4ia: 3;0 ⑟YF#0,~ŌgxZ*٠لB0âp*8 &`D8HR!XFYkL#PKCbD!2KӉP֚|JCGzNz| "o!( Ӵ߆Xͽ={|`5E<>ev֘pRBX٦< Y [1 ^O%m S<ӈB /H Nu&6aQ9qEa:hTUAy XWpNy=)[0M 2I<-l8{xڨmO`n a6XP(Hr֠5Qe. *@_c^q*㱍4_(hz`oLE1-))r<qEʰ,<֐qm"B6ǂ(lZȈ7[e(Ay7n$(Bd4J6{њ |mW{ XMv͛0݅`# 3VDJ* &-$wj 'I(PF!I,- %K+"H<]bopj=Ax 03z PA"1GIT0lB 13/N`l Ɛy50I⏤5ZU'dts `9ILjB+l0&Lee1E-}RՍcDI#Z2ƃJ@FkLl zp-"yVkUq &ãƐ*I$lԍ!p&IcdɘefCSaY5  Xtq=#YC1Ehc)QT ң 2`eqlDu d ({?C1vTB&B26idehta"$DV`*!G,;Q I֡7;wZUn<~XŒgWD]P7TO;*F h#]M#(;!9D.EPѓpFacT>\nYSF V<2a qf(fHi-69IY V 4EB@` .> `8?1J̅F*eNH^C F&0' HKg%{vOej#hc`6 f!abbA29.E Oۮ6%*$9Th6q[*4ҵhnCacR]J1i;=jڨ*%=%dr>l˅ue(&řn2Bm q'$RΝ%Q_p>(0kTDsIja:ovP`Ptrha2q 6p$ "0~ 5d08 4!&lʂfň ?sP0)'MVBBM;ʈ_ w:(M.Uefi4aHZExdmLCzQ+ ~/#oEn~lVw?ٙ@ kn&ěuyHl? nqbZ:?mKnPtw! <{iԌEB05$Qض_~#ڀ=CW/q7$Z_0qG/礰TcC n6 2n>I΄攒>J*4N> 4wKqmM)p?'i,vi&mHaxCڑU2N̗<E!ta2id#+s0p~b8틶:7{I:m#QG7˘\@aR TgBk:Fe꯻ ՘)GXޱy20faw**>/4Ԏ&B_9)GAfà)? sDjedfa*/lQZhCqX~_&+ a>S0 Fp+)]B QUo߈Yt}S1UEQDP5&1_ &I;j\ C@ ]ạ-:O!Q2"qaPd0+1QDD`2H-bQ'RXlj2LE$-jj02T7d)_w oedPI#1ۡi2V=EyM x uV±,WPÈI̹cy $8kV4IF4B"1 @A*9&< _f ar9 UjʺtkЮPҀYQ4 v}-t3BM: a\\FJb!(J"#iɧRJ"1SMDHD%ACLeU3HP Q3 U-%D$B30MRDI DҒ0D +ɨ j$8HX,2nKc UX%+>~o͗HÈ9UHGS<‡<3`kyCqi"cF?[otH19+YwuOkj31 ִbT4р@E b{bق9Y3t@]7sށ} EC~ɠDLUA+G<RKS $HD@#2J4%-,HT@%%BB $PP4RAQ L҈DRI#IAQ34RI4Eөēð@F)Av05@%pC26N@p/lW<#c6nFk) \+$X>sxAh$W&$d)@` "A@tcU8&JB h 39uذ=wS\ pl+(JE_Hz<y6%,S Д4d0 5݈7|):Q|qUER&a` 7f=MPn T>H C(M8Beȩ/P< z"b,Hhiܵr Ql0 Ѥi$LMJ* d'EC42*7# ?{"Km cq1sF&-/w'2Rܜ/$ O`}ő#a7m3)c\Xevˏ3-VF?FKoލkVDm @C/HZev@NCJBM2K&4zRSD -u9h!2Ap`J ~p|MlɥT" Ovjzn"DD oc4fKk4L$_ʛҎLBllU0Hpc!! b&ŁE aa#@ Utl$~V2*`ͨ1C  rDA%0%7`Af`o2P&0Epa"r0!Zl rL%b :U01VD(FeHRdf4Aɲ1H#00u-h0d2ŀ{%#4 c RAHbIڃWeCԎ3)a1-B`1"q*c p]t1vʵf4.*#t0DO 04"hd:]ղVA"HӠ+DT@ , 1HYA$eul1!B]1knhqAP@P=/{'y(p"fҝDxN!0JaO )Q5wJEjG M :=,ct}P*_^ ;UрL@GhGj q^M9jr ׁ6SN/䌈Hd^`DzNNerv>Cݰ! rz}]P\Ĉ -'|.ޗDjV񆤰vxf=PmG!PHT2?Q$+N OYvCb$~_k(+SJJH-! z@u$y= 6&2-ہR"LGtP,idx`2@ Fn$r6i חZؘHQl 0B׃i]p6! /"#Hy p"%&`@H\Ơ(o\" pNχDb6R6R 3XJDј xzk X{M;:A!f?lLؓ !'Ѱcl 0zMQQr:]~Q / (nmЊwy#,L /}̲)1dZ")A4c#&B&H*XYT"O,-k]_ܙvs8x%ZkEvlI2ڢG 3'TaSQ19t_yO2jתk]# `vF+5a;4Q̐ ij_H@?-82C 3<=t~S\a 5H(cT95#6,4TD: C!b!B!V*!N  /q<<ʃt)D  zB @).hqNg[; I$whsCó (US.iPl80Ö 0Sdf LI-~3Z/&XjLYӳ7$`FfKT ,1`L#7&pB2'DF9A)elFr)HP)\X`eTSLlNTNUԻA*,Au TG%H>$9IZV&_Pb.R7H-3E0,Bd9 ?$"LRPiaxC"s9 >\O49^<0+_D53>0щ·ÛN'K VBd'ƙ 'T I&@P0q; >t1ǎۋ@t鬏wUU~d#w- 浔R)bCF*Na`fBAݤ;*y$&d,UNшR9b-q0 vHhd DaC@φۍ!PrF͹|DaQVG#J'`"jHh4#p 9OyW ȤC6!H{ %##ԫA`2.(=[-`)waIJ ]Ϊ E2K!ҵ4\2SĈ{0W)H#TT|ee&Fs,BOX_9*Ŕ .@bG (IC$4B+HfL8 Dp GqԞ 4Fo) Vg xOeZ\Ru@( W @ؽu{H0+TqD!hJ"V(iHz #s:Ò2D qVA1t|rnڀXiJAH=q0>TH#d( J QB3 (P0CMSTܽ|?3D pb8á8}&4D,$f U]s׆V̱̰ʰ@R cİx/4ij㝯S$W*˼uA4׼ +M( ]XN^ 2#hlतf&N pC8qv_cE*=BB.SpC4s\O nMDAx-nGD7PR 0ёHi^! l]#0\s"SD EvoEsbPGF i#̦C3XfeZ{.Da8Bpv$>N} PPDP1 y,F @ٛ9B)b&/û,ڄ3Lۉq-"kTbIZ`$ϐhGڎuK R@4>Oa!@%t(GP47~('>HC;rQT#Q1 v҅*T2j${~+6a" ?.Vi jA#QjrMĩ1$?H6dapLD@uAMTTD$EETA1ؒDCPP!>ܵD:_a`Eh"V 6z$dJ 7\ t`Hkm Vxl\ jf ~"'0.| SpB |_/۾] OkHCEPgK!B bCC-~R.|DZvQ)jIctrUȈ/P PlT8y#@!xnjG|HB2^'Ƃ:At}RaIAS3R՘ZHʢH%a p_iR$0X*%jd Xr X0h$"]v,ׯ_S*,z>OG~+grD6@[c WMEg1^euHH〗i՚Z%qc`0Sa9ddDC6p9fpiW.j_*O8uJND!$X7޿7ο> q<@HȁPn 1(EQEUmc=AԪue’1T 8іfD$Pl!DÔ>ij,1 ! sM)5 2B1mŋ 3wf(Թiӕ6䉦HB FG IB耪N%- Gl^repП `0 3K%(5zҾ$g.d3-u1!_MJ 0MIE; F檃Yy=@ET5Bro|qWn 4 ;vS/+GBėVSFaф]h^>: `Γr|!fJ">7ԛY ݭTZdcnwb,:ЦZ1 g&5tr*xJ>mp wW.Oq!|r+ԗf-MR&6R)-9"'A1Y:vlKVR4ߴmØ)LgG[Yx;g{!LymK$v:YlPֈTM`ž!FFzMBDd=2ǍsݖWtvl "<3ZbH'3A8 j!PŜ8Mǣk[v@\XR=)Wޣ-QkГcHa.QU;~>H;{cTo%D5.Tk5IEś)%I7ܼa4U]8 }7FtiÜP%̮9<RhH֠(+4lH {c]W)FCEhC|HKԋm'>P;>4c~@<&`Mt: H[JM% nj"Y)>R8DбD8< t +iHRvLS^I:(3.3/;C\EjA2oZ5fO , Ts ?lׄ|?Ky #|3&yӌ9r'y|\2 BtQr/CAUusFkKU}M@FN(dlmGKD7ÖAn,'\JTѐe0S+M(hن6]'&く&:=v3ne5Fv5v̞ewݑ-Oep; lau[;uRD X!h_])5d4[,5 -'IC\oe٥~|C!O9bm)_t!pk|(#~{#2 K hP2m`}w}%4`;4E0{GpH>!t"jIC $߹ >bL­_"F<?-Tg7i;خAY҈m\!XǬc,5 !f2 voIJZUˬ]p"$$Q784 KB, ACaDb" &i 0w݉QfpTSOx@F>E$ɾݞ&\,^"in<^B2)%(R6F8唴`Gp62VL0~g㨇])P5MD%tA:{XM࡬jKsy>v:|9C8)*NDc2Rzq;Rs&7qUեށ\zt,jʂ3JlFDJ_'&i7,$Sh3йB{:KMb=Q~x·һ9<=D9Ce? s; |:1rJAOc0X;D8<I#}Wy@RKÔtn* " * hJb 5Te;e1,'3ѫEC>$y+HML۩B"QH&q,U?c jr\՚k<İ&9#EP:bu!e?uά^EjnL٘As\qkW7&4F\-3[ #!TqZk;8^dcoT  :-3/D F/yE#Ɛ8QT@dQh6I[ ` a"u3$>J!"4HP @Dw&dGL@OyQ\JtT4K*IpVUBJۍG02bxJ wTFDZuz_YHiZV|g_[aG_Y DgB/k5k] $M@+0c?er 0OkU"[ ltY@#KEȂ\O.ȼxyrLqԛ V ) _+uӈCZ?` "Gw0 ,/}T P8yhBi 3NXfRP?( aGF.@iNE1/g7lg#P cRiŃ=E("(8zJW"XfRJ:÷[pff144qC3B Z";f:1c:)2+f0L~Lsϴߵܠ@d3dSg;jWw (GCivCr:;M@\e<"DL{L&)&) sWL1 Ft=]>OQuZTJ A @( '/^ΝPiHO\PԞk\b8dP "P4lPT +LtTC*)ZR0 h 0+ j܌6ֈXЃyo h 7S`8hUPY%XsNW r䶐K$R԰dc`H68a-+ccbi" )HI*L"8 pJ(Ypzu(FMhaG$#!?0C0A1LD&}Y5AHES* !\ ɞ@/:nh{"X鄣i2gD$l72[0hbLu4|݆&gRI9-&Dj耩tEt|LFdH >DhM`&JsɡO>t翀l uQ Df@x tGpfdf 4Qa&'|_݈N(h,n}WDbwrW5Vv6HĆpJ8}& 9Xa $p\cH^'oUqyT+&"e'/+IdUQ!jiaPsm)%Ĩ=x2Gֺטe1Mk#rkd^WwB9#tvH{>Ii!gB>TS,e$R LKPC*|#`PGB>3KhwCUuBI~=@[vzbzD(߁E_Od.:]D/|П @2`Ⱦ@тW&`. HЦݚpJ%"d3G$Y>l"RUfd!`HI(Y*@{x4ҽ `3^8'gQMQ Ah9<Z)v0p |8ZNS% HHm* l(t6nYR xR&Nu!1"I0}UṻUL( @ !h DzLP(%; 1-:=Q(ts0h#ldf$R  % rvi)˓:Q':@;s"*;&ޓ>i851fIf% R(rLHff.Ł%!HLNf fVe 19& a,,+f8JH̊woIDtʾHrBC DIS5RR%.F>oɇ?__zWݪo! R?y{?~ի?o)KEa/v_N?9?U_OO}_ no_>yPFGjl.8!A'OB' 12<,E ej(xs(()H38333020hzbwSG((Մ,AsufecTCQ9'EEƶ$cX$ƙ$^ JTj9i G@ bb"H"ݻu͝õ9:#*nyQ!ӤC[mxQw:OagN/F-?eu.jNUXFM݊w^C{f>b=$DcD_r5:bxچŮI PVތG? 1N-%Pl py:8$o$%stsW$]}gLN95%N'4i yif4lq>x.1̼'1MY7%3\iUN/ 2K5ӃnɤTK6ZX2W3MQ,-{iwM^9^IF3-U*NT43RRs8yܜІ34Zm LҮMt͍K'2W 6RnD -BGee^Z)CaF.J9 OFxla!*u <7Y,*tD𹹻פpׄ?rfbp\ UM)y%gtДtó %Җ_ۉ$~u9Ϥ nw{8:|Jg|{+g#E#6Kjff64IqdчŅUbQ>XYQZ}v8i;+*KdtR@+R$xqƿz.á u{8R~f$8o5k#u]n=;MGK^q/W=ug:e'(g&9e0&q˅|e0-m4ԽXu r ' M]InL)"hѺ+]st|Jcx\K$ |5 .S Y@ƾՓ vafBɉ"(~9-.9 56pbYRG|QH)f-ek'mQŅ#dBJG6Yذqb30G7&A3pIn"ѳ zIМ!s-,\c3=*c:)bRNn9t`C3i"H^K3.'$-VT)+6W3!plO?=CiK۟k`к?Uak:x]dG 6I?kj5e+ [m 2 <{ ޚW8tjh^V) f91Bn; m1U`d5,#% jau4B˯cѩ6B$H:ns014#<ڊ% ;,!Ib"S@B/* % N>&y69yWr>'%:U65 H=1 z)E4BnaD *O¥:Rء.( sM2&»'ZUOI7aZzDl&gaQr@:&0'7CY᠏B0b!;xUQ[XScb@I0H@E!DJ0( 7Bg@xIG!5Xs[4=.h/܂CѫdGZQ/TmoIFX"))ml-?qu:;Nu  $4x>\`A~.S:|;O0=QU ~տMo~fҥCDG)G>R 0 ;A/43;= >KgMd+O)_L/{uPB:8cz{yc00! !cXA|hs V㥯emd cۋ]6&0} @ݛzܙ7Cpj0N$ bt9TFA#S;3 Fdz@RcDi={?F/yӒC LfC&hKY~gx+J=Bh^.>2(' u=oQ2BIђ|)`G=kv?m5"!@_i}ck_ ㏻8hI( 4PcTӨ7[i𠣂묹J$}MHyNX;"Xx4ek섞b75yyT!{GTAnY={Rd#3_:j:/ C%k;EB$ӯf)?0A꒹#Dubыԃx()iAh 5$S3L/<'mdDS/4<_HJYEYA?XQ>xsW|OQA[E5výx_8qgUV2I'HQcM"% h7i3 {N%OS4U-D(PzrV(J "jV$bH&Y(ZZ(&^{Vf.`aTX2/e1Q.lŲ2e`ǐ4Ch$4ed }]ܺ DDeCn Ia`<c<=3;_ƥPw[4(A8JĠ1<&5 1&X/c~r=IdZh; Q󟞶F"fY&gi J 1|,:UA!H0TaGN 1(AJؘ @E+XH$;w#=DwF2QCHZԛ{&^u wƃIC Ew4z IŒ,܉ aM45PXl|erIP(9,$})6WHgbv nFh(G- 8kh2Dĕ|#=O/Kj :qe.RGqq48u/cF(xJD8AW ,Pg}$_Tfl~G7"8O7/!((A)hV&&_9k`rM-L-##L IDKDN;lU. "n TXD;O_|r1s;nfn· W&*xsQ> ps{FYU=O`< Cu8B!E7;8531sV;'n4 v*Z4tK3)DC~bPMN>DD'4 hl2b @iGCκN !͛7@]I4upi:rNCZ8v]|!&[MnS@gPA'~ޤf@zU24dhք.dMTu pR)Rd%Є!Y*1i7vX%Z6ڀx̾YblMk"p䀡02 \%C:3(^QP#(MGvfH⚮ thyjEL ڸ<HJO.rݵ!VYP?cy?Heab"PpvY(d6:uyMPN: j:/ [İć3r125ve5c6.2 v:|d!dgUԠ.j)bIw912S`И"#CM7Uc5,r:O"PFR]v)KUpZw9IP`07H%%W+L[a'i(]o񕵽zV؇Z@&0Le5J)uD=y,15䬢M UO A79si_S ciĹ\;޽QF hͽ*w&SR MhK6 v52xV>fy2 'Ys[f3ҵzh&•21[i60YU f 82 70ђ|KJ>έz[cx܏p &m I0.k@7WBcMS윎DwG<7X ΪL#KZPٞ'%Hӝ1<,!(uM2+'r rvHO%;zf]L*ǍgD` (} f9whm˛n1$I~BM{DE|<{+b]{1qHYC[ .9BMw(='i((/u)ʆ“^YΌM#[E;bBn]G6#ĔS%NDSpz  ;lp"R$<-yI`b)je;]cCghha#) PRMPSAa6F#fs /!L L4WcA pLjoU#,"IReJ#NpU!P ѰCBC89^ht)XR,) Ģ٦e ̶Z+4hAD؁CLɆ62$A (BkvBI N3G .#I ,e`:qG+NBN0i( `t5H#J<^,3pWmw|Qe`O[\>Y0:6 he먍ogCv;Ƶ։''+wl@qҼ˶~FGH{|ѱ>P&TQ& `$'}#]Nң:uLvyAz7pR lI,3F@8tJ+< (;,`sʨT7['H^M=<dZB@>O}gDafmCb J>@lF"wTZy'Dc`;tɥhS0c^wve7L #D̎ ci5 sZ-L!Ӷ&Fj₰/`4.A`В; C`qP*{.C|b+MPj7ŠPJU("JľX1w a: 0(""&bi*$J"b"_=9߰dϧݬ⏗9A14+BPfFf6a1I2PL@B,P̓+TK.e&4r>؁P EP'ˆtD +c LmEyb(1KQ@n1p"DqG&jI™gD9.Hkl3#Bs 7 n2q/ 81m͔QrVMɐZ2" Q{f[ecX Ȱ&ے(5M4a2oJ)|kԙu)i ʌ5aIs0G$_6mq n4\FT Od8_qb% .pBvġERX"Jg;3U%TJtL\/jC{f.pbZ$chmy[-EL0iN,,DJׇ߂A'pyR`P"42(e$?7|PDb⠛ƚ*&Y *"0f ,(01q\y3y:Ʒ,kfa_kM fg0F T0#.;RS`S3JzA`m  #6ڏ_\E}AjW"8?`GU팳*^uT*yiX5l^Tjq@9 R(_J{EAh|{ Fi¤|9fF>7D80cEؙnOڃ{Lr6&%؈%(p1"! ̉mLuH">j8$G͍mQ)-;VȂ-8}gڪh=i) bllD_}1#{xV<c"F 0V*&6IčdܡQJ,p.t@J s@?4BT!E D (RH- \DԀ4/iĈҨH#JPh]H'D5*4@r 4 pG+T袗!q2bڤ\ta:Kg S8_yqrȳ&ӈ3{{u:pLܨj 8 h4F!;4HR9!MCmt{Uyo#_"| =RL(Ax! C `R05TCX:J![=5I^l%Ib2ϵRsMCGL%G(kx,M0z19GDP%Ӥ:Pxz"zb)]vþLG7xHXM" bzWg:Ra݇i$ Q|ƀ+~ E٣tgPE OI$h d^vsw|Ŵr`U{ʦm"/{gƳ\)=c4<Ųl fА(m`!% Pf+TE]tJ 㨡- " bsj 9D.e @"R44qBc¶15UV`c(0dE04JL! QbPtj2Mu̴$u8ƒe1j:4 MhTVn7[D0BAj0p44r*hPEaTS*m`6& Ѝ c*`qDi#)ɜK@dh:FlehВ c!1 PQUHaeN20L-Hqpr-r'U4WM?APh'ZQ!,*`{bg^dR3%tX|6yZB"F1C($S@aRB Y% NE~6W IEc9d Hʍù)f) $ AjO`(J?}6K_E%S ~(;3DS8R M: `@2TC|Eb^wU o#~,)i1,haD h_@6N]M9wu|Y6C1|IA _^VBbn9`XV9&5I' P YzD-X G K&s=UX .2HVq+Z̉bB;>/ rWp|ѓDb"kKy(#WdrmW蓊 0JI @C<$H_=7?ĿE䛹ƿ9ft4{j17&ѷ^,{U:|ttTx meGPȚ+JBɁC?C`v7{Pp%AKt|e rX4 N} L D@ H;NEoM)k8ޫoʇvIamۃ*@[y~mJHE iKgc% ,*R/ d(z4dσ_<] mk*fFVE21MPpZG+,Κx xL{ɶ3 ;#ݲ. !$ŦcqȿUrZs"K8 }ј>F/Te"D.Ѹ3g5Ah}N JO >UOY%z4b cWtRbBAhT!VEƋW.)T:QuU !+$ E&PrT:T g[t\D̮ ݿYIbvEXr gK ¹@,!zJJaa8.aTE* Sh#jLS;iNO0J"@MF/{""u o< #X:"}/tEAD Sx;2B.L `<ݐh(4L9HaØU]A9bQ }хÏڬj6$~hMlaeL|ʝIȠfY],Shiݩj<2'δ;:tnv{q? a % Ӥ N*LS)8_w^ ׻NCGPUe"%D q9=e^1mO3?<4}HkHyB}x|&%9%0Nr BPuIQ=B1`Sxuy @19`Y0JsudneA8VcghM74!@bI 4&f35AL@Fmㆀ `GP8&$P9Q@;v?` &F 1*"-BUW8}| j9ډ$?3%cJsK 6 f l_HuK 2D;6,?%(*kcIE}I=DAO#BJM! y\J v=ͳP :K!Ti"+BH}yؓ1*y|,d"I!bHaY r1V&@єEFʄ<񃍡tJl|~wqG[-FOD 4*|3|ɪ(%!/$2#b{apA(Ye$GO9_wl4>OC ʐO@; yCO & Q· ~!3!}߬ਜb0a('ha KJH]+P\n~U8McFNZW/L4feAA2!Dh((30?Q6PjLMTPm`e{CF֞7p eߔgRګ7/iS=Hzz<Ϲ]>3{DPM7>Y:^&J`G^ A.ۛ1HD~ ,_\pZ!wz n6d# +DGF{2BjDt%@,@ pWSLc{ރD L"J@I#EVBT:Ne0Lszi PiUA@M:#()}`v~AƗ@@dj[5GA^dPQ΢zLȘ$HccUUUEQEV/ǡC`~hH@ Rh&a`>׳8QP)4I1BO`b.`ᓘee}5PQ 8A[P~'j\yhJ4(D ( A! R- L-CN,;@<;#Hi O8'?),Scdbtr`"FK!u2^!Vs;\}u`duqeo,oba4ݭęA0B5ܐ<$^ *\2׀G a :CH=$ڤ 0gIU7/:DTܭUJha[,#^buo+4!+{6/1 xasL=<JdI: _f8DELaF?$Ahםn(5a/Z57G5>U<ù!AڕS)$aL"JP}px&ǯhin$M6bM@FV0 dkYEae:֍%fPa$!80}⎴73FUpᙘQD!D( Ɓ p.-F,шl 2f(k!/0XItbH-1\jA!]Q03 55a5DE1wkD1j"p kZL(ADBdHIXO #  6Î_1ȺR&؁du!CjBbѣz+(Ic*r Ҳ0>2qHgJ-""D ZAAKE<e*'1BR4%P#~0 "$I )" 3' bA uNTg!$H'!a$S@bx1} zNSCl(JG 3hfx7 N_Dߑݙ-̟ >1L73dK0F7'׆JuȕY&Tz}b^mb! ! !sOM=J )(f$RdjM^u1x8`kC]"<})$E xϛ0ݘ(D%B4D$IMXYD]G1L*UD趏GC.\sZWHq8z WX3)!`AսW$@"oN^fW9*8oWn~q1d dZ|i.D\)ӳ-.J3 GzTLlH#l ywb+7!{(gT5m~#@.ӛr rp̘ @K̲e?kcx)דDJ$agvI%Dj y0=a<\GCĥ(Lw7*4Ģ``A D$CyώxaTJNH"2"# i@))AIHLbg=xH~!FgwNpۑCSȂhu$KS{A =1QIES*q!FmkgOω7x(icMk" /A^"[,q@b`so.NFOujPa<9[b1\uqc=$IIw0*/5;'+fIM:o,[qW􍧃7fVN$ ,M㳵*[YvӶqPDqh2q"xκ HGD$89ŵodĸ牌MbɴP!fIIH4,e48M4i b2{ъ0RdSUG*gHBi a EmĄtw EHFU tO.(53|Ju=0K⠥[p#; 0~+!wRNA#|li:H\ 04zq_C*K%HCJ Q(TLv{sf@@e;7pJnK&2AʪqXxsdB֢Lx56|lp_&:@Lm1"6aX@lR1a =21AJ\@+IHT@AB~@k6>ޘĿ$3x=1U"lDP䊋㦩 QZ]ťd㤋OGbeTB!TR)$((h"Z*D*j&F\8HSD%Q J LI%-@ILT2K$DHTA(D$%!-9 dB2!23+ 20)d((DDF&2%  ᡿ZՆU f5R:J3,'tTR%JL2$HEDUM EP4 T!Lē4ݰaC2"\1CI`dY!4FRo޿qI(?@B!eGdjwП<O1eא L3Q$ @RZY0$()j+DVTKj)&HI߂R%Lxq ^G;B1hEdU!Z\Š%ph q 8C$T$$DR!O穔 0(SLAL(N?8O`LnŊd#c(wld(d*Gp0"(mTSOL_C j$&Ftc{Ai`Pb$  !KEAG{.zUzFk6E!EJ1"./뿤SdYr*dMd dI?x&(Da}y.y@6C;n@ay9W컽/r:oM>;"6c:L@%[9dh,M3ں{yh{9_]+[}ttz}y{s|^^l=[ xy̷Mmz6hwUVW6]νq@Q(9 7{{S>À> +@tmn*cE+˳#bػ$tAmFv-=Gٯ[a}x.G}CؾAD(Yݸr;)5p>l7kfqnimݜS*"TH"۷'ϳYum6rH-;4Sm}Ub*Ͻ׷ҩ^.U- {dTTlm"E9 j3ZaNqR o'tXӠh }T>T}Fju@M^ΟubwisP{ï o+mwp=j!zaCegE{{m݊Շ>4Wǡ%ϙPU2zm{[O'Gl 4CyϷkm jJN<Pڲ@wVf0w3}ݴUv7ty۽z}ڽ;wxeج}ymZ6j!g^㽴ȸ0(($+݀P]aCJq4C{}slWsՅkv;_-i=ݤ ơwvݚte3:۱JӐgvϻw1XӨCRQK_|t=nͧGi/.{8gOܭ1$P]5n7f:{o[|6}uOw;{wwjƥ|m\o]9Y˷;:u€@faU$H}x:)iWsoCf]=:6]g];ns{Օ7:tKejVf\Nys{]Ezw W{޾w$t=`83 5UHwR5ޛ+UMzﷶ_{3|]r=֞AO].J|Zr7fru˵uO;s.7Jez۳#qwltd4Rvdi܃ .xFmwv{yN1y5%޻Cv1fuݝvrHѻtm4aqڸtr o{;7^,'}*·Gsݽkmuѻvu/f:л@P bcDs;nMb+[uvĝ%on{;aw}p@*"n]tRNuG]: Gmozk?E{tpw{z/B؎#Cu:]Wvܷph)mfu&kw;5D37턋6lqWOF%t*G!Wvn\v]c^jk]f@;zCZ(Ofk٥&Sz jLW{nnn۱aC}Wm;vyء6Sͱw*Kw2TiUAWޕ7+8Oc 4@ FɦEO$aO(z  ̂&i$ 'ꌆA" 40A0E=Sh4i61hd L5O4 hSFh4y@2! F'1514zh4$D&iLOSxO"o(=Q=L24aSR13FSM616c4Tc$Qݯ<1*=P_PɢU9*)??Ǘ^6J"@H3>XBR +K(j"(I :;@a T"Jh~w QO)O1(L)X*Sj[.NFH6@r]kqOIļ|D%>T*{.1G@e2L.eI ,_N%JRD>M&لԒM12$S $IL204%LS" $M# B SR#$ D%+E "P*H*$!bU I+LIAI4U!P4AL4C5J!1@R-0T)H$AB1 I1-@%01D RPP c,2DR!K@ $2!LDS텥Z! f HHFY *h*Vhi:+4,@#0+AHRP U4)M (CD$1)T+$CJB` JZP)TJhI"DcЉOr(}2zSM D mEbH`"J @em 4M%PI$DLD*RRLPIADY:Bd9JPPR%<@ZI%ZBe!(Z J&JP(0$u2 X0BRHҘL)(IF"4)2\*h8(/A?H!CcaBGU< ß)Uq("jo&xa^C? %i A(&"J!*""dZFJ$` *" R*)")$"VR!$(I!vxr hb*HE }zb!&i !(ZJ*"I `!( "f* 9 Q@T551A5U(@Uxp#*/6>gCEPMDQuIA~S*e# *# svB rtl)EEҰ8U,V&uh`E2]C%qpx}>ޑײgz:S8͞Nz}ғÆ 0 ֡{aЌn4|{MK}ߔ'[oI/)+q>˹ kPFx: _&u&Ͱ*ژ5H1{R7:\mF`HUBkfsg: _R*k?᐀u(iCWܸy]7uЇS /.~ʆ+<9`+Y?N#[9X ,NNXO -ua-j"^7ŻJ?8Vep *g;} |QDELb*j2@LTU0$DA+"HQ,|Gj)FTPU5EQ{D$܌"L$E-LMEL@UDEH4JVΖEbR`H`F ZIf**hR ( DBLEA3HALPSQ CCT5HITBQ1 M,DCSPsEUDQU%D4Q3UQLRBD AE44CADQTP4AU ATA5ک(j$"ZZ "!&*((Z"JR h(h ) &&&i$i`CZLRL41AI%.%4DC@ CQ4T4SQSJ|SP[U1Q!l"( %%(fMY&b&/0`XRFJ IJ""&b"BX!Yja&!)*)bfH"j("hޛ@PQ  CR3QE1M"STPIDILREOV&Q J@X* "("ꮼmE#*$BH!%"j&"&F)j%b &|1 DUDIT| 3$2R4$$БG2CPbr CQIQPQiұQU SR4QQTPJГ,AP1PM1!T hRE1$BS& "e)) "`b$`{ ӈ RR4EAILB i "h(5),z23(dž U50E4E0QK$I$AIASPUIECI,S41QED3TRL4QU TL$S )A3,LIADAI$TLUTSUDDS5U@D1EQ ,IDE}%`J.FF+;gfL[mNvqŬPF38U IS)GftChu Di5[1b!EUN6]R}uJQ4MEL$fI q:-?Nχ0V"Ady۪]aݎѸ˜fŒ<^IQ2EC->9ο.~?z}b .pxۜN1 O)i?Ohqڂfm+@&h0W#$G RRkP)r0ûJf'߆,M~{_cPj.qͭ|vu:BOP{}: #??/kUe`Pe]|kju-7,}8t(;&amRƹSQV8/}h .|t qz;]ZirYbu)mT=xxp3~/@w"1o"Wrk>>U PdR*azQs J 0"ZxT ajV[9ԞڇMd$AoWۋ7 hh?ͬ:QK#GX : J TXN0q@Pys^o`{\rGF 5A 76S2q9]f[eVW,MW 3^\Ia-q ?TN!|sl0>%eZ8\YVǿak )R˰v#=ԔÇ&AtB㊑g7N L N䄠jS+Itj@rLL҂F=C,~u 2.\eءEQ-oΧ$0s~)(r͜ |o^8Ϙvms'G1^oyꂠ֩J7~tutn;p<. Kͤ1 6)BFpPTqRL1̄8Ԣ' Ky sVT5yZ0Ods?8Gf0iB%)2reCؚ(~q)&0cY 8!)|Tn;Q6}ܸO),CHO\J;4hmFH{zi-qe=܂cDy72~J!@þ;`"0EC (mǫQ}g -5.8 |GE*%$%o~>/1J2(}9P0Zo!A#m]9"}`U72o3"`(4Aޖ!`UOBE9b^gDlf9GѸWSӈE"R B%B&"iBj&$1PD$(^D 4HBJT3HQQLA##I$0ĕI uGkS㮫n6m J "&h,مXF1%B6DT4X;JS 3CH("()u{=AJtD\zɠH.+:F1IT30Q@BAR (A2LKHRE_ꂕ Zbih( < "̈́H~-PUuSiMUM1B@+P$ "dQ(J*Hc4iRĤKTA0LELQ1PЂ,*=v_Q)N#w oK)>A.^,@#%OahJ(!%*B$fT"Jb^k2dG5M4`vzQOyC =wW;f MX SلNPQOTp9gd-Rf(xvJ)'~RͿc3h(a!әO)7&IZ 0E:IbjaÍ ::-c&׌U68Öq΍b7e|ؖ&avPʠь3TN!d/.A,^a6hitj؈edma'.XZI(s!7t b('2 X@PP4%!tN5M61 r30Ix:2ٴ)1X QO0chSϞ[7TVSFp6]+ z4v>9I=zɮד5V6hڰi/azGE'-pKcj"8ɫp]j]-f @P q{'l>3aeCc2"vLNo~O糼vi>S=@0qcD+}#)! JF Oi/MB\^4k.AܞtYK֨7F7D2t|z#p'n*4i cB䈬^ydc(,lE:,Q9 4Ph8lnbG.wpMIh4"hZ`Y'.] 01a PU0ΚC-mW 0)2P3s4͔D:i8wylC@蔓a' f"bjdU fvk;&F^UY 4:z,8z**?ƦeR Ue) H06t@;h؎EFs socSfy42^g]ՑmL*i.'i8A"HOA6 Ԉ7 _;K[1v97: x԰ՓQ iP4 i'q|8IP@5*5Jr)D= ~UB4 -p}BrNIx8c:kK4+ÃjT'vf]opWc3 a\""#)9E@$#@/׉Vw5T97sd\Xxr:YJ(?o81Px`+ؠ/[l|{0v] \"FugE_KwjQműm_VvBHC#/Bކ&{Ah.t)@8Q~]y!fefXq5YB$0ȫ 1o]76Uǃy-\i1jYh#mV6$S{"Zu̵P) }cV( oG:qlĹe⚐8sNuYus&+m˶;r5X@uѤXu~%^T[X**ޠܔ39H0r\wl2OA:;(9n΄]|d~AiݠޟO8nV;e̒Ic1!,دaf=ҺF OY;*Ef8y 2`ml,5\n۲m/9^ZH&*=;,YYd+ ݻK ҵVscmibۢmk`h$E:j:\KCiܩ-hQ5H~ q7`ٴS5R:DՐl8jnffڀ]N))qi|kfʍ.6;)9%61qzEY9k& ݃cM)>tӓȔc[žv9 wg[DFvI `啎s,8lhqggp ]ABcOH@IG$9(u!MQHr[bZinRZa@0dȇw_5zizQɹ|f?Y XHCWf5׼2 cMԽZg;;ʖ$8pXn !x.yᡉ5r%j8p8yD-BjY֙:޻4G3zݬ+A5*mQAG';n-%&஧Z&QAwjIӭ(sڤ()ٙ^^hP/uE fg@y`#rq(2uk@?_xsKGPҡ$L83&.ذ-*YMei~?_)a"0[ZvW/^$EzrS/E(E9;5M$ СAWOrSӤ)~2'vC=*K:'_HiUd'4(^f\[)oL{xH?QlӁ_j'lVAӘr֩ͱV;\a^0`lx$qFۡ35+tdk׌bn)Xq}¡۲COo s\>1kƶɇMm@0An!RHqq 0(M:+>w.hqF;sI9&0u6Ȥ]qGbiQƓ|dg90ƌmlhf=YY#J)K{uGLfP(F0SəKIQ8!b#eT6 C*,wRbl<YDaoZ#pdaQg˪ڨPk pk&IcDv0J%yg>up?fo׳A>'D)JLNH?m$Em9Ws6i3m-h*,Ø"EF53g}9UBfq[iF y͢^nئr,*+Z݊n;(v@@iezch;Yӥ6Xh6levh-3!)8gᩤm]5lkCK6GZ3uZ]PQ&}t~9rv]asE=N=ՓW,@(MQZGT$HSPF{h䄭\lU,ܓp3`6pLkn/`B@#P{}fc-X6btyP/PAZssr|юh L!e,Q`2ra )FBC0ӫb[eu=."B Œ28GH5Q{_ ?s՝أV[ˎ|Ge9QmL}V=sl0dyY+ԀO,Af7>kQ08 H"";"="Jmo>f^Nk[xF}̋Q~_7aab5B75+`ZΆ96ó5CS<>>)1VbsȽ1駭 ɟj "Ҥ:.xuɍO%LWJz)3All4G_պSi,'hǪsWzFz>,R9va˽:|9}id&&U 2r`UQka6 O&Da^mchYp”u"4(a<6c"#N8*̄0`?Fmu1]6I.GV\6XzchOC{=bm8A`})-ʫf*؊pX+0dn'K%(V2Z 1XL1vN9 AAy4ɫrk,zbm ܎F6W+Yb u5 T)Pت [RyDbP9y e hHb0Q@襥(()Mi94x'}?$!V.bthz4> .o;È",E/9[8ߟӯWJ0oľL- Y ۾/P}$&Ǣ@AHԨ41j[jc#@#&f>fa"c(J|өCZ`7̔@"A ?՜} 'T7(;y(j].SQU0ɼU:o<Tbzż8Gx*/񩬙ahquq6FcaNJ0R >:feXAR$|ox4I/yU!i+Hlʦ~8>>>M8zrymVB,kZݷPE#u)TuX*v\3|nL_qؼn%5pD'Wěg4gMg!:V>-ў}4tA[6mcA9pTV*pj;#Asƞ Q5l" d knK;4L.K"ea_#s")e)}?yEץ5&!H I ɛ9 cbc-FBC]zJ ,Qj XCЇzrN635HPXqagx݅5eєh;qj6?dR9zP-' 7W Zh:T1%1D|g<A2|dՏFʵIUP"fE-{ | eXzp, ʶr6ډ_uyJޱ+ m"MMKvQzaJ X({LN"ykxI4UI!H~ Mӹ`:YELRs4HEIR"^"f_D9y4G\|ۘ-EV҃ -wl!d1Мe lsɥW rERHNCޮBkafqTsohگ ګmcS,qCjr`:`7C=9{?wOq/eI01B CHX&ra3lz(v׍m' alՕ=Ό_{کCؒ~e')s>PMD +C>Z t?Q=$¯9_E{ߍ0wQI-oyO,{,ٹo}"qՅ<|{v~4=mu# z| +vЇ!UveSBydɲrP i%&>kHO gg 1uŴlLT@R3(Õ)mيʒ!"|.߉{QƍAꝄ-U&>L1C?G#$U>I]4qu5N:-EH0`t^*v-^V[eγ*Nl)kҊ2nCHY|8r hs=J)}vmIE!Uc¬b.H)Ec]<5xJdt{fJ[BWkjϷ:}*H 郜~Oqq`$Yn,;cggVƽ>AF$Bz |a@q.5W;VOs#iKpȴm%wLe5Gy?\n *ԋ}J֬\cptAĀ Kc SQHU^%;AMo m"εp+⤠Gi.򠵑m,9B" :Q=  *o}&Ʒ_4ud4ʆ{AĔf:O6β-l6313+Zn3ʠcekL?;%$x 11MZ5jxj] BWĕ̋fq/ز1g#oI01v<Ĥk\OCPCE%4`! S%= -D`$'!H#7R2(fxQ DJ(|e!}%g(!'v_ JӶ#g)-0"׳X[{# Wf b!i2+ݼ~a N%jÏzӢ~g P5K@KFDlOpU|Ԋі]OMb{454'I!s5>N'|x`D7 (/y+'.ʏzA@hM)hK/,fJà,ˆp䟑уċMϸ?u-҄#;^?Cvn [CHB-'5`dwB[K3Kf= mÂBϟx>ouQTR% ǏElub-&I({;> }}IH@W jg|,}|D%&Z˞(FAdwXE#p$ "F1~ՌmnȮP; C!=p9߹ Y\,fjm f@Lm<5T56"ej#BфAJC1Z EŠK9 #{ eW_-4Ӷ }|UE-4֔ӓ Q>DPU@5u\LRG?k5ַBKc}˘U)MS_ׯΌ@OrK~8 X%HU.[Ac5{樆. 7)HG4QDߓ9`ьhƣme pHuGƧmNqRTO |3U6nxoFVG˓\\* (P`U2^ܸ fd=Ii4?h:(*dAU*2TU> CpKmWOktM70!j Nl#hlff-[HLfM˚ՙI'hG旨7t \b;yYGК $XeX X&-](bhKdrJێaeNxЃ>+msJYiYQ o]`Ba!=ZRѴ91`E$%$b !) )hP~mel6"!se"8~ T|/G~}v sN[Xj^z-dGX88t(*&P e ~z?a*?Tq~H()yC^@wMn=5ۧmS dZ|"X~@)>iCBRPo>ŭ27Ggd)yꕑ \H!:rg?W^WT)$U+"CLURkO?w1cɍrS_)ej!R 3q);!)(h ( C$D Q)CFPLlhBj!Ƙ@Itl,D Q4UQ54)AHSDUDAS$"*h$"JB'u0D: ǓݛI G% K zFi)5]0ttHp/!+LuՌH~h!*(F`Hb d%XhKAQE0%0 IKHIAU2H=q\*g TA@28+1Cw3 X$b"")$bhRf"*HIHP~nټ'}_V42DK1BL5ADePp~TU̟"@Tndb`Y{}A?Pz(8R؋pn`q=^O8AiwC)~:U,PΊMW珺?)F0^QS7?䉦*ɠ /(?)s(]')z$beЫBAhBxM!ѫ6 (*޾^_`k z΁aĘ`:ő{pܲS߈젣>FqaHt6*~11,2_?}P=pom<}6# @%P ~[>od Ƀ,9ޟU#'&ؾxwh+^{ pB޾twoFY ~e%tO`E )۝mj݅0udGi w cT" 76.|K)ymPpT%$)E\l%*>lۥP~H@TQ_',[ t88(G,2Jp9>Gc#Lدkw0eY`:%}j $ۄ)= %Rq?4reERstB/\!#b*|U{[ֺn|~?J~1-'WDMY%Ť9.$z,YBAԵ<}vJGۮ&U1)%MfFaw'8jҥD"qi4x8}-k΍68!=຃Nw $P%%94@ 8 V," ނ\X+W1,(XNpͣ PCHؼT!4lR=`0!`H%:1[u8UbRn_^oL!kSocR X G(+a+K\4Y`Hv ~F3L8HF9TK?!#_^~"EA:|^k7-|.6lI8QO,td3pSYӏ6='jdteDd'W`܉RAn~d"z@Dl``D (tyx:1D5 ~_PaZ?59CqnN 9^sxa u*@8L{Q~Ep2Ism$5 [zyP!o7n3@@dT GV:BpL^/tǗ#9럣s+Y[mG$N}'1A慇3b2 h.A6/O3\gg,PzdҲ}/ӕGG~udF 6<[ J9=`T F:*# _u: }?J}}CQ0=" 71̊KW+2>dl6AM(LŊ) zz8~l;MMϸSlNjz6i?ZvL/)CTN?>˝|B /Q}P~NdAs!3(':x,ʆl&?5T7 {w~{j1b9B &,]ЎQ%p[ՆiՐ\ 魮8(_MzF0}B(_rRݻ&'amY\0-N(qV_]A91}N (~(>"&n&}&r\ I"ND {@ARC$$ ERs\`oH0O%$??M?-'|-q0׺ԯڝr+ocwAN|5D$]8,LD#2r %.e(2/Jw9n}|8$=5d%Pn!i}+d ƴRx#zi76{Y3ۅ @FchBp^+KCX4K?aPpjr`n1ZGQ4M-y[P9''ųjݿ#H PH`)=?= Ժ]whN2a 0F?ğ󏤈B'0O5Q GN(wT*.2e^Z`9*9> ƒNUDMa?9؜[6.UPsnizl,RD}7ߎ>xM_ RC 猥WUsz Rwή%=saA>4oޞ7]._u!,Hus<8ZH,1KF5ڌZ7Mel2Bу 0O 2m- yl6;P)_ eGd՜IT.~?|#ԉ블EY9zCezRBA؞K&|Aޏv 2,/007C]jgM+ /gtA;&ceKAC au9t JсՐVZ@0Xn$yhQư(){=ɉRA (K 3 eh` z7"D2[~]"Ee[j JZ^ 3ǘ)j eN e , L~!&xN#9(EaO I!-(v5O{_-?29'~h-a5 AvI I!iȓw=Qs:&KٟݍYwΨpu@  E绤сjD6 ? ` l14>yݐ8-2 d`Fw[a <\s{}:p" >Ui˄68_ƓB.=N{Ϯ  XA$S}_VVFyւ_Gvy=Ws@\FhŖ6*+/ӂzd&sXpEtáׂ6$HHC:)AHdq6bv{cJ{=`x_슳~1yn rTrpEѢ~$N;1u !(${=_o5uo9jp:8HWaFHr!-bBIkݾS7m>ot q* %$U`(%FJH+lII#4C{LTD`҄ E1*?XӝAwHe (N0xTSCU$UTE@R`4R0̄@A4PM3E %* RCHAQUPDM0Q 4bUDU#$QUDEQgx(%*+` q**"J*AF1E N_0AR4EAEph* &+6 HAu O1rpJS4SH##B DUQLTLSTMLb2i9ubb<^Sc箦1t`P$HER@TU͂!*61EiD%N"Fe!M/(}?uG//]t/mOg!PSϿՕcL'%!KOͤ c//Wk0LZH&/2i[sۓQ\:)Z?I4*"FYq ݵM$PdTR ^ V"B:Ͷ0"83?~p()V pq9 L6MInIRQJ6=#ln zc +5=!sڍ``z3=.1{Ol|[;?yeHcg F\~~x}X4+0P5h5AZ7Q?^8_tRP?/TNkg?ƒʨ8 X<n[u,ɻE5PڔP}$z>{oY̥Þv#d~Z&XJ1OjӍJn=-˟Txwў *O0R-@(pc~٫`u9*܍6Mݡx Ի+wXV;=Aεh=uY!7?&9ٴu9ML8z~%z op{Kp!^(iT$J3~` س68h6§# 5RN&hH6tޓvlu{8@I$ËIYD=pE#1*aC|Tѷs)vb!z ,fog߶|S7%LTnEeH+-E u.-nw|I(ǿ /|5W[{K^?W>lh2vq1 1 AV]p|8Yw}=Ī "3C5W\.} B9H;<##7 *7hk?Ӎ 2Zd|hˆH+%%II~ŝ}w.U$s^~{8'>xD>Ec5-辮@6';,b |h^#'-MEAUJ+ CWwV m@WgW_="}[dȆm/u"y`&%l$R1_D@WҫYE:_n)S"ňO$\m5zK:>xY< PsiB1(X㯗kApI$E`qF sC +[i}Vg>KdSJJ]E({_$MejVQtސ>$cMՇC#f)7X\X@ qш۱쒺=D}(2Ʈ;4i$D[TCs ~HcX-H/D^ Sbdb̳g@<~=Wzq臧+/%vM~s. {9Q*F %fYEp6~wCO[an8X5#pb?TzZ쳜9mW9l\+@2ʫ+_u'pvc8XySYçND6ae.K8b_mxC^d-"Kz*u%n" O6,JHL{WPPU)!nSuԫto 1ǽ{Tb0)168I@J@rqSuC%+cʽ}V(.fGSy3^jR_W;y:EآEw.r6woDG}ilP#(j3IB jʏ<|D6`~D,͢_~ݯ*yX0vpݯ\͉ESW:dRW:'"ïX@u0"bI3't\nM“(Bw3~J 6l}O @)~wlħ!3Cֈ7*$G쏞__r,>Ajܨ"|a,_JsXh?DUOӀ-,Bǻ Dȗ }lN's32c*ǰ{{FFf]Ÿϔ(FBwoF a|{k3 ã_,ӊI2c{tz1(z܄1$ I&Ǟ6A=[2e XN/v6 0ȲR n塊Mh3I"lb|aMYt ЁyG~$\8Ɣ" LK9@D,7N)j0'2ə\7RZ'{:i2G>贼-^,wG$b) lyF\h[& 7hR( \J@vlXIPv衜-OOr!ΈA-35,Qa_#a֑|]t#% ?DOc:jq*GEfy'{Spv7z(Tm=i][l>Oƿ0oP=/gߌ65+B"OH{3QOw;f2f$Y??_Yd<=25ň$ЂfҢUQ?Ń:˧NlII4DG;a&8 k|N4܈ϑߟ`Js>#OS7X(yʭB|>żEYSĖ>_g_&$׬Iy>4aЎk"rA=]rzE|ڷ($0VQ=펺8n }8\B 'i;C?Dn"\%8 P[мOV| tI͢w \a E4cH ?mWS>X? `6HGPK1I;sw;GE寧勛܍S &F_xQۦXᗶ:S10`77K~|SK>qljV" 7ph'VE|& 9OpgF =:}NT!2UA {wnfwŤuB"`AB b:A}a[&/+E,1MC5:ÓaQҍt{t*Ѯy8>" ?i;4" UAcwjHwU>gjrc!i6oz"Bc^u^'D:u9|w @-׬;kGx "]0U잛hyjV.uk/{7ڣϘӾW&T k|ygݹj`#;xf867㿷Oۃ^}$øQY;YGgڛxo6Džk | „TJ"ZuCvyߒ q c߈xT!H۵%x{?GJQ>B-޿Ow~n@(E(uJUl%SeZ/zd\&LuE =u\8tEo՟ƷSGɟؘ]3t6~AU%FI?խ r(H[ĈهB@o#\[<(H e02б 2,*F݋FTlf?b!l8~FS(U1gÄ3-ɍE8.pX'*rBv^;QȔ#hF"_\]%PCQlugm) ¬t05'3r&1CMٓM Bc j.V7mE۸J,C]6o뭆c3rlayu,k3f hga@Dh{78H>su}):UQP.H*vdzj+9ByczÕܷY򓥞[ʻUF2ܲLJa[. l@yG,!pa<}C76T6sX陨߇7j+IE,Z\}7ViN@vptuu:K]Ttdtske-(1njs'DqԋQ;uMt9n }Gښ (+)A x8^߆nVЂJ 򉜒x]e'lLbucD0C烹٣ `1F]8m#b¯rDTqa[,eS^vcUR)Bɸ!K`<B>ԃR wG|.{Aa`6zb8L1"[>׭+Ls w?\YHsTѤ0] nUG!.KFd)kׂƦ..eJ (Z1w=k{%1렝B֣HPa2qT+"#YւQ6H WX Weq  K8q>1_|4Ǣ0tþe'm !yzsQ{r!y_}mBmj٣MF.??s]d) FuTԅӸ2cgR=u߶y5ڮTr1%RdgsFp)IS+񪚥3ΚsL`jڨމrTö#TyMfW@;Z]ԣQUD_m\NaĂPudszP:Y;=qep5Ez{Yy hP-3vՊ)M[^ ?}8UnrCe˴pu۹\0޴8,'45;zޫy֐ۢJ=Ǵ&[>:o-> sHח$dY? "T[;HļB"Q'&ӷ?D^R _32j!b,vdCT37,i×`_=D,ʞ]zLxVą]Ԭ pF6MK_p_3Eձ,kJֶ$b9ilV&kk(zn 9GA•FE7ZF2b  :zrEi`4[iݹlk3ǷwnPd%TUC{So.v9]Z?}/Gu`Lt ;'vTL>.^^c_#(`!Hd"^#^K2bt6PU459(fz*ڿ(C=ꥃA@=C)e ʦs]/2Br3v[^ yTP?T `+N| lK\TN4 p΄P(zCL=P GǂQH>!,}u''IQOkZ7L'ב7v|!*O^Gzxܪfadj*{270KQ!l>(-x@ E|'G8'~:Sے7K{Y E?Õ誮{ϘTE-~6ڊmoCYOOBOB㞿R?PoʟQzONR!ž\7A?>H$"p;SQ]=L ETD zO䮱HjI1{O%Oʠp)T!(_:@hz7 (rzg?HCi sMwUWOHj!RYun%x [˿Isov\Ȥ?X~dKOYyt>Ɩ>OedYPWfY Nh8Et'}&Uӿr-9,UZ,!I_z~tSCѵnxӂF(Tc@"pD?'_pvIw5Óc>C"GSfC P@ Uf{@_(C6̟̞J95تc)` 1:3nޜ0S|#4>b7vdpE=%sXPE3zw9m='Ȉ#o@roQՀ~}b ~x UD {hE6Np=O\:xvh7R7 ˾!4F7qC!R)~%R:K*7muԝ./J'A 1 Kѭq~Tp=*u&;)Vי:vK|'QjR#,d*:ʽ…Fx&ˉ r"w06BCOOyO%囃BTFƈSTmKܖIö5EIzq{oGd U:!C c?5VyQcQhY%S(ɮMxUU嶆wo 6'!XAwg*Owђt"sIWf4|mw}u;o |zBr/\ ) ̭̂YDϓY, c@wc; eqI(%m /$upA0,cbX팍)M0a#YEOs?Mȃ j$'IM&w>RUUT2$Ja3F}6N$8$R>0hwW5H (' ?/8秾MC`#AEv-^I 2,so\*8U7@H(q,~sjH9LMЧ>꤂IMsƾ8w7Y S>/aM2ĖA$vyAa^7?(fx"ϼt͆8? Hccrw6[fܪv!?S1@C/ޡx&JE?JWLlLBl8DSB%4GAD7I}}76רL @LR8zP ٔ[G)3q47x2CS HA<~ʤU Po/OF ԮdOJ~oG ˎbu_*T~2BuЂ5{R$'V'8OG#,-UAw#pHvU~l#I'ۃr` a7~XÈ0]OFru=xD)_UmG W MA0TrJEg%QG9!RQRГD뢺}OLs~sI#<6 nt]C56 Iybwd]JR(ŕUUURU:P_b5SP7c<˺>R=S",ð6Nds2!Y|)T"#*9^NJ#.B\C>%_ ߙT/3lycJsV,D52SC$ kT陗 x|/s`x q@H k,SvtmOJbߊ -oO EZzA .P~ *)TlwoUz@|v̀eƾcݚVi?Tb+ "' 4/ۧ^5[9ֈkYg@hlVV4mKٞF ű[6b;hQD7qkAɸg0QZ6:?6p (>'b" Wk>Epr,7":@x =vpuHF.r8x-\[nFsX{oΕLx }Zq?'}}<>JE8Yo(p@ CСs_WO?a;!̇i j*-*#:{R;07pBRBP$ ʞɾ}O*fY-BX){YDoRm}6y+_*/$'s;&U<%`-jf Lonpq GzO'= ]0wfP+ Gl-#sW8r Ȼ!+9/4E;HPLEAEU"F~3ɭa (~)aS ٹuiH%FIܬ<?~0,AsUUQEUVmCrErI$dgcyL5@eBF_v֪#z1\ q_ve(/*~ `yk' GIsӻ3eL o`H'0#|z\Kdm9qFCgX#F'"%>%à[ҫpAXztD)/SzOfuo:Y.YM$){]Td.TfݰE{v8y2kc3XT[_F1ύG\>uk\.v=-%-%>Ec=kHi&gwW޴A֢*\+_+>wX1 g+^2і]) ]' eߧRF7<`O1/Q>1];Cu|p\pǣ^93WMO>'PA}vD&2ɾzyz1̯`rxα + zS1Ѣ,w‰56¢"v-\HZ!aQ[hGt%d ׫/kCZ-k; PvhSX;Tbd_'3+fbXxFY9fy?aa}BASR8Tn!w8E=lU4cs{k .븰$LZ))VJǩFX|W@vt̢L`S/4K-\+(KȨ)t>W9|tRtB~XBYdډ"({wU7" r'P:-N׺<z)HFc R"!ӕpȒ89j.>~\3oz=tNy8ӭWM[E3 '.(HȆQdOX$+NA_uEtΆp(VjɄa]E_wAGrA)3Pԉbn6>{gynJNc BTϘ77-jZ=ɪ2j\5>= q&BN|_ #x~ A]Ύz00ܕq+h˱0FUZͼoSt WygoM=r[\mIߏ@(>Q -1>[ԡ%Obc&ɗ>$uYg1o:d 7NDo P_:H.sQ(宔lT0tZWSVa@|sM5Zj,i{ȬfNIJq}vۄ`_+&1*ATEU/]]6{hP hoφq#qYe&Pʠ*a$dxi=GZky`yQ2=cF Xr@Ùlsb3?N4+QrԡC1*(2.ްf1w&%*b\!e]<`ʫ1*-\L+a4<53˼ہuz%8u Q!Fȼ3s7;G: c>{mNL~~R/Nx: ~ NOltNAvwrK/%T-,w,ӕnw + jU{ĈdT!C"xt^CIrhuЭ(%$C>IKBYC<+)>\ug/MŢƅ08qP= %Pn{zq@b8$Tl"[I %dy ኦF̐L6 5?@qA'GŏUQ;"/yf8h=W۸Ȏ}#\ӹϿ0yS)ۜorM2 \/$B/aitt} C4C:yPH& 3V8ҏkp5m".Zxe( ~V6F5Eϯ W"-U4.f+uLis~!c6u? YSd^=ݲI?UıSN!E*b^Iǣm̬v-3a b*65LgNQ&Fk<r"SSṦ`(%'2 B:pX c:3K孒OL$6{A^hᎾ}xmq0 \uz@KiY|:t.K^#>yV' RMMNS0ԯY,s(ayBFv xgSptZdZF*Z5HK9DA1I̝)ۈkCF}mw]P̯k oJv de&|/UQ.`IJ;RJQ?Jl|qL)s^bU^ \]?hŀ- -~P&v GE"r䠋]٨s"}vR[BQwx0ع'jҺkAJQEF$`a ȭTXu~W^oq35f-jce٥CB8źuʊ|KwŤzd"!P:l|5&k]Gz"p[ſYsd*(nhoZw^E{1=8led EPkHǁNj߱@<|$NrߩBnHIezs2x84LY쒢6*tdNA6lܖu{Px P!z:iJJAU@ȥR(cUVM}}.7C(AIU<;sU7}wN3U_X\D?,f"M"zX3/,M싧J,(])8ixZQ4Al0B;Zۀ̊`W9hH?#; be~_&9k?J_TWJβ6N&Ժ&thD@u.{t^ 0F)*w̠_[-Z8kT CB# 2@ቄUv+a,fauri2JT/מ-s(MJR˓ U7Ų+)2[/Qr1mHepzHP[6 |Bb#K5"w#Ǐ,Zu,#o4H4Ԅ9ܑsZq ޣ<}tP# EPAJWaczQkB!$$kEM!bdbX0rcKSǝ _tԤ]273B'/s岾AZ\h &sa}_u0`+ v&I.v*;S`!⧰ڡo+8Xo,^0fG[Nz)KwtWjgxyydj'ou ek֑(xR -"ZEL$;.Fi ꀲ=D~g4$>Hv])Wd THݕYa%pn((2f$E1/k VgP>r/;-Y l'vpUr b8rx#]'M8ũH9f=BUicܭdKR=*sݼig&:]--ԟ^x_8|fnҎɿus(i8o/MoKcTׄ^ P5\nYJrh1# ~2JIfE{f_O_]KotۑY紽P!d~|Cag0I,j/.!hEZQC\>. t+:߬j&줱 8J7G ZY#}4vS'<9 !_C_8oP-K'׵7qVmi> !/z?Q&eZwWxqK~GY.ʜDDy9{qqs[ 9ou_KE=CjE Qe+OF$tܳYvC3SPE(j/u~uū>6je%R8C~Xϗ FА"H)呡 ,E:qھQ5ƒ6=eiŭ..tG=b'S7ma%R]Ro7fp[un3Z*!sA5c[@(TܡFWOxL;uFoܛY8ˣviH#E-_uU\>;OՕ_"sAk)!z9S5J G6}Bɩ} K 3,K=%-HMxpXFz:[mY[ uaW lo 'EfS,/Ԝ@W$A:*q}~ vG=Ԯ[+g.;Fv5o6.7 8Z'{]{e$c\^OaxP]dq>c7_=]aD%\A?r.}mkfqqNд[p7nzϦ3='7q9!^|-sY>~!Gd`݃?5eƷʵpr19 a7W 02+HUͲ"{sv@4}A&%~ Vm}al HD@_;W 'DfL9/u T9{]vj#Krwl\ V}0豠SPE|ɡFr++_53,5*>e%T\ k.s3rlFR/Y`Z/OmPv)*%x2{w.hVm*{Fd 6~sM7LЕ!E8lKȏIp[![c< 9C8(W.{ wZ9v\4p<T8gx#HܵёwQjp=<) 9ڻtqc?>8s *]YrfU7gv^*K%4sґBR6hÂ|CO C5`lfr01mJpš 󕕀-bȈ?}<}`lVAX073?6 m (A1Vyl:,0؅.;&$WpZ\""⒩nfpov)0h(#g%fqwpdOCrR'>`z|l[LiaUz #۶pgM߳.nzD^`ՅA:6@B\|*- lR55\N VV3)E ~N8el 6a7kJ90p߄V߶v0#:{l*Ņ`_)꛶c>\R>6:δJH,3>b$g ~`!c`u߽BB82_ZBQ/!GbM+7~MqӒn.aGJpٙ<=j }ɧ'\ 4CmbD{]Rp"6U(hWX:j *EW )?%:Y~/^ 3ǿ$%-Nt>\y{6ëRoML¸m/f6{A2QyR0OtieG~i"VCIUԔ7{}phV|.^Hv3ឃ'㞟Xr~8wwt9GA~?*3&tw?G^{_õ=\3,2 BZr&xj >}䁟Ә?4Іm?| y[%uSL(m.UUЋmѐj{ )fo_ߣdN1*I;!I &aJSByq ~J Ҳ]`4=Xh4{,M[ %pѰn19gp "My Cp{p  s|i*GPCD+K] v;C2fŘxzF쨁<=k,'B-ۭ0Woj9Ӳ0H 5 BQx|o<$.3Wʅ)r~ 斉$&^ 㸳f^F )|+ͱ-M~-V h+0a6lؑk Ƀݔ{( #Ux.fz5%c!-&RM6m~BJMTX% .фtivog090AyW߶ƊiYlC0P׵H:al<;1-xFNAJ!2ފ1Z]^5@ppB{J&0pɆz,lz ~¥__o/jjaX6*3KQ6]- lfsawH߉9o6N׵ _Z+~.1j]jفfp:+c̗=OpprCx%̈yk3~nDl_#1?av͕a;|@ꆬv(kg82 < zz|X@BYU|]Yrr@'vY<{66$DP钾W3Y{vIצTa^0Jo3d҈p 0g5WDhq5Q9lrޢiFZLƉxr/ b~"즑R\:3O\Q*f,)YqbZ2YEM`f<-3Ҵ,V8[p1G e"T./A 7.d.DzNDjSM-ǜFȽNxA ((ر\cScsDF3}qD>G|x|HqIvI#}yљKf}6 F9 hD8wZ3(7 TEܢ(}4"y 2XIgZZZ%|vR>01xP4, !t!o03U'+ RQ͂WJDy@u|G`:8WGq~}H7H6%1·絠LXa灢*y?vGewPA?Jx Gp56e{Nvuۼ#`kZoZ~).!R V<H16s%i}hX:͞οE6`;pu1B!(7$!X1W2T^xb۵rykl|D x=e` ̏=1\pXE. mUNZ̏r(³3$z+s%gP?nb]iK.qCi+UT Y?-1}"19yq.P+jB վ_W!_u4$k!G ޢt9N`ʹ~Z-uAp;H2]n#v~"Mwsd6}]AL !gݙuH?a89ĹƯE]f[J8Xҝa@p:exr *k-SʑOu_4_yzF4|ۙ鐹 }uFl;2Va&k!@pBf\o@xC&-B*͡W*yxQ\6 {ͷ>=?),D|9}Yߺ6BqW~J5M5w&$_v|-0PsMݬs!GΫ*LЋ,F=i>ƀFtfnfq*_"ɗ<_/\mTҕO_ >ۍ}Hүq/i0޶F3ll;CmÏ.pD`Ң}M^V.URz(X%PX|~ZCȑǘ:sQd>a*"},9R8^.7ٖ#KV5iQԹȾoTk?gY>|}-Iۺ`c=Is׈`!0- TeAZq~`VKyT*d18v"(D+a-0|O;%Q:m76zqQ?OSް™ L?ye.λvug,NDȻ{Ѡa`㗉? WxH'nM uN/JTWrefjD{b"AH#pxUĥ>^¾Uڹ[ٱP @fq5*wA)xfc8zTNW }mR`JXxagܹLLYl;>mH:XR*P\j&q\7/+ʊRK:o9.4#>N Uj@rlbc ǮaH{ҍ"^ez87FՓB !k}vn': H5 +Gvʴ*O]'5n惯~8\R]JUS6m։LRb9{{땸Hs-ܜm\O&y뱂EM5o>M-DN qejԿ (e}D:m-c?:<<7mydI %C(:cr`Q !JPB8%#8䘮ܭl 5j21}R} HCW3{Э:!$N$h53͘ u|/[1ÒiS^ϧo^pͶ~Kã1-iLKy]S垰^=玽P HF2iJq8ziqU<1By۶Ѫ$\5"2(Ox5C!&s ovlckQCHu'G A0rf 7|q<qU?8 (#dDYWS66CG~TkBC&t3{!#;ٲ"@ 3~L$HOiT&8g >XtIB k>N$;aFxzŏ bm`ZL{휬 z㊠T +CT%N*/}_988W)j>'r(q rY&߱=a}qQpm1Wmc}:&AFȠ9BBJу/ M"lrTE]};f;tH|\z."ễ" ,bPдd7/-osx,n}4wN >%f/Fw|V.i^Й/SNء,z/b? 4^u1c.S#t.ƺgnv5>2>܂d>ũJBcj5!k%Vz}Co)^BXzpTtUoPhm8ՉN}(Szgٜ2vBunq|MQeŜ:poS}G1۷g}N*MC.Q ӧ>GFc]ot!$tg+m̿ż"B9/:BO_$}UpַG J^&Ⱦ G t31p@|㌨:9hЀ"{\]g?p%8tZ0sҰcLp: J` ki4D6h=GU_GSEX)S.y_z\[<e MIA.Xaﻧ~Lth29ev`*b#gW3 vN3 ^=5$vHemECnVնhj5^cx!kZMiM b*Q&o>KglFh{[gAYjd@1 7d^_ n'iXyk ڬ&FKr4" HY sl=Cr FPn;w-2ˊн!Bиy.Q!lbI4!u(YYiShnb:BSc\HTP[e{ IaD8=G f/4_'ϩ}?9fly <鞗a8BKZ7YbjXGaʍ]/6EfeD"jxZHe#cϋ[ު>b7#e/V pF$F2l~wqGJÉnPS7"oWsYxWuE@(Mdo^8IF-~>y=._={rՇiMpQX ?emMYO*) 7 Dy|qbebˋIPƈ@̤YX+U [HKz_&-y"0rC;N KL8J^ďXA⦈E/t;؛;{N>0v :l$zAS%͟uA^|]02rmhY4׳}Z)Xw rn lF}!д\ITou(j,1DcӘDJOAϾt}Ɔ{6-k'܆k>x:9ׅkx;xIJ=Pq \_q% +@ЋJ7cRK.=Q\_̂O.. e5)th`A"/PJ 3alAT!7m 00orvru𛞫hl;ԘnsY,G,.U W]:mZwNg1WxtN;$45 Xb #0.al(vRskN&U8"jE;d@Xr( EʡL+Вdjk0uו( O).RQNώC 48{tB9C}uY{~b(O'LN.E_-ݛ&_˳ h}PW`8&o?187}~5|$=X#c1ʁ}羛gg6tc;nq ֱXX>BƖlP>{]^$I=Ja!jRʺkES[fX_'R5׾r,1?i&#Lʪbƫl0ыui!cfS#=?"jS(8ԢJf(>})vP8Ad\ g9R=!ZIzmar;wsGH#S]!"yXUUI?^Iu|o}/WmwÏt(\t)31*mb(, 9ȃkǦ a=ET  EP2U:4TXef:Dp3(#1#R !I(mJŽyd~tf4Kq9~{Gõ/'% vϋ kSs}=_o&WC2gqC&|gTT̀{ &W9?gǟ5(锡 *M\ÿn#:Tn;k3Feu8NO8D=|xK4"ǭ{-۽0Kyv&; :/_S3g;6vΪ p>f?护5zN' %ڴx3]-ώGZes9/ɹlU:+2&nu\)ܶK}5˞㏌і&o=qK8E|qsΖPEDCI ݵW#&w8Q9N9ܮޫ:ff0a<fCp;cv-sύ&98x-6)>:.ŭ)Y[⼬O#3fc#30y"uo{hbOL$pDLR5|vQlSڱKRƬ^is`+=;XK&5ZɈG:+Ŏ.Tw.o6}}Π;pnpҷW)rkx:|Wf1|#yw'w wsz6x5)e3135ŝkw!lUTg&zx7KDmXU&WtCNc!x!(Q}*m*nmFGd+I;/6r!rI&x|by^6Ynj_;J9=v7hm`>{w|hXI-|rf& >߂>+9z&v+\K2J.7QYqqY‡g:5U^6M2Uu)6͖ʕ;_v/c:w/62-~{f'r (w@`'Y!.7sG){͕)7f1\A{g ͼ똌W| F-d<腩~ٙ\bqb8O,n/üԀ s=ck䗝޻3usQʰw8P0׆W\o]xGJy~P>wnoYz*X]kjp^Mw(|Ď,ׯ7aܤgP%D׸T=nW2 =m#|Qy"l-Ș̈́%5U#.O=fDEuida{@2n#WG}@쾐2r1WIjLs9^6q$2%9%GcYH?(O]cz.'H};W±#I.糙R,>D.n|DžC^._UmʩA5 Ƶ>QXl@@T+Y/E|Z$ MKdr88ds1s?KW'3Xe/spZ!͡niɕzȪIm(<Qqϰ{ ѺJ"{ߡZޣ5z;-Ԙm5|ʫ]ls+ox+FYv;7g;\\YEFTړ'jβ5~JXYA%'<~KQqR*ƮL7>80$yrvǬ8!E"NJۿ~*~]y3nȱj쉟_# xT>+~RE1!#w̝_X c$˜ii'Q J+۞>c Qs_ڲ'FEVCčcJhTm`/'L> }u&l|x]N;qb鹷',I[4Ǧ ک? Bq^Rq}V=0npw t")K.p.A鈋Fr>g& 7Ng-Pb׏KZ6ݹoJj :ف:U\8crP?eNjZ|CV7ugeA{ru J`(+F8WB(ٿlMq NQH@^ЊaDq0,*79Ȥ 4K ŝ {2X@H.f^iXHThXғe .PvGxb%:iD3×J6\QHY;-s%L Xb{sk{tڒKvwɈ`;z4+IIGH#ȼ>K{'WǦ} kcpwsbw\+Rvd5S!etc K:':[(IqnX!$ᕑ IC"oMQmga둘 L3O4+܈`Fw1 ./^d(%fZPq])z3)-]N͗`KeկfPbO\E~+ sQNlohSE5ޯ;8Zs rqR%BʳX׼*y'K.YLWXZ@LA|vHv> CksίfͳD9Sk"=6S ֓@d]`ϰѶb4Ul=u6{9*4M 1splCÞA@/P!C~V Х.Ө8-BoX.Zc5yCT7(2tR] JAnZL^ -b92+ˌ*?Q~qwU9sO=/|RIĶsI%VyŪd81_^4Z3ɒy?rӬdE"$sG&iұ][.<I>*UzȻx7oV{n~$5i{X4yPb)  y!TP5x(XU#~dGֲaF CM+z~/-"1TCymnNF+ X-=MѺs=W<8'3s̸8xW>n}/GdC2q8țN1UM7O3=pRJ!|DPxTs~Ry 郈Mu)URv}NaC6Qse!8탂zbg^a\W#]轆"R1ٙ1͞&^7>| /huWNjԗC75qW`n]eCC`Q֯^&ZQ# `uxYJ֘u @, ]8mC!rRa M@_l{ '/6KLpR.ٚK7bmT=ԙ9={>oak*,&SE`IO4)mXK2뱦lSuEOlE?X)=:k ޚ oLةMv1YEF<]hSoS,G*]9:=S5RMNJYxRmuj07+s"X)ɰ[,EE@G) ZmsAwA*B.d4#KAM!@%PLP @% L,ZE!RӉ +h((iL^1ꃒ%K]I J*(9 wu'\N;4 @vK8 Pdd\jAa)Fg=puoT%:B(cX7ن: xecfv68w suqw`kGXshQ`T*&*?h >(FR RUi" x޿޹(ګ?_:?1~i*T*0IpGEx|]l3(qd P! W0q!(?V8g^ ^Xm_]c8?7 c1R{̐ɂ,MeTPƍx SySESyL>TD*9 R0G[ZTh퐠 kI9bb"1gp?4(X42KPjHg"J2xXX ?3O !me; $h!O(]ci;b$|]WX1!5FZ8<9tT9ߤ~O.Zz[fmΚfK< 3"I lG%S#$XLO!A=$9"/!D%e$ JU?iFOhΘh)$$Ҫ4LQ!LLCKM1) ~_gδX9lKHBd !B@:,G@XP  @ nw0^;@ Ħ#hMSIF&޺;y8-4\TR88'D?np;bҀԳC6*a(B @JTI !A hUH@(&Z (XYjfbO t @~4'aL(|N'@`lfTH %s1al( x9"-[A# b0Ü[pI>'/u|>pu,1 mq@L"bϓ="``vP E#5n,h]}fq/M> "0O@mV7`OH̯Q~a@g~>Xk0gq_56e!@_O_.&To~Į}IQ{E_fU1c{2/z?\:JJNȱX~'ijI_A!eNxĠ}-f~c.~dlWG>bmW3#>;!zӌzxdl4ퟒItvKsvl&IP?{O!`8lO4u*烘y/:JbX%SsgeۺS{߸˷f`ohy4~AU+AW%mdMet<Fp?OqEYqHdk1 H_#Ц5'DdF5zdTӃQ<.'hg9SܮsrKk aɜ­XOy9ηoNʕ2$;;gaa2 `Ϧȴjx{D/*z( skS"6xݖT`y{.Ag:~IcI=){ؐgGFx1AQQE<WL-$Od2S{=y27ޛBS$t)4 =Ӑ\LR툁[6 Vbo&ȏ)憂~s{hԡ?g;zCC(KADt8Gą zl-6y05HOoV0 uq /k=@P3 }L\1LMj,Hq.X]w.֦3mN@Ibq_ e1M n'c~#ՒuG!n(vuQ}6^F:n&2,d_d 謢aؠ9ąq"OF{2D*A9Ž9< _K^pخ|=A/vޑMP?! KUD0/?! Btd8 J{[<;W:zCFN?QanS}m U"fA#{!4*20|*!:1,7^ !vD~L LW gaZy0%wYtpvn g9h8Ad@!-1Bg + 6 >~Z' 'ހkε|Z!\<!=ezb}$)>su"G0Yu ;ٮ\TAEB{|:By}D.=/Ea'l2[Πd!%؈Y4@>c}yۀz 5˜A?f݄$W[r^ڵѯ.bHy&byGLPY'ϻK(=d {!ț/䁬?tqGןpX b/8#ʐOCCC#<\?&t~u߁>/^=||8:+Ϯ (Mtz9 q;/ٴC @<[BO(J>\H$x~)T5 ꢪy=U}H˲u`uT#Zw>+cM6owGHXKy=%fڣw~݃`}ȫrDcYCϰv>j;$0x~owP)DС1BRcRp?;㛏'DIgգoNHlowfC(B.Qg ,O>퟊5b' ]Vj ,/p*Ajur1ؗFYD(ȿ,BCid3}?C)E+(0!8?X&h=hZfqbAo0pU:={" D}=">صE!%y\yuthtB7~ٕXeG'nG䛘xM>Ti5ǣ(K$*&).EPMwoD"Ga:ua!73˓dDdt!D+je*O+.pic֌)@ |Y׌nF2QfÔFHLKQ`)P|cI3G`:"8҄ $fFa 2z ()bTU{ [.Z(b6N;~jCT~݄XTv0v )I#2օ:ELߩo,ݢy}+p##ߒFOwC!|gB)W)0QQ G:fGhP 10,\+Tҍ^r˖ȸa.@C<19U^ F폦(٬m!&r\'j\q8u^ybk1K[& f)oB L1GUxFn rL(S.Ϣ[p ]SW= 7fǒGc#jjlC]0tυ>\@CNއñPlW{W,̭iÄ\-[_:AF͐v|$wgEmPፄaQ[5A܁:ƥo&D>h"]_AO^-{lw;Wl.Knd!Qap1Fm G#6#}fut瓣L՞|sw68nxmLE =rf\e?U϶~4wlvkl^ܖX=z~`>fngQ䧒0#h{zoLĒHrRuAkŠ~Nc tg|pR^σ˱{өWeuOB!p[❽ \ߖ7̹:c*UMb}je騎wnt({pzrv޹ PO m/Xyhyí'rY; 噵Wym-)zNIxyyb AzPn;|̸.[Ow?mrvO&a}wyJ 6#=l2 c m%`Boee}jv<Jv J*g:+V#cO-FG\}:߹O,=M~u,#=1מFQxlAwX[ w–쯃s 86wzfs(nگU$w^ [w{gٖLf(OD>H-B?O1 ʃ/Bfb}#ѐȠ޽-^ A oi4GwJ/(/r[fl%trAOANtGxek@;=֣ dC|6y`0ܡv:O[sB0A=Fʦɜ@IfpzkVN 3TG 5D,un{d-ְmB 3ufyg\ Gۣ`@<*ڣѤ\TmXu_?Y~ z0>QCg7!W"4w[s;e`/߼y =\ze |g?mo?-=|Nϰ{}Ʋ~#^af>O}$J?病xհa@Vg}j_X,w+ M[,_w쯌D *C-r< 4.|CT)hBUrڭXCj*"m~( &PGF \@;prq?\HwsDa@Nܫ=tiHc[i Z;:<^a빤-.Psy+K1 =]>01 hU%uynor GrXV_cղi!Tw_V>00ec*5su2}C㪨Iƽ^ouշQ`6/ cyΔ>{+*'Ϛa=q T1Q's@UFn$ΆqcW' !c":tN#\nL܊`g)Fء|Eyƿ{KHj:]ddcъ.ip茋wki7[=Q"qpXvw_|}GdTӱdpH1CT;Rߟ,57">۟?LPxm@Ҽ/ xٻ)ӟϨA<'dv!!HǷRYCL<|ZaPQD=OgBS_.l*] rޗ,}u ft1Rn61+uTiAmz)d88~xdk[靷_a9q 59l d# DDDu5Pb&-$ (y|]H.|~2 6|8vXuA:8J񠸐2nx^bX IqSG K/ǐa~#^ h6u jd9^5t(yGd\VnLumw?tv $S؀ B,['jOS؀n.1Hu)kzc5SVvhRF/TI3TN|oiaoS`""4Wmj1m F eA';ZQPv *9>Vo›TyCkjvםGZ)4@5 ',E6QOC$3o%]wK} }'l:;|5+d\?oa:pJ솩{CUߨB1/:#7MXrvѻZ 9ujkq`[brp( F9_"u`p čl:>_sdvǟ( s]MY-aKtS6/Qz*sԡ#W˫=l~u/v ܖt}|Jn)uZ(R>'lK V]aI+x"Lz/1h~ ol_q rj44YE[Qߖ?3xvQEAH( `~=(m@>ّj6.J -.5}֒tf:n~$+Ȍe/Ȣż.eF>Nt$E|o4;!x !W}bxb앻,ùXRCh'084qۣQnQǖ@ wwk"\;5ŹCeh-$<|GTo+zw)K#K`~3ufFl(1 <k{_h/ 30خxツyWc}f:}YLo=n.?!="W"8?;4yYx8/Gg_٤Dl_ʘ.ˀjk^aO/::3B4r@0Rm}-Om` H]{s5+Pmw,M һ(Mxh:,v#r>NPn_zEd .`;ҬucKw;r?T:0lFRMASMXA*iM;%g7ٶG^ߛqj:]-)V:Py,AfJF/QM g~n,Rgotp<49Ƞ' Ŗ}=tZ8ta146C d9d|% ZG^I C[]\<^#nO&#8iׂ"q֥o[ブ J=o3у9XqT#1a5I:gb(f.~83C̒@N5{,ՅG}SϫTg>o7QTmRkALnG_C?XN{9%RJ!Db!TCTx Ў T'[`|J{CH}? Ƿ>ДM %({|cÅC~5Y{%@;HA>@:"tX2"#C0DCB8:ObK'wdR)?hP- pD?L;eXzaiAL{Hu{ZOnc@x :__Yi!xd/D.tAIW`@Đ~PʡEHġ_RPIsX?QG'u1?/m{! 2_;a4o[!8Otk9"F1D~1hm1bJ*QX[ ?(4|Yax/|J?w_eXu6h̛_c﹉䇟fmiNa{b-G% C>)dxm: picAY@AsDqsNpС=?up!8甃Hs oQGD@I>r_Ϸw9 v?i?iE|-<0E|x_w$^-"1E9H=iyrzHɤZi8%J}H%J5*A*T=c}ycB(?Wh g/2}d/h@9}}qײ5dr W~#u}v HIaQ>^9`|=24 ÔU?#kno/ 3qrd^@$rNK<j)҈;gƫ($&dC?uV@z2Hi?\0.5 j"'y@-P>D@Onzv\rm]7n\x~l`;,F2-\7Epa A~5@-ÄagYzA_l"@{$d/<-2B782Q__{@a~5]ZPXfL"vwԈoݟ.靛9M#>wғՃoPߵsERͨzަQ~RC= VQ(/bIB /I8Ip8|EfI7_7B7d%$*|,W" aːm} U"Z)x3a^?8^ϡU#Kv1F(T89gk ̈봁~!=t" ,`iqu0YC:r[`SqԢ]qasЅ9׃Yy2|7AW ~b#uu /H]<{3ǀ]fn DQ7t@jWZcgS돫¼VKFІ}g=|I!ky]pCF'&C¹KKJTԩ8bؓ^0+^;UfiӋp)A,Ce6ACyKwWhp O.QЉiKpB1D쀲zL}={u4@~_^:pr s lTT=ГvG.`M@yCKu}OpՀ@?iK&-}mKq,*9s„_ 婩K;כfMûY>/re"h$~! B*Mq4}ely__̪e%v=*nu ud[ׯ4Hj}p}PUG؁@roN{p~B[I(Dwz@AGXuydrGJ2Veks{HWNq#c>W|ݽ ϖ%Mۻ ȇ.~jJnVFڎX@mmZK.?Vvg>޳3D7*wX  B *c *:> LO8/y !X\N̿W106'JQmhp˟CyBPbZq9`anQ;@OT iLVRiQɰT|: (S^ 6!UeCn>8s7qGZmmC`A{YO}}LtPǿȷ VLhH ƈ ~OjmD `D:zi4>Gˠl@HǺ}in&l!Kw~լJSZ$xp,/tfl+㏈ 6tUP&u Tk b_cǩϵq2 89p PjyoI+PBȠ]!08Zcqua*2(E g&u;0H`&zmc,+>Xz+9 g.19DjpD页p-;h5* CW='V\ ,6mb!Kњ_avh+ף#=c׶sˈ%PPUodӎE!qrK>իQI]T;hwxP_^#'sUc!~]YN֩]^;i^/}[u!}v<ߥ*9h>T`jZwJ$Ld !6$EWN ;!ɼ0V!/OZ X&C^BX1 ,@OfIR$ݺa:eiId約Eܵ Xyّ E*P[AD #oe_crDUM>J`zY9!!ib-Yg(i5N=ۖfy8gZ?Ȓ\oשSJ tB5w~Mt]rxE%Q)1ܲ8| <;ם7,?zL{B=``n߫mRoY BH.?XsCxuKO.:JC!!#:)((aSok #dѠ#s?D*SéΒ訣X5"9ɁTa*.>ꬨND( >%g9HځPrmh]$@?g9=Zc[TxMD> 6J|a=]zFliV`?S ǥ~CR'̦%^CiZ>bXW;w*4GdQ6A]>\.N-Zp@$%X(Db4UUbQ`49|C?o>SL2Ny. KA 0 |5/fhH22<34i c%%AB^@"t%A~8y:Qwֻ*o⚟j0?O%dp$sfK[yTS$qs*E 4Ð| TGwR0;oT!QȞ!X猦OP|Kkz "&G^ 5s x*.+I h}GEG5.7P6DGPvǞ[Դ9ՇҴDQSg=C$/cnBQ{(>ϺPS֋[Yh8*V>Fayw4CKvK]3H9^mƬX8:+. NT;Aj4\dfURp'pŌZX4[9=/m+ xtkl)guq_1AUIkiY}Y>>=ЮJUzlQ &%Žimވ6,}X`[Zl* z^!ux $!N<0{EDǛ= hEo5[ny;sR;X q//X 8vc.o9!Ðodx<=SxfW|N@fj}=ꫀ{>wBE"RVu$n8 D%`"&A^ø(q9mHEOE|L."GE)FduݩSZ)Ex!pNUxXs"$Ob6Ω/E>,^;̮&i. i+ ԓ+L3ǃxF34oS6a\ПAlnY`0|z.(`Z+uZMZ)tdx#|9)~:v&j{٢=8z|hrt ZίDJes31}93{>7c*V.GG,B;rE8 Ecp+ڱ,0ifmXuoΖ9|bMе1`_S,fҔЦIkapzY-_i A-N-/a~PZds^5Z-Uz0ƔgՓ}oenun})* `g(Hɋ;,TGע{Di"Ï0!ވ# ~Nl) TZp4Do ' DAuz n-&Kg.n.^1jW%.:oVwA."]*gmY=yyXɶH~SxkUH?{$ L߫,#_+0x^rܣBvAC'W -{;~L?T[@?QG 1WθӉ B\2d5_^`:g_r5vN?zC,:CtV[ mn~G(} ֩cHO~zgd}xߣ -p7 GcnB=G?|BI!-@`|˰莀X\.b|{ǂ>ӱϨzגD&ITvo835X5gQgBc}mdc90ߟzyy~_;/<xW]\O?GKFyʎ @T>z]xb9 5Eo}'7]Q7s߯\Ik:}eƴuζ'fnP%p*]ۢeI!)~'H* ;Ԧ~9vc w:NN吙w8̐XNݗxS+rޱrU )(^U)KemdMӎ;=)rV{vvLQ;WHGTn6P-!n'X$Ko8Q؟SBpK)r0858hF(H^nX,HF{+q(wm7= \l21f[ҌX@l~;sn4fO} =T H|]{5#Mf%ۖ ;%HQIsQp5̽/㎃-@U B# 6~oD!E %$[R* A*JUR ha?pـ%I}lg7&ӿDVZ#c&&K)A)m+qu됙jVc29.@mڪD"v䐤ҁ?6f1:,Z x]`mڠ1&b+ <.`A1b 0M1R2l+m&q5Z#KC ȉ .+m 7Wt˚6@yU: 7-QJKAg^WdB)7v1nҟ|@$gWTWJƅT r!NSXDICro<Λǫ$#gxӿ;.a&gHDs~SfCΤ |6U%+BgQ|J=t(@Q*$\$E*(/p^-)3rx4S2D2^]kg4ʅCAݯGwI2w~wR!B!99N;ffjg :HB=~9eڛe씅ti:YБlt:l`-Q.s˷x׌̦3o4b]Feorw.%힇{{Ȅ|6Op5jZz>*wos|u}zo:M c/vNO&0% vT3|?KO0oAS %˯po/h5*6\ĘVvmփc `׏H5; XjX퐌*9ٟz14pcn%"@}#u^##$ W{ ?|EA^dxӗiGhnkoҞqpC G>O83Sthp'o?PDܤӆ =XV%pBob{Z|*E`n+ӛYSǶ{ ?:,,Ho5WjI9>'3yO4'A韴_x;XYQ!G*y ̾zPmeC_?G?KN&YʻA:MZ:Szs!U % DE3M UV78]"!Dܯglhu@fM 5ͷ Ap018l%$ ğ9';Ik:2#_l/œ'#;C3"W`s\-{(| CNfJaщm#^x]IQx8nb4߰\1bJKpڲHls{ uʀ)0Q>oIx;Wꂖb xD`R b,(rPu#=$4_ EzaRiw1{/E ⛞3e?cjt r!)؁E$6S%N7O*|×hr{,1ā ;*/ ϛe]*c5d`Uj IEEACIT @PRD,%CHK)E J~(ZU!S`i# PvRD5 M$$QEw!Ttʚ }kfCYnZ,w>.0.9xF1VEu~L|\(U .E{-U" VZ%.? ?^a~m؄)zs<+o=uhY<(B|tJ6`\l?Dۉ z+k~><;7}s/s~&jsF1hSZ<wpRt>o֍ & oh;Leq~f@YT x_~v=HØ#%ѳ3 'n-6LN)/mmd D 6!:?&!{7zj.8+bX,zOQw#aHu0󷓜XgtA>kRLӼWfϿk9::iyqחsc\}8.~J 6n A?9Z8@,ɒSN-|]?7<|I xxrl) K;mW߈Úow<:OdZ-C*MDz4.xP2 Ձr]r(s7MuČ0_jړwE>YH")#9xD?!/#Zqُ hG-}l0 > &+ůy Փ,)OeȊt8~ Q"w>=}?.u{JHD#Iy >ah )`0 vհяE4-[^POi$=̞_!*ѿ?љ)H?i$ϥ `\2p"ziqմ0B݌<bh_+0caN&읢-' 'YtQ,!FFdU ei##+pX;ZBh8ys럢ir= .- [+qh\(d{JaleDw%+e K$1:Md;)eu'|dz޶"%OR@:2u 8t @?5/ *>(>e_QoOՙo+^sl$lg$ANMcx$0_c9}7 CLD_[oS+ !ND(T0'mPoY}dqҝa6 Yuٶ{:}/>0k{j"!AX( hQE_ 2 ίe1kM_Β;q5!xqpku{oN*>#jVn <-`OZ$dAvi!raE.T  :pd=p;8~ѣ<ќx&U>EB/ءG9–` fJls CUU4Ai )0I+/Zl4~p!CR% xWz 5 rt:)oT;`lPv~L55;8{s,i=QyɅY/Fx_X $x}h%{G!}'S&Xg9H=6 +vGv%U&i[=V=b 駯C4KZ nzPE&vyf%~O1~/ε/]KG}̧0#!I( RێX鿟y;~#isν՞( .|vΨC1)@>g87|:=t,1k7n -:oG ݽ}@O_=5>LOH?wC~_][{;6VVWD>*/Wm=I !gڟYyHQs4^ ]WO<@Q }n'P`b>$Kxs5Wߝc)u L60.8 )Th{a}{&oP +?=cbl& u#'9Sb.A+ R6[#>.cKnk :.l\AOO|}l뀟QU"P=/#kel9m?uׁsl}l -ε󈺫MUt̤{TCv8Z>01-ǹ010F, %07Qd'|.@ʚ7nй[/v',;}! ug \ή5׿Q .=kݮl{r\x4)S+[:O!WMOSfREFAY#8Dҟ/NN_ `B!K (D]n.|] [r [7U@)w2AӭC!`,pQ%U1rҗK(ꥃ^a<@t r"fGT AqiSDwi,Xj(%}/@N4wA1;c~wqjւd4d0! &"[޳-&UbzᩏX~f t |FJ=X7CYqtS])KF,h4^Bˢic)qֲb"L]J~j0z!֔33w} 3aʒF9~?U mܣ}ﲩ}cqVy;@Iy0 })Gd+~}|G@@X%5t{r͇NL^/gQyqX'+F4 F@Um ʐ(T\,>%OT%o[8pB1Z`Qj>JbE LX !td! 5=Ԛvd߱Xϔ4tg01̹o | p_ șVo)8AoU5lY+>3 CeG :`ZH:q"azWgXrcb[H|[Ŭ&M磶mwҦf61{IMZӽW=gLÇJ/WX㚓־9٬EP^lBEݦ'M4p@CLxs,1j) ;+9*l^'6EZ,mhAfzο`=?>P=P`19U.u/or x0u6\,Pp|ߌu BKg~@f({sM:֢ǩSL[>GNF*E{>L- :zF99L9 )f3K&E}cQ$ C^ńTG0X3Nm? I^QeCED, X BOJ%`G Fo3]m? [noXĂ{FcPD{jL)!GBe)EDyt0ۀ }zڱ]P_MfkŽCHyВ]=ˍv *{cfMJ;JT]1IMMz͵y|.u9l`ֶ\(8>Ke.jrߛ8ĆW Zӝ 3WxqPk?L_rIW]YAl廠`bH%Ze!*Fd抻 \t˦+,!*W{:2skEߥXL Z<x1FOX~l&#>U}b>io%? fSɊI9P:M+ 鱭h+Kv6/P T]O˟[*0*_ q m{<ݷp#ѐ|T?IN/eH=@]kR(Wz7@s}>DAn|.`'Ԩcj5-~m2#ݤ6L `1+1V¬_ [2~ܱQf[ܮ^~6 VɆeeE&بF%/Grt W(Yz@M =6`j\X~]/Ken?+I6Hd0XOS9`;NA' E;;9+.Q!Yx d~c..Zl&a#|\}ոA9#}__/d#d;ȷƄ.2NG5V y,*DAo娺ORǖ? ,ӆdfxӧ+O rʏtfyLSM)Uծ,zHg8zjw!v[s][aC y3;ᛍ79$u?(;Bf%#.J's4m>4CzDGf~VN.~6 }-aév5r;OM NVxGƁwx7Qp d팴ykcÓǸ5lJT{WfSvJ#/]m{Q97{vOWV:M}lCOH" oʝ].U.쵑azӤ!>ў ovS loMK7'OںRo I8һ ;]|ɯzp(!5KI \t11 es|otn~'04|z&@ESqZ ZQ#zLA:9!]:Vu(-s _d,њr[ǯ~1H2Q6',q<02):[Z2}f _5:z6 O_R6^7Dqm>._&st5 Ժi)xtF;oZu6tD;&%Hw*ۿhW:Tzowc}8x9z{;agZ$~weY❮/\uǼ=_bٮtl^)6CNADݥh{27QosȜ0m{m"X)y@W!rr=. e+J l@+Lg6#VcW4Q;a8^8ͤ]ZꚄ4#.?]0Km9/]Ew8_ӼS͒1&}GNn|H@G#)x(XTm#B= |BɮiC5)ip84 /7(m59h+a^ EX30׾ddbc6QR6{ʚ!Qє\u3-ل6tx>`B85{Ej ;w=me }3m[`CÖfgfe獣]iP!C.1*v7+9G|C4zs>+Lx40/oTR%"44dLxcWRVgsZշ2ؚS* M(;Y/s;7wf0k/4Z@V6]oKtZC+&^?0^QKR">ZVP3~lYP~Vu鿟7pͬlnׇg[5OoO&Cuļ2d)g9D. [gꂭy5}RJ19վ̞hquMP\b'vs2T4Ӿݶ6OR_iKpv{Kv }rd_"1(ڲc੘L5y!:?+Ojc`Ax;/w[۷\8J]QZ1(,x&_T 㭔("w(fq=F:p#)R6BKɒ9uI}c^($׭yvXVB.$&R]ujQoGL)s G)vm9əW4ꮅXExغm{90 #ټӡ (S?1+ApI#}WoeɸYu( tq?Fn8ڎϝZYQUcjmyYd"1+bkÈ[dmC!C셎դeB .= >\2o7F`wQC3hi2=d|:i(!IZ>)e};`rڞ5 5I_\ D Ah#o[?12}תOƗ}%肪Q=.`>fȏIn}H}}6dv]+ڍgA s޷KeW\xgsQVyA胋 Lب=^mq=֩P7f,T|e6o||}8„Wvlj$q[~+c.T8~>h+*§=P$e̍8[Cs xڻeT):wd["> &1*mhps 6QN0wDAE')5 `<y$Q\SPhsle7a]j&A-/vջ5ͣjl yuB*|UR] 7pȤ{>/T0H"KQ=T^({nQUrDTvd/Q/zyqXɽ56SmHqG1y7qMØx(z6~PkK)5{1<4ޠ=c`߄ؾ$ (oE| 9??wxt(W0(j2-j_jxٯT59Y~}Zf_H|#1n]FѰؕWKWEa\9RwI Ӫ=!K35-ny9S !{;WLS\:2V̕EQh ۅ 63b_U3Ϥ8㩆>DN{ HI}ί f2Y6R:@ q"=gT8"rQƔE>蹥zm~ 'F'lP=SJyiUC 80AQgv.7YNよKJ2۔(b5߅F۟EXop;)h#R{@a`K_8^nq=ᷗo^l _ITmW~ށ먳:ȈҔp(pz HgN~ ]Ơcw@Q!F<8ⴲ|m C 'uJ.Iv=+}^in>=:?n=%^!%1BzGU sJ/K`PG)a>uE6{u_.^(" &dSC?m$C`>FppEL. rˍ }h]A}+gBǩ3m6}2Z2ڨ%C9p[[%֢6(K㗮P@"߻?IZYfAU^АJԡ[v>`M7&:7{L|1,'& o@Ȁ!*pgۍKFsnDM#hu`=;R>˓S&qjuBža$ϮyrK%{hn@}n| ?T|t^.?Ax#3 oSV?'|m R,LC̒LE D,J EB31"A1fG,?tB$g 0IJȥ*^qe/*+FB_918B}ІdKIDF/Dg4QDA6&&((1sWAQ0]w- tm=J9wu<.=JP@) j4_=2?f" =%{Ln܁9 ̇ %]u=Hq|pU+:$"  (kOZ1͓EGR5]N\4(ZWKdccR-CCCc<f I8j,G9z*T%ʧ'@ %wr95^+pq՝[UMR7v9* b6rl(޵+pwRv)RO>h#cZʵOk,0$hƸњfXH h \Zm\= h7Y+FaG\1SUp"mI&05չ5 fnnz2x ՉjD Ô*ȌP#h=.4[Zku0y1{њ[=,DQKAQ,KQUDACM\~r\71,a)ߤhRI ѳ#ǜl}`rttSuJ 5 t B֒w4@mLVPM69zn $ b a]D3 D G #4>&Y"ıWdu! DhJL 8>4*B0Vna2GHf(A1gG}~BfY C2w &TJ_&ypCqV44B !8IpS;X'ayFX䇉Oi==,8=n.\pe!NvjE)}+|oXA>ۗ'YNϟ\T*y>*xB]Q@S|v M 'W fX˪?zC ='9P ,! @LR  ŕJ9hLABP*G6S?2!?ي{4ǧq6  c桼}>e0k|nE1_v_ϳZ6-g_X?]]#5l[抒'-pn&YmSi48A(o:y#QY$Luٮ7`gMqӤaRQ'1 OL$ZO?_?"1D\csT]78RWHq ީo89@I{+r 2.ˑHEY+?6uv4[r L2 O XI " mZRX!Ё "fFXN`:w$Rn5;mXR4Fb/e{70 CU̥PH$ RI =OcEҋwr@$=w|@DT=C؞>,@]Z+*s#tOGԞvKشͻ+?9ƅ8݆9v0W_`ZPo U<B!1aS+?fǫ,CI|-ߨkEFO'щ>98t Bs_l!68p;o4WS1AڔPbl@Cd?~"_W,53SU't<8)>"Ge9$C/j8'*THl0LݟP*3D>@_kOT Qv0?/L|菁|G]x1!jbQxb;gr}G(FqK3VǦ5zlb\/SK.Vi -` ,Deڰ8.(%ZM[ؑwIǷ5lMǁUh.G`,NPdpfG[!`텋B~q|=v0 :R!jo߭}O_CBLCO#!ȡ.dÈp@fy#@(@sd ` ( ) J$"y=E14^ps2dal(/}ķoˮΡץ2ӭ!@!i`ncDU!`b,d=ߕ0~MC PZRǍۉ…۾V^:٪)IJ`'@KEG#G0@b2H||";BJń%B<%x H/`KwtZG+)P?![uhX˞!O=Đ}0b: D9J@s}"N!E!>8OY ~  hBFA@/wvu(~rcҖ!ICNRE Q P2/7k}ZʤU"L04h=EF 4T=dc&18_Of^I*,L*6:Z˛YS("2 ǡ_22/9WYK VCi9{N|)TWgEe;{D`N*e#6A7!ɖA8ow_YI$toնdŌQ⩁?U}B>h,+)?LD|qA;:P \HVyx!8K QER#s}à*TBU7HB &vvo'0 ;rCIQpT>xb3骅F j:paXqq HWgb `_ÞND3 ֪z9YqzȰDLk7F߷ V2-{v3^u"Hh~\~fNa{`iD2 Go&W爿4D!@':sŏd&j a#s ,;\ :CN( ?sT|Oe?.fK O/ /Ox2G}W--&U>l,n2 @W!"(`EXP7cS 3Yś`;ɍ'Knv!Ӹ }jqѡ65`*ݟZClSX9z X&HZES/t%NiDT4D:1-H(&1 n g@ch=c*:F \,Een.(:}mR@Nq܀^S!8ghaD)9 ah6eaU80PkSPz6Pu_$ |.q씗AdHj!(:<{ ǧXBT°,KZ*Y@|fMǵCQ"*P9"ήD<!;7Jb:c+cE!1B_@;0\$"4!0[3uU n΁ %QHy4k& )zL\,F sza<%1˄*<! Q~>n "v0M]`h0pI$Hj01ջ;#Xj/ {>3C:VH?rd;oh/@r R0UG:>=yĴ+Gmn(tQ>/c !@:> 8t@3ݸyj!~x+sq˜/v?UrH !GenF9(u@' DO[ộǧ6 n%ƻi^"lqW)b$mq@0,%#ilxcuq|%˷0=@ ̷hvBzJ* mҜLZ^Jͩ:)4eBP (iM1zT)]].$:c~8K Ғ,-!%TӐu0=O黎}Oy*h #^Pf[lk4+f K7'8.4C61{5TJJ )j?OFA1OR`T2fGly*hGSv7lT뷦 삁"Di" Cw2HКA4@W0-XP3hz;TM!$R 7 uw!&K 0]y@DD"I S R# h7&`M^l\~c {NǀM'fsh`"s23^Ҩ@3ބr H(̪vMsN@ )Jb߈;s <{ISpAO3"| 耀eRBPU?=ֽ=ߞ5EXE2>ҿs :R++h'x8sϗ(~KC^vs#=$f `ࣘ n+ՐnE@+BrJQBl(Ew9 8|"wBG ܃|4uե(-U )Im?i[iK#d@(6i: 5:̾TFM1 Oc\=OO!耵[icQ0#a׾ mcBu"JBQ ӑHPwxSb-y*q`UPR)Sx{JNsmTF^y j4v`@őB6$&i@AX//{#V7(B`Dz+{H 7,f)# w dO[}` Ge/8ڇ+~ߎM'y *<7l@>h Q UE I?WrrNXf }HoG3Z>mxT B U4 ڡ=7TNXNmG<ͶfjZyh68uķ ZqP"y ^@wHcP)_;hpFJU@A`n1r$#)?bա2^=>Cbޘg_R_BZ?!(lXPX:BtL"nRtJsSD=B49]Ce(q.`S#CM c=]&_Pn"хBNJcUhR"H>9:@T$ TDA@R{9fn iSM!H$LPgD|} ݮxULD21 !؄) $Rr)m'9#?!(&v 2!g`)>K{ ZҰkeABX#CUI@MXja r < H@! HpUJ%O$}$HTрGA/2{SޡOU漉R\bD$CבЀTZ/ gG sRm('GDLrd `:PY (YP A6*QL767`%h5"DB'Ā Qs`_~(uz(QZ:0x#ݮԣK"p w  Bx Lk=&N f.bٰzqTx!̯@!tEȱTN쁵B]CS[]"`+$LLʠ?-׿A%Sx_|' $'Q hhrRX!yQ̷yG8&HfasRʪHi"BN(]2A?<nQY tΖV{ 1x(|nCB͔89+v6֑ ׻tw+hTbsf6U?sJ e7*h/8A3xD,EʒL\6K@̂F b*t8@wβZĦ:;U%U-PvC\ڛXC*L P3z9%^{4Pٔ_i1\$#U1[:3sӾd<>NHQ EFg(.QL( 4̪`! By@DI!!WaJ+YX(Qm3_MY\r6ty J mQgrC<˿&VB@Li@9Z Pػ BK(qLs_P(;mUX6r ;;g sV|.PĽ_͔qBpy dM!`t;d3ȹBuPw#8*5;\ DiOn^;|uLC[2 :YH>9xDET1%D{pL/fJ;SQ lEԾBi,JrG31]Db"+6'fyުps9a/; i!UJ^8 0Djhi`cHu-PyN8#`(h*]©=Q2C*xs@{ Es T`ơݿTUT=N`!؃ 7gQh)"Wpbll!F<8oocR bHQfA'c](4UUUW!ڣCED)c֯r]RcE)eSsE@#s4._qs|0Gaw*46vX咆'%,֝H#ޗIsMҊ5'GkZ0@@.wHrWkX9wt3=}0m뫟Grwc"alK {ΊA +J3ș50Kl+.O.]0 Ynߥ`(ѢGKKQdn4!8f VN劦. 1A@)Tp+k*Ol(x X^)<3XW ks! tۊu)z4$cCs$=5+|"_e>1i!{`;BЙ&ky0RLXp=۞ǨbA,TDGk}/xxseȰJ6ʽ:C1<ޞ5R4 Cn>ݐf}!͊ Y{jhPj0 p@/X$6)uG*f+9 !LoW 瞘lR4&̬N MG3a'@4!OՏXJ4RP^  lWt5<88Uzu1c{ArMiu)u"SpKbHIu"X Fљff1Q2̌wkQ"R(72n(a~V9Gu C5fw;aLa9c,cVDBzVct/5T]U&$O7cW0=}2/)K3]&9gSXLK:nr::PŨH,K1+oswmJD&`j T7VdScÇކB!&".mG4_. q|N`lt52Y<Ó)N%"#hWk{C{ (!%P2Vu SyK&:#xI $&VJt:WO߼(|E[ix (^C!5sD\o4u$iE~c c=! e|]*$y:oqCCtPJh|y#d iCAxz)BgRz #v'\ã{5bI Ci <{1=K񞯁g¨QTUڛ<ORUPmoy *৯ziD6ܩXAD=@l* yP8@`CEPT$p *~8Jf}"HrY"&CwNjPHxXmMyyS<dM0pҝxN6 L`9pޠws<`[ P|/9"n+׹N!] 6>QMU #{uTL8CYU. ՆpА3r\L@ <"a/;߫wMWSwWD&{sAv!D[|Ư a拥ƫ%CJktۥݡkVcK+x C%SDE# *[D I _`A0٨/ZYHN$ TvҔQ`Oԉώ߷>~Bn`S B AP:5Ƶfrj*(8($@XJ^_EM~4'K-# [4z35 Ď٘'9at+W\w %ޓ0˞Ey6NgR&ygQKAlѐB~bU4?DHK>{X2dʜ>}dǟ# x[E*qADL Ru@$L'?a;G?qʟy5;w~<\z= 0$oimgL\Q> ex1lJ5]ܻ ɮ4յryٜ#>%%[ 8"S)k_0)_Gy<hˮwN En|y界?kVz W g.0i9?GH":BQEF1(O7;4>ķ6~`+N5fk / w YXd3N}~ ? `"?_]A!aXDE=U"#9I xH;^DοrDB8U(,wNwHFHN{bm!|7xwٓF'uT"DCjrG:?וiFˋRCza}"q|^n6y^W|Q4ƚ׸Jc,]MwׁGo]'> Wd4sJرz8qP 'raժ`b<:eʮ/XBɍ'QBR_ S@s.|u|zwjInu^]`,Q,Vd:n+.ٱx[aL >@?͓˪6q-պ"jt:)R{`_=}(gp菠5x#Gz=R!u/ERa:1rk#/å'z#kIVTJdOϮ,*ԀtH?Qoy [3e I!?vuTo= 5FpzgI4X|צIYŢ]r9.gHmĦ_M.klS0 nj7k2$?]3?@Of(NVu'|r5t}U&j*G&)}Pp+ ցP^üJ@9cI1)hdP@@#A%g FENbs*3WvD0rC8nܛ?1PӸHHնf-l74;#+)\3 iCMca G uq*h<[Y*FCB0=&9BgݤN!,}nIcF=/v0ȥlv1V}uW_E Tt547[aNr.[mXڢ>CGD  ģrB=A<]|n9>tr68,16A-Y,VbύkHUg@(a./<,0DS dD'Me!} Lȸ`uGaFL9*(kӚUsOqOmTlM e \׷~9V8I..CP3+L;ff2Q b 3MDT6j#D t8Lq..;Ni33jw%nrGCˊާ߶rx{M+ [ܓ9 M tLwwTR rXUYtD@F3bz>o~zB&&Ԝ^Nm+whCarH2 B\e|-z;mTQ%R^aLExf`'|:kIwےydb;'8 gZ堥wdw)$izjBɫ$g7 PA_죃"woRaApwqPL#! xBCz@G-q:+ hmnN5*n"p)QTEW>3MJ:q645aGO!T(kvf' O4 s0푛DT9X_qs'L%c E|KHP?Ɗ(0 ;s,A[2qD]0~.p AC: D==N=`Yjy|OQ LTm eŊ'brsNPrCC-1xﺝ$QB<|Y&׏xlCIA' E<#DCA'q .qy,G w y1/ oMnI5.a.4Th16vLi!]]MG:{~Dgrj,9^<>{ؘ` ը\ӴX^͒y |8pۧCC[I 3v (+@:t ꃫ⨅ILl=ώa5Y&! %i![E<^!daDtBB^H;2=yj4lp{PVN!+օ˦ʹ`w?Џh8sIKls,҂]Ӗ<Og KX,A xӍM*U|tL>S6`f]#QFR8U U8haQTvY"񅰃s \S0+~۪ۢ-(+,S<(ܡ@,iw\hˁ $BԻoCURpSOe;QS4D4T]v4_pXxwÓ#Xc5Wpxy^Oz$#ԫ)*}M]ቬn5‹ݜ_XC dd+\I(A $]0Ą2LZ ;!ǸÑ'3pz\)d+%o>86lx51{2ia @Ѹb&F0.@Uzzˍ#!t: )w:B[! Nu\ Bv쪳UKz;,n9Y,XxyI4EgɤU*z( rz^ENn/vP\X&2֞CFe9!@rQ3G_|cRFj%8X]=RRboGg BĖ C%s(TJk cCw\ E;:}2:Lr7ϰ{cLRD,ˢş}g2{k݂DOĽ/;i}Q= 6^gO"Mo?3 aG_@-0v(Pc4^Li"P;Js0'(4>Oף P25y"=Q~Lj,QN?=MMyoX'1v²-2ȼ/7s:: YL6G6'EJ`.: OOa:i;`rj-d|ǤiNMXp 4b,_ZS^o<2Q.rq2~/BJJ*Paҷc0ŰO0'CIl1 !о*j*k{09D'>#;d C~nD`eH8DOGJ/Ͱs@D/Ù1|H= {ϾPe0+^iK)v [25]>J쪠}8و᱃1$&H$'"3%#w =ƏMώ+3DS`Krӆ{*+=wiFOXmT6BH-_Lgmәj`Bm>Nئܷvi/Rtݓ6E-e 2w5(V0 =nȅ½hj_pڭI.АQץ>>6ܐmdiW,RVď_˝8O6463pq;򳿌&kf kɷb (nh6-\) VYrf{3ML eZfi!c٤mIr"PV^&0b25$X37DHyL<.L\=e7pB[-ށ4{d;CN' f1t;2aëT; ED~P`{J']D]?/0M}gM}k !B  )HN#.:0e{u{'o}!+Lmʚ_Ig+i0fbbmHs(+PX ”% q'=ڼ2!X4/8Ļi[#wY`unl0p|-yHP."# vl:^ǩ26#jBWVqg41 A6YHkGb@3x0IHdx'o9gfe** c 08x@ncv!RJP  w3Ő><uSY'F5pNa`ۀ~\{uKcY_0d DdqDXDCg:`6'Q TtV@#ƌq@n{ @<3$EK녓>ILnI2ȥ^3|!h!AwN(/}w{asʩ*y6&n _6&'gE?َ&!m_j &JdvQD@ <Ƽ94 TV.rO:yRyA8p9*bf(!s)Hw P&ux'ЊÅ}|7$ *q_PmdװQ ޒΘEѭ4[=Gb RHbX'kR!=Fۗ E&B@@t)1J]"qt]y2=!ATL;LG= SBq*~<FYr !$ξC^eJ(G ib&Ǔq/N\hLj}X-'΅f/ʲ}Moh0$ I B$[&5&CozkliywA?z> bԇQl4D@,%4$S }?yѰ*Ͻ5bY.e*,AgS@n;ę`pQG8X.Ŀi<<檍5X\cCy`'8Ũâ~g1[Cy;x4b ;L ױ&x](n,Pz*} $UFT4"V!((C$~L-Fl{M!Y NSG$H (CB B%]aby}0<?W}TR@~}gRRL${oH){iȦQPj,v[H"Qۉ p4p$7eNh34JHH'kf `18RSD`Tbfbm*fkU,[0lRdE)&1.#lhȫβ-Tic&!'8knL+T3e ;܃J FK`7X2 U YpvfՕw yrtS $'FRC50CSflK#b[P[ xL,iXy!&@P!jv`ŐBIk. !;^{ﳈh$1Q,u|v $Q;7JHNz`(ie9nv8 B0m`CI=NR]!g'd!gLǻ;uVGdQKf6ؗb$EɢGֿf\S*(>sHhJs:z9'F ^ٳ e̴ÄEY:/Tz'3Iixk*8~X e^JyD-E_tnΎ Qfcm[řC :UۉHպc&_(RIp#X>uL@(#S!~ҫ:|O(=fKEB$5}{61v> E6hƿN$'8:_?}~{籂+sVKVvnI Xa^6iJ5b ŪJe{?m~1$f6b 32mml<̅P5Mp4%w[$ ηO'bb c~y;6^8jTASsotsiܫγ3o)h & /?N"('!9* v{e_ 6yaIfz C\oRnr.@6_jHyEm$a(-ũIGcE `D4HS3XXŸ>vA>nxP CH,/S69/`|nSЕtBP\> Dayq"N3^9S|z~2!T@R i. #Vʦ I]N ySۏ4kuu*4Y֎ Ť#;2*p6^X{Gc gLvI3]DD;6w>ag . 'U"@} T!_$i"H&jb:eb)R"&BDC& L]a /`'= }R91/L{&B 2OJ dux?מd)*EJ*!()1:FVTm,F>9T)r)"c]E"D1j颗&D4Ҕ4TUBPVOXJ!ZJ^@xSyc鑌>?>m|{ d ַ$I[I%R͉^ u8ms+Y%5P&o,[p󚘳)ԁ( ժ+,{Q+)Uʂ#ABzJ @# Z"z"$He6@9cU8nm΅>OĽCٓ~owo,|Ҏ$kF;ARz2^ kL7c@L̉yotu؉' ko߳ >nAdƲ KonV~sWeWϟc)mpߟ5,sI hpd>"]C؆ !$qw6H 2M1 @A3mV@{z$B);" =L!E~iIT ѡ 3fQ׮tt梍3SDAc>AۤOB9}0UqH!IB~J|<= B >NΎ)Baheԇ*}'{||l!PP^ Dcss] H#; -V1eb5k)♌~B(\ e`;1I, BDĎH[scaMXWU.)"MUhIa76uyp^k7K]]6-FWW]0ab b3H>M݅RToBE"v!v>CK 4Hz@lr:u\v>=3s()1+C"cK":6]Wp\reVÍQЇ~3@-x{okѴKʃ:X핢3Q4, !QRZhkj31 \&6p`0b(x supiJaKBFOjfVڜbq'T`Qh$CUDczDW\(CHGvAyn4͊Z(R(qK?mj5EMTTEMPh"}LPSaA_T;~w(&,nB #Rݪf؄@]sr 枿]<)TW)#ȆJV;Cfod;Q$@( dp>"@,G(&鵤"F>D[hA@J XT(L@"0R4'c^#"i\!Ûr(M?`3DsTpzsL 37,E(ј0%AFp0@T1"qai^?HċLĐ$t|c0Vb}H{cN!,|YN خ!'j(oQ h3^sAE|Y0=R^;4A~s[,N/)sduv`DD}ZsMdx}쫃9%4tI'? b+ t;BJŨs9ƻOS~t A^3VQqvP0(x0ao]bő&hiHtA/PA뛉Sbv?3?l+ZīqWkZkx`0y8),qvi,ZE6T5'O A\MI=|7n4館CJ`@ VP‚93"|mH%SB 'TZU@ X#q40 ,|4̓%9/(HU)WnsK˗'@ApY%t@N-ѝD;9tNX1E,K|3>AeklJ>fd*a,U2].,`K@:SʼUU6kC'/֥Yi|4q7b~ *8:,Ʀ*&J I -$5Zt%"KgE %CN$1lbUeR%A đ .#@UPdl1,Bγ1$SE),A Drr>rGU6i;ӮXɊ+42W1M@u*zHu!NJc@}NlDߤFڎ4GZ+]N!|ёe &ۧ ["s0&]_;TRQp`e,:B%;EH&u]|䐁ߏ@֒J`l, tS:Ih!C)<"L䖟L xN¦w5̨pm L!O|Ă;9З *(y1)N W7`DFfS%P.ˠnz4gKX c6J@HRѳbt"HR|ƦRzҝ;b()-i4X 'ȁ`:Jƾm'{.("*k5&9y\$OY~lUH*\by*QE sV2C "# c}&))*7B?O3/0$ |?}l<|ֱr;RCzم3bhM~m^wl%UF#(/*$G܂_8m*|ҜZnCWXM)@z!qRR^k"|2ŖF-?+'ػp67{H\L.|ugjϬ!Tȝ oSqTDݚ:$23;S"`'yOo TM8qO8*'<865K\=bkLaʲK#v9b(lY MLƸO4DTDQB#H AAC B HsaJ "!Z*BfjJ$U %@}{]UgP:HP%$s'GzDJ )IIbxAIn"y"Y#M$leI iyΧ}Ё(qLMI$w=&os+%sG93Sӧ|4* YaYX#,eRm| p7KZ;R5X8[4[\wi-:ZNx'pzng-Bі)x J()T|/|A~qe(IJ@|.d[󉛎20g[ߗ}ո~B,1tţZ*y+LQ@ՂI=^ԬZhF<.sN$A+TD( ca*Hyc69|g' ߏ1VjɬY(/OL`*] NUem ;j3l`qWꤨ8WXřEFٍ:U5\K؇8>lߋ8Not<o»JC<[=WZxkRW9p\s;54hjeGkNoc^/0CAP`:ݐ񜷲K`eǍ1ȢPT,u:CbB$\+ @pV{n郡jQ&pԂx[Q (:eԽqz~8vjTCBp?Q#vfۑڢu/`/K'Fpi2'>${0\ N pRݰZK\7]D mRvs t 1r`M/*!LHhӰb)bp!0NTɬ8hiAۜ^ ߦdvhb&KaN,6 Z vbCaC tw3"f "mqX|v&Z^ hָə\pNexrώjǛ1*ř8BuBIu-F ;"ww0\dluo˹ p3PLQn!΂ fŦ"![⊲Йwc#tsPjn%;w@Ўno>9cLwGw . o&r'LiJ06Sr:n.ynD:PVcش[31<-bgz@b̼j6ƱRCt",æRZg*TmSB\:g@I͡& L3elvL;-I]C&!Ndnik^rg9h֔1JsmJ$ϑT.؍Z̓ԌK9]3c Bn=HF"X3]O3 B%upO;x|mK" $Bc&^9 fQY)z_ J!Yd Cq67ŕ>"_ϣԝDb܂[HL=2 3N{ɾ4n/>< Y76#:(w$xIp ,L`$VhX7dġm< 7r!D|+й;:AFZ&&Dvŕ83t=Za4r&8~R ksaZ6[0eh̰t=]s jm+´8BnI;mv[%Qn<3 amþḜs![yo8u$ðwbkRWa4#yq5[ZnI1f]*D$k-0t7fKиv6oS6<<1C]. GݓcP:19T7ZpQvZ{R[9>rzqps7ΰq<wٗZz,4?Ap B~N%DbxNOc}%B!ͬHj0W@jATTDDRDUB\sKWHJCC8rD8BeOUN ?ڣ%$"HP(u9 O  r'S(zw% PXa\$$ 9d]wO%zH!btν9| L_rD FJy (x(8 M4w'Xtg $OPN@QuqCԞ/ܒLd2D $0&*x6cF|\\z(J(e1-Z7nUsKn8ǃs>=6_F_~f4}dhεrq5c505'Kjs<Y|?/N?jvץW>0b:RS76g85S m4J~Fci9CCL;mI."͛ &51pWCzy.9KW;v' ]kᅮtjxOkxKj2uò.n<I5RΞ_UcΥDq|ļB;[ɋuNL [&zx<) %5O筣MwLI} zuvNѝf/xH(|Ex睄Jl9b=]S$ 7ӈ>:Qmm= ҸjzEsQh%Ȅj $`рOz,3;o*Lz ]o+1ri!1|♖.a0kM g.@mM1z!MDqir& 85ua)@DI;M=|`{s9cnW{j.|TI#pa{gUfa]2JF[| k};wqtU$;Q`3^r'L::\ zT Nr!t'.h*# 6(JOcjBc)HhD#hb"' MO/H ]D#00S 07Ph&9'$3%=S -FpOʔRt'?Z T+H,(Q$E>,pnS>&A5sǎҕΰ=O>Ԯ;tWU@u$I$DB_-QDU׎$A69r%A/8K>' d2dS`Fo)tz"H/?'Ӻ[b]CTNPD]nqf~F%&'5kT*j %8$)j* & 1'lH"_TK;ʯZS}5¬f0bBP. xC6z}숞_kb(T+$``9$p/(0N"k9-`G.y b0$` a"\ࣷCziLri"qqxRTb#.sQ:RT]fkgoqSܙi&H&T)IdcE@V";Ŝ*"62Ʋ` ib0pxbT_Ov^J)@D/$ IA4*y CH:Aҝ]*EA !" -@+1JTu@)i<g:(/dB#}h6 )e2!ai >,?Ĕ. ApsrD sDO̬L0': AS3., ÝDE~BP4!' mM#!G!) )T#. #HD9xU|AHA$dbEa$R,58{vg(!Ce|,՞LB{xd=d p!EI62C}:7ƙBnqu}&BF>_h}}#ev:lXGdfr=̖Ѹp[2@'U]:N WÍsX vZ̫a(d5dцe;T!xUW._vs΋JC3; uCjo}j !5װuaz}Le+@8*ׅpʫND HP("Cc'x '<$k*L1EUPc߼:q=7 ױ@ R(Sinp_5TjP'7Oy߻ͿYMq V]u.qɋ0f$|H4+ñȁ{ySLb14 PTR`b($؀ܝIHh׼ʘ[+?ko:  cTS( sU>n7u2\zk|wkWdQ$I*ɂ7ð .GM<)¦ D:Q6A=bDفHpt9R $vgZf[-.k8UjE U4U$ PaB;<;x(Pyv]񫮔Fu`$lcYnf׊j8~X-b:ұD9`tJ'"ȇq":|" ڋ~~:jA.pnAs&a@?`1^FU >|劥}JU ԳFE HzCn`p5?CQ'8Sv %]${5_:&b~¦͢&-e?@!YX9*+DmF!6DS)8 4XG]d;)|~m / K#}Qtc3CT!_? `6T-_Kugg=g4Ha6j]T-4TUuZE Eȶ 2g`)@c↏X̛eƃ>'A-#)pO*-QR^֤ B" hU|1ǔE%|)yy~Zվ6y#;R2Ow#7w[*{KfK8 I*8Mk~qshP/qh?{vj0dώ2߆3C SJU N1V^WgA`ta t_s6[yRW3f/ĮՇ*{ؓk&b;37eu Ɗ{˺o4qbK90,מH`l&1 ƻyv9ls&N9)m?'-ųw내9@W>9g+/"9q˹Eڀ'y5qRZ,29=<9Bj8f0@as^+yn)JT{[Q++5뭇ɧ8ӆpF u!7*i X@a VM) ֌0Dkʜ[Zl8 4$ԓ PzL "0đP/=*BHA %h( YU_KEn3/I$&t*ZEb_ JL٭W n$H׬z*I4\Fք72"r͐'M$AǂݳؖRtW14MDwnڬa(Ua ?/_ܜ $j(HFg!t<d&qT#(YJEGk@s L,9C2!M11) a\)0h{ BqeX<%&QEԡ3LTZn&cp<GļzN % pcA$ |fdmhl# Սlb>^Q 4,! j۽+c;뻉Q6T3vupr%4A'ж*YAEF`r \&qQ^H(AJGoAFc. K'-Ci;hƿ]7L Qud"#oǩA<`"d?"6  c"PA@VzY"nM10+&PPY8r ~CIhsTiPR(A *h"TJrrFETd ̷ٙw| :$2 >_e"Z)) ()))"W2x;HO ~j(gQUSڊ30zml0mAANbi}y#IE& "@B^<"*CcR1 ò {H& a~X,#ƏGh".,%xZdUFC]#pa@4zT /˝H (cذp UQ~3= U~Zv:Y J A3TpT"|CO8 GŏP|>5hSN9("~n歾ޛ8r  ja!%䠘iP @D '8=!hzF )BkeYijHNHBu.S0eH3,R)JHŐ"mʩzDzv\\X2Qe:8sql4,LI^(ҼC#\hGd`0! ѐO{3sC(3uFq094 49q-ImVrxg|@{Kɦw'uÁԚf la Dľӣ]r#J5bm kn c l8.jM@kWCAJ2ɢ*!iNSitb Ji֌rl姆Ͷ $h &EX4IEx=ﰘ1$@!r4˯lP@0$HpZf`ayP PHm PI?F^[(6O1Ń!Am% /۴A*-s4xHt(3AĀCt( w4@/_C%F1*#-0cc~?zmP:๟sm!@0?AtR $#zFE0証84+QU&ExI 2FN)D<jS:iJ HUAq$[[yLTr:W^t1C>r!o?ّ!xqdAH,*ZG:5#AsPa=F5ˏ^5`P $;_DhPj5%M.ϲ˸ P2hZf a[F3F ¶v>* /?.0Dȿn kdR'ȇ@]LveVh$b]s`rfIR< -b/74FQs @! T åL9y$Y)j<9 9H $l5U5C|` -*IrMSx#T!Aw; 3&ؒ82j&ispJH|M'=JU^(Є^azwyΑH*<;@;CQOI7dIe5u. "Ctk2CdPn194.YIkV41L=^%01 R0+&6IvYqHRj^CZpA%!FhĿ֭jsb; b\\bz½ `&^4ƽ| xO;zC4DI4U(*&lቖ~D3BnᾐE2L"=-KPx"DrE'+o@@N(v*T]rֺDXlDMS.3'$:il -h=(;\i!sVj84&1jl&TF 퐧hEĨXm8L$4Z$K~R`!211Mwa!*d0bHf ( :?c}?Oݗ.`A1E55F3/'-Q3nϠ?I0S@2`8耢F٣UU 6sF,#\y bh2'(DF"EaX"q 1 `?|N򊡞Dڂ>?/OȒԆ >rwzxR;~ZI ,jYJ?/94L7:f~E$a9Kr͢ ^fJ~L$WUv[E6ўpFX@GƾFQmVLՁ4-x1@I1[E+@>3ci]og<'67C[,ḘPy+_SWއ|jlqf851i~0jݑa #<efUQ&A!$G DAWP /w9"=I8w99P=) ԛ RIpf2,wm5;@#USB&"<ߔ$45M5B[!ub-ȤF=/0!󒑝SI++u6Y"Ryןo7X(9́@d)(о;*wƄ#[ BD<Sj C]=<,}g=_En{b"mȆ-~2 )b@!2#s9Wb" TAa;,IBkg]6_AuR+2FD䆢h 9D%*`aN.~^ok:^vʀx"fF,`X7j#bՁhm!#QΘ; K1: ;ՍЅ@]A\UU<^OB#=Ư=y6O)DXFuPT$?Q*O=O|F? Cr;eeo|UY1K`PC H8^@#?MD~$-sV 塥6c!n5Q{٨KՌʝptIý 1#6ƍyMp8B\Nt].ջnȅZ2KsfZdb)(su .@uK))JXFW\eݤRj4ab4BeɰdQE8VEA"Mh8Mՠi%i6%w\TiuL~ U$JK@pj4!5 @]MaZʋcl4*hhJt͖(4g!hCv`*(P? ?=3|2c O@? U\DY=Fx7t 6ab]ګvSɱ@gFhQl~vi Ui،y__9ۗxEURxfjSʠfH`6 aSıLXmgn4R@&&q#vJHP&7E11OX{9cE,Ӷ]N]4؇iÃ& ;BخuL{ j"*.CD|#rL+1`:Ka$RB'9*V 2M6\xi*"ed"*鲑_^5tR(\^fE,M;]")"+TM)oUUUW-UUUTU{U"O)bSiG4)}˻D9Rc1!W @PTʇР/ W@; !G`[w5J4 Aǎq)8@lHme4Po)VPXE n+,TJ  &XĀdiwDiƥ/qJt@>Y J9 9 p76u| m1zO+F9&=j"2s2VZ,8L*̦x8LiJU4)lEs뮵 ,ALRW ׈M4>E/=$ø'QկLT |qqp"t5E&I >?@iSFFp loj C$ "BHnT}Ćd?#0| :I8|L `04]LyP"\^%?8Oj%2#1/u솆ƚ" $;J @B3-&pN8O8%.d$3`7  ad`@8^2aC>ʇx %TT߼01ZwŅ֑O sQ ,(`R9'&%A3U!Qc3'͞)sA} 6p@!H?CXA;tI-"ju(h\L̺s:P?e f/,`HA*_;޼4%q`3K$:ɹ3HI.zANu˴"0pch 85nDmx?outJQ݂<F1dPXAO rТiFG4QX̨[M2Q-XkI${ǡ~H"LXHx&9B?D":$tpŅTXM!4P@7(G7-8*ATU=Nm!5;7Z^s vPY:klG!pβRes<KCI8aAF*A0rZQ93+7UUU=Q _pK0 HU @ܪeRhT4BJӰ [*  >Q=+Mi63m0˔! *wʯ`DJ''r ,mL^ʲ$v <Ԕ\v(u͟Gl8pV/j[EA}طlA \R2G C{%L!Pd:ƈRFQ4 `,1PY-e0P2" ۱f mLTfe;Oyn#_fGzeޱRb2qtqgυ7}ܳ0ff'[8&yZk,, pk52*KsLR@ aNݛ9˰gfS|.(T֪A&Wh-9Fce [tA >=D/H0UT]@{|v'T pTޡΔ;bI3mgϦ @s) Ef@7WTVT>aPw%iXrP$f1_Gz0a"%j|!N:RBGV"b4Q 'AZ4(i2SR )X(DidrIŮ/G cM;[Z+ lIi\hhICl4l6IƑmo5Q3Sx^3 Fh4mN*P< }85o]d\i\G$UUUUUwuۄ%w"&34+\a%!G!1&h9q}ךɺMX"Ihء]l*%c lx=x[2G &hx+ kl.#RjT(zu,Xɱ6vr hunb": w%+H=sF yä,#Ճzo(u܈zgk?q(d)ЛaDӾMSݓY( j>ĸQ9D {n0mjkVN<!]F5PL%4(E0QM*ERPĤA0E S1PI-2T$CD0%0UIL1#RECM,DJLPSTRDCTIAQUJ00 QMQDEB!ERUiJ FVI[X, ' ҡ5^5pkGe=>`heXF'7.?=H̅v#ϓ*Oxx @WkI%Ou\I˦⪲9o&(( puג>K<+zl [UÈLG=7C;8d+Jt&/]󂋽 & öVi?1&uc J*u$f 9;mFT ( f_+lD̃8' ZCM (ɲ1H8IS՗Ad[ݜ qvN7+05k$JCQ$ 30&v4y]E!զF? xک] w puxҊNAQ $TDܵ-jM5T%O(R E6}/llJ0K΄;Gᆪ UUBзZ][5AҶA)> F^<[b>z#Hwxt$]50@EjkP4b܃ 4Pf x$@0CCn)A>ˁ]!ǹgIU˩h*Hdc^'=ߓ5ю<-ScrEMX#O (jAdfy"!r!18 ^x屖 HBA "1$9,.ʊTH OQezs0Br)z] X(}!RǶq#%!ISRn!u21ppE3WӁ 2 yAdaܫԟL$.\ h%2i_aG&ږ`C^-)AhLßXkphdg8`f RߣL\fh?Q;LƟʋ`ARRhrRD tEpm9Y^zOҜIQ]%Dҳt  MpPc9jUR y5YZVb@Iok8,!QJ$}Z!$EPf Ÿ[R2Ĥ:^6cirb#⟼q|IfzqTQ R*D1ALAw{Ky݇׃is-d'.KSEcȇ:*P J$+ DFIձqArWLn"(D%ikm.=>lB֡$].HW)f *Qaꒈ^=ɦ!@T6hضţ?2xzZڱy5%LSCjQ/ XJz|pAȔX<OX-Pmic`ʵF NdTfEw ضǞzlu y'ך :8i< ͍+j,6Q 0ѸF)mdzaF fh4+y@)"uOyЉ!bӼjuPۡH9R y͟EUo12wMۃ-a7ڛ!Nv#Lj8{<W0ٽLM@Jtdlx2/\:!7XPkj$"pWѺ2$bo:T@1XBڀIcu`=-dzʋ\fFQ)$ݯ1oIķ0tUyp QPx&kd5DG7*43>$I:4sm6 /֛M-H`kd9B{$0RZP5CLTjq+cECYn쓓1Ú S/8,}KTnGA+s/4>ax,ZoJt2G9a3J{],I;{ J%8' RIޒdQ猪|9& ȰnU * 4:jWYf|3߶S]);8Q5KADP)R,s*-Q}k3 򷜃" WSc:,dh3Jz$z9w&$!)*$5Ō] I(]MIT/u.$ph6H$+&$t^xbYMC?~]'!Vjihј_p'2 ALjFB3z 2&y[H%}cIIɁHxq\0mTZd!}RR'+g.2ӵ D((ƇE=(9~{>_pAD8uZϼr 1)z>ʯGrb"GX3!gxmOT^dv9$#mVXnIWNܭc!mPdZo%:9 I?_%EFwD7 6aCvDg PB@4 QD>4qƘ21YzN3t&p\9*$R㟅J'sP Hϧk8<؊V>r3<)V '~xE0/Z)<𔚐NB/&,A 'D]cTD'M1?HM_D :8G~1ҡz6`@ae%#oP?g'jNTmOj֓( ێu%!Ęj)&.z&zTA>Qxj;S$}^X{W]˞=i99"yюtA%$CxEe8IUt%JCTZyi)O> ~||_Q;GPOc;K'ŋŢ.D":3Úkp6Cny|IpRSqFƑ,`HgdTwwiBB&*h^<+ (EΎX:@!Zp8)Ƿxf0v>*ցQo ;UhpBM1/h:?2߸XJ;vh* JD%J:iYn ű 9*Y_t&2jYVkAK$E{ % zNt`?ᴒj ZU7|R(0i$Cnha 8ODSDI7d\v5ntx jbMVމ q ȴϕͧ7S6qu%cZ<b^ Mv n M)Ф&gX(N )3+6^iҠy&13+Q 5˜Lͼx:IFV]Aر3$+I',3< 9D\܁(zvh-|Z=;I\d1/WZgabOCS&iLK:$q鞻8`Dop5`׈ X~xVB}"F+"5M=:G R֕ȑ_4q NRL(Ln gw}MΝ^(/%ݱRֵKDϢ= ۑ[ J'R8+i3r_Iӊ6 }qFG8֝ iI0PW> [M![ULkUY&#K) P>G@"GyzXQ, iwY HZ`ӦW4n@xHs8ᗤӫ,mbB鋰L]!% [o@nd5)=0CXn{*:}C7:RuBa Q$2@M !\Tqyk;)7-SiICkp^THN/K}ɍ^%Gk[ _߶&%;%0 1hqIT[(wt^P+T'Rk6F&&I φwy.rpM|Y=0t\)Nr"pa:ǶW1m?(0#l5"X`1 .a)Zj19(UTh5 9`yʬֲY$*i]BXx=N <3Ta RCI7$Q53>p,Gp }dej4ּ`gms+[X/0rg>|.0XZV.rM7{DUۄcJ+I\xu; g00Q"12W)nA6+ƈo _ݙ^$*u\V蔟 pRд:d<ga'@NOQ'cH3LKBA/iEpB U秦uޏY$$;oU=ilx DH K-SCU@#3I5 ]}ę΂ȡa>;X2`MɅU(k/ٳ|4UyIh]U i$#ֈk~̳sh2qUJ ɨ;rҝ[9F##ϋnǂprCNl\ʂCQ觉n!S$*Gդ~}a'HH4ӥNЩ_aC4;/B⫟EI XXKacIk0I0c"g i)RcOSczەq}Q3,Dfݿiq仿A]4RD4<PL(s"J ;?9b(4ihn0҇ViF&Y@"d@GW%A[^o>& UCslay'd8UbԈ{eW\ee `RDhtGQ,9o2Q khK6[3Xy5D{6h2 VbaKPMԼG h1Q[?--'D<Ifi38a q6Q5Ĵ04n^4.PݻJK5)L#kV0`̱b 4y mCBI=h&!I)^65CJ=s4<;Y4:·y R:@iLOZZ-$!'/ cPrJ̵U܅&I(q+~ NZ#A7H١L,G,y!@a6P+ن*̓r32Y8H+mDIq1R= f,c+۬3*rF * a .eF5JJõK)c^(mѰW[7li0DakG H]ۤ9DEh2ۖhhe)Bpa%bԘ1#2aËF&|LfU.8DC,Mq6T4=PAi! F$hsN!.%9f٧P*VK1܈Bm9rW\P5DON j9+MMx37a8l 9"*Xʞtr[%R:ա-lix2ǕEűj2 pi ̚+ $Fa=h-FeLE)nMi$:ۆ2R @>M&<D: #3-Qƿ tꭷ-ejYۮ(Jc$n%N5;/>}pMs5chdg`ڻojb *OPC/sLƓ3xt4sKE*x|%ʐf9tb[ݦ#=(!2Œ5[>KH[pf6 g79_gf_S=xktД6F!#Un~8 zSC4C6=<$2[d%G#h.Z 8f4dܨU-8Kû5$ѳ4u4!Q2F u ff AR hHGKPCc Ϯl =ᰚ|rR0q2(DQ6UUUE_S 9cG誊Vڄcz{Ɛ`dA-!JRA6y؍ajiQ yJ崱GRaY4 w},6l(R&2.B!C"ը)'RHQG24i)( TifO͌A f1D,%DIK4R4ERАCLIBbH9DDUs"(&( KtdPD ד3 Gr^\8u`)tPE8RƺHA6Uڝ:B(BALl~;xg '9/S,EpA7X JZ"( ^Oqm^+zP2N#<]&QS]EmPÁ,Kj#a2px 8%ѶB1>>;@3 [i{# %A~}#նwfXp~4gct DxU0|r2@ _b`@S U"(Dt/8a0@%R P TT(0IEPDP T-0D-"RSM R4$J4EAU,T  RāE!@$QJ1$R$EAݕB#Ș*A* E` R8Z }CT߁OBCZ/T);jdIDUQli {`6 4!11#6@ƛgX aD,cbi4g"Ʉe>~TUH@9 2hK\Egg0va{;=yMBB2;ȇ(iCTL!I1J@J TK,2D zP6*FhEXaOM:ƪO|rd.:5д!:x^M!4w j1$$kC. ^lDSDTf>2)F$h%QPg7=)w,*D(}%里@C ϣ+@^ws]U&y[4qmI8m٥zD&cFy*MIPRJJdSg`j{b k79>!MqJ`A_9]9;.BD8U$%:dh>V)F ,R8*,J<-&LŠв/&01 $uΆLd6M84 )y81EwF {G rbJ46\‘Ҥ0ud 朥؈V G0gFiM#Y62AIX=cr"f4F&ƌؤb]&gW0iӎ9:sqFnX0B'BsL$k(c9)BumUnnGtբZ Pmrͥ:[҄(Æ$CqneB1618 E%jlOO$ B3[&9MDEG%uΕXգEAh!b.X4C dy(N"|3aQ*$&&X*l9pTNq< i"(U#Z)"'.BW/BEx:>)$dw.8 3G(+P (> Irbt6:1ʋD‰o:BzoA*֓/i|z7y"fy…ya7CY*}Ҍ@A_Jhdpԃ9( ~>>?2 ֩PPkSnheʇTnM492c>8~kKH9>41s9hy a!&&apjҘc͊HQ/ h&WLWF #$5HEMo[c>Vi7l n2""0!l݋$%t MmBZ"N@М1ـ /Oyd AQy8k:M4;)͉KL0A8ʎ m{M+I$eH@^0ڸIu 0a^TnUIEdH@(_[c}gi3(Sc e% Pbvz>%5QЎQ#"eN(LC/48 ɥ""S"*3Y#TT4kA1hSCs&!4 I#N"4@rCbsgH(4LE!)b`R%B@HTąh:C@%11!P2 BE$6o\T0`8R(yF+E!@), 0@BH2M)H4*"*@16$%) C󦻶4IRSXߡΤ9d`qѨ`?"(g_ʤ*-+_(LGFܨ{{Ht|O/8pHN}E ?YR U=7ub"AV)Lp@hJBOLR S} LERg3!lI@S%_(;85)J}Z3 c~מCW_5ՐUQQ)T4fUwe ar֔C `?qt: }.962BH:1 *tFF q$4rNȠ/R"@pXR+@ HS$h `OFU҂z +O>a0_/B#J-P@D E!{2"TS] ň@ uU7@vE;XH)0 e&pPʊmÄG"5ĎԈV]ov&\ ?W)MBP|6Da-T4>xw1 v0PL6SCaq- yc!BiihD L2$ $ C}BM%U34",*2)OuՉ>[zlh*Ji2!0hqT|ufBdh DD pN@Pb!P7f!0$F#I͡\"p!>71G&9&F<#bo v*e.,fPqW#D╖ړqą Ǎa{naΒH3A"˻N|gM 1)(Ã:Yb"*@ҾRP1@w8*"U!gArP nOT!CJ& ty3Gxy>i_Iv?h"*!OGՔ'L;@ՈNs]aC51@K Q.eܓEdx!2V #@F*|*=^<(xu{~]JFj{SA8 EC"u BEDY@ q0 @/P)%{N*! ')it91՞T1 CQA_܎',\rZ 0`2.@NRwX DD@4 1PED ] D'g=HGsA6 b*1?K.9 R?4 Lv6एBli73zJ$@KEZ le+Ras ߛEJO}  %1)ܞ^ A֌:t; 8 v(R*P0^R;Q78"(W/A(Jb3:>/8&hU#6#?9mMb#o>cʓcUZX2AIuf( D8|=*Rwca#3n(X KE0iśzdخ[c+@Y5мՒ 4]% 1PxD!RanF:`oA 7 g0!޻ }7? 'ZAH GqP:X","粉OQ|8&DrAߪ:nlLax8)1b;$)*`W'ͻP?2_TDOA1Ht꟒ ;JHx|xu'*,.O;AG!rS7Q a0m9_2^gEG36" цH(!մl3yX(vG`S3q"y?[sfd} 9mZnǥXC g<%ڦ#JsmwG/6WzH4ibt/T }vojaA6뀎BVJF(PX|? |(Bx@y<.NF!1P09 b0*:'b*O<)9dߧ!@BCKo _?E~cSC6w}?T=[8N:o1Rݹ*R {xŒYAMEȈ+n BU'#¤ܠҞt7?rr_lc!ii IThW;[Wί[x<ӘcMQ>3ITz 13R qEH0'J-贺+tD%!h9ƐYȇ9q۸MP2ŀ r ,GF|b/ڤM|jigy޽}6XCͤg/XdJ—̗SM|3i&#߅!Hѵr:7/ooUMwBGGzyQ 8CZ*!՛,<hO_" m퇽9;:&] t>ezCqе*5<-X`ȍ.'čW]ѝY Z&Ck>Hp VwgaNV-&{OֶX^K'ܵps` ̺#Lܒtq7; ΰ1DH#c<ݸ?pwˇ޿Dgh%m>lն2Mxf=.0q:%C4.;Hz2c #[ R?3h h`||پ0\s ZqwL$~2zlʋ r6|ruKz]sֵ6KHUTeb'n8R2LiWAzNoŽY0K,3QtUS*vyN+I, d]'R*,y~=}oԼ2@Ek|DI 4׮?Gҟ_ç Yɡzlٱ0'" ܸ0#k J7nkg}fSFl]q$H v`2[;nK<$9nqx; ],哕hNѢ+B|RQڝP;[\J7Øo.`-,Q^kBH~  %[j($/'A1> =&t'Q7z0'E q0TFJ!! SgaM,T3u4@)hG?|$RVHK2yi$@PQ"U JPw@X'ο\P #xLK6i4gVR$1ǗS}֥ C>y9 ](R !++!ܑ EѲ*>,DZ"yZeeo8XIIdv` =+Y>z 6iӸP:G {'a)EZ,ΪO0.8'H~Nێ >UFQRm8w!A>U[$RD^jq ?ـ8iS˪u2iVSCʏ$({ռ2z&մ@diPlBQP(nnx!u8+~V:qәߊ5W: we966ǭLgjU8H;H~Tn4`)Iozpy 3&e),i5!P!v[Y/%!1CX^ă!f kڛ+MBF {ꦋɮ.Ȇ4kPpacg??͍q/ܳmE lv gw[/vD HtgF#efʝK&r"\r bnۮ0CFce!QPA # I:y~F1/&FTcM6[kJɚO$baiM8*gT0 udH,ų2KtuN5D0 N=B)$"*d։9 QR1H52Dh(55`9%!H hb("|T>\#Jro|"h0dڢD'ПOǨJ$b,2#)!CJD33 PK@AIABEE$@Z"pJꧧr+UEi@+%5QuчD%j⟉ 0e " _NINtfmI!Dhΰ.3 2tP˕X}sY0[clkLkT%xhB*g|5횦I7IB0 ~nJ^6$9=ɋ##F7 >*KآbY`c84fW·s,9b`)\m* ~#1M!J>p~mvypiHG PUH",j7t=ĄMws A,AJSHdB&RL1E!4ELE  3Tة)d8L.J %)fZ"1/Xp2AH1EْEZB#Jb&) &T ) F bRI1.$"ErVL654Өb }o%*W#d`G,CPl {G [.5r>u;8&<곦lf\VH=DW?\-p_! N 3cOXk:N<E.01BPBSMCi. : @;|kA%VJb"(ÞtsA&B(CEm9iIˑEREUD0^:r;ƨ3b.[C|l% w F$",sf$rc̕]'%Hs 厥ɼA`00F\59c \8g S@xcx5 64(u1R) ·<~V̌#Ufe(܃*xkZMQ: w.;CWªpikP8PL9N!!nFPB"`\ bK[ ѴYMMRIUJN[Ulp2UȅXcӘn@q+ d*U\rFic\gG#;Y̫CmfTS$GEPDHh4Hi ? !=~&<U PUH,⎀9,(W:=4(WDyԭi:'IYJ}8`5t\v%覹W[F68f@)iH)C\}3k˜N'#s96|6I01cK!*!`J_FV kB eIڦAQH҂ $0PȖ} vxI@ {/tFa9c9!0c=.ಇ`J/Og(*wpdIEUS铪V(B!}a{w\' 3(@ ȵ t^k]u`zR Ap:B,ԊCATT*5 CgqHg{A;jH 4<9Lx^ظ<:gҎ '1sBliReaqzP7wXh^!\!MAtP :H儿lY4v{ fdx4#$=D?WS9\:;ZH  n},w|*P?Ԕ[(TTuJ z64P7%-=04#1^czHP& ()bibiC X>\uEUщИTGI#Y&6;<]?Ab b6jU)㵲FؚHW*jpև Qvmjۄmnj ƕF$)MpM⩍Ñ=ԇ n 7r0EF5P a]#V.<ь aQtw0$gvQcKZh&irQ(d3S C5c?瀫NZj~>g| nķd&ڢIBBH>!5>* h{Hą_"n𪊪Z )b_շzIŲ=m!EBJw<3E2a&]F4ڒjNy!ΨT }>T̔ %HRD,%'L2Drv146;t9,Y'9j0RhJQ΃I%8IXdDҝIh:YP4@%P!L)C<hrԬ䅾' ih Fк% @i&spNe2J{Z5&scxN# N,>)cAEysWl]ت5AE[d0$?4{%6>jq~m$nˈ"S4i_Ҍ]P.4 o4PJcitg0R\\ Q{_ F=d *AhHPS;p񅵸Lm%DCz֯:UٵkpI⥏$8 xOv*vq9GRE6wlN%'I%miTТ:@ ˍ)AE%L)Ȍ$ 5LS@RM$.%btJI%SC,4~ܮ E Q! _J芶`jdKj$%i2  (|;iAȜ^`)TC:!PPs2r;#O%Nf/5^:2PMsd1H`m3o2 LYl1]QJR?*FgJv4s^baEYA41ēt- )`C)MOv0<P(n*TCbfPfCyZ(D2$ > "*d$B|bO44/ +IH'x@B2Yel͂I7$,K'Xd0fH#-VĬ0Sb>pxF(P*z;L쾳E4ĂJh@AT%k BEhb=`bf&j2d)gPeL-7{ΞEѪ$PH 1~:F(v[3T`僂B *v0OSd!v&42zHiUS<}|IajxPm\@Wd#(.d03"!@a%?8?I9}9E.i6aA?JCpTS˂R-!䀃vHv}= g<+TDSIEPK4#BP" v@_VK)sdKFT] |u̚\2@GՆ"de+HOHQ۹{Ƞ%Vz'y\mսpgO\D4:4ZJQl_}BC]rW#pt E݈'";"=G~W Ce"Bᑠ d/~=pHiSLHCjSI۬p:O$^l) YnC0"(k"PD;G($#"TBCJQG@,x4'q<'6 ;Z4YQ5›NY.6jiіZb-j1@HM6@*494i,L lhZ1km ؕLuт-h|!) a!c5TűLY=^3HaW"i*L+SM6AW&pѶE- L؂*3FQX&q8vLD$`P:69ŋG:#f1À6i5l2HC^m4X{"9 iRk^gy1y x&R2_*WE.POm fp4%/xdf:g ʜN}d|H͞m^7 HXBA~;WDbgt`u~oaB h`&` ).Q6{'L:N16<;2? 5bAIW@H0\V!8ِiqąAA^ZE ??q?m??Gӟ\?_O^_g9#h_- Sdz0[k`Г'q֮Dǒ c972RwCi tCBhRc+:EVT!B20т&?TSCi,(hjZc!q M#!W~Qo+C!Ƞ’'nёTwRO:Cv&ziOA@@d?A 5g"OH'L *w^=nVMhJ OE>O"N)> *b[!B0_6xW8u.Q\ qMԁ3r9|D#D1$*#uHՐLA7`Tp1a 0) d4r&bpl\\" $7(=L]TuzVx+ʭ1ZYwٞ{˻4u1ubLsQշH'o7aMAƖvC{xJ `EA #;R0^֖е8e˘11R+MzT"mcDG,3|e^ۥ'k@R1Zt^+ֲ$(j\ 8J ($.F HSCx*CUdYS|''o;Ϯ0Rςs *<4i{=i3*1-kYh&84.[N|IR5.V"xc׃R"yfYqo;|8a$}6ޤb {uOL;eƭ1S3E0d"C~}'\U ;E tƓ;G<Q +`.} .?1zsB x^ n,M~"p;sZsG3Ӷu-m#G&iCY,X_mL}V=੷ݮɧ&Q_`0)jMצHь-\*uY!`Lsӈ e~C¤wP\żsSb{}R)2I9~=k 2m?2ĞxtrʝK-!-Kuadh-Rm}MnunKtBL, n@Q{,TSLOPv|!#3o:y= d`Cߺ iĉvP^HW՞S*2Oϩہ p3e+ywNmnqɶ)7s<:1 GM]$!@ZFφݷd%r[<@#ח;6elK209&MsX4_bey}k'7fv[,E^#pwaF\l]NM>"Hzc9gb5f`L,Ezh4?S }W-*ؕ/'6[erL0QxB!<mv872F3+Odx(;ݔecVofw^ێz>F{6h-$:>XDڴqFκ(gem ?[ݠkėWc#F4!7g d(o]b! YD7-q",uneDPj4"K?(zx& ϶{/π.nI?W2:{JQl8_&#T:Z-npZIE˞O[txRw =nؖ[izdúIRIgǗ&;qU#(~٨;y;w,H~|?FE}1K) {z7mљX95F;"0/DnnrSmBû˷n  n8d 4Өi$4(NP[B"ZǦ8_2"\ N-*: H5ȽzҦ 8HJ<wP?KG==q5ڽ `+BHKE}fHCo5в61e~i=b$|ɍaA:'@.)kjyWhj~~޳ʟD5ʫ koTVA>TY֞17Wr֫f PfJQ>57Q{ff6cxAa.pO hj,hXVE2!ႡH`WS Ìo~PăLBvyo^Ҏ5U#|FRbc"MAH 24q;ǖ6g#ǡ9.Kq4p TD`zJg g "8i "Ȩ' p*}b}vtu>bH8 G' LIG/UH~DW4Q3#ā'M'J {:@(1Acu)PlCrѮ CM)b| *^O'!CO~%$}zK*shqgvqb )-H`<&*H#rCFip?EKq5PQe%uǗ8sbpى(( &*dlB]@7BF%#<,jB=%ǝM{ Ov50@W]CK2k B)4)hΔX"6aN'|+p BD,VӦ )oqB"*یaa>}3a|L:}tKih"TṎaԍ0i҃C PUiw~,3N蔅 -U|wY v[{p>fƇ5iC:H|D/&M!˩֣?v?[']LdB= d~YT0mK:1QDNUօM$d2_1&նmm?ϬBI*dNXȁ _evزDdUO[Hh=R;F D 1M )ΓAmCy:?-IiM+|1MZh}CpɅBOR ې8@V(Dv<[CLܸY(͉  b젻20v!CC% q"lcc`_ iYzaJxHb(>'>Xsێ!#LdBF@ZA7C>g}:zBl3f'h62 3)NQ"qW (l'R ")"(9!VU!8)SmsaEvG)%j !oSԯ1)A$?.Kh=k+g3DfS}ka4 82K-~t0VWl8 {apg?~-6)9% OR:u>ux:Wzێ>G #KL EfhL}L,sXdvSb|1=_v> х V@8 K7d.iLk3ŹVʨs%BT:0bCH<):'dWu#o%pĶvĦt;0 b>a[]]r"M58=94%Ckg$ꂊ(. 8rGMBF$h(100ɐ[joW,Jq)r"$p[ݳ&L wJ/;]Lut-Y- \ڂxk08]At vBdIHlu5@5&Z}\"zf`*rz9N1$P$Lʍ lK33:MZ'6xl  %N 2 >D!1A@ )ok9zRr' Ndu.2H·=R(& qL)5vR]Vl,8OGϧԤ3'N[EYlI \]õ,$IRCmqs'puΚCLOxx~ވ&&06ˆ028p`qo; k=.67Q$0E7krݾJ~s-5URff՞|7ff4e+B`Y!Ȥ#0F^R5X3FƏηZ3$k%.5t(h(M$|?ą[JD4܌Ś]ִtI LȎZ\F r!\Qk< bNJ%ÏD@m hŬ #LmmyAD-19VgllgPٙ u.f4babnsVسϬFe-R%5y:=i 1[ %`A\0lM5-IYoxoD񘳱Ff˟7૫! ]j_ylCԜ*M c7FsB;65:tn<},ݳp!|`x^4! TC9EZKB9(ႹD #Zđ=!P1 Cxؐub,! {7:;׃#;1y&蘌>0pݢ'8r͎MI> yޯe-(f 13H\?N7Vӓ42K  {+A$7P&A lY &]Tv n2,ol',A% sAD%}a)%QO Q L IKSˬ)! A Gvq1%0u" "+JLA@H*kb ^sm~~:bwCsE3>L["a>n ÔBZ͉=}G.nSg.%K bUwaȡ 6,Kaa[.d'\1&9y̽JkӬMnSu gCb=buְhj rLP ,3aȤ2h#E lQî:iR;D5cXwǐ>,wQx lu`Tt 1r^".yu&z@*9'&d h4'wp#(BL,HH- 2J|+3B #ckjo2'39aq+ĤB% ]X5)5)@htR9{l3:cN+Y d^<'ʍXH93q|mXEMM 6聆v s]g:qr QdPA 24H|"N >DyD Id$,pG{9EdN5[ Bͯ+5#Hlf>Ѡn9\1CJi8ubF* Q$[[.МuY@وE\MU'иB0@8qDTIEp1PO^d*$" 6`L"? OG =3ΌƲ{GriN哄ABcoq/ $ b"Wı$+\͕^^k|,avx7'O2Ha_b蛀Ct T +ܢ |UGAM ((  y.*X/(sw[$+jbJ-g8eG֓s:"!RÕV1DHH$*"0O$LЧ'Ĕ>@grQ8)" dž .=pE h: {gzkpA# $/e}}:`b~g(  Vኩks^p!$Q\ ɲLXp{'d $DBΈ}@X9>/v2tz>JKIb5(VƓB`7m7$*Z:{UYDjU3Exre،3JH1X҆>ńK"!$LQQnSR2#0E#c`BI5ir2 !tj+ɪ"kCAXAPLw =yaÌ(RDJ 8F EfPs@fN5eQZ x,lTDzEs[PKkzqmTWmpؘ$hu'1ƕʏD98*twS =R)J+$VhPN"UnWRtn \QPnፈ-Z8[]mړq$x\)r%D!̷H쳩!pq$\nQyP~x.ڄ"Û "xy`^aٽ`و` z@Ȍa3 Sz1Ji]˶Rtt,A{xRcC  \N"kpn?JBuB(0CUq>` ɇׁiIx8C|?OT?@Y'}Ѿ!H9h$J@^ABdi EeADzM/ S(u @ĉ K@ifH$@/RSը(H)b Y$P_Jc2Ox%/O-_VՠQIoKȯw| "z}/lv=ϏC#/3.[*.P Cː),D7DB@$v !!bjcQDIE1,.@vPIsޘLMm<00WV#zGgR7 0RaړdB!2JF&6 J t{ :{-}ɇ4ʰedG^;a{ G|ѱh-% nmt(U #45u8-11V%LHl~$X)z&H[l^2}X/~<`b*Cdq ~8BtvE*!J'O=B$aQ%P68v0 O,h8" }7&"/Q`K 'Xw5$Mnpp [R1((_AHa؊ J'"%M^"pIS yGC&cnVk;9&ϩPNRD1C>ÍQ>&DQc{_3A}#=@==$YD$Sԡ2#?(w wL9 @))t)4& jI Uʑ#lSA#I@ KB&aCwb2l/(FYñZ'X'Z`yL6U=7IQOMn•.B~G Z OyTmXrexN᪠N t`yCc7DwmՋ Q9So9for'@&Pa"*`h .uo=QK&,dFEQdZJڄO$eHP.ck˔%h IbƊӈY#jc@p3J%$EsJ Mm5p>M\["Q$HIX&")d^ Jz#%Ĕψ:*@H3pKM' t{c}aZLM_\õ`>d>TpU,)*dV icよ)O_>܃Sc#58IA:{0?o "0]pL4 9Mv>$zYFO#$ݶ3Ģ)bC^D@dOݖp!,> # /FsW'#v}A){9Y`ZbNLb* ku%DE7Ë#6};iO\~djI@7W,~#y˝( aPjXF+d*X(HD(Dbnb"w{W69ubh-$G7pmTG6#g(LD}X{A=4ar;0I5R@9x̻uO]lM$">>U5_! ࢠuAg0aAܢkHzc%P &" D^BR(S|<GDؚ%Q[Cr ~ %od`'KXKO *=J^@Td >RME5!M 30I{DAF~e8/4<L3RUs8TPHn϶b޸  h-}1NDvݗK +Pdj<_P<~o;eܧB.˄M_.DvnNFI¬1;fd6 n$CJ9*&g${~A Ud< ĻU$fk( &$-0tf1\1ʃ{JP$V1B% {lڔ1~̤8.n\Xp֪u)sm hG̞ XC5)GImU>B @T OZ}q؍ y)Ac V QAd-{ I:w\PdIe^J] R菋sD%+A0磮bCI0$Ne }L~kR4cGk'_L挤,i.yP- 6~5A0FRdI2#8 |*O& i̷;L#j!߱`7OSu0T {Ϩ%GhDE]' 6Bz|my(M РdYw(7nzeeG=͕a  hQ$ 0]=v lFv22s „g2v+˩S)Ӎc),l55Nю-%C}6z6 fvV"z :ls 0nNHeU2 w% S=<.;}QCc1 c-\g9,H$c:k2Z&z%8hj^LF*@2֙^:`V- ri@d4ۭ3'k1y 7Dfl0,6n, BĻY;$KF*W:]U&"4!&ɍelI OTLm݌QcUBa6Hu#|&5RmN{3rucJW¹7D8xK]Ȏv4C! CA5vPϸĝDSo1!R;FL S'keأFI[49C3dbL04=(MakӒ U$l)ot *A&=vvWlii#@ zI2mu]TᑷpGZ!zez{[M#5k.rSCP@ J͐\h-) 9w&&)r P"hfd)\ff*G2QR{A>U+k=[Ȝd³I 0.|o{IсpTZ0McjFaA3+u7bt}sKZp k1躔lciɖ70,!FXdǂ ;<;ܡ lr$Pt6Xs2D@:A )udE.uh15 AMɻݬD=)Ĉ! `;1B 'r %cE=zJA!CJ"@P" TCE$vSK>W_ GY"8XL0ok/)2Suq0ѐ&[5R"kmjQ k +1tھJFSЅJGLC t-TI !$H~I !0swih͖4 O"@n 3//9ڔ)M@ Y=I|nyk]aH5((cd4T!p')Đe wC;ˮj˵$p{}ի5BnI!ƩR6yO@4BSIuzGp2ɲuDC/տ$=(.pV) f $  Fhp"{O?s?۟OSYHU@AāB"a MiEsb;W^@ތ B4@!)Tr"(]()?$ b}$ 1,` >.8J @-LtP$0Fq^@0'$/ p xdAq꠬<5ͅ)g+>36nCs5*׌OH݃!bR @S$AtMM1'f"i?Ҥ{N`$ał#VvZsBIgձ ? 2~{x_tΓ-DP/ /`/~Hyqwg/P}S#eQ?PVIS?]?(0EנIZPf<)]} }{e `}:),;_{\ٽU&7Ю0:ѣwtGU*SB=fɗMl۳N>A0Og1gȞ \uѕ@eJ>yХWt9nOE2|:>ln;o{$I-x{M75S(MyGdO`#=7wYm-Se`.IhIٶ 4 [Nmw[c}n i-Y{F=4<ٌ޷ [3u[ 6hy+5Ur(#Y zy#퇠 4Q*6a l`I݃uwQ4L5Ztt:Kl"ݩGc t 4to;kF_>OmUT]2 IV`>*%P1,w^^>վ.zuR;ٺ2l7HϹ\z՞C=`{׮z4@xn|}\uF/ @`:虁A]h)-tzWafkzj[kD<f{vGtj{wl-ֽ^9M be}] ]ٰF޷ofs{ۇ@&Պ5]e_F׊Q{UZm)tۺgoo*;_};0 9c1XZkjֺH8*[XY뻽u<nvs4I6k{ݰ9n8 u3uӭwhϰѭrop{5u] l }y}u4§:]wwj:QZ(7wvznj0SU\ur^GPV!c0mL=;󊙗GC^ۥ =IUP%Wgxn}Yf`o^SoxtdVͰپ_{8<;d6plUҜFCO'վClEu@PXi@ Y` -Qnގxe7wqoWskKov4/3 =25rxw3fp19,>}G˙NcGܷˬ.W\̥ .u#oy|(O]glz4Ѐ @@ C&@&BfFMMPABhL j=4ꧨm54yOOSb$j$zcL&TL<5OɈ{S=1`iRM:)`%Jb )b)h&* *D)R&)&HuXbjT(XaV.B$J) E% $( 搟Ç:iBdJY !9ID($" aL2A"r Hp>pGe>އC*,#I F"S) dZ i IP<`MNt!xcJH6-I2@R) RSI@R0X^ ѠȔor0edGLrh 0lNTQO_tO_x_.$*4?w4<31 x&x]ڇԀ8|@΄LN#TN(YʢCؓ-ulIѺFY ~'P"?WKlaB2 QO22 *)HҀ_E~{L4UD DPRRE\~uAD}C2D3PK s"b"d"fhJ(*>" "BXP TԒPSE1A TPL)T%DLU+LDD@D,HS5 %M3 E1MTT)4QQLUDMSAQ PKMI%3A2KADACE D4%TA4TTMEATH S(0'QAD. [4q.u |>Ǻ>?g| &J ˧?fHţ,lfb,BL-ͬpŏ2P>G6Ѫ$_a?E(4kCR,&*_ߺ$v: K?pznLiIq )R.f +Ta㪈;kdf1SuHGg0?]oaf~ǣwfvosO_WϮ]˭绻RSEi<$Vp`6d0NK)CR%,W7危[-FvtUCJ[{gÄMTSĬwN+\}tֹQz3?C