From 78cc07ed7c9f168c3d6316db5af969ac5f7c977a Mon Sep 17 00:00:00 2001 From: Nordic Builder Date: Mon, 23 Oct 2023 12:34:27 +0000 Subject: [PATCH] openthread: add libraries based on commit 57ef721 Update OpenThread libraries with newest commit Signed-off-by: Nordic Builder --- openthread/include/openthread-system.h | 10 +- .../include/openthread/backbone_router.h | 4 +- .../include/openthread/backbone_router_ftd.h | 26 +- openthread/include/openthread/border_agent.h | 62 ++- openthread/include/openthread/border_router.h | 35 +- .../include/openthread/border_routing.h | 150 ++++++- .../include/openthread/channel_manager.h | 10 +- .../include/openthread/channel_monitor.h | 2 +- .../include/openthread/child_supervision.h | 40 +- openthread/include/openthread/cli.h | 19 +- openthread/include/openthread/coap.h | 139 +++--- openthread/include/openthread/coap_secure.h | 48 +- openthread/include/openthread/commissioner.h | 58 +-- openthread/include/openthread/crypto.h | 8 +- openthread/include/openthread/dataset.h | 101 +++-- .../include/openthread/dataset_updater.h | 6 +- openthread/include/openthread/diag.h | 6 +- openthread/include/openthread/dns.h | 30 +- openthread/include/openthread/dns_client.h | 195 +++++--- openthread/include/openthread/dnssd_server.h | 53 ++- openthread/include/openthread/error.h | 4 +- .../include/openthread/history_tracker.h | 52 +-- openthread/include/openthread/icmp6.h | 17 +- openthread/include/openthread/instance.h | 127 +++--- openthread/include/openthread/ip6.h | 125 +++--- openthread/include/openthread/jam_detection.h | 2 +- openthread/include/openthread/joiner.h | 15 +- openthread/include/openthread/link.h | 208 +++++---- openthread/include/openthread/link_metrics.h | 47 +- openthread/include/openthread/link_raw.h | 24 +- openthread/include/openthread/logging.h | 38 +- openthread/include/openthread/mesh_diag.h | 416 ++++++++++++++++++ openthread/include/openthread/message.h | 102 ++++- openthread/include/openthread/multi_radio.h | 8 +- openthread/include/openthread/nat64.h | 26 +- openthread/include/openthread/ncp.h | 12 +- openthread/include/openthread/netdata.h | 81 +++- .../include/openthread/netdata_publisher.h | 80 +++- openthread/include/openthread/netdiag.h | 181 +++++++- openthread/include/openthread/network_time.h | 8 +- openthread/include/openthread/ping_sender.h | 14 +- .../include/openthread/platform/alarm-micro.h | 6 + .../include/openthread/platform/alarm-milli.h | 6 + .../openthread/platform/border_routing.h | 72 +++ .../include/openthread/platform/crypto.h | 122 ++++- .../include/openthread/platform/debug_uart.h | 6 +- openthread/include/openthread/platform/diag.h | 37 +- openthread/include/openthread/platform/dns.h | 114 +++++ .../openthread/platform/dso_transport.h | 30 +- .../include/openthread/platform/entropy.h | 2 +- .../include/openthread/platform/flash.h | 10 +- .../include/openthread/platform/infra_if.h | 6 +- .../include/openthread/platform/logging.h | 8 +- .../include/openthread/platform/memory.h | 4 +- .../include/openthread/platform/messagepool.h | 12 +- openthread/include/openthread/platform/misc.h | 12 +- openthread/include/openthread/platform/otns.h | 2 +- .../include/openthread/platform/radio.h | 188 +++++--- .../include/openthread/platform/settings.h | 17 +- .../include/openthread/platform/spi-slave.h | 2 +- openthread/include/openthread/platform/time.h | 28 +- .../include/openthread/platform/toolchain.h | 4 +- openthread/include/openthread/platform/trel.h | 12 +- openthread/include/openthread/platform/udp.h | 20 +- openthread/include/openthread/radio_stats.h | 102 +++++ openthread/include/openthread/random_crypto.h | 3 +- .../include/openthread/random_noncrypto.h | 16 +- openthread/include/openthread/server.h | 4 +- openthread/include/openthread/sntp.h | 10 +- openthread/include/openthread/srp_client.h | 80 ++-- .../include/openthread/srp_client_buffers.h | 20 +- openthread/include/openthread/srp_server.h | 293 ++++++------ openthread/include/openthread/tcp.h | 31 +- openthread/include/openthread/tcp_ext.h | 4 +- openthread/include/openthread/thread.h | 170 +++++-- openthread/include/openthread/thread_ftd.h | 139 ++++-- openthread/include/openthread/trel.h | 34 +- openthread/include/openthread/udp.h | 21 +- .../v1.3/ftd/oberon/libopenthread-cli-ftd.a | Bin 220466 -> 248760 bytes .../v1.3/ftd/oberon/libopenthread-ftd.a | Bin 1295752 -> 1368628 bytes .../nrf_security_mbedtls_configuration.h | 30 +- .../oberon/openthread_lib_configuration.txt | 52 ++- .../v1.3/mtd/oberon/libopenthread-cli-mtd.a | Bin 193566 -> 219876 bytes .../v1.3/mtd/oberon/libopenthread-mtd.a | Bin 1045676 -> 1096266 bytes .../nrf_security_mbedtls_configuration.h | 30 +- .../oberon/openthread_lib_configuration.txt | 49 ++- .../v1.3/ftd/oberon/libopenthread-cli-ftd.a | Bin 220334 -> 248588 bytes .../v1.3/ftd/oberon/libopenthread-ftd.a | Bin 1294224 -> 1367052 bytes .../nrf_security_mbedtls_configuration.h | 28 +- .../oberon/openthread_lib_configuration.txt | 52 ++- .../master/oberon/libopenthread-cli-ftd.a | Bin 268640 -> 299166 bytes .../v1.3/master/oberon/libopenthread-ftd.a | Bin 1426520 -> 1502918 bytes .../nrf_security_mbedtls_configuration.h | 26 +- .../oberon/openthread_lib_configuration.txt | 49 ++- .../v1.3/mtd/oberon/libopenthread-cli-mtd.a | Bin 193426 -> 219704 bytes .../v1.3/mtd/oberon/libopenthread-mtd.a | Bin 1044164 -> 1094702 bytes .../nrf_security_mbedtls_configuration.h | 28 +- .../oberon/openthread_lib_configuration.txt | 49 ++- 98 files changed, 3246 insertions(+), 1383 deletions(-) create mode 100644 openthread/include/openthread/mesh_diag.h create mode 100644 openthread/include/openthread/platform/border_routing.h create mode 100644 openthread/include/openthread/platform/dns.h create mode 100644 openthread/include/openthread/radio_stats.h diff --git a/openthread/include/openthread-system.h b/openthread/include/openthread-system.h index de8b2d13b3..90503ecd3d 100644 --- a/openthread/include/openthread-system.h +++ b/openthread/include/openthread-system.h @@ -42,7 +42,7 @@ extern "C" { #endif /** - * This function performs all platform-specific initialization of OpenThread's drivers. + * Performs all platform-specific initialization of OpenThread's drivers. * * @note This function is not called by the OpenThread library. Instead, the system/RTOS should call this function * when initialization of OpenThread's drivers is most appropriate. @@ -54,7 +54,7 @@ extern "C" { void otSysInit(int argc, char *argv[]); /** - * This function performs all platform-specific deinitialization for OpenThread's drivers. + * Performs all platform-specific deinitialization for OpenThread's drivers. * * @note This function is not called by the OpenThread library. Instead, the system/RTOS should call this function * when deinitialization of OpenThread's drivers is most appropriate. @@ -63,7 +63,7 @@ void otSysInit(int argc, char *argv[]); void otSysDeinit(void); /** - * This function returns true if a pseudo-reset was requested. + * Returns true if a pseudo-reset was requested. * * In such a case, the main loop should shut down and re-initialize the OpenThread instance. * @@ -74,7 +74,7 @@ void otSysDeinit(void); bool otSysPseudoResetWasRequested(void); /** - * This function performs all platform-specific processing for OpenThread's example applications. + * Performs all platform-specific processing for OpenThread's example applications. * * @note This function is not called by the OpenThread library. Instead, the system/RTOS should call this function * in the main loop when processing OpenThread's drivers is most appropriate. @@ -85,7 +85,7 @@ bool otSysPseudoResetWasRequested(void); void otSysProcessDrivers(otInstance *aInstance); /** - * This function is called whenever platform drivers needs processing. + * Is called whenever platform drivers needs processing. * * @note This function is not handled by the OpenThread library. Instead, the system/RTOS should handle this function * and schedule a call to `otSysProcessDrivers()`. diff --git a/openthread/include/openthread/backbone_router.h b/openthread/include/openthread/backbone_router.h index 23cb4d426a..a057dc4edb 100644 --- a/openthread/include/openthread/backbone_router.h +++ b/openthread/include/openthread/backbone_router.h @@ -52,7 +52,7 @@ extern "C" { */ /** - * This structure represents Backbone Router configuration. + * Represents Backbone Router configuration. * */ typedef struct otBackboneRouterConfig @@ -64,7 +64,7 @@ typedef struct otBackboneRouterConfig } otBackboneRouterConfig; /** - * This function gets the Primary Backbone Router information in the Thread Network. + * Gets the Primary Backbone Router information in the Thread Network. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[out] aConfig A pointer to where to put Primary Backbone Router information. diff --git a/openthread/include/openthread/backbone_router_ftd.h b/openthread/include/openthread/backbone_router_ftd.h index d4041d68af..88cfe0a387 100644 --- a/openthread/include/openthread/backbone_router_ftd.h +++ b/openthread/include/openthread/backbone_router_ftd.h @@ -161,7 +161,7 @@ otError otBackboneRouterSetConfig(otInstance *aInstance, const otBackboneRouterC otError otBackboneRouterRegister(otInstance *aInstance); /** - * This method returns the Backbone Router registration jitter value. + * Returns the Backbone Router registration jitter value. * * @returns The Backbone Router registration jitter value. * @@ -171,7 +171,7 @@ otError otBackboneRouterRegister(otInstance *aInstance); uint8_t otBackboneRouterGetRegistrationJitter(otInstance *aInstance); /** - * This method sets the Backbone Router registration jitter value. + * Sets the Backbone Router registration jitter value. * * @param[in] aJitter the Backbone Router registration jitter value to set. * @@ -181,7 +181,7 @@ uint8_t otBackboneRouterGetRegistrationJitter(otInstance *aInstance); void otBackboneRouterSetRegistrationJitter(otInstance *aInstance, uint8_t aJitter); /** - * This method gets the local Domain Prefix configuration. + * Gets the local Domain Prefix configuration. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[out] aConfig A pointer to the Domain Prefix configuration. @@ -193,7 +193,7 @@ void otBackboneRouterSetRegistrationJitter(otInstance *aInstance, uint8_t aJitte otError otBackboneRouterGetDomainPrefix(otInstance *aInstance, otBorderRouterConfig *aConfig); /** - * This method configures response status for next DUA registration. + * Configures response status for next DUA registration. * * Note: available only when `OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE` is enabled. * Only used for test and certification. @@ -235,7 +235,7 @@ typedef enum } otBackboneRouterMulticastListenerEvent; /** - * This function pointer is called whenever the Multicast Listeners change. + * Pointer is called whenever the Multicast Listeners change. * * @param[in] aContext The user context pointer. * @param[in] aEvent The Multicast Listener event. @@ -247,7 +247,7 @@ typedef void (*otBackboneRouterMulticastListenerCallback)(void const otIp6Address *aAddress); /** - * This method sets the Backbone Router Multicast Listener callback. + * Sets the Backbone Router Multicast Listener callback. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aCallback A pointer to the Multicast Listener callback. @@ -302,7 +302,7 @@ otError otBackboneRouterMulticastListenerAdd(otInstance *aInstance, const otIp6A typedef uint16_t otBackboneRouterMulticastListenerIterator; ///< Used to iterate through Multicast Listeners. /** - * This structure represents a Backbone Router Multicast Listener info. + * Represents a Backbone Router Multicast Listener info. * */ typedef struct otBackboneRouterMulticastListenerInfo @@ -312,7 +312,7 @@ typedef struct otBackboneRouterMulticastListenerInfo } otBackboneRouterMulticastListenerInfo; /** - * This function gets the next Multicast Listener info (using an iterator). + * Gets the next Multicast Listener info (using an iterator). * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in,out] aIterator A pointer to the iterator. On success the iterator will be updated to point to next @@ -346,7 +346,7 @@ typedef enum } otBackboneRouterNdProxyEvent; /** - * This function pointer is called whenever the Nd Proxy changed. + * Pointer is called whenever the Nd Proxy changed. * * @param[in] aContext The user context pointer. * @param[in] aEvent The ND Proxy event. @@ -359,7 +359,7 @@ typedef void (*otBackboneRouterNdProxyCallback)(void *aCo const otIp6Address *aDua); /** - * This method sets the Backbone Router ND Proxy callback. + * Sets the Backbone Router ND Proxy callback. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aCallback A pointer to the ND Proxy callback. @@ -382,7 +382,7 @@ typedef struct otBackboneRouterNdProxyInfo } otBackboneRouterNdProxyInfo; /** - * This method gets the Backbone Router ND Proxy info. + * Gets the Backbone Router ND Proxy info. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aDua The Domain Unicast Address. @@ -408,7 +408,7 @@ typedef enum } otBackboneRouterDomainPrefixEvent; /** - * This function pointer is called whenever the Domain Prefix changed. + * Pointer is called whenever the Domain Prefix changed. * * @param[in] aContext The user context pointer. * @param[in] aEvent The Domain Prefix event. @@ -419,7 +419,7 @@ typedef void (*otBackboneRouterDomainPrefixCallback)(void otBackboneRouterDomainPrefixEvent aEvent, const otIp6Prefix *aDomainPrefix); /** - * This method sets the Backbone Router Domain Prefix callback. + * Sets the Backbone Router Domain Prefix callback. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aCallback A pointer to the Domain Prefix callback. diff --git a/openthread/include/openthread/border_agent.h b/openthread/include/openthread/border_agent.h index 83babfa142..1c7a535370 100644 --- a/openthread/include/openthread/border_agent.h +++ b/openthread/include/openthread/border_agent.h @@ -52,7 +52,31 @@ extern "C" { */ /** - * This enumeration defines the Border Agent state. + * The length of Border Agent/Router ID in bytes. + * + */ +#define OT_BORDER_AGENT_ID_LENGTH (16) + +/** + * @struct otBorderAgentId + * + * Represents a Border Agent ID. + * + */ +OT_TOOL_PACKED_BEGIN +struct otBorderAgentId +{ + uint8_t mId[OT_BORDER_AGENT_ID_LENGTH]; +} OT_TOOL_PACKED_END; + +/** + * Represents a Border Agent ID. + * + */ +typedef struct otBorderAgentId otBorderAgentId; + +/** + * Defines the Border Agent state. * */ typedef enum otBorderAgentState @@ -82,6 +106,42 @@ otBorderAgentState otBorderAgentGetState(otInstance *aInstance); */ uint16_t otBorderAgentGetUdpPort(otInstance *aInstance); +/** + * Gets the randomly generated Border Agent ID. + * + * The ID is saved in persistent storage and survives reboots. The typical use case of the ID is to + * be published in the MeshCoP mDNS service as the `id` TXT value for the client to identify this + * Border Router/Agent device. + * + * @param[in] aInstance A pointer to an OpenThread instance. + * @param[out] aId A pointer to buffer to receive the ID. + * + * @retval OT_ERROR_NONE If successfully retrieved the Border Agent ID. + * @retval ... If failed to retrieve the Border Agent ID. + * + * @sa otBorderAgentSetId + * + */ +otError otBorderAgentGetId(otInstance *aInstance, otBorderAgentId *aId); + +/** + * Sets the Border Agent ID. + * + * The Border Agent ID will be saved in persistent storage and survive reboots. It's required to + * set the ID only once after factory reset. If the ID has never been set by calling this function, + * a random ID will be generated and returned when `otBorderAgentGetId` is called. + * + * @param[in] aInstance A pointer to an OpenThread instance. + * @param[out] aId A pointer to the Border Agent ID. + * + * @retval OT_ERROR_NONE If successfully set the Border Agent ID. + * @retval ... If failed to set the Border Agent ID. + * + * @sa otBorderAgentGetId + * + */ +otError otBorderAgentSetId(otInstance *aInstance, const otBorderAgentId *aId); + /** * @} * diff --git a/openthread/include/openthread/border_router.h b/openthread/include/openthread/border_router.h index a945f91fb2..d07febac07 100644 --- a/openthread/include/openthread/border_router.h +++ b/openthread/include/openthread/border_router.h @@ -54,7 +54,7 @@ extern "C" { */ /** - * This method provides a full or stable copy of the local Thread Network Data. + * Provides a full or stable copy of the local Thread Network Data. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aStable TRUE when copying the stable version, FALSE when copying the full version. @@ -94,7 +94,7 @@ otError otBorderRouterAddOnMeshPrefix(otInstance *aInstance, const otBorderRoute otError otBorderRouterRemoveOnMeshPrefix(otInstance *aInstance, const otIp6Prefix *aPrefix); /** - * This function gets the next On Mesh Prefix in the local Network Data. + * Gets the next On Mesh Prefix in the local Network Data. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in,out] aIterator A pointer to the Network Data iterator context. To get the first on-mesh entry @@ -139,7 +139,7 @@ otError otBorderRouterAddRoute(otInstance *aInstance, const otExternalRouteConfi otError otBorderRouterRemoveRoute(otInstance *aInstance, const otIp6Prefix *aPrefix); /** - * This function gets the next external route in the local Network Data. + * Gets the next external route in the local Network Data. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in,out] aIterator A pointer to the Network Data iterator context. To get the first external route entry @@ -168,6 +168,35 @@ otError otBorderRouterGetNextRoute(otInstance *aInstance, */ otError otBorderRouterRegister(otInstance *aInstance); +/** + * Function pointer callback which is invoked when Network Data (local or leader) gets full. + * + * @param[in] aContext A pointer to arbitrary context information. + * + */ +typedef void (*otBorderRouterNetDataFullCallback)(void *aContext); + +/** + * Sets the callback to indicate when Network Data gets full. + * + * Requires `OPENTHREAD_CONFIG_BORDER_ROUTER_SIGNAL_NETWORK_DATA_FULL`. + * + * The callback is invoked whenever: + * - The device is acting as a leader and receives a Network Data registration from a Border Router (BR) that it cannot + * add to Network Data (running out of space). + * - The device is acting as a BR and new entries cannot be added to its local Network Data. + * - The device is acting as a BR and tries to register its local Network Data entries with the leader, but determines + * that its local entries will not fit. + * + * @param[in] aInstance A pointer to an OpenThread instance. + * @param[in] aCallback The callback. + * @param[in] aContext A pointer to arbitrary context information used with @p aCallback. + * + */ +void otBorderRouterSetNetDataFullCallback(otInstance *aInstance, + otBorderRouterNetDataFullCallback aCallback, + void *aContext); + /** * @} * diff --git a/openthread/include/openthread/border_routing.h b/openthread/include/openthread/border_routing.h index 79be8e167a..36e83a6d0c 100644 --- a/openthread/include/openthread/border_routing.h +++ b/openthread/include/openthread/border_routing.h @@ -73,7 +73,7 @@ extern "C" { */ /** - * This structure represents an iterator to iterate through the Border Router's discovered prefix table. + * Represents an iterator to iterate through the Border Router's discovered prefix table. * * The fields in this type are opaque (intended for use by OpenThread core only) and therefore should not be * accessed or used by caller. @@ -89,7 +89,7 @@ typedef struct otBorderRoutingPrefixTableIterator } otBorderRoutingPrefixTableIterator; /** - * This structure represents an entry from the discovered prefix table. + * Represents an entry from the discovered prefix table. * * The entries in the discovered table track the Prefix/Route Info Options in the received Router Advertisement messages * from other routers on infrastructure link. @@ -107,9 +107,34 @@ typedef struct otBorderRoutingPrefixTableEntry } otBorderRoutingPrefixTableEntry; /** - * This method initializes the Border Routing Manager on given infrastructure interface. + * Represents the state of Border Routing Manager. + * + */ +typedef enum +{ + OT_BORDER_ROUTING_STATE_UNINITIALIZED, ///< Routing Manager is uninitialized. + OT_BORDER_ROUTING_STATE_DISABLED, ///< Routing Manager is initialized but disabled. + OT_BORDER_ROUTING_STATE_STOPPED, ///< Routing Manager in initialized and enabled but currently stopped. + OT_BORDER_ROUTING_STATE_RUNNING, ///< Routing Manager is initialized, enabled, and running. +} otBorderRoutingState; + +/** + * This enumeration represents the state of DHCPv6 Prefix Delegation State. + * + */ +typedef enum +{ + OT_BORDER_ROUTING_DHCP6_PD_STATE_DISABLED, ///< DHCPv6 PD is disabled on the border router. + OT_BORDER_ROUTING_DHCP6_PD_STATE_STOPPED, ///< DHCPv6 PD in enabled but won't try to request and publish a prefix. + OT_BORDER_ROUTING_DHCP6_PD_STATE_RUNNING, ///< DHCPv6 PD is enabled and will try to request and publish a prefix. +} otBorderRoutingDhcp6PdState; + +/** + * Initializes the Border Routing Manager on given infrastructure interface. * * @note This method MUST be called before any other otBorderRouting* APIs. + * @note This method can be re-called to change the infrastructure interface, but the Border Routing Manager should be + * disabled first, and re-enabled after. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aInfraIfIndex The infrastructure interface index. @@ -117,11 +142,12 @@ typedef struct otBorderRoutingPrefixTableEntry * interface is running. * * @retval OT_ERROR_NONE Successfully started the Border Routing Manager on given infrastructure. - * @retval OT_ERROR_INVALID_STATE The Border Routing Manager has already been initialized. + * @retval OT_ERROR_INVALID_STATE The Border Routing Manager is in a state other than disabled or uninitialized. * @retval OT_ERROR_INVALID_ARGS The index of the infrastructure interface is not valid. * @retval OT_ERROR_FAILED Internal failure. Usually due to failure in generating random prefixes. * * @sa otPlatInfraIfStateChanged. + * @sa otBorderRoutingSetEnabled. * */ otError otBorderRoutingInit(otInstance *aInstance, uint32_t aInfraIfIndex, bool aInfraIfIsRunning); @@ -141,7 +167,17 @@ otError otBorderRoutingInit(otInstance *aInstance, uint32_t aInfraIfIndex, bool otError otBorderRoutingSetEnabled(otInstance *aInstance, bool aEnabled); /** - * This function gets the current preference used when advertising Route Info Options (RIO) in Router Advertisement + * Gets the current state of Border Routing Manager. + * + * @param[in] aInstance A pointer to an OpenThread instance. + * + * @returns The current state of Border Routing Manager. + * + */ +otBorderRoutingState otBorderRoutingGetState(otInstance *aInstance); + +/** + * Gets the current preference used when advertising Route Info Options (RIO) in Router Advertisement * messages sent over the infrastructure link. * * The RIO preference is determined as follows: @@ -157,7 +193,7 @@ otError otBorderRoutingSetEnabled(otInstance *aInstance, bool aEnabled); otRoutePreference otBorderRoutingGetRouteInfoOptionPreference(otInstance *aInstance); /** - * This function explicitly sets the preference to use when advertising Route Info Options (RIO) in Router + * Explicitly sets the preference to use when advertising Route Info Options (RIO) in Router * Advertisement messages sent over the infrastructure link. * * After a call to this function, BR will use the given preference for all its advertised RIOs. The preference can be @@ -170,7 +206,7 @@ otRoutePreference otBorderRoutingGetRouteInfoOptionPreference(otInstance *aInsta void otBorderRoutingSetRouteInfoOptionPreference(otInstance *aInstance, otRoutePreference aPreference); /** - * This function clears a previously set preference value for advertised Route Info Options. + * Clears a previously set preference value for advertised Route Info Options. * * After a call to this function, BR will use device's role to determine the RIO preference: Medium preference when * in router/leader role and low preference when in child role. @@ -180,6 +216,44 @@ void otBorderRoutingSetRouteInfoOptionPreference(otInstance *aInstance, otRouteP */ void otBorderRoutingClearRouteInfoOptionPreference(otInstance *aInstance); +/** + * Gets the current preference used for published routes in Network Data. + * + * The preference is determined as follows: + * + * - If explicitly set by user by calling `otBorderRoutingSetRoutePreference()`, the given preference is used. + * - Otherwise, it is determined automatically by `RoutingManager` based on the device's role and link quality. + * + * @param[in] aInstance A pointer to an OpenThread instance. + * + * @returns The current published route preference. + * + */ +otRoutePreference otBorderRoutingGetRoutePreference(otInstance *aInstance); + +/** + * Explicitly sets the preference of published routes in Network Data. + * + * After a call to this function, BR will use the given preference. The preference can be cleared by calling + * `otBorderRoutingClearRoutePreference()`. + * + * @param[in] aInstance A pointer to an OpenThread instance. + * @param[in] aPreference The route preference to use. + * + */ +void otBorderRoutingSetRoutePreference(otInstance *aInstance, otRoutePreference aPreference); + +/** + * Clears a previously set preference value for published routes in Network Data. + * + * After a call to this function, BR will determine the preference automatically based on the device's role and + * link quality (to the parent when acting as end-device). + * + * @param[in] aInstance A pointer to an OpenThread instance. + * + */ +void otBorderRoutingClearRoutePreference(otInstance *aInstance); + /** * Gets the local Off-Mesh-Routable (OMR) Prefix, for example `fdfc:1ff5:1512:5622::/64`. * @@ -187,15 +261,40 @@ void otBorderRoutingClearRouteInfoOptionPreference(otInstance *aInstance); * Thread network if there isn't already an OMR prefix. This prefix can be reached * from the local Wi-Fi or Ethernet network. * + * Note: When DHCPv6 PD is enabled, the border router may publish the prefix from + * DHCPv6 PD. + * * @param[in] aInstance A pointer to an OpenThread instance. * @param[out] aPrefix A pointer to where the prefix will be output to. * * @retval OT_ERROR_INVALID_STATE The Border Routing Manager is not initialized yet. * @retval OT_ERROR_NONE Successfully retrieved the OMR prefix. * + * @sa otBorderRoutingGetPdOmrPrefix + * */ otError otBorderRoutingGetOmrPrefix(otInstance *aInstance, otIp6Prefix *aPrefix); +/** + * Gets the DHCPv6 Prefix Delegation (PD) provided off-mesh-routable (OMR) prefix. + * + * Only mPrefix, mValidLifetime and mPreferredLifetime fields are used in the returned prefix info. + * + * `OPENTHREAD_CONFIG_BORDER_ROUTING_DHCP6_PD_ENABLE` must be enabled. + * + * @param[in] aInstance A pointer to an OpenThread instance. + * @param[out] aPrefixInfo A pointer to where the prefix info will be output to. + * + * @retval OT_ERROR_NONE Successfully retrieved the OMR prefix. + * @retval OT_ERROR_INVALID_STATE The Border Routing Manager is not initialized yet. + * @retval OT_ERROR_NOT_FOUND There are no valid PD prefix on this BR. + * + * @sa otBorderRoutingGetOmrPrefix + * @sa otPlatBorderRoutingProcessIcmp6Ra + * + */ +otError otBorderRoutingGetPdOmrPrefix(otInstance *aInstance, otBorderRoutingPrefixTableEntry *aPrefixInfo); + /** * Gets the currently favored Off-Mesh-Routable (OMR) Prefix. * @@ -212,20 +311,34 @@ otError otBorderRoutingGetOmrPrefix(otInstance *aInstance, otIp6Prefix *aPrefix) otError otBorderRoutingGetFavoredOmrPrefix(otInstance *aInstance, otIp6Prefix *aPrefix, otRoutePreference *aPreference); /** - * Gets the On-Link Prefix for the adjacent infrastructure link, for example `fd41:2650:a6f5:0::/64`. + * Gets the local On-Link Prefix for the adjacent infrastructure link. * - * An On-Link Prefix is a 64-bit prefix that's advertised on the infrastructure link if there isn't already a usable - * on-link prefix being advertised on the link. + * The local On-Link Prefix is a 64-bit prefix that's advertised on the infrastructure link if there isn't already a + * usable on-link prefix being advertised on the link. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[out] aPrefix A pointer to where the prefix will be output to. * * @retval OT_ERROR_INVALID_STATE The Border Routing Manager is not initialized yet. - * @retval OT_ERROR_NONE Successfully retrieved the on-link prefix. + * @retval OT_ERROR_NONE Successfully retrieved the local on-link prefix. * */ otError otBorderRoutingGetOnLinkPrefix(otInstance *aInstance, otIp6Prefix *aPrefix); +/** + * Gets the currently favored On-Link Prefix. + * + * The favored prefix is either a discovered on-link prefix on the infrastructure link or the local on-link prefix. + * + * @param[in] aInstance A pointer to an OpenThread instance. + * @param[out] aPrefix A pointer to where the prefix will be output to. + * + * @retval OT_ERROR_INVALID_STATE The Border Routing Manager is not initialized yet. + * @retval OT_ERROR_NONE Successfully retrieved the favored on-link prefix. + * + */ +otError otBorderRoutingGetFavoredOnLinkPrefix(otInstance *aInstance, otIp6Prefix *aPrefix); + /** * Gets the local NAT64 Prefix of the Border Router. * @@ -260,7 +373,7 @@ otError otBorderRoutingGetFavoredNat64Prefix(otInstance *aInstance, otRoutePreference *aPreference); /** - * This function initializes an `otBorderRoutingPrefixTableIterator`. + * Initializes an `otBorderRoutingPrefixTableIterator`. * * An iterator MUST be initialized before it is used. * @@ -276,7 +389,7 @@ otError otBorderRoutingGetFavoredNat64Prefix(otInstance *aInstance, void otBorderRoutingPrefixTableInitIterator(otInstance *aInstance, otBorderRoutingPrefixTableIterator *aIterator); /** - * This function iterates over the entries in the Border Router's discovered prefix table. + * Iterates over the entries in the Border Router's discovered prefix table. * * @param[in] aInstance The OpenThread instance. * @param[in,out] aIterator A pointer to the iterator. @@ -290,6 +403,17 @@ otError otBorderRoutingGetNextPrefixTableEntry(otInstance otBorderRoutingPrefixTableIterator *aIterator, otBorderRoutingPrefixTableEntry *aEntry); +/** + * Enables / Disables DHCPv6 Prefix Delegation. + * + * `OPENTHREAD_CONFIG_BORDER_ROUTING_DHCP6_PD_ENABLE` must be enabled. + * + * @param[in] aInstance A pointer to an OpenThread instance. + * @param[in] aEnabled Whether to accept platform generated RA messages. + * + */ +void otBorderRoutingDhcp6PdSetEnabled(otInstance *aInstance, bool aEnabled); + /** * @} * diff --git a/openthread/include/openthread/channel_manager.h b/openthread/include/openthread/channel_manager.h index 7307458068..6afe3a4aa7 100644 --- a/openthread/include/openthread/channel_manager.h +++ b/openthread/include/openthread/channel_manager.h @@ -69,7 +69,7 @@ extern "C" { void otChannelManagerRequestChannelChange(otInstance *aInstance, uint8_t aChannel); /** - * This function gets the channel from the last successful call to `otChannelManagerRequestChannelChange()` + * Gets the channel from the last successful call to `otChannelManagerRequestChannelChange()` * * @returns The last requested channel or zero if there has been no channel change request yet. * @@ -77,7 +77,7 @@ void otChannelManagerRequestChannelChange(otInstance *aInstance, uint8_t aChanne uint8_t otChannelManagerGetRequestedChannel(otInstance *aInstance); /** - * This function gets the delay (in seconds) used by Channel Manager for a channel change. + * Gets the delay (in seconds) used by Channel Manager for a channel change. * * @param[in] aInstance A pointer to an OpenThread instance. * @@ -102,7 +102,7 @@ uint16_t otChannelManagerGetDelay(otInstance *aInstance); otError otChannelManagerSetDelay(otInstance *aInstance, uint16_t aDelay); /** - * This function requests that `ChannelManager` checks and selects a new channel and starts a channel change. + * Requests that `ChannelManager` checks and selects a new channel and starts a channel change. * * Unlike the `otChannelManagerRequestChannelChange()` where the channel must be given as a parameter, this function * asks the `ChannelManager` to select a channel by itself (based on collected channel quality info). @@ -144,7 +144,7 @@ otError otChannelManagerRequestChannelSelect(otInstance *aInstance, bool aSkipQu void otChannelManagerSetAutoChannelSelectionEnabled(otInstance *aInstance, bool aEnabled); /** - * This function indicates whether the auto-channel-selection functionality is enabled or not. + * Indicates whether the auto-channel-selection functionality is enabled or not. * * @param[in] aInstance A pointer to an OpenThread instance. * @@ -166,7 +166,7 @@ bool otChannelManagerGetAutoChannelSelectionEnabled(otInstance *aInstance); otError otChannelManagerSetAutoChannelSelectionInterval(otInstance *aInstance, uint32_t aInterval); /** - * This function gets the period interval (in seconds) used by auto-channel-selection functionality. + * Gets the period interval (in seconds) used by auto-channel-selection functionality. * * @param[in] aInstance A pointer to an OpenThread instance. * diff --git a/openthread/include/openthread/channel_monitor.h b/openthread/include/openthread/channel_monitor.h index 12fa92af16..d69033ad15 100644 --- a/openthread/include/openthread/channel_monitor.h +++ b/openthread/include/openthread/channel_monitor.h @@ -82,7 +82,7 @@ extern "C" { otError otChannelMonitorSetEnabled(otInstance *aInstance, bool aEnabled); /** - * This function indicates whether the Channel Monitoring operation is enabled and running. + * Indicates whether the Channel Monitoring operation is enabled and running. * * @param[in] aInstance A pointer to an OpenThread instance. * diff --git a/openthread/include/openthread/child_supervision.h b/openthread/include/openthread/child_supervision.h index 3d47ba1d68..dbfd859deb 100644 --- a/openthread/include/openthread/child_supervision.h +++ b/openthread/include/openthread/child_supervision.h @@ -29,7 +29,7 @@ /** * @file * @brief - * This file includes the OpenThread API for child supervision feature + * This file includes the OpenThread API for child supervision feature. */ #ifndef OPENTHREAD_CHILD_SUPERVISION_H_ @@ -45,40 +45,37 @@ extern "C" { * @addtogroup api-child-supervision * * @brief - * This module includes functions for child supervision feature. - * - * The functions in this module are available when child supervision feature - * (`OPENTHREAD_CONFIG_CHILD_SUPERVISION_ENABLE`) is enabled. + * This module includes functions for Child Supervision feature. * * @{ * */ /** - * Gets the child supervision interval (in seconds). + * Gets the Child Supervision interval (in seconds) on a child. * - * Child supervision feature provides a mechanism for parent to ensure that a message is sent to each sleepy child - * within the supervision interval. If there is no transmission to the child within the supervision interval, - * OpenThread enqueues and sends a supervision message (a data message with empty payload) to the child. + * Child Supervision feature provides a mechanism for parent to ensure that a message is sent to each sleepy child + * within the supervision interval. If there is no transmission to the child within the supervision interval, OpenThread + * enqueues and sends a Child Supervision Message to the child. * * @param[in] aInstance A pointer to an OpenThread instance. * - * @returns The child supervision interval. Zero indicates that child supervision is disabled. + * @returns The child supervision interval. Zero indicates that supervision is disabled. * */ uint16_t otChildSupervisionGetInterval(otInstance *aInstance); /** - * Sets the child supervision interval (in seconds). + * Sets the child supervision interval (in seconds) on the child. * * @param[in] aInstance A pointer to an OpenThread instance. - * @param[in] aInterval The supervision interval (in seconds). Zero to disable supervision on parent. + * @param[in] aInterval The supervision interval (in seconds). Zero to disable supervision. * */ void otChildSupervisionSetInterval(otInstance *aInstance, uint16_t aInterval); /** - * Gets the supervision check timeout interval (in seconds). + * Gets the supervision check timeout interval (in seconds) on the child. * * If the device is a sleepy child and it does not hear from its parent within the specified check timeout, it initiates * the re-attach process (MLE Child Update Request/Response exchange with its parent). @@ -91,7 +88,7 @@ void otChildSupervisionSetInterval(otInstance *aInstance, uint16_t aInterval); uint16_t otChildSupervisionGetCheckTimeout(otInstance *aInstance); /** - * Sets the supervision check timeout interval (in seconds). + * Sets the supervision check timeout interval (in seconds) on the child. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aTimeout The check timeout (in seconds). Zero to disable supervision check on the child. @@ -99,6 +96,21 @@ uint16_t otChildSupervisionGetCheckTimeout(otInstance *aInstance); */ void otChildSupervisionSetCheckTimeout(otInstance *aInstance, uint16_t aTimeout); +/** + * Get the value of supervision check timeout failure counter. + * + * The counter tracks the number of supervision check failures on the child. It is incremented when the child does + * not hear from its parent within the specified check timeout interval. + * + */ +uint16_t otChildSupervisionGetCheckFailureCounter(otInstance *aInstance); + +/** + * Reset the supervision check timeout failure counter to zero. + * + */ +void otChildSupervisionResetCheckFailureCounter(otInstance *aInstance); + /** * @} * diff --git a/openthread/include/openthread/cli.h b/openthread/include/openthread/cli.h index 4a80c9e145..07bd92a373 100644 --- a/openthread/include/openthread/cli.h +++ b/openthread/include/openthread/cli.h @@ -46,7 +46,7 @@ extern "C" { #endif /** - * This structure represents a CLI command. + * Represents a CLI command. * */ typedef struct otCliCommand @@ -68,7 +68,7 @@ typedef struct otCliCommand */ /** - * This function pointer is called to notify about Console output. + * Pointer is called to notify about Console output. * * @param[out] aContext A user context pointer. * @param[in] aFormat The format string. @@ -90,7 +90,7 @@ typedef int (*otCliOutputCallback)(void *aContext, const char *aFormat, va_list void otCliInit(otInstance *aInstance, otCliOutputCallback aCallback, void *aContext); /** - * This method is called to feed in a console input line. + * Is called to feed in a console input line. * * @param[in] aBuf A pointer to a null-terminated string. * @@ -104,8 +104,10 @@ void otCliInputLine(char *aBuf); * @param[in] aLength @p aUserCommands length. * @param[in] aContext @p The context passed to the handler. * + * @retval OT_ERROR_NONE Successfully updated command table with commands from @p aUserCommands. + * @retval OT_ERROR_FAILED Maximum number of command entries have already been set. */ -void otCliSetUserCommands(const otCliCommand *aUserCommands, uint8_t aLength, void *aContext); +otError otCliSetUserCommands(const otCliCommand *aUserCommands, uint8_t aLength, void *aContext); /** * Write a number of bytes to the CLI console as a hex string. @@ -146,6 +148,15 @@ void otCliAppendResult(otError aError); */ void otCliPlatLogv(otLogLevel aLogLevel, otLogRegion aLogRegion, const char *aFormat, va_list aArgs); +/** + * Callback to allow vendor specific commands to be added to the user command table. + * + * Available when `OPENTHREAD_CONFIG_CLI_VENDOR_COMMANDS_ENABLE` is enabled and + * `OPENTHREAD_CONFIG_CLI_MAX_USER_CMD_ENTRIES` is greater than 1. + * + */ +extern void otCliVendorSetUserCommands(void); + /** * @} * diff --git a/openthread/include/openthread/coap.h b/openthread/include/openthread/coap.h index 30faca6f8a..4b7149adbe 100644 --- a/openthread/include/openthread/coap.h +++ b/openthread/include/openthread/coap.h @@ -151,7 +151,7 @@ typedef enum otCoapOptionType } otCoapOptionType; /** - * This structure represents a CoAP option. + * Represents a CoAP option. * */ typedef struct otCoapOption @@ -161,7 +161,7 @@ typedef struct otCoapOption } otCoapOption; /** - * This structure acts as an iterator for CoAP options + * Acts as an iterator for CoAP options * */ typedef struct otCoapOptionIterator @@ -329,7 +329,7 @@ typedef enum otCoapBlockSzx } otCoapBlockSzx; /** - * This function pointer is called when a CoAP response is received or on the request timeout. + * Pointer is called when a CoAP response is received or on the request timeout. * * @param[in] aContext A pointer to application-specific context. * @param[in] aMessage A pointer to the message buffer containing the response. NULL if no response was received. @@ -347,7 +347,7 @@ typedef void (*otCoapResponseHandler)(void *aContext, otError aResult); /** - * This function pointer is called when a CoAP request with a given Uri-Path is received. + * Pointer is called when a CoAP request with a given Uri-Path is received. * * @param[in] aContext A pointer to arbitrary context information. * @param[in] aMessage A pointer to the message. @@ -357,9 +357,9 @@ typedef void (*otCoapResponseHandler)(void *aContext, typedef void (*otCoapRequestHandler)(void *aContext, otMessage *aMessage, const otMessageInfo *aMessageInfo); /** - * This function pointer is called when a CoAP message with an block-wise transfer option is received. + * Pointer is called when a CoAP message with an block-wise transfer option is received. * - * This function is available when OPENTHREAD_CONFIG_COAP_BLOCKWISE_TRANSFER_ENABLE configuration + * Is available when OPENTHREAD_CONFIG_COAP_BLOCKWISE_TRANSFER_ENABLE configuration * is enabled. * * @param[in] aContext A pointer to application-specific context. @@ -383,9 +383,9 @@ typedef otError (*otCoapBlockwiseReceiveHook)(void *aContext, uint32_t aTotalLength); /** - * This function pointer is called before the next block in a block-wise transfer is sent. + * Pointer is called before the next block in a block-wise transfer is sent. * - * This function is available when OPENTHREAD_CONFIG_COAP_BLOCKWISE_TRANSFER_ENABLE configuration + * Is available when OPENTHREAD_CONFIG_COAP_BLOCKWISE_TRANSFER_ENABLE configuration * is enabled. * * @param[in] aContext A pointer to application-specific context. @@ -409,7 +409,7 @@ typedef otError (*otCoapBlockwiseTransmitHook)(void *aContext, bool *aMore); /** - * This structure represents a CoAP resource. + * Represents a CoAP resource. * */ typedef struct otCoapResource @@ -421,7 +421,7 @@ typedef struct otCoapResource } otCoapResource; /** - * This structure represents a CoAP resource with block-wise transfer. + * Represents a CoAP resource with block-wise transfer. * */ typedef struct otCoapBlockwiseResource @@ -445,7 +445,7 @@ typedef struct otCoapBlockwiseResource } otCoapBlockwiseResource; /** - * This structure represents the CoAP transmission parameters. + * Represents the CoAP transmission parameters. * * @note mAckTimeout * ((2 ** (mMaxRetransmit + 1)) - 1) * (mAckRandomFactorNumerator / mAckRandomFactorDenominator) * must not exceed what can be represented by a uint32_t (0xffffffff). This limitation allows OpenThread to @@ -483,7 +483,7 @@ typedef struct otCoapTxParameters } otCoapTxParameters; /** - * This function initializes the CoAP header. + * Initializes the CoAP header. * * @param[in,out] aMessage A pointer to the CoAP message to initialize. * @param[in] aType CoAP message type. @@ -493,7 +493,7 @@ typedef struct otCoapTxParameters void otCoapMessageInit(otMessage *aMessage, otCoapType aType, otCoapCode aCode); /** - * This function initializes a response message. + * Initializes a response message. * * @note Both message ID and token are set according to @p aRequest. * @@ -509,7 +509,7 @@ void otCoapMessageInit(otMessage *aMessage, otCoapType aType, otCoapCode aCode); otError otCoapMessageInitResponse(otMessage *aResponse, const otMessage *aRequest, otCoapType aType, otCoapCode aCode); /** - * This function sets the Token value and length in a header. + * Sets the Token value and length in a header. * * @param[in,out] aMessage A pointer to the CoAP message. * @param[in] aToken A pointer to the Token value. @@ -522,7 +522,7 @@ otError otCoapMessageInitResponse(otMessage *aResponse, const otMessage *aReques otError otCoapMessageSetToken(otMessage *aMessage, const uint8_t *aToken, uint8_t aTokenLength); /** - * This function sets the Token length and randomizes its value. + * Sets the Token length and randomizes its value. * * @param[in,out] aMessage A pointer to the CoAP message. * @param[in] aTokenLength The Length of a Token to set. @@ -531,7 +531,7 @@ otError otCoapMessageSetToken(otMessage *aMessage, const uint8_t *aToken, uint8_ void otCoapMessageGenerateToken(otMessage *aMessage, uint8_t aTokenLength); /** - * This function appends the Content Format CoAP option as specified in + * Appends the Content Format CoAP option as specified in * https://tools.ietf.org/html/rfc7252#page-92. This *must* be called before * setting otCoapMessageSetPayloadMarker if a payload is to be included in the * message. @@ -552,7 +552,7 @@ void otCoapMessageGenerateToken(otMessage *aMessage, uint8_t aTokenLength); otError otCoapMessageAppendContentFormatOption(otMessage *aMessage, otCoapOptionContentFormat aContentFormat); /** - * This function appends a CoAP option in a header. + * Appends a CoAP option in a header. * * @param[in,out] aMessage A pointer to the CoAP message. * @param[in] aNumber The CoAP Option number. @@ -567,7 +567,7 @@ otError otCoapMessageAppendContentFormatOption(otMessage *aMessage, otCoapOption otError otCoapMessageAppendOption(otMessage *aMessage, uint16_t aNumber, uint16_t aLength, const void *aValue); /** - * This function appends an unsigned integer CoAP option as specified in + * Appends an unsigned integer CoAP option as specified in * https://tools.ietf.org/html/rfc7252#section-3.2 * * @param[in,out] aMessage A pointer to the CoAP message. @@ -583,7 +583,7 @@ otError otCoapMessageAppendOption(otMessage *aMessage, uint16_t aNumber, uint16_ otError otCoapMessageAppendUintOption(otMessage *aMessage, uint16_t aNumber, uint32_t aValue); /** - * This function appends an Observe option. + * Appends an Observe option. * * @param[in,out] aMessage A pointer to the CoAP message. * @param[in] aObserve Observe field value. @@ -596,7 +596,7 @@ otError otCoapMessageAppendUintOption(otMessage *aMessage, uint16_t aNumber, uin otError otCoapMessageAppendObserveOption(otMessage *aMessage, uint32_t aObserve); /** - * This function appends a Uri-Path option. + * Appends a Uri-Path option. * * @param[in,out] aMessage A pointer to the CoAP message. * @param[in] aUriPath A pointer to a NULL-terminated string. @@ -609,7 +609,7 @@ otError otCoapMessageAppendObserveOption(otMessage *aMessage, uint32_t aObserve) otError otCoapMessageAppendUriPathOptions(otMessage *aMessage, const char *aUriPath); /** - * This function converts a CoAP Block option SZX field to the actual block size + * Converts a CoAP Block option SZX field to the actual block size * * @param[in] aSize Block size exponent. * @@ -619,7 +619,7 @@ otError otCoapMessageAppendUriPathOptions(otMessage *aMessage, const char *aUriP uint16_t otCoapBlockSizeFromExponent(otCoapBlockSzx aSize); /** - * This function appends a Block2 option + * Appends a Block2 option * * @param[in,out] aMessage A pointer to the CoAP message. * @param[in] aNum Current block number. @@ -634,7 +634,7 @@ uint16_t otCoapBlockSizeFromExponent(otCoapBlockSzx aSize); otError otCoapMessageAppendBlock2Option(otMessage *aMessage, uint32_t aNum, bool aMore, otCoapBlockSzx aSize); /** - * This function appends a Block1 option + * Appends a Block1 option * * @param[in,out] aMessage A pointer to the CoAP message. * @param[in] aNum Current block number. @@ -649,7 +649,7 @@ otError otCoapMessageAppendBlock2Option(otMessage *aMessage, uint32_t aNum, bool otError otCoapMessageAppendBlock1Option(otMessage *aMessage, uint32_t aNum, bool aMore, otCoapBlockSzx aSize); /** - * This function appends a Proxy-Uri option. + * Appends a Proxy-Uri option. * * @param[in,out] aMessage A pointer to the CoAP message. * @param[in] aUriPath A pointer to a NULL-terminated string. @@ -662,7 +662,7 @@ otError otCoapMessageAppendBlock1Option(otMessage *aMessage, uint32_t aNum, bool otError otCoapMessageAppendProxyUriOption(otMessage *aMessage, const char *aUriPath); /** - * This function appends a Max-Age option. + * Appends a Max-Age option. * * @param[in,out] aMessage A pointer to the CoAP message. * @param[in] aMaxAge The Max-Age value. @@ -675,7 +675,7 @@ otError otCoapMessageAppendProxyUriOption(otMessage *aMessage, const char *aUriP otError otCoapMessageAppendMaxAgeOption(otMessage *aMessage, uint32_t aMaxAge); /** - * This function appends a single Uri-Query option. + * Appends a single Uri-Query option. * * @param[in,out] aMessage A pointer to the CoAP message. * @param[in] aUriQuery A pointer to NULL-terminated string, which should contain a single key=value pair. @@ -687,7 +687,7 @@ otError otCoapMessageAppendMaxAgeOption(otMessage *aMessage, uint32_t aMaxAge); otError otCoapMessageAppendUriQueryOption(otMessage *aMessage, const char *aUriQuery); /** - * This function adds Payload Marker indicating beginning of the payload to the CoAP header. + * Adds Payload Marker indicating beginning of the payload to the CoAP header. * * @param[in,out] aMessage A pointer to the CoAP message. * @@ -698,7 +698,7 @@ otError otCoapMessageAppendUriQueryOption(otMessage *aMessage, const char *aUriQ otError otCoapMessageSetPayloadMarker(otMessage *aMessage); /** - * This function returns the Type value. + * Returns the Type value. * * @param[in] aMessage A pointer to the CoAP message. * @@ -708,7 +708,7 @@ otError otCoapMessageSetPayloadMarker(otMessage *aMessage); otCoapType otCoapMessageGetType(const otMessage *aMessage); /** - * This function returns the Code value. + * Returns the Code value. * * @param[in] aMessage A pointer to the CoAP message. * @@ -718,7 +718,7 @@ otCoapType otCoapMessageGetType(const otMessage *aMessage); otCoapCode otCoapMessageGetCode(const otMessage *aMessage); /** - * This function sets the Code value. + * Sets the Code value. * * @param[in,out] aMessage A pointer to the CoAP message to initialize. * @param[in] aCode CoAP message code. @@ -727,7 +727,7 @@ otCoapCode otCoapMessageGetCode(const otMessage *aMessage); void otCoapMessageSetCode(otMessage *aMessage, otCoapCode aCode); /** - * This method returns the CoAP Code as human readable string. + * Returns the CoAP Code as human readable string. * * @param[in] aMessage A pointer to the CoAP message. * @@ -737,7 +737,7 @@ void otCoapMessageSetCode(otMessage *aMessage, otCoapCode aCode); const char *otCoapMessageCodeToString(const otMessage *aMessage); /** - * This function returns the Message ID value. + * Returns the Message ID value. * * @param[in] aMessage A pointer to the CoAP message. * @@ -747,7 +747,7 @@ const char *otCoapMessageCodeToString(const otMessage *aMessage); uint16_t otCoapMessageGetMessageId(const otMessage *aMessage); /** - * This function returns the Token length. + * Returns the Token length. * * @param[in] aMessage A pointer to the CoAP message. * @@ -757,7 +757,7 @@ uint16_t otCoapMessageGetMessageId(const otMessage *aMessage); uint8_t otCoapMessageGetTokenLength(const otMessage *aMessage); /** - * This function returns a pointer to the Token value. + * Returns a pointer to the Token value. * * @param[in] aMessage A pointer to the CoAP message. * @@ -767,7 +767,7 @@ uint8_t otCoapMessageGetTokenLength(const otMessage *aMessage); const uint8_t *otCoapMessageGetToken(const otMessage *aMessage); /** - * This function initialises an iterator for the options in the given message. + * Initialises an iterator for the options in the given message. * * @param[in,out] aIterator A pointer to the CoAP message option iterator. * @param[in] aMessage A pointer to the CoAP message. @@ -779,7 +779,7 @@ const uint8_t *otCoapMessageGetToken(const otMessage *aMessage); otError otCoapOptionIteratorInit(otCoapOptionIterator *aIterator, const otMessage *aMessage); /** - * This function returns a pointer to the first option matching the specified option number. + * Returns a pointer to the first option matching the specified option number. * * @param[in] aIterator A pointer to the CoAP message option iterator. * @param[in] aOption The option number sought. @@ -790,7 +790,7 @@ otError otCoapOptionIteratorInit(otCoapOptionIterator *aIterator, const otMessag const otCoapOption *otCoapOptionIteratorGetFirstOptionMatching(otCoapOptionIterator *aIterator, uint16_t aOption); /** - * This function returns a pointer to the first option. + * Returns a pointer to the first option. * * @param[in,out] aIterator A pointer to the CoAP message option iterator. * @@ -800,7 +800,7 @@ const otCoapOption *otCoapOptionIteratorGetFirstOptionMatching(otCoapOptionItera const otCoapOption *otCoapOptionIteratorGetFirstOption(otCoapOptionIterator *aIterator); /** - * This function returns a pointer to the next option matching the specified option number. + * Returns a pointer to the next option matching the specified option number. * * @param[in] aIterator A pointer to the CoAP message option iterator. * @param[in] aOption The option number sought. @@ -811,7 +811,7 @@ const otCoapOption *otCoapOptionIteratorGetFirstOption(otCoapOptionIterator *aIt const otCoapOption *otCoapOptionIteratorGetNextOptionMatching(otCoapOptionIterator *aIterator, uint16_t aOption); /** - * This function returns a pointer to the next option. + * Returns a pointer to the next option. * * @param[in,out] aIterator A pointer to the CoAP message option iterator. * @@ -821,7 +821,7 @@ const otCoapOption *otCoapOptionIteratorGetNextOptionMatching(otCoapOptionIterat const otCoapOption *otCoapOptionIteratorGetNextOption(otCoapOptionIterator *aIterator); /** - * This function fills current option value into @p aValue assuming the current value is an unsigned integer encoded + * Fills current option value into @p aValue assuming the current value is an unsigned integer encoded * according to https://tools.ietf.org/html/rfc7252#section-3.2 * * @param[in,out] aIterator A pointer to the CoAP message option iterator. @@ -836,7 +836,7 @@ const otCoapOption *otCoapOptionIteratorGetNextOption(otCoapOptionIterator *aIte otError otCoapOptionIteratorGetOptionUintValue(otCoapOptionIterator *aIterator, uint64_t *aValue); /** - * This function fills current option value into @p aValue. + * Fills current option value into @p aValue. * * @param[in,out] aIterator A pointer to the CoAP message option iterator. * @param[out] aValue A pointer to a buffer to receive the option value. @@ -848,7 +848,7 @@ otError otCoapOptionIteratorGetOptionUintValue(otCoapOptionIterator *aIterator, otError otCoapOptionIteratorGetOptionValue(otCoapOptionIterator *aIterator, void *aValue); /** - * This function creates a new CoAP message. + * Creates a new CoAP message. * * @note If @p aSettings is 'NULL', the link layer security is enabled and the message priority is set to * OT_MESSAGE_PRIORITY_NORMAL by default. @@ -862,7 +862,7 @@ otError otCoapOptionIteratorGetOptionValue(otCoapOptionIterator *aIterator, void otMessage *otCoapNewMessage(otInstance *aInstance, const otMessageSettings *aSettings); /** - * This function sends a CoAP request with custom transmission parameters. + * Sends a CoAP request with custom transmission parameters. * * If a response for a request is expected, respective function and context information should be provided. * If no response is expected, these arguments should be NULL pointers. @@ -878,9 +878,9 @@ otMessage *otCoapNewMessage(otInstance *aInstance, const otMessageSettings *aSet * 2. mAckRandomFactorNumerator / mAckRandomFactorDenominator must not be below 1.0. * 3. The calculated exchange life time must not overflow uint32_t. * - * @retval OT_ERROR_INVALID_ARGS @p aTxParameters is invalid. * @retval OT_ERROR_NONE Successfully sent CoAP message. * @retval OT_ERROR_NO_BUFS Failed to allocate retransmission data. + * @retval OT_ERROR_INVALID_ARGS Invalid arguments are given. * */ otError otCoapSendRequestWithParameters(otInstance *aInstance, @@ -891,9 +891,9 @@ otError otCoapSendRequestWithParameters(otInstance *aInstance, const otCoapTxParameters *aTxParameters); /** - * This function sends a CoAP request block-wise with custom transmission parameters. + * Sends a CoAP request block-wise with custom transmission parameters. * - * This function is available when OPENTHREAD_CONFIG_COAP_BLOCKWISE_TRANSFER_ENABLE configuration + * Is available when OPENTHREAD_CONFIG_COAP_BLOCKWISE_TRANSFER_ENABLE configuration * is enabled. * * If a response for a request is expected, respective function and context information should be provided. @@ -909,8 +909,9 @@ otError otCoapSendRequestWithParameters(otInstance *aInstance, * @param[in] aTransmitHook A pointer to a hook function for outgoing block-wise transfer. * @param[in] aReceiveHook A pointer to a hook function for incoming block-wise transfer. * - * @retval OT_ERROR_NONE Successfully sent CoAP message. - * @retval OT_ERROR_NO_BUFS Failed to allocate retransmission data. + * @retval OT_ERROR_NONE Successfully sent CoAP message. + * @retval OT_ERROR_NO_BUFS Failed to allocate retransmission data. + * @retval OT_ERROR_INVALID_ARGS Invalid arguments are given. * */ otError otCoapSendRequestBlockWiseWithParameters(otInstance *aInstance, @@ -923,9 +924,9 @@ otError otCoapSendRequestBlockWiseWithParameters(otInstance *aIn otCoapBlockwiseReceiveHook aReceiveHook); /** - * This function sends a CoAP request block-wise. + * Sends a CoAP request block-wise. * - * This function is available when OPENTHREAD_CONFIG_COAP_BLOCKWISE_TRANSFER_ENABLE configuration + * Is available when OPENTHREAD_CONFIG_COAP_BLOCKWISE_TRANSFER_ENABLE configuration * is enabled. * * If a response for a request is expected, respective function and context information should be provided. @@ -958,7 +959,7 @@ static inline otError otCoapSendRequestBlockWise(otInstance *aIn } /** - * This function sends a CoAP request. + * Sends a CoAP request. * * If a response for a request is expected, respective function and context information should be provided. * If no response is expected, these arguments should be NULL pointers. @@ -984,7 +985,7 @@ static inline otError otCoapSendRequest(otInstance *aInstance, } /** - * This function starts the CoAP server. + * Starts the CoAP server. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aPort The local UDP port to bind to. @@ -996,7 +997,7 @@ static inline otError otCoapSendRequest(otInstance *aInstance, otError otCoapStart(otInstance *aInstance, uint16_t aPort); /** - * This function stops the CoAP server. + * Stops the CoAP server. * * @param[in] aInstance A pointer to an OpenThread instance. * @@ -1006,7 +1007,7 @@ otError otCoapStart(otInstance *aInstance, uint16_t aPort); otError otCoapStop(otInstance *aInstance); /** - * This function adds a resource to the CoAP server. + * Adds a resource to the CoAP server. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aResource A pointer to the resource. @@ -1015,7 +1016,7 @@ otError otCoapStop(otInstance *aInstance); void otCoapAddResource(otInstance *aInstance, otCoapResource *aResource); /** - * This function removes a resource from the CoAP server. + * Removes a resource from the CoAP server. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aResource A pointer to the resource. @@ -1024,7 +1025,7 @@ void otCoapAddResource(otInstance *aInstance, otCoapResource *aResource); void otCoapRemoveResource(otInstance *aInstance, otCoapResource *aResource); /** - * This function adds a block-wise resource to the CoAP server. + * Adds a block-wise resource to the CoAP server. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aResource A pointer to the resource. @@ -1033,7 +1034,7 @@ void otCoapRemoveResource(otInstance *aInstance, otCoapResource *aResource); void otCoapAddBlockWiseResource(otInstance *aInstance, otCoapBlockwiseResource *aResource); /** - * This function removes a block-wise resource from the CoAP server. + * Removes a block-wise resource from the CoAP server. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aResource A pointer to the resource. @@ -1042,7 +1043,7 @@ void otCoapAddBlockWiseResource(otInstance *aInstance, otCoapBlockwiseResource * void otCoapRemoveBlockWiseResource(otInstance *aInstance, otCoapBlockwiseResource *aResource); /** - * This function sets the default handler for unhandled CoAP requests. + * Sets the default handler for unhandled CoAP requests. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aHandler A function pointer that shall be called when an unhandled request arrives. @@ -1052,15 +1053,16 @@ void otCoapRemoveBlockWiseResource(otInstance *aInstance, otCoapBlockwiseResourc void otCoapSetDefaultHandler(otInstance *aInstance, otCoapRequestHandler aHandler, void *aContext); /** - * This function sends a CoAP response from the server with custom transmission parameters. + * Sends a CoAP response from the server with custom transmission parameters. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aMessage A pointer to the CoAP response to send. * @param[in] aMessageInfo A pointer to the message info associated with @p aMessage. * @param[in] aTxParameters A pointer to transmission parameters for this response. Use NULL for defaults. * - * @retval OT_ERROR_NONE Successfully enqueued the CoAP response message. - * @retval OT_ERROR_NO_BUFS Insufficient buffers available to send the CoAP response. + * @retval OT_ERROR_NONE Successfully enqueued the CoAP response message. + * @retval OT_ERROR_NO_BUFS Insufficient buffers available to send the CoAP response. + * @retval OT_ERROR_INVALID_ARGS Invalid arguments are given. * */ otError otCoapSendResponseWithParameters(otInstance *aInstance, @@ -1069,9 +1071,9 @@ otError otCoapSendResponseWithParameters(otInstance *aInstance, const otCoapTxParameters *aTxParameters); /** - * This function sends a CoAP response block-wise from the server with custom transmission parameters. + * Sends a CoAP response block-wise from the server with custom transmission parameters. * - * This function is available when OPENTHREAD_CONFIG_COAP_BLOCKWISE_TRANSFER_ENABLE configuration + * Is available when OPENTHREAD_CONFIG_COAP_BLOCKWISE_TRANSFER_ENABLE configuration * is enabled. * * @param[in] aInstance A pointer to an OpenThread instance. @@ -1081,8 +1083,9 @@ otError otCoapSendResponseWithParameters(otInstance *aInstance, * @param[in] aContext A pointer to arbitrary context information. May be NULL if not used. * @param[in] aTransmitHook A pointer to a hook function for outgoing block-wise transfer. * - * @retval OT_ERROR_NONE Successfully enqueued the CoAP response message. - * @retval OT_ERROR_NO_BUFS Insufficient buffers available to send the CoAP response. + * @retval OT_ERROR_NONE Successfully enqueued the CoAP response message. + * @retval OT_ERROR_NO_BUFS Insufficient buffers available to send the CoAP response. + * @retval OT_ERROR_INVALID_ARGS Invalid arguments are given. * */ otError otCoapSendResponseBlockWiseWithParameters(otInstance *aInstance, @@ -1093,9 +1096,9 @@ otError otCoapSendResponseBlockWiseWithParameters(otInstance *aI otCoapBlockwiseTransmitHook aTransmitHook); /** - * This function sends a CoAP response block-wise from the server. + * Sends a CoAP response block-wise from the server. * - * This function is available when OPENTHREAD_CONFIG_COAP_BLOCKWISE_TRANSFER_ENABLE configuration + * Is available when OPENTHREAD_CONFIG_COAP_BLOCKWISE_TRANSFER_ENABLE configuration * is enabled. * * @param[in] aInstance A pointer to an OpenThread instance. @@ -1119,7 +1122,7 @@ static inline otError otCoapSendResponseBlockWise(otInstance *aI } /** - * This function sends a CoAP response from the server. + * Sends a CoAP response from the server. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aMessage A pointer to the CoAP response to send. diff --git a/openthread/include/openthread/coap_secure.h b/openthread/include/openthread/coap_secure.h index 6f424096a5..6a96ea3d75 100644 --- a/openthread/include/openthread/coap_secure.h +++ b/openthread/include/openthread/coap_secure.h @@ -68,7 +68,7 @@ extern "C" { #define OT_DEFAULT_COAP_SECURE_PORT 5684 ///< Default CoAP Secure port, as specified in RFC 7252 /** - * This function pointer is called when the DTLS connection state changes. + * Pointer is called when the DTLS connection state changes. * * @param[in] aConnected true, if a connection was established, false otherwise. * @param[in] aContext A pointer to arbitrary context information. @@ -77,7 +77,7 @@ extern "C" { typedef void (*otHandleCoapSecureClientConnect)(bool aConnected, void *aContext); /** - * This function starts the CoAP Secure service. + * Starts the CoAP Secure service. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aPort The local UDP port to bind to. @@ -88,7 +88,7 @@ typedef void (*otHandleCoapSecureClientConnect)(bool aConnected, void *aContext) otError otCoapSecureStart(otInstance *aInstance, uint16_t aPort); /** - * This function stops the CoAP Secure server. + * Stops the CoAP Secure server. * * @param[in] aInstance A pointer to an OpenThread instance. * @@ -96,7 +96,7 @@ otError otCoapSecureStart(otInstance *aInstance, uint16_t aPort); void otCoapSecureStop(otInstance *aInstance); /** - * This method sets the Pre-Shared Key (PSK) and cipher suite + * Sets the Pre-Shared Key (PSK) and cipher suite * DTLS_PSK_WITH_AES_128_CCM_8. * * @note This function requires the build-time feature `MBEDTLS_KEY_EXCHANGE_PSK_ENABLED` to be enabled. @@ -115,7 +115,7 @@ void otCoapSecureSetPsk(otInstance *aInstance, uint16_t aPskIdLength); /** - * This method returns the peer x509 certificate base64 encoded. + * Returns the peer x509 certificate base64 encoded. * * @note This function requires the build-time features `MBEDTLS_BASE64_C` and * `MBEDTLS_SSL_KEEP_PEER_CERTIFICATE` to be enabled. @@ -136,7 +136,7 @@ otError otCoapSecureGetPeerCertificateBase64(otInstance *aInstance, size_t aCertBufferSize); /** - * This method sets the authentication mode for the coap secure connection. + * Sets the authentication mode for the coap secure connection. * * Disable or enable the verification of peer certificate. * Must be called before start. @@ -148,7 +148,7 @@ otError otCoapSecureGetPeerCertificateBase64(otInstance *aInstance, void otCoapSecureSetSslAuthMode(otInstance *aInstance, bool aVerifyPeerCertificate); /** - * This method sets the local device's X509 certificate with corresponding private key for + * Sets the local device's X509 certificate with corresponding private key for * DTLS session with DTLS_ECDHE_ECDSA_WITH_AES_128_CCM_8. * * @note This function requires `MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED=1`. @@ -167,7 +167,7 @@ void otCoapSecureSetCertificate(otInstance *aInstance, uint32_t aPrivateKeyLength); /** - * This method sets the trusted top level CAs. It is needed for validating the + * Sets the trusted top level CAs. It is needed for validating the * certificate of the peer. * * DTLS mode "ECDHE ECDSA with AES 128 CCM 8" for Application CoAPS. @@ -184,7 +184,7 @@ void otCoapSecureSetCaCertificateChain(otInstance *aInstance, uint32_t aX509CaCertChainLength); /** - * This method initializes DTLS session with a peer. + * Initializes DTLS session with a peer. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aSockAddr A pointer to the remote socket address. @@ -201,7 +201,7 @@ otError otCoapSecureConnect(otInstance *aInstance, void *aContext); /** - * This method stops the DTLS connection. + * Stops the DTLS connection. * * @param[in] aInstance A pointer to an OpenThread instance. * @@ -209,7 +209,7 @@ otError otCoapSecureConnect(otInstance *aInstance, void otCoapSecureDisconnect(otInstance *aInstance); /** - * This method indicates whether or not the DTLS session is connected. + * Indicates whether or not the DTLS session is connected. * * @param[in] aInstance A pointer to an OpenThread instance. * @@ -220,7 +220,7 @@ void otCoapSecureDisconnect(otInstance *aInstance); bool otCoapSecureIsConnected(otInstance *aInstance); /** - * This method indicates whether or not the DTLS session is active. + * Indicates whether or not the DTLS session is active. * * @param[in] aInstance A pointer to an OpenThread instance. * @@ -231,9 +231,9 @@ bool otCoapSecureIsConnected(otInstance *aInstance); bool otCoapSecureIsConnectionActive(otInstance *aInstance); /** - * This method sends a CoAP request block-wise over secure DTLS connection. + * Sends a CoAP request block-wise over secure DTLS connection. * - * This function is available when OPENTHREAD_CONFIG_COAP_BLOCKWISE_TRANSFER_ENABLE configuration + * Is available when OPENTHREAD_CONFIG_COAP_BLOCKWISE_TRANSFER_ENABLE configuration * is enabled. * * If a response for a request is expected, respective function and context information should be provided. @@ -260,7 +260,7 @@ otError otCoapSecureSendRequestBlockWise(otInstance *aInstance, otCoapBlockwiseReceiveHook aReceiveHook); /** - * This method sends a CoAP request over secure DTLS connection. + * Sends a CoAP request over secure DTLS connection. * * If a response for a request is expected, respective function and context information should be provided. * If no response is expected, these arguments should be NULL pointers. @@ -282,7 +282,7 @@ otError otCoapSecureSendRequest(otInstance *aInstance, void *aContext); /** - * This function adds a resource to the CoAP Secure server. + * Adds a resource to the CoAP Secure server. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aResource A pointer to the resource. @@ -291,7 +291,7 @@ otError otCoapSecureSendRequest(otInstance *aInstance, void otCoapSecureAddResource(otInstance *aInstance, otCoapResource *aResource); /** - * This function removes a resource from the CoAP Secure server. + * Removes a resource from the CoAP Secure server. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aResource A pointer to the resource. @@ -300,7 +300,7 @@ void otCoapSecureAddResource(otInstance *aInstance, otCoapResource *aResource); void otCoapSecureRemoveResource(otInstance *aInstance, otCoapResource *aResource); /** - * This function adds a block-wise resource to the CoAP Secure server. + * Adds a block-wise resource to the CoAP Secure server. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aResource A pointer to the resource. @@ -309,7 +309,7 @@ void otCoapSecureRemoveResource(otInstance *aInstance, otCoapResource *aResource void otCoapSecureAddBlockWiseResource(otInstance *aInstance, otCoapBlockwiseResource *aResource); /** - * This function removes a block-wise resource from the CoAP Secure server. + * Removes a block-wise resource from the CoAP Secure server. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aResource A pointer to the resource. @@ -318,7 +318,7 @@ void otCoapSecureAddBlockWiseResource(otInstance *aInstance, otCoapBlockwiseReso void otCoapSecureRemoveBlockWiseResource(otInstance *aInstance, otCoapBlockwiseResource *aResource); /** - * This function sets the default handler for unhandled CoAP Secure requests. + * Sets the default handler for unhandled CoAP Secure requests. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aHandler A function pointer that shall be called when an unhandled request arrives. @@ -328,7 +328,7 @@ void otCoapSecureRemoveBlockWiseResource(otInstance *aInstance, otCoapBlockwiseR void otCoapSecureSetDefaultHandler(otInstance *aInstance, otCoapRequestHandler aHandler, void *aContext); /** - * This method sets the connected callback to indicate, when + * Sets the connected callback to indicate, when * a Client connect to the CoAP Secure server. * * @param[in] aInstance A pointer to an OpenThread instance. @@ -341,9 +341,9 @@ void otCoapSecureSetClientConnectedCallback(otInstance *aIns void *aContext); /** - * This function sends a CoAP response block-wise from the CoAP Secure server. + * Sends a CoAP response block-wise from the CoAP Secure server. * - * This function is available when OPENTHREAD_CONFIG_COAP_BLOCKWISE_TRANSFER_ENABLE configuration + * Is available when OPENTHREAD_CONFIG_COAP_BLOCKWISE_TRANSFER_ENABLE configuration * is enabled. * * @param[in] aInstance A pointer to an OpenThread instance. @@ -363,7 +363,7 @@ otError otCoapSecureSendResponseBlockWise(otInstance *aInstance, otCoapBlockwiseTransmitHook aTransmitHook); /** - * This function sends a CoAP response from the CoAP Secure server. + * Sends a CoAP response from the CoAP Secure server. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aMessage A pointer to the CoAP response to send. diff --git a/openthread/include/openthread/commissioner.h b/openthread/include/openthread/commissioner.h index 9bf09b814b..9f714b389d 100644 --- a/openthread/include/openthread/commissioner.h +++ b/openthread/include/openthread/commissioner.h @@ -56,7 +56,7 @@ extern "C" { */ /** - * This enumeration defines the Commissioner State. + * Defines the Commissioner State. * */ typedef enum otCommissionerState @@ -67,7 +67,7 @@ typedef enum otCommissionerState } otCommissionerState; /** - * This enumeration defines a Joiner Event on the Commissioner. + * Defines a Joiner Event on the Commissioner. * */ typedef enum otCommissionerJoinerEvent @@ -87,7 +87,7 @@ typedef enum otCommissionerJoinerEvent #define OT_STEERING_DATA_MAX_LENGTH 16 ///< Max steering data length (bytes) /** - * This structure represents the steering data. + * Represents the steering data. * */ typedef struct otSteeringData @@ -97,7 +97,7 @@ typedef struct otSteeringData } otSteeringData; /** - * This structure represents a Commissioning Dataset. + * Represents a Commissioning Dataset. * */ typedef struct otCommissioningDataset @@ -116,7 +116,7 @@ typedef struct otCommissioningDataset #define OT_JOINER_MAX_PSKD_LENGTH 32 ///< Maximum string length of a Joiner PSKd (does not include null char). /** - * This structure represents a Joiner PSKd. + * Represents a Joiner PSKd. * */ typedef struct otJoinerPskd @@ -125,7 +125,7 @@ typedef struct otJoinerPskd } otJoinerPskd; /** - * This enumeration defines a Joiner Info Type. + * Defines a Joiner Info Type. * */ typedef enum otJoinerInfoType @@ -136,7 +136,7 @@ typedef enum otJoinerInfoType } otJoinerInfoType; /** - * This structure represents a Joiner Info. + * Represents a Joiner Info. * */ typedef struct otJoinerInfo @@ -152,7 +152,7 @@ typedef struct otJoinerInfo } otJoinerInfo; /** - * This function pointer is called whenever the commissioner state changes. + * Pointer is called whenever the commissioner state changes. * * @param[in] aState The Commissioner state. * @param[in] aContext A pointer to application-specific context. @@ -161,7 +161,7 @@ typedef struct otJoinerInfo typedef void (*otCommissionerStateCallback)(otCommissionerState aState, void *aContext); /** - * This function pointer is called whenever the joiner state changes. + * Pointer is called whenever the joiner state changes. * * @param[in] aEvent The joiner event type. * @param[in] aJoinerInfo A pointer to the Joiner Info. @@ -175,7 +175,7 @@ typedef void (*otCommissionerJoinerCallback)(otCommissionerJoinerEvent aEvent, void *aContext); /** - * This function enables the Thread Commissioner role. + * Enables the Thread Commissioner role. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aStateCallback A pointer to a function that is called when the commissioner state changes. @@ -193,7 +193,7 @@ otError otCommissionerStart(otInstance *aInstance, void *aCallbackContext); /** - * This function disables the Thread Commissioner role. + * Disables the Thread Commissioner role. * * @param[in] aInstance A pointer to an OpenThread instance. * @@ -204,7 +204,7 @@ otError otCommissionerStart(otInstance *aInstance, otError otCommissionerStop(otInstance *aInstance); /** - * This function returns the Commissioner Id. + * Returns the Commissioner Id. * * @param[in] aInstance A pointer to an OpenThread instance. * @@ -214,7 +214,7 @@ otError otCommissionerStop(otInstance *aInstance); const char *otCommissionerGetId(otInstance *aInstance); /** - * This function sets the Commissioner Id. + * Sets the Commissioner Id. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aId A pointer to a string character array. Must be null terminated. @@ -227,7 +227,7 @@ const char *otCommissionerGetId(otInstance *aInstance); otError otCommissionerSetId(otInstance *aInstance, const char *aId); /** - * This function adds a Joiner entry. + * Adds a Joiner entry. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aEui64 A pointer to the Joiner's IEEE EUI-64 or NULL for any Joiner. @@ -248,7 +248,7 @@ otError otCommissionerAddJoiner(otInstance *aInstance, uint32_t aTimeout); /** - * This function adds a Joiner entry with a given Joiner Discerner value. + * Adds a Joiner entry with a given Joiner Discerner value. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aDiscerner A pointer to the Joiner Discerner. @@ -269,7 +269,7 @@ otError otCommissionerAddJoinerWithDiscerner(otInstance *aInstance, uint32_t aTimeout); /** - * This method get joiner info at aIterator position. + * Get joiner info at aIterator position. * * @param[in] aInstance A pointer to instance. * @param[in,out] aIterator A pointer to the Joiner Info iterator context. @@ -282,7 +282,7 @@ otError otCommissionerAddJoinerWithDiscerner(otInstance *aInstance, otError otCommissionerGetNextJoinerInfo(otInstance *aInstance, uint16_t *aIterator, otJoinerInfo *aJoiner); /** - * This function removes a Joiner entry. + * Removes a Joiner entry. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aEui64 A pointer to the Joiner's IEEE EUI-64 or NULL for any Joiner. @@ -298,7 +298,7 @@ otError otCommissionerGetNextJoinerInfo(otInstance *aInstance, uint16_t *aIterat otError otCommissionerRemoveJoiner(otInstance *aInstance, const otExtAddress *aEui64); /** - * This function removes a Joiner entry. + * Removes a Joiner entry. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aDiscerner A pointer to the Joiner Discerner. @@ -314,7 +314,7 @@ otError otCommissionerRemoveJoiner(otInstance *aInstance, const otExtAddress *aE otError otCommissionerRemoveJoinerWithDiscerner(otInstance *aInstance, const otJoinerDiscerner *aDiscerner); /** - * This function gets the Provisioning URL. + * Gets the Provisioning URL. * * @param[in] aInstance A pointer to an OpenThread instance. * @@ -324,7 +324,7 @@ otError otCommissionerRemoveJoinerWithDiscerner(otInstance *aInstance, const otJ const char *otCommissionerGetProvisioningUrl(otInstance *aInstance); /** - * This function sets the Provisioning URL. + * Sets the Provisioning URL. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aProvisioningUrl A pointer to the Provisioning URL (may be NULL to set as empty string). @@ -336,7 +336,7 @@ const char *otCommissionerGetProvisioningUrl(otInstance *aInstance); otError otCommissionerSetProvisioningUrl(otInstance *aInstance, const char *aProvisioningUrl); /** - * This function sends an Announce Begin message. + * Sends an Announce Begin message. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aChannelMask The channel mask value. @@ -358,7 +358,7 @@ otError otCommissionerAnnounceBegin(otInstance *aInstance, const otIp6Address *aAddress); /** - * This function pointer is called when the Commissioner receives an Energy Report. + * Pointer is called when the Commissioner receives an Energy Report. * * @param[in] aChannelMask The channel mask value. * @param[in] aEnergyList A pointer to the energy measurement list. @@ -372,7 +372,7 @@ typedef void (*otCommissionerEnergyReportCallback)(uint32_t aChannelMask, void *aContext); /** - * This function sends an Energy Scan Query message. + * Sends an Energy Scan Query message. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aChannelMask The channel mask value. @@ -400,7 +400,7 @@ otError otCommissionerEnergyScan(otInstance *aInstance, void *aContext); /** - * This function pointer is called when the Commissioner receives a PAN ID Conflict message. + * Pointer is called when the Commissioner receives a PAN ID Conflict message. * * @param[in] aPanId The PAN ID value. * @param[in] aChannelMask The channel mask value. @@ -410,7 +410,7 @@ otError otCommissionerEnergyScan(otInstance *aInstance, typedef void (*otCommissionerPanIdConflictCallback)(uint16_t aPanId, uint32_t aChannelMask, void *aContext); /** - * This function sends a PAN ID Query message. + * Sends a PAN ID Query message. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aPanId The PAN ID to query. @@ -434,7 +434,7 @@ otError otCommissionerPanIdQuery(otInstance *aInstance, void *aContext); /** - * This function sends MGMT_COMMISSIONER_GET. + * Sends MGMT_COMMISSIONER_GET. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aTlvs A pointer to TLVs. @@ -448,7 +448,7 @@ otError otCommissionerPanIdQuery(otInstance *aInstance, otError otCommissionerSendMgmtGet(otInstance *aInstance, const uint8_t *aTlvs, uint8_t aLength); /** - * This function sends MGMT_COMMISSIONER_SET. + * Sends MGMT_COMMISSIONER_SET. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aDataset A pointer to commissioning dataset. @@ -466,7 +466,7 @@ otError otCommissionerSendMgmtSet(otInstance *aInstance, uint8_t aLength); /** - * This function returns the Commissioner Session ID. + * Returns the Commissioner Session ID. * * @param[in] aInstance A pointer to an OpenThread instance. * @@ -476,7 +476,7 @@ otError otCommissionerSendMgmtSet(otInstance *aInstance, uint16_t otCommissionerGetSessionId(otInstance *aInstance); /** - * This function returns the Commissioner State. + * Returns the Commissioner State. * * @param[in] aInstance A pointer to an OpenThread instance. * diff --git a/openthread/include/openthread/crypto.h b/openthread/include/openthread/crypto.h index b2629267e9..414b4bae56 100644 --- a/openthread/include/openthread/crypto.h +++ b/openthread/include/openthread/crypto.h @@ -56,15 +56,13 @@ extern "C" { */ /** - * @struct otCryptoSha256Hash - * - * This structure represents a SHA-256 hash. + * Represents a SHA-256 hash. * */ typedef otPlatCryptoSha256Hash otCryptoSha256Hash; /** - * This function performs HMAC computation. + * Performs HMAC computation. * * @param[in] aKey A pointer to the key. * @param[in] aBuf A pointer to the input buffer. @@ -75,7 +73,7 @@ typedef otPlatCryptoSha256Hash otCryptoSha256Hash; void otCryptoHmacSha256(const otCryptoKey *aKey, const uint8_t *aBuf, uint16_t aBufLength, otCryptoSha256Hash *aHash); /** - * This method performs AES CCM computation. + * Performs AES CCM computation. * * @param[in] aKey A pointer to the key. * @param[in] aTagLength Length of tag in bytes. diff --git a/openthread/include/openthread/dataset.h b/openthread/include/openthread/dataset.h index af5884bb85..1cfc4cf7f4 100644 --- a/openthread/include/openthread/dataset.h +++ b/openthread/include/openthread/dataset.h @@ -58,7 +58,7 @@ extern "C" { /** * @struct otNetworkKey * - * This structure represents a Thread Network Key. + * Represents a Thread Network Key. * */ OT_TOOL_PACKED_BEGIN @@ -68,7 +68,7 @@ struct otNetworkKey } OT_TOOL_PACKED_END; /** - * This structure represents a Thread Network Key. + * Represents a Thread Network Key. * */ typedef struct otNetworkKey otNetworkKey; @@ -82,7 +82,7 @@ typedef otCryptoKeyRef otNetworkKeyRef; ///< Reference to Key #define OT_NETWORK_NAME_MAX_SIZE 16 ///< Maximum size of the Thread Network Name field (bytes) /** - * This structure represents a Network Name. + * Represents a Network Name. * * The `otNetworkName` is a null terminated C string (i.e., `m8` char array MUST end with null char `\0`). * @@ -95,7 +95,7 @@ typedef struct otNetworkName #define OT_EXT_PAN_ID_SIZE 8 ///< Size of a Thread PAN ID (bytes) /** - * This structure represents an Extended PAN ID. + * Represents an Extended PAN ID. * */ OT_TOOL_PACKED_BEGIN @@ -105,7 +105,7 @@ struct otExtendedPanId } OT_TOOL_PACKED_END; /** - * This structure represents an Extended PAN ID. + * Represents an Extended PAN ID. * */ typedef struct otExtendedPanId otExtendedPanId; @@ -113,7 +113,7 @@ typedef struct otExtendedPanId otExtendedPanId; #define OT_MESH_LOCAL_PREFIX_SIZE OT_IP6_PREFIX_SIZE ///< Size of the Mesh Local Prefix (bytes) /** - * This structure represents a Mesh Local Prefix. + * Represents a Mesh Local Prefix. * */ typedef otIp6NetworkPrefix otMeshLocalPrefix; @@ -121,7 +121,7 @@ typedef otIp6NetworkPrefix otMeshLocalPrefix; #define OT_PSKC_MAX_SIZE 16 ///< Maximum size of the PSKc (bytes) /** - * This structure represents PSKc. + * Represents PSKc. * */ OT_TOOL_PACKED_BEGIN @@ -131,7 +131,7 @@ struct otPskc } OT_TOOL_PACKED_END; /** - * This structure represents a PSKc. + * Represents a PSKc. * */ typedef struct otPskc otPskc; @@ -143,7 +143,7 @@ typedef struct otPskc otPskc; typedef otCryptoKeyRef otPskcRef; ///< Reference to Key /** - * This structure represent Security Policy. + * Represent Security Policy. * */ typedef struct otSecurityPolicy @@ -163,7 +163,7 @@ typedef struct otSecurityPolicy } otSecurityPolicy; /** - * This type represents Channel Mask. + * Represents Channel Mask. * */ typedef uint32_t otChannelMask; @@ -196,27 +196,27 @@ typedef uint32_t otChannelMask; #define OT_CHANNEL_26_MASK (1 << 26) ///< Channel 26 /** - * This structure represents presence of different components in Active or Pending Operational Dataset. + * Represents presence of different components in Active or Pending Operational Dataset. * */ typedef struct otOperationalDatasetComponents { - bool mIsActiveTimestampPresent : 1; ///< TRUE if Active Timestamp is present, FALSE otherwise. - bool mIsPendingTimestampPresent : 1; ///< TRUE if Pending Timestamp is present, FALSE otherwise. - bool mIsNetworkKeyPresent : 1; ///< TRUE if Network Key is present, FALSE otherwise. - bool mIsNetworkNamePresent : 1; ///< TRUE if Network Name is present, FALSE otherwise. - bool mIsExtendedPanIdPresent : 1; ///< TRUE if Extended PAN ID is present, FALSE otherwise. - bool mIsMeshLocalPrefixPresent : 1; ///< TRUE if Mesh Local Prefix is present, FALSE otherwise. - bool mIsDelayPresent : 1; ///< TRUE if Delay Timer is present, FALSE otherwise. - bool mIsPanIdPresent : 1; ///< TRUE if PAN ID is present, FALSE otherwise. - bool mIsChannelPresent : 1; ///< TRUE if Channel is present, FALSE otherwise. - bool mIsPskcPresent : 1; ///< TRUE if PSKc is present, FALSE otherwise. - bool mIsSecurityPolicyPresent : 1; ///< TRUE if Security Policy is present, FALSE otherwise. - bool mIsChannelMaskPresent : 1; ///< TRUE if Channel Mask is present, FALSE otherwise. + bool mIsActiveTimestampPresent; ///< TRUE if Active Timestamp is present, FALSE otherwise. + bool mIsPendingTimestampPresent; ///< TRUE if Pending Timestamp is present, FALSE otherwise. + bool mIsNetworkKeyPresent; ///< TRUE if Network Key is present, FALSE otherwise. + bool mIsNetworkNamePresent; ///< TRUE if Network Name is present, FALSE otherwise. + bool mIsExtendedPanIdPresent; ///< TRUE if Extended PAN ID is present, FALSE otherwise. + bool mIsMeshLocalPrefixPresent; ///< TRUE if Mesh Local Prefix is present, FALSE otherwise. + bool mIsDelayPresent; ///< TRUE if Delay Timer is present, FALSE otherwise. + bool mIsPanIdPresent; ///< TRUE if PAN ID is present, FALSE otherwise. + bool mIsChannelPresent; ///< TRUE if Channel is present, FALSE otherwise. + bool mIsPskcPresent; ///< TRUE if PSKc is present, FALSE otherwise. + bool mIsSecurityPolicyPresent; ///< TRUE if Security Policy is present, FALSE otherwise. + bool mIsChannelMaskPresent; ///< TRUE if Channel Mask is present, FALSE otherwise. } otOperationalDatasetComponents; /** - * This structure represents a Thread Dataset timestamp component. + * Represents a Thread Dataset timestamp component. * */ typedef struct otTimestamp @@ -227,9 +227,9 @@ typedef struct otTimestamp } otTimestamp; /** - * This structure represents an Active or Pending Operational Dataset. + * Represents an Active or Pending Operational Dataset. * - * Components in Dataset are optional. `mComponets` structure specifies which components are present in the Dataset. + * Components in Dataset are optional. `mComponents` structure specifies which components are present in the Dataset. * */ typedef struct otOperationalDataset @@ -256,7 +256,7 @@ typedef struct otOperationalDataset #define OT_OPERATIONAL_DATASET_MAX_LENGTH 254 /** - * This structure represents an Active or Pending Operational Dataset. + * Represents an Active or Pending Operational Dataset. * * The Operational Dataset is TLV encoded as specified by Thread. * @@ -268,7 +268,7 @@ typedef struct otOperationalDatasetTlvs } otOperationalDatasetTlvs; /** - * This enumeration represents meshcop TLV types. + * Represents meshcop TLV types. * */ typedef enum otMeshcopTlvType @@ -316,7 +316,7 @@ typedef enum otMeshcopTlvType } otMeshcopTlvType; /** - * This function pointer is called when a response to a MGMT_SET request is received or times out. + * Pointer is called when a response to a MGMT_SET request is received or times out. * * @param[in] aResult A result of the operation. * @param[in] aContext A pointer to application-specific context. @@ -331,7 +331,7 @@ typedef enum otMeshcopTlvType typedef void (*otDatasetMgmtSetCallback)(otError aResult, void *aContext); /** - * This function indicates whether a valid network is present in the Active Operational Dataset or not. + * Indicates whether a valid network is present in the Active Operational Dataset or not. * * @param[in] aInstance A pointer to an OpenThread instance. * @@ -353,7 +353,7 @@ bool otDatasetIsCommissioned(otInstance *aInstance); otError otDatasetGetActive(otInstance *aInstance, otOperationalDataset *aDataset); /** - * This function gets the Active Operational Dataset. + * Gets the Active Operational Dataset. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[out] aDataset A pointer to where the Active Operational Dataset will be placed. @@ -391,7 +391,7 @@ otError otDatasetGetActiveTlvs(otInstance *aInstance, otOperationalDatasetTlvs * otError otDatasetSetActive(otInstance *aInstance, const otOperationalDataset *aDataset); /** - * This function sets the Active Operational Dataset. + * Sets the Active Operational Dataset. * * If the dataset does not include an Active Timestamp, the dataset is only partially complete. * @@ -417,7 +417,7 @@ otError otDatasetSetActive(otInstance *aInstance, const otOperationalDataset *aD otError otDatasetSetActiveTlvs(otInstance *aInstance, const otOperationalDatasetTlvs *aDataset); /** - * This function gets the Pending Operational Dataset. + * Gets the Pending Operational Dataset. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[out] aDataset A pointer to where the Pending Operational Dataset will be placed. @@ -429,7 +429,7 @@ otError otDatasetSetActiveTlvs(otInstance *aInstance, const otOperationalDataset otError otDatasetGetPending(otInstance *aInstance, otOperationalDataset *aDataset); /** - * This function gets the Pending Operational Dataset. + * Gets the Pending Operational Dataset. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[out] aDataset A pointer to where the Pending Operational Dataset will be placed. @@ -454,7 +454,7 @@ otError otDatasetGetPendingTlvs(otInstance *aInstance, otOperationalDatasetTlvs otError otDatasetSetPending(otInstance *aInstance, const otOperationalDataset *aDataset); /** - * This function sets the Pending Operational Dataset. + * Sets the Pending Operational Dataset. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aDataset A pointer to the Pending Operational Dataset. @@ -549,7 +549,7 @@ otError otDatasetSendMgmtPendingSet(otInstance *aInstance, void *aContext); /** - * This function generates PSKc from a given pass-phrase, network name, and extended PAN ID. + * Generates PSKc from a given pass-phrase, network name, and extended PAN ID. * * PSKc is used to establish the Commissioner Session. * @@ -583,7 +583,7 @@ otError otDatasetGeneratePskc(const char *aPassPhrase, otError otNetworkNameFromString(otNetworkName *aNetworkName, const char *aNameString); /** - * This function parses an Operational Dataset from a `otOperationalDatasetTlvs`. + * Parses an Operational Dataset from a given `otOperationalDatasetTlvs`. * * @param[in] aDatasetTlvs A pointer to dataset TLVs. * @param[out] aDataset A pointer to where the dataset will be placed. @@ -594,6 +594,33 @@ otError otNetworkNameFromString(otNetworkName *aNetworkName, const char *aNameSt */ otError otDatasetParseTlvs(const otOperationalDatasetTlvs *aDatasetTlvs, otOperationalDataset *aDataset); +/** + * Converts a given Operational Dataset to `otOperationalDatasetTlvs`. + * + * @param[in] aDataset An Operational dataset to convert to TLVs. + * @param[out] aDatasetTlvs A pointer to dataset TLVs to return the result. + * + * @retval OT_ERROR_NONE Successfully converted @p aDataset and updated @p aDatasetTlvs. + * @retval OT_ERROR_INVALID_ARGS @p aDataset is invalid, does not contain active or pending timestamps. + * + */ +otError otDatasetConvertToTlvs(const otOperationalDataset *aDataset, otOperationalDatasetTlvs *aDatasetTlvs); + +/** + * Updates a given Operational Dataset. + * + * @p aDataset contains the fields to be updated and their new value. + * + * @param[in] aDataset Specifies the set of types and values to update. + * @param[in,out] aDatasetTlvs A pointer to dataset TLVs to update. + * + * @retval OT_ERROR_NONE Successfully updated @p aDatasetTlvs. + * @retval OT_ERROR_INVALID_ARGS @p aDataset contains invalid values. + * @retval OT_ERROR_NO_BUFS Not enough space space in @p aDatasetTlvs to apply the update. + * + */ +otError otDatasetUpdateTlvs(const otOperationalDataset *aDataset, otOperationalDatasetTlvs *aDatasetTlvs); + /** * @} * diff --git a/openthread/include/openthread/dataset_updater.h b/openthread/include/openthread/dataset_updater.h index cb16c33ac3..f9b7f64ae0 100644 --- a/openthread/include/openthread/dataset_updater.h +++ b/openthread/include/openthread/dataset_updater.h @@ -69,7 +69,7 @@ extern "C" { typedef void (*otDatasetUpdaterCallback)(otError aError, void *aContext); /** - * This function requests an update to Operational Dataset. + * Requests an update to Operational Dataset. * * Available when `OPENTHREAD_CONFIG_DATASET_UPDATER_ENABLE` is enabled. * @@ -94,7 +94,7 @@ otError otDatasetUpdaterRequestUpdate(otInstance *aInstance, void *aContext); /** - * This function cancels an ongoing (if any) Operational Dataset update request. + * Cancels an ongoing (if any) Operational Dataset update request. * * Available when `OPENTHREAD_CONFIG_DATASET_UPDATER_ENABLE` is enabled. * @@ -104,7 +104,7 @@ otError otDatasetUpdaterRequestUpdate(otInstance *aInstance, void otDatasetUpdaterCancelUpdate(otInstance *aInstance); /** - * This function indicates whether there is an ongoing Operation Dataset update request. + * Indicates whether there is an ongoing Operation Dataset update request. * * Available when `OPENTHREAD_CONFIG_DATASET_UPDATER_ENABLE` is enabled. * diff --git a/openthread/include/openthread/diag.h b/openthread/include/openthread/diag.h index 98c708e342..217abf6cb3 100644 --- a/openthread/include/openthread/diag.h +++ b/openthread/include/openthread/diag.h @@ -52,7 +52,7 @@ extern "C" { */ /** - * This function processes a factory diagnostics command line. + * Processes a factory diagnostics command line. * * The output of this function (the content written to @p aOutput) MUST terminate with `\0` and the `\0` is within the * output buffer. @@ -75,7 +75,7 @@ otError otDiagProcessCmd(otInstance *aInstance, size_t aOutputMaxLen); /** - * This function processes a factory diagnostics command line. + * Processes a factory diagnostics command line. * * The output of this function (the content written to @p aOutput) MUST terminate with `\0` and the `\0` is within the * output buffer. @@ -94,7 +94,7 @@ otError otDiagProcessCmd(otInstance *aInstance, otError otDiagProcessCmdLine(otInstance *aInstance, const char *aString, char *aOutput, size_t aOutputMaxLen); /** - * This function indicates whether or not the factory diagnostics mode is enabled. + * Indicates whether or not the factory diagnostics mode is enabled. * * @param[in] aInstance A pointer to an OpenThread instance. * diff --git a/openthread/include/openthread/dns.h b/openthread/include/openthread/dns.h index 22f3fc2b74..93fd287d71 100644 --- a/openthread/include/openthread/dns.h +++ b/openthread/include/openthread/dns.h @@ -63,7 +63,7 @@ extern "C" { #define OT_DNS_TXT_KEY_MAX_LENGTH 9 ///< Recommended maximum length of TXT record key string (RFC 6763 - section 6.4). /** - * This structure represents a TXT record entry representing a key/value pair (RFC 6763 - section 6.3). + * Represents a TXT record entry representing a key/value pair (RFC 6763 - section 6.3). * * The string buffers pointed to by `mKey` and `mValue` MUST persist and remain unchanged after an instance of such * structure is passed to OpenThread (as part of `otSrpClientService` instance). @@ -95,7 +95,7 @@ typedef struct otDnsTxtEntry } otDnsTxtEntry; /** - * This structure represents an iterator for TXT record entires (key/value pairs). + * Represents an iterator for TXT record entries (key/value pairs). * * The data fields in this structure are intended for use by OpenThread core and caller should not read or change them. * @@ -108,7 +108,7 @@ typedef struct otDnsTxtEntryIterator } otDnsTxtEntryIterator; /** - * This function initializes a TXT record iterator. + * Initializes a TXT record iterator. * * The buffer pointer @p aTxtData and its content MUST persist and remain unchanged while @p aIterator object * is being used. @@ -121,7 +121,7 @@ typedef struct otDnsTxtEntryIterator void otDnsInitTxtEntryIterator(otDnsTxtEntryIterator *aIterator, const uint8_t *aTxtData, uint16_t aTxtDataLength); /** - * This function parses the TXT data from an iterator and gets the next TXT record entry (key/value pair). + * Parses the TXT data from an iterator and gets the next TXT record entry (key/value pair). * * The @p aIterator MUST be initialized using `otDnsInitTxtEntryIterator()` before calling this function and the TXT * data buffer used to initialize the iterator MUST persist and remain unchanged. Otherwise the behavior of this @@ -142,7 +142,25 @@ void otDnsInitTxtEntryIterator(otDnsTxtEntryIterator *aIterator, const uint8_t * otError otDnsGetNextTxtEntry(otDnsTxtEntryIterator *aIterator, otDnsTxtEntry *aEntry); /** - * This function enables/disables the "DNS name compression" mode. + * Encodes a given list of TXT record entries (key/value pairs) into TXT data (following format specified by RFC 6763). + * + * @param[in] aTxtEntries Pointer to an array of `otDnsTxtEntry`. + * @param[in] aNumTxtEntries Number of entries in @p aTxtEntries array. + * @param[out] aTxtData A pointer to a buffer to output the encoded TXT data. + * @param[in,out] aTxtDataLength On input, size of buffer @p aTxtData. On output, length of the encoded TXT data. + * + * @retval OT_ERROR_NONE Encoded TXT data successfully, @p aTxtData and @p aTxtDataLength are updated. + * @retval OT_ERROR_INVALID_ARGS The @p aTxtEntries is not valid. + * @retval OT_ERROR_NO_BUS Could not fit the encoded data in @p aTxtData buffer with its @p aTxtDataLength. + * + */ +otError otDnsEncodeTxtData(const otDnsTxtEntry *aTxtEntries, + uint16_t aNumTxtEntries, + uint8_t *aTxtData, + uint16_t *aTxtDataLength); + +/** + * Enables/disables the "DNS name compression" mode. * * By default DNS name compression is enabled. When disabled, DNS names are appended as full and never compressed. This * is applicable to OpenThread's DNS and SRP client/server modules. @@ -158,7 +176,7 @@ otError otDnsGetNextTxtEntry(otDnsTxtEntryIterator *aIterator, otDnsTxtEntry *aE void otDnsSetNameCompressionEnabled(bool aEnabled); /** - * This function indicates whether the "DNS name compression" mode is enabled or not. + * Indicates whether the "DNS name compression" mode is enabled or not. * * This is intended for testing only and available when `OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE` config is enabled. * diff --git a/openthread/include/openthread/dns_client.h b/openthread/include/openthread/dns_client.h index 95da750b6d..0fd3458045 100644 --- a/openthread/include/openthread/dns_client.h +++ b/openthread/include/openthread/dns_client.h @@ -56,7 +56,7 @@ extern "C" { */ /** - * This enumeration type represents the "Recursion Desired" (RD) flag in an `otDnsQueryConfig`. + * Type represents the "Recursion Desired" (RD) flag in an `otDnsQueryConfig`. * */ typedef enum @@ -67,7 +67,7 @@ typedef enum } otDnsRecursionFlag; /** - * This enumeration type represents the NAT64 mode in an `otDnsQueryConfig`. + * Type represents the NAT64 mode in an `otDnsQueryConfig`. * * The NAT64 mode indicates whether to allow or disallow NAT64 address translation during DNS client address resolution. * This mode is only used when `OPENTHREAD_CONFIG_DNS_CLIENT_NAT64_ENABLE` is enabled. @@ -81,7 +81,37 @@ typedef enum } otDnsNat64Mode; /** - * This structure represents a DNS query configuration. + * Type represents the service resolution mode in an `otDnsQueryConfig`. + * + * This is only used during DNS client service resolution `otDnsClientResolveService()`. It determines which + * record types to query. + * + */ +typedef enum +{ + OT_DNS_SERVICE_MODE_UNSPECIFIED = 0, ///< Mode is not specified. Use default service mode. + OT_DNS_SERVICE_MODE_SRV = 1, ///< Query for SRV record only. + OT_DNS_SERVICE_MODE_TXT = 2, ///< Query for TXT record only. + OT_DNS_SERVICE_MODE_SRV_TXT = 3, ///< Query for both SRV and TXT records in same message. + OT_DNS_SERVICE_MODE_SRV_TXT_SEPARATE = 4, ///< Query in parallel for SRV and TXT using separate messages. + OT_DNS_SERVICE_MODE_SRV_TXT_OPTIMIZE = 5, ///< Query for TXT/SRV together first, if fails then query separately. +} otDnsServiceMode; + +/** + * Type represents the DNS transport protocol in an `otDnsQueryConfig`. + * + * This `OT_DNS_TRANSPORT_TCP` is only supported when `OPENTHREAD_CONFIG_DNS_CLIENT_OVER_TCP_ENABLE` is enabled. + * + */ +typedef enum +{ + OT_DNS_TRANSPORT_UNSPECIFIED = 0, /// DNS transport is unspecified. + OT_DNS_TRANSPORT_UDP = 1, /// DNS query should be sent via UDP. + OT_DNS_TRANSPORT_TCP = 2, /// DNS query should be sent via TCP. +} otDnsTransportProto; + +/** + * Represents a DNS query configuration. * * Any of the fields in this structure can be set to zero to indicate that it is not specified. How the unspecified * fields are treated is determined by the function which uses the instance of `otDnsQueryConfig`. @@ -89,15 +119,17 @@ typedef enum */ typedef struct otDnsQueryConfig { - otSockAddr mServerSockAddr; ///< Server address (IPv6 address/port). All zero or zero port for unspecified. - uint32_t mResponseTimeout; ///< Wait time (in msec) to rx response. Zero indicates unspecified value. - uint8_t mMaxTxAttempts; ///< Maximum tx attempts before reporting failure. Zero for unspecified value. - otDnsRecursionFlag mRecursionFlag; ///< Indicates whether the server can resolve the query recursively or not. - otDnsNat64Mode mNat64Mode; ///< Allow/Disallow NAT64 address translation during address resolution. + otSockAddr mServerSockAddr; ///< Server address (IPv6 addr/port). All zero or zero port for unspecified. + uint32_t mResponseTimeout; ///< Wait time (in msec) to rx response. Zero indicates unspecified value. + uint8_t mMaxTxAttempts; ///< Maximum tx attempts before reporting failure. Zero for unspecified value. + otDnsRecursionFlag mRecursionFlag; ///< Indicates whether the server can resolve the query recursively or not. + otDnsNat64Mode mNat64Mode; ///< Allow/Disallow NAT64 address translation during address resolution. + otDnsServiceMode mServiceMode; ///< Determines which records to query during service resolution. + otDnsTransportProto mTransportProto; ///< Select default transport protocol. } otDnsQueryConfig; /** - * This function gets the current default query config used by DNS client. + * Gets the current default query config used by DNS client. * * When OpenThread stack starts, the default DNS query config is determined from a set of OT config options such as * `OPENTHREAD_CONFIG_DNS_CLIENT_DEFAULT_SERVER_IP6_ADDRESS`, `_DEFAULT_SERVER_PORT`, `_DEFAULT_RESPONSE_TIMEOUT`, etc. @@ -111,7 +143,7 @@ typedef struct otDnsQueryConfig const otDnsQueryConfig *otDnsClientGetDefaultConfig(otInstance *aInstance); /** - * This function sets the default query config on DNS client. + * Sets the default query config on DNS client. * * @note Any ongoing query will continue to use the config from when it was started. The new default config will be * used for any future DNS queries. @@ -137,7 +169,7 @@ const otDnsQueryConfig *otDnsClientGetDefaultConfig(otInstance *aInstance); void otDnsClientSetDefaultConfig(otInstance *aInstance, const otDnsQueryConfig *aConfig); /** - * This type is an opaque representation of a response to an address resolution DNS query. + * An opaque representation of a response to an address resolution DNS query. * * Pointers to instance of this type are provided from callback `otDnsAddressCallback`. * @@ -145,7 +177,7 @@ void otDnsClientSetDefaultConfig(otInstance *aInstance, const otDnsQueryConfig * typedef struct otDnsAddressResponse otDnsAddressResponse; /** - * This function pointer is called when a DNS response is received for an address resolution query. + * Pointer is called when a DNS response is received for an address resolution query. * * Within this callback the user can use `otDnsAddressResponseGet{Item}()` functions along with the @p aResponse * pointer to get more info about the response. @@ -185,7 +217,7 @@ typedef struct otDnsAddressResponse otDnsAddressResponse; typedef void (*otDnsAddressCallback)(otError aError, const otDnsAddressResponse *aResponse, void *aContext); /** - * This function sends an address resolution DNS query for AAAA (IPv6) record(s) for a given host name. + * Sends an address resolution DNS query for AAAA (IPv6) record(s) for a given host name. * * The @p aConfig can be NULL. In this case the default config (from `otDnsClientGetDefaultConfig()`) will be used as * the config for this query. In a non-NULL @p aConfig, some of the fields can be left unspecified (value zero). The @@ -210,9 +242,9 @@ otError otDnsClientResolveAddress(otInstance *aInstance, const otDnsQueryConfig *aConfig); /** - * This function sends an address resolution DNS query for A (IPv4) record(s) for a given host name. + * Sends an address resolution DNS query for A (IPv4) record(s) for a given host name. * - * This function requires and is available when `OPENTHREAD_CONFIG_DNS_CLIENT_NAT64_ENABLE` is enabled. + * Requires and is available when `OPENTHREAD_CONFIG_DNS_CLIENT_NAT64_ENABLE` is enabled. * * When a successful response is received, the addresses are returned from @p aCallback as NAT64 IPv6 translated * versions of the IPv4 addresses from the query response. @@ -240,9 +272,9 @@ otError otDnsClientResolveIp4Address(otInstance *aInstance, const otDnsQueryConfig *aConfig); /** - * This function gets the full host name associated with an address resolution DNS response. + * Gets the full host name associated with an address resolution DNS response. * - * This function MUST only be used from `otDnsAddressCallback`. + * MUST only be used from `otDnsAddressCallback`. * * @param[in] aResponse A pointer to the response. * @param[out] aNameBuffer A buffer to char array to output the full host name (MUST NOT be NULL). @@ -257,9 +289,9 @@ otError otDnsAddressResponseGetHostName(const otDnsAddressResponse *aResponse, uint16_t aNameBufferSize); /** - * This function gets an IPv6 address associated with an address resolution DNS response. + * Gets an IPv6 address associated with an address resolution DNS response. * - * This function MUST only be used from `otDnsAddressCallback`. + * MUST only be used from `otDnsAddressCallback`. * * The response may include multiple IPv6 address records. @p aIndex can be used to iterate through the list of * addresses. Index zero gets the first address and so on. When we reach end of the list, `OT_ERROR_NOT_FOUND` is @@ -283,7 +315,7 @@ otError otDnsAddressResponseGetAddress(const otDnsAddressResponse *aResponse, uint32_t *aTtl); /** - * This type is an opaque representation of a response to a browse (service instance enumeration) DNS query. + * An opaque representation of a response to a browse (service instance enumeration) DNS query. * * Pointers to instance of this type are provided from callback `otDnsBrowseCallback`. * @@ -291,7 +323,7 @@ otError otDnsAddressResponseGetAddress(const otDnsAddressResponse *aResponse, typedef struct otDnsBrowseResponse otDnsBrowseResponse; /** - * This function pointer is called when a DNS response is received for a browse (service instance enumeration) query. + * Pointer is called when a DNS response is received for a browse (service instance enumeration) query. * * Within this callback the user can use `otDnsBrowseResponseGet{Item}()` functions along with the @p aResponse * pointer to get more info about the response. @@ -309,7 +341,7 @@ typedef struct otDnsBrowseResponse otDnsBrowseResponse; typedef void (*otDnsBrowseCallback)(otError aError, const otDnsBrowseResponse *aResponse, void *aContext); /** - * This structure provides info for a DNS service instance. + * Provides info for a DNS service instance. * */ typedef struct otDnsServiceInfo @@ -329,9 +361,9 @@ typedef struct otDnsServiceInfo } otDnsServiceInfo; /** - * This function sends a DNS browse (service instance enumeration) query for a given service name. + * Sends a DNS browse (service instance enumeration) query for a given service name. * - * This function is available when `OPENTHREAD_CONFIG_DNS_CLIENT_SERVICE_DISCOVERY_ENABLE` is enabled. + * Is available when `OPENTHREAD_CONFIG_DNS_CLIENT_SERVICE_DISCOVERY_ENABLE` is enabled. * * The @p aConfig can be NULL. In this case the default config (from `otDnsClientGetDefaultConfig()`) will be used as * the config for this query. In a non-NULL @p aConfig, some of the fields can be left unspecified (value zero). The @@ -354,9 +386,9 @@ otError otDnsClientBrowse(otInstance *aInstance, const otDnsQueryConfig *aConfig); /** - * This function gets the service name associated with a DNS browse (service instance enumeration) response. + * Gets the service name associated with a DNS browse (service instance enumeration) response. * - * This function MUST only be used from `otDnsBrowseCallback`. + * MUST only be used from `otDnsBrowseCallback`. * * @param[in] aResponse A pointer to the response. * @param[out] aNameBuffer A buffer to char array to output the service name (MUST NOT be NULL). @@ -371,9 +403,9 @@ otError otDnsBrowseResponseGetServiceName(const otDnsBrowseResponse *aResponse, uint16_t aNameBufferSize); /** - * This function gets a service instance associated with a DNS browse (service instance enumeration) response. + * Gets a service instance associated with a DNS browse (service instance enumeration) response. * - * This function MUST only be used from `otDnsBrowseCallback`. + * MUST only be used from `otDnsBrowseCallback`. * * The response may include multiple service instance records. @p aIndex can be used to iterate through the list. Index * zero gives the the first record. When we reach end of the list, `OT_ERROR_NOT_FOUND` is returned. @@ -398,15 +430,16 @@ otError otDnsBrowseResponseGetServiceInstance(const otDnsBrowseResponse *aRespon uint8_t aLabelBufferSize); /** - * This function gets info for a service instance from a DNS browse (service instance enumeration) response. + * Gets info for a service instance from a DNS browse (service instance enumeration) response. * - * This function MUST only be used from `otDnsBrowseCallback`. + * MUST only be used from `otDnsBrowseCallback`. * - * A browse DNS response should include the SRV, TXT, and AAAA records for the service instances that are enumerated - * (note that it is a SHOULD and not a MUST requirement). This function tries to retrieve this info for a given service - * instance when available. + * A browse DNS response can include SRV, TXT, and AAAA records for the service instances that are enumerated. This is + * a SHOULD and not a MUST requirement, and servers/resolvers are not required to provide this. This function attempts + * to retrieve this info for a given service instance when available. * - * - If no matching SRV record is found in @p aResponse, `OT_ERROR_NOT_FOUND` is returned. + * - If no matching SRV record is found in @p aResponse, `OT_ERROR_NOT_FOUND` is returned. In this case, no additional + * records (no TXT and/or AAAA) are read. * - If a matching SRV record is found in @p aResponse, @p aServiceInfo is updated and `OT_ERROR_NONE` is returned. * - If no matching TXT record is found in @p aResponse, `mTxtDataSize` in @p aServiceInfo is set to zero. * - If TXT data length is greater than `mTxtDataSize`, it is read partially and `mTxtDataTruncated` is set to true. @@ -429,9 +462,9 @@ otError otDnsBrowseResponseGetServiceInfo(const otDnsBrowseResponse *aResponse, otDnsServiceInfo *aServiceInfo); /** - * This function gets the host IPv6 address from a DNS browse (service instance enumeration) response. + * Gets the host IPv6 address from a DNS browse (service instance enumeration) response. * - * This function MUST only be used from `otDnsBrowseCallback`. + * MUST only be used from `otDnsBrowseCallback`. * * The response can include zero or more IPv6 address records. @p aIndex can be used to iterate through the list of * addresses. Index zero gets the first address and so on. When we reach end of the list, `OT_ERROR_NOT_FOUND` is @@ -456,7 +489,7 @@ otError otDnsBrowseResponseGetHostAddress(const otDnsBrowseResponse *aResponse, uint32_t *aTtl); /** - * This type is an opaque representation of a response to a service instance resolution DNS query. + * An opaque representation of a response to a service instance resolution DNS query. * * Pointers to instance of this type are provided from callback `otDnsAddressCallback`. * @@ -464,7 +497,7 @@ otError otDnsBrowseResponseGetHostAddress(const otDnsBrowseResponse *aResponse, typedef struct otDnsServiceResponse otDnsServiceResponse; /** - * This function pointer is called when a DNS response is received for a service instance resolution query. + * Pointer is called when a DNS response is received for a service instance resolution query. * * Within this callback the user can use `otDnsServiceResponseGet{Item}()` functions along with the @p aResponse * pointer to get more info about the response. @@ -482,14 +515,26 @@ typedef struct otDnsServiceResponse otDnsServiceResponse; typedef void (*otDnsServiceCallback)(otError aError, const otDnsServiceResponse *aResponse, void *aContext); /** - * This function sends a DNS service instance resolution query for a given service instance. + * Starts a DNS service instance resolution for a given service instance. * - * This function is available when `OPENTHREAD_CONFIG_DNS_CLIENT_SERVICE_DISCOVERY_ENABLE` is enabled. + * Is available when `OPENTHREAD_CONFIG_DNS_CLIENT_SERVICE_DISCOVERY_ENABLE` is enabled. * * The @p aConfig can be NULL. In this case the default config (from `otDnsClientGetDefaultConfig()`) will be used as * the config for this query. In a non-NULL @p aConfig, some of the fields can be left unspecified (value zero). The * unspecified fields are then replaced by the values from the default config. * + * The function sends queries for SRV and/or TXT records for the given service instance. The `mServiceMode` field in + * `otDnsQueryConfig` determines which records to query (SRV only, TXT only, or both SRV and TXT) and how to perform + * the query (together in the same message, separately in parallel, or in optimized mode where client will try in the + * same message first and then separately if it fails to get a response). + * + * The SRV record provides information about service port, priority, and weight along with the host name associated + * with the service instance. This function DOES NOT perform address resolution for the host name discovered from SRV + * record. The server/resolver may provide AAAA/A record(s) for the host name in the Additional Data section of the + * response to SRV/TXT query and this information can be retrieved using `otDnsServiceResponseGetServiceInfo()` in + * `otDnsServiceCallback`. Users of this API MUST NOT assume that host address will always be available from + * `otDnsServiceResponseGetServiceInfo()`. + * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aInstanceLabel The service instance label. * @param[in] aServiceName The service name (together with @p aInstanceLabel form full instance name). @@ -510,9 +555,46 @@ otError otDnsClientResolveService(otInstance *aInstance, const otDnsQueryConfig *aConfig); /** - * This function gets the service instance name associated with a DNS service instance resolution response. + * Starts a DNS service instance resolution for a given service instance, with a potential follow-up + * address resolution for the host name discovered for the service instance. + * + * Is available when `OPENTHREAD_CONFIG_DNS_CLIENT_SERVICE_DISCOVERY_ENABLE` is enabled. + * + * The @p aConfig can be NULL. In this case the default config (from `otDnsClientGetDefaultConfig()`) will be used as + * the config for this query. In a non-NULL @p aConfig, some of the fields can be left unspecified (value zero). The + * unspecified fields are then replaced by the values from the default config. This function cannot be used with + * `mServiceMode` in DNS config set to `OT_DNS_SERVICE_MODE_TXT` (i.e., querying for TXT record only) and will return + * `OT_ERROR_INVALID_ARGS`. + * + * Behaves similarly to `otDnsClientResolveService()` sending queries for SRV and TXT records. However, + * if the server/resolver does not provide AAAA/A records for the host name in the response to SRV query (in the + * Additional Data section), it will perform host name resolution (sending an AAAA query) for the discovered host name + * from the SRV record. The callback @p aCallback is invoked when responses for all queries are received (i.e., both + * service and host address resolutions are finished). + * + * @param[in] aInstance A pointer to an OpenThread instance. + * @param[in] aInstanceLabel The service instance label. + * @param[in] aServiceName The service name (together with @p aInstanceLabel form full instance name). + * @param[in] aCallback A function pointer that shall be called on response reception or time-out. + * @param[in] aContext A pointer to arbitrary context information. + * @param[in] aConfig A pointer to the config to use for this query. + * + * @retval OT_ERROR_NONE Query sent successfully. @p aCallback will be invoked to report the status. + * @retval OT_ERROR_NO_BUFS Insufficient buffer to prepare and send query. + * @retval OT_ERROR_INVALID_ARGS @p aInstanceLabel is NULL, or @p aConfig is invalid. + * + */ +otError otDnsClientResolveServiceAndHostAddress(otInstance *aInstance, + const char *aInstanceLabel, + const char *aServiceName, + otDnsServiceCallback aCallback, + void *aContext, + const otDnsQueryConfig *aConfig); + +/** + * Gets the service instance name associated with a DNS service instance resolution response. * - * This function MUST only be used from `otDnsServiceCallback`. + * MUST only be used from `otDnsServiceCallback`. * * @param[in] aResponse A pointer to the response. * @param[out] aLabelBuffer A buffer to char array to output the service instance label (MUST NOT be NULL). @@ -532,12 +614,23 @@ otError otDnsServiceResponseGetServiceName(const otDnsServiceResponse *aResponse uint16_t aNameBufferSize); /** - * This function gets info for a service instance from a DNS service instance resolution response. - * - * This function MUST only be used from `otDnsServiceCallback`. - * - * - If no matching SRV record is found in @p aResponse, `OT_ERROR_NOT_FOUND` is returned. - * - If a matching SRV record is found in @p aResponse, @p aServiceInfo is updated and `OT_ERROR_NONE` is returned. + * Gets info for a service instance from a DNS service instance resolution response. + * + * MUST only be used from a `otDnsServiceCallback` triggered from `otDnsClientResolveService()` or + * `otDnsClientResolveServiceAndHostAddress()`. + * + * When this is is used from a `otDnsClientResolveService()` callback, the DNS response from server/resolver may + * include AAAA records in its Additional Data section for the host name associated with the service instance that is + * resolved. This is a SHOULD and not a MUST requirement so servers/resolvers are not required to provide this. This + * function attempts to parse AAAA record(s) if included in the response. If it is not included `mHostAddress` is set + * to all zeros (unspecified address). To also resolve the host address, user can use the DNS client API function + * `otDnsClientResolveServiceAndHostAddress()` which will perform service resolution followed up by a host name + * address resolution query (when AAAA records are not provided by server/resolver in the SRV query response). + * + * - If a matching SRV record is found in @p aResponse, @p aServiceInfo is updated. + * - If no matching SRV record is found, `OT_ERROR_NOT_FOUND` is returned unless the query config for this query + * used `OT_DNS_SERVICE_MODE_TXT` for `mServiceMode` (meaning the request was only for TXT record). In this case, we + * still try to parse the SRV record from Additional Data Section of response (in case server provided the info). * - If no matching TXT record is found in @p aResponse, `mTxtDataSize` in @p aServiceInfo is set to zero. * - If TXT data length is greater than `mTxtDataSize`, it is read partially and `mTxtDataTruncated` is set to true. * - If no matching AAAA record is found in @p aResponse, `mHostAddress is set to all zero or unspecified address. @@ -548,7 +641,7 @@ otError otDnsServiceResponseGetServiceName(const otDnsServiceResponse *aResponse * @param[out] aServiceInfo A `ServiceInfo` to output the service instance information (MUST NOT be NULL). * * @retval OT_ERROR_NONE The service instance info was read. @p aServiceInfo is updated. - * @retval OT_ERROR_NOT_FOUND Could not find a matching SRV record in @p aResponse. + * @retval OT_ERROR_NOT_FOUND Could not find a required record in @p aResponse. * @retval OT_ERROR_NO_BUFS The host name and/or TXT data could not fit in the given buffers. * @retval OT_ERROR_PARSE Could not parse the records in the @p aResponse. * @@ -556,9 +649,9 @@ otError otDnsServiceResponseGetServiceName(const otDnsServiceResponse *aResponse otError otDnsServiceResponseGetServiceInfo(const otDnsServiceResponse *aResponse, otDnsServiceInfo *aServiceInfo); /** - * This function gets the host IPv6 address from a DNS service instance resolution response. + * Gets the host IPv6 address from a DNS service instance resolution response. * - * This function MUST only be used from `otDnsServiceCallback`. + * MUST only be used from `otDnsServiceCallback`. * * The response can include zero or more IPv6 address records. @p aIndex can be used to iterate through the list of * addresses. Index zero gets the first address and so on. When we reach end of the list, `OT_ERROR_NOT_FOUND` is diff --git a/openthread/include/openthread/dnssd_server.h b/openthread/include/openthread/dnssd_server.h index 2feb95e16d..98f83d6940 100644 --- a/openthread/include/openthread/dnssd_server.h +++ b/openthread/include/openthread/dnssd_server.h @@ -56,7 +56,7 @@ extern "C" { */ /** - * This function is called when a DNS-SD query subscribes one of: + * Is called when a DNS-SD query subscribes one of: * 1. a service name. * 2. a service instance name. * 3. a host name. @@ -83,7 +83,7 @@ extern "C" { typedef void (*otDnssdQuerySubscribeCallback)(void *aContext, const char *aFullName); /** - * This function is called when a DNS-SD query unsubscribes one of: + * Is called when a DNS-SD query unsubscribes one of: * 1. a service name. * 2. a service instance name. * 3. a host name. @@ -107,7 +107,7 @@ typedef void (*otDnssdQueryUnsubscribeCallback)(void *aContext, const char *aFul typedef void otDnssdQuery; /** - * This structure represents information of a discovered service instance for a DNS-SD query. + * Represents information of a discovered service instance for a DNS-SD query. * */ typedef struct otDnssdServiceInstanceInfo @@ -125,7 +125,7 @@ typedef struct otDnssdServiceInstanceInfo } otDnssdServiceInstanceInfo; /** - * This structure represents information of a discovered host for a DNS-SD query. + * Represents information of a discovered host for a DNS-SD query. * */ typedef struct otDnssdHostInfo @@ -136,7 +136,7 @@ typedef struct otDnssdHostInfo } otDnssdHostInfo; /** - * This enumeration specifies a DNS-SD query type. + * Specifies a DNS-SD query type. * */ typedef enum @@ -148,7 +148,7 @@ typedef enum } otDnssdQueryType; /** - * This structure contains the counters of DNS-SD server. + * Contains the counters of DNS-SD server. * */ typedef struct otDnssdCounters @@ -164,7 +164,7 @@ typedef struct otDnssdCounters } otDnssdCounters; /** - * This function sets DNS-SD server query callbacks. + * Sets DNS-SD server query callbacks. * * The DNS-SD server calls @p aSubscribe to subscribe to a service or service instance to resolve a DNS-SD query and @p * aUnsubscribe to unsubscribe when the query is resolved or timeout. @@ -183,7 +183,7 @@ void otDnssdQuerySetCallbacks(otInstance *aInstance, void *aContext); /** - * This function notifies a discovered service instance. + * Notifies a discovered service instance. * * The external query resolver (e.g. Discovery Proxy) should call this function to notify OpenThread core of the * subscribed services or service instances. @@ -199,7 +199,7 @@ void otDnssdQueryHandleDiscoveredServiceInstance(otInstance *aIn const char *aServiceFullName, otDnssdServiceInstanceInfo *aInstanceInfo); /** - * This function notifies a discovered host. + * Notifies a discovered host. * * The external query resolver (e.g. Discovery Proxy) should call this function to notify OpenThread core of the * subscribed hosts. @@ -214,7 +214,7 @@ void otDnssdQueryHandleDiscoveredServiceInstance(otInstance *aIn void otDnssdQueryHandleDiscoveredHost(otInstance *aInstance, const char *aHostFullName, otDnssdHostInfo *aHostInfo); /** - * This function acquires the next query in the DNS-SD server. + * Acquires the next query in the DNS-SD server. * * @param[in] aInstance The OpenThread instance structure. * @param[in] aQuery The query pointer. Pass NULL to get the first query. @@ -225,7 +225,7 @@ void otDnssdQueryHandleDiscoveredHost(otInstance *aInstance, const char *aHostFu const otDnssdQuery *otDnssdGetNextQuery(otInstance *aInstance, const otDnssdQuery *aQuery); /** - * This function acquires the DNS-SD query type and name for a specific query. + * Acquires the DNS-SD query type and name for a specific query. * * @param[in] aQuery The query pointer acquired from `otDnssdGetNextQuery`. * @param[out] aNameOutput The name output buffer, which should be `OT_DNS_MAX_NAME_SIZE` bytes long. @@ -236,7 +236,7 @@ const otDnssdQuery *otDnssdGetNextQuery(otInstance *aInstance, const otDnssdQuer otDnssdQueryType otDnssdGetQueryTypeAndName(const otDnssdQuery *aQuery, char (*aNameOutput)[OT_DNS_MAX_NAME_SIZE]); /** - * This function returns the counters of the DNS-SD server. + * Returns the counters of the DNS-SD server. * * @param[in] aInstance The OpenThread instance structure. * @@ -245,6 +245,35 @@ otDnssdQueryType otDnssdGetQueryTypeAndName(const otDnssdQuery *aQuery, char (*a */ const otDnssdCounters *otDnssdGetCounters(otInstance *aInstance); +/** + * Enable or disable forwarding DNS queries to platform DNS upstream API. + * + * Available when `OPENTHREAD_CONFIG_DNS_UPSTREAM_QUERY_ENABLE` is enabled. + * + * @param[in] aInstance A pointer to an OpenThread instance. + * @param[in] aEnabled A boolean to enable/disable forwarding DNS queries to upstream. + * + * @sa otPlatDnsStartUpstreamQuery + * @sa otPlatDnsCancelUpstreamQuery + * @sa otPlatDnsUpstreamQueryDone + * + */ +void otDnssdUpstreamQuerySetEnabled(otInstance *aInstance, bool aEnabled); + +/** + * Returns whether the DNSSD server will forward DNS queries to the platform DNS upstream API. + * + * Available when `OPENTHREAD_CONFIG_DNS_UPSTREAM_QUERY_ENABLE` is enabled. + * + * @param[in] aInstance A pointer to an OpenThread instance. + * @retval TRUE If the DNSSD server will forward DNS queries. + * @retval FALSE If the DNSSD server will not forward DNS queries. + * + * @sa otDnssdUpstreamQuerySetEnabled + * + */ +bool otDnssdUpstreamQueryIsEnabled(otInstance *aInstance); + /** * @} * diff --git a/openthread/include/openthread/error.h b/openthread/include/openthread/error.h index 66cb3c5b55..d54d7bac66 100644 --- a/openthread/include/openthread/error.h +++ b/openthread/include/openthread/error.h @@ -52,7 +52,7 @@ extern "C" { */ /** - * This enumeration represents error codes used throughout OpenThread. + * Represents error codes used throughout OpenThread. * */ typedef enum OT_MUST_USE_RESULT otError @@ -251,7 +251,7 @@ typedef enum OT_MUST_USE_RESULT otError } otError; /** - * This function converts an otError enum into a string. + * Converts an otError enum into a string. * * @param[in] aError An otError enum. * diff --git a/openthread/include/openthread/history_tracker.h b/openthread/include/openthread/history_tracker.h index 02d72f2e5f..08dc8d9c28 100644 --- a/openthread/include/openthread/history_tracker.h +++ b/openthread/include/openthread/history_tracker.h @@ -43,7 +43,7 @@ extern "C" { * Records the history of different events, for example RX and TX messages or network info changes. All tracked * entries are timestamped. * - * The functions in this module are available when `OPENTHREAD_CONFIG_HISTOR_TRACKER_ENABLE` is enabled. + * The functions in this module are available when `OPENTHREAD_CONFIG_HISTORY_TRACKER_ENABLE` is enabled. * * @{ * @@ -60,7 +60,7 @@ extern "C" { #define OT_HISTORY_TRACKER_ENTRY_AGE_STRING_SIZE 21 ///< Recommended size for string representation of an entry age. /** - * This type represents an iterator to iterate through a history list. + * Represents an iterator to iterate through a history list. * * The fields in this type are opaque (intended for use by OpenThread core) and therefore should not be accessed/used * by caller. @@ -75,7 +75,7 @@ typedef struct otHistoryTrackerIterator } otHistoryTrackerIterator; /** - * This structure represents Thread network info. + * Represents Thread network info. * */ typedef struct otHistoryTrackerNetworkInfo @@ -87,7 +87,7 @@ typedef struct otHistoryTrackerNetworkInfo } otHistoryTrackerNetworkInfo; /** - * This enumeration defines the events for an IPv6 (unicast or multicast) address info (i.e., whether address is added + * Defines the events for an IPv6 (unicast or multicast) address info (i.e., whether address is added * or removed). * */ @@ -98,7 +98,7 @@ typedef enum } otHistoryTrackerAddressEvent; /** - * This structure represent a unicast IPv6 address info. + * Represent a unicast IPv6 address info. * */ typedef struct otHistoryTrackerUnicastAddressInfo @@ -114,7 +114,7 @@ typedef struct otHistoryTrackerUnicastAddressInfo } otHistoryTrackerUnicastAddressInfo; /** - * This structure represent an IPv6 multicast address info. + * Represent an IPv6 multicast address info. * */ typedef struct otHistoryTrackerMulticastAddressInfo @@ -137,7 +137,7 @@ enum }; /** - * This structure represents a RX/TX IPv6 message info. + * Represents a RX/TX IPv6 message info. * * Some of the fields in this struct are applicable to a RX message or a TX message only, e.g., `mAveRxRss` is the * average RSS of all fragment frames that form a received message and is only applicable for a RX message. @@ -152,7 +152,7 @@ typedef struct otHistoryTrackerMessageInfo uint16_t mChecksum; ///< Message checksum (valid only for UDP/TCP/ICMP6). uint8_t mIpProto; ///< IP Protocol number (`OT_IP6_PROTO_*` enumeration). uint8_t mIcmp6Type; ///< ICMP6 type if msg is ICMP6, zero otherwise (`OT_ICMP6_TYPE_*` enumeration). - int8_t mAveRxRss; ///< RSS of received message or OT_RADIO_INVALI_RSSI if not known. + int8_t mAveRxRss; ///< RSS of received message or OT_RADIO_INVALID_RSSI if not known. bool mLinkSecurity : 1; ///< Indicates whether msg used link security. bool mTxSuccess : 1; ///< Indicates TX success (e.g., ack received). Applicable for TX msg only. uint8_t mPriority : 2; ///< Message priority (`OT_HISTORY_TRACKER_MSG_PRIORITY_*` enumeration). @@ -161,7 +161,7 @@ typedef struct otHistoryTrackerMessageInfo } otHistoryTrackerMessageInfo; /** - * This enumeration defines the events in a neighbor info (i.e. whether neighbor is added, removed, or changed). + * Defines the events in a neighbor info (i.e. whether neighbor is added, removed, or changed). * * Event `OT_HISTORY_TRACKER_NEIGHBOR_EVENT_RESTORING` is applicable to child neighbors only. It is triggered after * the device (re)starts and when the previous children list is retrieved from non-volatile settings and the device @@ -177,7 +177,7 @@ typedef enum } otHistoryTrackerNeighborEvent; /** - * This structure represents a neighbor info. + * Represents a neighbor info. * */ typedef struct otHistoryTrackerNeighborInfo @@ -193,7 +193,7 @@ typedef struct otHistoryTrackerNeighborInfo } otHistoryTrackerNeighborInfo; /** - * This enumeration defines the events in a router info (i.e. whether router is added, removed, or changed). + * Defines the events in a router info (i.e. whether router is added, removed, or changed). * */ typedef enum @@ -209,7 +209,7 @@ typedef enum #define OT_HISTORY_TRACKER_INFINITE_PATH_COST 0 ///< Infinite path cost - used in `otHistoryTrackerRouterInfo`. /** - * This structure represents a router table entry event. + * Represents a router table entry event. * */ typedef struct otHistoryTrackerRouterInfo @@ -222,7 +222,7 @@ typedef struct otHistoryTrackerRouterInfo } otHistoryTrackerRouterInfo; /** - * This enumeration defines the events for a Network Data entry (i.e., whether an entry is added or removed). + * Defines the events for a Network Data entry (i.e., whether an entry is added or removed). * */ typedef enum @@ -232,7 +232,7 @@ typedef enum } otHistoryTrackerNetDataEvent; /** - * This structure represent a Network Data on mesh prefix info. + * Represent a Network Data on mesh prefix info. * */ typedef struct otHistoryTrackerOnMeshPrefixInfo @@ -242,7 +242,7 @@ typedef struct otHistoryTrackerOnMeshPrefixInfo } otHistoryTrackerOnMeshPrefixInfo; /** - * This structure represent a Network Data extern route info. + * Represent a Network Data extern route info. * */ typedef struct otHistoryTrackerExternalRouteInfo @@ -252,7 +252,7 @@ typedef struct otHistoryTrackerExternalRouteInfo } otHistoryTrackerExternalRouteInfo; /** - * This function initializes an `otHistoryTrackerIterator`. + * Initializes an `otHistoryTrackerIterator`. * * An iterator MUST be initialized before it is used. * @@ -268,7 +268,7 @@ typedef struct otHistoryTrackerExternalRouteInfo void otHistoryTrackerInitIterator(otHistoryTrackerIterator *aIterator); /** - * This function iterates over the entries in the network info history list. + * Iterates over the entries in the network info history list. * * @param[in] aInstance A pointer to the OpenThread instance. * @param[in,out] aIterator A pointer to an iterator. MUST be initialized or the behavior is undefined. @@ -285,7 +285,7 @@ const otHistoryTrackerNetworkInfo *otHistoryTrackerIterateNetInfoHistory(otInsta uint32_t *aEntryAge); /** - * This function iterates over the entries in the unicast address history list. + * Iterates over the entries in the unicast address history list. * * @param[in] aInstance A pointer to the OpenThread instance. * @param[in,out] aIterator A pointer to an iterator. MUST be initialized or the behavior is undefined. @@ -303,7 +303,7 @@ const otHistoryTrackerUnicastAddressInfo *otHistoryTrackerIterateUnicastAddressH uint32_t *aEntryAge); /** - * This function iterates over the entries in the multicast address history list. + * Iterates over the entries in the multicast address history list. * * @param[in] aInstance A pointer to the OpenThread instance. * @param[in,out] aIterator A pointer to an iterator. MUST be initialized or the behavior is undefined. @@ -321,7 +321,7 @@ const otHistoryTrackerMulticastAddressInfo *otHistoryTrackerIterateMulticastAddr uint32_t *aEntryAge); /** - * This function iterates over the entries in the RX message history list. + * Iterates over the entries in the RX message history list. * * @param[in] aInstance A pointer to the OpenThread instance. * @param[in,out] aIterator A pointer to an iterator. MUST be initialized or the behavior is undefined. @@ -338,7 +338,7 @@ const otHistoryTrackerMessageInfo *otHistoryTrackerIterateRxHistory(otInstance uint32_t *aEntryAge); /** - * This function iterates over the entries in the TX message history list. + * Iterates over the entries in the TX message history list. * * @param[in] aInstance A pointer to the OpenThread instance. * @param[in,out] aIterator A pointer to an iterator. MUST be initialized or the behavior is undefined. @@ -355,7 +355,7 @@ const otHistoryTrackerMessageInfo *otHistoryTrackerIterateTxHistory(otInstance uint32_t *aEntryAge); /** - * This function iterates over the entries in the neighbor history list. + * Iterates over the entries in the neighbor history list. * * @param[in] aInstance A pointer to the OpenThread instance. * @param[in,out] aIterator A pointer to an iterator. MUST be initialized or the behavior is undefined. @@ -372,7 +372,7 @@ const otHistoryTrackerNeighborInfo *otHistoryTrackerIterateNeighborHistory(otIns uint32_t *aEntryAge); /** - * This function iterates over the entries in the router history list. + * Iterates over the entries in the router history list. * * @param[in] aInstance A pointer to the OpenThread instance. * @param[in,out] aIterator A pointer to an iterator. MUST be initialized or the behavior is undefined. @@ -389,7 +389,7 @@ const otHistoryTrackerRouterInfo *otHistoryTrackerIterateRouterHistory(otInstanc uint32_t *aEntryAge); /** - * This function iterates over the entries in the Network Data on mesh prefix entry history list. + * Iterates over the entries in the Network Data on mesh prefix entry history list. * * @param[in] aInstance A pointer to the OpenThread instance. * @param[in,out] aIterator A pointer to an iterator. MUST be initialized or the behavior is undefined. @@ -406,7 +406,7 @@ const otHistoryTrackerOnMeshPrefixInfo *otHistoryTrackerIterateOnMeshPrefixHisto uint32_t *aEntryAge); /** - * This function iterates over the entries in the Network Data external route entry history list. + * Iterates over the entries in the Network Data external route entry history list. * * @param[in] aInstance A pointer to the OpenThread instance. * @param[in,out] aIterator A pointer to an iterator. MUST be initialized or the behavior is undefined. @@ -424,7 +424,7 @@ const otHistoryTrackerExternalRouteInfo *otHistoryTrackerIterateExternalRouteHis uint32_t *aEntryAge); /** - * This function converts a given entry age to a human-readable string. + * Converts a given entry age to a human-readable string. * * The entry age string follows the format "::." for hours, minutes, seconds and millisecond (if * shorter than one day) or "
days ::." (if longer than one day). diff --git a/openthread/include/openthread/icmp6.h b/openthread/include/openthread/icmp6.h index 38bd6a6a16..32f8c6a1b5 100644 --- a/openthread/include/openthread/icmp6.h +++ b/openthread/include/openthread/icmp6.h @@ -80,12 +80,13 @@ typedef enum otIcmp6Code OT_ICMP6_CODE_FRAGM_REAS_TIME_EX = 1, ///< Fragment Reassembly Time Exceeded } otIcmp6Code; -#define OT_ICMP6_HEADER_DATA_SIZE 4 ///< Size of an message specific data of ICMPv6 Header. +#define OT_ICMP6_HEADER_DATA_SIZE 4 ///< Size of ICMPv6 Header. +#define OT_ICMP6_ROUTER_ADVERT_MIN_SIZE 16 ///< Size of a Router Advertisement message without any options. /** * @struct otIcmp6Header * - * This structure represents an ICMPv6 header. + * Represents an ICMPv6 header. * */ OT_TOOL_PACKED_BEGIN @@ -103,7 +104,7 @@ struct otIcmp6Header } OT_TOOL_PACKED_END; /** - * This type represents an ICMPv6 header. + * Represents an ICMPv6 header. * */ typedef struct otIcmp6Header otIcmp6Header; @@ -123,7 +124,7 @@ typedef void (*otIcmp6ReceiveCallback)(void *aContext, const otIcmp6Header *aIcmpHeader); /** - * This structure implements ICMPv6 message handler. + * Implements ICMPv6 message handler. * */ typedef struct otIcmp6Handler @@ -146,7 +147,7 @@ typedef enum otIcmp6EchoMode } otIcmp6EchoMode; /** - * This function indicates whether or not ICMPv6 Echo processing is enabled. + * Indicates whether or not ICMPv6 Echo processing is enabled. * * @param[in] aInstance A pointer to an OpenThread instance. * @@ -159,7 +160,7 @@ typedef enum otIcmp6EchoMode otIcmp6EchoMode otIcmp6GetEchoMode(otInstance *aInstance); /** - * This function sets whether or not ICMPv6 Echo processing is enabled. + * Sets whether or not ICMPv6 Echo processing is enabled. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aMode The ICMPv6 Echo processing mode. @@ -168,7 +169,7 @@ otIcmp6EchoMode otIcmp6GetEchoMode(otInstance *aInstance); void otIcmp6SetEchoMode(otInstance *aInstance, otIcmp6EchoMode aMode); /** - * This function registers a handler to provide received ICMPv6 messages. + * Registers a handler to provide received ICMPv6 messages. * * @note A handler structure @p aHandler has to be stored in persistent (static) memory. * OpenThread does not make a copy of handler structure. @@ -181,7 +182,7 @@ void otIcmp6SetEchoMode(otInstance *aInstance, otIcmp6EchoMode aMode); otError otIcmp6RegisterHandler(otInstance *aInstance, otIcmp6Handler *aHandler); /** - * This function sends an ICMPv6 Echo Request via the Thread interface. + * Sends an ICMPv6 Echo Request via the Thread interface. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aMessage A pointer to the message buffer containing the ICMPv6 payload. diff --git a/openthread/include/openthread/instance.h b/openthread/include/openthread/instance.h index 85fb2d8e5f..d450a02186 100644 --- a/openthread/include/openthread/instance.h +++ b/openthread/include/openthread/instance.h @@ -53,7 +53,7 @@ extern "C" { * @note This number versions both OpenThread platform and user APIs. * */ -#define OPENTHREAD_API_VERSION (287) +#define OPENTHREAD_API_VERSION (363) /** * @addtogroup api-instance @@ -66,17 +66,17 @@ extern "C" { */ /** - * This structure represents the OpenThread instance structure. + * Represents the OpenThread instance structure. */ typedef struct otInstance otInstance; /** - * This function initializes the OpenThread library. + * Initializes the OpenThread library. * - * This function initializes OpenThread and prepares it for subsequent OpenThread API calls. This function must be + * Initializes OpenThread and prepares it for subsequent OpenThread API calls. This function must be * called before any other calls to OpenThread. * - * This function is available and can only be used when support for multiple OpenThread instances is enabled. + * Is available and can only be used when support for multiple OpenThread instances is enabled. * * @param[in] aInstanceBuffer The buffer for OpenThread to use for allocating the otInstance structure. * @param[in,out] aInstanceBufferSize On input, the size of aInstanceBuffer. On output, if not enough space for @@ -90,12 +90,12 @@ typedef struct otInstance otInstance; otInstance *otInstanceInit(void *aInstanceBuffer, size_t *aInstanceBufferSize); /** - * This function initializes the static single instance of the OpenThread library. + * Initializes the static single instance of the OpenThread library. * - * This function initializes OpenThread and prepares it for subsequent OpenThread API calls. This function must be + * Initializes OpenThread and prepares it for subsequent OpenThread API calls. This function must be * called before any other calls to OpenThread. * - * This function is available and can only be used when support for multiple OpenThread instances is disabled. + * Is available and can only be used when support for multiple OpenThread instances is disabled. * * @returns A pointer to the single OpenThread instance. * @@ -103,7 +103,18 @@ otInstance *otInstanceInit(void *aInstanceBuffer, size_t *aInstanceBufferSize); otInstance *otInstanceInitSingle(void); /** - * This function indicates whether or not the instance is valid/initialized. + * Gets the instance identifier. + * + * The instance identifier is set to a random value when the instance is constructed, and then its value will not + * change after initialization. + * + * @returns The instance identifier. + * + */ +uint32_t otInstanceGetId(otInstance *aInstance); + +/** + * Indicates whether or not the instance is valid/initialized. * * The instance is considered valid if it is acquired and initialized using either `otInstanceInitSingle()` (in single * instance case) or `otInstanceInit()` (in multi instance case). A subsequent call to `otInstanceFinalize()` causes @@ -117,7 +128,7 @@ otInstance *otInstanceInitSingle(void); bool otInstanceIsInitialized(otInstance *aInstance); /** - * This function disables the OpenThread library. + * Disables the OpenThread library. * * Call this function when OpenThread is no longer in use. * @@ -127,9 +138,9 @@ bool otInstanceIsInitialized(otInstance *aInstance); void otInstanceFinalize(otInstance *aInstance); /** - * This function returns the current instance uptime (in msec). + * Returns the current instance uptime (in msec). * - * This function requires `OPENTHREAD_CONFIG_UPTIME_ENABLE` to be enabled. + * Requires `OPENTHREAD_CONFIG_UPTIME_ENABLE` to be enabled. * * The uptime is given as number of milliseconds since OpenThread instance was initialized. * @@ -143,9 +154,9 @@ uint64_t otInstanceGetUptime(otInstance *aInstance); #define OT_UPTIME_STRING_SIZE 24 ///< Recommended size for string representation of uptime. /** - * This function returns the current instance uptime as a human-readable string. + * Returns the current instance uptime as a human-readable string. * - * This function requires `OPENTHREAD_CONFIG_UPTIME_ENABLE` to be enabled. + * Requires `OPENTHREAD_CONFIG_UPTIME_ENABLE` to be enabled. * * The string follows the format "::." for hours, minutes, seconds and millisecond (if uptime is * shorter than one day) or "
d.::." (if longer than a day). @@ -160,54 +171,48 @@ uint64_t otInstanceGetUptime(otInstance *aInstance); */ void otInstanceGetUptimeAsString(otInstance *aInstance, char *aBuffer, uint16_t aSize); -/** - * This enumeration defines flags that are passed as part of `otStateChangedCallback`. - * - */ -enum -{ - OT_CHANGED_IP6_ADDRESS_ADDED = 1 << 0, ///< IPv6 address was added - OT_CHANGED_IP6_ADDRESS_REMOVED = 1 << 1, ///< IPv6 address was removed - OT_CHANGED_THREAD_ROLE = 1 << 2, ///< Role (disabled, detached, child, router, leader) changed - OT_CHANGED_THREAD_LL_ADDR = 1 << 3, ///< The link-local address changed - OT_CHANGED_THREAD_ML_ADDR = 1 << 4, ///< The mesh-local address changed - OT_CHANGED_THREAD_RLOC_ADDED = 1 << 5, ///< RLOC was added - OT_CHANGED_THREAD_RLOC_REMOVED = 1 << 6, ///< RLOC was removed - OT_CHANGED_THREAD_PARTITION_ID = 1 << 7, ///< Partition ID changed - OT_CHANGED_THREAD_KEY_SEQUENCE_COUNTER = 1 << 8, ///< Thread Key Sequence changed - OT_CHANGED_THREAD_NETDATA = 1 << 9, ///< Thread Network Data changed - OT_CHANGED_THREAD_CHILD_ADDED = 1 << 10, ///< Child was added - OT_CHANGED_THREAD_CHILD_REMOVED = 1 << 11, ///< Child was removed - OT_CHANGED_IP6_MULTICAST_SUBSCRIBED = 1 << 12, ///< Subscribed to a IPv6 multicast address - OT_CHANGED_IP6_MULTICAST_UNSUBSCRIBED = 1 << 13, ///< Unsubscribed from a IPv6 multicast address - OT_CHANGED_THREAD_CHANNEL = 1 << 14, ///< Thread network channel changed - OT_CHANGED_THREAD_PANID = 1 << 15, ///< Thread network PAN Id changed - OT_CHANGED_THREAD_NETWORK_NAME = 1 << 16, ///< Thread network name changed - OT_CHANGED_THREAD_EXT_PANID = 1 << 17, ///< Thread network extended PAN ID changed - OT_CHANGED_NETWORK_KEY = 1 << 18, ///< Network key changed - OT_CHANGED_PSKC = 1 << 19, ///< PSKc changed - OT_CHANGED_SECURITY_POLICY = 1 << 20, ///< Security Policy changed - OT_CHANGED_CHANNEL_MANAGER_NEW_CHANNEL = 1 << 21, ///< Channel Manager new pending Thread channel changed - OT_CHANGED_SUPPORTED_CHANNEL_MASK = 1 << 22, ///< Supported channel mask changed - OT_CHANGED_COMMISSIONER_STATE = 1 << 23, ///< Commissioner state changed - OT_CHANGED_THREAD_NETIF_STATE = 1 << 24, ///< Thread network interface state changed - OT_CHANGED_THREAD_BACKBONE_ROUTER_STATE = 1 << 25, ///< Backbone Router state changed - OT_CHANGED_THREAD_BACKBONE_ROUTER_LOCAL = 1 << 26, ///< Local Backbone Router configuration changed - OT_CHANGED_JOINER_STATE = 1 << 27, ///< Joiner state changed - OT_CHANGED_ACTIVE_DATASET = 1 << 28, ///< Active Operational Dataset changed - OT_CHANGED_PENDING_DATASET = 1 << 29, ///< Pending Operational Dataset changed - OT_CHANGED_NAT64_TRANSLATOR_STATE = 1 << 30, ///< The state of NAT64 translator changed -}; +#define OT_CHANGED_IP6_ADDRESS_ADDED (1U << 0) ///< IPv6 address was added +#define OT_CHANGED_IP6_ADDRESS_REMOVED (1U << 1) ///< IPv6 address was removed +#define OT_CHANGED_THREAD_ROLE (1U << 2) ///< Role (disabled, detached, child, router, leader) changed +#define OT_CHANGED_THREAD_LL_ADDR (1U << 3) ///< The link-local address changed +#define OT_CHANGED_THREAD_ML_ADDR (1U << 4) ///< The mesh-local address changed +#define OT_CHANGED_THREAD_RLOC_ADDED (1U << 5) ///< RLOC was added +#define OT_CHANGED_THREAD_RLOC_REMOVED (1U << 6) ///< RLOC was removed +#define OT_CHANGED_THREAD_PARTITION_ID (1U << 7) ///< Partition ID changed +#define OT_CHANGED_THREAD_KEY_SEQUENCE_COUNTER (1U << 8) ///< Thread Key Sequence changed +#define OT_CHANGED_THREAD_NETDATA (1U << 9) ///< Thread Network Data changed +#define OT_CHANGED_THREAD_CHILD_ADDED (1U << 10) ///< Child was added +#define OT_CHANGED_THREAD_CHILD_REMOVED (1U << 11) ///< Child was removed +#define OT_CHANGED_IP6_MULTICAST_SUBSCRIBED (1U << 12) ///< Subscribed to a IPv6 multicast address +#define OT_CHANGED_IP6_MULTICAST_UNSUBSCRIBED (1U << 13) ///< Unsubscribed from a IPv6 multicast address +#define OT_CHANGED_THREAD_CHANNEL (1U << 14) ///< Thread network channel changed +#define OT_CHANGED_THREAD_PANID (1U << 15) ///< Thread network PAN Id changed +#define OT_CHANGED_THREAD_NETWORK_NAME (1U << 16) ///< Thread network name changed +#define OT_CHANGED_THREAD_EXT_PANID (1U << 17) ///< Thread network extended PAN ID changed +#define OT_CHANGED_NETWORK_KEY (1U << 18) ///< Network key changed +#define OT_CHANGED_PSKC (1U << 19) ///< PSKc changed +#define OT_CHANGED_SECURITY_POLICY (1U << 20) ///< Security Policy changed +#define OT_CHANGED_CHANNEL_MANAGER_NEW_CHANNEL (1U << 21) ///< Channel Manager new pending Thread channel changed +#define OT_CHANGED_SUPPORTED_CHANNEL_MASK (1U << 22) ///< Supported channel mask changed +#define OT_CHANGED_COMMISSIONER_STATE (1U << 23) ///< Commissioner state changed +#define OT_CHANGED_THREAD_NETIF_STATE (1U << 24) ///< Thread network interface state changed +#define OT_CHANGED_THREAD_BACKBONE_ROUTER_STATE (1U << 25) ///< Backbone Router state changed +#define OT_CHANGED_THREAD_BACKBONE_ROUTER_LOCAL (1U << 26) ///< Local Backbone Router configuration changed +#define OT_CHANGED_JOINER_STATE (1U << 27) ///< Joiner state changed +#define OT_CHANGED_ACTIVE_DATASET (1U << 28) ///< Active Operational Dataset changed +#define OT_CHANGED_PENDING_DATASET (1U << 29) ///< Pending Operational Dataset changed +#define OT_CHANGED_NAT64_TRANSLATOR_STATE (1U << 30) ///< The state of NAT64 translator changed +#define OT_CHANGED_PARENT_LINK_QUALITY (1U << 31) ///< Parent link quality changed /** - * This type represents a bit-field indicating specific state/configuration that has changed. See `OT_CHANGED_*` + * Represents a bit-field indicating specific state/configuration that has changed. See `OT_CHANGED_*` * definitions. * */ typedef uint32_t otChangedFlags; /** - * This function pointer is called to notify certain configuration or state changes within OpenThread. + * Pointer is called to notify certain configuration or state changes within OpenThread. * * @param[in] aFlags A bit-field indicating specific state that has changed. See `OT_CHANGED_*` definitions. * @param[in] aContext A pointer to application-specific context. @@ -216,7 +221,7 @@ typedef uint32_t otChangedFlags; typedef void (*otStateChangedCallback)(otChangedFlags aFlags, void *aContext); /** - * This function registers a callback to indicate when certain configuration or state changes within OpenThread. + * Registers a callback to indicate when certain configuration or state changes within OpenThread. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aCallback A pointer to a function that is called with certain configuration or state changes. @@ -230,7 +235,7 @@ typedef void (*otStateChangedCallback)(otChangedFlags aFlags, void *aContext); otError otSetStateChangedCallback(otInstance *aInstance, otStateChangedCallback aCallback, void *aContext); /** - * This function removes a callback to indicate when certain configuration or state changes within OpenThread. + * Removes a callback to indicate when certain configuration or state changes within OpenThread. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aCallback A pointer to a function that is called with certain configuration or state changes. @@ -240,7 +245,7 @@ otError otSetStateChangedCallback(otInstance *aInstance, otStateChangedCallback void otRemoveStateChangeCallback(otInstance *aInstance, otStateChangedCallback aCallback, void *aContext); /** - * This method triggers a platform reset. + * Triggers a platform reset. * * The reset process ensures that all the OpenThread state/info (stored in volatile memory) is erased. Note that the * `otPlatformReset` does not erase any persistent state/info saved in non-volatile memory. @@ -259,7 +264,7 @@ void otInstanceReset(otInstance *aInstance); void otInstanceFactoryReset(otInstance *aInstance); /** - * This method resets the internal states of the OpenThread radio stack. + * Resets the internal states of the OpenThread radio stack. * * Callbacks and configurations are preserved. * @@ -271,7 +276,7 @@ void otInstanceFactoryReset(otInstance *aInstance); void otInstanceResetRadioStack(otInstance *aInstance); /** - * This function erases all the OpenThread persistent info (network settings) stored on non-volatile memory. + * Erases all the OpenThread persistent info (network settings) stored on non-volatile memory. * Erase is successful only if the device is in `disabled` state/role. * * @param[in] aInstance A pointer to an OpenThread instance. @@ -283,7 +288,7 @@ void otInstanceResetRadioStack(otInstance *aInstance); otError otInstanceErasePersistentInfo(otInstance *aInstance); /** - * This function gets the OpenThread version string. + * Gets the OpenThread version string. * * @returns A pointer to the OpenThread version. * @@ -291,7 +296,7 @@ otError otInstanceErasePersistentInfo(otInstance *aInstance); const char *otGetVersionString(void); /** - * This function gets the OpenThread radio version string. + * Gets the OpenThread radio version string. * * @param[in] aInstance A pointer to an OpenThread instance. * diff --git a/openthread/include/openthread/ip6.h b/openthread/include/openthread/ip6.h index 5c38e3121f..35c11057e2 100644 --- a/openthread/include/openthread/ip6.h +++ b/openthread/include/openthread/ip6.h @@ -56,11 +56,13 @@ extern "C" { #define OT_IP6_PREFIX_BITSIZE (OT_IP6_PREFIX_SIZE * 8) ///< Size of an IPv6 prefix (bits) #define OT_IP6_IID_SIZE 8 ///< Size of an IPv6 Interface Identifier (bytes) #define OT_IP6_ADDRESS_SIZE 16 ///< Size of an IPv6 address (bytes) +#define OT_IP6_HEADER_SIZE 40 ///< Size of an IPv6 header (bytes) +#define OT_IP6_HEADER_PROTO_OFFSET 6 ///< Offset of the proto field in the IPv6 header (bytes) /** * @struct otIp6InterfaceIdentifier * - * This structure represents the Interface Identifier of an IPv6 address. + * Represents the Interface Identifier of an IPv6 address. * */ OT_TOOL_PACKED_BEGIN @@ -75,7 +77,7 @@ struct otIp6InterfaceIdentifier } OT_TOOL_PACKED_END; /** - * This structure represents the Interface Identifier of an IPv6 address. + * Represents the Interface Identifier of an IPv6 address. * */ typedef struct otIp6InterfaceIdentifier otIp6InterfaceIdentifier; @@ -83,7 +85,7 @@ typedef struct otIp6InterfaceIdentifier otIp6InterfaceIdentifier; /** * @struct otIp6NetworkPrefix * - * This structure represents the Network Prefix of an IPv6 address (most significant 64 bits of the address). + * Represents the Network Prefix of an IPv6 address (most significant 64 bits of the address). * */ OT_TOOL_PACKED_BEGIN @@ -93,7 +95,7 @@ struct otIp6NetworkPrefix } OT_TOOL_PACKED_END; /** - * This structure represents the Network Prefix of an IPv6 address (most significant 64 bits of the address). + * Represents the Network Prefix of an IPv6 address (most significant 64 bits of the address). * */ typedef struct otIp6NetworkPrefix otIp6NetworkPrefix; @@ -101,7 +103,7 @@ typedef struct otIp6NetworkPrefix otIp6NetworkPrefix; /** * @struct otIp6AddressComponents * - * This structure represents the components of an IPv6 address. + * Represents the components of an IPv6 address. * */ OT_TOOL_PACKED_BEGIN @@ -112,7 +114,7 @@ struct otIp6AddressComponents } OT_TOOL_PACKED_END; /** - * This structure represents the components of an IPv6 address. + * Represents the components of an IPv6 address. * */ typedef struct otIp6AddressComponents otIp6AddressComponents; @@ -120,7 +122,7 @@ typedef struct otIp6AddressComponents otIp6AddressComponents; /** * @struct otIp6Address * - * This structure represents an IPv6 address. + * Represents an IPv6 address. * */ OT_TOOL_PACKED_BEGIN @@ -136,13 +138,13 @@ struct otIp6Address } OT_TOOL_PACKED_END; /** - * This structure represents an IPv6 address. + * Represents an IPv6 address. * */ typedef struct otIp6Address otIp6Address; /** - * This structure represents an IPv6 prefix. + * Represents an IPv6 prefix. * */ OT_TOOL_PACKED_BEGIN @@ -153,7 +155,7 @@ struct otIp6Prefix } OT_TOOL_PACKED_END; /** - * This structure represents an IPv6 prefix. + * Represents an IPv6 prefix. * */ typedef struct otIp6Prefix otIp6Prefix; @@ -171,7 +173,7 @@ enum }; /** - * This structure represents an IPv6 network interface unicast address. + * Represents an IPv6 network interface unicast address. * */ typedef struct otNetifAddress @@ -188,7 +190,7 @@ typedef struct otNetifAddress } otNetifAddress; /** - * This structure represents an IPv6 network interface multicast address. + * Represents an IPv6 network interface multicast address. * */ typedef struct otNetifMulticastAddress @@ -198,7 +200,7 @@ typedef struct otNetifMulticastAddress } otNetifMulticastAddress; /** - * This structure represents an IPv6 socket address. + * Represents an IPv6 socket address. * */ typedef struct otSockAddr @@ -220,7 +222,7 @@ enum }; /** - * This structure represents the local and peer IPv6 socket addresses. + * Represents the local and peer IPv6 socket addresses. * */ typedef struct otMessageInfo @@ -420,7 +422,7 @@ otMessage *otIp6NewMessageFromBuffer(otInstance *aInstance, const otMessageSettings *aSettings); /** - * This function pointer is called when an IPv6 datagram is received. + * Pointer is called when an IPv6 datagram is received. * * @param[in] aMessage A pointer to the message buffer containing the received IPv6 datagram. This function transfers * the ownership of the @p aMessage to the receiver of the callback. The message should be @@ -431,7 +433,7 @@ otMessage *otIp6NewMessageFromBuffer(otInstance *aInstance, typedef void (*otIp6ReceiveCallback)(otMessage *aMessage, void *aContext); /** - * This function registers a callback to provide received IPv6 datagrams. + * Registers a callback to provide received IPv6 datagrams. * * By default, this callback does not pass Thread control traffic. See otIp6SetReceiveFilterEnabled() to * change the Thread control traffic filter setting. @@ -450,7 +452,7 @@ void otIp6SetReceiveCallback(otInstance *aInstance, otIp6ReceiveCallback aCallba /** * @struct otIp6AddressInfo * - * This structure represents IPv6 address information. + * Represents IPv6 address information. * */ typedef struct otIp6AddressInfo @@ -462,7 +464,7 @@ typedef struct otIp6AddressInfo } otIp6AddressInfo; /** - * This function pointer is called when an internal IPv6 address is added or removed. + * Pointer is called when an internal IPv6 address is added or removed. * * @param[in] aAddressInfo A pointer to the IPv6 address information. * @param[in] aIsAdded TRUE if the @p aAddress was added, FALSE if @p aAddress was removed. @@ -472,7 +474,7 @@ typedef struct otIp6AddressInfo typedef void (*otIp6AddressCallback)(const otIp6AddressInfo *aAddressInfo, bool aIsAdded, void *aContext); /** - * This function registers a callback to notify internal IPv6 address changes. + * Registers a callback to notify internal IPv6 address changes. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aCallback A pointer to a function that is called when an internal IPv6 address is added or @@ -483,7 +485,7 @@ typedef void (*otIp6AddressCallback)(const otIp6AddressInfo *aAddressInfo, bool void otIp6SetAddressCallback(otInstance *aInstance, otIp6AddressCallback aCallback, void *aCallbackContext); /** - * This function indicates whether or not Thread control traffic is filtered out when delivering IPv6 datagrams + * Indicates whether or not Thread control traffic is filtered out when delivering IPv6 datagrams * via the callback specified in otIp6SetReceiveCallback(). * * @param[in] aInstance A pointer to an OpenThread instance. @@ -497,7 +499,7 @@ void otIp6SetAddressCallback(otInstance *aInstance, otIp6AddressCallback aCallba bool otIp6IsReceiveFilterEnabled(otInstance *aInstance); /** - * This function sets whether or not Thread control traffic is filtered out when delivering IPv6 datagrams + * Sets whether or not Thread control traffic is filtered out when delivering IPv6 datagrams * via the callback specified in otIp6SetReceiveCallback(). * * @param[in] aInstance A pointer to an OpenThread instance. @@ -510,7 +512,7 @@ bool otIp6IsReceiveFilterEnabled(otInstance *aInstance); void otIp6SetReceiveFilterEnabled(otInstance *aInstance, bool aEnabled); /** - * This function sends an IPv6 datagram via the Thread interface. + * Sends an IPv6 datagram via the Thread interface. * * The caller transfers ownership of @p aMessage when making this call. OpenThread will free @p aMessage when * processing is complete, including when a value other than `OT_ERROR_NONE` is returned. @@ -525,12 +527,14 @@ void otIp6SetReceiveFilterEnabled(otInstance *aInstance, bool aEnabled); * @retval OT_ERROR_NO_ROUTE No route to host. * @retval OT_ERROR_INVALID_SOURCE_ADDRESS Source address is invalid, e.g. an anycast address or a multicast address. * @retval OT_ERROR_PARSE Encountered a malformed header when processing the message. + * @retval OT_ERROR_INVALID_ARGS The message's metadata is invalid, e.g. the message uses + * `OT_MESSAGE_ORIGIN_THREAD_NETIF` as the origin. * */ otError otIp6Send(otInstance *aInstance, otMessage *aMessage); /** - * This function adds a port to the allowed unsecured port list. + * Adds a port to the allowed unsecured port list. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aPort The port value. @@ -543,7 +547,7 @@ otError otIp6Send(otInstance *aInstance, otMessage *aMessage); otError otIp6AddUnsecurePort(otInstance *aInstance, uint16_t aPort); /** - * This function removes a port from the allowed unsecure port list. + * Removes a port from the allowed unsecure port list. * * @note This function removes @p aPort by overwriting @p aPort with the element after @p aPort in the internal port * list. Be careful when calling otIp6GetUnsecurePorts() followed by otIp6RemoveUnsecurePort() to remove unsecure @@ -560,7 +564,7 @@ otError otIp6AddUnsecurePort(otInstance *aInstance, uint16_t aPort); otError otIp6RemoveUnsecurePort(otInstance *aInstance, uint16_t aPort); /** - * This function removes all ports from the allowed unsecure port list. + * Removes all ports from the allowed unsecure port list. * * @param[in] aInstance A pointer to an OpenThread instance. * @@ -568,7 +572,7 @@ otError otIp6RemoveUnsecurePort(otInstance *aInstance, uint16_t aPort); void otIp6RemoveAllUnsecurePorts(otInstance *aInstance); /** - * This function returns a pointer to the unsecure port list. + * Returns a pointer to the unsecure port list. * * @note Port value 0 is used to indicate an invalid entry. * @@ -605,21 +609,36 @@ bool otIp6IsAddressEqual(const otIp6Address *aFirst, const otIp6Address *aSecond bool otIp6ArePrefixesEqual(const otIp6Prefix *aFirst, const otIp6Prefix *aSecond); /** - * This function converts a human-readable IPv6 address string into a binary representation. + * Converts a human-readable IPv6 address string into a binary representation. * * @param[in] aString A pointer to a NULL-terminated string. * @param[out] aAddress A pointer to an IPv6 address. * - * @retval OT_ERROR_NONE Successfully parsed the string. - * @retval OT_ERROR_INVALID_ARGS Failed to parse the string. + * @retval OT_ERROR_NONE Successfully parsed @p aString and updated @p aAddress. + * @retval OT_ERROR_PARSE Failed to parse @p aString as an IPv6 address. * */ otError otIp6AddressFromString(const char *aString, otIp6Address *aAddress); +/** + * Converts a human-readable IPv6 prefix string into a binary representation. + * + * The @p aString parameter should be a string in the format "
/", where `
` is an IPv6 + * address and `` is a prefix length. + * + * @param[in] aString A pointer to a NULL-terminated string. + * @param[out] aPrefix A pointer to an IPv6 prefix. + * + * @retval OT_ERROR_NONE Successfully parsed the string as an IPv6 prefix and updated @p aPrefix. + * @retval OT_ERROR_PARSE Failed to parse @p aString as an IPv6 prefix. + * + */ +otError otIp6PrefixFromString(const char *aString, otIp6Prefix *aPrefix); + #define OT_IP6_ADDRESS_STRING_SIZE 40 ///< Recommended size for string representation of an IPv6 address. /** - * This function converts a given IPv6 address to a human-readable string. + * Converts a given IPv6 address to a human-readable string. * * The IPv6 address string is formatted as 16 hex values separated by ':' (i.e., "%x:%x:%x:...:%x"). * @@ -636,7 +655,7 @@ void otIp6AddressToString(const otIp6Address *aAddress, char *aBuffer, uint16_t #define OT_IP6_SOCK_ADDR_STRING_SIZE 48 ///< Recommended size for string representation of an IPv6 socket address. /** - * This function converts a given IPv6 socket address to a human-readable string. + * Converts a given IPv6 socket address to a human-readable string. * * The IPv6 socket address string is formatted as [`address`]:`port` where `address` is shown * as 16 hex values separated by `:` and `port` is the port number in decimal format, @@ -655,7 +674,7 @@ void otIp6SockAddrToString(const otSockAddr *aSockAddr, char *aBuffer, uint16_t #define OT_IP6_PREFIX_STRING_SIZE 45 ///< Recommended size for string representation of an IPv6 prefix. /** - * This function converts a given IPv6 prefix to a human-readable string. + * Converts a given IPv6 prefix to a human-readable string. * * The IPv6 address string is formatted as "%x:%x:%x:...[::]/plen". * @@ -670,7 +689,7 @@ void otIp6SockAddrToString(const otSockAddr *aSockAddr, char *aBuffer, uint16_t void otIp6PrefixToString(const otIp6Prefix *aPrefix, char *aBuffer, uint16_t aSize); /** - * This function returns the prefix match length (bits) for two IPv6 addresses. + * Returns the prefix match length (bits) for two IPv6 addresses. * * @param[in] aFirst A pointer to the first IPv6 address. * @param[in] aSecond A pointer to the second IPv6 address. @@ -681,7 +700,7 @@ void otIp6PrefixToString(const otIp6Prefix *aPrefix, char *aBuffer, uint16_t aSi uint8_t otIp6PrefixMatch(const otIp6Address *aFirst, const otIp6Address *aSecond); /** - * This method gets a prefix with @p aLength from @p aAddress. + * Gets a prefix with @p aLength from @p aAddress. * * @param[in] aAddress A pointer to an IPv6 address. * @param[in] aLength The length of prefix in bits. @@ -691,7 +710,7 @@ uint8_t otIp6PrefixMatch(const otIp6Address *aFirst, const otIp6Address *aSecond void otIp6GetPrefix(const otIp6Address *aAddress, uint8_t aLength, otIp6Prefix *aPrefix); /** - * This function indicates whether or not a given IPv6 address is the Unspecified Address. + * Indicates whether or not a given IPv6 address is the Unspecified Address. * * @param[in] aAddress A pointer to an IPv6 address. * @@ -702,7 +721,7 @@ void otIp6GetPrefix(const otIp6Address *aAddress, uint8_t aLength, otIp6Prefix * bool otIp6IsAddressUnspecified(const otIp6Address *aAddress); /** - * This function perform OpenThread source address selection. + * Perform OpenThread source address selection. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in,out] aMessageInfo A pointer to the message information. @@ -714,9 +733,9 @@ bool otIp6IsAddressUnspecified(const otIp6Address *aAddress); otError otIp6SelectSourceAddress(otInstance *aInstance, otMessageInfo *aMessageInfo); /** - * This function indicates whether the SLAAC module is enabled or not. + * Indicates whether the SLAAC module is enabled or not. * - * This function requires the build-time feature `OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE` to be enabled. + * `OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE` build-time feature must be enabled. * * @retval TRUE SLAAC module is enabled. * @retval FALSE SLAAC module is disabled. @@ -725,9 +744,9 @@ otError otIp6SelectSourceAddress(otInstance *aInstance, otMessageInfo *aMessageI bool otIp6IsSlaacEnabled(otInstance *aInstance); /** - * This function enables/disables the SLAAC module. + * Enables/disables the SLAAC module. * - * This function requires the build-time feature `OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE` to be enabled. + * `OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE` build-time feature must be enabled. * * When SLAAC module is enabled, SLAAC addresses (based on on-mesh prefixes in Network Data) are added to the interface. * When SLAAC module is disabled any previously added SLAAC address is removed. @@ -739,7 +758,7 @@ bool otIp6IsSlaacEnabled(otInstance *aInstance); void otIp6SetSlaacEnabled(otInstance *aInstance, bool aEnabled); /** - * This function pointer allows user to filter prefixes and not allow an SLAAC address based on a prefix to be added. + * Pointer allows user to filter prefixes and not allow an SLAAC address based on a prefix to be added. * * `otIp6SetSlaacPrefixFilter()` can be used to set the filter handler. The filter handler is invoked by SLAAC module * when it is about to add a SLAAC address based on a prefix. Its boolean return value determines whether the address @@ -755,9 +774,9 @@ void otIp6SetSlaacEnabled(otInstance *aInstance, bool aEnabled); typedef bool (*otIp6SlaacPrefixFilter)(otInstance *aInstance, const otIp6Prefix *aPrefix); /** - * This function sets the SLAAC module filter handler. + * Sets the SLAAC module filter handler. * - * This function requires the build-time feature `OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE` to be enabled. + * `OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE` build-time feature must be enabled. * * The filter handler is called by SLAAC module when it is about to add a SLAAC address based on a prefix to decide * whether the address should be added or not. @@ -773,7 +792,7 @@ typedef bool (*otIp6SlaacPrefixFilter)(otInstance *aInstance, const otIp6Prefix void otIp6SetSlaacPrefixFilter(otInstance *aInstance, otIp6SlaacPrefixFilter aFilter); /** - * This function pointer is called with results of `otIp6RegisterMulticastListeners`. + * Pointer is called with results of `otIp6RegisterMulticastListeners`. * * @param[in] aContext A pointer to the user context. * @param[in] aError OT_ERROR_NONE when successfully sent MLR.req and received MLR.rsp, @@ -795,10 +814,10 @@ typedef void (*otIp6RegisterMulticastListenersCallback)(void *aCon #define OT_IP6_MAX_MLR_ADDRESSES 15 ///< Max number of IPv6 addresses supported by Multicast Listener Registration. /** - * This function registers Multicast Listeners to Primary Backbone Router. + * Registers Multicast Listeners to Primary Backbone Router. * - * Note: only available when both `OPENTHREAD_CONFIG_TMF_PROXY_MLR_ENABLE` and - * `OPENTHREAD_CONFIG_COMMISSIONER_ENABLE` are enabled) + * `OPENTHREAD_CONFIG_TMF_PROXY_MLR_ENABLE` and `OPENTHREAD_CONFIG_COMMISSIONER_ENABLE` + * must be enabled. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aAddresses A Multicast Address Array to register. @@ -828,9 +847,9 @@ otError otIp6RegisterMulticastListeners(otInstance * void *aContext); /** - * This function sets the Mesh Local IID (for test purpose). + * Sets the Mesh Local IID (for test purpose). * - * Only available when `OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE` is enabled. + * `OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE` must be enabled. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aIid A pointer to the Mesh Local IID to set. @@ -842,7 +861,7 @@ otError otIp6RegisterMulticastListeners(otInstance * otError otIp6SetMeshLocalIid(otInstance *aInstance, const otIp6InterfaceIdentifier *aIid); /** - * This function converts a given IP protocol number to a human-readable string. + * Converts a given IP protocol number to a human-readable string. * * @param[in] aIpProto An IP protocol number (`OT_IP6_PROTO_*` enumeration). * @@ -852,7 +871,7 @@ otError otIp6SetMeshLocalIid(otInstance *aInstance, const otIp6InterfaceIdentifi const char *otIp6ProtoToString(uint8_t aIpProto); /** - * This structure represents the counters for packets and bytes. + * Represents the counters for packets and bytes. * */ typedef struct otPacketsAndBytes @@ -862,7 +881,7 @@ typedef struct otPacketsAndBytes } otPacketsAndBytes; /** - * This structure represents the counters of packets forwarded via Border Routing. + * Represents the counters of packets forwarded via Border Routing. * */ typedef struct otBorderRoutingCounters @@ -882,7 +901,7 @@ typedef struct otBorderRoutingCounters /** * Gets the Border Routing counters. * - * This function requires the build-time feature `OPENTHREAD_CONFIG_IP6_BR_COUNTERS_ENABLE` to be enabled. + * `OPENTHREAD_CONFIG_IP6_BR_COUNTERS_ENABLE` build-time feature must be enabled. * * @param[in] aInstance A pointer to an OpenThread instance. * diff --git a/openthread/include/openthread/jam_detection.h b/openthread/include/openthread/jam_detection.h index f27669ce00..e49f8b430e 100644 --- a/openthread/include/openthread/jam_detection.h +++ b/openthread/include/openthread/jam_detection.h @@ -55,7 +55,7 @@ extern "C" { */ /** - * This function pointer is called if signal jam detection is enabled and a jam is detected. + * Pointer is called if signal jam detection is enabled and a jam is detected. * * @param[in] aJamState Current jam state (`true` if jam is detected, `false` otherwise). * @param[in] aContext A pointer to application-specific context. diff --git a/openthread/include/openthread/joiner.h b/openthread/include/openthread/joiner.h index 586e88f548..7b8968455e 100644 --- a/openthread/include/openthread/joiner.h +++ b/openthread/include/openthread/joiner.h @@ -56,7 +56,7 @@ extern "C" { */ /** - * This enumeration defines the Joiner State. + * Defines the Joiner State. * */ typedef enum otJoinerState @@ -72,7 +72,7 @@ typedef enum otJoinerState #define OT_JOINER_MAX_DISCERNER_LENGTH 64 ///< Maximum length of a Joiner Discerner in bits. /** - * This structure represents a Joiner Discerner. + * Represents a Joiner Discerner. * */ typedef struct otJoinerDiscerner @@ -82,7 +82,7 @@ typedef struct otJoinerDiscerner } otJoinerDiscerner; /** - * This function pointer is called to notify the completion of a join operation. + * Pointer is called to notify the completion of a join operation. * * @param[in] aError OT_ERROR_NONE if the join process succeeded. * OT_ERROR_SECURITY if the join process failed due to security credentials. @@ -135,12 +135,7 @@ void otJoinerStop(otInstance *aInstance); * * @param[in] aInstance A pointer to an OpenThread instance. * - * @retval OT_JOINER_STATE_IDLE - * @retval OT_JOINER_STATE_DISCOVER - * @retval OT_JOINER_STATE_CONNECT - * @retval OT_JOINER_STATE_CONNECTED - * @retval OT_JOINER_STATE_ENTRUST - * @retval OT_JOINER_STATE_JOINED + * @returns The joiner state. * */ otJoinerState otJoinerGetState(otInstance *aInstance); @@ -188,7 +183,7 @@ otError otJoinerSetDiscerner(otInstance *aInstance, otJoinerDiscerner *aDiscerne const otJoinerDiscerner *otJoinerGetDiscerner(otInstance *aInstance); /** - * This function converts a given joiner state enumeration value to a human-readable string. + * Converts a given joiner state enumeration value to a human-readable string. * * @param[in] aState The joiner state. * diff --git a/openthread/include/openthread/link.h b/openthread/include/openthread/link.h index 289cf858ba..d48d5d4986 100644 --- a/openthread/include/openthread/link.h +++ b/openthread/include/openthread/link.h @@ -55,7 +55,7 @@ extern "C" { #define OT_US_PER_TEN_SYMBOLS OT_RADIO_TEN_SYMBOLS_TIME ///< Time for 10 symbols in units of microseconds /** - * This structure represents link-specific information for messages received from the Thread radio. + * Represents link-specific information for messages received from the Thread radio. * */ typedef struct otThreadLinkInfo @@ -97,7 +97,7 @@ typedef enum otMacFilterAddressMode } otMacFilterAddressMode; /** - * This structure represents a Mac Filter entry. + * Represents a Mac Filter entry. * */ typedef struct otMacFilterEntry @@ -107,7 +107,7 @@ typedef struct otMacFilterEntry } otMacFilterEntry; /** - * This structure represents the MAC layer counters. + * Represents the MAC layer counters. * */ typedef struct otMacCounters @@ -374,7 +374,7 @@ typedef struct otMacCounters } otMacCounters; /** - * This structure represents a received IEEE 802.15.4 Beacon. + * Represents a received IEEE 802.15.4 Beacon. * */ typedef struct otActiveScanResult @@ -398,7 +398,7 @@ typedef struct otActiveScanResult } otActiveScanResult; /** - * This structure represents an energy scan result. + * Represents an energy scan result. * */ typedef struct otEnergyScanResult @@ -408,7 +408,7 @@ typedef struct otEnergyScanResult } otEnergyScanResult; /** - * This function pointer is called during an IEEE 802.15.4 Active Scan when an IEEE 802.15.4 Beacon is received or + * Pointer is called during an IEEE 802.15.4 Active Scan when an IEEE 802.15.4 Beacon is received or * the scan completes. * * @param[in] aResult A valid pointer to the beacon information or NULL when the active scan completes. @@ -418,7 +418,7 @@ typedef struct otEnergyScanResult typedef void (*otHandleActiveScanResult)(otActiveScanResult *aResult, void *aContext); /** - * This function starts an IEEE 802.15.4 Active Scan + * Starts an IEEE 802.15.4 Active Scan * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aScanChannels A bit vector indicating which channels to scan (e.g. OT_CHANNEL_11_MASK). @@ -437,7 +437,7 @@ otError otLinkActiveScan(otInstance *aInstance, void *aCallbackContext); /** - * This function indicates whether or not an IEEE 802.15.4 Active Scan is currently in progress. + * Indicates whether or not an IEEE 802.15.4 Active Scan is currently in progress. * * @param[in] aInstance A pointer to an OpenThread instance. * @@ -446,7 +446,7 @@ otError otLinkActiveScan(otInstance *aInstance, bool otLinkIsActiveScanInProgress(otInstance *aInstance); /** - * This function pointer is called during an IEEE 802.15.4 Energy Scan when the result for a channel is ready or the + * Pointer is called during an IEEE 802.15.4 Energy Scan when the result for a channel is ready or the * scan completes. * * @param[in] aResult A valid pointer to the energy scan result information or NULL when the energy scan completes. @@ -456,7 +456,7 @@ bool otLinkIsActiveScanInProgress(otInstance *aInstance); typedef void (*otHandleEnergyScanResult)(otEnergyScanResult *aResult, void *aContext); /** - * This function starts an IEEE 802.15.4 Energy Scan + * Starts an IEEE 802.15.4 Energy Scan * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aScanChannels A bit vector indicating on which channels to perform energy scan. @@ -475,7 +475,7 @@ otError otLinkEnergyScan(otInstance *aInstance, void *aCallbackContext); /** - * This function indicates whether or not an IEEE 802.15.4 Energy Scan is currently in progress. + * Indicates whether or not an IEEE 802.15.4 Energy Scan is currently in progress. * * @param[in] aInstance A pointer to an OpenThread instance. * @@ -485,7 +485,7 @@ otError otLinkEnergyScan(otInstance *aInstance, bool otLinkIsEnergyScanInProgress(otInstance *aInstance); /** - * This function enqueues an IEEE 802.15.4 Data Request message for transmission. + * Enqueues an IEEE 802.15.4 Data Request message for transmission. * * @param[in] aInstance A pointer to an OpenThread instance. * @@ -497,7 +497,7 @@ bool otLinkIsEnergyScanInProgress(otInstance *aInstance); otError otLinkSendDataRequest(otInstance *aInstance); /** - * This function indicates whether or not an IEEE 802.15.4 MAC is in the transmit state. + * Indicates whether or not an IEEE 802.15.4 MAC is in the transmit state. * * MAC module is in the transmit state during CSMA/CA procedure, CCA, Data, Beacon or Data Request frame transmission * and receiving an ACK of a transmitted frame. MAC module is not in the transmit state during transmission of an ACK @@ -525,7 +525,7 @@ uint8_t otLinkGetChannel(otInstance *aInstance); /** * Set the IEEE 802.15.4 channel * - * This function succeeds only when Thread protocols are disabled. A successful call to this function invalidates the + * Succeeds only when Thread protocols are disabled. A successful call to this function invalidates the * Active and Pending Operational Datasets in non-volatile memory. * * @param[in] aInstance A pointer to an OpenThread instance. @@ -553,7 +553,7 @@ uint32_t otLinkGetSupportedChannelMask(otInstance *aInstance); /** * Set the supported channel mask of MAC layer. * - * This function succeeds only when Thread protocols are disabled. + * Succeeds only when Thread protocols are disabled. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aChannelMask The supported channel mask (bit 0 or lsb mapping to channel 0, and so on). @@ -613,7 +613,7 @@ otPanId otLinkGetPanId(otInstance *aInstance); /** * Set the IEEE 802.15.4 PAN ID. * - * This function succeeds only when Thread protocols are disabled. A successful call to this function also invalidates + * Succeeds only when Thread protocols are disabled. A successful call to this function also invalidates * the Active and Pending Operational Datasets in non-volatile memory. * * @param[in] aInstance A pointer to an OpenThread instance. @@ -674,7 +674,7 @@ otError otLinkSetPollPeriod(otInstance *aInstance, uint32_t aPollPeriod); otShortAddress otLinkGetShortAddress(otInstance *aInstance); /** - * This method returns the maximum number of frame retries during direct transmission. + * Returns the maximum number of frame retries during direct transmission. * * @param[in] aInstance A pointer to an OpenThread instance. * @@ -684,7 +684,7 @@ otShortAddress otLinkGetShortAddress(otInstance *aInstance); uint8_t otLinkGetMaxFrameRetriesDirect(otInstance *aInstance); /** - * This method sets the maximum number of frame retries during direct transmission. + * Sets the maximum number of frame retries during direct transmission. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aMaxFrameRetriesDirect The maximum number of retries during direct transmission. @@ -693,7 +693,7 @@ uint8_t otLinkGetMaxFrameRetriesDirect(otInstance *aInstance); void otLinkSetMaxFrameRetriesDirect(otInstance *aInstance, uint8_t aMaxFrameRetriesDirect); /** - * This method returns the maximum number of frame retries during indirect transmission. + * Returns the maximum number of frame retries during indirect transmission. * * @param[in] aInstance A pointer to an OpenThread instance. * @@ -703,7 +703,7 @@ void otLinkSetMaxFrameRetriesDirect(otInstance *aInstance, uint8_t aMaxFrameRetr uint8_t otLinkGetMaxFrameRetriesIndirect(otInstance *aInstance); /** - * This method sets the maximum number of frame retries during indirect transmission. + * Sets the maximum number of frame retries during indirect transmission. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aMaxFrameRetriesIndirect The maximum number of retries during indirect transmission. @@ -712,9 +712,9 @@ uint8_t otLinkGetMaxFrameRetriesIndirect(otInstance *aInstance); void otLinkSetMaxFrameRetriesIndirect(otInstance *aInstance, uint8_t aMaxFrameRetriesIndirect); /** - * This function gets the address mode of MAC filter. + * Gets the address mode of MAC filter. * - * This function is available when OPENTHREAD_CONFIG_MAC_FILTER_ENABLE configuration is enabled. + * Is available when `OPENTHREAD_CONFIG_MAC_FILTER_ENABLE` configuration is enabled. * * @param[in] aInstance A pointer to an OpenThread instance. * @@ -724,9 +724,9 @@ void otLinkSetMaxFrameRetriesIndirect(otInstance *aInstance, uint8_t aMaxFrameRe otMacFilterAddressMode otLinkFilterGetAddressMode(otInstance *aInstance); /** - * This function sets the address mode of MAC filter. + * Sets the address mode of MAC filter. * - * This function is available when OPENTHREAD_CONFIG_MAC_FILTER_ENABLE configuration is enabled. + * Is available when `OPENTHREAD_CONFIG_MAC_FILTER_ENABLE` configuration is enabled. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aMode The address mode to set. @@ -735,9 +735,9 @@ otMacFilterAddressMode otLinkFilterGetAddressMode(otInstance *aInstance); void otLinkFilterSetAddressMode(otInstance *aInstance, otMacFilterAddressMode aMode); /** - * This method adds an Extended Address to MAC filter. + * Adds an Extended Address to MAC filter. * - * This function is available when OPENTHREAD_CONFIG_MAC_FILTER_ENABLE configuration is enabled. + * Is available when `OPENTHREAD_CONFIG_MAC_FILTER_ENABLE` configuration is enabled. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aExtAddress A pointer to the Extended Address (MUST NOT be NULL). @@ -749,9 +749,9 @@ void otLinkFilterSetAddressMode(otInstance *aInstance, otMacFilterAddressMode aM otError otLinkFilterAddAddress(otInstance *aInstance, const otExtAddress *aExtAddress); /** - * This method removes an Extended Address from MAC filter. + * Removes an Extended Address from MAC filter. * - * This function is available when OPENTHREAD_CONFIG_MAC_FILTER_ENABLE configuration is enabled. + * Is available when `OPENTHREAD_CONFIG_MAC_FILTER_ENABLE` configuration is enabled. * * No action is performed if there is no existing entry in Filter matching the given Extended Address. * @@ -762,9 +762,9 @@ otError otLinkFilterAddAddress(otInstance *aInstance, const otExtAddress *aExtAd void otLinkFilterRemoveAddress(otInstance *aInstance, const otExtAddress *aExtAddress); /** - * This method clears all the Extended Addresses from MAC filter. + * Clears all the Extended Addresses from MAC filter. * - * This function is available when OPENTHREAD_CONFIG_MAC_FILTER_ENABLE configuration is enabled. + * Is available when `OPENTHREAD_CONFIG_MAC_FILTER_ENABLE` configuration is enabled. * * @param[in] aInstance A pointer to an OpenThread instance. * @@ -772,9 +772,9 @@ void otLinkFilterRemoveAddress(otInstance *aInstance, const otExtAddress *aExtAd void otLinkFilterClearAddresses(otInstance *aInstance); /** - * This method gets an in-use address filter entry. + * Gets an in-use address filter entry. * - * This function is available when OPENTHREAD_CONFIG_MAC_FILTER_ENABLE configuration is enabled. + * Is available when `OPENTHREAD_CONFIG_MAC_FILTER_ENABLE` configuration is enabled. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in,out] aIterator A pointer to the MAC filter iterator context. To get the first in-use address filter @@ -788,10 +788,14 @@ void otLinkFilterClearAddresses(otInstance *aInstance); otError otLinkFilterGetNextAddress(otInstance *aInstance, otMacFilterIterator *aIterator, otMacFilterEntry *aEntry); /** - * This method adds a fixed received signal strength (in dBm) entry for the messages from a given Extended Address in - * MAC Filter. + * Adds the specified Extended Address to the `RssIn` list (or modifies an existing + * address in the `RssIn` list) and sets the received signal strength (in dBm) entry + * for messages from that address. The Extended Address does not necessarily have + * to be in the `address allowlist/denylist` filter to set the `rss`. + * @note The `RssIn` list contains Extended Addresses whose `rss` or link quality indicator (`lqi`) + * values have been set to be different from the defaults. * - * This function is available when OPENTHREAD_CONFIG_MAC_FILTER_ENABLE configuration is enabled. + * Is available when `OPENTHREAD_CONFIG_MAC_FILTER_ENABLE` configuration is enabled. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aExtAddress A pointer to the IEEE 802.15.4 Extended Address. MUST NOT be NULL. @@ -804,11 +808,14 @@ otError otLinkFilterGetNextAddress(otInstance *aInstance, otMacFilterIterator *a otError otLinkFilterAddRssIn(otInstance *aInstance, const otExtAddress *aExtAddress, int8_t aRss); /** - * This method removes a MAC Filter entry for fixed received signal strength setting for a given Extended Address. + * Removes the specified Extended Address from the `RssIn` list. Once removed + * from the `RssIn` list, this MAC address will instead use the default `rss` + * and `lqi` settings, assuming defaults have been set. + * (If no defaults have been set, the over-air signal is used.) * - * This function is available when OPENTHREAD_CONFIG_MAC_FILTER_ENABLE configuration is enabled. + * Is available when `OPENTHREAD_CONFIG_MAC_FILTER_ENABLE` configuration is enabled. * - * No action is performed if there is no existing entry in Filter matching the given Extended Address. + * No action is performed if there is no existing entry in the `RssIn` list matching the specified Extended Address. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aExtAddress A pointer to the IEEE 802.15.4 Extended Address. MUST NOT be NULL. @@ -817,9 +824,9 @@ otError otLinkFilterAddRssIn(otInstance *aInstance, const otExtAddress *aExtAddr void otLinkFilterRemoveRssIn(otInstance *aInstance, const otExtAddress *aExtAddress); /** - * This method sets the default received signal strength (in dBm) on MAC Filter. + * Sets the default received signal strength (in dBm) on MAC Filter. * - * This function is available when OPENTHREAD_CONFIG_MAC_FILTER_ENABLE configuration is enabled. + * Is available when `OPENTHREAD_CONFIG_MAC_FILTER_ENABLE` configuration is enabled. * * The default RSS value is used for all received frames from addresses for which there is no explicit RSS-IN entry * in the Filter list (added using `otLinkFilterAddRssIn()`). @@ -831,9 +838,9 @@ void otLinkFilterRemoveRssIn(otInstance *aInstance, const otExtAddress *aExtAddr void otLinkFilterSetDefaultRssIn(otInstance *aInstance, int8_t aRss); /** - * This method clears any previously set default received signal strength (in dBm) on MAC Filter. + * Clears any previously set default received signal strength (in dBm) on MAC Filter. * - * This function is available when OPENTHREAD_CONFIG_MAC_FILTER_ENABLE configuration is enabled. + * Is available when `OPENTHREAD_CONFIG_MAC_FILTER_ENABLE` configuration is enabled. * * @param[in] aInstance A pointer to an OpenThread instance. * @@ -841,9 +848,11 @@ void otLinkFilterSetDefaultRssIn(otInstance *aInstance, int8_t aRss); void otLinkFilterClearDefaultRssIn(otInstance *aInstance); /** - * This method clears all the received signal strength entries (including default RSS-in) on MAC Filter. + * Clears all the received signal strength (`rss`) and link quality + * indicator (`lqi`) entries (including defaults) from the `RssIn` list. + * Performing this action means that all Extended Addresses will use the on-air signal. * - * This function is available when OPENTHREAD_CONFIG_MAC_FILTER_ENABLE configuration is enabled. + * Is available when `OPENTHREAD_CONFIG_MAC_FILTER_ENABLE` configuration is enabled. * * @param[in] aInstance A pointer to an OpenThread instance. * @@ -851,9 +860,9 @@ void otLinkFilterClearDefaultRssIn(otInstance *aInstance); void otLinkFilterClearAllRssIn(otInstance *aInstance); /** - * This method gets an in-use RssIn filter entry. + * Gets an in-use RssIn filter entry. * - * This function is available when OPENTHREAD_CONFIG_MAC_FILTER_ENABLE configuration is enabled. + * Is available when `OPENTHREAD_CONFIG_MAC_FILTER_ENABLE` configuration is enabled. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in,out] aIterator A pointer to the MAC filter iterator context. MUST NOT be NULL. @@ -869,9 +878,9 @@ void otLinkFilterClearAllRssIn(otInstance *aInstance); otError otLinkFilterGetNextRssIn(otInstance *aInstance, otMacFilterIterator *aIterator, otMacFilterEntry *aEntry); /** - * This function enables/disables IEEE 802.15.4 radio filter mode. + * Enables/disables IEEE 802.15.4 radio filter mode. * - * This function is available when OPENTHREAD_CONFIG_MAC_FILTER_ENABLE configuration is enabled. + * Is available when `OPENTHREAD_CONFIG_MAC_FILTER_ENABLE` configuration is enabled. * * The radio filter is mainly intended for testing. It can be used to temporarily block all tx/rx on the 802.15.4 radio. * When radio filter is enabled, radio is put to sleep instead of receive (to ensure device does not receive any frame @@ -885,9 +894,9 @@ otError otLinkFilterGetNextRssIn(otInstance *aInstance, otMacFilterIterator *aIt void otLinkSetRadioFilterEnabled(otInstance *aInstance, bool aFilterEnabled); /** - * This function indicates whether the IEEE 802.15.4 radio filter is enabled or not. + * Indicates whether the IEEE 802.15.4 radio filter is enabled or not. * - * This function is available when OPENTHREAD_CONFIG_MAC_FILTER_ENABLE configuration is enabled. + * Is available when `OPENTHREAD_CONFIG_MAC_FILTER_ENABLE` configuration is enabled. * * @retval TRUE If the radio filter is enabled. * @retval FALSE If the radio filter is disabled. @@ -896,7 +905,7 @@ void otLinkSetRadioFilterEnabled(otInstance *aInstance, bool aFilterEnabled); bool otLinkIsRadioFilterEnabled(otInstance *aInstance); /** - * This method converts received signal strength to link quality. + * Converts received signal strength to link quality. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aRss The received signal strength value to be converted. @@ -907,7 +916,7 @@ bool otLinkIsRadioFilterEnabled(otInstance *aInstance); uint8_t otLinkConvertRssToLinkQuality(otInstance *aInstance, int8_t aRss); /** - * This method converts link quality to typical received signal strength. + * Converts link quality to typical received signal strength. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aLinkQuality LinkQuality value, should be in range [0,3]. @@ -918,9 +927,9 @@ uint8_t otLinkConvertRssToLinkQuality(otInstance *aInstance, int8_t aRss); int8_t otLinkConvertLinkQualityToRss(otInstance *aInstance, uint8_t aLinkQuality); /** - * This method gets histogram of retries for a single direct packet until success. + * Gets histogram of retries for a single direct packet until success. * - * This function is valid when OPENTHREAD_CONFIG_MAC_RETRY_SUCCESS_HISTOGRAM_ENABLE configuration is enabled. + * Is valid when OPENTHREAD_CONFIG_MAC_RETRY_SUCCESS_HISTOGRAM_ENABLE configuration is enabled. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[out] aNumberOfEntries A pointer to where the size of returned histogram array is placed. @@ -931,9 +940,9 @@ int8_t otLinkConvertLinkQualityToRss(otInstance *aInstance, uint8_t aLinkQuality const uint32_t *otLinkGetTxDirectRetrySuccessHistogram(otInstance *aInstance, uint8_t *aNumberOfEntries); /** - * This method gets histogram of retries for a single indirect packet until success. + * Gets histogram of retries for a single indirect packet until success. * - * This function is valid when OPENTHREAD_CONFIG_MAC_RETRY_SUCCESS_HISTOGRAM_ENABLE configuration is enabled. + * Is valid when OPENTHREAD_CONFIG_MAC_RETRY_SUCCESS_HISTOGRAM_ENABLE configuration is enabled. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[out] aNumberOfEntries A pointer to where the size of returned histogram array is placed. @@ -945,9 +954,9 @@ const uint32_t *otLinkGetTxDirectRetrySuccessHistogram(otInstance *aInstance, ui const uint32_t *otLinkGetTxIndirectRetrySuccessHistogram(otInstance *aInstance, uint8_t *aNumberOfEntries); /** - * This method clears histogram statistics for direct and indirect transmissions. + * Clears histogram statistics for direct and indirect transmissions. * - * This function is valid when OPENTHREAD_CONFIG_MAC_RETRY_SUCCESS_HISTOGRAM_ENABLE configuration is enabled. + * Is valid when OPENTHREAD_CONFIG_MAC_RETRY_SUCCESS_HISTOGRAM_ENABLE configuration is enabled. * * @param[in] aInstance A pointer to an OpenThread instance. * @@ -973,7 +982,7 @@ const otMacCounters *otLinkGetCounters(otInstance *aInstance); void otLinkResetCounters(otInstance *aInstance); /** - * This function pointer is called when an IEEE 802.15.4 frame is received. + * Pointer is called when an IEEE 802.15.4 frame is received. * * @note This callback is called after FCS processing and @p aFrame may not contain the actual FCS that was received. * @@ -987,7 +996,7 @@ void otLinkResetCounters(otInstance *aInstance); typedef void (*otLinkPcapCallback)(const otRadioFrame *aFrame, bool aIsTx, void *aContext); /** - * This function registers a callback to provide received raw IEEE 802.15.4 frames. + * Registers a callback to provide received raw IEEE 802.15.4 frames. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aPcapCallback A pointer to a function that is called when receiving an IEEE 802.15.4 link frame or @@ -998,18 +1007,18 @@ typedef void (*otLinkPcapCallback)(const otRadioFrame *aFrame, bool aIsTx, void void otLinkSetPcapCallback(otInstance *aInstance, otLinkPcapCallback aPcapCallback, void *aCallbackContext); /** - * This function indicates whether or not promiscuous mode is enabled at the link layer. + * Indicates whether or not promiscuous mode is enabled at the link layer. * * @param[in] aInstance A pointer to an OpenThread instance. * - * @retval true Promiscuous mode is enabled. - * @retval false Promiscuous mode is not enabled. + * @retval TRUE Promiscuous mode is enabled. + * @retval FALSE Promiscuous mode is not enabled. * */ bool otLinkIsPromiscuous(otInstance *aInstance); /** - * This function enables or disables the link layer promiscuous mode. + * Enables or disables the link layer promiscuous mode. * * @note Promiscuous mode may only be enabled when the Thread interface is disabled. * @@ -1024,14 +1033,14 @@ bool otLinkIsPromiscuous(otInstance *aInstance); otError otLinkSetPromiscuous(otInstance *aInstance, bool aPromiscuous); /** - * This function gets the CSL channel. + * Gets the CSL channel. * * @param[in] aInstance A pointer to an OpenThread instance. * * @returns The CSL channel. * */ -uint8_t otLinkCslGetChannel(otInstance *aInstance); +uint8_t otLinkGetCslChannel(otInstance *aInstance); /** * Sets the CSL channel. @@ -1044,39 +1053,50 @@ uint8_t otLinkCslGetChannel(otInstance *aInstance); * @retval OT_ERROR_INVALID_ARGS Invalid @p aChannel. * */ -otError otLinkCslSetChannel(otInstance *aInstance, uint8_t aChannel); +otError otLinkSetCslChannel(otInstance *aInstance, uint8_t aChannel); + +/** + * Represents CSL period ten symbols unit in microseconds. + * + * The CSL period (in micro seconds) MUST be a multiple of this value. + * + */ +#define OT_LINK_CSL_PERIOD_TEN_SYMBOLS_UNIT_IN_USEC (160) /** - * This function gets the CSL period. + * Gets the CSL period in microseconds * * @param[in] aInstance A pointer to an OpenThread instance. * - * @returns The CSL period in units of 10 symbols. + * @returns The CSL period in microseconds. * */ -uint16_t otLinkCslGetPeriod(otInstance *aInstance); +uint32_t otLinkGetCslPeriod(otInstance *aInstance); /** - * Sets the CSL period in units of 10 symbols. Disable CSL by setting this parameter to `0`. + * Sets the CSL period in microseconds. Disable CSL by setting this parameter to `0`. + * + * The CSL period MUST be a multiple of `OT_LINK_CSL_PERIOD_TEN_SYMBOLS_UNIT_IN_USEC`, otherwise `OT_ERROR_INVALID_ARGS` + * is returned. * * @param[in] aInstance A pointer to an OpenThread instance. - * @param[in] aPeriod The CSL period in units of 10 symbols. + * @param[in] aPeriod The CSL period in microseconds. * * @retval OT_ERROR_NONE Successfully set the CSL period. - * @retval OT_ERROR_INVALID_ARGS Invalid CSL period. + * @retval OT_ERROR_INVALID_ARGS Invalid CSL period * */ -otError otLinkCslSetPeriod(otInstance *aInstance, uint16_t aPeriod); +otError otLinkSetCslPeriod(otInstance *aInstance, uint32_t aPeriod); /** - * This function gets the CSL timeout. + * Gets the CSL timeout. * * @param[in] aInstance A pointer to an OpenThread instance. * * @returns The CSL timeout in seconds. * */ -uint32_t otLinkCslGetTimeout(otInstance *aInstance); +uint32_t otLinkGetCslTimeout(otInstance *aInstance); /** * Sets the CSL timeout in seconds. @@ -1088,10 +1108,10 @@ uint32_t otLinkCslGetTimeout(otInstance *aInstance); * @retval OT_ERROR_INVALID_ARGS Invalid CSL timeout. * */ -otError otLinkCslSetTimeout(otInstance *aInstance, uint32_t aTimeout); +otError otLinkSetCslTimeout(otInstance *aInstance, uint32_t aTimeout); /** - * This function returns the current CCA (Clear Channel Assessment) failure rate. + * Returns the current CCA (Clear Channel Assessment) failure rate. * * The rate is maintained over a window of (roughly) last `OPENTHREAD_CONFIG_CCA_FAILURE_RATE_AVERAGING_WINDOW` * frame transmissions. @@ -1102,7 +1122,7 @@ otError otLinkCslSetTimeout(otInstance *aInstance, uint32_t aTimeout); uint16_t otLinkGetCcaFailureRate(otInstance *aInstance); /** - * This function enables or disables the link layer. + * Enables or disables the link layer. * * @note The link layer may only be enabled / disabled when the Thread Interface is disabled. * @@ -1117,20 +1137,40 @@ uint16_t otLinkGetCcaFailureRate(otInstance *aInstance); otError otLinkSetEnabled(otInstance *aInstance, bool aEnable); /** - * This function indicates whether or not the link layer is enabled. + * Indicates whether or not the link layer is enabled. * * @param[in] aInstance A pointer to an OpenThread instance. * - * @retval true Link layer is enabled. - * @retval false Link layer is not enabled. + * @retval TRUE Link layer is enabled. + * @retval FALSE Link layer is not enabled. * */ bool otLinkIsEnabled(otInstance *aInstance); /** - * This function instructs the device to send an empty IEEE 802.15.4 data frame. + * Indicates whether or not CSL is enabled. + * + * @param[in] aInstance A pointer to an OpenThread instance. + * + * @retval TRUE Link layer is CSL enabled. + * @retval FALSE Link layer is not CSL enabled. + * + */ +bool otLinkIsCslEnabled(otInstance *aInstance); + +/** + * Indicates whether the device is connected to a parent which supports CSL. + * + * @retval TRUE If parent supports CSL. + * @retval FALSE If parent does not support CSL. + * + */ +bool otLinkIsCslSupported(otInstance *aInstance); + +/** + * Instructs the device to send an empty IEEE 802.15.4 data frame. * - * This function is only supported on an Rx-Off-When-Idle device to send an empty data frame to its parent. + * Is only supported on an Rx-Off-When-Idle device to send an empty data frame to its parent. * Note: available only when `OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE` is enabled. * * @param[in] aInstance A pointer to an OpenThread instance. diff --git a/openthread/include/openthread/link_metrics.h b/openthread/include/openthread/link_metrics.h index fc9a7f0091..3b6a76ac53 100644 --- a/openthread/include/openthread/link_metrics.h +++ b/openthread/include/openthread/link_metrics.h @@ -35,8 +35,6 @@ #ifndef LINK_METRICS_H_ #define LINK_METRICS_H_ -#include "openthread-core-config.h" - #include #include #include @@ -56,7 +54,7 @@ extern "C" { */ /** - * This structure represents the result (value) for a Link Metrics query. + * Represents the result (value) for a Link Metrics query. * */ typedef struct otLinkMetricsValues @@ -70,7 +68,7 @@ typedef struct otLinkMetricsValues } otLinkMetricsValues; /** - * This structure represents which frames are accounted in a Forward Tracking Series. + * Represents which frames are accounted in a Forward Tracking Series. * */ typedef struct otLinkMetricsSeriesFlags @@ -108,7 +106,7 @@ typedef enum otLinkMetricsStatus } otLinkMetricsStatus; /** - * This function pointer is called when a Link Metrics report is received. + * Pointer is called when a Link Metrics report is received. * * @param[in] aSource A pointer to the source address. * @param[in] aMetricsValues A pointer to the Link Metrics values (the query result). @@ -118,20 +116,22 @@ typedef enum otLinkMetricsStatus */ typedef void (*otLinkMetricsReportCallback)(const otIp6Address *aSource, const otLinkMetricsValues *aMetricsValues, - uint8_t aStatus, + otLinkMetricsStatus aStatus, void *aContext); /** - * This function pointer is called when a Link Metrics Management Response is received. + * Pointer is called when a Link Metrics Management Response is received. * * @param[in] aSource A pointer to the source address. * @param[in] aStatus The status code in the response. * @param[in] aContext A pointer to application-specific context. * */ -typedef void (*otLinkMetricsMgmtResponseCallback)(const otIp6Address *aSource, uint8_t aStatus, void *aContext); +typedef void (*otLinkMetricsMgmtResponseCallback)(const otIp6Address *aSource, + otLinkMetricsStatus aStatus, + void *aContext); /** - * This function pointer is called when Enh-ACK Probing IE is received. + * Pointer is called when Enh-ACK Probing IE is received. * * @param[in] aShortAddress The Mac short address of the Probing Subject. * @param[in] aExtAddress A pointer to the Mac extended address of the Probing Subject. @@ -145,7 +145,7 @@ typedef void (*otLinkMetricsEnhAckProbingIeReportCallback)(otShortAddress void *aContext); /** - * This function sends an MLE Data Request to query Link Metrics. + * Sends an MLE Data Request to query Link Metrics. * * It could be either Single Probe or Forward Tracking Series. * @@ -198,7 +198,7 @@ otError otLinkMetricsConfigForwardTrackingSeries(otInstance void *aCallbackContext); /** - * This function sends an MLE Link Metrics Management Request to configure/clear an Enhanced-ACK Based Probing. + * Sends an MLE Link Metrics Management Request to configure/clear an Enhanced-ACK Based Probing. * This functionality requires OT_LINK_METRICS_INITIATOR feature enabled. * * @param[in] aInstance A pointer to an OpenThread instance. @@ -247,6 +247,31 @@ otError otLinkMetricsSendLinkProbe(otInstance *aInstance, uint8_t aSeriesId, uint8_t aLength); +/** + * Enable or disable Link Metrics Manager. + * + * @param[in] aInstance A pointer to an OpenThread instance. + * @param[in] aEnable A boolean indicating to enable or disable. + * + */ +void otLinkMetricsManagerSetEnabled(otInstance *aInstance, bool aEnable); + +/** + * Get Link Metrics data of a neighbor by its extended address. + * + * @param[in] aInstance A pointer to an OpenThread instance. + * @param[in] aExtAddress A pointer to the Mac extended address of the Probing Subject. + * @param[out] aLinkMetricsValues A pointer to the Link Metrics values of the subject. + * + * @retval OT_ERROR_NONE Successfully got the Link Metrics data. + * @retval OT_ERROR_INVALID_ARGS The arguments are invalid. + * @retval OT_ERROR_NOT_FOUND No neighbor with the given extended address is found. + * + */ +otError otLinkMetricsManagerGetMetricsValueByExtAddr(otInstance *aInstance, + const otExtAddress *aExtAddress, + otLinkMetricsValues *aLinkMetricsValues); + /** * @} * diff --git a/openthread/include/openthread/link_raw.h b/openthread/include/openthread/link_raw.h index 461b81d7a2..c5ba5adba9 100644 --- a/openthread/include/openthread/link_raw.h +++ b/openthread/include/openthread/link_raw.h @@ -52,7 +52,7 @@ extern "C" { */ /** - * This function pointer on receipt of a IEEE 802.15.4 frame. + * Pointer on receipt of a IEEE 802.15.4 frame. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aFrame A pointer to the received frame or NULL if the receive operation was aborted. @@ -63,7 +63,7 @@ extern "C" { typedef void (*otLinkRawReceiveDone)(otInstance *aInstance, otRadioFrame *aFrame, otError aError); /** - * This function enables/disables the raw link-layer. + * Enables/disables the raw link-layer. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aCallback A pointer to a function called on receipt of a IEEE 802.15.4 frame. NULL to disable the @@ -77,7 +77,7 @@ typedef void (*otLinkRawReceiveDone)(otInstance *aInstance, otRadioFrame *aFrame otError otLinkRawSetReceiveDone(otInstance *aInstance, otLinkRawReceiveDone aCallback); /** - * This function indicates whether or not the raw link-layer is enabled. + * Indicates whether or not the raw link-layer is enabled. * * @param[in] aInstance A pointer to an OpenThread instance. * @@ -88,7 +88,7 @@ otError otLinkRawSetReceiveDone(otInstance *aInstance, otLinkRawReceiveDone aCal bool otLinkRawIsEnabled(otInstance *aInstance); /** - * This function gets the status of promiscuous mode. + * Gets the status of promiscuous mode. * * @param[in] aInstance A pointer to an OpenThread instance. * @@ -99,7 +99,7 @@ bool otLinkRawIsEnabled(otInstance *aInstance); bool otLinkRawGetPromiscuous(otInstance *aInstance); /** - * This function enables or disables promiscuous mode. + * Enables or disables promiscuous mode. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aEnable A value to enable or disable promiscuous mode. @@ -149,7 +149,7 @@ otError otLinkRawReceive(otInstance *aInstance); /** * The radio transitions from Transmit to Receive. - * This method returns a pointer to the transmit buffer. + * Returns a pointer to the transmit buffer. * * The caller forms the IEEE 802.15.4 frame in this buffer then calls otLinkRawTransmit() * to request transmission. @@ -162,7 +162,7 @@ otError otLinkRawReceive(otInstance *aInstance); otRadioFrame *otLinkRawGetTransmitBuffer(otInstance *aInstance); /** - * This function pointer on receipt of a IEEE 802.15.4 frame. + * Pointer on receipt of a IEEE 802.15.4 frame. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aFrame A pointer to the frame that was transmitted. @@ -180,7 +180,7 @@ typedef void (*otLinkRawTransmitDone)(otInstance *aInstance, otError aError); /** - * This method begins the transmit sequence on the radio. + * Begins the transmit sequence on the radio. * * The caller must form the IEEE 802.15.4 frame in the buffer provided by otLinkRawGetTransmitBuffer() before * requesting transmission. The channel and transmit power are also included in the otRadioFrame structure. @@ -219,7 +219,7 @@ int8_t otLinkRawGetRssi(otInstance *aInstance); otRadioCaps otLinkRawGetCaps(otInstance *aInstance); /** - * This function pointer on receipt of a IEEE 802.15.4 frame. + * Pointer on receipt of a IEEE 802.15.4 frame. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aEnergyScanMaxRssi The maximum RSSI encountered on the scanned channel. @@ -228,7 +228,7 @@ otRadioCaps otLinkRawGetCaps(otInstance *aInstance); typedef void (*otLinkRawEnergyScanDone)(otInstance *aInstance, int8_t aEnergyScanMaxRssi); /** - * This method begins the energy scan sequence on the radio. + * Begins the energy scan sequence on the radio. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aScanChannel The channel to perform the energy scan on. @@ -236,7 +236,7 @@ typedef void (*otLinkRawEnergyScanDone)(otInstance *aInstance, int8_t aEnergySca * @param[in] aCallback A pointer to a function called on completion of a scanned channel. * * @retval OT_ERROR_NONE Successfully started scanning the channel. - * @retval OT_ERROR_BUSY The radio is performing enery scanning. + * @retval OT_ERROR_BUSY The radio is performing energy scanning. * @retval OT_ERROR_NOT_IMPLEMENTED The radio doesn't support energy scanning. * @retval OT_ERROR_INVALID_STATE If the raw link-layer isn't enabled. * @@ -356,7 +356,7 @@ otError otLinkRawSetMacKey(otInstance *aInstance, /** * Sets the current MAC frame counter value. * - * This function always sets the MAC counter to the new given value @p aMacFrameCounter independent of the current + * Always sets the MAC counter to the new given value @p aMacFrameCounter independent of the current * value. * * @param[in] aInstance A pointer to an OpenThread instance. diff --git a/openthread/include/openthread/logging.h b/openthread/include/openthread/logging.h index b581b27021..143a0d5111 100644 --- a/openthread/include/openthread/logging.h +++ b/openthread/include/openthread/logging.h @@ -53,7 +53,7 @@ extern "C" { */ /** - * This function returns the current log level. + * Returns the current log level. * * If dynamic log level feature `OPENTHREAD_CONFIG_LOG_LEVEL_DYNAMIC_ENABLE` is enabled, this function returns the * currently set dynamic log level. Otherwise, this function returns the build-time configured log level. @@ -64,7 +64,7 @@ extern "C" { otLogLevel otLoggingGetLevel(void); /** - * This function sets the log level. + * Sets the log level. * * @note This function requires `OPENTHREAD_CONFIG_LOG_LEVEL_DYNAMIC_ENABLE=1`. * @@ -77,9 +77,9 @@ otLogLevel otLoggingGetLevel(void); otError otLoggingSetLevel(otLogLevel aLogLevel); /** - * This function emits a log message at critical log level. + * Emits a log message at critical log level. * - * This function is intended for use by platform. If `OPENTHREAD_CONFIG_LOG_PLATFORM` is not set or the current log + * Is intended for use by platform. If `OPENTHREAD_CONFIG_LOG_PLATFORM` is not set or the current log * level is below critical, this function does not emit any log message. * * @param[in] aFormat The format string. @@ -89,9 +89,9 @@ otError otLoggingSetLevel(otLogLevel aLogLevel); void otLogCritPlat(const char *aFormat, ...) OT_TOOL_PRINTF_STYLE_FORMAT_ARG_CHECK(1, 2); /** - * This function emits a log message at warning log level. + * Emits a log message at warning log level. * - * This function is intended for use by platform. If `OPENTHREAD_CONFIG_LOG_PLATFORM` is not set or the current log + * Is intended for use by platform. If `OPENTHREAD_CONFIG_LOG_PLATFORM` is not set or the current log * level is below warning, this function does not emit any log message. * * @param[in] aFormat The format string. @@ -101,9 +101,9 @@ void otLogCritPlat(const char *aFormat, ...) OT_TOOL_PRINTF_STYLE_FORMAT_ARG_CHE void otLogWarnPlat(const char *aFormat, ...) OT_TOOL_PRINTF_STYLE_FORMAT_ARG_CHECK(1, 2); /** - * This function emits a log message at note log level. + * Emits a log message at note log level. * - * This function is intended for use by platform. If `OPENTHREAD_CONFIG_LOG_PLATFORM` is not set or the current log + * Is intended for use by platform. If `OPENTHREAD_CONFIG_LOG_PLATFORM` is not set or the current log * level is below note, this function does not emit any log message. * * @param[in] aFormat The format string. @@ -113,9 +113,9 @@ void otLogWarnPlat(const char *aFormat, ...) OT_TOOL_PRINTF_STYLE_FORMAT_ARG_CHE void otLogNotePlat(const char *aFormat, ...) OT_TOOL_PRINTF_STYLE_FORMAT_ARG_CHECK(1, 2); /** - * This function emits a log message at info log level. + * Emits a log message at info log level. * - * This function is intended for use by platform. If `OPENTHREAD_CONFIG_LOG_PLATFORM` is not set or the current log + * Is intended for use by platform. If `OPENTHREAD_CONFIG_LOG_PLATFORM` is not set or the current log * level is below info, this function does not emit any log message. * * @param[in] aFormat The format string. @@ -125,9 +125,9 @@ void otLogNotePlat(const char *aFormat, ...) OT_TOOL_PRINTF_STYLE_FORMAT_ARG_CHE void otLogInfoPlat(const char *aFormat, ...) OT_TOOL_PRINTF_STYLE_FORMAT_ARG_CHECK(1, 2); /** - * This function emits a log message at debug log level. + * Emits a log message at debug log level. * - * This function is intended for use by platform. If `OPENTHREAD_CONFIG_LOG_PLATFORM` is not set or the current log + * Is intended for use by platform. If `OPENTHREAD_CONFIG_LOG_PLATFORM` is not set or the current log * level is below debug, this function does not emit any log message. * * @param[in] aFormat The format string. @@ -137,7 +137,7 @@ void otLogInfoPlat(const char *aFormat, ...) OT_TOOL_PRINTF_STYLE_FORMAT_ARG_CHE void otLogDebgPlat(const char *aFormat, ...) OT_TOOL_PRINTF_STYLE_FORMAT_ARG_CHECK(1, 2); /** - * This function generates a memory dump at critical log level. + * Generates a memory dump at critical log level. * * If `OPENTHREAD_CONFIG_LOG_PLATFORM` or `OPENTHREAD_CONFIG_LOG_PKT_DUMP` is not set or the current log level is below * critical this function does not emit any log message. @@ -150,7 +150,7 @@ void otLogDebgPlat(const char *aFormat, ...) OT_TOOL_PRINTF_STYLE_FORMAT_ARG_CHE void otDumpCritPlat(const char *aText, const void *aData, uint16_t aDataLength); /** - * This function generates a memory dump at warning log level. + * Generates a memory dump at warning log level. * * If `OPENTHREAD_CONFIG_LOG_PLATFORM` or `OPENTHREAD_CONFIG_LOG_PKT_DUMP` is not set or the current log level is below * warning this function does not emit any log message. @@ -163,7 +163,7 @@ void otDumpCritPlat(const char *aText, const void *aData, uint16_t aDataLength); void otDumpWarnPlat(const char *aText, const void *aData, uint16_t aDataLength); /** - * This function generates a memory dump at note log level. + * Generates a memory dump at note log level. * * If `OPENTHREAD_CONFIG_LOG_PLATFORM` or `OPENTHREAD_CONFIG_LOG_PKT_DUMP` is not set or the current log level is below * note this function does not emit any log message. @@ -176,7 +176,7 @@ void otDumpWarnPlat(const char *aText, const void *aData, uint16_t aDataLength); void otDumpNotePlat(const char *aText, const void *aData, uint16_t aDataLength); /** - * This function generates a memory dump at info log level. + * Generates a memory dump at info log level. * * If `OPENTHREAD_CONFIG_LOG_PLATFORM` or `OPENTHREAD_CONFIG_LOG_PKT_DUMP` is not set or the current log level is below * info this function does not emit any log message. @@ -189,7 +189,7 @@ void otDumpNotePlat(const char *aText, const void *aData, uint16_t aDataLength); void otDumpInfoPlat(const char *aText, const void *aData, uint16_t aDataLength); /** - * This function generates a memory dump at debug log level. + * Generates a memory dump at debug log level. * * If `OPENTHREAD_CONFIG_LOG_PLATFORM` or `OPENTHREAD_CONFIG_LOG_PKT_DUMP` is not set or the current log level is below * debug this function does not emit any log message. @@ -202,9 +202,9 @@ void otDumpInfoPlat(const char *aText, const void *aData, uint16_t aDataLength); void otDumpDebgPlat(const char *aText, const void *aData, uint16_t aDataLength); /** - * This function emits a log message at a given log level. + * Emits a log message at a given log level. * - * This function is intended for use by CLI only. If `OPENTHREAD_CONFIG_LOG_CLI` is not set or the current log + * Is intended for use by CLI only. If `OPENTHREAD_CONFIG_LOG_CLI` is not set or the current log * level is below the given log level, this function does not emit any log message. * * @param[in] aLogLevel The log level. diff --git a/openthread/include/openthread/mesh_diag.h b/openthread/include/openthread/mesh_diag.h new file mode 100644 index 0000000000..e21e47c937 --- /dev/null +++ b/openthread/include/openthread/mesh_diag.h @@ -0,0 +1,416 @@ +/* + * Copyright (c) 2023, The OpenThread Authors. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holder nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +/** + * @file + * @brief + * This file defines the OpenThread Mesh Diagnostic APIs. + */ + +#ifndef OPENTHREAD_MESH_DIAG_H_ +#define OPENTHREAD_MESH_DIAG_H_ + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @addtogroup api-mesh-diag + * + * @brief + * This module includes definitions and functions for Mesh Diagnostics. + * + * The Mesh Diagnostics APIs require `OPENTHREAD_CONFIG_MESH_DIAG_ENABLE` and `OPENTHREAD_FTD`. + * + * @{ + * + */ + +/** + * Represents the set of configurations used when discovering mesh topology indicating which items to + * discover. + * + */ +typedef struct otMeshDiagDiscoverConfig +{ + bool mDiscoverIp6Addresses : 1; ///< Whether or not to discover IPv6 addresses of every router. + bool mDiscoverChildTable : 1; ///< Whether or not to discover children of every router. +} otMeshDiagDiscoverConfig; + +/** + * An opaque iterator to iterate over list of IPv6 addresses of a router. + * + * Pointers to instance of this type are provided in `otMeshDiagRouterInfo`. + * + */ +typedef struct otMeshDiagIp6AddrIterator otMeshDiagIp6AddrIterator; + +/** + * An opaque iterator to iterate over list of children of a router. + * + * Pointers to instance of this type are provided in `otMeshDiagRouterInfo`. + * + */ +typedef struct otMeshDiagChildIterator otMeshDiagChildIterator; + +/** + * Specifies that Thread Version is unknown. + * + * This is used in `otMeshDiagRouterInfo` for `mVersion` property when device does not provide its version. This + * indicates that device is likely running 1.3.0 (version value 4) or earlier. + * + */ +#define OT_MESH_DIAG_VERSION_UNKNOWN 0xffff + +/** + * Represents information about a router in Thread mesh discovered using `otMeshDiagDiscoverTopology()`. + * + */ +typedef struct otMeshDiagRouterInfo +{ + otExtAddress mExtAddress; ///< Extended MAC address. + uint16_t mRloc16; ///< RLOC16. + uint8_t mRouterId; ///< Router ID. + uint16_t mVersion; ///< Thread Version. `OT_MESH_DIAG_VERSION_UNKNOWN` if unknown. + bool mIsThisDevice : 1; ///< Whether router is this device itself. + bool mIsThisDeviceParent : 1; ///< Whether router is parent of this device (when device is a child). + bool mIsLeader : 1; ///< Whether router is leader. + bool mIsBorderRouter : 1; ///< Whether router acts as a border router providing ext connectivity. + + /** + * Provides the link quality from this router to other routers, also indicating whether a link is established + * between the routers. + * + * The array is indexed based on Router ID. `mLinkQualities[routerId]` indicates the incoming link quality, the + * router sees to the router with `routerId`. Link quality is a value in [0, 3]. Value zero indicates no link. + * Larger value indicate better link quality (as defined by Thread specification). + * + */ + uint8_t mLinkQualities[OT_NETWORK_MAX_ROUTER_ID + 1]; + + /** + * A pointer to an iterator to go through the list of IPv6 addresses of the router. + * + * The pointer is valid only while `otMeshDiagRouterInfo` is valid. It can be used in `otMeshDiagGetNextIp6Address` + * to iterate through the IPv6 addresses. + * + * The pointer can be NULL when there was no request to discover IPv6 addresses (in `otMeshDiagDiscoverConfig`) or + * if the router did not provide the list. + * + */ + otMeshDiagIp6AddrIterator *mIp6AddrIterator; + + /** + * A pointer to an iterator to go through the list of children of the router. + * + * The pointer is valid only while `otMeshDiagRouterInfo` is valid. It can be used in `otMeshDiagGetNextChildInfo` + * to iterate through the children of the router. + * + * The pointer can be NULL when there was no request to discover children (in `otMeshDiagDiscoverConfig`) or + * if the router did not provide the list. + * + */ + otMeshDiagChildIterator *mChildIterator; +} otMeshDiagRouterInfo; + +/** + * Represents information about a discovered child in Thread mesh using `otMeshDiagDiscoverTopology()`. + * + */ +typedef struct otMeshDiagChildInfo +{ + uint16_t mRloc16; ///< RLOC16. + otLinkModeConfig mMode; ///< Device mode. + uint8_t mLinkQuality; ///< Incoming link quality to child from parent. + bool mIsThisDevice : 1; ///< Whether child is this device itself. + bool mIsBorderRouter : 1; ///< Whether child acts as a border router providing ext connectivity. +} otMeshDiagChildInfo; + +/** + * Pointer type represents the callback used by `otMeshDiagDiscoverTopology()` to provide information + * about a discovered router. + * + * When @p aError is `OT_ERROR_PENDING`, it indicates that the discovery is not yet finished and there will be more + * routers to discover and the callback will be invoked again. + * + * @param[in] aError OT_ERROR_PENDING Indicates there are more routers to be discovered. + * OT_ERROR_NONE Indicates this is the last router and mesh discovery is done. + * OT_ERROR_RESPONSE_TIMEOUT Timed out waiting for response from one or more routers. + * @param[in] aRouterInfo The discovered router info (can be null if `aError` is OT_ERROR_RESPONSE_TIMEOUT). + * @param[in] aContext Application-specific context. + * + */ +typedef void (*otMeshDiagDiscoverCallback)(otError aError, otMeshDiagRouterInfo *aRouterInfo, void *aContext); + +/** + * Starts network topology discovery. + * + * @param[in] aInstance The OpenThread instance. + * @param[in] aConfig The configuration to use for discovery (e.g., which items to discover). + * @param[in] aCallback The callback to report the discovered routers. + * @param[in] aContext A context to pass in @p aCallback. + * + * @retval OT_ERROR_NONE The network topology discovery started successfully. + * @retval OT_ERROR_BUSY A previous discovery request is still ongoing. + * @retval OT_ERROR_INVALID_STATE Device is not attached. + * @retval OT_ERROR_NO_BUFS Could not allocate buffer to send discovery messages. + * + */ +otError otMeshDiagDiscoverTopology(otInstance *aInstance, + const otMeshDiagDiscoverConfig *aConfig, + otMeshDiagDiscoverCallback aCallback, + void *aContext); + +/** + * Cancels an ongoing topology discovery if there is one, otherwise no action. + * + * When ongoing discovery is cancelled, the callback from `otMeshDiagDiscoverTopology()` will not be called anymore. + * + */ +void otMeshDiagCancel(otInstance *aInstance); + +/** + * Iterates through the discovered IPv6 addresses of a router or an MTD child. + * + * MUST be used + * - from the callback `otMeshDiagDiscoverCallback()` and use the `mIp6AddrIterator` from the `aRouterInfo` struct that + * is provided as input to the callback, or + * - from the callback `otMeshDiagChildIp6AddrsCallback()` along with provided `aIp6AddrIterator`. + * + * @param[in,out] aIterator The address iterator to use. + * @param[out] aIp6Address A pointer to return the next IPv6 address (if any). + * + * @retval OT_ERROR_NONE Successfully retrieved the next address. @p aIp6Address and @p aIterator are updated. + * @retval OT_ERROR_NOT_FOUND No more address. Reached the end of the list. + * + */ +otError otMeshDiagGetNextIp6Address(otMeshDiagIp6AddrIterator *aIterator, otIp6Address *aIp6Address); + +/** + * Iterates through the discovered children of a router. + * + * This function MUST be used from the callback `otMeshDiagDiscoverCallback()` and use the `mChildIterator` from the + * `aRouterInfo` struct that is provided as input to the callback. + * + * @param[in,out] aIterator The address iterator to use. + * @param[out] aChildInfo A pointer to return the child info (if any). + * + * @retval OT_ERROR_NONE Successfully retrieved the next child. @p aChildInfo and @p aIterator are updated. + * @retval OT_ERROR_NOT_FOUND No more child. Reached the end of the list. + * + */ +otError otMeshDiagGetNextChildInfo(otMeshDiagChildIterator *aIterator, otMeshDiagChildInfo *aChildInfo); + +/** + * Represents information about a child entry from `otMeshDiagQueryChildTable()`. + * + * `mSupportsErrRate` indicates whether or not the error tracking feature is supported and `mFrameErrorRate` and + * `mMessageErrorRate` values are valid. The frame error rate tracks frame tx errors (towards the child) at MAC + * layer, while `mMessageErrorRate` tracks the IPv6 message error rate (above MAC layer and after MAC retries) when + * an IPv6 message is dropped. For example, if the message is large and requires 6LoWPAN fragmentation, message tx is + * considered as failed if one of its fragment frame tx fails (for example, never acked). + * + */ +typedef struct otMeshDiagChildEntry +{ + bool mRxOnWhenIdle : 1; ///< Is rx-on when idle (vs sleepy). + bool mDeviceTypeFtd : 1; ///< Is device FTD (vs MTD). + bool mFullNetData : 1; ///< Whether device gets full Network Data (vs stable sub-set). + bool mCslSynchronized : 1; ///< Is CSL capable and CSL synchronized. + bool mSupportsErrRate : 1; ///< `mFrameErrorRate` and `mMessageErrorRate` values are valid. + uint16_t mRloc16; ///< RLOC16. + otExtAddress mExtAddress; ///< Extended Address. + uint16_t mVersion; ///< Version. + uint32_t mTimeout; ///< Timeout in seconds. + uint32_t mAge; ///< Seconds since last heard from the child. + uint32_t mConnectionTime; ///< Seconds since child attach. + uint16_t mSupervisionInterval; ///< Supervision interval in seconds. Zero to indicate not used. + uint8_t mLinkMargin; ///< Link Margin in dB. + int8_t mAverageRssi; ///< Average RSSI. + int8_t mLastRssi; ///< RSSI of last received frame. + uint16_t mFrameErrorRate; ///< Frame error rate (0x0000->0%, 0xffff->100%). + uint16_t mMessageErrorRate; ///< (IPv6) msg error rate (0x0000->0%, 0xffff->100%). + uint16_t mQueuedMessageCount; ///< Number of queued messages for indirect tx to child. + uint16_t mCslPeriod; ///< CSL Period in unit of 10-symbols-time. Zero indicates CSL is disabled. + uint32_t mCslTimeout; ///< CSL Timeout in seconds. + uint8_t mCslChannel; ///< CSL channel. +} otMeshDiagChildEntry; + +/** + * Represents the callback used by `otMeshDiagQueryChildTable()` to provide information about child table entries. + * + * When @p aError is `OT_ERROR_PENDING`, it indicates that the table still has more entries and the callback will be + * invoked again. + * + * @param[in] aError OT_ERROR_PENDING Indicates there are more entries in the table. + * OT_ERROR_NONE Indicates the table is finished. + * OT_ERROR_RESPONSE_TIMEOUT Timed out waiting for response. + * @param[in] aChildEntry The child entry (can be null if `aError` is OT_ERROR_RESPONSE_TIMEOUT or OT_ERROR_NONE). + * @param[in] aContext Application-specific context. + * + */ +typedef void (*otMeshDiagQueryChildTableCallback)(otError aError, + const otMeshDiagChildEntry *aChildEntry, + void *aContext); + +/** + * Starts query for child table for a given router. + * + * @param[in] aInstance The OpenThread instance. + * @param[in] aRloc16 The RLOC16 of router to query. + * @param[in] aCallback The callback to report the queried child table. + * @param[in] aContext A context to pass in @p aCallback. + * + * @retval OT_ERROR_NONE The query started successfully. + * @retval OT_ERROR_BUSY A previous discovery or query request is still ongoing. + * @retval OT_ERROR_INVALID_ARGS The @p aRloc16 is not a valid router RLOC16. + * @retval OT_ERROR_INVALID_STATE Device is not attached. + * @retval OT_ERROR_NO_BUFS Could not allocate buffer to send query messages. + * + */ +otError otMeshDiagQueryChildTable(otInstance *aInstance, + uint16_t aRloc16, + otMeshDiagQueryChildTableCallback aCallback, + void *aContext); + +/** + * Represents the callback used by `otMeshDiagQueryChildrenIp6Addrs()` to provide information about an MTD child and + * its list of IPv6 addresses. + * + * When @p aError is `OT_ERROR_PENDING`, it indicates that there are more children and the callback will be invoked + * again. + * + * @param[in] aError OT_ERROR_PENDING Indicates there are more children in the table. + * OT_ERROR_NONE Indicates the table is finished. + * OT_ERROR_RESPONSE_TIMEOUT Timed out waiting for response. + * @param[in] aChildRloc16 The RLOC16 of the child. `0xfffe` is used on `OT_ERROR_RESPONSE_TIMEOUT`. + * @param[in] aIp6AddrIterator An iterator to go through the IPv6 addresses of the child with @p aRloc using + * `otMeshDiagGetNextIp6Address()`. Set to NULL on `OT_ERROR_RESPONSE_TIMEOUT`. + * @param[in] aContext Application-specific context. + * + */ +typedef void (*otMeshDiagChildIp6AddrsCallback)(otError aError, + uint16_t aChildRloc16, + otMeshDiagIp6AddrIterator *aIp6AddrIterator, + void *aContext); + +/** + * Sends a query to a parent to retrieve the IPv6 addresses of all its MTD children. + * + * @param[in] aInstance The OpenThread instance. + * @param[in] aRloc16 The RLOC16 of parent to query. + * @param[in] aCallback The callback to report the queried child IPv6 address list. + * @param[in] aContext A context to pass in @p aCallback. + * + * @retval OT_ERROR_NONE The query started successfully. + * @retval OT_ERROR_BUSY A previous discovery or query request is still ongoing. + * @retval OT_ERROR_INVALID_ARGS The @p aRloc16 is not a valid RLOC16. + * @retval OT_ERROR_INVALID_STATE Device is not attached. + * @retval OT_ERROR_NO_BUFS Could not allocate buffer to send query messages. + * + */ +otError otMeshDiagQueryChildrenIp6Addrs(otInstance *aInstance, + uint16_t aRloc16, + otMeshDiagChildIp6AddrsCallback aCallback, + void *aContext); + +/** + * Represents information about a router neighbor entry from `otMeshDiagQueryRouterNeighborTable()`. + * + * `mSupportsErrRate` indicates whether or not the error tracking feature is supported and `mFrameErrorRate` and + * `mMessageErrorRate` values are valid. The frame error rate tracks frame tx errors (towards the child) at MAC + * layer, while `mMessageErrorRate` tracks the IPv6 message error rate (above MAC layer and after MAC retries) when + * an IPv6 message is dropped. For example, if the message is large and requires 6LoWPAN fragmentation, message tx is + * considered as failed if one of its fragment frame tx fails (for example, never acked). + * + */ +typedef struct otMeshDiagRouterNeighborEntry +{ + bool mSupportsErrRate : 1; ///< `mFrameErrorRate` and `mMessageErrorRate` values are valid. + uint16_t mRloc16; ///< RLOC16. + otExtAddress mExtAddress; ///< Extended Address. + uint16_t mVersion; ///< Version. + uint32_t mConnectionTime; ///< Seconds since link establishment. + uint8_t mLinkMargin; ///< Link Margin in dB. + int8_t mAverageRssi; ///< Average RSSI. + int8_t mLastRssi; ///< RSSI of last received frame. + uint16_t mFrameErrorRate; ///< Frame error rate (0x0000->0%, 0xffff->100%). + uint16_t mMessageErrorRate; ///< (IPv6) msg error rate (0x0000->0%, 0xffff->100%). +} otMeshDiagRouterNeighborEntry; + +/** + * Represents the callback used by `otMeshDiagQueryRouterNeighborTable()` to provide information about neighbor router + * table entries. + * + * When @p aError is `OT_ERROR_PENDING`, it indicates that the table still has more entries and the callback will be + * invoked again. + * + * @param[in] aError OT_ERROR_PENDING Indicates there are more entries in the table. + * OT_ERROR_NONE Indicates the table is finished. + * OT_ERROR_RESPONSE_TIMEOUT Timed out waiting for response. + * @param[in] aNeighborEntry The neighbor entry (can be null if `aError` is RESPONSE_TIMEOUT or NONE). + * @param[in] aContext Application-specific context. + * + */ +typedef void (*otMeshDiagQueryRouterNeighborTableCallback)(otError aError, + const otMeshDiagRouterNeighborEntry *aNeighborEntry, + void *aContext); + +/** + * Starts query for router neighbor table for a given router. + * + * @param[in] aInstance The OpenThread instance. + * @param[in] aRloc16 The RLOC16 of router to query. + * @param[in] aCallback The callback to report the queried table. + * @param[in] aContext A context to pass in @p aCallback. + * + * @retval OT_ERROR_NONE The query started successfully. + * @retval OT_ERROR_BUSY A previous discovery or query request is still ongoing. + * @retval OT_ERROR_INVALID_ARGS The @p aRloc16 is not a valid router RLOC16. + * @retval OT_ERROR_INVALID_STATE Device is not attached. + * @retval OT_ERROR_NO_BUFS Could not allocate buffer to send query messages. + * + */ +otError otMeshDiagQueryRouterNeighborTable(otInstance *aInstance, + uint16_t aRloc16, + otMeshDiagQueryRouterNeighborTableCallback aCallback, + void *aContext); + +/** + * @} + * + */ + +#ifdef __cplusplus +} // extern "C" +#endif + +#endif // OPENTHREAD_MESH_DIAG_H_ diff --git a/openthread/include/openthread/message.h b/openthread/include/openthread/message.h index d94c176e4a..99dc49cf18 100644 --- a/openthread/include/openthread/message.h +++ b/openthread/include/openthread/message.h @@ -53,13 +53,13 @@ extern "C" { */ /** - * This type is an opaque representation of an OpenThread message buffer. + * An opaque representation of an OpenThread message buffer. * */ typedef struct otMessage otMessage; /** - * This enumeration defines the OpenThread message priority levels. + * Defines the OpenThread message priority levels. * */ typedef enum otMessagePriority @@ -70,7 +70,18 @@ typedef enum otMessagePriority } otMessagePriority; /** - * This structure represents a message settings. + * Defines the OpenThread message origins. + * + */ +typedef enum otMessageOrigin +{ + OT_MESSAGE_ORIGIN_THREAD_NETIF = 0, ///< Message from Thread Netif. + OT_MESSAGE_ORIGIN_HOST_TRUSTED = 1, ///< Message from a trusted source on host. + OT_MESSAGE_ORIGIN_HOST_UNTRUSTED = 2, ///< Message from an untrusted source on host. +} otMessageOrigin; + +/** + * Represents a message settings. * */ typedef struct otMessageSettings @@ -170,7 +181,7 @@ uint16_t otMessageGetOffset(const otMessage *aMessage); void otMessageSetOffset(otMessage *aMessage, uint16_t aOffset); /** - * This function indicates whether or not link security is enabled for the message. + * Indicates whether or not link security is enabled for the message. * * @param[in] aMessage A pointer to a message buffer. * @@ -181,7 +192,46 @@ void otMessageSetOffset(otMessage *aMessage, uint16_t aOffset); bool otMessageIsLinkSecurityEnabled(const otMessage *aMessage); /** - * This function sets/forces the message to be forwarded using direct transmission. + * Indicates whether or not the message is allowed to be looped back to host. + * + * @param[in] aMessage A pointer to a message buffer. + * + * @retval TRUE If the message is allowed to be looped back to host. + * @retval FALSE If the message is not allowed to be looped back to host. + * + */ +bool otMessageIsLoopbackToHostAllowed(const otMessage *aMessage); + +/** + * Sets whether or not the message is allowed to be looped back to host. + * + * @param[in] aMessage A pointer to a message buffer. + * @param[in] aAllowLoopbackToHost Whether to allow the message to be looped back to host. + * + */ +void otMessageSetLoopbackToHostAllowed(otMessage *aMessage, bool aAllowLoopbackToHost); + +/** + * Gets the message origin. + * + * @param[in] aMessage A pointer to a message buffer. + * + * @returns The message origin. + * + */ +otMessageOrigin otMessageGetOrigin(const otMessage *aMessage); + +/** + * Sets the message origin. + * + * @param[in] aMessage A pointer to a message buffer. + * @param[in] aOrigin The message origin. + * + */ +void otMessageSetOrigin(otMessage *aMessage, otMessageOrigin aOrigin); + +/** + * Sets/forces the message to be forwarded using direct transmission. * Default setting for a new message is `false`. * * @param[in] aMessage A pointer to a message buffer. @@ -192,7 +242,7 @@ bool otMessageIsLinkSecurityEnabled(const otMessage *aMessage); void otMessageSetDirectTransmission(otMessage *aMessage, bool aEnabled); /** - * This function returns the average RSS (received signal strength) associated with the message. + * Returns the average RSS (received signal strength) associated with the message. * * @returns The average RSS value (in dBm) or OT_RADIO_RSSI_INVALID if no average RSS is available. * @@ -263,7 +313,7 @@ uint16_t otMessageRead(const otMessage *aMessage, uint16_t aOffset, void *aBuf, int otMessageWrite(otMessage *aMessage, uint16_t aOffset, const void *aBuf, uint16_t aLength); /** - * This structure represents an OpenThread message queue. + * Represents an OpenThread message queue. */ typedef struct { @@ -271,7 +321,7 @@ typedef struct } otMessageQueue; /** - * This structure represents information about a message queue. + * Represents information about a message queue. * */ typedef struct otMessageQueueInfo @@ -282,13 +332,21 @@ typedef struct otMessageQueueInfo } otMessageQueueInfo; /** - * This structure represents the message buffer information for different queues used by OpenThread stack. + * Represents the message buffer information for different queues used by OpenThread stack. * */ typedef struct otBufferInfo { - uint16_t mTotalBuffers; ///< The total number of buffers in the messages pool (0xffff if unknown). - uint16_t mFreeBuffers; ///< The number of free buffers (0xffff if unknown). + uint16_t mTotalBuffers; ///< The total number of buffers in the messages pool (0xffff if unknown). + uint16_t mFreeBuffers; ///< The number of free buffers (0xffff if unknown). + + /** + * The maximum number of used buffers at the same time since OT stack initialization or last call to + * `otMessageResetBufferInfo()`. + * + */ + uint16_t mMaxUsedBuffers; + otMessageQueueInfo m6loSendQueue; ///< Info about 6LoWPAN send queue. otMessageQueueInfo m6loReassemblyQueue; ///< Info about 6LoWPAN reassembly queue. otMessageQueueInfo mIp6Queue; ///< Info about IPv6 send queue. @@ -302,7 +360,7 @@ typedef struct otBufferInfo /** * Initialize the message queue. * - * This function MUST be called once and only once for a `otMessageQueue` instance before any other `otMessageQueue` + * MUST be called once and only once for a `otMessageQueue` instance before any other `otMessageQueue` * functions. The behavior is undefined if other queue APIs are used with an `otMessageQueue` before it being * initialized or if it is initialized more than once. * @@ -312,7 +370,7 @@ typedef struct otBufferInfo void otMessageQueueInit(otMessageQueue *aQueue); /** - * This function adds a message to the end of the given message queue. + * Adds a message to the end of the given message queue. * * @param[in] aQueue A pointer to the message queue. * @param[in] aMessage The message to add. @@ -321,7 +379,7 @@ void otMessageQueueInit(otMessageQueue *aQueue); void otMessageQueueEnqueue(otMessageQueue *aQueue, otMessage *aMessage); /** - * This function adds a message at the head/front of the given message queue. + * Adds a message at the head/front of the given message queue. * * @param[in] aQueue A pointer to the message queue. * @param[in] aMessage The message to add. @@ -330,7 +388,7 @@ void otMessageQueueEnqueue(otMessageQueue *aQueue, otMessage *aMessage); void otMessageQueueEnqueueAtHead(otMessageQueue *aQueue, otMessage *aMessage); /** - * This function removes a message from the given message queue. + * Removes a message from the given message queue. * * @param[in] aQueue A pointer to the message queue. * @param[in] aMessage The message to remove. @@ -339,7 +397,7 @@ void otMessageQueueEnqueueAtHead(otMessageQueue *aQueue, otMessage *aMessage); void otMessageQueueDequeue(otMessageQueue *aQueue, otMessage *aMessage); /** - * This function returns a pointer to the message at the head of the queue. + * Returns a pointer to the message at the head of the queue. * * @param[in] aQueue A pointer to a message queue. * @@ -349,7 +407,7 @@ void otMessageQueueDequeue(otMessageQueue *aQueue, otMessage *aMessage); otMessage *otMessageQueueGetHead(otMessageQueue *aQueue); /** - * This function returns a pointer to the next message in the queue by iterating forward (from head to tail). + * Returns a pointer to the next message in the queue by iterating forward (from head to tail). * * @param[in] aQueue A pointer to a message queue. * @param[in] aMessage A pointer to current message buffer. @@ -369,6 +427,16 @@ otMessage *otMessageQueueGetNext(otMessageQueue *aQueue, const otMessage *aMessa */ void otMessageGetBufferInfo(otInstance *aInstance, otBufferInfo *aBufferInfo); +/** + * Reset the Message Buffer information counter tracking the maximum number buffers in use at the same time. + * + * This resets `mMaxUsedBuffers` in `otBufferInfo`. + * + * @param[in] aInstance A pointer to the OpenThread instance. + * + */ +void otMessageResetBufferInfo(otInstance *aInstance); + /** * @} * diff --git a/openthread/include/openthread/multi_radio.h b/openthread/include/openthread/multi_radio.h index 13930f58c5..9ad35723bb 100644 --- a/openthread/include/openthread/multi_radio.h +++ b/openthread/include/openthread/multi_radio.h @@ -52,7 +52,7 @@ extern "C" { */ /** - * This type represents information associated with a radio link. + * Represents information associated with a radio link. * */ typedef struct otRadioLinkInfo @@ -61,7 +61,7 @@ typedef struct otRadioLinkInfo } otRadioLinkInfo; /** - * This type represents multi radio link information associated with a neighbor. + * Represents multi radio link information associated with a neighbor. * */ typedef struct otMultiRadioNeighborInfo @@ -73,9 +73,9 @@ typedef struct otMultiRadioNeighborInfo } otMultiRadioNeighborInfo; /** - * This function gets the multi radio link information associated with a neighbor with a given Extended Address. + * Gets the multi radio link information associated with a neighbor with a given Extended Address. * - * This function requires the multi radio link feature to be enabled (please see `config/radio_link.h`). + * `OPENTHREAD_CONFIG_MULTI_RADIO` must be enabled. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aExtAddress The Extended Address of neighbor. diff --git a/openthread/include/openthread/nat64.h b/openthread/include/openthread/nat64.h index 4589d3620c..930c4c3423 100644 --- a/openthread/include/openthread/nat64.h +++ b/openthread/include/openthread/nat64.h @@ -57,7 +57,7 @@ extern "C" { /** * @struct otIp4Address * - * This structure represents an IPv4 address. + * Represents an IPv4 address. * */ OT_TOOL_PACKED_BEGIN @@ -71,7 +71,7 @@ struct otIp4Address } OT_TOOL_PACKED_END; /** - * This structure represents an IPv4 address. + * Represents an IPv4 address. * */ typedef struct otIp4Address otIp4Address; @@ -79,7 +79,7 @@ typedef struct otIp4Address otIp4Address; /** * @struct otIp4Cidr * - * This structure represents an IPv4 CIDR block. + * Represents an IPv4 CIDR block. * */ typedef struct otIp4Cidr @@ -291,7 +291,7 @@ otNat64State otNat64GetPrefixManagerState(otInstance *aInstance); * @sa otNat64GetPrefixManagerState * */ -void otNat64SetEnabled(otInstance *aInstance, bool aEnable); +void otNat64SetEnabled(otInstance *aInstance, bool aEnabled); /** * Allocate a new message buffer for sending an IPv4 message to the NAT64 translator. @@ -317,7 +317,7 @@ otMessage *otIp4NewMessage(otInstance *aInstance, const otMessageSettings *aSett /** * Sets the CIDR used when setting the source address of the outgoing translated IPv4 packets. * - * This function is available only when OPENTHREAD_CONFIG_NAT64_TRANSLATOR_ENABLE is enabled. + * Is available only when OPENTHREAD_CONFIG_NAT64_TRANSLATOR_ENABLE is enabled. * * @note A valid CIDR must have a non-zero prefix length. The actual addresses pool is limited by the size of the * mapping pool and the number of addresses available in the CIDR block. @@ -358,7 +358,7 @@ otError otNat64SetIp4Cidr(otInstance *aInstance, const otIp4Cidr *aCidr); otError otNat64Send(otInstance *aInstance, otMessage *aMessage); /** - * This function pointer is called when an IPv4 datagram (translated by NAT64 translator) is received. + * Pointer is called when an IPv4 datagram (translated by NAT64 translator) is received. * * @param[in] aMessage A pointer to the message buffer containing the received IPv6 datagram. This function transfers * the ownership of the @p aMessage to the receiver of the callback. The message should be @@ -374,7 +374,7 @@ typedef void (*otNat64ReceiveIp4Callback)(otMessage *aMessage, void *aContext); * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aCallback A pointer to a function that is called when an IPv4 datagram is received or * NULL to disable the callback. - * @param[in] aCallbackContext A pointer to application-specific context. + * @param[in] aContext A pointer to application-specific context. * */ void otNat64SetReceiveIp4Callback(otInstance *aInstance, otNat64ReceiveIp4Callback aCallback, void *aContext); @@ -435,6 +435,18 @@ void otIp4AddressToString(const otIp4Address *aAddress, char *aBuffer, uint16_t #define OT_IP4_CIDR_STRING_SIZE 20 ///< Length of 000.000.000.000/00 plus a suffix NUL +/** + * Converts a human-readable IPv4 CIDR string into a binary representation. + * + * @param[in] aString A pointer to a NULL-terminated string. + * @param[out] aCidr A pointer to an IPv4 CIDR. + * + * @retval OT_ERROR_NONE Successfully parsed the string. + * @retval OT_ERROR_INVALID_ARGS Failed to parse the string. + * + */ +otError otIp4CidrFromString(const char *aString, otIp4Cidr *aCidr); + /** * Converts the IPv4 CIDR to a string. * diff --git a/openthread/include/openthread/ncp.h b/openthread/include/openthread/ncp.h index fb766ef9d1..7e07fa2901 100644 --- a/openthread/include/openthread/ncp.h +++ b/openthread/include/openthread/ncp.h @@ -55,7 +55,7 @@ extern "C" { */ /** - * This function pointer is called to send HDLC encoded NCP data. + * Pointer is called to send HDLC encoded NCP data. * * @param[in] aBuf A pointer to a buffer with an output. * @param[in] aBufLength A length of the output data stored in the buffer. @@ -66,13 +66,13 @@ extern "C" { typedef int (*otNcpHdlcSendCallback)(const uint8_t *aBuf, uint16_t aBufLength); /** - * This function is called after NCP send finished. + * Is called after NCP send finished. * */ void otNcpHdlcSendDone(void); /** - * This function is called after HDLC encoded NCP data received. + * Is called after HDLC encoded NCP data received. * * @param[in] aBuf A pointer to a buffer. * @param[in] aBufLength The length of the data stored in the buffer. @@ -100,7 +100,7 @@ void otNcpSpiInit(otInstance *aInstance); /** * @brief Send data to the host via a specific stream. * - * This function attempts to send the given data to the host + * Attempts to send the given data to the host * using the given aStreamId. This is useful for reporting * error messages, implementing debug/diagnostic consoles, * and potentially other types of datastreams. @@ -149,7 +149,7 @@ void otNcpPlatLogv(otLogLevel aLogLevel, otLogRegion aLogRegion, const char *aFo typedef bool (*otNcpDelegateAllowPeekPoke)(uint32_t aAddress, uint16_t aCount); /** - * This method registers peek/poke delegate functions with NCP module. + * Registers peek/poke delegate functions with NCP module. * * The delegate functions are called by NCP module to decide whether to allow peek or poke of a specific memory region. * If the delegate pointer is set to NULL, it allows peek/poke operation for any address. @@ -158,7 +158,7 @@ typedef bool (*otNcpDelegateAllowPeekPoke)(uint32_t aAddress, uint16_t aCount); * @param[in] aAllowPokeDelegate Delegate function pointer for poke operation. * */ -void otNcpRegisterPeekPokeDelagates(otNcpDelegateAllowPeekPoke aAllowPeekDelegate, +void otNcpRegisterPeekPokeDelegates(otNcpDelegateAllowPeekPoke aAllowPeekDelegate, otNcpDelegateAllowPeekPoke aAllowPokeDelegate); /** diff --git a/openthread/include/openthread/netdata.h b/openthread/include/openthread/netdata.h index 12c48e8175..aae61148af 100644 --- a/openthread/include/openthread/netdata.h +++ b/openthread/include/openthread/netdata.h @@ -53,7 +53,7 @@ extern "C" { typedef uint32_t otNetworkDataIterator; ///< Used to iterate through Network Data information. /** - * This structure represents a Border Router configuration. + * Represents a Border Router configuration. */ typedef struct otBorderRouterConfig { @@ -72,7 +72,18 @@ typedef struct otBorderRouterConfig } otBorderRouterConfig; /** - * This structure represents an External Route configuration. + * Represents 6LoWPAN Context ID information associated with a prefix in Network Data. + * + */ +typedef struct otLowpanContextInfo +{ + uint8_t mContextId; ///< The 6LoWPAN Context ID. + bool mCompressFlag; ///< The compress flag. + otIp6Prefix mPrefix; ///< The associated IPv6 prefix. +} otLowpanContextInfo; + +/** + * Represents an External Route configuration. * */ typedef struct otExternalRouteConfig @@ -83,6 +94,7 @@ typedef struct otExternalRouteConfig bool mNat64 : 1; ///< Whether this is a NAT64 prefix. bool mStable : 1; ///< Whether this configuration is considered Stable Network Data. bool mNextHopIsThisDevice : 1; ///< Whether the next hop is this device (value ignored on config add). + bool mAdvPio : 1; ///< Whether or not BR is advertising a ULA prefix in PIO (AP flag). } otExternalRouteConfig; /** @@ -100,7 +112,7 @@ typedef enum otRoutePreference #define OT_SERVER_DATA_MAX_SIZE 248 ///< Max size of Server Data in bytes. Theoretical limit, practically much lower. /** - * This structure represents a Server configuration. + * Represents a Server configuration. * */ typedef struct otServerConfig @@ -112,7 +124,7 @@ typedef struct otServerConfig } otServerConfig; /** - * This structure represents a Service configuration. + * Represents a Service configuration. * */ typedef struct otServiceConfig @@ -125,7 +137,7 @@ typedef struct otServiceConfig } otServiceConfig; /** - * This method provides a full or stable copy of the Partition's Thread Network Data. + * Provide full or stable copy of the Partition's Thread Network Data. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aStable TRUE when copying the stable version, FALSE when copying the full version. @@ -133,11 +145,45 @@ typedef struct otServiceConfig * @param[in,out] aDataLength On entry, size of the data buffer pointed to by @p aData. * On exit, number of copied bytes. * + * @retval OT_ERROR_NONE Successfully copied the Thread Network Data into @p aData and updated @p aDataLength. + * @retval OT_ERROR_NO_BUFS Not enough space in @p aData to fully copy the Thread Network Data. + * */ otError otNetDataGet(otInstance *aInstance, bool aStable, uint8_t *aData, uint8_t *aDataLength); /** - * This function gets the next On Mesh Prefix in the partition's Network Data. + * Get the current length (number of bytes) of Partition's Thread Network Data. + * + * @param[in] aInstance A pointer to an OpenThread instance. + * + * @return The length of the Network Data. + * + */ +uint8_t otNetDataGetLength(otInstance *aInstance); + +/** + * Get the maximum observed length of the Thread Network Data since OT stack initialization or since the last call to + * `otNetDataResetMaxLength()`. + * + * @param[in] aInstance A pointer to an OpenThread instance. + * + * @return The maximum length of the Network Data (high water mark for Network Data length). + * + */ +uint8_t otNetDataGetMaxLength(otInstance *aInstance); + +/** + * Reset the tracked maximum length of the Thread Network Data. + * + * @param[in] aInstance A pointer to an OpenThread instance. + * + * @sa otNetDataGetMaxLength + * + */ +void otNetDataResetMaxLength(otInstance *aInstance); + +/** + * Get the next On Mesh Prefix in the partition's Network Data. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in,out] aIterator A pointer to the Network Data iterator context. To get the first on-mesh entry @@ -153,7 +199,7 @@ otError otNetDataGetNextOnMeshPrefix(otInstance *aInstance, otBorderRouterConfig *aConfig); /** - * This function gets the next external route in the partition's Network Data. + * Get the next external route in the partition's Network Data. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in,out] aIterator A pointer to the Network Data iterator context. To get the first external route entry @@ -167,7 +213,7 @@ otError otNetDataGetNextOnMeshPrefix(otInstance *aInstance, otError otNetDataGetNextRoute(otInstance *aInstance, otNetworkDataIterator *aIterator, otExternalRouteConfig *aConfig); /** - * This function gets the next service in the partition's Network Data. + * Get the next service in the partition's Network Data. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in,out] aIterator A pointer to the Network Data iterator context. To get the first service entry @@ -180,6 +226,22 @@ otError otNetDataGetNextRoute(otInstance *aInstance, otNetworkDataIterator *aIte */ otError otNetDataGetNextService(otInstance *aInstance, otNetworkDataIterator *aIterator, otServiceConfig *aConfig); +/** + * Get the next 6LoWPAN Context ID info in the partition's Network Data. + * + * @param[in] aInstance A pointer to an OpenThread instance. + * @param[in,out] aIterator A pointer to the Network Data iterator. To get the first service entry + it should be set to OT_NETWORK_DATA_ITERATOR_INIT. + * @param[out] aContextInfo A pointer to where the retrieved 6LoWPAN Context ID information will be placed. + * + * @retval OT_ERROR_NONE Successfully found the next 6LoWPAN Context ID info. + * @retval OT_ERROR_NOT_FOUND No subsequent 6LoWPAN Context info exists in the partition's Network Data. + * + */ +otError otNetDataGetNextLowpanContextInfo(otInstance *aInstance, + otNetworkDataIterator *aIterator, + otLowpanContextInfo *aContextInfo); + /** * Get the Network Data Version. * @@ -231,8 +293,7 @@ otError otNetDataSteeringDataCheckJoinerWithDiscerner(otInstance const struct otJoinerDiscerner *aDiscerner); /** - * This function checks whether a given Prefix can act as a valid OMR prefix and also the Leader's Network Data contains - * this prefix. + * Check whether a given Prefix can act as a valid OMR prefix and also the Leader's Network Data contains this prefix. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aPrefix A pointer to the IPv6 prefix. diff --git a/openthread/include/openthread/netdata_publisher.h b/openthread/include/openthread/netdata_publisher.h index 0e68b0ec40..21a934523a 100644 --- a/openthread/include/openthread/netdata_publisher.h +++ b/openthread/include/openthread/netdata_publisher.h @@ -55,7 +55,7 @@ extern "C" { */ /** - * This enumeration represents the events reported from the Publisher callbacks. + * Represents the events reported from the Publisher callbacks. * */ typedef enum otNetDataPublisherEvent @@ -65,7 +65,7 @@ typedef enum otNetDataPublisherEvent } otNetDataPublisherEvent; /** - * This function pointer type defines the callback used to notify when a "DNS/SRP Service" entry is added to or removed + * Pointer type defines the callback used to notify when a "DNS/SRP Service" entry is added to or removed * from the Thread Network Data. * * On remove the callback is invoked independent of whether the entry is removed by `Publisher` (e.g., when there are @@ -79,7 +79,7 @@ typedef enum otNetDataPublisherEvent typedef void (*otNetDataDnsSrpServicePublisherCallback)(otNetDataPublisherEvent aEvent, void *aContext); /** - * This function pointer type defines the callback used to notify when a prefix (on-mesh or external route) entry is + * Pointer type defines the callback used to notify when a prefix (on-mesh or external route) entry is * added to or removed from the Thread Network Data. * * On remove the callback is invoked independent of whether the entry is removed by `Publisher` (e.g., when there are @@ -95,9 +95,9 @@ typedef void (*otNetDataPrefixPublisherCallback)(otNetDataPublisherEvent aEvent, void *aContext); /** - * This function requests "DNS/SRP Service Anycast Address" to be published in the Thread Network Data. + * Requests "DNS/SRP Service Anycast Address" to be published in the Thread Network Data. * - * This function requires the feature `OPENTHREAD_CONFIG_TMF_NETDATA_SERVICE_ENABLE` to be enabled. + * Requires the feature `OPENTHREAD_CONFIG_TMF_NETDATA_SERVICE_ENABLE` to be enabled. * * A call to this function will remove and replace any previous "DNS/SRP Service" entry that was being published (from * earlier call to any of `otNetDataPublishDnsSrpService{Type}()` functions). @@ -109,14 +109,14 @@ typedef void (*otNetDataPrefixPublisherCallback)(otNetDataPublisherEvent aEvent, void otNetDataPublishDnsSrpServiceAnycast(otInstance *aInstance, uint8_t aSequenceNUmber); /** - * This function requests "DNS/SRP Service Unicast Address" to be published in the Thread Network Data. + * Requests "DNS/SRP Service Unicast Address" to be published in the Thread Network Data. * - * This function requires the feature `OPENTHREAD_CONFIG_TMF_NETDATA_SERVICE_ENABLE` to be enabled. + * Requires the feature `OPENTHREAD_CONFIG_TMF_NETDATA_SERVICE_ENABLE` to be enabled. * * A call to this function will remove and replace any previous "DNS/SRP Service" entry that was being published (from * earlier call to any of `otNetDataPublishDnsSrpService{Type}()` functions). * - * This function publishes the "DNS/SRP Service Unicast Address" by including the address and port info in the Service + * Publishes the "DNS/SRP Service Unicast Address" by including the address and port info in the Service * TLV data. * * @param[in] aInstance A pointer to an OpenThread instance. @@ -127,9 +127,9 @@ void otNetDataPublishDnsSrpServiceAnycast(otInstance *aInstance, uint8_t aSequen void otNetDataPublishDnsSrpServiceUnicast(otInstance *aInstance, const otIp6Address *aAddress, uint16_t aPort); /** - * This function requests "DNS/SRP Service Unicast Address" to be published in the Thread Network Data. + * Requests "DNS/SRP Service Unicast Address" to be published in the Thread Network Data. * - * This function requires the feature `OPENTHREAD_CONFIG_TMF_NETDATA_SERVICE_ENABLE` to be enabled. + * Requires the feature `OPENTHREAD_CONFIG_TMF_NETDATA_SERVICE_ENABLE` to be enabled. * * A call to this function will remove and replace any previous "DNS/SRP Service" entry that was being published (from * earlier call to any of `otNetDataPublishDnsSrpService{Type}()` functions). @@ -145,9 +145,9 @@ void otNetDataPublishDnsSrpServiceUnicast(otInstance *aInstance, const otIp6Addr void otNetDataPublishDnsSrpServiceUnicastMeshLocalEid(otInstance *aInstance, uint16_t aPort); /** - * This function indicates whether or not currently the "DNS/SRP Service" entry is added to the Thread Network Data. + * Indicates whether or not currently the "DNS/SRP Service" entry is added to the Thread Network Data. * - * This function requires the feature `OPENTHREAD_CONFIG_TMF_NETDATA_SERVICE_ENABLE` to be enabled. + * Requires the feature `OPENTHREAD_CONFIG_TMF_NETDATA_SERVICE_ENABLE` to be enabled. * * @param[in] aInstance A pointer to an OpenThread instance. * @@ -158,12 +158,12 @@ void otNetDataPublishDnsSrpServiceUnicastMeshLocalEid(otInstance *aInstance, uin bool otNetDataIsDnsSrpServiceAdded(otInstance *aInstance); /** - * This function sets a callback for notifying when a published "DNS/SRP Service" is actually added to or removed from + * Sets a callback for notifying when a published "DNS/SRP Service" is actually added to or removed from * the Thread Network Data. * * A subsequent call to this function replaces any previously set callback function. * - * This function requires the feature `OPENTHREAD_CONFIG_TMF_NETDATA_SERVICE_ENABLE` to be enabled. + * Requires the feature `OPENTHREAD_CONFIG_TMF_NETDATA_SERVICE_ENABLE` to be enabled. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aCallback The callback function pointer (can be NULL if not needed). @@ -186,9 +186,9 @@ void otNetDataSetDnsSrpServicePublisherCallback(otInstance void otNetDataUnpublishDnsSrpService(otInstance *aInstance); /** - * This function requests an on-mesh prefix to be published in the Thread Network Data. + * Requests an on-mesh prefix to be published in the Thread Network Data. * - * This function requires the feature `OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE` to be enabled. + * Requires the feature `OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE` to be enabled. * * Only stable entries can be published (i.e.,`aConfig.mStable` MUST be TRUE). * @@ -213,9 +213,9 @@ void otNetDataUnpublishDnsSrpService(otInstance *aInstance); otError otNetDataPublishOnMeshPrefix(otInstance *aInstance, const otBorderRouterConfig *aConfig); /** - * This function requests an external route prefix to be published in the Thread Network Data. + * Requests an external route prefix to be published in the Thread Network Data. * - * This function requires the feature `OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE` to be enabled. + * Requires the feature `OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE` to be enabled. * * Only stable entries can be published (i.e.,`aConfig.mStable` MUST be TRUE). * @@ -238,10 +238,46 @@ otError otNetDataPublishOnMeshPrefix(otInstance *aInstance, const otBorderRouter otError otNetDataPublishExternalRoute(otInstance *aInstance, const otExternalRouteConfig *aConfig); /** - * This function indicates whether or not currently a published prefix entry (on-mesh or external route) is added to + * Replaces a previously published external route in the Thread Network Data. + * + * Requires the feature `OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE` to be enabled. + * + * If there is no previously published external route matching @p aPrefix, this function behaves similarly to + * `otNetDataPublishExternalRoute()`, i.e., it will start the process of publishing @a aConfig as an external route in + * the Thread Network Data. + * + * If there is a previously published route entry matching @p aPrefix, it will be replaced with the new prefix from + * @p aConfig. + * + * - If the @p aPrefix was already added in the Network Data, the change to the new prefix in @p aConfig is immediately + * reflected in the Network Data. This ensures that route entries in the Network Data are not abruptly removed and + * the transition from aPrefix to the new prefix is smooth. + * + * - If the old published @p aPrefix was not added in the Network Data, it will be replaced with the new @p aConfig + * prefix but it will not be immediately added. Instead, it will start the process of publishing it in the Network + * Data (monitoring the Network Data to determine when/if to add the prefix, depending on the number of similar + * prefixes present in the Network Data). + * + * @param[in] aInstance A pointer to an OpenThread instance. + * @param[in] aPrefix The previously published external route prefix to replace. + * @param[in] aConfig The external route config to publish. + * + * @retval OT_ERROR_NONE The external route is published successfully. + * @retval OT_ERROR_INVALID_ARGS The @p aConfig is not valid (bad prefix, invalid flag combinations, or not stable). + * @retval OT_ERROR_NO_BUFS Could not allocate an entry for the new request. Publisher supports a limited number + * of entries (shared between on-mesh prefix and external route) determined by config + * `OPENTHREAD_CONFIG_NETDATA_PUBLISHER_MAX_PREFIX_ENTRIES`. + * + */ +otError otNetDataReplacePublishedExternalRoute(otInstance *aInstance, + const otIp6Prefix *aPrefix, + const otExternalRouteConfig *aConfig); + +/** + * Indicates whether or not currently a published prefix entry (on-mesh or external route) is added to * the Thread Network Data. * - * This function requires the feature `OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE` to be enabled. + * Requires the feature `OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE` to be enabled. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aPrefix A pointer to the prefix (MUST NOT be NULL). @@ -253,12 +289,12 @@ otError otNetDataPublishExternalRoute(otInstance *aInstance, const otExternalRou bool otNetDataIsPrefixAdded(otInstance *aInstance, const otIp6Prefix *aPrefix); /** - * This function sets a callback for notifying when a published prefix entry is actually added to or removed from + * Sets a callback for notifying when a published prefix entry is actually added to or removed from * the Thread Network Data. * * A subsequent call to this function replaces any previously set callback function. * - * This function requires the feature `OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE` to be enabled. + * Requires the feature `OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE` to be enabled. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aCallback The callback function pointer (can be NULL if not needed). diff --git a/openthread/include/openthread/netdiag.h b/openthread/include/openthread/netdiag.h index eb3e7b6977..040ad75d1e 100644 --- a/openthread/include/openthread/netdiag.h +++ b/openthread/include/openthread/netdiag.h @@ -66,28 +66,45 @@ extern "C" { enum { - OT_NETWORK_DIAGNOSTIC_TLV_EXT_ADDRESS = 0, ///< MAC Extended Address TLV - OT_NETWORK_DIAGNOSTIC_TLV_SHORT_ADDRESS = 1, ///< Address16 TLV - OT_NETWORK_DIAGNOSTIC_TLV_MODE = 2, ///< Mode TLV - OT_NETWORK_DIAGNOSTIC_TLV_TIMEOUT = 3, ///< Timeout TLV (the maximum polling time period for SEDs) - OT_NETWORK_DIAGNOSTIC_TLV_CONNECTIVITY = 4, ///< Connectivity TLV - OT_NETWORK_DIAGNOSTIC_TLV_ROUTE = 5, ///< Route64 TLV - OT_NETWORK_DIAGNOSTIC_TLV_LEADER_DATA = 6, ///< Leader Data TLV - OT_NETWORK_DIAGNOSTIC_TLV_NETWORK_DATA = 7, ///< Network Data TLV - OT_NETWORK_DIAGNOSTIC_TLV_IP6_ADDR_LIST = 8, ///< IPv6 Address List TLV - OT_NETWORK_DIAGNOSTIC_TLV_MAC_COUNTERS = 9, ///< MAC Counters TLV - OT_NETWORK_DIAGNOSTIC_TLV_BATTERY_LEVEL = 14, ///< Battery Level TLV - OT_NETWORK_DIAGNOSTIC_TLV_SUPPLY_VOLTAGE = 15, ///< Supply Voltage TLV - OT_NETWORK_DIAGNOSTIC_TLV_CHILD_TABLE = 16, ///< Child Table TLV - OT_NETWORK_DIAGNOSTIC_TLV_CHANNEL_PAGES = 17, ///< Channel Pages TLV - OT_NETWORK_DIAGNOSTIC_TLV_TYPE_LIST = 18, ///< Type List TLV - OT_NETWORK_DIAGNOSTIC_TLV_MAX_CHILD_TIMEOUT = 19, ///< Max Child Timeout TLV + OT_NETWORK_DIAGNOSTIC_TLV_EXT_ADDRESS = 0, ///< MAC Extended Address TLV + OT_NETWORK_DIAGNOSTIC_TLV_SHORT_ADDRESS = 1, ///< Address16 TLV + OT_NETWORK_DIAGNOSTIC_TLV_MODE = 2, ///< Mode TLV + OT_NETWORK_DIAGNOSTIC_TLV_TIMEOUT = 3, ///< Timeout TLV (the maximum polling time period for SEDs) + OT_NETWORK_DIAGNOSTIC_TLV_CONNECTIVITY = 4, ///< Connectivity TLV + OT_NETWORK_DIAGNOSTIC_TLV_ROUTE = 5, ///< Route64 TLV + OT_NETWORK_DIAGNOSTIC_TLV_LEADER_DATA = 6, ///< Leader Data TLV + OT_NETWORK_DIAGNOSTIC_TLV_NETWORK_DATA = 7, ///< Network Data TLV + OT_NETWORK_DIAGNOSTIC_TLV_IP6_ADDR_LIST = 8, ///< IPv6 Address List TLV + OT_NETWORK_DIAGNOSTIC_TLV_MAC_COUNTERS = 9, ///< MAC Counters TLV + OT_NETWORK_DIAGNOSTIC_TLV_BATTERY_LEVEL = 14, ///< Battery Level TLV + OT_NETWORK_DIAGNOSTIC_TLV_SUPPLY_VOLTAGE = 15, ///< Supply Voltage TLV + OT_NETWORK_DIAGNOSTIC_TLV_CHILD_TABLE = 16, ///< Child Table TLV + OT_NETWORK_DIAGNOSTIC_TLV_CHANNEL_PAGES = 17, ///< Channel Pages TLV + OT_NETWORK_DIAGNOSTIC_TLV_TYPE_LIST = 18, ///< Type List TLV + OT_NETWORK_DIAGNOSTIC_TLV_MAX_CHILD_TIMEOUT = 19, ///< Max Child Timeout TLV + OT_NETWORK_DIAGNOSTIC_TLV_VERSION = 24, ///< Version TLV + OT_NETWORK_DIAGNOSTIC_TLV_VENDOR_NAME = 25, ///< Vendor Name TLV + OT_NETWORK_DIAGNOSTIC_TLV_VENDOR_MODEL = 26, ///< Vendor Model TLV + OT_NETWORK_DIAGNOSTIC_TLV_VENDOR_SW_VERSION = 27, ///< Vendor SW Version TLV + OT_NETWORK_DIAGNOSTIC_TLV_THREAD_STACK_VERSION = 28, ///< Thread Stack Version TLV + OT_NETWORK_DIAGNOSTIC_TLV_CHILD = 29, ///< Child TLV + OT_NETWORK_DIAGNOSTIC_TLV_CHILD_IP6_ADDR_LIST = 30, ///< Child IPv6 Address List TLV + OT_NETWORK_DIAGNOSTIC_TLV_ROUTER_NEIGHBOR = 31, ///< Router Neighbor TLV + OT_NETWORK_DIAGNOSTIC_TLV_ANSWER = 32, ///< Answer TLV + OT_NETWORK_DIAGNOSTIC_TLV_QUERY_ID = 33, ///< Query ID TLV + OT_NETWORK_DIAGNOSTIC_TLV_MLE_COUNTERS = 34, ///< MLE Counters TLV + }; +#define OT_NETWORK_DIAGNOSTIC_MAX_VENDOR_NAME_TLV_LENGTH 32 ///< Max length of Vendor Name TLV. +#define OT_NETWORK_DIAGNOSTIC_MAX_VENDOR_MODEL_TLV_LENGTH 32 ///< Max length of Vendor Model TLV. +#define OT_NETWORK_DIAGNOSTIC_MAX_VENDOR_SW_VERSION_TLV_LENGTH 16 ///< Max length of Vendor SW Version TLV. +#define OT_NETWORK_DIAGNOSTIC_MAX_THREAD_STACK_VERSION_TLV_LENGTH 64 ///< Max length of Thread Stack Version TLV. + typedef uint16_t otNetworkDiagIterator; ///< Used to iterate through Network Diagnostic TLV. /** - * This structure represents a Network Diagnostic Connectivity value. + * Represents a Network Diagnostic Connectivity value. * */ typedef struct otNetworkDiagConnectivity @@ -139,7 +156,7 @@ typedef struct otNetworkDiagConnectivity } otNetworkDiagConnectivity; /** - * This structure represents a Network Diagnostic Route data. + * Represents a Network Diagnostic Route data. * */ typedef struct otNetworkDiagRouteData @@ -151,7 +168,7 @@ typedef struct otNetworkDiagRouteData } otNetworkDiagRouteData; /** - * This structure represents a Network Diagnostic Route TLV value. + * Represents a Network Diagnostic Route TLV value. * */ typedef struct otNetworkDiagRoute @@ -173,7 +190,7 @@ typedef struct otNetworkDiagRoute } otNetworkDiagRoute; /** - * This structure represents a Network Diagnostic Mac Counters value. + * Represents a Network Diagnostic Mac Counters value. * * See RFC 2863 for definitions of member fields. * @@ -192,7 +209,30 @@ typedef struct otNetworkDiagMacCounters } otNetworkDiagMacCounters; /** - * This structure represents a Network Diagnostic Child Table Entry. + * Represents a Network Diagnostics MLE Counters value. + * + */ +typedef struct otNetworkDiagMleCounters +{ + uint16_t mDisabledRole; ///< Number of times device entered disabled role. + uint16_t mDetachedRole; ///< Number of times device entered detached role. + uint16_t mChildRole; ///< Number of times device entered child role. + uint16_t mRouterRole; ///< Number of times device entered router role. + uint16_t mLeaderRole; ///< Number of times device entered leader role. + uint16_t mAttachAttempts; ///< Number of attach attempts while device was detached. + uint16_t mPartitionIdChanges; ///< Number of changes to partition ID. + uint16_t mBetterPartitionAttachAttempts; ///< Number of attempts to attach to a better partition. + uint16_t mParentChanges; ///< Number of time device changed its parent. + uint64_t mTrackedTime; ///< Milliseconds tracked by next counters (zero if not supported). + uint64_t mDisabledTime; ///< Milliseconds device has been in disabled role. + uint64_t mDetachedTime; ///< Milliseconds device has been in detached role. + uint64_t mChildTime; ///< Milliseconds device has been in child role. + uint64_t mRouterTime; ///< Milliseconds device has been in router role. + uint64_t mLeaderTime; ///< Milliseconds device has been in leader role. +} otNetworkDiagMleCounters; + +/** + * Represents a Network Diagnostic Child Table Entry. * */ typedef struct otNetworkDiagChildEntry @@ -222,7 +262,7 @@ typedef struct otNetworkDiagChildEntry } otNetworkDiagChildEntry; /** - * This structure represents a Network Diagnostic TLV. + * Represents a Network Diagnostic TLV. * */ typedef struct otNetworkDiagTlv @@ -242,9 +282,15 @@ typedef struct otNetworkDiagTlv otNetworkDiagRoute mRoute; otLeaderData mLeaderData; otNetworkDiagMacCounters mMacCounters; + otNetworkDiagMleCounters mMleCounters; uint8_t mBatteryLevel; uint16_t mSupplyVoltage; uint32_t mMaxChildTimeout; + uint16_t mVersion; + char mVendorName[OT_NETWORK_DIAGNOSTIC_MAX_VENDOR_NAME_TLV_LENGTH + 1]; + char mVendorModel[OT_NETWORK_DIAGNOSTIC_MAX_VENDOR_MODEL_TLV_LENGTH + 1]; + char mVendorSwVersion[OT_NETWORK_DIAGNOSTIC_MAX_VENDOR_SW_VERSION_TLV_LENGTH + 1]; + char mThreadStackVersion[OT_NETWORK_DIAGNOSTIC_MAX_THREAD_STACK_VERSION_TLV_LENGTH + 1]; struct { uint8_t mCount; @@ -270,7 +316,9 @@ typedef struct otNetworkDiagTlv } otNetworkDiagTlv; /** - * This function gets the next Network Diagnostic TLV in the message. + * Gets the next Network Diagnostic TLV in the message. + * + * Requires `OPENTHREAD_CONFIG_TMF_NETDIAG_CLIENT_ENABLE`. * * @param[in] aMessage A pointer to a message. * @param[in,out] aIterator A pointer to the Network Diagnostic iterator context. To get the first @@ -289,7 +337,7 @@ otError otThreadGetNextDiagnosticTlv(const otMessage *aMessage, otNetworkDiagTlv *aNetworkDiagTlv); /** - * This function pointer is called when Network Diagnostic Get response is received. + * Pointer is called when Network Diagnostic Get response is received. * * @param[in] aError The error when failed to get the response. * @param[in] aMessage A pointer to the message buffer containing the received Network Diagnostic @@ -307,6 +355,8 @@ typedef void (*otReceiveDiagnosticGetCallback)(otError aError, /** * Send a Network Diagnostic Get request. * + * Requires `OPENTHREAD_CONFIG_TMF_NETDIAG_CLIENT_ENABLE`. + * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aDestination A pointer to destination address. * @param[in] aTlvTypes An array of Network Diagnostic TLV types. @@ -329,6 +379,8 @@ otError otThreadSendDiagnosticGet(otInstance *aInstance, /** * Send a Network Diagnostic Reset request. * + * Requires `OPENTHREAD_CONFIG_TMF_NETDIAG_CLIENT_ENABLE`. + * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aDestination A pointer to destination address. * @param[in] aTlvTypes An array of Network Diagnostic TLV types. Currently only Type 9 is allowed. @@ -343,6 +395,87 @@ otError otThreadSendDiagnosticReset(otInstance *aInstance, const uint8_t aTlvTypes[], uint8_t aCount); +/** + * Get the vendor name string. + * + * @param[in] aInstance A pointer to an OpenThread instance. + * + * @returns The vendor name string. + * + */ +const char *otThreadGetVendorName(otInstance *aInstance); + +/** + * Get the vendor model string. + * + * @param[in] aInstance A pointer to an OpenThread instance. + * + * @returns The vendor model string. + * + */ +const char *otThreadGetVendorModel(otInstance *aInstance); + +/** + * Get the vendor sw version string. + * + * @param[in] aInstance A pointer to an OpenThread instance. + * + * @returns The vendor sw version string. + * + */ +const char *otThreadGetVendorSwVersion(otInstance *aInstance); + +/** + * Set the vendor name string. + * + * Requires `OPENTHREAD_CONFIG_NET_DIAG_VENDOR_INFO_SET_API_ENABLE`. + * + * @p aVendorName should be UTF8 with max length of 32 chars (`MAX_VENDOR_NAME_TLV_LENGTH`). Maximum length does not + * include the null `\0` character. + * + * @param[in] aInstance A pointer to an OpenThread instance. + * @param[in] aVendorName The vendor name string. + * + * @retval OT_ERROR_NONE Successfully set the vendor name. + * @retval OT_ERROR_INVALID_ARGS @p aVendorName is not valid (too long or not UTF8). + * + */ +otError otThreadSetVendorName(otInstance *aInstance, const char *aVendorName); + +/** + * Set the vendor model string. + * + * Requires `OPENTHREAD_CONFIG_NET_DIAG_VENDOR_INFO_SET_API_ENABLE`. + * + * @p aVendorModel should be UTF8 with max length of 32 chars (`MAX_VENDOR_MODEL_TLV_LENGTH`). Maximum length does not + * include the null `\0` character. + * + * @param[in] aInstance A pointer to an OpenThread instance. + * @param[in] aVendorModel The vendor model string. + * + * @retval OT_ERROR_NONE Successfully set the vendor model. + * @retval OT_ERROR_INVALID_ARGS @p aVendorModel is not valid (too long or not UTF8). + * + */ +otError otThreadSetVendorModel(otInstance *aInstance, const char *aVendorModel); + +/** + * Set the vendor software version string. + * + * Requires `OPENTHREAD_CONFIG_NET_DIAG_VENDOR_INFO_SET_API_ENABLE`. + * + * @p aVendorSwVersion should be UTF8 with max length of 16 chars(`MAX_VENDOR_SW_VERSION_TLV_LENGTH`). Maximum length + * does not include the null `\0` character. + * + * @param[in] aInstance A pointer to an OpenThread instance. + * @param[in] aVendorSwVersion The vendor software version string. + * + * @retval OT_ERROR_NONE Successfully set the vendor software version. + * @retval OT_ERROR_INVALID_ARGS @p aVendorSwVersion is not valid (too long or not UTF8). + * + */ +otError otThreadSetVendorSwVersion(otInstance *aInstance, const char *aVendorSwVersion); + /** * @} * diff --git a/openthread/include/openthread/network_time.h b/openthread/include/openthread/network_time.h index e20a9d5a34..7d5d153c5c 100644 --- a/openthread/include/openthread/network_time.h +++ b/openthread/include/openthread/network_time.h @@ -53,7 +53,7 @@ extern "C" { */ /** - * This enumeration represents OpenThread time synchronization status. + * Represents OpenThread time synchronization status. * */ typedef enum otNetworkTimeStatus @@ -64,7 +64,7 @@ typedef enum otNetworkTimeStatus } otNetworkTimeStatus; /** - * This function pointer is called when a network time sync or status change occurs. + * Pointer is called when a network time sync or status change occurs. * */ typedef void (*otNetworkTimeSyncCallbackFn)(void *aCallbackContext); @@ -89,7 +89,7 @@ otNetworkTimeStatus otNetworkTimeGet(otInstance *aInstance, uint64_t *aNetworkTi /** * Set the time synchronization period. * - * This function can only be called while Thread protocols are disabled. + * Can only be called while Thread protocols are disabled. * * @param[in] aInstance The OpenThread instance structure. * @param[in] aTimeSyncPeriod The time synchronization period, in seconds. @@ -113,7 +113,7 @@ uint16_t otNetworkTimeGetSyncPeriod(otInstance *aInstance); /** * Set the time synchronization XTAL accuracy threshold for Router-Capable device. * - * This function can only be called while Thread protocols are disabled. + * Can only be called while Thread protocols are disabled. * * @param[in] aInstance The OpenThread instance structure. * @param[in] aXTALThreshold The XTAL accuracy threshold for Router, in PPM. diff --git a/openthread/include/openthread/ping_sender.h b/openthread/include/openthread/ping_sender.h index a0e30ca9ae..174cccc25c 100644 --- a/openthread/include/openthread/ping_sender.h +++ b/openthread/include/openthread/ping_sender.h @@ -56,7 +56,7 @@ extern "C" { */ /** - * This structure represents a ping reply. + * Represents a ping reply. * */ typedef struct otPingSenderReply @@ -69,7 +69,7 @@ typedef struct otPingSenderReply } otPingSenderReply; /** - * This structure represents statistics of a ping request. + * Represents statistics of a ping request. * */ typedef struct otPingSenderStatistics @@ -83,7 +83,7 @@ typedef struct otPingSenderStatistics } otPingSenderStatistics; /** - * This function pointer type specifies the callback to notify receipt of a ping reply. + * Pointer type specifies the callback to notify receipt of a ping reply. * * @param[in] aReply A pointer to a `otPingSenderReply` containing info about the received ping reply. * @param[in] aContext A pointer to application-specific context. @@ -92,7 +92,7 @@ typedef struct otPingSenderStatistics typedef void (*otPingSenderReplyCallback)(const otPingSenderReply *aReply, void *aContext); /** - * This function pointer type specifies the callback to report the ping statistics. + * Pointer type specifies the callback to report the ping statistics. * * @param[in] aStatistics A pointer to a `otPingSenderStatistics` containing info about the received ping * statistics. @@ -102,7 +102,7 @@ typedef void (*otPingSenderReplyCallback)(const otPingSenderReply *aReply, void typedef void (*otPingSenderStatisticsCallback)(const otPingSenderStatistics *aStatistics, void *aContext); /** - * This structure represents a ping request configuration. + * Represents a ping request configuration. * */ typedef struct otPingSenderConfig @@ -123,7 +123,7 @@ typedef struct otPingSenderConfig } otPingSenderConfig; /** - * This function starts a ping. + * Starts a ping. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aConfig The ping config to use. @@ -137,7 +137,7 @@ typedef struct otPingSenderConfig otError otPingSenderPing(otInstance *aInstance, const otPingSenderConfig *aConfig); /** - * This function stops an ongoing ping. + * Stops an ongoing ping. * * @param[in] aInstance A pointer to an OpenThread instance. * diff --git a/openthread/include/openthread/platform/alarm-micro.h b/openthread/include/openthread/platform/alarm-micro.h index e61640740c..9bbe05d19a 100644 --- a/openthread/include/openthread/platform/alarm-micro.h +++ b/openthread/include/openthread/platform/alarm-micro.h @@ -53,6 +53,9 @@ extern "C" { /** * Set the alarm to fire at @p aDt microseconds after @p aT0. * + * For @p aT0, the platform MUST support all values in [0, 2^32-1]. + * For @p aDt, the platform MUST support all values in [0, 2^31-1]. + * * @param[in] aInstance The OpenThread instance structure. * @param[in] aT0 The reference time. * @param[in] aDt The time delay in microseconds from @p aT0. @@ -71,6 +74,9 @@ void otPlatAlarmMicroStop(otInstance *aInstance); /** * Get the current time. * + * The current time MUST represent a free-running timer. When maintaining current time, the time value MUST utilize the + * entire range [0, 2^32-1] and MUST NOT wrap before 2^32. + * * @returns The current time in microseconds. * */ diff --git a/openthread/include/openthread/platform/alarm-milli.h b/openthread/include/openthread/platform/alarm-milli.h index dd72201633..48fb08cf26 100644 --- a/openthread/include/openthread/platform/alarm-milli.h +++ b/openthread/include/openthread/platform/alarm-milli.h @@ -56,6 +56,9 @@ extern "C" { /** * Set the alarm to fire at @p aDt milliseconds after @p aT0. * + * For @p aT0 the platform MUST support all values in [0, 2^32-1]. + * For @p aDt, the platform MUST support all values in [0, 2^31-1]. + * * @param[in] aInstance The OpenThread instance structure. * @param[in] aT0 The reference time. * @param[in] aDt The time delay in milliseconds from @p aT0. @@ -72,6 +75,9 @@ void otPlatAlarmMilliStop(otInstance *aInstance); /** * Get the current time. * + * The current time MUST represent a free-running timer. When maintaining current time, the time value MUST utilize the + * entire range [0, 2^32-1] and MUST NOT wrap before 2^32. + * * @returns The current time in milliseconds. */ uint32_t otPlatAlarmMilliGetNow(void); diff --git a/openthread/include/openthread/platform/border_routing.h b/openthread/include/openthread/platform/border_routing.h new file mode 100644 index 0000000000..eeb825c0d8 --- /dev/null +++ b/openthread/include/openthread/platform/border_routing.h @@ -0,0 +1,72 @@ +/* + * Copyright (c) 2023, The OpenThread Authors. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holder nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +/** + * @file + * @brief + * This file includes the platform abstraction for border routing manager. + */ + +#ifndef OPENTHREAD_PLATFORM_BORDER_ROUTER_H_ +#define OPENTHREAD_PLATFORM_BORDER_ROUTER_H_ + +#include + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * Handles ICMP6 RA messages received on the Thread interface on the platform. + * + * The `aMessage` should point to a buffer of a valid ICMPv6 message (without IP headers) with router advertisement as + * the value of type field of the message. + * + * When DHCPv6 PD is disabled, the message will be dropped silently. + * + * Note: RA messages will not be forwarded into Thread networks, while for many platforms, RA messages is the way of + * distributing a prefix and other infomations to the downstream network. The typical usecase of this function is to + * handle the router advertisement messages sent by the platform as a result of DHCPv6 Prefix Delegation. + * + * Requires `OPENTHREAD_CONFIG_BORDER_ROUTING_DHCP6_PD_ENABLE`. + * + * @param[in] aInstance A pointer to an OpenThread instance. + * @param[in] aMessage A pointer to an ICMPv6 RouterAdvertisement message. + * @param[in] aLength The length of ICMPv6 RouterAdvertisement message. + * + */ +extern void otPlatBorderRoutingProcessIcmp6Ra(otInstance *aInstance, const uint8_t *aMessage, uint16_t aLength); + +#ifdef __cplusplus +} +#endif + +#endif // OPENTHREAD_PLATFORM_BORDER_ROUTER_H_ diff --git a/openthread/include/openthread/platform/crypto.h b/openthread/include/openthread/platform/crypto.h index 69253bb0dd..8762fc2ce6 100644 --- a/openthread/include/openthread/platform/crypto.h +++ b/openthread/include/openthread/platform/crypto.h @@ -55,18 +55,19 @@ extern "C" { */ /** - * This enumeration defines the key types. + * Defines the key types. * */ typedef enum { - OT_CRYPTO_KEY_TYPE_RAW, ///< Key Type: Raw Data. - OT_CRYPTO_KEY_TYPE_AES, ///< Key Type: AES. - OT_CRYPTO_KEY_TYPE_HMAC, ///< Key Type: HMAC. + OT_CRYPTO_KEY_TYPE_RAW, ///< Key Type: Raw Data. + OT_CRYPTO_KEY_TYPE_AES, ///< Key Type: AES. + OT_CRYPTO_KEY_TYPE_HMAC, ///< Key Type: HMAC. + OT_CRYPTO_KEY_TYPE_ECDSA, ///< Key Type: ECDSA. } otCryptoKeyType; /** - * This enumeration defines the key algorithms. + * Defines the key algorithms. * */ typedef enum @@ -74,23 +75,25 @@ typedef enum OT_CRYPTO_KEY_ALG_VENDOR, ///< Key Algorithm: Vendor Defined. OT_CRYPTO_KEY_ALG_AES_ECB, ///< Key Algorithm: AES ECB. OT_CRYPTO_KEY_ALG_HMAC_SHA_256, ///< Key Algorithm: HMAC SHA-256. + OT_CRYPTO_KEY_ALG_ECDSA, ///< Key Algorithm: ECDSA. } otCryptoKeyAlgorithm; /** - * This enumeration defines the key usage flags. + * Defines the key usage flags. * */ enum { - OT_CRYPTO_KEY_USAGE_NONE = 0, ///< Key Usage: Key Usage is empty. - OT_CRYPTO_KEY_USAGE_EXPORT = 1 << 0, ///< Key Usage: Key can be exported. - OT_CRYPTO_KEY_USAGE_ENCRYPT = 1 << 1, ///< Key Usage: Encryption (vendor defined). - OT_CRYPTO_KEY_USAGE_DECRYPT = 1 << 2, ///< Key Usage: AES ECB. - OT_CRYPTO_KEY_USAGE_SIGN_HASH = 1 << 3, ///< Key Usage: HMAC SHA-256. + OT_CRYPTO_KEY_USAGE_NONE = 0, ///< Key Usage: Key Usage is empty. + OT_CRYPTO_KEY_USAGE_EXPORT = 1 << 0, ///< Key Usage: Key can be exported. + OT_CRYPTO_KEY_USAGE_ENCRYPT = 1 << 1, ///< Key Usage: Encryption (vendor defined). + OT_CRYPTO_KEY_USAGE_DECRYPT = 1 << 2, ///< Key Usage: AES ECB. + OT_CRYPTO_KEY_USAGE_SIGN_HASH = 1 << 3, ///< Key Usage: Sign Hash. + OT_CRYPTO_KEY_USAGE_VERIFY_HASH = 1 << 4, ///< Key Usage: Verify Hash. }; /** - * This enumeration defines the key storage types. + * Defines the key storage types. * */ typedef enum @@ -108,7 +111,7 @@ typedef uint32_t otCryptoKeyRef; /** * @struct otCryptoKey * - * This structure represents the Key Material required for Crypto operations. + * Represents the Key Material required for Crypto operations. * */ typedef struct otCryptoKey @@ -121,7 +124,7 @@ typedef struct otCryptoKey /** * @struct otCryptoContext * - * This structure stores the context object for platform APIs. + * Stores the context object for platform APIs. * */ typedef struct otCryptoContext @@ -139,7 +142,7 @@ typedef struct otCryptoContext /** * @struct otPlatCryptoSha256Hash * - * This structure represents a SHA-256 hash. + * Represents a SHA-256 hash. * */ OT_TOOL_PACKED_BEGIN @@ -149,7 +152,7 @@ struct otPlatCryptoSha256Hash } OT_TOOL_PACKED_END; /** - * This structure represents a SHA-256 hash. + * Represents a SHA-256 hash. * */ typedef struct otPlatCryptoSha256Hash otPlatCryptoSha256Hash; @@ -163,7 +166,7 @@ typedef struct otPlatCryptoSha256Hash otPlatCryptoSha256Hash; /** * @struct otPlatCryptoEcdsaKeyPair * - * This structure represents an ECDSA key pair (public and private keys). + * Represents an ECDSA key pair (public and private keys). * * The key pair is stored using Distinguished Encoding Rules (DER) format (per RFC 5915). * @@ -183,7 +186,7 @@ typedef struct otPlatCryptoEcdsaKeyPair /** * @struct otPlatCryptoEcdsaPublicKey * - * This struct represents a ECDSA public key. + * Represents a ECDSA public key. * * The public key is stored as a byte sequence representation of an uncompressed curve point (RFC 6605 - sec 4). * @@ -205,7 +208,7 @@ typedef struct otPlatCryptoEcdsaPublicKey otPlatCryptoEcdsaPublicKey; /** * @struct otPlatCryptoEcdsaSignature * - * This struct represents an ECDSA signature. + * Represents an ECDSA signature. * * The signature is encoded as the concatenated binary representation of two MPIs `r` and `s` which are calculated * during signing (RFC 6605 - section 4). @@ -613,7 +616,7 @@ otError otPlatCryptoEcdsaGetPublicKey(const otPlatCryptoEcdsaKeyPair *aKeyPair, /** * Calculate the ECDSA signature for a hashed message using the private key from the input context. * - * This method uses the deterministic digital signature generation procedure from RFC 6979. + * Uses the deterministic digital signature generation procedure from RFC 6979. * * @param[in] aKeyPair A pointer to an ECDSA key-pair structure where the key-pair is stored. * @param[in] aHash A pointer to a SHA-256 hash structure where the hash value for signature calculation @@ -650,6 +653,85 @@ otError otPlatCryptoEcdsaVerify(const otPlatCryptoEcdsaPublicKey *aPublicKey, const otPlatCryptoSha256Hash *aHash, const otPlatCryptoEcdsaSignature *aSignature); +/** + * Calculate the ECDSA signature for a hashed message using the Key reference passed. + * + * Uses the deterministic digital signature generation procedure from RFC 6979. + * + * @param[in] aKeyRef Key Reference to the slot where the key-pair is stored. + * @param[in] aHash A pointer to a SHA-256 hash structure where the hash value for signature calculation + * is stored. + * @param[out] aSignature A pointer to an ECDSA signature structure to output the calculated signature. + * + * @retval OT_ERROR_NONE The signature was calculated successfully, @p aSignature was updated. + * @retval OT_ERROR_PARSE The key-pair DER format could not be parsed (invalid format). + * @retval OT_ERROR_NO_BUFS Failed to allocate buffer for signature calculation. + * @retval OT_ERROR_INVALID_ARGS The @p aContext is NULL. + * + * @note This API is only used by OT core when `OPENTHREAD_CONFIG_PLATFORM_KEY_REFERENCES_ENABLE` is enabled. + * + */ +otError otPlatCryptoEcdsaSignUsingKeyRef(otCryptoKeyRef aKeyRef, + const otPlatCryptoSha256Hash *aHash, + otPlatCryptoEcdsaSignature *aSignature); + +/** + * Get the associated public key from the key reference passed. + * + * The public key is stored differently depending on the crypto backend library being used + * (OPENTHREAD_CONFIG_CRYPTO_LIB). + * + * This API must make sure to return the public key as a byte sequence representation of an + * uncompressed curve point (RFC 6605 - sec 4) + * + * @param[in] aKeyRef Key Reference to the slot where the key-pair is stored. + * @param[out] aPublicKey A pointer to an ECDSA public key structure to store the public key. + * + * @retval OT_ERROR_NONE Public key was retrieved successfully, and @p aBuffer is updated. + * @retval OT_ERROR_PARSE The key-pair DER format could not be parsed (invalid format). + * @retval OT_ERROR_INVALID_ARGS The @p aContext is NULL. + * + * @note This API is only used by OT core when `OPENTHREAD_CONFIG_PLATFORM_KEY_REFERENCES_ENABLE` is enabled. + * + */ +otError otPlatCryptoEcdsaExportPublicKey(otCryptoKeyRef aKeyRef, otPlatCryptoEcdsaPublicKey *aPublicKey); + +/** + * Generate and import a new ECDSA key-pair at reference passed. + * + * @param[in] aKeyRef Key Reference to the slot where the key-pair is stored. + * + * @retval OT_ERROR_NONE A new key-pair was generated successfully. + * @retval OT_ERROR_NO_BUFS Failed to allocate buffer for key generation. + * @retval OT_ERROR_NOT_CAPABLE Feature not supported. + * @retval OT_ERROR_FAILED Failed to generate key-pair. + * + * @note This API is only used by OT core when `OPENTHREAD_CONFIG_PLATFORM_KEY_REFERENCES_ENABLE` is enabled. + * + */ +otError otPlatCryptoEcdsaGenerateAndImportKey(otCryptoKeyRef aKeyRef); + +/** + * Use the keyref to verify the ECDSA signature of a hashed message. + * + * @param[in] aKeyRef Key Reference to the slot where the key-pair is stored. + * @param[in] aHash A pointer to a SHA-256 hash structure where the hash value for signature verification + * is stored. + * @param[in] aSignature A pointer to an ECDSA signature structure where the signature value to be verified is + * stored. + * + * @retval OT_ERROR_NONE The signature was verified successfully. + * @retval OT_ERROR_SECURITY The signature is invalid. + * @retval OT_ERROR_INVALID_ARGS The key or hash is invalid. + * @retval OT_ERROR_NO_BUFS Failed to allocate buffer for signature verification. + * + * @note This API is only used by OT core when `OPENTHREAD_CONFIG_PLATFORM_KEY_REFERENCES_ENABLE` is enabled. + * + */ +otError otPlatCryptoEcdsaVerifyUsingKeyRef(otCryptoKeyRef aKeyRef, + const otPlatCryptoSha256Hash *aHash, + const otPlatCryptoEcdsaSignature *aSignature); + /** * Perform PKCS#5 PBKDF2 using CMAC (AES-CMAC-PRF-128). * diff --git a/openthread/include/openthread/platform/debug_uart.h b/openthread/include/openthread/platform/debug_uart.h index b0410aff54..a2643d68e3 100644 --- a/openthread/include/openthread/platform/debug_uart.h +++ b/openthread/include/openthread/platform/debug_uart.h @@ -104,7 +104,7 @@ void otPlatDebugUart_vprintf(const char *fmt, va_list ap); * Platform specific write single byte to Debug Uart * This should not perform CR/LF mapping. * - * This function MUST be implemented by the platform + * MUST be implemented by the platform * * @param[in] c what to transmit */ @@ -114,7 +114,7 @@ void otPlatDebugUart_putchar_raw(int c); * Poll/test debug uart if a key has been pressed. * It would be common to a stub function that returns 0. * - * This function MUST be implemented by the platform + * MUST be implemented by the platform * * @retval zero - nothing ready * @retval nonzero - otPlatDebugUart_getc() will succeed. @@ -124,7 +124,7 @@ int otPlatDebugUart_kbhit(void); /** * Poll/Read a byte from the debug uart * - * This function MUST be implemented by the platform + * MUST be implemented by the platform * * @retval (negative) no data available, see otPlatDebugUart_kbhit() * @retval (0x00..0x0ff) data byte value diff --git a/openthread/include/openthread/platform/diag.h b/openthread/include/openthread/platform/diag.h index df889d2774..7bc2299464 100644 --- a/openthread/include/openthread/platform/diag.h +++ b/openthread/include/openthread/platform/diag.h @@ -57,7 +57,7 @@ extern "C" { */ /** - * This enumeration defines the gpio modes. + * Defines the gpio modes. * */ typedef enum @@ -67,7 +67,7 @@ typedef enum } otGpioMode; /** - * This function processes a factory diagnostics command line. + * Processes a factory diagnostics command line. * * The output of this function (the content written to @p aOutput) MUST terminate with `\0` and the `\0` is within the * output buffer. @@ -90,7 +90,7 @@ otError otPlatDiagProcess(otInstance *aInstance, size_t aOutputMaxLen); /** - * This function enables/disables the factory diagnostics mode. + * Enables/disables the factory diagnostics mode. * * @param[in] aMode TRUE to enable diagnostics mode, FALSE otherwise. * @@ -98,7 +98,7 @@ otError otPlatDiagProcess(otInstance *aInstance, void otPlatDiagModeSet(bool aMode); /** - * This function indicates whether or not factory diagnostics mode is enabled. + * Indicates whether or not factory diagnostics mode is enabled. * * @returns TRUE if factory diagnostics mode is enabled, FALSE otherwise. * @@ -106,7 +106,7 @@ void otPlatDiagModeSet(bool aMode); bool otPlatDiagModeGet(void); /** - * This function sets the channel to use for factory diagnostics. + * Sets the channel to use for factory diagnostics. * * @param[in] aChannel The channel value. * @@ -114,7 +114,7 @@ bool otPlatDiagModeGet(void); void otPlatDiagChannelSet(uint8_t aChannel); /** - * This function sets the transmit power to use for factory diagnostics. + * Sets the transmit power to use for factory diagnostics. * * @param[in] aTxPower The transmit power value. * @@ -122,7 +122,7 @@ void otPlatDiagChannelSet(uint8_t aChannel); void otPlatDiagTxPowerSet(int8_t aTxPower); /** - * This function processes the received radio frame. + * Processes the received radio frame. * * @param[in] aInstance The OpenThread instance for current request. * @param[in] aFrame The received radio frame. @@ -132,7 +132,7 @@ void otPlatDiagTxPowerSet(int8_t aTxPower); void otPlatDiagRadioReceived(otInstance *aInstance, otRadioFrame *aFrame, otError aError); /** - * This function processes the alarm event. + * Processes the alarm event. * * @param[in] aInstance The OpenThread instance for current request. * @@ -140,7 +140,7 @@ void otPlatDiagRadioReceived(otInstance *aInstance, otRadioFrame *aFrame, otErro void otPlatDiagAlarmCallback(otInstance *aInstance); /** - * This function sets the gpio value. + * Sets the gpio value. * * @param[in] aGpio The gpio number. * @param[in] aValue true to set the gpio to high level, or false otherwise. @@ -155,7 +155,7 @@ void otPlatDiagAlarmCallback(otInstance *aInstance); otError otPlatDiagGpioSet(uint32_t aGpio, bool aValue); /** - * This function gets the gpio value. + * Gets the gpio value. * * @param[in] aGpio The gpio number. * @param[out] aValue A pointer where to put gpio value. @@ -170,7 +170,7 @@ otError otPlatDiagGpioSet(uint32_t aGpio, bool aValue); otError otPlatDiagGpioGet(uint32_t aGpio, bool *aValue); /** - * This function sets the gpio mode. + * Sets the gpio mode. * * @param[in] aGpio The gpio number. * @param[out] aMode The gpio mode. @@ -185,7 +185,7 @@ otError otPlatDiagGpioGet(uint32_t aGpio, bool *aValue); otError otPlatDiagGpioSetMode(uint32_t aGpio, otGpioMode aMode); /** - * This function gets the gpio mode. + * Gets the gpio mode. * * @param[in] aGpio The gpio number. * @param[out] aMode A pointer where to put gpio mode. @@ -260,6 +260,19 @@ otError otPlatDiagRadioRawPowerSettingEnable(otInstance *aInstance, bool aEnable */ otError otPlatDiagRadioTransmitCarrier(otInstance *aInstance, bool aEnable); +/** + * Start/stop the platform layer to transmit stream of characters. + * + * @param[in] aInstance The OpenThread instance structure. + * @param[in] aEnable TRUE to enable or FALSE to disable the platform layer to transmit stream. + * + * @retval OT_ERROR_NONE Successfully enabled/disabled. + * @retval OT_ERROR_INVALID_STATE The radio was not in the Receive state. + * @retval OT_ERROR_NOT_IMPLEMENTED This function is not implemented. + * + */ +otError otPlatDiagRadioTransmitStream(otInstance *aInstance, bool aEnable); + /** * Get the power settings for the given channel. * diff --git a/openthread/include/openthread/platform/dns.h b/openthread/include/openthread/platform/dns.h new file mode 100644 index 0000000000..9e84fbe43f --- /dev/null +++ b/openthread/include/openthread/platform/dns.h @@ -0,0 +1,114 @@ +/* + * Copyright (c) 2023, The OpenThread Authors. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holder nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +/** + * @file + * @brief + * This file defines the platform DNS interface. + * + */ + +#ifndef OPENTHREAD_PLATFORM_DNS_H_ +#define OPENTHREAD_PLATFORM_DNS_H_ + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @addtogroup plat-dns + * + * @brief + * This module includes the platform abstraction for sending recursive DNS query to upstream DNS servers. + * + * @{ + * + */ + +/** + * This opaque type represents an upstream DNS query transaction. + * + */ +typedef struct otPlatDnsUpstreamQuery otPlatDnsUpstreamQuery; + +/** + * Starts an upstream query transaction. + * + * - In success case (and errors represented by DNS protocol messages), the platform is expected to call + * `otPlatDnsUpstreamQueryDone`. + * - The OpenThread core may cancel a (possibly timeout) query transaction by calling + * `otPlatDnsCancelUpstreamQuery`, the platform must not call `otPlatDnsUpstreamQueryDone` on a + * cancelled transaction. + * + * @param[in] aInstance The OpenThread instance structure. + * @param[in] aTxn A pointer to the opaque DNS query transaction object. + * @param[in] aQuery A message buffer of the DNS payload that should be sent to upstream DNS server. + * + */ +void otPlatDnsStartUpstreamQuery(otInstance *aInstance, otPlatDnsUpstreamQuery *aTxn, const otMessage *aQuery); + +/** + * Cancels a transaction of upstream query. + * + * The platform must call `otPlatDnsUpstreamQueryDone` to release the resources. + * + * @param[in] aInstance The OpenThread instance structure. + * @param[in] aTxn A pointer to the opaque DNS query transaction object. + * + */ +void otPlatDnsCancelUpstreamQuery(otInstance *aInstance, otPlatDnsUpstreamQuery *aTxn); + +/** + * The platform calls this function to finish DNS query. + * + * The transaction will be released, so the platform must not call on the same transaction twice. This function passes + * the ownership of `aResponse` to OpenThread stack. + * + * Platform can pass a nullptr to close a transaction without a response. + * + * @param[in] aInstance The OpenThread instance structure. + * @param[in] aTxn A pointer to the opaque DNS query transaction object. + * @param[in] aResponse A message buffer of the DNS response payload or `nullptr` to close a transaction without a + * response. + * + */ +extern void otPlatDnsUpstreamQueryDone(otInstance *aInstance, otPlatDnsUpstreamQuery *aTxn, otMessage *aResponse); + +/** + * @} + * + */ + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/openthread/include/openthread/platform/dso_transport.h b/openthread/include/openthread/platform/dso_transport.h index 348ee828a9..4e005895c5 100644 --- a/openthread/include/openthread/platform/dso_transport.h +++ b/openthread/include/openthread/platform/dso_transport.h @@ -47,7 +47,7 @@ extern "C" { #endif /** - * This structure represents a DSO connection. + * Represents a DSO connection. * * It is an opaque struct (the platform implementation only deals with pointers to this struct). * @@ -55,7 +55,7 @@ extern "C" { typedef struct otPlatDsoConnection otPlatDsoConnection; /** - * This function can be used by DSO platform implementation to get the the OpenThread instance associated with a + * Can be used by DSO platform implementation to get the the OpenThread instance associated with a * connection instance. * * @param[in] aConnection A pointer to the DSO connection. @@ -66,7 +66,7 @@ typedef struct otPlatDsoConnection otPlatDsoConnection; extern otInstance *otPlatDsoGetInstance(otPlatDsoConnection *aConnection); /** - * This function starts or stops listening for incoming connection requests on transport layer. + * Starts or stops listening for incoming connection requests on transport layer. * * For DNS-over-TLS, the transport layer MUST listen on port 853 and follow RFC 7858. * @@ -79,10 +79,10 @@ extern otInstance *otPlatDsoGetInstance(otPlatDsoConnection *aConnection); void otPlatDsoEnableListening(otInstance *aInstance, bool aEnable); /** - * This function is a callback from the DSO platform to indicate an incoming connection request when listening is + * Is a callback from the DSO platform to indicate an incoming connection request when listening is * enabled. * - * This function determines whether or not to accept the connection request. It returns a non-null `otPlatDsoConnection` + * Determines whether or not to accept the connection request. It returns a non-null `otPlatDsoConnection` * pointer if the request is to be accepted, or `NULL` if the request is to be rejected. * * If a non-null connection pointer is returned, the platform layer MUST continue establishing the connection with the @@ -98,7 +98,7 @@ void otPlatDsoEnableListening(otInstance *aInstance, bool aEnable); extern otPlatDsoConnection *otPlatDsoAccept(otInstance *aInstance, const otSockAddr *aPeerSockAddr); /** - * This function requests the platform layer to initiate establishing a connection with a peer. + * Requests the platform layer to initiate establishing a connection with a peer. * * The platform reports the outcome by invoking `otPlatDsoHandleConnected()` callback on success or * `otPlatDsoHandleDisconnected()` callback (on failure). @@ -110,7 +110,7 @@ extern otPlatDsoConnection *otPlatDsoAccept(otInstance *aInstance, const otSockA void otPlatDsoConnect(otPlatDsoConnection *aConnection, const otSockAddr *aPeerSockAddr); /** - * This function is a callback from the platform layer to indicate that a connection is successfully established. + * Is a callback from the platform layer to indicate that a connection is successfully established. * * It MUST be called either after accepting an incoming connection (`otPlatDsoAccept`) or after a `otPlatDsoConnect()` * call. @@ -123,12 +123,12 @@ void otPlatDsoConnect(otPlatDsoConnection *aConnection, const otSockAddr *aPeerS extern void otPlatDsoHandleConnected(otPlatDsoConnection *aConnection); /** - * This function sends a DSO message to the peer on a connection. + * Sends a DSO message to the peer on a connection. * - * This function is used only after the connection is successfully established (after `otPlatDsoHandleConnected()` + * Is used only after the connection is successfully established (after `otPlatDsoHandleConnected()` * callback). * - * This function passes the ownership of the @p aMessage to the DSO platform layer, and the platform implementation is + * Passes the ownership of the @p aMessage to the DSO platform layer, and the platform implementation is * expected to free the message once it is no longer needed. * * The @p aMessage contains the DNS message (starting with DNS header). Note that it does not contain the the length @@ -142,12 +142,12 @@ extern void otPlatDsoHandleConnected(otPlatDsoConnection *aConnection); void otPlatDsoSend(otPlatDsoConnection *aConnection, otMessage *aMessage); /** - * This function is a callback from the platform layer to indicate that a DNS message was received over a connection. + * Is a callback from the platform layer to indicate that a DNS message was received over a connection. * * The platform MUST call this function only after the connection is successfully established (after callback * `otPlatDsoHandleConnected()` is invoked). * - * This function passes the ownership of the @p aMessage from the DSO platform layer to OpenThread. OpenThread will + * Passes the ownership of the @p aMessage from the DSO platform layer to OpenThread. OpenThread will * free the message when no longer needed. * * The @p aMessage MUST contain the DNS message (starting with DNS header) and not include the length field that may @@ -160,7 +160,7 @@ void otPlatDsoSend(otPlatDsoConnection *aConnection, otMessage *aMessage); extern void otPlatDsoHandleReceive(otPlatDsoConnection *aConnection, otMessage *aMessage); /** - * This enumeration defines disconnect modes. + * Defines disconnect modes. * */ typedef enum @@ -170,7 +170,7 @@ typedef enum } otPlatDsoDisconnectMode; /** - * This function requests a connection to be disconnected. + * Requests a connection to be disconnected. * * After calling this function, the DSO platform implementation MUST NOT maintain `aConnection` pointer (platform * MUST NOT call any callbacks using this `Connection` pointer anymore). In particular, calling `otPlatDsoDisconnect()` @@ -183,7 +183,7 @@ typedef enum void otPlatDsoDisconnect(otPlatDsoConnection *aConnection, otPlatDsoDisconnectMode aMode); /** - * This function is a callback from the platform layer to indicate that peer closed/aborted the connection or the + * Is a callback from the platform layer to indicate that peer closed/aborted the connection or the * connection establishment failed (e.g., peer rejected a connection request). * * After calling this function, the DSO platform implementation MUST NOT maintain `aConnection` pointer (platform diff --git a/openthread/include/openthread/platform/entropy.h b/openthread/include/openthread/platform/entropy.h index 0271d1baca..f86ced7b38 100644 --- a/openthread/include/openthread/platform/entropy.h +++ b/openthread/include/openthread/platform/entropy.h @@ -56,7 +56,7 @@ extern "C" { /** * Fill buffer with entropy. * - * This function MUST be implemented using a true random number generator (TRNG). + * MUST be implemented using a true random number generator (TRNG). * * @param[out] aOutput A pointer to where the true random values are placed. Must not be NULL. * @param[in] aOutputLength Size of @p aBuffer. diff --git a/openthread/include/openthread/platform/flash.h b/openthread/include/openthread/platform/flash.h index bbb7f3e70e..64fc86093d 100644 --- a/openthread/include/openthread/platform/flash.h +++ b/openthread/include/openthread/platform/flash.h @@ -38,7 +38,7 @@ extern "C" { #endif /** - * This function initializes the flash driver. + * Initializes the flash driver. * * @param[in] aInstance The OpenThread instance structure. * @@ -46,7 +46,7 @@ extern "C" { void otPlatFlashInit(otInstance *aInstance); /** - * This function gets the size of the swap space. + * Gets the size of the swap space. * * @param[in] aInstance The OpenThread instance structure. * @@ -56,7 +56,7 @@ void otPlatFlashInit(otInstance *aInstance); uint32_t otPlatFlashGetSwapSize(otInstance *aInstance); /** - * This function erases the swap space indicated by @p aSwapIndex. + * Erases the swap space indicated by @p aSwapIndex. * * @param[in] aInstance The OpenThread instance structure. * @param[in] aSwapIndex A value in [0, 1] that indicates the swap space. @@ -65,7 +65,7 @@ uint32_t otPlatFlashGetSwapSize(otInstance *aInstance); void otPlatFlashErase(otInstance *aInstance, uint8_t aSwapIndex); /** - * This function reads @p aSize bytes into @p aData. + * Reads @p aSize bytes into @p aData. * * @param[in] aInstance The OpenThread instance structure. * @param[in] aSwapIndex A value in [0, 1] that indicates the swap space. @@ -77,7 +77,7 @@ void otPlatFlashErase(otInstance *aInstance, uint8_t aSwapIndex); void otPlatFlashRead(otInstance *aInstance, uint8_t aSwapIndex, uint32_t aOffset, void *aData, uint32_t aSize); /** - * This function writes @p aSize bytes from @p aData. + * Writes @p aSize bytes from @p aData. * * @param[in] aInstance The OpenThread instance structure. * @param[in] aSwapIndex A value in [0, 1] that indicates the swap space. diff --git a/openthread/include/openthread/platform/infra_if.h b/openthread/include/openthread/platform/infra_if.h index 5d2c50f150..4241efd069 100644 --- a/openthread/include/openthread/platform/infra_if.h +++ b/openthread/include/openthread/platform/infra_if.h @@ -57,7 +57,7 @@ extern "C" { */ /** - * This method tells whether an infra interface has the given IPv6 address assigned. + * Tells whether an infra interface has the given IPv6 address assigned. * * @param[in] aInfraIfIndex The index of the infra interface. * @param[in] aAddress The IPv6 address. @@ -68,7 +68,7 @@ extern "C" { bool otPlatInfraIfHasAddress(uint32_t aInfraIfIndex, const otIp6Address *aAddress); /** - * This method sends an ICMPv6 Neighbor Discovery message on given infrastructure interface. + * Sends an ICMPv6 Neighbor Discovery message on given infrastructure interface. * * See RFC 4861: https://tools.ietf.org/html/rfc4861. * @@ -150,7 +150,7 @@ otError otPlatInfraIfDiscoverNat64Prefix(uint32_t aInfraIfIndex); * The infra interface driver calls this method to notify OpenThread that * the discovery of NAT64 prefix is done. * - * This method is expected to be invoked after calling otPlatInfraIfDiscoverNat64Prefix. + * Is expected to be invoked after calling otPlatInfraIfDiscoverNat64Prefix. * If no NAT64 prefix is discovered, @p aIp6Prefix shall point to an empty prefix with zero length. * * @param[in] aInstance The OpenThread instance structure. diff --git a/openthread/include/openthread/platform/logging.h b/openthread/include/openthread/platform/logging.h index adf123f444..20235dfe26 100644 --- a/openthread/include/openthread/platform/logging.h +++ b/openthread/include/openthread/platform/logging.h @@ -107,13 +107,13 @@ extern "C" { #define OT_LOG_LEVEL_DEBG 5 /** - * This type represents the log level. + * Represents the log level. * */ typedef int otLogLevel; /** - * This enumeration represents log regions. + * Represents log regions. * * The support for log region is removed and instead each core module can define its own name to appended to the logs. * However, the `otLogRegion` enumeration is still defined as before to help with platforms which we may be using it @@ -148,7 +148,7 @@ typedef enum otLogRegion } otLogRegion; /** - * This function outputs logs. + * Outputs logs. * * Note that the support for log region is removed. The OT core will always emit all logs with `OT_LOG_REGION_CORE` * as @p aLogRegion. @@ -162,7 +162,7 @@ typedef enum otLogRegion void otPlatLog(otLogLevel aLogLevel, otLogRegion aLogRegion, const char *aFormat, ...); /** - * This function handles OpenThread log level changes. + * Handles OpenThread log level changes. * * This platform function is called whenever the OpenThread log level changes. * This platform function is optional since an empty weak implementation has been provided. diff --git a/openthread/include/openthread/platform/memory.h b/openthread/include/openthread/platform/memory.h index 39b9e87e5f..1f0e4227af 100644 --- a/openthread/include/openthread/platform/memory.h +++ b/openthread/include/openthread/platform/memory.h @@ -63,7 +63,7 @@ extern "C" { * memory each and returns a pointer to the allocated memory. The allocated memory is filled with bytes * of value zero." * - * This function is required for OPENTHREAD_CONFIG_HEAP_EXTERNAL_ENABLE. + * Is required for OPENTHREAD_CONFIG_HEAP_EXTERNAL_ENABLE. * * @param[in] aNum The number of blocks to allocate * @param[in] aSize The size of each block to allocate @@ -76,7 +76,7 @@ void *otPlatCAlloc(size_t aNum, size_t aSize); /** * Frees memory that was dynamically allocated. * - * This function is required for OPENTHREAD_CONFIG_HEAP_EXTERNAL_ENABLE. + * Is required for OPENTHREAD_CONFIG_HEAP_EXTERNAL_ENABLE. * * @param[in] aPtr A pointer the memory blocks to free. The pointer may be NULL. */ diff --git a/openthread/include/openthread/platform/messagepool.h b/openthread/include/openthread/platform/messagepool.h index 6f369c721b..5058871df0 100644 --- a/openthread/include/openthread/platform/messagepool.h +++ b/openthread/include/openthread/platform/messagepool.h @@ -54,7 +54,7 @@ extern "C" { #endif /** - * This struct represents an OpenThread message buffer. + * Represents an OpenThread message buffer. * */ typedef struct otMessageBuffer @@ -65,7 +65,7 @@ typedef struct otMessageBuffer /** * Initialize the platform implemented message pool. * - * This function is used when `OPENTHREAD_CONFIG_PLATFORM_MESSAGE_MANAGEMENT` is enabled. + * Is used when `OPENTHREAD_CONFIG_PLATFORM_MESSAGE_MANAGEMENT` is enabled. * * @param[in] aInstance A pointer to the OpenThread instance. * @param[in] aMinNumFreeBuffers An uint16 containing the minimum number of free buffers desired by OpenThread. @@ -77,7 +77,7 @@ void otPlatMessagePoolInit(otInstance *aInstance, uint16_t aMinNumFreeBuffers, s /** * Allocate a buffer from the platform managed buffer pool. * - * This function is used when `OPENTHREAD_CONFIG_PLATFORM_MESSAGE_MANAGEMENT` is enabled. + * Is used when `OPENTHREAD_CONFIG_PLATFORM_MESSAGE_MANAGEMENT` is enabled. * * The returned buffer instance MUST have at least `aBufferSize` bytes (as specified in `otPlatMessagePoolInit()`). * @@ -89,9 +89,9 @@ void otPlatMessagePoolInit(otInstance *aInstance, uint16_t aMinNumFreeBuffers, s otMessageBuffer *otPlatMessagePoolNew(otInstance *aInstance); /** - * This function is used to free a buffer back to the platform managed buffer pool. + * Is used to free a buffer back to the platform managed buffer pool. * - * This function is used when `OPENTHREAD_CONFIG_PLATFORM_MESSAGE_MANAGEMENT` is enabled. + * Is used when `OPENTHREAD_CONFIG_PLATFORM_MESSAGE_MANAGEMENT` is enabled. * * @param[in] aInstance A pointer to the OpenThread instance. * @param[in] aBuffer The buffer to free. @@ -102,7 +102,7 @@ void otPlatMessagePoolFree(otInstance *aInstance, otMessageBuffer *aBuffer); /** * Get the number of free buffers. * - * This function is used when `OPENTHREAD_CONFIG_PLATFORM_MESSAGE_MANAGEMENT` is enabled. + * Is used when `OPENTHREAD_CONFIG_PLATFORM_MESSAGE_MANAGEMENT` is enabled. * * @param[in] aInstance A pointer to the OpenThread instance. * diff --git a/openthread/include/openthread/platform/misc.h b/openthread/include/openthread/platform/misc.h index 99c3ed3f53..7fbee54b1f 100644 --- a/openthread/include/openthread/platform/misc.h +++ b/openthread/include/openthread/platform/misc.h @@ -54,7 +54,7 @@ extern "C" { */ /** - * This function performs a software reset on the platform, if supported. + * Performs a software reset on the platform, if supported. * * @param[in] aInstance The OpenThread instance structure. * @@ -83,7 +83,7 @@ typedef enum } otPlatResetReason; /** - * This function returns the reason for the last platform reset. + * Returns the reason for the last platform reset. * * @param[in] aInstance The OpenThread instance structure. * @@ -91,7 +91,7 @@ typedef enum otPlatResetReason otPlatGetResetReason(otInstance *aInstance); /** - * This function provides a platform specific implementation for assert. + * Provides a platform specific implementation for assert. * * @param[in] aFilename The name of the file where the assert occurred. * @param[in] aLineNumber The line number in the file where the assert occurred. @@ -100,7 +100,7 @@ otPlatResetReason otPlatGetResetReason(otInstance *aInstance); void otPlatAssertFail(const char *aFilename, int aLineNumber); /** - * This function performs a platform specific operation to wake the host MCU. + * Performs a platform specific operation to wake the host MCU. * This is used only for NCP configurations. * */ @@ -163,7 +163,7 @@ typedef enum } otPlatMcuPowerState; /** - * This function sets the desired MCU power state. + * Sets the desired MCU power state. * * This is only applicable and used for NCP configuration when `OPENTHREAD_CONFIG_NCP_ENABLE_MCU_POWER_STATE_CONTROL` * is enabled. @@ -178,7 +178,7 @@ typedef enum otError otPlatSetMcuPowerState(otInstance *aInstance, otPlatMcuPowerState aState); /** - * This function gets the current desired MCU power state. + * Gets the current desired MCU power state. * * This is only applicable and used for NCP configuration when `OPENTHREAD_CONFIG_NCP_ENABLE_MCU_POWER_STATE_CONTROL` * is enabled. diff --git a/openthread/include/openthread/platform/otns.h b/openthread/include/openthread/platform/otns.h index 6d862e24cc..19b206b2ea 100644 --- a/openthread/include/openthread/platform/otns.h +++ b/openthread/include/openthread/platform/otns.h @@ -54,7 +54,7 @@ extern "C" { */ /** - * This function exports status information to OTNS. + * Exports status information to OTNS. * * The status information is represented by a null-terminated string with format recognizable by OTNS. * Each call to `otPlatOtnsStatus` can send multiple statuses, separated by ';', e.x. "parid=577fbc37;lrid=5". diff --git a/openthread/include/openthread/platform/radio.h b/openthread/include/openthread/platform/radio.h index 5d90e501a8..d11549e078 100644 --- a/openthread/include/openthread/platform/radio.h +++ b/openthread/include/openthread/platform/radio.h @@ -88,7 +88,7 @@ enum }; /** - * This enumeration defines the channel page. + * Defines the channel page. * */ enum @@ -100,7 +100,7 @@ enum }; /** - * This enumeration defines the frequency band channel range. + * Defines the frequency band channel range. * */ enum @@ -114,7 +114,7 @@ enum }; /** - * This type represents radio capabilities. + * Represents radio capabilities. * * The value is a bit-field indicating the capabilities supported by the radio. See `OT_RADIO_CAPS_*` definitions. * @@ -122,7 +122,7 @@ enum typedef uint8_t otRadioCaps; /** - * This enumeration defines constants that are used to indicate different radio capabilities. See `otRadioCaps`. + * Defines constants that are used to indicate different radio capabilities. See `otRadioCaps`. * */ enum @@ -141,13 +141,13 @@ enum #define OT_PANID_BROADCAST 0xffff ///< IEEE 802.15.4 Broadcast PAN ID /** - * This type represents the IEEE 802.15.4 PAN ID. + * Represents the IEEE 802.15.4 PAN ID. * */ typedef uint16_t otPanId; /** - * This type represents the IEEE 802.15.4 Short Address. + * Represents the IEEE 802.15.4 Short Address. * */ typedef uint16_t otShortAddress; @@ -155,7 +155,7 @@ typedef uint16_t otShortAddress; #define OT_EXT_ADDRESS_SIZE 8 ///< Size of an IEEE 802.15.4 Extended Address (bytes) /** - * This enumeration defines constants about size of header IE in ACK. + * Defines constants about size of header IE in ACK. * */ enum @@ -172,7 +172,7 @@ enum /** * @struct otExtAddress * - * This structure represents the IEEE 802.15.4 Extended Address. + * Represents the IEEE 802.15.4 Extended Address. * */ OT_TOOL_PACKED_BEGIN @@ -182,7 +182,7 @@ struct otExtAddress } OT_TOOL_PACKED_END; /** - * This structure represents the IEEE 802.15.4 Extended Address. + * Represents the IEEE 802.15.4 Extended Address. * */ typedef struct otExtAddress otExtAddress; @@ -192,7 +192,7 @@ typedef struct otExtAddress otExtAddress; /** * @struct otMacKey * - * This structure represents a MAC Key. + * Represents a MAC Key. * */ OT_TOOL_PACKED_BEGIN @@ -202,13 +202,13 @@ struct otMacKey } OT_TOOL_PACKED_END; /** - * This structure represents a MAC Key. + * Represents a MAC Key. * */ typedef struct otMacKey otMacKey; /** - * This type represents a MAC Key Ref used by PSA. + * Represents a MAC Key Ref used by PSA. * */ typedef otCryptoKeyRef otMacKeyRef; @@ -216,7 +216,7 @@ typedef otCryptoKeyRef otMacKeyRef; /** * @struct otMacKeyMaterial * - * This structure represents a MAC Key. + * Represents a MAC Key. * */ typedef struct otMacKeyMaterial @@ -229,7 +229,7 @@ typedef struct otMacKeyMaterial } otMacKeyMaterial; /** - * This enumeration defines constants about key types. + * Defines constants about key types. * */ typedef enum @@ -239,7 +239,7 @@ typedef enum } otRadioKeyType; /** - * This structure represents the IEEE 802.15.4 Header IE (Information Element) related information of a radio frame. + * Represents the IEEE 802.15.4 Header IE (Information Element) related information of a radio frame. */ typedef struct otRadioIeInfo { @@ -249,7 +249,7 @@ typedef struct otRadioIeInfo } otRadioIeInfo; /** - * This structure represents an IEEE 802.15.4 radio frame. + * Represents an IEEE 802.15.4 radio frame. */ typedef struct otRadioFrame { @@ -270,13 +270,50 @@ typedef struct otRadioFrame */ struct { - const otMacKeyMaterial *mAesKey; ///< The key material used for AES-CCM frame security. - otRadioIeInfo *mIeInfo; ///< The pointer to the Header IE(s) related information. - uint32_t mTxDelay; ///< The delay time for this transmission (based on `mTxDelayBaseTime`). - uint32_t mTxDelayBaseTime; ///< The base time for the transmission delay. + const otMacKeyMaterial *mAesKey; ///< The key material used for AES-CCM frame security. + otRadioIeInfo *mIeInfo; ///< The pointer to the Header IE(s) related information. + + /** + * The base time in microseconds for scheduled transmissions + * relative to the local radio clock, see `otPlatRadioGetNow` and + * `mTxDelay`. + */ + uint32_t mTxDelayBaseTime; + + /** + * The delay time in microseconds for this transmission referenced + * to `mTxDelayBaseTime`. + * + * Note: `mTxDelayBaseTime` + `mTxDelay` SHALL point to the point in + * time when the end of the SFD will be present at the local + * antenna, relative to the local radio clock. + */ + uint32_t mTxDelay; + uint8_t mMaxCsmaBackoffs; ///< Maximum number of backoffs attempts before declaring CCA failure. uint8_t mMaxFrameRetries; ///< Maximum number of retries allowed after a transmission failure. + /** + * The RX channel after frame TX is done (after all frame retries - ack received, or timeout, or abort). + * + * Radio platforms can choose to fully ignore this. OT stack will make sure to call `otPlatRadioReceive()` + * with the desired RX channel after a frame TX is done and signaled in `otPlatRadioTxDone()` callback. + * Radio platforms that don't provide `OT_RADIO_CAPS_TRANSMIT_RETRIES` must always ignore this. + * + * This is intended for situations where there may be delay in interactions between OT stack and radio, as + * an example this is used in RCP/host architecture to make sure RCP switches to PAN channel more quickly. + * In particular, this can help with CSL tx to a sleepy child, where the child may use a different channel + * for CSL than the PAN channel. After frame tx, we want the radio/RCP to go back to the PAN channel + * quickly to ensure that parent does not miss tx from child afterwards, e.g., child responding to the + * earlier CSL transmitted frame from parent using PAN channel while radio still staying on CSL channel. + * + * The switch to the RX channel MUST happen after the frame TX is fully done, i.e., after all retries and + * when ack is received (when "Ack Request" flag is set on the TX frame) or ack timeout. Note that ack is + * expected on the same channel that frame is sent on. + * + */ + uint8_t mRxChannelAfterTxDone; + /** * Indicates whether frame counter and CSL IEs are properly updated in the header. * @@ -311,11 +348,8 @@ typedef struct otRadioFrame struct { /** - * The timestamp when the frame was received in microseconds. - * - * The value SHALL be the time when the SFD was received when TIME_SYNC or CSL is enabled. - * Otherwise, the time when the MAC frame was fully received is also acceptable. - * + * The time of the local radio clock in microseconds when the end of + * the SFD was present at the local antenna. */ uint64_t mTimestamp; @@ -332,7 +366,7 @@ typedef struct otRadioFrame } otRadioFrame; /** - * This structure represents the state of a radio. + * Represents the state of a radio. * Initially, a radio is in the Disabled state. */ typedef enum otRadioState @@ -362,7 +396,7 @@ typedef enum otRadioState */ /** - * This structure represents radio coexistence metrics. + * Represents radio coexistence metrics. */ typedef struct otRadioCoexMetrics { @@ -388,7 +422,7 @@ typedef struct otRadioCoexMetrics } otRadioCoexMetrics; /** - * This structure represents what metrics are specified to query. + * Represents what metrics are specified to query. * */ typedef struct otLinkMetrics @@ -590,7 +624,7 @@ void otPlatRadioSetPromiscuous(otInstance *aInstance, bool aEnable); /** * Update MAC keys and key index * - * This function is used when radio provides OT_RADIO_CAPS_TRANSMIT_SEC capability. + * Is used when radio provides OT_RADIO_CAPS_TRANSMIT_SEC capability. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aKeyIdMode The key ID mode. @@ -610,9 +644,9 @@ void otPlatRadioSetMacKey(otInstance *aInstance, otRadioKeyType aKeyType); /** - * This method sets the current MAC frame counter value. + * Sets the current MAC frame counter value. * - * This function is used when radio provides `OT_RADIO_CAPS_TRANSMIT_SEC` capability. + * Is used when radio provides `OT_RADIO_CAPS_TRANSMIT_SEC` capability. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aMacFrameCounter The MAC frame counter value. @@ -621,9 +655,9 @@ void otPlatRadioSetMacKey(otInstance *aInstance, void otPlatRadioSetMacFrameCounter(otInstance *aInstance, uint32_t aMacFrameCounter); /** - * This method sets the current MAC frame counter value only if the new given value is larger than the current value. + * Sets the current MAC frame counter value only if the new given value is larger than the current value. * - * This function is used when radio provides `OT_RADIO_CAPS_TRANSMIT_SEC` capability. + * Is used when radio provides `OT_RADIO_CAPS_TRANSMIT_SEC` capability. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aMacFrameCounter The MAC frame counter value. @@ -632,14 +666,25 @@ void otPlatRadioSetMacFrameCounter(otInstance *aInstance, uint32_t aMacFrameCoun void otPlatRadioSetMacFrameCounterIfLarger(otInstance *aInstance, uint32_t aMacFrameCounter); /** - * Get the current estimated time (in microseconds) of the radio chip. + * Get the current time in microseconds referenced to a continuous monotonic + * local radio clock (64 bits width). + * + * The radio clock SHALL NOT wrap during the device's uptime. Implementations + * SHALL therefore identify and compensate for internal counter overflows. The + * clock does not have a defined epoch and it SHALL NOT introduce any continuous + * or discontinuous adjustments (e.g. leap seconds). Implementations SHALL + * compensate for any sleep times of the device. * - * This microsecond timer must be a free-running timer. The timer must continue to advance with microsecond precision - * even when the radio is in the sleep state. + * Implementations MAY choose to discipline the radio clock and compensate for + * sleep times by any means (e.g. by combining a high precision/low power RTC + * with a high resolution counter) as long as the exposed combined clock + * provides continuous monotonic microsecond resolution ticks within the + * accuracy limits announced by @ref otPlatRadioGetCslAccuracy. * * @param[in] aInstance A pointer to an OpenThread instance. * - * @returns The current time in microseconds. UINT64_MAX when platform does not support or radio time is not ready. + * @returns The current time in microseconds. UINT64_MAX when platform does not + * support or radio time is not ready. * */ uint64_t otPlatRadioGetNow(otInstance *aInstance); @@ -673,7 +718,7 @@ uint32_t otPlatRadioGetBusSpeed(otInstance *aInstance); /** * Get current state of the radio. * - * This function is not required by OpenThread. It may be used for debugging and/or application-specific purposes. + * Is not required by OpenThread. It may be used for debugging and/or application-specific purposes. * * @note This function may be not implemented. It does not affect OpenThread. * @@ -744,8 +789,17 @@ otError otPlatRadioReceive(otInstance *aInstance, uint8_t aChannel); * Schedule a radio reception window at a specific time and duration. * * @param[in] aChannel The radio channel on which to receive. - * @param[in] aStart The receive window start time, in microseconds. - * @param[in] aDuration The receive window duration, in microseconds + * @param[in] aStart The receive window start time relative to the local + * radio clock, see `otPlatRadioGetNow`. The radio + * receiver SHALL be on and ready to receive the first + * symbol of a frame's SHR at the window start time. + * @param[in] aDuration The receive window duration, in microseconds, as + * measured by the local radio clock. The radio SHOULD be + * turned off (or switched to TX mode if an ACK frame + * needs to be sent) after that duration unless it is + * still actively receiving a frame. In the latter case + * the radio SHALL be kept in reception mode until frame + * reception has either succeeded or failed. * * @retval OT_ERROR_NONE Successfully scheduled receive window. * @retval OT_ERROR_FAILED The receive window could not be scheduled. @@ -767,7 +821,7 @@ extern void otPlatRadioReceiveDone(otInstance *aInstance, otRadioFrame *aFrame, /** * The radio driver calls this method to notify OpenThread diagnostics module of a received frame. * - * This function is used when diagnostics is enabled. + * Is used when diagnostics is enabled. * * @param[in] aInstance The OpenThread instance structure. * @param[in] aFrame A pointer to the received frame or NULL if the receive operation failed. @@ -844,7 +898,7 @@ extern void otPlatRadioTxDone(otInstance *aInstance, otRadioFrame *aFrame, otRad /** * The radio driver calls this method to notify OpenThread diagnostics module that the transmission has completed. * - * This function is used when diagnostics is enabled. + * Is used when diagnostics is enabled. * * @param[in] aInstance The OpenThread instance structure. * @param[in] aFrame A pointer to the frame that was transmitted. @@ -868,14 +922,14 @@ int8_t otPlatRadioGetRssi(otInstance *aInstance); /** * Begin the energy scan sequence on the radio. * - * This function is used when radio provides OT_RADIO_CAPS_ENERGY_SCAN capability. + * Is used when radio provides OT_RADIO_CAPS_ENERGY_SCAN capability. * * @param[in] aInstance The OpenThread instance structure. * @param[in] aScanChannel The channel to perform the energy scan on. * @param[in] aScanDuration The duration, in milliseconds, for the channel to be scanned. * * @retval OT_ERROR_NONE Successfully started scanning the channel. - * @retval OT_ERROR_BUSY The radio is performing enery scanning. + * @retval OT_ERROR_BUSY The radio is performing energy scanning. * @retval OT_ERROR_NOT_IMPLEMENTED The radio doesn't support energy scanning. * */ @@ -884,7 +938,7 @@ otError otPlatRadioEnergyScan(otInstance *aInstance, uint8_t aScanChannel, uint1 /** * The radio driver calls this method to notify OpenThread that the energy scan is complete. * - * This function is used when radio provides OT_RADIO_CAPS_ENERGY_SCAN capability. + * Is used when radio provides OT_RADIO_CAPS_ENERGY_SCAN capability. * * @param[in] aInstance The OpenThread instance structure. * @param[in] aEnergyScanMaxRssi The maximum RSSI encountered on the scanned channel. @@ -999,7 +1053,7 @@ uint32_t otPlatRadioGetPreferredChannelMask(otInstance *aInstance); /** * Enable the radio coex. * - * This function is used when feature OPENTHREAD_CONFIG_PLATFORM_RADIO_COEX_ENABLE is enabled. + * Is used when feature OPENTHREAD_CONFIG_PLATFORM_RADIO_COEX_ENABLE is enabled. * * @param[in] aInstance The OpenThread instance structure. * @param[in] aEnabled TRUE to enable the radio coex, FALSE otherwise. @@ -1013,7 +1067,7 @@ otError otPlatRadioSetCoexEnabled(otInstance *aInstance, bool aEnabled); /** * Check whether radio coex is enabled or not. * - * This function is used when feature OPENTHREAD_CONFIG_PLATFORM_RADIO_COEX_ENABLE is enabled. + * Is used when feature OPENTHREAD_CONFIG_PLATFORM_RADIO_COEX_ENABLE is enabled. * * @param[in] aInstance The OpenThread instance structure. * @@ -1025,7 +1079,7 @@ bool otPlatRadioIsCoexEnabled(otInstance *aInstance); /** * Get the radio coexistence metrics. * - * This function is used when feature OPENTHREAD_CONFIG_PLATFORM_RADIO_COEX_ENABLE is enabled. + * Is used when feature OPENTHREAD_CONFIG_PLATFORM_RADIO_COEX_ENABLE is enabled. * * @param[in] aInstance The OpenThread instance structure. * @param[out] aCoexMetrics A pointer to the coexistence metrics structure. @@ -1039,7 +1093,7 @@ otError otPlatRadioGetCoexMetrics(otInstance *aInstance, otRadioCoexMetrics *aCo * Enable or disable CSL receiver. * * @param[in] aInstance The OpenThread instance structure. - * @param[in] aCslPeriod CSL period, 0 for disabling CSL. + * @param[in] aCslPeriod CSL period, 0 for disabling CSL. CSL period is in unit of 10 symbols. * @param[in] aShortAddr The short source address of CSL receiver's peer. * @param[in] aExtAddr The extended source address of CSL receiver's peer. * @@ -1058,28 +1112,50 @@ otError otPlatRadioEnableCsl(otInstance *aInstance, /** * Update CSL sample time in radio driver. * - * Sample time is stored in radio driver as a copy to calculate phase when sending ACK with CSL IE. + * Sample time is stored in radio driver as a copy to calculate phase when + * sending ACK with CSL IE. The CSL sample (window) of the CSL receiver extends + * before and after the sample time. The CSL sample time marks a timestamp in + * the CSL sample window when a frame should be received in "ideal conditions" + * if there would be no inaccuracy/clock-drift. * * @param[in] aInstance The OpenThread instance structure. - * @param[in] aCslSampleTime The latest sample time. - * + * @param[in] aCslSampleTime The next sample time, in microseconds. It is + * the time when the first symbol of the MHR of + * the frame is expected. */ void otPlatRadioUpdateCslSampleTime(otInstance *aInstance, uint32_t aCslSampleTime); /** - * Get the current accuracy, in units of ± ppm, of the clock used for scheduling CSL operations. + * Get the current estimated worst case accuracy (maximum ± deviation from the + * nominal frequency) of the local radio clock in units of PPM. This is the + * clock used to schedule CSL operations. * - * @note Platforms may optimize this value based on operational conditions (i.e.: temperature). + * @note Implementations MAY estimate this value based on current operating + * conditions (e.g. temperature). + * + * In case the implementation does not estimate the current value but returns a + * fixed value, this value MUST be the worst-case accuracy over all possible + * foreseen operating conditions (temperature, pressure, etc) of the + * implementation. * * @param[in] aInstance A pointer to an OpenThread instance. * - * @returns The current CSL rx/tx scheduling drift, in units of ± ppm. + * @returns The current CSL rx/tx scheduling drift, in PPM. * */ uint8_t otPlatRadioGetCslAccuracy(otInstance *aInstance); /** - * The fixed uncertainty of the Device for scheduling CSL Transmissions in units of 10 microseconds. + * The fixed uncertainty (i.e. random jitter) of the arrival time of CSL + * transmissions received by this device in units of 10 microseconds. + * + * This designates the worst case constant positive or negative deviation of + * the actual arrival time of a transmission from the transmission time + * calculated relative to the local radio clock independent of elapsed time. In + * addition to uncertainty accumulated over elapsed time, the CSL channel sample + * ("RX window") must be extended by twice this deviation such that an actual + * transmission is guaranteed to be detected by the local receiver in the + * presence of random arrival time jitter. * * @param[in] aInstance A pointer to an OpenThread instance. * diff --git a/openthread/include/openthread/platform/settings.h b/openthread/include/openthread/platform/settings.h index 0b2f035760..5a1783c546 100644 --- a/openthread/include/openthread/platform/settings.h +++ b/openthread/include/openthread/platform/settings.h @@ -52,7 +52,7 @@ extern "C" { */ /** - * This enumeration defines the keys of settings. + * Defines the keys of settings. * * Note: When adding a new settings key, if the settings corresponding to the key contains security sensitive * information, the developer MUST add the key to the array `aSensitiveKeys` which is passed in @@ -73,6 +73,7 @@ enum OT_SETTINGS_KEY_SRP_SERVER_INFO = 0x000d, ///< The SRP server info (UDP port). OT_SETTINGS_KEY_BR_ULA_PREFIX = 0x000f, ///< BR ULA prefix. OT_SETTINGS_KEY_BR_ON_LINK_PREFIXES = 0x0010, ///< BR local on-link prefixes. + OT_SETTINGS_KEY_BORDER_AGENT_ID = 0x0011, ///< Unique Border Agent/Router ID. // Deprecated and reserved key values: // @@ -89,7 +90,7 @@ enum /** * Performs any initialization for the settings subsystem, if necessary. * - * This function also sets the sensitive keys that should be stored in the secure area. + * Also sets the sensitive keys that should be stored in the secure area. * * Note that the memory pointed by @p aSensitiveKeys MUST not be released before @p aInstance is destroyed. * @@ -112,13 +113,13 @@ void otPlatSettingsDeinit(otInstance *aInstance); /** * Fetches the value of a setting. * - * This function fetches the value of the setting identified + * Fetches the value of the setting identified * by @p aKey and write it to the memory pointed to by aValue. * It then writes the length to the integer pointed to by * @p aValueLength. The initial value of @p aValueLength is the * maximum number of bytes to be written to @p aValue. * - * This function can be used to check for the existence of + * Can be used to check for the existence of * a key without fetching the value by setting @p aValue and * @p aValueLength to NULL. You can also check the length of * the setting without fetching it by setting only aValue @@ -148,7 +149,7 @@ otError otPlatSettingsGet(otInstance *aInstance, uint16_t aKey, int aIndex, uint /** * Sets or replaces the value of a setting. * - * This function sets or replaces the value of a setting + * Sets or replaces the value of a setting * identified by @p aKey. * * Calling this function successfully may cause unrelated @@ -177,7 +178,7 @@ otError otPlatSettingsSet(otInstance *aInstance, uint16_t aKey, const uint8_t *a /** * Adds a value to a setting. * - * This function adds the value to a setting + * Adds the value to a setting * identified by @p aKey, without replacing any existing * values. * @@ -213,7 +214,7 @@ otError otPlatSettingsAdd(otInstance *aInstance, uint16_t aKey, const uint8_t *a /** * Removes a setting from the setting store. * - * This function deletes a specific value from the + * Deletes a specific value from the * setting identified by aKey from the settings store. * * Note that the underlying implementation is not required @@ -234,7 +235,7 @@ otError otPlatSettingsDelete(otInstance *aInstance, uint16_t aKey, int aIndex); /** * Removes all settings from the setting store. * - * This function deletes all settings from the settings + * Deletes all settings from the settings * store, resetting it to its initial factory state. * * @param[in] aInstance The OpenThread instance structure. diff --git a/openthread/include/openthread/platform/spi-slave.h b/openthread/include/openthread/platform/spi-slave.h index 551d701635..c3e4cb8fc8 100644 --- a/openthread/include/openthread/platform/spi-slave.h +++ b/openthread/include/openthread/platform/spi-slave.h @@ -126,7 +126,7 @@ void otPlatSpiSlaveDisable(void); * Prepare data for the next SPI transaction. Data pointers MUST remain valid until the transaction complete callback * is called by the SPI slave driver, or until after the next call to `otPlatSpiSlavePrepareTransaction()`. * - * This function may be called more than once before the SPI master initiates the transaction. Each *successful* call + * May be called more than once before the SPI master initiates the transaction. Each *successful* call * to this function will cause the previous values from earlier calls to be discarded. * * Not calling this function after a completed transaction is the same as if this function was previously called with diff --git a/openthread/include/openthread/platform/time.h b/openthread/include/openthread/platform/time.h index eecb34b842..1766cc5593 100644 --- a/openthread/include/openthread/platform/time.h +++ b/openthread/include/openthread/platform/time.h @@ -52,7 +52,20 @@ extern "C" { */ /** - * Get the current time (64bits width). + * Get the current platform time in microseconds referenced to a continuous + * monotonic local clock (64 bits width). + * + * The clock SHALL NOT wrap during the device's uptime. Implementations SHALL + * therefore identify and compensate for internal counter overflows. The clock + * does not have a defined epoch and it SHALL NOT introduce any continuous or + * discontinuous adjustments (e.g. leap seconds). Implementations SHALL + * compensate for any sleep times of the device. + * + * Implementations MAY choose to discipline the platform clock and compensate + * for sleep times by any means (e.g. by combining a high precision/low power + * RTC with a high resolution counter) as long as the exposed combined clock + * provides continuous monotonic microsecond resolution ticks within the + * accuracy limits announced by @ref otPlatTimeGetXtalAccuracy. * * @returns The current time in microseconds. * @@ -60,9 +73,18 @@ extern "C" { uint64_t otPlatTimeGet(void); /** - * Get the device's XTAL accuracy. + * Get the current estimated worst case accuracy (maximum ± deviation from the + * nominal frequency) of the local platform clock in units of PPM. + * + * @note Implementations MAY estimate this value based on current operating + * conditions (e.g. temperature). + * + * In case the implementation does not estimate the current value but returns a + * fixed value, this value MUST be the worst-case accuracy over all possible + * foreseen operating conditions (temperature, pressure, etc) of the + * implementation. * - * @returns The device's XTAL accuracy, in ppm. + * @returns The current platform clock accuracy, in PPM. * */ uint16_t otPlatTimeGetXtalAccuracy(void); diff --git a/openthread/include/openthread/platform/toolchain.h b/openthread/include/openthread/platform/toolchain.h index d8b0308ef8..383aefbb32 100644 --- a/openthread/include/openthread/platform/toolchain.h +++ b/openthread/include/openthread/platform/toolchain.h @@ -113,10 +113,10 @@ extern "C" { /** * @def OT_TOOL_PRINTF_STYLE_FORMAT_ARG_CHECK * - * This macro specifies that a function or method takes `printf` style arguments and should be type-checked against + * Specifies that a function or method takes `printf` style arguments and should be type-checked against * a format string. * - * This macro must be added after the function/method declaration. For example: + * Must be added after the function/method declaration. For example: * * `void MyPrintf(void *aObject, const char *aFormat, ...) OT_TOOL_PRINTF_STYLE_FORMAT_ARG_CHECK(2, 3);` * diff --git a/openthread/include/openthread/platform/trel.h b/openthread/include/openthread/platform/trel.h index 6515b98d59..b372fded54 100644 --- a/openthread/include/openthread/platform/trel.h +++ b/openthread/include/openthread/platform/trel.h @@ -58,7 +58,7 @@ extern "C" { */ /** - * This function initializes and enables TREL platform layer. + * Initializes and enables TREL platform layer. * * Upon this call, the platform layer MUST perform the following: * @@ -87,7 +87,7 @@ extern "C" { void otPlatTrelEnable(otInstance *aInstance, uint16_t *aUdpPort); /** - * This function disables TREL platform layer. + * Disables TREL platform layer. * * After this call, the platform layer MUST stop DNS-SD browse on the service name "_trel._udp", stop advertising the * TREL DNS-SD service (from `otPlatTrelRegisterService()`) and MUST close the UDP socket used to receive TREL messages. @@ -98,7 +98,7 @@ void otPlatTrelEnable(otInstance *aInstance, uint16_t *aUdpPort); void otPlatTrelDisable(otInstance *aInstance); /** - * This structure represents a TREL peer info discovered using DNS-SD browse on the service name "_trel._udp". + * Represents a TREL peer info discovered using DNS-SD browse on the service name "_trel._udp". * */ typedef struct otPlatTrelPeerInfo @@ -145,7 +145,7 @@ typedef struct otPlatTrelPeerInfo extern void otPlatTrelHandleDiscoveredPeerInfo(otInstance *aInstance, const otPlatTrelPeerInfo *aInfo); /** - * This function registers a new service to be advertised using DNS-SD [RFC6763]. + * Registers a new service to be advertised using DNS-SD [RFC6763]. * * The service name is "_trel._udp". The platform should use its own hostname, which when combined with the service * name and the local DNS-SD domain name will produce the full service instance name, for example @@ -170,7 +170,7 @@ extern void otPlatTrelHandleDiscoveredPeerInfo(otInstance *aInstance, const otPl void otPlatTrelRegisterService(otInstance *aInstance, uint16_t aPort, const uint8_t *aTxtData, uint8_t aTxtLength); /** - * This function requests a TREL UDP packet to be sent to a given destination. + * Requests a TREL UDP packet to be sent to a given destination. * * @param[in] aInstance The OpenThread instance structure. * @param[in] aUdpPayload A pointer to UDP payload. @@ -184,7 +184,7 @@ void otPlatTrelSend(otInstance *aInstance, const otSockAddr *aDestSockAddr); /** - * This function is a callback from platform to notify of a received TREL UDP packet. + * Is a callback from platform to notify of a received TREL UDP packet. * * @note The buffer content (up to its specified length) may get changed during processing by OpenThread core (e.g., * decrypted in place), so the platform implementation should expect that after returning from this function the diff --git a/openthread/include/openthread/platform/udp.h b/openthread/include/openthread/platform/udp.h index 5b4a21c6c3..59d1fc7e46 100644 --- a/openthread/include/openthread/platform/udp.h +++ b/openthread/include/openthread/platform/udp.h @@ -42,7 +42,7 @@ extern "C" { #endif /** - * This function initializes the UDP socket by platform. + * Initializes the UDP socket by platform. * * @param[in] aUdpSocket A pointer to the UDP socket. * @@ -53,7 +53,7 @@ extern "C" { otError otPlatUdpSocket(otUdpSocket *aUdpSocket); /** - * This function closes the UDP socket by platform. + * Closes the UDP socket by platform. * * @param[in] aUdpSocket A pointer to the UDP socket. * @@ -64,18 +64,18 @@ otError otPlatUdpSocket(otUdpSocket *aUdpSocket); otError otPlatUdpClose(otUdpSocket *aUdpSocket); /** - * This function binds the UDP socket by platform. + * Binds the UDP socket by platform. * * @param[in] aUdpSocket A pointer to the UDP socket. * - * @retval OT_ERROR_NONE Successfully binded UDP socket by platform. + * @retval OT_ERROR_NONE Successfully bound UDP socket by platform. * @retval OT_ERROR_FAILED Failed to bind UDP socket. * */ otError otPlatUdpBind(otUdpSocket *aUdpSocket); /** - * This function binds the UDP socket to a platform network interface. + * Binds the UDP socket to a platform network interface. * * Note: only available when `OPENTHREAD_CONFIG_PLATFORM_UDP_ENABLE` is used. * @@ -89,7 +89,7 @@ otError otPlatUdpBind(otUdpSocket *aUdpSocket); otError otPlatUdpBindToNetif(otUdpSocket *aUdpSocket, otNetifIdentifier aNetifIdentifier); /** - * This function connects UDP socket by platform. + * Connects UDP socket by platform. * * @param[in] aUdpSocket A pointer to the UDP socket. * @@ -100,20 +100,20 @@ otError otPlatUdpBindToNetif(otUdpSocket *aUdpSocket, otNetifIdentifier aNetifId otError otPlatUdpConnect(otUdpSocket *aUdpSocket); /** - * This function sends UDP payload by platform. + * Sends UDP payload by platform. * * @param[in] aUdpSocket A pointer to the UDP socket. * @param[in] aMessage A pointer to the message to send. * @param[in] aMessageInfo A pointer to the message info associated with @p aMessage. * * @retval OT_ERROR_NONE Successfully sent by platform, and @p aMessage is freed. - * @retval OT_ERROR_FAILED Failed to binded UDP socket. + * @retval OT_ERROR_FAILED Failed to bind UDP socket. * */ otError otPlatUdpSend(otUdpSocket *aUdpSocket, otMessage *aMessage, const otMessageInfo *aMessageInfo); /** - * This function configures the UDP socket to join a UDP multicast group. + * Configures the UDP socket to join a UDP multicast group. * * Note: only available when `OPENTHREAD_CONFIG_PLATFORM_UDP_ENABLE` is used. * @@ -130,7 +130,7 @@ otError otPlatUdpJoinMulticastGroup(otUdpSocket *aUdpSocket, const otIp6Address *aAddress); /** - * This function configures the UDP socket to leave a UDP multicast group. + * Configures the UDP socket to leave a UDP multicast group. * * Note: only available when `OPENTHREAD_CONFIG_PLATFORM_UDP_ENABLE` is used. * diff --git a/openthread/include/openthread/radio_stats.h b/openthread/include/openthread/radio_stats.h new file mode 100644 index 0000000000..2db394d726 --- /dev/null +++ b/openthread/include/openthread/radio_stats.h @@ -0,0 +1,102 @@ +/* + * Copyright (c) 2023, The OpenThread Authors. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holder nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +/** + * @file + * @brief + * This file includes the OpenThread API for radio stats module. + */ + +#ifndef OPENTHREAD_RADIO_STATS_H_ +#define OPENTHREAD_RADIO_STATS_H_ + +#include + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @addtogroup api-radio + * + * @brief + * This module includes functions for radio statistics. + * + * @{ + * + */ + +/** + * Contains the statistics of radio. + * + */ +typedef struct otRadioTimeStats +{ + uint64_t mDisabledTime; ///< The total time that radio is in disabled state, in unit of microseconds. + uint64_t mSleepTime; ///< The total time that radio is in sleep state, in unit of microseconds. + uint64_t mTxTime; ///> The total time that radio is doing transmission, in unit of microseconds. + uint64_t mRxTime; ///> The total time that radio is in receive state, in unit of microseconds. +} otRadioTimeStats; + +/** + * Gets the radio statistics. + * + * The radio statistics include the time when the radio is in TX/RX/Sleep state. These times are in units of + * microseconds. All times are calculated from the last reset of radio statistics. + * + * @param[in] aInstance A pointer to an OpenThread instance. + * + * @returns A const pointer to the otRadioTimeStats struct that contains the data. + * + */ +const otRadioTimeStats *otRadioTimeStatsGet(otInstance *aInstance); + +/** + * Resets the radio statistics. + * + * All times are reset to 0. + * + * @param[in] aInstance A pointer to an OpenThread instance. + * + * + */ +void otRadioTimeStatsReset(otInstance *aInstance); + +/** + * @} + * + */ + +#ifdef __cplusplus +} // extern "C" +#endif + +#endif // OPENTHREAD_RADIO_STATS_H_ diff --git a/openthread/include/openthread/random_crypto.h b/openthread/include/openthread/random_crypto.h index 937136a782..94d3e61730 100644 --- a/openthread/include/openthread/random_crypto.h +++ b/openthread/include/openthread/random_crypto.h @@ -37,7 +37,6 @@ #include -#include #include #ifdef __cplusplus @@ -55,7 +54,7 @@ extern "C" { */ /** - * This function fills a given buffer with cryptographically secure random bytes. + * Fills a given buffer with cryptographically secure random bytes. * * @param[out] aBuffer A pointer to a buffer to fill with the random bytes. * @param[in] aSize Size of buffer (number of bytes to fill). diff --git a/openthread/include/openthread/random_noncrypto.h b/openthread/include/openthread/random_noncrypto.h index 40bb2600e5..0b353ca78d 100644 --- a/openthread/include/openthread/random_noncrypto.h +++ b/openthread/include/openthread/random_noncrypto.h @@ -52,7 +52,7 @@ extern "C" { */ /** - * This function generates and returns a random `uint32_t` value. + * Generates and returns a random `uint32_t` value. * * @returns A random `uint32_t` value. * @@ -60,7 +60,7 @@ extern "C" { uint32_t otRandomNonCryptoGetUint32(void); /** - * This function generates and returns a random byte. + * Generates and returns a random byte. * * @returns A random `uint8_t` value. * @@ -68,7 +68,7 @@ uint32_t otRandomNonCryptoGetUint32(void); uint8_t otRandomNonCryptoGetUint8(void); /** - * This function generates and returns a random `uint16_t` value. + * Generates and returns a random `uint16_t` value. * * @returns A random `uint16_t` value. * @@ -76,7 +76,7 @@ uint8_t otRandomNonCryptoGetUint8(void); uint16_t otRandomNonCryptoGetUint16(void); /** - * This function generates and returns a random `uint8_t` value within a given range `[aMin, aMax)`. + * Generates and returns a random `uint8_t` value within a given range `[aMin, aMax)`. * * @param[in] aMin A minimum value (this value can be included in returned random result). * @param[in] aMax A maximum value (this value is excluded from returned random result). @@ -86,7 +86,7 @@ uint16_t otRandomNonCryptoGetUint16(void); uint8_t otRandomNonCryptoGetUint8InRange(uint8_t aMin, uint8_t aMax); /** - * This function generates and returns a random `uint16_t` value within a given range `[aMin, aMax)`. + * Generates and returns a random `uint16_t` value within a given range `[aMin, aMax)`. * * @note The returned random value can include the @p aMin value but excludes the @p aMax. * @@ -98,7 +98,7 @@ uint8_t otRandomNonCryptoGetUint8InRange(uint8_t aMin, uint8_t aMax); uint16_t otRandomNonCryptoGetUint16InRange(uint16_t aMin, uint16_t aMax); /** - * This function generates and returns a random `uint32_t` value within a given range `[aMin, aMax)`. + * Generates and returns a random `uint32_t` value within a given range `[aMin, aMax)`. * * @note The returned random value can include the @p aMin value but excludes the @p aMax. * @@ -111,7 +111,7 @@ uint16_t otRandomNonCryptoGetUint16InRange(uint16_t aMin, uint16_t aMax); uint32_t otRandomNonCryptoGetUint32InRange(uint32_t aMin, uint32_t aMax); /** - * This function fills a given buffer with random bytes. + * Fills a given buffer with random bytes. * * @param[out] aBuffer A pointer to a buffer to fill with the random bytes. * @param[in] aSize Size of buffer (number of bytes to fill). @@ -120,7 +120,7 @@ uint32_t otRandomNonCryptoGetUint32InRange(uint32_t aMin, uint32_t aMax); void otRandomNonCryptoFillBuffer(uint8_t *aBuffer, uint16_t aSize); /** - * This function adds a random jitter within a given range to a given value. + * Adds a random jitter within a given range to a given value. * * @param[in] aValue A value to which the random jitter is added. * @param[in] aJitter Maximum jitter. Random jitter is selected from the range `[-aJitter, aJitter]`. diff --git a/openthread/include/openthread/server.h b/openthread/include/openthread/server.h index 3ce1117052..28cb56325f 100644 --- a/openthread/include/openthread/server.h +++ b/openthread/include/openthread/server.h @@ -52,7 +52,7 @@ extern "C" { */ /** - * This method provides a full or stable copy of the local Thread Network Data. + * Provides a full or stable copy of the local Thread Network Data. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aStable TRUE when copying the stable version, FALSE when copying the full version. @@ -100,7 +100,7 @@ otError otServerRemoveService(otInstance *aInstance, uint8_t aServiceDataLength); /** - * This function gets the next service in the local Network Data. + * Gets the next service in the local Network Data. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in,out] aIterator A pointer to the Network Data iterator context. To get the first service entry diff --git a/openthread/include/openthread/sntp.h b/openthread/include/openthread/sntp.h index 34b26c28c6..98f9e86a5c 100644 --- a/openthread/include/openthread/sntp.h +++ b/openthread/include/openthread/sntp.h @@ -57,7 +57,7 @@ extern "C" { #define OT_SNTP_DEFAULT_SERVER_PORT 123 ///< Defines default SNTP Server port. /** - * This structure implements SNTP Query parameters. + * Implements SNTP Query parameters. * */ typedef struct otSntpQuery @@ -66,7 +66,7 @@ typedef struct otSntpQuery } otSntpQuery; /** - * This function pointer is called when a SNTP response is received. + * Pointer is called when a SNTP response is received. * * @param[in] aContext A pointer to application-specific context. * @param[in] aTime Specifies the time at the server when the response left for the client, in UNIX time. @@ -83,9 +83,9 @@ typedef struct otSntpQuery typedef void (*otSntpResponseHandler)(void *aContext, uint64_t aTime, otError aResult); /** - * This function sends a SNTP query. + * Sends a SNTP query. * - * This function is available only if feature `OPENTHREAD_CONFIG_SNTP_CLIENT_ENABLE` is enabled. + * Is available only if feature `OPENTHREAD_CONFIG_SNTP_CLIENT_ENABLE` is enabled. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aQuery A pointer to specify SNTP query parameters. @@ -99,7 +99,7 @@ otError otSntpClientQuery(otInstance *aInstance, void *aContext); /** - * This function sets the unix era number. + * Sets the unix era number. * * The default value of unix era is set to 0. The subsequent eras start after year 2106. * diff --git a/openthread/include/openthread/srp_client.h b/openthread/include/openthread/srp_client.h index beaa062250..6eac2b1a85 100644 --- a/openthread/include/openthread/srp_client.h +++ b/openthread/include/openthread/srp_client.h @@ -53,7 +53,7 @@ extern "C" { */ /** - * This enumeration specifies an SRP client item (service or host info) state. + * Specifies an SRP client item (service or host info) state. * */ typedef enum @@ -69,7 +69,7 @@ typedef enum } otSrpClientItemState; /** - * This structure represents an SRP client host info. + * Represents an SRP client host info. * */ typedef struct otSrpClientHostInfo @@ -82,7 +82,7 @@ typedef struct otSrpClientHostInfo } otSrpClientHostInfo; /** - * This structure represents an SRP client service. + * Represents an SRP client service. * * The values in this structure, including the string buffers for the names and the TXT record entries, MUST persist * and stay constant after an instance of this structure is passed to OpenThread from `otSrpClientAddService()` or @@ -119,7 +119,7 @@ typedef struct otSrpClientService } otSrpClientService; /** - * This function pointer type defines the callback used by SRP client to notify user of changes/events/errors. + * Pointer type defines the callback used by SRP client to notify user of changes/events/errors. * * This callback is invoked on a successful registration of an update (i.e., add/remove of host-info and/or some * service(s)) with the SRP server, or if there is a failure or error (e.g., server rejects a update request or client @@ -180,7 +180,7 @@ typedef void (*otSrpClientCallback)(otError aError, void *aContext); /** - * This function pointer type defines the callback used by SRP client to notify user when it is auto-started or stopped. + * Pointer type defines the callback used by SRP client to notify user when it is auto-started or stopped. * * This is only used when auto-start feature `OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_API_ENABLE` is enabled. * @@ -195,7 +195,7 @@ typedef void (*otSrpClientCallback)(otError aError, typedef void (*otSrpClientAutoStartCallback)(const otSockAddr *aServerSockAddr, void *aContext); /** - * This function starts the SRP client operation. + * Starts the SRP client operation. * * SRP client will prepare and send "SRP Update" message to the SRP server once all the following conditions are met: * @@ -222,9 +222,9 @@ typedef void (*otSrpClientAutoStartCallback)(const otSockAddr *aServerSockAddr, otError otSrpClientStart(otInstance *aInstance, const otSockAddr *aServerSockAddr); /** - * This function stops the SRP client operation. + * Stops the SRP client operation. * - * This function stops any further interactions with the SRP server. Note that it does not remove or clear host info + * Stops any further interactions with the SRP server. Note that it does not remove or clear host info * and/or list of services. It marks all services to be added/removed again once the client is (re)started. * * @param[in] aInstance A pointer to the OpenThread instance. @@ -233,7 +233,7 @@ otError otSrpClientStart(otInstance *aInstance, const otSockAddr *aServerSockAdd void otSrpClientStop(otInstance *aInstance); /** - * This function indicates whether the SRP client is running or not. + * Indicates whether the SRP client is running or not. * * @param[in] aInstance A pointer to the OpenThread instance. * @@ -243,7 +243,7 @@ void otSrpClientStop(otInstance *aInstance); bool otSrpClientIsRunning(otInstance *aInstance); /** - * This function gets the socket address (IPv6 address and port number) of the SRP server which is being used by SRP + * Gets the socket address (IPv6 address and port number) of the SRP server which is being used by SRP * client. * * If the client is not running, the address is unspecified (all zero) with zero port number. @@ -256,7 +256,7 @@ bool otSrpClientIsRunning(otInstance *aInstance); const otSockAddr *otSrpClientGetServerAddress(otInstance *aInstance); /** - * This function sets the callback to notify caller of events/changes from SRP client. + * Sets the callback to notify caller of events/changes from SRP client. * * The SRP client allows a single callback to be registered. So consecutive calls to this function will overwrite any * previously set callback functions. @@ -269,7 +269,7 @@ const otSockAddr *otSrpClientGetServerAddress(otInstance *aInstance); void otSrpClientSetCallback(otInstance *aInstance, otSrpClientCallback aCallback, void *aContext); /** - * This function enables the auto-start mode. + * Enables the auto-start mode. * * This is only available when auto-start feature `OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_API_ENABLE` is enabled. * @@ -310,7 +310,7 @@ void otSrpClientSetCallback(otInstance *aInstance, otSrpClientCallback aCallback void otSrpClientEnableAutoStartMode(otInstance *aInstance, otSrpClientAutoStartCallback aCallback, void *aContext); /** - * This function disables the auto-start mode. + * Disables the auto-start mode. * * This is only available when auto-start feature `OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_API_ENABLE` is enabled. * @@ -325,7 +325,7 @@ void otSrpClientEnableAutoStartMode(otInstance *aInstance, otSrpClientAutoStartC void otSrpClientDisableAutoStartMode(otInstance *aInstance); /** - * This function indicates the current state of auto-start mode (enabled or disabled). + * Indicates the current state of auto-start mode (enabled or disabled). * * This is only available when auto-start feature `OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_API_ENABLE` is enabled. * @@ -337,7 +337,7 @@ void otSrpClientDisableAutoStartMode(otInstance *aInstance); bool otSrpClientIsAutoStartModeEnabled(otInstance *aInstance); /** - * This function gets the TTL value in every record included in SRP update requests. + * Gets the TTL value in every record included in SRP update requests. * * Note that this is the TTL requested by the SRP client. The server may choose to accept a different TTL. * @@ -352,7 +352,7 @@ bool otSrpClientIsAutoStartModeEnabled(otInstance *aInstance); uint32_t otSrpClientGetTtl(otInstance *aInstance); /** - * This function sets the TTL value in every record included in SRP update requests. + * Sets the TTL value in every record included in SRP update requests. * * Changing the TTL does not impact the TTL of already registered services/host-info. * It only affects future SRP update messages (i.e., adding new services and/or refreshes of the existing services). @@ -365,7 +365,7 @@ uint32_t otSrpClientGetTtl(otInstance *aInstance); void otSrpClientSetTtl(otInstance *aInstance, uint32_t aTtl); /** - * This function gets the default lease interval used in SRP update requests. + * Gets the default lease interval used in SRP update requests. * * The default interval is used only for `otSrpClientService` instances with `mLease` set to zero. * @@ -380,7 +380,7 @@ void otSrpClientSetTtl(otInstance *aInstance, uint32_t aTtl); uint32_t otSrpClientGetLeaseInterval(otInstance *aInstance); /** - * This function sets the default lease interval used in SRP update requests. + * Sets the default lease interval used in SRP update requests. * * The default interval is used only for `otSrpClientService` instances with `mLease` set to zero. * @@ -395,7 +395,7 @@ uint32_t otSrpClientGetLeaseInterval(otInstance *aInstance); void otSrpClientSetLeaseInterval(otInstance *aInstance, uint32_t aInterval); /** - * This function gets the default key lease interval used in SRP update requests. + * Gets the default key lease interval used in SRP update requests. * * The default interval is used only for `otSrpClientService` instances with `mKeyLease` set to zero. * @@ -410,7 +410,7 @@ void otSrpClientSetLeaseInterval(otInstance *aInstance, uint32_t aInterval); uint32_t otSrpClientGetKeyLeaseInterval(otInstance *aInstance); /** - * This function sets the default key lease interval used in SRP update requests. + * Sets the default key lease interval used in SRP update requests. * * The default interval is used only for `otSrpClientService` instances with `mKeyLease` set to zero. * @@ -425,7 +425,7 @@ uint32_t otSrpClientGetKeyLeaseInterval(otInstance *aInstance); void otSrpClientSetKeyLeaseInterval(otInstance *aInstance, uint32_t aInterval); /** - * This function gets the host info. + * Gets the host info. * * @param[in] aInstance A pointer to the OpenThread instance. * @@ -435,7 +435,7 @@ void otSrpClientSetKeyLeaseInterval(otInstance *aInstance, uint32_t aInterval); const otSrpClientHostInfo *otSrpClientGetHostInfo(otInstance *aInstance); /** - * This function sets the host name label. + * Sets the host name label. * * After a successful call to this function, `otSrpClientCallback` will be called to report the status of host info * registration with SRP server. @@ -458,7 +458,7 @@ const otSrpClientHostInfo *otSrpClientGetHostInfo(otInstance *aInstance); otError otSrpClientSetHostName(otInstance *aInstance, const char *aName); /** - * This function enables auto host address mode. + * Enables auto host address mode. * * When enabled host IPv6 addresses are automatically set by SRP client using all the unicast addresses on Thread netif * excluding all link-local and mesh-local addresses. If there is no valid address, then Mesh Local EID address is @@ -479,7 +479,7 @@ otError otSrpClientSetHostName(otInstance *aInstance, const char *aName); otError otSrpClientEnableAutoHostAddress(otInstance *aInstance); /** - * This function sets/updates the list of host IPv6 address. + * Sets/updates the list of host IPv6 address. * * Host IPv6 addresses can be set/changed before start or during operation of SRP client (e.g. to add/remove or change * a previously registered host address), except when the host info is being removed (client is busy handling a remove @@ -508,7 +508,7 @@ otError otSrpClientEnableAutoHostAddress(otInstance *aInstance); otError otSrpClientSetHostAddresses(otInstance *aInstance, const otIp6Address *aIp6Addresses, uint8_t aNumAddresses); /** - * This function adds a service to be registered with server. + * Adds a service to be registered with server. * * After a successful call to this function, `otSrpClientCallback` will be called to report the status of the service * addition/registration with SRP server. @@ -535,7 +535,7 @@ otError otSrpClientSetHostAddresses(otInstance *aInstance, const otIp6Address *a otError otSrpClientAddService(otInstance *aInstance, otSrpClientService *aService); /** - * This function requests a service to be unregistered with server. + * Requests a service to be unregistered with server. * * After a successful call to this function, `otSrpClientCallback` will be called to report the status of remove * request with SRP server. @@ -556,14 +556,14 @@ otError otSrpClientAddService(otInstance *aInstance, otSrpClientService *aServic otError otSrpClientRemoveService(otInstance *aInstance, otSrpClientService *aService); /** - * This function clears a service, immediately removing it from the client service list. + * Clears a service, immediately removing it from the client service list. * * Unlike `otSrpClientRemoveService()` which sends an update message to the server to remove the service, this function * clears the service from the client's service list without any interaction with the server. On a successful call to * this function, the `otSrpClientCallback` will NOT be called and the @p aService entry can be reclaimed and re-used * by the caller immediately. * - * This function can be used along with a subsequent call to `otSrpClientAddService()` (potentially reusing the same @p + * Can be used along with a subsequent call to `otSrpClientAddService()` (potentially reusing the same @p * aService entry with the same service and instance names) to update some of the parameters in an existing service. * * @param[in] aInstance A pointer to the OpenThread instance. @@ -576,7 +576,7 @@ otError otSrpClientRemoveService(otInstance *aInstance, otSrpClientService *aSer otError otSrpClientClearService(otInstance *aInstance, otSrpClientService *aService); /** - * This function gets the list of services being managed by client. + * Gets the list of services being managed by client. * * @param[in] aInstance A pointer to the OpenThread instance. * @@ -586,7 +586,7 @@ otError otSrpClientClearService(otInstance *aInstance, otSrpClientService *aServ const otSrpClientService *otSrpClientGetServices(otInstance *aInstance); /** - * This function starts the remove process of the host info and all services. + * Starts the remove process of the host info and all services. * * After returning from this function, `otSrpClientCallback` will be called to report the status of remove request with * SRP server. @@ -619,7 +619,7 @@ const otSrpClientService *otSrpClientGetServices(otInstance *aInstance); otError otSrpClientRemoveHostAndServices(otInstance *aInstance, bool aRemoveKeyLease, bool aSendUnregToServer); /** - * This function clears all host info and all the services. + * Clears all host info and all the services. * * Unlike `otSrpClientRemoveHostAndServices()` which sends an update message to the server to remove all the info, this * function clears all the info immediately without any interaction with the server. @@ -630,9 +630,9 @@ otError otSrpClientRemoveHostAndServices(otInstance *aInstance, bool aRemoveKeyL void otSrpClientClearHostAndServices(otInstance *aInstance); /** - * This function gets the domain name being used by SRP client. + * Gets the domain name being used by SRP client. * - * This function requires `OPENTHREAD_CONFIG_SRP_CLIENT_DOMAIN_NAME_API_ENABLE` to be enabled. + * Requires `OPENTHREAD_CONFIG_SRP_CLIENT_DOMAIN_NAME_API_ENABLE` to be enabled. * * If domain name is not set, "default.service.arpa" will be used. * @@ -644,9 +644,9 @@ void otSrpClientClearHostAndServices(otInstance *aInstance); const char *otSrpClientGetDomainName(otInstance *aInstance); /** - * This function sets the domain name to be used by SRP client. + * Sets the domain name to be used by SRP client. * - * This function requires `OPENTHREAD_CONFIG_SRP_CLIENT_DOMAIN_NAME_API_ENABLE` to be enabled. + * Requires `OPENTHREAD_CONFIG_SRP_CLIENT_DOMAIN_NAME_API_ENABLE` to be enabled. * * If not set "default.service.arpa" will be used. * @@ -666,7 +666,7 @@ const char *otSrpClientGetDomainName(otInstance *aInstance); otError otSrpClientSetDomainName(otInstance *aInstance, const char *aName); /** - * This function converts a `otSrpClientItemState` to a string. + * Converts a `otSrpClientItemState` to a string. * * @param[in] aItemState An item state. * @@ -676,12 +676,12 @@ otError otSrpClientSetDomainName(otInstance *aInstance, const char *aName); const char *otSrpClientItemStateToString(otSrpClientItemState aItemState); /** - * This function enables/disables "service key record inclusion" mode. + * Enables/disables "service key record inclusion" mode. * * When enabled, SRP client will include KEY record in Service Description Instructions in the SRP update messages * that it sends. * - * This function is available when `OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE` configuration is enabled. + * Is available when `OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE` configuration is enabled. * * @note KEY record is optional in Service Description Instruction (it is required and always included in the Host * Description Instruction). The default behavior of SRP client is to not include it. This function is intended to @@ -694,9 +694,9 @@ const char *otSrpClientItemStateToString(otSrpClientItemState aItemState); void otSrpClientSetServiceKeyRecordEnabled(otInstance *aInstance, bool aEnabled); /** - * This method indicates whether the "service key record inclusion" mode is enabled or disabled. + * Indicates whether the "service key record inclusion" mode is enabled or disabled. * - * This function is available when `OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE` configuration is enabled. + * Is available when `OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE` configuration is enabled. * * @param[in] aInstance A pointer to the OpenThread instance. * diff --git a/openthread/include/openthread/srp_client_buffers.h b/openthread/include/openthread/srp_client_buffers.h index 1f8c457c87..974da0d565 100644 --- a/openthread/include/openthread/srp_client_buffers.h +++ b/openthread/include/openthread/srp_client_buffers.h @@ -55,7 +55,7 @@ extern "C" { */ /** - * This struct represents a SRP client service pool entry. + * Represents a SRP client service pool entry. * */ typedef struct otSrpClientBuffersServiceEntry @@ -65,7 +65,7 @@ typedef struct otSrpClientBuffersServiceEntry } otSrpClientBuffersServiceEntry; /** - * This function gets the string buffer to use for SRP client host name. + * Gets the string buffer to use for SRP client host name. * * @param[in] aInstance A pointer to the OpenThread instance. * @param[out] aSize Pointer to a variable to return the size (number of bytes) of the string buffer (MUST NOT be @@ -77,7 +77,7 @@ typedef struct otSrpClientBuffersServiceEntry char *otSrpClientBuffersGetHostNameString(otInstance *aInstance, uint16_t *aSize); /** - * This function gets the array of IPv6 address entries to use as SRP client host address list. + * Gets the array of IPv6 address entries to use as SRP client host address list. * * @param[in] aInstance A pointer to the OpenThread instance. * @param[out] aArrayLength Pointer to a variable to return the array length i.e., number of IPv6 address entries in @@ -89,7 +89,7 @@ char *otSrpClientBuffersGetHostNameString(otInstance *aInstance, uint16_t *aSize otIp6Address *otSrpClientBuffersGetHostAddressesArray(otInstance *aInstance, uint8_t *aArrayLength); /** - * This function allocates a new service entry from the pool. + * Allocates a new service entry from the pool. * * The returned service entry instance will be initialized as follows: * @@ -115,7 +115,7 @@ otIp6Address *otSrpClientBuffersGetHostAddressesArray(otInstance *aInstance, uin otSrpClientBuffersServiceEntry *otSrpClientBuffersAllocateService(otInstance *aInstance); /** - * This function frees a previously allocated service entry. + * Frees a previously allocated service entry. * * The @p aService MUST be previously allocated using `otSrpClientBuffersAllocateService()` and not yet freed. Otherwise * the behavior of this function is undefined. @@ -127,7 +127,7 @@ otSrpClientBuffersServiceEntry *otSrpClientBuffersAllocateService(otInstance *aI void otSrpClientBuffersFreeService(otInstance *aInstance, otSrpClientBuffersServiceEntry *aService); /** - * This function frees all previously allocated service entries. + * Frees all previously allocated service entries. * * @param[in] aInstance A pointer to the OpenThread instance. * @@ -135,7 +135,7 @@ void otSrpClientBuffersFreeService(otInstance *aInstance, otSrpClientBuffersServ void otSrpClientBuffersFreeAllServices(otInstance *aInstance); /** - * This function gets the string buffer for service name from a service entry. + * Gets the string buffer for service name from a service entry. * * @param[in] aEntry A pointer to a previously allocated service entry (MUST NOT be NULL). * @param[out] aSize A pointer to a variable to return the size (number of bytes) of the string buffer (MUST NOT be @@ -147,7 +147,7 @@ void otSrpClientBuffersFreeAllServices(otInstance *aInstance); char *otSrpClientBuffersGetServiceEntryServiceNameString(otSrpClientBuffersServiceEntry *aEntry, uint16_t *aSize); /** - * This function gets the string buffer for service instance name from a service entry. + * Gets the string buffer for service instance name from a service entry. * * @param[in] aEntry A pointer to a previously allocated service entry (MUST NOT be NULL). * @param[out] aSize A pointer to a variable to return the size (number of bytes) of the string buffer (MUST NOT be @@ -159,7 +159,7 @@ char *otSrpClientBuffersGetServiceEntryServiceNameString(otSrpClientBuffersServi char *otSrpClientBuffersGetServiceEntryInstanceNameString(otSrpClientBuffersServiceEntry *aEntry, uint16_t *aSize); /** - * This function gets the buffer for TXT record from a service entry. + * Gets the buffer for TXT record from a service entry. * * @param[in] aEntry A pointer to a previously allocated service entry (MUST NOT be NULL). * @param[out] aSize A pointer to a variable to return the size (number of bytes) of the buffer (MUST NOT be NULL). @@ -170,7 +170,7 @@ char *otSrpClientBuffersGetServiceEntryInstanceNameString(otSrpClientBuffersServ uint8_t *otSrpClientBuffersGetServiceEntryTxtBuffer(otSrpClientBuffersServiceEntry *aEntry, uint16_t *aSize); /** - * This function gets the array for service subtype labels from the service entry. + * Gets the array for service subtype labels from the service entry. * * @param[in] aEntry A pointer to a previously allocated service entry (MUST NOT be NULL). * @param[out] aArrayLength A pointer to a variable to return the array length (MUST NOT be NULL). diff --git a/openthread/include/openthread/srp_server.h b/openthread/include/openthread/srp_server.h index 4dceee2030..8f45b0842b 100644 --- a/openthread/include/openthread/srp_server.h +++ b/openthread/include/openthread/srp_server.h @@ -74,65 +74,7 @@ typedef struct otSrpServerService otSrpServerService; typedef uint32_t otSrpServerServiceUpdateId; /** - * The service flag type to indicate which services to include or exclude when searching in (or iterating over) the - * list of SRP services. - * - * This is a combination of bit-flags. The specific bit-flags are defined in the enumeration `OT_SRP_SERVER_FLAG_*`. - * - */ -typedef uint8_t otSrpServerServiceFlags; - -enum -{ - OT_SRP_SERVER_SERVICE_FLAG_BASE_TYPE = 1 << 0, ///< Include base services (not a sub-type). - OT_SRP_SERVER_SERVICE_FLAG_SUB_TYPE = 1 << 1, ///< Include sub-type services. - OT_SRP_SERVER_SERVICE_FLAG_ACTIVE = 1 << 2, ///< Include active (not deleted) services. - OT_SRP_SERVER_SERVICE_FLAG_DELETED = 1 << 3, ///< Include deleted services. -}; - -enum -{ - /** - * This constant defines an `otSrpServerServiceFlags` combination accepting any service (base/sub-type, - * active/deleted). - * - */ - OT_SRP_SERVER_FLAGS_ANY_SERVICE = (OT_SRP_SERVER_SERVICE_FLAG_BASE_TYPE | OT_SRP_SERVER_SERVICE_FLAG_SUB_TYPE | - OT_SRP_SERVER_SERVICE_FLAG_ACTIVE | OT_SRP_SERVER_SERVICE_FLAG_DELETED), - - /** - * This constant defines an `otSrpServerServiceFlags` combination accepting base service only. - * - */ - OT_SRP_SERVER_FLAGS_BASE_TYPE_SERVICE_ONLY = - (OT_SRP_SERVER_SERVICE_FLAG_BASE_TYPE | OT_SRP_SERVER_SERVICE_FLAG_ACTIVE | OT_SRP_SERVER_SERVICE_FLAG_DELETED), - - /** - * This constant defines an `otSrpServerServiceFlags` combination accepting sub-type service only. - * - */ - OT_SRP_SERVER_FLAGS_SUB_TYPE_SERVICE_ONLY = - (OT_SRP_SERVER_SERVICE_FLAG_SUB_TYPE | OT_SRP_SERVER_SERVICE_FLAG_ACTIVE | OT_SRP_SERVER_SERVICE_FLAG_DELETED), - - /** - * This constant defines an `otSrpServerServiceFlags` combination accepting any active service (not deleted). - * - */ - OT_SRP_SERVER_FLAGS_ANY_TYPE_ACTIVE_SERVICE = - (OT_SRP_SERVER_SERVICE_FLAG_BASE_TYPE | OT_SRP_SERVER_SERVICE_FLAG_SUB_TYPE | - OT_SRP_SERVER_SERVICE_FLAG_ACTIVE), - - /** - * This constant defines an `otSrpServerServiceFlags` combination accepting any deleted service. - * - */ - OT_SRP_SERVER_FLAGS_ANY_TYPE_DELETED_SERVICE = - (OT_SRP_SERVER_SERVICE_FLAG_BASE_TYPE | OT_SRP_SERVER_SERVICE_FLAG_SUB_TYPE | - OT_SRP_SERVER_SERVICE_FLAG_ACTIVE), -}; - -/** - * This enumeration represents the state of the SRP server. + * Represents the state of the SRP server. * */ typedef enum @@ -143,7 +85,7 @@ typedef enum } otSrpServerState; /** - * This enumeration represents the address mode used by the SRP server. + * Represents the address mode used by the SRP server. * * Address mode specifies how the address and port number are determined by the SRP server and how this info is * published in the Thread Network Data. @@ -156,7 +98,7 @@ typedef enum otSrpServerAddressMode } otSrpServerAddressMode; /** - * This structure includes SRP server TTL configurations. + * Includes SRP server TTL configurations. * */ typedef struct otSrpServerTtlConfig @@ -166,7 +108,7 @@ typedef struct otSrpServerTtlConfig } otSrpServerTtlConfig; /** - * This structure includes SRP server LEASE and KEY-LEASE configurations. + * Includes SRP server LEASE and KEY-LEASE configurations. * */ typedef struct otSrpServerLeaseConfig @@ -178,7 +120,7 @@ typedef struct otSrpServerLeaseConfig } otSrpServerLeaseConfig; /** - * This structure includes SRP server lease information of a host/service. + * Includes SRP server lease information of a host/service. * */ typedef struct otSrpServerLeaseInfo @@ -190,7 +132,7 @@ typedef struct otSrpServerLeaseInfo } otSrpServerLeaseInfo; /** - * This structure includes the statistics of SRP server responses. + * Includes the statistics of SRP server responses. * */ typedef struct otSrpServerResponseCounters @@ -204,7 +146,7 @@ typedef struct otSrpServerResponseCounters } otSrpServerResponseCounters; /** - * This function returns the domain authorized to the SRP server. + * Returns the domain authorized to the SRP server. * * If the domain if not set by SetDomain, "default.service.arpa." will be returned. * A trailing dot is always appended even if the domain is set without it. @@ -217,10 +159,10 @@ typedef struct otSrpServerResponseCounters const char *otSrpServerGetDomain(otInstance *aInstance); /** - * This function sets the domain on the SRP server. + * Sets the domain on the SRP server. * * A trailing dot will be appended to @p aDomain if it is not already there. - * This function should only be called before the SRP server is enabled. + * Should only be called before the SRP server is enabled. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aDomain The domain to be set. MUST NOT be NULL. @@ -234,7 +176,7 @@ const char *otSrpServerGetDomain(otInstance *aInstance); otError otSrpServerSetDomain(otInstance *aInstance, const char *aDomain); /** - * This function returns the state of the SRP server. + * Returns the state of the SRP server. * * @param[in] aInstance A pointer to an OpenThread instance. * @@ -244,7 +186,7 @@ otError otSrpServerSetDomain(otInstance *aInstance, const char *aDomain); otSrpServerState otSrpServerGetState(otInstance *aInstance); /** - * This function returns the port the SRP server is listening to. + * Returns the port the SRP server is listening to. * * @param[in] aInstance A pointer to an OpenThread instance. * @@ -254,7 +196,7 @@ otSrpServerState otSrpServerGetState(otInstance *aInstance); uint16_t otSrpServerGetPort(otInstance *aInstance); /** - * This function returns the address mode being used by the SRP server. + * Returns the address mode being used by the SRP server. * * @param[in] aInstance A pointer to an OpenThread instance. * @@ -264,7 +206,7 @@ uint16_t otSrpServerGetPort(otInstance *aInstance); otSrpServerAddressMode otSrpServerGetAddressMode(otInstance *aInstance); /** - * This function sets the address mode to be used by the SRP server. + * Sets the address mode to be used by the SRP server. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aMode The address mode to use. @@ -276,7 +218,7 @@ otSrpServerAddressMode otSrpServerGetAddressMode(otInstance *aInstance); otError otSrpServerSetAddressMode(otInstance *aInstance, otSrpServerAddressMode aMode); /** - * This function returns the sequence number used with anycast address mode. + * Returns the sequence number used with anycast address mode. * * The sequence number is included in "DNS/SRP Service Anycast Address" entry published in the Network Data. * @@ -288,7 +230,7 @@ otError otSrpServerSetAddressMode(otInstance *aInstance, otSrpServerAddressMode uint8_t otSrpServerGetAnycastModeSequenceNumber(otInstance *aInstance); /** - * This function sets the sequence number used with anycast address mode. + * Sets the sequence number used with anycast address mode. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aSequenceNumber The sequence number to use. @@ -300,7 +242,7 @@ uint8_t otSrpServerGetAnycastModeSequenceNumber(otInstance *aInstance); otError otSrpServerSetAnycastModeSequenceNumber(otInstance *aInstance, uint8_t aSequenceNumber); /** - * This function enables/disables the SRP server. + * Enables/disables the SRP server. * * On a Border Router, it is recommended to use `otSrpServerSetAutoEnableMode()` instead. * @@ -311,9 +253,9 @@ otError otSrpServerSetAnycastModeSequenceNumber(otInstance *aInstance, uint8_t a void otSrpServerSetEnabled(otInstance *aInstance, bool aEnabled); /** - * This function enables/disables the auto-enable mode on SRP server. + * Enables/disables the auto-enable mode on SRP server. * - * This function requires `OPENTHREAD_CONFIG_BORDER_ROUTING_ENABLE` feature. + * Requires `OPENTHREAD_CONFIG_BORDER_ROUTING_ENABLE` feature. * * When this mode is enabled, the Border Routing Manager controls if/when to enable or disable the SRP server. * SRP sever is auto-enabled if/when Border Routing is started and it is done with the initial prefix and route @@ -327,15 +269,15 @@ void otSrpServerSetEnabled(otInstance *aInstance, bool aEnabled); * it stays enabled). * * @param[in] aInstance A pointer to an OpenThread instance. - * @param[in] aEnbaled A boolean to enable/disable the auto-enable mode. + * @param[in] aEnabled A boolean to enable/disable the auto-enable mode. * */ void otSrpServerSetAutoEnableMode(otInstance *aInstance, bool aEnabled); /** - * This function indicates whether the auto-enable mode is enabled or disabled. + * Indicates whether the auto-enable mode is enabled or disabled. * - * This function requires `OPENTHREAD_CONFIG_BORDER_ROUTING_ENABLE` feature. + * Requires `OPENTHREAD_CONFIG_BORDER_ROUTING_ENABLE` feature. * * @param[in] aInstance A pointer to an OpenThread instance. * @@ -346,7 +288,7 @@ void otSrpServerSetAutoEnableMode(otInstance *aInstance, bool aEnabled); bool otSrpServerIsAutoEnableMode(otInstance *aInstance); /** - * This function returns SRP server TTL configuration. + * Returns SRP server TTL configuration. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[out] aTtlConfig A pointer to an `otSrpServerTtlConfig` instance. @@ -355,7 +297,7 @@ bool otSrpServerIsAutoEnableMode(otInstance *aInstance); void otSrpServerGetTtlConfig(otInstance *aInstance, otSrpServerTtlConfig *aTtlConfig); /** - * This function sets SRP server TTL configuration. + * Sets SRP server TTL configuration. * * The granted TTL will always be no greater than the max lease interval configured via `otSrpServerSetLeaseConfig()`, * regardless of the minimum and maximum TTL configuration. @@ -370,7 +312,7 @@ void otSrpServerGetTtlConfig(otInstance *aInstance, otSrpServerTtlConfig *aTtlCo otError otSrpServerSetTtlConfig(otInstance *aInstance, const otSrpServerTtlConfig *aTtlConfig); /** - * This function returns SRP server LEASE and KEY-LEASE configurations. + * Returns SRP server LEASE and KEY-LEASE configurations. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[out] aLeaseConfig A pointer to an `otSrpServerLeaseConfig` instance. @@ -379,7 +321,7 @@ otError otSrpServerSetTtlConfig(otInstance *aInstance, const otSrpServerTtlConfi void otSrpServerGetLeaseConfig(otInstance *aInstance, otSrpServerLeaseConfig *aLeaseConfig); /** - * This function sets SRP server LEASE and KEY-LEASE configurations. + * Sets SRP server LEASE and KEY-LEASE configurations. * * When a non-zero LEASE time is requested from a client, the granted value will be * limited in range [aMinLease, aMaxLease]; and a non-zero KEY-LEASE will be granted @@ -396,9 +338,9 @@ void otSrpServerGetLeaseConfig(otInstance *aInstance, otSrpServerLeaseConfig *aL otError otSrpServerSetLeaseConfig(otInstance *aInstance, const otSrpServerLeaseConfig *aLeaseConfig); /** - * This function handles SRP service updates. + * Handles SRP service updates. * - * This function is called by the SRP server to notify that a SRP host and possibly SRP services + * Is called by the SRP server to notify that a SRP host and possibly SRP services * are being updated. It is important that the SRP updates are not committed until the handler * returns the result by calling otSrpServerHandleServiceUpdateResult or times out after @p aTimeout. * @@ -434,7 +376,7 @@ typedef void (*otSrpServerServiceUpdateHandler)(otSrpServerServiceUpdateId aId, void *aContext); /** - * This function sets the SRP service updates handler on SRP server. + * Sets the SRP service updates handler on SRP server. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aServiceHandler A pointer to a service handler. Use NULL to remove the handler. @@ -447,7 +389,7 @@ void otSrpServerSetServiceUpdateHandler(otInstance *aInstanc void *aContext); /** - * This function reports the result of processing a SRP update to the SRP server. + * Reports the result of processing a SRP update to the SRP server. * * The Service Update Handler should call this function to return the result of its * processing of a SRP update. @@ -462,7 +404,7 @@ void otSrpServerSetServiceUpdateHandler(otInstance *aInstanc void otSrpServerHandleServiceUpdateResult(otInstance *aInstance, otSrpServerServiceUpdateId aId, otError aError); /** - * This function returns the next registered host on the SRP server. + * Returns the next registered host on the SRP server. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aHost A pointer to current host; use NULL to get the first host. @@ -473,7 +415,7 @@ void otSrpServerHandleServiceUpdateResult(otInstance *aInstance, otSrpServerServ const otSrpServerHost *otSrpServerGetNextHost(otInstance *aInstance, const otSrpServerHost *aHost); /** - * This function returns the response counters of the SRP server. + * Returns the response counters of the SRP server. * * @param[in] aInstance A pointer to an OpenThread instance. * @@ -483,7 +425,7 @@ const otSrpServerHost *otSrpServerGetNextHost(otInstance *aInstance, const otSrp const otSrpServerResponseCounters *otSrpServerGetResponseCounters(otInstance *aInstance); /** - * This function tells if the SRP service host has been deleted. + * Tells if the SRP service host has been deleted. * * A SRP service host can be deleted but retains its name for future uses. * In this case, the host instance is not removed from the SRP server/registry. @@ -496,7 +438,7 @@ const otSrpServerResponseCounters *otSrpServerGetResponseCounters(otInstance *aI bool otSrpServerHostIsDeleted(const otSrpServerHost *aHost); /** - * This function returns the full name of the host. + * Returns the full name of the host. * * @param[in] aHost A pointer to the SRP service host. * @@ -506,7 +448,22 @@ bool otSrpServerHostIsDeleted(const otSrpServerHost *aHost); const char *otSrpServerHostGetFullName(const otSrpServerHost *aHost); /** - * This function returns the addresses of given host. + * Indicates whether the host matches a given host name. + * + * DNS name matches are performed using a case-insensitive string comparison (i.e., "Abc" and "aBc" are considered to + * be the same). + * + * @param[in] aHost A pointer to the SRP service host. + * @param[in] aFullName A full host name. + * + * @retval TRUE If host matches the host name. + * @retval FALSE If host does not match the host name. + * + */ +bool otSrpServerHostMatchesFullName(const otSrpServerHost *aHost, const char *aFullName); + +/** + * Returns the addresses of given host. * * @param[in] aHost A pointer to the SRP service host. * @param[out] aAddressesNum A pointer to where we should output the number of the addresses to. @@ -517,7 +474,7 @@ const char *otSrpServerHostGetFullName(const otSrpServerHost *aHost); const otIp6Address *otSrpServerHostGetAddresses(const otSrpServerHost *aHost, uint8_t *aAddressesNum); /** - * This function returns the LEASE and KEY-LEASE information of a given host. + * Returns the LEASE and KEY-LEASE information of a given host. * * @param[in] aHost A pointer to the SRP server host. * @param[out] aLeaseInfo A pointer to where to output the LEASE and KEY-LEASE information. @@ -526,10 +483,7 @@ const otIp6Address *otSrpServerHostGetAddresses(const otSrpServerHost *aHost, ui void otSrpServerHostGetLeaseInfo(const otSrpServerHost *aHost, otSrpServerLeaseInfo *aLeaseInfo); /** - * This function returns the next service (excluding any sub-type services) of given host. - * - * @note This function is being deprecated and will be removed. `otSrpServerHostFindNextService()` can be used - * instead. + * Returns the next service of given host. * * @param[in] aHost A pointer to the SRP service host. * @param[in] aService A pointer to current SRP service instance; use NULL to get the first service. @@ -541,125 +495,136 @@ const otSrpServerService *otSrpServerHostGetNextService(const otSrpServerHost const otSrpServerService *aService); /** - * This function finds the next matching service on the host. + * Indicates whether or not the SRP service has been deleted. * - * The combination of flags and service and instance names enables iterating over the full list of services and/or a - * subset of them matching certain conditions, or finding a specific service. + * A SRP service can be deleted but retains its name for future uses. + * In this case, the service instance is not removed from the SRP server/registry. + * It is guaranteed that all services are deleted if the host is deleted. + * + * @param[in] aService A pointer to the SRP service. * - * To iterate over all services of a host: - * service = otSrpServerHostFindNextService(host, service, OT_SRP_SERVER_FLAGS_ANY_SERVICE, NULL, NULL); + * @returns TRUE if the service has been deleted, FALSE if not. + * + */ +bool otSrpServerServiceIsDeleted(const otSrpServerService *aService); + +/** + * Returns the full service instance name of the service. * - * To iterate over base services only (exclude sub-types): - * service = otSrpServerHostFindNextService(host, service, OT_SRP_SERVER_FLAGS_BASE_TYPE_SERVICE_ONLY, NULL, NULL); + * @param[in] aService A pointer to the SRP service. * - * To iterate over sub-types of a specific instance name `instanceName`: - * service = otSrpServerHostFindNextService(host, service, OT_SRP_SERVER_FLAGS_SUB_TYPE_SERVICE_ONLY, NULL, - * instanceName); + * @returns A pointer to the null-terminated service instance name string. * - * To find a specific service with service name `serviceName` and service instance name `instanceName`: - * service = otSrpServerHostFindNextService(host, NULL, OT_SRP_SERVER_FLAGS_ANY_SERVICE, serviceName, instanceName); + */ +const char *otSrpServerServiceGetInstanceName(const otSrpServerService *aService); + +/** + * Indicates whether this service matches a given service instance name. * - * To find the base type service with a given service instance name `instanceName`: - * service = otSrpServerHostFindNextService(host, NULL, OT_SRP_SERVER_FLAGS_BASE_TYPE_SERVICE_ONLY, NULL, - * instanceName); + * DNS name matches are performed using a case-insensitive string comparison (i.e., "Abc" and "aBc" are considered to + * be the same). * - * @param[in] aHost A pointer to the SRP service host (MUST NOT be NULL). - * @param[in] aPrevService A pointer to the previous service or NULL to start from the beginning of the list. - * @param[in] aFlags Flags indicating which services to include (base/sub-type, active/deleted). - * @param[in] aServiceName The service name to match. Set to NULL to accept any name. - * @param[in] aInstanceName The service instance name to match. Set to NULL to accept any name. + * @param[in] aService A pointer to the SRP service. + * @param[in] aInstanceName The service instance name. * - * @returns A pointer to the next matching service or NULL if no matching service could be found. + * @retval TRUE If service matches the service instance name. + * @retval FALSE If service does not match the service instance name. * */ -const otSrpServerService *otSrpServerHostFindNextService(const otSrpServerHost *aHost, - const otSrpServerService *aPrevService, - otSrpServerServiceFlags aFlags, - const char *aServiceName, - const char *aInstanceName); +bool otSrpServerServiceMatchesInstanceName(const otSrpServerService *aService, const char *aInstanceName); /** - * This function indicates whether or not the SRP service has been deleted. - * - * A SRP service can be deleted but retains its name for future uses. - * In this case, the service instance is not removed from the SRP server/registry. - * It is guaranteed that all services are deleted if the host is deleted. + * Returns the service instance label (first label in instance name) of the service. * * @param[in] aService A pointer to the SRP service. * - * @returns TRUE if the service has been deleted, FALSE if not. + * @returns A pointer to the null-terminated service instance label string.. * */ -bool otSrpServerServiceIsDeleted(const otSrpServerService *aService); +const char *otSrpServerServiceGetInstanceLabel(const otSrpServerService *aService); /** - * This function indicates whether or not the SRP service is sub-type. + * Returns the full service name of the service. * * @param[in] aService A pointer to the SRP service. * - * @returns TRUE if the service is a sub-type, FALSE if not. + * @returns A pointer to the null-terminated service name string. * */ -bool otSrpServerServiceIsSubType(const otSrpServerService *aService); +const char *otSrpServerServiceGetServiceName(const otSrpServerService *aService); /** - * This function returns the full service instance name of the service. + * Indicates whether this service matches a given service name. * - * @note This function is being deprecated and will be removed. `otSrpServerServiceGetInstanceName()` can be used - * instead. + * DNS name matches are performed using a case-insensitive string comparison (i.e., "Abc" and "aBc" are considered to + * be the same). * - * @param[in] aService A pointer to the SRP service. + * @param[in] aService A pointer to the SRP service. + * @param[in] aServiceName The service name. * - * @returns A pointer to the null-terminated service instance name string. + * @retval TRUE If service matches the service name. + * @retval FALSE If service does not match the service name. * */ -const char *otSrpServerServiceGetFullName(const otSrpServerService *aService); +bool otSrpServerServiceMatchesServiceName(const otSrpServerService *aService, const char *aServiceName); /** - * This function returns the full service instance name of the service. + * Gets the number of sub-types of the service. * * @param[in] aService A pointer to the SRP service. * - * @returns A pointer to the null-terminated service instance name string. + * @returns The number of sub-types of @p aService. * */ -const char *otSrpServerServiceGetInstanceName(const otSrpServerService *aService); +uint16_t otSrpServerServiceGetNumberOfSubTypes(const otSrpServerService *aService); /** - * This function returns the full service name of the service. + * Gets the sub-type service name (full name) of the service at a given index + * + * The full service name for a sub-type service follows "._sub...". * * @param[in] aService A pointer to the SRP service. + * @param[in] aIndex The index to get. * - * @returns A pointer to the null-terminated service name string. + * @returns A pointer to sub-type service name at @p aIndex, or `NULL` if no sub-type at this index. * */ -const char *otSrpServerServiceGetServiceName(const otSrpServerService *aService); +const char *otSrpServerServiceGetSubTypeServiceNameAt(const otSrpServerService *aService, uint16_t aIndex); /** - * This function gets the sub-type label from service name. + * Indicates whether or not the service has a given sub-type. + * + * DNS name matches are performed using a case-insensitive string comparison (i.e., "Abc" and "aBc" are considered to + * be the same). + * + * @param[in] aService A pointer to the SRP service. + * @param[in] aSubTypeServiceName The sub-type service name (full name) to check. * - * This function is intended to be used when the @p aService is a sub-type, i.e., `otSrpServerServiceIsSubType()` for - * the service returns TRUE. If it is not a sub-type this function returns `OT_ERROR_INVALID_ARGS`. + * @retval TRUE Service contains the sub-type @p aSubTypeServiceName. + * @retval FALSE Service does not contain the sub-type @p aSubTypeServiceName. * - * The full service name for a sub-type service follows "._sub...". This function - * copies the `` into the @p aLabel buffer. + */ +bool otSrpServerServiceHasSubTypeServiceName(const otSrpServerService *aService, const char *aSubTypeServiceName); + +/** + * Parses a sub-type service name (full name) and extracts the sub-type label. * - * The @p aLabel is ensured to always be null-terminated after returning even in case of failure. + * The full service name for a sub-type service follows "._sub...". * - * @param[in] aService A pointer to the SRP service. - * @param[out] aLabel A pointer to a buffer to copy the sub-type label name into. - * @param[in] aMaxSize Maximum size of @p aLabel buffer. + * @param[in] aSubTypeServiceName A sub-type service name (full name). + * @param[out] aLabel A pointer to a buffer to copy the extracted sub-type label. + * @param[in] aLabelSize Maximum size of @p aLabel buffer. * - * @retval OT_ERROR_NONE @p aLabel was updated successfully. + * @retval OT_ERROR_NONE Name was successfully parsed and @p aLabel was updated. * @retval OT_ERROR_NO_BUFS The sub-type label could not fit in @p aLabel buffer (number of chars from label * that could fit are copied in @p aLabel ensuring it is null-terminated). - * @retval OT_ERROR_INVALID_ARGS SRP service is not a sub-type. + * @retval OT_ERROR_INVALID_ARGS @p aSubTypeServiceName is not a valid sub-type format. * */ -otError otSrpServerServiceGetServiceSubTypeLabel(const otSrpServerService *aService, char *aLabel, uint8_t aMaxSize); +otError otSrpServerParseSubTypeServiceName(const char *aSubTypeServiceName, char *aLabel, uint8_t aLabelSize); /** - * This function returns the port of the service instance. + * Returns the port of the service instance. * * @param[in] aService A pointer to the SRP service. * @@ -669,7 +634,7 @@ otError otSrpServerServiceGetServiceSubTypeLabel(const otSrpServerService *aServ uint16_t otSrpServerServiceGetPort(const otSrpServerService *aService); /** - * This function returns the weight of the service instance. + * Returns the weight of the service instance. * * @param[in] aService A pointer to the SRP service. * @@ -679,7 +644,7 @@ uint16_t otSrpServerServiceGetPort(const otSrpServerService *aService); uint16_t otSrpServerServiceGetWeight(const otSrpServerService *aService); /** - * This function returns the priority of the service instance. + * Returns the priority of the service instance. * * @param[in] aService A pointer to the SRP service. * @@ -689,7 +654,7 @@ uint16_t otSrpServerServiceGetWeight(const otSrpServerService *aService); uint16_t otSrpServerServiceGetPriority(const otSrpServerService *aService); /** - * This function returns the TTL of the service instance. + * Returns the TTL of the service instance. * * @param[in] aService A pointer to the SRP service. * @@ -699,7 +664,7 @@ uint16_t otSrpServerServiceGetPriority(const otSrpServerService *aService); uint32_t otSrpServerServiceGetTtl(const otSrpServerService *aService); /** - * This function returns the TXT record data of the service instance. + * Returns the TXT record data of the service instance. * * @param[in] aService A pointer to the SRP service. * @param[out] aDataLength A pointer to return the TXT record data length. MUST NOT be NULL. @@ -710,7 +675,7 @@ uint32_t otSrpServerServiceGetTtl(const otSrpServerService *aService); const uint8_t *otSrpServerServiceGetTxtData(const otSrpServerService *aService, uint16_t *aDataLength); /** - * This function returns the host which the service instance reside on. + * Returns the host which the service instance reside on. * * @param[in] aService A pointer to the SRP service. * @@ -720,7 +685,7 @@ const uint8_t *otSrpServerServiceGetTxtData(const otSrpServerService *aService, const otSrpServerHost *otSrpServerServiceGetHost(const otSrpServerService *aService); /** - * This function returns the LEASE and KEY-LEASE information of a given service. + * Returns the LEASE and KEY-LEASE information of a given service. * * @param[in] aService A pointer to the SRP server service. * @param[out] aLeaseInfo A pointer to where to output the LEASE and KEY-LEASE information. diff --git a/openthread/include/openthread/tcp.h b/openthread/include/openthread/tcp.h index 910831a011..caa0d4efdc 100644 --- a/openthread/include/openthread/tcp.h +++ b/openthread/include/openthread/tcp.h @@ -225,11 +225,11 @@ typedef void (*otTcpDisconnected)(otTcpEndpoint *aEndpoint, otTcpDisconnectedRea * opaque in its declaration, is treated as struct tcpcb in the TCP * implementation. */ -#define OT_TCP_ENDPOINT_TCB_SIZE_BASE 368 +#define OT_TCP_ENDPOINT_TCB_SIZE_BASE 392 #define OT_TCP_ENDPOINT_TCB_NUM_PTR 36 /** - * This structure represents a TCP endpoint. + * Represents a TCP endpoint. * * An TCP endpoint acts an endpoint of TCP connection. It can be used to * initiate TCP connections, and, once a TCP connection is established, send @@ -266,7 +266,7 @@ struct otTcpEndpoint }; /** - * This structure contains arguments to the otTcpEndpointInitialize() function. + * Contains arguments to the otTcpEndpointInitialize() function. * */ typedef struct otTcpEndpointInitializeArgs @@ -390,7 +390,7 @@ const otSockAddr *otTcpGetPeerAddress(const otTcpEndpoint *aEndpoint); otError otTcpBind(otTcpEndpoint *aEndpoint, const otSockAddr *aSockName); /** - * This enumeration defines flags passed to otTcpConnect(). + * Defines flags passed to otTcpConnect(). * */ enum @@ -401,11 +401,16 @@ enum /** * Records the remote host and port for this connection. * - * By default TCP Fast Open is used. This means that this function merely - * records the remote host and port, and that the TCP connection establishment - * handshake only happens on the first call to otTcpSendByReference(). TCP Fast - * Open can be explicitly disabled using @p aFlags, in which case the TCP - * connection establishment handshake is initiated immediately. + * TCP Fast Open must be enabled or disabled using @p aFlags. If it is + * disabled, then the TCP connection establishment handshake is initiated + * immediately. If it is enabled, then this function merely records the + * the remote host and port, and the TCP connection establishment handshake + * only happens on the first call to `otTcpSendByReference()`. + * + * If TCP Fast Open is disabled, then the caller must wait for the + * `otTcpEstablished` callback indicating that TCP connection establishment + * handshake is done before it can start sending data e.g., by calling + * `otTcpSendByReference()`. * * @param[in] aEndpoint A pointer to the TCP endpoint structure to connect. * @param[in] aSockName The IP address and port of the host to which to connect. @@ -418,7 +423,7 @@ enum otError otTcpConnect(otTcpEndpoint *aEndpoint, const otSockAddr *aSockName, uint32_t aFlags); /** - * This enumeration defines flags passed to @p otTcpSendByReference. + * Defines flags passed to @p otTcpSendByReference. * */ enum @@ -582,7 +587,7 @@ struct otTcpListener; typedef struct otTcpListener otTcpListener; /** - * This enumeration defines incoming connection actions. + * Defines incoming connection actions. * * This is used in otTcpAcceptReady() callback. * @@ -656,7 +661,7 @@ typedef void (*otTcpAcceptDone)(otTcpListener *aListener, otTcpEndpoint *aEndpoi #define OT_TCP_LISTENER_TCB_NUM_PTR 3 /** - * This structure represents a TCP listener. + * Represents a TCP listener. * * A TCP listener is used to listen for and accept incoming TCP connections. * @@ -681,7 +686,7 @@ struct otTcpListener }; /** - * This structure contains arguments to the otTcpListenerInitialize() function. + * Contains arguments to the otTcpListenerInitialize() function. * */ typedef struct otTcpListenerInitializeArgs diff --git a/openthread/include/openthread/tcp_ext.h b/openthread/include/openthread/tcp_ext.h index 0258ac28bf..9ac705b9f1 100644 --- a/openthread/include/openthread/tcp_ext.h +++ b/openthread/include/openthread/tcp_ext.h @@ -53,7 +53,7 @@ extern "C" { */ /** - * This structure represents a circular send buffer for use with a TCP endpoint. + * Represents a circular send buffer for use with a TCP endpoint. * * Using a circular send buffer is optional. Applications can use a TCP * endpoint to send data by managing otLinkedBuffers directly. However, some @@ -108,7 +108,7 @@ typedef struct otTcpCircularSendBuffer void otTcpCircularSendBufferInitialize(otTcpCircularSendBuffer *aSendBuffer, void *aDataBuffer, size_t aCapacity); /** - * This enumeration defines flags passed to @p otTcpCircularSendBufferWrite. + * Defines flags passed to @p otTcpCircularSendBufferWrite. * */ enum diff --git a/openthread/include/openthread/thread.h b/openthread/include/openthread/thread.h index e541648e94..cb0d6bda24 100644 --- a/openthread/include/openthread/thread.h +++ b/openthread/include/openthread/thread.h @@ -74,7 +74,7 @@ typedef enum } otDeviceRole; /** - * This structure represents an MLE Link Mode configuration. + * Represents an MLE Link Mode configuration. */ typedef struct otLinkModeConfig { @@ -84,13 +84,14 @@ typedef struct otLinkModeConfig } otLinkModeConfig; /** - * This structure holds diagnostic information for a neighboring Thread node + * Holds diagnostic information for a neighboring Thread node * */ typedef struct { otExtAddress mExtAddress; ///< IEEE 802.15.4 Extended Address - uint32_t mAge; ///< Time last heard + uint32_t mAge; ///< Seconds since last heard + uint32_t mConnectionTime; ///< Seconds since link establishment (requires `CONFIG_UPTIME_ENABLE`) uint16_t mRloc16; ///< RLOC16 uint32_t mLinkFrameCounter; ///< Link Frame Counter uint32_t mMleFrameCounter; ///< MLE Frame Counter @@ -112,7 +113,7 @@ typedef struct typedef int16_t otNeighborInfoIterator; ///< Used to iterate through neighbor table. /** - * This structure represents the Thread Leader Data. + * Represents the Thread Leader Data. * */ typedef struct otLeaderData @@ -125,7 +126,7 @@ typedef struct otLeaderData } otLeaderData; /** - * This structure holds diagnostic information for a Thread Router + * Holds diagnostic information for a Thread Router * */ typedef struct @@ -151,7 +152,7 @@ typedef struct } otRouterInfo; /** - * This structure represents the IP level counters. + * Represents the IP level counters. * */ typedef struct otIpCounters @@ -163,7 +164,7 @@ typedef struct otIpCounters } otIpCounters; /** - * This structure represents the Thread MLE counters. + * Represents the Thread MLE counters. * */ typedef struct otMleCounters @@ -202,7 +203,7 @@ typedef struct otMleCounters } otMleCounters; /** - * This structure represents the MLE Parent Response data. + * Represents the MLE Parent Response data. * */ typedef struct otThreadParentResponseInfo @@ -226,7 +227,7 @@ typedef struct otThreadParentResponseInfo typedef void (*otDetachGracefullyCallback)(void *aContext); /** - * This function starts Thread protocol operation. + * Starts Thread protocol operation. * * The interface must be up when calling this function. * @@ -243,7 +244,7 @@ typedef void (*otDetachGracefullyCallback)(void *aContext); otError otThreadSetEnabled(otInstance *aInstance, bool aEnabled); /** - * This function gets the Thread protocol version. + * Gets the Thread protocol version. * * @returns the Thread protocol version. * @@ -251,7 +252,7 @@ otError otThreadSetEnabled(otInstance *aInstance, bool aEnabled); uint16_t otThreadGetVersion(void); /** - * This function indicates whether a node is the only router on the network. + * Indicates whether a node is the only router on the network. * * @param[in] aInstance A pointer to an OpenThread instance. * @@ -262,7 +263,9 @@ uint16_t otThreadGetVersion(void); bool otThreadIsSingleton(otInstance *aInstance); /** - * This function starts a Thread Discovery scan. + * Starts a Thread Discovery scan. + * + * @note A successful call to this function enables the rx-on-when-idle mode for the entire scan procedure. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aScanChannels A bit vector indicating which channels to scan (e.g. OT_CHANNEL_11_MASK). @@ -288,7 +291,7 @@ otError otThreadDiscover(otInstance *aInstance, void *aCallbackContext); /** - * This function determines if an MLE Thread Discovery is currently in progress. + * Determines if an MLE Thread Discovery is currently in progress. * * @param[in] aInstance A pointer to an OpenThread instance. * @@ -296,7 +299,7 @@ otError otThreadDiscover(otInstance *aInstance, bool otThreadIsDiscoverInProgress(otInstance *aInstance); /** - * This method sets the Thread Joiner Advertisement when discovering Thread network. + * Sets the Thread Joiner Advertisement when discovering Thread network. * * Thread Joiner Advertisement is used to allow a Joiner to advertise its own application-specific information * (such as Vendor ID, Product ID, Discriminator, etc.) via a newly-proposed Joiner Advertisement TLV, @@ -373,7 +376,7 @@ const otExtendedPanId *otThreadGetExtendedPanId(otInstance *aInstance); otError otThreadSetExtendedPanId(otInstance *aInstance, const otExtendedPanId *aExtendedPanId); /** - * This function returns a pointer to the Leader's RLOC. + * Returns a pointer to the Leader's RLOC. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[out] aLeaderRloc A pointer to the Leader's RLOC. @@ -414,7 +417,7 @@ otError otThreadSetLinkMode(otInstance *aInstance, otLinkModeConfig aConfig); * Get the Thread Network Key. * * @param[in] aInstance A pointer to an OpenThread instance. - * @param[out] aNetworkKey A pointer to an `otNetworkkey` to return the Thread Network Key. + * @param[out] aNetworkKey A pointer to an `otNetworkKey` to return the Thread Network Key. * * @sa otThreadSetNetworkKey * @@ -424,7 +427,7 @@ void otThreadGetNetworkKey(otInstance *aInstance, otNetworkKey *aNetworkKey); /** * Get the `otNetworkKeyRef` for Thread Network Key. * - * This function requires the build-time feature `OPENTHREAD_CONFIG_PLATFORM_KEY_REFERENCES_ENABLE` to be enabled. + * Requires the build-time feature `OPENTHREAD_CONFIG_PLATFORM_KEY_REFERENCES_ENABLE` to be enabled. * * @param[in] aInstance A pointer to an OpenThread instance. * @@ -438,7 +441,7 @@ otNetworkKeyRef otThreadGetNetworkKeyRef(otInstance *aInstance); /** * Set the Thread Network Key. * - * This function succeeds only when Thread protocols are disabled. A successful + * Succeeds only when Thread protocols are disabled. A successful * call to this function invalidates the Active and Pending Operational Datasets in * non-volatile memory. * @@ -456,11 +459,11 @@ otError otThreadSetNetworkKey(otInstance *aInstance, const otNetworkKey *aKey); /** * Set the Thread Network Key as a `otNetworkKeyRef`. * - * This function succeeds only when Thread protocols are disabled. A successful + * Succeeds only when Thread protocols are disabled. A successful * call to this function invalidates the Active and Pending Operational Datasets in * non-volatile memory. * - * This function requires the build-time feature `OPENTHREAD_CONFIG_PLATFORM_KEY_REFERENCES_ENABLE` to be enabled. + * Requires the build-time feature `OPENTHREAD_CONFIG_PLATFORM_KEY_REFERENCES_ENABLE` to be enabled. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aKeyRef Reference to the Thread Network Key. @@ -494,7 +497,7 @@ const otIp6Address *otThreadGetRloc(otInstance *aInstance); const otIp6Address *otThreadGetMeshLocalEid(otInstance *aInstance); /** - * This function returns a pointer to the Mesh Local Prefix. + * Returns a pointer to the Mesh Local Prefix. * * @param[in] aInstance A pointer to an OpenThread instance. * @@ -504,9 +507,9 @@ const otIp6Address *otThreadGetMeshLocalEid(otInstance *aInstance); const otMeshLocalPrefix *otThreadGetMeshLocalPrefix(otInstance *aInstance); /** - * This function sets the Mesh Local Prefix. + * Sets the Mesh Local Prefix. * - * This function succeeds only when Thread protocols are disabled. A successful + * Succeeds only when Thread protocols are disabled. A successful * call to this function invalidates the Active and Pending Operational Datasets in * non-volatile memory. * @@ -566,7 +569,7 @@ const otIp6Address *otThreadGetLinkLocalAllThreadNodesMulticastAddress(otInstanc const otIp6Address *otThreadGetRealmLocalAllThreadNodesMulticastAddress(otInstance *aInstance); /** - * This function retrieves the Service ALOC for given Service ID. + * Retrieves the Service ALOC for given Service ID. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aServiceId Service ID to get ALOC for. @@ -592,7 +595,7 @@ const char *otThreadGetNetworkName(otInstance *aInstance); /** * Set the Thread Network Name. * - * This function succeeds only when Thread protocols are disabled. A successful + * Succeeds only when Thread protocols are disabled. A successful * call to this function invalidates the Active and Pending Operational Datasets in * non-volatile memory. * @@ -748,7 +751,7 @@ otError otThreadBecomeDetached(otInstance *aInstance); otError otThreadBecomeChild(otInstance *aInstance); /** - * This function gets the next neighbor information. It is used to go through the entries of + * Gets the next neighbor information. It is used to go through the entries of * the neighbor table. * * @param[in] aInstance A pointer to an OpenThread instance. @@ -788,7 +791,7 @@ otDeviceRole otThreadGetDeviceRole(otInstance *aInstance); const char *otThreadDeviceRoleToString(otDeviceRole aRole); /** - * This function get the Thread Leader Data. + * Get the Thread Leader Data. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[out] aLeaderData A pointer to where the leader data is placed. @@ -899,6 +902,63 @@ const otIpCounters *otThreadGetIp6Counters(otInstance *aInstance); */ void otThreadResetIp6Counters(otInstance *aInstance); +/** + * Gets the time-in-queue histogram for messages in the TX queue. + * + * Requires `OPENTHREAD_CONFIG_TX_QUEUE_STATISTICS_ENABLE`. + * + * Histogram of the time-in-queue of messages in the transmit queue is collected. The time-in-queue is tracked for + * direct transmissions only and is measured as the duration from when a message is added to the transmit queue until + * it is passed to the MAC layer for transmission or dropped. + * + * The histogram is returned as an array of `uint32_t` values with `aNumBins` entries. The first entry in the array + * (at index 0) represents the number of messages with a time-in-queue less than `aBinInterval`. The second entry + * represents the number of messages with a time-in-queue greater than or equal to `aBinInterval`, but less than + * `2 * aBinInterval`. And so on. The last entry represents the number of messages with time-in-queue greater than or + * equal to `(aNumBins - 1) * aBinInterval`. + * + * The collected statistics can be reset by calling `otThreadResetTimeInQueueStat()`. The histogram information is + * collected since the OpenThread instance was initialized or since the last time statistics collection was reset by + * calling the `otThreadResetTimeInQueueStat()`. + * + * Pointers @p aNumBins and @p aBinInterval MUST NOT be NULL. + * + * @param[in] aInstance A pointer to an OpenThread instance. + * @param[out] aNumBins Pointer to return the number of bins in histogram (array length). + * @param[out] aBinInterval Pointer to return the histogram bin interval length in milliseconds. + * + * @returns A pointer to an array of @p aNumBins entries representing the collected histogram info. + * + */ +const uint32_t *otThreadGetTimeInQueueHistogram(otInstance *aInstance, uint16_t *aNumBins, uint32_t *aBinInterval); + +/** + * Gets the maximum time-in-queue for messages in the TX queue. + * + * Requires `OPENTHREAD_CONFIG_TX_QUEUE_STATISTICS_ENABLE`. + * + * The time-in-queue is tracked for direct transmissions only and is measured as the duration from when a message is + * added to the transmit queue until it is passed to the MAC layer for transmission or dropped. + * + * The collected statistics can be reset by calling `otThreadResetTimeInQueueStat()`. + * + * @param[in] aInstance A pointer to an OpenThread instance. + * + * @returns The maximum time-in-queue in milliseconds for all messages in the TX queue (so far). + * + */ +uint32_t otThreadGetMaxTimeInQueue(otInstance *aInstance); + +/** + * Resets the TX queue time-in-queue statistics. + * + * Requires `OPENTHREAD_CONFIG_TX_QUEUE_STATISTICS_ENABLE`. + * + * @param[in] aInstance A pointer to an OpenThread instance. + * + */ +void otThreadResetTimeInQueueStat(otInstance *aInstance); + /** * Gets the Thread MLE counters. * @@ -918,7 +978,9 @@ const otMleCounters *otThreadGetMleCounters(otInstance *aInstance); void otThreadResetMleCounters(otInstance *aInstance); /** - * This function pointer is called every time an MLE Parent Response message is received. + * Pointer is called every time an MLE Parent Response message is received. + * + * This is used in `otThreadRegisterParentResponseCallback()`. * * @param[in] aInfo A pointer to a location on stack holding the stats data. * @param[in] aContext A pointer to callback client-specific context. @@ -927,7 +989,9 @@ void otThreadResetMleCounters(otInstance *aInstance); typedef void (*otThreadParentResponseCallback)(otThreadParentResponseInfo *aInfo, void *aContext); /** - * This function registers a callback to receive MLE Parent Response data. + * Registers a callback to receive MLE Parent Response data. + * + * Requires `OPENTHREAD_CONFIG_MLE_PARENT_RESPONSE_CALLBACK_API_ENABLE`. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aCallback A pointer to a function that is called upon receiving an MLE Parent Response message. @@ -939,7 +1003,7 @@ void otThreadRegisterParentResponseCallback(otInstance *aInst void *aContext); /** - * This structure represents the Thread Discovery Request data. + * Represents the Thread Discovery Request data. * */ typedef struct otThreadDiscoveryRequestInfo @@ -950,7 +1014,7 @@ typedef struct otThreadDiscoveryRequestInfo } otThreadDiscoveryRequestInfo; /** - * This function pointer is called every time an MLE Discovery Request message is received. + * Pointer is called every time an MLE Discovery Request message is received. * * @param[in] aInfo A pointer to the Discovery Request info data. * @param[in] aContext A pointer to callback application-specific context. @@ -959,7 +1023,7 @@ typedef struct otThreadDiscoveryRequestInfo typedef void (*otThreadDiscoveryRequestCallback)(const otThreadDiscoveryRequestInfo *aInfo, void *aContext); /** - * This function sets a callback to receive MLE Discovery Request data. + * Sets a callback to receive MLE Discovery Request data. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aCallback A pointer to a function that is called upon receiving an MLE Discovery Request message. @@ -971,7 +1035,7 @@ void otThreadSetDiscoveryRequestCallback(otInstance *aInsta void *aContext); /** - * This function pointer type defines the callback to notify the outcome of a `otThreadLocateAnycastDestination()` + * Pointer type defines the callback to notify the outcome of a `otThreadLocateAnycastDestination()` * request. * * @param[in] aContext A pointer to an arbitrary context (provided when callback is registered). @@ -989,9 +1053,9 @@ typedef void (*otThreadAnycastLocatorCallback)(void *aContext, uint16_t aRloc16); /** - * This function requests the closest destination of a given anycast address to be located. + * Requests the closest destination of a given anycast address to be located. * - * This function is only available when `OPENTHREAD_CONFIG_TMF_ANYCAST_LOCATOR_ENABLE` is enabled. + * Is only available when `OPENTHREAD_CONFIG_TMF_ANYCAST_LOCATOR_ENABLE` is enabled. * * If a previous request is ongoing, a subsequent call to this function will cancel and replace the earlier request. * @@ -1011,9 +1075,9 @@ otError otThreadLocateAnycastDestination(otInstance *aInstanc void *aContext); /** - * This function indicates whether an anycast locate request is currently in progress. + * Indicates whether an anycast locate request is currently in progress. * - * This function is only available when `OPENTHREAD_CONFIG_TMF_ANYCAST_LOCATOR_ENABLE` is enabled. + * Is only available when `OPENTHREAD_CONFIG_TMF_ANYCAST_LOCATOR_ENABLE` is enabled. * * @param[in] aInstance A pointer to an OpenThread instance. * @@ -1023,9 +1087,9 @@ otError otThreadLocateAnycastDestination(otInstance *aInstanc bool otThreadIsAnycastLocateInProgress(otInstance *aInstance); /** - * This function sends a Proactive Address Notification (ADDR_NTF.ntf) message. + * Sends a Proactive Address Notification (ADDR_NTF.ntf) message. * - * This function is only available when `OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE` is enabled. + * Is only available when `OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE` is enabled. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aDestination The destination to send the ADDR_NTF.ntf message. @@ -1039,9 +1103,9 @@ void otThreadSendAddressNotification(otInstance *aInstance, otIp6InterfaceIdentifier *aMlIid); /** - * This function sends a Proactive Backbone Notification (PRO_BB.ntf) message on the Backbone link. + * Sends a Proactive Backbone Notification (PRO_BB.ntf) message on the Backbone link. * - * This function is only available when `OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE` is enabled. + * Is only available when `OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE` is enabled. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aTarget The target address of the PRO_BB.ntf message. @@ -1058,7 +1122,7 @@ otError otThreadSendProactiveBackboneNotification(otInstance *aIns uint32_t aTimeSinceLastTransaction); /** - * This function notifies other nodes in the network (if any) and then stops Thread protocol operation. + * Notifies other nodes in the network (if any) and then stops Thread protocol operation. * * It sends an Address Release if it's a router, or sets its child timeout to 0 if it's a child. * @@ -1072,6 +1136,28 @@ otError otThreadSendProactiveBackboneNotification(otInstance *aIns */ otError otThreadDetachGracefully(otInstance *aInstance, otDetachGracefullyCallback aCallback, void *aContext); +#define OT_DURATION_STRING_SIZE 21 ///< Recommended size for string representation of `uint32_t` duration in seconds. + +/** + * Converts an `uint32_t` duration (in seconds) to a human-readable string. + * + * Requires `OPENTHREAD_CONFIG_UPTIME_ENABLE` to be enabled. + * + * The string follows the format "::" for hours, minutes, seconds (if duration is shorter than one day) or + * "
d.::" (if longer than a day). + * + * If the resulting string does not fit in @p aBuffer (within its @p aSize characters), the string will be truncated + * but the outputted string is always null-terminated. + * + * Is intended for use with `mAge` or `mConnectionTime` in `otNeighborInfo` or `otChildInfo` structures. + * + * @param[in] aDuration A duration interval in seconds. + * @param[out] aBuffer A pointer to a char array to output the string. + * @param[in] aSize The size of @p aBuffer (in bytes). Recommended to use `OT_DURATION_STRING_SIZE`. + * + */ +void otConvertDurationInSecondsToString(uint32_t aDuration, char *aBuffer, uint16_t aSize); + /** * @} * diff --git a/openthread/include/openthread/thread_ftd.h b/openthread/include/openthread/thread_ftd.h index 994ab48511..0928acc88a 100644 --- a/openthread/include/openthread/thread_ftd.h +++ b/openthread/include/openthread/thread_ftd.h @@ -51,14 +51,15 @@ extern "C" { */ /** - * This structure holds diagnostic information for a Thread Child + * Holds diagnostic information for a Thread Child * */ typedef struct { otExtAddress mExtAddress; ///< IEEE 802.15.4 Extended Address uint32_t mTimeout; ///< Timeout - uint32_t mAge; ///< Time last heard + uint32_t mAge; ///< Seconds since last heard + uint64_t mConnectionTime; ///< Seconds since attach (requires `OPENTHREAD_CONFIG_UPTIME_ENABLE`) uint16_t mRloc16; ///< RLOC16 uint16_t mChildId; ///< Child ID uint8_t mNetworkDataVersion; ///< Network Data Version @@ -68,6 +69,7 @@ typedef struct uint16_t mFrameErrorRate; ///< Frame error rate (0xffff->100%). Requires error tracking feature. uint16_t mMessageErrorRate; ///< (IPv6) msg error rate (0xffff->100%). Requires error tracking feature. uint16_t mQueuedMessageCnt; ///< Number of queued messages for the child. + uint16_t mSupervisionInterval; ///< Supervision interval (in seconds). uint8_t mVersion; ///< MLE version bool mRxOnWhenIdle : 1; ///< rx-on-when-idle bool mFullThreadDevice : 1; ///< Full Thread Device @@ -81,7 +83,7 @@ typedef struct typedef uint16_t otChildIp6AddressIterator; ///< Used to iterate through IPv6 addresses of a Thread Child entry. /** - * This enumeration defines the EID cache entry state. + * Defines the EID cache entry state. * */ typedef enum otCacheEntryState @@ -93,7 +95,7 @@ typedef enum otCacheEntryState } otCacheEntryState; /** - * This structure represents an EID cache entry. + * Represents an EID cache entry. * */ typedef struct otCacheEntryInfo @@ -102,6 +104,7 @@ typedef struct otCacheEntryInfo otShortAddress mRloc16; ///< RLOC16 otCacheEntryState mState; ///< Entry state bool mCanEvict : 1; ///< Indicates whether the entry can be evicted. + bool mRampDown : 1; ///< Whether in ramp-down mode while in `OT_CACHE_ENTRY_STATE_RETRY_QUERY`. bool mValidLastTrans : 1; ///< Indicates whether last transaction time and ML-EID are valid. uint32_t mLastTransTime; ///< Last transaction time (applicable in cached state). otIp6Address mMeshLocalEid; ///< Mesh Local EID (applicable if entry in cached state). @@ -110,7 +113,7 @@ typedef struct otCacheEntryInfo } otCacheEntryInfo; /** - * This type represents an iterator used for iterating through the EID cache table entries. + * Represents an iterator used for iterating through the EID cache table entries. * * To initialize the iterator and start from the first entry in the cache table, set all its fields in the structure to * zero (e.g., `memset` the iterator to zero). @@ -151,7 +154,7 @@ uint16_t otThreadGetMaxAllowedChildren(otInstance *aInstance); otError otThreadSetMaxAllowedChildren(otInstance *aInstance, uint16_t aMaxChildren); /** - * This method indicates whether or not the device is router-eligible. + * Indicates whether or not the device is router-eligible. * * @param[in] aInstance A pointer to an OpenThread instance. * @@ -162,7 +165,7 @@ otError otThreadSetMaxAllowedChildren(otInstance *aInstance, uint16_t aMaxChildr bool otThreadIsRouterEligible(otInstance *aInstance); /** - * This function sets whether or not the device is router-eligible. + * Sets whether or not the device is router-eligible. * * If @p aEligible is false and the device is currently operating as a router, this call will cause the device to * detach and attempt to reattach as a child. @@ -195,6 +198,63 @@ otError otThreadSetRouterEligible(otInstance *aInstance, bool aEligible); */ otError otThreadSetPreferredRouterId(otInstance *aInstance, uint8_t aRouterId); +/** + * Represents the power supply property on a device. + * + * This is used as a property in `otDeviceProperties` to calculate the leader weight. + * + */ +typedef enum +{ + OT_POWER_SUPPLY_BATTERY = 0, ///< Battery powered. + OT_POWER_SUPPLY_EXTERNAL = 1, ///< Externally powered (mains-powered). + OT_POWER_SUPPLY_EXTERNAL_STABLE = 2, ///< Stable external power with a battery backup or UPS. + OT_POWER_SUPPLY_EXTERNAL_UNSTABLE = 3, ///< Potentially unstable ext power (e.g. light bulb powered via a switch). +} otPowerSupply; + +/** + * Represents the device properties which are used for calculating the local leader weight on a + * device. + * + * The parameters are set based on device's capability, whether acting as border router, its power supply config, etc. + * + * `mIsUnstable` indicates operational stability of device and is determined via a vendor specific mechanism. It can + * include the following cases: + * - Device internally detects that it loses external power supply more often than usual. What is usual is + * determined by the vendor. + * - Device internally detects that it reboots more often than usual. What is usual is determined by the vendor. + * + */ +typedef struct otDeviceProperties +{ + otPowerSupply mPowerSupply; ///< Power supply config. + bool mIsBorderRouter : 1; ///< Whether device is a border router. + bool mSupportsCcm : 1; ///< Whether device supports CCM (can act as a CCM border router). + bool mIsUnstable : 1; ///< Operational stability of device (vendor specific). + int8_t mLeaderWeightAdjustment; ///< Weight adjustment. Should be -16 to +16 (clamped otherwise). +} otDeviceProperties; + +/** + * Get the current device properties. + * + * Requires `OPENTHREAD_CONFIG_MLE_DEVICE_PROPERTY_LEADER_WEIGHT_ENABLE`. + * + * @returns The device properties `otDeviceProperties`. + * + */ +const otDeviceProperties *otThreadGetDeviceProperties(otInstance *aInstance); + +/** + * Set the device properties which are then used to determine and set the Leader Weight. + * + * Requires `OPENTHREAD_CONFIG_MLE_DEVICE_PROPERTY_LEADER_WEIGHT_ENABLE`. + * + * @param[in] aInstance A pointer to an OpenThread instance. + * @param[in] aDeviceProperties The device properties. + * + */ +void otThreadSetDeviceProperties(otInstance *aInstance, const otDeviceProperties *aDeviceProperties); + /** * Gets the Thread Leader Weight used when operating in the Leader role. * @@ -203,6 +263,7 @@ otError otThreadSetPreferredRouterId(otInstance *aInstance, uint8_t aRouterId); * @returns The Thread Leader Weight value. * * @sa otThreadSetLeaderWeight + * @sa otThreadSetDeviceProperties * */ uint8_t otThreadGetLocalLeaderWeight(otInstance *aInstance); @@ -210,6 +271,9 @@ uint8_t otThreadGetLocalLeaderWeight(otInstance *aInstance); /** * Sets the Thread Leader Weight used when operating in the Leader role. * + * Directly sets the Leader Weight to the new value, replacing its previous value (which may have been + * determined from the current `otDeviceProperties`). + * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aWeight The Thread Leader Weight value. * @@ -304,14 +368,14 @@ uint32_t otThreadGetContextIdReuseDelay(otInstance *aInstance); void otThreadSetContextIdReuseDelay(otInstance *aInstance, uint32_t aDelay); /** - * Get the NETWORK_ID_TIMEOUT parameter used in the Router role. + * Get the `NETWORK_ID_TIMEOUT` parameter. * * @note This API is reserved for testing and demo purposes only. Changing settings with * this API will render a production application non-compliant with the Thread Specification. * * @param[in] aInstance A pointer to an OpenThread instance. * - * @returns The NETWORK_ID_TIMEOUT value. + * @returns The `NETWORK_ID_TIMEOUT` value. * * @sa otThreadSetNetworkIdTimeout * @@ -319,10 +383,13 @@ void otThreadSetContextIdReuseDelay(otInstance *aInstance, uint32_t aDelay); uint8_t otThreadGetNetworkIdTimeout(otInstance *aInstance); /** - * Set the NETWORK_ID_TIMEOUT parameter used in the Leader role. + * Set the `NETWORK_ID_TIMEOUT` parameter. + * + * @note This API is reserved for testing and demo purposes only. Changing settings with + * this API will render a production application non-compliant with the Thread Specification. * * @param[in] aInstance A pointer to an OpenThread instance. - * @param[in] aTimeout The NETWORK_ID_TIMEOUT value. + * @param[in] aTimeout The `NETWORK_ID_TIMEOUT` value. * * @sa otThreadGetNetworkIdTimeout * @@ -511,7 +578,7 @@ otError otThreadGetChildInfoById(otInstance *aInstance, uint16_t aChildId, otChi otError otThreadGetChildInfoByIndex(otInstance *aInstance, uint16_t aChildIndex, otChildInfo *aChildInfo); /** - * This function gets the next IPv6 address (using an iterator) for a given child. + * Gets the next IPv6 address (using an iterator) for a given child. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aChildIndex The child index. @@ -567,7 +634,7 @@ uint8_t otThreadGetMaxRouterId(otInstance *aInstance); otError otThreadGetRouterInfo(otInstance *aInstance, uint16_t aRouterId, otRouterInfo *aRouterInfo); /** - * This function gets the next EID cache entry (using an iterator). + * Gets the next EID cache entry (using an iterator). * * @param[in] aInstance A pointer to an OpenThread instance. * @param[out] aEntryInfo A pointer to where the EID cache entry information is placed. @@ -595,7 +662,7 @@ void otThreadGetPskc(otInstance *aInstance, otPskc *aPskc); /** * Get Key Reference to Thread PSKc stored * - * This function requires the build-time feature `OPENTHREAD_CONFIG_PLATFORM_KEY_REFERENCES_ENABLE` to be enabled. + * Requires the build-time feature `OPENTHREAD_CONFIG_PLATFORM_KEY_REFERENCES_ENABLE` to be enabled. * * @param[in] aInstance A pointer to an OpenThread instance. * @@ -609,7 +676,7 @@ otPskcRef otThreadGetPskcRef(otInstance *aInstance); /** * Set the Thread PSKc * - * This function will only succeed when Thread protocols are disabled. A successful + * Will only succeed when Thread protocols are disabled. A successful * call to this function will also invalidate the Active and Pending Operational Datasets in * non-volatile memory. * @@ -625,12 +692,12 @@ otPskcRef otThreadGetPskcRef(otInstance *aInstance); otError otThreadSetPskc(otInstance *aInstance, const otPskc *aPskc); /** - * Set the Thread PSKc + * Set the Key Reference to the Thread PSKc * - * This function requires the build-time feature `OPENTHREAD_CONFIG_PLATFORM_KEY_REFERENCES_ENABLE` to be enabled. + * Requires the build-time feature `OPENTHREAD_CONFIG_PLATFORM_KEY_REFERENCES_ENABLE` to be enabled. * - * This function will only succeed when Thread protocols are disabled. A successful - * call to this function will also invalidate the Active and Pending Operational Datasets in + * Will only succeed when Thread protocols are disabled. Upon success, + * this will also invalidate the Active and Pending Operational Datasets in * non-volatile memory. * * @param[in] aInstance A pointer to an OpenThread instance. @@ -709,7 +776,7 @@ uint8_t otThreadGetMaxChildIpAddresses(otInstance *aInstance); otError otThreadSetMaxChildIpAddresses(otInstance *aInstance, uint8_t aMaxIpAddresses); /** - * This enumeration defines the constants used in `otNeighborTableCallback` to indicate changes in neighbor table. + * Defines the constants used in `otNeighborTableCallback` to indicate changes in neighbor table. * */ typedef enum @@ -722,7 +789,7 @@ typedef enum } otNeighborTableEvent; /** - * This type represent a neighbor table entry info (child or router) and is used as a parameter in the neighbor table + * Represent a neighbor table entry info (child or router) and is used as a parameter in the neighbor table * callback `otNeighborTableCallback`. * */ @@ -737,7 +804,7 @@ typedef struct } otNeighborTableEntryInfo; /** - * This function pointer is called to notify that there is a change in the neighbor table. + * Pointer is called to notify that there is a change in the neighbor table. * * @param[in] aEvent A event flag. * @param[in] aEntryInfo A pointer to table entry info. @@ -746,7 +813,7 @@ typedef struct typedef void (*otNeighborTableCallback)(otNeighborTableEvent aEvent, const otNeighborTableEntryInfo *aEntryInfo); /** - * This function registers a neighbor table callback function. + * Registers a neighbor table callback function. * * The provided callback (if non-NULL) will be invoked when there is a change in the neighbor table (e.g., a child or a * router neighbor entry is being added/removed or an existing child's mode is changed). @@ -761,7 +828,7 @@ typedef void (*otNeighborTableCallback)(otNeighborTableEvent aEvent, const otNei void otThreadRegisterNeighborTableCallback(otInstance *aInstance, otNeighborTableCallback aCallback); /** - * This function sets whether the device was commissioned using CCM. + * Sets whether the device was commissioned using CCM. * * @note This API requires `OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE`, and is only used by Thread Test Harness * to indicate whether this device was commissioned using CCM. @@ -773,7 +840,7 @@ void otThreadRegisterNeighborTableCallback(otInstance *aInstance, otNeighborTabl void otThreadSetCcmEnabled(otInstance *aInstance, bool aEnabled); /** - * This function sets whether the Security Policy TLV version-threshold for routing (VR field) is enabled. + * Sets whether the Security Policy TLV version-threshold for routing (VR field) is enabled. * * @note This API requires `OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE`, and is only used by Thread Test Harness * to indicate that thread protocol version check VR should be skipped. @@ -785,7 +852,7 @@ void otThreadSetCcmEnabled(otInstance *aInstance, bool aEnabled); void otThreadSetThreadVersionCheckEnabled(otInstance *aInstance, bool aEnabled); /** - * This function gets the range of router IDs that are allowed to assign to nodes within the thread network. + * Gets the range of router IDs that are allowed to assign to nodes within the thread network. * * @note This API requires `OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE`, and is only used for test purpose. All the * router IDs in the range [aMinRouterId, aMaxRouterId] are allowed. @@ -800,7 +867,7 @@ void otThreadSetThreadVersionCheckEnabled(otInstance *aInstance, bool aEnabled); void otThreadGetRouterIdRange(otInstance *aInstance, uint8_t *aMinRouterId, uint8_t *aMaxRouterId); /** - * This function sets the range of router IDs that are allowed to assign to nodes within the thread network. + * Sets the range of router IDs that are allowed to assign to nodes within the thread network. * * @note This API requires `OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE`, and is only used for test purpose. All the * router IDs in the range [aMinRouterId, aMaxRouterId] are allowed. @@ -818,7 +885,17 @@ void otThreadGetRouterIdRange(otInstance *aInstance, uint8_t *aMinRouterId, uint otError otThreadSetRouterIdRange(otInstance *aInstance, uint8_t aMinRouterId, uint8_t aMaxRouterId); /** - * This function indicates whether or not a Router ID is currently allocated. + * Gets the current Interval Max value used by Advertisement trickle timer. + * + * This API requires `OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE`, and is intended for testing only. + * + * @returns The Interval Max of Advertisement trickle timer in milliseconds. + * + */ +uint32_t otThreadGetAdvertisementTrickleIntervalMax(otInstance *aInstance); + +/** + * Indicates whether or not a Router ID is currently allocated. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aRouterId The router ID to check. @@ -830,13 +907,13 @@ otError otThreadSetRouterIdRange(otInstance *aInstance, uint8_t aMinRouterId, ui bool otThreadIsRouterIdAllocated(otInstance *aInstance, uint8_t aRouterId); /** - * This function gets the next hop and path cost towards a given RLOC16 destination. + * Gets the next hop and path cost towards a given RLOC16 destination. * - * This function can be used with either @p aNextHopRloc16 or @p aPathCost being NULL indicating caller does not want + * Can be used with either @p aNextHopRloc16 or @p aPathCost being NULL indicating caller does not want * to get the value. * * @param[in] aInstance A pointer to an OpenThread instance. - * @param[in] aDesRloct16 The RLOC16 of destination. + * @param[in] aDestRloc16 The RLOC16 of destination. * @param[out] aNextHopRloc16 A pointer to return RLOC16 of next hop, 0xfffe if no next hop. * @param[out] aPathCost A pointer to return path cost towards destination. * diff --git a/openthread/include/openthread/trel.h b/openthread/include/openthread/trel.h index 6e26e83c71..2358ea26a1 100644 --- a/openthread/include/openthread/trel.h +++ b/openthread/include/openthread/trel.h @@ -57,7 +57,7 @@ extern "C" { */ /** - * This struct represents a TREL peer. + * Represents a TREL peer. * */ typedef struct otTrelPeer @@ -68,7 +68,7 @@ typedef struct otTrelPeer } otTrelPeer; /** - * This type represents an iterator for iterating over TREL peer table entries. + * Represents an iterator for iterating over TREL peer table entries. * */ typedef uint16_t otTrelPeerIterator; @@ -93,34 +93,18 @@ typedef uint16_t otTrelPeerIterator; void otTrelSetEnabled(otInstance *aInstance, bool aEnable); /** - * This function enables TREL operation. - * - * This function initiates an ongoing DNS-SD browse on the service name "_trel._udp" within the local browsing domain - * to discover other devices supporting TREL. Device also registers a new service to be advertised using DNS-SD, - * with the service name is "_trel._udp" indicating its support for TREL. Device is then ready to receive TREL messages - * from peers. - * - * @note By default the OpenThread stack enables the TREL operation on start. + * Indicates whether the TREL operation is enabled. * * @param[in] aInstance The OpenThread instance. * - */ -void otTrelEnable(otInstance *aInstance); - -/** - * This function is deprecated. - * - */ -void otTrelDisable(otInstance *aInstance); - -/** - * This function is deprecated. + * @retval TRUE if the TREL operation is enabled. + * @retval FALSE if the TREL operation is disabled. * */ bool otTrelIsEnabled(otInstance *aInstance); /** - * This function initializes a peer table iterator. + * Initializes a peer table iterator. * * @param[in] aInstance The OpenThread instance. * @param[in] aIterator The iterator to initialize. @@ -129,7 +113,7 @@ bool otTrelIsEnabled(otInstance *aInstance); void otTrelInitPeerIterator(otInstance *aInstance, otTrelPeerIterator *aIterator); /** - * This function iterates over the peer table entries and get the next entry from the table + * Iterates over the peer table entries and get the next entry from the table * * @param[in] aInstance The OpenThread instance. * @param[in] aIterator The iterator. MUST be initialized. @@ -140,7 +124,7 @@ void otTrelInitPeerIterator(otInstance *aInstance, otTrelPeerIterator *aIterator const otTrelPeer *otTrelGetNextPeer(otInstance *aInstance, otTrelPeerIterator *aIterator); /** - * This function sets the filter mode (enables/disables filtering). + * Sets the filter mode (enables/disables filtering). * * When filter mode is enabled, any rx and tx traffic through TREL interface is silently dropped. This is mainly * intended for use during testing. @@ -155,7 +139,7 @@ const otTrelPeer *otTrelGetNextPeer(otInstance *aInstance, otTrelPeerIterator *a void otTrelSetFilterEnabled(otInstance *aInstance, bool aEnable); /** - * This function indicates whether or not the filter mode is enabled. + * Indicates whether or not the filter mode is enabled. * * @param[in] aInstance The OpenThread instance. * diff --git a/openthread/include/openthread/udp.h b/openthread/include/openthread/udp.h index 5a2681320b..3512b7bdc1 100644 --- a/openthread/include/openthread/udp.h +++ b/openthread/include/openthread/udp.h @@ -63,7 +63,7 @@ extern "C" { typedef bool (*otUdpHandler)(void *aContext, const otMessage *aMessage, const otMessageInfo *aMessageInfo); /** - * This structure represents a UDP receiver. + * Represents a UDP receiver. * */ typedef struct otUdpReceiver @@ -74,7 +74,7 @@ typedef struct otUdpReceiver } otUdpReceiver; /** - * This function adds a UDP receiver. + * Adds a UDP receiver. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aUdpReceiver A pointer to the UDP receiver. @@ -86,7 +86,7 @@ typedef struct otUdpReceiver otError otUdpAddReceiver(otInstance *aInstance, otUdpReceiver *aUdpReceiver); /** - * This function removes a UDP receiver. + * Removes a UDP receiver. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aUdpReceiver A pointer to the UDP receiver. @@ -98,14 +98,15 @@ otError otUdpAddReceiver(otInstance *aInstance, otUdpReceiver *aUdpReceiver); otError otUdpRemoveReceiver(otInstance *aInstance, otUdpReceiver *aUdpReceiver); /** - * This function sends a UDP message without socket. + * Sends a UDP message without socket. * * @param[in] aInstance A pointer to an OpenThread instance. * @param[in] aMessage A pointer to a message without UDP header. * @param[in] aMessageInfo A pointer to a message info associated with @p aMessage. * - * @retval OT_ERROR_NONE Successfully enqueued the message into an output interface. - * @retval OT_ERROR_NO_BUFS Insufficient available buffer to add the IPv6 headers. + * @retval OT_ERROR_NONE Successfully enqueued the message into an output interface. + * @retval OT_ERROR_NO_BUFS Insufficient available buffer to add the IPv6 headers. + * @retval OT_ERROR_INVALID_ARGS Invalid arguments are given. * */ otError otUdpSendDatagram(otInstance *aInstance, otMessage *aMessage, otMessageInfo *aMessageInfo); @@ -117,7 +118,7 @@ otError otUdpSendDatagram(otInstance *aInstance, otMessage *aMessage, otMessageI typedef void (*otUdpReceive)(void *aContext, otMessage *aMessage, const otMessageInfo *aMessageInfo); /** - * This structure represents a UDP socket. + * Represents a UDP socket. * */ typedef struct otUdpSocket @@ -131,7 +132,7 @@ typedef struct otUdpSocket } otUdpSocket; /** - * This enumeration defines the OpenThread network interface identifiers. + * Defines the OpenThread network interface identifiers. * */ typedef enum otNetifIdentifier @@ -241,7 +242,7 @@ otError otUdpConnect(otInstance *aInstance, otUdpSocket *aSocket, const otSockAd otError otUdpSend(otInstance *aInstance, otUdpSocket *aSocket, otMessage *aMessage, const otMessageInfo *aMessageInfo); /** - * This function gets the head of linked list of UDP Sockets. + * Gets the head of linked list of UDP Sockets. * * @param[in] aInstance A pointer to an OpenThread instance. * @@ -269,7 +270,7 @@ otUdpSocket *otUdpGetSockets(otInstance *aInstance); */ /** - * This function pointer delivers the UDP packet to host and host should send the packet through its own network stack. + * Pointer delivers the UDP packet to host and host should send the packet through its own network stack. * * @param[in] aMessage A pointer to the UDP Message. * @param[in] aPeerPort The destination UDP port. diff --git a/openthread/lib/cortex-m33/hard-float/v1.3/ftd/oberon/libopenthread-cli-ftd.a b/openthread/lib/cortex-m33/hard-float/v1.3/ftd/oberon/libopenthread-cli-ftd.a index 392b52e33fcd414dbd78cfa3a77549cdc7bf5658..e4f0b28b9899e02d8c7c73b08e0fcec6ed865b00 100644 GIT binary patch literal 248760 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 I>NcDI1G8w)*Z=?k diff --git a/openthread/lib/cortex-m33/hard-float/v1.3/ftd/oberon/libopenthread-ftd.a b/openthread/lib/cortex-m33/hard-float/v1.3/ftd/oberon/libopenthread-ftd.a index 66549442f0ef5c921c59124948dbccc5bc4b89ff..da92afe21c7a403ae3159a5212711943bb2e337d 100644 GIT binary patch delta 344104 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%0Dc489lK~T3G5AON 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 %d(*O54^m}>* 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%0D<$(LM=J>{Rv-wl1$4s*xe87odgXpv#x6K&$ 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 z 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 delta 296393 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 diff --git a/openthread/lib/cortex-m33/hard-float/v1.3/ftd/oberon/nrf_security_mbedtls_configuration.h b/openthread/lib/cortex-m33/hard-float/v1.3/ftd/oberon/nrf_security_mbedtls_configuration.h index 455b3a9abe..d57610250c 100644 --- a/openthread/lib/cortex-m33/hard-float/v1.3/ftd/oberon/nrf_security_mbedtls_configuration.h +++ b/openthread/lib/cortex-m33/hard-float/v1.3/ftd/oberon/nrf_security_mbedtls_configuration.h @@ -17,22 +17,6 @@ * or disable features selectively, and reduce the global * memory footprint. */ -/* - * Copyright The Mbed TLS Contributors - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ /** * This is an optional version symbol that enables comatibility handling of @@ -1082,7 +1066,7 @@ * * Uncomment this macro to let the buffer allocator print out error messages. */ -//#define MBEDTLS_MEMORY_DEBUG +/* #undef MBEDTLS_MEMORY_DEBUG */ /** * \def MBEDTLS_MEMORY_BACKTRACE @@ -1206,7 +1190,7 @@ * * \note This option is experimental and may be removed without notice. */ -/* #undef MBEDTLS_PSA_CRYPTO_EXTERNAL_RNG */ +#define MBEDTLS_PSA_CRYPTO_EXTERNAL_RNG /** * \def MBEDTLS_PSA_CRYPTO_SPM @@ -2705,7 +2689,7 @@ * on it, and considering stronger message digests instead. * */ -#define MBEDTLS_SHA1_C +/* #undef MBEDTLS_SHA1_C */ /** * \def MBEDTLS_SHA224_C @@ -2772,7 +2756,7 @@ * * This module adds support for SHA-512. */ -#define MBEDTLS_SHA512_C +/* #undef MBEDTLS_SHA512_C */ /** * \def MBEDTLS_SSL_CACHE_C @@ -2794,7 +2778,7 @@ * Module: library/ssl_cookie.c * Caller: */ -#define MBEDTLS_SSL_COOKIE_C +/* #undef MBEDTLS_SSL_COOKIE_C */ /** * \def MBEDTLS_SSL_TICKET_C @@ -2834,7 +2818,7 @@ * * This module is required for SSL/TLS server support. */ -#define MBEDTLS_SSL_SRV_C +/* #undef MBEDTLS_SSL_SRV_C */ /** * \def MBEDTLS_SSL_TLS_C @@ -3024,7 +3008,7 @@ /* MPI / BIGNUM options */ #define MBEDTLS_MPI_WINDOW_SIZE 6 /**< Maximum window size used. */ -#define MBEDTLS_MPI_MAX_SIZE 384 /**< Maximum number of bytes for usable MPIs. */ +#define MBEDTLS_MPI_MAX_SIZE 256 /**< Maximum number of bytes for usable MPIs. */ /* CTR_DRBG options */ //#define MBEDTLS_CTR_DRBG_ENTROPY_LEN 48 /**< Amount of entropy used per seed by default (48 with SHA-512, 32 with SHA-256) */ diff --git a/openthread/lib/cortex-m33/hard-float/v1.3/ftd/oberon/openthread_lib_configuration.txt b/openthread/lib/cortex-m33/hard-float/v1.3/ftd/oberon/openthread_lib_configuration.txt index eddc61efbe..0cff43bbde 100644 --- a/openthread/lib/cortex-m33/hard-float/v1.3/ftd/oberon/openthread_lib_configuration.txt +++ b/openthread/lib/cortex-m33/hard-float/v1.3/ftd/oberon/openthread_lib_configuration.txt @@ -1,17 +1,16 @@ -GCC_version: arm-zephyr-eabi-gcc (Zephyr SDK 0.15.2) 12.1.0 +GCC_version: arm-zephyr-eabi-gcc (Zephyr SDK 0.16.1) 12.2.0 -OpenThread_commit=2060039bbfec52ac00f22a7cc3213c2ab1df138e -NRFXLIB_commit=v2.3.0-rc1-7-g0b135cd6 -MBEDTLS_commit=v3.0.0-1594-gc2a205601 +OpenThread_commit=57ef721eeed2550835c528ab7b8e77671f7039d6 +NRFXLIB_commit=v2.5.0-rc2-0-gbbb718ad +MBEDTLS_commit=v3.3.0-ncs2-rc2-0-gacea48fc8 CONFIG_OPENTHREAD_BUILD_OUTPUT_STRIPPED=y CONFIG_OPENTHREAD_CHANNEL=11 -CONFIG_OPENTHREAD_CHILD_SUPERVISION=y CONFIG_OPENTHREAD_CLI_MAX_LINE_LENGTH=384 CONFIG_OPENTHREAD_COAP=y CONFIG_OPENTHREAD_CONFIG_PLATFORM_INFO=Zephyr -CONFIG_OPENTHREAD_CSL_MIN_RECEIVE_ON=5696 -CONFIG_OPENTHREAD_CSL_RECEIVE_TIME_AHEAD=480 +CONFIG_OPENTHREAD_CSL_RECEIVE_TIME_AHEAD=5000 +CONFIG_OPENTHREAD_CSL_TIMEOUT=100 CONFIG_OPENTHREAD_CUSTOM_PARAMETERS= CONFIG_OPENTHREAD_DEFAULT_TX_POWER=0 CONFIG_OPENTHREAD_DHCP6_CLIENT=y @@ -25,31 +24,38 @@ CONFIG_OPENTHREAD_IP6_MAX_EXT_MCAST_ADDRS=2 CONFIG_OPENTHREAD_IP6_MAX_EXT_UCAST_ADDRS=4 CONFIG_OPENTHREAD_JOINER=y CONFIG_OPENTHREAD_L2_LOG_LEVEL=0 +CONFIG_OPENTHREAD_LIBRARY_AVAILABLE=y CONFIG_OPENTHREAD_LINK_METRICS_INITIATOR=y CONFIG_OPENTHREAD_LINK_METRICS_SUBJECT=y CONFIG_OPENTHREAD_LOG_LEVEL=0 CONFIG_OPENTHREAD_MAC_SOFTWARE_ACK_TIMEOUT_ENABLE=y CONFIG_OPENTHREAD_MAC_SOFTWARE_CSMA_BACKOFF_ENABLE=y CONFIG_OPENTHREAD_MAC_SOFTWARE_RETRANSMIT_ENABLE=y +CONFIG_OPENTHREAD_MAC_SOFTWARE_TX_SECURITY_ENABLE=y CONFIG_OPENTHREAD_MANUAL_START=y CONFIG_OPENTHREAD_MAX_CHILDREN=32 CONFIG_OPENTHREAD_MAX_IP_ADDR_PER_CHILD=6 CONFIG_OPENTHREAD_MAX_STATECHANGE_HANDLERS=2 CONFIG_OPENTHREAD_MBEDTLS_LIB_NAME=mbedtls_external CONFIG_OPENTHREAD_MESSAGE_BUFFER_SIZE=128 +CONFIG_OPENTHREAD_MIN_RECEIVE_ON_AFTER=5504 +CONFIG_OPENTHREAD_MIN_RECEIVE_ON_AHEAD=192 CONFIG_OPENTHREAD_MLR=y -CONFIG_OPENTHREAD_MTD_NETDIAG=y +CONFIG_OPENTHREAD_NETDIAG_CLIENT=y CONFIG_OPENTHREAD_NETWORKKEY= CONFIG_OPENTHREAD_NETWORK_NAME=ot_zephyr CONFIG_OPENTHREAD_NORDIC_LIBRARY_FTD=y CONFIG_OPENTHREAD_NRF_SECURITY=y CONFIG_OPENTHREAD_NRF_SECURITY_CHOICE=y CONFIG_OPENTHREAD_NUM_MESSAGE_BUFFERS=128 +CONFIG_OPENTHREAD_OPERATIONAL_DATASET_AUTO_INIT=y CONFIG_OPENTHREAD_PANID=43981 CONFIG_OPENTHREAD_PING_SENDER=y CONFIG_OPENTHREAD_PKT_LIST_SIZE=10 -CONFIG_OPENTHREAD_PLATFORM_CSL_UNCERT=5 +CONFIG_OPENTHREAD_PLATFORM_CSL_UNCERT=12 CONFIG_OPENTHREAD_PLATFORM_INFO=ZEPHYR +CONFIG_OPENTHREAD_POWER_SUPPLY=EXTERNAL +CONFIG_OPENTHREAD_POWER_SUPPLY_EXTERNAL=y CONFIG_OPENTHREAD_RADIO_LINK_IEEE_802_15_4_ENABLE=y CONFIG_OPENTHREAD_RADIO_WORKQUEUE_STACK_SIZE=1084 CONFIG_OPENTHREAD_SHELL=y @@ -62,8 +68,10 @@ CONFIG_OPENTHREAD_THREAD_STACK_SIZE=6240 CONFIG_OPENTHREAD_THREAD_VERSION=1.3 CONFIG_OPENTHREAD_THREAD_VERSION_1_3=y CONFIG_OPENTHREAD_TMF_ADDRESS_CACHE_ENTRIES=20 +CONFIG_OPENTHREAD_UPTIME=y CONFIG_OPENTHREAD_XPANID=de:ad:00:be:ef:00:ca:fe OT_15_4=ON +OT_ANDROID_NDK= OT_ANYCAST_LOCATOR=OFF OT_APP_CLI=ON OT_APP_NCP=ON @@ -73,15 +81,17 @@ OT_BACKBONE_ROUTER=OFF OT_BACKBONE_ROUTER_DUA_NDPROXYING=OFF OT_BACKBONE_ROUTER_MULTICAST_ROUTING=OFF OT_BORDER_AGENT=OFF +OT_BORDER_AGENT_ID= OT_BORDER_ROUTER=OFF OT_BORDER_ROUTING=OFF OT_BORDER_ROUTING_COUNTERS=OFF +OT_BORDER_ROUTING_DHCP6_PD=OFF OT_BUILD_EXECUTABLES=OFF OT_BUILTIN_MBEDTLS_MANAGEMENT=OFF OT_CHANNEL_MANAGER=OFF OT_CHANNEL_MONITOR=OFF -OT_CHILD_SUPERVISION=ON OT_CLI_TRANSPORT=CONSOLE +OT_CLI_VENDOR_EXTENSION= OT_COAP=ON OT_COAPS=OFF OT_COAP_BLOCK=OFF @@ -94,16 +104,18 @@ OT_CSL_AUTO_SYNC=OFF OT_CSL_DEBUG=OFF OT_CSL_RECEIVER=OFF OT_DATASET_UPDATER=OFF +OT_DEVICE_PROP_LEADER_WEIGHT=OFF OT_DHCP6_CLIENT=ON OT_DHCP6_SERVER=OFF OT_DIAGNOSTIC=OFF OT_DNSSD_SERVER=OFF OT_DNS_CLIENT=ON +OT_DNS_CLIENT_OVER_TCP=OFF OT_DNS_DSO=OFF +OT_DNS_UPSTREAM_QUERY=OFF OT_DOC=OFF OT_DUA=ON OT_ECDSA=ON -OT_EXCLUDE_TCPLP_LIB=OFF OT_EXTERNAL_HEAP=ON OT_EXTERNAL_MBEDTLS=mbedtls_external OT_FIREWALL=OFF @@ -115,7 +127,9 @@ OT_IP6_FRAGM=ON OT_JAM_DETECTION=OFF OT_JOINER=ON OT_LEGACY=OFF +OT_LINKER_MAP=ON OT_LINK_METRICS_INITIATOR=ON +OT_LINK_METRICS_MANAGER=OFF OT_LINK_METRICS_SUBJECT=ON OT_LINK_RAW=OFF OT_LOG_LEVEL= @@ -123,12 +137,12 @@ OT_LOG_LEVEL_DYNAMIC=OFF OT_LOG_OUTPUT= OT_MAC_FILTER=OFF OT_MBEDTLS_THREADING=OFF +OT_MESH_DIAG=OFF OT_MESSAGE_USE_HEAP=OFF OT_MLE_LONG_ROUTES=OFF OT_MLE_MAX_CHILDREN= OT_MLR=ON OT_MTD=OFF -OT_MTD_NETDIAG=ON OT_MULTIPLE_INSTANCE=OFF OT_NAT64_BORDER_ROUTING=OFF OT_NAT64_TRANSLATOR=OFF @@ -136,15 +150,20 @@ OT_NCP_SPI=OFF OT_NCP_VENDOR_HOOK_SOURCE= OT_NEIGHBOR_DISCOVERY_AGENT=OFF OT_NETDATA_PUBLISHER=OFF +OT_NETDIAG_CLIENT=ON +OT_OPERATIONAL_DATASET_AUTO_INIT=ON OT_OTNS=OFF OT_PACKAGE_NAME=OPENTHREAD OT_PACKAGE_VERSION= OT_PING_SENDER=ON OT_PLATFORM=zephyr +OT_PLATFORM_CONFIG= OT_PLATFORM_NETIF=OFF OT_PLATFORM_UDP=OFF +OT_POWER_SUPPLY=EXTERNAL +OT_PROJECT_CONFIG= OT_RCP=ON -OT_RCP_RESTORATION_MAX_COUNT=0 +OT_RCP_RESTORATION_MAX_COUNT= OT_REFERENCE_DEVICE=OFF OT_SERVICE=OFF OT_SETTINGS_RAM=OFF @@ -152,10 +171,15 @@ OT_SLAAC=ON OT_SNTP_CLIENT=ON OT_SRP_CLIENT=ON OT_SRP_SERVER=OFF +OT_TCP=OFF OT_THREAD_VERSION=1.3 OT_TIME_SYNC=OFF OT_TREL=OFF OT_TX_BEACON_PAYLOAD=OFF +OT_TX_QUEUE_STATS=OFF OT_UDP_FORWARD=OFF -OT_UPTIME=OFF +OT_UPTIME=ON OT_VENDOR_EXTENSION= +OT_VENDOR_MODEL= +OT_VENDOR_NAME= +OT_VENDOR_SW_VERSION= diff --git a/openthread/lib/cortex-m33/hard-float/v1.3/mtd/oberon/libopenthread-cli-mtd.a b/openthread/lib/cortex-m33/hard-float/v1.3/mtd/oberon/libopenthread-cli-mtd.a index f3a7c2c5c8fc2b30520562628dc2ef7f2d977b8c..80be4a30e566681805ae793cfdfaf4123f73f05b 100644 GIT binary patch literal 219876 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 z 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 z zne0yX?n$=cfFx|nxE4b?965w_+XfHdE+ETteF~+-;?0eT#&}~>bF8^#RZ~k-bUMOY zV#X{R<{9sdOw%)4I|_M`)&*v6mSbxr!!QS5{FxiqY)t8$=v3%UFamFh#T$w@riRdY zcY!27#9b44w^+Pm``gg9)^aqHZiy)>-Vl%Cq}j%JODx)wXpS{am#^l~D znDpwqB?qwreHb+K9!-zNmgFs*Ol#}pt~73MOE-;Oo2;j=ITnu=|MaP5!%-flp8BQB zZ^Crlx%Y_7^FE~+d$saQTHsgAs;BhREKmKKLFS9Dm<==5Z)&bzk95;#|8{s?!P}IU z))105-+Xgsj}_TXY(2$UyYf8Jo!C{R=RT{d^gK*BVr-6U^x9ihwO*45FXlJ}X?1$c zS#_DgUutZ=mzg~j%k|nx7z5e$zz-vz-w{EKcWyE<$4g->tV9@Jq4|ZQdM-4K@@ttM z)3)k7SBiYOcZ74MVc0rz?Z`Wq3NXij%;(sdbUB72U6(QFb}$Cr4>HDt|1QRmYp+TF zBx6jL9%g(cZ2e9CQ;ad$`YdBCQ2eb){~=@SHF<$C_@6;coB!8MJZa+Jni#58=QjaW z@m2D)I?e&Ww8_59#0MEKF}CWMFXLBN7|KxfU6vxruEJ9 zqIv)aQ8;B{)|>nos@CW@2<4UFHdwFQlW+y$OLV&vrrv2=UdI?PP@Q0{ZZE==BY3H? zNeA3Y7<&ocCL8i8UOqD$Pv)`=nu5VhhLh7Fe^x_3Kcmc7({xOu?b>II!Nk-l|I2k| zgRs1&Zq`dP>&Iq#L%pJ_F!SNm3~DlSW;t#2>;^1;#N+Qk{z1<)1}z0i6+2uhy1DeQ ze_8{N8MM<3xa6`M&C#6;j7X*{YXNcvgqr5Sq*&pmNw#3u&P6Z(*SB=1{I;6*<0G$| z0t&U~JVTj_{@9;MoLozi7REC(LRsBu>37T8}K69=}rr26dxFos^!6iZD`!y15dOrp|j&(?n=|XP@h$(ueAmydp z5`^AOKvMKf!mCz&&jGT~J7MU>4S^$wMVCw>FJ6~{4r9rC1ot~|Nf5o%0?)3;>)@LJ z66?V+qwxK>p(lJfr%W6P!gs>Qm-e4q1qre6^`D=!0%OT2@<|gSczoZBj%U~7AOH*t zy#RJ9YyqBKkDEYG`pZ0ENIf3%(fcy!ajYvr=soD8*JIJU0LVh`RUbX>(d9RT1fln$ zkKQiOlm5aL3!xXo4eJ{>1ZYo-VYwHW$BXC0FqZbciHw+F0_idQF>Y+V><8Z?NT;5u zN8(XWuN!*8_a?||_fz33=gA9S&eb16c?rUI4IWaP?;o5~LoS%jdoH3!ba7QIHUe44?7weG+_kAfNSEZ15<@FAP0C zI}B$)pjzLmzry!dz=LW%m7Nbg;d9gr#AC2!BisSJ9i}eQZWTzUPC(BKBS<)h0+}H6 S_$=Fa^U=8f0a+vn-v0w3Bga1g delta 51813 zcmce<3w#tswg+5QlNUo0!Vn<5!jJ?A5MV;y5MTmfAb=1ai>L?*FB1tQKtND*f}*l6 zYOv8p#WlLPiwc?;SwKNi*}J-n3O;ca1y>h*t%c6Ur}f_Z-S4}<+t4|6 z>YV!5sZ*yO-P61^-W5`%?pg z|F`b`i2=d?uD|)?x3K@U^TWlAN1j1v#{UX0Mn1#-+cWSX6M-Q8`TuxU3nu>mp27bq zK;wEQ{uj^jA+VEwXX1Z;8fV{3Z=D(4jhn~U^09_*NV;+BTaucu6!09wACqRRI$mse z-RZ6U;x=+Kubz)XZo1)r*C(Zqy<2Fs4N5oqyf=n;bKjjJUkd!ECmH_46w_bKql|Y? z7aIQf6!YcrT&kNsKOae`=Ase>Xl6~|gt*@5oUo(yhlDQNsOoaq=s$F>Q4!nO+*8K0 zCG6N&$eI+ROSd@l_6k0z^`A+rqfP&6-r0COeX{9G;0b2iEM5%do`(OsA+6_o{92fN zgP34^*g4JkQ|uIj2gaByt`rHzh+c`tqK;TIwoYW5+g7L?b5xC(EJY$P>CR2Oi+RT; zG1R=IR&+L|4+s?)WgHE-DZ_lCPK+_!lZokK9PRZfuQEyo^fLQi!be6X2lVQL>ijBG zrzr2$j=RX(*8cs@xs3aNm}azHC^SC(VYPYNauH`PT){iF)@O8!GQS+`nq+)GB;DK> zkM^Oj%;E%eTH}xuxS%jGru0-{usCU>>$z2oS83*z{Qxg zt3{&u%p{&=4(}(r8=ob*jlFqs1Z4hhb+|;bk&soYivI0to@e^|ivHcQ3vzO^@h>lT z)TsQN!lIl}1;(t?r3q!zH|AyMjLOL=$S=qqD{Dr32d-nw*DPBm69d;0k^gJfL4^(fq^%?> zu%mfyM_d=z<3#}~?+qO3i1&KRtaPF`Nv1mu>=KyqK}T@|9~;vi7vnma8AxtEa=vZz zypFhHZ{S}kv#R*^*;`8j?2hj)o!1eSMF8i|v1h3w?2qKp4S%;7-It7tU$YD`&y+>2 zGnd@Wjh*+#_ep^~2WQ;=hAJx0ym3d?)v=|uSFLL8xoj}cgWvuKK3KnO&D!ePRjrek zcjx?!arqT3UCy&3=j){7(!K5Hm|5}yA7H-sJRcRDFk!a0d`pHRrkFRXIq8Tu5GT2B&!v06 z(Y{GQJ*niPVMvU{S#I>JDm8Acdfm8C-MDN?)v_fk>Z?~St6f(QAzQmYF%S(Ce6qLB zx71fnZ}A2a+G9AG7Zs=gCz|Vy`~oIZP8?z*Q|f+ouC;2|p(7nJNqeMoKRp+lfeykE z)w=o0Am_tddCf~=UXQ8AJ`r;VRSsG==&Few-jT;Xap$H5h6Ij%k}&t!Ctc=l>F`xV zwU^3hqx`7$Eur+WPYUNowV#*#j*bgHZ(#Y?C9W+9;zD{$1BCU8!GE28z0tq9^lr3FW!;D|wm|`5faVQ^V{Po6ko^Hh6 z)W4{&bYpYNimHi+sB@^LJm8h>{KL8GKxRM6VVQ5Aysv{LHOclKI+q#fVw_ypbJ(Lu zby6MFVwG+~mmE;ufJfqRCgbeg+HZBX%YDJO>}w{QVa%`3FkhS}24M%jc7JjpArKSj zo5lusWfjA!`W#BHU|#BgA%V22=BkADSeG*80!)eZO>BwF_XT>%%6)+WvQ$+S%lzoX zfU2ZyrTM|hJ;-?%ImtTbt&``G^BQtebk57UCo`*A=1V86o@bfIP(h3@t?Gq#;hMAl zunw<{%hs}0wQNc4s^!&Jn9-MrvLMD@ZO!^+Ow(Mpcunn9YnQRL%hs%~UP5v2+yAR( z*Q3JdTooON4|F>e>+Rg^L-dwQyIH31#FDCRPg@}t6_{40LTrEzwamcc>d8_!Gmv&& zK&C3Mn>2OOw9Ehx4vBlVcc4^3d0#_ch(`wK{`&Jtakq-j_H*7qvD9g9SyIJ@9XUaI znB`=gv&`S06!+#$WkzMyuz)JTGWVX$@IHcaK3Q(3Ecbw;+&w3Q;@-g#1wTZQ3|o<{ zjv|{;RlkT5FQG(lZQO5Q-1rN%k1O-ywRyn{S3EB6efbkMr|YymRd0O4J=C}R5M-C; zpQHIX5ob@FBXLIIq@x7qJegu_A?Ou4y^5$g{8BMAI58&B6J7Gh<{#5y9xe=EDvl=L z%s{uYm`5mep~dP7HA76MN%{sD_b^Gz&_VnjO7;KO*7m{xe^kg)aqT>gWqx+z%(2L*LVl6m21!Bs6Y=4pnd;Xcx^)ahE6}Gl?8mX zj>VCEQv?1$AL-(2TZib8od8X==H^+DB}%)0OyAd$>|6L~XJh6Cw$>Nmk0d_)a!N;1 zKNBj zwTX0#0zx}SO@1q@KgEC=qGPiqgL8?4l;%pa7+SrM!Nv+3RCP;sxJ5vEAORwPyFgh9-e& za$=is-AJ>2+tq!AxRBJEcX9SCJlTC=8hO^Bbl zu0ApY<(5>gtuJ3uAJQpXHDOI{<)gzSttSUK_9#-uMrB_tXObRiNRwstipH;_)(!;KF zPqj8C@Ufg327?yjoQ88TPFnuA;%qX0vE_baQ+=*+VT(7ZZZaDH)1Ey_9sR7=XZkM} z$(>zB#_vVzsJz3wJWEov%4!!oTPuw%Xb&7T+w1*p7U4(eY zlI*2c^4!0l%f>_@WhDe_)ZDx&UQFv#l~UPj-91>LTRU$4&Smgz6(eX9IkR7YrJrt& z4K!jp*oQ@E$kWPizmjnn-JZl%bZ#}yZX3{jGwmZE^ao-du@23c;L%U%6+Ye_p&H|j%a4y2R7U!>UzJT)=(6gU!Bku#8=Wq@bN;V198<;0; z@djcarZzr!?np;p@9Z*V*S(m}v9<*vh#F8Bh<$`qwx5f=XL{M+A(|$Oh9z5&ry`NkjmLh+&%x42X==i=7`JEw8ihcBnyC(#{nP-@{^(!6j z02_CXAcmCPBQ4J?y9*$LrOwPY*6D+ersjn9)M$d~|F2(uwH-Kv9yj7|PxYzI2JI31 zae|<>&C-)bEIK;&o~3%PK=b_>W~{k=MAt`=Jc{#WobTi8Y^>hU(}hvnI(U06H(oKm z;mkbi7CmwOf9oB^{nuqyukx;2Rb9WoA&DtSZG}Kob$M47tcI=PG zej+iDMbQzXcK8FZJyi>pTEt`ZV&0TKf8xvwSFar%X#Vc&uY2k3uF~ldD&q}w9Pwf4 zqb6ly;qy$*mK%w$&-nuCvW0RJRqkk9j`#vC;qwd}$UTSQ<_pbvVSBmoQ0bBYRTl!DNkNbKW ze|jw5IJhf5__0m$sV)5vTbc%ebwneet)r(ctu8y2WP~k0*One*OVf2Gj#&A(jGOOs zR}W*#eeuRE`{U^vtT&A?>sW3}ui!@cfgaeMHVN09b*!)0`K#V6U zIvVob5beSFB+dgkpT-##qxff$&dz4+80c#_tuf6pmQ!&S2&4D?X+f&>BCvCCUV_u( zQQ#Fwuf+LtRgh&@Lq>c2Eugfx-3m&*Z-Ua%1WL)r@Q37wL17vDBPf-79TXR}LG}R> zRPaksS|OvbWcon|f=&U=1*I?=2THdArh?7|odr4{bOGoB&}E<%pzA=Ff?f++1$sMZ z4d{cQb)b)f(n4?;bOY*VuOqPu8RtM7K-)mKfc_JdERVt;vN#cx4DAh?1Udwiu5hwJ zX<45D+84A8)C)QnGz0W<&`i*kpjn{nKxtLF7SvC>z?+aL1~ox_pbvuPf*u0JfA$*w zP{r?pQiUIZQbp%MGe9X433xP4D)%|^39lo{9Cy3u()zlMrf3vB zc#?VNIM>Loq^^!chCpD%6Gw|p|;7)F%pM-t&TBPLQ)rQK1Aw|bLfwA==&Y|B{8yq&)nZdj0{$Uv`a%N zO1N0SQEsv-7Sfs=N-6y^hyGNlKR2W`HI!2N(@8(gmU)pZ5O&!`3eed8P);Azq2hBBHZqp7+I(`Eci%`2N0$osLffc&#c+E5zGkXP9u&V}g~Hru?y zR?7laA(hpRMy-|dnvfh$5za<2% z4EU8pzD<^=nO_~-tc0X4c3W6qb;|9sKvGEUcD9I?XdLl4Ih*6?@9k1%{c$lP3@9^q zNW3W_H}0@hC3Ug8Li#!=Oj)2Qq-KUvlyI@TLj{!J9;v?|RKYzC{ap_I`=ow2p6;{c z#-v@{jF?Az$A?GogUl#?G$R#kI2gELt2kGI79PMMr74YiXpU98yw&>{iai~)N`_FW*$(Vr*TKHZ7^z;U*O8w>Vk^i2sV9AI5& z&cmTbeI+-x?On<%jP|{K=0#M=UXV3pDsB9IL0T}v#)pzfxY!>Y7XF7UU(SsQ`$mXl zZZzylmXZHwhu(3imm2~*?vTF{l2F3MPB`QzW%+QtpLEDy50}r90B<@J-jV&g?z@gsr$Z7-xY!2{`5B4o4QZWm$Uh88DB)rsIpiNx`Jmh^D$S1_3g;XE zpE%^7N&~_(g8edyD*W7`|Ao}w6hfu#n;xo^=VD(v3be@rQ$hvWLMf&Hl|%n)slPO& z^>rwv^#9?||3>b<*%V_y^T;60=IZ#Tm5|iMzH=1&UREE*1}Yj;c!iO^^oc z3S}km)!Kk2tlgZ=Q-DTgOCMufOD>N$o@?nNw`xho$(BCL$b4_8bT3EseIz<90_y1F zkoS{vuO-GkrU-lSF|Fi{Sx=0_qY;~*=tKADLx+oHI`oG~yrz)G5aa15`UkUQZa7%7 z9HmA$cwdAOE;h=+=Q#9pB>vt|tx6t>l@z8FrqgCf9vZ;d+&Yr`jh5E_!LW-)J1Q%7 zR5n&t7M|k9I^^RW}z_h)i0G{N2oF3c~`He&Vdk247>r*UxaAzW~6B7CWUXV>f1_5T_^x)s_NCozk zgFm75X)EKwWxo&iX{>_`oD81uXq(}|jrRK-@;9`6FO)ni*qh~awu-BZlt~W0+QDDz z;CDFqeGdMZgFg+P43r+p#TDHcO6h}IFdIB6&~WnL#zKoje$+hMUGxlANpTt*NlzH) zgNjcAA9g?nd(a_2tL0hH^{_##gzjtUgUZi$@U`Fx&yUl?hOp5l%W~-249RzSQc#_lT_At(mYF>rZRMw}vrLAJ# z=io1Q@N2*mUWLTFh`rq1HoH@WXB-8-)&*!bNW()?7xh3wAEZAQJOR>OK@Xe7S{?G2 z9DKWjAJkL#KVcGJF@3n958|%_PZdnT>A|P&?>gk)I`}~;x-bZpp8%f9E00~m9&pHC z3pz3`IQSmDA^`*739tsI2Ot06?T{aI@NaAV3aMYg@_Qqp4>B+~*^#jxJXJvRorj%f z&uE_3I1d)Xez^H)9RyI|;AcDdRp1GaLd(PQ_@6Yd=AGq1Hn^_^r(9Ox;4cDC0NW%$ zHT#W2{)mG=?BGAp-y^J?*FV7=3o{BtS4fn5dOI>>-K9Q>a{ zd{9;RX(&VSoinWBiXY+N7diMF9Q^Mc{HNfl0UL07*o|!JK#h<3#Un=>nZ1Nx^^g$k&;oyVdseEug{&?6e?6}TQF|dsd8LSj&KJu{J z*~OYy^6l&>c=Y_3w}t-oq|KhILSZs~r4Z2mhjj|Ioqz=-|5! zv(Qz8hk=*tzv{#LSp#K2NAbU7uSf8ES!R}!tBK@3b`5yzAcOC9@Xt8-uN}N+xL*JF zqOgZO$mSu#ItXx+gMY}uzXYBP-i6b{9%8*mSfy19iyizz2ft+m{7(RCSUkesb}0PI z!S@@fDpW!F7@Gm!I>_MFS{^UEw1pja$p7l#|2u`Fo zg#1eLG~7Mx06U`jV#zks{Il%Qpw38^8PBoUQL4aP$-lssYraah z=s(zg@Ya!p#QP5ZN3E~$2Jxji3Xkp^c-Twq1@P8E<%4fIGTL;9m#YAFLfOMk zvW=RLlYnorr!=o(;9bV@l)m!F85YpIUzY!vZPNS{$$uJTzti@`0&3h#ubn&yupd$)rS60vC z3Kf6=?_ts0r}-Gk$MB0IcsJjoc{Pd>_@BXB2f4UI%jY5O!Q)EaB1?)Gqxc(b&j7y? zJOvpU3Gf%848^YkPZjJ$ z5O{Ep>{W;SLkIs42k#lD;OQ^nd%+W4Db6%}tK(M9(?mj|?pSDtc-qHKe|)(2l->uI!|e5h;Hr0m=kbLuPW z*R7pXzovTC6|G;q-b2VQ37Q|o^0@Rl%j!#OS5{W9no+rO8LO?ITeW6c<x4z!ya~Z`Ko|NBLG{5R6`kMY~d^ho$WLG!+^~G%Sv6W($nYK#w zol;w0x@zsjn(Ae%>SwF(Qj{!RiYMIHqC=dLvbx-#5#kwSeB;7=zD5j`Uv3nE(f=>M z8ac+?x=K6{@%_kdW@D{bVZ8rc=u48nwZ0(vEB)ojG-Ku5bffkkvy7B)zKr~Kr0qMC z|H&66TVL(?Oh_}6x(#pj_Wv9I`EN@a^%)P)*Axev-

Mo8vp-bDKc}yB>JK#Ro@+ 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 delta 229643 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

  • RWduz2o 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Ä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 diff --git a/openthread/lib/cortex-m33/hard-float/v1.3/mtd/oberon/nrf_security_mbedtls_configuration.h b/openthread/lib/cortex-m33/hard-float/v1.3/mtd/oberon/nrf_security_mbedtls_configuration.h index 455b3a9abe..d57610250c 100644 --- a/openthread/lib/cortex-m33/hard-float/v1.3/mtd/oberon/nrf_security_mbedtls_configuration.h +++ b/openthread/lib/cortex-m33/hard-float/v1.3/mtd/oberon/nrf_security_mbedtls_configuration.h @@ -17,22 +17,6 @@ * or disable features selectively, and reduce the global * memory footprint. */ -/* - * Copyright The Mbed TLS Contributors - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ /** * This is an optional version symbol that enables comatibility handling of @@ -1082,7 +1066,7 @@ * * Uncomment this macro to let the buffer allocator print out error messages. */ -//#define MBEDTLS_MEMORY_DEBUG +/* #undef MBEDTLS_MEMORY_DEBUG */ /** * \def MBEDTLS_MEMORY_BACKTRACE @@ -1206,7 +1190,7 @@ * * \note This option is experimental and may be removed without notice. */ -/* #undef MBEDTLS_PSA_CRYPTO_EXTERNAL_RNG */ +#define MBEDTLS_PSA_CRYPTO_EXTERNAL_RNG /** * \def MBEDTLS_PSA_CRYPTO_SPM @@ -2705,7 +2689,7 @@ * on it, and considering stronger message digests instead. * */ -#define MBEDTLS_SHA1_C +/* #undef MBEDTLS_SHA1_C */ /** * \def MBEDTLS_SHA224_C @@ -2772,7 +2756,7 @@ * * This module adds support for SHA-512. */ -#define MBEDTLS_SHA512_C +/* #undef MBEDTLS_SHA512_C */ /** * \def MBEDTLS_SSL_CACHE_C @@ -2794,7 +2778,7 @@ * Module: library/ssl_cookie.c * Caller: */ -#define MBEDTLS_SSL_COOKIE_C +/* #undef MBEDTLS_SSL_COOKIE_C */ /** * \def MBEDTLS_SSL_TICKET_C @@ -2834,7 +2818,7 @@ * * This module is required for SSL/TLS server support. */ -#define MBEDTLS_SSL_SRV_C +/* #undef MBEDTLS_SSL_SRV_C */ /** * \def MBEDTLS_SSL_TLS_C @@ -3024,7 +3008,7 @@ /* MPI / BIGNUM options */ #define MBEDTLS_MPI_WINDOW_SIZE 6 /**< Maximum window size used. */ -#define MBEDTLS_MPI_MAX_SIZE 384 /**< Maximum number of bytes for usable MPIs. */ +#define MBEDTLS_MPI_MAX_SIZE 256 /**< Maximum number of bytes for usable MPIs. */ /* CTR_DRBG options */ //#define MBEDTLS_CTR_DRBG_ENTROPY_LEN 48 /**< Amount of entropy used per seed by default (48 with SHA-512, 32 with SHA-256) */ diff --git a/openthread/lib/cortex-m33/hard-float/v1.3/mtd/oberon/openthread_lib_configuration.txt b/openthread/lib/cortex-m33/hard-float/v1.3/mtd/oberon/openthread_lib_configuration.txt index ec8671c928..341d3bccf3 100644 --- a/openthread/lib/cortex-m33/hard-float/v1.3/mtd/oberon/openthread_lib_configuration.txt +++ b/openthread/lib/cortex-m33/hard-float/v1.3/mtd/oberon/openthread_lib_configuration.txt @@ -1,19 +1,18 @@ -GCC_version: arm-zephyr-eabi-gcc (Zephyr SDK 0.15.2) 12.1.0 +GCC_version: arm-zephyr-eabi-gcc (Zephyr SDK 0.16.1) 12.2.0 -OpenThread_commit=2060039bbfec52ac00f22a7cc3213c2ab1df138e -NRFXLIB_commit=v2.3.0-rc1-7-g0b135cd6 -MBEDTLS_commit=v3.0.0-1594-gc2a205601 +OpenThread_commit=57ef721eeed2550835c528ab7b8e77671f7039d6 +NRFXLIB_commit=v2.5.0-rc2-0-gbbb718ad +MBEDTLS_commit=v3.3.0-ncs2-rc2-0-gacea48fc8 CONFIG_OPENTHREAD_BUILD_OUTPUT_STRIPPED=y CONFIG_OPENTHREAD_CHANNEL=11 -CONFIG_OPENTHREAD_CHILD_SUPERVISION=y CONFIG_OPENTHREAD_CLI_MAX_LINE_LENGTH=384 CONFIG_OPENTHREAD_COAP=y CONFIG_OPENTHREAD_CONFIG_PLATFORM_INFO=Zephyr CONFIG_OPENTHREAD_CSL_AUTO_SYNC=y -CONFIG_OPENTHREAD_CSL_MIN_RECEIVE_ON=300 CONFIG_OPENTHREAD_CSL_RECEIVER=y CONFIG_OPENTHREAD_CSL_RECEIVE_TIME_AHEAD=5000 +CONFIG_OPENTHREAD_CSL_TIMEOUT=20 CONFIG_OPENTHREAD_CUSTOM_PARAMETERS= CONFIG_OPENTHREAD_DEFAULT_TX_POWER=0 CONFIG_OPENTHREAD_DHCP6_CLIENT=y @@ -26,30 +25,37 @@ CONFIG_OPENTHREAD_IP6_MAX_EXT_MCAST_ADDRS=2 CONFIG_OPENTHREAD_IP6_MAX_EXT_UCAST_ADDRS=4 CONFIG_OPENTHREAD_JOINER=y CONFIG_OPENTHREAD_L2_LOG_LEVEL=0 +CONFIG_OPENTHREAD_LIBRARY_AVAILABLE=y CONFIG_OPENTHREAD_LINK_METRICS_INITIATOR=y CONFIG_OPENTHREAD_LOG_LEVEL=0 CONFIG_OPENTHREAD_MAC_SOFTWARE_ACK_TIMEOUT_ENABLE=y CONFIG_OPENTHREAD_MAC_SOFTWARE_CSMA_BACKOFF_ENABLE=y CONFIG_OPENTHREAD_MAC_SOFTWARE_RETRANSMIT_ENABLE=y +CONFIG_OPENTHREAD_MAC_SOFTWARE_TX_SECURITY_ENABLE=y CONFIG_OPENTHREAD_MANUAL_START=y -CONFIG_OPENTHREAD_MAX_CHILDREN=1 +CONFIG_OPENTHREAD_MAX_CHILDREN=32 CONFIG_OPENTHREAD_MAX_STATECHANGE_HANDLERS=2 CONFIG_OPENTHREAD_MBEDTLS_LIB_NAME=mbedtls_external CONFIG_OPENTHREAD_MESSAGE_BUFFER_SIZE=128 +CONFIG_OPENTHREAD_MIN_RECEIVE_ON_AFTER=0 +CONFIG_OPENTHREAD_MIN_RECEIVE_ON_AHEAD=104 CONFIG_OPENTHREAD_MLR=y CONFIG_OPENTHREAD_MTD=y -CONFIG_OPENTHREAD_MTD_NETDIAG=y +CONFIG_OPENTHREAD_NETDIAG_CLIENT=y CONFIG_OPENTHREAD_NETWORKKEY= CONFIG_OPENTHREAD_NETWORK_NAME=ot_zephyr CONFIG_OPENTHREAD_NORDIC_LIBRARY_MTD=y CONFIG_OPENTHREAD_NRF_SECURITY=y CONFIG_OPENTHREAD_NRF_SECURITY_CHOICE=y CONFIG_OPENTHREAD_NUM_MESSAGE_BUFFERS=128 +CONFIG_OPENTHREAD_OPERATIONAL_DATASET_AUTO_INIT=y CONFIG_OPENTHREAD_PANID=43981 CONFIG_OPENTHREAD_PING_SENDER=y CONFIG_OPENTHREAD_PKT_LIST_SIZE=10 -CONFIG_OPENTHREAD_PLATFORM_CSL_UNCERT=5 +CONFIG_OPENTHREAD_PLATFORM_CSL_UNCERT=12 CONFIG_OPENTHREAD_PLATFORM_INFO=ZEPHYR +CONFIG_OPENTHREAD_POWER_SUPPLY=EXTERNAL +CONFIG_OPENTHREAD_POWER_SUPPLY_EXTERNAL=y CONFIG_OPENTHREAD_RADIO_LINK_IEEE_802_15_4_ENABLE=y CONFIG_OPENTHREAD_RADIO_WORKQUEUE_STACK_SIZE=1084 CONFIG_OPENTHREAD_SHELL=y @@ -64,6 +70,7 @@ CONFIG_OPENTHREAD_THREAD_VERSION_1_3=y CONFIG_OPENTHREAD_TMF_ADDRESS_CACHE_ENTRIES=20 CONFIG_OPENTHREAD_XPANID=de:ad:00:be:ef:00:ca:fe OT_15_4=ON +OT_ANDROID_NDK= OT_ANYCAST_LOCATOR=OFF OT_APP_CLI=ON OT_APP_NCP=ON @@ -73,15 +80,17 @@ OT_BACKBONE_ROUTER=OFF OT_BACKBONE_ROUTER_DUA_NDPROXYING=OFF OT_BACKBONE_ROUTER_MULTICAST_ROUTING=OFF OT_BORDER_AGENT=OFF +OT_BORDER_AGENT_ID= OT_BORDER_ROUTER=OFF OT_BORDER_ROUTING=OFF OT_BORDER_ROUTING_COUNTERS=OFF +OT_BORDER_ROUTING_DHCP6_PD=OFF OT_BUILD_EXECUTABLES=OFF OT_BUILTIN_MBEDTLS_MANAGEMENT=OFF OT_CHANNEL_MANAGER=OFF OT_CHANNEL_MONITOR=OFF -OT_CHILD_SUPERVISION=ON OT_CLI_TRANSPORT=CONSOLE +OT_CLI_VENDOR_EXTENSION= OT_COAP=ON OT_COAPS=OFF OT_COAP_BLOCK=OFF @@ -94,16 +103,18 @@ OT_CSL_AUTO_SYNC=ON OT_CSL_DEBUG=OFF OT_CSL_RECEIVER=ON OT_DATASET_UPDATER=OFF +OT_DEVICE_PROP_LEADER_WEIGHT=OFF OT_DHCP6_CLIENT=ON OT_DHCP6_SERVER=OFF OT_DIAGNOSTIC=OFF OT_DNSSD_SERVER=OFF OT_DNS_CLIENT=ON +OT_DNS_CLIENT_OVER_TCP=OFF OT_DNS_DSO=OFF +OT_DNS_UPSTREAM_QUERY=OFF OT_DOC=OFF OT_DUA=ON OT_ECDSA=ON -OT_EXCLUDE_TCPLP_LIB=OFF OT_EXTERNAL_HEAP=ON OT_EXTERNAL_MBEDTLS=mbedtls_external OT_FIREWALL=OFF @@ -115,7 +126,9 @@ OT_IP6_FRAGM=ON OT_JAM_DETECTION=OFF OT_JOINER=ON OT_LEGACY=OFF +OT_LINKER_MAP=ON OT_LINK_METRICS_INITIATOR=ON +OT_LINK_METRICS_MANAGER=OFF OT_LINK_METRICS_SUBJECT=OFF OT_LINK_RAW=OFF OT_LOG_LEVEL= @@ -123,12 +136,12 @@ OT_LOG_LEVEL_DYNAMIC=OFF OT_LOG_OUTPUT= OT_MAC_FILTER=OFF OT_MBEDTLS_THREADING=OFF +OT_MESH_DIAG=OFF OT_MESSAGE_USE_HEAP=OFF OT_MLE_LONG_ROUTES=OFF OT_MLE_MAX_CHILDREN= OT_MLR=ON OT_MTD=ON -OT_MTD_NETDIAG=ON OT_MULTIPLE_INSTANCE=OFF OT_NAT64_BORDER_ROUTING=OFF OT_NAT64_TRANSLATOR=OFF @@ -136,15 +149,20 @@ OT_NCP_SPI=OFF OT_NCP_VENDOR_HOOK_SOURCE= OT_NEIGHBOR_DISCOVERY_AGENT=OFF OT_NETDATA_PUBLISHER=OFF +OT_NETDIAG_CLIENT=ON +OT_OPERATIONAL_DATASET_AUTO_INIT=ON OT_OTNS=OFF OT_PACKAGE_NAME=OPENTHREAD OT_PACKAGE_VERSION= OT_PING_SENDER=ON OT_PLATFORM=zephyr +OT_PLATFORM_CONFIG= OT_PLATFORM_NETIF=OFF OT_PLATFORM_UDP=OFF +OT_POWER_SUPPLY=EXTERNAL +OT_PROJECT_CONFIG= OT_RCP=ON -OT_RCP_RESTORATION_MAX_COUNT=0 +OT_RCP_RESTORATION_MAX_COUNT= OT_REFERENCE_DEVICE=OFF OT_SERVICE=OFF OT_SETTINGS_RAM=OFF @@ -152,10 +170,15 @@ OT_SLAAC=ON OT_SNTP_CLIENT=ON OT_SRP_CLIENT=ON OT_SRP_SERVER=OFF +OT_TCP=OFF OT_THREAD_VERSION=1.3 OT_TIME_SYNC=OFF OT_TREL=OFF OT_TX_BEACON_PAYLOAD=OFF +OT_TX_QUEUE_STATS=OFF OT_UDP_FORWARD=OFF OT_UPTIME=OFF OT_VENDOR_EXTENSION= +OT_VENDOR_MODEL= +OT_VENDOR_NAME= +OT_VENDOR_SW_VERSION= diff --git a/openthread/lib/cortex-m4/hard-float/v1.3/ftd/oberon/libopenthread-cli-ftd.a b/openthread/lib/cortex-m4/hard-float/v1.3/ftd/oberon/libopenthread-cli-ftd.a index 18ef15b67c48ecd1d05f1a70044dd2bb6b4c6e27..9045ae23462a3f81283c02d3cebfb5914955df89 100644 GIT binary patch literal 248588 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 Y#JLp61i|CIY}1vZaQ_3cND#XJ0hH4yYXATM delta 61854 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 F(v-DPF2oC&UUg)3d- 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 diff --git a/openthread/lib/cortex-m4/hard-float/v1.3/ftd/oberon/libopenthread-ftd.a b/openthread/lib/cortex-m4/hard-float/v1.3/ftd/oberon/libopenthread-ftd.a index 2e99a0350d5e88ffa9a9a6096c76ce4a8586b9b2..4877392e434230a636e6bada27694fa31e535f14 100644 GIT binary patch delta 345026 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 z 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

    8*sEx|5=hw>zeu*IR!1&0 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

    2>xty9Fn6Qc1H{j@xkKNB&p3 z`}Ebdx9|0d*p=TT$M*E$d{;g8oQL#=8=HA5n;RY^Pm+Y>15dcInJw8QckipRa5S90 zI`6*IR~O6>?efgLo0DLMU&#iv2E zzee8Con~IktMG#A(r+f8<&<0HFzgZIn!%3`7~LiC4Oq<Gk^9tP)y&${zVzHjeGVo)Ef3F(&osKt%?4C8>C1|C z!;K3tH>P)zAVM$eU*U^22kzwHi|zz_@M+XUJga|NF7(7_UiL<(>QYpLT;Icl)(?fo z`d#(GSW(fzilFvC1Ext_Ma8=V~xCQ&#Hc|8NN1L!Snsx5H;cD!dHa-03IdW1G zRd{N}sPBK%Z!eOXdub`Mv@nxBxdq*;$M96mm{?B7zV7bhDI-%y2-W1fmkMDUX=DFH z;<$r3YfuS#lvGs$ak$B+X!yD&fj9UAslHRg_osb?e`f z^G+0HV>>u<-E+P#Q&=sNqdf<$s{2N0lK2khSQ>pt^-!>mfN$Q9j)<9{HVHSbRQ82F zt=^5T<#0>I*ovL*gIDx|oV$4FH206qb2seueVK#SaBlWpO@T(Re%cQY>(=1!ObnHl zm2nk!R!nv4-;nzpDcX$OGm*X}M@Zq~_xdfr0U0k+%c2V5gR+O}Sy6EKnqP&eb2n@+ zy5{}9m95z-XLNs;k3PXps@ZBgOT3-`(b`l&Jxh-%D3+~$(HPhHEq)h+s&5yZ46eS- z)SGSHCU0PE(Kw34dwY-WZnk%{F%3sch4H2WHfJ&tX3;iv0XqG&RW^aw;AqY z2dCpcN>!e0=u5*{eG2*8)DO{npWbTpR>2gEw~CS5=OuV63)?C8?RKkhTuZQ(Col<@ zG&qjkvlEl_ygZYv8k5VK?}6*CIT|{Rqoaj&K`W6> zT0FK3LDWTP2#UWD1b-6*2m5kMLD5JI`l^c*a4<23%Bnr|=ANe|Aao?o+;?g)?X5(j z;O_*bZ|RgiNeI^#I`pX-DcFQTofbZ+0v))L0Bd>t`0fH}vH2eofGj)vAA*fR%be68 zct{XDm%a0SWO5;0>E0)nI%!U@D@AJnrq$A$G^E#bHXv~9NG7H0V&RIaZ*Anz2}^n-F9`|zMV zKwmy@7PB6bXRt$u3xf9vcKHVl3$Ut$kL8r&eC@2vG$*-!T1p3 z_*GiCP7609)Mcw5oaP*L+cXKIitqbk4sudFW;?3=q4M(JXlH$Al<_h;w)eTg^S@ZmBJ;Oh7=MVCip&0)n}^ay@omxhKJdS8bzo>wM0{h zujx1nmqRe}PNTyifQ=BSZ&FRtjlk{;g=Oj?f)1bNPJ*$ceGxqAY%7;S)H}^QW@Lym zaCcYW$>FsWuEc+Mk{(odbIdO7GDo@AX+fu>UYGO`H?hQit(Q~lV~)t5i}e_EzZ$~= z#>Z;XN&fQFjjm*c8FWmkEp5>*c7!TsI4}X z725Fzwfzm37Sas(^72ybB*a=kJ(OKNf!IpXYGCJ1!n2625wR5=u?3BYZMi|Q&w;iQ zu_8>TG~zRAITBGN3}tncsEjTFo@MkaKDP z-Cm83x<5U%B^1tb>aeS`m$beT*rrq1A54a%fnqqpZW5AH8+FIeUl7^^3M|N8c8SQJ z4kBM0AWhEz@-Sm(@>f~T8**$+Nf7!^5ORasNTj?LC|ET(+rV)sel*+q1q(LqQ;Z1J z^8esq(>}EU!es@pcqd4TrC_0LhRFM^mW*Qobo3_hXDynvLZMOVS#DsX6V0*g>P}+> z>~bx76K4ySHQ^Wh(#P&_$%$!02WC=QqR{KSs-5>YVU|C35xnlN0fEG7KJw&e?DY|D@?JG z%Ya57uhg)@4-(%`56c3+1=MatWU%)6@Y@uMxh|46(d|YXM0hiCQk_QufA2@^?CfhtENa@>}eY+~Z}~505`DCxrZ%WudJH=|)}|bDfvV zbaFcT<9T_2*-48CJk<-?-_Oev&C3B3Pw;VnEKeP5IjUPFW*FQt&FOXPpXgTCc*WwP zFY^?)#MKr}{C^>3ug_(na|AWk(nyznUF_?Rw_yh;0ygC%&Tgy~ z4@JBcaW>+u&A6BTD1Md_Rg2Ex-d9)cb2<&FQ-63{UxmLc*f$gR@q(0y2h@WKM}tw@ z@(HVLYg9KMerhG<#kQmRRffzxwb%rM=4JMbW|?ollpd)98&&&J>}j#f2T1jQqi-4C zi@4AbQBv(Q7aYR1jE%mPm9;(@e@}AakmJVBWgC4D@>HZ+sotrcjypLe{Ju>Jvd4z| z?hEpuNM3p@X8lTaP0QGK7jU-TFFPmQmXn*Ei#3E!JBs+O-C$y6d%|q>UwtaKh}iJm z6mL@X;g+&J`14N}<+Y-iRsZ;3>f^V<{`I!onox4t)faxpV#__uSG#Yda70vMc|C_1Sc`8c3rH zV~I>H;tkzI=y|M}&^F8$PIbrL@*B{nS;}ufm*TZhrlu|<^klXOXkD#=tvaad!fFYJ z6MNvq*O&+!WbiO19(>xW^fX%V?s2hGvL%|mzrhe8o_M-k>8UF*7^tD10GY!7h86G%E; z6}W}ad90n#HoQQzm#tF=yP3Ar;9aZ(Z?Y1n5mX@ty5gI3N+#~`@+$HY3ab#E(vyv< z3yEVky<*W_w6R>h(!=P&T&i9lWtG4~uGM;EHtHt2iO>nGnb4Df&Q;e&76Z^5Sc*aE ziRp7V0%kY@?rVW(Sw}*$6k<*9hu(aeHVuk^Y3^|La+n_VWK_E9pa{OYR_Vp=GAb{J z(HSARPly}6#aF~)OiF=u0c;1f71F%($8{s>Og}DQ_nMS=QtDn|QvQP%+yjzwM-0sw zw7pG-jdXxX2bbsA*OD?!Y-7D-B{AiRTKztnOK1in)#r?oL%wWhSi6aD!dEo(WOHSu znyx-5SMdYI}3H(a|Y?@|9+4`=gF4%^4f6t>4jg%#YT^hkUZ_?$->d zI@pRh8`s$iO2MQdXoND?gRJ>O^N@eDXfyt%jlB!BT+tqim&|@h z{n8-2R{n?L?+Joe1I7U73U#pjBU}oK$1V^JAoU>zw}<#4HG}m*a9t4mH7ht|PA;Dn z+L`PHz?5$Vezf8EMNm9hs`5XS?Z6;-B4DDYm1QLM=^n2Chea8tu)nPeE2K%6-P>I$ zWnWa|qVHYD!+WwfZil`9|JhaK7*5z1O7ge0&hy2+**=RZPg=6p9A+OdjZ z%VdL6|3x>&r>nn^q+Aha??o1*l3GjQFzrHBs=Du>LwFi^3h7C5skK6ibF`SFot=CN zM`$;UinXuzk=p*pDD9>b7O2%MCq{`C}PrlhRIIU!X<7F+$E zPBp7jny#cN8#?gKz4Xa!_tQoL+f5NW5mCwsQqqjc?Avt3feSJ*8Oj*kIhjGhFYG7< z7nv~=K`6VOf@t=9CZ?z}>J+sbAHA4jZe(JLIfz+Yo96Pe6ie8KZt7|?3z^_%@MU}w z)FR1dHukc?ZrqGm7u%Kvuch=oQ>(sN&Sfe2T#pMko9Hd!`VxLu^LjxvO#ZuYU&vCe zv#>RUC{q#699a7~M~LYf;xb6mvK5E10@JZJLr%|D@-e%X{}r16uV!QZdz$U}IHV`e ziT{zU^fYZir~EFAP5E50*AMQk)Ej87`mvAl=I^c`pv+)na0z4Sa0z3pU)LAA8|=%? zO17b2AFNPaQ*;j9xhQ5Drxba}mr!g;Y=<&PTaYq{&qcGrHx-$Q+l#EtVz$(L)Hl%< z(lMER+bow1=ui~-y4lxA7Fwcd9>G-icke~IpioGMy1%P(GV{0pQ|APP&Z8S^vr^&9 zXrGWmOlh(W!DQRRY2~oNT~?QlSc)@tECnslWFbr#-EGDViNf*9NUFFe#w%UB77jFI zip_||aV5=+{&^1iC~u5cRv=ydEfW--$dyz;R8}4l`@6Nx*J~RtU?@7@G#Sv!&1r^Y zdbLte%nJ7zlk1BoD$rr6V0Yf3+yVQ!&HD{e^ohhD8Wd0H)Y*WB8rch=y$zZjFc$+3 z5&ENF`X5Sv3;SttShDBOKvObWfziRx4Gl(r1spD<;SY+Zfk=kbCQ^j<5SvX}yh?8s z8iV3L=@cI&{G!1tK?}QRI^lNK{-02cf`5mH7M?6D^G9}qcTQWq&x!@DGxIVpH`M`(;-%m3!duXFOe-=jK zN;Z5JRw8HFr4O)~uzOdifo+(jgkoj74S2Hhg(;6u1{aWAcQKrOGfU|KWm0PeRxXwb zcq`_1zP$IDXq{OOEas}mDYEik*d%az-XNVYYXMD(^XCAvuqEcM*;0(Rx;n!Lg*6KPUsClm#J30oO6IKWrcH)^&(cd z%G{F<;{h2vZeEt?S|^(T}Lz90%dmMNx}D< zR61k9^w|q$35C<9&8Xx&)H#_|y=eTOH;!!Vu5nSRtSZ{DAR?CdcRYI5zDO6%oQI-mdkKZ+>O1uT@LnTm98?> z{?~&O<#h8=VZ1oBCz(|LodW*m z4;85iKO&&NN&D=34UXh+2zQ%+KlwvxCL%GVm+_-1qKYlrZ-`asokugmMYiXV6x9n5 ze~3cT<{qjnvaXn?!8BCp2zeg6T{0!JwnLJEdpS~bjus3-b5y!E8DY?Ys*5m2gH^t< z!g39!Wd@D^moylo5pXx51+f1ixyV#Im4uda_3IWZRz3UnKT=5NGzm2ee;!nGVN-1Vwfiva5_9{zXD^rz1{2HY-8Tc= z7B3yTVEUMuGndR*x`aJxH+5lu2@CIv#c~hiO&93-x(gw#Xw5yj}(r z-V|@7QJT_meZrv7pdwsqea=Hlh^Wx@KC1O>HguJ;P?-*pCt;1Nu(qGq0fu=1F6~Hs zk4IS;w#E;F9(#^=z<0futa14~N?O=vKPe)kS>py>H&$GwxMJSZsa+ne&7Y^x|0Vtv zZ4Gwku#=q>c*Eb0|S{q{2p!B@T#P5u;i6elf&omd|@Ei<~rW-r- zow1wlLy`S$cxY^XP|8;WGD1)6$mp%0j4Z5f8!|c-M1C6NHjq&rC$r{hIBUB)TM1!n zhvF~CHlro|s{m2ZlR7f+d$IGEqzn#L!(!Q_P?Y{#(9onqT_%)S(>duUVKMq#+^|Ki0NDb*_K5PU zAr1H~k1Emlr6r81oUvd+#o`&|(}m(0Gt2Lrx3qZS{PNigh?b>2s@S54jeOL~_c!7k zGRzapOl;J330`Ppzr2j)Kc=|QbT=P86Hn=(=lU58ts1@vOW>x1>uVoVx`-*U!i(D2 zAd#?G6+YKs8lZUJu!Zl*vGqx7l_NUVmT!!!Ir(cMyZF97f>o_oqC9-gLQ+1*SusC> zip=EtLp}$_Xj%t|M{NmaEJmnF%$RX$IGOQkq}(VZDa=TZKLs<0Z4_dqK)u30<(a#v z>67BIyM;#KjEDgcDvShNFl|<+^)Ib1bf`z07OHgYiT9zej?%@{zq~=YCbG0A6$jh3 zPO-uvk8EQt8)1kRU?i))jPFy-o(ijcLV1fJ*s)1Lx(t|RdS z1d`4Z&z8Ldu-A2fJR@+Yw;7d@;2~O*b_^d3-*|Rvcw{uI`_@P89DZ=;* zc-Z(VnGBTVpx+dS>Z4;$gGJ!zP5@uk7H-E3>O@ZToKVf-cEvCX97%uW=5WKv38)i4 z>M#+kaG5^A05OwPi(_fv3Kf8EkvKid?f?5G$JEoK+yYp$sM7bU@4=L3#o%$^zjHs1 zHQgpz>ep^lUY7KIa`MT}T~_^!J<6YS0VJ+8!-|f5fLtPR)?1!e7KG^g^y$ZUNcH&z zxol6B-XYrRKdV(tIwS3ty6V3^tTc-3g;$mG-nR{a2?^Dt!P8eFgvao6eQ&pu5mp!W zCVOamlYjQUNlMVSv3^IDnc}?qT}PGoMA210yIwgERE)crxmS3P`kf6*u>oq!ml~B= zPp*HWM(t6Xl#L&5ac%X8x1bya8Dr(t?hq^-z|VC{b>9mg>+$s22bK} zX0Gt3Ac96M0X2T4&yABOYd{uOg@R|niK&TCCtQr_*zb4miurVvA`H2Z;7>Ls~Tdm5g#XmKfpLm`UEQd+x232 z{g}6v+jaHNol#Q6u{7{$o6bQYw&_Sx+NR^HuR_fN>JaV2c&Mf+=GLw#57V@SMrw}R zM&X2rCBCZ+^4zArrRYK{pX(6vDW_PQ+W_NFu31IvI32R{r{i-V;$0Mv^C7;@>!EEN zBHTduiQ3&`(9uw)d^kU}%oM;Lx-!0uB7k^|LU6&f$Kfn3%%>1djnZ;Fcybl63JqSN zg`EBlt%%^e8Tcd=ka`4V%qQ`?w5l7&SHN)PMtuTL(w(GdRL;hH3=^okz2+|L&XY=4 zHtIgu8!CHW39FAgtJoxQH!JuE+m8F#;|O$TV%cXODWmDyMaDUVEwO9`LQ!DvoI@%b zPG1pJu-OzWXAKmrWy;40cC$Mv*vIx$P|JS$7#k4>)t!a>PZW#s7$(;;cH1Y49eWas zKEX#t9NR|01$GJn3teHAS=%RyP5g>kF90!_5UvYA8@|6aK_2I88Zo0b32f z42Y6h3sSHvyNq!x?o;3{ex;Y0^Hboe`oi}4gioZp0Jn(%4zW%487g zy9Ya!8D(^63|ls|8HmntR2r@-&iA$3A2yCG{JwJW z>8nONE_>W>b6XlgCg2`|(TAHMu{cW3X^8kB;xxm&xCTF8BM!0Ok9gZZSE@UZC3OQm z?o_t~b9du?hL9rs)))QMY+o1BFmRpy;c2r&8XlZIt=zr}@GASVX$T)&HEr2*2#>FN zZrNpo|6X-@ncX8~{-t@K$A15Nttk!SI%`$Yx~}lDuo{28vF@i<>1dSOm3qi$vbieE zZvQ!yz7`iV{_UY-pGPXz;`p1c06cia(PK=TSq^KD)Ei)?MwQd}lCH*Rhd1=`@B2cl z8hw$r-4%k}u%C8OV;xc6 zSMTGcG*wfEx+7wWZd1xS%Rn$p*>PBO8xE)(1jmVH2ygO3uX@w+kY>7IHy#i*dw;Qx z1I_zd)f)VJt0&g>9Iuq*xoc~UFzlY-zW4Z!IU|oeQZewz%@UaHYkb+2`Wg$B;SuA@ zx-C?Ws)~Uq2bJ&`jD2S5g_`H)?62?(qj#8_$rNL@Qx(TH4U1{DF&sC%v5tRv|JCa8 zV52`|!yy=q40VTgC{Kji8+|&kh9ga$LX( zq%HH|aj%hO`=<{3(}&uEG2u4i@)A-$b@-+g{AqN6dG~8`A8z!8BfR#o0Y{@Zqlv_T zjKzL$@LCFU7gp@9O~#d+_pj=6Ty|(~T+<7Oe9=zz%ypN~1Utkuj3-y^l zK*XYO_m!k_?;OARBy@06)C?f{Y(4_(NYt;JIj@KF zF;S}4r|fQ_yEK9|UB+oh1v`(rK%ji3WOhAKHyizx(q&qO zpmsF{by<0IZLJCM74CVw0wd0v+DnY2FBAcNp$L4`JKc}@DxB2&)oaYKIdjysi~3P! z*~mFUCixvm{XD9~$PbSkWo>m>%(8dBQe2*s^!CSfx!MYtzNNB+?GQ4fPsX8^EVUN2 z<0gz-!W-No&badV%oW;Tg~xd9fw`1z@MxH_i#{G zVD!guUa&yz>{BW3$Sm{dcG$}-7!;nPp>F+4CL}1U&>ir*svw6Hx=gcI`BXnpmudR6 zyu#@=bQDtuQEzzl+o@}A9oE)L2W~Xqhl7idl8~yNkCCGVUVxDqZggs=sQIIik*mOt zeyw!()YOK#h4y^S;;FDRy20j-LJ3pcI^G9p6u(q--D}w?WLDwf|n6VKU!%4cNNPlH6?}pofQoF%? z_iLpXu+cm-bQs56FYLDQ36wIL(!AQu)7tL+`SBmN7xlZ4yWt1uU%*IlmQ9zjS=d=|GOVRO=JFj|)5Obyq8-_CdU7 zxUjUql|tUns17l??g$$c}W!L?2!C>yy`^%cB_>3Q>#Ah4f_7l9-3jcx!2V`vTm2JWVZ=jxf=H^ zLvS%QqInbEc632Cy+o}GXI)r#C_Z*~xXpa%>tFH+HAU``=*?;dbP2MpS^unoPPmw+LvGD@_@PD#mK8Dm8QWnWE;BWYLp}i9gN;$CZ~|1c1U%JKyPc(g$cFm z4mh+15ghlDevEUM&uj_pLp1Lxi@m3QcvBMFbYjGid5D!Q)YD2hh3G!x^Pmo<6euKdWi*(+It%BpaH+*MX ztA}PNvQHV!lSe!=vEkBsb<%LzBVdj>M|=0tL`9QKb!{kSGb^SU)trPh61L0xM(nV; zY3__iddfC@D^JfmX&ayCX(6gkOe&qYKhr(HZS$y7ZV}ziI`O3pZN5_QO4hmkv(>-& z0^uplZoEX8tb}%9XcfdDSRCBjEj;sj!$aMKUWU&Ku*6h{VF<7sGw4Sx<#|ZOQmKC3MS2x4H{iw|FtrMkPpvcsTwsNhj8ZG9)SvXYuuT-_3!I`d9C03%N3YYUfMZWjdO=;TOAf?|w!Z^! zQR^@ztF&cD=N4EzAJ>$HuNVggBSOo?xDKP9qKR5xyo?#tNOZ{1jy=Jc%s4}z9}0$; z5k&s2vk(*M$aAuceOCRpsTuK<3fj)KX7{4YECzG)U zRvp3MlNyJw6fI$0yb*!8y`%@1&WZ3g(L;Vcgj3>HWiP$;D0JtmxLK)M+3_g!L$pep z@{<1Ke~H$%d;xKB5mm)8f^q_NM5rU>9U&X4W+cKGhIe>Qw-_rbiP#jPWXMPH7Eu$m z>`6q0M$#YI6ooC?oXUZ_m5Kvd0aEuviPbG7B(1HsAKD-o5V_V#Vz%H6 zydVV=?cD})meNHos3RcCf1$<;mqxwk@4$u{jh)u_y|!KOdZHSO$e^ z^%yQzPPZPlr0`QKR6nhShVffpaXrO*F1DBP*6V_7&;d9x-I0VZhZT$Mn!dH4PbhZ} z@iQibDRL`6@KZ7utaEQEQ0Y;alCxE z!oz+H9%{GIFwFanw+$1IPM%$3zlk3nZ}aoc@itt5Q3{i}Hr~;xMhv4NTXV|=TOEQ5 zr3t>v1lRJ$AA@J6-py1jboRYIMN09P)5_jB3-ix zI~2z((ZMwW^s^}iAFT$F-sKi8o{zq0@yHYPX)FmVS%gIEgT7*5Krk3 z7VuS!PC@97_>Tch@mN#@ej&Th6n{|0YXw%!!hlHlBL)6QHd?}3{sQbC4X$H8fl$IY zah8q}JR}LU5**7~O!2>%;AniVQi7}S&x?jI5wPxvUzG`dOu#fjg%b&y5H6VD6he}Y z9!E$x2G1TWw9k_;bpsDN^`n4EpeFpta_>nQ4^X7%#a<_w{KSld5K37o0(3{X4-f+U zO#HmCX?a+}eFZ$3wVUvrUJYL>;v3j?5-t|_Q`i#{en`O6*fGE||C&T!N(5{uAi)_d z2D`K*zybl6v1t<4ax{x=lW@I=uV8C-#0M(x(Kp zfCVfS+qwkT3WREQuY_sW!i#GyzUc^xU$qUd(xnp*GnYsKtvHF6LJ`)G@ZfBgz->M`Ql2QDT)9}Waaa!?$r2WQ)OpTNDp4?P+k1Q4 zSd9Y%f2X=QXH#8K+4&PItLK%^uDr3TX6~5k+$$xYGBC#wHHngee%qwQOHuiRRfQw; zR6{*;1|#)_^OjbYEL>7kR8g@QGLM;aU1eoOB~+a$lb(yg5&T8B(tE?|nc;k4jGENw z3sMIvK|?f3e)HRwQOYb{40!ky$}J83`p5accLr%0O$NH~#T(9x(w4Dra+nbKwh z=)DAke+v1?polNm)R$HG7))T;84p_t0StZQkChtBv*ot#RGE_sZMY-BXq+TLXc9sR zmy$n6Zr&n1m*6V7cY3Sb7QRhx#-dn+;L~XQM)|ALWeFhLA_9YI4lzJ+sN@5&H~A0@ zk0Rk^Oka~IL(c=(M0sSTv zHTfLVDDoe~E;IS{D57e5K#uC+TQ&wrdnNg(GADe>u?2qO(+Hz*;EA>aIvqxvK>yz<`za#k5F&h% zjOttz83^+ThJYhw_&oB_{g#nGL0)%-)Sn<2(i|Wkd=8Tj`oEBmk_aJxyKGC(QWaDG z-z^#cN&8As!9@rHhC@M+xJJ|3NPJRDFcBq0E^&{hq?HIkBLS<=$s#Y60&kT?k8mHw zBRrRUV|b-0B9UMaWXkYqMuL5kA$)QcWYb1|gDmocS`IBQY2A-}63p@vzf@x@<};^a z>Tvmbyg@OcdP&u1P%{}%cB?6kVd3g}rE4a|FL^OFc(gOvWtG#Yp<2*?oIyoWTqr*l zhIt7PRPz+->u_8r6`_VS{>!btZKX+!!!S!KpMrOJc&rNB?2+oS|J9Vp%WsKNhw`tZ zyto8(3iOIV?&Q93r59iO4%F7$BQRyW_yKf4uEb()=HX*|sC8l8XG1($b;8J%&Sg`y z>K1b%yOn0)-d zXFzL8wGwjD4CuZqvPS;LxldPl{%~kM&f)3_doN8G?gVvo@Vfxr zh^^;;!=-M@J=!ryf1=GD+M;73I+Q23c;j)w>WS}g2y$Hw>>5pX+CngsFK@w-#_GRW z+@Y-od>msU{IR^@3s`Hp(BgH6euL;3N(nzNFMlE^UU{7-k998c`4sk&*1?7R1 zQ0w`%pL(OAIThrz?*-YXT7GNq404AS0w<4f@QdST?+S^xue6dK+@i;9uq{v<65eka zP<#@lCwyIkmw;!K;1Xc%CV+w$@fZx$Lj1^W1`9v@di-d_(^=?e`}9ogLBx6?T|$S6 z#k&R;K7Pa>8gCzJ$4gqnE(D=5!A@X{8b)F%Kyk&}Hvv0^cPxkQ?4cK6;K(^dmJU$T z3^IKIR>o`{1|4j0;;Mjx&rGSf!9uT_-Ub$QmA8?_IOMNHu*mO?D5Ie1VBrI4J$`sS zc9qOMCKelc_P;#Q1$UarOF*vYlU^YZP*l13s_+jX!Bbi$j+2c$=`4DH z#Fz=XkZ&Ac6baP+dx>6aHFB;3BAHixj36}92h=utjCYu!8+$(O`OTn zj%H_~;AfL?tp*loO>>gc>vh*Am-#+k2};2 z6v}!%enYvE85R)=IfRP=t2nLBj+hu1f(ncT)o}QF_AZ)a%K-~0MWgK|{A6NL0v73# z#Z^4^-k^B_WaE=`yY%R>x+u71DFz@gZ{;gpHP zR&fDDL6eER9^`uYjWm!)BMqYft$=eyu<(Jj9=`y7dPz+&v4~WGrxo^O z6N>`|DM}11?lQ5+1q z1B>rXEH1e4L7|n!w)`P!FrJ;<*!uo#9^jm7yErp<+#6m-=FxO7$MP6LZl1B?4i zEJ))OX9H-^tTVA_2MfJYCmL8BGqLCo7Jd0+wVue~CJr=9*GqG&6AAoJM!3Z{{ zzS%%N!$7{=M7}#53o%+<-fm*C2P}Lbt;eqnKfMs%HnE6=m`xgs6DAh#f(4adJ$|zc zEZm{pGw~Hz)N3p-XX=&_-!Sc?omf;DSd25VsPI5SjYWxx#ayt!;3K4%V_>mGXCaGx zE?D3u0vb>s*ICG@Y6FY8e9L)Uom36%VlBawIyRV-TLx^s4c`h_FS(IuF2=e$2o}RN z7KMm1*55h@9(a0FtkxS&z0-<|9{vD z%+1N+kDa#kwGGbA!|;3BlI|TKr06=nP=zVbvHt3siS0$J0#Jo%U}?U<(+7W?p48BP zfYPMocDAL)MYLa5b{}*!M>lLba@(@|jxZmoIsLo8tED)QK9bZYSo$x`%HRVBm0UL9 zi{>BNf_&e%HSQgt-lNnd1YD~~(~zZxLE%e*s!o_+fq@92sL~Lfp3r26I!K=*{Zo|! zTcWeuxu>MpVV@sgpYHxftTTQkIo#=-Gmtl@-GZaWE?aRqFsaAQZuRUP- z#6g*Q@KXBkEh~#VKY8Xn3qCSZNtu8fCbSIx&=lLL4DX+Hu2~sg5&z7=k)wh>x}v1W zeE#dtv{`+p+o}(R1ui9PO1zhlhR`YEpAA%($L2vjUeo$b7wSU#{TF$SlXBHzwmOyy z^M@(c>ieo~&_yq^&^+1P+?G0W`@xf>AvQV``e7cZ{5AeLPfau(=98K=xPHM+M-5ZB z?>QVAnm1I9!x^7ryKMuwy34YO=T!&y?(Kq%LU>rLxqiMQI2Fcp>0T3`oCPv17i5-2{kOB&s z;vu+Jz&=(XVR|t`p@gql6dqeg9~xeKDqoP1vjp6mY*q+jE%9_Vm4;5~D6t1*JiS-F zSm-<~VJ)wH*?9@~7xDcWeIo0Q=&#p4h2w;EMY`emZY@AqSH$fPY&S1h9G+D7xeR^; zG<31CReyT{CO&z9DU)#`esGu8j8>+3Y*V-ReD-$}4a^B?;dt;8AQWUV0=D=B9`r%@#>`t$<6|E(t#);4$n&z`COh zwaa)d1F6@rp7cVKju3_erUVM{^TOg^4Zrq}u;@Ar_W;MUW*My&`~=pU1d&dVo8Y?u z6FaTqCb1n74ndd~n~6sy+*82Uv(LN1H!znrt-Vd`u6Z%*%a`+9tz}K?(!8NpxEHEG zkH~lpp26OeaHfbaV?Rr{Ou*&%3KcgjkC=4hFgTDU;Enb4}xOB?CRx=7hSLR z=7nF|2l4*@Wq0tnNJWjz8M98gO{3L>#;h1+iiL-aRX4!!*`he5$A%*d zQh3W)wHMzx0?U~}Q!&`o@ZM9^zP$Vz^_3|(3u^{qb38kHTxI!^%JJ1TRSOqn=Rv)p zrfA8exeFK9+)%!_s(eAss9OzN>D{r1XxQTxF1V!&`BvT>uk?xhPu%&;5(u(xPMCeu zG&PU=dn&W*&;y0FeyT~b+E2qpVu9RU$kS?EEtK1$@TnoveF)U@$Vw_zARX5YBfn7Y zeuM`+zIaiokdk-L%bBME;rHf5+!()Gx>g`xACScMT;4pDB?6CMEp|n zu{Tcw(N-80T_SuZ!82u%U#snGC6;LdQ;GTr5AmX?A-Kr#EQAr=_1c`bj_xlYNy!&Q z3_?^pQ!C_Nd!;0}Rqj+3%Plm(^9T?Aozj0u`a)1diX2x_hX&pPZLO8?`xA`t5V0u; zL?OU@Nw7#35nw6-y758e0JC&~2Vdj>z9>rgKEi|VmwsRJk&zkFM_!n^OwywykOy%o z$7C`$p_a)_Kop@!5QO6h;V%Be4Xyxxa)KJn>!Wa7{m1d@c%>18$w$`6|1^Z~vLsiO zhMzDR2dp=?gy8xm+H5MFs5(NsjUA0MuUAJ{F(713QG0Hhs`kR;*;8SOgrA~~6Z?2| zER6m5GD2*=|JNYF8-wYAu;SldLq(Y+tI|SZScr*$!Ihil;A=9rtqB?_h$tUyd&m7TFVVH^;aVvyS zCy)X!nS~n~9|Eshl#?|w(u7$fFg?i-|6Vzt(|N;ENHWyR<}OF!tpr*OV2FI&gjNPv zTbb~_W@5fQneR_ldnkYKMGr?rKubz|#CDpnUJxQEDd0WC*1clr#R1Lr?<|p#crxbj zH9<51L_7x8p6z`RKS!%VG8Aq90P#M)i{f7%7U8z9M|_Nk_wF;X`YxIOkfQd8`T^kz zYFy9%Ucmi%@_$I&mO^c!C>6|en}gh&e)Gie>3Fb5A|jnXh6tsS7yX7?LvGdbT#h-Z zQT*XR^zpMmjM^-xt9r5oKcZ1>G*L|#RM}~$tanXRy}9xvHYdq8fxT9Uw*qLq;vPs< z2-dQBN8aUeD>rDk!|@!t7Pz8&BIEgd^?q!SRRjGxttemH?{a5sBzB0NgCB;~t`(8j zfoCi)Y-mM4M45K<=; z;L#|-TLu{?`_z=!SG*kLLq9f=e`O#aWgw^97mOt} z!zoOmM@=<_&jq}eckGOaq-`uC#Raa+QKJ(cMX)hv7my&m=H}oxhJXJKcAYnC*HHh( zgqfClr4li(>MBNJXG~~6--U$o|1go~f}Gy3ln~yGUF5|k@*j8y$oV(7INklm8Ir`* ztc&J86HSOp{Y={q4n-42OfF$`@1IS)I|0{d!v1KYdPYz!BB}xMLkN9HxOspzs)8&$8uRfQsC+=88l{;L z20JkjRGV0|0@ikLqMk8DshF~rX%)BA#Qik5>tjZ_f%}(|g#}^cZUu{IZ2|M5jH32T zZbb+W8ygYrL9o@Ze)&|0wtm?H$|m%`TY!qG2;FG12Qx$1I;9&;zC-%3HTO_Zgnd9x zZtj0JN_Bj?Wt_qz=czdsEM$_=Xk5&&Xr7uHtduy#8Mg}l>^zm@cvQiB^?7*T&R182 zuWNAP2%NSixFR)^-?ad`BVY3;7pUb*Fjp30_Ey3BEmZF@ESkEj?bZCdkAr&h<7B$} zK$Qi?XR4vi(!!gM!r)<3wVFN^Il}DNF0w==K#mG=rFhc*5xf;YYT|MDd0|)eeF@hJ z*eNt0@hBYONAc{lp-IX_UN8eEqFz7<8CN|=ETki>Oul+&SdvmFR*>rGJBF_3{9dmq zz=Rcxx*)>7B0h}WDB;rr4rki|>yGf>Gr{!o*B!-s|>jK7}%+d4m{!>H8V zLtP2nJsK14q(o%vXl00#e`vv+{KpVzrR}-L-j`P|Ro|);&EA5~5=uG|%jMz&BT9Zi zz`ub6!q-L_`O)%A2csdrAsEr=_~JtZl`@g=;w3)l7ZZ$ci+bs=BOmnJ$xpyX=N>!| zBk@I(B)?{3sX%}L22|0iPkzk;&LtRvjwK(j0P$sm1eOwPC zr*s5gg!?F*7cEoQ@;8>ayuA8O)xj_QHN@9wU#_-Uc9b&miwF zG%N07zkpVR>)pPCo%wZlt8V*T^z$kF*}E~(Z@nF+#^q$L6>%^T-9eO4hk~_7?!N~? zH)C zp;i%;DLMt2xV%OSkO{`JTO^z!2;#9ReB!LUYnbFCE6T@#qB{zEN0Q{=*^4W^e&QYN zAw9`nT`d1SQR$g7TQ06;51v%B7^b^R%NH-HyuNBdP2Q-9SQwl*m+|rk)vI{vTOp3d zVJlTdiJ_%696re%QB|=x+aFlGaK1*$ckQ>O#{G|suov%B*6>HOFi<_>b@kw9?^i49 z#2N`YI0;JzInjrOFGd&)2tL3TG+cVW(+DH*fkbZ(>fizoFlKMUzNVnZfRahDPvQel z3^a(OvQxpAMswKN9Ne98vWYQZkzg;GKpzS76?;R6@O5N*bKV4J7=Q6WjL7qEwz{!P zlKmhS88eb_{qcudU&cd2 zaF@rfQ^C=EI}dgDTMHgO;1CbA!!91Rl82uCb>PthqcRLQR(;|K4}HNPS~Oo>h)=BD zn&ht)hPX3cGeo1gb+M%zFTts+UU0kjQIzW3R@EK)0ch|iM2Y7UKE+}VX|5_?;Tj%@ zF0@uje@w?o;QcN;<9TTgEVxciL#^lS_P8@n8!*rjx>7E(YAO2>My@ySSZ|5;kTq!h zRcnEajpog{);^*1irI-Djg1lf?Dv+QHuOR?jn0r%`&UR}8ejCNIts>wb9qBwdpbY+ zsQONiDZp07;*D}l8m|#^N`88s+7mDRC5Pg%HEn~nFS0(sdiw+PZt0Wx+b7z-D;X?# zVO7N|&m2t8eYyCD=JZvCuN?pRemA|LSjxklcBVYd`d=2*{PAQ&JRH#&scKWJE`x}=(raq_Cg$t82TLYH8megbz(I9F^U?&W;1egA6 zjWWn~{%!ldgU=V|oV4UVbI{oVGvpn4!7mgCoz$^46HV<8lI@KAfOb*S9?*xtGKjrJ zgMA}c9{j3pewM5GZ=G!C2!Sa!wxh6h|9z7qaJud4tZzTD^loW$^!~VwzqUbL2K$SH zHmXV95$E2sjz9OFh0GmU*YAS~B!25gb(wEx+cW2#wxr)z{%d4lf15QqJg}|JvQFFL zwQTvdjXNJ#o9ad)@12KsboMMI%U%v_E5p{qOP&mC)6k4a*x8F~Rr*CYYo;@7fpraZ z&x@m@udv`@hxH38kMuwguxwpe=|`--&ZC};Z@}aGW{o0EQ2Y}c%D;}^9DqHQb&qxC z_;=KG`giW=%!SF65Lmdd!iEzW_#4*5vRM17`Vn)JtH2%Kl(p=(hF9>UHVu_m1^Qn-+~Ely+jO{NXn6moBOOY(T?$9dU}lqUz~&#{ z)+u-+Z63{F{z#Ysd6Z?9G*PmnnzTemw1frTZVT#gs-?2!G&ku_A2i!~d0O*f2TaQy zEE_dBQ$xo&gLI*^01jZvB1h@93U8AMSLl%RKVt z&&RFzq5ifhpB{u+7rt6MhN>^j=duS&JK6T`T)g1 zq2Vp(z}cfxU|FkBmUTgMdPvd_P*lwPv%!$Xd|;!Q2u=6v^S=%bl975GSB*g|)0*e-jB zT@GbBjw3L*X=7)$f2t$r)W&Nzbe7=0(3oS1f%Igpi|^=60pD1^<9TI6Xa_!VVX!9X z`DCe~Q>V$j8y2!+e3(kLzk;V&e@0ee`}g(9Yc&>iB{cp~zVB~SdL3)4m7=ipzceXO zCW`UD+jfTxOK;FZSnolBqiwp7o+d3Ln~&tngsYDX4NMJ`Y8Imo{9gad{9s3`ZZqzi zrZ14t{q2h5;=yfgG_Dl3?}IU$#{x=@3({ zjkBzlCNhHp$6@I!&Uekl_9a`3%Td%h{x^RvvM8A?&7TH+e2OS6sog2c8nkjd)&|~I zCF{-RzXqK+<;gtO+|~wO?*14e_QA)%QHMfh=`S@8YVFZL`FyO2^=lQ0Q2hrtr#xqI^XbcXB>36;w(yPP*+XI`i5pcj!Y;*AWaC$Ya?{K;@sY`L8;2H zx(mx+wDj5E#`<4l~!D%+quPH(WF=d|Js3f$aQPb;G64dd`VURZ=- z3(quskt0h(5%*lqdH_}(L-3tR)?FPu_6c=BhHjCRrJrryyJ|O~^u^Rm6gVunJ z|Mdwq7G?$h`GlHUSKZ($DH5%(np6ek%OhTG}Sd+CDiB>zW zx)@jY$~!-Q5cKDR^T2U(6Es&{qp<5#i#!`QYcD?gq+f(q$sjWiRPEQvs_Eu zx@~rO)>;PJzq&Bvn){a6Xzq78W9^q~!biSZS3K;qjJ0f&(&4m@8M*CXW%z-HfCh@NSDr%rN7FPcB!#qqJ*Y8;=u!-e;c-$<|||tYcpQ)5l6P*|B@r< z#IXFUaW52MeY3nxj+Sd0va))iQ3nYNWy7+Pnucfn+B^bHNpBG0txAezJ$U(&F&;5X zj%+AoWnaq;t4sd^-7nI=8cDs?X7RN^k?|q)7~NEyEl`a)B@BXPWi>^YXz$08hA8<| zdc=~ZF><$hN*vcH18xNX70I~MS(pHh!0wT+jbQdgQZ1gG)LJ@&zT=fsGf+*gDzkKxa%zD-YIRpyVQ zmPCH$xgZCuz-I5VWbjLGLfP++7)Ld4|02}J$L&`AxXtYD-OwV~&i_UpJ{w{k(D1YJ ztNx_+hh6g%NM*QNnAlp@`1zmI5f*Ws2d$lcgD(`_ zi4_F-jYA)8UKYXnNLX94iDD%Zo+sjaum=I_j_98;!E~{W?kHYbySi0;K6~-)>Bc7~ zea_Y3N4H*;&?l&LL~x%8-f4oHOz=;Di60%|r(3gpe8q52(u7;^?WH?n`=ANlV}kz< znAm7bSqbdlruYorJlqpeKq$1dPAfxqQkh9dNjz?XPXZ?VVj)>Fs_fzMxU+B?HY9XM zWVf4Ox+jFlv>HieW}{pGlJT^l>%}_dX!^L7j`%$ZnCNNY*Ne+`XqQiSi1)J3y9cn} z`Fl&9Np<6~^gwiJ_|Xj!)wC2L9r4{QGJy!Fd86!fpnvJL0!h#{2Q?W%=y=@GI$yE(t@!fPKOPyI+y3XXCy@>faR0#96#` zD(qA}*{BZUO{q#g4?C>x;`g4!Hj+P0aWq~!tbSzSFV0dTEpun_MZJ_*{;%|ioK4M& zoj-acJchRK+`NB(C4m?Ag+a-yqFphKdtXz-Ej(tRC7*wgV{!7Fm(_G$b}x3I?mQM8 z#&`aKP1htlnH9)U5*i)H)V>P;_a@w6cGF{?H16LYVT-{k{^0EFi3@M9sT{X(;cd59 z!*bPill(LJ=r6rD@Z0~eNALqj!g|(rxW+Rhjc0R6HD}pfo`b)UzS`@~DB2PT`HNd!3#$~AZ3B1tv!R7NJTxpV2h?6^U z*Sl2QxT}6mOyjuwXIMYO_1BP~7P`k%-f&&bcfO^*z?0roy}b3`7EfdK+v>{}^naQH zkX|aiVaT==wOO()MI%2c!uBU0+88vbkYSRM@GTRxLDX_R!T={u)>c(5&}S9=CQ1JW zZM&z-bktO7BnSA2f>E34a?|r>%~}pI6nmFtjQI$mTy90ol8Ul`X@5waEg8WVdzlEI zE5oVbtCcbX@R61<`9!^x`0XVB7R}U4oeHW>3V`oa;8$Ubf_xxSiKw?x&p;06$vqG- zq!J)~R9Yt`TT&un;NMH|LYV>Js?m=8OX5qjbuoe<%5fUqya}+#J4NnkjmKv5zVIL1}de`TT=m@FfGQbyV^(Bqyjd z$zP3{f=@L|T9f2Ei2zNF3Ko`~w5El3iYVBJrQ$H86gB&ZEMUOZgb%+~`iK(nX6f$~ z3c)~lK?ZzCJ`(s2J|)~PeIJFdlWqGUx&J;>CWs~_3Us}!!42}}rH!%#9+%tW!262$ zY?2kn(I?0jB-KT6yp(+4*OUJ!OjwYQY;K270`HW* zgAxKC;ct@yqNMx?C%jzgJCVMy0F^ES`bs~B!qHSR$$wI|1;D6IVebf;6@t-pmh2zB zK|Y#dEBQOI3qpeJl6~VT^lE~ih5+P0BQy9c%6|$4fQ!iKcBnECjEEP=zmKs~=Q8#>`M~QWzaCOqwVd0ePY07w5_K#@2Dqh9 z`m0n#G2{p2u!6=XN&*UjhZ7`#jwuopjqEvTF{%tZfD~RXhYtvZJP3F{`Lh`N zvw%_lugi!J$OqyD@=^DUa*U#-ZbEIqOMVFiBL4~0A$$__YoI31)`~U}Z9*mb=jGNe zT6P-2z<0tYd=v;v+$#s}WaJ>75a5p`AL5}MLK|J$#H-{(KUCxDgm6=!P(g7o%6dk} zKSwa?{de*Ypuv%F4cP4>zef9fp?J}tk;VcFMKB$>QBjGkuIEJ=8Q zughvVEE9kLhV#;o)ZqVV(w4w) zYliN4T?*`E4M@cN3CLeTBW%%M+>&csqngYwr#L*^eM)sUt~sgBRrFa{W6yu6iJyl7aJpH*v^`zmJ>cNJ3uwf7Jant%>AcJOH!c2y=Fy zKY96kEo%S9&KC7?i`zI=B}1uPDYuN^XFgLCdD>|hD%%MQPuzDJHq1*j>rd1*g(0YT zPS&4zHN{OJ^G}?Ie6EgDM)IkjW3go%e~!G#{5SGy`Is|m7Jue(+`YT%40fN_VjyvY z6|wX1F+(Eal}^6vua;0%9oeo4jZ`d`T zsmAmAkArQ>R-wzu%Vw(Xe)E8n4q{@KgrCkV6XPy&BVJwb*vEj2dB>`th=ksFG>W?s zEXsgFERuP~Z!l;T!;5l*qVvm4m=}Pl7i221^~AOT&zM*uf9x!@pt*_s50J;mgnIFP zF5E6%x*Te1U!6scTV1#nIdbTg-1IRdkb;zq3B1d*{|h?ki3m34WH`w61TqZd*P6(` zvttD0yH>%p)N>)QPc+$(Y!;vJwKd*8#eoTtu&I*&qA8VHU{}j*^fROq0XJzqgb{8N(vJu#H&wK&K?o{TIT|;H`SoiC#eBLN02a!}yju7(OCH zF?pK7o3~A=R1|2|B?%jkU8#fxbk-BMq)CDgAi-g+R%70V8vbz59R@B*KEgovt%+_WmTA^% z+T8y%Nqzw=e3Hc|1B-E}Zj@lxVBp5vb|vq?kY_dk6^RU&N)Dq99PW@DXg)v==FQsF z=qOSrGBVx{#<{#>kV_nlFcxYBUqJ*dCW0mqXcvlmNJq#>v643v1vP$S5~o2C5ZU+G z5M`uT%agwW#Z@MXlnC9Tk7uZf;u*e(D4sA;yZ{QV6??XtDBj{HK;b!WqBzYx-y*mN zrZYxie-gn_0aLIOlMb?SXNmAElu>%YX7X|{in><@%QnU4fx<2NmFFHrA$9SFp{h8| z8;Igf6Gbg3N;C?x)MTXigDdAiamhsS7AQ1JDV_xMLCS}p5`cT3PXL9tH-a&yS8IWc zosZOX{L`Ws^I<|&hKSMP+G%?-WB=|!CQ4H6g|J)T;%DkzJ(L`}C$+E5pPTC!7o{dl zp^?CFQR+JOs7SaDf%SaFd3AnYOYO;o&)n`q&Zen}Z=8SAHopCG&QpaWr>7JaPiDzm z4~A#5PuxdOOjZVVwl)56UcJelKi;)$XqE#iC+h;9=4PyNV?cO(*{-soSZpHQ*qwANB4Q0KSQO)%Gme2S}9XqxCkgYZ-_rU{Sxs_aH zuN@Z~RXDBKXLg5e6nZmIn|jANaLK5l(3^>0Hmtf#$eALQe6nhT2HufnZE=jz_VO}o zZFmw}k&XZONyW*)!Tqx{eAzkub2t>N$7(m_==MC^e8!njH@_zl7v9_xiMi+xg;qbA z^eCmxI)LkOV)xcvSUQ~XCtDdmvp2}c?~HYn^2~~GFaIFcfm?RU-M*lFF&6v8?j4p# zSI{P1>+`sD2L}-8xjxrP&kcAM`*uEFw8WmzAEJwPU>3y3zy2XOg>SD6596OMu@~}l zmEk%3^l^``7nPLmtgKQrVI8KAC3*+oEK!X;K8m{46;~yq%J_;o;lua`b1>omZcaE> zC4ph%o?E0KHlBUuvFOUfK$=_4zxYjE zUPm82q*MMQd=j+3fJ0di00burI84~+CfFxnH=8NrdkWagwn$iuj}+gbgpa8Y`1fFc zm+`#?9K-&t!P5{)2(fGc20kJnDd~cqDhc}p+><>kVZ8kjpTPc4H#mvW`UKHy2_)m3 zVBoA= znV1F-U=uaCP8MJ`BXgm;qshV+6a1!R;6t334P@U)I7Ps@Ohv{?V6D6cv3?TP@CUO6 z5>691dF+sYF??$Q`RqK;el0Y*P6LOrshCOVj^ud^F!9&o3)s7+_{-hmuVyrl&>hk1 zrcpHdBK9X!{MXt%pib`fj$mXwlM>WQbQCL;Fy2wf^1@8HKQ?{!003(37}Q^B=+ZS@b&CV3C9VBH?lbSiqsOE z%8De6*(wsei7l0Io`7#=ZvoaF3H4Wsr`H@UT6!_-``(1$xzanud@>d=2{;x%FDqxm zO!1RUaE-**1f0#dghvYcIjjjVr7s*wgqN5|U@o4$xS2dTRD-oDxs4S8)*azbm+@Ms zna}Q&u$JIL_I$VaMeKbEYy6h5^Pxzeazt&z%Wh{$nATr`?_k$=gO{_1y1{p`6W!pu z8Qp6{^dwvgcqe0qtvd=!2du|?*$Os29A5}m0`6n$yCK}q-suKE$S!q*SM%|g)o<*% zldCG0b6+MFO6Y*dp=(|5sNwnIL<()kk-3@KeA>;{)IPHrjMU6uxU^C?4TGI5vMoNR zYT5s<6DdU(gZps%ufZO^Ey0!6xXR_Kuxh8{$Z!bSsaPRJZHj#o6pHXg_#Al@1U@xn z+D9RmI3J5!D{9Z zvWbiN-f&l3oe#K{HH-=WVXY~UP}C&I7s5jr;*t266b`%t z<$@`E8U`#^X|r_lb11%2+O2t3t`hGq)8@>UBJJ20`O|=y2nG%!cutnUpQOYnMIkU? zkuxyTOIL(HZ=!pi|L%4r&Y}{g+OVL6MXkIn{g*U)%l#(!K@+^%1WSIZPX90&T^YmA zbq4j~EgsjOWv4i?1UtD;M!13+(KA~Ad#_mW5e^Jde5kSgkK$#$VSE3{IG3vt2adkR zxzIVmv3AJLUgC>VT(5>M>!sB+1=;!Ewui*?Y8zJjsxO2_ZrTyz4y`vJ1o7|J!Ei}y z00?_has6;#?g?{8x>2$C>-r}C7>i?;Xyqo}k?M@#wjb<~88;#xuMt*=AGuWquGBE8 zD5)Xd&yxq>px=f5SWjww0t+u`#oGqb4Dj5AlR6TJqGd~Ja~;Qo*#g5du)u;2PxnA zcT4v(SZ8osmo?gR(8Rr+cRXx~&fjn1e!#$;Mi^bVpG@QzM20r0u;OBrITC0NAxJ_l z=4eK_4;wfq@D*R$;_Y!=*nHkyFphuRfRe<|_702Z^Ukh7%84y!1*zv$KvZkY2nh}wNYfLP@F|f$uyY7M&idNq6 zPy~+0h1+aA0uFe(r!xB z+Smu_VeSk!P^oiJO4&Lp{HswB#taSR%}X88o?A`9)A$MsUT+Gn-``U~iB%N?tZ$RvR$K84~-!l$e8`*kO+@IA5B@<;h^2KL^3!%?j}&S8rfE0Wk6^-e4O{G=IWj;>~A4;e(HfBcgAJ|&5Z^c{d3EKFmf-8iYO=mD`SRt8px*t zO;2*MDalt*lA5uX`~@Z!d%!{;r*1N^XfUz3$S3Ty22Wq;%( zQEbrV+Yx2V#JgbO11XJ^n4ouMVvvc&INrPqtts0?{td|WA-&u{UTz}agn`7tn?LbJ z4mWXt2D4};B*1I~hleBwn%t7x4i0v44m;{&6LZq29*OO&u>Z!~3FbZ!6Z1Lv=~WaJ zsuhsV{2Oox(wI+?Q7AIu+7YE)(orxOQO2@M2X~tE6Zb0obnfd-ET&)p(gv!6M@%fH zfQ8-wZZoiW&BTJP*}%pXCQjAI=$ttFwmtU&{*jq$f}z+^hW1Ij4|J>1`hWbILtP2AWOzt z$^|n`EZPk$?l-V_%EY4Y6&6pJSdfMTf<*g&(7@tL6AQAR?B?YO?#Mh72e*O4Y6FJ^ zk5&?XgpnJ^li#ypqYJ^9q*ZHyjLi?$HoEANmz@~kA3+3W{!6VrZP@zC;mt$vq1$wm z#hu_oLW4oAJ1S;!19ArW2MRO$JSxvMUn%1E<+P;8Mkj=9PO z`-rApk-|3HRgH0lt~(sOqnAC)Qi%PxfNNt&DbANYUH=14MX_reXN-0wD$t&}yTmmq zcqEdx;Uq20>6N%D>n;~11z4)KGe(B<#fiA|(M|8IF&yi|acu3#Ze%kZzO-6`Sj?uYU7mWEo4Eq8P{$iI#$wCQwN+2ZKfD7L$7v{|=8!|B9v{hy0yGcPER7`QcHOD*a;jNO9cW){D- z{kWwtGovY{<^M*&@s5A~!;$uDo1?=i zl76@0rMrH*Ys5KADp`H_KWz@2lGhVt>3_#T?Xzuq33WC(x3QGC>XtT3+Q)6$8OjH7 z*qt&H)Uhs@b+ABvV2sSRQg_uCoh>^D1;)4AUCQ>!NA}0F{$-zL1cH!ju^BcVgvXMl zc?RpYJveX4GM%5Ei;Fs!V$VC4AQ`o`?dXi~DLEe@hY#b4lDoIq_DQn5hv0mh|D(c` zBFX0pzuV5PITz;(=*)G(=)Yzoqyz{AjBw09bbvzgWf} z#xtFTdzJ^^?o3in@w1;hllaCYD^%TLoi;4lX^v=?Vb(xAcjHI9QGcdcgme`DrHm&e zGT$F==O11dn#j{%B~!vP!rb0xF~8IuQJl2%OXEX(HvW0M>j%Y?Gh}3CP37YGRSPPw zEnhaVvWEY-FD#134pp*wc#$iSZ=d2y=cT(t!}y1*?V)_~L{~fC)c}hD@r5_If@hQvfV!GRe%=++X!jC~kLY#eBk|4TV{Cnad1S!Z{@qVe8H0WRZEue_H>*rX`PC@(chooN}&rgL;1Qy zfGF{AxpxGt&~2OQ%GNb7p>k>C|D5V-=Ds<>F}!J->$oK?oUgyhwbYUu&eiFz>n!8K z`84=2x%S+2*Z5$%Jcn|Os|?4Iv7?)D<>~SBc6ac~u85i@ip6aKFX? ztL^yV6raKdE0;(GnxZ z-lN|*3kiq$oJaX}6|R(0Ck)&%adtf}HMLqvoef^@L+-B72N3E$TDV;2?mjePxhBVm zMNYwU)^c5r*^Asq`JM{b;%n*~C|&I}njI)B(_Y9vsK8LTcEgX=_pi3RL!kj-i4*UW zLP3+z@bt3T?RD0ts~PT)vHJetS68~O;`VDDk=+YW7}N97wJo@cW>||&z_tR`9pN;}cpskWVD*ot_=_@L%Y1SjOF%tbkv5gxC}FJmfI%;|Q^Fd< zJ}ej=jqo)F8Em+O=|xMo%&d}dK)`+31qr7KxIY_&afIl#>bln2Trj&b+dp|>PH|NY85tZ^ z&daWXqL6x(66w3njF>~azFnwu33XQwBdZ}}mfTQ2uc`uUez?t*#AC0<(ZT)mT~V&V z6Uzhh%5PbMYYO<<0;MO^ps=gF?rNMlth?RiY5Z}%Yp=o!uU4WGa|RbxS642m(D5r5 zEWu4A+I=LWX7TJI93VKb&~=iptajyT_6qUVL=mvW0eDlAk5{~y0^k)+Tljb-i%C=B zKn+io;faH^K1FX^>RaUNe5ke2+nD&#JtTr(FUEWXql40W0X~mk31l;FXRN4Q`BF>YAnq7#C~*&xOe!`+H~voqn+K z+wO2Zzyqa@VqxD<$>SYkg16x?Y#8Qd%W&txyb)oT?k%Sm{Bk-)K_*!J&%rR_Hv|eZ zhq+@Mk=%W!%WZipjEDUa+Jol-P#)qPe>nSCJ_zG8C~OtNxNi+?50gzoet_^#h4K9q z*FyM*d9uwKjg3RM(!@P?x%vd3Mp04iLcwjrhVadXZ&G^HqIm(XHUi1jj4Dh&PLku*=$ph3wcVkO+WQaA=qtDp&H0Nm7HMG{cx?k5230^TU z^%ol9*)2yaon*bpTGUerHqLx#l?Qi5fFkM}6U9M{HQG9u_bU_C@NoWNCu-uG{+uoFVV%GhO9%z{YpaiAdZuAjs)` z!9+7ToWG7FqLSq3s3&1Vy=dZkrkkR0CGkD3=!_`{Hl{uusZ;l)+QR(0EA@li6K;!8 zG!^Uo{U$1!v{Gj!DteXZb({`CXmr-)c>+@b8W9vGJeH8%m#x%A;-pF zsGl(Y0-F$4(nHME8jpNA_vwcER2ap>ss`Ic^EWbO#c*k7YI~B^I)Y4CWdu%rYt5Mp zTZC3zw@3+g!s>E3>@g+;UMObGokvr!ev~gQ@}$B39P6mHZYj2(e8Inh^Odgqy+kzR zkS(C>)h-US2YBE6U5Qa@35i3=KD{ujocW%;1y-2(%==wYR(33n-+sR& zzaDb&=O1t-1?8MvHfT@r0N(t7E30lLR#;k^7gW98u%zm?^6(Fa1j66hh~efz{9dY^ z_wzduFV$qtT~eMC=nq-6b+|9uVtmJNQRGqRbyHEYxl{!9KzoA?#jv@!=SdriVRLcJ zN6NM(M^fjyAXO@6=b7>wU^Y@>zRGeGan#XiRV=fkX=2s1@*moweZREz^8MV_xb{KU zV5P6d-R9R!V^3+AJvXZyJW`cpU!by#H0J%{I|F=<@}8?*uMJi9>exGvDBETqnT@pL zt7ez6)XYFEY&Kn?i9@nKH+ie#%G=un{Z$XSUhO{jmwMh<5K^Ija(0R*$`vH;r=oV< zn>Q~Ajp|bU_S!!}U@1Sl(~=+L5vI~>_*vNG7vWQQ$5Bg`c&z2kF^<(db1^LWFZju# z(fRp_Scir>oHy%_xqQ(vPgXfGCVef<6$sus1bqY(Tx5brnBY++cr^P5Uo;HL$C%Gx zf)vay!KV!Bunz#i+RRvGQzblE;D@mHC{j8aJkOh8)$}RglkaFBaLFS03JtE4Uovj? zo2p;CZP(>~hKM(SI6<|tZI(}r2>TU`57H|}MMZ)z0j_$e}fM$`TysaO%(=r&( z*4l_4HZIl+gal@`AN8|9(2P^i$48EQg=q;Uv$+!1N+^}>kTA_M=v(7#H~ii#1_QtD zsKk;03td}{Ae~iG03vAJfIdF{Bw>0HdhudABVp}psXxod=&d_qxIn%NG=co=O%oi0 zsTlF6DNPDS=ox_PC_rO4kZqR;^nM{5LVp8HPOE|u%!;=r;g{g&WkXmly+z@)_#$jb zXz|o+$)?aw32R?d!`N8~7mD}-2K|6!Jn9TavC%YT?}A6u*AL?po^Z`=3|sFSpz!RS zuGq-yCS}je9#~XSvAA-{lJSeHZmC)@YD4+T-n?#uYf!jmQGM{B>ndxi<_z@n15e_F zPbGi*NmpLu>0)J!qUH>qRCUXO@_E-U;IBOC>dkj;a%J#>U9L=CI#PLn`cS!Nn7=jcLJs>2A&MD zM1XJ}0dTIkP-Fz*ROSwpHP2X3@B>#xxQ}*ZJ4(d3XS5I~y*e)A3V;V7po|yc{RKb5 zsX0)1KEa9NusTYB`dUfgGvtwZUNU(E!QZWeUIZp6>Olc0TAs2H#fBm(a*BXMDBuv~ z$>EJ`=)cqvFl6cM%sv_cV>|D!bM|Rye8$;bZ&%*mX;*CB4lD?Cw4w&IqPu^$0mU)b zc4tBZT2ZW(Ej=62*)j@gDJ47e50YcMXm;iv47ut)jC9$zVlIv(8w10(PY2c8zpt2SX$s{4_ap zVFxEpsFRb7F13)Ohc%z%aJ>k2YFLy?m3{LYOrO{G!d6tiThvGA!J9%9QcFWa;i;a* z9@_2f&bDG~#g6U9sFIJe-T`;I(B}@}{tp^SsrK9}QD66Dr{BfeK|+mml3`;aAqzhK# zX+LH9lNeCug+vq&no%%)aTA(Vyttl1?Zox5VsBfBOhSmv(lD8UNYUf^eE7W}h32m~ zBypIV=!o`on2OU-aXs7imNhyrOhY*|(33!Qo*befMtrA?LQZ8lw9%>ZUArs3DkR}4 zAu^NLxYsZq6MIv}K|^R-t3#yxAyRc=F-=7Z^-Znr@KfT8c_O-mpAxSP(cF!#eGq$T zi<+&N+ITS1)ni2nks2ek^Cm$9w$PfvKE0$2XY61Eho-tNM4a9E(e2>K!I zAq`*@^Fq$^#`dA3H-d z1VS_%Gc@1{plc}K(B@Xr$V0O?nHB89jxig8L$w}+R-^Uc72J`oiDBZ)kuKOC#q%|! zEKJ2osK9^T0P!8`P(gm_LR0V}ROp9?`PG#64Hv9qZMoSnD`&HNjc_xCW7rmG@!7kF=~yJ)cgShYo{ZEYtGw`rg{U^1&l#zq_N1p~NVxO4@(>lnLsUHBxHdy78j7yM z{ed7+JE9ARPw$P0_52&bc+XVnfs#~U)pw#)Lvkx>51j<5m%eTlr@^okYxCOtmP*8b znaQt6#!L_V_e<*->$);nx*E^17r1 zZNa~+&K;2J=dJ-xuuIRwyYAp4uq;@9#94_h09nq~Fz1k2`P4xv<;@F`?g(tvkTRz= z1yc2c(thj%G4s79rI+qqc<`5t7kd=P714-R-sKd&AmG*Euya#(CFCDrpS|e3esEr+ zK4v$;D?(?!Q$x3Qt&fDI^ovb8-I$H|s>Ry%0><~XOLsrW-ay)FyhqHHS@qs(X?=cW z^99Mjb%b(|R>h+EjEH%+vdhHT+HMX!kk`r`undr^CzA~Al%zp20XcgP+v+#l%eGQoyLYdI`vl^S-xKvWtu0+$1B?I1+ZSPv&%i(o z!X5!W5U0EKI*8_5RpP!(wdI}I6#Qq)fs0Zt4fyzFYzbL00`2&SVP6{fcyq)hFN#GmXYlv7|W^?_-jW z#?OPX7ZdnYj{Br~;KoJi`@5jG01DG9r!m9NaCS2VjV~{z8x(`G|WEXJSJmvPmUi(T(`_N!-%Nafz3Tn zdR^??QVX{7+-UZ)FGkD#z~mbv$227V**Q{XKaZ6&*!C1}3VULBMO)XN)`)aaWvnCa_OO%O1AmHRts#>JP4n zjgLjC?A%0r09p@6#>d1%Ty~HRufY%KlZ}-+4 zssml8JQBdCu#h0MV4%wJ$pk@vjv!j~UV>0~k{~{drv-k7AjOI+3E`1|lrYK|@zDd3 z1UbsMqXx0@1a#KN(-d)l2m?fkKoM7f@i>RzhYraB{vbinc>+P_34|Pv06iie0TPTt z<6Et=2ts}=L3Dr00c%LnateT=I)YHNksuTuBABmxmUQ5OvH@2L=pjO)hw9G^IjZ9k z^w-}Fj$v0zYzoOEL$w5`>Dtzd38-;*&028Jm|2S|W|C>+ zf{)CJ&a&TY#M(8Dm~HD8;pGYFd)k?)x8+QZqbb`O{&N}$U~e|tZ?;fr#*u z*)6}qs8M03_Gpml6_UmFeWfI`ga5Rf*-UbZSB<%d_%u-CgfRMW{P`he z->{0eVG!>5QTFH|7l5N{E9K)y*WeJDDBx!NNTw^^Nci6|bMY_S=d*Pyu7=PUT8`C#`>{*2Ycov3{JWD!Qda{DGa4i}bV>fp-$^`AMBb`rz zCp3T8vz+%MVuw6|;Lrq^J^Jg05)e8KK&}_KI3QhX0QI3Yw)okjdWeBG{ zq~d49?8QxJ9!bg-#9b)CXOsvQeq0z>+6o=*Hfx zQxZ1zfjJyeO;wR*Yy<#{QBBltj6|e~k2B?qt~XfyV>ox2jbLP>N)MEz3rx<5=&tz? zoDWgFEAgc9U3TS2>mI%!%Ie0!sNoQnaw|-C2i|s`zqZ>|!U7eF+OX&y=e-tFKa62g zK2@?!0o{UBx_nE+sE?e_nK1qK%_q*)0QY?Ad{r)EL(V(ni_Ts!d*nLWhh~Czs|eoz zJ>DJ(mo?@-TMju=Z+>Yuda&5H&MBr~dSj2ENo-9w1><0$2zyMUNNhprRAwpJ}kcKV+DV;oSE{jf9@~!8?xGO z4_Gtf-}(3pQ)_BmYMePPp|ji-!-zt8;Q6`kpwfND(aVkgYICN&c@?|yb7x=qZT8sb z&bZNC|JL%+{SiGih(@$JRr+U^o|(P%s|fWN%t@Kv|M)Js>-)1`ZrO$q_m^36-ie&x z4=t`E<`g{@zTojMTzol@UHaUaCFeJ!v^bwtBJ$_M?OP>#{ep9q{6)jKFP#HS)~Aq< z)CzyYx^J8}%I38g^RVx~bq$x&Iwb?t?N60BusoGH=|X>8he&ObKTTd_wq zVj`MI+#;6R=KLOeTVlR?CSB1Hp#-E;-l9n0C;9a2~m~ z*^Ja}NF~9u3p+R_!rYMcqq7pOk}F(E?9V?ruZO#raSQPl%l+Az28){VtfDW-mkxLknMVfY_`lbjDf4_5og z-kNa{f3j1je~o(&rtWVBZd^oP6o#+UaW?NR&F+3VjQBb0yA2LRVpT(f{?-Zrr!?S` zk2r=(cME(J$FGyN2%I`19;rb3CQP2@6pV|~)EhYIn}Z*GIB=UUA#{(lS1_F748x^2 z*-v-D;fgI%my71XBP74T0~{YIjRJ056i=m~_rSdelN_rBp2qPp(hJwnOQmlGPH$+B zG)_vwH<8j=$ngm^(ijmyUnP$;NxDbi==%V_LHeV>scYwvZj_n@PTwF8R+O#?T+hJG zQYunO5m0mWV5M|{z;*por2_&#&FMAe(yx>)anWrueSO76`1Qa^Az9}3;FRUAF#6kJ zcqCrT#IM)fENPg)vk>T!Zj)9Dyd6BA8k~JRfdJ#82wMb$j|kmtZflD6nQqNHbqo~QNx zSJETm9LsZJjI~BT2czuJ$5=H<+x7I5O?y(L+^r82lb|4i6#r2u+@<&R9lLctGBMu| zbh0g!PjXO5PmH4$G6eVIM-b&h`A#}05~_&sL%jSFxBv~v$R^K3Avm2wHa10#b)!H6 zBDj#?0k$|r?Oy}&og(-Jf>8Uq!2d|GVO7)>+{l0dOzT0a41l1)*>_oC27HdQ2rc;_6Kh#XO#1E%c6|8>D10!S_Ym z2E#_epBK(kfWJsM5`;`}1)mWF@&&u!@B@qo2twTof)L|w zDG=SC2?uN<2)WM)B01j++=jf9To#}*N)#Yk%nFJYnchV3JxRiUj(-kV`)38wHDME()368qXOACJx$x{wu;MLMmZ`5ybbEDB*3;+m!;o6|V>6aI9dc1XQZUQ@D%` z?WV?J_w@DM)MR-FTii|UB`;%t?51|lfKqx;k}g3H$^Jz=55Rf*eM)~&lU`##knl3r zsk_?UjU=9=7$B`zIvd+vP0m44tsx~S38Y1G{G_uvUV&2NfL_ez&vZu{ zhL%M@mAfE=E9qzPIf1$!z^UeVTA((L=%46wcu7z{h49xz!9x$4u9Wl}{@_v;=oLZG zCU9yxgj1dgMgzL(h7=P_B*@m4I)=ggKjxCB_El9@GD*&8cqLu!AHiy0cfrv?p31-e znXGCu&M+R##>X1p^&tE1Or&dLU)9-gpqIK&Vy|tG+6bq{0|&9PPt#F zaIXws4^}72n^?gR^(emczYS6EmY1`;hN`9V8ul824J_t5fTtT~U5ENaP2QicmMW(U z*jxGPSmlEPmQ?Z5XgcET#z9(`;=K zu)XZVA~jQ;49f54FVGAb_-ht;2%4=K_K;yCCIL7_P4i z+0x-^rb ztfA?th8#B6(k284NTF%^IwVaaLsVQBreY^l=({|+3<^`B7U`uxX&%kwrO4Jlz@4UN zD|ac3ZbgH|C^-6>842AM7RwJEv1DusizO{YMQMnN^UPfdTY#5tbwm&OI7}utL}pxw zOc%U-Ld%DY(HHXMX2gR8tfN^LK?M@UD`Y~53hXKR&Fz&Z>lG8ewV(u2Mm0_fky;ZL z@jHkL`%dB4Uh8I*N?!#D}Im4tOG~h;v0phf#8Y$MIT^f%Eulgi1it z+f>ZBFj6^46In`>7ENvd18nB7Oowy4WoJA86uu~*NCSg=4O;wX#Vztgi~U8lH50d6k3lP z*xIpZhQ{PkgoyMcB<@ihC8B*HECWO-2)T!LHfQBI9uJxkGAd!SB2)3O14 zmvqhDKnhKZncZIs%{PTftcXTWM^F9rVG>i=n~-3qV_YuFGhox-Q|uCOc_!;p25p~& zX*&nDQ|yx*IQR%tww&Eb0&Y}AXo7ddU}BV4jYk71G{I+z*~?|fV@a4uVl34rFYn?o zkrJkjLnKdzN%$ZE8~Rj3PlQQKWVevSDMLb3cP%7Twk*mU?J@)eWjWhN0<`Qy`RFaG zbPWVX=+?*j3z86!&Vb~jI*A?(N@xx@jMU%u)c988XEZ)zZqCqf2^wrHWxC>xc|T0~ zuUAP4sC!D1A!WvAKuC=XBdJ$O+rmiEAjR;wJWYZW5P8gqV?FDYPM&uWZVFk%85O7R zIje=}Ike{|z`vBQ;zX3=737I0KOd=e~H;{Qgh5Xf!^o@O;x>xe_$x8!n=j(LQUyny-v?~fl9R$jx( zo7B~^JHG(ymO-5R3hLXD>R8t)>I}J#t(>Cv8aOi_+{IX!IU${>qx(^cjzI(A`uQ#j z*Le^k!r1Fm)UkM4Vs26Y32hf{QU9*Q-OXN_s`f^|`J1U~AB3h%Q-=Y}nx^)=HrF?? zm$oW_4yP8}_<@U6m#b%3-2|`7vf?AqF^`8E`d?qNXK{!0aEMkBA7S`*M>j_xrpzgDA5nC7F#D>=s*!oC=1)jz6Txn(){}X~v zAE;DJz`Y{y&K%F+Px=*=0flU@+GuAo5r zQQ)089X(^5w@I7HwoR3+wgE+PAJ3a+o1-X5lNYnSH=4W91|cgu ze4{xA0b0B{zu}G9>Hu>MBJByiw56qxAn-DQBU*lD29GYckAof+r&Br|L-f}Z?I0-u zuH@_0O_1bhV~7Wkj>6C&l#aTjiEzrdlCKZFYLbv2$|y1Nh>ET%qWVl4p(`W-dV3`W z1wQI3ADR;n=XAVDC;LCC_N7m|j3G5fx@!#$C+;H33Qp63=rA9ULwZa4*5J zVoC>0MoxH+$BT^QATh)@NtD11lH?=u4UoIeO$AQ|Zu6u)$TO?l7@=3)L9* zdTNAc<3cr(w;;ChvdzP47r+Jh(HqT?2GL5G7D7ynH|MY`XEBA~8wN`Y2Nz<(p=X?V zsO|)k%a`u9<%FOg-mZqBHg?@n_!fWjUDeJ4{h^@bF4eYij_PU{bQdNExa}khnuK%< zoBy%d&u^!)=DXFST3(D^9z=~`$0M*Mr!^a=WnQdS)3nJTQXvr$ueZ@~&t3I4Y%JLB zQNOmA8$|ZoJ?aR1rJ;z8xfkdPpwvP~uq}jc>Oj9CbZ3X`ko$lh?4YhC^kfJ6A)!qj zX!a7I=Q_~)m#BWGjXrq@IwP1dsH=s`?#Jn07Q8A~AMVU?yW~?$e#H|T z6OT3-nu}_li}}P>2``7NycAnLgr(-`VZ1Ad7tvC|^}-J^@@hXIJ{3l)$gFiaYddd_ zX7@bijmq9c82~TI;rZ>5Gc3s%a%9$8j8MBEEHtBJ=q*d{hVOjO?#g&EBq_NeDoYJH z6enFfSp93}*a4#v%yTV*-+;K$VEcj1$jP!W@xAPo9BZud*9g{gojD1cg*E$NLlxJL z3FnZM31Iwh$zgv&svhOBzU_)reiX z9aS@gtsJhBJ(0FP*4QB>VVo{-8m%9nmyXDGhDDZ-$gqKl=8txSsYnlrtRO_i#V{3R zP@#`-27DK$A`dEz3cxq2BNg2dNcA4TkFHyF8({$iqp4Tvfs*uyZX@g@A|P*;#R$(~ z?p4-AGv4W4SzEr>Z^=g#`K;=G$d;HI%PZe~D0FD*{J7ve?QxHCQm%TOURH znod-WkS?Daw!YmQ65@IuVMQC-%_V8|WWhk^)a@M@+|0F3y+1tOs%54!=Id=UH{?F9 zULVCg->N-XS-CRlTE>A5RT~uQ&;P!G3lPg>`S<(!x?mmzKR0Ka`sC>LFT9lld9`%( z_9sdcSf8D0R?RGH5R)O7Q>!0plzNVD3J$kk_RlYCdbH4bIc?$Cre_N0G+QrsUEH@) z%5H6%y{hzwD+`}2>~dnn_coL1s{(Ieq~wn~adX_CFJLk!B`Z}w(U2M35rmJt$hgWI zE2jrde|^e%j+&tjv|F*>hp4&N30eD(q(BbVCluNuMjX_gy zv{hD(7)DuKu)Z*vvM8~tU23K2T#=2vzYBwrLKd}KEvSiGgvNhl?ZK>66*fh6!*QkG zpD@K1?`!WCP`DvEOE9l7x>&zArTKyyHp8U`U4EV09L%fN1XVw^@lA_<+$SR#Q7rGK zU2Y0?j+v=>Uy-stYWfO?b6W8r7g67;6_G~;JHcK>7ETFu;b%=K0m+mAc5yc*{WX@n zN6jvo)TpZ^r74_GO8>Cw-4??Q z)mJi=rkrB7V~?5^lQHIOdwzlCa_OwWN0nWbTxVDI;T|kOb!OUL^*X%N#_UxS2I=XQ z@_ECP@<&V3vAZSdGyG^c`MIAu_1ifom=N&<2g~=)8x}db4GFo@| z4wx;WLpOw(gKyM-*lw=1Tu#0B&%;ek7Bu)x!*6bup3LX;lvO#rm6ZPQpM{$WBbwo^ zk{`_aQ)6tm$aCPnYv*wD2{``jGo!*VKkHw$t6i!INZkUu9p6VJVLJtLtLgok`oLIl zM4L;c=XW4~erF7i#q_#cS!pMOB|`xndWZrxw(19(!bS9Pg1f? zI5o8W0X+*aQydJ`>&bepMe6lwbA3x*uoJP_yB%*abvxRkbZbNft+);5cy2$WCSg>7 zGhe0F;Oc`m?uwLnrSy^}mp@{+kyt6csM)+^wWxc6R zIbceY2g}VCH0~SP&4UsuQH-0V%u7w3SM4seok)5>Z_JnQV#>boEAV9YWY|Dn%?sIh|B)FrEc=(e>P?YO{o8_+&d|D_2LaaWB9NbG=UxM zuG(iBO@6Jo+v4pH=D3&4r-jU_z&&Tb+VxUt>w#A z6KqkLc_*U$>kBV7ef2=Kf6oKowQOHSGTR@JyGxlTo6oP>{=m`v&4;Qp(@#{Rom2Vl zXpgI-vP=o;51ge~flpWp`4epOs5nFTpmYN7WvK)vd48v}!RX$dUv z1$8EtYCqYgC1aXPehz2LK6pX(VO3ZjgZsn=^^}If!sy-4J6(fW4vg;bsjLR|MOBq` zXR9jvq{5ZJO5kCY&tjd^_vDuEwVK(KMm3SGF({|mI?Q2lrpas@ZsV!@`UQUaHHPnL zp+239H8-k{$xB$pOX_XzZ_uBk(5Lb9;Kaiy_U|pWS_(Lb(Xb56lB=(bqt$NOrB;UbjrBdiPv2hW(v(>GCxJT_j`akNWv!wr3KS(nvu%eyNyZqz%i2 zXK{L0=@M|`q68WKOR%8>^4+DW=v5Ox(Nd)h=^24f=Jc9O>HiR5T*UOFV4%vwtei9+ zOHiah7s!{8Amyar}^DvVVl&d^`l zE^y8OGdvNP9XBpYpbt1DXeNFh9BrQ}aN3;Xfu*GlVf+n(PIFJR9s7d7shwjF?J#K= zX%!dUE(*hUhvDadQv%ZPOT|9+46Jq#J`_K4t9pyT&v1OCv>mu{k*dE6dbxxKM;oz! z5dp0rdeGS0s6nG;$3e7P5U@qIO>!Er);%EWy0Fq`SRLw2*V?_d|o!Q17C^^+$i zte0oStZ%xtGkfAy^%ZvFEwwA#a!Re%*AF7>M)jT=P)jQ`Z<2_Ks zwne*B*~zzHntkkCIhvJzq~@`Ko4uXcv_s|y7XOwypXEEEBG`T16qS9q4KAn<=5BcA zEp?F`KYmu#oQfHt>C$6eq(|#&QopIm7u&cB^cROxi19QEogmc%L9j@U;rfO?!ugya z0_o8q3qe6ar-nm|=k{nRZ^&;ZAgah8or(+S}atZ*~ z;{+$^Z!O9}H^OhwC(3C$6+wJj^(KOtR;5S90fe4WDxrr7-YoQ>7`75#D)yy;eoXMa zK@hW~O?)~Q$@+i-rlGq|u$*?r={csBO9{CoV7q|73P{ff(P^h0L8D}RpgX3El0i;s zLWfG2R~2xoD#r}WC7|QSb6iCbB~VKc*;)fg3hM+^Dg0Kk{Tb4{WNs66Ss@goB+7{o z^#)eSFkxf0G;&LB#IjYMhiSmzz9Hc)H+z;d4Nf%K%P@HfOHX_O5yWGBLjaC za5@yqs|vZZ5e_+C5_jqIBk&ko!xtZDb0XRYPZ4K;0<=5H0flH!61kS8BBK-!BpiyT z6NKX11)U-wPqK=D4hlyqC}YG&86rKLzC_HZ*P#440ReQ;j`B!A666sfhddz=qy$oe z$^j`Myaa-f5&T050znYp9CXD$lR5hBl)k zS@xmo_Wbvkft~v}DxQe(?8Jv^{(pZG3fiO6ar6+2CZ%&_Zv#FFgOu3+@v3L_DX_^* zF)_UDd$ERdYCTK3)!x}M4oRHH3exR`R{2<8MoJ^q{EHP~D7#u<+ zGY^|M%f^3$<5UO-j){DWPX1nSD118yD+7zXpH=)@?QS7sMSPzHoYW%No|q-dhc*5i zQNMGQ+)CuM4zm4oSUCuM3Lm%no;8;LIp|p(^cz99xFR}AzmCYc9pqg^&I4K4D>_Hy z!63)+eE&q`YLLakL7)ZXi5=vTEg}PsSf3gZ?KI93x86e zJ#+!327IA;YGpaM!3E!a2oB9tT1X6`izlCjiC+RflUKx$b73m7pduZyQyzze zk%$6qih57iv2h3Cd@dGWTiBMv+7ov^cL_1ghqQ4~0_p12J1@|WmYuSdegT$0RY}M0 z;yb@p6O^)Qw(46oZ_dR6OrJ+|Yn3BvgA1#bOf?u2?AC1KQ$*IF?XcEnQTnCmQ`Sw5 zIQ_2l7ucpooO}F(BA3x0Qo3F~AtaRgvo zcBGf3x2kn=RYPN|S_J=R60=@Xb22(39}bT=e&H4SKhU!sMd2u!=>)OlKBuAL629J8 zPT%qaKS1ye0DJleoS7*85yu?TZnHm_llQSN ze^RHV-bYr@-D93;FBl|enuCsamCVRyiz74GtK?_4Cu#NFPSs4 zP-M6|R?X5e&qB?j6Mkqt{N4vh9()39NVKQqn<(X?|EdT1U4ec4eS1)R&?aMRQT)`aV z760<~^uV5)n#>I+U|AgNW0JBQJbP;Xap={H`Q8~93p(%w`;3bv4{&sMO`%_DjZ*%Z zPYP#Te3geDX@4Vde)$va#ew(j=B6X2I3JS`Jp`6EmZ(FF4F%n zd*uduY)vk1X@d2$FmiXi2uU0-Hqc|FDFP?aR5aoh0$;@Gaomj&Zuvz#-wOKExTiTy zA3j8+k2<{M7O70fQ$;|Mv`R4ez>q5Wq@4l}uyvQ<;>B9z?#y6-t1EkCj46@T42rZS zKzkt=d3$t+*!rO`L%pz@2});Y=(`l#~LwK`O@ojH+1UeO_LF3W;Fv8D|LnLW84 zt%2MNTDn3>PkoCV-R9C3IVOM2a?WAG_0B^Ut7SQQ9X?i}da?WJW_;3eS;{6D6waRl zZ$)a*q_LbI+_7EiAZ*7kA3wTwK#J;&l-k)i)slcOZ^cP-EL*NxT=Fq?%S>-9n|xYv zS$5!IDdyc8R({fgwtFu|k8!Mirq}E43>rO47~AmcYqsr-JvN4pRffiPiDH9&6{K;4 zf|CVskqv(|F_XjCR5ThN8wWP`+Azga*t)Y&yfRE83lec`8!1K!yDW8hcl6{vVfQbF z1_aUdGE2DymcM7ldtC8!riK~}<(}%D8Xe&|tog18FBY|E^ctTH$JJmSQ!Giz%^@@jKTHW-MkNWsay=fc>ZHxz?Ck=;|FC0O#1 zq{*z=Ws6P>WBv@xKA}5_J4&Pz(sb3a3hY3ODMq@G_l`O_2vzzvJ66{l`zX~<9IAp% z#c$o_?ZgHzQEhh06kX?Z15TTu0ROA>Kq%9B^sT|>W2vO$TfYT-v+67kdAZ9zr z^U_Z4CehRz)@IQ=$~L3RiI#aTA|3ClQKjA_HmB5^n^HSQk`^BM+hf#0P=kjXUBz;$ zvD>7&K5}d%d$rV?R&%+uiaxng`VURtW8HN!VqF2r*T#N*O7d@O|7)OXg!hO9=Z29Z zD|z2ideYuV#$8vVo1wi^-~NVge0@Fm+6^FEUVo9ar3<)QMp$Ru|fv3Tn-;cT_M4Hh7yQy$eWtvhu0d1$(o>+;-cb)%8x! zb4R`OLy7ETO=aG}HKmtilk147+!VBo8rE*>We%DuUgmpqd_g1XydzSZ4elhR*_#Tz zO^?^xd7o3s)S4|nJRi{gDqDW2?)wn7Hjo9UJj&sTyyJTGPQh&sI>BG!qud7?x37@< zY_GK>i|*=GF%mL*x`V5Kw$MZ9E~SWV;f1c|JnlU97C@bOKN%JEneZqU~X zoW5)1CGsuc#zm>-j#L2kN;_-S4b z>orJ82{D8E?DgKk?33%gH?e}Z&FQRlHuj`X`=c$A9rM6TU&fWl6jnD#>CMJX^TION zIM|ciTMg4TJ~_(H9=lr}N_Pot%`|T^J3HCCmz}uLJCLOeQDRuufygMfc#7looAGT-8LAYpFWiyic|>gKP$jBH|C-QLwhtxbK;Z-c z6(GDDlPbDDez9JHA}=DouKE-O@fp1g-XBXBYi}uH)gnW03&a;qa+z2AVa33e8W5=0 zk(8x(OUN!MwfQ6jQj<_9n%_8|h`4X}FZ*HJf&Row=Ip`WcpCKErzVa*S~UZnTRih#@IdXFt@jR!mHPnyl_ z6isqW1Zt^;rgXi(MsEsw*p2?$9PWqFb05M&P_+tq{y-ZD+J-HY?H+rM#iBZ%OdQ z`yFo9MqVV(-H$U7UubOTt%!al+6E*#Qj2LCc#ZTtgy7KBwrcEAu(PattuD(Y2W7)UCTIF@7YvY*6JDTo62o8vg_P7%3rguF4SLwWxbc8kMn!0OWL--uR zsc)6QDh@jn&8VVLYfE@0DIup*O#WbFh7RUN|wL)j@5bH0d38u@N zhuPSJUTuK9qT#q#+a}{HJ1s_Q#tcGEC#_Egy=ij8v14eS zhfl$TMHP!?4IeupFs(1$vXhgv6qe}M&Y}Dpe(`Gs^4NQ!gw~0d5*#j;TZ3X1bc8UK zh3Wq$(3Mnu-Iw4g;7Qks_a5H-eE2t#J(}em&E})4{|h@g(eTHSX&O9R?@MgTz#3LY$l$dr`eF+T6es8$m}ay(pz)E5D&NY z`XV^D;z!>C_`+Nrk!Z#v@`~>JaxXOA#pb`QbyE8DWhs5MY^85+eMWji!##b_aOLyt zaITi&r3w3Gm8PJ*k=jsU^l%@*0&e?{$c;I345r0)l-g7UTZZ+G=ILKH z-(I=?jy>g4=D(XBZx05%t;td6mztX&hn%OiMu}}2)~cA!FTSI4efw~qzw)Une`P{- zf;IB&9hJUd{2XfKbho~}$VK4`bD#8d3%sq`e_-t!vmR!wX@ZI z_N%4uBW{y$ePG(`pQ*JuWqlHJOS?0$yuB!3!Pa{yn%+ipf zDYZ_ve?N3BDbk|RIKu;f zDCYisakPXMLzKyJ?D3#>>!3NMn+`?>S^L-SIygMt(q8RL-i(n|hSd6cZC!hsOUlS^ zeHC|eT{xm4*8<*KFJ<1>9I@+9tnUadyW89CYDVhxKJbazIX`uJS+R=`)*`UqS89Et zw)B#3;nw!FTK4b=ZELUo=i(~QRXo~~6O7nN?aTtMFPd6g=zPki;Ze;E?Y05KhC7>y zCI@5Lq+%^Qk6{=&sGf1-xu!GrV(z^3N_sGkJ4n&G{?uaW`eTc!>*W?HAD^SqsAxP# z*wy=7u{OFquzLRL#dYmjE`GZG%0=4J3^Gjo2IKkYb67p>@+P=jZ8AoxVmP<~^ZhbT zPbitzCf9Lun~Tr;NAjml|GS}mZeX+3an`{yMrwWs#Z3FlrIBp>NG;1=J8)R5+4Mkr zEqi37HbAMH$NoH0>&cG}7-PvgYz}HYGP-iw?I>o%w)vn1=Qr|OpRe^*YHbdavb%Ff zN#?iis+EI-Q=PojwzSU*lvfUG^_kY30)y^Z+debk z+!Ys~l04pSa~*GY1Xi00)pywPQCiS)w#AcK!Tvr{ zr{T>=-5ULKrNRXEkV)Rynrcptl&oO`u9PsGHY6LD3pe+N;p>5u`ZD}H7|)&yqyHF& zd(hJWe-GYc_uy}l9>B*gG~sS|^r{0FZ4z$4vYIv7{R`NPi_$TIWjG^~<+bd1sg|5` zA?zF7nZ9D;BJQDK`27vPm1@75*oFOYr9Nd(WT%G6iP}b`OYi={*>h)3oU{1)iaB@9 z!bf|-qTzFAmfm{n!dZ(Jvd8@BFT8cVc2dp=K&gTk7?rAmQA!~o&HGX-B)16E@1dFS zrL1wXc3aI>WQHcJUj$UrF&G!{q=2UcBMaPeq>@U=+D6Hb03XuL%8(HIJG z2b5z8b``rj!CwWO;#s7_8omjN23S5~#D}s(FysT$_^Fs621_;(j#ndhK!L9(pK+&g z6e+|zTuMU3*YIHg=OaE0)aV;bej=t5#DMK_f&Az7e?<_(ssukbaDnO#zNx&z%+Mv20-T@5ZNM zF9n@p#}Q;Xb(Qm13jUgD)3xr*_cqQb*Ri%0Rxc}=j__aEEeJ=Sr{Y6sc$$Ki>C>Zp zYZ9JpYB15P;u*cqbC`~W`Ym&!CAiF4mVo7>-+Dy$vgGvbo14cinA9Xv1%<567GaAw zN|cW&2%?Jd_0b<`G#5@oZSjWYI&#`pn`*j6Znese0{@qa$u!Az{J|O}=!H*jQ?Gc&EJ_gN#~b$+fuHuUuI}-j19DznxBRUGqvkr7JdFqbp7Eo z0+@x4*5$LaGqq_5={rlC0I+fvdgB;=&eBS2XqmJMpN|!mhwk~)H zySIHmr;J{@u6lj$RrloWYAl~gw(#d$t!HB}|Cm4MCad$T&T-M&c2>r4gT@S1e5MjB z=n19_6Xq^S)3+_g8ajO}Ej5>=Nl&ydO*ZHJ<1i?Fqzv%D^C^ro0aU|&1qvdw!hO~${fs|y-kaC|5RaaOS4dc=>0?& z`@h??>;a|>rAf*--Bfj4YRi%xT%VMFs_6&e{#;6bA03Q@C09PuM`KjG^m58?$f(r% zD;m`%6(C(J*qyg)vujjwhEi$P4|1ZP9Wseb3h0pAdKmc6LJPC<_C@D7>rg&Jc{xu$ z{Ag)I`?2nH^6sg^v?hPeyVjI5f4c1DP2*tw$L&QAY(j_TDQo=M8Sq)wrFld9h`>J^ zmlbzSxl)NNT7vmUEn*02IcEq;>7O=vsn_$EO;o6q{&Dl=ma8TAU6Z$6PL?u$YBHyq z+e&0}TQTptNa@YZpR`a^ru{ea$fV3k?3FvTj4Ao88*8VGviVKoxSf=q-@3L|@z3D< zAbis)otv$eGZRJ8=C`h>rM!(BsrN?o{Er@Rb)E;ZL(sy<*!H#HmOqc;bCOLQ>}BB+5#>EFVCn$u-2cJeNblz!c%xd%RLF{Phx z;SUPxpQ^DH-=J!GaK`ZJm(u7S7p=R{stvUbdPryu#^|>;`)>TXV11hIjv#Bvb6hqnaz_ZG4!C4c|U! z?JK3>Q%ZO_$D^gY+5G)huM-%*kP!CRB_#$ui;e&(8p0$q5kC*+m`4jdmE&>JLjtGF z(;ki&*(bZr*Jd_VbbECcZ0is>b;!sSTrFFB+?ia{DuOrhV4u`AtQUJv7)~DKjElQWy-wr-b3l!|Y63=wsItgl8EE>>=F%+_+qHFy=|YpdvJttbjPK6-X2KY0y1rUiSbuE=uqp1YIw| zp3+~#=;s8Tp7&Ig(-ngs#pE&L85+PU%CW`o)Nc+Kn{$_zSd&ai5f{Z!8iwB$hLbT) zD)SQj=#1VKf#-6(zcfk1jkrkPv%ra;b_aN{^Y_hb={5Y&U#LJ2%(xmCDYzjFKOKf& z3d1{NG2FOFepnbzo=1$!MUUgIYXWd^2{@(rBz|;gu#by96K{!QUkp$*c3`m<&(5B~ zu<}2j%L(k>M_{X9^fKAm@abahsD=Hq(H+lfr$_c@OY7Vk`#2g0*BX{+aC}1t^471M z7Rj>ev_uy55Ihq$ov@o5_S9%5*_+e9Xx^O_v*(sAn04#y>fwuL!8b%oH}qKRUWjtD zo(WES!w^6%tYGbUsiLE#j;bF<0ae`t+HTEOT8Ro{4z;bOG zD|#Krc<)%Qm9VmVG)GbIe#I4YXU>^5jP@!P-BnRAbLN6s3m5VjhmRjUcEYs2oW$p8 zdk21(jct24Dvn)w$r6LzJ}4v_*-(Qchji(H3feV2k~Dzv2^_Ord;mioZUc|(1gh(LiNkWG4Qp8asFj5;MMpBfNuj59} zl1lZp-lQ^pWjblBNbm$Ph@B`RM0g(LNsjA7EHsvJTrU!ac(Mq;K_8ns@ENQGUPFf0 z77$^wZj_%CtN~82PQVQU(g!UG{G9=5a7qe^k8+*_h4dUz0(kEYAg?@C96jISp5zz;P4&L=72)rM`>7q&iQEQSiODuz;u6d4;Qz~NO zN1ph>JH#nDP*o2Qgxo3tx6&Jx>TE9s4AsvfQe!y@oDylAJ}A2ZBpH2PRfU?`GU`a`MK(piasg)wSSjEf0jmfGG4&+yY5|uBSSujSzVj*) z(1sEr9H^9ZHxkyBiU>IzOb|r}os#20v856z=0#h?9$k&$DcD{Fnc_W0a1eW8wRXE@ z(X8r4J=xcv!#Sug&Fx~YM>Vx!&>HO_bL6$(AJ*$2?P6S~X)OC;+0)=$r;Shw|NnnF z*eB~PK~{Sf=m zOBb-Vzjc(oV^w$o%NdE8p{*6zY4^r(i^|TeRA_TIU-Zb`r?}z=r|GX7QtH6Zj2{(s zgYN2+`vfg+vbnU0V5AozF{|j9oTvL^<~Y)mfUBx@!Yvs+t(Ny<;fk}2-3b$+*weN4n-8D2R|cikAV&U zr3n1!qNlrD&r_h6)s=A!a(M_RxoG?hxv#_IK45KWwpbRo+UttH1etsx(s zZiRic)Y{2SX-o{^`JBm9VUuvp3HV~&^e?!?oC9S(Fc2f(VVPig5%Fyj3sX_3nl)f4 z7cAHsunF5|%lM>Xmzz!3R>{{PDNAMV-e*nN7;u|mb3i_iO(NP7YgD$mo8AB@K9osE z;i)J^8MsmC8=zV@5Z=WGQfS4iP>~N-Qqhgg|HKt->{9p@yLvsbUC5L#7eGenDhY`b z2To^NqN$zJWd>)7?$Ond(FxK-$QX^I2dnrOwyBnZ<+NTd8~&xaIxhhWUWGgzS)>d< zYTH2zd+#$fiLKeI*oG8Zu1);c5b}YE65kU)Lufwuc>YD2p9iiR`HOkVAc38()4<_1 zy@%a9WFu~`DVpw}Lk(%q!OzhCQJ4xc4_v}mw}-qJt^&C>8epFg75Nd@R?tDH(5;qt z3Af#t1{G8gl#0IW8wG9nd2r|IW#=>5UD;V7vEaMYk21NEM{48 zK24wflG1N&Htp`;flUK7QpxMUZ)n!}Xku<$lkaw0J)cM|_V6V}-*hQG$gIz5UA>!* z4)FVKUkmTBN~*Gpn9A67&uYWtt<8PJ*|y#=UquAI$7NY7Qm-wXL^IB7U|LT~(Px2u zx6_O$8P`?7rQ(RqG!~ z%eBVrTU|9fv{mb=>{#%>C*QtpgGrO}ZCDzS$Z*qjnB{+Eo36{AgLSf%u%1QuUvvi&Z1R51rTpq(x9``wVX0@`eyzJQ)5*Sl2|JpbK$Bl*pCHV# z1g+M_3XZ}-x9qLG)^Nd2OWooh+YM{oX(aVfY|d0#*`-opQPY&)=a^4 zh!s|Tk0ID~5TEMuUhpiQb`T@%*83ecw)|KG!iexilsS&ApgWh#oXuW4h~+i%V>Fee z9FOoL6YhE~4v$Hne(aUQ&MZ@Z+FtXyIfFe^uO&P4vih_q4tA7JXwPK_>b2Wq*Uq3O zSjpS)mn|qMOy^%L_#4YUq@_4ZtEFcjX-o-LCH{%scu4DN!U<2d?2zV-qUC*KL;kw< z>)7@~TL13n`L6y4566#;A3dvcw)>W0+b);RuMF4it! zqdNspcXo|Rb59(${c`TC#EVjSr&EB+mlcp=Ql(b<< zThO#16hZ9*v22RURTP)jf);Qoi&zj%1>9H^1RX@VqTv0r$d$5KE7qdmb_GqeTtQK) zpn(f&3l`&Y<@=p^=Pf1Q|9QUW8%XCpbIzREw=*+mc*Ax_j~k0L$^CL;`OrXKK)W$u z#kLDYWO?*5+y>MS-qU{6lhf$HBscC{dd57alMC_v-jxrola_n^U4ruJNzNJ(a3*;b!d#dTViZQ0}rER80(mPS))cj;Vr><-yPzmg#K zO?=x^A+}cy3BqmTQ#+!bx_8bv6m3gL*_;Cnat^U)Py+3SaJ?K%PKr2VFXNCRRpb=~ zT-s@nc2zOAYdLo?LOJD!HopX%Y*98cuc5t&pWEr^Cd#sCXL6u>z*zfn{WHAp>o^ql zF~9$HM{ngHe9h~Q67OaHd(S+YgxvD8i>?VBi5^>f$!O%FYyC;P^@_yX%Ag;QD-Djz zF4pqn*{I(?(dxq1%4IlxRqX6BI;HvZ=&HQWqige&LZvXdc@LmH(Y5^U2FKvIbx+-i z+aSIk>-d%iN1D5+R$lZd#+WSX+5gtPH59)=J%VXyqNia;qhqB3JGCRs>);gqYHpH&s%Rxl%BD@Y*H{}2Lg|LCS z8VZ^mD{MIf3L#9Zshlx+c;&3hz>LbfC*Lq-R`pf)j-5QSx_olwq{%b5YpH@mR`21w zy4PXNSn)-@i(}`|)iC0H$7V%41n>LMF|J|uhmOybku-0$Bbt54E|YSR;d0SCLW(T{ zcuAP>S88)qJ7BT+Eth(Ou#{fXu>4<+Dk}ts9bpu8FFxWkSmXIKWWB(@Cu=>wzi8^%UG`pd$+Y*Pk55|>O}HXu?64feAI9OPj!%apOAa}5k->Y>HE&4m+kH6SKd@=sF8W0~`|pHGS>Ky71W0 zO?=Y;%eCUVZ^O!O9GOPtR$Tmar*%VA#elmZW&r+#C*nbkY>ymQEg(z84oewes;?+W z)W;NtJM)`NX+e(w)7S@+9H8K;>p!H*L+5wWko&r!>U$AjVwaAen`N+DBuooHYA%mT zc$k2DGSdG}^yHVG5&0P~48MO^qC;Foq2@sCq_>=6Yw_&OZj!J^;QO$LB}~mV2ba<} zNO+#W=ZaZ9K82ycz6M@51fP-gv~Lwazjur`Hw-`NXg5B)!ffVQ?G7l2 z``(eolQVHeVBBd(d_(YON3uy=3TSxsjKgLWR}=Z(v#6hAa7mG$qOVi6Ru@nH6<^77 z@HGrykcs^5SJZJYe-IWOig)oH&EL~)RE8SfE=>jrWi9|fZj zea)kp)rAH{sz92`6a)>^}~1*Zgt|M3$OVN ze8c<^xGMYk7J+^^u1$r{R+k~Np_BTeuegk{q*qwnHAq9{A{8Wf@mP-%-=@+Qu_R*mY!M2?Xsvp5w1yW_ZxgKM!(YR@XTo}|eS_4fOotvVnAGh`nUa`I9grRUv)avpF zR$a+Fr0&+>HEhxs8E3JrZu6V-?O_fT7*OhiC5VnY9#;CUiN^Wi?lBBV8oni(;15MC zM$h30A9cl}#$fW10-S(WnG0IR-Hiz>=f*5=1Xf(HJg`I#_c3nyAA+ zpwU!rfL>+tVZs?2tLKjhI;L~Twc=;4Q6IqH{p#S}w6PDB2i~#@)?t}J7X-TnTmx2= zvaqXZcy(FSHKwGZgCG5`V}Px!I=-R=+J3oBQCISLe>wb~s%m3JMMZlADUuOb)p$qs z-|GidQ*KmM@O^(d>VkCc!vW>Sbx``;Ghp82Xiqijd1(r4*tIm8&6Y;Hv8HG;@-!8B z+U?+)Xtw`4B*cpw1Uat#QMSyuxmYBosAf&HoBwm*y1PaPjGJ`V#8!jXB=dY+qiF-U zRZ!xaf?#PG{`XSzA&bX^$xysF3t|%a2O|Ib>A0xiH|D>-%@?xfd$9&gkH5Ojhzkzg zpsgg^lT`LySfd^{;_J^TlGg=plKQHd??9M%*iRZ2DDU3<#5TQPKMHR_1fD_GSUg~7 zvh(!@_17Tu3O}|rA;)pjz*J21dWs}z2Ul;9)r*w=J{Yb;6_W>0ON$TEjS1Gayzb26 zEn<;*qgUDJ#}v^d4$hE|N#Qk7BQ9i23O^Ig_nTHc6V1b+)?~l$5-mnbU??Vpyq8Js z?wW)++gzs?zta&c`wNwhk2k5=!DWr@iZedc*lutpg|zi3$o%Q3lQyJ>j*7i=jQ~yhCi79oOkOVXWH&<3mWGattx$^IX%$eGph%c z|3!<&OZyauM&~`X4*65OiaQ!PZ-R|Ko-v` zdHr;I&)~k8;lD@BKt4c@`(uPR2b&v%e>eu-9s_5~fm@5clf3{~H;5f?7+_AsNlL3N zs12ZrY^fY!wWWI!`!r?*rdvvskR1GICQ=Xs-zs5RfYZ5-7Xa&q@*^biGy`yB0%Fnz z;5>0kmF6lp$PszAAjn|b0qcesoWQj{ThD@V#6TKyek=xV0Zj3{89$oR^yUAZ;z|oz z;6@XEQjDb=^8U750BAEJ%y1-3qHQ|#;gJgh4ew>6B}{v6Zpd&qT(}@$A4@!Kmbo!` zPsO|yMx&wthw%2lS$kd_ggZr3n=tvwA@484$;644Sn}3v~R(7RnDl%TjZ%$E@x;h3wz^rS3vO3B-_`3UUpE|jUx8JIC z5B$s2Jx*NM?0)jg>CIwwJ*$ALE zhEDJ+k{1WyNrZ#Y`w%^l0`}9!taP9aCVR2Wi4tw&g%;%#$h}N1x{*AD#c1(O?i8_f zf{{a`$i70-jgWei5zt(6FK6soY44Rb4Kns12!5iE%Vo;2l}}knhZ3$Q8*mNTqvat5 zz{?2s$g7Khsr#ZFpx&AyGM?;ST8@yy*gAs8$-@nRMMRLjufts&^LUpC5Rt=VBc^A` zMj6}CKM^d>3?PDo2u6;Sl8w3|4htX$M9v`sBI4jPOZs0a`5q(NBhMfJe--&h1w#%R z@xi~j*Imgk&sGz<^ml#uxgM&cYaK?nHk5zyg_`(mmU=<=gZ^z8--_$qu?W2b>)(}) z=&b&grDk3Od8O6_zN|SqJG{Vx{|-0htP|Z@Sl6AJ_#A1TXN9ZG+@C0_vk7s}i zltfK)026*T{C*U>=E{6Q+U*2f;_xfRkBlu-Yjzj&-;P+J!4>sMsxtDoS`&T1dO$@y zd>a~E_km=R5QF7*#86jvp>}o& z>>;t;4KWu9&xXu3To}f(F1`}G_=;rsqYX-U6M4lOGvb-(>0_bv7wyuTa0rt;HO0)^yt86*L-U2 z!nqrd8=911{tP6uwbJ#^S6z;_F3HT`(;rO8Fqfk=q&nNy?^IX+bZqD7@uQs`y|Cz+ z!LIRJ4}?YB*cp-nRM&|3;ICXJv1b<+55=(9#KSL`(^7WEIKK-xnSXo4nCyzd{9E&o zZMiTiKY=o6JfNyYp7bCQS67BUjO%)wa`}{Ft_;XtruTNH4XKKutN%#oSvp+JWxtrjOQm&D%tf!q{o@D7u3S{YMHc@*tEm9lM9Ey3t zBCFS2jWG7}mmYMd7z_LZ8m-5`?DDQc=>xATjiP%8s;gFC6sW=s!393UknYoZqHdHm|E znv>A1)Bf3iqj1XTbxE>!z$JH8roTY{j!d*kFR7Me+O;Y4~QT>Q}4_;SCQZ@sy|3E5r+AfASljQnUNI zLMsKs1lR?B==5|yZ?Uw{O(9}n@Y$MKpJ9RTIDblgjh8P|i>7tm#-=@<8W|%m{2o75FFAQ@Hn@`2Y~bjBX}rm&P<&y82SXKV7CyiMz>a z4=;z8uXxFFH9y4&p~+w8&PKF*(5EAm>7x{;u9b3Ah^mJ(An{j>1pWkNPWE5L~%y%+$ zAu~_ScM-%7H+FcR73zF5CP(Z~zGa2F)PQy5u$Ah|WVfzV$H(16yRYwP@K0uIHwsfnbJvpupH6ocdDs##q(p!of?@OZ>i9}?L zQnI&2{X@tN7rCY{F5ME%^czCnxdtTcvuI)5XVF33tp7B=Z}5V~@2%dC;|^8$o9Fk= z1sDIesI6PMR?m9by!%fW2AaJ}@0|T7*oxeMRZ0Pe$U39f9fy!F@l{;S3fAF5{ye{R zg({;MCq#Wmq7^TrPSm8eDORd~{&DY}*<)7vv$jojrpurjw)czZhl@JXMkc4y#79tpIxK&!9jz>ndWZ%le2bZ01n#<_L75f; zx*?br0=gl16ku|qwOJ0Ky=I#Hrui65b);fkF0djE6sC;9ly545!Dyn*dV)Qw768>|_i+_TjPtn3fU! zAVD82Vij=E4W;c@O#NhXIfdk~hh<2eHg0GK( z?~j330;T}yk^}T=uwRn+Pk&(?yDwSiqLux!7SP{%6`F&GP&B0ycX8xpjKB~0T2y-D|hgvSVY3{!BXg6K8)D)xdnV*v*k7uBUy z$fAf~J$`QJN~t8-lr$9JQ!#LT4E%5De-&cjh7hz6@(JCL|LbGmU>7(@1Z%oD5Zo36 zr)TQyv^sKq3_LdmelZ5#8v{qq!xpiS?#cf<$C(z?GGIJgK#OW=C_bOYzz!_UD8ncp z+z>h5Ct?F;e4U1n>-%^y(JY;ivNEfM@zj$eUJkP9fXYx>?Vrt;^>PKc?e9CF%H@xan zd9V)GD}Q>{<>W(OMI=tRtZ5BL8q|nl95;G4S2jbR;LlFyb^N3E?079Y7YDh1I%L0y zuYEe+&f|C3yYr+0hRgZBLTtw*?y#pdG{31j5j9dA`uIA$e162~bT!<%TU}?!9yG4< zo{^Jg77m1xy3%`RRbO}SeKV>i568yHlzS>klRSTEf;E}9Ra+BRG}R~ani+sD-=p5f z)%P9NH0iy7ym$3fd4n~Dt23-=eEc0agZ200IO$QoR#Ev+Yn2fVm+n>j8UFtcsm+Ur z?$m_W!C|byc`+a7F#> zp}E?O)Q@vS{v*`#O)w-48@;5aAz}+b2)RU5iE9Gr#m~-CKlT!q^XF zU&YvIgwO0tQ8~~p5kl-zEYub!_9x|qJ`jqljEF!j=qMs4Vz5j`=pLCPkDhlIMFRJW zhz{O1>pvAcv>=Cem+ME;hwcJrcSJowf8RBN}iHiZh*%S zJrdv}eq7cW*dhX}QhLJLPUBQixn<_Sdz5?G19P?G0T1BzNR9;?C@ivK723A7$Ld z#DdxW3iAIOB0v^-s1hP;E+-ov>1?qbRrV&bQJZfk8xg&S>?W-;+TWJ9O%V}spB4#t z9C%8IxK9gPBm@cQMd2U;)SM~8)avX(#8{LKVq60U@_0S$tXH%nEm?>_77@N9%NTWF zAi-nh5#x7dm%K;rcJ7rAb-pJz5#N_N@`2oZ+=iJQ`ES;4gNpWF4hIU@LkP6{JhK0# zRW@=j1)Q}{;;)if{)s%h{IT|&jr~(uyF*YI33~F^kNALo64{_%NcLw^fh+tWlhOW> z0#QbvYqj6rB6k}P$bR78GRwb^S&jfGYwZW|P#M{1UT>0p2xUw5mv|tVZ1DY(Z1DSm z?60t0OZH(T#sK>vM9_e|CkA!o@HMgsHpP6Uv@fR^ACX;aSY~1C`4o!g6&5dwG<^Jt z>QCTlB@WlK2UPX{ZxFxhOS_%#I|v;dR~eia@t;15ckoXS;>-X*bc#4{sb|k*c)j+#C4Jt&6K7i&@ZERdxM__Ej~G39{$Y~1S4*^ZUBSCm8hheI zc;!4h6g+>8?Vc8(is7Gl*m&hhTtua7Yx0(?{~M4bmujOpk=Xf`A(jj?Rry)k8S^?K z=>-x((=UN18nAT{)$W&u2)z(!>Q@M@@*nphkTC{Gba>?fLoz>cbG$R|Rgl<-gbz6a z)rFII<#V`nTysQq#qH=sJwd2iq3oIOCe&L%xrDDngj&ce7eV2is}*7H(@{XD^7e1= z9;yG|P$B2yiAP*s$6=i*(CNJ72x5F(Y~1m!@EvyyXlkbw{G(Pd_J|v$&wdL`W|`I= zkeA=8cnQ)7LMB8d_LO%|)yp_3@(BpxgAkd9KJ6gJMz|~W1-QljlJ9}`;m$vO3 z$AGS-u<`TpZ~G$v+U^R-&A+1v;AS)nE%qaiB7jeTmb+$kgq{U-F>&C}0ga8)_8ey# z4-sldr_U4Q^9?Iigzza>a=KaWav9(eW*-Q(A{%lHgnL1FvlfGzV~FHopgka~z^{;( z%yVa$J*XEuv|QK?lDI!XLOoXnKLid?8#w(aYP0KmpoWjo3n%w`Fel;GAdPti(2hw! zi{!y~5ieL~$}rCY$vBNAe#Fzk)vPqw+z(h*A#ip0ZWFLY9M`vKvc0#3G= zaX)~`TR>}RoI>byjG?t!0@f0GAJBeqso;%-UIsKa0O-O-8=?OMx>%s&BIG+B-H-Oh zYjFhVVF7IhSHW*2G`*H6o8mG;o37M-ZzOc41Jf^!c`MM4;XqdqbNtHrOAjSxm=A(P zyDQ86$8qrTFfTc-_BFS{d5q?>4$g7w;Ztj&&m9M2dhbV~Lxg@6Xb&;wCkR~&^m@&= z=LFFEfY#DH!TxKKj z=!!az2TVY}+#R|S&B?=n=~`lk!9m0x)HKfO9FE0sm;nw3Q6Ew+Mh0|cKI=Scehg~% zc~m3@ReK)gL!NYHIQKm2*%;KkPLw+$QIvaR9&&3BQ?|j~*kxDuMYr}a876Fe{ri1$M3aW$u&`r|6Kl9?l`6P45o$(M!IrrVn4{X{o>AV zyx4bkc3i)aN=~)d^D(!-WyAX|xQ3|h4;D50ekl(N3dlT)vLjHfpDxnXfJUOGM$jPN@TeP1phQ`yYwe%H?a9fi`ULq>n{A#g7c_ zwb9i;y5L58ZjV99@#6s{P>st76!_I`s6Q`^X>7!)aAQc1l6J(Jwmpx;rG^Zf(z9J& zEe~8dB?0Zez_`YHGV4h*V4OEcu+meg#khq(^`rU{dPDC2N!=j!{BTDS*B~ftk?b{& zMisXSo{^hkarrr6ACBEKd3Jpb9&kLDZwt9cn&k}zQ~O&M!|K(I>!xfj#rCcjC+ihY zz}CF3GEZ>ScaJsxpG0zTMUp~7e1ovQjZlWP?R;#j>9qvBfRrjW9kpC_k1h&q$37jA zo4q#d5GsWQ0dqTUOy&3j#+8f{Mq_t$u>n4{?D%%E?sjrMT@8hb%VN@eYLba;isB>@ z_I>%kepd6KRA79E6`Z=O~MnHj3WB@iJogv%V_fm+_ywXVKmWQz%}JBbHevS|w+GU(<$O96NAXWRtG6j0@Jb82G~&*p0fT z8=}XRecFg?9qY)J08cm#>tnLTEfXjkE8`FE z!V^#x>kOH}e^GZT4Fz#32F6?Hg6*rok%q*{fOSLk+hgD#V&FcQh)}c^;z#?8Hv!fS z{Fky9CBY;?pt7$oBw)v4V7FEGu8q`Npi)NdS$QhPIT1q!gfm0;jC-83e zJYd~Wx|${aIKJJqAmokMxeG3(kx3dN`!)vt6EFp<9a2wa!!bk94bcnXopd00M+}~x zP1X(JvoVFx4PbumZ`Q;TdhA&@MD!(K3UnBLv=8dR$fz5_&ygeLUHB%&kNf!(TkJhc z3LToaV&R<0=!qNMkhgzJ{1SYV^2eSSnsh_>F?{JXSI^-4a+J$~6YX)*78u1wgR|Kc z5)KG_4trX{T5NlgzJro1K9Rs(;z!p>x-B1+n161kv!{ zzto!)USWnbyl%H6m&Cj-{?E-yfBx^&xMlF+`*?KelRb_heA5=y`wYh;r#;IOo!nz~ zs=TdD@ta1A_rT<9PQCcaiFg9yh~j*OcQZIs8(uXy+ZB?7V*+Y&u8Wl?AL-`IEyUxf zQ1dRI78@|Ovg-dWCa>6y`;V`_qdp-d{0+BRoYM`;=myCAe^VMlcIWdpp56>8H7#$E z6I3tggmNm`eHf0UJ(%R|70i>1?|g0XP3P7(5k-F~&$vkHPrDdZjokf=wUS+c5smCZ z%m`70cHo8numO;x05)K%LuXLQ9wzN#X%Ck+34($|K!sr+B&B``u$W-9`B7vef;W*p zSc;~Kq-<=6HsK_F?ufHcb13L9lcFrt+*#xfcpljhIXq7G73agdRLDt6q?i$0CJ+G_ z-$6DaP(wCSxQOghDTpc4#F`XwJGmp`h@+sV)% z9mz?F5$2TQ7JC-i<;Xg+M@r%RD47$ZWkknl%M0>H-7ZB;bu#ATr3C43QmS{gR`$f`m}DqYeuIoKB5)V^M>Z}Y z`$j36zDDYvLph3b^T^SDD0|Ym7o^HT%Il~fu-}5RgG~XDl!WY?rClNINz$&C_Fd9e zDZndbUARpO`Qe{(lK5m2zEa|EmpMBT`H$RXq)iWz7W*X?u*m}rb!1mdI{`N7SL{wU z=tatJJs-d@NtYw(1RfO$EJR9CO3Z#I5=u65;2yH8k^iw}R0jkFyinRyYY7&011S`B zWhxpl+(}2Bp2B{Bv+kCnYv9ufj~Yzww7*hJ_FYoKJYD(^&XkpFvaGeUWEo;#MAXvR zQsR3*reVaON=g$E>$eHM7g9m8=g9s6o{kax0A?vwEVV5cxUjmBb8Q{JH9Rb_?$Oe7X(#2!2X;CZo5b9nKzv z>e+C4h7%g&daN-##h2yb{hpd;Jj1pdjra}z-=0pdxeiPp;_uAG(|9-j)8RDK=JHV< zXCL!la9^fLC=wP~T!yW=d^Oxj$Aib&7gDPeWDVnq+0MQOe;&Uy8=iJ!9;cmt=e5~R zm$??DUBs7WJH1ecP*0Rw^Z1vbgl-8X2mV`mE?N8dHDtB%Ik3#6=1V*M%-_gyx^n&K zI;gZS!Y>s+6Mi=QjvKVGl3F_%JPriG(2!$rrkPDKxxu^v?;hCXoeE#~UWCXZk)5mf z3SQ#H+q?te+|~O*crOMSdGF4b-i{OW`}lIAd^(0Q9aRb$D=0JhEeR$PgnbLjA^(Y? zEC%HSNlEorkJ4rM=o+O}yr36EU3*ItT*{l`JMsM(lEeIAkfgi|=dQ6{g%E7~Tc4Vg z=tXvRW!j5}iRr3`;$7yoAj4CvxgdKghOB~T(;@K1aPG=@H!+q`@6#pf(HQUZwKL?u z#CZRZ0+ikQ<-sebT!hZe&m|N!i!|I3w%P z+BI{FrfiJnpe`f=gELi{yA2tZ^_U8DPvJkA;=Cq|@!!+Kdr9Vt2Ne1Tk*cw}3)f1Q zHZ1Gwd{8kBDS`~6V6D~X{#FFgc|3f8QpiW=I=hX{fx8z!O4~E|JuAOIgZ;Vu{txVv z^7}OGGxFOFPf7TZUz$v0@cLY5e$chE9FHDD?MBDrHDWm}R-1cI*cDfk3#9a(u&3N1 zmf9^R?1g)}L%wbxe9MVzmEGy3ClzHczD)h&4<0#gZZpOwWq4W3iE`IRz+t}@UqwwV zCq{L`qg-brEholka1aDzTtC6#s!oEdTt5IFr@;tnockLreznMqs9jo$2adz^>Ts`e z6X{oLE~&}ZzRu|~f~s0mejK7>Y%?Zx%k#4xQCER7U_Ji+m)>NS8jO_w>EU2itsy_Y zbw|`K2;2ofMRr7!#W();w}sc$=F~30iTpihb{nhCnA|xvMNK=Rse&T4;0sWvi|_P; zFe2FtIku;EacO$V+rn3B9Ty=S~Kee%QF+g@>axP%QM_d3|f$zZYmhP3`%2c4j&eo7H< zotVSjMXk{OR@I)YPZzKzB}qku&WZ>nQa6)!V^k#*gPD#Jg)f7U;naUZPg&&DI@E&!xSyVuC`(YteLzQeamYX|16pTHA zq9&qKw71KeNjzd$Opl(eE=>-Vp@5y?1+~xP@$Hfa$kn(&@vz^O_N#xHJJV8b%sE$t zN@UD$3)Ng{8oeU=&=oBIKcOf}a~#HBR)H43Ghr<2_;9uf+Om9FL{6WcZtB>_H}-R8 zI4Nu@cq%DV`(gfhKj+24*85n;sr!p_a`74_@@F;`7(tpusjBv9J>`*>GtTlMf~%uk zQ^TRS&$4t}#VQ z4(Xwk7fSoh&k9X?GqL=Y=qLQ8{y3}kePn0!lY)tFKEG{UX=@0t#)(q3$XI*<6=hTh z`i<0zfjYi6BsID-D`1@V9Gam6uh=Ap;)SpH@;XtwcSJKqd&n&4U9~Veux4R&a7DDq zD6w=xor;ID%NE>e4A=tQ79n;smY3Q?E24uvPa6!s%qum@%ELUiCYR^W2q_aY5FJX? z5r~8Is&%>w(cPpsDO*oHOgB!5&KPj*%v|IO5XY6Jw$Mu*^QJG_cAgu$G*FpQ$eVNO zqQOf%E25hU>!O4FemwsU`5ICH6Q+tku*lQ&=t$N~Ae_+LLMi;rExrz5% z)>hOsDc<;+1&fsYvbpwyrE^Sq){rGX{-Bbl;C(yOA%+HxSK1H$9%7*THIfDx56yd( z6=gxxOjE!RW*&NH-Z+Ql{}y(N%yc!bLw!Bn5?`)}TN~;1b`)*G5M_m?ZsY1-UaM04 z+y7`gGcLcVd7Ss?dP`Nj^^83i7>|+tY)4#>TKl&R-iq|-U zc#uq#c@rS1LYYgwVn^o*sSlKu^AeEf9%Y*-{+s6764DX9ntlkCR~A8 zUD_6&TDv2<&mWhUc5r*g+Ius@ig#u76L>rt&Y!a~`Y(Ka6P|{zkMVT~TJb*hZ!bN7 ziu7-^=s3@{Z$7pxwW&O=+UF{yyu_os z_fg^OMt9f$#JLik?8ExFY6sK@It_f$0B2#zLEx7~uNUQI%};3F8XeEj(lF53L`%M@ z){tio8{3N%QEq6v4zxBj^qs~rj71Z(xx&Q~mw0?&VDM9_D}_12lQ} z)N4I0y@Z8+a;EZ6Q^(=^)2nZ+hWea$Z3A|drUrfuW0aX`2Ilzxg{fL(E}tlF)F_*V zdbNI(`MwB!9*j&v3n{|DjL{Tbm?_NAt$IYe)8`L{n2~k(Sx==tx~7eV3f1XV4?h!S zxileo1h&>;Q=2s%sGOs}C#JbpiT-UxX?$o$bUcb{niU`8L?1b>KqCRdUo~GF#Kfpe zIncZe8&dwAhQQwRm8B^GOW2bi7rH64F6!~TGv3tN9}^)%yJBby`Et4H$S0qixxrM_=X5mpFR{H_uoYz3+iXwxYYdePML=wBobzP(Ew&n*%M;ns^Fo zf7HTOMrRFOimPc$qwzIRN?EZodOu)?KNnZoh=$Z%p?^Z}i$ou$o8%60v{;w7;K z6y;3*<6!5N!R_c(%`J4F&`^$-@(`<F%lj$*~kQXG#C9ks*O{ z;$3mhxJkbZ*B%ip7SNoD*l2@t+fLR#&-w_Wk|3Y(exY9Jm(aYs59<>r_w7u9qWVp> z+C0*aaYRHKg{_3V^{5Tu74O1oVrm!Ecw^|G- z623NU@D8}Iq`c&6ib!2RQ@?fho3^qaw`GP(B+PMvZgc6KxEE>h&>Og`ODn@H=o|bc z6+Fu!uQRHd*Hx%jgubn$UTorE?o+|4`&YOkA51=kF3w zUYPb?KMZMmuDPKqEC-^YA8M70Zni>MSj!39V#--6r zwk4XyEE_D(lG~B!th%OXmfwPz!pX&kpxq=WP*n(+I`Z7W7~G z+_|pa6!`d)J(i1JmZkBT9sF6@51zBo}!9WGT-D- zb#;P#6PP9}_OLA{VWYm-OmFnomSG*~t+Bu6s~!@d$rl0{jX)gjX$I|CXXYzIHa$vh z5;L5%ibqR*&6dDfscG2JJ{2{}&D04jE^iH`8c)?Npwwq=KAj$RWTy?aIUX6MSNxz+w$&a|~B6N1Kx+um+BIo(($t8GTxqYfim zUK$@}`Eg$V>T)aa^+<8-slUU9EC^B-}Z}+4LNlsppU?-9K8Mo>d){ zq8+ctWNJw<@buxYGhdq;(MnpIiqdn4HLuZRz|~^eY*;}_ zL@v1KUUF$*fXtUN<_rFE%WGpJ2nZwRL65%TN8F$lTg%LIXD@#(_{*r*zM^Sd6{SM) zt`Q3FXjux)*`=6IEz>Kx%agyb+2h?Js=URYC)b+P1RlX$!V@syKt|EdQ91FL_QZ(_ zWD59jVnqwg)@o?4baGOPsi(wi5| zH_lP=E#VwdbD3`tx@GTleQtiVcJg#XerB@)G73ZgybxuL;Xqdrf`TQoCcB^-+cUgw z(Mz?;fakZNM$cgRw&tY3y7@bz-3!Ds;_ZrYJ-!o!49Hq8Rx!-`0VFY5Vpf$^&=M&U zLImpDNH2g3u`aCNTRRZvbSSN!0Ok|D{)m`+{T8udB8X*JSj>NLT1TI>(h|xPI9iW) z%CRgljT7-OonkLHlUk_+6tTSIns6Dd2 zHo47aY71uvv{NT>QeY5?Fgf}9Ec2NzFqY5XZk)(RG z^C>C7YHG~u8i}sE(Sq3^`7Q=*^V;QvAiX}#7fcBypk5PMmeGpCOhh&T4DlNFiX6-! zGX0m9+hvb^0_!IuN_4Qu8;w<(@ZkfiFT(}GJ+W2i)=l8bFW}~r+_ZMHCK&DIu|2mY z+E=QRKuSEG@~7=uRb#%bVRQRJ3$&&ynjk^@tEIQQ=M_x-H`f}TZi=RRl&5o`4z;(7 zJ^fYLnrI)7tK10X5R@FKp^ysRx74Pz+06EEZXixXH8;>lJ0C=gxCbIi_OD_VKxIZ{ zMMr?N^5TC5oT)f>oN}deL2yiHXdoxx5Q(EVD@wy}Vmi@X%vE}YwHTTLp+@~{Lt}~T zOiY2=#?4q|cWX)2Cb8#|TT{xfg0iJ{bYIHdXN8?d&H!Z4uoV7}AgX{hUQ;mucL zCTwX@yql-z&rOp3PZ8<6f6NqUjTrl$j8L3uIhwT7SPShRM%GIifc~@BSKADuC?FwC zpbm+8sb)T^-02IhYP3D)g$kOLfWRxfdNa(Wil|TZN z^b%RZCaqF=wx{_{g)w~CeB3e8=?zW|lMF>`=!U?QYV>IHY21G+R}+;&fOP}7fmqo{b}8mrJc6Hv`v1K5gee5+#E z--%^%LT3Z2?L1q#d5$HJkII)}HME#Ts?Wbbs)$DWx9>=PJ_3>3>?pk4% z5~(zw=hiSe&=`{pL01NHK-rWiB4gVn3me);9Oz-!&G639Tr90L$un=DVq%ao*$`ab z6in-kt4pJp7U}Yk)8Q|;W3)3P_)?~6!%`>;);t_WIVf1U8}j>w)`;v&#=PEuDcai+ zU$t?Q_6iL1eHb=8XOd?|4bLB)ga9nY=hscLO5L~Fi!Q8<)R&hwQ{6O(x=E`d(a{DG z%a>72EdHEDT5tLodJD}n^F2e8wN2V<7d7bemWKaPo7!fxq+#Bv4Q>SiO`y9WVp^To z*b-fm2!Z{~=Sr3Eca_J{!DyV0;tQ{PH0y%_y#qlLgLA(I|2kK`ovN0M&pFpFU$vIX z;}C1EwkEbz)%vCw^2cJPSY%vP>V_z7JS1Nhv{4lrfGOW>Sb$kP+2w}Ky5#0q$c(AG z0h8A?QKx@7q+4j!5T_&}R}*AQB|gbPR2|*Z_hG&95>wA4YVf8OgKY5Q>d!aEDb)rv zMJ;eDoDU; zioUMqHgsbyzhS5$|E7aYQMb!{wx5gq;@j_?AGcA5<2M^WCbzx8=vIY<;44b^Mt39@ zhxVMY8Cm`nA>}nYbkJz0VhxxnCiwf5+r5{fnd~ozJ6&Q66i{N(0U;Z;1|* z&CDP2F4_|9?!Ud(J1u{tJ-A{i2GlT=2!)|U2-&iy1v%1!yfF1PKi?Q)Mj5M5YgU2y5}LR<{4T`vn2L%WuMO6W5QL($`^l}E35}+XgEbU< zU(JPoe6=%9>}{H{gZUhKOs#6C{8D_ITa1HFxUaS*v}9PV2dHebtVYNsCqV9EkZo{- zIsO3o%{ZXVB(=Y8QJGVInIE);{$n;uzAh;WI%%*Upxr4U#tSyHi;so1fLkL`NSO7l zDr!%()p%DaNr!D>sez;QZN+i6rv4|QW!T@jACjhkDypTg9xThU z(Drqym?(0_YGd1OW7#joUSq|*ZHoKqw%4lgB7nEei!rA+%fU?i{ymkIyCev=Gp{fR+@{a+?yf_r&#oqZ*(m#Fi7x#dahf%!Z@3P%akP zX~IsXRw#ZvL?kNBNI6OCU?L-tvC`Hm6{PF}2EUGD;%jB}vjXiB#b*V%f#e+IvT#@W z6k-j1s2~|K)rHm3gVPsAf4F90Gy>`QSwVnZj{ysj#RJfK<3}!x{#dXu`a3B8sHBL9 zY)5vZF6p`7GBuEQYRGF{685??4D8d^L7O~6cb6aulU7egTCfIv*yxHX!!j5O$5wd_Ox zUEH>yP6=E!O6y2z);l+>^uH@KYUF6qJjU%(dLN1U9zGZ?uC#RwoN7CJd^EeLAiOGC zIGWOWD6^PvU-+U?H1E@*!F)f44ZZh7w6bKrOEIL66H(r z|E`|pX88id!A4?OD2E8<+Z$Fc`Ei@MfAXO}AnIFpGS0X(YW6Fe4BnBFMt>(kkLt0= z>?u!lM&j>b!}Ep>-KJ24mq#>S9fuAEBge;JT~4z$WcPYZ6{&TR0D7SX4aQUucx0Jcj>6dcV&&vz$VG%KHa5w*Dg%8@>_nJqq{^g?Mxlz==A-DT*8U? zFI^9<@GiNNOAjy4Z$|2;q&4zg=R13{1W_=woRJ*TII<|b1^x_lp*8&)pP2~8uJOlV52l54>2sk{)&-i#b6KR|2R zYLUfLI#+pbG;XBmD#hVmq9yby4{CkPdl7T{Jd;+Q^tu^EgG%Xhxmip2x)ZpAkFL}fXZ9ANE)wAfKSpLw^>yYx3RCRT!B}@^8z8B3UjN{|7SjZg3~ih>+Deb#c>xzExI#t z?3E8#7Lyc?n3+53%FG>4k6014=iWXO_n3xw7vM?(?G5n#6P#H=q-HRZK(w`T9G=j4 z6hanPxcKyUB_vuqzY|98+R-SB-IZNF-VCAK$q4N!kZAmZJu_fP#-&L$y|ul{?}c_l zZw>QS&CtrUYOXS%Y6gGkMrZe6Gs5~Q`)!;Kpm>Dpk7D(i*=zz2MJ^f6dA&2gUBq&C zhc-t{?FouT>1)h>K#}eI=Sb&KCK;+mqXdp(nnW_EuG>|vo#xy+=`yu_3<|4KsW0ZXgW%cD{8n+JG5}Tehqs0bv1ga zQbM-Yzf|k3eeX=M;hi(ZY<}sUGc3szp4gaYjXMx;wYE^k5j{Fo=Aj%EtGzJm?Fqah zs)D}s`Z;3A{}GYWs)`oG_Yte-7&gdzLO!YFnF5*N1rJo!_mX?z>mE>suAAuzm>{cg z6(cgu#<|lP7eLV3KYVnqF~7&5F1R3&RS;I@gw_G&37kGivH!4f9g1k(jFeXLc8rdB zh{GMHS`x6TJ>Pn@=(rk>g8JwT6SiATqbE*f`MbmGX8apjPxCc0U9-Okd;Z$?QceA$ zV9*LFHx45ydmY)3F z+!4C&h0@4po`6NnOR@v6bhvAD8j1v6cJ%K^921X?=Y_tHs+X6V4)u6Y>91ZNGW1tM z{Dx$2W zv4|etp>OKL?(8!9RED3$yNgGnw)(BZ=LZ5Kx`nM>GG8B7m~X5Q!&ySw=;o@|Y)=q< zHN;gFApl~u8U^3eUFm43_q`eh~Y=y^t+_Xx9%2e|5wt+ zfi@$zKD_Jv$k(cmkf_^~qIDrHrVSA#Cs7W5rz12tKHJiDY&}VmEBlhjNV%EU8qxe6 zmi9q(#LtMakCx5PZl%M0j&_5=18EJtWa-Cmyo>VD67WOZtBmRt;1q>YA$>7rJ2ntn zY@(kti>i_{1)~upGKE5}tQa(@PCDdo-$NE+@Ia^p@j_2taH}&VcpQR{&#*;7cUryo z5i4brW1|+!_ak(4;Zw)}73}sMlBKvSk|+Z`95HRwg2$m$st09HZDmkCYaft+HRnM8 zbyN4Bu(@dqJvETO{b_N{H9H))MDgPBCWB~bL9|Onc8a9R_gsEfI9m|JYXs-YyWr#f zu6$D{G2a?;QY~1ptXz|f{~CExew~g?tz~&XhZs5-(z%`%%6 zDjfV8Z)j1f_eV|3yi3>$D|V&mQBq&v>u8Fo!6c8O7{?p3muQ`X9$`y+I@44MuZhO{ z&F!-+3Hc~*gAvb6C5l1Pga=Uxq7cyGVnP{@Rb|#86Sg^6ukNkqZUy30WI>S5eOdF} zVb;goszZ3@tk1eByGkz$d#99*c=VtRyFK1YcF|!-K;r!gE0NKUCFfspcJ6D+%hyJ| zZLIl517lVA-AzB#=9B!}+ni;=W^9}NPbH0C2_mf+wJIBN&sr;G-5%WO($V?V*7$Ang=46JitV#wY+4yIp0j5<9W$ThFpH>+Xk04 zQy}l+-`?)*iB~F>Dp+{4k}N!8OxAE-N!CFAFj@WhOJvpXk{RX~pkC)6e53yY-0(2?-@5Aif1;WFZ&y+Fq@bK*}dbsPIndV%+ zX|mHTDe5OXyIHRnUgz=tS3_F{C1fQ}oMj%u|Ft`@P{4&;nFQ|%yz&m`M85A1XR?yc zzr6#>jfpyex8sv%-U;Ukyx>mhT*OQ6bdKgP+zBPeZ_%H_^yg2a^6MSBqRI z(OqyqgDMZpwAc;uc_9@PMK4vO(7S5XrMlaw`DkW0w475q))*A-? z@>FLYKRi`rM&dLX#0H){&DkyZffh48qU@s>_+!C@WOthRI0nC8;ORb>W;FOM9c24s z=s&#>_OXy)P}>>n(1ir-GY#hLhg4lRj6bGObSgTd!?Y~xq&Eosc~1uAH;FUCR-k}p^F7Yq1?Q`UC5C}b zFi7qUz$VKi`(BjEs?Kl{V!WxsTRDIDUdVnZinstLjZ2V{n`T^sG^&G8@7EcaaB~a1 ztrPE#!6yqmZWc+C9D`2{#yF%44{LRLmL7xe9ur{q7<{I{Uf=+j7}Rw-YWS8e zFyVJls}v^Izps;$&_;1*TBD@DLF|OY5cCrPUeZaEBx>lOE-(c+xD!qh_@XW_;c0HI znJR(5TnAZ|Xijwd3WnC}O@iQjHP*V^5`m{bTJKld1*ZF)A>m{JJK3EQ z_5gO{S?9-ySQ;1XCp%$&$41<@ulv?v>OpQ)j&7F3qLRUS0jIERZaxAv4>YaP4e@yz zFnPmqVt7kqdnG(U!08O{m3A7UPp5`04Z)WICjTmaq=8}L1#kwHj=;|o_)Ir@IflW9 zd@{6oBxX}aNJD%_@q!FTTHHc>l75p0Hp);%2N`q6>uJVJ%;|o1+W*Yx6xA(1IUyMkH8OPx^|FE0S^kYOjIa} zC(So0J?IwA(n zK%F3lci`tnTfd6xh%^+zDH2Z^=Vn*1XC>?xa0z=ShWxG{i$MH@}_(K7YW`CnVq`_yfQ_YFyVJ!RTLIRePs4*M^Pj0-aI}WgJ zi1f)AxIP9xEdA5%Z#TP!{VrjxE(Wh<`EH$^)(FP~KA(c|?1>os+Y(6rZ1H(Gh!{;{Z^U@`NfJ;icVnIJPm|nW5yJ_9iJ^wSmpvz8txTu0 zPh;r+lz8&%W;0nqx*j16&u(@ftB?*i3xfOEGQheaPunHF7~gI-hy50VAKI;JgdSk` zNLWkpgW?5&^EnV?`*b`_58Uiw_M3Dl6z~Ez9ED3Bv>x;kwot+v!^c>Ygtb=l1UpTY zK^ls1PKM^+k8d|y%qB>Omgg|gD zes0ED1!+c*h9bNu27Xu4e+ZnL1)pPhO2G{L-0Vem2(WG_0zZ2+yjFlOF@Ls>)fhennEcn^=Vt5J zUI||>;8&PCN5gAH^grxsz`7AnN<7)cfdYI>deCavM)p$--jC@91-Jn}H`~l+0@e-r zUmXK~5Cdm`G5PmV`McQ`b{&Nz4KcVU2Hq|`Xx-Rr?1vb9Zf}jDhOcM0NLXt^+u19C zbwm6Qb;8Jha)<{d#mI)Ao9$$yFMu1^A_-q4@Qn;Nr8*7yKP&OW1b!DA)K}w2lV&#- z0aF0$hUlNu;dB7xuvT}F@W1(kGoffK3t6NaA{!9{PmO^$1EzG8;^)T3Mw zpl+Q77tVpR#u( zybO*QqHzN~#zRTJ3j@4227V<5J{h=ztK$+ZWaE2U`qgNMz+qwl0d68 z$JrA7xM+Lr(-2zxQ6y8%3rtn1s-iskP6$2+-qI=iquLMjH zAZ9u2G@C2o7XZ82FRUSk{-ngu6FGL4#SaqvMEHV9q2?f5iRq0o@Uj><90R8f7G693 zUkUjCu=Xb4Q50L>cz4evnG8v$GYKRR2$KaE2+Je{3=kj*VGM#019DMO2oOw^C4_)+ zxekhWQA8t)#i~KPR~7{#A^{DHqM{ddf~eq%xCF%|2ZIxS-sk&2&-cyq zBxg=7zdCj5)TyfOo<1aC6#h~bxBAp&d?z)A7CYD<_sFrh+nJ37s$fVsLGmPwTL~%4 zBrjI+-;_fffIx&6E?t)Yhtg}1$TRY%fG7M}_;V|NDoZI}^j`pcVyQq^dZZl!}dP4Ys(M0KU5{85=-!^?M8ZNur++BSLyz!w1w_5nK0ZW1}&nPZzVzGsP)53Snzr6fZ z3;(2r|JcH3wWoz#en`Se7Jh|=f4hM7z0Y-hY}SDBWpic}mR6URl+9a!Xi#j_Q?6v@ zTH;Dfvu63{R*k8cbL-V*)m0VK=a-aK&aGmlWijnjMvomoB{S2MH)zzHit38e>bX^e zu31o4bvygyK3DF_HE(rdvzEB}XJ+;X(&+j}_aot^`)t*ow? zT{h^-vTE^-wQO;8Ws_2Ex?VDOR@nq(8kO0@>-7}hx+&N*YtDsC>HHn%DVL8``A zmsXdJ96R1OWdMC;kFVEr*rf)w$KIOzU6~QFXr}+wv&!f%GmFG!=hx~9TFGd(=}omg zbA1%sk@;+hv*qi9o0!u!s`0Gue!Ukv{zpVIi}>6%ocUfukgDM?sh#(Bc-YlXO(Mw+ z$gC{LKDMl;I)Ba_^pd^wh-*~hfTGg*SI?~~8&O_5XHMCy`4i^K+|ISG3+&<2h=RQv zA9clOeGR0{0VC$3U**bG+xte%nK`#=c5zkN!iu>I<_k!+ z>v?A~duwf+&gQ-v>1KBwaOSX)kGO7RL;tO|W8J^P9l}YCc=_s~gSer){h&I6mfCj)pU#;z+7uxajef_wIBO%jq88HeXx`XHSEzP zdVBWcT7>ipoOLDe)Di>}SgaTBePNv|Ph+R|yCOP_m^-_&s%-xJvKjd^X3&?BbE;uY zd0lbi8Xb&ab!%Mh*pDw`AjW+VmAEo^T?Cs#9WUO9bb^Q*zo4?LYGK8EL^vBo*0!*8 z7W?aEHJSbJEnZ6YC9Ku_LX)%*5`y8$r>Mbt!IzC3RT?D5EI3A-V+wJ_mL;?le!49DeC0md-ODR z=OR6d^}AQ^&xXCG&Sky2yW8!(X%k)++cq$FwU4=S@Al2E7gYAyepgrKTn!E078jeo zx8a|zUsOXo&{+p|S6X;aR@)^!Lg%fN)WDi%%_^I7a~YdbZha-B0N8ri65M`UyRqy>U}y?8?VirLfQz*Zlsirk80#E}J*91an*rU2A(I zY1U4kUC9pL6gikJNr>^XH@3R2WKW$^-K_YOI+-2ZhIjU^e%+bQK3t-^yJVG=mCh)c zyP&!ZraZEQ0CQSd_RK%@?reLbD{}8&+g$5xeY38h;`wuC6j#lij-fY7j+^5zn;~k` zY#UfoL$=I!&H7!)WTK15hQ*o(uwa(`A(HzZFWYe z;?1+|RHaVlQ~hK-?MBO{6VE(kN$Mx+QpL-Dai^{W@wn8U3>t7^cZTDW;%u*qIB}q3 ziSMBDogp<`37%-Rq_lk@z8o|;K^1QW?kF1u?SynEUc~4jikCCe0oIwMidWf!(k6xk zD5Cu)eJQ2{2r`K%1h6)A7t*Q0MUv8n(3z-;cT(e4AJ+_U=pqS~b4Y3jO-4D|K2bUv zR>_gnLxgOWf_9hye_yuq6!wW|6Sq*KFu%<$4<18@SBM~^2H?W>Bn4MX5^ z@Fe&wNv(L)p=3Ns$!*Pt^Dgf>8lVg(j3-Z4G*m`L;>?m`nk^~#L|HC|@^e%XO>L0W z;9xoCL*&pPbQ@{Pi95TwMDxT@L(l;40ZB}NWVPKvlM7U38d2B+AH#e(O8~$H8mZEy zwAQht`cYKBP^#W9Ri3MgXpBWtgI7r&0&@+H#(9IQP!(40#A~E$2jMc~{}6oHK;RsE2Ei zPZYBAX~+e*RSZ?~96p-@N-`wjMl?@0SS7~>s+>g)fRbQD?;{FmDK{T`L@rbG9m8+P_|SHs=Oayzl%m zq3YyyZ9bkG*BYsbCxoV)m2zmHdg?LROd-)bM8i&`^J%{n^M58~)X4@Qd1vAQz^xo( ze!T=(NE9ktMHDK2iYUf%7g5xEi70w}1hiEno2BE~B!~E)(uMy^t_6Xo<#LO$oJar| zOD@nBIh~$V`PBs{0C+=4f0N3ALhHP|Thc6|1=tr5-HHx?k{}Z#g^Otu3>_p}2{^aQ zu_}=gfsUmHKzYws$RU6V`4~gr+&}eov2Rv&r5vZd1QJAN=N-( zeEokx6))9?weueDRYkys2UYP3`vz5nBX~fr0Vq#n-#W(orE7gr+722@m-%GeRL%~X z+}LKc1|P-O|3h-x9F_$Swo!6S&R6B^0OdT4$V2I>tOpyS`R@eHBl?OQ!lTm4bEI*< zp(^)M{%fkTg6Nx=|Bus`e@o*!Cg(RAD1@;%k6^kGeHk`D^a@qM%u$?gK@&t#9$HtN z?NkMr2;6|7fqgjNh9E@W!H^I|!*>w3Cpl5&p*jrd5gCTVmK zh%X-R3Kh~cB%7gnl%D*a)W`?2-U&IRC*^#PmYOIK%Qw|~hS$gZr)fnAq>|)QQpNAf zhC#V;c9g1iORGnZxe;ba4~KGOq=dtV2!e2dKb7TU$wIST_(oi?IczA;8q;G$^Tq z8i3e*HlU)9_>gqb80#Y9FG@}Q`ri*CZYl={#p}O``JY1xuztQsKy?#|hZOe`eG?9Y zD8`tqogC6}qHn3n*F-T5xdzH%1JnUncQ2w4B!}p$7($}3F({YYST)f^oFzfEaLj+h zxOfkN!lw&>Jk-EzQZNX}ZQu`a2qi1$Lxi65A;O}xgUX|o{X{V&e5f!aLE@pgk3n1g z18jjbsRb}+xWj-)^CBVnFX?#TD7aOFa)DG$><#~v8wgEP@=)Gs)5K!cTiT9Y6H%Li z*FgEe5u3qglVN7Xq3+9xw1Le5NLAlDKG_eJX z)pw|Eo{K1rRkBOt>opl&40xxmiIY#f z6cCgfD=0VCBq<>1EmR%>{i-CrL()~Cguh18&Y*Ou=0U#y_p1Ey1!ue_0NZP#hgjAA zMF61Ou^3~Du{=QOC!{O3Nh9kZRP0R9_H+fD4HB(D=66>DBm8K}f(E zqyZ9CQm!fRm6DGq+&AQ9J50ac#3OSs(EuE=pT7KE?o=SqG~yS^WBKj!^t)7AKlENl z`Q0^f9>8M79nM2?o@24%4hIdLq;iHWtWfdT0Qi}ZN(zQiNBp#(k%)}so^ov9DpRRo z2ccr>Ssr+z*;KBV7+Z4LUMdHd?IVgF4I>J{X~?MIN}_1^UZTKzkSOpUBl-lN##sOF zP{sU(WZcT<%Q3r06=MYr@F7CaAuI1WWZ{7EvL}g>c9v8_x#ZrOI9vA9#JR$!2|-Uw zf8(YOV*WWX{R#;Bc$OP`Al9_ zLxV*!pV~?8EB(ur*emk&AF96z8MK;l#{pGwmF3E<*yD1{hsu2b_&2G1p(L7KSC2A+FD*aYv`g;vc4T8~n^VHi^$Dkh@=2WYFL zIhwe74FL>IkpPrmEh#rnj5(<~84b@OIz;ePj;33(rg2Z3JXlja;GM$)(i0WP{X78j zkU3@RUT+Q__HTR)j?)x=QlgcEEGn0j;C- z0KRbJ0o@`CJ|pQaNuQUrLDH8bJtXN7Nsmf;OwypF+|yz9d<))**~DkjOyTGPG+!}{ zd|GuUdKWerMB$JI5`{xD_6OW1uru-!(96<;-71F63CcACI+^m{l&<-rH0GeZa*`_- zx8WLXYBB#Y)(5BpDpC)e@Sj;k=SUx4AlC%&92opU${(RAi-;C#VvmS?(x4Ohq$xTb zA169W9#D|~oy_MN$iWa}|A|10@O;!$zoujny%NBn+7F1KCn>xy=iy~Jt(A0@q-!MI zAZeYXPf5B((q|;yCF%3fE(dIo^d(6TNqR)mqmmwz6x!tVPJ_~J_y?lDV{C~+#Wca4 zzhEy(^mQD?h<=GfEKx{>rPVP+ ztj|8=o^kbX|LIn?F{^m$vbB~8bvZ-&Y{h$8f zXP52rJJ#)4^d{|V2C@NOPB;Ofj?_`@~QG*XEI?5}t6lmXWOFS&L<9)AcXMs{PL-EZe(5Xq31 z$-ev_SHk~))pYwmK2$}IJv??w@7$gqG59afajB>DB)0EQ*I?Z8zxbzX5(~T+-VtwW z!)BI!{ud^CU5{`F=QY9See4u`vfx{c{Eft?@uGO2235`T%Bp{^&eYSw2~^kEjvnEi zSS_-6LMM$q?hQ}n-;*@>LYqfWOhhYa_H+ zrhca-g?$P3Ay#@PB8U$7PIGl!iXyr!5(jF>ANj*f_Gmf+z*j#I7tca{ZF>7Pbs}CS zVYN33vd>T3;_wW^`7B!kOP^@dS^1dAMArGqI6e9hDj1C?vg@MblJI)$O(+=qJ!uRO z;rOG^{XAJsVu$}38>imI4u7Y`b;0K5vS5-Y>qHbzYQHnfygD`s&I|EO6WENaWA$j? zCh~gz0_iP{f1gs0dM`tF%fWNeKs~&r7Hm#p?}SWe6d& z4sB}FRw{}b5Rs_DAvl1d90fl{^dk&kBaxgZvx0yy)RN9Jzd+p4cozGr9sT&iuJ<{M zY#)k}khIw|T9{*Lp%@uH(K*N8+v(AXPquZ=%dT-@nX3FC($1c*36E#@xuW%+IVdqn zBGZQ2Kt60i4zc>0@Psan7P)Ity;xT7&6dA{H+@uw;fF~=hN5hn9(@``ys}7N_RW{J zq_74Q=_LZwcK!-Q9Gj)7qI*7;-zPFD>j)H-Xv(JTw$Y8Z@CBf)M&*Nbbrz%e2C~dU;4wiAG(r4gffxgbEFt{TkHhsoUexoT zJdI6`sooXnfw}3s+v-j5#^_<*wauivdl8pn!25Df+)2> z>;gn*)^y4p-`Rq&%Ou1IHYyO26m|@SX9(Ti6^PLLG?=^>A+=b|E#607m(GNXLZ?XX=|6M$0aPbPrIbB6K#@xX(`=c>f8hty8@Dh zP03k{Uaf1b7stKah1o4ao;toJGut#tI-$IlF z!5FFOCWJE`g&4fe0?}ZCxYY#ll?7sQG`ss5t;68YE%gtX>d!XS&xH2P zikKd!URzspj;5?zo>S&aoE2nfS#%ril}WPx}H5OO#hED&b_VGQSd z6U6Tphz+fZ9Qum|B4p~w0uuxoky#N>fuAgl%7?FJUC>Piqa(MOAm&&g=!#e#hZuZ| z1tJj;9#kd&f4d3dfCVBih7ae^{g(PUs81e;>fdRq|GTCBRS-ei^)D8PJQKvuHi&-sYF0#%34$)n8eW24FJXqbo$AX z0m86}#U_YfEfA}~cNebek_DpN1hK>fF~W6uKlY=Z)aGzxnN?9^>c~G#5cgXkjsQX| z=tJ+dKr8};VO9^AAYQdVoCSoBsrAsN1z`;kJg7-lvCM=J2K|`FBN6p-gl((HGWVmw z1hL!%G13B242Tl~BHsdW5)j2wibqTk_gWy*!OIzTw*|ucwAi&$M;vdpUR0>Vc^uul^8u3@K9aw0Fu;ydct zT^ree!!pr2ULROm$iYPgSnf8=KuZHlO$ZpdR)l1MALN)-QDj1>HzCZhAk+aty7s9Sh)E`h-6n_^ED)~& zLb~?nED+^@aG)w_bB_svo-;A`&U#v(rKa2$O%1$jX&?_(j3qlpb2841;P)AQ~^<9fv7P-95z9$u|SjqqO&mFRThY)fG{S| zD<+6HEfDn9oafp3sOb1y3qlhz&xD%?5=(7KmIx%o1B=3qlSMa-0D4rWbk0YbGnRS`1v!(oD$VS!lFx7B-3wLq-F z=GN#3o*{0Pf>|Ky03i<^D=iRpfT&bNN1{v+uUR09`n7IZUbaB!FSO|*#su+`1!5H- z{t(mj2Ma_FAZipLg>HiIq)2s2k5KDtJ-c*97FVat+64$>hS1YqhGqT3fB-ywHUL82 zidt+yh#ch*AQJJNoJG6|VuuCd7$6=K?t7aB;v^vQBt!=j1g%_PTkjvv$ZQ>vFD(#> zd)pxJoMmfA(o!$iMN}5)qP}}fd@gd#s+a@>LlyMcm!S$~AV3iMBmx0%zM!k{D-8&d zqm%=}nChKP5FcA0Y5_5ZHBH5i+=5UC1Vfp4n7UPn1T4T{TQ%`95DJA5amX^ykOn|_ zP?W~QV}clCf$;Pv2tLV*ED$G26{t!OsV0agEf6!Z73FO)q>o!5&Nj3yA?YTFFDww* z18{R+9MnFuKosv&l(SL_dIHfHkpAhH>!Rffz+D7{ z%2K9jaqWMxWL-j*CbC9i=?92n)cOTkHj#CQCF?h2Ie3*;@CQ$z(yu%S2NuB7fY1`|&s8y^JH+fg7~cE_vwEVPqR05{N$i`e*ge zW{=j|dfT%GWg||se+|Rbs#UW4nE1_)s<)m*8<;A}eD#Z7q^e1ZyS|YS3EAxK(%e^_&D_uLks6e~a z;MRV=ecCIb-s!tTzI3f6q!nDetE2$IaW;b=p1L@cg}8e;jnurpM?v&k?N&lw8S0$A zIFt+8I}Bfjrn81VI)3z2Nd*zBAs_#!uzzL9mmSxlDoMfG8ofnR5`s~qSB8G}Hig^Y zTN(Prp(8IkNGUI0SfrF7JQ<}Px=^5~-iHoi0(dH~6k)F%dln;ZlX9YIA0Y!bz4U^j zEe0Kd;A!DO+YohdhV$g8eH6qe{B#(aQF@kMu)7z7Djr8;lIM?RB@g3@euVSLo{eW6 zc`Aj*Ihe;9`|4?dLWnIh4?6Z}DI!iiLM~5Nez*Awem*^YO+n7VME|Z!zm4-A9Cz`z zJV)cwo8dHMEW6736CqEQ{ZjaXjRg)F`4N#I5!Ow_5zA>bqTU@cm5f4+H4=KDU3iw+w^(`RuE3H zobJ(6Q~cT%5;sLg)1)wB6+ud&kXr>!cjjR{`Ubn4R5P-JO5gmZh)eq4Qmzn@!L+oc zAy4)o8E4DxpY);t(`1w*f;h^q@#*dH2Be#PFzTB=Y5<-IH;dTnlYBmGSCZW)qE z4~CzQYK_&{R=yb#MMVqyn#;MCEBrqqn%824Bcj1JKIrt7OZ{v834W#5yx>ZS8h=n@ zk(qjQU=0s3MFPw+1xcIPcR)SYg;g56*FV((FEt2T08B$%+2hN(ig?4?Y-SHg+EauKJ|gC4dI zhI`@>3$B-6l^vj&a|unKDb7Ng&|F$g*@b)xS?M|3r8#F$m>l`?dNGzc^$0hUyv|BCdgr{FIeW5?Jp9m>m1tqnyD*M7GZ+AqCR7?rL3^w5I3 zOAQnMS)ev4o^#FHrKzdG+yNJxSO3~g7xB*`y+5D&s2MN4=bx56(TEx7OzGh7DkYgz zUmNlvuKFU|qL7bu9iaD1&TNg`_EppNK&OZSO=0H`h6}h%Kbti`?;9X%f4QlrznsG; z2#`vV?BPP^iE;&N6>TX zHrBS8lvBJDn!+yWw}m0> zvY3Zt{MR(KeJ>1V`E_H~Ytr`Fv4MIaqF{?*W%?C*k3j#f8Bd*xz|`9KD=vp-JpNIr znPlBueyG!~OZ@_`9dBt4r}a?Aa@-0S5%nP^0hGdK-`eIlkysN?P=mXG4RzW*b4n zGg7cTeHMCZ6NxgeMR7PUogUp7()GrW+qbM>;K_aG6<0*C0sj$Yv`EAHKqap)irXf> zZ8^Qwf2>&qAXNPka*Q=^d&I}v;0fy$8yw%6y5S9Mx1H1669y0QM@U%{{I=Ig*1?dK zgi-tNYW9^=ls}h7ji~5b4RUm!o~rhbgy1?CeB-Y!-^P%ulEhRpNYGIqs^=Zrx`K!n zSHw*x9ck^h`N|1_>iUWt{iC-H@&}CSiuaMG=&g}_m5Y>fHFB$3+k;QD2!Cz8y6)Z= zso##Eo*KC|jF(irQ3q|QYHCuE=y!vEBmDkf8N)AD>{L^)@e2(^ui3RPa_c0nqsh(c zc^yJ^IH{-k$|G;xW=N#>Cs7VJle#}{zOO(FMsi0fAULDRhTvAYN9y~h2V^W(C(7TpzfFfXkzttVE>e{81iB~thD$jdI}J|GG{ zAd-t)v)h9y9Bxy$bxP%PAm_yaV;d1Rw=onBBXyqKh=OXy6(>)8qojD*!NK}~BnNyk z74eii(rjGyiuYoZBNc%lnQMsN@%qMQIF5<$hYGV_sh?UNCVd5kzkEMb6#vSFLt0Yg zh;OyHjiJt-)RwMV+=%6&&c3iMRAbGRR4ysvpYPeZ(J0=!rkAi#6c*7)vAc)poz-z{ z{Sf`tLGYEW8yDdVsrLthufs(LGESZfmw`*)g&vLrf&$9EI`+FGW7yhUeNgiDtS7KI zrASp$aCqTjzifUiv@MIZZu##=2h|TmfxOjem~Tp3%sYBUkDwQ z-!}!CDfVcze-j385j<9;=0*I}Y@eF4JTwX0kGrJh742)c(_4-an>vVFFD;(kgDGSl zi|r{1VzNnEULJvQaa_`GC#wxhjo4bm>(~*|vwy^w?LE^z9p$6Z$7EMjql6X+< zPFuLh%*_sm7$8 zt3pM-k0QGSpAQxL-mUkR+qYdS)Z!hN%ZpqIjfZUyOD*QfMUb&QBA^C-9ZZPO!4@~7#coqm!?u#g5MCfuzd5imKLX`SUe=#3+S_`)Z)paR;;efxDV`3ba&LCp4Fx*dCO}-IRj^cQqtic79J&)k% zrKCA3$b1Im>)pa!IFof`Q}XrxlcV`eSN%4*9Gu6NHf@11GvRqM!?r0a^-M)N!Z(|P zSj+A32);d!?o!gj;LdXMXwZ+=3yi3g2#$q=-PwHX+hfsKn*V$=9b%oMabzE~-nskS zqy5w%9dOmuYL-!;Cus#W?5YC2)A*eJYYS{mH-_w^0eX-qZ60#=EDOXTjx7cJ9TQY| z*z4FPIz+1?81DI0iqQI($1nE$bWRkIpv#4Bb6|bA?Y&LQME_I# z*bP+@z#GjG8Lu}v{nadbgq{#k4$>&oB?5cTKHpr(xAPJ1>JMugz!fL{8^Om7k7Eo7 zMJ=bW@C0nX^pd3F9503pTlh)cin?7*CDLv^8p_UI9a09_`;KVQZA(H*V33D)`3uKg zysN+f&xEXX9I9iHhz~!=pTLC)yY$;s0t)-t&ifj6DX*CLSe(Cve^u7T?$h{^_29BK zq0H>v=T`L7~^Kd;RhgL4Sz(6Y*eVi~P8%?)^aek-Y&cF5fCNv_0~b#>V1Y44(ol7-+pR%if~|d|6`$k>1lo=VzqG?cU^UVD6{bXP*&mb(7=v1 z|M5^(r0tbYjL%s^{l1o z#lZP6mmYlae1xk#{wprMY5SdN`>@7hZ|=z+jgyUjO-iPE8Yg+x!R_9$&yjwjc~Hfm zdWhm#wrm}CLS8uI>*tq-t?yq-P4&NT zH{4yMGNPr$w)-|RjmJWRd{Zx|w);UNQp8IBd-?8CTM9x>D_J7IvYIwzfpPU?KXfqs z;>?}V=X*PpG*W)HFCRW&l8@kOp<3a_bqJl;(y-{Qkh19Z@|f*et!w@8i&yTn`wN@t zM6&s$(s%g9;X8A1Ql|Qf_k2^vt>Np|6$CD3@64$AFd`6f;_A^GLtQ*8L)){~cS^z~ zxZBIUem#?l=aeVNYSa0GFlVP2n9S@EBZpsHxbv}4j&B$ign2u~0L*G8#l~n(zF;Wc z7cl@ao{R_A6_i2ch6uZw!q;vLb;V}9v&S3YBPUF!t+^+f2Ky7_)gQ&Xrm4-i6z}kh zCwKIGaCPVkA9*^lYRjl>>q450YyBgZnZU&^JNJE^k6p$TK6Hc? z2-}$;w+B<}&5Z^w-n6r=*#d|oguENat>R`aef8J4SVWgLQ=zGYD*rzM_OtOIu9Fon z3T4GBo@hFlaV|5SQYx(%y}WXdzeek8$MR-tYCKz+ zN1%yCyF$L64;I8WB@XE6SEN_cU!+S8_Vd*&bClizuX!&Tg^M@`S@kHr2ZB^@7^P=` z937=+MrMy_(O`PMY^GhMrv~T>Y?eI3=j<6#W5-1vB_k(j%g}=~+*@|5DM{SZ(UlJc z7kY=Km)58~Z9%PPSF9#EjcGOO!^2M4r7sWjx=)3tZJyuij=kSEZN5_-;_+{uPk52i ze}3L7-fu`u)TFSO%LSEIs<;A?8 zBjOyX(dQ$SXG3;A!NVa&_$5~{uBB%$$1w$Ys<<4HBJ~p77h6=|7hS2__s+go>mBEH zRd|-#`i4-lzJ1xK{SQ31te{=cQDi6In-BdQ^!St882;@ZenlQ8Ob)-WhJ8F%XHHzb zKh}R;LDXbyDr|dh-KLF$bt?%}t*}iL_?4kSS#>;n%kk{JonTy!&~( zarSCGCOTepq(z^zX{tQ89K|{kJ{4EFCcNNuWE)FwWj(ZUPE%<-^Y&3Hzuaak8jL+Q zC5GWTh!{DVNXqyq|H@zU~^Shdq6h+$Qo={#^$4<7?-M{~IVQs;zpzXYhCeU z&`nyEI2`C+??K&DH}5fw)ED!@(xz8oH&UgheNh!^+`o)`Ub~=iQuE%?kY~s4(kPp{|hOMGY3j>?hh5BZ1 zF337gZX{~Jk#qQw*tuoxZXDU6Y2W#9SNBtt&w7>U{zB>+(l$O zhMj7Zzaw@e5!^+$?aS~6BwU(t6fF-;m`a*X#ezpmR0kN4@J1bQG*%9Nd>ecFT0QZ` zwTq|}8NwZ=E6UZT?{iGw%bRvDORFFJAni<7^y?J-Ec8ch1h!@kpvQGX2FJGm?Wz86P*%kyES_;itu9F)qGQACAc##247>i&7U_ z*A2m+!`@$fqw@Q3GsTvE3=@EFU-QJ(mB(;~ET zT(SiBD&B#?yNbf)m9;yH zobuakMUGVI=@t}4%0xQci7S(*_tD`o0uzzOZwt7Mp@_;bc}6X#T;5zBFJ~Mw>9idm zBwJ{?Cn-f-aq{94iDO#_j#GpDADa?oPHf;bNpC)no^2k_7Z%koHgSsgERMzmkiY?a z0C=aVqXclAF0zz9kL!XHaNV)-6I<^h(Ypl1&Nw=->v00++xQe$G9OAww{jN#^L$*h#vki z2OkR!@I4k9=!*y)7#^Pbm)vzjFg<#^k{Wz&X+i3{D&4S%lD8=4!^w1Inb+xYlj$mf zVFqi16XYe6jm;@CbyIU(NNpDpQeA4+yEuXJt^Z#(xn<04rqiZzGHltiY*$o;(nH*& zNv~u(uG2dOBKWu^LXj20cJPxh7FC=S74Oe5E^^1>@TPdDVmtR81|a%;m?p1<@U%1h zdPNu?62&_irA{HmzRe+1Za_*9DVnqw#d|GMUPnq;-)-W0gyJnm(t)P74%3~S7pRD| z;lAcAOV|I6Y=%{1EjYvP&~=K}g6X3)e-qAcfhIc2y`0FG#phvyUjGA5YKZQs><-$`=fJ>;H%=Ww zfdbOyjXWj3QO#AMDvzl9JdPQ*4BJU#Y6zhmxTz|3QtDcz=Mr(8ZTFW*x&$A{KE6@! zq~+rU7B}h>0!pe@S(92&DRxo$HHwGCP<@_Cz0tTQzC~`@mg43!-MJc;Jsscl;$hrn zPRDjaJ4mU{{!8#br?HX`k)4Jp8>@Wr+za>e;TYzN;hhwM_NV=30F6XLGaKqCuOnjJWJG?s7NA86j zCj~~2Q*9+G8%15k8#o)Z$t~y?&8f@A{ruPbbp_$_8h`<96h0n&507P}-MX&eEjX?( zq^&C6<3ZXQ)3%td642qC_GoMTqv54i?~1|Uf&A3=q6FT1b?d!;ap%HYpKv{nh5mc! zCQz8~WJvK4_|?Jv=ObNtKjq#d25o6Q^=Ks?(U?~MZYU?7$~{^T-n255o4pZ}j?RIZ z@6pybwkfLuwq#pZ5QS@WhfDOhxc0OPJR*R?aO)SV3Cka^w-5Minm@nw7;5{(xT~dg zJJGx*6yaHgBOC3Cd=)efxTPPY7G9OAIoJF;zpBvKx@&I;j{BBn_$p5FPA=LTlLdmElMaQD_~PM?2GfSXdP1f zsW$5)jDpr%uO#Z0sq+c>I`d@?x_dJGV);(GogHlp%lI}JP*aMyq(ZlO*^3KKpUQ&U z7lZBf3%6?U_HI`-+cKO@>b87Y!h=yUroex0E|WJ$8@bG2R)x-6o4PxF^tytc@7e;F zg5%c}bUVJv|I%5Pvctav|M@o)-Eh{XJdD5XfpOn1%b?2?+i&aTx251Tsr)n4c^CDz zf5oshycINBUZl~#7j6){f zk)ZRj=2vRG^&^r$dT#e`i(BF<^CBy+gfWkx2Y2Yq5Po6k>L?UeGG^igs$@)OrK9!uK!49}nzri- zI-e4QaH!reN<5QOf(Ku46Te-P$fKF6tXz22ZKI7tir7Jl+^?Hg?k39+oB!3gZ@jpm z=Sfx0^yt$0$a;NWvJ zo-4(L-@mO;l}Dzi$`kkF4TW)R+)a8?rHHcipH;yzaXCM|=fcv<~V5jUuVS!sVq*8r8#RcektUS+8G!XNij zl}*Y$lGi}#{l%|e#@F$3G6|#?f2ri;R=i&PO^TFHN$7&5d~bF`Rah(+YZfc53L6zM zfFn#|*Bp!;g=m%}o?7Y>KHZ;nb#Dz z>i-^#z87;j%Skc(v)Gcqgy+|^)?Xs>*?DR+oyC^Bg#Id9ODvNm^2=R4BWii|BGxoh z&tMOgyYz0Y<#=<9=U*=yr=Lty|1Yxoa#vUFh{leWyS#x7Jh8a7&<5VZ1QSn{mbM~` z{8|%F`HNcnxS_QseX;QuNw+20V3X#LEuhqyc~sbB;h*FJPH9bLT)?R&{se>}dFWyL zR6Lj4(kdJ#8`AKGah~6S=eJWbBu{yPRJ{JYSSCdA0@2ECl3xQJaaom(;EfMeYP9g@ zEW8WP+ZrD#pADX5B7C>fUAaT@!0*5tsFMk}#Rgu-!_Hm0+q(uv*ul#W;Y_jc3&0aD zCA*d7$~%%T=Db_^Rq_Hh9*-j-Lw*Ra5IogS#2>=PDmP!AA5iYOJVAM0R!HX+5|vLa z`Sx&R$PYCz7(6vVBjd)4Y-dRxzaIhLS=nqU|FO)+PgIZ}NLHdE@J)UQ&}ZR|_dDew z&#icr`z`r9E&RveNuU|Le5w*olF1L@XPJ3uPbp(veu?PH?s7%yfzQpE$fGw186T=V z20Vd#@Q2{H$|A|rBl>PQ`#qNOFIo6+EPR|3K=K28w{q>}3CeP|pw7`XMQtZL#oOtn z%m;6LNUrDEt6Ef7wJR%~7!emR=TwtL$`6%XYvEtB@V029w3u00;Hk&-&y80&&$8q{ zW8u$4(+jWVhZ;hqQ9&Ve!dLD@C8aOJGh2dr?-&0-rp|9;?MK$t;ZoH>_jO3?set>eHCgU?k)#$R6TUJJk7!XLNr7cKng_Lt$MDO)d3P~Nxj?K-eOXY0wa z<>b8OhZMGo^_hcbxWW^RL}@=3{t*j**upo1r~Zp6I!wtXS13Q!%(WK2=5pSx)LovS zyum&pxhCTm$;O9pmRtB&Ec}6T+e~6hUCo|8S0Di57Z?^DpT@5&)@_g{rApP#n zjer{)E%{9r-tK9uA0UaYH6;*VXW`$q@DVAZ!KYBxjfi0R;EfN}zuCew3x8PFhwGXN zfU(LiGQo$+ZoEP$IaM@}#rYDY1ibN~2A0VD=keW*7w7M@?_@fSU^9ZHa?`{^%nj^3-9b{lolGzv+y^Ycy8+tni8miMhhQKJ39HH{Gs4U zz;OJzm8r_Y%lK)^KFQPa;l^(5Ysu4c?^enXD?`-JrZ@PzVeeNU!T3-E*IW32tZ*0d z-1yP?eoOw37CxO;dif!|8^M#n4ft~-%+BW4eCVGFeA${H_)dM0C_j{cgM|-*C%{_# zxe+Wv?<)&~Q29X?zQ)3D2T%2Ditx{kfFbW&3M6BvLj{BiE0wDx@8jj?DT^fk66fbD zVXQIW>YDN><;xGr@fvu7p?_{=fzpNbS>);(SduBrfKaiwEc|!isaiGu+{$gr2y!~| zL*+{?{C4nE{wV(3c!l5hmi*-YvN8zj2b5`-CnyhqCxC}Jz@5qo$^VP1Yibo_VY^>QNy8l{CsZ?*7`n0cD?yUYpTPk<+ZI^fT(JfhgI5d0X< z*D9Hk7Xq$Ords$%B=6?sS1NBxK8N$Gl|Lmy_Ii{}jjHpgi7Iz6UqDBW($s|I)&D7|if0hhDGkJ^ObZVdpE#-R`bg zg9^*4%c^Eq%qh#Cv9PSFx?+CWs5wYkSUT(K(i%3ehnC2u_R!pH>{fRotN2KDMf4Y; z-dRFGALGu<9$!{%sxk5w_W1{Dd!`5Uq?Z&K#XWD;do;y{S(6kKyRsGv`OK z$;@YK=VZPo6SWbT6MvI(;mj+^5zn=!J4>d-s*2bR>(JNa2D!Zk!+7N3E=xC1d6&h^xy zSl)KMAN%l(>S8|}x4GEXrFxSqGqa>-M0x3~S!Hu>E*m+GmFC9u-TUDKdW@DdNH&>2 zV@6fk{P`tiH&@KBt}3mrm^+6}{fC~o^4d+Vl>U$<>k5CxoEi8sv2@mgGH9@>dgPoL z<7UpBUsgSzJ(3pQfxR6a6T!-_(E73BhxD<9Sp$no=ggQ@Hln;@){MdhrLu{U3(MwI zkE9?UQwH!XJ|=vocG{X3t$%HgZmN)$Iro!8XOmrZ8X6xPI(ld~8ql=KE?4i$10g zT3w4DWBZo49jy2Rdk6MSNpuhP-C9@r-p;l9GL`*ti#vVqUyte&HN!}_x%ED*-q{** zqZ@nt9zBBXJgg!v!+(p{(RB%8Vm$kn-Uop(@CNtVw^TbjbWnA$?FS*r8#hJ9u6%q| z-pYqoM6siSM|)wGG+<4zp8OnV_=nKRn`bDWi0p(+{9HI^%yp8gPzQ4w<9#h@B48j1z}xM z*wgFvsVtbKhOuW7q8x1JC3hdz@j=(%l|3JcW5RF3NtV)L12u04W1{yC)m?6{uDJ~^!(UU6LvtE+MN9xJum*}AQ6 z7pvRu&Slr_b7eC9RW*V|pHiKB|9o1XtFmu;YSHZKr`@qDCrxmz3{J~70lu?U&zz7o zx0T%QHm@X_YN6TP6w&|-`t<$gcQT=3cG=toY*PUGopPt{Xg|Je`U2{3@!VMz({G0ZgZG+2K#45yDfGMZ zOLYMAe4!3!yS{>)f270x>D%>GmiTY5*WIGVcFgKuQdT*ubUOC|W{YR{>~JM^_|NjN z`gFAuTYef!x%)UQb;>pEB3PGRT6fm-P;_VZ&Oh}j*l1w&MVv9QS9da6n!&HZH4~z1 z=`I%NIvHndy`p%Ce_V$9eFCpk1g~x4PYfv9lj64p#M5pdxeh0Kna^?l*_Kad183lA zu^*rcw5Lekf<(&LCU__IcOLMRPXZ-x7Z6PeqL61LH2B~>~RCG7E{4}bXN;>zqn}Vd=ZBa;<2yh4Q>`1BZ0Vpd&K2% z5{NXL+$aQb9>iP6s23&)X)Y>Kca{zoe&J2 z;{u^=o_>@l1pSgIaK0l7oZpDP3ISA+u7hgJp=qMnK_?P@hy=#?lSF)M4&hD)RYXGt zL|>OZMk~C>Zzv*e;hTyGkoIpygb_U~1w_M8CKrqg_$W>n#2>?tmWaM31$|oz2F=D$ zd@|}mFQTZGNAw*<#1)1H=z1uraw^ef(m0`pR03?m+dqjO7sls&R}s-Y!QVmYC&Ww8 zobQQuR*@huFN70RL`=&Mu+ilzgqSF+I3ebzL{CXoYI5v8k{W^aPNe*g@sci360B0v zcuGg*UPM0>_e7naNgMebJ*9Nmii0RLI9AXAkJ~~(laW9)iZU=H9-{xj7;`BdQgfrk zkdzRQq2e}lSPl_}f@|O_1X-Yb4AnzKzsBVkqKEL)8=|jb{LvO48`ME$bvaheZ4&z^ z{Tr!)Z^a3VG(`fF>Z^#JlMP@<;2IR?cQ_sp{a&gXL%{Km;Y~lXJlAyK2k~k+=PGHn zFdBM|l@nt_@B4AWw8s!ddMB!QUK;C9iil%+L7YLI7iGhj#SfzF7|-*DH6=MBH%K#?&r=lDp`WI}6C~)Y; zq*IYW@(>;nVJ*dwN~%j5FKHs;V_r7qT-AuSJB@m3mjMpLWMtNG8Q3&J#wSKTS212+ z_8gUu6cOB=co*6G#J7_H)G_VO5)Zwjj~o|JeAej{pOB1>I|fkh7(ipFAgnc+C{$iR z6#5%W6g@4M^j@OTGK?rRw4Zp`Mhj7lBb3PTp%hLz9=uU6%7@`)qkV4W!-(z^?>%&` zmPUs7f!9;ITSV)1#>p7e@NB$c_y=y)4brO7i)W}jZ0P{e_A-ts-UY@r0#Awwz&$0* zj(f@gw8%XacabIy&>aKq!M4T2O%?u>^BV&4Y3PzMDKXX)kWZSNB&km2(L*m$2uk_R zjxu&FI?89w>lpt#CG&?w=Ntx*RGhz5`_mcF2Sb7XP zL{rcJQTTyxiNe@;?8#Jw7uE1RO;zZomNOm3MHINhh(d5gpX5W6NP=KUJVc@KY|sE1 z9XCE0SrKJGg|`sxE@RO4kVf~mTtx8xuPv019_%8DA>bN7I+Uk4d#cK5qFB+m1~OFT zC*ohi`}c^#7RctvRxoqL{O^kl8Y6BrkhT*Qga*7s`^YfAePtk2goeM0($T|-GJl5T zXAwoYYN9B|hYp_fG2-#`$OceqxK7e2zW$>d@l*f<+LOnF-U zD4&2x(B%Fyv^-WvULQ1_$`6n@$Hbn`d4-JRzDn9yj;hSz^M80~`9q~(pdR9f$q=%`WuW9d8R_+DDG2BoDhC=Up)b!VBJ6Lz zR2fY3VM-q%1u2v+cccuM?pKu^lz%0Rlj!4E3y8u$KskytTNTq2et~R&1pZFa7D+D( z8W53`QQ!}mp{SxlIQZmTmG5$iI>0+e%P`+?&7=Wm9iG7;iY1cw=xRBQF{QXoj8m0G zlwT}0dyNc|J4zK%fj2?_TTp-`w5qrRRXi>m7%x5D1Q{S1bRFeiD?>)3$A@HjJ_{zw zaKLaln1Ki}4`U|!H{cMR1lLY9a7mx6 zg?#1n|5JE0;xUAIL?Q4*q9}I@QD~x)XdQOdL{a{Jq8}>C3ebQPJ=;MEP{|RZ06s>v z2=kceN=5mBD8&7ZC@SKY$O_eqCyJP}>7b-RWGl%fGWa#9n>132ptwX&$XPKB@sFt- z1n!RZ6=#_Ud`@A)CsM(ga{Wie8t?>6ej#}V8l?P#a_q}xSn)8qN><1*hdLKhxm%_2 zI^`^af3Xhn^EChI%tj5+df$oYZ0Ts`sQhZW^8mKrls;FkUYHF_!INMQNqPrp^3Cw^ zR1N}iKL7!5yNtdKSIZ@a)$#^lOw$PH z4mo|QkPLw+k4oy7=nOy!V%2$XtwL{hFH7%f*d8sr*6`B_vR>6{1t{lqUu!(=SU z_o@880v(Y&l!4`xOa8L}q6P}69Hwa$<-Z_L%~(d$iN`9+%VQPgV;v_Q4~+R?%EyuJ z5YhYPK4Ga`Ed$ugou&*di+>WujwM_L#qt_M6w7NTqUdfq(U-9J5bXsG5ykQfch7f5 zaB^G|6C{l%JlIe&(a+`a`=mJc(*dOj=>ZxeJ{G9ORRoVl*6i#c*8))91JE@x9TP@z zPE^JE4_i4zyhm;}-L0B!L6 zDxxsL2ZO+A68@`yrH#YEB58APE8vL(_4`3IuwBz=Y`${ipI z0nik8(I4~q52H9u3Fr~*jrRbm;ezq8MGxUMxlPo7k|5zIm%JQn0F{T~BoakO_*koA zm85dUbe>5056Ri^Fg6~<*Fyhy(-%m#f@q4IRz?3GYhMB%MUnmAJ$ELVq4z~_Wqmh6z` zJh_0;7C~^d_2eROJh{N9kc-ciC**!%>wdH7{g4glu_gO{ls_+Hq=2XJ56F5#AO$sW zDFw@gi}<9J`@}e)Q4HBYS4e^&Jk@3jZzFiJ+`SqWMKHdCbaJ<0lq_5hKZg7tKptq* zedHF4&Ihqq6O1gYAs1P;N5F`i*O6BQ{D#1{3ixZ`o`p*SQSB%97vb`v0udL$|EZYs z?G%$pl;Oj~0Pqv!J|v2yT`VSjA!b4t9Po$?VuFD|rwutpbi4@QUq~?gQJTE_<~jYL zBn1dYP9RPA{y#(6lLso_W8|VtkC6L}B)v~AMlPR{i?aO(xi2F^a_>MEBNAdn^Le7< zpBLV5B^a^aP3|L@FOUoV&y$Ps0*x~$M~;W)|1{trkI|Ik2GM(cDQ36$9C?oH7j6G@ zxL=LJq4x5u$I=WEg+ZvSO}hc}$_O}~1V!1q$wf|h$-N*(Tz^E7()^z!dxZy-rPs&> z%u|k{_?Tc+uCK{O!CxRZ27Q1?QE%Z6B^NnUM(!T83* zdo-pmyYDUR61AR^UAq0xMDk4?_`KY{u@_zYNXKzN36(pe-2>+whh{VHGD(D4#s3q-h|<$|{~x zGI=(!r{7ne;F~ke*qkxS?Ecr4g#WaAk((9On<>YY==A?`r>5s_OWRK&H z_KJ{XKvD-3ivBNQ(Nnu1Y>I#VC``Xs>cmcAYjUlL@(WDeZjNKhHnS-~FJhfeL^pdo z!k8%kz}7yh#%;BeiF;rRg>>m50odB&D3^Q{Yg+-M=!=X!liaF{I)iO`GBT01Z*ZBQ zuR(YAvtv(2!lFCED1vLh5LdVtz)PR2>jA@P4GdAR%s;^_br5vh1Ra%gC_6^sMNhW} z@H~y~_;$16s9&%30hGrB*wJ}rvY5;tn*|Q*T5olY+7BXq#uVM9?NSg?4t}A?ehrJv zX2oDbvjsp0OY|%n!Gh!@7K3ywrkZ=oyBaK}XjkY@1WM216j+2RAl2oN6c2~7cmphQ zG!_qrvFHSgP;TexSo|f7#SdUHg4=?LMXu=clPru^@+2lJKF_jOppb|VN1fCm`{H=|vBMMWbL*qGK^H zjD;5^KATlV!vI$phrJswebQw*4u1^eumK!mwNK;WFc$4#5h@O!jztC})u*FD#eiKa z0yj|lbky7nI)tUHDA%!A62{_N7p7x8E0Pz6v$#)NktG%r*f;B}Fv5mKb}Yzqsm zK;RmLq|lRe5hmDs%Dl4|eT%#L!F&!ddXWR*;1wLE=s5g7jKjC!AdI!p$s|3CMzBx> ziwYf!yTe!{p|8nfU8}6W5#orB!{s^-$HO>OfWz}zP8GGKy~UG9gAsUEP{y`DX`*Arr42T9FAjUDU=hHIu2XHI9%Wy!D6*m z6PJdu2!e%Iu&CCtAT#9pdUOgb4zOL>_$I?RWNx|CqTZn6U`HFQ=TMJhGWD7e7NGR$ z2!I8(K$MO}Iuu{f?{u~^6AjxZKv_$-!fTCK*$hGEF$qF2l3<}l{U z1DC4EQXTW3!&rO_76+jM>HLlL^LTKm1SO?#nU2HV=w|epL?#y{t=l1c;`&Ug1B(j5 z;wBx7)8Q=Kp}|mcM;MFaU{NGktYlr^!Ln>r8Yc6stJD$8`uu3 z$P;$->~9Tn2f!gyaKK7Icl)+9jKfTD5cUvn1WKQdyF0xXUT7We2_I9)wc zF=+txcWa-5WwB_W^a+W7@KQoH>R8lDNv@LcW{AKO#zm%-Vo*>D6#FLsem?9DpPSBG(E1&2Z{<-ZSOQ4SWNj{zTW zcU9gI#=@2jq?Z3Ij723_1c0R?M3wAj@kKa`9GscZMvI?@v1lhLL{&yH4aC zYEXA4=MO`D3lxTi_)z-Z0+c?Rf;%p8-x=c0+P+s@=K5SLylFPZ&IyJFgrMhspoGz~ zTYGC_gixC=QMHAk9=Jr6jPVr-AEMgYP32rDP+lGrCcU|u(X!?6H)_Kcj%mr|M#~(X zAg%19=@V{ZT{jvMEftfXt1?0}TBbZCN$WrwdMH+UV6dOyM5~--Z!29T=a(+68E1rRg!^ipoc}6r4GYu-BIqI@x`Wlmubm0V z4K-U28RB|g4YM#d^*}`r;r!49Bf6#>XliKve|D-paJ8ax<6s=bXMeAH|MeY3S z=0gd4?)=<5U+t0`^GX&h|J?$dW2pY`bg_FXZ%^&1z1@SUcgB)#mQ~sYIOdM%qofqL zlzKaAEahSf#&tB)v`4dtw^@sr?+0ZR`{d>boC0`5F(v&*f&4f6;O#}x(X6sP#^(M_ z*swfcM_;ohu*z8uQ^x;BE1i9Qv$2G=-xtvsL5o5pbPQYbBUav41Ef-oVQW3+ROTJw zG_gGcjabSZZZSFZAMj)B^Se+#>a8XvVqG`Y+xIwAS^FQ2CU&ehs7xE2O4f!D7JMuC#V(H^{pw@Y{R#Rg`;MJ$Gipn zaaT`%bT4DxusoLbg(1f{#Or15vr3keS`VFFzeKFuxqec|VDLk$5N)>^$;JMvD!6lyo2r|Bk>@&p|iEkm^b3 zA^HfwM55u<=Ez@gUdJeodL^-Yw#FpHhCWpN*(G*uxjli^Ul(oOobwm#X>3-V?C`~C z^B_7pp%2*OxX7iWPm(y0HSJd=$Bz$5vLj>ALPO_KY^=dWN5SEdt9?lW&m>`-i^s)VOa%Y^olNE|r9XPoiBNqBSoMa3rXPf-WR5rrsKFJy^l z(`0oRTlB0^!SS@V-Nrc9I>^{_b+{T~Nq#CQ%*0n(6LDn5Zelam*kjp|(^y-r(S?X& zRsIO9)SrwnG1KbESmxboHVxNzwRO7C$cpZ-_9IbY^592LC14xNZ8Esz1lHt5lYdNB zW0QNK4D{>*U`N?W;;Bp>>u^PcI0Tq#P~+6AMNOl^qh~L!kBW$6b=O2HS@odKgdb5; z;ZcE6VjBbvWfDCHS+2tvr#=pERD&ALQ<6S`V5a^KTJ!IOxTqPBf%;yv37iU8)jgIB zy7{MtwKW;giVV-?T`lZ`<_=|PXR)>OkWqaV*Q8aMRFD5)e==0}U`a)5c6mR3hpQR) z7EWx9_6(H`>88gw!lKm1pvrH2MsNF4UiSr#CSPmIpUxHGlE{+Fc39(2Ch_|K8*tlW zjBNd0nA-3a!6rrwC zA+I~v2c}GAoZfuWDrlw5)ve>lH+56r)M`xMb?&lhmc9If8mD6&ocHb0xYE)Q?#!#^ z*Ho{nbx&u3J0dJS8~v-;RhPTcSs>Pw()>b{+FO=qHoxsqaZCGG&22I2vj+LG=Cw}s zrzp?=d`xmI+nB1}lC}XkXGa^imE2L{V8du}{$LDr(pi>U?ayYq)mHx$3gZ)6UHB|+ zBY2p${A#~aY^=}Fl&S3aq`n|LI)}65;*0!++;M0EWw_;7R3{hV`;j{yI~U|)22n`v zSnP)jm!_}wnNst!Y3f?JxS!z48|KME*&SS~$-fHoU~&fw=`Pn!UJ-Xp9ys?2%}YIM zvF(3zlC-^l#O!8wj#?<=pyBTasw?Fj)<#YN8$U>$D$iis2dUZeSA0o{9r-MpmInE= zD2XPb-wjed@>@(DtoBEs;c!^}duSEs4OTO7d){5-A7oAB%wQi78k=PCto0R>B5z<> zUU+yny3o#g5q<;9eFeK3^ zDx$`nE=cCqPz`sNn0zsvf?61|`73$ot#Yn%NC6K)gF9eNK6{%* zYXm(Mj<-n8g-7~mHYq4@4J>tLvR+PCU%%%zv$zPovMPJQ?y3i1htRXq+?8(88k)+L zF!$-*y;6hPSDxPBS(m+W?z$)aTY~-E{_HKVEhc;B!o2c2z)$+$+4t(1BG=qA#ocgX z#N0EtaVUGk?sb{GS!=I^(E#drV4&m$r>kF<+PhC$|A7)LQw97|XN+Xcj6DpM821nS zI?^*8ny)GI42!{4!^vO5LqRZDK68J#(JQP{|cA3DfDmppNL(2d+ien_k#!F5N^R#03qI{IlGHg`{QxLF`FB8df3 z%!61;vC*Q6!54^QctK)SU8W@*W#;M^|&nD7PoIWcp4RDbU$5goxV^bq_$enf!g z69hKib`rdY!*(f^7026p-d6_&{_clZ+zg&q>(JwfEeyHn~VS@Drlc*=abRdI%Z zhjKVhx=X-lKY@>z4g(H7#P5v2Q$tIaCQ2F0Sz?;2f-OmRDeRNKTB4?0du`SHsyPd; zy=l?B1uJe`GEdCS|NCnoLaPEpe^;{{Cy<9@89;kuoqKIbZdx$tX22)Np}Fvq#dKns zDFudp&AZcFm2&fFj|-YDSr5ojuFxs{0$=U?`Pvl@?C~LnWLWriC1FjNPa=@iOr*w+ z#CYKv#ALz_e<}*{Cp`I6)wa9EWF<`tZ%-G;kv!s@RE9YE3g%Q8DVU`6BRULCX9{-& z`TOC^8TJ=yj9DTex?n0UJEWmOF-1(pWe{se2F!-2{*%l7;ZkuBOhrU)tZ+F!U@A`X zmj*3cb>s4?IdGS=ojI;i-Q||VF66i(BD(MBVE)0bKCC_^(v}qbcto+u=`K<^vpU#y>8`$Pp zoMKgr((BEzAap29>(iaDhcT{*WY?%@d81nJz0LeA8hT^b*iBG0zZAjcpw^U|)IZ== zkGhKGeq@1aM$n;{>w$x62I&JS7i|h_^g2y_sRE_pNBJJg1B>|PsSN0Oihceem}EvG zQ>%6P)`u3bfQS*>tYNT9NG?9}?CYqmIX2>?Q z8ELG5&K5mk5rSVYNvZn{K3nzpYWYdys|Jt!xB^3SQGDuUZiHpXpV_=ZwIHG&413#P zMywy(Rj6L(@8?}|=2Zf{UzL8;As1xqYwzIkgJI2nWA(j_7EF+O!LrzhR`&!P?8&lz z@J5O}An}6*xK@1IxM6dBb)3gJZGUCCB;MWjx9JXD?F zO|`C71lz-drAnmH6?zDt83s=XgLgIOj#7UyvzN!K8Enm{2(>w}R2?Cg{(rathkc%9 z=*=ny7<&7814LZ{Z=vB*Mj6n=^DY7|iAqg9$HS!$iC{{t-7Q*Tgu^SRqn0`aUmP`T zb`RdkO})gA8f{wdLR6AH9eoyOj4y&ShRb2Z&Ivf< z4ibDDU~+kv0hjm^OsybY(?$Z=F}&ceKToX8<%_d81>!I;;0=PXUbu)$vJcgc-q1Al zDuNM?>VZDuodRwU?&WY(3bnfcQif|2$rR92-^F78Zia%}cw7v1;XB#M>c3P~);La$ zVeWt9ww-JKB`30?a@9>>6dOHSO=3qf9S+tQA7f@0h^%I`Ix5@`frp3rH6I?QPBL^? zCR{l4qEo~)s8r2n!zQTfSmnP>8(8^7byCDUOk&&+(Ze2^sE&(R2apQX!@eVMLpL~T z62L9p;6?&>cGG@B;K6Qi;AC|i3)qY{XeY0scXtGTf1BQGwD;sGcs~+hG?~kJd^ZA) z7>P$8w&obr4SzvsP3LR)hOp42!d4+dqhfbQctS)-oakv_#WzI6EAT~=U!(a+ z(ot4?tG&M?2)_pWGT!~t z``dvxubyR-v!h$h+1Iurv^%csmbyEFa-$(Xwd`=8!8LaT4UHdlc&a@ubE{n~Usg-m zr(3(~thtucxC<-yhPq{S_A=sDpLBc4r|(wO8T?+Q?Dmom-rX9M8m9j9D*KCFa?I*B zrLM?k$Q;&c%)GvpOxMl@qoP)$8wRbTU~%KtC+mz|GVCE48txCu4KM!OdH%t%-VcjT=}4^ssdbgj>a(zhb)@`kjA})c zQATTPUNGv&&htBeNj<;emt$i;gK5EI-^l9cmG0_XZKuU;Rv)zq?WkKW+tkxCc(jBkHqVDfa;<fU`UJ)MXkKhppeUIqBkFhN>|)g$7M z?g{8b=@3hv>WE9AR)vNj{l!>gB!^R_tC*bRNcI0&cvDa1#4xx3EevtdxWXb!54bP( z6*YV;58q$9MZj7rvZQAPOkJ}RN7cTdc2_)u?PvZdC*}&E^$8%zvGlz{Zq2M>cP~R`nRX1y~lC zf}p>l8+-W;{DQ_XmaMa%vk$AR#Q5NfvvO|p7gcIMt3L=~?dTLNNU0r3=Z6;iW2{SX zrZ`WQg%K%W!vJxgOkZsXmy#U@V8zGO?O~x=p1`n+jZ@ zVr__LFUA2PX6Z(b$v6!*04kRg_6WEMR#kmUhNAj0IjWS)1RzLG>E{?`1vhO031Z z7pZ;NvsG$7i&>;*H&-rJW3BAg_bh#|!?)|Nk*O^3vS}$xUZKvCPil+t8&=?`&dCIA zM1!i6J?kO?Dj$}b8M!6sjg>uj**pNIY0z}0re5v4;%vO`C( zy6{$JWIXFUf?0B`4(VVIS#iAQd5yN!YE&YULTL8)m1?T_WyGxMud$>$2$vB;BW9I- z{)H(Kvh$c15jsbQcCinFjzsxWR!lSWsGl5)qdo(~_2BQIxEa2tv&V zC5;xDO!!e!jd;N~z^e-!9Bol2TH;1sH1-@0PSTMhAG^uthLK+bI!%o^nT*AtEt87y zqi42`MIw8;%8vCLuWEvABhmz9?NxSV;39-^BWxLdSQ6`w=3-bh2EZdZUGmRi(QME~ zlggg{M^vJDG=f~kLysyn_Y`U;LWfE`O&8&QgwtosHn7mLb5v6pi#@ssJvtVN_yYAT z-sonL90!y>Yo6Ch(U*<)sRsdP9n+Dbsq4BGwgaV? zVkB6&g%l&%sA_wn`4mEnDpgaB?{u~c6FjG$HG5D%o!cHyq@LWZS^ECM;yID7<#A} z=oy@!KWr#l+ZZv(fW^e(YYhG6nQUnQ17I`T6i^eJPX<&khVPS^0|%V=4d)K_RDvqG) zbJ>{6T^2BrpnrHQ306uk^OQYY^6jZ*@ZYv?hgp8FSIZEeX=qnRAd;fI%~!qtg`iYl z^x}~-Yx!#Hfc4wYZ~uwJN;7rJ3Ef5)+dpoH7$-W|-gRn9R8+fxYw}2$ zU9If+I@N7zZ#&z;X5OLJv7|fIdH(vKCD*WOb4lT0moI>KEUPY+wYA^F8K@DYSj%U0 zOX;uVX;|u6>h>M_S}6j2n93+vdMKD#-_ms<#^hTMgY+q|25G216wFX;+a_w$P+vof zJZN3eRKG504g6`TK^W1rPTbrV%gwOgE4HSEflIIt-froOico}wm0E1Xw%(x*b;$Xd zzSEi*?ha_-T6*`K0E)fY=mIBhQO>iOnES;@x4fL?es3Mjq8@U(bPID^a0Dd$(EXX1(HHR=W%aE+AiRk9Ck|Y3wQ>HV=;m{w89+cf1ZQAe`7^%54s6r zcPGckOWz523Wxhh`Di2wAI;$;ZZ!_C{GpWW6?pUqkUT~D8F1(!d|$MBp!f3w-A>6Z zT?LQOLjjg*0mM`~U3w}Ee@@`3yCp+zS5T)Q9-`kI2EPNC1a{*`_WeB6oFjhz5WzLv z;}U!nFcDA2c+pC1kaSB} zfCs|hlVNc0C{4gJE`V2}gMOihBDjNXx&n7k{QD=fm5tb-?qCysk&~Nm-KaigVDmRx z`>?k%oDQbkkE zT#%EQ@}`>FoU%o|Q)Yj=4(rjx`GF;dan1g%n6$DBU)wC~t|0EQuGytV_3}<%aQ)({ zMN{T4FRNN!1+7?qpLS=vGl$(Bl(AI(3+|FH`WbTlxApMmX4;4Qe90aCL-*<;>N>_4iYiq}^&- z^`NZ=K3nT6rjz}&b9eUsVyhubOfLr@EQLpPOM+{_e3$Z=rmdV`wwP{airJl4>^va+ zauJ@#lZ`6pCPD-#Bo_hrG!hX}jU|Ru<7fh&L9SZ}2K)@b-4Pdvh~ZWUe-e!7XtY6e zmy-*+o5{s+YXf&tJu98JI}dXK9JZfl}d*aSQkN3IAf@ zUoQLsQ_3l4dJ{jSg7crG31){&MU*mL`}il=(T4G?pQ@=-+mV0NtdVverJNX53fD&d zW3&kD$WJf9(?#7G&#p{1OfYaNGE6P302Zs_xf?)iDp-6v3Xt_ADR zcM-u>?*Q2Pcc+;JmZ(vz{h65IY|SI^3v@u^E>!)K*qOWRzvrv|DXb~d#@H_}n_^l0 zZiI0khOvONyCJprpV$}Kd1q9VBY@gR*^PRIW5P#eg>LI8-UB_mie=C+s0SMVIoifn z-EB!^fx$QnVal+@vZwC0C=q)@445N7Ixd3h06o?0b1;$bW&?-0;?jtF6n<1tl*iwq zrN#g5DfW7ni(5Zf{5>wkaU2XO--#xg^r{nOiC+rB%En@19|YPh&$98>y zd4IzOn=&vSQ*o+yL`~H#6yvApYV|Q51Uy6Ai?@AfQP@*o7;QY)a7MOYbSf4q_!RtD zzi7oV6Ffr_^=4`BITFps&{N;31!;&xuIA)fqXw?m#Z8$Oiu)}D*2g^o2psc2VU0}! zCITUg@S~>@9Nch8dRPIt5Bl6R&5qV$I&vS{xk+COL6g`t6^Vb09nH1IF|PwstXFMO z4945Fl%%kwYcSP60tVUvJGN&{l#=i@;vnfL4mW-wDSu|0@~tkYsZqj*{|IlrWb{pi z>Pfnesz?kJLglWoVkl`29|>Y1q4EoOFHFNlfVJzyvB2*Cv=~xUAgChjzPdxklyc#zm7vB18*b8zu0#L~l zn@~2a5ai@X&uj}n@u&LXj|y6&`AX6nwriuUzvFpCL&c6B0SbZq(7{=ZRiG)138wit zBDs(4TI1|xEbtD&6w;Vu${#XBn^U?1)aU3lRBAA5^*^chH7|hg4eaqJ)%p2yR@7nH zBY6TrYp%I%$`6%k(z!h~H0h`rr#9V=bAY!meHDLSr5V9tuDHUUehQ6EG5hmVYFg=! zQ%$~pt!&oQYGVGo9h%~(x$Nr>ZHrGjOa~W!#P*qM>eE4! zm+{#R9RcX=i)pI|;h&yXQz7B&PpipeYxYN#_ri3ECRQe2pefI%@VT11i6&T@HjA-* zfG>@QkTTD-)f^)JG%bF$apFYzekkj(+-Fo*LUFcffT>M>aJV=KP|7F5h_LzUXVfK@ z=E7!m5zP3!q+a2N^03ddDy>>hPbkyWcg?=c7Pn7M!>o%>>aw7DGlIuSZzP?R`S;ev zb%vpX%0BOydUorwSLfm+W~!84=q(MJ2H#%ta~r8AYZFD&xpg&{riX?5r7oM%SSj_L zdiK^*lkfJ40n9R|5mRDxELfInop>x*o@+X{XPMiF`Qfxb*; z%Y(S9swEOfKIMER`^UC8XeKe+e$^X2xy_PpYj<>6WecKaW&71F=^t534qsMR+9?|^ zt9c17tm{CN+H(4K^dVtW2EZ+kWG6*eRhUn zz$;w_qug~dcRiGuU1deVG%u+I*X);0ueF$bR|HKXjtOl7(LeWa))$sKf)meV3SzOKQ;>R7x=prl_p?3NA8>)?~(xE3FVXg zz{ed%ZAHSL`Bm%f$n_Yb3FU$^nYOm>P0NQTDJ@iqDEPZ1SS7FW^*HXNCVW5j$y?l%U7XAIpn*2%E0g1UM`7j&GlJO zB%R~H`|ybG`}F>2x~1@NitoD)T8^O-qSXd`Ho2}Qp#Y}|a+sF5Ldzn1YX2*>FjiS) zjAqw-ii`Ac91?$GO$z&0krBp>CR?3+%^{Y_SPx*63ZtXgFNX|n*6<?mnRE9n-^bqaMfQgn43ek4@sWAMHVQ^lkI|dEW4+l*2Zv325szmGR z1n=drJ6(E4c+doqHsb#+;Ey@%k+RsPFC9I#?+=Ksn+6n4sjt+FM%Ut@IFkTV9O#sR z?=P(k!@n%>8hsXDCb<+oTMDhzmvQ=m(uWbDH57PI1gV$|62S-_V6apPIP?(yae>zs zj&h|h1*{2_FS#*tAo>^ab7Dxb7I5ex`sW3HC*GaXFiDNVgq8^UagX6r5!E&E5WzaY zgr`9&nNNQ~z>jfwlw`(Qc<7<@LMZeQz6mh#yA?mDG)7AHBPryuf_oH8J1A-5 zA%YV<@TJm>7%lt^;G9^MuNSbErQ;;hd?S8TGEQl{bT$mm0aL;gZ!&uApCvqExyMB5 zR>FvfULO;9ErQ9?I|8PRN|zQ$LsX4n2wx>&?IWHlJtW`>h?Q(qTWB679(G+(FAciE8AMf0m_S+2n_oK_-W36xgyurBvbl0I1OP&(j(Wk48yghAAK z?8r$N#k}uZbqbsHzWQX}9%1ugd{DC(Nk?7AR>SUQ0YCK8^^TgHdP$^ZxkIPVt)4&c zrbY8-EDL}t`lDj!Rh4AfnWm0mD1fg zK<9D6Te4rTT_0_qCzdV8inG8z?Z!#c#yLpgssO5~Ll%*mZ#{IlV0rR2(e`+`FE3m{xF5f#cu{4LTOqO>=^52uh8c9))aNAPd3BQL1Al zc5tJBBq`Nea=}YVLB7Qb*hcUkQ73k3pBaTSkpFIWVY#VW9?t5p60)Pr`{)1|CPob_-824T`>m5P%W{gU20lb zx8|Z_dJ*iqf2cj%_D#<@6Itcov6er@V2EH>eTf@N8jo6SJY=G-7x+y-mRdu%zLRYC zeycvp3cgj{N&4{NeHptk3M=XEuhiHc!NNN-Htl(5Z%v~1PSwV?I}GF4XJ4rq&8`1d zkIK|zWwM3et9^TPQPZw=q;cM?{(JQhKWQl6$UZ*u1IIVj@Q=U<|6uu-2y zlOoe9jT@FT#(W2GA&QZ)8_LY=zW= zthjv%cd)S5b|`N(hOh|X!Y{;;Y{-F8_ojlIrTvIag;U>}m53uDDcD^XY^gXzx%4g< zt`fKa4aeg^l~ZK+#WBYzCeL#wDK&3po=ZD@Dj;mirWLFh4Q{1GtkbEU~>-AzFO` z4}f?tU#?e=hM_8%{1eh1xGh>4cmO;@g_@=lKFZva-3#FHv9|he14^HOBVbV^#PaA^ z&=n4PiSE}{|0ji!(^7Frg1$QP<}mV?*;*{$CqEZPZUZ^54j}E%2Ii}YSQ(>j28OF1 zl&p9i_beUvd(brLg~PqrkC@|z{{i0mw7GTMvvuTW!^l(kqWbX8Fmf-*<3UE%XP}P! z3Tw~U=dj$L)wofY!&@JFxlZ`OI`Um%ITMZU&kWy;#+RcK6vAC5j{RR6tq?Ms3 zUk{p4W?>__oBTo;c^`I^$j^t7H-H>oJoe!_@?nTWpMWBkn-LS2oDXk(?0a?Om$C7< zv|FCTs(wX1TD{JyI2wVj6x>I#fnP((&j#{a`A*%)FkT8q2$>@A7@a637>4Raxf66N zcwUYg4U}G-La+#BMzM~?8(}Pdxy0hNFcuX$7Nt5CS4H-eq84;BG%2nCN-sqV zu{stFVJs->GObeV3}aCT7H*JIr5LAU@lF^EJCk2?#`RJ#cF|{%6TuX=YrQqD$9e8_ zcx&puqsD?lFY`8?%oBAHt_b5?2o`0U@@s7vi@my>o2+B8H;lzwBPRG3jqf31f+d=n=R_3FD(z7TBi;#d<>R9X# zWAVoaa-DIbn!>2-KwTsR_`Qxg6(a<_0EK|pX?vlGc-0GVKqmmEyWM%bB#gzu2ilx* z!xx58e+}wTOM*#mH}#*xsNZ2r*G0z-KN?2f3G&cKbFGd%2A+EPJK0hh$&ZA$UUsS+ zMIgHozbYO1iZJpzz}jKdQMF+#iohaN#pdc*yb{JDO2sTns|7EIv8V%ms0o{|V_^V^ zJ`r_*abF*7N)(21XaI+JP*OUs*Krsc;(!quJ@ssw5rvQkZ=Map`vAznk&`cg8~RKh z5#(N?#j}&`0y(y`dTvJ_V!7+1`#a9Uy8?~VVuT#aidPtu%t`n%k|S!RY^xQyUorivaw+3&}Q7$G+mZE*`KY>F@}oEn8oHychG(i?G;f0 z2G|gr^U49Yj=>h-Qsd9E`h5qXsTT=t83mW=-`NW`=hZzUyoybE+G1&59pUWbG#210 z-2W`oki6k+Q@t^VeUR+D-9bVq`(w(-udffTWD8Q9k65@|lbfScoiEDWj%IJnGLC4jE^s<+ z#vz46N!T1i-VpZh=OPCTLxYH?`^0ey_DCqZF`DCJawG2P{je?}nYQ4Lo+-*#_8&bX z!vy_ zk`Z;DHFI#`h3BSxL^t=g{PpH@fw8k*+#jsS-m&k&KGRF47pJe8d&cBUXSt)D-*^i5 zZ>}@>XcN>^v$?L9@6|Js%jTO~vnz?BKV7$bc_EVz8N$lzDu$v`*vp;J1j3GE9y>A_ z_wdqgBHy+{e}c6TvsA*;ZjW;LDfj2$=fq7@+u(*C`siN5kMQ_DfRB)1(z5#@{7}H; zm4hFhWvvzP6&!X*-}S)9Nd3h}4K)9#VOVb}XFyF1?H#TP3lIQI5nyToyi0mYz_U5r zOQN&&gwNn`96!u3NA1lXi8DmT4!J$WB3cZyVUs}!x>B~yXQL9;rtH= zH~pcR{)|N{#`0c;?n$P6B1;hXFWHfyy~)KFl1?uARlZ;Yq*LJg=<#T<(1!6FVk!A4 zAm;d3tvpg(m-tSgg%!Fgb|wYvB?3mW(eFo%W9^HeDM%UCJ1oPnn4UkrW+)q!7@5G7 zTAUPZ@EM#8xfR#=rzSX~ zAlzG{nVXVFv+qFUpoS;Jbv;}AtIZ`}!MdUmcvV_V44X938RbBhcZYGX zX@O`LzepBbH%@dWrlEuHMo$wp57Qw2Y(+K9TOsCq@RrOk#U z6LPMC9>>Kx-AUGCtmXW?_B%K3eN7aPyL?$10t z_3Z04>-L#Wml-c)C!bQ%HwJC)jll@7A>Ht}rZ7|2k~{vh;PC+B;a39Ts(=-8|4)K8 zoIjCbqS|nFo}a9l`h!wC>&2%*|8&sqHKl*rA&=a%@A;B{;r5CH>5Am}aG&+O;rqKw z9`xZx3FD9N8q=jTnX^0uy{+x+xe8~Rza^ODHvZFQeC3P{y#nzADwyJZ^^DO~+G#Qx z(`CrDF=*lEa-_`X+BB&i=lwrjbHtwu7cYAE--F9)`yrBQp7H^cO1_UMCAFH9!6-X5 z^=}6a(#fEEz{z0Jh?7CD-BotdAIum4Cz#3q=HPF9nHJQ7pkMJ0>g}K%?`Oq(G~R>a z-HG>Duu|;t;1NF}MB5wwjUr4Rygx7AQ}F&Rf6wy09ZZ+1wR268jow325k~p@V|@=a zCS^(A?+<+THFR|1(+6+=0`=k~Fuk7fQp+mC9yL zd=7n}+{14=ZksB}HuUf_rN^gz+cB9i{%oi9)|2lBXJ;FG1S$H#V)T_$VNh=1j^gT2 zu4J#;h~i#|zmeW2@i)qQ8h;($G@n+sy^xr~3D&gxgM0Jd3GPXMrbE?4|Aw9TaI%y3v=EcDh6LY=k(Hr;jhcWm-~2-VJ4j;DnKH?2|om zzB~JD+s2^TeXyhG2a_kB3obuS)X#NjV#Sx6ai5li`mQBOi0g;m-D9ZIdwNJ|E7yo| zq6-RtE{I61?uVjO-gs0u6crzQc7O5k!?PX(^B-})rv(SJ99^wwjam3u6 z7F{081QLbolLv*T}CKlilY#YWTIvX}EBNBIxJKY@+uNGc8AQeI|jIa=wA) zy=yXyLhNv?prSK?zvL|N@PZIFqhyM=V){F>ATD6~oLpF2AD z-v=E!2QrX?6uzWIZt~^et2Sz_(f5aqq?h+}a1gJW#wSAhm=P1PQ@6$VM3zP?uDwoz z*jgMhl!qA~bWl-|5?;;o4+W$AMP^^LZ&Ayfrddsft|6w3PT4f4t_+HvH3yAdiUDFA z&P5t)4$>P|!S~~;Y2<~p*;wv^iXe$;XjBd*EvMqSw^7qWb&i+PwMIzVUfh!GNvlRP z>D3x8x@}E+ORF~Q73Uhyw&fu+wA4zO-?eGP?WCE9hsMQ;lRgX91Wf0Sl*ais2cyP} zOotj|nd#hL%hvN8iz;XsYi&#QWFacl9iCV5?c30j(!kf6ZD_T1jkJB+Q7k@F)EElm zzvyil(XHqxWq#XgqsD!$7V!qu=$ifO8>I{fM*fET@wFE{9gHs0PsftKg)F{ICWk(zW8Q`G;;7Qd?ee(osOXV5H2?+BB** zl=?DWp?mw3ONH~G+h1MMlHxI>FMvD}kD99DB?dqCD40%BFkfhuXn!x?9~wz}GX~## zv>^>&``h0b^Ua&7Rwykp8Z5>8Krq*9eB#wJ#YWQV#NF;Z7U)U0LDSRdzrh!3B&5ut zkXEXMVy8Ey?1g=JSDH$k?;Z+9DYEE`9w_ueOSR6BN&45(ZHaZRPH#-;tZBN>(xu3kT8&Tx6x?sc43+8>um4{+ z#guDbt;u(w2^ppwJyXmZ3DUvU6vs7%ZB2RFR8C(D&jl!K2Suwk@S7h?ZBPT(+K%?7 zv<v^@T4N$Zlenu5O|>^7+t`|(ZE2N?r5%*$!%4o$GO1XBGmD%TRF=n`ZG4!F{uH^%b%u?FY2Sv6Wz|CQD-u?Ub!lepHv?ky2mY8yC zDG5s0A#IKos*(SNr-)iO?|w(!#esJ;ntV!| z)EBzTzr*!ao=9jOr*nPd_!iraxs?$+c2}A)3NTHU?uR<{5Mw=sNK5;UjhX69_0O+P zZrWY_l+Syxa-8>I4c8NfQphUd#umeV%^Y!w(zAAIqy_l-wW*qd@jR%T8WVbhN8}M zfro+-fdgF^W5%|bbXX~~f=&OOv#vR67HPln;O zHW-+>AZ5s(ihs-H*X3K}7XcmV_Iq7Efq(DIA9nkEDqkyGyA1Z!^LL+rt;6Q|B0eOP zx5e2`C8mjJYcl(NTiVfKc}-n5nFhx4-q27+YxWAuAfDG#6WHes_z^O~dof$;bgzx_ zIH0f{Vub6_P=g()!G=@T?4nL(t=6qR6pZ!4{(^h=GQ!TO#We%&Icp=b4+WiWckLh7 zT0iK0DA>z8>qXCP4+Z1AyO$rsA%%vyp4(X93g^6m_V#;h#?B~X=|4BQO8+UlY+bT# z0|toKo?jo7^TrH#ACX3T*CB&FwRKFr(%IiX^I3|?njQJUC&6fm3LSBIcdtDJNg67@ zTsxy&@TXRi6a=@V835rSP`~yrpa5@YYWYH|LY!04*He25I5ueEE+u&!v(i5l%cqNiWVe z&-{Q&Q!9bie^}f{{{gtWtoHq5$VB7MwlmLl{cen@%N|*IO7gUpd1_OUsjrM3bN0Y9 zo|~s|h?><|0C{JW*^KmH*de)5SYo}j_XB_kK? zzCW4mJ(pm`A}Fp8aI-l+6xO(BOkR#asLLH zo%qr)2v;n19WqR0^(_t)7BkfK>R>uV2VH(>_E)`(BP_UxAi<;O!HRJ$k%6+9i}378%I!S2fK4j~ouAeZ104iD`1(C)Jz#B%$Z zTl<52>{ zqrm+_;1#&E-bhCYLJ#4`g~4~Sw$E{S-N`U-y5xyCAHk2#G>pU=Na!Ip*8=8v9!-q& za2WozF!+}+IIlY=`7);g2VFloADx=p+|wTxU_!BK%b}!f5qe0D{%qCM$kgKP!ka`= zaZ%Xu9&oV~>;V@^Iml`XOIlg9sCpCo3AaJ0Zwc>m?u~O8{Gn@1q}zl-58)fb;5S70BH-va1sUNEJrurzjtdaOMflN; zgpY*G3f98G)a{@dKqRX=PG8M87@^rme})LwGV*Nc`*Zb4r6H z|Bd7;9(vs<0>t9oDdkFs!| z75b%@gvS8xF-)T6Q3{|{vJui90;UyiC-UVT0nY#jCmO6Al2kktVM!RgI1Jv?1D*#> z;T|4nu4utkJjAeX7+e+x*N4Hcg~7i-1-u_L>DDCJ64-@noGy7N+td}6%4$ZKop=xI z!D;?L2X0bYeXY}J9Xfq}?TY!eY}d8U&TinzdCqIQf#mtlOcwQqY-67kL+x+OI!7<| z&>GlU{H4*-i`@reFW#+VZ}8y^B2#XTs60J$xXOr zvUVA3YmDyA0%f=x=j~Y$smz~haK?v%=WD^s7F1nNTNu@BSE;=h`*wRwCaX(`7{Ug+ zEwOCz+t?Kuc)fE3Yup}VV%}#t+WbyRnwF?$s&o-$saV+`K zn4#>g>z%)6kKLm<*)7%1TvsT@+=W*_z9qF&s-Sq7WJu~2LgWd=FSQ7pjaGDC|!RL)@h#j9)gXYT5Eo=yXHuX8Zk-Z1qRDpq(O15edr6CG#AJ@bdYK z=rDvvu#8o1a>Q;P5a_izDv-u1)hHAD>thkNtqV;mCr=9H$FS1s`EwU)RFmc}zJ7W2 ze<^NSsv*@mTnmQWC>XzZ!Sb=o=iq>#vrl&oD434opeshTaAVo7g}7X$-Vv>^4+7>G z);`79n|V#Lg&q9Pwu(7c*_>RMP@?m^9v$SMr&Zf?FI{yQH@mfcsv0{2Y z?kF|EIMrNO{0U`>sJf-q3l`0rQ8foFmuc^dRxJC^=_?F{DWv3)kyO^U4rd-C7C2p= z5bFZ1nqR);CVUZ7<}bLudd`wsWXXTzo7U$yVK4DN(hr-4_61I7x9Ei$e=Z94){5uN ztDV1W*`x)_mLn3LrE%u@2?N*Aiafk$Hova#1WduIvx^1V8Gp7fqf{$uKsLkY~q zhGPF_I8S>e$bDgD|16LGo{%ckKZ$b<(xbj*1&rU0=e_J*y`Ipbf zrxt2}#;)Ksjx`-d>+{p&(F1vl#hx+9scgvzv&%ZPbkTzOiYh3%&3<=#nyKZo9*%}?4#x^W;7H0fUHfn1ZEMLW*_`967x&3t$d+2ps-?<>k z5bG^~)yz=3>65#Be$~9Om**8M!7aYaS1zetNG+`{%;v!6gw225oW&|rEDpA0rXvN( zutaYD^?tH^pzZvQ78?CyV96VP_9Ahjr&wtGmuk9;bY1Nt;0^Gnu^JtmLHEm#B8(sx z_zC2W6Xtr#vFt4T&y$N4BI=xp-UQdr83_*>3emX}zI6?5c$MsMX9%}axFi7iuM=*) zaCZuKuW+9yccM13pm??rJWU7&`Xl^A4+7AffDT1XAs4Y-LGJHxj)h!ov@a$X;qE5) zN*H$_w?fgLElzhp&kUs~(FH|3C$AMs0hN;ECjTn! zXb}mD#7h*Poywn1?%2tlBLZG0PHoNC>P8COB*Ir~`dn1T1q5GniH_F+(D9-}xeX%x z4Vv}`-IeSkc%eAQg7TyBG#$qB<0lzz6sI{LSq5M_Tty60fK({pVoeQu1PaqMdA}1RN(AsX0mR3Q1}wcd1r)s7|;EzD0|Na?%Sp z#lI4sgjgev`rIncE>#N2XNmJ@|F5)f0gS4+{=WOn?q)aH+?zlkugwDpkic#dA%Os! z03o~|Qb8-4kOYYW3GZ0ZO#meVN_Y-c>mMq%s8pe11nLBrL_W~w--_>w-X3qTP%=6C7J#z+vQqfUF-gp*u#Y?345Qygt3GkAF`$y!D z;#*6!Nj=#^@iz+`D`?2IPOV#FBqA~rHD0&Ys z2?%r;Zc5;JL3yLSmw&mG%+2t`lX^emfKrB00wEqDn*ty?Z^ekvpBRvXae~e#`hX<; zi6~P4jOZ411ar0Ew@D566GgmoqFcpyfp|1N@G2vU`YSN2?n!18D~)6gDjRxK3WKEftwD`mWO#aaZ*kA5up zhnP6_$#NYt79#0g-ru*r2>bzaX^I=3Q(m^JICUZ>EfSvQ>?}FK6-TmM(O6- zE7}Y*kayX%oAupdlX-$Ym~!{yjMqB3ZvSIU@5o$Vbtdg%2S0JE#jD9|m^JHX#p&$t zfAsPyx(ai8FFC+kZh*b7#sN4VL?s`dh+gv?I-HIF$GLJieprN_%!TbOo<$&05)`>#d5Oh32Yrp=u|m zg=d?Xu$G1ES?|lIvHjVW8yv9ir&Vv5flp-Lu9Am_B@YK-Mmrz>Sf&DMC^c#OXz*vyTtqpZA2 ziD!$lu#l|p1-pR_4LE2YzsQ0M&@sCEz(>4M_`?9kXRQAP#W2kGltFMmQu=MUH2wLV zxbOWS;?UcS;yBsNQ@DYNriNbiN`vBmz&zj^V3{FUqH!7z7W8}=l#g*0cy{<1v)7Xt zQ0K~o;$i6r!P3E5whnSaDe$1#o7(`EHh~fgstK11z6jwEpqkNV*+XIQygaW$|bGD8-O_$yPh^S9*HxSg*pDCFL(x+Dlh(biA^wL@TSlCyj1A%MU#j){jY^$9FOga3_MGv68#prfx^0{wIl3k?tjXaO^LqwZIYAiazyby5t_AlTNw zSrprP#QK)SIk6dVpwbOaJLU`*Fsz-FKI}T=x3*wS& zFC$!-)xf6g+7dQUgqhHA}dFF2nQhM3J4Td7~+Ru(nHV%o#Oo190chh zDgfaX5cnB}c;5g)_KOD5;kNjA$fF1U7$H`*5sXKW9=u+cMJhe5hd*tAI1PvbHH%Lg zAQ}Ln)eR=1VTfcz(Myr&#tMf^5lTdmUWyi-6vaA-*hW+fpO*d(qNbbnXS1VhlqaFBeD2=WWSONS)z$ry{8eG^(q&^jzl~ ze!AbC;wSl4t;7m(zxy73+xw@uzPTWpEf9CAFC&yAHMkM`p*_oGJEFl?3@TiiyVLbk^1NQ>PjFDC6I^`c&wr7 zLdcLeW7fLFCUGf)epOSeV}&ZUZzbJLU$v5?{d6r!o4F2Za~DD;UuMbQUJY34C%$OT z99v(~SU;igxr|IpeJNbgIIlCdaWej0*SHD)zSj6Q{F0 zwHLqLs()2_b>Wf1=f)!0=*D&UcXH!v_;*vI1qr_0I2Qj#H?70Jlbc?{znhvY8{ywH zcB8dyI)c^)YdvLqYpI}LN3tEY>9?!D9j1!g_ln;xQ^)P;cc}huQ^g&7#qStX#~tas zl3xGZ3zdY+j~t216`stu``BB1Fg3n?zpYm;HE!y_bYor$D7k4=&Onn#hv9Dehi*rx zW9@G_6t?d}M>6w0Vf9}B5g4=wU5|4U0Ch~dCt(~MZ{Uu0%Y4&>LZ&}|B{N_-a!8F{ClMTAL2 zF%WV$=zQT`BIu6<h4X{nqgUtY(%T0E&(c_n0D{p*d|42G!;<5{3y_IZup$k@_PaHt0hYo)KT7P@L| z*GISs?e6zrQ4E_b%1|R?H`T>VmFBVho;I6;JUdj2D`6uot$#av_#L>;aqtTwD1K+VEzPzb+4>LL+G@_U%?9Fm zc4(5)%RKx#eiD_v|F~_ixg(m%_sGQ|XzO0QE^5F9QG$o!&;neC!4CUN173+IHL@$^pMj~D+w z0Y2>^_dCq=j6Drna)IC2l~MYT{itk0?2kXv0{dLJF&4q?k#bP|6rRQ1u~=(V_Q6|a zZZVqOpk~}vUGE0$vHRtTtbUs*s`ZPt@*I*XH{H{!@FH47G$Y+2@I z+Z&Ht+2{Akc>`(IY{uw@8KC6CB7P82S!|o5Ypfu5JTlG3Z;;2tEg&ay%LlDg3|g%_ zH^^Ho&XX8<>4liU(x3KZvcs9UFk$Y~9_?LQ|yr6Ism0~H#}{$)^1@X>ztXk7GO?e?T5?>mf`;V zE1p9?cC&ek$-az#L1(Gk?1RnM1=y`6N|BW&zU;nUN;c*Y&-7CI#1-MN+&W9<@|~So z{wn-i#NO|v3=T=@*0N%L?8aASp4eqB98z=^`C2-&BsvD(Qks3#TLz2Y7Yi*jJFSC* z`1^6`H|^2Q7R=qS@_O#-INs+hWi6eBQgdnI(RH1L-tC=5(A-~VjX!GgNeR9krKv~f zU%J<{4&Ejol(I9%q_g^8n)^iRgsx!+Yt2@a(#%=PVAdFKjbW*I4m&(f?J*BzBl=lg z6B|(YGR9e|P3@uPJydgmlDiCl)M!!E;I~V4!cF5Z&5!P7Gatv!)3+&#o9%hb?wE$w zg#efISHY;xgQEF&3<6Rkx}j6A0uSN*G2wX=wG0{7o9SNKtZHT|G^esQpU27`OIOmF ztDHUygQm>JAH3WRF_C%v)r4@LfdbZj>p>q_Fl}OPc8& z7MO^eKnhkzc}*Sc;^#KHzAiTxrnh;N-8V;L6H$wTXm0jRGeBGZgM{Nx+T-J)%~>@J{BT4@)$8rQ(WKuS$pq zTdn#6Yl9>>mYW}g4wpBaZT--kW4$hbYxrJiv1H4+JcaPe@+Rp<_KXE4NB8A;z3~{$ z`Ls(jGeIZ+*c&xbtbYUw-?wW;A)U!0!vq8q_vJ{@MDu-NI=l-JH$6qsJO zOJ84PueHeOLw#aFT3qlsUL=PBrX3Tpe*I;|7@TvXmywjY9spKEirXqD;?rctpXL|m zzl2Kw;6LD*(q8Q`u;|}BT#$^6(lUm4rKRZa-av44G$CqaNx z*1sYC-_M^vU-;ankb1<7&c0dOU1b^NR-TE+HrdW@&#cZ^*V!^)C!nu?)->{iUlwQF zi{CiBcD*(Kky2M%22KYTny&A(MwjAm6Na9oW~K3`h`TLg+cz!4rNNFr4Ni%fIOWs6 z4|^w%rN!&o&X(ae2y^7K!XWZ`v~QW^t-?XRipmP53<~Pjf3z#jnT_9ltd=hcIeK6r zPJcz0MV+*a+m6_*Wt-e*=x|g1y`3k9Q*piC*%rlX_`5Io!D2dcM|J2MY%5D@!%OhX zEe-7CHn}7;U@PKFgY18@KoWimPqNab1*rJW=TdQ|mTm%|Lxll;X@RM%;aPP#O+}ES zHHfH}OB367BJnN}0%asb3_tC2$m}UMWthHNQ$oT;b3feJcw|RspwRzpsdl+valr>? zJibe~o&Mq(DTszzuNoksHhMoDc|N+evyi>HT^<=)okULc3IZ>0p4PI-hY0;dXWQ_u zoeS>~x*zi2XE@IQOUkQf&9dd}TC?QaUMjVFk315xUWm0u<=EP{cV-1Qmu4L``H%gw zIREcwFho7)n!Irn&LEG(os(s*ws6B}|BkKRAtx0T`5(dz(Sx8mnEYt!EaGS3_E%^v zYZr>BAY4T7UHEdT2gQUu?2uFNzB{u+?&mEoI7xR2;EbYr3YYcWDVLJfm|J$@{=pI! z+9}^=Dq?4L%IU**ja1vF_2`S8J4TLdq<>#JyM3s+jn0VtPuoMCk8n#TzIrXh*0u|8 z&@sE@J~o1HWb=06E7oe(v`Ze6(Az4Gms!8uvI<=-%KGK+e#DONlACdAU@DWV%rov{ zzhs!aU1VpOoMxUen7Mb$^$_Ro-9RkzqusKHcjKIX5qopDJiQO4f%_e&OIg$tTgvv9 znQ&->hKs9a)ND#JCpakb;)6saz?bX&h;CfzZf5T-TR~H?DtDh zC6zNEZ0tkw9aJJ~9+I<=(%y&U%8)ufI7JKfw5vVbneBLg2XBWMF?d&?Y~f{1%}MR> zNA*J=jT?=_`LISK$JuqZ1Eu}TOzl#CdxvHcrnmsp=Qclv3CDBlX=}%ks3JgUicBY}gOZJ+J zqEh(FehoAAu}@~fK6v%6sdSHEWnVb^n>MqV%WQ+8QyFD5nb@OWIER?LY-XibJt4A> znI44IM>^tRK5kpVGvXJwu`eCwY`}j~HncImAN=KF#LcAD340xnS!LFBy{942uRg z+!V8dheLDS5I&EcdfKk=jVX=gXClg69wlD-jUmd1>=Z7%NFmgHoTZoK$LpEgTDU1mnsd+@ zhhGRc6*!$~_{0h$GQ@z-W$?(v%3

    c2y?Aqhkwm@EM6%vbcMIv_`nqC<7(!@@_v5 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 delta 296170 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

    ~JjX(WsCgIehuF~KOyi;6>TQ5DFU+mx zSQ~!LiFmzJ1}%O{>sfuYF3fA$9to*eGK@rKE#C< zwPjG8U+rMe?%qiLPYOQ`%RRAW@YP0VQ^sO@Zi4XpBrFC}K=BD31nYYFmL0K!HVwG^ zp_1W*J@Eo5A1tjGQo#ZdQOWv`oU#n!@6FP%QI?%&nl0PSZ`At@rbtoAdb{Cb^C{ni zT8Jj90~G|Tg9F#pMS8=$t1+R?OAp(=-rN2;PC4qE*R8w!H+pi}I<76{^(YwBjc}`( z>tS2n)>^7gO^&>%+Ipnf{QZ(o?7rhVU%T{8y3W@seLrz%)j=dI(tEulm~dEt@O8dD zrSGS@)&M3f)4+tqrly05ywkhyhI!9m8cKljb-p(Eru{F^5i)WIGcsLxTFa;&*pPJ5 zW_8L7l^*+xl97V95VpfqaDf2&FInDLA;XPC^=NL(i)?pT7vFfhcgy}s`}xg((J;U} zR4R$sVXpC`hOnk|uT?6Qu+PN?Q@i7%=I|YkR;SHVF~1_#YjwV<_5Ra<_TKLs-)OdW zdb{})J-bHhdV{j}`8v${L@sq`m%J2!^jC>I*$(iqqM!W4!N!d3Cr|0thRyy(82wcR zMt9a~AE-`l;epo9EuSh?YrCM%dQI926ZCF+CsIrBtzD;WQ8AQ{$%)FPmM`%ks9djQ zT8^o7`8A_G)vecVq!qtd-C;Kg!9X%KIw6EQ&1xeX-iuAAbP z6_1qseyry6KdT+KVCu7f6NH8b>Elh>4QW#iv)AuH+!&nb^#Kn!9>*H#NQs_UjoAl+ zJ<71~K%hCy-3uIFU-8Xm4F*01&iHZsiNQpsJ67q8$Kl7S2{S_QjS^1~;f2a6i5CmJ zkK)7*BV4uk%lr(12NNvBk0r!w%m{7a$3yVQC^J6S1th}CB8g`T{3d0m#E~y%5@VE9 zjK)kq5PqA$k-u4j5@nf;kS7QXR1QddkiZ8k-vSRfX1E>xFhR3~LzD^E;X{?J*WtsJ z(-QY0O^kB0k`3vNngawg4tR`GrokiN5La2n5dh5+j`c-9uMITlu35M|spdXCa!u{$ z(e%n2T9~itMMy7wD|TwX+E_TuuhhVF1s^qGVV`NSh5clP5QuRNSWqf1I71Fk0aw?> zFI5yb{EeZeppU0_BN#_|Ay*!3^3CblrJxsZ1FPnYSz^KmYTXP$hzps51YA>0h$Uz| zujI7GXi0d?HNutbkBlB;h}>2Jaz?chaz;i8R~jG+mcnqH&^o~x>03?0oB&Ng)PyKG z5^&XX#)vBjaLqG;nGC^L6+=uQAC~@4GQ>o39YahYw=u-T@i0Ts5fel(c#d&QB)<`7 zq~YO*2Q%=Kg!~>EXVJO^xu$ahR9O~7l)Rh7dosMu+z;UR#lRWz43}%r!QoTPSH?3` zftLs2+@H8goeU9yT?z>DyJbR_{|hc^>Mr?8Pylu*sFpZDu4++(1LPjSEO}~tww&st zMwW5ByYc=-m7yxOum|dShYWZXkQvw~p&)pVToP5tx%*tC;rPf z0><%*iW$z6Z3nLgJn*ZjHVq4P zmvDoGe_{x_#{iig*C;P0xTY;LBz_<2UsPp@tg`#%JAOcRqmhUWmon!X0j>$lbhD(E z2NlHzoYh#EFg}%S-7-)EnH&x}f&t_sY6`C=iT$gQz|9Y+`W%KuW@9oQmV~jK5ezPs zcv%QO^%@>p5J3+G5w8FY^ke#<6JUfHzJdQ?HgL^npe)~v}tOj#6COY zqDRN!gUn&H+(|*tgSXM{&?$TU%&XKKH;!G7ClMgN$AR%GG!~%w7QHQ;cTX zj(-Chhl<2|Md&?@P6C=G&_j&!iL~_sjr=>%FG^f7rBBWQ3cIRK{@+ zp1~w`05_M~9ed$1n8cMV`Tmi#FHPP`pG8P0Y+5k=GqqLc*X@&LKsiHL>lV9YC! zUCcUXkM24sh#EfOZ44a%$zX;?0GHdFui+8@+bVEUwmDdG1r81(@iQU?lc)urKx2wv zu>?=}-$r3&_BDQo1W_1*uS+n6KM4xr!1F)^1(VnmL}F+ViDyGd9K1&2nGg~?gGdYy zBJp_$iGP3u&T;dx>rX;R90Uop1<{r;p=ztmUUD`bXpVe*!o1_GC?7!}*j5+kK%!KV zz?7wp#Qgyh7I?x{8N&2R|3!iH(myZfT3uqM(w6?aKzfl{QEI?~O_ZYOn*a$J)DI-k z=tLnW{= z3Q5$-kF_D{Oxn6B$~3t?0Oezo>&K|X2upQYt!Ae(SB4QvA9}PkGS&4cyaSHMj+OLQ zV|XgXg<IR;ag zfC{{cJC#cq_XCcpbV8TlE?$FQ4E{YrFa9SYHJ?uw1RO`}5*EPB*4-aCC)2=n3?`ek zboD7)YI##gG)=ocS+@{;dI)}Z2);1{zf7Oyg{S6E;|?nwbGHRJbCZc59}Lyd^aGB= zZ}jattqrkI?d;f|RFMhegQG9&Iynz%PG8O!TBJsW&03brgQ!LaxthQ93=Yy(0Q;syn8TrxiMXJ>3Adh6QyNoU}#?jqNgm@eu$%KsKZR<;lH zXMEpRD~yFWkH6=!L~I)QpTu z|Dh!JPq?dzQ`Px1EieYOSj}}bHuy`^bM`A&?U18uiIJI>!u=omOD*pGZ(ews27j+* zwEMhr)RiB~xeR&f5dX>Ypft4fd#z)~hBVwH^{rybs9ff6NIU8;EeI6UcJ*`m%lBGW zr?%JQ;q-^jYhqNT^WSUfm@kI=u|ao&hWIgiJVAH+wRRmE@;?oO`JIyu{-bGJ%Nqt5 z4V)DBR?+i*Ewy_CSAM0-TeN@bw+c3o8}bjGFBDYGP2+}qj?O>(AY5}rU-`9-xjYQ= z!Ip?(>)OE0zWi4Cf*2J2e!hFG7Q))pVWqU|zgn8wKp*^9%Z@B9uwT8hAk90m{-l2d z*?-Wwpa~Z4jq}#}M;AQ3+b+Hf&-lj_JnA1!1Aowl<~nojUZc^53g=U+YKHCVrOH*< z+h&H8uCC8c_?z;T+%vdzwKMl@LtMHg%`{*1O>@@^-w(7eR=e7~ z%e}=d8)_gE&j|B-`r;kmYsxjz6z(@;n_HtfUL|9Biz+W7VhQMyMvJ$2s2Rta?vj_N zU3*IFXogL#7*YMruhtC%!Ww(a=)ENDIW%1gSx0_XmX3BX#!S*3{^k=4V_ek z!g9vNjakF8h7Ol8^4r9;TmF(cJad>*nH9!(|D<^w5jTH}_De_dq2PSqPg=bC6RrA5YgcWgw;WW{lK5S`9_em5SUJSG_ptwj z%VvJHGmiRC$Gnlwk*RlE||J{Wr>J?yGXES04K;r0IbL4ZP(*6+de^ zxu1)ktz__VYqKqdiMI4r^Wh3EusM0+PMt{k*^Z?D+ebWxFEh5OTjoWeqU?9jH{Q6;l=lxEo0zE(FF$wQ=D?+h*b0XN^Y~~R=JTpk%ci2l=yV5vXGf^? z@`Ttddf*qUhd${7<%BtR#2UE+#YB#IG2I}Azn1*n;;CbdViz05jBmr4AP}E(E+QiP zNg0Pf$T3(={6*s11nyAINZd^wRlQ3!+a3xy{`3t7&R#w76ZgJ^gug1onQs;g|5xH> zb`eT4c;h52b%C)XAWt)f z(OZtF)Bz96xlpEv9H;ytWD*oGpvpP%hy8<)@Ncd3eqK~UJ4oyho}}=V^8v?cCQ_&3 z$kdWY;LU|#2}}%xgY_ZN0*c7&9fP9&BIEPdjqNAp(&{REY=0(UMsX{Zm`5?rvYHsk zC!dqJ8J?-UFY)CfybEUF^NaOZ2yaZs%-t0-$66MG|1kuAF9c_0+kj(w(IJzsPQaN( zv+}aBiG-rC2fxA?C098rBdirT&T>%sozbbT$sv=jO|*J{Oky98h}BKGjNofE;ZfXj z@`Y6h>Y+ecDDhJweh+0e{n4hUmh20ev+*h};F!bjLhyLZ;W(Qm_`~Pv^GUtWo|=D0 z$kdL_`ve@5c`^ilflB(gQma1;@%}LckHxeo;FwJJ5PW0^K0gF!CB1;-^v_?9rz?l9 z_YnI-!3oaN$B#t7!WGvd95*8u1b{;%&acFU)49_n&T%-O(3@%2A)IT?Z0R>Bf0K9| z{9+(pX_0uH!22qFuiqtdDg)rb1d2t3n<#ptp0LKj9^`XW*vK-CZG zFk|t$J$}v4mvpLYuXpqfiP9fXZOjYpiq=cB?wK`r%DpodESxoO?seHun>TmnlzYk- z2LkCVt7 z2xpS;zyk!U+JTEhxBad<66&&VmT(07OaKJrgNqKK3i*c}vw;~Mih^j<`01t|> z(7b$$Z6}p6zDSnvUTG2NKFR1}d4B7DY4!>m5ZgHZ@1(_{C2Thb@1JkXc%K6vlA0~> zyTo`6ei#AR{FFFP2F{BZN88{FEi6k>Nvg1{GKN1dV3Cv_#$QaF|`5 zMs(EY&;NHo_+I_7vTzA4i)lM)(jqlA@>D&*2do9S~H~ z;zX-ck4QCJ{Sb1cLL*cjcoWG>Q;|Fq;oQoHP&tP;d;xR)%To1BoJAA&rXNP6$exI# zaU}dA>9fVKOLGUEIg9NBryG)>C6wmYyXgH8D@%|X@gyNd735oC%Mmvav9uw0srH#M(81eA=6)dG^u#nAk4aM+3Yed2$em??X7i7D>9E z*yr024vq&U$Gd6cpqusj0$gV4Orn}YuFveTdZ2pU)L3Tipu&VZXw!DcR3cAeQTut+%E6u`j+aV;5frL{uy*_V+kQnE_)_}5uNc6W~&&4S^6A_c>S{&kinp{t! zrrAVIFk_QIRWvwI#0b#F80%sMmksxCV5suj z8j|5k_qAep=-GQBJD@A_kiSQ0C4rF6(!&XU9 z@{uyR1%B*CQ~hhWjALPl_jtj#YrXXLn31uEBUHb(!W#{~Qu-b1Uda3+X;DO%wZwW!0_Op?3PhlaQIqk@!_*{JrBvLQt>it3m z2~gp33mJlMQl1_iX6e(L>i0kf@JtW=>ux-@RcA*uxLRwX^#&!|_(Z{pPDo5EYuwtP z!@Dbo%xif_z0y3Y<=6byW_q=!elO+q(x*qUR@p7gKAdwQJ=aUWYyo_-w|=MR1O#Q1 z8^}MjuaY~VG0m%s)0dEUW_=+K4~D%McGXqJqP4K^vOJW0gI;F2ltmBSpcffV%qQ3_ zo=b1spxqBZTTl$V|Y*!zUA*$Xmalq94yUkxbnw7r;p)gnR zIxA*p(UC$uml?fWs6SU7AkFfa76=EUam#x2@u%vnyQ1HUJ|6wn+Vf$`qxiW>%`=WR z@4ot4zsF-spZe|JtTlLYLa=Hz50_?WI1OptVQx8P?YB#bV02x}Ayabn-)25&S_$@T zxzE+10M$4u+oMqvLZroe7K4t3Cpti%A5zyo~zdst6gkLV)1!bE$|0Tfj zoOe#yroHF|!quyCuG%?+Zsyi)NZu%4Z^QRelgFL@H z2Y)^U4>FdWc8UtOCeX@Gc4uUn+Z=Z}(`;(Yu)&HTlF6GqY?(IRK6+*va!gr|8k?D1b&|&P6BEq}!vMIKEE*oUV6P zONF{H#mx|$b((=_<4mvV>@}Jeu~!*w2C%Qi*CxrNdzwSX(^nk2lhO*IagjF@Uhh#! zmfj`Orr{HX*!&IZPD_7^N#=__R?zC1dWL;@nxcG4_4s7lyBFl=7f|C&{nJR^?Pd9P z(#UoGWwie;y-(gPu>H_d!d>wXD~8oOzPm+H)42P(I|lq&#>^cVNB&bP^j}a*9cSsc z$MfLA+a*!Q^2oTf*Zkx2q!c{sd}Geai%)E9Kk7Tzf?a;6d*T78 z9^yiPUH%wz&m`+3Tp$qR$yqt^K(=?|ZZjQkGQ11_D5u>VHJ{1#+A(H2u-n2+C|R#} zY4}TX7Rtiq;bOx3b*`g~;k9)&(D6(!P4L>&FvmSMTdzTb!RZs<(7Q2n!>cKuqbJ(j zSa|-XGIQI#^W>kSH(}|KcDt4U*R{zo1tC3FLVp{Tf4vg$@H+(oM_P439}1KuIaa+!TV@-=+?sqDS;p9b|fnWWK47=rhA`_T=pq z`Y32WwR-|!EzM$Zj`jo4z9+Ez61P$xgd6uJtc3pwdJ%wjF4VMjtMpQgq(fI>Y&vd^ zA-t-@=>F^~j3IS&guybp06?B1+>^J7j%3&~>?=E9Zb!=RG3GN__f1~pVti_vzgoi1nDI-~cm2DGJ zoS3mFS!WwgVds!Xf{=4R)&GA7e?Y*q_o=$P^hmFDyCTL@9snaS0Cw}Z1a9+I)@LJB zu#({jn#(!mMJ3Tf?VOph4yS*RS|V6$qxdlhh;{I4>c`zD)J`!Xb)jo&goGaP2s zB)&w%PgEWj!#T?U;g}##2m+3AzNaqW7%#yTAmA9U48hr431`SFV!of`Tu693e69md z&=WX)a?oL@Lw!dM=+nf}oP5goM^qQzs6+ZToO?N~j4=&zMBqHC zWCEr@uA^}{hA1wv(GjhXp<5p0;dnIp4L#K*CZ6!-xsZWmrM^{f=pWcI%b0vj&!x2w z;MQ)Ccy+h3Udcct2Q&pM-(6 zJiM=FTI$#1t@*uh5!dd>uJrk3YiMA-~PtVPx!}U3jK-ALz5J{$IoXA9IJfRuA3yZ>*=qMM5bb;OVc)ap}}AF~&)G zw`*=On}Fq(z{Dbt@}sd|J{p_xG~zWQxjXlWm4ZY5lPS6u27Bp}MQcTS3E=egvp6Wx z4QRR&Ccbf~Rizj|z8`2NV8C(n<$lEB{LEYGFH4+PLEQZ>0|uOkgUB48TPbg$v;F*l zL{0+G6=1rL{0&%#XL!nO4F}Iv!lq^(pz%d;bzXlxRSTKqBCSP&N z;gIlu%kXr><<0eQIgFY4B|>XWdT`U=-St^C|0X^59%i4r5bvbFETfDNc(T}_=Wu=j zJTJ52fpL$(-AYf1vka4`IWr|*EAUKZ8z+>G%W#V3PqQUc$LFDxQ2lJIPHwAuqc8iU z{*Hyley$hz#-Gv$tF&phqbuF`c2pt;wa!S!gFvB#JTv6MfGMY-tW1`T3}i9hN$Lav z;c8$b0#WRrE2k{jnd5Z4QO4E6bdgj^$usvFQqoK2p!|RYJPL9`u~u0R$+~@QV+vI^{h?7M3?}0h{Iy4^B zD1Ju+O-)BgF@Ef-0{r5+JvA0V6n~lO+1me4@3K`Z1iKN$W#z8UuaSA0FI#MY85ppH z=)dDVA=I}8@sa}Ta&}bJK1&i+Wnxji6M-xXW!l)_nF=vYCCX@CIZPEpk^Rx2?9&k~ zkbP%7aEAzFe~engakzr#0KtVjhvZD1f0;qaXUpWWnITIa&|M4RjRI66rf~O*v0bl& zUk!fQw0d1+s@;Qe{ToV~3uT-LEH56Rr2}K)Yy~h$OZo8_*#B_Uk`pVMU(m>&h7#U) zUjG?#&qWvXzI6P8?(WK&XnS2^37V9p!3?c-XwZzA<%{N24VrgP`K-ChsLC00$5kwt zQ9k{*R*6HY=6&mp^!X}_lb*YbW_0{Zy&oM;j)Qdw9`2WX3^k(B7xe_SBtiKzs+L_i zelDeh@|ncB|G3b*Vo*Y^Qm!W+$Gj5f28m(I_xnp2Eu!*!FC00e>b`jk?jBiw&kQ=# z4d3anH8nn>*Fux!>%8OW15Le^r$~4aiUA3O=)E8*h7$~_0VsMmCLTE)581brRy)QjA2c`p`yQIfc?8z{f7$B&{p|+!A5wT7xZq?iSQd{*WRq9gZ zz|HE=9V1+K7)u?$h5=on2Nv+_NuxXJ38Lnl!8JE@?yM>r*-=jtL9Xj6TZFZ~0W&k* zK5*@hJdI{33Im31lt0nhVI5z*zW$1y8F>j|8W$8l2OV)^gmRCCiQ4lVcm;vn?Kn`Q z)tjR`tmC;@;Z;3Tk3cFxlxAGT2$T#|M5VnzBYOr=q{Q9Mf5z1#ncwMI`iQnvw|<9I zliJWf0*#yl6#qqjag_gGdo0aqbZF|FXI#;V?FOP526x#iM0Im)8nX)9sI|fZuGrt~ zx;BUqbH%Te3BL~#+;U}uR<;0%64$9hsCRwP%T#_OB9@$wS!}MMGR%Xd?Dm`1b8mq+ z{#Tlwupw?*&vk-&F@C93zQUerAC1f(H*K740uNJpa+g4(_UK*7Q)9XH`sGrQ&)fki z=mFyyRgv9%pZ=gf7jpBXG!(>|`@SE3(p$o;1-(4N#I&!S-FVFsM9~=^J%@^$ZMb## z4d@RZh>xD?JE|FT!>t9q3t3jz)!OF%=P0^M%Jo??o&POZ7-(+O4S=VBS#yU&U*s+GA&0HBxBj`U##!Pjb@8)*K zyQ-SyYuCZp5nPNdYV0JcnQKjNFz}+8-sCY_S+GO~;LFJssJg zr&j+LgE+swN%+OEB{sBA#zzahi!vE_z;UwsWcWxt$0*s#9*K_^c<%q0l>JVIdqj9w zB@ge5>2DKw_pwSjHzMgcgXJOko7W}CSH6|_cEn{_e+Jqw6C5D$UdmjZp0kAKQ?ahv zd|#v+y2Ct;h0|Gylru;TrL z-0B232(!2-kKs*H-ZM;2bxP#IZlF9eGgwY>yz;Eh5UD0TToG4t@?j!o+;TIopdajN z^uv9K=2;n3xEPKB#c(}H4!^+hs2F3-b5@ocuf-F?G{TEH{5E+GtFyeT3UDR+-;Sjb zAg2>c%K$wbWw{gn)vPsqFGqyOV+^q+f}vmFqR8+sWPFUYT?HI@2_^js8SeoJMS8S^ zO^k!?TEG+((8)M57T=kPa&3zO74Zj=&pEM6xr5&SQky}CH^VT}ja?$bsJI|Jn(89d z_P&YTjs9WkC3?2EF$!zg3jmh5Br3YW7->mPq7@ADlIRmaEK0Kr5o-?J&)`*ho54|P z*9YJP&0=tg_A|Ib*hCyf2m8VZd|8o^iQdvW(E*WLkr9n6XIPB3tH{WJl&rDH=mLuW zWpJ9(`U0$_p$yLBs0Y9{dKQ3czrlL>XkU=pNf+3EIl1})yh?o-G*LN&6ZAL(C)G1J zO&>FWa!r4uizT8x<@7f?Lqa`<(Vj3!4Ajm;?EpH`1a6km+Xzu%ot(ioYIh?5Zs}lf zm$_-Y1+fo90MZZD+L`L({eC|t0x3r%3J zHq<<=-zy{I;gWAE7fvfL{>B=c@rau7!o6;5{XKr> zmOyEJ4{ti3;#bG|ZQ%p(d!l;4e;YGagzxXMBIDs{v%>c;oHeaH<00S=W!yUraN$GK z?tKAp&qFWV>pzsXf9d0{nl~PAUsE|mUE!)3u;RbXVS8h}o^&kh-NhA#H?q|swm7VH z&>{J;a_?gm%j@jkIB&|H$krIEZ3oNzj121<`%9KJ_Kf!~^il?5>%y&M*j_YsCEWFi z=3Ek6BReV%`JJAOr7&@6vAwvxf)jt!oan|@*+Ap1YSv7tt!waWTa-@kUC?jEjxsb< zk}>$_jXnUC3#H}Rn#k4!t6k*kM6Qvo9z6}YDvuoUC%E79Yqi)Dd2zH5it>KR{f(xc z$RQXYa+gg!@IuWYf05^36%!Af#Zx~R^2=CS2d3gYM(wU@f1XFl8PcGpSyrd5aP|e+ zw2iw}Y_ga{w0gUDOp~oO(`svt(Gj{v-=V+)pjpnutZqPs{Q;S&8KLO4d~vu}tjr9dv72N+P`_ z6`Sf(p)>Q|1#7+y&C$7i7s{R>>T7eHzu2SZstsum_SxgEP_CXWHeQUNY_HKDJEeDd zjqZjg1Fyn!zW#;BX^YoLu>9+B+UGTHOJe^_&m$GAX%f3X(H#z1^dpbI^*D7NVpQeE zd(|DVtJ}kd7a1YG;#vE1;ipP@wjIJ@&)!GtI(j{Hc8Jj5 zjoU>VL=B<)kZmXimFbi{)aU^)d8mu2Ugtob>UMP}zk}%Gj@DAUd5%HJ;FAmVy9u4&>)npa_UdQGH zuacfqmg*fodriWC2ye!xvBTp^?LsV`Rn}6UhB9>+W)$jVJeZte%iH$u^ zI%A%_t6(`xg(1f{!JN7=x6HCJqbw3^eZQAY;fJBN$|`1gJBn~iH={xS*xD_up}Zoj zwNSaXW1wtQa<4R~8`5A6bN!I7n=x*pJ_?y6@oz6aO@gxM+5H3CEe^# za`*5C3~0vCt;3D%K2L!or4@T6B7w3gZok{hLi{wCDdR+k{D$YH0aqH#@XN>v4Q$k! zx;XmFaHB)@S~L^2$1?oo$kS$92c0dOwp_`*vC(Gk5@g+rolK`w$^Nc^jar)RR>}IB zebFnY)ojN8=URWZ`wRb-EmllF)tpuEvAxa;Z~T<8xYw}u&@l^ZwdoTNaJS=@%(>w$ zR%Z=qh`^RAqdW|ZZZLaazb3Za>GU)-7kEpckEO2R7@TeT;`HHT{poIXV}U=`v&$b< z$D6WNjA4N`tM*c|K5ficj7;4ZcW)T**(sPpwTADqwYno%Cki^#(4m?(I36ld)fp?< zoauxabbNXI)UHY;>vM*SJQynbS{Mp*uO3MYqt_kmPaL`xBld+mDfBP*i3 z%b_9d@_ty4!Cnc2#j^eTU-j52!cBG_I@m=b$I+jd7(GQ3s{< zk(t&eF6*V{uuQj?8*$50%S+0d0p6&M0bMmdWz^DW+01P!+pBWh{8h#LJ6me5{R_;= zUH4H>RXks}6kUuJ2qV%rcx~JJqR57L0ZK;odl$lb@Q{FJ;*7|!$#IG^C~kQgBd_7X z`*lVjj^TM%S6X)09QpQ5huUIMqXrhYyo4A|r!aOZY71SX3`^;jtu-;C^=$T+I+yzu z=iNMVqlI|tk>5a1MhCy@$PDr312OgmsffI_Wdt+P`cSZ;ZfLZ@lm1y_K|~$edG3vP@vCE z_;j`DI{-R^y=F2S3MLl}?Oo0V-93F0=!Lp=tWOtZY0AzJ`v5a#|-yd-lR2>ex5 z)j~z%jGjU3Z`j!zPU3vV$j>3zojt}DWA1ilQvJUzedzK!EuE!sDU@@&_B2HtkIhtZ z2)a$t(PJt)K5#rXfsd#CV(mjaQmviUp0pLu+8`m=m;~*|SHjwhJ(^lN^hy{mg}o!% zW;v|V`vHHPG5r;ZUw#(W6>xUwS8Vl;uM2bL+XCDRI7!gE<~1b*FN64K>1#2;x?5A} zrU}Lrbs9ZC!Dy$O3-d_aJaMD}*9-9)j`vsI!iqmUw7e{ z?p-J^r>n(}cT;u-m7l{cSce20=3-hGL2nDKcn$%j(L zIu!b`TTI95qX-B%P8hhilZBYPEmIt3Cd48Wc&4%hc))S|mt;6g;$pDl!Zv-FG3Fl| zQ_4+PL^19Wc#bj^c)%fjweq-(z{~Y?2u#j~BnaG(lZo&ch!5N>X_Jl_C=bEcN=b&v zzzF3di5DU+TXPI!`G9mzUTF2X&I6lgz?tKo__2M*OsmNW>q>SI57l&Bn1C!2>x>jo)R6PX39cFNStZA&=VF(oZmcp_?^mncrZt1qxULj z$#tg@%Nj?@QNd)XGKUjOCkh>ce+Hc655f<+%1X4$#2*&;NW}v@;5g|x8P2Ud9cJ2= zOFR#F3{?Csx^QHH33d}6w<%*F{lA8fS9VCew+O#OamL~Sj>jDrHUNvS!^@S*>+mvV zlf*?OC{ui2Pcf#d+AYJ!7EBr2a|)H0$Hvp)=W#zz_s4Jro{^v$IQU}dzK!JuZjAQM znoAd_8H*hE%(w@-kQ9-t_9uG+ge-HH8U+-6ml5Wxn_(<)(BXeX$5ZDy#xpdpC|sv4 zWNSwkIzTRXsGXWhbC24iX_Yr3lSVHz!fDt&#;o@F`9q)~T0Upa)beR}558si$gxvy zxOv9Hh2?kAg?o&_kt4_EPw6ve(ToN6kGsE;8r!SM6g}5~pnJJt&`Xbj$GLNjUMkBW zyOFb6?@3bzg*&M1h}}g~F54V*Y?iY-U7Um1&8v(gTGBxsOA9VrV!}obpEkB|%4k}h zgd-D8Z`wV~X)>)`ZnzSH@|-dFmK)|(4PLNd-U4cU6SvR9st4#!*0 z;h>N21XLP95Hy4oRB(&{9!^;)lR0Ez08LWzD+*M-VC4R53=0MxFxybd5=rNwYw@c^0&pR!Es|T6!B40f}xeT(3aB!^2o{1 z&2SY8#&9@F&T6Q$JcW#0}|x5%Lhd^M%j8fWz-xn}Loq{!6<415CRmobwjug3PlBvaWUZ=wyi$_HX1 zIFjn$$4>PY-i==Sf`jdjzn5n3(s3Lbo{sQh{Mc;@O5>#d`C12Tbn>|op~EryahU1c zhA7rdPFtY&?cDe2eaPS=PTC;GO z{h&`gBF`L%nR6b`0_nzur0d3;Mv47L!#kMsB}gvb29hQRCEpN|dv-v41+egE>19lsqda`I3<2$ADwCk7K3%S<5Jx#A%QS)DI6(U|3Y?iyz?T}m}x?XGaJRS#f4MURPw=xd6sT0-TipOBa z^MXitf=CPtA+a2Ifp}H@y&)tKd%_d@za5f%Es_TsaPOexs$791x^Ufq%~o#ojwameh|ss zNH!Bc%o)r=(AMJUShay#&)F0Er=XgGc|IMKVR0Y@;9$fHuJ{(@Bwv3?2#HG|5or1Y zf=Da~A(06jI&)A%>pwSygbj_i21%LkK|v&ZAtY9U^|fYK*b_ox8Ax#ZWfI;X5^RMy zxFBu=D_)Ze4MD+m@hV7END`$%B+5caoC^n+)OvqhTyhA7PAa%w#W5Dy$jZ5$hM$Fx4|#K`WnOwe&s2VOhK^z zR0xSzgGh`IA`xnrcmzn8w?p+0wM%?7h{PR1BxZtd<^tbZ;g*4f(`>s_5fogI6CmM6 zByPJrjSdv#8A(FEL}e{V*u+V=_`@MV>qQWkG5%^u&?W>~MDgRZ@yI*{2tIc$s5~TS z%eA0qLxTPQJYKL7^SKP-p2yA?NxwX9NpP`13Pul=BArnS#=?e`f!}#gFV)+=tHlANjd!_^DxD&mi8}zyW|pwb%CDDlV(}tnqSlnER_{!~2Wa z9r2BR(RfG=Pw|E?=S@!7TcnS7819>IwE5M(uk9}G*2A0idNFn>tWb2dT9k}5?5LYW z&o|;udUxEQ-R;-y4)cE6tacmK(#@Jt*%60^p`q$2tF*e4UeB#L(d;XI$>?mMQ@e~O zeKju|MYiNZm~SnvU^=+jNWkp_dLo^Q8$x|M_ZT_BXZWsdZip+}al$a2TBhS*>72br zdvzi`b=i?do(1+|O1@pI6x$QyXzA@*U-6hl^}Nk7DJRO!w+*>z#4k7vINPZe&_O2_ z9;cm}n{O9Np})O?70HVCVhi|+AtzmWFBWR)`7S3p_F-MK;#X@7?`1@}AngcpR@fr^ z^FHInYVJ5O7>5p_b#epcVUhP7u1K7}FTAIaiI&UZnF3ExZkISu*?CW4nZ&U^1>RoS z6KLtcd6aukhI5l)yj1#cG2LpU?AMBwSlCW-Ul!FvJ? zA?bgR;rub@J%K#*ZB9Q`;91IKfn&LBa+IU2=FTr2a~#lXU@+j)>#sSJa1_RmCKQapGY>qk&6(&AaMsF#214MsPQu;_C3}*6N z6D$+uHo}nK2wU9aSHu?h1~3lDt)7i#L@|zd+~ydvzfo+~c1np1A8fY4YL@!)TAy{U zMFQZwdSI!r$Qb@2;~`R>27CmE1Ls%5jASu{=Qu!1uaI=Z6~)crNatk;T+kgY(p8HD z=`uo*gveXS)0iM9bN~j9tfq`H8BPH;!MLoM6h!8g6UWDYaW)ruh&zl#O`+s&;B5I% zV}CG?eI@fDlLH_%zL(*6839d0)W|TCV9Fh46>^QaIUd3V17JiHU=sY`&th#4L*Se- zLs4T$SIGFCQkp#l@%jB5)1^QT90|^W&yoHQNVq~mt_fqNe23Gx1i&k#01)Z8m$6Af z@oErHFmRWQf48i9;F%l`ncOG{-XJ3YiUeNSsD?_RE=mqsLZB}aq9me33n*nxxYt*C z9B1IUn?%znUxbT*Yus0|+EAU!o{n(S;a8j@RQDCWZ&Zp-l;Cs!!zi+%i%dLelmL|Y zpiFk~q>*O!nqAa1I^4eQBO^;Z(5#Pe^1mRTmj2x~(T01-Nryg$xUHfMJ>raoqIElby*-~8nR;bgvdNzyUQHXi>l1WSTX(*KsLHodO$NcaV#<)J{x+4X!!_i~2y+B-*+? zt^<_K&osf7%8BhzhI01MG*Nx+siX`^FH_@>FyB>G2JMNm9-1v)R36eM;}_tpJ>|a` z9;=p$iEy6;e3pY5Iu(>79@|od%HXEb)>|VIJBG^O&IcuT(`V=O4)*mZ@)BCQQ;$my z$;%%U8F%dVgN3m;M3H)OYx_kzBehhswciO=GHL&-(D|E#D5eFqXVynLySfo0P(_`C z7`_qZ4SoUJk!-3cGp+51w%`d$mlc!_x^Z?pU&6!EEp-ts?WM))fedo!(1pkj_CnB} zN%h2{Ei)1O9AcZMg!<19iM<}Nxp>SP53GnOn*5&;FSvS&fIn$Ai5Egh91bd7 z&ma;XhLAW$IAdEe?kzjwgGan`&yk14I(q6S)%p zd=hO60(w#XB}cLi6RD+CKO5F#TlQI;b}da&1~MLR?a?d$H%&OUEVJM~hJ9Ze1(qJY zsq!&PHpO2wGF)1|WtgS(@!gOvyv`YqppuI)zBYnBzG%Dz@aQFDscU_`hV!AOC}U|x z?l72u{0jSk|E4})8Ra-cv+*kfR`zB3BVQR01qpJX>{to2MCCtObHxo&bpEnY292f0 ze_J}x^skL97${oxwUOxB7$`R&SLh+?dW$Ww9ZzawFj832n(<$*!!=k3-aI)f71M;) zeXwcrjtt!?VjBu>^*II`HRq2;Imc|kE8vv;S%|@0^P9jc0nQnvpwc;Xz5$%YR&BTxGQryn%N;;1AN7H75tJN4!DVHK5sn55@4Q)oL zTvT)!3a9SBhTDAGTaA@4-cT5>`6|CP##*W)klccI%w#M$(}XcVNpZ;uJm$O};07SK zW+M?zlOg)x9ER=8>s2|OnD8TB3j23}ss}^RDPsu#1q?A~s*$jkVLL1{Ht|D8sb~m7 zh^rW>a_xjS0^S4xemRC)uDKAYH{-})1jBTh5i(fJcm}R;WC#Y2Gt5+!6AY2hX+SP; z6T?{A{hhIq`t*v9qDy|9XnMKTaQhzp-e|T^=FL#9tNFojMxH}I{%cBVlHqlZBRrDf*_jy*? zMg58D$Kmtt{0W&XL)R;lnMBjg$0Cz$Xgo8`!KDl_sQB(EjTZj|El=FV$3|u9;0q-> zHY%fUv7&B~Ai>l*c4Ity!!$f#!z(^OV@BIyc%a7(JxJ{p+trfao0|R|o?U@V;o8KT z8CbA!L&G!#i7JP9_6|-tnyk3P7eha;@29)<+=x?_iw|3@7YA53?EW=J{n+959CG>9 zn^ZUSOtQXju=~~Se;lAKwl;KwzJi+H1mCY3E|U6-@gn`_7voG&e{J~Hc!2eiV{i=G z;lQxN&Pw@@+Y;%@ILHOI4UWr11-9O%O{7WVwWR7{h!BGXz(7FelUp12*rgKB61b)u zk~rQw!vEJmOf(X6dTwlNAjZRpblek$%W$+Oghwm0&2SoPjdfLXmtgtf9vR6b5~nm? zmncE`O5$joh@GT3@OlD{GwBMP>GCtn6TKnfH_Pw>5uU6pHpA%!OZafwG60r^50@D> zU!pbqMwO;agbHe2cN_(2>4uT&avz-X?r#tOUA0NyK#S)l%usYybY(YiKJUz*KJF<( zJc7cYy@)Ox=+eR;U7E|uT{)d0(&qv4=kmJrsIlwPw}Xcu;5Nq=?y3UMq;B&ZlPUE( zoGtv-fuoI|Tf&{buN~o&RQtT?s)cvp(!d75mhfcyNy8EhXdJz~B|MJN@5PZ5 zoJ>)_)?Oh`9wx@4S3p4A^B0(kT6UY=sji@Fcu~>HV?2R(N4RdzotyZph zuqDPk9#MJhv&)ypmCmjKKWuKTu*ABC${;Q;yVEp(ES4U8-%s#YdPETAaN7C-tfVOB z`tww`2xmMCE&~~3Bg32`(3v~gJo`AG;Z6So#mprq50r=CwwMul!@!k)t55Lawm6k#!HOqcV%d$5(3zJ?~-Owt=Pr=V! z|47RC0pm-G)yg3n@Ji?nCqVOMeSMc~*T+n~rv8QH6QLQE)#IfB#+XL;^5O%BzkSrn zL7qyGfX>NJ%?|eu%?qJ)7>|u7-t}Q~$Q+{rN}W5XA#x6zQe@YIA+U%qV__~qMH>(dhtWDR3Ot4i8vFD;G> zU)=e*=4}@>Tj~$XejMc8*=$XV_CDKesg;F$_Is(4N6z^01~D-E_ipwl7pJ0vpgQS^ z_paRI%C$BW<;FEA?)FV;Ub{w9#mnxktuMmcbhPFPH9wnF?{Ry>5G$%J*7p5YxBpO) zh^M4s2d@|v{yO8CXjTE-m3yk8s5Gs5wf@@|uAaxD~2pSvr$tR_&V3E+U)5mxE;waftmKw8DBbRC zi1ON+7`v_E&U&SDuTrx)*6iQk>WZ%J(XhX@C_1TOU#l8j+GsWn8&uK;Hd;FkYqGa$ zM&Ok+Hw2#k)oAPFYRdM8p*-A_V9UHg%Sc-}TQ;rDP?D?3J=tjKG;&W*>6h7*wo=Oo z#5m-)IO9s85ICA=_8{=j2KI8Ym-Kn9;dpb3cTaQA|3lilz*SXj@#A}+2OQ4X2Mz}i z1cAdtJjlZXqJpmggzY{hB|3!MIzTH9aR(#ebRtkqx?bbF69wFX_|)n%|}VoG!ZeyyaVib!<(on z@LK%!Z+QK~{1f~__mgAPvhTV(Vw|}rG-b~2EhVgHv?C#OU+e9i8lF^>huMwMjy~OA zZ?gEmY%T1J`mr@U`4md6f;|)M7*XRLFJ<5wO3|XzmaQyo`}mH^%iQ{~l#k8!R~^WX z6^&7DrVqO|(NQ~K(_ZZzlK1;&YjGk}0$nl{L;cUSZTUf8Q^gdh+QiS)JKHDOt#yH$ zLeSH8_yRUlluhdp%dvrZ(sM_oD~pH<4hhBg=P?W+a{W;UC9Yw)ts@&uy!c?=%WT?&HRmP= z)H|(PCi+MERYUktPxj8m=ks1ZDeaynbldtj+EYV@Hs`HVo9&`v>9M~4f&MIBVjEgX z1gqcEFt50PhgfM$rTkm`b3~BjeYJ^{6?^#_TW=L%7;GBUFe$mG|1YiTK zZW-wxud<7?9h8%|wgzk+^@f~e+B7r&(>)kn_v%G%g1UYVjk!E@px?2RE4bGB4>U;W z)0>H97IM-TIm&A`rKtI+_Xo9Dyk9iM?oW!tn=0w^RypZZ>)ieM{sgYp+G9Ud#+$bL zLtCT_Dh1%AkYNH!#Pry;@~ZVq8D}x-NFlanUon-&_PyI`keEDZJ^oU%pEj&VZ*;b& zn&hOw1T}fE^bJf)K(WfWN3yp`4XyRp<3-fl6+bdCNgiZv9@l2FIa_-A<&?v%?he_p zyzo+UH*sSD687$B^7~oqehhY(nnTmt!OfIq0>7!fO`6g=p#(iVAEfkDQPdD#c zv#rDFoAA2a_mMq&F1!^o?)+PU1s}>7L7YA_ZY6TWTxZ!C0Ih8*9aX_T&u{iy1Pe7p zhRQ$1SL|2ezjasP*Y=qG0W2oo(H+zIe({c^n(78cG@?>52a(a3BsK^-;p$saefe`O z@&fS0%?Fe_vTF=gwE(G?ie>TJ_N!KjRahb&+C;7YUu>1BHbFaDEs1g4psQQ!H>W?c z)ol20MCN<|5TV09vo#DJxB=2Qd?+D%*C7^GbzkMie9VIZ|r-HuVG}|X-jqD8wPbkKa4kv6 zyPr)@aCFBiPTh(jLk6iuuoEX)Rmevc6IgnS(ptOXh!D&A>ztWSBflagaUn zgkJClvjw>1!*tZd9_i)CMC4%#eUpWH9chiDy^dT{kPqcfJ8mYnEh;2FD-UZ78A0m4 zK$tW|z_g&FBSa4icp!%(uz#0z!4g^1pM#N-1M3gX5y>dP#BMPjGUL3`5KrfGG)MTK z8ej+Cr%^E|K0|yyiUw0R>^4qS<9l-qLRexT_>%!X!ZzL<5|*KI6gvl4T9S;k`gcpQ zQm(et1WYVvvGTFz$nH<^=y-{)bkZC}H?squ+9JD;<`O0F&1HS`TxKnB#>;!ygWrV4 zv#P0fTO~0d+ipHu7Yaw5rT`{E=<|bH>M7A@4b4&f?;>8^BkCpfqy?~W6hGJi-^6~K zYKt#;3BklR84sC=d*6U&#SRC>ujBD)QaNDF5!>zTKxS}cUOvxYhE%BTsBsL6zRLhV zZ-BpG)`dawS)_HWIU>6aFr|7Kk6Y>^J!yzbiv)B;7 zOT?3DY%)jpwIM#3wq}GQeuE6~>aK8&bf9a1bQLfOkdBA$kj)KI;am<6kjepTjuLo8 z#OLET9sByi5YKJg3If6(j6cM`1&exQV34$&LWQHBy9I*U9*d;z*do>(#pkk{`#9o5 zn+(BLXzYfB-J!>vjExdXinQ?P#Mvg=I1!FG?G^Dp{C4AVl#dMYKN#RdY;F@jRV8|u zw3Iau3XPXPU{`JljIZfOyKTY|_cFkQJsFQ1U;0)HIETX{r5y(Rk3>AR6E`-+e-W^s z!(*jh*t{lwYdKsh-AkLD8_QQa9@G*AS#x26!c4VyI?+g7l6d{%a9W!K9HL zj2%P5SK;fWTmdKYcs4N05gfkAKY!t!#Al<>c9maN>-8H`(E7T$bf{-eksg zw=7g#R-3@KAGX?9eQt0Fi|dE|!*7>{gtL+?d;m)6=jhix4_eT}v5k1!!ty&x7go;4 zm9TfweYuO-f~6tRn_LfA*gHAcR?N9%kFfCY@gIbYV285gA&n3Bb0nM0GbYSnu0{M2cv z9pM!soHL#!G5{ZGbCv2<0&hF{w+bEd+c5X*pn%)3w~7u#huVV4FB3cO80%@IiJK#K z=)sUWJ?Z~WA%C_o@(KLa1kV#00A4o1RU#fG@e;ukB`O4*@ z0Ko>8&BM9eE7XI{afpXRQXF7pfh$ViC-5F2|9)Z76GS{e58#|Lg#-Bm^1-(Sel`X0 z{Hy^)azBWsMgB}QCHT}NXzVB7Mua2T`H_zJni5f=8$^WyMiFvd{AI#N6oZpKl=@NUk{!9_3^xg@13)-N;hROp zJ*rM0s9t`ja4<}!{DIp*@*l%tM)FbcG(97{8_0hc86$tbs@F||1qgchusZO#sL1u| z=uZeaKp@{ui1@r7M?SKjN&b^+jZ!=hM?>&Y_*3FEC175|5O@!Tqk$bK|7nqd?chxU zJwrVJ&BYExUQ@_H4~hVsLjIpb&Ys1tKfw@W2Ki4Q0rFR(X^>xwkDKJ9DVR)ZcsTjb zq2|fI4QGJKM+>=|{6AxwC*XZF9NE!ij>4xL9TWb$!fz7(ap9jJzX)H81ni-lp<(wX zA61u2{&q1~Ai;$MLjc~EUJ&;?O^0e4g_oiHfy)t|7XdGkUoI|~Die(z{<{NK=CSX>M2AZb0_qf00?3#Y zx8vIA<0S&*1euiVyG850M_esEi%l8ph^}d(xCv@cw7)1xX9>Rh+5q!A!N?gG_GOe7 z35kKmPd?hm1oEl0$VVpcCchrDbn+n^uVxfwJ;5l-H{sKObcp;(Xv8^`02tg#{#;Sq zXdkFq2}a-4T%&>Vh6;v-6pkVvOFr67IQe_kmxakMULwOphsYL%Qve*o8!b8p_zfm_ z78-Fk`q3!H>V0Ai*)IfnT@bt}#>UsKy`?}Vnex>yW#sc(fKSzAf^QMN29uzse6{+> zPnG~D;720O z#Kk-}IfDN0Gp@*Mh-}CuyJ9LG#pF1c=ps@!wVxxEy*RZWxew z&T5gPxtRoZaS?EG^3>6jl89kHInjKgELJ2DjH{=YAyP{}76@7%OlEaC5`ZvrbQ0?+ zem#v|1tzP={N|_ngsspt`peC^8r|dB} z6uxm2&Yn*@j{8V^3{(q{I3=+=a&e2vSStod^<2XCT(c`987Nwj^wbiAAA(ddcJVhc zJZU%RMsm7X+EvoaI~Xi9d3&+tyTW6v*DM3DS9XQFGG^&gNd-5pROT2`>4D-=52g+z z%X#`#mVpH-hnGs4jzzP9#f|_L{82!+A@3RJUje;VR2e#YF4u{r0&v##)Rds@XGTLE(c9>AeZ$YJuEW zmtF`;Nnbald6mx78{$BeUgR8%vXF+CT0b3&2?iDy!9v(&7;9iL7%V)3#Q+_P`wc9T z9caR8!7Vqin5JWa7Ta0HiKRZ)dgc{WsS8WJhn`-sUN0h#}(uZE_4cF0q>fu4?oaE|5*zc!I z-G*${C`9;hP-y+V0C;G1yud9eb$z05B2l5LPx1OhCxOKwkdfTO@MtW^q@tchEyl#B z*y%cZ_+SHv@arVWBRCZ4IDBm25a;eRMN|AT2CEz$-3T3>72;9Km{)MO6m&Lz04QRh zh(h&nSBt0|mUW9G93QT`W{VBE%@OIo)j;ryn-^s030QL0s%h~Gq%R)WEp7NK+CSXYD#jhv`N z1CmM+rRvg$(w(+?@!n;3R6@M*28uFJ6teyx0(I~?FzZ3=V$ zMMTj&liW+;T*=-23c~SnsZv8F>HTo^gtjdLA(-2h!Sj=rdk;$jOg^$_o`spEoP283 z>f!9XY*s$goMG;dqn@XSn7uvvgF<)I^C4^nl1z8wxrYszo-*X&Otv3vFR1f5b z16<9c@CzU0Jlu%+N>h%MAf@!G{(euN{kGoonkCQotydGSv_9{bdR6)3pqKt^dx7$1 zyEVjiV!)v3Kd<~%xeyrHc%}Bb?>;=q9$Mgtt=V4qZc}EOt2vFA8EEE zIxm=HD~xHcD;nC4+zB-uyCmS1eWn)+O`oZY;~ zL7#^Jq%(F7}So=4Sa{ntjZ5JuG%*4#pi%zkX@TWcCz?k8KEs zhWzazxHj(f8-b@O#K*CLzneX5N@PeP*O&LO!|#U0ftHMV|K|{{l5EvY|m}6MjZ}%!OkKJUq=)P<%WnrVk6WHYY6c?+;AI?Bw z_ui+(h@b1P{d^HW`Q4GUTv6Q$-YhkUZls|B_*(obw(@SrUHtAyI%5ADB1!r4u|j+Bf&j594ggzi4T*u3K-K7&__tG2{?trkGv~s|A)Lg`*%S10EjVPa-`uf|EHsKzfqHHCjNf^Z^1iM*`Ty zd_g4`_+Q@;tGmPxmR<&|IimlnOZ-qN9&cgIQT$|jDV+YnV7y~c0)A<#fPEYuA>AinwM0s!*9A=ZBvS#Tj>N6yk~Cx*pu2cmsW~1e zO%SlkuvA(gV6_cQkhXP!CrR%JIGXdjL6XHwMonas6B#!_Iusfj{L|F-@%qo4+-N}G!F;5TPm0GuJu?xA)5l2l2Fr}C9M^(T8Otw zyV&Vz_Q)Ew*;hzsM6@dM?NYc?C0FC;N__>alFySS37D$Rjo0RyF7QI>uU+89(xoo& zQmHp4uMn?>PZr&n=HH?QaM=^_mRt*1b5tZ7b@6WO*1g>YzEAq43tTJF_)Ga$>v)B9 zTNij0S|3?kVDoRb`PkjHjs`lt-@UO~?cl2xwU++sD4bker8-w4dK1B*r@@8xi#eUnw@~;Zbqd|-SE7`8 zf^*c#J=tp25PA4rVs{Kv6RPgGd6MLTZ(1(=mBPPY_zwvGL3OH6f>H)MGbAz?w_XUm z9-W;dAb?B0Ou&!)x6gA3hE#2KY-0N0$2}@a>~XOV_^{YF+$wCmBEjzo|4IBoop)}S zKP5i7)ZoWp#F?<5%ojdSV4Io~+8NKG@S$p#BtH{y9KxwX&`vn7s;7k@C^1Ya`Hndk z7<{ynsYe`f6KK1ZSH)jc23owfBWgm?cZo+8bb(P7UEl{B zVF)2vrpDZ@@y^YTckI+gLmPKJ?fA&T>i!eh1G)~l7MHPQ=dpuyC_`}t?MPCqVGS$) zvtxv{o=0azQ;{``Q3YD27m8l<=f|oZ|F9EMXD1 zqWJN@bKB$x{Pw8pk}bbrEpmvXX1xREZ3CcV)v1EP-h9C9vL55n%PD#qcC+McRK%J-TgBOXSuK5H$U>tS#W{m?*hjLR0<-Q1PYIkr4LD3X=#HCg)UIh`X; zD2+9EsFzW-5q!OY{##C;Hy*)y@-`iLoQ`~*f&4PhcK0;~@(zuh6)myB?!->))t=o6 zwVq{5Y_3##6Kk?1>X?(&PkkX}v#ec?$h>R>>t(a)$nmo?YpV?8FlGaCwr&Wj=XQ2_ zrz0}7-GH)!qr`rLV0{WMu+;?ga`OUg@mzOQp3$&Cln$@APLlazjzpcA+$(IsXehna z2SCl*0~&g}9R`{YI87{>E7gmZt4lJIE%=uu2AYVR`*Z)oEy?+arlE$o z(^#f)_dpbV(FU{f-6)$nv$N}RI};VDuBk&88Axz}JxD^g8-izWPI)xV)5}?^le3>r zkX8fv3U>I<&~;pQU5HEG!N$J`pe(Po2S!`-_o%}MM?rIzVvXuhw} z7*+k-I8B~W&A&oNPQ$lG{)?DkYDtE(c8HnxBZBoguF{cXK<^|Uik74=`dm&PI}pKo z@@gGF|ZV`_gxRN2> z0FF20Q3KcQI%df|q$@&+`EDg*gG9r*+u`7Q(b4J!Hb2J%BX z@<}@K(*|!`BPHhJVJ$Bb#CRyf^8{C+o;38pt=WXZ9fP z;|$~{K(38OQ*`8y7|7pY?I0hr!9adaM?OtQe%?TCLgl*n7o)td3@kdp!UNJZcy7_L z2*dn|@}G@|oSS96f}OnSB3NrJQRw5tnLH^tJRC9ll8NdG#!UVXCLvE5c##TdpsK%l z+Q4rXYd8}UIpmaqSuU7)Aq7b}3y%d4IWkoTT}#TFe4EG#;U@>c^3oS%CQEw;lzzC)LZDjoSi%*XZpC0r%%k6?W* z)a%F>>d5alkoQo@mm0|T>BtxB$oCt_al06VH@zCnqE7}!$1c^O{%k-^S5x}IkkT<- zO4T}Y?Le=l%$~yv_Mw<^u$txh#H5s5la3tAxXx0Z2RwZ-4QCrcZn`~$y-tEI)1mG* zpibhbc{{X}C>gkONJ(qg_W{&k7eCd(_q~fx5sd9s2VE-G?x8o9Tk&$k3M&jQLiT8YoGxsuw0- zL@)AS9D5MqQ@N#EtAb_TR+jJ=9L_BD+d?f6>mYmPzHr!l$jR!foGjy3`hPkmaxDrAH1kT>d;fIIu4x-~KU6oR zB&f!gk^$R5e=xL?xuTADaMM2?(lnIn_r49aH&S#C6!-W-&Dl34PEG@rC;ekBPN?!g z$xgxTptid89roJw9gb4sm=8rD^(%vtD64k_)?BULp8$o|I!Rok`FLRaX8zg1N*XaM z<(?n6sx0} zifdbk!*lKC)M8vkso>^BhYvb7wG&>id8AYK#p73#j0rgNQ9$yKtpV*eF37%yz4v^7 z&#?0*+}*4AK57lX#fp@$T1M|d{quAysS*F&RATDGj(y2x6W;t!e!OflIgt_M6D!^0~8$|1IKG}WELH?pHz9r?1e?uRh0|N7gx@o zx2R|-D=m?u*vQu{!L056AjfMTIVQ_E+*MVibZ3S0?Xhgbza1Z&>4?3Y6P&;fUB(S$ z+y3Ktn5AXGo@}3NxhGw27R-FL=1A6X!m*NnAR)s($q?0^p>B-XF?!Ra*PbfQ#Ab@S zfqF|4y$tMqRK*>;Pm&%ZI7^bACm++gX!1dyPkx*@ES)Y6VCIN}mx!k+i#-#2mYkr! zNEjzC{1gFcXxeDU67*K`A>bec5<9NkO$oIl75BUSdp=u1&-wM1R$cJFR z!Z*dL36qb;B*pb>?EQ&jgzPdFH=A#DN6{fVE1OmV-3Kc1#zUVvf@Jk%+Gi&nS?Zy> zDAwzgqnXVc9T3f2pE(XWj|Z#mAQAknEbB#Q4D0yJQEECH%tn6h7;E}9m^}fX4Spxc z#@ar26g$)L@}%M*3TzPEf|FKdEsiL*y)VokZMnsvIB6cBVPMAnHcoWa6Gm>4&DDLd zF47Ga7CeM}g0;6eda=o{8qj^X4hQeFP8>HYIPK__8jQlwzklg&LM^>+I`o^_#?!FK zxtp~o2ZZ-95KRJ6DUc}}QQV4&bu_x*ZZ^K$5kA;}{2Y+I0-0KXCiGe0>EG}j)QS1& zm%J7Oi+90-=1`Pg4;_nWkZ=~jC)dFe$WUXa{ZJ7+9G#Q;Cy}F_c1m!+AV=Hg&cX`n zf+F1;5RCs-B2?;WRZk8~L-(#nL=qxkB?|WOt#p6I+idyA&=Z}66rN(sJAxw2IsGuH zTWzZCI(!anEIaF1Cd;^Xb8c{2LOq>B&>bfj0E1jwagd+I625YL+54?(Db?K8YBn{! zdr(d=Ck#7(*!)%%jG{b?LCV=>~#ObiP)HH#79(+Uik92BqWH^f zSdUNl$Z6J(hjAk+Hdr+IwN-{K6n1y3BQe*N2!&Cu!Mi#ssmgU=*j-&Y54-EXWf-=g zY6QF3>R2dOv+3s?5h1D}4YJYSw%qLbh3!1&7z#UZS6Tb+z=*CTAzmc+&BKTFr@jqv zlZku%NBx&>gu=_Te};Kj>3MwKuZs=0pkprh3U=`B4uMVk=y-EBYkM5#tf=LZ`Km(r zRA?GJs|#$C)(aSe1@MEUHv~)_#Ep+GUl`yZFe83ZJYJEq1WY}I%+ArZZE*C>Q*Bz) zyAZgfEds^}0fJC&+KM9!{EH$!lgEcik!Y&KlX^9ML?0qxRe(rogMg_S(?|4!fVmM# z>P-nyRJ5RB5(72CXlby3Re~PUVgX~A1%p`r3MG6GhvTJxv(Uv>^~zCIh6G77ny0cz zlFE=4k*G5Dl>Q-LwNO%|Uj;mrv+N}mqrVXTa1N(RuLxKz^fc+D0k#C-n+_4E2pLjl zfXYCFCwGDSNOUUi8h#%Z^0cj229*$1$ZR~)@)Awb0s@a`*)=z#w8JG*h$ z6~`hI>;EH6VBPl{omtXc>cvMeNUxNi5+P zyfpv@vfIbX`Hg3O#$k0e3y=N^&AwYofrwwZBh|CinbW8IKNqHY<~nnWJ5G*e&s=ch z%oXyGNuRJ{nCmJmkX>vEdX&BRp(&8Les@GY_B--Z7Kztm`0tKn)okEm6Rd5yo_Dz9 z`&jw!D3y~=wbXLhl3Rk}gq$NcW>nO4lz~I7jz8tQa194j(VVbyQT-=u@1_w_*UG#zGF? z3h;T0*{&j`9y*$6cC* zu#|T#DWPA9(MHRh#GW}B7#X46xS<8pX``Y1f+Du_%aD+aNnq;*JF1mlI<|L-!APT< z1UhWvPs4l$G5TyT0|#_N&H=r-v(&ybaM%J4;k>kCFBn+t*5xgY$+H}|(ytSnHJu5@ zL3kZX2Kz?}ENUO>L>V$3V(MjjQ-|G0C(|n6(FjROTI5KlO1+~fv{^(^R>+-T<@-#L zp`Rca6;-7MO43iN9XKDtD5w2kiCl@d`T`}KH%XXjPO=_F(&t%2wGH#0T;Kni_l%KQ zKbw+e&dJJVhkJ*4`y}%OI_+kTluEduB)sbtv)=}raUXsy6(;#_?y!uC8o_qklqbtz z4y-^@&0f=$+=Jw(=e{B*7jzhso6vu5z9S(Y4iFH3*Tzk z)?xKXZ6Q)(TfE6MY(1bX|3_b&vnyakE4lJ)D|H0+W{^_nqF-US#z)?jUqRC-c8gt! zi+Favxtvnlep?`|k*`V~Q@x9Av?~#^i|w>4X;}kaHC2!?kud+nH)fQlmp!{Is`%5O z@PnQNnNO}RRGeu@S_XN1&n}ZTPr-4(P=^v*QwhT}bZiqM@rAj$-gn^1!e5%ER=zKm z=BKeEL_!UKH!Z#XaTL;yz_+uD@)J^1R(@_PixnsU<7%l0Da8 zX^%2*DUA8h(q0We@&kG6oc&1^4rC>%Y-Z)Ka#KQCx$RncADB`p_5QwTLgkdu^6y$B zJy%+LdM*jZjgKg}5M>G#lf{3#-{Mmbo^~|MtVk;lDV|+M?S*RYOvPUsYLmR!cCq-R zM=1nt!$)l+sV&}Y9wx)un8i>bymef5DsSF;jkD_wX=~UUGa+qE<;*g7F}05WFZ`uH z;2({AooaGdMwfrWv%}5@D{uVateJ1W)SbYT80IBMyCZ|1K+B*$p28M979Qy&MNbYQ z$iy~=1|+fk;W$n~8mZIR;V(_8fiA9|x)^qEp+7_6lUT!eOB(;Vm^F{bSVN)f*x_JY z_eww4u+!SlNvz;TTM7H@eH^W|$D2z7eVp4Q7V5Hf56tEOb}ioxQz-|tg5O0dIc&W4 zvw|&%42h{B)`KCZ>IQOJ4Wbx|zvhM-;CusIXn==Hb9D4ngQV<8LD)OMEDT!(o4W>d zo?TU^v<~Sz5nsj$oYGk4T;+^s+ZWMsmEdp-t8Fz|#L3eT=^Ko$#C{pac1gWy(1Z)e z6N>E208H_d@z5sNGXhTGaJclDfU7y&P3kUQadjMyk|qmy9fzZ(CjrA8QF>9pDt?l57O>{1{OCPK8Bp zY9|`7Spzs#qKgNJ0J}nf(J7bxJm3ngp$_y zQiQTZW}ajvmW_{8rm#M3fmRlCy=-qxpCAvAS=)QzS!{cE#m-Kq*!!u!=B6k)%y+vf zuyJ~{@|v{<}W1j(zNH6OFsI^H28GNj%thIsip~k3i-fWOz~LpRg(`q zDu2T3FXAVOa87rfSoDC7=xglgFjUf%5N8AiUIC*hc>=4*2Oc$gN`RV%9nzMP4_Ha#L1e<@{YQ=p{N;E@r_BY;}sPvK>(Wa;I_M67GrzkP(REj;5|7yG=MR_nl zRoEQ?*(b1PZg(^F`tlFa3t)TlG8+^&BPB_FO&Jr%S=XUd+LA zvTB6IBA2nlS6ty2#u= zv=nsIH%KxU+n)rh*exvU+ptJ>F$tQn)jG~@wxAqWLgliJIFZL%?m=`NqN!&PH7*Eh z$J@CK2~>0SM)u~bp{~>|K=B9^>SPu?L~=>Im9(mv5hrJc^~Z;c|}( zpseF5#O8vV9{Yq2JDUBp*&buP4D87&_G$xm2e9#8cS;KEi3VqTLyj_)~<#RfEsAH9+ zV|B_v^Eb{a?_+}`ULAQ)9eD3y_UQD9f-YOO||J;Ij8(U37*ng}Vbq z7SQU*Rq)ePrgs9FX|O#d_HT&Rr&0Q?p3(pina@L)b_gX?}{s<8Yo($$OcEP z*2kdH>I=(-3>0&^Ati{?r&6a&g+@`0#To+(+ISqSvRGwcu@5XfAf=8)?>vpg+Xfb! z!D23F(fhE0#R;7hxjGiEAokR(pp+r>kwGsty`!~^W7zLZvIIz!aZ$ot%_m%yy2!vH z3M?Q6mzrJ=n$+tJEGD5^1d9g^EIc|Ecu94#_`txTg0nb%$@O3NaeH+f^4X99P;VnM z`$$iJ6E;|r^XZTa0c#RZ#M@Ax>AFsdO;6Zaz^y?krf2Oe^VXn&K}~2t#URb$_wraV z{!Xy-tBqrG!F(^hR)r&mS*%aLu-Eqda*n5l*pQ-L{pWNSXi~9>PVGoLE(ZG3yv%>Ei7EPV&Rd6rbUH|RxCQQ$h5d{ z@ruPq7Mqq7E?KeU$P&}i!lf&g9$9L-v+&LpcOJR3w!`D8?MT3rh$jh8GM=7zQte_#ALSKU4FQjCuYl=NC~3A8*hbKPiVHUjVTF6p^{SL)UR?`o(1*U3`X2h) z)YsyNjZ&!29~4_c}_q=j7!ih3Z5Lvsw2wadsFg~aoOZZkF6yJ|)$R3)-zv%=jLV;}&X*L}X&E`EIc!(pPW8x2 zfWKld%<_9oZGk3B?+h4?jrC33Z{Mkwl@*q)u{^3F`_f6_EumX@P57G{-27L4gEDf? z+|7l`Nax4l-DkE-X5bBz5>1bU?b2+VdvMLcb5X+(*9J@0|G^$a?R~pe)-Jz(8F+QA z?<~}J(jV2gA9lE2-3l|u0oc5A?uh2KrXC$igEju^n@Fs2m+xLw|I4LIsl`$J3U7I* zLtI8+@z?HkY{{r#&ks~?80g!tmZBNjwg&b*FNFTz z9~{SihJF6?sR1eM*fO_A_OOItTfCgivU&&H#0K7Io50m;VXxsg%;MUZ&BNjC?3o*F zY3$^UxKg`ia)<>6cr};F-nvdnsF|q2@M$i62Ob&+R^y?|b5QW6xX{6rW(`1C5GBINFAW zDpNS@ue{yvj4xn7Bi5?u-K3KSvKS296i*8n`uKUXfa!fp_x?Q3#$*J?mwzdORqj3b z4YWjN!;^@GYh?g_2uIRX0jBsAJZ{M&J#2tq5-_c+NU``B%UWU$Bh!J>IUbZObqi!u zz6p)18IQM)=7{w|1H1+>(e1$FMwNVEi2qo`tD>Y!L6G^HXz5a(fRA%}l!JP+G_I4z zx6Rxl7XP#@l6`)YY-Ja2lG9l2oj7pPvfmlOzAaP&;)`dO&zik(Sa#7;x_}xKITPnC zuIev>vsiwK64Cf`q4K88`VPfM&27%0C{{~mLd{Lq9;`GK$B5z=;bdg*99&S}eF{Ft zUq43ajl+p@F(?-oDJ3$Cn(p$D7tEbe5`4N0=@OIif>c?ErIOe5wLf8 za)c5Y?3*qUFPboRBIh!R)n2k#*vJwPjJsJT-fhK70(;?hd`is-G}%Y>8#Z@#`9fp? zDw&IBFV^QItMB+FvlreqX7=K8y7$PKQDd~4VHR7W+`#s~U>VAuC{gZD(v^&nAiJp4 zzqEAeUF=XbE{vtJGh$@vF<5F5GJ3$Tr1Hz*;xH|s22CfMXz#$3tTst|FA0qfaH=|; zi}Q-`G<7%0o__5UF-ST;A=9U0z6pY(SQJhto~UQo@#&bRkF-0(4zBW`Z=0p|f1n5b3fvpi1^3g07#Mk+^)30Jd{DKKx+913ed{ zP;CE@WlBFq3>CX1V8jy~E)ql}&8O@j;5h+f&H#)`DSU)#v62K@E%nJer#TVW0sY7 zQ0mKGwxNGWP*7)|Wz%H9w47Dzn+?2ZQ2S z{gMD14^CzYb#}&9Jz$HqnLq(Ii!JDH?-h|7rq(&}!HR?TFdI7^18q^dOHf{|e&?RF z+U$~XOW;*#j=nO*;tI+KoeTKc?4~u=cvkmNkmb>E*gf8HuhZo$MI^1Ph-ole@H}j- z)#FMr)B;_+%!;A#+Pwle9)UxQEO=~q2C+~Nu1L#QzxWQ2yRO;RfQp(vadxwyNUWN7 zuyVS)aQ8y!Yu0O0Avzq7#`Jx#!T-*EswS?~n)*)zcQWroG7xuauNrwAYyS;OzL(eI zyu^+(K`!SpAZi(mV(p*8yqbw$n$40=;tItUM0*6EXtrQb2&O^5V*}whu2f@d+_*%H zq~j^E1z$MgvCEaP9=fsX7Tbb6qJC@|2KZ3l&}6xuEx!s`yh)buAx2$T7if5;0NU&GKz55t z1&d@Ii<6oZASHK<$*n<=-A`x|h~Vv7CfMU|;S>3BMDO73CUz8r(aTy7%zQ8+S<$pM z;^f0J)|`xj%-I<1N^L{5R+|_|I*? zIBLh%J}XGECRrVbeEyw&H0VJX_f=*Rwe-CgC@DTk0q||eqy)R&2@`JNpe{PS0<;u_&gu5(BW^s#&D@o1^W|O+qJF(xwS8e+WH`g5W zl@BPlYT&`D@;l3k8JK#ezHaI3{(0s1XQD}{C-?jnciRPGog^K6;;2XJz$b7LG^tun z^L(5%?^46&j@x~KX;CLWKWA=Bh{T1skQp_~J^DN$n*-)%j0Z$O3<9IR~)h5lKjZI#2KiJp0(oq5XI9wuKFyIFTs|ohz@uQ@40Vi{KjC5m{ z_;J$10;U(1TdEl^9TWkDJYb^qt$-(U_M z5o)yoei<+&s8-=@>8ya$5!lZy-6r*Rs|X!Ha!Zv`8DPy3!!;t_3j((^2k*M}TkK&q zdK9{_Lvutj(g2qk;QI~m3xG*RYE5qJs+<%sy&Myz`4UYvDBi+FSRmaVPM=hTqXa(` z2&g;|ERy_q0}%nmx$(vM0RhkD@KWhbz?vhRPegnLev?U~2%208NAWip;QPB>OP?q5 zDiFAYKz3svs6)V)IefPi7b&>GBZl`G;Aa67J*7i7lD-hI+AQyrx}kkh{81iXD-EX4 zkrYskKW=G-bO&I~Q38(|;D0v$^nem)ryT;bIo5hbZJ z_D1&bMkR<<)tKFE`nQ&V#*9tMG!t{(Dmxng_NY=|kteXCnRkZkP8pKK-O}k7X!d z8`i2NLu*ND2lkcftb}eUpmw15DR1@-;)D3ZY|1lAe9cC&QiD&efY4LOXTl=+Cb2+! zK<#^`E#k<-<6@=wv?O_ePlkhX$=@#cY*Qy!ack7??PL#V72@sd)yor1e^&LSYT}+# z>!}#LIkDc1D-7WTSYjHT5+!mK^lc1C@G(a=k)dL^*<>CO2BuA z2!4%xr1v)g|C{_*)EnaM2h@2uS^DQ}kY6f5`(K4PFR+2nD$zAqx=Z#W>O7Ks6b~11 zweT(EzpXCUf&Zjf_XFkv!q1`bgX(DtiXSWRd8MpFVg#f1lSMesbe%}}L(vLR_Fjrd zp>cjMqgCfq04m2uJ`gEKR7o5W;n@VERSXq)TwpMuF@Y@nk0u}R4D$aY4%D1b?ULG$ zi+u<9yD1(%^1@rwG4g9rRMYSy?juoMwIV?XHUZ%z2xkmImJ9ltMM>I1{>K>J`4J!ld_@5#@rM{7f*0}X zYyBXR;&+NYp3lYMCnPwJ!qM?okq`J0@=xKe3-Zw$UMC;@>InIJ)Vt8_uZa>txQpIb z_S2&Ad?tFx{i26_A*$d{c+n68ExpUOd=mc^9J(Ii%qW0qS1jlFJZ+0ig-$oN}7DK%`Mq4h@wVLJp_L%N&-0@E8;2V zrn^M<1Vb-{L)skj+ePpAJ6rpL5|3BUt{0R(@(T9J3req4q(WUP?lKSw`IzWBfU^n4 zU@(~CkFwr7K)iyD+@bWUK@x`$N-}D#!2_6vs7d7iB6bXsp=AW4a4`r-_8sE#oS#&B z`(dPpywdPbg-;_0zb^#6Fo)nnqS?QtHg`&IF~Vz1OTi5;?q~7BLIS-3Q|)uHkq{r_ zTGTz(I3zfY@WI#ypBR}4{tbWNOpDY?B%jB_S421!4~2&dAAB7=pa&0N|9T{#@X^l$ zt&i=)zIOZ?C9Cnbol2hoR`mc6v$OTH@X?{^11r}z3SoyHQT%LNqtb)rzp4bX{7p(y zqq9L-p|H9G2s}=I%CN=9nhs!dZ3W-@vu;LO_g%YefqDLl)z#ywUQpd%u^QjOvJNVD zVmY_-pfV1+RX>q;jFlXM*VOpvR>WnI+zF?DTXPRaa@;0C*cKB^TEiCkJN*Yui zpDA#Mvzzw>g*ZEqh7bHHja>Gk4F>R+S<#Nw{l^v?u5j=UyC%j!Hs*`K80(Wjxu|Zw zbXc(S=mScv;4+x)`~v5p)}U)(`{NdKxGPYd)KOm{_g6Ol?@DCe=Lqhytppw(M3W@f z;j!SMst&^+G%5aygoiDTf-kL+LqZU&CvO5dwFDwBz@w4hVIUujWcRV=oAD{cz@Y^k zyn@3pR?v)d97QZs2-~qWN;|Lvj2r{D2 z;=AlLkvkBq&!P|H9*|M$B|7qa1NpBk>mN$w5W4VEPhJXg2*k6CC;T)>uAR7XyP!o z>C5dAw&3f)$h>F-gPW9(huj)n#wP-{;Gu%J(LjEj9Y&Hv=uD2Dybk0vR#CBEk4Gb4 zZy-+x3|+0=LE*Uu4m-fXBRJfs<8a8pVJ<8GrxF>_ZU|ljIEppT4G)(cEMQ|;O2h<5 z*Nndcj7hvdhK@y)UixE9eiuA<8z^jm)#HkxI}8-Cen%9S3>0O6-{olx`OZKQg}yLZ zMhhc2wLq_OiMCq%rg&ih}7Yr0VKrxrU%3KD5b1bw81Ya2l=qpx* z+JfnxS$z_&Vs*G6;j4AR8_htqfyHIDqZv&>L8X-vor>z!x9qdwm_n)fx)D+OM0YT` z85GYMD1HV-p-QpcKvB=e6U7$>iop?d?*o103;oPM(Zrr13U_E%sc89C%^Ts6U_|Mq z@|37WKt-`aR}^CmEUF_>$Euhm1{Pab!3Rk62?ND4P?V_@j~OVovyGr|zpYV-wsJC3 zy`1E*hAzUJ*l9|jr(4aHHolxg0wdI0J#s~qAdqNh3Fi1vM0q)g(r35@8O}#WDZ>xx zGQ8HnqLej%s6>XIGz3ppgQ+!Ay=w`UslgKr!4+!opA5lOEa5ov-z6&Q@~3mlTyb+lK2`Ae2On&q22;a@cec^jC2*#x0Pyk(FiJjG-Zy!cvgj5iTdrkeT9m#BUEZP$gZFlelBvtZb~$Vs zYr4gn$%aCikgRsNSn&0*_xx=muHwkwi`nqW(@GPVKl9J9N_PG?>=1502R#Tc8{a!P zjkTS31P8)O1teG4_;@oyh6H)ov|doxc=wFbqp|p`vPKRnMZ6pKEK1oopV;CP))T&P z=$6vEfGP7w@z4$DQ7oe=EV70wo3zg!v*L$vg#IdELNCKZ+Gv*z@xcLz5RUMt8Q{AB z6Fr6#(5FdT1f0&{bm@?ak2O3TF=!VE^bSeHN7UFrl|eLzeG=KNB!+}bw~NzpXM)k_ z0QZ%i7cgGnfcr^D1)R;{0g@YxuhHj86FH2oh`|U1gBl-b#o=D|@B$c_+3+oPYLzBj z5ZHNss}c7w|6s0x_|%ff^h6=~fJ+5Tg3}ol^b4Ft!6V{H0Q&&7m(!V*(SS_@#R?KW z(UEEqdN!x0g(DrZNfzOhA;PButBD(;mOy7h*xAw}#1*IviGT)!xO^e-aIq~=q@J#! zLp7QpR7J#(Z<3{pJze;K7^07R5op1R-QUw8&0GE7(5GW0a5h8j%&&g;>@(?^m zY;=qjC5G{iO58qPtvcd^mMO(S0Lr0#VpskIbAJ7)WWkg!?(`5Md=j9O0cOV}7=`m3 z!A~UEz%cGcmCinqug%%jryaJ}E-Bm1RP|Yn_xz~*+05-!S!o?Oft`-W=Xd%!k!58E zu4Jw;=)RsuOcwU*FG_OIK8$i6#9qhl{mg{ZHzz|aZ1k^6vhxHYNIoL9v4)|zJn+y& zoCkUGSLI?59Twq{Y~ydrh@f+wOimL>-)5+pU&pe32N=}}E+^0nP^E1q(AOE8a1~&F zC%Aw>I+vlcI!s`h20j|V2_X$<|GD(#8}DN!BPIY>`f<6^{=ct zVEY7i5`3yY5@?Zyt==1)5P$$Z<~u8byKbT1t{s~CZ( zRgj}IBkBu0Rz{Rwq86R}sqEfhHz{z*W@lu?A_J4rkS(3RiCOrwFysw$L2CIRfpk1t zUjD4nQ73|{W(xvf!1x(0VG&GffLbNfxS)~$$3R}oLN^9R;xl<@UpiA{c82HC?S}e1 zMCl~S(y~rPe=Z| zfxHELvw5?~`;&piWU!#Ik0iiw*D1m81{N^$VnqgiHjr28B)}-yNnRqxaiDXT%oV2c ziV&`u1n? zS(DdIZA7O`G(j5A0yCWHH8%vpjEHn4v3m7>DPuxYQBmNPqy?o->k9*~Brh7w9PbMCbgPK`S9wKP#mNKaIcIra5F z2V14C;HZk5DrWf2M{Io;6>awa*xYw*(u$&@p3O7YCSAU|D5*_0*9^N{yJ+T$MU`JH zllw*;l#^y&DlmPqcv0n)9zjhr%e$4pY6sWy*;|=3<5K0!8LHK{BL8cxPX8;dvHm@+ z5O~qHLRS+6zVkpKOpo+5_x$tX?EB6vn{i1ppIN+jZPNXh*3P{DbgSI+dl>Tg49Xi+ z7A<%?+QRnRDyl{dqkJvgR2WbBDr2RY&IFZP<@5G-QV16bd* zs)kji%}LPZ2`D!2qLWl6oMN(2^S>&kpKSUX;+`nL^oF`*8w3dPcf;|d^hEQHSbp$| zgh(h!Br(`~eVl1>2>YpzGh_1X{epRttytP*-j%?yCGV$A|7lGX7G2v!Ss($Z3CZpK z%v32G>Tj+#WdxvMOmB{<4r}v;1T=?LU&Zx;S;fPX*g~H(Il?>UqYiI@^~#vpgWoXi ztl+$p* zq3B9ef>4Y~TD!9YjWosQ=T}fZOhQI9QF8twC;Xm^o+>=jymIZF{TlTft@*s&1f`s9 zRm>@0v__`1w3<>rYh{B6IOA%_L~@}2p?aI&>8}%wcWjd@DPWhBpvo?J{mqt_)aIdu z3~6?@n@lEwfs=gRoMw4ffPh^Mk>2!Xd9(R1rd zQRXtdK;TfP!}^Zi;@^w|gj)k~z|$Y;kNb#Zq#`}mFc3XoEzB(quXKbz{$huzZX5~> znuI@i`N7iM{l|)I&9bV4m<~hMr7*|@y~33RohXv`yXMQS|L$0qEpH0AlC*SO8@|JC zy}%OkoZYAGYnMZMtw4}D;zZI?bCOd0>^(yH#g)|mTZ_S@QJTl~*!I#fNnk6Pu# z#HG)!xY$a)mj<67aniHt>*wS{4PhfOUM@wKna%3*oHx`!PcB7HmY?{3|3@90Ap$D< z&Ql$hI?{>sG@}VD8P_J;MnhXs)w_JgZ}E5Rmof)8$74L?nHff1Wz*WU26@odJ)2gT z_lGZ)Q&dSlXx-lt?u$XpPWW2rzgnMNOSsRjkcXv6Y0b@N);_ypZ~oRj)oI>?)oAWy zgL_p+R4o;Af?us_Yq2R&9S8Tds%1zSqpJL0bBSQ~uX0NO&h-~e2#9ADgPdj9u}Jt0 zM*g<5@hf1U$2QpMk?WZJl?mn;_Tgw#@nGjs=Wwt!VcUS_mHDjUpJDNhxkH?a%uc#& z$?{nyheC;N%TQ+zuJ?DGEq@PY5(s%R_PfJkXbr))9^k=^;s+#T{Iamv>zof`3+2V@ zoVSHW1C2s=;33nWce0{?nBwKn*v75UHuSRDAHbI6p~aYXEbAWPN}$^vHRr;Q3In`> z6&-iRhbCaMr#V8K$WDD~i?4at5F9}BN8t#q$N-09^f|zU@B|*(8+uQ`6qks-ASbr| zDSk4KPm}rs)*Rv7D&ncmv9lr_HsGHZ@H8G@lOfrIRfe?V;KnwccI1@g`ahh#349bq z7C+wIGm|+o(><942uG611rq`|;Y{Rk62cJfaHuGUiGYODfC#8)f(B(3G{{kipeX1f zhbBl2CDO*phY`F~$^4GFXU{-59H*Pl#Yzj{@#&aUItt5+oJ z86oIYy(H_IEATEH?Xe7E3xj zQW19=B7G^m9Od{h2@=6SCaWFTeTA-WwT1bvDif=m8QYUB4!RQAANR>OG5aSTZC#BS z3IUsxcy_f^j#@oqj*Crx)|||?Z8ayao;%0Jz9?|5Vv{e$*jUlWn%z(l{5C!A_SNo5 zDyu72d#$cKYi7QkW*1vt65C;QgvLcY3!GAu8HjN zn_cJ2AX?gv3_7qj{0&eE;2%nXAe9wC{BbGMY(OPIs&sr`?8=hoM3RWtdRSf+Iyp^u>Tmzz};8qza`3cnOX) zMhvoP1VNPKC=}u{NU;okKysC1A za@*a8B*KAkyd)N&{L#K7$9$uaDEAtTPzeYRV1Uw+9AF5cCHIHwmXv_VF&Lxp_#LM+ z34)IeFmW;b2C;?>CD;W`WCpb^E@}Ovx2uEWEojKhp;9i1dAbckrE)oRpCRi>K@CXt^IO^Ij zV1QtS_^g&0eKqCqX>x~W9ufGwOgO%pDuPJx`veCHO-g(XXMvX~0Yh<+pjR?-)DDo0 zpmijO5*k2ox#%a5vm$|SCy4snO%M_C2p%;ePy&W}0KpUqbkuo}ApR8+gg;c}Fi8oB zx<*}26@>c*e3>9}^eRC_z>5qyIRab>;LMzWBLNei5K`-3)Tml@qU-Z0-eI%6m9AJ; zS%hAh`fs+nhXXrH(_9`lYK*HRdwhy3+33CNUvbB<%E_)6>b-}voDsMuJ&eY&Zy&_! zZQE4Wb24??U0M2_m}!CRVcV8s6@1|?*Fsi0JSyITZcv)bmQHu2^4IyS>AWY&PM}TuGLRGQJ%{412W1<+jIX7)^Q<`-aFBAeS2C z4l_XZg6t;dtk(=zl6)B#tiX2HY>-@jkieVA>tf&k220W7*b7ZK((nBpA;*J^3P8vc z2+5_|*!ZRcsm_@oSAmR@2048u$V*H}hLP%tMD}(z+SMp_FOe(E=)8^4J3)5Ufy|kM zLo1f`n!Puy&NoTJc%{4kcRqZ@&zI1&A$E``6VI;K+ZQppQ6y4L5}BfUm-GCL>9vHE^|QMdyPD3jw@+he}@@2w(y)R zA#&X{@>-BBLowYpbS&6WBA>e!_cuhQ{XOUe{oNMF66PXljUan@+`Z<4ya(ioM$%@_ zMQC@IFnJk~-6*0ZM%?>}><8IM`3WMg0NH7fop-xnX$xdtsE8m7KU6HoZ$K<)d)I{R z>)GKNT>X~`XFHq&_|a3?B6v$-`|T0IpFWVaZ?Kx z*$C1y6Ehv?I$3eLCoWPi(bl!OCFHi?upoj1sli=fqqk}Q!@&&>ybnQWj62t|aWc$7 zfg_#;(HMP=k~j_${-l5)mA6R5Ah?HHLnb0^nT_>eamrxP2_(*fSmRj^7U7Z@3_Q%@ zfe020oEX{oXVx!*!%1-PA|zGEkQN-?h~RJ>91K;w8+S*r(7~cWuo%{Y#eW0~Kiufq z>|%fXMQI)LU$~>orPAZiVYcdmwUdjkJv@Y(ru_6bHevR*rtQ$=1+LVnKsQOc>R>}V zy7J83d*yUD?txouWe%6Coic6_`_}?jc3ER?E0{VjhipnawxUYjsU6XdX-C$cvq}~C zMK$#@r!~svDT|fNP7nu@NW~I#zwT<1mEOWO*2#S&)9NFz&HE1Mihq+XdozNDkS~=B zl5L^B5F}gb%n+-|FbPGRoK**`u=qtnwf~b8CXVU%x(XqRAF|N3MP6R}{X$p1iPmIM zJqO-Bb=n}-<9=6G29=k?WAr(KqIb-C+~6r{ILP0Wb3`jEbIra9>NRLN9B79kakuU@NHFjnsBrTmc1{!#7< z;(&0grLO$QjjC&R0W#bL=&t>4sSEb=`}D!}=#T#Iy+PPN8YL?^eX!B4bc4*gzP~90 zOWDaEx$>e*`dfcBjWu1_FtC*E_{fzbm)3ssk?RE+E8547xk6BJzwIBc9vK0YwsE`N z-NEidzSNIaMhWSgl)f!!Z(8Hn1TmhJ8Dus8!0eO!5D`Ytx@0nKSwxLu zbI~TXTK2 zDhxkvyj+aHJBz`jCukn2E16(?*50=Ex#O-iQEaQKCbDl|fc^eWkEtEm%3E;f$TOcn zP*D`4z>?DEu9>ytPq_ke*24%*)9j4|(Yd`$FenxX7&(puS5m|@8t?-aI*qnjK&EsT zud8=OGxwBOJ4;-N{g)?yH@n%@FVV=!t@gz)T>r5s=iKb^v#ybf?q;6>B1IYBxJKdj zmHP@a~!7V|B@ zW>!q#5UU1o)yEif44Ob>uu%WF_Lgzz&5RD31-`@lPluNhkjYCXTlFDK!u!!P!;0dE zwlwy_cdky#R5R}jSv~yA%UIUqmQI%a@KebW&SQE#9G(0|+Hy{{l%glNm(9D;ihDJ) zv$CnVcQIvm&t`{yS2Ai(pGO0hr?58PyE0SYV>=FePcuu#&e~BVWqx1xw4UdWZA{X(JY)_%trvJbjb%!kx`B;~Y0JV{C9CyZ zZ)(Yg($tdni`!e(6SGRZ!B1yV%ci&0dcaNZO8uRea)tjP{@8skT)g>1_Lg}wN+fiT zzD~TEXO@^Qo*Mf|-kwk7XH$!3l{`CVO7WJ5?!NRe0`9@AKez_i^Za*SGMg&& zJht=)S4PiVe{4RjvvbDb!Vc@XobAn zE`>9zI}Sto6~DXEEKW2% z&@Pa2=a2$7-(IGTI;rt5<)bcp?|H0Zt)gzep-X*yNqzBC4OzjcZPcK!6XQEq*VsV& z^v~yMp}qQr?6>lwLqwB6C=SFbM^&#x?TrT^SuN&l(Alzs)Rhz20~4zOL(TULkl zbH6Z;k4IO3Y#?WM4H6EUmFA#Qr({OexepjtI9>e9F#fO6=lY+uI!@Tx8Cgw@qHUG4 z1x!`cF7~N64s0}=9@eL_fr^@=ES}3AQq*o46t&eYRpke8gX;m^Rw@Vkr9^K_;&vT3>C^m0B?BA1rj>Zxi%rN~`egrl%s*D@ zcly`=YyzAD+zdF?AN@+a|KM&a5AbpC%X5Chx|!6V<=+jS%sbhACiQS^J6=3Q_Lju+ zE%|*g>*Q!1`C;&(;~|?BN7q|>yvkOYJ#@g-nKimB+>R40KC=8Th!xn z73&(M{xteGG(MWBcE*qHgzJqCjBrfPfjgy#frlR&YRG;L(P{Necfx%ULD$&}&)Q;H z$;Z)7*66?oS)O8wE2H@!U65Lfxk~sUZvTkDzXeX*(O=@{k=kQmBizsNR#H&lTj59> zEKdRtKg92y2>e3>$7B@`d1%GDc7X+_32ey2F!Z;;rn*xwsl4`(7pLtS%7YBEvF8*R z9qY7KZpEr%RnO|Gq9|7WtgN!rt<+mF<=TfFY7d3ATjuew#!sTnwT(`7t->}R z_H?e@tEq?NOd}K2!O*CzU{;(D=x8g%R_L7|3X>e|C8?af5Ti~nqdY2|P~rm8Ibg!M zxGh0Qtx#<~Vh8s)3XW>y{hU}4-~v+P++?~jCnta7gnzVmuDj`_a2V!>3-|Zl zY9`t^mt*aWSKSsrk`19iyqXG2Ixomt8}=KVl@B~jZHs9Tt{XM8_&qUkY=YizQ?X#P%UclT=t*8*-b zi%rG5k{!#Q{JXt1+gXJvJ54rV0Ft;Kxx?hP6kvrA&(8cER`5?zzzQRvxjkYeb0Kb) z^$}=Y2(Lugtt_{_ifIK%rEDpYmVktO(M_IgE8dlx4YfGS3Vcy+Scrr7jhK)KbvV*u z{m!_yGrNya(1OutjAPKmAKDLPkLQ0h@log4Q#8IvG%WsQqQ1BU+Ff(hhEIKx+-Q{@ zxvAeNCezLC11u^*?Tp!YRssqvz-~@ZZ^GPdZGuW$!ZpAwwAAvkpA*zO;Bs4{Iu>A8 zqS^=ZzHbuMQDvl~Q;OaG)&(k`f!OvHO)Whz-x_ry7ORnjeq*Z*)tgJ!ODDWRIr+f3 zQf_StE0y-93{%LU{Jo;wQzB0aX*JIXgCgAZUvcyrTWleuY_vLP=uWa^p|N*%dQukS5o z_Jx(IE|vPin7kx0H%b$UblC0FTFl&C6bMenP9CRy#HxTxq!Es35|b~;s^QRWg#Sf-E#t7eKV z8LABj&Smp5&xRc?VnR!<)v#Pe)~XF_*Hlzbp{NFMEs}!Qztkr_yjMTcku-uf#gx8rj*H+6VE^a)mKLN3_}s%1EO^V3EQ+cAK9Q@l zb+I&7KE?EzecM{~x>|j9UnTQ$=yXGKQGU*CEvXvC3Om41A6bIByF%RJWl-ETjvY@b3=s%G=rt0kbILun8UgU7ew=s zTJlY+8&^LB>&|{JNGXP>!rW94ZF**3H7?mpS9@UMnBGynp{!~jZYFFhQo=Ep(&Yc@ zr?BP*!_o5(wTnuw`t{<)uv*cRbtWGwK$L*tdSe3>XZs=1+bE<_=xv9^6i92r2F5Fb z+xDfF4TMfz>Y{Zp*^RrtEXx3o==rxELgw1XG}`2{%WYnB@&ffVn0!YY!e0i}Y8?g$ zY7)FTjKJy$KT=$z$3|Zen$CM8FB}O^qAo0CN+qMaWAXB6<1Be$aP}&4ZJ%85AopICA^IZqjU`u-b*O8 z{4wwfm;g?4+{pR&WM{xs8K7;~uGyt=b1=q-tidqOt;;R9hL%H9VM^ zq#+CiP2qTJX|llMI36#pBA()L1O6=n|Mfcm?W7DbPsHQ^{5wdu0S`YEo(v7(VUJDH zT$3o`68t=vI{gvhk%VF4hXRfPPX1N=$U62Bfg1@;k^so*$sO~ZwC0RV=v0DUQ1e_9PE64ejAD zuV%4UcbPTTWw07ud(5xCWnmxI$tkse^j3=$LqiDWzEzemOzlwnRF0Y@uikvC&C@6U z?m5LX=F)A=GZv3sP`qFo%UzC%W#dL%!d!nWE{f&!P+e@!M!8jOMqf3gG^+)H;AE}= z>Ol7TbTcjvnhJTaGobclb0^0*SmBenyZOPJ)CsKS(P#|@$YXA2-*vRcu$yjD+p>0d znWH^fHS6e}x7bKu)!?XhtZ{Bk z9Jb`C(a_wVS`{6k^8qTTS^AD>>h2XdNGBK}iJX^CDar-|@Dj1v)nS~5k%6NZ#} zfs=Al7lIg#;KY@Z@(E553M~_bylj#oFC)H`L&_=j<&GkeP~bfLWJ(y-KVAypK`A!s z&Vf2hqyPb-r~==JTXG<|@XF=N4-*9PxPZ?QMA2_2h?3k3NOiuSAQEy&z#{_A2c(j= zA%5O??jnePPZI>=0ptNC!0U2`s6#|>C(&mL<)&F!fD;aXJRt}aPRKTL4+wP+MD&Kh z-zGRz=$D|R%j(EsHl{}e=LpMJa}D(@(t6^yz-~pOltI56OLT$?5+qWB{-H)80xE&85Cj`;DhZ0-@=?Ea@c)WlU1uPP9s(>W|&K9s#K)P_Gj2J8? z2ej5Df>17?4JANypi<&JqJu$B`-zeY5`0MP7$V^ngy#x7TL`p{aKLQ@5pFMF%dY~p z$I620wAz@#>Si;IC9dnn5;pHNgv#CmHJZ)dD95q~PHXnsKZdCTl-M5sj~##0JGOyr z&hV)A{Iu=l=7YD>4g2;tu}}ipx2OB;^RJrIpy!i&(%K1N)m5{XeSg$#HHiFz!McHT z<;*XTfnRee+jS0P>eh(tVBasoErI*l z;gdM_xdSekAxQ!J=+Rp+asoHwM>XrI6uXQB8o_5XO3X; z(74iSmZ5s{o-Nho1K9@>k=<<9S5PY|eJ$3^&VC;omq601mb?n#8SQ|3_OPrcVGsQf zJNzZ?E?oYZHHKIP1T_vYoKR{vEfX5YiqEKR(tnF!{y~d`whjkpF|O!XZrdLFq+I&c z&lT-%Ti?QOeAqAGQdWI1E|$EeTjJNth;Mb3oj`xSbhnAEep^G+|XD{_&g$(60it}l&7&(DdspQ@)vQ#fyH5obquGvi0eT!ELCac)NN;XM2OmxI)@T&ut$+=K{*S-cs+;sRKFz+UJd zm)i9tg5ay?RnfUc5HHp`Eo0pS7VFuW`JT8AptOv%AicSYp!GB*I*z(YdWQ2eyR8;P zu$l^dy&+s(lVf$eO2B~PqSkN&tIn~;vf0PoHp_4Lo`xIRTPu#c-OOEYHK$V>BagJT z8qQujcx;*00@l>Y-X^CtoLeTe9Hknr_Z}^R&x;5?oK1CpRl~gn2Cy@eD)j0!qG!|+h z{P~%^@U5kj%O4G?CP)D|_F~0abO&=RrZy~j2d+GF_pry9(fpeDk!i~f-LrGD_^ve@ zeTO+yIf-r8?<}oZ)otp4(RbsNn-#h@Ve!=TkZF6LYgiGes*-&TA0IOOSs@=CQ|Fy& zt0sX}MuCTm_PlpWzQOFK+tu{g&2QzTdS|YL3`|K;ULjB8*`nLkK?$}{k8656bnhII zqWCr$9i}{SyLwMsKLo~fJXT6J#IN3&B!Hw-sl^l2R+&xKV%z$< zybPx|DxiV0c9L4VZi?BA*`x8$u+?+m(i?f|pW&Uo6Wi z!iG!HEY*hSi^)$p{K)UIm|Q4;{D$uwcjx_VNtHLU2R~IhS@IEhmDs7z$;#muYnuA> zhC8QtNYnsXRFiY5low-wvvaj^f_vBbm3y@`N#Gp2TMCl zXQSt+>FI%B4sZ4){67w=^5#!F*rixek`Q*4-j_W)NA1&T%2V%Na+w}^z3q^;!=|~S3eP`*pN5OY-hr8I%bJW2Q)#lDs+d!at+g$9xl(JQG)%K>MDXHwW zxoQHomyUtjhN4-e=lDOj%XRo_$dmzgXhyPM=c-AmIsT$40~^bs`jO*L2^!~kElo~b zt6^-*tkH8=|GU+sgjAlcf&1X#Zw??QpKK^SfaAz_^VA%^TOA0+7)z;|URGF2pC}y@ zg_J*+A_iO<&M&qcaytaqRQXcXU@Pp>(9I&=;7YxNd!^oy>$fBpShhQPKjP*x@}k$< zLUNy|xVc-#Q+sr8`Qb}0+1OX0L--PImQ?6=$?jP}OWBT;prKlj8?=hME@$yPU?1UA zS?C&O2jh5EfU#_8>M2o@Lk(17{+eaD`7$9Wzaph7psd7IC`5GxP3V7&gP^4NLVmMr z;)3mhro|ss-#n}9KAG>cu=sgu5Dnsvd1|_R7h5(@%|&6~ed*CyDr%|Q=(;cUvzvPj zLwUNlo_APpin(K;lsbidJ5TL@gHd+tbiaRs)r~EW9B2y#w1i=;4t}C9>HLXa(OK>; zcaJ;xF0gl@%6Id8wNF;+Q`6CMdLx}E~-Oq@5Smu8{52I8_as_ zwZ_!CmqJ@2s@Kg6X3V~a-SD{FgSB}?9aUTMh*~EPp~0Vc9#1h%ph1a`9YCjlMVem_1Kdh&ql9TCji^E zUQKK3#qne#p%(<`DGp&{vfva3cfhd?Thg!Kodk za^Zo#?i6Sb{8ivfID-u7BX;7gsHEbH!Wm;Fyk$vr_c-whds`y#3LY#|+DauT9!l3~ zL7$Cx(s&I|$7$L@yBIKUv(FP-yXH9+%GQCKp}lu*m+Gvo->i1_$#ae$~Nsm zG%|aS!0+sP0ynT$H2|5cKY?O4jld+f5`e|QxCGn$6f6dOPyr7M+qfhOEJ6rmRini`_%kN<-pr*LT1})p0 z-L-lJhE$B=4D5?4+Xi-gvS-bIEzk04l-G>;mW%4;sVF{m1Kt0(_)U7e-;{Z9x3A8c znHsWfAJu4zrYMjIx9REVfnS9T-{S|J{=~F_k~l$FH<5fNP>UV>(dSL_jX}$fzw8dz z<%gkNx}!rWYjA*_Ihrj#p#C&_aI4^>Rn8P#ohPZ7TCV3AQg*nS9LlX?T?>s`U!ZXr z>4cU-S<|1Ce{lCwG&BdaItPA2wnwDKHRYF{0Cy~BZ%dV5@ndpo<}*MFJ3X{XH{l=x z1g3ARZK3aQ{%tj(^>n1t;lB99;VWeW|3JHXb~jz{$KnsF$$6XKgejHix;L8?Ew;`u zPC^Q)@o0Pw>G=i<=xPezu4fKz-WLj0bgO(e< z_?+Kko|QFx#@t!B_j~?~Dfe85^kRqagD&cUX(qR6P_J35Z#tRAp8K2Xa<=rvLaXge$Ff#6JtAO(tJo=?=& z2p>0nq7I61dh!#sa~U;u62wu5>qr-y-zBmsNAcaR_IkZ`1O3_;Wf*E>LogsTW%uWL&@LhwCH?p~q) z0DPnjsWw^W;f-V@>vnh4B-ZY<8WY{38(}Ye zT;^E!FZKVY-|2c%O^Ap9y~;?qkGBzGhXOp^4S}oL$eFr zOD6lC-q6Qn;^uR;9rYQx5s5+{lgIX-`k%z2qZw-SG2KtAT_XaakLmt@suAjJI(M6Y zH#EwMyWMg7|NRISg%NDr?1k)1xiXN|J!-=WxZZA-z3hd*#2#c*UsZ6s`=ThfWiA@m zI%AKq4tU%B?TwL~z9yPMn(@O70rzjLx&bGXDt>juWi$e};}^h>p5q8ZpEZRc_i&h8 z7BV?vvE{&RV=V9HbX(5CtCyWQZHjI6GCl+RT~iv^0AwNe+UiBTwv52sftFoaUzlR$ zn6*t>EJS;>0iWPfuJ_jk{=x~-*!Qbl?JcBXf|DfhopE=B?|$&@MFJ?4 z30eK1jWw>-M-gErB8;CUe~G#1;%D)JUG8a%>rZm2mdRZ~$rX&TioeEq2mH0n@dDs5 z-mwxx&nvG)Ypy*l!eJ+;Qf+T(gqLh%tDi)RmQ(N&&tmFPev6RamfU>6pEkjvtkPMX+$X68Fz9c6Rl1}gfe6Qsen}@RLnrj^>Mw=imRb&5rc&y|r>hT_4&3{8gh-_;yCSUBeMkwkWR@HscH~GTRF;Fdhy&Iyv{^wPj{1;JaM- zPHR!R|BQ$Q$8m6wr~zfP2!22WN890#*MTIkd9zJ%G4M`_@e4|_*k$&@9W`AloFPr-yUdFb(2X+1 zL;zn+@u$%1U#?*&Ww{yVR7*ah$NBD#FkO(}LG{<#{sSRw3-PPFl{T9lT4(pO%36qC zo#)gyqD=m*UTl>b)up!S2lc-s$UW1jHns@F4SI*S9Xz$;E~>x9C@bc%F=j0Vuy&zY zTjg%{UyDed>}K-!=);N^xVoCMaEA8q?=Vw6mS^RfeCiHqGKoZ#jPv`!T3_qvLW?%jMM6`R)U)S@K}5FJv>525Y(U5cd3FEenG7 z&|vLW?8{{oaN4v2ZE$xI6lK?}!rsp3b~8-6sv#R+$QSP0GGkMo`QYZ_`iC7bLcZR$wQu({e`Fut0Y-hJtB*semPEe;JCbjkNaD4YE> zOq*dJZ*_!L=~@2I*o@&?W`czuNBOaVoIbZ+JfU#>hXyKAU+pWywKg)H6_l(su|dS{ z9b;7vDs$xS$~4S}o;GpcrYcxb|5Z9TJb?CAv#JW)aNA;sQToj6>Ikh>Z(r$+nYPfT zpSwT?BY$p6%`Ei>V^EVZnZG~=)6Jj%N2{ae51daMwufVM{(D zuV>$n)K)5Iv)PhS+KU9eh1xj#7}Tvqak2*swR_|-tf^3YOF?bFI$9fpdX&d#!^#Xv zU-F12us@iD6KpklTn=qq;%wBsC-N$SyC88<>SFI#kirvsYx@bkU0chmruUUp`0~e= z9D^`!EdHnXVs`7VCyzaTDcwe!n7yzYz1qB^C@7~$tCJz|qO9i_yO^%4 z)H=u^8X`j0I7Uk>`%*7?ag)BpZ(UsuiE11S250$Ef8JP}9(w1}yNcAfz5Goc4NgXP zwuaovmee(RNAK==u*%%sS#R#V3kiukXiJtrQM)URnj&{rPQJJT?p}GdeTSTaWW`CV zvx38fQ5Hi4XCVfgSf0+l9;*$r`}||y+@*K+J6NA_+N3s!Hhve*t;-aJdlWyj zRP@?twqu;O4Et4CH*2GDU*)o!wP)QsV3;7+v}56AR2H=sHu4rNq4~pSVaxxpt2^1^ zVSZPfx%TWWTA>2_0l9yea@h7H+~-q%o0f)!qI?Xh2jf{aj`Ohk+qAPV!4mRCCn@C$ zORTcCTQ@=L##%3dO}1OAtnTRB_{@X)$(igg6STf9Nd#C*?Gv)B2FkfENhdh^DplScLzVugAMfheQBk=0P;y37iIKvcemS zVK)4bpMFff*OJPs$Pbjx6P=3il7{gx{7?`wD@JKFSSCtk5p=S7Ms!;0k%;MB1YN;s z8GeXgx{a$=8&2dfn^}6fli2174l`D&&F-HgATjQTp9ighF5L`26z+E5M5m62&L`DG z(4%M|2dx{Yca(y_!w-co5p-JF(Q%~b99)&#@IoGHA_9CDfk#J&*%^&F5P{zxfxjMs zpJS_XVq$q^76IipJdfVnvvx~pdLsrz7Q;Y9PcMZkw5X!YY_h^3WGjCdNG3DAm|g}$AgRx zrPYCW$m`|^{BR7~A2D2xp9eY>?b)EWwWOG5=_3>mh5LcsOU_+ljp*q(fd>Mc73@r3 zR9Z`)uDCE}6gu5~6n==)gb4hR2>jm>cxzgQh=;-tjll11MaNEBcz7bh!%GqPLEx0* z1^9Vj`qSImz>QW=AWZ@uekj7nBk=7JcwOt}_<1+phP1`RLktQd@a+-!dEk^F>MlJv zPn3iXl5pyzJ<>2~n!ty1e7N-db@)i>#--0zV&tyE}xr8EvRX1U~C}yi9r; z4wQqf_<1lc{quScQhO}C!Ve|zHsH-ge2cXAI{a4Y(slTFX#&Z!djO)IyAb%y4xkXx;L0(YTQ&eA%zbY%4hT<+S>XK8QA?BM5G0=sFd zY^&WrN4socg%7(svd?B|?%KwCG`|u%a%|QeSv^KfyXT(b>C;BdpD}<$Z#@`?_}G zBF)n>s@&SwmS`6g)_OvbJOQ`ZV9Vbj`|=x@!Y!la^{QS#tFe ztq-f*0Hxo;UfAq+AA%0T+Z(iwtLtC0vH=yE%C2tE#~<011R?93D5S!Zgq0I;A3z?#I7sjgLvfTC%@zzx1uO!jlTWBo$x$q1u2aO}w5j4; zAHww`e|H)gE~6t-GzJi~0TN^SJQJrIpRHqtG4j%3GN+)EKgtm=G33Nc_*`QFP2qbA ze^ioWu(~tByWxlY%@e}i`MgAMt`7mahye8U(b=mo13v{s0A3{vjkyV#RpuqJNC^7x z5vpjw%PIU~qsyn0Qm+zzzj3^dPDUL8PVs#pU^aEI;S`erYF>13qavcCQ~AOpufwHA z9a7OzNjM%c<{Wg!t2f~l;*8ibA)bB|`+DU5m`K2KVdNZDd6C@zg0?}k09*dSGG$qKvNBn!^#$BfFB53U>=&;tO1lpiD|c0;uR6 zZ;84@T~iyN)2BBQ+%Gij4~V^$w?$Wb(CA_vheU}S7Q0A0g?03O&26dxd?;cs@k5n& zCU}I}6c8fh!6ET|u`TtUVElpTP(Cy|6!P~t1q8j4AQFc5DLFn8+g3-#_k9d)0VU)> z`4Bo77YROT?30l{soOpG%~?=50q;jok(0&3qFw#^#Z?jlgm0Zr3KQlO+z$ zMeHy+Um)k>#!%nIRs_M_rxfHA1sP|YkT5^5x$QeC1xVRMmhe3CP{jH_uXVETzvemzu52@z!n*v2 zGmcH{8|StkC4M~20SbfrNpWhCT_$$NL88V#k-0X5^qX<+B7ZXy?hK%`SZ)$hF`Mu% zCU|98qp{tvcC)70yMP|ggYKfBQ`xc2NJ&0i$8*=;$<@z77E2q}^93;22oj8GdBJcZ z;j_(X*T&|=2T$7FmYtx-v!z7eNpw0g*UgagUq~^dj(GSG(fb{P&SYs{98-0_sHNGD zgR)qnT=aiYOR^M2p!h7aX*^egr62gB0y|+Q9od^3k(2cS`uodk6c68?Kg(7?) zSGJ;RW>at;yXz&8%R%-T1)cvALa(?+o&+*;ufri)A6xp8mTK7vlAEncL&W>xRjy-) zzqPhurz&IJmi-hdJ3}<*%Scog2f7=BZBO9#WZfoz2Oo=&))8cFX{pjKWHY#Z9`NQ;OXTF?79spiBmB!kZtl*%T}VW;!cQd z1$qr=hn{-4<3lYK&eD|__Jhyd(bWaB zj5^RJfq=c_&aoXVNf?k5*%y126w3-^qLCF3#6o1j)2iQ+)hnxaPi~K{^_m`>)wQh{ zQWY+(VcT|SzEo?S0$ZjJmm6n@{Qge$KIrZm0_{z@*MBwhX4bSrODa?AdJS=>*ti1e z`h7iy$SEaU>TPM-A0=(L{jKm;hovc>A9Ins&Z^P_ov($Fd}r&@uZ6s7X^fp$e6Y_Js=M{JZJ z-GZqPH%iVq0z=g>6eJ)Ww!s;vfq#J&(&f1JUfI@~$2qD|vMU>h?;{mcQ(ZXic2bso z1XBCbtM<0IrjSlU#U~qu;!ep8k}4}woN{&izJ=9NC7B(wr>1a*;bKsDL50|)UD^xl zUe&gVZHiS@GA_(Bh*C#olWSiLb`91d7w=wr*JRI34*6PKins~xS2JyOF+(gVX3o&u zwBKsp@HFt4Zs5Wj@?>9JK{rH)xKOxwNaOJYV_P(_VjM8w}p(S zm9k^IwJCP8rA8zl%XwY92|eL`uWM7%<8q#Lyng=a8%%W+6*Vz;l^ds0sT2%Glu&t( z_7MiTV|%m)=Utj z^CC8QElDvyfl9u2a^DWzQ;_v0tWy+1y|p;fJlFvAqs>WlO7jIy(+k@2AeGkeLrENl zK{oslJ}Ux$oMmOl7`rCrAk+58SysH!)+WQpQIC{Evn25lhe^OG1?TW1OKQ)tK@+S= zWtkXH!w-3*8w$e@;TwQcum$+%!TR$|1ib?W&hSJ2M@Qg~M&NH>kC#cmUhg1fMTglL zWxfbFC7>UEvtkacO&SH5qNJ5x8aAv&je24Q}Cl5obA`)$=x--d_q zLt(E*;CEp74L?MGGy;E}O(WTUN^IDZ!S+se7&jkw3p-NC?Gaw0X>~3hqIZciZbHmB z456oUV00oYJONWu$+5(9MbjJwRS$8i~Ga%3VMa!l={quP8c znasvwGF?b4I%4t3a*u0iWtn1G*+r~_y9x_ForM`G(Em;$QP3v|-XKH~er&o3{4zn{ z)C@?!v@=2YyOCgbNDcr=Zjyns|!q=Ac6N)99_k03gtkpz*j zB7(gQ87gV!&LuqCSjdqPH{^wD;tnN<4}F}#7YKX_!TwwzfO{0NybVXlMHK;|L!2u_ z6<~Z91waBy2_lD&6GW=k5gcfg7-hskI1!Xq`v3>Ray^(ZzKjEmi za|9u>NJJG=33eek9ui0{WVy{~6l4d>XbY^{A2FTEkiglZNpK5ez*XXd;^ZZa2|E=K zWsKq{*n#MG2zrsI0mL(u+>uVaa=Tn0asN~!6s|--Cm@Mf+X0qQ0G`1K%@Ony9#e!z zP6roC2xSPB!7rLbS@DeWwu$z$7&t|=M8I+ZD+F9FU?L!85S<{}CX(ePhZ)TYpqwYp z5~5Skcn^MBXc`pcm6Eb;uQo#owj~ z=7??p)BS%Dj_jNzc%M+tz8?vqDt!P6B8Y5uB>13^ilgy!iDg=3cfjU88g&yZ{S>_> zdSuw8s>HGz{bv{UKpxrKT7#XYzkjM-mTR#S6*RNbhm;kV@^LF1hjO82ONMJcUBp}m3kk$9nLr#y7Y|J3FlH?AyCLd07_8? z`-Q?BH=(f@YuW6tu$JAHL9^fyUumg0UOw+D_^iud8@>XYo$N4BSz_N3IL>0e25_?+ z0Ly+0zC|Oki@(;~u0k}IN|akS{93aasW1rUH-sv)|Lbwv>p}JsnKgMZF`Uhs{s!|O zzSvl|9p}QN04L?f#A+k$ruN9@3*__L z2%jbJiDt`vCbEo1PkWS06MV8mE{~b{)1%Dn=qy~|`#yJ#dCzPN_u&MbW4YgGZE_C7 zxn%+lfvrujO#uX%<0&W*)Y3IMfFCxM5j+vjErWl6;9hv6^rOjK3;tw8@Y(DPg0pj% zVq@Z3#Mm($gq=w@$I4G~B~#|?Xm-28mjDuH9}8{K+LJYb|9}ZepEBI|j5dQrWcswj z>HY}$rF5f@=1&0&A&loZoKc{q!d03PZHN>$N29C692=t`ZfN7`rRA}bbO*~l4Pi;+ zUd3&xLQH2_^D4Tot$m-3K{}tu)(5KhJ{=HXDV$t7eZAVb2 zk%S+ma3y|EiuVryKNRnu0e&vtzXJSPyi*{Ve!y+`XJ_-i(=yAlahXYS;mSO7&=MjQ z&Ex`eGFEyA%k^Y;qVaxp4NkS1Gwmn8JZEY&xm$PYD(%q&S#po9_}>+Zm3dICG|_E4 z{_F#L^gK?<%W7)aqvvPIT}@50X)E3uVfbUB|B*(UiL_NK^q>3<4SV|PLGC@6^%=Yu z@b`kO%`3^c3nevFr58y|xuA`VgNvkOE4~#6v1j5X zv-!yqE4rYyE;EvC3bhf^4OuL{*MMtmwUk-`Xl|NnNL$j)O-uNjv*3u{Scv2m%2W_n z?FE(k+3abT%(3NwR77Gid{8w$S@daq@xfn!hq~tOS7du#*be=C9V%}#euv|I9S$l)o2gsvbz;ns3AgI!N zC(~s)8}j1osGOBdPpA@A_N+DLc%|MehG?7h-dVC2)-0P~8UCKA0#gdIanO|cLtW`$ z6K-spK0wMm2b=!m7SSB02%k(1#7I|;EHnqRgf6e;;t%u8S3cl53cHbc9#eshw>;d3 zfP_)?XQMF9O**^b2knNkQ};?&&MgY0kW2=}w~&gDFhll5b^Ud9%(bFZ3k(ZI&I053 zxl!=()wTk|U{|#@#~KqA#s!JM0tPmqpsdQrVSL3wP{mExgmc0UPsP z(*3!KbyMGrDR@bLKi7zea-vdQAABxPuA4C9Y(tIye%6FHpWVGB@5?&eO~l)QRV3?Q zur>sF3Yw04h*5Lr=AyGl{`H!~;3G4h!FNg5K4^6~FGV?a6qNH;xkn$)zm?%xFBNxM z^q)og0h6Hoh;N6aK2(6V8dJ~~d|mgW?*5p+D$ic`S=rNya(PLfNi;UeYdhff{?Ypw|a0Tsk5`3sBzTnh1Dc%e0)BkF&GO)^Z2Z`C5JX_rhSC-6se0MV|T!aKx zW;BD<$$5)b>rZDrvMAn<5BDJToN{V(DLz|&r9Rm!XF5+->d(Ncfvqm8v-6~kTm9ru zmCoi*C49n4XVb}F>LmF8si6&U7`=iq26=U5AKoe<{|iZ81)``*{SFA1^pKmEO+1V_ zQEP2H?kteGRi*f92Wqep_nb9q@nu_a1(NLj6y-yo3omrhpGZwh%o^JIa_^nhxfhp= z&b_$CO}UnX_SZ>s-5sC`t<;;ma_87O1;0xD65ci3|K#T1NPDaEM4jFxhQ5m1VB+fj z;xi3Xlj|FR&pX|~d3ZS!IkjAGB3ar&-t(egr5ZMcM=WfU(;8T#ACaeu0S=AyKsD0^nH z6-`=)yWaGh8a0y%IkTW}Cc#Pq?!?Jd>WoUGf|YzaMg!_%+;y_|5;sUe?l41v3T+CR zn>O-J%j7#7`VK8AH>|^Y!^X#FuKP&z^0X* z8F2@pc8;bc`Hu5J=)mo;40e9;8vQerw5jgGCq!<<__p6mW*;`>T?x%xyhs1SZ|~gZ z9-`yc3Lw~&Hvv+#BbZ(kteXZ&yFeTG(ljD3GeYjfio5#s@r zgS#erhBMf=dT5Ecz+U3+PWiw!k@r&V9Kk%EOp~Yu&Y-JFQ|u)y@3PjtjNB_RUQ<0; zGo1&k^nip0Qd&CL=rUI8$zG+iC1h$!lX-oin{eUVw$-4M$a(@L5mlfx#dBJDqb!w6 zhj!ZzNbq6w-o~I}TH>!!f=A-lb+^Auc}+7$91$gXiM zLGtpk@fONH5U0!SDaxN3Y{~L`yd6Z6?q8i}36X2nFXfE^JCBO>`VnVRbT<7*ZHrAA zCMCbFkMF|be$u=Hqwj}VGd`Ha2E%XUW=w6U$S|<*KEsl%@Utn#7rp{xmNLwi{E1%4 zX8nXso7M9w^g$0St3qE^T%iYN1%8Z%8Ar3<53;Mo;yJ?=-_Xo~TSp5nNoLEgZo)~KV%66w1_4BIS zE)+UUrtkp*vj5h)mc};dS_%#b9MH8JlyigG4>~sfhp`DiYd6^|vybU9{(tKwY|GD3 z4-iuLz&X!al2FB)6$wpf}gQ=QwgiXuSdWXtw=k2g?Vf*Zr^AzL}W6 zg}0gJ<7!KH_b_HHL%MTBP;8xi-u&L@G!QTvWzjK*JzsQ{*oLXNu<=R7>57WaQxemsSoEpk^9ca6rw`+ z_8Lt=DCoHc|FiWuVt(AIDX_wwxa&B|3p_cZgzOC{G*sJO7kHRS< z1s8tiVq&*axA0kFyL#s~@@0bERdcXSNWzz6!_?iaxSH&yak{zvK>XI^{Tzx(QKpF9 z(7I|1CY=0ErblGh5h~!Vj)svulJgp zDrJ?IB!mWy>&i(byicrJ&h0rSZ|%4cm`p75a~USCh}?E6Eilcwfke zhTmQ>ZsL@D^Fq)3Y;teoO@EW#zUa|B-@&NhkHV;tt0~`MsT>>hl{iy0k?`@TgF$|K zrhL+xIVN;mcc#$VVi(57?ys|RCMj;mBl!RS5%wnVQ55O>c=gP^pRzCRFc|#EmQ`y!2AVAH0VqMys6NFfpP=lpp=e z*!slSeRYYEX_!%*aIgIP%r)PoSSN3LwZ)$9#VR+g+3IqwOtn4 zLxDGNF(<9wpV%78#Q!fq9eilJui$I9m*M}ab3~-M8EfU2L*gKsBq81)Xtp4+XALE? zEb&38>a2orAMl9Qf}8ky{N>Ph)%z1WLiLF;Xx{%0L4Kjto&|{`aJdvNM?ot~tn>L86s$d0?S3RGN!y3Q9amXRapDz=oykrc+>(>_Hm{%tL%th$n(|EcGe$hnKQ z9K#fR%`_^B;$My4j6NBqbt&~yvv;P-R+^fxx6_5Zol>h*(N0zW(>66TJvc`+O56#T zZwpV(+kwptC)jc&S(9X7e(VV-=~g?L_uQVyDPpy4Jb-k z39jWO)$)bay{U!2#qEW^VDcw+1#GbWcK+uGX7O@XD7Iy6;oll?7cHOhTY}jr%Z)JO zEUdZd3lyua9h-7^s7b)<6k>G+m7cQ^Y=y_+ON}gYP-4Y$>AUslACzpYl`z z?m5g?*;B_x;1)n%R)rPc6O;U4LNejyLkB`vW;MI)-dN8t-^Rh$$>Q2&T2kGEd+k)8 zyW%N#^2Y8IabH}?|5477s6MG4>6bBjUDn*9rMc7&%3`gXOPwE?5FH%GHO{>7bOHUP zv6u0?sm?L_^;EZ*$h$3kxKV%G+DOwNO2`(jZKRTPa&|n}QB2v-XP(HexB}a1!k-0> zMMc;iVdsf4=xOzsWC(OQ>3DH41ur!BcO6vx4=2t-I4x+SLc*nVvGt?2@bS2{M;v9M zGVGtL-J7HaB1;=xE7xH+DhUI3q0b*#Rc^yu58p|=xzJd|O5V~v6i%Z-^1)>o#_Aef z8%1-e#(j|Mv1Rcidh8yk)k2@_+0c@GAZiDKTMjhRc#xLU&RGk@is6#aWMk$BT`q;UK>` zlO{9mO@ReIj?sLbTDPt?y{d)EbjP)l-Bf>@+OWU?Oamx~S&>*54o&@xFLYmAOjudq zgDAo0S)H4N%9Hief5fk8pcXV3|9A4Sr+QT~&!mfK) zmQ_IvN-!&G3Fe{1$|es_+P6pV_*>A!rX%or>|O~s*9m<}YTrO`G*5CNxn46d{j{zs zrwt-~gW^o=pf)f??HsYSOi^qbaPz1bIReK>{#8ofq^PBDw`e^VTxOHvw_w)S7!Ooi zHwn`XEbvy$veMQP;u9{*>UGnstEWw)1a@F^)G6mnr>NyBs;OBH4Qsg~dSlV%)Z>SL4A1^I}tf z_R4ZgY=5G6{#WQm1ls3#`$jfCF&OZvKd;zH+ar`K7+;dYMfteeBpOLuS2?{0NgD$* zEy3%sgH~u=QSQZDp$wZ&ZfrWGMRmc0_w}f-ZWdeNEN~K2+t6Ms=E3!ejL?(F)E8*i z8IY$cTPoqB_l;m;V&5d9xzGYnV&97No$BwzP1NZ9jaJ#{YZ{CVGWCBNBvsKHn2(hC zoaj&OydeLH3r#o@`=>Dd3LU3q77cy&aQ6ajT$M7}t1fThi1lEN7;Ku0r3XhAc48TX~o|etWB@ih|=ElkZSb z(nj4Sd9(Fj73lfiE%DN!Y z8WLS9DJt#iKISH9n2^5Gwd##TRbTs0)jYA!4a3msd-)zNKMtbJ+?t)M&~UrM9*Op0 zx|$g&jsmUdMU3W97~Bfn`!aXkl0=SAzup7Ie&ZmDd=Q1Tb;ox68!sk?RCS5D+bo(? z-MaQxD?;Ij4;Ou8hG1Hw&bmq6T+~+hP(vrQ<_;AOUNgQu8J8VORF^vI4keaGO6@-_ zX4cmGXS?dCFr-~e5*&H*TEzAi_G8H5W}xuP@)|1T?LzF3@!g?~6F zp-Cy9g$HLvJ}8akmAzA2y4Y_U4=b`D$h)>v)g99Ps0&PbOij@a()Ee~NPHQHJa z)=)-zNSE&7BnTO!fz3hfIkXa8qi8@`=gMx()CWE8x5}AvFb|Ux>QHi=R!Daw;#p*a z+h|XL4>iyZhdiXOk@I5CDE`kn_fSNQVxvsLS7IBBj-wE;iS_$NS`hy-p1^cnKN+KW z1|2@qM-Z-^E;@v3+Zv^PZ5-arwLvq5&GJA4#^m8$xS!wBQ1q4`vUun zNg)1@JJ%n9(GUUXVBipD&AW6a?S1Qz;vyH_Z>CQC#qJz{w&# zuARwYI@HSvr&3^?`=M8bgZ5d5+C||6##O|b=WyD0oh7FP-414HJu}rVk#FProPh;? z#tKLDY%I_cv*W~C6rKgXjVV5|B;pI}Ti2wusQmFyVn;9yJAxM45!_0fZ%!^;vQ=N! z{7Y@E|1aav4TY@lB^A7%=*Zqrbirstp`QR!IVTD0+=6OuQrJ+ruyTkdsZeQ3t-sYb!a6Fuy=CWqK(|ZJ8Q11y>c`wu!>1c;U|d{ zT#ZflZ9iJO5+>U_J8wORGL=a2M zMHm7ZSIYN`WBC!uEZkE%S_G-ubFq9=mWK9}=u4yX%4!$3t=r2>dz>Bl9%mQqakeM< z7B8=IvA*B=)3y;K?R{_jb$%jnc>2tT<5U^Qw#APv2vvz(nXo07<8Kkq`LVd3ws*g(w*{a=u$kI?iM-^<|pm}}8DElDKRQj7p@x`N(5!J5dzyAQKX(w75x z&%rxQZ>hJ#aX+~Emn&Xhn9eq= z{`cYn?x%Q8;kmfA@JyUHaEOWKjM%^N*?ZYyN&$vEALIlRNpu8~9mbKL?{z=jhV@a| zQ73IPI1Z8=S)nhi8y=9y)8|tSQk((#PVq%VXGfwNhf>glzZ*RAYj*cj2cvQ`7krHjN+n z;1CDLo2N_ZYzChM(0Hbe?WpEO#C|3)2B1ikhguB3M60kSpe-R!tnADe!)XW6idGgX zgI|;IN#@&Q&J=Iqgd6P0_w^wxJTMYhh3F1JU${Ly?YLc!sp89_V1@Xl*UKSV=>8PK zboz#nP>W^sR!lrumk^n#Y{ZdfrB52kV|^NtnIH0Z%MLElKpC-N1JuS7P~;luJh+mg z9f_M%*0V9XHg0QOB?p%f3RU7!3IzK1alQ%I{!=cojVwHsF!tG+s5ux971fwM{vc;~aI!hr8_5 zL}bd1;^z^GhI$-u(c(fRFaF<+5>CNZ!q4iPXUlMNT^XB?jgzU3J)Q1D8Q6po;uc|< zkHk)ypmRRf%}4vWeB{zsn%~DQ!S7=$6(yD&7n zp-+WaEiMD63|@f$ePOb>(Dsv-(ELXHm<5Rri7mq(jWt+!hP^`@VV5n-W!z(B@|nS0h^W>NScT_5u&j?OAO4 zo{igmtx!q=M1Oo~S~xA=2`eX58k*U#=0|Gjokpt3(o7}2Uln^gq1HYa-a0Zos#DBq z=u`uu{wdH1zKQ6JirGXCCidb@cI=OKNGO9XgFV4d4l94ZBH?eQpNkH_U$Vkj7XIj+ z{<;|6bvH9TDZ~CqpEdl4kCS35NEvxCD&Aj@D+L}ohMb9Oyh5HmsI;Bj(?k(xLrKfy z6XZnlv$%+POj7E*pN-Sn|F2tdk0T~f7K^WXNy3MNz7mxr<%ons*t*t#p_CmciKb!E zY0FRIvoZdA!t-=k@yGdsnHY_*t<;xqkt-IlL6yLE&6n8QvG{gk5x%Otvtd?y1R=$? z!U2T(5a&1kdlVe|9tSg#+VEOnGqTw2AJaBv|03p=HBpb%dsgsh>=R75Nl@=6 zY)gZSu>=nf4);Ri@r6H0WO2P@fw!^WliHGO>A6^BTFJ!PKl%TC;5<}fu ztQ*686t#z|8%E5Jh+iAIV)JKiFCQAS&Kxo7*~6|D#TuN-qb+~`8}}ob!R1mzS<|%^ z#-`!#cKUWB#Ca#y_R+_Wu^OlA4Pj3M*iHudGWzTrH)B8t6+?d479Cg41> z1j~PH3iOJc8?%M=8Fuc{Et?`V2Xew?_?EMslwcM1>F^UWUj6}XD975~K5l!9#a$8E zeZ41#G1tbN20w55Z%CIWgHJB^`KNT*7SEA2^kTe&eA^JukZ$EEh)UYRn zaN_asJ6vF*`AbVr?bALU2QD0aZGx?*HYgjH*8BQ;Z1{cMYiX{|_Cbg+PlFlL&RQio z7its!i*FAGX{qV1uH1K=R+KIS;wyT1a@XG4TD)poDNc>nK<`m{uh!OH11w)ZybsYD z=zU7BG@sV|ZL-QEW@>l6m(f`p_lGr2d#N9CR;5i)U4ywFzVE=TsQfjcHK>StTy^<4 z5A%9~WZ{K7)BmvcbdKg_%+;QJKSQ{eX>0MSz4v}bn)YrW8JF`Hi2|L+4XmAd!qOS8 zRrPA652U1NH`4{HH!Ze#Ie33<=3<)wNzv|GZ2J>;h53^|r|7Pq{5hqk*0(8e`5 zbG6E1K$mLQH#jG2QF`}jFE%(kYt8iDTkCi~K8#UI@Lr+~#5>1(Pn#J~yW&%r#{z0+ zZAU=OR9xCS^nQ-s_iIT#)qa*tMH|#p?TfEWX7*Hr+WMZjR-7tnqPDRoV*9jrda45N zxOPN;E!4gtPnVX|i<6$cfI6`k>}1cO|CZ5zJ9??U?u2wN1_tr$z2QU>1uiofpHej(J7pekylQX3sqyXMm=ym;Q=XqW3OdxKZd32kN&eP&x4-1{w| zpKXqB@u+Pv*#Q&(u8Duo#D8GoqZ~il1{l?fd#j#{sC3b`L_cKsqL4r2q_7V3QH9|- z$U&xPqkF5J9Tc@z(XQ*QcIrm&iMD`;`L}z-3YcsGqdnFe(h0Re9yew2Qz@Ny5X^F# zY2N}_%j~0OT9z`cS06RcGF{Qe^nv4oKB`aK0UtE3clsc-&!T+`51xv4^CZC_cXEfsvrIq|Dt*#afDbAA zNIsME>Fg@WKLei3ZT&?XRhH5<@-D@Zj|zH121~;`S?l&<5T+pbW)XZQ8wg&1DE!SP zevu4MeslxC#tZmtrr*ARF9_kEgFC&oCu7!(R3qk9TDOR|t2Xgke58G1Ws;3w_q>ot z=)}I%-aqQ(su{_IxClTLf_Y3)|YS9AU%_8;*2LwK2Pof8t7 zY~-osErJ6ji0@tjIDnb1jbKNlKgGjc7tE0?!oR@z!K^!Y{hN&gVuy=ZnzO#Y41 zpFYfsc-b)arF0M_7|yat%j83VL%>r8sgZiw2)4`QA2sp0ZS6sp*u*br=ObK6cDFll z{-}xn&BXVo_AMXE;FTtRj)`Al;&-+2kUs%@2nQ-*A^yB<6iZ4M{KuTXl+BX7kMpD1 zOW^f~;=A!5#TQCBmX(sDeCYL0CjM_aPxVjl@8CZI=zu>jyNu~~QBxgxakoH@2QTuW z@Wa7V_yGRsn&Nv+{+p#gwO+cG_=x1YbABTGN%GeUt-gvC;+t*)MC(9=YuI@3`a=oM zkp3e4wQRA;zfSs7STCE*KGN3G?bZZI+Tq0oRv~<3O8jol-^iwb*B^@ZjEVn`iT_^4 z7fDQIJ{lb4LvB}tZ!f|$re)Gn-w@#a3j)kw&MaeuTUZHr{UN|xrN3x+GucLyf9wMP z+n5!#M;Q>|Z)d~lc58CT#h;hm$>vh^%7+qIFC&N&-NlYbUR1(t=E@fFry#7C-NQ=3 z>kq}5Ed9&y?qze?T9g0DhzuZdbRX-0>T4I#pV-I?_&>8b7w{3bR`Q}EvXG0`k%K3*``C^ixV~PEXH{_<-SM%h~KMdSoGh)h7Nm6aTY`&nH~@ zQ1TPOQ}*u0pOv>YbAd*=j+*zlApr) zXIXC_UgSgZZ}aJ#z*`BP@Px{(W&h&-5fO+Yq~?nNC-ClN>(~|G^@sfLGx7g0@xRLW zqU(H)^)Jw4iws<5;-3PqQ2L@Dd!D^%3gGgK3<>{@Y>4E;h~tIfk_W--4`pzti9aaA zi&p<4^PuPo!U=v0y9_+tO zO#GuJev^rhbu)FOEv5io8dl^(85&^X=YgjZmEq6JcCj6jhpK~bWXDb6Ve+1bk8=M# zEYL&NKX|Tm6A(auD8czA{y7QYgP)h}Wp7BHx-Tz2P5Vyr6FL7HOMx;_1{0irgLNn6 zkPqQciI^N7F!4{D_&p~6BzQ_dWZ+Gf(^K#};OJ#ncPT5u)8oRQhjmh#q`$~ubfDaOA-)b52>=?wyzE;x7QFsYnA!{cPqUpS z|8J##4Z?bHfmp`HdTddkY9mh_(jque31BM<5t`ZO#sF~78E_%MZ15C5z(st9t&n^s z+`Q}@dt36fzv5*-u@=db1ia{*I+cp}Tft-D_A46(2mPTEUTfn2Wa6JT@gIYy3{AwJ zm;KHXk{22HgXIns{uIs2EXqLe@(~NSnKHoNc>tTTQu2p6?@-=tkH8i2y!4;P{oTr- zK@tvx3NRZyWoR7!a4VehH|axGn&EJGw53UoH0|}Ma@(%sW7N40?XskdlwCuwP?suN?r9}i z+j3g5Yk#{=y)1Vu?6wqNHfsj`^)I?~#+=J%%$qa(jyvwWXW9(y^dFAGy7Y~?+P@Df zP8aK(VFKc_tS2D-I=EKUE}DhHNEb1 z?E1@9YMMnG{IN1hdwi1me^^%kv&oPy%olgx^(O2aE83QqVE?P*0tjHsf0VJxKyB84 zJQr!hesMYqMScg4sGd4&){HxDnK9t9sdJ`P&zL=`a%^=q!6A35w)9iwPVJ?Tr+_m*)^=*^M_+7Ag z{9h%zI5fPbX2u=Uhfkk=H*Dt2xMIdFGiT44vFpiO)d3d0+#R&~TOGa0u6>Hu{1$GA z99pAhYd^fKX7La=)_4lF(l3-Yu0s3mcJ(>U7guar?|n)AwbVP+JGE0sQ~lcS6L82f z{V$#l+7oxGPiP;{N4?eF>glqpsYd;iRoip5Cquig-hTGF1LyTIh)HSw z4}?ArH;nxfDxpIKV;c!sKl zo>20&E`RoVIE+x0z8?WKum`A;6OD*l1Nmf&jw8iASUnmjG;_c?d@( zBEC{m%1E9=5jQ>}UMKKwm&|aIB5r;}_);03rk;6_G~v3P3WhF>A8!1Nr8fn@2>~UX zhvT3Q6d+v@RRbC#9)JYoR%OXS!^Hn2GDQAWGMrh|v*1n%b6jsb-qkdIkqB=fijCcB zP%0rsAZiBEMLG!nc^Om!#KS=mFF6t@As)Iz<0Hi{la%WS<`cY1J4p&Yk|_iDK;2yx zZVt%pQ^XyW`JzMwG+l<{08qwW;Pdwz_$fpY zjtb`Pj`_pA^kP@I-7`vP19+k-T`oLq!!>B6>-N3FUK_$toBwl#C+s zI>rULJYracBXkbZ#W1x91@eh$|o5IgUAlz$Jh8?V>poUJm#?o?&YL@Zh5PUi5Gj zfRu^?aFN$Yk=-RT07;d|gt_QvE28IvsJSFT|3V3(AS;N@QG|W6-U{Dyci*G1*U9}} zg}q1ZpAw8p%Ddo7sr7fuj$)S7ZkTJL=0o9m^FtL)1fMrg*7^N1qkmGwt-_ZJ3A+ER zh+BnWl;{qGch41FcpjE;5vp4P|uD2W7iP#(9+?zFw8r$@sjvLt@K_zaH&>J-wigwh~3eSBRp-`#~vVTp}{)<0u@el2^rig>U#$yhq6WF@-%P>8m^($_w@AbzeC{3rU~d_b zw3&d$NP0C<096qM5LFdb32857pgU27?@tu1g=YleD~LyUo?++&_eZ!ga(_zt*U9!z zIhh0xqFmdT%LD-ElkPl00Pu`zGJ|uZ)~}G-4u4*!D;073FTx#{@p(p8L$cuA&q&<> zej$zjl(4RZHU!A~nwF4DTq{fRciGO@v{UZ?52^j2oQID1DBfw&-rdlV0P&z@ zMAwr9sQr&q#O2)>BFnkeGGPIL=!BJ{FVVW)^9;S}r@y9cA$5rz9WP?AKYq!T6O z9Tp@KqKrZ!TsP3HsH!MDi8^n)Eb&g+e{7S@^`BBX&qDsZLxA@0mk|$0`ktgO5YR5! z>~=`eg66@U=7^|6J~!m!yGPC&;7{$IGQu;84Djarip=mid3pFwwEqPJuvd!wRYi1} zkmDwDZ<1Z*J~`a}&e%b6M*=56DS=axel01go4YqlinQ7@g1YA!fwX(W-MtXwKkv~{ z*Sxtwq|?a*9m@km!9PXx4KYD+@0T4F{9hsWH_?a7a9ryC?CC8Tgr z8%}MM0q7KO))*6f#A8gjnCN>7pCd+SaNrVnSB~HRYNw<`?ho4gaxOBAiX+K=mhAEF zP{e#69S_$fTD5;KL zCyF{m=D7$D5_=i;0EHS%7o#50zBbEjX33XUnqy`NLY@?aXD2= zl5;k6Uw04?0{%_Xtwg_;3z2VR3BQ%Pfed{i!%=IX1OdV6IY}?50{9<>dnE6a7)D9S z(%|6!P7brsupz{Q^8Nwz3gQ*16QDN}|GjMYp!Z6CDJW%tbcJXxC~aswLNraz1AbK4 zP1OF~&5E#|yIm?3C@(2Q`%grmy5n`ZO_mhyT*+F*1jBts5hXvX;IIMVLC+9{M0qO# zZ$lNj&!HnDiuhEuM6cuR|1|o1s^eD7Vu@l*m__s_(Is0Do0<=mgt}(S&r(StDK{kq zN;;AEn~DFg>^aZNnG@#NgDCv3vd8@$&6Br(biLK^paf<~%9ZS5(MQu9?^cQkU3q{g zrdV7j;C_O5B+v;Nqj0^6A|X;{N@yfeB!q6CxslE!NpB_!oXBE&K}0lNv{MWJ>89Ii z5i=GP+lRJG87q`DAZc$&Lz0$AS}LhZ8G}x7ZJ!_ua-&rCDwLf3Z-V@}5+Pgj$YHV~ z<^#7$olq=d>V-jv>jLU!ABDr9bCjrF_jfBervblDVSf<)9TN{K&_q$^mN?@^ad|=D zPLz~A&xZL|CyMa0%qhCyi-|{$!$gs>`-vio~UIj>S6Y*o@;50?f5s~m) z?S`H)EVv@gK| z2uPbulZd7YiBQg=W9UdMqAP}_+!FBQ-kaP}@?20-KH}Y{WQPU?xq*08HP`eC1JB)|1H7&=!FUh;lwg$TS7K61JZU@af{~>1kPua2TZXX+ z;1WYdYNY!dYX1~~>XdR`K@sQA#{?gThg~6yl+*Ji}17LgJxp zWkiu-3P(zN9nnAJQ# zlJ1anx1_H~x=+xESa<+93I}Q)$BCl(d`%S1?^mK|F1$UX1L;6IQYEL;H_4J?;=)V5 zPPUE;+2MeeQ+&`#L@}efn`lf9+YJ%fJn$QGDgi0SHW`6(>K-kXXS@XLY-!u;nL_^H z?=p`6Sh$1(ySh^sSXh!?sKy<&Ps1cUe$)a^#;kip&_?%iz=eM1A&HIPC%&P4_ zg0rxyP3rer*;cjvL^f4hzftX&cHvR1R=rv6Ax%&R`a}S6RCdMs2ycEf1*zq&Y*w7=e`7C(RfHPza7$oJp|gkSn5{_Fpc zGgDi-Rdr}hX}0WLN8iNvZ*=09t5qFPN9md3lEY_@2h=0tY(MoS56n)zi)!Ns{5osX z)-OONbaoJq7&pJGPST=}xN__m0NH8n^S5n&{`$QZd%`VVZQ5P`QpIaT%l{WnU&~%i zv2m;E6zN^pg#m12{P0Ma$j2aeA6{fO|4Fkbb-`>L9H4ncBc8XoQQdKf*b(i*l~$d z*zh4C8E)nb{F&*0#iDttQLEsgqf%Pd7GuP zy%76v6NMD0b1_OG7ol|l`n0_kduRJRgoY*c=}DP1Z8iojLEsQlCg=iCy~K)^KggYd zPcgZm|7(gh9kF~eR-tzLY8c`=rF}loojtTGQZnK%KuBGp-3|D(e~2X8Bsv8NKcL+; zJvlSigm4@Pl`^e>=2@DCPi)CzeBqlZncB#uX=-ZkXT*mOREA#KgnWF@nro+5PqH;b ztNp~OrcOiG<6Dx{K2r=qX!@i}!jBhYPHPYkR@N`GXAXgnv8>Y# z2qaS-p~{4?0th);%YB)dxh8~J2890F&};Aw?p6dIBucXHniLzR*X=?(4Zmukz7=C_ zYM(iX9+0J^AG7Hha3Y*B-b4p};LR}yS>a_Y!!v-;l?OjJYl9eRf_TfJr6pTCbSX2% z-(e`hK<)E)p#D*$_JXFo>+<(`1-=zBgM$s|&zaC4a6&7!&!;A34l&`|>f1GsembQW z@rViG1t8?{A`U%df+z%pt_#Bq5b4OLQA+OuqFO*C!^^0)TtzTAL*qY2_TAka%sOv@Z%LdXPyUPS7Nbe;Q~3Bi_( zrm1=MTmJ{4(2$2K3+>m2wYx(PIzdY31XxHVzL2( zOl%u-F%J+a0^$=B#5e=Q^#+K(s7E8j0zm8*5WV096jp{mdL{ybI%;ZzH-hRFOS)== zpbs8Zp}SQkhy{Sqbz`alVyy{c93W(k)SDod845DZ0CCy`F|i%uYZJsX28bC32+|s3 zL8i1p4C)Opqb$}NAZ{^0++u>5p29o+LG)FrG5!mN_%jXhx0>SLA>+Sbioe4U|29MX z)28_IMEs#&o8rG>h=02wehG?f6u|=UxuPyZcr_MbKOpp8{Z0eK923ME@TxXpLwY7D zh7sX75Oi(0%Yd-mgs>I7OMCG7%>O|+Z79ZU1Hx$&!fxyo1)(U zUW&nlP+~y%lL6s76T;0Lfp;-+6T}b$#Gefi-LT5C8z7FEAl?H+snF~H zm>?DyARabAbWXoe5;nv;C?K-oWfaAFK+w=fxp>q7G06mR7!XwgVxkG+93V<1#A61C zT_%W9@DFH3|F&fgG$Hg}(~hvnfbfHkfK>`TJJPj3KCyHd`mG*cx=&xz-a3~coZj8v zfF_G_wXH?=A>RFb#OQJzyo_>~1BeO)B{@8yrN%HpAA%qUM3J90g?_~l`bosn6KpXh zX!FqQMH%kRBrs!owzch9t}`I?K@4M-3&H!uM6)MejS!iDm?yKm+yF7%1ToU9FA9cM znIIMeLa#c_0P!yq#BM;82vNLkg4hoTy(M6Q-zJIK%bFcEynu^CWw^3w?kmg*#_~V31SBzV7B{W=l^74hyelm+=g(@grH_p zmq2Uhq0OdD%mRci2^6UfLjN2dvwZ%P0OABeWac0{MoBCHLK(tz(UzZ5yV^6eXyW=B zwh@My0`5mZ9|eSjp99tP?=^&jQ=7sM0YZuvi>a9dO$eue0F~qj&l?c_FdQzON_<)r+wpg@%GO7$7E@AP$4aW(`f7Ni0T)5(C6` z0|aHd1H@-0h*=$JcEEFS%mk6SzP(0v86dhL zRbwt*07S0#`4d=C!N*vRLLlgEpwWPEjS1lZ5Td*pb-B_6F$55LPrOG<`Wp8-t?0z4 z6QoU_Az!O%p9Kh_SNmQ=Dh;Mob|aoxTMd2Dl*(cQM3VvHqzNJl2(cYE^fMF0GC%|n zl?48p0U|B?LTMFt#*b69{AM+C2z-pvdIbmzCBhp9guW((++4jJS+|?KO5n9aj1MzS z=p)fHG)wfi4CtG62n!tXeBA}Lu1&oWdontL^eOpAyPOXoqz!*0_s?|%ywj5aLM5-C zL7(Ul!iNn3gf66a;if~3hL#vrsv?h8AK3%pY?RP+Lk`|EM1RB-{R$qv!_bFJ@n;$0 ze_)9JktzO^Jp5WkbnE{%LCgU}HKI~AQ~T0OFbpbeEI~efAn92r9g!^>ET?!@V60X`95z4{p^~=R$fN1cWLfjv65TqC>!q zo)91^L@w^vA%qV*1&9@RrwTa^s#nNb6U4l3&}|{jdK1J08{7MsPYn>Sn;@#X!&Btq zRTIR1KP--3y=WL;yCFSe=t>jBDM0K)RFY=10phoB?5m31K%7Fgj9)HPr+$4iLI>|73tz zX@ZFMMN*=nFE>FPH{>E=fOyXYaTpL=wT61M4->*EAk-ix3G-J2!fz&oh5g!wXu1T) zD2j4_{;>63y3laVKYE< z!Jq}UZNYFH5Qnvf7}n_UG0I^I5Go{s!+VhC$_4$NM$g4c6T}N8jJ+2Aes@CAiM^MUil_jphLr8PD_sN@G{C`BGwstH<4+8sF4t|-q;X8D4Oz!B_nH# z$!lo4SBuH(l6Eh;cM14R2c*j^tOD>BlUF&sT-?jMTzXNB(=(=2`{OZ72k+nDZWT?E zyWdu-{SdHqPhF3wweZ8Q0P&-U*VbEe?UNaM`x5Qb-IjtbQ&8BK;Hy8BAA0%~7ZnZA zo=kJ}wiSg+aToLhmL3_4(PZ)1QG<8_=#HP&M*OBehE0~|?4+~1Tnja4g`ofUfLo?q6+cnPj;6p&$I(E{VLMcp zIObB}n+hWYM+2{)tz}ohlnc4;J6q0lQ^hrxvNBWzjF*wA6n5}PBVhyCKlLoL%m)<) z1{|98ziP&nrvg*Y+Pw1#u%u3Q4TL?6fHwTUs=q(4d*Runn-JOBa4?bE-_~lsr@q`BBWozE4pt5B z9)IrF5wIZF{9iREm&_fLEuPhF`F_foic$_QzOqrv{X^|OfDFV~2P?s(Bh_Kb-pn?8 ziQh!Ol-HrNKy&o7xGGJT1Yn2FuFd@emZpS>gl5<=W0MwcT>)4pY?=8R$WV=o?!13+ zMZ!0N_5LZQ7UYLhzq9bG+jW}7SQ2G@hsT_)Dc9r= z5Ec?F{)Gu&@j!VszAZdyk1fE>2iW9Q{{-@S)OUhPbK-FKhVAkq`_9p>TEFwSCOJnN ze_qX+S|86CZ7KL7uKTOfaE+_L(UPKw8}kV(j@#yKJcY)%!l@!t`Vkfn?vF#y+8&tA zx^!W9WjGr~rtj8XI}ZamD{J+V-EJ@vaZAi4E#*=YRR*8y4DS6wkt=o0yCdHnH7fRV!yZ}8j?$)ttH4Rc=)r5#7M{1K&uFDUFICwdg4+|> zU1jGcH1^D0{ufWL>?h-UxXld~Y%=7cae0%ckMi8|?>&WnVZa9EMM+0Ixs~}HFq5z( zF(gEIIoqFxo@xCRPp?P~j4&i|%k%irFgNL73zxy|nkY9PHGkVo+v-*2-@`(0+R}H< zx{}DIZc(fn1~YS9!=;gXN9z}r@K;?Nodk6vD$EktgU6!IV6UjKa$ewC04t4Uyrj2P zPrkJ*To;iNTaf6wl(M!ivPKql-P}NRGPl3rLUwk;PDJn?rp>HQ-drH97`+5D=ek|; zucOb$d(V^xLIP`}>!f^+M_0#tHbCDiYZI4bFkj83PW(YA!;@#$LiZzC;XT{)#?+OU zd}L{j-c(l}`taFBq3U3GOhJ;AhHsCkjnMXu^D-;G&82LvpjH@6jk$R5Qshq`n=!KP z7kp+Kv>p@XvlYTr(d=i-?a`zP1(vlaR%og)B?q6m@5LR3KgZ{Ey#*rz{%BaO9Sgd1 z`Br5U1HpzI|A)z1O4bVO{?I zyF%eF<5W|RphFZE4KbuO|Gie&$YRa)cq8lZWz8#U?X6!-bd?AMdskj7y^B|r*ETPz z6^`ivcIM&Qnrdasz_1pzc`_sSl7SM~7`gjMsQOmej3J@3z-=%=MkZ*kkKTNQdZwG< zE6l;N!1XZ5r_QsZHf0^7n3H4e@0Uf%9I36Pz)5;83OpNnUK-XrhLek|&CS*kFrax- znXgsYJtMVcc2AFr{#}EskC6SK<_GJ4!CW!8?AXt7%Fw#%eVw+p_KUpp;g4~L(A@Da zZp|2ZasBFTf$(GKz!Yxl(-EH3U=1f}MV*qfV25&V85s*xt{mcOQPXm&udOZ!TVHn-&mNT-{y8?C zC-2>$6eB~tyVwGUypjvd5RM2N{r7Tzm>*Ghk7U8Fzb^dwqN7T4 zx>8)>q+#F58~A9dV>> z85T%svKA->xfMbRWXCo{9B@JBZK=%J|+StX^mkRE<~ zt0zB`XPQQrIni~C=P$4nbn+`3VMmKgR4Z|La>gGmZC#Yntfr?lmH9{di^3MzcZLNV zR4H}PV`DDA>!*OlXo_!mZ1@?g)zxa9YTZD_XDO^zimymp?ZTCQy1BhXQ?AlPYfniIVskw?qU)ar6yWOVxAvuP(U}XL=P6hR$fHe7P-uW0G zty0L4Aqp)`*f_Ux^F;{_gW2v?|$EgSzJhvxTse}o2&zl2Ti#sER!3{3S*(D{r-(IV2QwGo_ukPb?eHN$E~S4OFXqqQe3e(dxlD&9_$T;-+a>QvCE7 z>W+RMzapHnTB%zK3+1$s$O^OIMKR5r?irG;F8wUAe(T1O&X!5;jibCVGE!O=^=mWI zJ^o0?U?A!|oC3r4Il<4RI^~|YHh2uiHH)M(=3I$CV)LK|7+&>rFFFO}u7Qy_knM)FdT9)eRW>1D)z-(=p>M6cDnYUpj zEc#%wyh~Qe(2o?^H?cYumX1Xu{vf{NQuN383+-I8l@;32N%bzHoJ1Q$+?0GL*J+wW zXdkGa!b?(-j6d8GckOhK-JZxCNQUm8?59L&#iu`7EW}HnEmxw0e)HM?~1>N*9JuG5KEYupU~wD20oIY*>pW@H=s5@a>p8 zJSk-3`i99?Wqw%9_V>g~_mVcyAf>N#t#TA#I_2gs$yg?d%GUCLpsn^u4LOKnq((C8`1qpbiK61|-#yjO5)~N2 z|A%;hHWe_K%*GP9xFSo=9{clR>7AYpnd3Ik{(p06$mIBQ50vN2J~2Psl>;Kt?=%YBR|=lHpllY{+IxJ_)BlgM zu_j#ysg$(Qz~>1lEmc9EZxSQy;T}AxTC|{%d^)R@WqA5rGUAfn4~A_=hUJT{%@%$- z(a-M>kCwAIeVLy==8;6vh({9rM|_y*)X^ILFwr5&`i5KEoPm~0X_I6r%~@hjGCn=L zajPR-7cQ-~ZW2pKdpOXzH<40%fb2pxIJyPGJ^92D3&m^4f4d@()Z$7SE@ynU@S4Wb zYB%oyX@}u!m}Ok(!>D|vx3LbpQtvi6T2m&}C3^bvi*h2chncrV5AJSGcT<#q$6ju+ z!vylnEza~5{Lj)qiMqP&$MVpIrL}tl37G|2qXTCSY(Tbrix#cIv`dV|r5FO-7O&82 zU~R;zz>R6d`Xi<2;Dw<=N~1nTAtOl^l?SCIavgG-kDz7E&(~tIQV9+=sx7cl{ax+t zhhK*EUe^3f?Ys+?%Cr!s#R0MrvaMV<9~l&lVfD1B_SOEWlvT=re*yK}Bd}OND|W4$ zE2`{I5wU8Pi)KuCc;samVXDq5)&-#Y3d3nVIsdonbyG3<&Ue6WAXha1;CuE!I>XMD zZb@yymjM1!K49yM=n*KR7>QIAudMkWweKfb?S0j1+maho>tW|QZRvMnQ;XG2C0u%# z^&WQ4v!%3J*h*CQY@g{`wW>UF&bj4j3=4xBM~WWr(>g-55bYFGZ7{-m3 zszr*NHfCY|FRFtDCSZWOHfj%l^%V&`&En?rM)jd$(jvZp!U*uH^2x}lNRS1-!4^$@ zqDQDcQRovOV%pFSc{tXtY*c`kUjmBfY=k;uZ|n*^=>o<72vqM8Wc$AAP#AVq3)G^l zF(kPzay}F}9cR5G=d!n~_^LddCFdvY;H0&6XtyIq4LfJYAYK%@1cNf$BC_?{R}NoY z+|up-ulTtP8WJl2c$32ar;SM^Sl=Y}D*9uuA{FaB!4+lHCi-X8T$<1ZWP6Go*ab-B zS7|lbp3KgfJs&Uk#Bwg`i4DtTyr)w4C|J9}R;2c9wx@&Q*Z!G}n>WAA#yqiDOUdyB zK}vHxMM=f94t)f>uG-x>o`MMN#Og-v6O=-TOlz**ZVhHcNd~psJIbC7J>He9$Na>w z+4B>_XTv0BmD1N5we-!#pq7A%V+!5AP0$JhxMU>P7p9F=@^e*)l|Y=^R^0n_q71H) zrc_wl?dY~S#?mi0Mn$Mgyw{%vXTzZV7nQCM9}AWzXxHG@ zk68C>PAHe00qih8McMZ2LqA#ijsN!Q4xXsB-{7dyZxT9IUoi_#jQ-A<6l*tEoa@>1HJ;&H#8B;S>k;X$g(0n0C7Wg8n3-bhwHj8}! zt3l*il$bJY{Ya6+?G5l_S1wQV#h&|n{a2M+KcumaLQWcOFA!#fvA;6cQs3G*@$!k6 zeU_+t($Sh_*gv}2(fUCc2~3)!T@&V}b={6TSRXPn48&(NSJ+665VNc-m_h%o$)ipbx z*xI{*%-V|i*!VL|*6fNG6MaKg-jCQ|GSv>vvE*a!;D5?u!GKQiz6Oy@I_4EAV_bek zpSlFj!~~L+_7yN2UTWQBmGdR+IY&=o#iq9$D=fk1Ghd?>;-8OWm6}Vb3G4gtwGAW( z3w8}rJrkGVEaFO>U@S`vD^><41(hSOpDklJR=^m=EtM`^lN%D!?*~y@;`e%7k)WX>U!g#0gCCl0+H|h^H%JeVZ?( zQ`*S<&I(pn9?s`N4nPWg7iu`-H;MfyDjYI2erdvzU#7j($)mZYUfB<4YU4Y5E{;h4 z%fm{Kx8skwMfXd)4Ds0Kd~x3_x|1Na<5cWf^@+K7dKKGKTO8Pf2yjl_bo{b^={!!4;^t zUQuf>7*&ESHtnu%mvzDY+c}nrg8rZ?6hM|3)>j|KncX#pJGq#+%a%(UR zavu?cIIhF3Jl48j4x{fId~{V}SRHNYUmRPN=v%z5y#I%+^^2=gE*jrll5G1edGht6 zI=}+9Bfa|(^4AV@@q{BK7kw0GK6Kkp2+dd#9$WoUqHxX1t!ZIfcoilm+bgnpjVeoP zFovfjjg|)mp=$ePePg}0QEbf3Yjkugn%T2q(V{(=lnH$fggf&2BJ(dvWQ7hVm~Y+8 zRple1%Ic(G*%fETJ}9Ct?pEcf{%w9Wdb-QoOoTCr6J%qSZNK z{b#~zI!sk#PrTb(ae-hDmo}ufWNWYW@MJ}Dtd{U_IT>aF>nHj$#?tNi_=<$ncQUf7 zJS7^MNt(w32VuFLnsZd<`MdbrnC-IQftY}1fj1C#{I^rb*Nod-1LYBfA)tdp$Ne@LQ#|6Y$K8OvMYcdu% zAkSZ%!8c-G66Uol6T_@kjVm!0t>lA(WXfK}DfKECC^}}bcfd-aO!@N)t`=;S? zWGF=_I@%Fs!HA8r{9l>=2@Z)C98SXVZc4B)`r4>-*g;(FxcE>}SaeFXpJ+RrTfwkxL-{O{ zM?N!UGqQzOVE0!{XF3Kyl{s~s5EEkkn3PHv7542T=i_lE$Ah!dVEvES(GepA1$-^~ zEjCII@+~M@iDGQJbXnU0=Quv{vB1r8dB*}%qt#d{h;h$e;M(Yr-9KSn8KoV-G`akv zUGWGO8JLD&dL&StBKPEm$80T4ZdbvCa0*{Z(&5&C=tC6_NR7%Isc_4;KUcWq+x-nL6wvGPm!J~&eHe1p& zuzzXX`(*zgYi|M{MUlmiclXRBlSw9-?g_b%$pHisV3KeooJj~nfN-NCha?;t3_i= z(((ETTk4gRNnFj8mk8`HoH(?;Xy9qem92S3LRxVQ&aNDDeRwFjF|9Zjr%;Z0WNcB= z%3R6JXr@?J<8K$Ceab7dd>%64;ihJQB8W6E;MgzDO5f+-JcK2uD zJzV55IgK`b_aNiw<1E3MtcAwqEbm?%3UGKH!-C*Zyr0ljaWA&J=`GA-EkCx|9x_&i z$FQ}WR{nIGl^67LZB*OBvDY4ky>>mWlyR_mq1eTx4fK?7zJvY@Sf*kJy^=kfrVjE~ z(vbrfq)b%dubTZt6Q#Ev=V)G$!EcZ$Fj$66+4UT z0Ezy=j-1@#ncYs?`npg5{d`b+-}Lk$mcDv?{jW=`4@Qhiy9*2ayAXkfJX+i7i!A$T zok_+gBRVN6#abAfTFrsU#1|N`2d1#*9%@o?OY=t^{nKb_bF$f*@{i8bJMhP|_|3Lnwr{tkh2lKH>2<*=mIHwTI*TsF>9uEm{>hwQ?)^8$*=r|$ zb8m{>KhOhVvR6VaD@mU^`Cc3e!J0$SvA}i=?d!kZoHj=BwP0hhg|-;qjNvUDQyCmg z(3gPJ$sTCNJV_>gulV&5^_5%oVMpf}krDEV{&WLH-QIDXM~@uSUK61;OJWJ@UZOb>@(%TtcAhQb^}6(cw|bOT#rsG)>rKo zU)ISWgCDCT8l3@S2d=ZHu*<*Uav@561CxKZjN^~fSmE!MeD+MT#bqDDuQY6zS>Gmy zZVTRuS#fB55XHeU$_eluK+mqulnSLf@vIODOn-I;Q5@VMLiE#E%kP%>ZuB^ue7PIN zNhh(h2;wQEE9}lY!t{hY*p~NjV+6(6&i3JvoqW%&3!lZ#zUR*5K?m7C@4&aNM74pb zy+UJyujA>RV$RjV|8dr5by#f5Oz!W+*-PEclv;$K1aNC5o4Uz5f<4&)bLc;<4%0Z# zYUW%MrptCvVtv;L*;cdh@a{pWKG&JsMLahz8gL5VudsJFS@kScv7f6$d$ISYJ9O@w zSYl&vY;YBq>@xceJiAkzD*SYJi%FT)oV1;dzZ2%Ls_zW*L=pWt(mZ!}a{BWMyZ=rh zY5{u|v|QAJPSMtx*w%8kH46I<(RfKz$t=kq7KhvajBX>ROYijBXyUVphtKZ}-^9aj zHsB=g)ku1HXE1J+r|_E2MDO=srR7w0CVZ<2-^Lk;qfCgg?J93PSx`BR&cd%Mz3O9u zU0I{ENdBEh91I>Z;kzVU@5hC(BP10kl!tT{23iUH=xRR7P!tajm2MF@g{9&~vfTm? zj4JcDgH8sZ*C;Y6?DQpa~tqdVzA{;j}C2^u7b zrQ_McQJVQ|VP7qo)xD&-{KpYSafw937ZY(d9iPN;O$uDDRLb#4X(_@3j(9yF=;<>f z4LSUiDcl~U^NZo(F;XV*fJ1!0G^(qIR4pQ;^9XU$qo(i^Cj56nPs-PDtEo3wPjD#5 zlcYJo1C9h<-vytF`=7daNYW>Q0i8?MB#&ev&cYFcekOdb39n{qVMsDNGt=(!tNI2d zk4DsYmkg3FPCWB+UCL?mYqq#7n1v0r4u>rD7@_Qb5<wy#Z9-Mn` zX`3m$*@Op$ca863t6qyp_P=KG{@jHBZo&sgbY)WroW#IK@Azd&D+JD)nbb!*YN9{e z700eK=|DJoEHL3Uz$pRp)}(&YO9Id0c((MpiT+m+PCcF`B> zc@b`W38p*py2V8DB3nKT=kNyO`__OXvPu)a1vsTl-z#a-2&vf=ZjB4X)^p-D;R}FM zd=HObC_UUYyg+)btA}L4hmiqC0_B}7v5SW!1$(+OxXy&%2b>bzgP$gilio3fe`~_yQ$Q#j zWoQ&|ia!ZI%`c6Y?hqbc@{lG$^6X~K7# z@DB~RjUq&`c@*>)@qH*GOA{2ON(Q0pm@YV~!m2JFlC;l+zh%Pz zVZv=ayCyIQI0=wvAq~uwmYc$N8gVNKPq8nD;~TN;jIMm9oA5hK_~#}(vX`E25ZGwa zY-xNKe2!EnaOz(*sa$$Z;53SB(piJjZngXKs~%k9?%4ry zJqN|WN#bh!G+Z;k+Z6sU5#GVWtEFs`TsTT_I&g}AKYkj_SUe{1{bcn(LsdE>JY2l> z+$m+{ir4_epv;8tG2!n3rv!@e)1(^dvcOBY2G&VARJ(;Ee#?Lp{U$$E0#qIP3YR?e zIosXRcLI07Ps80S+5kKVM+_zaCwgj)8mvRD5;%P$;tvt{ zAo3=UStf!S;FLfVei|%)H3+`RDj3QB*FrV4>1Zj=G_f`JID=XH64k-{AGwp*vI**dre7wg*DE_d$G5I9 zshz-HUjU23i$2Ab=sP}Gn3WT33(G1EWD{=?y?oxgGMh{x?n|l)q>8;-&y&m za$48B;2TEZJH+9;LKD~{cZcHk>}u7?YC2#kI^mK$hG#c?KI}?ny(gJIYGOB`Qx64uN)oWGFU~#(g4%N!;t#GHaRh77Heav{p$&%aL zeOSNi)M=gOsa2M64=$}={DX{}@t46+^`zOdT@#=UaXlyMWL&KWcwrn$>+S}>}rim7u^4R$^5 z?9RexsngxL*@kGv%a)WcT*?~LE$-Mkda|Pso#et1I+CJzRXJPslN!e+I+UJl>&sS+ zP5KH2+;X!kyJ^^L^&ad?PI1Pu_UTG6JNbmO-;QZcD_e2{ZrV@UEUQi9=ct7WSp(1A z_SvrPY*bZ9e$%(*YN8S-xCN|zzMAzvFYbS1J`8t1JlmDYCU!t~0Tb2^w&q4PjAhMq zg>MVlqi&nDC!L+&2lL)v-V;8M9h>b6Y8ro|nkbW1Z#%1>h$5SG78UX4o75Xjrn=9b z3HR=(P-EHbmtFBqH&v)F$+&0`Tv(+m1CpzoD2H}dv`8Jp>K}tLol8;czuxasnYvhg zfVEF1JKCkN+WzYjHH2j@RlBp$<*)|u)+ARhYrO@Q4?bP2rpQfmma6aS_77kHJwB?l z&Iha~a4Yky@ET|vW(QFHD%I62@fKI~e>FI;_cq8JHd*P-^66qtsG`@FkS6_XwOc}wx^Q(6DN+}x0YDE#vBAx{uQE3nW;vz8-9ar z^wvAn+nM*@V6t(wdV>0}T)p@|e@30Wt>Bj+_EM8Ogut9hp@TA?sx;Jo| zNjU2D`z$D&Mgza&QIYWDx^YVipdLKw37x?4l#V+d(-Wrf1Pb4;uh)|h&kEdeKnQwJ zH` z7j?5h4otl;n!xO*t^vnU!RKY%|49C?=(9V=tNNsh(t+$S#3aEa4fOATWC(-pNZdOi z0!|Txq!$RjE^JO7gQhTuIgSe>SV({y%|QYl_$wQ6MVChc&e~=^;FBjlRf)D`0bIG~DnIpzheoADSF1;50!$UBFo!LjPezfHLwB zMA>8zgz9n#LX|@aqKJG1QAAS+qU`1pY!yX@qPd;$vy!xqAk;wuJN_Z*cFj=ssK>nS zAPLwl6?M*kLedSLe*sSlfaF{wU+V4H@fB|WB!B3YCwNkyw>sMN{(y?=NeVwtwHfeh z*f}BCj2#bxD3W%9pqEJX--t^404gVNKa~|M_rT<%zLQIMBt`hA-f=j-)3;b0{}Rmz z+%{17MUk^h`o&F-?K_qlo_`gf=XI%SF@E24rg1_RU6@r(MLqMt{KM2?%;AH`+!=P}hfMFyciaedS z|KEj*uSmLGGU#a?5y-+&DlQ+|N;tw%I+DX8>ncZEYarYvjOe0s_<(SfE!PB!7Ruo9 zATzI1)I3QLyMSTzri?toi2&S_2qJVW!QX^nP+=wEfEx*h2!m?S)SHCAkDL=EeG7hp zgg8G;<9ky$a@?OFq#jNX6~9Pon&F0@`Q#rVtn?ihwfeBA)o2|%C>*`a zL4v4EuM<>-CeX+~CLCStKM1x8O`w%f$3z*9(V?H$LgjAJe$fGG6ai(;C5B)_2@egJ zcEl@T;KU%%j$IUvoMjM%fD}#!RVxT0hbss|O}u#`=e%gqjJYP?@{7R$9XZbdnjwk} zrs0GkM2N|A071SXe`x3jg3!?K1fik1fJx9u0^w+8eF>sj77>gSMF~g(cQ)hmLNGr9 zYA67A5%G46RGt$NUlb6+az-Zw{FET-$ae%Uh%Od_&1#RNUVR9p%-x{3A=eLqYAsluRPnkb5NQJH{4XkJNq&QS#D z6uFh&c7iB#bRArf%K~})6V0uH@N5`TC72_u?&ZpQ*W6$94+wvp!ol|-APL$aAZZ|} zANpS_5eyWzCI<-{vU##zmWbV(!U1yxXs2s@=7dO*UwY>+UoJV=nM43Os>u$1VK@N|MhWvPrHUTNP<5Q0<_#7MS|;0U3K z0#RgzvQ$t0523OXgus6w*cbipNqT_9rvOPsrv*GCV5@-V1UxU`1p)1Vj*+msM-VkR zkKk_6aTN=T&!dEOU!Snt#lQ>=y};#KyAIC;>>#H8f6C-cq3f zKq!k_>3o$SisXc#ZzVV(V8s_ji)QVo9;t}h_e5dLc9WO~pwit!{w)yT}8L`$>Yx z(VGOJiN6s9qpt`KfXzyR=*|=iAm~yFqE6899MVvKg7@HuoFWt#2JtBq@ydne z=DDJ1F;94u!qG8x7HOdUqZ8w6Hy07067e2uzA$FJPqcz2u})YZnjLEUYKjNJY6PVI zAn68STod$5fjcmlL}^Nno5W!DoR}{_3Vu??@i+8fREG1QQi6zpK1Fg=2!rQ<*Ak9q zQ%7(ix@Ll?E4=J)hN*agUnYo3r%+K{#>9podPW*6Xc#AZ#(d7HL%(zbJ&>dX7h%Fd za535~!6m}RBpB`oPB}d+;7bC&Dj;c$7Nsu|tjAj}2$F=ZHjHwPqDml$qUui&MKP3M zBlKTN4=6j{_oK`z2uGP!0aAj2vbT~yiiTIF6{0esth2};42uXNp;-i1iaKybKbA%O zpe)XB9Uu)(QAFooC3-%LO1$U81cLW?C&eljZEyn-E*Dd+ThTfQua@vgYo}k(UV~fIE4sM))ax(gf9!o z`|28DpZqg1sr+0_Dp5HVs&oo8K(Jn4hEsfAiQ&&HFZ|b0_@|g}5QN|-xt;P+vTmJw ztt_3R02EY*AaEhF1F`xNL>tN@h#s+kAn2wMMCDyU5IL_A_(p>0Hg^yN|APdP;0FW| zk9Tb7$j;G@J*l*V0+0aj*^od2|V4ABY_h)cWrT&k**@F?Hh|9Q;X8nmzM6aRKfBM)E*2 zt0aiZcQ-+l(N=;O6`vva4X$VqD&E$3;qv+5HyMe zg&dV4#Pb zF6hb#B7P;on?!Ag8XhGa+}|aLc|$Y7r_k&Oo))`hXpRzZ|Ck8y$^j2d*|}lk-UQ*# zYd3mA%tg??(UlT>KvW*I`!d3zvBd;Y7gi92#%cg51MuPy=}JkPWPMXAuued{yl|2T z5lR3Np$UeOgOrs2>#Hqx@i%KXR`VpbxA9IZob`GfFMeE)VxxLbyX<7KwGNeecO&5W z@oFOT=Qv!ft{%iSAGzaL@@_SWO`51iHEr6h=IO890w#)sS-}%{9ROB%F)$5uzdepC z1oihwY~B~x>*k4ezDbg&uwhT*hJaVD#oL7$dl8}LdAzpx%U-q3#@`XKmmgN2`hWSt zr)kS0>ceJv>UZPC-JE^uS-A zpjg{p6wM}fHrbZOAMa;sgQ`D1z_KTXCx_TUKty${yg~gUq;#FW`M8&jZ&Z&trvc3n z6ya?4Rv7X1Zi3a`yhCcbb2S3JBGAS9+!hqi8h#6lVS5g#u8@PBjE)>q(^z_IcqF@k z0Ow%@xJ0Z-7VAW;x~D^9SgA9}<$OC33j|SY@_^uYHc5`KvdGrZNcPf2*y}wB3Tomc za|~PlNJPA?OhGGWTONr>bDl$}M})?)HxMesuB3w@EdXYPjB(Np9_$+~@ z^SXf-R-X&2!(ku^@TV?>CQhUyn}s)Q-rWF|P9WY=eoHe;9~$ZEm5z9M@F%%E_yywS zo8k>*2mq*6tyoE5MK3EJM1fzytAbW%BVzH?y{dL=IaCUdA|8h!ap{x*^UV zO=->t4%-g6HJ-(cfoa-W#H$BA$x0o0Agv%gpv`yYu?~0zkC&+6(U^34t-iz~78$Gs zhC0LWM6SaIrfltUyF2j?Q>2rKR0$G_)SK-c0QDyYV@|58vHfqht`>FaVDnCXDR|;f zCQd`|(t91^)Q73_LgQ^@-MV8S)u3c^dJu*xG|3 zkueA{=5Z4^aP_ih^Mj+=;!`fW%?g&f1>kNLj66n01qc%6)~=X1?E$9@q)+0~93mhK z9R)YCs0WL4`qkfs2r>%uHdt&BENCPNu-Ii{QHw~`T>Zm#m{^qFeU$}O)c}h#CKi`5 zl?bOQGD;!W<1isVuOjr9?|% zhTHGcH`j=I9Dackz6?5}0_Jzap1EGnaFJ3MnJ$BcS0p&zz+xyWg^|T!un<-f^AKdr zR@SDg-O@w@izOx&=fI-BF2zC6(S!~4II8U zaX1MMb-Lw&FHI~C8(3UpU=fF=U{uAdXuQPHSwtbosEUNm`j#9O$aMx51_7NDVTL1-bp>o9o9A5n+()*3<;Kj&ZxO!unn0%b%-3BXpKMZ3w zf@vi|SzCl(plRFDV;bf1q;zJDOo$rg+O*~Bpt;1rBHzSf4_Js&S!N14grFR~$u2T+ zKLzgS3Aun&UjqU@Z(?x{Eb7?g$08yVOdQS_%JFYC)D7KgziL$JWG z`=%OiJC}~rl}v4PMzSMssu6w8fW#w6Za1W|&y>oF?ijsv-R?z@F|U`w0zCv5bhUxS zITMS79yG#oQ-iH07LnT^C^AKPz0<&AxY{+ZS-r3gqN{5#f{aoO-F`JAH3k-b6N^f) zDA5b;4ik%6U{Q~#B*i)d3;NE-sPUJ2)3Sw|QF+D0;xb7gGE!?`5u|lxQQU{ho#qLH z6$BYGlCb0ILEZV^WHrJ7hVPqK9n2VEOQ6pGvGO*|{vAEn1xn*nLR{z6*YAMr?z>pC4 z8#vsANr@%u$Xx&nMK@2g#uW4&f`loY4^2V*sI(sIdQ3%(4BI;yvS}w&m+jJ3 zE*&P)?>k8~UzE>+`SuVZhl zSEAMRU}wztV{Ew}r&(P-yOmYFXi2w~g6nM$zF|qTwc=?T+wym%n9 zH%D)G3>Fb^orZn7!GhZ857aM07cRY}eDT8h2(z;Cd|Ncz{-HX#>)ixnS@Ug{BsSw( zdk?nyl$!A1tk7_lbFVdO9A!m!p^~0}{suzkXITPaBt1rHgR>wUdNR0hHs~Yuwg_FD zm^7tVN$K+?mi?JJq-n;-YJ|+PPOF}Uh=GX)4w;}C5QOGQ=>*ZjIUGt54WI;&cG5{k z1(8r|B}E9SAO%XFAT>LJ#Frqa4`nyp9X^DW?ZlqZ1zG9N`hKFeu2Oa+N_c#EUnl8T*9^LH);T>qXWx!z)57Q{N{i#TotrhGtSW16X z`mh1PS8Eh5b{lMoW|eUkm;4~xx4_mj})G8^?kbs*(%vpG_g6eqzAt`hVGsk+Z>)Y zP*zf{Ff8EmZthUa=qe6eoAgRf=QU|o--)A7{aApjG;4?K4vs#h--EmpcdA9m!I$0^ zG4gPkON1+`B!u6eo5BTbnxG?xC`~&Z_<0$7p_kx)8nKIAk8b*3zawoW-T3 zc^U8|=f!Q#i6wPBsk<7SKIakc7Pb$Cvd|5rs9r6{nC>{ z>D@yit-XA~--fs-4cF0-i*iU?o094g_aIjAYgPWxrr-4PU#=|~t6y6(;cr16HoVy8 zVejv-2Q>}-T6M|tw5IXjsJM*reADC$>hp^Hc$54u_2)2t3SX{biI>$oQfSO}pv7({ zI81EX57)OJ93yCHaP+d;Q$EK&xvc)xUrJOyR9Av%b2S79iK9bU7xH%t)5Pnb41G7n zktIo&hz{-X7lNbllkr3Uz<2sVpHBD~{V;?h6YnGmA0^I208Su$I(oQicu;bi`u?u2 zlM9i6MBE`RUfqZnm*761@N#{ea$wR>L--VNS{A8bJd!At(x!`7)Iz)dRYJ?Gu#tSL zxv9af<;l41EWv8nnouoGZf5&J zwVv`B_9p_1*+l|Bu-Gtw%dC(UcZhWx!A9>rzX2$;2O|a_SbG+>{R) zV5uwse(Wm!nKoM@$ZE>321>^$vo8F|2+e=(G5BQS{vjbjEG$dA%o>JbZ*+B4xQCS{ zIl|b`sX_LpNqw|B`FiRUG$~$+Md=0{aUNm9=bG?)fm12g;HOE6(i^7mv+S(PhF4{~ zL!2z;m@|S6aVmGRnrzL={`Il5A6u9n9Mv?_t2u0}Cd`_}P7ly7|IZJP{QvXAqp4N+ zylIp^!Ej)DN<%xrbU-Bz{l0*dB?l%xJRFebK!lUj4%98Qa8Bzq?u6?7$6PFks=raa>fC?r-+A0J&3NCI8}#m6rAM1%CVLpIx1SzP)A4QL4xlT zkOWcu@F2z%5C)ipc^IFXdBv0r^ZFa$PyO!-g1|Qk`Z@uTmgML!&Jzxh^y2`as}kYW z0(+wD~1cMQ=ygoQP2&ew)p z^g=Berq#0KEy`v#eYjQ{QWK6I2W(T=v%|H~A@x8>zbWiDLicx~<3|8(=tTDt`ch}y ze-e7S6CG9nw4;-FGocc8K6K8X6Kd~7`xF9o0WIO_t|4?fP*QFRd#?~Z{C2&IvleMC zXC;E5VhQCX#k2CcA@S(>_gzHKwta4ht5-dO3q)`tpcOw#b`2h6K#EFk7E_-LidOEn zvfGbG4i2eAH%AldC~ij7itceHYy2n(3k&eu!Pbt{x><6v^Tk{+JAa^VHuMbDX+s}3 z3VR=xV(qrsFze&n;!E&hBI3a1x~_iJJ3FkN_hTK!FC^?LI^KS?W@WXKn_EoJFVy^b z_Ds8+8QyHmEN-T&c%zH&sJ^R1u2*uCi;uHqCkzSS$rBDmLJdf`;gw(8f89Om z%}-pvTHd+{#+FcP^M^BLzP$U;xKUr@X2i6z$I4(fp~3A_$COp%@F`eJTYZI;vA@}k z3fn=)Na>bs@`3lhmW%&0l)dZI_79M^*rv&Q$ww^@Z8>VieR=;B_vPUZ!=?kHwJ+qRx-r^~a;|HQ z<$$y;_;y|QN*+!`^;+c&(D(y~d+`Tca#`&Xbjq5decWC3xjsI>_n)-~>f@H(u zwE2o-7ONYA0i^D9q?Of|YFY9g);J4GH`g_eB-VFmh{i5|snoMg5%whZ@^yBN&FUTQ zvCW4<4l>nck7c)?bZe~icS~Qo#x6A$!zOPa)Q6>_58f^Cde$;QiwOB0;gt0u{12~Y6R}!c&Kzr;M8SmSPW;Poe{kr9wDt2xE`)bC%c5Zr6|#C(TO5{ zH@|cvm93^)m}7(W_g?+`fV;=mK7=S=jMy5Jae zXiz2wGkAn#X@kIZ2~(tVUGOyNI`kz(ujjD4^cR8a8tW<1OGpZ*!A!$YHjsKN;Yi@& zBHV*#+;PxbS}r_v6=q2<3w#n0U^gHP%WGoTz;UlM3wXd0!$(DU8J;z)ug?m+FUR{! z`NUW_qAvhW{L=9otKp#LI^j_S4-JPFUJ`gE#|KN6P-BjUO5+4Rore$SdmM9cE88@T zPLIsdhO?8CwYzr=RyMHVL)_OgR}aO754;r|*eP)LW%Wbxee2kH!5YiDOVe2UwVIQ) z-e`?(@=ViC$xWr#YSV-L&0y_F!ygFh=#Ii6h~XWlmT(GGKM$*9h&>c!1Z5;8^)lfY z@o6A;1j4ZaOoc`>1hC=@FOGvQfYTV|=!1h?+#^??iVy?jl8^jj3HB2+0gUWC0!HvG z^2Z7eGI7RK8yxT_B|GxODbaj96F!*q3<#!N06?CB5n?WshH6QL;V2NFmyQ&lC;_KZ zbs*3u!Y2_d6yH`sW1JxZQ^~(r;G@JG3es?YNK4h5=0-dn1qTNS2c#O}2pc0L1Ys)M z{E%%3EBLoHxXC|9^I8~+D2KgLre!uQou@?xv*x?)F*f3p#`fK;waNAR+G)=sjP5(3 zAkqm12QzhYcs%X`-FF7ZC)yX{mH%-B+eL5)Yy1=^1aDw#$62GtK6ko`H3Wo z9?I6pws;mcH9Uqj$TpX=*$~;ue(P_+;h?jjR#rRC8p*r^EUu8#0SflxVlCNrH}V&$ zuadHsK)BXGFu1F1a+)n(-leC$nu5<8g57LMyE`81FF6(Kuljbk%h`@#(iX|qjs0dp z?2q+euhoW|O)x_a1V@9!iXUZF#sg|GFL3|~H{}OjU;c(iG+wEI{NY>%7I^GragB+^ zP{doT=d0wIP*)$?L-v54B#Sr1+iQxqAMy0FPKgg8$e472A?ZXm>_r9du|PdTPv!V^ zcmp{JB!RL^Hl#8YJ*+W}1jXh>1moL5j2h3zl*g zA0|D@WD9Q0C_U?N^`dLR0>X9=kO3Y>!!ru|B0KwBXta9C+o!sp|-^h=($a`JN9J4SZHUEE+*ZDeDa^yapDlOe`Xi+cI81 zhS88_WYGW?9z>-INgYo>iq}mns=z{Qk4!%i<_c*JB+Xu1f%f|-g45aA66LTSa;J;Eig0$SFv8XCAOtby)D8_{cL!TC-S#8MC}ul}$x@0U z+^qDe2$!uIq)9sIZzfU~R*81DoJg%7T3xmsAf2wKp9NfriDR!9MMSB)#aK#;BljIk z$qS2CABQ)ZQ>E@n+tU~G?L9+EppWBF&PY~niAc850jbTb@#awM9{KEQ0@6H81Bh^x zD{}pEbNXkqmK#I*Sn~V#=L;EZtG2AtqC=n+p80I{^(rksBVd51bvaFMrL=k&cX{o+ zt3aVW67oAH9i!UPWW7c6%1Ub~8+faB3z$87tM-bYc5@yo$~)2x#$#X^)D^;alVM=X z7tEh(i-MXhr^$Rw-fO>pE_;4$lRQ6@8P}Wmp6-_M$x5>{5rLvo8BDY|qz5eA2c`7DEeY-=9%^N0JZk5*@H7`&k-Cd$l8(99b+>B^*@-)}fl<~HIrrP;qHbJ~JYTj^?O?}m z*XCPMude*pZ83iT_nk{E8g3)8df4L0Rxhi0+?|fC^0QwmnKo+t)0q5~63;4M3bEom z_Sq>x$?`!aPX(x9*^O|}flM*}lB{X+w40T_k(`UaWdRXu<|Dew%o z{Cs${@{7cJ$RSC1rJ$3|MKCRJZfDQF?@mtnv+%x!dxuIX3Lb=`Jm1RJhDRosABQ(3 ziWwYYJF!j{Gyp_KCu;+a@J+yp-h-cp9g|j5_^%?onun{>ME2#fkYxW!=!l}t=iY7@ zc+m0b9PcKT3OtYF(b7G@1CEkCAi^8)OpB&}i*QnXij*x4MZZA&Yk7FQbeF)3Ii8p! z{aJV{<{rsXj6wU9K#mDt&epE7MfjFvI4<$Ay2IG(Yqba1pX0Er z*ATCSvb~$MA*|=T-~qHEN@7Xz_y~Y6iym+*8BJ%_X@eE^RIQfCmL(`d*qMRhA?%SS zoV}T6xf;Y^jXRXRH_RQ%3i1#-DKR3JH76*Hy?(d0u!!Gdm7P6dLDj9xR`6@ba{5nM zwyJ8uq!kNpT(Dxn(s>JfE0!&}wtVrb1*0lPWe-|p3SG$xt3p!QpA(hkYzIkP$+Udd z{8xO4QSc+)DHm+k*083PAxUh)amaq>W~}C38Kh)2P28Z3mzgU@&tw=2Pf?Os$7U^$ zO`D~4W3EN6F!uKcwE`CLaEPnPu~Catu6)6`*vBb-Z)@JbP0Bf`0$;KOr{ZVLbTi%Ac`5&B_fM}fXMOY6od z-X%ARQ%;G)nC17Yoe*@&rd;rPGLRjL=Mp_y};EzG3Sq z)fYLGFoJk`cKURTR;;{iCI}Tx6bvQ{e~8OfjCW0TM07x}oPIp(yDX@X{jHxnoE=+> zN_aRu)W6eXAy?v04w@w{S{=jt=lvaO1%PZdZ=Wkf=~q7^?<i!lSWqeSX9E^GlUdnsVOCcBMMxxDoQqY<9zz0{z;-5Z9Ndiw>;&S`mmII+ z(U`zN1B(a)izKBhiaQNpk$$Pnb+SW6jRPh4Q?+3;w#;TLGLKZ3!Kr)XT| zUn2(gfHu>C>+7rh$#^uTP-;j4kDdBDU}ABKwVaKJX8WH;CaOT_5y{50PmbW2>2wri zG0*3)UrZ@%HwbBbhcW?Cpux@}-vfLxEAOyHvXH@+2%M+<2vn5~QgABWkj$za4 zDSscRjrlkSYN|-2{1p5U%<=Q4RHE3HR$FxbIaBlth#shyX@=;dkfKpYFS~dsG&->m z-p14~8}itl}V5oM%<5FwDN`yj z?Cd3X^sr`A3abtIz(CL$y+0;jB&33xOwNmVR(`BeT`Pj9jgZ6C`;t9c-3V_~nM&PL zlCEKDz1GvY2@xkjW(Ej*tY-QZr9VOW? z0((q)4EeZdx44d2$|nAB=SZt>eT`06+Yyu<1iI2}>yJ;a^!VQHn3hc;9v_c~gyddf zu-OGerl7R7O!%oRMf&kcO66GPXw}oW9wtNAFMkVv-{OlLnU=A90jwWbXxWDsC1cpv z`?QoX?Gs^Ts-Z{82D}E`#g|{fSalYPcS3cIMb+yXYZJ(TsMZp&A5TVQ<6u;FiZ7qX znDj!P&&I|-s>Qk^lzYWmu)FU_k>dlLtzx%5s>Nrw2vdKy;`42MVfg@^1pD_9Da}3c z*$ynF_|lHfQ$=AJUe^)C{`jbt3@O_l)e_5B9tkh$hNU8@0Tu@vb9}myc8iY;+A5t# zAEdh8zN@x-FSaN+K0)bV)jRR6hH>NMt+a%U@L4lMHeJ3C7TlVzq>X~HurX}*W6()Z z)2hd`WkEx|M;bcpDcgd(eWawhGUb+NPef~iujm)+kN*tDD@w}`r@lBOcenjw{ULQ^ zJt#vfC65k_WIa!2es{~FIRsSTy$(m^~iSFGNiJo z-DOc=PqHv4=-YM5E0t2()G{{zS*;*iPP?~5@;=ldd)-Gft1Y0u7tf!tqt9y3=jkWT zxE3xJ%C>LU$_0%jWi}K(Rf2%QNjYs?*$-`n+0wUbv3WhRta5bIxu>Nzy(0b%#Wf`k}UTaXK;jDLqwqK<+``hA_ zi^_}kiw13GRB>8wn9Nl87RzUR;Z7yRCLGYF`)$4mU*>JSD&*AIV*M-}P9+}gcr68H zA_wzYKu@FxDdU^w8>^LpJ&M0-%fsxx zEghpxkN>@G@vajuRtvtg^v6lH<=sP*u{qI#JquQVvpu-|_~MtC{!P<@(s8V9%Q|O2 zybpL|oikaU#?BHL%H;LVWTn5%Zg?&@kNuKlX zys0HiUhKkqZV&6YBh1BjMQXV9E*1sLTP$yNSU8*TqE^IeH(?j0`9&=~ltx$G-Ncfc zv@w1fqi7p~t`-P58rrfN;Iv%QBvtAqh7zEB z=qv^fk~qGe(qJT|%0#e(sTV?{^JxIYTVCliot_VfniMU?iKz{xPx})$2z)=srmXCj4tb zUw}B8lq^+XAPhL-|1fakmxn*t?nsp`n+W1DpavX8xR$MbI6T_#!6R*dY)3G~*Rz{0 zeIRgJOlneh$&G@h@G~6mDUAmnaKx_0gr5=gSqP)uk9?Yl2uJhz1zybYZ0UDe2MR|#M`9{K^n>vu(>=Ao1CGMq6XCSr z)i8w!Mp<9wKS(ML!#h>-c$pLAOHWW`5RMp}77=IxOm=eyU@bxPJvcs0n$OCMLflKp zE0ueVkUkY8Pjb9a>P3kQM=WQX@P|zJN5F|67NSUUq!fg;2jOG!2Zq3;W$fZ?hpx8g zIEjxp2O`ncSRxIebcCbFQv9KC%AAI~18W3+C&$N07X+^FJC2ubRuLc^#or5@;_KlP zr8Eu8bn-ZkpC(O~HesDj_;!v@l`aUpmgCn*IrxHr!lO8Toph(b^`?Ej^t!+|@bH;Z zd?X%(BLOCv@Vg^1Zwojgc+Nzibkh@@hA^^vFLXrzd=}BzKv>+$z`z#-`fn5r~jZu zMrBW}T2}d=1pZ7Vsp-PI+G8^Nu0;!G;per{%#)_XHGS7tsg}1je{N;o8*riioNLu6 zcHK^_6Q1}$d+O?a-eF$sX;fz7IK{&!wd-BEz7-1=h-Ajh$G!OF=@_2Yc(Hvj_>`8d z--b9^@3HBWIBAbgjrS&qs@oq>8LL-~r1AQ4MVTaac(Cz81xq;9-J}Wsi3bUP&i5Lz z!*i|vhR<;w>S+-OaNJzK)o_NmtrQ;|?;!tK`X$1Y0RBr!*NZKr8+5@ObHr`Os7F+l zhz{MHpeHq2OS!D1g{X8fg&Ul9W{Uh}=JLK^yc`Opwv7%<5 zA{_on1ef4PaG6m3;{V}aDKvnDQ;B}1*v&)yaKcyVe3GhkIzMfuQR5+xIFSInB*$&~ z?w$h)-7Rnz!4+cr5#e(QN6yikNRHJafjb05#&{7R10D)T#`+RmBLsr~G=3Wrih!Ci z<+Pe$jsC4Escs|TYeikSU6Sevzf~8QG~pqW%ySB4IN?jh zmh*i=0|9?bG8ZF#$$@|jf{+54#Qjd95~8dgCw!A$yOZt~43UEgghS;B z;+ljPS2?0cj(Y_^XfB=bsX~y2(0>7W+%F>DB?Q30Qv-i$F5x0Pj9{H8Q!wC_a+_#I z+l2xekX!oUhAK}FCB*$-Mg&&=g&Uu#d(S&g#OVRuNzF%r%*r?4o;Lv|zJieXr||j8 zvJJTBr)Fbt1RIyFI9Yfv42ntbYlGP4XWb*&U+%WY+R%V;dV)5aj! z6jIDC(l#_bj$&v3XvK!|)T z0ZPCYwr^UPTTbBnwz2QYUH9L92nfI)`U*?4Sr3*+M0XEH&7iq)0e6(F9zXUz`xz-hHA#Pf)Fi7b0iaOVw7J3(2% z);86r+HAkRPG5Ih)jb{ZV=_^H19K?pLkcoi(l1d9{{i$_c>T>J=B zw=*VhFYx_*2Nf&s*Z%J4*~??=nm|JCRV{WmB(RKSZwq$gTLJ!cRYMSt+@*uGK*-Y5 zK>7k$8nZ)twYcKxsmMrL85(ml-;h`@1BW=oFmf0OJdUS4EDDcC7K_2cC4|T{u<)B$ zOah+8WW^qtVB)aaAVeSbtlbuGTMZIDJ=SW+(Z^atBK=tY$F6uA-R^|_|36~ZxbWG~ zh(6mv5@=v(3!P|{ZgUKzC!iFo=;fnikPjVulu zSPU?*pp#BU7O7wn$M%(3A`?s;UImAMJ_oVc18^zQP!PYYYyUnI^+`~BkPfw;d_#J_ zn9}V>UVe#P zJcs^d{s*{jEzA%+!jQnnrUd8|#FJdcULTlJhy;r=M5SyN8dzkq#&^TqETaym3=%>u z_HH*ix(fX&7>(7h1DlH=qtsR4nJ0J_8+d+VVi6RIMW3#^k4!8Mf`wPG@EKV2MHHjz z4g=TUn+)rXN23&Hz#>rGB?cA?O)Of0hq3ZGA(4@$kPE=?)a82&k4EMfz&u09H_pI3 z5mO+ed^ZEv-+c~?#iNl$Bx-S>c3{fUSvzR^!pNfaDvNz47Fh-sSY~yy2<&j6L2`Gk z6U%%(BiVQ~N>L0Jfs9Nxu-FeeqZCn?<89YjJZ@sK7%U19brF734J};JQa;S;J8E`-?=R#a(;6PuZ8HMnHLxP@p#t~any5XH!1KJX1}-~G56%*5dba3~N$V0GGA9t%wzE&!jV3$Xx?Mosh|cvXnm z1{TkoSQJ1~y|Ya`U}8}W7J-U2hb1T4`zYr z!uy~h6E}ej698TXC`HPI7e8{9K`zKT>5K@o7onOwizTyHKbyj!U;e0^0pJZNxJYovREY{|{dW?RC8vYJw^ z;8Sw>^n+vEBb4bwAKd6pjSDR6%QVDU)TGl;dn=}-14ieUTWjtI+r02`WuX6 z=T;b>**2J`VFj7B)M|z23=BYaWRx8MC3TV>J6`l>3n& z@@g$@+8XVCT~;L)vA&yxSkdyaAXJqN?vU_g+rglT#y&i!$OrGHNU zrY*hQb;fVfpcQdp3aAU%!`}tPHC@PZYj#Wj0og3Oo3oFS<7KXVTd#TO;NUu6_9kJE zofJ;hdGWGar3#ptl$I=*PecmdL|Vq-U}bsdQ;{bJS| z-xuUq+AWrm->kE|@jX5us2ku;_m8Z4j~`akUW`d z=HiR?%vD2>*rIhqHdueGDW3WA;g0E9yASP(n_4uru=kpI-&-|YeLB$n_5V6hTgnRV zQo>{l%l_RSjrUG#Pur7mSY_X7d%p*3LWi=3F?hjr{Ev}#zXuA?uo|I}jnq%eXAN!Z zZa{LR<`fjlp8+YHmggF_o<;;32XHi2$!EgLfsN;S(v*s)u;$GDfl8R(E_-POj$r;5^|BUm=MB13=CN1>;Rt9TJWj8zjYp9EPnHG+Z{M=0$!`&N{|G&?_y?3`g zUXEvzE5egm!4+$z6U$8QhT^YNzlCTclcTX+aQFN{p5T+V}-)RWdR4B+0%HL4?? zwf^G3ro$g__g+E@J}9d$a)%|-goD}wL0Bc=^)N8!I>8z@;xqDCnY~=(j*}g1?K=>} z`k;!*d)_F!i^Ys|hsj~=wyikOL)*eL^zr%NR@_Qnfv`j>{s8wIMJ*3-U&mU0g?)j! z?CFv2_(W=J0m^4gl+Us9X<^awlk8_u!UE{oITrf7EV~$6Mv-L}7n@$}4og9;>Eti~ zgCykX+>M}*`DSt9lxz#zRqT#SK_%)WzfX_{P6?5y;*`*75#$9qxtm$}OSrx3EWGi* zQujnp&D26%yYx099!J8s;RV+&v1TidB=%&5_u&$+q0sO}wxuV&weLSD@U4B$Krega zHzlKIFV3iQ(CCFp1<8*UIaYV*a8r+eEu~hDX0v?mY5oR`YV=9Q0}WxmU|$`&_pDUQ z{v_Ytj_GyO%}=~^%#xb*Y)49G}MTgra~inlH7{ zISlU+XZ4jncQsgX8b|7mFU_x!wz+){Un-}JIcndXRu-~*UYV`I`SpGpk>?SS-aHlRe!l5*z1L9Q1i#EgL<1Y^U`R7mJ&KkQJhAHAm{)D2|DOV-1v_=GT19VcOPuk zeeH9P@DC{ohbDA!-u&K<0hi)iy^s0d z`rhIm*>1I1Qe~vSxg*F+vU-l{DL3N#B7X4Z9=a!nyWg)|$ve`s^i)TCh2#dA2G&xmIY z&mH-vI(`U=0h7!5JTmB`;J;na#Nm0TcuvA|vv^LG^5{TYfqu@)x#{m6^;__3R0gmH ze-OU%iNw*eXAem|ci|+{*Rih@-FwJ#8n;JKZGAvab6yNp0^bk)(6YB9)a%ZSKmGUf zmUf4lknSBeX2GJ$IPUJ;5VvQ-SbLh3qJI$-)QTfrDKB8=q2p2pY!DCnbDM9Rl7b7% zGU4k-uD@?9!ly&EnOboBsSi7*Wm!b@wzh(wtZ9~~OMK6Egz+Lk728jG`m{}lwzU2w zn-K;hR!@`vcZd;Wxk^u;7|GixMBe=#E)t2mZF7g_nSsA<&o2Cp^!Psm=;r;PZFfgq z_GcZNQi4bRv2;C}sTEe32(Y_i0Gm=r#@N!P4};5I1i0`TF}pN?QL?PET4E zN!xrok+>C!N3`@njh|Gb41Dp>-VU4h>qGYy*-wWHefTMNbU?9vZFcd!C?)4bi=r!0 zMt6G=_1)qP$+Wa=NG;$wln0#QLe-(D=-6V!2G+3F7mhX*d^C7dboZkjN#0kA3NHOz zqogU%ED<;G>U&SVs;;jYPEDqXK%FmwzQ(G{N9vA>iFdSo1r_d8s6UWiq}JTc28<$ zZp|7HhIp@JO6`udVQJ29ElMCUd<_Y8IiW7)bZ}-t`!6+ne-8hD8oL&_s;aDi&V6w& zaN*v24g&JJTu?!Nu`)3Yd-zDL ztf>b2s&UFns)-&>18ELr<@aCv?1R@k&G-BEkIOo1@3q%{o_+RSd+oLTY=v4s(T-;dYtnisdC;PJu8t&3i3yX;Iu)z;qO#Q^ivSo&p9Po_ZQ|c-MmF0g4VzM?P1m~&jW|eMz)IC(i(ao!z#!=6u zlo#uSWrnG-ww&9#$O9t!ju4!qpTYdnZ~?kzsxxskPtkcvdmSJKa4}_Pe6z%P3FL!4 z!x#>fj;GbQRIJM}el1l#=uE3@fH#M1z>g1q_Ox_SiIs1kFq|jFreijbh2imC`88I~ zeduGW7B4p5eXxG|cLZ~CTr?lng~fPaytlyJ%5I4l3f!Xv#M~DM94E(?6imnXlfXHC zHGaIX<^u($<8W!p1`9_}@hbZUbK!wNCU~6Iz358I^I@IDe751|gNn#piSH885|lT9 zn~tM>PLr;SO{3WX+>v}c-PAocP5p*ymSDDD@N%rDcCO1LHd47a41WnYC&!KE!?HF9 zy9SKU6nL`2XXH)C$-O7T6Y%VVHbS2$gT7ASe&u0_ccOZI3Jk|t4fzv-jSR5N-gL}x zWElR(FuXAgZwFno=TT^fB`S*^sep-EZ@EQV@4YgS4h)6`H-Y87nMmz} zVa}E@N~zS^#Zz2f-sQ9A&m6wsrkg6~&xCyA`o32zoI~qYVR`-a?b@Z5qU)*lNgGbD z?X_i4MLCQNPJF-?vwqFA!Bo-B{yR!s>hf&Lj*Os#g)zOTaG04w-9oL#NUKko1=4Cx zbyb<=dgEzJwH8P3EYk9+ZmG9`ZrtXK!H5vk?}ComgF{SC3x+`PdDslCz=-;X8L*Z6 z%}4HNdirKB3|7C7Cr_2uk398QpW?|ysrTUNqq$IS=45;46_(AJH*b7p)$j#3LyKCtOEX;gO*i})Y6YXjC_|FDnlovBTy z+_|1X^m)0fCmXO%rfV*<#L%Z7YW?Y-H{!;w*oSfYe2fbU*6qz|JZ-wmtx?W-H6^5; zL`^(3+=A2PTtxzHSfJ&vuUq7#iI3P^G~q#84y6{G)seDTE9;^iLnnuu0gsNd4523% zYgerw`%r)Sb+L9e{i)gmBQZB?I5aia5kc3#5feivZ*-)xN{|ri^pwghy`UiqzsM}9 zy;g z<)f|4m7ha%7ZY5p>oVj^?kN zk)Z|&w@J8N!lxxn;B>$bc@-I-!0pdgp{`_zdcT3;P-8&nwya|uZG107wDJ9bT=Hnf z(R8A1hsh>GHF6tse3VJ_1;H2bDu8o55BvAVk0IjMiX4G~XiH>d8V3LuO@N#(l@Ylq zm_bh&F6cowgYk({pK+3`+R2J>r#bvT<8bUI{>*R+c%UYjUexd~)IY8f6(0991jEM| zUI7A&fe&REfXs;@it~u{XDJiYf5|GP=eg zF_>R^ajJxYy9YJDYY&Nu!8`q8uU`Mp(V03<`nq+Mh-3s3XG4fI)R2-S#>Z_=JKQ_rm~fxl21pr+$HkONAF-gyUPF z^X+ND~2D( zbKz&kdm=0z4-v&wv&*d);)yAX@nd%g96W%`Aqqc}L(p<@%8Mx-hVQ+6iEe0y9-+$T zEb;W-cHKi2eVw*A&NcIj3E`DOH7D$vT1bs8w*OG(I*ttR`^}L!BW4B&JvcO_6F{ns z4gK{93N1r>2n$~bi|@l&j6>!Xp%0e*T^I{z+J%bLLs*Qa)&i%715@I#`td=Lo<8Lu z#n>P++%1IkDdapf!|h07mq;z;Nd$#v_- zqHrdI_^}I8%a^h7zG?7AWmX%WiZUt6*h^o94qJ!%=!Jj)@1-a6Zu}L7S#S>+&lM+q zVHUh!Z~(2_qV=&976_~0mV#*dW{Wnsw!I_{!k0S8fMVZXvrBzC_Gs+eu}3$46``!e z&(YD(mf5b_a3(S*uf-5$*~==Pb9Y!QYPx}Ey>zV8GZCUL>&UW*4u5pQ?5iQvwjOr& ztr{6u_HUS+vIMt7l)zi=&W;4J7S9k;HD}A9+NI}n?9Da^lhhrC(b#AqOJd1)_1^kj zxsV?^%Irdj!os@l<nSF;L;o}X2FWQb%kFDC}o-Z(!Ftr1!Z~4EDA;PG5 zPxXE(VY^6myi6a&7L;bgB<$DQv{AJE<`_?&R}LU6(Pq4s9mwybbRNKxF#I-pe`-XU z_k%F+Q}jx#9h+z^*i#y@&*$mG-G;jpFJS%hP2~9lpEInIc&5N(mDNq^6WV$8!s=mk z6)cXYY}XzXCus_3>KJ@1|M;|)wf>z(2c7@3wxzeRZ;DZk`zGIiQp^ye&0>bwFTIx` zhK~E`jUC!B?`%d>j1y379K5b6@hNSs)spL?9Xqw&s1q@wOoTZ}OM#1i+Nt$aJE>(S zHp+rQr^m(SQYV5(95pt3)6`{D^Q_hj)}|g{@EE84@`o~;m zODX7SJqMF#KeW*D16q2Yt+fkITdiAfDJb~5t!^yFew^;*Zfg7C-HKu8()_GstVCoR zqO=^)5^8^^1U{Tm(D$X%b1m@i`D|&omKYqQU)5jfF)WZ>cC>TNl^mO69_?(tlHtnE z_Z&v|_m_3<&nh!svVwjmr3o{Uy)u8U11FM|4x2rtxhlC1X%=Ky&)ICY0weBAmaQxN zWiuUSA>oaBs zR&>_)+z8fHkx+FcO19nY3?*2`^uHcOM=c6?|> z4hsS(q+$zVYt&yos&j9uH1lT1xEpL?&T3ipb6KM8xq5O_3VK=3MT~m6G@<3<9ORX8 z9%9AjXrm>jTn(samX$DvXyK>$JNIws%nRl{S8CdnD=7G=&Fw!8BitR_;Khpa)qF$G zh_^@XibUjt>pJsj`77F>8KaUIHOM@o+uF*;iUZu(3+sQVJ4WzDyUv|%_w2t6#sbf^ zq43?TDFp%b92Ttp^`%Nn^{5AG`Pg_ww(X!AJhZ!@@98#t>GnpBy?Zsbu?AD`!&>fu z{NRHTuuV`F*}UMiYF*x$FC^vLE6k3y3AIolYXN?k z$GgsmbCIZG3QW(RJFI0x?TdOIfuM9WjXI+JPR*xhk7(&v%pGL(PTRp3J7*6XRLB2c z`gZ-LmS&bxKid3YXLS@;rN7z?u{Uo*){dNBVNDp}uYUD3Y^d~E-JG!$GT!PtMGu%w zJ&tM_>L?n0RJ$aun@#Sd*uGzT1KvM}?fZA;(wd{%D(u_Fy{c7NrY@sDys8xjT5i1l zr#pXA@1GPxpZSE9=9 zK)%rFsp>WC3Fp(g*R;!!MC)r>yxKxPzNW2-+{7Cyb1>MvOKV@(65My}>(FES{e1{C zf0_2Yt_6_mzrC*A$h9@%7>3S#nsZF6tTjdtm+YhN7UTVQWjX)8LA(tZPsH26<%8}P zIur&p9u8odgU6D({sld;r(TAk&atPoN12M%o8tX-ii-q5yP(6=L@%qA=o;))*+eUt6zN##FlxrWGlx)6C&!k>J8%ut2EyO?lW zN)hcG>~i3n0h@$lsXj%wLG`0G)mjvhC1z{6wB;&HIq?mEYH1@L>BLpg5jhE2x5cm0 zJ3AwKi$D+6yafRljI$dD{kPGUx3o0NQI#e<8!?ct*~SW)ZhbZ)E22a&hG7;DbNdz7 zmA&?CL_lzX#`JmEIIg$~8WssyMc~f2oewx2*Yc#_a1+Ivhrb>Cl@DM7Iv0>}o{9!A zOSl8jbUaIV7(Wi@`F8+c{8uDC0?-G!LmU0#b!O197hQu$QkxxfRM9Sz|1mUJRRz&XA# zTP-P9o|GOzc=F-yb3TY6ZJ^``MoUf*mhu@l!Y5MFyO5{XfA4iSCA^0Z1x=XjcGB<#-efv?sU@2po$7PY>MOiG=&cX5(=_=q zEbQyQ#Ob%S%f0b*_z&LRO*zN4fW4MW#)8J)42$KIxWt$eTS|=;Aq%CrbbOjO0GNt! zu42XqGc1$xzu^~d?wSsNHWtYAkz=I15Z`H#3S;s7wj;e-u>-^j-3AY4%!_`OaQYd7 zJJ%e;fea^H$XF)h6Ad9YpS%KJPLU#C@R`f_*jij}g$K?+ zorEhTTqU6eFcpk#5~9VFNZ{Ow`RI2vAjd~v7IY#U33DHdyw)f=hX*+PIw@U8IOCDE zD6z;Pax{}YP(>nV@L$OIbR&aYax+6bj4(qkQ7YtzoH5Q2*IX*-`E84wp(w@DA8Cps z=<^r?S;i28%?*IHoWL&j06ZfJ{Hl=v-{r;$vFMbcC|RXZ)r@n=Q;}=apK-48OBfE7 zZHEOgz+ z*3_cScy{4eY{5UcOcal6f|;^Emy+?r_!;r=0Cxj*oWg3k{cbF#>v};j`_(pw$DNDV z{BCgUXj*pg$H$y`vl_f0Lev9Aa%RWH(X6> zjf$s=pOO8U|I+wILe65!NUolQzRs5KKe8?@hLjqWod?LxCa zOwyI3Jz+Vz5Akre8I~JUU~=rDRK|s{NTWZuLe=;|s(IWIpK>aUatbKTqNLLhH9ARs zi@X+hd{Hjghvs}{2xUe{wyptPXhof%SCCNARbkN=hh(WoNc20xqAS#r9}WAhC+r@q zT$X3L;)m=FW3>#d%$~>H$856GVXWAIX1&o2{|aNV0W2mWDz{*7Dhc2~=U3!i7ZJbl zD;Qn&ok36yxBa}Fj@Q@#$p`3f<&`f?4)yPWHxA#pZ?F0@^qChs>93H0h(E!NIfzzanW8S;J@yQ5&|m+VSH*tz5!*sNCG z8gkO49lD;3kkAZ$0S;y%hEwBTF?KmYY!R<)+)XAQypZf75oDa89XQ8iB!fERWL4ugSjv;Q(glO`NmLoXBZ1TgvA7UhEIzh66pyc z@yUMCp6uih67JMy{X`%uTt4m<>`oYaCLVZWIH)!}73CMXXHtNVcO9w@o7ecKWewAgXo1Hwb26x1wV2{L4Dbf-a)p} zvY~U3zvA@kzLkKpg?Q)7HfB(`cU|Wo+?-kmdDkE+`bq0GXiyM@8VGUk#@Mw-PP<_% zHM%THh$5@jPD`EvpQ<}?F`kHOD?9G8Ltys0#ta_%NgG`|X6<2)w5O`k`a|vI!}>Cd zs?%=Em^+hRxVFi4yemGUl@;loP^9}g@JONoSY%Ra6y{_hbB1^m0Z4 zU1VI`%`(v--T{6c%pD)bBlfz=-5m}q^DllOV(fk#Ibf01k?vDVrW&&j;$~DyZ zN1UG;aW4#ty_|+CYgfIG>#ifIM?ETME4sqpzfI-7&FEx5nzTEmV9!ji48Wg( zhexGu`W-GV7#OQZQ{$a5*=8+?8s{CGzhH4*-jvx3XI0L`Z3%O3plk2&4dH(&h8;Di z{E2Bh@|T5d@x~Qrk2kLPqsJRp#SC@1?uav1S{5AOtAIa4tck=yJ~8XZ`8{4TMq;6w zz%WTJ7m!FMF^Ith#Q#k*%Ho^uv)^!5}Fy} z9>Vk%z*MBpIN!F%1+~N@d%2R}BEl@1e}`ij_0#m<(Fb=$#JVr8Kh$}$P&tXds9Hsp z@4hus4|t?RM&UGOib)_i>4 z&*-{m(?8rcb*b?&N{-V#_D+P?Q(j+9^F9d<+*{1AM<(T+u*b)3g;(guXB7|+E$0{~ z!(!koR~Q)|cOopt{fLo3Er>yN-tWQpr`OHPdgLzR16nyCtzuUqhSep zU-nH+)E8v*?wNl{*%G+Psr{FXSu$bClJ3_nDIK~baOJ=y)0Qlmf5Y5`v@221nv^BB zj=pW{DPUWhfqyRXPul{*|D(2a0ski9|FoqE{I6}P0{*2fS-{uZx>I&{ebmqxfj)|( zUXQf#{>+A3preJM_AC5&n4P!8*oK+{f8JF013z}Nacj485$*1-&q!uE=Uz`))SAdL zPaY4xN>=p2G{53^?x!h97!vzklArC*%fBSg*eK{4R;hicBbkD3+{s$r>`rbfPS!mt z9Ubh>Y}$~b&s3o}|6{6t6|JrK7#0q* zTaP%?MvE(dK*Elrv9%D6#$y@_%h{x=={Wp+Sa=o=Ml*dhwQOXjRu61>58kVa^s~4-4f-&DCNET+FDUko5|%aJxJ3UatqJOGN(t&O)f)3Y z9%eaP7Q7sI#l-F7Jj^rR4KOwRf+1;s!{QiiOgaBh*yyWjZXQ zHZg=0_z{MKVM~bN5JON`%L1|I*<+ZZ9AH?iD6cUrQIvNWmMY2z42Mfi-x0=@AgoCH z9s8FVSB9`2?XQfNqabKWt|8W5VCa!hmoP!XWECGZCh$uSA?pM#1a5%5W5D4-35DHF z;H-1U{_IkNQj&*x6;~ZMeDt7Q!}oUmrP zPsJMziVlJE)E!5#VdozYy^&=_y2o|K45W=k`Y89$K)F{jty9Rvs6NqZquhHUqN(mK zhm(>AB9;ysK}P)sB33S*xzBMd>_)!hNuu_DLkV*GKt0nn*bJoinRXmd?p{obO~^-M zap&478~`dGq-ToDVgz3V`l#eGT&`O9oF##t9)v{anK7v)%9lo84AOHk*m(!*87{s- zhFhiw4H>Mn@pF}LYhOGVqONV2)|lxfQsrQ1y-mfJOiJ-K4371<_)?K#&JumhvG-By zpCJib1%<$Dz5>LIjrXBzWyW7Wq}TNYZzk_aSQnoNZyxcA@nd%e(annCPQs1I?CuPU z{uMPMI_+727XA4~pOa=bx;@^{Bo(@qaA(A+cRFOZ+uWfa={S1j=g3~}aq#oo4OJ?aqIKM@RB3W8TxJdXfeQCo`r`&jGoVx?VGsz+7tb(dw*wVJO-?bhY?j%bCyYW~Wc zIaQS#J2QhBOY9v1hoM(jv1H?qJ%U@87}&`r->%uZBIlmZS3Fg_p)=sG&Dn5J$xt(@ zPAis`z@MspclVLg#ah+rk}f>SRdxC{f#s~pSXsS)h0r)!aZB~6x>|+ox-X+|x1_Y5 zxkdazg;#s55|O1J#Ov)p+qOb#^Ym!uEPmH!gxj*dqe;3iF6R??co2b4ydUo(whQ7q z6!p;Vx7$=)BdPk|pcT4rkkgqijvybT1G?|lKK3z3=2~B<9+f!zl^O4Lo`_GZINW(+ zz?n9lRHbly372y$=Kb!_O>IZoz|+`Hg+BeX57qqdJ4A+m?|kJp{$b` zthyQ1C#tmJX0E)?Z~k^o1}d#;#f@t}!>M$)6;-(AJkI2u&)9m)Q?;R$_!;mERcK&F z1%7r5uQadx_5A0x6)+6*`7Ike%dzgaHSg`57*qzK1~NXYWrHxE-BP&!$f~FpoY3{L z=RA5)nVqCg?RzL;6{@s)6zg|2OT8{r_sg@No_^5149bGp54kVp$=kGt+zX?RF2Ng+ zelUnq9;D`n+?UX)=d`Sxyx`{xpAyaTVH%sE2`uB*4lLd%)l@PTiAuo#d>Xb#%emTC zR`4GQ)_3On>pL?QOS{!lUz&B$17kjFN6!-T*Vi#s;p3UxROiPz< zc0UA=^050VfSVt7KSeX+e7A?s-Gq|IuZN?8G<1aBL*KdW4lfV$hKm+&l#jOjZ2cph z#B7dEO?LQW`L$!`$4|w=BIirXr8Mm-+}gnB7S$0{5{pBSQ1|%7YMg2evgSt){rrpd zI+_+ATS|3TgRYty)2wOG+*IGzcwlV&6*?NY^1(xv(fD$V^E&-`_@0V9@JJQF`#xLZ zn*n)Ey&BMTOmiPCck5}j{4F*ed;e%6fQ)Bg)Zl@Gi^^;2Q4+@}1UyPvB=I_dM=Pdc zI}bE`Ht~IqEFJSZA?bMl^(h{l*Tgt(Iwpt*&T%k-0fCS0$8L@>R5^Ht#Ht)SC5gc! zPB|y>{vy1a62utFEco-y*FxL?+;p78G8xWORlX+TNr@j7c#`tE#Emkh@bS^>1;cKF zAXRb6G2KYeujEL)T!aUd>A+3L32u<#K|K2~N8o!nO~>KC+UUA~wOcLbP6+R*T#XNa z={Wq>Fx)ge%JUK^zbGfd!qXf^1sE07TPcyaQKz}e5{WMr@%t!b;I-n@#8Y&TM`cn`jIp?(Km%2 z8tqM>HzFa(@khZR)A=p#9!>S#eS_4vyaA(T&7ZZfa`CL;vn%J#n>GJ;vqmnV^lu#T zRDG?}L46lQtN zmvf`=!8tAqA0I1Yi1%#@LwwwYKj!oE7zZ2yn2Pzin3ST6^=AKKqp?y;jj0B2#AEuU zSTJctRVfy%4+K5ZZ5;%oHcY{xOVClJUk#!POOFNT?Mm06Y-z=`NAbRHMWkk-Hz4$js0*rbEuz zrCxI(!veon(pMUgGbjoKzJmWOnE_-FEJb?PVSORAE~?>SRuyN2-wQTtpUJRTE*Ma9 zGvWmHuaXDvWEFEfQDY(TL=C~eT+(xsayqGu1IY)iScwQi6wf5=&i->`+XAxVQ<_{O z47p?sxyl)OB;<@U&P~9Oo63SyxH%DH`SpmS@t?pbcrXq3T~1E(edGJj4ot0YLox*l zSJPm>?`oC4`PLb;ahK20^ze4~VqDc)9uo^RLjTQIYS(sm9L1dV_M+wk9uNI%ANB_E z8rYgX-3OgdDt|R9nwnQSq2hGd<7=9~!@WeM=leL*X>Ypk7UK*TI*8KG&`aRQDxsHP z=f^pQE}82YpVFzZj~#E-Fd=kkrvOoa^n2Y~Ftz3S9l5&nC8Nxe(k^ z+=|?S^++T%(a)&k9%wr3`?tm8ZboWM!*P71@|M2G!jF?6lJ4dh!mPe1#m1xphb{ZDzfss%Pwc?7>giJ@Yoj>Q@ zs3X&%)6IkR*hDARXJ*OyMKQCnjFw0HG_}96qqh{XLNo6{EHfoP)l_0Z9UKVFka9!X zyR8z2--4h)hD2@xv@R1Cvsr6X?oJ-f#J+cV2uWs0;ysXy&}z&j^}dMs9_jE7%|%5> zE_#~LsdaFyW}gSr0wXiCKa25X*M+3SJrlvA*ms4c)Ic>3dwk;UVJY2@=%SX${b^*H zeLI3LA@4gdo8RXt-5CvL>^^|^QlmXO`#C*{4T!}(klUjVeh3y^aH@U)Y%ki@y7Z!W z`^9D2Wu^pL96s)fGXZp=RWg|>3!>vw#)L)R7ZN>>wycZM+~!L*8>Bi-s*Hjp{$gIs z#O0sfSHrwFk-8SD8?S^VaVR8-ejzz*4U5hfdR;;#kH+dcvJjg0V+b*{UW%d+6xyW6 zLYNnZFdu5NK$mCNOv_vC@k0ih(M|7===j!l)!t$=x`?bOCy|52G-*4m@0%QC$Z>E8 z;+flwzY}JgJrl-Z3h>S3?H}&@jnn!$^%S@t} zuFir|K{;k@Q)&5ld<^c%vc+asgNI-8C4q4s?STMK8dsmy@AZ2%mw!nMH zo$wB=+Z%ZkSs4yp}LMOjWAMb2LCeem9e>Vg~)A11NSG8^J(H+{U% zl3_oIG)k$Yr(MIb$NmEfsr7^-*V4C$o_$U$vT7KxtA^>5nv#d>H~)v#T(Jg))m#s~ zQ)zS1sX@-@t|jJXq^3e}SKH)@gGos}nMGAy&WbNTm*#?trX%C@N#v=vx@hnGG22FisFM`B&K9pfQ;ud{EQd>tRuHFNbs7k_}9AoS3d@z_tV9*-HtuDe}M zI*uoo&1O_IWXd;UYxAgh1*qY?-RU;_e>r-xJluHloEv&8h{6JJPCXhwpdx{@fT5lK z3uANfJiJ3Yz1=X^IT-BQ5#+`6%bI3qwY^t2z5-*NQ!q}&n)`}H1OD3?M%c(6kpF*J zt+os(pyJ)`KGd?_l4BX6(Sy6)skY@A);ij^+g*^srWzORHPlq1%U*iHGuDgqXBL+H zoVS-PZH$=^OYY~~nYCxji`h@fItxpi$go%*RUc#z8WGr%W>ljl0o~G;0ck`s@QQ4;pWh~;e6xmqDFVQ zabj|Ad1JlAphl#XnN~5Slm7KyxWhJG2e+wPk$C2U5i&#^i+(w7_IC=pMiU>iO-VZ z1tQ#`Yy~tO_j*y&(u48O%|JlLf5eaZRp7^>v>+qWA>5}_U+kf*Bk$u-imqGXuwj*H zIA+udIws}!mxXCTyflm#3p`4xFyB$&O#fsU{E1aO2doIg1lELC+^ICNBGOOW?^WIO zZ9iWkCB5kGM)&O1BPjnx_tkW=FZOV<=S8Md!z*?t?J9(grF~c8f-5MV^rnh;V_oDv zX!n{)U3#~gZ$2Z59Qw<>YSeESu9OvJyVv?dPbZi-Sj5qSqi)yw zH9r)Xo*?Q*hYmnjT+}ksE}_JO?ull&NVoQ&JC+)%Vw{wEjmJU1eyb+d&fr!QQjZj) zxp`-sn~}Fsb->7U17{;U{K1dRkOHnu`9bet2)dYFe9!@fxF<`-^GkiEY&lUtxJWOD zNBUYLp>mnvI0jD?(Mh@1i;9EIv)$n+v3gXxk-^>Uj0 zf;+&Q#%`);(IdP1_a#*EqS2Ro(`Q?Cje^`OKYaya91$>s`=7@F%{qauxm!)6uWPZD zz-Zim?|Ss*VOTp8abTpPFMT>XMzWAS&q+B`VSYzYz$=dXorltnmv!VZCKBf-yCDB{+ zu+P)%^0}zwL)f}FdfcviFU7bN8tn`IzlFTw*2 z$>nK~_U!9$dhAm~Sl+X4Ep7&SQz$ol4YNzr*~6W@E&SGu=jnF8NWwx z)zo@EI^N4Ca|JW${T`*iiJ>jG)aMkdTqa#+7^|Ove1W=}z1Tf$%zocP%#-l%N$WPb z)9icjeflS*S7G}51|V z#&6K~QuIcB6$Liv3DcZ=c~0%z-@Z4t?4Df?*r|x{yJ7G7QZdzJyY^?BZ%@kYbNa+L zyYtG7nX(<5y09*6S2FCK!NGH+!DuC`wS~=6S0ppX6K!<&M*W)K+>5={8R6Juf!MY; z)ojw^aI6?3vB>CA%JW3W+gAW>5XNZ5<7R67hvo0I;}?trKc!kHt9MY%P`s0;NRPC- zAaGdDSoHmRb&j8PV*q9FEJniB6kB+XzIQkOsG^Ir127S6R z8@TECC0ZcE`NPL&$9GDc8=3bXKQr)wVgn_BM(&Po%?a>J?1QZ0s2A^PGK)<70_ZC?dnn63N}F3cLp<(g=ppBS8_re-pmcGt{oqxtcz0&=;w6?M#ce z>6yp$N4bpSx9J18j0270&3{bq!39a7>$d67)BJIc?sm)!@P%0ZJ9mb7>`#sHF)OHH zO@vOiSrE8QT<5mY$;Y92zN^(`!>V8GLrnYvzRo9fcQig-Jau6<5tN>eqg#V%`FGfA znev40GW>52Qo;_zfZ^alEPz8>EtoZk#Gn6bnTSe$9f!p!e(1nJaxwN2OMC}B!} zUqeVhL>e+1L7`vanPxJ`7Jr7!Hrr{kfFHZBz`_v457}X|FhZ1hAuM{q&t&mc7z-G% zQD9$^&#-{uhT|P*GRw z4MhD1g9V}x6UWYei*0Zu1iL`BA{ zWq|T$%DWqC{wG0D4}bm|Ceyn29YTX}CN2Lvq|Z--@h{XmRPSbi0>8KgF76rqBWM_P zJfq)i0p}Zb>RFmzzN>R_a9ih?pt@rZw8^r|s%gtkeF*4Ucj~LuKQzsKR`2!O^66XW zTT7{Zrq$L|*rXIxg*HL86c$l^jH3@-dqh8?7B{6I)z_}65-fdBv^|9P^Bu>uj&$~+ui+$Vz)=E(BZK_o5`+Z5RR@=`?)i(I51boEWTfhI>d!I9Bb`s3%_Wr)# z?>n%w_u7xO-)pbE_S$=9o*zjz#y&QFzMlQL9iVVK|LVHeQxWp;IBUl6FJJbY5oe!87p(IhvocFo9Dm4a{h;m>!cF)|BOlanQN@gzbBdNqs)OX zGS~6U^Z(9V{{tpBZy)=Yn|Y_R-2VyFdKJqZzFBkmN>5wbTiFsfjBsl@noK04_#3EA zwlzjmsqpeG0e`^j3;4b63b(%^;PtozfvT#iKwG*hnQTkeuB=~EadA4{k}|xN8=IEL zTcfp+WGb5UE=q2wVjqp(2pB$(fkm%kEU|jsUcWcs^BVzAg~tf`f@6u?7vcpDRTxHS zEb#_>-ayDZrbRWp0mBG-yq;jFBH#{rD*}GcSQgm``n^71DCil}hVTW0hT-u9jDXuW zmZc54Lq5af4|)S$zu#~8y<=PK0A`4LY{zjRfGHQm6bZS5KCeGiF{ZNwlf&)xxiQD6^z@!X@d>*gg zJ(i74{pT~rcBKOS^n)yU0w{9Dn37Q-#Ha{Vc+m`4Z!xOQ)ZEA@wiKZisv8BmKV|0CcOUstJXsW#>T~)hjD2!VL*p&)Ds6xmG z=Fso=jOki!ghD~T8;obji}lIlM`mN$N$4VXz*}KpMuQ}eZOPrlaCr=`&+YdGhdq%E z&*FG%B)O$NN)n_%W!uI?BpD6YHiFY8KHa~nJ)LMz8y$vN(7& zR#jEJwq{d(Xw6W16C?r?*yj(reV(ypmx;j$7~YUS=tE!n$ChU{(8L&so-rOBXbB(q zWe*rdpT`aMD>SA<1WkgG2O?Ba;r4h#p)sXD;K|XAv|AhXgfS$YsBcXtKpPTmt*I!e z!xn4zHa%j zYYeXqgj?6Q4XNl}qO@37f(F0gAgX1@Goj=N}?}gLzq|K zLLrp#fP?XRy@BA^vgU?Sfsqg(PR8TMuG5PZe$=htY*@npzc{8Wv=`m)34|~f+-|J8 zzR`2Jm7Xe+ZUw`wsdS{Z5rof-*KVq3;9Aef08!SJ=4|!elingX`LtA}18E@TCRaay9+tQYIWn1g| z_=dVgzBP@5;c)b-;SU-fA8j&5Jywj66hK}KQKDpYQoM17FKjd_>Z9pwJbb=^my(!c zgA+=Rn~O86S|jUPqN|ci;wf^VnT{*>tXnsf<^sK{aASE4fw}btJj4@>y5T%>%ux^4 zHb$^&H%75oRtXYQ7io&OnaRk;=(@qH?C4Q!kK7O^_(N{5&*Mi~1EXIZtkoAy+1R!z zn#88#Q|(dAq}mz}mhpyIG8$=81CPI&$xf(z>?xbhOq^Gbr+4CXPL+@8V~A~!IB9&4yxmCsR!Lr8zDimtKv>uAM^R;5L+RCT1~TpXlV z25%AvkqCORTkwQ%x&c8I{zB|L>WMkv4##3YhrYiVB0(RtV}?u42SqegE^1H&vQJfE z0#;Y>II8bpSgcmf62E+;@WpV86@~cvs@Omb{owhDlwkW?qaGZMKEY$DJWeIb`o5nECLa? zjL%?cJwcJNBd-;a#>%#K(vV2;s`#=>;s_lM&X(x$aAraW#VH%8G8S)XYT!E)k_Phv zg48*R&tq`jVlZ5WJKP#i$0IHAtFWLtnZRN1dp#+KD#@TqAmG}Cl8M+{SzD{)Yn0TP zo3hHbZmiK;L~Dq-IOr;bf7l^;agaU+BBK#D&bq8(SE04)18W9vBS+~;enJ`%z5tXi zj4?hP+Q7yL!#}+aY+!;Oc0?XiW#S??Ii-k}N^+~$4rG#26`kx%+>%7 zMt%Mf9v@k4Bo}JlM$|n+Y$r#7Jfst7;E)I6;!)4)G317a(3bpM9p@6DOCBiDjJouW zRsn^;>EY-}g9D|5Mw8Cn7;Nqx$U*kqZZ~w3d_eWsSrC#z%G z%tE)t&qF+Qt8pH?(aAg{XoevV;z(LEC|_cDC7r}+9*AHV2MR+~r>!#^ z)~E}7eZ`vk$~EbI<-e#dP>1&5s4y5pRlHEb@QtZ1 z4QPfRY!GCQA)LQ~3HFU%>gXJ_(3tdawG(bf+}O-#Hw83H=wE;9MjeTT?SPS1cQDo$5@m>s>f8H7TRXmkc`1X?iNbaPdwilE`cpz(vOje4x8T*ENhrvJ1>YYl@3f&vunF+Bm; zPyv8K)TnFYByzZhgPDu<1)5v9ngeC;k)Zc3UYE24C_-Ze=cgVBdKX6;o7c6qM!BFF zY9yr0;@A{YI;%88KfCc&wnY+FGP)mE;SWM)Hj;w(Lq)t(0Bd2$2i;TJ*^j8XIa))W zx!Kwkn~tX`=x7zSP`K?z8(AzzV^c{|PleVs)N6;^WFyy%=5<1L18GF7^)>tzpbc0} z49s1+MuPb~+>(->HpfdkWKK~!l)&6;jDV1Hg*PTzq8p=hrr_MXiG)xE8&N_7hm$xW zuZ?VJX^S*fIXYeKW5bgB*+b;GI!#m>8v2zuR_c#R94A98XXyw#GR9$LwqB|waaGZ% zv#Mf5>r}rE4MD{U#6C14;-X@MYA+Uz5iQUvD)7{}+koR&OfKv;M?A=^W*a6A>qjA+ zA`PX-)SfbYYKI>u@c`XzxM?WWM;qIdQLFf)qospk92=7A#NMynhDuqTNF0?OErE5S zwGPnb5pA@oN>TJ1xZOjL_<=?ALbObKJe+Ebh~zm-;;10FPH1P3X!Z?)k>rzL-i&|Y z65=cgEhGcotr@s+>7FAt4bV^r>+Q!;*hnV2Gy9P&Dp~1Au(mkU4{3?XN-!oXO*TfA z{v3A_4wC|nY~68|&oTOOBV-iI&mc%gu?h`>aSRrtfiMq!O>(C8)u-DM*{7fb&#jR& zll;jG2hss3r(@A`7Oo%tKhDxO7>dy@pZxM)Je7)LcVq8iXaVI9bl_wq|m z5mB4L@Z*v%U4F)GVsFsE-fg5p@xkzqdM(UCY{(l_Ld&~q6Iksk(q*E9ZmaPeVM57H zcyNVtt_tZ;x^o^ei~E-r7F$yb%B0cCSfq6WmR{14bY?|LlF@7xy{zIoiN=UGNqk%n zh89A^;q#dz-*#oU5iObnt(t=sb}VkK4~Bcx(w{8EhSUVEjkJcFNX*a@Z%kLEuN+!m zliCpW`na@I5rRO<4>9SO&RJY{$E9(1AQbRmLpw6YF1xx?)m^ADO1vRH010pk&@K-T!|ZA!%8k2fD^D` zC6uBpS>zRwRP(Ts%Y2taTOwPAmC(91(~+ioK25_fxKw|V4OSB!R`%9_fxbs-OK zIi&Q76t1QS-{!dQmvBN4TV{NLraX6DK z#0w)*jaga5#Lc33V}%zsi!3-0j^e=4!e$@+SSsIi6V6!EpHdyaJqF@~w z+BWQkXl8f58wB<7@f?5A&R#=&X1ukD^g&6V z)Y13-yJdOWASrTfO@n()T}{Ip=(HPaNU@RHv<4^NS;;-i+uEAj6LRqZ{sCIPf}a{z z)p>BQsXxO@YyJR<9D|aJ5Ah010P0~lJw@Rxnd|Y}=lEDjryL3uc+(K?N8u29L>psk z&^t?uf|A-z1?2LiIgCe6#;VAMMD4?|9*$DzQq7p49@@?+dq556@i6a_))ab8<#K2s zQIMryF~G|r)_9|6o*@1RMT`1qa#Or9n)SK}O+!R*1UdSjXA^361d2CF1h?tTMb5-* zOrSBxJ-_BOAUlbgxd$rQcKJV|!Ru;eWiD#R8y5X_OMu5Q;2?~J>L;!k_@LcL`fnqd zAiRO4z1ZB9i8s4|IU`i1wavAyoeLH1F7Y}#$=)Wx7DfEKN(#oapp z8ax#N5dm_R7_Fk!ZmO!ULTLX%;@mqaJ*wcykkCOhQAV(%?Z@POC}osDw-PUE8$KwI z!v*5(8QC+JDq1`@<#zia4#bJV$c{&qh8*tHP@2&rnV3ws@*5rUE_JrAnslUNRmGE; z=ffQp3MOkze8gCHr1Fa+5Gx^$l|U09r}g4~C=|D#A%J7I5vi;6$2_7F30jo;qZ;km zk;G`Jwp2!1TGl~>)L1+se^5@^Xi8 z1K*6dkSZO0{U1KfL@+$z)RO4>2wu9aOW{!v<&@7c5gchklB8s@Go)i`=j(_tFbXN_ z&U>qw;yI@(F&gyR&WL#B0a4Ne&$xPsX0?~Y<8oR9*25~| z(8r8nNI3!t9Edh~~%ulO!vSqsg(S!?8bqqZ~H~=r#D!x53{y30*xF=3s7Plqo`LH%Tx|S5oecd7>pge=<7@yYuDC;1g zKN82($Sz8dXVtGH1|ExnBsht)Cmvx)MUjMtCjg=G42)#ZqIiX@)nbuBAE7cKp?>?E z>{@uSfm#{uNXu5Jy|R|Lvdfs2{ooK*-kE(i{M72xJsX4-iLv zTVk+yvecqKsWbKg9ruqhGkPY|G z%X;k5j$&o?5y=M136GHgjijBT0K>>|XsIpQ)z;Wd>@9Jvpy%}x93VUSZk83ps^0Mv z$-c$Dx}hUY%-%-~6EPdA@T}Z`qg!s?dENs@@yHn{9-gAdX6fmyCh>@279q9fp%dpI z`C8+MKf_fYO+=tH(w3xB4m5jY33%jX{Dm@#iQ*0%-Pe3^YjbPc=2k&woMb9gpG;ss z3<715WZJOfC3K$~ie+FiaorQ|7mV!Zkp@Q2e@+HZAmO&a2p=9F81JZ*9tT7THCRY1 zpi+mM@n{F!?HUo|Iw0=CJmksv)O$RA)>?(vDh55ov!x z9e=X6UuzFsXnANV&rCDet#S{20A&6Aj-foYFpM`S`rp|e;HicF1;u#5D|?X5L$u&A zpzl>N!soaKMjgV1>STEJ&WoR~0sR@iJjm`9t9?;ydOia`3^WpahWp~CL{$fr zHCvqb2#GY~I01y;KO(W!AZY1ri3%Ui#ztLM!!PbHq4f3({l~q*(f{{%Rr2sb32Ffd^|!q>(k!ju_J)j!BA)w{+KZ2Zor?5r8@~bCEXpcw@CLj zusvcrFNH~!os-QR+}OS&J1y%*;4Xd<>H$!4bzw{X9!+7&KzfB4=% zKV*900eGxxT^Kgil{Xk!#esWmU<3Qhd{UqBxQJ*H= zP6ppm?<#l!ssyf^Sbr%zwrdaY+xH(qO75#K~@)a;WdL@*Uz(^(X|YH zc1m9nZ)u4y&;{IppTBI5HrbxYXWpyFcsmrCsjfm_i>z6*w6Byl)2j}x4~yPs<>7

    lUr~P|t;S`An4WG2W*O z(Wk|{bmPw~Fhy^j(0v|!*|qty_oj5~W{~&H?_ZrXOO)aZJ=BxbcOP87NY?2^_~o9X zo1!-<{JbSkzsh8a=X%Oy`B?dP4pPY;lqFl+bD~|c2dHFS)NZGt4C!rDpFF!{7rtHd zu$}K}E8inMMK6hT?c|_qJ5LH29 zrT6m}PuuJKNFynbfxNK5{#-L|3L24T9>$nv_fD4O-qDw<7uoJSeS+=I*T>oJ0=+=G z%T3o_H|Q6Yy#z*wF<`Hk2>{GIn7_1$c@uLBn7V=htG$<*R5P)9KynO-c*kxsTp+4@LJDoSx#Z(**e zYi@O3n3Wekae^a79wEfn#DDuX+Qb^^@qCuVLK#i67A}jU@WlQ}poB%{db_VF_vv=- zZZmOUn(R}(GtcbqW8w5sQ*oFTMaO z-ONijy)@48PY7RW*ED}`@c}_wmvvfgmt#(l;eSIrziH>i-uXd-#wdH|C)~b{=hPD2 z6m4O%n-~l3pJ?Wp)@WGW*%VvOSE@X;253EBsX#9d6rlf5T$T@W1v4tn^|4P79Nb?N zyQYi!rBIF{Yc%O*9;Y(pNIi>E^Kq4fG}I1)Nuj=&7%MXKQG&8Au@dWOebJ`w&N(yk z-}yztnrE~0US5VsYD;S)aM0K(G{^H?+?}j+XY2&?z~N#!CwIn5#puH*DYM5Dk};Zv zRPJ2!VtWMS+PzQZ<+bJIJ$}4Qy=FJgrXpcJPQa=#(Y&u~Tdb%zU!#$gYcA_L(3h|8 z=*xFc43~`0v@6ZGLSD+8@^Rg>V!L7|Zx4U(hJ7y3dpEB~LD}oP&bYRiOf&G33C8;N zPePxS$hlU)snIS_qduOZNcy8~Iz#4BP%UdtQdtVJ`n6B=49ZRYN+0nY<6?|f>?eZz zsV3nr(CEpxE~OTdV_mio^O8*J3(H?@p7yb zb{1A21)m^hePL%o_3IeDK{@xSJl32hI#1t6m5Itvv;`~xxFXK?EG>%N4sLFe`OU|+ z#a`^YX(zSAZgZRY@V@U>xt?Qs39YWz?~Favmw#*i9>EWFbnWO{IoZX_W5BC(vRu6XOSAQy|n>>%D)T*=e zpE!6ts?$95=~m2xJe0ACx3-w`Vu?W^8^U$9KHJx>U#&A?@xNGjXZup{<>zDI9$%@k$c8GCgfm4!XBJLiUdMZGQ;^;B*#^#%Ed z%(G?fXpXIV_n)bI7oYmXjy{)rdidn(+sEfVQE7%{46WkAdCzvU*|gH3&p%ggYP$(X zp2^UfL`x5F%r2LOo$wG|i>m!u(lP2c`iPcKgP8?$5)6LuFu8@{T_9rtuKm05$L(Jb zT(AH^pmqPY*Y%wu^V74~%v|%FQn!h5MfCW?ljVxB?2$YB-0sT9VzIkB3wX(5UAtnp z67_ID)OW7CxEiDIOS7;up;WQXN$9JI;euTRz1m~Z8&>|;gS|c4tm}ZQOn(Erir0Gb z&{tFj`m8=9S;K}ceC(NQR$2I=zDaJ2qs=#O?b2gE>Ⓢ!09!oSLe;7T-aSRY7X>G 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

    htCwbDKjU}7zwxE{N8Q0{s7(Z4T8 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 z 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 diff --git a/openthread/lib/cortex-m4/hard-float/v1.3/master/oberon/libopenthread-ftd.a b/openthread/lib/cortex-m4/hard-float/v1.3/master/oberon/libopenthread-ftd.a index 860590c2c8be2b465431e6050f408e50648fa38a..8d5bcdd5253d621c064478c31d97a0eea3a8b515 100644 GIT binary patch delta 374345 zcmc#c2Y6J))^p4D-qI_C5(u!nDJ0YlkWdVegouEYgk&Lskc1>4AhN-V3Q|@%qNqW! zVIc^(7Lee>hKTT<&!;}b;Nz+IETEvl#((DCyPM4tFd+KhFOz%coHJ+onKLtIWLxnaMX2^|Gx8dhG@Vz!uj2>F@*EGkq;8?4?0hPLCJK&l^qn_oF51m>}qZ$+@-o@ zpAzo(ou@NISB|FfIl{Gbo=`xL|EYz9yO7(Cxw{h1b0wJk0Un<7a&a76ZLs^_ON9HA z950*bA^5NJ&R9kGE9yK!47PEH*_Z9J91;5Cp>ipafC0rmGB<=??P@m z;zHf5b%dvG&VyIPc`nLm`74C~J-70G!u#DlKN0@Y9M=D(1-QcWo=&9rjV*-#vz+Hj zF#Z~=>2ln;hlz*Be;0GI=!xV{be=zxc_(;#u2Al7c%R5F$9XO%(1pT06-8v1=sX<; zctcHO7jg&35!vC_+uT22BC-$X5ZR}FFU_6&j>t}ahxIRhw11yPhSdFf*9Dzi{t9X5 zbW4c*Qe2-QMBWGWKe_O68SgPiiTsZ`&mU#*2g7^*a1Q(lSotiGcgAh}lE~YfhsYm! z{qo$lS|b0$&J)Ds&5wxu&u}esh}`c!(-V2H^Y}gAjU)0a>=f#|$nQDN?-6tgpS*-9 zI_on2P84m<6YL?1Vfu@^{D+C6BX`X(qPQ&Qxr~6G*NLJdckA;+aWS`M4p9WV^`9Xh z`tL%nF^(vxd*qHk&3UdE^REkuBG{ezfhd08Vf_aYDb*j5Kh^bFMwIQGClv5I{_JOo z@=7|-m1K4qygZkbo2QQw<>k0tSgIX6&xH_w5uDb4$0_@3;2w-zrCZpsv(6!^%XLX# z5>+Rhr!z!e;^lgo_5IS znMD29I?o@EaAp^x?yS4@4x(=7JfVQU*zakV8Y%L9PNEKW?_wQ>x(~(>^%ZcQ&N9(x zj*=_pGSoyPI*k3>AbifFE+TNOn#opByN(F2bWO|X07eWJOL+a5+V zopG;X=6=U{evhEj_^-PV&80i6|4s(d+K!Sd?>v77(@Ws#xzt=OeV=Hrpz~ZwW|z!s z&mA73-E+t9yT5lK+RJgr?;_fZI?wMB{KA04j$ z{=X)`b1AuR(i8m^cAh`X@ZYx*z267&_%V z65$Uw62o8YjHyeA(L?`T%;ioe#w+0}pCiT&oTnq;ABL^{J27_7c{)qjF%Uiq(Pi@S zT#;N{X5<*R=l?bLuP?*;|9>rkORRtMXAhGr>O5DP;U)6(T+!TILgbd`!w5PL{nzGR zQ4`C>+}qy~%N2E=OJiu|!^ma1$T7s)k@Iu}>&U5)p@196( z7jm00#}{+kGl)%a9{)$kd-qIY`zxI1k4Dn^8L?f03se6@f}JNU{0DMHUG`@rtnxY-S zOXud6R8%ggbq}vzP*v})CDjP6s4SbXpvGOhu%fP_x~kA!*CFZlC61eT`2=@;e%;*d zC)1Dd(bZK8-L>^a)kT#H>yXiilKK)1dUZ`%NxgUPfW0X*rZ_SYTveA-Ra#xbm;uva(utT^%&_;3B-|27NEX z42&*=wPX3nbwj%K9bHvdUs6@-M(EWw^%e8nn1J(O*>w}@Yb&Z|6Zmp87qxxxkhfTQ zeyw{}#iH#$xbzCo=(^!`l{r-KXEp1=D1gKipp!TsP5OOIzyp z@5hB{;PHjLsS7q^u{DlZP+L-uxY1P;+@;l3Wpzc>VjI}*nxav`J0_VHxZhOaU^L6Z zK=zv|%zIsFws&yZ0w^A1NQINvsAb-hrDNgvk9=QmOPLDRwDMUnzLn30WmZ{lNcf4j zg7Pds-rF==1y7yjU)#QC);B8f4Ajb@N+G)jYFw%`IJ1lG4a*d=k9*3Pab9b#9dx*ncRP7vAQGazsReeqg znK5OYv%0<=fsK znu5%n!u+dB3(EtsTz~*JDz$Oj4fn+;*}{4-?XmQOk#EZTLh-9|b*!_0ZbelYiXBYU z0{4Xal3J7`W#ebfLh(}vGv1Vk`H*fbyZyt>$xQN9G{4TG+KSS-m2T{I?pkLSwmcyi z^^Tu4d_gT1RlRrAWASE38uqTyR5mUwsl;}jGY9s5B)5gYE2<np}*JlfLtyDVB0x93|bh5Pn0NVvP4>1&q77{ z!zM;DVUd!@ktPxa%6&1I^0k)OnKTT|?fLBTOW{<7$>Kftm}dKl$IA6k^#G%kW8Jt* z=6MUY#pqM>YpY99x=5g-J0jtM>lG&Wpvyb{pY7o3f90(jM*h z-*$h>Mq)}+$Ci{*=dfd`OOiNeCNyx$>$hLC_f6jW>;7I~H!1ZH_lr{Dje7mQD5p~x zVcg@~6|>7{R@Vwrn|6&tFg;7vGa^*;Qr1;(y5c7c=YjA35SLA}9ATcR6#ave6#oS9zckZt># zgIU^2so*m5OR7ef)ny^sgz5#grS6=1snt;K5>{x>BiwcM6;*;@?1;um+x)QV`f`y? zJ8EbSvpKv!d{oa|1=+(@{lKtQId%J)f3q^C98Rs}ETAjY+p%o;?L&?oU;~vk(fiW^hMBsI+&iXa(IhpV-0*qX=;t3Od#MF? z!U8L{zE*1&SedPI!m7SZB=lRV%3Sx70vZ;nl`vk;DdE98R1x0i&V<1yH>k?D$Dc{m zarV)5J_F0x)lrUgEE}wY3FRfV?y{@gi*xd?DzBfAI-?#osTeCXyw4{3inYuEPUmpc zO{kcS#f*rCOBslV$4v`jkBzOUz6f<4`GHd z+~}$bSkr?`gqER<84kU#(Qt+C5_srengId`Ni_T~k?7>b|C; zzI=2|T1Yu0raFW06DV)2>IthT&If1J3r8Gl9 z+x)fVgerY{{!7jLH#W+5~Umv*j~=y{~05m;{HT5LJ6OD(Q0< z)Z`RiHEx1^Mt^BWlS5nJrm0LH_;f0h1zQJWa^GH|jesfBn473K3N+K1IG9m`$r{+G z4fl3GZro_%_Ohio{Gt4euV&#=_9sjB4Ms zQf7?YkR>QyG#|8D^US#TP@NMzA$Q*A0Hl(3##17{)Z&_Np^G!09RKh*x+WtXXEhbGQtc?Q!QnMo7&q*lrOWiKU&M@N)Xoe+ zl2=|`1<%jYb%#&ObrDcJRcC~gcc6@0vjjzFKd(Lwj7u1eZ^{zpSs6TYGot`y1Cs_@ zZ)D`Yng%A3Q8{L0j6%ulu7yoEVguZ|R@aMhK;E6m?#UY&9sIVOvBN|6=#t^#n^Ac8 zy^(n^E)XWCP|SoN+{U`=OK@gg0^2^-g{v1X?q6M>Q(IeI3**w%4t?R`LX?s@IXMeQ z)Qm5J#+zwmcj|g$WYfI5XpwvKP0TG|9IRDB)Gds~_w&t6CU&B$6Og!KVuu4aCS~8tTRO=-)Q&F8DTlS2nTQA{%Eu6j%IZ=_1{{8jiGmqh^ikm3pihD|B_>|$CtQq- zz;sd{2SXpnEa~pkkN0hOjG4iNOTsoNK9O7E6F7vOcv{~V9@?mv`+7gYSY)udhb6&R zIiHPX;N_pp>CmENd3gLbQ*YQGYfFKXKbh4qzMee;g%fODU`-^}Wc*dOWGE=IS>VA5 zwm4A=AG^xtgkyO&2Sp@7!xKoivd9)M7nOC`GtM>u_Fl)@plPYm0I%Yg%|W#|X+9B9 zz9>Z(-C@JajMn$AkJ-*!9Q{RUPG^Y~i*gpC zehJ4$7_7dgUCb0_gfm0b(S)U;5erKEl8e#_(riY$fXbnA&1vtD3^wgSDRXU&;T%MN zWi`XrI+RxH>kRW@Kr=SO)SqrWM zOxIu@H3yi%!Txu?G)#wG#|)NW;QSrjg!6#sc5vO`&^wGp*?+=;Mfs_>mza+8-hEXUfwLjniD2m4Ok^8*;#Y=DA?h|z{t3+X zCuOV>o_(9qw839KfutS4j~p|Mgw+R8dVl?uArAH*L?r{iaMb+N&>NE9WqP&oD1Mi@ zy3M!xKe#&b2YXAt$Jqd>aojj_@w2PD#n4qo^?3p}Nz!Y8+q7 zC9ycpYY2npwZnRPh}VeNENxUsNWoaX!C;P{qFgq6>mqT$iS=5*iUZy6aUa|$ET zQ5zf17G4F+ou(MyvhSF=Oe~#1r;e?3Q|EM|9!r<9va6~vmQuHudETm&aOseJnh9g7 zV8(1yrf>CW<}n654Q7qaX{Spywev9V3oEJ@)ZrNHt^&s_Q#hpTGU-5m8gq8^6;ofR z{(<=tmQ|Uue8+!e>KQp!y`yLmjJKi$sX2>OPnDR%1!$oN^|hR3K4#)G#j$dD^}L!| zoI$zE{5_Per=q;wBvVJiP#HFh#uBpzTxS`DLLz~!kLV+yWx6>s+9|OKTKx43D)^+< z6bErL%{V)%H%0i4{LIYZVTFo~zh^f4sXs-Y22&E$Fl<;mz%vYM3j&M)70aH5S*7Oi z7#smg%7k$Nr$Ay`&-8nJzq0HtY)~75)iO59C8Ab_#T|re6DQ(i z#5Y6EnpkG8Z@!X!fr0opObS?dhglEDZZ;;t)&g5Z1RbB9PC)>Qs}lZ1Hmgu#KU-jn zgcB;(2wUg!-5zgLvy3@YT4=$U~QEBR^hu{%PLs->RPi6KGCz2A$+vK5|ITU0p4*X9Wd zmoPXv>?5!bmLjUs4cTFAUl_mG90R+i@lQyvC>-i zJgOSZ{|A#e-Y*x=qjdB~At}f>Tqmihrs)n^=Bjje5CByoxML+k)=#msQL~&ZOjS1 z9+t=~Ves>J=AOR%c=jblS2{JDk)B;!Te5gGe&KX6BQQ_Pt544<&&ly7yqG!+Cxzl_ zV#hMRp-B7%T3tm~nW6Y5lMU2eY$n(mgLBu+YW8Iq5@GA&8&JdA z7+4ZzGr%timSqr^%v!+M#iI2c>cM`*!Z(ph6m_#up1jiCGR*gJFZLPMo+b@U=k2lN z6wVQKi2m(RP!ev9T0g>K@ZH&mJtzlHIveYIFpXW!f?<{34EA(Z3v2qbwXiY7ScpVCybR6#VzFrA+*C<+8WIo>6SM+Ky!}Y&w;B zo1Tw?af4Wk#t{U}{!b({JZ-U>gMfAE!z&PvGs_PAlf8y%CX7e zw0<6}oq%e5{y~c}zAce;j*JPV^kuq%?&!2>S2CX zX<};-M{mC<$9B<4KHdF%{CYPvnZTh!QmOMQ>gt6?hGh{B|Bc6ywimYgQBtT>yQHnt zP(nu92kl&5V*P1wU|+?xWxBje>%w2cEx0z<+k!%pHgfE6d-vjc$~UvDg1#8(2lSlE zj`n|_z1BJ!Ov7+Hfc8;X{u(ahx4bX2#AFPwtiWO4fh!kPWjM!}S5j4m!`+P3t7|K~ zi7Udu(ugzohC*vU_-Yrc5*oWg3IxYw{3Q5j67A6<8(3RpEeiJ7g#8?78jsV?mnI9+ z!POU6fRV(sCBVv59PyHPhcT zgcWCD!LtyK#p6hdRbh=fujT_}uy!WOURqz~EU_%HDurdrocfuRcXanOR7m`j$pErY zFk=bAz%=Z!_E1`?D(4hB(*!Gu>#A$#Qi&8C$~2vg@-Y;;rX2w?(AGeI6GGn&hsk5(_!y(cCI3vovR4vMJmD* zRQ=A*RfMy172)huMR; zj)ZS&=PDw#a}|*)RRk0-L7nic3ft>2_(7Y(SG|Pog)@jdZB{sVGuo*otgzX9&n{*A zGqBsk_Q$0yTa@pI8`u)Ych18OlC%B#LH4a|Zv|dbpXP96_-bxtx3jYH8D$kEV7i?> zs4A7NOK6So#Z)YE8)inWYH(%vSHic8-K7Bo1g7w|8nmxuq;ytX*=U&UMXM88t zvBMb9cv+PmN8&29G_5F|QID!1B;L(F0`K3==0L_hY(Mz-3RV||st?***7hx}sp(ri zb51|?JY2b^>6i`I-oyUL5tkNLKgLF>GWt4_6CBRIxE3^my9(YN!kNIHujkPohUa}p z*0X)M_A~>0#T(hN3~accy}1L-VI~xKXaYZufma`5Z|WHH{-z6IzI^0-Ow(re28Qe3 z-wDS4nq-*2jk63QXNaq*bv>yWNx$y4pZoE*JtFMx4q*36Fw(WL^Edl0?#2sqa<7`UeTtWzg4u5=rn2Ca{YUfvyt#IsGjRg+<$nxPLjhe6+fQHcu zVKi|6HzvrqBFqW zp^A9fE~M%Mjvu(LvR^Q&9AIXkA<{=rv34+@)Aqvc=Jco8M2>T1`X)ckE@3?PXmi)L zI*sz&@Z5WI_kN$v#J>3Ci;9HZU!1&+B>!}%XD+sbbEM~)L-I46>zxzI+k58@$W6@6 zv?Ikxp^c0^^|_EH#FH+WQoF$jF7icO%_okSYergj_QJ?r){}CB?hr|O=L8uc&m)vk zZ{?n@7zvG>Z8GjwB>en26hF&Gwr^x(Ab%-0#HZfMzRoataJY%BW>S3F+t{ug8t}Mx zu2ogL2ZR>0NHQgYXz*OuQhOtzU~FboA_#k<@EIg9Db9%j%k9?Z=vr6*g#*+aDu+x zgslDeIs~`V*9Y+7e)bKf1vb5nuP>nD00K|Ki}ckBs(0A&EV00pcW{APX@M>DZM48o z^c`V=F$dXRnAXHc(E@M9LDq=VxD5x{9=LI~_fvH^d_X~&Z~{TFYYP_vJ>Nxu3$ort znm8z-uTgM2ef5NG^py`E(w7sML--m5%a`IdpX(5Yngj(DR0+o#WZ|%ef>yyM1VPIX zD-Q<_u}RDbIE4UNxrLB7;qW5{8#oWM{rGgdJps0Ttmx^{U@;RSOA}r_Nq5qX&}x1` zY9qW$ls4kqxMO!K?_%yIXL#4NR{pAB9F<57t$a9@Qs;*!t~ITM=i(;~o0KieG3sY~ zPQQB(NnjG%2Wku6(HAz+*8Irk)}myQQS*sku)!*JlCDDg^a@Eo$2DOBe}=tZ%53dh z=2b9$DK`|B^w&CJ=|i%x?C=NGL;=>lzkbLQhJQ|o`Zf05~ZY`+|tf(AR9vH|0Ur?ekSq_oV}Be z_w+;|K`G6GvyzdLUu0_|lhE&fXtdY0!-tdAA^4N+@R3A`BFq2K@B`3K;}iKu4or zFmi;|LFz|rr9XB3j8GT8eT;!;vy@?ky#5~j+GkzWKMv3i91qLIA?1&=B$ z@B(s)eGOZc3SlmE^f?(6CK6Wd!mZ9DlwtEOvr*R?gp7v61xj4RoQvt<-^LQ-3zbIZ zsE}`_1Pb=!D$>3rg%$37+iFavanPt~iN&L%O^5m$q;_w|Z~FWO%VW3*BSNvg)`&0+ z0mrIw%$|g4r5z;+5+`coA%C`-#}Vi7F}ABriTpP}K|Wdl>px{{9Nz}U(NnHzb}EY6 zAm6%3qBzQ0c3N{OhIlh!>!)nENBFc`a@Dyck&dCFoN6CfgX62|#V9(!?;%}(`kYF( zZ(VAHMvAbYs7|?Jgvd|2Y6OvO+(FKqbctfR-rgppPr8;;d=JzdgVQOdlALKl4Re%| z=As29H7Z#h>5V8j1-;P-M+f0X-ndtE`EXD#Pk^e?THK7fL2iVGb8G?(nt;vsACS!kQlq$sQ_Nf(D~LBn1bfwXRXpV6@hi*TGjC z*8jCm8npcHwPM~e>%m`s>NftmVDwTr^(#BlWZ(I>CO)@3S0|`jiMi##+^6cMNk$N@ zJ_!&G@9mO@3^bw&1gHWvgci_&DSQGno@1Xd(H3eZdh#?jJSu&aJ129Q%n+IA>nUK9 zNI3fa4;6vKL;TAndfLX#q`Pl5!!a^*;OHOjx>2)(qH1t#QdzvsXDo2-ew7|}HLA3t zsl8#7s)sE=FPb9YDrOxa@Zg7Rd}Nd)LSrORi!xpi%@J@=&c);1ZK8w?lDsszaVT-I zGZ8gbBOO-MeZ}ES-H(t6>c{kUp>IbBJ{7}KIBF%K;V>mcjd+Ywz>~gpi=hnIG+(iT zQ?jsA!I@QU8Q!YkB4k2-aI1+MiH1PjHq}OCN(;Uhl&HCps?7oKHuORz&QqCQz-aJ$ zm-tO{!vP~MUt0?GCp5u(FeF4NN4Hu7wM}qL}sYTR*04iIHsD)6XMJe-M0J;{T zkU+)p4lS3YIubw}qlm_VJW4(tmjqL{<1o?-96Abp4u^>kPN6(3*I^W21;Q++*p$tv zRK7qFrvr$?6wxNun{JR9;TMr(q8^j=9AxV;Sv=~3VzJDp(C1+-g=z!Py%f3+jv-WM zMQ8#oLUdi=3r;=6k#zN55$@Qv~8^6;nL6ihwjOgS~@!3p^d6ux1rw+Xx;Q z@`8BM>h(+TWk^T+25sH+$pc4*BHVNvf`di)JW+&iM$%%0_XfxRxOf?lUE>~D-qqSw zR*C!p_MX8l?k^48Qr$UMnj}u}tApi&F>q)I3Nl@&Mbj#6^2}kQD4o`Vcx2P-od0 zlS|e`uXv`Fx6cs-knu&7_4cj}bS_5D+~G0`qrvScGgaICp~xBPr#|5e{uRr`;w3*cFo z9H{Ba$$VdR$6*djmn!%4i9_v?j{a&??rDpP!;wZy-?7rrf+`)&a9kq(qwlVwU)@cD z_h^F)_+FAfXy_5b+a-D@@~3gfi8EgkhjTt!H|k874lEwf>d9rM*SahFQhSxYmvUs@ z7naO@$v{;yr}MT9QgFB-410TV(d&D2FGIpr+%_dU-}v9^)*{q zqiSjZJMC#BO8d`naIn5E!xL?*QSPrf&1rRIeiCG&gk#g>(XhscOoX{d!y71vH@}V| zUeNHHj>?U?N(?~TNN;qSdvts>gG*O9d$`Ai3jWd{ZaSDY#~KYA`*IPHW^8T2;`wGj z9sGAOCR><9ob1b4W3xgCSNaJtHWM5^tB40{CPDgP5 z!NZ{xn^v{aPX=djLIcHf&^Y!aotW5LSgmfeAB!=B!=@yh)8OzH0q-U0jJl_Tka$e& zs41Fx8n*3c!((|A8o@c*5kwgc^WNp6aeb&{yE43+J%n;s5GA%qacBa^^*EF@&c%qQ zUXKO2FNg@YZ_UPN=73PlS#%B(9Pxo5O4^`lpQSD0c}c4IyY~CAX&@gS`&>xy_kx0V z1=XwSXy!8^hcM_>wK4ff5E{EjfV)wWaenS!3VDU{d(_6L<3V9)SMsMQiv#&SeRp;k z2YvVH2dLH{j}*jPfw_f`p;EF6vd`(e%DzGdg^-P!0d#Y69W9;XqIy;uw<2_a@sF{> zlDrm_JF(@~4CUm|cQr5f<)?H1WkZAD(qe)zfdHI9@V=%@ZtVqD@edE?7R0U-R>T`{ zb!wfF&Ty8yw9;URUmXn2V|6KAm+!>~^<*3~Vqk_(Ws4Rw zK@n7kZhJT+xHE@ycq$QwU0E74735~gPdS^heFDDy50xg*p`-L7UQJ&0Bk@h~AEBdo z+TQ3w**Ez1KNPP*WE)=ZA>F7?dMLrLb_7N;H3WZqJG@!YF@nP%lJH^zt>p8N@CvEB ziTKno(hULrhbACTBA`WQMtydM53zDShZl8O>1~u9OLH z6kWm_2UFplD3A$*sX&j?f|dnq62%dl4Ex`=x?tgGuA7v#J4SOe9p@#J^bL%Z9cBVH zeaBgRUybIRXc&GK*Q6@OHbDzD9zMK^>kn%_Lp}SD632+7d?lKzM&nn_FwUqe_tPP* z5^gw-2aKC2a@Vs~6|Erp)c9$DuA;3+p#=N#a5SZhXu3syBob<2+gM~E4waPR_*jim z*APUZhqF!`OdG$!ZJ%AAb4j`tK}fWuYeq>s3-;#Wg5cCUH3yXX>?OKP+ceCsaUGhU8 za_idAIwwm=+;9y=d(o?@nFWdhyf7fHfa}{&ObQ)iQl!#oz@@ojo(5XsDsDHwLqB|S zJr~!0j1XpTeTAJ~-+)5y5Cgvr$I&&ah%>{k-CC>9Uc`-HJanFJCgEhKzagNXHj$6e zkBy6h~%eX&A3QfNV|&kP}pP%Pr+u~*s2b}-yz^}RY07S^&p#o z*>ALrrE!X&Wb#o+m|ui2{z0!dF$wcDF;W_*6a6$i4Q9rf`zRP2Z3wRrz5U3t5b_7x zkvquN5d8ZRUMzxC^4}0V!S2@#w@Z=UxZFtd7Kh7= z!W-2gnzA^YRa3uuu((DQH$<#%>W_ob#aur;iLgpWY57B!CwL#=ToQ))>0@hDGeiFFG9gS7w4_V=Wt2P6gajMFXl;@ zOZT*rH9Vxv#idSdfV^ZbGFb}C=OPnp0J@Dr8{ja7#sr{DB|`6jg12#Zt8plAOiuEn zFcZn>XltVdIaLxR{68^cuucmz7q11lXc19&J!^Y;zH}(;nXl=V`%br)6 zVNfAgync#?_uX8}bx~#giX*(JEVO-5-mQ9?ZVL0igV%Wx-jN>Q!x{5(1@Clbq`|QV z*dCrQ5`s2HYM^36zPybQ)TXQM49lIhiQdgP#qprT}n~MnpHX zPKu^q>s^ziNG|=0a-J-3X>fT^dz?J*e2!hk8j zaA(fYTmFHcXEj>Rp(s#b`e_QATBFpo6qGyFxy!dTCO-G`sqdMeEs5DLj{o7@{5yyB z+@r~T?o9NI4bL%uS0u<<{A@%nl*6IcW*v=c*muUd4Z~-GdQ9c*u>TP}^|9m?t&5rL3%`>) z%X#P)shJESRyyEG4;9Z2^iu&U>e)j`w&bT|W-^paXoq)^*%To?G<=nW7Zt=|#1n#l zS;VU)y?g|!c9R#VWAO&>7&;h959Kro{WK+__Bx6zko+R&F=SN;{d4W`d1QY(|5);I z2>q|Ycn=v*%#^eA&;+ERpC&+zuz-w`{9@4+lBpr|OC`LR;3Bd*1iwwf<7NRCiN#sY#FV3MR6Ai4r-4Nzmy@t~%K?R&%PcIc|yJFFI|Giuzqic5q zE;RL4CRjVV2iLpijjlaJ1gD#Y)Baki= zs9m_COy9#%fu?UHqK%FnDJ@jxO87B&D+eEL%9C{Nand^1^qwnn zQ&&m)e>KKHW0@~_-_&6z2a6#1b0Y`(1@C5 zBW^VzI2R%6wPFI)cSBV*kM{E$xo3H}{|(OIOWwrAFxH?|G~xP8dJi(xG;$F=L+(Eo zccnV0d9XKfR&`LVFMoiua+J+o4|C!1VkJs7e?AkiKZ#}qgBv-85M=6;>=>|Tb1UJ< zYY2C}j>_+$N4PZAN?bBXzzj_T-Da*@^)z~EKBvLj2k@}s=FMEbY6rq-hnNPxZpQh^ zzJPb^qg=J_J@n!qnTE~?tG?i(;rOFmPt{il6geG^L5sPR$2hy{bO7dl3_1Pc_xg4| z#?3&(I%&sn8pJ+CqzkU`IFW7n0-Z5=M^KpYL19LPgy|`SvCRqr zJ8^m>HJ+Ivso538xe!j}>MSax5T1N6eX9)5Y6uCjFDOJ&P+B&HL^>4>@fG1&4}=6i z5EOi3Q1F*Rg0B;^@<9lABW5KA4)@bqGea1^7sPmS5aaJ84t60^guDRDPs+nhKO-1< z)kskC;XU&;J#btj3N;nj)VBflpEakKB3|$nbwkJDxPO$eoNFK72qzPq_avR^NUqDH-YX z)yw6Oa1-vOH$BHijHY>`4XqbCGYXj7@a=!7pzTnjoZ28V2p4_8)DLefp|yT@*uwtuV<6t^*%RpJet@u z^yE#9kIR(N~ZY7@4 z5Kh;8fx-U^o4Vlw*gs$3=4Yw{GgX3Wx>ZdwBla)}bdux8Fr$Pi&>ot5VT*#&4S;1Y zaxul$0hVp7fY;G5^a+H+N<_+p0h1~&|QCKo~BLStbuwy7_15%j(AC9aE74A&mo zi()ZNVe0m2jEM5*gT_F*_~+$n7t;lfUeCq1Z!Lo9nPkR$@DXe>YtG^&5e?0}(Rbiw z?uL-VV!|wC2;D+(`n2zH8x-*I18h-yj?$4izP~*c_lGR%6fQF(Q|L36UvP09pTIf; zTJ*wy{>>$(IB{KvE|IKhb=ph5CtL%*1s`etK05#(CcxJp;pV{c>$#94M!^~Jub}jW zSB_(I7?Z-g=(!HuA770(E&Ni*jf1-kaxbG}`csl-zy28$O1YzWFAq+m1 z@ZxMFf}Db}6}E7X7+;jITTMfV{%A4~$9?}p<6naQHhe5uFZspv#FM8(=>H|*sRCw3 z69>PI9o5LqXsF9!$HJ#A{d5C}Mj$dwB55LlKt&TUs~x^O@rWlv-u#3+_}BcHh7W&C z!^V07zqKJ832gh-2I=T8-Z_DXR_RYNh}Y=15#W7U;zM`R=|j!Zgm=6&G3g=slcjfW zu{6|uB)lEp-4GXtAM}aCJqSAEq2^}viOZDU14Og4>Bl(*l>Uc%6n_MzX&!8iOPkx-6!oY;%oK;nax6lhebpc!FYjVXM{EgU3XhZ1*lRrcC zcXPmdn0lWMcvmIy@o-3utIQ3bUSu(9FfOJa2?`S{7+5pAL@NR` zuQnzh4?<&G46yWDs8E?epJve*eaAMd5nA+qQ^F(Y)qNGjq6-ZE8Vv;`E3(Q*aA)Oo z5IPAt`3t2vB+*|Asmj`g;NW`sB`A3Jpx~cK!KMCyr`?1zv|k_?r9}-*Gkpw#F*h{K z)AOn(L}0(dg5GwFjh3}yN*;#9Ml?R)F~(MEd|>7KJJW>0r=i2KiR+)11vNi#ec;&V z>fXRxd1L=@?1;*pd>5*eHT~3Z(xp=Frsr}P+}fx5fF_r8@qgFg66ja1TbuN`cF6gL z>n7I-WYBUw7u!BU>3E^~CD{OQeapG+w)0Za`&Mbn>+ zh@!zM8#MjdgOZ_nwkU^Cojikfw3~w{^sx35b2PJFU=aH~h6!%X)VkZx%ZR6F(C#y4 zg-prZCz{C&T7g@qFN?>%Ph-#;tSlR3--P?EcguN3Cz{IaKqftLtBS+cnvsdEb%Zj7 zOT)8IjX!Y7(jsd>Q;I_a3EJlD(h51<`$>~iJ(GTADEwb(84ax&{i&~w_F`XDcl0k! zyA~^V`~Bgx8#Evwgi%NKk@Rf0uySpOaZBaJ@a!!HIV81mDFw4I^R$tRtyDp91x@ga zDwLAk-43rJ+tBZSXf?{(wQ>!KhGTE(EuJ=(Izo;9{0|NCk9I)}IAQW*#g;Kv5;&BW zo+KzizyG1IX*D82I2kBvHP*A-wU_hTTt575E;Nm8 zIm_{;c2`3R*Ue@3X1k<2FZEVQ8r0YL6PL#f6STuPEPpy8#G!$p@J7pb;f;oZ!dseD zt8sLq&78gkIObdqr}kL~!{T2!?F8c29i&?%QK^uAckFxw-fY`3PEf)ESg87iYq-GA zk|8P_zWIgwyKrnPau+6vrp`ZvVs{e!!(qOf>w#(s-qh^qdFc$X@a#0Xp^6> z!%Q{)hN}`aZ?Z=AD>)1)REEKO7;D?vE@mDqr^Xg{<4IXKkb)CC;jHdgDORKG7s?Zk z6)G*JLsFlyV=m~kOB{qhL~!sR{IO{GN6*T}K;l!fcv%vn?-9mcNbo6n=7c29GP5o? z_>N;ZCtfyCVo>#A?c%f$H5t4o+!7(oy74%w-@eWN1$i%NBf_6C8PEPKH`5RT1J`^YRT_vG6diWpOw-=+I zf@m|NgY;@(ZZn8MM39#JGbD&ik{2Rgk0z3v#%RO5o5saLx{PmkMc%x?4SIMR->QIz zUZ;nLFGGG#kN(DsaED%sbi<${=w?iJ&iTK;C*F%mZ{5QiN`-4Y9qq2n>>xwEjQk4M)ZpbrT~Ko2ujXR>@Z=T!PLOE!3sP(ujDh~mp*8>q#c6)nyI(uD4OZ!_r*i? zQxV2&f`Vuqm-%s=m3aVvQ%VsHPgD3_I2C~JhHXdDVEZHuGzwJ!IIY3%)3^kGnP~Lm zN(&w?@6!*%s2Gcuy#`aF5HER=!!u_D>Ua=nrH0Z0<`} z3dF|oy+?oP8ePtvWH@$<(2vh4gqt_;K8`bAy2!c|Jg2w{PbgCLLOko9ysZn`kYI2@ zv!SN8R0sLi#lzY-KE#4m(xzXEz&+DR@%(f-mxXC9xrI-G|90cE^=pHS7xqP5=+L@& z+FUp+f(wm@|A87}OLu+|!}})p;0H2LoQ`%vCtt%o_ZNEdJ;fte$9wWgOs=TjB_#7k z27itwnP0;@?6@9m`V@a9cV(Yn~L=+Uq*1cjxx1uhw-r=eXo@e56*5oYwDAu?q&{`9dzA#yZ^ zX&A8&k@Peu4Vq7b5^Bs$>G(0hRQZ%@4_Sa({FyslRw0RPiR#Q(H)_q?Mo1%U6w=xT z!>!9xB%*tWp%w4VoXTJS!t(86g)*1s3W%C02O+7c{(X z)B{~N^sOAmU#nno$r9Ht&znBt^Q%%D|6T^F2JG1&esJc%7?KDE?q8ENWgQ!G9;B zhg?db5+B5CDroXWe<&~i#6(K8M@oN)_1KvQ(TqxDk|4d)gtru2D3cKg5!ert<*sYp z)aT(BpWLQdbU#X-b*>R&$>hocHfr=sj3t5Es3raUxgzQ8=ff%S)dFk5Ms09cA-_WK zJ;HVXZU7i}4zg==Be(f2sc4}mpluYjiy|Y6Va7Fl_|;2QG`;>J6zg$^0Hd9HM`ZgN zZOg|-(TE6hM8(1;ta)U=hvw`45ee}2HGH?Bp9pqGfd+Ao1WoE_T1Yva(@`6zrjUlS z5!22>ze#*#yiBjGX*}iO{MR$JrQm)fN`Tpu_(ZWa?D6cBtyOQ})~YtJYe^!rmYg~6 zdZ0DINY+N!WrF3NH~>(%v~wj)SqHIg@^Awh3eqfZa2e4EOf=XM?Z||Tr6o`szgU`j z{>+*hD#|cHel5|THVeu$@e+>lr zE7~sf8V;+kWh!r#sp#UanG}*qu=XvTWja;#L`AWPY@rIj^iV}{Kl~AGbO0r*#NCgjDeL zJid1)ery>Mzm0+`r0(4*y;q5E^=ip@XN?c7SzeZd z9DniI`{85*vn{ zqMONR^+Be>wjbnZ9e;q%gf`*+-pWO2EEm(PR?4O#8nv;_IN#d02*>bBKTr$!E1A(? zUCj5?okl*i@F}q#OsDWFqXZK!NtG|=lT>_^sP<2VdlvI(M}l54&fCAhr7M03->6Co zz@Ayc?@ zZ@7U6)y)BK>@rN$%7Aws_1+!u?p}srHwL`v9>i`&uMi{L;z8_=0QOgk-4*bTZ9we4 zfcLcqOzi=`7fZ^8_WL;hOk2+9tKRd&VbyYEas<6%6dx}~CSL`xSKo-((*f_J=+*t= z_ae_c*p!Qhwyihui*P=!R(7LRl8=tgBj`+u&h=^kq4Ny-+=Ua*7{R6`>ji`b&y}^( zq6KA9h|bUA;}8~G1XF|94?}`mgMt@9pD+uxuBS#JP#k74>SBV>6CpCq7A<=P(<0hg zKwcVdA0#1(ziKB1B_K~B=E06I`Wz8W60SyY@GSdR!6YFKlWoLoQHv1l!j%sJA<c4r!0>5s3W5g1A8X zLm;9b0ud>Mh-jV^!ePL+lJS4pF?Wrw+nSW1xsAWha~zor5t#eaL(cp+P@MkJJXDG4 zoI-@9aaPqX=X8*6ZcT`zIc{+^pSUSPNM(ylIbuy~Bh!rP0#(y6DG<4WPie1bwq5Gl zb~#r9+&5KU15>8(`OtR{&U5$EYp3Gq5x~Ar8xmm4F0BjZP*dYAbMW`AmtM<{gO4UF z%y59(Als9TcqG4w+Gh9?@8k!v!U+*^JnTtYpd^tCA1!)&op+nbJju*z3ARf!Zh5Rk zzyG0K<+%|5hw!UR5iae__a$AVu1mYJne-!Bl3$F@PR66(|4??fw8J~eLm~M8wZo?o zY8B*vX!tH-PxX*A^q5HoaU#I~P=d)J{)Q0$vmygYUC1PFw)1C^PebUTA3}_9p-I{n z-0l&sI~j#42Ih?ngRdXLonqk*#e3;y5H8{xW%(2f*;DX`hw>URu*-)Ft@ZfDPBOz? z|3}%I07O-;|KsP(oMmPhm|*|`Wf>NcRR`Q~4G>4n4a&;W6kG~-R5V)@Nb6czS3`Zx zw6LtKte~{f($KQ9(t^^yYSz`VY_S`p*4#G#pXWVi@HqLs-{1e}@SNv;mUlVtzC7F==RuQ_M7K*lahftM^eMmwlNN8_|;l%v!KwIo$2@^oeegZTnStnWi zFND0bGt`WG0%}fDPo>3&aNR{Ld|5c=Bv`f(x{B6gD+xVF=(eRQmca2QeyEvtjKeZ4 z+e=HyJh_U2;=C2N`baCZ*4mDwyXQ$HUBSFi-HhXIqORzm9syPSi?!c`vx9MqlyG~1 zf@F8IeOqDnBw0JgHDL<`*9XXK;T8yDqGJit=7lYigT)-gZBd88ggzL8b#|8&Y1(LJ zpFU+yGrenOX-}Ke;@?8sW^A4t0_xyfI)h=bE^PVJNZsO?5NFO-12Gc}fwr4A=oy>; zN+5S=%|9IqHtKJL3O7WH@IwLWP|-U`g?3Uc{DvUsv#j-ysmo=j-`aR$^b0=y)?x^& z$KcWWAdSCq@%S}C;XG;(hc$BS-(}8^kemmL!<;!M4MeJgAj?a|r$M^IOgPh^rNhTT z`oDz=>IhIe(B_hWinBo~iulgjaHn2F2WrBR+&SJ3XJhKpG$${f(1?5If5JxC>oo-v zf)tc%&i4j6&)^%5qqYS(FGfVPK2+w`ATKQjF9#bU(jv3R#)PDqj>+tuF(LhBGQKc` zwYHcN()c49$Ixz4)Qe@vgFXfrA_{#0958Wmux$E>Z z{*iirsSZ3(~-{x`H8Xl39E%!yD;&(4WI6EHsPXp^a@A z5C7e37&7pX9Rrzr9G(*JmOKLY6=s(C9NZY1gDYTf47231@D*gsX^@QyRK1kNVpMp+IFdj=<==IE-f>$+MTev5$BUevZ`Hpo8^97 z*R?#KvvS~A1(>%B{P|a*`fntM6>J|ltRRP~Z?SD?6$^h24lQq??mc~wYT?(www_gx zYr_&8y-j}x^>72ZHn1jgJ=l($?b_hL&bLQo%Z~;J(!D(Rv40F>V=8G;b9p}d_%g`wB=V@iZ(F~qLUk_=9>G*<1|%A2C>zHR%YkIl;LX|u5dj1}${3nQ;^ zL-kNtUB~V9U%YF#GymJt*`!o_JR1gk-3emk;w2cTbu~<=rDm}|-;v^2#b1^IY~TSL z^Kib2&cf(Xik+j+G`x$Pe~@i{A4z+fwZAWAvC}hg7T)s#_C-aas8j7r%P%3Uun{9u z&$Cv1^Bu5XTni4dn63Um>IUl8TQmnApUF zQnHxJ>JH+oPk;}3tleylGUxTYat)$=_1=B|OP2Uw>K<)2xaWVJ4em)3;aA9Ox-7576o72zoZw$nwNxj z!F#tipXb>OubJmjad4y8xou3F5c0X-zG_#y;0S5m`h%hf-KFD&Ub)>OP)<&4#H9uQ z9PZW1LYGIM`vIFxv#$DVlYgP-QPp&0lfT+CWmjAZ?jd+3*(;ku~i2YC*jtF_NMCq?x4lH7xEAwRo3y7dRMDdziR zOMdfuuW#Ea=?xh2-=ST0KnyhR&1RjJVn$)yl_J!Wo3@0N^PPW)slB%~qfN9XdLQwN z9&vyB%i>sutwV?5)#MxAgun7vte6g_W7~ldWzX z#q}>M(&P0l=ASRX0MWTKEbeP5Qz_;rdwt%or35ic))N@XU99R;pyI$Z@8^D@b|(_p z+KTyt?8M`_-gNfhH&RNp=5Zw#`~1w$ojZM>tmHQ*uy?ZHW6_9r6}VMZc+OT+*+VM|0Q z+r0&smX4cd8LZCb{g_C$X&NknADCuYl}jR*o_ji$`)Q<uGA`6{8u7T$33^7ysXs=00Z!<+o8uwunX^*A;WVvFd&xIZ zJ)%D}U~C3X%25r1?)aPSoJ{nRiB6qf+Lbh$9l8$FjJt0~n(uwjX{pf!BZSU+_f5m2 zgzGQEqXl*u9xHsNuG? z(?JX==#O4Xx=i5);DLt%aCZ>C@iP8w!H)W!(zL z__>5@g4nVe5o^#uuHg6h)1U?@Q~XC;G}>GLNXfpl|l4+o!$nz3zk3L4x+>0 z+X$Do>v95TnIhas{Vn|=FYXG$*8wLlQ}J^N(}Z7iT>I*`3Q73fM6c!a>B4%4qCpPD|`(GdMHle!aYJKl&DJr^Mr{yz7lkout3;JB~E`x z=^34#iFcQwUu5X(%ik<#dnn}9)u`zzBkS&drvzYrgDbi>8k2K7|Y6jR9Hb<3jU{wXyUhKkd zQx;pQ%EMTLO}5uJ-fFFP&nqKOt*ra2xIeD1Ri0B{JFiCvoz*7EeMn=J?|ZAPi0t1s zIgf8=HjUR$!CbF32R8IKDXZClqgvtfiO2_nty~b?1S_=fVY^8`B!k>T-{)^QawR^e zkPx67aQc3>TakIVN9Fp&r9m-ym~e}(7=i(ustem_EyIzAX@t+h5Q^YzeH1f8Tcx4^ zQ@|2tUV_}?dHRy*d{h|8B)CAEl(ONg_aR&tBvS)%gkx+-9woq?2VkKNp@`GrVY*JI z6ic{MPq`&{2X4DV8x7eO>-v}K1{P`%01Bb)E-lFukm2Ydn+BA7ZBW2t2nAlkpj@HJ?~2|}TlU?W;#f>4Zt zAlT*$!eoNwxblu*H6~*TB6D+nVCM2odgeoEso^08;R|A1EeJmo1WsEgZSXjiU=>12 za4iH0&OnM0L|!Nde*$m|$-Ru94k_TK9r`!lt|vJ{nND=*=by41>0e9^v-BA3L@P`9 zt9q`5dzdcZ22AkjpJ11siGcHzc}Yt-+aCQBye%nKkr<*`zg;W4D`IpK zb`(WzzWmZ!53clU{{ROIPHu-e+;0s!LRf2enCVZ4iNZBYG2bNhfB|8lr(T>~65ffK0l>@e8o0 znwU3DPGd1$RA+3yL1%=4=~lKjP431j)i7shiGe4I{kafpEG=j4`b4N_5v&}KGjK$+ zKU=Wo^E5j}<_bNnWM|nxj%7*Fu)wjGHLb$@+1Th1XXnKr2Lg%-y^etX!^{$fhNi_Y z!)VqRu~i0j@oaM+jNP%>1xrVLkmL;pVj?$ZD90c#WBaee8OauYYjw!9p?Wf({*9;c zu2FR(q&)}%rCBmxM!{`o+*SxJq-2}~nNpm{srUtwG(;c8DsZD`1(zA5!r7?(TZ4ES z*aG4=28olMmccxLgRTow(FPUi?6^AG#aFeL>>a;A=Xy z)PE&NMX4bK9u~e_LTSK+v^ZL0KOe+C4(x%n$YbC6BFV62`*2%yzuxNQVXFlvwI!5l zcRuvYdWE4*OG;m>n03EE}|<3RRfXc%@9L01b8 z4s(ZL8PE@w5?uo|1A%D7!y985Rv|CN@H#$VEP34ia#_v zHBn2j24|QQZcLN}Fhy##{gV-_a)Zv{2A!MGLL24sAlHe@g?|!6Dq(dGMnn(#2+jzw zP{6~0g$#q{kp|6C`rJz(wB>lQX;}pnqlPMjhS6+#fzm~u0p>7P)+r>C?$$B}a4{%2 zQ(}sW92lf#u|Z9lAs{~lX`s7-u(X9cY2(iXsi=jDK-GRNJM=?%7kN9li&^d@Yb47! z;Bw@w2a6lpDPLb_@a0B=6a8h;EZwyGr`0j*?K=Ho8pdv8)1WEoxVj;>E-EUry z_yLHcu<;Pw2pA|AuLXr5m6bgi5xz0TkFp&5kgU=Xkx@%9Xjrx5Uq@tkjrNp0YP|*)*VN`LJm4$~z z59$qPV+cwh9!Ryh2JxLi;&k7hULTVEZ=;HFh7im%sIZ}%Xbb^W6)UxGr+{QsQ4SS> z)@Xr2#hf4&G=ZF{si28Sql)#0h%7XyI2fdYHpA=r_&|_~t%iu)W>DdFT^^AZsIal5 z#~qOaK`{oR(Vzh%<&N)J9i-tnG`y_l? zs7Qw>O8ok21o=X=onEl+%O6zeNbDc?dG61*vdD zMIaJ&1{IG*uuuEQX_*^>_{SN%TxQ@u7Qxc`%4sH7BpXezOC(#=SMG0h!|VINH(I;d zDOM1^W2c5#Qsi8^a(v!=`37t7;vo)Jh57y}lqaN^dwFu{ zNK+Q9LgDZfU87_=9LZjtCU>`PFQ*k!>E|u%$7ym_)cW50{TuOXz;8>}{r;_h+gQ#m zaxAuQ47)|{4Y1@Exo@;4M+>Ez&EmcO^OU%27EqzJ?G^*WeIaZ^`>v)6JEKnlf;1 zPE&dqu31gvE4wsN&>y)~?km2+T5px3H4wr6fR^AC!E$N>3#03-R#eJ+ar67BMb;bH zLtlrveA}nX2SjloTQXCQPP#wP0wNGpcRU}2|H$^aBNB^Z(dJP3FUHS>>82sT0}qMK z3BuRu{HReeADJwCulmwv$xMN{|L}Cy_F_aBhTy$e!2@;+bFXwd*pl3ksQUlh>0(Q6 zmtE}H1@ix}rPcDAw~zw5cC|A>^iruT*wD;Tjx?cceaM5M^QccgZEz!w_&oHUmdl za1>oB+0=?Ki0>vzRDZofpL0~Lv zT8c^W{ljcH2D(&s%2UxGq%*ljP7x1lhWHC=FrCnH5wifM-SW8nN{A`H51aRkIh!>-FYo=o>By;axefZIA zv!`#~I@vP)sB!N02lZ{ zYktP_68mbf2fTV1?;5v+V~$B){fH&m>j%EfKjX$EFF!vD9rd6GfJsct2SrUHE=TUe7oE*}Wy$zZr9W>5wP#-yEfLHXMue<+@_kir5H9!K%^p}B&-UCU05$}N{6Yy@=714XZ19}gn z4ZW{2@T@VsZ#BH{$9oMOe3qjuGRWrkR_zf=u!9s2HI4jC>ku(n@-FiiXO7bq(8-%X zn~c_LhdOeNzqmiP>&clzi!;A$61sx>CT%NYhQ7rs0HyYEdWP<}&7nP9pz9@gQ;buz zl6M??`~x|-9$rmntDD8cM;l40Bp*z*nfM8Y)W92WJ zf~;NgbLP4kh?qn2N>&>OqXpU5E0N+>w&#%Cmz~TABP+JrL!E(tvem_MV$#uo8z4FR zgYbB)6htPnm>*?lQm}EQ7pSwLKP212Hr>~ zvN+Qjf3{&GllT%lw!oH{WTM`#{*aQaAp8cF>y;xe3%ZYudO9MJ?ahQqpH*I2iZ{xW zRq4P(`W|M7WHqtuOptS@pe|JZAbesF{*NGhJ8MFhOAKLe&y*9xrv~+`R9b)3Y=NbeC{zVv=t5r`Ik(CL(7 zbOooG1{L~4`W?VYUow8!qgEqi1u+x_;p26IbS_{QZrAavIUXjg3F3by2=@iy2QI@g zv^jN|gCNiq4S|P39F1W&g_t^sWV5a>@W4a#(K?+vnq*XUp^m@L@krsBApRGPcodk9 z8y$elA#6sPHQ7a;Qg72mTL-kg7fH*yut$5s-b>@ha;(ya-_XgLE=sZWuRm;MSC=R; zzVAPlt&)g?mQ{{KcIQnd7pr?4Chi?aWJ`VR4`IGu|07QlS;B~@w1>Zz*;}{a=B$g0 zO)>SJuN}C)Op=JGp0>pb)U$wtl2Ev*fVB1e%-H;q3pyl`8BrWHfOeP-En!3sYW{({(spn z<^5~)6cJ}`wa-luWAsdd7~`TVFW4}0k{xkH3R(j1BLl zQ7mopewZM-Fpm+$n(1={QCznZOb~><1QP|}AVIevP;F#O5`@zPk!`6qvZY`|jPGMh zMGZx;D<(V%rlA{7up0tO5V^L1UF+>`! z)!DWYct=VljMRrpLy`Xco8p7HK_CI79*5k0j3!_!)yH6E`lfWV@gom;p3!mJjk-TK>H5ZN27qm47%qDuKzn+iL$Cp#tm9QWtkvO49d6X&Rvo^o z!*>7^Ze|Iym8;m}CuN*BJt(eet#_**Xma#KL;*j&iaSSq`Us8tE+YIhJ)7afmN2hArJ4)rmPn zaEjzxCU(KNuKX(u;8J7Q=!r@vwgQN3$1n`G8!>~<8VT=(vH(k86Jbp1D91s+nw4e9 zk&%cD)p-T@(K8mD9@b8ruqfpem#*EXM00y^@^X-1sbUgHi(wy5ei%wR^N_Iy;HEV( z?4d~r!TLiu3b_r$_q8?B;Wvgk>`^qqi`eFfi0I5_B!dOsf}1}pBut*( zuOk3NqvyEDW~_-yGkqnphu1{)x3;16q>)G%E8J>{lWc;pS~G`lM`=Gt7Of(DmT%+_ zgY4Vz0iDg)>j(Mi7;|47r&@iFlwO14hNojlvk+T`&~=10pSq$U<(535-C~aQ*7mF~ zl5nEC7S?+*z?hs>x;~F`OOjDA$3AZR{4)-wxNU+b6X-s;x6Z&A(i&Zkn+Ovi2K9=5p_x4 z^Jl1E88G-x%m@HZ%I|Hj6>49u8di(r-eOfzRn;)xR!Lc*I@aJ=RZ1J~LuoUcm;3Wr z54#eTe&meS*%Z=STh5tyDhTN@WuHzI_YZ_lCWT{`%wh z(o9qpmmae)>k@)DvoM>_dR}szEud24eSvI1>J3r7f$XcB$d!b(I$pqTbSXW=ICdX_ zFt*F3Tqn-;IUqo3^MP1D+SK6O65bq{b&h#XdYUPn|R7yeu=oD_#IK9#Z9W9h#8>O`h#P1{=DNW%q zp|W-nK3U(&HchXbr)d1Psaij)h8R4=SgBXqV4!-6-1`u`Rp0#w_kcpQy@G9~-a`oR zqxPp(hBj)s2?FNg=K%uVo%jGLkI>dKyz;%TM7P01J0QhOA^dJVLaQ&~JVFR4=Lenq zq0N0^XdZb3t;L9a|Ai%)_4=13jy0x7Ca_5`XU!6#aXo_P-3S*)eV(q$KWxn1RdG^Q z?!s<)2-~}=dMFue`!b7*C3aUVY$>y=zV~}5ABp^uC`_^PttxwOfjxIJw~8Y@g|*nM zHT~a;!+KYumf-W*k~~b@@{L+srsG8B?k#9{b<^f2@)W0aB{(Ui=CcdL+3+FGqmG49 zN0!|am!Yl+=%FaFJrCh-)`Q$iJUdu|V|~Xp1JGN*3S*A^ruKt)XT`@+i}5bOd7#!U z9e#xNQnX8Pi{HnVui{=HZVPz9ZU&L2jK3q3szln|A@>522C~+(*xpgQD#~fy-$DA5 zNRwI8KQRT}ySL&H=W7~DKSoT-d*hg6{!%%HE$@wRt)RDU^mgKS7&b`Z&3dpy(~rH8 z0Q}zAHFTskwU6S&B0^wq6dMT~^UD=)qsvlFw5##u3$(AW5qRifXrf#@A3ryH;S-pt zzn?XA2K&iR;L+I*kL12eqD&pok(%_tz963uNVDsROeWg3y)$ejk?n3>IeUu8{mr!N zh39}1Acv*~$nZOz9a<3DMZ_6W>`Pi#4Li95L8a_UA+bg1L)KhxJ!zzQ^@L;Fg0Woondb4`1UC zcB&lK4`zWBx(%d&*LiI7b7;fjWb~3X>D?r~JHWz@kTj0WKLL9{_Wnrj3EF!vdSAra z+mJIF)?zkb1K~*7mos z$blfA1z9U!IRiny8)R+M1DgsmGRW%BBcj<#yvtia3)AATokY)fh#n%*mqFHyGBIfo z$bWQ@;|GEKA;=2LeHKOcxmCyN4MG@X(-qX`NoQmS zIdm|{c9r7J(_-jg=!^rIX9adM$S9Df&W1#TExC-pWVCR{JExZcs=}5pu`o|^mSdg{s_BO~kV4idi zcWV9HcKJ}?u7DCj+s#Y$Gku9Hy-$It^Jg0ukM9O&<49tqL3|>cUTEne?}Ydo9*)?G zAnuLe)>39i0YW?yn)FO^wm@;_Y&R&I3||9bc{?a9bQ(H_`!Hxn`xk#xJ1!>mUthp~1v*kh^W41cg1aK+haTKZ>yr8yN} z?NDW-DB?QC&W^!?56)HIdkb=kHAB;(?R%ez$p`u3OXa3*GHK;`379Ad?NasBb5S)RUN|-sIjHWMpjyiCiag~rI@wR+sHDdSUkX1 zmnmb!#q3m>@;IzV)Lo-IiRItcQ>GM|GFQ2F;JaQG4tt`?oLS@70@N{%4W}ri zn_I-sMGOhy)Ph05u-Qg#*6 zO)cin%}B<;PiRJ=;Ms)8i1Ee1Rc~1{BK~&O8?C-FcVD~Rff|ZGl)*&ULYVm=X5(G2 z;L@v>C(-#r<8jOtTNA?XYocVN{xprU&=KXyN=fb#WPXh25?vJ@)#+|dN80eoQrsVM z)9Adp)w!P1`O|KhHh&u3my}0$h~yPbufA^joa&*KLt$|I5_JJxIl>yonxq<|jA!iJ z4v7l=R+9gw^a?C}hcCFkV%GGjL$4&CKX&f5)$^y%xfN7AD0M=t39+E@jtTV%6?}p; zz%#M%)rx1`HL^YSe+?q5*zJgzaw%HDk=E}-(57RJ5ix|a`~106E2=BH|DDMYT2^{N zju~duU?2*YRQx}E2G)L0#3l&ii`q5P@#4oXTWDKTeD2ZdX(F% z+V)64ESJnb6q`4`{6rC~TL@=AR@~>#T;$V0zVzFbR1q=ojl4rCyi(Y8^V8Vckjxri zwMtehfY;z>Vy%_(Ja+#}CRgkL;Pj2Orwbn_)4PSOKJ18M{cjHQIFfX#2Fz^rG$leN zK{so?Ny_SBB%Aq&_L2)MYzV}9>B(Y`FHwfq^nwemHhl_60i#x!EF%1(<62D;(s5y4 z0jGxv1N6_X(VhGn9FnK@l-6>dyo?^%adit7OJ89z9$3#4*9 zRY=gAq=_6)69xq}SwnTY7T|Q|s8ROh_tEO3(u(;Drcp(iKlB=0xO7crWuR*NUl`a% zi#_2L#|EFs*4HVI@_YYi$%F!(kfKk7bk%2M04bJ4cj+*bATki~6QsOEbc!iK{J)G& zsY**P9A;_!rg(k+BM%qHQ!>-i37-(bl8GC*35!D<@1wP00S^+eghG!A^(?herZ_hG zDtmwS<2{%;xcHF`gWzRKS@i!F_4cuHL@e&H;5GT*QqFhhGUYup+w^AClWc2mjO_Q0 z#K|!KKa`Qy0;B>(voYvAVWUJ1>?8L?sxc{O0WsJH{7lb;+m$eCm zSp{JjUPD$N<+i+Q!r=z!qXeUpLefyT`46O}FLDIzvi!gqEm?Tld zrr`p(^#MtcDYpf}6(}Nso^t~?gA|`*x;#t`2Juep*p{P_bf7MA;TRAgk3 z@-|Y=_W6+dmAa5e7s6T>-Gn?3&WKQz?kaTUW``%hsTMzCPGtLv6u!l93cunaeWAVEX?3Qn2JNxz<*_}kWp&x$z@uPQY zq^ZfG_d)m#W=nP{r>@TV?qZ?rjpkPtidz%-erCyAwQCP5(rtGJ-wOO0Y)LH z;yb(~tXz@5m$)fB>718136mQ=|9^Qpc|~r0EJzU(cPrmsF_Y1?!M>aJDD%a2#aJ>v z_=d8+W-yZ4CBzEDDBbmkve_-b$%)>n7xIvfr*b@=?<^oX)e+RoxTw?Vb5f@w8`+lV z`5aFX#_2fKTggIK;UNvL;q`j5&`sE{Gf+F5EMy3DE|e5xa|KyKHxyvPDFDerj&Sp3 zcn_ieGCWs!Psh<@BS1ZcpL9Hv#r*1_bEb~D~cvFbPEX? zmvDrU?@tMM#Bum?8J?r#-Lz>$@{l5Cb8Fv#Am>M?DgiWpjj){<&vgQhXuHMtuXmIrO89wyVTI%Q_m$4<_jeUsa&&6CG~q1)dS4B14AApg-6o}r@8}^VMzqqL7)7*@{pUkvnAHuGK0qNG{t-}52l@!1 z1s%-aeT2T?V68{tZowizNq`f=xIW``T>ZJ9wc~c*j2e_AW3xRjpo9_tKgxI%f*q{x zP6r0ZElOm+rXZPegADR&hs-(f;eSWR$j{f0;(rPfuQZ4!vVP+uy2uI0fBNdmtnm@f zwQfbS@`yuQ5_@(#4vH^3V;nuCqBZ8Vx)coOGyvOs~8G>f6|6I$*v5&c=xCHHhaJ#J>m< zk7T*%E%iGdB;H~Wr~Y3cT@vtOOqYBv9#2;LjJ}^Vi087h?KlWOfo*;V$*_ETq%)(< zKt@UK(EdepvZ8I!7zBinWF-$jz4`5A0Lp%Jl^R>5r z3xfnah5%BhCg9%=-9Hc9=*ebfUt==-4LIYQRB4WaFp9Mv!Rpa+h^>Nq5vwbZ66Hw5 zz{KiOB2(l7=>JeVAJeB-uGTy4sb859ahhUk=!$j0zN?QuRpM*R-h#?{f2v!|6kEqn zS5DUZySiOXVy3^PYS^RG_jaaBrIuALE0VmS-uRZcDjzAzZ;tnxr$1lRsb$D?x#IaE z*D>m|tnsIM#4OD*k=OxqW$MLy_8I zj+(x&{DC6#$7CxSYMM2h(Y~{vDxp`JM!GZwb`$&eU#22<@Tii2ncp9dDzP^vBZ9Q2 z_y8bfQEC~*a)X z^m3?uqm8|RUQQ*)U2NttWo^a?nnBJRJAe9=nX{&ioj!Zo{Jeg+M3y)9gpRpo$in%U zTduAzc{b%|Wq|I$4MCqGCfD?ZL+Gf0R$eU>(yjcfw6X^s0)jC~Z@z;e7VK1Ig!s_pPsxz87 z#rprA4D5}kTwO@m;kYci6^mK!i-_4vQ2Y0U@O|`|vPk4xBw7B=N~$##T}#UGF--gd z4Pmm@N|fJ?D~IXJQ^%7YjL~rZwW2{v$)Gi6$^ev180mDB&QI}f6nTe*zk`MK%9mk} zXJEh=@L09GZ?WwnCW=fv8D-9cuD4|+4_TZU#Rk8qQxm8OW(LW1=dESeTj9)W9sD(7j9*im*{?N7EiIe7!A(*w zgOnN7C|ElZ?WlG@@IYtGh_4K!0INeA#EveFbYm0Df0jlLkQ*Qq%PJ1iMGeo(l31$U z7fO~HO6dms2)62^;*s+5bF~3d9Y>$@xSSos6NHMo4j&Pbn9@@`xwP zakxcrSBUMkg+!raGTNe4fcNlsLhhH98;Tl!Fbk$uA$@DJnCskQuH1)u%+x%jQtUaT zoTM$Di#2>ZV_iV z5d*-FJ3aZycLG^2zSwDaq}QYmMI%RS|NY$0qkkz+GXL%>#{F%JxBuRLF5N5s9#I@N zeEaYIU&~;46++%7`*6$e(M9Rl|0*bb!lldM zv@xWZGJ~~078-QDs9}ad#O~h58$KEYXmFUCrSFXbxzpJs#}8n$!+^29L(m28Kw=%s}FB*vx`$gLRmqw!_I3@cE@6q zOVv5p$;FPo^#z+0!}*6!?4&44Nje8r(3-ZPi}V@mfNbk1Oh+EV0iYg}DyCITo<3>e ztf|u%&7O;Glzf#+=gaM-$#<;G-Oj>GQ9LKJ&2>sw*3b|th5yYn*8Z{Gja6tWtu~}3 zB^O!cNCz~boCn+~YtoIxRKJmRc@$4xk@E^ULLW~dOO(Q$D(1V058rgT4p-=KDj-$# zD3JWb1ARW51s{Msu(7(HIQCKcFH5&TI<1P8-K;G~k(|LnXB8iZM+VrE4u>VP(oZA8 zjS1e5?HOwOzc1mV6~WjTE$#l7H0(ARD}&Q!Y1gkK(W!wA4$riqrBhhzxQHR_^E+_m zIBcvuZB1m2W0bqt#x2;NS5T@rqasn1C$&TG+haArb3d#&rOZ?_dHQM%W~F z^k$nqG#f0G;KZ%6AAPU`<+%n1$Hu-7b5`!1k~0I>-*#|NZO!!oZo`i_FO~41ZS(p~=D1e*YTv3e%8j<*NhvyG%;@~E zul8rQezSdvc&~p+L2j{j zT2iA4Zkn*u-?M)`j>@$L9?~9o^v!Xxh4g|1HDQ`pmj%Y`UGaLCt4*t5!rzqSUE^Qk z*1hxQ^FS&=fn49LZgeA1Qu_*lA{Em_e0bj=aO_kI5?u>$LXVi{qVZ|6Ztp-oiz}vDenf14Kx}<0|5OfLX_RoKbMysl z=|xlW+TH4QaXFhOV(n=aTMfXfcUt3o2Ss(K8M|cek<}Z*Uq?<3JXBZ?vw1H$5^HFe zV&Ea?&Zs!4?5x2r86_y6DpLI+`lulM7M=erXvtXoxGRYM&mg?va-2OmQx4Dl^m0dT zY~JW8?Ixr^J;y!ig@v@)bZRs1>quwPHChLYvr_YB%)imFWc6ElCpX{Uy(WuL5E7u1I75czo@}+IH7Zt$(V)YBaIoDj3ojTR1pMD4IFu} z3eW_F6gLVejabMaDsLEPQyhTnR2JG|}Py4ng45GqWvbxXreY&+bxB zORW4f+P?Fh)RCr`XjT-hjt))7dbb691M#!6Q#UJJ*1d}@+%3_n)8vU}UxLS!AInBUl;3Z1HL) z$}m5(RuZo|E2ttZk^kV@GLMEVw_vl{7JBBjS7E3rR8!j9df z1hpI1!-f-B%H{!>(mS&a32GYM$OKegfl^e!a_iKHb&1&R13R0E;C+^D-eBuyJqaT1 zv>n9ujddoKj**@bynuuM28qwF6N;OHcKqpw?OQ#Wy2g9cl^I*0J)*JmHe$iz`&; zo6LQC=5hlp=KMTZ_(AI&ae^|fVe~dpxS9PvM6Ea53Q~Qmi`8c((eE2DT>ViJ!+aT| z)e({}<{I@bv$~*q{-w^$xUin3^XE>PwqSwo^u_jAw&_kaoc&U%?$EZtT&ve%hzR*+x=yRR z2og@WSW*ckBktsr?FOw%Av#qx3FEaoFJXe#*-yY}s%*FuJ&ow7D>)zJNZw?J4sxH2 zm4B{qs$O|c(`#i^nnhrs>oi9aM5VcyLw3^)HL(Wlyvjq>hhoMLVI>osu2~5rc3!1H zO*z~t91!7y8Q!=6NhN;Jdl7`URH@M6tkDD^kEn8YlA}7lnjoswy8-)C<$XUn%oT(U z1R=16AQZhwuu2g2>+UB3O;OtMY}0itZ>Bn?2I9PmhB&1UnFIF_MELUwB3?xV;V+K| z{6*68c-}$~$pR7X?Og;BkClKF&s79F>)#83b`c$sNF|8ibqA~=4|s$T?h+zE!9;>+ zD-d)JdHj$HYY4{&ewrZow*#6G`ke&f;cgw@tHUrr@-Ueo_{l@kKbRo&kK?D;5Hs!} zQUb3XF)<}!005j6FDD4xN%a4su$1UXp>l#qQ62$!OeteZ4blhP$=4eL3K6nA5=6*~ zbqEp<5E^2h)sc#Vshd8I1s{*$oqE=TFFdA8E+sYpqzC{HSlOkl^q8)9D_b&KjVnZZ ze_0x4>l*9yk9D^mvO9E5OD}aGv?#LUv$e7iNs94p-2@Rpp5*uF&3hmqpyO+DI#2Q2 zb<+dOaTPeZBO!PI!S|fbx1ZoYaI%>o^!!W^^gncH7m+Zwd)ZPkBAIQRqjs%9rlG*l z=W`Mhk}{d#19}FBPXh`6=idt|^mFAra4Yrl4$oGRJN`UD@IGz0Yr0Asv=Zd`5<H z){q0Qso-%82_ROf1fhth%4)sy1AHXhO+&QAr2vm5JmLS4um7*|HCzGj7OvGkhcPA6 zDIka@c}xN0$&No82uF%g42XV!Ao_&o39d(#gk+|>7iJKI`@IAq$L%pd?g_#nw~a3K zF+n>Gx(ROAA@uMQvJ$~XT8EfU$kHb=J*=e^;c7D9>+F?qz>L|8ZZ(E|~ThF6}#z570 z_Tv(DnAMK5O-V7H4O$8`4k*QZJbRGPVxSg|eopAf4(6O1pc6W%OKQ}))~OxT@DCz! zzO7arXRU@?30E+?7A(7g7I5@XCmezMgINB6+X3!&a~)Xr!~05(9;t&L*%^TlbiEtY zUO*|~#PpyN0- z{vJ{Vw1lH;?*a2btPyir-`Dr34$)c+d@m>ed9TW>Qg$E}H~j->BvAUSNYoWTR{|~I z=;tfczENZ<7MYVz4FU+;!l)xn9qUZm6KI7~0lDKj7?8yKX#6M>Q!t`JSlUc$TGUk` zm#eZkkbzliUc}#QJKJ;g5JDQ&a)+k-bPd!F(31@fzrX~c`Zv4LsmLZfc~^YU#}G0G zGY-mYA&i!iXa7JjJK4411(cr%7ldoIy@(k)$pjI4JT90lVf%Vx`vWLOS`RE;eVgsgtW5?q)5QaQ7c^<@RzZEi^R(dk3L-0$j^j>!#2+31!}c zQv%i$c~*BwU}vKh1BSl6d-3kSZ`1?owkytn`0jX69j=(LIWhc8Q?@w|hAPM;X+#y0 z2v5feA6f_Qu|~}hz3j#{Xs#lze%Sw?3^h}3J>4W`N3>|`v8(-FPgn`P&pjuZ>wvBH zmw4u$Q}A9w#=e^C{a$xbTdips;OR3OR$%(|4CRx`Q8X)cu~0~P5F7PED!VKW^~S1- zH|@y3{MEJV{hJ4gS?(6`S-t~Z4Kq$FZqgzYt<-^ z<(KKDoXDqydRAub>Q!#}#qT7y^Jmr|d_&sYFdyOd{CLJviY0~OwQ5?87uN+RI=)&e zwLa`Gal6`TOwlbv+DzuJ7G+@xe5gC6azj-LLf1w8{76=%+Z#KJ^wC?rznJT8Ju?|* zD85>B2(wQVtC}5%X=#{ux)SGg9+BJJGU8vl25HixgioEsW`x8LiebtKJ_EP~DU ztW&%7@efA@w8LB}dAq=Dom@^aCWEuu@;!a`D}8a+&@4p<57BTS&ch0J!x&}*Q$5)3 zF>fz!Q(wW_nR*rWQ0J~!2e4H|*lSoK!5q|G>(v$FR3<;7Hj5|N+mEO>Sl^Ykve=om z%8n>s<_2|_%sgwID%Y~u)2EM?5gSoL$4Wq?WEpADyPqyI+TxB$ZV4v zncIdsGab-`fjku@g5^3a08Buk;+;S=Vbo@lwWfgt-5MWRYpNzZS#RPXzmj^Tq=@$( zQngBicCD2YBeYck65UHUe1DB#hTdC1O?_0SX9H3IP>u3cmlA>qFmIC~KThX^h>(B) zpsL{JpgJLOgoG^ZOu<8&)o@?vW_6y4E!(WdhyN{USocki(Y`mHR869FF;u__2Oy!ly75x@sVfJ57B`O|@d#Ihmx4^yQVeUQeNuN# zby!%z)iz1gnQ&nX?s}7>QcZuF*wb=UfB7WpWZc?vy**K;S=2wY4KU@<6Uqv^g`$Sc z_w>|^j^=yvS;Km3h8W9~t?Esoqq_?iCRUi*946ty6gGRSdR1t4=P|$hHGg%Hxy1~p zU0coWisQUku3f00dYLtZibrYFr~bWzW)9J4PhmgI)Glt=jRe;; zt-{0Q*DU&3b=2g1oT%b;$kGj}CF(TCXVzbdkMki z@KEy3Thg;E!`F z&FXXJH^pucu0qT@YgMAq&4O!_O?_p$Jb6k;Ns?E6-puV_cTUpQ#w|@*m6H}pI_CEB z8|IsZ0(5jnA|DPLGNivd{ibPEmAB7#vyZ-)|86~3zcW~3_7~ME9KvrJ7IhWdcGwYT zxKjR)7uDT-b^QP#gS{Ad;Gx1p2R?{S6(3!5`>~FrssWxT*wN!5`eKeJ2@`+^ z9+F=|R%3_(T|EeN6<*Kk0-65xS{6fS39|7J}TN71Uq@cOLR9PIYjRTpc! z+7w&=(5_9s;jgH#h|IZN4UNdhivExVvr4DUpFVf$@HwLvOq)`l^jc>hOt&(z{`1{8 z)=%8imGx*=JG16j)lRG+($bwh?^E}%?mji0ZHTgT%hN7}*Vp-bj;ff_r?g_u@Tm*( zXrEHi-0I3}=PsN-Wm@sH1=Z8%R8&u&JBQV-cE++X--r(|&n`8Njo78;T00};WVLS~ zyJwf$Bb-u~jPjv#$6-0!u}e)Ad$QxZ)NVCM+hQX0)Y}J)Lr9*Eno&DMkdmK_@=Ya} zqcvPK8$zi_bPFKiD9;^u0`yV7AegK}YH!FNw26YPKnoCC@tT@60gjF22u}_GlCpz3 z1RqzzBQ;bX%R|#RxYIhre1gODnGDFUAiP8$C_>MA-;b}U#S*?i3`^XjCe_>bgtHyZ zY6`xGgT?Mu-SkoV)Az_?j;}3F)?*K5M)6U?*_mcFiGLa2w!P{sQMRLdjtR?xFTv?E(?A!y=`GZKEyu8MzWgmU z)ilz@o`Z`xhqbirO1>0%r9 zLll;D_Cs`wi+xXM2@8K4=r$MY|2DiTcpMk6O??}m`!u@`1f1D#B5;-+BXF9D?*N=< z83ZP*vznM5}EFcVDG~j23iW=MH6ayS9RuOM`&LknE=K2 z(x~JCz2F9l(?--3>DrdCe}H5h*z_`}KwqX~V6!Jk#eTlE*R?B1d|(87?OioZ{sTU= zXdMMVg{&BAkqZP08M17L+9Fg5RN@06qf-@{O%l^!nN8g1=md-As$0ZOP_r?7Uw;7U zzXrMr*lLE)ycakQ^|c;AavfnwXJ9(Q4ppn5g-QwR()WNtc^fQf@+BCo?#z2njl~j1 zKR!qztLj;%>@fDtdun!ZdahVOjge(f{to+ydcQxHOfN6km9)z|ef(l+fS6@Fw*9x| z?MlgTEAh=L7tkPwy8k#MyMN=u9{+IP_3x|8t~flyc+a7Ty?hl1(IaDrpSL&*zeNx! z@>G`S?6E?K{!n$70-T(*`Zw}Bbi9fy zh{H~0GL?)o^m`;V+Nwn&L72uiZ?eX**pJi~>l@yXTvX5IdQia*ol`M+*0iZZC$loQ zBhmM-kJOFk8hlE@2GL}K2w5*c>VxO&5ZzU7s?|a;Fm>qGN(J?;DKf;*`MT|91AMK)1lnDv-Cf^BOz!RWv-wTk^gZ-bxEZ9m>j*)|sT z8J0eK+1NxtbVFYF3`?iQ>`wwC*{Bl$%h{$AD%Pry{3!@kBn$VbakN+G0nHZ3N+cqz z_cY+J>s_C#xl-Sr`MBqg;-OyV9Mg8Or@6|JGNfvG z)&43E?=hMeN3@ATO!Hgk1SgD}ppKZq>b_KaV}>Dm^wZ_XRqGMCy^r`6d;3fES`2_= zzf$|vTr3Q!+~iNMN?82B3hWxS(4J8XLTRskrAeFc7{aGMls30QffCY-TV8$T=BBWm zgchMkNy}mXA0Dyie*D!AHP$AJNohRzhy5*_(&9PnKf&Kl;O!)TJL$RVWNmVxH?4-V z3Ozn+y~Mt#>5_nu^L0z+Ng?Mw1O2f7G*@!k6A#L614ZcG)^gwsX$r|Pw~OZec#8qu zo=ZWr=L+3VBEW&bZ1UTkBlh?uJ}#+*r$@Qkqn-_C99*rFi#c<@g3803cG$BLGa2sD zG=KE#ko8^~wscYHdYfo(8JqHz+Owu#i!)njtE&~VziS;*(hnPMwJ#=OH_^$~O@5Qd zlGU|!y+6TYZgZH`ti;x%{us|joIN<;cM1pmF$ETVs3bmm)F0{YSt7zr>x$+B{z%UO zOjot|@9MX)NII6}6@Hn;CxHa_jx#&k1xHg$XuFw(o`xlmyI9xLYS-vhpQx?khNF-w zi+iLfrDa3WKR)T_-NY(RtKE|3zeHP~}mA| zv4V+Tt8<}o-q-4#ohj-<0SelVD6~GS{i)>-|0l{RwI>U#^qd+wP|(LPA;^83b4;0z zR`Z34lh+i5wATBj!LJ~eatX3oAAA^z*eGiZRs-|_A_A_N!T9sdxmr_QLYf>)URL)X= zRIA3K>J@7JZc6Ru!sYZA^D8?n7%WEePzvV@N*gZ-ld@W~c!ub9q_bWLC|=7exagro z=Hord+tT#PiVZJYGdmq)AOEPPMw&|k=}@(YCI+h!dv>^8%}$M}qfFK|B-(rbiUjXH zjUkv43-#Xriuf!Q({xM$VpGV#@6_}fnI;{VE%z(6v2AXLqvf`yn>uDIYrTVawe9Nf z4czu1G=-&2Su74vv%WeiK5>mdrA=u54zU}KpBXi18GiBj5xxm<8GdHu;eNQHqOnS= z06uRu=u7{!258~`$Jm(4OgIA)2q6sN5Q3nFLkw~l z?r<6qnV_h6VK7JmD{D}65kV3T10sUw;+?GEx~>N-Xh3vL6x?xj_4~c5>d@)^@ArKL zlh?26y;rY}uI{dS^-69OE(D=8_uivl{TX-975|I}Eq&~*Zzylznk!6G7bi}KTKIj{ z;#V?eR`>$fQl=lhxjv)vQ>XLHb*R$6huO}A$*y%e^sPSwH^m!(#1-s~(vfCgBBP63 z+(myE+|CNWeU)4yBAR$Up%Gi$CqViW$6K7k%Y|L!!gN_jO|tA1ZVILy+tQopu)__h0;wS_Hq>pN}nilmu1gD7M8 zU*dfo@z%;F%-9sP-d|N%X&I!n9V6ZJhoc6Mf=;(SL2Ch;5^|ZM+m&UjI5K zq@Fqb5s~^Li(@E5-$b5W3&pvW^artTK0HI8FaG=5-@i~!=+#bD&hMO)&CU=@_}1CG zbDrFsQBXf~p5iO37=G;9Eb`0;)7GG>9QUx#FFG^QGAgG!t*6C9`!*zrD<$irro7`j z=WQMN5%XMf#$dX&h@f3=EiY7A@%J$BBzOymg|Ow zc%Sj}IDhVK&1il9@Om0%`HjklRDNacwUshUh8XME6G=1+9 zt?695X8-unIn=yXgH!t4Vy&j)UsgMN_zI>Ja9Wy|MeMf@Vcx5J?qXecdtxem>zu_; zgg6ZEBH$wrp96O=9Qo0UEgBVp{f2kJy-?NfRv&wBihVkpQfGBLd-91bxK*<_6CEUK z1KT;zofAfveJ$*R2W*}Ab(w{Ifoo2Z$97i3J1&t-W0pzqbxW6J%!5nz8Tn=JHpQ9F z7Car3;vB){XEDz-d$w~FM`BspD-omEZv|ejE^eA#$S7r=UD#Sq;;@>%D<+3c+ZE&H zcm0)Z~*7P49pMQ%HHk~o;u-akP@{J7@_>xPyr-R_cK81 z({8bDC_9n(IPO*^N}N8}$+KoPo4YJF)$%#}>H{2g6o;B2YMM9jDlza|m5b^4NQw&a zs5oT-TlWH-AJlbzz++$j*Ck^vTdLSKcVsSV(i6uFlDtFGGj?ZIN&S*s-JsqFU zw@O?W8&3*|XW`n5jRi+d>7SZ#2P&BALD1u9;(k=)GLXPh?DX}Dr7BVPLzD&+$=^+Q zNXn$~$g316ePF;tc?f)%GNBz_sBDzDkUv~GByrK_ij{YH;el!t8!itC#pb0~- zGG6H;@eUlHpiGsx7>*_?Yk=#4L~W7j({Sy@5%l$J=V)(g&_lz73`8~rIAtTqZdRsC zoI15vnXIgpxTv_P$_|NF^7LDjzXI0-$qSkALd>n}0qN|-`)&t$i{aMLUgcKh+4cm= zpG|lanvm$pQoxJH=S|e4GEjz#P55gj{By}KhRfNCJ&w#U3<5^P>6o}J?=#^aoA8d* z0y2;Sw*V&vH**DNDtDREkD2gL2llL0jS3Ecsfiv)&I;fpr#F6H<#uJ8#OHB*u5#Q& z|EUT8Mbc9Pc$N7|61pzQtHqPai|75#)RkpGenDkb`v~Qr3IE)L`!KDo2U57J37-X= zGAzK)t1MRTHl@EH(}~xsSXQtMn>r%_dv9rm{=a7FYtk;nuusEOcg?=f!`c3`YIwss zn>xfyK9i z^Jm6r>|}R1;wqWrRcjL78prO8RCluS7u2ro=v$V^Ee%-39}%TqP1lRoyZ4P1@Mb)F z+-!KXzHRZ+v2z#AAGK)C;t@A6&!4<8Y;s3+a>LPWWdF1MH6@|C6M7Kf_VJot78 z_GAaOZ_T)OJK=t%VL4@vxIt5Hr~ZT05!@L)3C@@1^9!W?`$9>N5td$ZXwL-=XJj|u z7m)0u^CYCD>XhX|PRa^J@d0-M>U0=9l$4-OP$_o?tQK#PERfzj$z^+$R_JH^`a-7!882rt2(jf+y)ANch%B0{~5|$H$hSZ5%b>flcLWYHeBcn+KA#l2c zO9?`e)dbOLse~>Rj z@1-^zOZbb|=)wp;BJZN3!qA8K?ZkgVG!@}4!cWR3eiijUh#21x3@NXRHcWX_+;%B% z$qf^y5FicxDS%Ow{@%6Qu(ymSMO?3nd|V$$xgVnaizuN{v^i;5 zA{nUH((cvn1W^NYUsIxB$Ufwz?u@mAm|fGW|U>Cy?FkxlrqJj!#UG|3Di zL+Yg@0J4>oze>ixiHs?}3&npb$Aeu`5OU#)ejBEEFJk4!0XY z5N#oN9-F)fUZAN4QP5KozGp%EQwbYo#Ayksx2Al7wgsN@rQDNUDRy?aHpwkU+ogh! z!`_}0`WiI_dRH@=h~PzhCJ?+t^A;lG4H7;qVKv|L0tH^83{jPq(VR&T?c|npJ<;{2eCLOdzbm(p8gAHjIQZ`WP&?s-P; zk6MWK-$R7xOm7i<_FCJbP>QQnR&6~xC2EESo^AwxfFcA@Lw6Ibz{7_iRU7&gzZg1WvsYRN+g^lVX1`VHJbK8l}R{D!g2{0NJu6kM7LbR zN(t9USS8_l2{&+v`hQqPR7<#7!mScMA>liK)E7<@M3w(W@G7d_2KXAPp5P&j2Y}S6 z$(1v~G6`o%$j6g^iD!m&APCY?)zpdl6NF$DkQgCfN%_fyBRzuRUt??CjzTsqQ_W;~ zPkW=;*&J1iYG;e0u&NxjL(O+5;~Ms4s&P>VkL^uFg~)Y>Y?sHmu1}J6jq~^;A9l zRdO85>7lM+A9&S{?4|B%8ol9l!K+>zd*nPEO`gaCUqcKIxLbQul$#e3FMHj|)=nhW zJoGk7o(`-1@gL);yl_<=%BpYF-0b_O+)?aLPIWA+>!~Ktn;!dzUwz4OC+hAVwli1F z;Fou^C9k;dVRet-Y_BqMZD}vDi^K9*=G!=WqxvnYTdOS)H|(8k!dP1>KXhZ)HxZev z<(mk*rIMSbB_D=d4L^|bP=^a2t|&hjoA3iZ9rxnyyJ&N3jUb?gzLVYcb5yDY z=P|tw%eX^7N4XDDuHp8_{8JGfyiw;L1ZC5dn^Dh{P$ z3${nPvl|UGGa>f2{T35@ch-6ZM{WAV`B4gWz@dJpnXq+wEmzo7Cx4(I|Wz%y-n<;U@rh0Y3?_$-(h0k1swa; zaH<^nvob2M)u2Fcg9PF*DsUQj9^b1TRF$vfV0XW5IixwMeO4-6w$WLS(P3aqRrGq$dYEQlUznHd@J}kFySS-1vHS)ZG z6ybn5uEdmd2ua;VJ&Z+?u^25V2BLWDk1!NtjY-5=h=>pt%+!iT5g~(!kp>aZnnZld zCV1fF_bC%QeFEqeIf^}(j}Nj8%=UnDbM3S-CWynSs zF~K0>0h0)N)fvny-vaMX(NQsR2{Pk}2ChSF(?w4VOwf66tuy6Sg}n586t9PE>i*4? z*H+{uL<~G*5>aOmakD{$4Gn87@fBA8eRzES?GTmiHEwa$d z^#-_=E$M~cu@}_XJPG$gY;OS`!37`*$y{a_av6lqV9aHGG`>eUUvhsW8FR@Ch)-Ek zbS8Ub2YPIRhu%c!cF!*}QSSzIvCMF`A;ZT_8M?jrUgcxSV3ULvNXU{BZZ}AH-6Ww9 z5@140O3(>`MwJtA?-ocAa}6R|O(OO}gg8t!_?<~aDMaYE@_d7cBy_ldF&^kAX(9(0RI2HE}jz)La~8)Q77>tsbF zLTv|@@{Fy+pnG+G8SewXUZy3WBVFmX|Hj0>SMcY5ZQ}PE_?H>@C!y0B>*NTE;1(@I zn>CHqPyiA7NVCEq;%+HIYO0*#BIvxkxED=HpCAc`{2<9oZsRFq8c!&k?I3o{UqU?E zq(a1kCSL5A&x^K@a%HT;yk zUToa9I3F8y12!<@Tom7*UKy!I*z)=h;G692{{H=ildEB|^guV*#BajX52=gW7=CYs z>gYZ&ArRMh0j`zT_z+gA*!7dt#3c1Fw-SOCYwcBKVrgONFcm(DJ633}$rWtQB(+MvII@XhLwU}mE=r*q@cHJ0qojn?d5 zjYnFo(e@LWEk66M1OAkR6Bb|5Hz(}}u2$W;>wvBC0L*678ViqIcQE(h(U9Uh3Iplw zF!3sCDX=G>ExMu<{jIs^N{@EMsW@+43`1NOkI_qdyi!;pDlP#U9_RR=k1FrDRNzye)?^Vw0 z{-|Z}b+`1XP<$cw(NwihT6;pZ9pR80i7a=T`pm${fF&&n&PU^U>*Q1>9u=l{Srs{z zzvo0X`peS;2}J{Cscn8n$m%+!b7X6R z8Uc}y!ALeNy#O|eWfhNvvP!mLS3uvAM?yomd9)8$46s;%9S!T86>yUw^8MtoU|ZNv zXVm9}k(mQ_axE}?&q5nqhJE1ikk4mpLR&7|UU(iR>-{Z~E(pTUKsW@1e{Cc&otzU- zi$q>WS+|0`gCtk7ZfZIn>fkQmWqW$n!6mWjN?I6<@rZT@tmUmWJ3=x3@mG`^uvw9orF#a|=eL*CUPMs&DzAz^H() zh_X7kA+@NXs;W7%HAeE39HopMIl(I{_B&)PC|TPZ9f5_-qBu&{vxcHy@KOtdXxDef?DDh;!I+3I}0>@LLv+{=fZYxw;p{DEspxUwk^@kKWps%Utkqb}(q zknk{$YkZQO@L2rPF`&^SiEtX)yh=onJ5bXJyx8jhmLwnsGP(Lj;y#W?E8!p}`sp0^ zz&c#uG=Z89j#7!!^UI5Dsf0vN^9r=XY^TKWZ~&f>puF0Sp_9@q@v)pB311%PLbmvz z&?iM%f+r8jqqz;Q;!~cIxR95wd?;~xGx1_V;Ht#wgNyb*C*gTR{6e3u$`FbBczU)n zUE=h8MHWo!1s>!(Z^=ZdUJ{55dnt_)7YgMn7IYuVK&1CkdP-arpr3N1#Jlkf`YWp? zp2_h6${vYRMS5|9Nu~n{wBAO6YL&KA>VfcOCY+h@Cg7xyXtC>*UnNd&q+WP^r$ZI4 zDLhn}AaPMc!xVB>Nb~(Xb1%+%dtMUwxPTGLU)td#m8MgyjmkF?7j1sC5|1|-QeY`h zpRD9dybH&tDz{2pC~%8%x5VjYB72yC|QCcMd@`Z-WluX>ul#b30e7Q11 z;)NVvq1-L;X&k>pd0OJ40IRqi9PtZC}nSu|u#k&fn%4P=@KKjd>DJ=K|L$ z4@>+#j^CraL+?#8P_3Ld;pq{2s%YbzOgMQr(F5@Z>EL=jP{f~2_(ce)a^+R-=N5IwbUFo!YUB(2yvhSsUr7^Ci`h(xuLvKe6XsBMOW`}qBA2u~3mMg5{A$7u*RjM;c zjqbW$d?pa2MoYmAgC38zR8sKa&+$p(+2Fz_J#JHlV7vHIDz1=MKyZqrLp-MkoiYp@+1(&@G$dQNwn5KILrqlmEKNsRNQgM$Sy(2u5CFXiOze!6zTDnhL2gKH<3L|34tce(oAtr>Faq+=gb7+|}3Q zB*=K83z9EsolqCRt6tX>ilh(&O2E_C%BF$BG{}=J44PGOjg#r9QO=Ket_W~0AL*Tl zZe6>0n4%aMc?RpHpnIkLgDwa-)eL3G1)FiibABksn-q%DZSA^2bUN3A(%xdMPPb z76>)Lo9;bg({AoLSNNeT#} z3PHlnkfswvHSiik6)qqgH3b%4GaCq^2GM#v9+k&yu$CZda5q8J^bvx8NKllMbb(^O zMG#flNbqU4XtXwr4Ok09ww2Gvy0_e?hP%z9HLKg8#@pl&ZCOre0*%rh_RLy1C+Yl< z8pGW8sLlxESj~2>g-hzS3)Gl~pVz9NL|6y-*|~pP3)$J#js(j_miw^U)j`Tn5=TJ# zesQQA$HCWAF@ZrzHT*P4);PyzXL-}KN;c~tmQnqWsBU=scy+8T-h*=RCy;)^$QqXR zwlzK(^(1C$thhkffZC=$%`1zw-r`E+3#_c~9<0Nj{U*YVW21fIx6Fqx6I!A5 z3_zRVKfi5A%xi2@gFT)ljKhjsHAK>FKq8~rBkyA!^dBs3tUKPbQRkAG7l@O*{fAY1 zoCfLw8DFbQV3tSKRLeM)_Ndx5vd*AtEQ?$bo`@5w>0~Qbup-=@eZ-L50mAI~QOS}Z z)True*0fQLPfkEI&l4mRP8!$~*s$8@L{^<0p1`u+vAVNq`be*(P9WB0uQbW7WlJ7~ z?4>5zjbKMV<291R{sYZf#T&5Tto#hFTKp@a{6#|sbjRu$d~C`<;ipFC|HYI+3)uB4 z_Ziqd^6MfDaTGd%Pb?0wlA$=BhFrkteCbHnvn?|5`Pqy&o$+zYP0?g5B2ODXFwb6F40%wbv(*M;fj6?sK-Py2xlFYD z@$px2)EgZLX6*V0_`#Xh8y)PY1FPa*MHoON?*p^3CVW}f`s*@g@d-x4}BMf}z^;kdWdv!bp_@fa~(LM4E zd?O8fcbW1lxt3q~EQebw(D~RlrjG1UtfLSy#vtbJCNWPyjF{%P{?*BbT+%vprh3Gi zLR-T+)%GRb3l`x#idDYub!V3%D}7wRmqi<2UlZSHHth45_z8ylhm?D}nh7mhae zX(o1so%Rotu=|LHi*C{Pn(E(&>4F)ZHyBG zV)8zdh+2b)n_1+Qh(yO~P%jl3(n+kwBG-Z1hm5GE@sie-VFHMZ8GZ{9UATy3+U#Z& z(P+qUD%*KK_S$-pi)fep0u%LF1NAM2440TP90UyUO8iUGJ|XCxsbr2sz)2@t`19vk(9n(BD3jgnP8fgwIiPX_5+{Pcm2 z+$R}x__~cRe}gH9JcEe&1`)?hB1kQX5h$bi@TLW79&CJ{8PB+8lmrAb7I zL5sz#V*$?5?hfiAUiWNlL72No8A$Yd7+;KSWi1GAU)BonshrQV%9K>ea(AflaVJgD ztHDvohW*L@U(UZPk*9v+X&^1YkHSeqLDm7+ z3zBORaUVpy$6GzWhe<>uL~H;n4Q2NjM65E2xB-nSI$Zt=lZeu8*ZRS|1`!P=5nCW) zwRk5vXcAEl5w&0?E$%mn_}L@^CyFayh=N=-iBNOIS2&4yz#yU|N>rz8IOU(<^YE2x z&rF%*2RVh`S!=Bt?_Gdsy!BOxNJa5QiG}M@#226@G2fuzETbb~Np{?FEiCO#S4Q$y zWWNRkdZ4aIp;vBRUVm{?)ZcchBjE5Y^(i&J-{3)SgdX<$0(r-k;);>eM&pFaVscwG zIb~B}Sfiy699Q{j3KLE!zKW5`Ph;tCfx=FHYc={md8R z>S4)cQ3Jwryr^@8HsA3+C6$Fgr@ozJ$*@$}mQ;+iWDKhs4p{JmCB{-Utm>YsijnN} zbL#x|`N%V^{<24{U|4DQv9(D!u6nN{yeHe{)Lp&!mx8t-dV$9%BP0&5dqtl3VPwos$w{2NgR)KHG>b$V@ZZ+SIi8?6 z(Rf5pW0P0uh-YfrpTaseys}qaZCUU?cPB3YZ#S{#&5oFu6-UO>{I8t6{ok%+M=WP2 zJH+MI{PbxNd+r5wfMpCDHeBn)qW7z_X463Dijng`adM&xh7t5>Ol}bgrr=was*HT3 zQ`spV_le>H(qF>CfL4bX5eQNhrep}{Voe{%4rLXmoj3xlPW4$>_Y0~T6fSTL`!bg+ zZ6~v~ubuy+{QraU|E(6TNvCsP`>?k=#C2wK>eU*y@&NXNuKjxg>wG}1V^z0D)oFAx z8+Dsxw&|ccQmbx5&k?#6D79)b%RK~icU$VZL+WC!4k+Eq$?WGtY6g3QY}F@aVqMn1 z5sp_E9L5{^sdAf})rCbRu-fNfk{y~769Lbp!}u)4TqHH-!<%~1dzeDWmz_#~BKg>> zm(+NcX^V4rJgeu6%wqA=hg}?Cdl*wnSv_K7+2&R(O1pV>Cex7OP)qwtA;^g3SMIAhAF~t1gmdQf46+sP=7?- zVTqhLcTByKF%icm+lyn^)R)xV;gwY_KIP<(1#qCqe8iXxpT3Zb3eLd_db;H`qf>_UN3Z>vA0fBc3$1J zgeASK4q!LFtS$*whf4i5h2+c4*_7ZX1A>_gcNAuxu=JZfJMVbK;n(MqU)K(S;Rh$z z|8Uegk395j9Vu){%Ign@%Kc-GJ%8sPoZV0N4v_!41V#5CcmA$FIRAMj{jRjRf;#%F zu$pLYI)B$z=Y=z^&A@}d=N(nDzi2#v*EZ*+(@M{e8$W^N%)gt?G@rj~yR+!T)8+GT z|FF5@_yG9NDwu175k|7J$C=mH{w=KA>Bv^6g+yi@E1UcJ+E1Of)0;!3Zi*3B4X5gN zgq-jR71uO#uD!Ldb$c1n{oSdZp1n{wT-zM7mipK`$JN_{>M?Sj*vXlE=3S6mgpW6e|{E>lbZVwXGv!F5T z6QyTytUg4$NtTd zt~^HWuPF6=rKQjLipy)GdeZ3}msj>-{Z6P|lV5MPbiKTGDm+x}Sq1-iU?<{3XraXV zMAr0*+O>#hJPgq%C@-bwvrTY%S_4w&`ATv%C%nqftR%;SeFB9%<{FPRV`jyV&204v zb$VhJo}zS!{Gj^6g%857{jk}TSxLS7_zd>r3AImfO;uf}yu==;%_u&o)W?gi{u<}W*bF?5e|qM$GubNRTvs2S`5%bvLbs8UAy zZ4S-zr!7`?e5%=7*C^4Ai+}uc%zDI)N~F}8m1@q|rmW&?C9chwK78}fir@02lGEkW zQHiT;A*HG{A?hnLLbcb_A0rdjQ#H4&eqxIG8w#X0wE)~jl@C5v5s zRehrUtAl=i{V>=`lMCer^>y_#3;T5nyh432#Or2XWJPtrC_I4<_^n_~FGpmvp4m}h zxSlZ8p2Mn-Xm;2!H_da8VM&uPNWXkMBFa45sKUFelihZQ6}>7Pfx|vA{SHzlSBymgryOvqT?%5nfhXQ1RC>N zuqijN>!vzW(lkZ#}88Yq64lekRExs%k)6_B)0IY*wow?5lw9L^zy>J^M@v~6zEOq zlX&_NcqQBPt~=GcOGalR&8rkB-@91 zP=;Mi_z>Wvz?rf+lI*o-k*&=E_I5(OST{T~x$FUh6HHxMDiv5&z=R4OV{G&g6=M(j>?6=#Z zl3AZKa1>I~jQ6CDA8OI8bbnYJyYx4;Z->RpOBT#nK5W5^r3AnSBH?!{{dn zIh-G`SmMOz8Y`A~t>`RkfYaXDDuOp*^rmh~33!!LQl^OaRKo3qPm>v8`IDBQ=q&3@ zNzWCTA=7UYcJ;)E`;;pjC1ETE{VLGB}{FO#B6szBkd&mx}A@3o&UU)5{13A^0XDL;`6_4Ah<4GOV~( zBUVaZDl#T-A5=qhjwr90m7)n#F#l6Xbjz+4j0#B3J+cU{m5QPr3V`zyR?&=nvAK*O z6hNL_0p2%IL%c@TiF@6J*&#iB2WpAVd?{0q@pNM0@7)> zKk-qY=|c2dMNOq_lYFRWP6tJK#($KX{QrRZFChU>igAhr@EX`5dbw+-Y;(X0qI*ir zCsBMI;k$&R2IAv=;WptJCgo{yFbdrzq!?}XA50MA2Xx`qFmxBVYGEl@g$up66SM+P zsl^`z>qybd391s0kkBn*tb|lTqDzv{$02*6OY}(Aa#qzE?*3A>*w~eSs0j^E{zJ{S zvfMLtz|A?;$!gE2IStt9U1sC<2#%Yh#I|_O}K{Z@M>`{M;1vQqhtiW68+?Fp=vC{6*lcF$z5U>6HZ zxQxUiB*Jg!v$hykPWS@gZZ?DPBZRNv%=LtS>x*^6%dnc|*vuo>eGQ4F--2i_7t%!d zZo*G2@BDOQ-?YRhwi=c31 z0$14#!t?$KygP6ojv3NoJmYNQ0T+gfpsVD zNJOXG+lxENHYH*8Jq6M9=21XdAdKY-?YyMLSSGV!F)=ah(D#^upkrPflaQ9jT9M|d zGD$087A&F0oiIhy(ND|82DD?Qj2ClVm3# z+NkLp5RkxTJa3Ef=)NxXsv68DL|}(}oh!=i_zYw!4qUOt#BDJNo(6n_n3jDEmqy_i zz?CJnBQ2pkzd=4TiMRlK5u33L`%q01A}~_;*#s=Bd(2DJH?VW9FzASey2d;QgM)4| zs*%C$x#{p9y9Ffr4$$c_?jDmsqN_y%g09xxptAr6;Ne?bWb!R}1J~lxn9G_jVv{oE zQh=W>;;*1Hig2^0AJq7PADP%MfZY!^VlOnXTb+`fh8Kh~mi8mqf797zbZl4g_$Brt z{Pf)C=Firf?7MjG`Hz{{>BwFh<|y}K1N-|X_Bs&3 zeK3xFHE(yG1PQtVqYV<2`CUBFyZ~*_5;aLRikH+jU1&2hm4>;E~efs8MoctU|rhWdCniz~7 zghNHIrqR^I2`f$5ols6FRoH1d3VKMKu6KlxMYV__9A~y+0V8&F_j)=yP?uoi2hegU zQig-5{&yY`ZJ8_>^?$E-R3*a?;K_y2J~lXnb%@hXhb6Jfkorl`4Tb0srjMw)WS}@Y zMv0$%_N6oG0-3ku!R^%$`J4J6rwnhX z`(2H&u#Mr`i>$(;Woj)L4SdighAnwIGL_Z7YfE6?_6v7g-0UlhmIFY0S6S8mC{IV+ zHl#L0^3Jb!@r?B%AtkJG@5pVQpg6^1;cAxF4xgyZeSTm#J zK}K$@djM0ON?P}H+wRmrhd+K9dbyV7#m4_|!nP0R6m1Ws47BoDHj1Uac*Tvbbm8FN z9yoPOOrv7j@YqYC;;e9aY>7Qkb}THt;D>%QErG}paDu-NTPR7usDNcR!E6cbfs;oI z1O40BHsGw00c}{x(cFNI(`&_S?~gGZz4u3E{@iTK{1-gP|2hn1s`%gc0Uq?!?(Ac3-sHdey>S`BzK|90nY>;h5L5<55X9L%#~E zxqM+Q+xr8oN~=R~g*1Lm}$ZM@1h9k-)L<@IK1F|Mli)0cx9>ULSj zTdaO@e7C)CKb*^Lc{3`D4mCk&>v9#?4vt*-%|uzzbwB+2%WDjhe4iP`--sVo5_M61 zRIS9M*YUq6Wf`0y{x`4)@{e&>R-&*5W(Q z@uI?R2QhM+cUO)3GgS zKVcalMjL`N7>~wiX}4ccX!W2kpU_s2^9BD`%@re!6=@a%IsgKpJvvg+P#cES6zp_zrsBKhs z9Q@9o>iK%;z3KOc9#h`DH08cGFHK`CPV4Ndy&fe+@ULQT#c2?~(krN3>|* zf$`d%W99|yX<}ckr>+G{U}0DQiwoS%k6FhtPs?n-I4l|E?{-phT%V?ug|%*OTk_JE zzAA7iVse0bj4eSMIH$*@&~Q61rqZg6v<$5ZbVfr}X+r|nk5HQ$3OhAY(~_7FKZfY> z&_JAJa>D*cT_C#*aM#&q&&qMQ5Z(e@7RY4nlH(cR_25z)JX)T zAFbZ9j_|)Qt)rIM;j?B7T6m!Uljg`SUo|_soNu;uIoHevchoY`0y8>lBV+VBtqWDV z!Fhrz;#fy5xyO+^a2xX0r*mrVJSe)CI0y+h5LCCf);c^*=*1Q<`yH}8e%z_l;xXut zY5+uRawjzT9Co;qc60ok+(XDC@u=w5pEg@soK`Tij707FY-(|0B^6o@KUxJ!6!xzrEr=m!p2ZPDm6LY<%SR3Y^%Fu~#H<41my);V~=BA!`U^%mT)f)s0^ z>7nM9!#MRg;Mgs8p#AZgWj?le|%{CPoAaw;3i<|OZN1+I5%(~7CJ?( zxQ|%_KR%R;IDt1Fg)p}`u_mh6!DggrF+sXL+!>ZVafUqJhiicE@ksq1h5rP@F!cq9 zIDwY~+ygar&fSq*q-gH7O(Fv&YgMCVk5|f3vX(a4UQjc72lVnNS#vQyhgtQ~C|NU_ zB7?0in{|&zGF71(Zf?T+M)kH(CEhXYt?Qk|pKQ5kQ|`yl@to++4!MLI2I_)Fr8U8# zU5zQDGLHPgKf&I*7bk*MalCiiDPlO2&%X;6M0DWM@sR4?724=0wQv0G_v0a#Ta=*j zXw;bKcf((}?_xC0#aXYcDv!kBJ98KB#qN51P}W(+!rlT_ zUuUJIxh6g4G&@&koy?{m#lbj--ok8A_g5nPtoA6@5Ernfr(=dfI6qN_-bpJAC(00h zl1`M#;Y)@`*t%UYy)2)#9q8g7MijJtN`$#e6)p(H%LG0wRHa$s^ah`f*MP}wwBil? zPL@0>E;WtLL7^0SN1#plJ>^Sr5yzwP!9SaYrLr{#tm<5vG9-(sbCRZn<2cmA^bOJj zILV}`4BD7a-z0j#`&8RWuFG*v8}(^wOAnNu&C+fOkMCHBOE2E;==fbdQ1T1x-tWDs z-VYH?xzyoD=b8V<&PJER`N7ykH2taAIQN8m<*bgVf>Fx9+u=7Vw}!Qs@QB1qxWr`T zG;lpo#v!(%(UBTlL0w7)ihcz+DKZZ~Iw;+NcThc0dJ=F-$0RM%)09P~^p|A1kEdrS zS54{Bc$X!9(L|l$k5xu=;|yJuM;hiUntmD`BLIk@N~SU zM&qrV(yQ_FDg*cqYFzT*X73-@ob=u=Q2eb0xgIFHb0+*Iyxi-7(#fQf#8bbbP4^#2 zyo%!kl^f_QQ3j%~FyXJ$@gaI3f`5SEn!wwYfruo01AboYQMr?dWT49@Wcp{gCcg;Z znbI@xwV?+}8Uvi<731f{u9Tn$`BOxIM+{SrO9FbkC%*~*G70F6&lRFC;OQfjDv3|y z_(Rcx9`J-~*X1s(7lB8!PCkg}urI z0Wo+1s(LLBBy)>0o zG%TOVb2d06f1VVMwm9jof571k{NI*A2WxhAoe!CG|9Q(xcG zFs{4yrJZ@#X4cB$K}7)!gy8&lJ(rNd+2j%4oq2s^9lt1a6SicMxG%RH%U^^C{}=C6tB!`!Pa zcJ}04Jc&PiC@QOAZ$GWZQ8Vhvh?SevrPY+QMzZhowX}xRd@ajT13ziZeKc5(X2@eR^BvY!HU@v zm!m00ESfcb&YWelmoHK*O_k<3lg+ld^x29K1Oh=SPZq!!o)Oi>uj+sY#k%^r&}=w;d#WJA9N!)SK1dt zA)e1XF>yf)?(|r31tFMgyik^WftX#T5{xE-#bR}Ud>7C?m$FDKsH9ZT!v^V~$8e|o zcge2RAPrkob9xQa4NU9RS%5)G@Zo~C^m9RLq-_DVVsuA5rBl@s>_T*FrC=ydf?ZWo zk-O!}JF2#r;-|}Ho zL8~aPhlI@mDMSLT53`;DEk3wZvR6SzB7;7>1(5Gx!jUg}0rx3iE+KDO=urin#DP?? zqSoD%jz}Lt$SEXPEz7Yy4fLq7QK8p(E zeeibCw_T4)9Q}-U6|}UA_!o-$NO@c|1Q`m@ut$yrs6og=p(pYu7X!i$1`I`%077a( zVx*R$5?TpoNF#`he1IgV8^MXPD{hx92RXc^zzC^+b!sx1g z!nfikqjws*NqE&E*Kra@;S?9}IRqh?XN;Oy4xDPFH^qaP*I2DA`BSpWfm2A?Dd%TF zR|woyD+{(u%0&U_zThXKpzz$_W+Oplj67jO!M-R)AB9{BWGWE>=&F(h`jc#l-Le8v zk&7t(Ibk|Qu2;A?w8*m*j~1yTh`f#fQaN6hFoEKqm-_CN_avC8#e$R}?>jHZn|8mf zfNI%d=-j0w05}?r_ub6|ksIkwhjc(DKhQ<*-Y0i=8gW+r?rwdW=@YNFL@GJ z!3`Qcvpdt*)&k{a0=yG;@pBfLdlkf}5w!P#H zXOqU+VmsD?M#Hbbia!W>{l%ELkp1V6(W#c@!Ue|5ZnrzK7)dHfNNhNJzoRpe)gHih zkWX5zv0FMh-Pt7uf=Cdd4LCzAWTRo)tOIIU?qfJ=z>R30HIgWlf}OfF$&Y598aTDT zAl!5;=n?0(gxI;WsE*CJ?onaLiG~q9r%z2e6(idr+`=N6oK6^XtAq%*%q^CAp2Ok0 z_knsjc}K{I++fh90~>e{hZ6joHN6`fpMSTly_{MDC26m#au9S>Xc}}V3`YJ5Y{^b| zg}ow^!bFNP2}yNgO=fd%SXmr_$P%PcMI_>3%Jm^+! z(5AaVRDWlCZ4TMFYvcUhh&QUT75sWD^fd6VGVz~8X@vXuWSZGAir8%^jh}TK3_sW3 zf*Q68Sm?|D(nNg{)LF=g`WJOiQ1S{-L9H9B&xbm*^6K-H>q+RU6w=wN^>89T3(;H; z8GX@E75&&`c!$pY@@}RkXe+)ISk2SH=F1CQM1uHg*D1ivQe+)B-pd$^88uUaJ_h+6u zTddjTdznFr;RXqxxY&KO@o2ly3)Nj|AR1vH$`5a!%`Rj!jcYn+Ad-xQtu}}lX%KOb zE<$z_MH6=dc~Ip1GJdzAq@xV{R=hzOOBw;DC{bCz=^{W*;Rr-PLEhqH0QF8o`v;67 zIzhw>LPS3#aV>}+;Uq+$(Yc800d)~OOd?K!Nf;OAlP5-_h!8~R{cgNL#2J%_!DvFc z&%Mbcq5$tqdO;=_L_|imFGvwYh~4%BH6$6eD252Vk$__*d*ZyBvgQt+HVdfFGm4-wTMA|>YHr+2D)&{0kJ@uT3277q1a zLOkAINN*m7MY9hgBD>OVv|6;D-n?m*}wD_1+pq|Kr*_5qXH|DUU zD;aNG!uHIJjCD^hwXt6oXkCM)$J}YOhnH9!0c;2cHcVm{kJ?*D$?GFW4`Ewx>9Z@e(zh#A={tXWR=~lxuHq$KmYA$GR>Jjs zL}1LZ$3u6(33~5f)8p8)spMP-xC(Ft;GKZu0oTA{VKe?7#Gc?OzC)oYaGUQ&{9Q;N z4Y(F?5?~N;dXvRxJG%+u!;dPyyyNb4U#^cYJS$mmH(qVt%(H84gyI&5R9?wC*%Z8p zBvRl)qneJABT2knAM>cz@Nafhsn6)@#@#~%Fgn}p7 z{zcj{td3?ZMnfeo98k7)eAMtLgh!)dl)gC`js0@s8~fzU!TLCFzM?Oh(*nDb=$Z^F zmivEbJ{+?7r@picbw@F4{Fj>b)$t3BmJHwR>yhi1&1XVZ*_>sw*N0a7Kc*P}8=+zT zGgzR0BQ(NqNdbGM{~ehyN+w*-#jf(d!hTt-B@U-NR{HlfX9vo;Msr~gqIZ<_Xo1@1 z`5Q=^QqFd#e`~Y7)or<^@e2Q=Y(|Ba*pUR?vt?j- zy~sk%m=}nW>-C#MEBq7dN#wP(K5c2M{bTCO7E1spt-v11Q^VZK-#n7}TYvzC_B*3s^HOZE1H&Y15*u_O{5iC;|I= znf7pErM93yX$|v+#%S#Qzplb@^$(+q0hufqLLg}A1jy}C}RIv zt_9iZ6=Pi{%vST&X>&^~5Mg7Q34s&xIA=*-CA*WqQMk zRobl<%S{buR%<81xlykxQ%?MJmh;kG@G*oD!PQk5e!H^dWNWtcItsXy(gFDdS2wKv z5S}AvoVw%T1l)?(gEu6kLDkh$&foNsGgdvJ-D@)8iiB>Ke7`m_8)K&8!n1TE!E|x9 zsS6L4UkS&En}VXb@a{B@J#xRcKZvI=-&53y;AlA$I9?V9c%c+iBGbzW0^w?nk!qp% zk5T*tX*h}a7bHE`5^_G4_}2t)5QkJFzjWdL6$G@~l@u6E5U*0)?JEQoH+;T9`^agD zVfEEo#+D>_kq~bXtnNa%+Y#!BwX%1iT7{zA>={Hk zZo?xrPh?&^-{!`1?o6*w*5vZjmS@vQcr5pc2!F1O@LXXl;) zmkVzM(*IdGjy8lD%)O5zzfOq0iPb-jg6?K#5CfaX{}3o)owp#JHe>e}`pnvbl9jO) z6ipToIP~x_tZn`618X!4U*DwYBT!X(5Iyyw)os0)#5yqCcptEQhUBwIPT;R)Yz@=g z)=(1Lh-60y@oB979=HN+WN4p`tTiE~Yh;Ormk;QNSsZ*PTWZ6SSdXm`qb4g#B(v1p zV(q>Cz5A2VYD#;9mqBfclNOP`}JmykPIl`H+CZY; z{(^Rs|JP!Ol=~b`;ab@E&4hQ2HcMPsCc=q_Pw5tW!WLke`?bEo*I*-84u2&b0!cUw z#IArm5DHfh?tZd=VkPz3nxI}UH0qFPTx5Vu|2A>U zdB^UpfrLL&#@#E0-F$z4Qhij$BY5ywGUrzg$HS<=Ix{Kqven)v-5wg;{j&qlw~KYi z*vsu=Z8A1z)$pJ}gjGh*Uu6{R)CIST?W+rJ7i-Z4uQp0hbh+(f@j3;CQ=xIY=m=e~ zh-Kd&&@v_uYfQLow?#Dxv%{6gQi>gW#MwcPKmxW3c)0CcWcnj8VVoPV0$TX<(h;aV zI_)U6|GCCO9E>AP|6ua>w?^mL^niseKB&c|YJ0+3-FAQZlJb~l83*Q ziVuJ9R8;(3qog%B4rw1+BB^)lJ^fd9?y#2B{_Y&jN+yT<8>(K^4p}U9?A4beu45HP zv`p(s3;W;!TPId`L>t0hI2q|}bITEHNn%aMBSx`7)9eM#68=R~%4U%F44Cx25|PNJ zO?5^!{PU>xlGQSnJ@>MfisAk3m$d=G`(3z)WuTFB4{*B0_uxksQ@@+iJBCYQ0HV(W zPV`y$dGYD=m?`}gnNH7fGN6jb=cOLNA5^YK1POQpf4o@a+$Zr^#Cb6Uo;Tqg@nJ{w z9e8@4a+Aab{XpeGiTCB{gOt~R>wy&3UE9&n=2e1&l@aukAOjJsHQ^_KQ-*kWfnkW! z72kb?XL7tinJ#fESUNVIH<{8^2qk)1q;@ycqh_%E8GNOnJ3@Fc#7BbM~yE0vr zxL66t_vp167_CffhmTb@N<08wFV;5yF7as`FHz#WQaC^iWiS*G*Gf34;rmy#;V!2B zhE=bY%~2|wGC4MtwLI^Ntf~Dank}}uoR9ai3}R3Aj`FhW6T>1J8sF9?S#ADN%UHD4 z5@;Cso_5h5#9SwJ3fBj1zD{3${Lj5Y!DY1q@V`E(q#PutYBCPLP5jRTo@A z>B#6lf_QCv7?3immXI={f_Vv|U?~JK)rGdj`sGbRFfmY{B87O#!9Z<88BZbzoJv3f z<`9Hp%L$gs^-aWYBplOMTL?}O_9SFqa*}Y!`GO!6yg(4be&B2DhzKEq6!=v_YG}gk z1ThnpP7J6r-c%@dPl?m*LzXgwC0~Jr^d?O;7zXGnlTA8Z;q!a-#`&a-A)i~ zvWp-R>HtZBLlSa`geDXdJ;MaxEPBft3zw z2#PZ*=1T?8X1gf?ZPrK-f-VA*BHt23Q?y8&cTQx`9Zf_T3?T^q(F9RK+E+#VYbC6f z@CkxY;3S}R1nOUVbRirH3?g`+90wkj;{fABL384k{GIHA8#2&lGRIi`4{N457lCfpUWbcv zcmKm$WFHB*Od#WXZ=yMwnZB@QSvSBxi~L#dFRVk&M*wbS7Xpa3;R|b#bsWNY+HC%C zC5>I7D68S8G2f*XQMMDvTIfpN6|GiSq2O@(Lx9f!wjKc-$y12Ch|Ha&U=B_PXgMg@n4I=22#X|&c(YkL zgPn>wUqXYE1j1MY@pFu;zqC5dKLK$9lUE?ELj+$zW8ABycMdR)!#Yj)kgXsD(^o)v z(u{;Pgj~Ql=CET0KIFzx*eQfv(TE@aLUCGGbk}5n6WGSDaBS^}1?wH{qTMR^N< zLQ~0RCn}WqL2tl2G=*s)DPUCVh_2t?rZee9B<+y?puYGSN@5O3Bp@nPqA!HR5+H?g zFb=Sb=Mx|17sfi{yHE@a5FLpg3X4$<7y@P#8kXAmj)@VqFP~wE?h@k+k6_ z{&$q;KCtQqObPo#Nc2^1Wc4f}bz%(}HW!KTLMfaB1>Oe`yDWslvM>slIR#>U(1T$l zE`^X79zx>%FcK!fT5B5g9)5;$@l*D7E=GosNKkLgM-t*`V&^y)farY9UZ5uT*N~A*me%9!Q z_Hhava2cP=g^*BQSA#+%D_#{58>1iDpjxEow8F(e(R&cZ7$OGxhDDE2y4f?q%Xu_; zOvo6^s|FZTOqd7vFuBMa%j%yupwEIfjy1JeI~n>y5VX>q%htT1Ran?4N`yh*Ke(ETN}1Ey8dORAJ(j$%O*%Q22}@4Y_RemmEyg` zmVIYkZlT~qbxgTpO~Q^%mn+t>aPGTeooX=jXMewf%?hc1qva}wVE8A0Z+&&hu0f`p zo3Av#aILF+6Yi?*x=7mj1&$CS2_jG5xZXu5JGhh-?e2WC-h?zHiPCZ&j^JBBH~(Pm z91#Na3jY-5huu0hs@P9Pr;V-7cV#wa1#z+rBYls5S%;?g6YT(1z}vxSz*O%gcw?}T z+s3Ze*wWJVYlBWB4EMB3HdLqnQ1i)V4MR|AxtWShp3J(uXHH{B?!)jr?md{$bl#~t z*@m}pvaLJ^+pJsIgTdG|c03#AhS&PdrXHb$#$))W^r;=veXpx-fSs_~+48D2_D(_x zaFiHnygm#9CSD#6gWn8;e++}2Vm63Gp6DdnRAyZXD+H?#8Ju-=cZvQGZ5ho~e+cdy z2HzA0haclQ5f;vSk|0R*`dD@9JTJIQ6CRY=OuTdq?ju%Q787gcUhKj#m~FOCR+AbB z{A7(bu*zfDw0Jun<_S;Vt3)zqgj~#O*1%?zb!S{G`{Wk0g#~&!O)p)u9*JPDT9oe5 z7^);CSzEyyuvm3BUbQIqMq+xu+o9yJ!aw3ZseKN`X=sjPuQ`;i!m!2@@cxOsgK;d% z32)!qE|Yv(o0msA723|e)2Vbb??ZFq!$vIIPTmvPe)6ur?oC&1VT<@@@;(G_p@rl; z8Uv9QyCqubCKs}M;24_Y*^|*qSMxyBpEldEbJ3vbX5S##TzTC)HwNBCY)}kht+4Ph zh%F(%-?Q|`V!K(-0ksk>tTRg=Z%Z=|#5i<6?CV2RP@X7BmsxQ)dz>-fTkxy46)LwI zM#9EPoYKqK7t-l<4r>;qnDlhmRj9y7Of}RGFWEh)IV^huK~q7$5im(mD1Ccq@bTc0 z!nMIug~x-(O=BcOo6+EDGa98Xu{hlufPa+VToVZ9mLCtE9Cti;8gDb+GkDM9JvS~F zXP$9zx{}7Ve1Ep-TU$B(B#Q>G!J>f;ZxmkVttW#%yrsA94wk{imUCVw#g`vgV7gjT zqs7>qVY<4E6LNv5>FNglo7*)2`((gCy1Icq)d>|*!v3d|(z#ActE@@(oD4SCo&;Mb zgJ-9m1Y4e(;L!y4PuTZERH;6gVy+o#TrB5UTAG8tF4;|z#^*7+yJlztUZY=HEN3Y# z2Z34E^nTE1_BQ=7=!^Sfu(V6fP#vr8@Zjo^-|jJxf$f6kk#*m`fS)(D$g`^&r1mm% z$!tw%xfzG8DFa$&cFn%;pnFc)LDSWD@A*_}kaJA_I%&%$=OR)QJ+nSRUF5@t_Sx}Y}~Br2ZX zr%f7*FeNea->nk6b`9_`vh#4N@S_M=JpW5`@JJ@L>8&M7GvS^Io@9?EDrr4WQB(It z`};Rd`A#w-7lpcAioq}!LNKAzYc4&BNFO9B+q%%4=RC9{X!992z<$UGO08xnHus03 z@!V$im%-%0TJ}_uk`8g-i6o`F-PhZEb^DZb{~Zl~36`=Sl9X=oMTcFm8&TH#i34U{ znj3?|dOsX2V||mAg25$=Jc~a}m9xvw8go)xwE902v=t=gm|;l6geoJu~e}Su}ha>Bg6&w`muKiXI@Pokv?2nn=ZEI)7ZSuN{;!oX$7+SRA(jL^_aMs{$i^K z*2qV;N}I1;V<$$zMD-7ymFU}^oMC8pM!2i1s(bs5Z$uUzDapgueaxz7f`%?_N96Pb zDm--7wj(t|orf_FxrF@D46-a z48d1eONP>0Et6gq2v=CNN7*QsvOjo~Ve)R)?oocj&df49>keZ9L{a>lM2z&euti>5 z7_5fyM2i>w#zUG7X(2T*`*WMd!CbEZ}F3tL={4}{`lzV{j8EESFq=b9cjgnBUFEg{0jnm52BEf_3$g;KMKSDj@jqKSbj>m%UP9= z4_5slS|n-HAA;`+gO`NCTf<xA7Xj-J zG5nGU_u+R8jVqb8Qsy*qB~f2CGe@zr*Lq>c_sfBb+W2~RrO4>Id&=}_wR09uUbt}1 z5Y5yl(i=2Nps-KKx8TTV?TwL#6kdg zQtR#&Me=|UVB9CFVu_GBL9}xKh-A_IHF8k}C&@(-pCuO=01uLaqURY|Cg?mQ7+5aO zTf*fT1Gf_i|6$DnOdUx~R*}c=BxwV=D}|Kp5pnPmfjr?yHR~11YN08&23ux?|ClE9 zqSMU$K;~Nb$#~a+F>;^41|qrZ(MHHcM#htSKX#R5lCYNI%qu*ou?5Hl7c0o!h;1lx zA(mTBZaze|163J<{kn&5;S%+V(geRIxK(oz#xHZrux<8&cJ+99nc}pQ5%fsH#A|2Yyk|*fz6UUlow;Olv7Nv$ zLxYB_wvsK$Q-H1e5QF;gD0ZO?DQ;l$Fr@f7e5o);vHW51{g73VuPsySzu=jC6_(#- ziD#RaIHDsF!qa6f6p}}GLPNpOh=D^B*97KZ18+Fnl^hWt{R^rCTy%&^X0hVokR9!g zbUE$0Iw6E7v%7D`4bq$0Itt!N*Mt`$n3n{CJL5IsrF7>YrBIT4*#*Q&tcEu&CVY75 zDMfTQ+)?Z=i(q%Ed4ytO8!F8%X1mwov`-5mp3W-v8k1R|GtMw(eF@dW6?=`&?zO9{ zA~v7IZs(81IPI$uoIshw+nqg^g%g@Mpi05#vTV-u-664aLK6Q5sZip*Smz>`ig(|l zM8=WYXDCA_fwPj$pMcXP2no&7K2V(?63q*t`e_)2k${CtXu>n9({Ac=y(qlw!71is zGg($QFnN>J<-%+en*1b$tkz^{WJN19eH-YwMfwHon?q5_P)@BFrNn2GeXUSTvXZYC ze(w-YVJIbLv(mL+RK$(=g(3JDtvl*^IPf@gG^pTlvx?86;oEARDV|WvMbqa1Iiw47j(nRI4rw_vV~L#1!G=E;#b2`IfNXEYo6P~QrX`1 zdVX(WgUXd;a~rTVSskk>SDZa|hoJaEQke?8(DFB-9P4@c_nVBM&{8GAxf@Z5(UK4n zq@5c|;t&^9b|!v9qn{4ppp>;Yxnk`WP@(5#;A!W8S@p>nXOA;L)tk2;;b@Y)J_~^t znofKPov-^0Y_aIpokNT}-zJPY_p9r$?(BPY46Hlr5hGt6 z4(rZ3)ZBD5Sm`e6fY&w^3v17|GNaHNHTjF0lC~98CU09<>GnHFfAn!J{tvD8%&V|l z`CTiO9;xTj9+AcWM17<`-R6(yISE2MM>#V4n;YckOEUV2U7yWt^f)Cwy1$Uu#SmTG z)AkcvHckoKof(cHJvI}2G7aNl9NK%UQfLTDY{sn+MeOVjxl&-e)frtx?MXZ|+stLV zwp-J1;iPKXG|yp+4u*yM*jvr6H2FzZd^9SS)w~;FN~}b*80@V$(H!)LNENg8Au-U0 zxY=Qo|DYL9-!xu%mK_`8iu&&@Qzx)V3vm;zGg`K=tnXacZBTjHsN0q2SY^;<;h0W&It*+6JV{A3=J)QSnNS}xSy>Oy4<;)EZ``+o4)7AAn{U}QuC7!Z5r)D-R+Z<< zVsG4~{L`BSrt7*#9-G&;RK{!EQu6Y#M8A}6J2v`CpeEpMXuo#znPa{Lsr{Pw_yOD( z`f0VY2qOoZFjJWpMb`$*z)KG-Aiq6Rxom*@$}DA)HJC5u+}X^aou58i>8xbAsfkBi zy}go^%~mR5ftc-`t@KyOlr2383)tn^%6NtBl@dvi88t_lGRS$@uvE@A`Quu;H$3`S za)WLyI^7?^2L%iNE2Zxa`kbMHgRJ3HY~RdLa)_g(yOk&Fbkbl1mU~^;rnUGTr`OcW z`yFpMPCMS%fP?Q3<8_v4>fk2-o`$tSuh*0@<-0eH0sL}8UZI)UjVP1%YGU-PCbO{X zY=_}mttbDhmAZP{VdGL$&aQg82DOtvZ)i&-@8;zP10bWR_RHOzp2)p)CTvY`5f?z6 zZE}>Y4I29I$9cUq!6h}2wcz&zFNxq!No#@+)Uefal>|#V5`*-2&s=3-4A1K=m@lX- zaNEQArR@8;%DnJ~ph>{HIxYP2g~m(sl=Ct~ja4wb%DmmNrCZD9<9B1^0%fHv=Qgfe zsJv&8r?ILg=hBKX6#(HIx{TvqSG|ig zeL#+z$s6IEWZlUrXBFg3WcQI%Pj)}LVaNI{a$aHW{|cK;V@$rZ9j@SUv-ijon5L7DVLavggP-!dl2FWdDN0YBuA;B6G8n3HF9< zhJPlTf43{1t=tU$YuT2~P(@j+4R~kCYd8B6SgdTZJ%MFyfq49!oAuv%E3!>ZD zBjn(k6LM162joC=ZYw^rR%5VC&}jL#f>tK0fHz1+r$IGtExcIP{q|gTdaIIY8HjQH z&M1Cb+B_~@f>uDqEC)o^MPAmfntHG)+msjVq(wrrZ^Ece!KYd0?MlDg8BR>8#nfq@ zUNyYI^8E~_tVtj{>;8Po^`X5iVh?RsenDX^+oAj>j=DEV=14<@6k$jK<}~|ehcfgI z3NpZ`_*;+q`uRMM93bi>=Onl0@MHBxn5x#Sh0`i08%CV-yf8v7Bm7!*Q@64d&H*s;4UVHk@U=L#n=6bM%q&-b;Ukcg^?LJb5LuIvbIJ^LSz?~b zF5q8ltxqq5&GYn5epdLD5|Af0Ha(@p%V-iUJK6O;(%d0oW?y*E4vMlUf%M1Wi~dFw1>u&`>ooTu>rqhu)#!{Zu&#v5t#n*}?u4WICvz@&Ihs`;z*jUzar4)NjcOQrUPwXf; z=a~Hj92>in92eVv0wd5V+;E0%p>Iy$U}p;Z`2ueAbN{FmVf@^MFLAbnephP0 zPt)&d+V7N;N|B-3%+1QMIRG#;w!rQXJ8}}qZ)EAM*mF85{E072gdl=FJ+ic`h0Ef)cEqBlpmAXSJ`TwsZRkG zh5SS7Oe~AKsFc(N51ak*W$_)Ffo)-$fkBc9AN#60r}Ng5=oUFI0-sXj-KzKuk+Lqe zM3(7aAyU>qT7pOEPIecK3eY0_qWK&hY{N+Lzvv&%xc2{5Ktx3E;WhQS8FqY-X&N9j zGO8FEyLzL=Xjs|MU3{+L`f9QAa*A=$PBtd+Sv2fRWkhEh6P z@dl_TzWt?gKMK0h|CM5pBS?=B@!0XN%$Af!AQ6YR+dye3KnzO zoGhZ1Hs=4Jyl2LoC;yBQM+^?WpV7aUu!^5C;z0NBkF-u9 zuS0AXyqK3(hGp6~avuKna~K!BpiDcyD!XttDw);e7A}lq{F~AH3*uI?;$JXYO+zsj zYTg0zwy|~aX3mddP3+|3xRkP)d{fv3@_iYjKDBx@n>GPKu7zH7J9iD|p}nqu0Rsb*psxeOcQ8!MrpIDg}OwVS+W z;}#Y9`ZKO=^04A-Q6BRpEW}zheZgM6`ZD=h+?dhV3$;KRk77^Za~e;FUSPiDZJZ~o zlV$su>9eL!t);+gSxKyJgE@}9Yf$&GB}R3tY3-{?qga+notbn@3SNsSpFVfm%(-_- z#Z#wFuid2$}En?U}vl;+v*B>Jmmy>r};?k)VYEL5eHM9rQH5zX= zZ@?12>q3rVRgb%RqAXip#MjdK+f|c1j#Z2`Cg)R!3TW~0w_C?A`eB5&Lg-@zQ4^~; z<&3SvbR!<^@(lXC(VjF&rnSyPq%$B-m?q#n4oC3hP<4_IFI`))7q0$Levad%aQaP3 z%iju^K7we#=_PY{Bp^J5M4~W?K;3~xnE-1qHOCLj<)A}4M`7aO<%I^KKLkerCKM_+ zy6d7)z|>u0@NW)on6<>-u(W$wplB?)B(fi=KSZ*-80RwZoAi7~3s_4cURo?*T9VNC z^1OiQ`;IQQI1gBVh~5uIX%gp=KGjJ1r3(s|cpk~&G|4YuI0#Rd?ia9^!yf5*0Z-s? z7wKaGui$VuNOhLoiH)6lzp+!?s9y7G``$8rVfEm7Mz?+!Lw(+rWOlW>u}Bcxmf@xM**zSJheae`D1=??Xotn`Bob>N3UJ46Xvc z$h->Jlv2?OsSwC~N*2MWSQ@XDp4v#LAd|F4OT{=xcm|9}G$Ik=KMkB}RK zKK@Io1)5AU6+}w`*QNH*hTK$|>hPo@0#68T5@52kLN!D~vF^_k05z%@@-Gp1RMT|M zl`4Q1o#TW%kzC+al1t444++3c0QnDU#1Oa)G2vFlR!0f@=n<>6@x>?=Leas+itC1w zPG%W>UEI2E887!%5op2fDu-eo$C&RD-*_> z?d+-1RvUXaTKxxmN6;qgmd?$P%{n!{}tN45J;4w+0&>EqW2v4L#dg`iHUc{p|3jPcI+& z;n}XIhTqumYru;^=9^cxZJgQkZ? zH=+HzMRZ8VI->tREc!*Tyh59+s~?47-b}>H67gu#(UbjB#M5h+M92=UcJ;L#DDekN zl{c|Q`MkmDG>-&1+!}rbjU;!!G15xCj-Hi#&X2CZ@(+Y+G*3x-j^=+WA7qhUPge0* zY?}Ez=FbIenaAZZlOj|VE^ERjOfQ&%A@efE{Jz>}No={w$#g6O+)^6*E>Zm%``7JB z>VTBdHPh#gt6ng@YMN9!eMZ$ib81WH-CZ?vF2!QG$*Mb+2t*!^=Gz+yS&_#iH%?qV zZuyVJJGQ=WV*Rrsy0X#~HB@^Hxnb)*hO$8Y!%!ob_Pis7ZBKMWHolyqc9PTMr9YsI zsO~fIVi_!bBw%Wim~I*!sp{JX_QM%`jh#&MM{fY;z0pEeo6`=yUE4!fofk2d|Vzu_^Ceh zN7M)>#65JllVD5??FxDXEjbJ*O1E%%JhrSr^|H!G@WFllX(;j1L1Q-4s>U_Gl%akt zv$9*Pacpfa_T#*(tdJ{oQC;j$nQA2~{jJ%@-kokdV4a3`KxuboySl1F+3GQok#c9& zj^EZL2%>y;#u^deh7Qbi1n%w#y+GiR4lq9p;F%8OWdK?IK$pp^CDQ`9#}x!q(a~r@ zlNaTN;K8EmIywaEHBsvjt3;4K+^uBA-64tbH5+k=7v$V*ex4(i?W={!?|rO&rZJwK z!EZBNP6hLt291(@c=e z77ORT+O@c*B5$FapQphoCJ0PB*Wn&q3oc>Q?D^15xSs@H-bo+fy1Z1o2X{nEH!c*R zEB%HxCuQi;3@NL>xEK$Tjj)?=tFPaL8zL(mCce3~Z*My2;Xj3&aAk2m!sK7u)K5r5 zRY*fMBSj<)?F4CPJeP(>k<{{c+IfoW(onvySR+Xbu`>|~W02a0Xnh0S#wUw?hsEOl zMcH4DTPu?rW+hZ(!&2Hj)Cdzwn(W1Zb0_~_f#_*25XEl`$su}o%hLN9XJa9b>M4z;AP^0%C(9)w$lm*k&+K_%)BMYN!@ z^@rer?9QRk#PR+CBJ{XP1_$%yL8kd)54nyV7=r`!zkXS7BQEQW#aSv`)Z2)QdT*EO zv_S#WO&*Anv~wW2=(EHK-N!qDT+BcyONpeSi^;`^5+D~}Jdcr!@U7&6v)$xk(0Pqq zj3}q!8ZbCD3zrX47;N}p)CmD@Ld59QpIrEsvK@-m$8IWAqbWZzjpqy0Ju-^+x}4L5 zu2VyDPLJ7%LMvk@WUI$e8^M0*t#-x!etsX!Is;cC@IFn%Sr4qWT*S%FA2gdF?%;i5 zJLqIFd9s2@q+h?r3w_kn@~?d2dD;1aF{y0SYj)Tmd){GctnH`njW8DE7d56AtDhQf zjKa?`^z7I}!*1GZ_L9b6sXA9R78La1@&aQKE(l(B!kh)IxYx^7i@{90N+TQJ8KWM> z9p2;AN>v%wA6IHp--}@X8mFeoD_Q4T)w|@yjSt_d{z;ZcHdg#b-5bX4h{n;ksncZ$ zF;2W_$Z5n^;=E=0-~=>kS;qlWOQdBmDbs%?;BpRklQL0g z`a}3P0Ve!Wcu9HwegRX%iIH-om%{Lmif}Iv?-3*E#sR41#7I3+Bb`UP((+eDYIHU4 zd`Z8MPs>h$^pyxN;n8|ay&KynsW)4gcT!9mQ)kO6Yg(n|vlKHfs($M(HLB4*L#;D3 zK3c7&%M~;;k#&zOa7nc=0j?v>V>BeLsr*}VK?U+Nvra*S$Yg-yyS*vE*f71QnAI)|><-nC3 zSvYHZ4iT8M7QamQs3U0u^&X@K?R0Whuy%5`v*JaZg>~fYV;2^wIWVTkhZOg{(5pLy zk*AUp#GB5l$Oy>!%UD({X2q?Tv1@>XZL?+fs@)7{w5tu+aq=6;THt3sZ-Qi4)7W$_ zhWAL8z8KzKtZJe33A+c(dj>=PI5wZW1Mr@pC0-+#l;4-w_ zG3>&s2#h@aThTv2oKfHHEpCse2onm#GFBCH?+GYIl_EuPG;S6%>g7+$`{>)75xn zxjIm0`;ORrjb#t3n+@`t?85KV_^MaIw*FAt`!Ni5qEu)sJAgL^TWPZdOp{^^RPql~ zsfmZ;|M`Y+FBIS~2BomGE7d4Aysr#1r}x<++40G0BKziE#oma3+aj5v3N32#I@Ql| zR;iB0zphiGFcG6Z`4%wmuj$&-lFZujj^0H(5Mbyg_C>m45CA^yyZ9(xjyC=(=;XXV z_Ygx>p3vLxi4QH{8Q}8%nlH9NJX)()^6^o6?wArLv|BNeczL{j0}2myn1 z7P){a2gHD1gkzP#{ke-lJB8ppp|q~sc)}RV zhe#k!Ab+2j1<-P92_7P50dTR8;9=q*0U{AW(gET0kUG-lu%6=?0_H<4@K%xaCNdSg zl>&x}MO0sEbAVA)JVzLNfy?EfaQK~qZh}!|yktg;x<%ciFtJ0G{+Y2Kd+j8Q5IDD} zb~dapE+=g%O66o!D2~)ln>v0EO*=JJgYeE1lS?9qK6aPn~EqN-ws@ zvbG)A<;lhHJAut7*!QGbWLOc;UMseDVrv1geNLD^Xns;HV?WU^_fu+_VS7BA^^`iw zurHpy0@r*J1e~m5FbKGJg1{M=7Z?lzH3XcCXM1-7`AR(dk=&o++3;QJC|m-$Wfw;5 z6!s-KxvbyQ7=21Ge!Zy;tBaq8-diDRaspfPG`6`SSpzU2gZ+Sq!Rn!Ic z5*jYxZt1mXmc6(U156C-cB@GSD1%@L*~8citGp9~BeG&f0Xsw*v0QqH{d2r6v2G%K z@5D<(O*P(`czxBXw6exD~2`l=)@MQI(57^WQn?(OkBWFArcZOwv{Uz$BQ?|iS@ z?>vfV5)MwAgAhl?LkBFs$?=}!B)jO4R^SaDh4$GyjyE^rH(l?osdJPy45;&G_#1T^PbyCi|Ed%O2_x`Chy-8jb9Vl6q6sQ@x48LAq^{>{5!?Au}#{Qti?W*zKm(%v3pG(q82jsZ zTPaO5(u;U|Et~hO+EiC`Sn6W)+beIGVxPJ!m{;y3V+`#vT;}{)b!IPuQTmV@&bYD`uO|aBzY?j=1N@#g=Ffu^4TPvEij1W6ck8yqE3+a@N zg_H%urV)PAb3Q-9>LA$uR2+ss3Jo21p4(7D}s47#`R9h!*cTrhE0@@K=lCR zgL3#Xu5ZXSO6#AQ^<1^ij1dMV$hdx|q4j9<91R+r`zqzVS}OqLwH0hTAa%tJ_HM!+^U4zk8V;-~$vO*_BX`b2V_t!^ zeEEq3I=;;v?i1xED$fJ+i35bIVNNBDr8{1k{m{{16x^>LA`=tWgDHv$3Cn$6=cQ!# z7gz7BPxDg?Fy{L_P`UitDD4lryxPvfj-byg=g7_JOZy#kS4&qf`IP6ptZ9!r2r70z z>`{9vKF@ws>BR=mD&~Do?PQp;ij_U5j!z)}Oz-k)>I|_>@op7*m&R2?RBP%e}VO(z6Q^kAIj$lHioM-*uyHrC?><6D$OSzX? z`p>@o)gupgKOfPaX_VJTpubA%C694$qUf_mXmd?yDimPGkC)yMlggH14Kt*W;04`Hz6OxZ?^ z%H7c#$8Id~8-B0NBKsumWqdr)c9#Neva})yEsW>Y*wNMgIn<4>IZj((5`}bo z9nkG{V2j@C|820^OATH#YXZZjhb=p(>Eu+7m?h=VW>m&Uv1Mkid6HGx){u_sdE

    sRo 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�iw{OfJWT;*z!6^6J?8NsGT@sTJY?OH@ z$n_*LSs9YB{{SiGX(_BK$F+w^h7_{dnh*|)O-5;yYT8TonHa7BcD0bXmq8u{T#fSV z4#NrqKNXSaM3hmcAHbqUu;{~@HbJIsC@FDR|Lu=(BW2zYN%9MnT=szrTB4j_v5U*J zDZ=gPwH_F?0s|dlN4b1ul4CD=NEkxRv`2R{iO~&Rl3qdmSXmIaUQPpfpmvmFRS@Uz z(}ALkF~E?>B$SUavz`dFcup58MU*kKBf&zi091E}oDZ2;6oLgUF6a)$&fQuQzv(13 z(xzsGBIw}vj>eBAZ*qp)NomVKt^VFH(a$c>G&d4G9y{pWs4rudHb&yz;H_jZUEeik zDSFtIEDblX=uqi|_m|x9NS5@pHTH@=ClQ_ldi`xJVoiIMX!^R4dmo7&(&XN1N^~fQ z4grPa9)TZ~57plHCb?H(g+x20U+}Go#YM32gM?U&!cS*04t$JR_uyl?ik-=giZ&~8 zibi%z1&7fF4z~#o^tmUu5geRs(N5@~phG@J=GzdJ&zp*OH=>N?I-A|~qSD28+C